Fixes gear assembly environment for Isaac Sim 6.0 and XYZW quaternions#4559
Conversation
- Remove all imports of isaacsim.core.utils.torch - Replace quaternion functions with Isaac Lab equivalents (XYZW format) - Replace transform functions (tf_combine, tf_inverse, get_euler_xyz) - Use combine_frame_transforms, euler_xyz_from_quat, and other Isaac Lab utilities - Fixes quaternion convention consistency across automate, forge, locomotion, and contrib modules
Greptile OverviewGreptile SummaryThis PR updates several task environments and utilities to be compatible with Isaac Sim 6.0’s XYZW quaternion convention by replacing Key areas touched:
Fixes needed before merge:
Confidence Score: 2/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Env as Direct/Manager Env
participant Math as isaaclab.utils.math
participant Ctrl as factory_control.get_pose_error
participant Sim as Sim/PhysX Views
Env->>Sim: Read poses/quats (root/body)
Env->>Math: combine_frame_transforms(t01,q01,t12,q12)
Math-->>Env: (t02,q02) in XYZW
Env->>Ctrl: get_pose_error(curr_pos,curr_quat,target_pos,target_quat)
Ctrl->>Math: quat_conjugate/quat_mul/axis_angle_from_quat
Ctrl-->>Env: pos_error, axis_angle_error
Env->>Sim: Get jacobians (root_view/root_physx_view)
Env->>Ctrl: _get_delta_dof_pos(delta_pose, jacobian)
Ctrl-->>Env: delta joint positions
Env->>Sim: write_joint_state_to_sim / set targets
Env->>Sim: step + update buffers
|
Additional Comments (3)
This code sets
|
|
|
||
| # Solve IK using jacobian | ||
| jacobians = self.robot_asset.root_view.get_jacobians().clone() | ||
| jacobians = self.robot_asset.root_physx_view.get_jacobians().clone() |
There was a problem hiding this comment.
Is this using the Articulation class? I thought we renamed root_physx_view to root_view - https://github.com/isaac-sim/IsaacLab/blob/develop/source/isaaclab_physx/isaaclab_physx/assets/articulation/articulation.py#L170
There was a problem hiding this comment.
Yes, there is a deprecation cycle on the physx side, so this property is still available object on the physx specialized assets. TBH, I feel like this task should likely import the PhysX version of this directly.
AntoineRichard
left a comment
There was a problem hiding this comment.
Thanks for migrating the environment after the quaternion change! My main concern, is all the commented code in the envs cfg. Do we need to keep it? Or should we set it to None in the Rizon arm? Typically we use the None pattern in the locomotion envs, but maybe it's not needed anymore for the other arms?
...b_tasks/manager_based/manipulation/deploy/gear_assembly/config/rizon_4s/joint_pos_env_cfg.py
Outdated
Show resolved
Hide resolved
...b_tasks/manager_based/manipulation/deploy/gear_assembly/config/rizon_4s/joint_pos_env_cfg.py
Outdated
Show resolved
Hide resolved
...b_tasks/manager_based/manipulation/deploy/gear_assembly/config/rizon_4s/joint_pos_env_cfg.py
Outdated
Show resolved
Hide resolved
...saaclab_tasks/manager_based/manipulation/deploy/gear_assembly/gear_assembly_env_cfg_rizon.py
Outdated
Show resolved
Hide resolved
...saaclab_tasks/manager_based/manipulation/deploy/gear_assembly/gear_assembly_env_cfg_rizon.py
Outdated
Show resolved
Hide resolved
...saaclab_tasks/manager_based/manipulation/deploy/gear_assembly/gear_assembly_env_cfg_rizon.py
Outdated
Show resolved
Hide resolved
...saaclab_tasks/manager_based/manipulation/deploy/gear_assembly/gear_assembly_env_cfg_rizon.py
Outdated
Show resolved
Hide resolved
8fbc36d to
16c9257
Compare
...lab_tasks/manager_based/manipulation/deploy/gear_assembly/config/ur_10e/joint_pos_env_cfg.py
Show resolved
Hide resolved
Additional Comments (2)
In |
…aacLab into ashwinvk/fix_gear_assembly
source/isaaclab_tasks/isaaclab_tasks/direct/locomotion/locomotion_env.py
Outdated
Show resolved
Hide resolved
isaac-sim#4559) # Description Fix gear assembly environment for Isaac Sim 6.0 and XYZW quaternions
Description
Fix gear assembly environment for Isaac Sim 6.0 and XYZW quaternions