This package cover the low and medium level for the robotic arm of the robocup project. It controls the servomotors of the arm and calculate the angle of each servomotors in order to go to a specific position. It also control the hand with two option : close hand and open hand. For controlling the hand, this code must be upload on the maple mini.
This package was developed for the Indigo distro and is using the catkin package type.
To install it, you just have to download the following archives and extract it in …/catkin_ws/src, then open a console, go to catkin_ws and enter the command
catkin_make
Connect the arm to the computer following the instruction on the robotic_arm page.
Open a terminal and enter the command :
rosrun robotic_arm robotic_arm
Then open a new terminal and enter the command :
rostopic pub -1 /arm_controler/arm_command geometry_msgs/PoseArray "{poses:[ {position:[X1, Y1, Z1], orientation:[0, 0, 0, 0]}, {position:[X2, Y2, Z2], orientation:[0, 0, 0, 0]}]}"
The X1, Y1, Z1 is the position of the object to move and X2, Y2, Z2 is the target position.
/arm_controler/arm_command (geometry_msgs/PoseArray)
It gives the command to the arm. The first element of the PoseArray is the position of the object to move and the second element is the target position..
/robotic_arm/chatter (std_msgs/String)
It is used essentially for debug, it can be used to control the state of the program.
You can have problems with the catkin_make. The dynamixel.h and ldxl library can be missing. In order to solve this problem, follow these instructions :
1/ Download Dynamixel SDK from this page : http://support.robotis.com/en/software/dynamixel_sdk/usb2dynamixel/usb2dxl_linux.htm
2/ Extract the file somwhere
3/ Open a terminal go to the src folder of the extracted file and enter the command “make”
4/ copy the […]/include/dynamixel.h file to /usr/include (sudo)
5/ copy the […]/lib/libdxl.a file to /usr/lib (sudo)
6/ add the line #include “dynamixel.h” at the begining of your code
7/ in CodeBlock, right click on the project in the project tree, build option→linker settings→ select the library libdxl.a.
You can read the files in the example folder to understand how dynamixel driver works