This article discusses the various researches being undertaken to study and develop Whole-Body Operational Space Control (WBOSC). The WBOSC emerges as a capable framework for real-time unified control of motion and force of humanoid robots. It could theoretically outperform high-speed industrial manipulators while providing the grounds for new types of service-oriented applications that require contact, by exploiting the rigid body dynamics of systems. By relying on joint torque sensors, WBOSC opens up the potential to interact with the physical environment using any part of the robot’s body while regulating the effective mechanical impedances to safe values. With ControlIt!, the developers provide a strict and easy way to use the WBOSC API consisting of compound tasks which define the operational space, and constraint sets that define the contacts with the environment as well as dependent degrees of freedom. ControlIt! is easy to connect to high level planners.
In [Fingar, 2008], the US National Intelligence Council reported six potentially disruptive technologies for the year 2025, one of them being service robotics. The report states that, “[...] robots for elder care applications and the development of human augmentation technologies, mean that robots could be working alongside humans in looking after and rehabilitating people.” On a related note, the European company Fatronik published a study [Eizmendi, 2007] showing that by age 80, 42% of the Spanish population is currently disabled. Looking at population pyramids and expected population growth, we could expect that by the year 2100, more than 1 billion people will be disabled worldwide. It is in light of those statistics that service robotics may play a major role in providing life comfort after losing mobility. In this context, the Human Centered Robotics Lab (HCRL) at the University of Texas at Austin is interested in the study of robotic systems for the assistance, augmentation, and representation of people to increase their social comfort, productivity, security and health.
Humanoid Robots for Firefighting
The US Office of Naval Research has a comprehensive program in Cognitive Science and Human Robot Interaction. One of its main missions is to develop a robotic workforce that supports firefighting operations in Navy vessels. In 2012, the US Navy lost a Los Angeles class nuclear submarine due to an arson fire. Seven firefighters suffered from injuries. The vessel was irreparable and ultimately decommissioned in 2013. Events like this and other emergency scenarios greatly motivate the use of robotic systems that can skillfully move in cluttered spaces. The Human Centered Robotics Lab works with the US Office of Naval Research to study legged mobility and physical human robot interaction. Bipedal locomotion dates back to the 1970s in the former Yugoslavia [Vukobratovic, 2005] with the introduction of center of pressure models to describe human gait. It was followed by work on humanoid robots by Japanese researchers in the early 1970s [Kato, 1973], Honda Co. [Hirose, 2001] and the Japanese Ministry of Science and Technology [Kajita, 2002] based on a simple locomotion model called the Linear Inverted Pendulum Model. MIT pioneered agile bipedal locomotion using Rule Based Methods that enabled robots to run, jump and perform flips in the air [Raibert, 1984].
Sampling based methods have been successful for slow climbing [Bretl, 2005] and quasi-static mobility in rough terrains [Hauser, 2008] but not fast enough for fall recovery. Point feet robots have been recently able to balance unsupported [Ramezani, 2015, Buss, 2014]. Despite those advancements, we lack a general feedback control and planning framework that is not specialized to one type of agility. We also lack realtime plug and play control middleware for legged robots. In 2012 we started building a teen size bipedal robot, Hume (see Figure 2) equipped with series elastic actuators for fundamental studies on agility. Series elastic actuators are a technology developed by [Pratt, 1995] which adds a spring in series with an actuator's mechanical output. Its advantages or disadvantages over more rigid actuators are greatly disputed but there is a consensus that they better protect legged robots against shocks and that they provide better force control at low frequencies than rigid actuators equipped with load cells. Point foot bipeds are very interesting because they are relatively simple to build and excellent for testing dynamic balance.
To accomplish biped locomotion, a strong focus needs to be put forth at three levels: motion planning for foot placement, body pose estimation, and feedback control of the stance and swinging legs. This process is much different than in mobile manipulation systems, in that bipeds are underactuated systems that will fall very quickly if their feet don’t regulate the walk. Equally importantly, body pose estimation is difficult because it needs to rely on inertial data, which suffers from drift when resolving the robot's global pose. When the above three technologies are achieved, for instance using a multi-body physics based simulation environment [Haan, 2009], there is still a long haul until the real robot can balance. This issue is a big hurdle because it leads to naive assumptions that ultimately achieve poor performance in the hardware. The cause of the divide between simulations and hardware is rooted in several key issues: (1) the increased use of expensive control algorithms which introduce realtime delays on the feedback servo processes; (2) the lack of passivity properties of force controlled actuators; (3) the design of slow serial communication processes which introduce additional servo latencies; and (4) the use of inaccurate models for kinematics and dynamics. We will discuss the first two issues below.
High Dimensional Control Algorithms
Whole-body control algorithms [Sentis, 2007] consider the floating base rigid body dynamics of robots with physical constraints [Jain, 1991]. The control problem is posed as that of creating multiple control objectives while contacts and dependent degrees of freedom are modeled as constraints in an optimization problem. This problem can be solved using projection-based techniques like Operational Space methods [Khatib, 1986a] or Jacobian-transpose methods [Pratt, 2001]. The main advantage of projection operators is that they don’t require time-consuming optimization. The second option is the use of optimal control methods [Stephens 2010, Todorov 2012], which allow for inequality constraints but at the cost of slower computations. Either way, whole-body control algorithms introduce significant latencies compared to computations of high performance industrial robot controllers. At the same time velocity servo loops are very sensitive to delays [Zhao, 2014a] and therefore stability gets hindered. To mitigate this performance problem we recently proposed using distributed control architectures in which position servos are centralized to allow the use of global robot information and sensor processes while velocity servos are embedded for high speed. Additionally, we recently implemented multithreaded controllers for speed increase [Fok, 2015].
High Impedance Control of Series Elastic Actuators
In point foot locomotion, the precise tracking of desired swing foot trajectories is essential. Errors above 2cm on foot landing lead to dramatic changes on the locomotion patterns, which quickly become impossible to stabilize. In humanoid robots, this level of precision is hard to achieve compared to industrial robots. First, humanoid robots are increasingly lighter, utilizing flexible mechanical structures, like carbon fiber tubes [Slovich, 2012]. Second, the increasing use of force control actuators for safety introduces stability problems due to the virtual elimination of passive friction.
Third, the computational and communication latencies mentioned before mean that there is degradation on controller stability. In Figure 3, we show a type of series elastic actuator used in NASA Valkyrie's robot [Radford, 2015] that the HCRL originally invented [Paine, 2014]. It consists of a hollow electric motor, which turns a ball nut connected to the rotor. A ballscrew slides in and out of the rotor supported by an inner piston drive. The back of the ballscrew is connected to a sliding carriage, which contains preloaded springs connected to a floating cage. While the ballscrew is connected to the output joint, the back of the floating cage is anchored to the leg. The spring provides impact protection and excellent torque sensing for feedback torque control.
In our recent paper [Zhao, 2014b] we investigated the effects of time delays in force controlled actuators. We observed that the closed loop position control bandwidth of proportional-derivative controllers is very sensitive to velocity loop delays but fairly insensitive to position loop delays. In order to increase the position control effort for good tracking accuracy, high velocity gains are required to achieve adequate damping. This is particularly important in series elastic actuators because the inner torque controller virtually eliminates the passive friction of the actuator. However, due to the high sensitivity to delays of velocity feedback servos, it is difficult to achieve high position bandwidth on series elastic actuators if the velocity feedback is slow. Using the distributed control architecture previously discussed solves this problem by offloading the velocity servos to low latency embedded processors.
Whole-Body Operational Space Control for Locomotion
Operational Space Control is a control strategy created a few decades ago [Khatib, 1986b] for industrial manipulators that enables the achievement of unified motion and force control of the robot's end effector. It does not require having a multi-axis load cell in the end effector, and instead relies on estimating the end effector forces using joint torque sensors or joint currents. More importantly, because it is model-based it requires less control effort to achieve the desired motions and forces. A current trend in human-centered robotics is to rely more on feedforward control and less in feedback effort to achieve higher system efficiency and some level of safety upon collisions with the environment.
A few years ago, we extended Operational Space Control to humanoid robots. Humanoid robots can be modeled as multibody systems with a floating base and in contact with the ground or other surfaces. We branded our strategy for unified control of motion and forces, Whole-Body Control, and it has nowadays influenced various related frameworks [Righetti, 2012, Johnson, 2015, Stephens, 2010, Ott, 2014].
Most recently, colleagues and I co-founded the IEEE Technical Committee on Whole-Body Control, gathering about 100 researchers working on humanoid robotics. The algorithm that my group at the University of Texas at Austin has developed is called Whole-Body Operational Space Control (WBOSC) and at its core, it uses floating base inverse dynamics as the robot model. Borrowing from the Operational Space formalism, Whole-Body Operational Space Control solves the floating base inverse dynamics problem with contact constraints and derives the so-called Contact-Consistent Task Jacobians which project operational space forces into actuator torques while complying with the contacts on the robot's body.
In Figure 4 we show the Whole-Body Operational Space controller implemented in the Hume bipedal robot to perform dynamic locomotion and complex multicontact maneuvers. This type of implementation is the first to use internal force feedback control to balance in cluttered terrains like the one shown in Figure 5. This is achieved thanks to the feedback control of the internal forces to overcome the vertical forces exerted by gravity and the person pushing the robot down. Gain scheduling is another important capability of our whole-body controller. As the robot's legs make or break contact, the robot dynamics rapidly change. Although the models used in Whole-Body Operational Space Control attempt to compensate for these changes, the controllers need to be further specialized for each locomotion phase, and this is accomplished by scheduling the gains.
The Darpa Robotics Challenge
In 2012, we teamed up with NASA Johnson Space Center to build a new humanoid robot to compete in DARPA's Robotics Challenge (DRC). The challenge emerged after the Fukujima Daiichi Nuclear Disaster of 2011 that could have been avoided if unmanned systems could have been deployed to deliver fuel or energy batteries to run the cooling systems.
For the challenge we performed a herculean effort to help build an entire humanoid robot from scratch, a whole-body control software to coordinate mobility and manipulation, and a supervisory system to program the robot's behaviors from afar.
During the DRC we developed software that implemented the Whole-Body Operational Space Control methodology on Valkyrie and dubbed it ControlIt! ControlIt! is multithreaded to significantly increase achievable servo frequencies using standard PC hardware. It builds upon state-of-the-art software such as Eigen 3.0.5, RBDL 2.3.2, and Robot Operating System (ROS) Hydro and Indigo, and the Gazebo simulator 4.1.0. A parameter binding mechanism enables tight integration between ControlIt! and external processes via an extensible set of transport protocols. A plugin-based architecture enables Controllt!’s core software to be platform independent and the set of whole body control primitives to be runtime extensible. To support new robots, only two plugins and a URDF model need to be provided — the rest of ControlIt! remains unchanged. New whole body control primitives can be added at runtime by writing a Task or Constraint plugin. ControlIt! comes with plugin libraries containing existing task primitives, robot integration components, and a parameter binding transport layer that provide sufficient functionality for basic applications.
Whole-Body Operational Space control emerges as a capable framework for realtime unified control of motion and force of humanoid robots. By exploiting the rigid body dynamics of systems, it could theoretically outperform high-speed industrial manipulators while providing the grounds for new types of service-oriented applications that require contact. By relying on joint torque sensors, WBOSC opens up the potential to interact with the physical environment using any part of the robot's body while regulating the effective mechanical impedances to safe values. This capability is very important in human-centered applications because the robot could not only detect collisions on any mechanical linkage of its body but also respond to collisions with low impedance behaviors to provide safety.
Until recently no whole-body control software environment with a focus on usability and integration with modern math and communication libraries had been developed. With Controllt! we provide a strict and easy way to use the WBOSC API consisting of compound tasks which define the operational space, and constraint sets which define the contacts with the environment as well as dependent degrees of freedom. Controllt! is well integrated with the latest Ubuntu operating system, the RTAI realtime Kernel, the Robot Operating System, visualization tools, and several libraries for algebraic and rigid body dynamic computations. Additionally, to shave time on computation, Controllt! relies on a multi-threaded architecture in which the feedback servos, the global models and the task models are computed as separate processes. This implementation allows achieving rates that significantly reduce the tracking error for practical operations. Controllt! is easy to connect to high level planners. During our participation in DARPA's Robotics Challenge, the behaviors of Controllt! were programmed using NASA's Robot Task Commander software [Hart, 2013]. More recently, new behaviors have been programmed using Smach from the ROS framework. In the near future, we will support visual servoing to achieve adaptive manipulation of everyday objects in the environment. Also, we will pursue cloud based capabilities and an advanced user interface for programming and calibrating behaviors.