SO-ARM100/101 Robotic Arm Calibration and Remote Control

From Waveshare Wiki
Jump to: navigation, search

Robotic Arm Calibration and Remote Control

Video

Calibrate Robotic Arm

Open the terminal and enter the LeRobot environment and directory

conda activate lerobot
cd ~/lerobot

Check if the computer recognizes the port number
Connect the power supply to the driver board and use a USB cable to connect the driver board to the Jetson Orin Nano.

ls /dev/ttyACM*

Grant port permissions

sudo chmod 666 /dev/ttyACM*

SO-ARM10X robotic arm calibration.jpg

Calibrate Follower Arm

Calibrate the follower arm by running the following example commands:

lerobot-calibrate \
    --robot.type=so101_follower \
    --robot.port=/dev/ttyACM0 \
    --robot.id=my_awesome_follower_arm

Note: You need to fill in your actual port number for robot.port; the name of robot.id can be modified, but the name used must remain consistent during subsequent training.

Move the robotic arm to a position where all joints are at the midpoint of their range of motion. Then, press the Enter key to confirm the center position, manually move each joint within its full range of motion, allowing the system to record different MIN and MAX values.

Calibrate Leader Arm

The steps for calibrating the leader arm are the same as those mentioned above. Please run the following example commands:

lerobot-calibrate \
    --teleop.type=so101_leader \
    --teleop.port=/dev/ttyACM1 \
    --teleop.id=my_awesome_leader_arm

Other Notes

1. If you need to recalibrate the robotic arm, completely delete the files in either ~/.cache/huggingface/lerobot/calibration/robots or ~/.cache/huggingface/lerobot/calibration/teleoperators and recalibrate the robotic arm again, otherwise error messages will appear. If the .cache folder is not found in the Home folder, it may be hidden. You can press the keyboard shortcut Ctrl+H in the Home folder to display hidden files.
2. The codes for SO100 and SO101 are compatible. SO100 users can directly operate using the parameters and code from SO101.

Remote Control Operation

Before performing remote control operation, the two robotic arms should be fixed with clamps to prevent the robotic arms from tipping over during remote control operation. Then, connect the driver boards of the leader arm and the follower arm to the Jetson Orin Nano using two separate USB cables, and connect each driver board to its corresponding power supply.

Open the terminal and enter the LeRobot environment and directory

conda activate lerobot
cd ~/lerobot

Check if the computer recognizes the port number

ls /dev/ttyACM*

Grant permissions to the serial port

sudo chmod 666 /dev/ttyACM*

Run the following command for remote control operation

The first inserted USB port will be mapped to /dev/ttyACM0, and the second inserted USB port will be mapped to /dev/ttyACM1. Please note the mapping interface for leader and follower before running the code.

lerobot-teleoperate \
    --robot.type=so101_follower \
    --robot.port=/dev/ttyACM1 \
    --robot.id=my_awesome_follower_arm \
    --teleop.type=so101_leader \
    --teleop.port=/dev/ttyACM0 \
    --teleop.id=my_awesome_leader_arm

Press the Ctrl+C shortcut key on the keyboard to exit the remote control operation.

SO-ARM100/101 Tutorials