Dan Royer of Marginally Clever has designed an open source 3-DOF palletizing robot based on the commercial ABB 460.
“For the last two years I’ve been teaching myself what I need to know to build a robot arm. I started the Makelangelo to learn how to use stepper motors. I built my first Delta robot to learn how to calculate Inverse Kinematics,” Royer explained in a recent blog post.
“I built the first Stewart Platform because I thought I could use it as a wrist for the robot arm and because I want to drive at least 6 stepper motors in the final arm. It’s like I’ve got the Minecraft blocks and now I can craft them together.”
According to Royer, the ‘bot is powered by two Adafruit motor shields, an Atmel-based Arduino Uno (ATmega328) and gcodecncdemo (software) for AMS2 with 4 axis. The command “G00 Z10” instructs the robot to turn left, while “G00 X10” moves the shoulder and “G00 Y10” for the elbow.
“The finger is the triangle bit at the end where a tool would go. Connected to that is the forearm, which is a parallelogram shape. Connected to the forearm is the bicep, which also has a parallelogram,” he explained.
“The two parallelograms are connected by the triangle piece at the top, which forces the finger tip to always be level with the table. The bicep is connected to the shoulder where all the motors and electronics are mounted. The shoulder is connected to the base, which is suction cupped or screwed to a table.”
Between the shoulder and the elbow there’s an extra “tendon” bar that pulls on the back of the elbow, with one gear attached to the tendon, allowing Royer to put all the motors on the base and make the arm lighter. Meanwhile, the second gear is tasked with turning the shoulder.
Royer says he’s also taught the ‘bot to understand the cartesian coordinate system. Meaning, when the arm turns on it homes – backing up until it touches some switches.
“The robot knows where the finger tip is located when it is at home position. After that I can tell it ‘move the finger to XYZ’ and it calculates how many steps it has to move each motor to get the finger tip to that spot. As long as the motors never miss a step it will move in straight lines to any spot I ask for,” he added.
So, what’s next for the open source 3-DOF robot? Well, Royer has already started coding for a future RUMBA controller.
“I’m going to add 9 or 10 flanged 3mm ID bearings to make the movement extra smooth.
“I’m very keen to learn how to run OpenGL in Java so I can show a 3d model on your screen that copies the real robot. Over the next few weeks I’ll be making steady improvements so stay tuned,” he concluded.