Beruflich Dokumente
Kultur Dokumente
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:
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
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
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.
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
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
Introduction to Robotics
30
Introduction to Robotics
31
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
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
Introduction to Robotics
37
or
x. y xT y
x. y x y cos ,
3 2
x xk
k 1
1/ 2
y
x
38
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
[ 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
m3
m2
m1
Introduction to Robotics
41
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
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
f1
Introduction to Robotics
44
Fundamental rotations
f3
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
Example
Introduction to Robotics
46
Composite Rotations
47
C2C3
YPR C2 S3
S 2
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
Introduction to Robotics
49
R
T T
50
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
0
1
0
0
0
0
1
0
p1
p2
p3
m2
f3
p
3
m2
f1
m3
m1
m2
p
2
p
1
f2
51
sx
sy
sz
0
ax
ay
az
0
px
p y
pz
RT
RT p
0
0
0
1
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
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
Tool
p
Z0
X0
r3
Introduction to Robotics
55
R( q )
(q)
0 0 0
p(q)
1
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
Introduction to Robotics
57
Differential relationship
Differential relationship
.
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
x [ J ( )]
.
[ J ( )] x
1
Introduction to Robotics
59
d L
L
( )
i
dt qi
qi
L K P
K : Total kinetic energy of robot
P : Total potential energy of robot
60
..
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
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
Introduction to Robotics
64
Robot Control
Robot System:
Y f (q)
e qd q
Trajectory q d q d e e
Controller
qd _
Planner
q q
tor
Robot
as t
Task level Yd Yd e e
Controller
Planner
_
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
Introduction to Robotics
66
d e)
dt
compute V using
PID feedback
Motor
actual ya
actual ya
67
overshoot
steady-state error
settling time
rise time
68
Kp = 20
Kp = 200
Introduction to Robotics
Kp = 50
Kp = 500
69
Kp = 100
Ki = 50
Ki = 200
Introduction to Robotics
70
Kp = 100
unstable &
oscillation
Introduction to Robotics
71
Kd = 5
Kd = 10
Kd = 20
Introduction to Robotics
Kp = 100
Ki = 200
72
Introduction to Robotics
73
Summary