- heise online
- c't Magazin
- iX Magazin
- Technology Review
- Telepolis

- heise mobil
- heise Security
- heise Netze
- Open Source

- heise Resale
- heise Foto
- heise Autos
- c't-TV

- Software/Download
- Stellenangebote
- Preisvergleich
- IT-Markt

- heisetreff
- heise Veranstaltungen
- heise Whitepapers
- Abo&Heft
- Archiv

Aktuelles Heft #### Support Hotline & FAQ Tipps & Tricks Treiber & BIOS Firmenkontakte #### Download Software zu c't Software-Verzeichnis c't-Projekte Testbilder & Vorlagen #### Service Tipp-Datenbank c't-CD-Register Virenschutz #### Magazin Heftarchiv c't specials English Pages Benchmarks Red. Stuff Leserforum c't-Bildmotive URLs aus c't Schlagseite #### Aktionen Browsercheck Krypto-Kampagne Schulen ans Netz Netz gegen Kinderporno TV/Radio-Termine #### Info Abo & Heft Veranstaltungen Mediadaten Kontakt Impressum Kleinanzeigen und Veranstaltungen
| 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: AW: [ct-bot] bot_drive_area() -> überarbeitet Absender: Menzel, Frank IT-OO4 Datum: Mo, 08.09.2008 08:21:45 In-reply-to: <1A701016-4860-4F34-A1BE-A8BF5D776141@xxxxxxxxxxxxxxx> References: <000001c91025$ac75b780$0200a8c0@mexpnew> <1A701016-4860-4F34-A1BE-A8BF5D776141@xxxxxxxxxxxxxxx>
    Hallo Timo,
    testbots_home ist mit der schwierigste Parcours an sich für dieses Verhalten, den man sich denken kann. Als Demoparcours ungeeignet, Vielleicht sollte man mal ein eigenes machen, welches konkret die Vorzüge des Verhaltens sichtbar macht. Er fährt ja erst hier nach rechts an der langen Wand lang ohne diese zu kennen bis rechts zur Wand (auf Stack wird sich die Strecke links vom Startpunkt bis zur Wand gemerkt, die ja eigentlich Wand ist). Wegen Vorzugsrichtung rechts dreht er sich dort und nimmt die Spur rechts daneben und fährt zurück, neben dem Startpunkt vorbei, bis zur Wand links. Beim Vorbeifahren am Startpunkt bis zur Wand merkt er sich diese rechte Strecke als noch anzufahren auf dem Stack nach dem Merken der gesamten Spur links. An der Wand selbst holt er sich den letzten Stackeintrag, also die kleine Strecke rechts bis zum Startpunkt und dreht sich zum Punkt rechts. Dann wird sich zum Punkt2 der Strecke via bot_turn gedreht und via goto_obstacle gefahren, auch am eigentlichen Zielpunkt drüber bis zum nächsten Hindernis. Hier wird sich wieder die Strecke links gemerkt, soweit diese nicht schon laut Map als Hindernis erkannt wurde. Diese will er dann wieder anfahren und ist schon so nah an der Wand, dass er diese nicht unbedingt immer noch als zu nah von den Sensoren erkannt wird. Auch laut Map ist der Weg frei, so dass er diesen Weg anfährt und sich öfters festfrißt. Was tun, wenn laut Sensoren und Map alles frei ist... Wenn laut Map erkannt ist, dass ein Weg versperrt ist, dann fährt er den nächsten an (falls frei) und legt die jetzt nicht anfahrbare Strecke auf den Stack, vielleicht ist sie ja nächste Runde anfahrbar. Und schafft der bot es nicht, den kleinen Weg links oben anzufahren, kann er sich auch niemals die Strecke daneben merken und der Weg zum Rest der Welt ist nicht erreichbar. Soweit zur Schwierigkeit des Parcours selbst. Aber Frage war ja die Unterschiedlichkeit der Ergebnisse, wo ich nur vermuten kann. Meine Vermutung liegt in bot_turn, wo sich nicht immer ganz genau um den Winkel gedreht wird. Denn wenn ich dort die Logausgaben ausgebe, zeigt er nach dem Drehen, also dem Ausrichten auf den Zielpunkt, unterschiedliche Werte an : Fehler 1 Grad, Fehler 1.5 Grad... Und wenn sich der Bot auf einen Punkt ausrichtet, der nicht weit vom Startpunkt entfernt liegt und dann dorthin und noch viel weiter fährt, machen sich die kleinen Drehabweichungen weit entfernt sichtbar als wenn er sich nach einem weit entfernten Punkt ausrichtet. Hoffe, Du verstehst was ich meine.
    Auf dem echten Bot habe ich noch nicht getestet, weil meine Mapzugriffe ohne SPI noch sehr lange dauern, hoffe diesen Patch mal einbauen zu können. Das andere Problem bei mir war das ständige anhalten während der eigentlichen Geradeausfaht und beim Wiederanfahren bekommt er immer einen Drall nach rechts oder links, so dass die Geradeausfahrt eher eckig ist und die Ergebnisse für die Seitenspuren damit nicht verwendbar sind. Ein Mapcheck nur aller 6cm funktioniert ebenfalls (jedenfalls im sim), 3cm war nur erst einmal ein fiktiver Wert von mir.
    Weg versperrt kommt, wenn der Bot nach Ausrichten auf den Bahnzielpunkt geradeaus fahren will via obstacle aber laut Map der Weg voraus nicht frei ist. Das hatte ich auch mehrfach obwohl keine Hindernis voraus zu sehen war.

    Mit freundlichen Grüßen / best regards
    Frank Menzel

    -----Original Message-----
    From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Timo Sandmann
    Sent: Sunday, September 07, 2008 6:31 PM
    To: Entwicklung rund um den c't-bot
    Subject: Re: AW: [ct-bot] bot_drive_area() -> überarbeitet

    Hallo Frank,

    Am 06.09.2008 um 15:37 schrieb Frank Menzel:
    > Hallo Timo,
    > habe das drive_area_Verhalten stark überarbeitet und kommt nun besser
    > klar mit den Ecken und Kanten und sollte sich nicht mehr so oft
    > festfressen. Im Sim jedenfalls geht's besser.

    ja sieht wirklich besser aus. Aber was ich nicht so ganz verstehe:
    Wenn ich den Parcours "testbots_home.xml" benutze, dann bekomme ich
    bei vier Versuchen (jeweils vom Startplatz aus direkt nachdem der Bot
    geladen ist) auch vier verschiedene Ergebnisse. Mal fährt er nur die
    Fläche unter dem Startplatz ab, mal hängt er in der einen oder der
    anderen Wand und manchmal findet er auch den Weg nach oben raus, fährt
    dann allerdings nicht mehr senkrecht auf die Wand zu, sondern diagonal
    durch die Welt.
    Verstehst du, warum die Ergebnisse so unterschiedlich sind?

    > Jetzt gibt's auch nicht mehr den Timeout von 700ms, um erst danach auf
    > die Map zuzugreifen sondern erst wenn er gewisse Strecke gefahren ist,
    > dann erfolgt der Mapzugriff.

    Ja das ist besser. Hast du ausprobiert, ob es auf dem realen Bot
    funktioniert, alle 30 mm die Map zu checken? Das kommt mir so etwas zu
    häufig vor, habe ich aber bisher nicht ausprobiert.

    > Auch wird jetzt am Ende einer Strecke beide
    > Wege für zuerst links und dann rechts gespeichert im Stack und danach
    > der letzte Stackwert angefahren. Vorher war ja noch mal eine extra
    > Routine zur Entscheidungsfindung vorhanden und nur die Alternative
    > wurde
    > gestackt.

    Ich bekomme im Sim auch öfters "- DEBUG - Weg versperrt    - DEBUG -
    Stack leer", obwohl ich gar keinen versperrten Weg sehe von der
    aktuellen Bot-Position aus.

    Gruß,
    Timo

    _______________________________________________
    ct-bot-entwickler Mailingliste
    ct-bot-entwickler@xxxxxxxxxxxxxxxxx
    http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler
