Description
Studienarbeit 1Der Humanoide NAO - Betrachtung eines neuen Robotersystems - Studiengang Informationstechnik an der Dualen Hochschule Baden-Württemberg Karlsruhe von Marco Helmerich, Swen König und Franziska Wegner Abgabedatum 08.01.2010 12 Wochen TIT07 G1 Bearbeitungszeitraum Kurs Gutachter der Studienakademie Prof. H.-J. Haubner Ehrenwörtliche Erklärung Hiermit erklären wir, dass wir die vorliegende Arbeit mit dem Thema „Der Humanoide NAO – Betrachtung eines neuen Robotersystems“ selbstständig und ohne Benutzung anderer als der angegebenen Quellen und Hilfsmittel angefertigt habe. Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten und nicht veröffentlichten Schriften entnommen wurden sind als solche kenntlich gemacht. Die Arbeit ist in gleicher oder ähnlicher Form oder auszugsweise im Rahmen einer anderen Prüfung noch nicht vorgelegt worden. (Ort, Datum) Marco Helmerich Swen König Franziska Wegner Zusammenfassung Der Bereich der Robotik ist ein interessantes und relativ junges Gebiet der Informatik, welches sich immer größerer Beliebtheit und Begeisterung erfreut. Der Versuch in der Robotik die menschlichen Intelligenz nachzubilden und der stetige Einzug der Robotik in immer mehr Bereiche des täglichen Lebens führt auch zu vielen kritischen Stimmen auf diesem Forschungsgebiet. Sei es, dass sie ethische Konflikte ansprechen oder auf soziale Probleme hinweisen. In der Forschung versucht man verstärkt menschenähnliche Roboter, auch Humanoiden genannt, zu entwickeln, die im Bewegungsgrad und in der Reaktionsfähigkeit den Menschen gleichkommen sollen. Eine neue Entwicklung auf diesem Gebiet ist der Roboter „NAO“. Diese Arbeit soll diesen neuen Humanoiden beleuchten, seine Fähigkeiten aufzeigen, aber auch auf die Robotik, ihre Themenfelder, ihre Vorzüge und Probleme, grundlegend eingehen. In der ersten Hälfte der Arbeit werden die Grundlagen der Robotik erarbeitet, die zweite Hälfte beschäftigt sich mit dem neuen Humanoiden. Dabei werden Möglichkeiten und Grenzen des NAOs aufgezeigt, sowie erste eigene Entwicklungen illustriert und begutachtet. Jede Entwicklung soll dabei auch auf Probleme analysiert werden, die durch Grenzen der Robotik oder der Technik von NAO gesetzt werden. 6 BEDEUTUNG UND EINSATZGEBIETE DER ROBOTIK ....................................... 4 2..........4........................6 Mensch Maschine Interaktion ....................................................................................................... GRUNDLAGEN DER ROBOTIK ..................................................................................................................................................................................................................... iii 1 EINLEITUNG ................................................................4........................................................................................................... 12 2...............................................3 ZIELE DER ARBEIT................................... 22 2.............5 Fortbewegung ........................................................................................................3.......................................1 Asimov‘s Robotergesetze ..............................3 Kuka.2 Asimo ...........................3..................................8 PROBLEMATIK DER ROBOTIK ................................................4 Paro .................................................................................. 24 2.....Inhaltsverzeichnis ABBILDUNGSVERZEICHNIS .................................................................. 18 2................... 21 2........................... 20 2..........................................3.....................................................................................7 Steuerung .............................................................. 27 2.................... 9 2....................................3.................................3.....1 1.......... 20 2................................................... 29 2...............................................1 KURZBESCHREIBUNG DER ROBOTIK...........................8 Informatik und Robotik ........... 6 2............................................................................................................3 Kinematik und Dynamik in der Robotik ................4..................................................................... 9 2................................ 2 1........... 3 2....................................4...................................7 ZUKUNFTSAUSSICHTEN............................4 Sensoren/Manipulation-Interaktion mit Umgebung ................................................4 VERSCHIEDENE ROBOTER ....................3...........................i TABELLENVERZEICHNIS ......................................................3.....................................................................................................................................................................................................2 Aktuatoren ................................. 1 1.....................................................3 KOMPONENTEN EINES ROBOTERS ............ 30 2.......................1 Aibo ................................................................................ 15 2.............................2 PROBLEMSTELLUNG.......................... 30 ..................................................... 17 2........................... 10 2............................................................................... 23 2.............. 13 2........... 11 2.................................1 MOTIVATION .........................................................................................................................................................8...................3....................2 GESCHICHTE DER ROBOTIK..............................................................4 2...........................................................................5 EINFÜHRUNG IN DIE KÜNSTLICHE INTELLIGENZ ...............................................ii PROGRAMMVERZEICHNIS .....................1 Aufbau ...... ....................2 CHOREOGRAPH ................................................................................................67 6........ DER HUMANOIDE NAO ........... 59 4......................................................................... 60 5....................................... 42 3................2 AKTORIK DES NAO ........ 48 3........................................................................2.................................................................................................................................................1 Erläuterung des Freiheitsgrad ...................2 Militärische Roboter und Sicherheit ......4 MICROSOFT VISUAL STUDIO ......................................................................................................... 61 5......................................................................................................................35 3.... 50 3.2.................................................................................................................................................................. 69 6.......2 TEST DER SENSOREN.......2...............................................................................61 5...............4 BILDVERARBEITUNG .........................................3 URBI ......................................59 4.....1 GRUNDKONZEPT ...............................................6 NAO Mark Detection .......................................................3 Ultraschall ......................................5............... 68 6.................................................................... ÜBERBLICK DER ENTWICKLUNGSUMGEBUNGEN .............................................................................. 76 6................................ 40 3................................................................................ 76 .............................................2 Freiheitsgrade des NAO ........................................................ 70 6................1 Kraftsensoren .................................................................2............ 73 6........1 ALLGEMEINE BESCHREIBUNG ..... 60 4...... 59 4........... 34 3............... 44 3..............................................2............................5 Voice Recognition .......................................................................................2............................................................................5 PROGRAMMIERBEISPIELE ............. 35 3..................... 68 6.....................3 SENSORIK DES NAO ............ ALDEBARAN CHOREOGRAPH ................................................................................................... 52 4.........................................................................1 Entwurfsziele bzw..... 39 3.................2 Bumper ...3.............................................. 35 3..................................................2.......3 Ultraschall ................................................................... 43 3.......1 MICROSOFT ROBOTIC STUDIO .......................................3...2 FUNKTIONSWEISE .................................. 74 6................................................................................................................................................... ERSTE ERFAHRUNGEN MIT NAO ............................................................. 71 6..... 43 3............................6 SOFTWAREKONZEPT DES NAO ..................................2 Trägheitssensoren/Ausrichtung ................................................................................................ 67 6...........8...........1 NAO-Mark Erkennung ...............................................................................................................3........ 71 6................................................................... 39 3.................................. Designkonzepte des NAO................. 61 6...................................................................................... 32 2......................8....................................................................................................................................3 Einschätzung der Sicherheitsaspekte 2009 ...............1........................5 HARDWAREKONZEPT DES NAO ......................4 Face Detection .......3 KONSOLENZUGRIFF ......................................................1 Taktiler Sensor .1 MOTORISCHE FÄHIGKEITEN .....2......................................................................................................................................2........ 68 6...................................................................................4 AKUSTISCHE UND VISUELLE INTERAKTIONEN ........................................... ...................................................................................8 SERVICEQUALITÄT ALDEBARAN .... FAZIT UND AUSBLICK ................................................................................................................................................................................................................................................... 85 7...................................6.............................................................................1 FAZIT...........................6 MODULENTWICKLUNG MIT VISUAL STUDIO 2008 .............87 GLOSSAR ........................................................................................92 ...............7 PROBLEME UND SCHWIERIGKEITEN ...............................................2 AUSBLICK ........... 83 7...........................................................................85 7.............................................................. 82 6... 81 6....... 77 6...............................................................................2 NAO-Mark und Gesichtsverfolgung ..................................................... 86 LITERATURVERZEICHNIS ...............................5................... ............................ ROBOTER-SPINNE (L.................... MIKROFONES DES NAO........................ KRAFTSENSORIK DES NAO ..................... STRUKTUR DES PROGRAMMES ................... MANUELLE VERSTELLUNG DES KOPFGELENKES .......... KUKA ... SWORDS KAMPFROBOTER (1).............................. FREIHEITSGRADE DES NAO I ....................................................... ROBOCUP SENIOR. (R. 46 ABBILDUNG 16...................................................... 44 ABBILDUNG 14............................................................................................................ 66 ABBILDUNG 25......................... ZEITLEISTE EINES BEWEGUNGSABLAUFES .................................................................................................... TEXTTOSPEECH MODUL ........................................................ 26 ABBILDUNG 8................................................. 65 ABBILDUNG 24......................... KAMERAWINKEL .................................. NIMBRO – EINE DER ERSTEN HUMANOIDEN BEIM ROBOCUP .... POSITION DES NAO .....U................. 36 ABBILDUNG 11............................................................... Swen König und Franziska Wegner.................... WINKELAUSMAß DER ULTRASCHALSENSOREN . 40 ABBILDUNG 12........................................................................... 62 ABBILDUNG 21............................................................................. 18 ABBILDUNG 2.............................. 28 ABBILDUNG 9.......... 45 ABBILDUNG 15..... VERBINDUNGSMENÜ .......................................... 20 ABBILDUNG 3....................................................................................................... 77 Alle nicht spezifisch gekennzeichneten Abbildungen sind Fotos.................................................................................. AIBOS IM ROBOCUP-WETTBEWERB .................. 64 ABBILDUNG 23................... 43 ABBILDUNG 13.............................................. AIBO ........................................................................ © DHBW 2009 i ............. 73 ABBILDUNG 27............ (L..................................................................................... ASIMO ..) PLATINE UND KÜHLUNG.............................................................O........................................................... FENSTER DES CHOREOGRAPHEN ....................................... 21 ABBILDUNG 4.....) AKTIV ..................................................... 23 ABBILDUNG 6..........................................................) EIN GELENK UND (R....Abbildungsverzeichnis ABBILDUNG 1................................................. 33 ABBILDUNG 10................... PARO ...................................................................................... WINKEL DER STIRNKAMERA ........... 70 ABBILDUNG 26............ Zeichnungen von Marco Helmerich......................... 51 ABBILDUNG 19: VERTEILTES SOFTWAREKONZEPT DER NAOQI ................ ROBOTERPARADIGMA ............ HARDWARECONNECTION .................................................................................................................................................. 47 ABBILDUNG 17............................................. Screenshots bzw...U.................................................................................................. 24 ABBILDUNG 7.................) IN RUHMODUS.. 22 ABBILDUNG 5................................................................ 54 ABBILDUNG 20....................................................................................................................................................................................... 63 ABBILDUNG 22............ 49 ABBILDUNG 18........ ULTRASCHALLSENSORIK ........... EXTRAKTION DES ERZEUGTEN QUELLCODES.............................................O............. 74 ABBILDUNG 28.......................................................................... ZUGRIFF ÜBER KONSOLE ............. ........................ LED ....... © DHBW 2009 ii ............................................. SENSORIK DES NAO ................................................ Swen König und Franziska Wegner..................... 42 TABELLE 5..Tabellenverzeichnis TABELLE 1................................................... 41 TABELLE 4........ 48 Alle nicht spezifisch gekennzeichneten sind Tabellen von Marco Helmerich......................................................................................... FREIHEITSGRADE DES NAO II.......... WERTE VON ROBOTERN ................................................................................... 25 TABELLE 2......................................................................................... 37 TABELLE 3............. VERGLEICH DER RECHNERRESSOURCEN ............................................ ................................................ DATEN DER MARKS .................................. 81 Alle nicht spezifisch gekennzeichneten sind Programmbeispiele von Marco Helmerich................................. 76 PROGRAMM 2.Programmverzeichnis PROGRAMM 1.................................... 78 PROGRAMM 3................................... Swen König und Franziska Wegner.................................... NAO-MARK INITIALISIERUNGSKLASSE ........... REAKTION AUF DIE NAO-MARK POSITION .............................. © DHBW 2009 iii . Sprachwissenschaftler. machen es für Studenten interessant sich in die Themenbereiche der Robotik einzuarbeiten. die Phantasie von Schriftstellern und Forschern. die den Menschen unangenehme Arbeiten abnehmen oder für Menschen unmögliche Arbeiten durchführen.1. kognitiv begabte Maschinen zu verwirklichen.1 Motivation Die Robotik ist ein relativ neues Themengebiet. Zudem wird die Robotik als Zukunftstechnologie angesehen. Biologen. die starke Dynamik in diesem Forschungsbereich. Informatiker und Experten vieler weiterer Gebiete müssen ihr Wissen vereinen um die Ziele der Robotik. Physiker. Da die Duale Hochschule Baden-Württemberg – Karlsruhe ein Robotiklabor unterhält. Mechaniker. Seither stimuliert die Vorstellung autonom arbeitender Maschinen. das erst seit Beginn des 20 Jahrhunderts in Erscheinung getreten ist. so umstritten ist sie auch und hat neben Anhängern auch viele Kritiker. So interessant die Robotik ist.Kapitel: Einleitung Motivation 1 Einleitung 1. Die Bedeutung der Forschung und Entwicklungen in der Robotik für unser zukünftiges Leben. sowie die kontroversen Diskusionen zwischen Anhängern und Kritikern. Waren die Ideen der Robotik zuerst im literarischen Bereich verbreitet so sind sie seit Mitte der 50er Jahre des vergangenen Jahrhunderts in der Wissenschaft angekommen. die die Art und Weise wie die Gesellschaft in Zukunft aussehen wird vermutlich entscheidend prägt. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 1 von 92 | S e i t e . Die Robotik stellt heute eines der interessantesten und dynamischsten Forschungsgebiete im technischen Bereich dar. autonom agierende. Grund hierfür ist die interdisziplinare Prägung des Forschungsgebiets. Er wird zurzeit nur an Hochschulen und an die Robocup Teams ausgeliefert.h. Da die Hochschule bisher noch keine Erfahrungen mit dem Robotersystem NAO hat. NAO ist seit 2008 offizieller Roboter der humanoiden Liga des Robocup und ist an Universitäten und Forschungseinrichtungen weit verbreitet. Der Roboter mit der Bezeichnung „NAO“ wird seit 2006 entwickelt und wird vermutlich 2010 in serienreife gehen d. d.2 Problemstellung Die „Duale Hochschule Baden Württemberg – Karlsruhe“ hat einen neuartigen humanoiden Roboter des französischen Unternehmens „Aldebaran Robotics“ erworben.h. sich im Rahmen der geforderten Studienarbeiten mit einem der zur Verfügung stehenden Robotermodelle dem Forschungsgebiet der Robotik zu nähern. Dabei ist besonders interessant. welche autonomen Fähigkeiten NAO hat und inwiefern auch Aufgaben des Robocup mit ihm umgesetzt werden können. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 2 von 92 | S e i t e . 1.Kapitel: Einleitung Problemstellung bietet es sich an. ist es vornehmlich notwendig die Fähigkeiten und Möglichkeiten des Systems zu evaluieren. er befindet sich zur Zeit der Erstellung dieser Studienarbeit noch in einer fortgeschrittenen Entwicklungsphase und ist als Prototyp anzusehen. die Ziele können frei gewählt und auch erst im Rahmen der Arbeit entwickelt und an die Erkenntnisse während der Arbeit angepasst werden. Um die soeben genannten Sachverhalte zu überprüfen ist eine umfangreiche Einarbeitung in das Themenspektrum der Robotik unerlässlich. Unabhängig von der Evaluation ist die Problem und Aufgabenstellung frei.1. Darüber hinaus soll das Robotersystem „NAO“ in Bezug auf die Architektur von Soft. Begriffe. Dabei werden Programmentwürfe entwickelt. Des Weiteren werden verschiedene IDEs überprüft und bewertet. Zusammenhänge und Paradigmen. Weiterhin werden Beispiele für die Einsatzmöglichkeiten gegeben und es wird das Zusammenspiel von Aktorik und Sensorik erläutert. sowie die Fähigkeiten des Systems untersucht werden. Es wird des Weiteren auf die wesentlichen Robotik Axiome eingegangen und die Ergebnisse bezüglich des NAOs repräsentiert.Kapitel: Einleitung Ziele der Arbeit 1. die in der Robotik von Relevanz sind.3 Ziele der Arbeit Diese Arbeit soll einen grundlegenden Einblick in das Themengebiet der Robotik geben. um die weitere Forschung und Entwicklung am NAO zu vereinfachen und verbessern.und Hardware. Ein Überblick über wichtige Bereich. sollen veranschaulicht werden. Der Roboter wird hierbei auf seine Funktionalitäten getestet und durch die erfassten Grenzen sollen dann Einsatzmöglichkeiten abgegrenzt und bewertet werden. Funktionsweise und Grenzen der Sensoren und Aktoren sind zu überprüfen. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 3 von 92 | S e i t e . die einen Einblick in die Komplexität der parallelen Ausführung von Aufgaben geben soll.1. Abschließend soll dies als Vorarbeit zu der nächsten dienen und die wichtigsten Information und Problematiken des Humanoiden aufzeigen. die effektive und erfolgreiche Zusammenarbeit von mechanischen. Die Robotik befasst sich mit der Steuerung. eine emotionale Komponente. da die in den vielen Anwendungsgebiete unterschiedlichen Erscheinungsformen. wie beispielsweise das der Künstlichen Intelligenz. Daher gestaltet sich eine allgemeine Beschreibung der Bestandteile des Themengebietes einfacher.Kapitel: Grundlagen der Robotik Kurbeschreibung der Robotik 2. deren Bewegungen hinsichtlich Bewegungsfolge und Wegen bzw. die Definition des VDI beschreibt Industrieroboter recht gut. eine exakte Definition kaum zulassen. oder kurz der Entwicklung.1 Kurzbeschreibung der Robotik Eine exakte Definition des Begriffs Robotik ist schwierig.und/oder Fertigungsaufgaben ausführen (2). Sie sind mit Greifern.h. Grundlagen der Robotik 2. ohne mechanischen Eingriff) programmierbar und gegebenenfalls sensorgeführt sind. Winkeln frei (d. Ziel der Robotik ist es u.2. Werkzeugen oder anderen Fertigungsmitteln ausrüstbar und können Handhabungs. von Robotern. wie sie bereits in modernen medizinischen Robotern wie dem PAO 1 Verbund Deutscher Ingenieure Der Humanoide NAO – Betrachtung eines neuen Robotersystems 4 von 92 | S e i t e . Der VDI1 definiert einen Roboter als: universell einsetzbare Bewegungsautomaten mit mehreren Achsen. Sie umfasst dabei Teilgebiete der Informatik. Konstruktion und Programmierung. a. der Elektrotechnik und des Maschinenbaus. mit denen der Begriff assoziiert wird. elektronischen und informationstechnischen Komponenten des Roboters zu erreichen (1). Architektur. Ähnlich wie bei der Robotik ist auch der Begriff Roboter schwer zu definieren. Die Robotik ein wissenschaftliches Forschungsgebiet mit enormer Dynamik. führt zu einer gewissen Popularität des wissenschaftlichen Gebietes der Robotik. Die Popularität des Themengebietes äußert sich in dem interessanten Der Humanoide NAO – Betrachtung eines neuen Robotersystems 5 von 92 | S e i t e . Auch im Bereich der Schwarmintelligenz bzw. den Leistungszuwächsen im Computerbereich (3). Die Definition ist deshalb nicht vollständig. Neben den wissenschaftlichen Aspekten ist die Robotik auch ein sehr emotionales Feld. Waren früher Roboter hauptsächlich im industriellen Bereich eingesetzt. „Terminator“ oder aktuell „Surrogates“. der Interaktion mehrerer Roboter untereinander und mit ihrer Umgebung wird geforscht (4). taucht in dieser Definition allerdings nicht auf. gibt es heute bereits erste Anwendungen in medizinischer Therapie und Pflege. im Sinne der künstlichen Intelligenz. dass sich ständig verändert und weiterentwickelt. Dies liegt unter anderem auch daran.2. Die Verarbeitung dieser Vorstellungen in populärer Literatur und Filmen. Der Begriff wird zum einen euphorisch mit der Vorstellung von einer Welt. dass sich Roboter und Robotik sehr schnell weiterentwickeln und Definitionen somit schnell überholt sind.Kapitel: Grundlagen der Robotik Kurbeschreibung der Robotik vorhanden ist. „intelligenter“ Roboter. wie „I Robot“. Das Feld der Robotik erweitert sich nahezu kontinuierlich. Die Entwicklung profitiert hier von der Entwicklungsgeschwindigkeit bzw. andererseits steht auch ein Misstrauen vor einer nicht mehr kontrollierbaren Technologie im Raum. Auch autonome und kognitive Systeme. in der Maschinen alle den Menschen unangenehmen Tätigkeiten verrichten verbunden. Roboter sollen ihre Umgebung wahrnehmen und situationsbedingt reagieren und entscheiden können. wie sie heute im Fokus der Forschung stehen werden dadurch nicht ausreichend beschrieben. Trotz der großen Bedeutung der „statisch programmierten“ Roboter im industriellen Bereich liegt der Fokus der Forschung heutzutage auf der Entwicklung autonomer. 2.Kapitel: Grundlagen der Robotik Geschichte der Robotik Aspekt, dass die Begriffe Roboter und Robotik nicht zuerst im wissenschaftlichen Kontext auftauchten (1). Der Begriff Robotik bzw. „Robotics“ wurde zum ersten Mal von Isaac Asimov in seiner Science Fiction Geschichte „Liar!“ verwendet, die im Mai 1941 veröffentlich wurde. Asimov war sich nicht bewusst, dass er einen Schlüsselbegriff prägte. Er nahm an, da die Wissenschaft der elektrischen Schaltkreise Elektronik genannt wird, würde man die Wissenschaft von Robotern Robotik nennen. Das Word Roboter wurde von dem Tschechen Karel Capek in einem Theaterstück von 1921 geprägt. (4) Die Schaffung autonomer selbständig agierender Maschinen war schon Teil von Literatur und Phantasie bevor die Wissenschaft das Gebiet für sich entdeckte. 2.2 Geschichte der Robotik Mit ersten mechanischen Automaten wurde bereits in der Antike experimentiert. Heron von Alexandria erdachte automatische Theater und Musikmaschinen, während Archytas von Tarent eine Maschine entwickelte, die einer fliegenden Taube ähnelte. Nach dem Ende der antiken Kulturen verschwanden viele der wissenschaftlichen Erkenntnisse von Griechen und Römern, mit Ihnen auch die Idee von automatischen Maschinen. Erst als nach Ende des Mittelalters die Wissenschaften in der Renaissance wieder auflebten und man die Antike als Ideal wiederentdeckte, kamen mit den Wissenschaften auch wieder die automatisierten Maschinen in den Fokus der Gelehrten. Bereits im 15. Jahrhundert fertigte Leonardo da Vinci Zeichnungen und Skizzen über Androiden an, die natürlich mangels der technischen Fähigkeiten in der damaligen Zeit nicht umsetzbar Der Humanoide NAO – Betrachtung eines neuen Robotersystems 6 von 92 | S e i t e 2.Kapitel: Grundlagen der Robotik Geschichte der Robotik waren. Um 1740 konstruierte und erbaute Jacques de Vaucanson bereits einen flötenspielenden Automaten und eine mechanische Ente. Ende des 19 Jahrhunderts brachte vor allem das Militärwesen Neuerungen, z.B. fernsteuerbare Torpedos und U-Boote. Nach Ende des 2. Weltkrieges erfuhr der Bereich der Robotik rasante Fortschritte. Ausschlaggebend dafür waren vor allem die Entwicklung des Transistors in den 40er Jahren und die darauf folgende Entwicklung von integrierten Schaltkreisen und Computern, die auch in anderen Bereichen wissenschaftlichen Fortschritt stimulierten. Es folgte eine rasante Entwicklung der Robotik. In Deutschland wurde die Robotertechnik in Form von Industrierobotern ab Anfang der 1970er Jahre produktiv eingesetzt. Deutschland war dabei recht spät, der erste voll programmierbare Roboter wurde bereits 1961 installiert, um heiße Eisenteile aus einem Ofen zu Entnehmen und zu Stapeln. Im Jahr 1973 wurde an der Waseda-Universität Tokio die Entwicklung des ersten humanoiden Roboters Wabot 1 gestartet. Im selben Jahr baute der deutsche Robotikpionier KUKA den weltweit ersten Industrieroboter mit sechs elektromechanisch angetriebenen Achsen. Im Jahre 1986 startete Honda das “Humanoid Robot Research and Development Program”. Ergebnisse waren die humanoiden Roboterversionen P1 bis P3. Eine Weiterentwicklung stellte Honda 2001 in Form des humanoiden Roboter ASIMO vor, der u.a. dem NAO als Entwicklungsvorbild dient. 1997 landete der erste mobile Roboter (Pathfinder) auf dem Mars, er erkundete größtenteils eigenständig die Marsoberfläche und war nur als „Proof of Concept“ gedacht. Ihm folgten noch zwei weitere Roboter „Spirit“ und „Opportunity“ (2004), die für 90 Tage funktionieren sollten, aber Stand dieser Studienarbeit Ende 2009 immer noch funktionsfähig und aktiv sind. (5) (6) Der Humanoide NAO – Betrachtung eines neuen Robotersystems 7 von 92 | S e i t e 2.Kapitel: Grundlagen der Robotik Geschichte der Robotik Sieht man von den eher theoretischen Überlegungen der Antike und den rein mechanischen ersten Versuchen in der Renaissance ab, so hatte die Disziplin der Robotik am Anfang der 60er Jahre einen ersten Aufschwung. Hierzu trugen im Wesentlichen drei Faktoren bei. Der Maschinenbau konnte in Form von geeigneten Maschinenelementen und -materialien kinematische Ketten geringer Masse bei großer Festigkeit und Dauerhaftigkeit zur Verfügung stellen. Die Elektrotechnik steuerte kleine Motoren mit hoher Leistung bei, sowie elektronische Regler für die präzise Regelung der Robotergelenke. Der entscheidende Schritt war jedoch die Verfügbarkeit von Digitalrechnern als Prozessrechner, also ein Beitrag der elektronischen Datenverarbeitung. Die für die präzise Regelung der Roboter erforderliche Rechenleistung konnte zu geringen Kosten direkt am Roboter zur Verfügung gestellt werden Erst durch die Prozessrechnersteuerung wurde es möglich, Bewegungen und Greifoperationen frei zu programmieren und ihre Abfolge von externen Ereignissen, welche über einfachste Sensoren erfasst wurden, abhängig zu machen. Diese Fähigkeit der Programmsteuerung unterscheidet den Roboter markant von "dummen" ferngesteuerten Automaten, also Spezialmaschinen. (4) (3) (1) Der Humanoide NAO – Betrachtung eines neuen Robotersystems 8 von 92 | S e i t e und Gelenken. Die meisten zeitgenössischen Roboter verwenden eine serielle Anordnung der Kettenglieder. Die Abbildung von kinematischen Strukturen aus der Biologie in die Technik bildet eine eigene wissenschaftliche Disziplin.Kapitel: Grundlagen der Robotik Komponenten eines Roboters 2.2. die durch Gelenke miteinander verbunden sind.3 Komponenten eines Roboters Durch die Vielzahl an Robotermodellen treffen die folgenden Beschreibungen nicht exakt auf jeden Roboter zu. Aktuatoren (den Muskeln). Die Gelenke können dabei unterschiedliche Freiheitsgrade haben. die häufig nur aus einem Roboterarm bestehen. Andersartige Roboter.3. wie der im Rahmen der Arbeit vorliegende Humanoid gehören noch zu einer eher kleineren Gruppe mit komplexerem strukturellem Aufbau. Es sorgt für Stabilität und Belastbarkeit bei gleichzeitig hohem Grad an Beweglichkeit. die einen oder mehrere Freiheitsgrade besitzen können. 2. Die Kette besteht aus Verbindungen (den Knochen). die Biomechanik. Der rein strukturelle Aufbau des Roboters wird meist ergänzt durch eine Anzahl von Der Humanoide NAO – Betrachtung eines neuen Robotersystems 9 von 92 | S e i t e . (7) Die Funktionalität der kinematischen Kette ist dabei vergleichbar mit der Rolle des Skeletts im menschlichen Körper. Dies findet man besonders ausgeprägt bei Industrierobotern. geben aber einen Überblick über den grundsätzlichen Aufbau allgemeiner Roboter. das der Bereich der Mechanik in die Robotik einbrachte.1 Aufbau Der Aufbau eines Roboters basiert im Allgemeinen auf dem Konzept der kinematischen Kette. Eine Kinematische Kette ist ein System aus mehreren starren Körpern. 2. Aktuell Der Humanoide NAO – Betrachtung eines neuen Robotersystems 10 von 92 | S e i t e . die Glieder des Roboters bewegen.3. zumeist elektrischer Natur in Bewegungsenergie um. Die am meisten verbreiteten Aktuatoren sind elektrische Motoren. Es gibt bereits erste serienreife Luftmuskeln. Der Vorteil von Schrittmotoren liegt in der Steuerung. Sie setzten gespeicherte Energie. Der Controller weiß immer wie weit ein Schrittmotor nach einem Schritt weiter rotiert ist. denen eine biologisch orientierte Skelettstruktur zu Grunde liegt. Röhren aus einem Kunststoffgeflecht. die sich bei Befüllung mit gepresster Luft bis zu 40% zusammenziehen und so ein ähnliches Verhalten wie menschliche Muskeln aufweisen. sondern immer nur in bestimmten Schrittweiten rotieren (8). Ebenfalls noch im Forschungsstatus befinden sich Elektroaktive Polymere Kunststoffe. 2. Hier sorgen winzige Piezokristalle (9). Auch auf dem Gebiet der Aktuatoren wird umfangreiche geforscht. Sie werden besonders für Roboter verwenden. die mit hoher Frequenz schwingen für eine linear oder zirkular Bewegung. Eine relativ neue Entwicklung sind Piezomotoren. die je nach angelegter Spannung ihre Ausdehnung verändern. Diese Motoren werden zurzeit in ersten Serien ausgeliefert. die über Getriebe. Bei frei drehbaren Motoren muss dies über Sensoren abgeprüft werden. die sich nicht frei drehen. das sind Motoren. Dabei werden neben den gewöhnlichen Elektromotoren auch Schrittmotoren verwendet.2 Aktuatoren Aktuatoren beim Roboter entsprechen dem Konzept der Muskeln im menschlichen Körper.Kapitel: Grundlagen der Robotik Komponenten eines Roboters Sensoren zur Umgebungswahrnehmung und Werkzeugen zur Manipulation der Umgebung (8). Allerdings haben sie noch eine sehr geringe Haltbarkeit. z. 10 J/cm3 Energie zu speichern. Die inverse Kinematik berechnet die Stellungen der Gelenke bei vorgegebener Stellung der Glieder. Allerdings befindet sich die Forschung auf diesem Gebiet erst am Anfang und kommt über Experimente unter Laborbedingungen bisher nicht hinaus. Die direkte Kinematik bezieht sich auf die Berechnung von Positionen der Roboterglieder. 2. Ein menschlicher Bizeps könnte so durch ein Nanoröhrchen-Kabel (11) mit 8mm Durchmesser ersetzt werden und somit Roboter bei geringer Ausmessung erheblich leistungsfähiger machen als Menschen. Beschleunigungen berechnet worden sind. deren Orientierung. Dabei sind sie in der Lage ca. in der Vorberechnung bzw. um die Einflüsse von Kräften bei der Bewegung zu berechnen. um die Kräfte zu Der Humanoide NAO – Betrachtung eines neuen Robotersystems 11 von 92 | S e i t e .B. Inverse Dynamik wird verwendet. bei bekannten Stellungen der Gelenke. Planung von Bewegungspfaden. Nachdem alle relevanten Positionen. Ein vielversprechendes aber noch sehr junges Forschungsfeld gibt es im Bereich von Kohlenstoffnanoröhrchen.2. Geschwindigkeit und Beschleunigung. aber gleichzeitig die Struktur Skelett-Muskeln beibehalten.3 Kinematik und Dynamik in der Robotik Das physikalische Fachgebiet der Bewegungslehre unterteilt sich in Kinematik und Dynamik. um die Beschleunigungen im Roboter zu berechnen. diese molekularen röhrenförmigen Strukturen sind unter bestimmten Umständen um einige Prozent dehnbar ohne Schaden zu nehmen. sobald bekannt ist welche Kräfte auf den Roboter wirken.Kapitel: Grundlagen der Robotik Komponenten eines Roboters sind die Stoffe allerdings noch nicht belastungsfähig genug und altern sehr schnell (10). Die direkte Dynamik wird verwendet. Geschwindigkeiten. werden die Methoden der Dynamik verwendet.3. Mikrofone zur Spracherkennung. welche die Umgebung des Roboters beschreiben.Kapitel: Grundlagen der Robotik Komponenten eines Roboters berechnen.4 Sensoren/Manipulation-Interaktion mit Umgebung Zur Interaktion mit ihrer Umgebung müssen Roboter in der Lage sein ihre Umgebung zu erkennen und benötigen Komponenten. Näherungssensoren. Werkzeuge bzw. Kameras zur Objekterkennung bzw. gewünschte Beschleunigung zu bringen. 2. die zumeist physikalische Werte zurückliefern. die es ihnen ermöglichen mit ihrer Umgebung zu interagieren. die soeben beschriebenen Sensoren einsetzt. die Kollisionen aufzeigen. Ein einfacher „End Effector“ ist beispielsweise ein mechanischer Greifer. Da das in dieser Studienarbeit behandelte Robotermodell NAO. Gyroskope um die Lage relativ zum Bezugssystem zu bestimmen oder auch Taster. Bildanalyse. um die Roboterglieder auf die vorgeschriebene bzw. aber auch Vakuumgreifer sind im Einsatz. welcher auch als Manipulator bezeichnet wird. Zur Manipulation der Umgebung werden oft „End Effectors“ eingesetzt. Im Bereich humanoider Roboter wird daran geforscht die Bewegungsvielfalt menschlicher Hände nachzubauen. Mehr oder weniger komplexe Modelle der menschlichen Hand werden schon als „End Effector“ verwendet. ist nahezu jeder Roboter mit Sensoren ausgestattet.3. (3) (12) Der Humanoide NAO – Betrachtung eines neuen Robotersystems 12 von 92 | S e i t e . wird an dieser Stelle auf eine nähere Beschreibung der Funktionsweisen verzichtet.2. Module am Ende des Roboterarms. Der Aufbau der Sensoren wird folgend noch näher beleuchtet. Die Bewegung eines Roboters benötigt also ein komplexes System an Operationen (8). Um sich in der Umgebung zurechtzufinden. Hierbei gibt es Ultraschallsensoren zur Abstandserkennung. die notwendig sind. Was der menschliche Körper unbewusst leistet ist im Der Humanoide NAO – Betrachtung eines neuen Robotersystems 13 von 92 | S e i t e . menschenähnlich. Am meisten Verbreitet sind bisher Roboter die sich auf Rädern fortbewegen. je nach Anzahl der Räder. Dies ist ein sehr schwieriger Vorgang. von denen jeder für spezielle Aufgabengebiete Vorteile bietet. auf zwei Beinen. als die Gliedmaßen. Grund ist die relativ einfache Umsetzbarkeit der Fortbewegungsart.3. Da zweibeinige Roboter nur an zwei Stellen Kontakt mit dem Boden haben. Zurzeit gibt es verschiedenste Ansätze zur Fortbewegung von Robotern. stabil. die Fortbewegung auf zwei Beinen. Zudem sind diese Techniken seit fast einem Jahrhundert im Automobilbereich etabliert und somit günstig und weit entwickelt. da das Gleichgewicht leichter gehalten werden kann als auf zwei Beinen. eine der komplexesten Methoden dar. die aufgrund der Vielfalt nicht alle existierenden Möglichkeiten aufzeigt.2.5 Fortbewegung Es gibt unterschiedliche Fortbewegungsarten für Roboter. Folgend soll ein Überblick über verschiedene Methoden der Gleichgewichtshaltung und Fortbewegung gegeben werden. dabei stellt die für den Menschen naheliegendste. Rollende Roboter können sich recht schnell fortbewegen und liegen dabei. muss ihre Bewegung sehr genau unter Beachtung der dynamischen Stabilität des gesamten Systems geplant werden. Die Fortbewegung auf mehr als zwei Beinen wird ebenfalls erprobt und ist leichter umzusetzen. da meist der Torso mehr Masse und Trägheit besitzt. Humanoide Roboter bewegen sich nicht auf Rollen sondern.Kapitel: Grundlagen der Robotik Komponenten eines Roboters 2. die den Boden berühren. Diese Form der Fortbewegung reagiert wesentlich unempfindlicher auf Störungen von außen z. der Gegenkraft. um sich Fortzubewegen. die vom Boden ausgeübt wird zu halten (die Kraft. Auf diese Weiße löschen sich beide Kräfte aus und der Roboter verharrt stabil.B. die vom Boden aus auf den Fuß des Roboters wirkt). von ASIMO oder auch NAO verwendet wird. (8) Die ZMP-Methode ist ein Algorithmus der z.B. um die Stabilität zu halten. Hier wird ein dynamischer Balancierungsalgorithmus verwendet. entsprechend wirkt die Fortbewegung mit der ZMPMethode für den Menschen künstlich (7) (8). Ein Ansatz der Lösung ist die ZMP2Methode. Stößen. Einige Roboter hüpfen. auf die auf ihn ausgeübten Kräfte und Beschleunigungen dynamisch reagieren und seine Gliedmaßen entsprechend der Einwirkungen von außen so ausrichten. die sich über Hüpfbewegungen stabil halten und Fortbewegen (13) (14).2. die sich aus Gravitation und Beschleunigung zusammensetzt immer entgegengesetzt. Der Computer des Roboters versucht die Trägheitskraft. Die menschliche Form der Fortbewegung beruht nicht nur auf statischer Kinematik sondern ist hochgradig dynamische. dass er im Gleichgewicht bleibt. dass sich der Roboter in irgendeiner Achse dreht und schließlich fällt. Der Roboter kann dadurch. Am MIT3 gibt es Experimente mit ein bis 4 Beinen. Eine resultierende Kraft würde dazu führen. die Bewegungen des Roboters werden kontinuierlich überwacht und die Füße des Roboters werden anhand dieser Daten ausgerichtet.h. d.Kapitel: Grundlagen der Robotik Komponenten eines Roboters Bereich der Robotik ein komplexes Problem. Dynamisches Balancieren oder kontrolliertes Fallen ist eine höher entwickelte Fortbewegungsmethode als ZMP. 2 3 Zero Moment Point Massachusetts Institute of Technology Der Humanoide NAO – Betrachtung eines neuen Robotersystems 14 von 92 | S e i t e . (15) (16) Ein modernes Flugzeug kann als fliegender Roboter aufgefasst werden. Schlängeln. die Interaktion mit den Robotern zu vereinfachen.6 Mensch Maschine Interaktion Wenn Roboter auch außerhalb der Industrie bzw. 2. dass es für jeden bedienbar ist. die bei Bedarf übernehmen. Exotischere Fortbewegungsarten sind Klettern. Flug. Sie werden größtenteils noch von menschlichen Piloten ferngesteuert. die auf sie einwirkende Gravitationskraft genutzt. Gerade im militärischen Bereich werden vermehrt „unmanned aerial vehicles“ (UAVs) eingesetzt (16).Kapitel: Grundlagen der Robotik Komponenten eines Roboters Passive Dynamik ist ein Recht neuer Ansatz in der Fortbewegung von Robotern. wird es von großer Bedeutung sein. oder Schwimmen.2. Am einfachsten fällt es dem Menschen über die Sprache (4).3. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 15 von 92 | S e i t e . Damit lässt sich Motorkraft einsparen und somit eine effizientere Nutzung der Energieressourcen des Roboters erreichen. Der Autopilot kann alle Stadien des Fluges. da kein Fachpersonal zu Verfügung steht sondern gewöhnliche Bürger. Start. um Bewegungen auszuführen. Methoden aus der Natur zu imitieren (17). außerhalb von Forschungseinrichtungen. Kommunikation über Command Line Interfaces oder andere komplexe Steuereinheiten ist hier nicht möglich. Da diese Menschen keine oder sehr wenig über Robotik wissen werden. im privaten Umfeld arbeiten sollen. Landung steuern und wird dabei nur von zwei menschlichen Piloten unterstützt. muss jedes Bedieninterface so einfach und intuitiv gestaltet sein. Dabei wird häufig versucht Bewegungsabläufe bzw. bieten aber schon viele autonome Fähigkeiten. Dabei wird die Trägheit der Roboterglieder bzw. Das imitieren menschlicher Gesichtsausdrücke ist allerdings sehr schwierig. Roboter dar. Auf diesem Gebiet gibt es schon einige Erfolge (19). Hier finden sich aber Streitpunkte zwischen Befürwortern und Gegnern. allein über Ausdrücke im Gesicht z. sie versuchen über Körpersprache und Gesichtsausdrücke einen inneren Zustand. da das menschliche Gesicht 52 Muskeln aufweist. Gegenstand der Forschung ist ebenfalls die Gesten-Erkennung. Lächeln vermitteln.2. Zurzeit werden in Forschungsprojekten Roboter entwickelt die eine Persönlichkeit simulieren d. dass die physikalische Eigenschaften ein und desselben Wortes je nach Sprecher variieren. Da Menschen üblicherweise ihrem gegenüber sehr viele Informationen nonverbal. hinzukommen störende Umgebungsgeräusche. aber vor allem auch daran. Dies liegt nicht nur. wie Freude oder Der Humanoide NAO – Betrachtung eines neuen Robotersystems 16 von 92 | S e i t e .Kapitel: Grundlagen der Robotik Komponenten eines Roboters Die Interpretation kontinuierlicher Sprache in Echtzeit stellt ein großes Problem für Computer bzw. Das beste zurzeit bekannte Spracherkennungssystem kann 160 Worte pro Minute mit einer Genauigkeit von 95% (18) erkennen. (20) (21) Es wird ebenfalls darüber nachgedacht Zustände des Roboters über künstliche Emotionen auszudrücken z.h. wenn bereits kleine Fehler der Mimik vorhanden sind. Dabei ist unser Gehirn darauf trainiert Gesichtsausdrücke zu erkennen und zu interpretieren und ist schon bei kleinsten falschen Nuancen irritiert d.h. ist es für eine zukünftige Mensch-Maschine-Interaktion auch unerlässlich eine zuverlässige Erkennung und Interpretation von Gesichtsausdrücken zu entwickeln. von denen 16 direkt und ausschließlich mimische Funktion haben. Gesichtsausdrücke wirken nicht echt. Selbst ein und dieselbe Person mag in unterschiedlichen Situationen ein und dasselbe Wort anders aussprechen. über Gesichtsausdrücke.B.B. Auch die Entwicklung einer Art Persönlichkeit für Roboter wird diskutiert. Übermittlung von Informationen über gestikulieren. Diese Information wird von einer Logik im Roboter verarbeitet.2. Da die Aufgaben eines Roboters stark variieren. um Aufgaben ausführen zu können. Pfadplanung oder andere Methoden der Künstlichen Intelligenz durchgeführt werden können. Mustererkennung und Objekterkennung. (22) 2. seine Umgebung und deren Interaktionen abzubilden. dem Roboter wird eine Art Verstand über ein kognitives Model programmiert. die die Sensoreingaben verarbeitet. Verarbeitung und Ausführung.bzw. Über weitere Techniken kann versucht werden eine Abbild bzw. Komplexe Aufgaben können ein kognitives Verhalten des Roboters erfordern. d.7 Steuerung Die mechanische Struktur eines Roboters muss von einer Instanz gesteuert werden.h. Auf unterster Ebene wird der Roboter vollständig vom Menschen gesteuert. Die Vorgehensweise zur Steuerung wird dabei Roboterparadigma genannt und unterteilt sich in drei dedizierte Phasen: Erkennung. um Objekte in der Umgebung wahrzunehmen und Verfolgen zu können. Der nächste Entwicklungsschritt sind Der Humanoide NAO – Betrachtung eines neuen Robotersystems 17 von 92 | S e i t e . die notwendigen Aktionen werden erkannt und den Aktuatoren Signale zur Ausführung der Aktionen übermittelt. Gerade bei Autonom operierenden Robotern sind solche Eigenschaften wichtig. Modell der Umgebung des Roboters zu erstellen.B.Kapitel: Grundlagen der Robotik Komponenten eines Roboters Traurigkeit auszudrücken. variiert auch die Komplexität der internen Logik. auf Basis derer dann Bewegungs. Kognitive Modelle versuchen dem Roboter. Dazu zählt z. Es gibt verschiedene Ebenen der Steuerung. Ein Sensor gibt Informationen über die Umgebung oder einen Zustand im Roboter selbst weiter. Der kommerziell erhältliche Roboterdinosaurier „Pleo“ ist beispielsweise in der Lage verschieden Emotionen zu simulieren.3. Moment. (8) (4) (21) (23) Abbildung 1. Ein Roboter kann am Fließband autonom arbeiten. Ein autonomer Roboter. oder neuen Konstruktionsmöglichkeiten spielt auch die Informatik eine sehr wichtige Rolle in der Robotik. Besonders im Bereich der Interaktion und der Entscheidungsfindung. welche der Roboter dann eigenständig ausführt. Roboterparadigma 2. denen der Mensch eine Aufgabe vorgibt. zur Messung von Kraft. Dabei sagt die Autonomie noch nichts über die kognitiven Fähigkeiten aus. ohne in der Lage zu sein. seine Umgebung zu erkennen und mit ihr zu interagieren. d.h. Druck bis hin zu miniaturisierten Kamerasystemen. kann lange Zeit ohne menschlichen Eingriff arbeiten.8 Informatik und Robotik Unabhängig von der physikalischen Entwicklung. seine Umwelt zu erkennen und auf Basis dieser Daten mit Hilfe von Methoden oder Mustern Entscheidungen zu treffen.Kapitel: Grundlagen der Robotik Komponenten eines Roboters Roboter. Ein autonomer Roboter muss in der Lage sein. Entwicklung von besseren Materialien.3. Die Forschungstätigkeit umfasst dabei die Entwicklung von physikalischen Sensoren zum Tasten.2. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 18 von 92 | S e i t e . zur Präsenzdetektion. Während es dem Menschen recht einfach fällt Objekte in einem Bild zu lokalisieren.Kapitel: Grundlagen der Robotik Komponenten eines Roboters Die Signale. oder Methoden aus dem Bereich der Fuzzy-Mengen und -Logik. solche zur Erkennung und Bewertung seiner Umwelt zu verleihen. Darüber hinaus muss es einem Roboter möglich sein sich in seiner Umgebung zurechtzufinden und zu positionieren. um Sprachsignale zu interpretieren oder beispielsweise Muster in Bildern zu erkennen. Ähnlich verhält es sich im Bereich der Spracherkennung. welche von den Sensoren abgegeben werden. Neuronale Netzwerke. (24) Der Humanoide NAO – Betrachtung eines neuen Robotersystems 19 von 92 | S e i t e . Eines der zentralen Ziele der Robotik-Forschung innerhalb der Informatik ist die Erforschung von Möglichkeiten. Dieses Ziel orientiert sich an den entsprechenden Fähigkeiten des Menschen und ist Forschungsschwerpunkt im Bereich der Künstlichen Intelligenz. Auch hier spielt die Informationstechnik eine wichtige Rolle darin. einem Roboter-System kognitive Fähigkeiten. um sich in ihr so autonom wie möglich zurechtzufinden. müssen vom Roboter interpretiert werden. muss man in der Informationstechnik Möglichkeiten finden Objekte im Bild zu identifizieren. dass die Position des Roboters in diesem Umgebungsmodell bestimmt werden kann. Methoden aus dem Bereich der Künstlichen Intelligenz. d.2. Dazu werden verschiedene Techniken eingesetzt: Klassische Mustererkennung basierend auf statistischen Verfahren. ein Modell der Umgebung des Roboters zu entwickeln und die Signaleingaben so zu verarbeiten. Hierfür ist die Entwicklung von informationstechnischen Methoden notwendig.h. Insgesamt wurden mehr als 150. Er war einer der ersten kommerziell erhältlichen Roboter und gewann durch seinen Einsatz im Robocup an Popularität. Dies soll zum Einen die verschieden konstruktiven Möglichkeiten zeigen und zum Anderen auch die Weiterentwicklung der Robotik aufzeigen. Aibo „Aibo“ (Abbildung 2) ist ein Unterhaltungs-und Spielzeugroboter der Firma Sony. 2. Januar 2006 gab Sony bekannt die Aibo Plattform nicht weiterentwickeln zu wollen. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 20 von 92 | S e i t e .4.000 Aibos verkauft (25).1 Aibo Abbildung 2.4 Verschiedene Roboter Im Folgenden Abschnitt wird ein kleiner Auszug der bekanntesten RobotikModelle veranschaulicht. Entsprechend wurde ein Nachfolger für Aibo in der Robocup-Liga (Abbildung 3) gesucht und mit „NAO“ auch gefunden.2.Kapitel: Grundlagen der Robotik Verschiedene Roboter 2. Am 26. Kapitel: Grundlagen der Robotik Verschiedene Roboter Abbildung 3. Dezember 2004 vorgestellten Forschungsmodells des Asimo ist 1. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 21 von 92 | S e i t e . Die Hardware des am 15.2 Asimo „Asimo“ (Abbildung 4) ist ein weit entwickelter humanoider Roboter von Honda. Er kann etwa 2.2. ASIMO besitzt in der aktuellen Version 34 Freiheitsgrade. Honda begann bereits im Jahr 1986 mit der Forschung an Humanoiden Robotern. ist in der Lage Gegenstände zu tragen und kann mit bis zu 6 km/h rennen. Aibos im Robocup-Wettbewerb 2.7 Kilometer pro Stunde (km/h) beim Gehen erreichen.20 Meter groß und wiegt 54 Kilogramm. Die integrierte Stromversorgung reicht für etwa 40 Minuten Betriebszeit.4. Diverse Entwicklungen führten letztendlich zur Konstruktion von Asimo. während sich der Roboter gehend fortbewegt. 4. Dabei werden dem Roboter zumeist die exakten Bewegungsabläufe. Die Roboter sind nicht mobil und werden über ein Steuerterminal fest darauf programmiert eine bestimmte Aufgabe auszuführen. Asimo 2.2.Kapitel: Grundlagen der Robotik Verschiedene Roboter Abbildung 4. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 22 von 92 | S e i t e . die er ausführen muss einprogrammiert. sie setzen sich aus einem Roboterarm mit 6 Achsen und jeweils variierenden „End Effectors“ zusammen.3 Kuka „Kuka“ (Abbildung 5) Roboter sind klassische Industrieroboter. 4. Er ist dem Baby einer Sattelrobbe nachempfunden und soll dadurch einen beruhigenden Einfluss auf die Patienten ausüben. „Paro“ verfügt über taktile Sensorik und kann darüber Streicheln wahrnehmen. der zu medizinischen Zwecken eingesetzt wird. das Design von Paro stützt sich dabei auf Erfahrungen aus der tiergestützten Therapie. Der Roboter reagiert darüber hinaus auf Geräusche und kann Namen lernen.4 Paro „Paro“ (Abbildung 6) ist ein Roboter. „Paro“ Der Humanoide NAO – Betrachtung eines neuen Robotersystems 23 von 92 | S e i t e . 2. beim Paketieren oder Schweißen eingesetzt (26).2.Kapitel: Grundlagen der Robotik Verschiedene Roboter Abbildung 5. Darauf reagiert „Paro“ mit der Bewegung des Schwanzes und den Augen. Kuka Entscheidungsfindungen werden üblicherweise nicht getroffen. Die Entwicklung bzw.B. Diese Art von Industrierobotern wird zumeist in der Fließfertigung z. Zudem ist der Bereich der KI relativ unerforscht. zu verstehen wie das Denken funktioniert. Die ersten ernsthaften Forschungen begannen nach dem zweiten Weltkrieg. welches der Informatik zugeordnet wird. Der Roboter ist seit 2004 verfügbar und wird auch in Deutschland als Therapiemittel in der Betreuung von Menschen mit Demenz eingesetzt (27). Paro 2. der sich nicht nur damit beschäftigt.5 Einführung in die Künstliche Intelligenz Die Künstliche Intelligenz (KI) ist ein Forschungsgebiet in der Informatik. Auch wenn es hauptsächlich ein Gebiet ist. In der KI unterscheidet man nach zwei wesentlichen Punkten: Der Humanoide NAO – Betrachtung eines neuen Robotersystems 24 von 92 | S e i t e . sollte man es als universelles Gebiet betrachten. die denen von echten Sattelrobben-Babys ähneln.2. Abbildung 6. Es ist zudem ein sehr spannender Themenbereich. Die KI ist ein relativ junger wissenschaftlicher Bereich. welches viele wissenschaftliche Gebiete mit eingliedert. sondern versucht eigene intelligente Einheiten aufzubauen.Kapitel: Grundlagen der Robotik Einführung in die Künstliche Intelligenz macht selbst Geräusche. Kapitel: Grundlagen der Robotik Einführung in die Künstliche Intelligenz - Denkprozessen (logisches Herleiten) Verhalten (Verhaltensmuster) Damit spaltet sich die KI also in insgesamt vier Bereiche. dass sich die Rechnerleistung alle zwei Jahre verdoppelt und wir uns immer mehr der Leistungsfähigkeit eines menschlichen Gehirns annähern. Es ist ersichtlich. dass die Bandbreite des menschlichen Gehirns 10. Allgemein auf alle Werte in Tabelle 1 bezogen. Einmal das rationale denken und ebenso handeln sowie als weiteres das menschliche denken und handeln (27). Es sollte jedoch auch das Moore’sche Gesetz beachtet werden. Allgemein soll aber verdeutlicht werden. 108 Gatter 1010 Bit RAM 1011 Bit Festplatte 10-9 s 1010 Bit/s 109 Menschliches Gehirn 1011 Neutronen 1011 Neutronen 1014 Synapsen 10-3 s 1014 Bit/s 1014 Recheneinheiten Speichereinheiten Geschwindigkeit Bandbreite Speicheraktualisierungen/s Tabelle 1. sondern ein Lernprozess den jeder Roboter individuell erfahren soll. Tabelle 1 gibt eine Vorstellung. dass das menschliche Gehirn im Moment um einiges Leistungsfähiger ist als ein Computer. Die KI versucht trotz der bis jetzt gegeben Einschränkung das menschliche Gehirn oder besser gesagt das menschliche Verhalten nachzubilden.000 Mal höher ist als die eines Computers und die Differenz der Speicheraktualisierung ist das 10-fache der Differenz der Bandbreite. wie komplex und schnell das menschliche Gehirn gegenüber einem Computer ist. kann geschlussfolgert werden. dass KI nicht einfaches programmieren ist. Computer 1 CPU. indem es heißt. Vergleich der Rechnerressourcen Der Humanoide NAO – Betrachtung eines neuen Robotersystems 25 von 92 | S e i t e .2. 2. sowie die Entwicklung von neuen Technologien beachten. zu erreichen und das menschliche Gehirn nachzubilden.) in Ruhmodus.) ein Gelenk und (r. (r. Roboter-Spinne (l.u.o.) aktiv Der Humanoide NAO – Betrachtung eines neuen Robotersystems 26 von 92 | S e i t e . Aber nicht nur das menschliche Verhalten soll emuliert werden. (l.) Platine und Kühlung. Es scheint zumindest was die Ressourcen angeht schier unmöglich.Kapitel: Grundlagen der Robotik Einführung in die Künstliche Intelligenz Mit Tabelle 1 wird verdeutlicht wie komplex und schwierig es ist die Natur nachzubilden. das Gewinnen gegen die Fußball Nationalmannschaft im Jahre 2050. Sollte man den Moore’schen Gesetz weiterhin Folge leisten.u. wäre es möglich das Ziel von Robocup. Abbildung 7.o. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 27 von 92 | S e i t e . In der Automobilindustrie oder auch der Halbleiterfertigung sind die Produktionsprozesse ohne Roboter nicht mehr bewerkstelligbar. Die Stromversorgung läuft über einen Arm dickes Kabel und bei dem Vergleich der Größenordnung zu einer natürlichen Spinne sieht man die noch vorhandenen Probleme in der technischen Umsetzung noch sehr deutlich. Allerdings werden auch deutlich die momentanen Grenzen der aufgezeigt.Kapitel: Grundlagen der Robotik Bedeutung und Einsatzgebiete der Robotik Abbildung 7 zeigt eine Spinne. die ihre sechs Beine koordiniert bewegen kann und mithilfe der Kamera Personen erkennt und verfolgt. 2.2. (24) Für den privaten Bereich existieren vereinzelt bereits auf eine Aufgabe spezialisierte Serviceroboter. dass die künstliche Intelligenz ebenfalls versucht Gegenstände und Lebewesen aus der Natur nachzubilden. Industrieroboter werden meist in für den Menschen zu gefährlichen oder unzumutbaren Umgebungen eingesetzt. den Boden zu wischen oder den Rasen zu mähen. Staub zu saugen. Roboter erledigen heute stupide Fließbandarbeit schneller und wesentlich genauer als ein Mensch und können ihn in immer mehr Bereichen ersetzen. Dabei erstrecken sich die Anwendungsgebiete von der Industrie. Dieses Beispiel zeigt weiterhin. der Weltraumforschung über den medizinischen bis in den privaten Lebensbereich. die beispielsweise in der Lage sind.6 Bedeutung und Einsatzgebiete der Robotik Roboter finden mittlerweile vielfältigen Einsatz in nahezu allen Bereichen des Lebens. Ziel der Veranstaltung ist es bis 2050 eine Robotermannschaft gegen eine Nationalmannschaft antreten zu lassen (28). die den Chirurgen bei diffizilen Der Humanoide NAO – Betrachtung eines neuen Robotersystems 28 von 92 | S e i t e . wie Vulkanen. Dabei können die Opfer versteckt sein und das Gelände sich immer wieder verändern. Aber auch der Rescue-Bereich im Robocup wird immer mehr ausgebaut. Dabei geht es um das Retten von Menschenleben in unebenem Gelände.Kapitel: Grundlagen der Robotik Bedeutung und Einsatzgebiete der Robotik Forschungsroboter. Im Robocup. sowie der künstlichen Intelligenz geforscht. wie die Marssonden Pathfinder. Es existieren ebenfalls bereits Operationsroboter. In anderen Bereichen dringen sie in Katastrophengebiete vor oder sammeln Daten in menschenfeindlichen Umgebungen.2. anhand der Aufgabenstellung des Fußballspiels. an der Interaktion und Koordination zwischen Roboter-Individuen. Operationen und Rehabilitation eingesetzt und verrichten einfache Aufgaben im Krankenhausalltag. einer Roboterfußballliga wird. Robocup Senior In der Medizin werden Roboter für Untersuchungen. Spirit oder Opportunity erkunden weitgehend autonom Planeten oder Monde unseres Sonnensystems. Abbildung 8. im Bereich der Gehirnchirurgie. Die Studie macht Abschätzungen über technologische Fortschritte bis ins Jahr 2030.B. Zunehmend werden hier mobile Roboter und ferngesteuerte Kampfdrohnen eingesetzt (17). wird in vielen Bereichen des Militärs positiv gesehen.2.Kapitel: Grundlagen der Robotik Zukunftsaussichten Arbeiten z. unterstützen können. Im militärischen Bereich liegt ein Fokus der Forschung auf Robotern. (24) Auch im Unterhaltungsbereich gibt es erste Roboter. die eigenständig kleinere Eingriffe vornehmen 2017-2019 — voll Funktionsfähige Haushaltsroboter 2019-2021 — Nanoroboter Der Humanoide NAO – Betrachtung eines neuen Robotersystems 29 von 92 | S e i t e . Die Möglichkeit ferngesteuerte Maschinen anstatt Menschen in den Kampf zu schicken. Die einzelnen Meilensteine sind wie folgt (29): 2013-2014 — Agrarroboter 2013-2017 — Pflegeroboter 2017 — medizinische Roboter. Japan) wird sich die Robotik in den nächsten 10 bis 20 Jahren rasant entwickeln. 2. in der ein absolut ruhiges Halten der medizinischen Instrumente notwendig ist.7 Zukunftsaussichten Gemäß einer Studie des „National Institute of Science and Technology Policy“ (NISTEP. wie den Roboterhund Aibo von Sony. die zur Entwicklung autonomer oder kognitiver Roboter gelöst werden müssen. gibt es zwei grundlegende nichttechnische Problemfelder in der Robotik. der Robot“ drei Robotergesetze aufstellte. Physik und Informationstechnik. die sich mit zunehmender Intelligenz bzw. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 30 von 92 | S e i t e . Ein Roboter muss den ihm von einem Menschen gegebenen Befehlen gehorchen – es sei denn. Ein russischer Schriftsteller.Kapitel: Grundlagen der Robotik Problematik der Robotik 2. Einer der ersten. den bereits angesprochenen komplexen und schwierigen technischen Aufgaben im Bereich der Mechanik. Die Asimov‘schen Gesetze lauten: Ein Roboter darf kein menschliches Wesen verletzen oder durch Untätigkeit gestatten. die die Menschen im Umgang mit Robotern schützen sollten. mit steigender Interaktion von Robotern mit dem menschlichen Umfeld ergeben. in erster Linie die Sicherheit von Menschen im Umfeld von Robotern und zum anderen philosophische und ethische Fragestellungen.h. lange bevor ansatzweise autonome Roboter in Laboratorien gebaut wurden.8 Problematik der Robotik Abgesehen von technischen Problemen d.h. der sich fiktiv mit den Fragen der Sicherheit im Umgang mit Robotern beschäftigte war Isaac Asimov. dass einem menschlichen Wesen Schaden zugefügt wird. 2.1 Asimov‘s Robotergesetze Erstmals tauchen ethische Fragen im Zusammenhang mit der Robotik in fiktionaler Literatur auf. Dies sind zum einen Sicherheitsaspekte d.2.8. ein solcher Befehl würde mit Regel eins kollidieren. der bereits 1942 in seinem Buch „Ich. Forscher.Kapitel: Grundlagen der Robotik Problematik der Robotik Ein Roboter muss seine Existenz beschützen.2. (30) Sicherheitsrichtlinien für Roboter ergeben sich aus dem jeweiligen Einsatzbereich und dem Robotertyp. Durch den vielfältigen Einsatz von Robotern ist es jedoch utopisch. dass universelle Der Humanoide NAO – Betrachtung eines neuen Robotersystems 31 von 92 | S e i t e . Grund hierfür ist zum Einen die Tatsache. solange dieser Schutz nicht mit Regel eins oder zwei kollidiert. Je autonomer ein Roboter im Umfeld des Menschen agiert. da unvorhersehbare Situationen vom Roboter nicht kalkulierbar sind. Gitter. dessen Umsetzung aber kaum realistisch erscheint. Es wird deshalb heute davon ausgegangen. die also per Definition bereits nicht den idealisierten Robotergesetzten gehorchen. Es ist somit nicht mehr wahrscheinlich dass die Gesetzte irgendwann als Paradigma allgemein gültig seien werden. Industrieroboter werden durch gesetzlich vorgeschriebene Sicherheitsvorkehrungen wie Käfige. Lichtschranken oder andere Barrieren abgesichert. komplexere Robotersysteme den Umständen entsprechend angepasste Sicherheitsvorkehrungen. Auch die von Isaac Asimov aufgestellten „Drei Regeln der Robotik“ können nur als ethische Richtlinien für eine mögliche Programmierung verstanden werden. die sich mit künstlicher Intelligenz beschäftigen sehen diese Gesetze häufig als futuristisches ideal. universelle Sicherheitsregeln für alle Roboter aufzustellen. die im Voraus kaum kalkulierbar sind und zum Anderen sind bereits heute Roboter im Einsatz deren Ziel es ist Menschen zu töten. desto größer ist die Wahrscheinlichkeit. dass bei zukünftigen autonomen Robotersystemen Roboter in den verschiedenartigsten Situationen Entscheidungen treffen müssen. Mit zunehmender Autonomie jedoch benötigen gegenwärtige oder zukünftige. dass Lebewesen oder Gegenstände zu Schaden kommen werden. sie werden jedoch als Denkanstoß begriffen. obwohl dies in der 4 5 Defense Advanced Research Projects Agency Special Weapons ObservationReconnaissance Detection System Der Humanoide NAO – Betrachtung eines neuen Robotersystems 32 von 92 | S e i t e . da sich bei mehreren Vorfällen der Waffenarm des Roboters gedreht hatte. Afghanistan). (31) (32) 2. die in der Lage sind Menschen zu töten stellt sich die Frage.Kapitel: Grundlagen der Robotik Problematik der Robotik Sicherheitskonzepte eher durch eine auf das Einsatzgebiet angepasstes Sicherheitskonzept für autonome Roboter ersetzt werden wird. Mittlerweile wird dieses Ziel von vielen Teilnehmern erreicht.2. zeigen wiederholte Zwischenfälle und Fehlfunktionen. Die unbemannten Fahrzeuge der Teilnehmer sollten dabei in 10 Stunden quer durch die Mojawewüste ein Ziel in 175 Meilen Entfernung erreichen. dass Fehlfunktionen der Roboter nicht zum Tode Unschuldiger führen. (33) Mit dem vermehrten Einsatz militärischer Roboter. wie man über Sicherheitskonzepte erreichen kann. Neben bewaffneten Kampfrobotern werden auch vermehrt unbemannte fliegende Kampfdrohnen mit Bewaffnung eingesetzt (Irak. Die DARPA4 eine militärische Forschungseinrichtung des Pentagon hat erstmals im Juni 2004 im Grand Challenge ein Preisgeld von einer Million US-Dollar ausgeschrieben. Somit existieren auch im militärischen Bereich ähnliche Fragestellungen wie für zivile Roboter beschrieben. Im April 2008 wurde eine SWORDS5 genannte Bauserie autonom agierender bewaffneter Roboter für den Einsatz im Irakkrieg durch das amerikanische Verteidigungsministerium aus dem Dienst zurückgezogen.8. Dass die aktuellen Sicherheitsmechanismen nicht ausreichend sind.2 Militärische Roboter und Sicherheit Der Einsatz mobiler teils autonomer Roboter nimmt auch im militärischen Bereich stark zu. um einen sicheren Einsatz von Robotern zu gewährleisten. wurden die Roboter darauf hin als unsicher eingestuft. haben schon mehrmals nicht mehr auf die Steuerinformationen des menschlichen Benutzers reagiert und sind unkontrolliert weitergeflogen.und Forschungsarbeit zu leisten ist. dass Sicherheitsmechanismen im Robotikbereich noch nicht immer ausgereift sind und auch in diesem Bereich noch einige Entwicklungs. (34) Abbildung 9. teilweise ferngesteuerte Kampfdrohnen des Typs Predator. und der Feldeinsatz abgebrochen.Kapitel: Grundlagen der Robotik Problematik der Robotik jeweiligen Situation nicht vorgesehen war. Sie mussten von Abfangjägern abgeschossen werden. Obwohl bei den Vorfällen niemand verletzt worden war. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 33 von 92 | S e i t e .2. (35) Diese und ähnliche Vorfälle zeugen davon. SWORDS Kampfroboter Auch teilweise autonome. besonders wenn diese autonome Fähigkeiten haben.Kapitel: Grundlagen der Robotik Problematik der Robotik 2. so sind einige Roboter in der Lage sich selbstständig Energiequellen zu suchen und automatisch Ziele für ihr Waffensystem auszusuchen. Sie bemerkten auch. Ebenfalls wurde darüber diskutiert wie diese Selbständigkeit zu Gefahren oder Bedrohungen führen könnte. dass Roboter und Computer selbstständig werden könnten und in der Lage sein könnten ihre eigenen Entscheidungen zu treffen. dass die Fähigkeit des Bewusstseins. um den Einfluss der hypothetischen Möglichkeit zu besprechen. Sie merkten an. wie sie sie in Science Fiction Filmen vorkommt äußerst unwahrscheinlich ist. Sie diskutierten die Möglichkeiten und den Umfang in dem Robotersysteme in der Lage sein könnten verschiedene Grade der Selbstständigkeit zu erreichen. dass einige Roboter diverse Arten von Halb-Autonomie erreicht haben.2.8. dass einige Computerviren in der Lage sind ihre Löschung/Vernichtung zu verhindern und somit eine Art „Kakerlaken-Intelligenz“ in diesem Bereich erreicht haben. Einige Experten Zweifeln generell den Einsatz von Robotern im militärischen Bereich an. das aber durchaus unzählige Gefahrensituation durch die selbständige Entscheidungsfindung von Robotern entstehen.3 Einschätzung der Sicherheitsaspekte 2009 Im Jahr 2009 haben sich akademische und technische Experten im Bereich der Robotik auf einer Konferenz getroffen. (36). Der Humanoide NAO – Betrachtung eines neuen Robotersystems 34 von 92 | S e i t e . Die Konferenzteilnehmer waren sich einig. Er ist offizieller Roboter der Roboterliga Robocup. Darüber hinaus sind häufig Interaktionsmöglichkeiten über Sprache. (37) Der Humanoide NAO – Betrachtung eines neuen Robotersystems 35 von 92 | S e i t e . wollte das Herstellerunternehmen ein System entwickeln. Der Humanoide NAO 3. einem französischen Unternehmen mit Unterstützung verschiedener französischer Forschungseinrichtungen entwickelt wurde. um den Roboter noch menschenähnlicher zu machen. Zumeist sind dabei die Positionen der Gelenke. Der Roboter NAO ist ein humanoider Roboter der von Aldebaran Robotics.1 Entwurfsziele bzw. dessen Konstruktion und Design der menschlichen Gestalt nachempfunden ist.1 Allgemeine Beschreibung Ein Humanoide ist ein Roboter. Da NAO eine komplette Neuentwicklung ist. wie ASIMO von Honda. im Bereich humanoider Roboter. Die Bewegungsabläufe des Roboters orientieren sich dabei an menschlichen Bewegungsabläufen. Designkonzepte des NAO NAO ist eines unter vielen Humanoiden Robotersystemen. das sich von den aktuell verfügbaren Systemen unterscheidet.3. Es existieren bereits vielfältige anders Systeme. üblicherweise bewegen sich humanoide Roboter deshalb auch auf zwei Beinen fort.1. den menschlichen Gelenkpositionen nachempfunden.Kapitel: Der Humanoide NAO Allgemeine Beschreibung 3. 3. Gestik und Mimik implementiert. (38) (37) Die bereits existierenden Roboter wie Assimo von Honda sind nicht für alle Forscher oder Interessierte verfügbar.Kapitel: Der Humanoide NAO Allgemeine Beschreibung Abbildung 10. NAO wurde deshalb stark unter Kostengesichtspunkten entwickelt. um die Forschung mit einem günstigen und erschwinglichen Robotermodell zu unterstützen. oder nur für Forscher verfügbar. die Interesse an der Robotik haben. die sich laut dem Entwicklerunternehmen hinter diesen Begriffen verbergen. Verfügbarkeit bedeutet der Roboter soll für alle verfügbar und erschwinglich sein. werden in den folgenden Abschnitten erläutert. Darüber hinaus sollen seine Nachfolger einmal Menschen im alltäglichen Leben helfen und unangenehme Arbeiten für die Menschen ausführen. die Der Humanoide NAO – Betrachtung eines neuen Robotersystems 36 von 92 | S e i t e . Leistungsfähigkeit. in erster Linie stehen hier Forscher im Fokus.3. die Interesse an der Forschung im Bereich der Humanoiden Robotik und künstlichen Intelligenz haben aber auch private Interessenten sollen in der Lage sein den Roboter erwerben zu können. Modularer Aufbau und offene Architektur (38). Designzielen entwickelt. Diese vier Punkte sind Verfügbarkeit. Die Vorstellungen. Nimbro – eine der ersten Humanoiden beim Robocup „Aldebaran Robotics“ hat NAO unter vier Gesichtspunkten bzw. Werte von Robotern Sogar der recht kleine HOAP von Fujitsu Siemens kostet schon um die 50 000 $. Im Falle von NAO heißt das z. 4000€ kosten. wird allerdings bei serienreife ca.3. um sich die Kosten für Anschaffung und Wartung leisten zu können. einzusparen ohne dadurch Qualität oder Leistung zu verlieren. Auf diese Weise wird auch die Anzahl unterschiedlicher Motoren reduziert. Die folgende Tabelle illustriert die Kosten für aktuelle Robotermodelle Tabelle 2.Kapitel: Der Humanoide NAO Allgemeine Beschreibung umfangreiche finanzielle Mittel zur Verfügung haben.B. um Kosten im Einkauf zu reduzieren. der Entwicklungsarbeit. Der Roboter kostet zurzeit 10000€ für Laboratorien. somit wird versucht Kosten. (39) (38) Der Humanoide NAO – Betrachtung eines neuen Robotersystems 37 von 92 | S e i t e .. wo möglich. Trotz der Kostenziele war auch die Leistungsfähigkeit ein Grundsatz. dass die gleichen Aktuator-Module in mehreren Gelenken verwendet werden. NAO besitzt nur zwei unterschiedliche Motortypen und 4 Aktuatormodule. Darüber hinaus muss er ebenfalls in der Lage sein. Um diese Ziele zu erreichen. und menschliche Gesichter bzw. Ein zweibeiniger Roboter muss darüber hinaus gute Bewegungsleistung im Verhältnis zu seiner Größe und seinem Gewicht bieten (BMI Body Maß Index).5. das wären ungefähr 0. das bedeutet er ist sehr leicht im Vergleich zu anderen Robotern gleicher Größe (siehe Tabelle 2) (38) Ein Roboter der autonom und interaktiv agieren soll. NAO besitzt qualitative hochwertige Bürstenlose Gleichstrommotoren und hoch präzise magnetische Sensoren in den Aktuatoren. auch wenn die Geschwindigkeit oder Richtung verändert wird. je nachdem wie umfangreich die Programmierer die Sensoren nutzen. dass der Roboter in der Lages ist Sprache. Darüber hinaus wird eine Vielzahl an Bewegungsmöglichkeiten angestrebt. (38) (40) Der Humanoide NAO – Betrachtung eines neuen Robotersystems 38 von 92 | S e i t e . sowie präzise Gelenke notwendig. Dies setzt voraus. Um mit seiner Umgebung zu interagieren bzw. um NAO interaktiv und autonom Entscheidungen treffen zu lassen. Selbige Funktionen sind bei NAO bereits integriert. muss die Möglichkeiten der Implementierung kognitiver Fähigkeiten bzw. Die Laufgeschwindigkeit soll so. sich in seiner Umgebung zu lokalisieren und selbständig zurechtzufinden.Kapitel: Der Humanoide NAO Allgemeine Beschreibung Die Leistungsziele von NAO sind flüssige Bewegungsabläufe beim Laufen. ist eine starke und verlässliche Hardware. die der Roboter flüssig und präzise ausführen soll. Gesichtszüge zu erkennen.6km/h. NAO hat einen BMI von 13. wie die von Kindern gleicher Größe sein.3. Seine kognitiven Fähigkeiten hängen von seiner Software und Programmierung ab. um seine Umgebung wahrnehmen zu können und sich in ihr zu orientieren ist NAOs Kopf und Rumpf mit vielfältigen Sensoren ausgestattet. die Fähigkeit der künstlichen Intelligenz bieten. 2. um sie in Zukunft austauschen zu können. wenn man dies möchte. Schnittstellen sind so aufgebaut. Der vierte Entwicklungsgrundsatz ist die offene Architektur. dass eine ergonomische Software vorhanden sein muss. mit der das System beschrieben werden kann. Alle Austauschvorgänge bzw. Beispielsweise hat ein Massenpunkt drei Freiheitsgrade. die für verschiedene Gelenke verwendet werden können. die es so vielen. das Programm und die Programmierfunktionen zu bedienen und zu verstehen. Zudem ist es auch möglich die hardwarenahen Softwareteile zu verändern. Zum Einen bezieht sich das auf die Aktuator-Module. Die Zahl der unabhängigen Freiheitsgrade ist eine Systemeigenschaft. (37) (38) 3. Zum Anderen sind die Gliedmaßen des Roboters Modular aufgebaut. wie möglich. also seine Der Humanoide NAO – Betrachtung eines neuen Robotersystems 39 von 92 | S e i t e . Menschen ermöglicht.3.2 Aktorik des NAO 3. Die Software von NAO hat offene Schnittstellen und kann so in andere Programme integriert werden. Bei einer offenen Architektur muss die Einarbeitung leicht und die Handhabung einfach sein. Das schließt mit ein. Offene Architektur bedeutet dabei auch. dass der Großteil der Software und das Betriebssystem eingeschlossen verändert werden können. auch der Kopf kann getauscht werden. dass ein Austausch ohne großen technischen Aufwand möglich ist.1 Erläuterung des Freiheitsgrad Unter einem Freiheitsgrad eines physikalischen Systems versteht man eine unabhängige Koordinate.Kapitel: Der Humanoide NAO Aktorik des NAO Der modulare Aufbau stellt den dritten Grundsatz dar. die Translationsfreiheitsgrade. Kapitel: Der Humanoide NAO Aktorik des NAO drei Raumkoordinaten. beschrieben durch dessen Drehwinkel (7). ein starrer Körper hingegen sechs.2 Freiheitsgrade des NAO Abbildung 11. Freiheitsgrade des NAO I Der Humanoide NAO – Betrachtung eines neuen Robotersystems 40 von 92 | S e i t e .2. 3.3. drei Translationsfreiheitsgrade und drei Rotationsfreiheitsgrade. also Beinen und Rumpf. Dieser Mechanismus ermöglicht es NAO den Körper nach Vorne zu beugen und gleichzeitig die Beine zu spreizen. Der Aufbau dieses Gelenks wurde zum Patent angemeldet (41). Er ist nützlich. zwei DOF am Ellbogen. Ein spezieller Mechanismus aus zwei verbundenen Gelenken an jeder Hüfte stattet den Rumpf aus. Ein Freiheitsgrad wird auch als „Degree Of Freedom“. D.Kapitel: Der Humanoide NAO Aktorik des NAO Tabelle 3. die Hände können nur Greifen und Der Humanoide NAO – Betrachtung eines neuen Robotersystems 41 von 92 | S e i t e .h. Elf DOF befinden sich in Bein/Beckenbereich. einen am Knie und einen an der Hüfte (siehe auch Tabelle 3). was die Gesamtgeschwindigkeit der Laufbewegung reduziert. Armen und Kopf. Freiheitsgrade des NAO II NAO hat insgesamt 25 Freiheitsgrade (siehe Abbildung 11). kurz DOF bezeichnet. und vierzehn DOF in Torso. Anders als bei Robotern wie Asimo gibt es im Fuß zurzeit kein eigenes Gelenk. (38) (40) Jeder Arm hat zwei DOF an der Schulter.3. Jedes Bein hat zwei Freiheitsgrade zwei am Fußgelenk. um etwas aufzuheben. um sich hinzusetzen oder sich nach unten zu beugen. Durch die Verbindung der beiden Gelenke ist nur ein Motor nötig um verschiedene Freiheitsgrade über ein Getriebe zu erreichen. ein DOF am Handgelenk und ein DOF an den Händen. Tabelle 4. um die Position bzw. Sie werden in der Regel nicht direkt angesprochen sondern sind bereits über die ALModule gekapselt.3. Der Kopf kann um zwei Achsen rotieren. Folgend werden die Sensoren theoretisch beschrieben. Drehung der Motoren bestimmen zu können.Kapitel: Der Humanoide NAO Sensorik des NAO loslassen. Sensorik des NAO Der Humanoide NAO – Betrachtung eines neuen Robotersystems 42 von 92 | S e i t e . 3. Magnetfeldsensoren (MRS) sind dabei in den Aktuatoren untergebracht. Auf die Rolle der ALModule wird Softwarebereich näher eingegangen. Die Auswertung der praktischen Erfahrungen und der Abgleich mit den theoretischen Angaben erfolgt im Laufe der Arbeit.3 Sensorik des NAO Sämtliche Sensoren des NAO sind in der folgenden Tabelle (Tabelle 4) dargestellt. aber keine komplexeren Bewegungen ausführen. Die Halleffekt bzw. Kraftsensorik des NAO Die aktuellen Werte der einzelnen Sensoren können dabei aus ALMemory ausgelesen werden. 3. Die Ausgangswerte enthalten Geschwindigkeit und Ausrichtung des Torsos. der sich auf einer Platine im Brustbereich befindet.1 Kraftsensoren In NAOs Füßen befinden sich jeweils im Zehen und Fersenbereich mechanische Taster. Die Werte der Trägheitssensorik werden durch einen eigenen Prozessor verarbeitet.2 Trägheitssensoren/Ausrichtung Die Trägheitssensorik befindet sich im Brustbereich.3. Abbildung 12.Kapitel: Der Humanoide NAO Sensorik des NAO 3. Die Trägheitseinheit besteht aus Der Humanoide NAO – Betrachtung eines neuen Robotersystems 43 von 92 | S e i t e . Sie können den auf sie ausgeübten Druck in einem Rahmen von 0 bis 25N messen.3.3. wobei es unter 15 cm keine Abstandswerte mehr gibt. Die Berechnung der Lage des NAOs.Kapitel: Der Humanoide NAO Sensorik des NAO einem Gyroskop mit 2 Achsen und drei Beschleunigungsmessern. Der Roboter weiß hier nur. Abbildung 13. relativ zu seiner Umwelt. dass sich ein Objekt vor ihm befindet.3. Die Reichweite beträgt dabei 0cm bis 70 cm. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 44 von 92 | S e i t e . Abbildung 13 zeigt den NAO und ein integriertes Koordinatensystem. die es dem Roboter ermöglichen Abstände zu Objekten in seiner Umgebung zu messen.3. 3. erfolgt hartcodiert auf dem „Controllerboard“ und kann somit nicht direkt beeinflusst werden.3 Ultraschall NAO ist mit vier Ultraschallsensoren ausgestattet. Position des NAO Über das ALInertial Modul können die Daten der Trägheitseinheit aus AlMemory ausgelesen werden. 3. Die Position der Ultraschallsensoren ist Abbildung 14 zu entnehmen. Ultraschallsensorik Zum Abfragen der Daten des Sensors sollten 500 ms als Abfrageintervall als Untergrenze eingehalten werden. Object. dem Abstand von den Rechten Sensoren und die Beschreibung der Erkennung.Kapitel: Der Humanoide NAO Sensorik des NAO Abbildung 14. Abbildung 15 zeigt die Position der Kameras in NAOs Kopf. Dem Abstand von den Linken Sensoren. Der Rückgabewert der Abstandsmessung ist ein Array mit drei Werten. Sie eignet sich besonders um Objekte vor NAOs Füßen zu erkennen. Nothing oder Time-out. d. Eine der Kameras ist nach vorne. eine nach vorne unten ausgerichtet. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 45 von 92 | S e i t e .h. NAO hat zwei integrierte Kameras mit 30 fps und einer Auflösung von 640x480. Kapitel: Der Humanoide NAO Sensorik des NAO Abbildung 15.3. Kamerawinkel NAO besitzt zusätzlich 4 Mikrofone. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 46 von 92 | S e i t e . Sie arbeiten im Bereich zwischen 300 Hz und 8 kHz. Die unten stehende Grafik zeigt die Position der Mikrofone. Dabei können die beiden an den Ohren positionierten Mikrofone dafür verwendet werden Rauschen aus den Signalen die die beiden anderen Mikrofone aufnehmen heraus zurechnen. Mikrofones des NAO Zusätzlich besitzt NAO einen berührungsempfindlichen taktilen Sensor direkt auf dem Kopf. der wie ein Schalter arbeitet.3. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 47 von 92 | S e i t e .Kapitel: Der Humanoide NAO Sensorik des NAO Front microphone Rear microphone Right microphone Abbildung 16. die von der API angesprochen wird. LED Zur Kommunikation mit seiner Umgebung besitzt NAO einen „TextToSpeech Generator“. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 48 von 92 | S e i t e . Das ALAudioPlayer Modul ermöglicht es WAV und MP3 Dateien über die beiden Stereolautsprecher. um über verschiedene Farben und Leuchtintensitäten und durch Geräusche und Sprache kommunizieren zu können.Kapitel: Der Humanoide NAO Akustische und visuelle Interaktionen 3. Der Audioplayer ist dabei eine simpler Wrapper um den in Linux integrierten Audioplayer.3. Die dahinterstehende Architektur. Tabelle 5.4 Akustische und visuelle Interaktionen Tabelle 5. LED listet die vorhandene LEDs auf. von denen sich je einer in einem Ohr befindet abzuspielen. wird in Abbildung 17 dargestellt. Das ALTextToSpeech Modul kann über eine simple API bedient werden. Lautsprecher und LEDs. dabei werden beide Stimmen unterschiedlich gewichtet. Der Mixing Prozess summiert beide stimmen auf. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 49 von 92 | S e i t e . Ergebnis ist eine etwas verfremdete Roboterstimme. Die Sprachgenerierung basiert auf Sprachpaketen (Voices). Das FX Main Voice Modul führt eine Tonlagenverschiebung durch.3. Ein Sprachpaket enthält einzelne Sprachbausteine aus denen letztendlich komplette Worte synthetisiert werden können. Das FX Modul Doubling Voice führt ebenfalls eine andere Tonlagenverschiebung durch.Kapitel: Der Humanoide NAO Akustische und visuelle Interaktionen Abbildung 17. die durch das Standard Soundausgabemodul ALSA über die Lautsprecher ausgegeben wird. TextToSpeech Modul Die Acapela Text-To-Speech Engine transformiert Text in Sprachsignale. Kapitel: Der Humanoide NAO Hardwarekonzept des NAO Das ALSpeechRecognition Modul ermöglicht es dem Roboter Wörter aus Sprachsignalen. die Signale auf seine Wortliste prüfen und bei Erkennung entsprechende Informationen in das ALMemory in der Variablen ALSpeechRecognitionRecognizedWords speichern. sowie weitere komplexere Funktionen. Der Roboter wird dann beim auffangen der Sprachsignale. Die Struktur des Rückgabewerts besteht aus dem erkannten Wort und einem FloatWert. der 460kbit/s Bandbreite bietet. Die zu erkennenden Worte sind dabei in englischer oder französischer Sprache zu halten und können dem ALSpeechRecognition Modul als Parameter übergeben werden. die er über seine Mikrofone aufnimmt zu erkennen. Zusätzliche 1 GB Flash Memory sind integriert. Die Ohrmikrofone können verwendet werden. der sich im Torso befindet. Der AMR7 und die Mikrokontroller und Sensoren in den Gelenken sind mit einem RS485-Bus verbunden. Video und WLAN.3. Abbildung 18 illustriert die Controller und Busverbindungen.11g Standard möglich. Die Kommunikation mit dem Roboter ist über den WLAN mit dem 802. verteilt die Informationen zu allen Aktuator-Modul Mikrokontrollern (Microchip 16 bit dsPICS). Die CPU verwaltet Audio. Ein ARM7-60MHz Mikrokontroller. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 50 von 92 | S e i t e .5 Hardwarekonzept des NAO NAOs Kopf ist mit einem AMD GEODE 500MHz x86 Prozessor mit 256MB SDRAM ausgestattet. 3. um eine Rauschunterdrückung zu implementieren. da NAO für die Spracherkennung nur das Frontmikrofon verwendet. der die Erkennungssicherheit angibt. Das Betriebssystem ist Linux basiert.Kapitel: Der Humanoide NAO Hardwarekonzept des NAO Abbildung 18. kann aber vollständig modifiziert werden.a. Der AMR7 ist über USB mit der CPU verbunden und hat somit einen maximalen Durchsatz von 11Mbit/s. Hardwareconnection Es gibt zwei RS485 Busse. verwendet um die Stabilität des Roboters über die Trägheitseinheit zu steuern. wenn der Anwender das wünscht.3. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 51 von 92 | S e i t e . Er wird u. einen der den ARM7 Mikrokontroller mit den Kontrollern im oberen und einen der ihn mit den dsPICs Modulen im unteren Bereich des NAOs verbindet. da nicht alle Module an einem Bus hängen. Dieser Bus-Aufbau erhöht den Durchsatz. Alle Sensoren und Aktuatoren werden jede Millisekunde (ms) aktualisiert. Dabei werden sowohl parallele als auch sequentielle Der Humanoide NAO – Betrachtung eines neuen Robotersystems 52 von 92 | S e i t e . läuft. d. Reaktion auf Signale über die Software kann alle 10ms erfolgen.3. Der Entscheidungskreislauf der höheren Ebenen. Die Motoren sind mit MRE-Sensoren ausgestattet. seine Rotationsbewegung genau bestimmen zu können. Die Daten dieser Sensoren können verwendet werden. Die Architektur ist grundsätzlich ereignisgesteuert. Ein weiterer dsPIC steuert den Infrarot Sender und Empfänger sowie die LEDs an. d. um die Ausrichtung des Torsos zu bestimmen und die Stabilität des Roboters zu gewährleisten und stellen die Trägheitseinheit dar. um die Position des Motors bzw.h. (38) (40) 3. die NaoQi genannt wird.h. ist einzig für die Signalverarbeitung von zwei Gyroskopen und drei Beschleunigungssensoren verantwortlich. das ebenfalls patentiert ist und auf einer verteilten Architektur basiert. Ein dsPIC. Alle 20ms werden die Sensordaten im Speicher aktualisiert.6 Softwarekonzept des NAO NAOs Betriebssystem ist ein angepasstes GNU/Linux auf dem Aldebaran Robotics Steuerungssoftware für NAO. Diese kann über den I2C Bus angesteuert werden.Kapitel: Der Humanoide NAO Softwarekonzept des NAO Die 16Bit-dsPICs Mikrokontroller steuern die Aktuatoren. NaoQi ist ein Software Framework. Der Kopf des NAOs beinhaltet eine CMOS-Videokamera mit 30 FPS Kamera und 640x480 Auflösung. der mit dem AMR7 über einen I2C Bus verbunden ist. eine Signalabfrage an Sensoren und Aktuatoren erfolgt jede Millisekunde. Sie ist modulare aufgebaut und kann rein lokal auf NAO oder als verteiltes System betrieben werden. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 53 von 92 | S e i t e . grafisch Choreograph.B.3. Kapseln der Kommunikation. dass der Nutzer Verhaltensweisen lokal z. Die Funktionalitäten von NaoQi sind im Überblick: Programmierung in verschiedenen Sprachen: C++. C# Nutzer können einen realen Roboter steuern oder eine Simulation ablaufen lassen Methoden können parallel. als Simulation auf dem Rechner oder remote. sequentiell oder ereignisgesteuert System Calls auslösen. Windows Vista. Shared memory management. z.Kapitel: Der Humanoide NAO Softwarekonzept des NAO Aufrufmethoden unterstützt. Java. Write und Subscription-Prozeduren für den internen Speicher sind verfügbar und threadsafe. Read. Programmierung am Rechner direkt auf dem NAO Roboter ausführen. ohne über Konzepte wie SOAP oder CORBA für verteilte Systeme Bescheid zu wissen. ablaufen lassen kann. Multi-platform framework das Linux. Python.B. Windows XP. Die Vorteile eines verteilten Systems ergeben sich daraus. Specific linux OS on Geode. and Mac OS X unterstützt. Mathlab. Nutzer können Methoden oder Prozesse zur Ausführung auswählen. 3.Kapitel: Der Humanoide NAO Softwarekonzept des NAO Abbildung 19: Verteiltes Softwarekonzept der NaoQi Der Humanoide NAO – Betrachtung eines neuen Robotersystems 54 von 92 | S e i t e . Ein Modul muss zwingend mit einem Broker verbunden werden. d. wenn Module auf unterschiedlichen Rechnern im verteilten System arbeiten. So kann man eigene Module zum Beispiel zur Verarbeitung der Bilddaten erstellen. Bevor die Beschreibung der Darstellung im Detail erfolgen kann. wenn das Modul von anderen Modulen erreichbar sein soll. Die vier wichtigsten Objekte in der NaoQi Architektur sind: Broker: Broker machen Module für den Rest der Architektur verfügbar. Die Broker übernehmen dabei die Netzwerkkommunikation.h. um das Modul im Netzwerk verfügbar zu machen. einen Verzeichnisdienst in dem alle Broker im System. stellen die Broker die Verbindung her. Des Weiteren können auch Module vom Nutzer selbst in verschiedenen Programmiersprachen programmiert werden. die in der Darstellung erwähnt werden. ohne dass der Modulprogrammierer sich darüber Gedanken machen muss. Netzwerk verfügbar zu Der Humanoide NAO – Betrachtung eines neuen Robotersystems 55 von 92 | S e i t e . Um eine selbstgeschriebene Methode im Verbund bzw. BIND Method: In der NaoQi gibt es einen Prozessbaum. alle freigegebenen Module und Methoden verzeichnet sind. muss man ein Modul mit einem Broker verbinden. wie das passiert. Um die Module in die NaoQi einzubinden. ist es wichtig zuerst über die wichtigsten Begriffe und Komponenten Bescheid zu wissen.Kapitel: Der Humanoide NAO Softwarekonzept des NAO Abbildung 19 zeigt den Aufbau der verteilten Systemarchitektur der NaoQi. z. Bewegungsabläufe oder Spracherkennung.B. Module: Module sind vorgefertigte Bausteine.3. Remote Function Call (RFC) aufgerufen werden. indem er den gewünschten Modulnamen spezifiziert. Bei Aufruf einer Methode parst der Proxy den hierarchischen Broker bzw. An der Spitze steht der MainBroker. dann wählt es den optimalen bzw. Dann verbindet er sein Modul mit der Broker-Instanz. RFC ist also eine Aldebaran eigene Bezeichnung und korrespondiert nicht mit dem System RFC. welche sich im NaoQi Basisverzeichnis (AL-dir/bin) Der Humanoide NAO – Betrachtung eines neuen Robotersystems 56 von 92 | S e i t e . Prozessbaum um die Lokation des Modules im Netzwerk zu finden der die bestimmte Methode enthält. dass die Kommunikation über CORBA abgewickelt wird.Kapitel: Der Humanoide NAO Softwarekonzept des NAO machen muss man sie über die BIND Methode in diesem Verzeichnis veröffentlichen. aber auch irgendwo im Netzwerk des Systems liegen kann. Proxy: Das Proxy Objekt ermöglicht es in einem Modul. Die entfernten Methoden können dabei auf dem gleichen Rechner als Local Function Call (LCF) oder auf einem anderen System. Das Modul wird dann automatisch seine Methoden propagieren. wo sich das Modul befindet oder in welcher Programmiersprache es geschrieben ist.3. Die Broker sind hierarchisch aufgebaut. Der Mainbroker ist die NaoQi. Beim erstellen eines Moduls instanziiert der Nutzer einen Broker. so dass sie gefunden werden können. Kann der User die Methoden des Moduls aufrufen ohne sich Gedanken darüber zu machen. Sobald der Proxy bereit ist.. Methoden eines anderen Moduls aufzurufen. Der Proxy arbeitet dabei als Stellvertreterobjekt. Zu jeder Zeit kann der Nutzer einen Proxy instanziieren. Es ist zu beachten. besten Weg mit dem Modul zu kommunizieren. das irgendwo auf dem gleichen Rechner. M. Module.Kapitel: Der Humanoide NAO Softwarekonzept des NAO befindet. Das gesamte Speichersystem ist dabei thread-safe ausgelegt. Die D. mit Ausnahme von Sound und Kamerasystem.und intra-Prozess-Memorysharing. stürzt auch NAO. können Kommandos direkt an die Aktuatoren schicken. Sensoren können direkt in ALMemory schreiben. Folgend eine kurze Beschreibung elementarer Module: Drei Module bilden den Kern des NaoQi. Der Mainbroker läuft üblicherweise auf NAO. Der Device Control Manager D. der dem Nutzermodul zugeordnet ist. die für die Stabilität von NAO verantwortlich sind. Das ALPreferences Modul verwaltet alle Einstellungen und initialisiert XML Dateien. ALLogger.C.M. In ihm laufen die Module. Jedes Modul kann ALPreferences verwenden. Es steuert die elektronischen Komponenten des NAOs. Im Falle von Aktuatoren. DCM kann als Vermittlerschicht zwischen den höheren Modulen und der Software. Der Mainbroker nimmt eine Sonderrolle ein. Variablen zu ALMemory hinzufügen. wie Bewegung (ALMotion) und LED (AlLeds). ALMemory aktiviert inter. die auf den elektronischen Platinen hartverdrahtet ist.C. Aldebaran Module und Nutzer-Module können Variablen von ALMemory lesen bzw. müssen Module zeitlich definierte Update-Requests an die D. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 57 von 92 | S e i t e . ALLogger ist für das Logging aller Systemvorgänge zuständig.C. und NAO kann noch arbeiten. Stürzt das Modul ab stürzt auch nur der Nutzerbroker ab. Sie werden automatisch beim booten geladen. und ALPreferences. physisch. Dies ist eine Sicherheitsmaßnahme. zu schreiben.M. ALMemory. oder sie im ALMemory zu speichern. Um dies zu vermeiden wird für Nutzerprogramme ein eigener Broker erstellt. Stürzt der Broker ab.3. angesehen werden. um Attribute zu lesen. Ausgeführte Userprogramme erhalten immer einen eigenen Broker. ist NAOs Echtzeit Modul und Teil des NaoQi Systems. U. ein leicht verändertes Signal nötig macht. Durch das sammeln der Kommandos im D.C. wann dies gesendet werden soll. zeitlich definierbarer Kommandofluss an die Aktuatoren sichergestellt ist. Ein Update-Request bzw.C.Kapitel: Der Humanoide NAO Softwarekonzept des NAO schicken. automatische Halten des Gleichgewichts. Das Bewegungsmodul ALMotion bietet folgende Funktionen: Steuerung des Kinematischen Models. D. das immer ein kontinuierlicher.M analysiert dabei die folgenden und vorhergegangen Kommandos und ermittelt über lineare Interpolation das jeweils aktuell zu sendende Kommando. d. Der Zeitwert ist ein absoluter Wert in ms basierend auf der Systemzeit. von Gelenken Winkeln und den Händen Steuerung des Centers of Gravity. „Timed-Command“ ist eine Anordnung aus Gleitkommazahl. Durch diese Zwischenspeicherung werden auch Netzwerkverzögerungen ausgeglichen. da die Zeitverzögerung (20 ms Rhythmus) u.h.M wird sichergestellt. Eigenstabilität des Roboters. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 58 von 92 | S e i t e . die zum Aktuator gesendet werden soll und einem absoluten Zeitwert.3. Steuerung und Erstellung von Bewegungsmustern Steuerung von Hardwareparametern wie Steifheit. Die Synchronisation der verschiedenen Module wird so erleichtert. Der DCM speichert alle „Time-Commands“ für alle Aktuatoren und sendet diese im 20ms Rhythmus an die Aktuatoren. die Position relativ zum stützenden Fuß. Die Fähigkeiten des Choreographs werden im 5. Überblick der Entwicklungsumgebungen 4. Für die aktuelle Version des Robotics Studio. die mit NAO ausgeliefert wird.4.und Programmierumgebung.2 Choreograph Aldebaran Choreograph ist eine von Aldebaran entwickelte Simulations. Sie bietet sowohl abstrakte grafische Programmiermöglichkeiten als auch Programmiermöglichkeiten mit Python. Kapitel ausführlich beleuchtet. existiert kein Simulationsmodul. da die Vorteile der Simulation nicht genutzt werden können. MS Robotics Studio 2008. Der Einsatz des Robotics Studio zum aktuellen Zeitpunkt macht somit wenig Sinn. Es soll im ersten Quartal 2010 veröffentlicht werden.5. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 59 von 92 | S e i t e .1 Microsoft Robotic Studio Seitens Aldebaran existiert ein Simulationsmodul für das veraltetet und zur Zeit der Erstellung dieser Studienarbeit nicht mehr im Handel verfügbaren MS Robotic Studio Version 1. 4. die für reine Programmieraufgaben optimiert sind.Kapitel: Überblick der Entwicklungsumgebungen Microsoft Robotic Studio 4. Die reine Programmierung kann auch gut mit anderen IDEs wie Eclipse oder Visual Studio durchgeführt werden. 4. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 60 von 92 | S e i t e .Kapitel: Überblick der Entwicklungsumgebungen Urbi 4. NAO kann über den Choreograph auch in Urbi programmiert werden. Da die Sprache sich noch in der Entwicklung befindet und auch die Entwicklungsumgebung derzeit noch nicht verfügbar ist. Zudem ist es schwierig externe Bibliotheken. werden wir die Möglichkeit der Programmierung eigener Module für NAO mittels Microsoft Visual Studio 2008 testen. die beispielsweise in C++ vorliegen in Urbi zu integrieren. 4. beispielsweise auch im Bildverarbeitungsbereich gibt.4 Microsoft Visual Studio Microsoft Visual Studio ist eine Entwicklungsumgebung für C++. Zudem bietet Gostai eine eigene Entwicklungsumgebung zur Programmierung in Urbi an.Net.3 Urbi Die französische Firma Gostai hat die Sprache Urbi speziell zur Programmierung von Robotern entwickelt. (41) Da es in diesem Bereich sehr viele hilfreiche Bibliotheken und Frameworks.NET Bereich. da die meisten Bibliotheken keine Schnittstellen zu Urbi haben. Die neueste Version der NaoQi erlaubt neben der Programmierung in C++ auch die Programmierung in C# und . Visual Basic und C# im . werden wir vorerst davon absehen diese Entwicklungsumgebung zu testen. 1 Grundkonzept Aldebaran Choreograph ist eine plattformübergreifende Anwendungsumgebung mit der Bewegungen und Verhalten für den NAO erstellt und gesteuert werden können. Bewegungen können so direkt durch den verbundenen NAO ausgeführt werden. Dabei unterscheidet man zwischen den folgenden Fenstern: 1. Die Anwendung stellt eine Verbindung über LAN oder WLAN mit dem NAO auf.5. Im Gegensatz dazu kann der Ereignismanager zur Planung und Auslösen von Verhalten genutzt werden. Unter Verhalten versteht man eine Reihe von elementaren Handlungen.Kapitel: Aldebaran Choreograph Grundkonzept 5. Allerdings soll gleich zum Anfang erwähnt sein das er noch nicht ausgereift ist und noch einigen Verbesserungen unterzogen werden muss (dazu später). Aldebaran Choreograph 5. 5. In Abbildung 20 sieht man einen Überblick über die IDE des Choreographen.2 Funktionsweise Der Choreograph vereinigt viele Funktionalitäten in einer IDE kompakt. deren Abfolge durch Ereignis. um Bewegungen und Multimedia Elemente zu erstellen. Die Zeitachse ist gut geeignet. Standardmenü Der Humanoide NAO – Betrachtung eines neuen Robotersystems 61 von 92 | S e i t e .oder Zeit-basierte Zuständen bestimmt wird. Choreograph vereint diese beiden Konzepte. 5. Fenster des Choreographen Der Humanoide NAO – Betrachtung eines neuen Robotersystems 62 von 92 | S e i t e . Bewegung und Motorenwinkel 4. Simulation des NAOs 7. Box-Bibliothek 5. Symbolleiste 3.Kapitel: Aldebaran Choreograph Funktionsweise 2. Fließdiagramm (Programmfenster) 6. Liste vordefinierter Positionen 1 2 3 5 6 7 4 Abbildung 20. Zeitleiste mit Verhalten. v. Es ist weiterhin möglich nach der grafischen Erstellung der Bewegung den Quellcode. der im Hintergrund erzeugt wurde. Bewegungsabläufe und Motorenwinkel zuzuschreiben. sowie die Angabe des Winkelverlaufes der Motoren. wie Programmstart und –stop sowie Anzeige der Warnungen u. Abbildung 21.5. In der Zeitleiste hat man die Möglichkeit einem Verhalten.m. Hierbei bedeutet jeder viereckige Punkt (unteres Diagramm) eine Winkelangabe (in Bogenmaß) des jeweiligen Gelenkes (Legende links). Es ist dabei die zeitliche Angabe des Bewegungsablaufs möglich. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 63 von 92 | S e i t e . mittels des Kontextmenüs heraus zu extrahieren (Abbildung 22).Kapitel: Aldebaran Choreograph Funktionsweise Die Symbolleiste vereinfacht die Navigation und beinhaltet die gebräuchlichsten Funktionalitäten des Standardmenüs. Zeitleiste eines Bewegungsablaufes Die Abbildung 21 zeigt den modifizierten Bewegungsablauf des „DanceMovement“. 5. die nicht immer sofort auf einen Syntaxfehler hinweisen. die Verwendung von vielfältigen Bibliotheken zur digitalen Bildverarbeitung und das Entwickeln einer überschaubaren Softwarearchitektur. bietet der Choreograph die Möglichkeit über das Standard. Ein weiterer und weitaus Schwerwiegender Punkt ist das sogenannte Debuggen. fällt diese Funktionalität jedoch weg und die einzige Möglichkeit zu Debuggen sind die logging und tracing Nachrichten auf dem NAO die mittels Browser aufgerufen werden können. da trotz der viele Funktionalitäten. zu einer anderen IDE gewechselt werden. Wenn das Programm sofort auf den NAO gestartet wird.oder Symbolmenü ein Verbindungsfenster aufzurufen Der Humanoide NAO – Betrachtung eines neuen Robotersystems 64 von 92 | S e i t e .Kapitel: Aldebaran Choreograph Funktionsweise Abbildung 22. jedoch ist dies zum Einen nur für lokale Ausführung gedacht und zum Anderen ist die Ausgabe der Fehler eher mit kryptische Meldungen zu vergleichen. Die Gründe dieser Entscheidung sind die problematische Umsetzung von komplexeren Programmen. die der Choreograph bietet. Der Choreograph bietet zwar die debugging Möglichkeit an. Extraktion des erzeugten Quellcodes Diese Funktion ist sehr praktisch für das weitere Vorgehen. Um nun mit einem NAO zu verbinden. Dies ist sehr praktisch. Verbindungsmenü Eine weitere Möglichkeit. In dem Verbindungsmenü kann man auf alle. die angeboten wird.Kapitel: Aldebaran Choreograph Funktionsweise (Abbildung 23). ist das manuelle Einstellen der Position des NAO (Abbildung 24). Der Humanoide NAO – Betrachtung eines neuen Robotersystems 65 von 92 | S e i t e . mit dem Netzwerk verbundenen.5. Abbildung 23. Es ist jedoch nur immer möglich mit einem NAO per Computer verbunden zu sein (außer bei Änderung des Standardports). NAOs zugreifen. um Positionen auszutesten und Werte dafür zu ermitteln und um die gewählte Position in eine andere Programmiersprache zu transferieren. Kapitel: Aldebaran Choreograph Funktionsweise Abbildung 24. Manuelle Verstellung des Kopfgelenkes Der Humanoide NAO – Betrachtung eines neuen Robotersystems 66 von 92 | S e i t e .5. Erste Erfahrungen mit NAO 6. dass Dynamik eine Untergeordnete Rolle in der Entwicklung von Der Humanoide NAO – Betrachtung eines neuen Robotersystems 67 von 92 | S e i t e . Die Geschwindigkeit der Bewegungsabläufe ist mit maximal 0. Im Allgemeinen ist die Präzision der Bewegungen für die Tests im Rahmen dieser Arbeit ausreichend gewesen. Zudem können die Bewegungen und Radien. besitzt jedes Gelenk mehrere Freiheitsgrade. Die Wackelbewegungen wirken sich auch negativ auf die Bilderkennung aus.1 Motorische Fähigkeiten NAO weißt sehr umfangreiche Bewegungsmöglichkeiten auf. Der Roboterkörper stabilisiert sich zwar wieder sobald die Endposition erreicht ist. da durch da sich durch das Wackeln das Gesichtsfelds NAOs ständig verändert und man softwareseitig diese Bewegungen in Betracht ziehen muss.6 km/h sehr gering. Während NAO die Bewegung ausführt kommt es oft zu starken Wackelbewegungen des Torsos. somit also nur als Greifer zu verwenden sind.6. Die Beweglichkeit NAOs ist somit als gut zu bewerten. Im Rahmen der Arbeit und Aufgabenstellungen wie Elfmeterschießen bedeutet dies. Bis auf die Hände welche sich nur öffnen und schließen können. So lässt sich der Kopf in einem Radius von 240 Grad drehen. Bewegungen der Arme und des Torsos lassen sich schneller ausführen. die einzelnen Gelenke dabei abdecken übersteigen die Dehnfähigkeit des Menschen oft bei Weitem. des ganzen Roboters. Laufbewegungen mittels der Integrierten ZMP-Methode verlaufen allerdings wie in Zeitlupe. bzw. um die die Gelenke weiterbewegt werden sollen sehr genau angegeben werden. allerdings ist die Bewegung während ihres Ablaufs durch die Schwankungen nicht präzise. Die Radien die.Kapitel: Erste Erfahrungen mit NAO Motorische Fähigkeiten 6. 2 Bumper NAOs Sensoren an den Füßen sind Kraftmesser.2. Es gibt eine Variable mit welcher man den Nutzungstyp der Bumper angeben kann. Wenn NAO einen Ball erreicht ist dieser höchstwahrscheinlich schon ausgerollt und man findet eine statische Situation vor. Middle und Rear.Kapitel: Erste Erfahrungen mit NAO Test der Sensoren Programmen spielt.2 Test der Sensoren 6. Jeweils zwei Sensoren an den beiden Füßen können getrennt ausgelesen werden. Die Bumper können aber auch in reiner Schalterfunktion verwendet werden.1 Taktiler Sensor Der taktile Sensor am Kopf des NAOs ist in drei Bereiche unterteilt: Front. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 68 von 92 | S e i t e . Die zurückgegebenen Werte sind 0 und 1.6. der um den Taktilen Sensor angebrachten LEDs. die zwischen 0 und 25N messen können.2. die einzeln ausgelesen werden können. Der Modus „Switch“ aktiviert beispielsweise die Schalterfunktion Werte die zurückgegeben werden sind 0 oder 1 (betätig und nicht betätigt). Jeder der drei Bereiche verfügt über eine Schalterfunktion. 6. 6. für nicht betätigt und betätigt. Die Werte der Schalter können über ALMemory ausgelesen werden. Bei Druck des Schalters reagiert NAO automatisch mit einer Erhöhung der Intensität. so kann man über einen Parameter mitgeben bis zu welchem Abstand Gegenstände erkannt werden sollen. kann NAO erkennen. Mehr als ein Meter Erkennungsabstand ist dabei nicht zielführend.Kapitel: Erste Erfahrungen mit NAO Test der Sensoren 6. Da der Sensor die Werte der den rechten und linken Abstandswert vergleicht und bei Übereinstimmung entscheidet.6. Das Erkennungsverhalten lässt sich optimieren. Abbildung 25 verdeutlicht in welchem Bereich der Ultraschallsensor Gegenstände erkennen kann. NAO kann Objekte ab einer Oberfläche von ca. dass sich ein Objekt im Erkennungsbereich befindet werden. eine differenzierte Auswertung ist bei einem größeren Erkennungsradius nicht mehr möglich. indem man nicht die vorgefertigte Sensorauswertung verwendet. jedoch sind keine Abstandsangaben mehr möglich. Unebene Objekte sind schwer zu identifizieren. sondern auf die rohen Messdaten zurückgreift und eigene Algorithmen zur Auswertung verwendet. wie beispielsweise Wände zuverlässig erkannt. da sonst zu viele Objekte in der Umgebung auf das Messergebnis Einfluss nehmen. Der zurückgelieferte Wert ist entsprechend ein rechter und ein linker Abstandswert in Metern. 5x2 cm erkennen. Objekte die Näher als 15 cm am Körper sind. Des Weiteren werden alle Werte im Bogenmaß angegeben.3 Ultraschall Der Ultraschallsensor besteht aus jeweils zwei Sensoren auf der linken und der rechten Seite von NAOs Brust. werden nur flache Objekte.2. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 69 von 92 | S e i t e . Lediglich die Gegenwart eines Objekts wird erkannt. Verwendet man den Sensor. Die Begrenzung ergibt sich aus der Tatsache. dass der Gesichtserkennungsalgorithmus bei einem Abstand größer als einem Meter keine Erkennungswerte mehr zurückliefert. dass im Ausleuchtungsbereich der Kamera nicht mehr als drei Gesichter Platz finden. Als Rückgabewerte bei Erkennung eines Gesichts erhält man ein Array mit Werten. Die genaue Interpretation der zurückgegebenen Werte wird im folgenden Abschnitt näher behandelt.180° horizontal Im Rahmen der Messgenauigkeit vertikal Abbildung 25. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 70 von 92 | S e i t e .180° β + 180° β = 45° 0° α = 45° 0° α + 180° β . wenn der Abstand von NAO auf einen Meter begrenzt wird.Kapitel: Erste Erfahrungen mit NAO Test der Sensoren α . Winkelausmaß der Ultraschalsensoren 6. Die obere Grenze wird dadurch bestimmt. vergleichbar der NAO-Mark-Erkennung.6.4 Face Detection NAOs Gesichtserkennung arbeitet zuverlässig.2. Der Roboter kann zwischen einem und drei Gesichter gleichzeitig erkennen. Es vergehen zwischen fünf und sieben Sekunden bis NAO die Rückmeldung gibt. Auch unter optimalen Bedingungen ist die Spracherkennung relativ träge. Bis zu einem Abstand von 2.15m.Kapitel: Erste Erfahrungen mit NAO Test der Sensoren 6.2. Im Test konnten bis zu sechs NAO-Marks synchron erkannt werden. Die Voice Recognition funktioniert nur bei sehr deutlicher Aussprache und wenig Umgebungsgeräuschen. die Detektion erfolgte in den Tests zuverlässig auch unter schwierigeren Lichtbedingungen. Im Choreograph nutzt das Modul „Choise“ die Voice Recognition. Der Minimale Detektionsabstand beträgt ca. Diese Funktion ist bereits im Auslieferungszustand vorhanden. 6. 25cm.2. Mehr NAO-Marks konnten nicht gleichzeitig im Kamerafeld platziert werden. ob er ein Wort erkannt hat oder nicht.8m ist die Detektion sinnvoll einsetzbar. d. um die Position der NAO-Mark relativ zur Blickrichtung des Roboters zu bestimmen. Begrenzt wird die Anzahl erkennbarer NAO-Marks rein durch den Erfassungswinkel der Kamera. so dass sie ohne weitere Einstellungen genutzt werden kann. NAO kann dabei mehrere NAO-Marks gleichzeitig erkennen. Die zurückgelieferten Werte sind wie folgt strukturiert: Der Humanoide NAO – Betrachtung eines neuen Robotersystems 71 von 92 | S e i t e .6 NAO Mark Detection Die Erkennung der NAO-Marks erfolgt sehr überzeugend. Die zurückgelieferten Werte können verwendet werden.h.5 Voice Recognition Mit seinen vier Mikrophonen und einem integrierten Spracherkennungsmodul kann NAO sowohl englische als auch französische Wörter erkennen. Die Reaktionszeit könnte man möglicherweise optimieren indem man das Erkennungsmodul auf einem leistungsfähigen Rechner ausführt und nur die Ergebnisse an NAO übermittelt. NAO erkennt eine NAOMark bis zu einem Abstand von maximal 3.6. 3 (links). „SizeX“ und „SizeY“ sind die Größe der NAO-Mark. beta. „MarkID“ ist eine Interger-Zahl. Zur Interpretation der Werte ist es wichtig. dass der Mittelpunkt des Blickfeldes als Nullpunkt definiert ist und als Ausganspunkt eins Koordinatenkreuzes betrachtet werden kann.. Die Werte sind Winkelangaben im Bogenmaß. „Alpha“ und „beta“ beschreiben die Position der NAO-Mark in Kamerawinkeln.Kapitel: Erste Erfahrungen mit NAO Test der Sensoren [ [timestamp_seconds. [mark_info_0. Über die MarkIDs können die unterschiedlichen Muster identifiziert werden. das eine Zahl repräsentiert. ebenfalls in Kamera Winkeln. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 72 von 92 | S e i t e . sizeY. [markID] ]. Der Winkel Beta beschreibt die Position der NAO-Mark in der vertikalen Achse. . timestamp_microseconds].3 (rechts) bis + 0. Der Erkennungsbereich wird in Abbildung 26 nochmals illustriert. heading]. mark_info_1. sizeX. Der Wertebereich von Alpha reicht von -0. mark_info_N] ] Je nach Anzahl erkannter NAO-Marks gibt es eine unterschiedliche Anzahl an „mark_Info“ Tags.6.1) unten. alpha.25 (oben) bis (0. Jede NAO-Mark ist ein spezielles Muster. Die Struktur der Tags lautet: [ [shape. Der Wertebereich von Beta reicht von -0. der Winkel Alpha die Position in der horizontalen Achse. . 6. which. Auf NAO läuft per Standard ein FTP-Server. Die Handhabung der Unix Umgebung kann den gängigen Standardwerken entnommen werden (42).92° βmin = 54° 0° α + 180° β . über ihn können Dateien z.Kapitel: Erste Erfahrungen mit NAO Konsolenzugriff α . Mit „su root“ kommt man in den root-Nutzer und kann Benutzerpasswörter setzen und neue Nutzer anlegen. NAOs Bedienoberfläche ist ein Standard GNU/Linux.B. selbst erstellte Libraries auf NAO übertragen werden.3 Konsolenzugriff Zugriff auf NAO ist per SSH über einen entsprechenden Client möglich.44° 0° βmax = 59. Winkel der Stirnkamera 6. ls usw. Bei initialer Anmeldung ist der User „nao“ mit dem Passwort „nao“ vorkonfiguriert. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 73 von 92 | S e i t e .180° β + 180° αmin = 40° αmax = 19. wie cd.180° vertikal horizontal Im Rahmen der Messgenauigkeit Abbildung 26. mit sämtlichen gängigen Unix Befehlen. In der aktuellen Version der NaoQi ist die Python Image Library (PIL) integriert.6.4 Bildverarbeitung NAOs Möglichkeiten der Bildverarbeitung beschränken sich auf die von Aldebaran zur Verfügung gestellten Module FaceDetection und LandmarkDetection. Aldebarans Modul ALVision ermöglicht es auf die Bilder der Kamera zuzugreifen und die Kameraeigenschaften.B. Die Module liegen als kompilierte dll-Dateien vor und können nicht abgeändert werden. Sie ermöglicht es Der Humanoide NAO – Betrachtung eines neuen Robotersystems 74 von 92 | S e i t e . Objekt und Mustererkennung zum Erkennen und Verfolgen eines Balles müssen selbst implementiert werden. Deshalb: Selber schreiben oder Libraries.Kapitel: Erste Erfahrungen mit NAO Bildverarbeitung Abbildung 27. Zugriff über Konsole 6. z. Es besteht also die Möglichkeit das Rohbildmaterial auszulesen. wie Helligkeit und Auflösung einzustellen. Operationen auf diesem Bildmaterial. Für die komplexe Bildverarbeitung.Kapitel: Erste Erfahrungen mit NAO Bildverarbeitung Basisoperationen zur Bildtransformation. Die OpenCV ist zur Programmierung in C++ entwickelt worden bringt aber ein Python Interface mit. Es ist deshalb sinnvoll ein für die Bildverarbeitung eigene Module zu entwickeln.6. Komplexere Funktionen wie Bildoperationen sind nicht möglich. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 75 von 92 | S e i t e . Musterkennung und Bewegungsverfolgung implementieren. bereits auf NAO auszuführen. die auf einem Leistungsstarken Rechner laufen. werden auf der NaoQi des Roboters ausgeführt. Die Einbindung der Bibliothek in die Programmierung ist möglich aber nicht sinnvoll. Im Abschnitt 6. Die Funktionen der Python Image Library können im Choreograph verwendet werden. Programme die im Choreograph programmiert und gestartet werden. wie Helligkeitsveränderung oder Konvertieren in schwarz/weiß.6 wird beschrieben wie eigene Module erstellt werden können. die komplexe Bildoperatoren. Mit einer 500Mhz CPU und 128Mb Arbeitsspeicher ist die Roboterplattform nicht geeignet um die komplexen Bildoperationen zusätzlich zu den Bewegungsaufgaben zu erfüllen. wie sie zum realisieren von Funktionen wie Fußballspielen notwendig sind existieren bereits Bibliotheken. Darüber hinaus ermöglicht sie den Zugriff auf einzelne Pixel im Quellbild. die unter anderem von verschiedenen Universitäten gepflegt wird und auch im Robocup häufig zum Einsatz kommt. Eine der am weitesten entwickelten frei zugänglichen Bibliotheken ist die OpenCV. 6.Kapitel: Erste Erfahrungen mit NAO Programmierbeispiele 6.5 Programmierbeispiele In diesem Abschnitt werden Aufgaben vorgestellt, die der NAO lösen musste. Dazu werden zu jedem Bereich Programmauszüge vorgestellt. 6.5.1 NAO-Mark Erkennung Bevor es mit variablen Objekten und der Bildverarbeitung, der Umgebung, beginnt, werden hier Beispiele zur Erkennung von Logos, den sogenannten NAOMarks, und Gesichtern, gegeben. Die Erkennung dieser erfolgt mittels einer der beiden Kameras. 1 class MyClass(GeneratedClass): 2 def __init__(self): 3 GeneratedClass.__init__(self) 4 self.ALMarkDetection = ALProxy("ALLandMarkDetection") 5 self.ALLeds = ALProxy("ALLeds") 6 self.started = False 7 self.period = 600 8 self.precision = 1.0 9 self.strALMemoryVal = 10 "extractors/allandmarkdetection/landmarkdetected" 11 self.bInDatachanged = False; 12 13 def onUnload(self): 14 if(self.started == True): 15 self.started = False 16 self.ALMarkDetection.unsubscribe(self.getName()) 17 self.ALLeds.on( "AllLedsGreen" ); 18 19 def onInput_onStart(self): 20 self.gotoAndStop(1) 21 if(self.started == False): 22 self.started = True 23 self.ALMarkDetection.subscribe(self.getName(), 24 self.period,self.precision) 25 self.ALLeds.on( "AllLedsBlue" ); 26 27 def onInput_onStop(self): 28 self.onUnload() 29 self.onStopped() Programm 1. NAO-Mark Initialisierungsklasse Der Humanoide NAO – Betrachtung eines neuen Robotersystems 76 von 92 | S e i t e 6.Kapitel: Erste Erfahrungen mit NAO Programmierbeispiele 6.5.2 NAO-Mark und Gesichtsverfolgung Die Erkennung von NAO-Marks und Gesichtern, und deren Verfolgung verläuft nach dem gleichen Schema. Aus diesem Grund wird in diesem Abschnitt es Anhand der NAO-Marks nachvollzogen. Abbildung 28 zeigt das Grundgerüst des Programmes im Choregraphe. Dabei stellt die erste Box im oberen Verlauf das Programm 2 dar und die zweite, darauf folgende, Box das Programm 3 dar. Die anderen Boxen sollen in diesem Beispiel nicht weiter betrachtet werden. Abbildung 28. Struktur des Programmes Programm 2 filtert dabei alle wichtigen Daten der NAO-Mark heraus. Dies geschieht auf ähnlicher Weise wie in Abschnitt 6.5.1. Deswegen möchte ich nicht weiter darauf eingehen. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 77 von 92 | S e i t e 6.Kapitel: Erste Erfahrungen mit NAO Programmierbeispiele 1 class MyClass(GeneratedClass): 2 def __init__(self): 3 GeneratedClass.__init__(self) 4 5 def onUnload(self): 6 #puts code for box cleanup here 7 pass 8 9 def onInput_onStart(self, p): 10 markIDs = [] 11 shapeInfo = [] 12 # Generic Extractor output format: 13 # p = [ [timeStampMaj, timeStampMin], [ tag0, tag1, ... tagN] ] with tag = [ shapeInfo, moreInfo ] 14 if(len(p) > 0): 15 markInfoArray = p[1] 16 markInfo = markInfoArray[0] 17 shapeInfo = markInfo[0] 18 self.onStopped(shapeInfo) 19 20 def onInput_onStop(self): pass Programm 2. Daten der Marks In Programm 3 erfolgt aus die herausgefilterten NAO-Mark-Daten (Programm 2) die eigentliche Aktion. Ziel dieses Programmteiles ist es der NAO-Mark zu folgen und sich ihr zu nähern. Dabei müssen die Daten ausgewertet werden. Bei jeder Aktion wird ein Log gesetzt mithilfe „self.log()“ wie z.B. in Zeile 25. In Zeile 26 – 28 werden wichtige Strukturen für die Bewegung definiert. Dabei ist „jointCodes“ für die Art des zu bewegenden Gelenkes zuständig, „time“ für das zu benötigende Zeitintervall und „angles“ für den Winkel, um den das Gelenk bewegt werden soll. Die Struktur „input“ stellt dabei die gefilterte Information aus dem Programm 2, die in diese Methode hineingegeben wird. In Zeile 34 wird als weiteres überprüft, um welchen Delta-Wert sich die Eingabe zum vorangegangen Wert verändert hat. Sollte die Änderung groß genug sein dann erfolgt eine Drehung zur NAO-Mark (Zeilen 35 - 75). Anderenfalls wird auf die NAO-Mark zugelaufen (Zeilen 77 - 93). Sollte keine NAO-Mark gefunden werden, wird nur ein Wert zurückgegeben (Zeile Der Humanoide NAO – Betrachtung eines neuen Robotersystems 78 von 92 | S e i t e 90000]) 44 jointCodes.Kapitel: Erste Erfahrungen mit NAO Programmierbeispiele 95 .append([1. der letztendlich eine andere Augenfarbe darstellt (Abbildung 28 – erster Verlauf. heading] 23 # alpha is horizontal (left.97). 1 #! /usr/bin/python 2 import time 3 class MyClass(GeneratedClass): 4 alpha = 0. head up position vertical 40 # value = 0 => center position vertical 41 # value = 0.0 5 beta = 0. buttom) 25 self.log("NaoMarkReaction: Diff_betrag > 0.0 6 7 def __init__(self): 8 GeneratedClass. center. right) 24 # beta is vertikal (top.6 are the maximum values of movement vertical (in RAD goes to maximum) 39 # value = -0.__init__(self) 9 self.log("NaoMarkReaction: Move head in the position of the NAO mark") 26 jointCodes = list() 27 angles = list() 28 times = list() 29 if (len(input)>0): 30 self.2 12 13 def onLoad(self): 14 #~ puts code for box initialization here 15 pass 16 17 def onUnload(self): 18 #~ puts code for box cleanup here 19 pass 20 21 def onInput_onStart(self. right position. beta.6.6 => max. horizontal Der Humanoide NAO – Betrachtung eines neuen Robotersystems 79 von 92 | S e i t e .abs_diff_value = abs(alpha) 34 if self.append("HeadYaw") 45 # head position -1 and +1 are the maximum values of movement horizontal (in RAD goes to maximum) 46 # value = -1 => max. head down position vertical 42 angles. sizeX.log("NaoMarkReaction: NAO Mark detected") 31 alpha = input [1] 32 beta = input [2] 33 self. Box 3 und 4). center. alpha.abs_diff_value > 0.period = 0 11 self. Für jede Aktion wird ein anderer Wert zurückgegeben.append([beta]) 43 times.7 => max.onStopped(1) 37 jointCodes.append("HeadPitch") 38 # head position -0.2: move") 36 self.7 and +0.2 : 35 self.search_pos = 1. sizeY.abs_diff_value = 0.0 10 self. input): 22 # input => [shape. 1.post.05. times.00000]) 85 try: 86 ALMotion.log("NaoMarkReaction: no NAO Mark") 98 99 def onInput_onStop(self): Der Humanoide NAO – Betrachtung eines neuen Robotersystems 80 von 92 | S e i t e .append([3.00000]) try: motion = ALProxy("ALMotion") moveId = motion.append([alpha]) times. except BaseException.90000]) try: motion = ALProxy("ALMotion") moveId = motion. except BaseException. times. angles. 70) ALMotion. 70) else: ALMotion. left position.addTurn(alpha+0.onStopped(3) 97 self. horizontal # value = +1 => max.append([0]) times.onStopped() else: self.walk() #Blocking Function self.append([0]) 84 times.append([3. horizontal angles. err: self.Kapitel: Erste Erfahrungen mit NAO Programmierbeispiele 47 48 49 50 51 52 53 1) 54 55 56 57 58 59 60 61 62 63 64 65 1) 66 67 68 69 70 71 72 73 74 75 76 77 # value = 0 => center position.append("HeadPitch") angles.log("NaoMarkReaction: Diff_betrag < 2: Position of NAO mark is in a intervall so that we can say it was not changed") 78 self.doMove(jointCodes.doMove(jointCodes.onStopped(2) 79 jointCodes.append([3.addWalkStraight(0.log("NaoMarkReaction: Error") 91 pass 92 ALMotion.6. angles. 1) 89 except BaseException.post.addTurn(alpha-0. times.clearFootsteps() 87 motion = ALProxy("ALMotion") 88 moveId = motion.append("HeadYaw") angles.append([3.1.append("HeadPitch") 80 angles. angles.walk() #Blocking Function 94 else: 95 # no NAO mark detected -> bring the head to center 96 self.append([0]) 81 times.00000]) 82 jointCodes. err: 90 self. 70) 93 ALMotion.append("HeadYaw") 83 angles.append([1.log("NaoMarkReaction: Error") pass jointCodes. err: self.log("Error") pass if (alpha < 0): ALMotion.doMove(jointCodes.00000]) jointCodes.post.append([0]) times. wie Eclipse oder Visual Studio integriert werden. Im zweiten Verlauf (Abbildung 28) ist dann noch die Suche im Raum nach NAO-Marks platziert. as the code written in onUnload is used to finish the working of the box as well pass Programm 3. Die Entwicklung ist mit den Sprachen Python. MacOSX und Linux angeboten und kann in beliebige Entwicklungsumgebungen(IDE). Der Humanoide NAO – Betrachtung eines neuen Robotersystems 81 von 92 | S e i t e . Wir haben uns für die Entwicklung mit C++ entschieden.Net-Sprache noch nicht problemlos möglich ist.onUnload() #~ it is usually a good idea to call onUnload of this box in a onStop method. C# bzw. Reaktion auf die NAO-Mark Position Auf ähnliche Weise erfolgt die Gesichtserkennung und –verfolgung.6 Modulentwicklung mit Visual Studio 2008 Aldebaran bietet ein NaoQi Software Development Kit zur Entwicklung eigener Module und Programme an. Der Broker ist dann in der Lage auf entfernet Module wie ALMotion auf NAO zuzugreifen und auch in der Lage ist Methoden des eigenen Moduls im verteilten System verfügbar zu machen. Dieser Broker braucht nicht selbst implementiert zu werden. die nur dann benötigt wird. . C++. den man mit dem Mainbroker auf der NaoQi verbinden kann. wenn keine NAO-Mark direkt zu finden ist. da die Integration der OpenCV Bibliothek in eine . Zur Entwicklung eines eigenen Moduls benötigt man einen eigenen Broker.clearFootsteps() self.6.Net und Java möglich. Das SDK wird für Windows XP. 6.Kapitel: Erste Erfahrungen mit NAO Modulentwicklung mit Visual Studio 2008 100 101 102 ALMotion. Die Quelldateien des Moduls.7 Probleme und Schwierigkeiten Während der Testphase kam es mehrmals vor. cpp und h Dateien können mittels des Tools cmake. was beim Debuggen hilft. wie Syntax Highlighting. Ein Neustart NAOs behebt das Problem. Für effizientes und effektives Programmieren ist es zu empfehlen eine Der Humanoide NAO – Betrachtung eines neuen Robotersystems 82 von 92 | S e i t e . die zuvor gestarteten Programme liefen weiter. Eine Beschreibung der Modulerstellung findet sich im Reddoc von Aldebaran.Kapitel: Erste Erfahrungen mit NAO Probleme und Schwierigkeiten Zur Erstellung des eigenen Moduls wird eine Installation des NaoQi-SDK benötigt. zu einem Visual Studio Projekt kompiliert werden. geöffnet werden. Das so generierte Modul kann dann in der Entwicklungsumgebung Visual Studio. Die Fehlermeldungen sind sehr allgemein und geben keinen Hinweis auf die Zeile in der der Fehler aufgetreten ist. Fehlermeldungen erscheinen praktisch nur in einem Logfile welches per Webschnittstelle auf NAO zugänglich ist. Neue Programme.6. Es ist möglich eigene Strings in das Logfile zu schreiben. kamen nicht mehr auf NAO zur Ausführung. Die Debugging-Funktionalität des Choreograph ist miserabel. In Visual Studio sind dann sämtliche Programmiertätigkeiten mit allen Vorzügen einer ausgereiften Entwicklungsumgebung. ohne dass Fehlermeldungen auftraten. IntelliSense oder Refactoring möglich. Trotzdem ist das Debugging sehr müßig. die über den Choreograph gestartet wurden. Die SDK enthält einen Modulgenerator der in der Lage ist den Rumpf für ein Modul inklusive Broker zu generieren. (43) 6. dass die NaoQi auf dem Roboter nicht mehr richtig arbeitete. Für die Installation ist eine Anleitung im Reddoc vorhanden. welches Open Source und im Internet verfügbar ist. Kapitel: Erste Erfahrungen mit NAO Servicequalität Aldebaran vollwertige IDE zu verwenden. Während der Prüfung stellte sich heraus. wird oft nirgends vermerkt und muss erprüft werden. erläutern und erklären sie meist aber nicht.6. In der Arbeit mit NAO muss sehr viel durch Trial and Error evaluiert werden. 6. Ein paar kurze Sätze oder Bilder weisen auf eine Funktionalität hin. Auch die API Dokumentation gibt nur grundlegende Informationen. die keine Suchfunktionen besitzen.8 Servicequalität Aldebaran NAO war bei Lieferung defekt. Im Bereich der Dokumentation ist noch ein verstärkter Nachholbedarf seitens Aldebaran zu verzeichnen. Man muss Informationen folglich oft umständlich suchen. Auch das Format indem Rückgabewerte von Sensoren gespeichert werden. Nach Kontaktaufnahme mit Aldebaran Robotics wurde eine XML-Datei zugesandt. Die Dokumentation liegt in Form von HTML-Seiten vor. Zudem sind viele Funktionen nur spärlich dokumentiert. Der interne Trägheitssensor arbeitete nicht korrekt. die zur Prüfung der Rückgabewerte der Sensoren im Telepath dient. NAO wurde zur Der Humanoide NAO – Betrachtung eines neuen Robotersystems 83 von 92 | S e i t e . was zu einer Instabilität des gesamten Systems führte. NAO ist noch ein Prototyp und das merkt man ihm auch an. die hier graphisch erstellt und in C++-Code exportiert werden können. So sind auch die Informationen zur Erstellung von Modulen und zum Verwenden von Visual Studio lückenhaft und viele Schritte müssen selbst evaluiert werden. die eigentliche Funktionalität und Anwendung vieler API-Funktionalitäten muss man im Code selbst ausprobieren. Der Choreograph ist allerdings ein unersetzbares Hilfsmittel zum entwickeln von Bewegungsabläufen. dass der Trägheitssensor keinerlei Signale liefert. dass versucht wird die bestmögliche Lösung für den Kunden zu finden. Anfragen per E-Mail werden innerhalb sehr kurzer Zeit kompetent beantwortet.Kapitel: Erste Erfahrungen mit NAO Servicequalität Aldebaran Reparatur eingeschickt und traf innerhalb einer Woche wieder an der DHBW Karlsruhe vollständig repariert ein. Während der Fehlersuche und in der Zeit der Reparatur war der Support seitens Aldebaran sehr positiv. zu erhalten. Im Forum besteht die Möglichkeit Hilfe von Aldebaran Mitarbeitern oder anderen Entwicklungsteams. zumeist von Universitäten. Das Forum ist eine wichtige Informationsquelle Startschwierigkeiten. Aldebaran bietet ein Forum für Besitzer eines „Nao Academic Edition“ an in dem man Fragen stellen und Probleme schildern kann. vielversprechend. Dabei merkt man dem Support an.6. für bei gängige allgemeine Fehler ist und das hilft Forum bei den spezielleren Fehlern weniger Der Humanoide NAO – Betrachtung eines neuen Robotersystems 84 von 92 | S e i t e . Der Humanoide NAO – Betrachtung eines neuen Robotersystems 85 von 92 | S e i t e . die mit anderen älteren Modellen nach einigen Jahren erst erzielt werden konnten. wird durch den NAO schon deutlich gezeigt. Fazit und Ausblick 7. dass die Entwicklung in der Robotik und der künstlichen Intelligenz immer mehr Voranschreitet.7. Mit diesem Roboter konnten innerhalb kürzester Zeit Erfolge erzielt werden.Kapitel: Fazit und Ausblick Fazit 7.1 Fazit Obwohl wir noch weit von dem menschlichen Interaktionsraum und der Denkensweise in der Robotik entfernt sind. Obwohl der Interaktionsraum schon recht groß ist. Eine noch schwerwiegende Grenze ist die Reaktionsgeschwindigkeit der Aktorik und Reichweite der Sensorik. Die schnellen Erfolge konnten zum einen durch die Basismodule und Bibliotheken erreicht werden. sowie durch den sehr guten Support der Firma Aldebaran. der durch seine Vielfalt besticht. Zusammenfassend ist der NAO ein gelungener Humanoid. sind dem NAO einige Grenzen gesetzt. 2 Ausblick Im weiteren Verlauf der Studienarbeit wird angedacht in den Bereich Fußball zu gehen.Kapitel: Fazit und Ausblick Ausblick 7. parallel vollzogen werden. die fließend ineinander übergehen bzw. Dabei soll vor allem auf die Erkennung von Objekten eingegangen werden und mehrere Bewegungsabläufe erstellt werden. Am Ende soll dabei eventuell ein Fußballspiel zustande kommen. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 86 von 92 | S e i t e .7. 1997. Dankert. 10 09.] http://www. Roboter. [Zitat vom: 31. University of Hokaido.Literaturverzeichnis 1. 2. Studiengang Robotik. Matthias.html.J. Begriffe. s. 7. Technische Mechanik. Nasa Pathfinder Operation. Norm VDI 2860. Husty. [Online] o. Jürgen und Dankert. 2007. [Online] [Zitat vom: 22. Berlin : Springer. Neuroscint . [Online] [Zitat vom: 31.nasa. 8.html.de/kommissionen/leko/Studienplanmodelle/Robotik/welcome. 10 209. Handhabungsfunktionen. Handbuch der Robotik. [Online] [Zitat vom: 31. Adolf und Sachs. Mikoho und Yoshiharu. s.] http://marsprogram. 2005. 10 2009.und Handhabungstechnik.com/aw/blogs/defense/index. Nasa. Otake.html.Aufl. 9. Berlin : Springer.jpl.aviationweek. Shape Design of Gel Robots made of Electroactive Polymer Gel.gov/mission/spacecraft_surface_rover. : Vieweg+Teubner.gov/MPF/index1.l. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 87 von 92 | S e i t e .] http://www. Nasa Marsrover.nasa. Definitionen. Manfred.] http://marsrovers. 6.org/otake/uploads/papers/Otake_smems2001ems. 10 2009. 10. [Online] [Zitat vom: 31. Helga.techfak. Defense Technology. 3. Technische Fakultät der Universität Bielefeld.] http://www. Kinematik und Robotik: Maschinenbau Forschung und Entwicklung.unibielefeld. 4. —. Karger. Ichbiah. Montage.University of Tokio. Geschichte-Technik-Entwicklungen.l. Haun. Symbole. Handhabungseinrichtungen. : Knesebeck. Aviation Week.pdf. VDI Norm 2860. Daniel. 10 09.jsp?plckController=Blog&plckBlo gPage=BlogViewPost&newspaperUserId=27ec4a53-dcc8-42d0-bd3a01329aef79a7&plckPostId=Blog%3a27ec4a53-dcc8-42d0-bd3a01329aef79a7Post%3a32530e23-3fa1-4379-8f67-3f785feb01fd&plc. Kagami. 5.neuroscint. 2009 5. Hans. Trotting. 1082. MArkus. H. Auflage. Berlin/Heidelberg : Springer Lectures. [Online] [Zitat vom: 10.pdf. 18.] http://www. Pfister. Jazar.01. 12 2009.] http://ruina. Pleo.edu/research/topics/locomotion_and_robotics/papers/efficient_ bipedal_robots/bipedal_walking_robot_cornell.] http://www.mit. 2007. s. Aviation Week and Space Technology. UAVs on the Rise. 28 09. Berlin : Springer. Science. Andrew. Cornell University . Collins.ai. Leg Lab. Machinery.edu/projects/humanoid-roboticsgroup/kismet/kismet. : Hanser Fachbuch.machinery. 2008. [Online] [Zitat vom: 10. Collins. Jürgen. Beate und Tobias. : Journal of Biomechanics.cornell. Reza. 15. Remote Vision-Based Multi-type Gesture Interaction . 307. Dickerson. [Online] [Zitat vom: 10. 2008.com/Home. 14.uk/article/7593/Anthropomorphic-hand-is-almosthuman. 17. 2007. et al. Pleo. A Bipedal Walking Robot with Efficient and Human-Like Gait. Steven Hartley und Ruina. 3.] http://www. Steve. Massachusets Institute of Technology. Efficient bipedal robots based on passive-dynamic Walkers. Raibert. Kaufmann.Robotics Andy Ruina.edu/projects/leglab/robots/robots-mainbottom. [Online] [Zitat vom: 10.co.html. Theory of Applied Robotics.pleoworld. 16. 12. Uwe Kleve.l. 15. Kismet.html. Lämmel. and bounding by a quadruped robot. 12 2009. Massachusets Institute of Technology.] http://www. [Online] [Zitat vom: 31. Sprachverarbeitung: Grundlagen und Methoden der Sprachsynthese und Spracherkennung. 10 2009.ai.aspx. Artificial Intelligence. Artificial Intelligence. PleoWorld. Andy. 10 2009. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 88 von 92 | S e i t e .mit.2007.l. 20. Home of Production Egineering. Berlin : Springer. Künstliche Intelligenz. 1991. pacing. 13.aspx. L.tam.11. 21. 22. 2004. Kohler. 19. s. Allcock. M. 10 2009. 2544.189/02. 35.cmu. Isaac. [Online] 2001. 28.] http://www.com/aibo/index. Kuka Robotics GmbH.] http://www. [Zitat vom: 11. 11 2009. 27. [Online] [Zitat vom: 2009. Industrieroboter.net/kommissionen/leko/Studienplanmodelle/Robotik/Robotik. Technische Fakultät der Universität Bielefeld.] http://www.darpa.parorobots. Ich der Robot. 10 2009. 29.html?_r=2&ref=todayspaper. Noah.com/2009/07/26/science/26robot. 24. Künstliche Intelligenz. Paro Therapeutic Robot. Peter. 34. NISTEP .html.] http://support.] http://124.] http://www.nytimes. [Zitat vom: 10. [Zitat vom: 12. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 89 von 92 | S e i t e . 10 2009. 26 2009. Hans. Stuart und Norvig. 10 2009. The Age of Robots.asp?language=de.nistep. DARPA.] http://www. Russell. New Scientist. [Online] 2. 07 2009. First Armed Robots on Patrol in Iraq. 25.sony-europe. München/ Germany : Pearson Studium.Natiol Institute of Science and Technology Policy. 32.Future Technology in Japan toward the Year 2030.techfak.edu/~hpm/project. The Seventh Technology Foresight . II.frc. Asimov. 26.asp. 10 2009. 06 1993. [Online] [Zitat vom: 10.articles/1993/Robot93. Markoff. [Online] [Zitat vom: 26.198.jp/index-e. 2003.com/dangerroom/2007/08/httpwwwnational/. 1952. [Online] Carnegie Mellon University Pittsburgh. Studienplan Robotik.wired. DARPA Grand Challenge. [Zitat vom: 10. Schachtmann. 10 31. Scientists Worry Machines May Outsmart Men. Sony Europe. New Scientist.23. [Online] [Zitat vom: 10.archive/general. John. Moravec. [Online] New York Times.] Kuka Robotics GmbH. Wired Magazine.html. [Online] [Zitat vom: 10. [Online] [Zitat vom: 26. 10 2009. 25. Aibo Offizielle Webseite. 2006. Rules for the Modern Robot. Robocup Foundation.html. Offizielle Robocup Webpräsenz.html.mil/grandchallenge/index. Düsseldorf : Rauch-Verlag.] http://www.com/. 10 2009. Paro.146.ri. 33.go.] http://www. 31. 30. 8 2007. 39. TiloDillmann. Gouaillier.honda.newscaletech. 47. 40. Pedram. 318.pdf.n. Tanenbaum.co. 5853. 51. Bd. Computervision. u. Evolutionary Robotics.com/Files/DSV3+_Light. 2007. Dokumentation Aldebaran Choreograph.. Greendoc. Digitale Bildverarbeitung. 03. no. David und Hugel. [Online] [Zitat vom: 2009. Call for debate on killer robots. : Pearson Studium. B. 2005 6. Rüdiger. Mobile Robots: Motor Challenges and Materials Solutions. 2009.] http://world. 43. Asimo. France. John D. Paris : University of Versailles. [PDF] Paris : Aldebaran Robotics. erw. 2009. Künstliche Intelligenz-Grundlagen und ANwendungen. 11 2009. 2007. Paris : s.com/squiggle_overview. [Online] [Zitat vom: 10. Berlin : composia. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 90 von 92 | S e i t e .html. Nolfi. 10 2009. Blazevic. Aldebaran Robotics. s. Aldebaran Robotics. Reddoc.aldebaran-robotics. Bernd. Moderne Betriebssysteme. Aldebaran Robotics. 10 2009. DataSheet NAO Academics Version. 07 06580 France. Vincent. 1097.] http://news. 10 2009.36.] http://www.com/ASIMO/. 45. Madden. BBC News. Berlin : Springer. D.n..bbc. 2008. [Online] [Zitat vom: 31.] http://www. 48.] http://www. Maisonnier. 46. Zöller-Greer. 2009. 50. 08 2009. Paris : s.uk/2/hi/technology/8182003. Nao Academics Edition. Palmer.stm. Am´ elioration d’un robot pouvant ecarter ses jambes par rapport a la verticale (in French). und Gouilliar. 2007. Azad Gockel. o. Jason. 2009. Stefano Floreano. The NAO humanoid :a combination of performance and affordability. überarb. Newscale Technologise. Pierre. [Zitat vom: 10. 2008. Jähne. 41. —. : The MIT Press. Aldebaran Robotics. 10 31. Aufl. 49. Honda Worldwide. Peter. [Online] BBC.l. Aldebaran Robotics. 44. Dario. Advanced Documentation.aldebaran-robotics. Aldebaran Robotics. s.com. Science.. 2004.l. 37. 38.A : Elektor Verlag. 42. 3. Squgigle Piezo Motors. [Online] [Zitat vom: 26. Andrew S. army.. Army. 53.jpg. Bluedoc.A.52. o. [Online] http://www4.n. 2009. Der Humanoide NAO – Betrachtung eines neuen Robotersystems 91 von 92 | S e i t e .mil/ocpa/uploads/large/SWORDS22004-1203. Paris : s. —. NaoQi API Referenz. Glossar DARPA MIT SWORDS VDI ZMP Defense Advanced Research Projects Agency Massachusetts Institute of Technology Special Weapons Observation Reconnaissance Detection System Verbund Deutscher Ingenieure Zero Moment Point Der Humanoide NAO – Betrachtung eines neuen Robotersystems 92 von 92 | S e i t e .
Copyright © 2024 DOKUMEN.SITE Inc.