While few of us need robotic arms in our daily life, they’re a popular build with makers. Often, the most accessible builds throw together some RC servos and 3D printed parts, with limited accuracy a consequence of the components chosen. [Adam Bäckström] decided to take such a design and push it to its limits, however, with astounding results.
![](https://hackaday.com/wp-content/uploads/2021/03/robotarmgoodencoder.jpg?w=300)
[Adam]’s first robot arm build was a major disappointment, when the servos he had purchased for the build turned out to be terrible at holding an angle. With limited funds, he elected to improve on what he had, learning much about precision control techniques along the way. [Adam] taught himself how to implement industrial strength control loops using hobby hardware, by implementing additional encoders into servos and taking into account velocity and torque in addition to just position. With a magnetic encoder on the servo output shaft and a tiny optical encoder hand-built for inside the motor itself, much higher accuracy is achievable by allowing the control system to compensate for backlash.
The results are stunning, with [Adam]’s robot arm able to move incredibly smoothly throughout its range of motion. Perhaps the best demonstration of this is the pencil demo, where the robot arm delicately threads a pencil lead through the tip of a mechanical pencil without breaking. We’d love to see these techniques implemented more often; we imagine they’d be a great addition to a build like this one. Video after the break.
Wow, with the little MG90S. I’m impressed.
If the creator happens by, thanks for sharing your work.
Whacking some precision into those should have a pretty broad range of application. And help folks get their feet wet in robotics and industrial design.
My jaw is on the floor!
This is the most impressive thing I’ve seen in a long while!
Oof… that internal optical encoder is very hacky. Definitely a hack.
+1 the off-center disk with light sensors is genius in its simplicity!
I guess I’m grateful to the crappy servos, if they’d have been decent servos he’d probably have got repeatability to within a mm or two and called that good LOL, but this transcends most hobby servo capabilities I think.
Makes me wanna use it as a bulding block for messing around with wire bonding dies, or pick and place of dust sized SMD, or probing stuff with a EM force probe or something.
this is the link you want:
https://bitbucket.org/adamb3_14/servoproject/src/master/README.md
great work. It would make a really great replacement for the now disfunctional openservo project. If it is packaged properly on a small pcb and a 3d printed case it would be amazing!
Awesome work! Do you sell this Robot arm? I am interested
“With just serovos”… I mean, this isn’t a new concept. Positional feedback does indeed provide amazing accuracy. I’m not entirely sure what makes this news worthy unless it’s just a price point.
Astounding work all round!
I’m just wondering if the back EMF from the motor’s commutator could possibly be used as a coarse indication of position to save needing to rebuild the motor backplate with the optical encoder.
Could the whole thing be scaled up by using say an electric power steering assembly? The type with a three phase motor already has angular position sensors in both the motor and at the gearbox output as well as a torque sensor.
I have tried hacking a servo using back EMF as a velocity feedback and it does work. The problem is that the signal is quite noisy. And you also have to trade some motor power for sample rate since you have to turn off the motor and wait out the transients before you can sample . But it is definitely an interesting approach!
I guess you could scale it up like you say. But doesn’t that kind of hardware already come with quite good control logic?
That’s lovely and amazing. Thanks for sharing, and I admire your patience.
If you’re interested in this you might also be interested in the new, much cheaper Dynamixel, which are a lot less fun but do have decent encoders at more tolerable prices than previous Dynamixels. For example:
https://robosavvy.com/store/robotis-dynamixel-xl330-m288-t.html
Just founds this, thanks for posting – thought provoking indeed ;-)