<figure><img src="image_1.png" /></figure>

HAL
open science

# Motion Generation for Pulling a Fire Hose by a Humanoid Robot

Ixchel G Ramirez-Alpizar, Maximilien Naveau, Christophe Benazeth, Olivier

Stasse, Jean-Paul Laumond, Kensuke Harada, Eiichi Yoshida

<figure><img src="image_2.png" /></figure>

## To cite this version:

Ixchel G Ramirez-Alpizar, Maximilien Naveau, Christophe Benazeth, Olivier Stasse, Jean-Paul Laumond, et al.. Motion Generation for Pulling a Fire Hose by a Humanoid Robot. 16th IEEE-RAS International Conference on Humanoid Robotics (HUMANOIDS 2016), Nov 2016, Cancun, Mexico. hal-01388372

HAL Id: hal-01388372

https://hal.science/hal-01388372

Submitted on 26 Oct 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_3.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Motion Generation for Pulling a Fire Hose by a Humanoid Robot

Ixchel G. Ramirez-Alpizar<fnref n="1" />, Maximilien Naveau<fnref n="2" />, Christophe Benazeth<fnref n="2" />, Olivier Stasse<fnref n="2" />,
Jean-Paul Laumond<fnref n="2" />, Kensuke Harada<fnref n="1" />, and Eiichi Yoshida<fnref n="3" />

**Abstract**— This paper discusses a strategy for a humanoid robot to pull a fire hose while walking towards a desired position and orientation. A hybrid controller on the robot's wrist holding the fire hose is implemented for pulling it. The proposed controller can automatically determine the pulling force according to the robot's walking velocity. Through simulation analysis it is shown that when the robot walks while pulling the fire hose a drift in the walking direction is generated. To cope with this drift and to direct the robot to a desired position and orientation, a walking task is introduced. Using a motion capture system, the robot's chest position and orientation are monitored and feed to the robot's walking pattern generator to correct the orientation drift and to determine where to walk and when to stop walking. Through experimental results the validity of the proposed strategy was confirmed. It is shown that the proposed hybrid controller contributes to the improvement of the robot's balance when walking.

## I. INTRODUCTION

After Japan's 2011 earthquake and Fukushima's Nuclear plant disaster, the importance of developing robots capable of helping/replacing humans in dangerous situations or with increased capabilities have raised quickly. This natural disaster showed to the robotics community the lack of case studies that have been conducted towards applications in real case scenarios. Having this as a motivation, in this work we focus on the task of pulling a fire hose by a humanoid robot.

Previous work on manipulation tasks by humanoid robots include pushing objects, pivoting, lifting, etc. Hwang et al. discussed whole body motions of a humanoid robot for pushing a wall [1]. Harada et al. proposed a controller for pushing manipulation by a humanoid robot where the desired trajectory of the ZMP is modified to push an object [2]. They also discussed the possibility of planning the robot's gait in real time to push a heavy object [3]. Takubo et al. discussed the case of a heavy object pushed by a humanoid robot. The center of mass (CoM) trajectory is modified based on the forces acting on the robot's hands [4]. They also discussed a pushing method using multipoint contact states between the robot and the object [5]. Nozawa et al. proposed a full-body motion controller for a humanoid robot to push a heavy

object by considering the friction forces acting on the robot's arms [6]. Murooka et al. proposed a whole-body pushing motion by a humanoid robot considering force and balance, and using selected contact points with the object to be pushed [7]. Yoshida et al. discussed the pivoting manipulation of a large object by a humanoid robot, where the forces acting on the object are controlled to pivot the object on the floor and move it to a desired position [8]. Harada et al. discussed the task of lifting an object and then walk while holding it [9].

In this work, we discuss the task of pulling a real fire hose by a humanoid robot while it walks. The fire hose is empty and rolled up into a reel that is fixed to the floor as shown in Fig. 1(a). A user friendly walking pattern generator, which input is a velocity relative to the ground plane, is used for generating the walking motion. For pulling the hose a hybrid controller on the robot's wrist holding the hose was implemented. Through simulation analysis it is shown that when the robot is walking while pulling the hose, a drift on the robot's walking direction is generated. To correct this drift, a walking task is introduced. Using a motion capture system, the robot's chest position and orientation are tracked in real time. The walking task will compute the desired reference velocity for the robot to arrive to a desired position/orientation. Experimental results are shown to confirm the validity of the proposed motion for picking and pulling a fire hose. Moreover, we show that the hybrid controller contributes to the improvement of the robot's balance when walking. It must be pointed out that whereas most of the previous work on pushing/pulling is based on

