Les prothèses sont des dispositifs permettant de remplacer la fonction d’un organe ou d’un membre. Elles doivent donc être le plus biofidèle possible pour rendre aux patients l’intégralité de leurs capacités perdues. Dans le cas d’un membre, il est donc nécessaire de reproduire le comportement des muscles et des os lors des mouvements. Or, ce dernier est bien plus complexe qu’il n’y paraît, et ce notamment à cause de la cocontraction des muscles agonistes et antagonistes qui assure stabilité et protection des articulations et qui permet d’en moduler la rigidité. Ce dernier point est très important, pour deux raisons principales : il permet d’optimiser la consommation d’énergie et d’interagir avec l’environnement en toute sécurité.
Afin de concevoir des prothèses biofidèles, il est donc pertinent de chercher à reproduire cette rigidité variable. Plusieurs approches ont été imaginées, celle que nous étudions ici consiste à employer des actionneurs à impédance variable. Ces actionneurs possèdent des ressorts dans leur mécanisme, que l’on peut régler de façon à changer la rigidité du système au cours du temps.
Le problème principal lié à ces actionneurs est leur commande. Il est possible de la découpler, i.e. de contrôler séparément la rigidité et la position de l’actionneur, mais on n’exploite pas dans ce cas le plein potentiel de la rigidité variable.
Notre problématique se résume donc ainsi : comment calculer la commande optimale non découplée d’un actionneur à impédance variable ?
Dans un premier temps, nous avons modélisé un actionneur à impédance variable et linéarisé sa fonction d’évolution. Puis nous avons testé plusieurs algorithmes (la méthode par collocation et le régulateur linéaire quadratique) parmi les plus classiques en contrôle optimal pour le contrôler à impédance fixe. Si la méthode de collocation exigeait un trop long temps de calcul, les résultats avec le régulateur linéaire quadratique étaient très satisfaisants, tant en convergence qu’en stabilité. Toutefois, cette méthode n’est pas envisageable à impédance variable. En effet, la linéarisation des équations n’est plus possible.
L’algorithme Differential Dynamic Programming (DDP) permet de résoudre le problème de contrôle optimal pour des systèmes non-linéaires. Son fonctionnement se rapproche de celui d’un descente de Newton dans laquelle on tiendrait compte des dérivées secondes, ce qui permet justement d’étudier des systèmes pour lesquels la linéarisation est impossible. Nous avons testé et validé cet algorithme en simulation, notamment sur un saut réalisé par un robot humanoïde équipé d’actionneurs à impédance variable. Néanmoins, la complexité de cet algorithme est très élevée et limite son utilisation en temps réel. Nous avons donc cherché à l’optimiser dans un second temps.
Afin de limiter le nombre d’opérations effectuées au cours d’un calcul par DDP, nous avons employé l’hyptohèse de Gauss-Newton pour approcher les dérivées secondes. Nous avons alors refor- mulé l’algorithme en utilisant les racines carrées des matrices en jeu et diminué la complexité : de 11n³ opérations à chaque cycle à 3n³ opérations, où n est la taille de notre fenêtre de prévision. En conclusion, on a montré qu’il est possible de contrôler de manière non découplée un actionneur à impédance variable, grâce à l’algorithme DDP, en simulation. La suite future de ce travail en serait la validation expérimentale.
Prostheses are artificial devices that replace organs or limbs. Therefore, they must be as much biofidelic as possible to provide back to patients close to their lost capacities. In the case of a limb, the complete behavior of the muscles and bones has to be reproduced during movement. However, it is much more complex than it seems, especially because of the cocontraction of agonist and antagonist muscles. This phenomenon ensures stability and protection of the joints, but also the modulation of the stiffness. The later is very important for two main reasons : the optimization of energy consumption, and safe interaction with the environment.
To design biofidelic prostheses, it is highly desirable to reproduce this variable stiffness. Several approaches have been proposed, the one we study here is to use of Variable Impedance Actuators (VIA). The mechanical system of these actuators have springs inside and so, the global stiffness can be changed over time.
The main problem with VIA is their control. We can decouple it, this means controlling separately position and stiffness, but in this way, the full potential of variable stiffness is not exploited. Our research question can be summed up as follow: How to perform the optimal non decoupled control of VIA ?
At first, we modelized a VIA and linearized its evolution function. Then, we tested several algorithms (collocation and Linear Quadratic Regulator (LQR)) among the classical methods to control it with fixed stiffness. The collocation method required a too long computation time, and we hence prefered the LQR. The results using LQR were very satisfactory both in terms of convergence and in robustness. However this method is not efficient with variable stiffness, and we can’t linearize the equations.
The algorithm Differential Dyamic Programming (DDP) solves optimal control problem for non linear systems. It is similar to a Newton descent, in which we take into account the second derivatives. This is precisely the key to non linearizable systems. We tested and validated with simulations this algorithm, using a jump performed by a humanoid robot with VIA. However, the complexity of DDP tends to be very high and limits its use in real time. We therefore sought to optimize it in a second time.
To limit the number of operations performed during a computation, we used the Gauss Newton hyptohesis to approximate the second derivatives. We then used a square-root formulation of the DDP algorithm. The complexity decreased from 11n³ operations at each cycle to 3n³.
To conclude, uncoupled control of VIA is possible using DDP in a simulation environment. The future step of this work would be the experimental validation of the results.