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

Full-body To 

Legged Locomotion MOdules

www.awinkler.me

Optimization Variables

\mathbf{c}^{x,y}(t,\color{red}{\mathbf{a}_i})
cx,y(t,ai)\mathbf{c}^{x,y}(t,\color{red}{\mathbf{a}_i})
\mathbf{p}_1^{x,y}
p1x,y\mathbf{p}_1^{x,y}
\mathbf{p}_2^{x,y}
p2x,y\mathbf{p}_2^{x,y}
\mathbf{p}_3^{x,y}
p3x,y\mathbf{p}_3^{x,y}
www.awinkler.me
\mathbf{u}
u\mathbf{u}

Unilateral Contact Forces    

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
u(a)Tni(p)+f(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
n2\mathbf{n}_2
\mathbf{n}_1
n1\mathbf{n}_1
\mathbf{n}_3
n3\mathbf{n}_3

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

www.awinkler.me
\mathbf{u}
u\mathbf{u}

Unilateral Contact Forces    

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
u(a)Tni(p)+f(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
n2\mathbf{n}_2
\mathbf{n}_1
n1\mathbf{n}_1
\mathbf{n}_3
n3\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}
p1RHp_1^{RH}
p_1^{LF}
p1LFp_1^{LF}
p_1^{LH}
p1LHp_1^{LH}
p_1^{RF}
p1RFp_1^{RF}
www.awinkler.me
\color{red}{\mathbf{u}}^T \mathbf{n}_i(\color{black}{\mathbf{p}}) + f(\color{black}{\mathbf{p}}) > 0
uTni(p)+f(p)>0\color{red}{\mathbf{u}}^T \mathbf{n}_i(\color{black}{\mathbf{p}}) + f(\color{black}{\mathbf{p}}) > 0

How to Satisfy

?

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
u(a)Tni(p)+f(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}})
u[uxuy]=c(a)hgc¨(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}
[c(t)c˙(t)]=i=15[ti]aiti1+[a00]\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])
c¨[tk]=i=25i(i1)aiti2=gh(c[tk,ai]u[tk])\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}
p1RHp_1^{RH}
p_1^{LF}
p1LFp_1^{LF}
p_1^{LH}
p1LHp_1^{LH}
p_1^{RF}
p1RFp_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
r<picpi,nom<rfor 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}} )
q¨j,ref=Jj+(p¨J˙q˙Jbq¨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}}
p¨=Jq¨+J˙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
P=IJc+Jc\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} )
τ=(PST)+P(Mq¨ref+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