Example: bachelor of science

1 Inverse Kinematics

CS W4733 NOTES - Inverse Kinematics1 Inverse Kinematics1. Forward Kinematics is a mapping from joint spaceQto Cartesian spaceW:F(Q) =WThis mapping is one to one - there is a unique Cartesian configuration for the robot for a givenset of joint variables. Inverse Kinematics is a method to findthe Inverse mapping fromWtoQ:Q=F 1(W)2. The Inverse Kinematics problem has a wide range of applications in robotics. Most of our highlevel problem solving about the physical world is posed in Cartesian space. While we can reasonabout the physical world in Cartesian terms, the robot is actuated in joint space - that is what weultimately can control. Once we solve a problem for its Cartesian space constraints, we need tomap these constraints into the robot s joint space using Inverse Kinematics . For example, if wespecify a straight line trajectory for a robot arm, we need tobreak that trajectory into a set ofjoint space values over time to get the robot to follow the The Inverse Kinematics mapping is typically one to many.

3 Adept Robot Inverse Kinematics Figure 2: Adept 1 Scara Robot arm. This arm is in a R-R-P-R configuration. θ1, θ2,θ4 are the revolute joint angle variables and q3 is the prismatic joint variable. The robot is pictured in the Home position

Tags:

  Inverse

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of 1 Inverse Kinematics

1 CS W4733 NOTES - Inverse Kinematics1 Inverse Kinematics1. Forward Kinematics is a mapping from joint spaceQto Cartesian spaceW:F(Q) =WThis mapping is one to one - there is a unique Cartesian configuration for the robot for a givenset of joint variables. Inverse Kinematics is a method to findthe Inverse mapping fromWtoQ:Q=F 1(W)2. The Inverse Kinematics problem has a wide range of applications in robotics. Most of our highlevel problem solving about the physical world is posed in Cartesian space. While we can reasonabout the physical world in Cartesian terms, the robot is actuated in joint space - that is what weultimately can control. Once we solve a problem for its Cartesian space constraints, we need tomap these constraints into the robot s joint space using Inverse Kinematics . For example, if wespecify a straight line trajectory for a robot arm, we need tobreak that trajectory into a set ofjoint space values over time to get the robot to follow the The Inverse Kinematics mapping is typically one to many.

2 There are usually multiple sets ofjoint variables that will yield a particular Cartesian configuration. When solving the inverseproblem, we often have to choose one solution from a number ofvalid solutions. There are alsodegenerate cases with an infinite number of solutions (calledsingularities).4. Some solutions of the Inverse mapping may not be physically realizable. This is due to ma-nipulators having physical joint limits that prevent the mechanism from achieving certain jointconfigurations that may be solutions to the Inverse Kinematics problem ( a joint may not havea full 360 degree motion).5. There may not be a closed form solution to the Inverse problem at all for some , most manipulators use a 3 DOF wrist that has intersecting axes. This allows us toseparate the Inverse problem into a 3 DOF problem for finding the endpoint of the wrist and a3 DOF problem for finding the orientation of the wrist.

3 This does in fact have a closed Numerical methods can be used to find a solution to the Inverse problem if a closed form solutiondoes not Aredundantrobot is one that has extra DOF s (more than the space the robot works in requires).For example, a 7-DOF robot has an extra DOF if it is used in our normal 6-DOF Cartesian can be useful for reaching around obstacles, and avoiding collisions with other objects inthe To solve Inverse Kinematics , we use a variety of methods: geometric, trigonometric and alge-braic. There are certain forms that you can recognize and then use the appropriate method tosolve for a joint Once you solve for a joint variable, you can think of the manipulator as a reduced DOF mech-anism - with one less joint. Now solve this manipulator s Inverse problem and keep doing thisuntil all joints are solved Cylindrical and Spherical Robot Inverse KinematicsFigure 1:Top:3-DOF Spherical robot s final transform is found byRot(Z, )Rot(Y, )T rans(x, r)(note: these are not D-H transforms).

4 Bottom: 3-DOF Cylindri-cal Robot. This robot s final transform is found byRot(Z, )T rans(Z, d)T rans(x, r)(note: theseare not D-H transforms) :Given the finalTmatrix of the cylindrical robot withP= (Px, Py, Pz), find ,d,rfor the cylindrical Cos Sin 0rCos Sin Cos 0rSin 001d0001 2. First, we look for positions in the T matrix that have a single variable the matrixT03(last column, third row) is only dependent on the variabled, so we can directly solve for d:d= We notice thatP2x+P2y=r2. Sor= qP2x+ To solve for , we can take the ratio ofPyandPx:PyPx=rSin rCos =T an , =atan2(Py, Px)5. Note there are two solutions forrand values to reach this position in space. If we takethe postiive value ofr, then =atan2(Py, Px), and if we take the negative value ofrthen =atan2( Py, Px)The two solutions are equivalent to(r, )and( r, + 180)). However, the negative value ofrmay not be physically realizable in an actual robot - the arm may only extend radially , considerP= (0,0, K)- can we solve for Inverse Kinematics in this robot configuration?

