[go: up one dir, main page]

0% found this document useful (0 votes)
10 views66 pages

5. Robotics

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 66

ME 165

Basic Mechanical Engineering

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.

ØRobotics is the art, knowledgebase, and the know-how of


designing, applying, and using robots in human endeavors.

ØSituations to promote the use of robots:


vHazardous environment for humans
vRepetitive work cycle
vDifficult handling for humans
vMulti-shift operations
vInfrequent changeovers
Robots: Advantages
ØRobotics and automation can, in many situations, increase productivity,
safety, efficiency, quality, and consistency of products.
ØRobots can work in hazardous environments (such as radiation,
darkness, hot and cold, ocean bottoms, space, and so on) without the
need for life support, comfort, or concern for safety.
ØRobots need no environmental comfort like lighting, air conditioning,
ventilation and noise protection.
ØRobots work continuously without tiring or fatigue or boredom.
ØRobots have repeatable precision at all times unless something
happens to them, or unless they wear out.
ØRobots can be much more accurate than humans.
ØRobots and their accessories and sensors can have capabilities beyond
those of humans.
ØRobots can process multiple stimuli or tasks simultaneously.
© Saeed B. Niku; Introduction to Robotics 3E
Robots: Disadvantages
ØRobots replace human workers, causing economic hardship,
worker dissatisfaction and resentment, and the need for
retraining the replaced workforce.
ØRobots lack the capability to respond in emergencies, unless the
situation is predicted and the response is included in the system.
ØSafety measures are needed to ensure that they do not injure
operators and other machines that are working with them
ØRobots have limited capabilities in cognition, creativity, decision
making, and understanding.
ØRobots are costly due to: Initial cost of equipment and
installation, need for integration into the manufacturing
processes, need for programming, etc.

© Saeed B. Niku; Introduction to Robotics 3E


Robot Applications

ØIndustrial Applications:
vMaterial handling
vProcessing operations
vAssembly and inspection

ØField Applications: Robots are deployed in areas where human


being could not survive or be exposed to unsustainable risks.

ØService Applications: Robots are used in civil applications such as


intelligent transportations, patient rehabilitation system, medical
applications, domestic aid, entertainments etc.
Some Robots

Sojourner rover, deployed by


Pathfinder in 1997 by NASA Asimo by Honda
Landed on Mars
Some Robots

Sophia: Imitates human


gestures and facial
expressions and is able
to answer certain
MIT’s Kismet: A robot that exhibits
questions and to make
expressions e.g., happy, sad, surprise, simple conversations on
disgust. predefined topics
Some Robots

Various facial expressions of MIT’s Kismet.


Robot Classification
ØRobots can be classified as:
vRobots with fixed base (often called robot manipulators)
vRobots with mobile base (mobile robot)
ØMobile robots are classified as:
vWheeled mobile robots
vLegged mobile robots
ØFixed base robots are classified based upon different criteria.

Degrees of freedom of a robot


The degrees of freedom of a rigid body is defined its total number
of independent movements. Each joint or axis on the robot
introduces a degree of freedom. The number of DOF is:
§ Different ways in which a robot arm can move
§ In robotics, DOF = number of independently driven joints
§ 3D Space = 6 DOF (3 position + 3 orientation)
Robot Manipulators: 6 DOF Robot

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
.

together into a single unit.


ØSoftware: Three groups of software programs are used in a robot.
§ The operating system operates the processor.
§ Robotic software calculates the necessary motions of each joint
based on the kinematic equations of the robot.
§ A collection of application-oriented routines and programs are
developed in order to use the robot or its peripherals for specific
tasks, such as assembly, machine loading, material handling, and so
on.
Robot Manipulators: Links and Joints
ØManipulators are composed of an assembly of links and joints.
Links are defined as the rigid sections that make up the
mechanism and joints are defined as the connection between
two links.
Types of Joint
ØJoints allow restricted relative motion between two links. The
following table describes five types of joints.
Types of Joint
Robot Control System
ØRobot control can be of following types based on feedback system.
§ Open loop control: Signal is sent based on current state without taking
into account feedback from the system
§ Closed loop control: Feedback is taken from the system and signal is
sent accordingly.
§ Hybrid control: consists of open loop and closed loop chains.
Open loop Command
Controller
Control
Actuator
Physical Process/
control: input signal movement Robot

