SLAM建图时的坐标系变换关系

1.常见坐标系

SLAM中常见的坐标有:

  • /odom
  • /fix
  • /lidar
  • /base_link
  • /imu

2.GPS到UTM坐标系的转换

建图的过程中,会用到GPS的信息,较准的GPS信息能够对Lidar帧与帧之间的关系添加constraint,从而提高建图回环的成功率。
实际在用的GPS中的经纬度信息,会转换成UTM坐标系(xy坐标系),这部分的内容可以自行上网找资料。

3.map坐标系

UTM坐标系反应的是世界上的绝对坐标,建图结束之后所生成的地图,需要能够准确地定位到在地球上的位置,这个定位将决定UTM坐标系到map坐标系的transformation关系。
注意,这里的UTM到Map的映射是固定的,一旦地图构建完毕,两者之间的映射将不会再改变。
而确定的方法则是在建图开始时,机器人所在的位置设置为原点,即map的原点,这个点的信息由GPS转换为UTM所得。这样的话只确定了平移,旋转量则由偏航角提供,而偏航角一般是由车载的两个GPS做差而得。
确定了起始点的平移和旋转量,UMT到Map的transformation即可确定。

4.理解odom坐标系的漂移

若是odom是理想的,没有漂移,那么理想情况下如下图所示:

image_1d5mk21u5hgk1b713saqm81ebc9.png-19.8kB
实际情况是odom会随着时间的增加,odom到map之间会不可避免的出现漂移:

image_1d5mkcs8f1vvhls41u91s5e12drm.png-26.7kB
假设经过一段时间的运行以后,从odometry获得的odom坐标系和map坐标系之间的关系已经变为如下如所示:

image_1d5ml3t7j1puaeqsbtr1d5e12ii2a.png-26.8kB
而且,这个偏移量是未知的。

在机器人运行的时候,一些固连的坐标系之间的变换关系是已知的。
比如:

  • UTM->map:建图初始化得到
  • Odom->base_link:odometry计算得到
  • base_link->lidar:固连坐标系
  • map->lidar:map->lidar是由雷达数据与三维地图实时匹配得到的。

实际上,最终需要求的变换关系为map->base_link。
整个变换中,缺少的一环为map->odom,如果将它补齐,变换关系将构成一个链,整个系统才算完整。
map->lidar = (map->odom)(odom->base_link)(base_link->lidar)
=>(map->odom) = (map->lidar){(odom->base_link)(base_link->lidar)}^{-1}

发布了4 篇原创文章 · 获赞 2 · 访问量 4972

猜你喜欢

转载自blog.csdn.net/supengufo/article/details/88561273