Vous êtes sur la page 1sur 74

République Algérienne Démocratique et Populaire

Ministère de L’Enseignement Supérieur et de la Recherche Scientifique

Université Mouloud Mammeri De Tizi-Ouzou

Faculté De Génie Electrique Et D’informatique


DEPARTEMENT D’automatique

Mémoire de Fin d’Etude


De MASTER ACADEMIQUE
Spécialité : commande des systèmes

Présenté par
Ahmed HAMOUANI

Mémoire dirigé par Pr. Moussa DIAF

Thème

Etude et réalisation d’une commande


d’un système composé d’un robot, d’un
plateau tournant et d’une caméra
Mémoire soutenu publiquement le 28 septembre 2017 devant le jury composé de :

Mem Nadia DJEGHALI


MCA, UMMTO, Présidente

M Moussa DIAF
Professeur, UMMTO, Encadreur

Mem Ouardia CHILALI


MAA, UMMTO, Examinatrice

M Takfarinas CHELLI
MAA, UMMTO, Examinateur
Avant-propos

Ce travail a été réalisé au Laboratoire Vison Artificielle et Automatique


des Systèmes (LVAAS) du département Automatique (LVAAS), FGEI, UMMTO.
Il fait suite au travail d’un mémoire de Magister soutenu et réalisé dans ce
même laboratoire. Nous avons apporté beaucoup d’améliorations par rapport à
la commande du moteur de la table, à la carte de commande, au système de
vision et à la commande du robot.

Nous tenons à remercier vivement Monsieur DIAF Moussa, Professeur pour


nous avoir proposé ce sujet et pour nous avoir guidé et dirigé durant tout ce
travail.

Nos vifs remerciements vont aussi à Messieurs YOUNSI Marzouk, YESLI Samir
et IRATNI Salim, doctorants au LVAAS pour nous avoir aidés et encouragés
durant tout ce projet.

Nous ne manquerons pas de remercier madame DJEGHALI Nadia, MCA au


département Automatique, FGEI, UMMTO, pour nous avoir fait honneur en
acceptant de présider le jury de ce mémoire.

Nous exprimons notre reconnaissance à madame CHILALI Ouardia, MAA au


département Automatique, FGEI, UMMTO, pour avoir accepté de faire partie du
jury d’examen de notre mémoire.

Nos sincères remerciements vont aussi à Monsieur CHELLI Takfarinas, MAA


au département Automatique, FGEI, UMMTO pour avoir accepté de faire partie
du jury d’examen de notre mémoire.
Dédicaces

A mes chers parents, pour tous leurs sacrifices, leur amour, leur tendresse,
leur soutien et leurs prières tout au long de mes études.

A ma chère sœur, Imane, pour ses encouragements permanents, et son


soutien moral.

A mes chers frères, Khaled et Anis , pour leur appui et leur encouragement.

A toute ma famille pour leur soutien tout au long de mon parcours


universitaire.

A mes chères amies, Sabrina, Lila , Thiziri, Ryma, Kenza, qui n’ont cessé de
m’encourager et de me motiver tout au long mon parcours universitaire.

A mes chers amis, Bilal, Rabah, Malek, Moh, Yahia, qui n’ont cessé d’être
pour moi des exemples de persévérance, de courage et de générosité.

Que ce travail soit l’accomplissement de vos vœux tant allégués, et le fruit de


votre soutien infaillible.

Merci d’être toujours là pour moi.


Sommaire

Sommaire

Introduction générale ....................................................................................................... 1

Premier chapitre : Commande du plateau tournant

1.1. Introduction ................................................................................................................................ 4


1.2. Description du plateau tournant ......................................................................................... 5
1.2.1. Composants du plateau tournant ............................................................................... 6
1.2.2. Configuration matérielle ................................................................................................. 6
1.3 Identification du système ........................................................................................................ 8
1.3.1. Méthode d’identification.................................................................................................. 9
1.3.2. Identification du système réel ..................................................................................... 10
1.4. Commande du plateau tournant ....................................................................................... 15
1.4.1. Passage au système discret ......................................................................................... 15
1.4.2. Synthèse du correcteur ................................................................................................. 16
1.4.2.1. Choix du correcteur................................................................................................ 17
1.4.2.2. Implémentation du correcteur ............................................................................... 22
1.5. Conclusion ................................................................................................................................ 24

Deuxième chapitre : Commande du bras manipulateur

2.1 Introduction ............................................................................................................................... 26


2.2 Description du bras manipulateur ..................................................................................... 27
2.3 Modélisation ............................................................................................................................. 28
2.3.2 Modèle géométrique direct ............................................................................................ 29
2.3.3. Modèle géométrique inverse ........................................................................................ 34
2.4. Commande du bras manipulateur .................................................................................... 37
Sommaire

2.4.1. Algorithme de commande ............................................................................................. 38


2.4.2. Implémentation du programme et testes pratiques............................................. 39
2.5. Conclusion ................................................................................................................................ 41

Troisième Chapitre : système de vision artificielle

3.1. Introduction .............................................................................................................................. 42


3.2. Détection de présence ........................................................................................................... 43
3.3. Localisation de l’objet ............................................................................................................ 47
3.3.1. Position de l’objet par rapport au repère fixe ......................................................... 47
3.3.2. Position de l’objet dans l’image................................................................................... 49
3.4. Reconnaissance de forme ..................................................................................................... 51
3.4.1. Détection des contours ................................................................................................. 51
3.4.2. Méthode de classification ............................................................................................. 52
3.5. Conclusion ................................................................................................................................ 58

Conclusion générale ......................................................................................................... 59

Annexes

Bibliographie
Table des figures et des tableaux

Table des figures

Fig.i.1 : Synoptique du système réel. ...................................................................... 2


Fig.1.1 : Schéma explicatif des composants du plateau tournant. .......................... 5
Fig.1.2 : réducteur de type roue et vis sans fin ....................................................... 6
Fig.1.3 : Réponse du moteur. ................................................................................. 7
Fig.1.4 : Circuit de filtrage...................................................................................... 7
Fig.1.5 : Réponse du moteur avant et après filtrage................................................ 8
Fig.1.6 : Schéma d'identification. ........................................................................... 9
Fig.1.7 : Outil d'identification MATLAB. ............................................................... 10
Fig.1.8 : Schéma d'acquisition de valeurs pour l'identification.............................. 11
Fig.1.9 : Introduction des données. ...................................................................... 12
Fig.1.10 : Choix de l'ordre de la fonction de transfert. .......................................... 12
Fig.1.11 : Estimation de la fonction de transfert................................................... 13
Fig.1.12 : Schéma de simulation pour visualiser les deux réponses (réel et estimée).
............................................................................................................................. 14
Fig.1.13 Réponse réel et estimée. ......................................................................... 14
Fig.1.14 Réponses indicielles de g(s) et g(z). .......................................................... 16
Fig.1.15 Implémentation du correcteur dans la boucle de l'asservissement. ......... 17
Fig.1.16 Réponses des correcteurs proportionnels................................................ 18
Fig.1.17 Choix des performances désirées. ........................................................... 19
Fig.1.18 Schéma de simulation pour l'autoréglage du correcteur. ........................ 20
Fig.1.19 Calcul des paramètres du correcteur. ..................................................... 20
Fig.1.20 Réponse du système corrige.................................................................... 21
Fig.1.21 : réponse du système corrige avec une perturbation de type échelon. ..... 21
Fig.1.22 : réponse du système corrige avec une perturbation de type rampe. ....... 22
Fig.1.23 réponse du système discret corrige ......................................................... 23
Fig.1.24 Réponse du système réel corrigé ............................................................. 23
Fig.1.25 Organigramme de l'implémentation du correcteur .................................. 24
Fig.2.1 : Composants du bras manipulateur. ....................................................... 27
Fig.2.2 : Paramètres structuraux du bars manipulateur....................................... 28
Fig.2.3 : Représentation des repères sur le robot. ................................................. 30
Fig.2.4 : repère associé a l’articulation des la pince. ............................................. 32
Fig.2.5 : espace de travail du robot. ...................................................................... 38
Fig.2.6 : représentation des angles commandés par les moteurs. ......................... 38
Fig.2.7 : Organigramme de la commande du robot. .............................................. 39
Fig.2.8 : nuage de points marqué par le robot. ..................................................... 41
Fig.3.1 : Les quatre classes d’objets......................................................................................... 44
Fig.3.2 : Images acquises des quatre objets. ......................................................................... 45
Fig.3.3 : Images aux niveaux de gris. ...................................................................................... 45
Fig.3.4 : Images aux niveaux de gris filtrées. ........................................................................ 45
Table des figures et des tableaux

Fig.3.5 : Histogrammes des images en présence des objets. ........................................... 46


Fig.3.6 : Histogramme de l’image sans objet......................................................................... 46
Fig.3.7 : Organigramme de la détection de présence. ........................................................ 47
Fig.3.8 : Position de la caméra par rapport au repère fixe. .............................................. 48
Fig.3.9 : position du champ de vision sur le plateau tournant. ..................................... 49
Fig.3.10 : Surface couverte par un pixel sur le plateau. ................................................... 49
Fig.3.11 : Résultat de la binarisation des images. .............................................................. 51
Fig.3.12 : résultat de la détection des contours. .................................................................. 52
Fig.3.13 : Contours et centres de gravité représentés sur les images acquises. ....... 53
Fig.3.14 : les signatures polaires des quatre classes d’objets. ........................................ 54
Fig.3.15 : Signatures polaires des différents échantillons de chaque classe. ............ 55
Fig.3.16 : Signatures polaires moyennes des quatre classes d’objets .......................... 56
Fig.3.17 : organigramme général de l’application...................................................57

