Fachhochschule Kiel | Fachbereich IuE NAO...

25
Fachhochschule Kiel | Fachbereich IuE NAO Tutorium Inbetriebnahme und Erste Schritte Hannes Eilers 17.03.2011

Transcript of Fachhochschule Kiel | Fachbereich IuE NAO...

Fachhochschule Kiel | Fachbereich IuE

NAO Tutorium Inbetriebnahme und Erste Schritte

Hannes Eilers 17.03.2011

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 1 Robotik AG | SS 2011

INHALTSVERZEICHNIS

Ziel des Tutoriums ...................................................................................................................... 3

Architektur des Nao ................................................................................................................... 3

Module und Broker ................................................................................................................ 3

Sichere Architektur ............................................................................................................. 4

Schnelle Architektur ........................................................................................................... 5

Tipps ................................................................................................................................... 5

Software ..................................................................................................................................... 6

Choregraphe 1.10 Installation – Windows ................................................................................. 6

Choregraphe 1.10 Installation – Linux ....................................................................................... 7

Umgebungsvariable .................................................................................................................... 7

Windows ................................................................................................................................. 7

Linux ....................................................................................................................................... 7

Choregraphe 1.10 einrichten ..................................................................................................... 8

Nao in Betrieb nehmen .............................................................................................................. 9

Power Button ....................................................................................................................... 12

Erste Schritte ............................................................................................................................ 13

Choregraphe 1.10 – Einführung ............................................................................................... 13

Verbindung herstellen .......................................................................................................... 14

Erstes Programm – Aufstehen.............................................................................................. 16

Übersicht Choregraphe Boxen ............................................................................................. 19

No Offspring ..................................................................................................................... 19

Flow Diagramm ................................................................................................................ 19

Timeline ............................................................................................................................ 19

Übersicht Ein- und Ausgänge ............................................................................................... 20

Dynamic ............................................................................................................................ 20

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 2 Robotik AG | SS 2011

„Bang“ .............................................................................................................................. 20

Number ............................................................................................................................. 21

String ................................................................................................................................ 21

onStart .............................................................................................................................. 21

onStop .............................................................................................................................. 21

onEvent............................................................................................................................. 21

ALMemory Input .............................................................................................................. 21

onStopped ........................................................................................................................ 21

ponctual ............................................................................................................................ 21

Boxparameter ....................................................................................................................... 22

Eigene Box hinzufügen ......................................................................................................... 22

Box Skript .............................................................................................................................. 22

Boxen zu Box List hinzufügen ............................................................................................... 23

Pose Library .......................................................................................................................... 23

Nao Documentation ................................................................................................................. 24

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 3 Robotik AG | SS 2011

ZIEL DES TUTORIUMS

Dieses Tutorium soll einen kurzen Einblick in den Aufbau, die Inbetriebnahme und die

Programmierung des Nao vermitteln.

Zuerst wird die Grundlegende Architektur des Nao erklärt. Danach wird die Installation benötigter Software beschrieben und anschließend eine Verbindung zum Nao aufgebaut, um diesen zu programmieren. Dabei wird auch ein Überblick über die Wichtigsten Funktionen der Software gegeben.

ARCHITEKTUR DES NAO

Der Nao basiert auf einer x86 AMD GEODE 500 MHz CPU mit 256 MB RAM und 2 GB Flash als Speicher mit einem installierten Linux als Betriebssystem.

Die Steuerung von Motoren, Sensoren, .. erfolgt über die sog. NaoQI. Die NaoQI ist ein Dienst auf dem Betriebssystem des Nao.

MODULE UND BROKER

Einzelne Programme können als Module in die NaoQI geladen werden. Die Module ähneln den Klassen aus objektorientierten Programmiersprachen.

Module stellen Funktionen zur Verfügung und können mit anderen Modulen interagieren, sowie Daten in einen gemeinsamen Speichern, den ALMemory, schreiben.

Diverse Module für z.B. das Laufen, die Sprachausgabe, etc. sind bereits implementiert und werden automatisch beim Starten der NaoQI geladen.

Abb. 1 | Quelle: Nao User Guide Version 1.8.16

Abb. 2 | Quelle: Nao User Guide Version 1.8.16

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 4 Robotik AG | SS 2011

Die NaoQI kann über den sog. Mainbroker angesprochen werden, der standartmäßig auf dem Port 9559 des Nao lauscht. Der Mainbroker nimmt Befehle für Module entgegen und verwaltet diese.

