EINFÜHRUNG LEGO MINDSTORMS

Ähnliche Dokumente
LEGO MINDSTORMS NXT MIT LABVIEW 2009 PROGRAMMIEREN

Programmieren des NXT-Roboters mit LabView 2010

[ Experiment- und Datenprotokollierung. mit der EV3 Software]

Der Lego NXT Roboter. Hochschule Mannheim Fakultät für Informatik

Technologie. NXT-Hauptmenü My Files

Baue deinen ersten Roboter

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

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

PC-basierte Messdatenerfassung mit NI LabVIEW

Postenblatt 1: Berührungssensor

Lego Roboter mit NXT-G programmieren. Hochschule Mannheim

Erste Schritte zum Start findest du hier:

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

Technologie. Unter diesem Menü befinden sich drei Ordner:

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

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

Programmieren mit RoboLab Bauen mit Lego

Infokarte: Snap4Arduino

LEGO -EV3-Roboter. Bauen und programmieren mit LEGO MINDSTORMS EV3. Bearbeitet von Laurens Valk

Aufgabe Im Quadrat fahren

Softwarepraktikum Teamrobotik SS 2007 Abschlusspräsentation

Seite 1/6. ModellFerienPass.pdf).

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

Robot-Design Software

Lego Mindstorms. Diverse Übungen. Autor: Franz Philipp Website:

Kapitel IV: Hardware. Inhalt

Roboter programmieren mit NXC für LEGO MINDSTORMS NXT

EV3-TECHNIK. EV3-Sensoren

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

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

Programmierung von LED-Treibern Philips Xitanium LP/FP/

Wichtige Befehle bei der Programmierung von. FISCHER-Technik

Sie bauen Ihren ersten Roboter

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

Handbuch VENETUS L + XL Etikettenspender

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

Ein Fahrzeug mit Raupenantrieb

Handbuch. 03/2016 BV_update_tutorial_de. BreakerVisu-Update. Handbuch. Update eines Programms im BreakerVisu Panel

Softwarepraktikum Teamrobotik SS Gruppe 2

mit SD-Karte SD-Karte Inhalt

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

des NXT Brick mit NXC

Datenlogger-Auswertesoftware GSoft V2.8

Programme erstellen und bearbeiten

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

Commander

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

RCD1750SI / Bedienungsanleitung Deutsch. Allgemeine Steuerelemente Hauptgerät

Daniel Braun. Roboter programmieren. mit NXT-G für LEGO MINDSTORMS NXT

ACTIONCards for. H. Milchram März 2019

7,5 PS 125 PS (200/400V)

Digitales Netzteil zum Regeln von: Magnetpulver- und stromgeregelten Hysteresebremsen

1 Überblick. EdWin EwinView auf die Schnelle. Inhaltsverzeichnis

Arbeit_Roboter. Setze einen Haken bei den Fragen, die du für richtig hältst: Bei Textantworten oder Lückentexten gib jeweils das Ergebnis an.

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

Labor Automatisierungstechnik

EINSTELLEN DER UHRZEIT UND DES DATUMS

Der Magnetfeldsensor HMC5883L

Sirius Benutzerhandbuch

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Roboterprojekt Bluetooth RC Car

Inhaltsverzeichnis. Vorwort NXTundNXC DerNXT NXC Not exactly C Compiler Zusammenfassung 17

SL BKRD DECUS RESPEC GAMING MOUSE

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

NXC-Programmiersprache

WRO 2014 Regular Category Allgemeine Regeln Erlaubte Materialien

Zusatz zur Installations- und Bedienungsanleitung für die erweiterten Funktionen des: ATHON GPS-R ATHON GPS-RW

Praktikum Analog- und Digitaltechnik. Versuch D3 Bluetooth-steuerung mit Arduino

ThermoSecure medical equipment GmbH

Technisches Handbuch. mygekko & EnOcean

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

LEGO WeDo: SCRATCH-Programmierung

ARDUINO KENNENLERNEN WAS IST EIN ARDUINO?

165 Ergänzungen und Abweichungen zum Benutzerhandbuch MSR 145

BKSYS Brandschutzklappen-Kleinsteuerung

Kopieren / Klonen mit dem TS601 - Benutzer Anleitung Deutsch

Vier Methoden zur Messwerterfassung

Erste Schritte mit dem Fable-Roboter

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

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

Klasse, Name : Datum : Rad l/r Linienfolger l/r Laderaum ATMEGA 128

