
Inside Haddington Dynamics and Their Groundbreaking Dexter Robot Arm - tlrobinson
https://blog.hackster.io/inside-haddington-dynamics-and-their-groundbreaking-dexter-robot-arm-db9a7a965445
======
Animats
Where did they get a shaft encoder with over a million counts per rev? 130K is
considered "ultra precision" in encoders.[1]

The article misses the point. The purpose of the high resolution sensing is
not positional control. It's for force feedback. Here's the spec page for the
robot, with more info.[2] (But too much hype. Seeing "In the loop, On the
loop, Out of loop, Big Data Roadmap" on a data sheet makes me think "phony".)

Also, it's not $2,999. It's $4,888 for the base kit, and $9,800 complete and
assembled. You don't have a usable robotics system at that point - you need
another computer to control it. The FPGA is just motor control. Still, that's
better pricing than Universal Robotics, which starts around $35K for a
mechanically comparable system.

There's no reason these things should cost more than many cars. They're not
that complicated. It's mostly volumes being low. That problem took down
Rethink Robotics. I have a $400 3-axis uArm on my desk. This is a low end
robot with RC servo grade motors. I built a six-axis force feedback end
effector out of a Space Navigator for it. Controlled by ROS. The functionality
is there; the precision and useful life are not.

[1]
[https://www.mouser.com/new/broadcom/avagoAEAT9000/](https://www.mouser.com/new/broadcom/avagoAEAT9000/)
[2] [http://hdrobotic.com/tech-hub/](http://hdrobotic.com/tech-hub/)

~~~
JamesMNewton
The encoder is my very favorite part of the robot. I've written a page about
how it works in detail:
[https://github.com/HaddingtonDynamics/Dexter/wiki/Encoders](https://github.com/HaddingtonDynamics/Dexter/wiki/Encoders)

In summary, it's a hybrid of digital and analog. To the standard quadrature
encoder slit counter, we add sensing of the light levels as each slit covers
or obscures the phototector. So we get e.g. 200 slits times 8096 light levels
inside each slit equals over a million positions. It's so much data that we
need an FPGA to process it fast enough. You can breath on the arm and it can
sense it.

There is a constant battle between writing for sales/investment and writing
for technical disclosure. Sometimes we get some chocolate in the peanut
butter. It's certainly not phony, and I'm happy to answer any questions that
anyone has about the real technical abilities.

The $2,999 price was for the Dexter 1 which was available at the time the
article was written. The current generation is the Dexter HD which is more
capable, much easier to build, and (as you noticed) more expensive.

~~~
asdfasgasdgasdg
Seems like a device of this capability will be an easy sell to anyone who is
going to use it to make money. It only seems expensive to a hobbyist.

------
boxcardavin
I've been following these guys for a while and I really like their approach.
In our lab we've done a lot of work to improve control of cheaper BLDC motors
(low gearing) to mimic human control and compliance, and these guys are using
similar methods to achieve accuracy. Most engineers just decrease tolerances
to improve accuracy but using a blunter instrument and making it accurate with
good software is an approach that leads to much much cheaper systems and
robots. Drones are a good example, quadcopters are inelegant and somewhat
inefficient flying machines but their cheap and blunt hardware comes alive
with good control theory and software.

------
bitwize
> There are no billionaire tech entrepreneurs riding Segways to meetings with
> angel investors, and there are no corporate PR-approved mission statements
> on the wall. Instead, you’ll find a small team of brilliant engineers who
> are using passion and innovative technology to design a very special robot
> called Dexter.

That's, uh, that's exactly what a state-of-the-art robotics lab is supposed to
look like. I used to work in one; place was a mess. Then they closed some big
sales, moved to a shiny new facility -- and promptly got worse, that is, worse
if your goal is to actually work on cool robots rather than edit elaborate
specs on theoretical robots to get Major Defense Client to sign the contract.

------
neaanopri
Haddington's arm is 5-axis, which is not enough to put a tool in an arbitrary
position and orientation. To put a tool in an arbitrary position (3 DOF) and
orientation (3 DOF), a 6-axis arm is needed. If their encoder technology is so
good, why aren't they making a 6-axis arm and going right up against Universal
Robotics?

I'm not certain about this, but I believe that their arm does not have a final
rotary actuator on the end of the arm. If the arm is used to hold a drill, for
example, that does not matter.

I don't know about the robotics community on hn, but I use the Universal
Robotics robot arms for sensor testing. Sensor Testing requires 6 DOF. Current
Universal Robotics arms go for ~50k, and for that you get a highly repeatable
robot arm, which is also safe for operation near humans, and with a good UI.

What is so hard about the final joint, Haddington? If this is a product
decision, to go with a 5 axis first to get to market first, I disagree. At
this moment, 5-axis robots seem more useful to manufacturing than to
roboticists and robotics hobbyists. However, I would expect manufacturing to
have long acquisition cycles, and to be more willing to select an expensive,
yet proven, robotics company, than to take a chance on a cheap upstart,
whatever their technology.

However, if you can get a 6DOF arm to within the budget of a university
robotics class or individual hobbyist, who will be willing to take a chance on
an unproven robotics startup, then these people will build word of mouth about
your design. Teaching the math of robotic manipulation requires a 6+ DOF
robotic arm. Students who learned on a Haddington arm will go into industry
knowing the Haddington interface. Furthermore, it's much more likely for a $3k
arm to be within the discretionary budget of an engineering team than a $50k
one.

6DOF or bust, I just don't get it.

~~~
Animats
_Haddington 's arm is 5-axis, which is not enough to put a tool in an
arbitrary position and orientation. To put a tool in an arbitrary position (3
DOF) and orientation (3 DOF), a 6-axis arm is needed._

Their gripper option adds another axis.

------
letstrynvm
It sounds impressive, but "FPGA supercomputer"? It's a few optical shaft
quadrature decoding state machines and feedback to motor controllers.
Describing that as a 'supercomputer' suggests there's a lot of marketing bs
flying around.

Still if its resolution really is 50 micron it should be able to, eg, mill
useful pcbs with the right head.

~~~
JamesMNewton
The encoder / motor controller logic is a bit more complex than that. Because
the encoders are analog / digital hybrid they generate far more data than
standard quadrature encoders. The FPGA is doing huge table lookups, ATAN2,
PID, Dithering the motor driver, and all of that at 5 MHz end to end, so we
have a 200ns response.

~~~
chaboud
How huge is huge? The rest of the chain sounds pretty straightforward, even at
5MHz. That's not to say that an FPGA is wrong for the application, but nothing
in that list screams "must use FPGA" to me.

However, the whole program screams "get to market, then iterate" to me, which
is a very effective way to move forward with a product like that.

Note: I've shipped products doing continuous signal processing on DSP, GPU,
CPU, SoC, and FPGA. (MCU eventually... Give me time.) I did the mental swag on
the described processing chain...

Out of curiosity, how big is your FPGA?

~~~
CamperBob2
It could probably be handled by the realtime cores on the BeagleBone Black's
SoC, or perhaps by an XMOS part, but if someone already knows how to develop
for FPGAs there's not much of an incentive to try to shoehorn the task onto a
microcontroller.

Anything that involves reading from moderately-to-insanely fast ADCs is a
natural FPGA application, especially if multiple channels are involved.

~~~
chaboud
I hear that. I'm working on multi-channel ADC hardware right now, and there is
no way that we're going to use an FPGA (per unit cost).

At my last gig, we used FPGA's for several low-volume products.

~~~
cbames89
One of the founders wrote a FPGA language. I suspect it's the tool the team
knows the best, but may not be the most price optimized. I think that's fine
for now, especially since it's still one of the most affordable arms
available.

------
joshu
The reason encoders go on the motor and not at the far end of the gears is
because inexpensive gearing has backlash, which will cause the motor to dance
back and forth to keep the encoder at a specific point.

So how are they solving the gearing problem? Harmonic drives are expensive and
patented.

~~~
JamesMNewton
1\. The encoders on the Dexter arm are at the joints because that gives us the
ability to compensate for backlash in the drive system.

2\. The motor dance issue happens because the feedback loop on most control
systems isn't fast enough. With the FPGA, our control loop is 5 MHz / 200nS so
we can correct before an oscillation has time to happen.

3\. Our encoders give more than 1 million CPR (clicks per revolution) so we
can sense an error before it has time to become an issue that might lead to
oscillation.

(2 and 3) are the real magic of the arms design

4\. Yes, Harmonic drives are hell. And they are not actually free of backlash,
it's just "soft" e.g. they bend slightly. At this point, they are the best
solutions, but we have prototypes of a cycloidal drive that costs less (in
quantity) and gives us better performance. There are issues to work out,
especially related to smoothness and wear, but we are making progress on it.

------
cjnicholls
July 2014. The article is a little out of date to have a title of
Groundbreaking.

