Title: Autonomous Robot Navigation
1Autonomous Robot Navigation
- Panos Trahanias
- e-mail trahania_at_csd.uoc.gr
??475 Fall 2007
2Mobile Robots - Examples
The museum tour-guide Minerva
The Mars rover Sojourner
The museum tour-guide Lefkos
The RHex Hexapod
3Typical Mobile Robot Setup
Sensors Stereo vision Sonars Bump
sensors Infrared sensors Laser scanner Bump
sensors Sonars Odometry
Interaction Processing Power Motors
Communications
4Scope of the Course
- Mobile Robots How to move and achieve motion
target goals in (indoor) environments - Hence
- Localization (where am I?)
- Mapping, simultaneous localization and mapping
SLAM (what is my workspace?) - Path planning (how to get there?)
- Obstacle avoidance ( get there safely)
5Autonomous Navigation- Research Directions
- Given
- An environment representation - Map
- Knowledge of current position C
- A path has to be planned and tracked that will
take the robot from C to G
6Autonomous Navigation- Research Directions
- During execution (run-time)
- Objects / Obstacles O may block the robot
- The planned path is no-longer valid
X
- The obstacle needs to be avoided and the path may
need to be re-planned
7Navigation Issues
- Important questions (Levitt et al 91)
- Important navigation issues
Where am I
Robot localization
Where are other places relative to me
Map building
How do I get to other places from here
Path/motion planning
8Navigation Issues Underlying HW
Sensors Stereo vision Sonars Bump
sensors Infrared sensors Laser scanner Bump
sensors Sonars Odometry
Interaction Processing Power Motors
Communications
Laser Scanner
9Range Sensor Model
- Laser Rangefinder
- Model range and angle errors.
10Need for Modeling
Robot
Environment
Need for Appropriate Modeling
Extremely Complex Dynamical System
11Markov Assumption
- State depends only on previous state and
observations - Static world assumption
- Hidden Markov Model (HMM)
Bayesian estimation Attempt to construct the
posterior distribution of the state given all
measurements
12A Dynamic System
- Most commonly - Available
- Initial State
- Observations
- System (motion) Model
- Measurement (observation) Model
13Inference - Learning
- Localization (inference task)Compute the
probability that the robot is at pose z at time t
given all observations up to time t (forward
recursions only)
- Map building (learning task)Determine the map m
that maximizes the probability of the observation
sequence.
14Belief State
How is the prior distribution represented?
How is the posterior distribution calculated?
- Discrete representation
- Grid (Dynamic) (Dynamic) Markov localization
(Burgard98) - Samples Monte Carlo localization (Fox99)
- Continuous representation
- Gaussian distributions Kalman filters (Kalman60)
15Example State Representations for Robot
Localization
Discrete Representations
Continuous Representations
Grid Based approaches (Markov localization)
Particle Filters (Monte Carlolocalization)
Kalman Tracking
16 17Markov Assumption
- Localization determine the likelihood of robots
state
Given a sequence of observations
Determine the probability
18Markov Assumption
- In practice too difficult to determine the joint
effect of all observations up to time K. - Common assumption hidden states obey the Markov
assumption (static world assumption), so as we
can factor as
19Markov Assumption
20Markov Assumption
Integrate over all possible states
- All information about past history is represented
in
Different approaches in this representation lead
to different treatments of the problem.
21Kalman Filtering
- Probabilistic estimation
- Simultaneously maintain estimates for both the
state x and error covariance matrix P - Equivalent to say output of a Kalman filter is a
Gaussian PDF (other methods can handle more
general distributions)
22Kalman Filtering
Crude localization method integrate robot
velocity commands
Problem info continuously lost, no new info
added. Solution add info from exterioreceptive
sensors.
23Kalman Filtering
Sensor measurements add new info PDF in sensor
space. Localization knowledge (prior to sensor
measurement) is a PDF in state space. Probabilist
ic Estimation merge the 2 PDFs
Two step process prediction update
24Kalman Filtering
Simple observer update
25Kalman Filtering
Prediction
Update
26Kalman Filtering
Observing with probability distributions
27Kalman Filtering
Prediction
Update
where
28Kalman Filtering
29Kalman Filtering
30Kalman Filtering
31Kalman Filtering
32Bayesian Methods
33Bayesian Methods Discrete Approximations
34Bayesian Methods Discrete Approximations
35Bayesian Methods Discrete Approximations
Results
36Bayesian Methods Discrete Approximations
Results
37Bayesian Methods Particle Filters
38Bayesian Methods Particle Filters/Resampling
39Bayesian Methods Particle Filters
Motion Model
40Bayesian Methods Particle Filters
State Belief
41Bayesian Methods Particle Filters
Global Localization
42Bayesian Methods Particle Filters
Global Localization - Results
43Bayesian Methods Sensor Models
Typical Sonar Scan
44Bayesian Methods Sensor Models
Histograms
45 46Bug Algorithms
Bug1
47Bug Algorithms
Bug1
48Bug Algorithms
Bug2
49Bug Algorithms
Bug2
50Bug Algorithms
Bug2
51 52Potential Field
Attractive Repulsive Forces
53Potential Field
Potential Function
54Potential Field
Attractive Potential
55Potential Field
Repulsive Potential
56Potential Field
BrushFire Algorithm
57Potential Field
Local Minima Problem
58Potential Field
Wavefront Planner
59Navigation Functions
60Navigation Functions
61Value Iteration
- Value Iteration Algorithm
- Dynamic programming (fast)
- Creates potential field (run only once per
target) - Initialization rule
- Update rule
62Value Iteration - Results
63 64Certainty Grid Representation
65VFF Virtual Force Field
66VFF Virtual Force Field
67Polar Histogram
68Polar Histogram
69Motion Candidate Directions
70Traveling Alongside an Obstacle
71Steering Reference
72VFH Example Course
73 74Two-link Manipulator - Workspace
75Two-link Manipulator Configuration Space
76Obstacles Configuration Space
77Obstacles Configuration Space
78Obstacles Configuration Space
79Obstacles Configuration Space
80Workspace Configuration Space
81Workspace Configuration Space
82Workspace Configuration Space
83Planar Parallel Mechanism