ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE...

122
ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE ÉLECTRIQUE PROJET ROBOFOOT : CONCEPTION, CONTÔLE ET RÉALISATION D’UN ROBOT OMNIDIRECTIONNEL Rapport de projet de fin d’étude soumis comme condition partielle à l’obtention du diplôme de baccalauréat en ingénierie. Présenté par: Marc Antoine Richer-Comisso Mathieu Béliveau Matricule: Directeur de projet: Richard Hurteau Co-directeur: Julien Beaudry Date : 7 décembre 2005

Transcript of ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE...

ÉCOLE POLYTECHNIQUE

DE MONTRÉAL

DÉPARTEMENT DE GÉNIE ÉLECTRIQUE

PROJET ROBOFOOT : CONCEPTION, CONTÔLE ET

RÉALISATION D’UN ROBOT OMNIDIRECTIONNEL

Rapport de projet de fin d’étude soumis

comme condition partielle à l’obtention du

diplôme de baccalauréat en ingénierie.

Présenté par: Marc Antoine Richer-Comisso

Mathieu Béliveau

Matricule:

Directeur de projet: Richard Hurteau

Co-directeur: Julien Beaudry

Date : 7 décembre 2005

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

i

SOMMAIRE

Le présent projet de fin d’étude consiste en une élaboration d’un prototype de robot

footballeur omnidirectionnel. Le comité Robofoot de l’École Polytechnique possède déjà

plusieurs robots footballeur à mouvement différentiel. Lors des récentes compétitions, de

la Robocup middle size ligue, l’équipe a pu constater que plusieurs adversaires utilisaient

des robots sans contraintes holonomes. Ils ont pu dès lors constater que ces types de

robots possédaient un net avantage sur les leurs, surtout lors du contrôle de balle et sur la

rapidité d’exécution. Dans le but de rester le plus compétitif possible lors des

compétitions internationales, Robofoot désire donc concevoir un premier prototype de

robot omnidirectionnel sur lequel des études seront effectuées dans le but de créer une

équipe entière de ce type.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

ii

TABLE DES MATIÈRES

SOMMAIRE...................................................................................................................................................I

TABLE DES MATIÈRES........................................................................................................................... II

REMERCIEMENTS ................................................................................................................................... V

LISTE DES FIGURES ...............................................................................................................................VI

LISTE DES TABLEAUX........................................................................................................................VIII

LISTE DES SYMBÔLE ET ABRÉVIATIONS .......................................................................................IX

1. INTRODUCTION............................................................................................................................... 1

2. PROBLÉMATIQUE........................................................................................................................... 2

3. MÉTHODOLOGIE............................................................................................................................. 4

3.1 CHOIX DU TYPE DE PLATEFORME OMNIDIRECTIONNELLE ............................................................. 6

3.2 CHOIX DES MOTEURS .................................................................................................................... 8

3.3 CHOIX DES ROUES....................................................................................................................... 10

3.4 CHOIX DES PILES......................................................................................................................... 14

3.4.1 Historique ............................................................................................................................. 14

3.4.2 NiMH..................................................................................................................................... 15

3.4.2.1 Historique ...................................................................................................................................15 3.4.2.2 Fonctionnement général .............................................................................................................15 3.4.2.3 Caractéristique des performances ...............................................................................................16

3.4.3 Li-Ion..................................................................................................................................... 18

3.4.3.1 Historique ...................................................................................................................................18 3.4.3.2 Fonctionnement général .............................................................................................................19 3.4.3.3 Caractéristique des performances ...............................................................................................20

3.4.4 Li-Poly................................................................................................................................... 21

3.4.5 Comparaison entre les technologies ..................................................................................... 21

3.5 CHOIX DU CHARGEUR ................................................................................................................. 23

3.6 MODÉLISATION .......................................................................................................................... 25

3.6.1 Hypothèse.............................................................................................................................. 25

3.6.2 Cinématique .......................................................................................................................... 26

3.6.2.1 Cinématique directe....................................................................................................................29

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

iii

3.6.2.1.1 Disposition des roues ............................................................................................................29 3.6.2.1.2 Exemple de cinématique directe............................................................................................31

3.6.2.2 Coordonnées et repère ................................................................................................................33 3.6.2.2.1 Exemple de conversion du repère local à global ...................................................................35

3.6.3 Cinématique Inverse ............................................................................................................. 37

3.6.4 Dynamique ............................................................................................................................ 41

3.6.4.1 Dynamique de la plateforme.......................................................................................................41 3.6.4.2 Dynamique des moteurs .............................................................................................................45 3.6.4.3 Dynamique totale........................................................................................................................47

3.6.5 Contrôleur............................................................................................................................. 49

3.6.5.1 Contrôleur vitesse simple ...........................................................................................................50 3.6.5.2 Contrôleur de vitesse PID rotation & translation........................................................................51 3.6.5.3 Notion de normalisation .............................................................................................................51 3.6.5.4 Optimisation de la vitesse de déplacement avec l’angle d’azimut ..............................................58 3.6.5.5 Contrôleur de vitesse avec normalisation de la vitesse désirée...................................................61 3.6.5.6 Contrôleur simple de position.....................................................................................................62 3.6.5.7 Contrôleur en position avec normalisation de la vitesse désirée.................................................63

3.7 FONCTIONNEMENT GLOBAL ........................................................................................................ 64

3.7.1 Viper830................................................................................................................................ 66

3.7.1.1 Connexions à la carte..................................................................................................................67 3.7.2 ACSTech80 Servo Controllers .............................................................................................. 67

3.7.2.1 Signal PWM (Pulse width modulation) ......................................................................................70 3.7.3 Le pont en H.......................................................................................................................... 71

3.7.4 Connexion entre les cartes .................................................................................................... 73

3.7.4.1 Connexion entre le PC et les autres cartes ..................................................................................73 3.7.4.2 Connexion entre la carte de contrôle et les amplificateurs..........................................................74 3.7.4.3 Connexion entre la carte de contrôle et les encodeurs ................................................................77 3.7.4.4 Connexion entre la carte d’amplification et les moteurs.............................................................78

3.8 AUTONOMIE DU PROTOTYPE ....................................................................................................... 79

3.8.1 Consommation des cartes électroniques ............................................................................... 79

3.8.2 Consommation des moteurs selon divers scénario................................................................ 80

3.8.2.1 Scénario 1...................................................................................................................................80 3.8.2.2 Scénario 2...................................................................................................................................84

4. RÉSULTATS ..................................................................................................................................... 86

4.1 TEST PRATIQUE SUR LES MOTEURS ............................................................................................. 86

4.1.1 Premier test ........................................................................................................................... 86

4.1.2 Second test ............................................................................................................................ 87

4.2 VALIDATION DE LA SIMULATION ................................................................................................ 88

4.3 COMPARAISON DES RÉSULTATS ENTRE PROTOTYPE ET SIMULATION........................................... 91

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

iv

4.3.1 Essai de vitesse maximale de rotation................................................................................... 92

4.3.2 Essai de vitesse maximale de translation .............................................................................. 94

4.3.3 Essai d’accélération maximale ............................................................................................. 96

5. DISCUSSION .................................................................................................................................... 98

5.1 CHOIX DE LA PLATEFORME ......................................................................................................... 99

5.2 CHOIX DES ROUES....................................................................................................................... 99

5.3 CHOIX DES PILES....................................................................................................................... 100

5.4 CARTE ÉLECTRONIQUE ET CONNEXIONS ................................................................................... 101

5.5 SIMULATION ............................................................................................................................. 101

5.6 CONSOMMATION ÉLECTRIQUE .................................................................................................. 102

5.7 MONTAGE FINAL DU ROBOT...................................................................................................... 103

5.8 AMÉLIORATIONS POSSIBLES ..................................................................................................... 105

6. CONCLUSION................................................................................................................................ 107

7. BIBLIOGRAPHIE .......................................................................................................................... 108

8. ANNEXE.......................................................................................................................................... 110

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

v

REMERCIEMENTS

Nous tenons d’abord à remercier M. Richard Hurteau, notre directeur de projet de

fin d’étude, qui a bien voulu nous prendre en charge lors de la réalisation de ce projet.

Nous remercions également M. Julien Beaudry, directeur de Robofoot, qui a été

notre co-directeur de PFE. M. Beaudry est celui qui a permis la réalisation de ce projet

en nous donnant son accord pour la collaboration de robofoot sans quoi, rien n’aurait été

possible. Nous le remercions pour nous avoir secondés au projet nonobstant son horaire

du temps très chargé. Il nous à été d’une grande aide, particulièrement pour la partie

programmation sur Linux.

Nous remercions également David Saucier qui nous a aidés à représenter la

discontinuité du système sur Matlab, Simulink.

Nous tenons également à remercier M. Jonathan Dionne, étudiant en génie

mécanique, pour sa participation dans ce projet. M. Dionne est celui qui a réalisé la

plateforme mécanique dans le cadre de son projet de fin d’étude.

Nous tenons également a remercié nos copines, Julie Beaupré et Ariane Carrière-

Roberge qui nous ont appuyé moralement tout au long de la réalisation du projet.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

vi

LISTE DES FIGURES

Figure 1. Illustration des deux types de plateformes .............................................................................. 6

Figure 2. Roue omnidirectionnelle 1 .................................................................................................... 11

Figure 3. Roue omnidirectionnelle 2 .................................................................................................... 12

Figure 4. Roue omnidirectionnelle 3 .................................................................................................... 13

Figure 5. Schéma de construction d’une pile NiMH............................................................................. 16

Figure 6. Fabrication d’ensemble de piles ........................................................................................... 17

Figure 7. Pile Li-Ion ............................................................................................................................. 18

Figure 8. Structure atomique d’une pile Li-Ion .................................................................................... 19

Figure 9. Capacité en fonction du nombre de cycle ............................................................................. 20

Figure 10. Comparaison en les technologies.......................................................................................... 21

Figure 11. 112 Deluxe Charger/Discharger........................................................................................... 23

Figure 12. Roulement d’une roue omnidirectionnelle ............................................................................ 26

Figure 13. Force sur une roue omnidirectionnelle ................................................................................. 27

Figure 14. Système de cinématique directe............................................................................................. 29

Figure 15. Disposition des roues et distribution des forces, vitesses...................................................... 30

Figure 16. Exemple de cinématique directe............................................................................................ 32

Figure 17. Représentation et relation entre les deux repères local et global ......................................... 33

Figure 18. Modèle de conversion global à local .................................................................................... 34

Figure 19. Modèle de conversion local à global .................................................................................... 35

Figure 20. Cinématique avec un angle azimut de 60º............................................................................. 35

Figure 21. Modèle de la cinématique inverse......................................................................................... 37

Figure 22. Addition vectoriel.................................................................................................................. 39

Figure 23. Modèle de la dynamique de la plateforme ............................................................................ 41

Figure 24. Dynamique des moteurs ........................................................................................................ 45

Figure 25. Schéma du système moteur.................................................................................................... 45

Figure 26. Dynamique totale .................................................................................................................. 47

Figure 27. Contrôleur simple en vitesse ................................................................................................. 50

Figure 28. Contrôleur de vitesse PI translation & PD rotation ............................................................. 51

Figure 29. Vitesse maximale de déplacement en fonction de la direction du robot................................ 53

Figure 30. Graphique de vitesse maximal selon déplacement................................................................ 55

Figure 31. Vitesse maximale par rapport aux vitesses de rotation et translation .................................. 56

Figure 32. Optimisation de la vitesse de déplacement avec l’angle d’azimut ........................................ 59

Figure 33. Contrôleur de vitesse avec normalisation ............................................................................. 61

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

vii

Figure 34. Contrôleur simple de position............................................................................................... 62

Figure 35. Contrôleur de position avec normalisation........................................................................... 63

Figure 36. Schéma bloc des composantes électroniques du robot.......................................................... 66

Figure 37. Carte de contrôle .................................................................................................................. 68

Figure 38. Schéma bloc des connexions entre la carte de contrôle et les moteurs................................. 69

Figure 39. Onde carré ............................................................................................................................ 70

Figure 40. Modélisation d’un moteur ..................................................................................................... 71

Figure 41. Amplificateur pont en H........................................................................................................ 72

Figure 42. Empilement des cartes compatible PC 104........................................................................... 73

Figure 43. Carte de contrôle .................................................................................................................. 74

Figure 44. Carte servo-booster............................................................................................................... 76

Figure 45. Graphique de vitesse du scénario 1 ...................................................................................... 81

Figure 46. Mouvement rectiligne du robot ............................................................................................. 82

Figure 47. Cinématique du robot............................................................................................................ 88

Figure 48. Schéma du contrôleur de développement d’essai niveau 1 ................................................... 89

Figure 49. Schéma du contrôleur de développement d’essai niveau 2 ................................................... 90

Figure 50. Graphiques synthèses : Essai de vitesse maximale de rotation............................................. 92

Figure 51. Graphiques synthèses : Essai de vitesse maximale de translation sur l’axe des y................ 94

Figure 52. Graphique de vitesse sur l’axe des y : Essai de vitesse maximale sur l’axe des y ................ 95

Figure 53. Graphiques synthèses : Essai d’accélération maximale en translation sur l’axe y .............. 96

Figure 54. Graphique de vitesse sur l’axe des y : Essai de d’accélération maximale sur l’axe des y.... 97

Figure 55. Vision du robot à l’arrêt ..................................................................................................... 100

Figure 56. Vision du robot en rotation à 10 rad/s ................................................................................ 100

Figure 57. Vision du robot en translation à 1.8 m/s ............................................................................. 100

Figure 58. Dessous de la plateforme en cours d’assemblage............................................................... 105

Figure 59. Bloc imbriquée .................................................................................................................... 106

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

viii

LISTE DES TABLEAUX

Tableau 1. Comparaison entre modèle à 3 roues et à 4 roues.................................................................. 7

Tableau 2. Fiche technique du moteur GM9234E475 .............................................................................. 8

Tableau 3. Description du 112 Deluxe Charger/Discharger .................................................................. 24

Tableau 4. Tableau des I/O de la carte de contrôle ................................................................................ 75

Tableau 5. Signal d’entrée des amplificateurs........................................................................................ 76

Tableau 6. Sortie de l’encodeur .............................................................................................................. 77

Tableau 7. Sortie de la carte d’amplification.......................................................................................... 78

Tableau 8. Consommation électrique du PC........................................................................................... 79

Tableau 9. Consommation électrique de la carte 5850B ........................................................................ 79

Tableau 10. Résultats du second test ........................................................................................................ 87

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

ix

LISTE DES SYMBÔLE ET ABRÉVIATIONS

NiMH : Nickel metal hybrid. Sorte d’alliage utilisé dans la conception de piles

Li-Ion : Lithium-ion. Sorte d’alliage utilisé dans la conception de piles

Li-Poly : Lithium Polymère. Sorte d’alliage utilisé dans la conception de piles

NiCd : Nickel-Cadium. Sorte d’alliage utilisé dans la conception de piles

Système électromécanique

m : masse (kg). Masse du robot

L : longueur (m). Longueur entre deux roues opposées

Ra : rayon (m). Rayon d’une roue

µc : Coefficient du frottement visqueux

δ : alpha (degree). Angle d’orientation entre les moteurs et l’axe horizontal de la

plateforme.

Modélisation

YX ���� , : (m/s2). Accélération dans le repaire global.

yx ���� , : (m/s2). Composantes d’accélération dans le repaire du robot.

YX �� , : (m/s). Vitesse dans le repaire global.

yx ��, : (m/s). Composantes de vitesses dans le repaire du robot.

ψ : (rad). Angle azimut du robot

ω : (rad/s). Vitesse angulaire de la plateforme.

X, Y : (metres). Position du robot dans le repaire global ou du robot

x, y : (metres). Position du robot dans le repaire local ou du robot

Fn : forces de traction appliquées sur les roues respectives

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

x

Tn : (Volt). Tensions appliquées aux moteurs respectifs, où n = 1, 2, 3 ou 4

n : rapport d’engrenage du moteur

J : moment d’inertie du robot

k1 : Constante de couple du moteur

k2 : Constante de force électromotrice du moteur

Rt : Résistance interne du moteur

ωn : vitesse angulaire des roues, où n = 1, 2, 3 ou 4

b0 : coefficient de frottement visqueux du moteur

τn : torque du moteur, où n = 1, 2, 3 ou 4

PID du gain de la tension des 4 moteurs

Kp1 : Gain proportionnel

Kd1 : Gain dérivée

Ki1 : Gain intégrale

PID du gain de vitesse de translation

Kp2 : Gain proportionnel