5 SPHERICAL robot has 3 variables: Radiusr, Longitude angle and latitude angle . For theSpherical robot the final matrix is:T03= Cos Cos Sin Cos Sin rCos Cos Sin Cos Cos Sin Sin rCos Sin Sin 0 Cos rSin 0001 the length of the the spherical arm radius and is equal to:r= qP2X+P2y+P2z2. To solve for ,Pz= rSin , and =Sin 1(Pz/ r). Noterhas 2 values from As in the cylindrical robot, the ratio ofPxandPyyields a solution for :PyPx=rCos Sin rCos Cos =T an , =atan2(Py, Px)or =atan2( Py, Px)4. As in cylindrical robot, there are multiple solutions. Toget the second solution, find the point onthe sphere directly opposite where the manipulator is (if atPx, Py, Pzchoose Px, Py, Pz).The second solution is the latituide and longitude of the newpoint withr s value negated. It alsomay not be physically realizable with the manipulator. NotesingularityP= (0,0, K).33 Adept Robot Inverse KinematicsFigure 2: Adept 1 Scara Robot arm.

6 This arm is in a R-R-P-R configuration. 1, 2, 4are the revolutejoint angle variables andq3is the prismatic joint variable. The robot is pictured in theHomepositionin the frame diagram using the values of the joint variables listed in the table Given the final position of the robot P=(Px, Py, Pz). Find 1, 2,q3, and 4for the scara finalTmatrix is given below:T04= C1 2 4S1 2 40a1C1+a2C1 2S1 2 4 C1 2 40a1S1+a2S1 200 1d1 q3 d40001 2. To find 2: if we square and sumPxandPy, we can get an expression in 2:P2x+P2y= (a1C1+a2C1 2)2+ (a1S1+a2S1 2)2P2x+P2y=a21+a22+ 2a1a2C1(C1C2+S1S2) + 2a1a2S1(S1C2 S2C1)P2x+P2y=a21+a22+ 2a1a2C21C2+ 2a1a2S21C24 1 22(Px,P ,P )yzyx00 PyPxPP + P2xy2aa 1 180 2 Figure 3: Solution to 2of Adept, as seen from above (along Z axis)P2x+P2y=a21+a22+ 2a1a2C2C2=P2x+P2y a21 a222a1a2;S2=q1 C22 2= Cos 1 P2x+P2y a21 a222a1a2!3. This is really just the derivation of the Law of Cosines which we can also use to find 2(seefigure above):a21+a22 2a1a2 Cos(180 2) =P2x+P2y(Law of Cosines)Cos(180 2) =P2x+P2y a21 a22 2a1a2 Cos( 2) =P2x+P2y a21 a22 2a1a2 Cos( 2) =P2x+P2y a21 a222a1a254.

7 To solve for 1, we solve for the following:a1C1+a2C1 2=PxT wo equations in twoa1S1+a2S1 2=Pyunknowns(C1, S1)( 2known f rom above)a1C1+a2C1C2+a2S1S2=Px, a1S1+a2S1C2 a2S2C1=Py(a1+a2C2)C1+ (a2S2)S1=Px,( a2S2)C1+ (a1+a2C2)S1=PyS1=a2S2Px+ (a1+a2C2)Py(a2S2)2+ (a1+a2C2)2C1=(a1+a2C2)Px a2S2Py(a2S2)2+ (a1+a2C2)2 1=atan2(a2S2Px+ (a1+a2C2)Py,(a1+a2C2)Px a2S2Py)5. To solve forq3:Pz=d1 q3 d4;q3=d1 d4 Pz6. To solve for 4: The final roll angle cannot be determined from the position vector [Px, Py, Pz].If we are given the orientation matrix, then we can use the ratios ofNx, Nyto find 4T an1 2 4=S1 2 4C1 2 4=NyNx 1 2 4=atan2(Ny, Nx) 4= atan2(Ny, Nx) + 1 26 22yxoo1133 = 90 = 90 = 60 1 Figure 4: Example solution ignoring 4with 2 arm positions7. Example Solution (no 4) ifa1= 3, a2= 1, d1= 5, d4= 2and P= 3,-1,1], solve for jointvariables: 2= Cos 1 (P2x+P2y a21 a22)2a1a2!= Cos 1(02 3) = 90 1=atan2(a2S2Px+ (a1+a2C2)Py,(a1+a2C2)Px a2S2Py)if 2= +90 , 1=atan2(0,4) = 0 if 2= 90 , 1=atan2( 3,1) = 60 q3=d1 d4 Pz= 5 2 1 = 2 Two Solutions: 1 2q30 90 2 60 90 27


Related search queries