# Contact Optimization for Non-Prehensile Loco-Manipulation via Hierarchical
Model Predictive Control

Alberto Rigo, Yiyu Chen, Satyandra K. Gupta, and Quan Nguyen 1Alberto Rigo,
Yiyu Chen, Satyandra K. Gupta, and Quan Nguyen, are with the Department of
Aerospace and Mechanical Engineering, University of Southern California, Los
Angeles, CA, 90089<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
###### Abstract

Recent studies on quadruped robots have focused on either locomotion or mobile
manipulation using a robotic arm. Legged robots can manipulate heavier and
larger objects using non-prehensile manipulation primitives, such as planar
pushing, to drive the object to the desired location. In this paper, we
present a novel hierarchical model predictive control (MPC) for contact
optimization of the manipulation task. Using two cascading MPCs, we split the
loco-manipulation problem into two parts: the first to optimize both contact
force and contact location between the robot and the object, and the second to
regulate the desired interaction force through the robot locomotion. Our
method is successfully validated in both simulation and hardware experiments.
While the baseline locomotion MPC fails to follow the desired trajectory of
the object, our proposed approach can effectively control both object’s
position and orientation with a minimal tracking error. This capability also
allows us to perform obstacle avoidance for both the robot and the object
during the loco-manipulation task.

##  I INTRODUCTION

Legged robots have great potential to interact with the environment and have
demonstrated significant performance for locomotion, such as high-speed
running and robust walking on challenging terrains [1, 2, 3, 4, 5, 6, 7, 8].
With the existing control and planning algorithms, most applications for
quadruped robots focus on navigation and inspection which always try to avoid
objects/obstacles even if they are movable [9, 10, 11]. In this paper instead,
we are interested in realizing the capability of legged robots leveraging
their body during locomotion to manipulate a heavy object.

In mobile manipulation, robots can exhibit different modes of interaction with
the object. For example, mobile robots equipped with a robotic arm [12, 13,
14, 15, 16] can enable basic manipulation tasks such as door opening, pick-
and-place, and load carrying. However, such setups are limited to small
payload and object dimension due to the payload limit of the portable robot
arm. For legged robots, manipulation with their feet is also an intriguing
idea as quadrupedal animals can use their legs or limbs for manipulation[17,
18]. However, this setup is unsuitable for loco-manipulation tasks, which
require the robot to move and manipulate the object simultaneously because it
requires both locomotion and manipulation. If one of the legs is used for
manipulation, the locomotion task will become challenging for quadruped
robots. Therefore, this paper tackles the problem of loco-manipulation for
quadruped robots using a planar pushing motion. For large and heavy objects,
non-prehensile manipulation such as planar pushing offers excellent
advantages. When the object is too large or too heavy to be grasped, pushing
becomes one of the options to drive it to the desired state. In addition, this
method also allows quadruped robots to manipulate objects without adding an
additional robotic arm.

Figure 1: Motion snapshots of Unitree A1 robot manipulating a $5~{}kg$ object
to follow a circular trajectory.

Pushing is a widely used motion primitive and has been thoroughly studied by
the manipulation community. The mechanics of planar pushing is well-studied in
[19, 20, 21]. Some motion planning algorithms [22, 23] are introduced to find
open-loop trajectories to drive the object to the target pose, assuming that
the manipulator always sticks with the object for the entirety of the push. To
handle the complexity associated with frictional contact interactions, motion
planning algorithms developed by the robotic manipulation community manage to
handle different mode sequences [24, 25, 26]. Nevertheless, these approaches
are computationally heavy due to the nonlinear and non-convex optimization
programs. A recent work in [27] proposes a real-time controller to reason
across different contact modes, including sticking and sliding, using an
online approximation for the offline mix-integer program.