Kd2 : Gain dérivée

Ki2 : Gain intégrale

PID du gain de vitesse de rotation

Kp3 : Gain proportionnel

Kd3 : Gain dérivée

Ki3 : Gain intégrale

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

1

1. INTRODUCTION

Depuis quelques temps déjà, les scientifiques tentent désespérément de créer des

robots ayant la mobilité d’un être humain, ce qui représente un défi plus qu’intéressant.

Beaucoup d’envases sont mis sur le développement de technologies en robotique, un des

buts ultimes est de créer des humanoïdes capable d’aider les être humains qui ont perdu

une certaine mobilité. Dans ce mouvement de recherche en robotique, plusieurs groupes

se sont créer, des événements ont pris naissances afin de pouvoir mettre en commun le

résultat des recherches. De ce mouvement est apparu la Middle Size League, qui est une

compétition de robot footballeur. Le groupe Robofoot est le comité de l’École

Polytechnique qui a créé une équipe de robot et qui participe aux diverses compétitions

internationales. L’équipe possède actuellement des robots à déplacement différentiel.

Elle a cependant remarqué l’avantage que possédait certaine équipe qui possédait des

robots omnidirectionnels. Nous avons donc pris le mandat de concevoir un prototype de

robot à déplacement sans contrainte holonome pour Robofoot afin qu’il puisse s’en servir

de modèle pour la conception d’une future équipe.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

2

2. PROBLÉMATIQUE

La plateforme actuelle à deux roues contraint beaucoup le robot en déplacement.

Pour se déplacer il doit actuellement tourner puis avancer ou se déplacer en suivant une

trajectoire curviligne. Les mouvements latéraux sont empêchés par la friction des roues,

ce qui limite la mobilité du robot. Cela peut être nuisible dans le cas de joueur de soccer,

en particulier lorsque le robot doit se faufiler entre des adversaires pour se rendre vers le

ballon ou pour déjouer.

Nous nous devons donc de concevoir, de contrôler et de réaliser une plateforme

omnidirectionnelle. Comme notre problème est de taille, il s’agit ici de découper le

problème global en sous problèmes que nous résolvons indépendamment. Nous avons

alors divisé le projet en deux principaux aspects. Un aspect traitant sur la fabrication du

prototype et l’autre aspect traitant sur la modélisation et contrôle du robot.

L’idée de construire un prototype omnidirectionnel pour l’équipe de Robotfoot

demeure un projet à titre expérimental. La réalisation de ce projet n’est donc pas dans le

but d’obtenir un robot de grande performance mais plutôt de réaliser un premier

prototype de développement avec lequel nous pourrons réaliser des essais et valider les

modèles testés en simulations. De plus, l’équipe de Robotfoot pourra également intégrer

plusieurs parties de son robot différentiel sur le robot omnidirectionnel, comme les parties

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

3

de vision, d’odomètrie et de stratégie de jeux qui sont tous programmées pour fonctionner

avec une plateforme différentiel.

Étant donnée la nature du projet, nous nous devions donc d’utiliser le plus

possible le matériel disponible au département de génie électrique et au comité de

Robofoot. En effet, nous avions à notre disposition plusieurs composantes déjà

existantes. Nous avons donc recyclé les composantes que nous pouvions tels les moteurs,

ordinateur et carte de contrôle, ponts en H, ainsi qu’une partie de la structure mécanique

du robot différentiel utilisé par Robofoot. De plus, nous utiliserons le système de vision

déjà développé par le comité ainsi que les algorithmes de contrôle déjà développés que

nous modifierons légèrement pour l’adapter à un robot omnidirectionnel. Par contre,

nous devions renouveler certaines composantes comme les roues, les piles utilisées, ainsi

que la base de la structure mécanique qui doit maintenant accueillir non pas deux roues,

mais bien quatre. Ce dernier sujet est en fait l’objet d’un projet de fin d’étude d’un

étudiant en génie mécanique.

Le fait de concevoir un robot omnidirectionnel en guise de prototype pour le

comité Robofoot présente un grand avantage pour ces derniers. En effet, le robot

construit sera soumis à plusieurs tests de déplacement, de vitesse maximale ainsi que

d’accélération. Les conclusions tirées de ces tests seront très bénéfique pour l’équipe

puisqu’elle désire remplacer les joueurs actuels par des robots ayant une mobilité

omnidirectionnelle.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

4

3. MÉTHODOLOGIE

La conception du prototype sera fera en plusieurs étapes. Comme le projet se fait

conjointement entre deux étudiants et qu’une troisième personne travaille sur l’aspect

mécanique du robot, ces paramètres devraient être choisis en premier lieu. Il y a

présentement deux plateformes possibles pour la conception du prototype, soit

triangulaire à trois roues ou bien carrée à quatre roues. Ensuite, il faudra faire un choix

sur les différents modèles de roues permettant un déplacement omnidirectionnel.

Une fois ces décisions prises, la première phase, qui sera effectuée parallèlement au

développement des contrôleurs, portera sur une étude des différentes technologies de

piles existantes et qui pourraient convenir à notre prototype. Un ensemble pile-chargeur

sera donc choisi. Il faudra également que tout le matériel électronique, c’est-à-dire toutes

les cartes électroniques, PC, carte de contrôle, pont en H…etc soient trouvés et

rassemblés. Le câblage adéquat au fonctionnement du robot sera alors réalisé.

La seconde partie de cette première phase de développement se séparera alors en

deux autres. La première partie sera de concevoir le type de contrôle et la modélisation

du robot. Les contrôleurs seront développés par voie de simulation et ils devront

permettre l’asservissement en vitesse et en position du robot dans l’espace opérationnel,

soit le terrain de soccer utilisé lors des compétitions de la Robocup. Il est à noter que ces

simulations seront effectuées avec l’aide de l’environnement MatLab/Simulink. Une fois

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

5

le développement terminé, ces contrôleurs devront être implantés au sein du robot et

testés afin de valider leur fonctionnement.

Dans la deuxième phase, il s’agira d’intégrer sur la plateforme tous les modules

électriques nécessaires au fonctionnement du robot et d’élaborer des procédures de test

afin de vérifier que tous les modules fonctionnent de façon adéquate. Si le temps le

permet, le robot sera configuré pour pouvoir fonctionner de façon autonome, en utilisant

le système de vision déjà implanté sur les anciens robots.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

6

3.1 Choix du type de plateforme omnidirectionnelle

La première étape à été de choisir parmi deux types de plateforme

omnidirectionnelle, c’est-à-dire une base soit à trois roues ou à quatre roues. Ces deux

configurations comportent divers avantages et des inconvénients. Nous devons donc

analyser les différentes configurations afin de pouvoir faire un choix optimal. Les

croquis ci-dessous illustrent l’emplacement des roues sur la plateforme selon le design.

Plateforme 3 roues Plateforme 4 roues

FIGURE 1. ILLUSTRATION DES DEUX TYPES DE PLATEFORMES

Voici les particularités que nous avons ressorties de chacune d’elles, résumées dans un

tableau comparatif.

L

L

L

L

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

7

AVANTAGES

Plateforme à trois roues Plateforme à quatre roues

• Côtés plus larges • Bascule moins facilement

• Plus léger car 1 moteur de moins • Centre de gravité plus bas

• Consomme moins d’énergie • Direction plus optimal car 4 moteurs

utilisés

• Aire de surfaces plus grandes, montage

plus bas

• Plus de puissance disponible

DÉSAVANTAGES

Plateforme à trois roues Plateforme à quatre roues

• Bascule plus facilement • Consomme plus d’énergie

• Moins de puissances • Plus lourd

Tableau 1. Comparaison entre modèle à 3 roues et à 4 roues

Après avoir analysé les deux types de configurations possibles, notre choix s’est

arrêté sur le modèle à 4 roues. En effet, ce modèle possède une aire de surface plus

grande permettant de placer les composantes le plus bas possible pour ainsi abaisser le

centre de gravité du prototype. De plus, ce modèle offre une puissance supérieure étant

donné l’utilisation de quatre moteurs. L’utilisation d’un modèle à quatre roues permet

également de modifier la configuration de celles-ci en n’impliquant qu’un seul paramètre

dans les équations de contrôle. Plusieurs tests pourront donc être effectués afin

d’observer laquelle offre une meilleur accélération, une meilleur vitesse de translation ou

de rotation.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

8

3.2 Choix des moteurs

Comme nous l’avons mentionné précédemment, le robot utilisera quatre roues

pour générer ses déplacements. Nous n’avons pas eu à choisir ces moteurs puisque

l’équipe de Robofoot avait en réserve des moteurs, qui servent actuellement pour leur

robot. Il s’agit des moteurs PittmanExpress GM9234S017. Ce sont des moteurs DC à

balai. Leur fiche technique est incluse à ce rapport en annexe.

Paramètre Symbôle Valeur

Tension nominale Vbatt 24V

Vitesse sans charge SNL 424 rpm

Résistance interne du moteur Rt 4.52 Ohms

Couple de friction Tf 0.0042Nm

Back EMF Ke 4.81 V/krpm

Couple constant Kt 0.0459 Nm/A

Frottement fisqueux D 2.6x10-6 N*m*s

Tableau 2. Fiche technique du moteur GM9234E475

Il est à noter que plusieurs autres types de moteurs existent. Une étude sur ces

différents types pourraient être profitable, afin d’offrir au robot le meilleur moyen de

propulsion possible. Voici une brève description des autres types de moteurs existants

sur le marché.

Moteur pas à pas

• Moteurs rotatifs dont le mouvement est engendré grâce à des impulsions

électriques.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

9

• Chaque impulsion fait tourner le moteur d’un pas prédéterminé

• Utilisé pour contrôler la position rotative du moteur

• Leur vitesse est relativement faible

Moteur sans balai

• Le bobinage est intégré au stator donc pas besoin de commutateur interne

• Nécessite système de commutateur électronique externe

• Durée de vie plus longue que les moteurs à balais et moins d’entretien

nécessaire

• Plus petit et léger pour même puissance donnée qu’au moteur à balai

• Peut produire un frein moteur lorsque tension est retiré (aimant permanant)

• Grande vitesse requise ( 30 000 RPM et +)

Moteur à balai

• Opère de la même manière que le moteur sans balai, mais muni de commutateur

interne à même le rotor

• Fonctionnement simple, contrôle par tension seulement

• Peut produire un frein moteur lorsque tension est retiré (aimant permanant)

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

10

3.3 Choix des roues

Le choix des roues va de pairs avec le choix des moteurs, car le rayon des roues

influence la vitesse et le couple exercé par les moteurs. Puisque les moteurs sont déjà

fournis, il est donc important de choisir une roue au rayon adéquat.

Pour que le robot soit fonctionnel, il doit être muni de roues omnidirectionnelles

afin de permettre un déplacement dans n’importe quelle direction. Une roue

omnidirectionnelle possède une roue principale munie de plusieurs petites roues

secondaires. Elle permet donc deux déplacements possibles, un déplacement dans la

direction perpendiculaire à l’axe du moteur (forcée), possible par la grande roue, et un

déplacement dans la même direction que l’axe du moteur (libre), possible par la

disposition des petites roues. De plus, une bonne roue devrait avoir les caractéristiques

suivantes :

• Les petites roues doivent être faites d’un matériau avec une bonne adhérence avec

le sol pour éviter les glissements.

• Le contour de la roue, formé par les petites roues, doit avoir le plus possible la

forme circulaire pour permettre un roulement constant avec le sol, quel que soit la

position de la roue.

• Une masse réduite pour négliger l’inertie de la roue.

• Être robustesse au choc et vibration

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

11

Voici des illustrations qui montrent les différents types de roue omnidirectionnelle que

nous avons trouvée sur Internet.

FIGURE 2. ROUE OMNIDIRECTIONNELLE 1

http://www.roboternetz.de/wiki/pmwiki.php?n=Main.OmniWheels

Ce modèle est de conception Allemande et tout leur site est dans cette langue. De

plus, il est difficile d’envoyé une commande, de savoir leur prix et le choix des rayons de

la roues est limité à 20mm, ce qui implique directement que la vitesse maximale que peut

atteindre le robot avec ce type de roue est plus petite que celle que pourrait atteindre un

autre prototype possédant de plus grandes roues.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

12

FIGURE 3. ROUE OMNIDIRECTIONNELLE 2

http://robotics.iu-bremen.de/cgi-bin/robowiki.pl?OmniWheels

Cette roue semble intéressante puisqu’elle offre de la traction en raison de dents

formées pas les petites roues. Toutefois, elle est faite de façon artisanale et est tirée du

site RoboWiki, site d’échange d’information de robot omnidirectionnel. Elle a donc été

fabriquée dans le cadre de la réalisation de robot d’un projet autre. Il n’est donc pas

possible pour nous de commander ces roues et il nous faudrait donc en fabriquer nous

même.

La roue choisie est celle du fournisseur Traporol. Elle est composée d’un

assemblage de deux roues omnidirectionnelles, cote à cote.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

13

http://www.traporol.de/arg_80.php

FIGURE 4. ROUE OMNIDIRECTIONNELLE 3

L’une des roues est déphasée de 60° par rapport à l’autre. Le matériau des roue

secondaires est du polyuréthane, reconnu pour sont adhésion sur toutes sorte de surface,

lisse ou rugueuse. Cette roue est disponible en plusieurs modèle de diamètre, nous avons

choisi la roue de 8cm qui nous semble ni trop grand, ni trop petit.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

14

3.4 Choix des piles

Afin de pouvoir propulser le robot, les moteurs ont besoin d’être alimentés. Cette

alimentation provient des piles, elles doivent alors fournir une grande puissance pour

pouvoir fournir au robot une accélération acceptable en compétition. Dans la prochaine

génération de robot, Robofoot espère pouvoir atteindre une vitesse maximale de 5 m/s et

une accélération de 5m/s2. À cette accélération assez élevée est associé un torque des

moteurs qui implique un courant d’alimentation assez élevé. Plus le torque demandé est

grand, plus le courant qui doit être fournit aux moteurs doivent l’être également. Donc,

les piles devront posséder un grand courant de décharge instantané, ainsi qu’un poids

faible afin de ne pas nuire au robot.

3.4.1 Historique

Avant les années 1990, la technologie de pile au nickel-cadium était celle qui

dominait le marché, de par son accessibilité et ses performances. Or depuis ce temps,

plusieurs nouvelles technologies ont vu le jour et offrent des performances supérieures à

celle au NiCd. Les robots de robofoot utilisent présentement des piles au nickel-cadium,

il serait peut-être avantageux de changer cette technologie par une autre qui offre un

rapport Ah/poids et Ah/volume intéressant. Il est à noter que le poids des piles représente

la majeure partie du poids du robot. Trois différentes technologies de piles seront

étudiées, soit NiMH, Li-Ion et Li-Poly.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

15

3.4.2 NiMH

3.4.2.1 Historique

Les piles au NiMH ont vu le jour dans les années 90. Très souvent comparé à

celle au NiCd, elles offraient déjà, lors de leur apparition sur le marché, une densité

énergétique supérieure à ces dernières et elles étaient moins dommageables pour

l’environnement. Par contre, la différence entre sa courbe de recharge par rapport à celle

au NiCD nécessitait des modifications sur les appareils qui voudraient utiliser cette

technologie. Avec le temps, elles sont devenues de plus en plus performantes et plusieurs

appareils électroniques ont été conçus en fonction de l’utilisation de ces piles.

3.4.2.2 Fonctionnement général

Dans le cadre de ce projet, le fonctionnement chimique des piles importes très

peu, mais il est bon d’en faire un survole afin de déterminer si la pile en question est

sécuritaire et n’utilise pas de matériau dangereux qui pourrait causer problèmes lors d’un

éventuelle transport international des robots par avion.

La réaction aux bornes des électrodes est réversible, ce qui permet à la pile de

pouvoir être chargé et déchargé. La réaction qui a lieu sur l’électrode positive est la

suivante :

Ni(OH)2 + OH- NiOOH + H

2O + e- (pendant le chargement)

NiOOH + H2O + e- Ni(OH)

2 + OH- (pendant la décharge)

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

16

Tandis que celle qui est présente sur l’électrode négative est :

M + H2O + e- MH + OH- (pendant le chargement)

MH + OH- M + H2O + e- (pendant la décharge)

On remarque alors que le principe de fonctionnement décrit par ces équations

reposent sur l’échange d’un atome d’hydrogène d’un côté comme de l’autre de

l’équation, selon si on est en situation de charge ou de décharge. La figure suivante

donne en détail la composition d’une pile cylindrique NiMH, démontrant les deux

