É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: Date : 7 décembre 2005 Julien Beaudry ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. i ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 ii ELE4199 Projet de fin d’étude en génie électrique Rapport de projet 3.6.2.1.1 Disposition des roues ............................................................................................................ 29 3.6.2.1.2 Exemple de cinématique directe............................................................................................ 31 3.6.2.2 3.6.2.2.1 Coordonnées et repère ................................................................................................................ 33 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 3.7.2 Connexions à la carte.................................................................................................................. 67 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 4. Automne 2005 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 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 iii ELE4199 Projet de fin d’étude en génie électrique Rapport de projet 5. Automne 2005 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 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 iv ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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èreRoberge qui nous ont appuyé moralement tout au long de la réalisation du projet. v ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 vi ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 vii ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 viii ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 X , Y : (m/s2). Accélération dans le repaire global. x, y : (m/s2). Composantes d’accélération dans le repaire du robot. X , Y : (m/s). Vitesse dans le repaire global. x, y : (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 ix ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 x ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 1 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 2 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 3 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 4 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 5 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. L L L L 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. 6 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 7 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 8 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet • 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 Automne 2005 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) 9 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 10 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 11 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 12 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 13 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 14 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 + H2O + e- (pendant le chargement) NiOOH + H2O + e- Ni(OH)2 + OH- (pendant la décharge) 15 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 16 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet piles qui nous permettrons d’atteindre la valeur de tension désiré. Automne 2005 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 17 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 18 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 19 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 20 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 21 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 22 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 23 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Tableau 3. Automne 2005 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. 24 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 25 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. Vitesse résultante Vitesse roues secondaire Vitesse roue principale FIGURE 12. ROULEMENT D’UNE ROUE OMNIDIRECTIONNELLE 26 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 Vit max = (vit max roue) 2 + (vit max roue) 2 = 2 ⋅ (vit max roue) 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. Force roues secondaires Vitesse résultante Force roue principale FIGURE 13. FORCE SUR UNE ROUE OMNIDIRECTIONNELLE 27 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 Acc _ max = 4 ⋅ cos δ 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. 28 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 29 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 roues engendrées sur la plateforme omnidirectionnelle. Le sens des flèches indique le sens positif de l’axe. y δ f2(v2) N (w) f1 (v1) δ x f4(v2) f3(v2) 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: V LOCAL = TV CD ⋅V ROUES sin δ − 2 cos δ = TV CD 2 1 4 R sin δ − 2 cos δ − 2 1 4R sin δ 2 cos δ − 2 1 4R sin δ 2 cos δ 2 1 4 R T 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é. 30 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 Nous obtenons aussi les équations de cinématique directe pour les forces, exprimées dans la matrice TFcd: F LOCAL = TF CD ⋅ F ROUES − sin δ TF CD = cos1 δ R − sin δ − cos δ 1 R sin δ − cos δ 1 R sin δ cos δ 1 R T 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. 31 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet y f2(v2) f1 (v ) 45 Automne 2005 N (w) 45° x f4(v2) f3(v2) FIGURE 16. EXEMPLE DE CINÉMATIQUE DIRECTE À partir de la matrice Tcd, nous trouvons les vitesses locales suivantes sin δ − 2 x y = cos δ 2 w 1 4 R sin δ − 2 cos δ − 2 1 4R sin δ 2 cos δ − 2 1 4R T sin δ V 2 1 V cos δ ⋅ 2 2 V3 1 V4 4 R 2 x 2 y = 2 2 w 0 Le robot se déplace donc avec une vitesse de des y dans le système de repère local. 2 2 en sur l’axe des x et 2 2 sur l’axe Nous pouvons trouver calculer l’angle de déplacement ψ, soit l’angle d’azimut à l’aide du calcul suivant. y ∠ψ = arctan 2 x Nous trouvons donc que le robot se déplace avec un angle de 45°, dans son système de repère local. 32 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 : y N (w) Y f1 (v1) y δ f2(v2) x Ψ=45˚ x X f4(v2) f3(v2) Repère global Repère local du robot 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. 33 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet S GLOBAL R Ψ = RΨ ⋅S cosψ = sinψ 0 Automne 2005 LOCAL − sinψ cosψ 0 0 0 1 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 S LOCAL R Ψ = −1 RΨ ⋅S cosψ = − sinψ 0 GLOBAL sinψ cosψ 0 0 0 1 Voici une illustration du modèle de conversion local à global : 34 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. f1 (v1) y N (w) x δ f4(v2) Ψ=60˚ f2(v2) X f3(v2) FIGURE 20. CINÉMATIQUE AVEC UN ANGLE AZIMUT DE 60º Avec le robot placé dans cette orientation, nous obtenons donc les vitesses locales suivantes. 35 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet sin δ − 2 V x V = cos δ y 2 Vw 1 4 R sin δ 2 cos δ − 2 1 4R − sin δ 2 cos δ − 2 1 4R Automne 2005 T sin δ − 0.9659 2 0.2588 cos δ ⋅ 2 0.9659 1 − 0.2588 4 R V x 0.5 V = − 3 y 2 Vw 0 Pour ensuite trouver les vitesses globales X x cos 60 − sin 60 0 0.5 3 Y = R Ψ ⋅ y = sin 60 cos 60 0 ⋅ − 2 = W w 0 0 1 0 1 2 3 2 0 − 3 2 1 2 0 0 0.5 1 3 0 ⋅ − = 0 2 0 0 0 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. 36 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 37 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. V V ROUES CI = TV Ci ⋅V LOCAL − sin δ = cos δ L / 2 − sin δ sin δ − cos δ − cos δ L/2 L/2 sin δ cos δ L / 2 T Ce qui donne L 2 L υ 2 = − x sin δ − y cos δ + ψ 2 L υ3 = x sin δ − y cos δ + ψ 2 L υ 4 = x sin δ + y cos δ + ψ 2 υ1 = − x sin δ + y cos δ + ψ 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. 38 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. V2 V1 Vecteur V désiré V3 V4 FIGURE 22. ADDITION VECTORIEL Voici les équations cinématique inverse en utilisant la méthode de la pseudo-inverse, + représenté par TCI . TF + CI T ( T = TF CD ⋅ TF CD ⋅ TF CD ) −1 Ce qui est équivalent à 39 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet TF + CI − sin δ = pseudo cos δ L / 2 Automne 2005 − sin δ sin δ − cos δ L/2 − cos δ L/2 sin δ cos δ L / 2 Le résultat dans Maple ressort le résultat suivant TF + CI − sin δ 2 cos δ = 2 (L 2) 4 − sin δ 2 − cos δ 2 (L 2) 4 sin δ 2 − cos δ 2 (L 2 ) 4 sin δ 2 cos δ 2 (L 2) 4 Bref, le système est donc exprimé par Froues =TF + CI ⋅ F LOCAL La cinématique inverse, pour l’accélération, nous donne donc : F1 = 0.5 ⋅ (− x ⋅ sin δ + y ⋅ cos δ ) + F2 = − x ⋅ sin δ − y ⋅ cos δ + (L 2)ψ 4 (L 2)ψ 4 F3 = x ⋅ sin δ − y ⋅ cos δ + (L 2)ψ F4 = x ⋅ sin δ + y ⋅ cos δ + (L 2)ψ 4 4 40 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 41 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 ∑ F =ma . Cette relation est valide dans le repère global du robot. Posons Sglobal = [ P_X P_Y]T, nous avons FGLOBAL = M ⋅ SGLOBAL (1) 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) R −1 Ψ cosψ = − sinψ 0 sinψ cosψ 0 0 0 1 −1 cosψ = sinψ 0 − sinψ cosψ 0 0 0 1 Puisque la matrice RΨ-1 est une matrice de rotation, nous pouvons dire que R −1 Ψ = R T Ψ Nous passons des coordonnées de repère global aux coordonnées de repère local, nous avons (3) FGLOBAL = RΨ ⋅ FLOCAL T T (4) S GLOBAL = RΨ ⋅ S LOCAL 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. 42 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 En dérivant l’équation ci-dessus, nous obtenons par dérivation partiel : ( ) ( T T SGLOBAL = δ RΨ ⋅ S LOCAL + RΨ ⋅ δ S LOCAL ) T T SGLOBAL = R Ψ ⋅ S LOCAL + RΨ ⋅ SLOCAL En égalisant les équations (3) et (1), nous avons T FGLOBAL = M ⋅ SGLOBAL = RΨ ⋅ FLOCAL ( ) T T T M ⋅ R Ψ ⋅ S LOCAL + RΨ ⋅ SLOCAL = RΨ ⋅ FLOCAL En isolant FLOCAL , les forces représentées dans le système de repère local, nous obtenons ( T T FLOCAL = M ⋅ RΨ ⋅ R Ψ ⋅ S LOCAL + RΨ ⋅ RΨ ⋅ SLOCAL ) T Calculons la valeur de RΨ ⋅ R Ψ RΨ ⋅ R Ψ T cosψ = − sinψ 0 sinψ cosψ 0 0 − ψ sinψ 0 ⋅ ψ cosψ 1 0 − ψ cosψ − ψ sinψ 0 0 0 − 1 0 0 = 1 0 0 0 0 0 0 En substituant dans l’équation précédente, nous obtenons alors FLOCAL 0 − 1 0 = M ⋅ 1 0 0 ⋅ S LOCAL + S LOCAL 0 0 0 Il est important d’observer que les forces engendrées sur robot ne dépendent non seulement de l’équation de Newton où ∑F =ma mais aussi d’une composante proportionnelle à la vitesse de rotation ψ . 43 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 Nous obtenons donc les forces suivantes exprimées dans le système de repère local du robot : Fx = m(x − yψ ) Fy = m( y + xψ ) M w = I robot ⋅ψ où l’inertie du robot Irobot est estimé être un disque homogène plein, soit 1 L m ⋅ 2 2 2 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 : Fx − sin δ F = cos δ y L M w 2 − sin δ sin δ − cos δ L 2 − cos δ L 2 T f sin δ 1 f cos δ ⋅ 2 L f3 2 f4 Nous pouvons ainsi établir une égalité entre ces deux équations : Fx = − Fy = 2 2 2 2 f1 − f2 + f3 + f4 2 2 2 2 2 2 2 2 f1 − f2 − f3 + f4 2 2 2 2 M robot = L L L L f1 + f 2 + f 3 + f 4 2 2 2 2 44 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 45 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 : α = K ⋅K K1 et β = 1 2 RT RT 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 : α= nK 1 RT Ra β= n 2 K1 ⋅ K 2 RT Ra2 où n est le rapport d’engrenage et Ra le rayon de la roue. 46 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 47 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet x = Automne 2005 1 [− (αU1 − βx1 − Ff )sin δ − (αU 2 − βx2 − Ff )sin δ + (αU 3 − βx3 − Ff )sin δ − (αU 4 − βx4 − Ff )sin δ ] m + [(V1 cos δ − V2 cos δ − V 3 cos δ + V 4 cos δ )(V1 + V2 + V3 + V4 )] y = 1 [(αU1 − βx1 − Ff ) cos δ − (αU 2 − βx2 − Ff ) cos δ − (αU 3 − βx3 − Ff ) cos δ + (αU 4 − βx4 − Ff ) cos δ ] m − [(− V1 sin δ − V2 sin δ + V 3 sin δ + V 4 sin δ )(V1 + V2 + V3 + V4 )] = w 1 L [α (U1 + U 2 + U 3 + U 4 ) − β (x1 + x2 + x3 + x4 ) − 4Ff ] I robot 2 où comme dis précédemment, nK 1 α= RT Ra n 2 K1 ⋅ K 2 β= RT Ra2 1 L Irobot = m ⋅ 2 2 2 48 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 49 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 50 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 51 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. L 2 L υ 2 = − x sin δ − y cos δ + ψ 2 L υ3 = x sin δ − y cos δ + ψ 2 L υ 4 = x sin δ + y cos δ + ψ 2 υ1 = − x sin δ + y cos δ + ψ 52 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. y direction vit_max θ x vit_max_roue 2 ⋅ vit _ max_ roue FIGURE 29. VITESSE MAXIMALE DE DÉPLACEMENT EN FONCTION DE LA DIRECTION DU ROBOT 53 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 y = vit _ max_ roue * 2 − x En coordonnée polaire, nous pouvons poser que x = r cos(θ ) y = r sin(θ ) r = x2 + y2 Nous trouvons ainsi l’équation, en coordonnée polaire r= vit _ max_ roue * 2 sin(θ ) + cos(θ ) Où l’angle de direction θ est donnée par θ = arctan 2 y x 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 : ævitmaxroue $ sqrt ( 2 ) p , t = 0 .. , coords = plot ç è sin ( t )C cos ( t ) 2 ö polar ÷; ø 54 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 55 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 vitesse de rotation ψ’ x d2 + y d2 + Rψ’ Vitesse de translation x d2 + y d2 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é x d2 + y d2 + Rψ < 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 vit _ max + ψ < 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. 56 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 : x = x d y = y d ψ = ψ d ( x + y + Rψ ) ( x + y + Rψ ) ( x + y + Rψ ) 2 d 2 d 2 d 2 d 2 d d 2 d d d 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 57 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 x et y où θ = arctan 2( y x ) , 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. 58 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 Voici une illustration du mode de fonctionnement ce processus. y Section 2 direction Section 3 vit_max Section 1 θ x Section 4 2 ⋅ vit _ max_ roue 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é : 59 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 mod(θ m ,45) L’angle ψ m est donc la valeur mod(θ m ,45) moins l’angle ψ ψ m = mod(θ m ,45) − ψ Voici le script à l’intérieur du bloc imbriqué du model MatLab qui permet l’optimisation de la vitesse. 60 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 61 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 62 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 63 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 64 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 65 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 66 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 67 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 68 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 69 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 : 1 T v(t )dt T ∫0 1 Vmoy = A(a − 0) T A*a Vmoy = T On peut donc voir que la valeur moyenne du signal peut être contrôlée en variant Vmoy = 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. 70 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 71 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 é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 SERVOBOOSTER contient 2 amplificateurs pont en H et nous utilisons quatre moteurs, il nous faut donc utiliser deux cartes. 72 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 73 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 74 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 75 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Tableau 5. Automne 2005 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 76 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 77 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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). 78 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 79 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. I électronique = 18.45 + 7.1 = 1.33 A 24 * 0.8 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 80 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 : v f = v 0 + at v f = 0 + 1* t = 1 t =1 x f = x0 + v0 + xf = 0+ 0+ 1 2 at 2 1 * 1 * 12 2 x f = 0.5 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 81 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. Ff = υc N F f = 0.4 * 9.8 * 20 4 F f = 19.6 N 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 82 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. Τ = F ×l Τ = (7.07 + 19.6) * 0.04 Τ = 1.067 N ⋅ m 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é. I= T n * KT 1.067 = 2.02 A 11.5 * 4,59 × 10 − 2 0.784 I const = = 1.49 A 11.5 * 4,59 × 10 − 2 0.501 I décé = = 0.949 A 11.5 * 4,59 × 10 − 2 I acc = On trouve maintenant la moyenne de courant tiré par un moteur lors d’un aller simple. 2.02 * 1 + 1.49 * 5 + 0.949 * 1 1+ 5 +1 = 1.49 A I moy = I moy 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 83 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 84 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 À 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 : Τmax = F × l 2.1 = ( Fmax + 0.98) * 0.04 Fmax = 51.52 N ⋅ m 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. 85 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 86 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 Inactive Active Anti-horaire Send_Vel(0,0,1) Send_Vel(1,0,0) Send_Vel(0,1,0) Horaire Active Active Active Active Horaire Horaire Horaire Horaire Active Active Active Active Anti-horaire Anti-horaire Horaire Horaire Active Active Active Active Horaire Anti-horaire Anti-horaire 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. 87 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 88 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 3 dXYZ XYd Graph 3 5 Terminator1 5.00 Xd 5.00 0 3 0.00 3 0.00 0.00 erreur position 0.00 Yd position désirée 3 0 3 Zd 3 3 3 3Manual Switch 3 3 err 123 Gain 123 3{3} 3 Xpd Y pd Zpd XY Z Manual Switch2 PID1 Modele Complet Sine Wave Function1 46.70 -0.00 3 0.00 Sine Wave Function position reel 0 Zd1 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 89 3 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 T ension 1 XYZ -46.69 vitxyz -46.69 4 46.69 Vitd1234 3 5.00 -46.69 -3.54 5.00 4 xp yp zp T ension 1234 3.54 VitdXYZ 3 Xpd 3 3 3.54 0.00 3 In1 Xp Y p Zp 4 Xpd Ypd Zpd Vitesse 1234 desirées1 3 Xp Yp Zp 3 Azimut tension1234 Vitesse 1234 desirées 4 Manual Switch1 u fcn y in out 3 3 In out 4 v itesse d 1234 4 global to local cinematique inverse2 Normalise2 5.00 0.00 vitesse normalisée 1 s 4 Integrator 4 err 1234 Gain 1234 4 0.00 4 In1 out 4 3 xp y p zp 3 In out 4 v itesse 1234 Integrator1 -2.33 4 4 -3.54 -3.54 4 3.54 Vitesse 1234 desirées2 3.54 5.00 -0.00 -2.33 1 s 4 Xp Yp Zp1 In2 -0.00 cinematique inverse1 2.33 2.33 Modele Dynamique erreur angle 3 vit1234 0.00 vit1 corrige angle 3 3 3 XY Graph Terminator 3 PID 4 -0.00 3 4 1 s I1 local to global 4 3 vitXYZ -0.00 Out1 In1 1 3 3 46.69 -3.54 -0.00 4 -0.00 46.69 4 1 XYZ 3 -46.69 46.69 Vitdxyz In1 Out1 4 3 3 azimut azimut1 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. 90 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 91 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. Graphique de position yreel(g),ysim(b) et ydes(r) Graphique de position xreel(g),xsim(b) et xdes(r) 0.1 angle (rad) 0.2 8 0.06 position (m) 0.04 0.02 0 72 71 70 69 68 0 68 72 71 0.4 0.2 0 72 71 70 69 0.4 10 0.3 0.2 0.1 0 8 6 4 2 0 -0.2 67 68 70 69 -2 67 72 71 Graphique de vitesse moteur #4 Graphique de vitesse moteur #3 Graphique de vitesse moteur #2 2.5 2.5 2 2 2 2 1.5 1.5 1.5 Vitesse (V) 0.5 0.5 70 68 temps 72 -0.5 66 1 0.5 70 68 temps 72 -0.5 66 1 0.5 0 0 0 0 -0.5 66 Vitesse (V) 2.5 1 72 71 temps 2.5 1 70 69 68 temps 1.5 72 Graphique de vitesse w wreel(g), wsim(b), wdes(r), 12 temps Graphique de vitesse moteur #1 71 Graphique de vitesse Vyreel(g), ysim(b) et ydes(r) 0.5 -0.1 68 70 69 68 temps vitesse (rad/s) vitesse (m/s) 0.6 vitesse (m/s) -2 67 temps Graphique de vitesse Vxreel(g), xsim(b) et xdes(r) 0.8 Vitesse (V) 70 69 temps -0.2 67 4 2 0 -0.02 67 6 Vitesse (V) position (m) 10 0.08 0.3 -0.1 67 Graphique de angle azimut reel(g),sim(b) et des(r) 12 0.1 0.4 70 68 temps 72 -0.5 66 70 68 72 temps FIGURE 50. GRAPHIQUES SYNTHÈSES : ESSAI DE VITESSE MAXIMALE DE ROTATION 92 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. Graphique de vitesse w wreel(g), wsim(b), wdes(r), 10 vitesse (rad/s) 5 0 -5 -10 67 67.5 68 68.5 69 69.5 temps 70 70.5 71 71.5 72 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. V _ roue _ max = ω *l 2 V _ roue _ max = 1.715m / s 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. 93 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. Graphique de angle azimut reel(g),sim(b) et des(r) 0.5 Graphique de position yreel(g),ysim(b) et ydes(r) Graphique de position xreel(g),xsim(b) et xdes(r) 15 0.1 0 0.05 10 -0.05 -0.1 -0.15 -0.5 angle (rad) position (m) position (m) 0 5 -2 0 -2.5 -0.2 -0.25 48 50 temps 49 -5 48 52 51 -0.2 2 1 -0.3 0 -0.5 48 50 temps 49 -1 48 52 51 3 2.5 Vitesse (V) 0 -0.5 Vitesse (V) 0 -0.5 -1 -1.5 -1.5 -2 -2 0 -2.5 -2.5 49 50 temps 51 52 49 50 temps 51 52 2 -1 0.5 -3 48 52 51 50 temps Graphique de vitesse moteur #4 Graphique de vitesse moteur #3 2 -3 48 49 0.5 2.5 1 -2 -3 48 52 51 50 temps 49 0.5 1.5 -1 -1.5 -2.5 Graphique de vitesse moteur #2 Graphique de vitesse moteur #1 3 -0.5 Vitesse (V) -0.4 52 51 50 temps 0 vitesse (rad/s) 0 -0.1 49 Graphique de vitesse w wreel(g), wsim(b), wdes(r), 0.5 3 vitesse (m/s) vitesse (m/s) 0.1 Vitesse (V) -3 48 52 51 50 temps 49 Graphique de vitesse Vyreel(g), ysim(b) et ydes(r) 4 Graphique de vitesse Vxreel(g), xsim(b) et xdes(r) 0.2 -0.5 48 -1 -1.5 1.5 1 0.5 0 49 50 temps 51 52 -0.5 48 49 50 temps 51 52 FIGURE 51. GRAPHIQUES SYNTHÈSES : ESSAI DE VITESSE MAXIMALE DE TRANSLATION SUR L’AXE DES Y 94 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. Graphique de vitesse Vyreel(g), ysim(b) et ydes(r) 4 3.5 3 vitesse (m/s) 2.5 2 1.5 1 0.5 0 -0.5 42 44 46 50 48 52 54 56 temps 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. 95 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 3 -0.01 -0.02 -0.04 214 1 -1 214 218 217 216 temps 215 0.1 0 -0.5 217 216 temps 215 -1 214 218 218 217 216 temps 215 Graphique de vitesse w wreel(g), wsim(b), wdes(r), 1 Graphique de vitesse Vyreel(g), ysim(b) et ydes(r) 2.5 Graphique de vitesse Vxreel(g), xsim(b) et xdes(r) 0.15 2 0 -0.05 -0.1 vitesse (rad/s) 0.5 0.05 vitesse (m/s) 1.5 1 0.5 0 -0.5 0 -0.15 -0.2 214 -0.5 214 218 217 216 temps 215 217 216 temps 215 Graphique de vitesse moteur #4 0.5 2 1.5 0 0 1.5 0.5 -0.5 -1 215 216 temps 217 218 -2 214 -0.5 -1 215 216 temps 217 218 -2 214 1 0.5 0 -1.5 -1.5 0 -0.5 214 Vitesse (V) 0.5 Vitesse (V) 2 1 218 217 216 temps 215 Graphique de vitesse moteur #3 Graphique de vitesse moteur #2 Graphique de vitesse moteur #1 -1 214 218 Vitesse (V) vitesse (m/s) 2 0 -0.03 Vitesse (V) 0.5 angle (rad) 0.01 position (m) position (m) 4 0 Graphique de angle azimut reel(g),sim(b) et des(r) 1 Graphique de position yreel(g),ysim(b) et ydes(r) Graphique de position xreel(g),xsim(b) et xdes(r) 0.02 215 216 temps 217 218 -0.5 214 215 216 temps 217 218 FIGURE 53. GRAPHIQUES SYNTHÈSES : ESSAI D’ACCÉLÉRATION MAXIMALE EN TRANSLATION SUR L’AXE Y 96 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 Graphique de vitesse Vyreel(g), ysim(b) et ydes(r) 2.5 2 vitesse (m/s) 1.5 1 0.5 0 -0.5 214 214.5 215 215.5 216 temps 216.5 217 217.5 218 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. 97 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 98 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 99 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 100 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet 5.4 Automne 2005 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. 101 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 102 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 103 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 partie, le robot voudrait se déplacer vers le ballon tout en se positionnant pour que le ballon soit vis-à-vis son « kicker ». 104 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 105 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 fcn y 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. 106 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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. 107 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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/ 108 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 109 ELE4199 Projet de fin d’étude en génie électrique Rapport de projet Automne 2005 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 $ ( F1 C F2 C F3 C F4 ) Mw := R ( A U1 K B V1 K 4 Ff C A U2 K B V2 C A U3 K B V3 C 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 Rapport de projet Automne 2005 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 := ( V1 C V2 C V3 C V4 ) Vw := V1 C V2 C V3 C V4 > Fx C Vy$Vw m Ax := Ax := K C C K C > 1 (K ( A U1 K B V1 K Ff ) sin( a ) m (A U2 K B V2 K Ff ) sin(a ) (A U3 K B V3 K Ff ) sin(a ) (A U4 K B V4 K Ff ) sin(a ) ) C (V1 cos ( a ) V2 cos ( a ) K V3 cos ( a ) C V4 cos ( a ) ) (V1 C V2 C V3 V4 ) Fy K Vx$Vw m Ay := 1 ( (A U1 K B V1 K Ff ) cos ( a ) m 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 ) ) ( V1 C V2 C V3 C V4 ) Ay := > Aw := Mw Inercite 1 (R ( A U1 K B V1 K 4 Ff C A U2 K B V2 Inercite C A U3 K B V3 C A U4 K B V4 ) ) Aw := >