-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Add velocity_limit_sim and effort_limit_sim to actuator #1654
base: main
Are you sure you want to change the base?
Conversation
I like this! and enjoyed the insightful discussion in PR1509 I think previous commit that write the velocity limit in actuator cfg to simulation-level velocity limit broke some of my quadrupet training, and I only figured it out because of the commit before that one worked. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, Thank you!
I think this fix/feature is much needed.
self.write_joint_armature_to_sim(actuator.armature, joint_ids=actuator.joint_indices) | ||
self.write_joint_friction_to_sim(actuator.friction, joint_ids=actuator.joint_indices) | ||
else: | ||
# the gains and limits are processed by the actuator model | ||
# we set gains to zero, and torque limit to a high value in simulation to avoid any interference | ||
self.write_joint_stiffness_to_sim(0.0, joint_ids=actuator.joint_indices) | ||
self.write_joint_damping_to_sim(0.0, joint_ids=actuator.joint_indices) | ||
self.write_joint_effort_limit_to_sim(1.0e9, joint_ids=actuator.joint_indices) | ||
self.write_joint_velocity_limit_to_sim(actuator.velocity_limit, joint_ids=actuator.joint_indices) | ||
self.write_joint_effort_limit_to_sim(actuator.effort_limit_sim, joint_ids=actuator.joint_indices) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could lead to some breaking changes, since the upper limit of the drives is not 1e9 anymore? Maybe change this to actuator.effort_limit_sim if actuator.effort_limit_sim is not None else 1.0e9
or change the default value from None to 1.0e9?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah good call. I will change the default to 1.0e9
c7fef1e
to
b08422e
Compare
If None, the limit is set to the value specified in the USD joint prim. The simulation effort limits prevent | ||
computed torques from exceeding. If effort limits are too tight issues with solver convergence may occur. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we maybe give a hint here that it is recommended to set these values higher?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually I just updated the default behavior based off @renezurbruegg's suggestion. I should update to reflect that.
Co-authored-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com> Signed-off-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
If None, the limit is set to the value specified in the USD joint prim. Resulting solver solutions will constrain | ||
velocities by these limits. If velocity limits are too tight issues with solver convergence may occur. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also here we could give the hint
Signed-off-by: James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some smaller comments, otherwise LGTM, lets get this merged soon
Description
This PR follows up on Issue 1384 and PR 1509 by seperating actuator limits for calculating computed torques from physics solver limits.
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