Recent Papers:

Federico L. Moro,
Michael Gienger, Ambarish Goswami,
Nikos G. Tsagarakis
and Darwin G. Caldwell
An Attractorbased WholeBody Motion Control (WBMC) System for Humanoid Robots
Humanoids 2013, Atlanta, GA, October 2013.
(pdf).
Simulation video:
Click Here
Abstract:
This paper presents a novel wholebody torquecontrol
concept for humanoid walking robots. The presented
WholeBody Motion Control (WBMC) system combines several
unique concepts. First, a computationally efficient gravity
compensation algorithm for floatingbase systems is derived.
Second, a novel balancing approach is proposed, which exploits
a set of fundamental physical principles from rigid multibody
dynamics, such as the overall linear and angular momentum,
and a minimum effort formulation. Third, a set of attractors
is used to implement movement features such as to avoid
joint limits or to create endeffector movements. Superposing
several of these attractors allows to generate complex wholebody
movements to perform different tasks simultaneously. The
modular structure of the proposed control system easily allows
extensions. The presented concepts have been validated both
in simulations, and on the 29dofs compliant torquecontrolled
humanoid robot
COMAN. The WBMC has proven robust to
the unavoidable model errors.
Features:
Figure above:
The behavior of the WBMC system is not always easy to predict. The torques generated by the MinEff (minimum effort)
attractor in the case of a 2link fixedbase
robot, for instance, aim to bring the robot to a vertical position when gravity is the only external force acting on the robot,
as shown in case (a) in the above figure. If another external force
is applied as in case (b), instead, the MinEff locally searches for a configuration that minimizes all external disturbances.
See the paper for other cases, c), d), and e), which are shown above.
Figure above:
We see snapshots from the video of the experimental validation of the WBMC with the COMAN robot (taken at 2Hz). In this case the robot
configuration is perturbed by forcing the waist roll joint to change its angle. As the robot is released the MinEff (minimum effort)
brings the robot back to a vertical,
minimum effort configuration. The resulting motion is damped by the MomJ (joint moment) attractor, that prevents the velocity to grow uncontrolled.

D. Orin, A. Goswami and
S.H Lee,
Centroidal Dynamics of a Humanoid Robot,
Autonomous Robots, Vol. 35, No. 2, October 2013.
(pdf).
Simulation video:
Click Here
Abstract:
The center of mass (CoM) of a humanoid robot
occupies a special place in its dynamics. As the location of its
effective total mass, and consequently, the point of resultant
action of gravity, the CoM is also the point where the robot's
aggregate linear momentum and angular momentum are naturally
defined. The overarching purpose of this paper is to
refocus our attention to centroidal dynamics: the dynamics
of a humanoid robot projected at its CoM. In this paper we
specifically study the properties, structure and computation
schemes for the centroidal momentum matrix (CMM), which
projects the generalized velocities of a humanoid robot to
its spatial centroidal momentum. Through a transformation
diagram we graphically show the relationship between this
matrix and thewellknown jointspace inertia matrix. We also
introduce the new concept of "average spatial velocity" of the
humanoid that encompasses both linear and angular components
and results in a novel decomposition of the kinetic
energy. Further, we develop a very efficient O(N) algorithm,
expressed in a compact form using spatial notation, for computing
the CMM, centroidal momentum, centroidal inertia,and average spatial velocity.
Finally, as a practical use of centroidal
dynamics we show that a momentumbased balance
controller that directly employs the CMM can significantly
reduce unnecessary trunk bending during balance maintenance
against external disturbance.
Features:
Centroidal Dynamics:
The center of mass (CoM) of a humanoid robot is a uniquely
important point in its dynamics. First of all, it is the effective
location of the robot's total mass, and therefore, the point
where its aggregate linear momentum is naturally defined. It
is also the point through which the resultant gravity force acts.
It should then come as no surprise that virtually all reduced
humanoid models and control algorithms contain the CoM
as an integral component.
In the wellknown example of a freely flying multilink
chain, the average behavior of the chain can be adequately
described in terms of its CoM. While the dynamics of individual
member links can be quite complex, the motion of
the CoM follows a pointmass projectile profile which can be
easily described and communicated. Additionally, the rotational
motion of the aggregate chain obeys the conservation
of angular momentum about the CoM or, the centroidal angular momentum.
For many applications, such reduced description
is instrumental in the analysis and control of the system.
In a similar manner, surprisingly deep insight into the
dynamics of a humanoid robot can be obtained simply by
following the trajectory of its CoM, center of pressure (CoP),
and the lean line connecting these two points. This has been
known for a long time and has been utilized in the study of
human motion. The study of humanoid dynamics has also
inherited this trend and a number of progressively complex
models, some of which are shown above, are currently used
for analysis and control.
Figure above:
A number of progressively complex "inverted pendulum" models, which are currently used
for the analysis and control of gait and balance of humanoid robots and humans.
Transformation Diagram:
Figure above:
Transformation diagram showing the relations among the velocities
and momenta of a robot. These vector quantities can be expressed
in joint space, system space, or the CoM space of the robot. The matrices
representing the linear transformations between velocities and momenta
in different spaces are also shown in this diagram. The dashed line at the
lower left of the diagram represents a minimum kinetic energy transformation,
which is not a general transformation.
Simulation:
Figure above:
We tested the momentumbased balance controller by simulating
a humanoid robot model. In the simulation
experiment the robot is subjected to a push from the
lateral direction while standing on a narrow support, which is
even slightly narrower than the width the robot's feet. In this
environment, the robot must rotate its upper body in order
to maintain balance, and our controller based on the centroidal momentum matrix
(CMM) creates such a whole body motion in which the whole body
segments including the trunk and arms are engaged to create
the necessary admissible momentum rate change. We see a series of snapshots illustrating when the robot is
subjected to an external push which is applied
at the robot's CoM in the lateral direction from the robot's
right side.

