Robotikprojekte mit dem LEGO NXT und DER Programmiersprache NXC

Slides:



Advertisements
Ähnliche Präsentationen
„MINT- Umsetzung in die Praxis. Packend für Mädchen und Jungen“
Advertisements

Multiplizierer Gesucht: Schaltkreis zur Multiplikation zweier Binärzahlen , Beispiel: RW-Systemarchitektur Kap. 3.
KA – Rechnerarchitektur I ____________________________________________________________________________________________ ____________________________________________________________________________________________.
Forschungszentrum caesar
Modellbasierte Software-Entwicklung eingebetteter Systeme
Magdalena Kowalcze Thomas Litzinger
Wozu Mikrocontroller?.
Technische Eigenschaften (1)
HMI / HMI-SPS XV400 HMI oder HMI-PLC – die CompactFlashTM entscheidet
Educational Robotics Robotics Technology.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
E / IDE Enhanced / Integrated Device Elektronics
Eingebettete Systeme Qualität und Produktivität
Java: Grundlagen der Sprache
IrDA 1979 wurde die Infrarotkommunikation von der Firma Hewlett Packard erstmalig eingesetzt um den Taschenrechner HP-41C mit einem Drucker zu verbinden.
Informatik WWU Münster / D. Lammers / HST-WiSe05 Robotfussball und Agenten Und was hat das mit der Informatik an der WWU zu tun?
FOR Anweisung.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Kapitel 12: „Variablen und Konstanten verwenden und Spiele.
Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)
Informatik WWU Münster / D. Lammers / HST-WiSe04 Robotfussball und Agenten Und was hat das mit der Informatik an der WWU zu tun?
Robotik mit LEGO Mindstorms
FS_Geschwindigkeitsmessung
Zusammenfassung Vorwoche
Embedded Applications
Schnittstellen in der Bildverarbeitung
Mausefallen-Projekt -Verwendete Materialien(Johannes)
Informatik WWU Münster / D. Lammers / HST-WiSe03 Robotfussball und Agenten Und was hat das mit der Informatik an der WWU zu tun?
Kurzformaufgaben Die meisten Unfälle geschehen in der Freizeit und im Haushalt, nämlich 58%. Danach folgen die Unfälle im Beruf mit 29% und die im Verkehr.
20:00.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Zwischenpräsentation
Inhalt Wie ich Lego Mindstorms «entdeckt» habe
Steuerung externer Komponenten über ein USB-Interface.
Fahrerloses Transportsystem
Eine Einführung in die CD-ROM
Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung
Robotik für Lehr- und Entwicklungszwecke. Entwicklung eines universellen Lehrsystems zur Verwendung und Weiterentwicklung im Schulbetrieb Robotik OS-unabhängig.
BDE Geräte
LEGO NXT Konkurrenzsysteme
Lego Mindstorms Stefan Piernikarczyk.
Embedded Systems Prof. Dr. H. Kristl
Ein PC-Game selber machen
Eine Fernsteuerung für den Lego EV3 Roboter
Die verschiedenen Schnittstellen eines Computers und ihre Verwendung
Informatik Otto-Hahn-Gymnasium im Wahlpflichtbereich II
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Ultraschall Funktionsprinzip des Sensors (1)
Übersicht Grundelemente von Lego Mindstorms Idee Delivery
Kassensysteme.
LEGO-Robotik mit Java Projekt Virtueller Campus LLB Projektlauzeit: Oktober Februar 2006 Mitarbeiter:Jarka Arnold (Projektleitung) Andreas Marti.
LEGO NXT Roboter in Java programmieren
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
I/O Schnittstellen.
Herzlich Willkommen! Vielen Dank, dass Sie sich für unseren Vortrag entschieden haben! Ihr Referent: Dietmar Jaxt.
Folie Einzelauswertung der Gemeindedaten
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Entwicklung des Attiny-Boards
Bussysteme WS 05/06 Dominik Fehrenbach EN5:
Mikrocomputertechnik Jürgen Walter
Schutzvermerk nach DIN 34 beachten EASY 800-Steuerrelais.
USB - Universal Serial Bus
Semesterarbeit SS06 LEGO Mindstorms NeXT Generation
Roboter programmieren
Calogero Fontana - Sebastian Heinisch1 PDV Vertiefung SS08 RP6 mit Kamera ● Idee ● Technische Daten ● Aufbau ● Regelung ● Demo ● Fazit ● Quellen.
Erste Schritte im Internet of Things
Programmierung eingebetteter Systeme mit Lego Mindstorms
Projektmodul DM Kurze Einführung Arduino und Arduino-Programmierung
Lego Mindstorms Java mal anders
 Präsentation transkript:

Robotikprojekte mit dem LEGO NXT und DER Programmiersprache NXC U. Friedrich - Realschule Helmbrechts - 2012

Kennenlern-Runde Wer hat Roboter bereits im Unterricht eingesetzt? Haben Sie bereits mit LEGO Robotern gearbeitet? RCX oder NXT? Welche Programmierumgebung wurde verwendet? (NXT-G, RIS, RoboLab, NQC, NXC, RobotC, Lejos, andere) Wer hat bereits an Wettkämpfen teilgenommen?

Ziel des Workshops  Mission Impossible Möglichst alle sollen mit dem Mindstorms Virus angesteckt werden Lust und Mut den NXT im Unterricht einzusetzen Ideen für eigene Robotik-Projekte entwickeln Motivation zur Teilnahme an Robotik-Wettkämpfen Durchführung eines eigenen kleinen Fußballturniers Und das alles in 2 x 90 min?!  Mission Impossible

Geplanter Ablauf Vorstellung NXT mit seinen neuen Möglichkeiten Vorstellung der Programmierumgebung NXC Crashkurs NXC (vom „Hallo Welt“-Prg. bis Multitasking) I²C-Sensoren von Drittanbietern verwenden Vorstellung Wettbewerbe und NXT-Projekte (falls Zeit) Challenge RoboSoccer  RoboCup Staffelstein

Der „NXT“ Der aktuelle Baustein von Lego: NXT 2.0 Atmel-32-Bit-ARM-Prozessor 256 kb Flash-Speicher, 64 KB RAM, 48 MHz Koprozessor 8 MHz Atmel 8-Bit Bluetooth USB-2.0 12 Mbit/s 3 Motorausgänge mit Rückkanal 4 Sensoreingänge, analog und digital (I²C) der vierte Eingang ist ein High-Speed-Port

Was wurde verbessert? Grafisches Display (100x64px) Mehr Sensoren (4 statt 3) Verbesserte und neue Sensoren Bessere Motoren (mit eingeb. Drehsensor) Statt Infrarot jetzt USB- bzw. Bluetoothverbindung zum PC Akku mit Transformator (optional zur Batterie) I²C-Bus für alle Sensoreingänge Datenlogging für Messwerterfassung

Kosten für Schule LEGO MINDSTORMS Education NXT Basisset 9797 350,- Euro für 2-3 Schüler ab 5. Klasse Das Set enthält 431 Elemente inkl. LEGO NXT Stein 1 wiederaufladbarer Akku 3 NXT Servo-Motoren, 2 NXT Berührungssensoren, 1 NXT Lichtsensor, 1 NXT Geräuschsensor, 1 NXT Ultraschallsensor, 1 USB Datenkabel, , 3 Lämpchen, 7 Verbindungs- und 3 Adapterkabel, Bauanleitungen, Sortierübersichten, feste Sortiermagazine in stabiler Aufbewahrungsbox

Interessante Sensoren von Drittanbietern www.hitechnic.com www.mindsensors.com http://www.vernier.com/nxt/

