Robotic Arm
The robotic arm is part of the robocup project. Its purpose is to detect and catch specifics objects and displace them to another position.
The arm is composed of 4 used dynamixels (two EX-106+, one RX64 and one MX28) who communicate via the USB2Dynamixel device.
INSERT ARM PHOTO HERE
The hand was inspired by a real human hand. There are two tendons for each fingers, allowing a lot of movement. It is composed of 12 servomotors DS95 (only 10 are actually used).
INSERT HAND PHOTO HERE
Requirements
The arm must be connected to a computer using a Linux Operating System. The project also needs ros installed with the Indigo distro.
You must also have these ROS packages installed :
Connections
Maple mini connections
Hand connections
Instructions
- Connect the Dynamixel2USB device and the maple mini to the computer.
- Connect the Kinect to the computer.
- Launch openni.launch from openni_launch package
- Run kinect_aux_robotic_arm from kinect_aux_robotic_arm_package
- Set the angle of the kinect at -50° using kinect_aux_robotic_arm_package.
- Supply the arm and the hand. You must use a laptop charger for the arm, and a 6V external supplier for the hand (the current can go up to 4A during the movement)
- Launch the robotic_arm.launch from openni_launch package.
- Launch the robotic_arm.launch from robotic_arm_controler_package.
- At this point, you can enter the following command in order to see the objects detected by the kinect :
rosrun image_view image_view image:=/object_detection/red_objects
- If at least one object is detected, you can decide to move it by giving the target coordinates for the object :
rostopic pub -1 /arm_controler/new_coordinates geometry_msgs/Pose "{position:[X, Y, Z], orientation:[0, 0, 0, 0]}"
WARNING
During the test, be sure to check if none of the dynamixel red led is on, and the current of the external supplier is no more than 6A. If that's the case, unplug the chargers. Moreover, be careful when unplugging the arm charger (laptop charger) because the arm will fall so hold it before unplug it.
Source code
Code for the maple mini. It open or close the hand each time it receive an instruction via usb serial port.
Code::Blocks project developed on Ubuntu OS. It is used to control the arm (old, it is better to use the ROS packages)