天天看點

nav_msgs/OccupancyGrid中data的取值分析

最近工作上需要在rviz上顯示栅格化的map,便于分析問題。并且不同的map屬性需要不同顔色來顯示(也可使用不同灰階),使用GridCells發現一個顔色的屬性需要單獨釋出一個topic才能實作彩色的map顯示,是以開始研究使用OccupancyGrid來進行這項工作。

std_msgs/Header

nav_msgs/OccupancyGrid中data的取值分析

http://docs.ros.org/en/api/std_msgs/html/msg/Header.htmlstd_msgs/Header header

nav_msgs/MapMetaData info

int8[] data

整個msg很簡單,就上面三個值。

data為int8的數組,官方解釋機率取值[0-100],未知為-1,不過我們知道int8取值範圍為0-256,是以多出的155表示什麼呢?實測發現其中0-99每增加1表示一個灰階值,從0白色向100黑色漸變,101-127純綠色,128-254從紅色向黃色漸變,256表示青色。

nav_msgs/OccupancyGrid中data的取值分析

 上圖為實測的色值圖,從左下開始向右以行計算0-260,每行20個值。越界的值從0開始重新顯示。

參考資料:

nav_msgs/OccupancyGrid Documentation (ros.org)

(56條消息) ROS釋出栅格地圖nav_msgs/OccupancyGrid資料并在rviz中顯示_小球球plus的部落格-CSDN部落格_ros 釋出地圖

(56條消息) ROS——SLAM實時更新顯示栅格地圖之nav_msgs::OccupancyGrid_不懂音樂的欣賞者的部落格-CSDN部落格