====== Robotik im Simulationsmodus ====== Da Guppenarbeit am realen Roboter mit 2m Abstand kaum zu realisieren ist, werden wir den Simulationsmodus von TigerJython verwenden. Damit es doch noch ein bisschen mit realer Robotik zu tun hat, habe ich eine Challenge mit zufälliger Startposition und -Richtung entworfen, sowie Graustufen für den Lichtsensor. ===== Aufträge ===== ==== TigerJython starten ==== Zuerst muss TigerJython auf den Schulgeräten gestartet werden: **Entweder** * ab Ihrem Stick, * ab dem Klassenlaufwerk (wenn es dort noch ist), * oder Installation auf dem Laufwerk C:\ wie folgt: * Legen Sie einen Ordner "tigerjython" auf dem Laufwerk C:\ an * Speichern Sie dort die Datei tigerjython2.jar (zu finden [[https://fginfo.ksbg.ch/~ivo/tigerjython/tigerjython2.jar|schulintern]] oder direkt auf [[http://www.tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=lernumgebung/einrichtung.inc.php|tigerjython.ch]]) * Starten Sie dann die heruntergeladene Datei tigerjython2.jar ==== Programm-Skelett und Challenge entpacken ==== * **Entpacken** (einfach nur das Archiv öffnen reicht nicht!) Sie **alle Dateien** des zip-Archivs {{ :lehrkraefte:blc:informatik:glf19:robochallenge.zip |}} an einen geeigneten Ort in einen neuen Ordner (z.B. auf Ihrem Stick oder Ihrem Home-Laufwerk). * Öffnen Sie mit die Datei challenge.py von TigerJython aus (mit **Datei -> öffnen**). * Starten Sie das Programm * Studieren Sie das Programm ==== Challenge 1: Roter Punkt unten rechts ==== Vervollständigen Sie das Programm so, dass der Roboter auf dem roten Punkt unten rechts zum Stillstand kommt (d.h. mindestens ein Pixel des Roboters ist auf dem roten Punkt). === Tips und Tricks === * Mit ''l = ls.getValue()'' erhalten Sie den Helligkeitswert von 0 (schwarz) bis 1000 (weiss). * Versuchen Sie den Roboter so zu steuern, dass die Helligkeit möglichst 500 beträgt. * Messen Sie die Distanz zur Wand mit ''d = us.getDistance()'' um zu wissen, wie nahe der Roboter der Wand schon ist. * Anstatt den Roboter nur mit ''gear.left(ms)'', ''gear.right(ms)'' und ''forward(ms)'' zu steuern (''ms'' sind hier die Anzahl Millisekunden, die die Bewegung dauern soll), gibt es auch noch die Befehle ''gear.leftArc(r, ms)'' und ''gear.rightArc(r,ms)'', wobei ''r'' der Kurvenradius ist (grosses ''r'' ist fast eine Gerade, ''r'' nahe bei Null gibt eine enge Kurve). ==== Challenge 2: Roter Punkt oben ==== Vervollständigen Sie das Programm so, dass der Roboter jedesmal auf dem roten Punkt oben zum Stillstand kommt (d.h. mindestens ein Pixel des Roboters ist auf dem roten Punkt). ===== Video-Übersicht über die Challenge ===== * [[https://fginfo.ksbg.ch/~ivo/videos/informatik/robotik/simrobo-challenge.mp4|Video]] oder auf [[https://www.microsoftstream.com/video/647b8c25-4459-412b-a6ff-42a9f1c70445|Stream]]