Upload
luke-king
View
212
Download
0
Embed Size (px)
Citation preview
ECE 450 Introduction to Robotics
Section: 50883
Instructor: Linda A. Gee
10/05/99
Lecture 10
Lecture 10 2
Geometric Approach to Inverse Kinematics
• Purpose: To generate an arm solution for the manipulator
• Example: PUMA-type Robot• 6-link manipulator with rotary joints
• There are three configuration indicators:• ARM
• ELBOW
• WRIST
Lecture 10 3
PUMA Robot
*Fu, page 37
Lecture 10 4
Inverse Kinematics Solution Properties
• Two solutions are associated with the first three joints (i = 1, 2, 3)
• One solution is associated with the last three joints (i = 4, 5, 6)
• By solving the arm solution geometrically, a consistent solution is found
Lecture 10 5
Inverse Kinematics Solution of PUMA Robot
• For a 6-axis PUMA robot arm
• Four solutions exist for the first three joints (i = 1, 2, 3)
• Two solutions exist for the last three joints (i = 4, 5, 6)
Lecture 10 6
Inverse Kinematics Solution cont’d
• The first two indicators lead to a solution (1 of 4) for the first three joints
• ARM
• ELBOW
• Third indicator leads to a solution (1 of 2) for the last three joints
• WRIST
• Arm configuration indicators are specified by the user for finding the inverse transform
Lecture 10 7
Inverse Kinematic Solution cont’d
• Calculate the solution in two steps:• Derive a position vector that points from the
shoulder to the wrist– Obtain a solution to the joints (i = 1, 2, 3) by examining
the projection of the position vector onto the xi-1 yi-1 plane
• Solve for the last three joints by using the calculated joint solution from the first three joints
– Use orientation submatrices 0Ti and i-1Ai (i = 4, 5, 6)
– Projection of link coordinate frames onto xi-1 yi-1 plane
Lecture 10 8
Inverse Kinematic Solution cont’d
• Given refTtool, it is possible to find 0T6 by
• premultiplying refTtool by B-1
• postmultiplying refTtool by H-1
• Apply the joint-angle solution to 0T6
0T6 T = B-1 refTtool H-1 =nx sx ax px
ny sy ay py
nz sz az pz
0 0 0 1
Lecture 10 9
Definition of Arm Configurations
• RIGHT (shoulder) ARM– positive 2 moves the wrist in the positive z0
direction while joint 3 is inactive
• LEFT (shoulder) ARM– positive 2 moves the wrist in the negative z0
direction while joint 3 is inactive
Lecture 10 10
Arm Configurations cont’d
• ABOVE ARM (elbow above wrist)– position of wrist of RIGHT/LEFT arm w.r.t.
shoulder coordinate system has negative/positive coordinate value along the y2 axis
• BELOW ARM (elbow below wrist)– position of wrist of RIGHT/LEFT arm w.r.t.
shoulder coordinate system has negative/positive coordinate value along
the y2 axis
Lecture 10 11
Arm Configurations con’td
• WRIST DOWN– the s unit vector of the hand coordinate system
and the y5 unit vector of (x5, y5, z5) coordinate system have a positive dot product
• WRIST UP– the s unit vector of the hand coordinate system
and the y5 unit vector of (x5, y5, z5) coordinate system have a negative dot product
Lecture 10 12
Arm Configurations and Solutions
• Two indicators are defined for each arm configuration
• ARM• ELBOW
– Combine these to yield one solution of four possible for the first three joints
• Third indicator • WRIST
– gives one solution of two possible for the last three joints
Lecture 10 13
Indicator Definitions
• ARM• +1: RIGHT arm
• -1: LEFT arm
• ELBOW• +1: ABOVE arm
• -1: BELOW arm
• WRIST• +1: WRIST DOWN
• -1: WRIST UP
FLIP+1: Flip wrist orientation -1: Remains stationary
Lecture 10 14
Arm Configurations
*Fu, Page 63
Lecture 10 15
Arm Solution for the First Three Joints (i = 1, 2, 3)
• For the PUMA robot,• Define a position vector, p, that points from the
origin of the shoulder coordinate system (x0, y0, z0) to the point of intersection of the last three joints
p = p6 - d6 a = (px, py, pz)T
which represents the position vector 0T4
Lecture 10 16
Hand Coordinate System
*Fu, page 43
Lecture 10 17
Arm Solution for the First Three Joints cont’d
=C1(a2C2 + a3C23 + d4S23) - d2S1
S1(a2C2 + a3C23 + d4S23) +d2C1
d4C23 - a3S23 - a2S2
px
py
pz
Position vector 0T4 :
Lecture 10 18
Joint 1 Solution Method
• Project p onto the x0y0 plane
• Solve for 1 in terms of sin 1 and cos 1
1 = tan-1 (sin 1/cos 1)
Lecture 10 19
Joint 1 Solution Setup
(px, py)B
x0
y0
O
A
1
L= -
X 1L
Z 1Lradius = d2
(px, py) B
x0
y0
O
A
X 1R
Z 1R
1
R= + +
Left Arm
Right Arm