ROS导航中关于odom frame的理解

关于navigation的基本介绍,已经足够入门者学习使用。

其中最难理解的部分我认为是/odom这个frame。因为他有点反人类直觉。

odometry是通过航迹推算算出来的机器人位姿。但是,想要表明机器人位姿,必须有两个坐标系的相对关系才能表示出来对吧?那这个推算的位姿就是/odom_frame/bae_frame之间的tf变换。如下图中1部分所示。

同样机器人与真实环境之间也有一个相对位姿的变化。真实环境我们用/map_frame表示,那么这个真实的pose变换是/map_frame/base_frame之间的tf变换来表征。
下图中第2部分的AMCL定位估计出来的pose就是机器人相对于真实环境之间的位姿变换,我用绿色椭圆框框起来的。

但是由于tf变换中设定每个frame都只有一个father,/base_frame不可以有两个父亲frame,所以就在/map_frame/base_frame之间插入了/odom_frame
当然了,/map_frame/odom_frame之间的tf关系由AMCL来维护。只需要AMCL算法用求出来的真实的pose变换(绿圈)减去第1部分中航迹推测的变换,就能得到下图第2部分中用红圈圈起来的tf变换。也就是所谓的odometry Drift
这也解释了为什么在navigation过程中,/odom坐标系一直在围着/map转。
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值