Sensor Applications

Manuscript received XXXX; revised XXXX; accepted XXXX. Date of publication
XXXX; date of current version XXXX.

# On State Estimation for Legged Locomotion over Soft Terrain

Shamel Fahmi1, Geoff Fink2, and Claudio Semini2 Dynamic Legged Systems lab,
Istituto Italiano di Tecnologia (IIT), Genova, Italy.
1Student Member, IEEE 2Member, IEEE Corresponding author: Shamel Fahmi
(e-mail: shamel.fahmi@iit.it).Associate Editor: XXXX XXXX.Digital Object
Identifier 10.1109/LSENS.20XX.0000000

###### Abstract

Locomotion over soft terrain remains a challenging problem for legged robots.
Most of the work done on state estimation for legged robots is designed for
rigid contacts, and does not take into account the physical parameters of the
terrain. That said, this letter answers the following questions: how and why
does soft terrain affect state estimation for legged robots? To do so, we
utilized a state estimator that fuses inertial measurement unit (IMU)
measurements with leg odometry that is designed with rigid contact
assumptions. We experimentally validated the state estimator with the HyQ
robot trotting over both soft and rigid terrain. We demonstrate that soft
terrain negatively affects state estimation for legged robots, and that the
state estimates have a noticeable drift over soft terrain compared to rigid
terrain.

State Estimation, Legged Robots, Soft Contacts

© 2020 IEEE. Personal use is permitted, but republication/redistribution
requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html
for more information.

See pages - of ./includes/dls-cover.pdf

##  1 Introduction

Quadruped robots are advancing towards being fully autonomous as can be seen
by their recent development in research and industry, and their remarkable
agile capabilities [1, 2, 3]. This demands quadruped robots to be robust while
traversing a wide variety of unexplored complex non-flat terrain. The terrain
may not just vary in geometry, but also in its physical properties such as
terrain impedance or friction. Reliable state estimation is a major aspect for
the success of the deployment of quadruped robots because most locomotion
planners and control strategies rely on an accurate estimate of the pose and
velocity of the robot. Furthermore, reliable state estimation is essential,
not only for locomotion (low-level state estimation), but also for autonomous
navigation and inspection tasks that are emerging applications for quadruped
robots (task-level state estimation).

To date, most of the work done on state estimation for legged robots are based
on filters that fuse multiple sensor modalities. These sensor modalities
mainly include high frequency inertial measurements and kinematic measurements
(e.g., leg odometry), as well as other low frequency modalities (e.g., cameras
and lidars) to correct the drift.

For instance, an extended Kalman filter (EKF)-based sensor fusion algorithm
has been proposed by [4] that fuses IMU measurements, leg odometry, stereo
vision, and lidar. In [5], a similar algorithm has been proposed that fuses
IMU measurements, leg odometry, stereo vision, and GPS. In [2], a nonlinear
observer that fuses IMU measurements and leg odometry has been proposed. In
[6], a state estimator fuses a globally exponentially stable (GES) nonlinear
attitude observer based on IMU measurements with leg odometry to provide
bounded velocity estimates. The global stability is important for cases when
the robot may have fallen over whereas typical EKF-based works may diverge.
The bounded velocity estimates help to decrease drift in the unobservable
position estimates. Finally, an approach similar to [6] has been proposed in
[7]. This approach proposed an invariant EKF-based sensor fusion algorithm
that includes IMU measurements, contact sensor dynamics, and leg odometry.

The aforementioned state estimators are shown to be reliable on stiff terrain.
Yet, over soft terrain (as shown in Fig. 1), the performance of these state
estimators starts to decline. Over soft terrain, the state estimator has
difficulties determining when a foot is in contact with the ground. For
instance, the state estimator has difficulties determining if the foot is in
the air, if the foot is applying more force than the terrain (terrain
compression), if the terrain itself is applying more force than the foot
(terrain expansion), or if the foot and the terrain are applying the same
force (rigid terrain). This results in a large position estimate drift, and it
was reported in our previous work [8] where we noted that we encountered
difficulties because of state estimation over soft terrain. Apart from our
previous work, other works also mention that state estimation over soft
terrain is a challenging task, e.g., [9, 10]. Yet, to the authors’ knowledge,
literature has not yet discussed the question on how soft terrain affects the
state estimation.

