traversability_estimation簡介
它通過使用elevation_map高程圖和可遍歷性估計過濾器來生成可遍歷性圖。
接收話題
-
/image_elevation
([sensor_msgs/Image])
可以訂閱圖像。 該圖像將轉換爲灰度圖像,並將值映射到高程圖。
-
~/initial_elevation_map
([grid_map_msgs/GridMap])
可以訂閱網格圖。 輸入網格圖的高程層用於計算可遍歷性圖。
發佈話題
-
traversability_map
([grid_map_msgs/GridMap])
當前的可遍歷性地圖。 可以通過可遍歷性過濾器配置可遍歷性圖。
服務
load_elevation_map
([grid_map_msgs/ProcessFile])
從rosbag文件中加載高程圖。
rosservice call /traversability_estimation/load_elevation_map "file_path: '/home/user/your_elevation_bag.bag' topic_name: 'elevation_topic_name'"
-
update_traversability
([grid_map_msgs/GetGridMapInfo])
使用當前高程圖強制更新可遍歷圖。
rosservice call /traversability_estimation/update_traversability
-
get_traversability
([grid_map_msgs/GetGridMap])
請求當前的可遍歷性地圖或其子地圖。 例如,您可以在位置(-1.0,0.0)和大小(2.5,2.0)處獲得可遍歷子圖,並通過控制檯將其安全地保存到文本文件中
rosservice call -- /traversability_estimation/get_traversability -1.0 0.0 2.5 2.0 []
-
check_footprint_path
([traversability_msgs/CheckFootprintPath])
此服務用於檢查單個足跡或多個足跡的路徑的可遍歷性。 當前的可遍歷性地圖用於評估足跡。
update_parameters
([std_srvs/Empty])
使用此服務來更新可遍歷估計過濾器的參數。 它將重新加載參數文件並設置新參數。
rosservice call /traversability_estimation/update_parameters
-
traversability_footprint
([std_srvs/Empty])
計算每個地圖位置處圓形足跡的可遍歷性,並將值存儲在其他地圖圖層中。 該服務旨在可視化可遍歷性和調試。
rosservice call /traversability_estimation/traversability_footprint
-
save_traversability_map_to_bag
([grid_map_msgs/ProcessFile])
將當前可遍歷性映射的所有層保存到[rosbag]文件中。
rosservice call /traversability_estimation/save_traversability_map_to_bag "file_path: '/home/user/your_bag.bag' topic_name: 'traversability_map_topic_name'"
參數
-
submap_service
(string, default: "/elevation_mapping/get_grid_map")
用於獲取高程子圖的服務的名稱。
-
use_raw_map
(bool, default: false)
布爾值是否用於使用原始或融合的高程圖更新可遍歷圖。
-
robot_frame_id
(string, default: "base")
機器人tf座標。
-
map_frame_id
(string, default: "map")
可遍歷地圖的tf框架的ID。此ID必須與輸入的高程子圖相同。
-
update_rate
(double, default: 4.0)
更新可遍歷性圖的更新速率(以[Hz]爲單位)。
-
map_center_x
,map_center_y
(double, default: 1.5, 0.0)
可遍歷性圖框(中心)在可遍歷性圖框中的位置。
-
map_length_x
,map_length_y
(double, default: 5.0)
可遍歷性地圖的大小(以[m]爲單位)。
-
traversability_map_filters:
(filter_chain)
定義用於生成可遍歷性映射的不同過濾器。
-
traversability_default
(double, default: 0.5)
定義可遍歷圖中未知區域可遍歷的默認值。
-
grid_map_to_initialize_traversability_map/enable
(bool, default: false)
定義是否接受輸入主題〜/ initial_elevation_map初始化可遍歷性圖。
-
grid_map_to_initialize_traversability_map/grid_map_topic_name
(string, default: initial_elevation_map)
定義用於初始化可遍歷性圖的網格圖消息的輸入主題名稱。
Traversability Estimation Filters
可遍歷性估計過濾器可以應用於高程圖。 每個過濾器都會在高程圖上添加一個附加層,併爲該圖的每個像元計算一個值。
- 曲面法線過濾器:計算高程圖每個像元的曲面法線。 表面法線的每個分量都被分開保存。
- 坡度過濾器:根據高程圖計算坡度可穿越性值。 粗糙度過濾器:根據高程圖計算步進可遍歷性值。
- 階躍濾波器:基於高程圖計算粗糙度可遍歷性值。