You are on page 1of 8

CONFIDENTIAL. Limited circulation. For review only.

Dynamic Behaviors on the NAO Robot With Closed-Loop Whole Body


Operational Space Control
Donghyun Kim, Steven Jens Jorgensen, Peter Stone, and Luis Sentis

Abstract Exploiting full-body dynamics in feedback control has limited CPU power, implementing such an algorithm on
can enhance the balancing capability of a legged system using a feedback-based real-time control loop becomes difficult.
various techniques such as Whole-Body Control (WBC) or Second, dynamic motion control normally requires high-
Centroidal Momentum control. However, motion control of
the NAO robot based on full-body dynamics has not been quality hardware and system requirements. For instance, the
extensively studied due to its limited computation power, limited performance of IMUs (Inertial Measurement Unit) used in
sensors, and restricted access to its low-level controllers. most DRC humanoid robots is superior to the NAO robot.
Whole-Body Operational Space Control (WBOSC) is a Especially, the IMU of the NAO we used does not provide
promising WBC approach for NAO, since its closed form an angular velocity in yaw direction. (Although we note that
solution provides computational efficiency. But, users need to
provide the velocity map (Jacobian) between operational space the latest version of NAO equips the IMU with full sensing
and configuration space to add the balancing control task. Thus, capability.) Its lack of torque sensing is another serious
in this paper, we formulate the Jacobians incorporating the drawback. Third, some commercial robots like the NAO do
Capture Point (CP) technique [1] and the Centroidal Angular not allow access to the embedded controllers. NAO has a
Momentum (CAM) [2], [3], and demonstrate the enhancement built-in joint position control as the only option to control
of balancing capability in a physics-based simulation.
While WBOSC reduces the computational load, implement-
its joints. The closed loop bandwidth performance of whole-
ing WBC in the real system with limited sensing capability and body controllers greatly depends on tuning the embedded
built-in joint position control is challenging. We show that the controllers [13] and this is not possible to do in the NAO.
combination of a virtual model as an interface to the real robot To handle some of these limitations, our approach extends
and an Extended Kalman-filter based orientation estimator and implements a version of the Whole-Body Operational
results in a stable implementation of a closed-loop WBOSC.
We demonstrate the validity of our approach by performing a
Space Control (WBOSC) framework [14]. Since WBOSC
dynamic kicking motion on the physical NAO robot. has a closed-form solution, it is well suited for controlling a
Overall, the contributions of this paper are: (1) to extend robot with low computational power. To add the task in the
WBOSC by adding CAM and CP control tasks, and (2) to closed form solution, users need to find the Jacobian between
implement WBOSC in a restricted physical system by utilizing the task space and the configuration space. To enhance the
a virtual model and an orientation estimator.
balancing capability, we formulate Capture Point (CP) and
Centroidal Angular Momentum (CAM) based control into
I. I NTRODUCTION
the WBOSC framework. We show in a physics-based simu-
The capabilities of Whole-Body Controllers (WBC), lation that while CP balances the robot, balancing capability
which exploit full body dynamic models to accomplish is enhanced with the incorporation of the CAM task.
dynamic tasks, are increasingly used in humanoid robots Although we circumvent the low-computation power prob-
[4]. More recently, prominent demonstrations of WBC were lem by utilizing WBOSC, overcoming limited sensing capa-
shown by teams such as MIT [5] and IHMC [6] during bility is another challenging issue. Considering the computed
the DARPA Robotics Challenge (DRC). While impressive, command of WBOSC is torque, the lack of torque sensor
the ATLAS robot was limited to fairly slow whole body in the NAO and its built-in joint position controller are
motions. Understandably, testing fast moving behaviors in implementation bottlenecks. To bypass the limitation, we put
large humanoid robots has the risk of damaging the expensive a virtual robot model between the actual robot and WBOSC.
equipment. By using whole-body dynamics, the desired torque command
In the Standard Platform League of RoboCup, NAOs, from WBOSC are converted into desired joint accelerations,
which are small commercial humanoid robots, play soccer and through integration, the desired joint state position and
while making dynamic motions such as passing, kicking, velocity can be obtained. We also focus on creating a clean
and even physical charging. However, to the best of our velocity signal to achieve feedback control stability. Then,
knowledge, there have not been previous demonstrations of the computed joint position is sent to NAOs built-in joint
closed-loop whole-body dynamic control on NAO robots. position controllers. By doing so, we synchronize the virtual
The current state of the art uses inverse kinematics [7], [8] robot models joint and the actual robots joint position.
or joint-space control [9], [10]. To synchronize the remaining body orientation configu-
There are various reasons why there have been a lack of ration, we designed an Extended Kalman-filter orientation
studies of WBC on low-end commercial robots such as the estimator and used it for closed-loop balance control. The
NAO. First, most WBCs rely on computationally expensive estimator also uses the foot contact sensor to adjust the
optimization techniques [11], [12]. Since the NAO robot uncertainty covariance.

