Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

2014 14th IEEE-RAS International Conference on

Humanoid Robots (Humanoids)


November 18-20, 2014. Madrid, Spain

Full Dynamics LQR Control of a Humanoid Robot: An Experimental


Study on Balancing and Squatting
Sean Mason1 , Ludovic Righetti1,2 , and Stefan Schaal1,2

Abstract— Humanoid robots operating in human environ-


ments require whole-body controllers that can offer precise
tracking and well-defined disturbance rejection behavior. In
this contribution, we propose an experimental evaluation of
a linear quadratic regulator (LQR) using a linearization of
the full robot dynamics together with the contact constraints.
The advantage of the controller is that it explicitly takes into
account the coupling between the different joints to create
optimal feedback controllers for whole-body control. We also
propose a method to explicitly regulate other tasks of interest,
such as the regulation of the center of mass of the robot or its

Credit: Luke Fisher Photography


angular momentum. In order to evaluate the performance of
linear optimal control designs in a real-world scenario (model
uncertainty, sensor noise, imperfect state estimation, etc), we
test the controllers in a variety of tracking and balancing
experiments on a torque controlled humanoid (e.g. balanc-
ing, split plane balancing, squatting, pushes while squatting,
and balancing on a wheeled platform). The proposed control
framework shows a reliable push recovery behavior competitive
with more sophisticated balance controllers, rejecting impulses Fig. 1: Hydraulically actuated torque controlled Sarcos
up to 11.7 Ns with peak forces of 650 N, with the added humanoid used for experiments.
advantage of great computational simplicity. Furthermore, the
controller is able to track squatting trajectories up to 1 Hz
without relinearization, suggesting that the linearized dynamics approach, a dynamic model of the robot is used to compute
is sufficient for significant ranges of motion. feed-forward torques that correspond to the desired motion.
Negative feedback control is then added either in joint
I. I NTRODUCTION space or in operational space, usually using a PID controller.
Passivity methods have also been successfully implemented
Humanoid robots are envisioned to operate in human
on humanoid robots. They have the advantage that they
environments. Therefore, we need control architectures that
do not require a precise model of the robot to compute
provide precise position tracking for tasks like manipulation
admissible contact forces and torque commands under a
and locomotion while at the same time guaranteeing a well-
quasi-static assumption. Both inverse dynamics and passivity-
defined disturbance rejection behavior. Early on, humanoid
based approaches have been successfully applied on torque
robots were almost exclusively position controlled. Typically,
controlled humanoid robots. However, to the best of our
this means that PID gains are tuned at the joint level such
knowledge, the use of optimal feedback gains together with
that precise tracking of prescribed joint trajectories can be
inverse dynamics on real humanoid robots as not been widely
achieved. A general characteristic of high gain position
explored yet.
controlled robots is that they are very stiff and they do not
The dynamics of a humanoid robot reveal a highly coupled
comply well with collisions. More recently, torque controlled
non-linear multiple input multiple output (MIMO) system.
robots have been developed that adopt a force control policy
It is especially true when several parts of the robot are in
[1], [2]. Torque controlled robots can deal with forces directly
contact with the environment where, for example, the motion
and typically require lower gains to track joint trajectories
of one foot influences the behavior of the other foot. It is
because they compensate for the dynamics of the robot in a
therefore reasonable to imagine that an optimal feedback
feed-forward manner.
control design would be able to efficiently exploit these
In general torque control is accomplished through a model
couplings to provide improved feedback behavior. It is well-
based control scheme such as inverse dynamics [3]–[5] or
known that LQR controllers provide very good gain and
passivity-based methods [2], [6]. In the inverse dynamics
phase margins and by extension a certain tolerance to non-
This research was supported in part by National Science Foundation grants linearities [7]. While a LQR controller on linearized dynamics
IIS-1205249, IIS-1017134, CNS-0960061, EECS-0926052, the DARPA works well in theory and simulations, we are not aware of
program on Autonomous Robotic Manipulation, the Office of Naval Research, experimental results showing whether it can provide good
the Okawa Foundation, and the Max-Planck-Society. Any opinions, findings,
and conclusions or recommendations expressed in this material are those performances on a real humanoid robot (a high dimensional,
of the author(s) and do not necessarily reflect the views of the funding under actuated, floating-base system) in the presence of real
organizations. world conditions (model uncertainty, sensor noise, imperfect
1 Computational Learning and Motor Control Lab, University of Southern
California, Los Angeles, California.
state estimation, ground contact compliance, etc.).
2 Autonomous Motion Department, Max Planck Institute for Intelligent In this work, we explore the use of LQR controllers for
Systems, Tuebingen, Germany. whole-body control of a humanoid robot. The design results
978-1-4799-7174-9/14/$31.00 ©2014 IEEE 374
in a feedforward command (i.e. a linearized equivalent of Including the constraints into the dynamics equation gives
an inverse dynamics controller) together with an optimal
feedback gain taking into account contact constraints and θ̈ = Φ(θ)S T τ + φ(θ, θ̇), (5)
joint coupling. In its initial formulation, the controller does where  
not explicitly express any of the task space objectives that are Φ = I − J¯c Jc M −1 (6)
considered important for humanoid balance and locomotion
(i.e. control the center of mass (CoM), center of pressure φ = J¯c J˙c θ̇ − Φ(C + g) (7)
(CoP) [2], [4], [6], [8], or momentum [5], [8]). Therefore, we and J¯c = M −1
JcT (Jc M −1 JcT )−1is the inertia weighted
also propose a manipulation of the cost function that allows pseudo inverse of Jc . We see in Eq.(6) that Φ is the inverse
one to explicitly regulate task space objectives such as the of the inertia matrix projected into the null space of the
robot linear and angular momentum dynamics. contact constraints. Further details of the derivation on Eq.
Experiments on a full humanoid in simulation and on (5) are shown in [10].
the lower part of the Sarcos humanoid robot demonstrate
that simple LQR designs are a viable approach for full B. Linearization
humanoid control. Balancing and squatting experiments show In order to compute a LQR controller, we linearize the
that despite its computational simplicity, the controller offers constraint consistent dynamics (Eq. (5)) around a nominal
disturbance rejection capabilities that are competitive with pose (θ0T , θ̇0T )T , with τ0 defined as the joint torques that
more advanced and complicated balance control techniques realize the desired posture and velocity, i.e. the inverse
[2], [4], [5], [8]. Moreover, good tracking for squatting tasks dynamics torques. In the case of balancing, where θ̇0T = 0, τ0
is also achieved without relinearization of the dynamics or is equivalent to gravity compensation. Linearization results
time varying gains, suggesting that the region of validity in
of the LQR design is quite large. Finally, we analyze the δ θ̈ = Γδθ + Λδ θ̇ + Φ(θ0 )S T δτ, (8)
coupling among the joint and base states that emerges from
the feedback gain matrix, highlighting the complex interaction where
∂(ΦS T τ0 + φ)
between all the DoFs of the robot and the resulting whole- Γ= |θ0 ,θ̇0 (9)
body behavior. The natural balancing strategies exhibited by ∂θ
the different controller formulations, similar in spirit to [9], ∂φ
are discussed. Λ= |θ ,θ̇ . (10)
∂ θ̇ 0 0
II. PROBLEM FORMULATION AND CONTROL
Expanding Λ and noting that J˙c = ∂J ∂θ θ̇, we can write
c
DESIGN  
A. Robot Dynamics With Constraints ∂ ¯ ∂J
Λ= Jc ( θ̇)θ̇ − Φ C , (11)
The goal of this section is to approximate the full dynamics ∂ θ̇ ∂θ
of the robot as a linear time independent (LTI) system in the where we have removed partial derivatives that are 0. We
form note that C is quadratic in θ̇ and therefore both terms inside
ẋ = Ax + Bu. (1) the parenthesis in Eq. (11) are quadratic in θ̇. This implies
The formulation used in this section is similar to the that Λ cancels for θ̇0 = 0 (i.e. for a static assumption Λ = 0).
one presented in [10]. Assuming rigid-body dynamics, the These derivations yield the following matrices in the LTI
equations of motion for a floating-base robot can be written state space model of Eq. (1)
as
   
