Autonome mobile Rechnersysteme – nur Spielzeug?

Transcrição

Autonome mobile Rechnersysteme – nur Spielzeug?
Autonome mobile Rechnersysteme – nur Spielzeug?
Carsten Raufuß
Abstract
Roboter spielen in unserem Leben bislang noch keine
große Rolle. Jedoch existiert mittlerweile schon eine Vielzahl an Spielzeug“, das die Beschäftigung mit Roboter”
technik zuhause möglich macht. Grundlage dieser Arbeit
sind der Palm Pilot Robot Kit“-Bausatz, das MIND”
”
STORMS“-System von LEGO und der Roboter-Hund“
”
AIBO“ von Sony. Im Folgenden soll anhand dieser drei
”
Beispiele der aktuelle Stand von Roboterspielzeug gezeigt
werden. Wohin der Trend in der Robotertechnik – schon in
naher Zukunft – gehen könnte, erschließt sich aus Hans Moravecs Vision von universellen, mobilen Robotern“.
”
1. Welche Rolle spielen Roboter für uns heute?
Hört man heutzutage den Begriff Roboter“, so assoziiert
”
man ihn zuerst mit Buch- und Filmfiguren, wie Marvin aus
Douglas Adams’ Per Anhalter durch die Galaxis“ [1] oder
”
C3PO und R2-D2 aus Star Wars“ bis hin zu Androiden“,
”
”
wie Lt. Cmdr. Data aus Star Trek – The Next Generation“.
”
Sie sind allesamt Maschinen, aber – zumindest in vielen ihrer Wesenszüge – menschenähnlich.
Das Robot Institute of America fasste den Begriff des
Roboters in seiner Definition im Jahre 1979 weiter:
eine Menge Spielzeug Einzug in die Haushalte, was allgemein den Zugang zur Robotik“ fördern und die Vertraut”
heit mit ihren Methoden schon von Kindesbeinen an herstellen soll.
In Kapitel 2 wird das Palm Pilot Robot Kit“ vorge”
stellt. Im Anschluss gehen wir auf das MINDSTORMS“”
System von LEGO (Kapitel 3) und auf den Roboter-Hund
AIBO“ von Sony (Kapitel 4) ein. Kapitel 5 gibt einen Aus”
blick auf den zukünftigen Weg des Roboters – hin zu einer selbstständig handelnden und intelligenten Einheit. Abschließend wird der eigentliche Grund diskutiert, warum
der Mensch überhaupt Roboter baut (Kapitel 6).
2. Das Palm Pilot Robot Kit
Das Palm Pilot Robot Kit“ wurde an der Carnegie
”
Mellon University entwickelt, um eine relativ preisgünstige Plattform zum Experimentieren mit Robotern zur
Verfügung zu stellen. Bauanleitung sowie Beispielprogramme sind frei im Internet abrufbar [2]; für weniger versierte
Bastler gibt es das Kit auch fertig montiert, für etwa US
$ 250, zu kaufen.
Roboter: “A reprogrammable, multifunctional
manipulator designed to move material, parts,
tools, or specialized devices through various programmed motions for the performance of a variety of tasks.”
Eingesetzt werden Roboter heutzutage vor allem in der
Industrie als Schweiß-, Fräs- oder Montageautomaten. In
der Medizin unterstützen sie Ärzte bei komplizierten Operationen, und in Gefahrenbereichen, z.B. bei der Entschärfung
von Bomben, kann man nicht mehr auf sie verzichten.
Doch im Alltag spielen sie (noch) eine vernachlässigbare Rolle. Wer möchte sich denn wirklich auf einen autonomen Rasenmäher verlassen? Allerdings hält mittlerweile
Abbildung 1. Palm Pilot Robot Kit
Diese Ausarbeitung entstand im Rahmen des Seminars Mobile Rech”
nersysteme“ an der TU Darmstadt im Wintersemester 2000/2001, unter
Betreuung von Dr. Oliver Theel (FB Informatik).
Das Palm Pilot Robot Kit“ (kurz Robot Kit“) stellt im
”
”
eigentlichen Sinne nur einen fahr- und steuerbaren Unter-
satz dar, der einem Palm Pilot1 als Steuerrechner-Plugin“
”
zu autonomer Mobilität verhilft (siehe Abbildung 1).
2.1. Die Hardware
Die Hauptkomponenten des Robot Kits“ sind ein Palm
”
und ein spezielles, seriell angesteuertes Ein-/AusgabeBoard. Der Roboter wird von drei Servomotoren angetrieben. Seine Umwelt nimmt er mittels dreier InfrarotEntfernungssensoren wahr.
2.1.1. Der Palm Pilot
Die verschiedenen Palm-Modelle verwenden Prozessoren aus Motorolas Dragonball-Baureihe, einem (für niedrigen Stromverbrauch optimierten) Nachfolgemodell des
Motorola MC68000. Diese bieten bei 16-20 MHz Takt etwa drei MIPS Rechenleistung; die Palms haben zwischen
512 KB und 1 MB ROM- und 1 MB bis 8 MB RAMSpeicherplatz [3].
2.1.2. Das Servomotor-Controller-Board Pontech SV203
Die serielle Schnittstelle des Palm kommuniziert
mit einem multifunktionalen Servomotor-Controller-Board
SV203 von Pontech [4]. Befehle werden als einfache
ASCII-Strings an den Controller geschickt und von diesem
umgesetzt.
Im Detail gliedert sich die SV203-Platine (siehe Abbildung 2) in mehrere Einheiten. Ein PIC16C73 [5], ein
EPROM-basierter 8-bit Mikrocontroller mit 7168 Bytes
(4096 14-bit Worte) Programm- und 336 Bytes (192 14bit Worte) Datenspeicher ist die Steuerzentrale der Platine.
Acht Ausgänge dienen zum Aktivieren/Deaktivieren der Infrarotsensoren und Servomotoren. Die Eingabesignale der
Infrarotsensoren werden von einem 5-Kanal 8-bit AnalogDigital-Wandler verarbeitet.
Der Servo-Controller hat noch zwei unbenutzte
Ausgänge, so dass hier noch Spielraum für eigene Erweiterungen gegeben ist. Sollten diese zusätzlichen Anschlüsse
nicht ausreichen, besteht immer noch die Möglichkeit, ein
weiteres SV203-Board anzukoppeln.
2.1.3. Der Antrieb
Das schildkrötenähnliche Gefährt wird von drei Servomotoren (Mekatronix MS492MH) angetrieben. Auf den ersten Blick verwundert die Anordnung der Räder“. Da je”
doch keine üblichen Reifen zum Einsatz kommen, sondern
sogenannte Omni-Wheels“ (die auch quer zur Rollrichtung
”
nicht durch Reibung blockieren), kann der Roboter in jede
Richtung fahren, während er sich zusätzlich mit konstanter Geschwindigkeit um seinen Mittelpunkt“ dreht. Diese
”
holonomische“ Bewegung erreicht man durch kombinier”
tes Ansteuern der drei Motoren. Die
Maximalgeschwindig
keit des Roboters beträgt etwa 10 .
2.1.4. Die Infrarot-Entfernungsmesser
Die Augen“ des Roboters werden durch drei als Ent”
fernungsmesser eingesetzte Infrarotsensoren GP2D12 von
Sharp [6] gebildet. Je nach Abstand zu einem Objekt liefern sie Spannungswerte im Bereich von 2.4 V (nah) bis 0.4
V (entfernt) Volt, die über den A/D-Wandler des SV203 auf
den Wertebereich von 0-255 abgebildet werden.
Die Sensorempfindlichkeit erlaubt es, Abstände im Bereich von 10 cm bis 80 cm auf etwa 1 cm genau zu messen.
2.2. Die Software
Abbildung 2.
Steuerplatine
Pontech
SV203
Servo-
1 Im Folgenden bezeichnet Palm einen Palm/Palm Pilot oder kompatiblen
Organizer.
Die Programme zur Robotersteuerung werden für die
Palm-Plattform geschrieben. Das bedeutet, dass man alle
für den Palm zur Verfügung stehenden Entwicklungsumgebungen nutzen kann, da zur Kommunikation mit dem Un”
tersatz“ lediglich ASCII-Strings über die serielle Schnittstelle ausgetauscht werden müssen.
Auf der Homepage zum Robot Kit“ [2] stehen rudi”
mentäre C++-Basisklassen bereit, um den Einstieg in die
Programmierung zu erleichtern. Die Klasse Robot (Abbildung 3) beschreibt eine komplette Schnittstelle zur Steuerung des Roboter-Shuttles.
class Robot {
public:
Robot();
˜Robot();
// moving commands
void Servo(int servo, int vel);
void Drive(int s1_vel,
int s2_vel,
int s3_vel);
void Vector_Drive(vector dir,
double omega);
void Stop(void);
// delay robot
void Wait(int ticks, int *intr);
// informational commands
int IRDist(int irsensor);
void Message(const char* str);
void Message(int number);
private:
// robot’s state
double x, y, theta;
int ir[3];
// robot’s board
SV203 board;
// conversion functions
int Vel_To_Value(double vel);
int Sensor_To_Range(double irval);
};
Abbildung 3. C++-Klasse Robot
Robot basiert auf einer Klasse vector für Vektorarithmetik und auf der Klasse SV203, die mit void
Tx(char *command, int parameter) und void
Rc(char *buffer) Methoden zur Kommunikation mit
der seriellen Schnittstelle des Palm bereitstellt – und somit auch mit dem angeschlossenen SV203-Board. Folgende
Kommandos aus dem Befehlssatz des SV203-Boards werden zur Implementierung von Robot benutzt:
SVn (Select servo): Anwahl des Servos n.
Mn (Move to absolute position): Der vorher angewählte
Servo dreht sich auf Position n (
n
); M0
schaltet den Servo ab.
ADn (Read a voltage on the A/D port): Der Wert des
Pins n (
n
) des A/D-Ports wird ausgelesen.
Die Abbildung 4 zeigt die prinzipielle Struktur von
Roboter-Steuerprogrammen. Die Ereignissteuerung der
Palm-Applikation läuft über einen Event Loop“. Die Klas”
se Robot wird von Algorithmen der Applikation verwendet und kapselt den Zugriff auf die serielle Schnittstelle.
Palm OS
Standard Palm Applikation
Pilot Main
Start Application
Event Loop
Stop Application
Event Handler
Algorithms
class Robot
Drive Robot
Read Sensors
Drive Servos
class SV203
Tx
Rc
Serial Port
Abbildung
4.
Applikationen
Schema
der
PPRK-
Das C++-Beispielprogramm in Abbildung 5 verdeutlicht
die Programmierung des Robot Kits“ (der Programmco”
de zur Verwaltung der PalmOS-Benutzerschnittstelle ist der
Einfachheit halber weggelassen).
Der Roboter fährt erst für 100 Ticks (entspricht 1 s) in
x“-Richtung, stoppt und gibt die Meldung Hello!“ auf
”
”
dem Palm aus; anschließend wartet der Roboter 10000
Ticks (entspricht 100 s) oder darauf, dass das Display des
Palm berührt wird, fährt dann 200 Ticks (2 s) lang in y“”
Richtung, bleibt stehen und gibt die an diesem Punkt vom
Infrarotsensor 1 ermittelte Distanz in Zentimetern aus.
Leider sind die Sinne“ des Robot Kit“ mit nur drei
”
”
Entfernungsmessern relativ dürftig ausgestattet. Demgegenüber verfügt LEGOs MINDSTORMS“ Roboterbauka”
sten, der im nächsten Kapitel vorgestellt wird, über eine
größere Auswahl an Sensortypen.
// robot’s instance
Robot myrobot;
void SimpleFunction(void) {
int a, ir1;
vector A(0.10, 0.00),
B(0.00, 0.10);
// drive in direction of vector A
// for 100 ticks (= 1s), then stop
myrobot.Vector_Drive(A, 0);
myrobot.Wait(100, NULL);
myrobot.Stop();
// display message and wait for
// 10000 ticks (= 100s) or until
// screen is touched
myrobot.Message("Hello!");
myrobot.Wait(10000, &a);
// drive in direction of vector B
// for 200 ticks (= 2s), then stop
myrobot.Vector_Drive(B, 0);
myrobot.Wait(200, NULL);
myrobot.Stop();
// request and display distance
// from IR sensor 1
ir1 = myrobot.IRDist(1);
myrobot.Message(ir1);
}
Abbildung 6. Robotics Invention System
Mit der Exploration Mars“-Erweiterung ist es möglich,
”
seine Roboter über ein Computerprogramm interaktiv“
”
fernzusteuern. Das Set enthält Bauanleitungen für neue
Roboter und neun Abenteuer“, mittels derer man Mars”
Missionen nachspielen kann.
Alternativ gibt es auch Fertigbausätze“ zu kaufen, die in
”
ihrem Funktionsumfang (bezüglich der Anzahl der Sensoren und der freien Programmierbarkeit) eingeschränkt bzw.
festgelegt sind. So bieten die beiden Einsteigerpakete Dark
”
Side[tm] Developer Kit“ und Droid[tm] Developer Kit“
”
jungen Star Wars“-Fans die Möglichkeit, anhand von sie”
ben fest eingebauten Programmen den Krieg der Sterne“
”
nachzuspielen.
3.1. Die Hardware
Abbildung 5. Beispielprogramm PPRK
3. LEGO MINDSTORMS“
”
Das MINDSTORMS“-System [7] bildet als Technik”
spielzeug mit einem Mindestalter der Zielgruppe von neun
bis zwölf Jahren das obere Ende der Produktpalette von
LEGO. Dass das Durchschnittsalter aber weitaus höher
liegt, lässt das im Internet entstandene, fast unüberschaubare Fan-Netzwerk erahnen; selbst Universitäten verwenden die Bausätze in Forschung und Lehre. Von Bauplänen
für Roboter bis hin zu neuen Programmiersprachen und disassemblierter Firmware [11] der Steuerbausteine ist eine
Vielzahl an Informationen abrufbar.
Mit dem etwa DM 450 teuren Basispaket Robotics In”
vention System“ (siehe Abbildung 6) ist es möglich, einfache Roboter schnell zu bauen und zu programmieren. Mit
den Paketen Ultimate Accessory Set“ und Vision Com”
”
mand“ kann man die Grundfunktionalit ät um weitere Sensoren bzw. eine Kamera erweitern. Ein Computer ist Voraussetzung für die Programmierung der Roboter.
3.1.1. Der RCX
Das Herzstück aller MINDSTORMS“-Roboter stellt
”
ein programmierbarer Baustein namens RCX dar. Mit diesem Baustein orientierte sich LEGO an dem Programma”
ble Brick“ [8], der Mitte der 90er Jahre am MIT Media Lab
entwickelt wurde.
Der RCX (siehe Abbildung 7) basiert auf einem mit 16
MHz getakteten Mikrocontroller H8/3292 [9] von Hitachi.
Er enthält 16 KB ROM- und 32 KB RAM-Speicher. Die Rechenleistung, die den Bastlern zur Vefügung steht, beträgt
etwa fünf MIPS.
Der RCX hat jeweils drei Anschlüsse für Eingänge
(Ports 1-3) bzw. Ausgänge (Ports A-C), sowie einen Infrarotport, über den die Kommunikation mit dem Computer
abgehandelt wird.
3.1.2. Die Ein-/Ausgabe-Ports
An die Ausgänge können Motoren angeschlossen werden, die dem Roboter zur Mobilität verhelfen. Alternativ
kann man auch jeweils ein Lämpchen anschließen.
Abbildung 7. RCX Steuerbaustein
Die Eingänge bieten die Möglichkeit, den Roboter mit
Sinnen“ auszustatten. Aktuell sind Berührungssensor, Hel”
ligkeitssensor, ein Rotationssensor und ein Temperatursensor. Mittlerweile kann man seine Roboter auch mit einer
Kamera ausstatten.
Zum Auslesen der Sensorwerte stellt die Firmware des
RCX vielfältige Möglichkeiten zur Verfügung. Über die
Wahl des Sensortyps teilt man dem RCX mit, ob ein
Berührungs-, Helligkeits-, Rotations- oder Temperatursensor angeschlossen ist, oder ob ein generischer Sensor die
Daten liefert. Der Sensormodus bestimmt, in welcher Weise die Werte zurückgeliefert werden, z.B. als Boole’scher
Wert, als Temperatur in Fahrenheit/Celsius oder in Prozent. Über den Raw-Modus kann man auch Messwerte eines selbstgebauten Sensors auslesen.
Wem die standardmäßigen Sensoren für den Bau seines
Roboters nicht ausreichen, kann im Internet Bauanleitungen für viele weitere Sensoren finden, wie z.B. InfrarotEntfernungsmesser, Temperatursensor und Geräuschsensor;
selbst Ausgefallenes, wie ein Magnetfeldsensor, ist vorhanden [10].
3.2. Die Software
3.2.1. RCX Code
Der Roboter-Konstrukteur steckt die LEGO-Bauteile zu
dem gewünschten Roboter zusammen. Anschließend kann
man mittels der mitgelieferten Software RCX Code“ das
”
Roboterprogramm visuell programmieren. Dazu stehen die
Signale der oben aufgeführten Eingabe-Sensoren, ferner
programmiersprachliche Konstrukte, wie z.B. Bedingungen, Schleifen und Unterprogramme, zur Verfügung. Das
fertige Programm wird als Bytecode2 per Infrarotübertragung an den RCX übertragen und läuft dort autonom ab.
In Abbildung 8 erkennt man, wie LEGO versucht hat,
das patentierte Stecksystem“ auf die Programmierumge”
bung zu übertragen: Die Programmbausteine können an den
vorgesehenen Stellen aneinander gesteckt werden. Der gesamte Ablauf ist event-basiert.
Auf der linken Seite befindet sich die Modul-Bibliothek,
die die vorgegebenen Anweisungen enthält. Rechts daneben steht das Hauptprogramm, in dem (nach Initialisierung
der RCX-Ports) ein Funktionsaufruf in einer repeat forever-Schleife programmiert“ ist. Das Unterprogramm
”
lässt den Roboter blinken und piepsen, wenn der Zähler
counter einen Wert zwischen 10 und 100 annimmt. Die
beiden großen Komplexe auf der rechten Seite visualisieren, wie bei einem press-Event – jeweils einmal für die
Berührungssensoren an Eingang 1 und Eingang 3 – verfahren werden soll. Der Roboter setzt zurück und dreht sich um
einige Grad, indem die Motoren gegenläufig angetrieben
werden. Anschließend wird geprüft (im check & choose-Block), ob counter zwischen 10 und 100 liegt. Ist die
Bedingung wahr, fährt der Roboter wieder geradeaus und
setzt den Zähler zurück; ist sie falsch, fährt der Roboter
zwar auch wieder geradeaus, erhöht den Zähler aber um 1.
Das gezeigte Programm“ lässt den Roboter somit die
”
Umgebung erkunden und zählt die Zusammenstöße mit Objekten; bei jedem zehnten Zusammenstoß blinkt und piepst
der Roboter.
3.2.2. NQC
Mit NQC ( Not Quite C“) von David Baum [13] steht ein
”
freier C-ähnlicher Dialekt zur Programmierung des RCX
zur Verfügung. NQC gibt es für Windows, MacOS und Linux.
Das Programm aus Abbildung 9 ist für einen einfachen, mit zwei Motoren und einem Helligkeitssensor ausgestatteten Roboter geschrieben. Zuerst werden die Motoren/Sensoren initialisiert, der Roboter fährt los. Dann wird
in der while-Schleife kontinuierlich getestet, inwieweit
die Helligkeitswerte, die der Sensor zurückliefert, zwischen
den beiden Schranken L THRESH und R THRESH liegen.
Wird es dem Roboter zu dunkel, dreht er sich zum Licht
hin und fährt weiter; wird es ihm zu hell, dreht er sich vom
Licht weg und setzt seine Fahrt fort.
Der Programmcode simuliert sozusagen ein Insekt, das
2 Auf dem RCX läuft ein Bytecode-Interpreter; mittlerweile kann man
diesen jedoch auch mit einer Java Virtual Machine“ ersetzen. [12]
”
Abbildung 8. Beispiel für die visuelle Programmierung mit RCX Code“
”
sich in einem bestimmten Abstand (gegen den Uhrzeigersinn) um eine Lichtquelle bewegt.
Das MINDSTORMS“-System bietet demnach viele
”
Möglichkeiten für erste Experimente auf dem Gebiet der
aktiven Programmierung“ von Robotern. Als Beispiel für
”
einen Roboter, den man allein durch die eigene Interaktion mit ihm erziehen“ kann, wird im nächsten Kapitel der
”
AIBO von Sony vorgestellt.
4. Der AIBO von Sony
Der AIBO3 [15] ist ein einem Hund nachempfundener autonomer mobiler Roboter (siehe Abbildung 10). Von
Sony als innovatives Unterhaltungsspielzeug anvisiert, sind
wohl eher Erwachsene die Zielgruppe. Bei einem Stückpreis von DM 3399 ist der AIBO sicher zu teuer für das
Kinderzimmer, zumal Erweiterungspakete des Funktionsumfangs separat erworben werden müssen. Trotz des hohen Preises sind jedoch schon über 45000 Exemplare dieses
Haustieres“ verkauft worden.
”
3
Doppelbedeutung: A rtificial I ntelligence RoBO t; japanisch: Freund“.
”
4.1. Die Hardware
Das Hundeherz“ ist ein mit 100 MHz getakteter 64”
bit MIPS RISC-Prozessor. Der AIBO hat 16 MB RAMSpeicher. Über Memory Sticks“ mit 8 MB Kapazität (uni”
verselles Speichermedium von Sony für digitalen Datenaustausch) kann man seinen Hund“ mit neuen Fähigkeiten
”
aufrüsten“.
”
Insgesamt findet man im AIBO 18 Motoren (vier im
Kopf, drei pro Bein und zwei im Schwanz), die es ihm erlauben, sich mit maximal sieben Metern pro Minute umherzubewegen – jedenfalls solange der Lithium-Ionen-Akku ausreicht (Laufzeit etwa 1,5 Stunden). Ein Gyroskop stabilisiert die Bewegungen des Hundes. Über einen Lautsprecher
kann er darüber hinaus mit verschiedenen Melodien auf sich
aufmerksam machen.
Eine Vielfalt an Sensoren bindet den AIBO in seine
Umgebung ein. Über zwei Stereo-Mikrophone kann er auf
Sprache reagieren. Im Kopf des AIBO befinden sich eine
CCD-Farbkamera (mit 180000 Pixeln Auflösung) und ein
Entfernungssensor, mit deren Hilfe er Farbe, Bewegung und
Entfernung erkennen kann. Man kann mit dem AIBO kommunizieren, indem man die Berührungssensoren an Kopf,
#define L_THRESH 42
#define R_THRESH 53
task main()
{
// assign SENSOR_2 to type
// SENSOR_LIGHT; this implies
// that return values range
// from [0=dark to 100=bright]
SetSensor(SENSOR_2, SENSOR_LIGHT);
// turn on left and right motors
On(OUT_A+OUT_C);
while(true) {
if(SENSOR_2 <= L_THRESH){
// too dark, turn left
Off(OUT_A);
On(OUT_C);
} else if(SENSOR_2 >= R_THRESH) {
// too bright, turn right
Off(OUT_C);
On(OUT_A);
} else {
// within threshold, drive
// forward with both motors
On(OUT_A+OUT_C);
}
}
}
Abbildung 9. Beispielprogramm NQC
Kinn und Rücken lobend streichelt oder ihm tadelnd einen
Klaps gibt.
4.2. Die AIBO-Ware
Das Grundpaket des AIBO enthält nur den Roboter; dieser vermag nicht viel mehr zu tun, als sich eigenständig zu
bewegen und selbstständig Aktionen auszuführen. Über sogenannte AIBO-Ware kann man seinen Hund“ zu differen”
zierteren Kommunikationsvorgängen bringen.
4.2.1. AIBO Life
Die AIBO-Ware AIBO Life“ erweitert den Hund“ um
”
”
Instinkte, Emotionen, Lernfähigkeit, Spracherkennung und
um die Möglichkeit, erwachsen“ zu werden.
”
Der AIBO kennt sechs Emotionen (Freude, Traurigkeit, Ärger, Überraschung, Furcht und Abneigung) und
Abbildung 10. Sony AIBO
fünf Instinkte (Zuneigung, Neugierde, Bewegung, Aufladen, Schlaf). Alle diese Eigenschaften nehmen Werte zwischen 0 und 100 an und bestimmen das sogenannte ieMo”
del“ (instinct-emotion model), den Gemütszustand“ des
”
Hundes.
Sieht der AIBO beispielsweise seinen (mitgelieferten)
rosa Ball, so steigen seine Emotionswerte für Freude;
gleichzeitig sinken die Werte für Traurigkeit, Ärger und Abneigung. Sieht der AIBO aber eine Farbe, die er überhaupt
nicht mag ( UNFAV color“), sinkt der Wert für Freude, wo”
hingegen die Werte für Überraschung und Furcht steigen.
Während die Emotionswerte von der gegenwärtigen
Stimmung des AIBO abhängen, gilt dies nicht für seine Instinkte. So würden beim Erkennen des Balls die Instinktwerte Zuneigung und Bewegung beispielsweise nur leicht,
der Neugierdewert jedoch stark ansteigen. In gleichem Maße nähmen diese Instinktwerte beim Sehen der UNFAV co”
lor“ ab.
Abbildung 11 veranschaulicht die möglichen Stadien,
über die sich der AIBO zum vollständigen Haustierersatz“
”
entwickeln kann.
Die PC-Software AIBO Fun Pack“ gestattet es – in Ver”
bindung mit AIBO Life“ – den AIBO zu individualisieren.
”
Beispielsweise kann die Aufwachzeit des AIBO eingestellt
werden; spezielle Ereignisse, wie Geburtstage, lassen sich
einplanen. Das Fototagebuch“ in dem der AIBO pro Tag
”
ein Bild speichert, lässt sich in ähnlicher Weise abrufen.
4.2.2. Hello AIBO“ und Party Mascot“
”
”
Wer beim Kauf des AIBOs gleich einen ausgewach”
senen“ Hund erwerben möchte, sollte das Hello AIBO“”
Abbildung 11. Entwicklungsstadien des AIBO
Paket kaufen. Dieses unterscheidet sich von AIBO Life“
”
dadurch, dass die Funktion des Erwachsenwerdens fehlt.
Mit eingesetztem Hello AIBO“- Memory Stick“ verhält
”
”
sich der AIBO sofort wie ein erwachsener Hund“.
”
Mit der AIBO-Ware Party Mascot“ erweitert man den
”
AIBO speziell um die Fähigkeit, Feiern unterhaltsamer zu
gestalten. Der AIBO amüsiert dann mit Kunststücken, Liedern und Tänzen; außerdem kann er mit anderen AIBOs
Sport“-Wettkämpfe austragen.
”
4.3. Spielereien
Die PC-Software AIBO Master Studio“ erlaubt es,
”
die Bewegungsabläufe und Geräuscheffekte des AIBO abzuändern und zu ergänzen.
Mittlerweile kann der AIBO sogar mit einer FunkNetzwerkkarte ausgestattet werden. Dies ermöglicht den
Einsatz des AIBOs als Wachhund“, der die Bilddaten der
”
Kamera direkt an einen angeschlossenen PC sendet.
In [16] findet sich eine Browser-Software, um den Inhalt der Memory Sticks“ des AIBO zu manipulieren. Ein
”
besonderes Feature bietet das Programm jedoch für Nicht”
AIBO-Besitzer“: die Bewegungen und Töne der (ebenfalls
dort verfügbaren) Memory Stick“-Images des AIBO kann
”
man sich in einem Fenster von einem 3D-Software-AIBO
vorspielen lassen.
Obwohl der AIBO in seinem Verhalten einem lebendigen Haustier schon sehr nahe kommt, sind Roboter, die
menschliche Fähigkeiten haben, noch Zukunftsmusik. Im
nächsten Kapitel wird beschrieben, wie die Entwicklung zu
perfekten“ Robotern hin aussehen könnte.
”
5. Roboter der Zukunft
Glaubt man der Prognose von Hans Moravec [17], Professor für Robotik an der Carnegie Mellon University,
werden bis Mitte dieses Jahrhunderts Roboter existieren,
die dem menschlichen Verstehen und Handeln mindestens
ebenbürtig, sehr wahrscheinlich sogar überlegen sein werden.
Moravec vergleicht die Evolution der Intelligenz der Roboter mit der Evolution biologischer Intelligenz [18]. Seit
dem Kambrium (vor etwa 570 Millionen Jahren) verdoppelten sich die größten Nervensysteme etwa alle 15 Millionen Jahre. Im Vergleich dazu verdoppelt sich die Rechenleistung von Prozessoren etwa alle ein bis zwei Jahre. Die
Rechner entwickeln sich also etwa 10 Millionen Mal so
schnell und werden uns bis Mitte dieses Jahrhunderts wahrscheinlich eingeholt haben.
Eine grobe Schätzung (siehe Abbildung 12) verdeutlicht den momentanen Stand der Dinge: Aktuelle DesktopRechner leisten etwa 500-1000 MIPS; zur Nachbildung ei-
Lebewesen
Insekt
Guppy
Eidechse
Maus
Affe
Mensch
Abbildung
12.
Rechenleistung
MIPS
10
1000
5000
100000
5000000
100000000
Generation
erste
5.3. Universelle Roboter der dritten Generation –
bildhafte Vorstellung
zweite
dritte
vierte
Geschätzte
–, abhängig vom positiven oder negativen Ausgang der
Tätigkeit, an, dann lernt“ der Roboter mit der Zeit.
”
Gehirn-
nes Guppy-Gehirns sind etwa 1000 MIPS anzusetzen. Das
menschliche Gehirn liegt hierbei mit etwa 100 Millionen
MIPS weit außerhalb des Möglichen. Folgt man dem Moore’schen Gesetz, kann diese Rechenleistung jedoch schon in
20 Jahren zur Verfügung stehen.
Diese Evolution“ gliedert sich in vier Generationen von
”
Robotern [20] – jeweils gekoppelt an die verfügbare Rechenleistung ihrer Computer.
5.1. Universelle Roboter der ersten Generation –
der dumme‘‘ Roboter
’’
Die Rechenleistung von 1000 bis 5000 MIPS dürfte ausreichen, um eine erste Generation von universellen, mobilen
Robotern zu bauen. Diese können mittels mehrerer stereoskopischer Kameras ihre Umgebung wahrnehmen, sie aufzeichnen und sich selbstständig darin bewegen.
Einen ersten Anwendungsbereich sieht Moravec darin,
Gabelstapler oder auch Reinigungsmaschinen mit einem
basketballgroßen navigation head“ auszurüsten, der die ge”
samte Intelligenz“ (Rechner, Kameras und spezielle Pro”
gramme für räumliche Wahrnehmung und Verrichtung der
Arbeit) enthält.
Mit dem Erreichen der dritten Generation werden die
Roboter (mit MIPS) jeden Schritt ihres Handelns
vor der Ausführung durchspielen“.
”
Mit Hilfe einer world modeler“-Software kann der Ro”
boter die Handlungen in seiner Umgebung simulieren. Mit
jeder Wiederholung der Simulation werden die Gewichte
der Handlungsalternativen (siehe Abschnitt 5.2) so angepasst, dass der Roboter schließlich die Aufgabe am Objekt“
”
korrekt ausführt.
Ein Problem für die Simulation stellt die riesige Menge
an Daten in Bezug auf implizites Vorwissen dar. Ein Roboter, der ein Gericht zubereiten soll, muss beispielsweise
mit einer Vielzahl von unterschiedlichen Formen für Dosen,
Tassen oder Töpfen rechnen“.
”
5.4. Universelle Roboter der vierten Generation –
logisches Denken
Durch die Verbindung von Robotern der dritten Generation mit Expertensystemen wird die vierte Generation universeller Roboter – Moravec’ Mind Children“ [21, 22] –
”
die Fähigkeit zu logischem Denken und zur Abstraktion besitzen. Mit einer Rechenleistung von MIPS und mehr
sind den Fähigkeiten der Roboter dann keine Grenzen mehr
gesetzt.
5.2. Universelle Roboter der zweiten Generation –
Anpassungsfähigkeit
Die zweite Generation wird sich dann selbstständig an
wechselnde Verhältnisse anpassen können und die Fähigkeit zum eigenständigen Optimieren ihrer Handlungsweisen haben. Dafür ist Rechenleistung im Bereich von etwa
100000 MIPS notwendig.
Bestehen die Programme“ der Roboter der ersten Gene”
ration nur aus Sequenzen von durchzuf ührenden Aktionen
(z.B. DO STEP A THEN STEP B THEN STEP C...),
kennt die zweite Generation auch Alternativen, wie etwa
DO STEP A1 OR STEP A2 OR... THEN STEP B1
OR STEP B2 OR... THEN... . Gewichtet man die
Alternativen und passt ihre Ausführungswahrscheinlichkeit
– über die Rückkopplung eines Bewertungsmechanismus
(a) Der Denker“ von Augu”
ste Rodin, Kunsthalle Bielefeld
(b) Die Zukunft des Roboters?
Abbildung 13. Der Mensch und der Roboter
Abbildung 13 spielt auf die Möglichkeit an, dass in Zukunft nicht mehr nur der Mensch allein das Denken“ für
”
sich beanspruchen kann. Der Roboter wird dem Menschen
ebenbürtig.
Nach Moravec wird es also nicht mehr allzu lange
dauern, bis zumindest universelle Haushaltsroboter zur
Verfügung stehen. Wie sich der weitere Verlauf des Zu”
sammenlebens“ mit den Maschinen in Zukunft entwickeln
könnte, wird im nächsten Kapitel diskutiert.
6. Mensch und Maschine
Die Entwicklung von Robotern beschränkt sich im Moment noch auf die Konstruktion einfacher Maschinen, die
uns lästige Alltagsarbeiten abnehmen sollen.
Allerdings stellt sich die Frage, ob dies das einzige Ziel
ist, das der Mensch mit der Schaffung von Robotern verfolgt. Am Ende von Moravec’ Vision, mit der vierten Generation von Robotern, steht eine Maschine, die dem Menschen ebenbürtig, sogar überlegen ist!
Der Versuch des Menschen, Nachkommen“ zu er”
schaffen, die allein seinem Geist entsprungen sind, kann
man letztlich als den Wunsch interpretieren, mit Hilfe seiner Geisteskinder“ Unsterblichkeit zu erlangen. Auch das
”
Streben, etwas nach seinem Bilde“ zu schaffen und sich
”
damit als ein höheres Wesen“ zu beweisen, mag in diesem
”
Versuch einer Schöpfung“ eine Rolle spielen.
”
Vielleicht wird noch in diesem Jahrhundert der Mensch
eine Simulation“, die auf Robotern läuft“, sein und damit
”
”
die biologische Evolution hinter sich lassen.
[8] Massachusetts Institute of Technology, The
Programmable
Brick.
http://el.www.
media.mit.edu/groups/el/projects/
programmable-brick/
[9] Hitachi, Ltd., H8/3297 Series Single-Chip Microcomputer. http://www.hitachi.co.jp/Sicd/
English/Products/micom_all/l056e_a.
htm
[10] [Anonym], LEGO MINDSTORMS Internals. http:
//www.crynwr.com/lego-robotics/
[11] Kekoa Proudfoot, RCX Internals. http:
//graphics.stanford.edu/˜kekoa/rcx/
leJOS.
[12] Jose
Solorzano,
sourceforge.net
http://lejos.
[13] David Baum, NQC - Not Quite C. http://www.
enteract.com/˜dbaum/nqc/
[14] Jonathan B. Knudsen, The Unofficial Guide to LEGO
MINDSTORMS Robots. O’Reilly, Sebastopol, CA,
1999.
[15] Sony Corporation, AIBO Homepage. http://www.
aibo.com
[16] [Anonym],
AiboPet’s
//aibopet.com
Web
Site.
http:
[17] Hans Moravec, Persönliche Homepage. http://
www.frc.ri.cmu.edu/˜hpm/
Literatur
[2] Carnegie Mellon University, Palm Pilot Robot Kit.
http://www.cs.cmu.edu/˜pprk/
[18] Hans Moravec, Rise of the Robots. Scientific
American, Dezember 1999, S. 124-135. Online:
http://cart.frc.ri.cmu.edu/users/
hpm/project.archive/robot.papers/
1999/SciAm.scan.html, 1999.
[3] Palm, Inc., Hardware Comparison Matrix.
http://www.palmos.com/dev/tech/
hardware/compare.html
[19] Timothy Druckrey (ed.), with Ars Electronica, Ars
Electronica: Facing the Future. A Survey of Two Decades. MIT Press, Cambridge, MA, 1999.
[4] Pontech, The SV203 Servo Motor Controller Board.
http://www.pontech.com
[20] Hans Moravec, The Universal Robot. In [19], S. 116123. Online: http://cart.frc.ri.cmu.edu/
users/hpm/project.archive/robot.
papers/1991/Universal.Robot.910618.
html, 1991.
[1] Douglas Adams, Per Anhalter durch die Galaxis. Wilhelm Heyne Verlag, München, 1998.
[5] Microchip Technology, Inc., PIC16C7X Family.
http://www.microchip.com/10/lit/
pline/picmicro/families/16c7x/
[6] Sharp
Corporation,
GP2D12.
http://
sharp-world.com/ecg/opto/products/
pdf/optical_sd/optical_sd/gp2d12.
pdf
[7] LEGO
Company,
MINDSTORMS.
//mindstorms.lego.com
http:
[21] Hans Moravec, Mind Children: The Future of Robot
and Human Intelligence. Harvard University Press,
Cambridge, MA, 1988.
[22] Hans Moravec, ROBOT: Mere Machine to Transcendent Mind. Oxford University Press, Oxford, UK,
1998.

Documentos relacionados