Chapitre V©cial:Pages...- Le moteur à courant continu, - Le moteur synchrone, - Le moteur...

Post on 21-Mar-2021

12 views 0 download

Transcript of Chapitre V©cial:Pages...- Le moteur à courant continu, - Le moteur synchrone, - Le moteur...

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.