No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.1.50
License GPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.uni-koblenz.de/robbie/homer_mapping.git
VCS Type git
VCS Version master
Last Updated 2018-11-30
Dev Status DEVELOPED
Released RELEASED

Package Description

The homer_navigation package

Additional Links

No additional links.

Maintainers

  • Florian Polster
  • Raphael Memmesheimer

Authors

  • Malte Knauf

homer_navigation

Introduction

Das Package "homer_navigation" mit seiner gleichnamigen Node ist für die Navigation des Roboters zuständig. Es hält stets die aktuelle Karte des Roboters vor, die auf Topic /map empfangen wurde und berechnet anhand von dieser Karte einen Pfad vom Roboter zu einem gegebenen Zielpunkt. Dafür verwendet die Navigation die sogenannte Pfad-Transformation - eine Kombination aus Distanz-Transformation und Hindernistransformation -, in Verbindung mit A-Stern, um einen optimalen Pfad zu finden. Das Verhältnis zwischen Distanz- und Hindernis-Transformation kann über einen Parameter angepasst werden. Nach der Pfadberechnung ist das Package außerdem dafür zuständig den Roboter diesen Pfad zum Ziel abfahren zu lassen.

Topics

Publisher

  • /homer_navigation/target_reached (std_msgs/String): Wenn der Roboter sein Ziel erreicht hat, wird eine Message über dieses Topic veschickt.
  • /homer_navigation/target_unreachable (mapnav_msgs/TargetUnreachable): Über dieses Topic wird mitgeteilt, wenn der Roboter sein Ziel nicht erreichen kann und die Navigation abgebrochen wurde. Ein Statuscode wird mitgeliefert (siehe Package map_messages).
  • /homer_navigation/path (nav_msgs/Path): Hierüber wird der aktuelle Pfad zur Visualisierung an die GUI geschickt.
  • /robot_platform/cmd_vel (geometry_msgs/Twist): Über dieses Topic werden die aktuellen Fahrbefehle zum Roboter geschickt.
  • /ptu/set_pan_tilt (ptu/SetPanTilt): Über dieses Topic wird die PTU nach navigation auf 0, 0 gefahren.
  • /ptu/center_world_point (ptu/CenterWorldPoint): Über dieses Topic wird die PTU auf den nächsten Wegpunkt centriert.

Subscriber

  • /map (nav_msgs/OccupancyGrid): Die jeweils aktuelle Map wird empfangen, um sie für die Pfadplanung und Hindernisvermeidung während der Navigation zu verwenden.
  • /pose (geometry_msgs/PoseStamped): Die aktuelle Pose des Roboters wird als Startpunkt der Pfadplanung verwendet.
  • /scan (sensor_msgs/LaserScan): Der aktuelle LaserScan wird zur Hindernisvermeidung verwendet.
  • /front_scan (sensor_msgs/LaserScan): Der aktuelle LaserScan wird zur Hindernisvermeidung verwendet.
  • /homer_navigation/start_navigation (mapnav_msgs/StartNavigation): Startet die Pfadplanung und anschließend die Navigation zur mitgelieferten Zielpose.
  • /move_base_simple/goal (geometry_msgs/PoseStamped): Started die Pfadplanung und anschließende Navigation zur Zielpose.
  • /homer_navigation/stop_navigation (std_msgs/Empty): Stoppt die aktuelle Navigation.
  • /homer_navigation/navigate_to_POI (mapnav_msgs/NavigateToPOI): Startet die Pfadplanung und anschließend die Navigation zum POI mit angegebenen Namen. Der entsprechende POI wird anschließend vom map_manager erfragt.
  • /homer_navigation/unknown_threshold (std_msgs/Int8): Über dieses Topic kann der Schwellwert verändert werden, ab dem ein Zellwahrscheinlichkeit als belegt und damit unbefahrbar markiert wird. Standard ist 50 (%).
  • /homer_navigation/refresh_params (std_msgs/Empty): Über dieses Topic lassen sich die Parameter neu auslesen.
  • /homer_navigation/max_depth_move_distance (std_msgs/Float32): Über dieses Topic lässt sich die Hindernissdistance der Tiefendaten übermitteln.

Launch Files

  • homer_navigation.launch: Startet die Navigation und lädt alle Navigations-Paramter in den Parameterserver.

Parameter