électrodes, positives et négatives.

FIGURE 5. SCHÉMA DE CONSTRUCTION D’UNE PILE NIMH

3.4.2.3 Caractéristique des performances

Ce qui nous intéresse, dans la cadre de ce projet est la densité énergétique de la

pile, son prix et avec quelle facilité pourrons-nous fabriquer des ensembles de plusieurs

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

17

piles qui nous permettrons d’atteindre la valeur de tension désiré. Les moteurs

qu’utilisera notre prototype fonctionneront avec une tension de 24 Volts, le calcul de prix

se fera donc en considérant que nous cherchons à obtenir cette tension.

Les piles NiMH ont une capacité deux fois supérieure à celle des piles NiCd, ce

qui leur permet de durer beaucoup plus longtemps que ces dernières. De plus, elles

peuvent offrir, selon les différentes compagnies et grosseurs de piles, un courant de

décharge atteignant les 10 C. Lorsqu’elles sont rechargées dans des conditions

favorables, c’est-à-dire que le courant de charge ne dépasse pas 0.1C et qu’elle ne

décharge pas plus que 0.2 C, elles peuvent avoir une durée de vie de 1000 cycles. Bien

sûr, une utilisation plus exigeante des piles diminue la durée de vie. De plus, il est plutôt

simple de fabriquer des ensembles de piles afin d’obtenir la tension désiré, il s’agit de

relier en série les piles.

FIGURE 6. FABRICATION D’ENSEMBLE DE PILES

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

18

3.4.3 Li-Ion

3.4.3.1 Historique

Tout comme les piles au NiMH, celle au Li-Ion on vu le jour dans les années

1990. Elles possédaient déjà une densité énergétique supérieure à toutes les technologies

de piles rechargeables. Elles ont alors pris place dans des utilisations électroniques

spécifiques telles que les ordinateurs portables. Par contre, elles ont démontré une

faiblesse quant à leur sécurité. En effet, les ingénieurs ont du créer un circuit qui

s’occupe de la gestion énergétique de la pile, il s’assure entre autre de la stabilité de la

tension de sortie.

FIGURE 7. PILE LI-ION

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

19

3.4.3.2 Fonctionnement général

La pile consiste en une cathode d’oxyde de lithium de cobalt et d’une anode en

graphite séparés par un couche en polyéthylène ou en polypropylène dans un

électrolytique non-aqueux. Quand la pile est chargée, des ions de lithium quitte la

cathode pour aller s’insérer dans les couches de la structure de graphite. Dans le cas

contraire ou la pile se décharge, quitte l’anode pour retourner dans la cathode.

FIGURE 8. STRUCTURE ATOMIQUE D’UNE PILE LI-ION

Dans les deux cas, il y a déplacement d’électron dans le sens contraire du

déplacement des ions pour fermer le circuit électrique.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

20

3.4.3.3 Caractéristique des performances

L’élément qui caractérise le plus la pile Li-Ion est sa haute densité énergétique,

qui avoisine les 160Wh/Kg. Elle peut être chargée par de grand courant, ce qui réduit

considérablement le temps de recharge nécessaire. De plus, elle garde sensiblement

toujours les mêmes caractéristiques, même après plusieurs recharges.

FIGURE 9. CAPACITÉ EN FONCTION DU NOMBRE DE CYCLE

Un désavantage de cette pile est quelle nécessite l’intégration d’un circuit de

sécurité à l’intérieur de la pile afin de contrôler son fonctionnement et de couper

l’alimentation dans des situations anormales. De plus, ces types de piles sont faits de

matériaux dangereux et elles prennent violemment en feu si elles sont en contact avec

l’eau. De plus, lorsqu’on est en présence d’une masse de plus de 80 grammes de lithium

dans un ensemble de piles, on doit considérer la batterie comme un objet de classe 9 lors

du transport des piles.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

21

3.4.4 Li-Poly

Ce type de pile ressemble en tout point avec la pile Li-Ion, elle utilise la même

équation chimique pour fournir son énergie et possède la même densité d’énergie. La

grosse différence entre les deux types de piles se situe dans l’architecture interne des

anodes et des cathodes. Dans les piles Li-Ions, on remarque des structures cylindriques

tandis que pour les piles lithium-polymères, on observe une structure couche par couche.

Le fait d’utiliser cette architecture rend la pile plus sécuritaire et légèrement plus petite

(mince) que sa semblable. Le fait qu’elle soit plus sécuritaire provient du fait que s’il y a

mal fonctionnement et qu’un dégagement de gaz survient dans la pile, les couches

décolleront sous l’effet de la pression, contrairement à la pile cylindrique qui explosera.

3.4.5 Comparaison entre les technologies

Maintenant que tout les technologies de piles ont été survolé, un petit résumé

comparatif s’impose afin de prendre une décision judicieuse sur les types de piles a

intégrer au sein du prototype. Le tableau suivant présente une comparaison des

principales caractéristiques de toutes les piles étudiées dans ce projet.

FIGURE 10. COMPARAISON EN LES TECHNOLOGIES

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

22

Dans ce tableau, on remarque que les piles au Li-Ion et Li-Poly sont plus

performantes que celles au NiMH, elle possède une tension supérieure par pile, ce qui

réduirait la quantité nécessaire pour atteindre une tension de 24 Volts. Par contre, ces

piles constituent un achat plus important, leur prix unitaire étant plus élevé que celui des

piles au NiMH. De plus, tout au long de notre recherche, on mentionnait le danger

potentiel à l’utilisation des piles contenant du lithium. Il faut donc en tenir compte,

puisque les robots qui utiliseront ces piles seront soumis parfois à de violents chocs. Le

fait que le lithium soit considéré comme matériel dangereux lors du son transport n’aide

pas non plus, puisque la plupart des compétitions de la Robocup sont à l’extérieur du

Canada. Autre point, les piles au NiMH offre un excellent courant de décharge maximal,

tandis que les deux autres semblent être légèrement inférieur. Les moteurs utilisés

présentement par les robots peuvent exigés un courant de 10 ampères lorsque les roues

sont bloqués, il faut donc que les piles puissent prendre un tel courant. Après ces

réflexions, notre choix c’est arrêté sur les piles de type D, 1.2 Volts, au NiMH, pour sa

robustesse, sa facilité à créer des batteries de piles qui nous donnerait la tension désirée,

pour son prix raisonnable et son courant de décharge élevé. Les piles pourront être

achetées chez un fournisseur de Laval nommé Agence RCL. Le prix pour un ensemble

de 24 Volts, pour des piles de capacité 9500 mAh est de 426.00 $ tandis que les

ensembles de 48 Volts sont au coût de 852.00 $. Les piles choisis dont de la compagnie

Saft et sa fiche technique est disponible dans l’annexe de ce présent document.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

23

3.5 Choix du chargeur

Maintenant que le type de piles a été choisi, il faut trouver un chargeur adéquat. Il

devra pouvoir chargé un ensemble de piles formant un bloc de 24 Volts et devra être en

mesure d’effectuer la recharge de façon conventionnelle, c’est-à-dire avec un courant de

charge plus faible, inférieur à 0,1C et avec un courant de charge plus élevé, lorsque

l’équipe de robofoot voudra charger les piles en catastrophe lors d’une compétition. Pour

bien faire, le chargeur devrait même pouvoir charger un ensemble de piles représentant

une tension de 48 Volts, dans le cas où la technologie de moteur actuelles serait

remplacée par une autre demandant une plus grande tension, donc pouvant tourner plus

vite. Le chargeur trouvé provient de la compagnie AstroFlight, c’est le 112 Deluxe

Charger/discharger. Il est au coût de 129.95 US.

FIGURE 11. 112 DELUXE CHARGER/DISCHARGER

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

24

Tableau 3. Description du 112 Deluxe Charger/Discharger

Comme le tableau indicative le mentionne, il peut charger jusqu’à 40 piles à la

fois, ce qui correspond au nombre de piles nécessaire pour avoir un ensemble fournissant

une tension de 48 Volts.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

25

3.6 Modélisation

3.6.1 Hypothèse

Dans la conception du robot omnidirectionnel nous avons négligé certains aspects

pour en simplifier le modèle théorique. Nous avons d’abord négligé la friction des roues

au sol en considérant un coefficient de friction parfait, sans perte. Nous ne considérerons

que deux composantes de friction, le frottement visqueux, proportionnel à la vitesse du

moteur et le frottement constant qui s’oppose à la direction de l’arbre du moteur.

De plus, nous avons négligé le fait que la lecture des données se fait de façon

discrétisée. La lecture électronique engendre un phénomène de discontinuité qui crée une

erreur lors de l’interprétation des résultats en raison du délai sur la lecture des données.

Parce que la lecture se fait à un intervalle de temps non nul, les données du robot sont

rafraîchies de façon saccadée. De ce fait, le traitement de l’information n’est pas fait par

rapport aux données vérifiables du robot. Dans notre analyse, nous supposons que la

lecture des données se fait assez rapidement pour négliger cette erreur étant donnée la

rapidité du système électronique. La constante de temps électronique est donc ignorée et

ceci ne sera perçu que comme une légère perturbation au système.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

26

3.6.2 Cinématique

La cinématique permet de faire le lien entre trois systèmes de repère. Nous

traiterons chacun des trois types de système. Le premier est le système de coordonné

local, composé de données exprimées en x, y et w. Le deuxième est le système de

coordonnée globale composée de données exprimées en X, Y et w. Le troisième système

de repère est composé de données exprimées sur chacune des quatre roues. En effet,

chaque roue possédant sa vitesse et son accélération agit sur la plateforme qui possède

elle-même une vitesse et une accélération propre. D’ailleurs, chaque élément sur l’axe x,

sur l’axe y de même que sur l’axe w est dû au élément de chacune des roues.

Avant d’étudier les systèmes, jetons d’abord un œil sur le roulement d’une roue

omnidirectionnelle. Voici une image montrant la projection des vitesses sur la roue.

FIGURE 12. ROULEMENT D’UNE ROUE OMNIDIRECTIONNELLE

Vitesse roues secondaire

Vitesse roue principale

Vitesse résultante

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

27

Nous observons que la vitesse résultante de la roue est l’hypoténuse formée par la

vitesse de la roue principale et de la vitesse des roues secondaire. Nous remarquons

également que la vitesse maximale de déplacement de la roue est lorsque celle-ci est

