A method of computing the speed at which to command an autonomous robotic vehicle to travel over rough terrain has been devised. The method amounts to a robotic implementation of the practice in which, during approach to a visibly rough surface, a human driver intuitively reduces the speed of a car or truck to prevent excessive bounce, damage to the vehicle, or loss of control.
The method is applicable to a robotic vehicle equipped with (1) a stereoscopic machine-vision system that generates data equivalent to a topographical map of the terrain in the vicinity of the vehicle, (2) an onboard navigation system that computes the planned path of the vehicle across the terrain, and (3) a speed-control system. In this method, the process for generating a speed command begins with utilization of the topographical and planned-path data to compute the relative surface height as a function of distance along the planned tire tracks immediately ahead of the vehicle. The roughness of the surface along each tire track is quantified in terms of the derivatives (particularly the second derivative) of surface height with respect to distance. To suppress the additional noise that would otherwise be generated by differentiation of noisy height data, the height-vs.-distance data are fitted piecewise cubic spline polynomial curves, the parameters of which give the required derivatives directly.
The maximum allowable speed, for the purpose of generating a velocity command, is deemed to be the speed that results in a maximum allowable bounce (as quantified in terms of vertical acceleration). To calculate vertical acceleration, the dynamics of the vehicle at each tire are represented by a mathematical model in which a spring-and-damper combination (representing the tire) is in series with another spring-and-damper combination (representing the suspension mechanism) that supports a rigid mass equal to a portion of the mass of the vehicle. Analysis of this model leads to a quadratic equation for the maximum allowable speed as a function of the maximum allowable vertical acceleration and of "road forcing" terms that contain the second derivative of the surface height. The solution of this equation for each position along a tire track yields the maximum allowable speed for that position.
Of course, it is necessary to (1) decelerate the vehicle to the maximum allowable speed for a given rough spot at least some short time before the vehicle reaches that spot, and (2) keep the speed low until the vehicle has cleared the rough spot. One strategy to accomplish this involves (1) maintaining a sequence of allowable speeds computed for nonoverlapping segments of the vehicle path immediately ahead and (2) commanding, at any given time, a speed that is the minimum of these allowable speeds. For example, suppose that four maximum-speed values (V1 through V4) are sufficient and that they pertain to segments of the path from the rear wheels to the stopping distance in front (see figure). As the vehicle moves forward, the current value of V1 is dropped from the sequence, the current values of V2 through V4 are assigned to V1 through V3, respectively, and a new maximum speed V4 is computed for the new fourth path segment coming into view.
This work was done by Kenneth D. Owens of Caltech for NASA's Jet Propulsion Laboratory.
This Brief includes a Technical Support Package (TSP).
Controlling Speed of a Robotic Vehicle Over Rough Terrain
(reference NPO20762) is currently available for download from the TSP library.
Don't have an account? Sign up here.