Preprint submitted to 2016 IEEE-RAS International Conference on Humanoid Robots.


Received July 28, 2016.
CONFIDENTIAL. Limited circulation. For review only.

In our experiments and simulations, NAO balances on a where task , task , pt ask, and utask are the operational
single foot while demonstrating dynamic kicking behaviors space inertia matrix, velocity-based forces, gravity-based
using closed-loop WBOSC. Overall, our contributions are forces, and desired acceleration forces respectively.
on incorporating new balance tasks on WBOSC, and porting
methods suitable for high-end robots into low-end commer- III. F ORMULATION OF C ENTROIDAL M OMENTUM TASK
cial robots.
II. W HOLE B ODY O PERATIONAL S PACE C ONTROL The Centroidal Momentum of a robot is the aggregate
(WBOSC) momentum on the robots CoM. The robots Centroidal
Momentum vector, hG , is related to its joint velocity vector
WBOSC was described in [14], but a summary is provided as hG = AG q. Alternatively, this can be expressed as the
here. A humanoid robot can be represented as a combination product of the robots Centroidal inertia, IG , and its average
of its 6-dimensional floating base dynamics and its joint velocity vG :
states. Concatenating both states into a single vector, the
robots state is represented as q Rndof s where ndof s hG = IG vG = AG q. (7)
is the number of under-actuated and actuated degrees of
freedom of the robot Since a humanoid cannot directly Using an adjoint operator to change the reference coordinate,
control its floating base dynamics, an under-actuation matrix, and defining the inertia of each link as Ii , IG and AG can
U R(ndof s 6)ndof s , is used to map the global state vector, be expressed as
q, to the subspace of actuated joints, qact . X
IG = AdT 1 Ii AdT 1 , (8)
i
qact = U q. (1) i
i

Using the generalized state vector, q, the dynamics of the AG =


X
AdT 1 Ii Ji , (9)
robot can now be represented as the following linear differ- i
i

ential equation.
where Ti is the SE(3) of each link seen from the center of
Aq + b + g + JsT Fr = U T control , (2)
gravity coordinate, consisting of a rotational representation
where A is the inertia matrix, b is the centrifugal and Coriolis (Ri ) and linear position (pi ),
forces, g is the gravitational forces, and control is the output  
torque command on the actuated joints of the robot. When Ri p i
Ti = , (10)
single (or dual) foot contact is considered, the contact can 0 1
be described by the support Jacobian Js R3 (or Js R6 )
which maps the state vector velocity to the constrained foot and AdTi and AdTi are the Adjoint and dual Adjoint
(or feet) in Cartesian space. Since this is constrained, the mapping, defined as
acceleration of the foot must be 0. Substituting the constraint  
Ri 0
Js q+Js q = xf oot(orf eet) = 0 and the corresponding reaction AdTi = , (11)
[pi ] Ri Ri
forces, Fr the dynamics become:
 T
Ri 0
AdTi = , (12)
Aq + NsT (b + g) + JsT s Js q = (U Ns )T control , (3) [pi ] Ri Ri
where Ns = I Js Js is the null space projector of
where [p] is the function which changes a vector to a skew
Js under dynamically consistent inversion, Js and s =
symmetric matrix. From the above equations, we can easily
(Js A1 JsT )1 .
identify the Jacobian with the following equation,
An operational task, ptask , is defined by the constrained
kinematic mapping 1
JCM = IG AG . (13)

