Elektronik Projekt
RSS Feed Selector Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Elektronik Projekt » Roboter Forum » KI - Die Künstliche Intelligenz » M.I.T. AI Memo » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen M.I.T. AI Memo
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
struan
König


images/avatars/avatar-311.gif

Dabei seit: 14.09.2008
Beiträge: 803
Herkunft: Straubing-Friesland

M.I.T. AI Memo Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

hallo,

in der onlinedokumentation zum c't bot bin ich auf das AI-memo 864 vom M.I.T. gestossen - ein kleiner lesenswerter artikel wie man mit verschiedenen aufgabenebenen einen roboter steuern kann, anstatt eine flache kette sensor->verarbeitung->aktuator zu benutzen.

naja auch wenn das pdf von 1985 ist und der code in lisp geschrieben ist, doch interessant.

hier kann man es suchen (stichwort aim-864):
http://publications.csail.mit.edu/ai/
die suche nach "robot" liefert einige treffer, zu fast jedem robotik/k.i.-relevanten begriff gibts dokumente.

hier direkter link:
ftp://publications.ai.mit.edu/ai-publica...pdf/AIM-864.pdf

und hier alle ca 1350 stück:
ftp://publications.ai.mit.edu/ai-publications/pdf/

hab einen blick in ein weiteres ai memo geworfen, nämlich aim-239. das war mir zu abgefahren großes Grinsen

ich hab den thread hier mal gestartet, denn vielleicht findet wer weitere lesenswerte memos oder kann diese info brauchen

__________________
wer einen rechtschreibfehler findet, darf ihn behalten.
28.03.2010 21:40 struan ist offline E-Mail an struan senden Beiträge von struan suchen Nehmen Sie struan in Ihre Freundesliste auf
TecDroiD TecDroiD ist männlich
Moderator


images/avatars/avatar-161.jpg

Dabei seit: 12.08.2003
Beiträge: 2.456
Herkunft: Berlin

RE: M.I.T. AI Memo Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

sehr spannende library das smile
muss ich mich mal durch kämpfen.. gleich nach schätzing Kawai

