Einführung zur Laborveranstaltung: Intelligente Roboter und autonome Agenten. Projektgrundlagen: NAO

Ähnliche Dokumente
Smart Visu Server. Wie verbinde ich Philips Hue?

Bedienungsanleitung für MEEM-Kabel-Desktop-App Mac

Installation des Thermotransferdruckers MG2 bei Windows XP (SP2)

Inbetriebnahme der Casambi App Beispiel und Screenshots mit Android 4.4 / Firmware Version 23.1 App Version 2.12, Build 331

Kurzanleitung Neue Funktionen

ReynaPro_EOS_manual_ger.doc. ReynaPRO Handbuch EOS Reynaers Aluminium NV 1

RxView - RxHighlight R5 - build 138 Viewing Kommentierung Planvergleich Dateiformat-Konvertierung

Mach 4 INSTALLATION. Mach4 Fräsen. Seite 01. CNC-Steuerung.com. Installation Mach4 der Firma CNC-Steuerung.com Bocholt

Dokumentation Aufbau und Inbetriebnahme RS-232

STARTEN SIE HIER. Möchten Sie den Drucker mit einem drahtlosen Netzwerk verbinden? Drahtlos USB Verkabelt

Konfiguration Agenda Anywhere

Kurzanleitung für Windows-Computer - IPC-10 AC

1 Excel Schulung Andreas Todt

Kurzanleitung für Windows-Computer - IPC-100AC

Cockpit-XP v3. Dokumentation. Neuen USB Treiber installieren Auch USB-Treiber für Firmware Änderung

Citrix Zugang Inhaltsverzeichnis

Ein erstes "Hello world!" Programm

Rückgabewerte von Methoden

Von Cathrin Sugg, Februar imovie Tutorial

Ihr PC - Arbeitsplatz

Printing mit Windows Server 2003 Ver 1.0

Bedienungsanleitung für MEEM-Kabel-Desktop-App Windows

AutoRunnerX / AutoRunnerU Kurzanleitung

Einführung in die Programmierung des VEX IQ mit Modkit for VEX

Schnellstart- Anleitung für Windows

Konfiguration für den Betrieb über LAN Interface

b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version

Operation Phrike Benutzerhandbuch

Kurzanleitung creator 2.0

Kurzanleitung Installation und Aufbau AMGoVID IP-850

u::lux Erste Schritte Anleitung Tel: +43/662/ Fax: +43/662/

USB-Stick für die Wiederherstellung von Windows 10 für die One Xcellent Box

Programmieren des NXT-Roboters mit LabView 2010

Indoor eptz-kamera (850nm) mit Panorama- Objektiv und SD-Karten-Schacht

Bedienungsanleitung PC-Software für CTS-7 C (V )

PG5 Starter Training PG5 Core und Webeditor 5 Daniel Ernst DE

Bedienungsanleitung. 3. CMS Software. 3.1 Systemvoraussetzungen. 3.2 Installation der CMS Software. Hardware:

Anleitung zum Klick & Show Firmware-Update

USB-Stick für die Wiederherstellung von Windows 10 für die One Xcellent Box

Citrix Zugang Inhaltsverzeichnis

PROFFIX Terminal Dokumentation

Anleitung CEECCOACH Update Einstellung Headset

Leitfaden für die Installation der freien Virtual Machine C-MOR Videoüberwachung auf einem Microsoft Hyper-V-Server

eptz-kamera (850nm) mit Panorama-Objektiv und SD-Karten-Schacht

ednet.power Anleitung zur Schnellinstallation

WorldSDS Installationsanleitung. Inhaltsverzeichnis

Konfiguration Agenda Anywhere

BIT IT Cloudio. Konfigurationsanleitung

Bedienungsanleitung PC-Software für CTS-32 C

Klicken Sie auf das Paxton-Icon, um das Hauptmenü aufzurufen. Dieses Datei-Menü sollte den meisten Windows-Anwendern vertraut sein.

Erste Schritte mit dem Fable-Roboter

Installation von WIS offline auf dem XENTRY Connect

PODODAT 6. Installation

