@@ -65,8 +65,8 @@ def _build_so101_stack_pipeline():
6565 the controller orientation and forwarded as a dedicated pitch channel into a 4×4 task-space
6666 IK (3 position + 1 pitch) over 4 joints (shoulder_pan, shoulder_lift, elbow_flex,
6767 wrist_flex). The controller's roll is
68- recovered separately as an absolute swing-twist about fixed world Z and forwarded as a
69- dedicated wrist-roll channel. The gripper jaw tracks the trigger proportionally (analog),
68+ recovered separately as an engage-relative swing-twist about the controller's local Z axis
69+ and forwarded as a dedicated wrist-roll channel. The gripper jaw tracks the trigger proportionally (analog),
7070 and the EE position is clutch-rebased around a captured origin so engaging teleop does not
7171 teleport the arm.
7272
@@ -133,9 +133,9 @@ def _build_so101_stack_pipeline():
133133 )
134134
135135 # Wrist Retargeter (right hand). Reads the same transformed controller stream and emits
136- # both pitch (absolute in-plane gripper tilt [rad]) and roll (absolute swing-twist about
137- # fixed world Z [rad]). Pitch drives the 4×4 task-space IK (3 pos + 1 pitch); roll drives
138- # wrist_roll directly.
136+ # both pitch (absolute in-plane gripper tilt [rad]) and roll (engage-relative swing-twist
137+ # about the controller's local Z axis [rad]). Pitch drives the 4×4 task-space IK
138+ # (3 pos + 1 pitch); roll drives wrist_roll directly.
139139 wrist = SO101WristRetargeter (name = "wrist" , input_device = ControllersSource .RIGHT )
140140 connected_wrist = wrist .connect (
141141 {
@@ -210,7 +210,7 @@ class SO101CubeStackEnvCfg(stack_joint_pos_env_cfg.SO101CubeStackEnvCfg):
210210 absolute end-effector **position + pitch** via a reduced-task IK over 4 joints
211211 (``shoulder_pan``, ``shoulder_lift``, ``elbow_flex``, ``wrist_flex``), where pitch is the
212212 absolute in-plane gripper tilt [rad], and drive ``wrist_roll`` directly from the
213- controller's roll (absolute swing-twist passthrough ). The resulting action is
213+ controller's roll (engage-relative swing-twist about the controller's local Z axis ). The resulting action is
214214 ``[pos_x, pos_y, pos_z, pitch, roll, gripper]``.
215215 """
216216
0 commit comments