0% ont trouvé ce document utile (0 vote)
134 vues88 pages

Introduction To Industrial Robot Programming 2

Ce document présente le plan d'un cours sur l'automatisme et la robotique. Il décrit l'organisation des séances, les sujets abordés comme les constituants d'un robot, les baies de commandes et le boîtier d'apprentissage d'un robot particulier. Le document contient également des explications sur les différents modes de déplacement d'un robot.

Transféré par

ipmcmty
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
134 vues88 pages

Introduction To Industrial Robot Programming 2

Ce document présente le plan d'un cours sur l'automatisme et la robotique. Il décrit l'organisation des séances, les sujets abordés comme les constituants d'un robot, les baies de commandes et le boîtier d'apprentissage d'un robot particulier. Le document contient également des explications sur les différents modes de déplacement d'un robot.

Transféré par

ipmcmty
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ME 5.

1a

Licence Professionnelle Automatisme et Robotique

Session 2019 - Amiens

Fabio MORBIDI

Laboratoire MIS
Équipe Perception Robotique
Université de Picardie Jules Verne

E-mail : [email protected]
Organisation du cours
n° Date matin/a.m. CM TD Contrôle Lieu

1 Mer. 17 oct. 2018 matin CM1 Dpt. EEA

2 Ven. 19 oct. 2018 matin CM2 TD1 Dpt. EEA

3 Mar. 13 nov. 2018 matin CM3 TD2 Promeo, salle 202

4 Ven. 16 nov. 2018 a.m. CM4 TD3 Promeo, salle 202

5 Mer. 12 déc. 2018 a.m. DS Promeo, salle 202

6 Jeu. 13 déc. 2018 matin TP1 Dpt. EEA

7 Jeu. 24 jan. 2019 a.m. TP2 Dpt. EEA

8 Jeu. 21 fév. 2019 a.m. TP3 Dpt. EEA

Matin: 8h30-12h15, pause 10h20-10h35

Après-midi: 13h15-17h00, pause 15h10-15h25


 
1 TP1 + TP2 + TP3
Note finale = l’arrondi de DS +
2 3
2
Plan du cours
• Introduction

• Constituants et caractéristiques d’un robot

• Gammes de robots et secteurs d’activités

• Les baies de commandes, le boîtier d’apprentissage,


les modes et la programmation d’un robot

• Actionneurs et capteurs d’un robot

• Repères et transformations homogènes

• Étude de cas: cellule robotisée de soudage

3
Baies de commandes: robot Stäubli TX60

Contrôleur CS8C

S.M.A.
Ordinateur hôte • Nombre de DDL: 6
L'utilisateur peut créer son • Charge nominale: 3.5 kg
application sur l’ordinateur • Charge maximale: 9 kg
déporté (Stäubli Robotics Suite) • Rayon d'action: 670 mm
• Répétabilité: ± 0.02 mm

Boîtier d'apprentissage
4
Baies de commandes: robot Stäubli TX60

Contrôleur CS8C

S.M.A.
Ordinateur hôte • Nombre de DDL: 6
L'utilisateur peut créer son • Charge nominale: 3.5 kg
application sur l’ordinateur • Charge maximale: 9 kg
déporté (Stäubli Robotics Suite) • Rayon d'action: 670 mm
• Répétabilité: ± 0.02 mm

Dernière séance

Boîtier d'apprentissage
5
Baies de commandes: robot Stäubli TX60

Contrôleur CS8C

S.M.A.
Ordinateur hôte • Nombre de DDL: 6
L'utilisateur peut créer son • Charge nominale: 3.5 kg
application sur l’ordinateur • Charge maximale: 9 kg
déporté (Stäubli Robotics Suite) • Rayon d'action: 670 mm
• Répétabilité: ± 0.02 mm

Boîtier d'apprentissage
6
Boîtier d'apprentissage
• Le boîtier d'apprentissage est un terminal portable pour la commande
d’un robot qui offre un moyen pratique pour:
• Faire le déplacement du robot
• Faire l’apprentissage des points
• Exécuter les programmes

• Le terminal de programmation est un outil très utile, qui permet à l'utilisateur


de s’éloigner du terminal de l'ordinateur hôte et de contrôler le robot à distance
Interrupteur Arrêt d'urgence
de corps mort

• Lorsque le boîtier est activé,


il faut appuyer sur l’interrupteur
de corps mort pour autoriser les
mouvements. En le relâchant,
le robot s'arrête immédiatement

• C’est également le cas lors


d’un appui sur le bouton rouge
d'arrêt d'urgence
Boîtier d'apprentissage:
recto (à droite) et verso (à gauche)
7
Boîtier d'apprentissage

Fonctionnalités
1. Mode button
2. Arm power on/off
3. Emergency stop
4. Movement keys
5. Movement mode
(joint, frame, etc.)
6. Speed adjust
7. Function keys
8. Keyboard
9. Navigation keys
10. Application control
(run, pause, etc.)
11. Enable button
(dead man)
12. Digital I/O buttons
13. Jog keys

8
Boîtier d'apprentissage
1. Sélection
du mode