Problemstellungskarte Bereich: Muskeln

Programmierhandbuch. ActiLume wireless 1-10 Volt mit MultiOne USB2ZigBee

PRO-AFR BT V3.2 BOESEENGINEERING BEDIENUNGSANLEITUNG

USB3.0 Docking-Station BEDIENUNGSANLEITUNG (DA-70546)

Illustrierende Aufgaben zum LehrplanPLUS. Realschule, Informationstechnologie, Lernbereich 2: Modul Roboter unterwegs. Stand:

Mathematik. Technik. Programmieren. Physik. Mechanik. Elektronik. Getriebeverhältnisse. Sensoren Antwort/ Feedback. Einfache Maschinen

Datenblatt C2-10 Steuerung

Künstliche Intelligenz - Logische Agenten und Roboter

Konzeptausarbeitung Steer-by-Wire

Bedienungsanleitung Move IQ

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

Lego-Roboter im Informatik-Unterricht der Sekundarstufe I

Transkript:

EINFÜHRUNG LEGO MINDSTORMS LabVIEW 2014 Prof. Dr.-Ing. Dahlkemper 1 NXT DIRECT COMMANDS Es gibt zwei verschiedene Möglichkeiten, die Lego-Roboter zu programmieren: Man kann das Programm direkt auf den Microcontroller des Roboters laden oder man nutzt die sogenannten Direct Commands. 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. Im Rahmen dieses Kurses steht die Vermittlung der graphischen Programmierung mit LabVIEW im Vordergrund. Daher beschränkt sich die Programmierung auf den Einsatz der Direct Commands. 1.1 VERBINDUNG Um mit den Direct Commands zu arbeiten, erstellt man ein herkömmliches VI über New VI und nicht über New NXT/EV3 und muss in einem ersten Schritt den gewünschten NXT oder EV3 Roboter spezifizieren. Hierzu wählt man aus der Functions Palette das Menu MINSTORMS Robotics > I/O > DirectOnly > Specify NXT/EV3. Abb. 1: Herstellen der Verbindung zu dem Roboter 1/6

Hierbei kann man auswählen, ob der Mindstorms Roboter über Bluetooth oder USB angeschlossen wird. Bei einer Bluetooth-Verbindung kann zwar drahtlos mit dem Roboter kommuniziert werden, was sich für mobile Roboter anbietet. Allerdings gibt es eine Latenzzeit von fast 60 Sekunden zwischen Compilieren und Ausführen des Programmes. Daher ist für die Entwicklung dringend von der Nutzung der Bluetooth-Verbindung abzuraten. Erst wenn das Programm vollständig getestet ist, kann man anschließend auf die Bluetooth-Verbindung umschalten. Hierzu ist bei beiden Eingängen Connection Type und NXT Name mit einem Rechtsklick und Create Constant eine Konstante zu erstellen. Der Verbindungstyp muss auf USB stehen, der Name ist auf den im Roboterdisplay angezeigten Roboternamen einzustellen. Abb. 2: Bezeichnung des Roboters muss mit dem Namen im Roboterdisplay übereinstimmen 1.2 MOTOR DREHEN UND ANHALTEN Zum Drehen eines Motors benötigt man die Funktion Move Motors, die in der Function Palette unter MINDSTORMS Robotics > I/O > Move Motors zu finden ist. Abb. 3: Motor starten Oberhalb des Funktionsblocks lässt sich mittels der rechten Maustaste eine Konstante oder ein Control (Steuerfeld im Front Panel) für den jeweiligen Port A, B, C, erstellen, an den der Motor angeschlossen ist. Dazu ist das Selektionsfeld Unselected auf den gewünschten Motorport einstellen. Darüber hinaus kann die Motorauswahl auch über die Pfeiltaste auf mehrere Motoren ergänzt werden. Über den linken Eingang Power/Speed kann die Geschwindigkeit und 2/6

