17
Seminar Agentensysteme: Roboter – Vom Webstuhl zum Androiden Wintersemester 2005/2006 Dozent: Dr. Dietmar Lammers Sascha Hauke [email protected]

Seminar Agentensysteme: Roboter – Vom Webstuhl zum Androiden · Kapitel 2 Vom Webstuhl zum Marsrover 2.1 Die Anf¨ange - Das 18. und 19. Jahrhundert Maschinen, die ihre Aufgaben

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Seminar Agentensysteme:

Roboter – Vom Webstuhl zum AndroidenWintersemester 2005/2006

Dozent:Dr. Dietmar Lammers

Sascha [email protected]

Zusammenfassung

Roboter nehmen eine immer großere Rolle in unserem Leben ein. Zunachst beschrankte sich ihr

”Lebensraum“ auf Fabrikhallen und Labore, mit der immer schneller werdenden technischenEntwicklung der letzten Jahrzehnte erobern Roboter jedoch immer mehr Nischen fur sich. Waren sielange Zeit Objekte, die man aus Fernsehreportagen oder Science-Fiction Buchern kannte, so haufensich heute die Beruhrungspunkte mit Robotern im menschlichen Alltag. Sei es als Helfer in Industrie,Gesundheitswesen oder gar im Haushalt, Roboter werden immer prasenter – sogar als Spielzeug. Derfolgende Artikel soll in seiner kurzen Form einen Ublerblick daruber geben, wie sich die Roboter ingroben Zugen entwickelt haben, und einen kleinen Ausblick darauf geben, wohin diese Entwicklungfuhren mag.

Inhaltsverzeichnis

Inhaltsverzeichnis I

Abbildungsverzeichnis II

Tabellenverzeichnis II

Listings II

1 Ursprung und Definition: Was ist ein Roboter? 1

2 Vom Webstuhl zum Marsrover 22.1 Die Anfange - Das 18. und 19. Jahrhundert . . . . . . . . . . . . . . . . . . 22.2 Die technische Revolution – das 20. Jahrhundert . . . . . . . . . . . . . . . 3

3 Asuro 53.1 Aufbau und Leistung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 Software und Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . 6

4 Vom Marsrover zum Androiden 84.1 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

A Roboterklassifikation 10

B Informationen zu Asuro 11

I

Abbildungsverzeichnis

2.1 Spinning Jenny, ca. 1764 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Atanasoffs Computer, 1942 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Unimat im Einsatz, 1961 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.4 Mars Exploration Rover (links), Vorganger Sojourner (rechts) . . . . . . . . . . 4

3.1 Roboterbausatz Asuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4.1 Kawada Industries HRP-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2 RobotCubs iCub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

B.1 Asuro – Schematischer Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Tabellenverzeichnis

B.1 Asuro – Hardwareeigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Listings

3.1 Asuro – Initialisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6B.1 Asuro – Code fur Linienverfolgung . . . . . . . . . . . . . . . . . . . . . . . 12

II

Kapitel 1

Ursprung und Definition:Was ist ein Roboter?

Roboter – wenn dieses Wort fallt, weißheute jeder, was damit gemeint ist.

Oder so konnte man zumindest vermuten –doch tatsachlich ist gar nicht so sehr klar,was sich hinter diesem Wort eigentlich ver-birgt. Die Vorstellungen eines jeden einzel-nen, wie denn nun eine solche Maschine aus-zusehen hat, sind von einer Vielzahl von Fak-toren bestimmt. Am Anfang soll daher einegenauere Betrachtung dessen stehen, was wiruns heute – als Gesellschaft – unter Roboternvorstellen.

Der Begriff des Roboters leitet sichaus dem slawischen Wort ”robota“ ab, dasursprunglich soviel bedeutete wie ”Frohn-dienst“, heute aber auch in der Bedeutungvon ”Arbeit“ oder ”Maloche“ gebraucht wird.