homer_navigation

  • /homer_navigation/safe_path_weight: 1.2 # factor weight for safer path in relation to shortest path
  • /homer_navigation/waypoint_sampling_threshold: 1.5 # factor of how dense the path waypoints are sampled regarding the obstacle_distance of the last or next waypoint
  • /homer_navigation/frontier_safeness_factor: 1.4 # factor of min_allowed_obstacle_distance to an obstacle of a cell which is considered safe

cost calculation parameters

  • /homer_navigation/allowed_obstacle_distance/min: 0.3 # m robot must stay further away than this from obstacles
  • /homer_navigation/allowed_obstacle_distance/max: 5.0 # m not used at the moment
  • /homer_navigation/safe_obstacle_distance/min: 0.7 # m if possible robot should move further away than this from obstacles
  • /homer_navigation/safe_obstacle_distance/max: 1.5 # m further away than this from obstacles doesn't give a lesser cost addition

collision Avoidance parameters

  • /homer_navigation/collision_distance: 0.3 # m distance to obstacle from robotFront in which the obstacle avoidance will be executed
  • /homer_navigation/collision_distance_near_target: 0.2 # m distance to obstacle from robotFront where obstacle avoidance won't be executed when near the target
  • /homer_navigation/backward_collision_distance: 0.5 # m distance behind robot in which the robot won't back up into while doing collision avoidance
  • /homer_navigation/min_y: 0.27 # m half robot width for max_move_distance calculation
  • /homer_navigation/min_x: 0.3 # m distance from base_link to robot front for max_move_distance calculation

check path on map update

  • /homer_navigation/check_path: true # bool toggles if the calculated path will be checked for obstacles while navigating
  • /homer_navigation/check_path_max_distance: 2 # m maximal distance from robot position in which the path is being checked for obstacles

speed parameters

  • /homer_navigation/min_turn_angle: 0.15 # rad values lower than this angle will let the navigation assume reaching the designated position
  • /homer_navigation/max_turn_speed: 0.6 # rad/s max turn velocity the navigation can send
  • /homer_navigation/min_turn_speed: 0.3 # rad/s min turn speed for Final Turn so the Robot doesn't stop turning
  • /homer_navigation/max_drive_angle: 0.6 # rad threshold for driving and turning - if above that value only turn

  • /homer_navigation/max_move_speed: 0.4 # m/s max move speed the navigation can send

caution factors values near 0 mean high caution values greater values mean less caution

if any factor equals 0 the robot can't follow paths !!

  • /homer_navigation/map_speed_factor: 1.2 # factor for the max speed calculation of the obstacleDistancemap
  • /homer_navigation/waypoint_speed_factor: 1.2 # factor for the max speed calculation with the distance to the next waypoint
  • /homer_navigation/obstacle_speed_factor: 1.0 # factor for the max speed calculation with the last laser may movement distance

  • /homer_navigation/callback_error_duration: 0.3 # s max duration between pose and laser callbacks before error handling is executed

  • /homer_navigation/use_ptu: false# bool toggles if the ptu is being used to look at the next Waypoint during navigation

CHANGELOG

Changelog for package homer_navigation

0.1.41 (2018-04-11)

  • tarjectory msgs
  • Contributors: Raphael Memmesheimer

0.1.40 (2018-04-11)

  • drive to torso position
  • Contributors: Raphael Memmesheimer

0.1.39 (2017-11-14)

0.1.38 (2017-11-13)

0.1.37 (2017-11-08)

  • Merge branch 'master' of gitlab.uni-koblenz.de:robbie/homer_mapping
  • Contributors: Raphael Memmesheimer

0.1.21 (2017-03-21)

  • autoformat
  • Contributors: Niklas Yann Wettengel

0.1.19 (2017-03-02)

  • maskMap disabled because not functional at the moment
  • no seperate laserCallback
  • give position information of obstacle in target unreachable message
  • Contributors: Florian Polster, Lisa

0.1.18 (2017-02-28)

  • reworked ignore laser and obstacle position feedback
  • Contributors: Lisa

0.1.17 (2017-02-26)

  • Eigen3 INCLUDE_DIR fix
  • Contributors: Niklas Yann Wettengel

0.1.16 (2017-02-23)

  • changed maintainer
  • Contributors: Raphael Memmesheimer

0.1.15 (2017-02-16)

  • map_manager without laser scans
  • Contributors: Lisa

0.1.14 (2017-02-10)

  • changed check path and waypoint angle speed
  • Contributors: Lisa

0.1.13 (2017-02-10)

  • best changelog ever
  • Contributors: Florian Polster

0.1.12 (2017-02-09)

  • c++11
  • laser scan check path
  • Contributors: Florian Polster