The contributions of this work are the experimental analysis and formal study
on: the effects of soft terrain on state estimation, the reasons behind these
effects, and simple ways to improve state estimation. This letter is building
upon our previous work on soft terrain adaptation [8] and on state estimation
[6].

The rest of this letter is organized as follows: Section 2 describes the robot
model, the onboard sensors, and how to estimate the ground reaction forces
(GRFs) acting on the robot. Section 3 explains the state estimator used in
this letter, and how to estimate the base velocity of the robot using leg
odometry. Section 4 details the results of our experiment and demonstrates how
soft terrain affects state estimation. Finally, Section 5 presents our
conclusions.

Figure 1: HyQ traversing multiple terrains of different compliances.

##  2 Modeling, Sensing, and Estimating

In this letter, we consider the quadruped robot HyQ [11] shown in Fig. 1. Each
leg has three actuated joints. Despite experimenting on a specific platform,
the problem is generic in nature and it applies equally to any legged robot.
Furthermore, by using the $90$ kg HyQ robot, a heavy and strong platform, we
are exciting more dynamics.

We introduce the following reference frames: the body frame $\mathcal{B}$
which is located at the geometric center of the trunk (robot torso), and the
navigation frame $\mathcal{N}$ which is assumed inertial (world frame). The
basis of the body frame are orientated forward, left, and up. To simplify
notation, the IMU is located such that the accelerometer measurements are
directly measured in $\mathcal{B}$.

Kinematics and Dynamics. Assuming that all of the external forces are exerted
on the feet, the dynamics of the robot is

$M(\bar{x})\ddot{\bar{x}}+h(\bar{x},\dot{\bar{x}})=\bar{\tau}$ (1)

where
$\bar{x}=\begin{bmatrix}x^{T}&\eta^{T}&q^{T}\end{bmatrix}^{T}\in\mathbb{R}^{18}$
is the generalized robot states, $\dot{\bar{x}}\in\mathbb{R}^{18}$ is the
corresponding generalized velocities, $\ddot{\bar{x}}\in\mathbb{R}^{18}$ is
the corresponding generalized accelerations, $x\in\mathbb{R}^{3}$ is the
position of the base, $\eta\in\mathbb{R}^{3}$ is the attitude of the base,
$q\in\mathbb{R}^{12}$ is the vector of joint angles of the robot,
$M\in\mathbb{R}^{18\times 18}$ is the joint-space inertia matrix, $h$ is the
vector of Coriolis, centrifugal and gravity forces,
$\bar{\tau}=(\begin{bmatrix}0&\tau^{T}\end{bmatrix}^{T}-JF)\in\mathbb{R}^{18}$,
$\tau\in\mathbb{R}^{12}$ is the vector of actuated joint torques,
$J\in\mathbb{R}^{18\times 12}$ is the floating base Jacobian, and
$F\in\mathbb{R}^{12}$ is the vector of external forces (i.e., GRFs).

We solve for the GRFs $F_{\ell}$ of each leg $\ell$ using the actuated part of
the dynamics in (1).

$F_{\ell}=-\alpha_{\ell}(J_{\ell}^{T}(q_{\ell}))^{-1}(\tau_{\ell}-h_{\ell}(\bar{x}_{\ell},\dot{\bar{x}}_{\ell}))$
(2)

$F_{\ell}\in\mathbb{R}^{3}\subset F$ is the GRFs for $\ell$ in $\mathcal{B}$,
$J_{\ell}\in\mathbb{R}^{3\times 3}\subset J$ is the foot Jacobian of $\ell$,
$\tau_{\ell}\in\mathbb{R}^{3}\subset\tau$ is the vector of joint torques of
$\ell$, $h_{\ell}\in\mathbb{R}^{3}\subset h$ is the vector of centrifugal,
Coriolis, gravity torques of $\ell$ in $\mathcal{B}$, and
$\alpha_{\ell}\in\\{0,1\\}$ selects if the foot is on the ground or not. A
threshold of $F_{\ell}$ is typically used to calculate $\alpha_{\ell}$.

$\alpha_{\ell}=\begin{cases}1&||(J_{\ell}^{T})^{-1}(\tau_{\ell}-h_{\ell})||>\epsilon\\\
0&\text{otherwise}\end{cases}$ (3)

where $\epsilon>0\in\mathbb{R}$ is the threshold.

###### Assumption 1

There exists a force threshold $\epsilon$ that determines if the foot is in
contact with the environment.

