0% ont trouvé ce document utile (0 vote)
25 vues304 pages

Avantages de la robotique industrielle

Le document traite de la robotique industrielle, définissant un robot comme un dispositif mécatronique conçu pour accomplir des tâches humaines automatiquement. Il explore les avantages de la robotisation, notamment les facteurs économiques, humains et environnementaux, ainsi que les secteurs d'activité concernés et les types d'applications de la robotique. Enfin, il présente des statistiques sur l'essor de la robotique industrielle à l'échelle mondiale et en France.

Transféré par

nathanp.moret
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)
25 vues304 pages

Avantages de la robotique industrielle

Le document traite de la robotique industrielle, définissant un robot comme un dispositif mécatronique conçu pour accomplir des tâches humaines automatiquement. Il explore les avantages de la robotisation, notamment les facteurs économiques, humains et environnementaux, ainsi que les secteurs d'activité concernés et les types d'applications de la robotique. Enfin, il présente des statistiques sur l'essor de la robotique industrielle à l'échelle mondiale et en France.

Transféré par

nathanp.moret
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

Robotique industrielle

Eric TERNISIEN

IUT de Saint-Dié-des-Vosges - Université de Lorraine

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 1/258
Département Génie Electrique et informatique Industrielle
Introduction

Définition
Un robot est un dispositif mécatronique (alliant mécanique, électronique et informa-
tique) conçu pour accomplir automatiquement des tâches imitant ou reproduisant,
dans un domaine précis, des actions humaines. La conception de ces systèmes est
l’objet d’une discipline scientifique, branche de l’automatisme nommé robotique.
(Wikipédia)

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 2/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 3/258
Département Génie Electrique et informatique Industrielle
Introduction

Ce qu’on va étudier

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 4/258
Département Génie Electrique et informatique Industrielle
Introduction Pourquoi robotiser ?

Plan

I - Introduction
1 - Pourquoi robotiser ?
2 - Quels secteurs d’activité ?
3 - Quelques stats...

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 5/258
Département Génie Electrique et informatique Industrielle
Introduction Pourquoi robotiser ?

L’avantage qu’une entreprise peut avoir à robotiser son process se basent sur 3
critères :
I Facteurs économiques ;
I Facteurs humains ;
I Facteurs environnementaux.

Facteurs économiques
I Réduction des coûts de production : un robot peut travailler seul, tout le temps
(3x8, nuit, we) et faire le travail de plusieurs opérateurs ;
I Améliorer la flexibilité des lignes de production : un robot peut effectuer
différentes tâches programmées ;
I Amélioration de la qualité : les robots industriels ont la capacité de reproduire
une même tâche répétitive sans dégradation des performances ;
I Accroı̂tre les volumes de production : jamais de fatigue.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 6/258
Département Génie Electrique et informatique Industrielle
Introduction Pourquoi robotiser ?

Facteurs humains
I Améliorer les conditions de sécurité au travail ;
I Améliorer la qualité des postes de travail des opérateurs et limiter les mouvements
répétitifs qui peuvent engendrer des troubles musculo-squelettiques (TMS) ;
I Contribution à la valorisation des opérateurs en leur attribuant d’autres tâches
moins rébarbatives.

Les TMS en 2016 :


I 42 000 cas/an ;
I 9.4 millions de jours de travail perdus ;
I Coût de 1.9 milliard pour les entreprises.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 7/258
Département Génie Electrique et informatique Industrielle
Introduction Pourquoi robotiser ?

Facteurs environnementaux
Grâce à l’optimisation des process, la robotisation d’une entreprise permet une
économie énergétique substantielle, notamment en terme de :
I Matières premières ;
I Déchets ;
I Rejets nocifs pour l’environnement.

L’utilisation d’un robot de peinture apporte une meilleure qualité de


dépose et une meilleure maı̂trise des épaisseurs. En conséquence, on
constate une réduction des pertes de peinture et donc une réduction
de l’impact de l’environnement pouvant aller jusqu’à 30%

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 8/258
Département Génie Electrique et informatique Industrielle
Introduction Quels secteurs d’activité ?

Plan

I - Introduction
1 - Pourquoi robotiser ?
2 - Quels secteurs d’activité ?
3 - Quelques stats...

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 9/258
Département Génie Electrique et informatique Industrielle
Introduction Quels secteurs d’activité ?

Secteurs utilisant de la robotique

Aérospatial Agroalimentaire Automobile Biotechnologies

Chimie Electronique Industrie Recherche

Et beaucoup
d’autres...
Pharmaceutique Fonderie Plasturgie

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 10/258
Département Génie Electrique et informatique Industrielle
Introduction Quels secteurs d’activité ?

Types d’applications de robotique

La répartition des applications sur la base


installée mondiale en 2014 est donnée sur
la figure.

Les applications à forte croissance sont


celles des autres process puisque d’avan-
tage de secteurs industriels intègrent à
présent des robots.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 11/258
Département Génie Electrique et informatique Industrielle
Introduction Quels secteurs d’activité ?

Types d’applications de robotique

Soudage
Le soudage est l’application robotisée la plus répandue.
Le gain de productivité est de deux à cinq fois supérieur
au soudage manuel.

Ce sont des robots classiques avec certaines capa-


cités accrues (ex : suivi de trajectoires plus précis) qui
ont comme outil une torche de soudure dépendant du
procédé utilisé.

Certains constructeurs proposent des templates de code


ou des logiciels spécifiques pour le soudage qui per-
mettent de développer plus vite des applications voire
même des robots mécaniquement dédiés au soudage.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 12/258
Département Génie Electrique et informatique Industrielle
Introduction Quels secteurs d’activité ?

Types d’applications de robotique


Manutention, service de machines
Le robot manipule une ou plusieurs pièces pour les
déplacer d’un endroit à un autre.

Le service machine consiste à charger ou décharger une


machine parfois dans des conditions difficiles ou avec
des pièces lourdes ou chaudes. Le robot peut être placé
devant ou au-dessus de la machine.

Durant le transfert, plusieurs opérations peuvent aussi


être réalisées (ébavurage, scan d’un code, ...).

Les outils utilisés ou les déplacements autorisés


dépendant du transfert à effectuer.

Par exemple, les robots de palettisation ne dispose que


de 4 axes car ils travaillent parallèlement au sol.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 13/258
Département Génie Electrique et informatique Industrielle
Introduction Quels secteurs d’activité ?

Types d’applications de robotique

Peinture
Le robot de peinture dispose de caractéristiques
particulières pour fonctionner en ambiance explo-
sive (ATEX).

Il utilise un système de pulvérisation dédié, un


pistolet de peinture pneumatique ou un bol
électrostatique comme outil.

Il est fréquent de trouver des robots fixés au mur ou au plafond pour réduire l’espace
des cabines de peinture.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 14/258
Département Génie Electrique et informatique Industrielle
Introduction Quels secteurs d’activité ?

Types d’applications de robotique

Assemblage
L’idée est de reproduire les mouvements d’un bras
humain avec une précision accrue (≈ 0.1 mm) tout en
réduisant les risques de TMS.

Le système robotisé intègre parfois de la vision et des


convoyeurs afin d’offrir plus de flexibilité pour la prise
des pièces et pour faire du contrôle.

Autres process
Dans les autres process, on peut trouver :
I Découpe, usinage, gravure ;
I Ponçage, polissage ;
I Encollage, ébavurage ;
I ...

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 15/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

Plan

I - Introduction
1 - Pourquoi robotiser ?
2 - Quels secteurs d’activité ?
3 - Quelques stats...

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 16/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

La robotique industrielle en plein essor

Estimation du nombre de robots industriels opérationnels dans le monde (en prenant


une durée de vie moyenne de 12 ans)

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 17/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

La robotique industrielle en plein essor

Estimation du nombre de ventes annuelles de robots industriels

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 18/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

L’évolution par continent

Estimation du nombre de ventes annuelles de robots industriels par continent

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 19/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

Pays les plus robotisés

5 pays se partagent 75% du marché de la robotique (ventes de robots)

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 20/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

Ventes par secteur d’activités

Ventes par secteur d’activités en 2018

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 21/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

Densité de robots

Nombre de robots pour 10 000 employés

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 22/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

Et la France ?
La France accuse un retard certain même si le nombre de robots installés s’accroı̂t de
jour en jour.

Estimation des ventes de robots


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 23/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

Et la France ?

Problème des PMI/PME


En 2013, le gouvernement Français lance le plan ”France Robots Initiatives” pour
donner aux entreprises françaises des gains de compétitivité et de productivité. Le
programme ROBOT Start PME accompagnera 250 PME dans l’intégration de leur
premier robot d’ici à 2020.

Entreprise possédant des robots en fonction du nombre d’employés (2015)

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 24/258
Département Génie Electrique et informatique Industrielle
Introduction Quelques stats...

Les leaders du marché

Classement par revenus rapportés par la vente de robots industriels


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 25/258
Département Génie Electrique et informatique Industrielle
Sécurité Introduction

Plan

II - Sécurité
1 - Introduction
2 - Appréciation des risques
3 - Réduction des risques en fonctionnement normal
4 - Réduction des risques pendant la mise au point ou la maintenance
5 - Le robot et la sécurité

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 26/258
Département Génie Electrique et informatique Industrielle
Sécurité Introduction

L’aspect sécurité est extrêmement important lorsque des robots industriels sont
utilisés. Par sécurité, on entend bien sûr la sécurité des personnes.

Les risques principaux liés à l’utilisation des robots sont essentiellement dus à :
I la vitesse de déplacement et l’accélération du robot ;
I la difficulté d’anticiper certains mouvements de ses parties mobiles ;
I la mise en œuvre d’une énergie considérable pour la mise en mouvement.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 27/258
Département Génie Electrique et informatique Industrielle
Sécurité Introduction

Norme
Afin d’encadrer la coopération homme-machine, notamment au plan de la sécurité
des opérateurs, il existe la norme ISO 10218, qui spécifie les exigences en matière de
sécurité, d’ergonomie, de performance des ”robots pour environnements industriels”.

Cette norme doit être respectée par les intégrateurs qui doivent faire certifier leur
machine conforme par un organisme de certification.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 28/258
Département Génie Electrique et informatique Industrielle
Sécurité Introduction

La démarche de mise en place d’une sécurité pour une machine suit les étapes du
graphique suivant :

C’est une démarche itérative qui


doit être reprise jusqu’à ce que la
machine soit certifiée conforme
par un organisme de certification.

La sécurité est un métier un peu


à part dans le domaine de l’au-
tomatisme et cette procédure doit
être accomplie par une personne
possédant les connaissances et à
l’aide de logiciels particuliers (ex :
SYSTEMA).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 29/258
Département Génie Electrique et informatique Industrielle
Sécurité Appréciation des risques

Plan

II - Sécurité
1 - Introduction
2 - Appréciation des risques
3 - Réduction des risques en fonctionnement normal
4 - Réduction des risques pendant la mise au point ou la maintenance
5 - Le robot et la sécurité

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 30/258
Département Génie Electrique et informatique Industrielle
Sécurité Appréciation des risques

Cette démarche a pour objectifs d’identi-


fier tous les phénomènes dangereux d’une
machine et de déterminer si une réduction
du risque est nécessaire et possible.

Elle doit être accomplie à chaque phase de


développement de la machine et pour les
modes de fonctionnement existants.

Il existe ensuite des outils permettant de


définir les objectifs de sécurité.
L’estimation du risque se fait de la manière suivante à l’aide de indicateurs : SIL
(Safety Integrity Level) et PL (Performance Level).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 31/258
Département Génie Electrique et informatique Industrielle
Sécurité Appréciation des risques

Le SIL détermine un niveau de sécurité qui doit guider sur le choix d’équipements
permettant de réduire le risque :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 32/258
Département Génie Electrique et informatique Industrielle
Sécurité Appréciation des risques

Le PL détermine un niveau de risque :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 33/258
Département Génie Electrique et informatique Industrielle
Sécurité Appréciation des risques

Correspondance SIL-PL :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 34/258
Département Génie Electrique et informatique Industrielle
Sécurité Appréciation des risques

Dangers courants en fonctionnement opérationnel


I pénétration par négligence, distraction ou nécessité dans la zone d’évolution du
robot ;
I neutralisation des protections ;
I bris et projection de matériel par le robot ;
I défaillance du robot ;
I mauvaise réaction à une situation anormale.

Dangers courants durant l’installation, le réglage ou la mainte-


nance
I les risques sont augmentés lors des essais fonctionnels ou des réparations ;
I la majorité des accidents en milieu robotisé se produisent lors des interventions
de mise au point, de démarrage et de maintenance des systèmes.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 35/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Plan

II - Sécurité
1 - Introduction
2 - Appréciation des risques
3 - Réduction des risques en fonctionnement normal
4 - Réduction des risques pendant la mise au point ou la maintenance
5 - Le robot et la sécurité

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 36/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Configuration de sécurité minimale

Peu importe le constructeur, le panel de


programmation contient toujours un ARU
appelé arrêt d’urgence interne.

Sur toute installation, au moins un ARU


externe doit être installé et connecté
via l’interface client. Le robot ne peut pas
être mis en mouvement sans cet organe.

3 : arrêt d’urgence smartPad

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 37/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Mesures à prendre pour le fonctionnement normal


La zone de travail du robot doit être inaccessible. Cette zone comprend le robot lui-
même mais aussi son outil et la pièce usinée (mobile ou pas). Pour cela on utilise les
techniques suivantes :
I isolement par une cage en polycarbonate ou un grillage ;
I accès protégé par des barrières ou portes de sécurité inter- verrouillées avec le
fonctionnement du robot ;
I ajout possible de systèmes photoélectriques de détection de présence, de systèmes
de vision, de capteurs de contact pour compléter l’installation et avoir plus de
souplesse dans la gestion.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 38/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Afin de garantir l’inaccessibilité à la zone d’évolution du robot durant le fonctionne-