0 I 0
M (θ)θ̈ + C(θ, θ̇)θ̇ + g(θ) = S T τ + JcT (θ)fc . (2) A= , B= , (12)
Γ Λ Φ0 S T
The robot has n degrees of freedom (DoFs), 6 corresponding where x = [∆θT , ∆θ̇T ]T and u = [∆τ ].
to the position and orientation of the base with respect to an Using the results above, it would be possible to compute
inertial frame and n − 6 corresponding to the joints position. Γ and Λ analytically for example by using the method
In our formulation, the orientation of the base is represented proposed in [11]. However, for simplicity we compute these
as a unit quaternion. The variables in Eq. (2) are defined as matrices numerically. We use the results above to simplify
θ ∈ Rn−6 × SE(3) : generalized coordinates the computations of each element of the matrices of the LTI
M (θ) ∈ Rn×n : inertia matrix system (specially when linearizing around a static pose). For
C(θ, θ̇) ∈ Rn×n : centrifugal and Coriolis forces details on the numerical differentiation refer to the Appendix.
g(θ) ∈ Rn : gravitational force
τ ∈ Rn−6 : active joint torques C. Kinetic Energy Projection
Jc ∈ Rm×n : contact Jacobian matrix
fc ∈ Rm : contact forces The LTI system that we compute is not full rank because
S ∈ R(n−6)×n : joint selection matrix of the contact constraints. We therefore need to find a con-
trollable realization of the linear system in order to compute
We also impose m contact constraints between the robot the LQR gains. Because we assume the system is observable
and the environment such that the parts of the robot in contact (i.e. all states can be measured), this is equivalent to finding
do not move the minimal realization. In our experiments, the matrix A
Jc θ̇ = 0, (3) tends to be ill-conditioned and it becomes problematic to
which leads to the second order condition find a minimal realization because singular values of A that
should be 0 due to the constraints are small but not zero. In
Jc θ̈ + J˙c θ̇ = 0. (4) our case, the condition number of A = 2e20 (ratio between
375
Z ∞  
the largest and smallest non-zero singular value). Indeed, J= T T
x T Q̂T x + uT Ru. (18)
numerical differentiation does not guarantee that the contact 0
constraints are enforced and A will have a rank that is higher In this study, we chose the task space objectives to be
than its theoretical rank. the regulation of the CoM and total momentum. Human
An approach to address this issue is to project the dynamics studies have shown that momentum is tightly regulated during
in a space consistent with these constraints and that preserves walking suggesting the importance of regulation in humanoid
important metrics in the system. Φ0 can be seen as the systems [12]. Furthermore, recent work has shown promising
inverse of the constrained inertia matrix (it is the orthogonal result from controlling the CoM and momentum for balancing
projection of M −1 in the nullspace of the constraints, with [5], [8]. By reformulating our cost function, we can generate
respect to the kinetic energy metric). The kinetic energy optimal gains for these task space objectives. The momentum
is a useful metric to preserve physical consistency because about the CoM is written in the form of the 6 × 1 vector
it ensures that numerical methods used to calculate the hG containing both the linear and angular momentum. This
state space do not add energy to the system. Following the matrix was defined by Orin et. al [13] as the centroidal
discussion in [10], the kinetic energy due to the unconstrained momentum matrix, written
dynamics is
KE = θ̇T Φ+
   
