Project Status Repository C++ License
Linux C++ SDK for LeRobot SO-100/101 and other robots using Feetech's STS3215 Motors.
π About This Fork: This repository is a fork of SCServo_Linux limited to STS3215 with high-level robot classes and examples. For low-level protocol details and other motor series, please refer to the original repository.
- High-Level Control: Dedicated
SO101class for 6-DOF robot control. - Physical Units: Work directly with radians and millimeters.
- Smooth Motion: Integrated support for velocity, acceleration, and synchronized movement.
- Calibration: Interactive tools for setting home positions and joint limits.
- Optimized for Linux: Native C++17 implementation for x86_64 and ARM64.
sudo apt-get update && sudo apt-get install build-essential cmake git -y git clone https://github.com/martin-axt/lerobot_cpp.git cd lerobot_cpp mkdir build && cd build cmake .. && make -j4
To build and run the provided wave example:
# Check which port your robot is connected to and ensure it's writable sudo chmod 666 /dev/ttyACM0 # From the build directory ./lerobot_cpp_example_SO101_Wave /dev/ttyACM0
| Example | Description |
|---|---|
SO101_Home |
Moves the robot to the calibrated 0 radian (midpoint) position. |
SO101_Wave |
Performs a soft "hello" waving animation. |
SO101_Record |
Logs current joint positions in real-time for manual teaching. |
- High-Level API: See
include/lerobot_cpp/robots/SO101.hfor the manipulator interface. - Low-Level Protocol: This SDK is focused on the STS3215 series. For other models (SCS series, etc.), see the original SCServo_Linux repository.
This project is licensed under the MIT License - see the LICENSE file for details.