对于SLAM定位中各类坐标系的理解(坐标系,里程计坐标系,基座坐标系与雷达坐标系)

这篇具有很好参考价值的文章主要介绍了对于SLAM定位中各类坐标系的理解(坐标系,里程计坐标系,基座坐标系与雷达坐标系)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近系统性学习了一遍LIO-SAM,开始的时候一直搞不懂里程计坐标系,经过不断学习才有了一点自己的拙见。

引言:首先我们搞清楚SLAM算法主要是解决建图与定位问题,其更侧重定位,即让机器人知道自己在全局地图的哪个位置,只有这样才能继续后续的预测、感知、控制等模块。但是 SLAM算法做定位 这件事存在的意义就是为了解决当GPS这类非自主定位传感器信号不连续时的定位问题。SLAM算法主要是靠激光雷达/相机、IMU等传感器来做定位,但是不管是精度再高的激光雷达通过点云匹配得出位姿还是IMU预积分给出的位姿都会和map中的绝对位姿产生不断变化的误差,这个不断变化的误差便造就了不断变化的“里程计坐标系”。

继续往下看:

1.地图坐标系(map)

        地图坐标系就是全局坐标系,其原点就是机器人刚开始出现在地图的那一点,属于固定坐标系,是不会动的。

2.里程计坐标系(odom)

        这一部分是我想讲的重点,我会尽量讲详细,方便大家理解。

        首先我们通过引言知道,里程计坐标系的产生是由于传感器的误差。举个例子:假设机器人在激光雷达第n帧走到了A点,A点在map上的坐标为(2,0),但是由于传感器的误差,导致传感器解算出来的坐标在(3,0),这个时候在odom下的坐标就是(3,0),因此可以说,odom相对于map在x方向上漂移了1m,如下图:

对于SLAM定位中各类坐标系的理解(坐标系,里程计坐标系,基座坐标系与雷达坐标系)

 黑色代表odom,蓝色代表map。但是此时上图中的odom只存在于激光雷达第n帧的范畴内,假设到了激光雷达第n+1帧的时候,机器人走到了B点,B点在map上的坐标为(2,1),但是再次由于传感器的误差,导致传感器解算出来的坐标在(3,2),这个时候在odom下的坐标就是(3,2),因此可以说,odom相对于map在x方向上漂移了1m,y方向上漂移了1m,此时的odom与第n帧的odom就不同了,如下图

对于SLAM定位中各类坐标系的理解(坐标系,里程计坐标系,基座坐标系与雷达坐标系)

 我们知道map坐标系是固定的,所以我们可以得到一个结论odom是会随着每一帧激光雷达帧的输入而变化的。

         我们回过头来看引言,SLAM算法做定位 这件事存在的意义就是为了解决当GPS这类传感器信号不连续时的定位问题,因此通过算法得出来的定位结果,本就不是绝对位姿,是一个通过解算估计出来的位姿,结合上面的图来说,我们通过SLAM算法得到的定位结果是B’而不是B(B是理想情况下的绝对位姿),但是我们最终需要得到的定位结果是在map坐标系下的位姿而不是odom下的。因此我们需要做一步操作,令每一帧的odom与map重合,即下图这样:

对于SLAM定位中各类坐标系的理解(坐标系,里程计坐标系,基座坐标系与雷达坐标系)

 上图意思就是:机器人通过传感器解算得到的坐标在map中为(3,2),但是机器人实际在map中的绝对位置为(2,1)(这里不要理解错了,在地图中机器人是在(2,1)这个点的,B’这个点是传感器解算出来的,实际在地图中(3,2)这个点是没有机器人的,举个栗子,我(机器人)在家门口蒙着眼往家里面走,走了十步,我凭我自己在家里生活了这么多年的经验(传感器1)再加上我耳朵(传感器2)听到电视机的声音大小判断出来我这个时候在客厅并且距离电视机还有一米的距离(传感器结算出来的定位结果),但是我妈妈告诉我其实距离电视机还有两米的距离(绝对位置),这里的一米就相当于传感器解算的位置,妈妈告诉我的两米是绝对位置,因此我这个时候真正的位置是距离电视机两米的那个地方,而距离电视机只有一米的那个地方是没有人的,现在回到B点和B’点,机器人实际位置是在B点那个地方,B’这个点是没有机器人的。)算法解算位置与绝对位置在x与y方向有1的误差。(当然在实际的SLAM算法中的误差并没有这么大,只是为了方便大家理解,公司项目上就是用的LIOSAM这套代码,如果定位有1m的误差早把人撞si了哈哈哈)

OK现在回过头来看上面那个结论:我说odom是会随着每一帧而变化的,现在可能大家会问,odom与map重合以后不是固定了吗?我直接说答案,其实还是在变的,在坐标系重合之前,odom就是通过map中的绝对坐标与算法解算出来的坐标的误差创造出来的,只不过变化是相对的,现在坐标系虽说固定了,但是算法解算出来的坐标与实际坐标的误差是在不断变化的,因此可以理解为odom还是在不断变化的,只不过是看上去不变了。

总结:一句话概括,odom就是一个由于实际坐标与解算坐标两者的误差而产生的一个不断变化的坐标系。

