Differences

This shows you the differences between two versions of the page.

Link to this comparison view

old_index [2008/12/18 11:25] (current)
hadrien created
Line 1: Line 1:
 +[[en_start|{{http://​upload.wikimedia.org/​wikipedia/​commons/​thumb/​0/​0b/​English_language.svg/​120px-English_language.svg.png?​50}}]] [[en_start|English version]]
 +
 +====== Projet HBot ======
 +
 +
 +===== Aperçu du projet =====
 +
 +HBot est un projet de robotique et d'​informatique. Les principaux objectifs de ce projet sont les suivants:
 +
 +  * Produire un robot capable de comprendre un ordre vocal de type "Va me chercher une bière dans le frigo",​ capable de s'​orienter (en l'​occurrence,​ aller au frigo), capable de prendre un objet (... une  bière?), et de l'​amener à son point de départ (moi).
 +  * Apprendre la robotique, et l'​intelligence artificielle.
 +  * Fournir des éléments techniques et informatiques les plus ouverts possibles, les plus construits et aboutis possibles, sous la forme d'un projet collaboratif (même si je suis seul initiateur pour l'​instant) [[open-source]],​ [[http://​www.boost.org/​community/​generic_programming.html|générique]],​ et portable vers d'​autres contextes.
 +
 +Je suis informaticien,​ et non électronicien ou doué en bidouilles mécaniques. J'ai donc eu dans l'​idée d'​apprendre le minimum nécessaire pour mettre ensemble des blocs mécaniques et électroniques,​ et d'​utiliser autant que possible des éléments d'​informatique évoluée (ce qui est plus dans mes compétences que la programmation de micro-contrôleurs). Par conséquent,​ tous les éléments de robotique sont des éléments standards ou documentés et référencés ici; le contrôle de l'​électronique et l'​intelligence artificielle est localisée dans un PDA sous Linux connectée à l'​électronique. ​
 +
 +===== A propos de l'​auteur =====
 +
 +Hadrien Hamel, joignable par GMail (prenom.nom@gmail.com),​ j'​habite en France à Paris. Ingénieur de formation, je suis architecte logiciel pour un constructeur de téléphones portables américain. Mon CV est disponible en PDF sur [[http://​www.benou.fr/​~hadrien/​CV2008.pdf|cette page]].
 +
 +===== Projets fous =====
 +
 +Dores et déjà, faire un robot pour aller chercher une bière dans un frigo, lorsqu'​on est tout seul et qu'on n'y connait encore rien, c'est fou. En y allant étape par étape, je pense quand même pouvoir faire un robot qui sache se déplacer à un endroit qu'il a appris; si j'y parviens, je considèrerais déjà mon travail comme une réussite. Mais on pourrait faire beaucoup d'​autres choses intéressantes à partir de là, voici une liste non-exhaustive:​
 +  * communiquer sur le projet à destination d'​autres équipes de robotique amateur, pour que son utilisation s'​étende
 +  * rendre complètement générique les éléments qui dépendent encore du matériel, grâce par exemple à la cinématique inverse; pour cela, le projet [[http://​claraty.jpl.nasa.gov/​man/​overview/​index.php|CLARAty]] de la Nasa (rien que ça) est très interessant.
 +  * utiliser des concepts avancés d'​intelligence artificielle,​ tels que ceux énoncés dans la [[http://​www.amazon.fr/​Intelligence-Artificielle-Stuart-Russell/​dp/​2744071501/​ref=sr_1_1?​ie=UTF8&​s=books&​qid=1217504516&​sr=8-1|bible de l'​IA]].
 +
 +====== Le robot ======
 +
 +===== Plan de route =====
 +[[Etape 0]]: Préparer les éléments de base et leur communication;​ Etudier les interactions entre éléments électroniques (voir [[Communication dans HBot]])
 +  - Mobile conscient de son environnement
 +    - [[HBot 1G Etape matérielle|Etape matérielle]] : Robot à roues avec télémètre balayant
 +    - [[HBot 1G Etape IA|Etape IA]] : Génération de carte, déplacement dans cette carte
 +  - Amélioration de la précision
 +    - [[HBot 2G Capteurs|Amélioration des capteurs]] : Ajout de télémètres ou utilisation d'une caméra pour améliorer l'​influx d'​information permettant la localisation du robot et la détection de son environnement
 +    - [[HBot 2G Moteurs|Amélioration de la motorisation]] : Ajout de roues codeuses, éventuel changement du contrôleur moteur et des moteurs ([[Moteurs DC|DC]] vs. [[Moteurs pas-à-pas|pas-à-pas]])
 +    - [[HBot 2G IA|Amélioration de l'IA]] : des algorithmes plus violents, mais plus efficaces, peuvent surement être employés; à étudier.
 +  - Etablissement de l'​interface Humain/​Robot
 +    - [[HBot 3G Reconnaissance Vocale|Reconnaissance Vocale]]
 +    - [[HBot 3G Synthèse Vocale|Synthèse Vocale]]
 +  - Préhension
 +    * tout reste à décider ici.
 +  - Autonome dans la recharge de batterie
 +    - [[HBot 5G recharge universelle|Une seule entrée de charge]] : dans la mesure du possible, charger le robot en fonctionnement (c'est à dire sans couper l'​alimentation des fonctionnalités coeur), et utiliser une seule entrée d'​énergie,​ répartie entre les différents blocs batterie. Cela nécessitera un sérieux travail d'​électronique de puissance pour tirer des lignes de tension différentes...
 +    - [[HBot 5G induction|Utiliser une base à induction]] : au lieu d'​avoir une prise électrique,​ utiliser une base (posée à terre, ou bien alignée sur un mur) qui émet un courant induit reçue par le robot, sur le modèle des plaques à induction en cuisine (sauf qu'on veut pas cuire notre robot, seulement récupérer l'​énergie). Cela permettrait une autonomie du robot, qui n'​aurait plus qu'à aller vers sa base pour se recharger, ainsi que des contraintes mécaniques moindres que l'​utilisation d'une prise (car il faudrait que le robot "​vise"​ la prise, ce qui me semble délicat).
 +  - Finalisation
 +    * pour tout ce qui manquerait et que je ne vois pas pour l'​instant.
 +
 +===== Status =====
 +
 +Les premiers tours de roue "​autonome"​ sont là, avec l'​algorithme de discovery. Voyez [[http://​blip.tv/​file/​get/​Hadrien-HBotOctober2008419.mpeg|la vidéo]] suivante : 
 +
 +{{bliptv>​1444570}}
 +
 +
 +
 +Plus de détails dans la page [[status]] dédiée. Pour l'​histoire (courte, mais intense) du projet HBot, rendez-vous sur la page d'​[[historique]].
 +
 +
 +====== La plateforme logicielle ======
 +
 +La base du logiciel utilisé sur l'EZX serait constituée par [[OpenEZX]] et [[OpenEmbedded]]. Si nécessaire,​ il y aura également changement du firmware du [[SSC-32]], mais ce n'est pas à l'​ordre du jour pour le moment.
 +
 +Le développement de la pile logicielle du robot sera fait en C++, en se basant sur l'​écosystème très fourni que l'on trouve en open-source pour linux (ou autres *nix).
 +
 +HBot n'en est qu'à ses balbutiements,​ cependant si vous êtes curieux, vous pouvez en apprendre plus sur l'​[[archi_1g|architecture logicielle de l'​étape 1]]. Le projet logiciel sera écrit en C++ principalement pour des raisons de performances. Il y aura probablement des bindings python par-ci par-là, car ce pourrait être bien pratique pour effectuer des tests rapides.
 +Une liste des [[dépendences logicielles]] est désormais disponible.
 +
 +Un début de travail sur l'​[[archi_2g|architecture de seconde génération]] est également disponible, car quelques fonctionnalités ont été décalées de 1G vers 2G.
 +
 +Rendez-vous sur la page des [[releases]] pour récupérer la version actuelle de la partie logicielle.
 +
 +====== Remerciements ======
 +
 +Un grand merci à Benoit pour son serveur fort confortable.
 +Merci aussi à Jean et Jeremy pour leurs conseils éclairés sur divers aspects de la robotique.
 +
  
 
old_index.txt · Last modified: 2008/12/18 11:25 by hadrien
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS La rache Driven by DokuWiki