Support de Cours Robotique Industrielle
Support de Cours Robotique Industrielle
Support de Cours Robotique Industrielle
Robotique Industrielle
Module : Mécatronique
Filière : RIM : Risque Industriel et Maintenance
Classe: 4 ème Année RIM 3
Semestre: S7
2
Matière: Robotique Industrielle
Module : Mécatronique
Filière : RIM : Risque Industriel et Maintenance
Classe: 4 ème Année RIM
Semestre : S7
Objectif du Cours :
- Présentation de la Mécatronique et de la Robotique Industrielle.
- Comprendre le Langage de modélisation spécifique au domaine de l'ingénierie SysML.
- Comprendre les notions liées aux systèmes embarqués en environnement Industriel.
- Robotique et Systèmes Embarqués en environnement Arduino et Programmation Arduino IDE.
Mode d’évaluation :
Examen, TP
3
I- Chapitre1 : Introduction
I.1- Définition de la Mécatronique
Mécatronique
La mécatronique est la combinaison synergique et systémique de la mécanique, de l'électronique et de
l'informatique temps réel.
4
I- Chapitre1 : Introduction
I.1- Définition de la Robotique Industrielle
Automate
Un automate est une machine
programmée pour effectuer
une tâche précise dans un
environnement donné.
Mécatronique Robot
La mécatronique est la Un robot est un automate doté de capteurs lui
combinaison synergique et donnant une capacité d'adaptation et de
systémique de la mécanique, de déplacement proche de l'autonomie.
l'électronique et de l'informatique Un robot est un agent physique réalisant des
temps réel. tâches dans l'environnement dans lequel il évolue.
5
I- Chapitre1 : Introduction
I.2- Définition de la Robotique Industrielle
La robotique industrielle est officiellement définie par l'Organisation Internationale de Normalisation (ISO)
comme étant un système commandé automatiquement, multi-applicatif, reprogrammable, polyvalent,
manipulateur et programmable sur trois axes ou plus.
L'avantage de la robotique industrielle est sa rapidité d'exécution et sa précision ainsi que la répétition de
cette précision dans le temps.
Leur conception nécessite une bonne connaissance technique et un très haut niveau dans le domaine de
l'ingénierie.
6
II- Chapitre 2 : Robots Industriels
II.1- Principe de Fonctionnement d’un Robot Industriel
Le composant mécanique :
il s’agit d’un élément très important puisqu’il définit la précision, la rapidité et la charge maximale du robot.
Le composant électronique :
se caractérise par le système de commande qui permet de piloter tous les moteurs et recevoir des informations
sur l’environnement du robot grâce à des capteurs.
Le composant informatique :
7
II- Chapitre 2 : Robots Industriels
II.2- Exemple de types de Robots Industriels
A- Robots Poly articulés: Les robots poly articulés offrent une grande souplesse d'utilisation et d'adaptation
en fonction du produit que vous souhaitez manipuler.
B- Robots Delta : Le Robot Delta est un robot ayant un bras de manipulation formé de
3 parallélogrammes, ce qui, vu sa légèreté, lui permet d'être rapide et de garder sa charge dans la
même orientation.
C- Robots Palettisation : Les robots de palettisation sont des robots industriels palettiseurs rapides, dotés
d’une grande précision et permettant une répétabilité très élevées.
D- Le robot SCARA : C’est un robot qui se déplace suivant les axes X, Y, Z comme le robot cartésien mais
comprend un angle de rotation supplémentaire, qui lui permet de mouvoir l’outil en bout de bras dans plus de
directions.
8
II- Chapitre 2 : Robots Industriels
II.2- Exemple de types de Robots Industriels
9
II- Chapitre 2 : Robots Industriels
II.3- L’utilité de la Robotisation
Pourquoi robotiser ?
Les robots industriels sont destinés à effectuer plusieurs tâches, en voici quelques exemples en milieu industriel:
- Emballage (Packadging).
- Palettisation industrielle.
10
II- Chapitre 2 : Robots Industriels
II.4- Exemples d’application de la robotisation Industrielle
Robots de
Exemples d’applications: Peinture
l’Automobile
On distingue des robots industriels
menuiserie, robots de peinture, centre d’usinage
automatique, etc.
Robots
d’Usinage
11
III- Chapitre 3: Langage SYSML
III.1- SYSML : Définition
Le SysML permet de :
- Spécifier
- Analyser
- Concevoir
- Vérifier
- Valider
12
III- Chapitre 3: Langage SYSML
III.1- SYSML : Définition
SysML est un langage graphique, composé de diagrammes qui permettent d’aborder plus facilement les systèmes pluri
techniques. SysML « Systems Modeling Language », veut dire Langage de Modélisation de systèmes.
13
III- Chapitre 3: Langage SYSML
III.1- SYSML : Définition
Système réel
Un système technique peut être représenté
par sa chaîne d’information et sa chaîne
d’énergie:
14
III- Chapitre 3: Langage SYSML
III.1- SYSML : Définition
15
III- Chapitre 3: Langage SYSML
III.2- Les Diagrammes SYSML
A- Diagramme Transversal:
Ce diagramme décrit les exigences du cahier des charges fonctionnel. Une exigence exprime une capacité ou une
contrainte à satisfaire par un système.
Les exigences servent à établir un contrat entre le client et les réalisateurs du futur système
Les exigences peuvent être reliées entre elles par des relations de :
- La dérivation ("deriveReqt") : permet de relier des exigences entre eux dans un même système.
16
III- Chapitre 3: Langage SYSML
III.2- Les Diagrammes SYSML
B- Diagrammes comportementaux
- Diagramme de contexte :
le diagramme de contexte permet de définir les limites de l’étude et précisant les différentes interactions externes.
17
III- Chapitre 3: Langage SYSML
III.2- Les Diagrammes SYSML
C- Diagrammes structurels
Les diagrammes structurels mettent en avant l’agencement des différents composants ainsi que leurs relations.
18
III- Chapitre 3: Langage SYSML
III.3- Symboles et liaisons SYSML
Association X Y X utilise Y
(uc, bdd, idb)
Dépendance X Y X dépend de Y
(uc, req, bdd)
Conteneur X Y Y contient X
(req, bdd)
19
IV- Chapitre 4: Robots et systèmes Embarqués
IV.1- Système Embarqués : Définition et généralités
Définitions :
20
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Caractéristiques générales
- 3 mémoires indépendantes :
21
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
- Nombre de broches : 28
- Mémoire Flash : 32 ko (programmable par interface série)
- Mémoire Données EEPROM : 1 ko
- Mémoire RAM : 2 ko
- 32 registres de travail d'accès rapide pour l'ALU
- Ports parallèles : 3, avec 23 broches E/S
- Fréquence d'horloge : 16 Mhz (maxi tolérée = 20 Mhz)
- donc : 16 cycles d'horloge par micro-seconde
- Périphériques internes
-6 convertisseurs Analogiques/Numériques 10 bits,
comparateur analogique
-1 Timer 16 bits (T1), 2 timers 8 bits(T0,T2)
-6 canaux PWM, 1 WDT (watchdog)
-SPI, USART, TWI (=I2C)
- 26 interruptions •VCC (1), GND (2) ---- E/S (=GPIO) : PORTB (8), PORTC (7), PORTD(8)
- 5 modes d'économie d'énergie •AVCC (1) : alimentation CAN ---- AREF (1) : entrée comparateur analogique
22
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
23
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
24
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Arduino fournit un environnement de développement avec un Apres la préparation du programme, il y’a des étapes à faire afin
éditeur de source, les opérations de compilation et de de terminer la programmation, qui sont les suivantes :
chargement dans la mémoire du microcontrôleur étant
ramenées à des clicks sur des boutons dans l'IHM (très simple). - Obtenir une carte Arduino et un câble USB
La communication entre le PC et la carte se fait via le port USB, - Télécharger l'environnement Arduino
moyennant installation d'un driver adapté (fourni par Arduino) - Raccorder la carte à l'ordinateur
- Installation des pilotes du périphérique Série-USB
- Lancer l'application Arduino IDE - GENUINO
25
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
26
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Les conditions
27
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Opérateurs logiques
Dans le
Opérateur logique Exemple
programme
ET logique
Vraie si les deux conditions sont && if(condition 1 && conditions 2)
remplies
OU logique
Vrai si l’une ou l’autre des !! if(condition 1 !! conditions 2)
conditions est remplie
NON logique
! if( ! condition)
Vrai si la condition est fausse
28
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
29
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
30
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Exemple de Code Arduino
Question :
Ecrire un programme Arduino permettant de faire clignoter la LED une fois.
Réponse:
Code Arduino:
/* Ce programme fait clignoter une LED branchée sur la broche 12
*/
// declaration de la variable led au niveau du Pin 12 .
# define led 12 // la led est branchée sur la broche 12
void setup() {
pinMode(led, OUTPUT); // la LED est initialisée en sortie
}
void loop() {
digitalWrite(led, HIGH); // Allumer la LED (HIGH is the voltage level)
delay(1000); // Temporisation de 1 seconde
digitalWrite(led, LOW); // Eteindre la LED (LOW is the voltage level)
delay(1000); // Temporisation de 1 seconde
}
31
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Programmer avec le logiciel arduino
Le programme s’écrit à l’aide des fonctions décrites dans les pages suivantes. Chaque module électronique utilisé est
connecté à la carte. Le programme est envoyé dans la carte qui gérera les modules comme cela a été programmé.
Les fonctions s’écrivent entre les deux accolades de void loop() du programme de base.
Const int led1 = 13; // LED connectée au Pin 13
Exemple:
void loop() Const int Ir = 7; // Capteur IR connecté au Pin 7
{ void setup() {
lirecapteur(ir); if(barriere<900) pinMode(led1, OUTPUT); // Pin 13 configurée comme sortie
Algorithme pinMode(Ir, INPUT); // Pin 7 configurée comme entrée
{allumer(led1);}
else }
{eteindre(led1);} void loop() {
} digitalRead(Ir);
Traduction if (barriere < 900) {
Programme digitalWrite(led1, HIGH);
ARDUINO }
else{
digitalWrite(led1, LOW);}
32
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Module LED ou DEL
La LED ou DEL ( Diode Electroluminescence ) est un actionneur.
Lorsqu’elle est parcourue par un courant électrique, elle émet de
la lumière.
33
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Servomoteur
Connecté à la Fonctions Commentaires
Fils
Un servomoteur est un moteur dont broche
on peut commander la position Fil noir Gnd angleservo(angle); angle est compris entre 0
et 180. Il correspond à
angulaire, de 0° à 180° avec précision. Fil rouge 5V l’angle auquel le
Le fil jaune ou blanc se connecte à D9. servomoteur se déplacera.
Fil jaune ou blanc D9
34
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Bouton poussoir Fonctions Commentaires
35
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Moteur 1 a D1
Moteur 1 b D0
Exemple : Exemple :
Moteur 2 a D4
Si le bouton poussoir est appuyé, Traduction Code Arduino de la fonction Loop
Moteur 2 b D2 les moteurs marchent
void loop()
void loop()
Fonctions Commentaires {
{ State1= digitalRead(bp1);
Fait tourner les moteurs lire(bp1); if (State1==HIGH)
avancer();
dans un sens if (etatbp1==HIGH) { reculer();
Fait tourner les moteurs { reculer(); delay(2000);
reculer();
dans l’autre sens pendant(2000); arrêt();}
arrêt();} Else {
arrêt(); Arrête les moteurs Else { avancer();
durée est une valeur en avancer(); delay(2000);
pendant(durée); millisecondes. 1s = 2000 pendant(2000); arrêt();} }
ms arrêt();}}
36
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Buzzer
Le buzzer vibre en émettant un son à la
fréquence du signal électrique qui le parcours. D3 D3
Exemple : Exemple :
Jouer une mélodie préprogrammée et attendre 5 secondes. Traduction en Code Arduino de la fonction Loop
37
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Photorésistance (LDR)
La photorésistance est une résistance qui varie en fonction
de la luminosité. La carte renvoie un nombre compris entre 0
(absence de lumière) et 1023 (luminosité maximum).
38
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Capteur de température
Le capteur de température permet à la carte de calculer la
température à proximité de ce dernier.
39
IV- Chapitre 4: Robots et systèmes Embarqués
IV.2- Système Embarqués en Environnement Arduino
Exemple de câblage
40
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.1- Robot Mobile (Kit Voiture): Cahier de charge
Objectif : Réalisation d’un Robot « Kit Voiture programmable via Arduino » permettant de se déplacer tout
en évitant les obstacles.
41
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.2- Robot Mobile (Kit Voiture commandé par une carte Arduino)
La première étape est d’assembler le châssis de la voiture robot Arduino. Le kit robot
voiture est constitué de
- Les 2 moteurs,
- Les 2 roues avants
- La roue arrière de direction,
- le porte batterie.
NB:
La partie commande sera gérée par
la carte Arduino et Programmée via
Le langage ARDUINO IDE
42
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.3- Description : Partie Commande et Partie Opératrice
Etape 2: Test et Montage des éléments robotiques (Capteurs et modules, moteurs, Carte Arduino)
Etape 2.1- Test des capteurs et modules
A- Moteurs
2 Moteurs DC
Roue
43
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.3- Description : Partie Commande et Partie Opératrice
Schéma d’ensemble
Sorties
Entrée (Capteur)
44
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.4- Description et fonctionnement: Capteurs Intelligents
Etape 2: Test et Montage des éléments robotiques (Capteurs et modules, moteurs, Carte Arduino)
Etape 2.1- Test des capteurs et modules
Avant de passer à la prochaine étape , il faut tester tout
d’abord les capteurs et les modules 1 à 1 afin de s'assurer
de leur fonctionnement.
Capteur de distance
B- Le capteur de distance
45
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.5- Capteurs: principes de fonctionnement
Etape 2: Test et Montage des éléments robotiques (Capteurs et modules, moteurs, Carte Arduino)
Etape 2.1- Test des capteurs et modules
B- Le capteur de distance
Remarque :
Le signal ayant parcouru 2 fois la distance entre le capteur et la
surface (un aller-retour). Etape 1:
Le son est réfléchi par une surface/ ou obstacle et repart
On retrouve alors : en direction du capteur.
Etape 2:
𝑽𝒊𝒕𝒆𝒔𝒔𝒆 𝒙 𝑫𝒖𝒓é𝒆 Le capteur le détecte à son retour.
Distance Mesurée =
𝟐 Fréquence du signal : Environ 40khz
46
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.5- Capteurs: principes de fonctionnement
Etape 2: Test et Montage des éléments robotiques (Capteurs et modules, moteurs, Carte Arduino)
Etape 2.1- Test des capteurs et modules
B- Le capteur de distance
l’Arduino envoie au capteur par un Port Numérique une courte impulsion (10μs environ) à l’entrée « trigger » du capteur
; cela déclenche l’émission d’un signal.
47
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.5- Capteurs: principes de fonctionnement
B- Le capteur de distance (Exemple :Programmation Arduino IDE)
// Réception du signal réfléchi par l’obstacle détecté
// Exemple Programme ARDUINO : Lecture de distance mesurée Kit Car/Obstacle
D = pulseIn(echo, HIGH);
// Déclaration des Pins
const int trig = 11; // Trigger (émission)
// Calcul de la distance
const int echo = 12; // Echo (réception)
D = T*0.034/2;
// Déclaration de Variables
// Affichage de la distance dans le Moniteur Série
long T; // Temps de l'echo
Serial.print("Distance : ");
int D; // Distance mesurée
Serial.print(D);
Serial.println("cm");
void setup() {
}
pinMode(trig, OUTPUT); // Configuration du port du Trigger comme une SORTIE
pinMode(echo, INPUT); // Configuration du port de l'Echo comme une ENTREE
Serial.begin(9600); // Communication série à 9600 bauds
}
void loop() {
Arrêt
49
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.6- Mécatronique: Programmation de l’ensemble du système Embarqué et Mécatronique du
Robot (Kit voiture) sous le logiciel ARDUINO IDE
Application 1 :
Robot Voiture Arduino
50
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.6- Mécatronique: Programmation de l’ensemble du système Embarqué et Mécatronique du
Robot (Kit voiture) sous le logiciel ARDUINO IDE
51
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.6- Mécatronique: Programmation de l’ensemble du système Embarqué et Mécatronique du
Robot (Kit voiture) sous le logiciel ARDUINO IDE
Application 2 :
Robot Voiture Arduino
52
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.6- Mécatronique: Programmation de l’ensemble du système Embarqué et Mécatronique du
Robot (Kit voiture) sous le logiciel ARDUINO IDE
53
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.6- Mécatronique: Programmation de l’ensemble du système Embarqué et Mécatronique du
Robot (Kit voiture) sous le logiciel ARDUINO IDE
Application 3 :
Robot Voiture Arduino
- Radar de Recule
54
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.6- Mécatronique: Programmation de l’ensemble du système Embarqué et Mécatronique du
Robot (Kit voiture) sous le logiciel ARDUINO IDE
//Moteur droit - Définition des ports 7 et 8 comme IN1 et IN2, et le port 5 //Configuration des ports comme des ports de sortie
comme ENA
#define IN1 7 void setup()
#define IN2 8
#define ENA 5 {
pinMode(IN1, OUTPUT);
//Moteur gauche - Définition des ports 9 et 11 comme IN1 et IN2, et le port pinMode(IN2, OUTPUT);
6 comme ENB pinMode(ENA, OUTPUT);
#define IN3 9 pinMode(IN3, OUTPUT);
#define IN4 11 pinMode(IN4, OUTPUT);
#define ENB 6 pinMode(ENB, OUTPUT);
// Configuration du port du Trigger comme une SORTIE
// Capteur SR-04 - Déclaration des Pins pinMode(trig, OUTPUT);
const int trig = 11; // Trigger (émission) // Configuration du port du ECHO comme une ENTREE
const int echo = 12; // Echo (réception) pinMode(echo, INPUT);
// Communication série à 9600 bauds
// Capteur SR-04 - Déclaration de Variables Serial.begin(9600);
long T; // Temps de l'Echo
int D; // Distance mesurée }
55
V- Chapitre 5 : Cas Pratique de Robots en Environnement Arduino
V.6- Mécatronique: Programmation de l’ensemble du système Embarqué et Mécatronique du
Robot (Kit voiture) sous le logiciel ARDUINO IDE
Sites :
• Robot Pédagogique Arduino, Lien : https://robotpedagogique.wordpress.com/
• Capteur de distance, Lien: https://arduino.blaisepascal.fr/capteur-de-distance-a-ultrasons/
• Arduino, Documentation, Lien: https://www.arduino.cc/reference/en/
• Arduino, Lien : https://www.allaboutcircuits.com/technical-articles/understanding-arduino-uno-hardware-design/
• Cours SysML, Lien: http://perso.numericable.fr/starnaud/Analyse/Cours%20sysML.pdf
57