0 θ̇, (13) hlin mẋcom
hG = = = AG (θ)θ̇, (19)
where + denotes the Moore-Penrose pseudo inverse. Taking hang I θ̇com
the singular value decomposition of Φ0 = U ΣU T , where U
where ẋcom and θ̇com are the linear and angular velocity of
is an orthogonal matrix and Σ is diagonal, we can readily
the CoM respectively with m henceforth referring to the total
compute Φ+ +
0 = U Σ U where Σ
+
is a diagonal matrix
mass. From here, we define AG = AG (θ0 ) = [AG1 , AG2 ]T
whose first n − m diagonal elements are the inverse of the
where AG1 is the first 3 rows of the 6 × n matrix AG . The
corresponding elements of Σ and the m last element are 0. In
relationship between the CoM and joint angles can be written
order to have a linear system that creates energy only in the
unconstrained directions, we decide to project the linearized hlin = m∆xcom = AG1 ∆θ (20)
dynamics with the projection P = U IU ˆ T , where Iˆ is an
identity matrix whose m last diagonal elements are 0. An 1
∆xcom = AG1 ∆θ. (21)
advantage of this projection is that it leaves Φ0 and Φ+ 0 m
invariant (P Φ0 = Φ0 ). Moveover, it also leaves the matrix Q is partitioned such that
B invariant. We therefore only need to rewrite A as
(∆θ)T Q1 (∆θ)
 
  T 0
