The present invention relates to the field of robots of the exoskeleton type.
More specifically, it relates to a method for setting in motion an exoskeleton with a variable level of assistance.
Recently, assisted gait devices called exoskeletons appeared for people with major mobility problems, such as paraplegics, these are external robotic devices that the operator (the human user) “puts on” thanks to an attachment system that binds the movements of the exoskeleton to his own movements. Lower limb exoskeletons have multiple joints, usually at least at the knees and hips, to recreate the gait movement. Actuators allow moving these joints, which in turn make the operator move. An interface system allows the operator to give orders to the exoskeleton, and a control system transforms these orders into command for the actuators. Sensors generally complete the device.
These exoskeletons constitute an advance compared to wheelchairs because they allow the operators to stand up and walk. The exoskeletons are no longer limited by the wheels and can theoretically evolve in most non-flat environments: the wheels, unlike the legs, do not allow crossing significant obstacles such as steps, stairs, obstacles with a too great height, etc.
In addition to the recovery of mobility, the exoskeletons are very interesting in rehabilitation, particularly after neurological accidents such as strokes.
In general, the rehabilitation is carried out thanks to the know-how of physiotherapists and occupational therapists. Various activities are practiced to strengthen the limbs but especially to reaccustom the brain to giving electrical signals corresponding to coherent orders.
The exoskeleton is then used to guide the limbs of the patients to make them follow a predetermined trajectory. Indeed, alone, these patients do not perform the right movements, for example by advancing the torso to raise the knee. The exoskeleton drives the movement of the limbs of the patients while resisting the inappropriate movements.
“Assistance” refers to this force applied in favor of the appropriate movements and against the inappropriate movements. Mathematically, a level of assistance of 100% corresponds to a case in which no force is needed to move along the predetermined trajectory, and an assistance of 0% corresponds to a case in which there is no force applied for or against the movement.
It is understood that to help patients progress, the level of assistance must be gradually reduced to adapt to their progress.
In other words, it is desirable to have a variable level of assistance, which in practice is extremely complex from a mathematical point of view.
The basic solution is to provide several controllers each associated with a predetermined level of assistance, so as to have for example choices between four or five different levels of assistance. It is understood that such a solution is not very modular and especially that it remains heavy.
It was therefore proposed in the document Robot Assisted Gait Training With Active Leg Exoskeleton (ALEX), by Sai K. Banala, Seok Hun Kim, Sunil K. Agrawal, and John P. Scholz, IEEE TRANSACTIONS ON NEURAL SYSTEMS AND REHABILITATION ENGINEERING, VOL. 17, NO. 1, Feb. 2009, a solution of variable level of assistance in which the normal forces Fn and the tangential forces Ft are processed separately.
The normal forces are used to bring back the patient to the planned trajectory and apply only outside a band around the trajectory, and increase quadratically when the foot moves away from its desired position.
The tangential forces are used to help the patient perform the movement and apply only in a band close to the trajectory, are maximum on the trajectory and decrease linearly when moving away from it.
The level of assistance is varied by modifying coefficients applied to the forces.
This method is satisfactory, but remains on the one hand limited to a monitored planar displacement (ALEX is not a real exoskeleton but simply a prosthesis for a single leg fixed to a gantry that supports it), and on the other hand too simplistic from a mathematical point of view.
Indeed it is understood that the calculation of the forces depends only on the distance between the current position and the trajectory and absolutely not on the movement per se. It is necessary at all times to determine the point closest to the current position on the trajectory, and it is easy to imagine that if the trajectory is substantially circular, there is a risk of having problematic behavior.
Thus, this solution is absolutely not applicable to a real exoskeleton which would walk in an open space and which moreover must support its own weight. It would be desirable to have a new solution for setting in motion any exoskeleton with a variable level of assistance, which reliably and ergonomically allows the exoskeleton to walk.
The present invention thus relates, according to a first aspect, to a method for setting in motion a bipedal exoskeleton receiving a human operator, the method comprising the implementation, by means for processing data of the exoskeleton, of steps of:
According to advantageous and non-limiting characteristics:
The method comprises the repetition of steps (a) to (c) so as to make the exoskeleton walk through a succession of actual elementary trajectories each corresponding to a step.
The theoretical elementary trajectory obtained in step (a) starts from an initial position, step (c) comprising the determination of a final position of the exoskeleton at the end of said actual elementary trajectory, said final position being used as the initial position on the next occurrence of step (a).
Said spring-damper connection between the exoskeleton and said virtual guide is simulated in step (c) by assuming an elastic restoring force and an impedance force applied to said exoskeleton.
Said controller also assumes that an accompanying force tangential to said virtual guide is applied to the exoskeleton.
The elastic restoring force, the impedance force and/or the assistance force is a function of a given level of assistance of the exoskeleton.
Said controller also assumes that a force compensating for the weight of the exoskeleton is applied to the exoskeleton.
Said elastic restoring force is a function of a deviation between the actual position of the exoskeleton and a theoretical position of the exoskeleton along the virtual guide; and said impedance force is a function of a deviation between a derivative of the actual position of the exoskeleton and a derivative of the theoretical position of the exoskeleton along the virtual guide.
The position of the exoskeleton is defined by a vector of the joint positions of the actuated degrees of freedom of the exoskeleton.
Said controller defines the evolution of the position of the exoskeleton as a function of the evolution of said single parameter.
According to a second aspect, the invention relates to an exoskeleton comprising data processing means configured to implement a method, according to the first aspect, for setting in motion the exoskeleton.
According to a third aspect, the invention relates to a system comprising a server and the exoskeleton according to the second aspect, the server comprising data processing means configured to generate said theoretical elementary trajectory and provide it to the exoskeleton in step (a).
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, for setting in motion an exoskeleton; and a storage means readable by a computer equipment on which a computer program product comprises code instructions for the execution of a method, according to the first aspect, for setting in motion an exoskeleton.
Other characteristics and advantages of the present invention will appear upon reading the following description of one preferred embodiment. This description will be given with reference to the appended drawings in which:
The present invention proposes a method for setting in motion an exoskeleton 1.
Referring to
The exoskeleton 1 has a plurality of degrees of freedom, that is to say deformable joints (generally via a rotation), that is to say movable relative to each other, which are each either “actuated” or “not actuated”.
An actuated degree of freedom designates a joint provided with an actuator controlled by data processing means 11c, that is to say this degree of freedom is monitored and it is possible to act on it. On the contrary, a non-actuated degree of freedom designates a joint devoid of actuator, that is to say this degree of freedom follows its own dynamics and the data processing means 11 cannot directly monitor it (but a priori indirectly monitor it via the other actuated degrees of freedom).
The present exoskeleton naturally comprises at least two actuated degrees of freedom, preferably a plurality of them.
In the present case, the exoskeleton 1 has, as explained, a variable level of assistance, that is to say the operator can by his movements “actuate” the degrees of freedom himself insofar as the level of assistance allows it, i.e. modify the orientation of a joint himself, for example bend the knee. As such, the actuators are advantageously also sensors, in that they are capable of tracing back their position to the data processing means 11c so as to be able to detect the “forced” actuation of a degree of freedom by the operator.
The data processing means 11c designate a computer equipment (typically a processor, namely external if the exoskeleton 1 is “remotely controlled” but preferentially embedded in the exoskeleton 1, see below) adapted to process instructions and generate commands for the different actuators. These can be electric, hydraulic actuators, etc.
The present application will not be limited to any architecture of exoskeleton 1, and the example as described in the applications WO2015140352 and WO2015140353 will be considered.
Thus, preferably and in accordance with these applications, the exoskeleton 1 comprises on each leg a foot structure comprising a support plane on which a foot of a leg of the person wearing the exoskeleton can bear.
This support plane comprises a front platform and a rear platform, such that a foot pivot link connects the front platform to the rear platform, constituting a non-actuated degree of freedom.
The person skilled in the art will however be able to adapt the present method to any other mechanical architecture.
According to one preferred embodiment, the present trajectory generation and gait method can involve a first or a second server 10a, 10b within an architecture as represented by
The first server 10a is a trajectory generation server, and the second server 10b is a possible learning server.
Indeed, the generation of a trajectory of the exoskeleton 1 can use a neural network, particularly of the Feedforward Neural Network (FNN) type, as proposed in the application FR1910649. The second server 10b is then a server for the implementation of a method for learning parameters of said neural network. It should be noted that the present method is not limited to the use of a neural network, and it will be possible to use any known technique for generating the trajectory in its entirety, see below.
In any case, it is quite possible that these two servers are combined, but in practice the second server 10b is most often a remote server whereas the first server 10a can be embedded by the exoskeleton 1 for real-time operation, as represented by
Each of these servers 10a, 10b is typically a computer equipment connected to a wide area network 20 such as the Internet network for the exchange of the data, even if in practice once the neural network has been learned and embedded on the second server 10b, the communication can be interrupted, at least intermittently. Each comprises data processing means 11a, 11b of the processor type (particularly the data processing means 11b of the second server have a high computing power, because the learning is long and complex compared to the simple use of the learned neural network), and where appropriate data storage means 12a, 12b such as a computer memory, for example a hard disk. In the case of a trajectory generation by a neural network, a learning database can be stored by the memory 12b of the second server 10b.
It will be understood that there can be a plurality of exoskeletons 1 each embedding their first server 10a (which can then be of limited power and space requirement, insofar as it only generates trajectories 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 combined with the second server 10b (and having the ability to generate trajectories on the fly for all the exoskeletons 1).
As explained, it is conventionally meant by “trajectory” of the exoskeleton the evolutions of each degree of freedom (particularly actuated) expressed as a function of time or of a phase variable. In the remainder of the present description, it will be meant by “position” of the exoskeleton 1 the joint positions of the actuated degrees of freedom, which are advantageously six in number per leg, namely a position defined by a vector of dimension 12, even it would be for example possible to take the Cartesian position of a characteristic point of the exoskeleton, for example its CMP (there is then a vector of dimension 6: 3 positions plus 3 orientations along the 3 axes). It should be noted that the 12 degrees of freedom solution is preferable because there is redundancy and therefore it forces the operator to adopt good joint coordination.
Furthermore, it is known how to define a “complex” movement as a sequence of trajectories called “elementary” trajectories, where appropriate interspersed with transitions. By elementary trajectory, it is meant any trajectory corresponding to a step, i.e. applied over the duration of the step so that starting from an initial state of the exoskeleton 1 at the start of a step (moment of contact of the foot), there is a return to the same state at the start of the next step. It should be noted that there is an alternation of left step and right step, so that the state at the end of a step is “symmetrized” (it is no longer the same foot in front), and it technically takes two steps to return exactly in the same state (same foot in front). A stable succession of elementary trajectories allowing the gait is called periodic trajectory.
This encompasses any flat gait, but also on a ramp, an ascent or a descent of stairs, etc.).
An elementary trajectory is associated with a given gait of the exoskeleton 1 (a gait being defined by an n-tuple of gait parameters), and allows maintaining this gait in a stable and feasible way (i.e. as will be seen complies with all the constraints of an optimization problem and minimizes a cost function as much as possible). 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 chest, but also the height of the steps when going up and down stairs, the instantaneous angle of rotation for the curved movements; and also to morphological characteristics of the operator (a subgroup of the gait parameters called patient parameters) such as his height, his weight, the length of the thighs or of the shins, the position of the center of mass (value of the shift forward) and the lateral travel of the chest in the context of rehabilitation activity.
Said “constraints” of a gait that are mentioned above can be varied and depend on the type of gait desired, for example a “flat foot” gait or a gait with a “roll”, etc. The present method will not be limited to any desired type of gait.
Any transitions correspond to gait changes, i.e. variations in the values of said gait parameters (for example an increase in the step length): 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 fragment of trajectory making it possible to switch from the initial periodic trajectory to the final trajectory. It should be noted that there must be “initial” or “final” transitions, corresponding to a starting and an end of the movement.
Referring to
It should be noted that the acquisition can, as explained, directly involve the generation of the trajectory by the exoskeleton 1 (if for example it embeds the server 10a) or the simple receipt of the trajectory by the network 20. As such, the means 11c can provide the external server 10a with the gait parameters, and recover the trajectory in return.
It should be noted that a theoretical periodic trajectory which goes further than a single step is most often directly generated, the theoretical elementary trajectory is just a fragment of it.
Preferably, a level of assistance of the exoskeleton is defined. As explained, it is advantageously a value between 0 and 1, 0 designating zero assistance and 1 designating total assistance, even if it is possible to use any scale, a plurality of predefined levels, etc. Again, the level of assistance may vary. It will only be assumed that the level of assistance is such that forced movements of the exoskeleton 1 performed by the human operator are in practice possible, the exoskeleton 1 not blocking them.
It should be noted that the operator can be provided, as explained, with a vest of sensors 15 that allows detecting the configuration of his chest (the orientation of the latter). The direction in which the operator orients his chest is the one in which he wishes to walk and the speed is given by the intensity with which he puts his chest forward (how much he leans). The starting request can correspond to when the operator presses a button (or a particular posture) indicating his intention to start up and therefore ordering the data processing means to determine said parameters. Some parameters such as the instantaneous angle of rotation or the height of the steps when going up or down stairs can be predetermined or obtained by means of other sensors 13, 14.
For the generation of the trajectory strictly speaking, there will be no limitation to any known technique. As explained, optimization tools, capable in particular of generating a given trajectory according to the constraints and to the selected gait parameters, are known in particular, For example, in the case of HZD trajectories, the problem of the generation of the trajectories is formulated as an optimal monitoring problem which can be solved preferably by an algorithm 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.
A neural network trained on a database of learning trajectories can also be used alternatively as explained.
In all cases, it will be assumed that an initial position of the exoskeleton 1 corresponding to its position at the start of the step has been defined.
The elementary trajectory generated is called “theoretical” trajectory, as opposed to an “actual” trajectory. Indeed, in a conventional operation of the exoskeleton 1 without use in rehabilitation, it will be simply possible to apply the theoretical trajectory and the exoskeleton would walk automatically in accordance with this trajectory.
Here, with the aim of training the operator, it is repeated that forced movements of the exoskeleton 1 performed by the human operator are in practice possible, so that the trajectory which is in practice performed by the exoskeleton 1 (the actual trajectory) never corresponds exactly to the planned theoretical trajectory, even if, as will be seen, the present method makes that they will remain close. It is therefore understood that said actual trajectory is consistent with the movements of the operator. To reformulate again, the actual trajectory can be executed at a speed freely chosen by the human operator, according to his movements.
Then, in a step (b), the method comprises the parametrization of said theoretical elementary trajectory as a function of a single parameter, so as to define the theoretical elementary trajectory of the exoskeleton 1 as a virtual guide with a single degree of freedom.
The idea of virtual guides is well known in cobotics, and described for example in the document Iterative Virtual Guides Programming for Human-Robot Comanipulation, Susana Sanchez Restrepo, Gennaro Raiola, Pauline Chevalier, Xavier Lamy and Daniel Sidobre. These virtual guides are for example “barriers” limiting the movement of effector robots, particularly for safety reasons.
For example, the robot can be a robotic arm terminated by a circular saw manipulated by a human operator, the theoretical trajectory is a cutting trajectory, and the virtual guide prevents the operator from being injured if he gets too far from the trajectory.
As will be seen, the virtual guide cleverly adapts to the problem of assistance with an exoskeleton.
Mathematically, there is defined a first pair {xvm; {dot over (x)}vm} of the theoretical position of the exoskeleton 1 and of the derivative of the theoretical position of the exoskeleton 1 (when the theoretical elementary trajectory is covered), and a second pair {x; {dot over (x)}} of the actual position of the exoskeleton 1 and of the derivative of the actual position of the exoskeleton 1 (when the actual elementary trajectory is covered). Here “vm” means virtual mechanism because it is possible to see the exoskeleton 1 following the theoretical trajectory as a “virtual mechanism” sliding along the virtual guide. In other words, xvm is the theoretical position of the exoskeleton 1 along the virtual guide. It is repeated that all objects x, xvm,{dot over (x)} and {dot over (x)}vm are vectors, preferably of dimension 12.
Insofar as, in the space of positions of the exoskeletons, the virtual guide forms an object of dimension 1 (a curve), it can be parametrized with a single parameter denoted svm. This parameter can be the time, but preferably it is the curvilinear abscissa along the virtual guide, for example with a value of 0 when the exoskeleton is in the initial position, and a value of 1 when it is in a final position corresponding to the end of the step (the raised leg reaches the ground).
xvm=Ls(svm) and {dot over (x)}vm=Js({dot over (s)}vm) can be set, where Ls is the parametrization model and Js is the Jacobian of the virtual mechanism, so as to define its kinematic model. The person skilled in the art will know how to implement this parameterization, for example on the basis of the document Iterative Virtual Guides Programming for Human-Robot Comanipulation, Susana Sanchez Restrepo, Gennaro Raiola, Pauline Chevalier, Xavier Lamy and Daniel Sidobre.
In a main step (c), in response to forced movements of the exoskeleton 1 performed by the human operator (i.e. the operator will try himself to implement the exoskeleton 1 in accordance with the planned trajectory, particularly under the monitoring of the therapist), the means 11c execute a controller defining the evolution of an actual position of the exoskeleton 1 as a function of said single parameter by simulating a spring-damper connection between the exoskeleton 1 and said virtual guide, so as to implement an actual elementary trajectory in the vicinoty of said theoretical elementary trajectory.
This controller can of course be prepared in advance and loaded onto the exoskeleton 1.
The “spring-damper connection” mentioned is a physical analogy illustrating the idea that the exoskeleton 1 would be attached to the virtual guide by a spring and a damper in parallel: as long as the actual trajectory implemented by the user is close to the theoretical trajectory nothing happens, but as soon as he moves away from it the forces of the spring and of the damper are taken into account.
Preferably, said spring-damper connection between the exoskeleton 1 and said virtual guide is simulated in step (c) by assuming an elastic restoring force (the spring) and an impedance force (the damper) applied to said exoskeleton 1.
Particularly, said elastic restoring force is a function of a deviation between the actual position x of the exoskeleton 1 and the theoretical position xvm of the exoskeleton 1 along the virtual guide (advantageously according to the formula F1=K(xvm−x), where K is a stiffness coefficient which can be a function of the level of assistance) and said impedance force is a function of a deviation between the derivative {dot over (x)} of the actual position of the exoskeleton 1 and the derivative {dot over (x)}vm of the theoretical position of the exoskeleton 1 along the virtual guide (advantageously according to the formula F2=B({dot over (x)}vm−{dot over (x)}), where B is a damping coefficient which can also be a function of the level of assistance).
The idea is to list the forces applied to the exoskeleton 1, and to determine its first order dynamics with respect to said single parameter svm, so that said controller (particularly in the form of a PD controller) defines the evolution of the actual position x of the exoskeleton 1 as a function of the evolution of said single parameter.
Are advantageously added:
There is then JsT(F1+F2+F3+F4)=0, which equation can be solved with respect to {dot over (s)}vm, then integrated, so as to know the evolution of the actual position x of the exoskeleton 1 as a function of the evolution of said single parameter svm.
In summary, the operator is assisted by F3, does not have to support the weight of the exoskeleton thanks to F4, and is brought back to the theoretical trajectory by F1 and this in a flexible way by F2.
Compared to the ALEX solution mentioned in the introduction, there is no distance to calculate and there is a universal method.
Steps (a) to (c) can be repeated so as to make the exoskeleton 1 walk through a succession of actual elementary trajectories each corresponding to a step.
It must be kept in mind that the actual trajectory is different from the theoretical trajectory, so that the following trajectory must be adapted to the step that has just taken place.
Thus, the theoretical elementary trajectory obtained in step (a) starts from an initial position, step (c) advantageously comprising the determination of a final position of the exoskeleton 1 at the end of said actual elementary trajectory, said final position being used as the initial position at the next occurrence of step (a).
As explained, a complete periodic trajectory is generally generated (made up of a series of elementary trajectories), so that the new occurrence of step (a) consists in modifying the periodic trajectory (for the next elementary trajectory).
In other words, there is therefore an interpolation between the position of the exoskeleton 1 at the moment of impact and the next step, in order to avoid jumping instructions. The interpolation is performed at the moment of impact, and modifies the beginning of the trajectory of the next step. The virtual guide is then “moved” (new occurrence of step (b)) to correspond to the current position and to be able to start the next step on a good basis.
According to a second aspect, the invention relates to the exoskeleton 1, for the implementation of the method according to the first aspect, and according to a third aspect, the system comprising the exoskeleton as well as a possible server 10a, possibly combined.
The exoskeleton 1 comprises data processing means 11c configured for the implementation of the method according to the second aspect, as well as, if necessary, data storage means 12 (particularly those of the first server 10a), inertial measurement means 14 (inertial unit), means for detecting the impact of the feet on the ground 13 (contact sensors or possibly pressure sensors), and/or a vest of sensors 15.
It has a plurality of degrees of freedom including at least one degree of freedom actuated by an actuator controlled by the data processing means 11c for the execution of said controller.
The first server 10a comprises data processing means 11a for generating said theoretical elementary trajectory and providing it to the exoskeleton in step (a), particularly upon receipt of the initial position of the exoskeleton 1 at the start of the step and any gait parameters.
According to a third and a fourth aspect, the invention relates to a computer program product comprising code instructions for the execution (on the processing means 11c) of a method, according to the first aspect, for setting in motion an exoskeleton 1, as well as storage means readable by a computer equipment on which there is this computer program product.
Number | Date | Country | Kind |
---|---|---|---|
2009118 | Sep 2020 | FR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/FR2021/051539 | 9/8/2021 | WO |