Projet-2014-2015-RobAIR
Présentation
RobAIR est une plate forme de télé-présence. Sa principale fonction est d'agir à la place de son utilisateur, lorsque ce dernier ne peut être physiquement présent dans un lieu. Ses domaines d'application sont variés, on peut notamment citer le cas des conférenciers ne pouvant pas se permettre un déplacement, ou bien pour qu'un élève continue d'assister à ses cours lors d'une hospitalisation. Il s'agit d'un projet qui a débuté il y a quelques années, sur lequel nous travaillons en parallèle avec la filière 3I. Nous reprenons aussi le travail effectué précédemment par des élèves de l'ENSIMAG. Notre objectif est le portage sur une nouvelle gamme utilisant le micro-contrôleur STM32 au lieu d'Arduino. Ainsi que l'ajout d'une carte MEMS intégrant divers capteurs, et communiquant avec une tablette via Bluetooth low consomation. Nous prendrons aussi en compte l'implémentation d'une interface sous FirefoxOS pour le téléguidage.
Équipe
Encadrant/Client
- Olivier Richard(olivier.richard@imag.fr)
- Didier Donsez(didier.donsez@imag.fr)
Étudiants
- KLIPFFEL Tararaina (tararaina.klipffel@e.ujf-grenoble.fr) <-- Chef de projet
- MICHEL Vivien (vivien.michel@e.ujf-grenoble.fr)
- HAMMERER Jeremy (jeremy.hamerer@e.ujf-grenoble.fr)
- VIALLET Etienne (etienne.viallet@e.ujf-grenoble.fr)
Gestion de projet
The project started January 14th, 2015.
Progression du projet
Week 1 (January 13th - January 18th)
Découverte de la Fab Lab et du robot "RobAIR"
- Rencontre avec les étudiants de l'ENSIMAG travaillant sur le sujet
- Récupération du matériel hardware et prise en main de la documentation :
- STM32F030R8T6 Nucleo
- MEMES Inertial and Environmental -- Nucleo Expansion
Week 2 (January 19th - January 25th)
- Prise en main de la documentation de la carte STM32F030R8T6.
- Initialisation de la board par GitHub :
- Lancement d'un programme de test des leds de la carte
Problèmes rencontrés
Après avoir installé les fichiers de configurations, nous n'arrivons pas à compiler le programme d'exemple "hello-world". En effet la board STM32F030R8T6 n'a pas encore était implémentée (board inexistante). Il est ainsi pour le moment impossible de flasher celle ci.
Week 3 (January 26th - February 01st)
- Récupération du matériel hardware :
- STM32F407VGT6 Discovery
- 18-D80NK Adjustable Infrared Obstacle Avoidance Detection Sensor Switch Detect 3-80cm for Arduino
- Ultrasson Sensor
Problèmes rencontrés
Après avoir installé les fichiers de configurations, nous avons réussi à flasher le programme d'exemple "hello-world" sur la board STM32F407VGT6 Discovery. Cependant, notre objectif premier est de faire le portage d'une carte Arduino à une STM32f-NUCLEO et non une STM32f-DISCOVERY. En effet, les cartes NUCLEO sont nettement plus performantes et compatibles avec les cartes MEMS et les cartes ARDUMOTO. Pour l'instant nous prenons connaissance de l'utilisation de la carte.
Week 4 (February 02nd - February 08th)
- Récupération du matériel hardware :
- STM32L152-Nucleo et STM3F334-Nucleo
- SparkFun Ardumoto Shield
- DC geared Motor x2
- Téléphone ZTE avec FirefoxOs pré-installé
Tutorial d'installation
Voici un très bon tutorial de RiotOS : lien
ATTENTION -- Si vous tournez sur une machine de 64 bit, vous devez installer le paquet gcc-multilib, pour pouvoir compiler avec succés sur RiotOS. [https://github.com/RIOT-OS/RIOT/wiki/Family%3A-native#dependencies 32-bit support]
| sudo apt-get install gcc-multilib
Dans un premier temps nous allons récupérer toute les librairie nécessaire pour commencer notre projet.
- Récupération des différentes board sur GitHub
- Récupération du compilateur ARM
- Récupération de STLINK pour flasher la carte (autre solution : OpenOCD)
| Download le ZIP | Créer un nouveau dossier (par exemple LIBRAIRIE_EXT dans votre $HOME ) | Placer l'archive dans ce dossier et l'extraire | N'oubliez pas de rajouter le chemin du dossier dans votre $PATH (commande : "export PATH=$PATH:$HOME/LIBRAIRIE_EXT/Dossier_a_ajouter"). Pour éviter de taper cette commande à chaque initialisation de terminal, vous pouvez la placer dans votre fichier ".bashrc".
Exemple des lignes de code ajouté à mon ".bashrc". Noté que vous devez remplacer les variables $HOME par votre propre chemin! |# LIGNE STLINK pour flash une carte |export PATH=$PATH:$HOME/LIBRAIRIE_EXT/stlink-master | |# LIGNES AJOUTEES POUR RIOT_OS compilateur ARM |export PATH=$PATH:$HOME/LIBRAIRIE_EXT/arm-2014.05/arm-none-eabi/bin |export PATH=$PATH:$HOME/LIBRAIRIE_EXT/arm-2014.05/bin
ATTENTION pour
- ./autogen
- ./configure
- make
probleme : configure: error: *** Required libusb-1.0 >= 1.0.0 not installed *** RESOLUE : sudo apt-get install libusb-dev && sudo apt-get install libusb-1.0
ajout de la blibliotheque : sudo apt-get install bridge-utils
ERREUR ->>arm-none-eabi-gcc: error: nano.specs: No such file or directory
make: *** [all] Erreur 1
RESOLUE ->>
https://github.com/32bitmicro/newlib-nano-1.0
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1309060
interressant
https://launchpadlibrarian.net/186124315/release.txt