ROBOTIKPROJEKTE MIT DEM LEGO NXT UND DER PROGRAMMIERSPRACHE NXCU. 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
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 RoboCup StaffelsteinStaffelstein
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
• 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. KlasseDas 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
www.hitechnic.com
www.mindsensors.com
http://www.vernier.com/nxt/
Interessante Sensoren von Drittanbietern
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
• Boden-Feuchtigkeitssensor141,00 Euro
• Gassensor (Sauerstoffkonzentration)279,00 Euro
• Gasdrucksensor (alle gasförmigen Medien)123,00 Euro
• Spannungssensor (Gleich- und Wechselstrom – Niederspannung)
58,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“
textorientierte Programmiersprache (Industriestandard C)
entwickelt von John Hansen unterstützt viele professionelle Sensoren
(Vernier, Mindsensors, Hitechnic etc.) trigonometrische und statistische Funktionen
FREEWAREKostenlos!
IDE von NXC mit BricxCC
„Hallo Welt!“
task main() Hauptprogramm Text ausgeben TextOut(x, Zeile, String) Zahl ausgeben NumOut(x, Zeile, Zahl)
Sound und Töne
Motoren ansteuern
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ärtsfahrenOnRev(Ausgang, Leistung) RückwärtsfahrenOff(Ausgang) Motoren aus mit BremseFloat(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% Sto
pp
1,5 s 75%
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)
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 cm150 cm / 17,27 cm = 8,69 Umdrehungen = 3127 Grad
Sensoren verwenden Touchsensor
1. Sensortyp und Port festlegen
2. Warten bis Sensorwert gleich 1
Der Ultraschall-Sensor
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
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
Wiederholung mit Bedingung (hier immer gültig Endlosschleife)
Einlesen Sensorwert von Port 4Ausgabe Sensorwert Zeile 1,
x=0
Sensor als I²C-Sensor an Port 4
Linienfolgen mit dem Lichtsensor
Algorithmus folgt diesem Prinzip:Algorithmus folgt diesem Prinzip:
•Bodenwert hellhell linkslinks drehen
•Bodenwert dunkeldunkel rechtsrechts drehen
Linienfolgen Kalibrierung des Lichtsensors
1. Wähle mit den grauen Pfeiltasten das Menü „ViewView“
2. Bestätige mit orange Enter
3. Wähle erneut mit den Pfeiltasten „Reflected lightReflected light“
4. Bestätige mit orange Enter
5. Wähle den Port (3)
6. Positioniere den Roboter auf die weiße Fläche undnotiere den gemessenen Lichtwert (z. B. 64)
7. Positioniere den Roboter auf die schwarze Linie undnotiere den Lichtwert schwarz (z. B. 28)
Berechnung des optimalen Berechnung des optimalen SchwellwertsSchwellwerts:(heller Wert + dunkler Wert) : 2z. B. 64 + 28 = 94
94 : 2 = 46 Schwellwert wäre Schwellwert wäre optimal bei optimal bei 4646
Berechnung des optimalen Berechnung des optimalen SchwellwertsSchwellwerts:(heller Wert + dunkler Wert) : 2z. B. 64 + 28 = 94
94 : 2 = 46 Schwellwert wäre Schwellwert wäre optimal bei optimal bei 4646
Schleifen und Wiederholungen
Wiederholung mit Zähler repeat (Anzahl) {}repeat (Anzahl) {}Wiederholung mit Zähler repeat (Anzahl) {}repeat (Anzahl) {}
Bedingungen (Auswahlstrukturen)
Ein- und zweiseitige Auswahl if(Bedingung){..} if(Bedingung){..} else{..}else{..}Ein- und zweiseitige Auswahl if(Bedingung){..} if(Bedingung){..} else{..}else{..}
OperatorOperator == == != != < < > >
<= <= >= >=
BedeutunBedeutung g ist gleich ist ungleich kleiner als größer als kleiner gleich größer gleich
Beispiel Beispiel if (a == 1) { ... } if (a != 1) { ... } If (x < 4) { ... } if (x > 20) { ... } if (x <= 10) { ... } if (x >= 25) { ... }
Logische Logische VerknüpfungVerknüpfung&& II
ANDOR
Beispiel Beispiel if (a > 1) && (i == 5) ) { … } if (a != 1) || (i <= 5) ) { … }
LEGO Wettbewerbe
First Lego LeagueFirst Lego League9- bis 16-jährigehttp://www.firstlegoleague.org/
First Tech ChallengeFirst Tech Challenge14- bis 18-jährigehttp://www.usfirst.org/roboticsprograms/ftc
WRO World Robot OlympiadWRO World Robot Olympiad7- bis 19-jährigehttp://www.wroboto.org/
Wettbewerbe für Schulen:FIRST LEGO LEAGUE
Video FLL 2009 Smart Move
• Internationaler Wettbewerb• Jedes Jahr unter einem Motto• Robot-Game und Forschungsauftrag• nur Lego-Bauteile erlaubt!
http://www.firstlegoleague.orghttp://www.hands-on-technology.de/
Wettbewerbe für Schulen:ROBOCUP
Video Humanoid-League RoboCup 2009Video Standardplattform Michael Jackson
• 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/
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.2Ca. 50,- USD
Hitechnic-Sensoren einlesen
Wie müsste der Algorithmus für das BALLFOLGENBALLFOLGEN lauten?
Das Internet ist ein wahres Füllhorn für tolle NXT-Projekte und kann der Phantasie auf die Sprünge helfen
Projektbeispiele
Kreativität Projektideen
E-GitarreSoundfiles *.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 ProjektbeschreibungVideo 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 LichtsensorVideo Segway mit Lichtsensor verbessertVideo Segway mit Gyrosensor und PS2-Fernsteuerung
Wertvolle NXT-Links
http://www.nxt-forum.de/ Gutes NXT-Forumhttp://www.robotc.net/forums/ RobotC Forumhttp://rdpartyrobotcdr.sourceforge.net/ DriverSuite RobotC Soldaathttp://mightor.wordpress.com/ BLOG von Xander Soldaathttp://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ächehttp://www.nxtprograms.com/index1.html Projektvorschläge NXThttp://www.pspwp.pwp.blueyonder.co.uk/science/robotics/nxt/index.html
Bluetooth – Fernsteuerunghttp://bricxcc.sourceforge.net/utilities.html Tolle Utilities für den NXT
DialogOS
• 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
RobotC
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,- EuroSchullizenz (alle PCs) 299,- Euro