SO-ARM100/101 Set Servo ID
Set Robotic Arm Servo ID
After setting up the LeRobot environment, you can set the servo ID of the robotic arm through a script.
1. Open the terminal and enter the LeRobot environment and directory
conda activate lerobot cd ~/lerobot
2. Find the corresponding USB port for the robotic arm
- Connect the power supply to the driver board and use a USB cable to connect the driver board to the PC (or Jetson Orin Nano). Note that USB does not power the servo, so both the power supply and USB must be connected.
- The power supply for SO-ARM100 is 5V 4A, and the power supply for SO-ARM101 is 12V 5A.
lerobot-find-port
- When prompted "Remove the USB cable from your MotorsBus and press Enter when done", unplug the USB connector and press the Enter key.
- Once the port is detected, follow the prompt "Reconnect the USB cable" to reconnect the USB connector.
3. Grant access permissions to the USB port
sudo chmod 666 /dev/ttyACM0
4. Set servo ID
- Connect the USB cable from the computer (or Jetson Orin nano) to the servo drive board of the follower arm and power it on. Then, run the following command in the terminal:
lerobot-setup-motors \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 # Your actual port number
You'll see the prompt: "Connect the controller board to the 'gripper' motor only and press enter."
Follow the instructions to connect the servo of the gripper. Make sure it is the only servo connected to the servo driver board, and that the servo has not been connected to any other servos. Then press the Enter key, and the script will set the ID of the servo to 6.
Connect the other servos in sequence according to the prompts. Ensure that each servo is the only one connected to the driver board, then press the Enter key. The servo IDs from the gripper to the base are set to 6, 5, 4, 3, 2, and 1 respectively.
Once all steps are completed, the script will automatically end and the servo will be ready to use.
- Connect the USB cable from the computer (or Jetson Orin nano) to the servo drive board of the leader arm and power it on. Then, run the following command in the terminal:
lerobot-setup-motors \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM0 # Your actual port number
Repeat the same steps for the Leader robotic arm.