Title: Navigation Strategies for Exploring Indoor Environments
1CS 326A Motion Planning
Navigation Strategies for Exploring Indoor
Environments Hector H. González-Baños Jean-Claude
Latombe
Presented by Miler Lee, 6 May 2002
2Automatic model building
Task Build a representation of an unknown
environment relying only on robotic
sensors Next-best-view problem What path should
the robot take to optimize sensing operations
3Challenges to next-best view
- Avoid obstacle collision, given that the robot
is moving through an unknown environment and the
sensors are on the robot
- Localize to the map-so-far, robustness despite
odometry errors (require minimum overlap between
senses)
Thrun 2001
4NBV algorithm overview
- Given sensor information at the current position
and the map-so-far, - Compute the local safe region
- Align with the map-so-far
- Generate a list of candidate NBVs
- Sample points near the edge of the safe region
- Remove candidates not adequately visible from
the boundaries of the safe region - Remove candidates without a collision-free path
- Select NBV maximizing visibility gain vs. path
length
5NBV algorithm overview
- Given sensor information at the current position
and the map-so-far, - Compute the local safe region
- Align with the map-so-far
- Generate a list of candidate NBVs
- Sample points near the edge of the safe region
- Remove candidates not adequately visible from
the boundaries of the safe region - Remove candidates without a collision-free path
- Select NBV maximizing visibility gain vs. path
length
6Safe region
- Largest region the robot can safely occupy, given
map-so-far - Compute visibility region
- Extrapolate safe region
7Visibility
- W ? ?2 is the actual workspace
- ?W is the boundary of W
- w ? ?W is visible from q ? W if the following
constraints are satisfied
8Visibility
- W ? ?2 is the actual workspace
- ?W is the boundary of W
- w ? ?W is visible from q ? W if the following
constraints are satisfied - 1. Line-of-sight constraint the open line
segment S(w, q) does not intersect ?W
?W
w
?W
w
q
q
9Visibility
- W ? ?2 is the actual workspace
- ?W is the boundary of W
- w ? ?W is visible from q ? W if the following
constraints are satisfied - 2. Range constraint Euclidean distance d(q, w)
? rmax for some rmax gt 0
w
?W
q
10Visibility
- W ? ?2 is the actual workspace
- ?W is the boundary of W
- w ? ?W is visible from q ? W if the following
constraints are satisfied - 3. Incidence constraint ?(n,v) ? ? for some ? ?
0, ?/2, for n ? ?W at w and v the vector from w
to q
w
w
?W
?W
n
?
n
?
q
q
11Solid curves
- Visible contour described in polar coordinates
as piecewise continuous function r(? ) with
respect to robot origin
- r(? ) can be decomposed into non-overlapping,
continuously visible solid curves, defined by r(?
a,b ) over (a,b), where a and b are critical
values of ?
?W
a
b
?
q
- Let ? contain all solid curves in the boundary
12Free curves
- Each pair of succeeding solid curves lt r1(?
a1,b1 ), r2(? a2,b2 )gt is connected with a
free curve f(? b1,a2 ), s.t.
f
- Any ray from the robot origin in the polar
region b1 lt ? lt a2 will intersect the curve
before any obstacle - The area defined by f is as large as possible
Gonzalez-Banos / Latombe 2002
13Solid curve approximation
- Finite resolution rather than visible curves,
sensor returns a list of visible points - Solution
- group points into clusters
- fit a conservative (minimal number of vertices)
polyline to each cluster, such that every point
lies within ? of a line segment
14NBV algorithm overview
- Given sensor information at the current position
and the map-so-far, - Compute the local safe region
- Align with the map-so-far
- Generate a list of candidate NBVs
- Sample points near the edge of the safe region
- Remove candidates not adequately visible from
the boundaries of the safe region - Remove candidates without a collision-free path
- Select NBV maximizing visibility gain vs. path
length
15Model alignment / merging
- Define the partial global model at qk-1 to be
Mg(qk-1 ) lt ? g(qk-1 ), Sg(qk-1 )gt - ? g(qk-1 ) is the union of the solid curves in
?W up to stage k-1 (subject to transform) - Sg(qk-1 ) is the safe region defined by ?
g(qk-1 ) and the connecting free curves - Let the local model be ml (qk ) lt ? l (qk
), sl(qk )gt
16Model alignment / merging
Given Mg(qk-1 ) lt ? g(qk-1 ), Sg(qk-1 )gt and
ml (qk ) lt ? l (qk ), sl(qk )gt Calculate the
transform T by matching the line segments in ?
g(qk-1 ) and ? l (qk ) with an alignment
algorithm Create the new safe region Sg(qk
) T(Sg(qk-1 )) ? sl(qk )
17Model alignment / merging
- Example ALIGN algorithm
- Randomly select pairs of segments from ? l
- For each pair (u1, u2) in ? l , find (v1, v2) in
? g with the same relative angle - Look for the best fit transform that results
- Not perfectcan use some odometric / distance
information as well
18NBV algorithm overview
- Given sensor information at the current position
and the map-so-far, - Compute the local safe region
- Align with the map-so-far
- Generate a list of candidate NBVs
- Sample points near the edge of the safe region
- Remove candidates not adequately visible from
the boundaries of the safe region - Remove candidates without a collision-free path
- Select NBV maximizing visibility gain vs. path
length
19Feasible set of NBV candidates
1. Randomly pick points within the visibility
range of the free curves bounding Sg(qk-1 ) 2.
Rule out points that are too far away from the
visible solid curves of ? g(qk-1 ), to allow for
accurate model alignment 3. Rule out points for
which a path planner does not generate a
collision-free path
20Scoring NBV candidates
Score is defined for an NBV candidate q by g(q)
A(q) exp -?L(q)
- A(q ) measures visibility gain of new position
- L(q) is the length of the path generated by the
planner - ? weights path cost against information gain
small ? if motion is cheap
21Visibility gain metric A
- Example A(q) calculation
- Cast a set of equally-spaced rays from q
- For each ray
- if the segment between 0 and rmax distance from
q hits a solid edge, ignore the portion of the
ray beyond the intersection - compute the length len of the remaining segment
that falls outside of Sg(qk ) - set A(q) ? len
22NBV computation
23Remarks
- Experimentally, showed moderately low number of
motions / sense operations required to build map - Ability to tweak parameters to implement
cautious detailed mapper or high-exploration
rough mapper - Can be extended to multiple robots, efficient if
they could work relative to each other
24Limitations
- 2D model only
- Lack of error-recovery or retroactive adjustment
- Feature-poor environments
- Future work integrate NBV algorithm with other
simultaneous localization and mapping (SLAM)
techniques