-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes actuator velocity limits propagation down the articulation root_physx_view #1509
Conversation
Signed-off-by: Kelly Guo <kellyg@nvidia.com>
This seems like a nice feature for consistency through the different layers. However, I wonder if this can have implications for the simulator performance, depending on how this constraint is implemented in the backend. I think one potential issue is when using the DCMotor model we want to define a torque cutoff speed to obtain more realistic speed torque relationship, however this does not necessarily mean that we want to have a hard limit on the joint velocities, which might give simulation artefacts. I think follow up work should be to separate the velocity limit used in the DC motor model and the one used for the hard physics limit. What do you think? |
That’s a good point. The velocity_limit is being used as the “no load
speed” which works for active motor torques. But with external loading,
motors can operate in another quadrant of the torque-speed curve producing
more speed.
It should be straightforward to not physically cap the velocity for the
DCMotor.
…On Tue, Dec 10, 2024 at 4:37 AM Lars Rønhaug Pettersen < ***@***.***> wrote:
This seems like a nice feature for consistency through the different
layers. However, I wonder if this can have implications for the simulator
performance, depending on how this constraint is implemented in the backend.
I think one potential issue is when using the DCMotor model we want to
define a torque cutoff speed to obtain more realistic speed torque
relationship, however this does not necessarily mean that we want to have a
hard limit on the joint velocities, which might give simulation artefacts.
I think follow up work should be to separate the velocity limit used in
the DC motor model and the one used for the hard physics limit. What do you
think?
—
Reply to this email directly, view it on GitHub
<#1509 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BHV4FBM7IUFXONK5P4BEP7D2E2Y4LAVCNFSM6AAAAABTFJPSL2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZRGAYTEMBXGQ>
.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
Should we instead use IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/actuators/actuator_pd.py Line 226 in 4ee4957
This would only require adding one field to the |
I agree with @larsrpe. Solver-level limits are different from the explicit model considerations. For explicit models, we may want to do the clipping inside the model but not have PhysX apply any of that within it (as tight constraints may lead to undefined behaviors). For most of the shared quantities, we should maybe have their counterpart quantities as "torque_limit_sim" and "velocity_limit_sim". This makes it clear that these are being set at the solver level always. Their default values can be high (as right now). |
# Description <!-- Thank you for your interest in sending a pull request. Please make sure to check the contribution guidelines. Link: https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html --> This PR follows up on [Issue 1384](#1384) and [PR 1509](#1509) by seperating actuator limits for calculating computed torques from physics solver limits. Fixes # (#1384) <!-- As a practice, it is recommended to open an issue to have discussions on the proposed pull request. This makes it easier for the community to keep track of what is being developed or added, and if a given feature is demanded by more than one party. --> ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Screenshots Please attach before and after screenshots of the change if applicable. <!-- Example: | Before | After | | ------ | ----- | | _gif/png before_ | _gif/png after_ | To upload images to a PR -- simply drag and drop an image while in edit mode and it should upload the image directly. You can then paste that source into the above before/after sections. --> ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task --> --------- Signed-off-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com> Co-authored-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Description
Previously the velocity limits of the the ActuatorBaseCfg do not get used in most actuators. Only the DCMotor actuator uses it but it only uses it for torque-speed limitations.
This PR propagates the velocity_limits of the ActuatorBaseCfg to the articulation root_physx_view.
Fixes #1384
Type of change
Screenshots
Please attach before and after screenshots of the change if applicable.
Checklist
pre-commit
checks with./isaaclab.sh --format
config/extension.toml
fileCONTRIBUTORS.md
or my name already exists there