PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aufgaben für Vier-/Sechs-/Achtbeiner



krischan
17.05.2006, 16:35
Hallo,

Ich bin mich schon seit längerer Zeit ab und an mit Vielbeinigen Robotern am bschäftigen. Hauptaugenmerk habe ich bis jetzt auf möglichst saubere Bewegungen gerichtet, aber nie auf die Aufgabe solch eines Roboters.

Bevor ich den nächsten Schritt, nämlich meine beim Basteln gewonnenen Erkenntnisse in ein richtiges Konzept umsetze, sollte auch die spätere Aufgabe des Bots feststehen - einfach nur durch die Gegend latschen is ja ein bisschen langweilig.

Bei der Aufgabenfindung habe ich primär an die besondere Fähigkeit der Vielbeiner gedacht, und das ist in meinen Augen die Gelängegängigkeit. Ich denke ein (entsprechend gebauter) Sechsbeiner hat im Gelänge deutliche Vorteile gegenüber einem Bot mit Rädern.

Als Aufgabe hatte ich mir soweit folgendes Überlegt: Der Bot sucht Tennisbälle (evtl auch "IR-Kugeln"). Dazu läuft Zufallsgeleitet durch die Gegend und weicht Hindernissen aus. Findet er den ersten Ball, so "definiert" er ihn als Position null. Anschließend sucht er weiter. Findet er einen weiteren Ball, so trägt er diesen zurück zum ersten Ball. Navigieren wollte ich über Vektoraddition, d.h. jeder "neue" zurückgelegter Steckenteil (evtl. jeder Schritt) wird zum Vektor der bereits zurück gelegten Strecke addiert. Der Roboter weiß also nur, wie weit, und in welcher Richtung, sein Ziel entfernt ist. Den Weg beim Zurückkehren zum ersten Ball muss er sich dann an den Hinternissen vorbei suchen, wobei jedes Hinderniss natürlich auch die Strecken-/Richtungsangabe zum Ziel verändert. Der Algorithmus ist aber soweit aber auch noch nicht wichtig, denke ich. Die Problematik mit der Erfassung der reell zurückgelegten Stecke ist mir (aus anderem Thread) auch bekannt, ich denke aber dass das bei dieser Aufgabe keine so große Rolle spielen würde (angenommen ich weiß, dass der erste Ball im Umkreis von einem Meter um einen Punkt liegen muss, dann kann ich ja suchen). Ziel wäre es letztendlich, möglichst viele Bälle möglichst schnell zusammen zu tragen.



Ich bin irgendwie noch nicht wirklich begeistert von meiner Idee. Was haltet Ihr davon? Hat jemand vielleicht eine bessere Idee für mich? Bin eigentlich für alles offen, Voraussetzung ist nur, dass das ganze mit einem Vielbeiner durchführbar sein soll.




Gruß, Christian

HannoHupmann
17.05.2006, 18:42
Da ich selber einen Hexabot (bzw. eigentlich zwei) mein eigen nennen kann, erlaub ich mir mal ein paar Worte zu der ganze Angelegenheit zu sagen.

Punkt 1: Mechanik
Die Mechanik eines Hexabots (Quadropods oder Polypods was dir am liebsten ist) ist mitunter nicht einfach und auch noch teuer dazu. Sprich für wirkliche Geländetauglichkeit brauchst du 3 Freiheitsgrade und starkte Servos. www.lynxmotion.com als Anbieter dieser schönen Teile und komerziell denke ich wirst auch nicht unter 800 für Mechanik und PIC kommen.
Dann ist so ne Beinsteuerung nie ganz sauber, d. h. du kannst es vergessen über Servobewegung die Strecke zu extrapolieren.
Du wirst eine andere Möglichkeit brauchen (GPS, Kompas, o.ä.).

Punkt 2: Sensorik
Hindernisserkennung, Erkennung von einem geeigneten Gegenstand (Ball), greifen des Gegenstandes und Navigation das wirst du alles brauchen. Mein Phoenix hätte alle Sensoren für eine Hinderniss/Ball erkennung jedoch keinerlei Navigationsmöglichkeiten.
Für wirklich unebenes Gelände brauchst du auf jedenfall noch eine Stabilisation sprich musst die Neigung erkennen können.

Punkt 3: Algorithmus
Du brauchst einen guten Algorithmus für 6 bzw. mehrbeiniges laufen (glaub mir das ist nicht einfach ich hab dafür viele Monate gebraucht und viel getestet bis es mit meinen Servobeinen geklappt hat). Du brauchst einen Algorithmus für Objekterkennung und zugreifen des Balles (daran arbeite ich gerade) und du brauchst einen Navigationsalgorithmus, welcher wohl am komplexesten wird.

Du siehst also dein Problem ist höchst komplex wenn man es sich genauer betrachtet. Aber es ist machbar, kommen wir also zu dem Lösungsteil:


Mechanisch ist es kein Problem das sauber herzustellen kostet nur einiges, mit Bauplänen oder Lösungen kann ich dir jederzeit helfen oder du holst dir anleien bei diversen Anbietern. Alternativ kaufst du einfach eine Plattform.

So das entscheidende ist die Programmierung, da würd ich mich allerdings stückchenweise vorhangeln:
- Laufen gerade aus
- Laufen rückwärts
- Drehen oder eine Kurve laufen
- Sensorik Hinderniss erkennung
- Gegenstands Erkennung
- Greifen eines Gegenstandes
- Navigation

Fazit:
Wenn du es wirklich machen willst, brauchst du a) viel Geld, b) sehr viel Zeit ich würde mal sagen gute 1 bis 2 Jahre oder mehr je nach täglich investierter Zeit.

Kurz zu mir und warum ich glaub das so sagen zu können: Auf meiner Webseite http://thomasboegle.de findest du einen entsprechenden Roboter bei Phoenix, welcher mit Navigation und Programmierung die Aufgabe lösen könnte.
Gekostet hat mich der spass aber allein an Hardware 600~800€ je nach dem was ich alles mitrechne. Zum Teil hatte ich das Zeug schon.
Der Zeitfaktor, ich widme mich vielleicht 1 bis 3 Stundne in der Woche meinem Roboter und hab bisher 2 Jahre für das Vorgängermodell gebraucht und bastel jetzt seit Anfang des Jahres am Nachfolger rum und der kann im Moment seine Servos bewegen, vorwärts rücktwärts laufen und die Zange bewegen da ist aber noch kein Sensor implementiert.
Mein Roboter soll später auch umher wandern und einen Gegenstand einsammeln und diesen an den hellsten Punkt tragen den er findet.

Wenn du bis hier gelesen hast und noch nicht total entmutigt bist, dann wünsch ich dir auf jedenfall viel Erfolg und falls du Hilfe brauchst meld dich, du musst ja nicht die gleichen Fehler machen wie ich :-), aber fang blos nicht an einfach drauf los zu basteln.

mfg HannoHupmann