You are on page 1of 13

Mechanical Engineering Robotics notes As per R18 regulation of VJIT

UNIT – 3
FORWARD AND INVERSE KINEMATICS OF ORIENTATION
Suppose the moving frame attached to the hand (end-effector) of the
robot has already moved to a desired position and is in an orientation other than
what is desired, the next step is to rotate the frame appropriately in order to
achieve a desired orientation without changing its position. This can only be
accomplished by rotating about the current frame axes; rotations about the
reference frame axes will change the position. The appropriate sequence of
rotations depends on the design of the wrist of the robot and the way the joints
are assembled together. Let us discuss two popular schemes:
1. Roll, Pitch, Yaw (RPY) angles
2. Euler angles

ROLL, PITCH, YAW (RPY) ANGLES


This is a sequence of three rotations about current a-, o-, and n-axes
respectively, which will orientate the hand of the robot to a desired orientation.
The assumption here is that the current frame is parallel to the reference frame;
therefore, its orientation is the same as the reference frame before the
application of RPY. If the current moving frame is not parallel to the reference
frame, then the final orientation of the robot’s hand will be a combination of the
previous orientation, post-multiplied by the RPY.
It is very important to realize that since we do not want to cause any
change in the position of the origin of the moving frame (we have already
placed it at the desired location and only want to rotate it to the desired
orientation), the movements relating to RPY rotations are relative to the current
moving axes. Therefore, all matrices related to the orientation change due to
RPY (as well as other rotations) will be post-multiplied.
RPY sequence of rotations consists of:

1
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

1. Rotation of Φa about the a-axis (z-axis of the moving frame) called


Roll,
2. Rotation of Φo about the o-axis (y-axis of the moving frame) called
Pitch,
3. Rotation of Φn about the n-axis (x-axis of the moving frame) called
Yaw.

The matrix representing the RPY orientation change will be:

The inverse kinematic solution for the RPY is more complicated and to
simplify the process, we will pre-multiply both sides of the above equation by
the inverse of Rot(a, Φa). Assuming that the final desired orientation achieved
by RPY is represented by the (n, o, a) matrix, we will have:

2
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Multiplying the matrices, we will get:

From the 2, 1 elements we get:

ATAN2 is used to represent Tan-1 in programming languages like Fortran, C++


etc.
From the 3, 1 and 1, 1 elements we get:

And finally, from the 2,2 and 2,3 elements we get:

3
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Note: RPY matrix represents the orientation change caused alone. The location
and the final orientation of the frame relative to the reference frame will be the
product of the two matrices representing the position change and the RPY. For
example, suppose that a robot is designed based on spherical coordinates and
RPY. Then the robot may be represented by:

Euler Angles
Euler angles are very similar to RPY, except that the last rotation is also about
the current a-axis. Therefore, the rotations representing the Euler angles will be:
 Rotation of Φ about the a-axis (z-axis of the moving frame) followed by,
 Rotation of θ about the o-axis (y-axis of the moving frame) followed by,
 Rotation of ψ about the a-axis (z-axis of the moving frame).
The matrix representing the Euler angles orientation change will be:

We need to make all rotations relative to the current axes to prevent any change
in the position of the robot.

4
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Euler Angles
The inverse kinematic solution for the Euler angles can be found in a
manner very similar to RPY. We will pre-multiply the two sides of the Euler
equation by Rot-1(a, Φ) to eliminate Φ from one side. Assuming the final
desired orientation achieved by Euler angles is represented by the (n, o, a)
matrix:

After multiplication on both sides we get;

5
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Equating the different elements of the right-hand and left-hand sides we can get
the angles;
From the 2, 3 elements we get:

From the 2, 1 and 2, 2 elements we get:

From the 1, 3 and 3, 3 elements we get:

Problems

6
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Degeneracy and Dexterity


Degeneracy
Degeneracy occurs when the robot loses a degree of freedom, and
therefore, cannot perform as desired. This occurs under two conditions:
(1) When the robot’s joints reach their physical limits and as a result, cannot
move any further.
(2) A robot may become degenerate in the middle of its workspace if the z-
axes of two similar joints become collinear.
This means that, at this instant, whichever joint moves, the same motion
will result, and consequently, the controller does not know which joint to move.
Since in either case the total number of degrees of freedom available is less than
six, there is no solution for the robot. In the case of collinear joints, the
determinant of the position matrix is zero as well. Figure shows a simple robot
in a vertical configuration, where joints 1 and 6 are collinear. As you can see,
whether joint 1 or joint 6 rotate, the end effector will rotate the same amount. In
practice, it is important to direct the controller to take an emergency action;
otherwise the robot will stop. Please note that this condition occurs if the two
joints are similar.

