Trying VLA (Part 6): Controlling LeRobot with a SpaceMouse
Mapping SpaceMouse Controls to SO-101 Movements In the previous article, I connected the SpaceMouse to the PC and confirmed that all six types of input could be detected correctly. https://dev.to/takeofuture/trying-vla-part-5-setting-up-and-testing-a-spacemouse-eio Forward / Backward Left / Right Up / Down Pitch Roll Yaw During the SpaceMouse test, I confirmed the following input values. Forward…
In the previous article, the SpaceMouse was connected to the PC and confirmed that all six types of input could be detected correctly. The input values were mapped to the SO-101 movements. The mapping between SpaceMouse and LeRobot coordinates was established, taking into account that the axes are mapped differently than expected.
The SpaceMouse provides 6DoF input, but the SO-101 has only five joints to control the End Effector. The SpaceMouse plugin treats the 6DoF input as movement of the End Effector in Cartesian coordinates, and the Inverse Kinematics (IK) calculates the required SO-101 joint angles. The SpaceMouse plugin is set up with a specific configuration that maps the SpaceMouse axes to the LeRobot target coordinates.
The SpaceMouse 6DoF motion is used to specify the desired End Effector position and orientation, and LeRobot's IK determines how the joints should move together. The gripper open/close operation is mapped directly to the SpaceMouse buttons. To actually control the SO-101 using the SpaceMouse, the Python virtual environment is activated, and the lerobot-teleoperate command is executed with the appropriate parameters.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.