Professional Documents
Culture Documents
Theory of Robotics
Theory of Robotics
Instructors
Sascha Stoeter Petr Korba
sstoeter@ethz.ch korbap@ethz.ch
Teaching Assistant
Hong Ayoung
Cedric Fischer
Michael Mattmann
ahong@ethz.ch
fischece@student.ethz.ch michaema@student.ethz.ch
+41 44 632 86 76
CLA H 13
Suggested Literature
G. Strang, “Linear algebra and its applications”, Academic Press, New York, USA, 1976
J. J. Craig, “Introduction to Robotics: Mechanics and Control”, 3rd ed., Prentice Hall, 2003.
R. M. Murray, Z. Li, and S. S. Sastry, “A Mathematical Introduction to Robotic Manipulation”, CRC Press,
1994.
M. Spong and M. Vidyasagar, "Robot Dynamics and Control", Wiley, 1989. P. McKerrow, "Introduction to
Robotics", Addison‐Wesley, 1999.
T. Yoshikawa, "Foundations of Robotics: Analysis and Control", MIT Press, 1990.
J.‐P. Merlet, "Parallel Robots", Springer, 2001.
R. Siegwart and I. R. Nourbakhsh, “Introduction to Autonomous Mobile Robots”, MIT Press, 2004.
H. Choset, K. M. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. E. Kavraki, and S. Thrun, “Principles of
Robot Motion: Theory, Algorithms, and Implementations”, MIT Press, 2005.
J. Borenstein, H. Everett, and L. Feng, Navigating Mobile Robots: Systems and Techniques, A. K. Peters,
1996.
G. Dukek and M. Jenkin, "Computational Principles of Mobile Robotics", Cambridge University Press,
2000.
D. Forsyth and J. Ponce, "Computer Vision — A Modern Approach", Prentice Hall, 2003.
Theory of Robotics &
Mechatronics
Introduction
1
Pierre Jaquet-Droz (1721–1790)
Exercise
2
What is a Robot?
• Actuation
• Sensing
• Autonomy
• Intelligence?
Artificial Intelligence
3
What is Robotics?
IRIS is particularly
focused on vision and
Perception force perception
Robot-Human
Interaction
Manipulation Cognition
1015
Nearest
1012 Stars
Edge of the
109
solar system
Earth
106 to Mars
103
1 km
m
10-3
mm
10-6
m
10-9
nm
Å CNT
4
Exploratory Robotics
Voyager I and II
5
Exploring the Solar System
Rover II
Rover I
Beagle 2
Mars Rovers
Theory of Robotics & Mechatronics — 151-0601-00 11
Underwater Exploration
Underwater Archeology
Theory of Robotics & Mechatronics — 151-0601-00 12
6
Robotic Surgery
7
Microrobotics for
Handling Biological Cells Research
50 m
Typical failure
A Microrobotic
Cell Manipulation System Research
3 DOF Microrobot
Force Feedback
Vision Feedback
8
Robotic Manipulation of Rigid Objects
at Micro- and Nano-Scales Research
• Gravity
becomes negligible as part dimensions
fall below ~100μm
• Surface Tension
caused by adherence of H2O molecules
to part surfaces + +
++
• Electrostatic Forces - -
--
due to differences in electric potential
between objects
• Van der Waals Forces
atomic level interactions, highly
dependent on surface smoothness
9
The Scale of Robotics
1015
Nearest
1012 Stars
Edge of the
109
solar system
Earth
106 to Mars
103
1 km
m
10-3
mm
10-6
10-9
m What is the future of
nm
Robotics and
Å CNT Robotics Research?
Theory of Robotics & Mechatronics — 151-0601-00 19
RW
Knowledge Representation/Frames
Minsky & McCarthy
and the AI Lab at MIT
1959 EM Agents
Behaviors/Subsumption
Brooks
=
Expectation/Verification Frameworks
Dickmanns/Jain
Mobile Robotics
Space Robotics
Microassembly
Biomedical Robotics/
Computer Aided Surgery
Manufacturing
Underwater Robotics
Theory of Robotics & Mechatronics — 151-0601-00 20
10
Parallels to Modern Western
Philosophy
RW
Knowledge Representation/Frames
Minsky & McCarthy
and the AI Lab at MIT
1959 EM Agents
Behaviors/Subsumption
Brooks
=
Expectation/Verification Frameworks
Dickmanns/Jain
Descartes Locke
Berkeley Kant
Discourse de la Method Hume
Meditations Critique of Pure Reason
Experience is the a priori vs. a posteriori
source of all ideas knowledge
• Entertainment
– Companions (Aibo)
– Humanoid (Honda, Sony)
– Virtual Reality
11
Robotics in Industry:
Microassembly Research
MEMS
Wafer-level Microassembly
of Hybrid Microsystems
Theory of Robotics & Mechatronics — 151-0601-00 23
Medical Robotics:
Surgery Now and Then
+ 500 years
Robot-assisted, minimally
invasive surgery
12
Medical Robotics:
Robotic Surgery
• Minimally Invasive Procedures
– Direct control of tools vs. teleoperation
13
Teleoperated Surgery
Surgeon’s Interface
Military Robotics
14
Military Robotics:
A “Searcher” Robotic System
1997–2002
• 2004: no winner
– Best team reached 12km (of 240km!) in
several hours
15
DARPA’s Urban Grand Challenge
• The third competition of the DARPA Grand Challenge, known as the "Urban
Challenge", took place on November 3, 2007 at the site of the now-closed George Air
Force Base (currently used as Southern California Logistics Airport), in Victorville,
California. The course involved a 96 km (60-mile) urban area course, to be
completed in less than 6 hours. Rules included obeying all traffic regulations while
negotiating with other traffic and obstacles and merging into traffic.
• The $2 million winner was Tartan Racing, a collaborative effort by Carnegie Mellon
University and General Motors Corporation, with their vehicle "Boss", a Chevy Tahoe.
The second place finisher earning the $1 million prize was the Stanford Racing Team
with their entry "Junior", a 2006 Volkswagen Passat. Coming in third place was team
Victor Tango from Virginia Tech winning the $500,000 prize with their 2005 Ford
Escape hybrid, "Odin". MIT placed 4th, with Cornell University and University of
Pennsylvania/Lehigh University also completing the course.
From wikipedia
Humanoid Robotics
Sony SDR-3X
16
Humanoid Robotics
Sony SDR-3X
Nanorobotics:
Manipulation of Carbon Nanotubes
17
The PC Industry as a Metaphor for
Robotics
• The Robotics Industry is at the same state now as the PC
industry was in the late 1970’s (Brooks)
– Mainly expensive and used in industry
– PC kits — Robot kits
– PC’s for the home — Robots for the home
– The failure of conventional wisdom?
• The demise of the mainframe industry
18
Social Impact of Robots
Exercise
19
What we will learn
• Introduction
Overview of Robotics
20
What we will learn
• Forward Kinematics
Given a robot’s joint angles (positions) what is the
end-effector pose (position and orientation)?
PZ Z
Z
Z N
21
What we will learn
• Inverse Kinematics
Given where I want to be what should the joint angles be;
what should be the speed of actuators to attain a certain
velocity at the tip?
• Numerical Methods
– How do we use efficient computer
algorithms to plan the motions of
complex robots
22
What we will learn
• Dynamics
Given a robot’s joint angles, velocities, accelerations and
inertial properties, what are the loads on the actuators?
23
What we will learn
24
What we will learn
25
Robotics is …
• fun
• an interdisciplinary area
• unsolved
26
Theory of Robotics &
Mechatronics
1
Common Robotic Tasks
• Manufacturing:
Hard Automation vs. Flexible Automation
Large Volume vs. Small Volume
• Hazardous Environments
Toxic, Radioactive, Underwater, Space
• Medical
Surgery, Rehabilitation
Robotics Industry
2
Robotics Industry
X PX
PX
X X PY
Z
Y PY
Y
Y
Z
PZ
3
Degrees of Mobility (DOM)
f ( x, y )
2 DOM, 2 DOF
4
Robot Types: Cylindrical Robots
5
Robot Types: SCARA Robots
www.adept.com
• Mostly 6 DOF
• Redundant manipulators
– DOM>DOF (normally DOM > 6)
www.snakerobots.com
6
Robot Types: Parallel Robots
• Machine Tending
Transfer of parts and components to and from
machine tools and other machinery
7
Industrial Applications of Robots
• Palletizing
• Pick and place
• Parallel robots enable very
fast pick and place
• Assembly
• Macro and Micro Scale
• Flexible Feeding
8
Industrial Applications of Robots
• Welding
• Non-contact
• Painting
• Non-contact
9
Industrial Applications of Robots
• Machining
Robot Programming
10
Regrasping
(Robot Programming Example)
Components of a Robot
• Joints
• Sensors
• Transmissions and gearboxes
• Actuators
• Wrists
• End-effectors
11
Robot Joints
end point
12
Robot Joints
13
Transmissions and Gearboxes
Planetary gearbox
Harmonic Drives
14
Transmissions and Gearboxes
• Tendon Drives
Sensors: Encoders
15
Sensors: Resolvers
from www.maxonmotor.com
Sensors: Tachometers
Tachometer
Controller
16
Sensors: Force
Robot Actuators
• Hydraulic
• Pneumatic
• Electric
• Piezo
17
Hydraulic Actuators
• The Good…
- Large forces and large power/weight ratio
(due to remote power source)
- Oil is (almost) incompressible,
joints can be locked
- Damage-safe in stall
- Can be fast and controlled precisely
- Safe in flammable environments
- Smooth operation at low speeds
• The Bad…
- Expensive
- Hydraulics are dirty and hard to maintain
- Need to circulate the oil (return line)
- Remote power source occupies space
- Cannot be back driven against valves
Hydraulic Actuators
18
Pneumatic Actuators
• The Good…
- Inexpensive
- Damage-safe in stall
- Can be fast
- Safe in flammable environments
- No return line needed, air is ubiquitous
• The Bad…
- Air is compressible, bad for accuracy and control
- Air exhausts are noisy
Electric Actuators
19
Brushed-DC Motors
Brushless-DC Motors
20
Stepper Motors
Piezo-Electric Actuators
• The Bad…
- Small travel (typical extension 0.1%), stick slip
actuators extend coarse travel range
- Expensive
- High voltage electronics (>100V) needed to drive
Theory of Robotics & Mechatronics — 151-0601-00 42
21
Robotic End Effectors: Grippers
MIT-Utah Hand
Barret Hand
Robonaut hand
22
Robotic End Effectors: welding torches,
paint nozzles, vacuum cups
Welding torch
Vacuum Cups
• http://www.mech.uwa.edu.au/jpt/shearmagic/Default.html
23
Tool Changers
Compliance Devices
24
Robot Wrists
Wrist Singularities
http://www.anthrobot.com/
25
Avoiding Singularities
Precision, Accuracy
26
Resolution
First Position
Targeted Position
Adjacent Position
Accuracy
Command Resolution
Spatial Resolution
First Position
Accuracy
Mechanical Errors
Spatial Resolution
27
Resolution, Precision, Accuracy
Spatial Resolution
Accuracy
+
+ +
Precision
(Repeatability)
Angular Resolution
28
A Last Word on Robot Design
MIT’s COG
29
Theory of Robotics &
Mechatronics
Spatial Descriptions 1
(Classical Formulation)
Motivation
1
Location of Objects
Simple 2D Case
• A point has a unique position in 2D space described with
respect to (wrt) a coordinate frame. Two components are
necessary to describe the position, a point has two
degrees-of-freedom in 2D space.
Can we attach a reference point
X0 to an object to represent it?
P0
Y0 Y0
X0
Location of Objects
Y1
Y0
X1
X0
2
Degrees of Freedom
• Particles
d dimensional space, d translational components of DoF
• Rigid body
additional d(d-1)/2 rotational components of DoF
3
System of rigid bodies
(multi-bodies)
• System of several bodies has a combined DoF which is the
sum of the DoF of all bodies
• Clearly, a multi-body has more DoF than a single rigid body
• In this course, you will see & understand that the term
degrees of freedom
is equivalent to the
Some Examples
• Holonomicity in robotics
Relation between controllable & total number of DoF
4
Location of Rigid Objects
Reference frame
• Position of something is always measured with respect to
“something else”
Y1
Y0
X1
X0
Alternatives: A1 — A3
Yes, we could but observe that any motion of a rigid body will
not change the relative position between its point masses.
Such motion is referred to as rigid body motion.
5
Concepts for Description of Position of a Rigid
Body (n point masses rigidly connected) 2/2
Body Frame
6
Position
• Simple !
Orientation (Rotation)
7
Coordinate Frame Algebra
(Principle in 2D)
• CF1 is found by rotating CF0 by radians ccw (counter
clockwise).
• Consider the same point defined wrt (with respect to)
2 different coordinate frames.
c cos( )
Y0 s sin( )
Y1
X1
X0 c X 1 s Y1
cos( ) sin( ) Y0 s X 1 c Y1
sin( ) X0 • Relations between two coordinate frames
cos( )
• Try to derive it on your own now !
What happens if defined clockwise?
Rotation Matrices
(Forming)
• Rotation matrix R10 defines the orientation of CF1 with
respect to (i.e., starting with) CF0.
• Therefore, it defines the orientation of the object it is attached
to wrt CF0.
X0 c s X1
Y0 s c Y1 P0 R10 P1
R10
8
Rotation Matrices
(Meaning)
c s
Y0 R10 X 10 Y10
Y1 s c
• The columns of the R10 are the X and Y
X1 axes of CF1 described wrt CF0
cos( ) sin( )
sin( ) X0 1 0
X 11 Y11
cos( ) 0 1
c s
Very important for intuitive
X 10 Y10
s c
understanding!
Rotation Matrices
(Properties)
P0 R10 P1 • A rotation matrix is orthogonal (even ortho-
normal since each column and therefore each
row are unit vectors, mutually orthogonal)
R01 ( R10 ) 1
( R10 )T • The inverse is simply the transpose
( R10 )T R10 R10 ( R10 )T I
1
det R 0 1 • The determinant of a proper rotation is 1
(improper rotations/reflections incl. -1)
9
Rotation and Translation
Given: P1 what is P 0 ?
Y1 P0 R10 P1 T10
P0 P2
1 Given: P 2 what is P1 ?
Y0
P X1
Y2 P1 R21 P 2 T21
Given: P 2 what is P 0 ?
T21 P0 R10 ( R21 P 2 T21 ) T10
T10
X0
Given: P 0 what is P 2 ?
P2 ( R21 )T [( R10 )T ( P 0 T10 ) T21 ]
X2
A 6DOF robot would have 7 such frames! Ugly!
Theory of Robotics & Mechatronics — 151-0601-00 19
Homogenous Transformation
Matrices
X0 c X 1 s Y 1 T10x Hint:
Points become column vectors
whose last component is 1.
Y0 s X 1 c Y 1 T10y
1 1
Theory of Robotics & Mechatronics — 151-0601-00 20
10
Homogenous Transformation
Matrices
P0 H10 P1 H10 H 21 P 2
Y1
P0 P2 H 20 H10 H 21 P0 H 20 P 2
Y0
P1 X1
Y2
P1 ( H10 ) 1 P 0 H 01 P 0
R10 T10
T21 H10
T10 0 1
X0
Homogenous Transformation
(Extension from 2D to 3D)
Y1
0
X 10 Y10 T10
H 1 Y0 X1
0 0 1
• Easy extension to 3D
0 0 0 0 T10
X 1 Y1 Z 1 T 1 X0
H10
0 0 0 1
Theory of Robotics & Mechatronics — 151-0601-00 22
11
Rotations in 3D
(Principal / Basic Rotations)
Y0 • Our former 2D rotation can be considered a 3D
Y1 rotation about the Z axis!
c s 0
X1
cos( ) sin( )
RZ , s c 0 X 10 Y10 Z10
sin( ) X0 0 0 1
cos( )
1 0 0 c 0 s
Z0,Z1
RX , 0 c s RY , 0 1 0
Advice:
Derive & remember these 3
0 s c s 0 c
matrices of principal rotations
for the rest of this course
Homogenous Transformation
(Example in 3D as used in robotics)
• For the rest of this course, remember all these matrix forms
and their dimensions:
X0 X1 R10 T10
H10
Y0 Y1 0 1x 3 1
4x4
0
H10 1 0 T
Z Z 1
(R )
1 ( R10 )T T10
H 0
1 1 0 1x 3 1
4x4
12
Other Transformations
(Euclidean, Affine, Projective)
• Euclidean transformation
– Most commonly used
(e.g. in robotics – prismatic & revolute joints)
– Preserve length and angle measure between frames
(shape of a geometric object will not change)
– Operations: Translation & rotation (incl. reflection, det(R) = -1 )
– Form:
Other Transformations
(Euclidean, Affine, Projective)
• Affine transformation
– Generalization of Euclidean transformations
(commonly used e.g. in computer graphics)
– Length and angle not preserved but parallel lines/planes and
intersecting lines/planes are translated into parallel and
intersecting lines/planes correctly
(shape of a transformed object can be changed)
– Additional operations: Scaling, shear:
– Form:
a11 a12 a13 a14
a21 a22 a23 a24
A10
a31 a32 a33 a34
0 0 0 1
Theory of Robotics & Mechatronics — 151-0601-00 26
13
Other Transformations
(Euclidean, Affine, Projective)
• Projective transformation
– Generalization of affine transformations
– Length and angle not preserved & parallel and intersecting
lines/planes are not preserved either
(shape of a transformed object can be changed)
– Additional operations:
converts parallel lines/planes into intersecting and vice versa
– Form:
p11 p12 p13 p14
p21 p22 p23 p24
P10
p31 p32 p33 p34
p41 p42 p43 p44
(observe simply that the 4th row is not [0 0 0 1] anymore)
Theory of Robotics & Mechatronics — 151-0601-00 27
Composition of Transformations
(Problem description)
• We have introduced several transformations
• In many cases, one may need several transformations to
complete the desired operation
• The overall effect can be summarized into a single
transformation (matrix operation) represented by
the product of all involved matrices:
– Example:
1. Scale in the x-direction using a scale factor 5 (i.e. make it 5x larger)
2. Followed by a rotation about z-axis 30 degrees
3. Followed by a shear transformation in x- and y- direction with
shearing factor 2 and 3 respectively
4. Followed by a transformation moving the point in
the direction [2 1 2]
14
Composition of Transformations
(Solution: Matrix multiplication)
• Let the scaling, rotation, shearing & translation matrices be
A, B, C and D, respectively.
Composition of Rotations in 3D
(2 basic rules)
• Description: Starting from CF0, CF1 is found by rotating along
X axis by and then rotating along the current Z axis by
P0 R10 P1 R10 RX , RZ ,
15
Composition of Rotations in 3D
(Example)
Hint: a) Start with step 1. – i.e. rotation R(x, ) – and then pre- or post-multiply
for all subsequent rotations …
b) Follow this rule: “Fixed goes First…” (pre-multiply if about fixed axis)
Alternative Representation of R
(Euler angles)
The 9 elements of R are not independent quantities. Note that
16
Alternative Representation of Rotations
(Euler angles)
On Appropriate Sequences
of Rotation Matrices
• An appropriate sequence of rotations means a sequence where no 2 successive
rotations are made around parallel axes (it would be only 2 rotations, not required 3)
17
Euler Angles Representation of
Orientation/Rotation
• Euler Angles (and its variations called e.g. yaw, pitch & roll) are 3
principal rotations commonly used to define the orientation of one
frame wrt another.
• In robotics, usually for the last 3 DoF , i.e. for the wrist (orientation)
Another representation of R
(Axis-Angle)
• 3 parameters are enough to represent orientations in
3D space
• A 3x3 rotation matrix has 9 elements, but they are not
independent.
• A vector k and an angle is enough to define a rotation
matrix Rk ,
• k has 3 elements but its length is 1 so it gives only 2
independent parameters. With θ there are only 3 parameters.
k k x2 k y2 k z2 1
18
Rotation About an Arbitrary Axis
Demo
• Case 1 – 6
Rotation of different points P1 around various
1
axes k (always passing the common origin) by
angle theta
0.8
– Case 1
Rotation theta = 30°
0.6
– Case 2,3
z
P1 = [0 0.6 0]’
19
Velocity Vectors
Z0 Z1
1
Y1 0
R10 T10
H 1
X1 0 1x 3 1
P 1 v1
0
P0 H10 P1
P
X0 v0 H10 v1 0
H10 1
0
v0 R10 v1 R10 1
Y0
• Velocity vectors show direction and magnitude, not position
• Use only/directly the rotation part of the transformation matrix on velocity
vectors (no homogenous transformation necessary)
• More on velocity kinematics in the lecture “Rigid Body Velocity”
Theory of Robotics & Mechatronics — 151-0601-00 39
20
Theory of Robotics &
Mechatronics
Spatial Descriptions 2
(Screw Theory)
1
Classical Formulation
vs. Screw Theory
• Classical formulation is focused on expressing/transforming points &
vectors in one (arbitrary) robot-link frame with respect to another
(different) robot-link frame, based on the current configuration
• This method (ST) has its advantages, but essentially treats each
robot link directly as equally important (in base/world/spatial
coordinates)
• We are typically most interested only in the last robot-link frame,
usually called the tool frame
• Screw theory is very good for direct description of the configuration
and motion of the tool frame with respect to the base coordinates
(this will become more evident when we discuss rigid-body velocity)
• The other robot links are just elements which position the tool frame,
and we have less information about them (although we could always
calculate this information if necessary, see later the demo).
• Perhaps, this can be seen as the only disadvantage?
Theory of Robotics & Mechatronics — 151-0601-00 3
• Let’s forget about robots and consider just a rigid body in a space…
• Embed a frame within the body to describe its pose
• Move the body from its initial location at time = 0 to time = t
• The initial frame A is an inertial/base reference frame, from which
we will describe the pose of the body throughout time
• The points p and q on the rigid body are always the same distance
apart: ||p(t) - q(t)|| = ||p(0) – q(0)|| (rigid body not deformable)
• Given any two points p and q in the body, we z p y
can find a vector from p to q given by v = q - p
• And a function g maps a point B
2
Rigid Body Transformation
z p y
B
g x
q
z
y
A
x
a2b3 a3b2 0 a3 a2
a b a3b1 a1b3 a3 0 a1 b (a )^ b
a1b2 a2b1 a2 a1 0
• (a)^ is a skew-symmetric matrix built from the elements of a
• A skew-symmetric matrix S is defined by S = -ST
• We will also use the equivalent notation aˆ ( a )^
3
Exponential Coordinates for Rotation
( ˆ )2 ( ˆ )3
eˆ I ˆ I ˆ sin ˆ 2 (1 cos )
2! 3!
4
Rigid Motions
SE(3), SO(3) and O(3) groups
• We want to completely describe the pose of the rigid body w.r.t. an
inertial reference frame, i.e. we have to deal with both rot. & translat.
• Given by the orientation of the frame Rab and the position pab
• Let qa and qb be the coordinates of a point q relative to frames A
and B, where qa = Rabqb + pab
• We can also think of the configuration as an abstract item on its own,
which contains two pieces of information:
gab = (pab,Rab) i.e. translation & rotation
• We call this abstract object a member
of the 3-D special Euclidean group:
SE(3); rotation Rab is a member
of SO(3) - special orthogonal group
(for rotations in a right-handed coord.
frame det(R)=1; O(3) group has det(R)= 1)
• We also think of gab to be rigid transformation of a point: qa = gab(qb)
Theory of Robotics & Mechatronics — 151-0601-00 9
Homogeneous Representation
• Rigid transformations are not linear but affine, i.e. qa = Rabqb + pab
• Can we construct a ‘more’ linear version of these motions?
• Yes! We append systematically 1 to the coordinates of a point
and 0 to a the coordinates of a vector (both to brcome 4x1)
• We will work with vectors & points – distinguish and treat
them slightly differently:
q1 v1
q2 v2
q v
q3 v3
1 0
5
Homogeneous Representation
(From skew-matrix exponential to full twist…)
• Now we can express a rigid transformation qa = Rabqb + pab
as a linear multiplication of a 4x4 matrix with a 4x1 vector
qa Rab pab qb
qa g ab qb
1 0 1 1
• Note:
– There is a 4x4 equivalent of a skew-symmetric matrix (which we
had before to describe only rotations), called a twist.
– The matrix exponential of the twist is a 4x4 homogeneous
transformation matrix (which as we already know describes both
rotation and translation)
• Consider a one-link robot (or just a point p), rotating about axis
(with || ||=1 , i.e. with a unit velocity) where is passing a point q)
p (t ) ( p (t ) q )
p ˆ q p ˆ p p ˆp
0 0 0 1 1 )
where ˆ v
ˆ , v q
0 0
• Integrating gives (recall Rodrigues’ formula and see ‘screw motions’ later)
ˆ e ˆt ( I e ˆt )( v)
p (t ) e t p (0) where e
ˆt
0 1
Theory of Robotics & Mechatronics — 151-0601-00 12
6
The Twist – Special Case 2
only translation
• Integrating gives
ˆ ˆ I vt
p (t ) e t p (0) where et
0 1
Theory of Robotics & Mechatronics — 151-0601-00 13
ˆ v
ˆ
0 0
1x3 matrix of zeros
7
Screw Motions
Screw Motions
ˆ eˆ ( I e ˆ )( v)
e
0 1
8
Calculating a Screw from a Twist
(When we say “screw”, we mean how to get [h, l, M])
ˆ 0 v
0 0
the rigid body motion expm( ^ ) corresponds to pure translation
along the screw axis by an amount
• h finite: Let l = {q + : || || = 1, real}, = M and define
ˆ q h
ˆ
0 0
the appropriate screw motion is generated again by expm( ^ )
9
Example: Rotation about any axis
(Step 1 of 2 – Get “twist” )
• Consider motion corresponding to a zero-pitch screw (i.e. pure
rotation, h=0) about an axis = (0,0,1) passing through
point q = (0,l1,0). The corresponding twist is
l1
0
q 0
0
0
1
• The exponential of the twist is given by
cos sin 0 l1 sin
ˆ eˆ ( I e ˆ )( v) sin cos 0 l1 (1 cos )
e
0 1 0 0 1 0
0 0 0 1
Theory of Robotics & Mechatronics — 151-0601-00 19
10
Example: Rotation about any axis
Solution in Matlab - Simple code 1/2
syms l1 th real % define symbolic vars as "real“ (otherwise all considered complex)
% 1. Define axis of rotation as a free vector and select a point it goes through:
q = [0 ; l1 ; 0 ]
w = [0 ; 0 ; 1]
% 2. Define v & xi according to your slides:
v = cross( - w , q)
xi = [v ; w]
% 3. Get 4x4 twist matrix from the above 6x1 vector xi called “Twist Coordinates”
xi_ = twist(xi) % i.e. = [skew(w), v ; zeros(1,4)]
% 4. Calculate the matrix exponential:
exp_xi_th = expm(xi_ * th)
% 5. Get initial condition (by inspection from the picture):
g0 = [eye(3) , q; zeros(1,3) , 1]
% 6. Resulting rigid body transformation denoted as “g_ab” is given by:
g_ab = simplify(exp_xi_th * g0)
Theory of Robotics & Mechatronics — 151-0601-00 21
11
Matlab demo (demo_twist.m)
• Case 1 – Case 7
3.5
• Case 1,2 3
Rotations 2.5
• Case 3 2
z
Translation 1.5
• Case 4,5 1
Twist (both, trans & rot) by different 0.5
angles theta 0 0
• Case 6,7,8 3
2
1
0
2
1
3
Twists around the same axis -1
y
passing different points x
12
Theory of Robotics &
Mechatronics
Forward Kinematics
1
What have we learned?
1. Revolute joint can be made much smaller than a link with linear joint
(i.e. manipulators made of revolute joints occupy a smaller space)
2. Robots with revolute joints are better able to maneuver around
obstacles (i.e. there is a wider range of possible applications)
2
Kinematic Chains
• Given the joint angles, what is the • Each link (including the base) has
transformation matrix that defines a coordinate frame attached to it.
the end-effector coordinate frame • Each link is related to the one
wrt the world (base) coordinate before it through a joint variable
frame? (i.e., an angle for revolute joints, or
the travel distance for prismatic
joints).
P3 H10 f ( 1)
H 21 f ( 2)
P0 H 32 f ( 3)
H 30 H10 H 21 H 32 f ( 1, 2 , 3 )
P0 H 30 P 3
Theory of Robotics & Mechatronics — 151-0601-00 5
Kinematic Chains
H10 f ( 1)
RotZ 1 Trans 0, 0, d1 RotY 90 RotZ 90
Y1
Z
Y Y X1
X Z Z1
Z0 Z X
d1
d1 • Not a unique sequence
Y We could arrive at the
Y0 final frame also through
1
X a different order of
X0
rotations and translations
Theory of Robotics & Mechatronics — 151-0601-00 6
3
Kinematic Chains
H10 f ( 1)
RotZ 1 Trans 0, 0, d1 RotY 90 RotZ 90
c1 s1 0 0 1 0 0 0 0 0 1 0 0 1 0 0
s1 c1 0 0 0 1 0 0 0 1 0 0 1 0 0 0
0 0 1 0 0 0 1 d1 1 0 0 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
s1 0 c1 0
c1 0 s1 0 • Position vector
0 1 0 d1 • Rotational part
0 0 0 1
4
D-H Convention
One Sequence 2/4
• The transformation between two adjacent frames on the link
is defined in terms of 4 parameters and a fixed
composition/sequence of transformations:
Aii 1
Rot Z i Trans Z d i Trans X a i Rot X i
D-H Convention
Four Parameters 3/4
• Our 4 parameters i (angle), di (offset ), ai (length), i (twist ) are
generally given the names:
– joint angle
– link offset
– link length
– link twist
5
D-H Convention
Two Constraints 4/4
2
• Notice that the joint variable 1 is
Link 0
Link 1
defined about the Z0 axis. Each
(base) link rotates about (or moves along)
1
Z1 the previous link’s coordinate
frame.
Z0
6
D-H Convention – How do we proceed?
Step 2: Establish the Base frame
• Locate the origin anywhere on
the Z0 axis
Z0
7
D-H Convention – How do we proceed?
Step 3B: Place middle coordinate frames
• Establish Xi along the common
normal between Zi and Zi-1 through
Oi or in the direction normal to the
Y1 Zi-Zi-1 plane if Zi and Zi-1 intersect.
1
Z0
1
Z0
8
D-H Convention
Final Coordinate Frame - Names
• Typically, for a robot with a gripper the
final frame is placed between the
gripper fingers.
• And, the (x,y,z) axes are labeled (n,s,a).
D-H Convention
Overview
(link length)
(link offset)
(link twist)
(joint angle)
9
D-H Convention
Table of Link Parameters
Y2 X2
Link: i di ai i
*
1 1 0 a1 0
Y1 Z2 *
2 2 0 a2 0
Y0 * joint variable
X1
a2
X0 Z1
ci si 0 ai ci
2
i 1 si ci 0 ai si
1 A i Rot Z i TransZ d i Trans X ai Rot X i
Z0 0 0 1 0
a1 0 0 0 1
c1c2 s1s2 c1s2 s1c2 0 c1c2 a2 s1s2 a2 c1a1
s1c2 c1s2 c1c2 s1s2 0 s1c2 a2 c1s2 a2 s1a1
H 20 A10 A21
0 0 1 0
0 0 0 1
Theory of Robotics & Mechatronics — 151-0601-00 19
Link: i di ai i
*
1 1 d1 0 0
2 0 d*2 0 -90
3 0 d*3 0 0
* joint variable
10
Spherical Wrist
Link: i di ai i
d6
*
4 4 0 0 -90
*
5 5 0 0 +90
*
6 6 d6 0 0
* joint variable
Link: i di ai i
*
1 1 d1 0 -90
*
2 2 d2 0 +90
3 0 d*3 0 0
*
4 4 0 0 -90
*
5 5 0 0 +90
*
6 6 0 0 0
Could be d6 to place the
coordinate frame between x0
the gripper
Theory of Robotics & Mechatronics — 151-0601-00 22
11
PUMA 560
Practise more
Joint θi i ai (mm) di (mm)
1 90 -90 0 0
2 0 0 431.8 149.09
3 90 90 -20.32 0
4 0 -90 0 433.07
5 0 90 0 0
6 0 0 0 56.25
PUMA 560
Resulting Description
6 n s a p
T06 Aii 1 = end-effector pose with respect to base frame
1 0 0 0 1
c1 0 s1 0 c4 0 s4 0
s1 0 c1 0 s4 0 c4 0
A01 A43
c1 c23 c4c5c6 s4 s6 s23 s5c6 s1 s4 c5 c6 c4 s6 0 1 0 0 0 1 0 d4
0 0 0 1 0 0 0 1
n s1 c23 c4 c5c6 s4 s6 s23 s5c6 c1 s4c5c6 c4 s6
c2 s2 0 a2c2 c5 0 s5 0
s23 c4 c5c6 s4 s6 c23 s5c6
s2 c2 0 a2 s2 s5 0 c5 0
c1 c23 c4c5 s6 s4 c6 s23 s5 s6 s1 s4c5 s6 c4 c6 A12 A4
5
0 0 1 d2 0 1 0 0
s s1 c23 c4 c5 s6 s4 c6 s23 s5 s6 c1 s4c5 s6 c4c6 0 0 0 1 0 0 0 1
s23 c4c5 s6 s4c6 c23 s5 s6 c3 0 s3 a3c3 c6 s6 0 0
c1 c23c4 s5 s23c5 s1s4 s5 3 s3 0 c3 a3 s3 5 s6 c6 0 0
A2 A6
a s1 c23c4 s5 s23c5 c1s4 s5 0 1 0 0 0 1 0 d6
s23c4 s5 c23c5 0 0 0 1 0 0 0 1
12
Joint Space and Task Space
q H n0 f (q)
n
Manipulator Workspace
• A link can move only within the joint limits. The locus of all
points in the task space that are attainable within the joint
limits is called the manipulator workspace.
13
Manipulator Workspace
Example of Joint & Task Spaces
Joint space
Y1
Y0
X1
2
X0 Z1
1
Z0
Task space
Manipulator Workspace
More Examples
• Many possible ways how to construct kinematic chains using
prismatic (P) & revolute (R) joints
• Only few combinations are used in practice
• Most typical arrangements:
(considering the first 3 joints, i.e. robot arm / excl. wrist)
1. Articulated robot (RRR)
some literature calls it “the elbow manipulator”
14
Manipulator Workspace
More Examples Articulated Robot - 1
• Work space of the
Articulated robot (RRR)
(axes of rotation z & x & x)
Manipulator Workspace
More Examples Spherical Robot - 2
• Work space of the spherical robot (RRP)
(RRP with axes of rotation z & x)
• e.g. Stanford Arm
• The joint coordinates are
the spherical coordinates
of the end-effector relative
to the coordinate frame
of the shoulder joint
15
Manipulator Workspace
More Examples SCARA Robot - 3
• Tailored for table assembly operations
• Work space of the SCARA robot (RRP)
(axes of rotation z & z )
• Selective
Compliant
Articulated
Robot for
Assembly
Manipulator Workspace
More Examples Cylindrical Robot - 4
• Work space of the
Cylindrical robot (RPP)
16
Manipulator Workspace
More Examples Cartesian Robot - 5
• Work space of the Cartesian robot (PPP)
• Simplest kinematic
description among
all considered robots
• The joint variables are
the Cartesian coordinates
of the end-effector
with respect to the base
single elements e i i
H ii 1
. Why? (missing initial condition!)
Theory of Robotics & Mechatronics — 151-0601-00 34
17
The Product of Exponentials
POE Composition (1. “backwards”)
Consider a 2-DOF robot as example:
1. Fix the 1st joint and only move
the 2nd joint. This corresponds to
a simple rigid-body motion of the
tool frame about a twist associated
with the second joint:
ˆ
g st ( 2 ) e 2 2
g st (0)
2. Now, hold the 2nd joint fixed, and move the 1st joint.
18
The Product of Exponentials
How do we proceed? Revolute & Prismatic joints
• To generalize to any open-chain (serial) manipulator:
– define the reference configuration as the case where =0, and gst(0)
as the transformation between the tool and spatial frame when =0
– For each joint, construct a twist i which corresponds to the screw
motion of the ith joint with all other joints fixed at j=0
• Recall: (where either i or vi is a unit vector)
1. For a revolute joint, the twist i has the form
i qi
i
i
ˆ ˆ ˆ
g st ( ) e 1 1e 2 2
e n n
g st (0)
19
Example 1:
SCARA Forward Kinematics (1 of 3)
• The SCARA robot has four joints
(3 revolute, 1 prismatic)
• Let =0 correspond to the fully extended
configuration, and attach the base and
tool frames as shown
• This gives the initial configuration
0
I l1 l2
g st (0)
l0
0 1
• translation between frames S to T
• can be further simplified
• To construct the twists for the if S=T then [0;0;0]
revolute joints, note that 0
1 2 3 0
1
Example 1:
SCARA Forward Kinematics (2 of 3)
• We can choose following axis points
(or any other point located at the z-axis, why?)
0 0 0
q1 0 q2 l1 q3 l1 l2
0 0 0
i qi
• This yields the twists: i
i
0 l1 l1 l2
0 0 0
0 0 0
1 2 3
0 0 0 0
0 0 0 0
1 1 1 v4 1
4
0 0
• The prismatic joint points in the z
direction and has the associated twist 0
0
Theory of Robotics & Mechatronics — 151-0601-00 40
20
Example 1:
SCARA Forward Kinematics (3 of 3)
• The forward kinematics map has the form
ˆ ˆ ˆ ˆ R( ) p( )
g st ( ) e 1 1 e 2 2 e 3 3 e 4 4 g st (0)
0 1
• The individual matrix exponentials are given by:
cos 1 sin 1 0 0 cos 2 sin 2 0 l1 sin 2
ˆ sin 1 cos 1 0 0 ˆ sin 2 cos 2 0 l1 (1 cos 2 )
e11 e 2 2
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 4
0 0 0 1 0 0 0 1
21
Example 2: Elbow Manipulator
with spherical wrist (2 of 2)
• Note that we have used q1=(0,0,l0) for the first twist but we could just
have used the origin or any other point on the axis of the twist too
• The other 4 twists are 0 l1 l2 0 l0
calculated in a similar l0 0 l0 0
matter: l1 0 l1 l2 0
3 4 5 6
1 0 1 0
0 0 0 1
0 1 0 0
• The full forward
kinematics are
ˆ ˆ R( ) p( )
g st ( ) e 1 1 e 6 6
g st (0)
0 1
22
Choice of the Base Frame and
the Reference Configuration – 2 Hints
• The product-of-exponentials formulations allows any choice of
base frame, and any choice of reference configuration
23
Matlab Demo 3 (Demo_fwrd_kin.m)
2
• Case 2
z
1
the same SCARA robot as 0
above
-1
- different positions of the 5
24
Theory of Robotics &
Mechatronics
• Skew symmetric matrices and groups O(3), so(3) / SO(3), se(3) / SE(3)
1
Rigid Body Position & Orientation
(Review & prerequisites - 1)
• Important things to remember from previous lectures:
2
Translational (Linear) Velocity
1
v1P v1
Y1 P vP
• Well-known and simple !
3
Transforming Velocity Vectors
Z1
Z0 Y1 0
R10 T10
X1 H 1
0 1x 3 1
P 1 v
v0 R10 v1 0
R10 1
Y0
• Velocity vectors have direction and magnitude, not position:
– Use only the rotation part of the transformation matrix on
velocity vectors
Theory of Robotics & Mechatronics — 151-0601-00 7
4
Rotational Velocity
Few Important Facts
• First consider pure rotational motion
• Let Rab(t) be a curve (a rotation matrix) representing a trajectory
of an object in frame B, with the origin at the origin of frame A,
and rotating relative to the fixed frame A
• We call A the spatial (fixed, inertial, world) coordinate frame
• We call B the body coordinate frame
• Given a point q attached to the rigid body, the point
can be described in either of these 2 frames
through the relationship Za
qa (t ) Rab (t )qb Zb
q
• Note that the description of the point q with Yb
respect to the body frame does not vary
in time …hence:
Ya
Xa
the velocity of q in B is zero
but B is allowed to rotate Xb
(incl. its static point q) with respect to A
Theory of Robotics & Mechatronics — 151-0601-00 9
Rotational Velocity
The same equations again
• So, the velocity can be computed with respect to the spatial frame A:
qa (t ) Rab (t )qb d
vqa (t ) qa (t ) Rab (t )qb
dt
• This requires 9 numbers to describe the velocity of a point
• Let’s use the special structure of rotation matrices to develop a more
compact description
vqa (t ) Rab (t ) Rab1 (t ) Rab (t )qb
• It can be shown that, given any rotation matrix R(t)
1
R(t ) R 1 (t )
and R (t ) R (t )
are skew-symmetric and therefore
5
Rotational Velocity – New Terms
(Assigning names to equations)
• We can represent the velocity of a rotating body by a 3-vector
• We define the instantaneous spatial angular velocity, denoted ab
s, as
Rotational Velocity
Why these names?
• Here’s where we get the names spatial and body velocity:
• We can express the velocity of a point in terms of the instantaneous
angular velocities
6
Example: Rotational Motion of a
1-DOF Manipulator
• Let t) be the angle of rotation about some
reference configuration. The trajectory is
cos (t ) sin (t ) 0
R(t ) sin (t ) cos (t ) 0
0 0 1
• The spatial velocity is
sin cos 0 cos sin 0 0 0 0
s T s
ˆ RR cos sin 0 sin cos 0 0 0 0
0 0 0 0 0 1 0 0 0
Rab (t ) pab (t )
g ab (t )
0 1
• Where Rab(t) is the rotation of A wrt B and pab(t) is the translation of
A wrt B, both changing with time
• As with rotation, dgab(t)/dt is not really useful
• Similar to the case of rotational velocity, we will have two types of
rigid body velocity, that make use of two different twists: the body
velocity and the spatial velocity
7
Body Velocity
• The body velocity is specified with a twist (we apply exactly the same
approach to the twist as we did with pure rotations before )
(6x1)
T T (4x4) b T
R Rab R pab vab Rab pab
Vˆabb g ab1 g ab ab ab
Vabb b T
0 0 ab Rab Rab
• The velocity of a point q in the body frame is given by
Spatial Velocity
vq a Vˆabs (t )qa s
ab qa s
vab
• The action of this twist is to take a point of the body, but expressed in
spatial coordinates, and return the velocity of that point written in spatial
coordinates
– vabs (not very intuitive because of its more complex form) is not the
velocity of the origin of the body frame but the velocity of a (possibly
imaginary) point attached to the body frame and passing through the
origin of the spatial frame, written in spatial coordinates…
– abs is the instantaneous angular velocity of the body as viewed in the
spatial frame (intuitive)
Theory of Robotics & Mechatronics — 151-0601-00 16
8
The Adjoint
• The 6x6 matrix which transforms twists from one coordinate frame
to another is referred to as the adjoint transformation associated with
g, written Adg ( 4 x 4) (6 x 6)
R p R pˆ R
g , Ad g
0 1 0 R
• The adjoint is invertible. The inverse of the adjoint is the adjoint of the
inverse: T T T T T
R ( R p )^ R R R pˆ
Ad g 1 T
Ad g 1
0 R 0 RT
Remark: Twist transformations
If ˆ is a twist (matrix 4x4) with twist coordinates (vector 6x1) then for
1
any g , ˆ ' g ˆ g is the transformed twist (4x4) with new twist coordinates
‘ Adg ( thus, Adg corresponds to matrix similarity transformation).
Coordinate-free Description
How to get the twist from g(R,p)?
vs RR T p p
Vˆ s gg 1
Vs s T
( RR )
and the body velocity as
vb RT p
Vˆ b g 1g Vb b
( RT R)
• They are related by the adjoint:
Vs Ad gV b
9
Example: 1-DOF Manipulator
• Note that vs is velocity of a point attached to the rigid body as it traveles through the origin of frame A
• The body velocity is the velocity of the origin B as seen in frame B
10
Coordinate Transformations
• If A and B are two inertial frames which are fixed relative to each
other, then:
Vacs Ad g ab Vbcs Vacb Vbcb
0 l1 sin 1
s s s 0 0
V ac Vab Ad g ab V
bc 1 2
0 0
0 0
1 1
Theory of Robotics & Mechatronics — 151-0601-00 22
11
Appendix
(Rigid Body Velocity)
12
Skew Symmetric Matrices S = skew( ) so(3)
Generate Rotations R( ) = e(S ) SO(3)
• Our key tool will become a skew symmetric matrix. Why?
• We are going to talk about relative velocities between frames and it will involve
rotations and derivatives of rotations.
• Note: it is possible to simplify many calculations by introducing the notion of a
skew-symmetric matrix which encodes the axis of rotation, and its exponential
generates a rotation. :
or S = - ST
• Why? Since det(R)=det(RT) then from above equation see that det(R)2=1
13
How to get derivative of rotation R
• RR 1 R 1 R I
For any invertible matrix R, we can write
R 1 R T and we can write
Since our R matrix is a rotation then
T T
RR R R I
Now, we differentiate the above equation and we get RR T RR T 0
which can also be rewritten as
RR T ( RR T ) T 0
Recall the definition of a skew symmetric matrix now: S ST
Thus, we can write S ST 0 (which is exactly what we had above).
14
Differential Translations and Rotations
0 1 0 Py
v Px Py Pz t H tt t
0 0 1 Pz
0 0 0 1
• Rotational velocity vector represents the differential amount
of rotation about the x, y, z axes (or an axis of rotation )
during an infinitely small time.
x y z t
Differential Rotations
(Note: order is not important)
1 0 0 0 1 0 0
y
sin( ) 1 z 0 0
z 1 0 0
1* 0 Rot (' z ', z )
2 0 0 1 0
0 0 0 1
Here is a MATLAB symbolic toolbox
program to test this
syms dx dy dz
%differential rotation matrices
1 z y 0 Rdx=[1 0 0 0 ; 0 1 -dx 0 ; 0 dx 1 0 ; 0 0 0 1]
Rdy=[1 0 dy 0 ; 0 1 0 0 ; -dy 0 1 0 ; 0 0 0 1]
Rdz=[1 -dz 0 0 ; dz 1 0 0 ; 0 0 1 0 ; 0 0 0 1]
z 1 x 0 %different combinations
H tt t
Rdx*Rdy*Rdz
y x 1 0 Rdx*Rdz*Rdy
Rdy*Rdx*Rdz
Rdy*Rdz*Rdx
0 0 0 1 Rdz*Rdx*Rdy
Rdz*Rdy*Rdx
15
Theory of Robotics &
Mechatronics
Jacobian
Lecture outline
1. Introduction
1
The Jacobian Matrix in Robotics
What is it good for?
• Mathematically, the forward kinematics defines a function between the
cartesian space (all positions and orientations of the end-effector) and the
joint space (set of all joint angles) – without regard to forces which cause it
• The Jacobian is one of the most important quantities in the analysis and
synthesis of robots in motion.
– It arises in many aspects of robotics, for example:
• in the transformation of forces and torques from
the end-effector to the manipulator joints
• in the determination of singular configurations
(conf. in which J loses rank)
• in the derivation of the dynamic equations of motion
• in the planning and execution of smooth trajectories
J 6 xN f ( 1, , N )
2
Example 1: 2-DoF manipulator in 2D
“Direct” approach to the Jacobian…
a1 a2
a1 a2
(2 x 2)
Y
a1 a2 a2
X
a1 a2 a2
a2 Z
Y1
Y0
X1
a1
X0
Observe: The dimension - not the expected matrix 6 x 2 2
For example: Where is J ? -- the part of J related to Z1
the rotational velocity is missing completely here) 1
Z0
Note: In this lecture, we want to investigate how to
1. Derive the complete Jacobian matrix (6 x N) systematically
2. Use what we learned – (a) Homegenous transformations and (b) Twists
1
0 0
v0 Jv
Px Px
...
1 N
0
J
Py0 Py0 N
...
1 N
• Each column of the Jacobian describes the
Pz0 Pz0 contribution of one joint to the final end-effector
... 1
v0 1 N velocity at a given configuration.
0 0 0
x x
N • We can “build” the Jacobian column-by-column
1 N
0 0 considering each joint.
y y
3
Lecture outline
1. Introduction
• For the other joints find the forward kinematic transform up to that
joint. Y X 2 0 0
R1 T1
2
H10 A10
Y1 Z2
0 1x 3 1
Y0
X1
X 10 Y10 Z10 T10
0 0 0 1
X0
Z1 2
H 20 A10 A21
Z0 1 H i0 A10 A21 Aii 1
4
The Jacobian using DH Convention
Prismatic Joints – Simple!
• A prismatic joint translates the coordinate frames after itself along its axis of
motion. There is no angular velocity induced at the end-effector frame.
Therefore, the last three rows of the Jacobian column for a prismatic joint
are zero.
• By the D-H convention, the axis of motion for joint (coordinate frame) i is
the axis Zi-1. The magnitude of the velocity is equal to the speed of the joint.
– Therefore, the first three rows of the Jacobian column for a prismatic joint
represent the unit vector along the direction of motion, Zi-1.
– However, this vector must be expressed
in the base coordinate frame. v0 Z i0 1
0
di
03 1
Theory of Robotics & Mechatronics — 151-0601-00 9
v0 0
TN0 ( i 1)
Z3
Y2 X2 0
T Y3
i Z i0 1 TN0 ( i 1) Z i0 1 TN0 ( i 1) i
3
3 2
T30 0
Jv X3
Y1 Z2
0
T3 1
Y0
X1
X0 2
Z1
Z0 1
5
The Jacobian for a Revolute Joint
Part 1: Translational Velocity
• Again, we find the vector T between the origin of the joint’s frame
and the origin of the end-effector frame from the forward kinematic
transform and known structure of H
X i0 Yi 0 Z i0 Ti 0
v0 Zi0 1 TN0 ( i 1) i H i0 A1 A2 Ai
0 0 0 1
Jv
X N0 YN0 Z N0 TN 0
H N0 A1 A2 Ai AN
0 0 0 1
v0 Z i0 1 (TN0 Ti 01 ) i
Jv
0
Z i0 1 i
X i0 Yi 0 Z i0 Tii00
H i0 A1 A2 Ai
0 0 0 1
6
The Jacobian using D-H Convention
Summary
• Putting both parts the angular (J ) and the linear (Jv) Jacobians
together yields the complete Jacobian J , a matrix :
(6 x N)
J J1 ... J i ... J N
where N is the number of joints (columns of Ji)
and all single columns Ji are given by:
(6 x 1) (6 x 1)
v0 Z i0 1 (TN0 Ti 01 ) v0 Z i0 1
J0 i i J0i di
Z i0 1 or 03 1
Forward Kinematics:
z10 T10
Y2 X2
T20
Z2
a2
Y0 Y1
T2 0 a1 X1
T10
X0
T0 = [0;0;0] Z1 2
7
The Jacobian using D-H Convention
Example 2: Two-Link Planar Manipulator 2/3
• Both (2 joints) are revolute, therefore the Jacobian matrix
will be (6x2) of the form:
8
Lecture outline
1. Introduction
• One could always choose coordinates for SE(3), but the description would
only hold locally (it would have representational singularities)
• Choosing local coordinates destroys the natural geometric structure of rigid
body motions
9
The Spatial Manipulator Jacobian
i Ad e ˆ1 1 e
ˆ
i 1i 1 i
• The ith column of the spatial Jacobian is the ith joint twist transformed
to the current manipulator configuration
• This means we can calculate the Jacobian by inspection
Theory of Robotics & Mechatronics — 151-0601-00 20
10
The Spatial Manipulator Jacobian
“After some manupulation …”
• The columns correspond to the joint twists written with respect to the
tool frame at the current configuration
• The spatial and body manipulator Jacobians are related by the adjoint
J sts ( ) Ad g st ( ) J stb ( )
11
Example: Jacobian for a SCARA Robot
Example 3:
Jacobian for a SCARA Robot (solution)
Part 1/3: Solve the forward kinematics problem
12
Example 3: Jacobian for a SCARA Robot (solution)
Part 2/3: Approach 1- Transform all twists from the reference configuration to
the current robot configuration…
- you have to do this in order to make the impact of all joints “visible”
- don’t say “we transform all twists to the base frame”
because all has been done directly in the base frame…
Example 3:
Jacobian for a SCARA Robot (solution)
Part 3/3: Approach 2- based on adjoints
13
Example: Jacobian for the Stanford
Arm (1 of 3)
• The Stanford arm is a 6-DOF robot with two revolute joints at the
base, a prismatic joint, and a spherical wrist
• We will compute the spatial manipulator Jacobian
• The first 2 joints pass through the point q1 = q2 = (0,0,l0) and point in
the direction 1 = (0,0,1) and ’2 = (-cos 1,-sin 1,0). This gives the joint
In Matlab:
twists syms th1 real
w1=[ 0 0 1]'
0 l0 sin 1 w2=[-1 0 0]'
0 l0 cos 1 w2_=expm(skew(w1)*th1)*w2
1 q1 0 2 q1 0
1 2
1 0 2 cos 1
0 sin 1
1 0
0 cos 1 cos 2
e zˆ 1 e xˆ 2
1 sin 2 v3
3
0 0 0
0 0
0
l0 0 l0 (l1 3 ) sin 2
14
Example: Jacobian for the Stanford
Arm (3 of 3)
• The direction of the wrist axes depend on 1 and 2 as well as the
preceding wrist axes. These are given by
0 s1s2
xˆ
4 e zˆ 1 e 2
0 c1s2
1 c2
1 c1c4 s1c2 s4
xˆ
5 e zˆ 1 e 2
e zˆ 4
0 s1c4 c1c2 s4
0 s2 s4
0 c5 ( s1c2 c4 c1s4 ) s1s2 s5
zˆ xˆ zˆ xˆ
6 e e 1 2
e e 4 5
1 c5 (c1c2 c4 s1s4 ) c1s2 s5
0 s2 c4 c5 c2 s5
Lecture outline
1. Introduction
15
Static Force-Torque Relationship
What is the Jacobian good for?
• Robots do not always move through space sometimes they also have to
apply a static force/torque (wrench) to another object
• In this case, the reaction forces are balanced by the joint forces/torques.
• Note that these two (force of end-effector applied to another object and
the joint torques) are related through the Jacobian matrix.
Fx
Fy
FR F FR F Fz
FR
x
Y0 y
X0
Z1 2 Remark:
Force is related to a translational movement
Z0 1
Torque is related to a rotational movement
Theory of Robotics & Mechatronics — 151-0601-00 31
( FRT J )T ( T T
)
16
Inverse Velocity Kinematics
(Jacobian Inverse)
• When controlling the path of a robot we are usually interested in the
inverse Jacobian relationship:
“At what speed should the joints rotate for the tool frame to move at a
certain direction and velocity? ”
1 v0
θ J 0
Kinematic Singularities
x J θ
• At a singularity condition, there is a direction in the task space that cannot be
obtained by (is not mapped to) any vector in the joint space
1. When the robot is at the boundary of its workspace it cannot move in a direction
away from the boundary. (These are called workspace boundary singularities)
2. Even inside the workspace singularities occur, for example, when two links line up.
In this case they do not cause independent motion and a degree of freedom is lost.
17
Kinematic Singularities
Manipulability
Robot Manipulability
Y
X
a2 Z
Y1 a1 a2 a2
Y0 a1 a2 a2
X1
a1
What tip velocities can be attained by the combination of
X0 joint speeds such that:
2 2
Z1
2
θ 1 2 1
1
Z0
2 Ytip Manipulability ellipsoid.
1 the circle becomes through the Jacobian
J X tip
1 1
1 X
J
2 Y Tip
Theory of Robotics & Mechatronics — 151-0601-00 36
18
Singular Value Decomposition
0 0 0 0 0
n m r
r
0 0 0 0 0 0
Theory of Robotics & Mechatronics — 151-0601-00 37
V v1 v2 vr X J mxn nx1
T T T
u 1 1 1 v u2 v
2 2 ur v
r r
"Project onto v1 (inner product), then scale by 1 then multiply u1 by this value..."
19
Singular Value Decomposition
X Jm n n 1 u1 1v1T u2 T
v
2 2 ur v T
r r
1 2 r 0
• Since the columns of U and V are orthogonal and unit length, the largest
magnitude output X is obtained by an input along v1. The output is then
along u1 with magnitude 1. u1 is the “best” direction to move the robot along
(i.e., the direction with the largest manipulability of the robot). Direction of ur,
in contrast, requires the most effort from the joint motors.
• The singular values and the corresponding columns of U can be thought of
as the axes of a hyper-ellipsoid in m dimensional task space
(i.e., 6 for most articulated robots).
– The ratio of smallest to largest singular value (i.e., the condition number of the
matrix J) is a measure of the “skewness” of this ellipsoid (or if you want how much
it differs from a perfect circle)
– The volume of the ellipsoid is proportional to the product of all singular values
Robot Manipulability
Manipulability measure W
W ~ Volume of Manipulability
Ellipsoid
Video frames
• These measures are used for path/task planning and the optimal
design of robot geometry.
Theory of Robotics & Mechatronics — 151-0601-00 40
20
Lecture “the Jacobian”
Appendix
[U,S,V'] = svd(M)
% where
% M - any matrix whatsoever, Mx = b / multiply by MT from left
% S - diagonal matrix with sorted positive singular values MTMx = MTb
% U,V - orthogonal matrices (even orthonormal since factors taken into S)
x = (MTM)-1MTb
%% Goal: Robust calculation of the inverse (the part: inv(M‘*M) using SVD factors of M)
%
% % Recall that
% 1) V'V=I since V orthonormal by definition of the SVD factorization,
Result/Summary:
% inv(V)=V' and note that V' is much simpler to do than inv(V) !! 1. Inv(S2) is very simple to calculate with SVD
% 2) U’U=I same as above since S2 is diagonal (we only have to square
% 3) S2=S’*S is a square diagonal matrix with squared elements of S
and invert r-diagonal elements of S2,
% therefore:
% inv(M’*M) = inv((USV’)’USV’) =
i.e. 1/(sii*sii)
% = inv(VS’U’USV’) =
% = V*inv(S2)*V’ where S2=S’*S 2. Hence, using SVD factorization, a matrix
%
inversion (in general, a complex problem,
% the Moore-Penrose pseudo-inverse is then given by
% inv(M’M)M’=V*inv(S’*S)V’*VS’U’= V*inv(S)’*U’
numerically not always very well conditioned)
becomes a weighted product of an orthonormal
3. inv(S)’ = take reciprocal of all non-zero
matrix V with its transposition V‘
diagonal elements, leave zeros in place
and transpose the whole matrix
Theory of Robotics & Mechatronics — 151-0601-00 42
21
SVD-based Computation of
the Null Space of J
Jx=0
• Recall:
- Any m x n matrix J can be decomposed into
T
Jm n Um m V
m n n n U , V are orthonormal
1 0 0 0 0 0
where the diagonal matrix (same dimension as J) 0 0 0 0 0
2
contains r singular values of J such that
m n 0 0 0 0 0
n m r 1 2 r 0 0 0 0 r 0 0
0 0 0 0 0 0
22
Decoupling of Singularities
(Simplification - union of arm J11 and wrist singularities J22 obtained independently)
Linear Mapping
23
Perpendicular Subspaces
Linear mapping:
Inverse Mapping
24
Theory of Robotics &
Mechatronics
Inverse Kinematics
Inverse Kinematics
Forward Kinematics
g st ( ) H N0 ( )
Robot sensors
Position + Orientation (Pose)
(joint space) of the robot in Cartesian space
Inverse Kinematics
1
Introduction
12 equations
(not independent)
6 unknowns in 2
trigonometric functions
x0
2
Challenges / Overview
Remark: Some kinematic chains (e.g. those with a spherical wrist) allow to find a closed-form
solution – applies for most industrial robots (usually based on decomposition into many sub-problems)
Theory of Robotics & Mechatronics — 151-0601-00 5
• Suppose that the desired position and orientation of the final frame are given
by:
H N0 ( 1 , 2 , d3 , 4 , 5, 6 )
1, 2, d3, 4, 5 , 6
3
Example: Stanford arm + spherical wrist
(Numerical solution)
• Even though you have not seen how this solution was derived,
it is not difficult to verify that it satisfies the forward kinematics
equations for the Stanford arm!
• Note, there are few efficient techniques which allow us to exploit several particular
kinematic structures (see next slides)
4
Known Problems & Solutions
2. cos(+ ) = cos(– )
3. sqrt(x) = ( )
0 T T
0 1 R1 R10 T10
H 1
013 1
4 4
5
Decoupled Wrist Kinematics –
Spherical wrist
• Spherical wrist: 3 revolute joints,
the axes of the final 3 joints pass
through the same point (i.e., the
wrist center). This simplifies the
inverse kinematics problem
significantly by separating the
T30 inverse orientation and inverse
position problems.
T60
6
Decoupled Wrist Kinematics
If R60 and T60 are the desired orientation and position of the tool frame:
1. Find the first three joint angles that place the wrist center at:
T30 T60 d 6 R60 a , ( a is the Z 6
axis of the tool frame also k nown as the approach vector )
T60
Transcendental Functions
7
Atan2
8
Example: Articulated Robot - 1
Geometric approach (for theta1)
T
Pc xc yc zc
wrist center infinitely many solutions
for xc yc 0
A singularity
configuration
Left-arm
1
1
atan 2 y c , x c
atan 2 y c , x c
atan 2 d , r 2 d2
atan 2 d , r 2 d2
atan 2 d , x c 2 yc 2 d2
atan 2 d, xc 2 yc 2 d2
Theory of Robotics & Mechatronics — 151-0601-00 18
9
Example: Articulated Robot - 3
Geometric approach (for theta2 and theta3)
r2 s 2 a 22 a 32
cos 3
2 a 2 a3
xc 2 yc 2 d12 z c2 a 22 a 32
2 a 2 a3
2 atan 2( s , r ) atan 2( a 3 s3 , a 2 a 3 c3 )
atan 2( z c , x c 2 yc 2 d 12 ) atan 2( a 3 s3 , a 2 a 3 c3 )
R, , RZ , RY , RZ , R63
ccc ss ccs sc cs
R , , scc cs scs cc ss
sc ss c
4 Y3
5
6 X3
,
Z3
Theory of Robotics & Mechatronics — 151-0601-00 20
10
Example: Inverse Orientation - 2
Algebraic approach (Concentrate on the simplest elements)
We get either 2 solutions or infinitely many / even cos( ) function or for =0+ k , i.e. r33= 1)
Thus only the sum ( ) can be determined as: atan 2(r21 , r11 ) atan 2( r12 , r11 )
11
Inverse Velocity
v0
1
1 v0
0
J 6 xN θ J 0
• J must have N=rank= 6
• If the rank of the Jacobian is less than 6 there may not be a solution.
We would like to get the “best” approximate solution.
12
Theory of Robotics &
Mechatronics
1. Redundant Robots
1
Hyper-redundant Robots
• Major disadvantages:
Low rigidity & High complexity
Symmetric Tools
2
Kinematics
(Redundant Robots)
• The derivation of the forward kinematics is no different than
before. Using the product of exponentials:
ˆ ˆ
g st ( ) e 1 1 e n n
g st (0)
with n > p (usually 6) p - dimension of the workspace
p = 6 for 3D spatial robots
p = 3 for 2D planar robots
Internal Motion
(Redundant Robots)
• It may be possible to move the joints of the robot without moving the
tool frame. The tool frame is motionless if
Vsts J sts ( ) 0
• This is true for any joint velocity in the null space of the Jacobian
• This is referred to as self motion or internal motion
3
Optimizing Paths
(Redundant Robots)
• Some criteria must be used to choose the joint trajectories
• Typical solution is to go for the minimum joint velocity
(which gives us the desired workspace velocity) by choosing
J st ( )Vst
where J st J T ( JJ T ) 1 is the Moore-Penrose pseudo-inverse J
J ( n m )VstS ( m 1) VstS m
( n 1)
Minimum joint
velocity
2. Parallel Robots
(2 or more serial chains connecting the end-effector to the base)
4
Delta and Hexa
Kinematics
(Parallel Robots)
• The inverse kinematics of a parallel robot is not more difficult than
in the open-chain case (often simpler).
• The forward kinematics is complicated (compared to the open-chain
case) by the closed loop nature of the mechanism we have to deal
with the constraints given by the “structure equation” , typically there
are multiple solutions.
Example: Steward platform
• forward kinematics very difficult
(due to a large number and a
complicated form of the constraints),
• whereas its inverse kinematics
is remarkably simply (computed as
simple as distances between points
in 3D).
5
Forward Kinematics
Grübler’s Formula
(Determine Mobility)
• Determining the number of degrees of freedom directly
of a parallel manipulator (or possibly serial) can be difficult
6
Grübler’s Formula
(Example 1: Stewart Platform)
• The number of joints g=18
(6 universal, 6 ball and socket, and 6 prismatic)
• The number of links is N=13
(2 parts for each actuator, and
the end-effector – top link/platform, however,
without base link/platform)
• The sum of all the joint degrees of
freedom is 36
(2 for each universal, 3 for each ball and socket,
and 1 for each prismatic in each of the 6 chains)
• The number of degrees of freedom of
this manipulator is F=6
g
F 6( N g) fi 6(13 18) 36 30 36 6
i 1
7
Theory of Robotics &
Mechatronics
Numerical Methods
Numerical Methods
• Inverse Kinematics
– Linear approximation
– Solving techniques
– Calculating Jacobians
– Other concerns
• Calibration
– Methods
1
Inverse Kinematics
• Can be expensive
Inverse Kinematics
• g d is the desired pose, and is the actual set of joint angles to get to g d
• Inverse Kinematics
g st1 ( g d )
• How?
– gst-1 is nonlinear
– find a linear approximation to gst-1
2
Linear Approximation
• Taylor series
Linear Approximation
Vˆ s g st ( a ) g st ( a ) 1 Vˆ b g st ( a ) 1 g st ( a )
(substitute)
Vs J s( a) Vb Jb( a)
(rewrite)
^
g st ( a ) s
J ( a) g st ( a ) g st ( a ) g st ( a ) J b ( a )
(discretize)
s ^
g J ( a) g st ( a ) g g st ( a ) J b ( a )
(rewrite)
s
J ( a) 1
g g st ( a ) 1 Jb( a) 1
g st ( a ) 1
g
3
Calculating Inverse Kinematics
J s( a) 1
g g st ( a ) 1
// compute change in joint DOFs
4
Inverting the Jacobian
Pseudo-Inverse
J ( J T J ) 1 J T , (n m) J J T ( JJ T ) 1 , (n m)
• This is a method for finding a matrix that
effectively inverts a non-square matrix:
5
Pseudo-Inverse
0 2 0 0 0 0
T 0 0 0 0 0
Jm n
Um m m n
Vn n
U , V are orthonormal m n
0 0 0 r 0 0
0 0 0 0 0 0
1 0 0 0 0
• The pseudo-inverse is given by: 1
1
0 0 0 0
T 2
Jn m Vn n n mU m m n m 0 0 0 0
0 0 0 1 0
r
0 0 0 0 0
0 0 0 0 0
Jacobian Transpose
(2. Approach to IK)
• Another technique is to simply take the transpose
of the Jacobian matrix!
• Surprisingly, this technique actually works pretty well
• It is much faster than computing the inverse or pseudo-inverse
• Also, it has the effect of localizing the computations. To compute
for joint i, we compute the column in the Jacobian matrix Ji as
before, and then just use: (instead of the Jacobian inverse we
derived before)
JT g g st ( a ) 1
6
Nonlinear Methods
(3. Approach to IK)
• Problem recast to minimization of the following criterion:
min g d g st ( )
• Nonlinear methods
– Newton-Raphson iteration
– Gradient Decent
– etc
• Matlab tools
– fmincon(), lsqnonlin()
– Note that availability of analytical Jacobian can drastically
speed up these functions
When to Stop?
• Stopping criteria
– Local minimum
• Options for what to do next
– Accept result as best we can do
– Randomize starting point and try again
– Try a different algorithm
7
Units & Scaling
(Potential numerical problems)
• Rotational DOFs use radians and translational DOFs use
meters
Calibration
• Problem:
– Due to manufacturing tolerances, a real robot does not exactly
match that of its model.
– Thus, all forward and inverse kinematics calculated with these
models will contain inaccuracies
• Goal:
– Can we calibrate our manipulator such that these inaccuracies
will be minimized?
• How:
– Move the robot to a variety of poses and collect truth values of
where the end effector actually is for each joint value
– Use these values to correct the model
8
Methods
• Open-loop methods
– An external metrology system used to measure pose of end
effector
– The number of parameters measured can vary from 1—6
– The kinematic parameters are found from a nonlinear
optimization of the total pose set
• Closed-loop methods
– The end effector is attached to the ground and forming a mobile
closed kinematic chain
– Calibration is achieved using joint angle sensing alone
• Screw-axis measurement methods
– Identify individual joint axes as lines in space
– From this information, kinematic parameters can be found
analytically
Calibration Jacobian
y ymeasured ymodeled 1
2
y J cal ( pa ) p pa
p p pa
n
g st 0 e
• Where the Calibration Jacobian matrix Jcal maps changes in
calibration parameters p to differences between measured and
modeled end effector pose y
9
Calibration Jacobian
g st 0 e
n 1
ˆ s
QM Ad e i i
Ad e ds
i 0 0
J cal J | Q1 | Q2 | Q3 | Qn | QM
Conclusions
10
References
11
Theory of Robotics &
Mechatronics
Dynamics
Robot Dynamics
1
Robot Dynamics
i torque/force at joint i
• Reaction = - Action
• Time rate of change of linear momentum of a body is equal to
the net force acting on it.
• Time rate of change of angular momentum of a body is equal
to the net torque acting on it.
2
Newton-Euler Equation for a General
Rigid Body
• Motion of a rigid body subject to an external wrench applied at the
center of mass of the body
• Every quantity is expressed in body coordinates
• Inertia matrix is constant in body frame
mI 0 vb b
mv b
b b b
Fb
0
• We write the dynamic equations for each link with the vectors
expressed in that link’s coordinate frame. Many vectors in the
equations become constants this way.
• The equations for the links will have common terms due to action-
reaction.
• By “walking” back and forth along the kinematic chain we will resolve
this coupling between the links. Y2
Link 2
Y1 Z2
Y0
Link 1 X1
X0
Z1 2
3
Forces and Moments on a Link
Zi 1 Zi
fi i Xi Mi gi
1 Xi
( Rii 1 fi i 11 )
Linki i 1 N
Linear Momentum
4
Angular Momentum
Z0 H ri ( ri )dm
V
yi2 zi2 xi yi xi zi x
2 2
ri xi yi x
i z i zi yi y dm
X0
V
xi zi zi yi yi2 xi2 z
Y0 I xx I xy I xz x
I xy I yy I zy y I
I xz I zy I zz z
Inertia Tensor
d (I 0 0 ) 0
I 0 (t ), i.e. I 0 changes with time
dt
Theory of Robotics & Mechatronics — 151-0601-00 9
Angular Momentum
IC C C
(I C C
) C
: Euler's Equation
Gyroscopic term
ZC
Z0
XC
X0
YC
Y0
5
Angular Momentum
i i i i
Ii i i ( Ii i ) i Rii 1 i 1
i 1 fi i rii,Ci ( Rii 1 f i i 11 ) rii 1,Ci
Dynamic Equations
M i aCi i fi i ( Ri1 1 fi i 11 ) M i g i
i i i i
Ii i i ( Ii i ) i Rii 1 i 1
i 1 fi i rii,Ci ( Rii 1 f i i 11 ) rii 1,Ci
• For the last link (i=N) there is no “next link” f NN 11 0, N 1
N 1 0
• If we knew the linear and angular accelerations and velocities of the
links we could go backwards from the last link and find all the force
and torques!
• On the other hand, the velocity and acceleration of each link is
“induced” by the links before it!
• Therefore, we will first move forward along the kinematic chain
(i=1 N) to determine the velocity and acceleration terms (forward
recursion) and then we will go backwards (i=N 1) to solve the force
and torques (backward recursion).
Theory of Robotics & Mechatronics — 151-0601-00 12
6
Angular Velocity and Acceleration
Yi 1
Y0
Joint i Xi 1
Yi Xi
X0
Link i
Z0 Zi 1
i , i, i Zi
0 0 • The velocity and acceleration of each
i i 1 Z i0 1 i Link i is related to the velocity and
i i i 1 acceleration of the previous Link i-1
i R i 1 i 1 ( Ri0 )T Z i0 1 i
• For the first link (i=1), there is no
“previous link” 0 0
0 0 0
Z i0 1 0
Z i0 1 0 0, 0 0
i i i 1 i i i
i
i ( Rii 1 )T i 1
i 1 ( Ri0 )T Z i0 1 i
i
i [( Ri0 )T Z i0 1 ] i
Linear Acceleration
Y0 Yi 1
Joint i Xi 1
Link i
Ci Yi Xi
X0 i
r
i ,Ci
Z0
vC0i =vi0 1 0
ri 0,Ci
Zi 1 rii 1,Ci
i
i , i, i Zi
vi0 =vi0 1 i
0
ri 0,Ci ri 01,Ci
vC0i : Velocity of the CM of Link i, expressed in Frame 0 • For the first link (i=1)
0
v : Velocity of the origin of Link i-1, expressed in Frame 0
i 1
a0,0 C0 0, a00 0
aC0i ai0 1 i
0
ri 0,Ci i
0
i
0
ri 0,Ci
1 T
aCi i Rii aii 11 i
i rii,Ci i
i i
i rii,Ci
1 T
aii Rii aii 11 i
i rii,Ci rii 1,Ci i
i
i
i rii,Ci rii 1,Ci
Theory of Robotics & Mechatronics — 151-0601-00 14
7
The Lagrangian Method
L K V,
K : Total kinetic energy of the system
V : Total potential energy of the system
d L L
i ( )
dt i i
• M 2C is a skew-symmetric matrix
8
The Cartesian State-Space Equation
Planar R- Robot
r (t )
9
Planar R- Robot
K KS KA K Load
I S : Moment of inertia about the axis of rotation of the shoulder
I A : Moment of inertia about the axis of rotation of the arm, I A,CM M A (r L / 2) 2
M A , M Load : Mass of the arm and the point load
1 2
KS IS
2
1 2 1
KA IA M Arm r 2
2 2
K.E. due K.E. due
to rotation to arm extension
1 2
K Load M Load r r2
2
Theory of Robotics & Mechatronics — 151-0601-00 19
Planar R- Robot
1 1
K I S I A,CM M A (r L / 2) 2 M Load r 2 2 M A M Load r 2
2 2
L K V , no potential energy due to horizontal plane of rotation so
V 0 and L K
• Find FA, Force load on the prismatic arm joint. Joint variable is r.
L
MA ML r
r d L L
d L i
dt
MA ML r i i
dt r
L 2
MA r L/2 M Load r
r
2
Arm FA MA ML r MA r L/2 M Load r
Theory of Robotics & Mechatronics — 151-0601-00 20
10
Friction: A Parasitic Force in Robotics
11
Theory of Robotics &
Mechatronics
1
Path vs. Trajectory
Trajectory Definition
2
Joint Space vs. Task Space
Trajectories
•
Using inverse kinematics we can
convert from task space to joint space.
The path points can be written in
terms of joint variables, describing the
trajectory in the joint space.
• Following the joint space trajectory, the end-effector will be at the desired
position and orientation at the via points. However, in between the via points
the generated path, while simple in joint space, may be complex in task
space.
• Joint space trajectory generation is the easiest to compute and inherently
avoids any singularities. However, we must make sure there are no obstacles
in the resulting
Cartesian path.
(t0 ) 0 , (t f ) f
• For example, a cubic polynomial function
may be used to add two constraints of
velocity to achieve a smooth (in first
derivative) function.
(t0 ) 0 , (t f ) f
3
Polynomial Interpolation
• Position, velocity and acceleration profile of a single cubic segment that starts and
ends in rest.
• The desired velocity at each via point may be given by the user in terms of Cartesian
(translational and angular) velocities. This definition is then translated to joint space
velocities by the inverse Jacobian.
• To add acceleration constraints, we could go up to fifth order (quintic) polynomials.
(t ) a5t 5 a4t 4 a3t 3 a2t 2 a1t a0 6 equations in 6 unknowns
(t ) 5a5t 4
4a4t 3
3a3t 2
2a2t a1 • Increasingly oscillatory path as the
order increases
3 2
(t ) 20a5t 12a4t 6a3t 2a2
Theory of Robotics & Mechatronics — 151-0601-00 7
(t ) a2t 2 a1t a0
(t ) 2a2t a1
(t ) 2a2
0
t0 tb t f tb tf
4
Linear Segments with
Parabolic Blends
• Given the joint positions and time
at both ends, the blend time and
f the (constant) acceleration are
Half related.
point , constant acceleration
during blend
• Usually an acceleration is chosen
f
and the blending time is
computed. We cannot chose the
acceleration too low otherwise
0
t0 th t f tb tf the blending time will increase
tb
and the linear portion will “shrink”
h b 1 2 to zero.
tb tb 0 b
th tb 2 (t f t0 )
2 2
(t f t0 ) 4 ( )
f 0
Velocity at t b Position at t b tb
2 2
t f t0 2th 4( f 0)
tb 2
(t f t0 )tb f 0 0 (t f t0 )2
5
Linear Segments with
Parabolic Blends
• If some of the via points have to be exactly passed through, we can
use two pseudo via points on either side of the exact via
(sometimes called a through point).
• Most common type is the piecewise linear path in task space. The
same idea as the linear segments with parabolic blends is used, this
time in the task space.
• Other than the three position variables, three orientation variables
are also defined and blended at the via points.
• If the orientations of two via points are given by rotation matrices, we
can not simply interpolate the values of the corresponding elements
of these matrices between the via points. This could violate the
orthonormality constraint of the matrix during the interpolation.
RBA
B
A
Theory of Robotics & Mechatronics — 151-0601-00 12
6
Interpolating Orientations
RBA RB0
RA0
7
Optimization Methods for
Trajectory Planning
• Hard constraints define positions, velocities at certain via points.
• Soft constraints define an overall objective to be achieved during
trajectory planning
• Minimize (or maximize) a cost function while attaining the hard
constraints. f
2
C , minimum kinetic energy
0
f
C f ( , ,...)
f
2
C , minimum jerk
0 0
f
2
C , minimum torque change
0
Robot Control
8
Independent (Decentralized) Joint
Control
• This is the simplest control scheme. Each joint is considered as an
independent single input single output (SISO) control task. The
coupling of inertial terms between the joints are neglected.
• Lowest computational demand. Suitable for slow motions and joint
motors with high gear ratios.
R
1 ,R 1
Controller Joint dynamics
1 , 1
R
2 ,R 2
Controller Joint dynamics
2 , 2
VA lAiA RAiA ke m
• Current amplifier motor drivers are often used that establish closed loop
control on the motor current and minimize the inductive effects so that the
motor current can be directly commanded (by a voltage signal from the
computer).
Theory of Robotics & Mechatronics — 151-0601-00 18
9
Effective Inertia
• The motor (rotor), the gearbox and the load present inertial loads on the
motor. Usually the moment of inertia of the gearbox as seen from the motor
shaft is specified and can be added to the rotor inertia term.
m , m 1 L , L
Motor Gearbox Load
Im IL
L m , m L • Effective inertia is the total inertia as seen
from the input or output side.
1 1
m Im m IL m • With a large gear ratio the motor inertia
becomes a more significant portion of the
IL effective inertia. In other words, the torque
I m,effective Im 2 load on the joint motor is less dependent
on the load inertia (which changes
2 depending on the current configuration of
I L ,effective IL Im
the robot)
Theory of Robotics & Mechatronics — 151-0601-00 19
R( s) 1/G(s) G(s)
• We can still use our “best guess” of the system model in a feedforward loop and let the feedback
loop handle the “unknown” disturbances. The feedback loop only reacts to an existing error where
as the feedforward loop predicts the necessary input to the system and acts before an error occurs.
• The feedforward loop is still decentralized in that it uses an independent model of each joint with an
effective inertia, neglecting the true dynamics of the robot.
Feedforward
Controller
R
1 ,R 1
Feedback
Controller
Joint dynamics
1 , 1
10
Computed Torque Method
• We could go another step ahead and predict the “disturbance” terms due to complete
robot dynamics that was neglected before. We can calculate the required torque load
on the actuator using the forward dynamics equations which we have studied.
• The dynamics equations are very
1 f1 ( 1,2, , N , 1,2, , N , 1,2, , N ) complicated and costly to
compute in real-time. The
1,2, , N , development of efficient recursive
Centralized
methods, such the Newton-Euler
1,2, , N , Feedforward
Controller formulation we studied, were
Decentralized partly motivated by the need to
1,2, , N
Feedforward compute the dynamics in real-
Controller time.
R
1 ,R 1
Feedback
Controller
Joint dynamics
1 , 1
Centralized Control
mx cx kx3 f
• If we apply the following change of variables, the system is linearized:
f f x f
m • We can now develop a linear
cx kx 3 controller (i.e., a PID controller) for
this system.
11
Inverse Dynamics Control
M( )
V ( , ) G( )
, the "new" system is nonlinear and decoupled!
Theory of Robotics & Mechatronics — 151-0601-00 23
• Perform control in
Cartesian space, rather X
than joint space Xd J-1 Gains Arm
• This gives desired
response of the tool
frame, rather than the X Kin( )
individual joints
X F
Xd Gains JT Arm
• These two schemes are
not the same!
X Kin( )
12
Advanced Control Schemes
13
Theory of Robotics &
Mechatronics
Contact Tasks
1
Force Sensors
2
Static Force/Torque Relationship
Fx 1
Fy
FR F FR F 1
Fz
FR 0
Y0
x J T FR0
y
z N
X0
Z1 2
• Singularities also have a
Z0 1 significance in terms of forces
that can be (actively)
generated by the robot. Cannot exert forces in this
direction
• Stiffness
– Proportionality constant k that relates a static displacement to
the force due to this displacement
F k X • We cannot describe
(control) force and
displacement
independently
• Compliance
– Inverse of stiffness
– Passive compliance: Non-actuated (“internal”) tendency of a
body displaced due to external forces (e.g., compression of a
spring)
– Active compliance: Controlled compliance in response to an
external force, e.g., in order to keep the contact force at a certain
limit (“actively giving in”)
Theory of Robotics & Mechatronics — 151-0601-00 6
3
Compliance Frame
(Constraint Frame)
• A time-varying coordinate
frame called the compliance
frame is defined to describe Compliance frame defined at the
the contact task. end effector
Compliance Frame
xc yc
vx
vy
fz
ωx
ωy
τz
4
Peg in Hole
Passive Compliance
5
Active Compliance
Compliance Control
• We can now control the force by modifying the position reference such that
the resulting position error will end in a desired force through the 6-DOF
stiffness matrix.
• Using a force sensor to measure the actual force, we can measure the error in
the desired and actual forces and adjust the position reference in real-time.
• This is a modified position control scheme to accommodate the constraints,
therefore, it can be applied with commercial robot (path) controllers by
changing the desired path on the fly.
6
Impedance Control
• Similar to compliance control but the end effector is made to behave like a
6 DOF mass-spring-damper system.
• Applied by modifying a task-space path control scheme such as inverse
dynamics control.
• Often used with robotic hands where the fingers must grasp with certain force.
The fingers must be springy enough to deform and not damage the object
while stiff enough to hold the object when subject to disturbances caused by
contact with other objects, for example, in assembly.
0 0 0 1
7
Haptic Interfaces
The PHANToM
8
Parallel Haptic Interfaces
Admittance Devices
9
Haptics for Teleoperation
• The field of haptics does not yet have a good unified text
• Three papers of interest:
– The first discusses the design of haptic devices
J. E. Colgate and J. M. Brown, “Factors Affecting the Z-Width of
Haptic Display,” IEEE Int’l. Conf. Robotics and Automation, pp.
3205-3210, 1994.
– The next discusses the interaction with virtual environments
through what is now commonly referred to as a “proxy”
C. B. Zilles and J. K. Salisbury, “A Constraint-based God-object
Method for Haptic Display,” IEEE/RSJ Int’l. Conf. Intelligent
Robots and Systems, pp. 146-151, 1995.
– The last discusses the stability of human interaction with virtual
environments
R. J. Adams and B. Hannaford, “Stable Haptic Interaction with
Virtual Environments,” IEEE Trans. Robotics and Automation,
vol. 15, no. 3, pp. 465-474, 1999.
Theory of Robotics & Mechatronics — 151-0601-00 20
10
Theory of Robotics &
Mechatronics
Perception
Manipulation Cognition
1
Perception
• Photoreceptors
– Vision and Related Information: distance, motion, size, color, texture, location,
orientation, etc.
• Mechanoreceptors
– Sense of Feel: proprioceptive and tactile: weight, pressure, texture, shape, motion
– Sense of Hearing: direction of noise, vibration, strain sliding, impact
• Chemoreceptors
– Sensor of smell: chemical composition and reactions (fires)
• Thermoreceptors
– Locate heat sources
– Measures temperature
• Electromagnetic
– Measure of radiation
– Measure electrical component status
• Inertial
– Sense of balance
– Measure acceleration, velocity, orientation, and position
2
Vision as a Sensing Mode
• Non-contact
• Large area of inspection possible
• Images are ambiguous; many variable parameters:
– Illumination
– Reflectivity, texture
– Surface orientation
– Sensor model
• Algorithms are computationally expensive
• We make it look easy but we do not understand how the
human visual system works.
• Computer technology changes continuously and so does
computer vision.
3
The Vision Problem
Given
Find
Theory of Robotics & Mechatronics — 151-0601-00 7
Computer World
vision model
World Computer
model graphics
4
Motion Capture, Games
Applications of Vision:
Document Analysis
2D Barcode Reading
5
3D Scanning
6
Face Recognition, Biometrics
Biometrics
7
Robotic Applications of Vision
• Automated Assembly
From Production Device for Matching
18 25 Errors in
Comparison
Processor Memory > 10,
therefore
Camera rejected
Light Source
Capture Card
Viewing Area
Connector Being
Scanned
Electromagnetically
Controlled Door
Reject Bin
To Packing Machine
Automated Inspection
8
Automated Inspection
Automated Positioning/Inspection
Scanning
Machine Positioning/Inspection
9
Automatic Inspection of
Precision Components
• Quality assurance
• Features to be checked
– dimensions within specified tolerances
– correct positioning, orientation and alignment
– correct shape of objects and holes (especially roundness)
– whether corners are misshapen, blunted or chipped
– presence of holes, slots, screws, rivets, etc.
– presence of a thread in screws
– presence of burr and swarf
– pits, scratches, cracks, wear and other surface marks
– quality of surface finish and texture
– continuity of seams, folds, laps and other joins
• Accuracy influenced by
– Lens optics
– Sensor spatial resolution
– Digitizing accuracy
– Image processing algorithm
10
Guidance and Control
Automated Assembly
• Part Location
– pick-and-place
• Assembly Verification
ABB
Flexpicker
11
Vision System Components
Illumination Techniques
Ring lighting
Backlighting
12
Illumination Techniques
Provides diffuse
illumination without
sharp shadows
• Text on wrinkled aluminum foil with ring light and diffuse dome/axial light.
Theory of Robotics & Mechatronics — 151-0601-00 25
Image Formation
(Geometrical Optics)
• Light rays from a
point in the scene
“projects” to many
points on the
film/sensor. No
image is formed.
13
Camera Obscura
Adding a Lens
“circle of
confusion”
14
Single Lens
focal point
optical center
(Center of Projection)
Depth of Field
15
Real Lens Systems
Variable Parameters
• Focus
– lens to sensor distance
• Focal Length
– also called zoom or magnification
• Aperture
– also called f-stop or f/number
• Depth-of-field?
16
Chromatic Aberration
Human Eye
17
Cameras
CAMERAS
Incoming Light
photon
- + Electrical Connection
+ e- e- e- e- e- e- e- e- Silicon
- + Potential Well
battery
Simple Photodetector
18
CCD Sensors
CMOS Sensors
• Complementary Metal-Oxide
Semiconductor technology is
widely used for manufacturing
VLSI circuits.
• Similar to CCD in photon-to-
electron conversion but each
pixel has its own dedicated
buffer circuitry. All electronics
is integrated into a single chip.
• Better suited for complicated
functions, digital output, partial
output of the pixels
Single-chip Integrated CMOS (windowing).
sensor
• Less costly (in quantity),
13 13 mm square chip, the analog mostly used in low cost
output can directly drive a video monitor
without any other circuitry! imaging, security, web cams,
etc.
Theory of Robotics & Mechatronics — 151-0601-00 38
19
Linear Arrays
Photodiodes CCD
OS1
Transfer Gate
Transfer Gate
Photodiodes
Transfer Gate
OS
OS2
Linear Array CCD
Bilinear Array CCD
20
CCD Formats, Frames/Fields and
Sampling Rates
• 1 Frame = 1 640 480 image
• Framerate = 30 Hz
• ~9 MB/s for 8 bit/pixel images (grayscale)
• 1 Frame = 2 Fields
• “Fieldrate” = 60 Hz
• Combining Fields => Interlacing
Types of Images
• Binary
• Grayscale
• Color
21
Lena Söderberg
22
Color-depth vs. resolution
23
Spectral Sensitivities
Color Cameras
Sensor Chip
s
f
m
m
s f
f
s
Lens
R G R G
(m) beam-splitting mirrors
(f) R, G, B color filters G B G B
(s) CCD sensors R G R G
G B G B
24
Foveon Sensor
• CMOS-based technology
• Layers for color capturing at each pixel
Temperature Sensors
• Infrared Imaging
– near IR (400 – 1300 nm)
– mid IR (400 – 2200 nm)
– far IR (600 – 25,000 nm)
– Pt/Si Focal Plane Arrays 256 256
– Bolometers (miniature RTDs or
thermistors)
25
Cameras
CAMERAS
26
FrameGrabbers
Camera Modeling
f XC f YC
xs , ys
sx Z C s y ZC
f : focal length
sx , s y : size of sensor pixels
27
Camera Calibration
– Back-projection (inverse
perspective) Zw
Calibration Parameters
28
Calibration Alternative
Interpolation
(Martins, Birk, Kelley (1981))
• Let Pj = [Xj,Yj,Zj]T be a calibration point
• Let Qj = [xj,yj,1]T be a corresponding pixel
• Assume a linear transformation: A: Q P
• Thus Pj = AQj and [P1, P2,…, PN] = A [Q1, Q2,…, QN]
• [P1, P2,…, PN] and [Q1, Q2,…, QN] are known
29
Other calibration issues
30
Theory of Robotics &
Mechatronics
ALGORITHMS
1
Commonly Used Algorithms
• Data Reduction
– The point of applying computer vision
algorithms is to reduce your data from a
512x512 x 8bit image to something that is
meaningful.
Acquisition
Prefiltering
Recursive/
Adaptive
Filtering Special Purpose Image
Processing Hardware
Image
Segmentation
Geometric
Operations
Feature
Extraction
Image
Classification General Purpose CPU
Image
Evaluation
2
Image as a Function
f: [a,b]x[c,d] [0,1] x
3
Digital Images
4-neighbors 8-neighbors
Statistical Operations
• Thresholding
• Histogram Equalization
• Multi-Image Operations
4
Thresholding
Histograms
Number 40
of
Pixels 30
20
10
0
Pixel value
5
Histogramming
• Adaptive thresholding
divides the image into
regions and computes
thresholds for individual
regions. Used when
many objects are in a
scene.
Histogram Equalization
• Adaptive techniques
equalize sections of
images separately.
6
Histogram Equalization
Multi-Image Operations
• Image subtraction/addition/averaging
- =
I1 I2 -I3
7
Background Subtraction
Detecting Intruders
• Image subtraction
- =
ALARM
• Identification
Theory of Robotics & Mechatronics — 151-0601-00 16
8
Spatial Operations and
Transformations
• Operations that involve pixels and their neighbors
– Transformations
– Image convolutions
– Edge detection
rotated stretched
9
Recording Blood Glucose Levels
Convolution
In 1D f g f*g
f g f*g
10
2D Convolution and Filters
1 1 1
1/9 1 1 1
1 1 1
• 3×3 Mean Filtering
kernel (mask)
Image Smoothing
11
Median Filtering
expensive to apply
(requires sorting)
Image Sharpening
• Surface reflectivity
• 3×3 Sharpening Kernel,
amounts to subtracting a
mean filtered (unsharpened)
copy of the image from the
original
-1 -1 -1
-1 8 -1
-1 -1 -1
12
Image Edges
depth discontinuity
illumination discontinuity
Edge Detection
x
x
F ’(x)
Large first derivative
13
Edge Detection
• 1D edge detection
f(x)
df ( x) f (x x) f ( x)
lim
dx x 0 x X
X-1 X+1
df ( x) f ( x 1) f ( x 1)
dx 2 Convolve with: -1 0 1
f g f*g
Edge Detection in 2D
y
1D 2D
I(x)
x
I(x) x I(x,y)
14
Edge Detection in 2D
0 1
f(x,y) f(x+1,y) • G1 = f(x+1,y) – f(x,y+1)
-1 0
f(x,y+1) f(x+1,y+1) 1 0
• G2 = f(x,y) – f(x+1,y+1)
0 -1
G G12 G22 G1 G2
atan2(G 2 , G1 )
-1 0 1 -1 -1 -1
Prewitt -1 0 1 0 0 0
-1 0 1 1 1 1
15
Edge Detection
Edge Detection:
Laplacian of Gaussian
Laplacian operator smoothed by a Gaussian filter
0 -1 0 -1 -1 -1
-1 4 -1 -1 8 -1
0 -1 0 -1 -1 -1
16
Laplacian of Gaussian
2 2
f f 0 -1 0 -1 -1 -1
L ( x, y ) 2 2
-1 4 -1 -1 8 -1
x y 0 -1 0 -1 -1 -1
x2 y 2
1 x2 y 2 2
LoG ( x, y ) 4
1 e 2
2 2
Threshold x x
17
Canny Edge Detector:
Non-maximum suppression
3 1 3 5 6 0 0 0 0 6
3 5 4 6 7 0 0 0 0 7
5 6 7 7 6 0 6 7 7 0
7 6 5 6 5 7 0 0 0 0
6 5 6 3 1 6 0 0 0 0
v f(x, y)
vNW vN vNE
v vN v vS direction 0
vW v vE v v NW v vSE direction 45
f(x, y) is edge
v vW v vE direction 90
edge direction vSW vS vSE
v v NE v vSW direction 135
4. Apply Hysterisis
Thresholding: Instead
of only one threshold, Es(i,j)<H
there is a high threshold Es(i,j)>L
H and low threshold L.
Those pixels with Is edge
strengths above H are
labeled as an edge. If a
pixel is labeled as an
edge, its neighbors along
the edge direction ( +90) Es(i,j)>H
whose strengths are
higher than L are also Is edge
labeled as an edge. This
“chain-reaction” is
continued until all pixels
in the image are Es(i,j)<L
processed. This way
Es(i,j)>L No-edge
strong edges reinforce
adjacent weak edges. No-edge
Theory of Robotics & Mechatronics — 151-0601-00 36
18
Canny Edge Detection:
Hysteresis Thresholding
6
5 4
7 6
7 3 4
19
Canny Edge Detector
Segmentation
20
Segmentation: Morphological
Operations
• Erosion: Shrinking
• Dilation: Growing
Dilation
8-connectivity
21
Segmentation:
Morphological Operations
Thinning Operations
Segmentation: Skeletonization
thinned skeleton
medial axis
22
Segmentation: Medial Axis Transform
23
Hough Transform for Lines:
Alternative Method
• Slope-intercept form unsuitable for vertical lines
• Use normal representation of line:
x cos + y sin =r
-
0 (xmax2+ymax2)1/2
r
Theory of Robotics & Mechatronics — 151-0601-00 47
• Circle
– (x-a)2 + (x-a)2 = R2
– Accumulator array increments a, b, R lying on surface of cone
– Hough Space is 3D
24
Hough Transform
Edge points
Strongest
lines
described as Set of all
slope, m, possible
and lines
y-intercept,
b
25
Segmentation: Edge Linking
26
Object Classification
• Object measures
– Area (number of points in region)
– Perimeter (number of points on edge)
– Length (ymax-ymin)
– Width (xmax-xmin)
– shape analysis
• rectangularity
• circularity
Object Measures
• Invariant moments
– central moments (e.g., cog)
• x=1/n (x,y)∈R x
– principal axes
• Shape descriptors
– Fourier descriptors
– medial axis transform
27
Labeling
Blob Analysis
28
Pattern Recognition
P
Theory of Robotics & Mechatronics — 151-0601-00 57
Template Matching
29
Frequency Domain Techniques
• Fourier Transform
• Convolution = Multiplication in the Fourier domain
• Low-pass filtering
Fourier Transform
30
Fourier Transform
• Fourier Series
• Fourier Transform
• Discrete Fourier Transform
• Fast Fourier Transform
• Properties of the Fourier Transform
• The Convolution Theorem
• Discrete Fourier Transform
• Discrete Cosine Transform
31
Things We Haven’t Talked About
32
Theory of Robotics &
Mechatronics
• Visual Servoing
• Visual Tracking
• 3D Vision
1
End Point Sensing
Visual Servoing
2
Dynamic Position-based Look-and-
Move
• Vision loop provides position measurements which are used
as an input to the “regular” robot controller.
• In a position based scheme, the inputs from the visual system
are in 3D (task space) coordinates.
3
Direct Visual Servoing
Visual Tracking
4
Visual Features
Template Matching
5
SSD Tracking
Corner Detection
If min( 1, 2) > T
There is a corner!
Used in Harris Corner Detector and
Kanade-Lucas-Tomassi (KLT) Tracker
Theory of Robotics & Mechatronics — 151-0601-00 12
6
Active Contour Models (Snakes)
Snakes
7
3D Vision
Stereo Vision
• Knowing the location of the same point in two images, let us intersect the two
lines-of-sight and determine 3D location. Relative pose and projection properties
of the cameras must be known (calibration).
• The difficulty is to find the correspondences in two images that are the projections
of the same point.
• Epipoles: Intersection points of line through focal points
with image plane
• A point in the left image is constrained to a line
in the right image. This is called the
(right) epipolar line. The search window
is narrowed.
Focal point
Epipoles
8
Stereo Matching
Camera
Light stripe
9
Structured Light Implementation
Options
• Pattern can be black/white, color or IR
• Multiple cameras to avoid obstructions
Kinect
10
Kinect
Model-Based Tracking
11
Image Jacobian
• When a rigid object moves (i.e., translates and rotates) in space, the
projections (i.e., image plane locations) of the points on this object changes.
The amount of change is dependent on the location of the point and on its
motion as well.
• For a given instant this relationship is given by the image Jacobian matrix.
Visual Resolvability
1V1
12
Visual Resolvability
Stereo Model-Based
• Matches 2D feature points • Matches different 3D model points
between images to solve depth to 2D points in separate images
• Must have the same features • Not necessary to have the same
visible in both views features visible in both views
Camera 2
13
Model-Based Multi-Camera Tracking
Aperture Problem
Search is
constrained to a
line along the
Only the component of motion along normal to the edge
the normal is locally observable
14
Theory of Robotics &
Mechatronics
1015
Nearest
1012 Stars
Edge of the
109
solar system
Earth
106 to Mars
103
1 km
m
10-3
mm
10-6
10-9
m
nm
Making intelligent machines at
Å CNT sub-millimeter scales
1
What is Micro(Nano)robotics?
• Gravity
becomes negligible as part dimensions fall below
Volume ~100μm
Surface Area
• Surface Tension
caused by adherence of H2O molecules to part
surfaces
+ +
++
• Electrostatic Forces - -
due to differences in electric potential between --
objects
• Van der Waals Forces
atomic level interactions, highly dependent on
surface smoothness
2
Microforces
Research
vs.
3
Self Aligning and Self Assembly
Strategies Research
Fx = 8.87*10-7 N
Fy = -1.10*10-10 N
Stable equilibrium
achieved
Fx = 7.79*10-10 N
Fy = -9.98*10-13 N
Matchstick
Electromagnetics Electrostatics
Theory of Robotics & Mechatronics — 151-0601-00 7
Microrobotics
Research
4
Papers of Interest
• Two good papers that lay out the effects that microrobots and
nanorobots must confront
– E. M. Purcell, “Life at Low Reynolds Number,” American J.
Physics, vol. 45, no. 1, pp. 3-11, 1977.
– M. Wautelet, “Scaling Laws in the Macro-, Micro- and
Nanoworlds,” European J. Physics, vol. 22, pp. 601-611, 2001.
Re = lv inertial forces
viscous forces
BioMicroRobotics
10-3
mm
10-6
m
10-9
nm
5
Microrobotics for
Handling Biological Cells Research
50 m
Typical failure
Force resolution
down to 10nN
Sun, Nelson, Potasek,
Theory Enikov,
of Robotics J Microeng
& Mechatronics MicroMech, Oct, 2002
— 151-0601-00 12
Potasek, Sun, Fry, Nelson, MEMS2004
6
Investigating Mouse Egg Cell and
Research
Embryo Membrane Properties
oocyte
embryo
BioMicroRobotics
10-3
mm
10-6
m
10-9
nm
7
How Does a Bug Fly?
MOTOR OUTPUT
FLIGHT MUSCLES
Daniels Lab
Zoology
U. of Washington
WING HINGE
Fry
8
Fly Brain Structure
Fly Muscles
Dickinson
Theory of Robotics & Mechatronics — 151-0601-00 18
9
Neurons to Behaviors:
Measurement of Flight Dynamics: Drosophila (Fruit Fly) Research
5000 frames/s
Lift forces as
high as 35μN
10
BioMicroRobotics
10-3
mm
10-6
m
10-9
nm
Robotic Surgery
MINIMALLY INVASIVE
11
Given Imaging M2A Camera Pill
Magnetic Steering
Research
magnetic VM B
Helmholtz Coil pair provides
uniform magnetic field at the
direction of coil current center
Direction of Magnetization
M
Magnetic
Torque
12
Magnetic Steering
Research
Fmagnetic VM B
Maxwell Coil pair provides
uniform field gradient at the
center
Magnetic Force
Theory of Robotics & Mechatronics — 151-0601-00 25
Microassembled Microrobots
Research
13
In Vivo Magnetic MicroRobots
Wireless magnetically
guided microrobots
Theory of Robotics & Mechatronics — 151-0601-00 27
NanoRobotics
• Miniaturization beyond
MEMS (MicroElectro-
MechanicalSystems) is
needed
• NEMS (NanoElectro-
MechanicalSystems)
with novel nanoscale
structures will enable
many new Telescoping CNTs Nanoscrolls and
and Hybrid NEMS NEMS
nanosensors and
nanoactuators
Top electrode
Ground electrode
CNT-based NEMS
14
Hybrid NEMS
• Top-Down Approaches
– Nanolithography, Nanoimprinting, etching
• Bottom-Up Approaches
– Self-Assembly, Directed Self-Assembly, FIB, EBID, DPL
• Hybrid Approaches to NEMS
– A combination of approaches to develop prototype NEMS
devices
Manipulation Measurement
1cm 1 m
Nanomanipulation Nanoinstrumentation
100nm
NEMS
Materials
100nm
100nm
Fabrication Assembly
100nm
100nm 100nm
Nanofabrication Nanoassembly
15
Telescoping Carbon Nanotubes
(CNT)
• MWNT opened via destructive fabrication
Multi-walled Nanotube (MWNT)
(Opened via Destructive Fabrication)
Probe Probe
EBID EBID
l l0
g g l
G
V
V
I
16
TopDown NEMS
Nanoscroll Fabrication
with Dr. Grützmacher’s group at PSI
Substrate
A) Simulation Mask
Epitaxial deposition of SiGe
B)
Epitaxial deposition of Si
C)
Spin on photoresist
D)
Photolithography
Inductors
E) Chemical sensors
Dry etching Prototype Structures Force sensors
F)
Remove photoresist
G)
Wet etching
H)
17
Summary
Solid State
m
Molecular Biology
1950 2000
Theory of Robotics & Mechatronics — 151-0601-00 35
18
Theory of Robotics &
Mechatronics
Mobile Robotics
Overview
• Introduction
• Mobility
– Kinematics
– Types
• Control
– Deliberate,
– Reactive
– Hierarchical
– Behavioral
• Navigation
– Sensors
– Map Types
1
Uses: Exploration
• Space
– Voyager
– Mars Rover
• Earth
– Cliffs & Volcanoes
– Archeology
– Underwater
• Fire
• Earthquake
• Explosions
2
Uses: Human Interactions
• Tour Guide
• Entertainment
• Security
• Service
Humanoid Robotics
Sony SDR-3X
3
Big Dog
Control Architectures
• Approaches
– Deliberative Control: Think hard, then act.
– Reactive Control: Don’t think, (re)act.
– Behavior-Based Control: Think the way you act.
– Hybrid Control: Think and act independently, in parallel.
• Considerations
– Processing power
– Planning
– Dynamic environments
– Sensor data quality
4
Deliberative Control
— Think hard, then act.
• Uses available sensory information
• Creates a plan of action by
searching through plan space
• Pros: Can find optimal solution
Sensors
• Cons:
– Rapidly changing environment
Planner
quickly invalidates internal model
– Slow
Sensors
Actuators
Planner
Actuators
Reactive Control
— Don’t think, (re)act.
• Tightly coupled sensor inputs and effector outputs
• Quick response to changing and unstructured
environments
• Braitenberg robots
• Pros:
– Work in highly dynamic environments
– Simple to implement
• Cons:
– Little or no memory
– No internal representation of the world
5
Behavior Based
— Think the way you act.
• The world is its best model
• A set of behaviors takes inputs and sends outputs to each
other
• Planning is accomplished through a network of behaviors that
talk to each other
• No single planner
Level 2
Level 1
6
Sensors
• Sensor Examples
– Odometry
– Time-of-Flight
– Heading
– Vision
• Sensor Uncertainty
Sensors: Odometry
7
Sensors: Time-of-Flight
Sensors: Time-of-Flight
Ultrasonic
• Sound pulses are emitted and electronics
measure the time to return.
• Since sound is relatively slow, this
method is easy to implement
• Reflectivity of the surface has a large
influence on accuracy
• Low cost
• 10m range with 2cm
resolution typical
• 30° field of view
• Crosstalk problem
8
Sensors: Time-of-Flight
Laser
• Known as laser radar or lidar
• Laser energy is emitted in a rapid
sequence of short bursts aimed at
the object being ranged
• The time for the pulse to reflect off
the object and return is measured
• Scanning Laser range finder
– Contain motorized scanning head to
pan the beam back and forth in the
horizontal plane
– 180° or 360° of scanning typical
– Range from .5m to 5.5m typical for
indoor use
– 10 Hz scanning speed typical
Sensors: Heading
• Compass
• Gyroscope
• Accelerometers
• Tilt
• GPS
9
Sensors: Errors
• Purpose:
– Store world representation
• Possible Map types
– Quantitative
– Qualitative
Quantitative Qualitative
10
Navigation: Configuration Space
11
Path Planning Example:
Wavefront Planner
• Common algorithm to find shortest path between two points
– Similar to a breadth first search
• Simplifications:
– Use a two-dimensional grid for a map of the world
– Reduce distance to discrete intervals
• Assume uniform distances
– Direction is limited from one adjacent cell to another
4-Point 8-Point
Connectivity Connectivity
12
Path Planning Example :
Wavefront Planner
• Starting at the goal, set all adjacent cells with a “0” to the
current cell + 1
• Repeat until no 0’s are adjacent to cells with values >= 2
Iteration 1 Iteration 2
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 4 4 4 4 4 0 0 1 1 1
0 0 0 0 0 0 0 3 3 3 1 1 1 1 1 1 0 0 0 0 0 0 4 3 3 3 1 1 1 1 1 1
0 0 0 0 0 0 0 3 2 3 1 0 0 0 0 1 0 0 0 0 0 0 4 3 2 3 1 0 0 0 0 1
0 0 0 0 0 0 0 3 3 3 1 0 0 0 0 1 0 0 0 0 0 0 4 3 3 3 1 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Final Iteration
11 11 11 11 11 11 1 1 1 1 1 1 1 1 1 1
10 10 10 10 10 10 1 10 10 10 10 11 12 13 1 1
10 9 9 9 9 9 9 9 9 9 1 1 1 1 1 1
10 9 8 8 8 8 8 8 8 8 1 1 1 1 1 1
10 9 8 7 7 7 7 7 7 7 1 0 0 0 0 1
10 9 8 7 6 6 6 6 6 6 1 1 1 1 1 1
10 9 8 7 6 5 5 5 5 5 5 5 6 1 1 1
10 9 8 7 6 5 4 4 4 4 4 5 6 1 1 1
10 9 8 7 6 5 4 3 3 3 1 1 1 1 1 1
10 9 8 7 6 5 4 3 2 3 1 0 0 0 0 1
10 9 8 7 6 5 4 3 3 3 1 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
13
Path Planning Example:
Wavefront Planner
• Final result:
– Only 0’s should remain in unreachable regions
• To find the shortest path, always move toward a cell with a
lower number
– Numbers generated by the wavefront planner are roughly
proportional to the distance from the goal.
14
Path Planning Example:
Trapezoidal Decomposition
• Method for dividing the
world into smaller regions
• Assume polygon world
• Method:
– Draw a vertical line from
each vertex until you hit an
obstacle.
– This reduces the world to a
union of trapezoid-shaped
cells
15
Navigation: Maps
Summary
• Actuators
– Frame Assignment
– Kinematics & Inverse Kinematics
– Mobility Types
• Control
– Deliberative Control: Think hard, then act.
– Reactive Control: Don’t think, (re)act.
– Behavior-Based Control: Think the way you act.
– Hybrid Control: Think and act independently, in parallel.
• Perception
– Sensors
– Mapping & Localization
16
Instant Insanity
A computer vision system and robotic arm solve the Instant Insanity puzzle,
which has been around for more than a century under various aliases. It
consists of a set of four cubes with one of four colors on each of their six faces.
The goal is to arrange the four cubes in a row so that all four colors appear on
each of the row's four long sides. The order of the cubes doesn't matter, but
that simplicity is deceptive. There are 41,472 different ways of arranging the
four cubes in a row, so this is not a trivial task.
17