I²C Bus I²C steht für Inter-Integrated Circuit von Philips entwickelter serieller Datenbus Kommunikation zwischen Controller und Peripherie-ICs Seit 2006 keine Lizenzkosten mehr  häufig verw. Es gibt einen Master und einen Slave nur zwei Datenleitungen Start- / Stopsignale bestimmen das Zeitverhalten Adressierung mit 7Bit

Vernier-Sensoren Stromsensor (Gleich- und Wechselstrom – Niederspannung) 58,00 Euro Spannungssensor (Gleich- und Wechselstrom – Niederspannung) 58,00 Euro Boden-Feuchtigkeitssensor 141,00 Euro Gasdrucksensor (alle gasförmigen Medien) 123,00 Euro Gassensor (Sauerstoffkonzentration) 279,00 Euro

NXT-Sensoren von Hitechnic IR-Receiver (Infrarotsensor) 55,34 € IR-Seeker Farbsensor V2 Beschleunigungssensor Gyrosensor Kompasssensor EOPD-Abstandssensor

mindsensors.com NXTCam V3 149,75 $ NXTSumoEyes 39,95 $ Linesensor Array 44,95 $ Playstation controller interface 42,95 $ 3-Achsen-Beschleunigungssensor 49,95 $ HighPrecision IR-Entfernungssensor 49,95 $ - long range 30 bis 140 cm - middle range 10 – 80 cm - short range 4 – 30 cm Pneumatischer Drucksensor 39,95 $ Powermeter for NXT

Multiplexer Ermöglichen mehr Sensoren an einem Eingang Hitechnic Touch-Multiplexer Hitechnic Sensor-Multiplexer Mindsensors I2C-Multiplexer Mindsensors Touchsensor-Multiplexer (18,- $) Mindsensors Motor-Multiplexer (54,- $) Mindsensors Port-Splitter für I2C (11,- $)

Bedienung des NXT

NXC „Not exactly C“ FREEWARE Kostenlos! textorientierte Programmiersprache (Industriestandard C) entwickelt von John Hansen unterstützt viele professionelle Sensoren (Vernier, Mindsensors, Hitechnic etc.) trigonometrische und statistische Funktionen FREEWARE Kostenlos!

IDE von NXC mit BricxCC

Öffne das Programm „02_Battery_Level.nxc“ und teste es „Hallo Welt!“ task main()  Hauptprogramm Text ausgeben  TextOut(x, Zeile, String) Zahl ausgeben  NumOut(x, Zeile, Zahl) Öffne das Programm „02_Battery_Level.nxc“ und teste es Öffne das Programm „01_Hallo_Welt.nxc“ und teste es. Verändere das Programm so, dass es dich auf Zeile 6 mit Namen begrüßt – Speichere unter „01_Hallo_Name.nxc“

Sound und Töne Öffne das Programm „04_Sound.nxc“ und teste es. Merke dir die Nummer für deinen „Lieblingswarnton“, den du später beim Programmieren verwenden kannst. Öffne das Programm „03_Musik.nxc“ und teste es. Verändere das Programm so, dass es unterschiedlich Tonhöhen und Tonlängen abspielt

Öffne das Programm „05_a_Motoren.nxc“ und teste es. Motoren ansteuern Öffne das Programm „05_a_Motoren.nxc“ und teste es. Verändere das Programm so, dass der Roboter 1,5 sec mit 75% Leistung vorwärts, anhält und dann die gleiche Strecke mit gleichem Tempo zurückfährt und stehen bleibt. Verändere das Programm so, dass der Roboter am Ende um 180 Grad dreht (auf der Stelle!) und dann vorwärts wieder zum Ausgangspunkt zurückfährt. An den Ausgängen A, B und C können die Motoren angeschlossen werden. Zum Steuern der Motoren stehen folgende Funktionen zur Verfügung: OnFwd(Ausgang, Leistung) Vorwärtsfahren OnRev(Ausgang, Leistung) Rückwärtsfahren Off(Ausgang) Motoren aus mit Bremse Float(Ausgang) Motoren aus ohne zu bremsen Als Ausgang können die entweder ein Ausgang (OUT_A, OUT_B oder OUT_C) oder gleichzeitig mehrere Ausgänge (OUT_AB, OUT_AC, OUT_BC oder OUT_ABC) angegeben werden. Die Leistung, aus der sich die Drehgeschwindigkeit ergibt, kann mit ganzen Zahlen aus dem Bereich von 0 bis 100 zwischen 0% und 100% festgelegt werden. 1,5 s 75% 1,5 s 75% Stopp

