Subject: Re: Le Défi est remporté ! ( 2)
From: Yves Gufflet
Date: Tue, 04 Apr 2006 23:37:04 +0200
To: Pascal BOUCHER
CC: Thomas Partiot , Nicolas Gufflet , Eric Arrigo

Salut tout le monde,

Pascal je note que tu n'utilises pas l'adresse du projet  ProjetSYR@googlegroups.com.
C'est volontaire ou pas ?
Je comprend pas, faudra que tu m'expliques...

Sinon, ben oui le défi d'évaluation je l'ai pris je l'ai retourné et je l'ai cassé en deux !!!
Mais bon sang c'est qu'il nous a donné du fil à retordre et puis à chaque fois qu'on avance un peu et qu'on croit qu'on y est, v'la que y'a un problème qui survient ! Ah la la, heureusement que SYR est cool sinon je me serais déja jeté par la fenêtre en m'arrachant les cheveux (et en criant, tout ca en meme temps, rendez vous compte l'état de stress).
Ceci étant dit c'est l'occasion de se défouler et de trouver de nouveaux jurons.

Enfin, voila que SYR a relevé son premier défi. Finalement 10m en ligne droite c'est pas très impressionnant sauf que bon c'est pas une ligne droite complète sinon il y arriverait pas. Y'a des vidéos, mais des soucis encore donc je vous les transfers sous peu.

Bref, pour avoir une idée à 10m, la cible elle fait 3-4 pixels. En fonction des règlages de l'algo de filtrage et surtout de si y'a un nuage ou pas, c'est vraiment très variable et ma quantité de rouge mesurée passe de 3 à 20 (c'est une quantité qui a pour unité le Yvesgramme c'est à dire que ca vous dit pas grand chose mais que quand il s'agit de mettre un seuil entre 3 et 20 ca fait une grosse fourchette je vous le dit). En tout cas le barycentre est un point qui se trouve pile sur la cible !

Enfin cette quantité elle est variable et elle ne devrait pas l'etre autant. Comme Pascal l'a raconté la caméra se plante quand je la met dans le règlage du gain automatique. Alors il faut croire que il faudrait qu'on résinstalle la caméra et puis windows tant qu'on y est parce que des webcams y'en a 40 dans la base de registre. Avec une image stable niveau luminosité ca serait beaucoup mieux.

