ROBOTIKPROJEKTE MIT DEM LEGO NXT UND DER PROGRAMMIERSPRACHE NXC U. Friedrich - Realschule...

Post on 05-Apr-2015

107 views 0 download

Transcript of ROBOTIKPROJEKTE MIT DEM LEGO NXT UND DER PROGRAMMIERSPRACHE NXC U. Friedrich - Realschule...

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