roboter im labyrinth schweizer jugend forscht studienwoche informatik barbara rubi, fabienne schwab,...
TRANSCRIPT
![Page 1: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/1.jpg)
Roboter im Labyrinth
“Schweizer Jugend forscht”Studienwoche Informatik
Barbara Rubi, Fabienne Schwab, Shuyang Xu
![Page 2: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/2.jpg)
Inhalt der Präsentation
o Ziel des Projektso Grundsätzlicheso Vorgeheno Problemeo Erfolgeo Visioneno Demonstration
![Page 3: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/3.jpg)
Ziel des Projekts
Ein Roboter soll so programmiert werden, dass er selbstständig aus einem Labyrinth herausfindet.
![Page 4: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/4.jpg)
Grundsätzliches
Ein Roboter findet sicher aus einem Labyrinth (ohne Inseln), indem er immer rechts oder links der Wand entlang fährt.
Er braucht mindestens drei Entfernungs-sensoren, um in allen Situationen die richtige Entscheidung treffen zu können.
![Page 5: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/5.jpg)
Vorgehen
Datenaustausch zwischen Roboter und Computer herstellen
Ermittlung von möglichen Situationen im Labyrinth
Zeichnen eines Flow-Charts Zerlegen des Problems in Einzelprogramme Zusammenfügen des Hauptprogramms Testen im Labyrinth Anbringen von Verbesserungen, Änderungen
und Ergänzungen
![Page 6: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/6.jpg)
Probleme
Eichung der Sensoren erfordert präzise Messungen
Korrektur von Fehlpositionen Optimale Abfolge von
Entscheidungsschritten erarbeiten
![Page 7: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/7.jpg)
Erfolge
erste präzise Linkskurve korrekte Entscheidung der
Situation gelungene Korrektur der
Fehlpositionen erster erfolgreicher Durchlauf
des Labyrinths
![Page 8: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/8.jpg)
Visionen
Überwindung eines Labyrinths mit Inseln
Anwendung in der Forschung, Haushalt etc. (z.B. Minensucher, Staubsauger, Rasenmäher usw.)
![Page 9: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/9.jpg)
Wir danken …
…der FHBB für die Idee des Projekts und die Bereitstellung des Roboters
…der Stiftung Schweizer Jugend forscht
…unseren Betreuern Andreas Kiebele und Radolf von Salis
![Page 10: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/10.jpg)
'{$STAMP BS2}
'variabelni VAR BYTE 'loop zählere1 VAR BYTE 'ergebnis ausgelesen von sensor 3e2 VAR BYTE 'ergebnis ausgelesen von sensor 2e3 VAR BYTE 'ergebnis ausgelesen von sensor 1steps VAR BYTE 'Anzahl Schrittezaehler VAR BYTE 'Anzahl Korr
HIGH 10HIGH 12HIGH 14
'---------------------------------------------
LOOP:IF IN0=0 THEN StartGOTO LOOP
Start:Pause 1000
Sensor:'sensor messung startene1=0e2=0e3=0LOW 10LOW 12LOW 14pause 80
'sensor daten auslesenFOR i= 0 TO 7PULSOUT 10,70PULSOUT 12,70PULSOUT 14,70e1=e1*2+IN11e2=e2*2+IN13e3=e3*2+IN15NEXT
![Page 11: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/11.jpg)
e1=65535/(10*e1)-(287/10)e2=65535/(9*e2)-(275/9)e3=65535/(7*e3)-(298/7)
HIGH 10HIGH 12HIGH 14
DEBUG "sensor3 ",DEC5 e1,CRDEBUG "sensor2 ",DEC5 e2,CRDEBUG "sensor1 ",DEC5 e3,CRDEBUG CR
'------------------------------------------------
'fallunterscheidungIF zaehler > 8 THEN GERADEIF e1 > 30 THEN LINKSIF e3 < 30 THEN RECHTSIF e1 < 19 THEN DISTKORR1IF e1 > 25 THEN DISTKORR2IF (e1-e2) > 65515 THEN RECHTSKORR IF (e1-e2) < 2 THEN GERADEIF (e1-e2) < 60000 THEN LINKSKORR
GOTO GERADE '-------------------------------------------------
LINKS:
HIGH 3 'kurzes stueck geradePAUSE 200LOW 3
LOW 6LOW 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 129 PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT
![Page 12: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/12.jpg)
HIGH 3PAUSE 200LOW 3
LOW 6HIGH 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 99 'linksdrehung
PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT
HIGH 3 'kurzes stueck geradePAUSE 200LOW 3
LOW 6LOW 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 169 PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT
GOTO Sensor
'--------------------------------------------------
RECHTS:
HIGH 3PAUSE 200LOW 3
LOW 6LOW 1LOW 5
![Page 13: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/13.jpg)
HIGH 2HIGH 4
FOR i=0 TO 92 'rechtsdrehung
PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT GOTO Sensor
'-------------------------------------------------
GERADE:
zaehler = 0
HIGH 3PAUSE 200LOW 3
LOW 6LOW 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 49 PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT GOTO Sensor
'---------------------------------------------------
LINKSKORR:debug "links e1-e2 ",dec (e1-e2),crzaehler = 1+zaehler
![Page 14: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/14.jpg)
PAUSE 200LOW 3
LOW 6HIGH 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 4 'linksdrehung
PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT GOTO Sensor
'-----------------------------------------------------------
RECHTSKORR:debug "rechts e1-e2 ",dec (e1-e2),crzaehler = 1+zaehlerHIGH 3PAUSE 200LOW 3
LOW 6LOW 1LOW 5HIGH 2HIGH 4
FOR i=0 TO 4 'rechtsdrehung
PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT GOTO Sensor
'----------------------------------------------------------------
DISTKORR1:
![Page 15: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/15.jpg)
LOW 6LOW 1LOW 5HIGH 2HIGH 4
FOR i=0 TO 15 'rechtsdrehung
PULSOUT 2,13 PULSOUT 4,13 PAUSE 20NEXT
HIGH 3PAUSE 200LOW 3
LOW 6LOW 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 80 PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT
HIGH 3PAUSE 200LOW 3
LOW 6HIGH 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 15 'linksdrehung
PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT
GOTO Sensor
![Page 16: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/16.jpg)
DISTKORR2:
HIGH 3PAUSE 200LOW 3
LOW 6HIGH 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 15 'linksdrehung
PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT
HIGH 3PAUSE 200LOW 3
LOW 6LOW 1HIGH 5HIGH 2HIGH 4
FOR i=0 TO 80 PULSOUT 2,13 PULSOUT 4,13 PAUSE 20
NEXT
HIGH 3PAUSE 200LOW 3
LOW 6LOW 1LOW 5HIGH 2HIGH 4
FOR i=0 TO 12 'rechtsdrehung
![Page 17: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/17.jpg)
Herzlichen Dank für Ihre Aufmerksamkeit
Auf Wiedersehen
![Page 18: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/18.jpg)
Hauptprogramm (Sensor):Startet Messung, liest Sensordaten S1,S2,S3 ein
Zaehler >8?
Sensor3 >30 cm?
Sensor1 <30cm?
Sensor3 <19cm?
Sensor3 >25cm?
(Sensor3 -Sensor2 ) >
65515?
Nein
Nein
Nein
Nein
6,5cm gerade fahren
90-Grad-Linksdrehung
90-Grad-Rechtsdrehung
Zu nahe Distanzkorrigieren
Zu weite Distanzkorrigieren
Korrektur nach rechts
Ja
Ja
Ja
Ja
Ja
Ja
S3
S1
S2
Messrichtung S3
Messrichtung S2
Messrichtung S
1
STAMPY
(Sensor3 - Sensor2) < 2cm?
Nein
Nein
6,5cm gerade fahren
Korrektur nach links
Ja
Ja
Nein
(Sensor3 – Sensor2) < 60000?
Sicherheitsfunktion, um Endlosschlaufen abzubrechen
![Page 19: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/19.jpg)
Hauptprogramm (Sensor):Startet Messung, liest Sensordaten S1,S2,S3 ein
Zaehler >8?
Sensor3 >30 cm?
Sensor1 <30cm?
Sensor3 <19cm?
Sensor3 >25cm?
(Sensor3 -Sensor2 ) >
65515?
Nein
Nein
Nein
Nein
6,5cm gerade fahren
90-Grad-Linksdrehung
90-Grad-Rechtsdrehung
Zu nahe Distanzkorrigieren
Zu weite Distanzkorrigieren
Korrektur nach rechts
Ja
Ja
Ja
Ja
Ja
Ja
S3
S1
S2
Messrichtung S3
Messrichtung S2
Messrichtung S
1
STAMPY
(Sensor3 - Sensor2) < 2cm?
Nein
Nein
6,5cm gerade fahren
Korrektur nach links
Ja
Ja
Nein
(Sensor3 – Sensor2) < 60000?
Fall1: Sieht Sensor 3 keine Wand, dreht sich der Roboter nach links
Keine Wand
Ecke
![Page 20: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/20.jpg)
Hauptprogramm (Sensor):Startet Messung, liest Sensordaten S1,S2,S3 ein
Zaehler >8?
Sensor3 >30 cm?
Sensor1 <30cm?
Sensor3 <19cm?
Sensor3 >25cm?
(Sensor3 -Sensor2 ) >
65515?
Nein
Nein
Nein
Nein
6,5cm gerade fahren
90-Grad-Linksdrehung
90-Grad-Rechtsdrehung
Zu nahe Distanzkorrigieren
Zu weite Distanzkorrigieren
Korrektur nach rechts
Ja
Ja
Ja
Ja
Ja
Ja
S3
S1
S2
Messrichtung S3
Messrichtung S2
Messrichtung S
1
STAMPY
(Sensor3 - Sensor2) < 2cm?
Nein
Nein
6,5cm gerade fahren
Korrektur nach links
Ja
Ja
Nein
(Sensor3 – Sensor2) < 60000?
Fall2: Sieht Sensor 1 eine Wand, dreht sich der Roboter nach rechts
Wand
![Page 21: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/21.jpg)
Hauptprogramm (Sensor):Startet Messung, liest Sensordaten S1,S2,S3 ein
Zaehler >8?
Sensor3 >30 cm?
Sensor1 <30cm?
Sensor3 <19cm?
Sensor3 >25cm?
(Sensor3 -Sensor2 ) >
65515?
Nein
Nein
Nein
Nein
6,5cm gerade fahren
90-Grad-Linksdrehung
90-Grad-Rechtsdrehung
Zu nahe Distanzkorrigieren
Zu weite Distanzkorrigieren
Korrektur nach rechts
Ja
Ja
Ja
Ja
Ja
Ja
S3
S1
S2
Messrichtung S3
Messrichtung S2
Messrichtung S
1
STAMPY
(Sensor3 - Sensor2) < 2cm?
Nein
Nein
6,5cm gerade fahren
Korrektur nach links
Ja
Ja
Nein
(Sensor3 – Sensor2) < 60000?
Der Roboter entscheidet, ob er den Winkel oder den Abstand zur Wand korrigieren soll und korrigiert ihn falls noetig
![Page 22: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/22.jpg)
Hauptprogramm (Sensor):Startet Messung, liest Sensordaten S1,S2,S3 ein
Zaehler >8?
Sensor3 >30 cm?
Sensor1 <30cm?
Sensor3 <19cm?
Sensor3 >25cm?
(Sensor3 -Sensor2 ) >
65515?
Nein
Nein
Nein
Nein
6,5cm gerade fahren
90-Grad-Linksdrehung
90-Grad-Rechtsdrehung
Zu nahe Distanzkorrigieren
Zu weite Distanzkorrigieren
Korrektur nach rechts
Ja
Ja
Ja
Ja
Ja
Ja
S3
S1
S2
Messrichtung S3
Messrichtung S2
Messrichtung S
1
STAMPY
(Sensor3 - Sensor2) < 2cm?
Nein
Nein
6,5cm gerade fahren
Korrektur nach links
Ja
Ja
Nein
(Sensor3 – Sensor2) < 60000?
Nachdem eine Entscheidung zu einer Aktion gefuehrt hat (z.B. der Roboter hat sich nach rechts gedreht), startet wieder das Hauptprogramm.
![Page 23: Roboter im Labyrinth Schweizer Jugend forscht Studienwoche Informatik Barbara Rubi, Fabienne Schwab, Shuyang Xu](https://reader035.vdocuments.site/reader035/viewer/2022062623/55204d7f49795902118d12b9/html5/thumbnails/23.jpg)