ROS 里程计(Odometry) 风波

 A   NewComer of  SLAM  and Ros, Want to play Navigation of  robot, Use Move_base is the  best choice!! Do you agree ????


面临的问题:初步估计机械件的空间不足,无法安装电机的编码器, 因此无法通过编码器获得轮子的实时速度。因此无法提供准确的Odometry 信息。


先来 介绍一下如果有编码器,如何使用编码器来换算出Odometry 信息(位姿和速度(线速度和角速度))。在之前这篇文章中有介绍过《ROS 里程计odometry》, 这里简单回顾一下,

速度的获取:通过编码器分别获得左轮和右轮的tick值,根据tick 值转换距离, 估算出前进速度, 左右轮移动的距离之差算出弧长,利用弧长和半径的关系,算出角度,利用角度和时间可以算出转向速度。

位姿的获取: 就不介绍了,直接看之前的文章就好,那里给处理公式。最终转换成表示位置的下x,y, z 以及表示姿态的四元数。


如果没有编码器,在只有雷达和陀螺仪的情况下,如何获得Odometry 呢?

位姿的获取:laser_scan_matcher  这个package 能根据/scan 数据发布pose2D 的数据, 我们是否可以 根据pose2D 数据来转换成表示位置的下x,y, z 以及表示姿态的四元数。理论上是可以的。

速度的获取:还是根据pose2D 和时间变量,来计算前进速度和转向速度。pose2D数据包含:float64 x, float64 y, float64 theta,根据dt 时间里dx,dy,dtheta, 就可以算出前进速度,和转向速度。如果pose2D 数据足够精准,都用不上陀螺仪。


Action :下一步我们要来做这个实验,看看效果如何?



有了Odometry, 那么 move_base 是怎么使用这个信息的呢?  下次补上。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值