Er fährt!

Nachdem im vorigen Beitrag gezeigt wurde, was alles nicht geht, und wie auch in der letzten Sendung meines Podcasts erwähnt, kann ich heute sagen: Kaum 7,5 Jahre später… und er fährt! ;-)

Sicher noch nicht perfekt und im hier auch noch sehr langsam, aber die „Richtung“ ist erkennbar. Nun gilt es noch die Parameter etwas zu optimieren, damit er auch noch durch die Tür fährt. Derzeit ist dieser Abstand dem Roboter noch zu eng. Alle diese Werte, wie diese „Durchfahrweite“, die per Kosinussatz anhand der Laserlinien ermitteltwird, können übrigens in der GUI „live“ über einen Settingsdialog geändert werden.

 

Hindernisumfahrung – Erstes Ergebnis

Wie im vorigen Beitrag gezeigt, fuhr der Roboter beim Starten nicht in die Richtung, die vom obstacleCheckThread schon lange ermittelt wurde. Der Fehler wurde gefunden und nun sieht das Ganze schon etwas besser aus. Noch nicht perfekt, aber es geht in die richtige Richtung – im wahrsten Sinne des Wortes:

PS.: Natürlich ist dieses nicht die Endgeschwindigkeit, aber zum Testen erstmal ganz angenehm.

 

Hindernisumfahrung – Erste Analyse

Wie im vorigen Beitrag gezeigt, schafft es der Roboter gerade hervorragend mutig gegen ein Hindernis zu fahren – ohne auszuweichen. Um herauszufinden, woran es liegt, wurde nun die Fahrt des Bots etwas präziser aufgezeichnet. Zuvor wurde der TFT-Bildschirm ummontiert, so dass diese endlich in Fahrtrichtung zeigt und auch von oben etwas besser erreichbar ist. Hier das mit der Hand gedrehte Video:

Es ist etwas wackelig, da ich die Kamera nicht fest auf dem Roboter montieren konnte. Sie würde trotz aufgesetztem Weitwinkel-Objektiv zu weit nach hinten vom Bot abstehen. Und ich möchte mir nicht vorstellen, was passiert, wenn der Roboter sich dann dreht und die Kamera mit Halterung irgendwie abbricht, stürzt oder ähnliches…

Was ist also im Video oben passiert? Hier sieht man erst einmal die Richtung in die der Bot fährt:

Wie man sieht, ist der grüne Bereich der Laserlinien der für den Roboter befahrbare Bereich und der Roboter hat als sogenannte „preferred direction“ bereits links gewählt – Erkennbar an dem Pfeil in der GUI, der nach links zeigt:

Was macht er aber genau nicht, wenn man auf dem Touchscreen auf „Start“ klickt? Richtig. Nach links fahren. Denn obwohl der obstacleCheckThread die ganze Zeit aktiv ist (sonst würde der Pfeil nicht nach links zeigen), fährt der Roboter geradeaus – und fährt komischerweise auch weiter geradeaus. Normalerweise sollte der obstacleCheckThread sofort die Info per Qt’s Signal und Slot Mechanismen an alle beteiligten Prozesse senden, dass es nach links gehen. Hier gilt es also, einen schönen Bug zu finden! Bleibt dran…