2. Bouton de power on/off


Cette touche permet d'activer/couper l'alimentation électrique du robot

3. Bouton d'arrêt d'urgence


L'arrêt d'urgence doit être poussé afin de bloquer le robot,
peu importe la tâche qu'il accomplit ou la configuration réelle

4. Boutons de mouvement
Ces touches permettent à l’utilisateur de déplacer le robot
en fonction du mode de déplacement (voir point 5. ci-dessous)
9
Boîtier d'apprentissage
5. Sélection du mode de déplacement

6. Contrôle de vitesse
Pour contrôler la vitesse du robot manuellement (en pourcentage)

10
Boîtier d'apprentissage

7. Le menu contextuel
Utilisé pour valider l'information donnée
sur l'écran juste en haut des boutons
(F1, ...,F8)

8. Clavier alphanumérique
Utile pour entrer des données
de l'application

9. Boutons d'interface et de navigation


Une interface typique avec les boutons
de haut, bas, droite, gauche ainsi que
les boutons sélection de menu, Esc, Aide

10. Les boutons de l’application


Ils sont les boutons qui permettent d'exécuter une application programmée
• Move/Hold : bouton de lecture/pause
• Run : bouton pour charger l'application à exécuter
• Stop : bouton pour mettre fin à l'application courante

11
Menu du boîtier

Touches fléchées pour la navigation


◦ Haut/Bas pour sélectionner les éléments
◦ Droite pour entrer/éténdre
◦ Gauche pour réduire l'affichage
 Application manager
◦ Pour charger, enregistrer
et modifier les applications
• Task manager
◦ Pour le débogage
 Control panel
◦ Visualisation de l’état et
paramètres du système,
IO (entrée/sortie)
 Calibration
◦ Entretien du robot
 Events Logger
Il permet d’acceder, par
exemple, aux messages
d’erreur

Source: “VAL3 basics”, S. van Delden, USC Upstate 9. Touches


12
Mode manuel

 Mettre sous tension le bras


◦ Touche corps mort
◦ Bouton d'alimentation du bras
 Move/Hold (« point »)
◦ Mantenir appuyée la touche
 Vitesse
◦ Limitée à 250 mm/s

Remarque: en mode manuel


le manipulateur peut être
« déplacé à la main »

13
Mode manuel: « joint »

 Déplace chaque articulation


séparément
 Simple et facile à comprendre
 Grands mouvements rapides
du robot dans la cellule

 6 axes (robot TX60)


◦ Un angle pour chaque axe
4 1
3
 4 axes (robot SCARA) 5
3
◦ Un angle pour les
6
articulations 1, 2 et 4 2
2
◦ Une distance pour 1 4
l‘articulation 3

6 axes 4 axes
14
Mode manuel: « frame » et « tool » Z
Z+f

Xt

Yf
Y+ Yt

frame
tool
X+
Xf
Zt
 « frame » et « tool »: mouvement manuel basé sur un
repère cartesien (système de coordonnées 3D)
 Mouvement coordonné de toutes les articulations
 Permet de realiser trajectoires linéaires et rotations
autour des axes du repère
 Efficace pour des mouvements réduites et précis
 6 quantités à définir:
◦ X, Y, Z : partie translationnelle
◦ RX, RY, RZ : partie rotationnelle
15
II. Appuyer et
Mode manuel: « point » maintenir enfoncé
 Il peut être utilisé pour faire un
déplacement jusqu’à (ou par rapport à)
un point qu'a été appris auparavant
 1. Déplacer le curseur vers le point
appris et 2. appuyer sur Move/Hold
 Il peut être aussi utilisé pour approcher I. Appuyer
les points (par rapport au repère outil)

Par rapport au
repère outil

16
Apprentissage des emplacements

 Appuyer sur New pour créer une


nouvelle variable « location »
◦ Location point
 X-Y-Z et Yaw-Pitch-Roll sont stockés
◦ Location articulation
 Angles des articulations sont stockés
 Après avoir déclaré la nouvelle variable,
pour la mettre en place appuyer sur Here
 Selectionner l‘outil
◦ N.B. : Il faut définir une transformation
correcte entre le repère de la flange et le
repère outil du robot
◦ N.B. : Yaw-Pitch-Roll en VAL3 sont
rotations autour des axes X-Y-Z,
respectivement
x
Yaw: lacet
Pitch: tangage
xp
z Roll: roulis
zp 17
Baies de commandes: robot Stäubli TX60

Contrôleur CS8C

begin
movej(above2,flange,mNomSpeed)
movel(p[0],flange,mNomSpeed)
movel(p[1],flange,mNomSpeed)
movej(above2,flange,mNomSpeed)
movel(p[0],flange,mNomSpeed)
movec(p[2],p[1],flange,mNomSpee)
movej(above2,flange,mNomSpeed)
waitEndMove()
end

S.M.A.
Ordinateur hôte • Nombre de DDL: 6
L'utilisateur peut créer son • Charge nominale: 3.5 kg
application sur l’ordinateur • Charge maximale: 9 kg
déporté (Stäubli Robotics Suite) • Rayon d'action: 670 mm
• Répétabilité: ± 0.02 mm

