vendredi 8 juin 2012
Test des SAP
Voici une vidéo du test des SAP. On y voit le test du capteur PT100, du capteur SHT71 ainsi que le résultat du calcul du nombre de centilitre demandé par la plante.
Point sur les tâches au 8 juin
Légende :
Fait
Fait depuis la dernière fois
Fait depuis la dernière fois
A faire
Marianne
SAP
- Logiciel Arduino
- Installer le logiciel Arduino
- Tester un programme sur la carte Arduino
- Sonde de T°
- Brancher la sonde de température
- Récupérer les données de la sonde de T°
- Traiter les données de la sonde de T° sur l'Arduino
- Sonde d'H°
- Brancher la sonde d'humidité
- Récupérer les données de la sonde d'H°
- Traiter les données de la sonde d'H° sur l'Arduino
- Communication
- Mettre en place la communication ZigBee sur l'Arduino
- Envoyer les infos traitées selon le protocole défini via le ZigBee
- Trouver une source d'alimentation mobile
- Rendre les SAP "sexy" (belle présentation)
Saliou
- Tester Ubuntu
- Installer Ubuntu / Angstrom
- Installer les packages
- Faire les configurations
- Wifi
- Ethernet
- Pilotes de la vidéo
- Tester la cross-compilation
- Installer OpenCV
- Configurer OpenCV
- Installation de JAVA sur le Gumstix
- Évitement d'obstacles
Aro
- Installer le logiciel XBee + Arduino
- Communiquer basiquement entre 2 modules XBee
- Communiquer basiquement entre 1 module XBee + 1 module XBee avec Arduino
- Fixer les protocoles
- Tester les protocoles
- Tester le réseau mesh
- Tester la chaîne avec IVY
Ali
- Mettre en place le déplacement du robot
- Détecter un objet à partir d'une couleur
- Découper l'image en 9
- Se déplacer en fonction de l'endroit où se trouve l'objet par rapport aux 9 zones
- Définir la condition d'arrêt
- Fusionner le déplacement avec la condition d'arrêt
- Déplacement aléatoire mono-thread
- Déplacement aléatoire multi-threads
- Tester la chaîne avec IVY
Alimentation mobile pour les SAP
Les Systèmes Auxiliaires de Plantes (SAP) seront composés des éléments suivants :
Tous ces composants devront être placé sur les jardinières, chaque pot ayant son propre SAP. Étant donné que nous ne pouvons imposer au client de placer ces pots à coté d'une prise de courant, je devais trouver une alimentation mobile et assez banale pour que le client puisse à la fois :
La carte Arduino Uno SMD doit être alimenté par du 5V au minimum pour fonctionner mais le voltage recommandé est compris entre 7V et 12V. Je me suis donc tout naturellement tournée vers les piles 9V.
Il suffit de les brancher à l'aide d'un contact à pression pour pile 9V à l'Arduino sur les pins VIN et GND pour alimenter tout le Système Auxiliaire de Plante.
- une carte Arduino,
- un XBee shield,
- un module XBee,
- une sonde PT100,
- une sonde SHT71.
Tous ces composants devront être placé sur les jardinières, chaque pot ayant son propre SAP. Étant donné que nous ne pouvons imposer au client de placer ces pots à coté d'une prise de courant, je devais trouver une alimentation mobile et assez banale pour que le client puisse à la fois :
- déplacer ses jardinières comme bon lui semble,
- remplacer son alimentation facilement sans avoir besoin d'un mode d'emploi,
- trouver l'alimentation dans toutes grandes surfaces.
La carte Arduino Uno SMD doit être alimenté par du 5V au minimum pour fonctionner mais le voltage recommandé est compris entre 7V et 12V. Je me suis donc tout naturellement tournée vers les piles 9V.
![]() |
| Pile 9V Duracell |
Il suffit de les brancher à l'aide d'un contact à pression pour pile 9V à l'Arduino sur les pins VIN et GND pour alimenter tout le Système Auxiliaire de Plante.
![]() |
| Contact à pression pour pile 9V |
mardi 5 juin 2012
Point sur les tâches au 4 juin
Légende :
Fait
Fait depuis la dernière fois
Fait depuis la dernière fois
A faire
Marianne
SAP
- Logiciel Arduino
- Installer le logiciel Arduino
- Tester un programme sur la carte Arduino
- Sonde de T°
- Brancher la sonde de température
- Récupérer les données de la sonde de T°
- Traiter les données de la sonde de T° sur l'Arduino
- Sonde d'H°
- Brancher la sonde d'humidité
- Récupérer les données de la sonde d'H°
- Traiter les données de la sonde d'H° sur l'Arduino
- Communication
- Mettre en place la communication ZigBee sur l'Arduino
- Envoyer les infos traitées selon le protocole défini via le ZigBee
- Trouver une source d'alimentation mobile
Saliou
- Tester Ubuntu
- Installer Ubuntu / Angstrom
- Installer les packages
- Faire les configurations
- Wifi
- Ethernet
- Pilotes de la vidéo
- Tester la cross-compilation
- Installer OpenCV
- Configurer OpenCV
- Évitement d'obstacles
Aro
- Installer le logiciel XBee + Arduino
- Communiquer basiquement entre 2 modules XBee
- Communiquer basiquement entre 1 module XBee + 1 module XBee avec Arduino
- Fixer les protocoles
- Tester les protocoles
- Tester le réseau mesh
Ali
- Mettre en place le déplacement du robot
- Détecter un objet à partir d'une couleur
- Découper l'image en 9
- Se déplacer en fonction de l'endroit où se trouve l'objet par rapport aux 9 zones
- Définir la condition d'arrêt
- Fusionner le déplacement avec la condition d'arrêt
- Déplacement aléatoire mono-thread
- Déplacement aléatoire multi-threads
mardi 29 mai 2012
Simulation d'une sonde de température
Avant de faire le montage de la sonde de température, j'ai voulu tester mon programme de récupération de valeurs. J'ai donc simulé la sonde grâce à un potentiomètre.
Il s'agit d'une résistance variable : la base tourne et créé plus ou moins de résistance. Lorsque le potentiomètre est en butée d'un coté, il laisse passer 0V, de l'autre coté il laisse passer 5V et entre les 2 c'est variable. Cela simule la sonde de température car cette dernière va laisser passer entre 0 et 5V selon la température qu'elle va analyser.
Voici le montage du potentiomètre sur la carte Arduino :
Le potentiomètre est branché sur les pins suivantes : 5V, GND et A0. Je récupère donc les valeurs du potentiomètre sur la pin A0 comme le montre mon programme ci-dessous :
L'important dans le code affiché est la fonction "analogRead(broche)" qui lit la valeur de la tension présente sur la broche spécifiée et transforme cette tension d'entrée entre 0 et 5V en une valeur numérique entière comprise entre 0 et 1023. On voit donc qu'au début le potentiomètre est en butée de manière à laisser passer 0V (valeur affichée : 0), puis en tournant le potentiomètre la valeur augmente jusqu'à 1023, valeur de la butée de l'autre côté.
![]() |
| Potentiomètre 4K7 (20%) |
Voici le montage du potentiomètre sur la carte Arduino :
![]() |
| Montage du potentiomètre sur la carte Arduino |
Le potentiomètre est branché sur les pins suivantes : 5V, GND et A0. Je récupère donc les valeurs du potentiomètre sur la pin A0 comme le montre mon programme ci-dessous :
![]() |
| Résultats du test avec le potentiomètre |
L'important dans le code affiché est la fonction "analogRead(broche)" qui lit la valeur de la tension présente sur la broche spécifiée et transforme cette tension d'entrée entre 0 et 5V en une valeur numérique entière comprise entre 0 et 1023. On voit donc qu'au début le potentiomètre est en butée de manière à laisser passer 0V (valeur affichée : 0), puis en tournant le potentiomètre la valeur augmente jusqu'à 1023, valeur de la butée de l'autre côté.
mardi 22 mai 2012
Réunion du mardi 22 mai 2012
Horaire : 17h à 18h
Lieu : salle A498
Personnes présentes : Carina Roels, Marianne Bénad, Abdelali Ghoulam, Saliou Diallo, Aro Ranaivondrambola
Ordre du jour
Refaire le planning initial au propre puis faire le planning du pilotage v2 à partir de cette "bonne version".
Choix du cycle
Voici notre façon de travailler :
Temps de travail
Nous travaillons le mercredi de 9h à 18h sans compter la pause déjeuner. Nous pouvons donc considérer que nous travaillons 7h le mercredi. D'après une estimation de notre part, nous travaillons encore 7h environ dans la semaine de manière éclatée (parfois les soirs de semaine, parfois le samedi...). Nous décidons pour plus de facilité dans la création de notre planning initial d'attribuer ces 7h en bloc le samedi. Nous avons donc 14h de travail par semaine.
Date de début/fin
Nous avons convenu que notre date de lancement de projet avait eu lieu le 27 septembre 2012 et que la date de fin sera le 16 juin 2012.
Lieu : salle A498
Personnes présentes : Carina Roels, Marianne Bénad, Abdelali Ghoulam, Saliou Diallo, Aro Ranaivondrambola
Ordre du jour
Refaire le planning initial au propre puis faire le planning du pilotage v2 à partir de cette "bonne version".
Choix du cycle
Voici notre façon de travailler :
- Conception générale
- Niveau 0
- Conception détaillée
- Réalisation
- Tests
- Niveau 1
- Conception détaillée
- Réalisation
- Tests
- Intégration
- Tests finaux
Temps de travail
Nous travaillons le mercredi de 9h à 18h sans compter la pause déjeuner. Nous pouvons donc considérer que nous travaillons 7h le mercredi. D'après une estimation de notre part, nous travaillons encore 7h environ dans la semaine de manière éclatée (parfois les soirs de semaine, parfois le samedi...). Nous décidons pour plus de facilité dans la création de notre planning initial d'attribuer ces 7h en bloc le samedi. Nous avons donc 14h de travail par semaine.
Date de début/fin
Nous avons convenu que notre date de lancement de projet avait eu lieu le 27 septembre 2012 et que la date de fin sera le 16 juin 2012.
lundi 14 mai 2012
Programmer sur l'Arduino
Pour développer sur la carte Arduino Uno SMD, il faut installer le logiciel Arduino. Il s'agit d'un espace de développement intégré (EDI) dédié au langage Arduino.
Le logiciel Arduino a pour fonctions principales :
Après installation, il faut configurer le logiciel Arduino en choisissant la carte sur laquelle on va développer puis le port utilisé :
Une fois la configuration correctement effectuée, nous pouvons commencer à coder.
Le langage Arduino est basé sur du C/C++. Nous retrouvons la plupart des types de variables (boolean, char, byte, int...) et de structures (if...else, for, switch case, while...). Il y a cependant quelques constantes et fonctions particulières :
Voici un exemple de programme permettant de faire clignoter une LED :
Le logiciel Arduino a pour fonctions principales :
- de pouvoir écrire et compiler des programmes pour la carte Arduino,
- de se connecter avec la carte Arduino pour y transférer les programmes,
- de communiquer avec la carte Arduino.
Après installation, il faut configurer le logiciel Arduino en choisissant la carte sur laquelle on va développer puis le port utilisé :
Une fois la configuration correctement effectuée, nous pouvons commencer à coder.
Le langage Arduino est basé sur du C/C++. Nous retrouvons la plupart des types de variables (boolean, char, byte, int...) et de structures (if...else, for, switch case, while...). Il y a cependant quelques constantes et fonctions particulières :
- HIGH | LOW
- Lorsqu'on lit ou on écrit sur une broche numérique, seuls deux états distincts sont possible, la broche ne peut être qu'à deux valeurs : HIGH ou LOW.
- INPUT | OUTPUT
- Les broches d'une carte Arduino configurées en mode INPUT sont dites en état de "haute-impédance" (en état de "haute résistance" en quelque sorte). Une broche configurée en INPUT ne consomme qu'une toute petite intensité sur le circuit sur laquelle elle est connectée.
- Les broches configurées en mode OUTPUT sont en état dit de "basse-impédance" (en état de "basse résistance"). Cela veut dire qu'elle peuvent fournir une quantité significative de courant aux autres circuits.
- pinMode(broche, mode)
- Configure la broche spécifiée pour qu'elle se comporte soit en entrée, soit en sortie.
- digitalWrite(broche, valeur)
- Met un niveau logique HIGH ou LOW sur une broche numérique.
- int digitalRead(broche)
- Lit l'état (= le niveau logique) d'une broche précise en entrée numérique, et renvoie la valeur HIGH ou LOW.
- int analogRead(broche)
- Lit la valeur de la tension présente sur la broche spécifiée et transforme cette tension d'entrée entre 0 et 5V en une valeur numérique entière comprise entre 0 et 1023.
- analogWrite(broche, valeur) - PWM (Pulse Width Modulation)
- Génère une impulsion de largeur / période voulue sur une broche de la carte Arduino.
Voici un exemple de programme permettant de faire clignoter une LED :
mercredi 9 mai 2012
Point sur les tâches au 9 mai
Légende :
Fait
A faire
Marianne
Arrosage
- Monter le capteur de niveau d'eau
- Tester le capteur de niveau d'eau
- Trouver une source d'alimentation mobile
- Mettre en place la source d'alimentation
- Récupérer les données du capteur
- Coder sur la Gumstix le comportement du Roomba en fonction des valeurs du capteurs
- Trouver une pompe adaptée
- Mettre en place le déclenchement de la pompe
- Installer le logiciel Arduino
- Tester un programme sur la carte Arduino
- Brancher la sonde de température terrestre
- Récupérer les données de la sonde
- Traiter les données de la sonde sur l'Arduino
- Mettre en place la communication ZigBee sur l'Arduino
- Envoyer les infos traitées de la sonde via le ZigBee
Saliou
- Tester Ubuntu
- Installer Ubuntu / Angstrom
- Installer les packages
- Faire les configurations
- Wifi
- Ethernet
- Pilotes de la vidéo
- Tester la cross-compilation
Aro
- Installer le logiciel XBee + Arduino
- Communiquer basiquement entre 2 modules XBee
- Communiquer basiquement entre 1 module XBee + 1 module XBee avec Arduino
- Fixer les protocoles
- Tester les protocoles
- Tester le réseau mesh
Ali
- Mettre en place le déplacement du robot
- Détecter un objet à partir d'une couleur
- Découper l'image en 9
- Se déplacer en fonction de l'endroit où se trouve l'objet par rapport aux 9 zones
- Définir la condition d'arrêt
- Fusionner le déplacement avec la condition d'arrêt
mercredi 2 mai 2012
Test du capteur de niveau d'eau
Voici une vidéo présentant le test de notre capteur de niveau d'eau.
Il y a 4 LEDS :
Le relais est mis sous tension dès que le liquide a atteint le niveau "trop haut" et est débranché lorsque le liquide atteint le niveau "trop bas".
Explication de la vidéo ci-dessous :
Le test nous permet de voir que notre matériel et notre branchement fonctionnent à merveilles !
Il y a 4 LEDS :
![]() | |
| Légende des LEDs |
Explication de la vidéo ci-dessous :
- Au début, le capteur est sec et hors de l'eau. La LED verte est donc allumée.
- Puis le capteur est plongé dans l'eau et la LED jaune s'allume.
- Lorsque le capteur est entièrement immergé, la LED rouge et la LED relais s'allument.
- En ressortant un peu le capteur de l'eau, la LED jaune s'allume signe de retour à un niveau normal. La LED relais reste allumée.
- Une fois le capteur sorti de l'eau et sec (on le secoue pour faire tomber les gouttes), la LED verte s'allume à nouveau.
Le test nous permet de voir que notre matériel et notre branchement fonctionnent à merveilles !
Montage du capteur de niveau d'eau
Afin de remplir les réservoir des robots lorsqu'ils n'ont plus d'eau, nous avons acheter de quoi détecter les niveaux d'eau. Voici ce à quoi ressemble le kit à l'achat :
Après une matinée de montage, voilà à quoi ressemble la carte avec tous ces composants.
L'aide de Benoît nous est précieuse pour trouver notre source d'alimentation peu commune : 16 à 18V.
L'allumage de la LED verte indique que tout est correctement soudé et branché.
![]() |
| Kit à plat du capteur de niveau d'eau. |
![]() |
| Capteur de niveau et carte permettant l'analyse du niveau d'eau. |
Après une matinée de montage, voilà à quoi ressemble la carte avec tous ces composants.
![]() |
| Une fois tous les composants mis en place... |
L'aide de Benoît nous est précieuse pour trouver notre source d'alimentation peu commune : 16 à 18V.
![]() |
| ...test du branchement de la carte. |
mercredi 21 mars 2012
Matériel utilisé pour les SAP
Arduino
Tout d'abord nous avons un Arduino Uno SMD. Un Arduino est un circuit imprimé dont les plans sont publiés en licence open source sur lequel se trouve un micro-contrôleur qui peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la charge de batteries, la domotique, le pilotage d'un robot, etc.
Ces modules se posent sur les XBee shield vu plus haut.
Montage
Voici donc à quoi ressemble le tout une fois monté :
A cela, il faudra ajouter les capteurs de températures terrestres et aériens.
Tout d'abord nous avons un Arduino Uno SMD. Un Arduino est un circuit imprimé dont les plans sont publiés en licence open source sur lequel se trouve un micro-contrôleur qui peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la charge de batteries, la domotique, le pilotage d'un robot, etc.
![]() |
| Voici notre Arduino Uno SMD. |
Le langage de programmation utilisé est le C++, compilé avec avr-g++, et lié à la bibliothèque de développement Arduino permettant l'utilisation de la carte et de ses entrées/sorties.
XBee shield
Cette petite plaque se pose sur l'Arduino Uno afin de faire le lien avec le module XBee (voir ci-dessous).
XBee S2
Les modules XBee permettent de communiquer grâce au ZigBee (protocole de haut niveau permettant la communication de petites radios pour les réseaux à dimension personnelle). Nous avons 2 types de modules XBee : avec antenne planaire et avec antenne fouet. Nous pensons utiliser ceux avec l'antenne planaire pour les SAP et ceux avec l'antenne fouet pour les robots.
![]() |
| XBee S2 avec antenne planaire |
![]() |
| XBee S2 avec antenne fouet |
Montage
Voici donc à quoi ressemble le tout une fois monté :
A cela, il faudra ajouter les capteurs de températures terrestres et aériens.
mercredi 22 février 2012
Notre plateforme de développement
Roomba
iRobot est une société américaine spécialisée dans la conception et la vente de robots : Roomba (aspirateur), Scooba (serpillière), Create (base de développement)... Les Roomba fabriqués après octobre 2005 contiennent une interface électronique et logicielle permettant la modification du firmware (logiciel interne) et ainsi, le contrôle, la modification du comportement et la lecture des données recueillies par les capteurs du robot. Cette fonction, appelée iRobot Roomba Open Interface par le constructeur, a été introduite afin d'encourager les programmeurs et ingénieurs en robotique à apporter leurs propres améliorations au Roomba.
TurtleBot
TurtleBot est une base de développement robotique bon marché, avec un logiciel open-source. Le TurtleBot complet contient les éléments suivants :
Nous avons commandé 3 kits TurtleBot avec seulement les éléments qui nous intéressaient, à savoir :
A cela nous avons ajouté 2 Roomba achetés chez Darty (l'université possédait déjà un 3ème Roomba).
Voici une comparaison des différents matériels :
Gumstix
Notre gumstix est l'Overo Water avec une carte d'extension Summit. On peut y insérer une carte micro SD et il possède un port HDMI.
iRobot est une société américaine spécialisée dans la conception et la vente de robots : Roomba (aspirateur), Scooba (serpillière), Create (base de développement)... Les Roomba fabriqués après octobre 2005 contiennent une interface électronique et logicielle permettant la modification du firmware (logiciel interne) et ainsi, le contrôle, la modification du comportement et la lecture des données recueillies par les capteurs du robot. Cette fonction, appelée iRobot Roomba Open Interface par le constructeur, a été introduite afin d'encourager les programmeurs et ingénieurs en robotique à apporter leurs propres améliorations au Roomba.
TurtleBot
TurtleBot est une base de développement robotique bon marché, avec un logiciel open-source. Le TurtleBot complet contient les éléments suivants :
- iRobot Create (version US) ou iRobot Roomba (version Européenne)
- Power board (carte électronique d’interfaçage) avec gyroscope (version US) et sans gyroscope (version Européenne)
- Microsoft Kinect
- Netbook
- Structure TurtleBot (étagères)
Nous avons commandé 3 kits TurtleBot avec seulement les éléments qui nous intéressaient, à savoir :
- Power board (carte électronique d’interfaçage) sans gyroscope
- Structure TurtleBot (étagères)
A cela nous avons ajouté 2 Roomba achetés chez Darty (l'université possédait déjà un 3ème Roomba).
Voici une comparaison des différents matériels :
Gumstix
Notre gumstix est l'Overo Water avec une carte d'extension Summit. On peut y insérer une carte micro SD et il possède un port HDMI.
mercredi 1 février 2012
Réunion du mardi 31 janvier au soir avec Philippe Gaussier
Horaire : de 17h30 à 18h30
Lieu : salle de projet
Ordre du jour :
Voici ce que nous avons défini ensemble :
Lieu : salle de projet
Ordre du jour :
- Définir nos étapes de conception
Voici ce que nous avons défini ensemble :
Réunion du mardi 31 janvier à midi avec Pierre Andry et Philippe Gaussier
Horaire : de 13h00 à 14h00
Lieu : salle de projet
Ordre du jour :
Encadrants référents
Pierre Andry et Philippe Gaussier acceptent d'être nos encadrants référents et aussi nos clients.
Point sur l'avancement
Sous-projet pour les M1
Rappel :
Le sujet que nous proposions aux M1 était de s'occuper du rechargement en eau et en énergie de nos robots (placer correctement le robot, déclencher les rechargements, ne pas inonder le sol...).
Les M1 ont déjà choisi leur sujet donc nous devrons gérer les rechargements nous-même.
Lieu : salle de projet
Ordre du jour :
- Encadrants référents
- Point sur l'avancement
- Sous-projet pour les M1
Encadrants référents
Pierre Andry et Philippe Gaussier acceptent d'être nos encadrants référents et aussi nos clients.
Point sur l'avancement
- Nous choisissons de travailler sur les Roombas plutôt que sur les Koalas.
- Nous avons un TurtleBot de monté.
- Ali a installé Ubuntu sur les 2 ordinateurs à notre disposition.
Sous-projet pour les M1
Rappel :
Le sujet que nous proposions aux M1 était de s'occuper du rechargement en eau et en énergie de nos robots (placer correctement le robot, déclencher les rechargements, ne pas inonder le sol...).
Les M1 ont déjà choisi leur sujet donc nous devrons gérer les rechargements nous-même.
jeudi 26 janvier 2012
Montage d'un TurtleBot
Nous avons commandé 2 Roomba 531 et avions déjà 1 Roomba 530 en stock, ce qui fait 3 Roomba à notre disposition désormais. Il s'agit d'aspirateurs intelligents et autonomes capables de détecter les escaliers et d'éviter les obstacles. Ils sont livrés avec 2 murs virtuels, les empêchant de passer une porte ou de délimiter un coin de la pièce.
| Roomba 531 |
Après quelques mois d'attente, nous voici également avec 3 TurtleBot (1 pour chaque Roomba). Ils se sont fait désirer mais au final ils sont quand même arrivés.
| TurtleBot démonté et Roomba 531 |
Marianne, Abdelali et Saliou ont donc monté un des TurtleBot : 4 étagères et une carte "TurtleBot Power and Sensor Board".
| Phase de montage du 2ème plateau |
| Dernier étage du TurtleBot |
Quelques coups de tournevis, des mains expertes, et voilà le résultat :
| TurtleBot complètement monté |
| Tout en transparence |
Alerte :
Nous réalisons que nous n'avions pas pensé au fait que la hauteur des TurtleBot n'était pas détectée par le robot. Si le robot arrive face à un mur, il le voit vu que c'est à sa hauteur. S'il arrive face à une chaise, il pense qu'il peut passer dessous vu que ses capteurs sont au niveau du sol mais en fait la hauteur des étagères l'en empêche. Il va falloir trouver une solution à ce problème.
lundi 17 octobre 2011
Réunion du lundi 17 octobre 2011
Horaire : de 10h30 à 19h30
Lieu : salle de projet
Ordre du jour :
Lieu : salle de projet
Ordre du jour :
- Finaliser la liste du matériel
Liste du matériel
samedi 15 octobre 2011
Réunion du samedi 15 octobre 2011
Horaire : de 10h30 à 17h
Lieu : chez Geoffroy
Ordre du jour :
Lieu : chez Geoffroy
Ordre du jour :
- Choix de l'activité
- Définition des tâches effectuées par les robots
- Liste du matériel
- Liste des compétences des différents membres de l'équipe
Choix de l'activité
Etant donné que nous n'avons pas eu d'autres bonnes idées d'activité pour les robots, nous restons sur le thème du jardinage. Activité jardinage validée par toute l'équipe.
Tâches à effectuer par les robots et liste du matériel
Voici les tâches que devront effectuer les robots, l'ordre dans lesquels nous allons les traiter et le matériel correspondant pour les robots :
Tâches à effectuer par les robots et liste du matériel
Voici les tâches que devront effectuer les robots, l'ordre dans lesquels nous allons les traiter et le matériel correspondant pour les robots :
- Se déplacer
- Mouvements de base (avancer, reculer, tourner)
- Plateforme robotique
- Eviter les obstacles
- Capteurs de proximité
- Se localiser dans l'environnement
- Repérer les portes
- Caméra
- Connaitre sa position
- Boussole
- Gyroscope
- Se diriger vers une balise émettrice (placé à un endroit spécifique, venant d'une plante...)
- Balises émettrices
- Récepteurs
- Système multi-agents
- Communiquer (s'envoyer des messages, recevoir des messages, analyser les messages)
- Système sans-fil
- Coopérer (relayer des informations, répartition des tâches, calcul partagé)
- Gumstix
- Capter les besoins de la plante
- Capter le taux d'humidité
- Capteur de taux d'humidité
- Système sans-fil
- Capter la température ambiante
- Capteur de température
- Se recharger en énergie
- Gérer son niveau de batterie
- Se placer au bon endroit sur la base
- Base de rechargement
- Actionner le chargement
- Se remplir d'eau
- Aller à la base de remplissage
- Ouvrir le contenant
- Réservoir
- Actionner le remplissage
- Capteur de niveau d'eau
- Refermer le contenant
- Arroser
- Viser la plante
- Caméra
- Verser plus ou moins d'eau
- Pompe
- Tuyau
- Bras
Matériel annexe :
...
...
Problématiques : Comment repérer une plante ?
- Reconnaissance visuelle. Trop compliqué : toutes les plantes n'ont pas la même forme, taille, couleur...
- Coordonnées en dur. Problème : si on déplace la plante, le robot arrose à coté.
- Mettre un émetteur directement dans le pot de fleur. Pour l'instant nous restons sur cette idée.
Liste des compétences des différents membres du projet
Tableau fait sous Google Docs en mode privé.
mercredi 5 octobre 2011
Réunion du mardi 4 octobre 2011
Horaire : de 9h à 12h
Lieu : fac
Ordre du jour :
Lieu : fac
Ordre du jour :
- Définition des responsabilités en gestion de projet
- Définition des responsabilités techniques.
Responsabilités en gestion de projet
- Chef de projet : Geoffroy
- Gestion de projet
- Planning
- Coordination de l'équipe
- Communication : Marianne
- Relation avec les contacts externes
- Rédaction des documents
- Tenu du blog et du forum
- Pilotage : Saliou
- Différence entre ce qui est prévu et réalisé
- Qualité
- Retour sur le travail effectué
- Développement :Aro
- Langage
- Conception logicielle
- Tests
- Matériel : Abdelali
- Inventaires
- Achats
- Rangement
- Activité : Marianne
- Lien avec la maison intelligente
- Capteurs
- Actionneurs
- Embarqué : Geoffroy
- Capteurs de proximité
- PC/FPGA
- Carte de contrôle
- Vision : Abdelali
- Localisation
- Reconnaissance de l'environnement
- Système multi-agent : Saliou
- IA
- Calcul distribué
- Mémoire partagée
- Communication : Aro
- Protocoles
- Connectique interne
- Réseau sans-fils
jeudi 22 septembre 2011
Collaboration de robots mobiles
Description
Un ensemble de n robots mobiles collaborent afin de réaliser une(/des) mission(s) commune(s). L’idéal serait qu’ils puissent mettre en commun l’ensemble de leurs capacités : physiques, "intelligence"/calcul, mémoire. Le nombre n de robots est arbitraire : on peut en rajouter pendant la mission pour augmenter les capacités, et le retrait ou la défaillance d’un robot est géré (les robots restants essayent de réaliser la mission en cours au mieux).
Type de robots mobiles : terrestres, à roues, d’intérieur, identiques
Notions pouvant être utilisées : Embarqué, temps réel, traitement du signal/d’images, I.A. (reconnaissance d’objets, pathfinding, …), système multi-agents, mémoire partagée, calcul distribué, datamining, réseau mobile, …
Idées de missions
- Cartographie (mapping) : Les robots explorent et analysent chacun une zone/parcelle d’un terrain (ex : salle de cours) et rassemblent leurs informations pour créer une carte de l’ensemble du terrain;
- Rangement : Les robots rangent une salle (ex : sol d’une chambre). Ils peuvent trier des objets en se spécialisant par types d’objet, s’aider pour déplacer des objets lourds/larges, associer des objets servant à la même fonction (raquette et balles de tennis), etc.;
- Ménage : Les robots aspirent/lavent le sol d’une pièce. Ils coopèrent pour nettoyer les endroits difficiles (grosse quantité de saletés/tâche, gestion des obstacles).
- Surveillance : Les robots surveillent un terrain et, si un problème survient, ils s’entraident pour le résoudre (repousser un intrus, faire de « l’aide à la personne (âgée, enfant/bébé)»;
- ...
Matériel
Le matériel dépendra de la (/des) mission(s) choisie(s) mais on aura au moins besoin de plusieurs plateformes mobiles comprenant chacune :
- Un châssis et sa motorisation (moteurs + roues);
- Des capteurs de proximité (Infra-Rouges ou/et Ultra-Sons);
- Une partie (carte) électronique gérant la motorisation (déplacement basique : avancer/reculer, tourner, …);
- Une partie (carte) électronique gérant les capteurs (détection d’obstacles).
Ce qui sera aussi inclus ou alors rajouté :
- Matériel/Périphériques/Organes (avec actionneurs et capteurs) permettant d’effectuer la mission, ex : système de préhension (pince/bras) pour manipuler un objet, (+ carte électronique de gestion si nécessaire);
- « Système informatique » (ordinateur embarqué/SoC), pour la gestion « haut niveau » du robot (par rapport au cartes filles) et de la flotte (ensemble des robots) avec (grosse) puissance de calcul, mémoires (de travail, partagée, de stockage), communication périphériques (cartes filles), communication réseau sans fil (Zigbee);
- Caméra(s) et/ou Laser pour la vision (+ carte électronique de prétraitement si nécessaire);
- Alimentation (Batteries + Secteur pour tests statiques).
Une Base (PC/Smartphone) permettra d’envoyer l’ordre de mission et d’avoir un retour sur l’avancée de la mission. L’opérateur pourra aussi donner des ordres simples (arrêt de la mission en cours, ralliement des robots en un point donné, …). La prise de contrôle en manuel d’un robot pourrait être aussi une possibilité mais un des objectifs principaux est que les robots travaillent en autonomie. Même réflexion pour envoyer du calcul à la base.
Inscription à :
Articles (Atom)




















