1.一种基于视觉巡视的自主飞行四旋翼穿行隧道方法,其特征在于,包括以下步骤:(1)、沿着隧道中线添加黄色标识线,在自主飞行四旋翼的底部安装一个USB摄像头,并加装LED补光灯确保摄像头在隧道内部正常工作,在机头前后方及机身右侧处加装微型激光测距传感器;
(2)、控制自主飞行四旋翼驶入隧道井口
(2.1)、自主飞行四旋翼上电初始化;
(2.2)、手动起飞自主飞行四旋翼,使自主飞行四旋翼离地面距离h1,再手动遥控自主飞行四旋翼驶入隧道井口附近,此时,通过遥控器切换自主飞行四旋翼为全自主飞行模式;
(2.3)、飞行控制模块计算自主飞行四旋翼的实时姿态角;
(2.4)、自主飞行四旋翼利用机头及机身右侧的激光测距传感器定位当前自主飞行四旋翼的实时位置信息,并与加速度计融合估计飞行速度,结合实时姿态角、位置信息和飞行速度,飞行控制模块控制自主飞行四旋翼飞向隧道井口中心位置;
(3)、控制自主飞行四旋翼从隧道井口中心位置驶入隧道入口
飞行控制模块控制自主飞行四旋翼从隧道井口中心位置处垂直下降,当下降到隧道顶部平面时,改用机尾及机身右侧的激光测距传感器定位自主飞行四旋翼的实时位置信息,根据当前位置信息和实时姿态角继续垂直下降,当下降到设定的巡航高度时,达到隧道入口;
(4)、飞行控制模块控制自主飞行四旋翼穿行隧道
(4.1)、USB摄像头在LED补光灯的配合下周期性采集隧道内的环境图像;
(4.2)、开启自主飞行四旋翼的巡线线程,得到自主飞行四旋翼偏离黄色标识线的实际距离d与自主飞行四旋翼飞行方向与隧道走向的偏角θ;
(4.2.1)、将环境图像转换到HSV颜色空间,再根据黄色的HSV范围值对环境图像进行二值化处理,得到二值化图像;
(4.2.2)、利用开运算滤除二值化图像中的白色噪点,再利用闭运算连接二值化图像中离散的白色区域,得到理想二值化图;
(4.2.3)、取理想二值化图像上方前n行图像,对于第一行,从理想二值化图最左侧开始向右寻找白色区域左边沿,以及从最右侧开始向左寻找白色区域右边沿,得到该行图像的白色区域,再找出该白色区域中心;对于剩下的n-1行图像,在其上一行寻找所得左右边沿位置附近m个像素范围内寻找本行的左右边沿,得到本行图像的白色区域,再找出该行图像对应的白色区域中心;
(4.2.4)、将找到的n行图像的白色区域中心与理想二值化图中对应行的绝对中心作差,再累加求平均,将平均差值作为自主飞行四旋翼偏离白色区域的像素量;
(4.2.5)、根据自主飞行四旋翼偏离白色区域的像素量、自主飞行四旋翼当前实时高度信息,以及USB摄像头自带的焦距信息,利用针孔成像模型计算自主飞行四旋翼偏离黄色标识线的实际距离d;
(4.2.6)、在n行图像中,选取第n/3行和第2n/3行提取得到的白色区域中心,并对这两行的白色区域中心的差值e,由arctan(e/(n/3))计算反正切值,得到自主飞行四旋翼飞行方向与隧道走向的偏角θ;
(4.3)、开启自主飞行四旋翼的光流线程,得到自主飞行四旋翼的实时飞行速度v;
(4.3.1)、在自主飞行四旋翼上电的初始时刻t0,对USB摄像头初始时刻采集的环境图像运行角点检测算法,得到k个Shi-Tomasi角点,再将这k个Shi-Tomasi角点作为本时刻环境图像的Shi-Tomasi角点集a(t0);
(4.3.2)、在随后的其余时刻,周期性采集环境图像,并利用LK光流运动估计法对当前时刻的环境图像进行处理处理,寻找前一时刻环境图像的Shi-Tomasi角点集a(t-1)中的Shi-Tomasi角点的匹配点,并组成点集b(t),再从点集a(t-1)中剔除未能寻找到匹配点的Shi-Tomasi角点,从而得到当前时刻的Shi-Tomasi角点集a(t);
(4.3.3)、判断a(t)中Shi-Tomasi角点个数是否大于阈值M,如果大于则进入步骤(4.3.4),否则返回步骤(4.3.1);
(4.3.4)将a(t)与b(t)中对应点间的坐标偏差累加求平均,得到像素意义上的飞行速度信息v1;
(4.3.5)、利用自主飞行四旋翼当前飞行的实时高度及实时姿态角对v进行补偿,得到飞行速度信息v2;
(4.3.6)、利用加速度计及陀螺仪估计出惯导速度信息v3,再将v3与v2进行卡尔曼滤波融合,得到自主飞行四旋翼实时飞行速度v;
(4.4)、根据自主飞行四旋翼偏离黄色标识线的实际距离d、实时飞行速度v以及自主飞行四旋翼飞行方向与隧道走向的偏角θ,通过飞行控制模块控制自主飞行四旋翼飞行,使d和θ趋近于0,并向前巡航飞行,当机头激光测距传感器测量到的距离为隧道半个宽度时到达隧道出口;
(5)、控制自主飞行四旋翼从隧道出口中心位置驶离隧道井口
利用机头及机身右侧的激光测距传感器定位自主飞行四旋翼的实时位置信息,飞行控制模块控制自主飞行四旋翼从隧道出口中心位置处垂直上升,当上升到隧道顶部平面时,改用机尾及机身右侧的激光测距传感器定位自主飞行四旋翼的实时位置信息,飞行控制模块控制自主飞行四旋翼继续从隧道出口中心位置垂直上升,当上升到高于隧道井口后驶离隧道井口。