inclinée comme illustré. La vitesse maximale est donnée par

)max(2)max()max(max 22 rouevitrouevitrouevitVit ⋅=+=

D’autre part, les forces (ou accélération) agissant sur le système ne sont pas

calculées de la même manière que précédemment. En effet, les roues secondaires ne

créant aucune force, nous ne les considérons pas dans l’addition vectorielle. Voici une

image montrant la projection des forces (ou accélération) sur la roue.

FIGURE 13. FORCE SUR UNE ROUE OMNIDIRECTIONNELLE

Force roues secondaires

Force roue principale

Vitesse résultante

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

28

Comme nous l’observons, il n’a aucune force (accélération) exercée par les roues

secondaires. En effet, ces roues ne sont pas dotées de moteurs. La force (accélération)

résultante est donc l’unique projection de la force exercée par la roue principale.

Nous remarquons que la force maximale exercée par la roue est lorsque celle-ci

est inclinée comme illustré. Cependant, contrairement aux vitesses, les forces

s’additionnent vectoriellement. La force résultante est donc l’ensemble des forces

appliqué par chacune des roues. La force résultante maximale observée sur le robot,

selon la géométrie actuelle, est

δcos4max_ ⋅=Acc

Nous verrons dans les sections suivantes les équations qui permettent de passer

d’un système de repère à un autre. Nous divisons le travail en deux parties, la

cinématique directe et la cinématique inverse. La première partie, la cinématique directe,

se compose de trois sous section. D’abord, nous analysons les équations qui régissent la

cinématique directe du système. Nous voyons ensuite l’influence de la disposition des

roues sur les performances de la plateforme. Nous étudions finalement les notions des

différents systèmes de coordonnées et repère qui existent. La deuxième partie, la

cinématique inverse, propose une solution pour permettre le d’effectuer les opérations

inverse de la cinématique directe. Les explications sont accompagnées d’exemples afin

des mieux comprendre le fonctionnement de chacune des parties.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

29

3.6.2.1 Cinématique directe

Le modèle cinématique directe permet de trouver l’effet des composantes de

vitesses et accélérations de chacune des roues agissant sur la plateforme elle-même. Le

système possède donc 4 entrées et 3 sorties, soit respectivement les données recueillies

aux quatre roues qui sont transformées en composantes x, y et w. Ce système est

surdéterminé puisqu’il comporte plus d’entrées que de sorties. De ce fait, il n’existe donc

qu’une seule combinaison de solution possible pour les composantes x, y et w. Notons

que la disposition des roues à une influence sur les éléments locaux du robot. Nous

analysons donc les équations de la cinématique directe selon la disposition des roues.

La cinématique directe peut-être employé à plusieurs effets, telle que la

conversion de forces, de vitesses ou d’accélérations. Voici une illustration du

fonctionnement du système de cinématique directe :

FIGURE 14. SYSTÈME DE CINÉMATIQUE DIRECTE

3.6.2.1.1 Disposition des roues

Les équations de la cinématique directe dépendent de la disposition des roues. La

figure ci-dessous représente de façon géométrique les forces et vitesses par chacune des

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

30

roues engendrées sur la plateforme omnidirectionnelle. Le sens des flèches indique le

sens positif de l’axe.

FIGURE 15. DISPOSITION DES ROUES ET DISTRIBUTION DES FORCES, VITESSES

Les moteurs sont disposés à un angle δ par rapport à l’axe x local de la plateforme

elle-même. Nous obtenons donc les équations de cinématique directe pour des vitesses,

exprimées dans la matrice TVcd:

T

CD

ROUESCDLOCAL

RRRR

TV

VTVV

−−

−−

=

⋅=

4

1

4

1

4

1

4

12

cos

2

cos

2

cos

2

cos2

sin

2

sin

2

sin

2

sin

δδδδ

δδδδ

où δ est l’angle de disposition des moteurs et V est un vecteur contenant les données de

vitesse dans le système de repère donné.

y N (w)

f3(v2)

f4(v2)

f2(v2)

f1 (v1)

δ x

δ

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

31

Nous obtenons aussi les équations de cinématique directe pour les forces, exprimées dans

la matrice TFcd:

T

CD

ROUESCDLOCAL

RRRR

TF

FTFF

−−

−−

=

⋅=

1111coscoscoscos

sinsinsinsin

δδδδδδδδ

Où δ est l’angle de disposition des moteurs et F est un vecteur contenant les données des

forces dans le système de repère donné.

Il est important de noter que l’agencement des moteurs à une influence sur les

performances de la plateforme, puisque l’élément est dépendant de l’angle des moteurs.

Plus l’angle δ est petit et plus d’assignations est fait à l’axe y au détriment de l’axe des x

puisque les composantes de forces et vitesse des roues sont orientées cet axe. Cet effet

est également vrai sur l’axe des x lorsque l’angle δ est grand. Pour avoir un juste milieu,

sur le prototype, nous avons choisi un angle δ de 45˚ qui rend la disposition des moteurs

symétrique par rapport aux deux axes de la plateforme. Les performances disponibles

sont donc réparties également dans les deux dimensions possibles.

3.6.2.1.2 Exemple de cinématique directe

Prenons l’exemple de notre prototype où les moteurs sont positionnés avec un

angle δ de 45˚. Sachant que les roues 1 à 4 ont des vitesses respective de [0 -1 0 1] m/s,

il est possible de trouver les vitesses locales x, y et w.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

32

FIGURE 16. EXEMPLE DE CINÉMATIQUE DIRECTE

À partir de la matrice Tcd, nous trouvons les vitesses locales suivantes

=

−−

−−

=

02

22

2

4

1

4

1

4

1

4

12

cos

2

cos

2

cos

2

cos2

sin

2

sin

2

sin

2

sin

4

3

2

1

w

y

x

V

V

V

V

RRRR

w

y

x

T

δδδδ

δδδδ

Le robot se déplace donc avec une vitesse de 22 en sur l’axe des x et 22 sur l’axe

des y dans le système de repère local. Nous pouvons trouver calculer l’angle de

déplacement ψ, soit l’angle d’azimut à l’aide du calcul suivant.

=∠x

y

�2arctanψ

Nous trouvons donc que le robot se déplace avec un angle de 45°, dans son système de

repère local.

yN

(w)

f3(v2)

f4(v2)

f2(v2)

f1 (v )

45°

x45

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

33

3.6.2.2 Coordonnées et repère

Le contrôle du robot omnidirectionnel se fait selon deux repaires orthonormés : le

repère local du robot et le repère global. Le premier est situé au cœur même du robot

alors que le second représente l’environnement où le robot se déplace. Notons qu’une

donnée mesurée dans le repère local est représentée par une lettre minuscule alors qu’elle

est représentée par une lettre majuscule lorsqu’elle est mesuré dans le repère global.

L’azimut que forme le repère local avec le repère global est symbolisé par Ψ. On peut

représenter les deux repères selon les schémas suivants :

FIGURE 17. REPRÉSENTATION ET RELATION ENTRE LES DEUX REPÈRES LOCAL ET

GLOBAL

Pour faire cette transformation, il suffit de passer par la matrice de conversion RΨ

montrée ci-dessous qui fait le lien entre les coordonnées locales et globales.

Repère local du robot

Y

X

y

Ψ=45˚

Repère global

x

x

y N (w)

f3(v2)

f4(v2)

f2(v2)

f1 (v1)

δ

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

34

=

Ψ=

Ψ

100

0cossin

0sincos

ψψψψ

R

SRS LOCALGLOBAL

Où Ψ est l’angle d’azimut que forme le repère local du robot avec le repère global et S un

vecteur contenant les données dans le système de repère désiré. Cette méthode est valide

autant pour la conversion des positions, vitesses, des forces et accélérations.

Voici une illustration du modèle de conversion global à local :

FIGURE 18. MODÈLE DE CONVERSION GLOBAL À LOCAL

Notons que pour passer des éléments exprimés dans le système de repère global au

système de repère local, il faut faire l’opération inverse soit

−=

−Ψ=

Ψ

100

0cossin

0sincos

1

ψψψψ

R

SRSGLOBALLOCAL

Voici une illustration du modèle de conversion local à global :

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

35

FIGURE 19. MODÈLE DE CONVERSION LOCAL À GLOBAL

3.6.2.2.1 Exemple de conversion du repère local à global

La figure ci-dessous présente le robot avec un angle Ψ azimut de 60˚. Sachant

que nous avons une vitesse sur chaque roue de [-0.9659 0.2588 0.9659-0.2588] m/s, il est

d’abord possible de trouver les vitesses locales puis ensuite les vitesses de chacune des

roues.

FIGURE 20. CINÉMATIQUE AVEC UN ANGLE AZIMUT DE 60º

Avec le robot placé dans cette orientation, nous obtenons donc les vitesses locales

suivantes.

x

y N (w)

f3(v2)

f4(v2)

f2(v2)

f1 (v1)

δ

Ψ=60˚ X

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

36

−=

−−

−−

=

02

35.0

2588.0

9659.0

2588.0

9659.0

4

1

4

1

4

1

4

12

cos

2

cos

2

cos

2

cos2

sin

2

sin

2

sin

2

sin

w

y

x

T

w

y

x

V

V

V

RRRR

V

V

Vδδδδ

δδδδ

Pour ensuite trouver les vitesses globales

=

−⋅

=

−⋅

=

⋅=

Ψ

0

0

1

02

35.0

000

02

1

2

3

02

3

2

1

02

35.0

100

060cos60sin

060sin60cos

w

y

x

W

Y

X

R�

Le robot se déplace donc à une vitesse sur de 1m/s par rapport à l’axe des X du système

de repère global.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

37

3.6.3 Cinématique Inverse

Le modèle cinématique inverse est employée pour trouver les données sur

chacune des roues à partir des données locales. Ce système possède trois entrées et

quatre sorties soit respectivement, les valeurs en x, y et w à l’entrée et les valeurs de

chacune des quatre roues à la sortie. Voici une illustration du modèle cinématique

inverse :

FIGURE 21. MODÈLE DE LA CINÉMATIQUE INVERSE

Pour la cinématique inverse, nous étions confondus entre deux modèles différents.

Certains ouvrages proposent une solution alors que d’autre en propose une autre. Nous

croyons que le calcul est différent dépendamment si l’on travail avec des vitesses ou des

accélérations. En effet, les vitesses sont considérées comme des scalaires alors que les

forces sont considérées comme des vecteurs. De ce fait, la somme des vitesses et des

forces ne se fait pas de la même manière. Ainsi, lorsque l’on fait la somme des vitesses,

on ne les additionne pas sur un même axe, il faut plutôt que ces vitesses soient égales.

D’autre part, lorsque l’on fait la somme des forces, on additionne les forces sur un même

axe. Il en découle donc deux cinématiques inverses différentes.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

38

La cinématique inverse pour les vitesses n’admet pas une infinité de solutions.

Elle se calcul de façon trigonométrique. Voici les équations qui résument la relation

entre les vitesses locales et les vitesses de chaque roue.

T

CI

LOCALCiROUES

LLLL

V

VTVV

−−

−−

=

⋅=

2/2/2/2/

coscoscoscos

sinsinsinsin

δδδδδδδδ

Ce qui donne

2

cossin

2cossin

2cossin

2cossin

4

3

2

1

ψδδυ

ψδδυ

ψδδυ

ψδδυ

���

���

���

���

Lyx

Lyx

Lyx

Lyx

++=

+−=

+−−=

++−=

Puisque la cinématique inverse pour les forces se calcul de façon vectoriel, le

système comporte plus de sortie que d’entrée, nous avons affaire à un système sous

déterminé qui permet une infinité de solution. Il nous faut donc choisir une solution

parmi l’ensemble de solution pour résoudre le système d’équation. D’ailleurs, il est

impossible de faire l’inverse de la matrice puisqu’elle n’est pas carrée. Pour remédier à

cette situation, nous avons recourt à la pseudo-inverse, aussi connue sous le nom de

Moore-Penrose. Cette méthode donne la solution aux moindre carrés, ce qui donne la

solution avec le moins de pertes vectoriel. Cette méthode ressort donc la solution

optimale pour accomplir la demande.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

39

Voici une illustration d’une addition vectorielle. La méthode pseudo inverse

permet de minimiser les pertes vectorielles pour atteindre l’objectif. Puisque chaque roue

est placée dans une orientation spécifique, nous pouvons additionner vectoriellement les

composantes.

FIGURE 22. ADDITION VECTORIEL

Voici les équations cinématique inverse en utilisant la méthode de la pseudo-inverse,

représenté par +CIT .

( ) 1−+⋅⋅= TFTFTFTF

T

CDCD

T

CDCI

Ce qui est équivalent à

V3

V2

V4

Vecteur V désiré

V1

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

40

−−

−−

=+

2/2/2/2/

coscoscoscos

sinsinsinsin

LLLL

pseudoTF CIδδδδ

δδδδ

Le résultat dans Maple ressort le résultat suivant

( ) ( ) ( ) ( )

−−

−−

=+

4

2

4

2

4

2

4

22

cos

2

cos

2

cos

2

cos2

sin

2

sin

2

sin

2

sin

LLLL

TF CI

δδδδ

δδδδ

Bref, le système est donc exprimé par

FTFF LOCALCIroues⋅

+

=

La cinématique inverse, pour l’accélération, nous donne donc :

( ) ( )

( )

( )

( )

4

2cossin

4

2cossin

4

2cossin

4

2cossin5.0

4

3

2

1

ψδδ

ψδδ

ψδδ

ψδδ

���

���

���

���

LyxF

LyxF

LyxF

LyxF

+⋅+⋅=

+⋅−⋅=

+⋅−⋅−=

+⋅+⋅−⋅=

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

41

3.6.4 Dynamique

Le modèle dynamique permet de rendre la modélisation encore plus réaliste en

tenant compte des effets de force et d’accélération. Sans modèle dynamique, le système

ne tient pas compte des états de transition et ne représente donc pas bien le comportement

réel du robot. Dans ce travail, nous avons considéré deux systèmes dynamiques, d’une

part le modèle dynamique imposé par la plateforme elle-même et les lois de Newton qui

la régissent. D’autre part le modèle dynamique des moteurs avec leurs forces de frictions

constantes et visqueux.

3.6.4.1 Dynamique de la plateforme

La dynamique de la plateforme tient compte de l’inertie de la plateforme et de la

masse du robot. Nous analyserons donc les équations qui forment ce modèle. Voici un

aperçu du modèle dynamique de la plateforme

FIGURE 23. MODÈLE DE LA DYNAMIQUE DE LA PLATEFORME

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

42

La première équation que l’on peut déduire à partir de la seconde loi de Newton

stipule que la somme des forces est égale au produit de la masse du corps et de son

accélération∑ =maF . Cette relation est valide dans le repère global du robot. Posons

Sglobal = [ P_X P_Y]T, nous avons

(1) GLOBALGLOBAL SMF ��⋅=

où FGLOBAL est un vecteur force dans le système de repère de coordonnée global appliqué

au centre de masse du robot et M est une matrice diagonale de masse m du robot.

En introduisant la matrice de transformation inverse de rotation RΨ-1 suivante

(2)

=

−=

Ψ

100

0cossin

0sincos

100

0cossin

0sincos1

1 ψψψψ

ψψψψ

R

Puisque la matrice RΨ-1 est une matrice de rotation, nous pouvons dire que

T

RR Ψ

Ψ=

1

Nous passons des coordonnées de repère global aux coordonnées de repère local, nous

avons

(3) LOCAL

T

GLOBAL FRF ⋅= Ψ

(4) LOCAL

T

GLOBAL SRS �� ⋅= Ψ

où SLOCAL = [x y] soit un vecteur de position et FLOCAL = [Fx Fy] appliqué au centre de

masse du robot, tout deux exprimé dans le système de repère de coordonnée local.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

43

En dérivant l’équation ci-dessus, nous obtenons par dérivation partiel :

( ) ( )LOCAL

T

LOCAL

T

GLOBAL SRSRS ���� δδ ⋅+⋅= ΨΨ

LOCAL

T

LOCAL

T

GLOBAL SRSRS ������ ⋅+⋅= ΨΨ

En égalisant les équations (3) et (1), nous avons

LOCAL

T

GLOBALGLOBAL FRSMF ⋅=⋅= Ψ��

( ) LOCAL

T

LOCAL

T

LOCAL

TFRSRSRM ⋅=⋅+⋅⋅ ΨΨΨ

����

En isolant LOCALF , les forces représentées dans le système de repère local, nous obtenons

( )LOCAL

T

LOCAL

T

LOCAL SRRSRRMF ���� ⋅⋅+⋅⋅⋅= ΨΨΨΨ

Calculons la valeur de TRR ΨΨ ⋅ �

=

−−

−=⋅ ΨΨ

000

001

010

000

0sincos

0cossin

100

0cossin

0sincos

ψψψψψψψψ

ψψψψ

��

��

� TRR

En substituant dans l’équation précédente, nous obtenons alors

+⋅

⋅= LOCALLOCALLOCAL SSMF ���

000

001

010

Il est important d’observer que les forces engendrées sur robot ne dépendent non

seulement de l’équation de Newton où ∑ =maF mais aussi d’une composante

proportionnelle à la vitesse de rotation ψ� .

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

44

Nous obtenons donc les forces suivantes exprimées dans le système de repère

local du robot :

( )ψ���� yxmFx −=

( )ψ���� xymFy +=

ψ��⋅= robotw IM

où l’inertie du robot Irobot est estimé être un disque homogène plein, soit 2

22

1

⋅L

m

En utilisant la matrice TCD précédente, il est également possible d’obtenir la

résultante des forces exercée par chacune des roues f1, f2, f3 et f4 exprimé dans le système

de repère local :

−−

−−

=

4

3

2

1

2222

coscoscoscos

sinsinsinsin

f

f

f

f

LLLLM

F

F

T

w

y

x

δδδδ

δδδδ

Nous pouvons ainsi établir une égalité entre ces deux équations :

4321 2

2

2

2

2

2

2

2ffffFx ++−−=

4321 2

2

2

2

2

2

2

2ffffFy +−−=

4321 2222f

Lf

Lf

Lf

LM robot +++=

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

45

3.6.4.2 Dynamique des moteurs

FIGURE 24. DYNAMIQUE DES MOTEURS

Il existe plusieurs modélisations d’un moteur courant continu. Celle utilisé

présente des équations qui respecte raisonnablement la dynamique du moteur à tension

continue. Voici une illustration du fonctionnement d’un moteur DC.

FIGURE 25. SCHÉMA DU SYSTÈME MOTEUR

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

46

L’équation exprimant le couple τ produit par un moteur, sans tenir compte du

couple de friction constant, en régissant les divers paramètres du moteur s’énonce comme

suit:

ωβατ −= U

où U est la tension appliqué aux bornes du moteurs et ω la vitesse développé par l’arbre

du moteur en rad/s.

Les constantes α (Nm/V) et β (Nm/rad/s) sont données par :

TR

K1=α et TR

KK 21 ⋅=β

avec : K1 (Nm/s) constante de couple du moteur

K2 (V/rad/s) constante électrique du moteur

Rt (ohms) résistance interne du moteur.

La force générée par le moteur, en ajoutant la force de friction, est donnée par l’équation

suivante :

f = αU-βυ-ff

où f (N) est la force développé par le moteur DC et υ (m/s) est la vitesse tangentielle

d’une roue et ff la force de friction constante, qui est opposé au mouvement.

Les constantes α (N/V) et β (N/(m.rad/s) sont données par :

aT RR

nK1=α 2

212

aT RR

KKn ⋅=β

où n est le rapport d’engrenage et Ra le rayon de la roue.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

47

3.6.4.3 Dynamique totale

À l’aide des deux modèles présentés, nous pouvons régir le comportement réel de

la plateforme. En regroupant toutes les équations qui régissent la dynamique de la

plateforme et des moteurs, nous obtenons donc le système suivant :

FIGURE 26. DYNAMIQUE TOTALE

À l’aide de MapleV, nous avons calculé les équations qui régissent la dynamique

totale du système. Le ficher dynamique.mw est présenté en annexe. Voici les résultats

obtenu en exécutant ce fichier.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

48

( ) ( ) ( ) ( )[ ]

( )( )[ ]432121

44332211

cos4cos3coscos

sinsinsinsin1

VVVVVVVV

FfxUFfxUFfxUFfxUm

x

++++−−+

−−−−−+−−−−−−=

δδδδ

δβαδβαδβαδβα ������

( ) ( ) ( ) ( )[ ]

( )( )[ ]432121

44332211

sin4sin3sinsin

coscoscoscos1

VVVVVVVV

FfxUFfxUFfxUFfxUm

y

+++++−−−

−−+−−−−−−−−=

δδδδ

δβαδβαδβαδβα ������

( ) ( )[ ]FfxxxxUUUUL

Iw

robot

42

143214321 −+++−+++= ������ βα

où comme dis précédemment,

aT RR

nK1=α 2

212

aT RR

KKn ⋅=β Irobot =

2

22

1

⋅L

m

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

49

3.6.5 Contrôleur

Le choix d’un type de contrôleur n’est pas une partie facile. En effet, à cause des

contraintes non-homologues, il n’existe aucune loi linéaire continue et lisse qui résout le

système. Nous sommes donc obligés de faire deux contrôleurs, une à cinématique

classique et l’autre qui contrôle l’erreur. Un autre contrôleur peut également être

introduit pour contrôler le glissement. Or, dans notre modélisation, nous considérons

qu’il ne se produit aucun glissement. Nous n’avons donc pas incorporé ce type de

contrôleur.

Après avoir lu beaucoup d’ouvrage traitant sur les contrôleurs, nous vous

présentons une synthèse des différents types de contrôleurs qui existent.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

50

3.6.5.1 Contrôleur vitesse simple

Ce contrôleur permet de contrôler en vitesse du robot. Le gain PID est appliqué

sur l’erreur de chacune des roues. Or, cette erreur peut provenir d’une erreur de

translation ou d’une erreur de rotation. Cette méthode ne permet donc pas de distingué la

commande selon le type de contrôle désiré, soit en translation ou en rotation.

FIGURE 27. CONTRÔLEUR SIMPLE EN VITESSE

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

51

3.6.5.2 Contrôleur de vitesse PID rotation & translation

Ce type de contrôleur de vitesse divise la commande en deux parties distinctes. Il

comporte donc deux modules PID, l’un contrôle la translation et l’autre contrôle la

rotation. La commande des deux contrôleurs est additionnée et envoyé au reste du

système.

FIGURE 28. CONTRÔLEUR DE VITESSE PI TRANSLATION & PD ROTATION

3.6.5.3 Notion de normalisation

Dans les modèles de contrôleur en vitesse précédent, nous observons que la

commande envoyée dans le module dynamique est multiplié par les gains du module

PID. Or, le système ne tient pas compte de la vitesse maximale que peut atteindre le

robot. Une façon de faire serait de placé un module à l’entré du module dynamique qui

sature la tension 24V. Un autre module peut être placé à l’entrée du modèle cinématique

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

52

inverse afin de saturer la vitesse désirée à la vitesse maximale du robot. Or, ces solutions

ne donnent pas des résultats performants. En effet, l’insertion des modules de saturation

vient introduire une distorsion dans les commandes et les ordres perdent alors leurs sens.

Ceci a pour effet de nuire aux performances du robot en saturant les commandes envoyé

aux moteurs; le robot ne se comporte pas proportionnel aux variations des commandes Ce

problème est causé par la saturation des moteurs en vitesse alors que la partie commande

ne tient pas compte de cette saturation. De ce fait, l’erreur en vitesse augmente de même

que l’ordre de grandeur de la commande, qui n’affecte pas les moteurs déjà en saturation.

Pour remédier à ce phénomène, nous devons introduit la notion de normalisation

qui tient compte de la vitesse maximale que peut atteindre le robot. Définissons d’abord

la vitesse maximale de déplacement de la plateforme par vit_max et la vitesse maximale

d’une roue par vit_max_roue. Puisque nous désirons contrôler le robot par rapport au

système de repère local, il faut rapporter cette saturation des moteurs aux déplacements

de la plateforme. Comme vu précédemment, la vitesse sur chacun des roues est donnée

par les équations suivantes.

2

cossin

2cossin

2cossin

2cossin

4

3

2

1

ψδδυ

ψδδυ

ψδδυ

ψδδυ

���

���

���

���

Lyx

Lyx

Lyx

Lyx

++=

+−=

+−−=

++−=

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

53

Or, si nous fonctionnons à plein régime, en raison de la disposition des roues, la

vitesse de déplacement de la plateforme est dépendante de l’angle de déplacement et de

l’angle d’azimut de celle-ci. Dans l’image ci-dessous, la vitesse de déplacement

maximale correspond au périmètre du carré. La vitesse maximale du robot peut être

représentée par la longueur d’une droite comprise dans ce carré, dont l’orientation est le

même que l’angle de déplacement.

FIGURE 29. VITESSE MAXIMALE DE DÉPLACEMENT EN FONCTION DE LA DIRECTION

DU ROBOT

vit_max

x

y

θ

rouevit max__2 ⋅

vit_max_roue

direction

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

54

Si nous considérons la section qui est dans le cadran droite-haut, la vitesse maximale est

défini cette partie du périmètre donnée par l’équation

xrouevity −= 2*max__

En coordonnée polaire, nous pouvons poser que

22

)sin(

)cos(

yxr

ry

rx

+=

=

=

θθ

Nous trouvons ainsi l’équation, en coordonnée polaire

)cos()sin(

2*max__

θθ +=

rouevitr

Où l’angle de direction θ est donnée par

=

xy�

�2arctanθ

Ainsi, la vitesse maximale du robot vit_max en fonction de l’angle de direction θ.

Pour vérifier cette équation, nous avons fait tracer le graphique polaire avec le script

suivant, en supposant une vitesse maximale aux roues vit_max_roue de 2m/s.

>

> with(plots):

> vitmaxroue := 2 :

> plotæçè

vitmaxroue $ sqrt (2 )

sin ( t )C cos ( t ), t = 0 ..

p

2, coords =

polarö÷ø;

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

55

Le graphique obtenu ci-dessous est bien celui que nous nous attendions.

L’équation trouvé est donc exact, il faut simplement reporter la logique dans les trois

autres cadrans afin de compléter le périmètre du carrée.

FIGURE 30. GRAPHIQUE DE VITESSE MAXIMAL SELON DÉPLACEMENT

Nous avons étudié la vitesse maximale et ces limites par rapport à la plateforme.

Étudions maintenant la vitesse maximale par rapport à la saturation des moteurs sur

chaque roue. De façon générale, une roue peut être plus sollicitée que les autres afin de

suivre la demande en vitesse de rotation et de translation du robot. La figure ci-dessous

illustre ce phénomène; la roue indiquée est la plus sollicitée.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

56

FIGURE 31. VITESSE MAXIMALE PAR RAPPORT AUX VITESSES DE ROTATION ET

TRANSLATION

Ici, la vitesse de la plateforme est limité par la vitesse de saturation de la roue par

l’égalité ψ��� Ryx dd ++ 22 < vit_max_roue. Cette égalité est vraie pour cette direction

seulement. Pour généralisé l’équation et s’assurer que nous dépassons jamais la vitesse

de saturation des roues, il s’ensuit que la vitesse de déplacement de la plateforme est

limitée par ψ�+max_vit < vit_max_roue.

La normalisation permet donc de tenir compte de la vitesse maximale que peut

atteindre chacune des roues. Pour ce faire, la normalisation distribue les vitesses aux

roues en fonction du facteur de poids accordé aux vitesses désirées, cela tout en tenant

compte des vitesses maximales que peut atteindre les roues.

vitesse de rotation ψ’

Vitesse de translation

22dd yx �� +

22dd yx �� + + Rψ’

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

57

Pour que le système soit asservi de façon continue, nous devons normaliser

seulement les vitesses désirées qui sont supérieure à la vitesse maximale permise.

Comme nous le verrons dans les résultats, la trajectoire du robot est alors nettement

améliorée et converge plus rapidement vers la cible. Voici l’équation normalisation que

nous avons développé pour effectué cette tâche :

( )( )( )dddd

dddd

dddd

Ryx

Ryxyy

Ryxxx

ψψψ

ψ

ψ

�����

�����

�����

++=

++=

++=

22

22

22

Voici le code utilisé pour concevoir le module de normalisation. Ce code est implanté

dans un bloc imbriqué (embedded MATLAB fonction).

%Longeur entre deux roues opposees

L=0.4;

%vitesse maximale

vit_max=3.5;

y=zeros(3,1);

if(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3))~=0)