0.1.11 (2017-01-19)

  • no debug
  • cool changelogs
  • navigation with dynamic maps
  • Contributors: Lisa
  • navigation with dynamic maps
  • Contributors: Lisa

0.1.10 (2016-12-08)

  • removed not used code
  • added support for not quadratic maps
  • Contributors: Lisa

0.1.9 (2016-11-23)

  • fix bug when first target is unreachable
  • Contributors: Malte Roosen

0.1.8 (2016-11-21)

  • Catch error case of obstacleMapDistance=0
  • Contributors: Malte Roosen

0.1.7 (2016-11-17)

  • Add a parameter to NavigateToPOI msgs to controll new behaviour (remove config parameter)
  • Introduce parameter to change behaviour after collision avoidance
  • Autoformat homer_navigation_node
  • Contributors: Malte Roosen
  • Introduce parameter to change behaviour after collision avoidance
  • Autoformat homer_navigation_node
  • Contributors: Malte Roosen

0.1.6 (2016-11-04)

0.1.5 (2016-11-04)

  • fixed dependencies
  • Contributors: Niklas Yann Wettengel

0.1.4 (2016-11-03)

  • fixes
  • updated changelog
  • Contributors: Niklas Yann Wettengel

0.1.3 (2016-11-03)

0.1.2 (2016-11-03)

  • install launch files
  • Contributors: Niklas Yann Wettengel

0.1.1 (2016-11-03)

  • fixes
  • initial commit
  • Contributors: Niklas Yann Wettengel

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged homer_navigation at answers.ros.org

Package Summary

Tags No category tags.
Version 1.0.16
License GPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.uni-koblenz.de/robbie/homer_mapnav.git
VCS Type git
VCS Version 1.0.16
Last Updated 2016-02-18
Dev Status UNMAINTAINED
Released RELEASED

Package Description

The homer_navigation package

Additional Links

No additional links.

Maintainers

  • Viktor Seib
  • Niklas Yann Wettengel
  • Gregor Heuer
  • Raphael Memmesheimer

Authors

  • Malte Knauf

homer_navigation

Known Issues / Todo's

Die Pfadplanung dauert im Gegensatz zur alten Robbie-Implementierung zu lange. Je mehr freie Fläche vorhanden ist, desto länger dauert die Berechnung eines Pfades.

Introduction

Das Package "homer_navigation" mit seiner gleichnamigen Node ist für die Navigation des Roboters zuständig. Es hält stets die aktuelle Karte des Roboters vor, die z.B. vom map_manager veschickt wurde und berechnet anhand von dieser Karte einen Pfad vom Roboter zu einem gegebenen Zielpunkt. Dafür verwendet die Navigation die sogenannte Pfad-Transformation - eine Kombination aus Distanz-Transformation und Hindernistransformation -, in Verbindung mit A-Stern, um einen optimalen Pfad zu finden. Das Verhältnis zwischen Distanz- und Hindernis-Transformation kann über einen Parameter angepasst werden. Nach der Pfadberechnung ist das Package außerdem dafür zuständig den Roboter diesen Pfad zum Ziel abfahren zu lassen.

Topics

Publisher

  • /robot_platform/MoveRobot (robot_platform/MoveRobot): Über dieses Topic wird der aktuelle Fahrbefehl an die Roboterplattform geschickt.
  • /robot_platform/TurnRobot (robot_platform/TurnRobot): Über dieses Topic wird der aktuelle Drehbefehl an die Roboterplattform geschickt.
  • /robot_platform/StopRobot (robot_platform/StopRobot): Über dieses Topic wird der Roboter am Ziel beziehungsweise vor einem Hindernis gestoppt.
  • /homer_navigation/target_reached (std_msgs/Empty): Wenn der Roboter sein Ziel erreicht hat, wird eine Message über dieses Topic veschickt.
  • /homer_navigation/target_unreachable (map_messages/TargetUnreachable): Über dieses Topic wird mitgeteilt, wenn der Roboter sein Ziel nicht erreichen kann und die Navigation abgebrochen wurde. Ein Statuscode wird mitgeliefert (siehe Package map_messages).
  • /homer_navigation/path (nav_msgs/Path): Hierüber wird der aktuelle Pfad zur Visualisierung an die GUI geschickt.