Drehrichtung im Bereich von -100 bis + 100 eingestellt werden. Es besteht über die untere Auswahlbox die Möglichkeit, eine Geschwindigkeitsregelung (Speed) oder eine Stromregelung (Power)zu aktivieren. Erreicht der Programmfluss nun durch dieses Objekt, so beginnt sich der Motor zu drehen. Um den Motor zu stoppen, erstellt man die Funktion Stop Motors aus der Function Palette unter MINDSTORMS Robotics > I/O > Stop Motors. Abb. 4: Motor anhalten Auch hier ist als Input anzugeben, welcher Motor gestoppt werden soll. Man kann den Motor über die Betriebsart Coast ausrollen lassen oder abrupt über Brake zum Stoppen bringen. 1.3 INKREMENTALGEBER DES MOTORS Alle drei Motoren besitzen Inkrementalgeber. Sie speichern den zurückgelegten 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 Encoders aus der Function Palette unter MINDSTORMS Robotics > I/O > Advanced Motors > Reset Encoders Abb. 5: Drehgeber zurücksetzen Der Wert des Encoders kann mit Hilfe der Funktion Motor Status abgefragt werden: MINDSTORMS Robotics > I/O > Advanced Motors > Motor Status 3/6

Abb. 6: Drehgeber auslesen über Motor Status 1.4 BESCHLEUNIGUNGSSENSOR Der Beschleunigungssensor wird von der Firma HiTechnic produziert. Daher muss dieser entsprechend eingebunden werden: MINDSTORMS Robotics > I/O > Additional Sensors > HiTechnic Sensors > HT Read Anschließend kann man die Funktion HT Read für die Messaufgabe konfigurieren. Dazu ist die Betriebsart Read Accelerometer im Dropdown-Menu der Funktion auszuwählen. Da der Beschleunigungssensor über drei Messachsen x, y und z verfügt, ist anschließend die gewünschte Messachse auszuwählen. Die Ausgabe erfolgt als Fließkommazahl in der Einheit m/s². Wenn mehrere Achsen ausgelesen werden sollen, ist es am recheneffizientesten, alle drei Achsen gleichzeitig als Array auszugeben. Auf die einzelnen Werte kann man mittels der Array Funktion Array > Index Array zugreifen. Abb. 7: HiTechnics Beschleunigungssensor über HT Read auslesen 1.5 DREHRATENSENSOR (GYRO) Der Drehratensensor der Firma HiTechnic (Gyro) wird ebenso wie der Beschleunigungssensor über die folgende Funktion abgefragt: MINDSTORMS Robotics > I/O > Additional Sensors > HiTechnic Sensors > HT Read Bei der Auswahl der Betriebsart ist entsprechend Read Gyro zu wählen. 4/6

Abb. 8: Gyro-Sensor über HT Read auslesen In Ruhelage liefert der Sensor einen leicht von Null abweichenden Wert. Dieser Wert unterscheidet sich von Sensor zu Sensor und verändert sich auch im Laufe der Betriebszeit u.a. aufgrund der Erwärmung des Sensors. Durch die Wahl eines geeigneten Wertes für den Eingang Offset ist sicherzustellen, dass der Sensor in Ruhelage auf einen Ausgabewert von Null kalibriert wird. Der Sensor liefert die Drehrate in Grad pro Sekunde. Zuverlässige Werte lassen sich bei Drehgeschwindigkeiten unterhalb von ±360 /Sekunde erzielen. Bei schnelleren Drehraten ergeben sich große Abweichungen, die insbesondere bei der Winkelberechnung über eine Integration auffallen. Laut Datenblatt weist der Sensor eine Messrate von 3,3 ms auf. Es hat sich bewährt, die Werte mit 10 bis 50 Hz auszulesen. 1.6 ANDERE SENSOREN Das Auslesen der Lego-Sensoren, z.b. Ultraschallsensor, Reflexlichttaster oder Taster erfolgt über die Funktion MINDSTORMS Robotics > I/O > Sensor Diese Funktion ist über das Dropdown-Menu auf den jeweiligen Sensor anzupassen. Das folgende Beispiel verwendet den Ultraschallsensor und muss entsprechend mit Read NXT Ultrasonic konfiguriert werden. Abb. 9: Lego Sensor über die Funktion Sensor auslesen Nach dem Erstellen des Sensor-Objektes muss lediglich der Port beispielsweise über eine Konstante eingestellt werden. Der Ausgang liefert die gemessene Entfernung in cm. 5/6

2 BEISPIELPROGRAMM Das folgende Beispielprogramm bewirkt, dass sich der Motor dreht und der Drehgeber ausgelesen wird. Beim Drücken einer Stop-Taste läuft der Motor aus. Ein Drücken des Reset-Tasters bewirkt, dass der Drehgeber auf Null zurückgesetzt wird. Abb. 10: Beispielprogramm zur Ansteuerung eines Motors mit Auslesen des Encoders 6/6