Um Zugriffe auf die NaoQI durchzuführen, bieten sich jetzt zwei verschiedene Methoden an:

SICHERE ARCHITEKTUR

Eine sichere Methode ist es, einen lokalen Broker zu erstellen und diesen mit dem Mainbroker zu verbinden. Eigene Module können dann im lokalen Broker ausgeführt werden, während die bereits implementierten Module des Nao auf dem Mainbroker laufen.

Diese Methode verhindert, dass bei einem Crash des eigenen Modules, auch die NaoQI auf dem Nao crasht . Der Nachteil ist, dass die Ausführung von Programmcode so länger dauert.

Abb. 3 | Quelle: Nao User Guide Version 1.8.16

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 5 Robotik AG | SS 2011

SCHNELLE ARCHITEKTUR

Eigene Module können auch direkt in den Mainbroker geladen werden. Dadurch werden diese besonders schnell ausgeführt. Mit dieser Methode lassen sich auch Module als Standartmodul in die NaoQI aufnehmen, damit sie jederzeit Verfügbar sind.

Erzeugt ein Modul jedoch einen Fehler, kann das zu Fehler der NaoQI auf dem Nao führen und dieser fällt sehr wahrscheinlich hin.

Abb. 4 | Quelle: Nao User Guide Version 1.8.16

TIPPS

Der Zugriff auf Module erfolgt über den sog. ALProxy, der einem das Modul als Projekt zur Verfügung stellt. Damit können auch klassische Skripte ohne Module auf Module und deren Funktionen, des Mainbrokers zugreifen.

Werden Programme direkt auf den Nao geladen, erfolgt die Abarbeitung von Befehlen schneller, da die Übermittlung über die Netzwerkverbindung entfällt.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 6 Robotik AG | SS 2011

SOFTWARE

Programme für den Nao lassen sich entweder in Python, C++ schreiben oder über die Entwicklungsumgebung Choregraphe grafisch zusammenstellen.

Am einfachsten ist es, Choregraphe zu installieren, da dort bereits alle benötigten Libraries vorhanden sind

Mit Choregraphe kommt ein Programm namens Telepathe, das einem Zugriff auf den ALMemory und die Kameras des Nao gewährt.

Für die Nutzung unter Windows wird der Python-Interpreter Version 2.6 1 benötigt, sowie cmake 2.62, falls C++ Programme erstellt werden sollen.

Unter Linux ist Python i.d.R. bereits installiert. Hier wird für C++ Programme der Compiler gcc (> 4.4) benötigt.

Unter Mac ist Python ebenfalls i.d.R. bereits installiert, sodass ggf. nur noch gcc benötigt wird.

CHOREGRAPHE 1.10 INSTALLATION – WINDOWS

Unter Windows kann man zwischen zwei Installern von Choregraphe wählen. Die Versionen beinhalten entweder ein Plug-In für Visual Studio 2005 oder Visual Studio 2008.

Ein Plug-In für Visual Studio > 2008 existiert z.Z. noch nicht!

1. Installieren Sie Choregraphe in der aktuellsten Version. 2. Choregraphe startet automatisch die Installation von Bonjour für Windows, welches

für die Erkennung des Nao im Netzwerk benötigt wird. 3. Entfernen Sie im Installationsassistenten die Versionsnummer aus dem

Installationspfad für Choregraphe, um Updates auf einen neuere Version zu erleichtern. (z.B.: C:\Programme\Aldebaran\Choregraphe\ )

4. Notieren Sie sich den Installationspfad für Choregraphe. 5. Setzen Sie die Umgebungsvariable PYTHONPATH auf das Unterverzeichnis \lib des

Installationsverzeichnisses von Choregraphe (s.u.)

1 http://www.python.org 2 http://www.cmake.org

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 7 Robotik AG | SS 2011

CHOREGRAPHE 1.10 INSTALLATION – LINUX

Unter Linux müssen Sie einfach nur das Archiv von Choregraphe in ein geeignetes Verzeichnis entpacken.

Choregraphe können Sie dann über das Skript choregraphe.sh, Telepathe über das Skript telepathe.sh im Choregraphe-Verzeichnis starten.

UMGEBUNGSVARIABLE

Um eigene Python-Programme unabhängig von Choregraphe starten zu können, muss die Umgebungsvariable PYTHONPATH auf den Pfad zu den NaoQI-Libraries gesetzt sein.

