NAO: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 71: Zeile 71:
  Posture lyingbelly.png | 8. Lying belly
  Posture lyingbelly.png | 8. Lying belly
</gallery>
</gallery>
==Sprache==
Ein NAO kann maximal zwei Sprachenpakete speichern. Eines dieser Pakete ist immer Englisch. Der NAO der Hochschule Hamm-Lippstadt kann neben Englisch auch Deutsch sprechen.
===Sprachausgabe===
Der NAO verwendet ein Sprachausgabesystem, mit dessen Hilfe er beliebige Texte in Sprache umwandelt, die über die Lautsprecher ausgegeben werden. Hierbei sind die installierten Sprachpakete zu beachten.
Die Stimme des NAO kann an die jeweilige Situation angepasst werden. Dabei können Lautstärke, Stimmlage und Geschwindigkeit verändert werden. Zudem ist es auch möglich Audio-Dateien aufzugeben.
[[Datei:NAO Speaker.jpg|400px|zentriert|]]
===Spracherkennung===
Der NAO kann ähnlich wie der Mensch akustische Signale aufnehmen, die als Sprache erkannt und verarbeitet werden können. Im Gegensatz zu menschlichen Ohren, die ununterbrochen hören, muss der NAO auf das Erfassen von Tönen und Geräuschen zu bestimmten Zeiten programmiert werden.
[[Datei:NAO Microfone.jpg|400px|zentriert|]]
Um in der Lage zu sein, einzelne Wörter verstehen zu können, benötigt der NAO eine Bibliothek. Er erwartet nur Wörter die in dieser Bibliothek stammen. Diese Bibliothek kann zum Beispiel die beiden Wörter “ja” und “nein” beinhalten. Wenn der NAO die aufgenommenen Töne verarbeitet, wird er sie als “ja”, “nein” oder als keines von beiden einordnen.  Entscheidet ob ein Wort erkannt wird ist einen Schwellwert, der den prozentualen Anteil der des gesagten Wortes und des Wortes der Bibliothek angibt. Dies ist vergleichbar mit dem automatisierten Telefondienst oder mit der Sprachsteuerung eines Mobiltelefons, wobei eine Reihe von Optionen vorgegeben wird, aus denen man durch mündliche Ansage auswählen kann.
Der NAO kann so programmiert werden, dass er je nach Wort, das er versteht, auf unterschiedliche Weise reagiert. Nachdem er das Wort “ja” hört, könnte er zum Beispiel mit “das ist richtig” antworten, und auf “nein” könnte er mit “das ist falsch” antworten. Wenn er das Wort nicht versteht (wenn es weder nach “ja” noch nach “nein” klingt), könnte er mit “ich weiß nicht” antworten. In der Computer- und Roboterprogrammierung wird dieser Vorgang bedingte Verzweigung genannt.


==Orientierung==
==Orientierung==

Version vom 10. März 2016, 13:49 Uhr

NAO Roboter

Höhe 57,3 cm
Gewicht 5,2kg
Akku-Laufzeit ca. 60 bis 90 Minuten
Freiheitsgrade 36
Betriebssystem Linux
Prozessor Intel ATOM Z530 (1.6GHZ)
RAM 1 GB
Speicher 8 GB
Verbindungen Ethernet / WiFi (b/g/n)
Bildsensoren zwei HD 1280x960 Kameras
Sensoren 4 Ultraschall-sensoren, ein Trägheitssensor, Drucksensoren in den Füßen
Programmiersprachen (Embedded) Python / C++
Programmiersprachen (Remote) C / C++ / Python / .NET / Java / MatLab / Urbi
Mögliche Sprachen (Ausgabe und Spracherkennung) Arabisch, Brasilianisch (Portugiesisch), Chinesisch, Dänisch, Deutsch, Englisch, Finnisch, Französisch, Italienisch, Japanisch, Koreanisch, Niederländisch, Polnisch, Portugiesisch, Spanisch, Schwedisch, Russisch, Tschechisch, Türkisch
Mehr Informationen: Datenblatt(eng).pdf