Exaktes Fahren mit dem Rad-Encoder Dein Roboter soll genau in die „Garage“ fahren, natürlich ohne Unfall! Zeitsteuerung hängt jedoch vom Ladezustand der Akkus ab   RotateMotor(AUSGANG_MOTOR, LEISTUNG, WINKEL) Aufgabe: Erstelle ein Programm, das den Roboter exakt 150 cm vorwärts fahren lässt und dann stoppt. Fahrstrecke exakt 150 cm Der Rad-Durchmesser beträgt 5,5 cm. Wie viele Umdrehungen werden benötigt, um 150 cm zu fahren? UMFANG = 1 Umdrehung (360 Grad) = 5,5 cm x π = 17,27 cm 150 cm / 17,27 cm = 8,69 Umdrehungen = 3127 Grad

Sensoren verwenden  Touchsensor Aufgabe: Der Roboter soll mit 75% Leistung losfahren und erst anhalten, wenn der Berührungssensor gedrückt wird (Notstopp / Bumper) 1. Sensortyp und Port festlegen 2. Warten bis Sensorwert gleich 1 Aufgabe: Was müsste am Programm geändert werden, damit der Roboter erst losfährt, wenn der Berührungssensor gedrückt wurde? (Startknopf)

Der Ultraschall-Sensor Aufgabe: Der Roboter soll mit 75% Leistung losfahren und anhalten, wenn er ca. 20 cm vor einem Hindernis ist. 1. Sensortyp und Port festlegen 2. Warten bis Sensorwert <= 20 Hinweise: Der US-Sensor ist der komplexeste Sensor von Lego (I²C) Messbereich 5 – max. 250 cm Probleme mit Textilien, Mess“keule“ muss beachtet werden

Schleifen und Wiederholungen Aufgabe: Der Sensorwert soll ständig angezeigt werden (Endlosschleife). Sensor als I²C-Sensor an Port 4 Wiederholung mit Bedingung (hier immer gültig  Endlosschleife) Einlesen Sensorwert von Port 4 Ausgabe Sensorwert Zeile 1, x=0 200 msec Warten  „Flackern“

Linienfolgen mit dem Lichtsensor Aufgabe: Der Roboter soll selbständig einer schwarzen Linie folgen (Endlosschleife). Algorithmus folgt diesem Prinzip: Bodenwert hell  links drehen Bodenwert dunkel  rechts drehen

Linienfolgen Kalibrierung des Lichtsensors Aufgabe: Der optimale Schwellwert zwischen hell und dunkel soll bestimmt werden. Wähle mit den grauen Pfeiltasten das Menü „View“ Bestätige mit orange Enter Wähle erneut mit den Pfeiltasten „Reflected light“ Wähle den Port (3) Positioniere den Roboter auf die weiße Fläche und notiere den gemessenen Lichtwert (z. B. 64) Positioniere den Roboter auf die schwarze Linie und notiere den Lichtwert schwarz (z. B. 28) Berechnung des optimalen Schwellwerts: (heller Wert + dunkler Wert) : 2 z. B. 64 + 28 = 94 94 : 2 = 46  Schwellwert wäre optimal bei 46

Schleifen und Wiederholungen Wiederholung mit Zähler  repeat (Anzahl) {}

