关于cartographer中地图文件pgm与yaml文件的详解

关于cartographer中地图文件pgm与yaml文件的详解

一、cartographer中的地图文件pgm与yaml文件

感谢您读到这篇博客,接下来我们将一起探讨 cartographer中的地图文件:pgm文件与yaml文件

1.cartographer中的地图文件pgm

pgm文件是一个图片格式的文件,我们用notepad++打开,如下所示:
在这里插入图片描述
注意:
第二行中的0.100m/pixel是地图的分辨率
第三行6242 4994,这两个其实是像素值,即6242*4994

2.cartographer中的地图文件yaml

yam文件是一个文本文件,我们用notepad++打开,如下所示:
在这里插入图片描述
解释:
image:被描述的图片资源路径,可以是绝对路径也可以是相对路径。
resolution:图片分片率(单位: m/像素)。
origin地图中左下像素的二维姿势,为(x,y,偏航),偏航为逆时针旋转(偏航= 0表示无旋转)。见下图解释
negate: 是否应该颠倒白色/黑色自由/占用的语义。
occupied_thresh:占用概率大于此阈值的像素被视为完全占用。
free_thresh: 占用率小于此阈值的像素被视为完全空闲。
left:这张图片的左侧;在cartographer中的地图坐标系中的左侧Y值: -368.209
right:这张图片的右侧;在cartographer中的地图坐标系中的右侧Y值:62420.1-368.209=255.991
top:这张图片的上方;在cartographer中的地图坐标系中的上方X值:4994
0.1-105.196=394.204
bottom:这张图片的下方;在cartographer中的地图坐标系中的下方X值:-105.196
start_posx:默认设置定位时的起点x坐标值
start_posy:默认设置定位时的起点y坐标值
start_posz:默认设置定位时的起点z坐标值

在这里插入图片描述
欢迎大家一起学习交流~

每天进步一点点,时光不负有心人❤

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<?php use Tackk\Cartographer\AbstractSitemap; class MockAbstractSitemap extends AbstractSitemap {     protected function getRootNodeName()     {         return 'urlset';     }     protected function getNodeName()     {         return 'url';     } } class AbstractSitemapTest extends PHPUnit_Framework_TestCase {     /**      * @var Tackk\Cartographer\AbstractSitemap      */     protected $abstractMock;     public function setUp()     {         $this->abstractMock = new MockAbstractSitemap();     }     public function testFormatDateWithDates()     {         $this->assertEquals('2005-01-01T00:00:00 00:00', $this->callProtectedMethod('formatDate', ['2005-01-01']));         $this->assertEquals('2005-01-01T00:00:01 00:00', $this->callProtectedMethod('formatDate', ['2005-01-01 12:00:01am']));     }Google Cartographer利用同步定位与建图技术绘制室内建筑平面图,可以用于二维和三维空间的建图,可以在非ros(机器人操作系统)系统和ros系统使用。根据google的说明,该技术易于部署机器人、无人驾驶、无人机等系统。Google在官方声明提到,Cartographer的SLAM算法结合了来自多个传感器的数据,比如LiDAR激光雷达传感器、IMU惯性测量单元,还有来自多个摄像头的数据。综合这些庞杂的数据,得以计算传感器及传感器周围的环境。据报道Cartographer现已经支持Toyota HSR、TurtleBots、PR2、RevoLDS这几个机器人平台。
要将cartographer的pbstream文件转换为yaml文件,可以使用以下步骤: 1. 停止地图构建:使用命令`rosservice call /finish_trajectory 0`停止地图构建过程。\[2\] 2. 生成pbstream文件:使用命令`rosservice call /write_state "{filename: '${HOME}/catkin_google_ws/src/robot_slam_cartographer/map/carto_map.pbstream'}"`生成pbstream文件。\[2\] 3. 将pbstream转换为pgmyaml文件:使用命令`rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=${HOME}/catkin_google_ws/src/robot_slam_cartographer/map/myMapFile -pbstream_filename=${HOME}/catkin_google_ws/src/robot_slam_cartographer/map/carto_map.pbstream -resolution=0.05`将pbstream文件转换为pgmyaml文件。\[2\] 这样,你就可以将cartographer的pbstream文件成功转换为yaml文件了。 #### 引用[.reference_title] - *1* [cartographer离线利用pbstream生成ros标准格式地图](https://blog.csdn.net/windxf/article/details/119022418)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ROS学习(19)机器人SLAM功能包——cartographer](https://blog.csdn.net/u011832219/article/details/124911497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值