ECNG-5212 CH 3 Revised
ECNG-5212 CH 3 Revised
ROBOT MODELING
• These objects are the links of the manipulator, the parts and tools with which it
deals, and other objects in the manipulator's environment.
• At a crude but important level, these objects are described by just two attributes:
position and orientation.
• In order to describe the position and orientation of a body in space, we will always
attach a coordinate system, or frame, rigidly to the object.
• Any frame can serve as a reference system within which to express the position
Coordinate systems or
"frames" are attached to the
manipulator and to objects in
the environment
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 5
Forward kinematics of manipulators
• Kinematics is the science of motion that treats motion without regard to the
forces which cause it. Within the science of kinematics, one studies position,
velocity, acceleration, and all higher order derivatives of the position variables
(with respect to time or any other variable(s)).
• Hence, the study of the kinematics of manipulators refers to all the geometrical
and time-based properties of the motion.
• A very basic problem in the study of mechanical manipulation is called forward
kinematics.
• This is the static geometrical problem of computing the position and
orientation of the end-effector(tool frame) of the manipulator. Specifically,
given a set of joint angles.
What you can find: The angles of each joint needed to obtain
that position
OR
Unit Vector:
Vector in the direction of a chosen vector but whose magnitude is 1.
B
uB B
B
2/10/2025 uB 10
Cont…
Orientation and unit vector:
Orientation of a vector can be expressed with a unit vector.
It is used to indicate directions. In 3-D,
Matrix Multiplication:
An (m x n) matrix A and an (n x p) matrix B, can be multiplied since the number of
columns of A is equal to the number of rows of B.
Non-Commutative Multiplication a b e f ae bg af bh
AB is NOT equal to BA
c d g
h ce dg cf dh
Matrix Addition:
a b e f a e b f
c d g
h c g d h
2/10/2025 11
BASIC MANIPULATOR GEOMETRIES
Basic Joints:
A robot arm or manipulator is composed of a set of joints, links, grippers and base part.
The joints are where the motion in the arms occurs, while
There are three sorts of robot joints, involving two sorts of motion.
A revolute joint is one that allows rotary motion about an axis of rotation.
1 DOF ( Variable - 𝜃), fig-a.
telescopic motion.
Spherical Joint
3 DOF ( Variables - 1, 2, 3), fig-c.
2/10/2025
example industrial robot. 12
Open Chain Manipulator:
In this types of the arm, mechanics of a manipulator can be represented as a kinematic chain of
One end of the chain is constrained to a base, while an end effectors is mounted to the
Even analysis has to take into account statics, constraints from other links, etc.
represent;
the positions and orientations of rigid objects, and
with transformations among these coordinate systems.
In this chapter,
we study the operations of rotation and translation, and
introduce the notion of homogeneous transformations.
Homogeneous transformations combine;
the operations of rotation and translation into a single matrix multiplication, and are
We begin by examining representations of points and vectors in a Euclidean space equipped with
Following this, we introduce the concept of a rotation matrix to represent relative orientations
Then we combine these two concepts to build homogeneous transformation matrices, which can
be used:
to simultaneously represent the position and orientation of one coordinate frame relative to
2/10/2025 14
another.
REPRESENTING POSITIONS and ROTATIONS
In order to represent the relative position and orientation of one rigid body with
respect to another,
In the former, one reasons directly about geometric entities (e.g., points or lines),
while in the latter, one represents these entities using coordinates or equations, and
2/10/2025 15
Cont…
Fig. 3.3: Two coordinate frames, a point p, and two vectors v1 and v2.
The figure shows two coordinate frames that differ in orientation by an angle of 450.
x0 is perpendicular to y0, or
that v1×v2 defines a vector that is perpendicular to the plane containing v1 and
In robotics, one typically uses analytic reasoning, since robot tasks are often
We could specify the coordinates of the point p with respect to either frame o0x0y0
or frame o1x1y1.
In the former case, we might assign to p the coordinate vector (5, 6)T , and
So that the reference frame will always be clear, we will adopt a notation in which a
both p0 and p1 are coordinate vectors that represent the location of this point in
nx ox ax Px
n oy ay Py
F y
nz oz az Pz
0 0 0 1
nx ox ax Px
n oy ay Py
Fobject y
nz oz az Pz
0 0 0 1
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 20
Fig-3.4: Representation of an object in space
Basic Transformations:-
Notation:
………………..(3.1)
Writing V XY in terms of V NO
;
PX V N
V XY
O P V NO ………… (3.2)
V
Where,
Px
P XY
PY ………………….(3.3)
Referring the above figure and using equations (3.1), (3.2) and (3.3), we have;
PX V N
V XY P V NO O ……… ……..(3.4)
PY V
Basis vectors are unit vectors that point along a coordinate axis.
Where,
NO
The vector V can be expressed as:
V N V cosθ V NO cosθ V NO n
NO
V NO O NO NO NO …………………(3.5)
V V sinθ V cos(90 θ) V o
Let, θ = Angle of rotation between the XY and NO coordinate axis as shown below.
Y
Z X
Thus;
…………………..(3.7)
Similarly….
…..…… ………(3.8)
So….
…………………………(3.9)
Finally, the Rotation Matrix about the z-axis can be written in Matrix Form as;
… ………………(3.10)
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 25
Cont…
…………………..(3.11)
knowing the coordinates of a point (VN,VO) in some coordinate frame (NO);
cosθ sinθ 0
R z sinθ cosθ 0 …………………(2.14)
0 0 1
Rotation around the Y-Axis
cosθ 0 sinθ
R y 0 1 0 …………………..(2.15)
sinθ 0 cosθ
1 0 0
R x 0 cosθ sinθ ……………………(2.16)
0 sinθ cosθ
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 28
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 29
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 30
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 31
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 32
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 33
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 34
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 35
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 36
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 37
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 38
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 39
Homogeneous Matrices in 3D
H is a 4x4 matrix that can describe a translation, rotation, or both in one matrix.
The rotation and translation part can be combined into a single homogeneous
matrix IF and ONLY IF both are relative to the same coordinate frame.
EX-1:
Where, = The transformation that you use to take a point in j-coordinates and
compute
2/10/2025 its location in k-coordinates.
Robotics (EP-5532) by Belaynesh Belachew 43
Cont…
Ex-2:
Consider the simple robot arm from figs. (3.12) & (3.13) with the joint rotated by ψ degrees.
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 44
Cont…
Ex-3:
A point in the tool coordinate system is (xN, yN, zN). The origin of the tool
What is (x0, y0, z0), this point in the base coordinate system?
Soln:
Using simple analytical geometry,
a)
b)
If you swap the order of z rotation and translation, you will have Tran(433, 250,600)Rot(z,30)Rot(y,90).
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 46
Please verify.
Cont…
Ex-5:
Top view.
We can consider the link 2 being translated to point P then rotated for θ1.
Soln:
The translation to P along x0 and y0 are: a1 cos θ1, a1 sin θ1.
The rotation is about z for θ1.
The vector in the translated coordinate is v1 = (a2 cos θ2, a2 sin θ2, z, 1)T
Let’s use the standard transformation to calculate TCP with respect to (x0, y0, z0).
Example -1
Find the homogeneous transformation matrix (T) for the following
operations:
• With the ith joint we describe a joint variable qi, which is an angular rotation
if a revolute joint or a linear displacement if a prismatic joint.
• Each link has a coordinate frame attached to it. Frame oixiyizi is attached to
link i. This means that whatever robot motions occur, the coordinates of
every point on link i are constant when expressed in the ith coordinate frame.
• When joint i is actuated, the link i and its entire frame experience a
resulting motion. Figure 1 shows a more general way to analyze the
relationship between links and joints.
link twist angle, and it will align the Z axes of the two frames.
We will see that this choice of parameters is not unique. However, this is a
standard way of specifying the relation of each coordinate frame to the next one
in a serial kinematic chain.
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 69
Settting up a Frame Diagram
• In analyzing a robot mechanism, we often create a frame diagram that
graphically shows the relationships between the DH-frames of the robot.
•
• Starting from a base coordinate frame, we align the Z axis with the first joint
axis. Call this joint axis Z i − 1 . Every joint axis in the mechanism will be a Z
axis. The axis of the next joint in the chain Z i is either parallel, intersecting or
skew with Z i − 1 .
•
• – Once we have a new X and Z axis, and an origin for the new frame we are
done. The Y axis will simply be the cross product of Z and X .
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 70
Cont….
•Using these rules we then move out the mechanism, a
joint and a frame at a time, filling in the D-H
parameters and setting up the manipulator transforms.
• We also usually designate a zero − position frame
diagram of the robot which is a graphical depiction of
the frames when all joint variables are zero. The
examples that follow will make this clear.
• Another analysis of the manipulator is to define its
geometric workspace: the volume of space reachable
by the endpoint of the manipulator. For the next
example of the elbow manipulator, the workspace is a
sphere.
4 parameters:
If we fill in a table like the one below, we can completely specify the robot’s forward kinematic
structure:
Using this table, we can just plug into the transform matrix for each link of the robot, and
Note that: the joint variable is either θ for revolute joints or d for prismatic joints.
Examples
5 Figure 3.15 shows a 3-link elbow manipulator.
From Fig-3.15 (D-H frames for 3 link elbow manipulator), the D-H parameters can be easily
tabulated.
Assume link lengths of a2 and a3 for links 2 and 3, and that the link 1 offset is d1:
Where;
Note also the directions of the axes in the final end-effector frame are equal to the column
vectors of
2/10/2025 . Robotics (EP-5532) by Belaynesh Belachew 73
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 74
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 75
Ex-6: Forward Kinematics,
Cylindrical Manipulator
Figure 3.16 shows a picture of this mechanism and its frame diagram.
Substituting these values into the D-H frame transformation matrices we get:
Note: d1 could be zero, in which case the origin of link 1 would be the same as link 2’s origin.
Then substituting into the transform matrix, we can see the manipulator endpoint (last column of matrix)
is at (-5; 0; 3).
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 76
Ex-7: Forward Kinematics, Spherical Wrist
A spherical wrist can be added to the cylindrical manipulator to orient the end-effector (gripper) in space.
The first 2 angles effectively point the gripper in a spherical coordinate system, and the last angle is a roll angle
that orients the gripper about the approach axis.
The table of joint parameters is:
Substituting these values into the D-H frame transformation matrices we get:
You can append the 2 matrices to get the final matrix of the cylindrical manipulator with the spherical
wrist. This mechanism has 6 DOF and 6 joint variables: θ1; d2; d3; θ4; θ5; θ6.
2/10/2025 Robotics (EP-5532) by Belaynesh Belachew 77
Ex-8: Forward Kinematics, 3 Link Manipulator B
Figure 2.18 shows a picture of this mechanism and its frame diagram.
Substituting these values into the D-H frame transformation matrices we get
Figure 3.19 shows a picture of this mechanism and its frame diagram.
Substituting these values into the D-H frame transformation matrices we get:
if θ1 = 90 and θ3 = 0 and q2 = 5:
That means, the TCP is at (0, 2.5, -4.33), The gripper is pointing down & front.
Forward kinematics can also be used to relate positions in tool coordinate and base coordinate.
Example-11:
If a point in the scope link coordinate is (0, 0, 1), where is TCP and what is its orientation if
and orientation) of the end effector of the manipulator as a function of the manipulator’s
joint angles.
i.e., determining the joint angles given a desired end effector configuration, is the inverse
kinematics problem.
numerical approaches.
The main difficulty of the inverse kinematics problem in general is that for some desired end
effector configuration,