mon avis sur la question:
ton probleme est que, dans l'idée, à l'instant T, ton robot peut être à n'importe quel endroit puisqu'il va etre a la recherche des pommes dans les pieces.
du coup, perso, je ne pense pas que le systeme de ligne soit bien choisit puisque le robot devra s'en eloigner, ce qui sous entend qu'a un moment, il devra retrouver la ligne en question puis etre capable de s'orienter sur celle ci pour la suivre dans le sens voulu (vers la bonne piece de la maison :p )
le probleme se pose donc ainsi: le robot doit simplement etre capable de savoir dans quelle piece il se trouve. et la, c'est deja nettement plus simple
la solution de roboleo, marquer les portes, est vraiment séduisante dans la mesure ou, la porte etant un goulet d'étranglement, au moment ou le robot la passera au gré de ses déplacement, la zone a marquer sera restreinte et il sera facile de detecter un marquage spécifique; genre, une sorte de code barre au sol; le robot n'ayant qu'a compter le nombre de barre pour savoir quel seuil il est en train de passer, donc, partant du principe qu'il sait de quel piece il est patit a la base, il saura dans quel piece il entre
voila, maintenant, on sait reperer la piece dans laquelle on entre avec un seul capteur et un minimum de marquage.
nous reste a elaborer une structure de donnée performante pour trouver le bon chemin d'un point A à un point B. là, nous allons nous appuyer sur nos seuils et sur un structure en graph. chaque piece sera un sommet du graph et chaque seuil sera une branche du graph.
pour trouver le chemin, nous pourrons facilement adapter l'algo de dijkstra (
http://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra ), en le simplifiant puisque nous ne ponderons pas les branches du graph
maintenant, le robot sait en permanence dans quelle piece il se trouve, il sait quels seuils de porte passer pour se rendre dans la piece voulue et il sait reperer les seuils de porte quand il les passe.
a priori, en partant de la, on sait tout faire: le robot va suivre un deplacement donné dans chaque piece, le long des murs par exemple, jusqu'a trouver un seuil, de la, il le passe, si c'est le seuil voulu, il continu sa route jusqu'au prochain seuil du chemin vers sa destination, sinon, demi tour et on continue le tour de la piece
on peut accelerer le systeme en imaginant un mode de repérage des seuils de porte a distance; comme ca, le robot ne "tatonnera" pas pour trouver son chemin
.gif)
de meme, on peut memoriser un pseudo plan de chaque piece; pour que le robot sache un peu dans quel sens chercher le prochain seuil de porte
.gif)
on pourra aussi, dans la phase de recherche des objets, memoriser le chemin parcouru pour pouvoir le refaire en marche arriere et donc, retourner a un point connu (cela dit, avec les roues qui peuvent glisser, la precision des moteurs et tout le tintouin, on risque de se ne pas se retrouver a l'endroit initial
.gif)
)