NAO ist ein humanoider Roboter des französischen Roboterherstellers Aldebaran Robotics. Der Nao wurde im Jahr 2006 zum ersten Mal vorgestellt. Im Oktober 2012 wurde das URBI-Steuerungssystem und die Programmiersprache Urbiscript unter der BSD-Lizenz freigegeben. Diese Ausführungsplattform kam durch eine Übernahme von Gostai im Juli 2012 in den Besitz von Aldebaran, URBI selbst läuft auch auf Produkten anderer Hersteller (etwa Lego Mindstorms NXT).

Es gibt verschiedene Versionen des Roboters mit unterschiedlichen Freiheitsgraden und verschiedenen verbauten Sensoren. Seit 2013 besitzt die Hochschule Hamm-Lippstadt einen NAO des Typs H25 (V40).

Sicherheit

Vor der Arbeit mit dem NAO müssen die Sicherheitshinweise ausgedruckt, gelesen und unterschrieben werden.

Sie finden das Dokument unter folgendem Link:

NAO_-_Sicherheitshinweise.pdf

Der Roboter

In dem NAO Roboter befinden sich eine Vielzahl an Sensoren und Aktoren. Auf dem folgenden Bild wird dargestellt wo die einzelnen Sensoren und Aktoren verbaut worden sind. In den Gelenken befinden sich Servomotoren die den Roboter bewegen können.

Übersicht der einzelnen Sensoren und Aktoren
Übersicht der einzelnen Sensoren und Aktoren


Die Gelenke wurden den menschlichen Gelenken nach empfunden. Daher haben die Gelenke unterschiedlich Freiheitsgrade wie im folgenden Bild zu sehen ist. Zudem haben die Gelenke auch nur einen bestimmten Ausschlag. Es ist also nicht möglich dass sich einzelne Gelenke auskugeln können.

Übersicht der Freiheitsgrade der einzelnen Gelenke
Übersicht der Freiheitsgrade der einzelnen Gelenke


Zustände

Der NAO-Roboter verfügt über acht Standartpositionszustände. Diese Zustände werden von dem NAO erkannt und können druch vorgefertigte Blöcke eingenommen werden. Es ist aber auch möglich weitere Zustände zu definieren.

Sprache

Ein NAO kann maximal zwei Sprachenpakete speichern. Eines dieser Pakete ist immer Englisch. Der NAO der Hochschule Hamm-Lippstadt kann neben Englisch auch Deutsch sprechen.

Sprachausgabe

Der NAO verwendet ein Sprachausgabesystem, mit dessen Hilfe er beliebige Texte in Sprache umwandelt, die über die Lautsprecher ausgegeben werden. Hierbei sind die installierten Sprachpakete zu beachten.

Die Stimme des NAO kann an die jeweilige Situation angepasst werden. Dabei können Lautstärke, Stimmlage und Geschwindigkeit verändert werden. Zudem ist es auch möglich Audio-Dateien aufzugeben.

Spracherkennung

Der NAO kann ähnlich wie der Mensch akustische Signale aufnehmen, die als Sprache erkannt und verarbeitet werden können. Im Gegensatz zu menschlichen Ohren, die ununterbrochen hören, muss der NAO auf das Erfassen von Tönen und Geräuschen zu bestimmten Zeiten programmiert werden.

Um in der Lage zu sein, einzelne Wörter verstehen zu können, benötigt der NAO eine Bibliothek. Er erwartet nur Wörter die in dieser Bibliothek stammen. Diese Bibliothek kann zum Beispiel die beiden Wörter “ja” und “nein” beinhalten. Wenn der NAO die aufgenommenen Töne verarbeitet, wird er sie als “ja”, “nein” oder als keines von beiden einordnen. Entscheidet ob ein Wort erkannt wird ist einen Schwellwert, der den prozentualen Anteil der des gesagten Wortes und des Wortes der Bibliothek angibt. Dies ist vergleichbar mit dem automatisierten Telefondienst oder mit der Sprachsteuerung eines Mobiltelefons, wobei eine Reihe von Optionen vorgegeben wird, aus denen man durch mündliche Ansage auswählen kann.

Der NAO kann so programmiert werden, dass er je nach Wort, das er versteht, auf unterschiedliche Weise reagiert. Nachdem er das Wort “ja” hört, könnte er zum Beispiel mit “das ist richtig” antworten, und auf “nein” könnte er mit “das ist falsch” antworten. Wenn er das Wort nicht versteht (wenn es weder nach “ja” noch nach “nein” klingt), könnte er mit “ich weiß nicht” antworten. In der Computer- und Roboterprogrammierung wird dieser Vorgang bedingte Verzweigung genannt.



