0% ont trouvé ce document utile (0 vote)
140 vues70 pages

Modélisation Robotique Non Linéaire

Ce projet consiste à modéliser et commander un robot de manipulation ROB3 à l'aide d'un microcontrôleur Arduino. Le ROB3 a été commandé via une carte de puissance à base de deux ponts en H alimentés en MLI. Des algorithmes de commande PID et NPID ont été testés sous MATLAB puis implémentés sur Arduino.

Transféré par

Meryem Mimi
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)
140 vues70 pages

Modélisation Robotique Non Linéaire

Ce projet consiste à modéliser et commander un robot de manipulation ROB3 à l'aide d'un microcontrôleur Arduino. Le ROB3 a été commandé via une carte de puissance à base de deux ponts en H alimentés en MLI. Des algorithmes de commande PID et NPID ont été testés sous MATLAB puis implémentés sur Arduino.

Transféré par

Meryem Mimi
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

République Algérienne Démocratique et Populaire

Ministère de l'Ense ignement Supérie ur et de la Reche rche Scientifique


______________________________________

Université Dr. Tahar Moulay de Saïda


F aculté de T echn ologie
D é p a rt e me n t d’ E le ct rot e chn i q ue

Mémoire de Fin d’Etudes


En vue de l’obtention du diplôme de

Master (LMD)
Spécialité : AUTOMATIQUE ET SYSTEME

Filière : AUTOMATIQUE

Intitulé :

Modélisation et Commande Non Linéaire de Position Appliqué à un


Robot de Manipulation

Présenté par :

Haouari Mohammed Ridha

Djennane Mohammed Amine

Devant le jury composé de :

Dr. Mostefai Mohamed Président

Dr. Mostefai Lotfi Encadreur

Dr. Merah Abdelkader Examinateur

Dr. Bourouina abdelkader Examinateur

Soutenu le 04/07/2019
Promotion 2018/2019
REMERCIEMENTS
En premier lieu tout notre parfaite gratitude et remerciement à Allah le plus
puissant qui nous a donné la volonté et la force nécessaires pour élaborer ce
travail.
Nous tenons à exprimer nos vifs remerciements notre encadreur
Monsieur Dr Mostefai LOTFI Maitre de conférence à l’université de saida, de
nous avoir encadré durant notre projet de fin d’études, sa patience et les
nombreux conseils qu’il nous a prodigué.
Ainsi nous exprimons notre reconnaissance à tous les membres de jury d’avoir
accepté de lire ce manuscrit et d’apporter les tenons aussi à remercier à
Monsieur Dr Mostefai Mohamed Maitre conférences à l’université de saida,
d’avoir accepté le président du jury.
Nous adressons toute notre gratitude à Dr Merah Abdelkader et Dr Bourouina
Abdelkader Maitres conférences à l’université de saida d’avoir répondu à
notre invitation afin d’examiner ce travail.
Nous les remercions pour le temps et de l’attention qu’ils ont enfin , à tous ceux
qui nous ont aidés de près ou de loin pour la réalisation de projet de fin d’étude.
[Tapez un texte]

Dédicace
Je dédie ce travail qui n’aura jamais pu voir le jour sans les soutiens
indéfectibles et sans limite de mes chers parents et Ma grand
grand-mère qui
ne cessent de me donner avec amour le nécessaire
nécessaire pour que je puisse
arriver à ce que je suis aujourd’hui. Que dieux vous protège et que la
réussite soit toujours à ma portée pour que je puisse vous combler de
bonheur.
Je dédie aussi ce travail à :
Mon grand-père ‘Allah yarahmah’
Mon frère, mes sœurs.
Mes oncles, mes tantes et leur famille.
Tous mes cousins et cousines.
Tous mes amis, mes collègues et tous ceux qui m’estiment.

Haouari Mohammed Ridha


[Tapez un texte]

Dédicace

Je dédie ce modeste travail :


A mes très chers parents et Ma Femme que dieu les
garde et les protège pour leurs soutien moral et
financier, pour leurs encouragements et les sacrifices
qu’ils ont endurés.
A mes frères Abdelkader,Okacha et Na Nadir
A toutes familles Djennane, Aux chers amis (es)
A tous ce que j’aime et qui m’aiment
A tous mes collègues d’études.

Mohamed Amine Djennane


Résumé
Notre projet consiste à faire Modélisation et commande non linéaire de position
appliqué à un robot de manipulation ROB3. Le ROB3 a été mis en marche en utilisant un
micro contrôleur (Arduino UNO) pour le commandé à travers une carte de puissance à base
de deux L293d. Le principe est de générer des signaux de commande MLI pour attaquer les 2
ponts en H fonctionnant en quatre quadrants et munis de diodes antiparallèles de protection.
On a testé les algorithme de commande PID et NPID sur MATLAB, ensuite on les
implémenté sur la carte à microcontrôler ARDUINO.
Résumé
Remerciements
Dédicace
Table des matières
Notations mathématiques
Liste des Figures et des tableaux
Introduction générale
Chapitre I : Généralité sur les robots et description du ROB3
I.1. Introduction 01
I.2. Historique 01
I.3. DEFINITION: 01
I.3.1 Origine du terme 01
I.3.2. Définition d’un robot 02
I.3.3. Définition de la robotique 02
I.4 .Types des robots 02
I.4.1. Robot Manipulateur 02
I.4.1.1: Définitions des robots manipulateurs 02
I.4.1.2. Classification des robots 03
I.4.1.3. Les modèles des robots manipulateurs 03
I.[Link]. Robots cylindriques 03
I.4.1.3. 2. Robots cartésiens 03
I.[Link]. Robots sphériques 04
I.[Link]. Robots SCARA 04
I.[Link]. Robots anthropomorphes 04
I.4.1.4. Structure générale d’un robot manipulateur 05
I.[Link]. Morphologie générale 05
I.[Link]. Les liaisons mécanique : 06
I.[Link]. Constitution géométrique des robots manipulateurs: 07
I.4.1.5. Les Types de robot manipulateur 07
I.[Link]. Manipulateur type parallèle 07
I.[Link]. Manipulateur type série 08
I.4.2 Les robots mobiles 08
I.4.1. Les robots à roues 08
I.5. Domaine d'utilisation des robots 10
I.5.1. Les robots industriels 10
I.5.2. Robots domestiques ou ménagers 10
I.5.3. Robots en médecine et chirurgie 11
I.5.4. Domaine militaire 11
I.6. Introduction sur le ROB3 12
[Link] 12
Chapitre II : Description du ROB3 , modèle cinématique et dynamique
II.1. Introduction 13
II .2. Partie ROB3 13
II.2.1. Description cinématique du bras manipulateur 13
II.2.2. Espace du travail du manipulateur ROB3 13
II.2.3. Limite en commande 13
II.2.4. Propriétés mécaniques 14
II.3. Commande d’un moteur DC 15
II.4. Modèle cinématique et dynamique de robot 17
II.4.1. Modèle Cinématique 17
II.4.1.1 Modèle Cinématique direct 17
II.4.1.2 Modèle Cinématique inverse 17
II.4.2. Modèle dynamique de robot 21
II.5. Commande des robots manipulateur 23
II.5.1. Commande hybride force/position 23
II.5.2. Commande PI 24
II.5.3. Type de commande de PID 24
II.5.3.1. Effets du régulateur proportionnel-Intégral-Dérivé 24
II.5.3.2. Méthode de contrôle 24
II.6. Technique de commande à MLI « PWM » 25
II.6.1. Principe de la commande MLI 26
II.7. Le réglage (tuning) 27
II.8. Conclusion 27
Chapitre III: Outils de développement, mise en œuvre de la commande du
robot
III.1. Introduction 28
III.2. Présentation de l’Arduino 28
III.2.1 La syntaxe du langage 29
III.2.2. Bibliothèque arduino proteus (Library Proteus) 29
III.2.3. Arduino Robot Library 29
III.2.4. Schéma simplifié de la carte Arduino UNO 29
III.2.5. Microcontrôleur ATMELATMega328 31
III.2.6 .L’alimentation 32
III.2.7. Visualisation 32
III.3. Le Driver L293D 33
[Link]éristiques techniques du L293D 35
[Link] du L293D 36
III.3.3. Branchement du sheild moteur basé sur L293D avec 4 Moteur DC 36
III.3.4. Pont-H L293D 36
[Link] L293d moteur Adafruit 39
III.4. La valeur PWM 40
[Link] 41
Chapitre V: Commande non-linéaire ; synthèse et résultats de sumilation
V.1. Introduction 42
V.2. Commande non-linéaire (PID NL) 43
V.2.1. Avantages de NPID 43
V.2.2. Inconvénient de NPID 43
V.2.3. L’algorithme de commande non-linéaire NPID implémenté sur Arduino 44
V.3. Le flux de l’algorithme de la commande 45
V.4. Le modèle 3D du rob3 avec Robotics toolbox 46
V.5. Les résultats de simulations de la commande PID et NPID appliquée au
47
Robot 2 Link
V.5.1. Résultats de simulation de la commande PID 47
V.5.2. Résultats de simulation du régulateur NPID 49
V.6. Conclusion 50
Conclusion Générale
Liste Des Figures

Chapitre I
Figure I.1: Les modèles des robots manipulateurs
Figure I.2: structure série
Figure I.3: structure parallèle
Figure I.4: Structure mixte
Figure I.5: Type des liaisons
Figure I.6: Robot à structure ouverte simple
Figure I.7: Manipulateur type parallèle
Figure I.8: Manipulateur type série
Figure I.9: Robot mobile
Figure I.10 :Les robots à roues
Figure I.11: Les robots industriels
Figure I.12: Robots domestiques ou ménagers
Figure I.12: Robots domestiques ou ménagers
Figure I.13: Robots en médecine et chirurgie
Figure I.14: Robot militaire
Figure I.15:Photo de ROB3 avec son alimentation
Chapitre II
Figure II.1: Espace du travail du manipulateur ROB3
Figure II.2: Les axes du robot ROB3.
Figure II.3: Les dimensions du robot ROB3
Figure II.4: Moteur à aiment permanent
Figure II.5: Capteur de position (Potentiomètre)
Figure II.6 : Configuration d'un manipulateur planaire 2R
Figure II.7: ( Figure 1(a))
Figure II.8: ( Figure 2(b))
Figure II.9 : Configuration d'un manipulateur planaire 2R
Figure II.10. Schéma de commande PID pour un moteur de robot
Chapitre III
Figure III.1 : Include Library
Figure III.2: Schéma simplifié de la carte
Figure III.3: la carte Arduino UNO
Liste Des Figures