Entscheidend fur die Pragung dieses Be-griffs war der tschechische Autor KarelCapek, der mit seinem 1921 erschienen Ro-man ”Rossum’s Universal Robots“ fur diePopularisierung des Names sorgte. In sei-nem Buch beschreibt Capek die Schaffungvon perfekten Androiden – Maschinen inMenschengestalt – durch den Wissenschaft-ler Rossum, um den Menschen alle schwe-ren und gefahrlichen Arbeiten abzunehmen.Die Roboter lehnen sich jedoch gegen die-ses Sklavendasein auf und toten das gesam-te menschliche Leben. Sicherlich hat dieseGeschichte unser Verhaltnis zu Robotern ge-

pragt; das Thema ist auch heute noch einPrototyp der Science-Fiction Literatur. Siefuhrte jedoch auch zu einer schnellen Auf-nahme des Wortes Roboter in den allgemei-nen Sprachgebrauch.

Die Definition, was aber einen Roboterim eigentlichen Sinne ausmachen soll, istauch heute bei weitem noch nicht einheitlich.Insbesondere existiert (noch) eine große Dis-krepanz zwischen den Robotern aus Litera-tur/Film und tatsachlich existierenden Ma-schinen. Betrachtet man einige Definitionen,wie sie in Worterbuchern oder Industriestan-dards gegeben werden, so sieht man dies sehrdeutlich. Der Fremdworterduden etwa be-schreibt einen Roboter als ” außerlich wie einMensch gestaltete Apparatur, die manuelleFunktionen eines Menschen ausfuhren kann“,wahrend andererseits laut VDI ein Roboter

”ein universell einsetzbarer Bewegungsauto-mat mit mehreren Achsen“ ist, ”dessen Be-wegungen hinsichtlich Folge und Wegen bzw.Winkeln frei programmierbar und ggf. sen-sorgefuhrt“ ist.

Eine genauere Klassifizierung von Indus-trierobotern (exemplarisch die der Japane-se Industrial Robot Association) findet sichin Anhang A auf Seite 10 – um jedoch eineeinheitliche Basisdefinition zu haben, sei imfolgenden ein Roboter einfach eine Maschine,die autonom eine bestimmte Aufgabe erfullt.

1

Kapitel 2

Vom Webstuhl zum Marsrover

2.1 Die Anfange - Das 18.und 19. Jahrhundert

Maschinen, die ihre Aufgaben weitge-hend autonom erfullen, existieren seit

den Anfangen der industriellen Revolutiongegen Ende des 18. Jahrhunderts. Sicher sinddies noch keine Roboter, sie stellen jedoch ei-ne wichtige Vorstufe in der Entwicklung mo-derner mechanischer und elektronischer Ge-rate dar. Mit der Erfindung der Dampfma-schine Anfang des 18. Jahrhunderts, und ins-besondere durch die Verbesserung ihres Wir-kungsgrads durch die Entdeckungen von Ja-mes Watt in der zweiten Halfte dieses Jahr-hunderts, stand eine zuverlassige Methodezur Verfugung, um mechanische Energie zuerzeugen, ohne auf die Elemente der Naturoder Muskelkraft angewiesen zu sein. Da-mit setzte eine rasante Entwicklung der Fer-tigungstechnik ein und es entstanden ersteAutomaten, die selbstandig Arbeiten erledi-gen konnten. Die prominentesten und wohlauch die wichtigsten Beispiele dafur warendie sogenannte Spinning Jenny, eine automa-tische Spinnmaschine, und der Power Loom,der erste automatische Webstuhl, 1785 vonEdmond Cartwright erfunden.

Der Power Loom wurde durch eine Artholzerner Lochkarte gesteuert und somit wardas von ihm erzeugte Webmuster sogar va-riierbar – sein ”Programmablauf“ war sozu-sagen veranderbar. Diese Maschinen fuhr-

Abbildung 2.1: Spinning Jenny, ca. 1764

ten zu einer starken Rationalisierung des Ar-beitsprozesses in der Textilherstellung undfanden dadurch breiten Zuspruch und Ver-breitung, allerdings stießen sie auch aus demgleichen Grund auf offene, zum Teil mitGewalt verbundene, gesellschaftliche Ableh-nung.