<figure><img src="image_4.png" /><figcaption>Fig. 1. The fire hose is empty and rolled up into a reel used in this work is shown in (a) and the humanoid robot HRP-2 is shown in (b).</figcaption></figure>

<footnote n="1">¹I. Ramirez-Alpizar and K. Harada are with the Department of Systems Innovation, Graduate School of Engineering Science, Osaka University, 1-3 Machikaneyama-cho, Toyonaka, Osaka, 560-8531, Japan {ramirez, harada}@sys.es.osaka-u.ac.jp</footnote>

<footnote n="2">²M. Naveau, C. Benazeth, O. Stasse and J.-P. Laumond are with CNRS, LAAS, Université de Toulouse, 7 avenue du Colonel Roche, F-31400, Toulouse, France. {mnaveau, benazeth, ostasse, jpl}@laas.fr</footnote>

<footnote n="3">³E. Yoshida is with the AIST-CNRS JRL (Joint Robotics Laboratory), UMI3218/CRT, 1-1-1 Umezono, Tsukuba, 305-8560, Japan. e.yoshida@aist.go.jp</footnote>
force control, in this work we use a combination of position and force control to tackle the drift generated by the fire hose when the robot is walking. Also, most of the pushed/pulled objects used were boxes relatively shorter than the rolled up fire hose used in this work.

This paper is organized as follows: in section II we briefly introduce the walking pattern generator used in this work. In section III we show the strategy for a humanoid robot to pull a fire hose and analyze simulation results. In section IV we introduce a walking task to correct the drift in the robot's walking direction generated by the hose. In section V we show the experimental results of the proposed strategy using the HRP-2 humanoid robot. Finally, in section VI we give the conclusion of this work and briefly discuss future work.

## II. THE WALKING PATTERN GENERATOR

In order to control the displacement of the humanoid robot HRP-2 we used a recently developed walking pattern generator [10]. This walking pattern generator allows the user to control a humanoid robot almost like a mobile platform. The input of the walking pattern generator is a velocity $v^{\text{ref}} = [\dot{x}, \dot{y}, \dot{\theta}]$ relative to the ground plane, and is tracked by the center of mass. The walking pattern generator computes automatically the foot transitions and the center of mass trajectory, so that the robot is balanced when walking. It is designed as an optimization problem with a quadratic cost function and nonlinear constraints. The free variables are the center of mass jerk and the foot step position and orientation. The cost function minimizes:

* the distance between the robot center of pressure and the robot support foot,

* the difference between the input linear velocity and the robot center of mass velocity,

* the error between the integration of the input angular velocity and the foot step yaw,

* and a regularization term, i.e. the jerk of the center of mass.

The two main constraints are on the placements of the foot steps and on the balance. For kinematic and auto-collision reasons, the foot steps are limited to a predefined polyhedron. The placement of this polyhedron depends nonlinearly on the foot step position and orientation. For keeping balance, the dynamics of the center of mass are controlled. The walking pattern generator uses a linear inverted pendulum model with the center of pressure as balance criteria. The center of pressure is then limited to a rectangle centered on the foot step. This constraint is also nonlinear. The solver computes a linear approximation of each constraint and therefore defines a quadratic problem with linear constraints. This problem is easily solved using off the shelf solvers.

In this walking pattern generator, the input velocity is tracked by the center of mass if the two above constraints are respected. As a consequence the robot center of mass will have a swinging motion from one foot to the other, even if the input velocity is zero on the robot coronal plane. The robot will still move its center of mass anyway to maintain balance while walking. This swinging motion has to be taken

<figure><img src="image_5.png" /><figcaption>Fig. 2. The robot coordinate frame.</figcaption></figure>

into account when designing the hand tasks to avoid auto-collision and the walking task to make the robot converge toward a specific goal.

## III. PULLING STRATEGY

In this section we explain the strategy for pulling the fire hose while walking. First, we describe the hybrid controller used to control the robot's wrist holding the hose. Then, simulation results are shown for analyzing and demonstrating the robot's behavior when pulling the fire hose while walking.

