SO_Cali is an open-source physical calibration jig and fixture designed specifically for the SO101 robotic arm.
In teleoperated data collection and experiments for Embodied AI, physical pose misalignment (Calibration Gap) between the Leader and Follower arms is a major pain point that impacts policy generalization and motion mapping accuracy. This project provides lightweight, high-precision physical fixtures to drastically reduce hardware calibration time, minimize leader-follower teleoperation mapping errors, and accelerate Embodied AI experiment workflows.
- 🎯 Minimize Teleoperation Gap: Custom-designed for SO101 Leader-Follower setups to significantly reduce zero-point and pose mapping offsets.
- 🖨️ Desktop 3D Printer Friendly: All components are optimized for standard desktop FDM 3D printers with a 300×300 mm (or larger) print bed.
- 📦 Ready-to-Use CAD Files: Full access to editable
.stepCAD files for easy modification and custom extensions. - ⚡ Accelerated Data Collection: Standardized reference points enable quick zero-point recalibration and homing after arm reassembly or maintenance.
SO_cali/
├── step/ # 3D CAD models (STEP format)
│ ├── assembly.step # Full assembly model
│ ├── Main_struc.step # Main structural calibration frame
│ ├── baselink_cali.step # Base link alignment fixture
│ ├── gripper_cali.step # End-effector / Gripper calibration fixture
│ └── leader_tele_cali.step # Leader teleoperation lock fixture
├── doc/ # Documentation & media assets
│ ├── Image/ # Photos / Before-and-after calibration results
│ └── Video/ # Video demos / Calibration walkthroughs
└── README.md
- Minimum Bed Size: 300 × 300 mm
-
Recommended Material: PLA / PETG (Infill
$\ge 20%$ for structural stiffness and dimensional stability)
| File Name | Function Description | Recommended Qty |
|---|---|---|
Main_struc.step |
Main positional frame | 1 |
baselink_cali.step |
Base link axial alignment & zeroing | 1 |
gripper_cali.step |
Gripper opening angle and orientation fixture | 1 |
leader_tele_cali.step |
Leader teleoperation arm pose lock fixture | 1 |
assembly.step |
Overall assembly reference (not for direct printing) | - |
git clone git@github.com:Jacob-Gabot/SO_Cali.git- Navigate to the
step/folder and import the desired.stepfiles into your slicer (e.g., Bambu Studio, OrcaSlicer, PrusaSlicer). - Slice, print, and assemble the components.
- Mount
baselink_calionto the SO101 base. - Install the Leader and Follower calibration fixtures to lock both arms into the baseline zero pose.
- Run your robotic zero-calibration script or ROS homing node.
Contributions, issues, and feature requests are welcome! If you adapt or improve these models for other arms (e.g., SO-100 or custom teleoperation setups), feel free to open a Pull Request.
Distributed under the Apache 2.0 License. Commercial use, modification, and distribution are permitted with proper attribution.