Im Laufe des folgenden Jahrhunderts ver-scharfte sich dieser Umbruch in den Fer-tigungsmethoden und Automaten und Ma-schinen ersetzten den Menschen in zuneh-menden Maß als Erbringer von handwerk-licher Arbeit und Leistung. Die industrielleGesellschaft war geboren, und damit die Vor-aussetzungen die zur Entwicklung der Robo-tik fuhren sollten.

2

KAPITEL 2. VOM WEBSTUHL ZUM MARSROVER 3

Abbildung 2.2: Atanasoffs Computer, 1942

2.2 Die technischeRevolution – das 20.Jahrhundert

Obwohl die Fortschritte des 18. und 19.Jahrhunderts eine wichtige Basis fur die

Entwicklung vom, aus heutiger Sicht, relativprimitiven mechanischen Gerat hin zu wirk-lich autonomen Einheiten darstellten, brach-te erst die Einfuhrung der Elektronik An-fang/Mitte des 20. Jahrhunderts die ent-scheidenden Impulse.

Weitreichende Elektrifizierung stellte ei-ne universell verfugbare und einfach zutransportierende Energieform zur Verfu-gung, und die Erfindung von elektronischenRechenmaschinen, Computern, in Europaund Amerika, erlaubte es durch die Kom-bination von Mechanik und Elektronik, Ma-schinen immer komplexere Arbeitsgange bei-zubringen, d.h. Ihre Autonomitat zu stei-gern.

Obwohl die ersten Computer, wie etwader ENIAC und Atanasoffs Computer in denUSA, oder Zuses Z-Reihe in Deutschland,noch recht groß und rechenschwach waren,setzte nach dem 2. Weltkrieg eine immer ra-scher werdende technische Entwicklung ein,die es bereits 1961 ermoglichte den erstenRoboter in der industriellen Fertigung ein-

zusetzen. Dieser erste im Einsatz befindlicheRoboter, in den 1950er Jahren von GeorgeDevol und Joseph Engelberger, den beidenGrundern der ersten Robotikfirma Unima-tion, entwickelt (Patent 1954, Firmengrun-dung von Unimation 1956), versah unter demNamen Unimat seinen Dienst in der Autofer-tigung bei General Motors.

Das Patent fur den Unimat spezifizierteihn als ”a more or less general purpose machi-ne that has universal application to a vast di-versity of applications where cyclic control isdesired“ [eine mltifunktionale Maschine, dieunversell in einer Vielzahl von Anwendungenzum Einsatz kommen kann, bei denen zykli-sche Krontrollablaufe gewunscht sind].

In den 1960er Jahren waren die Vereinig-ten Staaten fuhrend in der Entwicklung, Pro-duktion und dem Einsatz von Industriero-botern, wobei der Einsatz vor allem in derAutomobilindustrie erfolgte. Der erste Indus-trieroboter Japans wurde ab 1967 eingesetzt,der erste Deutschlands ab 1970 bei Daimler-Benz.

Ab den 1970er Jahren drangen japanischeKonzernkonglomerate massiv in den Indus-trierobotermarkt ein und ubernahmen dieFuhrungsrolle – heute werden in Japan al-lein ca. 400.000 Industrieroboter eingesetzt,fast doppelt soviele wie in Deutschland und

Abbildung 2.3: Unimat im Einsatz, 1961

KAPITEL 2. VOM WEBSTUHL ZUM MARSROVER 4

den Vereinigten Staaten zusammen, die imRobotereinsatz auf Platz zwei und drei ran-gieren.

Wahrend Unimat in seiner Beweglich-keit auf nur 3 Achsen beschrankt war, er-folgte 1969 durch die Stanford Universi-ty ein weiterer Schritt in der (Industrie-)Roboterentwicklung, die Einfuhrung desauch heute noch gebrauchlichen, modernen6-Achsen Artikulatorarms. Die dadurch er-langte großere Beweglichkeit weitete das Ein-satzfeld dieser Maschinen auf Gebiete wieBogenschweissen oder Montageaufgaben aus.Fortschritte in dieser Kombinationsform vonElektronik und Mechanik – der Mechatronik– ermoglichten die Konstruktion immer kom-plexerer Roboterteile, wie etwa Manipulator-armen.

