I wanted to build a robot that looks like me - vintage.
After checking lots of the stuff around on youtube, I recognized that just a few DIY robots are close to what I had in mind. There's the construction by Andreas Hölldorfer ( Printable Robot Arm), which got covered recently ("Moveo"). Unfortunately without mentioning the obvious inspiration coming from Andreas. I got lots of ideas from his construction, and there are still a couple of parts directly derived from his design.
Another construction called Thor is coming from Ángel Larrañaga Muro which has an interesting differential gearbox for the lower actuators.
I started with a openGL simulation of the construction:
(this is an animated gif generated out of Trajectory Planning UI)
The full software stack is as follows:
- Trajectory Planner (source code) A UI for planning trajectories. All animated gifs in the documentation are made with it. Trajectories are planned by defining single support. After planning is done, it transfers the trajectory to the
- Trajectory Execution (source code). This component consists of a webserver that runs trajectories by interpolating Bézier curves betweeen support points, computing the inverse Kinematics per pose and sends the resulting series of angles to the
- Cortex (source code). This low level component takes interpolated poses and controls the actuators accordingly by applying control algorithms. Servos are controlled directly by the cortex controller board via a serial interface.
On the mechanical side, two actuators are driven by a servo (mainly due to space restrictions) and five actuators with a stepper/rotary encoder combination.
Steppers are driven by retail stepper drivers (PiBot) around the driver IC Toshiba 6600 (4.5A max). The stepper drivers are connected to the Cortex. It receives joint angles at 10Hz, interpolates the points in between at 100 Hz and sends the according PWM signal to the stepper drivers and to the servos. Besides micro interpolation of the trajectory, the controller board takes care of the speed profile, i.e. it limits the acceleration and speed of each actuator. The controller board is a DIY board around an ARM Cortex M4 (Teensy 3.5), running the control loop.
The trajectory controller board is encapsulated by a webserver exposing the current movement and accepting commands like “run new trajectory“.
Finally, Walter looks like this. I'm very happy with the color that fits well to a living room environment. Always have the WAF in mind.
Documentation of mechanics, theory and source code can be found in Walters Documentation.