METHODS FOR GENERATING A TRAJECTORY OF AN EXOSKELETON AND FOR SETTING THE EXOSKELETON IN MOTION

20230069928 · 2023-03-09

    Inventors

    Cpc classification

    International classification

    Abstract

    The present invention relates to a method for generating a trajectory of an exoskeleton (1) provided with two legs each having a foot, the method comprising the implementation by data-processing means (11a) of a server (10a), of steps of: (a) obtaining at least one n-tuple of gait parameters defining a given gait of the exoskeleton (1); (b) generating at least one periodic elementary trajectory of the exoskeleton (1) for said n-tuple of gait parameters, 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.

    Claims

    1. 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: (a) obtaining at least one n-tuple of gait parameters defining a given gait of the exoskeleton; (b) generating at least one periodic elementary trajectory of the exoskeleton for said n-tuple of gait parameters, 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.

    2. The method according to claim 1, wherein said elementary periodic trajectory cyclically repeats the sequence of said first trajectory portion then second trajectory portion.

    3. The method according to claim 1, wherein, in the second trajectory portion, the foot that performs the translation is the initially rear foot, the initially front foot performing a pure rotation.

    4. The method according to claim 3, wherein said initially front foot remains immobile during the second trajectory portion.

    5. The method according to claim 1, wherein at the end of the first trajectory portion the front foot is flat on the ground.

    6. The method according to claim 1, wherein the step (b) is implemented by using at least one neural network.

    7. The method according to claim 1, said exoskeleton (1) receiving a human operator, the step (a) comprising the determining of a sequence of n-tuples of gait parameters of the exoskeleton (1) desired by said operator.

    8. The method according to claim 7, wherein 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.

    9. A method for setting an exoskeleton in motion (1) 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, in such a way as to cause said exoskeleton to walk, said trajectory of the exoskeleton being generated by the implementation of the steps of: (a) obtaining at least one n-tuple of gait parameters defining a given gait of the exoskeleton; (b) generating at least one periodic elementary trajectory of the exoskeleton for said n-tuple of gait parameters, 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.

    10. 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 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: (a) obtaining at least one n-tuple of gait parameters defining a given gait of the exoskeleton; (b) generating at least one periodic elementary trajectory of the exoskeleton for said n-tuple of gait parameters, 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.

    11. A computer program product comprising code instructions for the execution of 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: (a) obtaining at least one n-tuple of gait parameters defining a given gait of the exoskeleton; (b) generating at least one periodic elementary trajectory of the exoskeleton for said n-tuple of gait parameters, 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.

    12. A means of storage that can be read by a piece of computer equipment whereon a computer program product is recorded comprising code instructions for the execution of 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: (a) obtaining at least one n-tuple of gait parameters defining a given gait of the exoskeleton; (b) generating at least one periodic elementary trajectory of the exoskeleton for said n-tuple of gait parameters, 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.

    Description

    PRESENTATION OF THE FIGURES

    [0044] 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:

    [0045] FIG. 1 shows the human gait;

    [0046] FIG. 2 is a diagram of an exoskeleton used by the methods according to the invention;

    [0047] FIG. 3 is a diagram of an architecture for the implementation of the methods according to the invention;

    [0048] FIG. 4 is a diagram showing the structure of the problem of optimisation describing all the phases of a gait trajectory with rolling of the foot of the exoskeleton in an example embodiment of the invention.

    DETAILED DESCRIPTION

    Architecture

    [0049] According to two additional aspects of the invention, the following are proposed: [0050] a method for generating a trajectory of an exoskeleton 1; and [0051] a method for setting an exoskeleton in motion 1 (applying a trajectory generated thanks to the method according to the first aspect).

    [0052] In reference to FIG. 2, said exoskeleton 1 is an articulated mechanical system of the bipedal robotic device type, actuated and controlled, provided with two legs, receiving more precisely a human operator having their lower limbs each solidly attached to a leg of the exoskeleton 1 (in particular thanks to straps). It can also be a more or less humanoid robot. The term “gait” here means setting the robotic device 1 in motion, which results in practice in an alternative support on the legs, in the standing position, in such a way as to produce a displacement.

    [0053] 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”.

    [0054] 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 FIG. 1, the heel-ground contact is punctual, and the exoskeleton 1 is thus free in rotation with respect to this contact point. The angle between the heel-hip axis and the vertical then constitutes a non-actuated degree of freedom.

    [0055] 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.

    [0056] 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.

    [0057] 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.

    [0058] 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.

    [0059] 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.

    [0060] Those skilled in the art will however know how to adapt the present method to any other mechanical architecture.

    [0061] 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 FIG. 3.

    [0062] The first server 10a is a server for generating trajectories, and the second server 10b is a possible learning server.

    [0063] 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.

    [0064] 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 FIG. 2. According to a preferred embodiment, the first server 10a implements the method for generating a trajectory of the exoskeleton 1 thanks to a neural network that uses the parameters retrieved from the second server 10b, and the exoskeleton 1 directly applies said trajectory generated in situ to set itself in motion.

    [0065] 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.

    [0066] 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).

    Principle of the Invention

    [0067] 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.

    [0068] 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.

    [0069] 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.

    [0070] 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.

    [0071] 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.

    [0072] 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 FIG. 1), then in a second portion referred to as “swing” or simply “step”, the front foot remains in contact with the ground and the other is clear (this is referred to as “foot clearance”) and performs a translation movement (which can of course include various rotations): in other terms, this initially rear foot breaks the contact with the ground, passes in front and returns to contact with the ground with the heel (last three images of FIG. 1). At this stage the two feet are in contact with the ground inversely to what was the case at the beginning of the first portion (the rear foot has become the front foot), but in an identical configuration (the rear foot is in contact at the tip and even flat, and the front foot is in contact only at the heel): a step has been taken and it is possible to repeat a first and a second portion symmetrically, and so on (giving the “periodic elementary” nature of the trajectory).

    [0073] 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.

    [0074] 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).

    [0075] 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.

    [0076] These conditions are advantageously as follows: [0077] For the first portion, pure rotation of each foot (even rotation according to a single axis of rotation), and preferably the front foot is flat at the end of the first portion; [0078] For the second portion, clearance and translation of only the (initially) rear foot, until it again touches the ground (by becoming the new front foot, leading to the word “initially”), during this time pure rotation of the (initially) front foot, even the front foot immobile.

    [0079] 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.

    [0080] As shall be seen, it is even possible to define these first and second portions in transitions, in particular the initial and final transitions.

    First and Second Trajectory Portions

    [0081] FIG. 4 shows a preferred example of an initial transition, then a step, and a final transition. The step shall first be described, i.e. the elementary periodic trajectory, by beginning with the first portion (roll phase). In the example of FIG. 4, the left foot (dotted line—the right foot is in a solid line)) is the front foot. Those skilled in the art can naturally transpose the example to the case of the figure.

    [0082] 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: [0083] For the right (rear) foot, continuity and v.sub.x=v.sub.y=v.sub.z=Ω.sub.r=Ω.sub.y=0, only Ω.sub.x≠0 to allow for the pure rotation; [0084] For the left (front) foot, continuity and v.sub.x=v.sub.y=v.sub.z=Ω.sub.r=Ω.sub.y=0, only Ω.sub.x≠0 to allow for the pure rotation, and output position p=0 i.e. foot flat (“zero” position). [0085] Each foot is subjected during the movement to a non-zero vertical force that reveals the reaction of the ground on the foot.

    [0086] 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: [0087] For the left (front) foot, continuity and v=0, i.e. pure rotation. [0088] For the right (rear) foot, continuity and foot clearance [0089] The right foot is in the air in such a way that it is not subjected to any force.

    [0090] 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).

    [0091] In the case of FIG. 4, it is assumed that this begins with an initial transition from a given starting posture (from an immobile position, standing, etc.). As explained it is possible to again have a first and a second portion of this transition, by analogy with the first and second portions of an elementary periodic trajectory. It is here supposed that this begins with a starting roll “with the left foot behind”, but this is an arbitrary choice and the opposite could be done, the two feet being in practice generally side by side. As explained hereinabove on impose a pure rotation of the feet, but in practice it is even possible to have feet that remain immobile when flat, with only the pelvis being set into motion. The idea is to trigger the dynamics of the movement.

    [0092] 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).

    [0093] Similarly, FIG. 4 shows the case of a final transition according to a periodic first trajectory portion. By symmetry with the initial transition, this is begun by the second portion (stopping step) to finish with the first portion (stopping roll). Note that the portion of stopping step is identical to the second portion of the periodic trajectory, with a fixed left foot and a right foot that is clear (again this is arbitrary, the complete opposite could be performed). The only difference is that in this type of transition the calculated movement generally sees the rear foot going only to the level of the foot in front, not beyond as in a gait. In the portion of stopping roll it is possible to again have at best a rotation of the feet, the exoskeleton 1 is immobilised until a final posture is reached (for example immobile position, standing, etc.).

    Methods

    [0094] 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).

    [0095] 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)

    [0096] 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.

    [0097] 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).

    [0098] 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).

    [0099] 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.

    [0100] 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.

    [0101] 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.

    [0102] As also explained, it is alternatively possible to use a neural network trained on a learning trajectory database.

    [0103] 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.

    [0104] 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.

    [0105] 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.

    Equipment and System

    [0106] 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.

    [0107] As explained, this system comprises a first server 10a, a possible second server 10b and an exoskeleton 1, possibly confounded.

    [0108] The first server 10a comprises data-processing means 11a for the implementation of the method according to the first aspect.

    [0109] 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.

    [0110] 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.

    Computer Program Product

    [0111] 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.