Professional Documents
Culture Documents
1 Introduction Robot Arm Kinematics : deals with analytic study of the fixed reference geometry of motion of robot arm w.r.t. forces or moment that cause the motion.
* Inverse Kinematics
X nYn Z n qi
* Links of robot arm : rotate and/or translate w.r.t reference coordinate frame * Spatial displacement of the end-effector is due to the
angular rotation and linear translation. * cartesian coordinate frame right hand rule
* best way to describe the orientation of the object (motivation of multi coordinate systems)
P = ( Px
Py
Pz )
Px P= Py Pz P = Pxix + Py j y + Pz k z = ix iy Px iz Py Pz
OXYZ : reference coordinate system unit vector OUVW : moving coordinate system (body attached frame) unit vector
and
We want to find the relationship. (transformation) Let be 33 transformation matrix that will transform the coordinates of to the coordinates expressed w.r.t. OXYZ coordinates system, after OUVW coordinate system has been rotated. That is
but
: component of in x direction
Similarly but
,
then
- in vector-matrix form
Or,
where,
(orthogonal transformation)
* Rotation matrices represent the rotations of the OUVW coordinate system about each of the 3 principal axes of the OXYZ coordinate system
cos sin sin cos
then
OUVW rotates an
OUVW rotates an
(*) (**)
*Basic rotation can be multiplied together to represent a sequence of limited rotations about the principal axes of the OXYZ coordinate system. (Since matrix multiplications do not commute, the order of performing rotations is important.) Ex. rotation of angle about OX axis , then rotation of angle about OZ axis , then rotation of angle about OY axis.
* OX OZ OY OY OZ OX
*Rotating coordinate system OUVW can also rotate about it's own principal axes. * rules Initially both coordinate systems are coincident frame, then the premultiply. If rotation is about one of the principal axes of the OUVW frame , the postmultiply.
about OX,
about OY, OY
about
(Rotation OX
OU
Premultiply y Postmultiply
(OZ
OX
OX
OY)
2-2-3 Rotation Matrix about an Arbitrary Axis Rotating coordinate system OUVW, rotates arbitrary axis r which is an unit vector.
angle about an
Then,
but it is very hard to find base vectors ( ) of the rotated coordinate system, after the angle rotation. then Therefore, first, align the r with OZ axis, then rotate , let the r go back to original orientation. To find make rotation about the principal axes of OXYZ frame align the axis r with OZ axis. then make rotation about the r axis (=OZ axis) with angle. Lastly, rotate the moving coordinate system about the principal axes of OXYZ frame again to return the r axis back to it's original location. to
Ex. Let
: unit vector
cos sin cos sin cos sin sin cos sin cos sin cos
cos
where cos * Other representations of orientation Orientation of rigid body w.r.t. reference coordinate 1. Matrix representation : need 9 elements (only 3 elements are linearly independent) 2. Axis / Angle representation : 4 component but r is unit vector 3. Euler angle representation : 3 Euler angles 4. Roll-Pitch-Yaw representation : 3 RPY angles * Axis/Angle representation v.s. Rotation matrix Arbitrary rotations (or Orientation) can be represented by a single rotation about a suitable axis in space by a suitable angle as
.
cos cos
sin
(i.e.. )
Ex.
then,
cos
2.2.4 Rotation Matrix with Euler Angle Representation Euler angle system (gyroscopic motion) 1. rotation of 2. rotation of
angle about the rotated OU axis angle about the rotated OW axis
3. Finally a rotation of
Euler angle system II about the OZ about the rotated OV about the rotated OW
1. 2. 3.
1. 2. 3.
(also )
cos sin cos sin sin cos cos sin sin cos sin cos
coscos cossin sin sin cos cossin cos sin sin sin cos sin sin sin coscos sin sin cos cossin sin cossin coscos
magnitude of representation is 1
=1
: linear translation
*after several consecutive rotations and translations, the transformation matrix becomes mess! *Is there any solution? - The Homogeneous transformation in homogeneous coordinate frame. Definition:
* Homogeneous coordinate : makes it possible to represent both translation and rotation as a matrix multiplication. * Let = be the cartesian coordinates of a point in R.
0 , for which , , ,
is called a set of homogeneous coordinates for point X. Note that any algebraic equation in , when transformed to a set of homogeneous coordinates, becomes a homogeneous equation in homogeneous coordinate. Homogeneous coordinate no explicit constants. Example :
homogeneous
* position vector
in 4 dimensional Homogeneous
In
where
= rotation matrix
: rotation matrix
: scale factor = 1
: no rotation.
where,
: Coordinate values are stretched by the scalar a, b and c.
*note that basic rotation matrix T dose not produce any local scaling effect *global scaling
,
if 0<s<1,
enlargement
44 homogeneous transformation matrix maps a vector expressed in homogeneous coordinates w.r.t. the OUVW coordinate system to the reference coordinate system OXYZ.
and
where
n : normal vector s : sliding vector a : approach vector p : position of origin (hand coordinate system.)
or if
and
Homogeneous transformation matrix geometrically represents the location of a rotated coordinate system (position and orientation) w.r.t. reference coordinate system.
( columns of R are representation of
in
OXYZ
in OUVW.)
where
: Transpose of (inverse of )
: represents the position of the origin of the reference frame w.r.t OUVW system.
2-2-8 Composite Homogeneous Transformation Matrix The homogeneous rotation and translation matrices can be multiplied together to obtain a composite homogeneous translation matrix(T) *process 1. Initially both coordinate system coincide, hence
2. If OUVW system is rotation / translation about the principal axes of the OXYZ frame then premultiply previous H.T.M with an appropriate basic H.T.M. OUVW system, postmultiply. * Screw Transformation Screw( , , y)
Rot ( , y ) Tran ( , )
2.2.9 Link, Joint and their parameters A mechanical manipulator consists of a sequence of rigid bodies, called links, connected by joints. joint is connected by rigid link. *6 types of lower pair joint. (revolute, prismatic, cylindrical spherical, screw, planar joints) Or one can say each
*Joint-link pairs
J J L
1 1
*Each joint-link pair constitutes 1 degree of freedom. *N degree of freedom N joint-link pairs with link 0. *Joints and links are numbered outwardly from the base. *Joint-link pair is characterized by 4 geometric parameters: (effective) link length ( ) joint Angle ( ) twist angle ( ) offset ( )
2.2.10 Denavit-Hartenberg representation Denavit-Hartenberg proposed a matrix method of systematically establishing a coordinate system to each link of an articulated chain.
*Algorithm 2.1 : Link coordinate assignment - i th coordinate system is fixed in link i, together with link i. - World coordinate frame O X Y Z is fixed on Link 0 and does not move. - connects and .
Y
and it moves
J L
0
J
1
L
X
L
X
1
1
Y Z
1
- : axis of motion of ,
direction pointing away from the base - : if and intersects, then, = ( ) / if and are parallel, then,
is a normal vector
X Z . So
choose to align with approach vector a, and with normal vector n, and with sliding vector s. a rotating joint with end-effector parallel to ) *Note that D-H representation is not unique. It is a convention for affixing coordinates to links, and D-H representation results in a 4x4 HTM representing each link's coordinate system at the joint with respect to the previous link's coordinate system. *Homogeneous transformation matrix : 44 matrix and has 16 elements. elements has meaning. (position information : 3, orientation information :3 ) But. Denavit-Hartenberg representation uses only 4 geometric parameters against 16 elements in HTM. ( by using freedom of the choice of the origin and coordinates on the rigid frame) The DH parameters are : effective link length ( ), joint angle ( ), twist angle ( ), offset ( ). Among them only 6 ( is usually
Link coordinate assignment for Puma robot - Assign 7 coordinate systems for 6 joints. - note that axis Z0 and axis Z1, intersect each other. normal line to both axis is a point.
1. Since there is no joint 0, origin of X0Y0Z0 coordinate system and direction of X0 can be chosen arbitrarily. * choose the origin of X0Y0Z0 on the intersection point with the axis Z0 and axis Z1 for convenience. * choose the direction of X0 arbitrarily, fixed on link 0. 2. Since direction of X1 is the direction of normal line, the origin of X1Y1Z1 coincide with that of X0Y0Z0. * a1 = O * d1 = O * 1 = 90 * 1 = -90 ( normal line is a point ) ( origins of X0Y0Z0 and X1Y1Z1 coincide ) ( angle between X0 and normal line ) ( angle between Z0 and Z1 ) Then,
3. Since Z1//Z2, number of normal lines are infinity. choose the origin of X2Y2Z2 on the center of Joint 3. * a2 = 431.8mm * d2 = 149.09mm * 2 = 0( X1 // X2
)
* 2 = 0( Z1 // Z2 )
4.
Home work : Establish link coordinate systems for a Stanford robot and find the DH parameters for any given configuration of Stanford Arm.
* Homogeneous Transformation Matrix for relating i th cordinate frame to (i-1)st coordiante frame.
axis an angle
Translate along axis a distance
:
Rotate about the axis an angle of
Zi-1, Zi
0i-1,0i
Xi-1,Xi
I4X4
*For sliding joint, axis and axis intersect each other, so,
=0
).
Therefore,
: redundancy)
T X P
: orientation of
i
th
th
coordinate system
: origin of
coordinate system
* physical meaning of
C 1C 23 S 1C 23
- S 23 0
-S 1
C 1S 23 S 1S 23 C 23
0
a 2 C 1C 2 + a 3C 1C 23 - d 2S 1 a 2S 1C 2 + a 3S 1C 23 + d 2C 1
- a 2 S 2 - a 3S 23 1
C1
0 0
C 4C 5C 6 - S 4 S 6 S 4C 5C 6 + C 4S 6
-S 5C 6 0
- C 4 C 5C 6 - S 4 S 6 - S 4 C 5S 6 + C 4C 6
C 4S 5 S 4S 5 C5
0
d 6C 4S 5 d 6S 4S 5 d 6C 5 + d 4
1
S 5S 6
0
where
So,
T = T 1T 2
Ex. 1. Find the forward Kinematic solution for PUMA 560 for
= 90 , 2 = 0 , 3 = 90 , 4 = 0 , 5 = 0 , 6 = 0
0 0 0 0 0 0
An s
T=
0 0 -1 0
-1 0 0 0
0 1 0 0
Ex. 2. A robot work station has been set up with a TV camera. The camera can see the origin of the base coordinate system where a 6-joint robot is attached. It can also see the center of the object(cube) to be manipulated by the robot. If the local coordinate system has been established at the center of the cube, this object as seen by the camera can be represented by homogeneous transformation matrix camera can also be expressed by a homogeneous transformation matrix
T2 T1
T1
0 1 0 0
1 0 0 0
0 0 -1 0
10
9 1
T2
1 0 0 0
0 -1 0 0
0 0 -1 0
- 10 20 10 1
a) what is the position of the center of the cube w.r.t base coordinate system? b) what is the orientation matrix
[
the
n s a
, ,
gripper of the hand to be aligned with the y axis of the object and at the same time pick up the object from the top? base
base base ca mer a
-1
T obj =
T camer a
T obj = ( T 2 )
T1
ba se
T obj =
1 0 0 0
0 -1 0 0
0 0 -1 0
10 20 10 1
0 1 0 0
1 0 0 0
0 0 -1 0
10
1
9
T=
0 -1 0 0
1 0 0 0
0 0 1 0
11 10
1
1
where,
X obj
- 1 , 0
0
Y obj
0 , 0
Z obj
0 0 1
P :
11 10 1
x6(n)
yobj
xobj
s a
a= s=
- 1
0 0
1
0
0
obj
n s a
=
1 = ( y
0
T6
1
0 0
1
0 0 0
0 0 -1 0
11 10
1
1
Home Work 1. Assign a coordinate systems on the manipulator. 2. Find the DH parameters for the given configuration above.
(universal joint has 3 bevel gears {A, B, C}) Gears A and B are driven by separate stepper motors, and Gear C is attached to the tool roll axis.
1. A, B are driven in opposite directions at same speed * tool exhibits a pure roll motion. tool exhibits a pure pitch motion. 2. A, B are driven in same direction at same speed Five axis robot : (Rhino XR3)
Home Work. 1. Assign a coordinate systems on the manipulator. 2. Find the DH parameters for any given configuration. * Joint coupling of Rhino Robot The movements of shoulder, elbow, and tool pitch joints are coupled together.
When shoulder motor rotates , then elbow motor counteracts , so that . Similarly, when elbow motor rotates , then tool pitch motor counteracts
, so that . activated.
234
is
* motivation : If a liquid-filled container is carried by the tool, it will not spill on account of tipping when either the shoulder motor or the elbow motor is activated. * It can be decoupled by
0 0 0 0 0 0 0 0
1 -1
0 0 -3 0 0
0 0 0 -4 0
h=
0 0 0
5
1 0 0 0 0
0 1 1 1 0
0 0 1 1 0
0 0 0 1 0
0 0
0 1
0
=P
-1
h
-1
encoder hole number count inverse of diagonal precision matrix desired joint angle
T
C coupling matrix
= [ 0.2269
0.1135
0.1135
0.1135
0.3125 ]
degree/count
and
correspond to negative