Presentation on theme: "Sonar and Localization LMICSE Workshop June 14 - 17, 2005 Alma College."— Presentation transcript:
Sonar and Localization LMICSE Workshop June , 2005 Alma College
Presentation Outline Implementing Search Algorithms Understanding Sonar Monte Carlo Localization
Sonar (Ultrasonic) Sensors Sonar sensors are often used in robots for obstacle avoidance, navigation and map building Much of the early work was based on a device developed by Polaroid for camera range finding Sonar sensors work by emitting a short burst of ultrasonic sound (often 40 khz) sensing reflected signals (if any) computing object distance by using the elapsed time
Beam Width The effective beam width is about 30 degrees, but there are secondary “lobes”
Sonar Effects (a)Sonar providing an accurate range measurement (b-c) Lateral resolution is not very precise; the closest object in the beam’s cone provides the response (d)Specular reflections cause walls to disappear (e)Open corners produce a weak spherical wavefront (f)Closed corners measure to the corner itself because of multiple reflections
Our Sonar Unit (1) From Mindsensors (http:www.mindsensors.com)http:www.mindsensors.com They have two models: 24 khz and 40 khz Ours is the 40 khz model From a programming point of view, treat it as a light sensor returns values from 0 to 100, which is the distance to the detected object in inches not accurate at very close distances (say below 8 inches).
Our Sonar Unit (2) Not encased in a brick Doesn’t ship with a connecting wire Can use a Lego wire with standard Lego connector on each end We use wires and connectors from Mindsensors (inexpensive) Here’s a standard mounting solution:
Sonar Activity (1) Determine through experiments the capabilities of your sonar unit First write a simple LeJOS program which displays on the LCD the current reading of the sonar unit Since distances in our playing area are in centimeters, convert the readings of the sonar unit to that measurement system before displaying them Display the value once per second
Sonar Activity (2) Determine Effective Beam Width Distance Accuracy Minimum Distance Maximum Distance Object Size Requirements Can you verify the sonar effects a through f reviewed earlier?
Localization Robot localization is the process of estimating a robot's location in a known environment, given its movements and its sensor readings over time. Two varieties: position tracking problem: the robot knows its starting position and just need to accommodate the small errors in its odometry that build up over time. global localization problem: the robot does not know its starting position but needs to figure out where it is. We will consider the global localization problem, and in particular the Monte Carlo approach to its solution. this approach is also known as particle filtering.
Our Project We have developed a project which focuses on a simplified version of the global localization problem: A one dimensional world. Uses a sonar unit for sensing the environment Given the computational nature of the problem, employs real- time communication between the RCX and a base computer Computer displays a visualization of the computational process The student is given working code that demonstrates RCX - Computer communication and use of the visualization class They must complete the aspects of the project that involve solving the localization problem
Problem Statement (1) Imagine a long hallway with a set of open doors along one side. The doors are distributed unevenly along it, and the doors are not all of the same width. Your robot can move back and forth along the hallway, and at anytime it is either in front of one of the doors or is along a wall segment. The situation might look like this: The robot's task is move to a predefined goal point along the hallway. But it doesn't know its starting point.
Problem Statement (2) To solve this problem, the robot repeated moves forward a fixed distance and takes a sonar reading. If it thinks it has reached the end of the hallway, it starts backing up instead of moving forward. It may need to move back and forth along the hallway a few times before it accurately knows where it is.
Problem Statement (3) Not only does the robot not know its starting position, but there are two additional problems that need to be taken into consideration: The sonar reading may be wrong (e.g., the reading indicates an open door when in front of a wall segment). The distance the robot attempts to move may not the actual distance it moved (e.g. when it attempts to move 2 inches forward it really just moves 1.9 inches). So you will need to develop probabilistic models for both of these sources of error. Sonar Model Movement Model
The Monte Carlo Approach The Monte Carlo approach to localization is based on a collection of samples (which are also known as particles). Each sample consists of a possible location the robot may currently occupy, along with a value which represents the likelihood that the robot is currently at that location.
Algorithm Outline Initialize the set of samples (the current samples) so that their locations are evenly distributed and their importance weights are equal. Repeat until done with the current set of samples: Move the robot a fixed distance and then take a sensor reading. Update the location of each of the samples (using the movement model). Assign the importance weights of each sample to the likelihood of that sensor reading given that new location (using the sensor model). Create a new collection of samples by sampling (with replacement) from the current set of samples based on their importance weights. Let this be new collection become the current set of samples.
General Comments The Monte Carlo approach over time retains most particles with high weights and will likely duplicate them usually throws away particles with very low weights The distribution of the particles reflects the algorithm’s belief state about the robot’s location The location (or area) with the most particles is the estimated location Simple to implement Very efficient computation when compared with other localization algorithms There is a complete writeup of this project at the LMICSE website in the Intelligent Systems area