2. Localization and Navigation
• Localization and navigation are the two most important tasks for
mobile robots.
• We want to know where we are, and we need to be able to make a
plan for how to reach a goal destination.
• Localization, navigation, and mapping (in past)
• Whole problem complex at once
• SLAM (simultaneous localization and mapping)
3. Localization
• we need to know a robot’s position and orientation at all times.
• The localization problem can be solved by using a global positioning
system.
• Outdoor setting the satellite-based GPS
• In an indoor setting a global sensor network with infrared, sonar,
laser, or radio
5. Localization
• Using two beacons can narrow down the robot position to two
possibilities.
• Only the robot’s position can be determined by this method, not its
orientation.
• The orientation has to be deducted from the change in position
(difference between two subsequent positions)
• How to use local sensors:
• The sonar sensors can be mounted on the robot and the beacons are converted
to reflective markers, then we have an autonomous robot with local sensors.
• Another idea is to use light emitting homing beacons instead of sonar beacons.
6. Localization
• Homing beacons
• The robot has either to perform a 360° rotation, or to possess an omni-
directional vision system that allows it to determine the angle of a recognized
light beacon.
• The robot can determine its position and orientation.
7. Localization
• Dead reckoning
• Dead reckoning is a nautical term from the 1700s when ships did not have
modern navigation equipment.
• Dead reckoning can be described as local polar coordinates, or more
practically as turtle graphics geometry.
9. Dijkstra’s Algorithm
• Description
Algorithm for computing all shortest paths from a given starting node in a
fully connected graph.
• Required:
Relative distance information between all nodes; distances must not be
negative.
• Algorithm
Start “ready set” with start node. In loop select node with shortest distance
in every step, then compute distances to all of its neighbors and store path
predecessors. Add current node to “ready set”; loop finishes when all nodes
are included.
10. A* Algorithm
• Description
Pronounced “A-Star”; heuristic algorithm for computing the shortest
path from one given start node to one given goal node.
• Required
Relative distance information between all nodes plus lower bound of
distance to goal from each node (e.g. air-line or linear distance).
• Algorithm
Maintain sorted list of paths to goal, in every step expand only the
currently shortest path by adding adjacent node with shortest distance
(including estimate of remaining distance to goal)
11. Potential Field Method
• Description
Global map generation algorithm with virtual forces.
• Required
Start and goal position, positions of all obstacles and walls.
• Algorithm
Generate a map with virtual attracting and repelling forces. Start point,
obstacles, and walls are repelling, goal is attracting; force strength is
inverse to object distance; robot simply follows force field.
13. Wandering Standpoint Algorithm
• Description
Local path planning algorithm.
• Required
Local distance sensor.
• Algorithm
Try to reach goal from start in direct line. When encountering an
obstacle, measure avoidance angle for turning left and for turning right,
turn to smaller angle. Continue with boundary-following around the
object, until goal direction is clear again.
15. DistBug Algorithm
• Description
Local planning algorithm that guarantees convergence and will find
path if one exists.
• Required
Own position (odometry), goal position, and distance sensor data.
• Algorithm
Drive straight towards the goal when possible, otherwise do boundary-
following around an obstacle. If this brings the robot back to the same
previous collision point with the obstacle, then the goal is unreachable