Skip to content
Snippets Groups Projects
README.md 4.94 KiB

homer_mapping

Introduction

Das Package homer_mapping besteht aus einer gleichnamigen Node. Diese ist für die Lokalisierung und Kartierung des Roboters mit Hilfe der Odometrie des Roboters und eines Laserscanners zuständig. Das SLAM-Problem wird durch den Partikelfilter-Algorithmus gelöst. Die Node erwartet kontiniuierlich Odometrie-Werte und Laserdaten und verschickt in konstanten Abständen korrigierte Poseschätzungen über das Topic /pose und tf-Transformation /map -> /base_link. Zudem kann der Roboter sich auf einer vorher geladenen Karte lokalisieren, sowie eine aktuell erstellte Karte abgespeichert werden. Es besteht die Option, die Kartierung ein- oder auszuschalten. Beim Laden einer Karte wird die Kartierung automatisch ausgeschaltet.

Topics

Publisher

  • /pose (geometry_msgs/PoseStamped): Die aktuell ermittelte Pose relativ zu Karte (im Frame /map) des Roboters aus dem Partikelfilter.
  • /homer_mapping/slam_map (nav_msgs/OccupancyGrid): Das aktuelle Karte des Roboters.

Subscriber

  • /odom (nav_msgs/Odometry): Die aktuellen Odometrie-Werte vom Roboter. Diese werden für die Partikelfilter benötigt. /scan (sensor_msgs/LaserScan): Die aktuelle Lasermessung, die vom Partikelfilter benötigt wird.
  • /homer_mapping/userdef_pose (geometry_msgs/Pose): Mit diesem Topic kann die die aktuell vom Partikelfilter berechnete Pose auf eine benutzerdefinierte gesetzt werden. Der Partikelfilter arbeitet nun mit dieser weiter.
  • /homer_mapping/do_mapping (map_messages/DoMapping): Mit diesem Topic kann die Kartierung ein- oder ausgeschaltet werden.
  • /map_manager/reset_maps (std_msgs/Empty): Hiermit kann die aktuelle Karte zurückgesetzt werden.
  • /map_manager/loaded_map (nav_msgs/OccupancyGrid): Mit diesem Topic kann die aktuelle Karte durch eine andere (geladene) Karte ausgetauscht werden.
  • /map_manager/mask_slam (nav_msgs/OccupancyGrid): Im OccupancyGrid dieses Topics stehen Informationen, welche Teile der aktuellen Karte durch andere Werte (frei oder belegt) ersetzt werden sollen.

Launch Files

  • homer_mapping.launch: Dieses Launchfile lädt die Parameterdatei homer_mapping.yaml und startet die Node homer_mapping sowie die Node map_manager im gleichnamigen Package.
  • homer_mapping_rviz.launch:`Dieses Launchfile hat die gleiche Funktionalität wie das obige, wobei es zusätzlich rviz startet.