工程科学学报.第42卷,第2期:249-256.2020年2月 Chinese Journal of Engineering,Vol.42,No.2:249-256,February 2020 https://doi.org/10.13374/j.issn2095-9389.2019.08.03.002;http://cje.ustb.edu.cn 基于外部单目视觉的仿生扑翼飞行器室内定高控制 付强2)区,张树禹2),王久斌2),冯富森2 1)北京科技大学自动化学院,北京1000832)北京科技大学人工智能研究院.北京100083 ☒通信作者,E-mail:fuqiang(@ustb.edu.cn 摘要针对扑翼飞行器的定高飞行,设计了基于外部单目视觉的室内定高控制系统:通过外部单目相机获取扑翼飞行器的 飞行图像,基于Qt编写的地面站软件接收图像并利用基于OpenCV的图像处理算法检测扑翼飞行器上的发光标识点,获得 标识点在图像上的像素坐标;基于卡尔曼滤波器(KF)建立标识点像素坐标的运动状态估计器,降低环境噪声干扰并解决了 标识点被短暂遮挡的问题:分别建立常规PD和单神经元PD控制系统,通过蓝牙控制扑翼飞行器的电机转速,实现了基于 图像的扑翼飞行器室内定高飞行.对比实验结果表明,本文设计的定高飞行控制系统可以使扑翼飞行器标记点的图像坐标 保持在外部单目相机图像的中心横线处.针对阶跃响应信号,单神经元PD控制系统的响应速度比常规PD控制系统响应 速度稍慢一些,但是控制精度明显优于常规PD控制器,最大相对误差为3% 关键词单目视觉:扑翼飞行器:定高控制:视觉伺服:图像误差 分类号TP242.6 Indoor fixed-height control for bio-inspired flapping-wing aerial vehicles based on off- board monocular vision FU Qiang2,ZHANG Shu-yu2,WANG Jiu-bin 2,FENG Fu-sen'2) 1)School of Automation and Electrical Engineering,University of Science and Technology Beijing,Beijing 100083,China 2)Institute of Artificial Intelligence,University of Science and Technology Beijing,Beijing 100083,China Corresponding author,E-mail:fuqiang @ustb.edu.cn ABSTRACT The flapping-wing aerial vehicle(FWAV)is a new kind of aerial vehicle that imitates the flapping wings of birds or insects during flight and has the advantages of flexible flight,high flight efficiency,and good concealment compared with the fixed-wing and the rotary-wing aerial vehicles.Therefore,the FWAV has attracted considerable attention in recent years.However,the flight mechanism of the FWAV is complex and has many motion parameters with strong coupling.Thus,establishing a precise and practical motion model is difficult.At the same time,given the limited weight and load capacity of small FWAVs,it cannot carry accurate but heavy positioning equipment.Thus,many problems in autonomous flight control of FWAVs need to be addressed at this stage.For the fixed-height flight of FWAVs,an indoor fixed-height control system based on off-board monocular vision was designed.First,image sequences of the FWAV were obtained using the off-board monocular camera.Then,the ground station software based on Qt received the images,detected the light-emitting feature point on the FWAV,and obtained the pixel coordinates of the feature point on each image using the OpenCv image processing algorithms.On the basis of the Kalman filter,the image state estimator of the feature point was established to reduce the environmental interference and solve the temporal missing data problem of the feature point.Finally,the conventional and single-neuron PID control systems were established,where the motor speed of the FWAV was controlled by Bluetooth, 收稿日期:2019-08-03 基金项目:装备预研教育部联合基金资助项目(6141A02033339):中央高校基本科研业务费专项资金资助项目(FRF-TP.18-100A1):国家自 然科学基金资助项目(61803025)
基于外部单目视觉的仿生扑翼飞行器室内定高控制 付 强1,2) 苣,张树禹1,2),王久斌1,2),冯富森1,2) 1) 北京科技大学自动化学院,北京 100083 2) 北京科技大学人工智能研究院,北京 100083 苣通信作者,E-mail: fuqiang@ustb.edu.cn 摘 要 针对扑翼飞行器的定高飞行,设计了基于外部单目视觉的室内定高控制系统:通过外部单目相机获取扑翼飞行器的 飞行图像,基于 Qt 编写的地面站软件接收图像并利用基于 OpenCV 的图像处理算法检测扑翼飞行器上的发光标识点,获得 标识点在图像上的像素坐标;基于卡尔曼滤波器(KF)建立标识点像素坐标的运动状态估计器,降低环境噪声干扰并解决了 标识点被短暂遮挡的问题;分别建立常规 PID 和单神经元 PID 控制系统,通过蓝牙控制扑翼飞行器的电机转速,实现了基于 图像的扑翼飞行器室内定高飞行. 对比实验结果表明,本文设计的定高飞行控制系统可以使扑翼飞行器标记点的图像坐标 保持在外部单目相机图像的中心横线处. 针对阶跃响应信号,单神经元 PID 控制系统的响应速度比常规 PID 控制系统响应 速度稍慢一些,但是控制精度明显优于常规 PID 控制器,最大相对误差为 3%. 关键词 单目视觉;扑翼飞行器;定高控制;视觉伺服;图像误差 分类号 TP242.6 Indoor fixed-height control for bio-inspired flapping-wing aerial vehicles based on offboard monocular vision FU Qiang1,2) 苣 ,ZHANG Shu-yu1,2) ,WANG Jiu-bin1,2) ,FENG Fu-sen1,2) 1) School of Automation and Electrical Engineering, University of Science and Technology Beijing, Beijing 100083, China 2) Institute of Artificial Intelligence, University of Science and Technology Beijing, Beijing 100083, China 苣 Corresponding author, E-mail: fuqiang@ustb.edu.cn ABSTRACT The flapping-wing aerial vehicle (FWAV) is a new kind of aerial vehicle that imitates the flapping wings of birds or insects during flight and has the advantages of flexible flight, high flight efficiency, and good concealment compared with the fixed-wing and the rotary-wing aerial vehicles. Therefore, the FWAV has attracted considerable attention in recent years. However, the flight mechanism of the FWAV is complex and has many motion parameters with strong coupling. Thus, establishing a precise and practical motion model is difficult. At the same time, given the limited weight and load capacity of small FWAVs, it cannot carry accurate but heavy positioning equipment. Thus, many problems in autonomous flight control of FWAVs need to be addressed at this stage. For the fixed-height flight of FWAVs, an indoor fixed-height control system based on off-board monocular vision was designed. First, image sequences of the FWAV were obtained using the off-board monocular camera. Then, the ground station software based on Qt received the images, detected the light-emitting feature point on the FWAV, and obtained the pixel coordinates of the feature point on each image using the OpenCV image processing algorithms. On the basis of the Kalman filter, the image state estimator of the feature point was established to reduce the environmental interference and solve the temporal missing data problem of the feature point. Finally, the conventional and single-neuron PID control systems were established, where the motor speed of the FWAV was controlled by Bluetooth, 收稿日期: 2019−08−03 基金项目: 装备预研教育部联合基金资助项目 (6141A02033339);中央高校基本科研业务费专项资金资助项目 (FRF-TP-18-100A1);国家自 然科学基金资助项目 (61803025) 工程科学学报,第 42 卷,第 2 期:249−256,2020 年 2 月 Chinese Journal of Engineering, Vol. 42, No. 2: 249−256, February 2020 https://doi.org/10.13374/j.issn2095-9389.2019.08.03.002; http://cje.ustb.edu.cn
250 工程科学学报,第42卷,第2期 to achieve image-based indoor fixed-height flight of the FWAV.Experimental results show that the fixed-height flight control system designed in this study can keep the image coordinates of the feature point of the FWAV at the center of the camera image.For the step signal,the response speed of the single-neuron PID control system is slightly slower than that of the conventional PID control system. However,the control accuracy of the single-neuron PID control system is better than that of the conventional PID controller,with a maximum relative error of 3%. KEY WORDS monocular vision;flapping-wing aerial vehicle:fixed height control;visual servoing;image error 扑翼飞行器是一种模仿鸟类或者昆虫的飞行 小、质量轻,容易受到外界环境因素(例如风)的干 方式实现飞行的新型无人飞行器,涉及仿生学、空 扰,小负载导致高精度但质量大的传感器不能使 气动力学、机械设计、材料科学、计算机、通信与 用例,只能使用低精度质量小的传感器,因此扑翼 控制等多门学科.与传统的固定翼和旋翼飞行器 飞行器的定高飞行控制仍处于早期阶段且面临诸 相比,扑翼飞行器具有更高的飞行效率和更灵活 多问题.定高飞行控制常用的传感器有惯性元 的飞行机动性山,因此受到越来越多的关注与研 件、GPS、气压计和视觉传感器.惯性元件具有误 究.国内外的一些研究机构和高校已经研制出几 差累积缺陷,对初始值过于敏感:GPS不能在一些 款能够飞行的扑翼飞行器 特定环境(例如室内)使用:气压计测量精度低,容 1扑翼飞行器定高飞行控制概况 易受天气影响.视觉传感器的误差不会累积,抗干 扰能力强、适用范围广,更善于捕捉运动物体, 德国Festo公司研制出一款名为SmartBird!) 被越来越多的应用在无人机导航系统中 的仿海鸥扑翼飞行器,重450g,翼展2m,可以自 现有基于视觉的扑翼飞行器定高控制方案主 主飞行和降落,空气动力效率高达80%.美国麻省 要采用深度相机、双目相机或者是动作捕捉系统 理工学院研制出一款名为Phoenix)的扑翼飞行 深度相机可以检测物体的深度信息,但是测量 器,可以通过手动遥控实现简单的飞行动作,但控 范围窄、测量噪声大,容易受到环境的干扰,并且 制系统不完善,稳定性差,飞行时间短 需要额外的设备,使用成本较高.双目相机基于视 飞行控制是扑翼飞行器研究的关键技术之 差原理计算图像对应点的位置偏差,可以获取物 一,影响着扑翼飞行器的飞行性能,而定高飞行控 体的大小和距离,但是使用前需要进行参数标定 制是飞行控制的一个基本要求,在巡航搜查、军事 工作2),量程和精度)受双目基线4和分辨率的 侦察等方面有着重要应用.扑翼飞行器定高控制 限制.动作捕捉系统例如OptiTrack和Vicon基于 方面,Ryu等刊在一款微型扑翼飞行器上搭载了微 立体视觉原理,采用多个相机拍摄被标记物体,可 型第一人称视角(first person view,FPV)摄像头,利 以获得标记点的空间位置阿,但是其参数标定工 用图像处理算法实现扑翼飞行器的定位,结合控 作复杂,计算量大,设备成本高昂且不易携带 制算法实现了定高飞行.台湾淡江大学Lin等的采 本文采用LED灯标记扑翼飞行器,单目USB 用外部双目相机检测微型扑翼机的位置信息, 摄像头采集图像数据,通过地面站实时图像处理 加入闭环控制系统,可以在室内定高飞行.西北工 程序获取标记点在图像上的像素坐标,经过单神 业大学研发的仿信鸽扑翼飞行器Dove,结合 经元PD控制算法得出控制量并发送给扑翼飞行 GPS和惯性导航系统获取其飞行姿态和位置信 器,使其在图像上的坐标保持在图像的中心横线 息,将无损卡尔曼滤波(unscented Kalman filter,, 处,实现定高飞行,其具有以下特点: UKF)加入控制算法中,实现其自主定高飞行.北 (1)搭建了一款微型扑翼飞行器,搭载自主研 京科技大学贺威团队对一款X翼扑翼飞行器进 发的控制电路板,实现了定高控制飞行; 行改装,加入了自主研发的控制芯片,同时搭建了 (2)基于图像的定高飞行,相比于基于位置的 基于多目相机的地面站,利用OptiTrack动作捕捉 定高飞行,无需进行相机的内外参数标定工作; 系统捕捉扑翼飞行器的位置信息,通过PID控制 (3)采用单神经元PID控制器,控制效果好于 系统实现了定高飞行 常规的PID控制器 扑翼飞行器灵活度高,飞行机理复杂,导致其 2问题描述 运动模型也较为复杂,且翅膀扑动导致的振动问 题8不能被忽视.此外,大多数扑翼飞行器的体积 为了排除环境因素的影响,实验环境被设定
to achieve image-based indoor fixed-height flight of the FWAV. Experimental results show that the fixed-height flight control system designed in this study can keep the image coordinates of the feature point of the FWAV at the center of the camera image. For the step signal, the response speed of the single-neuron PID control system is slightly slower than that of the conventional PID control system. However, the control accuracy of the single-neuron PID control system is better than that of the conventional PID controller, with a maximum relative error of 3%. KEY WORDS monocular vision;flapping-wing aerial vehicle;fixed height control;visual servoing;image error 扑翼飞行器是一种模仿鸟类或者昆虫的飞行 方式实现飞行的新型无人飞行器,涉及仿生学、空 气动力学、机械设计、材料科学、计算机、通信与 控制等多门学科. 与传统的固定翼和旋翼飞行器 相比,扑翼飞行器具有更高的飞行效率和更灵活 的飞行机动性[1] ,因此受到越来越多的关注与研 究. 国内外的一些研究机构和高校已经研制出几 款能够飞行的扑翼飞行器. 1 扑翼飞行器定高飞行控制概况 德国 Festo 公司研制出一款名为 SmartBird[2] 的仿海鸥扑翼飞行器,重 450 g,翼展 2 m,可以自 主飞行和降落,空气动力效率高达 80%. 美国麻省 理工学院研制出一款名为 Phoenix[3] 的扑翼飞行 器,可以通过手动遥控实现简单的飞行动作,但控 制系统不完善,稳定性差,飞行时间短. 飞行控制是扑翼飞行器研究的关键技术之 一,影响着扑翼飞行器的飞行性能,而定高飞行控 制是飞行控制的一个基本要求,在巡航搜查、军事 侦察等方面有着重要应用. 扑翼飞行器定高控制 方面,Ryu 等[4] 在一款微型扑翼飞行器上搭载了微 型第一人称视角(first person view,FPV)摄像头,利 用图像处理算法实现扑翼飞行器的定位,结合控 制算法实现了定高飞行. 台湾淡江大学 Lin 等[5] 采 用外部双目相机检测微型扑翼机的位置信息 , 加入闭环控制系统,可以在室内定高飞行. 西北工 业大学研发的仿信鸽扑翼飞行 器 Dove[6] , 结 合 GPS 和惯性导航系统获取其飞行姿态和位置信 息 ,将无损卡尔曼滤波 ( unscented Kalman filter, UKF)加入控制算法中,实现其自主定高飞行. 北 京科技大学贺威[7] 团队对一款 X 翼扑翼飞行器进 行改装,加入了自主研发的控制芯片,同时搭建了 基于多目相机的地面站,利用 OptiTrack 动作捕捉 系统捕捉扑翼飞行器的位置信息,通过 PID 控制 系统实现了定高飞行. 扑翼飞行器灵活度高,飞行机理复杂,导致其 运动模型也较为复杂,且翅膀扑动导致的振动问 题[8] 不能被忽视. 此外,大多数扑翼飞行器的体积 小、质量轻,容易受到外界环境因素(例如风)的干 扰,小负载导致高精度但质量大的传感器不能使 用[9] ,只能使用低精度质量小的传感器,因此扑翼 飞行器的定高飞行控制仍处于早期阶段且面临诸 多问题. 定高飞行控制常用的传感器有惯性元 件、GPS、气压计和视觉传感器. 惯性元件具有误 差累积缺陷,对初始值过于敏感;GPS 不能在一些 特定环境(例如室内)使用;气压计测量精度低,容 易受天气影响. 视觉传感器的误差不会累积,抗干 扰能力强、适用范围广,更善于捕捉运动物体[10] , 被越来越多的应用在无人机导航系统中. 现有基于视觉的扑翼飞行器定高控制方案主 要采用深度相机、双目相机或者是动作捕捉系统. 深度相机可以检测物体的深度信息[11] ,但是测量 范围窄、测量噪声大,容易受到环境的干扰,并且 需要额外的设备,使用成本较高. 双目相机基于视 差原理计算图像对应点的位置偏差,可以获取物 体的大小和距离,但是使用前需要进行参数标定 工作[12] ,量程和精度[13] 受双目基线[14] 和分辨率的 限制. 动作捕捉系统例如 OptiTrack 和 Vicon 基于 立体视觉原理,采用多个相机拍摄被标记物体,可 以获得标记点的空间位置[15] ,但是其参数标定工 作复杂,计算量大,设备成本高昂且不易携带. 本文采用 LED 灯标记扑翼飞行器,单目 USB 摄像头采集图像数据,通过地面站实时图像处理 程序获取标记点在图像上的像素坐标,经过单神 经元 PID 控制算法得出控制量并发送给扑翼飞行 器,使其在图像上的坐标保持在图像的中心横线 处,实现定高飞行,其具有以下特点: (1)搭建了一款微型扑翼飞行器,搭载自主研 发的控制电路板,实现了定高控制飞行; (2)基于图像的定高飞行,相比于基于位置的 定高飞行,无需进行相机的内外参数标定工作; (3)采用单神经元 PID 控制器,控制效果好于 常规的 PID 控制器. 2 问题描述 为了排除环境因素的影响,实验环境被设定 · 250 · 工程科学学报,第 42 卷,第 2 期
付强等:基于外部单目视觉的仿生扑翼飞行器室内定高控制 251· 为室内.由于室内实验环境有限,为防止其飞出实 验范围并造成物品损坏,需要对扑翼飞行器的飞 翅膀 行范围加以限制. 尾部 如图1所示,X翼扑翼飞行器通过一根细线连 LED灯 接在一个带底座的钢管上,连接处安装有轴承来 保证其飞行过程中不会受到钢管的摩擦阻力.细 电机 线为扑翼飞行器提供了向心力,保证其绕杆进行 电池 控制电路板 圆周运动,同时还提供了向上的拉力,当扑翼飞行 图2X翼扑翼飞行器 器飞行时,向上拉力减小,没有改变扑翼飞行器的 Fig.2 FWAV with the X-wing 飞行高度与翅膀扑动频率正相关的关系,而扑动 频率由自身的空心杯电机的转速决定,要使扑翼 飞行控制电路板如图3所示,长39mm,宽 飞行器在图像上的坐标保持在中心横线处,需计 26mm,重3.8g,包含一颗32位的基于ARMCortex- 算出相应的电机转速.扑翼飞行器的飞行机理复 M3架构的低功耗芯片STM32L151、蓝牙通讯模 杂,运动参数较多且耦合性强,若通过建立运动模 块HC-06、电源转换模块、一个3.7V空心杯电机 型计算出特定飞行高度所需的电机转速,需要精 输出口和一个LED灯输出口,该电路板采用3.7V 确的运动模型,计算量大且需要对模型进行实验 电池供电。飞行过程中,控制电路板通过蓝牙模块 验证,将消耗大量时间,并且适用模型单一,推广 接收地面站发送的控制信号,控制空心杯电机的 性较差.因此本文采用单目相机拍摄扑翼飞行器 转速和LED灯的亮灭.控制电路板接收到地面站 的飞行图像,基于无模型单神经元PD控制系统 发送的控制信号后,便保持该控制状态,直到下一 控制扑翼飞行器在图像的中心横线附近飞行,实 次地面站的控制信号发送过来,降低了地面站的 现基于图像的定高飞行.当单目相机水平放置时, 通讯工作量 扑翼飞行器将与单目相机等高度飞行 电源接口 一扑翼飞行器的像 中心横线 主芯片 拍摄图像 轴承 LED输出口 L180 蓝牙模块 电机输出口 扑翼飞行器 单目相机 底座 图3飞行控制电路板 Fig.3 Flight control circuit board 图1问题描述示意图 Fig.I Illustration of the problem formulation 3.2视觉检测 3解决方案 单目相机的成像原理6如图4所示:世界坐 标系O-Xw YwZw中的点P(Xc,Ye,Zc)通过透视投影在 3.1扑翼飞行器 像平面成像,成像点为,像平面的像素坐标系以 本文的扑翼飞行器采用X翼结构,有两对翅膀, 像素点为单位,以图像左上角O点为原点,成像点 如图2所示.该扑翼飞行器重16g,翼展25cm,由 p在以Oo点为原点的坐标系中的坐标为(up,'p)由 于机身重量轻、翅膀面积小,所以抗风性能较弱, 于本文是控制扑翼飞行器始终处于图像的中心横 只适合在室内飞行.机身骨架由3D打印制成,具 线上,是基于图像而不是基于位置的飞行高度控 有轻巧、定制程度高的特点,翅膀采用聚氯乙烯薄 制,所以不需要进行相机的内外参数的标定工作. 膜制成.采用6mm空心杯电机和3.7V的70mAh 本文采用标记点检测法检测扑翼飞行器在图 锂电池.扑翼飞行器头部添加了一颗蓝色LED 像上的位置信息,采用主动发光标记点,即LED 灯,作为标记点,并且搭载了自主研发的飞行控制 灯,相比较被动式标记点例如红外反光标记点,不 电路板 需要额外的红外光源和红外相机,使用成本低,适
为室内. 由于室内实验环境有限,为防止其飞出实 验范围并造成物品损坏,需要对扑翼飞行器的飞 行范围加以限制. 如图 1 所示,X 翼扑翼飞行器通过一根细线连 接在一个带底座的钢管上,连接处安装有轴承来 保证其飞行过程中不会受到钢管的摩擦阻力. 细 线为扑翼飞行器提供了向心力,保证其绕杆进行 圆周运动,同时还提供了向上的拉力,当扑翼飞行 器飞行时,向上拉力减小,没有改变扑翼飞行器的 飞行高度与翅膀扑动频率正相关的关系,而扑动 频率由自身的空心杯电机的转速决定,要使扑翼 飞行器在图像上的坐标保持在中心横线处,需计 算出相应的电机转速. 扑翼飞行器的飞行机理复 杂,运动参数较多且耦合性强,若通过建立运动模 型计算出特定飞行高度所需的电机转速,需要精 确的运动模型,计算量大且需要对模型进行实验 验证,将消耗大量时间,并且适用模型单一,推广 性较差. 因此本文采用单目相机拍摄扑翼飞行器 的飞行图像,基于无模型单神经元 PID 控制系统 控制扑翼飞行器在图像的中心横线附近飞行,实 现基于图像的定高飞行. 当单目相机水平放置时, 扑翼飞行器将与单目相机等高度飞行. 3 解决方案 3.1 扑翼飞行器 本文的扑翼飞行器采用 X 翼结构,有两对翅膀, 如图 2 所示. 该扑翼飞行器重 16 g,翼展 25 cm,由 于机身重量轻、翅膀面积小,所以抗风性能较弱, 只适合在室内飞行. 机身骨架由 3D 打印制成,具 有轻巧、定制程度高的特点,翅膀采用聚氯乙烯薄 膜制成. 采用 6 mm 空心杯电机和 3.7 V 的 70 mA·h 锂电池. 扑翼飞行器头部添加了一颗蓝色 LED 灯,作为标记点,并且搭载了自主研发的飞行控制 电路板. 飞行控制电路板如图 3 所示 ,长 39 mm,宽 26 mm,重 3.8 g,包含一颗 32 位的基于 ARMCortexM3 架构的低功耗芯片 STM32L151、蓝牙通讯模 块 HC-06、电源转换模块、一个 3.7 V 空心杯电机 输出口和一个 LED 灯输出口,该电路板采用 3.7 V 电池供电. 飞行过程中,控制电路板通过蓝牙模块 接收地面站发送的控制信号,控制空心杯电机的 转速和 LED 灯的亮灭. 控制电路板接收到地面站 发送的控制信号后,便保持该控制状态,直到下一 次地面站的控制信号发送过来,降低了地面站的 通讯工作量. 3.2 视觉检测 O− XwYwZw P(Xc,Yc,Zc) p O0 p O0 ( up, vp ) 单目相机的成像原理[16] 如图 4 所示:世界坐 标系 中的点 通过透视投影在 像平面成像,成像点为 ,像平面的像素坐标系以 像素点为单位,以图像左上角 点为原点,成像点 在以 点为原点的坐标系中的坐标为 . 由 于本文是控制扑翼飞行器始终处于图像的中心横 线上,是基于图像而不是基于位置的飞行高度控 制,所以不需要进行相机的内外参数的标定工作. 本文采用标记点检测法检测扑翼飞行器在图 像上的位置信息,采用主动发光标记点,即 LED 灯,相比较被动式标记点例如红外反光标记点,不 需要额外的红外光源和红外相机,使用成本低,适 扑翼飞行器的像 中心横线 拍摄图像 单目相机 扑翼飞行器 轴承 底座 图 1 问题描述示意图 Fig.1 Illustration of the problem formulation 翅膀 控制电路板 尾部 LED 灯 电池 电机 图 2 X 翼扑翼飞行器 Fig.2 FWAV with the X-wing LED 输出口 电机输出口 电源接口 主芯片 蓝牙模块 图 3 飞行控制电路板 Fig.3 Flight control circuit board 付 强等: 基于外部单目视觉的仿生扑翼飞行器室内定高控制 · 251 ·
252 工程科学学报,第42卷,第2期 ·PX,Y,Z) 表1视觉检测各部分耗时表 Table 1 Time cost of visual detection 环节 耗时/ms 图像采集 4.16 高斯滤波 1.94 HSV变换 1.95 p 图像分制 1.73 ,中心横线 取最大轮廓 0.03 计算质心 0.02 成像平面 动状态预测当前时刻运动状态,并结合当前时刻 的观测值得出最优估计值,消除噪声 扑翼飞行器在单个采样周期内近似做匀速运 图4单目相机成像原理图 动,假设其运动状态向量为X(①= x(t) (t) ,x()为时 Fig.4 Imaging principle of the monocular camera 刻扑翼飞行器标记点在图像上的纵坐标,()为时 用范围更广.视觉检测流程如图5所示,单目相机 刻标记点纵坐标的移动速度,运动方程的矩阵表 采集到的图像经过高斯滤波去除噪声,之后转换 示如下: 为HSV色彩空间图,设置颜色阈值进行二值化, 分割出蓝色区域.为了排除其他反光物体造成的 ]=[0-w] (1) 干扰,对分割图进行轮廓检测,并计算每块轮廓的 式中,△1为采样时间,则卡尔曼系统状态方程和观 面积,采用面积最大的轮廓作为蓝色LED灯的轮 测方程如下: 廓,计算该轮廓质心坐标作为LED灯在图像上的 X(t)=AX(t-1)+W(t) (2) 坐标 z(t)=HX(t)+v(t) 图像预处理 式中,A= 1△t 01 为状态转移矩阵,W①为系统噪 图像采集 高斯滤波 HSV变换 声,设定为高斯白噪声.)为标记点在图像上的 纵坐标观测值,H=[1,0为观测矩阵,v()为观测噪 计算质心 取最大轮廓 图像分制 声,设定为高斯白噪声。利用系统的过程模型,可 图5视觉检测流程图 以根据1-时刻的状态预测时刻的状态和协方差: Fig.5 Flowchart of visual detection X(t-1)=AX(t-1t-1) (3) 本文对视觉检测各环节的耗时进行了测试, P(lt-1)=AP(t-1lt-1)AT+0 测试环境为:120Hz高速摄像头,图像分辨率为 式中,X(t-1)是根据t-1时刻最优值Xt-1t-1)得 640像素×480像素,电脑CPU型号为i5-4210U,主 出的时刻预测值,Pt-1)和P(t-1t-1)分别对应 频1.7GHz,4G内存,Windows10操作系统.运行 X(t-1)和X(t-1t-1)的协方差.Q为系统过程的协 耗时如表1所示,平均每帧耗时12ms.考虑到卡 方差矩阵 尔曼滤波、单神经元PID控制系统、地面站界面 结合当前时刻的预测值和观测值,可以得到 更新、串口发送数据等环节都会消耗时间,本文将 当前时刻的最优估计值X()和协方差P(r): 图像采样周期设置为33ms,既能满足控制需求, X(t)=X(t-1)+K(t)(at)-HX(t-1) (4) 又能避免图像检测部分耗时过多而导致地面站运 P(tlt)=(I-K(t)H)P(tlt-1) 行卡顿的现象 式中,I为单位矩阵,K()为卡尔曼增益(Kalman 3.3卡尔曼滤波 gain): 由于环境因素(如光线)的干扰以及扑翼飞行 K(t)=P(tt-1)HT/(HP(t-1)H+R) (5) 器姿态的变化,标记点的检测结果具有一定的噪 式中,R为观测噪声的方差 声.卡尔曼滤波可以根据运动目标上一时刻的运 此外,利用单目相机检测运动物体可能会出
用范围更广. 视觉检测流程如图 5 所示,单目相机 采集到的图像经过高斯滤波去除噪声,之后转换 为 HSV 色彩空间图,设置颜色阈值进行二值化, 分割出蓝色区域. 为了排除其他反光物体造成的 干扰,对分割图进行轮廓检测,并计算每块轮廓的 面积,采用面积最大的轮廓作为蓝色 LED 灯的轮 廓,计算该轮廓质心坐标作为 LED 灯在图像上的 坐标. 本文对视觉检测各环节的耗时进行了测试, 测试环境为: 120 Hz 高速摄像头,图像分辨率为 640 像素×480 像素,电脑 CPU 型号为 i5-4210U,主 频 1.7 GHz,4 G 内存,Windows 10 操作系统. 运行 耗时如表 1 所示,平均每帧耗时 12 ms. 考虑到卡 尔曼滤波、单神经元 PID 控制系统、地面站界面 更新、串口发送数据等环节都会消耗时间,本文将 图像采样周期设置为 33 ms,既能满足控制需求, 又能避免图像检测部分耗时过多而导致地面站运 行卡顿的现象. 3.3 卡尔曼滤波 由于环境因素(如光线)的干扰以及扑翼飞行 器姿态的变化,标记点的检测结果具有一定的噪 声. 卡尔曼滤波可以根据运动目标上一时刻的运 动状态预测当前时刻运动状态,并结合当前时刻 的观测值得出最优估计值,消除噪声. X(t) = [ x(t) x˙(t) ] x(t) t x˙(t) t 扑翼飞行器在单个采样周期内近似做匀速运 动,假设其运动状态向量为 , 为 时 刻扑翼飞行器标记点在图像上的纵坐标, 为 时 刻标记点纵坐标的移动速度,运动方程的矩阵表 示如下: [ x(t) x˙(t) ] = [ 1 ∆t 0 1 ] [ x(t−1) x˙(t−1) ] (1) 式中, ∆t 为采样时间,则卡尔曼系统状态方程和观 测方程如下: { X(t) = AX(t−1)+W(t) z(t) = HX(t)+v(t) (2) A = [ 1 ∆t 0 1 ] W(t) z(t) H = [1,0] v (t) t−1 t 式中, 为状态转移矩阵, 为系统噪 声,设定为高斯白噪声. 为标记点在图像上的 纵坐标观测值, 为观测矩阵, 为观测噪 声,设定为高斯白噪声. 利用系统的过程模型,可 以根据 时刻的状态预测 时刻的状态和协方差: { X(t|t−1) = AX(t−1|t−1) P(t|t−1) = AP(t−1|t−1)A T +Q (3) X(t|t−1) t−1 X(t−1|t−1) t P(t|t−1) P(t−1|t−1) X(t|t−1) X(t−1|t−1) Q 式中, 是根据 时刻最优值 得 出的 时刻预测值, 和 分别对应 和 的协方差. 为系统过程的协 方差矩阵. X(t|t) P(t|t) 结合当前时刻的预测值和观测值,可以得到 当前时刻的最优估计值 和协方差 : { X(t|t) = X(t|t−1)+ K(t)(z(t)− HX(t|t−1)) P(t|t) = (I− K(t)H)P(t|t−1) (4) 式中 , I 为单位矩阵 , K(t) 为卡尔曼增益( Kalman gain): K(t) = P(t|t−1)H T / ( HP(t|t−1)H T + R ) (5) 式中, R 为观测噪声的方差. 此外,利用单目相机检测运动物体可能会出 表 1 视觉检测各部分耗时表 Table 1 Time cost of visual detection 环节 耗时/ms 图像采集 4.16 高斯滤波 1.94 HSV变换 1.95 图像分割 1.73 取最大轮廓 0.03 计算质心 0.02 Yw Zw Xw Zc Yc Xc P(Xc , Yc , Zc ) O p 中心横线 u v 成像平面 O0 O 图 4 单目相机成像原理图 Fig.4 Imaging principle of the monocular camera 取最大轮廓 图像分割 图像采集 计算质心 高斯滤波 HSV 变换 图像预处理 图 5 视觉检测流程图 Fig.5 Flowchart of visual detection · 252 · 工程科学学报,第 42 卷,第 2 期
付强等:基于外部单目视觉的仿生扑翼飞行器室内定高控制 253 现标记点被短暂遮挡、检测目标丢失的现象.利 3.4闭环控制系统 用卡尔曼预估可以得到当前运动状态的估计值, 图7、图8是定高控制系统的示意图与结构框 用于控制系统的反馈,直到运动物体再次被检测 图:外部单目相机拍摄扑翼飞行器的飞行图像,通 出,增加系统的鲁棒性.如图6所示,根据当前时 过地面站图像检测算法检测出标记点在图像上的 刻的观测结果判断标记点是否被遮挡,如果没被 坐标,经过卡尔曼滤波反馈给单神经元PD控制 遮挡,则将观测值带入卡尔曼滤波器中,得出最优 器,计算出电机转速并通过蓝牙发送给扑翼飞行 估计值反馈给单神经元PID控制器:如果标记点 器的飞行控制电路板,从而实现定高控制 被遮挡,则通过卡尔曼预测即公式(3)得出预测 电脑 值,作为当前时刻的最优估计值,反馈给控制器 轴承 当前时刻 观测结果 单目相机 是否被遮挡 扑翼飞行器 底座 否 是- 图7定高控制系统示意图 卡尔曼滤波 卡尔曼预测 Fig.7 Illustration of the fixed-height control system 由于常规PID控制器的参数无法在控制过程中 反馈给PID 实时调整,适应能力较弱,因此本文采用单神经元 控制器 PD控制器.单神经元又被称为感知器,是神经网络 图6观测结果处理流程图 的重要组成单元,单神经元对不同的输入施加不同 Fig.6 Flowchart of observation result processing 的权重并求和,并通过激励函数得出结果,通过学习 x (k)w(k) v(k) e(k) 状态 xk)w) ( 扑翼飞 变换 x(k)w(k) 行器 v() 学习算法 滤波算法 视觉检测 图8控制系统结构框图 Fig.8 Structure diagram of the control system 算法修改权重值来实现其自学习功能7,因此对环 单神经元的输出为: 境的变化具有一定的适应能力,有较强的鲁棒性 3 假设图像中心横线的纵坐标为(,k表示当 因=K.∑x/ (8) 前是第k个控制周期,扑翼飞行器的实际高度为 式中,K为单神经元的输出增益系数,w:(为第个 y),单目相机检测到扑翼飞行器头部标记点在图 输入量的权重,对应于公式(6)PID控制器中比例 像上的纵坐标经过滤波算法得到vz(k),则误差 系数Kp、积分系数K、微分系数KD e()=e()-v2(k:由于位置式PID表达式: 单神经元采用有监督Hebb学习规则,实现单 u(k)=Kpe(k)+KI>e(i)+Kp(e(k)-e(k-1) (6) 神经元输入权重的自调节.Hebb学习是一类相关 学习,其基本思想是如果两个细胞在同一时刻被 则单神经元的输入x、2、3分别为: 激发,则两者之间的联系会增强,反之减弱;将期 (k)=e(K) 望与输出引入Hebb学习规则中,构成有监督 内=20 Hebb学习规则,得到PID参数自适应的单神经元 (7) 的学习规则: x3(k)=e(k)-e(k-1) w()=wk-1)+e(k)u(k)x(,i=1,2,3(9)
现标记点被短暂遮挡、检测目标丢失的现象. 利 用卡尔曼预估可以得到当前运动状态的估计值, 用于控制系统的反馈,直到运动物体再次被检测 出,增加系统的鲁棒性. 如图 6 所示,根据当前时 刻的观测结果判断标记点是否被遮挡,如果没被 遮挡,则将观测值带入卡尔曼滤波器中,得出最优 估计值反馈给单神经元 PID 控制器;如果标记点 被遮挡,则通过卡尔曼预测即公式(3)得出预测 值,作为当前时刻的最优估计值,反馈给控制器. 3.4 闭环控制系统 图 7、图 8 是定高控制系统的示意图与结构框 图:外部单目相机拍摄扑翼飞行器的飞行图像,通 过地面站图像检测算法检测出标记点在图像上的 坐标,经过卡尔曼滤波反馈给单神经元 PID 控制 器,计算出电机转速并通过蓝牙发送给扑翼飞行 器的飞行控制电路板,从而实现定高控制. 由于常规 PID 控制器的参数无法在控制过程中 实时调整,适应能力较弱,因此本文采用单神经元 PID 控制器. 单神经元又被称为感知器,是神经网络 的重要组成单元,单神经元对不同的输入施加不同 的权重并求和,并通过激励函数得出结果,通过学习 算法修改权重值来实现其自学习功能[17] ,因此对环 境的变化具有一定的适应能力,有较强的鲁棒性. vc(k) k k y(k) vz(k) e(k) = vc(k)−vz(k) 假设图像中心横线的纵坐标为 , 表示当 前是第 个控制周期,扑翼飞行器的实际高度为 ,单目相机检测到扑翼飞行器头部标记点在图 像上的纵坐标经过滤波算法得到 ,则误差 ;由于位置式 PID 表达式: u(k) = KPe(k)+KI ∑ k i=1 e(i)+KD(e(k)−e(k−1)) (6) 则单神经元的输入x1、x2、x3 分别为: x1(k) = e(k) x2(k) = ∑ k i=1 e(i) x3(k) = e(k)−e(k−1) (7) 单神经元的输出为: u(k) = Ku ∑ 3 i=1 wi(k)xi(k)/ ∑ 3 i=1 wi(k) (8) Ku wi(k) i KP KI KD 式中, 为单神经元的输出增益系数, 为第 个 输入量的权重,对应于公式(6)PID 控制器中比例 系数 、积分系数 、微分系数 . 单神经元采用有监督 Hebb 学习规则,实现单 神经元输入权重的自调节. Hebb 学习是一类相关 学习,其基本思想是如果两个细胞在同一时刻被 激发,则两者之间的联系会增强,反之减弱;将期 望与输出引 入 Hebb 学习规则中 ,构成有监 督 Hebb 学习规则,得到 PID 参数自适应的单神经元 的学习规则: wi(k) = wi(k−1)+ηie(k)u(k)xi(k), i = 1,2,3 (9) 当前时刻 观测结果 是否被遮挡 卡尔曼滤波 卡尔曼预测 反馈给 PID 控制器 否 是 图 6 观测结果处理流程图 Fig.6 Flowchart of observation result processing 扑翼飞行器 轴承 底座 电脑 单目相机 三脚架 图 7 定高控制系统示意图 Fig.7 Illustration of the fixed-height control system 状态 变换 学习算法 扑翼飞 行器 滤波算法 视觉检测 vc (k) e(k) Ku u(k) ∑ y(k) x1 (k) x2 (k) x3 (k) w1 (k) w2 (k) w3 (k) vz (k) − 图 8 控制系统结构框图 Fig.8 Structure diagram of the control system 付 强等: 基于外部单目视觉的仿生扑翼飞行器室内定高控制 · 253 ·