ÉCOLE POLYTECHNIQUE
DE MONTRÉAL
DÉPARTEMENT DE GÉNIE ÉLECTRIQUE
PROJET ROBOFOOT : CONCEPTION, CONTÔLE ET
RÉALISATION D’UN ROBOT OMNIDIRECTIONNEL
Rapport de projet de fin d’étude soumis
comme condition partielle à l’obtention du
diplôme de baccalauréat en ingénierie.
Présenté par: Marc Antoine Richer-Comisso
Mathieu Béliveau
Matricule:
Directeur de projet: Richard Hurteau
Co-directeur: Julien Beaudry
Date : 7 décembre 2005
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
i
SOMMAIRE
Le présent projet de fin d’étude consiste en une élaboration d’un prototype de robot
footballeur omnidirectionnel. Le comité Robofoot de l’École Polytechnique possède déjà
plusieurs robots footballeur à mouvement différentiel. Lors des récentes compétitions, de
la Robocup middle size ligue, l’équipe a pu constater que plusieurs adversaires utilisaient
des robots sans contraintes holonomes. Ils ont pu dès lors constater que ces types de
robots possédaient un net avantage sur les leurs, surtout lors du contrôle de balle et sur la
rapidité d’exécution. Dans le but de rester le plus compétitif possible lors des
compétitions internationales, Robofoot désire donc concevoir un premier prototype de
robot omnidirectionnel sur lequel des études seront effectuées dans le but de créer une
équipe entière de ce type.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
ii
TABLE DES MATIÈRES
SOMMAIRE...................................................................................................................................................I
TABLE DES MATIÈRES........................................................................................................................... II
REMERCIEMENTS ................................................................................................................................... V
LISTE DES FIGURES ...............................................................................................................................VI
LISTE DES TABLEAUX........................................................................................................................VIII
LISTE DES SYMBÔLE ET ABRÉVIATIONS .......................................................................................IX
1. INTRODUCTION............................................................................................................................... 1
2. PROBLÉMATIQUE........................................................................................................................... 2
3. MÉTHODOLOGIE............................................................................................................................. 4
3.1 CHOIX DU TYPE DE PLATEFORME OMNIDIRECTIONNELLE ............................................................. 6
3.2 CHOIX DES MOTEURS .................................................................................................................... 8
3.3 CHOIX DES ROUES....................................................................................................................... 10
3.4 CHOIX DES PILES......................................................................................................................... 14
3.4.1 Historique ............................................................................................................................. 14
3.4.2 NiMH..................................................................................................................................... 15
3.4.2.1 Historique ...................................................................................................................................15 3.4.2.2 Fonctionnement général .............................................................................................................15 3.4.2.3 Caractéristique des performances ...............................................................................................16
3.4.3 Li-Ion..................................................................................................................................... 18
3.4.3.1 Historique ...................................................................................................................................18 3.4.3.2 Fonctionnement général .............................................................................................................19 3.4.3.3 Caractéristique des performances ...............................................................................................20
3.4.4 Li-Poly................................................................................................................................... 21
3.4.5 Comparaison entre les technologies ..................................................................................... 21
3.5 CHOIX DU CHARGEUR ................................................................................................................. 23
3.6 MODÉLISATION .......................................................................................................................... 25
3.6.1 Hypothèse.............................................................................................................................. 25
3.6.2 Cinématique .......................................................................................................................... 26
3.6.2.1 Cinématique directe....................................................................................................................29
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
iii
3.6.2.1.1 Disposition des roues ............................................................................................................29 3.6.2.1.2 Exemple de cinématique directe............................................................................................31
3.6.2.2 Coordonnées et repère ................................................................................................................33 3.6.2.2.1 Exemple de conversion du repère local à global ...................................................................35
3.6.3 Cinématique Inverse ............................................................................................................. 37
3.6.4 Dynamique ............................................................................................................................ 41
3.6.4.1 Dynamique de la plateforme.......................................................................................................41 3.6.4.2 Dynamique des moteurs .............................................................................................................45 3.6.4.3 Dynamique totale........................................................................................................................47
3.6.5 Contrôleur............................................................................................................................. 49
3.6.5.1 Contrôleur vitesse simple ...........................................................................................................50 3.6.5.2 Contrôleur de vitesse PID rotation & translation........................................................................51 3.6.5.3 Notion de normalisation .............................................................................................................51 3.6.5.4 Optimisation de la vitesse de déplacement avec l’angle d’azimut ..............................................58 3.6.5.5 Contrôleur de vitesse avec normalisation de la vitesse désirée...................................................61 3.6.5.6 Contrôleur simple de position.....................................................................................................62 3.6.5.7 Contrôleur en position avec normalisation de la vitesse désirée.................................................63
3.7 FONCTIONNEMENT GLOBAL ........................................................................................................ 64
3.7.1 Viper830................................................................................................................................ 66
3.7.1.1 Connexions à la carte..................................................................................................................67 3.7.2 ACSTech80 Servo Controllers .............................................................................................. 67
3.7.2.1 Signal PWM (Pulse width modulation) ......................................................................................70 3.7.3 Le pont en H.......................................................................................................................... 71
3.7.4 Connexion entre les cartes .................................................................................................... 73
3.7.4.1 Connexion entre le PC et les autres cartes ..................................................................................73 3.7.4.2 Connexion entre la carte de contrôle et les amplificateurs..........................................................74 3.7.4.3 Connexion entre la carte de contrôle et les encodeurs ................................................................77 3.7.4.4 Connexion entre la carte d’amplification et les moteurs.............................................................78
3.8 AUTONOMIE DU PROTOTYPE ....................................................................................................... 79
3.8.1 Consommation des cartes électroniques ............................................................................... 79
3.8.2 Consommation des moteurs selon divers scénario................................................................ 80
3.8.2.1 Scénario 1...................................................................................................................................80 3.8.2.2 Scénario 2...................................................................................................................................84
4. RÉSULTATS ..................................................................................................................................... 86
4.1 TEST PRATIQUE SUR LES MOTEURS ............................................................................................. 86
4.1.1 Premier test ........................................................................................................................... 86
4.1.2 Second test ............................................................................................................................ 87
4.2 VALIDATION DE LA SIMULATION ................................................................................................ 88
4.3 COMPARAISON DES RÉSULTATS ENTRE PROTOTYPE ET SIMULATION........................................... 91
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
iv
4.3.1 Essai de vitesse maximale de rotation................................................................................... 92
4.3.2 Essai de vitesse maximale de translation .............................................................................. 94
4.3.3 Essai d’accélération maximale ............................................................................................. 96
5. DISCUSSION .................................................................................................................................... 98
5.1 CHOIX DE LA PLATEFORME ......................................................................................................... 99
5.2 CHOIX DES ROUES....................................................................................................................... 99
5.3 CHOIX DES PILES....................................................................................................................... 100
5.4 CARTE ÉLECTRONIQUE ET CONNEXIONS ................................................................................... 101
5.5 SIMULATION ............................................................................................................................. 101
5.6 CONSOMMATION ÉLECTRIQUE .................................................................................................. 102
5.7 MONTAGE FINAL DU ROBOT...................................................................................................... 103
5.8 AMÉLIORATIONS POSSIBLES ..................................................................................................... 105
6. CONCLUSION................................................................................................................................ 107
7. BIBLIOGRAPHIE .......................................................................................................................... 108
8. ANNEXE.......................................................................................................................................... 110
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
v
REMERCIEMENTS
Nous tenons d’abord à remercier M. Richard Hurteau, notre directeur de projet de
fin d’étude, qui a bien voulu nous prendre en charge lors de la réalisation de ce projet.
Nous remercions également M. Julien Beaudry, directeur de Robofoot, qui a été
notre co-directeur de PFE. M. Beaudry est celui qui a permis la réalisation de ce projet
en nous donnant son accord pour la collaboration de robofoot sans quoi, rien n’aurait été
possible. Nous le remercions pour nous avoir secondés au projet nonobstant son horaire
du temps très chargé. Il nous à été d’une grande aide, particulièrement pour la partie
programmation sur Linux.
Nous remercions également David Saucier qui nous a aidés à représenter la
discontinuité du système sur Matlab, Simulink.
Nous tenons également à remercier M. Jonathan Dionne, étudiant en génie
mécanique, pour sa participation dans ce projet. M. Dionne est celui qui a réalisé la
plateforme mécanique dans le cadre de son projet de fin d’étude.
Nous tenons également a remercié nos copines, Julie Beaupré et Ariane Carrière-
Roberge qui nous ont appuyé moralement tout au long de la réalisation du projet.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
vi
LISTE DES FIGURES
Figure 1. Illustration des deux types de plateformes .............................................................................. 6
Figure 2. Roue omnidirectionnelle 1 .................................................................................................... 11
Figure 3. Roue omnidirectionnelle 2 .................................................................................................... 12
Figure 4. Roue omnidirectionnelle 3 .................................................................................................... 13
Figure 5. Schéma de construction d’une pile NiMH............................................................................. 16
Figure 6. Fabrication d’ensemble de piles ........................................................................................... 17
Figure 7. Pile Li-Ion ............................................................................................................................. 18
Figure 8. Structure atomique d’une pile Li-Ion .................................................................................... 19
Figure 9. Capacité en fonction du nombre de cycle ............................................................................. 20
Figure 10. Comparaison en les technologies.......................................................................................... 21
Figure 11. 112 Deluxe Charger/Discharger........................................................................................... 23
Figure 12. Roulement d’une roue omnidirectionnelle ............................................................................ 26
Figure 13. Force sur une roue omnidirectionnelle ................................................................................. 27
Figure 14. Système de cinématique directe............................................................................................. 29
Figure 15. Disposition des roues et distribution des forces, vitesses...................................................... 30
Figure 16. Exemple de cinématique directe............................................................................................ 32
Figure 17. Représentation et relation entre les deux repères local et global ......................................... 33
Figure 18. Modèle de conversion global à local .................................................................................... 34
Figure 19. Modèle de conversion local à global .................................................................................... 35
Figure 20. Cinématique avec un angle azimut de 60º............................................................................. 35
Figure 21. Modèle de la cinématique inverse......................................................................................... 37
Figure 22. Addition vectoriel.................................................................................................................. 39
Figure 23. Modèle de la dynamique de la plateforme ............................................................................ 41
Figure 24. Dynamique des moteurs ........................................................................................................ 45
Figure 25. Schéma du système moteur.................................................................................................... 45
Figure 26. Dynamique totale .................................................................................................................. 47
Figure 27. Contrôleur simple en vitesse ................................................................................................. 50
Figure 28. Contrôleur de vitesse PI translation & PD rotation ............................................................. 51
Figure 29. Vitesse maximale de déplacement en fonction de la direction du robot................................ 53
Figure 30. Graphique de vitesse maximal selon déplacement................................................................ 55
Figure 31. Vitesse maximale par rapport aux vitesses de rotation et translation .................................. 56
Figure 32. Optimisation de la vitesse de déplacement avec l’angle d’azimut ........................................ 59
Figure 33. Contrôleur de vitesse avec normalisation ............................................................................. 61
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
vii
Figure 34. Contrôleur simple de position............................................................................................... 62
Figure 35. Contrôleur de position avec normalisation........................................................................... 63
Figure 36. Schéma bloc des composantes électroniques du robot.......................................................... 66
Figure 37. Carte de contrôle .................................................................................................................. 68
Figure 38. Schéma bloc des connexions entre la carte de contrôle et les moteurs................................. 69
Figure 39. Onde carré ............................................................................................................................ 70
Figure 40. Modélisation d’un moteur ..................................................................................................... 71
Figure 41. Amplificateur pont en H........................................................................................................ 72
Figure 42. Empilement des cartes compatible PC 104........................................................................... 73
Figure 43. Carte de contrôle .................................................................................................................. 74
Figure 44. Carte servo-booster............................................................................................................... 76
Figure 45. Graphique de vitesse du scénario 1 ...................................................................................... 81
Figure 46. Mouvement rectiligne du robot ............................................................................................. 82
Figure 47. Cinématique du robot............................................................................................................ 88
Figure 48. Schéma du contrôleur de développement d’essai niveau 1 ................................................... 89
Figure 49. Schéma du contrôleur de développement d’essai niveau 2 ................................................... 90
Figure 50. Graphiques synthèses : Essai de vitesse maximale de rotation............................................. 92
Figure 51. Graphiques synthèses : Essai de vitesse maximale de translation sur l’axe des y................ 94
Figure 52. Graphique de vitesse sur l’axe des y : Essai de vitesse maximale sur l’axe des y ................ 95
Figure 53. Graphiques synthèses : Essai d’accélération maximale en translation sur l’axe y .............. 96
Figure 54. Graphique de vitesse sur l’axe des y : Essai de d’accélération maximale sur l’axe des y.... 97
Figure 55. Vision du robot à l’arrêt ..................................................................................................... 100
Figure 56. Vision du robot en rotation à 10 rad/s ................................................................................ 100
Figure 57. Vision du robot en translation à 1.8 m/s ............................................................................. 100
Figure 58. Dessous de la plateforme en cours d’assemblage............................................................... 105
Figure 59. Bloc imbriquée .................................................................................................................... 106
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
viii
LISTE DES TABLEAUX
Tableau 1. Comparaison entre modèle à 3 roues et à 4 roues.................................................................. 7
Tableau 2. Fiche technique du moteur GM9234E475 .............................................................................. 8
Tableau 3. Description du 112 Deluxe Charger/Discharger .................................................................. 24
Tableau 4. Tableau des I/O de la carte de contrôle ................................................................................ 75
Tableau 5. Signal d’entrée des amplificateurs........................................................................................ 76
Tableau 6. Sortie de l’encodeur .............................................................................................................. 77
Tableau 7. Sortie de la carte d’amplification.......................................................................................... 78
Tableau 8. Consommation électrique du PC........................................................................................... 79
Tableau 9. Consommation électrique de la carte 5850B ........................................................................ 79
Tableau 10. Résultats du second test ........................................................................................................ 87
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
ix
LISTE DES SYMBÔLE ET ABRÉVIATIONS
NiMH : Nickel metal hybrid. Sorte d’alliage utilisé dans la conception de piles
Li-Ion : Lithium-ion. Sorte d’alliage utilisé dans la conception de piles
Li-Poly : Lithium Polymère. Sorte d’alliage utilisé dans la conception de piles
NiCd : Nickel-Cadium. Sorte d’alliage utilisé dans la conception de piles
Système électromécanique
m : masse (kg). Masse du robot
L : longueur (m). Longueur entre deux roues opposées
Ra : rayon (m). Rayon d’une roue
µc : Coefficient du frottement visqueux
δ : alpha (degree). Angle d’orientation entre les moteurs et l’axe horizontal de la
plateforme.
Modélisation
YX ���� , : (m/s2). Accélération dans le repaire global.
yx ���� , : (m/s2). Composantes d’accélération dans le repaire du robot.
YX �� , : (m/s). Vitesse dans le repaire global.
yx ��, : (m/s). Composantes de vitesses dans le repaire du robot.
ψ : (rad). Angle azimut du robot
ω : (rad/s). Vitesse angulaire de la plateforme.
X, Y : (metres). Position du robot dans le repaire global ou du robot
x, y : (metres). Position du robot dans le repaire local ou du robot
Fn : forces de traction appliquées sur les roues respectives
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
x
Tn : (Volt). Tensions appliquées aux moteurs respectifs, où n = 1, 2, 3 ou 4
n : rapport d’engrenage du moteur
J : moment d’inertie du robot
k1 : Constante de couple du moteur
k2 : Constante de force électromotrice du moteur
Rt : Résistance interne du moteur
ωn : vitesse angulaire des roues, où n = 1, 2, 3 ou 4
b0 : coefficient de frottement visqueux du moteur
τn : torque du moteur, où n = 1, 2, 3 ou 4
PID du gain de la tension des 4 moteurs
Kp1 : Gain proportionnel
Kd1 : Gain dérivée
Ki1 : Gain intégrale
PID du gain de vitesse de translation
Kp2 : Gain proportionnel
Kd2 : Gain dérivée
Ki2 : Gain intégrale
PID du gain de vitesse de rotation
Kp3 : Gain proportionnel
Kd3 : Gain dérivée
Ki3 : Gain intégrale
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
1
1. INTRODUCTION
Depuis quelques temps déjà, les scientifiques tentent désespérément de créer des
robots ayant la mobilité d’un être humain, ce qui représente un défi plus qu’intéressant.
Beaucoup d’envases sont mis sur le développement de technologies en robotique, un des
buts ultimes est de créer des humanoïdes capable d’aider les être humains qui ont perdu
une certaine mobilité. Dans ce mouvement de recherche en robotique, plusieurs groupes
se sont créer, des événements ont pris naissances afin de pouvoir mettre en commun le
résultat des recherches. De ce mouvement est apparu la Middle Size League, qui est une
compétition de robot footballeur. Le groupe Robofoot est le comité de l’École
Polytechnique qui a créé une équipe de robot et qui participe aux diverses compétitions
internationales. L’équipe possède actuellement des robots à déplacement différentiel.
Elle a cependant remarqué l’avantage que possédait certaine équipe qui possédait des
robots omnidirectionnels. Nous avons donc pris le mandat de concevoir un prototype de
robot à déplacement sans contrainte holonome pour Robofoot afin qu’il puisse s’en servir
de modèle pour la conception d’une future équipe.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
2
2. PROBLÉMATIQUE
La plateforme actuelle à deux roues contraint beaucoup le robot en déplacement.
Pour se déplacer il doit actuellement tourner puis avancer ou se déplacer en suivant une
trajectoire curviligne. Les mouvements latéraux sont empêchés par la friction des roues,
ce qui limite la mobilité du robot. Cela peut être nuisible dans le cas de joueur de soccer,
en particulier lorsque le robot doit se faufiler entre des adversaires pour se rendre vers le
ballon ou pour déjouer.
Nous nous devons donc de concevoir, de contrôler et de réaliser une plateforme
omnidirectionnelle. Comme notre problème est de taille, il s’agit ici de découper le
problème global en sous problèmes que nous résolvons indépendamment. Nous avons
alors divisé le projet en deux principaux aspects. Un aspect traitant sur la fabrication du
prototype et l’autre aspect traitant sur la modélisation et contrôle du robot.
L’idée de construire un prototype omnidirectionnel pour l’équipe de Robotfoot
demeure un projet à titre expérimental. La réalisation de ce projet n’est donc pas dans le
but d’obtenir un robot de grande performance mais plutôt de réaliser un premier
prototype de développement avec lequel nous pourrons réaliser des essais et valider les
modèles testés en simulations. De plus, l’équipe de Robotfoot pourra également intégrer
plusieurs parties de son robot différentiel sur le robot omnidirectionnel, comme les parties
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
3
de vision, d’odomètrie et de stratégie de jeux qui sont tous programmées pour fonctionner
avec une plateforme différentiel.
Étant donnée la nature du projet, nous nous devions donc d’utiliser le plus
possible le matériel disponible au département de génie électrique et au comité de
Robofoot. En effet, nous avions à notre disposition plusieurs composantes déjà
existantes. Nous avons donc recyclé les composantes que nous pouvions tels les moteurs,
ordinateur et carte de contrôle, ponts en H, ainsi qu’une partie de la structure mécanique
du robot différentiel utilisé par Robofoot. De plus, nous utiliserons le système de vision
déjà développé par le comité ainsi que les algorithmes de contrôle déjà développés que
nous modifierons légèrement pour l’adapter à un robot omnidirectionnel. Par contre,
nous devions renouveler certaines composantes comme les roues, les piles utilisées, ainsi
que la base de la structure mécanique qui doit maintenant accueillir non pas deux roues,
mais bien quatre. Ce dernier sujet est en fait l’objet d’un projet de fin d’étude d’un
étudiant en génie mécanique.
Le fait de concevoir un robot omnidirectionnel en guise de prototype pour le
comité Robofoot présente un grand avantage pour ces derniers. En effet, le robot
construit sera soumis à plusieurs tests de déplacement, de vitesse maximale ainsi que
d’accélération. Les conclusions tirées de ces tests seront très bénéfique pour l’équipe
puisqu’elle désire remplacer les joueurs actuels par des robots ayant une mobilité
omnidirectionnelle.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
4
3. MÉTHODOLOGIE
La conception du prototype sera fera en plusieurs étapes. Comme le projet se fait
conjointement entre deux étudiants et qu’une troisième personne travaille sur l’aspect
mécanique du robot, ces paramètres devraient être choisis en premier lieu. Il y a
présentement deux plateformes possibles pour la conception du prototype, soit
triangulaire à trois roues ou bien carrée à quatre roues. Ensuite, il faudra faire un choix
sur les différents modèles de roues permettant un déplacement omnidirectionnel.
Une fois ces décisions prises, la première phase, qui sera effectuée parallèlement au
développement des contrôleurs, portera sur une étude des différentes technologies de
piles existantes et qui pourraient convenir à notre prototype. Un ensemble pile-chargeur
sera donc choisi. Il faudra également que tout le matériel électronique, c’est-à-dire toutes
les cartes électroniques, PC, carte de contrôle, pont en H…etc soient trouvés et
rassemblés. Le câblage adéquat au fonctionnement du robot sera alors réalisé.
La seconde partie de cette première phase de développement se séparera alors en
deux autres. La première partie sera de concevoir le type de contrôle et la modélisation
du robot. Les contrôleurs seront développés par voie de simulation et ils devront
permettre l’asservissement en vitesse et en position du robot dans l’espace opérationnel,
soit le terrain de soccer utilisé lors des compétitions de la Robocup. Il est à noter que ces
simulations seront effectuées avec l’aide de l’environnement MatLab/Simulink. Une fois
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
5
le développement terminé, ces contrôleurs devront être implantés au sein du robot et
testés afin de valider leur fonctionnement.
Dans la deuxième phase, il s’agira d’intégrer sur la plateforme tous les modules
électriques nécessaires au fonctionnement du robot et d’élaborer des procédures de test
afin de vérifier que tous les modules fonctionnent de façon adéquate. Si le temps le
permet, le robot sera configuré pour pouvoir fonctionner de façon autonome, en utilisant
le système de vision déjà implanté sur les anciens robots.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
6
3.1 Choix du type de plateforme omnidirectionnelle
La première étape à été de choisir parmi deux types de plateforme
omnidirectionnelle, c’est-à-dire une base soit à trois roues ou à quatre roues. Ces deux
configurations comportent divers avantages et des inconvénients. Nous devons donc
analyser les différentes configurations afin de pouvoir faire un choix optimal. Les
croquis ci-dessous illustrent l’emplacement des roues sur la plateforme selon le design.
Plateforme 3 roues Plateforme 4 roues
FIGURE 1. ILLUSTRATION DES DEUX TYPES DE PLATEFORMES
Voici les particularités que nous avons ressorties de chacune d’elles, résumées dans un
tableau comparatif.
L
L
L
L
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
7
AVANTAGES
Plateforme à trois roues Plateforme à quatre roues
• Côtés plus larges • Bascule moins facilement
• Plus léger car 1 moteur de moins • Centre de gravité plus bas
• Consomme moins d’énergie • Direction plus optimal car 4 moteurs
utilisés
• Aire de surfaces plus grandes, montage
plus bas
• Plus de puissance disponible
DÉSAVANTAGES
Plateforme à trois roues Plateforme à quatre roues
• Bascule plus facilement • Consomme plus d’énergie
• Moins de puissances • Plus lourd
Tableau 1. Comparaison entre modèle à 3 roues et à 4 roues
Après avoir analysé les deux types de configurations possibles, notre choix s’est
arrêté sur le modèle à 4 roues. En effet, ce modèle possède une aire de surface plus
grande permettant de placer les composantes le plus bas possible pour ainsi abaisser le
centre de gravité du prototype. De plus, ce modèle offre une puissance supérieure étant
donné l’utilisation de quatre moteurs. L’utilisation d’un modèle à quatre roues permet
également de modifier la configuration de celles-ci en n’impliquant qu’un seul paramètre
dans les équations de contrôle. Plusieurs tests pourront donc être effectués afin
d’observer laquelle offre une meilleur accélération, une meilleur vitesse de translation ou
de rotation.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
8
3.2 Choix des moteurs
Comme nous l’avons mentionné précédemment, le robot utilisera quatre roues
pour générer ses déplacements. Nous n’avons pas eu à choisir ces moteurs puisque
l’équipe de Robofoot avait en réserve des moteurs, qui servent actuellement pour leur
robot. Il s’agit des moteurs PittmanExpress GM9234S017. Ce sont des moteurs DC à
balai. Leur fiche technique est incluse à ce rapport en annexe.
Paramètre Symbôle Valeur
Tension nominale Vbatt 24V
Vitesse sans charge SNL 424 rpm
Résistance interne du moteur Rt 4.52 Ohms
Couple de friction Tf 0.0042Nm
Back EMF Ke 4.81 V/krpm
Couple constant Kt 0.0459 Nm/A
Frottement fisqueux D 2.6x10-6 N*m*s
Tableau 2. Fiche technique du moteur GM9234E475
Il est à noter que plusieurs autres types de moteurs existent. Une étude sur ces
différents types pourraient être profitable, afin d’offrir au robot le meilleur moyen de
propulsion possible. Voici une brève description des autres types de moteurs existants
sur le marché.
Moteur pas à pas
• Moteurs rotatifs dont le mouvement est engendré grâce à des impulsions
électriques.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
9
• Chaque impulsion fait tourner le moteur d’un pas prédéterminé
• Utilisé pour contrôler la position rotative du moteur
• Leur vitesse est relativement faible
Moteur sans balai
• Le bobinage est intégré au stator donc pas besoin de commutateur interne
• Nécessite système de commutateur électronique externe
• Durée de vie plus longue que les moteurs à balais et moins d’entretien
nécessaire
• Plus petit et léger pour même puissance donnée qu’au moteur à balai
• Peut produire un frein moteur lorsque tension est retiré (aimant permanant)
• Grande vitesse requise ( 30 000 RPM et +)
Moteur à balai
• Opère de la même manière que le moteur sans balai, mais muni de commutateur
interne à même le rotor
• Fonctionnement simple, contrôle par tension seulement
• Peut produire un frein moteur lorsque tension est retiré (aimant permanant)
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
10
3.3 Choix des roues
Le choix des roues va de pairs avec le choix des moteurs, car le rayon des roues
influence la vitesse et le couple exercé par les moteurs. Puisque les moteurs sont déjà
fournis, il est donc important de choisir une roue au rayon adéquat.
Pour que le robot soit fonctionnel, il doit être muni de roues omnidirectionnelles
afin de permettre un déplacement dans n’importe quelle direction. Une roue
omnidirectionnelle possède une roue principale munie de plusieurs petites roues
secondaires. Elle permet donc deux déplacements possibles, un déplacement dans la
direction perpendiculaire à l’axe du moteur (forcée), possible par la grande roue, et un
déplacement dans la même direction que l’axe du moteur (libre), possible par la
disposition des petites roues. De plus, une bonne roue devrait avoir les caractéristiques
suivantes :
• Les petites roues doivent être faites d’un matériau avec une bonne adhérence avec
le sol pour éviter les glissements.
• Le contour de la roue, formé par les petites roues, doit avoir le plus possible la
forme circulaire pour permettre un roulement constant avec le sol, quel que soit la
position de la roue.
• Une masse réduite pour négliger l’inertie de la roue.
• Être robustesse au choc et vibration
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
11
Voici des illustrations qui montrent les différents types de roue omnidirectionnelle que
nous avons trouvée sur Internet.
FIGURE 2. ROUE OMNIDIRECTIONNELLE 1
http://www.roboternetz.de/wiki/pmwiki.php?n=Main.OmniWheels
Ce modèle est de conception Allemande et tout leur site est dans cette langue. De
plus, il est difficile d’envoyé une commande, de savoir leur prix et le choix des rayons de
la roues est limité à 20mm, ce qui implique directement que la vitesse maximale que peut
atteindre le robot avec ce type de roue est plus petite que celle que pourrait atteindre un
autre prototype possédant de plus grandes roues.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
12
FIGURE 3. ROUE OMNIDIRECTIONNELLE 2
http://robotics.iu-bremen.de/cgi-bin/robowiki.pl?OmniWheels
Cette roue semble intéressante puisqu’elle offre de la traction en raison de dents
formées pas les petites roues. Toutefois, elle est faite de façon artisanale et est tirée du
site RoboWiki, site d’échange d’information de robot omnidirectionnel. Elle a donc été
fabriquée dans le cadre de la réalisation de robot d’un projet autre. Il n’est donc pas
possible pour nous de commander ces roues et il nous faudrait donc en fabriquer nous
même.
La roue choisie est celle du fournisseur Traporol. Elle est composée d’un
assemblage de deux roues omnidirectionnelles, cote à cote.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
13
http://www.traporol.de/arg_80.php
FIGURE 4. ROUE OMNIDIRECTIONNELLE 3
L’une des roues est déphasée de 60° par rapport à l’autre. Le matériau des roue
secondaires est du polyuréthane, reconnu pour sont adhésion sur toutes sorte de surface,
lisse ou rugueuse. Cette roue est disponible en plusieurs modèle de diamètre, nous avons
choisi la roue de 8cm qui nous semble ni trop grand, ni trop petit.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
14
3.4 Choix des piles
Afin de pouvoir propulser le robot, les moteurs ont besoin d’être alimentés. Cette
alimentation provient des piles, elles doivent alors fournir une grande puissance pour
pouvoir fournir au robot une accélération acceptable en compétition. Dans la prochaine
génération de robot, Robofoot espère pouvoir atteindre une vitesse maximale de 5 m/s et
une accélération de 5m/s2. À cette accélération assez élevée est associé un torque des
moteurs qui implique un courant d’alimentation assez élevé. Plus le torque demandé est
grand, plus le courant qui doit être fournit aux moteurs doivent l’être également. Donc,
les piles devront posséder un grand courant de décharge instantané, ainsi qu’un poids
faible afin de ne pas nuire au robot.
3.4.1 Historique
Avant les années 1990, la technologie de pile au nickel-cadium était celle qui
dominait le marché, de par son accessibilité et ses performances. Or depuis ce temps,
plusieurs nouvelles technologies ont vu le jour et offrent des performances supérieures à
celle au NiCd. Les robots de robofoot utilisent présentement des piles au nickel-cadium,
il serait peut-être avantageux de changer cette technologie par une autre qui offre un
rapport Ah/poids et Ah/volume intéressant. Il est à noter que le poids des piles représente
la majeure partie du poids du robot. Trois différentes technologies de piles seront
étudiées, soit NiMH, Li-Ion et Li-Poly.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
15
3.4.2 NiMH
3.4.2.1 Historique
Les piles au NiMH ont vu le jour dans les années 90. Très souvent comparé à
celle au NiCd, elles offraient déjà, lors de leur apparition sur le marché, une densité
énergétique supérieure à ces dernières et elles étaient moins dommageables pour
l’environnement. Par contre, la différence entre sa courbe de recharge par rapport à celle
au NiCD nécessitait des modifications sur les appareils qui voudraient utiliser cette
technologie. Avec le temps, elles sont devenues de plus en plus performantes et plusieurs
appareils électroniques ont été conçus en fonction de l’utilisation de ces piles.
3.4.2.2 Fonctionnement général
Dans le cadre de ce projet, le fonctionnement chimique des piles importes très
peu, mais il est bon d’en faire un survole afin de déterminer si la pile en question est
sécuritaire et n’utilise pas de matériau dangereux qui pourrait causer problèmes lors d’un
éventuelle transport international des robots par avion.
La réaction aux bornes des électrodes est réversible, ce qui permet à la pile de
pouvoir être chargé et déchargé. La réaction qui a lieu sur l’électrode positive est la
suivante :
Ni(OH)2 + OH- NiOOH + H
2O + e- (pendant le chargement)
NiOOH + H2O + e- Ni(OH)
2 + OH- (pendant la décharge)
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
16
Tandis que celle qui est présente sur l’électrode négative est :
M + H2O + e- MH + OH- (pendant le chargement)
MH + OH- M + H2O + e- (pendant la décharge)
On remarque alors que le principe de fonctionnement décrit par ces équations
reposent sur l’échange d’un atome d’hydrogène d’un côté comme de l’autre de
l’équation, selon si on est en situation de charge ou de décharge. La figure suivante
donne en détail la composition d’une pile cylindrique NiMH, démontrant les deux
électrodes, positives et négatives.
FIGURE 5. SCHÉMA DE CONSTRUCTION D’UNE PILE NIMH
3.4.2.3 Caractéristique des performances
Ce qui nous intéresse, dans la cadre de ce projet est la densité énergétique de la
pile, son prix et avec quelle facilité pourrons-nous fabriquer des ensembles de plusieurs
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
17
piles qui nous permettrons d’atteindre la valeur de tension désiré. Les moteurs
qu’utilisera notre prototype fonctionneront avec une tension de 24 Volts, le calcul de prix
se fera donc en considérant que nous cherchons à obtenir cette tension.
Les piles NiMH ont une capacité deux fois supérieure à celle des piles NiCd, ce
qui leur permet de durer beaucoup plus longtemps que ces dernières. De plus, elles
peuvent offrir, selon les différentes compagnies et grosseurs de piles, un courant de
décharge atteignant les 10 C. Lorsqu’elles sont rechargées dans des conditions
favorables, c’est-à-dire que le courant de charge ne dépasse pas 0.1C et qu’elle ne
décharge pas plus que 0.2 C, elles peuvent avoir une durée de vie de 1000 cycles. Bien
sûr, une utilisation plus exigeante des piles diminue la durée de vie. De plus, il est plutôt
simple de fabriquer des ensembles de piles afin d’obtenir la tension désiré, il s’agit de
relier en série les piles.
FIGURE 6. FABRICATION D’ENSEMBLE DE PILES
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
18
3.4.3 Li-Ion
3.4.3.1 Historique
Tout comme les piles au NiMH, celle au Li-Ion on vu le jour dans les années
1990. Elles possédaient déjà une densité énergétique supérieure à toutes les technologies
de piles rechargeables. Elles ont alors pris place dans des utilisations électroniques
spécifiques telles que les ordinateurs portables. Par contre, elles ont démontré une
faiblesse quant à leur sécurité. En effet, les ingénieurs ont du créer un circuit qui
s’occupe de la gestion énergétique de la pile, il s’assure entre autre de la stabilité de la
tension de sortie.
FIGURE 7. PILE LI-ION
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
19
3.4.3.2 Fonctionnement général
La pile consiste en une cathode d’oxyde de lithium de cobalt et d’une anode en
graphite séparés par un couche en polyéthylène ou en polypropylène dans un
électrolytique non-aqueux. Quand la pile est chargée, des ions de lithium quitte la
cathode pour aller s’insérer dans les couches de la structure de graphite. Dans le cas
contraire ou la pile se décharge, quitte l’anode pour retourner dans la cathode.
FIGURE 8. STRUCTURE ATOMIQUE D’UNE PILE LI-ION
Dans les deux cas, il y a déplacement d’électron dans le sens contraire du
déplacement des ions pour fermer le circuit électrique.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
20
3.4.3.3 Caractéristique des performances
L’élément qui caractérise le plus la pile Li-Ion est sa haute densité énergétique,
qui avoisine les 160Wh/Kg. Elle peut être chargée par de grand courant, ce qui réduit
considérablement le temps de recharge nécessaire. De plus, elle garde sensiblement
toujours les mêmes caractéristiques, même après plusieurs recharges.
FIGURE 9. CAPACITÉ EN FONCTION DU NOMBRE DE CYCLE
Un désavantage de cette pile est quelle nécessite l’intégration d’un circuit de
sécurité à l’intérieur de la pile afin de contrôler son fonctionnement et de couper
l’alimentation dans des situations anormales. De plus, ces types de piles sont faits de
matériaux dangereux et elles prennent violemment en feu si elles sont en contact avec
l’eau. De plus, lorsqu’on est en présence d’une masse de plus de 80 grammes de lithium
dans un ensemble de piles, on doit considérer la batterie comme un objet de classe 9 lors
du transport des piles.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
21
3.4.4 Li-Poly
Ce type de pile ressemble en tout point avec la pile Li-Ion, elle utilise la même
équation chimique pour fournir son énergie et possède la même densité d’énergie. La
grosse différence entre les deux types de piles se situe dans l’architecture interne des
anodes et des cathodes. Dans les piles Li-Ions, on remarque des structures cylindriques
tandis que pour les piles lithium-polymères, on observe une structure couche par couche.
Le fait d’utiliser cette architecture rend la pile plus sécuritaire et légèrement plus petite
(mince) que sa semblable. Le fait qu’elle soit plus sécuritaire provient du fait que s’il y a
mal fonctionnement et qu’un dégagement de gaz survient dans la pile, les couches
décolleront sous l’effet de la pression, contrairement à la pile cylindrique qui explosera.
3.4.5 Comparaison entre les technologies
Maintenant que tout les technologies de piles ont été survolé, un petit résumé
comparatif s’impose afin de prendre une décision judicieuse sur les types de piles a
intégrer au sein du prototype. Le tableau suivant présente une comparaison des
principales caractéristiques de toutes les piles étudiées dans ce projet.
FIGURE 10. COMPARAISON EN LES TECHNOLOGIES
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
22
Dans ce tableau, on remarque que les piles au Li-Ion et Li-Poly sont plus
performantes que celles au NiMH, elle possède une tension supérieure par pile, ce qui
réduirait la quantité nécessaire pour atteindre une tension de 24 Volts. Par contre, ces
piles constituent un achat plus important, leur prix unitaire étant plus élevé que celui des
piles au NiMH. De plus, tout au long de notre recherche, on mentionnait le danger
potentiel à l’utilisation des piles contenant du lithium. Il faut donc en tenir compte,
puisque les robots qui utiliseront ces piles seront soumis parfois à de violents chocs. Le
fait que le lithium soit considéré comme matériel dangereux lors du son transport n’aide
pas non plus, puisque la plupart des compétitions de la Robocup sont à l’extérieur du
Canada. Autre point, les piles au NiMH offre un excellent courant de décharge maximal,
tandis que les deux autres semblent être légèrement inférieur. Les moteurs utilisés
présentement par les robots peuvent exigés un courant de 10 ampères lorsque les roues
sont bloqués, il faut donc que les piles puissent prendre un tel courant. Après ces
réflexions, notre choix c’est arrêté sur les piles de type D, 1.2 Volts, au NiMH, pour sa
robustesse, sa facilité à créer des batteries de piles qui nous donnerait la tension désirée,
pour son prix raisonnable et son courant de décharge élevé. Les piles pourront être
achetées chez un fournisseur de Laval nommé Agence RCL. Le prix pour un ensemble
de 24 Volts, pour des piles de capacité 9500 mAh est de 426.00 $ tandis que les
ensembles de 48 Volts sont au coût de 852.00 $. Les piles choisis dont de la compagnie
Saft et sa fiche technique est disponible dans l’annexe de ce présent document.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
23
3.5 Choix du chargeur
Maintenant que le type de piles a été choisi, il faut trouver un chargeur adéquat. Il
devra pouvoir chargé un ensemble de piles formant un bloc de 24 Volts et devra être en
mesure d’effectuer la recharge de façon conventionnelle, c’est-à-dire avec un courant de
charge plus faible, inférieur à 0,1C et avec un courant de charge plus élevé, lorsque
l’équipe de robofoot voudra charger les piles en catastrophe lors d’une compétition. Pour
bien faire, le chargeur devrait même pouvoir charger un ensemble de piles représentant
une tension de 48 Volts, dans le cas où la technologie de moteur actuelles serait
remplacée par une autre demandant une plus grande tension, donc pouvant tourner plus
vite. Le chargeur trouvé provient de la compagnie AstroFlight, c’est le 112 Deluxe
Charger/discharger. Il est au coût de 129.95 US.
FIGURE 11. 112 DELUXE CHARGER/DISCHARGER
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
24
Tableau 3. Description du 112 Deluxe Charger/Discharger
Comme le tableau indicative le mentionne, il peut charger jusqu’à 40 piles à la
fois, ce qui correspond au nombre de piles nécessaire pour avoir un ensemble fournissant
une tension de 48 Volts.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
25
3.6 Modélisation
3.6.1 Hypothèse
Dans la conception du robot omnidirectionnel nous avons négligé certains aspects
pour en simplifier le modèle théorique. Nous avons d’abord négligé la friction des roues
au sol en considérant un coefficient de friction parfait, sans perte. Nous ne considérerons
que deux composantes de friction, le frottement visqueux, proportionnel à la vitesse du
moteur et le frottement constant qui s’oppose à la direction de l’arbre du moteur.
De plus, nous avons négligé le fait que la lecture des données se fait de façon
discrétisée. La lecture électronique engendre un phénomène de discontinuité qui crée une
erreur lors de l’interprétation des résultats en raison du délai sur la lecture des données.
Parce que la lecture se fait à un intervalle de temps non nul, les données du robot sont
rafraîchies de façon saccadée. De ce fait, le traitement de l’information n’est pas fait par
rapport aux données vérifiables du robot. Dans notre analyse, nous supposons que la
lecture des données se fait assez rapidement pour négliger cette erreur étant donnée la
rapidité du système électronique. La constante de temps électronique est donc ignorée et
ceci ne sera perçu que comme une légère perturbation au système.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
26
3.6.2 Cinématique
La cinématique permet de faire le lien entre trois systèmes de repère. Nous
traiterons chacun des trois types de système. Le premier est le système de coordonné
local, composé de données exprimées en x, y et w. Le deuxième est le système de
coordonnée globale composée de données exprimées en X, Y et w. Le troisième système
de repère est composé de données exprimées sur chacune des quatre roues. En effet,
chaque roue possédant sa vitesse et son accélération agit sur la plateforme qui possède
elle-même une vitesse et une accélération propre. D’ailleurs, chaque élément sur l’axe x,
sur l’axe y de même que sur l’axe w est dû au élément de chacune des roues.
Avant d’étudier les systèmes, jetons d’abord un œil sur le roulement d’une roue
omnidirectionnelle. Voici une image montrant la projection des vitesses sur la roue.
FIGURE 12. ROULEMENT D’UNE ROUE OMNIDIRECTIONNELLE
Vitesse roues secondaire
Vitesse roue principale
Vitesse résultante
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
27
Nous observons que la vitesse résultante de la roue est l’hypoténuse formée par la
vitesse de la roue principale et de la vitesse des roues secondaire. Nous remarquons
également que la vitesse maximale de déplacement de la roue est lorsque celle-ci est
inclinée comme illustré. La vitesse maximale est donnée par
)max(2)max()max(max 22 rouevitrouevitrouevitVit ⋅=+=
D’autre part, les forces (ou accélération) agissant sur le système ne sont pas
calculées de la même manière que précédemment. En effet, les roues secondaires ne
créant aucune force, nous ne les considérons pas dans l’addition vectorielle. Voici une
image montrant la projection des forces (ou accélération) sur la roue.
FIGURE 13. FORCE SUR UNE ROUE OMNIDIRECTIONNELLE
Force roues secondaires
Force roue principale
Vitesse résultante
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
28
Comme nous l’observons, il n’a aucune force (accélération) exercée par les roues
secondaires. En effet, ces roues ne sont pas dotées de moteurs. La force (accélération)
résultante est donc l’unique projection de la force exercée par la roue principale.
Nous remarquons que la force maximale exercée par la roue est lorsque celle-ci
est inclinée comme illustré. Cependant, contrairement aux vitesses, les forces
s’additionnent vectoriellement. La force résultante est donc l’ensemble des forces
appliqué par chacune des roues. La force résultante maximale observée sur le robot,
selon la géométrie actuelle, est
δcos4max_ ⋅=Acc
Nous verrons dans les sections suivantes les équations qui permettent de passer
d’un système de repère à un autre. Nous divisons le travail en deux parties, la
cinématique directe et la cinématique inverse. La première partie, la cinématique directe,
se compose de trois sous section. D’abord, nous analysons les équations qui régissent la
cinématique directe du système. Nous voyons ensuite l’influence de la disposition des
roues sur les performances de la plateforme. Nous étudions finalement les notions des
différents systèmes de coordonnées et repère qui existent. La deuxième partie, la
cinématique inverse, propose une solution pour permettre le d’effectuer les opérations
inverse de la cinématique directe. Les explications sont accompagnées d’exemples afin
des mieux comprendre le fonctionnement de chacune des parties.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
29
3.6.2.1 Cinématique directe
Le modèle cinématique directe permet de trouver l’effet des composantes de
vitesses et accélérations de chacune des roues agissant sur la plateforme elle-même. Le
système possède donc 4 entrées et 3 sorties, soit respectivement les données recueillies
aux quatre roues qui sont transformées en composantes x, y et w. Ce système est
surdéterminé puisqu’il comporte plus d’entrées que de sorties. De ce fait, il n’existe donc
qu’une seule combinaison de solution possible pour les composantes x, y et w. Notons
que la disposition des roues à une influence sur les éléments locaux du robot. Nous
analysons donc les équations de la cinématique directe selon la disposition des roues.
La cinématique directe peut-être employé à plusieurs effets, telle que la
conversion de forces, de vitesses ou d’accélérations. Voici une illustration du
fonctionnement du système de cinématique directe :
FIGURE 14. SYSTÈME DE CINÉMATIQUE DIRECTE
3.6.2.1.1 Disposition des roues
Les équations de la cinématique directe dépendent de la disposition des roues. La
figure ci-dessous représente de façon géométrique les forces et vitesses par chacune des
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
30
roues engendrées sur la plateforme omnidirectionnelle. Le sens des flèches indique le
sens positif de l’axe.
FIGURE 15. DISPOSITION DES ROUES ET DISTRIBUTION DES FORCES, VITESSES
Les moteurs sont disposés à un angle δ par rapport à l’axe x local de la plateforme
elle-même. Nous obtenons donc les équations de cinématique directe pour des vitesses,
exprimées dans la matrice TVcd:
T
CD
ROUESCDLOCAL
RRRR
TV
VTVV
−−
−−
=
⋅=
4
1
4
1
4
1
4
12
cos
2
cos
2
cos
2
cos2
sin
2
sin
2
sin
2
sin
δδδδ
δδδδ
où δ est l’angle de disposition des moteurs et V est un vecteur contenant les données de
vitesse dans le système de repère donné.
y N (w)
f3(v2)
f4(v2)
f2(v2)
f1 (v1)
δ x
δ
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
31
Nous obtenons aussi les équations de cinématique directe pour les forces, exprimées dans
la matrice TFcd:
T
CD
ROUESCDLOCAL
RRRR
TF
FTFF
−−
−−
=
⋅=
1111coscoscoscos
sinsinsinsin
δδδδδδδδ
Où δ est l’angle de disposition des moteurs et F est un vecteur contenant les données des
forces dans le système de repère donné.
Il est important de noter que l’agencement des moteurs à une influence sur les
performances de la plateforme, puisque l’élément est dépendant de l’angle des moteurs.
Plus l’angle δ est petit et plus d’assignations est fait à l’axe y au détriment de l’axe des x
puisque les composantes de forces et vitesse des roues sont orientées cet axe. Cet effet
est également vrai sur l’axe des x lorsque l’angle δ est grand. Pour avoir un juste milieu,
sur le prototype, nous avons choisi un angle δ de 45˚ qui rend la disposition des moteurs
symétrique par rapport aux deux axes de la plateforme. Les performances disponibles
sont donc réparties également dans les deux dimensions possibles.
3.6.2.1.2 Exemple de cinématique directe
Prenons l’exemple de notre prototype où les moteurs sont positionnés avec un
angle δ de 45˚. Sachant que les roues 1 à 4 ont des vitesses respective de [0 -1 0 1] m/s,
il est possible de trouver les vitesses locales x, y et w.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
32
FIGURE 16. EXEMPLE DE CINÉMATIQUE DIRECTE
À partir de la matrice Tcd, nous trouvons les vitesses locales suivantes
=
⋅
−−
−−
=
02
22
2
4
1
4
1
4
1
4
12
cos
2
cos
2
cos
2
cos2
sin
2
sin
2
sin
2
sin
4
3
2
1
w
y
x
V
V
V
V
RRRR
w
y
x
T
�
�
�
�
�
�
δδδδ
δδδδ
Le robot se déplace donc avec une vitesse de 22 en sur l’axe des x et 22 sur l’axe
des y dans le système de repère local. Nous pouvons trouver calculer l’angle de
déplacement ψ, soit l’angle d’azimut à l’aide du calcul suivant.
=∠x
y
�
�2arctanψ
Nous trouvons donc que le robot se déplace avec un angle de 45°, dans son système de
repère local.
yN
(w)
f3(v2)
f4(v2)
f2(v2)
f1 (v )
45°
x45
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
33
3.6.2.2 Coordonnées et repère
Le contrôle du robot omnidirectionnel se fait selon deux repaires orthonormés : le
repère local du robot et le repère global. Le premier est situé au cœur même du robot
alors que le second représente l’environnement où le robot se déplace. Notons qu’une
donnée mesurée dans le repère local est représentée par une lettre minuscule alors qu’elle
est représentée par une lettre majuscule lorsqu’elle est mesuré dans le repère global.
L’azimut que forme le repère local avec le repère global est symbolisé par Ψ. On peut
représenter les deux repères selon les schémas suivants :
FIGURE 17. REPRÉSENTATION ET RELATION ENTRE LES DEUX REPÈRES LOCAL ET
GLOBAL
Pour faire cette transformation, il suffit de passer par la matrice de conversion RΨ
montrée ci-dessous qui fait le lien entre les coordonnées locales et globales.
Repère local du robot
Y
X
y
Ψ=45˚
Repère global
x
x
y N (w)
f3(v2)
f4(v2)
f2(v2)
f1 (v1)
δ
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
34
−
=
Ψ=
Ψ
⋅
100
0cossin
0sincos
ψψψψ
R
SRS LOCALGLOBAL
Où Ψ est l’angle d’azimut que forme le repère local du robot avec le repère global et S un
vecteur contenant les données dans le système de repère désiré. Cette méthode est valide
autant pour la conversion des positions, vitesses, des forces et accélérations.
Voici une illustration du modèle de conversion global à local :
FIGURE 18. MODÈLE DE CONVERSION GLOBAL À LOCAL
Notons que pour passer des éléments exprimés dans le système de repère global au
système de repère local, il faut faire l’opération inverse soit
−=
−Ψ=
Ψ
⋅
100
0cossin
0sincos
1
ψψψψ
R
SRSGLOBALLOCAL
Voici une illustration du modèle de conversion local à global :
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
35
FIGURE 19. MODÈLE DE CONVERSION LOCAL À GLOBAL
3.6.2.2.1 Exemple de conversion du repère local à global
La figure ci-dessous présente le robot avec un angle Ψ azimut de 60˚. Sachant
que nous avons une vitesse sur chaque roue de [-0.9659 0.2588 0.9659-0.2588] m/s, il est
d’abord possible de trouver les vitesses locales puis ensuite les vitesses de chacune des
roues.
FIGURE 20. CINÉMATIQUE AVEC UN ANGLE AZIMUT DE 60º
Avec le robot placé dans cette orientation, nous obtenons donc les vitesses locales
suivantes.
x
y N (w)
f3(v2)
f4(v2)
f2(v2)
f1 (v1)
δ
Ψ=60˚ X
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
36
−=
−
−
⋅
−−
−−
=
02
35.0
2588.0
9659.0
2588.0
9659.0
4
1
4
1
4
1
4
12
cos
2
cos
2
cos
2
cos2
sin
2
sin
2
sin
2
sin
w
y
x
T
w
y
x
V
V
V
RRRR
V
V
Vδδδδ
δδδδ
Pour ensuite trouver les vitesses globales
=
−⋅
−
=
−⋅
−
=
⋅=
Ψ
0
0
1
02
35.0
000
02
1
2
3
02
3
2
1
02
35.0
100
060cos60sin
060sin60cos
w
y
x
W
Y
X
R�
�
�
�
�
�
Le robot se déplace donc à une vitesse sur de 1m/s par rapport à l’axe des X du système
de repère global.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
37
3.6.3 Cinématique Inverse
Le modèle cinématique inverse est employée pour trouver les données sur
chacune des roues à partir des données locales. Ce système possède trois entrées et
quatre sorties soit respectivement, les valeurs en x, y et w à l’entrée et les valeurs de
chacune des quatre roues à la sortie. Voici une illustration du modèle cinématique
inverse :
FIGURE 21. MODÈLE DE LA CINÉMATIQUE INVERSE
Pour la cinématique inverse, nous étions confondus entre deux modèles différents.
Certains ouvrages proposent une solution alors que d’autre en propose une autre. Nous
croyons que le calcul est différent dépendamment si l’on travail avec des vitesses ou des
accélérations. En effet, les vitesses sont considérées comme des scalaires alors que les
forces sont considérées comme des vecteurs. De ce fait, la somme des vitesses et des
forces ne se fait pas de la même manière. Ainsi, lorsque l’on fait la somme des vitesses,
on ne les additionne pas sur un même axe, il faut plutôt que ces vitesses soient égales.
D’autre part, lorsque l’on fait la somme des forces, on additionne les forces sur un même
axe. Il en découle donc deux cinématiques inverses différentes.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
38
La cinématique inverse pour les vitesses n’admet pas une infinité de solutions.
Elle se calcul de façon trigonométrique. Voici les équations qui résument la relation
entre les vitesses locales et les vitesses de chaque roue.
T
CI
LOCALCiROUES
LLLL
V
VTVV
−−
−−
=
⋅=
2/2/2/2/
coscoscoscos
sinsinsinsin
δδδδδδδδ
Ce qui donne
2
cossin
2cossin
2cossin
2cossin
4
3
2
1
ψδδυ
ψδδυ
ψδδυ
ψδδυ
���
���
���
���
Lyx
Lyx
Lyx
Lyx
++=
+−=
+−−=
++−=
Puisque la cinématique inverse pour les forces se calcul de façon vectoriel, le
système comporte plus de sortie que d’entrée, nous avons affaire à un système sous
déterminé qui permet une infinité de solution. Il nous faut donc choisir une solution
parmi l’ensemble de solution pour résoudre le système d’équation. D’ailleurs, il est
impossible de faire l’inverse de la matrice puisqu’elle n’est pas carrée. Pour remédier à
cette situation, nous avons recourt à la pseudo-inverse, aussi connue sous le nom de
Moore-Penrose. Cette méthode donne la solution aux moindre carrés, ce qui donne la
solution avec le moins de pertes vectoriel. Cette méthode ressort donc la solution
optimale pour accomplir la demande.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
39
Voici une illustration d’une addition vectorielle. La méthode pseudo inverse
permet de minimiser les pertes vectorielles pour atteindre l’objectif. Puisque chaque roue
est placée dans une orientation spécifique, nous pouvons additionner vectoriellement les
composantes.
FIGURE 22. ADDITION VECTORIEL
Voici les équations cinématique inverse en utilisant la méthode de la pseudo-inverse,
représenté par +CIT .
( ) 1−+⋅⋅= TFTFTFTF
T
CDCD
T
CDCI
Ce qui est équivalent à
V3
V2
V4
Vecteur V désiré
V1
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
40
−−
−−
=+
2/2/2/2/
coscoscoscos
sinsinsinsin
LLLL
pseudoTF CIδδδδ
δδδδ
Le résultat dans Maple ressort le résultat suivant
( ) ( ) ( ) ( )
−−
−−
=+
4
2
4
2
4
2
4
22
cos
2
cos
2
cos
2
cos2
sin
2
sin
2
sin
2
sin
LLLL
TF CI
δδδδ
δδδδ
Bref, le système est donc exprimé par
FTFF LOCALCIroues⋅
+
=
La cinématique inverse, pour l’accélération, nous donne donc :
( ) ( )
( )
( )
( )
4
2cossin
4
2cossin
4
2cossin
4
2cossin5.0
4
3
2
1
ψδδ
ψδδ
ψδδ
ψδδ
���
���
���
���
LyxF
LyxF
LyxF
LyxF
+⋅+⋅=
+⋅−⋅=
+⋅−⋅−=
+⋅+⋅−⋅=
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
41
3.6.4 Dynamique
Le modèle dynamique permet de rendre la modélisation encore plus réaliste en
tenant compte des effets de force et d’accélération. Sans modèle dynamique, le système
ne tient pas compte des états de transition et ne représente donc pas bien le comportement
réel du robot. Dans ce travail, nous avons considéré deux systèmes dynamiques, d’une
part le modèle dynamique imposé par la plateforme elle-même et les lois de Newton qui
la régissent. D’autre part le modèle dynamique des moteurs avec leurs forces de frictions
constantes et visqueux.
3.6.4.1 Dynamique de la plateforme
La dynamique de la plateforme tient compte de l’inertie de la plateforme et de la
masse du robot. Nous analyserons donc les équations qui forment ce modèle. Voici un
aperçu du modèle dynamique de la plateforme
FIGURE 23. MODÈLE DE LA DYNAMIQUE DE LA PLATEFORME
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
42
La première équation que l’on peut déduire à partir de la seconde loi de Newton
stipule que la somme des forces est égale au produit de la masse du corps et de son
accélération∑ =maF . Cette relation est valide dans le repère global du robot. Posons
Sglobal = [ P_X P_Y]T, nous avons
(1) GLOBALGLOBAL SMF ��⋅=
où FGLOBAL est un vecteur force dans le système de repère de coordonnée global appliqué
au centre de masse du robot et M est une matrice diagonale de masse m du robot.
En introduisant la matrice de transformation inverse de rotation RΨ-1 suivante
(2)
−
=
−=
−
−
Ψ
100
0cossin
0sincos
100
0cossin
0sincos1
1 ψψψψ
ψψψψ
R
Puisque la matrice RΨ-1 est une matrice de rotation, nous pouvons dire que
T
RR Ψ
−
Ψ=
1
Nous passons des coordonnées de repère global aux coordonnées de repère local, nous
avons
(3) LOCAL
T
GLOBAL FRF ⋅= Ψ
(4) LOCAL
T
GLOBAL SRS �� ⋅= Ψ
où SLOCAL = [x y] soit un vecteur de position et FLOCAL = [Fx Fy] appliqué au centre de
masse du robot, tout deux exprimé dans le système de repère de coordonnée local.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
43
En dérivant l’équation ci-dessus, nous obtenons par dérivation partiel :
( ) ( )LOCAL
T
LOCAL
T
GLOBAL SRSRS ���� δδ ⋅+⋅= ΨΨ
LOCAL
T
LOCAL
T
GLOBAL SRSRS ������ ⋅+⋅= ΨΨ
En égalisant les équations (3) et (1), nous avons
LOCAL
T
GLOBALGLOBAL FRSMF ⋅=⋅= Ψ��
( ) LOCAL
T
LOCAL
T
LOCAL
TFRSRSRM ⋅=⋅+⋅⋅ ΨΨΨ
����
En isolant LOCALF , les forces représentées dans le système de repère local, nous obtenons
( )LOCAL
T
LOCAL
T
LOCAL SRRSRRMF ���� ⋅⋅+⋅⋅⋅= ΨΨΨΨ
Calculons la valeur de TRR ΨΨ ⋅ �
−
=
−
−−
⋅
−=⋅ ΨΨ
000
001
010
000
0sincos
0cossin
100
0cossin
0sincos
ψψψψψψψψ
ψψψψ
��
��
� TRR
En substituant dans l’équation précédente, nous obtenons alors
+⋅
−
⋅= LOCALLOCALLOCAL SSMF ���
000
001
010
Il est important d’observer que les forces engendrées sur robot ne dépendent non
seulement de l’équation de Newton où ∑ =maF mais aussi d’une composante
proportionnelle à la vitesse de rotation ψ� .
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
44
Nous obtenons donc les forces suivantes exprimées dans le système de repère
local du robot :
( )ψ���� yxmFx −=
( )ψ���� xymFy +=
ψ��⋅= robotw IM
où l’inertie du robot Irobot est estimé être un disque homogène plein, soit 2
22
1
⋅L
m
En utilisant la matrice TCD précédente, il est également possible d’obtenir la
résultante des forces exercée par chacune des roues f1, f2, f3 et f4 exprimé dans le système
de repère local :
⋅
−−
−−
=
4
3
2
1
2222
coscoscoscos
sinsinsinsin
f
f
f
f
LLLLM
F
F
T
w
y
x
δδδδ
δδδδ
Nous pouvons ainsi établir une égalité entre ces deux équations :
4321 2
2
2
2
2
2
2
2ffffFx ++−−=
4321 2
2
2
2
2
2
2
2ffffFy +−−=
4321 2222f
Lf
Lf
Lf
LM robot +++=
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
45
3.6.4.2 Dynamique des moteurs
FIGURE 24. DYNAMIQUE DES MOTEURS
Il existe plusieurs modélisations d’un moteur courant continu. Celle utilisé
présente des équations qui respecte raisonnablement la dynamique du moteur à tension
continue. Voici une illustration du fonctionnement d’un moteur DC.
FIGURE 25. SCHÉMA DU SYSTÈME MOTEUR
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
46
L’équation exprimant le couple τ produit par un moteur, sans tenir compte du
couple de friction constant, en régissant les divers paramètres du moteur s’énonce comme
suit:
ωβατ −= U
où U est la tension appliqué aux bornes du moteurs et ω la vitesse développé par l’arbre
du moteur en rad/s.
Les constantes α (Nm/V) et β (Nm/rad/s) sont données par :
TR
K1=α et TR
KK 21 ⋅=β
avec : K1 (Nm/s) constante de couple du moteur
K2 (V/rad/s) constante électrique du moteur
Rt (ohms) résistance interne du moteur.
La force générée par le moteur, en ajoutant la force de friction, est donnée par l’équation
suivante :
f = αU-βυ-ff
où f (N) est la force développé par le moteur DC et υ (m/s) est la vitesse tangentielle
d’une roue et ff la force de friction constante, qui est opposé au mouvement.
Les constantes α (N/V) et β (N/(m.rad/s) sont données par :
aT RR
nK1=α 2
212
aT RR
KKn ⋅=β
où n est le rapport d’engrenage et Ra le rayon de la roue.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
47
3.6.4.3 Dynamique totale
À l’aide des deux modèles présentés, nous pouvons régir le comportement réel de
la plateforme. En regroupant toutes les équations qui régissent la dynamique de la
plateforme et des moteurs, nous obtenons donc le système suivant :
FIGURE 26. DYNAMIQUE TOTALE
À l’aide de MapleV, nous avons calculé les équations qui régissent la dynamique
totale du système. Le ficher dynamique.mw est présenté en annexe. Voici les résultats
obtenu en exécutant ce fichier.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
48
( ) ( ) ( ) ( )[ ]
( )( )[ ]432121
44332211
cos4cos3coscos
sinsinsinsin1
VVVVVVVV
FfxUFfxUFfxUFfxUm
x
++++−−+
−−−−−+−−−−−−=
δδδδ
δβαδβαδβαδβα ������
( ) ( ) ( ) ( )[ ]
( )( )[ ]432121
44332211
sin4sin3sinsin
coscoscoscos1
VVVVVVVV
FfxUFfxUFfxUFfxUm
y
+++++−−−
−−+−−−−−−−−=
δδδδ
δβαδβαδβαδβα ������
( ) ( )[ ]FfxxxxUUUUL
Iw
robot
42
143214321 −+++−+++= ������ βα
où comme dis précédemment,
aT RR
nK1=α 2
212
aT RR
KKn ⋅=β Irobot =
2
22
1
⋅L
m
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
49
3.6.5 Contrôleur
Le choix d’un type de contrôleur n’est pas une partie facile. En effet, à cause des
contraintes non-homologues, il n’existe aucune loi linéaire continue et lisse qui résout le
système. Nous sommes donc obligés de faire deux contrôleurs, une à cinématique
classique et l’autre qui contrôle l’erreur. Un autre contrôleur peut également être
introduit pour contrôler le glissement. Or, dans notre modélisation, nous considérons
qu’il ne se produit aucun glissement. Nous n’avons donc pas incorporé ce type de
contrôleur.
Après avoir lu beaucoup d’ouvrage traitant sur les contrôleurs, nous vous
présentons une synthèse des différents types de contrôleurs qui existent.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
50
3.6.5.1 Contrôleur vitesse simple
Ce contrôleur permet de contrôler en vitesse du robot. Le gain PID est appliqué
sur l’erreur de chacune des roues. Or, cette erreur peut provenir d’une erreur de
translation ou d’une erreur de rotation. Cette méthode ne permet donc pas de distingué la
commande selon le type de contrôle désiré, soit en translation ou en rotation.
FIGURE 27. CONTRÔLEUR SIMPLE EN VITESSE
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
51
3.6.5.2 Contrôleur de vitesse PID rotation & translation
Ce type de contrôleur de vitesse divise la commande en deux parties distinctes. Il
comporte donc deux modules PID, l’un contrôle la translation et l’autre contrôle la
rotation. La commande des deux contrôleurs est additionnée et envoyé au reste du
système.
FIGURE 28. CONTRÔLEUR DE VITESSE PI TRANSLATION & PD ROTATION
3.6.5.3 Notion de normalisation
Dans les modèles de contrôleur en vitesse précédent, nous observons que la
commande envoyée dans le module dynamique est multiplié par les gains du module
PID. Or, le système ne tient pas compte de la vitesse maximale que peut atteindre le
robot. Une façon de faire serait de placé un module à l’entré du module dynamique qui
sature la tension 24V. Un autre module peut être placé à l’entrée du modèle cinématique
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
52
inverse afin de saturer la vitesse désirée à la vitesse maximale du robot. Or, ces solutions
ne donnent pas des résultats performants. En effet, l’insertion des modules de saturation
vient introduire une distorsion dans les commandes et les ordres perdent alors leurs sens.
Ceci a pour effet de nuire aux performances du robot en saturant les commandes envoyé
aux moteurs; le robot ne se comporte pas proportionnel aux variations des commandes Ce
problème est causé par la saturation des moteurs en vitesse alors que la partie commande
ne tient pas compte de cette saturation. De ce fait, l’erreur en vitesse augmente de même
que l’ordre de grandeur de la commande, qui n’affecte pas les moteurs déjà en saturation.
Pour remédier à ce phénomène, nous devons introduit la notion de normalisation
qui tient compte de la vitesse maximale que peut atteindre le robot. Définissons d’abord
la vitesse maximale de déplacement de la plateforme par vit_max et la vitesse maximale
d’une roue par vit_max_roue. Puisque nous désirons contrôler le robot par rapport au
système de repère local, il faut rapporter cette saturation des moteurs aux déplacements
de la plateforme. Comme vu précédemment, la vitesse sur chacun des roues est donnée
par les équations suivantes.
2
cossin
2cossin
2cossin
2cossin
4
3
2
1
ψδδυ
ψδδυ
ψδδυ
ψδδυ
���
���
���
���
Lyx
Lyx
Lyx
Lyx
++=
+−=
+−−=
++−=
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
53
Or, si nous fonctionnons à plein régime, en raison de la disposition des roues, la
vitesse de déplacement de la plateforme est dépendante de l’angle de déplacement et de
l’angle d’azimut de celle-ci. Dans l’image ci-dessous, la vitesse de déplacement
maximale correspond au périmètre du carré. La vitesse maximale du robot peut être
représentée par la longueur d’une droite comprise dans ce carré, dont l’orientation est le
même que l’angle de déplacement.
FIGURE 29. VITESSE MAXIMALE DE DÉPLACEMENT EN FONCTION DE LA DIRECTION
DU ROBOT
vit_max
x
y
θ
rouevit max__2 ⋅
vit_max_roue
direction
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
54
Si nous considérons la section qui est dans le cadran droite-haut, la vitesse maximale est
défini cette partie du périmètre donnée par l’équation
xrouevity −= 2*max__
En coordonnée polaire, nous pouvons poser que
22
)sin(
)cos(
yxr
ry
rx
+=
=
=
θθ
Nous trouvons ainsi l’équation, en coordonnée polaire
)cos()sin(
2*max__
θθ +=
rouevitr
Où l’angle de direction θ est donnée par
=
xy�
�2arctanθ
Ainsi, la vitesse maximale du robot vit_max en fonction de l’angle de direction θ.
Pour vérifier cette équation, nous avons fait tracer le graphique polaire avec le script
suivant, en supposant une vitesse maximale aux roues vit_max_roue de 2m/s.
>
> with(plots):
> vitmaxroue := 2 :
> plotæçè
vitmaxroue $ sqrt (2 )
sin ( t )C cos ( t ), t = 0 ..
p
2, coords =
polarö÷ø;
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
55
Le graphique obtenu ci-dessous est bien celui que nous nous attendions.
L’équation trouvé est donc exact, il faut simplement reporter la logique dans les trois
autres cadrans afin de compléter le périmètre du carrée.
FIGURE 30. GRAPHIQUE DE VITESSE MAXIMAL SELON DÉPLACEMENT
Nous avons étudié la vitesse maximale et ces limites par rapport à la plateforme.
Étudions maintenant la vitesse maximale par rapport à la saturation des moteurs sur
chaque roue. De façon générale, une roue peut être plus sollicitée que les autres afin de
suivre la demande en vitesse de rotation et de translation du robot. La figure ci-dessous
illustre ce phénomène; la roue indiquée est la plus sollicitée.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
56
FIGURE 31. VITESSE MAXIMALE PAR RAPPORT AUX VITESSES DE ROTATION ET
TRANSLATION
Ici, la vitesse de la plateforme est limité par la vitesse de saturation de la roue par
l’égalité ψ��� Ryx dd ++ 22 < vit_max_roue. Cette égalité est vraie pour cette direction
seulement. Pour généralisé l’équation et s’assurer que nous dépassons jamais la vitesse
de saturation des roues, il s’ensuit que la vitesse de déplacement de la plateforme est
limitée par ψ�+max_vit < vit_max_roue.
La normalisation permet donc de tenir compte de la vitesse maximale que peut
atteindre chacune des roues. Pour ce faire, la normalisation distribue les vitesses aux
roues en fonction du facteur de poids accordé aux vitesses désirées, cela tout en tenant
compte des vitesses maximales que peut atteindre les roues.
vitesse de rotation ψ’
Vitesse de translation
22dd yx �� +
22dd yx �� + + Rψ’
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
57
Pour que le système soit asservi de façon continue, nous devons normaliser
seulement les vitesses désirées qui sont supérieure à la vitesse maximale permise.
Comme nous le verrons dans les résultats, la trajectoire du robot est alors nettement
améliorée et converge plus rapidement vers la cible. Voici l’équation normalisation que
nous avons développé pour effectué cette tâche :
( )( )( )dddd
dddd
dddd
Ryx
Ryxyy
Ryxxx
ψψψ
ψ
ψ
�����
�����
�����
++=
++=
++=
22
22
22
Voici le code utilisé pour concevoir le module de normalisation. Ce code est implanté
dans un bloc imbriqué (embedded MATLAB fonction).
%Longeur entre deux roues opposees
L=0.4;
%vitesse maximale
vit_max=3.5;
y=zeros(3,1);
if(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3))~=0)
if(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3))>vit_max)
y(1)=u(1)*vit_max/(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3)));
y(2)=u(2)*vit_max/(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3)));
y(3)=u(3)*vit_max/(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3)));
else
y(1)=u(1)
y(2)=u(2)
y(3)=u(3)
end
else
y=zeros(3,1);
end
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
58
3.6.5.4 Optimisation de la vitesse de déplacement avec l’angle d’azimut
Comme nous venons de le voir, la vitesse de déplacement est fonction de l’angle
de déplacement. Malgré que l’angle de déplacement θ soit imposé par les vitesses
désirées yetx �� où ( )xy ��2arctan=θ , il est toutefois possible de modifier l’angle
d’azimut ψ pour ainsi changer l’orientation du robot afin d’obtenir une vitesse optimal.
Reprenons la figure qui montre la vitesse maximale du robot en fonction de l’angle de
déplacement. Nous pouvons découper cette figure en quatre sections et identifier les
extrémums de chacune des sections par une étoile. Il suffit ensuite d’orienté le robot de
façon à placer une étoile, qui représente la vitesse optimal, dans la direction de
déplacement du robot. Il faut toutefois utiliser cette méthode avec réserve, car elle
produit un gain de vitesse au détriment de modifier l’angle azimut désirée, ce qui n’est
pas souhaitable. Nous croyons qu’il est cependant souhaitable d’atteindre la cible au plus
vite avant de s’orienté de la bonne manière. Ainsi, ce module est activé seulement
lorsque la vitesse désirée est supérieur à la vitesse maximale. Une fois que le robot est
proche de la cible, c’est à dire que la vitesse est inférieur à la vitesse maximale, nous
désactivons ce module pour que le système reprenne son fonctionnement normal et
s’oriente dans l’angle azimut original.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
59
Voici une illustration du mode de fonctionnement ce processus.
FIGURE 32. OPTIMISATION DE LA VITESSE DE DÉPLACEMENT AVEC L’ANGLE
D’AZIMUT
En définissant l’angle azimut parψ , l’angle azimut modifié par mψ , l’angle de la
position de la vitesse optimale de la section i par rapport au repère global par i∗ et l’angle
de direction parθ . Voici les étapes pour arriver à l’angle azimut modifié :
vit_max
x
y
θ
rouevit max__2 ⋅
Section 2
Section 3
Section 4
Section 1
direction
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
60
Rapporter l’angle de direction au repère local de la façon suivante
ψθθ −=m
Prendre le reste de la division par 45 degré pour trouver l’étoile la plus proche
)45,mod( mθ
L’angle mψ est donc la valeur )45,mod( mθ moins l’angle ψ
ψθψ −= )45,mod( mm
Voici le script à l’intérieur du bloc imbriqué du model MatLab qui permet l’optimisation
de la vitesse.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
61
3.6.5.5 Contrôleur de vitesse avec normalisation de la vitesse désirée
Ce contrôleur est pareille au contrôleur de vitesse simple à l’exception que le
module de normalisation est placé à l’entré du système. Avec l’ajout de ce module, les
vitesses commandées sont de même ordre de grandeur que les vitesses réelles présent à la
boucle de rétroaction. La boucle de rétroaction est donc uniformisée et les résultats
seront meilleurs.
FIGURE 33. CONTRÔLEUR DE VITESSE AVEC NORMALISATION
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
62
3.6.5.6 Contrôleur simple de position
Ce contrôleur permet la commande en position du robot dans le système de
coordonné global. Il est constitué d’un contrôleur en vitesse imbriqué dans une boucle de
rétroaction négative. Ce contrôleur comporte les mêmes défauts que celui du contrôleur
en vitesse en plus d’introduire une erreur sur la position.
FIGURE 34. CONTRÔLEUR SIMPLE DE POSITION
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
63
3.6.5.7 Contrôleur en position avec normalisation de la vitesse désirée
Ce contrôleur permet aussi la commande en position du robot dans le système de
coordonné global. Pareil au modèle précédent, il est constitué d’un contrôleur de vitesse
normalisé imbriqué dans une boucle de rétroaction négative. Ce contrôleur est semblable
au contrôleur de position simple à l’exception que le module de normalisation est placé à
l’entrée du module contrôleur de vitesse avec normalisation.
FIGURE 35. CONTRÔLEUR DE POSITION AVEC NORMALISATION
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
64
3.7 Fonctionnement global
Afin de pouvoir mouvoir le robot dans un terrain de football et de lui permettre une
liberté de déplacement omnidirectionnel, le robot sera équipé d’un PC embarqué qui lui
permettra d’effectuer tous les calculs de déplacement nécessaires. Le PC s’occupera
également de tous les périphériques du robot, la web cam, aux calculs nécessaires à la
vision, communication avec les cartes de contrôles, avec le réseau sans fil etc. L’équipe
de robofoot possèdait déjà un PC que peut utiliser le robot, nous utiliserons donc ce
matériel pour le prototype, il s’agit d’un PC Viper 830.
Ce PC communique ensuite à une carte de contrôle, qui elle, s’occupe de
l’asservissement des moteurs. Cette carte agit comme le cerveau entre les moteurs et le
processus de calcul de déplacement, elle génère un profil de vitesse à suivre pour chacune
des roues du robot. C’est elle qui reçoit en rétroaction la vitesse des moteurs lues par les
encodeurs. Elle fait alors la différence entre la vitesse désiré par le robot et celle obtenue
à l’aide des encodeurs. En boucle fermée, cette différence est alors compensée par un
filtre PIDVff et une tension est alors générée pour atteindre la vitesse désirée. La tension
générée n’est pas une tension continue, il s’agit en fait de deux signaux qui servent à
générer une tension PWM (pulse width modulation). Il s’agit d’un signal PWM et un
autre qui indique le sens de rotation de la roue. Encore une fois, la carte qui est utilisée
sur le prototype appartenait déjà au groupe robofoot, il s'agit de la carte ACSTech 80,
model 5950B. Elle diffère cependant de celles qu’utilisaient l’ancienne génération de
robot, puisqu’elle peut gérer 4 axes différentes (moteurs) et les amplificateurs pont en H
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
65
ne sont pas compris sur la carte, tandis que celle utilisée par l’ancienne génération de
robot ne peut qu’en contrôler deux et incluait les amplificateurs.
Une fois que les signaux sont générés, ils doivent être traités par un autre module
afin de générer la tension adéquate aux moteurs et de l’amplifier afin que l’amplitude
maximal du signal PWM soit de 24 Volts, soit la tension de fonctionnement des moteurs.
Encore une fois, le type d’amplificateur utilisé nous a été suggéré par robofoot, puisqu’il
était déjà en sa possession, il s’agit donc du SERVO-BOOSTER Dual PWM Power
Amplifier PC/104 Card. Cette carte permet de recevoir l’amplitude et la direction d’un
signal PWM et de générer le signal nécessaire aux moteurs.
Étant donné que le robot possède diverses cartes embarquées et qu’il est équipé
d’une seule source d’alimentation, soit une batteries de piles fournissant une tension de
24 Volts, et que les cartes utilisés opèrent à différentes tensions, ±5 V, ±12 V, nous
devons utiliser un convertisseur DC-DC afin d’obtenir les diverses tensions nécessaires
au fonctionnement des cartes. Le convertisseur utilisé sera le PC/104 Véhicule Power
Supply.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
66
FIGURE 36. SCHÉMA BLOC DES COMPOSANTES ÉLECTRONIQUES DU ROBOT
3.7.1 Viper830
La carte Viper830 est équipée d’un processeur Pentium III 600 Mhz. Elle est
utilisée afin de pouvoir gérer toutes les périphériques du robot, tel que la webcam, le
disque dur contenant toutes les données ainsi que le réseau sans fil. On comprend
l’importance d’un processeur à l’intérieur du robot, puisqu’il agit comme le cerveau du
robot. Le PC effectue tous les calculs nécessaires, tant au niveau de la vision que pour les
déplacements désirés. Le PC doit également pouvoir soutenir un système d’exploitation
de haut niveau qui peut effectuer de la gestion en temps réel telle que linux. Le
processeur ce doit d’être très performant afin d’effectuer les calculs en temps réel pour la
génération de trajectoire. La carte est équipé d’un bus compatible PC104, ce qui est
nécessaire pour la communication entre les divers modules ajoutés telles que la carte de
contrôle et les amplificateurs pont en H. Elle possède également des ports USB qui lui
permet de prendre en charge une web cam. Elle permet donc de traiter les images
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
67
recueillis par la web cam afin de générer une vision au robot. Elle est également équipé
d’un port Ethernet qui lui assure une communication réseau possible.
3.7.1.1 Connexions à la carte
Les alimentations nécessaires au fonctionnement sont des tensions de , ±5V et
±12V. La web cam sera relié au PC via un port Universal Serial Bus (USB) et un câble
réseau permet de relié le port Ethernet de la carte à un WLAN qui permet de
communiquer avec le robot sans lisaison matériel, ce qui peut être pratique lors de
compétitions. Il est également possible de connecter un écran au PC ainsi qu’une souris
et un clavier qui permettent l’usage de l’interface du robot et d’avoir directement accès
aux données du PC. La communication entre le PC et la carte de contrôle ce fait via le
bus de données PC/104. Toutes les cartes utilisées dans la conception de ce prototype
sont compatible PC/104.
3.7.2 ACSTech80 Servo Controllers
Une fois que les calculs des tensions nécessaires et désirées au déplacement voulu
par le robot sont effectués par le PC, la carte de contrôle génère alors le signal PWM et le
signal de direction correspondant à cette tension. Elle permet également de recevoir en
contre réaction la vitesse actuelle de chaque moteur via les encodeurs. Cette contre
réaction permet d’asservir en boucle fermé le déplacement du robot. La carte utilisée
peut contrôller jusqu’à quatre axes différents.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
68
FIGURE 37. CARTE DE CONTRÔLE
La carte possède, également, un circuit PMD (Performance Motion Devices),
permettant d’asservir en position et en vitesse, par des compensateurs PID, quatre
moteurs DC, à balai. Autrement dit, elle nous offre la possibilité de faire un contrôle par
carte dédiée si désiré. Ainsi, nous pouvons, dépendamment des besoins et des
performances recherchées, décider de faire le contrôle soit par logiciel soit par carte
dédiée. La carte est de format PC/104, donc s’intègre facilement à l’ordinateur
embarqué. Cette carte requiert une alimentation de +5 V et ±12 V, elle sera fournie par le
convertisseur DC-DC. La figure suivante est un schéma bloc démontrant l’interaction
entre le PC, la carte 5950B et les moteurs.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
69
FIGURE 38. SCHÉMA BLOC DES CONNEXIONS ENTRE LA CARTE DE CONTRÔLE ET LES
MOTEURS
Cette figure illustre une bonne idée des connexions à réaliser pour contrôler les
moteurs, elle ne démontre toutefois pas la relation entre ces cartes et les amplificateurs
que notre prototype utilise. Les connexions réalisées pour notre prototype seront le sujet
d’une autre section du rapport, nous y référons donc le lecteur pour une y obtenir
davantage de précisions à ce sujet.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
70
3.7.2.1 Signal PWM (Pulse width modulation)
Voilà depuis quelques lignes déjà où le concept de PWM est abordé sans jamais
être expliqué, en voilà donc l’explication. Un signal PWM consiste tout simplement à un
signal contenant des impulsions à intervalles réguliers. Ces impulsions ont toutes la
même période.
FIGURE 39. ONDE CARRÉ
Pour une même période, la durée de l’impulsion (a) peu être plus ou moins
longue. Ce qui a pour effet de modifier la valeur moyenne du signal envoyé. En effet, on
calcul la valeur moyenne de ce type de signal à l’aide de l’équation suivante :
T
aAV
aAT
V
dttvT
V
moy
moy
T
moy
*
)0(1
)(1
0
=
−=
= ∫
On peut donc voir que la valeur moyenne du signal peut être contrôlée en variant
uniquement la valeur de a. Le but de contrôler la valeur moyenne du signal est de
pouvoir l’utiliser pour faire varier la vitesse à laquelle les roues tournent, tout en
alimentant les moteurs avec un tension de 24 Volts. Si on modélise un moteur électrique,
on se rend compte qu’il s’agit en fait d’un enroulement qui constitue une bobine et une
résistance, qui correspond à un filtre passe bas.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
71
FIGURE 40. MODÉLISATION D’UN MOTEUR
On peut développer en série de Fourier le signal d’impulsion en un paquet de raies
spectrales de diverses fréquences. Le moteur qui agit comme un filtre passe-bas coupe
les fréquences hautes et ne laisse passer que la valeur moyenne du signal. L’avantage
d’utiliser ce type de signal pour le contrôle en vitesse d’un moteur est qu’il diminue les
problèmes de chauffage qui apparaissent lorsqu’on utilise une alimentation en tension
continue. De plus, l’utilisation d’un signal PWM permet de pouvoir supporter une grosse
charge au niveau des moteurs, puisque les transistors du pont en H peuvent supporter de
grands courants ( 10 ampères).
3.7.3 Le pont en H
L'étage de sortie de tout servo-amplificateur est un circuit analogique. Celui-ci
permet d'ajuster la tension et le courant du moteur pour contrôler sa position, sa vitesse et
son couple. L’amplification du signal de commande peut s’obtenir soit à l’aide d’un
amplificateur linéaire soit d’un amplificateur pont en H. L’amplificateur linéaire
demande, cependant, plus d’énergie que l’amplificateur pont en H. Compte tenu de la
consommation énergique du robot qu’on cherche à minimiser et que l’équipe Robofoot
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
72
était déjà en possession de pont en H, nous avons donc utilisé un amplificateur pont en H
pour la réalisation du prototype. La carte utilisé est une Dual PWM Power Amplifier PC/
et il est composé de transistors MOSFET. Il a une dimension de 91 x 96 mm. La figure
suivante montre un schéma des composantes d'un servo-amplificateur pont en H typique.
FIGURE 41. AMPLIFICATEUR PONT EN H
Quand l'entrée PWM INPUT est active, dépendamment du bit de sens, le transistor
Q1 (ou Q2) est passant et le transistor Q3 (ou Q4) est bloqué. Ceci entraîne le moteur à
tourner dans un sens comme dans l’autre. Lorsque l'on arrête le moteur, et qu'il continu à
tourner avec l'inertie, il se comporte comme une génératrice. Chaque carte SERVO-
BOOSTER contient 2 amplificateurs pont en H et nous utilisons quatre moteurs, il nous
faut donc utiliser deux cartes.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
73
3.7.4 Connexion entre les cartes
3.7.4.1 Connexion entre le PC et les autres cartes
La communication entre les diverses cartes du « stack » et le PC se fait via le bus
PC/1004. Toutes les cartes possèdent ce bus et sont donc montées les unes sur les autres.
FIGURE 42. EMPILEMENT DES CARTES COMPATIBLE PC 104
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
74
3.7.4.2 Connexion entre la carte de contrôle et les amplificateurs
La carte de contrôle 5950B possède deux connecteurs de 50 broches par lesquels
chaque connecteur peut communiquer avec 2 moteurs (via les amplificateurs pour les
sorties).
FIGURE 43. CARTE DE CONTRÔLE
Comme la figure ci-haute l’indique, le connecteur J3 servira à la communication
entre les moteurs 1 et 2, tandis que le connecteur J4 servira à contrôler les moteurs 3 et 4.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
75
Le tableau suivant décrit toutes les entrées et sorites des deux connecteurs.
Tableau 4. Tableau des I/O de la carte de contrôle
Les sorties du contrôleur correspondent aux signaux d’entrées des amplificateurs,
cependant, comme nous utilisons un mode de contrôle par signal PWM et que la carte
permet également un contrôle analogue, nous n’utiliserons pas toutes les sorties. Celles
inutilisées seront donc laissées flottantes. Le tableau suivant correspond aux entrées des
amplificateurs.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
76
Tableau 5. Signal d’entrée des amplificateurs
Les broches 2 et 3 ne sont pas utilisés et comme ce sont des sorties on peut les
laissées flottantes. Les broches 4 et 5 correspondent à des bits d’arrêt d’urgence.
Cependant, nous n’utiliserons pas cette fonctionnalité de la carte amplificatrice. Nous
avons donc mis à la masse ces deux entrées afin qu’elles n’interfèrent pas au
fonctionnement du robot. Les entrées 6 et 7 correspondent aux signaux de contrôle du
moteur 2, elles sont donc reliés respectivement aux sorties 19 et 23, tandis que celles du
moteur 1 sont reliés aux broches 45 et 49.
FIGURE 44. CARTE SERVO-BOOSTER
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
77
Les mêmes branchements sont effectués pour les moteurs 3 et 4 sur une deuxième carte
d’amplification.
3.7.4.3 Connexion entre la carte de contrôle et les encodeurs
Comme mentionné précédemment, la carte de contrôle reçoit en rétro réaction des
signaux provenant des encodeurs de chaque moteur afin de pouvoir les asservir en
vitesse.
Broche No Couleur Connexion
1 Noir Masse
2 Vert Index/NC
3 Jaune Canal A
4 Rouge Vcc
5 Bleu Canal B
Tableau 6. Sortie de l’encodeur
La broche numéro 2 de la sortie de l’encodeur correspond à l’entrée du contrôleur
7 (33) tandis que les broches 3 et 5 correspondent aux signaux 3 (29) et 5 (31). Le
contrôleur possède d’autres entrées pour l’encodeur, mais elles ne sont utiles que pour
une connexion différentielle des encodeurs, ce qui n’est pas notre cas, nous les avons
donc laissées flottantes.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
78
3.7.4.4 Connexion entre la carte d’amplification et les moteurs
Les connexions entre la carte d’amplification et les moteurs est relativement simple
car elles n’impliquent que deux signaux en plus de l’alimentation (24 V et mise à la
terre).
Tableau 7. Sortie de la carte d’amplification
Le canal A représente les moteurs 1 et 3 tandis que le canal B représente les
moteurs 2 et 4. La sortie PWM OUPUT (terminal B) correspond au fil rouge des moteurs
(alimentation positive) et le terminal C représente le fil noir (alimentation négative).
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
79
3.8 Autonomie du prototype
3.8.1 Consommation des cartes électroniques
Chaque composant électronique consomme une puissance, puissance provenant de
la pile de 24 Volts. Il serait intéressant de faire une estimation de l’autonomie du robot
afin de s’assurer qu’il puisse être alimenté durant toute une partie de soccer. Les parties
de la Middle Size Ligue ont une durée de 90 minutes, nous devons donc nous assurer que
notre robot possède une autonomie supérieure à ce temps. Dans un premier temps,
calculons la consommation des composantes électronique.
Tableau 8. Consommation électrique du PC
Le tableau ci-haut nous indique le PC à lui seul tire un courant de 3.10A, ce qui
correspond à une puissance de 18.45 W. La carte de contrôle consomme également de la
puissance électrique, le tableau suivant nous donne une indication sur ce que peut exiger
en courant la carte.
Tableau 9. Consommation électrique de la carte 5850B
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
80
On déduit donc que la puissance maximale consommée par la carte de contrôle est
de 7.1 Watts en tirant un courant maximal de 1.42 ampères. Sachant que le convertisseur
DC-DC peut fournir un courant de 10 Ampères de son alimentation +5 Volts et que les
cartes consomment un courant total de 4.52 A, on s’assure que le convertisseur peu
alimenter ces deux cartes en tout temps (puisque la consommation de courant utilisé pour
le calcul correspond au courant maximal qu’elles peuvent exiger. On peut donc calculer
à partir de la consommation des deux cartes quel courant le convertisseur tirera à la pile.
On a choisi un pourcentage d’efficacité de 80 %, cette valeur est choisie à la baisse et elle
est proposée par le manufacturier dans les ficher techniques du convertisseur.
AI ueélectroniq 33.18.0*24
1.745.18=
+=
3.8.2 Consommation des moteurs selon divers scénario
Les moteurs sont une grande source de consommation électrique, cependant, leur
consommation dépend toujours de la situation dans laquelle ils se retrouvent. C’est-à-
dire que dépendamment s’ils sont à vitesse constante ou s’ils sont en accélération, les
moteurs ne demandent pas la même puissance. On peut donc se faire quelques scénario
qui nous aiderons à se faire une idée générale de la consommation des moteurs.
3.8.2.1 Scénario 1
Dans ce scénario, nous allons considérer un mouvement relativement simple du
robot. Considérons donc qu’il se déplace en ligne droite sur le terrain de jeu et qu’il
effectue des allers-retours avec une accélération de 1 m/s2 et une vitesse de croisière de 1
m/s. On considère également que le terrain sur lequel le robot se déplace a une longueur
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
81
de 6 mètres. Cette situation est peu représentative d’une partie réelle, mais peut donner
une idée générale de l’autonomie lorsque le robot est peu sollicité. Le graphique de
vitesse d’une telle situation est le suivant :
FIGURE 45. GRAPHIQUE DE VITESSE DU SCÉNARIO 1
La première étape consiste à trouver les temps t1, t2 et t3 qui correspondent au
temps d’accélération, de vitesse constante et le temps de décélération. On trouve ces
temps en utilisant les équations de cinématique.
Pour t1 :
5.0
1*1*2
100
2
1
1
1*10
2
200
0
=
++=
++=
=
=+=
+=
f
f
f
f
f
x
x
atvxx
t
tv
atvv
On procède de la même façon pour obtenir le temps de décélération et le
déplacement nécessaire pour passer d’une vitesse de 1 m/s à l’arrêt. On trouve également
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
82
que le robot roule pendant 5 secondes à vitesse constante. Il faut ensuite trouver la force
de frottement qui s’oppose au déplacement du robot. Pour ce calcul, nous considérons un
coefficient de friction de 0,40. On répartie de façon uniforme le poids du robot sur
chaque roue.
NF
F
NF
f
f
cf
6.194
20*8.9*4.0
=
=
=υ
Pour savoir la consommation du robot, il faut calculer le courant débité par les
moteurs, ceci ce fait en trouvant le couple développé par les moteurs pour ensuite trouver
le courant correspondant.
FIGURE 46. MOUVEMENT RECTILIGNE DU ROBOT
Dans le cas d’une accélération de 1 m/s2, le robot à besoin d’une force de 20 N.
Comme chaque roue contribue à cette accélération, on répartie également la force que
doit développer chaque moteur, ce qui donne une force résultante de 5 N par moteurs
dans la direction des x positif. Chaque moteur fait alors un angle de 45 degrés par
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
83
rapport à l’axe de déplacement, la force réel que chaque moteur doit développer est alors
de 7.07 N.
On peut alors trouver le couple appliqué par chaque moteur.
mN
lF
⋅=Τ
+=Τ
×=Τ
067.1
04.0*)6.1907.7(
On procède de la même façon pour trouver le couple à vitesse constante et en
décélération. Lorsque le robot est à vitesse constante, la seule force nécessaire est celle
qui permet de vaincre le frottement. Lors de la décélération, il faut soustraire la force de
friction à la force nécessaire puisque dans ce que, il ne faut pas la vaincre car elle est dans
la même direction de la force désiré. On obtient alors un couple de 0.784 N*m lorsque le
robot est à vitesse constante et un couple de 0.501 N*m lors de la décélération. À partir
de ces couples, on peut trouver le courant qui lui est associé.
AI
AI
AI
Kn
TI
décé
const
acc
T
949.01059,4*5.11
501.0
49.11059,4*5.11
784.0
02.21059,4*5.11
067.1
*
2
2
2
=×
=
=×
=
=×
=
=
−
−
−
On trouve maintenant la moyenne de courant tiré par un moteur lors d’un aller simple.
AI
I
moy
moy
49.1151
1*949.05*49.11*02.2
=++++
=
On trouve donc un courant de 1.49 ampères par moteur, ce qui donne un courant
total de 5.9 A pour les quatre moteurs. Les piles doivent donc fournir en moyenne un
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
84
courant de 5.9 + 1.33 = 7.28 A. Les piles au NiMH possèdent une capacité d’environ
7000 mAh lorsqu’on le courant de décharge est de 9 ampères, on trouve donc que, dans
ces conditions, le robot a une autonomie de 1 heure. Dans le cahier des charges du
prototype, on nous indique que l’accélération maximale du robot devrait être de 5 m/s2,
en effectuant le même type de calcul et en considérant les mêmes conditions de
déplacement, on trouve que les moteurs consomme pour le démarrage un courant de 4.16
ampères. Cependant, avec les moteurs actuels, le courant total débité par les quatre
moteurs en accélération dépasse les 10 ampères et la pile ne permet pas ce courant de
décharge. Dans le cas des piles actuelles des robots. On peut lire sur les graphiques de
durée de décharge que les piles peuvent débiter un courant moyen de 7.28 A pendant
environ 33 minutes. Si on considère les caractéristiques que le cahier des charges
imposait, c’est-à-dire une vitesse de 1 m/s et une accélération de 1 m/s2, on trouvait un
courant moyen de 7.28 A, ce qui représente une autonomie du prototype de 1 heure.
3.8.2.2 Scénario 2
Dans ce deuxième scénario, nous considérons le même mouvement que précédent,
mais avec les performances maximales que peuvent fournir le robot. Ce scénario donne
l’idée générale de l’autonomie lorsque le robot est sollicité à son maximum.
Pour trouver la performance maximale, nous devons atteindre les limites du
moteur selon les données maximales suivantes écrites dans les fiches techniques.
VitesseMAX = 44.4 rad/s CoupleCONTINU = 0.43 Nm CoupleMAX = 2.1 Nm
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
85
À partir de la vitesse maximale de la sortie du moteur, nous pouvons trouver la
vitesse maximale d’une roue de 80mm de diamètre soit 1.78 m/s. En tenant compte de la
géométrie des moteurs à un angle de 45 degrés par rapport à l’axe de déplacement, cette
la vitesse maximale réel tombe alors à 2.5 m/s.
De plus, il est possible de trouver l’accélération maximale en calculant le couple
appliqué au moteur :
mNF
F
lF
⋅=
+=
×=Τ
52.51
04.0*)98.0(1.2
max
max
max
Par la loi de Newton, avec une masse de 5 kg sur chaque roue, nous trouvons que
le robot peut donc atteindre une accélération maximale pour chaque roue de 10.3 m/s2.
En tenant compte de la géométrie des moteurs à un angle de 45 degrés par rapport à l’axe
de déplacement, l’accélération réel tombe alors à 7.28 m/s2. Or, à cette accélération, la
vitesse maximale de 1.78 m/s est atteinte très rapidement.
Ces calculs montrent l’accélération maximale que peut atteindre le robot, mais
nous ne recommandons pas de fonctionner à cette accélération maximum car elle ne tient
pas compte du couple continu maximum. En effet, si le robot fonctionne à plein régime
pendant de longue période, le couple continu maximal ne sera pas respecté. De plus,
comme nous l’avons démontré précédemment, le courant de décharge ne peut permettre
une telle accélération.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
86
4. RÉSULTATS
Les tests présentés dans la prochaine section concernent la vérification des
branchements des cartes et la validation du modèle de simulation développé.
4.1 Test pratique sur les moteurs
Lorsque les connexions ont été réalisées, nous avons dû procéder à quelques tests
afin de s’assurer que les moteurs étaient bien connectés et qu’ils répondraient
correctement lorsque le robot sera sur ses roues. Les tests permettent également de
vérifier que le modèle mathématique que nous avons simulé et implanté dans le code est
bien compris par le robot et est valide.
4.1.1 Premier test
Les premiers tests ont été réalisés à l’aide d’une fonction déjà incluse dans le code
C++ du robot. Cette fonction s’appeler Send_Voltages(_V1, _V2, _V3, _V4). Elle
permet d’envoyer directement à chaque moteur une tension désirée et ainsi vérifier que
les moteurs sont bien identifiés. Ainsi nous avons pu constater que l’alimentation des
moteurs 1 et 2 et des moteurs 3 et 4 avaient été inversés sur les cartes d’amplification.
Après avoir corrigé la situation, nous avons soumis chaque moteur, un après l’autre, à une
tension. Chaque moteur à bien répondu, ce qui confirmait que les connexions étaient
valides.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
87
4.1.2 Second test
La deuxième série de test à été effectué à l’aide de la fonction Send_Vel( Vx, Vy,
w). Cette fonction fait partie de la classe BrainOmni. Elle permet de calculer la vitesse
de rotation de chaque moteur en fonction d’une vitesse de déplacement en x et y dans le
repère local imposée par l’utilisateur. Nous pouvions donc voir à ce moment que le
contrôleur développé était valide. Voici un tableau indiquant quels tests ont été effectués
accompagné des résultats obtenus. Dans la colonne nommée Commande est indiqué ce
que nous désirions obtenir comme déplacement. Le premier argument de la fonction est
la vitesse désirée en X, le deuxième est celle désirée en Y et le troisième argument
représente la vitesse angulaire du robot.
Commande Roue 1 Roue 2 Roue 3 Roue 4
Send_Vel(1,1,0) Inactive Active
Anti-horaire
Inactive Active
Horaire
Send_Vel(0,0,1) Active
Horaire
Active
Horaire
Active
Horaire
Active
Horaire
Send_Vel(1,0,0) Active
Anti-horaire
Active
Anti-horaire
Active
Horaire
Active
Horaire
Send_Vel(0,1,0) Active
Horaire
Active
Anti-horaire
Active
Anti-horaire
Active
Horaire
Tableau 10. Résultats du second test
Si on se rappelle la disposition des roues sur le robot ainsi que le sens positif
défini préalablement, on peut vérifier que les résultats obtenus correspondent à ce que
nous désirions.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
88
FIGURE 47. CINÉMATIQUE DU ROBOT
Lorsque le mouvement désiré était un déplacement en x positif, on remarque que
toutes les roues sont mises à contribution et que les roues 3 et 4 doivent tourner du même
sens tandis que les roues 1 et 2 doivent également tourner du même sens, mais inverse à
celui des roues 3 et 4. Si on regarde les résultats obtenus, on observe effectivement ce
type de mouvement de la part des moteurs. Un mouvement de rotation entraîne une
rotation des roues dans le même sens et c’est effectivement ce que les résultats des tests
ont donnés.
4.2 Validation de la simulation
Les simulations sont une étape importante car elles permettent de justifier les
équations posées précédemment. Toutes les simulations ont été faites à l’aide du logiciel
Matlab/Simulink.
Deux types d’essai peuvent être effectués sur le contrôleur simple en position. Le
premier essai génère des signaux continus alors que le second essai génère des signaux
sinusoïdaux pour simuler la trajectoire d’un cercle.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
89
Il est possible de choisir de passer d’un contrôleur à l’autre en en jouant avec les
interrupteurs. Le premier interrupteur dans le modèle permet de faire l’essai avec des
commandes continu ou sinusoïdal. Le second interrupteur permet de choisir si le système
fonctionne en boucle fermé ou en boucle ouverte. En boucle ouvert, les signaux sont
considérés comme des vitesses alors qu’en boucle fermé, elles sont considérées comme
des positions.
46.70
-0.00
0.00
position reel
5.00
0.00
0.00
position désirée
5.00
0.00
0.00
erreur position
dXYZ
0
Zd1
0
Zd
0
Yd
5
Xd
XYd Graph
Terminator1
Sine Wave
Function1
Sine Wave
Function
err 123 Gain 123
PID1
Xpd Ypd Zpd X Y Z
Modele Complet
Manual Switch2
Manual Switch
3
3
3
33
3
3
3
3
33
3
3
3
3 3{3}
FIGURE 48. SCHÉMA DU CONTRÔLEUR DE DÉVELOPPEMENT D’ESSAI NIVEAU 1
Le reste de la modélisation se trouve dans le module de droite. L’interrupteur
placé à son entrée permet de choisir entre le mode avec normalisation ou sans
normalisation. Il est aussi possible pour l’angle d’azimut de choisir l’option d’un calcul
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
90
d’angle compris entre - ππ et− ou simplement la valeur de l’intégrale de la vitesse qui
prendra alors des valeurs beaucoup plus grandes queπ . Voici donc la modélisation en
question.
Contrôleur vitesse de la platefrome omnidirectionelle
1
X Y Z
5.00
-0.00
-0.00
xp yp zp
vitxyz
0.00
vitesse normalisée
vitXYZ
-3.54
-3.54
3.54
3.54
vit1234
vit1
tension1234
In1
Azimut
Xp Yp Zp
local to global
in out
global to local
-2.33
-2.33
2.33
2.33
erreur
In1Out1
corrige angle
In out
cinematique inverse2 In out
cinematique inverse1
0.00
azimut1
azimut
In1
Out1angle
5.00
-0.00
-0.00Xp Yp Zp1
XYZ
XY Graph
5.00
-0.00
0.00
Vitesse 1234 desirées2
5.00
-0.00
0.00
Vitesse 1234 desirées1
-3.54
-3.54
3.54
3.54
Vitesse 1234 desirées
Vitdxyz
VitdXYZ
Vitd1234
Terminator
-46.69
-46.69
46.69
46.69
Tension 1234
-46.69
-46.69
46.69
46.69
Tension 1
err 1234 Gain 1234
PIDu yfcn
Normalise2
In1
In2
out
Modele Dynamique
Manual Switch1
1
sIntegrator1
1
s
Integrator
1
s
I1
1
Xpd Ypd Zpd
4
4
4
4
v itesse d 1234 4
4
4
4
4
4
4
4
3
3Xpd
3
3
3
3
3
3
3
3
3
3
3
xp y p zp
4
4
4
4
v itesse 1234
3
3
3
3
Xp Yp Zp
3
3
3
3
3
3
4
4
4
4
4
4
FIGURE 49. SCHÉMA DU CONTRÔLEUR DE DÉVELOPPEMENT D’ESSAI NIVEAU 2
Nous vous présentons donc ci-dessous les résultats obtenus pour chaque
contrôleur en affichant les données que nous avons jugé pertinentes pour analysé le
comportement apporté par le contrôleur. Nous avons résumé dans tableau de graphiques
les données suivantes.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
91
4.3 Comparaison des résultats entre prototype et simulation
Dans cette section, nous vous présentons les résultats des essais obtenus sur le
prototype même. Nous présentons les données suivantes : la position x, y et l’angle
azimut, les vitesses x,y,w et les vitesses de chacune des roues. Nous avons fait
l’acquisition des données pendant les essais afin vérifier la concordance entre le
prototype et le modèle de simulation. Pour chaque données, nous présentons en rouge la
vitesse désirées, en vert la vitesse réel du robot et en bleu la vitesse des simulations.
Nous remarquerons dans les graphiques qui suivront que les vitesses réels semblent être
coupées après un certain moment. Cet effet est normal e il est dû à un module de sécurité
qui désactive les moteurs si l’erreur accumulée est trop grande.
Pour commander notre modèle dans Simulink avec les données de vitesses
désirées tirées lors des essais sur le prototype, nous avons ajouté des blocs acquisition
(FromFile) qui roule un fichier FILE.MAT. Les commandes exécutées lors des essais
sont donc exactement reproduite dans nos simulations.
Notons qu’au moment des essais, le type de contrôleur implanté dans le prototype
était celui du contrôleur en vitesse simple (sans normalisation ou optimisation de l’angle).
De plus, le module global à local n’était pas implanté. Puisque les vitesses désirées sont
local, nous avons désactivé les modules global et local du modèle de simulation.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
92
4.3.1 Essai de vitesse maximale de rotation
Ce premier essai consiste à trouvé la valeur maximale de rotation du prototype.
Pour ce faire, nous avons fait tourné le robot le plus vitesse que possible sur lui-même,
dans le sens contraire des aiguille d’un montre. Le graphique ci-dessous présente une
synthèse des résultats prélevé du prototype lors de l’essai.
67 68 69 70 71 72-0.1
0
0.1
0.2
0.3
0.4
temps
position (m)
Graphique de position xreel(g),xsim(b) et xdes(r)
67 68 69 70 71 72-0.02
0
0.02
0.04
0.06
0.08
0.1
temps
position (m)
Graphique de position yreel(g),ysim(b) et ydes(r)
67 68 69 70 71 72-2
0
2
4
6
8
10
12
temps
angle (rad)
Graphique de angle azimut reel(g),sim(b) et des(r)
67 68 69 70 71 72-0.2
0
0.2
0.4
0.6
0.8
temps
vitesse (m/s)
Graphique de vitesse Vxreel(g), xsim(b) et xdes(r)
67 68 69 70 71 72-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
temps
vitesse (m/s)
Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)
67 68 69 70 71 72-2
0
2
4
6
8
10
12
temps
vitesse (rad/s)
Graphique de vitesse w wreel(g), wsim(b), wdes(r),
66 68 70 72-0.5
0
0.5
1
1.5
2
2.5
temps
Vitesse (V)
Graphique de vitesse moteur #1
66 68 70 72-0.5
0
0.5
1
1.5
2
2.5
temps
Vitesse (V)
Graphique de vitesse moteur #2
66 68 70 72-0.5
0
0.5
1
1.5
2
2.5
temps
Vitesse (V)
Graphique de vitesse moteur #3
66 68 70 72-0.5
0
0.5
1
1.5
2
2.5
temps
Vitesse (V)
Graphique de vitesse moteur #4
FIGURE 50. GRAPHIQUES SYNTHÈSES : ESSAI DE VITESSE MAXIMALE DE ROTATION
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
93
Comme nous pouvons observer, le prototype est resté pratiquement au point (0,0)
tandis que la vitesse de rotation w augmente et atteint une saturation. Le graphique
suivant montre plus précisément à quelle la vitesse de rotation w sature.
67 67.5 68 68.5 69 69.5 70 70.5 71 71.5 72
-10
-5
0
5
10
temps
vitesse (rad/s)
Graphique de vitesse w wreel(g), wsim(b), wdes(r),
Nous trouvons que la vitesse maximale de rotation est de 10rad/s. Nous pouvons donc
ramener cette vitesse à la vitesse tangentielle de chacune des roues.
smroueV
lroueV
/715.1max__2
*max__
=
=ω
Cette valeur concorde avec la valeur théorique trouvée soit de 1.78 m/s. On peut déduire
que la différence entre les deux valeurs est due à la présence de force de frottement.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
94
4.3.2 Essai de vitesse maximale de translation
Cet essai consiste à trouver la vitesse maximale que peut atteindre le robot. Pour
ce faire, nous avons roulé à vitesse maximale dans l’axe des y. Le graphique ci-dessous
présente une synthèse des résultats prélevé du prototype lors de l’essai.
48 49 50 51 52-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
temps
position (m)
Graphique de position xreel(g),xsim(b) et xdes(r)
48 49 50 51 52-5
0
5
10
15
temps
position (m)
Graphique de position yreel(g),ysim(b) et ydes(r)
48 49 50 51 52-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
temps
angle (rad)
Graphique de angle azimut reel(g),sim(b) et des(r)
48 49 50 51 52-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
temps
vitesse (m/s)
Graphique de vitesse Vxreel(g), xsim(b) et xdes(r)
48 49 50 51 52-1
0
1
2
3
4
temps
vitesse (m/s)
Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)
48 49 50 51 52-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
temps
vitesse (rad/s)
Graphique de vitesse w wreel(g), wsim(b), wdes(r),
48 49 50 51 52-0.5
0
0.5
1
1.5
2
2.5
3
temps
Vitesse (V)
Graphique de vitesse moteur #1
48 49 50 51 52-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
temps
Vitesse (V)
Graphique de vitesse moteur #2
48 49 50 51 52-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
temps
Vitesse (V)
Graphique de vitesse moteur #3
48 49 50 51 52-0.5
0
0.5
1
1.5
2
2.5
3
temps
Vitesse (V)
Graphique de vitesse moteur #4
FIGURE 51. GRAPHIQUES SYNTHÈSES : ESSAI DE VITESSE MAXIMALE DE
TRANSLATION SUR L’AXE DES Y
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
95
La vitesse maximale désirée est de 4m/s, cependant, la vitesse maximale atteinte
par le robot est limitée au dessous de cette valeur. Agrandissons le graphique de la
vitesse en y pour évaluer cette valeur.
42 44 46 48 50 52 54 56-0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
temps
vitesse (m/s)
Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)
FIGURE 52. GRAPHIQUE DE VITESSE SUR L’AXE DES Y : ESSAI DE VITESSE MAXIMALE
SUR L’AXE DES Y
Nous observons que la vitesse maximale réel de translation sur l’axe des y est
saturée aux environ de 2 m/s. Cette valeur concorde avec la valeur théorique de 2.5 m/s.
Encore une fois, nous pouvons attribuer la différence entre la théorie et la pratique par la
présence de force de frottement.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
96
4.3.3 Essai d’accélération maximale
Cette essai a pour but de trouver la l’accélération maximale du prototype Nous
avons augmenté la valeur de l’accélération jusqu’à ce que nous atteignions une saturation.
Pour ce faire, nous avons accru la variable A_max, une variable dans le code du
prototype qui fixe la valeur de l’accélération maximale. Après plusieurs incrémentations,
nous avons abouti à une saturation de l’accélération. Le graphique ci-dessous présente
une synthèse des résultats prélevé au prototype lors de l’essai.
214 215 216 217 218-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
temps
position (m)
Graphique de position xreel(g),xsim(b) et xdes(r)
214 215 216 217 218-1
0
1
2
3
4
temps
position (m)
Graphique de position yreel(g),ysim(b) et ydes(r)
214 215 216 217 218-1
-0.5
0
0.5
1
tempsangle (rad)
Graphique de angle azimut reel(g),sim(b) et des(r)
214 215 216 217 218-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
temps
vitesse (m/s)
Graphique de vitesse Vxreel(g), xsim(b) et xdes(r)
214 215 216 217 218-0.5
0
0.5
1
1.5
2
2.5
temps
vitesse (m/s)
Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)
214 215 216 217 218-1
-0.5
0
0.5
1
temps
vitesse (rad/s)
Graphique de vitesse w wreel(g), wsim(b), wdes(r),
214 215 216 217 218-0.5
0
0.5
1
1.5
2
temps
Vitesse (V)
Graphique de vitesse moteur #1
214 215 216 217 218-2
-1.5
-1
-0.5
0
0.5
temps
Vitesse (V)
Graphique de vitesse moteur #2
214 215 216 217 218-2
-1.5
-1
-0.5
0
0.5
temps
Vitesse (V)
Graphique de vitesse moteur #3
214 215 216 217 218-0.5
0
0.5
1
1.5
2
temps
Vitesse (V)
Graphique de vitesse moteur #4
FIGURE 53. GRAPHIQUES SYNTHÈSES : ESSAI D’ACCÉLÉRATION MAXIMALE EN
TRANSLATION SUR L’AXE Y
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
97
214 214.5 215 215.5 216 216.5 217 217.5 218-0.5
0
0.5
1
1.5
2
2.5
temps
vitesse (m/s)
Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)
FIGURE 54. GRAPHIQUE DE VITESSE SUR L’AXE DES Y : ESSAI DE D’ACCÉLÉRATION
MAXIMALE SUR L’AXE DES Y
Puisque ce graphique correspond à la vitesse en fonction du temps, l’accélération
maximale correspond à la pente du graphique. Sur Matlab, nous trouvons donc que
l’accélération est de 5,1 m/s2. Cette valeur concorde bien avec la valeur théorique
calculée précédemment, soit de 5.09m/s2.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
98
5. DISCUSSION
Les avancés dans la robotique mobile sont de plus en plus impressionnantes et se
réalisent très rapidement. On peut même observer ces avancés lors des compétitions
internationales de la Middle Size League, compétition qui regroupe différents groupe de
recherches sur la robotique mobile et qui se sont fixés comme objectif de réaliser un robot
joueur de soccer. L’équipe de l’École Polytechnique de Montréal l’a réalisé à ses
dépends et c’est rendu compte de l’importance de poursuivre le développement de leurs
robots afin de rester compétitif. C’est donc à partir de ce motif qu’à pris naissance ce
projet de robot sans contrainte holonome. La réalisation de ce projet c’est produite en
trois parties distinctes. Elles se sont cependant réalisées de façon parallèle et chacune
d’elles ont du être mise en commun à la fin du projet. Ces trois parties sont donc le
développement d’un contrôleur adéquat et la modélisation du robot, la révision du choix
des piles pour le robot ainsi que la réalisation électrique et finalement la réalisation de la
plateforme mécanique.
Au début du projet, nous avions la possibilité de créer une plateforme mécanique
pouvant accueillir trois ou quatre roues omnidirectionnelles. Le choix d’une plateforme à
quatre roue à été une décision unanime de la part des trois étudiants travaillant sur le
projet et a été appuyé par le directeur du groupe Robofoot, M. Julien Beaudry. Lors de
la confection de ce prototype, certains choix à faire ce sont imposés tel que le type de
roues à utiliser, les piles ainsi que le type de plateforme. Comme nous avons conçu
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
99
qu’un seul prototype, nous ne pouvons pas faire de comparaison avec les autres choix qui
se sont offerts à nous tout au long du projet. Nous ne ferons qu’une évaluation du
fonctionnement du robot avec les composantes choisis.
5.1 Choix de la plateforme
Le choix de la plateforme à quatre roues semble avoir été adéquat. En effet, nous
n’avons décelé, jusqu’en date de rédaction, aucuns inconvénients qui aurait eu lieu du à
ce choix. En effet, lorsque nous avons testé le robot à l’aide d’une manette de
commande, nous n’avons détecté aucun balancement du robot, autant au freinage qu’à
l’accélération. Par contre, le temps a limité les tests que nous avons pu effectuer sur le
robot. Au niveau du design électrique, la plateforme de forme carrée a été grandement
appréciée pour l’espace qu’elle a pu offrir. En effet, une base carrée offre une surface
plus grande qu’un triangle, pour une même distance entre les roues. Ceci a été très
pratique pour placer les composantes électroniques sur la plaque.
5.2 Choix des roues
Lorsque nous avons testé le prototype pour la première fois, nous avons remarqué
immédiatement le bruit que génère un tel type de roue. Nous avons pu également
remarquer de forte vibration lors d’un déplacement du robot. Ces deux observations sont
dues à une rotation des roues lorsqu’elles ne sont pas exactement perpendiculaires au sol.
Lorsque les roues tournent, chaque rouleau vient faire un contact avec le sol et si la roue
est légèrement de travers, il existe un cours laps de temps où aucun rouleau ne touche le
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
100
sol, ce qui cause le bruit ainsi que les vibrations. L’inconvénient de ces vibrations se
produit au niveau de la vision du robot qui s’en trouve fortement affecté. En effet,
puisque la caméra se trouve au sommet d’une tour sur le robot, les vibrations de la base
provoquent un déplacement constant de la tour. Ce qui en résulte une image floue prise
par la caméra. Par contre, ce problème peut être régler en augmentant le nombre d’image
par seconde prise par la caméra. Nous n’avons cependant pas eu le temps nécessaire afin
d’effectuer des tests avec le système de vision fonctionnel. Il resterait à voir si le robot
arrive à bien discerner les balises ainsi que le ballon et ce, même si l’image est floue.
FIGURE 55. VISION DU ROBOT À L’ARRÊT
FIGURE 56. VISION DU ROBOT EN ROTATION À 10 RAD/S
FIGURE 57. VISION DU ROBOT EN TRANSLATION À 1.8 M/S
5.3 Choix des piles
Comme en date de rédaction les piles n’ont pas encore été achetées, en raison de
leur coût relativement élevé, nous ne pouvons tirer aucune autre conclusion que celle
mentionnée dans le chapitre concernant les piles.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
101
5.4 Carte électronique et connexions
Le choix des cartes électronique n’a pas été tellement difficile puisque notre
mandat était de concevoir un prototype de robot omnidirectionnel à l’aide du matériel
disponible dans le département de génie électrique. Les seuls observations négatives que
nous pouvons faire sur les cartes utilisées concernent le PC ainsi que le disque dur utilisé.
En effet, nous avons eu quelques problèmes de manque d’espace lorsque nous
programmions le contrôleur du robot, il serait peut-être utile de revoir la technologie de
disque dur ou du moins en augmenter l’espace disponible. Pour ce qui est du PC, au
niveau performance, nous n’avons observé rien de négatif, la seule amélioration possible
pourrait être au niveau de sa consommation électrique.
Les connecteurs utilisés pour établir les connexions entre les fils des encodeurs et
les entrées de la carte de contrôle sont de type 9 broches D-Sub. Nous avons trouvé ce
type de connecteur plutôt pratique puisqu’il peut être fixé solidement à l’aide de petite
vis, ce qui permet de s’assurer que les connexions seront fiables tout au long d’une partie.
De plus, ce type de connecteur permet de changer rapidement les moteurs, si bien sur on
aura préalablement pensé de souder les connecteurs aux fils de l’encodeur du moteur.
5.5 Simulation
D’après les résultats obtenus, nous pouvons conclure que notre modélisation
représente très bien le comportement du robot. Sur la majorité des graphiques obtenus,
les courbes de simulations suivent de très près les courbes obtenues lors des essais sur le
robot.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
102
Par contre, nous avons remarqué que les accélérations réelles sont supérieur à
ceux des valeurs en simulations. D’autres tests pourront être effectués sur le prototype
afin de déterminer la cause de cette divergence. De plus, nous n’avons pas réussi à faire
fonctionner notre modèle de simulation jusqu’à deux semaines avant la date d’échéance
du projet. Certaine amélioration sont peuvent être fait afin qu’il concorde avec le
prototype réel.
5.6 Consommation électrique
Après réflexion et quelques calculs, nous avons trouvé que le matériel ne pourrait
pas être utilisé pour rencontrer les spécifications que désirait l’équipe de Robofoot. En
effet, lorsque nous avons effectué les calculs de consommations, nous trouvions qu’avec
une accélération de 5 m/s2, chaque roue demande un courant de plus de 4 ampères. En
regardant la fiche technique des moteurs, on se rend vite compte que le courant maximal
des moteurs est très près de cette valeur. Le courant maximal, lorsque l’arbre du moteur
est bloqué, est de 5.19 ampères. Une accélération plus grande dépasserait surement cette
valeur de courant maximal, ce qui endommagerait les moteurs. De plus, les piles
actuelles ne permettraient pas de fournir le robot en énergie pour la durée complète d’une
partie. Cependant, avec le nouveau choix de pile effectué, le robot pourrait être alimenté
toute une partie en ayant une accélération de 5 m/s2. En revanche, l’achat de nouvelles
piles ne modifierait pas la valeur de vitesse maximale, de nouveaux moteurs devraient
alors être achetés pour espérer avoir une vitesse maximale de 5 m/s. Lors des calculs de
consommations, nous avons utilisé un coefficient de friction assez élevé. Cette
évaluation est en fait assez pessimiste, elle représente en fait le pire cas que pourrait
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
103
rencontrer, c’est-à-dire qu’il se déplacerait sur une surface qui nuirait énormément à son
déplacement. Ce choix représente en quelque sorte une marge de sécurité, les résultats
réels seront probablement meilleurs que ceux calculés.
5.7 Montage final du robot
Le montage final du robot aura été un gros morceau de ce projet, puisqu’il
s’agissait ici de coordonner l’effort de trois étudiants. La partie qui nous à passablement
ralentit dans ce projet aura été l’usinage des pièces mécaniques. Nous avons du attendre
plus de 2 semaines avant d’obtenir nos pièces. Le prototype n’aura été construit que 2
semaines avant la remise de ce présent rapport, ce qui explique pourquoi nous n’avons
pas pu procéder à de multiples tests sur le prototype. Toutefois, la plateforme actuelle
semble combler les membres du groupe Robofoot et pourra leur servir de base pour la
conception d’une future équipe de robot omnidirectionnel. Il reste passablement de test à
effectuer sur le robot, surtout concernant le système de vision. En date de la rédaction,
les modifications au code n’ont pas été apportées pour que le système de vision soit
fonctionnel et que le robot puisse être autonome. Pour le moment, nous n’avons que
déplacé le robot à l’aide d’une manette qui envoyait des directions de déplacements au
robot. Nous ne pouvions qu’envoyer que des déplacements linéaires au robot, car la
manette nous permettait d’envoyer une requête de déplacement rectiligne dans la
direction des X et des Y du repère local. Dans de futurs tests, il serait intéressant de
pouvoir effectuer des déplacements en ligne droite, tout en commandant au prototype
d’effectuer une rotation en même temps. Ce qui correspondrait au cas où, dans une
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
104
partie, le robot voudrait se déplacer vers le ballon tout en se positionnant pour que le
ballon soit vis-à-vis son « kicker ».
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
105
5.8 Améliorations possibles
Lors de la conception de ce prototype, nous avons utilisé une formation en étoile
pour le positionnement des moteurs (δ =45º). Nous avons choisi cette configuration pour
la simplicité des équations cinématiques des moteurs.
FIGURE 58. DESSOUS DE LA PLATEFORME EN COURS D’ASSEMBLAGE
Nous n’avons cependant pas procédé à une analyse des différentes configurations
possibles. La formation choisi est relativement simple à implanter et permet de pouvoir
effectuer de nombreux tests utiles pour Robofoot. De plus, le contrôleur de cette
configuration offre une ouverture sur l’utilisation de d’autres possibles. En effet, il est
possible, tout en conservant le style étoile du positionnement, de pouvoir changer l’angle
entre les moteurs. Il ne suffit alors que de modifier cette valeur d’angle dans le code
source du robot pour que le contrôleur soit toujours valide.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
106
Après avoir travaillé de nombreuse heure sur Simulink, nous avons constaté qu’il
est plus rapide de travailler avec des équations sous forme matricielle si possible. De
plus, nous avons trouvé comment de faire la conception d’une façon plus rapide et
efficace. Si le travail serait à refaire, nous recommencerions les modules en utilisant des
blocs à fonction imbriquée qui contient un fichier avec les équations écrites au long.
Cette méthode permet de corriger rapidement les erreurs et évite de se trompé lors du
développement du modèle. Voici à quoi ressemble un bloc imbriquée :
u yfcn
Embedded
MATLAB Function
FIGURE 59. BLOC IMBRIQUÉE
Nous avons aussi remarqué lors des essais que les roues glissaient beaucoup lors
des déplacements. Il serait peut-être intéressant d’introduire un module antipatinage dans
la modélisation. Ce système pourrait être plus tard implanté dans le robot pour lui évité
des pertes inutiles.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
107
6. CONCLUSION
La conception de ce prototype aura été une tâche ardue et d’autant plus complexe
car elle réunissait le travail de trois étudiants. En effet, le projet était divisé en trois
parties distinctes, soit la conception d’un modèle et d’un contrôleur par voie de
simulation avec l’application simulink de MatlLab, la réalisation électrique avec les
composantes disponibles dans le département de génie électrique ainsi que la révision de
la technologie des piles, ainsi que le design d’une plateforme mécanique. La jonction des
travaux entre les différentes personnes travaillant sur le projet aura causé quelques délais
à la réalisation de ce travail. Notons comme exemple la conception des supports à
moteur. Cependant, le prototype a vu le jour et c’était notre objectif commun. Ces
contraintes temporelles nous aurons toutefois obligé à réduire les tests sur le prototype.
Nous considérons avoir réalisé pour Robofoot un prototype de plateforme
omnidirectionnelle qui pourra leur servir de référence et de base de test pour la
conception de leur nouvelle équipe.
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
108
7. BIBLIOGRAPHIE
1. BEAUDRY, Julien, Projet Spinos : Conception et contrôle d’un robot mobile à
vitesses différentielles, décembre 2001, 105 pages.
2. Tyco Electronics -- Raychem Product,
http://ps.circuitprotection.com/poly/index.php
3. Moteur Pittmann – PennEngineering, http://www.pennmotion.com/
4. Robot omnidirectionnel Ohio U,
http://zen.ece.ohiou.edu/~robocup/papers/ACC2003-ASME0157_correct.pdf
5. Association de l’aluminium au Canada,
http://aac.aluminium.qc.ca/francais/production/
6. Saft compagnie européenne recyclage batteries, http://www.saftbatteries.com
7. Leclerc batterie recyclage, http://www.e-leclerc.com
8. PMD, Performance Motion Devices ---NAVIGATOR® - PC/104 FOR SERVO
OR STEPPING MOTION CONTROL, http://www.pmdcorp.com/
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
109
9. ROBOTSHOP--- Devantech MD03 50V 20A H-Bridge Motor Driver DC
http://www.robotshop.ca/c215426p16439153.2.html
10. ANCR---Le PONT en H, www.ancr.org/fichtech/action/ponth/
11. PANASONIC--- NICKEL METAL HYDRIDE BATTERIES,
http://www.panasonic.com/industrial/battery/oem/images/pdf/Panasonic_NiMH_
HHR650D.pdf
12. ADVANCED MICRO PERIPHERALS Ltd----PCM2000 – PC104+DUAl SLOT
PC-CARD CONTROLLER, http://www.ampltd.com/prod/pcm2000.html
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
8. ANNEXE
Le fichier dynamique.mw
> F1 :=A $U1 K B $V1 K
F1 :=A U1 K B V1 K
> F2 :=A$U2K B$V2K
F2 :=A U2 K B V2 K
> F3 :=A$U3K B$V3K
F3 :=A U3 K B V3 K
> F4 :=A$U4K B$V4K
F4 :=A U4 K B V4 K
> Fx :=K F1 $ sin(a ) K F2 $ sin(a ) C F3 $ sin(a )C F4 $ sin(a )
Fx :=K (A U1 K B V1 K Ff ) sin(a )K (A U2 K B V2 K Ff ) sin(a )C (A U3 K B V3 K Ff ) sin(a )C (A U4 K B V4 K Ff ) sin(a )
> Fy :=F1$cos (a )K F2$cos (a ) K F3$cos (a ) C F4$cos (a )
Fy := (A U1 K B V1 K Ff ) cos(a )K (A U2 K B V2 K Ff ) cos(a )K (A U3 K B V3 K Ff ) cos(a )C (A U4 K B V4 K Ff ) cos(a )
> Mw :=R $ (F1C F2C F3C F4 )
Mw :=R (A U1 K B V1K 4 Ff C A U2 K B V2C A U3 K B V3C A U4 K B V4 )
> Vx := K V1 $ sin(a ) K V2 $ sin(a ) C V3 $ sin(a )C V4 $ sin(a )
ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet
Vx :=K V1 sin(a ) K V2 sin(a ) C V3 sin(a ) C V4 sin(a )
> Vy :=V1$cos (a )K V2$cos (a ) K V3$cos (a ) C V4$cos (a )
Vy :=V1 cos(a ) K V2 cos(a ) K V3 cos(a ) C V4 cos(a )
> Vw := (V1C V2C V3C V4 )
Vw :=V1C V2C V3C V4
> Ax :=Fx
mC Vy$Vw
Ax :=1m (K (A U1 K B V1 K Ff ) sin(a )
K (A U2 K B V2 K Ff ) sin(a )C (A U3 K B V3 K Ff ) sin(a )C (A U4 K B V4 K Ff ) sin(a ) ) C (V1 cos(a )K V2 cos(a ) K V3 cos(a ) C V4 cos(a ) ) (V1C V2C V3C V4 )
> Ay :=Fy
mK Vx$Vw
Ay :=1m ( (A U1 K B V1 K Ff ) cos(a )
K (A U2 K B V2 K Ff ) cos(a )K (A U3 K B V3 K Ff ) cos(a )C (A U4 K B V4 K Ff ) cos(a ) ) K (K V1 sin(a )K V2 sin(a ) C V3 sin(a ) C V4 sin(a ) ) (V1C V2C V3C V4 )
> Aw :=Mw
Inercite
Aw :=1
Inercite (R (A U1 K B V1 K 4 Ff C A U2 K B V2
C A U3 K B V3C A U4 K B V4 ) )
>