The translational and rotational kinematics, and the translational dynamics of
the robot as a single rigid body in $\mathcal{N}$ are

$\displaystyle\dot{x}^{n}=v^{n}$ $\displaystyle\dot{v}^{n}=a^{n}+g^{n}$
$\displaystyle\dot{R}^{n}_{b}=R^{n}_{b}S(\omega^{b})$ (4)

where $x^{n}\in\mathbb{R}^{3}$, $v^{n}\in\mathbb{R}^{3}$,
$a^{n}\in\mathbb{R}^{3}$ are the position, velocity, and acceleration of the
base in $\mathcal{N}$, respectively, $R_{b}^{n}\in\operatorname{SO}(3)$ is the
rotation matrix from $\mathcal{B}$ to $\mathcal{N}$, and $\omega^{b}$ is the
angular velocity of the base in $\mathcal{B}$. The skew symmetric matrix
function is $S()$.

Sensors. The modeling assumes that the quadruped robot is equipped with a six-
axis IMU on the trunk (3 Degrees of Freedom (DoFs) gyroscope and 3 DoFs
accelerometer), and that every joint contains an encoder and a torque sensor.
The accelerometer measures specific force $f_{s}^{b}\in\mathbb{R}^{3}$

$f_{s}^{b}=a^{b}+g^{b}$ (5)

where $a^{b}\in\mathbb{R}^{3}$ is the acceleration of the body in
$\mathcal{B}$ and $g^{b}\in\mathbb{R}^{3}$ is the acceleration due to gravity
in $\mathcal{B}$. The gyroscope directly measures angular velocity
$\omega^{b}\in\mathbb{R}^{3}$ in $\mathcal{B}$. The encoders are used to
measure the joint position $q_{i}\in\mathbb{R}$ and joint speed
$\dot{q}_{i}\in\mathbb{R}$. The pose of each joint (i.e., the forward
kinematics) is assumed to be exactly known. The torque sensors in the joints
directly measure torque $\tau_{i}\in\mathbb{R}$.

The measured values of all of the sensors differ from the theoretical values
in that they contain a bias and noise: $\tilde{x}=x+b_{x}+n_{x}$ where
$\tilde{x}$, $b_{x}$, and $n_{x}$ are the measured value, bias, and noise of
$x$, respectively. All of the biases are assumed to be constant or slowly
time-varying, and all of the noise variables have zero mean and a Gaussian
distribution.

##  3 State Estimator

To compare the effect of different terrains, we use the state-of-the-art low-
level state estimator from [6]. It includes input from three proprioceptive
sensors: an IMU, encoders, and torque sensors. For reliability and speed no
exteroceptive sensors are used. The state estimator consists of three major
components: an attitude observer, leg odometry, and a sensor fusion algorithm.

Non-linear Attitude Observer. Typically in the quadruped robot literature an
EKF is used for attitude estimation, e.g., [4, 5, 12]. However, our attitude
observer [6] is GES, and it consists of a non-linear observer (NLO) [13] and
an eXogeneous Kalman Filter (XKF) [14]. The NLO is

$\displaystyle\begin{split}\dot{\hat{R}}^{n}_{b}&=\hat{R}^{n}_{b}S(\omega^{b}-\hat{b}^{b})+\sigma
K_{p}J_{s}(\hat{R}^{n}_{b})\\\
\dot{\hat{b}}^{b}&=\operatorname{Proj}\left(\hat{b}^{b},-k\operatorname{vex}\left(\mathbb{P}\left({\hat{R}^{nT}_{bs}}K_{p}J_{s}(\hat{R}^{n}_{b})\right)\right)\right)\\\
J_{s}(\hat{R}^{n}_{b})&=\sum_{j=1}^{k}(y_{j}^{n}-\hat{R}^{n}_{b}y_{j}^{b}){y_{j}^{b}}^{T}\end{split}$
(6)