### A. Hybrid Controller

In order to pull the fire hose while walking a hybrid controller is implemented on the robot's wrist holding the hose. Position control is employed to keep a fix distance between the waist of the robot and its wrist, and impedance control is employed to pull the hose. According to the frame attached to the robot (as shown in Fig. 2), position control is used in Y direction and impedance control in X and Z directions. The impedance controller on the left wrist is defined similarly to the one proposed by Harada et al. [3] as:

$$m\ddot{x}_{lw} + c\dot{x}_{lw} = f_{lw} - f_d - f_{\text{pull}}, \quad (1)$$

where $x_{lw} = [x_{lw} \ y_{lw} \ z_{lw}]^T$ represents the robot's left wrist position, and $m$ and $c$ are the desired mass and damping coefficients, respectively. The force applied to the left wrist of the robot is represented by $f_{lw}$, $f_d$ is the desired force in the left wrist, and $f_{\text{pull}}$ represents the desired pulling force, defined as:

$$f_{\text{pull}} = \begin{cases} Wv^{\text{ref}} & \text{if } z_{la} = z_{ra} = h_a, \\ 0 & \text{otherwise} \end{cases}, \quad (2)$$

where $z_{la}$ and $z_{ra}$ are the Z direction components of the left and right ankles, $h_a$ is the height of the ankles when making full contact with the floor, $v^{\text{ref}}$ is the reference velocity vector of the robot when walking and $W$ is a diagonal matrix. Like this, the robot will pull the hose only at the double support phase when walking and will not pull the hose when standing still, also the pulling force will be proportional to $v^{\text{ref}}$ which means it will pull proportionally to the walked distance. Furthermore, the diagonal matrix $W$ allows to select in which direction to pull the hose.
<figure><img src="image_6.png" /><figcaption>Fig. 3. Snapshots of the top view of the simulation of HRP-2 robot holding a hose in (a) to (c), and the change in the robot's yaw angle in (d).</figcaption></figure>

The orientation of the wrist will be kept constant with respect to the orientation of the robot's waist, i.e. it will rotate in the same direction, same amount as the robot's waist.

## B. Simulation Analysis

The humanoid robot HRP-2 is simulated using the OpenHRP software version 3.1.2. This software simulates the dynamics of the hose and the HRP-2 robot. To generate the walking motion of the robot the walking pattern generator described in section II is used. The fire hose is approximated by a simplified model consisting of rigid cylinders connected by rotational joints with the rotation axis parallel to the cross section of the cylinders.

Fig. 3 shows the simulation results of the yaw orientation angle of the robot's waist when using a fire hose with a length of 7 m partially rolled up at the starting time (Fig. 3(a)). The hose has a total mass of 13.2 kg, which includes the mass of the nozzle and the coupling of the hose. A uniform mass distribution of 1.8 kg/m, which corresponds to the real fire hose, is given to the cylinders. The reference velocity given to the pattern generator is $v_{ref} = [0.1 \ 0.0 \ 0.0]^T$ and it is constant through all the simulation. As it can be seen in Fig. 3, after walking few steps the robot begins to drift to its left with an almost constant velocity. It can be inferred that the force generated by the hose on the robot's wrist generates a slip on the robot's feet, thus generating a drift in the robot's yaw angle.

Furthermore, it was discovered that the amount of drift depends on the mass of the fire hose. The change in the yaw angle in simulation using hoses with different weights is shown in Fig. 4. The light, normal and heavy hoses have a total mass of 4.52 kg, 9.04 kg and 13.56 kg, respectively and a length of 1.8 m for each of them. From these results it can be observed that the drift on the orientation of the robot depends on the disturbance given by pulling the hose on its left wrist.

<figure><img src="image_7.png" /><figcaption>Fig. 4. Change in the robot's yaw angle for three different weights per length unit. Light's hose mass is 4.52 kg, normal's hose mass is 9.04 kg and heavy's hose mass is 13.56 kg</figcaption></figure>

## IV. WALKING TASK

In this section we introduce a walking task to deal with the drift generated on the yaw angle of the robot when walking while holding the fire hose, as explained in the previous section. Then, simulation results are shown to confirm the validity of the proposed walking task.

To cope with the drift in the walking direction explained in the previous section, we introduced a walking task $e_w$ which is defined as:

$$e_w = x - x_d, \quad (3)$$