The recent developments on model predictive control for legged robot
locomotion [28, 1, 16] suggest that optimal control action can be computed
online given a proper contact schedule. However, these works mainly focus on
locomotion. To simultaneously achieve locomotion and manipulation tasks, we
propose a novel hierarchical MPC framework including (1) high-level
manipulation MPC to optimize for both contact force and contact location of
the manipulation task; and (2) low-level loco-manipulation MPC to regulate the
interaction force between the robot and the object while maintaining the
desired locomotion performance. Both MPC problems are solved effectively in
real-time. Numerical and experimental validation have shown that our approach
outperform locomotion MPC or heuristic approach for loco-manipulation. Thanks
to the capability of optimizing contact location, our approach can allow
legged robots to manipulate heavy objects effectively with a highly accurate
position and orientation tracking. This also enables the execution of
collision-free trajectory for both the robot and the object.

The rest of the paper is organized as follows. Section II introduces the
object-robot system for non-prehensile body loco-manipulation. Section III
presents the proposed control architecture and the two MPC in detail. Then,
Section IV shows simulation and hardware experiments results. Finally, Section
V draws conclusion remarks.

##  II SYSTEM OVERVIEW

In this paper, we are interested in pushing an arbitrary object, following a
planned trajectory in terms of $x$ and $y$ world frame position and heading
angle $\psi$. We assume we know all the geometric and inertial characteristics
of the object, and we have the feedback on its heading angle and center of
mass position. Due to the limitations of the pushing primitive, to move the
object to the desired location, we have to align its heading angle toward that
location. Leveraging the position tracking of the quadruped robot, we can
optimize the contact point between the robot head and object to push forward
and, at the same time, rotate the object to align the heading angle to the
desired one. Without changing the contact location, we would not be able to
control the heading angle of the object. The nonlinearity of the loco-
manipulation problem is solved by splitting it into two separate linear parts,
the first responsible for determining the required manipulation action to be
exerted on the object; the second responsible for the locomotion under the
effect of the contact interaction.

##  III PROPOSED FRAMEWORK

Figure 2: Control Architecture

The high-level control comprises the swing leg controller and two Model
Predictive Controllers (MPC) in a hierarchical structure, as depicted in Fig.
2. First, the contact optimizer MPC is used to compute the required control
input, i.e., contact force and contact point on the object surface, to drive
the manipulated object to the desired states. Then, the loco-manipulation MPC
is responsible for tracking the planned trajectory for the object-robot system
based on the output of the contact optimizer MPC. The two MPCs use the same
prediction horizon, so the predicted values for the contact interaction by the
contact optimizer MPC are used as inputs for the loco-manipulation MPC.

###  III-A Contact Optimizer MPC

This first controller uses a simplified model of manipulated object dynamics.
In this paper, we are interested in controlling the object’s position and
heading angle. Therefore we can use the following simplified rigid body
dynamics equations:

$\displaystyle m\ddot{\mathbf{p}}_{obj}$
$\displaystyle=\mathbf{f}_{\mu}+\mathbf{f}_{c}$ (1) $\displaystyle
I_{z}\dot{\omega}_{z}$ $\displaystyle=\mathbf{f}_{c}\times\mathbf{d}$ (2)

where $\mathbf{p}$ represents the position of the object in the world frame,
$\mathbf{f}_{\mu}$ is the frictional force between object and ground, and
$\mathbf{f}_{c}$ is the contact force applied to the object by the robot in
world frame, $\omega_{z}$ is the angular velocity of the object in the
vertical direction with respect to its center of gravity, and $\mathbf{d}$ is
the vector between the contact point and object center of mass in world frame.
If we consider the contact force and the contact point as control variables
for the problem, the previous set of equations is nonlinear. We can make some
assumptions and simplifications to use them as model dynamics in a linear MPC.
First, with a small enough MPC frequency update, we can assume that the
contact force will change only by a small amount; hence the contact force used
in the eq. (2) is the known value of force computed at the previous controller
update, $f_{c_{0}}$. Then, we can further assume the contact force
$\mathbf{f}_{c}$ is always in the x-direction of the object body frame,
simplifying the definition of the contact point $\mathbf{d}$. It becomes the
distance from the center of mass of the object in the y direction of the
object body frame, as seen in Fig 3. With these assumptions, equations (2) are
now linear and can be used to represent the object dynamics in the state space
form:

$\dot{x}=Ax+Bu$ (3)

