Generation of Locomotion Trajectories for Series Elastic and Viscoelastic Bipedal Robots

IROS 2017
Humanoid and Bipedal Locomotion II
WeBT8.5

Alexander Werner
Wojciech Turlej
Christian Ott

German Aerospace Center (DLR)
Institute for Robotics and Mechantronics

Knowledge for Tomorrow

Motivation


DLR Robot C-Runner
New legged robots have:
What do we want:
  • Use more capabilities of the hardware
  • Efficient use locomotion

Optimal Control Problem

Coordinates: $\displaystyle \qquad \boldsymbol{y} = \begin{bmatrix} \boldsymbol{x} \\ \boldsymbol{q} \end{bmatrix} $
Dynamics:
$\displaystyle \boldsymbol{M}(\boldsymbol{y}) \boldsymbol{\ddot{y}} + \boldsymbol{C}(\boldsymbol{y},\boldsymbol{\dot{y}}) \boldsymbol{\dot{y}} + \boldsymbol{\boldsymbol{g}} = \begin{bmatrix} \boldsymbol{0} \\ \boldsymbol{\tau} \end{bmatrix} + \sum_{i=0}^{N_C} \boldsymbol{J}_{C,i}^T \begin{bmatrix} F_{C,i,T} \\ F_{C,i,N} \end{bmatrix} $
$\displaystyle \boldsymbol{\tau} = \boldsymbol{K} ( \boldsymbol{\theta} - \boldsymbol{q} ) + \boldsymbol{D} (\boldsymbol{\dot{\theta}} - \boldsymbol{\dot{q}}) $
$\displaystyle \boldsymbol{B}\ddot{\boldsymbol{\theta}} = \boldsymbol{\tau}_m - \boldsymbol{\tau} $

Foot and Contact Forces
Contacts Forces:
$\displaystyle 0 \leq F_\textrm{N} \qquad | F_\textrm{T} | \leq F_\textrm{N} \mu \qquad d_\textrm{C,i,N} \geq 0 $
Link side constraints:
  • Joint position
  • Collisions
Actuator constraints:
  • Motor Torque
  • Motor Velocity

Collocation Problem

Parameterization of the trajectory through fourth order B-Spline:
$\displaystyle \begin{bmatrix} \boldsymbol{y} \\ F_{C,T,1} \\ F_{C,N,1} \\ \vdots \\ \boldsymbol{\theta} \end{bmatrix} = \boldsymbol{f}(t,\boldsymbol{p}) $
$\displaystyle \boldsymbol{M}(\boldsymbol{y}) \boldsymbol{\ddot{y}} + \boldsymbol{C}(\boldsymbol{y},\boldsymbol{\dot{y}}) \boldsymbol{\dot{y}} + \boldsymbol{\boldsymbol{g}} = \begin{bmatrix} \boldsymbol{0} \\ \boldsymbol{\tau} \end{bmatrix} + \sum_{i=0}^{N_C} \boldsymbol{J}_{C,i}^T \begin{bmatrix} F_{C,i,T} \\ F_{C,i,N} \end{bmatrix} $
Collocation equality constraint:
$\displaystyle \boldsymbol{\tau} = \boldsymbol{K} ( \boldsymbol{\theta} - \boldsymbol{q} ) + \boldsymbol{D} (\boldsymbol{\dot{\theta}} - \boldsymbol{\dot{q}}) $
Obtain $\tau_m$:
$\displaystyle \boldsymbol{\tau}_m = \boldsymbol{B}\ddot{\boldsymbol{\theta}} + \boldsymbol{\tau} $

Analysis: Hybrid System Aspects

Generic Locomotion planning consists of the coupled problems:
Add complementarity constraint: $$ d_\textrm{C,i,N}(\boldsymbol{y}) \cdot F_\textrm{N} + | \dot{d}_\textrm{C,i,T}(\boldsymbol{y},\dot{\boldsymbol{y}}) | \cdot F_\textrm{N} = 0 $$
Rewrite problem:
  • Relax complementarity constraint $$ | d_\textrm{C,i,N}(\boldsymbol{q}) \cdot F_\textrm{N} + | \dot{d}_\textrm{C,i,T}(\boldsymbol{y},\dot{\boldsymbol{y}}) | \cdot F_\textrm{N} | \leq \beta $$
  • Add virtual dof contact state: $\quad \hat{d}_\textrm{C,i,N}$ $$ \hat{d}_\textrm{C,i,N} \cdot F_\textrm{N} + | \dot{d}_\textrm{C,i,T} | \cdot F_\textrm{N} = 0 \qquad \hat{d}_\textrm{C,i,N} - d_\textrm{C,i,N}(\boldsymbol{y}) = 0 $$

Analysis: Elastic System

Start with a standard model (Spong '87), a flat system:
Equivalent fourth order dynamic system:

$\rightarrow$ Present two second-order systems to solver: Parameterize $\boldsymbol{y}$ and $\boldsymbol{\theta}$

$$ \boldsymbol{\tau} = f( \boldsymbol{y}, \boldsymbol{\dot{y}}, \boldsymbol{\ddot{y}}) \qquad \boldsymbol{\tau_m} = f( \boldsymbol{y}, \boldsymbol{\dot{y}}, \boldsymbol{\ddot{y}}, \boldsymbol{\theta}, \boldsymbol{\dot{\theta}}) $$
Link side: Collocation
Motor side: Inverse Dynamics

Analysis: Viscoelastic Case


Viscoelastic Actuator
Motivation for Viscoelastic Actuator: $$ \boldsymbol{\tau} = \boldsymbol{K} ( \boldsymbol{\theta} - \boldsymbol{q} ) + \boldsymbol{D} ( \boldsymbol{\dot{\theta}} - \boldsymbol{\dot{q}} ) $$

Problem: non-flat model/Redundancy

$$ \boldsymbol{\tau}_m \neq f( \boldsymbol{q}, \boldsymbol{\dot{q}}, \boldsymbol{\ddot{q}}, \boldsymbol{\dddot{q}} ) $$

This approach: Parameterize $\theta$ in collocation problem

$$ \boldsymbol{\tau}_\textrm{m} = f( \boldsymbol{\theta}, \boldsymbol{\dot{\theta}}, \boldsymbol{\ddot{\theta}}, \boldsymbol{q}, \boldsymbol{\dot{q}}) $$

Numeric results: Walking

Numeric Results: Acrobatic Motions

Conclusions

Experimental Validation: Locomotion using new Collocation Scheme

Control: Motor Position Control $$ \boldsymbol{\tau}_m = \boldsymbol{K} ( \boldsymbol{\theta}_d - \boldsymbol{\theta} ) + \boldsymbol{D} (\boldsymbol{\dot{\theta}}_d - \boldsymbol{\dot{\theta}}) $$

Future Work

Questions