Boîtier d'apprentissage

18
Création des applications
 Les applications/projets contiennent des données
et des instructions utilisées par le robot pour effectuer
une tâche assignée

 Un dossier avec fichiers xml:


◦ Un fichier projet (PJX)
◦ Un fichier de données (DTX)
◦ Plusieurs fichiers de programme/fonction (PGX)
 Diverses fonctions peuvent être définies
sous le même projet

 Les applications/projets peuvent être:


o Stockées sur un disque dur
o Chargées dans la mémoire pour être exécutées

19
Exemple de fichier programme/fonction PGX
<?xml version="1.0" encoding="utf-8" ?>
<programList xmlns="ProgramNameSpace”>
<program name="demo" public="false”>
<description/>
<paramSection/>
<localSection/>
<source>
<code>
begin
movej(above2,flange,mNomSpeed)
movel(p[0],flange,mNomSpeed)
movel(p[1],flange,mNomSpeed)
movej(above2,flange,mNomSpeed)
movel(p[0],flange,mNomSpeed)
movec(p[2],p[1],flange,mNomSpeed)
movej(above2,flange,mNomSpeed)
waitEndMove()
end
</code>
</source>
</program>
</programList>
20
Variables VAL3
 Types simples
◦ num (valeurs numériques: nombres entiers ou à virgule flottante)
◦ bool (valeurs booléennes: true/false)
◦ string (chaînes de caractères; caractères Unicode)
◦ dio (entrées-sorties digitales)
◦ aio (entrées-sorties analogiques)
◦ sio (entrées-sorties sur liaison série et socket TCP/IP)

 Types structurés (structures)


◦ trsf (pour les transformations géometriques cartésiennes)
◦ joint (pour les positions articulaires du robot)
◦ point (pour les positions cartésiennes de l‘outil)
◦ frame (pour les repères géométriques cartésiens)
◦ config (pour les configurations du robot)
◦ tool (pour les outils montés sur un robot)
◦ mdesc (pour les paramètres de déplacement du robot)

Pour plus d’infos, voir le “Manuel de Référence VAL3”, Stäubli, ver. 7, 2010 (ch. 2)
21
Variables VAL3
 Exemple
Dans cet exemple, bBool est une variable booléenne, nPi une variable numérique
et sChaîne une variable de chaîne

bBool = true
nPi = 3.141592653
sChaîne = “ceci est une chaîne“

 Exemple
• La valeur d‘une donnée de type structuré est définie par la séquence des valeurs
de champ entre les crochets, séparées par des virgules. Les valeurs des champs
vides sont remplacées par 0
• Un tableau ou une collection d‘un type structuré doit être initialisé élément par
élément

Le type point est fait d‘un trsf et d‘un type config. Une variable peut être initialisée
de la manière suivante:

pPosition = {{100, -50, 200, 0, 0, 0}, {sfree, efree, wfree}}

où sfree “configuration de l‘épaule libre“, efree “configuration du coude libre“


et wfree “configuration du poignet libre“ fu robot
22
Opérateurs Instructions
 Mathématiques Quelques exemples:
◦ = affectation ◦ Abs
◦ + somme, concaténation ◦ Min
◦ - soustraction ◦ Max
◦ * multiplication ◦ Limit (renvoie une
◦ / division valeur bornée)
◦ % module ◦ Power (renvoie la
◦ ! négation puissance d‘un nombre)
 Comparaisons ◦ Left
◦ == égalité ◦ Right
Opérations sur
◦ != inégalité ◦ Mid
les caractères
◦ > supérieur à ◦ Chr
◦ >= supérieur ou égal à ◦ Asc
◦ < inférieur à ◦ Size (renvoie le nombre
◦ <= inférieur ou égal à de valeurs accessibles
avec la variable)
23
Conteneurs

 Le conteneur de données définit la manière dont les


valeurs sont stockées dans les données:

◦ Un conteneur élément se compose d‘une valeur unique:


booléenne (true/false), numérique ou chaîne (string)

◦ Un conteneur tableau se compose d‘un ensemble


de valuers identifiées par 1, 2 ou 3 indices entiers
◦ L‘indice initial dans les tableaux est toujours 0

◦ Un conteneur collection se compose d‘un ensemble de


valuers identifiées par une clé représentée par une chaîne
de caractères

24
Conteneurs

Remarque: un conteneur tableau à 1 dimension avec une seule


valeur (index 0) est considéré comme un conteneur élément

 Exemple
Dans cet exemple, des variables de type simple avec différents
conteneurs (élément, tableau et collection, respectivement)
sont initialisées:
nPi = 3.141592653
sMois[0] = “Janvier“
sNomProduit [“D 243 064 40 A“] = “VAL 3 CdRom“

25
Instructions de contrôle

 If Exemple: conversion d’un jour écrit dans


une string (sDay) en un num (nDay)

26
Instructions de contrôle

 While

27
Instructions de contrôle

 Do ... until