where $x=\begin{bmatrix}\psi&x&y&\omega_{z}&\dot{x}&\dot{y}&g\end{bmatrix}$,
$u=\begin{bmatrix}f_{c}&d\end{bmatrix}$, and the matrices are

$A=\begin{bmatrix}\mathbf{0}_{3\times 3}&\mathbf{I}_{3\times
3}&\mathbf{0}_{3\times 1}\\\ \mathbf{0}_{3\times 3}&\mathbf{0}_{3\times
3}&\begin{bmatrix}0\\\ -\mu\\\ -\mu\end{bmatrix}\\\ \mathbf{0}_{1\times
3}&\mathbf{0}_{1\times 3}&0\end{bmatrix},\quad
B=\begin{bmatrix}\mathbf{0}_{3\times 2}\\\ \begin{bmatrix}f_{c_{0}}&0\\\
0&\cos{\psi}\\\ 0&\sin{\psi}\end{bmatrix}\\\ \mathbf{0}_{1\times
2}\end{bmatrix}.$ (4)

where we assumed that the frictional force $\mathbf{f}_{\mu}$ is expressed as
$-\mu mg$ for both $x$ and $y$ directions, the body frame contact force
$f_{c}$ can be expressed in world frame using a rotation matrix
$\mathbf{R}_{\psi}\in\mathbb{R}^{2}$, and $f_{c_{0}}$ is the contact force
computed at the previous controller update.

Figure 3: Object-robot system overview and representation of the offset
trajectory derived from the contact point optimization

We discretize the dynamics model equations, and using a classic quadratic
programming (QP) formulation, we can solve the MPC problem with $N$ horizons
and a cost function

$\min_{\mathbf{x},\mathbf{u}}\sum_{i=1}^{N}(\mathbf{x}_{i+1}-\mathbf{x}_{{i+1}_{ref}})^{T}\mathbf{Q}(\mathbf{x}_{i+1}-\mathbf{x}_{{i+1}_{ref}})+||\mathbf{u}_{i}||\mathbf{R},$
(5)

where we want to minimize the difference between the object’s current and
reference states and the control effort. The reference states of the object
are computed based on the desired trajectory we want it to follow. The MPC
controller solves for the optimal contact force $f_{c}$ and contact point $d$
with respect to dynamic constraints (3) and the following inequality
constraints:

$\displaystyle d_{min}<d<d_{max}$ (6) $\displaystyle 0<f_{c}<F_{max}$ (7)

Here, the first constraint represents limits based on the dimension of the
object, while the second one is used to maintain contact and pushing action
between object and robot and avoid requiring an instantaneous force too large
to ensure the stability of the locomotion. The optimized result of this MPC
alters the loco-manipulation MPC in two ways, explained in the next section.

###  III-B Loco-manipulation MPC

To effectively regulate the desired contact force $f_{c}$ and contact location
$d$ derived from the contact optimizer MPC in Section III-A, we present a
unified loco-manipulation MPC that takes into account these two variables in
the control design. In comparison with the locomotion MPC [1], following are
the main developments of our framework for loco-manipulation.

  * •

Our loco-manipulation MPC takes into account the interaction force $f_{c}$
between the robot and the object in the robot dynamics. Therefore, it can
regulate the desired manipulation force while maintaining desired performance
for locomotion.

  * •

The reference trajectory of the robot locomotion is also automatically updated
based on the desired contact location $d$ as well as real-time feedback of the
object state.

The single rigid body dynamics (SRBD) equations used for MPC are modified as
follows:

$\displaystyle m\mathbf{\ddot{p}}$
$\displaystyle=\sum_{i=1}^{4}\mathbf{f}_{i}-\mathbf{f}_{g}-\mathbf{f}_{c},$
(8) $\displaystyle\frac{d}{dt}\mathbf{I}\mathbf{\omega}$
$\displaystyle=\sum_{i=1}^{4}(\mathbf{r}_{i}-\mathbf{p})\times\mathbf{f}_{i},$
(9)

