heise online · c't · iX · Technology Review · Telepolis · mobil · Security · Netze · Open Source · Resale · Foto · Autos · c't-TV · Jobs · Kiosk
Zum Inhalt
c't

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: [ct-bot] neues catch_pillar-Verhalten mit goto_pos

Absender: Timo Sandmann
Datum: Mo, 19.05.2008 18:56:30
In-reply-to: <000001c89fb1$b06c1440$0200a8c0@mexpnew>
References: <000001c89fb1$b06c1440$0200a8c0@mexpnew>


Hallo,

ich hab das neue Verhalten jetzt mal an die Updates angepasst und außerdem noch eine Version ergänzt, die die Entfernung zum Objekt aus dem Drehwinkel berechnet. Umschalten kann man zwischen den verschiedenen Versionen mit #define CATCH_PILLAR_VERSION in behaviour_catch_pillar.c. Bei mir klappt Version 3 auch mit Objekten, die weiter weg stehen. Außerdem kann man in include/sensor_correction.h umschalten, ob aus den Rohdaten der Distanzsensoren Mittelwerte gebildet werden oder nicht (#define DISTSENS_AVERAGE). Bei mir klappt es ohne Mittelwerte besser. Zwischen Sensorwert und Entfernung gibt es ja auch keinen linearen Zusammenhang, darum erhält man bei plötzlich auftretenden Objekten recht seltsame Entfernungswerte, falls aus den Spannungswerten das arithmetische Mittel berechnet wird.

Gruß Timo


Am 16.04.2008 um 13:04 schrieb Frank Menzel:
Hallo,
anbei mal eine Catch_Pillar-Version, welche im Endeffekt das
goto_pos-Verhalten zum Einfangen verwendet.
Hierfür gibt es ein paar neue Routinen, welche z.B. die Koordinate des
gesehenen Objektes ermitteln je nach Sensorentfernung und eine kleine
Erweiterung für bot_turn, um dieses abzubrechen.
Folgende Logik wird verwendet.
-Bot_turn wird wird in 4 Schritten a 90 Grad aufgerufen (bei sofort 360
Grad dreht er zu schnell und Objekt wird nicht erkannt)
-Bot_turn wird abgebrochen falls Objekt gesehen wird (Abbruchfunktion)
-Measure-Verhalten bestimmt genauen Abstand
-Koordinate xy wird berechnet je nach Abstand
-hat linker Sensor zuerst Objekt erkannt, wird etwas weiter gedreht bis
rechts ebenfalls Objekt erkennt
-Mittelwert beider Koordinaten wird mit goto_pos angefahren

Das wars… Bei mir klappt die Sache recht gut.
Das alte catch Pillar ist codemaessig noch drin und wird per define
aktiviert. Ebenfalls wird das alte zugeschaltet bei nicht aktiviertem
goto_pos-Verhalten (geht auch nur bei aktivierter Motorsteuerung) mit
entsprechender Warning.

Gruß, Frank Menzel

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