Mobile Robotics
Julie Letchner
Angeline Toh
Mark Rosetta
Fundamental Idea: Robot Pose
2D world (floor plan)
3 DOF
Very simple model—the difficulty is in autonomy
Major Issues with Autonomy
Movement Sensor
Inaccuracy Inaccuracy
Environmental
Uncertainty
Problem One: Localization
Given:
World map
Robot’s initial pose
Sensor updates
Find:
Robot’s pose as it moves
How do we Solve Localization?
Represent beliefs as a probability density
Markov assumption
Pose distribution at time t conditioned on:
pose dist. at time t-1
movement at time t-1
sensor readings at time t
Discretize the density by
sampling
Localization Foundation
At every time step t:
UPDATE each sample’s new location based on movement
RESAMPLE the pose distribution based on sensor readings
Algorithms
Markov localization (simplest)
Kalman filters (historically most popular)
Monte Carlo localization / particle filters
Same: Sampled probability distribution
Basic update-resample loop
Different: Sampling techniques
Movement assumptions
Localization’s Sidekick:
Globalization
Localization without knowledge of
start location
Credit to Dieter Fox for this demo
One step further: “kidnapped robot problem”
Problem Two: Mapping
Given:
Robot
Sensors
Find:
Map of the environment
(and implicitly, the robot’s
location as it moves)
Simultaneous Localization
And Mapping (SLAM)
If we have a map:
We can localize!
If we can localize:
We can make a map!
Circular Error Problem
If we have a map:
We can localize!
NOT THAT SIMPLE!
If we can localize:
We can make a map!
How do we Solve SLAM?
Incorporate location/map uncertainties
into a single model
Optimize robot’s exploratory path
Use geometry (especially indoors)
Major hurdle:
correlation problem
Credit to Sebastian Thrun for this demo
For the Interested
Good overview papers by Sebastian Thrun:
“Probabilistic Algorithms in Robotics”, 2000
“Robotic Mapping: A Survey”, 2002
Stanford course: cs225B
Build a Markov Localization engine
Run it on Amigobots to play soccer
Up Next…
Mobile robot example: Underwater robots
Localization is only useful if we’re mobile…
…so how do these robots move?
Emergent Behaviors
Mobile robots more powerful in groups…
…but localization is expensive…
…so what can we do without localization?