ROS 您所在的位置:网站首页 地图的坐标系怎么画 ROS

ROS

2024-04-07 22:37| 来源: 网络整理| 查看: 265

ROS-建图-栅格坐标系 一、栅格地图参数 1.1 像素坐标系

下图是一个机器人在实际环境中绘制的二维地图,图片中左下角是地图原点(map.info.origin),在原点上已经标明了这个地图的三维坐标轴,其中红色的代表x轴方向,绿色代表y轴方向。

// 此时栅格地图原点为(0, 0) grid_map.info.origin.x = 0; grid_map.info.origin.y = 0;

Alt 在ROS的地图中,地图是以像素标记的,每一个像素(map.info.resolution)代表0.05m,即地图的分辨率为0.05m。

例如,下图上的星星,他的位置在像素层面上的坐标为(400, 150),则x:400像素,y:150像素。这个机器人距离地图原点的实际距离是:横坐标方向为400 * 0.05=20m,纵坐标方向为150 * 0.05=7.5m。

Alt

1.2 地图原点

我们在设置栅格地图原点时,地图的原点并不一定在左下角,可以将栅格地图原点设置在所建栅格地图中间任一位置上。

// 将栅格地图原点设置在整张图的(-20, -20)位置 grid_map.info.origin.x = -20; grid_map.info.origin.y = -20;

Alt 此时,这张图的地图原点就跑到了地图图片里,如果车辆处在原点左下角的位置,那么车辆的X和Y像素坐标就会为负值。

1.3 栅格地图消息格式

在ROS中,地图的类型是nav_msgs/OccupancyGrid,每个像素代表的长度以及地图的原点都被定义在了消息结构体之中。

// 栅格地图消息 std_msgs/Header header nav_msgs/MapMetaData info time map_load_time float32 resolution // 分辨率 geometry_msgs/Pose origin // 原点坐标 geometry_msgs/Quaternion orientation int8[] data // 地图像素信息 // 栅格地图参数 grid_map.info.resolution = 0.5; // 分辨率 grid_map.info.origin.x = -20; // 栅格地图原点x grid_map.info.origin.y = -20; // 栅格地图原点y grid_map.info.width = 100; // 栅格地图宽,定义尺寸 grid_map.info.height = 100; // 栅格地图高,定义尺寸

更多的栅格地图消息类型



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有