Describe the bug
The set_physical_attr function in Articulation fails to properly set the mass.
Steps to reproduce
I loaded a single-joint, two-link articulated pipette body. Although I set the mass parameter to 0.1 in gym_config.json, printing the actual mass of the link loaded into the environment reveals it remains at the default value of 1.0.
"pipette_tip": {
"get_mass": 1.0,
"get_static_friction": 1.2000000476837158,
"get_dynamic_friction": 1.0,
"get_restitution": 0.0010000000474974513,
"get_linear_damping": 0.699999988079071,
"get_angular_damping": 0.699999988079071,
"get_max_depenetration_velocity": 2.0
},
"pipette_button": {
"get_mass": 1.0,
"get_static_friction": 1.2000000476837158,
"get_dynamic_friction": 1.0,
"get_restitution": 0.0010000000474974513,
"get_linear_damping": 0.699999988079071,
"get_angular_damping": 0.699999988079071,
"get_max_depenetration_velocity": 2.0
},
System Info
- Commit: main branch
- OS: Ubuntu 22.04
- GPU: RTX 5060Ti
- CUDA: 12.8
- GPU Driver: 580.142
Additional context
By individually specifying the mass for each link within set_dexsim_articulation_cfg, and then attempting to load and print the mass again, the system returned to normal operation.
Add any other context about the problem here.
for name in link_names:
physical_body = art.get_physical_body(name)
if hasattr(physical_body, "set_mass") and cfg.attrs.mass is not None:
if cfg.attrs.mass > 0:
physical_body.set_mass(cfg.attrs.mass)
The printed result is as follows:
"pipette_tip": {
"get_mass": 0.009999999776482582,
"get_static_friction": 1.2000000476837158,
"get_dynamic_friction": 1.0,
"get_restitution": 0.0010000000474974513,
"get_linear_damping": 0.699999988079071,
"get_angular_damping": 0.699999988079071,
"get_max_depenetration_velocity": 2.0
},
"pipette_button": {
"get_mass": 0.009999999776482582,
"get_static_friction": 1.2000000476837158,
"get_dynamic_friction": 1.0,
"get_restitution": 0.0010000000474974513,
"get_linear_damping": 0.699999988079071,
"get_angular_damping": 0.699999988079071,
"get_max_depenetration_velocity": 2.0
},
Checklist
Describe the bug
The
set_physical_attrfunction in Articulation fails to properly set the mass.Steps to reproduce
I loaded a single-joint, two-link articulated pipette body. Although I set the
massparameter to 0.1 ingym_config.json, printing the actual mass of the link loaded into the environment reveals it remains at the default value of 1.0.System Info
Additional context
By individually specifying the mass for each link within
set_dexsim_articulation_cfg, and then attempting to load and print the mass again, the system returned to normal operation.Add any other context about the problem here.
The printed result is as follows:
Checklist