最近工作上需要在rviz上顯示栅格化的map,便于分析問題。并且不同的map屬性需要不同顔色來顯示(也可使用不同灰階),使用GridCells發現一個顔色的屬性需要單獨釋出一個topic才能實作彩色的map顯示,是以開始研究使用OccupancyGrid來進行這項工作。
std_msgs/Header
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表示青色。
上圖為實測的色值圖,從左下開始向右以行計算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部落格