ment normal, il existe plusieurs type de protections.

Protecteurs
Selon la norme ISO 12100, un protecteur est une barrière physique conçue comme un
élément de machine pour assurer la protection vis-à-vis de phénomènes dangereux.
La fonction de protection n’est assurée que si celui-ci est en position fermée.

Ils doivent être conçus, réalisés et disposés de manière à empêcher toutes les parties
du corps d’atteindre les zones dangereuses.

Les distances de positionnement des protecteurs en fonction des zones dangereuses


doivent respecter la norme ISO 13857. (Exemple ICI).

Il existe 2 types de protecteurs :

I protecteurs fixes ;
I protecteurs mobiles.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 39/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Protecteurs fixes : C’est le


meilleur moyen de protection
et il est donc à privilégier.

Il s’agit d’un protecteur fixé de


manière à ce qu’il ne puisse être
ouvert ou démonté qu’à l’aide
d’outils.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 40/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Protecteurs mobiles : C’est un


protecteur pouvant être ouvert
sans l’aide d’outils.
Il doit être associé à un dispositif
de verrouillage ou d’interver-
rouillage délivrant un ordre d’arrêt
des éléments dangereux s’il au-
torise l’accès à la zone dangereuse. Dispositif de verrouillage

Ainsi, des contacts de portes


ou des serrures électromécaniques
doivent êtres reliés au robot (di-
rectement ou via un relais de
sécurité) afin qu’il puisse se mettre
Dispositif d’interverrouillage
à l’arrêt.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 41/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

organes de sécurité pour protecteurs mobiles

Dispositifs mécaniques pour verrouillage Dispositifs sans fil pour verrouillage

Dispositifs pour interverrouillage Relais de sécurité

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 42/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Détection de personnes
Lorsque pour des raisons de conception ou de production, la cellule ne peut être
complètement fermée ”mécaniquement”, il convient d’utiliser de dispositifs de
détection de personnes.

Ces dispositifs sont plus coûteux (entre 500 et 1500e) et leur positionnement doit
se faire en tenant compte des vitesses de déplacements des opérateurs.

Ils doivent posséder des temps de réponses très faibles.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 43/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Le choix de ce type de détecteur se fait selon 3 critères :

I Hauteur et portée du faisceau

Elles déterminent la surface du champs


à protéger. La portée définie la dis-
tance maximale entre l’émetteur et le
récepteur.

I Résolution (capacité de détection)

I le temps de détection. Plus le temps est faible, plus la distance entre la barrière
et la zone dangereuse peut être réduite.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 44/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Il existe également des systèmes


multifaisceaux pour la détection
du corps entier

Dans ce cas des hauteurs sont


recommandées en fonction du
nombre de faisceaux.

Nombre de faisceaux Hauteurs recommandées


4 300-600-900-1200 mm
3 300-700-1100 mm

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 45/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Selon la conception de la zone d’évolution du robot, il est possible que des pièces
mécaniques ou de production doivent traverser les faisceaux lumineux.

Dans ce cas il existe des barrières immatérielles avec des fonction de muting ou de
blanking.

Blanking (désactivation d’une partie du


Muting (inhibition du faisceau pendant un
faisceau)
laps de temps)

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 46/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Dans tous les cas, la barrière doit être place à une distance réglementaire donné par
la formule suivante :
S = K (t1 + t2 ) + C
avec :
I S : distance de sécurité en mm (Smini = 100mm) ;
I K : constante en mm/s calculée à partir des vitesses d’approche du corps humain dans
la zone dangereuse ;
I t1 : temps de réponse global du dispositif (donnée constructeur) ;
I t2 : temps de mise à l’arrêt de la machine en secondes ;
I C : distance supplémentaire en mm basée sur la distance parcourue par une partie du
corps avant sa détection.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 47/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Autres systèmes de détection


Lasers à balayage : ce sont des scrutateurs optiques conçus pour la détection de
personnes. Un rayon laser non-dangereux balaye la zone dangereuse et détecte la
positon des objets ou des personnes situées dans son champ de scrutation. (> 3500e)

On peut paramétrer différentes zones correspondant à des modes de fonctionnement


différents du robot (petite vitesse ou arrêt complet).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 48/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Tapis sensible
Caméra

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 49/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques en fonctionnement normal

Zones de sécurité logicielle


Les constructeurs de robots offrent la possibilité de pouvoir gérer logiciellement les
zones de sécurité.

On peut ainsi définir des limites


articulaires et cartésiennes pour le
bras (zones d’interdiction ou zone
de travail), et définir une zone de
sécurité autour de l’ensemble outil
+ pièce pour éviter qu’il ne fran-
chisse une zone interdite.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 50/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques pendant la mise au point ou la maintenance

Plan

II - Sécurité
1 - Introduction
2 - Appréciation des risques
3 - Réduction des risques en fonctionnement normal
4 - Réduction des risques pendant la mise au point ou la maintenance
5 - Le robot et la sécurité

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 51/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques pendant la mise au point ou la maintenance

Mesures à prendre lors de la mise au point ou de la maintenance


La zone de travail est accessible et par conséquent les composants garantissant la
sécurité en fonctionnement normal ne sont plus ”actifs”. Par conséquent :
I chez tous les constructeurs, on ne peut utiliser que le mode manuel T1
dans lequel la vitesse du robot est automatiquement limitée. Le mouvement est
autorisé par commande à action maintenue ou cycle par cycle couplé à un bouton
homme-mort. Le but est de permettre à l’utilisateur d’anticiper les mouvements
du robot pour éviter toute collision.
I Si le besoin se fait sentir, la présence d’une personne supplémentaire pouvant
couper l’alimentation de puissance du robot en cas de risques complète les me-
sures de prévention.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 52/258
Département Génie Electrique et informatique Industrielle
Sécurité Réduction des risques pendant la mise au point ou la maintenance

2 : Choix du mode de fonctionnement ma-


nuel (T1-T2) 1 - 3 - 5 : Interrupteur d’homme-mort
10 - 11 : Commandes maintenues d’avance- 2 : Commande maintenue d’avancement
ment

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 53/258
Département Génie Electrique et informatique Industrielle
Sécurité Le robot et la sécurité

Plan

II - Sécurité
1 - Introduction
2 - Appréciation des risques
3 - Réduction des risques en fonctionnement normal
4 - Réduction des risques pendant la mise au point ou la maintenance
5 - Le robot et la sécurité

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 54/258
Département Génie Electrique et informatique Industrielle
Sécurité Le robot et la sécurité

Le robot doit être en lien avec les organes de sécurité afin de pouvoir réagir en cas
de problèmes.
Il doit donc être relié physiquement (câblage direct ou indirect) ou par réseau (interface
de sécurité Ethernet) aux différents composants de sécurité.
Ainsi une interface certifiée SIL3 et PL d assure les fonctions de sécurité suivantes :

I sélection du mode de fonctionnement ;


I surveillance protection opérateur (dispositifs
de protection) ;
I surveillance arrêt d’urgence externe ;
I surveillance dispositif d’homme mort ;
I surveillance arrêt fiable de fonctionnement ;
I surveillance arrêt de sécurité externe 1 ;
I surveillance arrêt de sécurité externe 2 ;
I surveillance de la vitesse en mode T1. Interface CIB SR de la kuka KRC4
Compact

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 55/258
Département Génie Electrique et informatique Industrielle
Sécurité Le robot et la sécurité

Réaction du robot à un problème de sécurité


Si un problème de sécurité survient, le robot s’arrête selon ce qui a été programmé
par le constructeur. Néanmoins tous les constructeurs appliquent la norme EN 60204
(norme sécurité des machines) qui définit 3 catégories d’arrêt :

I catégorie 0 : arrêt par suppression immédiate de la puissance sur les actionneurs


(arrêt non contrôlé) ;
I catégorie 1 : arrêt contrôlé en maintenant la puissance sur les actionneurs pour
obtenir arrêt de la machine, puis coupure de la puissance quand l’arrêt est obtenu ;
I catégorie 2 : arrêt contrôlé en maintenant la puissance sur les actionneurs.

Chaque robot doit implémenter un arrêt de catégorie 0 et 1. Les arrêts de catégorie


2 sont optionnels.

Les arrêts de catégorie 0 et 1 doivent être opérationnels, quel que soit le mode
opératoire et l’arrêt de catégorie 0 est prioritaire.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 56/258
Département Génie Electrique et informatique Industrielle
Sécurité Le robot et la sécurité

AUT -
Action de déclenchement T1 - T2
AUT ext.
Lâcher la touche START STOP2 -
Actionner la touche STOP STOP2
Arrêt des entraı̂nements STOP1
Autorisation de déplacement annulée STOP2
Coupure de tension ou panne secteur STOP0
Défaut interne dans la partie du contrôleur qui STOP0 ou STOP1
ne gère pas la sécurité (dépend du défaut)
Changement de mode pendant le fonctionne-
STOP2
ment
Ouverture d’une porte (protection opérateur) - STOP1
Libération homme-mort STOP2 -
Enfoncement homme-mort STOP1 -
arrêt d’urgence STOP1
Défaut dans la commande de sécurité STOP0

Exemple : gestion des catégories d’arrêt chez KUKA.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 57/258
Département Génie Electrique et informatique Industrielle
Sécurité Le robot et la sécurité

Câblage des organes de sécurité sur le robot - Exemple de la


KRC4 compact
Chez Kuka, le câblage des organes de sécurité se fait sur un connecteur HART 50
points pour le câblage filaire (X11) OU sur un connecteur réseau avec un protocole
type PROFISafe (X66) pour échanger avec un API Safety.

Tous les organes de sécurité sont câblés en bicanal (niveau SIL élevé).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 58/258
Département Génie Electrique et informatique Industrielle
Sécurité Le robot et la sécurité

Câblage de l’arrêt d’urgence externe sur


X11 Câblage de protecteurs sur X11

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 59/258
Département Génie Electrique et informatique Industrielle
Sécurité Le robot et la sécurité

Test des organes de sécurité


Les entrées de sécurité sont testées de façon cyclique pour vérifier qu’elles peuvent
être désactivées. Pour ce faire, les sorties de test TA A et TA B sont désactivées en
alternance.
I La longueur d’impulsion d’arrêt est
fixée à t1 = 625 µs ;
I La durée t2 entre deux impulsions
d’arrêt d’un canal est de 106 ms ;
I La durée t3 est le décalage entre l’im-
pulsion d’arrêt des 2 canaux ;
I Le canal d’entrée SIN x A doit être
alimenté par le signal de test TA A et
le SIN x B par le signal de test TA B ;
Pour que le test soit concluant, il faut que t3 soit identique sur l’émission (signaux
TA A et TA B) et sur la réception (signaux SIN x A et SIN x B).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 60/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

Plan

III - Qu’est-ce qu’un robot industriel ?


1 - De quoi se compose un robot ?
2 - Classification des robots
3 - Caractéristiques des robots
4 - Câblage des robots

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 61/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

Pour être opérationnel, un robot industriel doit se composer des éléments suivants :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 62/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

Le bras : la partie mécanique


C’est l’élément mécanique principal en mouvement. Il se caractérise par un système
articulé semblable à un bras humain avec plus ou moins de degré de liberté. Il existe
différentes formes de bras en fonction des constructeurs et des applications.

I 1 - poignet en ligne ;
I 2 - avant-bras ;
I 3 - bras ;
I 6 - base fixe.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 63/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

Il se compose de plusieurs axes qui reproduisent au mieux les mouvements des arti-
culations du bras. Par exemple pour un robot 6 axes, on a :

I axes 1 et 2 : mouve-
ments de l’épaule ;
I axe 3 : mouvements du
coude ;
I axes 4 et 5 : mouve-
ments du poignet ;
I axe 6 : rotation de la
main.

ex : Kuka KR6 ex : Fanuc M-20iA


Attention : en fonction des constructeurs, le sens des axes n’est pas toujours le
même.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 64/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

Le contrôleur : la partie électrique et la partie commande


Le contrôleur, aussi appelé baie robot, est le cerveau du robot. Il permet de commander
le robot. Il intègre :
I un calculateur (PC embarqué) pour le contrôle des mouvements du robot. Il
permet de transformer une valeur cartésienne en données codeur du moteur ;
I une partie puissance pour l’alimentation des moteurs du bras. Cette partie est
composée de variateurs de vitesse.

KRC4 Compact KRC4 Smallsize

1 - partie commande 1 - partie puissance


2 - partie puissance 4 et 7 - partie commande

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 65/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

L’armoire de commande est composée des éléments nécessaires au fonctionnement


du robot :

I Carte processeur qui embarque toute la partie logicielle de la commande ;


I Cartes d’acquisition des signaux de capteurs ;
I Cartes de sorties de signaux ;
I E/S déportées ;
I Bus à cartes ;
I Alimentations ;
I Puissance des moteurs ;
I Ventilateurs.

Afin de pouvoir gérer la partie logicielle du robot, un système d’exploitation temps-


réel (VxWorks, QNX, LynxOS, RTLinux, ... pas Windows) doit être installé dans
la commande afin de pouvoir garantir un temps de cycle fixe dans l’exécution des
programmes.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 66/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 67/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

Le pupitre de programmation : l’interface


Le pupitre de programmation est un panneau de commande déporté. Il permet de
dialoguer directement avec le robot pour faire :
I les mises en service (calibration, réglages, ...) ;
I les mesures de bases et d’outils ;
I les prises de points ;
I la programmation (fastidieux !) et la modification de programme ;
I le lancement des programmes, l’archivage, ...
C’est un élément essentiel au fonctionnement du robot.

ABB Staübli
Kuka
Fanuc
Eric TERNISIEN
IUT de Saint Dié-des-Vosges 68/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? De quoi se compose un robot ?

Le préhenseur l’outil
Le robot est livré sans préhenseur (sans outil) car son choix dépend de l’utilisation du
robot. Si l’on pense souvent à la pince, cela peut être aussi une torche de soudure, un
pistolet à peinture, voire même souvent des préhenseurs développés par l’entreprise
elle-même.

