## Online Walking Motion and Foothold Optimization for Quadruped Locomotion

Alexander W. Winkler
Farbod Farshidian
Michael Neunert
Diego Pardo
Jonas Buchli

IEEE Internation Conference on Robotics and Automation , 2017

www.awinkler.me


### The Footholds' Primary Function is to Help the CoM move

A. Herdt et al, “Online Walking Motion Generation with Automatic Foot Step Placement,” HAL archives-ouvertes, 2010

## Legged Locomotion MOdules

www.awinkler.me


## Optimization Variables

\mathbf{c}^{x,y}(t,\color{red}{\mathbf{a}_i})
$\mathbf{c}^{x,y}(t,\color{red}{\mathbf{a}_i})$
\mathbf{p}_1^{x,y}
$\mathbf{p}_1^{x,y}$
\mathbf{p}_2^{x,y}
$\mathbf{p}_2^{x,y}$
\mathbf{p}_3^{x,y}
$\mathbf{p}_3^{x,y}$
www.awinkler.me

\mathbf{u}
$\mathbf{u}$

## CoP inside Support-Area

\Leftrightarrow
$\Leftrightarrow$
\mathbf{u}(\color{red}{\mathbf{a}})^T \mathbf{n}_i(\color{red}{\mathbf{p}}) + f(\color{red}{\mathbf{p}}) > 0
$\mathbf{u}(\color{red}{\mathbf{a}})^T \mathbf{n}_i(\color{red}{\mathbf{p}}) + f(\color{red}{\mathbf{p}}) > 0$
\mathbf{n}_2
$\mathbf{n}_2$
\mathbf{n}_1
$\mathbf{n}_1$
\mathbf{n}_3
$\mathbf{n}_3$

M. Kalakrishnan et al, “Learning, planning, and control for quadruped locomotion over challenging terrain,” IJRR, 2010

www.awinkler.me

\mathbf{u}
$\mathbf{u}$

## CoP inside Support-Area

\Leftrightarrow
$\Leftrightarrow$
\mathbf{u}(\color{red}{\mathbf{a}})^T \mathbf{n}_i(\color{red}{\mathbf{p}}) + f(\color{red}{\mathbf{p}}) > 0
$\mathbf{u}(\color{red}{\mathbf{a}})^T \mathbf{n}_i(\color{red}{\mathbf{p}}) + f(\color{red}{\mathbf{p}}) > 0$
\mathbf{n}_2
$\mathbf{n}_2$
\mathbf{n}_1
$\mathbf{n}_1$
\mathbf{n}_3
$\mathbf{n}_3$

M. Kalakrishnan et al, “Learning, planning, and control for quadruped locomotion over challenging terrain,” IJRR, 2010

www.awinkler.me

p_1^{RH}
$p_1^{RH}$
p_1^{LF}
$p_1^{LF}$
p_1^{LH}
$p_1^{LH}$
p_1^{RF}
$p_1^{RF}$
www.awinkler.me

\color{red}{\mathbf{u}}^T \mathbf{n}_i(\color{black}{\mathbf{p}}) + f(\color{black}{\mathbf{p}}) > 0
$\color{red}{\mathbf{u}}^T \mathbf{n}_i(\color{black}{\mathbf{p}}) + f(\color{black}{\mathbf{p}}) > 0$

# Thanks!

www.awinkler.me


## Simultaneous Footstep Planning

### Nonlinear Constraint

\mathbf{u}(\color{red}{\mathbf{a}})^T \mathbf{n}_i(\color{red}{\mathbf{p}}) + f(\color{red}{\mathbf{p}}) > 0
$\mathbf{u}(\color{red}{\mathbf{a}})^T \mathbf{n}_i(\color{red}{\mathbf{p}}) + f(\color{red}{\mathbf{p}}) > 0$

1. Modify CoM motion $$\color{red}{\mathbf{a}}$$ so that it can be generated by a CoP           inside the current base of support.

2. Modify base of support by changing the footholds $$\color{red}{\mathbf{p}}$$ to        accommodate the CoM acceleration

www.awinkler.me


## LIP Model to estimate Center-of-Pressure $$u$$

\mathbf{u} \approx \begin{bmatrix} \color{black}{u_x} \\ \color{black}{u_y} \end{bmatrix} = \mathbf{c}(\color{red}{\mathbf{a}}) - \frac{h}{g} \ddot{\mathbf{c}}(\color{red}{\mathbf{a}})
$\mathbf{u} \approx \begin{bmatrix} \color{black}{u_x} \\ \color{black}{u_y} \end{bmatrix} = \mathbf{c}(\color{red}{\mathbf{a}}) - \frac{h}{g} \ddot{\mathbf{c}}(\color{red}{\mathbf{a}})$

