IMA4 2018/2019 P2 : Différence entre versions
(→Choix techniques : matériel et logiciel) |
(→Semaine 1) |
||
Ligne 135 : | Ligne 135 : | ||
==Prologue== | ==Prologue== | ||
==Semaine 1== | ==Semaine 1== | ||
+ | |||
+ | *''' Acquisition du matériel : ''' | ||
+ | |||
+ | Le matériel nécessaire à la conception du robot était déjà disponible. Récupération d'un kit à assembler pour construire un robot à deux roues, d'un Arduino Uno, d'un sonar ultrason, d'un contrôleur de moteur ainsi que de trois suiveurs de ligne. | ||
+ | |||
+ | *''' Installation du SDK NumWorks : ''' | ||
+ | |||
+ | Ayant à modifier le logiciel de la calculatrice NumWorks afin de transformer la calculatrice en un périphérique USB hôte pour pouvoir contrôler le robot, j'ai installé le SDK fourni par l'éditeur qui offre un simulateur. | ||
+ | |||
+ | On récupère dans un premier temps le code : | ||
+ | |||
+ | git clone https://github.com/numworks/epsilon.git | ||
+ | |||
+ | |||
+ | Avant de pouvoir lancer le simulateur, il faut installer de nombreuses dépendances : | ||
+ | |||
+ | apt-get install bison build-essential dfu-util flex gcc-arm-none-eabi git libfltk1.3-dev libfreetype6-dev libpng12-dev | ||
+ | |||
+ | Une fois les dépendances installées, on peut compiler : | ||
+ | |||
+ | make PLATFORM=simulator clean | ||
+ | make PLATFORM=simulator | ||
+ | |||
+ | Puis on lance le simulateur par la commande : | ||
+ | |||
+ | ./epsilon.elf | ||
+ | |||
==Semaine 2== | ==Semaine 2== | ||
==Semaine 3== | ==Semaine 3== |
Version du 20 septembre 2018 à 07:43
Sommaire
NumWorks et robot
Présentation générale
Description
Le projet consiste à commander un robot classique par une calculatrice NumWorks avec un programme Python. Après avoir conçu un robot classique à base d'Arduino, moteurs, sonar ultrason et suiveurs de lignes, il faudra modifier le logiciel d'une calculatrice NumWorks afin que cette dernière soit capable de communiquer avec le robot. Une fois la communication établie, nous développerons une API afin de contrôler le robot. Finalement, nous écrirons un programme python utilisant l'API pour transformer le robot en un robot suiveur de ligne avec arrêt en cas d'obstacle et redémarrage automatique lors de la disparition de l'obstacle.
Objectifs
- Conception d'un robot classique
- Modification du logiciel d'une calculatrice NumWorks pour établir une communication entre le robot et la calculatrice
- Développer une API permettant le contrôle du robot
- Développer un programme Python transformant le robot en un robot suiveur de ligne avec arrêt en cas d'obstacle et redémarrage automatique lors de la disparition de l'obstacle
Préparation du projet
Cahier des charges
Robot :
- Concevoir un robot à partir d'un Arduino Uno, de moteurs, d'un sonar ultrason et de suiveurs de ligne
Communication :
- Établir une communication entre le robot et la calculatrice NumWorks en tentant de passer le micro-contrôleur en hôte USB et en utilisant le FTDI de l'Arduino
API :
- Développer une API permettant de contrôler le robot :
- fonctions pour contrôler les moteurs
- fonctions pour lire la distance du sonar
- fonctions pour lire l'information des suiveurs de ligne
Programme Python :
- Développer un programme Python se servant de l'API pour transformer le robot en un suiveur de ligne. Il doit permettre au robot de s'arrêter en cas d'obstacle et redémarrer lorsque l'obstacle disparaît
Choix techniques : matériel et logiciel
Robot :
- Kit à assembler déjà disponible
- Arduino Uno
Calculatrice NumWorks
Liste des tâches à effectuer
- Concevoir le robot
- Modifier le logiciel de la calculatrice NumWorks pour établir la communication
- Développer l'API
- Développer le programme Python
Calendrier prévisionnel
Réalisation du Projet
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 0 | |||||||||||
Conception du robot | 0 | |||||||||||
Établissement de la communication | 0 | |||||||||||
Développement de l'API | 0 | |||||||||||
Développement du programme Python | 0 |
Prologue
Semaine 1
- Acquisition du matériel :
Le matériel nécessaire à la conception du robot était déjà disponible. Récupération d'un kit à assembler pour construire un robot à deux roues, d'un Arduino Uno, d'un sonar ultrason, d'un contrôleur de moteur ainsi que de trois suiveurs de ligne.
- Installation du SDK NumWorks :
Ayant à modifier le logiciel de la calculatrice NumWorks afin de transformer la calculatrice en un périphérique USB hôte pour pouvoir contrôler le robot, j'ai installé le SDK fourni par l'éditeur qui offre un simulateur.
On récupère dans un premier temps le code :
git clone https://github.com/numworks/epsilon.git
Avant de pouvoir lancer le simulateur, il faut installer de nombreuses dépendances :
apt-get install bison build-essential dfu-util flex gcc-arm-none-eabi git libfltk1.3-dev libfreetype6-dev libpng12-dev
Une fois les dépendances installées, on peut compiler :
make PLATFORM=simulator clean make PLATFORM=simulator
Puis on lance le simulateur par la commande :
./epsilon.elf