PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bot m. Neuronaler Programmierung



Manuel.Ebert
10.09.2006, 21:14
Guten Abend allesamt,

ich komme eher aus der Software-Ecke und würde gerne einen neuronal programmierten, also Lernfähigen Roboter zusammenflicken. Die Idee für die Software sieht so aus:

Eine Ultraschall-Einheit (SRF05) auf einem Schrittmotor misst rundum ein paar Punkte, merkt sich die, fährt ein bisschen, macht wieder eine Messung, interpoliert die beiden Ergebnisse erstmal gegeneinander (um so Fehler auszumerzen die dadurch entstehen, dass er nicht exakt gerade und vielleicht etwas weiter als geplant gefahren ist) und kann somit a) Eine interne Karte der Umgebung erstellen und b) die eigene Position ermitteln.

Damit das dann auch für Navigation benutzt werden kann, müssen aus den Punkten natürlich Formen werden, und dafür werden die Punkte verbunden. Eine günstige Ausgangskonfiguration präferiert zwei Verbindungen pro Punkt und 180° Winkel dazwischen - davon ausgehend, dass die meiste Architektur rechtwinklig ist. Dafür gibt's vernünftige Instant-Algorithmen, die auch mit 16Mhz noch vertretbar sein sollten. Wenn bei einer zukünftigen Messung dann irgendwas unplausibel wird (z.B. weil Punkte hinter einer vermeintlichen Wand gemessen werden), propagiert ein NN den Fehler zurück und passt die Karte entsprechend an.

Soweit, so gut. Ist zwar etwas Arbeit, allerdings durchaus machbar. Ich studiere ja nicht umsonst beim RoboCup-MidSize-League Meister ;-)
Ein ähnliches Projekt gibt's übrigens schon bei uns in Osnabrück, nennt sich Kurt3D und Infos gibt's da: http://www.inf.uos.de/kbs/KURT3D.html. Nur dass die einen 2GHz Laptop brauchen, um die 6 Freiheitsgrade auszuwerten, und dass auf 2 Freiheitsgrade beschränkte Problem mit 16 MHz zu lösen gedenke... :) Wie auch immer, von denen kann ich mir wenn nötig etwas Code stehlen.

Tja, das eigentliche Problem ist, dass ich zwar künstliche Intelligenzen und Neuronale Algorithmen hoch- und runtercoden kann, die Hardware macht mir eher Probleme, da ich kaum mehr als über ein paar Grundlagen der Elektronik bescheid weiß. Vielleicht kann mir hier jemand ein paar Tips zur Konfiguration geben. Folgendes hab' ich eigentlich geplant:


RN-Control 1.4 Mega32
Twin-Motorset, Design mit zwei Rädern und Stützrad hinten.
...die mit einem RN-MotorControl gesteuert werden
Ein Schrittmotor an der Motorsteuerung des ControllerBoards
...auf dem der SRF05 sitzt
Stromversorgung durch 9,6V Akkupack (1.65 A)


Offen halten für spätere Erweiterung wollte ich ein Funk-Modul und das SpeechSynth-Modul (endlich eine Anwendung für 2 Jahre Computerlinguistik). Falls die Berechnungen und gespeicherten Daten für den 16 MHz-Knirps zu viel werden würd ich ihn eh von einem Server auf dem Laptop aus Steuern lassen.

Mit ISP-Dongle und diversem anderem Kram wär ich da allerdings schon bei 180 Euro. Hinzu kommt das Problem, dass ich außer dem Parallelport für den Drucker keine serielle Schnittstelle an meinem Rechner habe (und wenig Lust wieder ein antiquiiertes Ding vom Dachboden zu holen) - hat sich eine vernünftige Alternative zum RS232-Kabel vom Bot zum Rechner?

Oder gibt es einen preisgünstigen programmierbaren und trotzdem erweiterbaren Fertig-bot? Mir geht es wie gesagt eher um die Programmierung als um die Technik, ich bin Grobmotoriker. Hier und da ein bisschen rumlöten wird mich nicht umbringen, aber je weniger desto besser ;-)

Nun gut, jemand ein paar Tipps auf Lager? gibt es schon ähnliche Ambitionen irgendwo?

Gruß
Manuel[/list]

HannoHupmann
10.09.2006, 22:11
Lustige, mehr mals den gleichen Text posten führt nicht zu besserem Verständnis, aber klingt ganz interessant. Wenn ihr jetzt nicht in Osnabrück wärt würde ich mit euch zusammenarbeiten und den Hardware Teil übernehmen, weil Software ist nicht so mein Ding.

Manf
10.09.2006, 22:52
Auch ohne dass der Text sortiert wird kann man sich schon vorstellen was gemeint ist.
Wenn man sich mit dem Thema befassen will dann sollte man am besten schrittweise vorgehen und sich darüber klar werden was man mit den jeweiligen Schritt erreicht hat und welche Kompromisse man eingegangen ist.
Das fängt beim Fahrwerk des Roboters mit Antriebs- und Stützrädern an, gelenkt oder ungelenkt im Zusammenwirken mit dem Boden. Soll der Drehwinkel der Räder kontrolliert werden oder wird eine Geschwindigkeit über die Betriebsspannung vorgegeben?
Es geht im genannten Teil mit der Entfernungsmessung mit Ultraschall oder optischer Messung weiter: (In welcher Richtung wird dabei effektiv gemessen?).
Jeder der Schritte ist sicher nicht schwierig, und ein einfaches Modell ermöglicht schon einen Einstieg.
Manfred

Manuel.Ebert
10.09.2006, 22:55
Ah well, hab' mich schon gewundert warum der Text so lang ist. BBCode messed up. Prinzipiell haben wir ja einen Haufen Hardwarespezialisten hier rum laufen, aber eben niemanden, der sich mit den RN-Modulen auskennt. (Wobei mich auch die Möglichkeit reizt, einen Palm als Controller zu nutzen...). Tja, deswegen steh' ich etwas ratlos da.

Die Geschwindigkeit sollte über die Betriebsspannung vorgegeben werden und wahrscheinlich sogar konstant sein. Um die Messungen zu machen muss das Vieh eh' alle Nase lang stehen bleiben...

Das SFR05 soll auf einem Schrittmotor so montiert werden, dass ein ganzer 360° Schwenk mit dem Lot zum Boden als Drehachse möglich ist - Je nach Auflösung können dann also "links" und "rechts" vom Roboter bis um die 50 Punkte gemessen und dann der Sensor wieder in Fahrtrichtung geschwenkt werden um während des Fahrens ein Kollisionsprävention zu leisten.

Das ganze soll recht kompakt auf einer Scheibe mit 140cm Durchmesser platz finden, also müssen die Boards auf zwei Ebenen verteilt werden. Ich suche noch nach einem passendem Plug'n'Snap, damit die Ebenen jederzeit abnehmbar, nach oben erweiterbar etc. sind.