28
Instructions de contrôle

 For

29
Programmes/fonctions

 Une application peut être composée de plusieurs


fonctions qui peuvent communiquer entre eux
 Il y a deux fonctions qui sont toujours créées
lorqu’une nouvelle application est génerée:

◦ start()
 Cette fonction est toujours appelée
lorsque le programme est executé
◦ stop()
 Cette fonction est toujours appelée
lorsque le programme est terminé

On peut placer toute sorte d’instruction/code VAL3


entre ces deux fonctions

30
TaskCreate/Call

 taskCreate
◦ Engendre un processus distinct
◦ Plusieurs processus peuvent être éxecutés
ensemble en parallèle
◦ L‘unité centrale (CPU) alterne entre toutes les
tâches reposant sur une priorité (entre 1 et 100)
◦ Arguments: titre de la fonction, nPriorité et nom
du programme
• taskCreate sNom, nPriorité, programme()

 call
◦ L'exécution du programme est transferée
à un sous-programme
• call programme([Paramètre1], [Paramètre2])

31
TaskCreate/Call

 call
◦ L'exécution du programme est transferée
à un sous-programme
• call programme([Paramètre1], [Paramètre2])

Exemple

32
Mouvement

 Instructions pA
◦ movej MOUVEMENT DU ROBOT
◦ movel pB
◦ movec pC movej, movel, movej,...
pD
pE

 Séquençage pD
des mouvements pC
SEQU. pB
◦ stopMove pA MOUV.
◦ restartMove
◦ resetMotion
pB
◦ waitEndMove
pA
pC

pD
33
Différents types de mouvement

 Point à point
◦ movej(point/joint location, tOutil, mDesc)
 Mouvement point-à-point vers un emplacement désiré d’une
façon optimale: articulation-angle ou point standard
 Le 2ème paramètre “tOutil” est le repère outil utilisé. Un repère
outil est fourni pour chaque commande de mouvement
 “mDesc” est un paramètre qui spécifie quel mouvement faire.
“mNomSpeed” est la variable de default (ou “built-in”):
elle se réfère à un mouvement normal. La vitesse est spécifiée en %

 Linéaire
◦ movel(point location, tOutil, mDesc)
 Juste comme movej, mais mouvement A
en ligne droite B

 Circulaire
◦ movec(pIntermédiaire, pCible, tOutil, mDesc)
 Mouvement circulaire qui part de la destination précédente et s’achève
au point pCible, en passant par le point pIntermédiare

34
Différents types de mouvement

Exemple: Mouvement circulaire (movec(...))

Prochain
mouvement
“pIntermédiare”
“pCible”

Mouvement
précédente
Trajectoire circulaire
suivie par l’outil du robot

35
Différents types de mouvement

 Exemple

mDesc.vel = 80
mDesc.blend = joint A quelle distance du point d’arrivée on quitte la trajectoire
nominale (début du lissage, “leave”) et à quelle distance on
mDesc.leave = 10 la rejoint (fin du lissage, “reach”)
mDesc.reach = 10
movej(pA, tOutil, mDesc)
movej(pB, tOutil, mDesc)
waitEndMove()
movej(pC, tOutil, mDesc)
movej(pD, tOutil, mDesc)

• Les deux premiers “movej” seront exécutés alors que le robot commence
son mouvement vers pA

• Puis l’exécution du programme sera bloquée sur l’instruction “waitEndMove()”


jusqu’à ce que le robot soit stabilisé au point pB

• Un fois le mouvement du robot stabilisé en pB, le programme reprendra


son exécution
36
Différents types de mouvement

 Exemple

Trajectoire suivie par le robot

pA Cycle avec interruction du lissage pC


(grâce à l’instruction waitEndMove)

pB pD

37
Exécution d'une application

 Défiler pour charger du disque


ou pour créer un nouveau
programme et le stocker
dans le disque dur
 Il faut être en mode Local pour
pouvoir lancer le programme
◦ Appuyer sur le bouton Mode pour
faire défiler les différents modes
 Appuyer le bouton Run et
choisir le programme à lancer
 Si le programme implique le
mouvement du robot, il faut
aussi appuyer Move/Hold

38
Baies de commandes: robot Stäubli TX60

Contrôleur CS8C

S.M.A.
Ordinateur hôte • Nombre de DDL: 6
• Charge nominale: 3.5 kg
L'utilisateur peut créer son • Charge maximale: 9 kg
application sur l’ordinateur • Rayon d'action: 670 mm
déporté (Stäubli Robotics Suite) • Répétabilité: ± 0.02 mm

Boîtier d'apprentissage
39
Stäubli Robotics Suite (SRS)

◦ Du code VAL3 peut être


aussi dévelopé avec la
Stäubli Robotics Suite
◦ La SRS est un IDE
(Integrated Development
Environment) qui est
installé sur un ordinateur
deporté (hôte)
◦ La SRS est plus conviviale
et facile à utiliser que le
boîtier
◦ Programmation hors ligne
• Modification
• Test
• Transfert du programme

