5. Robotics
5. Robotics
5. Robotics
Robotics
Mantaka Taimullah
Assistant Professor
Department of Mechanical Engineering, BUET.
Introduction to Robotics
ØA robot is a reprogrammable, multifunctional manipulator
designed to move materials, parts, tools, or specialized devices
through variable programmed motions for the performance of a
variety of tasks.
ØIndustrial Applications:
vMaterial handling
vProcessing operations
vAssembly and inspection
Space,
Robot Components
ØManipulator: the main body of the robot, which consists of the links,
joints, and other structural elements of the robot. They are also
commonly referred to as robotic arms.
ØEnd effectors: peripheral device that is attached to a robot's wrist,
allowing the robot to interact with its task.
ØActuators: a device that converts energy into physical motion. Can be
referred to “muscles” of the manipulators. Common types are
servomotors, stepper motors, pneumatic actuators, and hydraulic
actuators.
ØSensors: Electro-mechanical components that allow the robot to react
to its environment.
ØController: The controller receives its data from the processor (the
brain of the system), controls the motions of the actuators, and
coordinates the motions with the sensory feedback information.
Robot Components
ØProcessor: The processor can be referred to as the “brain” of the robot.
It calculates the motions of the robot's joints based on the programs it
runs, determines how much and how fast each joint must move to
achieve the desired location and speeds, and oversees the coordinated
actions of the controller and the sensors. The processor is generally a
computer, which works like all other computers but is dedicated to this
purpose.
Ø In some systems, the controller and the processor are integrated
.
Feedback
System
Robot Control System
Robot Coordinates
Robot configurations generally follow the common coordinate frames
with which they are defined. Prismatic joints are denoted by P, revolute
joints are denoted by R, and spherical joints are denoted by S. The
following configurations are common for positioning the hand of the
robot:
ØCartesian/Rectangular (3P): 3 Prismatic movements to position the end
effector.
ØCylindrical (R2P/PRP): 1 Rotary, 2 prismatic movements (as in cylindrical
coordinate system (", $, %))
ØSpherical (2RP/P2R): 2 Rotary, 1 prismatic movements (", $, ϕ)
ØArticulated / Anthropomorphic (3R): 3 Rotary movements. Similar to
human arm. The most common configuration for industrial robots.
ØSelective Compliance Assembly Robot Arm (SCARA): Two (or three)
revolute joints that are parallel and allow the robot to move in a
horizontal plane, plus an additional prismatic joint that moves
vertically.
ØParallel robots: Multiple series of links and joints ending at the same
position.
Cartesian Robot
Cartesian Robot
Cylindrical Robot
Spherical Robot
Articulated Robot
SCARA Robot
Parallel Robot
) = { !"#, "`%!&'( }
Changing Descriptions from Frame to Frame: Translation
Translated frames [1]
A position is defined
in frame {B} by the
vector "`#. We wish
to express this point
in space in terms of
frame {A}, when {A}
has the same
orientation as {B}. In
this case, {B} differs
from {A} only by a
translation, which is
given by $`#"%&' .
Because both vectors are defined relative to frames of the same
orientation, we calculate the description of point P relative to {A}, $`#, by
vector addition:
$ " $
`# = `# + `#"%&'
Changing Descriptions from Frame to Frame: Rotation
[1]
Rotated frames
While describing an orientation by three
unit vectors denoting the principal axes of
a body-attached coordinate system, a
rotation matrix !"# was found as follows.
! &+
`'"
" "& "& ") ! &+
!# = `'! `(! `*! = `("
! )+
`*"
In order to calculate "`,, we note that the
components of any vector are simply the
projections of that vector onto the unit
directions of its frame. The projection is
calculated as the vector dot product. "
= !`'&" . !`,
`-.
Thus, we see that the components of "`, "
`-0 = !`(&" . !`,
may be calculated as: "
`-1 = !`*)" . !`,
Changing Descriptions from Frame to Frame: Rotation
From matrix notations along with the description of orientation:
"
`# = %"&× %`#
i.e., description of an orientation can be changed from frame to frame by
pre-multiplication of the rotation matrix.
We will be using simplified notations for rotation matrix when frame {B}
is rotated about {A} about one of the three principal axes as follows.
Rotation about z axis
Frame {B} that is rotated relative to frame {A} about z axis by an angle ( .
Here, z is pointing out of the page.
"
%& = &)* +, ( = &- (()
[1]
Solution:
The transformation matrix is given by:
#
#
'/ = 01 30° `&'345
0 0 0 1
cos30° −sin30° 00 10
= sin30° cos30° 0 5
0 0 1 0
0 0 0 1
0.866 −0.5 00 10
= 0.5 0.866 0 5
0 0 1 0
0 0 0 1 [1] Images from: Introduction to Robotics Mechanics and Control 3E; John J.Craig
Changing Descriptions from Frame to Frame: General
Given:
3
"
`# = 7
0
Considering the 4×1 matrix form of vectors,
+
`# = "+,× "`#
*
)+ =
Forward and Inverse Kinematics: Cylindrical Robot
A fixed frame {A} and a moving frame ( )(*
)&
{B} was coincident initially. Frame {B}
'$*
has been moved by a cylindrical
robot from origin of frame {A} to %$*
point P. A cylindrical coordinate
system includes two linear
translations and one rotation. The
sequence is a translation of ! along '$&
the x-axis, a rotation of " about the
z-axis, and a translation of # along the
z-axis. Since these transformations
are all relative to the Universe frame,
the total transformation caused by
these three transformations is found
by pre-multiplying by each matrix, as %$&
follows:
&
*+
Forward and Inverse Kinematics: Cylindrical Robot
1 0 0 0 cos" −sin" 0 0 1 0 0 7
+
, = 0 1 0 0 × sin" cos" 0 0 × 0 1 0 0
* 0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
cos" −sin" 000.0 7cos"
∴ *+, = ,9:; (7, ", 0) = sin" cos" 00.00 7sin"
0 0 1 0
0 0 0 1
The first three columns represent the orientation of the frame after this
series of transformations. However, at this point we are only interested in
the position of the origin of the frame, or the last column.
[If you are interested, you may restore the original orientation of the
frame by rotating the {B} frame about its z-axis by an angle of −", which
is equivalent to post-multiplying the cylindrical coordinate matrix by a
rotation matrix of #$% &, −" and yield () as the rotation matrix.]
Forward and Inverse Kinematics: Cylindrical Robot
For inverse kinematic equations, we equate the position terms to the
desired values. i.e.,
!cos% = '( [Note that determining the quadrant is
!sin% = '+ required. It is done by looking at the
signs (positive or negative) of sin% and
, = '-
cos%, or '( and '+ .]
Example 4:
Suppose we desire to place the origin of the hand frame of a cylindrical
robot at [−5 4 6]5 . Calculate the joint variables of the robot.
Solution: Given,
−5
6= 4
6
Using the equations of cylindrical robot, we get
,=6
!cos% = −5, !sin% = 4; Second quadrant
A
∴ % = 180° − tan?@ = 141.3°
B
Substituting % into either of the equation yields ! = 6.4
Forward and Inverse Kinematics: Spherical Robot
A fixed frame {A} and a moving frame )(&
{B} was coincident initially. Frame {B} )(*
has been moved by a spherical robot
from origin of frame {A} to point P. A '$*
spherical coordinate system consists
of one linear motion and two %$*
rotations. The sequence we study
here is a translation of ! along the
z-axis, a rotation of " about the y-axis, '$&
and a rotation of # about the z-axis.
Since these transformations are all
relative to the Universe frame, the
total transformation caused by these
three transformations is found by
pre-multiplying by each matrix, as
%$&
follows:
&
*+ =
Any other sequence would yield other transformation matrix.
Forward and Inverse Kinematics: Spherical Robot
cos( −sin( 0 0 cos% 0 sin% 0 1 0 0 0
/ sin( cos( 0 0 0 1 0.00 0 × 0 1 0 0
0 = ×
.
0 0 1 0 −sin% 0 cos% 0 0 0 1 !
0 0 0 1 0 0 0.00 1 0 0 0 1
cos%cos( −sin( sin%cos( !sin%cos(
cos%sin( cos( sin%sin( !sin%sin(
∴ ./0 = 0789 (!, %, () =
−sin% 0 cos% !cos%
0 0 0000 1
The first three columns represent the orientation of the frame, while the
last column is the position of the origin. Here, too, the original
orientation of the final frame may be restored to make it parallel to the
reference frame, but we are not concerned about it. Now, the inverse
kinematic equations:
!sin%cos( = *+
!sin%sin( = *,
!cos% = *-
Forward and Inverse Kinematics: Spherical Robot
Example 5:
Suppose we desire to place the origin of the hand frame of a spherical
robot at [5 4 6]& . Calculate the joint variables of the robot.
Solution:
5
Given, / = 4
6
Using the equations of spherical robot, we get:
1sin*cos. = 5 … … (1)
1sin*sin. = 4 … … (2)
1cos* = 6 … … (3)
From (3), we determine that cos* is positive, so * is in first or fourth
quadrant. Though there are no independent values for sin*, sin. and
cos., we are sure that cos. and sin. have the same sign from (1) and (2).
So, . is either in first or in third quadrant.
Forward and Inverse Kinematics: Spherical Robot
!sin%cos( = 5 … (1)
!sin%sin( = 4 … (2)
!cos% = 6 … (3)
2 ÷ 1 : 567( = 485 ; ∴ ( = 38.7° ?! 218.7°
∴ sin( = 0.625 ?! − 0.625
and cos( = 0.781 ?! − 0.781
2 : !sin% = 480.625 = 6.4 ?! − 6.4 … … 4
4 ÷ 3 : tan% = 1.067 ?! − 1.067
∴ % = 46.8° ?! − 46.8°
3 : ! = 8.77
You may check both answers and verify that they both satisfy all position
equations. If you also follow these angles about the given axes in 3D, you
get to the same point physically. But these two answers result in the
same position, but at different orientations. So, the orientation terms in
the transformation matrix will be different for the two answers. Since we
are not concerned with the orientation of the hand frame at this point,
both position answers are correct.
What more to explore…
Ø Orientation of 3-DOF cylindrical and spherical robots
Ø Forward and inverse kinematics of articulated robots
Ø Forward and inverse kinematics of 6-DOF robots
Ø Robot kinematics with screw-based mechanics
Ø Kinematic analysis of parallel robots
Ø And many more ...