ptask = Jtask qact , (4)
ntask nacts
Eq (13) represents the velocity mapping between the Cen-
where Jtask = Jtask U N s R is the contact troidal Momentum (CM) space (operational space) and con-
consistent task Jacobian and Jtask Rntask ndof s is the figuration space. We newly incorporate this mapping for
unconstrained task Jacobian, which users need to define creating CM tasks in the WBOSC framework.
whenever adding a new task. Note that nacts and ntask are
In this paper, we only utilize the angular momentum
the number of actuated joints and the number of dimensions
components, which we refer to as the Centroidal Angular
controlled in the task space respectively. The torque com-
Momentum (CAM), by taking the last three rows of the
mands can be compactly represented as
above Jacobian matrix and specify them as a lower priority
T
control = Jtask Ftask , (5) operational task. In doing so, the controller reduces the
average angular velocity while maintaining a higher priority
where Ftask is the operational space impedance control law,
Capture Point (CP) task, which controls the linear compo-
Ftask = task utask + task + ptask , (6) nents of the robots CM.

Preprint submitted to 2016 IEEE-RAS International Conference on Humanoid Robots.


Received July 28, 2016.
CONFIDENTIAL. Limited circulation. For review only.

From those equations, we can identify the relationship be-


tween torque and CoP position (r).

(f2 f1 )d
= r, (21)
f1 + f2

= r. (22)
mg

Plugging Eq (22) into Eq (17) results in a linear ODE


g
x = (x r). (23)
h
This equation implies that the ankle torque does not change
Fig. 1: CoM and thin foot Model A single supported the linear inverted pendulum dynamics above and influences
legged system can be modeled as a flat foot connected with only the CoP q position. From the original CP formulation,
rotational joint (ankle) and prismatic joint (leg). xCP = x + hg x. The CP dynamics are defined as
r
IV. F ORMULATION OF C APTURE P OINT TASK g
xCP = (xCP r). (24)
In [1], Capture point (CP) is defined as follows: For a h
biped in state x, a Capture point, p, is a point on the ground Then, a suitable control law of the CoP to let the current CP
where if a biped either covers p with its stance foot or steps converge to desired CP is
onto p and then maintains its Center of Pressure (CoP) on
p, then there is a safe feasible trajectory that the robot will r = xCP + K(xCP xdCP ), (25)
end in a Captured State. Therefore, the first objective of the
balance controller is to move the CoP to the CP of a given where xdCP is the desired CP location and K is the gain.
state and then add feedback to move the CP to the desired Inserting the above equation (25) into Eq. (23) and consid-
CP location. [15] and [16] explain how to design a bipeds ering an operational task associated with the robots center
balance controller by manipulating the CoP (or ZMP). How- of mass, x = Jcom q, the desired CoM acceleration input to
ever, it is not trivial to define the Jacobian for a CoP control control the CP in WBOSC is
task since there is no direct velocity relationship between
g
the CoP space and the configuration space. Additionally, the u = xCP + K 0 (xdCP xCP ), (26)
CoP can only be changed by moving the CoM. Therefore, h
we propose the simplified model (Fig. 1) to design a CP where K 0 = K hg and Jcom is the Jacobian of the robots
controller in the WBOSC framework. Intuitively speaking, Center of Mass.
the following process finds the relationship between the CoM
acceleration (WBOSC input) and the CoP dynamics, which
will be used to manipulate the CP. V. O RIENTATION E STIMATOR
The dynamics of the robots CoM are
There have been several studies to use kinematic informa-
mg = F cos , (14) tion to estimate the orientation of a floating body. Since the
MEMS-based IMU suffers from significant drift, estimation
mx = + F sin . (15) techniques to avoid inherent noise and bias are required to
h
control legged systems. Our approach is based on [17], [18],
Dividing the two equations and substituting tan = hx results but a key difference is that we fix the error related to intrinsic
into and extrinsic rotation. In addition to the ordinary Kalman
mx h x filter, we utilize the foot force sensor data to manipulate the
= , (16)
mg h covariance of the state transition model.
g To avoid the confusion related with the quaternion con-
x+ = x. (17)
h mh vention, we clarify the definition of quaternion used in our
Ignoring horizontal forces on the foot, the force/moment estimator. Rotation is represented by a rotation axis (v) and
balance equations on the supporting foot are with a rotation amount () about the axis. In this paper, we
construct a quaternion as
f1 + f2 = mg, (18)
q =[ qw , qx , qy , qz ]
f1 d + + f2 d = 0, (19)
v
=[ cos( ), sin( ) ]. (27)
f1 (d + r) + f2 (d r) = 0. (20) 2 |v| 2