if(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3))>vit_max)

y(1)=u(1)*vit_max/(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3)));

y(2)=u(2)*vit_max/(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3)));

y(3)=u(3)*vit_max/(sqrt(u(1)^2+u(2)^2)+(L/2)*abs(u(3)));

else

y(1)=u(1)

y(2)=u(2)

y(3)=u(3)

end

else

y=zeros(3,1);

end

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

58

3.6.5.4 Optimisation de la vitesse de déplacement avec l’angle d’azimut

Comme nous venons de le voir, la vitesse de déplacement est fonction de l’angle

de déplacement. Malgré que l’angle de déplacement θ soit imposé par les vitesses

désirées yetx �� où ( )xy ��2arctan=θ , il est toutefois possible de modifier l’angle

d’azimut ψ pour ainsi changer l’orientation du robot afin d’obtenir une vitesse optimal.

Reprenons la figure qui montre la vitesse maximale du robot en fonction de l’angle de

déplacement. Nous pouvons découper cette figure en quatre sections et identifier les

extrémums de chacune des sections par une étoile. Il suffit ensuite d’orienté le robot de

façon à placer une étoile, qui représente la vitesse optimal, dans la direction de

déplacement du robot. Il faut toutefois utiliser cette méthode avec réserve, car elle

produit un gain de vitesse au détriment de modifier l’angle azimut désirée, ce qui n’est

pas souhaitable. Nous croyons qu’il est cependant souhaitable d’atteindre la cible au plus

vite avant de s’orienté de la bonne manière. Ainsi, ce module est activé seulement

lorsque la vitesse désirée est supérieur à la vitesse maximale. Une fois que le robot est

proche de la cible, c’est à dire que la vitesse est inférieur à la vitesse maximale, nous

désactivons ce module pour que le système reprenne son fonctionnement normal et

s’oriente dans l’angle azimut original.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

59

Voici une illustration du mode de fonctionnement ce processus.

FIGURE 32. OPTIMISATION DE LA VITESSE DE DÉPLACEMENT AVEC L’ANGLE

D’AZIMUT

En définissant l’angle azimut parψ , l’angle azimut modifié par mψ , l’angle de la

position de la vitesse optimale de la section i par rapport au repère global par i∗ et l’angle

de direction parθ . Voici les étapes pour arriver à l’angle azimut modifié :

vit_max

x

y

θ

rouevit max__2 ⋅

Section 2

Section 3

Section 4

Section 1

direction

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

60

Rapporter l’angle de direction au repère local de la façon suivante

ψθθ −=m

