Revisiting SCARA arms and getting familiar with R-PICO
- Diego Granero Marana

- Apr 8, 2021
- 2 min read
About 3 years ago, I completed my individual design project at university: a miniature Delta pick-and-place robot. It was controlled via a mobile app and worked relatively well for a sub-£100 robot. At the time, this was my biggest robotics project, so I decided to keep going over the summer and build a SCARA robot. Pre-planning showed I needed either strong, light motors at each joint or belt drives connected to motors at the base/ground. I did not have either light motors or belts, so I went a different route. I designed planetary gearboxes that would fit onto NEMA17 and NEMA14 motors and designed the gearbox output to mesh with the GT2 timing belt profile as a tentative design. I would place two motors at the base, both reduced by my gearbox, and one at j2. I did not take it further as I was busy making other things (eg the guitar pedals).
This Easter I decided to revisit the SCARA, primarily to have a go at implementing an IK solver for it, and also just to spend some time messing about with electronics, which I haven't had time to do since university closed in November.
This SCARA is awful - it doesn't stand straight and, as a result of the bulky, heavy motor dangling at j2, it misses steps at every turn. Nevertheless, it can decode a pair of different commands from Serial and the IK solver works correctly. I chose to use CCD (Cyclic Coordinate Descent) due to its speed - it is much faster than the analytical method and intrinsically approximates singularities. This comes at the expense of sometimes "knotting" the arm into awkward positions, requiring sudden large movements to untangle itself - luckily, this is not an issue with a simple 2DOF SCARA.
Planned changes:
Add a counterweight to j1 or move the j2 motor into the base
Add gearboxes to reduce the output of the motors - this will effectively increase the available resolution, as it is quite limited at the moment.
Note: I tried this already with one of my pre-designed gearboxes (picture below) but ran into problems with the Arduino MEGA running out of memory due to the large timing arrays it has to generate.
Add an end effector!
Finally, because of point 2.a, I decided to get familiar with MicroPython and the Raspberry Pi PICO. Gone are the days of battling with memory on Arduino.
Hopefully, soon enough I will have a redesign ready and can start playing around with my own SCARA.




Comments