Patent ID: 6134486
Filing Date: 2000-10-17
Classification: G05D

Abstract:
An unmanned vehicle control system using a timer-interrupt-driven operation with an interval of .DELTA.t, the vehicle's position p, and heading orientation .theta. are defined in the world coordinate frame, a pair (p, .theta.) of the position and orientation is denoted as the vehicle transformation, the difference between a present vehicle transformation and its next transformation is denoted as the incremental transformation, the arc length .DELTA.s of the trajectory of the vehicle position p generated by a vehicle motion during an interval .DELTA.t is denoted as the vehicle incremental movement distance, and the orientation change .DELTA..theta. of the vehicle heading orientation .theta. generated by a vehicle motion during an interval .DELTA.t is denoted as the vehicle incremental heading orientation change, comprising:a computer control system for storing predetermined path data consisting of straight lines and circles, for calculating continuous-curvature motion, for making in-motion corrections using positional feedback, and for switching between the lines and circles; wherein the computer control system comprises:a Vehicle-Independent Subsystem; anda Vehicle-Dependent Subsystem connected to the Vehicle-Independent Subsystem;wherein the Vehicle-Independent Subsystem further comprises;a Vehicle-Configuration Estimation Subsystem connected to the Vehicle-Dependent Subsystem;a Segment-Switching Test Subsystem connected to the Vehicle-Configuration Estimation Subsystem;a Path Buffer Subsystem connected to the Segment-Switching Test Subsystem;a Continuous-Curvature Motion Calculation Subsystem connected to the Vehicle-Configuration Estimation Subsystem, the Path Buffer Subsystem, and the Vehicle-Dependent Subsystem;wherein the Vehicle-Configuration Estimation Subsystem receives input of the vehicle incremental movement distance .DELTA.s and vehicle incremental heading orientation change .DELTA..theta. from the Vehicle-Dependent Subsystem, computes the present vehicle transformation q=(p,.theta.) (position and orientation), trajectory curvature .kappa., and vehicle speed v, and then outputs these three items to the Continuous-Curvature Motion Calculation Subsystem and also outputs the present vehicle transformation q=(p,.theta.) (position and orientation), and trajectory curvature .kappa. to the Segment-Switching Test Subsystem;wherein the Segment-Switching Test Subsystem receives the input of the present vehicle transformation q=(p,.theta.) and trajectory curvature .kappa. from the Vehicle-Configuration Estimation Subsystem and the second path segment L.sub.2 (if any) from the Path Buffer Subsystem, computes a steering function J to track a path segment L.sub.i, tests whether the signs of J(L.sub.1) and J(L.sub.2) are distinct, or J(L.sub.2)=0, and, if the test is true, sends a switching-needed command to the Path Buffer Subsystem;wherein the Path Buffer Subsystem stores a path in a form of a list (L.sub.1, L.sub.2, . . . ) of path segments, where each path segment L.sub.i is a directed straight line segment or a directed circle segment, sends the present path segment L.sub.1 to the Continuous-Curvature Motion Calculation Subsystem, sends the next path segment L.sub.2 (if any), to the Segment-Switching Test Subsystem, and shifts the contents of the list when a switching-needed command is accepted from the Segment-Switching Test Subsystem, sending the next path segment, L.sub.2, newly defined as L.sub.1, to the Continuous-Curvature Motion Calculation Subsystem;wherein the Continuous-Curvature Motion Calculation Subsystem receives the input of the present vehicle transformation q=(p,.theta.), trajectory curvature .kappa., and vehicle speed .upsilon. from the Vehicle-Configuration Estimation Subsystem, and receives the present path segment L.sub.1 input from the Path Buffer Subsystem, computing a commanded path curvature .kappa..sub.c and commanded speed .upsilon..sub.c, and sending these two values to the Vehicle-Dependent Subsystem; andwherein the Vehicle-Dependent Subsystem receives the commanded path curvature .kappa..sub.c and commanded speed .upsilon..sub.c from the Continuous-Curvature Motion Calculation Subsystem, executes low-level control tasks for motors, detects the vehicle incremental movement distance .DELTA.s and vehicle incremental heading orientation change .DELTA..theta., and sends them to the Vehicle-Configuration Estimation Subsystem.