ROS里程计(odometry)的学习

ROS里程计(odometry)的学习_第1张图片
ROS gmapping导航包,要求有2 个 输入,一个是激光数据,另一个就是里程计信息。
里程计又包含2 个方面的信息:

  • 位姿(位置和转角),即(x,y,θ)
  • 是速度(前进速度和转向速度)。

gmapping订阅的是/scan 和/tf话题并不直接订阅里程计信息,自己写一个tf话题。

TF就是坐标系变换,具体要包括里程计坐标系(odom)到车体坐标系(base_link),车体坐标系到激光雷达坐标系(laser)的变换关系。具体如下图所示:.
ROS里程计(odometry)的学习_第2张图片

里程计信息的数据获取的途径:

  • 采用编码器电机来获取
    参考

  • 采用ROS里的package : laser_scan_matcher
    这个包能根据/scan 数据发布2D位姿的数据,来转换成表示位置的下x,y, z 以及表示姿态的四元数。
    速度的获取:还是根据2D位姿和时间变量,来计算前进速度和转向速度。
    2D位姿数据包含:float64 x, float64 y, float64 theta,根据dt 时间里dx,dy,dtheta, 就可以算出前进速度,和转向速度。如果2D位姿数据足够精准,基本都用不上陀螺仪校准。

你可能感兴趣的:(ROS)