Arobot : Version 3.0
Par Jean Charles MAMMANA, jeudi 12 mars 2009 à 01:52 :: Programmation :: #54 :: rss
Là où la Version 2.0 n'était qu'un rafraichissement du projet initial, Cette version 3 fait table raz du passé et utilise une nouvelle plateforme pour de nouvelles aventures...
L'idée est toujours la même : réaliser un robot Wifi équipé d'une camera et piloté à distance depuis un PC ou un téléphone mobile.
Cette fois le châssis à été fourni par la société wifibot qui conçoit des châssis de robots tous terrain.
Cela me permet de me concentrer sur l'intégration des modules (wifi/camera/µC/contrôleurs...) et le développement logiciel (contrôle, IA, asservissement...).
Description général :
Toujours architecturé autour d'une Foxboard, le module wifi est remplacé par un module Wiligear WBD500 et le contrôleur de servos par un Lynxmotion SSC32. Le Châssis est équipé de 4 moteurs avec encodeurs en quadrature ainsi que d'un circuit contrôleur piloté en I2C. Pour assister l'asservissement en direction, un compas électronique Ocean Server OS5000 vient s'ajouter.
La webcam reste une hercule deluxe dont l'objectif à été changé (par un 135 degrés). La tête Pan/Tilt reste la même et une led luxeon produit assez de lumière afin de voir dans le noir avec la webcam. Leds pilotées par un circuit de relais pilotés.
Voici un petit gribouillis schématisant tout ce beau monde :

Applications
Ce robot reprend les applications réalisées par les précédentes versions, à savoir :
- Pilotage depuis un téléphone mobile (en Wifi).
- Tracking d'objets.
- Détection d'obstacles.
Mais ouvre aussi de nouvelles applications comme :
- Le suivis et la génération de trajectoires.
- Les applications de platooning.
- La modélisation d'environnement.
Programmation
Qui dit nouveau robot dit nouveaux programmes (clients et serveur).
Une fois n'est pas coutume, je ne distribuerai ni sources ni binaires des programmes développés.
Trois programmes tournent en parallèle sur le robot.
- Un serveur de streaming vidéo (le même que sur les précédentes versions).
- Un serveur permettant de piloter la tête de la camera ainsi que les leds.
- Le programme de navigation du robot. Il pilote les moteurs, calcule les trajectoires, fait la détection d'obstacles, cartographie l'environnement...
De l'autre coté d'autres programmes (codé en java) permettent de piloter et de récupérer les informations du robot. Ainsi il est possible de piloter le robot depuis un PC ou depuis un téléphone mobile (ou tout autre périphérique programmable équipé de wifi).
Projet
Cette liste décrit brièvement le temps passé sur chaque étapes de conception.
- Conception (Choix technologiques): 2 semaines.
- Prise en main du châssis : 1 jour.
- Développement asservissement + navigation odometrie : 8 jours.
- Développement communication réseau : 2 jours.
- Développement intégration boussole : 2 jours.
- Développement contrôle manuel (serveur + client) : 2 jours.
- Développement Contrôle camera : 1 jour.
- Portage linux (foxboard) : 3 jours.
- Assemblage robot : 4 jours.
- Tests et calibration : 9 jours.
Cela dit la détection et l'évitement d'obstacles n'a pas encore été intégrée.
Photos
(Les vidéos sont après)
Vidéos
Pilotage au manuel avec navigation au compas + odometrie
Génération et suivis de trajectoire. (Premier Test).
Génération et suivis de trajectoire avec vue embarquée. (Les vibrations perturbent le compas...) : Précision de 50cm sur 20m
Génération et suivis de trajectoire (Les vibrations perturbent le compas...) : Précision de 20cm sur 20m
Prochaines vidéos : génération de trajectoires avec évitement d'obstacles...

Commentaires
1. Le vendredi 13 mars 2009 à 23:56, par Etienne
2. Le vendredi 20 mars 2009 à 15:35, par know
3. Le jeudi 26 mars 2009 à 16:46, par jeremy
4. Le lundi 06 avril 2009 à 10:44, par cadeau anniversaire
5. Le mardi 14 avril 2009 à 23:53, par Gandoulf
6. Le mercredi 15 avril 2009 à 16:54, par psykokwak
7. Le mercredi 15 avril 2009 à 18:03, par Gandoulf
8. Le mercredi 15 avril 2009 à 23:46, par Psykokwak
9. Le dimanche 07 juin 2009 à 22:32, par bidibulle
Ajouter un commentaire