where $K_{p}\in\mathbb{R}^{3\times 3}$ is a symmetric positive-definite gain
matrix, $k>0\in\mathbb{R}$ is a scalar gain, $\sigma\geq 1\in\mathbb{R}$ is a
scaling factor, $\hat{R}^{n}_{bs}=\operatorname{sat}(\hat{R}^{n}_{b})$, the
function $\operatorname{sat}(X)$ saturates every element of $X$ to $\pm 1$,
$\operatorname{Proj}$ is a parameter projection that ensures that
$||\hat{b}||<M_{b}$, $M_{b}>0\in\mathbb{R}$ is a constant known upper bound on
the gyro bias, $\mathbb{P}(X)=\frac{1}{2}(X+X^{T})$ for any square matrix $X$,
and $J_{s}$ is the stabilizing injection term. The observer is GES for all
initial conditions assuming there exists $k>1$ non-collinear vector
measurements, i.e., $\left|y_{i}^{n}\times y_{j}^{n}\right|>0$ where
$i,j\in\\{1,\cdots,k\\}$. Furthermore, if there is only one measurement the
observer is still GES if the following persistency of excitation (PE)
condition holds: if there exist constants $T>0\in\mathbb{R}$ and
$\gamma>0\in\mathbb{R}$ such that, for all $t\geq 0$,
$\int_{t}^{t+T}y_{1}^{n}(\tau)y_{1}^{n}(\tau)^{T}\mathop{d\tau}\geq\gamma I$
holds then $y_{1}^{n}$ is PE. See [13] for proof.

The XKF [14] is similar to an EKF in that it linearizes a nonlinear model
about an estimate of the state and then applies the typical linear time-
varying (LTV) Kalman filter (KF) to the linearized model. If the estimate is
close to the true state then the filter is near-optimal. However, if the
estimate is not close to the true state, the filter can quickly diverge. To
overcome this problem, the XKF linearizes about a globally stable exogenous
signal from a NLO. The cascaded structure maintains the global stability
properties from the NLO and the near-optimal properties from the KF. The
observer is

$\displaystyle\begin{split}\dot{\hat{x}}&=f_{x}+C(\hat{x}-\breve{x})+K\left(z-h_{x}-H(\hat{x}-\breve{x})\right)\\\
\dot{P}&=CP+PC^{T}-KHP+Q\\\ K&=PH^{T}R^{-1}\end{split}$ (7)

where $C=\left.\partial f_{x}/\partial{x}\right|_{\breve{x},u}$,
$H=\left.\partial h_{x}/\partial{x}\right|_{\breve{x},u}$,
$\breve{x}\in\mathbb{R}^{n}$ is the bounded estimate of $x$ from the globally
stable NLO. See [14] for the stability proof.

Leg Odometry. Leg odometry computes the overall base velocity $\dot{x}^{b}$ of
the robot by combining the contribution of each foot velocity
$\dot{x}_{\ell}^{b}$. Each leg $\ell$ only contributes to the leg odometry
when it is in contact $\alpha_{\ell}$. Thus, we calculate the overall base
velocity $\dot{x}^{b}$ as

$\dot{x}_{\ell}^{b}=-\alpha_{\ell}\left(J_{\ell}(q_{\ell})\dot{q}-\omega^{b}\times
x_{\ell}^{b}\right)\hskip
20.0pt\dot{x}^{b}=\dfrac{1}{n_{s}}\sum_{\ell}\dot{x}_{\ell}^{b}$ (8)

where $n_{s}=\sum\limits_{\ell}\alpha_{\ell}$ is the number of stance legs.

###### Assumption 2

The leg odometry assumes that the robot is always in rigid contact with the
terrain. This implies that the stance feet do not move in $\mathcal{N}$, there
is no slippage, the terrain does not expand or compress, and the robot does
not jump or fly.

Sensor Fusion. Lastly, the inertial measurements (5) are fused with the leg
odometry (8). The main advantage of decoupling the attitude from the position
and linear velocity is that the resulting dynamics is LTV, and thus has
guaranteed stability properties. i.e., the filter will not diverge in finite
time.

We use a LTV KF with the dynamics (4), the accelerometer (5), and leg odometry
(8).

$\displaystyle\begin{split}\dot{\hat{\underline{x}}}&=f_{\underline{x}}+\underline{K}(\underline{z}-h_{\underline{x}})\\\
\dot{\underline{P}}&=\underline{CP}+\underline{PC^{T}}-\underline{K}\underline{H}\underline{P}+\underline{Q}\\\
\underline{K}&=\underline{P}\underline{H}^{T}\underline{R}^{-1}\end{split}$
(9)

