2 Dimensional Arm Positioning System

Hello!

I’ve been toying with this idea for a while and after some thorough research I’m more than happy that the project is realistic. However I’m in need of some direction in terms of the sensors I should be using.

There will be 3 arms all connected together (Like a poor mans Microscribe). I want to read the angle between each arm and use that info to calculate the final X and Y coordinates of the final end point on the arm.

I’ve looked closely into forward kinematics in robot arms and understand the principles are very much the same.

I’ve narrowed it down to Absolute encoders or accelerometers. Unfortunately I just can’t find enough documentation about how to use the encoder with Arduino. There’s plenty on using an accelerometer but I can’t imagine the accuracy would be as good as the encoder.

I’m hoping to get the X and Y coordinate accuracy within +/- 0.5mm. Is this accuracy feasible?

The diagram attached shows the basic principle and formula I will use.

You'll find a lot about using encoders in the forum. The accuracy depends on mechanical issues (play, friction...), and I guess it won't be very good.

What kind of motors do you intend to use? Printers almost use stepper motors and orthogonal axes only, for best accuracy.

DrDiettrich: What kind of motors do you intend to use? Printers almost use stepper motors and orthogonal axes only, for best accuracy.

No motors at all! I'll be moving the arms by hand to "scan" a profile. At each point i want to be able to record the angles of each arm.

Okay, then everything depends on the accuracy of your construction.

You can start using one encoder, and find out how sensitive and reproducible are the delivered angles.

I’m hoping to get the X and Y coordinate accuracy within +/- 0.5mm. Is this accuracy feasible?

If you are an accomplished machinist and use precision ball bearing joints (with no detectable slop), then just possibly. But I doubt it very much.

Here is a back of the envelope calculation assuming just 200 mm arm length.

For +/- 0.5 mm precision, you need to resolve better than an 0.5 mm arc at the end of a 200 mm swing, which corresponds to an arm angle change of 0.14 degrees. You will need an encoder at the other end with at least 2500 steps/revolution to measure that angle, and those aren’t cheap.

It is much worse for longer arms.

Keep in mind that any slop in any joint compounds this error, and gets multiplied by all the other arcs. All in all I think you would be lucky to get +/- 10 mm positional accuracy.

$50-$70 per joint isn't cheap but it isn't expensive either.

Attempting to use accelerometers as inertial references is definitely a losing game. The errors of tiny misalignments multiply to kilometers after a few seconds.

If the arms are moving in vertical planes, then a 3-axis accelerometer is a good way to get a measurement of the direction of gravity. That can be just as accurate as an encoder and the errors don't accumulate - every accel measures its own reference to gravity. Then you just need one good rotary encoder at the 'shoulder' joint to measure rotation in the horizontal plane.

Typical consumer grade accelerometers can report the gravity vector direction with about +/- 1 degree accuracy.

This estimate comes directly from the sensor noise estimates in the data sheet. You can do better than that by averaging thousands of measurements, but this makes the sensor very, very slow.

Another solution is a tablet or touch screen, where you can retrace the original curve. Dunno which resolutions are available. A photo or scan should give even better resolution.

Why re-invent the wheel. Use a digitizer tablet. They are available in a variety of sizes from 6" x 6" up. I was a dealer for Numonics tablets and their resolution was 1000 lines per inch, accuracy: ± 0.010” (0.254mm). Output formats are stream, switched stream, point or polled, either ASCII or binary, easy to interface. New digitizers are pricey so look for a used one. Years ago I purchased a 48" x 60" model with a tilt table for $60 at a state government sale.

oldvetteguy: Why re-invent the wheel. Use a digitizer tablet. They are available in a variety of sizes from 6" x 6" up. I was a dealer for Numonics tablets and their resolution was 1000 lines per inch, accuracy: ± 0.010” (0.254mm). Output formats are stream, switched stream, point or polled, either ASCII or binary, easy to interface. New digitizers are pricey so look for a used one. Years ago I purchased a 48" x 60" model with a tilt table for $60 at a state government sale.

Sounds like a good idea, something I'm going to look into. The profiles i want to "scan" are on the inside of a van. I could possibly create the profile by hand then transfer to CAD using a digitizer. Just finding one large enough at a good price that's the issue!

What exactly are you trying to digitize?