Certains sont des systèmes automatisés avec des parties mobiles.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 69/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Classification des robots

Plan

III - Qu’est-ce qu’un robot industriel ?


1 - De quoi se compose un robot ?
2 - Classification des robots
3 - Caractéristiques des robots
4 - Câblage des robots

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 70/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Classification des robots

Les robots cartésiens

I Idéal lorsque les déplacements souhaités sont purement linéaires ;


I Si les déplacements sont plus complexes, on peut le combiner avec d’autres robots
pour les rotations et ainsi augmenter le nombre d’axes ;
I 3 axes ⊥ 2 à 2, structure PPP (liaison prismatique ≈ glissière) ;
I 3 Degrés De Liberté (DDL).

Représentation cinématique Espace de travail

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 71/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Classification des robots

Les robots cylindriques

I 3 axes, structure RPP (R : Rotoı̈de) ;


I 3 DDL.

Représentation cinématique Espace de travail

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 72/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Classification des robots

Les robots sphériques

I 3 axes, structure RRP ;


I 3 DDL.

Représentation cinématique Espace de travail

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 73/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Classification des robots

Les robots parallèles

I Encombrement de travail réduit ;


I Rapide (grosses accélérations) et précis au nanomètre (structure plus rigide) ;
I Charge levée importante / poids du robot (effort réparti sur chaque ”bras”) ;
I 3 DDL ;
I Commande plus complexe.

Représentation cinématique Espace de travail

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 74/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Classification des robots

Les robots SCARA


I Selective Compliance Articulated Robot Arm ;
I Plus rapide que les 6 axes, très bonne répétabilité ;
I Généralement 4 axes (2 pour le X-Y et 2 pour le Z) ;
I Structure RRRP, 4 DDL ;

Représentation cinématique Espace de travail


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 75/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Classification des robots

Les robots anthropomorphes

I Reproduisent la structure d’un bras humain ;


I Représentent 80% du marché ;
I 6 axes ;
I Structure 6R, 6 DDL ;

Représentation cinématique Espace de travail

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 76/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Classification des robots

Comparaison des structures

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 77/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Plan

III - Qu’est-ce qu’un robot industriel ?


1 - De quoi se compose un robot ?
2 - Classification des robots
3 - Caractéristiques des robots
4 - Câblage des robots

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 78/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Axes du robot
Les axes possèdent des limites logicielles qui garantissent le fonctionnement normal
du robot. Elles peuvent accompagnées de butées mécaniques qui contraignent physi-
quement le robot.

Plage de
Vitesse pour
mouvement -
Axe charge nominale
limitation
admissible
logicielle
1 ± 170◦ 360◦ /s
2 de +45◦ à -190◦ 300◦ /s
3 de +156◦ à -120◦ 360◦ /s
4 ± 185◦ 381◦ /s
5 ± 120◦ 388◦ /s
6 ± 350◦ 615◦ /s

Exemple : Plage de variation des axes du Kuka KR6-R700.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 79/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Plage de
Vitesse pour
mouvement -
Axe charge nominale
limitation
admissible
logicielle
1 ± 150◦ 720◦ /s
2 ± 135◦ 720◦ /s
3 de 0mm à 150mm 650mm/s
4 ± 540◦ 1080◦ /s

Exemple : Plage de variation des axes du Fanuc A-600.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 80/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Zone de travail du robot


La zone de travail du robot définie l’enveloppe globale dans laquelle le robot peut se
déplacer au maximum compte tenu de ses dimensions et de ses limites d’axes. C’est
la zone minimale dans laquelle un opérateur ne doit pas se trouver.

Ex : Volume de travail du Kuka KR6. Il est de 1.36m3 . Ex : Zone de travail du


Fanuc A-600

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 81/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Charge utile du robot


La charge utile du robot est une caractéristique fondamentale puisque c’est un critère
de choix essentiel pour le concepteur de machines. La taille et la puissance du robot
sont directement corrélés à la charge qu’il peut porter.
Néanmoins, la capacité de charge varie en fonction de la distance par rapport à la
bride du robot.

Ex : Tableau de charge du Kuka KR6-R700.


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 82/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Vitesse du robot
La vitesse linéaire par défaut de la bride d’axe 6 du KR6 est de 2m/s (7,2km/h).

Cette vitesse est limitée à 250mm/s en mode T1 et par peut l’être par programmation
en mode T2 et automatique.

Dans ce cadre, les course et temps d’arrêt du robot lors d’un arrêt en STOP0 sont :

Course
Temps
Axe d’arrêt
d’arrêt (s)
(deg.)
1 133.67 0.494
2 122.43 0.556
3 79.29 0.371
I Surplomb : 100% ;
Si un STOP0 a eu lieu, il est recommandé I Vitesse : 2m/s ;
de recalibrer le robot. I Charge maximale.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 83/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Course et temps d’arrêt du robot KR6 en arrêt STOP1 et à 100% d’aplomb

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 84/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Répétabilité et exactitude de position


La norme ISO 9283 définit :

I La répétabilité de position (RP) exprime l’écart


entre les positions et orientations des positions
atteintes (B) pour la même position demandée
(A) répétée 30 fois. Elle est globalement <
0.1mm ;
I L’exactitude de position (AP) exprime l’écart
entre une position demandée (A) et la
moyenne des poses atteintes (B). Elle est glo-
balement > 1mm.
q
AP = (XB − XA )2 + (YB − YA )2 + (ZB − ZA )2
q
30
RP = max (XB − Xi )2 + (YB − Yi )2 + (ZB − Zi )2
i=1

Le robot Kuka KR6-R700 possède une répétabilité de position de ±0.03mm.


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 85/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Répétabilité et exactitude de trajectoire


Sur le même principe que pour la position, la norme ISO 9283 définit :
I La répétabilité de trajectoire (RT) exprime
l’écart entre la trajectoire effectuée par le robot
et la trajectoire demandée ;
I L’exactitude de trajectoire (AP) exprime
l’écart entre la trajectoire demandée (A) et la
moyenne des trajectoires effectuées.
Au bout de 30 cycles on obtient un tube de trajec-
toires.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 86/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Caractéristiques des robots

Causes d’erreur
Les causes possibles menant aux erreurs d’exactitude sont :
I les erreurs de quantification et de calcul : précision dans les calculs, quantification
des codeurs, performance des algos ;
I les erreurs d’étalonnage : mauvaise calibration du robot ;
I les erreurs cinématiques de type systématique : flexion du bras due à la charge,
dilatation des pièces mécaniques.

Les causes possibles menant aux erreurs de répétabilité sont :


I les erreurs cinématiques de type aléatoire : jeux mécaniques et usure des pièces
mécaniques.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 87/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Câblage des robots

Plan

III - Qu’est-ce qu’un robot industriel ?


1 - De quoi se compose un robot ?
2 - Classification des robots
3 - Caractéristiques des robots
4 - Câblage des robots

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 88/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Câblage des robots

Nous avons vu précédemment de quoi se composait un robot. Tous les éléments sont
reliés de la manière suivante :

1 - Puissance électrique, 2 - Echange de données de commande, 3 - Liaison


teachPendant, 4 - Liaison pneumatique (ou électrique) pour le préhenseur, 5 -
Capteurs du préhenseur.
Eric TERNISIEN
IUT de Saint Dié-des-Vosges 89/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Câblage des robots

Lien préhenseur-robot

De manière générale, la partie mécanique du robot


est équipée d’actionneurs pneumatiques permettant
de pouvoir mettre en mouvement le préhenseur. Par
exemple le Kuka KR6 contient 3 distributeurs 5/2
bistables supportant 7 bars de pression.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 90/258
Département Génie Electrique et informatique Industrielle
Qu’est-ce qu’un robot industriel ? Câblage des robots

On peut aussi trouver des E/S


électriques déportées. Par exemple
le Kuka KR6 (via le connecteur
X41) propose 6 entrées et 2 sor-
ties 24V.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 91/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Rappels de géométrie

Plan

IV - Géométrie des robots


1 - Rappels de géométrie
2 - Repérage d’un solide dans l’espace
3 - Modèles géométriques d’un robot
4 - Les repères chez les constructeurs

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 92/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Rappels de géométrie

Coordonnées d’un point dans l’espace


Soit un repère orthonormé cartésien R0 (O0 , x~0 , y~0 , z~0 ), la position d’un point P est
donné par un triplet de coordonnées.

  −−→ 
xP 0 O0 P.x~0
−−→ 
P/R0 = yP 0  = O0 P.y~0 
zP 0 /R −−→
0 O0 P.z~0 /R
0

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 93/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Rappels de géométrie

Positions d’un solide dans l’espace


1 - Si le point appartient à un solide et qu’à ce solide on associe un repère, on peut
définir les coordonnées de chaque point du solide par rapport à chacun des 2 repères
comme ci-dessous si ces derniers sont en translation pure.

−−→ 
O0 P.x~0
−−→ 
P/R0 = O0 P.y~0 
−−→
O0 P.z~0 /R
0
−−−→ −−→ −−−→ −−→
P/R0 = O0 O1 /R0 + O1 P /R0 = O0 O1 /R0 + O1 P /R1
−−−→ −−→ 
O0 O1 .x~0 + O1 P.x~1
 −−→ −−→ 
P/R0 =  O0 01 .y~0 + O1 P.y~1 
−−→ −−→
O0 01 .z~0 + O1 P.z~1 /R
0

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 94/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Rappels de géométrie

2 - Si le point appartient à un solide et qu’à ce solide on associe un repère, on peut


définir les coordonnées de chaque point du solide par rapport à chacun des 2 repères
comme ci-dessous si ces derniers sont en rotation pure (repères de même origine).

 
xP 1
−−→
P/R1 = O1 P /R1 = yP 1 
zP 1 /R
1
−−→
O1 P /R1 = xP 1 x~1 + yP 1 y~1 + zP 1 z~1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 95/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Rappels de géométrie

Les origines des 2 repères étant confondues, on peut écrire :


−−→ −−→
P/R0 = O0 P /R0 = O1 P /R0
−−→   
O1 P.x~0 (xP 1 x~1 + yP 1 y~1 + zP 1 z~1 ).x~0
−−→  
P/R0 = O1 P.y~0  = (xP 1 x~1 + yP 1 y~1 + zP 1 z~1 ).y~0 )
−−→ (xP 1 x~1 + yP 1 y~1 + zP 1 z~1 ).z~0
O1 P.z~0
  
x~1 .x~0 y~1 .x~0 z~1 .x~0 xP 1
P/R0 = x~1 .y~0 y~1 .y~0 z~1 .y~0  yP 1 
x~1 .z~0 y~1 .z~0 z~1 .z~0 zP 1
P/R0 = MR0 →R1 .P/R1
P/R1 = MR1 →R0 .P/R0 = MRT0 →R1 .P/R0

où MR0 →R1 est la matrice de rotation qui permet de passer de R0 à R1 . Pour passer
de R1 à R0 on utilise la transposée.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 96/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Rappels de géométrie

Rotation d’un repère (exemple en 2D)


Soit les 2 repères orthonormés suivants :

On obtient la matrice de passage de R1 à


R0 via les équations :

x1 = cos(θ).x0 + sin(θ).y0
y1 = − sin(θ).x0 + cos(θ).y0

et celle pour passer de R0 à R1 via les


équations :  
cos(θ) sin(θ)
MR1 →R0 =
x0 = cos(θ).x1 − sin(θ).y1 − sin(θ) cos(θ)
y0 = sin(θ).x1 + cos(θ).y1  
cos(θ) − sin(θ)
MR0 →R1 =
sin(θ) cos(θ)

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 97/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Rappels de géométrie

Rotations en 3D autour d’un axe fixe


En gardant le même principe qu’en 2D on obtient les matrices suivantes pour les
rotations usuelles autour d’un axe fixe :

 
1 0 0
MR0 →R1 = rot(x~0 , α) = 0 cos(α) − sin(α)
0 sin(α) cos(α)

 
cos(β) 0 sin(β)
MR0 →R1 = rot(y~0 , β) =  0 1 0 
− sin(β) 0 cos(β)

 
cos(γ) − sin(γ) 0
MR0 →R1 = rot(z~0 , γ) =  sin(γ) cos(γ) 0
0 0 1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 98/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Plan

IV - Géométrie des robots


1 - Rappels de géométrie
2 - Repérage d’un solide dans l’espace
3 - Modèles géométriques d’un robot
4 - Les repères chez les constructeurs

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 99/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Orientation d’un solide


Pour obtenir l’orientation d’un solide dans l’espace par rapport à un repère d’origine,
on peut définir le repère associé au solide comme étant le résultat de 3 rotations
successives autour d’un axe fixe.

~ y~1 , z~1 ) ayant même origine que R0 , R1 peut se déduire


