Robotics Kinematics and Dynamics/Serial Manipulator Position Kinematics

From testwiki
Jump to navigation Jump to search

Forward Position Kinematics

The forward position kinematics problem can be stated as follows: given the different joint angles, what is the position of the end-effector? With the previous sections in mind, the answer is rather simple: construct the different transformation matrices and combine them in the right way, the result being bseeT, where {bs} is the base frame of the robot manipulator.

Solution

Suppose the mutual orientation matrices between adjacent links are known. (As the fixed parameters of each link are known, and the joint angles are a given to the problem, these can be calculated. One possible way to do this would be to make use of the Denavit-Hartenberg convention.) The transformation that relates the last and first frames in a serial manipulator arm, and thus, the solution to the forward kinematics problem, is then represented by the compound homogeneous transformation matrix. The axes are moving, thus, the compound homogeneous transformation matrix is found by premultiplying the individual transformation matrices:

bseeT=0NT=01T12TN2N1TN1NT

Examples

A planar three link manipulator. Each Xi-axis lies along the ith link. Each Yi-axis lies perpendicular to the corresponding Xi-axis in such a way that a positive θi corresponds with a rotation from Xi to Yi.

The equations below use 3 × 3 pose matrices, as this is just a 2-dimensional case (cf. the figure on the right).

The pose of the first link, relative to the reference frame, is given by (recall the elementary rotation about the z-axis from the previous section):

T1(θ1)=(cos(θ1)sin(θ1)0sin(θ1)cos(θ1)0001)

The pose of the second link, relative to the first link, is given by:

T2(θ2)=(cos(θ2)sin(θ2)l1sin(θ2)cos(θ2)0001)

This corresponds to a rotation by an angle θ2 and a translation by a distance l1, where l1 is the length of the first link.

The pose of the third link, relative to the second link, is given by:

T3(θ3)=(cos(θ3)sin(θ3)l2sin(θ3)cos(θ3)0001)

The pose of the end effector, relative to the third link, is given by:

T4=(10l3010001)

The solution to the forward kinematics problem is then:

bseeT=04T(θ1,θ2,θ3)=(c123s123l1c1+l2c12+l3c123s123c123l1s1+l2s12+l3s123001)

Hence:

(xy1)=T(001)

The resulting kinematic equations are:

x=l1cosθ1+l2cos(θ1+θ2)+l3cos(θ1+θ2+θ3)y=l1sinθ1+l2sin(θ1+θ2)+l3sin(θ1+θ2+θ3)

Inverse Position Kinematics

The inverse kinematics problem is the opposite of the forward kinematics problem and can be summarized as follows: given the desired position of the end effector, what combinations of the joint angles can be used to achieve this position?

An example of two different solutions for the inverse kinematics problem leading to the same end-effector position and orientation.

Two types of solutions can be considered: a closed-form solution and a numerical solution. Closed-form or analytical solutions are sets of equations that fully describe the connection between the end-effector position and the joint angles. Numerical solutions are found through the use of numerical algorithms, and can exist even when no closed-form solution is available. There may also be multiple solutions, or no solution at all.

The inverse kinematics problem for this 2D manipulator can quite easily be solved algebraically.

From the earlier results (for simplicity, the displacement over the distance l3 shall be omitted here):

03T=(c123s1230l1c1+l2c12s123c1230l1s1+l2s1200100001)

Now assume a given end-effector orientation in the following form:

bseeT=(cϕsϕ0xsϕcϕ0y00100001)

Equating the two previous expressions results in:

cϕ=c123sϕ=s123x=l1c1+l2c12y=l1s1+l2s12

As:

c12=c1c2s1s2s12=c1s2+s1c2,

squaring both the expressions for x and y and adding them, leads to:

x2+y2=l12+l22+2l1l2c2

Solving for c2 leads to:

c2=x2+y2l12l222l1l2,

while s2 equals:

s2=±1c22,

and, finally, θ2:

θ2=Atan2(s2,c2)

Note: The choice of the sign for s2 corresponds with one of the two solutions in the figure above.

The expressions for x and y may now be solved for θ1. In order to do so, write them like this:

x=k1c1k2s1y=k1s1+k2c1

where k1=l1+l2c2, and k2=l2s2.

Let:

r=k12+k22γ=Atan2(k2,k1)

Then:

k1=rcosγk2=rsinγ

Applying these to the above equations for x and y:

x/r=cosγc1+sinγs1y/r=cosγs1+sinγc1,

or:

cos(γ+θ1)=xrsin(γ+θ1)=yr

Thus:

γ+θ1=Atan2(y,x)

Hence:

θ1=Atan2(y,x)Atan2(k2,k1)

Note: If x=y=0, θ1 actually becomes arbitrary.

θ3 may now be solved from the first two equations for sϕ and cϕ:

θ3=ϕθ1θ2=Atan2(sϕ,cϕ)θ1θ2

Template:BookCat