Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Wiring Mini Maxwell
Description: This tutorial shows how to wire and program the servos.Tutorial Level: BEGINNER
Next Tutorial: Netbook Setup
Install Arbotix Stack
To run the software, you need to install the arbotix stack. Follow the instructions on the stack page to install.
Uploading the ROS Sketch
If using an original ArbotiX, you will need to install the ROS sketch on the ArbotiX using the Arduino IDE. Follow the instructions on the ArbotiX Getting Started page to install the IDE.
The latest sketch code can be found in the arbotix_firmware package. Please make note that it requires the latest versions of several libraries.
Programming the Servos
Each servo ships with an ID of 1, so we need to program the servos with new IDs before use. The easiest way to do this is to connect the ArbotiX to the PC using the USB cable, and then attach one servo at a time setting the ID using Arbotix terminal program.
To start the terminal, enter the appropriate serial port:
rosrun arbotix_python terminal.py /dev/ttyUSB0
The terminal works like a typical Linux terminal. Typing ls will query the ArbotiX for the attached servos and print the number of each. If you attach a single servo, you should get just "1" when you type ls. You can then move this servo to a new ID using the mv old_id new_id command. Let's move our servo #1 to ID 2:
mv 1 2
Do the same until you have number your servos as follows:
Arm Servos (from base to gripper) ID 1 = Shoulder pan ID 2 = Shoulder lift ID 3 = Elbow ID 4 = Wrist ID 5 = Gripper Head Servos ID 6 = Pan ID 7 = Tilt
Remember, each servo must be plugged in one at a time -- if you have two servos with the same ID plugged in at the same time you will be unable to communicate with either!