LEGO MINDSTORMS NXT MIT LABVIEW 2009 PROGRAMMIEREN

Ähnliche Dokumente
EINFÜHRUNG LEGO MINDSTORMS

Programmieren des NXT-Roboters mit LabView 2010

Für diesen Versuch werden die Kenntnis und das Verständnis der folgenden Unterlagen vorausgesetzt:

PC-basierte Messdatenerfassung mit NI LabVIEW

Prof. Hans-Dieter Seelig, Ph.D. Lehrveranstaltung Grafische Programmiersysteme

Meßtechnik Übung Labview. Dipl.-Ing. Robert Bordás, Dr.-Ing. Katharina Zähringer

Fakultät für Informatik, Institut für Robotik Laborpraktikum I Legorobotik graphische Programmierung

Lego Roboter mit NXT-G programmieren. Hochschule Mannheim

[ Experiment- und Datenprotokollierung. mit der EV3 Software]

Fakultät für Informatik, Institut für Robotik. Legorobotik Graphische Programmierung Vorstellung des EV3 Systems und der Programmierumgebung.

Vergleich zwischen Open Roberta / NEPO und LEGO MINDSTORMS EV3 / EV3-G. - Übersicht/Fact-Sheet - Programmblöcke - Beispielprogramme

Infokarte: Snap4Arduino

Die Einführung von mehreren "Start Bausteinen", um das Programm zu starten, realisiert leicht die parallele Programmverarbeitung (Parallele Tasks).

Dokumentation CT TG13 Labview. 1.1 Drehregler: 0 C bis 100 C, Anzeige analog und als Zahlenwert

Aufgabe Im Quadrat fahren

Technologie. NXT-Hauptmenü My Files

Einführung in die Arduino-Programmierung II

Einführung in die Programmierung des VEX IQ mit ROBOTC. Kurzanleitung

D i g i t a l l a b o r

Seite 1/6. ModellFerienPass.pdf).

Erste Schritte zum Start findest du hier:

Messungen mit dem Lichtsensor

ACHTUNG: Beim Anlernen darf jeweils nur ein Motor mit Strom versorgt sein!

Kurzanleitung für das Arbeiten mit der graphischen Programmiersprache LabVIEW für den GPS Digital Color Analyser

Fraunhofer IAIS. Lernen mit Robotern. Roberta Grundlagen und Experimente. Roberta-Reihe Band 1 - NXT

Programmieren mit RoboLab Bauen mit Lego

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Robot-Design Software

TOP BENDER. Bedienungsanleitung

Programmierhandbuch. ActiLume wireless 1-10 Volt mit MultiOne USB2ZigBee

Rechnergestützte Schnell-Konfiguration der Victron Geräte mit VE Bus

AustroModell. PROGRAMMIERUNG der USB - Servo Controller 6- bis 24-Fach

Bedienungsanleitung Move IQ

Der CodeBug. A) Erste Schritte. 1) Einleitung

Handbuch VENETUS L + XL Etikettenspender

Baue deinen ersten Roboter

3. Fahrbarer Roboter. Roboterprogrammierung. Autor: Fachhochschule Südwestfalen Fachbereich Elektrische Energietechnik Campus Soest

Einführung BLACKBURN ATOM 2

Datenlogger-Auswertesoftware GSoft V2.8

LED bewegt sich von 1ten -> 2ten > 3ten LED

qfix ASCII-Protokoll

Autorennen. Baue Dir selbst ein Autorennen. Konstruktion des Autos und der Rennstrecke

Übung 5: MSC Adams. Teil I: Modellierung eines Physikalischen Pendels. Gegeben sei ein physikalisches Pendel mit Schwerpunkt und Aufhängepunkt.

1 Spannung messen mit Grenzwertüberwachung

Sollte der angeschlossene PC keine serielle COM-Schnittstelle haben erscheint eine Meldung. In diesem Falle installieren Sie ein USB COM Interface.

Bernhard Wieland, Katharina Becker-Steinberger, Dr.-Ing. Ulrich Simon