Preprint submitted to 2016 IEEE-RAS International Conference on Humanoid Robots.


Received July 28, 2016.
CONFIDENTIAL. Limited circulation. For review only.

Fig. 3: Balance Control with Capture Point Task. NAOs


balance is disturbed by a constant 20N push force for 0.1 s.
(a) q1 (b) q1 q2 (c) q2 q1 By manipulating the capture point with whole-body motion,
NAO recovers and continues to balance on its left foot
Fig. 2: Intrinsic and Extrinsic Rotation. The figures shows
the difference between intrinsic (b) and extrinsic (c) rotation.
Here, q1 is the 45o rotation about z axis and q2 is the 63o
defined as
rotation about y axis.
I 0 R[qk ]t
Fk = 0 I 0 , (34)
The rotation matrix according to the same rotation is defined 0 0 I
by
I R[qk zk1 ] 0
 
Hk = . (35)
R[q] = 0 I 0
1 2qy2 2qz2

2qx qy 2qz qw 2qx qz + 2qy qw Detailed derivations are presented in the Appendix.
2qx qy + 2qz qz 1 2qx2 2qz2 2qy qz 2qx qw . The covariance matrix in prediction is given by
2qx qz 2qy qw 2qy qz + 2qx qw 1 2qx2 2qy2 the equation, Qk = Fk Lc Qc LTc FkT t, where Lc =
(28) diag{R[qk ], I, I}, and the update matrix is Rk = Rc /t.
With the definition, we obtain the relationship qQ[v]q = Note that the orientation observation in Eq (33) is assumed
Q[R[q]v], where is the Hamiltonian multiplication and to be constant since the stance foot in the global frame is
Q[x] represents the mapping from a three dimensional vector expected to be flat on the ground. If more than one of the
to a pure imaginary quaternion. four force sensors signal in the foot is zero, this implies that
Due to limited computational power and poor signal the foot is not completely flat on the ground. To handle this
quality in the accelerometer data, our estimator has a smaller scenario, the estimator adjusts the uncertainty covariances
number of states than [17], [18]. for the z term in both the prediction (Qc ) and update (Rc )
In previous estimator designs, there is confusion regarding process to be very high. This results to the Kalman-filter
intrinsic and extrinsic rotations. Additionally, further con- relying more on the IMU data over the kinematics.
fusion comes from competing quaternion conventions. To VI. DYNAMIC S IMULATION
clarify our approach, we present our convention in Fig. 2.
Since the Kalman filter update process occurs in the global In the simulation, we assume that the NAO robot is a fully
frame, this update must be done in an extrinsic manner. torque controllable humanoid. This assumption provides an
However, the IMU data from the robot should be added to environment to test highly dynamic motions and verify that
the estimated orientation in an intrinsic manner since the our task extensions to WBOSC function as intended. Namely,
IMU data is the angular velocity from the local frame (body the CP task balances the robot and the addition of CAM task
orientation). Therefore, the Kalman filter prediction rules are further enhances the balancing capability.

qk+1 = qk+ exp([wk ] t), (29) A. Balance Control Test
To test the balance controller in the simulation, we induce
zk+1 = zk+ , (30) a disturbance by pushing the NAO robot on its torso with
a constant force for 0.1 seconds while NAO balances on its
bw,k+1 = b+
w,k (31)
left foot.
and the observations are First, we test a CP-based balance controller which only
uses the CP criteria. This test is performed to verify the
s1,k = qk (zk )1 , (32) proposed control law in Eq (26). As seen in Fig. 3, we push
s2,k = zk , (33) the torso with 20N of force for 0.1 seconds. The simulation
showed that the NAO robot successfully maintains its balance
where s1,k is the orientation difference between the IMU on its left foot.
and the stance foot, and s2,k is the global orientation of the Second, we test how much the CAM task helps with
stance foot. maintaining balance. In this test, we add an additional 15N
For the orientation estimator, we use the Extended Kalman of constant force perpendicular to the first force. As before,
Filter, which requires linearized update matrices and they are these two forces are induced for 0.1 seconds. Fig. 4 shows

