ROS 中的三种坐标系(map、odom与base_link)

在网上看了一些大佬的解释,还是感觉有点迷糊,多看了几次之后感觉好像get到了,如果说错了还请指正。

map和base_link都很好理解,一个是绝对坐标系,另一个是以机器人自身为原点的坐标系,很容易懂。

唯一麻烦的就是odom,里程计坐标系。

下面就以我的拙见尝试小白化地解释一下这个玩意儿。

首先,我们制定机器人路径时,使用的必然是绝对坐标系——

比如我现在让机器人去点(10,10)。

要完成这件事,机器人需要先知道自己在哪。它没有GPS,所以只能倒推——通过里程计。这也是为什么“没有偏移的话odom应该与map重合”,因为odom本来就是用来倒推map的。
(经评论提醒,特强调,这个“偏移”指的是偏差,误差,而不是位移)

里程计告诉它,自从原点启动起,它在X向上移动2,Y向上移动了5。于是它就认为自己在(2,5)。反馈给base_link,则base_link里原点在(-2,-5),目标在(8,5)。

然而实际上,因为偏移,它的里程计是错的,它其实在(3,4)(map)。

此时,在map,也就是实际上,它在(3,4),但在odom中它在(2,5)。
它理应运动(7,6)到达目标点,但它会运动(8,5),因为odom反馈给base_link后,在base_link中,目标在(8,5)。

而这时,校正传感器又告诉它了,“我觉得你的里程计刚才X漏算了0.999,Y多算了1.001”。

于是它把自己所在位置修正为了(2.999,3.999)(odom),把目标在base_link中修正到了(7.001,6.001)(base_link)接下来该移动(7.001,6.001)。

以上。

odom←base_link+里程计
+
校正

接近map的坐标系

参考:https://blog.csdn.net/flyinsilence/article/details/51854123

  • 45
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值