有几种方法
1.编码器:两轮均安装编码器后可以测量两轮转动的距离,以两轮转动的距离结合机器人模型,可以推算机器人的运行轨迹,第二次重现就好了。这里主要涉及到编码器精度问题和车轮打滑现象。优点是便宜,缺点低精度,开环控制。
2.光流法:如楼上说法,使用光电鼠标的光流传感器配合透镜,捕捉地面纹理测量移动距离,通过积分移动距离可以计算机器人的运行轨迹。主要问题是光流发需要地面有明显纹理,白色瓷砖之类的就无法使用了。优点是精度高,缺点是对地面有限制。
3.SLAM方法:这是目前高级扫地机器人才会使用的方案,通过激光雷达(可以用超声波代替)扫描周围环境,寻找特征点,建立房间的拓扑地图,同时可以完成自身定位,建立地图后可以在房间里随意漫游不会撞到障碍物。优点是效果好,扫地无遗漏,缺点是成本较高,且算法较复杂。
使用slam方法一般会结合编码器进**尔曼滤波提高定位精度减小误差,尤其是使用低精度测距传感器的时候。
|