Leitfaden für die Installation der freien Virtual Machine. C-MOR Videoüberwachung auf einem VMware ESX Server

Dokumentation Benachrichtigungen

Faulhaber Schulmaster Admin

Anbindung NEXTION Display mit ESP8266 an IP-Symcon

Installieren von Bluetooth-Geräten in custo diagnostic 3.8

Einrichtung eines drahtlosen Infrastructure Netzwerks für AIBO

TeamDrive Outlook-Plugin für Windows

Virtuelle Maschinen konfigurieren

Installation der Convision V100/V200 Serie

Schließkraftmessgerät KMG-700. Kurzanleitung KMG DE01. GTE Industrieelektronik GmbH

Aufgabe spshaus Übung P1

CONTASign Pro. Installation der Software und Registrierung

ACHTUNG: 1 / 9

Skype for Business. Anleitung für Mac. zum Herunterladen, Installieren und Einrichten von Skype for Business mit der Logitech Konferenzkamera Connect.

Kurzanleitung creator 2.0

* USB-Kabel nicht im Lieferumfang enthalten, nur Windows

Business Software für KMU. Internet Explorer 11 einrichten

USB / LAN Interface ACS - Power Source HBS Electronic GmbH

USB-Stick für die Wiederherstellung von Windows 10 für das Xcellent Tablet

PLEXTALK Pocket PTP1 Tutorial - Podcast-Empfänger -

Wir arbeiten ständig daran, unseren ChessGenius Exclusive noch besser zu machen. Deswegen freuen wir uns immer über Ihr Feedback unter

Fingerpulsoximeter. 1. Wie führe ich eine Echtzeitübertragung vom PULOX PO-300 zum PC durch und speichere meine Messdaten auf dem PC?

1 BIM Link aktivieren

Benutzerhandbuch. Falls Sie den Dongle nicht angeschlossen haben, erscheint die folgende Meldung. Sie können aber Ignore wählen und fortfahren.

Aufnahmen der Rademacher HD Kamera speichern

Casambi App Kurzanleitung

CRecorder Bedienungsanleitung

Einrichten des IIS für DataFlex WebApp Server. Einrichten des IIS (Internet Information Server) für DataFlex WebApp Server

Schnelleinstieg Agenda Anywhere

Beschriftungssoftware für Legrand Reiheneinbaugeräte

Lieferumfang Allgemeine Hinweise Aufbau Einrichtung... 3

Erstellen von graphischen Ausgaben

Installation Amadeus Selling Platform

Kindermann Klick & Show Firmware-Aktualisierung

802.11b/g/n WLAN USB-Adapter Kurzanleitung zur Installation DN-7045

Baue deinen ersten Roboter

Kindermann Klick & Show Firmware-Aktualisierung

Inhalt. Allgemein. 1 Allgemein Wie finde ich den richtigen Port? Wie erkenne ich das über Ethernet angeschlossene Zeitmessgerät?...

SL BKRD DECUS RESPEC GAMING MOUSE

Programmierhandbuch. ActiLume wireless 1-10 Volt mit MultiOne USB2ZigBee

DVR420N DVR420S DVR820N DVR820S DVR1620N

Im Dienste kranker Kinder. Bedienungsanleitung

Erste Schritte mit Ihrer neuen Silhouette Curio

Transkript:

Einführung zur Laborveranstaltung: Intelligente Roboter und autonome Agenten Projektgrundlagen: NAO

1. Sicherheitsvorkehrungen zur Inbetriebnahme: Wenn Sie Übungen mit dem NAO durchführen ist stets auf folgendes zu achten: dass der NAO sicher steht/sitzt dass der NAO nicht an Tischkanten positioniert ist beim Aufnehmen/Tragen der NAO immer an seiner Taille festgehalten wird sich keine Flüssigkeiten in der Nähe des NAO befinden Bewegungsabläufe möglichst ohne angeschlossene Kabel vollziehen 2. Installation der Software Installieren Sie die Software welche Sie vom Laborpersonal bekommen mit dem dafür erforderlichen Lizenzschlüssel, welchen Sie ebenfalls vom Laborpersonal bekommen. Oder verwenden Sie einen der Live-USB-Sticks mit vorinstallierter Software. 3. Laden/Inbetriebnahme des NAO: Zum Laden das Netzkabel an der Rückseite des NAO anstecken und sicherstellen das der NAO sicher sitzt. Zum Inbetriebnehmen des NAO runden Taster in Brustmitte gedrückt halten, bis optisches Einschaltfeedback erfolgt ist.