WINDOWS

Unter Windows setzen Sie die Umgebungsvariable wie folgt:

1. Öffnen Sie mit einem Rechtsklick auf Ihren Arbeitsplatz Eigenschaften die Systemeigenschaften.

2. Wählen Sie die Registerkarte Erweitert und klicken Sie auf Umgebungsvariabeln. 3. Klicken Sie unter Systemvariabeln auf Neu. 4. Geben Sie als Name PYTHONPATH (case-sensitiv) und als Variabelwert den Pfad des

Unterverzeichnisses \lib des Installationsverzeichnisses von Choregraphe an (z.B.: C:\Programme\Aldebaran\Choregraphe\lib ).

5. Bestätigen Sie alle geöffneten Fenster mit OK.

LINUX

Unter Linux können Sie die Umgebungsvariabel für die aktive Sitzung mit folgendem Konsolenbefehl setzen:

Fügen Sie diese Zeile ans Ende der versteckten Datei .profile in Ihrem Homeverzeichnis an, um die Umgebungsvariable dauerhaft für jede Sitzung automatisch zu setzen.

export PYTHONPATH=“<PFAD ZUM CHOREGRAPH-VERZEICHNIS>/lib/“

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 8 Robotik AG | SS 2011

CHOREGRAPHE 1.10 EINRICHTEN

Haben Sie Choregraphe erfolgreich installiert, verfahren Sie wie folgt:

1. Starten Sie Choregraphe und geben Sie den Lizenzschlüssel ein. 2. Wählen Sie aus dem Menü Edit Preferences. 3. Wählen Sie die Registerkarte Folders. 4. Geben Sie unter NaoQI‘s Folder den Pfad zum Installationsverzeichnis von

Choregraphe an. 5. Klicken Sie auf OK.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 9 Robotik AG | SS 2011

NAO IN BETRIEB NEHMEN

Um den Nao in Betrieb zu programmieren müssen Sie Ihm eine Netzwerkverbindung zu Ihrem Rechner zur Verfügung stellen. Am einfachsten Verwenden Sie dazu den Robotik AG Linksys Router .

Entnehmen Sie den Nao aus dem Flightcase. Achten Sie darauf, dass Sie ihn nicht an Armen, Beinen oder Kopf hochheben, sondern ausschließlich am Torso (siehe Abbildung).

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 10 Robotik AG | SS 2011

Legen Sie nach der Verwendung den Nao wie auf dem Bild zu sehen, zurück in das Flightcase.

Setzen Sie den Nao in eine stabile Sitzposition, sodass er nicht umfallen kann. Aus der im Bild zu sehenden Position kann der Nao selbstständig aufstehen.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 11 Robotik AG | SS 2011

Schließen Sie den Router an das Stromnetz an.

Schließen Sie den Nao an das Stromnetz an. Das Ladekabel wird an der Rückseite des Nao angeschlossen. Beachten Sie, dass der Akku des Nao nur lädt, wenn die Motoren ausgeschaltet sind!

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 12 Robotik AG | SS 2011

Schalten Sie jetzt den Nao ein. Drücken Sie dazu den Power Button mehrere Sekunden lang, bis die LEDs des Nao angehen. Warten Sie, bis der Bootvorgang abgeschlossen ist (Dauer ca. 1,5 Minuten). Die Ohr-LEDs signalisieren den Bootfortschritt. Sobald die NaoQI gestartet wurde, wird eine akustische und optische Meldung ausgegeben.

Verbinden Sie sich anschließend mit dem WLAN-Netz Robotik Netzwerk oder per LAN-Kabel direkt mit dem Router.

POWER BUTTON

Der Power Button signalisiert den Status des Nao wie folgt:

blinkt: Nao bootet

leuchtet, Bootvorgang: Nao hängt sich am Bootloader auf leuchtet: Batterie ist zu 5/5 voll

schnell blinkend: Batterie ist 3/5 oder weniger

Langsam blinkend: Batterie ist geringer als 1/5

Abb. 5.1 bis 5.4 | Quelle: Nao User Guide Version 1.8.16

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 13 Robotik AG | SS 2011

ERSTE SCHRITTE

Jetzt folgen einige Beispiele zur Verwendung von Choregraphe 1.8 und Telepathe.