Aus der Kombination der durch die im-mer mehr voranschreitende Miniaturisierungund Leistungssteigerung in der Microprozes-sorentwicklung und der Verbesserungen inder Mechatronik ergibt sich nun die Moglich-keit Maschinen zu entwickeln, die sich wirk-lich autonom verhalten, sowohl im physi-schen Sinn in der Moglichkeit der eigenstan-digen Bewegungen und Interaktion mit derUmwelt, als auch in ihrem Steuerprogram-mablauf. Autonome Automaten, die selb-standig handeln und entscheiden, sind be-sonders fur militarische und wissenschaftli-che Anwendungen interessant. In der For-schung liegt ihr Einsatzgebiet zum Beispielin der Erkundung der Tiefsee oder des Welt-raums – Bereiche, die Aufgrund der herr-schenden Eigenschaften (zum Beispiel denUmgebungsdruck, Strahlung oder große Ent-fernungen), wenn uberhaupt nur unter groß-ten technischen Anstrengungen von Men-schen erforscht werden konnen und in de-nen eine direkte Fernsteurung unpraktischist. Ein prominentes Beispiel sind die beidenNASA Mars Exploration Rover Spirit undOpportunity, die 2003 bzw. 2004 auf dem ro-ten Planeten landeten, und ihr Vorganger,Sojourner.

Doch obwohl Militar und Forschung zu

Abbildung 2.4: Mars Exploration Rover(links), Vorganger Sojourner (rechts)

den Gebieten gehoren, in denen das meisteGeld in die Entwicklung von autonomen Ro-botern fließt, erschliessen sie sich in den letz-ten Jahren auch andere Bereiche, in denen siedem Menschen immer prasenter werden: AlsServiceroboter im Haushalt (zum Beispiel alsautomatischer Staubsauger), als Pflegerobo-ter im medizinischen Sektor oder als High-Tech Spielzeug. Im Consumernereich existie-ren heute Losungen fur praktisch jeden Geld-beutel, angefangen von Roboternbausatzen,die bereits fur einige Euro erworben werdenkonnen, bis hin zum komplexen Haustierer-satz, wie ihn Sonys AIBO darstellt. Inzwi-schen existieren sogar Maschinen, die huma-noid sind, wie ein Mensch gehen und grei-fen konnen, Gesichter oder Stimmen erken-nen. Noch sind deren Kapazitaten recht be-schrankt, doch auch auf diesem Gebiet wardie Entwicklung im letzten Jahrzehnt rasantund wird es wohl auch bleiben. Vielleichtwird es sogar moglich sein Roboter zu bau-en, die zumindest intelligent erscheinen - dasallerdings efordert neue Methoden in Pro-grammierung und Design, mit den klassi-schen Verfahren ist dies nicht zu erreichen.

Kapitel 3

Asuro

Nach dem vorangegangen kurzen Abrißuber Ursprung und Entwicklung der

Roboter, soll nun ein Roboter etwas genau-er vorgestellt werden. Dabei handelt es sichum den vom Deutschen Zentrum fur Luftund Raumfahrt (DLR) entworfenen und vonder Firma Arexx vertriebenen Roboterbau-satz Asuro. Wegen seines geringen Preisesvon lediglich 50 Euro ist er gut fur den Ein-satz an Schulen und Universitaten geeignet ,besonders um Schulern und Studenten einenersten Einblick in die Methoden der Robo-terprogrammierung zu geben.

Abbildung 3.1: Roboterbausatz Asuro

3.1 Aufbau und Leistung

Trotz der auf den ersten Blick wenig leis-tungsfahigen Hardware (siehe Anhang

B, Tabelle B.1, Seite 11), steht dieser Robo-terbausatz anderen, weitaus teureren Robo-terbausatzen nicht nach, denn die Einschran-kungen bei Steurungselektronik und Senso-rik betreffen Roboter im allgemeinen. Zumeinen liegt dies – in der hier betrachtetenGroßeklasse von Maschinen – an dem man-gelnden physischen Platzangebot fur schnel-lere Prozessoren und großeren Speicher, dieauch einen hoheren Energiebedarf besitzenund somit großere Batterien nach sich zie-hen, zum anderen daran, daß generell fur die-se einfachen Bausatze einfach keine hoherenRechenleistungen erforderlich sind. Lediglichder kleine Programmspeicher des Prozessors,der sich aufgrund der CPU-Architektur nichterweitern laßt, setzt starke Grenzen beimProgrammumfang.

