[Question] What’s the recommended way to access randomized external forces and torques applied to assets for manager-based workflow? #1360
Unanswered
diracdelta7
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Question
First, thank you for the fantastic work!
I'm currently working on legged locomotion using a teacher-student architecture. In my setup, I define
external_forces_and_torques
invelocity_env_cfg.py
as follows:And in
mdp.observation.py
, I define the function:The issue is that
asset._external_force_b
andasset._external_torque_b
are protected members of theArticulation
class, and accessing them triggers a warning. Is there a more appropriate way to access these variables?Additionally, in a teacher-student setup, it’s common to design events that randomize the environment or apply specific changes, such as forces, torques, or friction adjustments. For events like these, we may want to capture information about these randomizations as privileged observations for the teacher. However, accessing this information directly isn’t always feasible (e.g.,
asset._external_force_b
), and in some cases, it can be time-consuming to compute (e.g., retrieving static friction viaasset.root_physx_view.get_material_properties()
requires CPU resources). Is there a recommended approach in IsaacLab for handling this efficiently?Beta Was this translation helpful? Give feedback.
All reactions