FlorentMouysset / sma_project

0 stars 0 forks source link

[Sondage] Comment : tuer des robots / en ajouter / savoir que le rangement est fini ? #6

Open FlorentMouysset opened 10 years ago

FlorentMouysset commented 10 years ago

La modification du couloirs impose de tuer des robots. Comment le faire ? Je propose une méthode très simple :

Comment ajouter des robots ? Proposition : Ajouter une interface provide à écosystème avec une méthode "addRobot(nbNewRobot)". Ce service est, alors, exporté par le warehouse pour être visible de la GUI.

Comment savoir que le rangement est terminé ? Proposition : Cela est plus compliqué ... L’écosystème Robots pourrait proposer une méthode qui indique si des agents robot travails ou pas. -Il faut donc un état dans les robots. Les robots sont dans l'état "finish" quand ils ne trouvent plus de ressources dans la zone pull.

darondel commented 10 years ago

Comment savoir que le rangement est terminé ?

L'environnement ne peut pas indiquer à un robot s'il reste une ressource à prendre (les robots sont autonomes). Les robots ne peuvent pas indiquer à un autre robot qu'il n'y a plus de ressource (pas de communication)

Donc : il faut que le robot le découvre par lui-même

==> A coder dans percevoir (tour de l'entrepot) / décider (se suicider) / agir (se détruire et notifier l'environnement)

FlorentMouysset commented 10 years ago

ok @dam4256. Par contre comment le notifier à l'environnement ? -> Ajouter une méthode dans "IEnvironnementActions" du genre "robotIsDeadAtPosition(Position position)" ? ou bien (+ simple) -> Un "moveRobot" sur une position en dehors de l'entrepôt (ex:-1 -1)?

Quand est-t-il des autres questions : la suppression et l'ajout de robot ?

FlorentMouysset commented 10 years ago

"Comment ajouter des robots ?" Une nouvelle synthèse de ce problème est faite dans #7 .