Bedingungen (Auswahlstrukturen) Ein- und zweiseitige Auswahl  if(Bedingung){..} else{..} Operator == != < > <= >= Bedeutung ist gleich ist ungleich kleiner als größer als kleiner gleich größer gleich Beispiel if (a == 1) { ... } if (a != 1) { ... } If (x < 4) { ... } if (x > 20) { ... } if (x <= 10) { ... } if (x >= 25) { ... } Logische Verknüpfung && II AND OR Beispiel if (a > 1) && (i == 5) ) { … } if (a != 1) || (i <= 5) ) { … }

LEGO Wettbewerbe First Lego League 9- bis 16-jährige http://www.firstlegoleague.org/ First Tech Challenge 14- bis 18-jährige http://www.usfirst.org/roboticsprograms/ftc WRO World Robot Olympiad 7- bis 19-jährige http://www.wroboto.org/ FLL: Die Schüler müssen über Aufgaben aus dem wirklichen Leben brüten, die durch Forschung, kritische Überlegungen und Einfallsreichtum gelöst werden können. Auch ein Forschungsauftrag gehört dazu. Im Jahr 2010 haben mehr 14.500 Teams aus 59 Ländern teilgenommen und rund um den Globus wurden mehr als 40 Qualifikationswettbewerbe veranstaltet. FTC: Die Schülerinnen und Schüler müssen eine Strategie entwickeln und Roboter bauen, die auf bewährten Prinzipien aus dem Bereich des Maschinenbaus fußen. Preise werden sowohl für den Wettbewerb selbst als auch für die Konstruktion und für sonstige Verdienste um das Gemeinwohl und um das wirkliche Leben verliehen. Das siegreiche Team erhält Hochschulstipendien mit einem Gesamtvolumen von nahezu 7 Mio. USD. Im Jahr 2010 haben 1.300 Teams aus fünf Ländern (den USA und Kanada, den Niederlanden, Mexiko und China) an der FTC teilgenommen. WRO: Bei dem Wettbewerb in der Regular Category müssen die teilnehmenden Teams Roboter entwerfen, bauen und programmieren, um eine bestimmte Aufgabe zu erfüllen. Die Teams, die an dem themenspezifischen offenen Wettbewerb in der Open Category teilnehmen, benutzen ihre Fähigkeiten, um komplexere Robotertechnik-Lösungen zu konstruieren. 2011 wurde bei der WRO die Roboter-Fußballmeisterschaft WRO GEN II Football eingeführt. Sämtliche WRO-Wettbewerbe basieren auf LEGO® MINDSTORMS®. Im Jahr 2010 haben mehr als 12.000 Teams in über 30 Ländern teilgenommen. Der Teilnahmezeitraum erstreckt sich von März bis November.

Wettbewerbe für Schulen: FIRST LEGO LEAGUE Internationaler Wettbewerb Jedes Jahr unter einem Motto Robot-Game und Forschungsauftrag nur Lego-Bauteile erlaubt! http://www.firstlegoleague.org http://www.hands-on-technology.de/ Video FLL 2009 Smart Move

Wettbewerbe für Schulen: ROBOCUP Internationaler Wettbewerb mit WM viele Ligen (Humanoid, Smallsize, Middlesize etc.) keinerlei Bauteilbeschränkung – nur Größe/Gewicht! http://www.robocup.org/ http://rcj.robocup.org/ Video Humanoid-League RoboCup 2009 Video Standardplattform Michael Jackson

Robocup junior Rescue Roboter müssen „Opfer“ in einem unbekannten Parcours finden Hindernisse und unterbrochene Linien erschweren die Aufgabe Punktewertung

Robocup junior Dance Das Team führt eine Choreografie zusammen mit selbstbebauten Robotern auf Bewertung durch eine Jury

Robocup junior Soccer Spielfeld mit bzw. ohne Bande Tore farblich unterscheidbar (gelb/blau) 2 Halbzeiten a 10 min Jedes Team hat zwei Roboter (Torwart/Angreifer)

