Vous êtes sur la page 1sur 39

Université Sidi Mohamed Ben Abdellah

Faculté des Sciences - Fès

Robotique Industrielle

PROGRAMMATION

Prof: M. BENBRAHIM (Eng, MSc, PhD)

Année Universitaire: 2020- 2021


La programmation
par apprentissage
L’outil indispensable...

2
Apprentissage de points
• Amener en mode manuel le robot dans la
position voulue ;
• Mémoriser et nommer le point :
– sous forme de point articulaire ;
– ou sous forme de point cartésien.
• Le point peut ensuite être utilisé dans un
programme.

3
Le pendant d’apprentissage
(teach pendant)

4
Boîtier manuel du Puma 560

Arrêt d’urgence

Touches
de mode

Touches de
déplacement

5
Touches de mode

Déplacements
Déplacements
cartésiens
cartésiens
ModeTrois
automatique
modes
Mode articulaire
« «manuels
computer
» »
dans dans
le repère
le repère
outil de base

6
Touches de déplacement
En mode cartésien,
axe de translation (x,y,z)
En mode articulaire, ou de rotation (Rx,Ry,Rz)
numéro de l’articulation

Sens du déplacement
(tous les modes)

7
Le mode articulaire
3

1 5

8
6
Modes cartésiens :
Les repères « world » et « tool »
Z+ // Z1

X+

World / Base
Tool
(modifiable)
Y+
X+

Y+
9
Z+
Déplacements en mode « world »
Z+

World / Base
X+
Rotations :
l’origine du repère
//
outil est invariante
X+
RX+
Y+

X-
RX- 10
Déplacements en mode « tool »
X+

RX+

Z-
Z+

RZ+

11
L’apprentissage d’un geste

• Robot à compliance active


– L’opérateur manipule le terminal du robot, qui
suit automatiquement le mouvement ;
– Capteur d’effort au niveau du poignet.
• Pantin
– structure mécanique légère équipée de
codeurs et supportant l ’outil ;
– enregistrement des positions au cours du
mouvement
12
Les attributs d’un point
• Type (point de passage / d’arrêt)
• Vitesse (pourcentage de la vitesse max)
• Actions (ouverture/fermeture pince, ...)
• Positionnement de sorties logiques à 0/1
• ...

13
Structuration dans la
programmation par apprentissage

• Les possibilités sont en général minimales


(if < > goto < >)
• Interfaces très variables (souvent type
« presse-boutons »)

14
Avantages de la programmation
par apprentissage

• Simplicité de conception et de mise en


œuvre
• Accessible à un personnel peu qualifié (pas
de langage)
• Pour les pantins, reproduction d ’un geste
difficile à obtenir autrement.
15
Inconvénients de la programmation
par apprentissage

• Pas de calculs arithmétiques


• Pas de synchronisation avec d’autres
machines (sauf attente entrée logique)
• Peu de possibilités de structuration
• Faibles possibilités d’édition du programme
• Interface rudimentaire (apprentissage long)

16
Inconvénients de la programmation
par apprentissage

• Implique une répétabilité parfaite de


l’environnement, donc un recours constant
à la périrobotique.
• Site hors production pendant la
programmation.

17
Applications adaptées
• Répétabilité du robot et de l’environnement
compatibles avec la précision voulue.
• Faible diversité d’opérations
• Cycle court (programme court)

18
Programmation textuelle
• On écrit un texte de programme
• Le programme est soit interprété, soit compilé
puis exécuté
• L’apprentissage de points/trajectoires est
également utilisé
• L ’apprentissage peut être effectué par un
opérateur (trajectoriste)

19
Programmation textuelle :
inconvénients

• Apprentissage d’un langage, donc niveau


de qualification supérieur
• Pas de support visuel pendant la
programmation (accessibilité, collisions...)
• La prévention et la gestion des incidents est
lourde (mais tâches plus complexes)

20
Programmation textuelle : avantages

• Puissance d’expression supérieure


• Édition plus aisée des programmes
• Meilleure réutilisabilité des programmes ou
portions de programmes
• Environnement en général plus riche, avec
aides au développement (débogueur,
éditeur syntaxique...)
21
Programmation textuelle : avantages

• N’immobilise ni le site ni le robot :


– la programmation peut commencer avant que
le site ne soit disponible
– le robot peut être en production sur une autre
tâche (si on peut utiliser un éditeur externe)
• Environnement de travail meilleur et
diminution du stress

22
Programmation textuelle