Figure III.4: le composant L293D


Figure III.5: L293D pins
Figure III.6: Branchement du L293D avec 4 Motors DC
Figure III.7 : alimentation bipolaire à quatre quadrants
Figure III. 8: Sheild L293d motor Adafruit
Figure III.9 : Cycles d’impulsions
Chapitre V
Figure V.1 : Schéma fonctionnel du ROB3
Figure V.2 : Illustration de l’action proportionnelle du régulateur NPID et des
régions à gains élevés.
Figure V.3: L’organigramme de la commande appliquée au ROB3
Figure V.4: Le modèle 3D du ROB3 avec Robotics toolbox
Liste Des Tableaux

Chapitre II
Tableau II.1: Limites articulaires des moteurs du ROB3
Chapitre III
Tableau III.1: L293D Commande
Chapitre V
Tableau V.1 : l’algorithme de commande P, PID, NPID
Tableau V.2: Denavit-Hartenberg
Tableau V.3 : les variables des gains proposées pour le theta1
Tableau V.4 : les variables des gains proposées pour le theta2
Introduction Générale

INTRODUCTION GENERALE :

Sans remonter aux premiers concepts de machine remplaçant l’homme dès le XVIIe
siècle, la robotique est née dans les années 1950, du croisement des besoins et des
disponibilités de nouvelles technologies développées durant la seconde guerre mondiale :
l’électronique, l’automatique, l’informatique… Les deux premières orientations de ces
machines étaient de répondre aux besoins de l’industrie manufacturière et aux besoins de
l’industrie en milieux hostiles à l’homme.
La robotique est l'ensemble des techniques concernée par l'étude de systèmes
automatiques capables d'une interaction directe avec le monde physique.
Nous choisis d’explorer le monde de l’électronique et de la robotique en optant pour ce
projet, notre travail consistera Conception et réalisation de la commande d’un bras
Manipulateur ROB3en contrôlant ses 4moteur à courant continu, réalisé sur plaque d’essai un
pré-projet de produire une carte de commande pour piloter l’ensemble des moteur du robot
manipulateur ROB3 permettant ainsi de la rendre disponible pour des manipulateur purement
pédagogique, notamment les travaux pratique.
Le mémoire est structuré en quatre chapitres plus une introduction générale et une
conclusion générale, et il organisé comme suit :
 Dans le premier chapitre : Nous exposerons des généralités sur les robots et en
dédiant une introduction sur le ROB3.
 deuxième chapitre : On parlera de la description du ROB3, la commande d’un moteur a
courant continu ainsi que modèle cinématique et dynamique du robot , puis la commande du
robot manipulateur .
 Dans le troisième chapitre : nous avons présenté les outils de développement, mise
en œuvre de la commande du robot, on donnera une présentation de l’Arduino et la carte de
puissance L293D puis le sheild moteur adafruit.
 Le quatrième chapitre et le dernier : Dans ce chapitre on va présenter la commande
non -linéaire (ses avantages, ses inconvénients, et l’algorithme de commande implémenté).
On présente aussi par la suite des simulations sur Matlab du manipulateur 2 Link pour
simplification commandé par un régulateur linéaire PID, ensuite par le régulateur proposé
NPID, après quoi, on effectue une comparaison entre les résultats.
 Finalement, une conclusion générale résument notre travail et présentée.
ChapItre I : généralité sur les robots
Et Description du ROB3
ChapitreI généralité sur les robots Et Description du ROB3

I.1. Introduction :
D’après l’association Française de Normalisation (AFNOR)
« Un robot est un manipulateur commandé en position, programmable, polyvalent, à
plusieurs degrés de libertés, capable de manipuler des matériaux, des pièces, des outils et des
dispositifs spécialisés, au cours du mouvement variable et programmés pour l’exécution d’une
variété de taches. Ila souvent l’apparence d’un ou plusieurs bras se terminant par un poignet. Son
unité de commande utilisée, notamment un dispositif de mémoire et éventuellement de perception et
d’adaptation à l’environnement et aux circonstances. Ces machines polyvalentes sont généralement
étudiées pour effectuer la même fonction de façon cyclique et peuvent etre adaptées à d’autres
fonctions sans modification permanente du matériel ».
Dans ce chapitre on présentera une généralité sur les robots et description du Rob3 ,
nous avons décidé de consacrer deux parties pour initier le lecteur au monde de la robotique .La
première exposerait des généralités sur les robots (définition, classes des robots, types, domaines
d’application). Tandis que la deuxième parlerait plus précisément sur le robot qu’on va utiliser dans
le projet : le ROB3 (présentation, espace de travail, description cinématique, propriétés mécanique
et électrique, moteurs et capteurs).

I.2. Historique:
En 1921, Karel Capek, un dramaturge tchèque, a imaginé un personnage créé
artificiellement et doté d’intelligence, auquel il a donné le nom de « robot ». L'origine du mot robot
provient de la langue tchèque dans laquelle sont ancêtre "robota" signifie "travail forcé".
Même si le concept de robot trouve son origine dans une époque très lointaine, il a fallu
attendre les années 1940 et l’arrivée des ordinateurs pour que les robots des temps modernes fassent
leur apparition. Le terme « robotique » se rapporte à l’étude et à l’utilisation des robots. Il remonte à
1941. Il a tout d’abord été utilisé par le chercheur et écrivain Isaac Asimov. [1]
I.3. DEFINITION:
I.3.1 Origine du terme :
Le terme robot apparaît pour la première fois dans la pièce de théâtre (science-fiction)
de l'auteur Karel Čapek .
Il provient du tchèque "robota" qui signifie corvée, travail obligatoire
Le terme robotique a été employé pour la première fois par Asimov en 1941 [1].

1
ChapitreI généralité sur les robots Et Description du ROB3

I.3.2. Définition d’un robot :


Appareil automatique capable de manipuler des objets ou d'exécuter des opérations selon un
programme fixe, modifiable ou adaptable [2].

I.3.3. Définition de la robotique :


La branche de la technologie qui traite la conception, la construction, l’exploitation
l’application des robots [3].
I.4. Types des robots :

Les robots peuvent être classés des 2 types différents sont apparus attestant chacun de
nouvelles évolutions : Robots manipulateurs et Robots mobiles.

I.4.1. Robot Manipulateur :

I.4.1.1: Définitions des robots manipulateurs :


Selon la RIA (Robot Institute of American) c’est un manipulateur qui doit être
reprogrammable multifonctionnel conçu pour déplacer des matériaux, des pièces, des outils ou tout
autre dispositif spécialisé au moyen d’une série de mouvements programmés et d’accomplir une
variété d’autres tâches. L’ISO (International Standard Organisation) l’a défini comme étant une
machine mue par un mécanisme incluant plusieurs degrés de libertés, ayant souvent l’apparence
d’un ou plusieurs bras se terminant par un poignet capable de tenir des outils, des pièces ou un
dispositif d’inspection [01].
Pour le sens commun, un robot est un dispositif mécanique articulé capable d’imiter certaines
fonctions humaines telles que la manipulation d’objets ou la locomotion, dans le but de remplacer
l’homme pour la réalisation de certaines tâches matérielles. D’une façon générale, un robot
manipulateur quelconque doit obéir aux 3 règles suivantes de la robotique :

Première loi: Un robot ne peut porter atteinte à un être humain, ni en restant inactif
laisser cet être
humain exposé au danger.
Deuxième loi: Un robot doit obéir aux ordres donnés par les êtres humains, sauf si de
tels ordres sont en
contradiction avec la Première Loi.

2
ChapitreI généralité sur les robots Et Description du ROB3

Troisième loi : Un robot doit protéger sa propre existence dans la mesure où cette
protection n’est pas en
contradiction avec la Première ou la Deuxième Loi de la robotique.

I.4.1.2: Classification des robots :


Au cours des années, le développement des robots a permis de distinguer entre plusieurs
classes. Pour la JIRA, il existe six classes de robots.
les télémanipulateurs qui sont des bras commandés directement par un opérateur humain.
les manipulateurs avec séquence fixe qui admettent un contrôle automatique, mais
difficile
à reprogrammer.
les Manipulateurs avec séquence variables qui ont un contrôle automatique et qui sont
reprogrammés mécaniquement, c’est l’exemple de « Pick and Place Manipulators » ou
robot « tout ou rien ».
les Robots Play Back qui exécutent des séquences sous la supervision d’êtres humains et
les mémorise pour les rejouer (Play Back).
les robots à un contrôleur numérique où les positions des séquences sont contrôlées par
des
données numériques.
les robots intelligents qui peuvent réagir dans leur environnement et à des modifications
arrivant durant l’exécution [04].
I.4.1.3. Les modèles des robots manipulateurs :

Les robots manipulateurs viennent sous plusieurs formes. Les formes se répartissent en en
cinq grandes catégories :

I.[Link]. Robots cylindriques: Le robot cylindrique a deux axes de mouvement, un pour le


mouvement en haut et bas. La rotation se fait par la jonction à la base. De plus, le bras horizontal
peut se déplacer à l'intérieur et à l'extérieur, ce qui donne un troisième axe de mouvement limitée.

I.4.1.3. 2. Robots cartésiens : Un robot cartésien comportant des joins coulissants


orthogonaux et supporté par une base non rotatif en tant qu’axe. (Figure I.1)

3
ChapitreI généralité sur les robots Et Description du ROB3

I.[Link]. Robots sphériques : Le robot sphérique est de grande taille avec un bras
télescopique qui assure un mouvement à l'intérieur ou à l'extérieur. Les mouvements de base du robot
sphérique sont de rotation (à la base) et angulairement en haut ou en bas (sur le bras). (Figure I.1)

I.[Link]. Robots SCARA : Un robot SCARA est une machine d’assemblage qui installe
pièce ou transporte les articles.