__________________
^[:wq
Sorry, eigentlich wollte ich mich kurz fassen.
Wer meine Ideen kommerziell nutzen möchte, möge mich bitte beteiligen- ich spare auf ein Haus großes Grinsen
30.03.2010 07:43 TecDroiD ist offline E-Mail an TecDroiD senden Homepage von TecDroiD Beiträge von TecDroiD suchen Nehmen Sie TecDroiD in Ihre Freundesliste auf Fügen Sie TecDroiD in Ihre Kontaktliste ein
TecDroiD TecDroiD ist männlich
Moderator


images/avatars/avatar-161.jpg

Dabei seit: 12.08.2003
Beiträge: 2.456
Herkunft: Berlin

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

habs jetzt mal gesaugt. sind nur 6GB an Daten.. jetzt brauch ich einen DL-Rohling..

__________________
^[:wq
Sorry, eigentlich wollte ich mich kurz fassen.
Wer meine Ideen kommerziell nutzen möchte, möge mich bitte beteiligen- ich spare auf ein Haus großes Grinsen
30.03.2010 12:41 TecDroiD ist offline E-Mail an TecDroiD senden Homepage von TecDroiD Beiträge von TecDroiD suchen Nehmen Sie TecDroiD in Ihre Freundesliste auf Fügen Sie TecDroiD in Ihre Kontaktliste ein
kater kater ist männlich
Kaiser


Dabei seit: 04.11.2005
Beiträge: 1.443

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Werd mit 864 morgen mal ausdrucken. Auch wenn es hart zu lesen ist, schaden kann es nicht.

__________________
Wie zeichnet man 800k Linien in einer Sekunde? Vorschläge bitte per PM großes Grinsen
30.03.2010 14:42 kater ist offline E-Mail an kater senden Homepage von kater Beiträge von kater suchen Nehmen Sie kater in Ihre Freundesliste auf Fügen Sie kater in Ihre Kontaktliste ein
kater kater ist männlich
Kaiser


Dabei seit: 04.11.2005
Beiträge: 1.443

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

So, das Paper ist echt gut. Gar nicht so schwer zu lesen.
Es ist auch Teilweise witzig. Der Roboter hängt irgendwie an einer 15kbaud Leitung an 4 weiteren Computer oder so Kawai

__________________
Wie zeichnet man 800k Linien in einer Sekunde? Vorschläge bitte per PM großes Grinsen
01.04.2010 18:41 kater ist offline E-Mail an kater senden Homepage von kater Beiträge von kater suchen Nehmen Sie kater in Ihre Freundesliste auf Fügen Sie kater in Ihre Kontaktliste ein
kater kater ist männlich
Kaiser


Dabei seit: 04.11.2005
Beiträge: 1.443

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

So, durchgelesen.

Ich möchte euch hier mal ein paar Gedanken mitteilen. Insbesondere geht es mit um Bild 5 und 6.

Aber erst ein paar Worte, was die Kästchen in den Bildern bedeuten.

motor: Das ist einfach der Motorcontroller. Man gibt im einen Winkel wohin, und eine Distanz wie weit er fahren soll. Praktisch wäre das dann ein Mikrocontroller mit Encoder an den Rädern und ein z.B. USB Anschluss zum Pc.

sonar: Das sind die Sensoren. Wobei es erstmal egal ist, was das für Sensoren sind und wieviele es sind. Für dieses Beispiel seit aber mal angenommen, es sind Abstandssensoren in Kombination mit einem Taster, damit der Bot auch erkennt, wenn er wo gegen gefahren ist.

collide: Dieses Modul macht folgendes: Es schaut nach, ob Taster gedrückt sind und wenn ja, dann sendet es das "halt" Kommande an den Motorcontroller. Der Bot bleibt also stehen, nachdem er wo gegengefahren ist.

Bravo! Der erste grundlegenste Schritt ist vollbracht. Die "Signalkette" Umgebung - Roboter - Sonar - Collide - Motor - Roboter - Umgebung ist geschlossen. Nun kann der Roboter mit der Umgebung interagieren. Zwar sehr sehr beschränkt, aber es ist möglich.

Nun ein paar Worte zu den beiden anderen Moulen "feelforce" und "runaway" in Bild 5.

feelforce: Also so wie ich das verstanden habe, passiert heir folgendes. feelforce schaut sich die Werte der Abstandssensoren an. Wenn ein Objekt dem Roboter zu nahe kommt, oder der Roboter dem Objekt zu nahe kommt, dann "fühlt" er sich unwohl und wil sich wieder von dem Objekt entfernen. Das ist eigentlich eine ganz natürliche Reaktion. Alles was man nicht kennt, vor dem hat man Angst.
Wenn also feelforce der Meinung ist, das Objekt da vorne kommt zu nahe, dann sag es dem

runaway: Modul, das wir hier schleunigst weg sollen. runaway sendet nun also eine neue Richtung und Distanz zum Motorcontroller. In welche Richtung der Roboter abhauen soll ist erstmal unwichtig.

Zwischenfrage: Was macht der Bot nun, wenn er von allen Seiten umzingelt ist und die "Wände immer näher kommen"? Er bewegt sich von allen Objekten gleich weit weg, also genau in die Mitte! Wenn wir den Roboter nun in einen leeren Raum stellen, und die Sensoren genug Reichweite haben, fährt er automatisch in die Mitte. Die Mitte ist physikalisch gesehen der Schwerpunkt.
Wir haben nun also ein Apperrat gebaut, der den Schwerpunkt findet, ohne dass wir das wollten! Nur mit der einfachen Anweisung "halte dich von allen möglichst weit fern". Fasziniernd oder? smile


So, nun aber endlich zu dem Kern. Bild 6.
Bild 6 zeigt unser System um zwei Komponenten erweitert: wander und avoid.

wander: Das ist einfach ein Zufallsgenerator der zufällig ein Winkel und Distanz erstellt. Der Roboter soll sich also einfach mal bewegen. Ein Ziel hat er nícht, aber das brauchen wir hier auch nicht.

avoid: Hmm jetzt wird es etwas schwerer. avoid bekommt eine Richtung von wander, wohin der Bot sich bewegen soll, aber auch gleichzeitig auch eine Angabe, wo Objekte sind, also wohin der Roboter möglichst nicht fahren soll. Diese beiden Informationen werden kombiniert und heraus kommt eine Richtung, die so ungefähr noch in Richtung des Zieles von wander zeigt, aber doch etwas weg vom Objekt.

Und jetzt kommt die Technik/ der Trick alle anderen Verhalten beruhen. Die Information "Richtung und Distanz" teffen sich (Im Bild bei demsen Kreis wo S 15 drin steht) bevor sie zu dem Motorkontroller kommen. Aber nur einer der beiden kommt durch. Ich sage mal, welches Signal "stärker" ist, kommt durch.

Es passiert nun also folgendes:
feelforce und runaway sagen: "ich fühl mich hier nicht wohl, lass mal von dem Objekt weg fahren". Aber wander und avoid sind "neugierig" und meinen: "nein, wir fahren jetzt zu dem Objekt hin". Also fährt der Roboter hin.
Jetzt ist das Objekt näher, das Signal von feelforce und runaway wird stärker, man könnte auch sagen, die Angst nimm zu. Und irgendwann ist die Angst größer als die Neugierde von wander und avoid, und der Roboter fährt weg.


Zusammenfassend kann man sagen, es findet also eine Entscheidung statt, je nachdem wie gewichtet wird. Man kann nun also sagen, mein Roboter ist besonderst mutig, und gewichtet das Signal von wander/avoid doppelt. Dann muss das Signal von feelforce/runway besondert stark werden, bevor der Roboter wieder weg fährt.


Wem es vllt. aufgefallen ist, das ist das Verhalten von Künstlichen Neuralen Netzten. Wir haben also ein Knotenpunkt, eine Neurone oder wie das Ding heisst, an dem sich zwei Signale Treffen. Die Signale werden gewichtet, dann kommt noch etwas Mathematik und heraus kommt ein neues Signal.
So kann man auch ein Signal komplett unterdrücken. Z.B. wenn der Roboter rote Steine aufsammeln soll. Hier ergibt sich das Problem, dass er zu dem Stein hin fahren soll, was er ja nicht mag. Noch schlimmer: Um den Stein aufzusammeln, muss er ihn berühren, also mit ihm kollidieren. Nach unserem Modell würde der Roboter sofort seine Tätigkeit einstellen.
Also wenn ein roter Stein gesichtet wurde, unterdrücke die "instinktive Angst und Weglaufreiz" des Roboters vom roten Stein. Von gelben Steinen läuft er allerdings weiter weg Augenzwinkern

Zum Schluss noch ein Link zu einem etwas älteren Thread [1]. Hier geht es um einen kleinen Roboter, der mit 4-5 neuroden Programmiert ist. Je nachdem an welcher Ecke er auf ein Hinderniss trifft, dreht er um und fährt in die andere RIchtung weiter. Hier geht es also mehr um die Funktionsweise von Neuroden.

@tecdroid nun weisst du ja, wie du dein Hexapod programmieren musst Augenzwinkern


An alle: Vielen Dank fürs lesen smile

[1] Eine kleine neuronale Spielerei

__________________
Wie zeichnet man 800k Linien in einer Sekunde? Vorschläge bitte per PM großes Grinsen
06.04.2010 18:04 kater ist offline E-Mail an kater senden Homepage von kater Beiträge von kater suchen Nehmen Sie kater in Ihre Freundesliste auf Fügen Sie kater in Ihre Kontaktliste ein
struan
König


images/avatars/avatar-311.gif

Dabei seit: 14.09.2008
Beiträge: 803
Herkunft: Straubing-Friesland

Themenstarter Thema begonnen von struan
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

kurze anmerkung:

das S15 heisst eigentlich S1.5 - es unterdrückt das andere signal für 1.5 sekunden.

diesen ebenenansatz find ich echt reizvoll, ist in der tat einem neuronalen netz ähnlich

__________________
wer einen rechtschreibfehler findet, darf ihn behalten.
07.04.2010 11:13 struan ist offline E-Mail an struan senden Beiträge von struan suchen Nehmen Sie struan in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Elektronik Projekt » Roboter Forum » KI - Die Künstliche Intelligenz » M.I.T. AI Memo

Impressum