Post on 22-Jul-2018
transcript
PR 502 Robot Dynamics & Control 11/9/2006
1
PR 502: Robot Dynamics & Control
Robot Kinematics:Articulated Robots
Asanga RatnaweeraDepartment of Mechanical Engieering
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
2
Articulated Robots
PR 502 Robot Dynamics & Control 11/9/2006
2
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
3
Denavit-Hartenberg (DH) Representation
Developed by Denavit and Hartenberg in 1955 for kinematic modeling of lower pairsHas become a standard way of representing robots and modeling their motions.However, direct modeling techniques learned before are faster and straight forwardQuite useful for Articulated robot modeling
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
4
Links, Joints and Their ParametersMechanical manipulator consists of sequence of rigid bodies (links) connected either revolute or prismatic joint.Each joint-link pair constitutes one degree of freedom (dof).Hence, for n dof system has n number of links.Usually the first link (link 0) is attached to a supporting base and last link is attached with the tool.
PR 502 Robot Dynamics & Control 11/9/2006
3
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
5
DH Coordinate frames
Establishing base coordinate system:A right handed Cartesian coordinate system XYZ or xo, yo, zo is assigned to the base of the manipulator with the zo axis lying along the axis of motion for the 1st link (joint 1) and pointing towards the shoulder of the robot.
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
6
DH Coordinate frames
PR 502 Robot Dynamics & Control 11/9/2006
4
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
7
DH Coordinate framesEstablishing the joint axis:
All joints without exception are represented by a Z axis.If the joint is revolute the Z axis is the axis of rotation.If the joint is prismatic, Z axis is along the direction of the linear motion.
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
8
DH Coordinate framesEstablishing the joint axis:
Defining X axisAssign the X axis along the common normal between two Z axes.If two z axes are parallel then assign X axis along the common normal to the previous jointIf two Z axes are intersecting each other, assign the x axis along a line perpendicular to the plane formed by the two Z axes
PR 502 Robot Dynamics & Control 11/9/2006
5
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
9
DH Coordinate frames
Common normal between two z axes of joint 1 and 2
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
10
DH Coordinate frames
PR 502 Robot Dynamics & Control 11/9/2006
6
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
11
DH Coordinate frames
Z1X1
Y1
X2Z2
Y2
Z3
X3
Y3
1 2 3
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
12
DH Coordinate frames
PR 502 Robot Dynamics & Control 11/9/2006
7
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
13
Z(i - 1)
X(i -1)
Y(i -1)
α( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
Z(i - 1)
X(i -1)
Y(i -1)
α( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
Denavit-HartenbergParametersConsider any link i
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
14
DH ParameterFour parameters (a,α,d,θ) are associated with each link of a manipulator.
a : the perpendicular distance between the adjacent joint axes (Z axes).
ex: ai-1 is the perpendicular distance between Z(i) and Z(i-1) axes.
PR 502 Robot Dynamics & Control 11/9/2006
8
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
15
DH Parameters
ai-1
αi-1
αi-1
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
16
DH Parameterα : Amount of rotation around the
common perpendicular so that the joint axes are parallel.
Ex: αi -1 is how much you have to rotate Z(i-1)about X(i-1) axis so that the Z(i-1) is pointing in the same direction as the Z(i) axis.Positive rotation follows the right hand rule.
PR 502 Robot Dynamics & Control 11/9/2006
9
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
17
DH Coordinate frames
ai-1
αi-1
αi-1
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
18
DH Parameterdi : The displacement along the Zi-1 axis needed to align the ai-1 common perpendicular to the ai common perpendicular. In other words, displacement along the Zi to align the Xi-1and Xi axes.Note: a, α are called link parameters and d, θ are called joint parameters
PR 502 Robot Dynamics & Control 11/9/2006
10
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
19
Denavit-HartenbergParameters
Z(i - 1)
X(i -1)
Y(i -1)
α( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
Z(i - 1)
X(i -1)
Y(i -1)
α( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
20
Denavit-HartenbergTransformation
PR 502 Robot Dynamics & Control 11/9/2006
11
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
21
Denavit-HartenbergTransformation
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
22
The Denavit-HartenbergMatrix
Just like the Homogeneous Matrix, the Denavit-Hartenberg Matrix is a transformation matrix from one coordinate frame to the next. Using a series of D-H Matrix multiplications and the D-H Parameter table, the final result is a transformation matrix from some frame to your initial frame.
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡−−
−
−−−−
−−−−
−
1000cosαcosαsinαcosθsinαsinθsinαsinαcosαcosθcosαsinθ
0sinθcosθ
i1)(i1)(i1)(ii1)(ii
i1)(i1)(i1)(ii1)(ii
1)(iii
dd
a
PR 502 Robot Dynamics & Control 11/9/2006
12
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
23
Example: Robot with three revolute joints
Tool
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
24
Example: Robot with three revolute joints
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
PR 502 Robot Dynamics & Control 11/9/2006
13
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
25
Example: Robot with three revolute joints
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
26
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
i α(i-1) a(i-1) di θi
0 0 0 0 θ0
1 0 a0 0 θ1
2 -90 a1 d2 θ2
Denavit-Hartenberg Link Parameter Table
PR 502 Robot Dynamics & Control 11/9/2006
14
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
27
Ex: robot with 3 Revolute Joints Z2Y2
Z0
X0
Y0
Z1
X2
Y1
X1
d2
a0 a1
Notice that the table has two uses:
1) To describe the robot with its variables and parameters.
2) To describe some state of the robot by having a numerical values for the variables.
Denavit-Hartenberg Link Parameter Table
i α(i-1) a(i-1) di θi
0 0 0 0 θ0
1 0 a0 0 θ1
2 -90 a1 d2 θ2
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
28
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
i α(i-1) a(i-1) di θi
0 0 0 0 θ0
1 0 a0 0 θ1
2 -90 a1 d2 θ2
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
1VVV
TV2
2
2
000
Z
Y
X
ZYX T)T)(T)((T 12
010=
Note: T is the D-H matrix with (i-1) = 0 and i = 1.
PR 502 Robot Dynamics & Control 11/9/2006
15
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
29
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
1000010000cosθsinθ00sinθcosθ
T 00
00
0
i α(i-1) a(i-1) di θi
0 0 0 0 θ0
1 0 a0 0 θ1
2 -90 a1 d2 θ2
This is just a rotation around the Z0 axis
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
−
=
100000cosθsinθ
d100a0sinθcosθ
T22
2
122
12
This is a translation by a0 followed by a rotation around the Z1 axis
This is a translation by a1 and then d2followed by a rotation around the X2 andZ2 axis
T)T)(T)((T 12
010=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡ −
=
1000000000cosθsinθa0sinθcosθ
T 11
011
01
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
30
More examples
Y0ˆ
Y1ˆ
Y3ˆ
Y2ˆ
X0ˆ
X1ˆ
X2ˆ
X3ˆ
θ 30L203
θ 2 0L102
θ 10001
θ i d ia i - 1α i - 1i
PR 502 Robot Dynamics & Control 11/9/2006
16
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
31
Ex: PUMA 650 Robot
θ 6 00-90°6
θ 50090°5
θ 4d4a3-90°4
θ 3d3a203
θ 2 00-90°2
θ 10001
θ i d ia i - 1α i - 1i
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
32
Ex: PUMA Robot
θ 6 00-90°6
θ 50090°5
θ 4d4a3-90°4
θ 3d3a203
θ 2 00-90°2
θ 10001
θ i d ia i - 1α i - 1i
TTTTTTTT 65
54
43
32
21
100=
Px = c1 [ a2c2 + a3c23 – d4s23] – d3s1
Py = s1 [ a2c2 + a3c23 – d4s23] + d3c1
Pz = – a3s23 – a2s2 – d4c23
Where,C – cos, S - sin
Ci=cosθi ; Cij = cos(θi + θj)
PR 502 Robot Dynamics & Control 11/9/2006
17
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
33
Px = c1 [ l2c2 + l3c23]Py = s1 [ l2c2 + l3c23 ]Pz = – l2s2 – l3s23
θ 50090°5
θ 40L304
θ 30L203
θ 2 00-90°2
θ 10001
θ i d ia i - 1α i - 1i
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
34
Ex: Stanford Robot
PR 502 Robot Dynamics & Control 11/9/2006
18
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
35
Ex: Stanford Robot
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
36
Example
PR 502 Robot Dynamics & Control 11/9/2006
19
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
37
Ex: Stanford Robot
X1 Y1
Z1
X2
Z2
X3
Z3
X4
X5
X6
Z4
Z5
Z6
X7
Z7
9 November 2006 Asanga Ratnaweera, Department of Mechanical Engineering
38
DH Notation
Example - Stanford Arm (cont'd)DH Parameters of Stanford Arm
θ60b606
θ50°b505
θ490°004
90°90°b3 03
θ290°b202
θ190°b101
θiαibiaii