Subscriber

  • /map (nav_msgs/OccupancyGrid): Die jeweils aktuelle Map wird empfangen, um sie für die Pfadplanung und Hindernisvermeidung während der Navigation zu verwenden.
  • /pose (geometry_msgs/PoseStamped): Die aktuelle Pose des Roboters wird als Startpunkt der Pfadplanung verwendet.
  • /scan (nav_msgs/LaserScan): Der aktuelle LaserScan wird zur Hindernisvermeidung verwendet.
  • /robot_platform/task_finished (std_msgs/Empty): Wird vom Roboter nach erfolgter AUsführung einer Bewegung verschickt. Die Navigation verwendet dies am Ende der Navigation, um nach der letzten Drehung auf dem Zielpunkt die TargetReached-Nachricht zu versenden.
  • /homer_navigation/start_navigation (map_messages/StartNavigation): Startet die Pfadplanung und anschließend die Navigation zur mitgelieferten Zielpose
  • /homer_navigation/stop_navigation (map_messages/StopNavigation): Stoppt die aktuelle Navigation.
  • /homer_navigation/navigate_to_POI (map_messages/NavigateToPOI): Startet die Pfadplanung und anschließend die Navigation zum POI mit angegebenen Namen. Der entsprechende POI wird anschließend vom map_manager erfragt.
  • /homer_navigation/unknown_threshold (std_msgs/Int8): Über dieses Topic kann der Schwellwert verändert werden, ab dem ein Zellwahrscheinlichkeit als belegt und damit unbefahrbar markiert wird. Standard ist 50 (%).

Launch Files

  • homer_navigation.launch: Startet die Navigation und lädt alle Navigations-Paramter in den Parameterserver.

Parameter

homer_navigation

  • /homer_navigation/safe_path_weight: Gewicht, um Bevorzugung sicherer (d.h. größerer Abstand zu Hindernissen) Pfade im Gegensatz zu kürzeren Pfaden einzustellen. 0 bedeutet kürzester Pfad, aber keine Sicherheit. Je höher, desto sicherer.
  • /homer_navigation/allowed_obstacle_distance/min: Mindestdistanz zum nächsten Hindernis, die der Roboter bei der Navigation besitzen muss.
  • /homer_navigation/allowed_obstacle_distance/max: Maximaldistanz zum nächsten Hindernis, die der Roboter bei der Navigation besitzen muss (wichtig für die Lokalisierung, abhängig von der Reichweite der Abstandssensoren).
  • /homer_navigation/safe_obstacle_distance/min: Mindestdistanz des Roboters zum nächsten Hindernis für eine sichere Navigation. Gewichtung wird mit safe_path_weight eingestellt.
  • /homer_navigation/safe_obstacle_distance/max: Maximaldistanz des Roboters zum nächsten Hindernis.
  • /homer_navigation/frontier_safeness_factor: Faktor der minimal erlaubten Distanz zum nächsten Hindernis, den eine Grenzzelle zu unbekanntem Gebiet mindestens haben muss, um als sicher und damit befahrbar zu gelten.
  • /homer_navigation/collision_distance: Wenn die Distanz zum nächsten Hindernis in Metern (gemessen ab der Front des Roboters) kleiner wird als der angegebene Parameter, wird der aktuelle Fahrbefehl gestoppt und die Pfadplanung neugestartet.
  • /homer_navigation/collision_distance_near_target: Nähe in Metern zum Ziel, ab der der Roboter bei einer Kollision nicht mehr zurückfährt und neuplant, sondern stoppt und eine TargetReached-Nachricht versendet.
  • /homer_navigation/backward_distance: Strecke in Metern, die der Roboter bei einer bevorstehenden Kollision zurückfährt, bevor er einen neuen Pfad plant.
  • /homer_navigation/check_path: Wenn auf "true" gesetzt, wird der aktuell geplante Pfad auf neu hinzukommende Hindernisse geprüft und gegebenenfalls neugeplant.
  • /homer_navigation/check_path_max_errors: Wenn Pfade gecheckt werden, wird umgeplant, sobald sich "check_path_max_errors"-mal hintereinander ein Hindernis in der ankommenden Karte im Pfad befindet.
  • /homer_navigation/check_path_max_distance: Der Pfad wird nur in der Nähe des Roboters bis zur im Parameter angegebenen Distanz auf neu hinzukommende Hindernisse überprüft
  • /homer_navigation/turn_threshold_angle: Wenn der Winkel zwischen der Orientierung des Roboters und der Strecke zum nächsten Wegpunkt unter dem angegebenen Wert liegt, soll geradeaus gefahren werden, ansonsten soll sich der Roboter um diesen Winkel in Richtung des Wegpunkts drehen.
  • /homer_navigation/waypoint_sampling_threshold: Parameter, um Anzahl der Wegpunkte im Pfad zu minimieren. 0 bedeutet keine Reduzierung. Je höher der Wert, desto mehr Wegpunkte werden gelöscht.
  • /homer_navigation/speed_control/last_speedfactor_count: Größe des Vektors, der die zuletzt berechneten Geschwindigkeitsfaktoren berechnet. Wird benutzt, um aus dem Mittelwert zusammen mit der aktuellen Distanz zum nächsten Hindernis die aktuelle Geschwindigkeit zu berechnen.
  • /homer_navigation/speed_control/min_move_speedfactor: Minimaler Faktor der maximal möglichen Geschwindigkeit, mit der der Roboter jemals fahren darf.
  • /homer_navigation/speed_control/min_turn_speedfactor_moving: Minimaler Faktor der maximal möglichen Drehgeschwindigkeit, mit der der Roboter sich während einer Geradeausfahrt drehen darf (aktuell mit dem cu2wd nicht möglich).
  • /homer_navigation/speed_control/min_turn_speedfactor_standing: Minimaler Faktor der maximal möglichen Drehgeschwindigkeit, mit der sich der Roboter im Stand drehen darf.
  • /homer_navigation/speed_control/inner_danger_zone/x_min: Wenn sich in der mit den nächsten vier Parametern beschriebenen Boundingbox um den Roboter ein Hindernis befindet, darf sich der Roboter nur mit der vorher eingestellten nachfolgend eingestellten Geschwindigkeit bewegen.
  • /homer_navigation/speed_control/inner_danger_zone/x_max:
  • /homer_navigation/speed_control/inner_danger_zone/y_min:
  • /homer_navigation/speed_control/inner_danger_zone/y_max:
  • /homer_navigation/speed_control/inner_danger_zone/speed_factor: Faktor der maximalen Geschwindigkeit, mit der sich der Roboter in seiner inneren Gefahrenzone bewegen darf.
  • /homer_navigation/speed_control/outer_danger_zone/x_min: Eine zweite Boundingbox, die die innere umschließen muss.
  • /homer_navigation/speed_control/outer_danger_zone/x_max:
  • /homer_navigation/speed_control/outer_danger_zone/y_min:
  • /homer_navigation/speed_control/outer_danger_zone/y_max:
  • /homer_navigation/speed_control/outer_danger_zone/speed_factor: Faktor der maximalen Geschwindigkeit, mit der sich der Roboter in seiner äußeren Gefahrenzone bewegen darf.
  • /homer_navigation/max_rot_vel: Maximal mögliche Rotationsgeschwindigkeit des Roboters in Radiants/Sekunde.
  • /homer_navigation/max_trans_vel: Maximal mögliche Geschwindigkeit des Roboters in Metern/Sekunde.