where the state
$\underline{x}=\begin{bmatrix}{x^{n}}^{T}&{v^{n}}^{T}\end{bmatrix}^{T}\in\mathbb{R}^{6}$
is position and velocity of the base, the input
$u=(R_{b}^{n}f_{s}^{b}-g^{n})\in\mathbb{R}^{3}$ is the acceleration of the
base, the measurement $z=R_{b}^{n}x_{\ell}^{b}\in\mathbb{R}^{3}$ is the leg
odometry, $\underline{K}\in\mathbb{R}^{6\times 3}$ is the Kalman gain,
$P\in\mathbb{R}^{6\times 6}$ is the covariance matrix,
$Q\in\mathbb{R}^{6\times 6}$ is the process noise and $R\in\mathbb{R}^{3\times
3}$ is the measurement noise covariance, and

$\displaystyle f_{\underline{x}}=\begin{bmatrix}v^{n}\\\
u\end{bmatrix}\quad\underline{C}=\begin{bmatrix}0_{3}&I_{3}\\\
0_{3}&0_{3}\end{bmatrix}\quad\underline{H}=\begin{bmatrix}0_{3}&I_{3}\end{bmatrix}$

and $I_{3}$ and $0_{3}$ are the $3\times 3$ identity matrix and matrix of all
zeros, respectively.

##  4 Experimental Results

To analyze the differences in state estimation between rigid and soft terrain,
we used HyQ and our state estimator. HyQ has twelve torque-controlled joints
powered by hydraulic actuators. HyQ has three types of on board proprioceptive
sensors: joint encoders, force/torque sensors, and IMUs. Every joint has an
absolute and a relative encoder to measure the joint angle and speed. The
absolute encoder (AMS Programmable Magnetic Rotary Encoder - AS5045) measures
the joint angle when the robot is first turned on, while the relative encoder
(Avago Ultra Miniature, High Resolution Incremental Encoder - AEDA-3300-TE1)
measures how far the joint has moved at every epoch. Every joint contains a
force or torque sensor. Two joints have a load cell (Burster Subminiature Load
Cell - 8417-6005) and one joint has a custom designed torque sensor based on
strain-gauges. In the trunk of the robot there is a fibre optic-based,
military grade KVH 1775 IMU.

We used the state estimator (6)-(9) on the _Soft Trot in Place_ and the _Rigid
Trot in Place_ dataset from the dataset published in [15]. HyQ was manually
controlled to trot on a foam block of $160\times 120\times 20$ cm, and on a
rigid ground. An indentation test of the foam shows the foam has an average
stiffness of 2400 N/m. All of the sensors were recorded at 1000 Hz. A motion
capture system (MCS) recorded the ground truth data with millimetre accuracy
at 250 Hz.

$\tilde{a}^{b}_{z}$ (m/s2) 16,38416,38416,384LFRFRHLH

$\hat{f}^{b}_{z}$ (N) 0003030303030$t$ (s) (a) Rigid Terrain3030303030$t$ (s)
(b) Soft TerrainLH

Figure 2: The $z$ component of the measured specific force $\tilde{a}_{z}^{b}$
(top), and the the estimated ground reaction forces $\hat{f}_{z}^{b}$
(bottom), in the body frame $\mathcal{B}$ of HyQ during a trotting experiment.
The highlighted regions show when the given foot is in stance, and the feet
are denoted as left-front (LF), right-front (RF), left-hind (LH), and right-
hind (RH).

$\hat{x}^{n}$ (m) 16,38416,38416,384$x$$y$$z$

$\hat{x}^{n}$ (m) 16,38416,38416,384$x$$y$$z$

$\hat{v}^{n}$ (m/s) 16,38416,38416,3840000$t$ (s) $x$0000$t$ (s) $y$0000$t$
(s) $z$

$\hat{v}^{n}$ (m/s) 16,38416,38416,3840000$t$ (s) $x$0000$t$ (s) $y$0000$t$
(s) $z$

$\hat{v}^{n}$ (m/s) 16,38416,38416,3843030303030$t$ (s) $x$3030303030$t$ (s)
$y$(a) Rigid Terrain3030303030$t$ (s) $z$

$\hat{v}^{n}$ (m/s) 16,38416,38416,3843030303030$t$ (s) $x$3030303030$t$ (s)
$y$(b) Soft Terrain3030303030$t$ (s) $z$

Figure 3:  The estimated trunk position $\hat{x}^{n}$ (top), and the estimated
trunk velocity $\hat{v}^{n}$ (middle and bottom), in the navigation frame
$\mathcal{N}$ of HyQ during a trotting experiment using sensor fusion (purple)
versus the raw leg odometry (green), and the motion capture system (blue). The
first two rows show the full experiment ($0\leq t\leq 300$) s and the bottom
row is zoomed in ($30\leq t\leq 32$) s.

