Organising Controller Board
Plug within the motor controller board like this:
Take into account that the barrel-jack energy that you simply plug in will rely on the arm that you’re configuring. For those who ordered the 12V variant of the follower arm, be sure that to make use of the bigger, 12V succesful energy brick throughout configuring/calibrating (and regular operation).
The usb-c port on the management board ought to be plugged into the usb-c port on the Jetson Nano. Since there is just one usb-c port on the Jetson, the second management board will have to be plugged in with a top quality usb-c to usb-a cable.
To configure the motors, comply with the steps discovered here on the HuggingFace web site, or comply with the steps under. Be aware: This course of will likely be considerably simpler if the management board is not hooked up to the robotic but.
Configuring FOLLOWER Arm Motors
You’ll have to set an distinctive ID to every of the motors. That is vital for correct communication and management.
Give permission to the USB ports by:
sudo chmod 666 /dev/ttyACM0
And:
sudo chmod 666 /dev/ttyACM1
Then, run (ensure you are within the lerobot listing with the lerobot setting lively):
python -m lerobot.find_port
It is best to see one thing like this:
Discovering all accessible ports for the MotorBus.
['/dev/ttyACM0', '/dev/ttyACM1']
Take away the usb cable out of your MotorsBus and press Enter when carried out.[...Disconnect corresponding leader or follower arm and press Enter...]
The port of this MotorsBus is /dev/ttyACM1
Reconnect the USB cable.
Because of this the follower arm is situated at /dev/ttyACM1.
To begin the motor ID project by operating:
python -m lerobot.setup_motors
--robot.kind=so101_follower
--robot.port=/dev/ttyACM1 # <- paste right here the port discovered at earlier step
It is best to then see:
Join the controller board to the 'gripper' motor solely and press enter.
Because of this the method has been profitable began. Observe the directions on display. This video could also be helpful to information you thru the steps.
Configuring LEADER Arm Motors
Observe the identical steps as above, however for the chief arm.
Run:
python -m lerobot.find_port
Make be aware of the chief arm port, then run:
python -m lerobot.setup_motors
--teleop.kind=so101_leader
--robot.port=/dev/ttyACM0 # <- paste right here the port discovered at earlier step
Full the configuring.
Last Wiring
We will now end wiring up the robotic. This can contain daisy-chaining all of the motors collectively.
That is what the robotic ought to seem like when totally wired up.
Join the motor management board to the shoulder-pan motor (picture under). From there, the following motor’s wire ought to be linked to the accessible port on the earlier motor. Solely the gripper motor ought to have an additional port left over, as seen on the picture above.
Calibrating FOLLOWER Arm
Calibration is required to guarantee that the chief and follower arms have the identical place values when they’re in the identical bodily place.
First that you must transfer the robotic to the place the place all joints are in the midst of their ranges. Then run the next command:
python -m lerobot.calibrate
--robot.kind=so101_follower
--robot.port=/dev/ttyACM1 # <- The port of your follower arm
--robot.id=my_awesome_follower_arm # <- Give the robotic a singular title
After urgent enter, transfer every joint by means of its full vary of movement. This video useful in understanding the calibration sequence.
Calibrating LEADER Arm
Much like the follower arm, transfer the robotic to the place the place all joints are in the midst of their ranges. Then run the next command:
python -m lerobot.calibrate
--teleop.kind=so101_leader
--robot.port=/dev/ttyACM0 # <- The port of your chief arm
--teleop.id=my_awesome_leader_arm # <- Give the robotic a singular title