光流传感器的测试与设置

四、光流传感器的测试与设置

传感器安装和激活后,还需要进一步调试和测试,使传感器满足可用性和可靠性需求。

1.测试

连接飞控与计算机,并将飞控连上Mission Planner地面站,进入“飞行数据”页面,在页面的左下区域选择状态条,查看光流传感器相关数据,如果光流传感器正常工作,“opt_m_x”“opt_m_y”和“opt_qua”为非零值。“opt_x”和“opt_y”代表的是经过陀螺仪补偿的X轴和Y轴的移动量,这两个值越小,飞行越稳定,效果越好;如果这两个数据过大,就不能定点,甚至切换不到光流模式。“opt_qua”代表光流的像素质量,0代表最差,255代表最高质量(图6-12)。

图6-12 光流传感器状态数据

2.校准

在校准前,首先要将无人机桨叶卸下来,确保安全;然后连接好飞控与地面站,并在全参数列表里将“LOG-DISARMED”参数设为1,启用日志记录功能。

开始校准时,要找一个光照充足、地面纹理清晰的地方;然后,给无人机上电,并将无人机举至和眼睛齐平的高度,且和身体保持一定距离,并使无人机处于水平状态。

校准的主要步骤是让飞机进行滚转和俯仰运动。具体步骤是先让无人机在1 s内绕机体坐标系纵轴从-15°滚转至15°,然后以同样的角速度滚转回去。重复这些步骤5~10次。在做滚转操作时,可以只用一只眼睛观察无人机,确保无人机的重心位置不变。滚转做完后,再以同样的步骤让无人机绕机体坐标系横轴进行俯仰。

无人机运动后,需要查看并分析日志。日志查看的步骤是单击“Mavlink下载闪存日志”,下载最新的日志(图6-13),然后单击“回顾日志”按钮,在QUADROTOR文件夹下选择刚刚下载的日志文件,单击“打开”按钮即可进入日志浏览器页面。

在飞行日志页面,绘制OF.flowX、OF.bodyX和IMU.GyrX的曲线图。正常的图形如图6-14所示。

图6-13 日志下载页面

图6-14 光流沿x方向的数据

如果图6-14中,OF.flowX和OF.bodyX对应的两条曲线没有重合,则可以通过调整FLOW_FXSCALER参数使曲线重合;如果OF.bodyX和IMU.GyrX不相关,甚至符号相反,那么可能是FLOW_ORIENT_YAW参数没有正确设置,或者是镜头没有朝下安装。

同理,可以绘制OF.flowY、OF.bodyY和IMU.GyrY的曲线。正常的图形如图6-15所示。

图6-15 光流沿y方向的数据

同样,如果OF.flowY和OF.bodyY对应的两条曲线没有重合,则可以通过调整FLOW_FYSCALER参数使曲线重合;如果OF.bodyY和IMU.GyrY不相关,甚至符号相反,那么可能是FLOW_ORIENT_YAW参数没有正确设置,或镜头没有朝下安装。

3.预解锁检查

为了使无人机在没有GPS信号的情况下,能够在Loiter模式下解锁和起飞,应在地面站的标准参数页面中,将“ALL”和“GPS”取消勾选(图6-16)。

图6-16 标准参数页面

4.试飞

起飞前,设置的飞行模式有Loiter模式和Stabilize模式,而且试飞的地方最好要开阔,并远离人群。

(1)需要在地面站的全参数列表里将EK2_GPS_TYPE设为3,表示飞控组合导航算法不使用GPS,而是用光流的数据。

(2)在地面站地图上,单击鼠标右键,找到“在此设置返航点”,并选择“Set EKF Origin Here”。

开始飞行时,要切换至Loiter模式,并起飞至1 m高。如果飞机开始加速远离,或者前后左右晃动,则立即切换至Stabilize模式并降落,降落后需要分析日志数据找出原因。如果飞机能够定点飞行,则表示光流定位有效。

【任务实施】

使用光流定位的飞机失控的可能环境因素是光流测速无效、参数设置不正确、测高传感器数据无效或超出测量范围等。

针对上述可能原因,特制定如下排故步骤:

(1)确保四旋翼无人机进行了很好的校准,并在遥控器上设置了定高、姿态和留待模式切换开关,同时,无人机要能在定高和姿态模式下稳定飞行。

(2)确保室内地面有纹理。

(3)用UBEC给光流传感器和测高传感器单独供电。

(4)检查测高传感器安装是否正确,并且查看其输出数据是否连续有效。

(5)正确安装光流传感器,并进行了有效校准和测试。

(6)打开Mission Planner地面站,进入全部参数表页面,进行参数设置,使得AHRS_EKF_TYPE=3、EK2_ENABLE=0、EK3_ENABLE=1、GPS_TYPE=0,设置完成后单击“写入参数”按钮,并重新启动飞控。

(7)重新连接地面站,在地面站飞行数据页面的地图框里,单击鼠标右键,在弹出的快捷菜单中选择“设置家在此”,并选中“Set EKF Origin Here”,此时,地图上会出现飞机图标,如果没有出现,说明EKF还没有完成初始化,需要等待一段时间;然后在留待模式下尝试解锁起飞(图6-17)。

图6-17 起始点设置

(8)手持无人机,并保持无人机处于水平状态,且光流传感器相机镜头无遮挡;在室内走正方形或者走八字,这时在地面站上将看到飞机图标跟着运动;另外,要确保此时高度传感器测量数据准确无误。

(9)可以让无人机在定高模式下起飞,至一定高度后(光流传感器对好焦的高度,且不能超过高度传感器的测量范围),再切换到Loiter模式;一旦确认正常工作,就可以在Loiter模式下起飞。

【拓展阅读】

光流法的优缺点

光流法的优点是在比较理想的情况下,不需要预先知道场景的任何信息,就可以准确地检测识别运动目标,获得物体的运动信息和有关景物三维结构的丰富信息,且在相机处于运动的情况下仍然适用。

光流法是基于两个基本假设,但这两个基本假设在现实情况下均不容易满足。

第一个假设是亮度恒定不变,但在实际场景中,光流场并不一定反映目标的实际运动情况。如图6-18所示,物体表面均一,光源不动,物体绕立轴自转,不会产生光流;而如果物体不动,但是光源与物体发生相对运动,就有光流产生。因此可以说光流法对光线敏感,光线变化极易影响识别效果。

第二个假设是小运动。在现实情况下,动作剧烈的运动是普遍存在的,因此,当需要检测的目标运动速度过快时,传统光流法也不适用。

综上,光流法的缺点如下:

(1)计算量大,耗时长,在对实时性要求苛刻的情况下并不适用,除非有特殊的硬件支持,否则很难实现实时检测;

(2)光流法抗噪性不够好,由于变化的光线会被错误地识别为光流,因此该方法对光线敏感,从而会影响到识别效果;

(3)在缺乏足够的灰度等级变化的区域,实际运动也往往观测不到。三维物体的运动投影到二维图像的亮度变化,本身由于部分信息的丢失而使光流法存在孔径问题和遮挡问题,用光流法估算二维运动场是不确定的,需要附加假设模型来模拟二维运动场的结构;在准确分割时,光流法还需要利用颜色、灰度、边缘等空域特征来提高分割精度。

图6-18 物体与光源

【巩固提高】

1.什么是光流?

2.光流传感器能用来做什么?

3.简述光流定位的基本原理。

4.结合Pixhawk飞控和PX4 Flow光流传感器,简述光流传感器的使用方法。