40
Utilisation de la Stäubli Robotics Suite

 Un projet peut être envoyé par FTP entre le contrôleur CS8C


et l’ordinateur sur lequel est installée la SRS (et vice versa)

 La SRS est un environnement de développement flexible


qui permet de créer des projets complexes sans difficulté

 Toutefois, il faut encore apprendre les points grâce


au contrôleur …

41
Utilisation de la Stäubli Robotics Suite
 Pour transférer un projet à la SRS, il faut établir une connexion FTP
 Il faut connaître l’adresse IP du contrôleur et l’username/password
◦ L’adresse IP on peut le trouver dans les menus sur le Control Panel
 Entrer les informations dans l’outil FTP de la SRS

42
Utilisation de la Stäubli Robotics Suite

 Trouver le projet qu’on souhaite transférer

43
Utilisation de la Stäubli Robotics Suite

 Ouvrir le projet sur la SRS

44
Utilisation de la Stäubli Robotics Suite
 Modification du code et transfert au contrôleur

45
Plan du cours
• Introduction

• Constituants et caractéristiques d’un robot

• Gammes de robots et secteurs d’activités

• Les baies de commandes, le boîtier d’apprentissage,


les modes et la programmation d’un robot

• Actionneurs et capteurs d’un robot

• Repères et transformations homogènes

• Étude de cas: cellule robotisée de soudage

46
Effecteur vs. actionneur

• Un effecteur est tout dispositif (contrôlé par un robot)


pouvant affecter l’environnement
• Grande variété d’effecteurs: pince,
ventouse, main, scalpel, etc.

• Un actionneur est le mécanisme qui


permet à l’effecteur d’exécuter une action
• Les actionneurs incluent typiquement
les moteurs électriques, hydrauliques,
pneumatiques, etc.

47
Système d’actionnement d’un robot
Éléments du système d'actionnement d’un robot manipulateur:
• Alimentation
• Amplificateur de puissance
• Servomoteur
• Transmission (réducteurs)

Deux types de servomoteurs sont généralement utilisés:


• Servomoteurs électriques pour l’actionnement des
articulations des manipulateurs de petite ou moyenne taille
(par ex. le Stäubli TX60)
• Servomoteurs hydrauliques pour
KUKA KR
l’actionnement de manipulators 1000 titan
de grande taille (charge max:
1300 kg)

48
Actionnement de l’articulation d’un robot

Alimen- Composants d'un système


tation d'actionnement d’une articulation

Pp

Pc Pa Pm Pu
Ampl. Servomot. Transmission
puissan.

Pda Pds Pdt

Pp : puissance fournie par la source primaire (de la même nature que Pa )


Pc : puissance (typiquement électrique) associée au signal de la loi de commande

Pa : puissance à fournir au moteur (de type électrique, hydraulique ou pneumatique)

Pm : puissance mécanique générée par le moteur

Pu : puissance mécanique requise par l’articulation pour mettre en place le mouvement


Pda , Pds , Pdt : pertes en puissance par dissipation dans les conversions effectuées
par l’amplificateur, le moteur et la transmission (train d’engrenages)
49
Classification des capteurs: deux axes principaux
Capteurs proprioceptifs: ils permettent de mesurer des
quantités qui caractérisent l’état interne d’un robot
• Encodeurs et résolveurs pour la mesure de la position d’une articulation
• Tachymètres pour la mesure de vitesse des articulations
• Capteurs pour la mesure des moments au niveau des articulations

Capteurs extéroceptifs: le but de ces capteurs est d'extraire


l’information qui caractérise l'interaction du robot avec
l'environnement
• Capteurs d’effort pour la mesure
de force/couple sur l’outil
• Capteurs de distance/proximité pour
la detection d’objects dans l’espace de travail
(par ex. capteurs à ultrasons, télémetrès lasers)
• Capteurs de vision pour mesurer les
Capteur d’effort
paramètres caractéristiques des objects sur l’outil d’un
(par ex. caméras) manipulateur

50
Classification des capteurs: deux axes principaux

Capteurs passifs
- Ils sont des « vrais » observateurs de l’environnement

- Ils capturent les signaux qui sont émis par les autres
sources de l’environnement (par ex. caméras, lumière;
thermomètres, température; microphones, ondes sonores)

Capteurs actifs
- Ils émettent de l’énergie

- L’énergie est réfléchie par l’environnement au capteur.


On a toujours un élément émetteur-récepteur (par ex. sonars,
télémètres laser)
E

Object
R

Capteur
51
Caractéristiques d’un capteur (1/4)

• Champ de perception/vue (ex. 53° horiz. pour une caméra)


• Portée ou plage de mesure [« range » en anglais]
o Valeurs max et min d’un paramètre qui sont mesurables
(ex. de 4 à 0.05 mètres pour un télémètre laser)
• Plage dynamique [« dynamic range » en anglais]
o Rapport entre la valeur maximale d’entrée et la valeur
mesurable minimale d’entrée
 Exprimé en décibel «dB» (rapport de « puissances »)
 
P P : Puissance maximale
LP = 10 log10 dB où
P0 P0 : Puissance mes. minimale
 
