如今,我开发了使用IMU和带有STM32 MCU的编码器的室内系统2轮移动机器人。 我已经制作了机器人,并使用了编码器和IMU的2-Wheel移动机器人方法。这种众所周知的方法使用线速度和角速度。
x_t+1 = x_t + delta_t * Velocity * cos(theta)
y_t+1 = y_t + delta_t * Velocity * sin(theta)
theta_t+1 = (delta_t * Velocity * sin(theta)) / Wheel_Seperation.
我也可以使用IMU获取陀螺仪和加速度传感器的数据。
结果是,我可以估计室内环境中的位置,但是我知道它不准确,因为存在诸如滑落和陀螺仪传感器漂移以及一些错误的问题。
此外,我知道,如果我想获得更准确的结果,请使用摄像机或激光雷达传感器或其他优质传感器来实现目标。但确实比其他传感器贵。因此,我只使用IMU和编码器(因为这些传感器的成本很低)。
我尝试了一些提高估计准确性的方法。
1.当我使用陀螺仪传感器估算方向时,由于积累了陀螺仪数据误差,当出现编码器数据时,我会计算陀螺仪数据。
2.应用一种称为HDR(启发式漂移减少)算法的陀螺仪误差漂移算法。
使用这些方法时,位置估计的精度几乎没有提高,但是它也会出错并且无法准确估计位置。
(我知道仅使用IMU和编码器无法获得准确的位置。我也知道我很快会使用相机或激光雷达传感器,但我想尽最大努力改善位置。)
我坚持我的问题,所以我来这里是为了获得一些建议,以改善仅使用IMU和编码器的室内系统中的位置。
仅使用IMU和编码器,在室内系统中最新的或准确的估计机器人位置是什么? 纸或开源都不是问题。 只要给我关于这个问题的灵感和知识! 谢谢