cartographer 学习笔记-1 背景知识 基本坐标系

ROS中基本坐标系的理解:

map,odom,base_link,base_laster

在这里插入图片描述

                             在这里插入图片描述

(1)机器人的定位问题最本质的就是求出base_link在map坐标系下的坐标和姿态。
(2)SLAM中的定位就是为了计算tf: map->odom。

1.map

在构建地图时,机器人构建地图的起点位置就是map坐标系的位置。在导航节点,当加载地图时,map坐标系就确定了。 map坐标系一旦固定,就不会再变。

map:地图坐标系,为固定坐标系,理论上应与odom坐标系重合。一般与机器人所在的世界坐标系一致。

2.base_link

base_link坐标系是用于表示机器人本身位姿的坐标系,其始终与机器人本体保持一致。机器人的定位问题最本质的就是求出base_link在map坐标系下的坐标和姿态。

3.odom

里程计坐标系,(我理解为主要是编码器),这里主要区分odom topic,这是两个概念,一个是坐标系,一个是根据编码里程计计算得到的里程计信息。但是两者也有关系,odom topic转化得到的位姿矩阵是odom->base_link的tf关系。

其实机器人刚开始运动时,odom坐标系与map坐标系是重合的,即odom->base_link与map->base_link的tf是一致的。
但是随着时间的推移,出现了偏差,出现的偏差也就是里程计的累计误差,如果里程计精确度很高,没有计算误差,那么map坐标系与odom坐标系会一直是重合的

那么map->odom的tf是怎么得到的呢?

除去里程计还有一些合作校正的传感器例如imu,这些传感器可以估计出机器人在地图中的位置也就是map->base_link的tf,我们估计机器人在地图中的位置和解算里程计得到的位置的偏差也就是map->odom的tf。

odom和map坐标系是不是重合的?
可以很肯定的告诉你,机器人运动开始是重合的。但是,随着时间的推移是不重合的,而出现的偏差就是里程计的累积误差。

机器人开始运动时map与odom重合,但随着时间推移两者的tf不为0。

总结:odom坐标系的原点就是机器人上电时所处的位置,所以在建图时odom坐标系和map坐标系是重合的,后面随着建图的进行,由于误差存在,odom坐标系和map坐标系会慢慢偏离。 而导航时,机器人起始位置一般不会与建图时的起始位置完全相同,而map坐标系是始终不变的,所以在导航开始时,odom坐标系和map坐标系一般都不是重合的。

4.base_laser 

激光雷达坐标系,与激光雷达的安装点有关,它与base_link的tf是固定的。

通俗理解

map:地图坐标系,顾名思义,一般设该坐标系为固定坐标系(fixed frame),一般与机器人所在的世界坐标系一致。

base_link:机器人本体坐标系,与机器人中心重合,当然有些机器人(PR 2)是base_footprint,其实是一个意思。

odom:里程计坐标系,这里要区分开odom topic,这是两个概念,一个是坐标系,一个是根据编码器(或者视觉等)计算的里程计。但是两者也有关系,odom topic 转化得位姿矩阵是odom–>base_link的tf关系。

这时可有会有疑问,odom和map坐标系是不是重合的?可以很肯定的告诉你,机器人运动开始是重合的。但是,随着时间的推移是不重合的,而出现的偏差就是里程计的累积误差。

那map–>odom的tf怎么得到?就是在一些校正传感器合作校正的package比如amcl会给出一个位置估计(localization),这可以得到map–>base_link的tf,所以估计位置和里程计位置的偏差也就是odom与map的坐标系偏差。所以,如果你的odom计算没有错误,那么map–>odom的tf就是0.

base_laser:激光雷达的坐标系,与激光雷达的安装点有关,其与base_link的tf为固定的。

在机器人系统中,我们使用一棵树来来关联所有坐标系,因此每个坐标系都有一个父坐标系和任意子坐标系,如下:

map --> odom --> base_link

备注

TF:机器人不停部位之间的坐标转换。坐标转换包括位置和姿态两方面,ROS中的tf是一个让用户随时记录多个坐标系的软件包。tf保持缓存的树形结构中的坐标系之间的关系,并允许用户在任何期望的时间点在任何两个坐标系之间转换点、矢量等。

tf可以被当做是一种标准规范,定义了坐标转换的数据格式和数据结构。tf本质是树状的数据结构(通常称之为tf tree),可以看成是一个topic:/tf,message保存的是tf tree的数据结构格式,维护了整个机器人(甚至是地图)的坐标转换关系。也可以看做package,包含了很多工具,比如可视化、查看关节的tf、debug tf等。tf含有一部分的接口(rospy、roscpp关于tf的API),可看成话题转换的标准、话题、工具、接口。
 

参考

map、odom、base_link和base_laser坐标系_odom坐标系_酸梅果茶的博客-CSDN博客

odom坐标系的理解_春至冬去的博客-CSDN博客

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值