0 I x Qx = . (22)
A=
PΓ PΛ
. (14) 0 θ̇T Q2 θ̇

The conditioning of the system is now much better and Using Eq. (21) and following the transformation method in
we find in practice that the condition number of A is ∼ Eq. (17) and Eq. (18), we can choose Q1 such that
1e3. Because of this explicit projection, it is now easy to 
1

find a minimal realization for the LTI system using Kalman Q1 = ATG1 Qcom AG1 (23)
decomposition. To find the optimal feedback gain matrix K m2
we use an infinite-horizon linear quadratic regulator. The cost giving
function to be minimized is defined as  
Z ∞
T 1
J= (xT Qx + uT Ru)dt (15) (∆θ) Q1 (∆θ) = (∆xcom )T Qcom (∆xcom ) (24)
m2
0
and the resulting controller for the humanoid robot is where Qcom is a 3 × 3 matrix. Along the same lines, using
Eq. (19) we choose Q2 such that
τ = τ0 − Kx. (16)
D. LQR Control in Task Space Q2 = ATG QG AG (25)
In humanoid whole-body control problems, it is often more giving us
desirable to directly regulate task space variables, such as the θ̇T Q2 θ̇ = hTG QG hG (26)
CoM or the angular momentum of the robot than to regulate
joint states. We show how it is possible to explicitly regulate where QG is a 6 × 6 matrix. This allows one to weight
such task space variables. We simply rewrite the matrix Q the CoM movement and total robot momentum directly
of the cost function of Eq. (15) such that we optimize for through the cost matrices Qcom and QG . To ensure positive
elements in the task space defined as a linear combination definiteness of Q we also add a regularization term QR that
of the original state vector x. If one would like to put costs directly specifies costs for joint tracking.
on the task space states x̂ defined as  
Q1 0
x̂ = T x Q= + QR (27)
0 Q2
rather than transforming the states, we can equivalently
Note that QR should be chosen to be appropriately small
transform the cost function such that we specify Q = T T Q̂T . such that it does not dominate the weighting. For the rest of
The cost function is equivalently written the paper the controller that uses this type of cost function
Z ∞
manipulation will be referred to as the LQR-momentum
J= x̂T Q̂x̂ + uT Ru (17)
0
controller.
376
III. E XPERIMENTS Sagittal Push Experiment - LQR Controller (Joint Response)

Right Joint Angles (rad) Left Joint Angles (rad)


0.04

Experiments were conducted in both simulation and on 0.02

real hardware. This paper will focus extensively on the tests 0.00

conducted on the real system and use the simulation results to 0.02 LQR HFE
support future work. The hardware used is the lower body of 0.04 HAA
HFR
the hydraulically actuated torque controlled Sarcos humanoid 0.06
KFE
(Fig. 1). We use the low level feedback force controller 0.08
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5AR
described in [5] which controls the hydraulic actuation to 0.04 AFE
ensure a desired torque profile. Base state estimations were AAA
0.02
made using a Kalman filter that fuses IMU data with robot 0.00
kinematics as described in [14]. With the goal of balancing 0.02
LQR momentum
the humanoid in mind, the cost matrix was tuned such 0.04
that the heaviest cost was placed on the error in the base 0.06
horizontal positions for the LQR controller and the heaviest 0.08
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
cost on the horizontal CoM error for the LQR-momentum Time (s)
controller. To test the disturbance rejection capabilities of the
two controllers, push tests were conducted in both the sagittal Fig. 3: Joint error response to the push shown in Fig. 2. The
(Fig. 2) and frontal (Fig. 4) plane. In addition, the response joints are abbriviated by concatenating the specific link (Hip,
for the sagittal push in joint space is shown in Fig. 3. To Knee, and Ankle) and motion (Flexion-Extension, Abduction-
measure the force of the push a 6D force torque sensor was Adduction, and Rotation).
mounted to the end of push stick to record time-synchronized
data. Frontal Push Experiments
200
Sagittal Push Experiments Force (N) 150
LQR
700 LQR momentum
100
600
Force (N)