where $m$ is the robot mass; $\mathbf{p}$ and $\mathbf{r}_{i}$ are the body
position and foot position in the world frame; $\mathbf{I}$ and
$\mathbf{\omega}$ are the rotational inertia tensor of the body and angular
velocity of the body expressed in the body frame. Finally, $\mathbf{f}_{i}$,
$\mathbf{f}_{g}$, and $\mathbf{f}_{c}$ are the vectors for reaction forces,
gravitational forces, and contact force with the object, expressed in the
world frame. Here, the direction of the contact force $\mathbf{f_{c}}$ is
assumed to be constant in body frame, acting in the longitudinal direction,
and needs to be properly expressed in world frame using the rotation matrix of
the body. We don’t include the moment generated by the contact force
$\mathbf{f_{c}}$ in the rotational dynamics equations since it’s magnitude is
small relative to the moment generated by the reaction forces. It would also
be difficult to effectively represent, due to the uncertainty on the contact
point location between robot head and object.

These equations are discretized and used in an MPC formulation with $N$
horizons and a prediction horizon representing a full gait cycle. The MPC is
formulated as a quadratic program (QP) that can efficiently be solved in real-
time. The cost function for the MPC problem is similar to (5). However, in
this case, $x$ represents the states of the robot body, and $u$ represents the
reaction forces on the four feet.

The second difference with respect to a conventional locomotion MPC for legged
robots lies in the definition of the reference states. We take the nominal
reference trajectory for the object-robot system, and we offset it by the
contact point $d$ computed in the contact optimizer MPC. The changes occur
only in the $x-y$ plane trajectory definition, as shown in fig 3. We use the
same prediction horizon for the two MPCs to offset the trajectory by the
optimal distance $d_{i}$ for each horizon and we set the desired yaw angle of
the robot to be equal to the box heading angle. Since we are tracking a
relative position between the robot and the box, the position gains in the
matrix $\vec{Q}$ of the cost function 5 are set to a relatively high value, to
ensure the capability in tracking the contact point location.

##  IV RESULTS

This section presents the validation and results of simulation and hardware
experiments using a Unitree A1 robot. For simplification purposes, we show
results using a box of mass $m$ and known dimensions, but as we showed in the
previous section, the proposed framework is generalizable to an arbitrary
object.

###  IV-A Simulation

The simulation environment used is the Matlab Simscape Multibody package, able
to represent the interaction between robot, object, and ground plane. Both
MPCs prediction horizon is set to $30~{}ms$ with a sampling frequency of
$3~{}ms$, for a total of 10 horizons, in line with other locomotion
controllers. We then use the predicted optimal contact force and contact point
distance for all ten horizons as inputs to the loco-manipulation MPC. The mass
of the box is $5~{}kg$, and the coefficient of friction between the box and
the ground is $0.5$.

First, we present the comparison in performing two tasks between 3 types of
controllers:

  * •

(a) Baseline locomotion MPC with a fixed contact location.

  * •

(b) Locomotion MPC + a heuristic policy to adjust the contact location

  * •

(c) Our proposed controller using hierarchical MPC to optimize for both
contact force and contact location.

To better emphasize the advantage of our proposed approach on contact
optimization, we also investigate a heuristic policy to adjust the contact
location to allow the robot to control the yaw motion of the object. The
heuristic policy commands a positive or negative lateral velocity, in the
robot frame, based on the heading angle direction, to properly change the
contact point and adjust the box direction of motion, as follows:

$v_{y}=v_{y}^{des}\text{sign}(\psi_{box}-\psi_{target})$ (10)

where $\psi_{box}$ is the heading angle of the box, and $\psi_{target}$ is the
heading angle from the current box position to the target. With this policy,
the robot tries to align the box orientation to face the target. To have less
chattering of the robot lateral motion, we used the deadband function instead
of the sign function, leading to a slight decrease in tracking performance.
Moreover, with this policy the robot could fail the task by moving out of the
object dimensions, since there is no constraint to keep the contact within the
limits, unlike in our proposed approach.

Figure 4: Comparison of box’s $x-y$ plane position and heading angle following
a straight line trajectory for the 3 controllers Figure 5: Tracking of the box
velocity with step changes every 2 seconds to the desired velocity