Une autre solution est d'utiliser les algo bien pratiques de Nico disponible dans le SYR Tool 2.0. D'ailleurs ceux qui serait intéressé par programmer une balance automatique des blancs etc.... pourront le faire. Donc si vous vous appelez Nicolas et que vous travaillez en Allemagne si ca se trouve vous pouvez vous sentir visé. Enfin il faut attendre que le SYR Tool 2.0 soit FULLY FONCTIONAL quand j'aurais implémenté et intégré la télécommande c'est à dire sous peu (oui je sais je l'ai déja dit).

Concernant l'algo de recherche de cible il est simple comme "Bonjour je m'appelle SYR"

SYR peut etre dans 3 états.
1° il recherche la cible en tournant sur lui meme
2° il a repéré la cible et lui fonce dessus
3° il est assez près de la cible et s'arrete

Dans l'état 1, SYR faire des pas de quelques degré toutes les N ms (idée suggérée par Pascal) jusqu'à ce qu'il détecte assez de rouge (d'où le seuil entre 3 et 20, je rappelle pour le fun que l'idée de quantifier le rouge a été proposée par Eric). Le barycentre des pixels rouges est considéré comme étant le centre de la cible.
La on peut imaginer que la cible rentre dans le champ de vision.
SYR va continuer à tourner sur lui meme jusqu'à ce que la cible soit "à peu près en face" de lui.
Il va considérer alors qu'il a repéré la cible et il va passer dans l'état 2.
Avant de continuer sur la description de l'état 2, une petite remarque sur le terme "à peu près en face"
C'est à dire que la on défini une bande verticale sur l'image dans laquelle on souhaite que la cible soit avant de se mettre à avancer (proposition de Pascal)
En effet si on avance dès que la cible entre dans le champ de vision elle a de grandes chances de sortir de l'écran vite fait.
Une précision sur l'algorithme que Pascal a constaté et qui fait que SYR se déplace "intelligemment" vers la gauche ou va la droite quand il recherche la cible,
est la résultante d'une amélioration suggérée par Nicolas. Dans ce cas de figure, SYR dit qu'il recherche la cible, alors qu'en fait il sait très bien ou elle est.
C'est à dire qu'il la voit mais qu'elle n'est pas dans la bande, donc il peut tourner "intelligemment" à droite ou à gauche afin de positionner la cible dans la bande comme si il avait mémorisé sa position.
Bref, SYR fait son malin.

Dans l'état 2, SYR se trouve à peu près face à la cible.
Il avance alors les 2 moteurs avec des vitesses dont la différence est proportionnelle au décalage de la cible avec le centre de l'image.
Ainsi si la cible est "carrément" à droite de la bande, il va aller "carrément" plus vite à gauche qu'à droite.
De même, si la cible est "légèrement" décalée sur la gauche par rapport au centre, il va aller "légèrement" plus vite à droite.
Ce "légèrement" ou ce "carrément" correspondent à des petits règlages de quelques variables dans le calcul des vitesses et que j'ai effectué en ligne en prenant en compte le retour de Pascal. Par ailleurs, il a fallut également règler les vitesses de bases car il faut plus de puissance sur du gravier que sur du parquet.

SYR se déplace ainsi vers la cible jusqu'à ce qu'il voit plus de 3500 Yvesgrammes de rouge.
La il passe dans l'état 3 et s'arrete.
Au dela de cette limite, SYR est à peu près à 50cm de la cible.
C'est à dire que j'ai demandé à Pascal de mettre SYR à 50 cm de la cible et que j'ai mesuré combien j'avais de Yvesgrammes.

Voila, le défi est relevé ainsi qu'un certain nombre de points :
- il nous faut un algorithme pour gérer les variations de luminosités.
- il nous faudrait implémenter un algo de règlage de vitesse moteur en fonction de l'image. Par exemple, l'algo de Pascal, tant que l'image ne bouge pas, j'accélère afin de s'abstraire du type de sol (gravier, parquet) ainsi que de la charge des batteries. Cet algo est implémentable facilement avec SYR Tool 2.0 puisque il existe des algo de détections de mouvement.
- le PIC nouveau devrait améliorer un certain nombre de points notamment le décalage entre le démarrage du moteur droit par rapport au moteur gauche lorsque l'on va en ligne droite. On espère donc que le PIC pourra nous les démarrer en meme temps.
- VNC quand ca marche c'est supportable. Depuis qu'on a fait un reboot de tout le boxon d'accès à internet il semblerait que ca marche pas trop mal et en Wi-fi, dans le vouerec. je suis pas sur d'avoir été face à la fenetre tout le temps.

Voila, au programme bientot il y a :
- le SCS que l'on attend avec impatience
- la télécommande à laquelle je vais m'atteler
- le SES
- le SYR Tools 2.0 FULLY FONCTIONNAL

Avec ca, Thomas pourra développer ses algo notamment grâce au SCS et SES.
Nico et Pascal aussi notamment grâce au SYR Tools 2.0

Voila, SYR compte sur votre énergie aussi,
N'hésitez pas à prendre des initiatives !

En tout cas le 1er défi a été relevé collectivement meme si c'est moi qui l'ai mené à terme.
Le deuxième défi est à inventer : recherche et arrimage à la station de recharge ? stéréoscopie et reconstruction 3D de l'environnement ?
Bref, c'est à votre imagination de se faire plaisir !

A+

Yves.

Pascal BOUCHER wrote:
Défi ...la suite !