Bedienungsanleitung. Datenmess- und Speichersystem. PWBlogg. Tablet-PC Software PWB-Soft 3.0 App. Für Windows und Android

Roboter programmieren mit NXC für LEGO MINDSTORMS NXT

Halbrechts werden in einer Spalte alle Komponenten dem Handy (im Viewer ) platziert sind.

Fakultät für Informatik, Institut für Robotik Laborpraktikum I - Medizinarena Legorobotik in C EV3

Bedienungsanleitung Version 1.0

Commander

ARDUINO KENNENLERNEN WAS IST EIN ARDUINO?

Programmierung von LED-Treibern Philips Xitanium LP/FP/

Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach

Arduino für FunkAmateure

Verwaltungssoftware für Display-Handsender Nr (SKX-LCD)

Kurzanleitung Programmierung (Ersetzt nicht die beigelegte Bedienungsanleitung)

Benutzerhandbuch AC Software

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

Technologie. Unter diesem Menü befinden sich drei Ordner:

Es können nur Werte ausgelesen werden, Es kann -NICHT- geschaltet werden!!

SL BKRD DECUS RESPEC GAMING MOUSE

Märklin Decoder Tool 3

Bedienungsanleitung. Name:Programmierbarer LED Controller Model:TC420

Wie können See how wir far Enchanting away something mitteilen, is. dass am NXT der Lichtsensor an Port 3 angeschlossen ist?

Inhaltsverzeichnis. 1 Anfang 2. 2 Erste Schritte 3. 3 Schleifen repeat while(true) Die if()-schleife... 5.

Kleine Anleitung zur Übertragung von Fotos per USB-Kabel von der Kamera zum Computer

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.

RobotC Beispielprogramme für EV3 Kepler Gymnasium Weil der Stadt Thomas Jörg Stand: 03. September 2018 Version 1.5

Eure Aufgabe ist es, Antworten auf die folgenden Fragen zu finden:

Wichtige Befehle bei der Programmierung von. FISCHER-Technik

BEDIENUNGSANLEITUNG 1

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

Centralis DC IB. MONTAGEBedienung. MONTAGEUtilisation. MONTAGGIOUso. Deutsch: Kapitel 1. Français: Chapitre 2. Italiano: Capitolo 3 9/02

PowerScan PM9500 Firmware Update und Überprüfung über USB (Feb 2017)

Postenblatt 1: Berührungssensor

Kurzinbetriebnahme MDrive Motion Control CANopen mit USB-CAN-Konverter MD-CC

Zusatzanleitung. MPR-1 I²C-Protokoll. Version 1.01

R 2 Prototyping. HV 2 Monitor Version 1.2. gmbh. 5. September 2012 INHALT. Übersicht Anschlüsse / Taster Funktionen...

Kurzanleitung LTT 186 bzw. LTT182 Stand-Alone-Betrieb. 1. Anschluss des LTT Rekorders an den Computer

Bedienungsanleitung TRICS

DOKUMENTATION W&Z-MESSWERTERFASSUNG

NXC-Programmiersprache

RCD1750SI / Bedienungsanleitung Deutsch. Allgemeine Steuerelemente Hauptgerät

Empfänger zur Ansteuerung von RGB LED Stripes gemeinsame Anode

Visual Basic Express Fehlerermittlung

Motorsteuerung CD 3000

Befehlstabelle awapswitch

ROBOTER. LÖSUNGEN zur Arbeit mit dem LEGO Mindstorms EV3

colorcontrol LT TeachTool Anleitung Programm zum Einlernen von Farben für die Farbsensoren der colorsensor LT-1-ST und LT-2-xx Serie

Modbus TCP/IP Gateway für 1-Wire Sensoren

Bedienungsanleitung FMI-250 Zusatz. ATP Messtechnik GmbH

Quick-Guide: GT-Command Mobile

Transkript:

LEGO MINDSTORMS NXT MIT LABVIEW 2009 PROGRAMMIEREN Prof. Dr.-Ing. Dahlkemper Fabian Schwartau Patrick Voigt 1 NXT DIRECT COMMANDS Es gibt zwei verschiedene Möglichkeiten, den NXT zu programmieren: Es werden entweder die NXT Direct Commands genutzt oder das NXTToolkit. Die Direct Commands bieten den Vorteil, dass das eigentliche Programm auf dem PC läuft und man die gesamte Funktionalität von LabView nutzen kann. Das NXTToolkit läuft hingegen auf dem NXT selbst und kann normale Funktionen von LabView nicht verwenden. Da beim NXTToolkit das Programm auf dem NXT läuft, kann man das Kabel zur Laufzeit entfernen, was bei den Direct Commands nicht möglich ist. Es ist allerdings auch bei Nutzung der NXT direct commands ein drahtlos gesteuerter Betrieb über Bluetooth möglich. Im Rahmen dieses Kurses steht die Vermittlung der graphischen Programmierung mit LabVIEW im Vordergrund. Daher beschränkt sich die Programmierung auf den Einsatz der NXT Direct Commands. Zu finden sind die Direct Commands in der Functions Palette unter Addons NXT Direct Commands. In der Controls Palette sind die Direct Commands nicht zu finden, denn alle Elemente für das Front Panel können aus den normalen LabView Bibliotheken verwendet werden. Um die Direct Commands aufzurufen, muss man auf das weiße Block-Diagramm rechtsklicken. Es öffnet sich die Funktionspalette. Dort ist die Zeile > NXT Robotics anzuwählen. Daraufhin öffnet sich das folgende Fenster, in dem NXT I/O > NXT Direct I/O ausgewählt werden muss. 1/5

1.1 VERBINDUNG Bei den Direct Commands muss zunächst eine Verbindung zum NXT hergestellt werden. Dafür wechselt man zunächst in das Block Diagram. Aus der Functions Palette werden nun folgende Elemente benötigt: - Find NXT - Create NXTObject - Destroy NXTObject Als erstes wird Find NXT erstellt. Bei den beiden Eingängen Connection Type und NXT Name muss mit einem Rechtsklick und Create Constant eine Konstante erstellt werden. Der Verbindungstyp muss auf USB stehen, der Name auf NXT. Auf der rechten Seite kann man noch mit einem Rechtsklick auf Found? unter Create Indicator eine LED Anzeige im Front Panel erstellen, die anzeigt, ob eine Verbindung hergestellt werden konnte. Als nächstes wird das Create NXTObject erstellt. Hält man es beim Erstellen dicht genug an das zuvor erstelle Objekt verbindet er automatisch Visa resource string mit Visa resource string und Error out mit Error in. Das Objekt Create NXTObject stellt nun eine Verbindung zur Verfügung, die von anderen Modulen, wie z.b. dem Motor-Objekt oder einem Sensor verwendet werden kann. Ist das Programm am Ende angelangt, sollte dieses Objekt mit dem Objekt Destroy NXTObject wieder gelöscht werden. Hierfür verbindet man wieder den NXTObject Ausgang mit dem NXTObject Eingang des Destroy NXTObject und den Error out mit dem Error in. Bevor es gelöscht wird, wird die Verbindung natürlich noch von anderen Funktionen benötigt. Daher sind hier keine Verbindungen eingezeichnet. Die Verbindung und die Beendigung der Verbindung mittels Destroy NXTObject werden in den weiteren Beispielen nicht mehr dargestellt, müssen dennoch mit eingebaut werden. 2/5

