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: Di, 07.09.2010 11:11:29
In-reply-to: <681CE81A-8241-4207-BC75-36F15F444089@xxxxxxxxxxxxxxx>
References: <AEC150FE-E322-4CBE-A1B5-47666F5BC251@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33A5FD1D9B3@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33D3F0510D7@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <681CE81A-8241-4207-BC75-36F15F444089@xxxxxxxxxxxxxxx>


Hallo Timo,
hier das konkrete Beispiel:

> Berechnete Position: (405|2300)
behaviour_scan_beacons.c(241)   - DEBUG -        >  Heading: 98
behaviour_scan_beacons.c(242)   - DEBUG -        > Bisherige Position: (-1|0)
behaviour_scan_beacons.c(243)   - DEBUG -        >  Heading: 101


Ich deute es so, dass die neu berechnete Position für den Bot laut der Landmarken eben die 405, 2300 ist. Den Parameter habe ich nicht gesetzt, so dass die Ausgabe reine Info ist. Und die Startpos des Bots war der Einsetzpunkt auf genau 0,0.  Und alte und neue Pos sind doch  beides Weltkoordinaten und somit doch vergleichbar!?

Aber andererseits sind für die Baken die Positionen fest verdrahtet:

/*! @todo Nur Test-Daten */
        switch (id) {
        case 0xd:
                pos.x = 0;
                pos.y = 0;
                break;
        case 0xe:
                pos.x = 1250;
                pos.y = 0;
                break;
        case 0xc:
                pos.x = 1250;
                pos.y = 610;
                break;
        }

Da diese Koords auch nicht stimmen für Test-Localisation Parcour, können doch die Psoitionen auch nicht stimmen, müssen doch sicher erst für den Parcour angepasst werden oder?
Oder habe ich generell einen Denkfehler?
Meine Denkweise war zumindest die, dass ich die Botkoordinaten auf dem Sim-Display sehe und er mir nach den Baken eine fast identische Positionsangabe liefern sollte-oder?


-----Original Message-----
From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Timo Sandmann
Sent: Thursday, September 02, 2010 7:19 PM
To: Entwicklung rund um den c't-bot
Subject: Re: [ct-bot] ct-Bot-Lokalisierung

Hallo Frank,

Am 02.09.2010 um 13:43 schrieb Menzel, Frank IT-OS:
> 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).

kannst Du da bitte mal ein konkretes Beispiel mit Zahlen (also den Positionen) machen, das sich reproduzieren lässt?

> Die neue Pos kann ich ja auch direkt eingeben und via Remotecall bot_goto_pos hinfahren lassen, diese ist immer absolut woanders.

Damit der Bot die errechnete Position auch übernimmt (also in die Variablen x_pos, y_pos und heading), muss der Parameter "position_update" von bot_scan_beacons() auf 1 gesetzt sein. Ansonsten wird die neue Position nur per LOG ausgegeben und bot_goto_pos() kann nicht damit arbeiten. Auch hier wäre ein konkretes Beispiel gut.

> 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?

Es ist aber klar, dass die Positionsangabe dann in "Weltkoordinaten" angegeben ist, also dass sich der Bot-Startplatz dann im Allgemeinen nicht an (0 | 0) befindet?

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.