47
Ute Ihme Laborpraktikum I - Medizinarena Legorobotik in C EV3 Fakultät für Informatik, Institut für Robotik Hochschule Mannheim | Ute Ihme

Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Embed Size (px)

Citation preview

Page 1: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Ute Ihme

Laborpraktikum I - Medizinarena

Legorobotik in C – EV3

Fakultät für Informatik, Institut für Robotik

Hochschule Mannheim | Ute Ihme

Page 2: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 3: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Standardsensoren

Mannheim University of Applied Sciences | Ute Ihme March 4,. 2013 3

DAS LEGO® MINDSTORMS® System

Ultraschallsensor

Berührungssensor

Tastsenor

Farbsensor

Gyrosensor

Page 4: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Allgemeiner Aufbau

DAS SPIELFELD - Medizinarena

Mannheim University of Applied Sciences | Ute Ihme March 4, 2013 4

Page 5: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 5

Start der Entwicklungsumgebung

Starten von RobotC

Startsymbol:

Startbildschirm:

Page 6: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 6

Start der Entwicklungsumgebung

Starten von RobotC

Einstellen des Platformtypes – hier EV3 wählen

Page 7: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 7

Start der Entwicklungsumgebung

Starten von RobotC

Erstellen einer neuen Datei

New File

wählen

Page 8: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 8

Start der Entwicklungsumgebung

Startbildschirm

Page 9: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 9

Arbeit mit RobotC

Setup der Motoren und Sensoren

Page 10: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 10

Displayanzeige

Page 11: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 11

Displayanzeige löschen

Page 12: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 12

Pausenbefehle

1. Sleep - Befehl

2. Warten auf Knopfdruck

sleep(Zeit)

Zeit in ms

Beispiel

sleep(3000)

Page 13: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 13

Beispielprogramm zur Display und Pause

Page 14: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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!

Page 15: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 16: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 16

Arbeit mit RobotC

Setup der Motoren und SensorenMotor und

Sensor Setup

wählen

Page 17: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 18: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 18

Arbeit mit RobotC

Setup der Motoren und Sensoren

auf

Übernehmen

klicken

Page 19: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 19

Befehle zur Motorsteuerung

Page 20: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Hochschule Mannheim| Ute Ihme März 2013 20

Befehle zur Motorsteuerung

Page 21: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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.

Page 22: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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.

Page 23: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 24: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 25: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 26: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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.

Page 27: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

March 4,. 2013 27Mannheim University of Applied Sciences | Ute Ihme

getButtonPressed Anweisung Gibt zurück, ob ein

bestimmter Button

gedrückt wurde.

Page 28: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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.

Page 29: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 30: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

}

Page 31: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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.

Page 32: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 33: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

March 4,. 2013 33Mannheim University of Applied Sciences | Ute Ihme

DIE MEDIZINARENA

Der Roboter braucht ein Update mit Sensoren!

- Bitte ans Laborpersonal wenden! -

Page 34: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

}

Page 35: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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.

Page 36: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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;

Page 37: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 38: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 39: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

March 4,. 2013 39Mannheim University of Applied Sciences | Ute Ihme

Beispiel für endliche while Schleife

Beispiel für Nutzung des Tastsensors

Page 40: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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.

Page 41: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 42: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 43: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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

Page 44: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Colorsensor – ColorID Mode

Hochschule Mannheim| Ute Ihme März 2013 45

C Code

Page 45: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

Beispiel: Anzeige der ColorID

Colorsensor – ColorID Mode

Hochschule Mannheim| Ute Ihme März 2013 46

Sensor Setup

Page 46: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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.

Page 47: Laborpraktikum I - Medizinarena Legorobotik in C EV3ihme/LegoEV3Java/... · Das EV3 System Prinzip von LEGO® MINDSTORMS® Roboter wird gebaut mit programmierbarem LEGO® Stein bis

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