Orientierung

Der NAO verwendet ein kartesisches Koordinatensystem, um zu bestimmten Punkten zu gelangen. die Abbildungen unten zeigen den Koordinatenrahmen des NAOs. die Abbildung links zeigt die (x, y)-koordinatenebene, wenn man den NAO von oben betrachtet. die Abbildung rechts zeigt denselben koordinatenrahmen in 3 Dimensionen.



Die x-Achse des NAOs zeigt nach vorn, die y-Achse zeigt zur linken Seite des Roboters. Die z-Achse, die senkrecht zur x- sowie zur y-Achse steht, zeigt nach oben. Die Einheiten der (x, y)-koordinatenebene des NAOs betragen Meter. So bezeichnen zum Beispiel die Koordinaten (1, 2) einen Punkt, der 1 Meter vor dem NAO und 2 Meter links des NAOs liegt.

Zusätzlich zu den Punkten in der (x, y)-Koordinatenebene werden Winkel definiert. Ein Winkel wird von der x-Achse ausgehend gegen den Uhrzeigersinn gemessen, wie in der Abbildung oben links durch Ѳ angezeigt.

Durch das Wissen von x,y und Ѳ kann der NAO seine Position von seinem Anfangspunkt bestimmen. Diese Bestimmung unterliegt durch äußere Einflüsse immer Fehlern und deshalb weicht der berechnete Punkt immer leicht von realen Punkt ab. Man nennt diese Schätzung der Position durch Berechnung des Weges und des Winkelns auch Odometrie

Programmierung (in Bearbeitung)

Stellen Sie zunächst sicher, dass die Internet Verbindung des NAO eingerichtet wurde. Sollte dies nicht der Fall sein, finden Sie mehr Informationen unter:

NAO Einrichtung der Internetverbindung

Der Router welcher das W-LAN "SmartLiving" bereitstellt ist nach dem Verbinden duch ein Kabel oder W-LAN unter http://192.168.199.1 erreichbar.

Hauptprogramme

1. NAOqi
* Betriebssystem des NAO-Roboters
* ermöglich das einbinden eigener Programme
2. Choregraphe
* Hauptprogramm für grafische und quellcode-basierte Programmierung
* anfängerfreundlich, da es viele vorgefertigte Module gibt die in einem Flussdiagramm eigebunden werden
* akzeptiert C++ und Python Skripte (für zusätzliche Module)
3. Monitor
* gibt Feedback über die Sensoren
* überträgt die Bilder der Kamera im Kopf des NAO
* bietet die Möglichkeit Bilder und Videos während des Testes Ihres Algorithmus aufzunehmen
4. Webots
* Ermöglicht eine Simulation des NAO-Roboters
* bietet vorgefertigte virtuelle Welt mit realistische physikalische Effekte
* viele Objekte können in der virtuellen Welt eingebunden werden

SDK (In Bearbeitung)

Zur Programmierung eigener Module werden verschiedene Software-Development-Kits (SDK) mitgeliefert. So gibt es SDKs für Sprachen wie z.B. C++, Java, MatLAB oder Python.

Jedoch wird MatLAB seit der Choregraphe/NAOqi Version 2.0.0 nicht mehr unterstützt. (Stand: März 2016)

Für die Installation der C++ SDK muss folgende Software zusätzlich installiert werden:

  • Visual Studio 2010
  • qiBuild
  • CMake 2.8.3 (oder höher)
  • Python 2.7

CMake ist dafür da makefiles und workspaces zu generieren, welche dazu beitragen, dass das Projekt über verschiedene Betriebssysteme (Windows, Linus, Mac, OpenNAO) kompilierbar wird. Es wird auch als cross-platform build system bezeichnet.qiBuild ist ein Werkzeug, welches mit Hilfe von CMake Projekte erstellt, die über verschiedene Betriebssysteme nutzbar sind.

Mehr zu CMake unter [[1]]

