Orientierung im Labyrinth

Nachdem unser Orientierungssensor nicht 99,9%ig funktioniert (leider nur 99%ig, das ist für uns nicht zuverlässig genug 😀 ), mussten wir uns zur Verbesserung der Geradeausfahrten etwas anderes überlegen. Problem war, dass der Roboter, wenn keine Wände in unmittelbarer Nähe zur Verfügung stehen, an denen er sich ausrichten kann, manchmal nicht weit genug oder zu weit fährt (zur Erinnerung: Der Roboter fährt immer in ,,Elementen“, also z.B. 30cm geradeaus oder 90° Kurve). Nun haben wir ein weiteres Sensorpaar installiert, sodass der Roboter nun insgesamt acht Sharp Infrarotentfernungssensoren, also vier Paare, in jede Richtung eines, hat, um sich über die Differenz zweier Sensoren an einer Wand auszurichten (so spielt die Mindestreichweite der Sensoren von 15cm, ab denen die Werte wieder steigen, keine Rolle). Das war uns aber immer noch nicht genug. Deshalb haben wir uns überlegt, dass der Roboter manchmal erkennen kann, wenn er am Ende einer Fliese steht: Bei 90° Außenkurven beispielsweise befindet sich erst eine Wand neben dem Roboter, die dann aber ,,umklappt“, d.h. der Roboter sieht zuerst eine Wand neben sich und auf einmal nicht mehr. Wenn er an dem Punkt angelangt ist, an dem sich auf einmal keine Wand mehr rechts befindet, muss er noch genau 15cm geradeaus fahren.

Des Weiteren haben wir nun einen PD-Regler implementiert. Wenn sich links oder rechts neben dem Roboter eine Wand befindet, hält er den Abstand so gut wie möglich. Zuvor haben wir einen normalen P-Regler benutzt, jetzt haben wir den D-Anteil hinzugefügt, sodass kleinste Änderungen oder sogar Andeutungen auf Änderungen schon vorher erkannt werden (differentiell). Nun fährt der Roboter zwar nicht mehr schön ,,flüssig“, gleichmäßig neben der Wand, dafür aber sehr genau in der Mitte.

Fotos folgen bald!