ArticlePDF Available

Versatile Dynamic Motion Generation Framework: Demonstration With a Crutch-Less Exoskeleton on Real-Life Obstacles at the Cybathlon 2020 With a Complete Paraplegic Person


Abstract and Figures

Lower-limb exoskeletons are a promising option to increase the mobility of persons with leg impairments in a near future. However, it is still challenging for them to ensure the necessary stability and agility to face obstacles, particularly the variety that makes the urban environment. That is why most of the lower-limb exoskeletons must be used with crutches: the stability and agility features are deferred to the patient. Clinical experience shows that the use of crutches not only leads to shoulder pain and exhaustion, but also fully occupies the hands for daily tasks. In November 2020, Wandercraft presented Atalante Evolution, the first self-stabilized and crutch-less exoskeleton, to the powered exoskeleton race of the Cybathlon 2020 Global Edition. The Cybathlon aims at promoting research and development in the field of powered assistive technology to the public, contrary to the Paralympics where only participants with unpowered assistive technology are allowed. The race is designed to represent the challenges that a person could face every day in their environment: climbing stairs, walking through rough terrain, or descending ramps. Atalante Evolution is a 12 degree-of-freedom exoskeleton capable of moving dynamically with a complete paraplegic person. The challenge of this competition is to generate and execute new dynamic motions in a short time, to achieve different tasks. In this paper, an overview of Atalante Evolution system and of our framework for dynamic trajectory generation based on the direct collocation method will be presented. Next, the flexibility and efficiency of the dynamic motion generation framework are demonstrated by our tools developed for generating the important variety of stable motions required by the competition. A smartphone application has been developed to allow the pilot to choose between different modes and to control the motion direction according to the real situation to reach a destination. The advanced mechatronic design and the active cooperation of the pilot with the device will also be highlighted. As a result, Atalante Evolution allowed the pilot to complete four out of six obstacles, without crutches. Our developments lead to stable dynamic movements of the exoskeleton, hands-free walking, more natural stand-up and turning moves, and consequently a better physical condition of the pilot after the race compared to the challengers. The versatility and good results of these developments give hope that exoskeletons will soon be able to evolve in challenging everyday-life environments, allowing patients to live a normal life in complete autonomy.
Content may be subject to copyright.
Versatile Dynamic Motion Generation
Framework: Demonstration With a
Crutch-Less Exoskeleton on Real-Life
Obstacles at the Cybathlon 2020 With
a Complete Paraplegic Person
Vaiyee Huynh
*, Guillaume Burger
, Quoc Viet Dang
, Raphaël Pelgé
, Guilhem Boéris
Jessy W. Grizzle
, Aaron D. Ames
and Matthieu Masselin
Wandercraft Company, Paris, France,
Department of Electrical Engineering and Computer Science, University of Michigan, Ann
Arbor, MI, United States,
Department of Mechanical and Civil Engineering, California Institute of Technology, Pasadena, CA,
United States
Lower-limb exoskeletons are a promising option to increase the mobility of persons with
leg impairments in a near future. However, it is still challenging for them to ensure the
necessary stability and agility to face obstacles, particularly the variety that makes the
urban environment. That is why most of the lower-limb exoskeletons must be used with
crutches: the stability and agility features are deferred to the patient. Clinical experience
shows that the use of crutches not only leads to shoulder pain and exhaustion, but also
fully occupies the hands for daily tasks. In November 2020, Wandercraft presented
Atalante Evolution, the rst self-stabilized and crutch-less exoskeleton, to the powered
exoskeleton race of the Cybathlon 2020 Global Edition. The Cybathlon aims at promoting
research and development in the eld of powered assistive technology to the public,
contrary to the Paralympics where only participants with unpowered assistive technology
are allowed. The race is designed to represent the challenges that a person could face
every day in their environment: climbing stairs, walking through rough terrain, or
descending ramps. Atalante Evolution is a 12 degree-of-freedom exoskeleton capable
of moving dynamically with a complete paraplegic person. The challenge of this
competition is to generate and execute new dynamic motions in a short time, to
achieve different tasks. In this paper, an overview of Atalante Evolution system and of
our framework for dynamic trajectory generation based on the direct collocation method
will be presented. Next, the exibility and efciency of the dynamic motion generation
framework are demonstrated by our tools developed for generating the important variety of
stable motions required by the competition. A smartphone application has been
developed to allow the pilot to choose between different modes and to control the
motion direction according to the real situation to reach a destination. The advanced
mechatronic design and the active cooperation of the pilot with the device will also be
highlighted. As a result, Atalante Evolution allowed the pilot to complete four out of six
obstacles, without crutches. Our developments lead to stable dynamic movements of the
exoskeleton, hands-free walking, more natural stand-up and turning moves, and
Edited by:
Navinda Kottege,
Commonwealth Scientic and
Industrial Research Organisation
(CSIRO), Australia
Reviewed by:
Edo Jelavic,
ETH Zürich, Switzerland
Enrico Mingo Hoffman,
Italian Institute of Technology (IIT), Italy
Vaiyee Huynh
Specialty section:
This article was submitted to
Field Robotics,
a section of the journal
Frontiers in Robotics and AI
Received: 11 June 2021
Accepted: 31 August 2021
Published: 24 September 2021
Huynh V, Burger G, Dang QV, Pelgé R,
Boéris G, Grizzle JW, Ames AD and
Masselin M (2021) Versatile Dynamic
Motion Generation Framework:
Demonstration With a Crutch-Less
Exoskeleton on Real-Life Obstacles at
the Cybathlon 2020 With a Complete
Paraplegic Person.
Front. Robot. AI 8:723780.
doi: 10.3389/frobt.2021.723780
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237801
published: 24 September 2021
doi: 10.3389/frobt.2021.723780
consequently a better physical condition of the pilot after the race compared to the
challengers. The versatility and good results of these developments give hope that
exoskeletons will soon be able to evolve in challenging everyday-life environments,
allowing patients to live a normal life in complete autonomy.
Keywords: lower-limb exoskeleton, self-balanced, optimal control, direct collocation, trajectory generation,
The Cybathlon 2020 Global Edition is a championship that
gathered fty-one teams from all over the world in six
disciplines: powered arm prosthesis, brain-computer interface,
powered exoskeleton, functional electrical stimulation bike (PNF
et al. (2020)), powered leg prosthesis and powered wheelchair
(ofcial website: The aim of the
Cybathlon is to promote research and development in the eld
of powered assistive technology to the public (Erdmann et al.
(2020)). Since the rst edition in 2016 (Erdmann et al. (2020)),
the Cybathlon organization has worked hard to dene the
obstacles of the races representing everyday challenges for
people with disabilities and to set up a fair competition.
The use of lower-limb exoskeletons is not common because
they are not yet adapted to face the complex environment that
surrounds us, but they promise a real difference in comparison
to wheelchairs. For people who spend their life seated,
exoskeletons could improve their physical and psychological
health. Most of the exoskeletons for paraplegic persons or for
rehabilitation purposes (Chen et al. (2016);Kapsalyamov et al.
(2019);Kalita et al. (2020)) require external support
mechanisms such as crutches or canes, and only a few of
them are self-balanced (e.g., REX (Contreras-Vidal and
Grossman (2013))). Having an exoskeleton without crutches
is a real challenge because the robot is mainly responsible for the
performances of the walk such as the balance and the speed.
Some hardware compromises need to be made for instance
between the weight of the machine, the stability control and
motion requirements (Rupal et al. (2017)). Wandercraft decided
to design and develop crutch-less exoskeletons, such as
Atalante, to provide autonomy as much as possible to its
walk and dynamic motions to the patient whose weight can
be up to 90 kg (Agrawal et al. (2017);Harib et al. (2018);Gurriet
et al. (2018)). We adapted and improved Atalante software and
interfaces to compete in the powered exoskeleton race: this gives
birth to Atalante Evolution the robot we presented at the
Cybathlon championship, with Kevin Piette as pilot.
The powered exoskeleton race designed by the Cybathlon
team is composed of six tasks (Figure 1): 1- Sit and Stand
task, stand up from a sofa and stack cups on a table; 2-
Slalom task, slaloming between tables; 3- Rough Terrain task,
cross an uneven terrain; 4- Stairs task, going up and down six
steps; 5- Tilted path task, cross a tilted terrain of 16°with synthetic
grass; 6- Ramp and Door task, ascend a 20°slope, open and close a
door, and descend a 15°slope. Every task scores a number of
points in function of how hard the obstacle is, and the winner is
the fastest team with the highest score. Of all competing
exoskeletons presented in this race, only Wandercrafts
Atalante Evolution presented without crutches.
This is the rst time that a crutch-less exoskeleton enters the
EXO race and tries to go through the obstacles. For the 2020s
edition, we decided to focus on four tasks over the six (Figure 2):
Sit and Stand task, Slalom task, Stairs task and Ramp and Door
task. Two reasons motivated this decision. First, the timings were
short so we decided to focus our resources on a subset. Second,
our hardware made some tasks very challenging. The ankle
amplitude in the frontal plane was not sufcient to walk on
the tilted plane while keeping the feet at on the surface. Likewise,
the sole of the feet was not appropriate to walk on an uneven
terrain while using the force sensors.
FIGURE 1 | EXO race track from Cybathlons rules.
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237802
Huynh et al. Efcient Framework for Dynamic Motion Generation
Analyzing the chosen tasks, we decomposed them in essential
but challenging motions such as:
1) Position oneself precisely in front of obstacles: multi-
directional steps.
2) Stand up from a soft and low seat.
3) Changing walking direction quickly, in narrow spaces while
keeping stability.
4) Going up and down with limited ankle joints range and soles
longer than the steps of the staircase.
5) Going up a 20°slope and going down a 15°slope with limited
ankle joints range.
To achieve these motions, new features were implemented and
a new user interface was developed to improve the usability of the
device in a short time. Thus, releasing a new feature implies:
1) generate new dynamic motion trajectories using a Direct
Collocation algorithm (section 3),
2) execute them on Atalante Evolution (section 4),
3) iterate with the pilot to improve the stability and the uidity of
the motion (subsection 4.2).
Ordinary life for extraordinary people. This is the leitmotiv
of Wandercraft. We believe that freeing the hands is important
for a lower-limb exoskeleton: having gestures or manipulating
things while standing or walking should be possible for everyone.
The environment around us is highly non-standardized and the
exoskeleton should be the vehicle that takes people with leg
impairments out. In this context, it is extremely important to
be able to address very quickly any new environment. In this
paper, we begin with an overview of Atalante Evolution hardware,
the control architecture and the smartphone application as user
interface, for mode selection and movement direction control.
Our framework for dynamic motion generation based on the
direct collocation method will be then presented. Next, the
exibility and efciency of this framework are proved by our
tools developed for generating the important variety of stable
motions required by the competition. By efciency,wemean
our capacity to handcraft and adjust new trajectories quickly for
a user. We described the results we obtained for the new features
and how we succeed to make them stable and comfortable
jointly with the pilot. We conclude with the importance to
FIGURE 2 | (A) Sit and Stand task; (B) Slalom task; (C) Stairs task; (D) Ramp and Door.
FIGURE 3 | 3D rendering (left) and kinematic tree (right) of the Atalante
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237803
Huynh et al. Efcient Framework for Dynamic Motion Generation
continue improving stability and dynamic motions for Atalante
and for any future crutch-less exoskeletons that allow a person
to face any obstacle of the urban environment in complete
2.1 Atalante Evolution Exoskeleton
Atalante, in reference to the Greek heroine of running, has been
developed and improved all along the company life and the
current version is the fth iteration. For its nominal use in
rehabilitation centers, a winch is required to ensure the
security of the patient and a physiotherapist shall assist them,
for instance by helping them to install in the exoskeleton.
Atalante Evolution is outside the medical context and was
developed as a prototype with improved features. The security
of the pilot remains our priority, that is why four spotters are
required around them during the race to replace the use of a
winch. In the rules of the race, if any spotter touches the pilot
during the performance, the task is considered failed.
The robot weighs 82 kg and it has 12 degrees of freedom
(Figure 3), fully actuated by 12 electric motors. It can reproduce
the human gait in an anthropomorphic way: three actuators at
each hip reproducing the human motion around sagittal,
transverse and frontal axes (Figure 4), one actuator at each
knee around the sagittal knee axis and two actuators at each
ankle around sagittal and subtalar axes (Lux (2018))(Figure 5).
On the hips and the knees, each motor is directly coupled to one
reducer to actuate one axis. The reduction is made with
Harmonic Drive gearboxes. The ankle transmission is a
parallel mechanism: two motors are necessary to actuate
jointly two ankle axes. The power transmission is made
through a screw balls and rods on each motor output and
the reduction factor is variable and needs to be computed for
each position. Two 48 V batteries power them. It is equipped
with electronic boards and sensors to control and compute the
motions. The displacement and velocity of each actuated joint
are measured by a digital encoder mounted on the
corresponding motor. Four low-cost Inertial Measurement
Units (IMU) are mounted in the exoskeleton: one attached to
the patient torso on the jacket, one in the exoskeletonspelvis
and one in each leg of the exoskeleton above the ankles. It has
been shown in Vigne et al. (2020) that these IMU were enough
to estimate correctly the mechanical deformations. In addition,
under each sole, four 1-axis force sensors are mounted to detect
ground contact.
To t the patients lower limbs, the exoskeletons legs are
manually adjustable. The exoskeleton has seven body interfaces to
fasten the user:
three fasteners with straps per leg (thigh, leg, and foot),
designed to avoid high-pressure areas and that can rotate to
adapt to each morphology,
a jacket with hip foams to maintain the users upper body to
the exoskeletons back.
2.2 Control System Architecture Overview
The control system architecture is mainly composed of three
components: the High Level Controller, the Low Level Controller
and the robot system (Figure 6).
FIGURE 4 | Denition of the subtalar axis.
FIGURE 5 | Denition of the subtalar axis.
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237804
Huynh et al. Efcient Framework for Dynamic Motion Generation
The High Level Controller (HLC) computes the target joint
positions q
,velocities _
qtand accelerations
qtto give to the Low
Level Controller (LLC). The targets could come from a task
manager with an inverse kinematics algorithm or from a
trajectory manager with a controller that executes the
trajectories. In this paper, we focus on the trajectory part
only. One trajectory corresponds to one motion with a
speciccontactconguration (see Section 3). The trajectory
is considered as nished when an impact is detected through the
force sensors or when the whole trajectory is executed. In case of
walking or stepping and to absorb the shock of the impact on the
oor, the ankles are compliant during the impact period before
tracking the reference trajectory again. A kinematic Model
Predictive Controller (kMPC) is used to ensure the
continuity of the targets and smooths the output trajectory.
The associated cost function minimizes the joint position,
velocity, acceleration, and jerk errors while respecting
boundary constraints.
The LLC is the layer that controls all the joints. Each joint is
position controlled and has a proportional-derivative-integrator
controller that converts the errors between target joint positions,
velocities and the measured ones (·
) to torques for the motors of
the robot system following this equation:
τ: joint torque
and K
: proportional, derivative and integrative gains
e: joint position error
The HLC runs at 200 Hz whereas the LLC and the sensor
feedback from the physical system run at 1 kHz.
2.3 A Smartphone Application: CybAGUI
Atalante Evolutions system includes CybAGUI (Cybathlon
Atalante Graphical User Interface) application which is
provided with a smartphone wrapped around the pilots wrist
(Figure 7). CybAGUI is an Android application that does not
FIGURE 6 | Atalante Evolutions control architecture overview schema.
FIGURE 7 | Kevin Piette at EXO race of Cybathlon Global Edition 2020 in
Slalom task.
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237805
Huynh et al. Efcient Framework for Dynamic Motion Generation
need any network to work, except Bluetooth to communicate
with Atalante Evolution. It replaces the standard remote control
of Atalante, and provides access to modes which are not available
on the regular product (slalom, stairs, ... ).
The displayed menu changes depending on the current state of
the exoskeleton, showing valid transitions. Atalante Evolution has
a sitting and a standing idle mode. These modes are crossroads of
the state machine to switch from mode to mode. From SITTING
mode (Figure 8A), the accessible modes are:
TRANSFER mode allows the pilot to transfer from his
wheelchair to Atalante Evolution, or vice versa, by
opening the legs widely.
STANDUP mode allows the pilot to switch from sitting to
standing posture.
From STANDING mode (Figure 8B), the accessible modes are:
MOVE mode allows the pilot to make steps in six directions.
Step length and step number are adjustable.
RAMP mode allows the pilot to walk up or to walk down
Cybathlon ramps with Atalante Evolution.
STAIRS mode allows the pilot to walk up or to walk down
Cybathlon stairs with Atalante Evolution.
EXERCISE mode allows the pilot to move his upper body to
the sides and down while remaining stable and comfortable.
SITDOWN mode allows the pilot to switch from standing to
sitting posture.
For every action, the pilot selects the associated mode on
CybAGUI and then, leans forward or on one side to trigger the
FIGURE 8 | Atalante Evolutions idle modes (CybAGUI views): (A) Sitting mode; (B) Standing mode.
FIGURE 9 | Architecture of our direct collocation implementation.
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237806
Huynh et al. Efcient Framework for Dynamic Motion Generation
motion by using the IMU on the jacket that measures the
orientation and the velocity of the pilots torso.
Trajectory generation for humanoid robots is quite challenging.
The generation algorithm must handle domains with different
contact congurations, provide a trajectory satisfying balance
conditions, and respect hardware constraints like joint
amplitudes, maximum joint velocities and maximum motor
torques. In particular on Atalante Evolution, the joint
amplitudes are mechanically limited, not to harm the pilot, and
can be more constraining than on other bipedal robotics platforms.
We have the following requirements for our generation
framework. It has to provide an efcient way of handling
problems with general costs and constraints. The computation
time has to be reasonably low, in order to iterate quickly with
experiments on the hardware. The framework must be exible in
order to easily tackle different motion tasks and obstacle setups.
The framework also has to work with the full model of the robot,
so that kinematic and dynamic constraints are taken into account
precisely. The direct collocation method (Hargraves and Paris
(1987);Denk and Schmidt (2001);Hereid et al. (2016);Harib
et al. (2018)) has proven to fulll these requirements.
Other methods for trajectory generation exist. A common
approach for humanoid robots relies on the Linear-Inverted-
Pendulum model (LIPM) (Kajita et al. (2003)). In this model, the
robot dynamics is approximated by the one of its center of mass
(CoM), evolving at a constant altitude. The resulting control
system being linear, the trajectory generation problem for the
CoM is efciently solved by a linear-quadratic regulator (LQR).
In a second step, trajectories are manually generated for the foot
and the pelvis poses, then the full joint trajectory is computed
through inverse kinematics. Due to limited joint amplitudes and
velocities, this two-step process leads to failures in the generation
and restricted motion amplitude. To ensure the comfort of the
user of the exoskeleton, we need to add important constraints to
the allowed accelerations. This increases the probability of inverse
kinematics failures. Moreover, since the full dynamics of the
system are not considered (in particular the inertia of the pelvis
and legs) in this generation, the nal trajectory is not guaranteed
to be stable. In practice for Atalante Evolution a very small
deviation of the CoM trajectory results in important deviations
of the center of pressure (CoP) and thus to theoretically unstable
trajectories. Finally, since the generation method is considering
only the CoM dynamics and the joint trajectory is computed with
inverse kinematics, there is no direct mean to control the motor
torques and experimentally, this can result in infeasible motions.
Approaches using centroidal dynamics and contact optimization
have been proposed, in particular for quadrupeds (Winkler et al.
FIGURE 10 | Stand and sit trajectory generation framework.
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237807
Huynh et al. Efcient Framework for Dynamic Motion Generation
(2018)). They lead to successful trajectory generation on complex
terrains, but they dont allow to put constraints on joint torques
nor precise leg kinematics.
Other methods are able to use the full model, in order to take
the dynamic effect of all bodies into account. In the single-
shooting method, the control input is discretized and the
trajectory is found by direct integration of the dynamics
equations (Westervelt et al. (2007)). However, this approach is
known to be sensitive to initial conditions. Differential dynamic
programming iteratively builds and solves an LQR problem, and
can lead to efcient trajectory generation (Mayne (1966);
Todorov and Li (2005)). However, the method can be sensitive
to local minima, and the handling of general constraints is more
involved. Multiple shooting can also be a relevant option (Diehl
et al. (2006);Schultz and Mombaur (2010);Kudruss et al. (2015)),
with performance expected to be close to the one of direct
3.1 System Modeling
The exoskeleton is represented by a kinematic tree with 13 bodies
linked by 12 revolute joints, represented in Figure 3. Kinematic
and inertial parameters for each link are deduced from the CAD.
A kinematic tree with the same structure is generated to represent
the pilots kinematics. A database of mass distribution for
humans taken from (Winter (2009)) provides a relationship
between the inertial parameters of each limb. Starting from
this data, the pilots mass, height and leg segment sizes are
used to estimate the mass and inertia of each link. The links
representing the pilot are then fused with the ones of the
exoskeleton, to provide a dynamic model of the {exoskeleton +
pilot} system. We use a oating-base representation of the
exoskeleton, with the pelvis link as the root joint. A
conguration of the exoskeleton is represented by a vector
q(rFF,ϕFF ,qj)R18, where rFF R3is the position of the
oating-base, ϕFF R3are the Euler angles describing its
orientation, and qjR12 are the angular position of the
actuated joints.
An exoskeleton motion is modeled as a sequence of domains
with different contact constraints. Examples of contact constraints
are: single support on a foot at on the oor, double support with
both feet at on the oor, rolling contacts around the heel or the
toes. In the Cybathlon tasks, the obstacle dimensions are precisely
known in advance, so the sequence of foot positions is determined
before the denition of the optimization problem. The contact
constraints are assumed to be holonomic constraints, which means
that they can be characterized as the vanishing of a kinematic
function, f(q)0. Contact forces are represented by a wrench Fat
the contact location. Inside a domain, the system follows
continuous dynamics given by.
q+G(q) Bu+J(q)TF(2)
where _
qare velocity and acceleration vectors, D(q)is
the inertia matrix, G(q) is the gravity contribution, C(q,_
account for inertial effects, Bis the actuation matrix mapping
torques to actuated degrees of freedom, and J(q)zf/zqis the
Jacobian of the constraint function. The second equation
enforces the holonomic constraint f(q)0at the
acceleration level.
We use a rigid contact model with the oor (Hurmuzlu and
Marghitu (1994);Hereid et al. (2016)). When a foot hits the oor,
the contact change is assumed to be instantaneous and an impact
modeled with a Dirac contact force occurs. During a change of
constraints form f
(q)0, the system undergoes
discrete dynamics, given by.
D(qI)( _
where q
Iis the pre-impact conguration, q+
Iis the post-impact
conguration, F
is amplitude of the impulse force, from which
the post-impact velocity _
Ican be deduced.
A particular move is modeled as a motion graph GD,E.A
vertex dDcorresponds to a domain with a xed set of contact
constraints, and continuous dynamics given by Eqs. 2,3. An edge
eErepresents a transition between two domains d
and d
including impact dynamics Eqs. 4,5if relevant. The transition is
modeled by a linkage constraint
FIGURE 11 | Pilot standing-up from the sofa.
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237808
Huynh et al. Efcient Framework for Dynamic Motion Generation
where q
and _
qdare the model trajectories in domain d, and
Fd1d2,I is the impulse force produced by the impact. In order to
be able to execute walk steps in a repetitive manner, the motion
graph usually contains cycles. In order to enforce cyclicity
constraints, the linkage constraint is modied. For example, to
enforce a forward-walking motion, the robot conguration qd2(0)
is replaced by Tuqd2(0), where Tuis the operator translating a
robot conguration by a vector u. This approach also allows to
handle various motions such as displacements in different
directions, turning behaviors, standing up and sitting down
motions, and to simplify the motion graph by removing
redundant symmetric domains. Specic graphs of motions
developed during EXO race of Cybathlon 2020 Global Edition
are shown in section 4.2.
3.2 Optimal Control Problem
Once the structure of the graph has been dened as above, one
has to determine the precise shape of the trajectory in each
domain. The idea of formulating a motion as the result of an
optimization problem has led to successful results (Pandy and
Anderson (2000);Hereid et al. (2016)). In general, we consider
an optimal control problem (OCP) similar to the following:
under the constraints.
continuous dynamics: Eqs. 2,3
impact dynamics/linkage constraints: Eqs. 4,56
domain duration: T
initial posture: q
(0) q
for dD
nal posture: q
for dD
joint limits: q
joint velocity limits: _
joint acceleration limits:
joint torque limits u
power limit: PL_
friction cone and CoP stability condition: Cd(qd(t),Fd(t)) 0
The precise denitions of the costs and constraints are specic
to each task.
3.3 Direct Collocation Method
In order to solve the OCP given in Eq. 7,weusethedirect
collocation approach, in an implementation similar to
(Hereid et al. (2016)). The problem in continuous time is
transcribed into a nite-dimensional non-linear optimization
problem. For each domain, we introduce a sequence of N
nodes, 0 t0<t1<... <tNdTd. Decision variables are
introduced to represent the value of the continuous
variables in Eq. 7 ateachnode.Thisyieldsasetof
optimization variables {Td,qd,i,_
express the relationship between a quantity xand its
derivative _
must be transcribed. This is done by applying a quadrature
formula on each interval [t
]. We use the Hermite-
Simpson scheme.
xi+1/2 +_
xi+1/2 1
2(xi+xi+1) Δti
where Δt
. The Hermite-Simpson scheme requires the
introduction of additional times t
and the corresponding
decision variables q
, etc. The same quadrature formula is used
to evaluate the integral cost in Eq. 7.
All decision variables are stacked into a vector zRn. The
transcription of the constraints and the cost in Eq. 7 yields the
following non-linear optimization problem
where f:RnRis the objective function, c:RnRpis the
equality constraint function, g:RnRmis the inequality
constraint function. In a typical move generation, the number
of variables n, and the number of constraints pand m, are of the
order of ten thousand. The non-linear program Eq. 11 is solved
using the state-of-the art solver IpOpt (Wachter et al. (2005-
2021);Wachter and Biegler (2006)). The non-linear problem is
solved in less than a minute. Statistics for the optimization
problems on the different moves are shown in Supplementary
Table S1.
3.4 Implementation Architecture
To ensure fast computation and compatibility with our internal
tools, we have implemented our direct collocation library in C++.
However, since the trajectory generation is mostly done ofine
and not directly on the robot, we created bindings in Python.
Upon this Python API, we created a wrapper class that allows us
not only to quickly dene domains and our scenario but also to
tune easily the different parameters. There exist two types of
parameters: solver parameters which remain unchanged and
physical parameters of the motion that we need to tune. The
general architecture is summarized in Figure 9. We describe each
of our optimization problem in a Python script using this
To dene an Optimal Control Problem (OCP), we start by
dening the list of domains with a xed set of contact constraints.
In each domain we dene which variables should be used and the
derivative relationships between them. They can be either
variables varying with time such as the joint positions or
global variables such as the duration of the domain. For
Atalante Evolution we usually use q,_
and the
duration of the domain.
Once the variables and main contact models are dened in
each domain, we need to add constraints and costs to actually
dene which motion we want to execute. The main goal of our
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 7237809
Huynh et al. Efcient Framework for Dynamic Motion Generation
architecture in this step is to make it easy to write and read, with
as much exibility as possible. This was achieved with our main
component: the Function class. A Function denes a holonomic
constraint or an objective. As the name suggests, for a given input
variable, it computes a value. This value can be used as cost and
minimized or as a holonomic constraint and thus be required to
be equal to a certain value or be in a given interval. In addition, it
also computes the associated Jacobian matrix which is necessary
for fast optimisation.
AFunction can be simple, for instance, it can enforce a variable
to a certain value. But it can be more complex. For instance, we
dened several system-specicFunctions to enforce the position
of the CoP or of the feet of the robot. Most of the Functions
specic to Atalante Evolution are highly non-linear and even
non-convex. They are implemented with the fast C++ Dynamics
library Pinocchio (Carpentier et al. (2015-2021);Carpentier et al.
(2019);Carpentier and Mansard (2018)). The necessary Jacobians
are computed analytically. In particular, Pinocchio provides
partial derivatives of kinematic and dynamic functions.
For each domain we can then use our Function library to apply
constraints or add costs to each domain. To do so, we can choose
to apply them on the variables all over the domain: e.g., Pelvis
vertical velocity should never go above 3 cm/s during all the
domain.We can also apply the function only at some points of
the trajectory (dened by percentage of the domain duration):
e.g., Left foot should be above 4 cm at 50% of the domain.This
strategy is in particular useful to dene the constraints between
two domains. We can indeed dene some continuity constraints
between the variables at the end of a domain and the variables at
the beginning of another one. But more complex transitions are
possible, for instance for the transition between a left and a right
step in the walk pattern, we dene a Function to enforce the
following constraints:
The oating-base has moved forward by the desired step
The joint positions, velocities and accelerations are
Once the OCP is correctly dened, a direct collocation
transcriptor will transcribe it into a Non-Linear Program that can
be solved with IpOpt [Wachter et al. (2005-2021),Wachter and
Biegler (2006)] using MA27 linear solver. To do so, the variables
varying with time along a domain are discretized according to
section 3.3. The cost and constraints are applied either to a
specic node or to all the nodes of the domains if required.
4.1 Introduction of the Trajectory
Generation Process
In the Cybathlon tasks, the rst step has been to identify the
different motions that were necessary. Many of them were not
implemented on the commercial version of Atalante. Among
them, some are quite obvious such as climbing steps or ramps, or
standing up from a low sofa. However, other ne displacements,
such as side steps, were also necessary to position the exoskeleton
precisely along the obstacles and accomplish all the tasks.
For each movement, we dened the sequence of domains to
execute. Each domain has a constant set of contact constraints
(see section 3). The most common types are double support
phases where both feet are at on the oor and single support
where one foot is at on the oor and the other foot is moving. A
simple displacement is a succession of these types of domains. But
there can be a more complex contact set. For instance for going
down stairs, in some domains one foot is at on the step and the
other rolls around a given edge.
We have dened common basic sets of constraints for each
type of contact model. In particular, the physical constraints of
Atalante Evolution exoskeleton such as torque and joint limits are
included. This allows us to create the basis of any scenario quite
efciently. Then we can add constraints in each domain and
between them to enforce the actual motion that we want.
When our problem is correctly dened, we can write down the
domains with their respective constraints and cost in a Python
script using the interface we have described in the previous
sections. When the solver has converged, we have several
graphical tools to analyse the result before actually testing it
on the exoskeleton. In particular, we use the graphical robot
viewer developed by the Gepetto team of the LAAS (Mirabel et al.
(20142021)) to watch the trajectory.
In each movement that we generate, we choose some physical
parameters arbitrarily, for instance the maximum foot height
during a step, or the duration of a double support phase. We need
to nd the parameters that guarantee the full autonomy of the
pilot while efciently satisfying the task requirements. Depending
on the complexity of the task, the number of parameters can go
from 2 to 10. In order to nd those parameters, we have an
experimental phase during which we will iteratively test different
sets of parameters. In each iteration, we update the parameters
and we check the result with our graphical tools. If satised, we
test it on the exoskeleton with an able-bodied subject, and then we
iterate with our pilot when the trajectory is mature enough. The
goal is to nd stable, robust and comfortable movements for
the pilot.
The development time for a new gait varies depending on its
complexity. However, we can estimate to around 1 week the typical
time necessary to write down a complex optimization problem and
another week to test it on the exoskeleton and adjust the constraints
and parameters to the reality with the paraplegic pilot.
For the different motions, we have computed key performance
indicators (KPIs) to show how they perform. Those indicators are
taken from the Memmo projects benchmarking criteria
(Morchionni (2018)) based on Torricelli et al. (2015). We have
computed on relevant motion sequences the following indicators:
Duration of the sequence T
Travelled distance D,
Velocity vD/T
Forces measured by the feet sensors,
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 72378010
Huynh et al. Efcient Framework for Dynamic Motion Generation
Cost of transport CoT TM
t0(Emechanical +
Eelectrical)dt/GMD which is a dimensionless ratio and
denes the energy efciency to travel the sequence, with
Mthe mass of the system exoskeleton with its pilot,
Froude number Frv/
(also called dimensionless gait
velocity) which represents the ratio between the kinetic
energy and the potential energy and is used to study
dynamic walking patterns similarities between robots and
animals of different sizes, with gthe gravitational constant,
and lthe leg length.
Those values are only considered as indicators. They are not
given as cost in the optimization but indirectly optimized. We
indeed try to nd the fastest possible gait with the hardware,
stability and comfort limitations detailed in the next subsections.
Likewise, the energy is indirectly minimized by the cost used in
the optimization on the motor torques.
4.2 Motions Generation for Cybathlons
4.2.1 Sit and Stand Motions
The rst obstacle of the race consists of sitting on a sofa then
standing up (see Figure 2A). When seated, the CoM of the robot
with user is behind the heels. When standing up, the polygon formed
by the feet becomes the stability polygon. Statically, with no external
force, it is therefore not possible to stand up. Moreover, the sofa is
much lower than the standard seat we use for our product and the
pilot can only help the motion with one armrest. We worked on this
generation problem to nd trajectories that keep the robot balanced
while standing up using the dynamics and the help of the pilot.
To ensure the motion is balanced, we choose to use the CoP as
cost of the optimisation all along the motion. With this cost, the
dynamic effects will move the CoP forward and bring it as fast as
possible inside the stability polygon of the feet. On the other hand,
the external force provided by the user is not added to the model.
Moving forward the CoP toward the support polygon will indeed
result in a reduction of the users efforts.
The trajectory generation starts with generating a standing
posture, which will be the initial (resp. nal) posture of the sit-
down (resp. stand-up) trajectory and dene the feet position - which
shall not move during the trajectory. This posture depends on the
patient leg measurements. The taller the patient, the more the feet
will be spread. Some additional parameters to dene the initial and
nal conditions or the joint bounds are added as constraints to the
direct collocation problem. Figure 10 denes the state machine
schema of the sit-down and stand-up trajectory generation.
During the training sessions, we have iterated on several
parameters to improve the quality of the motion and decrease
the user effort necessary to keep the exoskeleton balanced. In
particular, we had to nd a compromise between the different
costs: CoP, torque and acceleration. The initial pelvis pitch
velocity is also an important parameter as it synchronises the
robot with the user pelvis impulse when triggering the motion.
The result of the motions executed by our Cybathlon pilot is
visible in Figure 11 and Supplementary Figure S1.
4.2.2 Multi-Directional Steps
During all the tasks, we need to be able to position precisely the
exoskeleton. The other challengers rely heavily on their crutches to do
so. The pilots use their arms to transfer their weight on one leg and
then use their torso to trigger the desired displacement. We can see
the teams do with this technique 180°turns, some back or side steps.
Without crutches, we need the exoskeleton to do the same ne
displacements on its own. At the time the Cybathlon race took
place, the only movements already generated in the commercial
version of Atalante were a rotation movement and forward
straight walk. We therefore needed to evaluate which
movements were necessary to implement for the competition,
assess which ones were possible to execute on the robot and
nally generate and tune each of them.
We explored the possibility to have steps in 8 directions
(forward, backward, sideways and the 4 associated diagonals).
However, having so many directions turned out to be difcult to
control and learn for the pilot. It brought a lot of mental load and
a small gain in time in the different tasks. We nally decided to
use forward, backward and side displacements only, in addition
to the rotations.
We also realized that we usually had two opposite objectives.
On the one hand, we need to go fast to realize each task in the
minimum of time. For this objective, we need long steps with a
high cadence. On the other hand, when coming close to an
obstacle or reaching a spot to start another motion, we must be as
precise as possible. For the specic case of the back steps, we also
needed to walk backward slowly when passing through the door
to catch the handle and close the door.
For the forward displacement, the walk movement is already
present and optimized on the robot. So we will focus in this
section on the other movements.
Each displacement is be generated as a sequence of domains
with the two feet (at) on the oor and domains with only one
foot (at) on the oor. During the domains with two feet on the
oor, the exoskeleton transfers its CoP toward the foot which is
the next support foot. During the domains with only one foot on
the oor, the robot makes steps in the required direction.
Let us rst focus on the back steps. In this trajectory, the robot
rst executes a starting right step. During this step, its right foot
will move backward by half of the desired step length. Then the
robot will execute alternatively left and right steps which move
the appropriate foot backward by the desired step length. When
required by the user, the exoskeleton will execute a stopping step
which brings the two feet back to their nal positions and stops
the displacement.
The generation is done according to the state graph in
Supplementary Figure S2. We can emphasize the fact that we
exploit the symmetry of the problem and do not explicitly
generate the trajectories for all the domains. We generate the
domains in green in Supplementary Figure S2. To simulate the
domains in white we add a specic constraint between the cyclic
left stepand the cyclic weight transfer to leftdomains. This
constraint species that the positions and velocities of the joints
should be continuous with their symmetric counterpart. This
allows to generate fewer domains, but nally have the full
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 72378011
Huynh et al. Efcient Framework for Dynamic Motion Generation
movement by symmetrization of the generated domains. Besides,
this ensures that we generate a symmetrical walk.
The result of the movement executed by our Cybathlon pilot is
visible on Supplementary Figure S3.
The lateral displacement cannot follow this pattern because
the displacement is not in the sagittal plane. If we take the
example of side steps to the right, the exoskeleton will rst
realize a right step during which it will move its right foot to
the right. Then it will bring back its left foot close to the right one.
It will repeat this pattern until the pilot orders to stop.
The displacement to the left is done with the same pattern
symmetrized. For the rotations, the step pattern will be the same
but during the rst step, instead of moving sideways the foot will
be required to turn.
The generation is done with the state graph in Supplementary
Figure S4. We can note that here we need to generate all the
domains as there is no symmetry. But we can generate only one
displacement direction and symmetrize it to obtain the
displacement in the opposite direction.
The result of the movement executed by our Cybathlon pilot is
visible on Supplementary Figure S5.
With those patterns decided, we can generate trajectories and
start the parameters tuning phase on Atalante Evolution. The
objective is to nd the trajectories which require less cooperation
efforts (or even no effort at all) from the pilot. The main challenge
for tuning the parameters originates from the robots structural
deformations that occur during the trajectory. Main
deformations have been identied to occur at the level of the
ankles and the hips (Vigne et al. (2020)). They have two main
The CoM does not follow the expected trajectory, thus
harming the predicted stability of the movements.
The steps are not fully executed and the impacts are detected
before the end of the generated trajectory and the controller
switches to the next domain earlier than planned.
To compensate for those effects, we add offsets on the
generated centroidal trajectory to increase the stability. We
also constrain the foot trajectory at the end of the steps. The
goal is to have smooth impacts (both for stability and comfort)
and prevent the foot to slip on the oor at the domain transition.
Another objective when tuning the parameters is to have a
movement that is comfortable for the pilot. One example of
parameters tuned with this objective is the duration of the weight
transfer phases between two steps. We initially set those domains
to have a duration of around 0.5 s. However, the experiments
showed that so long weight transfer phases gave an impression of
feet glued to the oor. To have an impression of a real dynamic
motion, we needed to reduce the duration to 0.1 s.
Some key performance indicators about the back steps, side
steps and rotations can be found respectively in Supplementary
Tables S2, S3, S4.
4.2.3 Slalom
In certain situations in daily life, it is required to move around
obstacles in order to avoid collisions with obstacles on the path or
to reach a certain destination. The slalom task is a challenge from
the EXO race during which the pilots have to negotiate a slalom
composed of three tables plus a coat rack aligned with 1 m
distance between each of them, see Figure 2B. The state
machine of the slalom walking gait is shown in
Supplementary Figure S6. Only the 7 phases in green are
generated, and the other phases are obtained by the matching
phase. The walking specications such as stride length of 30 cm,
step width of 28 cm and step duration of 1 s are set on the basis of
experimental results with the pilot. A longer stride length is
observed to be less stable. A shorter step duration makes the walk
less comfortable and more difcult to keep stable for the pilot
because of the higher frequency of stronger impacts with the
oor. The step width is chosen to avoid the collision of the two leg
shells during the walk. The swing foot clearance of at least 6 cm is
set at the mid-step. The impact of the swing foot with the oor has
been regulated with near-zero forward and lateral velocities to
limit the transmission of vibrations from the exoskeleton to the
pilot which causes an uncomfortable sensation. For the turning
walk, no constraints imposed the radius of curvature in our
approach because a predened radius of curvature is usually
unknown in almost every real situation. Therefore, the only
constraint on the torso yaw is set to 30°after two domains of
the turning walk. This value is chosen to achieve a stable and
comfortable turning walk in the limit of the transverse hip joint.
The pilot-exoskeleton cooperative strategy is a key to accomplish
the slalom task. The pilot can modify the radius of the turning
motion by putting his weight on the support leg or on the swing
leg. He also decides the turning direction, when and how many
times to turn in order to avoid the obstacles via CybAGUI
according to the situation. Supplementary Figure S7
illustrates the autonomous navigation of our pilot to
accomplish the slalom task. Some key performance indicators
can be found in Supplementary Table S5.
4.2.4 Stairs
Stairs are very common in the urban environment. The Stairs
task is a part of the challenge from the EXO race for which the
pilot must control the exoskeleton to ascend and descend a 6-
steps staircase with a step height of 17 cm and a step length of
28 cm, see Figure 2C. Since Atalante Evolutionsfoot
a part of the foot can be on the stair. Moreover, the ankle joint
range and torque limits plus the fact that the weight of the
robot is at the back, make the stairs difcult to ascend and
descend in autonomy. To overcome these difculties, the
pilot-exoskeleton cooperative strategy is integrated into the
generation. The pilot has to help to adjust the placement of
the foot when landing on the stair and make the upstairs/
downstairs walking more stable by using the handrails. For
the security of the pilot, we chose to execute the upstairs
walking forward and the downstairs walking backward. The
pilot can position itself in front of the stairs correctly by
making one or several steps of a generated walking gait with
small step length of 5 cm. The walking is also stopped when
no contact is detected between the foot heel and the stairs
when positioning at the top of downstairs. The different
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 72378012
Huynh et al. Efcient Framework for Dynamic Motion Generation
walking gaits have been generated with 7 domains as shown
in Supplementary Figure S8 for upstairs walk and with 14
domains as shown in Supplementary Figure S9 for
downstairs walk. The swing foot is imposed to be move
vertically at the beginning and the end of each step in
order to avoid hitting the stair. The weight transfer double
support domain has a role as a temporal phase that allows the
pilot to prepare for the next stair. The stopping phase is
composed of several steps in order to go away from the nal
stair for the security of the pilot. A domain during which the
foot rolls on its toes is added into the downstairs walk to make
the walking more natural and to reduce the pulling-up effort
of the pilot at the end of each step. The effort of the pilot is
also taken into account in the optimization parameters
tuning as a constraint and is evaluated during the training.
Supplementary Figures S10, S11 illustrate the autonomous
navigation of the pilot to accomplish the Stairs task. It is
noted that the stopping phase for Stairs task is automatically
done by the control algorithm when the number of steps is
reached, i.e., n
>6. The key performance indicators to
monitor the progress and benchmark of the pilot-exoskeleton
cooperative strategy for stairs task validation can be found in
Supplementary Tables S6, S7. The CoT for upstairs walk
(218.407) is bigger than the one for downstairs walk (67.774).
This indicates that the pilot needs to provide a bigger effort
for walking upstairs, which is consistent with the
experimental results we observed.
4.2.5 Ramps
Inclined surfaces such as ramps are a part of a natural path in
daily life. In Ramps task, the pilot must ascend on a slope of 20°,
open, pass and close a door and descend on a slope of 15°, see
Figure 2D. This task is a real challenge for Atalante Evolution
exoskeleton due to the limitation of the sagittal ankle joint. Many
strategies have been developed and tested with the pilot. Finally,
going up the ascending ramp in the backward direction and going
down the descending ramp in the forward direction have been
chosen to satisfy requirements on the stability and pilot security.
The different walking gaits have been generated with 11 domains
for ascending ramp, see Supplementary Figure S12 and with 10
domains for descending ramp, see S13. The number of domains
of walking gaits is chosen to ensure the smooth transition. The
major challenge of this task is to ensure the self-balance of the
pilot with the exoskeleton for the change of the ground-feet
contact angle at the beginning and at the end of the ramp. The
pilot-exoskeleton cooperative strategy has a key role to overcome
this difculty. In order to ensure the success of the ascending or
descending walk, the pilot shall position himself right in front of
the beginning of the ramps with the feet toe align with it. The pilot
can also make the walking more stable and control the direction
by using the handrail.
For the walk on ascending ramp in backward direction, the
pilot cannot see when he arrives at the top of the ramp. To
overcome this problem, a contact detection algorithm has been
implemented in which the walk automatically pauses at the top of
the ramp when the heel is not in contact with the ramp anymore
and a minimal number of steps has been reached, i.e., n
This value is dened from experiments. The pilot can decide his
position at the top of the ramps after the automatic stop via
CybAGUI by executing more steps (position he learned by
training) before triggering the stopping phase.
For the walk on descending ramp in forward direction, the
pilot makes the decision of executing the stopping phase
when arriving at the end of the ramp. Supplementary Figures
S14, S15 illustrate the autonomous navigation of our pilot to
accomplish the Ramp task. As observed from experiments,
the pilot needs to provide more effort for the ascending ramp
walk with respect to the descending ramp walk. This fact can
be veried with the CoT (see Supplementary Tables S8, S9)
for both trajectories. We can see that indeed the ascending
ramp walk has a higher cost (123.7) than the descending ramp
walk (48.9).
Wandercraft completed the development of new features to
perform 4 tasks out of 6 at the EXO race of Cybathlon 2020
Global Edition with Atalante Evolution - the only crutch-less
powered exoskeleton presented at the racein under a 12 months
timeline. It was a real challenge to adapt our exoskeleton to
Cybathlons requirements since the robot was intended for
rehabilitation centers with a physiotherapist to supervise the
patient. For the race, our pilot Kevin Piette equipped with
Atalante Evolution, had to perform the tasks in full autonomy,
with four spotters around him in case of unbalanced situations or
failures of the robot (section 2).
Designing new dynamic motions with an 82-kg exoskeleton
on the pilot and taking the least possible risks for his physical
security (e.g., walk with reduced speed), was possible thanks to
the direct-collocation-based optimization framework we
developed these past years (section 3). We improved the
tools and the process of trajectory generation to be able to
address quickly any new task. A large part of the work consisted
of testing with the pilot to have feedback on the feasibility and
the success of the motion: evaluating the impacts of the
deformations of the mechanical structure of the robot and
analyzing the required attitude of the pilot while moving
(section 4). All this feedback was integrated into the
optimization formulation to improve the motions at the
robot side, as much as possible. Finally with training, Kevin
was able to adjust himself to stabilize the different motions and
to realize the tasks. This framework is also used to generate
trajectories for different patients who use Atalante in their
rehabilitation program. For the commercialized version of
Atalante, we designed several trajectories with this same
framework and we test the generation on a set of 1,000
different patients with a failure rate around 0.1%.
As result, we performed the 4 tasks successfully in 7 min
26s(seevideosonCybathlons website) in complete
autonomy. We were ranked 8th, but we were highlighted
as being the future of lower-limbs exoskeletons. This
challenge was a real success for Wandercraft: we learnt a
lot both on Atalantes hardware limitations and on how to
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 72378013
Huynh et al. Efcient Framework for Dynamic Motion Generation
improve the features to t with daily life. The new features we
made, have improved our robots in different ways: some of
them are ready to be integrated in the product Atalante for
patients in rehabilitation centers such as multi-directional
steps and sit-and-stand from any height of chair. The rest of
the new features are more complex (i.e., non-standardized
step height or slope angle in the urban environment) and
make more sense for the development of the next generation
of Wandercrafts exoskeleton: the personal and outdoor
exoskeleton with a reduced mechanical structure and a
better actuation technology to face any obstacle.
The original contributions presented in the study are included in
the article/Supplementary Material, further inquiries can be
directed to the corresponding author.
Written informed consent was obtained from the individuals for
the publication of any potentially identiable images or data
included in this article.
All authors listed have made a substantial, direct, and intellectual
contribution to the work and approved it for publication.
The Supplementary Material for this article can be found online at:
Agrawal, A., Harib, O., Hereid, A., Finet, S., Masselin, M., Praly, L., et al. (2017).
First Steps towards Translating Hzd Control of Bipedal Robots to Decentralized
Control of Exoskeletons. IEEE Access 5, 99199934. doi:10.1109/
Carpentier, J., and Mansard, N. (2018). Analytical Derivatives of Rigid Body
Dynamics Algorithms,in Robotics: Science and Systems(Springer).
Carpentier, J., Saurel, G., Buondonno, G., Mirabel, J., Lamiraux, F., Stasse, O., et al.
(2019). The Pinocchio C++ Library a Fast and Flexible Implementation of
Rigid Body Dynamics Algorithms and Their Analytical Derivatives,in IEEE
International Symposium on System Integrations (SII) (US: IEEE).
Carpentier, J., Valenza, F., and Mansard, N. (2015-2021). Pinocchio: Fast Forward
and Inverse Dynamics for Poly-Articulated Systems. Available at: https://stack-
Chen, B., Ma, H., Qin, L.-Y., Gao, F., Chan, K.-M., Law, S.-W., et al. (2016). Recent
Developments and Challenges of Lower Extremity Exoskeletons. J. Orthopaedic
Translation 5, 2637. doi:10.1016/
Contreras-Vidal, J. L., and Grossman, R. G. (2013). Neurorex: A Clinical Neural
Interface Roadmap for Eeg-Based Brain Machine Interfaces to a Lower Body
Robotic Exoskeleton,in Proc. Annual International Conference of the IEEE
Engineering in Medicine and Biology Society (IEEE). doi:10.1109/
Denk, J., and Schmidt, G. (2001). Synthesis of a Walking Primitive Database for a
Humanoid Robot Using Optimal Control Techniques,in Proceedings of the
IEEE-RAS International Conference on Humanoid Robots (IEEE).
Diehl, M., Bock, H. G., Diedam, H., and Wieber, P.-B. (2006). Fast Direct Multiple
Shooting Algorithms for Optimal Robot Control. Berlin, Heidelberg: Springer
Berlin Heidelberg, 6593. doi:10.1007/978-3-540-36119-0_4
Erdmann, W. S., Aschenbrenner, P., and Giovanis, V. (2020). Modern Technology
Assists Disabled Competitors: the First CybathlonSpecial Competition in
Zürich. Acta Bioeng. Biomech. 22, 6975. doi:10.37190/abb-01541-2020-01
Gurriet, T., Finet, S., Boéris, G., Duburcq, A., Hereid, A., Harib, O., et al. (2018).
Towards Restoring Locomotion for Paraplegics: Realizing Dynamically Stable
Walking on Exoskeletons,in 2018 IEEE International Conference on Robotics
and Automation (ICRA) (IEEE), 28042811. doi:10.1109/ICRA.2018.8460647
Hamdan, P. N. F., Hamzaid, N. A., Abd Razak, N. A., and Hasnan, N. (2020).
Contributions of the Cybathlon Championship to the Literature on Functional
Electrical Stimulation Cycling Among Individuals with Spinal Cord Injury: A
Bibliometric Review. J. Sport Health Sci. S2095-2546 (20), 301411.
Hargraves, C. R., and Paris, S. W. (1987). Direct Trajectory Optimization Using
Nonlinear Programming and Collocation. J. Guidance, Control Dyn. 10,
338342. doi:10.2514/3.20223
Harib, O., Hereid, A., Agrawal, A., Gurriet, T., Finet, S., Boéris, G., et al. (2018).
Feedback Control of an Exoskeleton for Paraplegics: Toward Robustly Stable,
Hands-free Dynamic Walking. IEEE Control. Syst. 38, 6187. doi:10.1109/
Hereid, A., Cousineau, E. A., Hubicki, C. M., and Ames, A. D. (2016). 3d Dynamic
Walking with Underactuated Humanoid Robots: A Direct Collocation
Framework for Optimizing Hybrid Zero Dynamics,in 2016 IEEE
International Conference on Robotics and Automation (ICRA) (IEEE),
14471454. doi:10.1109/icra.2016.7487279
Hurmuzlu, Y., and Marghitu, D. B. (1994). Rigid Body Collisions of Planar
Kinematic Chains with Multiple Contact Points. Int. J. Robotics Res. 13,
8292. doi:10.1177/027836499401300106
Kajita, S., Kanehiro, F., Kaneko, K., Fujiwara, K., Harada, K., Yokoi, K., et al. (2003).
Biped Walking Pattern Generation by Using Preview Control of Zero-Moment
point,in Proceedings - IEEE International Conference on Robotics and
Automation (IEEE), 16201626. doi:10.1109/robot.2003.1241826
Kalita, B., Narayan, J., and Dwivedy, S. K. (2020). Development of Active Lower
Limb Robotic-Based Orthosis and Exoskeleton Devices: A Systematic Review.
Int. J. Soc. Robotics 13, 775793. doi:10.1007/s12369-020-00662-9
Kapsalyamov, A., Jamwal, P. K., Hussain, S., and Ghayesh, M. H. (2019). State of
the Art Lower Limb Robotic Exoskeletons for Elderly Assistance. IEEE Access 7,
9507595086. doi:10.1109/ACCESS.2019.2928010
Kudruss, M., Naveau, M., Stasse, O., Mansard, N., Kirches, C., Soueres, P., et al.
(2015). Optimal Control for Whole-Body Motion Generation Using center-of-
mass Dynamics for Predened Multi-Contact Congurations,in 2015
IEEE-RAS 15th International Conference on Humanoid Robots (Seoul:
Humanoids), 684689. doi:10.1109/humanoids.2015.7363428
Lux, G. (2018). Complexe articulaire sous-talien: aspects normaux et pathologiques,
intérêt de limagerie dynamique. France: University of Nancy, 45.
Mayne, D. (1966). A Second-Order Gradient Method for Determining Optimal
Trajectories of Non-linear Discrete-Time Systems. Int. J. Control. 3, 8595.
Mirabel, J., Saurel, G., Carpentier, J., and Lamiraux, F. (20142021). Corba Server/
client for the Graphical Interface of Pinocchio and Hpp. Available at: https://
Morchionni, L. (2018). Report on Demonstrators and Benchmarking Criteria, Link.
Tech. rep., Memmo Project (Memory of Motion).
Pandy, M. G., and Anderson, F. C. (2000). Dynamic Simulation of Human
Movement Using Large-Scale Models of the Body. Phonetica 57, 219228.
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 72378014
Huynh et al. Efcient Framework for Dynamic Motion Generation
Rupal, B. S., Raque, S., Singla, A., Singla, E., Isaksson, M., and Virk, G. S. (2017).
Lower-limb Exoskeletons. Int. J. Adv. Robotic Syst. 14, 172988141774355.
Schultz, G., and Mombaur, K. (2010). Modeling and Optimal Control of Human-like
Running. Ieee/asme Trans. Mechatron. 15, 783792. doi:10.1109/tmech.2009.2035112
Todorov, E., and Weiwei Li, W. (2005). A Generalized Iterative LQG Method for
Locally-Optimal Feedback Control of Constrained Nonlinear Stochastic
Systems,in Proceedings of the 2005, American Control Conference (IEEE),
300306. doi:10.1109/ACC.2005.1469949
Torricelli, D., Gonzalez-Vargas, J., Veneman, J. F., Mombaur, K., Tsagarakis, N.,
del-Ama, A. J., et al. (2015). Benchmarking Bipedal Locomotion: A Unied
Scheme for Humanoids, Wearable Robots, and Humans. IEEE Robot. Automat.
Mag. 22, 103115. doi:10.1109/MRA.2015.2448278
Vigne, M., Khoury, A. E., Meglio, F. D., and Petit, N. (2020). State Estimation for a
Legged Robot with Multiple Flexibilities Using IMUs: A Kinematic Approach.
IEEE Robot. Autom. Lett. 5, 195202. doi:10.1109/lra.2019.2953006
Wächter, A., and Biegler, L. T. (2006). On the Implementation of an interior-point
Filter Line-Search Algorithm for Large-Scale Nonlinear Programming. Math.
Program 106, 2557. doi:10.1007/s10107-004-0559-y
Wächter, A., Vigerske, S., and Lang, Y. (2005-2021). Ipopt: Interior point
Optimizer. Available at:
Westervelt, E. R., Grizzle, J. W., Chevallereau, C., Choi, J. H., and Morris, B. (2007).
Feedback Control of Dynamic Bipedal Robot Locomotion.BocaRaton,FL:CRCPress.
Winkler, A. W., Bellicoso, C. D., Hutter, M., and Buchli, J. (2018). Gait and
Trajectory Optimization for Legged Systems through Phase-Based End-Effector
Parameterization. IEEE Robot. Autom. Lett. 3, 15601567. doi:10.1109/
Winter, D. A. (2009). Biomechanics and Motor Control of Human Movement. John
Wiley & Sons.
Conict of Interest: Authors VH, GBu, QD, RP, GBo, and MM were employed by
the company Wandercraft Company.
The remaining authors declare that the research was conducted in the absence of
any commercial or nancial relationships that could be construed as a potential
conict of interest.
Publishers Note: All claims expressed in this article are solely those of the authors
and do not necessarily represent those of their afliated organizations, or those of
the publisher, the editors and the reviewers. Any product that may be evaluated in
this article, or claim that may be made by its manufacturer, is not guaranteed or
endorsed by the publisher.
Copyright © 2021 Huynh, Burger, Dang, Pelgé, Boéris, Grizzle, Ames and Masselin.
This is an open-access article distributed under the terms of the Creative Commons
Attribution License (CC BY). The use, distribution or reproduction in other forums is
permitted, provided the original author(s) and the copyright owner(s) are credited
and that the original publication in this journal is cited, in accordance with accepted
academic practice. No use, distribution or reproduction is permitted which does not
comply with these terms.
Frontiers in Robotics and AI | September 2021 | Volume 8 | Article 72378015
Huynh et al. Efcient Framework for Dynamic Motion Generation
Powered exoskeletons for people with complete paraplegia are subject to repetitive large impacts due to the recurrent ground contacts. Those impact forces not only deteriorate the ride comfort but also cause a serious damage to the musculoskeletal system of the human wearing the powered exoskeleton. To address the issue, a mechanism to absorb shock for powered exoskeletons are proposed in this paper. The proposed shock absorption mechanism was integrated into the WalkON Suit, a powered exoskeleton for complete paraplegics. To obtain the desired performance of the proposed mechanism, the gait pattern of the powered exoskeleton was also designed. The mechanism and gait pattern generation algorithm were verified from experiments with a human subject.
Full-text available
Purpose: The purpose of the study was presentation of modern bioengineering technology in order to help people with severe disabilities. Methods: Bioengineering industry can offer severely disabled people several devices in order to enable them to take part in the competition different than Paralympics. The first international competition for people with disabilities supported by modern assistive technology, such as sensors, motors, displays were allowed to compete in Cybathlon held in Zürich in 2016. About 70 athletes and their teams from 25 countries appeared at the event. Results: There were six disciplines (races): 1) Powered Arms (Upper Extremities) Prostheses Race, 2) Powered Legs (Lower Extremities) Prostheses Race, 3) Powered Wheelchair Race, 4) Powered Exoskeleton Race, 5) Functional Electrical Stimulation Bike Race, 6) Brain-Computer Interface Race. About a quarter of the teams represented industry and the rest represented university laboratories. Conclusions: The competition was a success. The organisers have decided for it to be organized every four years, just like the Olympic Games for able bodied competitors. The main inventor of the event professor Robert Riener from Zürich Polytechnic (ETHZ) said assistive technology should: a) be user-friendly b) to function well, c) be affordable, d) to be used within the barrier-free environment.
Full-text available
Background Due to its clinically proven safety and health benefits, functional electrical stimulation (FES) cycling has become a popular exercise modality for individuals with spinal cord injury (SCI). Since its inception in 2013, the Cybathlon championship has been a platform for publicizing the potential of FES cycling in rehabilitation and exercise for individuals with SCI. This study aimed to evaluate the contribution of the Cybathlon championship to the literature on FES cycling for individuals with SCI 3 years pre and post the staging of the Cybathlon championship in 2016. Methods Web of Science, Scopus, ScienceDirect, IEEE Xplore, and Google Scholar databases were searched for relevant studies published between January 2013 and July 2019. The quality of the included studies was objectively evaluated using the Downs and Black checklist. Results A total of 129 articles on FES cycling were retained for analysis. A total of 51 articles related to Cybathlon were reviewed, and 14 articles were ultimately evaluated for the quality. In 2017, the year following the Cybathlon championship, Web of Science cited 23 published studies on the championship, which was almost 5-fold more than were published in 2016 (n = 5). Training was most often reported as a topic of interest in these studies, which mostly (76.7%) highlighted the training parameters of interest to participating teams in their effort to maximize their FES cycling performance during the Cybathlon championship. Conclusion The present study indicates that the Cybathlon championship in 2016 contributed to the number of literature published in 2017 on FES cycling for individuals with SCI. This finding may contribute to the lessons that can be learned from participation in the Cybathlon and potentially provide additional insights into research in the field of race-based FES cycling.
Full-text available
The basic routine movements for elderly people are not easily accessible due to the weak muscles and impaired nerves in their lower extremity. In the last few years, many robotic-based rehabilitation devices, like orthosis and exoskeletons, have been designed and developed by researchers to provide locomotion assistance to support gait behavior and to perform daily activities for elderly people. However, there is still a need for improvement in the design, actuation and control of these devices for making them cost-effective in the worldwide market. In this work, a systematic review is presented on available lower limb orthosis and exoskeleton devices, to date. The devices are broadly reviewed according to joint types, actuation modes and control strategies. Furthermore, tabular comparisons have also been presented with the types and applications of these devices. Finally, the needful improvements for realizing the efficacy of lower limb rehabilitation devices are discussed along with the development stage. This review will help the designers and researchers to develop an efficient robotic device for the rehabilitation of the lower limb.
Full-text available
The number of elderly populations is rapidly increasing. Majority of elderly people face difficulties while walking, because the muscular activity or other gait related parameters start to deteriorate with ageing. Therefore, the quality of life among them can be suffered. In order to make their life more comfortable, service providing robotic solutions in terms of wearable powered exoskeletons should be realized. Assistive powered exoskeletons are capable of providing additional torque to support various activities such as walking, sit to stand and stand to sit motions to subjects with mobility impairments. Specifically, the powered exoskeletons try to maintain and keep subjects’ limbs on the specified motion trajectory. The state of the art of currently available lower limb assistive exoskeletons for weak and elderly people is presented in this work. The technology employed in the assistive devices, such as actuation and power supply types, control strategies, their functional abilities and the mechanism design are thoroughly described. The outcome of studied literature reveals that there is still much work to be done in the improvement of assistive exoskeletons in terms of their technological aspects, such as choosing proper and effective control methods, developing user friendly interfaces, decreasing the costs of device to make it more affordable, meanwhile ensuring safe interaction for the end users.
Conference Paper
Full-text available
We introduce Pinocchio, an open-source software framework that implements rigid body dynamics algorithms and their analytical derivatives. Pinocchio does not only include standard algorithms employed in robotics (e.g., forward and inverse dynamics) but provides additional features essential for the control, the planning and the simulation of robots. In this paper, we describe these features and detail the programming patterns and design which make Pinocchio efficient. We evaluate the performances against RBDL, another framework with broad dissemination inside the robotics community. We also demonstrate how the source code generation embedded in Pinocchio outperforms other approaches of state of the art.
Conference Paper
Full-text available
Rigid body dynamics is a well-established framework in robotics. It can be used to expose the analytic form of kinematic and dynamic functions of the robot model. So far, two major algorithms, namely the recursive Newton-Euler algorithm (RNEA) and the articulated body algorithm (ABA), have been proposed to compute the inverse dynamics and the forward dynamics in a few microseconds. Evaluating their derivatives is an important challenge for various robotic applications (optimal control, estimation, co-design or reinforcement learning). However it remains time consuming, whether using finite differences or automatic differentiation. In this paper, we propose new algorithms to efficiently compute them thanks to closed-form formulations. Using the chain rule and adequate algebraic differentiation of spatial algebra, we firstly differentiate explicitly RNEA. Then, using properties about the derivative of function composition, we show that the same algorithm can also be used to compute the derivatives of ABA with a marginal additional cost. For this purpose, we introduce a new algorithm to compute the inverse of the joint-space inertia matrix, without explicitly computing the matrix itself. All the algorithms are implemented in our open-source C++ framework called Pinocchio. Benchmarks show computational costs varying between 3 microseconds (for a 7-dof arm) up to 17 microseconds (for a 36-dof humanoid), outperforming the alternative approaches of the state of the art.
This paper presents a general state estimation method for legged robots having internal flexibilities. In details, the method is applicable to any robot with an arbitrary number of punctual deformations, during standing and walking phases on flat ground. Focused on balance applications, this estimator reconstructs the position relative to the contact foot, the absolute orientation and the world velocity of each robot body. It reconciles the rigid kinematics, given by joint encoders, with attitude measurements obtained from several IMUs, through a kinematic model incorporating the flexibilities. Compared to previous works, no dynamic model of the flexibilities is employed. For illustration, the estimator is successfully tested on the exoskeleton Atalante, both in static and while walking. It is then used in closed-loop to control the position of the flying foot during a quasi-static step.
Bipedal locomotion is among the most difficult challenges in control engineering. Most books treat the subject from a quasi-static perspective, overlooking the hybrid nature of bipedal mechanics. Feedback Control of Dynamic Bipedal Robot Locomotion is the first book to present a comprehensive and mathematically sound treatment of feedback design for achieving stable, agile, and efficient locomotion in bipedal robots. In this unique and groundbreaking treatise, expert authors lead you systematically through every step of the process, including: • Mathematical modeling of walking and running gaits in planar robots • Analysis of periodic orbits in hybrid systems • Design and analysis of feedback systems for achieving stable periodic motions • Algorithms for synthesizing feedback controllers • Detailed simulation examples • Experimental implementations on two bipedal test beds. The elegance of the authors' approach is evident in the marriage of control theory and mechanics, uniting control-based presentation and mathematical custom with a mechanics-based approach to the problem and computational rendering. Concrete examples and numerous illustrations complement and clarify the mathematical discussion. A supporting Web site offers links to videos of several experiments along with MATLAB® code for several of the models. This one-of-a-kind book builds a solid understanding of the theoretical and practical aspects of truly dynamic locomotion in planar bipedal robots.
Conference Paper
This paper presents the first experimental results of crutch-less dynamic walking with paraplegics on a lower-body exoskeleton: ATALANTE, designed by the French start-up company Wandercraft. The methodology used to achieve these results is based on the partial hybrid zero dynamics (PHZD) framework for formally generating stable walking gaits. A direct collocation optimization formulation is used to provide fast and efficient generation of gaits tailored to each patient. These gaits are then implemented on the exoskeleton for three paraplegics. The end result is dynamically stable walking in an exoskeleton without the need for crutches. After a short period of tuning by the engineers and practice by the subjects, each subject was able to dynamically walk across a room of about 10 m up to a speed of 0.15 m/s (0.5 km/h) without the need for crutches or any other kind of assistance.
Le complexe articulaire sous-talien est une région anatomique importante du point de vue fonctionnel et biomécanique pour le membre inférieur, notamment au cours de la marche. Il est composé de l'unité tibio-talofibulaire d'une part et du bloc calcanéo-pédieux d'autre part, dont les mouvements relatifs l'un par rapport àl'autre sont assurés par l'articulation sous-talienne essentiellement.Les éléments ligamentaires sont nombreux et bien visibles en IRM; les plus importants du point de vue fonctionnel et dans la congruence articulaire sous-talienne sont les ligaments en haie, cervical, et calcanéo-fibulaire. La biomécanique de l'arrière-pied est relativement simple en décharge, mais plus complexe en charge, et a été largement étudiée.La pathologie spécifique de cette région est représentée par les synostoses, l'arthrose, qui est dans la grande majorité post-traumatique, et l'instabilité sous-talienne. L'imagerie joue un rôle majeur dans le diagnostic précis et exhaustif de ces différentes pathologies ainsi que dans la décision thérapeutique et le suivi. L'instabilité sous-talienne est une entité difficile à affirmer formellement cliniquement et en imagerie, et aucun protocole d'imagerie de routine n'a été adopté pour son diagnostic.Grâce au développement de scanners à large système de détection, une exploration dynamique articulaire devient possible. Ainsi, 15 volontaires sains ont bénéficié d'un scanner dynamique centré sur l'arrière pied pendant la réalisation de mouvements d'inversion/éversion. Une amplitude articulaire de la sous-talienne dansle plan frontal a pu être établie sur ces différents examens, et le mouvement complexe de la sous-talienne peut être appréhendé de façon précise grâce aux reconstructions volumiques et multi-planaires dynamiques. Ces données pourront servir pour mettre en place un protocole d'exploration de la pathologie de l'arrière pied en routine, et pour établir des critères objectifs dans le diagnostic d'instabilité.