Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 1.97 KB

File metadata and controls

38 lines (31 loc) · 1.97 KB

SO-101 Integration Summary

This document summarizes the integration of the LeRobot SO-101 arm into the DISCOVERSE simulation environment.

Components

1. Environment (discoverse/robots_env/so101_base.py)

  • Defines SO101Base and SO101Cfg.
  • Handles the MuJoCo simulation interface for the SO-101 robot.
  • Configures sensors (joint positions, velocities, end-effector pose) and actuators.
  • Loads the robot model from mjcf/lerobot_so101/xml/so101_tabletop_manipulation_generated.xml.

2. Task Base (discoverse/task_base/so101_task_base.py)

  • Defines SO101TaskBase, inheriting from SO101Base.
  • Provides a foundation for robotic tasks, including methods for:
    • Resetting state (resetState)
    • Updating control signals (updateControl)
    • Checking action convergence (checkActionDone)
  • Includes recoder_so101 for recording task data (actions and observations) to disk.

3. Inverse Kinematics (examples/mocap_ik/mocap_so101_ik.py)

  • Implements SO101_IK using the Mink library.
  • Solves for joint positions given a target end-effector position and orientation.
  • Configured specifically for the 6-DOF SO-101 arm (5 arm joints + 1 gripper), targeting the gripperframe site relative to baseframe.

4. Example Task: Pick Milk (examples/tasks_so101/so101_pick_milk.py) THIS DOESN'T WORK PROPERLY YET, the frame transforms are off

  • A complete example script utilizing SO101TaskBase and SO101_IK.
  • Implements a state machine to:
    1. Hover over the milk object.
    2. Open the gripper.
    3. Descend to grasp position.
    4. Close the gripper.
    5. Lift the object.
  • Demonstrates batch data generation and recording.

Limitations / Not Implemented

  • Domain Randomization: The domain_randomization method in SO101TaskBase is currently a placeholder and needs to be implemented for robust policy training.
  • Complex Interactions: Current success checks are simple (e.g., height check). More complex interaction logic might be needed for advanced tasks.