Preprint submitted to 2016 IEEE-RAS International Conference on Humanoid Robots.


Received July 28, 2016.
CONFIDENTIAL. Limited circulation. For review only.

Fig. 4: Comparison of Balance Controllers. In these two trials, we push the NAO with 15N and 20N on the lateral and
sagittal direction respectively for 0.1 seconds. The first row is the combined CP + CAM balance controller and the second
row only uses a CP-based balance controller. The images boxed in red shows the tracking performance of the actual (orange
line) CP and CAM trajectory to the desired (blue line) trajectories for the CP + CAM balance control test. The simulation
shows that under these forces, the CP + CAM balance controller successfully balances the robot, but fails with only a
CP-based controller.

two tests being performed: (1) with CP + CAM Control, and


(2) with CP Control only. Note that when performing the
combined CP + CAM balance controller, we place the CP
criteria as a higher priority task than the CAM task. This is
because the CAM task acts as a supplement, which attempts
to minimize the centroidal angular velocity of the robot.
As Fig. 4 shows, when the combined CP + CAM Con-
troller is used, the NAO robot uses its limbs more actively
and successfully balances. Otherwise, using only a CP-based
controller under these forces fail. Thus, the inclusion of CAM
control contributes significantly to balance control.

B. Dynamic Kick
In performing a dynamic kicking motion, we use the
complete balance controller including both CP and CAM
tasks. Initially the robot starts from a double support posture.
To begin the kicking motion, the CP is first moved to the left
foot using WBOSC and the constraint setup is also changed
from dual to single contact. The NAO performs a wind up
motion using foot pose control and makes a dynamic kick
by swinging the right foot forward by 27cm in 0.1sec. The
resulting motion is presented in Fig 5.

VII. H ARDWARE E XPERIMENTS

Fig. 5: Kick Motion. NAO kicks the 70g weighted ball. The A. WBOSC Challenges in the NAO
ball travels around 2.5m in the simulation. Implementation of WBOSC on the NAO robot is challeng-
ing since it is not designed for real-time feedback control.
There are four major difficulties. The NAO platform has (1)
low computational power, (2) low-quality sensing capability,

Preprint submitted to 2016 IEEE-RAS International Conference on Humanoid Robots.


Received July 28, 2016.
CONFIDENTIAL. Limited circulation. For review only.

Fig. 6: Total Control Scheme. The virtual robot model plays an important role in the feedback control. In the figure, is
the angular velocity data from the IMU, q is the orientation of the IMU, z is the orientation of a stance foot, Q is the full
state of the dynamic model including virtual joints, and is the torque command from the WBOSC. In the virtual robot
model, the forward dynamics convert the torque command to joint accelerations, and through integrations using dt as the
time step, Q is delivered to the real robot after checking hardware constraints. Note that dt is 17 ms since it runs 70 times
in one system control loop from the Real robot to the WBOSC.