Table des tableaux

Tab.2.1 : tableau des paramètres de Denavit-Hartenberg. .................................... 31


Tab.2.2 : paramètres de Denavit-Hartenberg du dernier repère. ........................... 32
Tab.2.3 : tableau des positions limites des articulations. ...................................... 37

Abréviations

2D : deux dimensions.

3D : trois dimensions.

cm : centimètre.

mm : millimètre.

ALU(UAL) : Unité arithmétique et logique.

DSP (PSN) : Processeur de signal numérique.

MGD : model géométrique directe.

MGI : model géométrique inverse.


Introduction générale

Introduction générale

L’un des plus grands rêves de l’homme est de pouvoir faire exécuter
par des acteurs autres que lui-même des tâches ou activités qu’il considère
comme aliénantes, dangereuses ou simplement ennuyeuses et non
gratifiantes, chose qui a commencé à se réaliser avec l’émergence de la
robotique au cours des années 1960.

Depuis leur apparition, les robots industriels se sont concentrés à réaliser


des tâches classiques qui peuvent toujours se ramener à des interactions
précises avec leur environnement. De ce fait, une modification de ce dernier
peut entrainer de graves conséquences sur le déroulement de la tâche à
accomplir. C’est ce qui a poussé les chercheurs à équiper le robot de
capteurs de vision extéroceptifs, afin de lui permettre d’appréhender son
environnement et de réagir à d’éventuels changements de ce dernier. Ce qui
a permis d’améliorer de manière significative leurs performances et d’aider à
développer de nouvelles applications d’une part et l’émergence d’un nouveau
domaine de recherche sous le nom d’asservissement visuel, d’une autre part.

Le travail réalisé dans ce mémoire s’inscrit dans le domaine d’asservissement


visuel. En effet, le travail se limite à l’étude, sur le plan théorique et
pratique, de la commande d’un système comportant un plateau tournant, un
robot manipulateur et une caméra. Le fonctionnement de cet ensemble est
piloté par un ordinateur (Raspberry pi 3) et une carte d’acquisition et de
commande (Arduino Méga 2560). La figure i.1 représente la configuration du
système réel. L’objectif consiste à détecter, localiser et reconnaitre en temps,
réel des objets arrivant sur le plateau tournant, puis de les ramener en face
du robot à l’aide du plateau pour que le robot réalise par la suite la tâche de
saisie et de déplacement des objets vers des emplacements correspondants
aux types d’objets reconnus.

1
Introduction générale

Les objets à poser sur le plateau sont classés suivant leurs formes
géométriques en quatre classes :

- classe des objets carrés


- classe des objets circulaires
- classe des objets
ets triangulaires
- classe des objets hexagonaux

Fig.i.1 Synoptique du système réel.

L’objectif principal de cette étude est de développer un programme


pro de
commande qui permet à l’ordinateur de gérer à travers la carte d’acquisition
et de commande le fonctionnement du plateau tournant, du système de
vision artificielle et du bras manipulateur.

Pour ce faire, trois parties ont été effectuées.


effectuées

Dans la première, nous avons présenté le plateau tournant,


tournant, puis
p nous avons
identifié le modèle mathématique de ce dernier
dernier et enfin le calcul et

2
Introduction générale

l’implémentation de la loi de commande assurant un fonctionnement


performant du plateau tournant.

En second lieu, nous sommes intéressés à la commande du bras


manipulateur où nous avons brièvement présenté la configuration de notre
robot puis nous avons procédé à une modélisation géométrique directe et
inverse et enfin l’élaboration et l’implémentation de l’algorithme de
commande permettant au robot de réaliser sa tâche, la saisie et de
déplacement des objets présents sur le plateau.

En dernier lieu la partie vision artificielle est réalisée. Nous avons élaboré
l’algorithme permettant au système le prétraitement de l’image et la
détection de présence d’un objet sur le plateau tournant, puis la localisation
de l’objet en se basant sur le principe des moments géométriques dans
l’image et enfin la reconnaissance de forme en utilisant la méthode de la
distance euclidienne minimale appliquée sur la signature polaire de l’objet
en question.

Le mémoire est organisé comme suit :

- Le premier chapitre est dédié à la description détaillée et à la


commande du plateau tournant.
- Le deuxième chapitre est consacré à la modélisation et au
développement du programme de commande du bras
manipulateur.
- Le troisième et dernier chapitre expose la partie relative à la vision
artificielle ou son réalisées la détection de présence, la localisation
et la reconnaissance d’objet.

Le mémoire se termine par une conclusion générale sous forme d’un bilan
global sur l’ensemble des parties réalisées tout en présentant certaines
perspectives qui peuvent être envisagées.

3
Premier chapitre Commande du plateau tournant

Chapitre 1

Commande du plateau tournant

1.1. Introduction

Durant ces dernières années, la commande des machines


électriques a subi des progrès significatifs, ce qui a permis le
développement de solutions numériques efficaces avec une possibilité
d'implanter des algorithmes plus complexes. Les premières
implantations de commande de machines électriques furent réalisées
avec des solutions analogiques. Ces solutions assuraient la réalisation
de contrôles ayant une large bande passante et quasiment en temps
réel. Cependant, elles manquaient de fiabilité vu leur sensibilité aux
perturbations et aux variations de paramètres de contrôle liées aux
contraintes thermiques des circuits analogiques de contrôle. Par la
suite, les solutions numériques se sont naturellement imposées afin de
remédier à ces inconvénients.
De nos jours, les implantations numériques sont en majorité basées sur
les microprocesseurs et les DSP (Digital Signal Processor). Ces solutions
numériques sont équipées d'unités arithmétiques et logiques ALU
(Arithmetic Logic Unit) dédiées à la réalisation des calculs
arithmétiques et logiques des algorithmes de commandes. Elles

4
Premier chapitre Commande du plateau tournant

intègrent également des périphériques tels que les convertisseurs


analogiques/numériques et les « timers » bien adaptés aux besoins de
commande de machines électriques. Leur utilisation a permis de
résoudre les problèmes liés à l'utilisation des commandes analogiques.
Par ailleurs, elles présentaient un grand intérêt économique et une
meilleure flexibilité de conception. Il est à noter aussi que ces solutions
numériques sont des solutions purement logicielles. En effet, les
conceptions qui leurs sont associées sont conçues en utilisant des
architectures prédéfinies. Le concepteur ne peut donc pas agir sur la
partie matérielle de la conception et n'a accès qu'à la partie logicielle.
D'un autre côté, malgré les avantages offerts par ces solutions
numériques, certains avantages offerts par les implantations
analogiques sont perdus. Cela est principalement dû au fait que la
discrétisation et la quantification des algorithmes de commande à
implanter, ainsi que les délais de temps de calcul détériorent les
performances de contrôle en termes de rapidité de correction et de
résolution de contrôle [1].

1.2. Description du plateau tournant

Fig.1.1 : Schéma explicatif des composants du plateau tournant.

5
Premier chapitre Commande du plateau tournant

1.2.1. Composants du plateau tournant

Le système est composé de quatre parties :


• un moteur à courant continu à aiment permanent dont la tension et la
vitesse nominale sont respectivement 12 voltes et 2500 tr/min.
• un
n capteur de vitesse qui est une génératrice tachymétrique linéaire
qui produit une tension proportionnelle à la vitesse de rotation du
moteur dont la relation est :

Uc = Kc * Ωm (1.1)

Où Kc = 0.0013 volts/tours/minutes (sensibilité du capteur)

• un réducteur de vitesse de type roue et vis sans fin (comme le montre


la figure ci-dessous)
dessous) dont le rapport de réduction est Kr = 1/69.
1/69 Ce
dernier réduit la vitesse du moteur de 69 fois mais augmente aussi la
puissance avec le même rapport ce qui permet au moteur de déplacer
des charges importantes
important et éviter de le faire tourner à basse vitesse.

Fig.1.2
2 : réducteur de type roue et vis sans fin

• un plateau monté sur le réducteur


réducteur dont le diamètre est de 48
centimètres et d’épaisseur
’épaisseur 0.4 centimètres

1.2.2. Configuration matérielle


Pour la commande du plateau nous avons réalisé le circuit de
commande (étage de puissance) à base de circuit intégré L293D qui permet
d’alimenter le moteur avec une tension entre 0 et 12 volts
En
n branchant le capteur sur un circuit d’acquisition et en alimentant
aliment le
moteur avec une tension d’amplitude de 6 volts on obtient la repense
d’amplitude
suivante :

6
Premier chapitre Commande du plateau tournant

Fig.1.3 : Réponse du moteur.

Nous remarquons qu’un


un bruit se superpose sur le signal issu du capteur
sous forme d’ondulation de haute fréquence, et pour atténuer ces
oscillations nous avons rajouté un filtre passe-bas
passe conformément à la figure
1.4 suivante :

Fig.1.4 : Circuit de filtrage.

Ce filtre a une fréquence


fréquence de coupure d’environ 7 hertz, ce qui permet
d’atténuer toutes les fréquences supérieures
supérieur à cette fréquence.
fréquence Ainsi la
réponse du capteur est donnée
donné sur la figure 1.5 suivante :

7
Premier chapitre Commande du plateau tournant

Fig.1.5 : Réponse du moteur avant et après filtrage.

1.3 Identification du système


