Nur per FB steuerbar

Allgemeine c't-Bot Themen
Antworten
boo50

Nur per FB steuerbar

Beitrag von boo50 » 01 Dez 2008, 15:17

Wir haben es jetzt geschafft unseren CT-Bot per Fernbedinung zu steuern.
Das klappt auch so weit ganz gut.

Leider laufen anderen Programme wie Lichtverfolger oder Wanderkennung überhaupt nicht auf dem Bot.

Mit der Programmierung in Eclipse ist das auch so eine Sache. Einfache Dinge wie das aktivieren der Willkommens-Nachricht funktionieren. Sind uns aber nicht sicher was wir jetzt noch ändern müssen damit er z.b. nicht in den Abgrund fährt oder vor Wänden stoppt.

Mit freundliche Grüßen
Marcel

eax
Friends of Robby
Friends of Robby
Beiträge: 786
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 01 Dez 2008, 16:30

Hi,

was meinst du mit Lichtverfolger und Wanderkennung? Verhalten aus dem ct-Bot-Framework (SVN) oder diese Programme, die es hier mal irgendwann gab? Zu Letzteren kann ich nichts weiter sagen.

Habt ihr http://www.heise.de/ct/projekte/machmit ... FirstSteps gelesen? Die Seite soll als Einstieg und roter Faden dienen und alle weiteren Informationsseiten / Artikel verlinken.

Grüße,
Timo

boo50

Beitrag von boo50 » 02 Dez 2008, 15:13

Ja ich meinte die Hex-Files hier aus dem Downloadbereich.

Bin jetzt aber nochmal genau nach dem Link gegangen:

Die drei Test-binaries laufen gut. Alle Sensoren scheinen zu Funktionieren, nur die Led´s beim digital-test für die Maus bleiben leider aus.

Hab die "stable" von "https://www.heise.de:444/svn/ctbot" in Eclipse geladen und bin die weitern Punkte von "Inbetriebnahme" durchgegangen.

Die Abgrundsensoren habe ich auch gut konfigurieren können. Somit hält der Bot nun an wenn ich ihn mit der FB auf einen Abrund zufahren lasse.


Beim nächsten Punkt wird es dann schon schwieriger. Habe zwar die Variable LINE_SENSE für weißen und schwarzen Untergrund angepasste, weiß aber nicht wie ich das ganze dann Testen soll.

Bin dann erstmal zum nächsten Punkt gesprungen, aber hier checke ich dann garnichts mehr. Weiß weder wie ich was Logen soll noch wie noch wo genau ich "BEHAVIOUR_CALIBRATE_SHARPS_AVAILABLE " finden kann oder was in den EEPROM geladen werden muss.

Die beiden GP2D12 habe ich schonmal zur Sicherheit mit dem Kondensator und dem Elko bestückt, wie auf dem Link zur Segor-Seite beschrieben.


Hoffe das ich alles ganz gut beschrieben hab.


Vielen Dank schonmal für die schnelle Antwort und die Mühe.

Mit freundlichen Grüßen
Marcel

eax
Friends of Robby
Friends of Robby
Beiträge: 786
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 02 Dez 2008, 18:07

Hi Marcel,
boo50 hat geschrieben:Beim nächsten Punkt wird es dann schon schwieriger. Habe zwar die Variable LINE_SENSE für weißen und schwarzen Untergrund angepasste, weiß aber nicht wie ich das ganze dann Testen soll.
Das Verhalten bot_follow_line() braucht die Liniensensoren, um einer Linie zu folgen. Wenn du die Kalibrierung testen willst, aktivierst du am besten das Verhalten (s.u.), klebst irgendwo eine Linie auf und lässt den Bot darauf fahren.
boo50 hat geschrieben:Bin dann erstmal zum nächsten Punkt gesprungen, aber hier checke ich dann garnichts mehr. Weiß weder wie ich was Logen soll noch wie noch wo genau ich "BEHAVIOUR_CALIBRATE_SHARPS_AVAILABLE " finden kann oder was in den EEPROM geladen werden muss.
In der Datei include/bot-logic/available_behaviours.h (http://www.heise.de/ct/projekte/machmit ... haviours.h) findest du die Schalter für die Verhalten. Eine Erklärung dazu gibt es unter http://www.heise.de/ct/projekte/machmit ... /Verhalten.

Zum EEPROM siehe http://www.heise.de/ct/projekte/machmit ... wiki/Flash und bei weiterem Interesse http://www.heise.de/ct/projekte/machmit ... ainInterna.
boo50 hat geschrieben:Die beiden GP2D12 habe ich schonmal zur Sicherheit mit dem Kondensator und dem Elko bestückt, wie auf dem Link zur Segor-Seite beschrieben.
Sehr gut :-)

Viele Grüße,
Timo

boo50

Beitrag von boo50 » 04 Dez 2008, 09:16

So weit so gut 8)

Jetzt kann der Bot einer Linie folgen und auch Wände werden ekannt.

Jetzt frage ich mich nur noch wie ich das Verhalten ändern kann wenn er eine Wand oder einen Abgrund erkennt.

Wenn ich die Wanderkennung in den "available_behaviours.h" anschallte kann er zwar ausweichen aber dreht sich nur ganz langsam weg bis er die Wand fast seitlich streift.

Schlimmer ist es bei der Kantenerkennung. Hier bleibt der Bot komplett stecken wenn er mit beiden Sensoren am Abrund steht und fährt immer wieder dagegen.

Würde diese beiden Verhalten gerne noch verändern können , dass er zum Beispiel sich etwas weiter dreht oder bei einem Abgrund erst etwas zurück fährt.


Vielen Dank schonmal für deine Hilfe eax . Dank dir bin ich hier schon ein großes Stück weiter gekommen :D

Mit freundlichen Grüßen
Marcel

eax
Friends of Robby
Friends of Robby
Beiträge: 786
Registriert: 18 Jan 2006, 16:16
Wohnort: Karlsruhe

Beitrag von eax » 05 Dez 2008, 13:15

Hi,
boo50 hat geschrieben:Jetzt frage ich mich nur noch wie ich das Verhalten ändern kann wenn er eine Wand oder einen Abgrund erkennt.

Wenn ich die Wanderkennung in den "available_behaviours.h" anschallte kann er zwar ausweichen aber dreht sich nur ganz langsam weg bis er die Wand fast seitlich streift.

Schlimmer ist es bei der Kantenerkennung. Hier bleibt der Bot komplett stecken wenn er mit beiden Sensoren am Abrund steht und fährt immer wieder dagegen.

Würde diese beiden Verhalten gerne noch verändern können , dass er zum Beispiel sich etwas weiter dreht oder bei einem Abgrund erst etwas zurück fährt.
Ja, die beiden Verhalten sind nur ganz simple Implementierungen, die bloß das Nötigste tun, damit der Bot nicht runterfällt oder gegen den Wand fährt.
Du kannst sie beliebig erweitern und an deine Bedürfnisse anpassen. Den Sourcecode der Verhalten findest du im Verzeichnis bot-logik, pro Verhalten gibt es eine C-Datei, deren Name mit "behaviour_" beginnt und anschließend den Verhaltensnamen trägt.

Einfache Beispiele zum Einstieg findest du z.B. in behaviour_simple.c

Grüße,
Timo

Antworten