S.H Lee and A. Goswami,
Fall on Backpack: Damage Minimizing Humanoid Fall on Targeted Body Segment Using Momentum Control,
Journal of Computational and Nonlinear Dynamics, Vol. 8, Issue 2, April 2013.
(pdf).
Simulation video:
Click Here
Abstract:
Safety and robustness will become critical issues when humanoid robots start
sharing human environments in the future. In physically interactive human environments,
a catastrophic fall is a major threat to safety and smooth operation of humanoid robots.
It is therefore imperative that humanoid robots be equipped with a comprehensive
fall management strategy.
This paper deals with the problem of reducing the impact damage to a robot
associated with a fall.
A common approach is to employ damageresistant design and apply impactabsorbing material
to robot limbs, such as the backpack and knee, that are particularly prone to fall
related impacts.
In this paper, we select the backpack to be the most preferred body segment
to experience an impact.
We proceed to propose a control strategy that attempts
to reorient the robot during the fall such that it impacts the ground with its backpack.
We show that the robot can fall on the backpack even when it starts falling sideways.
This is achieved by generating and redistributing angular momentum among the robot limbs
through dynamic coupling.
The planning and control algorithms for fall are demonstrated in simulation.
Features:
Simulation:
Figure above (no controller):
An external force applied at the CoM of the robot to its left makes the robot fall.
The robot locks all the joints without triggering the fall controller. It falls sideways, and can get
badly damaged.
Figure above (with controller):
With our "fall on backpack" fall control strategy, the humanoid can successfully touch the
ground with the backpack under the same push force as above. The assumption is that the design of the
backpack is able to better survive an impact than other
parts of the robot. The top, middle, and bottom
rows show the side, top, and front views, respectively, of the simulation.

S.H Lee and A. Goswami,
A Momentumbased Balance Controller for Humanoid Robots on Nonlevel and Nonstationary Ground,
Journal of Autonomous Robots, Volume 33, Number 4, November 2012.
(pdf).
Simulation video:
Click Here
Abstract:
Recent research suggests the importance of controlling
rotational dynamics of a humanoid robot in balance maintenance and gait.
In this paper, we present a novel balance strategy
that controls both linear and angular momentum of the robot.
The controller's objective is defined in terms
of the desired momenta, allowing intuitive control
of the balancing behavior of the robot.
By directly determining the ground reaction force (GRF) and the center
of pressure (CoP) at each support foot to realize
the desired momenta, this strategy can deal
with nonlevel and nonstationary grounds, as well as different
frictional properties at each footground contact.
When the robot cannot realize the desired values of linear and angular momenta simultaneously,
the controller attributes higher priority
to linear momentum at the cost of compromising angular momentum.
This creates a large rotation of the upper body, reminiscent of
the balancing behavior of humans.
We develop a computationally efficient method to
optimize GRFs and CoPs at individual foot by
sequentially solving two smallscale constrained linear leastsquares problems.
The balance strategy is demonstrated on a simulated humanoid
robot under experiments such as recovery from unknown external pushes
and balancing on nonlevel and moving supports.
Features:
Overview of MomentumBased Balance Controller.
Simulation:
Figure above:
Given a forward push, the balance
controller controls both linear and angular momentum, and generates
a motion comparable to human's balance control behavior.
The robot is standing on stationary level platforms.
Figure above:
The singlesupported robot
on stationary level support successfully recovers from a leftward push.
Figure above:
The two supports translate forward and backward with the same speed.
In order to maintain balance, the robot rotates its trunk in a periodic manner.
The red arrows indicate the direction and magnitude of the linear
momentum of the robot. Note that the two feet of the robot have different
ankle angles to conform to the different slopes of the moving platforms.
Figure above:
The robot maintains balance on moving supports.
The two foot support surfaces have different inclination angles and out of phase
frontback velocities.

