概述
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——入门到放弃:ROS里程计(odometry)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复