Title: Jizhong Xiao
1Syllabus/Introduction/Review
Advanced Mobile Robotics
- Jizhong Xiao
- Department of Electrical Engineering
- CUNY City College
- jxiao_at_ccny.cuny.edu
2Outline
- Syllabus
- Course Description
- Prerequisite, Expected Outcomes
- Primary Topics
- Textbook and references
- Grading, Office hours and contact
- How to
- How to read a research paper
- How to write a reading report
- G5501 Review
- What is a Robot?
- Why use Robots?
- Mobile Robotics
3Syllabus
- Course Description
- This course is an in depth study of
state-of-the-art technologies and methods of
mobile robotics. - The course consists of two components lectures
on theory, and course projects. - Lectures will draw from textbooks and current
research literature with several reading
discussion classes. - In project component of this class, students are
required to conduct simulation study to
implement, evaluate SLAM algorithms.
4Syllabus
- Primary Topics
- Mobile Robotics Review
- Locomotion/Motion Planning/Mapping
- Odometry errors
- Probabilistic Robotics
- Mathematic Background, Bayes Filters
- Kalman Filters (KF, EKF, UKF)
- Particle Filters
- SLAM (simultaneous localization and mapping)
- Data Association Problems
5Syllabus
- Textbooks
- Probabilistic ROBOTICS, Sebastian Thrun, Wolfram
Burgard, Dieter Fox, The MIT Press, 2005, ISBN
0-262-20162-3. - Available at CCNY Book Store
-
- Reference Material
- Introduction to AI Robotics, Robin R. Murphy, The
MIT Press, 2000, ISBN 0-262-13383-0. - Introduction to Autonomous Mobile Robots, Roland
Siegwart, Illah R. Nourbakhsh, The MIT Press,
2004, ISBN 0-262-19502-X - Computational Principles of Mobile Robotics,
Gregory Dudek, Michael Jenkin, Cambridge
University Press, 2000, ISBN 0-521-56876-5 - Papers from research literature
6Syllabus
- Contact Information
- Office T-534, Tel 212-650-7268
- E-mail jxiao_at_ccny.cuny.edu
- Website http//robotics.ccny.cuny.edu
- Office Hours
- Mon 300600pm, or by appointment
- Expected outcomes
- Knowledge
- Abilities
- Be able to read technical papers
- Be able to write technical papers
- Be able to conduct independent research
7- How to
- How to read a research paper
- Conference papers (ICRA, IROS)
- Journal papers
- IEEE Transactions on Robotics
- Autonomous Robots
- International Journal of Robotics Research
- CCNY resource
- http//www.ccny.cuny.edu/library/Menu.html
- IEEE Xplorer
- How to write a reading report
8 9Mobile Robotics Locomotion/Motion
Planning/Mapping
- Jizhong Xiao
- Department of Electrical Engineering
- CUNY City College
- jxiao_at_ccny.cuny.edu
10Contents
- Review
- Classification of wheels
- Fixed wheel, Centered orientable wheel,
Off-centered orientable wheel, Swedish wheel - Mobile Robot Locomotion
- Differential Drive, Tricycle, Synchronous Drive,
Omni-directional, Ackerman Steering - Motion Planning Methods
- Roadmap Approaches (Visibility graphs, Voronoi
diagram) - Cell Decomposition (Trapezoidal Decomposition,
Quadtree Decomposition) - Potential Fields
- Mapping and Localization
11Review
- What are Robots?
- Machines with sensing, intelligence and mobility
(NSF) - To qualify as a robot, a machine must be able to
- 1) Sensing and perception get information from
its surroundings - 2) Carry out different tasks Locomotion or
manipulation, do something physicalsuch as move
or manipulate objects - 3) Re-programmable can do different things
- 4) Function autonomously and/or interact with
human beings - Why use Robots?
- Perform 4A tasks in 4D environments
4A Automation, Augmentation, Assistance,
Autonomous
4D Dangerous, Dirty, Dull, Difficult
12Review
- Robot Manipulator
- Kinematics
- Dynamics
- Control
- Mobile Robot
- Kinematics/Control
- Sensing and Sensors
- Motion planning
- Mapping/Localization
13Mobile Robot Examples
Sojourner Rover
ActivMedia Pioneer II
NASA and JPL, Mars exploration
14Wheeled Mobile Robots
- Locomotion the process of causing an robot to
move. - In order to produce motion, forces must be
applied to the robot - Motor output, payload
- Kinematics study of the mathematics of motion
without considering the forces that affect the
motion. - Deals with the geometric relationships that
govern the system - Deals with the relationship between control
parameters and the behavior of a system. - Dynamics study of motion in which these forces
are modeled - Deals with the relationship between force and
motions.
15Notation
Posture position(x, y) and orientation ?
16Wheels
Rolling motion
Lateral slip
17Wheel Types
Centered orientable wheel
Fixed wheel
Off-centered orientable wheel (Castor wheel)
Swedish wheelomnidirectional property
18Mobile Robot Locomotion
Locomotion the process of causing a robot to move
Swedish Wheel
19Differential Drive
?
v Linear velocity of the robot w Angular
velocity of the robot (notice not for each wheel)
(x,y) Position of the robot
Orientation of the robot
20Differential Drive
linear velocity of right wheel
linear velocity of left wheel r nominal
radius of each wheel R instantaneous curvature
radius (ICR) of the robot trajectory (distance
from ICC to the midpoint between the two wheels).
Property At each time instant, the left and
right wheels must follow a trajectory that moves
around the ICC at the same angular rate ?, i.e.,
21Differential Drive
Property At each time instant, the left and
right wheels must follow a trajectory that moves
around the ICR at the same angular rate ?, i.e.,
Physical Meaning?
22Non-holonomic constraint
A non-holonomic constraint is a constraint on the
feasible velocities of a body
So what does that mean? Your robot can move in
some directions (forward and backward), but not
others (sideward).
23Differential Drive
R Radius of rotation
- Straight motion
- R Infinity VR VL
-
Instantaneous center of curvature (ICC)
- Rotational motion
- R 0 VR -VL
24Differential Drive
0
3
1
2
0
3
1
2
Radius of rotation Length of path
Angle of rotation
25Tricycle
- Steering and power are provided through the front
wheel - control variables
- angular velocity of steering wheel ws(t)
- steering direction a(t)
d distance from the front wheel to the rear axle
26Tricycle
Kinematics model in the world frame ---Posture
kinematics model
27Synchronous Drive
- All the wheels turn in unison
- All wheels point in the same direction and turn
at the same rate - Two independent motors, one rolls all wheels
forward, one rotate them for turning - Control variables (independent)
- v(t), ?(t)
28Omidirectional
Swedish Wheel
29Ackerman Steering (Car Drive)
- The Ackerman Steering equation
-
30Ackerman Steering
Equivalent
31Car-like Robot
Driving type Rear wheel drive, front wheel
steering
Rear wheel drive car model
forward velocity of the rear wheels
angular velocity of the steering wheels
non-holonomic constraint
l length between the front and rear wheels
32Robot Sensing
- Collect information about the world
- Sensor - an electrical/mechanical/chemical device
that maps an environmental attribute to a
quantitative measurement - Each sensor is based on a transduction principle
- conversion of energy from one form to another - Extend ranges and modalities of Human Sensing
33Electromagnetic Spectrum
Visible Spectrum
700 nm
400 nm
34Sensors Used in Robot
- Resistive sensors
- bend sensors, potentiometer, resistive
photocells, ... - Tactile sensors contact switch, bumpers
- Infrared sensors
- Reflective, proximity, distance sensors
- Ultrasonic Distance Sensor
- Motor Encoder
- Inertial Sensors (measure the second derivatives
of position) - Accelerometer, Gyroscopes,
- Orientation Sensors Compass, Inclinometer
- Laser range sensors
- Vision, GPS,
35Mobot System Overview
36What is Motion Planning?
without hit obstacles
37References
- G. Dudek, M. Jenkin, Computational Principles of
Mobile Robots, MIT Press, 2000 (Chapter 5) - J.C. Latombe, Robot Motion Planning, Kluwer
Academic Publishers, 1991. - Additional references
- Path Planning with A algorithm
- S. Kambhampati, L. Davis, Multiresolution
Path Planning for Mobile Robots, IEEE Journal
of Robotrics and Automation,Vol. RA-2, No.3,
1986, pp.135-145. - Potential Field
- O. Khatib, Real-Time Obstacle Avoidance
for Manipulators and Mobile Robots, Int.
Journal of Robotics Research, 5(1), pp.90-98,
1986. - P. Khosla, R. Volpe, Superquadratic
Artificial Potentials for Obstacle Avoidance and
Approach Proc. Of ICRA, 1988, pp.1178- 1784. - B. Krogh, A Generalized Potential Field
Approach to Obstacle Avoidance Control SME
Paper MS84-484.
38Motion Planning
Motion Planning Find a path connecting an
initial configuration to goal configuration
without collision with obstacles
- Configuration Space
- Motion Planning Methods
- Roadmap Approaches
- Cell Decomposition
- Potential Fields
Assuming the environment is known!
39The World consists of...
- Obstacles
- Already occupied spaces of the world
- In other words, robots cant go there
- Free Space
- Unoccupied space within the world
- Robots might be able to go here
- To determine where a robot can go, we need to
discuss what a Configuration Space is
40Configuration Space
Notation A single rigid object (the robot) W
Euclidean space where A moves B1,Bm fixed
rigid obstacles distributed in W
FW world frame (fixed frame) FA robot
frame (moving frame rigidly associated with the
robot) Configuration q of A is a specification
of the physical state (position and orientation)
of A w.r.t. a fixed environmental frame FW.
Configuration Space is the space of all possible
robot configurations.
41Configuration Space
Configuration Space of A is the space (C )of all
possible configurations of A.
Point robot (free-flying, no constraints)
C
Cfree
qslug
Cobs
qrobot
For a point robot moving in 2-D plane, C-space is
42Configuration Space
C
y
Cfree
qgoal
Z
Cobs
qstart
x
For a point robot moving in 3-D, the C-space is
What is the difference between Euclidean space
and C-space?
43Configuration Space
Y
A robot which can translate in the plane
C-space
2-D (x, y)
X
Euclidean space
Y
A robot which can translate and rotate in the
plane
C-space
3-D (x, y, )
Y
X
x
44Configuration Space
b
b
a
a
2R manipulator
Configuration space
topology
45Configuration Space
360
qrobot
270
b
180
b
90
a
qslug
a
0
45
135
90
180
Two points in the robots workspace
Torus
(wraps horizontally and vertically)
46Configuration Space
If the robot configuration is within the blue
area, it will hit the obstacle
360
qrobot
270
b
180
b
90
a
qslug
a
0
45
135
90
180
An obstacle in the robots workspace
a C-space representation
What is dimension of the C-space of puma robot
(6R)?
Visualization of high dimension C-space is
difficult
47Motion Planning Revisit
Find a collision free path from an initial
configuration to goal configuration while taking
into account the constrains (geometric, physical,
temporal)
C-space concept provide a generalized framework
to study the motion planning problem
A separate problem for each robot?
48What if the robot is not a point?
The Pioneer-II robot should probably not be
modeled as a point...
49What if the robot is not a point?
Expand obstacle(s)
Reduce robot
not quite right ...
50Obstacles Configuration Space
C-obstacle
Point robot
51C-obstacle in 3-D
What would the configuration space of a 3DOF
rectangular robot (red) in this world look
like? (The obstacle is blue.)
3-D
180º
y
0º
x
can we stay in 2d ?
52Motion Planning Methods
- Roadmap approaches
- Visibility Graph
- Voronoi Diagram
- Cell decomposition
- Trapezoidal decomposition
- Quadtree decomposition
- Potential Fields
Full-knowledge motion planning
53Full-knowledge motion planning
Cell decompositions
Roadmaps
visibility graph
exact free space represented via convex polygons
voronoi diagram
approximate free space represented via a quadtree
54Roadmap Visibility Graphs
Visibility graphs In a polygonal (or polyhedral)
configuration space, construct all of the line
segments that connect vertices to one another
(and that do not intersect the obstacles
themselves).
Formed by connecting all visible vertices, the
start point and the end point, to each other. For
two points to be visible no obstacle can exist
between them Paths exist on the perimeter of
obstacles
From Cfree, a graph is defined Converts the
problem into graph search.
55Visibility graph drawbacks
Visibility graphs do not preserve their
optimality in higher dimensions
shortest path
shortest path within the visibility graph
In addition, the paths they find are semi-free,
i.e. in contact with obstacles.
No clearance
56Roadmap Voronoi diagrams
official Voronoi diagram
(line segments make up the Voronoi diagram
isolates a set of points)
Generalized Voronoi Graph (GVG) locus of points
equidistant from the closest two or more obstacle
boundaries, including the workspace boundary.
Property maximizing the clearance between the
points and obstacles.
57Roadmap Voronoi diagrams
- GVG is formed by paths equidistant from the two
closest objects - maximizing the clearance between the obstacles.
- This generates a very safe roadmap which avoids
obstacles as much as possible
58Voronoi Diagram Metrics
- Many ways to measure distance two are
- L1 metric
- (x,y) x y const
- L2 metric
- (x,y) x2 y2 const
59Voronoi Diagram (L1)
Note the lack of curved edges
60Voronoi Diagram (L2)
Note the curved edges
61Motion Planning Methods
- Roadmap approaches
- Visibility Graph
- Voronoi Diagram
- Cell decomposition
- Exact Cell Decomposition (Trapezoidal)
- Approximate Cell Decomposition (Quadtree)
- Potential Fields
- Hybrid local/global
62Exact Cell Decomposition
Trapezoidal Decomposition
Decomposition of the free space into trapezoidal
triangular cells
Connectivity graph representing the adjacency
relation between the cells
(Sweepline algorithm)
63Exact Cell Decomposition
Trapezoidal Decomposition
Search the graph for a path (sequence of
consecutive cells)
64Exact Cell Decomposition
Trapezoidal Decomposition
Transform the sequence of cells into a free path
(e.g., connecting the mid-points of the
intersection of two consecutive cells)
65Optimality
Trapezoidal Decomposition
15 cells
9 cells
Obtaining the minimum number of convex cells is
NP-complete.
Trapezoidal decomposition is exact and complete,
but not optimal
there may be more details in the world than the
task needs to worry about...
66Approximate Cell Decomposition
Quadtree Decomposition
recursively subdivides each mixed obstacle/free
(sub)region into four quarters...
Quadtree
67further decomposing...
Quadtree Decomposition
recursively subdivides each mixed obstacle/free
(sub)region into four quarters...
Quadtree
68further decomposing...
Quadtree Decomposition
The rectangle cell is recursively decomposed
into smaller rectangles At a certain level of
resolution, only the cells whose interiors lie
entirely in the free space are used A search in
this graph yields a collision free path
Again, use a graph-search algorithm to find a
path from the start to goal
is this a complete path-planning algorithm? i.e.,
does it find a path when one exists ?
Quadtree
69Motion Planning Methods
- Roadmap approaches
- Cell decomposition
- Exact Cell Decomposition (Trapezoidal)
- Approximate Cell Decomposition (Quadtree)
- Potential Fields
- Hybrid local/global
70Potential Field Method
Potential Field (Working Principle)
The goal location generates an attractive
potential pulling the robot towards the goal
The obstacles generate a repulsive potential
pushing the robot far away from the obstacles
The negative gradient of the total potential is
treated as an artificial force applied to the
robot -- Let the sum of the forces control the
robot
C-obstacles
71Potential Field Method
- Compute an attractive force toward the goal
C-obstacles
Attractive potential
72Potential Field Method
- Compute a repulsive force away from obstacles
- Repulsive Potential
- Create a potential barrier around the C-obstacle
region that cannot be traversed by the robots
configuration - It is usually desirable that the repulsive
potential does not affect the motion of the robot
when it is sufficiently far away from C-obstacles
73Potential Field Method
- Compute a repulsive force away from obstacles
74Potential Field Method
Attractive potential
Repulsive potential
C-obstacle
Sum of potentials
75Potential Field Method
- After get total potential, generate force field
(negative gradient) - Let the sum of the forces control the robot
Negative gradient
Equipotential contours
Total potential
To a large extent, this is computable from
sensor readings
76Potential Field Method
Pros
- Spatial paths are not preplanned and can be
generated in real time - Planning and control are merged into one
function - Smooth paths are generated
- Planning can be coupled directly to a control
algorithm
Cons
- Trapped in local minima in the potential field
- Because of this limitation, commonly used for
local path planning - Use random walk, backtracking, etc to escape the
local minima
random walks are not perfect...
77Motion Planning Summary
- Motion Planning Methodololgies
- Roadmap
- Cell Decomposition
- Potential Field
- Roadmap
- From Cfree a graph is defined (Roadmap)
- Ways to obtain the Roadmap
- Visibility graph
- Voronoi diagram
- Cell Decomposition
- The robot free space (Cfree) is decomposed
into simple regions (cells) - The path in between two poses of a cell can
be easily generated - Potential Field
- The robot is treated as a particle acting
under the influence of a potential field U, - where
- the attraction to the goal is modeled by
an additive field - obstacles are avoided by acting with a
repulsive force that yields a negative field
Global methods
Local methods
78Mapping/Localization
- Answering robotics big questions
- How to get a map of an environment with imperfect
sensors (Mapping) - How a robot can tell where it is on a map
(localization) - SLAM (Simultaneous Localization and Mapping)
- It is an on-going research
- It is the most difficult task for robot
- Even human will get lost in a building!
79Using sonar to create maps
What should we conclude if this sonar reads 10
feet?
there isnt something here
there is something somewhere around here
10 feet
Local Map
unoccupied
no information
occupied
80Using sonar to create maps
What should we conclude if this sonar reads 10
feet...
10 feet
10 feet
and how do we add the information that the next
sonar reading (as the robot moves) reads 10 feet,
too?
81Combining sensor readings
- The key to making accurate maps is combining
lots of data.
- But combining these numbers means we have to
know what they are !
What should our map contain ?
- small cells
- each represents a bit of the robots environment
- larger values gt obstacle
- smaller values gt free
what is in each cell of this sonar model / map ?
82What is it a map of?
Several answers to this question have been tried
cell (x,y) is unoccupied
cell (x,y) is occupied
oxy
oxy
Its a map of occupied cells.
pre 83
What information should this map contain, given
that it is created with sonar ?
Each cell is either occupied or unoccupied --
this was the approach taken by the Stanford Cart.
83What is it a map of ?
Several answers to this question have been tried
cell (x,y) is unoccupied
cell (x,y) is occupied
oxy
oxy
Its a map of occupied cells. Its a map of
probabilities p( o S1..i ) p( o
S1..i )
pre 83
The certainty that a cell is occupied, given the
sensor readings S1, S2, , Si
83 - 88
The certainty that a cell is unoccupied, given
the sensor readings S1, S2, , Si
The odds of an event are expressed relative to
the complement of that event.
Its a map of odds.
evidence log2(odds)
probabilities
p( o S1..i )
odds( o S1..i )
The odds that a cell is occupied, given the
sensor readings S1, S2, , Si
p( o S1..i )
84An example map
units feet
Evidence grid of a tree-lined outdoor path
lighter areas lower odds of obstacles being
present
darker areas higher odds of obstacles being
present
how to combine them?
85Combining probabilities
How to combine two sets of probabilities into a
single map ?
86Conditional probability
Some intuition...
The probability of event o, given event S .
p( o S )
The probability that a certain cell o is
occupied, given that the robot sees the sensor
reading S .
The probability of event S, given event o .
p( S o )
The probability that the robot sees the sensor
reading S , given that a certain cell o is
occupied.
- What is really meant by conditional probability ?
p( o S ) p(S o) ??
- How are these two probabilities related?
87Bayes Rule
- Joint probabilities/Conditional probabilities
p( o ? S ) p( o S ) p( S )
88Bayes Rule
- Joint probabilities/Conditional probabilities
p( o ? S ) p( o S ) p( S )
- Bayes rule relates conditional probabilities
p( S o ) p( o )
p( o S )
Bayes rule
p( S )
89Bayes Rule
- Joint probabilities/Conditional probabilities
p( o ? S ) p( o S ) p( S )
- Bayes rule relates conditional probabilities
p( S o ) p( o )
p( o S )
Bayes rule
p( S )
- So, what does this say about
odds( o S2 ? S1 ) ?
Can we update easily ?
90Combining evidence
So, how do we combine evidence to create a map?
What we want --
the new value of a cell in the map after the
sonar reading S2
odds( o S2 ? S1)
What we know --
the old value of a cell in the map (before sonar
reading S2)
odds( o S1)
the probabilities that a certain obstacle causes
the sonar reading Si
p( Si o ) p( Si o )
91Combining evidence
p( o S2 ? S1 )
odds( o S2 ? S1)
p( o S2 ? S1 )
92Combining evidence
p( o S2 ? S1 )
defn of odds
odds( o S2 ? S1)
p( o S2 ? S1 )
p( S2 ? S1 o ) p(o)
.
p( S2 ? S1 o ) p(o)
93Combining evidence
p( o S2 ? S1 )
defn of odds
odds( o S2 ? S1)
p( o S2 ? S1 )
p( S2 ? S1 o ) p(o)
.
Bayes rule ()
p( S2 ? S1 o ) p(o)
p( S2 o ) p( S1 o ) p(o)
.
p( S2 o ) p( S1 o ) p(o)
94Combining evidence
p( o S2 ? S1 )
defn of odds
odds( o S2 ? S1)
p( o S2 ? S1 )
p( S2 ? S1 o ) p(o)
.
Bayes rule ()
p( S2 ? S1 o ) p(o)
p( S2 o ) p( S1 o ) p(o)
conditional independence of S1 and S2
.
p( S2 o ) p( S1 o ) p(o)
p( S2 o ) p( o S1 )
.
Bayes rule ()
p( S2 o ) p( o S1 )
95Combining evidence
p( o S2 ? S1 )
defn of odds
odds( o S2 ? S1)
p( o S2 ? S1 )
p( S2 ? S1 o ) p(o)
.
Bayes rule ()
p( S2 ? S1 o ) p(o)
p( S2 o ) p( S1 o ) p(o)
conditional independence of S1 and S2
.
p( S2 o ) p( S1 o ) p(o)
p( S2 o ) p( o S1 )
.
Bayes rule ()
p( S2 o ) p( o S1 )
previous odds
precomputed values
the sensor model
Update step multiplying the previous odds by a
precomputed weight.
96Mapping Using Evidence Grids
Evidence Grids...
represent space as a collection of cells, each
with the odds (or probability) that it contains
an obstacle
evidence log2(odds)
Lab environment
likely free space
likely obstacle
lighter areas lower evidence of obstacles
being present
not sure
darker areas higher evidence of obstacles being
present
97Localization Methods
- Markov Localization
- Represent the robots belief by a probability
distribution over possible positions and uses
Bayes rule and convolution to update the belief
whenever the robot senses or moves - Monte-Carlo methods
- Kalman Filtering
- SLAM (simultaneous localization and mapping)
- .
98Class Schedule
Homework 1 posted on the web. Due date Feb. 21,
2012
99Thank you!
100Example
- For a differential drive robot as shown in fig,
the diameters of the Left and Right wheels are
10cm, the robot width is 30cm (L30cm). After the
Left wheel has made 8 full rotations and Right
wheel has made 6 full rotations in one second,
where is the robot? That is, what are the
coordinates of robot center O, if O initially
coincide with the origin of world coordinate
frame X-O-Y?
Robot make right turn
ICR right side