(3) limited embedded controller access, and (4) particular B. Implementing WBOSC on the NAO
hardware deficiencies. To address the above hardware limitations, we provide
First the CPU in the NAO robot is a dual core Intel the following methodologies to lower computational burden,
Atom(TM) @ 1.60Ghz. This is a low-end computer com- obtain clean velocity data, and send the appropriate joint
pared to other humanoid robots that utilize computationally position commands from the WBOSC torque commands.
expensive whole-body controllers. The low computational To lower computational burden, we first note that us-
power limits the types of estimation techniques that can be ing our WBOSC framework is computationally faster due
utilized. For example high dimensional Kalman filters are to its projection-based methods and closed-form solution.
not possible. Secondly, on the NAO system itself, while the WBOSC
Second, NAOs low sensing capability gives low quality is computed on the main control loop, the mass matrix is
velocity data. It is delayed, biased, and noisy. Moreover, the computed on a different thread and is only occasionally
slow control servo rate (10ms) significantly reduce the phase updated. Note that while the configuration-dependent mass
margin and limit the bandwidth of the feedback controller. matrix is slightly behind temporally to the true mass matrix,
Furthermore, the quality of the velocity data is critical our empirical tests have shown that this difference is small
with stabilizing a feedback system since velocity feedback and negligible even with a 10ms system control loop.
can be used to damp the system dynamics and provide To obtain clean velocity data and send appropriate joint
passivity [19]. position commands, we create a virtual robot model which
Third, in a cascaded control structure, having the ability simulates the joint accelerations the NAO robot will expe-
to manipulate the joint-level controller is crucial to tuning rience if the links exert the desired torque commands from
the WBOSC feedback controller. Since NAO only provides the WBOSC. The virtual robot model takes the joint accel-
a joint position controller that accepts only two parameters erations and through integration, gives the joint velocities
(desired joint position and stiffness), this tuning flexibility is and positions, which are sent to the joint position controllers
no longer available. Additionally other types of low-level and the orientations are sent to the orientation estimator.
controllers such as a joint-level torque controller are not Clean velocity data is obtained from the joint velocity data
possible. It is important to remember that WBOSC returns in the virtual robot model and is used to stabilize the system
joint torque outputs to accomplish the specified tasks. Thus, dynamics.
we must convert joint torque commands to appropriate joint
position commands. C. WBOSC Control Scheme for the NAO Robot
Finally, while it is possible to imitate a torque controller by The virtual robot model consist of forward dynamics
reverse-engineering the joint-position controllers and identi- and numerical integration (Fig. 6). Note that this virtual
fying the appropriate inverse function to create a mapping model is what the WBOSC controls. The virtual robot model
between desired torque outputs and joint position commands, is synchronized with the actual robot via two methods.
this is not possible due to the limited information on the em- First commanding the desired joint positions of the virtual
bedded controllers and NAOs hardware deficiencies. NAOs robot model to the the built-in joint position controllers
spur gears in the drive train are not appropriate for torque synchronize the joint states. Second, the orientation estimator
control due to inherent friction, stiction, and backlash. estimates the real robots body orientation by combining the

Preprint submitted to 2016 IEEE-RAS International Conference on Humanoid Robots.


Received July 28, 2016.
CONFIDENTIAL. Limited circulation. For review only.

Fig. 7: Experiment Result. x, y, and z mean saggittal, lateral, and vertical direction, respectively. In (a) the NAO performs
a dynamic kick from the half-way line of the field in which the ball traveled 5m away. In (b) and (c), the blue lines are the
desired CP and foot trajectories and the orange lines are the measured trajectories. In (d), the joint position data shows that
the real robots configuration (orange) is well matched with the virtual model configuration (blue)

measured angular velocity data and its kinematics. Finally, stiffness gains in the balance controller. The lack of high-
using another Kalman-filter, we also estimate the robots yaw stiffness control causes the lateral direction of the capture
velocity. In this way, WBOSC performs closed-loop control point to have noticeable error. However, the controller still
with the actual robot. manages to follow the desired trajectories. Overall, Fig. 7
The numerical integration process requires small step sizes shows that we have successful performed a dynamic motion
to avoid truncation errors. With a 10 ms system control loop using approach described in Sections VII-B and VII-C.
rate, the numeric integrator is not stable on its own. Since
VIII. C ONCLUSION AND F UTURE W ORK
this process is not computationally expensive, we run the
integration step 70 times in one system control loop to further In this paper, we formulate Centroidal Moment Control
reduce the step size. By doing so, we enhance the accuracy and Capture Point Control in WBOSC framework. We verify
of numeric integration. that we can control CAM and CP tasks in simulation by
To enhance the computational efficiency, we do not include performing disturbance rejection tests, and we also demon-
gravity and Coriolis terms in both the WBOSC and forward strate that we can perform a dynamic kicking motion both
dynamics. Specifically, these terms are canceled out when in simulation and hardware.
performing inverse dynamics in the WBOSC and forward To utilize WBOSC for performing dynamic behaviors in
dynamics in the virtual robot model. We also remove the a low-end commercial robot such as the NAO, we provide
neck joints and elbow joints in the virtual model since they the following methodology. We first create an Extended
are not actively used in the kicking demonstration. Instead, Kalman-filter based orientation estimator which includes
the joint position commands for these joints are fixed and the robots kinematic models, foot sensor data, and IMU
WBOSC sees them as fixed masses. data. Second, to be compatible with NAOs embedded joint-
position controllers, we create a virtual robot model that acts
D. Dynamic Kick Demonstration as an interface between the WBOSC and the real robot.
In the future, we are gearing toward fast locomotion with
To test the proposed controllers performance, we demon-
the techniques presented in this paper. Fast walking is one of
strate a dynamic kicking behavior in the NAO robot. The
the most desirable capability in soccer competition, and we
WBOSC tasks involved in the kicking motion, in order of
expect that we can achieve much higher speed locomotion
priority from high to low, are to: (i) maintain the CoM
provided large stable region thanks to the current study.
height, (ii) perform CP control, and (iii) do pose control
on the swing foot. The desired CoM height is set to the IX. ACKNOWLEDGEMENTS
starting height of the NAO robot after it performs its boot The work was partially supported by an Office of the
up routine, and the CP and foot trajectories are designed with Naval Research (ONR) and a NASA Space Technology
a sinusoidal function. The ball used is the 2016 black and Research Fellowship (NSTRF) under the grant number
white competition ball used in SPL, which is 45g. NNX15AQ42H.
The result is presented in Fig. 7. The ball traveled 5m
away. Empirical tests show that a similar performance is A PPENDIX
obtained in multiple trials. We note that due to the slow In this section, we describe how the matrices in the ori-
update rate of the NAO robot (10 ms), we cannot use high entation estimator are derived. First we derive the prediction

