ROS gmapping导航包,要求有2 个 输入,一个是激光数据,另一个就是里程计信息。
里程计又包含2 个方面的信息:
- 位姿(位置和转角),即(x,y,θ)
- 是速度(前进速度和转向速度)。
gmapping订阅的是/scan 和/tf话题并不直接订阅里程计信息,自己写一个tf话题。
TF就是坐标系变换,具体要包括里程计坐标系(odom)到车体坐标系(base_link),车体坐标系到激光雷达坐标系(laser)的变换关系。具体如下图所示:.
里程计信息的数据获取的途径:
-
采用编码器电机来获取
参考 -
采用ROS里的package : laser_scan_matcher
这个包能根据/scan 数据发布2D位姿的数据,来转换成表示位置的下x,y, z 以及表示姿态的四元数。
速度的获取:还是根据2D位姿和时间变量,来计算前进速度和转向速度。
2D位姿数据包含:float64 x, float64 y, float64 theta,根据dt 时间里dx,dy,dtheta, 就可以算出前进速度,和转向速度。如果2D位姿数据足够精准,基本都用不上陀螺仪校准。
最后
以上就是无语含羞草最近收集整理的关于SLAM——入门到放弃:ROS里程计(odometry)的全部内容,更多相关SLAM——入门到放弃内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复