## c't-Projekte - Mailinglisten

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

### Re: [ct-bot] Map-Umbau

Absender: Fred Ammann
Datum: So, 04.05.2008 22:25:38

    Hallo
    mein ctBot linked nun nicht mehr richtig:
    ....
    ...
    .../bot-logic/behaviour_turn_test.o ./bot-logic/bot-logik.o -lm
    ./ct-Bot.o: In function `main':
    ../ct-Bot.c:314: undefined reference to `map_update_stack'
    ../ct-Bot.c:314: undefined reference to `map_update_stack'
    make: *** [ct-Bot.elf] Error 1
    make: Target `all' not remade because of errors.
    Build complete for project ct-Bot
    Habt ihr eine Idee welchen Switch ich zurück setzten muss?
    Vielen Dank
    Fredi

    ----- Original Message ----
    From: Timo Sandmann <Mail@xxxxxxxxxxxxxxx>
    To: Entwicklung rund Mailingliste c't-Bot <ct-bot-entwickler@xxxxxxxxxxxxxxxxx>
    Sent: Sunday, April 20, 2008 11:04:50 PM
    Subject: [ct-bot] Map-Umbau

    Hallo,

    der Umbau des Map-Codes (im devel-Zweig) ist jetzt größtenteils
    abgeschlossen. Daher hier ein paar Infos dazu (Doku fehlt noch ein
    wenig):

    1.) Das Map-Update läuft jetzt auf MCU und PC in einem eigenen Thread
    und beeinträchtigt somit die Bot-Verhalten nicht mehr.

    2.) Die Bot-Position (x_pos, y_pos) wird als int16 gespeichert, die
    Einheit ist weiterhin mm. Einige Verhalten und Hilfsfunktionen sollten
    hier noch angepasst werden, so dass sie nicht unnötige float-
    Berechnungen durchführen.

    3.) Die ganze Map-Geschichte wurde stark aufgeräumt und bietet nun ein
    deutlich schlankeres (und hoffentlich einfacheres) Interface nach
    außen: Zurzeit beschränkt es sich auf: map_get_average(),
    map_get_point() und map_way_free(), siehe auch include/map.h. Bei
    map_way_free() fehlt allerdings noch eine Schutzfunktion gegen
    Zugriffskonflikte.

    4.) Das Eintragen von Daten sollte man vollständig dem Map-Update-
    Thread überlassen, der sich einem Cache bedient. Dieser wird vom
    Verhalten scan_on_the_fly() gefüllt. Welche Sensordaten wann
    eingetragen werden, lässt sich in include/bot-logic/behaviour_scan.h
    einstellen. Neben den #defines für die Auflösung, gibt es dort
    Funktionen, mit denen sich die Update-Modi ohne Bit-Rechnerei
    komfortabel einstellen lassen (auch zur Laufzeit). Nähere Infos und
    Erklärungen finden sich in der o.a. Datei. (Natürlich ist es trotzdem
    denkbar und möglich, dass weitere Verhalten schreibend auf die Map
    zugreifen - hier muss man dann aber ein paar Regel beachten, um nicht
    in Race Conditions oder Zugriffskonflikte zu laufen)

    5.) Auf Grund der tiefgehenden Änderungen von Map-Code und Zugriffs-
    Strategie war es leider nötig, mit der alten API zu brechen. Das
    schlägt sich vor allem in den öffentlichen Zugriffsfunktionen nieder,
    siehe 3.). Es dürften daher einige Anpassungen in Verhalten nötig
    sein, die die Map benutzen wie map_go_destination(). Sorry für die
    fehlende Kompatibilität, das Ergebnis des Umbaus bietet aber die
    Möglichkeit, auch auf dem echten ct-Bot automatisch eine
    Umgebungskarte mit guter Genauigkeit erstellen zu lassen. Ich hoffe,
    das entschädigt für die vor allem aus Performance-Gründen nötigen
    Änderungen.

    6.) Die Funktion zum Einlesen einer Map von MMC hat noch einen Bug,
    hier ist bei größeren Karten in der Ausgabe teilweise ein Block
    verschoben (die Daten stimmen aber sonst).

    Da sich im Code sehr viel geändert hat, wäre es sehr schön, möglichst
    viel Feedback zu bekommen, vor allem von der Map-Erstellung auf echten
    Bots. Wer also einen Bot mit MMC-Erweiterung, Lust und Zeit zum
    Ausprobiere hat, darf seine Erfahrungen, Probleme und vielleicht
    Wünsche gern hier bekanntgeben! ;-)

    Ich hoffe, ich habe nichts vergessen.

    Viele Grüße,
    Timo

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

          ____________________________________________________________________________________
    Be a better friend, newshound, and
    know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

- Antworten:
  - Re: [ct-bot] Map-Umbau
    - From: Timo Sandmann

- Voriger (Datum): [ct-bot] Mapfrage, Frank Menzel
- Nächster (Datum): Re: [ct-bot] Mapfrage, Timo Sandmann
- Voriger (Thread): [ct-bot] Map-Umbau, Timo Sandmann
- Nächster (Thread): Re: [ct-bot] Map-Umbau, Timo Sandmann
- Indizes:
  - Datum
  - Thread