LQR
500 50
400 LQR momentum
300 0
0.0 0.5 1.0 1.5 2.0 2.5
200
100 0.04
COM (m)

0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 0.02

0.04 0.00
COM (m)

0.02 0.02 LQR


0.00 0.04 X
0.0 0.5 1.0 1.5 2.0 2.5 Y
0.02 LQR
0.04 X 0.04 Z
COM (m)

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 Y 0.02

0.04 Z 0.00
COM (m)

0.02 0.02 LQR momentum


0.00 0.04
0.0 0.5 1.0 1.5 2.0 2.5
0.02 LQR momentum
0.04
Time (s)
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
Time (s) Fig. 4: CoM error for pushes in the frontal plane (side pushes)
using both controller formulations. The measured impulses
Fig. 2: Robot response and plot of the CoM error for were 6.57 Ns and 5.25 Ns for the LQR and LQR-momentum
pushes in the sagittal plane (front pushes) for both controller controllers respectively.
formulations. The measured impulses were 10.41 Ns and
11.62 Ns for the LQR and LQR-momentum controllers
respectively. While the real experiments were only conducted on the
lower body of the humanoid, we also tested the controller
in a simulation of the full humanoid robot. Figure 5 shows
To test the ability of the LQR controller to track trajectories, the resulting motions from two push experiments. The robot
the robot was given a squatting trajectory where the base model was pushed both from the front and back with an
moved along a sinusoid in the vertical axis. The experiments impulse of 15 Ns. The goal here was to see how the additional
proved to be successful, as the robot was able to both track limbs would behave using the LQR formulation and show
the trajectory and reject disturbances. The robot was able to feasibility for future tests on the full humanoid. As expected,
track the squatting trajectories up to 1Hz (Fig. 6). The ability all the limbs were coupled such that they contributed to the
to track a squatting trajectory without relinearizing suggests robustness in balancing.
that the linearization can be used in a large workspace (i.e.
that explored during squatting) and that relinearization can IV. DISCUSSION
be done on a slower time scale and around key postures (e.g. A visualization of the gain matrix used for state feedback is
when switching contact configurations). A video of these shown in Fig. 7. Because testing was only done on the lower
tests and additional tests (e.g. split plane balancing, pushes body of the robot, the position of the base was quite close to
while squatting, and balancing on a wheeled platform) can where the CoM would be located. As such, with less tuning
be found in the footnote1 . parameters the LQR-momentum formulation produced a gain
matrix similar in structure to that of the LQR gain matrix.
1 http://tinyurl.com/nkj74sl Because of the similarities, the LQR-momentum gain matrix
377
.
Fig. 5: Simulation results from pushing experiments on the full humanoid model. The top and bottom animations show the
resulting motion from a 150 N push for 0.1s on the torso from the back and front respectively. The robot operating under a
PD controller using the diagonal of the LQR gain matrix was not able to balance provided the same push.

z
plot is omitted. The two gain matrices will diverge more when
x
y
the full humanoid is used and the joint coupling becomes
more complex. Using this visualization, one can easily see
the extensive coupling that results. The gain matrix is far
from a diagonal matrix, meaning that there is a significant
amount of coupling generated. Note that this coupling is not
intuitive and thus near impossible to be replicated by a hand
tuned PD controller. Furthermore, natural balancing strategies
are visible in this figure. In the columns corresponding to the
base, we can see that all the ankle joints and the knee joint
are inversely coupled to the ankle AA joints when rejecting
disturbances in the frontal plane (base x). Secondly, the ankle
and knee FE joints are used almost exclusively for rejecting
disturbances in the sagittal plane (base y). Finally, the base
vertical position holds no importance for the given cost values
(this was expected due to our prescribed cost function). Other
interesting couplings are also visible for all the other joints.

LEFT RIGHT
K K
HIP N ANKLE HIP N ANKLE Torso BASE
E E
150
FE AA R E R FE AA FE AA R E R FE AA R AA X Y Z a b g
FE
Tracking 1Hz squat − LQR Controller H
AA
I
P 100
actual R
Base X (m)

0.25 L
desired E KNEE FE
0.2 F
T A R
N
0.15 K FE
L 50
0.1 E AA
FE
−0.4 H
I AA
Base Y (m)

