Unterstützung für Laserscanner mit mehr als 180 Grad

Nach vielen vielen Änderungen am Sourcecode ist nun die Umstellung für den Einsatz unterschiedliche Laserscanner fertig. Da zum damaligen Entwicklungsstand nicht absehbar war, dass jemals andere Laserscanner als der PLS 101 zum Einsatz kämen, waren leider die damaligen 180 Grad fest in verschiedensten Stellen im Sourcecode "hart codiert". Dieses betraf z.B. den obstacleCheckThread, die GUI und natürlich den laserThread, der die Daten von den Laserscanner ausliest und speichert. Auch ein Einsatz unterschiedlicher Laserscanner für "vorne" und "hinten" auf dem Roboter war dadurch bis heute nicht möglich.

Um das Ganze für künftige Anwendungen flexibler zu gestalten ist die Angabe sowohl der Laserscannertypen als auch der Gradzahlen (field of view, fow) nun in der ini-Datei möglich. Und so sieht das Ergebnis dann (im Simulationsmodus) aus (ein Scanner mit 30, der andere mit 270 Grad):

Um eine Vorstellung davon zu bekommen, was das bedeutete (inkl. erster Integrationsversuche des neuen Laserscanners S300 in den Sourcode), schaue man sich die Änderungen am git branch an:

From .
 * branch            S300       -> FETCH_HEAD
Updating dee663e..9f5ffa8
Fast forward
 direcs/bin/direcs.ini              |    8 +-
 direcs/direcs.kdevses              |   36 +-
 direcs/direcs.pro.user             |  243 ++++++
 direcs/direcs.tag                  |  340 +++++++++
 direcs/src/consoleGui.cpp          |    3 +-
 direcs/src/consoleGui.h            |    3 +-
 direcs/src/direcs.cpp              |  195 ++++–
 direcs/src/direcs.h                |    5 +
 direcs/src/gui.cpp                 |  161 +++–
 direcs/src/gui.h                   |   24 +-
 direcs/src/laser.cpp               |    8 +-
 direcs/src/laser.h                 |    4 +-
 direcs/src/laserSickS300.cpp       | 1441 +++++++++++++++++++—————–
 direcs/src/laserSickS300.h         |  175 +++++
 direcs/src/laserThread.cpp         |  565 ++++++++++—-
 direcs/src/laserThread.h           |   70 ++-
 direcs/src/mainWindow.ui           |   19 +-
 direcs/src/obstacleCheckThread.cpp |  112 ++–
 direcs/src/obstacleCheckThread.h   |    8 +-
 direcs/src/src.pro                 |    3 +
 20 files changed, 2413 insertions(+), 1010 deletions(-)
 create mode 100644 direcs/direcs.pro.user
 create mode 100755 direcs/src/laserSickS300.h

 

[637 Aufrufe]