Floating-base Robot Models

Alexander W. Winkler

[ taken from Chapter 1.2 of A.W. Winkler, "Optimization-based motion planning for legged robots", PhD Thesis, ETH Zurich, 2018 ]

\mathbf{\dot{x}} = \mathbf{F}(\mathbf{x}(t), \color{red}{\mathbf{u}(t)})

"Reality" \(\Rightarrow \) Rigid Body Dynamics

\mathbf{M}(\mathbf{q}) \mathbf{\ddot{q}} + \mathbf{h}(\mathbf{q}, \mathbf{\dot{q}}) = \mathbf{S}^T \color{red}{\tau} + \mathbf{J}(\mathbf{q})^T \color{red}{\mathbf{f}}
\mathbf{M}_u(\mathbf{q}) \mathbf{\ddot{q}} + \mathbf{h}_u(\mathbf{q}, \mathbf{\dot{q}}) = \mathbf{J}_u(\mathbf{q})^T \color{red}{\mathbf{f}}
\mathbf{M}_a(\mathbf{q}) \mathbf{\ddot{q}} + \mathbf{h}_a(\mathbf{q}, \mathbf{\dot{q}}) = \color{red}{\tau} + \mathbf{J}_a(\mathbf{q})^T \color{red}{\mathbf{f}}
\Leftrightarrow

+ Assumption A1: Bodies do not deform when forces are applied.

Rigid Body Dynamics \(\Rightarrow\) Centroidal Dynamics

\mathbf{M}_u(\mathbf{q}) \mathbf{\ddot{q}} + \mathbf{h}_u(\mathbf{q}, \mathbf{\dot{q}}) = \mathbf{J}_u(\mathbf{q})^T \color{red}{\mathbf{f}}
\mathbf{M}_a(\mathbf{q}) \mathbf{\ddot{q}} + \mathbf{h}_a(\mathbf{q}, \mathbf{\dot{q}}) = \color{red}{\tau} + \mathbf{J}_a(\mathbf{q})^T \color{red}{\mathbf{f}}
\Rightarrow \mathbf{A}(\mathbf{q}) \mathbf{\ddot{q}} + \mathbf{\dot{A}}(\mathbf{q},\mathbf{\dot{q}}) \mathbf{\dot{q}} = \begin{bmatrix} \sum_{i=1}^{4} \color{red}{\mathbf{f}_i} - m \mathbf{g} \\ \sum_{i=1}^{n_i} \color{red}{\mathbf{f}_i}\!\times\!(\mathbf{r}(\mathbf{q})-\color{#1c4587}{\mathbf{p}_i}(\mathbf{q})) \end{bmatrix}

+ zero Assumptions

m \ddot{\mathbf{r}} = \sum_{i=1}^{4} \color{red}{\mathbf{f}_i} - m \mathbf{g}
\mathbf{I}(\theta)\dot{\omega} + \omega\!\times\!\mathbf{I}(\theta) \omega = \sum_{i=1}^{4} \color{red}{\mathbf{f}_i}\!\times\!(\mathbf{r}-\color{#1c4587}{\mathbf{p}_i})

Centroidal Dynamics \(\Rightarrow \) Single Rigid Body Dynamics

Newton-Euler Equations

+ Assumption A2: Momentum produced by the joint velocities is negligible.

+ Assumption A3: Full-body inertia remains similar to the one in nominal configuration.

\mathbf{A}(\mathbf{q}) \mathbf{\ddot{q}} + \mathbf{\dot{A}}(\mathbf{q},\mathbf{\dot{q}}) \mathbf{\dot{q}} = \begin{bmatrix} \sum_{i=1}^{4} \color{red}{\mathbf{f}_i} - m \mathbf{g} \\ \sum_{i=1}^{n_i} \color{red}{\mathbf{f}_i}\!\times\!(\mathbf{r}(\mathbf{q})-\color{#1c4587}{\mathbf{p}_i}(\mathbf{q})) \end{bmatrix}
\Rightarrow

SRBD \( \Rightarrow\) Linear Inverted Pendulum

\Rightarrow \ddot{\mathbf{r}}(t) = \frac{g}{h}(\mathbf{r}(t)- \color{red}{\mathbf{p}_c}(t))
\color{red}{\mathbf{p}_c}
\color{red}{\mathbf{p}_c}

+ Assumption A4: CoM height is constant.

+ Assumption A5: Angular velocity \(\omega\) and acceleration \(\dot{\omega}\) are zero.

+ Assumption A6: Footholds are at constant height \(p_z\)

m \ddot{\mathbf{r}} = \sum_{i=1}^{4} \color{red}{\mathbf{f}_i} - m \mathbf{g}
\mathbf{I}(\theta)\dot{\omega} + \omega\!\times\!\mathbf{I}(\theta) \omega = \sum_{i=1}^{4} \color{red}{\mathbf{f}_i}\!\times\!(\mathbf{r}-\color{#1c4587}{\mathbf{p}_i})
\Rightarrow \color{red}{p_{c,x}} = \frac{\sum_{i=1}^{4} \color{red}{f_{i,z}} \color{#1c4587}{p_{i,x}}} {mg}
\Rightarrow h= r_z - \color{#1c4587}{p_{i,z}}
      (pos) Assumptions
Rigid Body Dynamics (RBD) A1
Centroidal Dynamics (CD) A1
Single Rigid Body Dynamics (SRBD) A1, A2, A3
Linear Inverted Pendulum (LIP) A1, A2, A3, A4, A5, A6
\mathbf{q}_b, \mathbf{q}_j
\mathbf{q}_b, \mathbf{q}_j
\mathbf{r}, \mathbf{\theta},
r_x, r_y
\tau, \mathbf{f}_i
\mathbf{f}_i
\mathbf{f}_i
\mathbf{p}_c
\mathbf{p}_i
\mathbf{x}
\mathbf{\dot{x}} = \mathbf{F}(\mathbf{x}(t), \color{red}{\mathbf{u}(t)})
\mathbf{u}

Centroidal Dynamics Model Comparison

By Alexander W. Winkler

Centroidal Dynamics Model Comparison

PDF: https://www.research-collection.ethz.ch/handle/20.500.11850/272432

  • 1,646