Par ex. mesure de 20
LP = 10 log10  43 dB
puissance de 1mW à 20W 0.001
52
Caractéristiques d’un capteur (2/4)
• Résolution
◦ La plus petite variation ΔX de l’entrée qui peut être détectée
en sortie (ex. 0.1° pour un encodeur optique)

• Fréquence ou largeur de bande


◦ Débit de mesures du capteur
◦ Borne supérieure due à la fréquence d’échantillonnage
(cf. le théorème de Shannon)
◦ Délai (déphasage) possible

• Linéarité
◦ La linéarité d’un capteur est une expression de la plage d’écart
entre la courbe des mesures du capteur et la courbe idéale
◦ La linéarité est souvent exprimée en pourcentage
de non linéarité:
Den(max) : max déviation
Den(max) de l’entrée
Nonlinéarité (%) = 100 ,
Xm Xm : valeur fond échelle
de l’entrée
53
Caractéristiques d’un capteur (2/4)

Max
déviation
de l’entrée
Den(max)
Courbe des mesures
Sortie

(ou de calibration)

Courbe idéale (droite


obtenue par la méthode
des moindres carrés)

X
Entrée
54
Caractéristiques d’un capteur (2/4)

• Linéarité dynamique
◦ La linéarité dynamique d’un capteur est une mesure de sa
capacité à suivre des changements rapides du signal d’entrée

• Temps de réponse
◦ La sortie d’un capteur ne change pas immédiatement lorsque
le signal d’entrée varie

◦ Au contraire, la sortie met un certain temps pour changer


d’état, appelé le temps de réponse (T dans la figure suivante)

◦ Le temps de réponse peut être défini comme le temps


nécessaire pour que la sortie du capteur passe de son
état précédent à une valeur finale dans une certaine
bande de tolérance

55
Caractéristiques d’un capteur (2/4)
Exemple:
Temps de
V stabilisation
Ts
100%

70% Bande de
tolérance
Volts

T Temps de
réponse

Temps

56
Caractéristiques d’un capteur (3/4)

• Sensibilité
◦ La sensibilité d’un capteur est définie comme la pente de la courbe
caractéristique ou idéale de sortie ( ΔY /ΔX dans la diapo suivante)
◦ De façon plus générale, elle est la valeur minimale du signal
d’entrée qui produit un changement détectable dans la sortie

capteur

entrée sortie

• Erreur de sensibilité
◦ L’erreur de sensibilité est l’écart par rapport à la pente idéale
de la courbe caractéristique (voir la courbe pointillée dans la
figure suivante)

57
Caractéristiques d’un capteur (3/4)

Ym

Portée
du capteur ΔY
ΔX

X
0

58
Caractéristiques d’un capteur (4/4)
• Sensibilité croisée
◦ Sensibilité à d’autres influences de l’environnement
(ex. les matériaux ferreux pour le compas fluxgate)
◦ Influence d’autres capteurs actifs (ex. 2 sonars face-à-face)

• Exactitude (opposée à l’erreur) [« accuracy » en anglais]


◦ Degré de conformité entre la mesure et la valeur réelle
◦ Elle est exprimée en pourcentage (%) de la valeur réelle

• Précision
◦ Liée à la reproductibilité des résultats d’un capteur
◦ Si exactement la même quantité était mesurée plusieurs fois, un
capteur idéal fournirait exactement la même valeur à chaque fois

Attention: exactitude n’est pas synonyme de précision !


59
Caractéristiques d’un capteur (4/4)
v
m

Densité de
probabilité (pdf)

σ valeur

 
m : valeur mesurée
|m − v|
• Exactitude (%) = 100 1 − v : valeur réelle (référence)
v
Ym σ : écart type de la mesure
• Précision =
σ Ym : valeur fond échelle
de la sortie
60
Plus de précision

Pas exact Exact


Précise Précise

Pas exact Exact


Pas précise Pas précise

Plus d’exactitude
61
Autres caractéristiques d’un capteur …
• Coût (ex. un télémètre laser est typiquement
beaucoup plus coûteux qu’une caméra)

• Taux d’erreur
 Niveau d'atténuation et/ou de perturbation
d'un signal transmis par le capteur

• Robustesse (ex. par rapport aux champs


électromagnétiques dans l’environnement)

• Charge de calcul (ex. une caméra implique


plus de traitements de données qu’un sonar)

• Taille, poids, consommation énergétique,


interface, étanchéité, etc.
62
Les erreurs
 Erreurs systématiques (déterministes)
◦ Causes modélisables et qu’on peut prédire et compenser
(au moins partiellement)
◦ Ex. les distorsions optiques d’une caméra (par étalonnage)

 Erreurs aléatoires (non-déterministes)


◦ Prédiction impossible
◦ Description probabiliste possible
◦ Ex. teinte variable d’une caméra, bruit des photorécepteurs
aux basses intensités, échos non réfléchis des sonars, etc.

 Autres
◦ Sensibilité croisée de capteurs, flou de bougé (blur)

