Finalement la representation graphique du mebius en train de penser m’a emmene de plus en plus loin et voila deux semaines passees !
J’ai pu faire ce que je voulais, mais ca donne des choses dans ce genre (pour les curieux, le programme C genere un script POV-ray que j’execute pour produire l’image ci-dessous) :

Image

Pour moi qui sait ce que ca represente exactement c’est deja pas evident alors a expliquer ca va etre un roman, je laisse tomber. Par contre c’etait une bonne idee de le faire car ca m’a permis de me rendre compte de tout un tas de choses qui m’ont amene a ameliorer/corriger plusieurs bouts de l’algo. Du coup ca va plus vite, ca utilise moins de memoire et c’est plus performant. Cool !
Comme j’ai touche l’algo, je remet quelques courbes ici pour memoire des nouveaux resultats, a comparer avec les posts precedents.

Image

Distance a la cible avec modification du coefficient de deplacement. (sur le 3e intervalle le coefficient est trop faible par rapport a la vitesse de la cible, d’ou l’echec du mebius a converger)

 bigtest2

Distance moyenne a la cible en fonction de la quantite de memoire disponible et du nombre de reconfiguration du coefficient de deplacement. Wahoo, ca decoiffe ! Par rapport a la version precedente la distance moyenne minimale est divisee par deux, et elle est atteinte quelque soit le nombre de reconfiguration du coefficient de deplacement des 10ko de memoire (j’ai remplace la serie a 3mo par une serie a 3ko). En temps d’execution c’etait aussi 10% plus rapide (mais je n’ai toujours pas fait d’optimisation).

Maintenant, il y a encore autre chose que j’aimerai teste sur cette experience. Jusqu’a present je demandais au mebius de se tenir au plus proche de la cible, ce qu’il arrive a faire tres bien. Mais quand on regarde dans le detail ce qu’il fait, on se rend compte qu’il peut choisir de pousser a droite de 0.2 et a gauche de 0.1 pour se deplacer vers la droite de 0.1. Il a raison et ca marche tres bien, mais si on se place dans un contexte logiciel embarque ca pose un probleme : la probable consommation de resources inutilement. On peux imaginer des systemes ou (0.2,0.1) equivaut a (0.1,0.0) en terme de resources consommees, mais meme si ca peux exister il ‘en reste pas moins interressant de se pencher sur la question pour les systemes ou ce n’est pas le cas. Je peux tres simplement, via le fichier de configuration, lui demander de limiter autant que possible l’utilisation de ses ‘muscles’. D’un cote je lui demande de pas bouger pour economiser, de l’autre de bouger pour traquer la cible, comment va-t-il reagir ?
Egalement, avant l’experience suivante prevue, je pense que faire jouer le mebius au morpion permettrait de tester une autre problematique importante (qui etait aussi l’un des objectifs de l’experience suivante, mais noye dans un contexte plus complexe). Ca illustrerait aussi une application differente de celle du logiciel embarque, donc ca me semble interressant.
Enfin je continue a zieuter distraitement du cote de l’arduino, en cherchant une idee seduisante de collaboration mebius/arduino.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

%d blogueurs aiment cette page :