Pour commander un moteur à courant continu on doit avoir son
modèle mathématique pour pouvoir élaborer une loi de commande qui va
assurer le fonctionnement désiré.
désiré Pour cela, une modélisation
lisation est nécessaire
pour obtenir une relation mathématique liant la tension de commande à la
vitesse de rotation du moteur.
moteur Les lois de la physique nous permettent de
donner différentes équations régissant le fonctionnement de la machine à
courant continu.
inu. On les rappelle brièvement:


          (1.2)


   (1.3)


 (1.4)

  Ω (1.5)

où R est la résistance d’induit,


d’induit U la tension d’alimentation, I le courant de
l’inducteur, L l’inductance, J le moment d’inertie de la machine par rapport
rappo à
l’axe de rotation du rotor et Cr, le couple
ouple résistant ramené au rotor, K, le
coefficient électromécanique et Ω, la vitesse de rotation du moteur.

8
Premier chapitre Commande du plateau tournant

Mais dans notre cas la modélisation est une tache très compliquée
compl à réaliser
à cause de l’absence d’information sur les paramètres du moteur (R, L, K,
etc..) Pour cela, une identification s’impose.

1.3.1. Méthode d’identification


L’identification consiste à chercher les paramètres du modèle
mathématiques du système à partir de données expérimentales et de
connaissances disponibles a priori. Ces paramètres peuvent avoir une
signification physique comme dans les modèles de connaissance (issues de
lois de la mécanique, d’électricité, etc.), ou ne pas en avoir comme
c c’est le
cas pour les modèles de comportement. Dans les deux cas, ils doivent
fournir une approximation fidèle des comportements du système physique,
dans la mesure où leurs paramètres sont ajustés à partir de données
expérimentales. L’objectif cherché
cherché est de rendre identiques les réponses du
processus et du modèle, pour des séquences d’entrée données.

Fig.1.6 : Schéma d'identification.

Dans notre cas nous allons réaliser l’identification à l’aide de la méthode des
moindres carrés. Le
e principe général de cette méthode est de choisir le jeu de
paramètres d’un modèle que l’on définira de telle sorte qu’il minimise la
somme des carrés de la différence entre les valeurs prédites par le modèle et
les valeurs observées.

Pour l’identification des paramètres, on dispose d’un vecteur de mesures :

9
Premier chapitre Commande du plateau tournant

$   … & '(

Et on veut construire un vecteur estimé, via le modèle et ses paramètres :

Ŷ  )Ŷ Ŷ … Ŷ* +(

Il convient donc d’établir le modèle permettant de calculer la variableŶ.


variable On
cherche ce modèle sous forme discrète:

Ŷk  1   Yk   k – 1  # # #  & k N 1.  ! uk


u 

! uk 1 # # # !/ uk M 1 (1.6)

Nous supposons qu’une séquence (u(1), u(2), …, u(N)) est appliquée en


entrée et que la séquence des sorties correspondantes est observée
(y(1), y(2), …, y(N)).

1.3.2. Identification du système réel


Pour réaliser cette identification on utilise l’outil Identification de
MATLAB,, et pour procéder, dans l’onglet « APPS » de la fenêtre MATLAB on
lance l’application «System Identification » qui est représentée dans la figure
suivante :

Fig
Fig.1.7 : Outil d'identification MATLAB.

10
Premier chapitre Commande du plateau tournant

Pour l’acquisition des données nous avons réalisé une liaison entre
SIMULINK et une carte d’acquisition comme le montre la figure 1.8
suivante :

Fig.1.8 : Schéma d'acquisition de valeurs pour l'identification.

Les données acquises sont deux vecteurs U et Y qui représentent


respectivement le vecteur d’entrée et le vecteur de sortie.
D’après la réponse représentée auparavant (fig.1.6), le système présente une
réponse apériodique avec un démarrage en ‘s’, ce qui correspond à un
système du deuxième ordre avec deux pôles réels négatifs et sans retard.
Les étapes de l’identification sont les suivantes :
• Importation des données
La fonction « Import Data » nous permet d’introduire les vecteurs de
données U et Y qui correspondent respectivement à l’entrée et à la sortie du
système comme le montre la figure (1.9).
• Le choix de l’ordre et du type de la fonction de transfert :
La fenêtre sur la figure (1.10) nous permet de choisir l’ordre du system
(nombre de pôles et de zéros) ainsi que le type de la fonction du transfert
(continue ou discrète).

11
Premier chapitre Commande du plateau tournant

Fig
Fig.1.9 : Introduction des données.

Fig.1.10 : Choix de l'ordre de la fonction de transfert.

La figure suivante nous montre le résultat de l’identification sous forme de


fonction de transfert continue du deuxième ordre.

12
Premier chapitre Commande du plateau tournant

Fig.1.11
11 : Estimation de la fonction de transfert.

D’où la fonction de transfert est donnée comme suit :

3444
12  (1.6)
56 7. 57
7AA4

.4B9C
12  4444399 56 74.49DC 57
4.4444399
(1.7)

La fonction de transfert est sous la forme :

:
12  ; 6 6> > (1.8)
5 7 57
<6= <=

Avec :

K = 2.0564 est le gain statique

?@ = 114.5862 est la pulsation naturelle

ξ = 0.9648 est le coefficient d’amortissement

13
Premier chapitre Commande du plateau tournant

La fonction de transfert est calculée avec les données brutes sans


conversion des valeurs de l’entrée et de la sortie (l’entrée (0v - 12 v) est codée
de (0 - 255) et la sortie (0v - 5v) est codée de (0 - 1023)) pour faciliter
l’implémentation du régulateur.
Pour
ur vérifier la fiabilité du modèle identifié, nous avons réalisé le schéma de
simulation représenté dans la figure suivante, qui va permettre de visualiser
la réponse du système réel et la réponse estimée en temps réel.

Fig.1.12 : Schéma
chéma de simulation pour visualiser les deux réponses (réel et estimée).
estimée)

La figure 1.13 suivante représente la réponse du modèle identifié et la


réponse mesurée en tr/min

Fig.1.13 Réponse réel et estimée.

14
Premier chapitre Commande du plateau tournant

1.4. Commande du plateau tournant

Dans cette partie nous nous s’intéressons à la réalisation et


l’implémentation de la loi de commande du moteur en boucle fermée pour
réaliser un asservissement en vitesse.
L’objectif de cet asservissement est d’assurer une poursuite parfaite de la
consigne en gardant toujours les caractéristiques de notre système (temps de
réponse, allure de la réponse …) et en assurant aussi une erreur statique
nulle.

1.4.1. Passage au système discret

L’implémentation de l’algorithme de commande nécessite le passage


vers le système discret (échantillonné) et pour cela nous devons déterminer
la période d’échantillonnage adéquate pour ce transfert.
La condition que doit satisfaire le pas d’échantillonnage ∆ pour un système
du second ordre est :

4.B .B
E=
F∆F E=
(1.9)

où ?@ est la pulsation naturelle (propre) du système

D’où :

0.25 1.5
F∆F
114.5862 114.5862

0.002 F ∆ F 0.013 (1.10)

Dans notre cas nous avons fixé la période d’ d’échantillonnage à

∆  0.01 s = 10 ms

Après une discrétisation de la fonction de transfert continue, nous obtenons


la fonction de transfert discrète suivante :

4.99B P 7 4.A9B
1O  P^ R 4.9A P 7 4.4S9
(1.11)

15
Premier chapitre Commande du plateau tournant

La réponse indicielle des deux fonctions (continue et discrète) sont données


sur la figure 1.14 suivante :

Fig.1.
g.1.14 Réponses indicielles de g(s) et g(z).

1.4.2. Synthèse du correcteur

Les systèmes asservis peuvent présenter des défauts, une précision


insuffisante, une stabilité trop relative (voire une instabilité), un temps de
réaction trop lent, un dépassement trop important, au regard d’un cahier
des charges. Ill est donc souvent nécessaire d’intégrer dans le système
asservis un réseau correcteur dont l’objectif est d’améliorer un ou plusieurs
de ces différents paramètres sans le faire au détriment des autres.
Les correcteurs doivent permettre de réaliser le meilleur
meilleur compromis entre
précision, stabilité et rapidité du système étudié [4].
[4]
La figure suivante montre l’implémentation d’un correcteur dans une boucle
d’asservissement :

16
Premier chapitre Commande du plateau tournant

Fig.1.15 Implémentation
mplémentation du correcteur dans la boucle de l'asservissement.
'asservissement.

1.4.2.1. Choix du correcteur


Dans cette partie nous s’intéressons au choix du correcteur à
introduire dans la boucle de l’asservissement et,
et pour cela,
cela nous allons
effectuer une série de tests
tests afin de déterminer le correcteur adéquat pour
satisfaire le cahier de charges.

Le correcteur proportionnel
Le correcteur proportionnel est le plus simple des correcteurs. Il ne
permet pas toujours d’obtenir des performances très élevées mais il peut
suffire dans certains cas si le cahier des charges n’est pas trop contraignant
ou si le système a un comportement très simple. Expérimentalement, son
réglage peut se faire directement en partant d’un gain faible et en
augmentant petit à petit jusqu'à atteindre un comportement satisfaisant.
Pour un gain trop
op élevé, le système deviendra instable ce qui se manifestera
d’abord par des oscillations de plus en plus importantes.
Dans le cas d’un correcteur proportionnel, la loi de commande corrigée u(t)
est proportionnelle à l’écart ε(t) :

T  U  εt (1.12)

La fonction de transfert du correcteur est donc :