The first task is reaching the desired target location following a straight
line. The results are presented in fig. 4. Here, we can see that the baseline
locomotion MPC fails, while the other two approaches can reach the target. On
the contrary, only the proposed approach can keep the robot in a straight line
toward the target, thanks to the optimized contact point location updating in
real-time based on the dynamics of the box. Moreover, in Fig. 5, we can see
that the proposed controller can effectively track sudden changes in the
desired velocity for the object-robot system, thanks to the optimal values of
contact force computed in the contact optimizer MPC.

Figure 6: Comparison of box’s $x-y$ plane position and heading angle following
a quarter circle trajectory for the three controllers

The next task consists in reaching the desired target while following a curved
trajectory, in this case, one-quarter of a circle. The baseline locomotion MPC
immediately fails, losing contact with the box since there is no policy to
adjust the contact point location and this would not allow to control the
heading angle. With this task, we can highlight the difference between a
controller that considers the manipulated object dynamics and adjusts its
action in real-time and a simple policy for changing the pushing contact
point. Fig. 6 shows the results for this task, and we can see that, while both
controllers can accomplish the task, only our proposed approach can
successfully follow the desired trajectory. This is because the heuristic
controller has the limitations of tracking only the box’s heading angle while
the robot pushes it forward to reach the target. Instead, our proposed
approach shows that it can dynamically change contact points to adjust the box
position and orientation, always maintaining the contact location within the
limits.

Figure 7: Following a collision-free trajectory in an obstacle avoidance
scenario. Box’s $x-y$ plane position and heading angle are shown.

One real-world scenario where our proposed controller can be applied is
pushing an object through a path while avoiding obstacles in the environment.
The obstacle avoidance policy is not the focus of this paper, and we can
assume the desired trajectory is already collision-free. With the following
sets of plots, we want to show the capability of following sharp changes in
the direction of motion, typically occurring in obstacle avoidance. Fig 7
shows our controller’s ability to change the contact point to react quickly to
sharp changes in desired heading angle, unlike the other two controllers that
fails by colliding with the obstacles. One limitation of our approach is that
the desired forward velocity must be tuned down during the turns to facilitate
the motion. While during straight pushing, we can track velocity larger than
0.5 m/s, during a sharp turn, we have to limit it to 0.1 m/s.

###  IV-B Hardware Experiments

For hardware experiments, we use an Unitree A1 robot, with a low friction
head, to avoid sticking between the head and the box surface. The mass of the
box we use in experiments is $5~{}kg$, and we use an estimated coefficient of
friction of 0.2. The heading angle and position feedback for both robot and
box are obtained using an Optitrack motion capture system (MoCap). Since the
tracking precision needed to follow the optimal contact point on the box is
high, we could not rely consistently on the robot’s internal state estimation,
which showed drift in position estimation. The MoCap system comprises 6
Optitrack $\text{Prime}^{X}$ 13W, for improved tracking of ground objects,
with a tracking frequency of $100\text{Hz}$. The trackable surface area by the
MoCap for the hardware experiments is $2\times 2$ meters, limiting the
commanded forward speed to the robot in order to show a long enough control
experiment.

Figure 8: Experimental results obtained with MoCap system during the task of
following a straight line and contact location and contact force computed by
the contact optimizer MPC

The first task consist in following a straight line and maintaining a constant
heading angle, similar to the results shown in the simulation. Fig. 8 shows
the heading angle and $x-y$ plane position of the box. We can see that the
controller can correct the direction of the box to bring it back to the
desired trajectory, even with disturbances and model uncertainties present in
hardware experiments. The optimized contact location is within the limits
imposed by the box dimensions and oscillates around zero to adjust the heading
angle during the experiment. The contact force is higher during the initial
phase, when it needs to accelerate the box, and then settles to a steady state
value needed to keep the box at the desired velocity.

Figure 9: Experimental results obtained with MoCap system during the task of
following a curved trajectory and contact location and contact force computed
by the contact optimizer MPC

