TigerJython4Kids | HomeTurtlegrafikRobotikDatenbanken |
DU LERNST HIER... |
wie du die drei oberen Infrarotsensoren dafür einsetzen kannst, Hindernisse zu erkennen und entsprechend zu reagieren. |
MUSTERBEISPIEL |
from raspisim import * #from raspibrick import * RobotContext.useObstacle("sprites/field1.gif", 250, 250) robot = Robot() gear = Gear() ir = InfraredSensor(IR_CENTER) gear.forward() while not robot.isEscapeHit(): if ir.getValue() == 1: gear.backward(500) gear.left(550) gear.forward() robot.exit() |
MERKE DIR... |
Dein Programm "bemerkt" das Hindernis nur, falls es getValue() aufruft. Ist es in den Funktionen backward(500) oder left(550) blockiert, kannst du mit der Hand ein Hindernis vortäuschen und es geschieht rein gar nichts. |
ZUM SELBST LÖSEN |
|
Da der Sensorzustand genau dann vom Programm erfasst wird, wenn die Sensorfunktion getValue() aufgerufen wird, verliert man oft schnelle Wechsel. Um dies zu vermeiden, muss der Sensor sehr oft hintereinander abgefragt werden (dies nennt man "Pollen").
Elegant ist es, einen eigenen internen Prozess damit zu beauftragen, den Sensor schnell hintereinander zu pollen. Dieser läuft in einem eigenen Thread und löst den Aufruf einer Callbackfunktion aus. Das Programm lautet mit dem Eventmodell wie folgt:
from raspisim import * #from raspibrick import * RobotContext.useObstacle("sprites/field1.gif", 250, 250) def onActivated(id): global hit hit = True robot = Robot() gear = Gear() ir = InfraredSensor(IR_CENTER, activated = onActivated) gear.forward() hit = False while not robot.isEscapeHit(): if hit: hit = False gear.backward(500) gear.left(550) gear.forward() robot.exit()
Abwasserkanäle halten unsere Städte sauber und helfen, Überflutungen bei starken Regenfällen zu verhindern. Rund 80% der Abwasserkanäle sind nicht begehbar. Kanalroboter werden eingesetzt, um die Kanalnetze zu kontrolliert und Leckstellen aufzuspüren. Der Roboter navigiert autonom mit Hilfe seiner Touchsensoren in Kanälen mit 30 - 60 cm Durchmesser und kann mit dem eingebauten Laser-Kamerasystem die beschädigten Stellen entdecken. |
Ein Infrarotsensor besteht aus einer Leuchtdiode (LED), die Lichtstrahlen im Infrarotbereich aussendet und einer Fotodiode, welche die Intensität des reflektierten Lichtes messen kann. Durch diese Konstruktion können Infrarotsensoren die Änderungen im näheren Sichtfeld registrieren und werden in der Praxis häufig zur Erkennung von naheliegende Gegenständen eingesetzt. |