where vector $x = [x_c \ y_c \ \phi_c]^T$ includes the robot's chest $X$ and $Y$ direction position and its yaw orientation angle $\phi$. Similarly, the desired position and yaw angle is represented by $x_d$. Therefore, the desired reference velocity for walking $v_{ref}$ is obtained as:

$$v_{ref} = -\lambda e_w - \Lambda \int e_w(t) \, dt, \quad (4)$$

where $\lambda$ is an adaptive gain and the matrix $\Lambda$ is a diagonal matrix of adaptive gains. The obtained reference velocity is used as an input to the walking pattern generator that will calculate the footsteps of the robot in real time, and also as an input to the impedance controller that will compute the desired pulling force according to this reference velocity. Fig. 5 shows the simulation results for a walking task with $x_d = [4.0 \ 0.0 \ 0.0]^T$ when the robot starting position is $x_i = [0.0 \ 0.0 \ 0.0]^T$. A maximal velocity of 0.10 and 0.15 m/step for the $X$ and $Y$ directions, respectively, and 5 deg/step for the orientation angle are set to the walking task. It can be seen that the robot reaches the desired position within 80 seconds and also that the walking task is able to correct the drift generated by the hose.

## V. EXPERIMENTAL RESULTS

Fig. 6 shows the feedback control loop used in the experiments. The walking task uses the robot's chest position given by a motion capture system to compute the reference velocity $v_{ref}$ for the walking pattern generator. $v_{ref}$ is also used by the impedance controller to compute the pulling force to be applied. The reference positions for the feet and the center of mass are computed by the walking pattern generator, and the reference position of the left wrist is computed
<figure><img src="image_8.png" /><figcaption>Fig. 6. This scheme describes the feedback loop used to control the humanoid robot HRP-2. With $\mathbf{p}^{\text{ref}}$ as the user defined pose, $\mathbf{v}^{\text{ref}}$ as the velocity computed from the walking task, $\mathbf{p}_c^{\text{ref}}$ as the center of mass reference trajectory, $\mathbf{p}_f^{\text{ref}}$ as the feet reference trajectories, $\mathbf{q}^{\text{ref}}$, $\dot{\mathbf{q}}^{\text{ref}}$ being respectively the generalized position and velocity vector, $\mathbf{p}_{lw}^{\text{ref}}$ as the reference left wrist position, $\mathbf{f}_{lw}$, $\mathbf{p}_w$, $\mathbf{p}_{lw}$, $\mathbf{p}_f$, $\mathbf{p}_{ch}$ being respectively the measures of the left wrist force sensor, the waist position, the left wrist position, the feet position and the chest position.</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>Fig. 5. Robot's waist trajectory in simulation. In (a) position in X direction, in (b) position in Y direction and in (c) yaw angle.</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>Fig. 7. Snapshots of the experiment on the HRP-2 robot pulling a fire hose.</figcaption></figure>

by the hybrid controller (note that the walking and pulling tasks are decoupled). These reference positions are sent to a task generator which will shape the data into a quadratic problem (QP) with linear constraints. A standard QP solver is in charge of computing the solution, i.e. the whole body trajectory. This generalized inverse kinematics framework called *Stack of Tasks* [11] combines all the blocks inside the green square from Fig. 6. The control framework uses the robot's forward kinematics to compute the current positions of the robot bodies, and the force sensors information to give feedback to the system.

The fire hose used in this work has a weight of 1.8 kg/m (without water inside), and a total length of 30 meters. It is empty and rolled up into a reel which is fixed to the floor, as shown in Fig. 1(a).

The robot will pull the hose only in its forward walking direction, i.e. the diagonal elements of matrix W in equation (2) are $w_{11} = \beta$, $w_{22} = 0.0$, and $w_{33} = 0.0$, where $\beta$ is a

constant. Using a motion capture system composed of 10 infrared cameras (Motion Analysis Corp. [12]), the position of the robot's chest is tracked on real time, with a sampling frequency of 200 Hz. The experiment was successfully reproduced 4 times out of 8 trials, with different starting positions/postures of the robot for each trial. The runs where the robot loses balance are considered as failures. The desired position given to the walking task is $\mathbf{x}_d = [1.0 \ 1.5 \ 0.0]^T$ with a tolerance of 5 cm in X and Y direction and 5 deg for the yaw angle. This means that the robot will stop walking when all of the errors are within the tolerance value. The walking task is set with a maximal velocity of 0.1 and 0.15 m/step for the X and Y directions, respectively, and 5 deg/step for the yaw angle. The step duration is fixed and lasts 0.8 s.

