Le Laboratoire d`Automatique de Grenoble

publicité
François BERUARD
INPG - ESISAR
Option ISC
EI5 - p2003
Année 2002-2003
Rapport de Projet de Fin d'Etudes
afin d'obtenir le titre d'
Ingénieur
Commande impulsionnelle d'un système mécanique
Application à la robotique mobile
du 3 Mars au 27 Juin 2003 au sein du
Laboratoire d'Automatique de Grenoble
ENSIEG - Domaine Universitaire - BP46
38402 Saint Martin d'Hères – Cedex
FRANCE
Tuteur Entreprise
M. Carlos CANUDAS DE WIT
Tuteur ESISAR
M. Eduardo MENDES
Remerciements
Je tiens spécialement à remercier :
Monsieur Carlos Canudas de Wit, directeur de recherche au CNRS, pour m'avoir accueilli
au sein du groupe de recherche Commande des Systèmes Electromécaniques et
Robotique et m'avoir encadré pendant les 4 mois de mon projet de fin d’études. Je lui
suis aussi très reconnaissant des moments passés à me conseiller et m'aider sur les
différents problèmes rencontrés durant ce stage.
Tous les membres de l'équipe CSER : Yajun, Ahmed, Ayman, Claudio, Edinson,
Emmanuel, Guillaume, John, Morten et Riccardo, où la langue a tout été sauf une
barrière.
Table des matières
Introduction ............................................................................. 1
Le Laboratoire d'Automatique de Grenoble ................................... 2
1
Le Laboratoire ........................................................................ 2
2
L'équipe CSER - Commande des Systèmes Electromécaniques et
Robotique ..................................................................................... 3
Le robot marcheur Rabbit .......................................................... 4
1
Rabbit, un projet national ......................................................... 4
2
Pourquoi Rabbit ? .................................................................... 5
2.1
2.2
2.3
2.4
Objectifs scientifiques .................................................................. 5
Approche scientifique .................................................................. 5
Description du système ............................................................... 5
Modèle mathématique ................................................................. 7
Masse en chute libre sur un sol compliant .................................... 8
1
Introduction ........................................................................... 9
1.1
1.2
1.3
2
Commande impulsionnelle ....................................................... 11
2.1
2.2
2.3
3
Idée ........................................................................................ 11
Etude théorique ........................................................................ 12
Simulation ............................................................................... 15
Stabilisation de l'orbite périodique, attractivité ........................... 16
3.1
3.2
3.3
3.4
4
Modèle ressort-amortisseur non linéaire......................................... 9
Définition du système .................................................................. 9
Simulation d'une chute libre ....................................................... 10
Préambule ...............................................................................
Application de Poincaré ..............................................................
Simulation sous Simulink ...........................................................
Améliorations ...........................................................................
16
17
19
23
Robustesse ............................................................................ 25
4.1
Vis-à-vis des paramètres k et  .................................................. 25
4.2
Etude de l'approximation des impulsions ...................................... 26
Conclusion ............................................................................. 31
1
La masse en chute libre .......................................................... 31
2
Application sur Rabbit ............................................................. 31
Bibliographie .......................................................................... 32
1
Introduction
Le Laboratoire d’Automatique de Grenoble (LAG) est l’un des principaux laboratoires
nationaux spécialisés en Automatique. Il a de plus une certaine renommée mondiale. Au
sein de ce laboratoire de l’INPG, l’équipe Commande de Systèmes Electromécaniques et
Robotique (CSER) est notamment spécialisée en robotique et travaille depuis de
nombreuses années sur des projets de recherche sur les robots. Actuellement cette
équipe participe au développement du robot marcheur Rabbit. Le but des recherches est
bien évidemment de faire marcher et courir ce robot. Plusieurs lois de commande ont
déjà été réalisées et implémentées sur Rabbit, avec plus ou moins de succès. Les
résultats obtenus à ce jour permettent de faire marcher Rabbit. Malheureusement cette
marche n’est pour l’heure pas fluide et n’est donc pas périodique. Ceci est notamment dû
aux impacts avec le sol où de l’énergie est perdue. Une solution à ce problème pourrait
être alors de redonner de l’énergie en envoyant des impulsions lors du contact avec le
sol.
A ce jour, peu de travaux ont été réalisés autour de la commande impulsionnelle. Le
but de mon stage est donc de développer des nouvelles lois de commande de type
impulsionnel qui seront applicables sur Rabbit. Mais avant de travailler directement sur
Rabbit, des développements ont été réalisés sur un système mécanique "simple" et
proche d’un système robot marcheur.
Nous allons donc ici exposer les différentes recherches réalisées sur une masse en
chute libre sur un sol compliant. Après une étude théorique sur ce système et sur les
impulsions, une première loi de commande sans retour est réalisée. Nous aborderons par
la suite le problème par un retour d’état afin de rendre périodique la chute de la masse.
Pour finir nous parlerons de la robustesse d’une telle loi de commande, avant de conclure
sur les perspectives de mise en place de cette loi sur le robot marcheur Rabbit.
Une présentation du LAG et de l’équipe CSER, ainsi qu’une brève présentation de
Rabbit sont réalisées en tout début de ce présent document.
1
Le Laboratoire d'Automatique de Grenoble
1
Le Laboratoire
Le Laboratoire d'Automatique de Grenoble est une Unité Mixte de Recherche (UMR
5528) CNRS-INPG associée à l’UJF et lié par convention à l'Ecole Polytechnique
Universitaire de Grenoble. C'est l'un des trois laboratoires de recherche de l'Ecole
Nationale Supérieure d'Ingénieurs Electriciens de Grenoble (ENSIEG) qui est l'une des
neuf écoles d'ingénieurs de l'Institut National Polytechnique de Grenoble (INPG). Le
Laboratoire fait également partie de la Fédération de laboratoires CNRS ELESA qui
regroupe 6 laboratoires de l'INPG dans les domaines de l'Electronique, du Génie
Electrique, de l'Automatique et du Traitement du Signal (EEATS). Composé d'une
centaine de personnes, bien intégré dans le tissu de la recherche, le laboratoire occupe
une place déterminante dans l'animation de la communauté nationale et bénéficie d'une
notoriété internationale certaine.
Le Laboratoire d'Automatique de Grenoble, depuis sa création en 1958, a participé
aux grandes étapes du développement de l'automatique. Sa force réside dans la
recherche méthodologique dont l'objectif est d'étudier l'adéquation des résultats
théoriques et des problèmes posés par les applications. Cette recherche méthodologique
s'appuie sur les recherches théoriques et expérimentales effectuées au laboratoire.
La recherche au LAG se partage en 3 groupes, chacun contenant plusieurs équipes
pour autant d'axes de recherche :



Le Groupe CAPA - "Conduite Avancée des Procédés Automatisés"
comprend 6 axes de recherche :
 Robustesse des Calculs (RC)
 Stratégies de Modélisation et de Commandes (SMC)
 Sûreté, Surveillance, Supervision et Diagnostic (S3D)
 Traitement Avancé de la Mesure (TAM)
 Technologie de l'Information et de la Communication pour
l'Enseignement (TICE)
 Techniques de Simulation (TSIM)
Le Groupe PROSED - "PROductique et Systèmes à Evénements Discrets"
comprend 3 axes :
 Conduite Robuste, Surveillance et Supervision (CROSS)
 Conception de Systèmes Sûrs (CS2)
 Evaluation de Performances (EP)
Le Groupe TACSY - "Théorie et Applications de la Commande des
SYstèmes" comprend 5 équipes :
 Commande des Systèmes Electromécaniques et Robotique (CSER)
 Analyse et Optimisation des Grands Systèmes (GSYS)
 Systèmes Adaptatifs Multivariables et Robustesse (SAMUR)
 Systèmes Avancés de Régulation et Commande (SARC)
 Systèmes et Commande (SysCo)
2
2
L'équipe CSER - Commande des Systèmes Electromécaniques et
Robotique
L'équipe CSER est une équipe du groupe TACSY. Les recherches de cette équipe ont
comme thème central la Commande non linéaire des Systèmes Electromécaniques et des
Robots. L'équipe est dirigée par Carlos Canudas de Wit et est principalement constituée
de thésards.
L'équipe CSER travaillent sur différents thèmes dont notamment :
 contrôle/commande des moteurs
 la commande des véhicules automobiles : conduite automatique et en
peloton des poids lourds, conduite par fil "steer-by-wire"
 l'étude des systèmes mécaniques : robots jongleurs, robots marcheurs
 commande de systèmes via un réseau
L'équipe collabore et développe des recherches appliquées avec des grandes
entreprises telles que Renault VI et Schneider.
3
Le robot marcheur Rabbit
1
Rabbit, un projet national
Le développement du robot marcheur Rabbit s'inscrit dans un projet national
"Commande pour la marche et la course d'un robot bipède". Ce projet s'inscrit lui-même
dans un programme national interdisciplinaire de recherche intitulé "Robotique et Entités
Artificielles" (Robea). Robea se situe dans le cadre des grands programmes thématiques
du département Sciences et Technologies de l'Information et de la Communication
(STIC). Il couvre diverses disciplines de recherche des STIC, en informatique, en
traitement du signal et en automatique.
Sept laboratoires nationaux participent aux recherches sur Rabbit. Ils regroupent
différentes spécialités dont la mécanique, la robotique et l'automatique. Cette équipe
travaille depuis 4 ans avec l'objectif commun de faire marcher et courir un robot bipède.
Liste des laboratoires participants et leurs compétences :







Institut de Recherche en Communications et Cybernetique de Nantes
(IRCCyN) : spécialisé dans la commande des systèmes non-linéaires, la
modélisation, l'identification et la commande de robots manipulateurs.
Laboratoire d'Automatique de Grenoble (LAG) : voir page 4
Laboratoire de Génie Industriel et de Production Mécanique (LGIPM) de
l'université de Metz : spécialisé dans les réalisations et expérimentation sur les
prototypes.
Laboratoire d'Informatique, de Robotique et de Microélectronique de
Montpellier (LIRMM) : spécialisé dans l'identification et la commande prédictive
Laboratoire de Mécanique des Solides (LMS) de Poitiers : la compétence des
membres du LMS impliqués dans ce projet concernent principalement la conception
mécanique de robot marcheur, l'optimisation de trajectoires de robot et la
biomécanique
Laboratoire de Robotique de Versailles (LRV) : spécialisé dans la commande des
systèmes. Ils ont aussi participé à la réalisation et à l'expérimentation sur un
prototype hybride, c'est à dire possédant des roues et des pattes. Ils réalisent
actuellement un prototype de robot bipède ayant la même structure que Rabbit mais
actionné par des actionneurs hydrauliques
Laboratoire de Vision et Robotique (LVR) de Bourges : spécialisé dans la
simulation de comportement dynamique et en particulier de bipèdes complexes et
dans l'étude de la commande par les réseaux de neurones
L’Institut National de Recherche en Informatique et en Automatique (INRIA)
est aussi associé au projet. Un laboratoire américain de l’université du Michigan, EECS
Control Systems Laboratory, de l'Université du Michigan, participe aussi depuis peu à
la recherche autour de Rabbit.
4
2
Pourquoi Rabbit ?
Il existe actuellement différents types de robots. Rabbit est un robot marcheur et
fait donc partie de la classe des robots appelée "robots à pattes". Contrairement à des
robots à roues ou chenilles, les robots marcheurs présentent l'avantage de pouvoir
évoluer sur tout type de terrain, qu'il soit accidenté ou pas, et gravir des marches. Le
développement en est alors bien plus complexe.
2.1
Objectifs scientifiques
L'objectif scientifique du projet "Commande pour la marche et la course d'un robot
bipède" est de développer des méthodes et des outils théoriques pour faire marcher et
courir un robot bipède, et de les valider expérimentalement. A notre connaissance, cet
objectif n'a pas encore été atteint par aucun groupe de recherche dans le monde.
La motivation d'un tel projet s'explique par les perspectives d'utilisation de tels
robots. Dans le futur, ces recherches pourront donner lieu à des prototypes conçus pour
des applications spécifiques : prothèses médicales, déplacement en terrain hostile.
2.2
Approche scientifique
La recherche s'oriente vers la reproduction la plus fidèle possible de la marche
humaine. Un soucis particulier est apporté sur la recherche d'une marche optimale, c'est
à dire la moins énergétique possible. La gravité occupe alors une place primordiale dans
le développement de Rabbit. Il s'agit en effet d'appréhender la gravité comme une aide
et non pas comme une gène. Ceci est l'un des points qui a poussé Rabbit à ne pas avoir
de pieds, annihilant ainsi un quelconque couple au niveau des chevilles. Aussi afin de
donner un rôle à la gravité, Rabbit est sous motorisé. Il y a un degré de sous
motorisation en phase de simple support, et trois degrés de sous motorisation en phase
de vol.
Le but est donc d'aborder le rôle de la gravité durant la marche mais aussi les
effets de l'impact avec le sol et les problèmes liés au changement de phases entre les
différentes phases : simple appui, double appui et vol.
2.3
Description du système
Rabbit a été conçu de sorte qu’il puisse reproduire la marche humaine d’une
manière la plus simpliste. De ce fait il est composé d’un tronc non actionné et de deux
jambes, chacune actionnée au niveau de la hanche et du genou. La particularité de
Rabbit est qu’il n’a pas de pieds. Le contact au sol est ponctuel, deux roues terminant
chacune des jambes.
5
Le déplacement de Rabbit est limité au plan et s’effectue autour d’une base
centrale fixée au sol. Une tige relie le robot à la base. De ce fait Rabbit a un déplacement
libre circulaire. Les roues des deux jambes sont orthogonales au plan sagittal afin
d’assurer une stabilité latérale.
Figure 1 : vue du système complet : Rabbit tourne autour d'une base reliée par une tige
Mensurations
Rabbit a une taille totale de 1,45m. Ces hanches se trouvent à 80cm du sol. Les
mensurations de Rabbit sont :
Longueur [m]
Masse [kg]
Inertie [kg.m2]
Fémur
0,4
8,0
0,32
Tibia
0,4
6,0
0,19
Tronc (sans charge) Tronc (avec charge)
0,625
7,0
20,0
1,07
1,95
Tableau 1 : paramètres de Rabbit
Notes : Rabbit ne peut supporter qu’une charge maximum de 20kg
Actionneurs
Afin de faire marcher Rabbit, ce dernier est équipé de moteurs électriques. Ces
moteurs sont des moteurs à courant continu. Les moteurs ne sont pas fixés directement
au niveau des articulations actionnées, mais y sont chacun relié par une courroie et un
moto-réducteur. Deux sont montés au sommet du tronc et assurent l’articulation des
hanches. Afin d’assurer l’actionnement des genoux, les deux autres moteurs sont montés
le plus proche possible des hanches afin de minimiser l’inertie des jambes.
Capteurs
Les quatre joints actionnés sont chacun équipé de deux capteurs mesurant la
position angulaire. La vitesse est alors déterminée à partir de la position. Un encodeur
6
incrémental est positionné sur l'axe du moteur et un encodeur absolu sur l'axe du motoréducteur.
Rabbit est équipé de trois autres encodeurs : un mesure l'angle entre le tronc et la
tige, un mesure l'angle verticale entre la tige et la base et le dernier mesure l'angle du
déplacement circulaire.
Résistance aux impacts
Lorsque les jambes entrent en contact avec le sol, un impact plus ou moins
important se produit. Comme tout système, ces chocs peuvent être nuisibles à long
terme et endommagés sérieusement le robot. La magnitude de ces chocs dépend à la
fois du type de sol (dur, souple, absorbant) et du type de semelle. De ce fait les roues de
Rabbit sont en polymère afin d'absorber les chocs.
Rabbit a été conçu de telle sorte qu’il puisse marcher au moins à 5km/h et courir
à plus de 12km/h.
2.4
Modèle mathématique
Rabbit est un robot à 7 degrés de liberté : les cinq degrés de rotation ainsi que les
positions verticales et horizontales.
q  q1
q31 q41 q32
q42
x
y
T
Rabbit est un système sous-actionné : les hanches et les genoux sont actionnées
alors que le tronc ne l'est pas.
u  u1 u2
u3 u 4 
T
Figure 3 : les 4 actionneurs de Rabbit
Figure 2 : schéma de Rabbit à 7 degrés de liberté
Toutes les caractéristiques de Rabbit sont dans [2] et [6].
7
Masse en chute libre sur un sol compliant
Le but de l’étude qui va suivre est de rendre périodique l’orbite d’une masse en chute
libre sur un sol compliant. Il s’agit donc de rendre la vitesse d’impact de la balle avec le
sol équivalente à sa vitesse de sortie. Ce qui implique donc de faire revenir la masse à la
même hauteur à chaque rebond.
Une étude sur la commande d’une masse en chute libre sur un sol compliant a déjà
été réalisée par Laurence Roussel et Carlos Canudas de Wit dans [1] et [5]. Ils proposent
une commande restituant l’énergie perdue lors du contact. L’énergie est restituée en
annihilant les pertes dues à l’amortissement du sol. L’étude qui suit reprend donc une
partie de leurs travaux afin de développer une nouvelle loi de commande : une
commande dite impulsionnelle.
Il est à noter qu’il existe différentes façons d’interpréter la commande
allons appliquer. Nous pouvons discerner deux cas de figure :


u que nous
soit la masse est en chute libre sur un sol compliant (figure 4a)
soit la masse est commandée et entre en contact sur un sol rigide (figure
4b)
Par la suite nous considérerons le premier cas de figure, à savoir la masse en
chute libre sur un sol compliant.
Figure 4 : Modélisation d'une masse en chute libre sur un sol compliant (a)
et d'une masse commandée sur un sol rigide (b)
8
1
Introduction
1.1
Modèle ressort-amortisseur non linéaire
Dans un premier temps en 1881, Hertz a développé un modèle linéaire issu de la
théorie l'élasticité et de la mécanique des contacts. La force de contact F s'exprime :
F   kxn
où
(1)
n caractérise la forme des surfaces en contacts
x est la pénétration dans la surface ( x  0 )
k est le coefficient de raideur en N .m 1 , k>0


Ce modèle présentant l'inconvénient de ne faire intervenir aucune dissipation
d'énergie, Hunt et Crossley (1992) ont alors introduit un modèle ressort-amortisseur
conduisant à une continuité dans la force et dans les états du système tout en ayant un
terme dissipatif. Ainsi :
F    x x  k x
n
où
n 1
(2)
x
 est le coefficient d'amortissement N .s.m 1 , >0
En 1996, Orin et Marhefka (1996) ont notamment démontré que si l'on considère
une masse de masse m en contact avec une surface compliante, alors la position x peut
être exprimé explicitement en fonction de la vitesse
vitesse d'impact
v , de la position d'impact xi et de la
vi :
x ˆ  ( xi , vi , v, k ,  )
 2m(n  1) 
2  3vi
 3 v  vi   2 ln
ˆ  
2
2  3v
 9 k 
1.2


   xi n 1 


1
n 1
avec  
2

3k
(3)
Définition du système
Soit notre système une masse (de masse
sur un sol compliant.
m en kg) en chute libre ayant un contact
En surface libre, notre masse n'est soumis qu'à la force de gravité (g=9,81m.s-1) :
mx   mg
si x  0
9
(4)
Lors du contact, la masse subit alors les forces de contact F exprimées ci-dessus en
plus de la force gravitationnelle, soit :
mx   mg  F
n
n 1
  mg   x x  k x x
En intégrant la commande
(5)
si x  0
u , le système complet s'écrit :
  mg
mx  
n
n 1
  mg   x x  k x x  u
si x  0
si x  0
(6)
ou
 g

x  
1
n
n 1
g 
  x x  k x x  u

m

si x  0
si x  0

(7)
La commande u est une force. De ce fait elle ne peut pas se soustraire aux autres
forces. La commande u est donc toujours positive. Son but est de redonner de l’énergie
au système. De plus elle ne peut s'appliquer que durant la phase de contact.
1.3
Simulation d'une chute libre
Sous Simulink, nous avons simulé une masse en chute libre avec pour commande
u  0 . Nous avons pris n  1 . Le temps de simulation est fixé à 10s.
Chute d'une masse sur un sol compliant avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
1.2
1
position x [m]
0.8
0.6
0.4
0.2
0
-0.2
-5
-4
-3
-2
-1
vitesse v [m/s]
0
1
2
3
Figure 5 : plan de phase d'une masse en chute libre sur un sol compliant
10
2
Commande impulsionnelle
2.1
Idée
Lorsque la masse entre en contact avec le sol, il y a une perte d’énergie. Ceci se
traduit par le fait que la vitesse en sortie du sol v o est largement inférieure à la vitesse
d’impact
v i avec le sol.
Le but de la commande impulsionnelle est de rendre la vitesse de sortie
vo égale à
v i , soit vo  vi . La chute de la masse entrerait alors dans
une orbite périodique avec des vitesses v o et v i constantes et opposées. Pour ce faire,
l’idée est de compenser la perte d’énergie lors du contact en envoyant une impulsion v
l'opposé la vitesse d’impact
au niveau de la vitesse.
L’impulsion
v se fait lors du contact à une certaine position que nous appelons
hauteur des impulsions, notée x impulse . Cette impulsion se fait à une vitesse d’avant
impulsion
v  qui résulte sur une vitesse d’après impulsion v  . v  est déterminée en
v  v  v .
*
fonction de la vitesse de sortie désirée v o . Ainsi
Dans un premier temps nous dirons que nous avons deux orbites. La première
correspond à notre masse en chute libre non commandée avec pour vitesse d’impact
vi1  vi* , vi* étant la vitesse d'impact désirée, et pour vitesse de sortie vo1 . La deuxième
orbite est celle que nous aimerions avoir en sortie de contact avec comme vitesses
vo 2  v
*
o,
v étant la vitesse de sortie désirée avec v   v
*
o
*
o
orbites se fait grâce à l’impulsion
première orbite à x impulse et


v  v  v , où v

*
i .
La transition entre les deux
correspond à la vitesse de la

v à la vitesse de la deuxième orbite à x impulse .
La commande u peut donc s'écrire u  v. (t ) , où
11
vi 2 et
 (t ) est l'impulsion dirac.
0.05
vi1  vi*
vi 2
0
orbite 1
orbite 2
v
-0.05
position x [m]
vo 2  vo*
vo1
x impulse
v
v
-0.1
xmin
-0.15
-0.2
-8
-6
-4
-2
0
vitesse v [m/s]
Figure 6 : Réprésentation de l'impulsion
2
4
v
Bien évidemment plusieurs questions se posent : faisabilité ? quand ? comment ?
stratégie ? Nous allons donc essayer de répondre à ces différentes questions en réalisant
différentes études accompagnées de leurs simulations.
2.2
Etude théorique
2.2.1
Impact avec un sol compliant
Lors de l'impact d'un objet avec un sol compliant, l'orbite de pénétration peut
s'exprimer en fonction de la vitesse v , de la vitesse d'impact v i et de la position
d'impact
xi . Ainsi Marhefka et Orin (1996) ont notamment démontré que l'orbite dans le
plan de phase à l'impact est :
x ˆ  ( xi , vi , v, k ,  )
 2m(n  1) 
2  3vi
 3 v  vi   2 ln
ˆ  
2
2  3v
 9 k 
1
 n 1

   xi n 1 


avec  
2

3k
(8)
n permet de modéliser différentes géométries de contact.
12
Dans notre étude, nous prenons n  1 . On peut alors écrire :
x ˆ  ( xi , vi , v, k ,  )
 4m 
2  3vi
ˆ   2  3 v  vi   2 ln
2  3v
 9 k 


   xi 2 


1
2
avec  
2

3k
(9)
Que l'on réécrit :
0 ˆ ( xi , vi , x, v, k ,  )
1
 4m 
2  3vi
0 ˆ x   2  3 v  vi   2 ln
2  3v
 9 k 
2.2.2
2

   xi 2 


avec  
2

3k
(10)
Calculs
Pour nos premières simulations, nous avons décidé de faire un calcul ‘hors ligne’
(sans retour) : v sera calculé avant la simulation à partir des conditions initiales. A
partir de (10) nous déterminons les différentes valeurs qui nous sont nécessaires.
2.2.2.1
Calcul d’une vitesse d'impact
vi
Il s'agit de résoudre l'équation :

1
2
g.t i  v(0).t i  x(0)  0
2
Afin de déterminer le temps
On détermine alors
2.2.2.2
(11)
t  t i  0 quand à lieu l'impact.
vi à t  t i  0 , ie vi   g.t i  v(0)
(12)
Calcul de la pénétration à v=0
Suite à différents essais, il a été constaté que la valeur minimum de la pénétration
x se situait à v  0 . Afin de déterminer cette valeur minimum il s'agit donc d'évaluer
(10) à xi  0 et à v  0 :
0  (0, vi , x,0, k ,  )
13
 4m 
2  3vi
0  x   2   3 vi  2 ln
2
 9 k 
1
 2
 

(13)
Le calcul de cette pénétration nous permet de choisir ximpulse . En effet ximpulse sera
fonction de la pénétration à v=0. Arbitrairement nous avons choisi de prendre
x impulse 
x(v  0)
.
3
2.2.2.3
Calcul de la vitesse d'impact pour une vitesse de sortie donnée
Connaissant la vitesse de sortie
vo (>0), il s'agit de déterminer la vitesse d'impact
vi (<0) correspondante. Pour se faire nous évaluons l'équation (10) à x  0 , v  vo et
xi  0 :
0  (0, vi ,0, vo , k ,  )
 4m 
2  3vi
0   2  3 vo  vi   2 ln
2  3vo
 9 k 
0  3 vo  vi   2 ln
2  3vi
2  3vo
avec  
1
 2


 
2

3k
(14)
Ce calcul nous permet de caractériser la deuxième orbite.
2.2.2.4
Soit,
Calcul de
v
0  ( xi , vi1 , x, v, k ,  )
(15)
l'orbite 1 ayant pour vitesse d'impact
Soit,
0  ( xi , vi 2 , x, v, k ,  )
v i1 et pour vitesse de sortie vo1
(16)
l'orbite 2 ayant pour vitesse d'impact
avec v o 2  v
vi 2 et pour vitesse de sortie v o 2 ,
*
o
On souhaite avoir une orbite avec comme vitesse d'impact v i  v i1 et comme
*
vitesse de sortie vo  vo 2 .
*
Nous souhaitons appliquer l'impulsion à une pénétration x  ximpulse .
14
v  v   v  avec v   0 et v   0 . Pour chaque orbite, il nous faut
donc chercher la vitesse v correspondant à une pénétration x impulse . Nous évaluons donc
On pose
les équations (15) et (16) à
déterminer v

et v

xi  0 , x  ximpulse et vi  vi1 et vi  vi 2 respectivement afin de
:
17
18
0  (0, vi1 , ximpulse, v  , k ,  )
0  (0, vi 2 , ximpulse, v  , k ,  )
2.2.2.5
Résolution des équations
Les équations (13), (14), (17) et (18) sont résolues numériquement sous Matlab
grâce à la fonction fsolve(). Les résultats sont des résultats théoriques calculés à partir
de (10). Il peut donc y avoir des différences entre les calculs théoriques et la simulation.
2.3
Simulation
Par une simulation de 10s (avec un pas de simulation de 0,001s) sous Simulink,
nous obtenons :
Commande impulsionnelle avec vo2=-vi1 et deltaV=1.5734m/s
Chute d'une masse sur un sol compliant avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
1.2
10000
9000
1
8000
7000
Commande u [N]
position x [m]
0.8
0.6
0.4
6000
5000
4000
3000
0.2
2000
0
-0.2
-5
1000
0
-4
-3
-2
-1
0
1
vitesse v [m/s]
2
3
4
5
0
1
Figure 7 : simulation d’une chute commandée avec
2
3
4
5
6
Temps [s]
7
8
9
vi vo vo*
Malheureusement l'orbite obtenue n'est pas invariante. En effet nous observons
une erreur de l'ordre de 0,2m.s-1 lors de la vitesse d'impact au deuxième contact avec le
sol. Mais cette erreur était prévisible car elle peut notamment être due à l'approximation
de l'impulsion lors de la simulation, mais aussi à l’approximation que fait Matlab lorsqu’il
calcule les différentes valeurs utiles. Toutefois, nous pouvons remarquer que l'orbite
converge petit à petit après une dizaine de contacts avec le sol.
Pour remédier à ce problème, une loi de commande améliorée est à développer.
Cette nouvelle loi de commande devra assurer l'attractivité de l'orbite.
15
10
3
Stabilisation de l'orbite périodique, attractivité
3.1
Préambule
Afin de stabiliser la masse autour d’une orbite stabilisée, nous allons ajouter un
terme de correction.
Notons les domaines suivants :
x
Dnc   x, v  : x  0 
Dc1  x, v  : x  0 , v  v  
Dimpulse  x, v  : x  ximpulse , v   v  v 
Dc 2    x , v  : x  0 , v  v  
Dnc
Dc1
Dimpulse

19
20
21
22
v
Dc2
Figure 8 : Domaines de l'orbite
Durant le contact, l'orbite naturelle dans le plan de phase est décrite par
l'équation (9). Ainsi les domaines Dc1 et Dc 2 peuvent être caractérisés par  : v  x , la
différence se faisant au niveau des conditions initiales. Dans le domaine
Dnc , la surface
libre, l'orbite est régie par l'équation différentielle x   g . En supposant qu'aucune force
extérieure n'intervient, il n'y a aucune perte d'énergie en surface libre. Les valeurs des
vitesses d'impact v i et de sortie du contact vo sont donc opposées. Le domaine Dimpulse
définit quant à lui le domaine où a lieu l'impulsion
peuvent être définis par :
v . Ainsi les différents domaines
Dnc : vi   vo
Dc1 : x   ( xi , vi , v)   (0, vi , v)
Dimpulse : v  v   v 
Dc 2 : x   ( xi , vi , v)   ( ximpulse, v  , v)
23
24
25
26
Aux frontières des différents domaines, nous avons donc :
Dnc : vi   vo
Dc1 : ximpulse   (0, vi , v  )
Dimpulse : v  v   v 
Dc 2 : 0   ( ximpulse, v  , vo )
16
27 
28
29
30
La continuité étant assurée en x  0 , les quatre fonctions peuvent alors être
concaténées, ainsi :
x   ( ximpulse, v  , v)
  ( (0, vi , v  ), v  , v)
  (v  , v  , v i , v )
31
ˆ (v, v  , vi , v)
En résolvant les équations (27), (29) et (30), il est alors possible de déterminer
v et v  afin qu'ils résolvent (31) évaluée en x  ximpulse et v  vd :
32
ximpulse  (v, v  , vi , vd )
De manière explicite, (31) s'écrit :

 4m 
2  3v  2  3v   3v
x    2  3 v  vi  v   2 ln

2  3vi  2  3v 
 9 k 



1
 2


 
 4m 
2  3v
3v
 x    2  3 v  vi  v   2 ln
 2 ln 1 
2  3vi
2  3v 
 9 k 
33
1
 2


 
34
avec  
3.2
2

3k
Application de Poincaré
Des explications sur l’application de Poincaré peuvent se trouver en [3] et [8].
Considérons ici la section de Poincaré S  x, v  
x, v 

x  ximpulse , v  0 .
L'application de Poincaré reliant la vitesse d'après impulsion v

à l'instant

t  k  1 et la vitesse d'après impulsion v à l'instant t  k est implicitement donnée par
vi   v0 (k  1) , v  v  (k ) et x  ximpulse :
l'équation (31) évaluée en

ximpulse   vk  1, v  k  1,  v0 k  1, v  (k )
Par continuité de

(35)
 , l'application de Poincaré peut s'écrire implicitement comme :

v  (k )   vk  1, v  k  1,  v0 k  1, ximpulse
17

(36)
3.2.1
Commande à réponse pile
Nous allons résoudre (36) avec v

k   v d , où
v d est la vitesse v  désirée. Avec

ce type de commande, v d est atteinte du "premier coup".
~  (k )  v   v  (k ) , à partir de (36) nous obtenons :
En posant v
d

v~  (k )  vd   vk  1, v  k  1,  v0 k  1, ximpulse
Si v(k  1) et

(37)
v  (k  1) satisfont (27), (28), (29) et (30), alors   v  (k )  v d .
On a alors :
v~  (k )  v d  v d
 v~  (k )  0
38

La commande à réponse pile permet alors d’atteindre vd en un seul coup.
3.2.2
Stabilisation asymptotique de type proportionnelle
Afin d'assurer la stabilité asymptotique et une certaine robustesse, nous allons
résoudre
(36)


v  k   vd  k p vd  v  k  1 , où
avec
k p 1
afin
d'assurer
la
convergence.
Si

v(k  1)

d

v  (k  1)
et

d


satisfont
(27),
(28),
(29)
et
(30),
alors
  v (k )  v  k p v  v (k  1) . A partir de (36) on a alors :

v~  (k )  vd  vd  k p vd  v  (k  1)
 v~  (k )  k p v~  (k  1)

39
Vu que nous avons k p  1 , nous avons alors :
lim v~  (k )  0
(40)
lim v  (k )  vd
(41)
k 
Et ainsi :
k 
La stabilisation asymptotique de l'orbite est alors assurée avec une vitesse de
convergence définie par k p .
18
3.3
Simulation sous Simulink
Lors des simulations, nous distinguerons deux cas de figure :
lorsque vd  v 1 ; ici v d  6 m.s




 lorsque vd  v 1 ; ici vd  2 m.s

3.3.1


Commande à réponse pile v

1
1
k   v d
Le temps de simulation est fixé à 10s, le pas de simulation à 0,001s.
4
Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
2
Commande |u| [N]
1.8
1.6
1.4
position x [m]
1.2
Réponse pile avec v+d=6.0m/s
x 10
1.5
1
0.5
1
0
0
1
2
3
4
0
1
2
3
4
6
7
8
9
10
5
6
Temps [s]
7
8
9
10
4
0.6
deltaV [m/s]
0.4
0.2
0
-0.2
-6
-4
-2
0
vitesse v [m/s]
2
4
3
2
1
0
6
Figure 9 : simulation en réponse pile pour

Nous atteignons bien v d  6 m.s
1
v d  6 m.s 1
du premier coup.
Réponse pile avec v+d=2.0m/s
Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
5000
Commande |u| [N]
1.2
1
0.8
4000
3000
2000
1000
0.6
0
0.4
1
deltaV [m/s]
position x [m]
5
0.8
0.2
0
-0.2
-5
-4
-3
-2
-1
0
vitesse v [m/s]
1
2
3
1
2
0
1
2
3
4
3
4
5
6
7
8
9
10
5
6
Temps [s]
7
8
9
10
0.5
0
-0.5
-1
4
0
Figure 10 : simulation en réponse pile pour

d
v  2 m.s
1
L'impulsion ne pouvant être que positive, l'orbite désirée est atteinte après
quelques rebonds.
19
3.3.2
Stabilisation asymptotique proportionnelle
Le temps de simulation est fixé à 10s, le pas de simulation à 0,001s.
1.6
1.4
x 10
2
1
0
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
Temps [s]
7
8
9
10
3
1
deltaV [m/s]
position x [m]
1.2
Stabilisation asymptotique P avec v+d=6.0m/s et k p=0.4
4
Commande |u| [N]
Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
1.8
0.8
0.6
2
1
0
Erreur v~ [m/s]
0.4
0.2
0
-0.2
-6
-4
-2
0
vitesse v [m/s]
2
4
6
6
4
2
0
Figure 11 : simulation en stabilisation asymptotique P pour
v d  6 m.s 1
v d  6 m.s 1 est bien atteint après plusieurs rebonds et l’erreur tend bien vers 0.
1
10000
5000
0
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
Temps [s]
7
8
9
10
1
deltaV [m/s]
position x [m]
0.8
Stabilisation asymptotique P avec v+d=2.0m/s et k p=0.4
Commande |u| [N]
Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
1.2
0.6
0.4
0
-1
-2
Erreur v~ [m/s]
0.2
0
-0.2
-5
-4
-3
-2
-1
0
1
vitesse v [m/s]
2
3
4
5
2
1
0
Figure 12 : simulation en stabilisation asymptotique P pour
v d  2 m.s 1
Comme pour la réponse pile, v est négatif afin de réduire la vitesse mais la
commande étant obligatoirement positive, le système considère v comme positif, ce
qui augmente le temps de réponse du système.
20
3.3.3
Stabilisation asymptotique proportionnelle - intégrateur
Suite aux premières simulations, nous avons aussi tester la stabilisation
asymptotique grâce à correcteur de type proportionnel – intégrateur. A partir de [7], le
correcteur se définit par :
v~  k   v d  v  k 
ik   ik  1  v~  k 
u k   k p v~  k   k i ik 
v  k  1  v d  u k 
avec k p  1 et
42
43
44
0  k i  1 a fin d'assurer la convergence asymptotique
Le temps de simulation est fixé à 30s, le pas de simulation à 0,001s.
4 Stabilisation
Commande |u| [N]
Stabilisation asymptotique PI avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
6
5
4
6
x 10
asymptotique PI avec v+d=6.0m/s k p=0.4 et k i=0.4
4
2
0
0
5
10
15
20
25
30
0
5
10
15
20
25
30
0
5
10
15
Temps [s]
20
25
30
deltaV [m/s]
position x [m]
10
3
2
5
0
Erreur v~ [m/s]
1
0
-1
-15
-10
-5
0
vitesse v [m/s]
5
10
15
6
4
2
0
-2
-4
Figure 13 : simulation en stabilisation asymptotique PI pour
4
3.5
deltaV [m/s]
2.5
2
1.5
asymptotique PI avec v+d=6.0m/s k p=0.1 et k i=0.4
2
0
0
5
10
15
20
25
30
0
5
10
15
20
25
30
0
5
10
15
Temps [s]
20
25
30
5
0
1
0.5
0
-0.5
-10
x 10
4
10
Erreur v~ [m/s]
position x [m]
3
4 Stabilisation
Commande |u| [N]
Stabilisation asymptotique PI avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
4.5
v d  6 m.s 1
-8
-6
-4
-2
0
2
vitesse v [m/s]
4
6
8
10
6
4
2
0
-2
Figure 14 : simulation en stabilisation asymptotique PI pour
21
v d  6 m.s 1
Suivant les valeurs du couple
k
p
, k i , nous obtenons deux types de réponse :
soit des oscillations amorties, soit une réponse avec un dépassement. Les résultats
obtenus avec kp=0,4 et ki=0,1 semblent meilleurs que ceux obtenus avec k p=0,4 et
ki=0,4 dans le sens où les amplitudes y sont moins importantes. Dans les deux cas, la

vitesse converge vers v d mais avec d'une part un temps de convergence plus long, mais
aussi une hauteur des impulsions plus importantes que pour une stabilisation par un
correcteur proportionnel.
22
3.4
Améliorations

Suite à ces premières simulations, une amélioration est à apporter lorsque v d est

inférieure à v . Auparavant, on prenait toujours la valeur absolue de
3.4.1
Saturation de
v
v à 0. Ainsi aux premiers contacts avec
Une première stratégie consiste à saturer
le sol, tant que v

v sans "réfléchir".

d
sera supérieur à v ,
v sera égal à 0 et de ce fait aucune impulsion
ne sera générée.
Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
Réponse pile avec v+d=2.0m/s
1.2
Commande |u| [N]
5000
1
position x [m]
0.8
4000
3000
2000
1000
0.6
0
0.4
0
1
2
0
1
2
3
4
3
4
5
6
7
8
9
10
5
6
Temps [s]
7
8
9
10
1
0.8
deltaV [m/s]
0.2
0
0.6
0.4
0.2
-0.2
-5
-4
-3
-2
-1
0
vitesse v [m/s]
1
2
0
3
Figure 15 : simulation en réponse pile pour
1
0.8
v  2 m.s
1
Stabilisation asymptotique P avec v+d=2.0m/s et k p=0.4
Commande |u| [N]
Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
1.2

d
6000
4000
2000
0
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
7
8
9
10
deltaV [m/s]
position x [m]
1
0.6
0.4
0.5
0
Erreur v~ [m/s]
0.2
0
-0.2
-5
-4
-3
-2
-1
0
vitesse v [m/s]
1
2
3
2
1
0
Figure 16 : simulation en stabilisation asymptotique pour
4

d
5
6
Temps [s] 1
v  2 m.s
Le fait de saturer v à 0 fait entrer le système dans une phase transitoire où
celui-ci n’est pas commandé et donc laisser à lui même. Par contre la saturation améliore
le temps de réponse du système.
23
3.4.2
Changement de fenêtre
Une deuxième stratégie consiste à changer la fenêtre de génération des impulsions.
Si v  v 1 , l'impulsion sera générée dans la fenêtre

d

x  0, v  0.
4
Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
4
Commande |u| [N]
1.2
1
3
2
1
0
0.6
0
1
2
3
4
0
1
2
3
4
5
6
7
8
9
10
5
6
Temps [s]
7
8
9
10
8
0.4
deltaV [m/s]
position x [m]
0.8
Réponse pile avec v+d=2.0m/s
x 10
0.2
0
-0.2
-5
6
4
2
0
-4
-3
-2
-1
0
vitesse v [m/s]
1
2
3
Figure 17 : simulation en réponse pile pour
Stabilisation asymptotique P avec v+d=2.0m/s et k p=0.4
1
0.8
Commande |u| [N]
4
Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
1.2
4
v d  2 m.s 1
x 10
2
0
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
Temps [s]
7
8
9
10
deltaV [m/s]
position x [m]
6
0.6
0.4
4
2
0
Erreur v~ [m/s]
0.2
0
-0.2
-5
-4
-3
-2
-1
0
vitesse v [m/s]
1
2
3
2
1
0
Figure 18 : simulation en stabilisation asymptotique P pour
v d  2 m.s 1
A priori, la solution de changer de fenêtre semble être la meilleure. Le système est
alors commandé et non "livré" à lui même. Par contre, en envoyant une impulsion dans
la fenêtre de gauche x  0, v  0 , une fois le système stabilisé, les impulsions ont une


amplitude quatre fois supérieure à celle lors d'une saturation de v . Ceci peut bien
évidemment poser problème par la suite si l'amplitude de la commande est limitée.
Par la suite nous saturerons
v à 0.
24
4
Robustesse
4.1
Vis-à-vis des paramètres k et 
Nous cherchons ici à étudier la robustesse vis-à-vis des paramètres k et . Le
calcul de la hauteur des impulsions ximpulse est réalisé avec des paramètres différents de
ceux utilisés en simulation.
 représente l'amortissement du sol. Ainsi lorsque   0 , l'énergie perdue tend
elle aussi vers 0. De ce fait, si =0, il n'y a alors aucune perte d'énergie lors du contact
au sol. Ainsi les commandes à réponse pile et par correcteur proportionnel sont robustes

par rapport à , quelque soit la valeur de v d . Par contre, la commande par correcteur PI
n'est pas robuste lorsque v d  v 1 à cause du dépassement engendré.


v étant saturé
à 0 et le système ne perdant pas d'énergie, cette commande permet uniquement au
système de se stabiliser autour de la vitesse engendrée par le premier dépassement.
k représente la raideur du sol et donc permet de calibrer la profondeur maximale
atteinte par la masse. Pour un ximpulse calculé à partir de k=1000N.m-1, les trois
commandes sont robustes pour 500<k<10000N.m-1. Pour des valeurs de k trop petites,
la masse ne ressort pas du sol, chose non physiquement réalisable. Plus k est grand plus

la masse sortira rapidement du sol. Nous atteignons bien v d , mais par la suite la vitesse
de sortie correspondante peut donner une vitesse d'impact et donc une vitesse d'avant
impulsion
v  supérieure à v d . Le système ne pouvant pas "retourner" en arrière, il se
stabilise autour d'une vitesse plus grande que celle désirée. Il n'y aurait dans ce cas plus
de perte d'énergie mais un gain.
25
4.2
Etude de l'approximation des impulsions
Une impulsion peut se définir comme un signal d'amplitude infinie et de durée
infinitésimale. Un tel signal ne peut bien évidemment pas être reproduit idéalement en
pratique. Il convient alors de faire des approximations. Il s'agit dans ce cas d'étudier les
réactions du système aux différentes approximations de l'impulsion que nous pouvons
faire.
4.2.1
Rappel sur l'impulsion dirac
L'impulsion
 (t ) est définie tel que :
 pour t  0
 0 pour t  0
 (t )  
L'aire d'une impulsion est toujours égale à 1, soit
(43)
  (t ) dt  1 . Ainsi il est possible
d'approximer cette fonction de différentes manières :
4.2.2
But
Les amplitudes des impulsions que nous avons obtenus pour l'instant sont assez
conséquentes. Elles peuvent aller jusqu'à 10000N. En faisant varier le  , notamment en
l'augmentant, il nous sera alors possible d'obtenir différentes impulsions à l'amplitude
moins importante.
Pour ce faire, un module sous simulink permet de fixer le
simulation.
26

en fonction du pas de
4.2.3
Simulations
Les précédentes simulations ont toutes été réalisées avec un  de 0,001s. Pour
chaque type de correcteur nous procédons à des simulation pour un  de 0,005s et de

1
0,010s. Pour chaque simulation, nous fixons v d  6 m.s .
 Réponse pile
commande à réponse pile pour
  0.001s
: voir figure 9
Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
Réponse pile avec v+d=6.0m/s et e=0.005s
1500
Commande |u| [N]
2
1000
500
1
0
0
-0.5
-6
0
1000
2000
3000
4000
0
1
2
3
4
6000
7000
8000
7
8
9000 10000
-4
-2
0
vitesse v [m/s]
2
4
3
2
1
0
6
Figure 19 : commande à réponse pile pour
  0.005s
Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
5
6
Temps [s]
9
10
Réponse pile avec v+d=6.0m/s et e=0.010s
400
Commande |u| [N]
1.8
1.6
1.4
1.2
300
200
100
1
0
0
1000
2000
3000
4000
0
1
2
3
4
5000
6000
7000
8000
7
8
9000 10000
0.8
4
0.6
0.4
deltaV [m/s]
position x [m]
5000
4
0.5
deltaV [m/s]
position x [m]
1.5
0.2
0
-0.2
-6
-4
-2
0
vitesse v [m/s]
2
4
3
2
1
0
6
Figure 20 : commande à réponse pile pour
27
  0.010s
5
6
Temps [s]
9
10
 Stabilisation asymptotique avec un correcteur P
stabilisation asymptotique avec un correcteur P pour
1000
500
0
1
0.5
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
Temps [s]
7
8
9
10
2
1
Erreur v~ [m/s]
0
0
-0.5
-6
0
3
deltaV [m/s]
position x [m]
1.5
-4
-2
0
vitesse v [m/s]
2
4
6
4
2
0
6
Figure 21 : commande à stabilisation asymptotique P pour
1.6
1.4
400
200
0
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
Temps [s]
7
8
9
10
3
deltaV [m/s]
1
0.8
0.6
2
1
0
0.4
Erreur v~ [m/s]
position x [m]
1.2
  0.005s
Stabilisation asymptotique P avec v+d=6.0m/s e=0.010s et k p=0.4
Commande |u| [N]
Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
1.8
0.2
0
-0.2
-6
: voir figure 11
Stabilisation asymptotique P avec v+d=6.0m/s e=0.005s et k p=0.4
Commande |u| [N]
Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
2
  0.001s
-4
-2
0
vitesse v [m/s]
2
4
6
6
4
2
Figure 22 : commande à stabilisation asymptotique P pour
28
  0.010s
 Stabilisation asymptotique avec un correcteur PI
stabilisation asymptotique avec un correcteur PI pour
Commande |u| [N]
5
4
3000
2000
1000
0
0
5
10
15
20
25
30
0
5
10
15
20
25
30
0
5
10
15
Temps [s]
20
25
30
10
deltaV [m/s]
3
2
5
0
-5
Erreur v~ [m/s]
1
0
-1
-15
-10
-5
0
vitesse v [m/s]
5
10
15
6
4
2
0
-2
-4
Figure 23 : commande à stabilisation asymptotique PI pour
  0.005s
Stabilisation asymptotique PI avec v+d=6.0m/s e=0.010s k p=0.4 et k i=0.4
Commande |u| [N]
Stabilisation asymptotique PI avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
4
3.5
3
1000
500
0
2.5
0
5
10
15
20
25
30
0
5
10
15
20
25
30
0
5
10
15
Temps [s]
20
25
30
deltaV [m/s]
10
2
1.5
5
1
0
0.5
6
Erreur v~ [m/s]
position x [m]
: voir figure 13
Stabilisation asymptotique PI avec v+d=6.0m/s e=0.005s k p=0.4 et k i=0.4
Stabilisation asymptotique PI avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1
6
position x [m]
  0.001s
0
-0.5
-10
-8
-6
-4
-2
0
2
vitesse v [m/s]
4
6
8
10
4
2
0
-2
Figure 24 : commande à stabilisation asymptotique PI pour
29
  0.010s
4.2.4
Conclusion
Conformément à ce que nous pensions, en augmentant trop
alors plus efficace. En effet nous n'atteignons pas v

d
 6 m.s
1
 , l'approximation n'est
pour   0.010s pour la
commande à réponse pile et la stabilisation asymptotique P (voir figures 20 et 22). Par

contre pour la stabilisation asymptotique PI, nous atteignons v d  6 m.s
1
pour
  0.010s
(voir figure 24). Cette commande est donc plus robuste vis-à-vis de l'approximation des
impulsions.
Aussi, comme cela était prévisible, augmenter le  présente l'avantage de faire
considérablement diminuer la hauteur des impulsions. On se retrouve alors avec des
amplitudes maximum de 800N à la place d'amplitudes de l'ordre du 10000N pour les
deux premiers types de commande (figures 19 et 21). L’inconvénient du dépassement
engendré par le correcteur PI est limité grâce à sa robustesse qui permet d’avoir un 
plus important que les deux autres commandes. L’amplitude maximum peut de ce fait se
limiter à 1000N (figure 24).
30
Conclusion
1
La masse en chute libre
Le travail effectué sur le système d'une masse en chute libre sur un sol compliant
répond en majorité aux différentes questions que nous nous posions.
Il a été démontré que grâce à une commande impulsionnelle, il est possible de
stabiliser et de rendre périodique l’orbite de cette masse. A travers les différentes
simulations réalisées, nous nous sommes aperçus qu’il était délicat de peser le pour et le
contre entre une commande à réponse pile et une commande à stabilisation
asymptotique proportionnelle. La seule différence pouvant se faire au niveau du temps
réponse. Les simulations n’ont malheureusement pas pu nous montrer une meilleure
robustesse théorique du correcteur P par rapport à la commande à réponse pile. Il a donc
été décidé d’étudier une commande à stabilisation asymptotique de type proportionnelintégrateur. Cette commande a pour inconvénients d’engendrer un dépassement ou des
oscillations amorties suivant les valeurs des paramètres du correcteur. Par contre, cette
commande présente l’avantage d’être plus robuste au niveau de l’approximation des
impulsions. Ceci est un avantage non négligeable compte tenu du fait que les impulsions
sont bien évidemment limitées en amplitude.
2
Application sur Rabbit
Suite au travail effectué sur le système de la masse en chute libre sur un sol
compliant, il s'agit maintenant d'appliquer les différentes lois de commande
impulsionnelle sur le robot marcheur Rabbit. Actuellement différentes lois de commande
permettant de faire marcher et courir Rabbit existent. Elles ne sont pour l'instant pas
optimales : les applications de Poincaré résultantes ne sont pas périodiques : le robot
marche ou court mais maladroitement. Le but de la commande impulsionnelle est alors
de rendre la marche ou la course plus fluide.
La situation pour laquelle Rabbit se rapproche le plus du système étudié ici est
lorsque le robot court. En effet, en course, le robot alterne deux phases : le vol (les deux
jambes sont en l'air) et l'appui sur le sol sur une jambe. Pour ce faire, il s'agira de
reprendre une loi de commande existante et d'y intégrer la commande impulsionnelle.
Plusieurs problèmes sont à prévoir et notamment au niveau des amplitudes des
impulsions que pourra supporter le robot.
31
Bibliographie
[1] C. Canudas de Wit, L. Roussel et A. Goswani, Periodic Stabilization of a 1-DOF
Hopping Robot under nonlinear Compliant surface, 25 Mars 2003
[2] C. Chevallereau, G. Abba, Y. Aoustin, F. Plestan, E.R. Westervelt, C. Canudas de Wit,
et J.W. Grizzle, RABBIT: A Testbed for Advanced Control Theory, proposé à IEEE
Control Systems Magazine; Septembre 2002
[3] H.K. Khalil, Nonlinear System, Macmillan Publishing Company, New York, 2 e
édition, 1996
[4] John W. Perram, Anton Shiriaev, Carlos Canudas de Wit et Frédéric Grognard,
Explicit Formula for a general integral motion for a class of mechanical systems
subject to holonomic constraint
[5] L. Roussel, Génération de trajectoires de marche optimales pour un robot
bipède, Doctorat de l'INPG, 1998
[6] E.R. Westervelt, J.W. Grizzle et D.E. Koditschek, Hybrid Zero Dynamics of Planar
Biped Walkers. Reprint, IEEE-TAC, Vol. 48, No. 1, Janvier 2003, pages 42-56.
[7] E.R. Westervelt, J.W. Grizzle et C. Canudas de Wit, Switching and PI Control for
Planar Biped Walkers, Reprint, IEEE Transactions on Automatic Control, Vol. 48, No. 2,
Février 2003, pages 308-312
[8] A. Zavala-Rio, Commande de robots jongleurs, Doctorat de l'INPG, 1997
32
Résumé
Le Laboratoire d’Automatique de Grenoble (LAG) participe actuellement à un
projet national pour le développement du robot marcheur Rabbit. Ce robot présente
notamment comme particularités de n’avoir qu’un tronc, deux jambes et aucun pied et
d’être sous actionné. Le but des recherches est de pouvoir faire marcher et courir Rabbit.
Plusieurs lois de commande existent, mais lors de ce stage une nouvelle loi de
commande a été étudiée afin d’améliorer la marche. Cette loi se base sur une commande
de type impulsionnel.
Avant de pouvoir expérimenter ce genre de loi sur le robot, le but de ce stage a
été de l’étudier et de la mettre en œuvre sur un système mécanique simple : une masse
en chute libre sur un sol compliant. Il s’agit d’envoyer des impulsions lors de la phase de
contact avec le sol afin de faire entrer la masse dans une orbite périodique, c’est à dire
de faire remonter cette masse à une même hauteur à chaque rebond. Les études
théorique puis pratique ont été validées et différentes stratégies de commande ont été
réalisées. Ce travail donnera lieu à une implémentation sur le robot Rabbit lors du stage
de DEA et pourra s’appliquer lors de la course du robot.
Mots clés : commande impulsionnelle, sol compliant, application de Poincaré, robot
marcheur
Abstract
The Laboratoire d’Automatique de Grenoble (LAG) works on a national project for
the development of the Rabbit walking robot. This one has just one trunk and two legs
but no feet and it is under actuated. The aim of the researches is to make the robot walk
and run. Control laws have already been developed, but during this trainee period a new
law has been studied to improve the robot’s walk. This law is based on an impulse
control.
Before testing this law on the robot, the goal of the trainee period was to study it
and to test it on a simple mechanical system : a mass in a free fall on a compliant
surface. Impulses are generated when contact with ground is performed in order to make
the mass enter a periodic orbit. So the mass goes up at the same height in each
rebound. Theoretical and practical studies have been validated and different control laws
have been achieved . Thanks to this work, an implementation will be done on Rabbit
during the master of research trainee period and will be applicated during the robot’s
run.
Key words : impulse control, compliant surface, Poincaré map, walking robot
Téléchargement