c't

c't-Projekte - Mailinglisten


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

AW: [ct-bot] Pfadplanung in area

Absender: Frank Menzel
Datum: Fr, 21.11.2008 17:12:50
In-reply-to: <93132285-85BD-4E89-9956-31384A006E03@xxxxxxxxxxxxxxx>


Hallo Timo,
ja, map_way_free liefert auch bei mir manchmal einen versperrten Weg
zurück. Aber das hatten wir doch schon, dass sich die Koordinaten
verschieben und er eigentlich denkt, er wäre woanders. Z.b. nach
Hängenbleiben oder besonders stark nach der Volldrehung und ohne Maus.
Also meine selbst gebauten (kleinen) Parcours, wo nur Wände sind und
sonst alles frei, meistert er eigentlich ganz gut. So kann ich wenig zu
dem Log sagen, da ich den Parcours auch nicht kenne...

Gruß, Frank

-----Ursprüngliche Nachricht-----
Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
[mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Timo
Sandmann
Gesendet: Freitag, 21. November 2008 02:15
An: Entwicklung rund um den c't-bot
Betreff: Re: [ct-bot] Pfadplanung in area

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


_______________________________________________
ct-bot-entwickler Mailingliste
ct-bot-entwickler@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler