Sie sind auf Seite 1von 70

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 qi 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 qd _
Controller Robot
Planner

Find a control input (tor), q  qd as t  


 Task Level Controller
e  Yd  Y
Task level Yd Yd 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

Das könnte Ihnen auch gefallen