Anda di halaman 1dari 71

ED 5315:

FIELD AND SERVICE ROBOTICS


Chapter 1: Introduction

Dr. T. Asokan
asok@iitm.ac.in

Objective:
The objective of this course is to introduce the kinematics, dynamics, control, and
applications of field and service robots such as mobile, underwater, aerial and
medical robots.
Learning Outcomes
By the end of the course it is expected that the students:
Understand and appreciate different kinds of field and service robots and their applications
Learn how to model and simulate the kinematics and dynamics of field and service robots
Learn the basics of designing few robots for field and service applications.
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, Anbal; Maza, Ivn (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 (3x4=12 marks)


Quiz
: 2 (2x15=30 marks)
Seminar
: 1 (6 marks)-Research Paper review
Project (group: max 4) : 1 (12 marks)
End Sem. Exam
: 1 (40 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

What is a robot?

Dr. T. Asokan

NASA's Mars rover Curiosity lands

NASA's Mars rover Curiosity Lander


finally landed on after cruising across
350 million miles of interplanetary
space for 8-1/2 months and this
event is all over the news. Mars is
practically on the far side of the Sun
from Earth, 154 million miles (1.7
astronomical units) away.

VIDEO

IITM robots

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.)

2
3

A robot may not injure a human being, or, through inaction, allow a
human being to come to harm.
A robot must obey the orders given to it by human beings except where
such orders would conflict with the First Law.
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

There are different kinds of robots, such as

Industrial Robots

Service Robots

Entertainment robots

Space robots
Service Robots
Wheeled mobile robots/intelligent vehicles (Mars
rovers),
Walking robots (robot dogs, biped robots, etc.),
Humanoid robots,
Climbing robots (robot spiders),
Crawling robots (robot snakes),
Underwater robots, flying robots,
Medical Robots
Reconfigurable robots
Dr. T. Asokan

Manipulators

Introduction to Robotics

20

Industrial robots

Introduction to Robotics

21

Mobile robots

Introduction to Robotics

22

Underwater Robots

Introduction to Robotics

23

Medical Robots

Introduction to Robotics

24

Educational/Entertainment Robots

Introduction to Robotics

25

Domestic Robots

Introduction to Robotics

26

Humanoids/ Exoskeletons

Introduction to Robotics

27

Introduction to Robotics

28

Reading Assignment

Prepare a half-page write-up on your vision on the future of robotics


(best report will get a surprise award)
Submission optional

II. What is Robotics all about?


Programming a robot is significantly different from
conventional computer programming due to the fact
that robots interact with the physical world with
physical actions. This important distinction leads to
the following preferred definition of robotics:
Robotics is the intelligent connection of perception to
action.

Introduction to Robotics

30

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

31

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

32

IV. Topics in Robotics

Kinematics: deals with the spatial locations and velocities of a robot end effectors and
its internal joints
Forward and Inverse Arm 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 Control: deals with how to servo a robot's actuators to make the robot
motion follow a desired trajectory.
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.
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

33

Home Robotics

Introduction to Robotics

34

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

37

Dot and Cross products


The dot product of two vectors x and y in an ndimensional space ( Rn) is denoted as x.y and is defined as
n
x. y xk yk
k 1

or

x. y xT y

If x and y are two arbitrary vectors in R3, then

x. y x y cos ,

3 2
x xk
k 1

1/ 2

y
x

A dot product can be interpreted as a measure of the orientation


between two vectors.
Introduction to Robotics

38

The Cross Product of two vectors u and v in R3 is a vector w=u x


v which is orthogonal to u and v
i1 i 2

w det u1 u2
v v
2
1

i 3 u2 v3 u3v2

u3 u3v1 u1v3
v3 u1v2 u2 v1

w
v

u
The length of the cross product depends on the angle between
the two vectors u and v
u x v u v sin

Introduction to Robotics

39

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 and are defined as
n

p [ p]kX x k
k 1

The complete orthonormal set X is sometimes called an


orthonormal co-ordinate frame.
X2
The kth co-ordinate of p wrt X is

[ p] p.x
x
k

[p]2x

p
[p]1x

Introduction to Robotics

X1
40

Co-ordinate Transformation
Represent position of p wrt fixed
frame f={f1,f2,f3}

m
3

mf3
3
m3

P
P

P
m2
m2
m2
m1

m1

f2

m1

Fixed
link
P

f1

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 coordinates of p wrt F, given the co-ordinates of p wrt M.

Introduction to Robotics

41

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
f3
matrix.
1
1
1
2
1
3

f .m

A f 2 .m1
f 3 .m1

f .m
f 2 .m 2
f 3 .m 2

f .m

f 2 .m3
f 3 .m3

Introduction to Robotics

m3

P
m2

m1

f
1

f2

Fixed
42
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

43

Rotations
f3
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
involving both rotations and translations
are required.

m3
m2

m1

m3

m2

m1

f2

Rotation and Translation


of co-ordinate frame

f1

Introduction to Robotics

44

Fundamental rotations
f3

If the mobile coordinate frame is


obtained from the fixed coordinate frame
F by rotating M about one of the unit
vectors of F, then the resulting coordinate
transformation matrix is called a
fundamental rotation matrix.
In the space R3, there are 3
possibilities.

f 1.m1'

R1 ( ) f 2 .m1'
f 3 .m1'

f 1.m 2'
f 2 .m 2'
f 3 .m 2'

m3

m3
m2
m2

f1

f 1.m3' 1

f 2 .m3' 0
f 3 .m3' 0

0
f 2 .m 2'
f 3 .m 2'

Introduction to Robotics

f2

m1

m1

0
f 2 .m3 '
f 3 .m3'
0
0
1
0 cos( ) sin( )
0 sin( ) cos( )

45

f3
Fundamental rotations

0
0
1
R1 ( ) 0 cos( ) sin( )
0 sin( ) cos( )

m3

m3
m2

cos( ) 0 sin( )
R2 ( ) 0
1
0
sin( ) 0 cos( )

m2

f2

m1
m1

f1

cos( ) sin( ) 0 The kth row and the kth column of Rk() are
identical to the k th row and the k th
R3 ( ) sin( ) cos( ) 0 column of identity matrix. In the
0
0
1 remaining 2x2 matrix, the diagonal terms
Pattern

are cos( ) while the off diagonal terms


are sin( ) . The sign of the off diagonal
term above the diagonal is (-1)k.

Example
Introduction to Robotics

46

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 premultiply R by Rk(). -> [Rk().R]
3. If the mobile frame M is rotated by an amount
, about its 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

47

Yaw-Pitch-Roll Transformation matrix


R( ) R3 (3 ) R2 ( 2 ) R1 (1 ) I
Roll

C2C3
YPR C2 S3
S 2

S1S 2C3 C1S3 C1S 2C3 S1S3


S1S 2 S3 C1C3 C1S 2 S3 S1C3

S1C2
C1C2

pitch
yaw

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

48

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

49

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
T T

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

50

The fundamental operations of rotations and translations can each be


regarded as special cases of the general 4x4 homogeneous transformation
matrix.
0

R ( ) 0
1 k 3
Rot ( , k ) k

0
0 0 0 1
Rot( , k) is the k th fundamenta l homogeneou s 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
1
0
Tran( p )
0

0
1
0
0

0
0
1
0

p1
p2
p3

Tran (p) is known as the fundamental homogeneous


Translation matrix
Introduction to Robotics

m2

f3

p
3

m2
f1
m3

m1
m2

p
2
p
1

f2

51

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:

Representation of Rigid body:


nx
n
y
nz

sx
sy
sz
0

ax
ay
az
0

px
p y
pz

RT
RT p

0
0
0
1

The three unit vectors n,s,a are


mutually perpendicular
|n|=1
|s|=1
|a|=1
n.a=0
n.s=0
a.s=0

Introduction to Robotics

52

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

53

Direct (Forward) Kinematics Problem


R
T T

T (q) T (q1 )T (q2 )T (q3 ).......T (q)


n
0

1
0

2
1

3
2

n
n 1

Tool
Z0

X0

tool
1
Tbase
(q) Tbase
(q1 )T12 (q2 )T23 (q3 ).......Tntool
1 (q)
tool
wrist
tool
Tbase
(q ) Tbase
(q1 , q2 , q3 )Twrist
(q4, q5 , q6 )
Introduction to Robotics

54

Arm Equation
tool
base

R( q )
(q)
0 0 0

p(q)
1

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

X0

r3

Introduction to Robotics

55

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
as a function of joint variable q.
tool
base

R( q )
(q)
0 0 0

p(q)
1

Inverse Kinematics: Given a desired


position p and orientation R for the tool,
find values for the joint variables q which
satisfy the arm equation

Introduction to Robotics

4
n

Z0

X0

1
56

Tool
s

{p, R}

Direct
Kinematics

Joint Space,
Rn

Tool
Configuration
Space, R6.

Inverse
Kinematics

{p, R}

Solvability

nx
n
y
nz

sx
sy
sz
0

ax
ay
az
0

px
p y
pz

C1C234 C5 S1S5
S C C C S
1 5
1 234 5
S 234 C5

C1C234 S5 S1C5
S1C234 S5 C1C5
S 234 S5
0

C1S 234
S1S 234
C234
0

C1 (177.8C2 177.8C23 129.5S 234 )


S1 (177.8C2 177.8C23 129.5S 234 )
215 177.8S 2 177.8S 23 129.5C234

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

57

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 variables

Differential relationship
.

x J (q) q; J (q) is a 6xn matrix and is


called the Jacobian matrix
or Jacobian
w (q)
Vk j (q) k
1 k 6, 1 j n
q j
Introduction to Robotics

58

X wq

w1
q
1

w2
x
.
q1
y
w
3
.

z
q1

w4

x
q

1

w5

q1
z
w
6

q1

w1
q2
w2
q2
w3
q2
w4
q2
w5
q2
w6
q2

6X 1

6X n

w1
q3
w2
q3
w3
q3
w4
q3
w5
q3
w6
q3

.
.
.
.
.
.

w1
qn
w2
qn
w3
qn
w4
qn
w5
qn
w6
qn

.
q1
.
q2
.
. q3
.
q4
.
..

qn

nX1

For a rotary manipulator,


.

x [ J ( )]
.

[ J ( )] x
1

Introduction to Robotics

59

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

qi: Joint variable of i-th joint

qi: 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

60

..

i Dij (q) q j C qk q j hi (q) bi (q)


j 1

k 1 j 1

Coriolis and
centrifugal
forces

Acceleration term

..

i
kj

(frictional forces)

Gravitation
al forces

D ( q ) q c ( 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

62

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.
Introduction to Robotics

System Response:

63

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
Generator

Control System

Robot

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

64

Robot Control
Robot System:

D(q)q C (q, q ) h(q)

Y f (q)

e qd q

Joint Level Controller

Trajectory q d q d e e
Controller
qd _
Planner

Find a control input (tor), q qd

q q

tor

Robot

as t

Task Level Controller


e Yd Y

Task level Yd Yd e e
Controller
Planner
_

Find a control input (tor),

tor

Y Yd

Y Y
Robot q q Forward
Dynamics
Kinematics

as t

Introduction to Robotics

e Yd Y 0
65

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

66

PID controller: Proportional / Integral / Derivative control


e= yd ya
V = Kp e + Ki e dt + Kd
Error signal e
yd ya
desired yd

d e)
dt

Closed Loop Feedback Control

compute V using
PID feedback

Motor

actual ya

actual ya

Reference book: Modern Control Engineering, Katsuhiko Ogata, ISBN0-13-060907-2


Introduction to Robotics

67

Evaluating the response

overshoot

steady-state error

ss error -- difference from the


systems desired value

settling time

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
How can we eliminate

rise time

the steady-state error?


Introduction to Robotics

68

Control Performance, P-type

Kp = 20

Kp = 200
Introduction to Robotics

Kp = 50

Kp = 500
69

Control Performance, PI - type

Kp = 100

Ki = 50

Ki = 200
Introduction to Robotics

70

Kp = 100

unstable &
oscillation
Introduction to Robotics

71

Control Performance, PID-type


Kd = 2

Kd = 5

Kd = 10

Kd = 20

Introduction to Robotics

Kp = 100
Ki = 200

72

PID final control

Introduction to Robotics

73

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

Home work (4 marks)


Date of submission:

Questions will be available on moodles


Submit answers using MOODLE
Late submission: -1 mark/day
No reminders will be given for
submission

Anda mungkin juga menyukai