3.基座坐标系(base_link)

        这个就是机器人自身的坐标系,固定在机器人身上的某个位置,没啥好说的。

4.激光坐标系(laser_link)

        这个就是激光雷达的坐标系,这个坐标系也很重要,对点云的操作(例如点云去畸变、提取特征点等等)就是在这个坐标系下完成的,也是固定在机器人身上的某个位置,与base_link的转换是固定的,甚至有些框架中base_link与laser_link是重合的,也没啥好说的。

到这里坐标系的部分就讲完了。我发这篇博客的目的,首先还是为了写一些有关SLAM坐标系的个人理解,如果能帮到大家也是我的荣幸;其次就是如果我哪里写错了,大家能纠正出来的话对我个人也有帮助,也欢迎大家积极留言评论。

                                                                                                                       码字不易,感谢大家!文章来源地址https://www.toymoban.com/news/detail-437209.html

到了这里,关于对于SLAM定位中各类坐标系的理解(坐标系,里程计坐标系,基座坐标系与雷达坐标系)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 简单理解opencv中的坐标系,x,y,h,w

    在查阅opencv有关的技术文章时,经常能够看到如下风格的函数头: 那么这里的x究竟是指图像从左往右数,还是从上往下数呢? 这里直接给出结论: 在图片img上画矩形,坐标原点是图片左上角,向右为x轴正方向,向下为y轴正方向: 上面介绍的是x,y的概念。那么height,wid

    2024年02月11日
    浏览(48)
  • three.js中坐标系转换以及camera的position、lookAt与up属性理解

           为了更好的理解camera的position、lookAt与up属性,文章最开始我们先来阐述three.js的坐标系转换的概念。        文章的最开始首先讨论在哪里进行点击事件的监听的问题,当鼠标触发点击事件时,event会输出点击位置相对于各个参考系所产生的坐标,在此我们只讨论常用

    2024年02月01日
    浏览(52)
  • ROS中map,odom坐标系的理解以及acml和robot_pose_ekf的对比和小车漂移方法解决

    之前一直不知道odom,map到底是什么关系,看了这个博客:https://blog.csdn.net/u012686154/article/details/88174195 才了解了一些。这边记录我自己的看法,看下是否正确: 我想解决的问题是:计算出小车在真实世界(这个坐标系称为map)的位置 我可以得到的数据: gazebo的传感器(比如 lib

    2024年01月18日
    浏览(33)
  • 世界坐标系、相机坐标系、图像坐标系、像素坐标系

    四个坐标系都是什么? 1.世界坐标系-相机坐标系-图像坐标系-像素坐标系 2.像素坐标系-图像坐标系-相机坐标系-世界坐标系 图像处理、立体视觉等等方向常常涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系                     构建世界坐标系只是

    2024年01月21日
    浏览(69)
  • 坐标转换(相机坐标系、世界坐标系、图像物理坐标系、图像像素坐标系)

    一般情况下我们所涉及到的坐标包括四个,即相机坐标系、世界坐标系、图像物理坐标系、图像像素坐标系。我们本文的讲解思路是在讲解每个坐标转换之前先讲清楚每个坐标系所表示的含义。本文主要参考由高翔主编的视觉SLAM十四讲第五章相机模型。 相机将三维世界的坐

    2024年02月09日
    浏览(73)
  • 世界坐标系、相机坐标系和图像坐标系的转换

    之前只是停留在会用的阶段,一直没去读懂计算的原理,今天通读了大佬的文章,写的言简意赅,感谢感谢~~特此记录一下,仅用作个人笔记 贴链接,十分感谢~ https://blog.csdn.net/weixin_44278406/article/details/112986651 https://blog.csdn.net/guyuealian/article/details/104184551 将三维物体转换成照

    2023年04月15日
    浏览(64)
  • 机器人坐标系转换从局部坐标系转换到世界坐标系

    矩阵方式: 下面是代码: 函数方式: 根据三角函数的特性,可以进行一下简化: 下面是简化前的代码示例:

    2024年04月16日
    浏览(65)
  • 相机坐标系、像素坐标系转换

    相机内参矩阵是相机的重要参数之一,它描述了相机光学系统的内部性质,例如焦距、光学中心和图像畸变等信息。在计算机视觉和图形学中,相机内参矩阵通常用于将图像坐标系中的像素坐标转换为相机坐标系中的三维坐标,或者将相机坐标系中的三维坐标投影到图像坐标

    2024年02月13日
    浏览(48)
  • (02)Cartographer源码无死角解析-(80) 核心要点→local坐标系、子图坐标系、切片坐标系、地图坐标系等相转换与联系

    讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885   文末正下方中心提供了本人 联系方式, 点击本人照片

    2024年02月16日
    浏览(47)
  • 柱坐标系与直角坐标系的转换

    1.柱坐标系转化为直角坐标系:柱坐标系(r,φ,z)与直角坐标系(x,y,z)的转换关系 x=rcosφ y=rsinφ z=z 2.直角坐标系转化为柱坐标系:直角坐标系(x,y,z)与柱坐标系(r,φ,z)的转换关系: r= φ= z=z

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包