Prendre le reste de la division par 45 degré pour trouver l’étoile la plus proche

)45,mod( mθ

L’angle mψ est donc la valeur )45,mod( mθ moins l’angle ψ

ψθψ −= )45,mod( mm

Voici le script à l’intérieur du bloc imbriqué du model MatLab qui permet l’optimisation

de la vitesse.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

61

3.6.5.5 Contrôleur de vitesse avec normalisation de la vitesse désirée

Ce contrôleur est pareille au contrôleur de vitesse simple à l’exception que le

module de normalisation est placé à l’entré du système. Avec l’ajout de ce module, les

vitesses commandées sont de même ordre de grandeur que les vitesses réelles présent à la

boucle de rétroaction. La boucle de rétroaction est donc uniformisée et les résultats

seront meilleurs.

FIGURE 33. CONTRÔLEUR DE VITESSE AVEC NORMALISATION

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

62

3.6.5.6 Contrôleur simple de position

Ce contrôleur permet la commande en position du robot dans le système de

coordonné global. Il est constitué d’un contrôleur en vitesse imbriqué dans une boucle de

rétroaction négative. Ce contrôleur comporte les mêmes défauts que celui du contrôleur

en vitesse en plus d’introduire une erreur sur la position.

FIGURE 34. CONTRÔLEUR SIMPLE DE POSITION

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

63

3.6.5.7 Contrôleur en position avec normalisation de la vitesse désirée

Ce contrôleur permet aussi la commande en position du robot dans le système de

coordonné global. Pareil au modèle précédent, il est constitué d’un contrôleur de vitesse

normalisé imbriqué dans une boucle de rétroaction négative. Ce contrôleur est semblable

au contrôleur de position simple à l’exception que le module de normalisation est placé à

l’entrée du module contrôleur de vitesse avec normalisation.

FIGURE 35. CONTRÔLEUR DE POSITION AVEC NORMALISATION

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

64

3.7 Fonctionnement global

Afin de pouvoir mouvoir le robot dans un terrain de football et de lui permettre une

liberté de déplacement omnidirectionnel, le robot sera équipé d’un PC embarqué qui lui

permettra d’effectuer tous les calculs de déplacement nécessaires. Le PC s’occupera

également de tous les périphériques du robot, la web cam, aux calculs nécessaires à la

vision, communication avec les cartes de contrôles, avec le réseau sans fil etc. L’équipe

de robofoot possèdait déjà un PC que peut utiliser le robot, nous utiliserons donc ce

matériel pour le prototype, il s’agit d’un PC Viper 830.

Ce PC communique ensuite à une carte de contrôle, qui elle, s’occupe de

l’asservissement des moteurs. Cette carte agit comme le cerveau entre les moteurs et le

processus de calcul de déplacement, elle génère un profil de vitesse à suivre pour chacune

des roues du robot. C’est elle qui reçoit en rétroaction la vitesse des moteurs lues par les

encodeurs. Elle fait alors la différence entre la vitesse désiré par le robot et celle obtenue

à l’aide des encodeurs. En boucle fermée, cette différence est alors compensée par un

filtre PIDVff et une tension est alors générée pour atteindre la vitesse désirée. La tension

générée n’est pas une tension continue, il s’agit en fait de deux signaux qui servent à

générer une tension PWM (pulse width modulation). Il s’agit d’un signal PWM et un

autre qui indique le sens de rotation de la roue. Encore une fois, la carte qui est utilisée

sur le prototype appartenait déjà au groupe robofoot, il s'agit de la carte ACSTech 80,

model 5950B. Elle diffère cependant de celles qu’utilisaient l’ancienne génération de

robot, puisqu’elle peut gérer 4 axes différentes (moteurs) et les amplificateurs pont en H

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

65

ne sont pas compris sur la carte, tandis que celle utilisée par l’ancienne génération de

robot ne peut qu’en contrôler deux et incluait les amplificateurs.

Une fois que les signaux sont générés, ils doivent être traités par un autre module

afin de générer la tension adéquate aux moteurs et de l’amplifier afin que l’amplitude

maximal du signal PWM soit de 24 Volts, soit la tension de fonctionnement des moteurs.

Encore une fois, le type d’amplificateur utilisé nous a été suggéré par robofoot, puisqu’il

était déjà en sa possession, il s’agit donc du SERVO-BOOSTER Dual PWM Power

Amplifier PC/104 Card. Cette carte permet de recevoir l’amplitude et la direction d’un

signal PWM et de générer le signal nécessaire aux moteurs.

Étant donné que le robot possède diverses cartes embarquées et qu’il est équipé

d’une seule source d’alimentation, soit une batteries de piles fournissant une tension de

24 Volts, et que les cartes utilisés opèrent à différentes tensions, ±5 V, ±12 V, nous

devons utiliser un convertisseur DC-DC afin d’obtenir les diverses tensions nécessaires

au fonctionnement des cartes. Le convertisseur utilisé sera le PC/104 Véhicule Power

Supply.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

66

FIGURE 36. SCHÉMA BLOC DES COMPOSANTES ÉLECTRONIQUES DU ROBOT

3.7.1 Viper830

La carte Viper830 est équipée d’un processeur Pentium III 600 Mhz. Elle est

utilisée afin de pouvoir gérer toutes les périphériques du robot, tel que la webcam, le

disque dur contenant toutes les données ainsi que le réseau sans fil. On comprend

l’importance d’un processeur à l’intérieur du robot, puisqu’il agit comme le cerveau du

robot. Le PC effectue tous les calculs nécessaires, tant au niveau de la vision que pour les

déplacements désirés. Le PC doit également pouvoir soutenir un système d’exploitation

de haut niveau qui peut effectuer de la gestion en temps réel telle que linux. Le

processeur ce doit d’être très performant afin d’effectuer les calculs en temps réel pour la

génération de trajectoire. La carte est équipé d’un bus compatible PC104, ce qui est

nécessaire pour la communication entre les divers modules ajoutés telles que la carte de

contrôle et les amplificateurs pont en H. Elle possède également des ports USB qui lui

permet de prendre en charge une web cam. Elle permet donc de traiter les images

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

67

recueillis par la web cam afin de générer une vision au robot. Elle est également équipé

d’un port Ethernet qui lui assure une communication réseau possible.

3.7.1.1 Connexions à la carte

Les alimentations nécessaires au fonctionnement sont des tensions de , ±5V et

±12V. La web cam sera relié au PC via un port Universal Serial Bus (USB) et un câble

réseau permet de relié le port Ethernet de la carte à un WLAN qui permet de

communiquer avec le robot sans lisaison matériel, ce qui peut être pratique lors de

compétitions. Il est également possible de connecter un écran au PC ainsi qu’une souris

et un clavier qui permettent l’usage de l’interface du robot et d’avoir directement accès

aux données du PC. La communication entre le PC et la carte de contrôle ce fait via le

bus de données PC/104. Toutes les cartes utilisées dans la conception de ce prototype

sont compatible PC/104.

3.7.2 ACSTech80 Servo Controllers

Une fois que les calculs des tensions nécessaires et désirées au déplacement voulu

par le robot sont effectués par le PC, la carte de contrôle génère alors le signal PWM et le

signal de direction correspondant à cette tension. Elle permet également de recevoir en

contre réaction la vitesse actuelle de chaque moteur via les encodeurs. Cette contre

réaction permet d’asservir en boucle fermé le déplacement du robot. La carte utilisée

peut contrôller jusqu’à quatre axes différents.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

68

FIGURE 37. CARTE DE CONTRÔLE

La carte possède, également, un circuit PMD (Performance Motion Devices),

permettant d’asservir en position et en vitesse, par des compensateurs PID, quatre

moteurs DC, à balai. Autrement dit, elle nous offre la possibilité de faire un contrôle par

carte dédiée si désiré. Ainsi, nous pouvons, dépendamment des besoins et des

performances recherchées, décider de faire le contrôle soit par logiciel soit par carte

dédiée. La carte est de format PC/104, donc s’intègre facilement à l’ordinateur

embarqué. Cette carte requiert une alimentation de +5 V et ±12 V, elle sera fournie par le

convertisseur DC-DC. La figure suivante est un schéma bloc démontrant l’interaction

entre le PC, la carte 5950B et les moteurs.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

69

FIGURE 38. SCHÉMA BLOC DES CONNEXIONS ENTRE LA CARTE DE CONTRÔLE ET LES

MOTEURS

Cette figure illustre une bonne idée des connexions à réaliser pour contrôler les

moteurs, elle ne démontre toutefois pas la relation entre ces cartes et les amplificateurs

que notre prototype utilise. Les connexions réalisées pour notre prototype seront le sujet

d’une autre section du rapport, nous y référons donc le lecteur pour une y obtenir

davantage de précisions à ce sujet.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

70

3.7.2.1 Signal PWM (Pulse width modulation)

Voilà depuis quelques lignes déjà où le concept de PWM est abordé sans jamais

être expliqué, en voilà donc l’explication. Un signal PWM consiste tout simplement à un

signal contenant des impulsions à intervalles réguliers. Ces impulsions ont toutes la

même période.

FIGURE 39. ONDE CARRÉ

Pour une même période, la durée de l’impulsion (a) peu être plus ou moins

longue. Ce qui a pour effet de modifier la valeur moyenne du signal envoyé. En effet, on

calcul la valeur moyenne de ce type de signal à l’aide de l’équation suivante :

T

aAV

aAT

V

dttvT

V

moy

moy

T

moy

*

)0(1

)(1

0

=

−=

= ∫

On peut donc voir que la valeur moyenne du signal peut être contrôlée en variant

uniquement la valeur de a. Le but de contrôler la valeur moyenne du signal est de

pouvoir l’utiliser pour faire varier la vitesse à laquelle les roues tournent, tout en

alimentant les moteurs avec un tension de 24 Volts. Si on modélise un moteur électrique,

on se rend compte qu’il s’agit en fait d’un enroulement qui constitue une bobine et une

résistance, qui correspond à un filtre passe bas.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

71

FIGURE 40. MODÉLISATION D’UN MOTEUR

On peut développer en série de Fourier le signal d’impulsion en un paquet de raies

spectrales de diverses fréquences. Le moteur qui agit comme un filtre passe-bas coupe

les fréquences hautes et ne laisse passer que la valeur moyenne du signal. L’avantage

d’utiliser ce type de signal pour le contrôle en vitesse d’un moteur est qu’il diminue les

problèmes de chauffage qui apparaissent lorsqu’on utilise une alimentation en tension

continue. De plus, l’utilisation d’un signal PWM permet de pouvoir supporter une grosse

charge au niveau des moteurs, puisque les transistors du pont en H peuvent supporter de

grands courants ( 10 ampères).

3.7.3 Le pont en H

L'étage de sortie de tout servo-amplificateur est un circuit analogique. Celui-ci

permet d'ajuster la tension et le courant du moteur pour contrôler sa position, sa vitesse et

son couple. L’amplification du signal de commande peut s’obtenir soit à l’aide d’un

amplificateur linéaire soit d’un amplificateur pont en H. L’amplificateur linéaire

demande, cependant, plus d’énergie que l’amplificateur pont en H. Compte tenu de la

consommation énergique du robot qu’on cherche à minimiser et que l’équipe Robofoot

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

72

était déjà en possession de pont en H, nous avons donc utilisé un amplificateur pont en H

pour la réalisation du prototype. La carte utilisé est une Dual PWM Power Amplifier PC/

et il est composé de transistors MOSFET. Il a une dimension de 91 x 96 mm. La figure

suivante montre un schéma des composantes d'un servo-amplificateur pont en H typique.

FIGURE 41. AMPLIFICATEUR PONT EN H

Quand l'entrée PWM INPUT est active, dépendamment du bit de sens, le transistor

Q1 (ou Q2) est passant et le transistor Q3 (ou Q4) est bloqué. Ceci entraîne le moteur à

tourner dans un sens comme dans l’autre. Lorsque l'on arrête le moteur, et qu'il continu à

tourner avec l'inertie, il se comporte comme une génératrice. Chaque carte SERVO-

BOOSTER contient 2 amplificateurs pont en H et nous utilisons quatre moteurs, il nous

faut donc utiliser deux cartes.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

73

3.7.4 Connexion entre les cartes

3.7.4.1 Connexion entre le PC et les autres cartes

La communication entre les diverses cartes du « stack » et le PC se fait via le bus

PC/1004. Toutes les cartes possèdent ce bus et sont donc montées les unes sur les autres.

FIGURE 42. EMPILEMENT DES CARTES COMPATIBLE PC 104

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

74

3.7.4.2 Connexion entre la carte de contrôle et les amplificateurs

La carte de contrôle 5950B possède deux connecteurs de 50 broches par lesquels

chaque connecteur peut communiquer avec 2 moteurs (via les amplificateurs pour les

sorties).

FIGURE 43. CARTE DE CONTRÔLE

Comme la figure ci-haute l’indique, le connecteur J3 servira à la communication

entre les moteurs 1 et 2, tandis que le connecteur J4 servira à contrôler les moteurs 3 et 4.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

75

Le tableau suivant décrit toutes les entrées et sorites des deux connecteurs.

Tableau 4. Tableau des I/O de la carte de contrôle

Les sorties du contrôleur correspondent aux signaux d’entrées des amplificateurs,

cependant, comme nous utilisons un mode de contrôle par signal PWM et que la carte

permet également un contrôle analogue, nous n’utiliserons pas toutes les sorties. Celles

inutilisées seront donc laissées flottantes. Le tableau suivant correspond aux entrées des

amplificateurs.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

76

Tableau 5. Signal d’entrée des amplificateurs

Les broches 2 et 3 ne sont pas utilisés et comme ce sont des sorties on peut les

laissées flottantes. Les broches 4 et 5 correspondent à des bits d’arrêt d’urgence.

Cependant, nous n’utiliserons pas cette fonctionnalité de la carte amplificatrice. Nous

avons donc mis à la masse ces deux entrées afin qu’elles n’interfèrent pas au

fonctionnement du robot. Les entrées 6 et 7 correspondent aux signaux de contrôle du

moteur 2, elles sont donc reliés respectivement aux sorties 19 et 23, tandis que celles du

moteur 1 sont reliés aux broches 45 et 49.

FIGURE 44. CARTE SERVO-BOOSTER

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

77

Les mêmes branchements sont effectués pour les moteurs 3 et 4 sur une deuxième carte

d’amplification.

3.7.4.3 Connexion entre la carte de contrôle et les encodeurs

Comme mentionné précédemment, la carte de contrôle reçoit en rétro réaction des

signaux provenant des encodeurs de chaque moteur afin de pouvoir les asservir en

vitesse.

Broche No Couleur Connexion

1 Noir Masse

2 Vert Index/NC

3 Jaune Canal A

4 Rouge Vcc

5 Bleu Canal B

Tableau 6. Sortie de l’encodeur

La broche numéro 2 de la sortie de l’encodeur correspond à l’entrée du contrôleur

7 (33) tandis que les broches 3 et 5 correspondent aux signaux 3 (29) et 5 (31). Le

contrôleur possède d’autres entrées pour l’encodeur, mais elles ne sont utiles que pour

une connexion différentielle des encodeurs, ce qui n’est pas notre cas, nous les avons

donc laissées flottantes.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

78

3.7.4.4 Connexion entre la carte d’amplification et les moteurs

Les connexions entre la carte d’amplification et les moteurs est relativement simple

car elles n’impliquent que deux signaux en plus de l’alimentation (24 V et mise à la

terre).

Tableau 7. Sortie de la carte d’amplification

Le canal A représente les moteurs 1 et 3 tandis que le canal B représente les

moteurs 2 et 4. La sortie PWM OUPUT (terminal B) correspond au fil rouge des moteurs

(alimentation positive) et le terminal C représente le fil noir (alimentation négative).

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

79

3.8 Autonomie du prototype

3.8.1 Consommation des cartes électroniques

Chaque composant électronique consomme une puissance, puissance provenant de

la pile de 24 Volts. Il serait intéressant de faire une estimation de l’autonomie du robot

afin de s’assurer qu’il puisse être alimenté durant toute une partie de soccer. Les parties

de la Middle Size Ligue ont une durée de 90 minutes, nous devons donc nous assurer que

notre robot possède une autonomie supérieure à ce temps. Dans un premier temps,

calculons la consommation des composantes électronique.

Tableau 8. Consommation électrique du PC

Le tableau ci-haut nous indique le PC à lui seul tire un courant de 3.10A, ce qui

correspond à une puissance de 18.45 W. La carte de contrôle consomme également de la

puissance électrique, le tableau suivant nous donne une indication sur ce que peut exiger

en courant la carte.

Tableau 9. Consommation électrique de la carte 5850B

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

80

On déduit donc que la puissance maximale consommée par la carte de contrôle est

de 7.1 Watts en tirant un courant maximal de 1.42 ampères. Sachant que le convertisseur

DC-DC peut fournir un courant de 10 Ampères de son alimentation +5 Volts et que les

cartes consomment un courant total de 4.52 A, on s’assure que le convertisseur peu

alimenter ces deux cartes en tout temps (puisque la consommation de courant utilisé pour

le calcul correspond au courant maximal qu’elles peuvent exiger. On peut donc calculer

à partir de la consommation des deux cartes quel courant le convertisseur tirera à la pile.

On a choisi un pourcentage d’efficacité de 80 %, cette valeur est choisie à la baisse et elle

est proposée par le manufacturier dans les ficher techniques du convertisseur.

AI ueélectroniq 33.18.0*24

1.745.18=

+=

3.8.2 Consommation des moteurs selon divers scénario

Les moteurs sont une grande source de consommation électrique, cependant, leur

consommation dépend toujours de la situation dans laquelle ils se retrouvent. C’est-à-

dire que dépendamment s’ils sont à vitesse constante ou s’ils sont en accélération, les

moteurs ne demandent pas la même puissance. On peut donc se faire quelques scénario

qui nous aiderons à se faire une idée générale de la consommation des moteurs.

3.8.2.1 Scénario 1

Dans ce scénario, nous allons considérer un mouvement relativement simple du

robot. Considérons donc qu’il se déplace en ligne droite sur le terrain de jeu et qu’il

effectue des allers-retours avec une accélération de 1 m/s2 et une vitesse de croisière de 1

m/s. On considère également que le terrain sur lequel le robot se déplace a une longueur

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

81

de 6 mètres. Cette situation est peu représentative d’une partie réelle, mais peut donner

une idée générale de l’autonomie lorsque le robot est peu sollicité. Le graphique de

vitesse d’une telle situation est le suivant :

FIGURE 45. GRAPHIQUE DE VITESSE DU SCÉNARIO 1

La première étape consiste à trouver les temps t1, t2 et t3 qui correspondent au

temps d’accélération, de vitesse constante et le temps de décélération. On trouve ces

temps en utilisant les équations de cinématique.

Pour t1 :

5.0

1*1*2

100

2

1

1

1*10

2

200

0

=

++=

++=

=

=+=

+=

f

f

f

f

f

x

x

atvxx

t

tv

atvv

On procède de la même façon pour obtenir le temps de décélération et le

déplacement nécessaire pour passer d’une vitesse de 1 m/s à l’arrêt. On trouve également

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

82

que le robot roule pendant 5 secondes à vitesse constante. Il faut ensuite trouver la force

de frottement qui s’oppose au déplacement du robot. Pour ce calcul, nous considérons un

coefficient de friction de 0,40. On répartie de façon uniforme le poids du robot sur

chaque roue.

NF

F

NF

f

f

cf

6.194

20*8.9*4.0

=

=

Pour savoir la consommation du robot, il faut calculer le courant débité par les

moteurs, ceci ce fait en trouvant le couple développé par les moteurs pour ensuite trouver

le courant correspondant.

FIGURE 46. MOUVEMENT RECTILIGNE DU ROBOT

Dans le cas d’une accélération de 1 m/s2, le robot à besoin d’une force de 20 N.

Comme chaque roue contribue à cette accélération, on répartie également la force que

doit développer chaque moteur, ce qui donne une force résultante de 5 N par moteurs

dans la direction des x positif. Chaque moteur fait alors un angle de 45 degrés par

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

83

rapport à l’axe de déplacement, la force réel que chaque moteur doit développer est alors

de 7.07 N.

On peut alors trouver le couple appliqué par chaque moteur.

mN

lF

⋅=Τ

+=Τ

×=Τ

067.1

04.0*)6.1907.7(

On procède de la même façon pour trouver le couple à vitesse constante et en

décélération. Lorsque le robot est à vitesse constante, la seule force nécessaire est celle

qui permet de vaincre le frottement. Lors de la décélération, il faut soustraire la force de

friction à la force nécessaire puisque dans ce que, il ne faut pas la vaincre car elle est dans

la même direction de la force désiré. On obtient alors un couple de 0.784 N*m lorsque le

robot est à vitesse constante et un couple de 0.501 N*m lors de la décélération. À partir

de ces couples, on peut trouver le courant qui lui est associé.

AI

AI

AI

Kn

TI

décé

const

acc

T

949.01059,4*5.11

501.0

49.11059,4*5.11

784.0

02.21059,4*5.11

067.1

*

2

2

2

=

=

=

=

On trouve maintenant la moyenne de courant tiré par un moteur lors d’un aller simple.

AI

I

moy

moy

49.1151

1*949.05*49.11*02.2

=++++

=

On trouve donc un courant de 1.49 ampères par moteur, ce qui donne un courant

total de 5.9 A pour les quatre moteurs. Les piles doivent donc fournir en moyenne un

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

84

courant de 5.9 + 1.33 = 7.28 A. Les piles au NiMH possèdent une capacité d’environ

7000 mAh lorsqu’on le courant de décharge est de 9 ampères, on trouve donc que, dans

ces conditions, le robot a une autonomie de 1 heure. Dans le cahier des charges du

prototype, on nous indique que l’accélération maximale du robot devrait être de 5 m/s2,

en effectuant le même type de calcul et en considérant les mêmes conditions de

déplacement, on trouve que les moteurs consomme pour le démarrage un courant de 4.16

ampères. Cependant, avec les moteurs actuels, le courant total débité par les quatre

moteurs en accélération dépasse les 10 ampères et la pile ne permet pas ce courant de

décharge. Dans le cas des piles actuelles des robots. On peut lire sur les graphiques de

durée de décharge que les piles peuvent débiter un courant moyen de 7.28 A pendant

environ 33 minutes. Si on considère les caractéristiques que le cahier des charges

imposait, c’est-à-dire une vitesse de 1 m/s et une accélération de 1 m/s2, on trouvait un

courant moyen de 7.28 A, ce qui représente une autonomie du prototype de 1 heure.

3.8.2.2 Scénario 2

Dans ce deuxième scénario, nous considérons le même mouvement que précédent,

mais avec les performances maximales que peuvent fournir le robot. Ce scénario donne

l’idée générale de l’autonomie lorsque le robot est sollicité à son maximum.

Pour trouver la performance maximale, nous devons atteindre les limites du

moteur selon les données maximales suivantes écrites dans les fiches techniques.

VitesseMAX = 44.4 rad/s CoupleCONTINU = 0.43 Nm CoupleMAX = 2.1 Nm

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

85

À partir de la vitesse maximale de la sortie du moteur, nous pouvons trouver la

vitesse maximale d’une roue de 80mm de diamètre soit 1.78 m/s. En tenant compte de la

géométrie des moteurs à un angle de 45 degrés par rapport à l’axe de déplacement, cette

la vitesse maximale réel tombe alors à 2.5 m/s.

De plus, il est possible de trouver l’accélération maximale en calculant le couple

appliqué au moteur :

mNF

F

lF

⋅=

+=

×=Τ

52.51

04.0*)98.0(1.2

max

max

max

Par la loi de Newton, avec une masse de 5 kg sur chaque roue, nous trouvons que

le robot peut donc atteindre une accélération maximale pour chaque roue de 10.3 m/s2.

En tenant compte de la géométrie des moteurs à un angle de 45 degrés par rapport à l’axe

de déplacement, l’accélération réel tombe alors à 7.28 m/s2. Or, à cette accélération, la

vitesse maximale de 1.78 m/s est atteinte très rapidement.

Ces calculs montrent l’accélération maximale que peut atteindre le robot, mais

nous ne recommandons pas de fonctionner à cette accélération maximum car elle ne tient

pas compte du couple continu maximum. En effet, si le robot fonctionne à plein régime

pendant de longue période, le couple continu maximal ne sera pas respecté. De plus,

comme nous l’avons démontré précédemment, le courant de décharge ne peut permettre

une telle accélération.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

86

4. RÉSULTATS

Les tests présentés dans la prochaine section concernent la vérification des

branchements des cartes et la validation du modèle de simulation développé.

4.1 Test pratique sur les moteurs

Lorsque les connexions ont été réalisées, nous avons dû procéder à quelques tests

afin de s’assurer que les moteurs étaient bien connectés et qu’ils répondraient

correctement lorsque le robot sera sur ses roues. Les tests permettent également de

vérifier que le modèle mathématique que nous avons simulé et implanté dans le code est

bien compris par le robot et est valide.

4.1.1 Premier test

Les premiers tests ont été réalisés à l’aide d’une fonction déjà incluse dans le code

C++ du robot. Cette fonction s’appeler Send_Voltages(_V1, _V2, _V3, _V4). Elle

permet d’envoyer directement à chaque moteur une tension désirée et ainsi vérifier que

les moteurs sont bien identifiés. Ainsi nous avons pu constater que l’alimentation des

moteurs 1 et 2 et des moteurs 3 et 4 avaient été inversés sur les cartes d’amplification.

Après avoir corrigé la situation, nous avons soumis chaque moteur, un après l’autre, à une

tension. Chaque moteur à bien répondu, ce qui confirmait que les connexions étaient

valides.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

87

4.1.2 Second test

La deuxième série de test à été effectué à l’aide de la fonction Send_Vel( Vx, Vy,

w). Cette fonction fait partie de la classe BrainOmni. Elle permet de calculer la vitesse

de rotation de chaque moteur en fonction d’une vitesse de déplacement en x et y dans le

repère local imposée par l’utilisateur. Nous pouvions donc voir à ce moment que le

contrôleur développé était valide. Voici un tableau indiquant quels tests ont été effectués

accompagné des résultats obtenus. Dans la colonne nommée Commande est indiqué ce

que nous désirions obtenir comme déplacement. Le premier argument de la fonction est

la vitesse désirée en X, le deuxième est celle désirée en Y et le troisième argument

représente la vitesse angulaire du robot.

Commande Roue 1 Roue 2 Roue 3 Roue 4

Send_Vel(1,1,0) Inactive Active

Anti-horaire

Inactive Active

Horaire

Send_Vel(0,0,1) Active

Horaire

Active

Horaire

Active

Horaire

Active

Horaire

Send_Vel(1,0,0) Active

Anti-horaire

Active

Anti-horaire

Active

Horaire

Active

Horaire

Send_Vel(0,1,0) Active

Horaire

Active

Anti-horaire

Active

Anti-horaire

Active

Horaire

Tableau 10. Résultats du second test

Si on se rappelle la disposition des roues sur le robot ainsi que le sens positif

défini préalablement, on peut vérifier que les résultats obtenus correspondent à ce que

nous désirions.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

88

FIGURE 47. CINÉMATIQUE DU ROBOT

Lorsque le mouvement désiré était un déplacement en x positif, on remarque que

toutes les roues sont mises à contribution et que les roues 3 et 4 doivent tourner du même

sens tandis que les roues 1 et 2 doivent également tourner du même sens, mais inverse à

celui des roues 3 et 4. Si on regarde les résultats obtenus, on observe effectivement ce

type de mouvement de la part des moteurs. Un mouvement de rotation entraîne une

rotation des roues dans le même sens et c’est effectivement ce que les résultats des tests

ont donnés.

4.2 Validation de la simulation

Les simulations sont une étape importante car elles permettent de justifier les

équations posées précédemment. Toutes les simulations ont été faites à l’aide du logiciel

Matlab/Simulink.

Deux types d’essai peuvent être effectués sur le contrôleur simple en position. Le

premier essai génère des signaux continus alors que le second essai génère des signaux

sinusoïdaux pour simuler la trajectoire d’un cercle.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

89

Il est possible de choisir de passer d’un contrôleur à l’autre en en jouant avec les

interrupteurs. Le premier interrupteur dans le modèle permet de faire l’essai avec des

commandes continu ou sinusoïdal. Le second interrupteur permet de choisir si le système

fonctionne en boucle fermé ou en boucle ouverte. En boucle ouvert, les signaux sont

considérés comme des vitesses alors qu’en boucle fermé, elles sont considérées comme

des positions.

46.70

-0.00

0.00

position reel

5.00

0.00

0.00

position désirée

5.00

0.00

0.00

erreur position

dXYZ

0

Zd1

0

Zd

0

Yd

5

Xd

XYd Graph

Terminator1

Sine Wave

Function1

Sine Wave

Function

err 123 Gain 123

PID1

Xpd Ypd Zpd X Y Z

Modele Complet

Manual Switch2

Manual Switch

3

3

3

33

3

3

3

3

33

3

3

3

3 3{3}

FIGURE 48. SCHÉMA DU CONTRÔLEUR DE DÉVELOPPEMENT D’ESSAI NIVEAU 1

Le reste de la modélisation se trouve dans le module de droite. L’interrupteur

placé à son entrée permet de choisir entre le mode avec normalisation ou sans

normalisation. Il est aussi possible pour l’angle d’azimut de choisir l’option d’un calcul

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

90

d’angle compris entre - ππ et− ou simplement la valeur de l’intégrale de la vitesse qui

prendra alors des valeurs beaucoup plus grandes queπ . Voici donc la modélisation en

question.

Contrôleur vitesse de la platefrome omnidirectionelle

1

X Y Z

5.00

-0.00

-0.00

xp yp zp

vitxyz

0.00

vitesse normalisée

vitXYZ

-3.54

-3.54

3.54

3.54

vit1234

vit1

tension1234

In1

Azimut

Xp Yp Zp

local to global

in out

global to local

-2.33

-2.33

2.33

2.33

erreur

In1Out1

corrige angle

In out

cinematique inverse2 In out

cinematique inverse1

0.00

azimut1

azimut

In1

Out1angle

5.00

-0.00

-0.00Xp Yp Zp1

XYZ

XY Graph

5.00

-0.00

0.00

Vitesse 1234 desirées2

5.00

-0.00

0.00

Vitesse 1234 desirées1

-3.54

-3.54

3.54

3.54

Vitesse 1234 desirées

Vitdxyz

VitdXYZ

Vitd1234

Terminator

-46.69

-46.69

46.69

46.69

Tension 1234

-46.69

-46.69

46.69

46.69

Tension 1

err 1234 Gain 1234

PIDu yfcn

Normalise2

In1

In2

out

Modele Dynamique

Manual Switch1

1

sIntegrator1

1

s

Integrator

1

s

I1

1

Xpd Ypd Zpd

4

4

4

4

v itesse d 1234 4

4

4

4

4

4

4

4

3

3Xpd

3

3

3

3

3

3

3

3

3

3

3

xp y p zp

4

4

4

4

v itesse 1234

3

3

3

3

Xp Yp Zp

3

3

3

3

3

3

4

4

4

4

4

4

FIGURE 49. SCHÉMA DU CONTRÔLEUR DE DÉVELOPPEMENT D’ESSAI NIVEAU 2

Nous vous présentons donc ci-dessous les résultats obtenus pour chaque

contrôleur en affichant les données que nous avons jugé pertinentes pour analysé le

comportement apporté par le contrôleur. Nous avons résumé dans tableau de graphiques

les données suivantes.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

91

4.3 Comparaison des résultats entre prototype et simulation

Dans cette section, nous vous présentons les résultats des essais obtenus sur le

prototype même. Nous présentons les données suivantes : la position x, y et l’angle

azimut, les vitesses x,y,w et les vitesses de chacune des roues. Nous avons fait

l’acquisition des données pendant les essais afin vérifier la concordance entre le

prototype et le modèle de simulation. Pour chaque données, nous présentons en rouge la

vitesse désirées, en vert la vitesse réel du robot et en bleu la vitesse des simulations.

Nous remarquerons dans les graphiques qui suivront que les vitesses réels semblent être

coupées après un certain moment. Cet effet est normal e il est dû à un module de sécurité

qui désactive les moteurs si l’erreur accumulée est trop grande.

Pour commander notre modèle dans Simulink avec les données de vitesses

désirées tirées lors des essais sur le prototype, nous avons ajouté des blocs acquisition

(FromFile) qui roule un fichier FILE.MAT. Les commandes exécutées lors des essais

sont donc exactement reproduite dans nos simulations.

Notons qu’au moment des essais, le type de contrôleur implanté dans le prototype

était celui du contrôleur en vitesse simple (sans normalisation ou optimisation de l’angle).

De plus, le module global à local n’était pas implanté. Puisque les vitesses désirées sont

local, nous avons désactivé les modules global et local du modèle de simulation.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

92

4.3.1 Essai de vitesse maximale de rotation

Ce premier essai consiste à trouvé la valeur maximale de rotation du prototype.

Pour ce faire, nous avons fait tourné le robot le plus vitesse que possible sur lui-même,

dans le sens contraire des aiguille d’un montre. Le graphique ci-dessous présente une

synthèse des résultats prélevé du prototype lors de l’essai.

67 68 69 70 71 72-0.1

0

0.1

0.2

0.3

0.4

temps

position (m)

Graphique de position xreel(g),xsim(b) et xdes(r)

67 68 69 70 71 72-0.02

0

0.02

0.04

0.06

0.08

0.1

temps

position (m)

Graphique de position yreel(g),ysim(b) et ydes(r)

67 68 69 70 71 72-2

0

2

4

6

8

10

12

temps

angle (rad)

Graphique de angle azimut reel(g),sim(b) et des(r)

67 68 69 70 71 72-0.2

0

0.2

0.4

0.6

0.8

temps

vitesse (m/s)

Graphique de vitesse Vxreel(g), xsim(b) et xdes(r)

67 68 69 70 71 72-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

temps

vitesse (m/s)

Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)

67 68 69 70 71 72-2

0

2

4

6

8

10

12

temps

vitesse (rad/s)

Graphique de vitesse w wreel(g), wsim(b), wdes(r),

66 68 70 72-0.5

0

0.5

1

1.5

2

2.5

temps

Vitesse (V)

Graphique de vitesse moteur #1

66 68 70 72-0.5

0

0.5

1

1.5

2

2.5

temps

Vitesse (V)

Graphique de vitesse moteur #2

66 68 70 72-0.5

0

0.5

1

1.5

2

2.5

temps

Vitesse (V)

Graphique de vitesse moteur #3

66 68 70 72-0.5

0

0.5

1

1.5

2

2.5

temps

Vitesse (V)

Graphique de vitesse moteur #4

FIGURE 50. GRAPHIQUES SYNTHÈSES : ESSAI DE VITESSE MAXIMALE DE ROTATION

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

93

Comme nous pouvons observer, le prototype est resté pratiquement au point (0,0)

tandis que la vitesse de rotation w augmente et atteint une saturation. Le graphique

suivant montre plus précisément à quelle la vitesse de rotation w sature.

67 67.5 68 68.5 69 69.5 70 70.5 71 71.5 72

-10

-5

0

5

10

temps

vitesse (rad/s)

Graphique de vitesse w wreel(g), wsim(b), wdes(r),

Nous trouvons que la vitesse maximale de rotation est de 10rad/s. Nous pouvons donc

ramener cette vitesse à la vitesse tangentielle de chacune des roues.

smroueV

lroueV

/715.1max__2

*max__

=

Cette valeur concorde avec la valeur théorique trouvée soit de 1.78 m/s. On peut déduire

que la différence entre les deux valeurs est due à la présence de force de frottement.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

94

4.3.2 Essai de vitesse maximale de translation

Cet essai consiste à trouver la vitesse maximale que peut atteindre le robot. Pour

ce faire, nous avons roulé à vitesse maximale dans l’axe des y. Le graphique ci-dessous

présente une synthèse des résultats prélevé du prototype lors de l’essai.

48 49 50 51 52-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

temps

position (m)

Graphique de position xreel(g),xsim(b) et xdes(r)

48 49 50 51 52-5

0

5

10

15

temps

position (m)

Graphique de position yreel(g),ysim(b) et ydes(r)

48 49 50 51 52-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

temps

angle (rad)

Graphique de angle azimut reel(g),sim(b) et des(r)

48 49 50 51 52-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

temps

vitesse (m/s)

Graphique de vitesse Vxreel(g), xsim(b) et xdes(r)

48 49 50 51 52-1

0

1

2

3

4

temps

vitesse (m/s)

Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)

