A program initiated by the Defense Advanced Research Projects Agency (DARPA) and now also pursued by other agencies called “Learning Applied to Ground Robots” (LAGR), is developing control algorithms that would enable a robotic land vehicle, robotic underwater crawler, or other similar autonomous mobile robot to traverse terrain safely. Among the algorithms needed are navigation algorithms for finding and then following a safe path across terrain from a starting or current position to a destination.

In one approach to solving the navigation problem, the navigation algorithms form a hierarchical fuzzy-logic system that includes (1) modules that perform a variety of low- and intermediate- level sensor-data-processing functions involved in planning a path, and (2) a supervisory module that uses information from the aforementioned modules. Another notable aspect of this approach is that the algorithms provide for improving performance by learning from path-planning choices made by a human driver and remembering data from previous traversals.

The hierarchical fuzzy-logic system is intended to mimic path-planning decisions that would be made by a human in the face of the currently available sensory data and of a traversability map based on a terrain-height-and-obstacle map that also incorporates what is known about the terrain from previously acquired sensor data. It is assumed that a robot utilizing these algorithms would be equipped with sensory systems that would include at least a stereoscopic machine vision system, a Global Positioning System receiver, and an inertial navigation system.

The main lower- and intermediatelevel modules and their functions are the following:

  • A global path-planning module makes an initial choice of points that define an approximate obstacle-avoiding path from the starting point to the destination. This module also memorizes the previously acquired knowledge of the terrain to improve performance with experience.
  • A trail-selection module uses visual cues to identify potential path segments in both the near and far fields and attempts to assemble the segments to define a tentative path for the robot to follow toward a location in the far field.
  • A terrain-classifier module uses data from raw stereoscopic imagery to create a traversability map (see figure).
  • The Raw Image Was Processed, along with its stereoscopic counterpart, by a fuzzy-logic terrain classifier. The portion above the dark mask in the middle image shows obstacles identified by the classifier. The results of the classification were projected onto a two-dimensional Cartesian grid to obtain a traversability map, on which magenta indicates dangerous obstacles.
    There are several local path-planning modules: a trail-following module that seeks local openings and avoids local obstacles, a dead-reckoning module that strives to keep the robot close to the prescribed path, a hazard-avoidance module that utilizes sensory data and classical obstacle-avoidance techniques to detect dangerous slopes and obstacles, and a position-error-correction module that derives information on wheel slip from a combination of motor-current, opticalflow, and inertial-navigation data.
  • An open-space module seeks to steer the robot toward more-open areas in order to center the robot on a trail, counteracting what might otherwise be a tendency to choose a path too close to obstacles when striving to minimize the total path length.
  • A stabilizer module favors the previous heading decision in order to suppress steering oscillations that can otherwise occur when the obstacle-avoidance module cannot decide whether to steer to the right or the left around an obstacle.

Each of these modules provides, to the supervisory module, a recommended heading, a recommended speed, and a quality factor, which is a fuzzy quantity used to rank the heading and speed recommendations against those of the other modules. The supervisory module uses the quality factors in arbitrating the possibly differing heading and speed recommendations to generate a single control recommendation for the robot to follow.

The fuzzy rule base of the fuzzy-logic system is generated in a process in which a human manually controls the vehicle on terrain similar to the terrain on which the robot is intended to operate. During this process, the choices made by the initially untrained or partially trained fuzzy-logic system are quantitatively compared with those of the human driver by means of a metric defined specifically for this purpose. Then the fuzzy logic and the quantities associated with it are adjusted, according to the metric, to make the fuzzy-logic system mimic the human’s choices more closely.

This work was done by Dean B. Edwards, John Canning, and Joel Alberts of the University of Idaho for the Naval Research Laboratory. For more information, download the Technical Support Package (free white paper) at www.defensetechbriefs.com/tsp under the Information Sciences category. NRL-0012

This Brief includes a Technical Support Package (TSP).
Autonomous Vehicles Would Learn by Mimicking Human Drivers

(reference NRL-0012) is currently available for download from the TSP library.

Don't have an account? Sign up here.

Defense Tech Briefs Magazine

This article first appeared in the June, 2007 issue of Defense Tech Briefs Magazine.

Read more articles from the archives here.