c't Projekte - c't-Bot und c't-Sim - Mailinglisten

c't-Bot und c't-Sim


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

Re: [ct-bot] Pfadplanung in area

Absender: Timo Sandmann
Datum: Fr, 21.11.2008 02:14:34
In-reply-to: <48C139945BA47F4DB4DE05DF62CD57AA04D7B49828@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <000001c94a62$cd440fd0$0200a8c0@mexpnew> <9252966C-10FD-43EF-BD12-60A2F5633523@xxxxxxxxxxxxxxx> <48C139945BA47F4DB4DE05DF62CD57AA04D7B49828@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>


Hi Frank,

Am 20.11.2008 um 14:19 schrieb Menzel, Frank IT-OO4:
Hi Timo,
die Verhalten sollen ja noch etwas tun, bevor sie sich dann selbst beenden... An dieser Stelle zwar nicht, rufe aber die zentrale Stelle auf ohne direkt abzuschiessen.

ach so, ja. Wenn es beim Pfadplanungsstart nicht stört, dass sie nicht sofort beendet werden, macht das das natürlich nichts.

Ist es bei dir auch so, dass das drive_area-Verhalten meldet "Weg nicht frei", obwohl der Weg eigentlich frei sein müsste? Teilweise läuft dann die Pfadplanung los und fährt aber nur über einen freien Bereich. Irgendwie sieht das so aus (ist aber etwas schwierig zu überprüfen), als ob map_way_free() entweder mit falschen Koordinaten aufgerufen wird, oder einfach falsche Ergebnisse liefert.

Wenn der Bot ein einem Parcours fährt, der nur vier Außenwände hat und sonst alles eine freie Fläche ist, dann dürfte doch nie der Fall eintreten, dass ein Weg versperrt ist und auf die Pfadplanung zurückgegriffen werden muss, oder?
Das LOG zu solch einem Parcours ist aber:

mbp:ct-Bot ts$ Debug-Mac/ct-Bot
c't-Bot
Connection to localhost established on Port: 10001
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 1361 -903 P2: -45 -77
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -45 -77
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916)	- DEBUG -	Stackholen P1: -207 98 P2: -12 -9
behaviour_drive_area.c(926) - DEBUG - Weg nicht frei, >> Pfadplanung << zu -207 98
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -207 98
behaviour_drive_area.c(657)	- DEBUG -	zu Stackholen wg. Abstand 220 140
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -294 -59 P2: 1317 -971
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 1317 -971
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 1362 -1133 P2: -334 -135
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -334 -135
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -638 -59 P2: 1316 -1205
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 1316 -1205
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 1060 -1225 P2: -679 -134
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -679 -134
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -919 -61 P2: 911 -1229
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 911 -1229
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 723 -1234 P2: -963 -133 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 120 R: 205, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 135 R: 220, ist < 144
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -963 -133
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1265 -60 P2: 574 -1240
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 574 -1240
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 493 -1279 P2: -1309 -132 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 100 R: 100, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 100 R: 100, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 110 R: 110, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 125 R: 125, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 140 R: 140, ist < 144
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1309 -132
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1686 -83 P2: 118 -1020
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 118 -1020
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 264 -1231 P2: -1695 -174
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1695 -174
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1689 -233 P2: 116 -1249
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 116 -1249
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -75 -1244 P2: -1700 -324 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 100 R: 165, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 110 R: 180, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 120 R: 195, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 140 R: 205, ist < 144
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1700 -324
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1679 -461 P2: -329 -1077
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -329 -1077
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -181 -1239 P2: -1713 -539 behaviour_drive_area.c(926) - DEBUG - Weg nicht frei, >> Pfadplanung << zu -181 -1239 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 125 R: 165, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 140 R: 180, ist < 144
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1713 -539
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1663 -700 P2: -528 -1067
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -528 -1067
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -392 -1236 P2: -1689 -782 behaviour_drive_area.c(926) - DEBUG - Weg nicht frei, >> Pfadplanung << zu -392 -1236 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 120 R: 135, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 135 R: 145, ist < 144
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1689 -782
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1668 -906 P2: -656 -1239
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -656 -1239
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -932 -1243 P2: -1694 -988
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1694 -988
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1663 -1096 P2: -1181 -1251
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1181 -1251
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 500
behaviour_drive_area.c(684) - DEBUG - Weg versperrt zu Zwischenpunkt -1378 -1187, Endpunkt -1181 -1251 behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -803 -903 P2: -661 -953
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -661 -953
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -58 -853 P2: -218 -768
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -218 -768
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1539 84 P2: -1300 -47 behaviour_drive_area.c(926) - DEBUG - Weg nicht frei, >> Pfadplanung << zu -1539 84 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 100 R: 155, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 100 R: 170, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 115 R: 185, ist < 144 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 130 R: 195, ist < 144
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1539 84
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 360 230
behaviour_drive_area.c(684) - DEBUG - Weg versperrt zu Zwischenpunkt -1502 67, Endpunkt -1539 84 behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -459 -523 P2: -118 -719
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -118 -719
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 600 -1248 P2: 396 -1128 behaviour_drive_area.c(926) - DEBUG - Weg nicht frei, >> Pfadplanung << zu 600 -1248 behaviour_drive_area.c(779) - DEBUG - zu Nah->Back L: 190 R: 140, ist < 144
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 600 -1248
behaviour_drive_area.c(657)	- DEBUG -	zu Stackholen wg. Abstand 210 155
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 391 -1126 P2: 236 -1036
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 236 -1036
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1504 -161 P2: -1348 -249
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -1348 -249
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 253 -1121 P2: 107 -1032
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 107 -1032
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -428 -570 P2: -276 -670
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -276 -670
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -91 -894 P2: -298 -762
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -298 -762
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -99 -748 P2: 167 -897 behaviour_drive_area.c(926) - DEBUG - Weg nicht frei, >> Pfadplanung << zu -99 -748
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 167 -897
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 560 -1035 P2: 405 -939
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 405 -939
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -479 -470 P2: -329 -570
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf -329 -570
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 995
behaviour_drive_area.c(916) - DEBUG - Stackholen P1: 355 -1002 P2: 199 -914
behaviour_drive_area.c(889)	- DEBUG -	Ausrichten auf 355 -1002
behaviour_drive_area.c(672)	- DEBUG -	Abstaende voraus: L/R: 995 665
behaviour_drive_area.c(684) - DEBUG - Weg versperrt zu Zwischenpunkt 462 -1062, Endpunkt 355 -1002 behaviour_drive_area.c(916) - DEBUG - Stackholen P1: -1288 -87 P2: -1558 53 behaviour_drive_area.c(926) - DEBUG - Weg nicht frei, >> Pfadplanung << zu -1288 -87

*** Abbruch ***


Der verwendete Parcours war:

<parcours>
<line>*==============*</line>
<line>#              #</line>
<line>#              #</line>
<line>#              #</line>
<line>#              #</line>
<line>#              #</line>
<line>#     .1       #</line>
<line>*==============*</line>
</parcours>

Zu Anfang habe ich einmal bot_turn(-30) aufgerufen, weil der Bot sonst dauernd an einer der Außenwände hängenbleibt.

Grüße,
Timo