Dabei wird kurz die Entwicklungsumgebung Choregraphe vorgestellt und erklärt, wie Sie eine Verbindung zum Nao herstellen und ihn grafisch programmieren können. Danach erfahren Sie, wie Sie einzelne Positionen des Nao als vordefinierte Positionen speichern können und wie Sie diese in Ihre Programme einbauen können.

Als letztes wird die Funktion und Bedienung von Telepathe erklärt.

CHOREGRAPHE 1.10 – EINFÜHRUNG

Die Entwicklungsumgebung Choregraphe bietet die Möglichkeit den Nao grafisch mit Hilfe einzelner Boxen zu programmieren.

1 Box Library: Hier werden einzelne Boxen mit Programmcode angezeigt. Neben der Standart-Library können auch eigene Libraries erstellt und gespeichert werden.

2 Flussdiagramm: Hier werden einzelne Boxen abgelegt und zu einem Programmablauf miteinander Verknüpft.

3 3D Modell: Ein Modell des Nao (nicht ganz in Echtzeit)

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 14 Robotik AG | SS 2011

VERBINDUNG HERSTELLEN

Choregraphe arbeitet nach dem Start automatisch mit einer lokalen, simulierten NaoQI. Diese stellt prinzipiell alle Module zur Verfügung, die auch auf einem echten Nao zur Verfügung stehen. Der Zugriff auf Funktionen von Sensoren oder Kamera funktioniert jedoch nicht.Um eine Verbindung zu einem reellen Nao herzustellen, klicken Sie auf Connect to.

Jetzt erhalten Sie eine Übersicht über alle NAOs im Netzwerk. Das Nao-Icon signalisiert den Status des jeweiligen Nao.

Nao auf dem keine NaoQI läuft.

Verbindungsbereiter Nao. Rechtklick lässt die Augen des Nao aufleuchten. Rechtsklick für das Öffnen des Webinterfaces.

Simulierte NaoQI.

Abb. 6.1 bis 6.3. | Quelle: Nao User Guide Version 1.8.16

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 15 Robotik AG | SS 2011

Wählen Sie jetzt den entsprechenden Nao aus und klicken auf Connect to.

Choregraphe verbindet sich jetzt mit dem Nao. Das 3D Modell sollte jetzt die aktuelle Körperstellung des Nao anzeigen.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 16 Robotik AG | SS 2011

ERSTES PROGRAMM – AUFSTEHEN

Um jetzt ein Programm zu erstellen, können Sie einzelne Boxen aus der Box Library auf das Flussdiagramm ziehen.

Die einzelnen Boxen besitzen Eingänge auf der linken und Ausgänge auf der rechten Seite. Es existieren verschiedene Arten von Eingängen und Ausgängen für verschiedene Arten von Informationen die Übergeben werden können. Nicht alle Arten von Eingängen und Ausgängen sind untereinander kombinierbar.

Das Flussdiagramm hat an der linken oberen Ecke einen Eingang, welcher stimuliert wird, sobald das Programm startet.

An der rechten oberen Ecke befindet sich ein entsprechender Ausgang, welcher das Programm beendet.

Ziehen Sie jetzt die Box Standup aus dem Ordner Motion auf das Flussdiagramm.

Standup besitzt zwei Eingänge und drei Ausgänge:

Eingang onStart Startet die Box Eingang onStop Bricht die Box sofort ab Ausgang succeed Box erfolgreich beendet Ausgang failed Box nicht erfolgreich beendet Ausgang impossible Box kann nicht ausgeführt werden

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 17 Robotik AG | SS 2011

Halten Sie die Maus über einen der Ein- bzw. Ausgänge um eine Beschreibung angezeigt zu bekommen.

Verbinden Sie jetzt den Eingang onStart mit dem Programmstart-Eingang in der linken oberen Ecke des Flussdiagramms, indem Sie mit gerückter Maustaste einen Verbindung von einem Eingang der Box zum Programmstart-Eingang ziehen.

Verfahren Sie genauso zwischen dem Ausgang succeed und dem Programmende-Ausgang in der rechten oberen Ecke des Flussdiagramms.

Verbinden Sie jetzt den Eingang onStart der Standup Box mit dem Programmstart-Eingang in der linken oberen Ecke des Flussdiagramms. Dazu klicken Sie einfach auf den Eingang der Box und ziehen eine ‚Schnur‘ bei gedrückter Maustatse zum Programmstart-Eingang.