48 49 50 51 52-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

temps

vitesse (rad/s)

Graphique de vitesse w wreel(g), wsim(b), wdes(r),

48 49 50 51 52-0.5

0

0.5

1

1.5

2

2.5

3

temps

Vitesse (V)

Graphique de vitesse moteur #1

48 49 50 51 52-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

temps

Vitesse (V)

Graphique de vitesse moteur #2

48 49 50 51 52-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

temps

Vitesse (V)

Graphique de vitesse moteur #3

48 49 50 51 52-0.5

0

0.5

1

1.5

2

2.5

3

temps

Vitesse (V)

Graphique de vitesse moteur #4

FIGURE 51. GRAPHIQUES SYNTHÈSES : ESSAI DE VITESSE MAXIMALE DE

TRANSLATION SUR L’AXE DES Y

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

95

La vitesse maximale désirée est de 4m/s, cependant, la vitesse maximale atteinte

par le robot est limitée au dessous de cette valeur. Agrandissons le graphique de la

vitesse en y pour évaluer cette valeur.

42 44 46 48 50 52 54 56-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

temps

vitesse (m/s)

Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)

FIGURE 52. GRAPHIQUE DE VITESSE SUR L’AXE DES Y : ESSAI DE VITESSE MAXIMALE

SUR L’AXE DES Y

Nous observons que la vitesse maximale réel de translation sur l’axe des y est

saturée aux environ de 2 m/s. Cette valeur concorde avec la valeur théorique de 2.5 m/s.

Encore une fois, nous pouvons attribuer la différence entre la théorie et la pratique par la

présence de force de frottement.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

96

4.3.3 Essai d’accélération maximale

Cette essai a pour but de trouver la l’accélération maximale du prototype Nous

avons augmenté la valeur de l’accélération jusqu’à ce que nous atteignions une saturation.

Pour ce faire, nous avons accru la variable A_max, une variable dans le code du

prototype qui fixe la valeur de l’accélération maximale. Après plusieurs incrémentations,

nous avons abouti à une saturation de l’accélération. Le graphique ci-dessous présente

une synthèse des résultats prélevé au prototype lors de l’essai.

214 215 216 217 218-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

temps

position (m)

Graphique de position xreel(g),xsim(b) et xdes(r)

214 215 216 217 218-1

0

1

2

3

4

temps

position (m)

Graphique de position yreel(g),ysim(b) et ydes(r)

214 215 216 217 218-1

-0.5

0

0.5

1

tempsangle (rad)

Graphique de angle azimut reel(g),sim(b) et des(r)

214 215 216 217 218-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

temps

vitesse (m/s)

Graphique de vitesse Vxreel(g), xsim(b) et xdes(r)

214 215 216 217 218-0.5

0

0.5

1

1.5

2

2.5

temps

vitesse (m/s)

Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)

214 215 216 217 218-1

-0.5

0

0.5

1

temps

vitesse (rad/s)

Graphique de vitesse w wreel(g), wsim(b), wdes(r),

214 215 216 217 218-0.5

0

0.5

1

1.5

2

temps

Vitesse (V)

Graphique de vitesse moteur #1

214 215 216 217 218-2

-1.5

-1

-0.5

0

0.5

temps

Vitesse (V)

Graphique de vitesse moteur #2

214 215 216 217 218-2

-1.5

-1

-0.5

0

0.5

temps

Vitesse (V)

Graphique de vitesse moteur #3

214 215 216 217 218-0.5

0

0.5

1

1.5

2

temps

Vitesse (V)

Graphique de vitesse moteur #4

FIGURE 53. GRAPHIQUES SYNTHÈSES : ESSAI D’ACCÉLÉRATION MAXIMALE EN

TRANSLATION SUR L’AXE Y

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

97

214 214.5 215 215.5 216 216.5 217 217.5 218-0.5

0

0.5

1

1.5

2

2.5

temps

vitesse (m/s)

Graphique de vitesse Vyreel(g), ysim(b) et ydes(r)

FIGURE 54. GRAPHIQUE DE VITESSE SUR L’AXE DES Y : ESSAI DE D’ACCÉLÉRATION

MAXIMALE SUR L’AXE DES Y

Puisque ce graphique correspond à la vitesse en fonction du temps, l’accélération

maximale correspond à la pente du graphique. Sur Matlab, nous trouvons donc que

l’accélération est de 5,1 m/s2. Cette valeur concorde bien avec la valeur théorique

calculée précédemment, soit de 5.09m/s2.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

98

5. DISCUSSION

Les avancés dans la robotique mobile sont de plus en plus impressionnantes et se