J. Chiu and A. Goswami,
Driver Assist for BackingUp a Vehicle with a LongWheelbase DualAxle Trailer,
AVEC 2012, Seoul, Korea, September 2012.
(pdf).
Backing up a vehicle and trailer is a tricky task. If you are not careful
you may end up in a jackknife situation in which the trailer and vehicle fold
on each other. We present a human in the loop control where jackknife is avoided using
a trailer with rear steering.
Abstract:
Backingup of articulated vehicles poses a difficult challenge even
for experienced drivers. While long wheelbase dualaxle trailers provide
a benefit of increased capacity over their singleaxle counterparts,
backingup of such systems is especially difficult. We propose a control
strategy for such systems, introducing concepts of the hitch control space
and noslip curve derived from noslip kinematics, allowing backingup
maneuvers to be intuitive to drivers without experience with trailers. Using
hitch angle feedback, we show these concepts can be used to stabilize the trailer
in backup motion in the presence of arbitrary driver inputs. The controller is
tested in simulation and on a scale model testbed, demonstrating that robust and
stable backingup of such systems can be achieved whilst allowing the driver
to maintain full control of the vehicle.

T. Koolen, T. de Boer, J. Rebula,
A. Goswami and J. Pratt,
Capturability Based Analysis and Control of Legged Locomotion, Part 1: Application to Three Simple Gait Models,
International Journal of Robotics Research, Vol. 31 No. 9, August 2012.
(pdf).
Abstract:
This paper discusses the analysis and control
of legged locomotion in terms of Nstep capturability:
the ability of a legged system to come to a
stop without falling by taking N or fewer steps. We
consider this ability to be crucial to legged locomotion
and a useful, yet not overly restrictive criterion
for stability.
The paper introduces a theoretical framework for assessing
Nstep capturability. This framework is used
to analyze three simple models of legged locomotion.
All three models are based on the 3D Linear Inverted
Pendulum Model. The first model relies solely on
a point foot step location to maintain balance, the
second model adds a finitesized foot, and the third
model enables the use of centroidal angular momentum
by adding a reaction mass. We analyze how
these mechanisms influence Nstep capturability, for
any N > 0.
Features:
Figure above:
Conceptual view of the state space of a hybrid
dynamic system. Several Nstep viablecapture
basins are shown. The boundary between two Nstep
viablecapture basins is part of a step surface. The
infinitystep viablecapture basin approximates the viability
kernel. Several evolutions are shown: a) an evolution
starting outside the viability kernel inevitably
ends up in the set of failed states; b) the system starts
in the 1step viablecapture basin, takes a step, and
comes to a rest at a fixed point inside the set of captured
states (i.e. the 0step viablecapture basin); c)
an evolution that eventually converges to a limit cycle;
d) an evolution that has the same initial state as
c), but ends up in the set of failed states because the
input u(.) was different; e) impossible evolution: by
definition, it is impossible to enter the viability kernel
if the initial state is outside the viability kernel.
Figure above:
a) A conceptual representation of the N
step capture regions for a human in a captured state
(standing at rest). b) Nstep capture regions for a
running human. The capture regions have decreased
in size and have shifted, as compared to a). c) Nstep
capture regions for the same state as b), but with
sparse footholds (e.g. stepping stones in a pond).
The set of failed states has changed, which is re
ected
in the capture regions.
Figure above:
Schematic representations of a 3DLIPM (Linear Inverted Pendulum Model) with point foot, a 3DLIPM with finitesized foot and
a 3DLIPM with finitesized
foot and reaction mass with a nonzero mass moment
of inertia tensor.