4. Verbindung mit dem NAO aufbauen Direkte Verbindung mit Kabel: Kabel mit Hinterseite des Kopfes verbinden. Über marvin.local sollte der NAO nun erreichbar sein, ggf. vom Laborpersonal Einstellungen am NAO vornehmen lassen. Verbindung über Router (Kabelgebunden oder WLAN): sicherstellen das der Router eingeschaltet ist bevor der NAO eingeschaltet wird. Wenn das Netzwerk beim Bootvorgang nicht verfügbar ist kann es Komplikationen mit der Addresszuweisung geben. Zur Überprüfung der IP-Adresse nach dem Bootvorgang (nach akustischem Feedback) einmal kurz auf den Taster in der Mitte der Brust drücken um den NAO seine IP-Addresse vorlesen zu lassen. Sollte er sich nicht im gleichen Netzwerk befinden wie Sie selbst, Laborpersonal rufen. Anmeldung am Router über WLAN: SSID: NorthernStars Password: Marvin2011 Befehle zur Kontrolle der eigenen IP-Addresszuweisung über Kommandozeile: Windows: ipconfig Linux/MacOS: ifconfig Sollte alles ordentlich verbunden sein kann man sich nun mittels Coregraphe mit dem NAO verbinden: Im folgenden Fenster den NAO auswählen und auf "Connect to" klicken: Der NAO ist nun verbunden und sollte seine reale Position nun in der 3D-Vorschau anzeigen.

5. Einführung zur Verwendung des C horegraphe: Auf der linken Seite des Coregraphe befindet sich eine Auswahl an vorgefertigten Bausteinen welche Sie verwenden können, aber nicht müssen. (Wird dies nicht angezeigt lässt es sich über "View -> Box librarys" wieder aktivieren.) Mittels Drag&Drop können die Bausteine in die Programmfläche gezogen werden um diese zu verwenden: Um diesen Baustein nun verwenden zu können muss er mit dem Start des Programmes verknüpft werden:

Wenn Sie nun auf den Play-Button klicken sollte der NAO "Hello" sagen. Per Doppelklick auf die Say-Box kann der Gesprochene Text verändert werden: Es öffnet sich die Unterfunktion der Say-Box, in welcher sich der Text sowie die Sprache anpassen lassen. Dies bietet eine Möglichkeit der Variation des Verhaltens. Die andere besteht darin auf das Einstellungssymbol unten Links in der Say-Box zu klicken, wodurch sich Funktionsparameter verändern lassen:

Wenn Sie Bewegungen ausführen lassen wollen sollten die Motoren des NAO aktiviert werden: Während des Programmierens bitte die Motoren ausschalten sofern Sie über einen längeren Zeitraum nicht genutzt werden, um Überhitzung zu vermeiden. Allerdings sollten die Motoren niemals im stehen ausgeschaltet werden, da der NAO in dem Falle sofort umkippt und erhebliche Schäden davon tragen könnte. Nun können Sie anhand einer "Stand Up"-Box den NAO aufstehen lassen. Oder sie benutzen eine Standart-Funktion der Pose-Library:

Wollen Sie nur einzelne Gliedmaßen bewegen können Sie dies im 3D-Modell anklicken und die Motoransicht öffnen: Hiermit lassen sich per Schaltfläche "Stiffen chain on/off" auch nur vereinzelt Motoren für den jeweiligen Arm etc. aktivieren um diesen in Position zu halten oder über die Schieberegler anzusteuern. Hierbei ist darauf zu achten, dass der NAO keine unmöglichen Bewegungen versucht zu unternehmen, wie z.b. einen Arm durch sein Bein zu bewegen. Machen Sie sich mit der Umgebung des Choregraphe vertraut und erstellen Sie einfache Bewegungsabläufe und/oder Sprachausgabe.

