next up previous
Next: Item 1: Odometry Extrapolation. Up: EXTRACTING DRIVABLE SURFACES IN Previous: Autonomous Outdoor Driving.

The Context: Outdoor SPLAM

Our drivable surface extraction method is part of an overall robot control system for Simultaneous Planning, Localization, and Mapping (SPLAM) in outdoor environments, which is currently under development. Before we describe the method, we will sketch this context, into which it has to fit.

The general idea is to do SLAM indoor or outdoor or in mixed indoor/outdoor environments, and integrate into it a planning process for selecting the next pose to move to for making the map under development more complete. This planning process should generate the next view pose and plan the path to go there under reactive execution; alternatively, it should be able to respond to other requests that the robot receives, interrupting the SLAM process for some time. The main difference to state-of-the-art SLAM, as briefly recapitulated in the previous section, lies in two points: First, we are not restricted to 2D maps of indoor environments, but do full 6D SLAM generating 3D maps; and second, we integrate into it a pose planning process allowing the SLAM process to be optimized explicitly according to criteria like expected time or expected path length. In previous work [24], we have demonstrated an instance of that scenario, which was restricted to a flat and continuous floor (i.e., regular indoor environments), and which has used a specialized next-best-view planner for the planning part.

Our outdoor SPLAM procedure consists of the following subtasks:

  1. Extrapolate the odometry readings to all six degrees of freedom using previous registration matrices [18].
  2. Find a heuristic pose update using octrees [18].
  3. Use the ICP algorithm [4] to match the 3D scans. Hereby use point reduction and approximate $ k$D-tree search to accelerate the scan matching [17].
  4. Extract the drivable surface from the current 3D model.
  5. Plan the next scan pose and a path to go there from the current pose along a drivable surface.
  6. Execute this path in closed-loop control mode.
  7. Find ``closed loops'' using octrees and, if a closed loop is detected, distribute any occuring error over the 3D scans forming the loop [25].
  8. Use a global relaxation method off-line to create highly precise 3D maps [24].
Of this list, items 1-6 are executed in a looping fashion, while the closed loop detection (item 7) is only executed if the current pose estimation is such that a closed loop is possible; the global relaxation (item 8) is only executed off-line on the map consisting of all scans.

As the citations in the item list suggests, we have presented solutions to many of these subtasks in previous work, drivable surface extraction being the first one open on the list. Before we present our solution to this problem in the next section, the following subsections will recapitulate our solutions to the preceding items 1-3, to set the context for the surface extraction task. Readers familiar with this previous work may safely skip the rest of this section. Our solutions to items 6 and 7 will not be recapitulated here as they are not required for understanding the contribution of this paper. Please refer to the cited literature.



Subsections
next up previous
Next: Item 1: Odometry Extrapolation. Up: EXTRACTING DRIVABLE SURFACES IN Previous: Autonomous Outdoor Driving.
root 2006-03-16