The next task is following a curved trajectory with a constant turning
velocity. The results are shown in Fig. 9. Due to an initial swerving off the
trajectory, we have a steady state error in both position and orientation
tracking due to uncertainties in the inertial and frictional quantities of the
box. Still, the tracking results are meaningful, and the optimal contact point
computation allows following the desired trajectory also in hardware
experiments. We can see that it saturates to the maximum value imposed by the
box dimensions when the controller is trying to track the offset error in the
heading angle of the box. Thanks to the predicted values of contact point in
the contact optimizer MPC we can ensure that we keep the contact location
within the box limits.

##  V CONCLUSIONS

In summary, we have presented a practical approach with a hierarchical
structure comprising two MPCs, to solve the challenging problem of body loco-
manipulation. The hierarchical structure allows us to simplify the nonlinear
nature of the problem. We have demonstrated our approach’s effectiveness using
numerical and experimental validations. In simulation, we have shown that the
proposed approach improves to the loco-manipulation problem with respect to
other controllers, thanks to the contact point location and contact force
optimization. This allows the robot to follow diverse trajectories with
changes in velocity and sharp turns, which is helpful in many scenarios. We
also impose constraints on the problem to ensure that the robot is always in
contact with the box, taking into account the dimensions of the object. In
experiments, we have replicated the results obtained in simulation, showing
the successful implementation of contact optimization. We showed our approach
can effectively push a box of $5~{}kg$, accounting for %50 of the robot mass.
In the future, we will extend our framework to consider online obstacle
avoidance through control barrier functions so that the robot can navigate an
environment with obstacles while pushing an object. With this implementation
we could ensure collision free trajectories with online adaptations.

