image_transport
image_transport 应该始终用于订阅和发布图像。它为以低带宽压缩格式传输图像提供透明支持。示例(由单独的插件包提供)包括 JPEG/PNG 压缩和 Theora 流视频。
概述
在处理图像时,我们通常需要专门的传输策略,例如使用图像压缩或流式视频编解码器。image_transport提供用于以任意在线表示形式传输图像的类和节点,同时抽象了这种复杂性,以便开发人员只能看到sensor_msgs/Image消息。
专门的传输由插件提供。image_transport本身只提供“原始”传输,以免对客户端包施加不必要的依赖。其他传输只有在您的系统上构建时才可用。在 Ubuntu 上,ros-<distro>-base debians 包括由image_transport_plugins堆栈提供的“压缩”和“theora”传输。
hector_compressed_map_transport
应用程序接口
map_to_image_node
将地图转换为图像数据并使用 image_transport 发布图像。只有在请求图像数据时才进行转换,因此在没有图像请求时该节点运行的计算成本较低。提供完整地图图像和仅显示机器人周围局部区域的基于图块的地图图像。为了使后者起作用,机器人姿势必须在“姿势”主题上可用,如下所述。
订阅主题
map (nav_msgs/OccupancyGrid)
要传输的地图
pose (geometry_msgs/PoseStamped)
地图框中给出的机器人姿势
发表主题
map_image/full (sensor_msgs/Image)
完整的地图转换为图像。
map_image/tile (sensor_msgs/Image)
显示机器人周围区域的地图图块以图像形式发布。
网友评论