Preprint submitted to 2016 IEEE-RAS International Conference on Humanoid Robots.


Received July 28, 2016.
CONFIDENTIAL. Limited circulation. For review only.

process for the IMU orientation. and Fk = eFc t . As for the orientation difference between
the IMU and the stance foot, it is same as the process
q = q q (36) described in [18].
b = b + b (37) R EFERENCES
where q is the actual orientation of IMU, q is the estimated [1] J. E. Pratt and R. Tedrake, Velocity-Based Stability Margins for Fast
Bipedal Walking, in Fast Motions in Biomechanics and Robotics.
value, q is the orientation adjustment, and similarly, b Berlin, Heidelberg: Springer Berlin Heidelberg, 2006, pp. 299324.
is the bias, b is the estimated value, and b is the bias [2] S.-H. Lee and A. Goswami, Reaction Mass Pendulum (RMP): An
adjustment. Since the adjustment is done in the global explicit model for centroidal angular momentum of humanoid robots.
ICRA, pp. 46674672, 2007.
coordinate system, we apply an explicit rotation. [3] D. E. Orin, A. Goswami, and S.-H. Lee, Centroidal dynamics of a
  humanoid robot, Autonomous Robots, vol. 35, no. 2-3, pp. 161176,
1 + w + b 2013.
q = q (38)
2 0 [4] F. L. Moro, M. Gienger, A. Goswami, N. G. Tsagarakis, and D. G.
  Caldwell, An attractor-based whole-body motion control (wbmc)
1 + b system for humanoid robots, in IEEE-RAS International Conference
=q (39) on Humanoid Robots (Humanoids), 2013, pp. 4249.
2 0 [5] S. Kuindersma, R. Deits, M. Fallon, and A. Valenzuela, Optimization-
  based locomotion planning, estimation, and control design for the
1 + b ATLAS humanoid robot, Autonomous Robots, vol. 40, no. 3, pp. 429
q = q (40) 455, 2015.
2 0,
[6] S. Bertrand, J. Pratt, et al., Momentum-based control framework:
where is the angular velocity measurement, and w is the Application to the humanoid robots atlas and valkyrie, in IEEE/RSJ
International Conference on Intelligent Robots and Systems, Worshop
angular velocity noise. Next, Slides, 2014.
d [7] J. J. Alcaraz-Jimenez, D. H. Perez, and H. M. Barbera, Robust
q = (q q) (41) feedback control of ZMP-based gait for the humanoid robot Nao.
dt I. J. Robotic Res. (), vol. 32, no. 9-10, pp. 10741088, 2013.
    [8] J. J. Alcaraz-Jimenez and M. Missura, Lateral disturbance rejection
1 + b q + q q 1 + b for the nao robot, RoboCup 2012: Robot . . . , vol. 7500, no. Chapter
q = q (42)
2 0 2 0 1, pp. 112, 2013.
[9] I. Becht, M. de Jonge, and R. Pronk, A Dynamic Kick for the Nao

