laborpraktikum i - medizinarena legorobotik in c ev3ihme/legoev3java/... · das ev3 system prinzip...
TRANSCRIPT
Ute Ihme
Laborpraktikum I - Medizinarena
Legorobotik in C – EV3
Fakultät für Informatik, Institut für Robotik
Hochschule Mannheim | Ute Ihme
Das EV3 System
Prinzip von LEGO® MINDSTORMS®
Roboter wird gebaut mit
programmierbarem LEGO® Stein
bis zu 4 Motoren oder Lampen
bis zu 4 Sensoren
LEGO® TECHNIC Teile
Erstellung eines Steuerprogramms
am Computer
Übertragen des Programms auf den
Roboter
Testen des Programms
DAS LEGO® MINDSTORMS® System
Hochschule Mannheim | Ute Ihme März 2013 2
Standardsensoren
Mannheim University of Applied Sciences | Ute Ihme March 4,. 2013 3
DAS LEGO® MINDSTORMS® System
Ultraschallsensor
Berührungssensor
Tastsenor
Farbsensor
Gyrosensor
Allgemeiner Aufbau
DAS SPIELFELD - Medizinarena
Mannheim University of Applied Sciences | Ute Ihme March 4, 2013 4
Hochschule Mannheim| Ute Ihme März 2013 5
Start der Entwicklungsumgebung
Starten von RobotC
Startsymbol:
Startbildschirm:
Hochschule Mannheim| Ute Ihme März 2013 6
Start der Entwicklungsumgebung
Starten von RobotC
Einstellen des Platformtypes – hier EV3 wählen
Hochschule Mannheim| Ute Ihme März 2013 7
Start der Entwicklungsumgebung
Starten von RobotC
Erstellen einer neuen Datei
New File
wählen
Hochschule Mannheim| Ute Ihme März 2013 8
Start der Entwicklungsumgebung
Startbildschirm
Hochschule Mannheim| Ute Ihme März 2013 9
Arbeit mit RobotC
Setup der Motoren und Sensoren
Hochschule Mannheim| Ute Ihme März 2013 10
Displayanzeige
Hochschule Mannheim| Ute Ihme März 2013 11
Displayanzeige löschen
Hochschule Mannheim| Ute Ihme März 2013 12
Pausenbefehle
1. Sleep - Befehl
2. Warten auf Knopfdruck
sleep(Zeit)
Zeit in ms
Beispiel
sleep(3000)
Hochschule Mannheim| Ute Ihme März 2013 13
Beispielprogramm zur Display und Pause
Hochschule Mannheim| Ute Ihme März 2013 14
Beispielprogramm zur Display und Pause
1. Programm Sichern
2. Programm kompilieren
3. Programm auf Roboter laden
Danach das Programm auf dem Roboter starten!
Motoren
Hochschule Mannheim| Ute Ihme März 2013 15
DAS LEGO® MINDSTORMS® System
Servomotor
Verfügt über integrierten
Rotationssensor
misst Geschwindigkeit und Abstand
Leitet Ergebnisse an NXT Stein
weiter
Motor kann auf einen Grad genau
gesteuert werden
Kombinationen mehrerer Motoren
möglich
arbeiten ggf. mit gleicher
Geschwindigkeit
Quelle: Lego
Hochschule Mannheim| Ute Ihme März 2013 16
Arbeit mit RobotC
Setup der Motoren und SensorenMotor und
Sensor Setup
wählen
Hochschule Mannheim| Ute Ihme März 2013 17
Arbeit mit RobotC
Setup der Motoren und Sensoren
Einstellungen
für die Motoren
entsprechend der
Roboterkonfiguration
vornehmen
Siehe nächste Folie
Hochschule Mannheim| Ute Ihme März 2013 18
Arbeit mit RobotC
Setup der Motoren und Sensoren
auf
Übernehmen
klicken
Hochschule Mannheim| Ute Ihme März 2013 19
Befehle zur Motorsteuerung
Hochschule Mannheim| Ute Ihme März 2013 20
Befehle zur Motorsteuerung
Hochschule Mannheim| Ute Ihme März 2013 21
Beispiel zur
Motorsteuerung
Der Roboter fährt
- Geradeaus
- Dreht sich links herum
- Dreht sich rechts herum
- Fährt rückwärts
- Hält an.
March 4,. 2013 22Mannheim University of Applied Sciences | Ute Ihme
Aufgabe 1
Rettungseinsatz beim Helikopter
DIE MEDIZINARENA
Start und Ende: P1
Der Notarztwagen ist zum
Rettungshelikopter zu bringen.
Anschließend eine
lebenserhaltene Maßnahme
durchzuführen. Dazu wird
symbolisch der Stent ins Herz
geführt.
March 4,. 2013 23Mannheim University of Applied Sciences | Ute Ihme
Artithmetische Operatoren
C CODE
Operator Beispiel Wirkung
+ a + b Addiert a und b
- a – b Subtrahiert b von a
* a * b Multipliziert a und b
/ a / b Dividiert a durch b
% a % b Liefert den Rest bei der Division
a durch b
March 4,. 2013 24Mannheim University of Applied Sciences | Ute Ihme
Vergleichsoperatoren
C CODE
Operator Beispiel Wirkung
> a > b a größer als b
>= a >= b a größer oder gleich b
< a < b a kleiner als b
<= a <= b a kleiner oder gleich b
== a == b a ist gleich b
!= a != b a ist ungleich b
March 4,. 2013 25Mannheim University of Applied Sciences | Ute Ihme
Logische Operatoren (Auswahl)
C CODE
Operator Beispiel Wirkung
&& a && b a und b müssen erfüllt sein
|| a || b a oder b muss erfüllt sein
March 4,. 2013 26Mannheim University of Applied Sciences | Ute Ihme
Die if – else Anweisung
if(<<Ausdruck>>){<<Anweisung>>…<< Anweisung>>
}else{<< Anweisung>>…<< Anweisung>>
}
Wenn der Ausdruck erfüllt ist, so werden
die Anweisungen im if-Block erfüllt,
ansonsten die Anweisung im else-Block.
March 4,. 2013 27Mannheim University of Applied Sciences | Ute Ihme
getButtonPressed Anweisung Gibt zurück, ob ein
bestimmter Button
gedrückt wurde.
March 4,. 2013 28Mannheim University of Applied Sciences | Ute Ihme
Bespiel für if – else Anweisung
C- CODE
Das Programm zeigt an,
ob der Weg 1 oder der
Weg 2 genommen
werden soll. Der Weg 1,
soll genommen werden,
wenn der linke Button
auf dem EV3 Stein
gedrückt wurde. In allen
anderen Fällen der Weg
2.
March 4,. 2013 29Mannheim University of Applied Sciences | Ute Ihme
Aufgabe 2:
Krankenbesuch
Start: P1
Ende: P2
Die Mutter möchte ihr Kind im
Krankenhaus besuchen. Der
Roboter soll sie dorthin bringen.
Wird der rechte Knopf gedrückt, so
soll der Roboter den Weg 1
nehmen, in allen anderen Fällen
der Weg 2.
DAS SPIELFELD EXPLORE MARS
March 4,. 2013 30Mannheim University of Applied Sciences | Ute Ihme
Die for Schleife
JAVA CODE
Eine Anweisung bzw. eine Folge von Anweisungen
soll mehrfach wiederholt werden.
for(<<Startwert>>;<<Endwert>>;<<Erhöhung>>){<<Anweisung>>… <<Anweisung>>
}
March 4,. 2013 31Mannheim University of Applied Sciences | Ute Ihme
Bespiel für
for Schleife
C CODE
Das Wort Hello soll in
5 Zeilen untereinander
angezeigt werden.
March 4,. 2013 32Mannheim University of Applied Sciences | Ute Ihme
Aufgabe 3:
Kind vom Skaterparc holen
Start: P2
Ende: P3
Ein Kind hat sich beim Spielen im
Skaterpark verletzt. Der Roboter
kommt zu Hilfe, kann aber keinen
geeigneten Platz zum Halten
finden. Daher muss er der
Skaterpark 2mal umfahren, ehe er
halten kann und dem Kind helfen
kann. Das Mehrfachumfahren soll
mit einer for Schleife realisiert
werden.
DIE MEDIZINARENA
March 4,. 2013 33Mannheim University of Applied Sciences | Ute Ihme
DIE MEDIZINARENA
Der Roboter braucht ein Update mit Sensoren!
- Bitte ans Laborpersonal wenden! -
March 4,. 2013 34Mannheim University of Applied Sciences | Ute Ihme
Die while Schleife
1. Unendliche while Schleife
Eine Anweisung bzw. eine Folge von Anweisungen
soll unendlich oft wiederholt werden.
while(true){
<<Anweisung>>… <<Anweisung>>
}
March 4,. 2013 35Mannheim University of Applied Sciences | Ute Ihme
Beispiel für unendliche while Schleife
Das Wort Hello wird
solange angezeigt, bis
das Programm
abgebrochen wird.
March 4,. 2013 36Mannheim University of Applied Sciences | Ute Ihme
Die while Schleife
2. Endliche while Schleife
Eine Anweisung bzw. eine Folge von Anweisungen
soll bis zu eine bestimmten Bedingung nicht mehr
erfüllt is, wiederholt werden.
while(<<Bedingung>>){
<<Anweisung>>… <<Anweisung>>
}
Beispiele für Bedingungen:
i==3;
pressed == true;
i<=5;
pressed!=false;
Berührungssensor / Tastsensor
Hochschule Mannheim| Ute Ihme März 2013 37
DAS LEGO® MINDSTORMS® System
• Abfrage, ob Sensor gedrückt
• Werte des Sensors
• 0: Sensor nicht gedrückt
• 1: Sensor gedrückt
March 4,. 2013 38Mannheim University of Applied Sciences | Ute Ihme
1. Sensor Setup durchführen
Beispiel für endliche while Schleife
Beispiel für Nutzung des Tastsensors
March 4,. 2013 39Mannheim University of Applied Sciences | Ute Ihme
Beispiel für endliche while Schleife
Beispiel für Nutzung des Tastsensors
March 4,. 2013 40Mannheim University of Applied Sciences | Ute Ihme
Beispiel für endliche while Schleife
Beispiel für Nutzung des Tastsensors
Das Wort Hello wird
solange angezeigt, bis
der Tastsensor am Port
S1 gedrückt wird.
March 4,. 2013 41Mannheim University of Applied Sciences | Ute Ihme
Aufgabe 4:
Brotlieferung
Start: P3
Ende: P2
Das Brot ist von der Bäkerein (P3)
zum Krankenhaus (P2) zu bringen.
Ihr Roboter hat ein Upgrate
erhalten. Daher soll er mittels
Tastsensor selbständig in P2 an
der Wand halten.
DIE MEDIZINARENA
Colorsensor
Hochschule Mannheim| Ute Ihme März 2013 43
DAS LEGO® MINDSTORMS® System
• Verfügt über mehrere Moden, z. B.
Bestimmung des Farbwertes (ColorID)
Bestimmung der reflektierten Helligkeit
• Zur Ausleuchtung kann eine LED eingeschaltet
werden
Colorsensor – ColorID Mode
Hochschule Mannheim| Ute Ihme März 2013 44
DAS LEGO® MINDSTORMS® System
• Bestimmung der Farbe
• Jede Farbe hat einen Wert
• Werte für EV3 Colorsensor
Colorsensor – ColorID Mode
Hochschule Mannheim| Ute Ihme März 2013 45
C Code
Beispiel: Anzeige der ColorID
Colorsensor – ColorID Mode
Hochschule Mannheim| Ute Ihme März 2013 46
Sensor Setup
Beispiel: Anzeige der ColorID
Colorsensor – ColorID Mode
Hochschule Mannheim| Ute Ihme März 2013 47
Die ColorID wird
abgefragt und sofern
schwarz erkannt wird,
dies angezeigt.
March 4,. 2013 49Mannheim University of Applied Sciences | Ute Ihme
Aufgabe 5:
Navigation in Krankenhaus
Start: P2
Ende: gewürfeltes Farbfeld
Der Roboter soll selbständig im
Krankenhaus navigieren und
Dinge zu bestimmten Stationen
bzw. Behandlungszimmern brigen.
Würfeln Sie im Vorfeld eine Farbe
und notieren diese auf ihrem
Zettel.
Der Roboter soll zunächst an der
Schwarzen Linie am Krankenhaus-
eingang anhalten. Hier dürfen Sie
ihn nochmals ausrichten. Danach
soll er die gewürfelte Mission
erfüllen.
DIE MEDIZINARENA