付强等:基于外部单目视觉的仿生扑翼飞行器室内定高控制 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 ·