Summary: | We develop a new framework, based on the Least Constraint, for programming
robots to perform a task using a fault tolerant trajectory. We take
a specification of the task, expressed as a set of constraints on the robot's configuration
over time, and produce a fault tolerant trajectory. The methodology
encourages fault tolerant behavior at two levels: first at the task-design phase by
encouraging the designer to omit extraneous constraints which reduce the potential
for fault tolerant operation, and secondly, at the trajectory generation phase
by avoiding critical configurations. The critical configurations are identified via
a measure of fault tolerance which is global in nature. The dual optimization of
fault tolerance at both the high-level design phase as well as the low-level recoverymotion
generation phase allows more of the inherent fault tolerance of the robot to
be exploited. We believe that combining these two processes into a single formalism
is unique and beneficial.
The methodology is unique in its ability to deal with robots which are not
kinematically redundant with respect to arbitrary task, but which are sufficiently
redundant with respect to the particular task constraints to allow the task to be
described as a set of "loose" constraints over time.
The constraint-based approach allows us to model faults as additional constraints
to the specification, thereby allowing an efficient means of computing the
effect a fault will have on the ability to complete the task, using the reduced configuration
space of the robot. Faults not previously considered, such as the inclusion
of additional obstacles, as well as dynamic information arising from sensors, can
also be included using this formalism. An efficient algorithm for constructing a
recovery motion for a fault has been developed.
A specific example of a seldom considered fault, the collision of the robot
with an unknown obstacle, is presented. We show that in addition to detecting
the event, we are also able to recover the collision geometry. This information can then be used in a more intelligent recovery motion selection.
We have developed a new global fault tolerance measure called longevity.
The fault tolerance measure examines a set of faults which may occur at a given
configuration, and based on the optimal recovery motions for the given fault, ranks
the configuration in its ability to satisfy the future task requirements. Using this
fault tolerance measure, a trajectory which maximizes the worst-case failure mode
of the robot is computed.
A number of experiments show the applicability of the method to a number
of domains. We analyze the resulting trajectories with respect to their ability
to sustain a fault, and we compare them to more traditional methods for accomplishing
the same task. We demonstrate that trajectories obtained using the least
constraint specification and the fault tolerance measure are able to achieve a much
larger degree of fault tolerance than naive methods for the same task. The fault
tolerant trajectories make optimal use of the 1-fault tolerant configuration space,
and maximize the worst-case utility of the trajectory given a fault.
|