17
Premier chapitre Commande du plateau tournant

W5
2   U (1.13)
εX

La figure 1.16 suivante représente la réponse


réponse indicielle du système corrigé
avec un correcteur proportionnel dont le gain vari de 1 à 4 avec un pas de
0.5 :

Fig.1.16
16 Réponses des correcteurs proportionnels.

Nous remarquons que l’effet d’une augmentation du gain entraîne une


diminution de l’erreur statique, rend le système plus rapide mais augmente
l’instabilité du système.

Le correcteur
teur Proportionnel Intégral PI
L’intérêt de la correction de type intégrale est de permettre une erreur
statique nulle. En effet, si le système comporte un intégrateur et se stabilise
à un point d’équilibre tous les signaux sont constants. Or, pour que la sortie
d’un intégrateur soit constante, il est nécessaire que son entrée soit nulle. Si
l’entrée
rée de l’intégrateur est reliée à l’erreur de régulation, l’effet du terme
intégral sera bien d’annuler cette erreur. Notons que l’erreur est annulée
même en présence d’une perturbation.
Le correcteur Intégrateur est en général associé au correcteur proportionnel
propo
et la loi de commande corrigée est de la forme :

18
Premier chapitre Commande du plateau tournant


 
T  U Yεt ] εu du_ (1.14)
[\ 4

La fonction de transfert du correcteur est donc :

7[\ 5
2  U (1.15)
[\ 5

L’objectif de cet asservissement est d’assurer au system en boucle fermée un


une erreur statique nulle, un temps de réponse tr = 0.05 s et un coefficient
d’amortissement h = 0.7 comme le montre la figure suivante :

Fig.1.
.1.17 Choix des performances désirées.

Et pour cela les paramètres du régulateur seront calculés à l’aide de l’outil


MATLAB.

La figure suivante montre le schéma de simulation pour l’autoréglage des


paramètres du correcteur PI

19
Premier chapitre Commande du plateau tournant

Fig.1.18 Schéma
chéma de simulation pour l'autoréglage du correcteur.

Les paramètres
amètres obtenus lors du réglage sont donnés dans la figure
suivante :

Fig.1.19
19 Calcul des paramètres du correcteur.

Donc la fonction de transfert du correcteur PI est donnée comme suit :

4.93
93 5 7 4.BA
2  (1.16)
5

La figure suivante représente la réponse du système à une consigne de 20


tr/min ainsi que l’allure de la commande :

20
Premier chapitre Commande du plateau tournant

Fig
Fig.1.20 Réponse du système corrigé.

Fig.1.21 : réponse
éponse du système corrigé avec une perturbation de type échelon.

21
Premier chapitre Commande du plateau tournant

Fig.1.22 : réponse du système corrigé avec une perturbation de type rampe.

On remarque que le correcteur proportionnel intégral (PI) satisfait largement


le cahier des charges,, même en présence de perturbations le système asservi
arrive à compenser l’erreur et garder la sortie
sortie égale a la consigne.

1.4.2.2. Implémentation du correcteur


En utilisant l’outil MATLAB pour l’autoréglage
l’autoréglage du correcteur nous
obtenons la fonction de transfert du correcteur discret suivante :

4.ABD P R 4.99A
O  (1.17)
PR

La figure suivante représente la réponse du système corrigé à une consigne


de 20 t r/min :

22
Premier chapitre Commande du plateau tournant

Fig.1.
.1.23 Réponse du système discret corrigé

L’équation de récurrence liant la commande à l’erreur est donnée par :

`  ` 1  0.3581


0 εk 0.1663εk 1 (1.18)

L’organigramme qui permet de programmer cette loi de commande pour


obtenir la tension U(k), est donné à la figure (1.25).
Après l’implémentation pratique de la commande du moteur, la figure
suivante représente la réponse du système réel à une consigne de 20 tr/min

Fig.1.
Fig.1.24 Réponse du système réel corrigé

23
Premier chapitre Commande du plateau tournant

Fig.1.25 Organigramme
rganigramme de l'implémentation du correcteur

A partir de cette figure (1.24) nous remarquons que le système présente


quelques oscillations en régime transitoire provoquées par les imperfections
dans le système d’acquisition et probablement à des bruits superposés aux
signaux de la commande et du capteur.

1.5. Conclusion

Dans ce chapitre dédié à la


la commande numérique du plateau
tournant, nous avons effectué une étude et une réalisation de la commande
du moteur à courant continu en passant par plusieurs étapes.
Apres avoir décrit les composants et la configuration matériel du plateau
tournant, l’étape
pe de l’identification est ensuite réalisée
réalis en utilisant la
méthode des moindres carrés, qui nous a permis d’avoir un model
mathématique (sous forme de fonction de transfert) qui reproduit,
reproduit de

24
Premier chapitre Commande du plateau tournant

manière fidèle, le comportement de notre système. Ensuite vient l’étape de la


commande dans laquelle nous avons effectué plusieurs tests afin de
déterminer le correcteur adéquat pour satisfaire le cahier des charges
imposé auparavant. En dernière étape, vient l’implémentation de la loi de
commande et l’interprétation des résultats pratiques.

25
Deuxième chapitre Commande du bras manipulateur

Chapitre 2

Commande du bras manipulateur

2.1 Introduction

Les robots sont actuellement présents dans pratiquement toutes les


entreprises industrielles. Ils sont utilisés pour effectuer rapidement des
tâches répétitives comme dans les chaines de fabrication et de montage. Ils
sont aussi présents dans des environnements difficilement supportables par
l’homme là où les conditions de température ou de pression sont trop
élevées, en milieu radioactif, etc. Initialement conçus aveugles, les
mouvements des robots étaient calculés et parfois avec beaucoup de
précision selon la tâche à exécuter. Ensuite, pour approcher l’homme dans
sa perception, d’autres capteurs sont venus compléter l’aspect sensoriel des
robots afin de les rendre plus souples dans leur fonctionnement et leur
déplacement. Dans ce chapitre, notre objectif est de mettre en œuvre la
commande d’un bras manipulateur lui permettant de réaliser sa tache de
saisie, de déplacement de tout objet détecté, localisé et reconnu sur le
plateau tournant par un système de vision artificielle. Pour ce faire, une
carte de commande est conçue à cet effet et un programme gérant l’ensemble
des actions a été mis en œuvre.

26
Deuxième chapitre Commande du bras manipulateur

2.2 Description du bras manipulateur

Le robot utilisé dans notre application est un bras manipulateur a


trois degrés de liberté, il est composé d’une base, d’une épaule, d’un bras et
d’un avant bras montés de bout en bout. L’organe de préhension est une
pince à serrage parallèle. Chaque partie du bras manipulateurs est
connectée aux autres par une articulation. La rotation de chaque
articulation du bras est assurée par un motoréducteur et une vis sans fin.
Un encodeur incrémental pour la mesure de l’angle de rotation est placé sur
l’arbre du motoréducteur de chacune des articulations. Ce dispositif
correspond à un générateur d’impulsions réalisé par une photocellule
traversée par un disque perforé porté par la vis sans fin. Ces dispositifs
génèrent une impulsion pour un angle de valeur a1 dans le cas de
l’articulation de la base, de a2 dans le cas de l’articulation de l’épaule et de
a3 dans le cas de l’articulation du coude (a1, a2 et a3 sont des paramètres qui
seront déterminés ultérieurement). Deux butées de contact et deux fins de
courses sont disponibles au niveau de la pince et de chaque articulation
pour définir les positions limites du mouvement dans les deux sens par la
mise à zéro des fins de courses (fig.2.1).

Fig.2.1 : Composants du bras manipulateur.

Le rôle du couplage mécanique reliant la troisième articulation à l’épaule


d’un coté et à la base de la pince de l’autre coté est de maintenir la pince à la
position horizontale par rapport au plan de la base, quel que soit le

27
Deuxième chapitre Commande du bras manipulateur

mouvement effectué. Par conséquent l’articulation de la pince n’est pas


contrôlée. Elle est automatiquement commandée par ce couplage.
La figure 2.2 suivante montre les paramètres structuraux du bras
manipulateur.

Fig.2.2 : Paramètres structuraux du bars manipulateur.

2.3 Modélisation

La conception et la commande des robots nécessitent le calcul de


certains modèles mathématiques, tels que les modèles de transformation
entre l'espace opérationnel (dans lequel est définie la situation de l'organe
terminal) et l'espace articulaire (dans lequel est définie la configuration du
robot). On distingue :

• les modèles géométriques direct et inverse qui expriment la


situation de l'organe terminal en fonction des variables articulaires
du mécanisme et inversement.

• les modèles cinématiques direct et inverse qui expriment la vitesse


de l'organe terminal en fonction des vitesses articulaires et
inversement.

• les modèles dynamiques définissant les équations du mouvement


du robot, qui permettent d'établir les relations entre les couples ou

28
Deuxième chapitre Commande du bras manipulateur

forces exercés par les actionneurs et les positions, vitesses et


accélérations des articulations. [7]

Dans les commandes cinématiques et dynamiques où l’on veut


contrôler la vitesse lors des déplacements, et même avoir des accélérations
importantes, on est obligé d’avoir recours aux modèles cinématique et
dynamique qui font intervenir les masses, les forces d’inertie etc.
Dans notre cas, nous avons opté pour une modélisation géométrique ou
nous avons fait intervenir que les longueurs des segments et les variables
articulaires. Ce type de modélisation convient à la commande en position ou
point à point où la vitesse de déplacement est fixée uniquement par le temps
de réponse des dispositifs intervenant dans la structure et la commande du
système mécanique articulé.

2.3.2 Modèle géométrique direct

Le bras manipulateur est représenté par des segments rigides


successifs, connectés les uns aux autres par des articulations. En partant de
la base pour arriver à l’organe terminal, on affecte à chaque segment rigide
un repère. En utilisant les transformations homogènes, on calcule pour
chaque repère  la matrice de transformation   , permettant le passage
du repère  au repère  .
En ce qui nous concerne, nous utiliserons la méthode de Denavit-
Hartenberg. Dans la modélisation géométrique utilisant les transformations
homogènes, la structure mécanique articulée sera modélisée par une
matrice  .
Soient  la base du système et le dernier segment.  est le produit des
matrices successives   , donnant chacune la position et l’orientation du
repère  attaché à un segment  par rapport au précédent.

 ∏    (2.1)

La matrice M donne la situation du dernier segment (support de l’effecteur)


par rapport à  . [8]

29
Deuxième chapitre Commande du bras manipulateur

Le couplage mécanique sert à maintenir la pince dans une position


horizontale. Pour
our simplifier les calcules le modèle
mod sera calculé entre la base
et la dernière articulation (articulation de la pince) et,
et à la fin,
fin un terme sera
rajouter afin d’obtenir la position de l’organe terminal.
Pour le choix du repère de chaque segment du bras manipulateur nous
avons deux contraintes qui doivent être vérifiées :
• L’axe  de  est perpendiculaire à l’axe  de 
• l’axe  coupe l’axe 

La figure 2.3 suivante représente


représente l’orientation de chaque repère sur le bras
manipulateur :

Fig.2. : Représentation des repères sur le robot.


Fig.2.3

A ce stade, on peut déterminer les paramètres de Denavit-Hartenberg


Denavit Hartenberg [9] qui
sont au nombre de quatre :
• rotation autour de z d’un angle 
• translation au long de z d’une longueur 
• translation au long de x d’une longueur 
• rotation autour de x d’un angle 

30
Deuxième chapitre Commande du bras manipulateur

Le tableau suivant représente les paramètres de Denavit-Hartenberg


pour chaque repère :
Tab.2.1 : tableau des paramètres de Denavit-Hartenberg.

    


1 H 0 0
2

2 0 H d


3 0 L1 0
4 0 L2 0

La matrice homogène de Denavit-Hartenberg est donnée par :


   !" ,$ % & !" ,' % &( ,) % ( ,* % (2.2)
Où :
-  !" ,$ % est la matrice de rotation autour de Z d’un angle θ
- & !" ,' % est la matrice de translation le long de Z d’une longueur d
- ( ,* % est la matrice de rotation autour de X d’un angle α
- &( ,) % est la matrice de translation le long de X d’une longueur a

, /- 0 0 1 0 0 0 1 0 0  1 0 0 0
- , 0 0 0 1 0 0 0 1 0 0 0 , /- 0
  =+  1. + 1. + 1 .+ 1
0 0 1 0 0 0 1  0 0 1 0 0 - , 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

, /- , - -  ,


- , , /, -  -
  =+  1
0 - , 
(2.3)
0 0 0 1

Où , et , sont respectivement cos ( % 34 cos % et - et - sont
respectivement sin ( % 34 sin  %
Dans notre cas, les matrices de transformation homogène de chaque repère
sont :

, /- 0 0 1 0 0 
- , 0 0 0 0 /1 0
 =+  1, ; =+ 1,
0 0 1 : 0 1 0 <
0 0 0 1 0 0 0 1

31
Deuxième chapitre Commande du bras manipulateur

, /- 0 =1, , /- 0 =2,


- , 0 >1- - , 0 >2-
; =+ 1,  =+  1
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1

La matrice de transformation entre la base et la dernière articulation est


donnée comme suit :

, ?  %, /- ?  %, - ,   ? =1, ? =2, ?  %%


, ?  %- /- ?  %- /, -  ? =1, ? =2, ?  %%
 =+  1 (2.4)
- ?  % , ?  % 0 : ? < ? =1- ? =2- ?  %
0 0 0 1

La dernière colonne de cette matrice donne les coordonnées de l’origine du


dernier repère (articulation de la pince)

AB ,   ? =1, ? =2, ?  %%
@CBE F -  ? =1, ? =2, ?  %% G
DB : ? < ? =1- ? =2- ?  %
(2.5)

Pour obtenir les coordonnées du centre de l’organe terminal, nous associons


un repère à ce dernier où l’axe y sera orienté dans le sens de la fermeture de
la pince comme le montre la figure suivante :

Fig.2.4 : repère associé a l’articulation des la pince.

Les paramètres de Denavit-Hartenberg de ce repère sont les suivants :

   
Tab.2.2 : paramètres de Denavit-Hartenberg du dernier repère.

5 H P 0 /
2

32
Deuxième chapitre Commande du bras manipulateur

H / ?  % 2.6%
Où :

D’où la matrice de transformation du dernier repère vers l’organe terminale


est la suivante :

, ?  % 0 - ?  % J, ?  %


/- ?  % 0 , ?  % /J- ?  %
E=+ 1
0 /1 0 0
(2.7)
0 0 0 1

La matrice de transformation homogène entre la base et l’organe terminal est


donnée sous la forme suivante :

T =  K L
, ?  %, /- ?  %, - ,   ? =1, ? =2, ?  %%
(2.8)

, ?  %- /- ?  %- /, -  ? =1, ? =2, ?  %%


T=+  1
- ?  % , ?  % 0 : ? < ? =1- ? =2- ?  %
0 0 0 1
, ?  % 0 - ?  % J, ?  %
/- ?  % 0 , ?  % /J- ?  %
.+ 1
0 /1 0 0
0 0 0 1

, /- 0 ,   ? =1, ? =2, ?  % ? J%


- , 0 -  ? =1, ? =2, ?  % ? J%
T= + 1
0 0 1 : ? < ? =1- ? =2- ?  %
(2.9)
0 0 0 1

Ainsi, les coordonnées de l’organe terminal par rapport à la base sont :

A ,   ? =1, ? =2, ?  % ? J%
MCN F -  ? =1, ? =2, ?  % ? J% G
D : ? < ? =1- ? =2- ?  %
(2.10)

33
Deuxième chapitre Commande du bras manipulateur

2.3.3. Modèle géométrique inverse

Nous avons vu que le modèle direct d’un robot permettait de calculer


les coordonnées opérationnelles donnant la situation de l’organe terminal en
fonction des dos coordonnées articulaires. Le problème inverse consiste à
calculer les coordonnées articulaires correspondant à une situation donnée
de l’organe terminal. Lorsqu’elle existe, la forme explicite qui donne toutes
les solutions possibles (il y a rarement unicité de solution) constitue ce que
l’on appelle le modèle géométrique inverse (MGI). On peut distinguer trois
méthodes de calcule du MGI :

• la méthode de Paul,

• la méthode de Pieper

• la méthode générale de Raghavan et Roth.

Lorsqu’il n’est pas possible de trouver une forme explicite du modèle


géométrique inverse, on peut calculer une solution particulière par des
procédures numériques. [7]
Dans notre cas la méthode adoptée est celle de Paul, dont le principe est le
suivant :
Considérons un robot manipulateur dont la matrice de transformation
homogène a pour expression :
  . ; … . .   (2.11)
Soit P la situation désirée telle que :
-( S( ( A
-R SR R C
P = Q T
- S  D
0 0 0 1
On cherche à résoudre le système d’équations suivant :
P  . ; … . .   (2.12)
Pour trouver les solutions de l’équation, Paul a proposé une méthode qui
consiste à multiplier à gauche successivement les deux membres de
l’équation par les matrices   (où   est l’inverse de la matrice   )
pour n variant de 1 à n-1 (ou bien jusqu'à avoir la solution). Ces opérations

34
Deuxième chapitre Commande du bras manipulateur

permettent d’isoler et d’identifier l’une après l’autre les variables articulaires


que l’on cherche [7]
Dans notre cas, nous avons:
 . P  .  . ; . ; .  . L
 . P ; . ; .  . L
-( , ? -R - S( , ? SR - ( , ? R - A, ? C-
 . P = +-R , / -( - SR , / S( - R , / ( - C, / A- 1
- S  D/:
(2.13)
0 0 0 1
1 0 0  ? J ? =2, ?  % ? =1,
0 1 0 0
; . ; .  . L + 1
0 0 1 < ? =2- ?  % ? =1-
(2.14)
0 0 0 1
Par identification des deux dernières colonnes, nous obtenons les équations
suivantes :
A, ? C- =  ? J ? =2, ?  % ? =1, (1)
C, / A- = 0 (2)
D / : = < ? =2- ?  % ? =1- (3)
De l’équation (2), nous avons:
C, = A-
U$" R
V$" (
=

d’où :
 arctan ( %
R
(2.15)

Et de (1) et (3), nous avons:


A, ? C- /  / J = =2, ?  % ? =1,
D / : / < = =2- ?  % ? =1-
Si l’on pose :
 A, ? C- /  / J
Z D/:/<
Nous obtenons:
 = =2, ?  % ? =1, (4)
Z = =2- ?  % ? =1- (5)

Calcul de 
Nous avons:

35
Deuxième chapitre Commande du bras manipulateur

; ? Z ; = =2, ?  % ? =1, %; ? =2- ?  % ? =1- %;


; ? Z; =2; [, ;  ?  % ? - ;  ?  %\ ? =1; , ;  ? - ;  % ? 2=1=2, ?  %, ? - ?  %, %

,; ? -; 1
, ? ]%,] + - ? ]%-] = c
D’où :
; ? Z ; =1; ? =2; ? 2=1=2,
Donc
; ? Z ; / =1; / =2;
,
2=1=2
; ? Z ; / =1; / =2;
 arccos  %
2=1=2
Nous remarquons que nous avons deux valeurs possibles pour  car :
, ) = ,/ ) = a
D’où arccos%  ^_ / 
Et nous avons  < 0 quelle que soit la configuration du bras. Ainsi,

 / arccos  %
`a bca  da  d;a
;dd;
(2.16)

Calcul de  :
Reprenons les équations (4) et (5)
 = =2, ?  % ? =1,
Z = =2- ?  % ? =1-
Nous avons :
, ? ]% ,%,]% / -%-]%
- ? ]% ,%,]% ? -%-]%
D’où :
 = =1 ? =2, %, / =2- %-
Z = =2, %, ? =1 ? =2- %-
Nous avons un système de deux équations à deux inconnus (, , - %. La

Z=1 ? =2, % / =2-


solution est donnée comme suit :

-
=1 ? =2, %; ? =2- %;
=1 ? =2, % ? Z=2-
,
=1 ? =2, %; ? =2- %;
Et nous avons:

36
Deuxième chapitre Commande du bras manipulateur

- Z=1 ? =2, % / =2-


tan %
, =1 ? =2, % ? Z=2-
D’où :

 arctan  %
cdbd;V$e % `d;U$e
`dbd;V$e %b cd;U$e
(2.17)

Le modèle géométrique inverse est donc donné comme suit :


arctan ( %
R


h cdbd;V$ % `d;U$e k
@ E arctan `dbd;V$e%b %
g cd;U$e j

e
(2.18)
/ arccos  %i
`a bca  da  d;a
f ;dd;

Avec :
A xcθ ? ysθ / d / p
Z D/:/<

2.4. Commande du bras manipulateur

Avant d’entamer l’étape de la commande du bras manipulateur qui est


composée de deux parties (l’élaboration de l’algorithme de commande et
l’implémentation du programme), nous devons d’abord définir la
configuration initiale, les limites des articulations et l’espace de travail du
robot. Le tableau suivant représente les positions limites associés aux fins de
courses :
Tab.2. 3 : tableau des positions limites des articulations.

Articulation Fins de courses Positions limites

permettre à la base une course de  260°.


La base Fcb1 (état initial) Les deux butées sont placées de telle manière à

Fcb2
L’épaule Fce1 (état initial) Le bras fait un angle de ; 79.1° avec

Le bras fait un angle de ;


l’horizontale
Fce2 128° avec

L’avant bras fait un angle de  50.5° avec Le


l’horizontale
Le coude Fcc1 (état initial)

L’avant bras fait un angle de 


bras
Fcc2 100° avec Le
bras
La pince Fcp1 (état initial) La pince complètement ouverte (4cm)
Fcp2 Pince fermée

37
Deuxième chapitre Commande du bras manipulateur

La figure suivante représente l’espace de travail du robot calculé à partir des


positions limites sur une hauteur z = 12.5 cm (la hauteur du plateau
tournant) :

Fig.2.5 : espace de travail du robot.

2.4.1. Algorithme de commande

La commande du robot consiste à générer les signaux de commande des


moteurs du robot pour permettre à ce dernier de réaliser sa tache, le
déplacement de chaque moteur est réalisé en suivant l’organigramme de la
figure (2.7) ci-après.

Fig.2.6 : représentation des angles commandés par les moteurs.

38
Deuxième chapitre Commande du bras manipulateur

Fig.2.7 : Organigramme de la commande du robot.

Ici P est la position du robot et r' la position désirée.

2.4.2. Implémentation du programme et testes pratiques

Les motoréducteurs placés sur le robot nous permettent de contrôler 3


angles (α1, α2, α3) comme le montre la figure 2.6 :
Les formules qui relient les angles  aux angles  sont les suivantes :
 
  / ;
 / ? 

39
Deuxième chapitre Commande du bras manipulateur

Les paramètres a1, a2 et a3 sont donné comme suit :


1 0.5934
@2E F0.1369 ? 0.00062 K ; / ; %%G
3 0.1445 ? 0.00046 K  / % %
(2.19)

Où ; 34  sont les positions initiales de ; 34

Soit w le nombre d’impulsions générer par l’angle  /  (la variation de  )


 /  w K x (2.20)
Dans le cas de l’articulation de la base :
 w K 0.5934 (2.21)

Dans le cas de l’articulation de l’épaule :


; / ; w; K 0.1369 ? 0.00062 K ; / ; %% (2.22)
Dans le cas de l’articulation du coude :
 /  w K 0.1445 ? 0.00046 K  /  %% (2.23)

Après avoir programmé l’algorithme de commande, une série de tests


constitué de 8 points différents dont la hauteur z est fixée a 12.5 cm, nous
avons constaté que l’erreur maximale est de :
- 1 mm sur l’axe des x
- 1 mm sur l’axe des y
- 1 mm sur l’axe des z
La figure suivante représente le nuage de point marqué par le bras
manipulateur :

40
Deuxième chapitre Commande du bras manipulateur

Fig.2.8 : nuage de points marqué par le robot.

2.5. Conclusion

Dans ce chapitre dédié à l’étude et réalisation de la commande du bras


manipulateur pour permettre à ce dernier d’effectuer sa tâche de saisie
d’objets, nous l’avons devisée en trois grandes parties qui sont, la
description du robot, la modélisation géométrique et la commande.

Dans la partie description nous avons décrit la configuration matérielle (type


de moteurs, degré de liberté, fins de courses et positions limites) ainsi que
les paramètres structuraux du robot.
Dans la deuxième partie qui est la modélisation géométrique, nous avons
calculé le modèle géométrique direct ainsi que le modèle géométrique inverse
qui va nous permettre de calculer les positions articulaires du robot afin
d’obtenir une position désirée de l’organe terminal.
La dernière partie est consacrée à l’implémentation de la commande et les
tests pratiques.

41
Troisième chapitre Système de vision artificielle

Chapitre 3

Système de vision artificielle

3.1. Introduction

L’asservissement visuel en robotique correspond à un asservissement


d'un robot où les grandeurs asservies sont extraites d'une ou de plusieurs
images fournies par un ou plusieurs capteurs de vision fixant une zone de
l'environnement du robot par rapport à laquelle une tâche doit être effectuée.
Ce domaine permet de rendre les robots plus performants et de développer
de nouvelles tâches robotiques. En effet, en l’absence de capteurs donnant la
position par rapport aux objets environnants, le robot ne peut réaliser que
des tâches préprogrammées et ceci, dans un environnement invariant. Par
contre avec l’intégration de capteurs de vision, des tâches non connues au
préalable peuvent être envisagées même dans un environnement variant. Par
exemple, s’il s’agit de réaliser des travaux de soudure au dixième de
millimètre prés et que l’objet à souder est décalé de 1 mm par rapport à la
référence, tous les points de soudure seront décalés de cette même distance.
Par contre, si on intègre au robot de soudure des capteurs de vision, même
avec un décalage de l’objet à souder, la soudure peut être réalisée avec la
précision voulue. Parmi les capteurs de vision les plus utilisés, on peut citer
les capteurs à ultrasons et les caméras. En ce qui concerne la caméra,
capteur proche de la vision humaine, l’image est acquise avec ses propres

42
Troisième chapitre Système de vision artificielle

caractéristiques de forme, de couleur et de texture. Un traitement adéquat


de l’image permet, par exemple, de déterminer la position de l’objet dans
sont environnement par rapport à cette caméra [5].
Dans ce chapitre, nous allons étudier et réaliser la partie du mémoire
relative à la détection, localisation et reconnaissance d’objets en vue de
permettre au robot de réaliser sa tâche de saisie et de déplacement d’un
objet arrivant sur le plateau tournant. La détection d’un objet sur la ce
dernier conduit à l’arrêt immédiat de cette table. Cette détection est effective
dès que l’objet entre dans le champ de vision de la caméra. La localisation
permet de déterminer la position de l’objet par rapport à un repère fixe lié au
robot. La reconnaissance permet d’identifier le type de l’objet à manipuler.
L’ensemble de ces opérations est piloté par un système de vision artificielle
dans lequel interviennent plusieurs techniques de traitement d’images et de
reconnaissance de formes. A cet effet, les objets à reconnaître sont réduits à
de simples objets facilement reconnaissables par leur couleur et leurs formes
géométriques les plus classiques.

3.2. Détection de présence

Les objets utilisés dans le cadre de cette réalisation sont des objets de
forme géométrique simple facilement reconnaissables qui sont divisés en
quatre classe différentes : carrée, triangulaire, circulaire et hexagonale
comme le montre la figure 3.1 suivante :

Fig.3.1 : Les quatre classes d’objets.

L’objectif de cette partie est de détecter la présence d’un objet dans le champ
de vision de la caméra et, pour réaliser cette tâche, nous avons suivi les
étapes suivantes :

43
Troisième chapitre Système de vision artificielle

• Acquisition de l’image et prétraitements


L’image acquise de la caméra est une image couleur de dimension
480x640x3 (image RGB), des opérations de prétraitement ont était effectué
sur l’image affin d’améliorer la perception des objets.
La figure 3.2 suivante représente les images acquises par la caméra des
quatre objets :

Fig.3.2 : Images acquises des quatre objets.

La première opération de prétraitement effectuée sur les images est la


transformation de couleurs en niveaux de gris comme le montre la figure 3.3
suivante :

Fig.3.3 : Images aux niveaux de gris.

Après la transformation en niveaux de gris, une opération de filtrage est


effectuée sur l’image avec un filtre médian affin d’éliminer les bruits qui
affecte les pixels sans dégrader les contours de l’image comme le montre la
figure 3.4 suivante :

Fig.3.4 : Images aux niveaux de gris filtrées.

44
Troisième chapitre Système de vision artificielle
artifi

Test de présence d’un objet


En analysant les histogrammes
hist représentés si dessous figure 3.5,
3.5 on
peut distinguer deux modes différents, l’un des modes représente l’objet et
l’autre représente le l’arrière plan, contrairement a la figure 3.6 ou un seul
mode est présent et qui représente l’arrière plan de l’mage

Fig.3.5 : Histogrammes des images en présence des objets.

Fig.3. : Histogramme de l’image sans objet.


Fig.3.6

45
Troisième chapitre Système de vision artificielle
artifi

En partons de ces histogrammes en peut déterminer un seuil « S » qui


sera pris entre les deux modes et qui va nous permettre de partager
par les
niveaux de gris appartenant à l’objet et les niveaux de gris appartenant à
l’arrière plan et qui va servir aussi dans les étapes suivantes.
Le principe de la méthode de détection est de calculer le nombre de pixel
dont l’intensité est inferieur au seuil S, un objet est présent si ce nombre est
supérieur a un seuil  qui est déterminé expérimentalement et qui
représente le nombre minimal de pixels sombres constituant
constituant un objet.
L’organigramme suivant représente la tâche
t che de détection de présence des
objets :

Fig.3.7 : Organigramme de la détection de présence.

46
Troisième chapitre Système de vision artificielle

3.3. Localisation de l’objet


3.3.1. Position de l’objet par rapport au repère fixe

L’objectif dans cette partie est de déterminer la position de l’objet


détecté auparavant par rapport au repère fixe lié au robot manipulateur.
Les figures 3.8 et 3.9 suivantes représentent la position du champ de vision
sur le plateau tournant et par rapport au repère fixe.

Fig.3.8 : Position de la caméra par rapport au repère fixe.

47
Troisième chapitre Système de vision artificielle
artifi

Fig.3.9 : position du champ de vision sur le plateau tournant.

L’image est de dimension 640x480 (pixel) et couvre une zone de 20*15 (cm)
sur le plateau, d’où chaque pixel couvre une zone de 0.03125x0.03125 (cm)
comme le montre le montre la figure 3.10 suivante :

Fig.3.10 : Surface couverte par un pixel sur le plateau.

Chaque objet présent dans le champ de vision est localisé par son centre de
(  ,  ), d’où la position ( ,  ) de ce dernier
gravité dont les coordonnées sont (
dans l’image (en centimètres) est donnée par les formules suivantes :

48
Troisième chapitre Système de vision artificielle

  0.03125  (3.1)
  0.03125  (3.2)
D’après la figure 3.9, la position de l’origine de l’image dans le repère lié au
robot manipulateur est :
(,  ) = (-10, 22.5) (3.3)

La hauteur du plateau est constante h = 12.5 cm

Ainsi, la position de l’objet par rapport à l’origine du robot est donnée par les
formules suivantes :

    0.03125 
    0.03125 
  12.5
 ,  ,     10  0.03125  , 22.5  0.03125  , 12.5 (3.4)

3.3.2. Position de l’objet dans l’image

Avant d’entamer le calcul des coordonnées du centre de l’objet, une


étape de traitement d’images doit être effectuée sur l’image (après
prétraitement) qui est la binarisation. Cette opération consiste donc à
réaliser une opération qui transforme l’image numérique acquise et filtrée en
une image binaire dont la surface représentant l’objet est blanche et le reste
de la surface du plateau est noir [5]. Pour ce faire la méthode d’Otsu [10] est
appliquée sur l’image. Cette méthode repose sur la sélection d’un minimum
entre deux modes pour le choix du seuil, dans notre cas le seuil « S » est déjà
calculé (partie détection)

Les nouvelles valeurs de l’image sont données donc par la formule suivante :

0  ,   
,   
1  ,   
(3.5)

La figure 3.11 suivante représente le résultat de la binarisation des images


des quatre objets :

49
Troisième chapitre Système de vision artificielle

Fig.3.11 : Résultat de la binarisation des images.

Dans cette partie, nous cherchons à déterminer le centre de gravité de l’objet


en question. Le calcule du centre de l’objet a été effectué en en appliquant la
procédure suivante sur les images binaire :

Soit μ le moment géométrique d’ordre « n+m » dont la formule est

données comme suit [11]:

μ  ∑#($%
' ∑&'  "  " , 
#$% 
(3.6)

Où ,  est l’image binaire calculée auparavant.

Nous avons μ , le moment d’ordre « 0 » et appelé aussi superficie :

μ  ∑#$%
' ∑&' , 
#($%
(3.7)

Cette somme représente le nombre de pixels appartenant à l’objet.


On a aussi les moments d’ordre 1 (μ% et μ% )

μ%  ∑#$%
' ∑&'  " , 
#($%
(3.8)

μ%  ∑#$%
' ∑&'  " , 
#($%
(3.9)

Ces deux sommes représentent respectivement la somme des indices « i » et


la somme des indices « j » appartenant à l’objet.
Donc les coordonnées du centre sont données comme suit :

)*+
  (3.10)
)++
)+*
,  (3.11)
)++

50
Troisième chapitre Système de vision artificielle

3.4. Reconnaissance de forme

La dernière partie de ce chapitre est consacrée à la reconnaissance de


forme des objets détectés. Pour cela, deux étapes ont étaient effectuées affin
classer l’objet selon sa forme.

3.4.1. Détection des contours

Comme son nom l’indique, dans cette étape nous avons utilisé le filtre
de Canny [12] pour détecter les contours des objets dans les images binaires.
La figure 3.12 suivante illustre le résultat de la détection des contours avec
cette méthode :

Fig.3.12 : résultat de la détection des contours.


La figure 3.13 suivante représente les centres de gravité et les contours
superposés sur les images acquises des quatre classes d’objets :

51
Troisième chapitre Système de vision artificielle

Fig.3.13 : Contours et centres de gravité représentés sur les images acquises.

3.4.2. Méthode de classification


Dans cette étape nous calculons une caractéristique discriminante de
chacune des classes d’objets. Cette caractéristique est la signature polaire de
l’objet présent dans l’image en question. Elle correspond à la courbe des
distances entre le centre de gravité et les pixels du contour à partir du pixel
le plus loin du centre de gravité [5].
Le vecteur contenant la signature polaire est donnée par la formule (3.12).

  -   .     . (3.12)

Où (i, j) sont les coordonnées des points du contour

La simplicité de formes géométriques utilisées nous permet d’avoir une


invariance de la signature polaire par rapport à la rotation, et pour avoir une
invariance par rapport à l’échelle nous avons effectué les deux opérations
suivantes :

52
Troisième chapitre Système de vision artificielle

• Normalisation de la signature qui permet d’avoir une plage de variation


fixe indépendante de la taille de l’objet
• Ré-échantillonnage de la signature polaire qui permet d’avoir un
nombre de points N = 300 invariant vis à vis la taille du contour.

La figure 3.14 suivante représente les signatures polaires des quatre classes
d’objets normalisés et ré-échantillonnés :

Fig.3.14 : les signatures polaires des quatre classes d’objets.

Cette figure montre bien que la signature polaire permet de bien distinguer
chacune des quatre formes en question.

Pour pouvoir classer un objet détecté, nous devons comparer sa signature


polaire par rapport à une base de données. Pour ce faire, nous avons réalisé
une série tests sur un ensemble de 20 échantillons par classe d’objets dont

53
Troisième chapitre Système de vision artificielle
artifi

le résultat des signatures polaires de ces échantillons est représenté sur la


figure 3.15 suivante :

Fig.3.15 : Signatures polaires des différents échantillons de chaque classe.


cl

Après avoir effectué ces tests, une matrice d’apprentissage de taille 4x300
qui contientt les courbes moyennes de chacune des classes d’objets
d’objet est
enregistrée afin de réaliser une base de données à laquelle la signature
polaire sera comparée. La
a figure 3.16 suivante représente les signatures
polaires moyennes de chaque classe :

54
Troisième chapitre Système de vision artificielle

Fig.3.16 : Signatures polaires moyennes des quatre classes d’objets

La méthode utilisée pour la classification est la distance euclidienne


minimale [13], son principe est comme suit :

Soit  la signature polaire de l’objet détecté et /% , /. , /0 12 /3 les
signatures polaires moyennes enregistrées lors de l’apprentissage.

La méthode consiste à calculer les distances euclidiennes entre  et les /


avec   1, 2, 3, 4 selon la formule suivante :

. .
5  67 0  / 08  9  7 :  1  / :  18 (3.13)

La classe de l’objet est celle qui correspond à la distance euclidienne 5


minimale.

La figure 3.17 suivante représente l’organigramme général de notre


réalisation :

55
Troisième chapitre Système de vision artificielle
artifi

Fig.3.17
17 : organigramme général de l’application.

56
Troisième chapitre Système de vision artificielle

Tests pratiques :

Après l’écriture du programme correspondant à l’organigramme


général de commande, nous avons réalisé une série de tests pratiques de ce
programme : dix tests sur chaque classe d’objets. Nous avons effectué
chaque test de saisie et de déplacement d’un objet de sa position initiale
définie par les coordonnées de son centre de gravité  ,  ,  , vers son
emplacement défini par les coordonnées ; , ; , ;  que doit avoir le centre de
la pince lors du dépôt de l’objet à son emplacement, et On a obtenue les
résultats suivants :

• Taux de détection des objets :

- Le taux de détection sur la totalité de l’ensemble des tests est de


100%.

•Erreur maximale lors de la localisation des objets :

L’erreur maximale commise sur la position du centre de gravite, des objets


est :

- 3 mm suivant l’axe X.
- 3 mm suivant l’axe Y.

Ces erreurs sont dues à l’apparition de la troisième dimension de l’objet


(transformation de la scène 3D en une image 2D) lors de l’acquisition de
l’image.

• Taux de reconnaissance :

- 100% pour les pièces carrées.


- 100% pour les pièces circulaires.
- 100% pour les pièces triangulaires.
- 80% pour les pièces hexagonales.

Ces testes ont été réalisés dans des conditions de luminosité optimale affin
d’éliminer l’apparition des ombres sur l’arrière plan.

57
Troisième chapitre Système de vision artificielle

3.5. Conclusion

Dans ce chapitre nous avons étudié et réalisé la partie vision


artificielle de ce travail, dont l’objectif est de permettre au robot d’interagir
avec son environnement et d’avoir des informations sur les variations et
changements de ce dernier. Pour cela nous l’avons devisé en trois parties qui
sont les suivantes :

• La détection de la présence d’un objet sur le plateau tournant qui


utilise le nombre de pixels sombres comme indice de présence d’un
objet,
• La localisation du centre gravité de l’objet en se basant sur la méthode
des moments géométriques,
• Et enfin la reconnaissance de formes qui utilise le principe de
classification par distance euclidienne minimale appliqué sur la
caractéristique discriminante (signature polaire) calculée à partir du
contour de l’objet et son centre de gravité.

58
Conclusion générale

Conclusion générale

Notre travail consistait à étudier, sur le plan théorique et pratique, la


commande d’un système composé d’un plateau tournant, d’un bras
manipulateur et un système de vision artificielle. Le fonctionnement de cet
ensemble piloté par un microcalculateur consiste à reconnaître, en temps
réel, des objets arrivant sur le plateau tournant pour ensuite, les saisir et
les déplacer à l’aide du bras manipulateur.

Pour atteindre cet objectif constitué d’une étude théorique et d’une


réalisation pratique, nous avons subdivisé notre travail en trois étapes. La
première est consacrée à la réalisation d’une boucle de commandes
numérique en vitesse du moteur à courant continu assurant le mouvement
de rotation de la table. La réalisation de la commande du robot permettant
la saisie et le déplacement de l’objet vers l’emplacement correspondant à fait
l’objet de la seconde partie. En dernière partie, La détection, la localisation et
la reconnaissance des objets.

Pour la mise en ouvre de la commande numérique du plateau tournant en


premier lieu nous avons étudié les constituants de la table tournante puis
nous avons réalisé les étapes permettant la commande de la table à savoir
l’étape de l’identification, l’étape de calcul de la loi de commande, l’étape de
simulation et validation ainsi que l’étape de réalisation de la loi de
commande calculée. Dans l’étape de l’identification, nous avons déterminé la
structure du modèle sous forme de fonction de transfert du second ordre en
utilisant le principe des moindres carrés pour déterminer les paramètres
optimaux impliquant la réponse indicielle la plus proche possible de celle
relevée pratiquement. La loi de commande est obtenue à partir du calcul
d’un régulateur numérique permettant de rendre le fonctionnement de la
table performant, c’est dire avec un temps de réponse réduit et une

59
Conclusion générale

compensation de l’effet des perturbations. Après simulation et validation de


cette loi de commande, nous avons donné l’algorithme permettant de réaliser
cette loi de commande par un régulateur numérique.
En seconde partie de notre travail consacrée à la commande du robot
manipulateur, après l’étude des caractéristiques et des constituants du
robot, nous avons déterminé les modèles géométriques direct et inverse qui
ont été utilisés dans l’élaboration du programme de commande du robot.

Dans la dernière partie dédiée à la vision artificielle, pour détecter les objets,
la stratégie utilisée consiste à comparer la somme des niveaux de gris
inferieure à un seuil et de comparer cette somme à seuil de présence. La
localisation d’objet passe par la détermination du centre de gravité de l’objet
en utilisant les moments géométriques dans l’image binaire à partir duquel
les coordonnées du centre de gravité d’un objet peuvent être déterminés par
la connaissance de ses coordonnées dans l’image. Enfin, la partie
reconnaissance de forme des objets est réalisée suivant le schéma classique
d’un processus de reconnaissance de formes. Après leurs acquisitions, les
images ont subi une étape de prétraitement puis une étape de traitement où
les signatures polaires sont extraites. Dans la partie classification, la
méthode de la distance euclidienne minimale est utilisée pour déterminer la
classe de l’objet à partir de cette signature polaire et d’une base
d’apprentissage composée de signature polaires moyenne d’objets connus.

En perspective, il serait intéressant d’inclure un matériel professionnel


incluant une caméra haute définition reliée à une carte d’acquisition
permettant l’acquisition des images en temps réel et un robot industriel plus
performant et plus rapide et un ensemble de capteurs. L’essai se fera avec
différents types d’objets où interviennent la forme, la couleur et la texture.

60
Annexes

Annexes

Annexe 1 : L293D.
Annexes
Annexes

Annexe 2 : Arduino Méga 2560.


Annexes
Annexes

Annexe 3 : Raspberry pi 3.
Bibliographie

Bibliographie

[1] Mohamed Wissem NAOUAR, Éric MONMASSON, Ilhem SLAMA


BELKHODJA, Ahmad Ammar NAASSANI, (2009), "Introduction à la
commande numérique des machines électriques". Editions T.I.

2] Lycée Gustave Eiffel de Dijon, (2017), "Modélisation du Moteur à Courant


Continu", Classe préparatoire P.T.S.I.

[3] François Bailly, Julien Flamant, (2014), "Identification par la méthode des
moindres carrés et par la méthode du modèle : principe et exemples",
Récupéré le 23-03-2017 de :
https://jflamant.files.wordpress.com/2014/02/l7-moindrescarres.pdf.

[4] Papanicola Robert, (2003), "Notion de correction des systèmes asservis",


Récupéré le 08-04-2017 de
http://sciences-indus-cpge.papanicola.info/IMG/pdf/SA7-
Correction_des_S-A.pdf.

[5] Triki, A, (2010), "contribution à l’étude et réalisation d’un asservissement


comprenant une table tournante, un robot et un système de vision
artificielle", mémoire de magister Université de Mouloud MAMMERI, Tizi
Ouzou, Algérie.

[6] Wisama Khalil, (2002), "Commande des robots manipulateurs", Hermes


Science – Lavoisier.

[7] Wisama Khalil, Etienne DOMBRE, (2012), "Bases de la modélisation et de


la commande des robots-manipulateurs de type série", Récupéré le 06-03-
2017 de
http://cours-online.gdr-robotique.org/Khalil-Dombre_Modelisation/Khalil-
Dombre_Modelisation.pdf.
Bibliographie

[8] Hamdi Hocine, (2003), "Introduction a la robotique", Récupéré le 10-05-


2017 de https://www.fichier-pdf.fr/2014/06/04/hh-intro-robotique/.

[9] Jacques Gangloff, (2012), " Robotique Manipulation et commande",


Récupéré le 09-07-2017 de
http://icube-avr.unistra.fr/fr/images/c/c1/Cours_rob_4_2012.pdf.

[10] Lionel Lacassagne, (2012), "Segmentation / Seuillage / binarisation",


Récupéré le 24-05-2017 de
http://andresromero.github.io/lectures/TI_Chap1_Seuillage_2011_2012%2
0(1).pdf.

[11] Philippe Foucher, (2005), "Reconnaissance de caractères: Descripteurs


de formes et classification", Récupéré le 21-08-2017 de
http://www2.univ-paris8.fr/ingenierie-cognition/master-
andi/etudiant/cours/informatique/cours_foucher/traitement_signal_05_06/
rdf3.pdf.

[12] Colin Leveger, (2016), "Détection des contours d'une image : le filtre de
Canny", Récupéré le 15-07-2017 de
https://colinleverger.fr/assets/projects/CANNY-COLIN-LEVERGER.pdf.

[13] Fabien Chevalier, Jérome Le Bellac, (2013), "La classifiaction", Récupéré


le 03-08-2017 de

https://perso.univ-
rennes1.fr/valerie.monbet/ExposesM2/2013/Classification2.pdf.
Cocquerez, J. P, Philipp-Foliguet, S, (1995), "Analyse d'images: filtrage et
segmentation", Masson.

[15] ARDUINO MEGA, Datasheet, www.arduino.cc.

[16] Christian TAVERNIER, (2014), "Arduino : Maitrisez sa programmation et


ses cartes d’interface (shields)" , DUNOD.

[17] Raspberry pi 3, Datasheet, www.raspberrypi.org.

[18] Simon MONK, (2014), "Programmez un raspberry pi : initiation avec


python", DUNOD.

[19] Christian TAVERNIER, (2014), "Raspberry pi : Prise en main et


premières réalisations", DUNOD.

Vous aimerez peut-être aussi