Example of a degenerate position

7
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Dexterity
We should be able to position and orientate a 6-DOF robot at any desired
location within its work envelope by specifying the position and the orientation
of the hand. However, as the robot gets increasingly closer to the limits of its
workspace, it will get to a point where, although it is possible to locate it at a
desired point, it will be impossible to orientate it at desired orientations. The
volume of points where we can position the robot as desired but not orientate it
is called non-dexterous volume.

DIFFERENTIAL KINEMATICS OF ROBOTS


Differential motions are small movements of mechanisms (e.g., robots) that
can be used to derive velocity relationships between different parts of the
mechanism. A differential motion is, by definition, a small movement.
Therefore, if it is measured for a small period of time (differential time), a
velocity relationship can be found. The study of differential motions without
considering the forces causing them is called differential kinematics.

Differential Relationships for a 2-DOF plane R-R manipulator:


Consider a 2-DOF plane R-R manipulator, as shown in the figure;

2-DOF plane R-R manipulator


We will try to find the velocity relationship by differentiating the equations that
describe the position of point B, as follows:

8
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Differentiating the above position equations with respect to the two variables θ1
and θ2 will yield;

In matrix form we can write as;

If both sides of the equation are divided by “dt”, we get velocity relationship.

Differential Motions of a Frame


Differential motions of a frame can be divided into the following:
 Differential translations
 Differential rotations
 Differential transformations (combinations of translations and rotations)

Differential Translations
A differential translation is the translation of a frame at differential values.
Therefore, it can be represented by Trans(dx, dy, dz). This means the frame has
moved a differential amount along the x-, y-, and z-axes.

9
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Problem
1) A frame B has translated a differential amount of Trans(0.01, 0.05, 0.03)
units.
Find its new location and orientation.

Sol: Since the differential motion is only a translation, the orientation of the
frame should not be affected.
The new position of the frame is given by the formula;
T x Fold = Fnew

Differential Rotations about the Reference Axes


A differential rotation is a small rotation of the frame. It is generally
represented by Rot(q, dθ) which means that the frame has rotated an angle of dθ
about an axis q. Specifically, differential rotations about the x-, y-, and z-axes
are defined by δx, δy and δz. Since the rotations are small amounts, we can use
the following approximations:
Sin δx = δx (in radians)
Cos δx = 1
Then, the rotation matrices representing differential rotations about the x-
, y-, and z-axes will be:

10
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Similarly, we can also define differential rotations about the current axes as:

In combined transformations, if the order of multiplication of matrices changes,


the result will change as well. Therefore, in matrix multiplication, maintaining
the order of matrices is very important in kinematics. If we multiply two
differential motions in different orders, we expectedly get two different results,
as shown below:

In mathematics, higher-order differentials are considered negligible and


are usually neglected. If we set higher-order differentials such as δxδy, δyδx etc.
to zero, the results are exactly the same.
Consequently, for differential motions, the order of multiplication is no
longer important and Rot(x, δx) Rot(y, δy) = Rot(y, δy) Rot(x, δx)
1 0 𝛿𝑦 0
In both cases of L.H.S. and R.H.S., the answer is 0 1 −𝛿𝑥 0
−𝛿𝑦 𝛿𝑥 1 0
0 0 0 1
Hence, order of multiplication is not an issue in differential kinematics as
it is in the case of kinematics. This makes several calculations simple and

11
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

straight forward in differential kinematics. Therefore, combined transformations


can be easily handled in differential kinematics.

Differential Rotation about a General Axis q


Based on the above, since the order of multiplication for differential
rotations is not important, we can multiply differential rotations in any order. As
a result, we can assume that a differential rotation about a general axis q is
composed of three differential rotations about the three axes, in any order.
Consequently, a differential motion about any general axis q can be expressed
as:
Rot(q, δq) = Rot(x, δx) Rot(y, δy) Rot(z, δz)

If we neglect all higher-order differentials, we get:

12
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad
Mechanical Engineering Robotics notes As per R18 regulation of VJIT

Problems
1. Find the total differential transformation caused by small rotations about the
three axes of δx =0.1, δy = 0.05 and δz = 0.02 radians.
Sol: Rot(q, δq) = Rot(x, δx) Rot(y, δy) Rot(z, δz)

13
By Dr. J. Jagadesh Kumar, Associate Professor, Dept. Of Mechanical Engineering, VJIT, Hyderabad

You might also like