S. Kajita et al, “Biped walking pattern generation by using preview control of zero-moment point,” IEEE International Conference on Robotics and Automation, 2003.

www.awinkler.me

\begin{bmatrix} \mathbf{c}(t) \\ \dot{\mathbf{c}}(t) \end{bmatrix} = \sum\limits_{i=1}^5 \begin{bmatrix} t \\ i \end{bmatrix} \color{blue}{\mathbf{a}_i} t^{i-1} + \begin{bmatrix} \color{blue}{\mathbf{a}_0} \\ \mathbf{0} \end{bmatrix}
$\begin{bmatrix} \mathbf{c}(t) \\ \dot{\mathbf{c}}(t) \end{bmatrix} = \sum\limits_{i=1}^5 \begin{bmatrix} t \\ i \end{bmatrix} \color{blue}{\mathbf{a}_i} t^{i-1} + \begin{bmatrix} \color{blue}{\mathbf{a}_0} \\ \mathbf{0} \end{bmatrix}$

## CoM Parametrization

Represent by sequence of fifth-order polynomials

\ddot{\mathbf{c}}[t_k] = \sum\limits_{i=2}^5 i (i-1) \color{blue}{\mathbf{a}_i} t^{i-2} = \frac{g}{h}(\mathbf{c}[t_k,\color{blue}{\mathbf{a}_i}] - \mathbf{u}[t_k])
$\ddot{\mathbf{c}}[t_k] = \sum\limits_{i=2}^5 i (i-1) \color{blue}{\mathbf{a}_i} t^{i-2} = \frac{g}{h}(\mathbf{c}[t_k,\color{blue}{\mathbf{a}_i}] - \mathbf{u}[t_k])$

## Physical Feasiblity

An CoP at $$\mathbf{u}$$ in state $$\mathbf{c}$$ should cause a specific CoM acceleration.

www.awinkler.me


foothold

change

www.awinkler.me

p_1^{RH}
$p_1^{RH}$
p_1^{LF}
$p_1^{LF}$
p_1^{LH}
$p_1^{LH}$
p_1^{RF}
$p_1^{RF}$

foothold

change

www.awinkler.me


## Range Of Motion COnstraint

-\mathbf{r} < \mathbf{p}_i - \mathbf{c} - \color{black}{\mathbf{p}_{i,nom}} < \color{black}{\mathbf{r}} \quad \quad \text{for } i=1,...,4
$-\mathbf{r} < \mathbf{p}_i - \mathbf{c} - \color{black}{\mathbf{p}_{i,nom}} < \color{black}{\mathbf{r}} \quad \quad \text{for } i=1,...,4$
www.awinkler.me


## Tracking Optimized Motion

\Leftrightarrow \ddot{\mathbf{q}}_{j,ref} = \mathbf{J}_j^+ ( \color{red}{\ddot{\mathbf{p}}} - \dot{\mathbf{J}}\dot{\mathbf{q}} - \mathbf{J}_b \color{red}{\ddot{\mathbf{q}}_{b,ref}} )
$\Leftrightarrow \ddot{\mathbf{q}}_{j,ref} = \mathbf{J}_j^+ ( \color{red}{\ddot{\mathbf{p}}} - \dot{\mathbf{J}}\dot{\mathbf{q}} - \mathbf{J}_b \color{red}{\ddot{\mathbf{q}}_{b,ref}} )$
\ddot{\mathbf{p}} = \mathbf{J} \ddot{\mathbf{q}} + \dot{\mathbf{J}} \dot{\mathbf{q}}
$\ddot{\mathbf{p}} = \mathbf{J} \ddot{\mathbf{q}} + \dot{\mathbf{J}} \dot{\mathbf{q}}$
\mathbf{P} = \mathbf{I} - \mathbf{J}_c^+ \mathbf{J}_c
$\mathbf{P} = \mathbf{I} - \mathbf{J}_c^+ \mathbf{J}_c$
\mathbf{\tau} = (\mathbf{P} \mathbf{S}^T)^+ \mathbf{P} ( \mathbf{M}\ddot{\mathbf{q}}_{ref} + \mathbf{C} )
$\mathbf{\tau} = (\mathbf{P} \mathbf{S}^T)^+ \mathbf{P} ( \mathbf{M}\ddot{\mathbf{q}}_{ref} + \mathbf{C} )$

[1] F. Aghili, “A unified approach for inverse and direct dynamics of constrained multibody systems based on linear projection operator,” IEEE T-RO, 2005.

[2] M. Mistry, J. Buchli, and S. Schaal, “Inverse dynamics control of floating base systems using orthogonal decomposition,” IEEE ICRA, 2010

Cartesian $$\to$$ Joint:

Joint+Contacts $$\to$$ Torque $$^{[1,2]}$$:

www.awinkler.me


## Walk

www.awinkler.me