Verfahren Sie genauso um den Ausgang succeed mit dem Programmende-Ausgang in der rechten oberen Ecke des Flussdiagramms.

Bevor Sie jetzt das Programm auf den Nao übertragen können, müssen Sie die Motoren des Nao aktivieren. Ohne aktive Motoren können keine Bewegungen ausgeführt werden.

Klicken Sie dazu auf Enslave all motors on/off.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 18 Robotik AG | SS 2011

Klicken Sie jetzt auf Play um das Programm auf den Nao zu laden. Während des Uploads wird eine Progressbar animiert.

Sobald der Upload abgeschlossen ist, führt der Nao das Programm selbstständig aus.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 19 Robotik AG | SS 2011

ÜBERSICHT CHOREGRAPHE BOXEN

Es gibt in Choregraphe drei verschiedene Arten von Boxen.

- No Offspring - Flow Diagramm - Timeline

NO OFFSPRING

Dies ist ein sehr einfacher box-Typ. Er enthält nur Programmcode, sowie Ein- und Ausgänge die im Programmcode angesprochen werden kann.

FLOW DIAGRAMM

Die Flow-Diagramm-Box enthält, neben Programmcode auch weitere Boxen, die an die Ein- und Ausgänge der übergeordneten Box angeschlossen werden können.

Mehrere einzelne Boxen lassen sich in beliebig vielen Flow Diagramms zusammenfassen.

TIMELINE

Eine Timeline-Box beinhaltet sowohl alle Eigenschaften von No Offspring und Flow Diagramm Boxen, als auch eine Zeitleiste über die in Form von Keyframes zeitlich bezogene Positionen von einzelnen Motoren des Nao gespeichert werden können.

Damit lassen sich verschiedene Bewegungsablaufe durch Angabe von Start- und Endpunkt eines Gelenks realisieren.

Die Timeline wird beim Aufruf der Box automatisch abgespielt.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 20 Robotik AG | SS 2011

ÜBERSICHT EIN- UND AUSGÄNGE

Die Ein- und Ausgänge einer Choregraphe Box können von vier verschiedenen Typen sein:

- Dynamic - „Bang“ - Number - String

Darüber hinaus kann jedem Ein- bzw. Ausgang ein Verwendungstyp zugeordnet werden, der durch verschiedene Icons der Ein- bzw. Ausgänge deren Verwendungsart kennzeichnet. Möglich sind folgende Verwendungstypen:

Eingänge:

- onStart - onStop - onEvent - ALMemory Input

Ausgänge:

- onStopped - ponctual

DYNAMIC

Dynamische Ein- bzw. Ausgänge können Daten beliebige Typen annehmen. Hiermit ist auch die Übermittlung von größeren Datenmengen in Form von Arrays möglich.

Ein Dynamic Ein- bzw. Ausgang lässt sich mit jedem anderen Ein- bzw. Ausgang verbinden.

„BANG“

Dies ist ein Datenloser Ein- bzw. Ausgang. Dem Eingang wird lediglich ein datenloses Signal übergeben. Dieser Typ eignet sich, wenn z.B. eine Box einfach nur gestartet werden soll.

Ein „Bang“ Ein- bzw. Ausgang kann mit anderen Bang oder Dynamic Ein-/Ausgängen verbunden werden.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 21 Robotik AG | SS 2011

NUMBER

Ein-/Ausgänge der Art Number können eine Fließkomma- oder Ganzzahlen annehmen. Sie lassen sich nur mit Number und Dynamic Ein-/Ausgängen verbinden.

STRING

String Ein-/Ausgänge können einen Zeichenstring entgegennehmen/übermitteln. Sie lassen sich nur mit String und Dynamic Ein-/Ausgängen verbinden.

ONSTART

Eingänge vom Verwendungstyp onStart symbolisieren den Eingang, mit dem eine Box gestartet wird. Durch Stimulation des Eingangs wird die Box initialisiert und gestartet.

ONSTOP

Eingänge vom Verwendungstyp onStop symbolisieren einen Eingang, der die Ausführung einer Box abbricht. Bei einem Flow Diagramm werden bei Stimulation des onStop Eingangs der äußersten Box automatisch die onStop Eingänge der untergeordneten Boxen stimuliert.

ONEVENT

onEvent Eingänge stehen für ‚normale‘ Eingänge keines speziellen Verwendungstyps

ALMEMORY INPUT

