ED 5315:
FIELD AND SERVICE ROBOTICS
Chapter 1: Introduction
Dr. T. Asokan
asok@iitm.ac.in
Robots Every where
Dr. T. Asokan
NASA's Mars rover Curiosity lands
NASA's Mars rover Curiosity
Autonomous cars
IITM robots
Robots
• Why do we need them?
• How do they move?
• How do they know their positon,
surroundings?
• How do they avoid obstacles?
• How do they take decisions?
• How do they get their intelligence?
• …………………………………….
Will Robots Take Over The World?
What are the Challenges in Realising Fully
Autonomous, Human-Friendly Robots?
Objective:
The objective of this course is to introduce the kinematics, dynamics, control, and
applications of field and service robots such as ground, underwater, aerial and
medical robots.
Learning Outcomes
By the end of the course it is expected that the students will be able to:
• Understand and appreciate different kinds of field and service robots and their applications
• Learn how to model and simulate the kinematics and dynamics of autonomous field and service robots
• Learn the basics of designing few robots for field and service applications.
• Understand and Appreciate the challenges in the design and development of autonomous robots
Syllabus:
Field and service robots: Classification, applications
sensing and perception: General robot control , sensors, sensor
characteristics, sensor uncertainty, sensor fusion,
Localisation and Mapping: Mobile robot localisation, autonomous map
building, SLAM, EKF SLAM
Autonomous Mobile robots: Kinematics, locomotion, perception, motion
planning and control, localization and mapping; Intelligent unmanned
vehicles.
Underwater robots: Kinematics and dynamics, modeling and simulation,
navigation, guidance and control.
Aerial robots: Basics of aerial robots, modelling and control of small
Unmanned Aerial vehicles, guidance and navigation of small range aerial
robots, Autonomous indoor flight control.
Medical Robots: Tele-operated surgical robots, haptics for tele-operation,
design and control
Text Books:
R Siegwart, I. R. Nourobakhsh, Introduction to Mobile robotics, MIT Press,
Cambridge, 2004. TJ211.415.S54 2004
Jacob Rosen, Blake Hannaford, Richard M. Satava (Eds), Surgical Robotics:
Systems, Applications and Vision, Springer, 2011. ISBN 978-1-4419-1125-4
G. Antonelli: Underwater Robots, 2nd Edition, Springer-Verlag, Berlin Heidelberg,
2006
Kenzo Nonami, Farid Kendoul, Satoshi Suzuki, Wei Wang, Daisuke
Nakazawa, Autonomous Flying Robots: Unmanned Aerial Vehicles and Micro
Aerial Vehicles, Springer, 2010.
References
1. Ollero, Aníbal; Maza, Iván (Eds.) Multiple
Heterogeneous Unmanned Aerial Vehicles,:
Springer Tracts in Advanced Robotics, Vol. 37
2007, ISBN: 978-3-540-73957-9
2. B Scicilliano, O Khatib (Eds), Handbook
of Robotics, Springer, 2008
GRADING
• Assignments/homeworks : 3 (3x5=15 marks)
• Quiz : 2 (2x15=30 marks)
• Seminar : 1 (10 marks)-Research Paper
review
• End Sem. Exam : 1 (45 marks)
Moodle will be used for all communications.
Submission of assignments/reports etc. only through
moodle.
Lectures (Part I)
• Introduction to Robotics- Classification,
Application, General requirements
• Review of basic mathematical foundations
• Sensing and perception
• Localisation and Mapping
Robotics
Robotics can be a hobby, a science fiction genre, a
scientific/engineering discipline, or an industrial technology.
As a sometimes controversial subject, it is often
misrepresented in the popular media, by advocates and
opponents. No single definition is going to satisfy such a
variety of perspectives and interests.
A robot is a software controlled mechanical device that uses
sensors to guide one or more of end effectors through
programmed motions in a workspace in order to manipulate
physical objects.
Robotics is the intelligent connection of perception
to action
History
Dr. T. Asokan
The Laws of Robotics (according to the Handbook of Robotics, or
more precisely, Isaac Asimov):
A robot may not injure humanity or, through inaction, allow
humanity to come to harm. (This was added after the initial
three laws.)
1 A robot may not injure a human being, or, through inaction, allow a
human being to come to harm.
2 A robot must obey the orders given to it by human beings except where
such orders would conflict with the First Law.
3 A robot must protect its own existence as long as such protection does
not conflict with the First or Second Law.
Dr. T. Asokan
Evolution of Robotics Research
Manipulators
Introduction to Robotics 21
Industrial robots
Introduction to Robotics 22
Mobile robots
Introduction to Robotics 26
Underwater Robots
Introduction to Robotics 27
Medical Robots
Introduction to Robotics 28
Educational/Entertainment Robots
Introduction to Robotics 29
Domestic Robots
Introduction to Robotics 30
Humanoids/ Exoskeletons
Introduction to Robotics 31
Introduction to Robotics 32
Reading Assignment
2. 10 biggest challenges in Robotics
3. Robotics a the intersection of technology and humanity
Based on these three articles, Prepare a one-page write-up on your
vision on the future of robotics
(best report will get a surprise award)
II. What is Robotics all about?
• Robots interact with the physical world with physical
actions.
• Programming a robot is significantly different from
conventional computer programming
• This important distinction leads to the following
preferred definition of robotics:
Robotics is the intelligent connection of perception to
action.
Introduction to Robotics 34
II. What is Robotics all about?
Contd….
We can realize this connection through the following
sequence of processes:
* Modeling programming
* Planning
* Measurement (sensing)
* Perception (responding) programming &
control
* Action
Introduction to Robotics 35
III. Hardware & Software Components of a Robot:
Hardware:
Mechanical Subsystem (arm, gripper, body and wheels, etc)
Electrical subsystem (motors, computers, ...)
Sensor Subsystem (camera, force sensor, …)
Software:
Modeling
Planning
Perception
Control
Simulation
The physical structure of a robot determines its working envelope, degrees of
freedom, and the geometry or spatial configuration of its movement.
Introduction to Robotics 36
IV. Topics in Robotics
• Kinematics: deals with the spatial locations and velocities of a robot end effectors and
its internal joints
Forward and Inverse kinematics
• Statics: analyzes the force/moment acting upon a robot when it is at rest.
• Dynamics: study the dynamic behavior of a robot, i.e., the relationship between the
driving torques and the motions of the robot.
• Trajectory Planning: determines a feasible and effective trajectory for a given path.
• Path Planning: determines a collision-free and effective path to accomplish a task.
• Trajectory Control: deals with how to servo a robot's actuators to make the robot
motion follow a desired trajectory.
• Sensing and Perception: obtain and reason about sensory information to acquire the
state of a robot and/or its task.
• Task Planning: determines the sequence of primitive actions for a higher level task
command (e.g., put the peg in hole) and the resources need.
• World Modeling: represent the knowledge about the robot, the task, and the
environment in the computer.
• Robot Programming: program the robot tasks in various levels. Sensor-based
programming.
• Simulation/Haptics: simulate physical movements and the tactile sensation associated
with physical interaction.
Introduction to Robotics 37
Some basics
Object Location and Motion
Contents:
Object location
- Position of a point in space
- Location of a rigid body in space
- Homogeneous transformation matrix
Object Motion
Translation (Transformation Matrix) and
Inverse
Basic Rotation (Transformation Matrices)
and Inverse.
General Rotation
Examples.
Properties of homogeneous transformation
matrix.
Examples.
Given an object in a physical world,
• how to describe its position and orientation, and
• how to describe its change of position and orientation due
to motion
are two basic issues we need to address before talking
about having a robot moving physical objects around.
The term location refers to the position and orientation of an
object.
Introduction to Robotics 41
Co-ordinate frames
If ‘p’ is a vector in Rn, and X={x1, x2, x3 .…xn} be a complete
orthonormal set of Rn, then the co-ordinates of p with respect to
X are denoted as [p]x
The complete orthonormal set X is sometimes called an
orthonormal co-ordinate frame.
The ‘k’th co-ordinate of p wrt X is
X2
[ p] p.x
x
k
k
[p]2x p
[p]1x X1
Introduction to Robotics 44
Co-ordinate Transformation
m
3
mf3
3 P P
Represent position of p wrt fixed
P m2
frame f={f1,f2,f3} m3
m2
m1
m2 f2 m1
m1
Fixed
link
f1 P
The two sets of co-ordinates of P are given by m3
m2
[p]M=[p.m1, p.m2, p.m3]
m1
[p]F=[p.f1, p.f2, p.f3]
The co-ordinate transformation problem is to find the co-
ordinates of p wrt F, given the co-ordinates of p wrt M.
Introduction to Robotics 45
Co-ordinate Transformation Matrix
Let F={f1, f2,f3,.. fn} and M={m1, m2,m3,.. mn } be co-ordinate
frames of Rn with F being an orthonormal frame. Then for
each point p in Rn,
[ p ] F A [ p ]M
where A is an nxn matrix defined by Akj f k . m j for 1 k, j n
The matrix A is known as Co-ordinate transformation
matrix. f3 P
f .m
1 1 1 2 1
f .m 3
f .m
m3
m2
A f 2 .m1 2
f .m 2
f 2 .m 3
f 3 .m1 f 3 .m 2 f 3 .m 3 m1 f2
f Fixed
Introduction to Robotics 46
1 link
Inverse Co-ordinate Transformation
Let F and M be two orthonormal co-ordinate frames in Rn, having the
same origin, and let A be the co-ordinate Transformation matrix that
maps M co-ordinates to F co-ordinates, then the transformation
matrix which maps F coordinates into M coordinates is given by A-1 ,
where
A-1=AT
Introduction to Robotics 47
Rotations
f3 m3
m2
In order to specify the position and
orientation of the mobile tool in terms of
a co-ordinate frame attached to the
fixed base, co-ordinate transformations m1
m3
involving both rotations and translations
are required.
m2 f2
m1 Rotation and Translation
of co-ordinate frame
f1
Introduction to Robotics 48
Fundamental rotations
f3
If the mobile coordinate frame is
obtained from the fixed coordinate frame m3’
F by rotating M about one of the unit m3
vectors of F, then the resulting coordinate m2’
transformation matrix is called a
fundamental rotation matrix. m2 f2
m1
In the space R3, there are 3 f1 m1’
possibilities.
f 1.m1' f 1.m 2 ' f 1.m 3' 1 0 0
R1 ( ) f 2 .m1' f 2 .m 2 ' f 2 .m 3' 0 f 2 .m 2 ' f 2 .m 3 '
f 3 .m1' f 3 .m 2' f 3 .m 3' 0 f 3 .m 2 ' f 3 .m 3'
1 0 0
0 cos( ) sin( )
0 sin( ) cos( )
Introduction to Robotics 49
f3
Fundamental rotations
1 0 0
R1 ( ) 0 cos( ) sin( ) m3’
m3
0 sin( ) cos( ) m2’
cos( ) 0 sin( ) m2 f2
R2 ( ) 0 1 0 m1’
m1
sin( ) 0 cos( )
f1
cos( ) sin( ) 0 The kth row and the kth column of Rk() are
R3 ( ) sin( ) cos( ) 0 column of identity matrix. In the
identical to the k th row and the k th
0 0 1 remaining 2x2 matrix, the diagonal terms
are cos( ) while the off diagonal terms
Pattern are sin( ) . The sign of the off diagonal
term above the diagonal is (-1)k.
Example
Introduction to Robotics 50
Composite Rotations
A Sequence of fundamental rotations about the unit
vectors cause composite rotations.
Algorithm for composite rotation
1. Initialise rotation matrix to R=I, which
corresponds to F and M being coincident
2. If the mobile frame M is rotated by an amount
about the kth unit vector of F, then pre-
multiply R by Rk(). -> [Rk().R]
3. If the mobile frame M is rotated by an amount
, about it’s own kth vector, then post-multiply
R by Rk(). -> [R . Rk()]
4. If there are more rotations go back to 2. The
resulting matrix maps M to F
Introduction to Robotics 51
Yaw-Pitch-Roll Transformation matrix
R( ) R3 ( 3 ) R2 ( 2 ) R1 (1 ) I
Roll
C2C3 S1S 2C3 C1S3 C1S 2C3 S1S3
YPR C2 S3 C1S 2 S3 S1C3
pitch
S1S 2 S3 C1C3
yaw
S 2 S1C2 C1C2
Example
Suppose we rotate tool about the fixed axes, starting with yaw
of p/2, followed by pitch of –p/2 and finally, a roll of p/2, what
is the resulting composite rotation matrix?
Suppose a point P at the tool tip has mobile co-ordinates [p]M=
[0,0,.6]T, Find [p]F following YPR transformation
Introduction to Robotics 52
Homogeneous co-ordinates
• We need pure rotations and translations to characterize the position and
orientation of a point relative to the co-ordinate frame attached to the base.
• While a rotation can be represented by a 3x3 matrix, it is not possible
to represent translation by the same.
• We need to move to a higher dimensional space, the four dimensional
space of homogeneous co-ordinates.
Definition: Let q be a point in R3, and let F be an orthonormal
coordinate frame of R3 . If s is any non zero scale factor, then the
homogeneous coordinates of q with respect to F are denoted as
[q]F and defined:F
[q ] [sq1 , sq2 , sq3 , s ]
In robotics we use s=1 for convenience
Introduction to Robotics 53
Homogeneous Transformation matrix
If a physical point in three-dimensional space is expressed in
terms of its homogeneous co-ordinates and we want to
change from one coordinate frame to another, we use a 4x4
homogeneous transformation matrix.
In general T is
R p
T T
s
The 3x3 matrix R is a rotation matrix
P is a 3x1 translation vector
is a perspective vector, set to zero
In terms of a robotic arm, P represents the position of the tool
tip, R its orientation.
Introduction to Robotics 54
• The fundamental operations of rotations and translations can each be
regarded as special cases of the general 4x4 homogeneous transformation
matrix.
0
R ( ) 0
Rot( , k ) k 1 k 3
0
0 0 0 1
Rot( , k) is the k th fundamental homogeneous rotation matrix
Using homogeneous coordinates, translations also can
be represented by 4x4 matrices.
In terms of homogeneous coordinate frames, the translation of
M can be represented by a 4x4 matrix, denoted Tran (p), where m2
1 0 0 p1 f3
0 1 0 p2
p
3
Tran( p ) m2
0 0 1 p3
p
2
0 0 0 1 f1
p
Tran (p) is known as the fundamental homogeneous m3
m1 1
Translation matrix Introduction to Robotics m2
f2
55
Inverse Homogeneous Transformation
If T be a homogeneous transformation matrix with rotation
R and translation p between two orthonormal coordinate
frames and if =0,s=1, then the inverse transformation is:
1 RT RT p
T
0 0 0 1
The three unit vectors n,s,a are
mutually perpendicular
Representation of Rigid body:
|n|=1
nx sx ax px
n |s|=1
y sy ay p y |a|=1
nz sz az pz n.a=0
n.s=0
0 0 0 1
a.s=0
Introduction to Robotics 56
Direct Kinematics
• In order to manipulate objects in space, it is required to
control both the position and orientation of the tool/end
effector in three- dimensional space.
• A relationship between the joint variables and the position
and orientation of the tool is to be formulated.
Direct Kinematics Problem:
Given the vector of joint variables of a robotic
manipulator, determine the position and orientation
of the tool with respect to a co-ordinate frame
attached to the robot base.
It is necessary to have a concise formulation of a general
solution to the direct kinematics problem.
Introduction to Robotics 57
Direct (Forward) Kinematics Problem
R p
T T
s
T (q) T (q1 )T (q2 )T (q3 )....... T (q)
0
n
0
1
1
2
2
3 n
n 1
Tool
Z0
X0
tool
Tbase (q) Tbase
1
(q1 )T12 (q2 )T23 (q3 )....... Tntool
1 ( q )
tool
Tbase ( q ) Tbase
wrist tool
( q1 , q2 , q3 )Twrist (q4, q5 , q6 )
Introduction to Robotics 58
Arm Equation
R(q) p (q )
tool
(q)
1
T
base
0 0 0
The 3x3 submatrix R(q) represents the tool orientation, 3x1
submatrix p(q) represents position of the tool. The three
columns of R represents the direction of unit vectors of the
tool frame wrt base frame.
Tool
p
Z0 r3
X0
Introduction to Robotics 59
• Manipulator tasks are normally formulated in terms of the desired position
and orientation.
• A systematic closed form solution applicable to robots in general is not
available.
• Unique solutions are rare; multiple solutions exist.
• Inverse problem is more difficult than forward problem
The Arm matrix represents the position p and
orientation R of the tool in base coordinate frame q q
as a function of joint variable q. 3 4
q
R(q) p (q ) n
tool
(q) 2
1
Tbase
Tool
0 0 0 Z0
p
a s
Inverse Kinematics: Given a desired
position p and orientation R for the tool, q
find values for the joint variables q which 1
X0
satisfy the arm equation
Introduction to Robotics 60
q Direct {p, R}
Kinematics
Joint Space, Tool
Rn
Configuration
Space, R6.
Inverse
q Kinematics
{p, R}
Solvability
nx sx ax px C1C234C5 S1S5 C1C234 S5 S1C5 C1S 234 C1 (177.8C2 177.8C23 129.5S 234 )
n sy ay p y S C C C S S1C234 S5 C1C5 S1S 234 S1 (177.8C2 177.8C23 129.5S 234 )
y 1 234 5 1 5
nz sz az pz S 234C5 S 234 S5 C234 215 177.8S 2 177.8S 23 129.5C234
0 0 0 1
0 0 0 1
•12 equations and ‘n’ unknowns. (n=6 for 6 axis robot)
•Out of 9 equations from the rotation part, only 3 are independent.
•From the position vector part, there are 3 independent equations.
•6 independent equations and ‘n’ unknowns
•Nonlinear equations, difficult solve
Introduction to Robotics 61
Differential relationship
•Robot path planning problem is
formulated in tool-configuration space
•Robot motion is controlled at the joint
space
x w(q); x tool configurat ion vector,
w tool - configurat ion function and q joint vari ables
Differential relationship
. .
x J (q ) q; J (q ) is a 6xn matrix and is
called the Jacobian matrix
or Jacobian
wk (q )
Vkj (q ) 1 k 6, 1 j n
q j
Introduction to Robotics 62
w1 w1 w1 w1
X wq q .
q2 q3 qn
1
.
w2 w2 w2 w2 q1
.
x .
. q1 q2 q3 qn .
y w w3 w3 w3 q2
. 3
. .
z
q1 q2 q3 qn . q3
w4 w4 w4 w4 .
x q q2 q3
.
qn q4
1 .
w5 w5 w5 w5 ..
y
qn
.
z q1 q2 q3 qn
w w6 w6 w6
6
.
q1
q2 q3 qn
6X 1 6X n nX1
For a rotary manipulator,
. .
x [ J ( )]
. .
[ J ( )] x 1
Introduction to Robotics 63
Dynamics: Lagrangian Formulation
Complex dynamic systems can be modeled in a relatively simple,
elegant fashion using an approach called the Lagrangian
formulation.
d L L
( ) i
dt qi qi
Lagrange function is defined
L K P
– K : Total kinetic energy of robot
– P : Total potential energy of robot
q i: Joint variable of i-th joint
q i: first time derivative of
i : Generalized force (torque) at i-th joint
A system of ‘n’ nonlinear differential equations in the vector of joint
variables q
Introduction to Robotics 64
n .. n n . .
i Dij (q) q j C qk q j hi (q) bi (q)
.
i
kj
j 1 k 1 j 1 (frictional forces)
Coriolis and Gravitation
Acceleration term
centrifugal al forces
forces
.. . . .
D(q) q c(q, q) q h(q) b(q)
Control Systems
When one or more output variables of a system need to follow
a certain reference over a time, a controller manipulates the
inputs to the system to obtain the desired effect on the
output of the system.
Introduction to Robotics 66
Transfer Function
Stability: A linear system with
transfer function T(s) is stable
iff all the poles of T(s) lie in the
open left half of the complex
plane. System Response:
Introduction to Robotics 67
Robot Control
• Robots need to follow prescribed motion trajectory
•Actuators are commanded in terms of torque
•Control System computes appropriate actuator commands to
realise the desired motion
A Robot controller is used to manipulate the input variables
to make the robot faithfully track a planned
trajectory/output variable.
Trajectory
Control System Robot
Generator
velocity/position based control
•Use of Inverse Kinematics to get Joint Velocity
•Resolved motion rate control (use of generalised inverse of Jacobian)
Torque Based Control
Conventional Methods ( P,PI,PID)
Advanced Control Methods
Introduction to Robotics 68
Robot Control
Robot System:
e qd q
q q
Trajectory q d q d e e tor
• Joint Level Controller qd _
Controller Robot
Planner
Find a control input (tor), q qd as t
Task Level Controller
e Yd Y
Task level Yd Yd e e tor Robot q q Forward Y Y
Controller
Planner _ Dynamics Kinematics
Find a control input (tor), Y Yd as t e Yd Y 0
Introduction to Robotics 69
• Control Methods
– Conventional Joint PID Control
• Widely used in industry
– Advanced Control Approaches
• Computed torque approach
• Adaptive control
• Variable structure control
• Impedance Control
• ….
Introduction to Robotics 70
PID controller: Proportional / Integral / Derivative control
e= yd ya
V = Kp • e + Ki ∫ e dt + Kd d e)
dt
Error signal e
Closed Loop Feedback Control
yd ya
desired yd V actual ya
compute V using
- PID feedback
Motor
actual ya
Reference book: Modern Control Engineering, Katsuhiko Ogata, ISBN0-13-060907-2
Introduction to Robotics 71
Evaluating the response
overshoot steady-state error
ss error -- difference from the
settling time system’s desired value
overshoot -- % of final value
exceeded at first oscillation
rise time -- time to span from
10% to 90% of the final value
settling time -- time to reach
within 2% of the final value
rise time How can we eliminate
the steady-state error?
Introduction to Robotics 72
Control Performance, P-type
Kp = 20
Kp = 50
Kp = 200 Kp = 500
Introduction to Robotics 73
Control Performance, PI - type
Kp = 100
Ki = 50 Ki = 200
Introduction to Robotics 74
Kp = 100
unstable &
oscillation
Introduction to Robotics 75
Control Performance, PID-type
Kp = 100
Kd = 2 Kd = 5 Ki = 200
Kd = 10 Kd = 20
Introduction to Robotics 76
PID final control
Introduction to Robotics 77
Summary
• Classifications of field/service robots
• Object location and motion in space
• Coordinate transformations
• Direct and inverse kinematics
problems
• Jacobian and singularity
• Statics
• Dynamics
• Control