MArc_
25.12.2010, 23:59
Hallo Zusammen!
Ich möchte euch gern' mein neustes Projekt (Gestartet vor knapp einem Monat) vorstellen.
http://img534.imageshack.us/img534/4535/imag0101t.th.jpg (http://img534.imageshack.us/i/imag0101t.jpg/)
Es handelt sich um ein sogenannten Unicycle Roboter, der über ein Rad und (in diesem fall) über eine art "Wirbelsäule" das Gleichgewicht halten soll.
Inspiriert von Gizmoduck \:D/
http://img262.imageshack.us/img262/8343/gizmoduckcolorbymegacha.th.jpg (http://img262.imageshack.us/i/gizmoduckcolorbymegacha.jpg/)
Die Steuerung wird über mehrere kleine AVRs geschehen, an denen Sensoren, Servos/Motorsteuerungen angeschlossen sind. Diese senden alle ihre Sensorwerte an ein Kleinhirn und empfangen Steuerungsbefehle von diesem.
Das Kleinhirn (größerer AVR mit Funk) soll lediglich Grundfunktionalitäten bereitstellen, wie das weiterleiten der Werte an den Cluster (Das eigentliche Hirn), das anschließende empfangen der Befehle vom Hirn (über Funk) und das weiterleiten an die jeweiligen AVRs.
Der Roboter wird, wie schon zu sehen, ein Grundgerüst mit einem Rad haben, einen Kopf (á la Johny 5) und zwei Roboterarme (Die noch in der Konzeption sind). Inklusive den Bewegungs/Gyro-Sensoren an allen beweglichen Körperteilen (zb. jedes Teil der "Wirbelsäule) um die aktuelle 3D-Position zu berechnet.
Erstes Ziel für mich ist es nun, den Roboter mechanisch fertigzustellen, sodass ich alle Sensoren + Elektronik anbringen kann.
Das besondere an diesem Roboter soll aber nicht das Unicycle-System an sich sein, sondern, dass er das Gleichgewicht selbst erlernen wird (genauso wie alle weiteren Bewegungen). Dazu habe ich eine Datenbankbasierte Lernalgorithmus im Kopf, der alle Werte vom Roboter erhält und über simples probieren gewissen Ziele versucht zu erreichen.
Durch das Speichern von Reaktion (Sensorwerte) auf Aktionen (Sensor/Motor-Ansteuerung) wird eine Datenstruktur gebildet,
auf derren Basis dann bestimmte Ziele (gewisse Sensorwerte) basierend auf Erfahrungswerten schneller/überhaupt gelöst werden können.
Anhand von Gewichtungen und der Speicherung in der Datenbank kann das System sich später dann Erinnern und ähnliche Problemlösungen/Ziele schneller und auf eigene Faust erledigen.
(Positiver Nebeneffekt: So erspare ich mir das Probieren und suchen von Mathematischen Formeln und anschließende programmieren jener.)
Ganz so einfach, wie es sich anhört, ist es allerdings nicht, da noch weitere Sensoren wie Drucksensor an den Fingerspitzen, Microfone, zwei niedrig aufgelöste Kameras und andere Sensoren zum Einsatz kommen. Durch die Kombination aus all derer in einem System, das Erfahrungen bildet, erhoffe ich mir eine art komplexerer Künstlichen Intelligenz, die in der Lage sein wird, einfache Dinge zu erlernen - wie ein Baby quasi - durch simples vorgeben von Zielen und das ausprobieren, bis es klappt.
(Wobei ein Baby am Anfang kein Ziel von außen bekommt, sondern erstmal durch Instinkt und Nachahmen sich selbst Ziele setzt - daher bekommt mein System für's erste auch einfachste Vorgaben so einprogrammiert, als wäre es der Instinkt der Maschine).
Später darauf aufbauend soll ein ähnlich abstrahiertes System zur Spracherkennung verwendet werden und via diesem Weg dann Ziele definiert werden,
desweiteren durch die ganzen Sensoren + speziell den Augen eine selbst-gefüllte 3D-Engine enstehen, auf dessen Erfahrungswerte der Roboter dann auch wieder zurückgreifen kann.
Alles in allem also sehr komplex. Mein Endziel ist also eine KI zu entwickeln, die alles was es kann (bis auf das absolute Grundsystem des Analysierens) durch lernen/probieren hat.
Ich hatte vor, sofern erwünscht, den Fortschritt des Projektes hier jeweils mit Bildern zu Dokumentieren und ein paar Wörter zu äußern.
Weitere technische Daten:
* Als Antrieb verwende ich ein Scooter-RitzelSet und ein "gehackten" Servo
* Für die Wirbelsäule und für das anheben des Popos verwende sehr starke ca 40kg Servos.
* Microcontroller für die einzelnen Bereich möchte ich Arduinos verwenden: http://arduino.cc/en/Main/ArduinoBoardFio
Weitere Details folgenden (hoffentlich) bald. :-P
Über jegliche Kommentare würde ich mich wirklich freuen :-)
Beste Grüße,
MArc
Weitere Bilder:
http://img258.imageshack.us/img258/5052/imag0094pu.th.jpg (http://img258.imageshack.us/i/imag0094pu.jpg/) http://img156.imageshack.us/img156/5013/imag0096bz.th.jpg (http://img156.imageshack.us/i/imag0096bz.jpg/) http://img529.imageshack.us/img529/8380/imag0097yr.th.jpg (http://img529.imageshack.us/i/imag0097yr.jpg/) http://img641.imageshack.us/img641/7647/imag0099sy.th.jpg (http://img641.imageshack.us/i/imag0099sy.jpg/) http://img577.imageshack.us/img577/759/imag0100fi.th.jpg (http://img577.imageshack.us/i/imag0100fi.jpg/)
Ich möchte euch gern' mein neustes Projekt (Gestartet vor knapp einem Monat) vorstellen.
http://img534.imageshack.us/img534/4535/imag0101t.th.jpg (http://img534.imageshack.us/i/imag0101t.jpg/)
Es handelt sich um ein sogenannten Unicycle Roboter, der über ein Rad und (in diesem fall) über eine art "Wirbelsäule" das Gleichgewicht halten soll.
Inspiriert von Gizmoduck \:D/
http://img262.imageshack.us/img262/8343/gizmoduckcolorbymegacha.th.jpg (http://img262.imageshack.us/i/gizmoduckcolorbymegacha.jpg/)
Die Steuerung wird über mehrere kleine AVRs geschehen, an denen Sensoren, Servos/Motorsteuerungen angeschlossen sind. Diese senden alle ihre Sensorwerte an ein Kleinhirn und empfangen Steuerungsbefehle von diesem.
Das Kleinhirn (größerer AVR mit Funk) soll lediglich Grundfunktionalitäten bereitstellen, wie das weiterleiten der Werte an den Cluster (Das eigentliche Hirn), das anschließende empfangen der Befehle vom Hirn (über Funk) und das weiterleiten an die jeweiligen AVRs.
Der Roboter wird, wie schon zu sehen, ein Grundgerüst mit einem Rad haben, einen Kopf (á la Johny 5) und zwei Roboterarme (Die noch in der Konzeption sind). Inklusive den Bewegungs/Gyro-Sensoren an allen beweglichen Körperteilen (zb. jedes Teil der "Wirbelsäule) um die aktuelle 3D-Position zu berechnet.
Erstes Ziel für mich ist es nun, den Roboter mechanisch fertigzustellen, sodass ich alle Sensoren + Elektronik anbringen kann.
Das besondere an diesem Roboter soll aber nicht das Unicycle-System an sich sein, sondern, dass er das Gleichgewicht selbst erlernen wird (genauso wie alle weiteren Bewegungen). Dazu habe ich eine Datenbankbasierte Lernalgorithmus im Kopf, der alle Werte vom Roboter erhält und über simples probieren gewissen Ziele versucht zu erreichen.
Durch das Speichern von Reaktion (Sensorwerte) auf Aktionen (Sensor/Motor-Ansteuerung) wird eine Datenstruktur gebildet,
auf derren Basis dann bestimmte Ziele (gewisse Sensorwerte) basierend auf Erfahrungswerten schneller/überhaupt gelöst werden können.
Anhand von Gewichtungen und der Speicherung in der Datenbank kann das System sich später dann Erinnern und ähnliche Problemlösungen/Ziele schneller und auf eigene Faust erledigen.
(Positiver Nebeneffekt: So erspare ich mir das Probieren und suchen von Mathematischen Formeln und anschließende programmieren jener.)
Ganz so einfach, wie es sich anhört, ist es allerdings nicht, da noch weitere Sensoren wie Drucksensor an den Fingerspitzen, Microfone, zwei niedrig aufgelöste Kameras und andere Sensoren zum Einsatz kommen. Durch die Kombination aus all derer in einem System, das Erfahrungen bildet, erhoffe ich mir eine art komplexerer Künstlichen Intelligenz, die in der Lage sein wird, einfache Dinge zu erlernen - wie ein Baby quasi - durch simples vorgeben von Zielen und das ausprobieren, bis es klappt.
(Wobei ein Baby am Anfang kein Ziel von außen bekommt, sondern erstmal durch Instinkt und Nachahmen sich selbst Ziele setzt - daher bekommt mein System für's erste auch einfachste Vorgaben so einprogrammiert, als wäre es der Instinkt der Maschine).
Später darauf aufbauend soll ein ähnlich abstrahiertes System zur Spracherkennung verwendet werden und via diesem Weg dann Ziele definiert werden,
desweiteren durch die ganzen Sensoren + speziell den Augen eine selbst-gefüllte 3D-Engine enstehen, auf dessen Erfahrungswerte der Roboter dann auch wieder zurückgreifen kann.
Alles in allem also sehr komplex. Mein Endziel ist also eine KI zu entwickeln, die alles was es kann (bis auf das absolute Grundsystem des Analysierens) durch lernen/probieren hat.
Ich hatte vor, sofern erwünscht, den Fortschritt des Projektes hier jeweils mit Bildern zu Dokumentieren und ein paar Wörter zu äußern.
Weitere technische Daten:
* Als Antrieb verwende ich ein Scooter-RitzelSet und ein "gehackten" Servo
* Für die Wirbelsäule und für das anheben des Popos verwende sehr starke ca 40kg Servos.
* Microcontroller für die einzelnen Bereich möchte ich Arduinos verwenden: http://arduino.cc/en/Main/ArduinoBoardFio
Weitere Details folgenden (hoffentlich) bald. :-P
Über jegliche Kommentare würde ich mich wirklich freuen :-)
Beste Grüße,
MArc
Weitere Bilder:
http://img258.imageshack.us/img258/5052/imag0094pu.th.jpg (http://img258.imageshack.us/i/imag0094pu.jpg/) http://img156.imageshack.us/img156/5013/imag0096bz.th.jpg (http://img156.imageshack.us/i/imag0096bz.jpg/) http://img529.imageshack.us/img529/8380/imag0097yr.th.jpg (http://img529.imageshack.us/i/imag0097yr.jpg/) http://img641.imageshack.us/img641/7647/imag0099sy.th.jpg (http://img641.imageshack.us/i/imag0099sy.jpg/) http://img577.imageshack.us/img577/759/imag0100fi.th.jpg (http://img577.imageshack.us/i/imag0100fi.jpg/)