The experiments confirmed our original hypothesis that soft terrain negatively
impacts state estimation and also allowed us to investigate why. It is
important to note that rigid versus soft terrain had no impact on the attitude
estimation. For space reasons, all attitude plots have been omitted.

The first distinct difference between soft and rigid terrain is the specific
force measurement of the body as seen in Fig. 2. On the rigid terrain there
are large impacts and then vibrations every time a foot touches down. Whereas
the soft terrain damped out these vibrations. Next, on the soft terrain more
prolonged periods of positive and negative acceleration can be seen. This
acceleration can also be seen in the plots of the GRFs in Fig. 2 where the
GRFs on the soft terrain are more continuous when compared to the rigid
terrain. In other words, there are longer loading and unloading phases.

The most important differences between soft and rigid terrain are seen in the
velocity and position estimates as shown in Fig. 3. We can see that the leg
odometry has large erroneous peaks in $z$ velocity at both touch-down and
lift-off. These peaks in velocities can then be seen in the position estimates
as a drift. On the other hand, the $x$ and $y$ position estimates are quite
accurate and only have a slow drift.

In the figures, we can also see multiple of the state estimators assumptions
being broken. First, there does not exist a constant $\epsilon$ that can
describe when the foot is in contact with the ground, which is contradicting
Assumption 1. The contact $\epsilon$ is no longer binary (i.e.,
supporting/not-supporting the weight of the robot), but the contact is now a
continuous value with varying amounts of the robot’s weight being supported
and sometimes even pushed. When trying to use the previous simple model, the
contact ignores a large portion of the loading and unloading phase.
Furthermore, it often chatters rapidly between contact/non-contact when the
force is close to $\epsilon$. Second, the foot is moving for almost the entire
contact (i.e., non-zero acceleration) on soft terrain as shown in Fig. 2. This
contradicts Assumption 2 that the foot velocity is zero when in contact.
Third, (8) is broken. It assumes that all of the velocity (and all of the
acceleration) is a result of the GRFs, but not all of the acceleration due to
gravity is being accounted for. Hence, the robot appears to drift up and away
from the ground.

There are a few simple ways to try to improve the estimates of this or other
similar state estimators. The first is to tune $\epsilon$ in (3). By
increasing $\epsilon$ there would be less erroneous velocity, but in doing so
it would also ignore part of the leg odometry. In general, on a planar
surface, a reduced drift in the $z$ direction comes at the cost of an
increased error in the $x$ and $y$ directions. A second method could be to
have an adaptive velocity bias for the leg odometry. However, the bias is not
constant and it depends on both the gait and the terrain. Thus, the problem of
estimating the body velocity of the robot using leg odometry remains open.

##  5 Conclusions

In this letter, we present an experimental validation and a formal study on
the influence of soft terrain on state estimation for legged robots. We
utilized a state-of-the-art state estimator that fuses IMU measurements with
leg odometry. We experimentally analyzed the differences between soft and
rigid terrain using our state estimator and a dataset of the HyQ robot. That
said, we report three main outcomes. First, we showed that soft terrain
results in a larger drift in the position estimates, and larger errors in the
velocity estimates compared to rigid terrain. These problems are caused by the
broken legged odometry contact assumptions on soft terrain. Second, we also
showed that over soft terrain, the contact with the terrain is no longer
binary and it often chatters rapidly between contact and non-contact. Third,
we showed that soft terrain affects many states besides the robot pose. This
includes the contact state and the GRFs which are essential for the control of
legged robots. Future works include extending the state estimator to
incorporate the terrain impedance in the leg odometry model. Additionally,
further datasets will be recorded to investigate the long-term drift in the
forward and lateral directions.

