Mini simulateur robotique Java

Simulateur de tâches de haut niveau pour un robot mobile.

Copie d'écran du simulateur

Ce simulateur a été originalement conçu dans le cadre du cours IFT702 (été 2004) pour simuler les tâches de haut niveau d'un robot afin de servir de validateur de plans générés par des planificateurs. Ce simulateur ne simule aucunement la physique d'un robot ni l'incertitude liée aux capteurs.

Caractéristiques


Téléchargement

Sources

SimRobot_ift702-src.jar

Binaires

SimRobot_ift702.zip

Simulateur de conférence scientifique

Lancement du simulateur

Commande :
    java -jar SimRobot_ift702.jar

État initial

Menu : Simulator | Edit Current Stage
Edition de l'état intial

Planificateur standard (Metric-FF)

Entré du plan

Exemple de plan:
 step    0: GOTO STARTPLACE WP_0
         1: GOTO WP_0 FRONTROOM_1
         2: GOTO FRONTROOM_1 REGISTRATION
         3: REGISTER REGISTRATION
         4: GOTO REGISTRATION FRONTROOM_1
         5: GOTO FRONTROOM_1 STANDROOM_1
         6: WAIT-PRES-SESSION PRESSESSION1
         7: MAKE-PRESENTATION STANDROOM_1 PRESSESSION1
         8: GOTO STANDROOM_1 FRONTROOM_1
         9: GOTO FRONTROOM_1 FRONTROOM_2
        10: GOTO FRONTROOM_2 FRONTROOM_3
        11: GOTO FRONTROOM_3 P1
        12: WAIT-POST-SESSION POSTERSESSION0
        13: FIX-POSTER P1 POSTERSESSION0
        14: WAIT-PRES-SESSION PRESSESSION3
        15: REMOVE-POSTER P1 POSTERSESSION0
        16: GOTO P1 WP_1
        17: GOTO WP_1 FRONTROOM_2
        18: GOTO FRONTROOM_2 STANDROOM_2
        19: WAIT-PRES-SESSION PRESSESSION4
        20: MAKE-PRESENTATION STANDROOM_2 PRESSESSION4

Planificateur ConfPlan

Menu : Execution | Exécuter un plan ConfPlan

Exemple de plan :
  0. Goto(StandRoom_2)  MaxInterval=[29700,34200] MinInterval=[34048, 29852]
  1. ShowPres(StandRoom_2, 34200, 1200)  MaxInterval=[34200,35400] MinInterval=[34200, 35400]
  2. Goto(CoffeeRoom_Charger)  MaxInterval=[35400,35586] MinInterval=[35418, 35568]
  3. Recharge()  MaxInterval=[35568,39186] MinInterval=[35586, 39168]
  4. Goto(P3)  MaxInterval=[39168,39264] MinInterval=[39186, 39246]
  5. FixPoster(P3, 39246, 39384)  MaxInterval=[39246,39384] MinInterval=[39264, 39366]
  6. Goto(P14)  MaxInterval=[39366,39480] MinInterval=[39384, 39462]
  7. FixPoster(P14, 39462, 39600)  MaxInterval=[39462,39600] MinInterval=[39480, 39582]
  8. Goto(P17)  MaxInterval=[39582,42198] MinInterval=[42176, 39604]
  9. TakePicture(P17)  MaxInterval=[39604,42498] MinInterval=[42198, 39904]
  10. Goto(P12)  MaxInterval=[39904,42530] MinInterval=[42498, 39936]
  11. TakePicture(P12)  MaxInterval=[39936,42830] MinInterval=[42530, 40236]
  12. Goto(P5)  MaxInterval=[40236,42900] MinInterval=[42830, 40306]
  13. TakePicture(P5)  MaxInterval=[40306,43200] MinInterval=[42900, 40606]
  14. Goto(P3)  MaxInterval=[40606,46464] MinInterval=[46452, 40618]
  15. RemovePoster(P3, 43200, 46584)  MaxInterval=[43200,46584] MinInterval=[46464, 43320]
  16. Goto(P14)  MaxInterval=[43320,46680] MinInterval=[46584, 43416]
  17. RemovePoster(P14, 43416, 46800)  MaxInterval=[43416,46800] MinInterval=[46680, 43536]
  18. Goto(CoffeeRoom_Charger)  MaxInterval=[43536,49624] MinInterval=[49518, 43642]
  19. Recharge()  MaxInterval=[43642,53224] MinInterval=[49624, 47242]
  20. Goto(P24)  MaxInterval=[47242,53272] MinInterval=[53224, 47290]
  21. TakePicture(P24)  MaxInterval=[50400,53572] MinInterval=[53272, 50700]
  22. Goto(P16)  MaxInterval=[50700,53626] MinInterval=[53572, 50754]
  23. TakePicture(P16)  MaxInterval=[50754,53926] MinInterval=[53626, 51054]
  24. Goto(P7)  MaxInterval=[51054,54000] MinInterval=[53926, 51128]
  25. TakePicture(P7)  MaxInterval=[51128,54000] MinInterval=[54000, 51428]



Simulateur de déplacement de pièces ("Goto-Room")

Lancement du simulateur

Syntaxe :
    java -cp SimRobot_ift702.jar GotoRoomSim [state.txt [plan.txt]]

Exemple de commande :
    java -cp SimRobot_ift702.jar GotoRoomSim gr_state.txt gr_plan.txt


Simulateur GotoRoom


 

retour

© Éric Beaudry, 2006. Tous droits réservés. ¦ webdesign par Émilie Viau

HTML 4.01 Transitional valide! Valid CSS!