6. Befehle übergeben und Aktionen ausführen lassen In den vorgefertigten Boxen finden Sie fertige Bausteine hierzu, sowie Bausteine mit denen Sie dem NAO Befehle übermitteln können, wie z.b. Tastflächen am Kopf / Füßen, Ultraschallsensoren, Mikrofone zur Spracherkennung etc. Um diese Auswerten zu können verbinden Sie die Ausgänge der jeweiligen Box mit dem Eingang des Folgeverhaltens: Um herauszufinden welche Optionen die Boxen als Ausgang bieten, bieten diese einen Tooltip bei Mouseover. In diesem Falle: wenn sich nichts vor dem linken Ultraschallsensor des NAOs befindet. Testen Sie dem NAO Befehle über die Schaltflächen/Sensoren zu geben, um Ihn einfache Bewegungen ausführen zu lassen, beobachten Sie den Programmablauf im Coregraphe. Weiterhin können Sie dem NAO Sprachbefehle über die Spreech Recognition Box geben: Hierfür geben Sie dem NAO in den Parametern der "Speech Reco."-Box die zu erkennenden Worte (getrennt durch ; ) vor, welche hinterher an eine switch-case Unterscheidung weitergegeben wird um jeweilige Folgeaktionen auszuführen.

Wird die Spracherkennung gestartet gibt der NAO ein akustisches sowie optisches Feedback, nun ist der Nao bereit Sprachbefehle zu erkennen. Um die Befehle richtig zu erkennen, sollten Sie laut und klar sprechen, sollte der NAO daraufhin immernoch nichts erkennen, senken Sie den Wert des Thresholds bis er etwas erkennt. Um Befehlsabfolgen besser voneinander abzutrennen sollten Sie die Ausgänge der Fallentscheidung zurückführen auf den Unterbrechungseingang der Spracherkennung, sowie den Ausgang der Folgebefehlskette auf den Start der Spracherkennung, sodass der Nao während seiner Aktion die Spracherkennung abschaltet um Komplikationen zu vermeiden und hinterher wieder startet um neue Befehle ausführen zu können: Versuchen Sie dem NAO Sprachbefehle zu geben und dies mit Antworten oder Bewegungen zu verbinden.

7. Bewegungen mit Choregraphe aufnehmen Suchen Sie sich links aus der Box-Library die Timeline Box, zu finden unter Templates --> Timeline. Wenn Sie nun die Box öffnen kommen Sie in die Timeline: Hier lassen sich die Zustände der Motoren festhalten. Hierzu können Sie einzelne Frames erstellen: Nun können Sie den Nao nach belieben positionieren und über "Store joints in keyframe" die Zustände speichern. Schalten Sie die Motoren zum positionieren aus und wieder ein, sobald die gewünschte Position eingestellt ist. Sollte eine stehende Position gewählt werden schalten Sie niemals die Motoren komplett aus bzw. halten Sie den Nao an der Taillie fest!

Wollen Sie nur z.b. einen Arm neu positionieren schalten Sie die Motoren des Arms aus. Hier können Sie auch die Motoren beobachten wenn Sie den aktuellen Frame ändern. Bedenken Sie das die Motoren Zeit benötigen um bestimmte Positionen anzufahren, liegen die Frames zu dicht beieinander können die Bewegungen nicht richtig ausgeführt werden. Sie können Bewegungsabläufe verlangsamen oder beschleuningen indem Sie die Frames auf der Timeline verschieben. Speichern Sie mehrere Positionen eines Arms und beobachten das Verhalten in der 3D- Simulation oder am realen Nao.

