OK, this took quite some time but some info to our entry for the RobotArm event for the Science Olympiad Division C. This robot is probably overkill for the event, but maybe other teams can find some interesting tidbits for the next iterations of the event. After our first attempt with the team of our daughter in 2013, this was the second version with the team of our son. In the three years in between, we got somewhat more into the whole robotics area;-) I competed two times in the RoboGames and overall learned a bit more about the whole area.
So this year’s robot arm is using mostly Robotis Dynamixel AX-18 & AX-12 servos. They work much more consistent than the normal RC servos, but they are also much more expensive. Most mechanical parts were laser-cut @ RobotGarden, a maker space in Livermore, CA. The `gripper glove’ was 3d-printed;-) Both of those things were not really available three years earlier. The FreeCAD drawings for all are included in the so_arm repository. The gripper itself is one pre-made part, the LynxMotion Little Grip Kit with the only RC servo in the arm.
The brain stem is a little Robotis OpenCM 9.04 board with an adapted Arbotix firmware. The idea behind that little board was good, but it looks like there is not too much progress with the OpenSource Support:-( In 2013/14, there was some momentum behind it, but now it looks pretty dead. Why the Arbotix firmware? It makes the connection to the higher level Robot Operating System (ROS) very easy, in this case via a Serial-USB connection.
ROS is used in many different robots in research/education as well as in production environments. It brings many features for higher level control and can be adapted to new robots as needed. So this was a good way to explore it’s features. In the process, we learned a lot with the help of Patrick Goebel’s “ROS by Example” books😉 They show a lot in a `simulated environment’ as well as with real robots when you happen to have the right hardware. But we were able to adapt things to our arm as well.
The first idea was to use a Raspberry Pi2 as ROS computer. I use such setups for some driving rovers. But we quickly learned that the path calculations were too much for the Pi. So in the end, ROS was running on a laptop with Ubuntu 14.04 which worked very well. If you watch the video above carefully, you see the model of the arm in RViz on the screen before the laptop turns the screen dark (on batteries).
The Arbotix ROS repo is cloned from the original with my changes and the CM firmware.
The SO_Arm repo contains all the other ROS source packages (some modified copies of the rbx arm packages) and the mechanical designs.
And the result of all that? A second place at the San Joaquin County event;-) The first place went to a `two arm, remote controlled setup’. But overall, we learned a lot;-)
As always, look to explore something new;-)