Assuming an assembly robot arm with various rotation axes, how to find the angles it needs to take to get at (or closest to) a given point?

966 Views Asked by At

http://www.bbc.co.uk/bitesize/standard/computing/images/robot_arm.jpg

For each rotation axis, I know its current angle and its angle range (its minimum angle and its maximum angle). Assuming I want a point on its "hand" to be at a given coordinate or as close as possible to that coordinate, how can I find the angle each rotation axis must take?

Or where can I quickly find the information I need? Since it is for a job and it must be done quickly, I don't have the time to read a whole book on the topic, but any link to the actual formulas I need or to the exact information I need would be greatly appreciated.

1

There are 1 best solutions below

0
On BEST ANSWER

This is a non trivial problem, since you can get no but also many solutions. See here: http://en.wikipedia.org/wiki/Inverse_kinematics

The idea is normally modelling the 'robot arm' as e.g. described in here by Denavit-Hartenberg matrices: http://en.wikipedia.org/wiki/Forward_kinematics

and then numerically trying to find a solution (which is basically a nonlinear optimization problem with constraints). Those Matricies use just one more dimension (4 for a 3d robot arm) by using the concept of homogeneous coordinates These allow to write translations as matrix multiplication too. This way you can multiply the matrices for each secition in order to get the position of the tool. But as you can Imagine if you have the position of the tool, you can find a single matrix that describes this pose, but the problem is decomposing it into the product of the intermediate matrices.

PS: Perhaps this is also of interest for you: http://en.wikipedia.org/wiki/Motion_planning

PPS: I was just thinking that you could also do more 'analytical' approaches 'by hand' if the robot arm is not too complicated e.g. as the one in your picture. If it is already known how the tool should be aligned to the object you only have to find the 'waist' 'shoulder' and 'ellbow' angles. The waist angle is pretty stright forward, while for the shoulder and ellbow angle you might get 0 1 or 2 solutions.