CHANGELOG

Changelog for package homer_navigation

1.0.16 (2016-02-18)

1.0.15 (2015-12-05)

  • install include directory
  • Contributors: Niklas Yann Wettengel

1.0.14 (2015-12-05)

  • moved header files to include directory
  • modified include path
  • Contributors: Niklas Yann Wettengel

1.0.13 (2015-12-04)

1.0.12 (2015-12-03)

1.0.11 (2015-12-02)

1.0.10 (2015-12-02)

1.0.9 (2015-12-01)

1.0.8 (2015-11-30)

1.0.7 (2015-11-28)

  • added install()
  • updated changelog
  • updated catkin_depends
  • Contributors: Niklas Yann Wettengel
  • updated catkin_depends
  • Contributors: Niklas Yann Wettengel

1.0.6 (2015-11-27)

  • removed env HOMER_DIR from CMakeLists.txt
  • Contributors: Niklas Yann Wettengel

1.0.5 (2015-11-24)

  • added missing files
  • Contributors: Niklas Yann Wettengel

1.0.4 (2015-11-20)

  • changed build dependency from libeigen3-dev to eigen
  • Contributors: Niklas Yann Wettengel

1.0.3 (2015-11-20)

  • added libeigen3-dev build dependency
  • Contributors: Niklas Yann Wettengel

1.0.2 (2015-11-20)

  • added cmake_modules as build dependency in package.xml
  • added Maintainers
  • Contributors: Niklas Yann Wettengel

1.0.1 (2015-09-08)

  • init
  • Contributors: Raphael Memmesheimer

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged homer_navigation at answers.ros.org

No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.