1.2 MOTOR DREHEN UND ANHALTEN Zum Drehen eines Motors benötigt man ein Motor Unlimited Objekt, welches in der Function Palette unter Addons NXT Direct Commands Output zu finden ist. Links bei den Eingängen lässt sich wieder mittels der rechten Maustaste auf den gewünschten Eingang eine Konstante oder ein Control (Steuerfeld im Front Panel) erstellen. Es ist hier angebracht, zumindest für Power und Output Port eine Konstante oder ein Control zu erstellen. Oben lässt sich wieder mittels Konstante oder Control die Drehrichtung des Motors einstellen. Erreicht der Programmfluss nun durch dieses Objekt, so beginnt sich der Motor zu drehen. Um den Motor zu stoppen, erstellt man ein Motor Stop Objekt aus der Function Palette unter Addons NXT Direct Commands Output. Als Input kann man angeben, welcher Motor gestoppt werden soll. 1.3 INKREMENTALGEBER DES MOTORS Alle drei Motoren besitzen Inkrementalgeber. Sie speichern die gedrehten Winkel der Motoren in Grad. Bevor man den Wert das erste Mal auslesen kann, sollte man ihn zunächst auf 0 setzen. Dies geschieht durch das Einfügen des Objektes Reset Motor Position aus der Function Palette unter Addons NXT Direct Commands Output. Danach kann der Wert mit Hilfe von Get Output Values, ebenfalls unter Addons NXT Direct Commands Output zu finden, ausgelesen werden. Der Eingang Output Port sollte wieder mittels einer Konstanten oder eines Controls definiert werden. Als nächstes muss ein Unbundle By Name Objekt erstellt werden. Dies ist in der Function Palette unter Programming Cluster, Class, &Variant zu finden. Dieses Objekt wird nun mit dem Ausgang Output Port Info verbunden. Das Unbundle by Name wird auf RotationCount gestellt. Am Ausgang liegt nun der Wert des Inkrementalgebers in Grad und kann z.b. mit einem Indicator angezeigt werden. 3/5

1.4 BESCHLEUNIGUNGSSENSOR Das Auslesen des Beschleunigungssensors mit den Direct Commands ist etwas aufwändiger als das Auslesen der anderen Sensoren. Zunächst muss das Objekt Read Acceleration Sensor (Addons NXT Direct Commands Input) erstellt werden. Nun benötigt man noch aus Programming Array das Element Index Array 3 Mal. Dessen Eingänge array verbindet man mit Acceleration Ausgang des Read Acceleration Sensor Objektes. Für die drei Eingänge index erstellt man je eine Konstante mit den Werten 0,1 und 2. In den Ausgängen element stehen nun die Werte für X, Y und Z. Die ausgegebenen Werte sind in g gemessen. Hält man den Sensor ruhig und eine Achse senkrecht nach unten sollte der Wert dieser Achse ca. 1 sein. 1.5 DREHRATENSENSOR (GYRO) Bei dem Drehratensensor ist es nötig, die Funktion Read.DC Sensor Value aus Addons NXT Direct Commands Input zu verwenden. Dabei müssen folgende Eingänge diese Werte bekommen: SensorType muss mittels einer Konstanten auf CUSTOM gestellt werden und Sensor Mode auf RAWMODE. Der Sensorwert kann nun an Raw Value abgelesen werden. Der Null-Wert liegt je nach Sensor bei ca. 620. Die Einheit ist Grad pro Sekunde und der maximale Wert beträgt ±360 /sek. Es ist zu beachten, dass der Wert ein Unsigned Long Int ist. Vor der Subtraktion von 620 muss der Wert zunächst in ein Signed Long Int umgewandelt werden. Die passende Funktion findet man unter Programming Numeric Conversion mit der Bezeichnung To Word Integer. Der Drehratensensor gibt die Winkelgeschwindigkeit (nicht die Winkelbeschleunigung) in Grad pro Sekunde aus. Eine Messung des Sensors benötigt ca. 3,3ms. 4/5

1.6 ANDERE SENSOREN Das Auslesen der Sensoren ist vergleichsweise einfach. In der Functions Palette unter Addons NXT Direct Commands Input finden sich alle restlichen Sensoren. Dieses Beispiel verwendet den Ultraschallsensor. Nach dem Erstellen des Sensor-Objektes muss lediglich der Port eingestellt werden. Auf der rechten Seite befindet sich der Ausgang, im Falle des Ultraschallsensors heißt er Centimeters. 2 BEISPIELPROGRAMM Das folgende Beispielprogramm bewirkt, dass sich der Motor dreht, beim Drücken einer Stop-Taste noch eine Sekunde nachläuft und dann anhält. 5/5