Das Herzstuck des Roboters stellt einvollintegrierter RISC-Microcontroller desTyps ATmega8L dar, der ansonsten vor al-lem in einfachen Steuergeraten, etwa fur dieKlimakontrolle, eingesetzt wird. An diesenProzessor sind zehn Sensoren angebunden,mit denen Asuros Programmablauf beein-flußt werden kann und mit denen er sei-ne Umwelt wahrnehmen kann. Neben sechseinzeln ansprechbaren Drucksensoren (Tas-tern), stehen zwei Photorezeptoren, etwa zurLinienverfolgung, und zwei Odometriesenso-

5

KAPITEL 3. ASURO 6

ren in Form von Reflexlichtschranken zurErmittlung der zuruckgelegten Entfernungzur Verfugung. Desweiteren existiert aucheine Infrarotschnittstelle, uber die der Ro-boter programmiert und gesteuert werdenkann, die jedoch auch zur Ubermittlung vonDaten vom Roboter zu einem anderen IR-Empfanger verwendet werden kann.

Um mit seiner Umwelt zu interagieren,hat Ausro Kontrolle uber zwei Elektromo-toren, die ihn Antreiben und ihm zu flinkenBewegungen verhelfen; jeder Motor treibt je-weils ein Rad an und kann unabhangig ange-steuert werden. Fur die Statusubermittlungstehen dem kleinen Automaten eine zweifar-bige Status-LED und zwei einfarbige LEDsauf Hohe der Rader bereit, hinzu kommtnoch der IR-Transceiver, mit dem auch kom-plexere Daten ausgegeben werden konnen.

Mittlerweile gibt es sogar eine Erwei-terungsplatine, die es erlaubt mit eigenenSchaltungen und Sensoren an diesem Robo-ter zu experimentieren. Dies ermoglicht es et-wa einen Ultraschallsensor anzubringen, oderein LCD-Display, sodaß zur Ausgabe vonNachrichten nicht auf die IR-Schnitstelle zu-ruckgegriffen werden muß.

Damit sind fur Asuro die Voraussetzun-gen gegeben auf seine Umgebung wahrzuneh-men (etwa ein Hindernis zu bemerken), aufsie zu reagieren (das Hindernis zu umfah-ren) und somit den Programmablauf den Ge-gebenheiten der Umwelt anzupassen. Somitfallt er nach der Kategorisierung der JIRA(Anhang A) bereits in die Klasse der ”intel-ligent robots”.

3.2 Software undProgrammierung

Hardware allein ist aber nur eine Half-te dessen, was einem Roboter die Mog-

lichkeit zu autonomen Handeln verleiht – esist notig diese Hardware auch programmie-ren zu konnen. Hierfur wird bei Asuro stan-dardmaßig gewohnlicher C -Code verwendet,

der mit einem speziellen Compiler fur At-mels AVR Embedded Prozessoren in, fur denATmega8L lesbaren, Maschinencode umge-wandelt wird. Mit ein wenig Programmie-rerfahrung in C ist es schnell moglich seineersten Programme fur den kleinen Roboterzu schreiben, insbesondere da auch das Be-nutzerhandbuch bereits eine schnelle Einfuh-rung in die Roboterprogrammierung bietet.

Um dem Programmierer eine einfacheMoglichkeit zu geben schnell leichtverstand-liche Programme zu erstellen, existiert be-reits eine Programm-Bibliothek, die Funk-tionen zum Ansprechen der Motoren/ LEDsund Auslesen der von den Sensoren ermit-telten Werte bereitstellt. Hierzu sei auf dasHandbuch verwiesen, das neben der Enwick-lungssoftware fur Asuro auf www.arexx.comzum Download steht.

In Anhang B auf Seite 12 findet sich einkleines Beisiel, das den prinzipiellen Aufbauund Ablauf eines Programms fur Asuro imBesonderen, aber auch fur Roboter im All-gemeinen, veranschaulichen soll. Es handeltsich um die Implementierung einer Linienver-folgung, die die Photorezeptoren nutzt, umsich an einer Kontrastkante zu orientierenund an dieser entlangzufahren.