1 + b
   Robot, Project Report, 2012.
q q 1 = q + q q 1 + b q 1 [10] A. D. Ames, E. A. Cousineau, and M. J. Powell, Dynamically stable
2 0 2 0 bipedal robotic walking with NAO via human-inspired hybrid zero
(43) dynamics, in the 15th ACM international conference. New York,
  New York, USA: ACM Press, 2012, p. 135.
v [11] A. Escande, N. Mansard, and P.-B. Wieber, Hierarchical quadratic
Since q q 1 = R[q]v, we simplify the equation to programming: Fast online humanoid-robot motion generation. I. J.
0 Robotic Res. (), vol. 33, no. 7, pp. 10061028, 2014.
 [12] T. Koolen, J. Smith, G. Thomas, S. Bertrand, J. Carff, N. Mertins,
= q 1 R[q]( + b ) + q q 1 1 R[q]( + b )
  
q D. Stephen, P. Abeles, J. Englsberger, S. McCrory, J. van Egmond,
2 2 M. Griffioen, M. Floyd, S. Kobus, N. Manor, S. Alsheikh, D. Duran,
(44) L. Bunch, E. Morphis, L. Colasanto, K.-L. H. Hoang, B. Layton,
P. Neuhaus, M. Johnson, and J. Pratt, Summary of Team IHMCs
1  1  virtual robotics challenge entry, 2013 13th IEEE-RAS International
= q R[q]( + b ) + q R[q]( + b ) Conference on Humanoid Robots (Humanoids 2013), pp. 307314,
2 2 2013.
(45) [13] Y. Zhao, N. Paine, K. S. Kim, and L. Sentis, Stability and perfor-
mance limits of latency-prone distributed feedback controllers, IEEE
1 Transactions on Industrial Electronics, vol. 62, no. 11, pp. 71517162,
= q R[q](b + w ) (46) 2015, In Press.
2 [14] L. Sentis, Synthesis and control of whole-body behaviors in hu-
1 [R[q](b + w )] R[q](b + w ) 21 manoid systems, Ph.D. dissertation, Stanford, 2007.
   
= , [15] J. Englsberger, C. Ott, M. A. Roa, A. Albu-Schaffer, and G. Hirzinger,
2 R[q](b + w ) 0 1 Bipedal walking control based on Capture Point dynamics, in 2011
(47) IEEE/RSJ International Conference on Intelligent Robots and Systems
(IROS 2011). IEEE, Sept. 2011, pp. 44204427.
where q = [ 21 , 1]T . From Eq (46) to Eq (47) we apply [16] T. Sugihara, Standing stabilizability and stepping maneuver in planar
bipedalism based on the best COM-ZMP regulator, in Robotics and
the matrix transformation from Hamiltonian multiplication. Automation (ICRA). Kobe: IEEE, 2009, pp. 19661971.
Since the multiplication of small numbers is small enough [17] M. Blosch, M. Hutter, M. A. Hoepflinger, S. Leutenegger, C. Gehring,
to ignore, C. D. Remy, and R. Siegwart, State Estimation for Legged Robots
- Consistent Fusion of Leg Kinematics and IMU. Robotics Science
q = R[q](b + w ). (48) and Systems 2012, 2012.
[18] N. Rotella, M. Bloesch, L. Righetti, and S. Schaal, State estimation
Eq (48) is substituted into the Fc matrix in the linearized sys- for a humanoid robot, in 2014 IEEE/RSJ International Conference
tem written as x = Fc x + Lc w, where x = [q, z, b]T on Intelligent Robots and Systems (IROS 2014). IEEE, 2014, pp.
952958.
Therefore, [19] C. Ott, A. Albu-Schaffer, A. Kugi, and G. Hirzinger, On the Passivity-
0 0 R[q] Based Impedance Control of Flexible Joint Robots, Robotics, IEEE
Fc = 0 0 0 , (49) Transactions on, vol. 24, no. 2, pp. 416429, 2008.
0 0 0

Preprint submitted to 2016 IEEE-RAS International Conference on Humanoid Robots.


Received July 28, 2016.

You might also like