Autonomous Robots: Frontier Searching
Alex Morales, Computer Science, Joey Durham, Mechanical Engineering, Francesco
Bullo, Mechanical Engineering UC Santa Barbara
Introduction/Background Robot and sensor hardware Player/Stage interface
In searching problems a robot is looking for a target in a Player/Stage is an interface which we use to test and
The robots we use are Videre ERA-MOBI model. Each simulate our robot algorithms. Stage simulates mobile robots
potentially unknown domain. To locate the target it is contains an on board Linux computer and a laser distance
important that the robot traverses the map efficiently. in a two dimensional environment. Using Player/Stage is
sensor. More details are listed below. convenient especially because our algorithms can be tested
My searching algorithm for locating the stationary target,
focused on creating a frontier between explored and Robot specs: on either the simulated environment or the real robots and
unexplored regions. The robot iteratively chooses the best can easily move from one to the other to make
position on the frontier which maximizes frontier coverage. ● Size: 40cm(L) x 41cm(W) x 15 cm improvements.
● Batteries: 4-5 Hours with normal
● Encoder accuracy: 500 counts/ rev
● Speed: up to 2 m/s
● Capacity 20kg ( 44lbs)
● Model: Hokuyo URG laser
● Range: 5 meters
● Scan rate: 10 Hz
● Resolution 0.36 degrees
This is an example of the simulated environment, with the robot
(red) and a stationary target (blue).
The Algorithm: The flowchart bellow explains the
steps of the searching algorithm.
Robot (red dot) gets distance The new visibility polygon
data from laser rangefinder. merges with the old
visibility polygon, creating
The frontier and the visibility a new frontier.
Receive laser data polygon are created (green
area). The robot saves the new
position and local frontier.
Target Found Check if
Target was found
Objective Finished Target not found.
Create local The robot chooses the next best As the robot moves to new
visibility Polygon position to search. positions in the map, it build a
position graph, creating a
The best position is a point on map of the explored region
the frontier that maximize frontier
All frontiers have Decide next move
Move to position
chosen The robot can then use this
Once at new position, the position graph to navigate the
No Target robot again constructs a environment and checking for
In the environment. visibility polygon. shortest distances to
unexplored regions of the
Properties of Algorithm Efficiency Future Research
This algorithm is also a foundation for solving
This search algorithm is complete meaning that it will By weighting the best next position based on the lengths of the
more complex variation on this search problem. For
find a target when one exists, or determine there is no frontier segments covered, we believe that the algorithm
target after exploring the entire environment. This claim maximizes the expected exposure of unexplored area. By max example, this algorithm can be extended to multiple
holds with appropriate assumptions on the topology of the exposure on each iteration the algorithm minimizes the expected searchers or a moving target.
environment. time to detection.
Some of the limitations on the algorithm could come In addition, depth-first traversal of the position graph helps
from the accuracy of the sensor data, and the problem of minimize worst-case time by relating the amount of time the robot
odometry could effect how the robot navigates the spends traversing already explored regions.
Fancesco Bullo, Joey Durham,
UCLEAD coordinators and sponsors
Some images found
on Google Images.