This post will cover a little project that I did while preparing for Lerobot Global Hackathon 2025 with SO-ARM100. Since working with physical robots means that you need to know a bit of everything about engineering, for SO-100 it specifically involves tasks such as:

In this post we will go through all the aspects needed to develop applications around the SO-ARM100.


Content Outline

  1. What is this robot?
  2. Hardware selection
  3. Modeling
    • From 3D design to physics simulated model
    • Creating a scene (where the robot interacts with environment)
  4. ROS2 integration
    • URDF
    • MoveIt setup assistant
    • ROS2 control
  5. Simulation
    • MoveIt + Rviz2
    • Gazebo
    • Mujoco
    • IsaacSim
  6. Control and Learning
    • Feetech motor control
      • Hardware interace with ROS2
      • Feetech sdk with python
    • Motion planning
    • Immitation Learning with Diffusion Policy by LeRobot
    • Reinforcement Learning
      • With IsaacLab (required NVIDIA GPU)
      • With Mujoco + SB3
  7. Experiments and Demos

1. What is this robot?

SO-ARM100 (new version SO-ARM101) is a standard open-source 6 DOF serial manipulator which was developed and introduced by The Robot Studio with the purpose of democratize a standard robotic manipulation platforms to the public. It has a standard structure with 6 DOF articulating by 6 revolute joints. It often comes in a pair of 1 follower arm and 1 leader arm, for teleoperation purpose but not mandatory. Later, this platform has been adopted by Lerobot to develop a complete open-source learning framework which is welcomed by the robotics community. Since its introduction, there has been many on-going efforts to expand its use for robotic applications. The Lerobot Global Hackathon brought this platform to another level of publicity and adoptation. (To be updated)

2. Hardware selections

The official build guide is provided here including a reference bill of materials.

2.1. 3D design/printing:

For reference in Europe, the cost of printing for 1 follower arm is around 50 EUR, and for 1 follower and 1 leader is around 105 EUR.

2.2. Motors:

Step-by-step assembling provided by Lerobot here

2.5. Calibration

What is referred as calibrate in the guide by Lerobot is infact only homing calibration which defines the zero position of the motion range (eg. the middle position of the motion range). It has two folds:

In addition to the homing calibration, kinematic calibration is provided by using Figaroh Plus toolbox. This calibration will correct any joint placement errors due to misalignment during assembling or imperfect materials compared to 3D design. (to be updated)

2.6. Trouble Shooting

Common errors:

3. Modeling

4. ROS2 integration

5. Simulation

6. Control and Learning

7. Experiments and Demos