The DARPA Robotics Challenge (DRC) requires teams to integrate mobility, manipulation, and perception to accomplish several disaster‐response tasks. We describe our hardware choices and software architecture, which enable human‐in‐the‐loop control of a 28 degree‐of‐freedom Atlas humanoid robot over a limited bandwidth link. We discuss our methods, results, and lessons learned for the DRC Trials tasks. The effectiveness of our system architecture was demonstrated as the WPI‐CMU DRC Team scored 11 out of a possible 32 points, ranked seventh (out of 16) at the DRC Trials, and was selected as a finalist for the DRC Finals.
One popular approach to controlling humanoid robots is through inverse kinematics (IK) with stiff joint position tracking. On the other hand, inverse dynamics (ID) based approaches have gained increasing acceptance by providing compliant motions and robustness to external perturbations. However, the performance of such methods is heavily dependent on high quality dynamic models, which are often very difficult to produce for a physical robot. IK approaches only require kinematic models, which are much easier to generate in practice. In this paper, we supplement our previous work with ID-based controllers by adding IK, which helps compensate for modeling errors. The proposed full body controller is applied to three tasks in the DARPA Robotics Challenge (DRC) Trials in Dec. 2013.
We describe our full body humanoid control approach developed for the simulation phase of the DARPA Robotics Challenge (DRC), as well as the modifications made for the DARPA Robotics Challenge Trials. We worked with the Boston Dynamics Atlas robot. Our approach was initially targeted at walking, and it consisted of two levels of optimization: a high-level trajectory optimizer that reasons about center of mass and swing foot trajectories, and a low-level controller that tracks those trajectories by solving floating base full body inverse dynamics using quadratic programming. This controller is capable of walking on rough terrain, and it also achieves long footsteps, fast walking speeds, and heel-strike and toe-off in simulation. During development of these and other whole body tasks on the physical robot, we introduced an additional optimization component in the low-level controller, namely an inverse kinematics controller. Modeling and torque measurement errors and hardware features of the Atlas robot led us to this three-part approach, which was applied to three tasks in the DRC Trials in December 2013. C © 2014 Wiley Periodicals, Inc.
Modeling error is a common problem for modelbased control techniques. We present multiple model dynamic programming (MMDP) as a method to generate controllers that are robust to modeling error. Our method generates controllers that are approximately optimal for a collection of models, thereby forcing the controller to be less model-dependent. We compare MMDP to stochastic dynamic programming, minimax dynamic programming, and a baseline implementation of dynamic programming on the test problem of pendulum swing-up. We simulate modeling error by varying model parameters.
We present an optimization-based control strategy for generating whole-body trajectories for humanoid robots in order to minimize damage due to falling. In this work, the falling problem is formulated using optimal control where we seek to minimize the impulse on impact with the ground, subject to the full-body dynamics and constraints of the robot in joint space. We extend previous work in this domain by numerically approximating the resulting optimal control, generating open-loop trajectories by solving an equivalent nonlinear programming problem. Compared to previous results in falling optimization, the proposed framework is extendable to more complex dynamic models and generate trajectories that are guaranteed to be physically feasible. These results are implemented in simulation using models of dynamically balancing humanoid robots in several experimental scenarios.
This paper presents a modification for a broad class of controllers based on the LIPM dynamics. We use a change of variables such that instead of controlling the center of mass, we control an “augmented center of mass”, which is unaffected by upper body angular accelerations. We use upper body orientation as an additional source of control authority, allowing us to use both upper body rotation and center of pressure modulation for control. We demonstrate an improved robustness to external pushes with this additional control authority through simulated standing and walking experiments. We also demonstrate the modified controller on our force-controlled humanoid robot.
This paper presents an optimal controller for an Instantaneously Coupled System (ICS) which was designed by coordinating multiple lower-dimensional optimal controllers. We augmented subsystems of the ICS with coordination variables, and then used value functions to coordinate the augmented subsystems by managing tradeoffs of the coordination variables. We apply this method to humanoid walking and present a controller for a 3D simulation that uses multiple coordinated policies generated using Dynamic Programming. Additionally, we present simulated walking perturbation experiments as well as standing balance results from a force-controlled humanoid robot.
We present a decoupled controller for a simulated three-dimensional biped. To handle the high-dimensionality of the system, we break the dynamics down into multiple subsystems, which we control separately. For both the sagittal and coronal plane dynamics, we use dynamic programming to simultaneously optimize body motion, foot placement, and step timing for a two link inverted pendulum model. To use these simplified policies we map the full state to a simplified state, and then map the control action back onto the full system. The swing leg is controlled via continuously updated desired trajectories. These separate policies are then coordinated by the estimated time until touchdown, which is provided by the sagittal policy. By varying the lean angle or changing the sagittal policy we are able to contol the walking speed. We also evaluate the performance of our controller in terms of robustness to perturbations.