chapitre v©cial:pages...- le moteur à courant continu, - le moteur synchrone, - le moteur...
TRANSCRIPT
1
Cours de robotiqueCours de robotique
Chapitre VCommande des robots
2
V. Commande des robotsV. Commande des robots
● 1. Introduction● 2. Commande au niveau articulaire
– 2.1. Les actionneurs– 2.2. Etages de puissance– 2.3. Asservissements articulaires– 2.4 Génération de trajectoire
● 3. Commande dans l'espace opérationnel● 4. Contrôleur de robot
3
1. Introduction1. Introduction
La commande d'un robot a pour but de contrôler le déplacement des actionneurs suivant une trajectoire programmée.
Elle peut être décomposée en plusieurs sous-systèmes :
- Le contrôleur = ordinateur- Interface Homme - Machine (IHM)- Les variateurs = étages de puissance- Les capteurs- Les actionneurs
Physiquement, le contrôleur et les variateurs sont souvent regroupés dans une même armoire tandis que les capteurs et les actionneurs sont solidaires du robot.
4
1. Introduction1. Introduction1.1. Schéma d'ensemble1.1. Schéma d'ensemble
}Contrôleur
}Variateurs
IHM
5
1. Introduction1. Introduction1.2. Calculateur, variateurs et IHM1.2. Calculateur, variateurs et IHM
● Calculateur :● Unité centrale (souvent multi-processeurs)● Unité de stockage● Interfaces (CNA, CAN, E/S binaires, compteurs,
liaisons série, ...)
● Variateurs (1 variateur par axe) :● Amplificateur de puissance● Asservissement de couple● Asservissement de vitesse● Sécurités de bas niveau
● IHM : console, joystick, space-mouse, ...
6
1. Introduction1. Introduction1.3. Actionneurs et capteurs : exemple du robot SCEMI1.3. Actionneurs et capteurs : exemple du robot SCEMI
Réducteur
Capteur fin de course
Moteur
Codeur incrémental = capteur de position
Génératrice tachymétrique = capteur de vitesse
7
2. Commande articulaire2. Commande articulaire2.1. Les actionneurs2.1. Les actionneurs
● Les actionneurs électriques● Les actionneurs hydrauliques● Les réducteurs● Les capteurs associés
8
2. Commande articulaire2. Commande articulaire2.1.1. Les actionneurs : les actionneurs électriques2.1.1. Les actionneurs : les actionneurs électriques
3 types d'actionneurs électriques sont utilisés en robotique :
- Le moteur à courant continu,- Le moteur synchrone,- Le moteur asynchrone.
Les moteurs électriques de robotique ont des particularités liées à leur utilisation (performances maximales) :
- Constante de temps électrique (L/R) faible,- Constante de temps mécanique (J/f) faible.
avec L, inductance de l'induit, R, résistance de l'induit, J, inertie du rotor et f, frottements visqueux sur le rotor. R et f ne peuvent être augmentés car il faut limiter les pertes. D'où L et J sont minimisés pour obtenir de bonnes performances dynamiques.
9
2. Commande articulaire2. Commande articulaire2.1.1. Les actionneurs : les actionneurs électriques2.1.1. Les actionneurs : les actionneurs électriques
Ceci impose un dimensionnement particulier du moteur :
- Moteur long et de diamètre faible ou moteur a rotor plat (type AXEM) pour diminuer J,- Conducteurs de forte section pour diminuer L.
Exemples :
→ Moteurs AXEM PARVEXTM
Moteurs CC PARVEXTM →
10
2. Commande articulaire2. Commande articulaire2.1.1. Les actionneurs : les actionneurs électriques2.1.1. Les actionneurs : les actionneurs électriques
Moteurs synchrones"brushless" PARVEXTM :
Moteur synchrone"brushless" SIEMENSTM :
Moteur asynchroneSIEMENSTM et sa
commande vectorielle :
11
2. Commande articulaire2. Commande articulaire2.1.1.1. Le moteur à courant continu (MCC)2.1.1.1. Le moteur à courant continu (MCC)
N
N
Principe : le stator crée un champ magnétique fixe. En robotique ce champ est créé par un aimant permanent. Un système de balais permet d'amener le courant au rotor. Ce courant (continu) créé un champ en quadrature par rapport à celui du stator générant ainsi un couple proportionnel à ce courant.
Aimant permanent
Historiquement, le MCC fut le premier à être utilisé en robotique. Son principal avantage est qu'il est facile à commander(couple proportionnel au courant d'induit). Son principal inconvénient est qu'il utilise des contacts glissants (maintenance régulière).
12
2. Commande articulaire2. Commande articulaire2.1.1.2. Le moteur synchrone2.1.1.2. Le moteur synchrone
On le trouve souvent sous l'appellation "brushless".
Aimantpermanent
Principe : Un champ est créé au rotor (en robotique par un aimant permanent). Les bobines du stator sont alimentées par un courant triphasé de fréquence variable dont la phase est telle qu'il créé un champ en quadrature.Ce courant triphasé est généré par un variateur en fonction de la position du rotor afin de toujours garantir la quadrature entre les 2 champs du rotor et du stator.
Le moteur synchrone a des performances dynamiques meilleures que le MCC et requiert moins d'entretient (pas de balais). Par contre, le variateur est plus complexe.
13
2. Commande articulaire2. Commande articulaire2.1.1.3. Le moteur asynchrone2.1.1.3. Le moteur asynchrone
Principe : les bobines du stator sont alimentées par un courant triphasé de fréquence variable. Celui-ci créé dans les bobines du rotor un courant induit qui lui-même créé un champ. Toute la difficulté de la commande, aussi appelée commande vectorielle, est que le champ du rotor soit à tout moment en quadrature avec le champ du stator.
Le moteur asynchrone à commande vectorielle a les meilleures performances dynamiques. Néanmoins le variateur est plus complexe.
Bobinage
14
2. Commande articulaire2. Commande articulaire2.1.1.4. Tableau comparatif des actionneurs électriques2.1.1.4. Tableau comparatif des actionneurs électriques
MCC Synchrone Asynchrone
Maintenance *** ** *Rapport couple/masse * ** ***
Performances dynamiques * ** ***Complexité de la commande * ** ***
Coût variateur + moteur ** ** **** Peu** Moyen*** Beaucoup
Conclusion : le moteur asynchrone surpasse les autres sauf en ce qui concerne le coût. Comme la tendance est à la baisse des prix, il faut s'attendre à l'avenir à une généralisation de son utilisation en robotique.
15
2. Commande articulaire2. Commande articulaire2.1.1.5. Modèle dynamique des actionneurs électriques2.1.1.5. Modèle dynamique des actionneurs électriques
Les moteurs synchrone et asynchrone ont un modèle dynamique qui peut se ramener en première approximation à celui d'un MCC. En effet, le but de la commande qui leur est associée est le contrôle du couple. Lorsque ces moteurs sont commandés en couple, on peut leur associer L, R, U, I, K, E, respectivement une inductance d'induit, une résistance d'induit, une tension d'induit, un courant d'induit, un coefficient de proportionnalité entre courant et couple et une force contre-électromotrice équivalents.Le modèle des 3 types de moteurs se ramène donc à :
R
LU
IJ, f
, : couple moteur : vitesse du rotorJ : inertie du rotorf : frottements visqueuxE
16
2. Commande articulaire2. Commande articulaire2.1.1.5. Modèle dynamique des actionneurs électriques2.1.1.5. Modèle dynamique des actionneurs électriques
Exercice : Etablir le schéma bloc du MCC équivalent ayant en entrée U(s) et en sortie (s) :
17
2. Commande articulaire2. Commande articulaire2.1.1.5. Modèle dynamique des actionneurs électriques2.1.1.5. Modèle dynamique des actionneurs électriques
Donner la fonction de transfert approchée du moteur en considérant que la constante de temps électrique (L/R) est nettement plus faible que la constante de temps mécanique (J/f) :
On en déduit la fonction de transfert approchée :
En robotique, on ne peut pas faire cette approximation car l'inertie du rotor est tellement faible que la constante de temps mécanique devient à peu près du même ordre de grandeur que la constante de temps électrique. Déterminer la fonction de transfert exacte du moteur.
18
2. Commande articulaire2. Commande articulaire2.1.1.5. Modèle dynamique des actionneurs électriques2.1.1.5. Modèle dynamique des actionneurs électriques
On a :
D'où :
La fonction de transfert d'un moteur de robotique et, en général, de tout moteur utilisé dans un servo-mécanisme est une fonction de transfert du second ordre.
19
2. Commande articulaire2. Commande articulaire2.1.1.5. Modèle dynamique des actionneurs électriques2.1.1.5. Modèle dynamique des actionneurs électriques
Tout les actionneurs de robotique ont une commande qui réalise un asservissement de couple. Comme le couple est proportionnel au courant d'induit, établir la fonction de transfert F(s) entre U(s) et I(s) :
Le correcteur C(s) de l'asservissement de courant est en général du type PI :
K i
1i ss
+ 1RLs
K1
f Js
K
-U I
E+
-
I*
Déterminer la fonction de transfert H(s) entre I*(s) et (s).
20
2. Commande articulaire2. Commande articulaire2.1.1.5. Modèle dynamique des actionneurs électriques2.1.1.5. Modèle dynamique des actionneurs électriques
On a :
D'où :
Conclusion : La fonction de transfert entre la consigne de courant du variateur et le couple moteur est de degré 3. La fonction de transfert entre la consigne de courant et la vitesse du rotor est donc de degré 3. De plus, cette fonction de transfert possède 1 zéro. La connaissance de degré du numérateur et du dénominateur est importante si on désire identifier la fonction de transfert par une méthode numérique.
21
2. Commande articulaire2. Commande articulaire2.1.2. Les actionneurs hydrauliques2.1.2. Les actionneurs hydrauliques
Les actionneurs hydrauliques sont rarement employés en robotique. Pour des applications spéciales, il peut être nécessaire d'y recourir.
Le principal avantage de ce type d'actionneur est le grand rapport effort/masse ce qui permet de réaliser des robots légers et puissants. Le principal inconvénient est la difficulté pour le commander. Ce type d'actionneur est très imprécis.
Ex : le TITAN3 de SCILLINGTM :Charge nominal : 450 kg, Poids : 102 Kg
22
2. Commande articulaire2. Commande articulaire2.1.3. Les actionneurs pneumatiques2.1.3. Les actionneurs pneumatiques
Les actionneurs pneumatiques sont utilisés pour les outils des robots. Ils ne sont jamais utilisés pour déplacer des axes.
Pince pneumatiques :
Système de saisie depalettisation par succion :
Préhenseur par succion :
23
2. Commande articulaire2. Commande articulaire2.1.4. Les réducteurs2.1.4. Les réducteurs
Harmonic drive : jeu nul, grand rapport de réduction, flexibilité.
Train épicycloïdal : jeu faible, grand rapport de réduction, rigidité.
Train d'engrenage classique : jeu important, faible rapport de réduction, rigidité.
24
2. Commande articulaire2. Commande articulaire2.1.5. Les capteurs associés2.1.5. Les capteurs associés
On peut distinguer 3 types de capteurs associés aux actionneurs :- Les capteurs de position,- Les capteurs de vitesse,- Les capteurs de fin de course.
Les capteurs de position et de vitesse sont généralement mis en série sur l'axe de l'actionneur. Ils permettent de fournir les mesures nécessaires aux asservissements de vitesse et de position des axes du robot.
Les capteurs de fin de course sont des interrupteurs (microswitch)qui sont actionnés par le déplacement du bras, lorsque celui-ci se rapproche d'un butée mécanique. Il y a généralement 2 capteurs par axe : un à chaque extrémité du débattement. L'information fournie par ces capteurs est utilisée par la commande pour gérer les sécurités et pour initialiser le capteurs de position.
25
2. Commande articulaire2. Commande articulaire2.1.5.1.1. Les capteurs de position angulaire2.1.5.1.1. Les capteurs de position angulaire
Deux technologies sont utilisées :- Le codeur incrémental,- Le synchro-resolver.
Le codeur incrémental fourni un signal carré. En fonction de sa résolution, ce capteur fourni un nombre fixe de période du signal carré par tour. Un compteur-décompteur situé au niveau du contrôleur du robot permet donc de connaître la position relative échantillonnée de l'axe.
Principe du codeur incrémental :
Le passage d'un disque percé de minuscules fentes devant une cellule photo-électrique permet de produire le signal.
26
2. Commande articulaire2. Commande articulaire2.1.5.1.1. Les capteurs de position angulaire2.1.5.1.1. Les capteurs de position angulaire
Signaux fournis par les codeurs incrémentaux :
A
B
C
Les signaux A et B sont déphasés de +90° ou -90° selon lesens de rotation. Le signal C intervient une fois par tour, il est utilisé dans certains cas pour initialiser le comptage.
27
2. Commande articulaire2. Commande articulaire2.1.5.1.1. Les capteurs de position angulaire2.1.5.1.1. Les capteurs de position angulaire
Le codeur incrémental a une résolution limitée à environ 10000 points par tour. Afin d'augmenter la résolution, il est possible d'utiliser un synchro-resolver.
Principe du synchro-resolver : le principe physique de ce capteur est le même que celui du codeur incrémental mais au lieu de fournir un signal carré, le synchro-resolver fourni 2 sinusoïdes déphasées de +/- 90°. Une électronique permet d'interpoler le signal. On peut ainsi atteindre une résolution de 2.106 points par tour.
Les synchro-resolver sont souvent associés à la commande vectorielle car celle-ci requiert une très bonne précision de la mesure de position.
28
2. Commande articulaire2. Commande articulaire2.1.5.1.2. Les capteurs de position linéaire2.1.5.1.2. Les capteurs de position linéaire
Lorsqu'on veut atteindre une grande précision sur des axes prismatiques, on peut recourir à un capteur linéaire en bout de chaîne cinématique (après le réducteur) :
Précision maximale : +/- 0.1 m
29
2. Commande articulaire2. Commande articulaire2.1.5.2. Les capteurs de vitesse2.1.5.2. Les capteurs de vitesse
Les variateurs pour MCC incluent toujours une fonction d'asservissement de vitesse. Cet asservissement est analogique et requiert une mesure de vitesse. Cette mesure est fournie par une génératrice tachymétrique couplée au rotor du MCC. Elle fourni une tension proportionnelle à la vitesse de rotation.
Les variateurs pour machine synchrone et pour machine asynchrone incluent aussi une fonction d'asservissement de vitesse. Mais dans ce cas, l'asservissement est numérique et la mesure de vitesse est obtenue par dérivation de la mesure de position. C'est pourquoi, afin de limiter le bruit, une grande précision est nécessaire. On préfère donc employer dans ce cas des synchro-resolver.
30
2. Commande articulaire2. Commande articulaire2.2. Etages de puissance2.2. Etages de puissance
Les étages de puissance ou variateurs permettent de réaliser les fonctions suivantes :
- Asservissement de couple des actionneurs,- Asservissement de vitesse optionnel des actionneurs,- Protection contre les surcharges,- Protection contre une défaillance interne du variateur,- Gestion des fins de course,- Gestion des arrêts d'urgence,
Chaque axe possède son propre variateur. Les variateurs sont commandés par le contrôleur du robot qui réalise les asservissements de position.
31
1N
1Ns
1Js f
2. Commande articulaire2. Commande articulaire2.3. Asservissements articulaires2.3. Asservissements articulaires
q̇*
+ + + +-
-
- -
- - q̈ q̇ qC v s H s K t D−1q s−1 s−1
C q , q̇g q
F d q
F v
Le modèle dynamique complet d'un robot peut se ramener au schéma-bloc suivant :
32
2. Commande articulaire2. Commande articulaire2.3. Asservissements articulaires2.3. Asservissements articulaires
● Avec :● q, le vecteur des positions angulaires,● C
v(s) transmittance des correcteurs de vitesse,
● H(s), transmittance des asservissements de courant,● N, rapport de réduction des réducteurs,● K
t, flexibilité des transmissions,
● D(q), matrice d'inertie du robot,● C(q, dq/dt), matrices des forces centrifuges et Coriolis,● g(q), vecteur des forces de gravité,● F
v, coefficient de frottements visqueux,
● Fd(q), vecteur des frottements secs.
33
2. Commande articulaire2. Commande articulaire2.3. Asservissements articulaires2.3. Asservissements articulaires
● En faisant les approximations suivantes :● On néglige les forces centrifuges et de Coriolis qui
agissent comme des perturbations sur les boucles de vitesse,
● Les forces de gravité sont négligées car compensées par un système mécanique,
● Les frottements secs sont négligés,● La matrice d'inertie du robot est diagonale (on néglige
les influences mutuelles).
● ... on peut se ramener au modèle dynamique simplifié suivant ...
34
2. Commande articulaire2. Commande articulaire2.3. Asservissements articulaires2.3. Asservissements articulaires
1N
1Ns
1Js f
q̇*
+ + +-
-
-
q̇ qC v s H s K t s−1D q sFv
−1
Comme on peut le constater, le modèle dynamique a presque été complètement linéarisé par ces approximations. Le seul élément non linéaire qui subsiste est D(q), l'inertie qui varie avec la position du manipulateur. La variation d'inertie est surtout sensible pour les premiers axes du robot (ceux qui supportent la plus grande charge). Pour commander ces axes, on pourra utiliser une technique de séquencement de gain.On constate également que chaque axe peut être asservi indépendamment car toutes les influences mutuelles ont été négligées : le système a donc été linéarisé et découplé.
35
2. Commande articulaire2. Commande articulaire2.3. Asservissements articulaires2.3. Asservissements articulaires
Découplage non linéaire :
+-
- - q̈ q̇ qD−1q s−1 s−1
C q , q̇g q
F d q
F v
+D q
F v
C q , q̇g q
F d q
++
+
*
Modèle équivalent : q s* s
= 1
s2
36
2. Commande articulaire2. Commande articulaire2.4. Génération de trajectoire2.4. Génération de trajectoire
Générateur de trajectoire : programme qui calcul les positions articulaires du robot en fonction du temps de manière à ce que le bras se déplace au plus vite d'un point A vers un point B en garantissant que les trajectoires des n axes commencent et se terminent au même moment.
Pour l'axe i, soient : Amaxi : accélération maximale
V maxi : vitesse maximale
qAi : position initiale
qBi : position finale
V i : vitesse couranteqi : position courante
37
2. Commande articulaire2. Commande articulaire2.4. Génération de trajectoire2.4. Génération de trajectoire
t0 t
1 t2
t3
V i
V maxi
t0 t
1 t2
t3
qi
0
qAi
qBi
On désire générer la trajectoire suivante :
Amaxi
−Amaxi
38
2. Commande articulaire2. Commande articulaire2.4. Génération de trajectoire2.4. Génération de trajectoire
Donner t 1, t 2 et t 3 . En déduire la valeur limite de qi=qBi −q A
i .Proposer une forme alternative pour le profile de vitesse etcalculer le temps de cycle dans les 2 cas.On a :
Lors de l'accélération et de la décélération, on a parcouru :
Donc à vitesse constante, il reste à parcourir :
39
2. Commande articulaire2. Commande articulaire2.4. Génération de trajectoire2.4. Génération de trajectoire
D'où :
Finalement :
A condition que :
40
2. Commande articulaire2. Commande articulaire2.4. Génération de trajectoire2.4. Génération de trajectoire
Si qiV max
i 2
Amaxi :
Avec :
D'où :
41
2. Commande articulaire2. Commande articulaire2.4. Génération de trajectoire2.4. Génération de trajectoire
Récapitulatif :Soit ti
c le temps de cycle pour l'axe i :
t ci=
V maxi
Amaxi
qi
V maxi si qi
V maxi 2
Amaxi
t ci=2 qi
Amaxi si qi≤
V maxi 2
Amaxi
Soit Tc=max
i{ti
c}=temps de cycle le plus long. On impose à tous
les axes un temps de cycle Tc. Pour cela, on ajuste l'accélération Ai ou
la vitesse Vi.
42
2. Commande articulaire2. Commande articulaire2.4. Génération de trajectoire2.4. Génération de trajectoire
Cas où qi≤V max
i 2
Amaxi :
Cas où qiV max
i 2
Amaxi :
43
2. Commande articulaire2. Commande articulaire2.4. Génération de trajectoire2.4. Génération de trajectoire
Les solutions Vi existent si :
T c Amaxi 24qi Amax
i ⇔ T c2 qi
Amaxi
Or on est dans le cas où qiV max
i 2
Amaxi :
D'où T cV max
i
Amaxi
qi
V maxi 2 qi
Amaxi
44
3. Commande opérationnelle3. Commande opérationnelle
Les commandes dans l'espace opérationnel contrôlent directement les coordonnées opérationnelles. Contrairement aux asservissements dans l'espace articulaire où les n entrées et les n sorties sont respectivement les consignes et les mesures de position articulaire, dans la commande opérationnelle, les consignes et les mesures sont exprimées en coordonnées Cartésienne.
Avec un tel asservissement, il est nécessaire d'effectuer une transformation des commandes du correcteur pour les convertir dans l'espace articulaire afin de pouvoir les appliquer aux actionneurs. De cette transformation (qui utilise le Jacobien inverse) résulte des non-linéarités supplémentaires.
Nous reviendrons plus en détails sur ces problèmes dans le cours de commande par vision.
45
4. Contrôleur de robot4. Contrôleur de robot4.1. Architecture logicielle d'un contrôleur4.1. Architecture logicielle d'un contrôleur
Prog
ram
me
de s
uper
visi
on
Acquisition desdonnées
Gestion dessécurités
Calcul descommandes
Gestion desmodes
Inte
rfac
e d'
entr
ée/s
ortie
CodeursConsignes devitesse/couple
Enable variateurs
Erreur variateursArrêt d'urgenceFins de course
FreinsVoyants designalisation
Temps réel
46
4. Contrôleur de robot4. Contrôleur de robot4.2. Systèmes d'exploitation4.2. Systèmes d'exploitation
● Le contrôleur de robot doit fonctionner sous un système temps-réel (VX-WORKS, QNX, RT-linux, iRMX, ...) afin de garantir une période d'échantillonnage constante (< 5 ms en général). Ses fonctions sont :
– d'échantillonner les mesures
– de gérér les sécurités bas-niveau
– de calculer la commande des asservissements de positions articulaires.
● Le logiciel de supervision peut fonctionner de manière asynchrone par rapport au contrôleur. Il permet de :
– Visualiser l'état du robot
– Changer le mode de fonctionnement du robot (marche / arrêt, recalage, génération de trajectoire, ...)
– Programmer les tâches du robot à l'aide d'un macro-langage.
47
4. Contrôleur de robot4. Contrôleur de robot4.3. Gestion des sécurités4.3. Gestion des sécurités
Erreur de traînage : si |e| > seuil. Permet de détecter un blocage d'un axe (problème mécanique, collision).
Erreur de capteur : si |u| > seuil et si q ne varie pas. Permet de détecter un défaut de capteur de position (capteur défectueux, problème de connectique, ...).
Erreur d'accélération : Permet de détecter un problème de capteur.
Correcteur Robotq*
q
ue
si ∣d 2q
dt 2 ∣ seuil.