Antworten: Re: AW: [ct-bot] bot_drive_area() -> überarbeitet From: Benjamin Benz Re: AW: [ct-bot] bot_drive_area() -> überarbeitet From: Timo Sandmann Referenzen: AW: [ct-bot] bot_drive_area() [war: MAP-Verhalten nur fuer Sim ?-> Patch fuerVerhalten] -> überarbeitet From: Frank Menzel Re: AW: [ct-bot] bot_drive_area() -> überarbeitet From: Timo Sandmann Voriger (Datum): Re: AW: [ct-bot] bot_drive_area() -> überarbeitet, Timo Sandmann Nächster (Datum): Re: AW: [ct-bot] bot_drive_area() -> überarbeitet, Benjamin Benz Voriger (Thread): Re: AW: [ct-bot] bot_drive_area() -> überarbeitet, Timo Sandmann Nächster (Thread): Re: AW: [ct-bot] bot_drive_area() -> überarbeitet, Benjamin Benz Indizes: Datum Thread |

Copyright © 2008 Heise Zeitschriften Verlag Kritik, Anregungen bitte an c't-WWW Datenschutzhinweis Impressum International: heise online UK, heise Security UK, heise open source UK, heise networks UK, heise online Polska, heise Security Polska, heise Open Source Polska, heise Networks Polska