En général: modélisation difficile des erreurs systématiques


et aléatoires en environnement non contraint
63
Quelques exemples de capteurs

Capteurs actifs
1. Capteurs temps-de-vol (extéroceptifs)
2. Encodeurs rotatifs (proprioceptifs)
3. Capteurs d’effort (extéroceptifs)

Capteurs passifs
Caméras (extéroceptifs), voir le Module ME 5.2c
« Capteurs et préhenseurs en robotique»

64
1. Capteurs temps-de-vol
 Information de distance, élément clé
◦ Évitement d’obstacle
◦ Localisation, modélisation d’environnement
 Sonars et télémètres laser
 Exploitation de la vitesse de propagation de l’onde
 Pour une onde harmonique monochromatique:

λ
v = λf =
avec T
◦ v : vitesse de propagation de l’onde
◦ f , T : fréquence et période de l’onde, respectivement
◦ λ : longueur d’onde
1
• d = vt : distance parcourue où t est le temps-de-vol
2
65
Capteurs temps-de-vol

 Caractéristiques
◦ Vitesse du son : 0.3 m/ms (c’est-à-dire, 300 m/s)
 Sonar : 3 m  10 ms
◦ Vitesse de la lumière : 0.3 m/ns (c’est-à-dire, 300000 km/s)
 Télémètre laser : 3 m  10 ns
 Besoin d’électronique très rapide
 Télémètres laser beaucoup plus chers
et difficiles à concevoir

 La qualité dépend de:


◦ Inexactitudes dans la mesure du temps-de-vol
◦ Angle d’ouverture du rayon transmis (pour les sonars)
◦ Interaction avec la cible (surface, réflexions spéculaires/diffuses)
◦ Variation de la vitesse de propagation (son suivant le milieu)

66
Exemple: sonar

• Principe de fonctionnement du sonar

Carte électronique
Émetteur

Chirp
Récepteur

Paquet d’onde Écho


initiale

Objet

Onde d’écho

Parallex PING
67
Exemple: sonar
 Fréquences typiques : 40-180 kHz
 Génération de l’onde sonore
◦ Piézo-transducteur
◦ Émetteur et récepteur séparés ou non
 Le rayon sonore se propage dans un cône
◦ Angles d’ouverture entre 20° et 70°
◦ Portée: 0.1 m - 5 m
cône de mesure

Distribution d’intensité Amplitude [dB]


non uniforme
68

68
Exemple: sonar

 Problèmes:
◦ Certaines surfaces absorbant le son
◦ Surface loin d’être perpendiculaire à la direction du son:
réflexion spéculaire !

ok

Matériau ?! Matériau
poreux dur

69

69
2. Encodeurs rotatifs

Un encodeur rotatif est un dispositif qui convertit la position angulaire


d’un axe ou d’un arbre en code analogique ou binaire

• Encodeurs mecaniques et optiques (les plus utilisés en robotique)

• Deux types d’encodeurs:

• Absolus: la sortie de l’encodeur indique


la position courante de l’axe (transducteur
d’angle). L’information n’est pas perdue
lorsque l'alimentation est coupée: elle est
disponible à nouveau lorsque l’alimentation
est rétablie

• Incrémentaux (ou relatifs): la sortie


de l’encodeur nous informe du mouvement
de l’axe. Cette information est typiquement
traitée ultérieurement pour obtenir des Encodeur optique
mesures de vitesse, distance ou position incrémental
70
Encodeurs rotatifs: exemples

• Encodeur optique absolu avec


codage binaire (3 bits; noir 1, blanc 0) 0 0 0
• Une paire émetteur/récepteur par bit

• Encodeur optique absolu avec


codage Gray (BRGC: binary-reflected
Gray code), (3 bits; noir 1, blanc 0)

71
Encodeurs rotatifs: exemples

• Encodeur optique absolu avec codage


binaire (8 bits; codage mixte sur 4 + 4 bits)

• Encodeur optique incrémental

72
Encodeurs rotatifs: exemples

• Encodeur optique incrémental en quadrature

• Deux canaux: la relation de phase entre les trains


d’impulsions sur les canaux A et B permet de déterminer
le sens de rotation
• Une fente unique sur la piste externe produit une impulsion
(index, I) de référence par révolution

I
Etat
haut bas

A
haut haut
B
bas haut
bas bas

73
3. Capteurs d’effort

• Ils permettent de mesurer les efforts en force et/ou


en couple (par ex. sur l’effecteur du robot)

• Capteur actif : il traduit une variation de sa structure interne


(en raison d’une force/couple) en signal électrique

• Inconvénients :
• Coût élevé
• Etalonnage
• Fragilité
• Plages de mesures faibles

74
Exemple: capteur d’effort à 6 DDL FT 150 de Robotiq
Forces Couples

• Mésure du torseur d’effort (Fx, Fy, Fz, Mx, My, Mz)


• Compatible avec les robots Universal Robots, Yaskawa,
Fanuc, Stäubli et ABB (environnement ROS)

Épaisseur : 37.5

Trou

Poids: 650 g

