-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Uses effort_limit
from USD if not specified in actuator cfg
#3522
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
base: main
Are you sure you want to change the base?
Conversation
# For explicit models, we do not want to enforce the effort limit through the solver | ||
# (unless it is explicitly set) | ||
if not self.is_implicit_model and self.cfg.effort_limit_sim is None: | ||
effort_limit_is_finite = ( |
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.
Modifying the code where we set effort_limit might be simpler i think
# For explicit models, if user does not provide effort limit, we want to default to USD values.
# For implicit models, we want to enforce the effort limit through the solver.
if not self.is_implicit_model and self.cfg.effort_limit_sim is None:
self.effort_limit = self._parse_joint_parameter(self.cfg.effort_limit, effort_limit)
else:
self.effort_limit = self._parse_joint_parameter(self.cfg.effort_limit, self.effort_limit_sim)
cdb1ddd
to
51f3234
Compare
dynamic_friction=self._data.default_joint_dynamic_friction_coeff[:, joint_ids], | ||
viscous_friction=self._data.default_joint_viscous_friction_coeff[:, joint_ids], | ||
effort_limit=self._data.joint_effort_limits[:, joint_ids], | ||
effort_limit=self._data.joint_effort_limits[:, joint_ids].clone(), |
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.
@Mayankm96 clone is required because effort_limit would be overwritten to effort_limit_sim again here
effort_limit
from USD asset if not specified in articulation cfg
effort_limit
from USD asset if not specified in articulation cfgeffort_limit
from USD asset if not specified in actuator cfg
effort_limit
from USD asset if not specified in actuator cfgeffort_limit
from USD if not specified in actuator cfg
Description
This PR fixes a bug in actuator initialization where effort limits specified in USD assets were being incorrectly overridden with a very large default value (1.0e9) for explicit actuator models.
Fixes # (issue)
Previously, the ActuatorBase initialization logic would unconditionally fall back to _DEFAULT_MAX_EFFORT_SIM (1.0e9) for explicit actuator models when effort_limit_sim was not explicitly set in the configuration, even when the USD asset contained finite, meaningful effort limit values.
Type of change
Checklist
pre-commit
checks with./isaaclab.sh --format
config/extension.toml
fileCONTRIBUTORS.md
or my name already exists there