## References

  * [1] C. Semini, V. Barasuol, M. Focchi, C. Boelens, M. Emara, S. Casella, O. Villarreal, R. Orsolino, G. Fink, S. Fahmi, G. Medrano-Cerda, and D. G. Caldwell, “Brief introduction to the quadruped robot HyQReal,” in _Italian Conference on Robotics and Intelligent Machines (I-RIM)_ , Rome, Oct. 2019, pp. 1–2.
  * [2] G. Bledt, M. J. Powell, B. Katz, J. Di Carlo, P. M. Wensing, and S. Kim, “MIT Cheetah 3: Design and control of a robust, dynamic quadruped robot,” in _Int. Conf. on Intell. Robots and Syst. (IROS)_ , Madrid, Spain, Oct. 2018, pp. 2245–2252, 10.1109/IROS.2018.8593885.
  * [3] M. Raibert, K. Blankespoor, G. Nelson, and R. Playter, “BigDog, the rough-terrain quadruped robot,” _IFAC Proceedings Volumes_ , vol. 41, no. 2, pp. 10 822–10 825, 2008, 10.3182/20080706-5-KR-1001.01833.
  * [4] S. Nobili, M. Camurri, V. Barasuol, M. Focchi, D. Caldwell, C. Semini, and M. Fallon, “Heterogeneous sensor fusion for accurate state estimation of dynamic legged robots,” in _Proc. of Robot.: Sci. and Syst. (RSS)_ , Cambridge, Massachusetts, Jul. 2017, pp. 1–9, 10.15607/RSS.2017.XIII.007.
  * [5] J. Ma, M. Bajracharya, S. Susca, L. Matthies, and M. Malchano, “Real-time pose estimation of a dynamic quadruped in GPS-denied environments for 24-hour operation,” _Int. J. of Robotics Res._ , vol. 35, no. 6, pp. 631–653, 2016, 10.1177/0278364915587333.
  * [6] G. Fink and C. Semini, “Proprioceptive sensor fusion for quadruped robot state estimation,” in _IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_ , Las Vegas, Nevada, Oct. 2020, pp. 1–7.
  * [7] R. Hartley, M. Ghaffari, R. M. Eustice, and J. W. Grizzle, “Contact-aided invariant extended Kalman filtering for robot state estimation,” _Int. J. of Robotics Res._ , vol. 39, no. 4, pp. 402–430, 2020, 10.1177/0278364919894385.
  * [8] S. Fahmi, M. Focchi, A. Radulescu, G. Fink, V. Barasuol, and C. Semini, “STANCE: Locomotion Adaptation over Soft Terrain,” _IEEE Transactions on Robotics_ , vol. 36, no. 2, pp. 443–457, 2020, 10.1109/TRO.2019.2954670.
  * [9] D. Wisth, M. Camurri, and M. Fallon, “Preintegrated velocity bias estimation to overcome contact nonlinearities in legged robot odometry,” in _2020 IEEE International Conference on Robotics and Automation (ICRA)_ , 2020, pp. 392–398, 10.1109/ICRA40945.2020.9197214.
  * [10] B. Henze, R. Balachandran, M. A. Roa–Garzón, C. Ott, and A. Albu–Schäffer, “Passivity analysis and control of humanoid robots on movable ground,” _IEEE Robot. Automat. Lett. (RA-L)_ , vol. 3, no. 4, pp. 3457–3464, Oct. 2018, 10.1109/LRA.2018.2853266.
  * [11] C. Semini, N. G. Tsagarakis, E. Guglielmino, M. Focchi, F. Cannella, and D. G. Caldwell, “Design of HyQ – a hydraulically and electrically actuated quadruped robot,” _Proc. Inst. Mech. Eng. I J. Syst. Control Eng._ , vol. 225, no. 6, pp. 831–849, 2011, 10.1177/0959651811402275.
  * [12] M. Bloesch, C. Gehring, P. Fankhauser, M. Hutter, M. A. Hoepflinger, and R. Siegwart, “State estimation for legged robots on unstable and slippery terrain,” in _Int. Conf. on Intell. Robots and Syst. (IROS)_ , Tokyo, Japan, Nov. 2013, pp. 6058–6064, 10.1109/IROS.2013.6697236.
  * [13] H. F. Grip, T. I. Fossen, T. A. Johansen, and A. Saberi, “Globally exponentially stable attitude and gyro bias estimation with application to GNSS/INS integration,” _Automatica_ , vol. 51, pp. 158–166, 2015, 10.1016/j.automatica.2014.10.076.
  * [14] T. A. Johansen and T. I. Fossen, “The eXogenous Kalman Filter (XKF),” _Int. J. Control_ , vol. 90, no. 2, pp. 161–167, 2017, 10.1080/00207179.2016.1172390.
  * [15] G. Fink, _Proprioceptive Sensor Dataset for Quadruped Robots_. IEEE Dataport, 2019, 10.21227/4vxz-xw05.