Il est conçu pour imité l’action d’un bras humain et peut être utilisé dans les emplois des
usines de construction automobile sous l’eau .Cet outil est souvent utilisé en raison de sa rapidité,
l’efficacité et à faible cout. (Figure I.1)

I.[Link]. Robots anthropomorphes : Robots s’approchant de la forme humaine dans


l’aspect physique mais aussi dans les fonctions. (Figure I.1)

4
ChapitreI généralité sur les robots Et Description du ROB3

Figure I.1: Les modèles des robots manipulateurs

I.4.1.4. Structure générale d’un robot manipulateur :


I.[Link]. Morphologie générale:
Un robot manipulateur est l’ensemble formé par [4] :
Une structure mécanique qui supporte l’organe terminale `a situer.
Des actionneurs qui servent à agir sur la structure mécanique pour changer la situation
de l’organe terminal.
Des capteurs divers nécessaires à la commande.
Un système de commande qui pilote les actionneurs du robot manipulateur.
Un système décisionnel qui assure la fonction de raisonnement et élabore le mouvement
du robot manipulateur.
Un système de communication qui gère le message transmis entre le système décisionnel
et l’opérateur via une console de visualisation.
Pour décrire la topologie du mécanisme constituant le robot manipulateur, on lui associe un
graphe dont les sommets sont les corps constitutifs et les arcs représentent les assemblages entre

5
ChapitreI généralité sur les robots Et Description du ROB3

ces corps. Deux corps extrêmes ont des rôles particuliers [4] :
La base, qui est fixée au sol ou sur un véhicule.
L’organe terminal qui porte l’outil (ou effecteur).

Figure I.2: structure série Figure I.3: structure parallèle

En partant de la base pour aller vers l’effecteur, on pourra distinguer :


Les structures série (Figure I.2), ou sérielles, pour lesquelles le graphe est arborescent,
la base étant la racine et les feuilles étant les organes terminaux.
Les structures parallèles (Figure I.3) pour lesquelles toutes les chaînes partent de la base
pour aller vers l’organe terminal.
Les structures mixtes (Figure I.4), présentant des boucles cinématiques, par exemple des
parallélogrammes ou des motorisations par vérins linéaires[4].

I.[Link]. Les liaisons mécanique :


Dans l’assemblage de robots manipulateurs, les liaisons les plus courantes sont :
La liaison rotoide (ou pivot).
La liaison prismatique (ou glissière).
La liaison rotule S (sphérique).
La liaison cardan U (joint universel).
Certaines liaisons sont motorisées, on parlera de liaisons actives. Ce sera généralement le cas des
liaisons rotoide ou prismatique. Les liaisons non motorisées seront appelées liaisons passives.

6
ChapitreI généralité sur les robots Et Description du ROB3

Figure I.4: Structure mixte


Ce sera généralement le cas des liaisons rotule, cardan et bien sur appui sur plan.

Figure I.5: Type des liaisons

I.[Link]. Constitution géométrique des robots manipulateurs:

Un robot manipulateur est une cinématique constituée de n+1 corps, possédant deux corps particuliers et
des actionneurs. Le premier corps particulier(C0), appelé base, est le socle du robot, le seconde corps
particulier (Cn), appelée terminal, est le support d’un préhenseur ou d’outil. Les n corps sont li´es entre
eux par des liaisons (articulations), suivant une structure de chaine. Ces liaisons sont de nature prismatique P

7
ChapitreI généralité sur les robots Et Description du ROB3

ou rotoide R. Les corps et les liaisons du robot manipulateur sont numérotés d e 0 à n d a n s u n


o r d r e c r o i s s a n t e n p a r t a n t d u s o c l e ( F i g u r e I. 5 ) .

Figure I.6: Robot à structure ouverte simple

I.4.1.5. Les Types de robot manipulateur :

I.[Link]. Manipulateur type parallèle : Un robot parallèle est un mécanisme en chaine


cinématique fermée, constitué d’un organe terminal à n degré de libertés et d’une base fixe,
relié entre eux par des chine cinématique indépendantes. (Figure I.7)

Caractéristiques :

 Plusieurs chaines cinématiques en parallèles

 Espace de travail réduit

 Précis (grande rigidité de la structure)

 Très rapide

I.[Link]. Manipulateur type série: caractérisés par le fait qu'une seule chaîne
cinématique relie la base fixe à l'organe terminal. (Figure I.8)

8
ChapitreI généralité sur les robots Et Description du ROB3

Figure I.7: Manipulateur type parallèle Figure I.8: Manipulateur type série

I.4.2 Les robots mobiles :

Un robot mobile est celui qui peut se déplacer dans son environnement de façon indépendante.
Pour ce faire, le robot doit pouvoir naviguer, et la portée et la précision de navigation requise varie
en fonction de la taille du robot et du type de sa tâche
tâc [5].

Figure I.9: Robot mobile.

9
Chapitre1 généralité sur les robots Et Description du ROB3

I.4.1. Les robots à roues

Il existe plusieurs classes de robots à roues déterminées, principalement, par la


position et le nombre de roues utilisées. [5]
Nous citerons ici les quatre classes principales de robots à roues :

Robot unicycle

 Robot tricycle

 Robot voiture

 Robot omnidirectionnel

Figure I.10 :Les robots à roues

10
Chapitre1 généralité sur les robots Et Description du ROB3

I.5. Domaine d'utilisation des robots : Les domaines d’application sont très
variables et ils évoluent avec les années. On peut citer :

I.5.1. Les robots industriels :

Robots industriels sont des robots utilisés dans un environnement de


fabrication industrielle. Ils sont utilisés dans la fabrication des automobiles, des
composants et des pièces électroniques, des médicaments et de nombreux
produits [6].

Figure I.11: Les robots industriels

I.5.2. Robots domestiques ou ménagers :

Robots utilisés à la maison. Ce type de robots comprend de nombreux


appareils très différents, tels que les aspirateurs robotiques, robots nettoyeurs de
piscines, balayeuses, nettoyeurs gouttières et autres robots qui peuvent faire
différentes tâches. En outre, certains robots de surveillance et de télé présence
pouvaient être considérées comme des robots ménagers se il est utilisé dans cet
environnement [6].

Figure I.12: Robots domestiques ou ménagers

11
Chapitre1 généralité sur les robots Et Description du ROB3

I.5.3. Robots en médecine et chirurgie :

Les robots semblent avoir de l'avenir à l'hôpital. Robodoc aide à réaliser


certaines opérations de chirurgie. Le robot infirmier est encore en projet. Le cyber
squelette HAL aide les personnes à se déplacer. Et le robot patient permet aux
futurs chirurgiens dentistes d'apprendre à soigner sans faire de dégâts... [6]

Figure I.13: Robots en médecine et chirurgie

I.5.4. Domaine militaire :

Les robots sont de plus en plus utilisés dans le domaine militaire. En


effet, la miniaturisation permet aujourd’hui de créer des robots discrets mais dotés
de nombreux capteurs, ce qui est idéal pour des missions d’espionnage ou
d’éclairement. [6]

Figure I.14: Robot militaire

12
Chapitre1 généralité sur les robots Et Description du ROB3

I.6. Introduction sur le ROB3: Le ROB3 est un robot de haute qualité de formation,
particulièrement conçu pour l'usage dans toutes les sphères d'éducation et de formation
de robotique. Le bras articulé de ROB3 a cinq axes et une pince, qui sont actionnées par
les servomoteurs à courant continue. La position absolue de tous les axes est déterminée
par les capteurs de position rotatoires potentiométriques.

Figure I.15:Photo de ROB3 avec son alimentation.

[Link] :
Dans le cadre de ce chapitre, on a pu présenter des généralités sur les robots (
clasification model structure les type .. des robots) . On a aussi présenté une
introduction sur le ROB3.

13
ChapItre II: Description du ROB3,
modèle cinématique et dynamique
Chapitre II Description du ROB3 , modèle cinématique et dynamique

II.1. Introduction:
Après avoir exposé les généralités sur les robots ainsi que une petit introduction sur le
ROB3 lors du chapitre précédent, on va faire la description du ROB3, modèle cinématique et
dynamique.
D’abord on présentera la description du ROB3 (l’escape de travail et la limite de
commande et la propriété mécanique) et la commande d’un moteur a courant continu , ainsi
que les modèle cinématique et dynamique du robot , on parlera du commande des robots
manipulateur et le régulateur numérique PID.

II .2. Partie ROB3 :

II.2.1. Description cinématique du bras manipulateur :


Le modèle cinématique a pour but de connaitre les vitesses cartésiennes de l’outil dans
le repère fixe en fonctions des vitesses angulaires de chaque articulation.

II.2.2. Espace du travail du manipulateur ROB3 :


La figure décrit l’espace de travail du bras ROB3. Si l’un des objets est à
l’extérieur de cet espace, le bras ne peut l’atteindre. La partie colorée représente la
zone des points que le robot avec son centre d’outil peut les atteindre.

Figure II.1: Espace du travail du manipulateur ROB3

II.2.3. Limite en commande :

Le bras ROB3 a un système de contrôle intégré à base d’un microprocesseur


Intel 8031. Ce dernier permet de commander le manipulateur uniquement en boucle
ouverte. Dans le cadre de notre travail, nous nous somme rendu compte que la carte de

14
Chapitre II Description du ROB3 , modèle cinématique et dynamique

commande originale était défectueuse notamment le programme de commande


implanté dans l’EPROM est effacé suite à l’enlèvement du papier de protection, outre
l’absence des références des différents circuits électroniques (composants)
constituants notre carte, cette situation a rendue la compréhension du fonctionnement
de la carte originale une tâche difficile.

Limite articulaire
Les Ax MIN MAX Resolution (Volts)
Articulations e
Axe 1 : Base +80° 0 -80° 3.25
Q0 4.6
°
Axe 2 : +50° 0 -50° 2.94
Q1 4.74
Epaule °
Axe 3 : 0 +100° 3.25
Q2 5
Coude
Axe 4 : +10 0 -100° 2.5
Q3 4.56
Poignet 0° °
Axe 5 : +10 0 -100° 0.4
Q4 4.58
Orientation 0° °
Outil (Pince) 0 60 mm 1.85 4.27

Tableau II.1: Limites articulaires des moteurs du ROB3.


Ces raisons nous ont obligé à étudier, développer et à concevoir une nouvelle
carte de commande qui permet de contrôler le bras ROB3 en boucle fermée via une loi
de commande conventionnelle. .[13]

II.2.4. Propriétés mécaniques:

La structure ROB3 est composée de pièces en aluminium vissées entre elles.


Chacun des cinq axes indépendants est lié par un servomoteur à courant continu. La
puissance de transmission est assurée par des engrenages. Pour la transmission des
axes 3 et 4, des chaines dentées sont utilisées en plus. Les positions absolues de tous
les axes sont déterminées par des capteurs de position (potentiométriques). Cette
caractéristique la plus marquante du ROB3 garantie que, même après le passage à une
autre position, le robot repère la position exacte de chaque axe.

Comme il est représenté dans la Figure I.15, le bras manipulateur ROB3 possède
en total 5 axes de rotations. Le tableau II.1 permet de représenter les différentes limites

15
Chapitre II Description du ROB3 , modèle cinématique et dynamique

des angles du bras manipulateur.[13]

Figure II.2: Les axes du robot ROB3.

Figure II.3: Les dimensions du robot ROB3


II.3. Commande d’un moteur DC :
Les moteurs à courant continu sont très utilisés dans les systèmes automatiques qui
nécessitent une variation précise de la vitesse de rotation.
Le ROB3 composé des moteur à courant continu
Les actionneurs : Le bras est muni de six petits moteurs à courant continu,
trois moteurs de marque «Bühler» et les trois autres sont des petits servomoteurs
«Multiplex». Cinq d’entre d’eux sont destinés chacun à faire mouvoir une articulation.
En revanche, le dernier est adapté pour ouvrir et fermer la pince.
Les moteurs utilisés sont des moteurs à aimants permanents. Ils fonctionnent avec une
tension de 9V
générée par une alimentation continue stabilisée et un courant max de 3A.
Le moteur électrique à courant continu est le muscle du bras de robot, qui est un

16
Chapitre II Description du ROB33 , modèle cinématique et dynamique

dispositif électromécanique servant


servant à convertir de l’énergie électrique d’entrée en
énergie mécanique.
En effet, il existe plusieurs types de moteurs électriques, on a étudié un seul cas,
Ils agit d'un moteur à courant continu à aimants
aimants permanents. Ces moteurs qui
Présentent une très faibles inertie mécanique, sont très bien adaptés aux applications
nécessitant des variations rapides de vitesse de rotation ou commande en position
(périphériques d'ordinateurs, robotique, etc.…). Ils sont toujours commandés par un
ensemble électronique
que comportant une alimentation de puissance avec une
électronique de commande réalisant un asservissement.
Classiquement, un moteur à courant continu est constitué d'un stator fixe et d'un
rotor mobile. Le courant continu arrive par les cosses à l'extérieur
l'extérieur de la carcasse sur
des balais souples. Le collecteur est la partie du rotor qui touche les balais. Le rotor est
constitué, quand à lui, de plusieurs bobines, toujours en nombres impairs, reliées au
collecteur. Lorsque l'une des bobines reçoit le courant continu, elle crée un champ
magnétique, mais la carcasse du stator abrite aussi deux aimants de pôles opposés. Le
champ magnétique créé attire les pôles des aimants, créant par cela une rotation de
l'axe du moteur.

Figure II.4: Moteur à aiment permanent

17
Chapitre II Description du ROB33 , modèle cinématique et dynamique

Les capteurs :

Plusieurs technologies de construction des capteurs existent. On rencontre dans


ce contexte des capteurs incrémentaux et potentiométrique. Pour notre plateforme, des
capteurs de position potentiométriques sont utilisés.
Le potentiomètre sert à l'asservissement de position. L'axe du chaque potentiomètre
est solidaire de chaque l'axe de robot ROB3. Donc le potentiomètre tourne en même
temps que l'axe de sortie. La résistance à la borne du potentiomètre
potentiomètre varie donc en
fonction de la position de l'axe. La résistance du potentiomètre est en rapport avec la
durée du signal.[13]

Figure II..5: Capteur de position (Potentiomètre)

II.4. Modèle cinématique et dynamique de robot :

On procède par simplifié notre projet pour se focaliser sur les performances de la loi de
commande NL proposées pour cela, on considère seulement deux links du ROB3.

II.4.1. Modèle Cinématique

II.4.1.1 Modèle Cinématique


Cin direct :

Etant donné les angles des joints et la géométrie des liens, calculez l'orientation de
l'effecteur final par rapport au cadre de base.[12]
base

II.4.1.2 Modèle Cinématique inverse :

Étant donné la position


tion et l’orientation de l’effecteur final par rapport au cadre de base,
calculez tous les ensembles possibles d’angles de joint et de géométries de liaison pouvant

18
Chapitre II Description du ROB33 , modèle cinématique et dynamique

être utilisés pour atteindre la position et l’orientation données de l’effecteur final. .[12]

Figure II.6 : Configuration d'un manipulateur planaire 2R

Cinématique direct :

x  l1 cos 1  l2 cos(1   2 )
(II.1)
y  l1 sin 1  l2 sin(1   2 )

Cinématique inverse :
2 2 2 2
x 2  y 2  l1 cos 2 1  l2 cos 2 (1   2 )  2l1l2 cos 1 cos(1   2 )  l1 sin 2 1  l2 sin 2 (1   2 )  2l1l2 sin 1 sin(1   2 )
2 2
 l1  l2  2l1l2 [cos 2 1 cos  2  sin 2  2 cos  2 ]
2 2
(II.2)
 l1  l2  2l1 l2 cos  2
Ensuite, nous utilisons les égalités suivantes:
( ± )= ± cos x sin y
( ± ) = ± sin
± sin x sin y (II.3)

Donc
2 2 2 2
x 2  y 2  l1 cos 2 1  l2 cos 2 (1   2 )  2l1l2 cos 1 cos(1   2 )  l1 sin 2 1  l2 sin 2 (1   2 )  2l1l2 sin 1 sin(1   2 )
2 2
 l1  l2  2l1l2 [cos 2 1 cos  2  sin 2  2 cos  2 ]
2 2
(II.4)
 l1  l2  2l1 l2 cos  2

Et
2 2
x 2  y 2  l1  l1
cos 2  (II.5)
2l1l2
À partir de là, l'angle pourrait être obtenu directement à l'aide de la fonction arccose, mais
cette fonction est très imprécise.

19
Chapitre II Description du ROB3 , modèle cinématique et dynamique

pour les petits angles. Le moyen typique d'éviter cette imprécision consiste à convertir
davantage jusqu'à ce que nous puissions utiliser la fonction atan2.

cos 2  2  sin 2  2  1
(II.6)
sin  2   1  cos 2  2

Les deux solutions correspondent aux configurations «coude haut» et «coude bas», comme
illustré à la figure 1 (a et b).

Finalement nous obtenons:


 2  atan 2(sin  2 cos  2 )
 atan2( 1  cos 2  2, cos  2 )
2 2 2 2
x 2  y 2  l1  l 2 2 x 2  y 2  l1  l 2
 atan2( 1  ( ) , )
2l1l 2 2l1l 2
Pour résoudre θ1, nous réécrivons les équations non linéaires d’origine en modifiant les
variables comme suit (voir plus bas).(Figure 7):

= + ( + ) (II.7)

= + ( + )

= −

= +

Figure II.7: (figure 1 (a) )

20
Chapitre II Description du ROB3 , modèle cinématique et dynamique

= + (II.8)
=

Ensuite, nous changeons la manière dont nous écrivons les constantes k1, k2 (voir figure 8)
= + (II.9)

=antan2( , ) (II.10)

= r cos

= r sin

Figure II.8: (Figure 2(b))

Insérer dans les transformations précédentes de x et y donne:

= − (II.11)

= − (II.12)

21
Chapitre II Description du ROB3 , modèle cinématique et dynamique

Ou
= − (II.13)
= − (II.14)

Ou

= ( + )

= ( + )

Application de la fonction atan2:


y y
  1atan2( , )  atan2( y, x)
r r (II.15)
1  atan2( y, x )  atan2(k 2 , k1 )

k 1 l1  l 2 cos  2
k 2  l 2 sin  2
Remarques
• Le passage à un autre choix de signe dans la solution pour θ 2 ci-dessus changera le signe de
k 2 et affectera donc θ 1.

• Si x = y = 0, la solution devient indéfinie. Dans ce cas, θ 1 est arbitraire. Notez que c'est
possible uniquement si les deux maillons ont la même longueur et peuvent se replier l'un sur
l'autre.

II.4.2. Modèle dynamique de robot :

Figure II.9 : Configuration d'un manipulateur planaire 2R

22
Chapitre II Description du ROB3 , modèle cinématique et dynamique

On peut mettre
1 = 1 1 (II.16)
1 = 1 1 (II.17)
2 = 1 1 + 2 ( 1 + 2)

2 = 1 1 + 2 ( 1 + 2)

Ainsi, l'énergie cinétique pourrait être formée comme

KE= 1 1 ̇ + 1 1 ̇ + 2 2 ̇ + 2 2 ̇ (II.18)

Par simplification
2 2 2
KE=( M1 + M2 ) 1 1̇ + 2 2 ̇
1 + 2 2 1 2 + 2 2 ̇
2

+ M2L1 L2 cos 2 ( 1 2+ 1̇ )
Et l'énergie potentielle est
PE= M1g 1 1 + M2 g( 1 1 + 2 ( 1 + 2)) (II.19)
Par Lagrange Dynamique
L= KE- PE
2
L= ( M1 + M2 ) 1 1̇ + 2 2 ̇
1 + 2 2
2
1 2 + 2 2 ̇ 2 -
2 1 1 + M2

g( 1 1 + 2 ( 1 + 2)) (II.20)
L’equation dynamique

ƒ 1,2 =
1,2
-
1,2
(II.21)

Après la simplification
2 2
( ( M1 + M2 ) 1 + 2 2 + 2 2 1 2 2 ) 1̈ +( 2 2 +2 2 1 2 2 ) 2̈

- 2 1 2 2 (2 1̇ 2 + 2̇ ) - ( M1 + M2 ) g 1 1 - 2g 2 ( 1 + 2)= ƒ 1 (II.22)

2 2
( 2 2 + 2 1 2 2 ) 1̈ + 2 2 2̈ - 2 1 2 2 1̇ 2̇ - 2g 2 ( 1 + 2) = ƒ 2

Donc, nous pouvons décrire le mouvement du système en


B(q) ̈ +C( ̇ ,q)+g(q)=F (II.23)
Ici nous avons
1 = 2 = 1 = 2 = 1

23
Chapitre II Description du ROB3 , modèle cinématique et dynamique

II.5. Commande des robots manipulateurs :


II.5.1. Commande hybride force/position :
La commande hybride est certes une des plus utilisée à l’heure actuelle. Le principe en
lui-même est celui d’appliquer le principe du découplage des degrés de liberté du
manipulateur de façon qu’un ou un certain nombre de degrés de liberté agissent en force et les
autres en position. Ce type de méthode à l’avantage d’être facilement implantable et très
efficace pour un nombre de tâche comme le suivie de trajectoire et la commande en force.
Aussi, disposant des principes de la commande hybride, l’opérateur qui agit en conséquence
doit se livrer à une analyse de la tâche à effectuer pour déterminer le statut à attribuer à
chacune des articulations, ce qui n’est pas forcement.[8]
II.5.2. Commande PI
Cette commande est basée sur l’action de deux correcteurs à savoir le correcteur
Proportionnel et le correcteur Intégral. Ce correcteur permet d’augmenter le gain uniquement
aux basses fréquences. Il sera donc utilisé pour améliorer la précision d’un système asservi.
.[9]
II.5.3. Type de commande de PID :
Cette commande est basée sur un ensemble des lois linéaires de type PID (proportionnel
intégral dérivé) à gains constants, et le régulateur standard (PID) est le régulateurle plus utilisé
dans l’industrie, car il permet de régler à l’aide de ses trois paramètres les performances
(amortissement, temps de réponse) d’une régulation d’un processus modélisé par un deuxième
ordre. Pour élaborer une commande PID, il faut considérer chaque articulation du robot
comme un mécanisme indépendant et pouvant être linéarisé dans une zone de
fonctionnement.[9]
II.5.3.1. Effets du régulateur proportionnel-Intégral-Dérivé :
Diminution du temps de montée.
Elimination de l’erreur statique.
Diminution du temps de stabilisation.
Diminution du dépassement. .[9]
Remarque :
en cas d’erreur de position il faut augmenter le gain proportionnel et le gain dérivé.
et finalement, quand les gains proportionnel et dérivé sont optimisés, le gain intégral est
ajusté en augmentant sa valeur tant que l’erreur de position statique est suffisamment
réduite..[9]

24
Chapitre II Description du ROB3 , modèle cinématique et dynamique

II.5.3.2. Méthode de contrôle :


Les termes de l’équation du PID ne sont pas tous nécessairement utilisé. Pour appliquer
l’approche PID à un problème de contrôle particulier, on peut utiliser des réglages (tuning),
décidant quels termes à inclure, et quels gains utiliser.
Bien qu’il existe des approches analytique, des règle de base, et des logiciels spécialisés et
tant d’autres méthodes pour sélectionner les coefficients de gain, on arrive à ceux si
(spécialement dans les petits systèmes) en observant la réponse réelle du processus à un
ensemble particulier se coefficients et de les ajuster jusqu’à arriver au contrôle souhaité.[10]

l’équation de régulation peut être exprimée en diverses manières, mais une formulation
serait :
Upid = kp*error + ki*cumError + kd*rateError (II.24)

Error est la différence entre la valeur actuelle de la variable du processus et le point


consigne désiré, généralement écrit comme suit : Error = (SetPoint - Actual)

d(Error) /dt est le temps de changement de la variable du processus contrôle, où de


l’erreur elle-même.

Le coefficient du Proportionnel Kp, le coefficient de l’Intégral Ki, et le coefficient de la


Dérivée Kd sont des gains qui règlent l’équation du PID au processus particulier contrôle.
Drive est l’effort de contrôle total (voltage où courant) appliqué aux actionneurs (chauffages,
moteurs, vannes) pour atteindre et maintenir le point de consigne.

Figure II.10. Schéma de commande PID pour un moteur de robot

25
Chapitre II Description du ROB3 , modèle cinématique et dynamique

II.6. Technique de commande à MLI « PWM » :


La qualité de la tension de sortie d’un hacheur dépend largement de la technique de
commande utilisée pour commander les interrupteurs de ce hacheur. Il existe plusieurs
techniques de commande et le choix d’une technique parmi toutes les possibilités dépend
essentiellement du type d’application auquel l’appareil est désigné. La technique la plus
utilisée dans les variateurs de vitesse pour MCC est la commande par modulation de la largeur
d’impulsion MLI. Les techniques de modulation de largeur d’impulsions sont multiples.
Cependant, quatre catégories de MLI ont été développées.
•Les modulations sinus-triangle effectuant la comparaison d’un signal de référence à une
porteuse, en général, triangulaire;
•Les modulations pré-calculées pour lesquelles les angles de commutation sont calculés hors
ligne pour annuler certaines composantes du spectre ;
•Les modulations post-calculées encore appelées MLI régulières symétriques ou MLI
vectorielles dans lesquelles les angles de commutation sont calculés en ligne ;
•Les modulations stochastiques pour lesquelles l’objectif fixé est le blanchiment du spectre
(bruit constant et minimal sur l’ensemble du spectre). Les largeurs des impulsions sont
réparties suivant une densité de probabilité représentant la loi de [Link]
développement considérable de la technique de modulation en largeur d’impulsion ouvre une
large étendue d’application dans les systèmes de commande et beaucoup d’autres fonctions.
Elle permet une réalisation souple et rentable des circuits de commande des hacheurs.
II.6.1. Principe de la commande MLI :
Le Principe de base de la Modulation de la Largeur d’impulsion MLI est fondé sur le
découpage d’une pleine onde rectangulaire. Ainsi, la tension de sortie est formée par une
succession de créneau d’amplitude égale à la tension continue d’alimentation et de largeur
variable. La technique la plus répondue pour la production d’un signal MLI est de comparer
entre deux signaux.
•Le premier, appelé signal de référence, est un signal continu qui varie entre deux seuils
définis en fonction de notre application. Dans notre cas, la tension de référence varie entre ±
10V.
•Le second, appelé signal de la porteuse définit la cadence de la commutation des
interrupteurs statiques du convertisseur. C’est un signal de haute fréquence par rapport au
signal de référence.
•L’intersection de ces signaux donne les instants de commutation des Interrupteurs.
26
Chapitre II Description du ROB3 , modèle cinématique et dynamique

II.7. Le réglage (tuning) :


Comme mentionné auparavant, le processus de la détermination des valeurs appropriés des
coefficients des gains Kp, Ki, et Kd s’appel « le tuning » (réglage). Une approche empirique
simple est de commencer par donner 0 aux gains de l’intégral et la dérivative et utiliser
seulement le terme proportionnelle. Régler le gain proportionnel continuellement montant va
finalement causer des oscillations dans le système. C’est une réaction qu’on veut éviter. On va
réduire le gain proportionnelle jusqu’à ce que ça atteint le point d’avant oscillation. Et
finalement on ajoute un peu de gain intégral pour aider le système a arriver au setpoint final.
Les meilleurs coefficients pour un système de contrôle donné dépendent des objectifs
voulus de ce système.

II.8. Conclusion :
Au cours de ce chapitre on a exposé la description du ROB3 et les modèles cinématique et
dynamique simplifié de deux articulations du robot, notamment la commande des robots
manupilateur, on évoqué les points de conception d’un régulateur numérique PID utilisé dans
notre projet et le technique de commande MLI.

27
ChapItre III: Outils de
développement, mise en œuvre de la
commande du robot
Chapitre III Outils de développement, mise en œuvre de la commande du robot

III.1. Introduction :
Dans ce chapitre sera présenté les outils de développement, mise en œuvre de la
commande du robot .
Donc, on donnera une présentation sur L’Arduino ainsi on a parlera de la carte
de puissance (le driver L293D ) avec une explication théorique du principe de
fonctionnement en quatre quadrants du pont H .
III.2. Présentation de l’Arduino:
Comme tout projet dans le domaine ; l’utilisation d’un micro contrôleur est
inévitable, nous utiliserons Arduino Uno.
Arduino Uno est un freeware (matériel libre) qui peut être programmé pour
analyser où produire des signaux électriques et exécuter des commandes, son interface
facile et son langage de programmation simple en font un des microcontrôleurs les
plus utilisés dans le monde, que ce soit par les débutants où par les utilisateurs plus
expérimentés.[7]
Le système Arduino permet à l’utilisateur de réaliser un grand nombre de projets
puisque l'étendue de l'utilisation de l'Arduino est gigantesque. Voici quelques
exemples:

Contrôler les appareils domestiques


Fabriquer son propre robot
Faire un jeu de lumières
Communiquer avec l'ordinateur
Télécommander un appareil mobile

La plateforme Arduino est constituée de deux choses :


Partie Hardware (Le matériel) : cartes électroniques dont les schémas
sont en libre circulation sur internet.
Le logiciel (Software) : gratuit et open source, développé en Java, dont la
simplicité d'utilisation relève du savoir cliquer sur la souris.

Cette liberté a une condition : le nom « Arduino » ne doit être employé que pour
les cartes «officielles ». En somme, les concepteurs ne pouvant pas fabriquer leurs
propres cartes sur le modèle Arduino et leurs assigner le nom « Arduino ».

28
Chapitre III Outils de développement, mise en œuvre de la commande du robot

III.2.1 La syntaxe du langage :


La syntaxe d’un langage de programmation l’ensemble des règle d’écriture liées à
ce langage.
Le langage Arduino est très proche de C et du C++.

III.2. 2. Bibliothèque
ibliothèque arduino proteus (Library Proteus) :
L’environnement Arduino peut être étendu en utilisant des bibliothèques, tout
comme la plupart des plateformes de programmation. Les bibliothèques fournissent
des fonctionnalités supplémentaires pour les esquisses, par exemple. travailler avec du
matériel ou manipuler des données.
données

III.2. 3. Arduino Robot Library :

 Robot – this library enables easy access to the functions of the Arduino Robot.

Figure III.1 : Include Library

III.2.4. Schéma simplifié de la carte Arduino UNO:


Les broches du microcontrôleur sont reliées à des connecteurs et la carte fournit les
informations selon les schémas ci-dessous:
ci

29
Chapitre III Outils de développement, mise en œuvre de la commande du robot

Figure III.2:
I Schéma simplifié de la carte

Figure III.3: la carte Arduino UNO


Arduino UNO
La carte Arduino UNO est une carte à microcontrôleur basé sur l’Atmega 328, elle
dispose :
14
14 broches numériques d’entrée/sortie (dont 6 peuvent être utilisées en sortie
PWM (largeur d’impulsion modulée).
66 entrées analogiques (qui peuvent également être utilisées en broche
entrée/sortie numériques).
D’un
D’un quartz 16 MHZ.
D’une
D’une connexion USB.
D’un
D’un connecteur d’alimentation.

30
Chapitre III Outils de développement, mise en œuvre de la commande du robot

D’un connecteur Icsp (programmation ‘in-circuit’).


D’un bouton de réinitialisation (reset).
Nomenclature des connecteurs Arduino :
0 à 13 : Entrées/sorties (INPUT/OUTPUT) numériques
A0 à A5 : Entrées/sorties (NPUT/OUTPUT) analogiques
GND : Terre ou bien masse (0V)
5V : Alimentation +5V
3.3V : Alimentation +3.3V

Vin : Alimentation non stabilisée (= le même voltage que celui à l’entrée de la carte

III.2.5. Microcontrôleur ATMELATMega328 :

Le microcontrôleur de la carte Arduino UNO est un ATMega328. C'est un microcontrôleur


ATMEL de la famille AVR 8bits. Les
principales caractéristiques sont :
FLASH = mémoire programme de 32Ko
SRAM = données (volatiles) 2Ko
EEPROM = données (non volatiles) 1Ko
Timers/Counters : Timer0 et Timer2 (comptage 8 bits), Timer1 (comptage 16bits)
Chaque timer peut être utilisé pour générer deux signaux PWM.
Plusieurs broches multi-fonctions : certaines broches peuvent avoir plusieurs fonctions
différentes, choisies par programmation. Elles ont alors plusieurs noms sur le brochage (voir
ci-avant)
Par exemple, les broches PB1, PB2, PB3, PD3, PD5, PD6 peuvent servir de sortie
PWM (Pulse Width Modulation), c'est-à-dire des sorties qui joueront le rôle de sorties
analogiques. Elles correspondent aux broches des connecteurs 3,5,6,9,10 et 11. Cet autre
rôle possible est lié aux timers et ces broches sont alors appelées OCxA ou OcxB dans la
documentation. Ce sont les mêmes broches, mais pour une autre fonction. Si vous
regardez à nouveau le brochage, vous constaterez que toutes les broches sont multi-
fonctions.

PWM = 6 broches OC0A(PD6), OC0B(PD5), 0C1A(PB1),


OC1B(PB2), OC2A(PB3), OC2B(PD3)
Les broches du PORTC peuvent être converties par un convertisseur Analog toDigital.
Analog to Digital Converter (résolution 10bits) = 6 entrées multiplexées
ADC0(PC0) à ADC5(PC5)

31
Chapitre III Outils de développement, mise en œuvre de la commande du robot

Gestion bus I2C (TWI Two Wire Interface) = le bus est exploité via les
broches
SDA(PC5)/SCL(PC4).
Port série (USART) = émission/réception série via les broches
TXD(PD1)/RXD(PD0) Comparateur Analogique = broches AIN0(PD6)
et AIN1 (PD7) peut déclencher interruption Watchdog Timer programmable.
Gestion d'interruptions (24 sources possibles (cf interrupt vectors)) : en
résumé
Interruptions liées aux entrées INT0 (PD2) et INT1 (PD3)
Interruptions sur changement d'état des broches PCINT0 à PCINT23
Interruptions liées aux Timers 0, 1 et 2 (plusieurs causes
configurables)
Interruption liée au comparateur analogique
Interruption de fin de conversion ADC
Interruptions du port série USART
Interruption du bus TWI (I2C)

III.2.6. L’alimentation :

Pour fonctionner la carte a besoin d’une alimentation .Le microcontrôleur


fonctionnant sous 5V, la carte peut etre alimentée en 5V par le port USB ou bien par
une alimentation externe qui est comprise entre 7V et 12 V . Cette tension doit être
continue et peut par exemple être fournie par une pile 9V, un régulateur se charge
ensuite de réduire la tension à 5V pour le bon fonctionnement de la carte.

III.2.7. Visualisation :

Les trois LED de l’Aduino UNO servent à deux choses :

 La LED jaune en haut : elle est connecté à une broche du microcontrôleur et va
servir pour tester le matériel.

Les deux LED orange : servent à visualiser l’activité sur la voie série (une pour
l’émission et l’autre la réception). Le téléchargement du programme dans le

32
Chapitre III Outils de développement, mise en œuvre de la commande du robot

microcontrôleur se faisant par cette voie, on peut les voir clignoter lors du
chargement.

III.3. Le Driver L293D :

Le composant L293D est un pont de puissance composé de plusieurs transistors et


relais qui permet d’activer la rotation d’un moteur. Ce composant se trouve
facilement sur Ebay et ne coûte pas très cher.
Le L293D est un double pont-H, ce qui signifie qu’il est possible de l’utiliser pour
commander quatre moteurs distincts (dans un seul sens) grâce à ses 4 canaux.
Il est également possible de constituer deux pont-h afin de piloter deux moteurs
distincts, dans les deux sens et indépendamment l’un de l’autre.
Il est important de noter que le L293D peut délivrer au maximum 600mA,
veuillez donc choisir vos moteurs en conséquence.

Figure III.4: le composant L293D

Le schéma suivant détaille les différentes broches du composant L293D:

Figure III.5: L293D pins

33
Chapitre III Outils de développement, mise en œuvre de la commande du robot

 Enable1: permet d’envoyer (ou pas) la tension sur les sorties du moteur via
OUTPUT1 et OUTPUT2 et commande l’activation/désactivation du premier Pont-H.
Si ENABLE1 = GND, le pont-H est déconnecté et le moteur ne fonctionne pas. Si
ENABLE1 = VSS, le pont-H est connecté aux sorties et le moteur fonctionne dans un
sens ou l’autre ou pas en fonction des tensions appliquée sur INPUT1 & INPUT2.

Input1: avec Input 2, sont les broches de commande du Pont-H


Output1/Output2. Il sera directement brancher à votre Arduino pour commander le
sens du courant entre Output 1 et Output 2.

 Ouput1: avec Output 2, sera branché directement sur le moteur.

GND: qui doit être raccorder à la masse de la source d’alimentation de puissance


VS et à la masse de la source d’alimentation de la logique “VSS” (donc GND
Arduino).

 Ouput2: avec Output 1, sera branché directement sur le moteur.Input2:


avec Input 1, sont les broches de commande du Pont-H Output1/Output2. Il sera
directement brancher à votre Arduino pour commander le sens du courant entre
Output 1 et Output 2.

VS: Alimentation de puissance des moteurs.

Enable2: commande l’activation du second pont-H constitué de


Output3/Output4

Input3: avec Input 4, sont les broches de commande du Pont-H


Output3/Output4. Il sera directement brancher à votre Arduino pour commander le
sens du courant entre Output 3 et Output 4.

Ouput3: avec Output 4, sera branché directement sur le moteur.

Ouput4: avec Output 3, sera branché directement sur le moteur.

34
Chapitre III Outils de développement, mise en œuvre de la commande du robot

Input4: avec Input 3, sont les broches de commande du Pont-H


Output3/Output4. Il sera directement brancher à votre Arduino pour commander le
sens du courant entre Output 3 et Output 4.

VSS: Alimentation de la logique de commande (5V). A raccorder à la borne


+5V de votre Arduino.

Veuillez noter que les pins Enable1 et Enable2 permettent moduler la vitesse du
moteur en utilisant des broches PWM de votre Arduino. Si vous ne souhaitez pas
moduler la vitesse du moteur DC, il vous suffit de brancher Enable1 sur la broche
VSS de votre Arduino.

[Link]éristiques techniques du L293D :

Voici les caractéristiques techniques du composant L293D:

 Nbre de pont-H: 2
 Courant Max Régime continu: 600mA (x2)
 Courant de pointeMax < 2ms: 1200mA
 VS Max Alim moteur: 36v
 VSS Max Alim logique: 7v
 Nbre de Broches: 16 DIP
 Perte de tension: 1.3v

[Link] du L293D :
Le tableau suivant vous permettra de faire fonctionner votre moteur DC en
utilisant le composant L293D :
Enabel 1 Input 1 Input 2 Fonction
High Low High Tourne dans le sens horlogique
High High Low Tourne dans le sens anti-horlogique
High Low Low Stop
High High High Stop
Non Non
Low Stop
applicable applicable

Tableau III.1: L293D Commande

35
Chapitre III Outils de développement, mise en œuvre de la commande du robot

III.3.3. Branchement du sheild moteur basé sur L293D avec 4 Moteu


Moteur DC :

Figure III.66: Branchement du L293D avec 4 Motors DC


III.3.4. Pont-H L293D :
Dans son principe de base, le pont H est un assemblage de 4 transistors (2 PNP et
2 NPN) monté de telle façon que le courant puisse passer soit dans un sens, soit dans
l'autre au travers de la charge (un moteur continu par exemple).
En inversant le sens du courant dans le moteur, ce dernier changera de sens de
rotation.

Figure III.7: Pont-H L293D


Dans le dessins ci-dessous,
dessous, il est clairement visible que
que le moteur fonctionne dans un
sens si Q3 et Q2 sont commutés

36
Chapitre III Outils de développement, mise en œuvre de la commande du robot

Figure III.8: premier sens du moteur


ET dans l'autre sens Q1 et Q4 sont commutés.

Figure III.9: deuxième sens du moteur


Attention au court-circuit :

Bien évidemment, ni Q3 et Q1, ni Q4 et Q2 ne peuvent jamais être commutés en


même temps car cela provoque un court-circuit franc, qui qui détruirait probablement
le pont-H, voir le module de régulation de l'alimentation.

 On a utilisé le circuit intégré L293d , muni (dofé) de 2 pont hacheur à quatre


quadrants avec diode antiparallèle de protection.
Pour votre information, les convertisseurs de puissance peuvent être segmentés en
4 catégories correspondant aux 4 quadrants du plan tension-courant. Vous voulez
utiliser 2 quadrants: positif V positif I, négatif V négatif I. Ceci peut en fait être
réalisé avec 2 transistors et 2 diodes au lieu du complet, 4 transistors (+ diode), pont .

37
Chapitre III Outils de développement, mise en œuvre de la commande du robot

Figure III.10 : alimentation bipolaire à quatre quadrants


III.3.5. Shield L293d motor Adafruit :
Le module est basé sur deux drivers L293D et peut contrôler jusqu'à 4 moteurs
CC avec une intensité de 0,6 A par sortie (1,2 A en pointe).
Alimentations: 5 à 36Vcc
Connections pour moteurs:
2 connecteurs pour servos
4 moteurs CC ou 2 moteurs pas-à-pas
Bouton reset
Dimensions: 69 x 53 x 15 mm

38
Chapitre III Outils de développement, mise en œuvre de la commande du robot

Figure III.11 : Sheild L293d motor Adafruit

III.4. La valeur PWM :


La valeur du paramètre du rapport cyclique PWM doit être un entier qui varie entre
0 et 255, Ainsi quand vous calculez la somme des termes P, I, et D vous devez mettre
à l’échelle la valeur finale Drive dans la gamme 0-255.
Le terme Intégral :
L’utilisation d’intégrale peut être problématique. Dans les systèmes de contrôle
PID il y’a un problème qu’on nomme « windup », qui se produit comme suit : le
terme intégral calcule le total des erreurs passée a travers le temps. Si un système
commence loin du point de consigne final désiré, l’erreur initiale sera grande, et le
terme intégral va très vite s’agrandir. Cet intégral cumulé produit généralement en
effet dominant qui empêche le système à une arrivée rapide au point de consigne.
Pour éviter ce problème, un nombre de méthodes a été utilisé, dans notre cas on a
utilisé une fonction souille. [14]
Un appel à analogWrite () est sur une échelle de 0 à 255, de sorte que analogWrite
(255)
demande un cycle de travail de 100% (toujours activé) et analogWrite (191)
correspond à un cycle de travail de 75% , analogWrite (127) correspond à un cycle de
travail de 50% (la moitié du temps) puis analogWrite (64) correspond à un cycle de
travail de 25% exemple :

39
Chapitre III Outils de développement, mise en œuvre de la commande du robot

Figure III.12 :Cycles d’impulsions

[Link]: Au cours de ce chapitre on a exposé les outils de développement et


mise en œuvre de la commande du robot , On a donnera une présentation sur
l’Adrduino puis on a parlera de la carte de puissance (le driver L293D ) avec une
explication théorique du principe de fonctionnement en quatre quadrants du pont H et
Sheild L293d motor Adafruit ainsi que on a expliquer la valeur PWM .

40
ChapItre V: Commande non-linéaire
; synthèse et résultats de simulation
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

V. 1. Introduction :

Après avoir parcouru les outils de développement et la mise en œuvre de la


commande, Dans ce quatrième chapitre, on va présenter la commande non -linéaire
(ses avantages, ses inconvénients, et l’algorithme de commande implémenté). On
présente aussi par la suite des simulations sur Matlab du manipulateur 2 Link pour
simplification commandé par un régulateur linéaire PID, ensuite par le régulateur
proposé NPID, après quoi, on effectue une comparaison entre les résultats.

Figure V.1 : Schéma fonctionnel du ROB3

41
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

V.2. Commande non-linéaire (PID NL) :


Un système non linéaire commande est un ensemble d’ équations (différentielles
par exemple) non linéaires, décrivant l’ évolution temporelle des variables
constitutives du système sous l’action d’un nombre fini de variables indépendantes
appelées entrées ou variables de commande, ou simplement commandes, que l’on
peut choisir librement pour r réaliser certains objectifs.
Ils y’a beaucoup méthodes pour implémenter la commande non linéaire proposée,
en utilisant simulink par exemple, mais dans notre travail nous avons utilisés le
programme du modèle du robot dans un script Matlab et la fonction ode45 pour la
simulation du système commandé [11].
V.2.1. Avantages de NPID :
 On n’est pas contraint à la modélisation approfondie et précise du système à
commander pour pouvoir le contrôler.
 L’obtention de meilleures performances dynamiques[14]
V.2.2. Inconvénient de NPID:
 La difficulté de la démonstration de la stabilité du système de commande
dans le cas d'absence d'un modèle du système à commander.
Les régulateurs non-linéaires sont plus intéressants et donnent des performances bien
meilleures que celle des régulateurs classiques. C’est un résultat logique puisque le
robot lui même est de nature non-linéaire. L’action de commande du régulateur
Proportionnel-Intérgrale-Dérivée Non-linéaire NPID est de la forme générale
suivante :
de(t)
u(t)  K p ()e(t)  K d ()  K i () e()d (V.1)
dt
ou : K p() , K i () et K d () sont les gains du régulateur, ils sont variables dans le
temps.
Ce type de régulateur a été utilisé pour compenser les effets du frottement sur un
servomécanisme, les performances de poursuite ont été nettement améliorées.
L’idée de base peut se voir sur la courbe de l’erreur figure 3.4, ou on peut distinguer
deux régions différentes, une région aux gains élevés et l’autres aux gains réduits

42
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

Régions à gains
Erreur élevés
(rad)

Temps (s)

Figure V.2 : Illustration de l’action proportionnelle du régulateur NPID et des


régions à gains élevés.

Application du gain élevée dans la zone e. ̇ > 0 (évolution loin de l’objectif)


Et un gain modéré dans la zone e. ̇ < 0 (évolution vers l’objectif)
Le gain proportionnel du régulateur sera :

 K0 sgn(e)  sgn(de)
K p (t )   dt (V.2)
 K 0  K1 sgn(e)  sgn(de)
dt
K 0 et K1 sont des gains positifs réels.
le gain élevé est appliqué quand l’erreur évolue loin du but, la région en sombre.
Donc, l’action de commande augmente la raideur du système pour un cycle et réduit
ainsi l’effet des nonlinéarités sur les performances en termes d’erreur. Les régulateurs
flous, à structure variable, et neuronaux, partant du même principe sont aptes à donner
de bons résultats.
V.2.3. L’algorithme de commande non-linéaire NPID implémenté sur Arduino :
Sur Arduino C, et pour nous faciliter la tâche, on a implémenter une fonction NPID,
qui génère la commande sous forme d’un « integer » ; qui doit être traiter par un
« mapping » entre 0 et 255, puisqu’il est injecter directement sous forme de PWM au
« motor shield basé sur le L293d ». L’algorithme implémenté calcul l’erreur, et le
gain proportionnel nonlinéaire en utilisant la logique suivante :

43
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

If (e*de>0) ==> kp = kph = K0+K1


If (e*de<0) ==> kp = kpl = K0 (V.2)
UNPID = kp*error + ki*cumError + kd*rateError
Remarque : seul l’action proportionnel est nonlinéaire, les actions intégrale et
derivée sont linéaire à gains constants.
V.3. Le flux de l’algorithme de la commande :

Figure V.3: L’organigramme de la commande appliquée au ROB3


P PID [Link]
u=kp*e u = kp*error + if(e*de>0)
ki*cumError + kp=kph
kd*rateError if(e*de<0)
kp=kpl
Error = kp*error +
ki*cumError + kd*rateError

Tableau V.1 : l’algorithme de commande P, PID, NPID

44
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

Initialisation
Lecteur ADC: les valeurs que va nous fournir le capteur de position
(potentiométrique) de chaque moteur.
Clacul de l’erreur : par le régulateur PID linéaire ou le régulateur PID Non linéaire
.
calcul PWM : les impulsions qu’on va envoyer au Driver L293d des moteurs.
Application : résultant du mouvement des articulations du robot ROB3.
V.4. Le modèle 3D du rob3 avec Robotics toolbox:
Dans le but de développer un modèle virtuel du ROB3, on a utilisé un outils qui nous
facilite la tache : Robotics Toolbox, qui sert à produire un modèle 3D virtuel sous
forme d’un objet, du robot ROB3 à partir des paramètres de Denavit-Hartenberg
reportés dans le tableau ci-dessous :
Link a alpha d theta
1 0 90 L1 θ1
2 L2 0 0 θ2
3 L3 0 0 θ3
4 0 90 0 θ4
5 0 0 L2 θ5

Tableau V.2: Denavit-Hartenberg

Le résultat est dressé sur la figure suivante. On peut exploiter ce modèle et même
l’enrichir en implémentant les dynamiques du robot. On peut aussi le connecter avec
le modèle réel et faire une émulation des taches effectuées par le robot réel.

Figure V.4: Le modèle 3D du ROB3 avec Robotics toolbox

V.5. Les résultats de simulations de la commande PID et NPID appliquée au


Robot 2 Link :

45
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

On présente dans cette partie les résultats des tests de simulation de la commande
proposée sur Matlab. On note qu’il était très difficile de relevé des résultats
expérimentaux de la commande implémentée sur les 4 articulations du ROB3, et cela
est du à plusieurs paramètres, parmi lesquels on cite : la faible précision/résolution des
capteurs de position du robot, la structure du robot que semble très flexible contenant
des nonlinéarités accentuées comme les jeux de transmission et les mécanismes de
transmission à base de courroies…etc.
Comparaisons entre le régulateur Linéaire et Non Linéaire :
On a fait trois essai de simulation pour différents gains (Kp , kd, ki), pour faire des
comparaisons:

Kp1 = 20 Kp2 = 50 Kp3 = 100

Ki1 = 7 Ki2 = 30 Ki3 = 60

Kd1 = 10 Kd2 = 35 Kd3 = 70

Tableau V.3 : les variables des gains proposées pour le theta1

Kp1 = 15 Kp2 = 55 Kp3 = 90

Ki1 = 10 Ki2 = 30 Ki3 = 70

Kd1 = 10 Kd2 = 35 Kd3 = 80

Tableau V.4 : les variables des gains proposées pour le theta2


V.5.1. Résultats de simulation de la commande PID :
Comme on a déjà abordé le réglage et le choix des paramètres du PID, on a fixé ses
paramètres avec test de simulation

46
Chapitre V Commande non-linéaire
linéaire ; synthèse et résultats de simulation

Figure V. 5: theta11 Pid l’essai 1 Figure V.6 : theta1 NPid l’essai 1

Figure V.7: Couple theta1 PID l’essai 1 Figure V.8: Couple theta 1 NPID
l’essai 1

47
Chapitre V Commande non-linéaire
linéaire ; synthèse et résultats de simulation

Figure V.9 : theta2 PID l’essai 1 V.10 : theta2


Figure V.
NPID l’essai 1

Figure V.11: Couple theta2


theta PID l’essai 1 V.12: Couple
Figure V.12
theta2 NPID l’essai 1

L’essai 2 :

48
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

Theta-1 erreur
3.5 Theta-1 erreur
3.5
3
3

theta1 erreur (rad)


theta1 erreur (rad)

2.5

2 2.5

1.5 2

1 1.5

0.5 1
0 0.5
-0.5
0
-1
0 2 4 6 8 10 12 14 16 18 20 -0.5
0 2 4 6 8 10 12 14 16 18 20
temp (sec)
temp (sec)
Figure V.13: theta1 PID l’essai 2 Figure V.14: theta1 NPID l’essai 2
Torque of theta 1
Torque of theta 1 300

1000 250

800
theta1 torque

200
theta1 torque

600 150

400 100

50
200
0
0
-50
-200 0 5 10 15 20
0 2 4 6 8 10 12 14 16 18 20 temp (sec)
temp (sec)
Figure V.15 : Couple theta1 PID l’essai 2 Figure V.16 : Couple
theta1 NPID l’essai 2

49
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

Theta-2 erreur
1 Theta-2 erreur
0.5
0.5
0
theta2 erreur (rad)

theta2 erreur (rad)


0

-0.5 -0.5

-1 -1

-1.5 -1.5
-2 -2
-2.5
-2.5
-3
-3
-3.5
0 2 4 6 8 10 12 14 16 18 20 -3.5
0 2 4 6 8 10 12 14 16 18 20
temp (sec)
temp (sec)
Figure V.17 : theta2 PID l’essai 2 Figure V.18: theta2 NPID l’essai 2

Torque of theta 2 Torque of theta 2


120 30

100 25

80 20
theta2 torque

15
theta2 torque

60
10
40
5
20
0
0 -5
-20 -10

-40 -15

-60 -20
0 2 4 6 8 10 12 14 16 18 20
0 2 4 6 8 10 12 14 16 18 20
temp (sec)
temp (sec)
Figure V.19 : Couple theta2 PID l’essai 2 Figure V.20 : Couple theta2
NPID l’essai 2

50
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

Essai 3
Theta-1 erreur
3.5 Theta-1 erreur
3.5
3
theta1 erreur (rad)

theta1 erreur (rad)


2.5

2 2.5

1.5 2

1 1.5
0.5 1
0
0.5
-0.5
0
-1
0 2 4 6 8 10 12 14 16 18 20 -0.5
0 2 4 6 8 10 12 14 16 18 20
temp (sec)
temp (sec)
Figure V.21 : Couple theta1 PID l’essai 3 Figure V.22 : Couple theta1 NPID
l’essai 2

700
Torque of theta 1 Torque of theta 1
2500
600
2000
theta1 torque
theta1 torque

500

400 1500
300 1000
200
500
100

0 0

-100
0 2 4 6 8 10 12 14 16 18 20
-500
0 2 4 6 8 10 12 14 16 18 20
temp (sec)
temp (sec)
Figure V.23 : Couple theta1 PID l’essai 3 Figure V.24 : Couple theta1
NPID l’essai 3

51
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

Theta-2 erreur Theta-2 erreur


1 0.5
0.5 0

theta2 erreur (rad)


theta2 erreur (rad)

0
-0.5
-0.5
-1
-1
-1.5
-1.5
-2
-2

-2.5 -2.5

-3 -3

-3.5 -3.5
0 2 4 6 8 10 12 14 16 18 20
0 2 4 6 8 10 12 14 16 18 20
temp (sec)
temp (sec)
Figure V.25 : Couple theta2 PID l’essai 3 Figure V.26 : Couple
theta2 NPID l’essai 3

Torque of theta 2 Torque of theta 2


35 120
30 100
25
80
theta2 torque

20
theta2 torque

60
15

10
40

5 20
0 0
-5
-20
-10
-40
-15 0 2 4 6 8 10 12 14 16 18 20
0 2 4 6 8 10 12 14 16 18 20
temp (sec) temp (sec)

Figure V.27: Couple theta2 PID l’essai 3


Figure V.28 : Couple theta2 NPID l’essai 3

52
Chapitre V Commande non-linéaire ; synthèse et résultats de simulation

V.5.2. Résultats de simulation du régulateur NPID :


Concernant le NPID, seul le gain proportionnel aura deux niveaux, un niveau bas qui
est celui du PID linéaire et un niveau haut qui peut être fixer à son tour après des
simulations sur Matlab.
On reporte le résultat de simulation pour différents gain Kp, pour le régulateur
Linéaire , ainsi que le régulateur nonlinéaire pour faire des comparaisons. Il est clair
que l’application de la commande nonlinéaire améliore les résultats de positionnement
du robot, en termes de rapidité (temps de réponse), et de précision (erreur RMS).
V.6. Conclusion :
Ce chapitre a été consacré à la présentation su schéma de commande général du robot
ROB3, ainsi que la simulation des régulateurs de positionnement proposés. On a
exposé les résultats des régulateurs linéaire et nonlinéaire. On peut déduire la
supériorité du NPID par rapport au PID.

53
Conclusion Générale

Conclusion Générale :

Dans notre projet on a utilisé la carte de puissance « ADAFRUIT shield motor


v1 » pour quatre actionneurs de l’articulation du robot manipulateur ROB3, et ensuite
on a procédé par implémenter une commande en position de chaque articulation
(actionneur) sur une carte à microcontrôleur Arduino UNO. Les étapes de mise en
œuvre de note système ainsi que l’évaluation des résultats sont présentées et montrent
l’importance de l’application développée dans notre laboratoire avec les moyens du
bord.
Sur un plan purement technique, en tant qu’automaticiens, ce projet nous a
permis d’expérimenter trois disciplines qui sont proches de notre domaine : la
robotique, l’électronique et l’informatique.
Ce projet de fin d’études a été pour nous l’occasion d’expérimenter enfin nos
études théoriques et pratiques. On peut citer dans cela, la modélisation du robot
manipulateur ROB3, l’utilisation du « ROBOTICS TOOLBOX » pour la création du
modèle cinématique, l’implémentation du régulateur linéaire PID, et nonlinéaire
NPID en langage « embedded C ».
Nous espérons avoir succédé à faire une petite contribution avec ce projet au
laboratoire de notre université, afin de mettre en œuvre une plateforme pédagogique
qui permet de faire les Travaux Pratiques de la robotique au sein du laboratoire, les
années à venir.

54
[1]. ABDELLAOUI, Z., & BENKHELIFA, B. Contrôle d’un robot mobile (Doctoral
dissertation).
[2]. « Robot », dans Dictionnaire de français Larousse.
[3]. « Robotics » , dans English Oxford living Dicionaire .
[4]. Alain Liégeois. Modélisation et commande des robots manipulateurs . Techniques
de l ́ingénieur , page 3, Juin 2000.
[5]. Mechatronics; Auteur: [Link], ISBN9788184314908, Edition 2008.
[6]. Nizar, Chelly. "Support de cours Électricité Générale." Nizar, C. Support de cours
Électricité Générale. NIZAR, Chelly. Support de cours Électricité Générale.
[7]. Barrett, Steven F ; Arduino Microconroller ; Processing for Everyone ; Morgan &
Claypool,325pp, ISBN: [Link] online at UCSD library ; 2010.
[8]. Donatien Nganga-Kouya, Maarouf Saad, Francis A. Okou: A novel adaptive
hybrid force-position control of a robotic manipulator. IJMIC 13(1/2): 97-107 (2011).
[9]. Florent, MOUKO ONGUEDOU Aristide. "MOUEN MOUANGUE Arlette
Joelle."

[10]. M. Belmahdi Mohamed Amine, Modélisation et commande adaptative d’un bras


ma-nipulateur rigide à 2 degré de liberté, Mémoire de Master, UNIVERSITÉ
FERHATABBAS -SÉTIF, 2012.
[11]. Lévine, Jean. "Analyse et commande des systèmes non linéaires." Centre
Automatique et Systèmes Ecole des Mines de Paris (2004).Lévine, J. (2004). Analyse
et commande des systèmes non linéaires. Centre Automatique et Systèmes Ecole des
Mines de Paris. Jean. Analyse et commande des systèmes non linéaires. Centre
Automatique et Systèmes Ecole des Mines de Paris, 2004.
[12]. [Link] Hessmer ; Kinematics for Lynxmotion Robot Arm; scientific article ;
October 2009.
[13]. Florent, M. O. A. MOUEN MOUANGUE Arlette Joelle.
FLORENT, MOUKO ONGUEDOU Aristide. MOUEN MOUANGUE Arlette Joelle.
[14]. [Link], [Link], D Silva Varma , [Link]: PID Controller Using
Arduino; Bachelor of Technology in Electronics and Engineering; 2013.
[15]. MECH 498: Introduction to Robotics, Inverse Manipulator Kinematics
by M. O’Malley

Vous aimerez peut-être aussi