The present invention relates to the field of robots of the exoskeleton type.
More precisely, it relates to a method for generating a trajectory of an exoskeleton and a method for setting the exoskeleton in motion.
Recently, for persons with substantial mobility problems such as paraplegics, assisted devices for walking called exoskeletons have appeared, which are external robotic devices that the operator (the human user) “puts on” thanks to a system of fasteners that links the movements of the exoskeleton with their own movements. Exoskeletons of lower limbs have several articulations, generally at least at the knees and hips, to reproduce the gait movement. Actuators make it possible to move these articulations, which in turn cause the operator to move. An interface system allows the operator to give orders to the exoskeleton, and a command system transforms these orders into commands for the actuators. Sensors also supplement the device.
These exoskeletons constitute progress with respect to wheelchairs, because they allow the operators to stand up and walk. Exoskeletons are no longer limited by wheels and can theoretically move about in most non-flat environments: wheels, contrary to legs, do not make it possible to cross substantial obstacles such as steps, stairs, obstacles with an excessive height, etc.
However, in their use, none of these exoskeletons performs an autonomous human gait, i.e. stable and viable over a large variety of terrains, that is anthropomorphic and unassisted.
In most cases, these limitations are materialised by the impossibility for the device to manage the balance or the direction of gait itself. These two tasks are then generally transferred to the operator, who performs them thanks to crutches, as proposed for example in U.S. Pat. No. 7,153,242 of Rewalk, or in application US2016038371 of Ekso-Bionics.
Patent EP2231096 of Rex-Bionics describes the only exoskeleton that can be used without external aid for a person that is incapable of assuring their own stability. The control principle, described in paragraph [0122], clearly explains the need to transfer the centre of pressure (the physical point at which the moment of the reaction forces exerted by the ground on the system is zero) from a portion of the support polygon (the convex envelope of the contact points with the ground) to another portion of the support polygon.
This limitation imposes an extremely slow gait (a few metres per minute, while a normal gait exceeds 2 km/h which is 33 metres per minute) with short steps (less than 30 cm, while a normal stride ranges from 50 to 80 cm), during which the support foot is constantly in flat contact with the ground. The type of environment that can be accessed is therefore limited, since uneven terrains are excluded de facto. Likewise, the slightest obstacle such as a stone, a small object, generates a risk of unbalancing the system if it places its foot on it at a given moment, and finally causes it to fall.
In opposition, “natural” human gait is characterised by a sequence of phases during which the feet can be flat on the ground, in the air, or in the process of rolling on the ground, as can be seen in
However the so-called first-generation exoskeletons described hereinabove do not have an actuated foot or keep the support foot on the ground.
Performing this roll is indeed complex for bipedal humanoid robots or robotic devices. Even if a foot structure with a break as proposed in application WO2015140353 is provided, when the centre of pressure reaches the limit of the support polygon, the system begins to roll around this point, and is therefore no longer in static equilibrium.
In the case of the gait, the roll of the foot involves a partial loss of contact with the ground at the support foot, with several consequences:
In such a situation, the conventional formalisms of flat foot walking such as described in the document Kajita S., K. F. (2003). Biped Walking pattern generation by using preview control of Zero-Moment Point. ICRA, (pp. 1620-1626), or the principle described in patent Rex-Bionics EP2231096 can no longer operate.
A natural idea is to bring the swinging leg in front and to pose the second foot on the ground to return to a support polygon and balance, this while the system is in free rotation around the support foot, somewhat in the process of “falling”. This is then referred to as dynamic gait, since the body passes through a sequence of unstable postures, but only transiently (if “stopped” the person in the middle of a stride would fall).
In this dynamic gait approach, bringing the swinging foot quickly into a position that re-establishes the balance at least briefly is complicated. Indeed, if this foot is made to follow a trajectory configured in a pre-calculated time, this foot risks hitting the ground too early or too late due to the uncontrollable behaviour of the underactuated system even subjected to slight disturbances (it is not possible to correct a trajectory that would deviate slightly from what was planned). This can generate discomfort for the operator, unbalance them and even cause them to fall, including on simple terrain.
It is for this that all first-generation exoskeletons (and many humanoid robots) try to avoid this type of situation by keeping the support foot flat, with for consequences the aforementioned limitations on the gait speed, the length of the steps, the permissible type of terrain and the general stability of the gait.
A new gait paradigm for exoskeletons was consequently proposed in application WO2018130784, that combines the principles of “virtual constraints” and of “Hybrid Zero Dynamics” (HZD) allowing for a quick and natural gait, and without the risk of falling or imbalance even on difficult and unplanned terrain.
Conventionally, the trajectories, i.e. the changes in each degree of freedom, are expressed as a function of time. The “dynamics” of the system is defined by a function
ƒ:χ×U×R+χ
and a starting point
ξ∈χ
the function ƒ is written
{acute over (x)}
t=ƒ(xt,ut,t),x0=ξ
χ being the state space of the exoskeleton 1, U the control space, and t representing time.
The HZD is on the contrary the dynamics of non-actuated degrees of freedom. This dynamics is said to be “Zero” since it corresponds to the degrees on which the command cannot/does not want to act, i.e. the command is 0, and “Hybrid” because the impact of the foot on the ground imposes discontinuous instantaneous phases that intersect the continuous phases.
In the so-called “virtual constraints” method, the principle is to define for a selection of actuated degrees of freedom a trajectory configured by a change parameter, not by time, but directly according to the configuration, this parameter being called phase variable. An example of such a phase variable is the angle between the heel-hip axis and the vertical which then constitutes a non-actuated degree of freedom mentioned hereinabove.
The phase variable makes it possible to define the “progress” of a step. More precisely, at each step, the phase variable switches continuously from an initial value to a final value, before it is assigned the initial value again: this is the beginning of the next step. To facilitate matters, the value of the phase parameter can be normalised between 0 and 1.
Each value of the change parameter corresponds to a value of the actuated degrees of freedom that the system must force itself to follow: it is these relationships (one for each actuated degree of freedom that is to be controlled in this way) that are called virtual constraints.
If the system exactly follows this trajectory for the degrees of freedom whereon it is possible or desired to act, in other terms if the virtual constraints are complied with for these degrees of freedom, then the change in the system is entirely determined by that of the non-actuated degrees of freedom that follow their own dynamics with is HZD.
A good choice of virtual constraints can thus lead this dynamics to contain an attractive periodic “orbit”, i.e. a stable trajectory towards which the system is naturally attracted.
This method HZD provides great satisfaction, but the difficulty resides in the generating of trajectories (this is moreover also the case in the “flat foot” method). Indeed, it is observed that the trajectories obtained “hardly roll” the foot, i.e. the foot remains practically horizontal (the heel and the toes hardly clear the ground) contrary to the natural human gait shown in
However, the algorithms for generating trajectories in theory make perfectly possible a roll phase that is as marked as in a natural human gait, but because they are generally based on a method for optimising for non-convex, non-linear problems under constraint, they favour “optimum” trajectories that are considered as more stable to the detriment of more “anthropomorphic” trajectories, which would however be largely preferred by human operators of exoskeletons.
Thus, it would be desirable to have a new solution for generating trajectories that increases the natural side of the trajectories without harming the stability thereof.
The present invention thus according to a first aspect relates to a method for generating a trajectory of an exoskeleton provided with two legs each having a foot, the method comprising the implementation by data-processing means of a server, of steps of:
According to advantageous and non-limiting characteristics:
Said elementary periodic trajectory cyclically repeats the sequence of said first trajectory portion then second trajectory portion.
In the second trajectory portion, the foot that performs the translation is the initially rear foot, the initially front foot performing a pure rotation.
Said initially front foot remains immobile during the second trajectory portion.
At the end of the first trajectory portion the front foot is flat on the ground.
The step (b) is implemented by using at least one neural network.
Said exoskeleton receiving a human operator, the step (a) comprising the determining of a sequence of n-tuples of gait parameters of the exoskeleton desired by said operator.
The generated trajectory of the exoskeleton comprises, for each n-tuple of said sequence, a new elementary periodic trajectory and a transition to this new elementary periodic trajectory.
According to a second aspect, the invention relates to a method for setting an exoskeleton in motion having a plurality of degrees of freedom of which at least one degree of freedom actuated by an actuator controlled by data-processing means comprising a step (c) of executing by the data-processing means of the exoskeleton of a trajectory of the exoskeleton generated by means of the method for generating a trajectory of the exoskeleton according to the first aspect, in such a way as to cause said exoskeleton to walk.
According to a third aspect, the invention relates to a system comprising a first server and an exoskeleton each comprising data-processing means, characterised in that said data-processing means are configured to implement a method according to the first aspect for generating a trajectory of the exoskeleton and/or a method according to the second aspect for setting an exoskeleton in motion.
According to a fourth and a fifth aspect, the invention relates to a computer program product comprising code instructions for the execution of a method according to the first aspect of generating a trajectory of an exoskeleton and/or a method according to the second aspect for setting an exoskeleton in motion; and a means of storage that can be read by a piece of computer equipment on which a computer program product comprises code instructions for the execution of a method according to the first aspect of generating a trajectory of an exoskeleton and/or a method according to the second aspect for setting an exoskeleton in motion.
Other characteristics and advantages of the present invention shall appear when reading the following description of a preferred embodiment. This description will be given in reference to the accompanying drawings wherein:
According to two additional aspects of the invention, the following are proposed:
In reference to
The exoskeleton 1 has a plurality of degrees of freedom, i.e. deformable articulations (generally via a rotation) i.e. movable with respect to one another, which are each either “actuated”, or “non-actuated”.
An actuated degree of freedom designates an articulation provided with an actuator controlled by data-processing means 11c, i.e. this degree of freedom is controlled and it is possible to act thereon. On the contrary, a non-actuated degree of freedom designates an articulation devoid of an actuator, i.e. this degree of freedom follows its own dynamics and the data-processing means 11 do not have a direct control thereon (but a priori an indirect control via the other actuated degrees of freedom). In the example of
The present exoskeleton naturally comprises at least one actuated degree of freedom, preferably a plurality, and also at least one non-actuated degree of freedom, i.e. it is “under-actuated”, as mentioned hereinabove. The number of non-actuated degrees of freedom is called degree of underactuations.
The data-processing means 11c designate a piece of computer equipment (typically a processor, or external if the exoskeleton 1 is “remote controlled” but preferably embedded in the exoskeleton 1, see further on) adapted to process instructions and generate commands intended for the various actuators. The latter can be electric, hydraulic, etc.
The present application will not be limited to any architecture of exoskeleton 1, and the example shall be taken such as described in applications WO2015140352 and WO2015140353.
Thus, preferably and in accordance with these applications, the exoskeleton 1 comprises on each leg a foot structure comprising a support plan whereon a foot of a leg of the person wearing the exoskeleton can bear against.
This support plan comprises a front platform and a rear platform, such that a foot pivot connection connects the front platform to the rear platform, constituting a non-actuated degree of freedom.
Those skilled in the art will however know how to adapt the present method to any other mechanical architecture.
According to a preferred embodiment, the present methods for generating trajectories and gait can involve a first and even a second server 10a, 10b within an architecture such as shown in
The first server 10a is a server for generating trajectories, and the second server 10b is a possible learning server.
Indeed, generating a trajectory of the exoskeleton 1 can use a neural network, in particular of the “feedforward” type (FNN, “Feedforward Neural Network”), such as is proposed in application FR1910649. The second server 10b is then a server for the implementation of a method for learning parameters of said neural network. Note that the present method is not limited to the use of a neural network, and it is possible to use any known technique for generating the trajectory in its entirety, even further on.
In any case, it is entirely possible that these two servers be confounded, but in practice the second server 10b is most often a remote server while the first server 10a can be embedded by the exoskeleton 1 for operation in real time, such as is shown in
Each one of these servers 10a, 10b is typically a piece of computer equipment connected to an extended network 20 such as the internet network for exchanging data, although in practice once the neural network is learned and embedded on the second server 10b the communication can be interrupted, at least intermittently. Each one comprises data-processing means 11a, 11b of the processor type (in particular the data-processing means 11b of the second server have a strong calculation power, because the learning is long and complex with respect to the simple use of the learned neural network), and where applicable means of data storage 12a, 12b such as a computer memory, for example a hard drive. In the case of generating a trajectory by a neural network, a learning database can be stored by the memory 12b of the second server 10b.
It is understood that there can be a plurality of exoskeletons 1 each embedding their first server 10a (which can then be of a limited power and size, in that it generates trajectories only for the exoskeleton 1 to which it is dedicated), or a plurality of exoskeletons 1 each connected to a more powerful first server 10a and possibly confounded with the second server 10b (and having the capacity to generate trajectories on the fly for all the exoskeletons 1).
As explained, the term “trajectory” of the exoskeleton conventionally means the changes in each degree of freedom (in particular actuated) expressed as a function of time or of a phase variable.
Moreover, it is known how to define a “complex” trajectory as a sequence of periodic trajectories referred to as “elementary” intersected by transitions. The term “periodic trajectory” means any trajectory applied (where applicable repeatedly) over the duration of a step in such a way that starting from an initial state of the exoskeleton 1 at the beginning of a step (moment of foot contact), the same state is returned to at the beginning of the next step (as explained this encompasses any flat gait, but also on a ramp, going up or down stairs, etc.). It is also said that the periodic trajectory forms a “limit cycle”. Thus, said periodic trajectory can be applied over any number of steps in a stable manner.
In other terms, each elementary trajectory is associated with a given gait of the exoskeleton 1 (a gait being defined by an n-tuple of gait parameters), and makes it possible to maintain this gait in a stable and feasible manner (i.e. as shall be seen complies with all the constraints of an optimisation problem and minimises as much as possible a cost function). As explained, said gait parameters correspond to “characteristics” of the way of walking, such as the length of the steps, the gait frequency and the inclination of the bust, but also the height of the steps in case of negotiating stairs, the instantaneous angle of rotation for curved movements; and also to the morphological characteristics of the operator (a sub-group of gait parameters referred to as patient parameters) such as their waist, their weight, the lengths of the thighs or tibias, the position of the centre of mass (value of the offset towards the front) and the lateral clearance of the bust in the framework of rehabilitation activity.
Said “constraints” of a gait mentioned hereinabove can be varied and depend on the type of gait desired, for example a “flat foot” gait, or “HZD”. The present method will not be limited to any type of desired gait.
The transitions correspond to changes in gait, i.e. variations in the values of said gait parameters (for example an increase in the length of the step): knowing an initial set of gait parameters and a final set of gait parameters, and therefore an initial periodic trajectory (associated with the initial set of gait parameters) and a final periodic trajectory (associated with the final set of gait parameters), said transition is a trajectory fragment making it possible to switch from the initial periodic trajectory to the final trajectory. Note that there must be “initial” or “final” transitions, as shall be seen hereinafter.
The ingenuity at the base of the present method is to notice that it is possible to impose in a periodic elementary trajectory two sub-portions in such a way as to render it more clearly anthropomorphic. In a first portion of the trajectory called “roll” the two feet are in contact with the ground and each perform a movement of pure rotation: the rear foot (in contact with at least the “tip”—typically a front platform of the foot structure—and advantageously initially as full contact, i.e. flat) progressively lifts the heel and the front foot (in contact only at heel) progressively poses the tip (two first pictures of
Note that the notion of “front” and “rear” is defined with respect to the direction of the gait: there is always a front foot and a rear foot, the latter are inversed at each step.
Thus, each elementary periodic trajectory is constructed from a first portion and from a second portion, the chaining of the first portion and of the second portion constituting a cycle that can be repeated (by inversing the left foot and right foot at each cycle).
The existence of these first and second portions can be imposed by adding conditions during the generation of the trajectory, and by applying the continuity of the trajectory parameters from one portion to another.
These conditions are advantageously as follows:
Note that this breakdown into two portions is not what a human actually does, the two portions exist in fact in the actual human gait without however being as distinct (a portion of the rotation of the front foot is concomitant with the translation movement), but this “exaggeration” makes it possible in practice to force a gait of the exoskeleton 1 that is much more natural. Moreover, these conditions can appear to be very restrictive, but in actual conditions it is observed that the stability is not altered at all, and the generating of trajectories is not made more complicated.
As shall be seen, it is even possible to define these first and second portions in transitions, in particular the initial and final transitions.
This is thus the case of the “cyclic roll” which defines the first portion of a periodic “cyclic” trajectory. The movements of each foot are defined on a trihedral by three speeds according to the three axes and three rotations according to the three axes. It can be seen that the following are imposed:
When the front foot reaches the output position, control moves to the “cyclic step” case for the second portion of the periodic trajectory. It can be seen that the following are imposed:
This ends with a “cyclicity”, i.e. the complete configuration of the exoskeleton 1 at the end of this second portion must be equal to the symmetry of the configuration at the beginning of the cyclic roll (first portion), and the cyclic roll is started again by inversing left foot (LF) and right foot (RF).
In the case of
Then, this chains with the second portion of this initial transition (Starting step) wherein the right foot does not move (or at least performs only a pure rotation) and the left foot is clear until it reaches the ground again: the periodic trajectory can then be started and more precisely the first portion (cyclic roll).
Similarly,
According to a first aspect, the method for generating a trajectory of a trajectory of an exoskeleton 1 is proposed, implemented by the data-processing means 11a of the server 10a. Said method for generating a trajectory of a trajectory of an exoskeleton 1 begins with said step (c) of obtaining at least one n-tuple of gait parameters defining a given gait of the exoskeleton 1, even a sequence of n-tuples of gait parameters progressively (for example due to new commands from the operator of the exoskeleton).
In a main step (b), the method comprises generating at least one periodic elementary trajectory of the exoskeleton 1 for said n-tuple of gait parameters, as explained such that said periodic elementary trajectory comprises in sequence a first trajectory portion and a second trajectory portion, such that in the first trajectory portion each foot performs a pure rotation, and in the second portion only one foot performs a translation (foot clearance, the other performing a pure rotation even being immobile)
For a sequence of n-tuples, for each new n-tuple of parameters, a new periodic trajectory is determined and a transition to this new periodic trajectory.
For this, the method for generating a trajectory advantageously comprises the determining (where applicable repeated in a regular manner) of the n-tuple of gait parameters of the exoskeleton 1, i.e. the repetition of the step (a).
Indeed, although the exoskeleton 1 is an exoskeleton receiving a human operator, it is the posture of said human operator (and possibly the pressing of buttons) that determines said parameters (contrary to the case of a normal robot that can directly receive a start request comprising a gate speed and/or direction setpoint).
For this, the operator can be provided as explained with a sensor jacket 15 making it possible to detect the configuration of their bust (orientation of the latter). The direction wherein the operator orients their bust is that in which they wish to walk and the speed is given by the intensity with which they place their bust forward (to what extent they lean over). The start request can correspond to the operator pressing a button (or a particular posture) signalling their intention to begin walking and therefore ordering the data-processing means to determine said parameters. Certain parameters such as the instantaneous angle of rotation or the height of the steps in case of negotiating stairs can be predetermined or obtained by means of other sensors 13, 14.
The generating of the trajectory per se will not be limited to any known technique, the object of the invention being only to apply the aforementioned constraints during the generation in such a way as to obtain the first and second portions.
Optimisation tools as explained are in particular known, capable in particular of generating a given trajectory according to the gait constraints and parameters chosen. For example, in the case of HZD trajectories, the problem of generating trajectories is formulated in the form of an optimum control problem that can be resolved preferably by a so-called direct collocation algorithm, see the document Omar Harib et al., Feedback Control of an Exoskeleton for Paraplegics Toward Robustly Stable Hands-free Dynamic Walking.
As also explained, it is alternatively possible to use a neural network trained on a learning trajectory database.
Note that it is possible to consider using a first neural network to generate the first portion of a trajectory, and a second neural network to generate the second portion of a trajectory. It is thus sufficient to learn the first network on a learning base of first portions of trajectories, and the second network on a learning base of second portions of trajectories.
According to a second aspect, a method for setting an exoskeleton in motion 1 is proposed comprising the implementation of said method according to the second aspect for generating a trajectory of the exoskeleton (step (a), (b)), then (in a step noted as (c)) the execution of said trajectory in such a way that the exoskeleton 1 walks.
The steps (b) and (c) can be repeated in such a way as to correct the trajectory of the exoskeleton 1 always in real time.
According to a third aspect, the invention relates to the system, for the implementation of the methods according to the first and/or the second aspect.
As explained, this system comprises a first server 10a, a possible second server 10b and an exoskeleton 1, possibly confounded.
The first server 10a comprises data-processing means 11a for the implementation of the method according to the first aspect.
The exoskeleton 1 comprises data-processing means 11c configured to implement the method according to the second aspect, as well as, if necessary, data-storage means 12 (in particular those of the first server 10a), inertial measuring means 14 (inertial measurement unit), means for detecting the impact of the feet on the ground 13 (contact sensors contact or possible pressure sensors), and/or a sensor jacket 15.
It has a plurality of degrees of freedom of which at least one degree of freedom actuated by an actuator controlled by the data-processing means 11c in the framework of implementing the method according to the third aspect.
According to a fourth and fifth aspects, the invention relates to a computer program product comprising code instructions for the execution (on the processing means 11a, 11c), of a method according to the first aspect for generating a trajectory of an exoskeleton 1 and/or of a method according to the second aspect for setting an exoskeleton 1 in motion, as well as means of storage that can be read by a piece of computer equipment on which this computer program product is found.
Number | Date | Country | Kind |
---|---|---|---|
FR2001317 | Feb 2020 | FR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/FR2021/050242 | 2/10/2021 | WO |