S.K. Yun and A. Goswami,
Hardware Experiments of Humanoid Robot Safe Fall using Aldebaran NAO,
ICRA 2012, St. Paul, MN, May 2012.
(pdf).
Simulation video:
Click Here
This paper reports successful experimental demonstration of directionchanging fall control strategy
of humanoid robots.
Abstract:
Although the fall of a humanoid robot is rare in controlled environments,
it cannot be avoided in the real world where the robot may physically
interact with the environment.
Our earlier work introduced the strategy of directionchanging fall,
in which the robot attempts to reduce the chance of human injury
by changing its default fall direction in realtime and falling in a safer direction.
The current paper reports further theoretical developments culminating in a successful hardware
implementation of this fall strategy conducted on the Aldebaran NAO robot.
This includes new algorithms for humanoid kinematics and
Jacobians involving coupled joints and a complete estimation of the body frame
attitude using an additional inertial measurement unit.
Simulations and experiments are smoothly handled by
our platform independent humanoid control software package called Locomote.
We report experiment scenarios where we demonstrate the effectiveness of the proposed strategies
in changing humanoid fall direction.
Features:
Without a fall controller, when a humanoid is pushed from behind (left photo), it topples forward (middle photo)
and falls on its face (right photo).
With a fall control strategy, which in this case is lifting right foot, the humanoid can fall to the right under the same push force as above.
With an inertia shaping fall controller, the humanoid can fall diagonally, again under the same push force as above.

Gabriel AguirreOllinger,
J. Edward Colgate,
Michael A. Peshkin, and A. Goswami,
Inertia Compensation Control of a OneDegreeofFreedom Exoskeleton for LowerLimb
Assistance: Initial Experiments,
IEEE Transactions on Neural Systems Rehabilitation Engineering, Vol. 20, No. 1, January 2012.
(pdf).
Abstract: A new method of lowerlimb exoskeleton control
aimed at improving the agility of legswing motion is presented.
In the absence of control, an exoskeleton's mechanism usually
hinders agility by adding mechanical impedance to the legs. The
uncompensated inertia of the exoskeleton will reduce the natural
frequency of leg swing, probably leading to lower step frequency
during walking as well as increased metabolic energy consumption.
The proposed controller emulates inertia compensation by
adding a feedback loop consisting of lowpass filtered angular
acceleration multiplied by a negative gain. This gain simulates negative
inertia in the lowfrequency range. The resulting controller
combines two assistive effects: increasing the natural frequency
of the lower limbs and performing net work per swing cycle. The
controller was tested on a statically mounted exoskeleton that
assists knee flexion and extension. Subjects performed movement
sequences, first unassisted and then using the exoskeleton, in
the context of a computerbased task resembling a race. In the
exoskeleton's baseline state, the frequency of leg swing and the
mean angular velocity were consistently reduced. The addition
of inertia compensation enabled subjects to recover their normal
frequency and increase their selected angular velocity. The work
performed by the exoskeleton was evidenced by catch trials in the
protocol.

S.K. Yun and A. Goswami,
MomentumBased Reactive Stepping Controller
on Level and Nonlevel Ground for Humanoid Robot Push Recovery,
IROS 2011, San Francisco, CA, September 2011.
(pdf).
Simulation video:
Click Here
This paper introduces the General Foot Placement Estimator (GFPE) point. The GFPE point is the point at which
a robot should step to, on level or nonlevel surface, after a push, in order to come to a complete stop with a
vertically upright configuration.
Abstract:
This paper presents a momentumbased reactive stepping controller
for humanoid robot push recovery.
By properly regulating combinations of linear and angular momenta,
the controller can selectively encourage the robot to recover its balance with or without taking a step.
A reference stepping location is computed by
modeling the humanoid as a passive rimless wheel with two spokes
such that stepping on the location leads to a complete stop of the wheel at the vertically upright position.
In contrast to most reference points for stepping based on pendulum models such as the capture point,
our reference point exists on both level and nonlevel grounds.
Moreover, in contrast with continuously evolving step locations,
our step location is stationary.
The computation of the location of the reference point also generates
the duration of step which can be used for designing a stepping trajectory.
Momentumbased stepping for push recovery is implemented
in simulations of a full size humanoid on 3D nonlevel ground.
Features:
Humanoid stepping on a 11.5 degree uphill under various push forces.
Humanoid stepping on a 6 degree downhill under various push forces.
