c't

c't-Projekte - Mailinglisten


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

Re: [ct-bot] ct-Bot-Lokalisierung

Absender: Menzel, Frank IT-OS
Datum: Do, 02.09.2010 13:43:13
In-reply-to: <096FD558C4D20046A1BABE72DFF0C6C33A5FD1D9B3@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <AEC150FE-E322-4CBE-A1B5-47666F5BC251@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33A5FD1D9B3@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>


Hallo Timo,
habe gerade mal die Sache mit den Baken im sim ausprobiert mit dem Parcour test_localisation.xml.
Er sucht ja die 3 Baken und berechnet anschließend die daraus ermittelte Position und gibt diese aus mit der alten Position.
Nun kann ich hinfahren mit dem Bot wohin ich will, auch wenn es nur wenig vom Startpunkt entfernt ist, die berechnete Pos stimmt absolut nicht, nicht mal annähernd (heading stimmt aber).
Die neue Pos kann ich ja auch direkt eingeben und via Remotecall bot_goto_pos hinfahren lassen, diese ist immer absolut woanders.
Der Bot ist auch nirgends hängengeblieben. Auch habe ich ihn mal genau zwischen die Baken gefahren, aber immer ist die Position ganz woanders.
Ist da noch ein Fehler oder mache ich generell was falsch?

Gruß, Frank


-----Original Message-----
From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Menzel, Frank IT-OO4
Sent: Thursday, October 15, 2009 10:36 AM
To: Entwicklung rund um den c't-bot
Subject: RE: [ct-bot] ct-Bot-Lokalisierung

Hallo Timo,
liegen hier schon Erkenntnisse über die Genauigkeit der Positionserkennung vor?
Mich würde auch der Bauplan der Baken interessieren...

Gruß, Frank


-----Original Message-----
From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Timo Sandmann
Sent: Thursday, September 17, 2009 1:06 AM
To: Entwicklung rund Mailingliste c't-Bot
Subject: [ct-bot] ct-Bot-Lokalisierung

Hallo,

es gibt im Devel-Zweig des SVNs jetzt einige Neuerungen, die eine
Lokalisierung des Bots (im Sim und beim echten Bot) ermöglichen:
* ct-Sim:
  - Zwei neue Parameter in config/ct-sim.xml: 1.) <parameter
name="LightSensors" value="true"/> schaltet die Lichtsensoren ein
(true) oder aus (false)
    2.) <parameter name="BPSSensors" value="false"/> schaltet die
Sensoren zur Bot-Lokalisierung (s.u.) ein (true) oder aus (false)
    Deaktiviert man die Lichtsensoren (sie werden ja kaum benutzt),
läuft der Sim spürbar schneller.
  - Bugfix für Distanzsensoren.
  - Neues Parcours-Objekt "IR-Bake": Repräsentiert eine Landmarke, die
ständig ihre Position innerhalb der Welt "blinkt", dadurch kann sich
der Bot lokalisieren, wenn er mindestens drei solcher Baken sieht.
Special-Features der Sim-Baken (im Gegensatz zu ihren realen
Kollegen): Ihr IR-Licht strahlt durch Wände, sie haben keine Masse -
der Bot kann durch sie hindurchfahren - und ihr optisches
Erscheinungsbild fällt recht bescheiden aus.
  - Neuer Parcours "test_localization.xml", in dem bereits drei Baken
eingebaut sind.

* ct-Bot:
  - Neuer Sensor zur o.a. Lokalisierung (BPS_AVAILABLE in ct-Bot.h):
Es kann zwei solcher Sensoren geben, die nichts weiter sind als
einfache IR-Empfänger (wie für die Fernbedienung), einer zeigt nach
vorn und einer nach hinten. Derzeit wird nur der Vordere ausgewertet.
Beim echten Bot werden die Sensoren an die Pins für die Lichtsensoren
angeschlossen, diese entfallen dann ersatzlos. Damit jene als
Peilvorrichtung funktionieren, ist vor dem IR-Empfänger eine dünne
Röhre erforderlich, Details s.u. Im Sim übermittelt der Sensor direkt
die Position einer erkannten Bake, beim realen Bot wird nur eine ID
empfangen.
  - Neues Verhalten bot_scan_beacons()
(BEHAVIOUR_SCAN_BEACONS_AVAILABLE in include/bot-logic/
available_behaviours.h): Das Verhalten dreht den Bot um maximal 360
Grad und sucht dabei mit den o.a. Sensoren nach Landmarken. Wurden
drei Landmarken gefunden, wird daraus die aktuelle Bot-Position in der
Welt sowie seine Ausrichtung errechnet. Setzt man den Parameter
"position_update" auf 1, wird die neu errechnete Position als aktuelle
Bot-Position gespeichert, ansonsten wird sie nur per LOG ausgegeben.
Heading wird derzeit noch nicht gespeichert, weil die Berechnung noch
zu ungenau ist.


Insbesondere der Bot-Code ist noch experimentell! Wer keine
Experimente mag, sollte deshalb einfach den Code aus dem Stable-Zweig
verwenden, außer der neuen Bot-Lokalisierung (und der RemoteCall-
Kommandozeilensteuerung) gibt es dort keine Rückstände.
Das Verhalten zur Lokalisierung ist außerdem eine absolute
Minimalversion, hier sind noch viele Verbesserungen möglich.
Wenn jemand Interesse hat, das Ganze auch für den realen Bot zu
verwenden, kann ich gern noch weiter erläutern, wie man den Sensor und
die (sehr einfachen) IR-Baken bauen kann. Im Moment ist alles noch
ziemlich experimentell, funktioniert bei mir aber schon ganz gut. Auch
konnte ich bisher noch nicht alle Abhängigkeiten des neues Bot-Codes
überprüfen, insbesondere beim Fernbedienungscode hat sich Vieles
geändert - Feedback ist natürlich gern willkommen, Bug-Reports ebenso.

Viele Grüße,
Timo


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

Confidentiality note:
The information in this email and any attachment may contain confidential and proprietary information of Heidelberger Druckmaschinen AG and/or its affiliates and may be privileged or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any review, reliance or distribution by others or forwarding without express permission is strictly prohibited and may cause liability. In case you have received this message due to an error in transmission, we kindly ask you to notify the sender immediately and to delete this email and any attachment from your system.

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

Confidentiality note:
The information in this email and any attachment may contain confidential and proprietary information of Heidelberger Druckmaschinen AG and/or its affiliates and may be privileged or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any review, reliance or distribution by others or forwarding without express permission is strictly prohibited and may cause liability. In case you have received this message due to an error in transmission, we kindly ask you to notify the sender immediately and to delete this email and any attachment from your system.