#inc lude ”asuro . h”

i n t main ( void ) {I n i t ( ) ;r e turn 0 ;

}

Listing 3.1: Asuro – Initialisierung

Anstelle der ansonsten bei C -Programmen ublichen Einbindung desstdio-Headers wird hier die Datei asuro.hhinter der #include-Anweisung angege-ben. Damit werden die Funktionen zumAnsprechen der Sensor-, Motor- und Si-gnalisierungshardware des Roboters zurVerfugung gestellt. Daneben muß ein Pro-gramm fur Asuro in der main-Prozedur

KAPITEL 3. ASURO 7

zwingend zunachst die Hardware per In-it() in den Ausgangszustand versetzen,bevor andere Befehle ausgefuhrt werden.Ein sehr einfaches Programme, das lediglichdie Hardware initialisiert, sahe aus wie inListing 3.1.

Eine weitere Auffalligkeit ist die Haupt-programmschleife des Linienverfolgungspro-gramms – sie terminiert nicht. Bei einemnormalen Computerprogramm sind Endlos-schleifen auf den ersten Blick unerwunscht;betrachtet man jedoch die Read-Eval-Print-Schleife, etwa in SCHEME, so stellt manfest, daß es, wenn es um Interaktion mit ei-ner Umgebung geht, durchaus nicht unge-wohnlich ist, wenn keine Terminierung mog-lich ist (abgesehen einmal vom Abschaltendes Gerats). Schleifen stellen eine wichitgeKontrollstruktur dar, die in ihrer Bedeutungin der Roboterprogrammierung sogar nochwichtiger ist als bei normalen, deterministi-schen Computerprogrammen.

In der Schleife wird zur Linienverfolgungein vom Prinzip her einfaches Programmausgefuhrt. Der Funktionsaufruf LineData(daten ) liefert von den beiden Photorezep-toren ermittelten Helligkeitswerte und spei-chert sie als Integerwert im Array daten, wo-bei daten[0] den des linken, daten[1] dendes rechten Sensors enthalt (’0’ steht fur dun-kel, ’1023’ fur hell). Erfaßt der rechte Pho-tosensor eine dunklere Flache, als der linke,so fahrt der Robot nach links, gegenteiligesgilt den Umkehrfall. Die Richtungsanderungwird dadurch verursacht, daß der Befehl Mo-torSpeed( links, rechts ), mit dem sichdie beiden Elektromotoren steuern lassen,unterschiedliche Geschwindigkeiten uberge-ben bekommen.

Das Beispiel sollte verdeutlicht haben,daß man mit relativ geringem Programmier-aufwand und ein wenig praktischem Denkenschnell ein kleines Programm schreiben kann,mit dem sich ein Roboter ansatzweise schonautonom verhalt. Hat man erst einmal einwenig Erfahrung und einige Ideen, so lassen

sich darauf aufbauend leicht anspruchsvolle-re Aufgaben verwirklichen.

Ist man nicht daran interessiert denAtmel-Prozessor in C zu programmieren,so bietet sich als Alternative dazu die JA-VA-Losung NanoVM an. Es handelt sichum eine sehr kompakte Virtuelle Maschi-ne, die in das 8k große Flash-ROM desATmega8L paßt und es so zulaßt JAVA-Codeauf ihm auszufuhren. Allerdings ist es nichtmoglich die VM selber uber das Infrarot-Modul zu ubertragen, da NanoVM die ei-gentlich Firmware Asuros ersetzt. Deshalbist es notwendig das Flash-ROM der CPUin einem entsprechenden Schreibegerat di-rekt zu uberschreiben – eine Prozedur dieschon einigen Aufwand erfordert, allerdingsdurchaus moglich ist, da der Prozessor ge-sockelt und nicht gelotet ist. Aufgrund desgeringen Preises der Recheneinheit ist es al-lerdings oft sogar praktischer, direkt eine mitNanoVM beschriebene CPU zu kaufen, undeinfach nach Bedarf zu wechseln. Nahere In-formationen zu NanoVM findet man unterwww.harbaum.org/till/nanovm/.

