conception, developpement et integration des systemes embarques du robot golf soutenance de rapport...
Post on 03-Apr-2015
111 Views
Preview:
TRANSCRIPT
CONCEPTION, DEVELOPPEMENT ET CONCEPTION, DEVELOPPEMENT ET INTEGRATION DES SYSTEMES EMBARQUES INTEGRATION DES SYSTEMES EMBARQUES
DU ROBOT GOLFDU ROBOT GOLF
Soutenance de rapport de stage de Soutenance de rapport de stage de Horace GandjiHorace Gandji
ASSOCIATION DU GOLF DE MESNIL
PLANPLAN
IntroductionIntroduction ObjectifsObjectifs Architecture électronique du robotArchitecture électronique du robot Travaux réalisésTravaux réalisés BilanBilan ConclusionConclusion
INTRODUCTIONINTRODUCTION
OBJECTIFOBJECTIF
Faire ramasser des balles de golf Faire ramasser des balles de golf par le robotpar le robot de façon autonome de façon autonome sur un terrainsur un terrain
ARCHITECTURE ARCHITECTURE ELECTRONIQUE DU ELECTRONIQUE DU
ROBOTROBOT
?GPS embarqué
Contrôle réservoir de
balles
Contrôle des moteurs
Détection d’obstacle
Boussole
Gestion des batteries
BUS CAN
PC embarqué
TRAVAUX REALISESTRAVAUX REALISES
Implantation du CAN sur les Implantation du CAN sur les différents modulesdifférents modules
Mise en œuvre de Linux sur le PC Mise en œuvre de Linux sur le PC embarquéembarqué
Conception et programme de Conception et programme de localisation dGPSlocalisation dGPS
Intégration des différentes cartes Intégration des différentes cartes au robotau robot
Implantation du CAN Implantation du CAN
3 types de microcontrôleurs3 types de microcontrôleurs PIC18F458PIC18F458 dsPIC6014AdsPIC6014A 60LF240760LF2407 SJA1000SJA1000
Implantation du CANImplantation du CAN
Structure générale des IDStructure générale des ID xxxxxxxx eeeee cccccccc yyyyyyyyxxxxxxxx eeeee cccccccc yyyyyyyy
3 types d’identifiant3 types d’identifiant Commande de type carteCommande de type carte Trame pour les message d’erreur Trame pour les message d’erreur
entre cartesentre cartes Trame signalTrame signal
Commande de type carteCommande de type carte cccccccc 01010 ssssdddd rpppppppcccccccc 01010 ssssdddd rppppppp
Commande
Extension de la commande
Émetteur
DestinataireRéseau
Paramètre
Implantation du CANImplantation du CAN
Trame d’erreurTrame d’erreur
10000000 00001 00000000 10000000 00001 00000000 nnnnnnnnnnnnnnnn
Trame signalTrame signal
cccccccc 0110 nnnnnnnn cccccccc 0110 nnnnnnnn rppppppprppppppp
Implantation du CANImplantation du CAN
Charge du bus et choix du Charge du bus et choix du débitdébit
Start of frame : 1 bitStart of frame : 1 bit
Arbitration Field : 32 bitsArbitration Field : 32 bits
Contrôle Field : 6 bitsContrôle Field : 6 bits
Data Field : Data Field : 0 à 8 octets0 à 8 octets
CRC Field : 16 bitsCRC Field : 16 bits
ACK Field : 2 bitsACK Field : 2 bits
End Of Frame : 7 bitsEnd Of Frame : 7 bits
Implantation du CANImplantation du CAN
m
n
8n65Debit80
m : Nombre maximum de trame par seconden : Nombre d’octets de données
Pour n = 8 et m = 17 on obtient 1545 bits/s
Implantation du CANImplantation du CAN
Mise en œuvre de Linux sur Mise en œuvre de Linux sur le PC embarquéle PC embarqué
Outils nécessairesOutils nécessaires
Hôte
1.vi
2.Arm-linux-gcc
3.Minicom
4.Serveur NFS
5.Serveur SSH
Cible
1.Support des fichiers NFS
2.Client SSH
Liaison série
Liaison éthernet
Hôte
Cible
Modification et intégration du driver Can4linuxModification et intégration du driver Can4linux
3 fichier à modifier dans les sources de Can4linux:
• Makefile
DCAN_SYSCLK = 16 (qwartz)
• core.c#if
defined(ATCANMINI_PELICAN)Base[i] = 0xF1000300;IRQ[i] = 106;Baud[i]=1000;Outc[i] = 0x8a;#endif
• sja1000.h
#if CAN_SYSCLK == 16/* these timings are valid for clock 16Mhz */#define CAN_TIM0_125K 0x43 #define CAN_TIM1_125K 0x1C#define CAN_TIM0_250K 0x41 #define CAN_TIM1_250K 0x1C#define CAN_TIM0_500K 0x40 #define CAN_TIM1_500K 0x1C#define CAN_TIM0_1000K 0x40 #define CAN_TIM1_1000K 0x14#define CAN_SYSCLK_is_ok 1#endif
Deux fichiers à modifier dans les sources Deux fichiers à modifier dans les sources du noyaudu noyau
• nom_noyau/driver/char/Makefilenom_noyau/driver/char/Makefile
$(CONFIG_CAN4LINUX)+=Can4linux/$(CONFIG_CAN4LINUX)+=Can4linux/• Nom_noyau/driver/char/KconfigNom_noyau/driver/char/Kconfig
Source ‘’driver/char/Can4linux/Kconfig’’Source ‘’driver/char/Can4linux/Kconfig’’
Copier enfin les sources du module dans Copier enfin les sources du module dans
nom_noyau/driver/charnom_noyau/driver/char
GPS embarqué
Balise GPS
Trame GPGGA
Traitement des 2 trames GPGGA
Latitude et longitude sur le bus CAN
ZigBee
Bus CAN
Conception et programme de Conception et programme de localisation dGPSlocalisation dGPS
Puce GPS SIRF 3Module ZigBee
Microcontrôleur
Module ZigBee Puce GPS SIRF 3
GPS embarqué
Balise GPS
UART 1
UART 2
Bus CAN
Intégration des cartesIntégration des cartes
• Conception et réalisation d’une carte de fond de palier
BILANBILAN
Bilan logiciel de Bilan logiciel de localisation par dGPSlocalisation par dGPS
Réalisés et testésRéalisés et testés
- Sauvegarde et traitement de la trame - Sauvegarde et traitement de la trame GPSGPS
- Envoie (sur demande ou à intervalle de - Envoie (sur demande ou à intervalle de temps régulier) par le bus CAN de la temps régulier) par le bus CAN de la latitude et la longitude, ou les écarts latitude et la longitude, ou les écarts latitudes ou longitude latitudes ou longitude
Reste à faireReste à faire
- Tester la réception d’une bonne trame - Tester la réception d’une bonne trame GPGGA avant le traitementGPGGA avant le traitement
Bilan logiciels Bilan logiciels supervisionssupervisions
Réalisé et testé:Réalisé et testé:- Démarrage automatique du logiciel de - Démarrage automatique du logiciel de supervision au reset du PC embarquésupervision au reset du PC embarqué- Menu de dialogue avec chacun des modules- Menu de dialogue avec chacun des modules- Sauvegarde des trames circulant sur le bus CAN- Sauvegarde des trames circulant sur le bus CAN- Mission préprogrammée- Mission préprogrammée
Reste à faire:Reste à faire:- Implanter le modèle du terrain- Implanter le modèle du terrain- Développer le logiciel de supervision- Développer le logiciel de supervision- Développer le programme de correction - Développer le programme de correction de trajectoire en cas de glissement du de trajectoire en cas de glissement du robotrobot- Interprétation les trames de messages - Interprétation les trames de messages d’erreur de fonctionnement et envoie par d’erreur de fonctionnement et envoie par le weble web
Bilan logiciel carte à Bilan logiciel carte à ultrasonultrason
Réalisés et testés par ERLEM et SISSIRéalisés et testés par ERLEM et SISSI
- Calcul de la distance de l’obstacle au - Calcul de la distance de l’obstacle au robotrobot
- Calcul de l’angle entre la direction de - Calcul de l’angle entre la direction de l’obstacle et l’axe du robotl’obstacle et l’axe du robot
- Pilotage de la tourelle- Pilotage de la tourelle Reste à faireReste à faire
- Concevoir l’architecture logiciel de - Concevoir l’architecture logiciel de communication avec le superviseur en communication avec le superviseur en respectant la convention relative au IDrespectant la convention relative au ID
Bilan logiciel contrôle Bilan logiciel contrôle réservoir de ballesréservoir de balles Réalisés et testésRéalisés et testés
- Menu de commande du moteur pour - Menu de commande du moteur pour déterminer l’offset PWMdéterminer l’offset PWM- Un programme de contrôle du réservoir- Un programme de contrôle du réservoir
Reste à faireReste à faire- Amélioration programme de contrôle du - Amélioration programme de contrôle du réservoir afin de gérer efficacement le réservoir afin de gérer efficacement le capteur de détection du niveau de capteur de détection du niveau de remplissage du réservoirremplissage du réservoir - Concevoir l’architecture logiciel de - Concevoir l’architecture logiciel de communication avec le superviseur en communication avec le superviseur en respectant la convention relative au IDrespectant la convention relative au ID
Bilan logiciel contrôle Bilan logiciel contrôle moteursmoteurs Réalisés et testésRéalisés et testés
- Fonctions de régulation et - Fonctions de régulation et d’asservissement de vitesse et de d’asservissement de vitesse et de positionposition- Contrôle du déplacement du robot en - Contrôle du déplacement du robot en gardant un capgardant un cap- Menu de commande à distance du - Menu de commande à distance du déplacement du robotdéplacement du robot
Reste à faireReste à faire- Concevoir l’architecture logiciel de - Concevoir l’architecture logiciel de
communication avec le superviseur en communication avec le superviseur en respectant la convention relative au IDrespectant la convention relative au ID
Bilan carte gestion des Bilan carte gestion des batteriesbatteries
Réalisé et testéRéalisé et testé
- Premier prototype de la carte- Premier prototype de la carte
- Développement des fonctions de - Développement des fonctions de mesure de courant et tension mesure de courant et tension
Reste à faireReste à faire
- Reprise de la conception et la - Reprise de la conception et la réalisation de la carteréalisation de la carte
- Conception et développement du - Conception et développement du logiciel embarqué de gestion des logiciel embarqué de gestion des batteries et de dialogue avec la batteries et de dialogue avec la supervisionsupervision
Bilan logiciel boussoleBilan logiciel boussole
Réalisé et testéRéalisé et testé
- Programme d’étalonnage- Programme d’étalonnage
- Programme de cal cul du cap- Programme de cal cul du cap
ConclusionConclusion Avancement du projetAvancement du projet
- Tout ce qui est bas niveau est fait à 80%- Tout ce qui est bas niveau est fait à 80%- Le logiciel de supervision est à l’état - Le logiciel de supervision est à l’état embryonnaireembryonnaire
Le plus dur est fait, reste un gros travail Le plus dur est fait, reste un gros travail pour la supervision:pour la supervision:- implanter le modèle du terrain- implanter le modèle du terrain- Interprétation les trames de messages - Interprétation les trames de messages d’erreur de fonctionnement et envoie par d’erreur de fonctionnement et envoie par le web le web
DémoDémo
top related