réalisent très rapidement. On peut même observer ces avancés lors des compétitions

internationales de la Middle Size League, compétition qui regroupe différents groupe de

recherches sur la robotique mobile et qui se sont fixés comme objectif de réaliser un robot

joueur de soccer. L’équipe de l’École Polytechnique de Montréal l’a réalisé à ses

dépends et c’est rendu compte de l’importance de poursuivre le développement de leurs

robots afin de rester compétitif. C’est donc à partir de ce motif qu’à pris naissance ce

projet de robot sans contrainte holonome. La réalisation de ce projet c’est produite en

trois parties distinctes. Elles se sont cependant réalisées de façon parallèle et chacune

d’elles ont du être mise en commun à la fin du projet. Ces trois parties sont donc le

développement d’un contrôleur adéquat et la modélisation du robot, la révision du choix

des piles pour le robot ainsi que la réalisation électrique et finalement la réalisation de la

plateforme mécanique.

Au début du projet, nous avions la possibilité de créer une plateforme mécanique

pouvant accueillir trois ou quatre roues omnidirectionnelles. Le choix d’une plateforme à

quatre roue à été une décision unanime de la part des trois étudiants travaillant sur le

projet et a été appuyé par le directeur du groupe Robofoot, M. Julien Beaudry. Lors de

la confection de ce prototype, certains choix à faire ce sont imposés tel que le type de

roues à utiliser, les piles ainsi que le type de plateforme. Comme nous avons conçu

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

99

qu’un seul prototype, nous ne pouvons pas faire de comparaison avec les autres choix qui

se sont offerts à nous tout au long du projet. Nous ne ferons qu’une évaluation du

fonctionnement du robot avec les composantes choisis.

5.1 Choix de la plateforme

Le choix de la plateforme à quatre roues semble avoir été adéquat. En effet, nous

n’avons décelé, jusqu’en date de rédaction, aucuns inconvénients qui aurait eu lieu du à

ce choix. En effet, lorsque nous avons testé le robot à l’aide d’une manette de

commande, nous n’avons détecté aucun balancement du robot, autant au freinage qu’à

l’accélération. Par contre, le temps a limité les tests que nous avons pu effectuer sur le

robot. Au niveau du design électrique, la plateforme de forme carrée a été grandement

appréciée pour l’espace qu’elle a pu offrir. En effet, une base carrée offre une surface

plus grande qu’un triangle, pour une même distance entre les roues. Ceci a été très

pratique pour placer les composantes électroniques sur la plaque.

5.2 Choix des roues

Lorsque nous avons testé le prototype pour la première fois, nous avons remarqué

immédiatement le bruit que génère un tel type de roue. Nous avons pu également

remarquer de forte vibration lors d’un déplacement du robot. Ces deux observations sont

dues à une rotation des roues lorsqu’elles ne sont pas exactement perpendiculaires au sol.

Lorsque les roues tournent, chaque rouleau vient faire un contact avec le sol et si la roue

est légèrement de travers, il existe un cours laps de temps où aucun rouleau ne touche le

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

100

sol, ce qui cause le bruit ainsi que les vibrations. L’inconvénient de ces vibrations se

produit au niveau de la vision du robot qui s’en trouve fortement affecté. En effet,

puisque la caméra se trouve au sommet d’une tour sur le robot, les vibrations de la base

provoquent un déplacement constant de la tour. Ce qui en résulte une image floue prise

par la caméra. Par contre, ce problème peut être régler en augmentant le nombre d’image

par seconde prise par la caméra. Nous n’avons cependant pas eu le temps nécessaire afin

d’effectuer des tests avec le système de vision fonctionnel. Il resterait à voir si le robot

arrive à bien discerner les balises ainsi que le ballon et ce, même si l’image est floue.

FIGURE 55. VISION DU ROBOT À L’ARRÊT

FIGURE 56. VISION DU ROBOT EN ROTATION À 10 RAD/S

FIGURE 57. VISION DU ROBOT EN TRANSLATION À 1.8 M/S

5.3 Choix des piles

Comme en date de rédaction les piles n’ont pas encore été achetées, en raison de

leur coût relativement élevé, nous ne pouvons tirer aucune autre conclusion que celle

mentionnée dans le chapitre concernant les piles.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

101

5.4 Carte électronique et connexions

Le choix des cartes électronique n’a pas été tellement difficile puisque notre

mandat était de concevoir un prototype de robot omnidirectionnel à l’aide du matériel

disponible dans le département de génie électrique. Les seuls observations négatives que

nous pouvons faire sur les cartes utilisées concernent le PC ainsi que le disque dur utilisé.

En effet, nous avons eu quelques problèmes de manque d’espace lorsque nous

programmions le contrôleur du robot, il serait peut-être utile de revoir la technologie de

disque dur ou du moins en augmenter l’espace disponible. Pour ce qui est du PC, au

niveau performance, nous n’avons observé rien de négatif, la seule amélioration possible

pourrait être au niveau de sa consommation électrique.

Les connecteurs utilisés pour établir les connexions entre les fils des encodeurs et

les entrées de la carte de contrôle sont de type 9 broches D-Sub. Nous avons trouvé ce

type de connecteur plutôt pratique puisqu’il peut être fixé solidement à l’aide de petite

vis, ce qui permet de s’assurer que les connexions seront fiables tout au long d’une partie.

De plus, ce type de connecteur permet de changer rapidement les moteurs, si bien sur on

aura préalablement pensé de souder les connecteurs aux fils de l’encodeur du moteur.

5.5 Simulation

D’après les résultats obtenus, nous pouvons conclure que notre modélisation

représente très bien le comportement du robot. Sur la majorité des graphiques obtenus,

les courbes de simulations suivent de très près les courbes obtenues lors des essais sur le

robot.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

102

Par contre, nous avons remarqué que les accélérations réelles sont supérieur à

ceux des valeurs en simulations. D’autres tests pourront être effectués sur le prototype

afin de déterminer la cause de cette divergence. De plus, nous n’avons pas réussi à faire

fonctionner notre modèle de simulation jusqu’à deux semaines avant la date d’échéance

du projet. Certaine amélioration sont peuvent être fait afin qu’il concorde avec le

prototype réel.

5.6 Consommation électrique

Après réflexion et quelques calculs, nous avons trouvé que le matériel ne pourrait

pas être utilisé pour rencontrer les spécifications que désirait l’équipe de Robofoot. En

effet, lorsque nous avons effectué les calculs de consommations, nous trouvions qu’avec

une accélération de 5 m/s2, chaque roue demande un courant de plus de 4 ampères. En

regardant la fiche technique des moteurs, on se rend vite compte que le courant maximal

des moteurs est très près de cette valeur. Le courant maximal, lorsque l’arbre du moteur

est bloqué, est de 5.19 ampères. Une accélération plus grande dépasserait surement cette

valeur de courant maximal, ce qui endommagerait les moteurs. De plus, les piles

actuelles ne permettraient pas de fournir le robot en énergie pour la durée complète d’une

partie. Cependant, avec le nouveau choix de pile effectué, le robot pourrait être alimenté

toute une partie en ayant une accélération de 5 m/s2. En revanche, l’achat de nouvelles

piles ne modifierait pas la valeur de vitesse maximale, de nouveaux moteurs devraient

alors être achetés pour espérer avoir une vitesse maximale de 5 m/s. Lors des calculs de

consommations, nous avons utilisé un coefficient de friction assez élevé. Cette

évaluation est en fait assez pessimiste, elle représente en fait le pire cas que pourrait

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

103

rencontrer, c’est-à-dire qu’il se déplacerait sur une surface qui nuirait énormément à son

déplacement. Ce choix représente en quelque sorte une marge de sécurité, les résultats

réels seront probablement meilleurs que ceux calculés.

5.7 Montage final du robot

Le montage final du robot aura été un gros morceau de ce projet, puisqu’il

s’agissait ici de coordonner l’effort de trois étudiants. La partie qui nous à passablement

ralentit dans ce projet aura été l’usinage des pièces mécaniques. Nous avons du attendre

plus de 2 semaines avant d’obtenir nos pièces. Le prototype n’aura été construit que 2

semaines avant la remise de ce présent rapport, ce qui explique pourquoi nous n’avons

pas pu procéder à de multiples tests sur le prototype. Toutefois, la plateforme actuelle

semble combler les membres du groupe Robofoot et pourra leur servir de base pour la

conception d’une future équipe de robot omnidirectionnel. Il reste passablement de test à

effectuer sur le robot, surtout concernant le système de vision. En date de la rédaction,

les modifications au code n’ont pas été apportées pour que le système de vision soit

fonctionnel et que le robot puisse être autonome. Pour le moment, nous n’avons que

déplacé le robot à l’aide d’une manette qui envoyait des directions de déplacements au

robot. Nous ne pouvions qu’envoyer que des déplacements linéaires au robot, car la

manette nous permettait d’envoyer une requête de déplacement rectiligne dans la

direction des X et des Y du repère local. Dans de futurs tests, il serait intéressant de

pouvoir effectuer des déplacements en ligne droite, tout en commandant au prototype

d’effectuer une rotation en même temps. Ce qui correspondrait au cas où, dans une

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

104

partie, le robot voudrait se déplacer vers le ballon tout en se positionnant pour que le

ballon soit vis-à-vis son « kicker ».

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

105

5.8 Améliorations possibles

Lors de la conception de ce prototype, nous avons utilisé une formation en étoile

pour le positionnement des moteurs (δ =45º). Nous avons choisi cette configuration pour

la simplicité des équations cinématiques des moteurs.

FIGURE 58. DESSOUS DE LA PLATEFORME EN COURS D’ASSEMBLAGE

Nous n’avons cependant pas procédé à une analyse des différentes configurations

possibles. La formation choisi est relativement simple à implanter et permet de pouvoir

effectuer de nombreux tests utiles pour Robofoot. De plus, le contrôleur de cette

configuration offre une ouverture sur l’utilisation de d’autres possibles. En effet, il est

possible, tout en conservant le style étoile du positionnement, de pouvoir changer l’angle

entre les moteurs. Il ne suffit alors que de modifier cette valeur d’angle dans le code

source du robot pour que le contrôleur soit toujours valide.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

106

Après avoir travaillé de nombreuse heure sur Simulink, nous avons constaté qu’il

est plus rapide de travailler avec des équations sous forme matricielle si possible. De

plus, nous avons trouvé comment de faire la conception d’une façon plus rapide et

efficace. Si le travail serait à refaire, nous recommencerions les modules en utilisant des

blocs à fonction imbriquée qui contient un fichier avec les équations écrites au long.

Cette méthode permet de corriger rapidement les erreurs et évite de se trompé lors du

développement du modèle. Voici à quoi ressemble un bloc imbriquée :

u yfcn

Embedded

MATLAB Function

FIGURE 59. BLOC IMBRIQUÉE

Nous avons aussi remarqué lors des essais que les roues glissaient beaucoup lors

des déplacements. Il serait peut-être intéressant d’introduire un module antipatinage dans

la modélisation. Ce système pourrait être plus tard implanté dans le robot pour lui évité

des pertes inutiles.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

107

6. CONCLUSION

La conception de ce prototype aura été une tâche ardue et d’autant plus complexe

car elle réunissait le travail de trois étudiants. En effet, le projet était divisé en trois

parties distinctes, soit la conception d’un modèle et d’un contrôleur par voie de

simulation avec l’application simulink de MatlLab, la réalisation électrique avec les

composantes disponibles dans le département de génie électrique ainsi que la révision de

la technologie des piles, ainsi que le design d’une plateforme mécanique. La jonction des

travaux entre les différentes personnes travaillant sur le projet aura causé quelques délais

à la réalisation de ce travail. Notons comme exemple la conception des supports à

moteur. Cependant, le prototype a vu le jour et c’était notre objectif commun. Ces

contraintes temporelles nous aurons toutefois obligé à réduire les tests sur le prototype.

Nous considérons avoir réalisé pour Robofoot un prototype de plateforme

omnidirectionnelle qui pourra leur servir de référence et de base de test pour la

conception de leur nouvelle équipe.

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

108

7. BIBLIOGRAPHIE

1. BEAUDRY, Julien, Projet Spinos : Conception et contrôle d’un robot mobile à

vitesses différentielles, décembre 2001, 105 pages.

2. Tyco Electronics -- Raychem Product,

http://ps.circuitprotection.com/poly/index.php

3. Moteur Pittmann – PennEngineering, http://www.pennmotion.com/

4. Robot omnidirectionnel Ohio U,

http://zen.ece.ohiou.edu/~robocup/papers/ACC2003-ASME0157_correct.pdf

5. Association de l’aluminium au Canada,

http://aac.aluminium.qc.ca/francais/production/

6. Saft compagnie européenne recyclage batteries, http://www.saftbatteries.com

7. Leclerc batterie recyclage, http://www.e-leclerc.com

8. PMD, Performance Motion Devices ---NAVIGATOR® - PC/104 FOR SERVO

OR STEPPING MOTION CONTROL, http://www.pmdcorp.com/

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

109

9. ROBOTSHOP--- Devantech MD03 50V 20A H-Bridge Motor Driver DC

http://www.robotshop.ca/c215426p16439153.2.html

10. ANCR---Le PONT en H, www.ancr.org/fichtech/action/ponth/

11. PANASONIC--- NICKEL METAL HYDRIDE BATTERIES,

http://www.panasonic.com/industrial/battery/oem/images/pdf/Panasonic_NiMH_

HHR650D.pdf

12. ADVANCED MICRO PERIPHERALS Ltd----PCM2000 – PC104+DUAl SLOT

PC-CARD CONTROLLER, http://www.ampltd.com/prod/pcm2000.html

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

8. ANNEXE

Le fichier dynamique.mw

> F1 :=A $U1 K B $V1 K

F1 :=A U1 K B V1 K

> F2 :=A$U2K B$V2K

F2 :=A U2 K B V2 K

> F3 :=A$U3K B$V3K

F3 :=A U3 K B V3 K

> F4 :=A$U4K B$V4K

F4 :=A U4 K B V4 K

> Fx :=K F1 $ sin(a ) K F2 $ sin(a ) C F3 $ sin(a )C F4 $ sin(a )

Fx :=K (A U1 K B V1 K Ff ) sin(a )K (A U2 K B V2 K Ff ) sin(a )C (A U3 K B V3 K Ff ) sin(a )C (A U4 K B V4 K Ff ) sin(a )

> Fy :=F1$cos (a )K F2$cos (a ) K F3$cos (a ) C F4$cos (a )

Fy := (A U1 K B V1 K Ff ) cos(a )K (A U2 K B V2 K Ff ) cos(a )K (A U3 K B V3 K Ff ) cos(a )C (A U4 K B V4 K Ff ) cos(a )

> Mw :=R $ (F1C F2C F3C F4 )

Mw :=R (A U1 K B V1K 4 Ff C A U2 K B V2C A U3 K B V3C A U4 K B V4 )

> Vx := K V1 $ sin(a ) K V2 $ sin(a ) C V3 $ sin(a )C V4 $ sin(a )

ELE4199 Projet de fin d’étude en génie électrique Automne 2005 Rapport de projet

Vx :=K V1 sin(a ) K V2 sin(a ) C V3 sin(a ) C V4 sin(a )

> Vy :=V1$cos (a )K V2$cos (a ) K V3$cos (a ) C V4$cos (a )

Vy :=V1 cos(a ) K V2 cos(a ) K V3 cos(a ) C V4 cos(a )

> Vw := (V1C V2C V3C V4 )

Vw :=V1C V2C V3C V4

> Ax :=Fx

mC Vy$Vw

Ax :=1m (K (A U1 K B V1 K Ff ) sin(a )

K (A U2 K B V2 K Ff ) sin(a )C (A U3 K B V3 K Ff ) sin(a )C (A U4 K B V4 K Ff ) sin(a ) ) C (V1 cos(a )K V2 cos(a ) K V3 cos(a ) C V4 cos(a ) ) (V1C V2C V3C V4 )

> Ay :=Fy

mK Vx$Vw

Ay :=1m ( (A U1 K B V1 K Ff ) cos(a )

K (A U2 K B V2 K Ff ) cos(a )K (A U3 K B V3 K Ff ) cos(a )C (A U4 K B V4 K Ff ) cos(a ) ) K (K V1 sin(a )K V2 sin(a ) C V3 sin(a ) C V4 sin(a ) ) (V1C V2C V3C V4 )

> Aw :=Mw

Inercite

Aw :=1

Inercite (R (A U1 K B V1 K 4 Ff C A U2 K B V2

C A U3 K B V3C A U4 K B V4 ) )

>