Obwohl der Roboterbausatz Asuro mehrVerstandnis von Programmierung, und furden Zusammenbau vor allem Kenntnisse inElektrotechnik. erfordert, als etwa LegosMindstorm-Reihe, ist er trotzdem, geradeaufgrund seines geringen Preises, ein guterEinstieg, um einen Einblick in die Funktions-weise von Robotern zu erhalten.

Kapitel 4

Vom Marsrover zum Androiden

4.1 Ausblick

Betrachtet man die Fortschritte, die inden letzten Jahrzehnten auf dem Gebiet

der Robotik gemacht worden sind, dann sinddiese zweifellos beachtlich – an einen wirk-lichen Androiden, einen menschenahnlichenRoboter, reichen die Entwicklungen aber beiweitem noch nicht heran.

Allein der aufrechte Gang ist lange Zeiteine Herausforderung fur die Avantgarde derRoboter gewesen, und erst in den letztenJahren ist es gelungen mit Maschinen wieHondas Asimo oder Kawadas HRP-2 dieseHurde zu nehmen. Wirklich autonom sinddiese Maschinen jedoch nicht, zu groß istIhre Abhangigkeit von der Fernsteuerungdurch einen Operator, zuviel der Rechen-leistung muß aufgebracht werden, um dasGleichgewicht zu behalten. Dennoch, ersteSchritte sind gemacht, Asimo erkennt bereitsselbstandig Gesten, Gesichter und Stimmen,wenn auch nur eine relativ geringe Anzahl,und HRP-2 ist in der Lage koordiniert miteinem Menschen eine Platte zu tragen.

Von einem mechatronischen Gesichts-punkt her betrachtet, mag man also sa-gen, daß Roboter wirklich schon eine wich-tige Schwelle in Richtung Menschenahnlich-keit uberschritten haben – in der Form ih-res Außeren und der Art sich zu bewe-gen. Auf der anderen Seite steht jedoch dieIntelligenz der Maschinen. Klassische KI-Methoden sind sicher nicht in der Lage einem

Abbildung 4.1: Kawada Industries HRP-2

Roboter auch nur ansatzweise menschlicheIntelligenz zu geben, zu stark ist er an sei-nen Programmablauf gebunden. Es ist alsoein neues Paradigma der Roboterprogram-mierung erforderlich. Das RobotCub Consor-tium (www.robotcub.org) mit seinem iCubkonnte hierbei ein erster Schritt sein. iCubist ein Roboter, der ahnlich einem mensch-lichen Kind, krabbelnd seine Umgebung er-forschen soll. Dabei soll er lernen, da er vonvornherein nur mit einigen wenigen Grund-funktionalitaten ausgestattet ist. Das Pro-jekt erhofft sich hieraus Erkenntnisse einer-seits uber die Verfahren, wie man einen Ro-boter entwickeln kann, der lernt und intel-ligent handelt, andererseits aber auch dar-

8

KAPITEL 4. VOM MARSROVER ZUM ANDROIDEN 9

Abbildung 4.2: RobotCubs iCub

uber, wie menschliche Kinder lernen. Hierzusetzt es neben internationaler Kooperation– es sind 16 Partnerorganisationen aus derEU, Japan und den USA an RobotCub betei-ligt – auch auf eine Open-Source-Plattform,so daß sich eine breite Masse an Forschern,auch wenn sie nicht direkt an dem Projektbeteiligt sind, ihr Fachwissen einfließen las-sen konnen. Das Budget betragt 8,5 Mio. Eu-ro bei einer Projektlaufzeit von 5 Jahren.

Hauptthese des Projektes ist, daß sichKognitionsfahigkeiten nicht durch handischeProgrammierung nachbilden lassen, sondernnur durch einen Entwicklungsprozeß. Dieserkognitive Entwicklungsprozeß verlauft ihrerAnsicht nach emergent im Zusammenspielmit einem korperlichen.