Closed loop Command


Controller
Control
Actuator
Physical Process/
control: input signal movement Robot

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

An Omron-Adept Hornet-565 parallel robot.

Images from: Introduction to Robotics 3E; Saeed B. Niku


Robot End Effectors
End-effectors are the tools attached to the end of the robot arm that enable it to
do useful work. Typically, the end-effectors must be purchased or designed
separately. Also called end-of-arm-tooling, end-effectors are usually attached to
the robot tool plate (after the last wrist joint). Like robots themselves, end-
effectors require a power source, often electric or pneumatic.
Grippers:
Grippers are the most common end-effectors. They allow the robot to grasp
necessary parts and manipulate them.
vMechanical grippers: consisting of two or more fingers that can be actuated by
the robot controller to open and close to grasp the work-piece.
vVacuum grippers: such cups are used to hold flat objects.
vMagnetized devices: for holding ferrous work-pieces.
vAdhesive devices: where adhesive substances are used to hold flexible
materials like fabric.
vSimple mechanical devices: such as hooks, nails and scoops.
Robot End Effectors

Various types of grippers


Robot End Effectors

A very common mechanical gripper consisting of two ‘fingers’


Robot End Effectors

A mechanical gripper made by imitating human hand. Still far to be developed


completely to grab any types of objects. Not used in industries
Robot End Effectors

Machine Tools: Robot end-effectors can also be machine tools such as


drills, grinding wheels, cutting wheels etc.
Laser and Water Jet Cutters: Laser and water jet cutters are robot end-
effectors that use high-intensity laser beams or high pressure abrasive
water jets to cut sheet metal or fiberglass parts to shape.
Spray Painting Tools: Automatic spray painting is a useful application for
robots, in the automotive and other industries.
Measuring Instruments: Measuring instruments are end-effectors that
allow the robot to precisely measure parts by running the arm lightly
over the part using a measuring probe or gauge.
Robot Programming Modes
ØPhysical setup: An operator sets up switches and hard stops that
control the motion. This mode is usually used along with other devices
such as programmable logic controllers (PLCs).
ØTeach Programming: Move the robot to required task positions via
teach pendant; computer memorizes these configurations and plays
them back in robot motion sequence. The teach pendant is a controller
box that allows the human operator to position the robot by
manipulating the buttons on the box. This type of control is adequate
for simple, non-intelligent tasks.
ØLead-Through Programming: The human operator physically grabs the
end-effector and shows the robot exactly what motions to make for a
task, while the computer memorizes the motions (memorizing the joint
positions, lengths, and/or angles, to be played back during the task
execution).
ØSoftware mode: A program is written which is then executed by the
controller to control the motion of the robot.
Robot Specifications
ØPayload: This is the weight a robot can carry remaining within its other
specifications. As an example, a robot's maximum load capacity may be
much larger than its specified payload, but at these levels, it may
become less accurate, may not follow its intended path (trajectory)
accurately, or may have excessive deflections.
ØReach: This is the maximum distance a robot can reach within its work
envelope. It is a function of the robot's joints and lengths of its linkages
and its configuration. This is an important specification for industrial
robots and must be considered before a robot is selected and installed.
ØSpeed: Speed is the amount of distance per unit time at which the
robot can move, usually specified in inches per second or meters per
second. The speed is usually specified at a specific load or assuming
that the robot is carrying a fixed weight. Actual speed may vary
depending upon the weight carried by the robot.
Robot Specifications
ØAccuracy: Accuracy is the ability of a robot to go to the specified
position without making a mistake. It is impossible to position a
machine exactly. Accuracy is therefore defined as the ability of the
robot to position itself to the desired location with the minimal error.
ØRepeatability: Repeatability is the ability of a robot to repeatedly
position itself when asked to perform a task multiple times.
Ø Accuracy is an absolute concept, repeatability is relative. Note that a
.