8. Programmieren des NAO mittels Python Fügen Sie dem Workspace eine neue Box mittels Rechtsklick hinzu: Es öffnet sich ein Dialog um die neue Box weiter spezifizieren zu können, stellen Sie sicher das der Box-type "Script" eingestellt ist. Sie können der Box hier nach belieben Namen zuweisen und ihr Bilder zuordnen. Speichern Sie die Konfiguration indem Sie auf OK klicken. Doppelklicken Sie auf die Box um den script-editor zu starten ( alternativ: Rechtsklick + edit Boxscript ). Suchen Sie hier nach der Zeile "def oninput_onstart(self):" diese definiert eine Funktion (oder Methode) welche beim Start der Box ausgeführt wird. Löschen Sie pass und fügen stattdessen: ttsproxy = ALProxy( ALTextToSpeech ) ttsproxy.say( Hello world! ) ein. Achten Sie dabei auf die, für Python typischen, Einrückungen. In diesem Falle benötigen die Zeilen die gleiche einrückung wie zuvor pass.

Mit der ersten Zeile erstellen Sie sich ein Objekt welches Sie der Variable "ttsproxy" zuweisen. Um später darauf zugreifen zu können. Die zweite Zeile benutzt nun die "say"-funktion des gerade erstellten Objektes um den String "Hello World" über die Sprachausgabe des Roboters ausgeben zu lassen. Erstellen Sie eine eigene Box und lassen den Nao über Python sprechen. Versuchen Sie während des Sprechens die Stimmlagen zu ändern o.ä. Verwenden Sie hierzu die mitgelieferte API-Dokumentation, zu finden unter: "Help -> API Reference". Erstellen Sie eine neue Box und fügen Sie gleich der Sprachausgabe nun: motionproxy = ALProxy( ALMotion ) motionproxy.walkto(0.2, 0.0, 0.0) self.onstopped() ein. Dies lässt den Nao eine bestimmte Distanz laufen. Die erste Zeile erstellt ein Objekt der ALMotion-Klasse um Bewegungsfunktionen bereitzustellen. Die zweite Zeile benutzt die Funktion walkto der Klasse um eine Bewegung nach den übergebenen

Parametern auszuführen. Die Parameter in der Klammer bestimmen die Distanz inrichtung der x- Achse in Metern, die Distanz in Richtung der y-achse in Metern, sowie den Drehwinkel in Radiant. Die 3. Zeile ruft die onstopped() Funktion auf um die Box zu terminieren und die Ausführung an die folgende Box zu übergeben. Verknüpfen Sie die zuerst erstellte Sprach-Box mit dem Ausgang der nun erstellten WalkTo- Box und führen dies aus.

Sie können nun Ihre Box bedienungsfreundlicher gestalten, indem sie Parameter hinzufügen, so wie die Distanz in x und y Richtung und daraus den Drehwinkel bestimmen. Rechtsklicken Sie auf Ihre Box und wählen Edit-Box aus. Fügen Sie hier nun Parameter hinzu: Erstellen Sie einen x-parameter und einen y-parameter mit min. und max. Werten von -1 bis 1. Hierzu müssen Sie den Parametertyp auf Float ändern. Wenn Sie nun den script-teil Ihrer Box öffnen können Sie an den Anfang des Scripts die math-bibliothek hinzufügen mit dem Befehl: import math Sie benötigen diese um die Arcustangens- und Quadratwurzelberechnungen ausführen zu können. Nun können Sie mit der Funktion self.getparameter("<parametername>") Ihre Parameter in Ihrem Script aufrufen und einer Variable zuweisen. x = self.getparameter("x") y = self.getparameter("y")

Nun können Sie den Drehwinkel berechnen: drehwinkel = math.atan2(y,x) Und die Distanz die gelaufen werden muss: zulaufendedistanz = math.sqrt(x*x + y*y) Nun können Sie Ihre Funktionsaufrufe um diese Werte erweitern: motionproxy = ALProxy( ALMotion ) motionproxy.walkto(0.0, 0.0, drehwinkel) motionproxy.walkto(zulaufendedistanz, 0.0, 0.0) self.onstopped() Der Nao wird sich nun erst drehen und dann laufen. Er berechnet also die Distanz und Winkel eines Vektors und bewegt sich an diese Position. Lassen Sie den Nao mittels Python-script entlang eines Vectors laufen den Sie mittels Parametern an Ihrer Box einstellen.