Unité : mm
75
Exemple: capteur d’effort à 6 DDL FT 150 de Robotiq

Applications

Assemblage Guidage de Finition


mains robotisées

76
Exemple: capteur d’effort à 6 DDL FT 150 de Robotiq

Caractéristiques techniques du capteur

Fx, Fy, Fz ± 150 N


Plage de mesure
Mx, My, Mz ± 15 Nm
Fx, Fy, Fz ± 0.2 N
Résolution effective
Mx, My, Mz ± 0.02 Nm
Fx, Fy, Fz (combinées) ± 0.5 N
Bruit du signal
Mx, My, Mz (combinées) ± 0.03 Nm
Débit de données
100 Hz
en sortie
Tension d'entrée 6-28 V-DC
Puissance absorbée
2W
maximale
Interface électrique RS-485, RS-232, USB

77
Capteurs d’effort: applications
1) Mains robotiques

iCub, IIT
Main Robonaut, Nasa

Main DLR

Someya Lab, Univ. de Tokyo

Peau flexible avec une matrice


intégrée de transistors organiques 78
Capteurs d’effort: applications
2) Robots industriels collaboratifs (“Cobots”)
Capteurs de couple
sur les 7 articulations
des robots

LBR IIWA (“lightweight”, “intelligent


industrial work assistant") de KUKA Panda de FRANKA EMIKA
78
80
TD1 A : Actif
Tableau récapitulatif : P : Passif
PC : Proprioceptif
typologies de capteur
EC : Extéroceptif

Capteur/système de
Classification (utilisation typique) PC ou EC A ou P
perception
Interrupteurs de contacts,
Capteurs tactiles (détection de EC P
bumpers
contact physique ou de proximité,
interrupteurs de sécurité) Barrière optique EC A

Encodeurs à balais PC P

Potentiomètres PC P

Capteurs de roue/moteur Encodeurs optiques PC A


(vitesse et position de roue/moteur)
Encodeurs magnétiques PC A

Encodeurs inductifs PC A

Encodeurs capacitifs PC A
81

Capteur/système
Classification (utilisation typique) PC ou EC A ou P
de perception

Compas EC P

Capteurs d’orientation (orientation du


Gyroscope PC P
robot en relation à un référentiel fixe)

Inclinomètre PC A/P

GPS EC A

Balise active optique


EC A
ou radio
Basé balise (localisation dans
un référentiel fixe)
Balise active à ultrasons EC A

Balises réflectives EC A
82

Capteur/système
Classification (utilisation typique) PC ou EC A ou P
de perception

Capteurs de réflectivité EC A

Capteur à ultrasons EC A

Télémétrie active (réflectivité, temps


Télémètre laser EC A
de vol et triangulation géométrique)

Triangulation optique (1D) EC A

Lumière structurée (2D) EC A

Capteurs de mouvement/vitesse Doppler radar EC A


(vitesse relative à des objets
statiques ou fixes) Doppler sonore EC A

Capteurs de vision (télémétrie


Caméras à capteur
visuelle, analyse de l’image complète, EC P
CCD/CMOS
segmentation, reconnaissance d’objet)
Architecture fonctionnelle

Niveaux hiérarchiques de
l’architecture fonctionnelle
d’un robot industriel
83
Architecture de contrôle

Capacité de
calcul autonome

Modèle général de l'architecture hardware d’un système


de contrôle d'un robot industriel
84
Plan du cours
• Introduction

• Constituants et caractéristiques d’un robot

• Gammes de robots et secteurs d’activités

• Les baies de commandes, le boîtier d’apprentissage,


les modes et la programmation d’un robot

• Actionneurs et capteurs d’un robot

• Repères et transformations homogènes

• Étude de cas: cellule robotisée de soudage

85
Choix des repères

zb yb
Ob xb

Problème: comment positionner les différentes systèmes de


coordonnées (repères) sur les articulations d’un robot à partir
du repère de la base Ob − xb yb zb ?

86
Choix des repères
Si l’outil est une pince:

pince
Oe

objet
ye
ze
• Origin Oe : au centre de la pince
• Axe ze : direction de rapprochement de l’object à saisir
• Axe ye : orthogonal à ze dans le plan de glissement des doits de la pince
• Axe xe : orthogonal aux autres axes pour avoir un repère direct

Pour un choix systématique des repères sur toutes les articulations


d’un robot on utilise la convention de Denavit-Hartenberg (DH)
87
Convention de DH et modèle
géométrique direct
effecteur
θ4
Oe
d3
Robot générique à θ2
n articulations

θ1
base

• Par rapport au repère de la base Ob − xb yb zb , le modèle géométrique direct


est exprimé par la matrice de transformation homogène 4 × 4:
 
nbe (q) sbe (q) abe (q) pbe (q)
Tbe (q) =
où 0 0 0 1
q ∈ Rn : vecteur des variables des articulations
ne , se , ae : vecteurs unitaires du repère de l’effecteur
pbe : vecteur qui décrit l’origine du repère de l’effecteur par rapport à la base
88

Vous aimerez peut-être aussi