SO-101
SO-101 is a low-cost arm with 6 joints, made by TheRobotStudio. This model comes from SO-ARM100 by TheRobotStudio, under the Apache-2.0 licence. The licence text is in LICENSE.
Not made by Lucen Robotics. Listed as a reference model for simulation.
The source is a URDF. MuJoCo's own compiler converted it to the MJCF in this repo. The servo values below are the STS3215's, from the maker's simulation files.
How it was set up
The files come from Simulation/SO101 in SO-ARM100, at commit eecbe3e.
The robot card was drafted from the model by lucen robot init, as in Add your robot.
The model file does not state the values below. Each one comes from the source beside it.
| Setting | Value | Where it comes from |
|---|---|---|
| Base | fixed to the world | an arm bolted to a table (a URDF cannot say) |
| Control rate | 50 Hz | the rate the Add your robot guide uses (a starting point) |
| Action | joint position target | the STS3215 servo's position mode: absolute targets |
| Stiffness (kp) | 17.8 | vendor's Simulation/SO101/joints_properties.xml, class sts3215: <position kp="17.8"> |
| Damping (kd) | 0.6 | vendor's joints_properties.xml: <joint damping="0.60"> (its <position> has kv 0) |
| Armature | 0.028 | vendor's joints_properties.xml: armature="0.028" |
| Friction loss | 0.052 | vendor's joints_properties.xml: frictionloss="0.052" |
| What a policy senses | joint positions, joint velocities | the STS3215's encoder |
| Command | joint targets | a fixed-base arm commanded in joint space |
| Everything else | read from the model file | the MJCF MuJoCo's compiler converted from the URDF (visuals kept), joint order, qpos0 as the default pose, ranges and velocity limits from the URDF. |
A value marked as a starting point is not the maker's own. The checks on the robot page show how it behaves.
One line was added to so101_new_calib.xml. The robot check asked for it by name:
<contact><exclude body1="base_link" body2="shoulder_link"/></contact>
The base and shoulder meshes overlap by 27.9 mm at rest. That jams shoulder_pan until the pair is excluded from contact.