Documente Academic
Documente Profesional
Documente Cultură
ECEG-5604
Translational operators
A translation moves a point in space a finite distance along a given
vector direction.
cos sin 0 0
sin cos 0 0
DQ (q) =
0
, (6)
0 1 0
0 0 0 1
EXAMPLE 1:
The Figure shows a vector A P1 . We wish to compute the vector obtained by
rotating this vector about Z by 30 degrees. Find the new vector A P2 .
Given
0.0
A
P1 = 2.5 , (8)
0.0
we calculate A P2 as
1.000
A
P2 = Rz (30.0)A P1 = 1.732 . (9)
0.000
In other words,
1. a 1 is added as the last element of the 4 1 vectors;
2. a row [0001] is added as the last row of the 4 4 matrix.
The 4 4 matrix in (17) is called a homogeneous transform.
Here, the origin of frame {B} is not coincident with that of frame
{A} but has a general vector offset.
The vector that locates {B}s origin is called A PBORG . Also {B} is
rotated with respect to {A}, as described by A B
B R. Given P, we wish
to compute A P as in Fig. 3.
The four parameters ai , i , di , and i in (13) are generally given the names
link length, link twist, link offset, and joint angle, respectively.
Since the matrix Ai is a function of a single variable, it turns out that three
of the above four quantities are constant for a given link, while the
fourth parameter, i for a revolute joint and di for a prismatic joint, is the
joint variable.
Link offset di the distance from the origin of frame xi1 prismatic
Link length ai the distance between the zi1 and zi along the xi axis; constant
Figure : 6. Two-link planar manipulator. The z-axes all point out of the page.
1 a1 0 0 1
2 a2 0 0 2
variable
c1 s1 0 a1 c1 c2 s2 0 a2 c2
s1 c1 0 a1 s1 s2 c2 0 a2 s2
A1 =
0
, A2 =
0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
The T-matrices are thus given by
T10 = A1 .
c12 s12 0 a1 c1 + a2 c12
s12 c12 0 a1 s1 + a2 s12
T20 = A1 A2 = 0
.
0 1 0
0 0 0 1
x = a1 c1 + a2 c12
y = a1 s1 + a2 s12
1 0 0 d1 1
2 0 90 d2 0
3 0 0 d3 0
variable
Inverse Kinematics
Inverse Kinematics concerned with the inverse problem of finding the joint
variables in terms of the end-effector position and orientation.
Existence of solutions:
The question of whether any solution exists at all raises the question of
the manipulators workspace.
Workspace is the volume of space that the end-effector of the manipulator
can reach.
Dextrous workspace is the volume of space that the robot end-effector can
reach with all orientations.
c12 = c1 c2 s1 s2 , (21)
s12 = c1 s2 + s1 c2 . (22)
Solving (20) for c2 , we obtain
x 2 + y 2 l12 l22
c2 = . (23)
2l1 l2
In order for a solution to exist, the right-hand side of (23) must have a value
between -1 and 1.
This constraint would be checked at this time to find out whether a solution
exists.
2 = Atan2(s2 , c2 ). (25)
so
x
cos( + 1 ) = , (36)
r
y
sin( + 1 ) = . (37)
r
Finally, from (16) and (17), we can solve for the sum of 1 through 3 :
1 + 2 + 3 = . (40)
From this, we can solve for 3 , because we know the first two angles.
We examine the notions of linear and angular velocity of a rigid body and
use these concepts to analyze the motion of a manipulator.
The study of velocities leads to a matrix entity called the Jacobian of the
manipulator.
SP = P, (48)
This mapping between differential changes is linear and can be expressed as:
Ve (t) = J(q)q, (49)
In the above equation,Ji (q) is the i th column of the Jacobian matrix. From
the above we have:
d
v
Ve (t) = = = J(q)q(t) (51)
This is carried out in the following sections for both prismatic and revolute
joints.
To find the i th column Ji q of the Jacobian matrix Jq, assume that all joints
except joint i are locked in position.
If a vector pointing along the direction zi1 , with respect to the base frame
is denoted as Pi1 , the linear velocity produced at the end-effector by
translating link i is
vi = Pi1 di (53)
Note that for convenience Pi1 is written in place of 0 Pi1 .
with respect to
The vector Pi1 is the transformation of this unit vector u
base frame {0}.
The homogeneous transformation matrix from frame {0} to frame {i 1} is
0
T1 (q1 )...i2 Ti1 (qi1 ) =0 Ti1 (55)
Pi1 =0 Ri1 u
(56)
With all joints, except joint i, locked in position. The rotary joint rotates all
the distal links from link i to link n at an angular velocity i .
i = Pi1 i (57)
where Pi1 is the vector frame 0 describing the axis of rotation of joint i,
that is zi1 -axis.
vi = i i1 Pn = (Pi1 i1 Pn )i (58)
Pi1 i1 Pn
Ji = (59)
Pi1
For computing Ji in Eq. (59), we need vectors Pi1 and i1 Pn . The vector
Pi1 is obtained from (56), while the vector i1 Pn is found as
i1
Pn = 0 Pn 0 Pi1
Pi1 i1 Pn
Jvi
Ji (q) = = for a revolute joint (62)
Ji Pi1
Ve = J(q)q (63)
q = J1 (q)Ve (64)
Newtons equation
Consider a rigid body whose center of mass is accelerating with acceleration
vC .
In such a situation, the force, F , acting at the center of mass and causing
this acceleration is given by Newtons equation:
F = mvC , (65)
Eulers equation
Consider a rigid body rotating with angular velocity and with angular
acceleration .
In such a situation, the moment N, which must be acting on the body to
cause this motion, is given by Eulers equation
Gossaye Mekonnen Alemu (AAiT) April 11, 2017 51 / 78
Cont...
where Cj is the inertia tensor of the body written in a frame, C , whose
origin is located at the center of mass.
0
v0 = g y0 .
Figure : Two-link planar manipulator with point masses at distal ends of links.
The moments are dependent upon the arm configuration. When the arm is
fully extended along the x-axis, the gravity moments become maximum.
= 1
k(, ) T M(),
(81)
2
where M() is the n n manipulator mass matrix.
Because the total kinetic energy must always be positive, the
manipulator mass matrix must be a so-called positive definite matrix.
The Lagrangian dynamic formulation provides a means of deriving the
equations of motion from a scalar function called the Lagrangian, which is
defined as the difference between the kinetic and potential energy of a
mechanical system.
In our notation, the Lagrangian of a manipulator is
= k(, )
L(, ) u(). (82)
The first type defines the center of mass and arises when the translation
motion of the body is considered.
The second is the moment of inertia that appears when the rotational
motion of the body is considered.
We shall now define a set of quantities that give information about the
distribution of mass of a rigid body relative to a reference frame.
Inertia matrix (or Inertia tensor) can be defined relative to any frame, but
we will always consider the case of an inertia matrix defined for a frame
attached to the rigid body.
The inertia matrix relative to frame {A} is expressed in the matrix form as
the 3 3 matrix
Ixx Ixy Ixz
A
I = Ixy Iyy Iyz , (84)
Ixz Iyz Izz
Gossaye Mekonnen Alemu (AAiT) April 11, 2017 70 / 78
Cont...
where the scalar elements are given by
Ixx = R R RV (y 2 + z 2 )dv ,
RRR
2 2
Iyy = V (x + z )dv ,
Z Z Z
Izz = (x 2 + y 2 )dv , (85)
V
RRR
Ixy = R R R V xy dv ,
Ixz = R R RV xzdv ,
Iyz = V yzdv ,
The parallel-axis theorem relates the inertia tensor in a frame with origin at
the center of mass to the inertia tensor with respect to another reference
frame.
The parallel-axis theorem relates the inertia tensor in a frame with origin at
the center of mass to the inertia tensor with respect to another reference
frame.