jeudi 22 décembre 2011

Wheel encoders !

These wheel encoders are designed for the Boe-Bot, and installing them is a piece of cake, even on such a customized robot...
The servos are mounted outside of the chassis on my Boe-Bot, so I added some spacers to simulate its thickness. This will ensure the coders are at the distance of the wheels than they are supposed to be.


The only "issue" is the access to the breadboard and the BS2 I/O connectors. It's getting crowded in there and I don't really like that : I might build a 16x3 connector to avoid having a web under the PC104... Another idea...



First, I tried the 5 pointed star path provided by Parallax to test the sensors : they work fine but they need some calibration. Not a real surprise though...

For the calibration, I followed the instructions provided with the encoders. These sensors can be very powerful / complicated, so I try to learn how to use them from the beginning... Tonight, I was able to run the calibration program twice, and the measures seem to be constant enough. Here is an example of calibration result, using the Calibrate_All.exe tool :


That's all for tonight !

mardi 20 décembre 2011

Noël et bonnes résolutions avant l'heure

Malgré le manque de temps, je n'ai pas pu résister à m'offrir quelques cadeaux de chez Parallax :



Me voici donc heureux propriétaire d'un BS2PX, de 2 Pings))) et de codeurs de roue. Pourquoi cet investissement sur la platine microcontroleur alors que le PC104 présentent pas mal d'avantages : la puissance de calcul est supérieure, la complexe concurrence d'évènements pourrait être centralisée et traitée à l'aide d'un outil spécialisé comme MS-RDS...

Les réponses sont multiples et font appel au bon sens. Ce sont mes bonnes résolutions pour ce projets.

1. La puissance et l'architecture du PC104 ne permettent pas de centraliser toute la gestion du robot. L'expérience montre qu'avec la configuration matérielle actuelle, le PC104 doit être épargné au maximum pour rester performant en traitement d'image. "Toutes" les autres tâches seront donc confiées au BS2. C'était mon plan initial, mais j'ai dévié de cet objectif en explorant diverses pistes. Retour aux sources !

2. Le BS2 est sous-employé, employons-le ! De plus, une promotion intéressante sur le site du fabricant va me permettre de changer pour le plus rapide de la famille Basic Stamp. J'espère que cela permettra d'absorber les nouvelles tâches, mais aussi que cela aidera à améliorer la qualité des échanges avec le PC104. Ce dernier point m'avait semblé influent lors de la programmation Object Avoidance. Le BS2PX offre 126 octets de buffer sur l'instruction de réception série asynchrone SERIN. Intéressant.

3. Les codeurs de roue ouvrent des possibilités intéressantes pour la navigation, en améliorant largement la notion de Dead Reckonning. Mon objectif en commençant ce robot était de fabriquer un "véhicule" pouvant se déplacer de manière autonome dans un environnement hostile et complexe : un appartement... Avec les codeurs, il sera normalement capable de partie à l'aventure, puis de revenir à son point de départ. En tout cas suffisamment proche de son point de départ pour qu'il puisse utiliser d'autres capteurs pour affiner son positionnement (reconnaissance d'image par exemple).

4. Enfin, depuis le démontage des capteur latéraux IR, le robot est un peu démuni pour la détection rapide d'obstacles proches (hors vision). Un Ping))) devant chaque roue combleront de manque !

Plein d'idées et de nouveaux jouets, avec l'envie de travailler sur la fonction "Navigation" du robot.