Niveau articulation

23
Programmation de niveau
articulation : définition
• Un langage est dit de niveau articulaire s’il
ne permet de spécifier les poses (resp.
déplacements) du terminal qu’en donnant
les positions (resp. déplacements) de
chaque articulation du robot

• N.B. : seules des vitesses articulaires


peuvent être spécifiées.
24
Niveau articulation :
avantages/inconvénients

• Implantation simple : relation directe entre


consignes de position dans le programme
et consignes envoyées aux asservissements

• Pas simple de déduire la pose du terminal


des positions articulaires (MGD) et vice
versa (MGI)

25
Niveau articulation : caractéristiques
fréquentes

• Programmation non structurée


• Pas de sous-programmes
• Mnémoniques courts
• Noms de variables courts (ou même petit
nombre de variables prédéfinies
numérotées)

26
Exemple de programme
SP1, TEST sous-programme 1, nommé “test”
IM initialisations
IP
EF1 étiquette n° 1
RA1, 15. déplacements articulaires absolus
RA2, 27.
FG synchronisation des mouvements
D03 début de boucle à effectuer 3 fois
RR1, 10. déplacements articulaires relatifs
RR2, 5.
FG
IF E0137, 5 si entrées 0,1,3,7 à 1 aller à étiquette 5
DE fin de boucle
WT O 24, 1 attendre que l’entrée 2 ou 4 passe à 1
EF5 étiquette 5
OP, 50 ouverture pince
FG
JP1 saut inconditionnel à l’étiquette 1
27
ED1 fin sous-programme 1
Programmation textuelle

Niveau effecteur

28
Programmation de niveau effecteur :
définition
• Un langage est dit de niveau effecteur s’il
permet de spécifier directement les poses
(resp. déplacements) du terminal en
coordonnées cartésiennes (ou autre
système de coordonnées)

• N.B. : on peut aussi donner des vitesses


cartésiennes
29
WAVE

Trans P1 x1, y1, z1, a1, b1, g1 Définition de points


Trans P2 x2, y2, z2, a2, b2, g2 en coordonnées
Trans P3 x3, y3, z3, a3, b3, g3 cartésiennes

start open
move P1
close
move P2
open
end move P3

30
Niveau effecteur : difficultés
• Connaissance quantitative précise de
l’environnement du robot (aide : capteurs,
apprentissage)
• Prévoir et traiter tous les évènements qui
peuvent subvenir (absence pièce, objet non
reconnu, ...)
• Une tâche même simple conduit à un
programme long...

31
Niveau effecteur : difficultés
• Nécessité d’une expérience dans l’utilisation
des capteurs
• Les langages sont un sur-ensemble des
langages habituels (plus de formation)
• Débogage complexe : prise en compte
d’exceptions, non répétabilité de
l’environnement aspects temps réels,
capteurs...

32
Programmation textuelle

Niveau objet

33
Programmation de niveau objet
• But : libérer le programmeur des détails de
manipulation et de déplacement

• Caractéristique : la tâche est décrite par des


instructions qui définissent les opérations à
effectuer sur les objets, indépendamment des
robots et outils

34
Programmation de niveau objet

• Prérequis / entrées : connaissances sur


– objets à manipuler
– robots, outils
– environnement de travail
• Source d’informations géométriques : les
bases de données CAO
• État actuel : pas de produit commercial
(Autopass, RAPT), nombreux problèmes
35
Niveau objet : motivations
• Utilisation de données pré-existantes (CAO)
• Faciliter la programmation (arriver à un
programme de type « gamme de montage »)
• Intégration plus systématique des capteurs
(par exemple déduire la méthode de
reconnaissance du modèle de l’objet)
• Fiabilité

36
problèmes à résoudre
• Détermination automatique des sites de saisie
d’un objet. Fonction de :
– géométrie de l ’objet et de l’outil
– collisions,
– stabilité de prise,
– prise permettant de poursuivre la tâche

37
problèmes à résoudre
• Génération de trajectoires sans collisions,
évitement d’obstacles (multi-robots)
• Synthèse de mouvements fins
• Détection d’évènements survenant pendant
l’exécution
• Allocation des opérations et outils aux robots
(qui fait quoi ?)

38
problèmes à résoudre

• Utilisation de capteurs sophistiqués :


– vision, effort, tactiles
– reconnaissance et localisation d’objets
– prise en vrac (planaire/volumique)

D’où l’absence de solution générale

39

Vous aimerez peut-être aussi