SO-ARM101 ist eine leistungsstarke Open-Source-Roboterarm-Plattform für Bildung, Forschung und Enthusiasten. Sie ist vollständig kompatibel mit dem LeRobot-Ökosystem von Hugging Face und unterstützt den gesamten Workflow des Roboter-Manipulationslernens – Datenerfassung, Modelltraining und KI-Inferenz. Damit ist sie die ideale Wahl, um Robotertechnologie zu erlernen und KI-Roboteranwendungen zu entwickeln.
📋 Hauptmerkmale
- 6-Freiheitsgrade-Design mit flexibler Bewegungssteuerung
- Vollständig quelloffene Hardware und Software, frei anpassbar und erweiterbar
- Voll kompatibel mit dem LeRobot-Framework; unterstützt mehrere Lernalgorithmen für Roboter (ACT, Diffusion, Pi0, SmolVLA usw.)
- Umfassende Tutorials und Beispiele im Lieferumfang – auch ohne Vorkenntnisse schnell einsatzbereit
- Unterstützt den gesamten Ablauf: Master-Slave-Teleoperation, visuelles Feedback mit mehreren Kameras, Datensatzaufzeichnung und Modelltraining
🔧 Hardwarespezifikationen
| Parameter | Details |
|---|---|
| Freiheitsgrade | 6 Achsen + Greifer |
| Traglast | 500 g |
| Wiederholgenauigkeit | ±0,1 mm |
| Arbeitsradius | 520 mm |
| Servotyp | Serielle Busservos |
| Stromversorgungsanforderungen | Masterarm: 5 V 6 A, Slavearm: 12 V 5 A |
| Kommunikationsschnittstelle | USB-C |
🚀 Schnellstart
1. Vorbereitung der Umgebung
SO-ARM101 unterstützt zwei Plattformen: Ubuntu x86 und Jetson Orin:
Anforderungen an die Ubuntu-x86-Umgebung:
- Ubuntu 22.04
- CUDA 12+
- Python 3.10
- Torch 2.6+
Anforderungen an die Jetson-Orin-Umgebung:
- JetPack 6.0+
- Python 3.10
- Torch 2.5.0a0+
2. Abhängigkeiten installieren
# Install Miniconda (Ubuntu x86 version)
mkdir -p ~/miniconda3
cd miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
source ~/miniconda3/bin/activate
conda init --all
# Create and activate environment
conda create -y -n lerobot python=3.10
conda activate lerobot
# Clone code repository
git clone https://github.com/Juxi-Technology/lerobot.git
# Install dependencies
conda install ffmpeg -c conda-forge
cd ~/lerobot && pip install -e ".[feetech]"
3. Steuerung des Roboterarms
Port ermitteln
# Find USB port corresponding to the robotic arm
lerobot-find-port
Stecken Sie das USB-Kabel des Roboterarms wie aufgefordert ein und aus, um die entsprechende Portnummer zu ermitteln (normalerweise /dev/ttyACM0 und /dev/ttyACM1)
Port autorisieren
sudo chmod 666 /dev/ttyACM0
sudo chmod 666 /dev/ttyACM1
Kalibrierung des Roboterarms
# Calibrate slave arm
lerobot-calibrate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_awesome_follower_arm
# Calibrate master arm
lerobot-calibrate \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=my_awesome_leader_arm
Bewegen Sie den Roboterarm wie aufgefordert in die Mittelstellung und führen Sie dann die Bereichskalibrierung aller Gelenke durch.
🎮 Beispiele für Kernfunktionen
1. Master-Slave-Teleoperation
# Basic teleoperation (without camera)
lerobot-teleoperate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_awesome_follower_arm \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=my_awesome_leader_arm
# Teleoperation with camera display
lerobot-teleoperate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_awesome_follower_arm \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30, fourcc: \"MJPG\"}}" \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=my_awesome_leader_arm \
--display_data=true
2. Datensatzaufzeichnung
# Record dataset locally
lerobot-record \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_awesome_follower_arm \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30, fourcc: \"MJPG\"}, side: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30, fourcc: \"MJPG\"}}" \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=my_awesome_leader_arm \
--display_data=true \
--dataset.repo_id=juxi/so101_test \
--dataset.num_episodes=5 \
--dataset.single_task="Put the blue cube on the black box" \
--dataset.push_to_hub=false \
--dataset.episode_time_s=30 \
--dataset.reset_time_s=30
Die aufgezeichneten Daten werden im Verzeichnis ~/.cache/huggingface/lerobot gespeichert.
3. Modelltraining (ACT-Algorithmus)
# Train with local dataset
lerobot-train \
--dataset.repo_id=juxi/so101_test \
--policy.type=act \
--output_dir=outputs/train/act_so101_test \
--job_name=act_so101_test \
--policy.device=cuda \
--wandb.enable=false \
--policy.push_to_hub=false \
--steps=300000
Die trainierten Modellgewichte werden im Verzeichnis outputs/train/act_so101_test/checkpoints gespeichert.
4. KI-Inferenz ausführen
# Control robotic arm with trained model
lerobot-record \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30, fourcc: \"MJPG\"}, side: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30,fourcc: \"MJPG\"}}" \
--robot.id=my_awesome_follower_arm \
--display_data=false \
--dataset.repo_id=juxi/eval_test \
--dataset.single_task="Put the blue cube on the black box" \
--policy.path=outputs/train/act_so101_test/checkpoints/last/pretrained_model
📚 Weitere Ressourcen
- JuxiTechnology GitHub - Neuesten Open-Source-Code und Hardwaredokumentation abrufen
- Lark Wiki - Vollständige offizielle Dokumentation und Tutorials ansehen
🛠️ Häufige Fragen
- F: Beim Ausführen wird „GPU nicht verfügbar“ gemeldet?
- A: Stellen Sie sicher, dass eine zur CUDA-Version passende PyTorch-Version installiert ist. Für Jetson-Plattformen muss die spezielle Jetson-Version von PyTorch installiert werden.
- F: Bei der Teleoperation reagiert die Tastatur nicht?
- A: Versuchen Sie, die pynput-Version auf 1.6.8 herabzustufen:
pip install pynput==1.6.8 - F: Was tun, wenn die Kalibrierung fehlschlägt?
- A: Prüfen Sie, ob die seriellen Portberechtigungen korrekt sind, löschen Sie die alten Kalibrierungsdateien im Verzeichnis ~/.cache/huggingface/lerobot/calibration und versuchen Sie es erneut.
Der SO-ARM101 bietet vollständige Ökosystem-Unterstützung für das Lernen und die Entwicklung von Robotern. Ob im Bildungsbereich, in der Forschung oder als Hobby – alle können schnell eigene Roboteranwendungen entwickeln.