robot that is repeatable may not be very accurate. Similarly, an


accurate robot may not be repeatable.

Image from: xeryon.com/


Robot Motion
Characteristics
Descriptions: Positions, Orientations, and Frames
A description is used to specify attributes of various objects with which a
manipulation system deals. These objects are parts, tools, and the
manipulator itself.
[1]
Description of a position
Once a coordinate system is established,
we can locate any point in the universe
with a three-dimensional position vector
or 3 x 1 matrix.
Any point P in the universe can be
represented as a vector or matrix in a
coordinate system {A} as below.
" $ $ (
`# = +, %" + +. '" + +/ )" Here,
Or in matrix format: "
`# means position of point P
+, described with coordinate system {A}.
" +.
`# =
+/ %$" , '$" and )(" are unit vectors along
the axes of coordinate system {A}.
Descriptions: Positions, Orientations, and Frames
Description of an orientation [1]

Often, it is necessary not only to represent


a point in space but also to describe the
orientation of a body in space. For example,
if vector ." # locates the point directly
between the fingertips of a manipulator's
hand, the complete location of the hand is
still not specified until its orientation is also
given. Assuming that the manipulator has a
sufficient number of joints, the hand could
be oriented arbitrarily while keeping the
point between the fingertips at the same
position in space.
In order to describe the orientation of a body, we will attach a coordinate
system {B} to the body in a known way and then give a description of this
coordinate system relative to the reference system. A description of {B}
relative to {A} now suffices to give the orientation of the body.
Descriptions: Positions, Orientations, and Frames
[1]
Ø One way to describe {B} is to
write the unit vectors of its
three principal axes in terms
of the coordinate system {A}.
Ø We denote the unit vectors
giving the principal directions
of coordinate system {B} as
"!# , %!# and '&# . When written in
terms of coordinate system
{A}, they are called )`"!# , )`"!#
and )`'&# .
Ø These unit vectors are written ) )! )! )&
#* = `"# `%# `'#
in three columns of a matrix
and called as rotation matrix )! ! )! ! )& !
`"# . ") `%# . ") `'# . ")
of {B} with respect to {A}. )! ! )! ! )& !
= `"# . %) `%# . %) `'# . %)
)! & )! & )& &
`"# . ') `%# . ') `'# . ')
Descriptions: Positions, Orientations, and Frames
Ø The dot product of two unit " "& "& ")
!# = `'! `(! `*!
vectors yields the cosine of the
angle between them, so it is "&
' . &
' "& &
( . ' ") &
`*! . '"
clear why the components of ` ! " ` ! "
rotation matrices are often = "`'&! . (&" "`(&! . (&" "`*)! . (&"
referred to as direction "& ) "& ) ") )
` '! . *" ` (! . *" `*! . *"
cosines.
'&! . !`'&" (&! . !`'&" *)! . !`'&"
Ø Cosine angles between unit
vectors are irrespective of = '&! . !`(&" (&! . !`(&" *)! . !`(&"
frame in which they are '&! . !`*)" (&! . !`*)" *)! . !`*)"
described. So, the equations ! &,
`'"
written at the right columns ! &, !& !& !) , ! ,
= (
` " = '
` " (
` " *
` " = "#
are valid. ! ),
Ø The inverse description i.e., `*"
rotation matrix of {A} relative
to {B} is the inverse of !"#. ∴ !"# = !"#./ = !"#,
Descriptions: Positions, Orientations, and Frames
[1]
Description of a frame
The information needed to completely
specify the whereabouts of the
manipulator hand is a position and an
orientation. The situation of a position
and an orientation pair arises so often
in robotics that we define an entity
called a frame, which is a set of four
vectors: one vector locates the fingertip
position and three more describe its
orientation. Frame {B} is described by
"
!# (rotation matrix of {B} relative to
{A}) and "`%!&'( (a vector that locates
the origin of frame {B}).

) = { !"#, "`%!&'( }
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]

Recall that the components of %"& are the


cosine of angles between the unit vectors
along the principal axes.
cos( −sin( 0
&- ( = &)* +, ( = sin( cos( 0 (
0 0 1
Changing Descriptions from Frame to Frame: Rotation

We have found, for ! angle rotation about z axis:


cos! −sin! 0
#
"$ = $& ! = $'( ), ! = sin! cos! 0
0 0 1

Similarly, for ! angle rotation about x axis:


1 0 0
#
"$ = $3 ! = $'( 4, ! = 0 cos! −sin!
0 sin! cos!

And for ! angle rotation about y axis:


cos! 0 sin!
#
"$ = $5 ! = $'( 6, ! = 0 1 0
−sin! 0 cos!
Changing Descriptions from Frame to Frame: Rotation
[1]
Example 1:
A frame {B} that is rotated relative to
frame {A} about z axis by 30 degrees.
Here, z axis is pointing out of the page. A
point P is defined in frame {B} as [0 2 0]T.
Find the description of P relative to {A}.
Solution:
As {B} is rotated relative to {A} about z
30°
axis by 30 degrees,
cos30° −sin30° 0 0.866 −0.5 0
%
$& = &( 30° = sin30° cos30° 0 = 0.5 0.866 0
0 0 1 0 0 1
Given:
0 0.866 −0.5 0 0 −1
$
`5 = 2
% $
∴ `5 = $%&× `5 = 0.5 0.866 0 × 2 = 1.732
0 0 0 1 0 0
Changing Descriptions from Frame to Frame: General [1]

Consider the general


case of mapping. Here,
the origin of frame {B}
is not coincident with
that of frame {A} but
has a general vector
offset. Also {B} is
rotated with respect
to {A}.

We can first change "`# to its description relative to an intermediate


frame that has the same orientation as {A}, but whose origin is coincident
with the origin of {B}. This is done by pre-multiplying by "$%. We then
account for the translation between origins by simple vector addition and
obtain:
$
`# = "$%× "`# + $`#")*+
Changing Descriptions from Frame to Frame: General
We like to change the form of equation
"
`# = %"&× %`# + "`#%)*+
into the following form:
"
= %",× %`#
`#
by defining a 4×4 matrix operator and use 4×1 position vectors. The
final structure is as below.
Changing Descriptions from Frame to Frame: General
Example 2:
A frame {B} is rotated relative to frame {A} about z axis by 30 degrees,
translated 10 units in "!# , and translated 5 units in $!# . Find #`& if
' .
`& = [3 7 0] .
[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,
+
`# = "+,× "`#

0.866 −0.5 00 10 3 9.098


= 0.5 0.866 0 5 × 7 = 12.562
0 0 1 0 0 0
0 0 0 1 1 1
Again, considering the 3×1 matrix form of vectors,
9.098
+
`# = 12.562
0
Kinematic Analysis
From the general transformation matrix, we form the 4×4 translation
and rotation matrices and use them to track where a point P moves in
space by rotation or translation of joints of a robot.
In case of pure translation, as there is no rotation, the rotation matrix is
unity. So, the transformation matrix in case of pure translation is:
1 0 0 +,
$
% = %'()* + , + , + = 0 1 0 +.
# , . /
0 0 1 +/
0 0 0 1
And in case of pure rotation about any of the axes, the matrices
Rot 5, 6 , Rot 7, 6 , or Rot 8, 6 are transformed into 4×4 matrices by
adding an extra column and row. For example, for rotation about 8 axis:
cos6 −sin6 0 0
$
% = 9 6 = Rot 8, 6 = sin6 cos6 0 0
# / 0 0 1 0
0 0 0 1
Now, for kinematics analysis, we will pre-multiply the corresponding 4×4
matrix for each kind of transformation.
Forward and Inverse Kinematics

Ø If we have a robot whose configuration is known i.e., all the link


lengths and joint angles are known. Calculating the position and
orientation of the hand of the robot is called forward kinematic
analysis.

Ø If we want to place the hand of the robot at a desired location and


orientation, we need to know how much each link length or joint
angle must be such that at those values the hand will be at the desired
position and orientation. This is called inverse kinematic analysis.

Ø In reality, the inverse kinematic analysis is far more important to


enable the robot controller to calculate the joint values using these
equations and to run the robot to the desired position and
orientation.
Forward and Inverse Kinematics: Cartesian Robot
Suppose, a fixed frame {A} and a moving frame {B} was coincident
initially. Frame {B} has been moved by a cartesian robot from origin of
frame {A} to point P. In cartesian robot, the transformation matrix
representing this motion to point P is a simple translation matrix.
1 0 0 12
*
+ = + (1 , 1 , 1 )= 0 1 0 14
) ,-./ 2 4 5
0 0 1 15
Example 3: 0 0 0 1
We desire to position the origin of the hand frame of a Cartesian robot at
point ! = [5 4 6]( . Calculate the necessary Cartesian coordinate motions
that need to be made.
Solution:
Setting the forward kinematic equation, represented by the )*+ matrix,
equal to the desired position yields:

*
)+ =
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 ...

Videos that may be helpful


Understanding Open loop and closed loop system:
https://www.youtube.com/watch?v=f32SDx3C6sA
Understanding Teach pendant and lead-through programming:
https://www.youtube.com/watch?v=EA6pWwNI_wg
And many more on kinematics of robot
Solved problem: 1
A point ! = [7 3 2]( is attached to a reference frame and is subjected to the
following transformations:
Rotation of 90° about z-axis,
Followed by a rotation of 90° about y-axis,
Followed by a translation of (4, -3, 7).
Find the coordinates to the point relative to the reference frame at the end of the
transformations.
Solution:
Let, frame {B} is initially coincident with fixed frame {A} and moves with point P
during the transformations.
Now, -`! = [7 3 2](
The required transformation matrix is:
.
-/ = /0123(4, −3,7)×:;< =, 90 ×:;< >, 90
. -
`!
= .
-/× `! = /0123(4, −3,7)×:;< =, 90 ×:;< >, 90 × -`!
1 0 0 4 0 0 1 0 0 −1 0 0 7 6
= 0 1 00 −3 × 0 1 0 0 × 1 0 0 0 × 3 = 4
0 0 1 7 −1 0 0 0 0 0 1 0 2 10
0 0 0 1 0 0 0 1 0 0 0 1 1 1
6
∴ .`! = 4
10
Solved problem: 2
A point ! = [7 3 2]( is attached to a reference frame and is subjected to the
following transformations:
Rotation of 90° about z-axis,
Followed by a translation of (4, -3, 7),
Followed by a rotation of 90° about y-axis.
Find the coordinates to the point relative to the reference frame at the end of the
transformations.
Solution:
Let, frame {B} is initially coincident with fixed frame {A} and moves with point P
during the transformations.
Now, -`! = [7 3 2](
The required transformation matrix is:
.
-/ = 012 3, 90 ×/6789(4, −3,7)×012 >, 90
.
`! = -./× -`! = 012 3, 90 ×/6789 4, −3,7 ×012 >, 90 × -`!
0 0 1 0 1 0 0 4 0 −1 0 0 7 9
= 0 1 0 0 × 0 1 00 −3 × 1 0 0 0 × 3 = 4
−1 0 0 0 0 0 1 7 0 0 1 0 2 −1
0 0 0 1 0 0 0 1 0 0 0 1 1 1
9
∴ .`! = 4
−1
Solved problem: 3
A point ! = [7 3 2]( is attached to a reference frame and is subjected to the
following transformations:
Rotation of 90° about y-axis,
Followed by a translation of (4, -3, 7),
Followed by a rotation of 90° about z-axis.
Find the coordinates to the point relative to the reference frame at the end of the
transformations.
Solution:
Let, frame {B} is initially coincident with fixed frame {A} and moves with point P
during the transformations.
Now, -`! = [7 3 2](
The required transformation matrix is:
.
-/ = 012 3, 90 ×/6789(4, −3,7)×012 >, 90
.
`! = -./× -`! = 012 3, 90 ×/6789(4, −3,7)×012 >, 90 × -`!
0 −1 0 0 1 0 0 4 0 0 1 0 7 0
= 1 0 0 0 × 0 1 00 −3 × 0 1 0 0 × 3 = 6
0 0 1 0 0 0 1 7 −1 0 0 0 2 0
0 0 0 1 0 0 0 1 0 0 0 1 1 1
0
∴ .`! = 6
0
Solved problem: 4
A point ! = [4 0 4]' is attached to a reference frame and is subjected to the
following transformations:
Rotation about y-axis,
Followed by a translation along x-axis.
Followed by a rotation about z-axis
If the coordinate to the point relative to the reference frame at the end of the
transformations is [6 6 3]', find the possible sets of transformation variables.
Solution:
Let, frame {B} is initially coincident with fixed frame {A} and moves with point P
during the transformations.
Now, after the transformations, +`! = [4 0 4]' and ,`! = [6 6 3]'
Also let,
The rotation angle about x axis is -,
The translation along x axis is r units, and
The rotation angle about z axis is ..
The required transformation matrix is:
,
+/ = 012 3, . ×/6789(6, 0,0)×012 <, -
Solved problem: 4
"
!#= %&' (, * ×#,-./(,, 0,0)×%&' 3, 4
cos* −sin* 0 0 1 0 0 , cos4 0 sin4 0
sin* cos* 0 0 0 1 00.0
= × 0 1 0 0 × 0
0 0 1 0 0 0 1 0 −sin4 0 cos4 0
0 0 0 1 0 0 0 1 0 0 00.0 1
cos* −sin* 0 0 cos4 0 sin4 ,
sin* cos* 0 0 0 1 00.0 0
= ×
0 0 1 0 −sin4 0 cos4 0
0 0 0 1 0 0 00.0 1
cos*cos4 −sin* cos*sin4 ,cos*
sin*cos4 cos* sin*sin4 ,sin*
=
−sin4 0 cos4 0000
0 0 0000000 1
cos*cos4 −sin* cos*sin4 ,cos* 4
sin*cos4 cos* sin*sin4 ,sin* 0
Now, "`> = !"#× !`> = ×
−sin4 0 cos4 0000 4
0 0 0000000 1 1
Solved problem: 4
4cos%cos& + 4cos%sin& + *cos% 6 … … (1)
4sin%cos& + 4sin%sin& + *sin% 6 … … (2)
Or, =
−4sin& + 4cos& 3 … … (3)
1 1 .
2 ÷ 1 ⇒ tan% = 1; ∴ % = 45° =* 225°
3 ⇒ −4sin& + 4cos& = 3; ∴ & = 12.97° =* 257.03°
For % = 45° and & = 12.97°:
1 ⇒ 1× 4×0.974 + 4×0.224 + * = 6; ∴ * = 1.204
For % = 45° and & = 257.03°:
1 ⇒ 1× 4×(−0.224) + 4×(−0.974) + * = 6; ∴ * = 10.792
For % = 225°and & = 12.97°:
1 ⇒ −1× 4×0.974 + 4×0.224 + * = 6; ∴ * = −10.792
For % = 225°and & = 257.03°:
1 ⇒ −1× 4×(−0.224) + 4×(−0.974) + * = 6; ∴ * = −1.204
As * is always taken as positive, the possible sets of solutions are:
&, *, % = 12.97°, 1.204,45° , 257.03°, 10.792,45°

You might also like