c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

[ct-bot] Updates

Absender: Timo Sandmann
Datum: So, 18.10.2009 23:16:34


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo,

mal wieder ein paar kleinere Software-Updates:

1.) Positionsspeicher (pos_store.c) können mit einer individuellen Größe angelegt werden, POS_STORE_SIZE gibt die Maximalgröße an. 2.) Positionsspeicher lassen sich per Bot-2-Bot-Kommunikation an einen anderen Bot übertragen, so dass ein Bot den Weg eines anderen nachfahren kann (z.B. durch ein gelöstes Labyrinth). 3.) Das Verhalten bot_save_waypos() kann optional mit zwei Optimierungsstufen gestartet werden: Parameter "optimize" == 0 entspricht dem alten Verhalten, 1 entfernt Positionen, die auf einer Linie liegen und somit redundant sind und 2 entfernt auch Schleifen, so dass der Weg durch ein Labyrinth optimiert wird. 4.) Welche Positionen bot_save_waypos() aktuell auf dem Stack hält, lässt sich grafisch per MAP_2_SIM_AVAILABLE und DEBUG-Schalter im Sim anzeigen. 5.) Neuer Parcours "parcours/contest-A-vorrunde_mod.xml", der im Wesentlichen dem der Wettbewerbsvorrunde entspricht, aber drei Landmarken zur Lokalisierung eingebaut hat.

Alles zusammen lässt sich beispielsweise wie folgt ausprobieren:
1.) Parcours "contest-A-vorrunde_mod.xml" laden und zwei Bots starten.
2.) Auf dem ersten Bot das Verhalten bot_scan_beacons() mit Parameter=1 aufrufen 3.) Auf dem ersten Bot bot_turn(40) aufrufen (dreht den Bot lediglich wieder in die Ausgangsposition)
4.) Auf dem ersten Bot  bot_save_waypos() mit Paramter=2 aufrufen
5.) Auf dem ersten Bot bot_solve_maze() durchlaufen lassen (im Map- Fenster lassen sich die Weg-Optimierungen anzeigen, wenn MAP_2_SIM_AVAILABLE an ist) 6.) Auf dem _zweiten_ Bot das Verhalten bot_scan_beacons() mit Parameter=1 aufrufen 7.) Auf dem _ersten_ Bot das Verhalten bot_send_stack_b2b() mit Bot- Adresse des zweiten Bots (z.B. 129) aufrufen Nun sollte der zweite Bot einen kürzeren Weg als der Erste durch das Labyrinth ins Ziel finden.

Grüße,
Timo

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.12 (Darwin)

iEYEARECAAYFAkrbhbEACgkQDH/BX4067fJSRACffaZ6ikoldO444gUZqltU2XP+
MHgAn0zC2iXQqqsfkSBOK2PSxDOQRzIF
=prTw
-----END PGP SIGNATURE-----