C++ Installation unter Windows

  1. Installieren Sie Visual Studio Sie finden die Installation im Campus Portal unter Dream Spark
  2. Installieren Sie Python2: https://www.python.org/downloads/
    (Python3 wird nicht unterstützt)
  3. Installieren Sie CMake: https://cmake.org/download/
  4. Fügen Sie Python2 (und Skripte) und CMake in PATH ein. Dazu geht man wie folgt vor:
    Im Startmenu Rechtsklick auf ComputerEigenschaftenErweiterte SystemeinstellungenErweitertUmgebungsvariablenSystemvariablen: Path (Doppelklick) → An letzter Stelle die beiden Verzeichnisse anfügen.
    Beispiel: C:\Program Files (x86)\CMake 2.8\bin
    Beispiel: C:\python;
    Beispiel: C:\python\Scripts
    Downloaden und entpacken Sie qiBuild: https://github.com/aldebaran/qibuild
  5. Öffnen Sie die Kommandozeile (StartleisteSuchecmd) und geben Sie
    pip install quibuild
    Lassen Sie die Kommandozeile geöffnet und geben Sie den Speicherort von CMake ein (Sie finden ihn wenn Sie auf (StartleisteProgrammeCMake (Rechtsklick) → Speicherort öffnenCMake (im Ordner)(Rechtsklick) → EigenschaftenZiel)
    Beispiel: C:\Program files (x86)\CMake\bin\cmake-gui.exe
  6. Geben Sie die Zahl ein die für Ihre Visual Studio Version steht.
    (Achten Sie darauf, dass sich die Versionsnummer vom Erscheinungsjahr unterscheidet. So ist Visual Studio 2012 Bsp. Version 11.0)
  7. Wählen Sie anschließend bei IDE die Nummer von „Visual Studio“

Die Konfiguration (Ab Schritt 7) kann jederzeit wiederholt bzw. verändert werden.

(MAC und Linux Nutzer finden mehr unter: http://doc.aldebaran.com/1-14/dev/cpp/install_guide.html?highlight=sdk)

Projekte

Es gibt bis jetzt noch keine offiziellen Projekte in kürze beginnt eine Roboter AG.

Häufige Probleme

Der NAO wird von Choregraphe nicht erkannt

  • Firmware-Version (NAO) und Software-Version (Choregraphe) müssen übereinstimmen.

Der NAO startet nicht, oder bricht beim Startvorgang ab.

  • Laden Sie die Batterie für mindestens 2 Stunden
  • Update your NAO (Sollte nur von einem WHK durchgeführt werden)
(in Choregraphe, unter „Connection“ > „Advanced“ > „Flash your NAO”).
  • Factory Reset (Sollte nur von einem WHK durchgeführt werden)

Der NAO lässt sich nicht herunter fahren

Stellen Sie den NAO in eine Stabile Position und drücken Sie den Knopf an seiner Brust für mehr als 8 Sekunden. (führt zu einem „force shutdown“)

Der NAO sagt, dass er sich nicht mit dem Netzwerk verbinden kann

  • Überprüfen Sie ob der Router funktionstüchtig ist
  • Schalten sie den NAO aus und erneut wieder an
  • Richten Sie das Netzwerk erneut ein (Siehe {Link})

Ich kenne die IP-Adresse meines NAO nicht

  • Drücken Sie die Taste an der Brust des NAO für eine Sekunde

Wenn ich nach dem vollständen Laden den Stecker des NAO ziehe und den Stecker wieder einstecke, dann leuchtet die Lade-LED Rot oder Orange.

  • Das ist normal, sobald Sie den Stecker ziehen wird der Akku langsam entladen. Das Charger erkennt, dass der Akku nicht vollständig geladen ist und beginnt daher mit einem neuen Ladezyklus.

Mein Ladegerät verweigert das Laden des Akkus

  • Dies passiert wenn die Temperatur des Akkus 50°C übersteigt. Lassen sie den Akku mindestens 20 Minuten abkühlen.

Verweise

Programme:

Tool zum Programmieren und Einstellen des NAO: Choregraphe

Tool zu Übermittelung von Sensorwerten und Bildausgabe: Monitor

Tool zu Simulation des Roboters: Webots

Kontakt

In der NAO Community finden Sie mehr Informationen zu häufigen Problemen. community.aldebaran-robotics.com

Support-Kontakt: contact.aldebaran-robotics.com

Mehr Information über ALDEBARAN Robotics, finden Sie auf der Webseite aldebaran-robotics.com

Firmware Update

  1. Naoflasher - USB Stick vorbereiten
  2. Upgrading using NAOFlasher
  3. Upgrading Nao