Upload
myles-evans
View
217
Download
2
Embed Size (px)
Citation preview
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Kinematics
• Kinematics is the science of motion without regard to forces.
• We study the position, velocity, acceleration, jerk etc of objects
• Concerned with the location of Objects
• We will define coordinate systems or frames to define there location
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Definitions
• Velocity: The derivative of position with respect to time.
• Acceleration: The derivative of velocity with respect to time.
• Jerk: The derivative of acceleration with respect to time.
• Link: Nearly rigid structure between joints.
• Joint: Allow relative motion between links.
• Joint Angle: Measurement of the relative position of two links
t
axvaj
t
vxva
t
xxv
txx
)(
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Definitions Continued
• Joint Space: Relative coordinates that are referenced to coordinate frames at the robot joints.
• Cartesian Space or Task Space. Global or base coordinate frame
• Jacobian: Specifies a mapping of Velocities in joint space to velocity in Cartesian or Task Space.
• Singularity: Region or point at which the Jacobian is singular.
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Mathematical Background
sin ( ) sin 0( ) 0 cos 0( ) 1 sin 45 deg( ) 0.707
90 deg 1.571 rad 3.142 rad 180 deg 3.142 rad
xsin x( )
d
dcos x( )
d
dxcos x( ) sin x( )
Chain Rule
tF u( )
d
d
F
u
u
t
Example
Let F u( ) sin u( ) u x t( ) ThentF
d
dcos x( )
x
t
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Forward Kinematics
X
Y
R
31°
x
y
• Lets look at a simple link (1DOF)
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Forward Kinematics
X
Y
R
31°
x
y
• Want to know the end point of link in terms of X and Y
• We have R and Theta
• From Geometry we candetermine the position:)cos(Rx
)sin(Ry
)sin(Rx
)cos(Ry
• and then the velocity
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Two Link Example
x
Yx
y
R1
R2
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Two Link Example
X
Yx
y
1 1 2 1 2
x R 1 cos 1 R 2 cos 2
y R 1 sin 2 R 2 sin 2
2
1
21
21
)sin()sin(
)cos()cos(
R
R
y
x
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Coordinate Frames
R
X0
Y0
X 1
Y 1
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Coordinate Frames
• Interested in Some Point described by a Vector R
• We need to express R which we know in Frame 1 in Frame 0
)cos(
)sin(
1
1
Ry
Rx
)cos()sin(
)sin()cos(
11110
11110
yxy
yxx
X0
Y0
X 1
Y 1R
1
Equation is independent of values
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Coordinate Frames
1
1
11
11
0
0
)cos()sin(
)sin()cos(
y
x
y
x
• Now lets put it in matrix form
• So what if we want to map the other way?
• What is the inverse of T? Why?
)cos()sin(
)sin()cos(
11110
11110
yxy
yxx
1
1
0
0
y
xT
y
x
0
01
1
1
y
xT
y
x
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Coordinate Frames
• If we look at the columns and rows of T we see that they have a norm of one.
• Also if we take the dot product of the columns we find they are orthogonal to each other.
• So T is an ortho-normal Matrices. Thus its transpose is its inverse.
•
)cos()sin(
)sin()cos(
11
111
T
)cos()sin(
)sin()cos(
11
11
T
• This was a simple 2DOF example what about 3.
• If we project a Z axes out the plane generated by the X and Y axes, then a rotation around the Z axes will not affect the Z position of the vector R.
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Coordinate Frames
100
0)cos()sin(
0)sin()cos(
zT
)cos()sin(0
)sin()cos(0
001
xT
)cos(0)sin(
010
)sin(0)cos(
YT
• The 3D transformation axes about the Z axes is:
• Similarly for rotations around the X or Y axes we get
• Shorthand notation is often usedcos()=c sin()=s
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Coordinate Transformations
• For multiple transformation we simply multiply by more matrices.
• If we have multiple rotations about the same axes we can just add the angles of the matrices. Does this make sense.
Substituting we get
100
0)cos()sin(
0)sin()cos(
)(
)sin()sin()cos()cos()cos(
)sin()cos()cos()sin()sin(
100
0)cos()cos()sin()sin()sin()cos()cos()sin(
0)cos()sin()sin()cos()sin()sin()cos()cos(
100
0)cos()sin(
0)sin()cos(
100
0)cos()sin(
0)sin()cos(
)(
z
z
T
T
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Coordinate Transformation
• So now we can express a vector in a reference frame rotated to an arbitrary angle in space.
• What if we want to express it in a translated frame
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Translating Coordinate Frames
X0
Y0
R
X1
Y1
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Translating Coordinate Frames
X0
Y0
R
X1
Y1
• Now we can translate and rotate.
• Or in terms of vectors
yyy
xxx
10
10
RRR 10
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
What if we have a rotation and a translation
• First we can rotate the frames
• then we can translate
y
x
y
xT
y
x
1
1
0
0
X0’
Y0’
X 1
Y 1R
1
X0
Y0
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Homogeneous Transformation Matrices
• 3x3 Rotation Matrix
• 3x1 Displacement Vector
• For a displacement and a rotation
100
011
011
1 CS
SC
T
1
1
1
1
z
y
x
R
RRTR 10
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
4x4 Homogeneous Matrix
• If we want to perform a rotation and a translation with one operation
• We can create a homogeneous Transformation Matrix
1000
100
011
011
0
0
0
z
yCS
xSC
TH
z
y
x
z
y
x
T
z
y
x
1
1
1
0
0
0
001
1
1
0
0
0
z
y
x
Tz
y
x
H
100
011
011
CS
SC
T
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Homogeneous Transformation Matrices
• What does a pure translation look like
• What does a pure rotation look like
• Multiply to move from one coordinate to another.
1000
100
010
001
z
y
x
TT
1000
0100
0011
0011
CS
SC
TR
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
D-H Parameters
• Denavit-Hartenberg (D-H) are used to describe a robot link.
• One Coordinate System is created for each link.– Each Axes is orthogonal
– Use the right hand rule
• Link are assumed to be rigid
• Four Parameters are used– dn Link Offset
– an Link Length (Common Normal Distance)
– n Joint Angle
– n Link Twist Angle
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Notation
• Coordinate systems are represented with brackets{B}, {0}, etc.
• Vectors– Lets Look at a Vector P
Described in Frame A
– Leading Subscript describes the framein which the Vector is described or Referenced
– Individual Elements of a vectorare described by a trailing subscript
z
y
xA
p
p
p
P
Frame of Reference
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Matrix Notation
RAB
TAB
New Frame of Reference
Original Frame of Reference
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Homogenous Transformations Represent 3 Things
• Describe a Frame
• Map from one Frame to another
• Act as an Operator to move within a Frame
TAB
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Transforms Describe Frames
• Frames can be described byA Homogenous TransformationMatrices
• Description of Frame– Columns of are the Unit Vectors defining the directions of the
principle axes of {B} in terms of {A}
– Rows of are the Unit Vectors defining the directions of the principle axes of {A} in terms of {B}
– is the location of the origin of {B} in terms or {A}
RAB
BorgAP
AB
AB
AB
BA
BA
BAA
B
Z
Y
X
ZYXRˆ
ˆ
ˆ
ˆˆˆ
1000
100
011
011
BorgZA
BorgYA
BorgXA
AB
P
PCS
PSC
T RAB
RAB
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Mapping Between Frames
• Maps vector from Frame {B} to Frame {A}
• will rotate a vector to project its components originally described in {B} in the {A} of Frame
• will translate the vector to adjust its origin from frame {B} to its new origin in {A}
BorgAP
1000
100
011
011
BorgZA
BorgYA
BorgXA
AB
P
PCS
PSC
T RAB
RAB
PP AB
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Acts as an Operator within a coordinate frame
• Operator will rotate and translate a vector
• Defines the angle to rotate about
• Defines the distance to translate
• Usually drop subscripts
• Operates on to create
R
BorgP
1000
100
011
011
2
2
2
orgZ
orgY
orgX
P
PCS
PSC
T RT
1PA2PA
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
an
• Link Length (Common Normal)
• Measured from zn to zn+1 along xn
• The Common perpendicular is shortest distance between two lines in space.– Does not necessarily lie in the physical link.
– If axes intersect then it is zero.
– Not defined for Prismatic, set to zero
z1z2
a1
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
n
• Link Twist Angle
• Measured from zn to zn+1 around xn
• Usually a multiple of 90 degrees
1
z1
z2
x1
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
dn
• Link Offset– Measured from xn-1 to xn along zn
– Joint variable for Prismatic joint
z1
z2
y1
x1
y2
x2
d1
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
n
• Joint Angle
• The angle between xn-1 and xn
• Measured around zn from xn-1 and xn
z1
z2
y1
x1
x2
2
x2
x1
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Assigning Coordinate Frames
1. First place the Z axes along the joint axes of rotation, or translation. Imagine them of infinite length
2. Identify the Common Perpendiculars or point of intersection between each pair of Z axes Place the Xn axes along the common perpendicular between axes n and n+1. If the axes intersect Xn is assigned normal to the plane containing the intersecting axes.
3. Use the right hand rule to define the Y axes. 4. The base frame (0) is fixed and does not move.
It is usually picked to be coincident with frame 1 so that when the joint variable is zero:a0=0 0=0 Link Variables (Both are constants)
d1=0 n=0 Joint Variables (One is always a constant)
5. Chose the origin and direction of {N} freely, but in general assign it to make as many parameter zero as possible
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Special Cases
• If an=0 (the Z axes intersect)
– then pick Xn to be normal to the plane defined by Zn and Zn+1. This leads to two possible Definitions of X and thus Y.
– If Zn and Zn+1 are parallel and coincident, then the assignment of Xn is arbitrary.
• If Zn-1 and Zn are parallel then pick dn is 0
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
DH Parameters
• Make a Matrix of the DH parameters for all the links in the robot.
• This will make defining the transformation from one axes to another much easier.
i i-1 ai-1 di
i 1
0 a0 d1 1
2 1 a1 d2
2 … … … n
n-1 an-1 dn n
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Forward Kinematics
• Used to move from Joint coordinates to end-effector coordinates
• We will use DH parameters to Define Frames– Each Link will be assigned a frame
– Transformation will be used to move between links
• We will start at the bottom and work our way out the chain of links
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Transformation between Frames
• A transformation between Frame {i-1} and {i) can be defined as having 4 steps each containing only one link parameter.1. translate along zi, by di
2. rotate around zi, by i-
3. translate along xi-1, by ai-1,
4. rotate around xi-1, by i-1
• We can perform this with two transforms– First a translation and rotation with regards to zi
– Second a translation and rotation with regards to xi-1
• Remember the operations will be performed from Left to Right.
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Transformations
1000
100
00
00
1000
00
00
001
11
11
1
11
i
ii
ii
ii
ii
i
i
d
cs
sc
cs
sc
a
T
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
DH Based Transformation Matrices
1000
0
1111
1111
1
11
iiiiiii
iiiiiii
iii
i
dcacscss
dsscccs
asc
T
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Forward Kinematics
• Used to mover from Joint coordinates to end-effector coordinates
• Just Multiply the individual T matrices.
• For a robot with N joints we will get N Transformations
• If we are interested in a point beyond the last joint such as an end-effector or tool. We define a coordinate system for the Tool point of interest and create a transform from the last joint to the point.
• We will find it helpful to define other points in the robot work space with coordinate systems relative to the robot base system.
TTTTT NNN12
312
01
0
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Standard Frames include
• Wrist Frame {W} Same as the last robot frame I.e. Frame {N}
• Base frame {B} Located at the base of the manipulator same as frame {0}
• Station frame {S} Usually used as the base point for robot motions. Calculated relative to the Base Frame
• Tool Frame {T} Could be tip of a torch, point between finger of a gripper or the lens of a camera. specified relative to the {W} Frame
• Goal Frame {G} Location where the robot is desired to move. At the end of motion the {G} and {T} should coincide.
• So to get from the Station frame to the toll frame we simply calculate:
Where
TTTT wT
Bw
BS
ST
1
TT NB
W0
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Example
• Book
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Motor Vs Joint
• May have a gear reduction
• N is the gear ratio
• Power is conserved
• May be nonlinear through a four-bar linkage.
ooii
io
io
P
NN
1
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Types of Gear Trains
• Harmonic Drive– High Gear Ratio
– Compact
– No Backlash
• Planetary– Robust
– Medium Gear Ration
• Worm Gear– Right Angle
– High Ratio
• Ball Nut– Rotational to Transnational
• Ball Screw– Ball nut with lower friction
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Harmonic Drive
• A Harmonic Drive Consists of– Wave Generator
– Flex Spline
– Circular or Fixed Spline
• Back Drivable
• Output Reversing
• No Backlash
• As the Lobed Wave Generator Rotates– The Flex Spline is forced into the fixed
spline– Since there are more teeth on the fixed
spline than the flex, they will rotate relative to each other by the difference in teeth. (Equal to the number or lobes)
– Very High ratios 100 to 1 or more can easily be achieved.
Pictures From Harmonic Drive Inc.
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Ball Screw or Nut
• Is really a form of a worm gear
• Has a gear of infinite diameter and a very long worm gear.
• As the worm rotates the nut moves up the worm (equivilent to rotation)
• Often described in pitch– Pitch is the distance the nut moves per screw revolution
– Units are distance or more precisely mm/rev or in/rev
• Convert Rotational motion to linear motion.
• An option to a rack and pinion.
• High Gear ration.
• Ball Screws are Back-drivable in
• Most ratios.
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Worm Gear
• Worm Gears Can Provide a very high Gear Ratio.
• Each time the input shaft rotates one revolution the gear will move by one tooth.
• By using a large gear lets say 40 teeth we can get a high Gear ratio
• 40 to 1.
• Motor can be mounted at Right Angle to Outputshaft
• Usually not Back-Drivable
Picture from www.howstuffworks.com
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Planetary
• The yellow gear (the sun) engages all three red gears (the planets) simultaneously.
• All three are attached to a plate (the planet carrier), and they engage the inside of the blue gear (the ring). Because there are three red gears, this gear train is extremely rugged.
• The Output Shaft is usually attached to the blue gear resulting in a 6 to 1 gear ratio.
• If we used the dark blue planet carrier as theout put we get a 7 to 1 gear ratio since the planets will orbit the sun.
• If we use the Planets carrier as the input, andthe ring as the output and fix the sun, we endup with a 1.17 (7/6) to 1 ratio.
• Planetary gears are often cascaded to get highgear ratios
the blue gear has six times the diameter of the yellow
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Assigning Coordinate Frames Review
1. First place the Z axes along the joint axes of rotation, or translation. Imagine them of infinite length
2. Identify the Common Perpendiculars or point of intersection between each pair of Z axes Place the Xn axes along the common perpendicular between axes n and n+1. If the axes intersect Xn is assigned normal to the plane containing the intersecting axes.
3. Use the right hand rule to define the Y axes. 4. The base frame (0) is fixed and does not move.
It is usually picked to be coincident with frame 1 so that when the joint variable is zero:a0=0 0=0 Link Variables (Both are constants)
d1=0 n=0 Joint Variables (One is always a constant)
5. Chose the origin and direction of {N} freely, but in general assign it to make as many parameter zero as possible
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
Special Cases
• If an=0 (the Z axes intersect) then pick Xn to be normal to the plane defined by Zn and Zn-1. This leads to two possible Definitions of X and thus Y.
• If Zn and Zn+1 are parallel then dn is 0
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
DH Parameters
• Make a Matrix of the DH parameters for all the links in the robot.
• This will make defining the transformation from one axes to another much easier.
i i-1 ai-1 di
i 1
0 a0 d1 1
2 1 a1 d2
2 … … … n
n an dn n
Feb 17, 2002 Robotics 1 Copyright Martin P. Aalund, Ph.D.
DH Based Transformation Matrices
1000
0
111
1111
1
11
iiiiiii
iiiiiii
iii
i
dccscss
dsscccs
asc
T