Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Robotikprojekte mit dem LEGO NXT und DER Programmiersprache NXC

Ähnliche Präsentationen


Präsentation zum Thema: "Robotikprojekte mit dem LEGO NXT und DER Programmiersprache NXC"—  Präsentation transkript:

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

2 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?

3 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

4 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

5 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 Mbit/s 3 Motorausgänge mit Rückkanal 4 Sensoreingänge, analog und digital (I²C) der vierte Eingang ist ein High-Speed-Port

6 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

7 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

8 Interessante Sensoren von Drittanbietern

9 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

10 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

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

12 mindsensors.com NXTCam V3 149,75 $ NXTSumoEyes 39,95 $
Linesensor Array ,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

13 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,- $)

14 Bedienung des NXT

15 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!

16 IDE von NXC mit BricxCC

17 Ö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“

18 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

19 Ö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

20 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

21 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)

22 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

23 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“

24 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

25 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 = 94 94 : 2 = 46  Schwellwert wäre optimal bei 46

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

27 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) ) { … }

28 LEGO Wettbewerbe First Lego League 9- bis 16-jährige First Tech Challenge 14- bis 18-jährige WRO World Robot Olympiad 7- bis 19-jährige 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 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 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 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 Teams in über 30 Ländern teilgenommen. Der Teilnahmezeitraum erstreckt sich von März bis November.

29 Wettbewerbe für Schulen: FIRST LEGO LEAGUE
Internationaler Wettbewerb Jedes Jahr unter einem Motto Robot-Game und Forschungsauftrag nur Lego-Bauteile erlaubt! Video FLL 2009 Smart Move

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

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

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

33 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)

34 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 €

35 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

36 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?

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

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

39 Farbsortiermaschine Video Farbsortiermaschine mit Lego Colorsensor

40 Video Lenkradsteuerung

41 Fernsteuerung mit Wii-Remote

42 Zutrittskontrolle mit RFID
Website mit Projektbeschreibung Video des Projektes

43 RFID-Roverbot mit Kompass
Website RFID-Rover

44 NXT-Seilbahn Website NXT-Seilbahn

45 Farb- und Graustufenscanner
Website Farb und Graustufenscanner

46 Portraitplotter mit Webcam

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

48 Wertvolle NXT-Links http://www.nxt-forum.de/ Gutes NXT-Forum
RobotC Forum DriverSuite RobotC Soldaat BLOG von Xander Soldaat NXTCentral (Bauanleitungen) Matthias Paul NXT Ideen (gut!) Ldraw Lego CAD-Software MlCad Windowsoberfläche Projektvorschläge NXT Bluetooth – Fernsteuerung Tolle Utilities für den NXT

49 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.

50 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


Herunterladen ppt "Robotikprojekte mit dem LEGO NXT und DER Programmiersprache NXC"

Ähnliche Präsentationen


Google-Anzeigen