## References

  * [1] J. Di Carlo, P. M. Wensing, B. Katz, G. Bledt, and S. Kim, “Dynamic locomotion in the mit cheetah 3 through convex model-predictive control,” in _2018 IEEE/RSJ international conference on intelligent robots and systems (IROS)_. IEEE, 2018, pp. 1–9.
  * [2] M. Sombolestan, Y. Chen, and Q. Nguyen, “Adaptive force-based control for legged robots,” in _2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_. IEEE, 2021, pp. 7440–7447.
  * [3] F. Jenelten, T. Miki, A. E. Vijayan, M. Bjelonic, and M. Hutter, “Perceptive locomotion in rough terrain–online foothold optimization,” _IEEE Robotics and Automation Letters_ , vol. 5, no. 4, pp. 5370–5376, 2020.
  * [4] T. Miki, J. Lee, J. Hwangbo, L. Wellhausen, V. Koltun, and M. Hutter, “Learning robust perceptive locomotion for quadrupedal robots in the wild,” _Science Robotics_ , vol. 7, no. 62, p. eabk2822, 2022.
  * [5] D. Kim, J. Di Carlo, B. Katz, G. Bledt, and S. Kim, “Highly dynamic quadruped locomotion via whole-body impulse control and model predictive control,” _arXiv preprint arXiv:1909.06586_ , 2019.
  * [6] Q. Nguyen and K. Sreenath, “L 1 adaptive control for bipedal robots with control lyapunov function based quadratic programs,” in _2015 American Control Conference (ACC)_. IEEE, 2015, pp. 862–867.
  * [7] Q. Nguyen, X. Da, J. Grizzle, and K. Sreenath, “Dynamic walking on stepping stones with gait library and control barrier functions,” in _Algorithmic Foundations of Robotics XII_. Springer, 2020, pp. 384–399.
  * [8] Q. Nguyen, A. Agrawal, W. Martin, H. Geyer, and K. Sreenath, “Dynamic bipedal locomotion over stochastic discrete terrain,” _The International Journal of Robotics Research_ , vol. 37, no. 13-14, pp. 1537–1553, 2018.
  * [9] M. X. Grey, A. D. Ames, and C. K. Liu, “Footstep and motion planning in semi-unstructured environments using randomized possibility graphs,” in _2017 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2017, pp. 4747–4753.
  * [10] O. Cebe, C. Tiseo, G. Xin, H.-c. Lin, J. Smith, and M. Mistry, “Online dynamic trajectory optimization and control for a quadruped robot,” in _2021 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2021, pp. 12 773–12 779.
  * [11] H. Dai, A. Valenzuela, and R. Tedrake, “Whole-body motion planning with centroidal dynamics and full kinematics,” in _2014 IEEE-RAS International Conference on Humanoid Robots_. IEEE, 2014, pp. 295–302.
  * [12] G. Xin, F. Zeng, and K. Qin, “Loco-manipulation control for arm-mounted quadruped robots: Dynamic and kinematic strategies,” _Machines_ , vol. 10, no. 8, p. 719, 2022.
  * [13] H. Ferrolho, V. Ivan, W. Merkt, I. Havoutis, and S. Vijayakumar, “Roloma: Robust loco-manipulation for quadruped robots with arms,” _arXiv preprint arXiv:2203.01446_ , 2022.
  * [14] B. U. Rehman, M. Focchi, J. Lee, H. Dallali, D. G. Caldwell, and C. Semini, “Towards a multi-legged mobile manipulator,” in _2016 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2016, pp. 3618–3624.
  * [15] C. D. Bellicoso, K. Krämer, M. Stäuble, D. Sako, F. Jenelten, M. Bjelonic, and M. Hutter, “Alma-articulated locomotion and manipulation for a torque-controllable robot,” in _2019 International Conference on Robotics and Automation (ICRA)_. IEEE, 2019, pp. 8477–8483.
  * [16] J.-P. Sleiman, F. Farshidian, M. V. Minniti, and M. Hutter, “A unified mpc framework for whole-body dynamic locomotion and manipulation,” _IEEE Robotics and Automation Letters_ , vol. 6, no. 3, pp. 4688–4695, 2021.
  * [17] F. Shi, T. Homberger, J. Lee, T. Miki, M. Zhao, F. Farshidian, K. Okada, M. Inaba, and M. Hutter, “Circus anymal: A quadruped learning dexterous manipulation with its limbs,” in _2021 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2021, pp. 2316–2323.
  * [18] Y. Ji, Z. Li, Y. Sun, X. B. Peng, S. Levine, G. Berseth, and K. Sreenath, “Hierarchical reinforcement learning for precise soccer shooting skills using a quadrupedal robot,” _arXiv preprint arXiv:2208.01160_ , 2022.
  * [19] M. T. Mason, “Mechanics and planning of manipulator pushing operations,” _The International Journal of Robotics Research_ , vol. 5, no. 3, pp. 53–71, 1986.
  * [20] S. Akella and M. T. Mason, “Posing polygonal objects in the plane by pushing,” _The International Journal of Robotics Research_ , vol. 17, no. 1, pp. 70–88, 1998.
  * [21] J. Zhou, R. Paolini, J. A. Bagnell, and M. T. Mason, “A convex polynomial force-motion model for planar sliding: Identification and application,” in _2016 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2016, pp. 372–377.
  * [22] K. M. Lynch and M. T. Mason, “Stable pushing: Mechanics, controllability, and planning,” _The international journal of robotics research_ , vol. 15, no. 6, pp. 533–556, 1996.
  * [23] J. Zhou, J. A. Bagnell, and M. T. Mason, “A fast stochastic contact model for planar pushing and grasping: Theory and experimental validation,” _arXiv preprint arXiv:1705.10664_ , 2017.
  * [24] Y. Hou, Z. Jia, and M. T. Mason, “Fast planning for 3d any-pose-reorienting using pivoting,” in _2018 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2018, pp. 1631–1638.
  * [25] J. Z. Woodruff and K. M. Lynch, “Planning and control for dynamic, nonprehensile, and hybrid manipulation tasks,” in _2017 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2017, pp. 4066–4073.
  * [26] M. A. Toussaint, K. R. Allen, K. A. Smith, and J. B. Tenenbaum, “Differentiable physics and stable modes for tool-use and manipulation planning,” 2018.
  * [27] F. R. Hogan and A. Rodriguez, “Reactive planar non-prehensile manipulation with hybrid model predictive control,” _The International Journal of Robotics Research_ , vol. 39, no. 7, pp. 755–773, 2020.
  * [28] J. Li and Q. Nguyen, “Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots,” in _2021 60th IEEE Conference on Decision and Control (CDC)_. IEEE, 2021, pp. 1024–1030.