Ainsi, si on définit R1 (O1 , x1,
par 3 rotations successives en définissant 2 repères intermédiaires : R 0 et R 00 .

Les 3 rotations peuvent être définies de différents manières à condition que 2


rotations successives ne soient pas autour d’un même axe. Pour tourner, on peut
utiliser soit les axes fixes de R0 soit les axes des repères intermédiaires (R 0 et R 00 ).

Parmi les 12 combinaisons (6 utilisant les axes fixes et 6 utilisant les axes des repères
intermédiaires) possibles de rotations, la majorité des constructeurs utilisent celles
utilisant les angles nautiques (combinaison autour des axes des repères intermédiaires).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 100/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Angles nautiques :

Les angles nautiques, également appelés lacet-tangage-roulis (yaw-pitch-roll), défi


nissent les trois rotations suivantes :

I le lacet α autour de l’axe z~0 , fait passer de R0 à R 0 ;


I le tangage β autour de l’axe y~0 , fait passer de R 0 à R 00 ;
I le roulis γ autour de l’axe x~00 , fait passer de R 00 à R1 .

rot(~
z0 ,α) rot(y~0 ,β) rot(x~00 ,γ)
R0 −−−−−→ R 0 −−−−−→ R 00 −−−−−→ R1

Pour garantir l’unicité de la représentation de l’orientation par les trois angles nau-
tiques, il faut que ces angles se situent dans les intervalles suivants :

π π
−π 6 α < π − 6β< −π 6γ <π
2 2

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 101/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Il existe une correspondance entre les combinaisons utilisant les axes du repère mobile
et celles utilisant les axes du repère R0 fixe.

I la combinaison X0 Y 0 Z 00 correspond à Z0 Y0 X0 ;
I la combinaison Y0 Z 0 X 00 correspond à X0 Z0 Y0 ;
I la combinaison Z0 X 0 Y 00 correspond à Y0 X0 Z0 ;
I la combinaison X0 Z 0 Y 00 correspond à Y0 Z0 X0 ;
I la combinaison Z0 Y 0 X 00 correspond à X0 Y0 Z0 (angles nautiques) ;
I la combinaison Y0 X 0 Z 00 correspond à Z0 X0 Y0 ;

Système de rotation par constructeur :


I ABB - KUKA : Z0 Y 0 X 00 ;
I FANUC - Motoman : X0 Y0 Z0 ;
I STAUBLI : X0 Y 0 Z 00 .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 102/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Z0 Y 0 X 00 X0 Y0 Z0

Pour α = β = γ = 30◦ . Illustration sur le lien ici

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Z0 Y 0 X 00 X0 Y0 Z0

Pour α = β = γ = 30◦ . Illustration sur le lien ici

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Z0 Y 0 X 00
X0 Y0 Z0

Pour α = β = γ = 30◦ . Illustration sur le lien ici

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Z0 Y 0 X 00
X0 Y0 Z0

Pour α = β = γ = 30◦ . Illustration sur le lien ici

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Z0 Y 0 X 00
X0 Y0 Z0

Pour α = β = γ = 30◦ . Illustration sur le lien ici

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Z0 Y 0 X 00
X0 Y0 Z0

Pour α = β = γ = 30◦ . Illustration sur le lien ici

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

X0 Y0 Z0
Z0 Y 0 X 00

Pour α = β = γ = 30◦ . Illustration sur le lien ici


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

X0 Y0 Z0
Z0 Y 0 X 00

Pour α = β = γ = 30◦ . Illustration sur le lien ici


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Z0 Y 0 X 00 X0 Y0 Z0

Pour α = β = γ = 30◦ . Illustration sur le lien ici

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 103/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Ainsi, la matrice de rotation permettant de passer d’un repère à l’autre s’obtient en


faisant le produit des 3 matrices de rotation autour d’un axe :
MR0 →R1 = z0 , α).rot(y~0 , β).rot(x~00 , γ)
rot(~
   
cos(α) − sin(α) 0 cos(β) 0 sin(β) 1 0 0
=  sin(α) cos(α) 0  0 1 0  0 cos(γ) − sin(γ)
0 0 1 − sin(β) 0 cos(β) 0 sin(γ) cos(γ)
 
cos(α) cos(β) cos(α) sin(β) sin(γ) − sin(α) cos(γ) sin(α) sin(γ) + cos(α) sin(β) cos(γ)
=  sin(α) cos(β) cos(α) cos(γ) + sin(α) sin(β) sin(γ) sin(α) sin(β) cos(γ) − cos(α) sin(γ)
− sin(β) cos(β) sin(γ) cos(β) cos(γ)

Le passage dans l’autre sens s’obtient en tranposant la matrice :


T
MR1 →R0 = MR →R
0 1
 
cos(α) cos(β) sin(α) cos(β) − sin(β)
= cos(α) sin(β) sin(γ) − sin(α) cos(γ) cos(α) cos(γ) + sin(α) sin(β) sin(γ) cos(β) sin(γ) 
sin(α) sin(γ) + cos(α) sin(β) cos(γ) sin(α) sin(β) cos(γ) − cos(α) sin(γ) cos(β) cos(γ)

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 104/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Mouvement complet d’un solide dans l’espace


Le mouvement d’un solide par rapport à une base peut être à la fois composé d’un
mouvement de translation et de rotation :

−−→ −−−→ −−→


O0 B /R0 = O0 O1 /R0 + O1 B /R0
−−→ −−→
O1 B /R0 = MR0 →R1 .O1 B /R1
−−→ −−−→ −−→
O0 B /R0 = O0 O1 /R0 + MR0 →R1 .O1 B /R1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 105/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Pour avoir une représentation mathématique plus compacte et plus pratique, on peut
écrire la même chose sous forme matricielle :

−−→   −−−→  −−→ 


O0 B /R0 MR0 →R1 O0 O1/R0 O1 B /R1
=
1 Ø 1 1
−−→  −−→ 
O0 B /R0 O1 B /R1
= H10
1 1
B/R0 = H10 .B/R1

où H10 est la matrice de transformation homogène de passage de R0 à R1 qui permet


de calculer les coordonnées dans R0 de n’importe quel point du solide à partir de
ses coordonnées dans R1 . B est le vecteur homogène contenant les coordonnées du
 T
point B exprimées dans un repère (B/R1 = xB 1 yB 1 zB 1 1 ).
 
N.B. : Ø = 0 0 0 .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 106/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Exemple
A partir de R0 , translation de 10mm dans toutes les directions, une rotation de -90◦
autour de X0 suivi d’une rotation de 90◦ autour de Z0 .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 107/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Attention à l’opération inverse


Au contraire des matrices de rotation, l’inverse d’une matrice homogène n’est pas
égale à sa transposée.

B/R1 = H01 .B/R0 = (H10 )−1 .B/R0 6= (H10 )T .B/R0

Ainsi :  −−−→ 
MRT0 →R1 −MRT0 →R1 O0 O1/R0
H01 = (H10 )−1 =
Ø 1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 108/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Repérage d’un solide dans l’espace

Comme pour les matrices de rotation si le mouvement s’obtient par l’intermédiaire


de 2 repères, la matrice homogène équivalente s’obtient par le produit des matrices
homogènes.

B/R0 = H20 .B/R2


H20 = H10 .H21

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 109/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Plan

IV - Géométrie des robots


1 - Rappels de géométrie
2 - Repérage d’un solide dans l’espace
3 - Modèles géométriques d’un robot
4 - Les repères chez les constructeurs

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 110/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

M’sieur, à quoi ça sert tout ça ? ? ?


Le principe de base d’un programme robotique est de créer des trajectoires que va
suivre l’outil afin d’effectuer différentes opérations.

Une trajectoire est une ligne décrite par un point d’un objet en mouvement. Or ce
point doit être référencé par rapport à un repère (appelé base en robotique).

Dans le cas d’un robot, le mouvement de l’outil dans l’es-


pace est totalement décrit par l’évolution de 6 paramètres P = f (q)
(3 pour la position et 3 pour l’orientation) regroupé dans XP
 
 
un seul vecteur noté P. YP  q1
 
 ZP  q2 
Ce mouvement est créé par l’actionnement de N articula-  α  = f  . 
   
 .. 
tions motorisées dont les coordonnées articulaires (distances  β 
 
qn
ou angles) sont regroupés dans un vecteur noté q qui définit γ
la posture du robot.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 111/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Afin d’estimer l’un ou l’autre de ces jeux de paramètres, on utilise 2 modèles


géométriques :

I Modèle géométrique direct : étant données les positions articulaires (distance


ou angle), trouver la position de l’outil par rapport à la base ;
I Modèle géométrique inverse : étant donnée une position d’outil par rapport
à la base, trouver (si elles existent) l’ensemble des positions articulaires qui per-
mettent de générer cette position.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 112/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct


Il permet de connaı̂tre les mouvements de l’outil dans l’espace en fonction des mou-
vements des articulations du robot. Ce modèle permet par exemple de déterminer
l’espace de travail du robot en prenant en compte les butées articulaires (valeurs
maximales).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 113/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Principe du modèle
I on fixe un repère Ri (0 6 i 6 n) à chaque corps Si du robot ;
I La i ème articulation dont la position est notée qi relie les corps Si−1 et Si ;
I on calcule la matrice homogène Hii−1 entre chaque repère ;
I on déduit la matrice homogène entre la base du robot et le repère outil.

Hn0 = H10 .H21 . · · · .Hnn−1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 114/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Convention de Denavit-Hartenberg
Elle permet de normaliser, simplifier le calcul des matrices homogènes en utilisant la
géométrie du robot.

Elle définit les règles pour fixer les repères Ri de chaque articulation i :

I l’axe z~i de Ri est confondu avec l’axe n◦ i + 1 du robot ;


I l’axe x~i de Ri est perpendiculaire à z~i et coupe l’axe n◦ i du robot ;
I l’axe y~i de Ri est choisi de manière à former un repère orthonormé avec les 2
autres axes.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 115/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Chaque transformation entre les corps successifs Si−1 et Si est décrite par quatre
paramètres :

I θi : l’angle entre autour de l’axe ~zi−1 entre les axes ~xi−1 et x~i . C’est la variable
articulaire dans le cas pivot ;
I di : la distance selon l’axe ~zi−1 entre les axes ~xi−1 et x~i . C’est la variable articulaire
dans le cas d’une liaison glissière.
I ri ou (ai ) : la distance selon l’axe x~i entre les axes ~zi−1 et z~i . C’est donc également
la longueur de la perpendiculaire commune ;
I αi : l’angle autour de l’axe x~i entre les axes ~zi−1 et z~i .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 116/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct


La matrice homogène de passage d’un repère à l’autre s’obtient par application suc-
cessive de ces 4 paramètres.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 117/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Ainsi la matrice de passage du repère i − 1 au repère i peut s’exprimer comme suit


en fonction des dimensions du robot :
    
cos(θi ) − sin(θi ) 0 0 1 0 0 0 1 0 0 ri 1 0 0 0
i−1  sin(θ )
i cos(θi ) 0 0 0
 1 0 0  0
 1 0 0  0
 cos(α) − sin(α) 0
H =  
i  0 0 1 0  0 0 1 di  0 0 1 0  0 sin(α) cos(α) 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

 
cos(θi ) − sin(θi ) cos(αi ) sin(θi ) sin(αi ) ri cos(θi )
 sin(θi ) cos(θi ) cos αi − cos(θi ) sin(αi ) ri sin(θi ) 
Hii−1 =
 0

sin(αi ) cos(αi ) di 
0 0 0 1
Par conséquent, le modèle géométrique complet est obtenu par le produit des matrices
homogènes.
HN0 = H10 .H21 . · · · HNN−1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 118/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Pour un robot 6 axes, l’ensemble des valeurs αi (rotation des repères), di et ri


(dimensions du robot) étant fixes, la position du point ne dépend vraiment que des
θi qui sont les angles de rotation des liaisons du robot.

Chaque point P situé au niveau de l’outil (R6 ) peut alors être exprimé dans R0 en
fonction des positions des liaisons du robot.

P/R0 = f (Θ).P/RN
   
XP 0 XP 6
YP 0  YP 6 
 
ZP 0  = H60 (Θ).  
ZP 6 
1 /R 1 /R
0 6

avec Θ = [θ1 θ2 θ3 θ4 θ5 θ6 ]T .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 119/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Exemple avec un SCARA

PR0 = f (q).PR5
   
q1 θ1
q2  θ2 
q =  = 
q3  d3 
q4 θ4

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 120/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi
di
ri
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0
di
ri
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180
di
ri
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0
di
ri
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di
ri
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363
ri
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0
ri
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3
ri
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3 0
ri 300
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3 0
ri 300 260
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3 0
ri 300 260 0
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3 0
ri 300 260 0 0
θi

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3 0
ri 300 260 0 0
θi θ1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3 0
ri 300 260 0 0
θi θ1 θ2

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3 0
ri 300 260 0 0
θi θ1 θ2 0

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

1 2 3 4
αi 0 180 0 0
di 363 0 d3 0
ri 300 260 0 0
θi θ1 θ2 0 θ4

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 121/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Exemple avec un robot anthropomorphe 6 axes

PR0 = f (q).PR6
   
q1 θ1
q2   θ2 
   
q3  θ3
q q4  =  θ4 
=    
   
q5   θ5 
q6 θ6

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 122/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Exemple avec un robot anthropomorphe 6 axes

PR0 = f (q).PR6
   
q1 θ1
q2   θ2 
   
q3  θ3
q q4  =  θ4 
=    
   
q5   θ5 
q6 θ6

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 122/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Exemple avec un robot anthropomorphe 6 axes

PR0 = f (q).PR6
   
q1 θ1
q2   θ2 
   
q3  θ3
q q4  =  θ4 
=    
   
q5   θ5 
q6 θ6

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 122/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Exemple avec un robot anthropomorphe 6 axes

PR0 = f (q).PR6
   
q1 θ1
q2   θ2 
   
q3  θ3
q q4  =  θ4 
=    
   
q5   θ5 
q6 θ6

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 122/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Exemple avec un robot anthropomorphe 6 axes

PR0 = f (q).PR6
   
q1 θ1
q2   θ2 
   
q3  θ3
q q4  =  θ4 
=    
   
q5   θ5 
q6 θ6

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 122/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Exemple avec un robot anthropomorphe 6 axes

PR0 = f (q).PR6
   
q1 θ1
q2   θ2 
   
q3  θ3
q q4  =  θ4 
=    
   
q5   θ5 
q6 θ6

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 122/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

Exemple avec un robot anthropomorphe 6 axes

1 2 3 4 5 6
αi 90 0 90 -90 90 0
di 400 0 0 365 0 80
ri 25 315 35 0 0 0
θi θ1 θ2 θ3 − 90 θ4 θ5 θ6

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 122/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct


0
 −90 
 
0(−90)
Θ = 
 
 0 

 0 
0
 
−1 0 0 −10
 0 −1 0 0 
H60 = 
 
0 0 1 1160
0 0 0 1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 123/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

 
0
 −90 
 
90(−90)
Θ =  

 0 

 90 
0
 
1 0 0 390
0
0 −1 0 0 
H6 = 
0 0 −1

670
0 0 0 1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 124/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique direct

 
0
 −35 
 
85(−90)
Θ = 
 40 

 
 −30 
60
 
−0.33 −0.41 −0.85 612.47
−0.94 0.1 0.32 25.71 
H60 = 
−0.05

0.91 −0.42 290.19
0 0 0 1

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 125/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse


Comme vu précédemment, le modèle géométrique direct permet de calculer les coor-
données d’un point en fonction des coordonnées articulaires.
Lors de la programmation d’un robot, c’est le contraire qui est utile puisque le
programmeur saisie les points qui vont constituer sa trajectoire et le robot doit
pouvoir calculer les positions articulaires nécessaires pour pouvoir atteindre ces
points. Ainsi, le problème est donc cette fois-ci d’exprimer la relation suivante :

q = f −1 (P)

Problèmes
1 Le modèle direct utilise (sauf pour les robots cartésiens) des fonctions trigo-
nométriques (sin et cos) qui sont des fonctions non linéaires. On ne peut donc
pas inverser ”bêtement” le modèle.
2 La solution de l’inversion n’est pas unique (deux angles opposés donnent le même
cosinus) mais le nombre de solutions est fini.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 126/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Méthode générale d’inversion


Soit un robot à N degré de liberté et sa matrice homogène de transformation permet-
tant de passer du repère R0 au repère RP (repère outil) :

HP0 = H10 .H21 . · · · HNN−1 .HPN


 
nx ox ax px
ny oy ay py 
On définit la matrice U = nz oz az pz  la matrice de transformation décrivant

0 0 0 1
l’orientation et la position désirée avec laquelle on va chercher à résoudre l’équation
suivante dont les qi sont les solutions :

U = HP0

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 127/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

La méthode de résolution est itérative pour chaque articulation. Par exemple pour
obtenir q1 on multiplie l’expression précédente par l’inverse de la matrice homogène
de passage du repère R0 à R1 .

(H10 )−1 .U = (H10 )−1 .H10 .H21 . · · · HNN−1 .HPN


H01 .U = H21 . · · · HNN−1 .HPN

La partie gauche de l’égalité n’est fonction que de q1 et la partie droite de q2 · · · qN .


On a donc un système de 12 equations pour identifier q1 . Il faut par conséquent
choisir les plus avantageuses.

Une fois q1 calculé, on procède de la même façon pour q2 .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 128/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

On multiplie l’expression précédente par l’inverse de la matrice homogène de passage


du repère R1 à R2 .

(H21 )−1 .H01 .U = (H21 )−1 .H21 .H32 . · · · HNN−1 .HPN


H12 .H01 .U = H32 . · · · HNN−1 .HPN

La partie gauche de l’égalité n’est fonction que de q2 et la partie droite de q3 · · · qN .


On a donc un système à 12 equations et une inconnue pour identifier q2 .

Et ainsi de suite ....

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 129/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Méthode spécifique aux robots 6 axes à poignet sphérique


Ce type de robot peut être décomposé en 2 parties :

I une partie ”porteur” composée des axes 1, 2 et 3 qui amène le poignet à une
position donnée dépendante de la position désirée ;
I une partie ”poignet” correspondant aux axes 4, 5 et 6 qui forme une liaison
rotule. Cette partie ne s’occupe que de l’orientation du repère.

Cette décomposition est possible car la position de la rotule ne dépend pas des 3
derniers axes.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 130/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

1 - Estimation de θ1 , θ2 , θ3 :

−−→
Estimation de la distance kO0 C k :
−−→ −−→ −→
O0 C /R0 = O0 P /R0 + PC /R0
−−→ −−→ −→
O0 C /R0 = O0 P /R0 + MR0 →RP PC /RP

−−→ −→ −−→
O0 P /R0 , MR0 →RP , et PC /RP sont connus donc on peut estimer O0 C /R0 .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 131/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

On peut utiliser ensuite la méthode générale d’inversion vu précédemment appliquée


aux 3 premières matrices homogènes : U = H30 et en itérant pour trouver successive-
ment θ1 , θ2 , θ3 .

On peut également utiliser un calcul des angles basé sur les formules de trigonométrie.

θ1 = arctan 2(YC , XC )

Dans le cas où XC = YC = 0, c’est à dire


si le poignet se retrouve au dessus de l’axe
z~0 , il y a une infinité de solution et le ro-
bot se retrouve dans une position dite de
singularité de l’épaule.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 132/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

(ZC − L1 )2 + XC2 + YC2 − L22 − L23


 
θ3 = arccos
2L1 L2
p !
(L1 + L2 cos(θ3 )). XC2 + YC2 + (ZC − L1 )L2 sin(θ3 )
θ2 = arccos
1 + L22 sin2 (θ3 )

Les équations mènent à 2 résultats pos-


sibles pour θ2 et θ3 puisque 2 angles op-
posés ont le même cosinus. cela amène à 2
configurations des corps 1 et 2.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 133/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

En prenant en compte θ1 et son opposé, on arrive à 4 combinaisons possibles pour


amener le poignet à la position souhaitée.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 134/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

2 - Estimation de θ4 , θ5 , θ6 :

Les angles θ1 , θ2 et θ3 étant connus, on peut calculer la matrice de passage H30 =


H10 .H21 .H32 . Connaissant l’orientation désirée de RP définie par HP0 , on peut alors
calculer HP3 par la relation :

HP3 = H03 .HP0 = (H30 )−1 .HP0

En résolvant cette égalité, on obtient θ4 , θ5 et θ6 . Si θ5 = 0 (ou θ5 = π, il y a une


infinité de solutions. Nous avons encore ici à faire à une autre singularité appelée
singularité du poignet.

Dans les autres cas, il y a deux solutions pour chaque angle, ce qui couplé avec les
4 solutions possibles pour la partie ”porteur” du robot, amène à 8 solutions pour
atteindre le point souhaité.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 135/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 136/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 137/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 137/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 137/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 137/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 137/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 137/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 137/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 137/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Gestion des choix multiples


Pour éliminer toute incertitude sur l’orientation des axes lors du déroulement du pro-
gramme, il existe des variables permettant de sélectionner une position spécifique sans
ambiguı̈té là ou plusieurs positions d’axes sont possibles pour atteindre le même point.

Chez Kuka, 2 variables sont utilisées : le Status et le Turn.

1 - La variable Turn est constituée de 6 bits dont la valeur détermine le signe de


l’angle :
I Bit x = 0 : angle de l’axe x > 0◦ ;
I Bit x = 1 : angle de l’axe x < 0◦ .

Valeur Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


0 θ6 > 0◦ θ5 > 0◦ θ4 > 0◦ θ3 > 0◦ θ2 > 0◦ θ1 > 0◦
1 θ6 < 0◦ θ5 < 0◦ θ4 < 0◦ θ3 < 0◦ θ2 < 0◦ θ1 < 0◦

Ex : T = 19 = B10011 : les axes 1, 2 et 5 sont négatifs ; les axes 3, 4 et 6 positifs


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 138/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

2 - La variable Status - bit 0 indique la position du poignet / l’axe z~0 .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 139/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

La variable Status - bit 2 indique la


configuration du poignet souhaitée.

La variable Status - bit 1 indique la confi-


guration du bras souhaitée.
I le bit 1 vaut 0 → θ3 < 0◦ ;
I le bit 1 vaut 1 → θ3 > 0◦ .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 140/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Exemple de Status et de Turn

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 141/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Modèles géométriques d’un robot

Modèle géométrique inverse

Les singularités

Singularité de poignet :
θ5 = 0 (ou π), les axes 4 et Singularité du coude :
6 sont alignés. Il y a une l’extension des axes 2 et 3
infinité de solutions pour θ4 coupe le point central du
Singularité d’épaule : et θ6 . poignet.
infinité de solution pour θ1 .

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 142/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Les repères chez les constructeurs

Plan

IV - Géométrie des robots


1 - Rappels de géométrie
2 - Repérage d’un solide dans l’espace
3 - Modèles géométriques d’un robot
4 - Les repères chez les constructeurs

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 143/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Les repères chez les constructeurs

Comme expliqué plus haut le principe de déplacement est de déplacer l’outil par
rapport à une base. On va donc retrouver chez tous les constructeurs les mêmes
principes :
I une base universelle qui correspond souvent (mais pas toujours) à la base du
robot ;
I des bases de travail dont le paramétrage est laissé à l’utilisateur : UFRAME (User
Frame) ;
I des repères outils pour chacun des outils utilisés dont le centre est à paramétrer
par l’utilisateur : UTOOLS (User Tools).

Sans présence d’outils, le robot considère sa bride d’axe 6 comme son outil. Le repère
associé à la bride est toujours ”Z sortant”. Lorsque l’on rajoute un outil, le repère
associé à l’outil est centré sur le CDO (Centre D’Outil) et est toujours ”X sortant”.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 144/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Les repères chez les constructeurs

Repère de base : Wobj0


Repère de base : WorldFrame

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 145/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Les repères chez les constructeurs

Repère de base : World Repère de base : World

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 146/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Les repères chez les constructeurs

Le nombre de repères de tra-


vail et de repères outils dépend
également du constructeur.

Chez Kuka, on dispose de 32 bases


et de 16 outils.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 147/258
Département Génie Electrique et informatique Industrielle
Géométrie des robots Les repères chez les constructeurs

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 148/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Plan

V - Cinématique des robots


1 - Modèles cinématiques
2 - Lois de commande des robots
3 - Trajectoires

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 149/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Sachant maintenant calculer les coordonnées d’un point de l’outil en fonction de la


position des axes et vice-versa, il faut alors s’intéresser à la manière dont le robot va
se mettre en mouvement pour pouvoir amener son outil d’un point à un autre point
en fonction d’une trajectoire.
Par conséquent, il faut définir les relations qui lient la vitesse linéaire du point de
l’outil (et la vitesse de rotation du repère outil) aux vitesses articulaires.
Comme pour les modèles géométriques, on dispose de 2 modèles :
I Modèle cinématique direct : qui va exprimer les vitesses de translation et de
rotation de l’outil en fonction de la position et des vitesses des articulations ;
I Modèle cinématique inverse : qui va calculer les vitesses articulaires nécessaires
pour atteindre les vitesses souhaitées de l’outil.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 150/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Modèle cinématique direct

Le modèle cinématique directe (MCD) exprime la relation liant les vitesses de trans-
lation et de rotation de l’outil aux positions et aux vitesses articulaires.

La vitesse étant la dérivée de la position, la relation peut donc s’exprimer comme


suit :

Ṗ = g (q, q̇)
   
  q1 q̇1
vP  q2   q̇2 
= g   ,  
ωP .. ..
.q .q̇ N N

 T
où vP = vx vy vz sont les vitesses linéaires du point P en m/s et ωP =
 T
ωx ωy ωz les vitesse angulaires en rad/s.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 151/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Modèle cinématique direct

Au contraire du modèle géométrique, qui correspond à une relation non linéaire entre
P et q, le modèle cinématique correspond à une relation linéaire entre Ṗ et q̇.

Le modèle cinématique direct peut s’écrire sous la forme :

Ṗ = J(q).q̇

La matrice J(q) est nommée matrice jacobienne ou simplement jacobien du robot.


Cette matrice est de dimension (d × N), où d est le nombre de degrés de liberté du
robot et N le nombre d’axes.
N.B : Toutes les formules sont exprimées par rapport à (R0 ).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 152/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Modèle cinématique direct

M’sieur c’est quoi un jacobien ? ? ?


Supposons la relation y = f (x) où y et x sont des vecteurs à n dimensions et f (x)
un groupe de n fonctions différentes. On peut alors écrire :
 
f1 (x) y1 = f1 (x1, x2, · · · , xn )
2 = f2 (x1, x2, · · · , xn )
f2 (x) y
y = .  ou
 
. ..
 .  .
fn (x) yn = fn (x1, x2, · · · , xn )

Le jacobien de ce système y = f (x) est la matrice constituée des dérivées partielles


de celui-ci.  ∂y1 ∂y1 
∂x1 · · · ∂x n

J(x1, x2, · · · , xn ) =  ... .. .. 



. . 
∂yn ∂yn
∂x1 ··· ∂xn

Le jacobien permet donc de déterminer la variation du vecteur y en fonction d’un


vecteur x donné, étant donné les équations f .
Eric TERNISIEN
IUT de Saint Dié-des-Vosges 153/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Modèle cinématique direct


JL,i représente la contribution
   
  q1 q̇1 de l’articulation i à la vitesse
vP  q2   q̇2  linéaire vP et JA,i la contribution
= g   ,  
ωP .. .. de l’articulation i à la vitesse
.qN .q̇N angulaire ωP .
 
vx  
 vy  q̇1 Leurs valeurs dépendent du type
     q̇ 
 vz 
  = J L,1 J L,2 · · · J L,N 2 d’articulation :
. . 
 
 ωx 
  J A,1 J A,2 · · · J A,N .
 .  I articulation prismatique :
ωy 
q̇N JL,i 6= Ø et JA,i = Ø ;
ωz
    I articulation rotoı̈de : JL,i 6= Ø
vP JL,1 .q̇1 + JL,2 .q̇2 + · · · + JL,N .q̇N et JA,i 6= Ø puisque la rota-
=
ωP JA,1 .q̇1 + JA,2 .q̇2 + · · · + JA,N .q̇N tion d’un axe entraı̂ne une vi-
tesse linéaire (~v = ω
~ .~r ).
On peut déduire ces valeurs des matrices homogènes et donc des dimensions du robot
(Denavit-Hartenberg) ainsi que des positions des articulations (Θ pour un robot 6
axes).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 154/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Modèle cinématique inverse

On appelle modèle cinématique inverse (MCI), l’application inverse de la précédente,


donnant la variation des laisions articulaires q̇ en fonction des variations du centre
d’outil Ṗ, soit :

q̇ = [J(q)]−1 Ṗ

Ce modèle est calculable à condition que J(q) soit inversible. En fonction des va-
leurs de q, cette condition peut être toujours vérifiée, jamais vérifiée, ou encore non
vérifiée sur quelques points seulement, correspondant aux singularités évoquées dans
le chapitre précédent.
Ces singularités correspondent à des valeurs très faibles du jacobien qui vont engendrer
lors de l’inversion des imprécisions numériques qui vont se traduire par des trajectoires
non-souhaitées ou des points non-atteignables.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 155/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Difficultés

La difficulté de ces 2 modèles est que comme l’indique les formules, le jacobien dépend
de la position des articulations. Il n’est donc pas constant et quand une vitesse est
appliquée aux articulations (ou au centre d’outil dans le cas inverse), automatiquement
la position des axes changent (au sens cartésien et angulaire) et le centre d’outil s’en
trouve déplacé.
La solution au problème est donc de procéder par petites étapes. En d’autres termes on
progressera le long de la trajectoire sur plusieurs itérations. On procède donc comme
suit :

tant que Point final non-atteint faire


1 - Construction d’un jacobien pour l’état courant du système
2 - Définition d’une vitesse linéaire correspondant à une fraction du parcours
3 - Multiplication de l’inverse du jacobien avec la vitesse linéaire pour trouver les
variations de vitesse articulaires.
4 - Application des variations aux articulations et génération d’un nouvel état du
système.
fin

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 156/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Modèles dynamiques

Le mouvement des robots ne se faisant pas à vitesse constante, il y a nécessairement


des phases d’accélération et de décélération. Les équations qui gèrent les accélérations
sont les équations de la dynamique.
Ainsi, la modélisation dynamique consiste à établir les relations entre les efforts des ac-
tionneurs et les mouvements qui en découlent, autrement dit, à expliciter les équations
différentielles du second ordre que sont les équations du mouvement. On a donc une
nouvelle fois affaire à 2 modèles :
I Modèle dynamique direct : qui calcule des accélérations produites par des
efforts donnés (couples), avec une expression matricielle du type : q̈ = F (q, q̇, Γ) ;
I Modèle dynamique inverse : qui connaissant le mouvement (positions, vitesses,
accélérations), permet de calculer les efforts Γ = F (q, q̇, q̈) qui en seront la cause,
et de donner cette consigne aux variateurs.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 157/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Modèles cinématiques

Modèles dynamiques

Le modèle dynamique inverse utile pour calculer les couples à fixer sur chaque moteur
peut s’exprimer comme dans l’expression suivante. On voit clairement la difficulté
d’estimation et le fait de disposer de bonnes ressources calculatoires pour calculer
tous ces termes.

Γm = D(q)q̈ + C (q, q̇) + Q(q) + Γf (q, q̇)

où D(q)q̈ représente la contribution inertielle, C (q, q̇) les contributions centrifuges et
de Coriolis, Q(q) la contribution de la gravité, Γf (q, q̇) les couples de frottements.

Ces aspects sont abordées beaucoup plus en détail dans le module SCCA1 :
Commande d’axes.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 158/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Lois de commande des robots

Plan

V - Cinématique des robots


1 - Modèles cinématiques
2 - Lois de commande des robots
3 - Trajectoires

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 159/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Lois de commande des robots

L’objectif d’une commande en boucle fermée d’un système physique est d’atteindre
une consigne désirée et de rester le plus proche possible de cette dernière. Le schéma
classique d’une telle commande boucle fermée est le suivant :

Le réglage correspond à l’exécution de l’algorithme qui utilise les informations de


mesure et de consigne afin de garantir à la position de suivre la consigne désirée
(idem pour la vitesse).
Cet algorithme de réglage peut être géré par un contrôleur, un régulateur, un auto-
mate...
Le contrôle va s’exercer sur la position, la vitesse et l’accélération d’un axe.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 160/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Lois de commande des robots

Contrôleurs classiques : P, PD, PID


Les contrôleurs P, PD, PI et PID sont les contrôleurs les plus classiques utilisés
pour la commande d’un robot. Ces contrôleurs sont composés des contributions
proportionnelle, dérivative et intégrale de l’erreur sur la position.

Pour rappel, l’effet de ces contributions sont :


I lorsque KP augmente, le système répond plus rapidement, le temps de montée
est plus court et l’erreur statique est réduite, mais il provoque un dépassement
plus important.
I lorsque Ki l’erreur statique s’annule et plus sa valeur augmente, plus la valeur
finale sera atteinte rapidement (si pas d’oscillations).
I lorsque Kd augmente, le temps de montée diminue (la réponse du système est
plus rapide) et le dépassement diminue ce qui améliore la stabilité.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 161/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Lois de commande des robots

Bien évidemment, chaque constructeur adapte et enrichit ces modèles de base afin de
garantir la meilleure réponse possible du système. Les lois de commande sont souvent
bien plus complexes que cela.

Tous ces aspects sont abordées beaucoup plus en détail dans le module TREG :
Technique de régulation.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 162/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Lois de commande des robots

Boucles de régulation

Une technique très utilisée pour la commande d’axe est la technique de commande
de position cascadée avec une commande en vitesse.

On peut donc utiliser ce type de commande de manière indépendante pour chaque


axe sans tenir compte des couplages dynamiques et de l’influence de la posture sur
l’inertie. Le couple moteur de chaque axe peut alors être calculé par un contrôleur
dédié.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 163/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Lois de commande des robots

Boucles de régulation

Le comportement d’un robot est en réalité fortement non-linéaire, dépendant de la


posture et à couplage dynamique (le mouvement d’un axe influe sur celui des autres
axes). La commande individuelle des axes peut générer des différences de comporte-
ment importantes.

Par conséquent, pour améliorer cette boucle deux a priori peuvent être ajoutés : l’a
priori de vitesse et l’a priori du couple. Ceci donne le schéma de commande suivant :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 164/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Lois de commande des robots

Boucles de régulation
Le couple a priori est le couple calculé grâce au modèle du couple dynamique inverse
en fonction des trajectoires désirées (positions, vitesses et accélérations). Si le modèle
est parfait (pas d’erreurs de modélisation), le pilotage du robot avec cet a priori
impliquera de retrouver exactement les trajectoires désirées (ie : qr = qd ).

Ce calcul se fait à l’aide du modèle dynamique inverse du transparent 159. L’ensemble


du vecteur Γm est calculé par rapport au robot (tous les axes).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 165/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Plan

V - Cinématique des robots


1 - Modèles cinématiques
2 - Lois de commande des robots
3 - Trajectoires

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 166/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires

La génération des trajectoires d’un robot s’intéresse aux formes des trajectoires qui
relient deux points de l’espace ainsi qu’à la manière dont évolue la vitesse durant le
trajet de l’outil.

La génération de trajectoires possède deux aspects :


I l’aspect géométrique concerne les formes du trajet (géométrie de la trajectoire) ;
I l’aspect temporel concerne l’évolution de l’accélération, de la vitesse et de la
position dans le temps. Ces évolutions suivent des profils définis par les lois de
commande.

Ces deux aspects ne sont pas indépendants car toute erreur spatiale (géométrique)
induit une erreur temporelle et vice-versa. Les formes des trajets sont très importantes
et les profils temporels doivent être bien choisis afin de ne pas accélérer ni décélérer
n’importe où sur ces trajets.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 167/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires

1 - Aspect géométrique
Une notion très importante dans la génération des trajectoires des robots est celle de
la transformation de coordonnées du robot. Cette transformation est la relation qui
lie l’espace articulaire à celui de l’outil du robot.

Le trajet du robot est toujours défini dans son es-


pace outil (espace tâche ou espace opérationnel) et
le réglage des moteurs est toujours effectué dans
son espace articulaire.

Néanmoins, la seule information dont dispose le ro-


bot est l’état de ces capteurs articulaires avec les-
quels il doit estimer la position de l’outil dans l’es-
pace opérationnel.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 168/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires

On va donc retrouver ces modèles dans la boucle de régulation générale.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 169/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires

2 - Aspect temporel

Dans ce domaine, on utilise des profils qui


définissent les courbe en fonction du temps
de la position, vitesse ou accélération.
On parle souvent de profil de vitesse et
de profil d’accélération car le profil de
position se déduit automatiquement de
celui de la vitesse par intégration.

Le profil le plus connu et le plus utilisé est


le profil trapézoı̈dal en vitesse (appelé aussi
Bang-Bang en accélération et parabolique
en position).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 170/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires

Malheureusement, ce profil implique une


sollicitation trop brutale de la mécanique
à cause des sauts d’accélérations (donc
du couple moteur). Pour éviter cela, il
suffit de lisser la montée en accélération
en rajoutant une phase de jerk (Le jerk
est la dérivée de l’accélération).

Ce nouveau profil est régi par une loi à


accélération trapézoı̈dale, donc plus lisse
pour la mécanique (appelé également pa-
rabolique en vitesse) :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 171/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires
Synchronisation des axes
Lors de la trajectoire, la coopération des axes pour amener l’outil d’un point A à un
point B pourraient se faire de 3 façons :
I en mode axe par axe ;
I en mode indépendant, i.e. chaque axe selon sa dynamique propre ;
I en mode synchronisé.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 172/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires

La synchronisation des axes permet de régler l’ensemble des axes sur l’axe le plus lent
et ainsi de moins solliciter les actionneurs sans dégrader le temps de déplacement de
l’outil d’un point au suivant.

Cela consiste à ralentir les axes les


plus rapides pour qu’ils terminent
leur mouvement en même temps
que le plus lent.

On parle alors d’axe menant.


La vitesse spécifiée dans le pro-
gramme concernera cet axe. Les
autres s’adapteront.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 173/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires

Lissage de trajectoires
Le lissage de trajectoire permet d’optimiser la trajectoire au niveau du temps et du
parcours en n’arrêtant pas le robot à chaque point de passage.

Si une trajectoire est non-lissée,


le robot va ”marquer le pas” à
chaque point atteint en décélérant
au maximum et en ré-accélérant
jusqu’au prochain palier de vi-
tesse.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 174/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Génération de trajectoires

Une trajectoire lissée va permettre au robot de passer proche des points en suivant
une trajectoire en arc de cercle sans marquer l’arrêt car ces points ne sont pas des
points terminaux. Au niveau des profils de vitesse, il y aura juste un ralentissement.

La trajectoire est ainsi optimisée


et les moteurs du robot moins
sollicités.

Si le roboticien fait le choix d’une


trajectoire lissée, il faut juste
préciser le rayon de lissage qui
correspond au rayon d’un cercle
dont le centre est calculé par le
générateur de trajectoires.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 175/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Type de trajectoires

Les trajectoires possibles pour l’ensemble des robots (quelque soit le constructeur)
sont de 3 types différents :
I Point à point (Point To Point) : le CDO (centre d’outil) est déplacé suivant
le chemin le plus rapide jusqu’au point d’arrivée ;
I Linéaire : le CDO est déplacé le long d’une ligne droite à une vitesse définie ;
I Circulaire : le CDO est déplacé le long d’un arc de cercle à une vitesse définie.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 176/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Type de trajectoires
Mouvement PTP (ou Joint)
C’est un mouvement articulaire. Il permet de déplacer le robot rapidement d’un point
à un autre lorsqu’il n’est pas nécessaire que ce déplacement se fasse en ligne droite.
Le robot se déplace le long d’une trajectoire non linéaire.

Chaque axe est déplacé selon une vitesse d’axe constante et tous les axes atteignent
la destination en même temps.

Instructions de programmation
par constructeur
PTP
MoveJ

J
movej

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 177/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Type de trajectoires

Bon nombre de paramètres sont disponibles pour paramétrer le mouvement. On re-


trouve à peu près les mêmes chez tous les constructeurs mais bien sûr avec des noms
différents.
I la vitesse du mouvement. Elle s’exprime toujours en % ;
I le réglage de la distance de lissage ;
I l’outil utilisé pendant le mouvement ;
I la base utilisée pour le mouvement ;
I l’accélération ;
D’autres paramètres optionnels sont possibles en fonction du constructeur.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 178/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Type de trajectoires

Mouvement linéaire
C’est un mouvement cartésien. Il permet de déplacer l’outil du robot d’un point à un
autre, en gardant le CDO le long d’une trajectoire linéaire.

Instructions de
programmation par
constructeur
LIN
MoveL

L
movel

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 179/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Type de trajectoires
On retrouve les mêmes paramètres que précédemment mais bien sûr avec des noms
différents en fonction du constructeur.
I la vitesse du mouvement. Elle s’exprime toujours en m/s (ou mm/s) ;
I le réglage de la distance de lissage ;
I l’outil utilisé pendant le mouvement ;
I la base utilisée pour le mouvement ;
I l’accélération ;
Chez Kuka, un paramètre supplémentaire existe ($ORI_TYPE) pour indiquer l’orien-
tation de l’outil entre le point de départ et le point d’arrivée.

Orientation constante
Orientation standard ou PTP manuel
Eric TERNISIEN
IUT de Saint Dié-des-Vosges 180/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Type de trajectoires

Mouvement circulaire
C’est un mouvement cartésien. Le CDO bouge jusqu’au point de destination le long
d’un arc de cercle. Le chemin est défini en utilisant un point de départ, un point de
passage et un point de destination.

Instructions de
programmation par
constructeur
CIRC
MoveC

C
movec

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 181/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Type de trajectoires

Les paramètres supplémentaires sont identiques au mouvement linéaire.

Chez Kuka, deux paramètres supplémentaires existent ($ORI_TYPE et $CIRC_TYPE)


pour indiquer l’orientation de l’outil entre le point de départ et le point d’arrivée.
L’équivalent chez ABB est CirPathMode.

Orientation constante / trajectoire


Orientation standard / trajectoire

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 182/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Type de trajectoires

Orientation constante / base


Orientation standard / base

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 183/258
Département Génie Electrique et informatique Industrielle
Cinématique des robots Trajectoires

Avance aux calculs

Pour suivre efficacement une trajectoire, le robot doit connaı̂tre quelques points de
cette trajectoire à l’avance afin de pouvoir garder la fluidité du déplacement et de
pouvoir calculer les lissages.

Pour pouvoir gérer cela, il existe un pointeur d’avance au calcul, différent de celui
d’exécution qui lui correspond à la ligne exécutée à l’instant t.

Ces pointeurs seront abordés de manière plus détaillée dans la partie programmation.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 184/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Modes de programmation et langages

Plan

VI - Programmation des robots


1 - Modes de programmation et langages
2 - Programmation des robots KUKA
3 - Exécution des programmes
4 - Fonctionnement du robot en mode automatique externe

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 185/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Modes de programmation et langages

Il existe 2 modes de programmation qui ne sont pas


concurrents mais complémentaires :
I Le mode en ligne (ou apprentisage) ;
I Le mode hors-ligne.

La programmation complète du robot se fait par


des allers-retours entre ces 2 modes.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 186/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Modes de programmation et langages

Programmation en ligne
La programmation en ligne se fait à l’aide du teach pendant (nom différent en
fonction du constructeur).

Ce mode programmation (appelé aussi mode apprentissage) permet de réaliser les


opérations indispensables à toute création de programme :
I les mesures de bases et d’outils ;
I les prises de points qui vont constituer la trajectoire du robot ;
I la programmation (fastidieux !) mais surtout la modification de programme ou
de points pour affiner les trajectoires ;
I le lancement des programmes, l’archivage, ...

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 187/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Modes de programmation et langages

Programmation hors-ligne
La programmation hors-ligne consiste à réaliser, tester et programmer les mouvements
du robot en simulation (CAO robotique) et, une fois cette étape terminée, à charger
le programme directement dans l’armoire de commande du robot réel.

L’énorme avantage est que le temps passé sur le site s’en trouve fortement réduit.

La contrainte essentielle est de disposer d’un modèle du robot et de son environ-


nement (plan de la cellule) aussi précis que possible. Dans la réalité, les points
des trajectoires, des bases et les CDO sont très souvent à reprendre en ligne.

Certains constructeurs proposent


également des logiciels de pro-
grammation en ligne sans la par-
tie simulation (ex : WorkVisual de
Kuka).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 188/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Modes de programmation et langages

Les langages

Désolé ...
Il n’existe pas un langage de programmation universel pour la robotique ! ! ! Chaque
fabricant de robots a son propre langage et son environnement de développement.

Mais ....
I Les principes de la programmation restent les mêmes ;
I Les langages de programmation sont assez proches et certaines instructions sont
mêmes identiques ;
I Les fonctionnalités proposées sont globalement les mêmes ;
I Les logiciels de simulation hors-ligne proposent les mêmes fonctionnalités. Il y a
même des logiciels hors constructeurs qui sont multi-robots.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 189/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Modes de programmation et langages

Les langages

Du coup qu’est-ce qui change ? ? ?


I L’environnement de travail (et c’est pas rien ! ! !) ;
I La gestion des programmes ;
I La gestion et les types de variables ;
I La manipulation du robot.

Il n’y a pas de meilleurs robots ou constructeurs que d’autres (même si certains sont
meilleurs pour certaines applications). Ce sont des affinités sur une marque ou sur un
environnement de travail qui font la différence mais c’est subjectif.

Ne soyez pas fermé ! ! ! De toute façon vous aurez rarement le choix du constructeur.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 190/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Modes de programmation et langages

Les langages

I Langage : RAPID I Langage : KAREL


I Logiciel de simulation : RobotStudio I Logiciel de simulation : RoboGuide

I Langage : KRL I Langage : VAL3


I Logiciel de simulation : KukaSim I Logiciel de simulation : Robotics Suite

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 191/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Plan

VI - Programmation des robots


1 - Modes de programmation et langages
2 - Programmation des robots KUKA
3 - Exécution des programmes
4 - Fonctionnement du robot en mode automatique externe

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 192/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

quelques points à préciser


1 A partir de maintenant, tout ce qui sera présenté sera uni-
quement valable pour les robots de marque KUKA.
2 Comme évoqué précédemment, beaucoup de principes sont identiques chez les
autres constructeurs.
3 Uniquement la partie programmation sera présentée. La partie simulation sera
présentée en TP car il est très difficile de faire un cours de manipulation sur un
logiciel sans pratique.
4 La programmation sera présentée dans les contextes en ligne / hors ligne car les
2 sont identiques.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 193/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Les types de données sont organisés de la manière suivante :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 194/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données


Données de type simple
Type de
Entier Réel Booléen Caractère
données
Mot clé INT REAL BOOL CHAR
Nombre à
Signification Entier virgule Etat logique 1 caractère
flottante
Plage de −231 · · · − ±1.1e −38 · · ·± TRUE / Caractère
valeurs 231 − 1 3.4e 38 FALSE ASCII
Exemple 32 1.22547 TRUE ”D”

Déclaration : Les déclaration de variables ont toujours la syntaxe suivante :

DECL Type_Donnees Nom_Variable

Les déclarations de variables se font toujours avant la section de programme


INI.
Eric TERNISIEN
IUT de Saint Dié-des-Vosges 195/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 196/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Les structures
I Une structure est une combinaison de données de types différents ;
I La création d’un type structure correspond à la création d’un nouveau type de
données ;
I Les variables contenues dans la structure sont appelés des champs ;
I Une structure peut être initialisé par un agrégat ({...}) contenant tous les champs
ou pas ;
I Une structure peut être composée de structures.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 197/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Voici quelques structures déjà existantes dans le langage KRL :


I STRUC AXIS REAL A1,A2,A3,A4,A5,A6
I STRUC E6AXIS REAL A1,A2,A3,A4,A5,A6,E1,E2,E3,E4,E5,E6
I STRUC FRAME REAL X,Y,Z,A,B,C
I STRUC POS REAL X,Y,Z,A,B,C INT S,T
I STRUC E6POS REAL X,Y,Z,A,B,C,E1,E2,E3,E4,E5,E6 INT S,T
Elles servent à définir une position d’axes, de point ou de repère.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 198/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Les énumérations
I Ce type de données est composé d’une quantité limitée de constantes ;
I Ces constantes sont des noms libres définies par le programmeur ;
I L’affectation de valeur d’une constante est toujours effectée avec le symbole #.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 199/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Les tableaux
Un tableau est le moyen de rassembler dans une même variable des données de
type identiques. Il existe des tableaux à 1, 2 ou 3 dimensions

Déclaration : La déclaration et l’utilisation d’un tableau se fait de la manière sui-


vante :

DECL Type_Donnees Nom_Variable[Nombre_Elements_Du_Tableau]

Nom_Variable[index] = valeur

Attention
La numérotation des cases commence à 1 ! ! ! ! ! !

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 200/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Les tableaux

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 201/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Portée des variables


La portée des variables est la suivante en fonction de l’endroit où elles sont déclarées :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 202/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Durée de vie des variables


La variables sont persistantes si elle ont été définies dans un fichier DAT

Nom des variables en KRL


Les règles à respecter pour les noms de variables sont les suivantes :

I la longueur maximale est de 24 caractères ;


I ils peuvent contenir des lettres, des chiffres et des ’ ’ ;
I ils ne doivent pas commencer par un chiffre ni un $ ;
I ils ne doivent pas commencer par un mot clé.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 203/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Les variables systèmes


Il existe 317 variables systèmes prédéfinies et déclarées dans des fichiers systèmes.
Ces fichiers systèmes ne peuvent ni être créer ni être effacés.

I $[Link] : contient les paramètres machines du robot ;


I $[Link] : contient des paramètres optionnels ;
I $[Link] : contient les données globales ;
I $[Link] : contient les données spécifiques au robot.

Ces variables systèmes renseignent sur l’état et la configuration du robot. Elles sont
en RO ou en RW en fonction de leur sensibilité.

Toutes ces variables commencent par le caractère $.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 204/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les variables et types de données

Quelques variables systèmes


I $ADVANCE : gère l’avance au calcul ;
I $ACT_BASE : numéro de la base utilisée ;
I $ACT_TOOL : numéro de l’outil utilisé ;
I $AXIS_ACT : renseigne sur la valeur actuelle des axes du robot ;
I $DRIVES_ENABLE : autorise ou non la mise en puissance des variateurs ;
I $PAL_MODE : robot en mode palletisation (axe 4 bloqué à 0◦ et axe 6 // au sol) ;
I $POS_ACT : position cartésienne actuelle du CDO ;
I $MOVE_ENABLE : autorise la mise en mouvement du robot ;
I ....

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 205/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les opérateurs
Les opérateurs arithmétiques
Fonctionnent avec des entiers et de rééls.
Opérateur Description
+ Addition
- Soustraction ou signe négatif
* Multiplication
/ Division

Les opérateurs logiques


Utilisés sur des variables booléennes ou des résultats logiques simples.

Opérateur nombre d’opérandes Description


NOT 1 Inversion
AND 2 ET logique
OR 2 OU logique
EXOR 2 OU exclusif
Eric TERNISIEN
IUT de Saint Dié-des-Vosges 206/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les opérateurs

Les opérateurs sur champs de bits


Utilisés pour faire des opérations sur chaque bit d’un entier (masquage par exemple).

Opérateur nombre d’opérandes Description


B\_NOT 1 Complément à 2
B\_AND 2 ET logique bit à bit
B\_OR 2 OU logique bit à bit
B\_EXOR 2 OU exclusif bit à bit

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 207/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les opérateurs

Les opérateurs de comparaison


Le résultat d’une comparaison est toujours de type BOOL.

Opérateur Description Type de donnés permises


== égal à INT, REAL, CHAR, ENUM, BOOL
<> différent de INT, REAL, CHAR, ENUM, BOOL
> plus grand que INT, REAL, CHAR, ENUM
< plus petit que INT, REAL, CHAR, ENUM
>= supérieur ou égal à INT, REAL, CHAR, ENUM
<= inférieur ou égal à INT, REAL, CHAR, ENUM

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 208/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les opérateurs

Les fonctions mathématiques


Ne fonctionnent que sur des types numériques

Fonction Description
ABS(X) Valeur absolue
SQRT(X) Racine carrée
SIN(X) Sinus
COS(X) Cosinus
TAN(X) Tangente
ACOS(X) Arc cosinus
ATAN2(X,Y) Arc tangente

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 209/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les opérateurs

L’opérateur arithmétique
L’opérateur arithmétique est un outil très pratique et puissant. Il permet de décaler
un repère ou un point pour créer une nouvelle base ou un nouveau point.

Exemple

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 210/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les opérateurs

Opérande de gauche Opérande de droite Type du résultat


POS : POS POS
POS : FRAME FRAME
FRAME : POS POS
FRAME : FRAME FRAME

Le résultat est toujours de type de l’opérateur de droite.

Décalage en linéaire de l’outil de -100 en x et rotation de 15◦ autour de z par rapport


à la position actuelle :

LIN $POS_ACT:{x -100,y 0,z 0,a 15,b 0,c 0}

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 211/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les instructions

IF-THEN-ELSE

IF condition THEN
instructions si condition vraie
ELSE
instructions si condition fausse
ENDIF

Le ELSE n’est pas obligatoire. On ne l’utilise que si besoin.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 212/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les instructions

SWITCH-CASE

SWITCH variable
CASE a
instructions si la variable vaut le contenu de a
CASE b
instructions si la variable vaut le contenu de b
DEFAULT
instructions si la variable ne vaut ni le contenu de b
ni celui de a
ENDSWITCH

La variable peut être de type INT, ENUM ou CHAR.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 213/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les instructions

FOR

FOR compteur=début TO fin STEP incrément


instructions
ENDFOR

WHILE

WHILE condition
instructions
ENDWHILE

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 214/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les instructions

REPEAT ... UNTIL

REPEAT
instructions
UNTIL condition

C’est l’équivalent du do ... while en C.

LOOP

LOOP
instructions
ENDLOOP

C’est une boucle infinie. Elle ne peut être quittée que grâce à l’instruction EXIT.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 215/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les instructions

WAIT FOR

WAIT FOR condition

I Si la condition est vraie avant le test, le programme n’est pas arrêté mais l’avance
au calcul est quand même bloqué ;
I Si la condition est fausse, le programme s’arrête jusqu’à ce qu’elle devienne vraie.

WAIT SEC

WAIT SEC temps

Le temps est une variable réelle qui peut être calculée (ex : WAIT SEC val*0.2+4.5).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 216/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les instructions

HALT

HALT

Cette instruction stoppe les programmes. Ils peuvent être redémarrés en appuyant sur
Start.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 217/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Organisation des programmes

I Les programmes sont écrits dans des fichiers appelés modules. Ces modules
possèdent l’extension .src. L’icone associée à ces modules est : .
I A chaque nouveau module est associé un fichier de données. Ces fichiers
possèdent l’extension .dat. L’icone associée à ces modules est : .
I Le module contient le code à exécuter.
I Le fichier DAT contient les données liées au programme comme par exemple
les points de la trajectoire.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 218/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Organisation des programmes

Structure d’un programme (fichier SRC)


La structure d’un programme se présente la manière suivante :

Chaque programme commence et se termine par l’instruction PTP HOME pour que le
robot parte de sa position par défaut et y retourne à la fin.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 219/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Organisation des programmes

MEGA Attention ! ! ! !
La position HOME est la position par défaut du robot. Si on la change elle est
changée pour tous les programmes.

Il existe en plus du HOME 5 positions (HOME1 à HOME5) avec lesquelles vous pouvez
jongler pour partir de plusieurs positions.

Les variables système $IN_HOME et $IN_HOME1 ... $IN_HOME5 permettent de savoir


si le robot est en position HOME.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 220/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Organisation des programmes

Structure d’un fichier de données (fichier DAT)

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 221/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Sous-programmes et fonctions

Pourquoi ?
I Les sous-programmes réduisent le nombre de ligne de code ;
I Les sous-programmes réduisent la longueur du programme, il est donc plus lisible ;
I Les sous-programmes peuvent être réutilisés autant de fois que vous voulez ;
I Les sous-programmes permettent de structurer un programme, ce qui simplifie
la maintenance du code et le debugage.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 222/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Sous-programmes et fonctions

Sous-programmes locaux
I Un fichier KRL peut contenir jusqu’à 255 sous-programmes locaux ;
I Le nombre maximum d’imbrications de sous-programmes est de 20 ;
I Les sous-programmes locaux sont situés dans le même fichier SRC que le pro-
gramme principal, positionnés après ce dernier et définis au moyen des lignes DEF
et END ;
I Les coordonnés des points enregistrées dans le fichier DAT sont accessibles aux
sous-programmes locaux ;
I Une fois le sous-programme terminé, le pointeur d’exécution revient à la ligne
qui suit l’appel du sous-programme

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 223/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Sous-programmes et fonctions

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 224/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Sous-programmes et fonctions

Sous-programmes globaux
I Les sous-programmes globaux sont des fichiers SRC classiques qui ont chacun un
fichier DAT associé ;
I Les variables déclarées dans un sous-programme global ne sont pas connues du
programme principal et vice-versa ;
I Par conséquent, on peut avoir des points et des variables ayant le même
nom dans chaque sous-programme. C’est différent du cas précédent ;
I Un sous-programme global peut servir dans des tas d’autres programmes sans
avoir de code à copier.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 225/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Sous-programmes et fonctions

L’instruction RETURN permet de quitter prématurément l’exécution d’un sous-


programme et force le système à revenir au programme appelant.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 226/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Sous-programmes et fonctions
Comme les variables ne sont pas partagées entre programme et sous-programmes
globaux, comment peut’on travailler avec des variables communes ?

=⇒ TRANSFERT DE PARAMETRES

Deux types de passage de paramètres sont pos-


sibles :

I paramètre IN : la valeur de la variable passée


reste inchangée lors du retour dans le pro-
gramme principal → passage par valeur ;
Iparamètre OUT : la valeur de la variable passée
peut changer lors du retour dans le programme
principal si le sous-programme l’a modifiée →
passage par adresse ;
N.B. : Les tableaux ne peuvent être passés en pa-
ramètres que par adresse.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 227/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Sous-programmes et fonctions
Fonctions
Si on veut que le sous-programme global renvoie une valeur au programme appelant,
à ce moment ce sous-programme devient une fonction. La déclaration est alors un
peu différente :

DEFFECT Type_De_Retour Nom_Fonction(Paramètres)


...
RETURN(valeur)
ENDFCT

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 228/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Programmation d’une trajectoire


Comme expliqué plus haut, il est recommandé de prendre les points de la trajectoire
à l’aide du smartPad car ils seront plus précis qu’une estimation faite hors-ligne.
Pour cela, on se place sur le point d’arrivée du mouvement et on ajoute un nouveau
déplacement qui liera le point précédent au point courant.
1 Mouvement PTP : le formulaire à remplir est le suivant :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 229/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Programmation d’une trajectoire

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 230/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Programmation d’une trajectoire

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 231/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Programmation d’une trajectoire

Le résultat après validation est celui :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 232/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Programmation d’une trajectoire

2 Mouvement LIN : le formulaire à remplir est le suivant :

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 233/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Programmation d’une trajectoire

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 234/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Programmation d’une trajectoire

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 235/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Programmation d’une trajectoire


3 Mouvement CIRC : le formulaire à remplir est le suivant :

Les autres paramètres sont identiques au mouvement LIN.


Eric TERNISIEN
IUT de Saint Dié-des-Vosges 236/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Génération de trajectoires

Chaque point créé à l’aide du formulaire donne lieu au stockage des informations dans
le fichier DAT associé au programme.

Mouvement PTP

Mouvement LIN

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 237/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Génération de trajectoires

Mouvement CIRC

On voit ici la présence des 2 points nécessaires à la trajectoire circulaire.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 238/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Génération de trajectoires

On peut aussi se passer des formulaires et rentrer les mouvements directement dans
le programme. Auquel cas, il faut changer la valeur de tous les paramètres optionnels
sinon ils gardent la valeur d’avant

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 239/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Avance au calcul

Qu’est-ce que c’est ?


Le pointeur d’exécution, que l’on peut voir lorsque le programme s’exécute, indique
toujours la ligne en cours d’exécution. Le pointeur d’avance n’est pas visible et
précède toujours le pointeur d’exécution d’un certain nombre d’instructions (entre 0
et 5).

A quoi ça sert ?


Afin de pouvoir calculer la trajectoire, notamment lorsqu’il y a du lissage, il est
nécessaire de connaı̂tre à l’avance la position des points. Même les instructions
entre 2 mouvements peuvent être exécutée par le pointeur d’avance.

Il peut se bloquer ?
Oui. Les instructions et données qui ont une influence sur la périphérie (E/S)
déclenchent un stop à l’avance. Si le pointeur d’avance est stoppé, alors pas de lissage
possible (message d’erreur si on l’a demandé).

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 240/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Avance au calcul

Les instructions qui peuvent bloquer le pointeur d’avance sont :

I HALT ;
I WAIT... ;
I PULSE ;
I la lecture d’une entrée ;
I la lecture ou l’écriture d’une
sortie.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 241/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les entrées/sorties TOR

Tous les robots possèdent des E/S afin de pouvoir communiquer avec l’environnement
extérieur (automate, caméra, capteurs, ...). La KRC4 peut gérer jusqu’à 4096 entrées
et 4096 sorties. Le nombre dépend alors de la configuration choisie à la commande.
Chez Kuka, les E/S internes sont de marque BeckHoff. Si les E/S sont adressées
individuellement, alors ce sont des E/S binaires.
La syntaxe pour les utiliser est la suivante :

$OUT[numSortie] = TRUE (FALSE) $IN[numEntree]

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 242/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les entrées/sorties TOR

E/S temporisées
Une fonction PULSE permet d’activer (ou de désactiver) une sortie pendant un certain
temps. Après ce temps, la sortie reprend son état initial.

PULSE(sortie,valeur,temps)

PULSE($OUT[12], TRUE,3.2)

Always true / Always false


Il existe 2 entrées qui sont pour l’une toujours à 1 et pour l’autre toujours à 0 :
I $IN[1025] est toujours à TRUE ;
I $IN[1026] est toujours à FALSE.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 243/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les entrées/sorties ANA

La KRC4 peut gérer jusqu’à 32 entrées et 32 sorties.


Ces E/S ANA peuvent être statiques (valeurs fixes) ou dynamiques (valeurs dépendant
d’une autre variable).
La syntaxe pour les utiliser est la suivante :

$ANOUT[numSortie] = valeur $ANIN[numEntree]

Les valeurs que prennent (ou renvoient) ces E/S ANA sont comprises entre -1.0 et
1.0. Cela correspond à des tensions respectives de -10V et de 10V.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 244/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Programmation des robots KUKA

Les entrées/sorties
Il est possible de nommer les entrées ou les sorties individuelles, c’est à dire de créer
l’équivelent des mnémoniques.
Pour cela on fait des déclarations de signaux. Cette déclaration peut se faire dans le
programme mais comme cela est valable pour tous les programmes, il faut mieux le
faire dans le $[Link]

SIGNAL nomS $OUT[numSortie] SIGNAL nomE $IN[numEntree]

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 245/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Exécution des programmes

Plan

VI - Programmation des robots


1 - Modes de programmation et langages
2 - Programmation des robots KUKA
3 - Exécution des programmes
4 - Fonctionnement du robot en mode automatique externe

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 246/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Exécution des programmes

Modes de marche

Il existe 4 modes de marches chez KUKA que l’on retrouve chez l’ensemble des
constructeurs (excepté peut être le mode T2)

Mode T1
Ce mode est le mode manuel dans lequel la vitesse linéaire du robot est limitée
à 250mm/s. C’est dans ce mode que se fait l’apprentissage des points et le test
des programmes. TOUS LES PROGRAMMES DOIVENT ETRE TESTES ET
VALIDES DANS CE MODE AVANT DE PASSER AUX MODES SUIVANTS

Il nécessite l’appui sur l’homme-mort et sur la touche start.

Mode T2
Ce mode est le mode manuel mais à vitesse réelle. Ce mode permet de faire des tests
sans que la protection opérateur soit prise en compte. Il faut donc être vigilant.

Il nécessite l’appui sur l’homme-mort et sur la touche start.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 247/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Exécution des programmes

Modes de marche

Mode AUT
Ce mode est le mode automatique ”robot autonome” dans lequel le robot ne dépend
pas d’un automate externe. Le robot se comporte comme un automate grâce à
l’interpréteur Submit. Il n’y a pas de limitation de vitesse théorique.

Il nécessite que la cellule soit fermée et l’appui sur start pour démarrer un programme.

Mode EXT
Ce mode est le mode automatique où le robot est piloté par un système externe. Il
n’y a pas de limitation de vitesse théorique.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 248/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Exécution des programmes

L’interpréteur Submit

Rôle
Il permet au robot de jouer le rôle d’automate sur des petites applications et s’il
peut être autonome. En effet, la commande du robot exécute 2 tâches internes qui
tournent en parallèle :
I l’interpréteur robot qui exécute les programmes du robot (temps de cycle ≈
2ms) ;
I l’interpréteur Submit qui gère la tâche de fond. C’est un peu l’équivalent de
l’OB1 Siemens (temps de cycle ≈ 20ms).

Caractéristiques
I il tourne indépendamment du programme robot qui s’exécute ;
I il ne peut pas exécuter de commande de mouvement ;
I les commandes à n’exécuter qu’une fois doivent être placées avant la boucle
infinie ;
I la boucle cyclique ne doit pas être interrompue par des commandes WAIT
ou HALT.
Eric TERNISIEN
IUT de Saint Dié-des-Vosges 249/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Exécution des programmes

L’interpréteur Submit

Exemple d’interpréteur Submit

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 250/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Fonctionnement du robot en mode automatique externe

Plan

VI - Programmation des robots


1 - Modes de programmation et langages
2 - Programmation des robots KUKA
3 - Exécution des programmes
4 - Fonctionnement du robot en mode automatique externe

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 251/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Fonctionnement du robot en mode automatique externe

Principe général

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 252/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Fonctionnement du robot en mode automatique externe

Sélection du numéro de programme à exécuter

Le robot possède un certaine nombre de programme. Pour choisir lequel sera exécuté,
les entrées suivantes du robot sont utilisées :

I PGNO_TYPE : détermine le format du numéro de programme envoyé par l’auto-


mate (nombre binaire, valeur en BCD ou 1 bit par programme) ;
I PGNO_LENGTH : détermine le nombre de bits du numéro de programme envoyé
par l’automate (ex : 8 si numéro de programme codé sur 8 bits) ;
I PGNO_FBIT : détermine le numéro de l’entrée représentant le premier bit du
numéro de programme envoyé par l’automate ;
I PGNO_PARITY : détermine le bit de parité ;
I PGNO_TYPE : détermine l’entrée autorisant la lecture du numéro de programme
envoyé par l’automate.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 253/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Fonctionnement du robot en mode automatique externe

Sélection du numéro de programme à exécuter

Si le mode automatique externe a été sélectionné, l’interpréteur Submit lance un pro-


gramme s’appelant [Link] qui s’occupera, en fonction du numéro de programme
transféré par l’automate, de lancer tel ou tel programme.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 254/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Fonctionnement du robot en mode automatique externe

Entrées de commande du mode automatique externe

Les entrées suivantes sont nécessaires au mode automatique externe :

I $I_O_ACT : à mettre à TRUE pour que le dialogue entre robot et automate soit
actif ;
I $DRIVES_OFF : une impulsion basse d’au moins 20ms sur cette entrée met les
variateurs hors puissance ;
I $DRIVE_ON : une impulsion haute d’au moins 20ms sur cette entrée et $DRIVES_OFF
à TRUE met les variateurs en puissance ;
I $CONF_MESS : permet d’acquitter les défauts ;
I $MOVE_ENABLE : autorisation de mouvement ;
I $EXT_START : départ du programme.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 255/258
Département Génie Electrique et informatique Industrielle
Programmation des robots Fonctionnement du robot en mode automatique externe

Sorties d’état du mode automatique externe

Un certain nombre de sorties renseigne l’automate sur l’état du robot. En voici


quelques unes :

I $ALARM_STOP : tombe à FALSE si arrêt d’urgence enclenché ;


I $USER_SAF : tombe à FALSE si une porte sécurisée s’ouvre ;
I $PRO_ACT : indique qu’un programme est en cours ;
I $IN_HOME : robot en position HOME ;
I $ON_PATH : robot sur la trajectoire ;
I $T1, $T2, $AUT, $EXT : indiquent le mode marche en cours.

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 256/258
Département Génie Electrique et informatique Industrielle
Ce qui n’est pas abordé dans le cours

Désolé...
Certains points ne sont pas abordés dans le cours volontairement car le but n’est pas
de faire de vous des roboticiens (et puis j’ai pas le temps)

I La mise en service ;
I La calibration ;
I Les mesures de bases (on le verra un peu en TP) ;
I Les mesures d’outils (on le verra un peu en TP) ;
I Au niveau programmation :
X Les trajectoires avec spline ;
X Les déclenchements d’actions à la volée sur les trajectoires ;
X Les interruptions ;
X Les timers
X Les détails du pilotage en automatique externe ;

Eric TERNISIEN
IUT de Saint Dié-des-Vosges 257/258
Département Génie Electrique et informatique Industrielle

Vous aimerez peut-être aussi