ALMemory Inputs werden nicht als Eingang außen an der Box angezeigt, sondern stehen nur innerhalb einer Flow Diagramm-Box zur Verfügung und können mit einer ALMemory Variable verknüpft werden.

Für ALMemory Inputs kann kein Typ angegeben werden, da dieser von der ALMemory Variable mit der er Verknüpft ist abhängt.

ONSTOPPED

onStopped Ausgänge stehen für den Ausgang, der stimuliert wird, wenn die Box beendet wurde. Wird er stimuliert, wird die Box beendet und aus dem Speicher entladen. Möchte man Sie erneut nutzen, muss man zuerst den onStart Eingang stimulieren.

PONCTUAL

Ponctual Ausgänge sind ganz normale Ausgänge, ohne weitere Bedeutung.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 22 Robotik AG | SS 2011

BOXPARAMETER

Boxen können neben den Ein- und Ausgängen noch Parameter enthalten, die über einen klick auf den Schraubenschlüssel in der linken unteren Ecke des Box-Symbols im Flussdiagramm editiert werden können.

Für die Parameter lassen sich in den Box-Einstellungen (Rechtsklick auf Box Edit box) die Grenzen und Standartwerte für die Box-Parameter einstellen.

Die Box-Parameter lassen sich auch zur Laufzeit des Programms auf dem Nao noch ändern und werden bei Bedarf auf dem Nao aktualisiert.

EIGENE BOX HINZUFÜGEN

Um eine eigene neue Box hinzuzufügen, rechtsklicken Sie auf eine freie Fläche im Flussdiagramm und wählen Sie Add a new box aus.

Geben Sie mindestens einen Namen für die Box an. Ein Symbolbild wird, soweit sie keines Angeben, automatisch hinzugefügt.

Für alle Eingänge, die Sie bereits jetzt erstellen, werden automatisch Funktionsaufrufe innerhalb des Programms der Box angelegt. Für nachträglich hinzugefügte Eingänge, müssen Sie dies selbst machen.

BOX SKRIPT

Um das Programm einer Box, das Box Skript, zu bearbeiten, rechtsklicken Sie auf eine Box und wählen Edit box script aus.

Die Box ist als Klasse implementiert. In der __init__ Sektion können Sie Variablen vordefinieren.

Die Funktion onLoad() wird beim Laden der Box aufgerufen. Dies geschieht automatisch, wenn die Box startet.

Der Aufruf von onUnload() beendet die Box wieder.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 23 Robotik AG | SS 2011

BOXEN ZU BOX LIST HINZUFÜGEN

Um eine Box zur Box List hinzuzufügen, rechtklicken Sie auf eine Box und wählen Add to library aus.

Die Box wird dann in die aktuell geöffnete Box Library kopiert. Sie sollten die Box Librarys in der Box List über File Save opened libraries speichern, da dies nicht automatisch geschieht.

POSE LIBRARY

In der Pose Library können verschiedene Positionen des Nao gespeichert werden.

Öffnen Sie die Pose Library über View Pose library.

Halten Sie jetzt den Nao fest und deaktivieren Sie die Motoren. Anschließend setzen Sie den Nao in die Position die Sie speichern möchten. Z.B. eine stabile Sitzposition.

Sie können die Motoren jetzt wieder aktivieren.

Wählen Sie dann in der Pose Library File Add position aus und geben einen Namen für die Position ein. Über Screenshot können Sie ein Abbild des 3D Modells als Symbol für die Position auswählen. Bestätigen Sie, wenn Sie fertig sind, mit OK.

Speichern Sie die aktuelle Pose Library mit Hilfe von File Export position library.

HINWEIS: Eine Position lässt sich wie eine Box auf das Flussdiagramm ziehen und als Timeline Box verwenden.

Fachhochschule Kiel | FB IuE NAO - Tutorium

©2011 Hannes Eilers 24 Robotik AG | SS 2011

NAO DOCUMENTATION

Die Dokumentation des Nao befindet sich im Installationsverzeichnis im Unterordner /doc.

Die HTML-Dokumentation enthält drei Abschnitte:

Das grüne Dokument enthält allgemeine Hardwarespezifikationen des Nao und eine Einführung und Installationshinweise zu Choregraphe.

Das blaue Dokument beinhaltet Informationen zu den API Funktionen der Naoqi, sowie Syntaxbeschreibungen.

Das rote Dokument enthält detaillierte Daten zur Hardware und zur verwendeten Systemarchitektur.