Programmation différentielle dynamique pour la commande optimale d’actionneurs biomimétiques

RESUME Les protheses sont des dispositifs permettant de remplacer la fonction d’un organe ou d’un membre. Elles doivent donc etre le plus biofidele possible pour rendre aux patients l’integralite de leurs capacites perdues. Dans le cas d’un membre, il est donc necessaire de reproduire le comportement des muscles et des os lors des mouvements. Or, ce dernier est bien plus complexe qu’il n’y parait, et ce notamment a cause de la cocontraction des muscles agonistes et antagonistes qui assure stabilite et protection des articulations et qui permet d’en moduler la rigidite. Ce dernier point est tres important, pour deux raisons principales : il permet d’optimiser la consommation d’energie et d’interagir avec l’environnement en toute securite. Afin de concevoir des protheses biofideles, il est donc pertinent de chercher a reproduire cette rigidite variable. Plusieurs approches ont ete imaginees, celle que nous etudions ici consiste a employer des actionneurs a impedance variable. Ces actionneurs possedent des ressorts dans leur mecanisme, que l’on peut regler de facon a changer la rigidite du systeme au cours du temps. Le probleme principal lie a ces actionneurs est leur commande. Il est possible de la decoupler, i.e. de controler separement la rigidite et la position de l’actionneur, mais on n’exploite pas dans ce cas le plein potentiel de la rigidite variable. Notre problematique se resume donc ainsi : comment calculer la commande optimale non decouplee d’un actionneur a impedance variable ? Dans un premier temps, nous avons modelise un actionneur a impedance variable et linearise sa fonction d’evolution. Puis nous avons teste plusieurs algorithmes (la methode par collocation et le regulateur lineaire quadratique) parmi les plus classiques en controle optimal pour le controler a impedance fixe. Si la methode de collocation exigeait un trop long temps de calcul, les resultats avec le regulateur lineaire quadratique etaient tres satisfaisants, tant en convergence qu’en stabilite. Toutefois, cette methode n’est pas envisageable a impedance variable. En effet, la linearisation des equations n’est plus possible. L’algorithme Differential Dynamic Programming (DDP) permet de resoudre le probleme de controle optimal pour des systemes non-lineaires. Son fonctionnement se rapproche de celui d’un descente de Newton dans laquelle on tiendrait compte des derivees secondes, ce qui permet justement d’etudier des systemes pour lesquels la linearisation est impossible. Nous avons teste et valide cet algorithme en simulation, notamment sur un saut realise par un robot humanoide equipe d’actionneurs a impedance variable. Neanmoins, la complexite de cet algorithme est tres elevee et limite son utilisation en temps reel. Nous avons donc cherche a l’optimiser dans un second temps. Afin de limiter le nombre d’operations effectuees au cours d’un calcul par DDP, nous avons employe l’hyptohese de Gauss-Newton pour approcher les derivees secondes. Nous avons alors reformule l’algorithme en utilisant les racines carrees des matrices en jeu et diminue la complexite : de 11n3 operations a chaque cycle a 3n3 operations, ou n est la taille de notre fenetre de prevision. En conclusion, on a montre qu’il est possible de controler de maniere non decouplee un actionneur a impedance variable, grâce a l’algorithme DDP, en simulation. La suite future de ce travail en serait la validation experimentale. ----------ABSTRACT 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 11n3 operations at each cycle to 3n3. 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.