目标:RTK+imu数据融合
ROS包:robot_pose_ekf软件包
wiki地址:http://wiki.ros.org/robot_pose_ekf
robot_pose_ekf实现了用于确定机器人姿态的扩展卡尔曼滤波器
这个包默认订阅的主题是odom、imu_data、vo
如果自己添加其他传感器数据的话,教程
节点使用的每个传感器的相对姿态差异更新扩展的卡尔曼滤波器
课外小知识:
IMU、编码器、里程计的定义以及如何可以读到这些数据信息以及这些数据信息要去哪里
问题一:ROS中的IMU是干啥的???
IMU 全称 inertial measurement unit,即惯性测量单元,它由三个单轴的加速度计和三个单轴的陀螺仪组成,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺仪检测载体相对于导航坐标系的角速度信号,对这些信号进行处理之后,便可解算出物体的姿态。
总结:IMU可以解算物体的位姿(位置和姿态)。
而IMU的位置是相对推测位置,解析如下:
IMU 提供的是一个相对的定位信息,它的作用是测量相对于起点物体所运动的路线,所以它并不能提供你所在的具体位置的信息,因此,它常常和 GPS 一起使用,当在某些 GPS 信号微弱的地方时,IMU 就可以发挥它的作用,可以让汽车继续获得绝对位置的信息,不至于“迷路”。
问题二:编码器和里程计的关系???
差分机器人 左右轮的速度如何得到----采样时间内测得的编码值除以轮子一圈的总脉冲数就是速度
轴长怎么得到呢?测两个电机直接摆放的距离。
里程计信息来通过编码器电机来获取
问题四:编码器是什么?
编码器是一种广泛使用的位置式传感器,它能够检测细微的运动,其输出为数字信号。编码器中应用最为广泛的就是光电编码器,可以用来进行角度的测量。可以用来测量位置,测量速度。
问题五:编码器的工作原理是什么?
编码器是用光电方法把被测角位移转换成数字代码形式的电信号的转换部件。
问题六:编码器的分类?
增量式编码器
①增量式编码器轴旋转时,有相应的脉冲输出,其旋转的方向判别和脉冲数量的增减可以借助外部的判断电路或者计数器实现。
②计数器起点可任意设定,并可实现多圈的无线累加和测量,还可以把每转发出的一个脉冲Z信号作为机械参考零位。
③编码器的轴转一周会输出固定的脉冲数,对于光学旋转编码器,输出脉冲数与编码器光栅的刻线数相同。需要提高分辨率时,可利用90°相位差的A、B两相信号对原信号进行倍频,或者更换更高分辨率的编码器。
绝对式编码器
①绝对式编码器是利用自然二进制或者循环二进制方式进行光电转换的,有若干编码,根据码盘上的编码数读数,检测绝对位置。从编码大小的变更即可判断旋转方向和转轴所处的位置,因而无需判向电路。
②它有一个绝对零位代码,当停电或者关机以后,再开机重新测量时,仍可准确地读出停电或者关机时位置的代码,并准确找到零位代码。
③一般情况下,绝对式编码器的测量范围为0°~360°,特殊型号也可以实现多圈测量。
问题七:通过计算得到里程计??
里程计的计算是指计算机上电时刻为世界坐标的起点O累积计算任何时刻机器人相对于世界坐标系的位置与航向。
https://blog.csdn.net/xingdou520/article/details/83691951#commentBox