Fig. 7 shows snapshots of one of the experiments carried out on the HRP-2 humanoid robot, and Fig. 8 shows the corresponding robot's chest trajectory tracked by the motion
<figure><img src="image_11.png" /><figcaption>Fig. 8. Robot's chest trajectory in experiment. In (a) position in X direction, in (b) position in Y direction and in (c) yaw angle.</figcaption></figure>

capture system.<fnref n="1" /> In this case the robot's starting position is $x_c = -1.1$ m, $y_c = 1.56$ m. It can be seen that the robot reaches the desired position/orientation, having walked more than 2 m while pulling the fire hose. The change in the robot's orientation from Fig. 7(c) to (d) can be observed if we carefully look at the orientation of the feet. Also, the pulling movement of the robot's left arm can be appreciated by looking at the position of the left arm's elbow in Fig. 7(d).

Furthermore, Fig. 9(a) shows the magnitude of the force applied by the hose on the left wrist of the robot. The moments at which the robot is pulling can be recognized by the peaks on the graph. Also, Fig. 9(b) shows the Z axis direction component of the force applied on each of the robot's ankles. Here it can be easily appreciated the single and the double support phases, at which the hose is being pulled.

Additionally, Fig. 10(a) shows the magnitude of the force applied by the hose on the left wrist of the robot for the experiment where no impedance control is being applied i.e. the robot's joint angles of the left arm are fixed during all the experiment. Here, it can be observed that the force applied on the wrist rapidly increases as the robot starts walking. Also, it can be seen that at the end of the experiment the force applied on the wrist is greater than the initially applied force (the hose gets stretch thus applying a greater force on the robot's wrist), while for the experiment when using the proposed hybrid controller (Fig. 9(a)) the force applied on the wrist decreases to a similar value of the initially applied force (converging to $f_d$). Fig. 10(b) shows the Z axis direction component of the force applied on each of the robot's ankles.

<figure><img src="image_12.png" /><figcaption>Fig. 9. Magnitude of the force applied by the hose on the left wrist in (a) and Z axis direction component of the force applied on each of the robot's ankles in (b) during the whole experiment when using the proposed hybrid controller on the robot's left wrist.</figcaption></figure>

<figure><img src="image_13.png" /><figcaption>Fig. 10. Magnitude of the force applied by the hose on the left wrist in (a) and Z axis direction component of the force applied on each of the robot's ankles in (b) during the whole experiment with the joint angles of the left arm fixed.</figcaption></figure>

It can be observed that the forces applied on the ankles have some rebounds along the experiment, particularly big at the final steps.

Fig. 11 shows the final steps of the Z axis direction component of the force applied on each of the robot's ankles for the experiment when using the proposed hybrid controller, while Fig. 12 shows the final steps for the experiment when the robot's joint angles of the left arm are fixed (without using the proposed hybrid controller). Here it can be observed that when the robot's left arm joints are fixed, the robot suffers some rebounds immediately after

<footnote n="1">¹The video of the experiment can be found in the multimedia attachment.</footnote>
<figure><img src="image_14.png" /><figcaption>Fig. 11. Z axis direction component of the force applied on each of the robot's ankles during the last steps of the experiment when using the proposed hybrid controller on the robot's left wrist.</figcaption></figure>

<figure><img src="image_15.png" /><figcaption>Fig. 12. Z axis direction component of the force applied on each of the robot's ankles during the last steps of the experiment with the joint angles of the left arm fixed (without using the proposed hybrid controller).</figcaption></figure>

each of the foot has landed on the floor. In contrast, for the experiment when using the proposed hybrid controller, it can be observed that there are no rebounds on the feet, since the controller is allowing the left arm to absorb part of the disturbance generated by the hose. This means, that the impedance control on the wrist of the robot contributes to the improvement of the robot's balance when walking while pulling the hose.

## VI. CONCLUSION AND FUTURE WORK

This paper discussed a strategy for a humanoid robot to pull a fire hose while walking towards a desired position and orientation. The main results in this paper are summarized as follows:

