做淘客网站怎么样,wordpress cloudflare,企业网站建设要求标准说明,专利查询地图格式
此软件包中的工具处理的地图以两个文件的形式存储。YAML 文件描述地图的元数据#xff0c;并命名图像文件。图像文件编码了占用数据。
图像格式
图像文件描述世界中每个单元格的占用状态#xff0c;并使用相应像素的颜色表示。在标准配置中#xff0c;较白的像素…地图格式
此软件包中的工具处理的地图以两个文件的形式存储。YAML 文件描述地图的元数据并命名图像文件。图像文件编码了占用数据。
图像格式
图像文件描述世界中每个单元格的占用状态并使用相应像素的颜色表示。在标准配置中较白的像素表示空闲较黑的像素表示被占用而介于两者之间的像素表示未知。接受彩色图像但颜色值会被平均为灰度值。
图像数据通过 SDL_Image 读取支持的格式根据 SDL_Image 在特定平台上提供的支持而有所不同。通常大多数流行的图像格式都被广泛支持。值得注意的是PNG 格式在 OS X 上不受支持。
YAML 格式
YAML 格式通过一个简单、完整的示例来解释
image: testmap.png
resolution: 0.1
origin: [0.0, 0.0, 0.0]
occupied_thresh: 0.65
free_thresh: 0.196
negate: 0必需字段
image包含占用数据的图像文件的路径可以是绝对路径或相对于 YAML 文件的位置。resolution地图的分辨率单位为米/像素。origin地图中左下角像素的二维位姿格式为 (x, y, yaw)其中 yaw 是逆时针旋转角度yaw0 表示无旋转。目前系统的许多部分忽略了 yaw。occupied_thresh占用概率大于该阈值的像素被认为是完全占用的。free_thresh占用概率小于该阈值的像素被认为是完全空闲的。negate是否反转白色/黑色的空闲/占用语义阈值的解释不受影响。
可选参数
mode可以有三种值trinary三值scale比例或 raw原始。默认是 trinary。有关如何更改值解释的详细信息请参阅下一部分。
值解释
给定一个范围在 [0, 256) 的像素 COLOR 值 x如何在 ROS 消息中解释该值首先根据 YAML 中的 negate 标志将整数 x 转换为浮点数 p。
如果 negate 为 false则 p (255 - x) / 255.0。这意味着黑色0具有最高值1.0白色255具有最低值0.0。如果 negate 为 true则 p x / 255.0。这是非标准的图像解释方式因此称为 negate尽管数学上 x 并未被取反。
三值Trinary模式
标准的解释是三值解释即所有值的输出都是三种值之一
如果 p occupied_thresh则输出值 100 表示单元格被占用。如果 p free_thresh则输出值 0 表示单元格是空闲的。否则输出 -1 或 255作为无符号字符表示单元格未知。
比例Scale模式
这种解释方式调整了上面的三值解释允许输出比三值更多的值
如果 p occupied_thresh则输出值 100。如果 p free_thresh则输出值 0。否则输出 99 * (p - free_thresh) / (occupied_thresh - free_thresh)。
这允许输出范围在 [0, 100] 之间的值。要输出 -1可以使用 PNG 的 alpha 通道任何透明度都将被解释为未知。
原始Raw模式
此模式将为每个像素输出 x因此输出值在 [0, 255] 之间。
命令行工具
map_server
map_server 是一个 ROS 节点它从磁盘读取地图并通过 ROS 服务提供该地图。当前实现将地图图像数据中的颜色值转换为三值占用状态空闲0、占用100和未知-1。未来的版本可能会使用介于 0 和 100 之间的值来表示占用的细微差别。
用法
map_server map.yaml示例
rosrun map_server map_server mymap.yaml
发布的主题
map_metadata (nav_msgs/MapMetaData)通过此锁存的主题接收地图元数据。map (nav_msgs/OccupancyGrid)通过此锁存的主题接收地图。
服务
static_map (nav_msgs/GetMap)通过此服务获取地图。
参数
~frame_idstring默认值map发布的地图中设置的帧 ID。
map_saver
map_saver 从 SLAM 映射服务中保存地图到磁盘。
用法
rosrun map_server map_saver [--occ threshold_occupied] [--free threshold_free] [-f mapname] map:/your/costmap/topic
示例
rosrun map_server map_saver -f mymap rosrun map_server map_saver --occ 90 --free 10 -f mymap map:/move_base/global_costmap/costmap
订阅的主题
map (nav_msgs/OccupancyGrid)地图通过此锁存的主题接收。