一种基于光流的移动机器人避障方法
【专利摘要】本发明涉及一种基于光流的移动机器人避障方法,属于机器人导航避障应用【技术领域】;其特征在于根据机器人上的单目摄像头,获取图像序列,计算前后两帧图像的光流。当光流幅值超过阈值时,从光流中计算出TTC。并根据TTC构建1×N的障碍地图OM(obstacle?map);然后设置阈值τ提取障碍地图元素值小于τ的连续列作为候选的安全区域。对每一区域计算其权重,取权重最大的区域作为最佳区域,计算其局部形心作为最佳前进方向;最后根据最佳前进方向控制机器人转向此方向,从而避开障碍物。本发明能使机器人在未知、复杂、充满障碍物的环境中分析障碍物的分布,并选择最安全的方向行走,能用于实时的机器人避障。
【专利说明】一种基于光流的移动机器人避障方法
【技术领域】
[0001]本发明涉及一种单目视觉的基于光流的移动机器人避障方法,属于机器人导航避障应用【技术领域】。
【背景技术】
[0002]移动机器人是具有感知、思维和行动功能的机器,其在多种领域发挥了重要作用,比如清洁机器人、军事探测机器人。而要实现机器人自主作业,机器人必须能够避障。当前,有多种传感器可以用于机器人避障,比如利用超声波测距仪、激光雷达和红外传感器可以获取到障碍物的距离信息,进而实现避障。还可以利用安装在机器人上的一个或多个摄像头获取场景的图像,利用丰富的视觉信息完成避障。研究发现,视觉是人类获取信息的主要渠道,外界的信息有70%来自视觉,视觉传感器不需要安装发射和接收装置,简单轻便,而且,视觉工作在被动模式,具有隐蔽性。目前,视觉导航和避障方法成为研究的热点。
[0003]目前,基于视觉的导航技术主要有三种方法,分别为基于地图的导航、基于光流的导航和基于地貌的导航。基于光流的方法是受到大自然中飞行昆虫的启发,科学家们通过解剖学、神经生理学、电生理学的方法已经对飞行昆虫的视觉系统进行了大量的研究。研究发现,飞行昆虫的视觉感知器官-复眼与人类相比,两只复眼的距离很近,复眼的空间分辨率很低,但是复眼对时域非常敏感。基于以上特点,飞行昆虫并不是利用双目立体视觉来进行导航的。Srinivasan教授对蜜蜂做了大量的实验,证明蜜蜂是通过两眼中图像速度即光流进行导航的。
[0004]根据飞行昆虫的视觉导航机理,以Nicolas Franceschini为首的研究小组花了数年时间研究苍蝇的视觉系统和它们是如何检测并利用光流的,然后在实验的基础上研制出能够在避开障碍物的过程中不断接近目标的轮式机器人“robot mouche”。Srinivasan所在的研究小组通过研究蜜蜂的视觉行为,发现蜜蜂通过平衡映射在两侧眼睛上图像运动的速度(光流)来调节它们的飞行方向。他们在装有一个摄像头和两面镜子的轮式机器人“Corridor-following robot”上验证了这个机制。后来Srinivasan研究小组的Sobey受到昆虫飞行灵感的启发,提出一种使基于视觉的机器人在混乱的环境中安全行走的算法,并研制出的另外一个机器人“Obstacle-avoiding robot”。Santos-Victor等人研发了一个基于光流的视觉系统robee,该系统模拟了蜜蜂的视觉行为,认为昆虫的眼睛长在两侧的优势就在于它们的导航机制是基于运动产生的特征,而不是深度信息。在robee中,一个分开的双目视觉方法被用于模仿蜜蜂的中心反射(Centering Reflex)。
[0005]以上基于光流的导航避障方法,都是模拟蜜蜂的中心策略,通过平衡左右视场的光流幅值使机器人避开障碍物。这种方法只能适应简单的类似走廊的环境,机器人能在这种环境中沿着走廊的中心线行走,并不能满足复杂环境中的避障。
【发明内容】
[0006]本发明的目的在于提供了一种基于光流的移动机器人避障方法,针对上述中出现的不足,本方法根据前后两帧图像的光流构建障碍地图,然后从障碍地图中确定机器人前进的最佳(安全)方向,从而指导机器人转向此方向前进。此方法可实现移动机器人在复杂充满障碍物的环境中安全、无目的地漫游。
[0007]为实现上述目的,本发明采用的技术方案为一种基于光流的移动机器人避障方法,如图1所示,该方法是按以下步骤实现的;
[0008]SI机器人开机启动,进行初始化。
[0009]S2赋予机器人速度V (0m/s-0.15m/s)(速度不可设置的太大,否则违反了光流计算中小运动的假设),让机器人以速度V匀速向正前方运动,获得前后两帧图像。
[0010]S3计算两帧图像的光流和整幅图像中所有像素点的光流幅值总和。
[0011]S4判断幅值总和是否超过阈值δ (阈值δ应根据速度调整,速度越大,应设置相对较大的阈值);若是,转向步骤S5 ;若没有超过阈值,转向S2。
[0012]S5根据光流计算FOE (focus of expansion)和图像中每个像素点的TTC(time tocontact);具体步骤包括
[0013]S5.1选取图像中η个点的光流按下式利用最小二乘法计算FOE (为了减少计算误差,尽量多选取一些点,但为了兼顾运算速度,点数不可选取的过多)。
[0014](cx, cy)T = (AtA) _1ATb
[0015]其中(cx,cy)T是 F0E(focus of expansion)的 x、y 坐标,
【权利要求】
1.一种基于光流的移动机器人避障方法,其特征在于,该方法是按以下步骤实现的, Si机器人开机启动,进行初始化; S2赋予机器人速度V,让机器人以速度V匀速向正前方运动,获得前后两帧图像; S3计算两帧图像的光流和整幅图像中所有像素点的光流幅值总和; S4判断幅值总和是否超过阈值δ ;若是,转向步骤S5 ;若没有超过阈值,转向S2 ; S5根据光流计算FOE和图像中每个像素点的TTC ;具体步骤包括 S5.1选取图像中η个点的光流按下式利用最小二乘法计算FOE
【文档编号】G01C21/00GK103743394SQ201410006655
【公开日】2014年4月23日 申请日期:2014年1月7日 优先权日:2014年1月7日
【发明者】于乃功, 徐丽, 阮晓钢, 陈焕朝, 王琳 申请人:北京工业大学