1. We proposed a hybrid controller for the robot's wrist holding the fire hose. Position control is used to guarantee no self-collision, while impedance control is employed to pull the hose according to the walking velocity of the robot.

2. Through simulation analysis it was discovered that the hose generates a disturbance on the robot's walking dynamics which in turn produced a drift on the robot's yaw angle.

3. We introduced a walking task to direct the robot to a desired position/orientation and at the same time correct the drift generated when holding the fire hose and walking.

4. We showed experimental results that verified the validity of the proposed controller for pulling the hose and the

walking task introduced to correct the walking direction of the robot.

5. We showed that the proposed hybrid controller applied to the wrist holding the hose contributes to the improvement of the robot's balance when walking while pulling the hose.

In this paper we have demonstrated the capability of a humanoid robot to pull a fire hose. However, as mentioned in section V, the robot has some unstable periods of time that may lead to the robot falling. One possible way to solve this problem is to consider the influence of the hose on the wrist as an external force acting on the robot. In the mathematical formulation of the walking pattern generator external forces can be introduced as an additional acceleration on the center of mass. As future work we will implement this force feedback to balance the robot when walking.

## ACKNOWLEDGMENT

This work was financially supported by the JSPS Strategic Young Researchers Overseas Visits Program for Accelerating Brain Circulation, "Joint research for robots beyond human capacity for emergency handling". This work was also supported by the FP7 Project Koroibot 611909 founded by the European Commission.

## REFERENCES

[1] Y. Hwang, A. Konno, and M. Uchiyama, "Whole body cooperative tasks and static stability evaluations for a humanoid robot," in *Int. Conf. on Intelligent Robots and Systems (IROS)*, 2003, pp. 1901-1906.

[2] K. Harada, S. Kajita, K. Kaneko, and H. Hirukawa, "Pushing manipulation by humanoid considering two-kinds of ZMPs," in *Int. Conf. on Robotics and Automation (ICRA)*, 2003, pp. 1627-1632.

[3] —, "Real-time planning of humanoid robot's gait for force controlled manipulation," in *Int. Conf. on Robotics and Automation (ICRA)*, 2004, pp. 616-622.

[4] T. Takubo, K. Inoue, and T. Arai, "Pushing an object considering the hand reflect forces by a humanoid robot in dynamic walking," in *Int. Conf. on Robotics and Automation (ICRA)*, 2005, pp. 1706-1711.

[5] —, "Pushing operation for humanoid robot using multipoint contact states," in *Int. Conf. on Intelligent Robots and Systems (IROS)*, 2005, pp. 1887-1892.

[6] S. Nozawa, Y. Kakiuchi, K. Okada, and M. Inaba, "Controlling the planar motion of a heavy object by pushing with a humanoid robot using dual-arm force control," in *Int. Conf. on Robotics and Automation (ICRA)*, 2012, pp. 1428-1435.

[7] M. Murooka, S. Nozawa, Y. Kakiuchi, K. Okada, and M. Inaba, "Whole-body pushing manipulation with contact posture planning of large and heavy object for humanoid robot," in *Int. Conf. on Robotics and Automation (ICRA)*, 2015, pp. 5682-5689.

[8] E. Yoshida, P. Blazevic, and V. Hugel, "Pivoting manipulation of a large object: a study of application using humanoid platform," in *Int. Conf. on Robotics and Automation (ICRA)*, 2005, pp. 1040-1045.

[9] K. Harada, S. Kajita, H. Saito, M. Morisawa, F. Kanehiro, K. Fujiwara, K. Kaneko, and H. Hirukawa, "A humanoid robot carrying a heavy object," in *Int. Conf. on Robotics and Automation (ICRA)*, 2005, pp. 1724-1729.

[10] M. Naveau, M. Kudruss, O. Stasse, C. Kirches, K. Mombaur, and P. Souères, "A reactive walking pattern generator based on nonlinear model predictive control," in *IEEE Robotics and Automation Letters (RAL)*, 2016.

[11] N. Mansard, O. Stasse, P. Evrard, and K. A., "A Versatile Generalized Inverted Kinematics Implementation for Collaborative Working Humanoid Robots: The Stack of Tasks," in *Int. Conf. on Advanced Robotics (ICAR)*, 2009, pp. 1-6.

[12] "Motion Analysis." [Online]. Available: http://www.motionanalysis.com