Challenge RoboSoccer Der Robocup-Ball sendet infrarotes Licht zur leichteren Lokalisation aus Der Roboter muss den Ball suchen und dann darauf zu fahren Wir spielen 2 gegen 2 bzw. 3 gegen 3 auf dem offiziellen Spielfeld LPE ca. 89,25 €

Challenge RoboSoccer I2C-Sensor aus den USA liest die hellste Stelle innerhalb eines Sichtfeldes von ca. 240 Grad Er hat fünf Dioden, die infrarotes Licht erkennen Er liefert als Wert die Richtung mit dem hellsten Wert Sieht er keinen Ball / Licht liefert er den Wert 0 zurück Hat Modi für gepulstes und normales Infrarotlicht Hitechnic IRSeeker V.2 Ca. 50,- USD

Hitechnic-Sensoren einlesen Öffne das Programm „13_Alle_Sensoren.nxc“ und teste es mit eingeschaltetem Ball. Öffne das Programm „14_Soccer01.nxc“ und studiere den Quellcode  Teste und erweitere dann das Programm so, dass der Roboter Fußball spielt!!! Wie müsste der Algorithmus für das BALLFOLGEN lauten?

Projektbeispiele Das Internet ist ein wahres Füllhorn für tolle NXT-Projekte und kann der Phantasie auf die Sprünge helfen

Kreativität  Projektideen E-Gitarre Soundfiles *.rso

Farbsortiermaschine Video Farbsortiermaschine mit Lego Colorsensor

Video Lenkradsteuerung

Fernsteuerung mit Wii-Remote http://www.youtube.com/watch?v=PIoPgu9KaMM

Zutrittskontrolle mit RFID Website mit Projektbeschreibung Video des Projektes

RFID-Roverbot mit Kompass Website RFID-Rover

NXT-Seilbahn Website NXT-Seilbahn

Farb- und Graustufenscanner Website Farb und Graustufenscanner

Portraitplotter mit Webcam http://robotics.benedettelli.com/portrayer.htm

Segway (ohne Gyro) Video Segway mit Lichtsensor Video Segway mit Lichtsensor verbessert Video Segway mit Gyrosensor und PS2-Fernsteuerung

Wertvolle NXT-Links http://www.nxt-forum.de/ Gutes NXT-Forum http://www.robotc.net/forums/ RobotC Forum http://rdpartyrobotcdr.sourceforge.net/ DriverSuite RobotC Soldaat http://mightor.wordpress.com/ BLOG von Xander Soldaat http://www.nxtcentral.com/ NXTCentral (Bauanleitungen) http://mynxt.matthiaspaulscholz.eu/ Matthias Paul NXT Ideen (gut!) http://www.ldraw.org/ Ldraw Lego CAD-Software http://www.lm-software.com/mlcad/ MlCad Windowsoberfläche http://www.nxtprograms.com/index1.html Projektvorschläge NXT http://www.pspwp.pwp.blueyonder.co.uk/science/robotics/nxt/index.html Bluetooth – Fernsteuerung http://bricxcc.sourceforge.net/utilities.html Tolle Utilities für den NXT

DialogOS Einzel-Lizenz 98,- Euro Schul-Lizenz 523,- Euro Sprachsteuerung für den NXT Professionelle Sprachengine der Uni Saarbrücken Grafische intuitive Programmierumgebung Bluetooth oder USB-Verbindung zw. PC NXT Einzel-Lizenz 98,- Euro Schul-Lizenz 523,- Euro Der sprechende und sprachverstehende Roboter ist Wirklichkeit! Sprachengine läuft in den Luxuslimousinen von BMW.

RobotC Einzelplatz 69,- Euro Schullizenz (alle PCs) 299,- Euro textorientierte Programmiersprache (Industriestandard C) entwickelt an der Carnegie Mellon University / USA unterstützt viele professionelle Sensoren (Vernier, Mindsensors, Hitechnic etc.) trigonometrische und statistische Funktionen nur Englisch Einzelplatz 69,- Euro Schullizenz (alle PCs) 299,- Euro