−0.45 actual
R P
desired R 0
I
−0.5 G KNEE FE
H R
−0.55 T A
N
K FE
L
AA
−50
E
0.05 T
O R
actual
Base Z (m)

0 R
S AA Matrix Diagonal
desired O
−0.05
−0.1
Fig. 7: Visualization of gain matrix for LQR controller
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time (s)
corresponding to the position error (torques on left, states on
top), where variables a,b,g are the cardan angles of the base.
Fig. 6: Tracking a 1 Hz squatting trajectory along the Z-axis The gains for the velocity terms are omitted because they
without relinearization (i.e. constant gains and feed-forward have a very similar structure with values ranging between
torques). -20 and 40.
378
The LQR-momentum was much easier to tune (i.e. fewer as the computation of the rotation resulting from a small
tuning parameters with more intuitive effects on the CoM) disturbance ω around the rotation q1 . It allows us to compute
and produced a similar performance in terms of impulses an infinitesimal perturbation  of a quaternion along a rotation
that could be rejected (Figs. 2, 4) . For both the LQR and axis ei . A more detailed description of differential calculus on
LQR-momentum controller formulations, the humanoid was SO(3) and the  operator can be found in [16]. Numerical
able to reject pushes of 10.4 Ns - 10.7 Ns with a peak force differentiation for the quaternion becomes
of approximately 650 N in the sagittal plane and 5.2 Ns ∂f f (q  ei ) − f (q  (−ei ))
- 6.5 Ns pushes with a peak force of approximately 200 = , i = 1, . . . , 3. (30)
N in the frontal plane. In [2], test results were reported ∂q 2
for an experiment where a pendulum was used to impact ACKNOWLEDGEMENT
the robot with about 5.8J in the frontal plane. This would We would like to thank Umashankar Nagarajan for provid-
equivalently deliver approximately a 7.6 Ns impulse assuming ing both guidance and data that proved useful for debugging
that all the momentum of the ball was transferred to the this formulation in the early stages of the project.
robot. In [5], impulses between 4.5 Ns and 5.8 Ns with peak
forces up to 150N were rejected while in single support R EFERENCES
balancing. Our results suggests that a simple LQR controller [1] G. Cheng, S.-H. Hyon, A. Ude, J. Morimoto, J. Hale, J. Hart,
is capable of maintaining balance and rejecting perturbations J. Nakanishi, D. Bentivegna, J. Hodgins, C. Atkeson, M. Mistry,
S. Schaal, and M. Kawato, “Cb: Exploring neuroscience with a
at levels comparable with more complicated, state of the humanoid research platform,” in Robotics and Automation, 2008. ICRA
art, methods. This result raises the following question: how 2008. IEEE International Conference on, May 2008, pp. 1772–1773.
much improvement is made by using more advanced and [2] C. Ott, M. Roa, and G. Hirzinger, “Posture and balance control for
biped robots based on contact force optimization,” in Humanoid Robots
computationally complex controllers? It would be interesting (Humanoids), 2011 11th IEEE-RAS International Conference on, Oct
to systematically compare these different controllers in order 2011, pp. 26–33.
to experimentally measure their relative performance. [3] L. Righetti, J. Buchli, M. Mistry, and S. Schaal, “Inverse dynamics
control of floating-base robots with external constraints: A unified
V. CONCLUSION view,” in Robotics and Automation (ICRA), 2011 IEEE International
Conference on, May 2011, pp. 1085–1090.
In this contribution, we experimentally tested the perfor- [4] B. Stephens and C. Atkeson, “Dynamic balance force control for
compliant humanoid robots,” in Intelligent Robots and Systems (IROS),
mance of a LQR controller for a humanoid robot using 2010 IEEE/RSJ International Conference on, Oct 2010, pp. 1248–1255.
a linearization of the full robot dynamics together with [5] A. Herzog, L. Righetti, F. Grimminger, P. Pastor, and S. Schaal,
the contact constraints. In these experiments, balancing and “Balancing experiments on a torque-controlled humanoid with
hierarchical inverse dynamics,” in IEEE/RSJ Intl Conf on Intelligent
tracking performance was evaluated. We also proposed a Robots and Systems, 2014. [Online]. Available: http://www-clmc.usc.
way to incorporate task space objectives into the LQR cost edu/publications/H/herzog-IROS2014.pdf
function. It has been successfully demonstrated that with [6] S. Hyon, J. Hale, and G. Cheng, “Full-body compliant human-
humanoid interaction: Balancing in the presence of unknown external
this simple control law both good disturbance rejection and forces,” Robotics, IEEE Transactions on, vol. 23, no. 5, pp. 884–898,
tracking can be achieved on a physical robot in the presence Oct 2007.
of real conditions (i.e. model uncertainty, sensor noise, [7] B. Anderson and J. Moore, Optimal control: linear quadratic methods,
ser. Prentice-Hall information and system sciences series. Prentice
imperfect state estimation, ground contact compliance, etc.). Hall, 1990. [Online]. Available: http://books.google.com/books?id=
Furthermore, we analyzed the natural balancing strategies LgUqAQAAMAAJ
that emerge from the coupled gain matrix. In the future, [8] S.-H. Lee and A. Goswami, “A momentum-based balance controller
for humanoid robots on non-level and non-stationary ground,”
we will investigate the improvements that relinearization, Autonomous Robots, vol. 33, no. 4, pp. 399–414, 2012. [Online].
calculated either online or offline (potentially making use Available: http://dx.doi.org/10.1007/s10514-012-9294-z
of methods such as [15]), contributes to the tracking per- [9] C. Atkeson and B. Stephens, “Multiple balance strategies from one
optimization criterion,” in Humanoid Robots, 2007 7th IEEE-RAS
formance. Alternatively, this formulation could be used International Conference on, Nov 2007, pp. 57–64.
with classical receding time horizon control method used [10] K. Yamane, “Systematic derivation of simplified dynamics for hu-
with LQR controllers. Finally, we will extend the approach manoid robots,” in Humanoid Robots (Humanoids), 2012 12th IEEE-
RAS International Conference on, 2012, pp. 28–35.
to include contact switching and single support balancing, [11] O. C. Garofalo, G. and A. Albu-Schaffer, “On the closed form
making it possible to test more complicated tasks involving computation of the dynamic matrices and their differentiations,” in
a larger range of motion (e.g. walking). International Conference on Intelligent Robots and Systems(IROS),
2013, pp. 2364–2369.
[12] M. Popovic, A. Hofmann, and H. Herr, “Angular momentum regulation
A PPENDIX during human walking: biomechanics and control,” in Robotics and
For the numerical differentiation, we use a central finite Automation, 2004. Proceedings. ICRA ’04. 2004 IEEE International
Conference on, vol. 3, April 2004, pp. 2405–2411 Vol.3.
difference method [13] D. Orin and A. Goswami, “Centroidal momentum matrix of a humanoid
robot: Structure and properties,” in Intelligent Robots and Systems,
∂f (x) f (x + ) − f (x − ) 2008. IROS 2008. IEEE/RSJ International Conference on, Sept 2008,
≈ . (28)
∂x 2 pp. 653–659.
[14] N. Rotella, M. Bloesch, L. Righetti, and S. Schaal, “State
Special care needs to be taken for the orientation of the base estimation for a humanoid robot,” in IEEE/RSJ Intl Conf
which is an element of SO(3). To account for this the box on Intelligent Robots and Systems, 2014. [Online]. Available:
http://www-clmc.usc.edu/∼nrotella/IROS 2014 Submission.pdf
plus operator is introduced  : SO(3) × so(3) → SO(3) [15] P. Reist and R. Tedrake, “Simulation-based lqr-trees with input and
such that state constraints,” in Robotics and Automation (ICRA), 2010 IEEE
q1  ω = exp(ω) ⊗ q1 . (29) International Conference on, May 2010, pp. 5504–5510.
[16] C. Hertzberg, R. Wagner, U. Frese, and L. SchröDer, “Integrating
generic sensor fusion algorithms with sound state representations
where the exponential map is the map from an infinitely through encapsulation of manifolds,” Inf. Fusion, vol. 14, no. 1,
small rotation ω to its corresponding rotation and ⊗ is the pp. 57–77, Jan. 2013. [Online]. Available: http://dx.doi.org/10.1016/j.
quaternion multiplication. The box plus operator can be seen inffus.2011.08.003

379

You might also like