Methods for Learning Parameters of a Neural Network, for Generating a Trajectory of an Exoskeleton and for Setting the Exoskeleton in Motion

20220347847 · 2022-11-03

    Inventors

    Cpc classification

    International classification

    Abstract

    The present invention relates to a method for learning parameters of a neural network for generating trajectories of an exoskeleton (1), the method comprising the implementation, by data processing means (11a) of a first server (10a), of steps of: (a) Learning parameters of a first neural network suitable for generating periodic elementary trajectories of the exoskeleton (1) each for a given walking of the exoskeleton (1) defined by a n-tuple of walking parameters, according to a first database for learning periodic trajectories for a set of possible walkings of the exoskeleton (1); (b) Learning, using parameters from the first neural network, parameters of a second neural network suitable for generating periodic elementary trajectories of the exoskeleton (1) and transitions from one periodic elementary trajectory of the exoskeleton (1) to another periodic elementary trajectory of the exoskeleton (1), according to a second learning database of periodic elementary trajectories and transitions for a set of possible walkings of the exoskeleton (1).

    Claims

    1. Method for learning parameters of a neural network for generating trajectories of an exoskeleton, the method comprising the implementation, by a data processor of a first server, of steps of: (a) Learning parameters of a first neural network suitable for generating periodic elementary trajectories of the exoskeleton each for a given walking of the exoskeleton defined by a n-tuple of walking parameters, according to a first learning database of periodic trajectories for a set of possible walkings of the exoskeleton; and (b) Learning, using parameters from the first neural network, parameters of a second neural network suitable for generating periodic elementary trajectories of the exoskeleton and transitions from one periodic elementary trajectory of the exoskeleton to another periodic elementary trajectory of the exoskeleton, according to a second learning database of periodic elementary trajectories and transitions for a set of possible walkings of the exoskeleton.

    2. Method according to claim 1, wherein the step (a) comprises the construction of said first learning database of periodic trajectories for a set of possible walkings of the exoskeleton by using an optimisation algorithm.

    3. Method according to claim 2, wherein said set of possible walkings of the exoskeleton is chosen in such a way as to uniformly cover the space wherein said n-tuple of walking parameters has value.

    4. Method according to claim 2, wherein the step (a) further comprises the verification of a criterion representative of the accuracy of the predictions of the first neural network, and if this criterion is not verified the step (a) is repeated.

    5. Method according to claim 1, wherein the step (b) comprises the construction of said second learning database of periodic trajectories and transitions for a set of possible walkings of the exoskeleton, using the first learning database.

    6. Method according to claim 5, wherein said second learning database comprises all the transitions from a periodic elementary trajectory of the exoskeleton of the first learning database to another periodic elementary trajectory of the exoskeleton of the first learning database.

    7. Method according to claim 6, wherein each transition of a periodic elementary trajectory of the exoskeleton, referred to as initial periodic elementary trajectory, to another periodic elementary trajectory of the exoskeleton, referred to as final periodic elementary trajectory, is defined as a sequence of periodic elementary trajectories successively comprising the initial periodic elementary trajectory, at least one intermediate periodic elementary trajectory, and the final periodic elementary trajectory, the construction of the second learning database comprising, for each pair of an initial and of a final periodic trajectory of the first learning database, the determining of the at least one intermediate periodic elementary trajectory.

    8. Method according to claim 7, wherein each intermediate periodic elementary trajectory between an initial periodic elementary trajectory and a final periodic trajectory is a linear mixture of said initial and final periodic elementary trajectories.

    9. Method according to claim 7, wherein the determining of the at least one intermediate periodic elementary trajectory for a pair of an initial periodic elementary trajectory and of a final periodic trajectory uses a so-called shortest path algorithm from the initial periodic elementary trajectory to the final periodic trajectory in a graph of periodic elementary trajectories such that the cost for passing from one periodic elementary trajectory to another is representative of an inconsistency in the dynamics of the exoskeleton.

    10. Method according to claim 5, wherein the step (b) further comprises the verification of a criterion representative of the accuracy of the predictions of the second neural network, and if this criterion is not verified the step (b) is repeated.

    11. Method for generating a trajectory of an exoskeleton comprising steps of: (c) storing in a memory of a second server parameters of a second neural network learnt using a method for learning parameters of a neural network for generating trajectories of the exoskeleton according to claim 1; (d) generating a trajectory of the exoskeleton by a data process or of the second server by using said second neural network.

    12. Method according to claim 11, wherein said exoskeleton receives a human operator, wherein the step (d) determining a sequence of n-tuples of walking parameters of the exoskeleton desired by said operator, and the trajectory of the exoskeleton is generated according to said sequence of n-tuples.

    13. Method according to claim 12, wherein the generated trajectory of the exoskeleton comprises for each n-tuple of said sequence a new periodic elementary trajectory and a transition to this new periodic elementary trajectory.

    14. 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 a data processor of the exoskeleton, the method comprising a step (e) of executing by the data processor of the exoskeleton a trajectory of the exoskeleton generated by using the method for generating a trajectory of the exoskeleton according to claims 11, so as to make said exoskeleton walk.

    15. A system comprising a first server comprising a first data processor, a second server comprising a second data processor,and an exoskeleton comprising a third data processor, the first data processor being configured to: (a) learn parameters of a first neural network suitable for generating periodic elementary trajectories of the exoskeleton each for a given walking of the exoskeleton defined by a n-tuple of walking parameters, according to a first learning database of periodic trajectories for a set of possible walkings of the exoskeleton; and (b) learn, using parameters from the first neural network, parameters of a second neural network suitable for generating periodic elementary trajectories of the exoskeleton and transitions from one periodic elementary trajectory of the exoskeleton to another periodic elementary trajectory of the exoskeleton, according to a second learning database of periodic elementary trajectories and transitions for a set of possible walkings of the exoskeleton.

    16. (canceled)

    17. A non-transitory storage medium comprising code instructions executable by a computing device, wherein when executed the code instructions cause the computing device to at least: (a) learn parameters of a first neural network suitable for generating periodic elementary trajectories of an exoskeleton each for a given walking of the exoskeleton defined by a n-tuple of walking parameters, according to a first learning database of periodic trajectories for a set of possible walkings of the exoskeleton; and (b) learn, using parameters from the first neural network, parameters of a second neural network suitable for generating periodic elementary trajectories of the exoskeleton and transitions from one periodic elementary trajectory of the exoskeleton to another periodic elementary trajectory of the exoskeleton, according to a second learning database of periodic elementary trajectories and transitions for a set of possible walkings of the exoskeleton.

    18. The system of claim 15, wherein the second data processor is configured to at least: (c) store in a memory of the second server parameters of the second neural network; and (d) generate a trajectory of the exoskeleton of the second server by using the second neural network.

    19. The system of claim 18, wherein the exoskeleton has a plurality of degrees of freedom of which at least one degree of freedom is actuated by an actuator controlled by the third data processor, and wherein the third data processor is configured to at least set the exoskeleton into motion by executing the trajectory of the exoskeleton so as to make the exoskeleton walk.

    20. The non-transitory storage medium of claim 17, wherein, when executed, the code instructions cause the computer to at least: (c) store, in a memory of a second server, parameters of the second neural network; and (d) generate a trajectory of the exoskeleton by using the second neural network.

    21. The non-transitory storage medium of claim 22, wherein the exoskeleton has a plurality of degrees of freedom of which at least one degree of freedom is actuated by an actuator controlled by the computer, and when executed, the code instructions cause the computer to at least set the exoskeleton into motion by executing the trajectory of the exoskeleton so as to make the exoskeleton walk.

    Description

    PRESENTATION OF THE FIGURES

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

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

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

    [0058] FIG. 3 is a diagram of a neural network used in the methods according to the invention;

    [0059] FIG. 4 is a diagram showing a preferred embodiment of the methods according to the invention.

    DETAILED DESCRIPTION

    Architecture

    [0060] According to three complementary aspects of the invention, the following are proposed: -p1 a method for learning parameters of a neural network, in particular of the FNN (Feedforward Neural Network) type for generating the trajectory of an exoskeleton 1; [0061] a method for generating a trajectory of an exoskeleton 1 (using a neural network, advantageously learnt thanks to the aforementioned method); and [0062] a method for setting an exoskeleton 1 in motion (applying a trajectory generated thanks to the method according to the second aspect).

    [0063] These three types of methods are implemented within an architecture such as shown in FIG. 1, thanks to a first and/or a second server 10a, 10b. The first server 10a is the learning server (implementing the first method) and the second server 10b is a server for generating trajectories (implementing the second method). It is entirely possible that these two servers are confounded, but in practice the first server 10a is a remote server while the second server 10b can be embedded by the exoskeleton 1 for operation in real time.

    [0064] Each one of these servers 10a, 10b is typically a piece of IT equipment connected to a wide-area network 20 such as the internet network for exchanging data, although in practice once the neural network is learnt 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 11a of the first server have high computing power, because the learning is long and complex compared to a simple use of the learnt neural network), and where applicable data storage means 12a, 12b such as a computer memory, for example a hard drive. On verra plus loin a learning database that can be stored by the memory 12a of the first server 10b.

    [0065] According to a preferred embodiment that combines the three types of methods according to the invention, the system comprises the first server 10a connected to the exoskeleton 1 embedding said second piece of equipment 10b via the network 20: [0066] the first server 10a uses its computational power to, where applicable, constitute two learning databases, then implement a method for learning parameters of a second neural network using these learning databases, and it transmits to the second server 1b the parameters learnt from the second neural network; [0067] the second server 10b implements the method for generating a trajectory of the exoskeleton 1 thanks to a neural network using the parameters retrieved from the first server 10a; [0068] the exoskeleton 1 directly applies said trajectory generated in situ for setting in motion.

    [0069] It is understood that there can be a plurality of exoskeletons 1 each embedding their second server 10b (which can then be of limited power and space, 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 second server 10b that is more powerful and optionally confounded with the first server 10a (and having the capacity of generating trajectories on the fly for all the exoskeletons 1).

    [0070] In reference to FIG. 2, the term exoskeleton 1 means an articulated mechanical system of the bipedal robotics device type, actuated and controlled, provided with two legs, receiving more precisely a human operator that has their lower limbs each attached to a leg of the exoskeleton 1 (in particular thanks to straps). It can thus be a more or less humanoid robot. “Walking” here means the setting into motion of the robotics device 1 in the broad sense, which results in practice in an alternating support on the legs, in the standing position (on flat ground, an inclined ramp, in a staircase, etc.), in such a way as to produce a displacement, but also a movement to pass from a sitting position to a standing position (movement referred to as “standing up”) or inversely.

    [0071] The exoskeleton 1 has a plurality of degrees of freedom, i.e. deformable articulations (generally via a rotation) i.e. mobile in relation to one another, each one of which is either “actuated” or “not actuated”.

    [0072] 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 can be acted upon. On the contrary, a degree of freedom that is not actuated designates an articulation that is devoid of an actuator, i.e. this degree of freedom follows its own dynamics and the data processing means 11c do not have any direct control thereupon (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 point of contact. The angle between the heel-hip axis and the vertical thus constitutes a degree of freedom that is not actuated.

    [0073] The present exoskeleton naturally comprises at least one actuated degree of freedom, preferably a plurality, and also preferably at least one degree of freedom that is not actuated, i.e. it is said to be “under-actuated”, as mentioned hereinabove. The number of degrees of freedom that are not actuated is called degree of under-actuation.

    [0074] The data processing means 11c designate a piece of IT equipment (typically a processor, either external if the exoskeleton 1 is “remote-controlled” but preferably embedded in the exoskeleton 1), where applicable confounded with the data processing means 11 b of the second server 10b if it is embedded (case shown in FIG. 2), and suitable for processing instructions and generating commands for the various actuators. The latter can be electrical, hydraulic, etc.

    [0075] The exoskeleton 1 can further comprise a memory 12 (in particular that of the second server 10b, i.e. the means 12 can be external if the server 10b is not embedded), and various sensors such as means for detecting the impact of the feet on the ground 13, inertial measurement means 14, a sensor vest 15 of the operator, etc.

    [0076] The present application shall not be limited to any exoskeleton 1 architecture, and the example shall be taken such as described in applications WO2015140352 and WO2015140353.

    [0077] Thus, preferably and in accordance with these applications, the exoskeleton 1 comprises on each leg a foot structure comprising a supporting plane on which a foot of a leg of the person wearing the exoskeleton can bear against when the foot is flat.

    [0078] This supporting plane comprises a front platform and a rear platform, such that a foot pivot connection connects the front platform to the rear platform, by constituting a degree of freedom that is not actuated. Such an architecture is particularly suited for trajectories of the “HZD” type.

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

    Principle of the Invention

    [0080] These last few years, there has been a keen interest for artificial intelligence techniques in the field of real-time control.

    [0081] Unfortunately, the current process for generating trajectories is hardly compatible with methods of learning by reinforcement because there is no analytic gradient, which is required for the backpropagation of errors. Recourse is then required to more complex methods and which require more experimental data, which is expensive to obtain, such as Q-Learning and Policy Gradients. In addition, these methods do not make it possible to carry out the learning on an actual exoskeleton 1. Therefore, simulations have to be done.

    [0082] Thus, although certain works in robotics makes use of neural networks to carry out planning tasks, the usage thereof is limited to non-linear regression, most often with the objective of compressing a database of trajectories and thus easily embedding it into a real device. This approach relegates the neural network to that status of a “black box” tool in the framework of research focussing on problems stemming from the field of traditional robotics rather than Machine Learning, offering little perspective for research. These works moreover have mitigated performance, because the trajectories are data that is difficult to model, the latter having many irregularities and a chaotic nature with regards to input parameters.

    [0083] The present method cleverly resolves these difficulties by learning in fact successively two neural networks, designated as first and second neural network. The second neural network is the “output” network which effectively makes it possible to generate the trajectory of the exoskeleton.

    [0084] As explained, “trajectory” of the exoskeleton means the changes in each degree of freedom (in particular actuated) expressed as a function of time or of a phase variable.

    [0085] The idea is 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 contact of the foot), the same state is returned at the beginning of the following step (as explained this encompasses any flat walking, 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.

    [0086] In other terms, each elementary trajectory is associated with a given walking of the exoskeleton 1 (a walking being defined by a n-tuple of walking parameters), and makes it possible to maintain this walking in a stable and feasible manner (i.e. as shall be seen respects all the constraints of an optimisation problem and minimises a cost function as much as possible). As explained, said walking parameters correspond to “characteristics” of the way of walking, such as the length of the steps, the walking 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 morphological characteristics of the operator (a subgroup of walking parameters referred to as patient parameters) such as their size, their weight, the lengths of the thighs or of the tibias, the position of the centre of mass (value of the shift towards the front) and the lateral deviation of the bust in the framework of rehabilitation activity.

    [0087] Said “constraints” of walking mentioned hereinabove can be varied and depend on the type of walking desired, for example a “flat foot” walking, or “HZD”. The present method will not be limited to any type of desired walking.

    [0088] The transitions correspond to changes in walking, i.e. variations in the values of said walking parameters (for example an increase in the length of the step): knowing an initial set of walking parameters and a final set of walking parameters, and therefore an initial periodic trajectory (associated with the initial set of walking parameters) and a final periodic trajectory (associated with the final set of walking parameters), said transition is a trajectory fragment that makes it possible to pass from the initial periodic trajectory to the final trajectory. Note that there can be “initial” or “final” transitions, for example a standing up or sitting down movement, but focus shall be given to the “intermediate” transitions between periodic trajectories, in that the initial or final transitions can be precalculated.

    [0089] As shall be seen, such a transition is cleverly seen as a path in a space of periodic trajectories, i.e. one or more intermediate trajectories can be planned between an initial periodic trajectory and a final periodic trajectory, corresponding in particular to a “mixture” between these two trajectories, i.e. having intermediate walking parameters between these initial and final trajectories. In practice, a continuous set of possible intermediate periodic elementary trajectories can be available beforehand (all the trajectories by changing in particular linearly the walking parameters from one to the other of the initial and final trajectories), and the determining of transition trajectory consists of choosing the suitable succession of intermediate trajectories (advantageously parameterised by a function referred to as “progression” as shall be seen hereinafter). The number of these intermediate trajectories can be set and they are advantageously uniformly distributed, i.e. all of the possible intermediate trajectories form a continuous and linear succession.

    [0090] In other terms, rather than passing instantly from an initial trajectory to a final trajectory, this proceeds in small increments over successive cycles. If the transition is sufficiently slow, then the impact of the progressive change in trajectory can be neglected. In other terms, the state of the system belongs practically to a limit cycle at each step.

    [0091] The first neural network is able to predict walkings, i.e. generate a periodic elementary trajectory of the exoskeleton 1 for a given walking of the exoskeleton 1. In other terms, the first neural network takes as input an n-tuple of walking parameters and generates as output the corresponding periodic trajectory. The advantage is that this approach limits the number of dimensions, and therefore remains within the scope of current systems.

    [0092] The second neural network is capable of generating periodic walkings identical to those obtained by the first neural network, but also to predict transitions that are physically permissible between the periodic walking cycles, i.e. to generate both periodic elementary trajectories and transitions, i.e. in the end any trajectory. It therefore generalises the first neural network and comes as a replacement.

    [0093] Each one of the first and second networks is preferably a network of the FNN (Feedforward Neural Network) type, i.e. wherein the information flows in only one direction, forward, from the input nodes, passing through the hidden layers (where applicable) and to the output nodes, without recurrent connections, because such networks have excellent scalability. It is possible in particular to take an FNN with 2 or 3 hidden layers and 200 to 300 neurons per layer. Alternatively, other types of neural networks can be used such as convolutional neural networks (CNN), recurrent networks of the Long Short-Term Memory (LSTM) or Gated Recurrent Unit (GRU) type, etc.

    [0094] Note that it is desirable that the first and/or the second neural network have a continuously derivable nature with respect to the walking parameters, and for this a network is preferred for example that uses an activation function of the sigmoid type, which is continuously derivable (in opposition to ReLU in particular).

    [0095] According to a particularly preferred embodiment shown in FIG. 3, each one of the first and second networks is advantageously an FNN that has a final block referred to as deconvolution (or transposed convolution) that uses alternatively convolution layers and upsampling layers. More precisely, this architecture forms a structure referred to as autoencoder (or “encoder-decoder”) wherein the main FNN block plays the role of an encoder by generating feature maps of small dimension, referred to as initial encoded sequences, and the deconvolution block plays the role of decoder by reconstructing the output sequence defining the trajectory predicted from the initial encoded sequences. This architecture makes it possible to have few parameters to be learnt because its structure naturally predicts time sequences correlated to each other, it is therefore not necessary to learn this zero behaviour as is the case with a conventional FNN.

    Method of Learning

    [0096] According to a first aspect, the method for learning is proposed, implemented by the data processing means 11a of the first server 1a.

    [0097] As explained and as shown in FIG. 4, the method begins with a step (a) of learning parameters of the first neural network able to generate a periodic elementary trajectory of the exoskeleton 1 for a given walking of the exoskeleton 1 defined by a n-tuple of walking parameters, according to a first database for learning periodic trajectories for a set of possible walkings of the exoskeleton 1.

    [0098] Preferably, this step (a) comprises the construction of said first learning database, i.e. the generating of said periodic trajectories that constitute it.

    [0099] The idea is to cover the set of possible walkings of the exoskeleton 1, i.e. to have for a large number of n-tuples of walking parameters, if possible well distributed, an associated trajectory.

    [0100] As explained, optimisation tools are known for this, capable in particular of generating the first database of trajectories by optimisation over a compact space of the set of permissible research constituted of the various walking parameters. 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.

    [0101] The samples are advantageously randomly generated according to a uniform and discretised law over a finite set that has an identical number of possible values per parameter so as to guarantee a uniform covering of the complete space even for a small number of samples and include exactly its boundary. Mathematically, this means that for any given n-tuple of parameters there is a “close” sample.

    [0102] Note that this step of constituting the first learning base is long but can be done far upstream, and the first base can be completed little by little. It is also possible to start with a pre-constructed base.

    [0103] Regarding the learning of the first network in itself, it is possible to proceed in a conventional manner in particular by supervised learning, and at the end verify a criterion representative of the accuracy of the predictions of the neural network in order to validate the learning or not.

    [0104] More rigorously, the prediction error must advantageously be significantly less than a maximum error of reference monitoring on the actual exoskeleton during a step on the average, i.e. less than a given faction (in particular 4%) of the predictions have a maximum error (in infinite standard, i.e. all articulations and all instants takes as a whole) of prediction greater than a threshold such as 0.01 rad.

    [0105] If this is not the case, the trajectory-generating algorithm itself can be modified, in such a way as to encourage it to produce trajectories that are similar to a reference, corresponding in the present case to the predictions of the neural network.

    [0106] A new first database is then preferably generated by following this methodology and the first neural network is retrained on this new base in a new occurrence of step (a), without reinitialising it, but rather incrementally with respect to its preceding state (i.e. we begin with the weights obtained at the end of the first occurrence of the step (a)). If the accuracy criterion of the predictions is still not verified, the process is reiterated.

    [0107] At the end of the step (a), a first neural network capable of predicting periodic trajectories is available. These periodic trajectories are guaranteed to be feasible and stable, i.e. that satisfies all the constraints of the optimisation problem coming from the trajectory-optimising algorithm and that minimises the cost function of the original problem as much as possible. As explained, it is not possible to extend the proposed approach to the generating of transitions because the number of dimensions to be explored becomes too substantial.

    [0108] It is understood that a large number (even an infinity) of feasible trajectories exists for a given task (i.e. that satisfy the constraints). The role of the optimisation process is to calculate the one that minimises a cost chosen from among the latter (energy in practice). However, all of these solutions are difficult to model by a neural network, that is why it is sought to restrict the optimisation problem solely to trajectories that can be perfectly modelled. Concretely, it is problem of consensus between all the trajectories of the database: the latter must agree with each other in order to be able to be modelled as a set, and thus guarantee predictions that are accurate and reliable (i.e. feasible/stable on the exoskeleton 1 for the training samples but also for test samples). It is here that the iterative method comes into play, because resolving this problem directly is impossible because it is too complex.

    [0109] Thus, as explained the method then comprises a step (b) of learning, using parameters from the first neural network, parameters of a second neural network suitable for generating periodic elementary trajectories of the exoskeleton 1 and transitions from one periodic elementary trajectory of the exoskeleton 1 to another periodic elementary trajectory of the exoskeleton 1, according to a second learning database of periodic elementary trajectories and transitions for a set of possible walkings of the exoskeleton 1.

    [0110] Preferably, the second neural network and the first neural network have as explained the same architecture (for example that of FIG. 3), but the second neural network comprises a larger number of parameters (for example by having more parameters by layer for an FNN, or more channels for a convolutional network for example), with the additional parameters able to be learnt during the step (b). The common parameters can optionally also be relearnt in the step (b) by starting with the values obtained in the step (a). Alternatively, the second neural network can correspond to the first neural network with additional layers with respect to the first network, of which the parameters will be learnt during the step (b).

    [0111] It is understood in the same way that for the step (a), the step (b) can comprise the construction of said second learning database, i.e. the generating of said periodic trajectories and transitions that constitute it, and this advantageously from the first database. More precisely, all the transitions will be constructed from a so-called initial periodic trajectory of the first learning database to another so-called final periodic trajectory of the first learning database. Again, the second learning base can be constituted far upstream, completed little by little, and/or be pre-constructed.

    [0112] As explained, a transition can be seen as a path in a space of periodic trajectories from an initial trajectory to a final trajectory, in such a way that said second base can contain, for each pair of initial and final periodic elementary trajectories of the first base (i.e. each pair of n-tuples of walking parameters, one designating the initial trajectory and the other the final trajectory) the transition from one to the other. Advantageously, all possible transitions are considered as equiprobable, regardless of the amplitude of the transition.

    [0113] In practice, a heuristic method based solely on the periodic walking predictions can be proposed. The approach is as follows:

    [0114] 1. Generate a grid of periodic trajectories (which are as many possible intermediate trajectories) ranging from the initial periodic trajectory to the final trajectory by linearly varying the walking parameters. These intermediate trajectories correspond to a linear mixture between the two initial and final trajectories. As explained the number of intermediate trajectories can be set and they are advantageously uniformly distributed.

    [0115] 2. A transition corresponds to any path passing through this grid from the upper left corner (i.e. initial periodic trajectory at the initial time) to the lower right corner (final periodic trajectory at the final time). The transition considered as optimal among an infinite choice of possibilities can then be calculated using a so-called shortest path algorithm under constraints. By considering the grid as an undirected graph, i.e. the vertices of the graphs are periodic elementary trajectories (initial, final or intermediate), the cost associated with each transition from one vertex to another (travels of an edge, i.e. change in trajectory) corresponds to the “inconsistency” in the dynamics due to the transition from one periodic walking to another, the objective being to minimise the “inconsistency” of the transition over the entire trajectory. More precisely, it is desirable to avoid over the duration of the transition a change in trajectory that would have an excessively high impact risking the creation of an imbalance. The inconsistency corresponds mathematically to the violation of the equation of the dynamics along the transition trajectory: it is possible to use for example the residual error between the numerical derivative calculated from the transition trajectory and the expected term according to the equation of the dynamics. In practice, as explained, the travels in the grid can be parameterised by a function referred to as “progression”, that defines the progressive transition between the initial and final periodic trajectories, which can for example be parameterised by a polynomial the coefficients of which are optimised to minimise the inconsistency and respect the edge conditions thanks to said shortest path algorithm.

    [0116] Regarding the learning of the second network itself, it is possible to conventionally proceed by minimising a cost function, and again at the end check said criterion representative of the accuracy of the predictions of the neural network in order to validate the learning or not.

    [0117] At the end of the step (b), a first neural network capable of predicting complex trajectories (including transitions) is available. The second neural network (more particularly its learnt parameters) can then be embedded in a step (c) on the second server 10b (preferably on the exoskeleton 1).

    Method for Generating a Trajectory

    [0118] According to a second aspect, the method for generating a trajectory of a trajectory of an exoskeleton 1 is proposed, implemented by the data processing means 11b of the second server 1b. Said method for generating a trajectory of a trajectory of an exoskeleton 1 follows the implementation of the method for learning according to the first aspect of the second neural network. More precisely, it begins with said step (c) of storing on a memory 12 of the second server 10b parameters of a second neural network learnt by means of the method for learning parameters of a neural network for generating trajectories of the exoskeleton 1.

    [0119] As explained, the second neural network can have been generated well beforehand, be embedded on a large number of exoskeletons 1, etc. Preferably it is implemented in real time.

    [0120] Said second method can be implemented regularly over the operation duration of the exoskeleton 1, and in particular comprises the optionally repeated call of the second neural network in such a way as to obtain periodic trajectories and/or transitions, in a step (d) for generating a trajectory of the exoskeleton 1 by data processing means 11 b of the second server 10b by using said second neural network

    [0121] More precisely, a sequence of n-tuples of walking parameters progressively obtained is supposed (for example due to new commands from the operator of the exoskeleton). For each new n-tuple of parameters, the second neural network determines a new periodic trajectory and a transition towards this new periodic trajectory.

    [0122] For this, the method for generating a trajectory advantageously comprises the determining (where applicable regularly repeated) of the n-tuple of walking parameters of the exoskeleton 1.

    [0123] Indeed, if the exoskeleton 1 is an exoskeleton receiving a human operator, it is the posture of said human operator (and optionally the pressing of buttons) that determines said parameters (contrary to the case of a normal robot that can directly receive a start-up request comprising a setpoint for the speed and/or direction of walking).

    [0124] For this, the operator can be provided as explained with a sensor vest 15 that makes it possible to detect the configuration of their bust (orientation of the latter). The direction in which 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 the extent the operator leans over). The start-up request can correspond to the operator pressing a button (or a particular posture) signalling their intention to start walking and therefore commanding the data processing means to determine said parameters. Some 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.

    [0125] According to a third aspect, a method for setting an exoskeleton 1 in motion is proposed comprising the implementation of said method according to the second aspect for generating a trajectory of the exoskeleton (step (a), (b), (c), (d)), then (in a step noted as (e)) the execution of said trajectory in such a way that the exoskeleton 1 walks.

    [0126] Steps (d) and (e) can be repeated in such a way as to correct the trajectory of the exoskeleton 1 always in real time.

    Equipment and System

    [0127] According to a fourth aspect, the invention relates to the system, for the implementation of the methods according to the first and second and/or the third aspect.

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

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

    [0130] The second server 10b comprises data processing means 11b for the implementation of the method according to the second aspect, and generally data storage means 12 for the storage of the second neural network (or rather its learnt parameters).

    [0131] The exoskeleton 1 comprises data processing means 11c configured for the implementation of the method according to the third aspect, as well as if necessary data storage means 12 (in particular those of the second server 10b), inertial measurement means 14 (inertial measurement unit), means for detecting the impact of the feet on the ground 13 (contact sensors or optionally pressure sensors), and/or a sensor vest 15.

    [0132] 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

    [0133] According to a fifth and a sixth aspects, the invention relates to a computer program product comprising code instructions for the execution (on the processing means 11a, 11b, 11c), of a method according to the first aspect of learning parameters of a neural network, of a method according to the second aspect for generating a trajectory of an exoskeleton 1 and/or of a method according to the third aspect for setting the exoskeleton 1 in motion, as well as means of storage that can be read by a piece of IT equipment on which this computer program product is found.