李世云, 关 乐, 褚金奎
(大连理工大学 精密特种加工教育部重点实验室,辽宁 大连 116023)
基于光流传感器的移动机器人定位方法*
李世云, 关 乐, 褚金奎
(大连理工大学精密特种加工教育部重点实验室,辽宁大连116023)
详细介绍了光流传感器移动机器人定位系统的运动学原理,给出了理论模型推导;基于理论模型,搭建了基于光流传感器实验装置,将3只传感器置于移动机器人的固定位置,通过运动学几何关系,解算机器人的位姿;在室内进行了移动机器人的导航实验,推算了机器人的预测轨迹。实验证明了理论的可行性,可以作为短距离定位的一种导航方案。
光流传感器; 移动机器人; 航迹推算
随着智能化时代的到来,移动机器人在工业、农业、医疗、服务等领域的应用越来越广泛,在其应用过程中最重要的就是要让机器人随时明确位置和姿态,否则无法正确完成其他工作,因此,移动机器人的定位研究成为长期以来的研究热点[1,2]。
定位是确定移动机器人在二维环境中相对于世界坐标系的位置及其本身的姿态,是移动机器人导航的最基本的环节[3]。其中,航迹推算是一种广泛应用的直接进行移动机器人定位的方式,优点在于不用依靠外部参照物,通常使用的航迹推算方法是使用安装在驱动轮上的旋转光电编码器来测量旋转角度,再利用机器人的机械特性计算出机器人距离出发点的距离和方位,从而得到机器人的位置信息。由于存在主动轮打滑、转向、反冲等因素的影响,导致此方法在定位中存在较大的误差。
光流传感器作为一种新型CMOS图像传感器,将图像采集模块采集的连续图像信息转化为传感器自身的二维速度信息,目前主要应用于机器人的避障、悬停、定位等方面。
本文提出了一种基于光流传感器的新型移动机器人的定位的方法,具有定位精度高、可以有效避免主动打滑、转向、反冲等因素导致的误差。
光流是指时变图像中模式运动速度。生物学家研究发现蜜蜂等许多昆虫可以利用光流信息用来导航。基于仿生学原理,国内外许多学者研制了光流传感器并应用于移动导航[4~7]。如图1所示,采用PX4FLOW光流传感器[8],传感器主要由752480MT9V034CMOS图像传感器、16mm M12镜头、L3GD20三轴陀螺、Maxbotix超声波传感器和STM32F405ARM Cortex—M4处理器5个部分组成。
图1 光流传感器
光流传感器采用最小绝对误差和(SAD)块匹配算法,计算步骤如下:
1)图像传感器采集连续2帧图像,采用SAD算法进行最佳匹配
(1)
式中x,y分别为后一帧图像相对于参考帧图像匹配块的水平、垂直两个方向的偏移量;i,j分别为当前块内某像素点的位置;S为当前块某像素的灰度值;R为匹配帧对应像素的灰度值;d为最大的搜索距离。选择搜索区域内的SAD最小值作为最佳匹配。
2)双线性插值亚像素化:设非整像素点(x,y)在邻域的4个像素点(i,j),(i+1,j),(i,j+1),(i+1,j+1),亚像素点的插值为
g(x,y)=A00+A10α+A01β+A11αβ
(2)
式中A00=g(i,j);A10=g(i+1,j)-g(i,j);A01=g(i,j+1)-g(i,j);A11=g(i+1,j+1)+g(i,j)-g(i,j+1)-g(i+1);α,β分别为点(x,y)到点(i,j)距离的水平垂直分量。计算出最佳匹配块的亚像素移动量。
3)旋转补偿:为了消除由于CMOS镜头自身的旋转产生的光流,通过自带陀螺仪所测得的旋转角速度ω和透镜的焦距f代入公式(3)、式(4)中,对光流值速度补偿,分别得到图像平面的光流分量vx,vy如下
(3)
(4)
式中T=[Tx,Ty,Tz]为平移变换矩阵;Z为高度;x,y分别为x,y方向的像素偏移量。
4)坐标系变换:将超声波传感器提供的高度信息Z和光流信息vx,vy代入式(5),根据投影关系计算出传感器相对于地面的水平增量Vx,Vy如下
(5)
如图2所示,设世界坐标系、机器人坐标系和传感器坐标系分别为OA-XAYA,OR-XRYR,OS-XSYS,其中机器人坐标系的的原点为机器人两个驱动轮的几何中心,机器人坐标系与世界坐标系夹角为θ,传感器的夹角与机器人坐标系的夹角为Φ。传感器i到机器人几何中心距离为Ri。
图2 机器人与传感器的坐标关系
传感器和机器人的相对位置在世界坐标系下满足
(6)
对式(6)微分整理得
(7)
(8)
整理式(8),得到
Au=b
(9)
其中
b=R(θ+φ)ΔS
由式(9)可以得知,方程的个数少于未知数的个数,方程不可解,因此,必须有2只及以上的传感器方程才可解。如果有两个传感器,其中,矩阵A和b为
(10)
则机器人在世界坐标系中的增量
u=A-1b
(11)
设某时刻移动机器的当前坐标为[Xt,Yt,θt],则下一时刻的位置坐标为
(12)
为了验证上述方案的可行性,采用自主搭建的移动机器人[9]作为载体,搭建了实验平台。机器人平台采用了四轮并且对称的驱动底盘,左右轮为驱动轮,前后轮为万向轮,将3个光流传感器安装于机器人平台,推算得到机器人的运动轨迹。光流传感器的数据采集模块如图3所示,微控制器(CY7C68013A—56P)通过输入/输出(input/output,I/O)口读取传感器的数据。为了保证传感器数据的同步,3只传感器共用一根数据线,微处理器通过USB口将数据块传输至电脑。
图3 数据采集模块
数据采集的微处理器采用美国赛普拉斯公司(Cypress)的EZ—USB FX2LP高速USB 2.0接口芯片CY7C68013A—56P,具有和8051兼容的CPU和指令系统,同时包含USB接口和完整的USB 2.0协议引擎,并提供了完整的固件及主机程序开发包。该微处理器采用增强型8051内核,硬件资源更丰富,功能更强大。
为了验证理论模型的可行性,增强系统的鲁棒性,搭建了基于三传感器的实验装置,并完成了室内的轨迹推算实验。将3只传感器放置在距离机器人几何中心Ri=350 mm,ψi=60°,120°,270°处,并且传感器的镜头面向地面。按照表1的路径坐标进行室内机器人的路径实验,并由传感器推算出机器人的航迹。
表1 机器人预设坐标
将电脑接收的传感器数据,通过数据处理得到移动机器人的推算轨迹如图4所示。
图4 机器人的预设轨迹和推算轨迹
可知,短距离内,本文提出的方法可以得到具有较高精度的推算轨迹,可以满足移动机器人定位导航要求。
本文提出了一种利用光流传感器实现移动机器人室内外导航定位方法,并且搭建了硬件平台和数据采集模块,通过室内实验验证了该定位系统的可行性,可以作为一种短距离定位的导航方案。下一步的研究需要对定位系统进行标定,误差分析,提高装置的导航精度。
[1] Kim S,Jeong I,Lee S.Mobile robot velocity estimation using a regular polygonal array of optical flow sensors[M].Berlin Heidelberg:Springer,2007:641-649.
[2] 唐 琎,白 涛,蔡自兴.基于光电鼠标的移动机器人室内定位方法[J].微计算机信息,2005,21(5):20-21.
[3] 于金霞.未知环境中移动机器人自定位技术[M].北京:电子工业出版社,2001.
[4] Dahmen H,Mallot H A.Odometry for ground moving agents by optic flow recorded with optical mouse chips[J].Sensors,2014,14(11):21045-21064.
[5] 吕 强,倪佩佩,王国胜,等.基于光流传感器的四旋翼飞行器悬停校正[J].装甲兵工程学院学报,2014(3):68-72.
[6] 宋 宇,翁新武,郭昕刚.基于光流和惯性导航的小型无人机定位方法[J].传感器与微系统,2015,34(1):13-16.
[7] Unhelkar V V,Perez J,Boerkoel J C,et al.Towards control and sensing for an autonomous mobile robotic assistant navigating assembly lines[C]∥2014 IEEE International Conference on Robo-tics and Automation(ICRA),IEEE,2014:4161-4167.
[8] Honegger D,Meier L,Tanskanen P,et al.An open source and open hardware embedded metric optical flow CMOS camera for indoor and outdoor applications[C]∥2013 IEEE International Conference on Robotics and Automation(ICRA),IEEE,2013:1736-1741.
[9] 戎成功.基于ARM和DSP的移动机器人控制系统的搭建[D].大连:大连理工大学,2012:23-24.
Dead-reckoningformobilerobotbasedonmultipleopticalflowsensors*
LI Shi-yun, GUAN Le, CHU Jin-kui
(KeyLaboratoryofTechnologyPrecision&Non-traditionalMachiningofMinistryofEducation,DalianUniversityofTechnology,Dalian116023,China)
Kinematics principle of flow sensor positioning system is introduced in detail; theoretical model derivation is given; based on theoretical model, experimental device based on optical flow sensor is set up. Three sensors are set in fixed position of mobile robot. Through Kinematics geometry relation, pose of robot is resolved. Navigation experiment of mobile robot is carried out in indoor, predicted trajectory of robot is reckoned. Feasibility of theory is proved by experiment, and it can be a navigation scheme for short-distance positioning.
optical flow sensors; mobile robot; dead-reckoning
10.13873/J.1000—9787(2017)10—0061—03
2016—03—22
国家自然科学基金资助项目(51305057); 国家重点基础研究发展计划资助项目(2011CB302105)
TP 212
A
1000—9787(2017)10—0061—03
李世云(1986- ),男,硕士研究生,研究方向为机器人导航定位、嵌入式开发。