Abstracts - 2007
Fast, Safe, and Robust Task Execution for Artibulated Robots
Andreas G. Hofmann & Brian C. Williams
Effective use of autonomous robots in unstructured, human environments requires that the robots have: 1) sufficient autonomy to understand task-level commands from humans, 2) sufficient size and strength to be able to perform useful tasks in the environment, 3) sufficient speed to accomplish tasks in a timely manner, and 4) sufficient operating safety while utilizing their size, strength, and speed. Task requirements can be expressed as temporal and state constraints associated with relevant parts of the robot. For example, a task may require an end-effector, or the robot as a whole, to be in a particular region during a particular time interval. The requirements have some flexibility in that the region and time interval are typically not points, but rather, sets. This means that there are often many ways to accomplish the task; there is often a large set of joint motion trajectories that satisfy task requirements. A robot executing a task has its own set of constraints; physical limitations that constrain its ability to perform the task in various ways. For example, a walking robot is underactuated due to the imperfect contact of its feet with the ground. Thus, there is an inherent potential conflict between task requirements and robot capabilities; constraints associated with task requirements may conflict with constraints associated with the robot mechanism.
A robot's ability to accomplish a task ought to be limited only by its physical constraints, and by constraints associated with the task requirements, not by artificial limitations imposed by the control system. However, most existing robotic control systems impose artificial limits. For example, many existing robots operate by pre-planning joint trajectories off-line that satisfy task goals, and that are optimal in some way. These pre-planned joint trajectories are then closely tracked, at execution time, by high-impedance local joint controllers. This works well if there are no significant disturbances; the joint trajectories follow the reference trajectories closely, and the task requirements are satisfied. However, if a large enough disturbance occurs, actual trajectories will depart signficantly from reference trajectories, and the system will be in an unknown state. At this point, the best thing to do may be to switch to a different reference trajectory, rather than trying to continue to follow the original one. Unfortunately, most existing robot control systems do the latter because they are unaware of the full set of feasible trajectories that satisfy task goals. They do not know how to react to large disturbances. They don't even know whether a particular disturbance is severe enough that goals must be abandoned.
In this research, we investigate how flexible task goals for robots should be expressed, and how control actions should be generated that achieve such goals, even if disturbances occur. Our approach uses a novel multivariable controller that decouples the robot into seemingly independent systems. This allows us to extend flexible plan execution techniques, previously used only for discrete systems, to complex hybrid discrete/continuous systems. Plans are then expressed in terms of flexible state and temporal goals, and are efficiently transformed into an executable form, that includes all necessary control information, by a plan compiler. We evaluate our approach using actual and simulated robots as testbeds.
We have developed a control algorithm  that provides enhanced flexibility and robustness in the control of robotic movements such as balancing and coarse manipulation, through the following key architectural features:
This approach provides a linearized abstraction of the controlled plant, which is easier to control than the plant itself. The controller automatically computes sophisticated corrective actions in response to disturbances, based on simple behavior specifications (like keeping the center of mass at the center of the support base). For example, if a robot balancing on one leg is pushed hard enough, the controller automatically generates corrective torso and limb movements, as shown below. These include movements that generate angular momentum about the center of mass, in order to enhance corrective horizontal center of mass forces, as shown in Fig. 1.
Fig. 1 - Balance recovery using angular momentum
A Task-level Executive utilizes the linearized abstraction provided by the multivariable controller in order to sequence the robot through a series of qualitative states leading to a final state that satisfies task goals. Such qualitative states are represented using a qualitative state plan, which specifies state and temporal constraints for each qualitative state , .
The task-level executive compiles the qualitative state plan, generating a control plan with more specific, quantitative goals for each pose in the sequence, and control law parameters that achieve these goals. The compilation incorporates a reachability analysis, which, although challengin, is tractable because it is based on the linearized abstracted plant. This results in computation of flow tubes, shown in Fig. 2, which represent feasible trajectory sets, and control laws that keep the trajectory within the tube.
Fig. 2 - Flow tubes with trajectory
At execution time, the task-level executive sequences the robot through each qualitative state using the flow tubes. The system is robust to disturbances that displace the system state within the flow tube. Thus, a disturbance that displaces the system state away from the nominal trajectory can be handled successfully as long as the displaced state is within the flow tube. In this case, the executive may switch control laws, based on the new region within the flow tube. If a disturbance pushes the system state outside the flow tube, then plan execution fails. At this point, a higher-level control authority must switch to a different plan. The combined action of the executive and multivariable controller results in a robust task execution capability, as shown in Fig. 3. In the sequence shown, the robot traverses a path with foot placement constraints, and reacts to push disturbances without falling.
Fig. 3 - Robotic task execution: traversing an obstacle course
 A. Hofmann, S. Massaquoi, M. Popovic, and H. Herr. A Sliding Controller for Bipedal Balancing Using Integrated Movement of Contact and Non-Contact Limbs. In IROS 2004, Sendai, Japan, Oct. 2004.
 A. Hofmann, and B. Williams. Exploiting Spatial and Temporal Flexibility for Plan Execution of Hybrid, Under-actuated Systems. In AAAI 2006, Boston, MA, USA, July 2006.
 A. Hofmann Robust Execution of Bipedal Walking Tasks from Biomechanical Principles In Ph.D. Thesis, MIT, Dec. 2005.
See also http://people.csail.mit.edu/people/hofma/Research.htm for more details