Roboter unter Linux getestet

 Heute wurden noch einmal alle Komponenten direkt auf dem Roboter unter Linux getestet:

 Wie man sieht, sind der Laserscanner und der Touchscreen noch nicht endgültig verkabelt. Sowohl deren Stromversorgungen als auch die Datenkabel müssen jeweils noch auf dem Bot angeschlossen und verlegt werden.

S300 Laserscanner eingebunden

 Das Update des Programmcodes ist so gut wie abgeschlossen. Hier die erste Ansicht, die natürlich fast wie vorher aussieht, nun eben mit Daten vom SICK S300 Laserscanner:

Es sieht aber nur fast genau so aus, wie vorher: Denn: Der S300 hat eine Auflösung von 0,5 Grad bei 270 Grad "field of view". Darum werden im Screenshot auch 540 statt 270 Laserlinien angezeigt. Daher war auch das Anpassen des Sourcecodes aufwändiger, da an vielen Stellen die Auflösung des Scanners zusätzlich mit integriert werden musste (LaserThread, ObstacleCheckThread, GUI, …).

Ein paar Ausreißer gibt es noch: Wie man sieht ist der Wert für 0 Grad noch falsch (längste rote Linie rechts oben im Bild) und die Flags werden nicht vollständig für alle Linien gesetzt (z.B: grün für den größten freien Bereich). Um einen Eindruck über die Anpassungen zu bekommen, hier eine git Übersicht:

 direcs/bin/direcs.ini                  |   10 +-
 direcs/direcs.pro.user                 |   18 +-
 direcs/direcs.qrc                      |   95 ++–
 direcs/direcs.tag                      |  412 ++++++——-
 direcs/images/kdevelopbanner-small.gif |  Bin 2930 -> 0 bytes
 direcs/src/aboutDialog.ui              |   52 +-
 direcs/src/camThread.cpp               |    8 +-
 direcs/src/camThread.h                 |   10 +-
 direcs/src/consoleGui.cpp              |    4 +-
 direcs/src/consoleGui.h                |    4 +-
 direcs/src/direcs.cpp                  |  100 ++–
 direcs/src/direcs.h                    |    2 +
 direcs/src/direcsSerial.cpp            |  133 ++++-
 direcs/src/direcsSerial.h              |   37 +-
 direcs/src/gui.cpp                     |   42 +-
 direcs/src/gui.h                       |   21 +-
 direcs/src/inifile.cpp                 |   17 +-
 direcs/src/inifile.h                   |   14 +-
 direcs/src/interfaceAvr.cpp            |   48 +–
 direcs/src/interfaceAvr.h              |   16 +-
 direcs/src/laser.h                     |    4 +
 direcs/src/laserSickS300.cpp           | 1068 ++++++++++++——————–
 direcs/src/laserSickS300.h             |  186 ++—-
 direcs/src/laserThread.cpp             |  726 ++++++++++++++++++—-
 direcs/src/laserThread.h               |   64 ++-
 direcs/src/obstacleCheckThread.cpp     |   16 +-
 direcs/src/obstacleCheckThread.h       |    2 +-
 direcs/src/speakThread.cpp             |    2 +-
 direcs/src/speakThread.h               |    2 +-
 direcs/src/src.pro                     |   53 +–
 30 files changed, 1717 insertions(+), 1449 deletions(-)
 delete mode 100644 direcs/images/kdevelopbanner-small.gif

 

Support für SICK Laser S300 kurz vor der Fertigstellung

 Nach vielem Testen und viel reverse engineering konnte der Source Code für den neuen Laserscanner S300 von SICK erstellt werden. Schon spaßig, so ein paar Zeilen eines Seriellen Port Analysers auseinanderzunehmen:

 

Auch der richtige serielle-USB-Konverter will auch gefunden sein:

 

 

Aber ein simples Testprogramm mit eigenem git Repository hilft hier weiter. Und so sehen die ersten Testergebnisse aus:

PS.: Der erste Laserscannerwert ist wohl vernachlässigbar / noch mal zu prüfen… ;-)