Erweist sich das Projekt als erfolgreich,ware der nachste Abschnitt der Roboterent-wicklung eingeleitet. Ob aber die Mittel, so-wohl finanziell, als auch technisch, die demProjekt zur Verfugung stehen, um einen sol-chen Durchbruch zu erzielen, scheinen frag-lich. Dennoch ist RobotCub ein Indikator da-fur, daß auch in der Anwendung ein Umden-ken eingesetzt hat, namlich. daß es gar nichtso abwegig ist, daß es Verfahren gibt, um Ro-botern das Lernen beizubringen. Vielleichtwird es damit moglich sein Robotergehilfenund -gefahrten zu erschaffen, wie sie heutenur in der Literatur auftauchen.

Anhang A

Roboterklassifikation

Roboterklassen nach JIRA

1. Manual Manipulator:

� kein Programm

� direkt vom Bediener gefuhrt

2. Fixed Sequence Robot:

� wiederholt konstant ein Bewe-gungsmuster

� andern des Bewegungsmusters istrelativ aufwendig

3. Variable Sequence Robot:

� wiederholt konstant ein Bewe-gungsmuster

� andern des Bewegungsmusters istrelativ problemlos

4. Playback Robot:

� Bewegungsablauf wir einmal durchden Bediener vorgefuhrt und abge-speichert

� Bewegungsablauf beliebig wieder-holbar

5. Numerical Control Robot:

� NC-gesteuerte Maschine

� Informationen uber Bewegungsab-lauf wird uber Taster, Schalteroder Datentrager zahlenmaßig ein-gegeben

6. Intelligent Robot:

� hochste Roboterklasse

� verschiedene Sensoren zur Erfas-sung der Umwelt

� selbsttatige Veranderung des Pro-grammablaufs

10

Anhang B

Informationen zu Asuro

CPU Atmel Atmega8L (8bit)CPU-Takt 8 MhzROM 8 kB (zzgl. 512 B EEPROM)SRAM (Chip) 1 kBBewegung 2 Motoren, 9V 500 mAEingabe 10 Sensoren:

– 6 Bumper– 2 Fotorezeptoren– 2 Drehzahlsensoren

Sound 1 SpeakerTimer 2 System-Timer ( 8 Bit )

1 System-Timer ( 16 Bit )Batterien 4x 1,5VStromversorgung 6V, ACDCKommunikation IR–Port (Transceiver)

Tabelle B.1: Asuro – Hardwareeigenschaften

11

ANHANG B. INFORMATIONEN ZU ASURO 12

Abbildung B.1: Asuro – Schematischer Aufbau

Asuro – Beispielcode �#include ”asuro . h”

int main (void ) {#de f i n e SPEED 150I n i t ( ) ;FrontLED(ON) ;

/* char e r g e bn i s [ 1 0 ] ; */

int l i nk s , rechts , ADCoffset , a ;unsigned int daten [ 2 ] ;

MotorDir (FWD,FWD) ;

for ( a = 0 ; a < 254 ; a++) {

ANHANG B. INFORMATIONEN ZU ASURO 13

LineData ( daten ) ;}LineData ( daten ) ;ADCoffset = daten [ 0 ] − daten [ 1 ] ;l i n k s = SPEED;r e ch t s = SPEED;

/* Hauptprogrammschlei fe */

while (1 ) {int b ;

LineData ( daten ) ;b=daten [ 0 ] − daten [ 1 ] −ADCoffset ;

/*Ausgabe per s e r i e l l e r S c h n i t t s t e l l ei t o a ( b , ergebn i s , 1 0 ) ;SerWrite ( ergebn i s , s t r l e n ( e r g e bn i s ) ) ;SerWrite (”\n\ r ” , 2 ) ;*/

i f (b > 4) {StatusLED(RED) ;r e ch t s = re ch t s − 2 ;i f ( r e ch t s < 1) r e ch t s = 0 ;

}else i f (b < −4) {

StatusLED(GREEN) ;l i n k s = l i n k s − 2 ;i f ( l i n k s < 1) l i n k s = 0 ;

}else {

StatusLED(OFF) ;l i n k s = SPEED;r e ch t s = SPEED;

}MotorSpeed ( l i nk s , r e ch t s ) ;

}return 0 ;}

Listing B.1: Asuro – Code fur Linienverfolgung