孙泽华(山东科技大学,山东青岛,266590)
无人机机载视觉测速系统设计
孙泽华
(山东科技大学,山东青岛,266590)
摘要:具有鲁棒性和高更新速率的速度和位置估计对可无人机的航行至关重要。本论文给出了一种具有高感光度的视觉传感器设计,使用ARM核M4单片机STM32以250Hz的实时更新速率来估计无人机的运动状态,使用板载惯性传感器进行角速率补偿,使用超声波传感器测量距离。在硬件设计基础上,提出了一种基于预测的图像块匹配算法,实现速度的精准测量。
关键词:STM32单片机;无人机;块匹配算法;惯性传感器
移动式机器人航行的成功依赖于高鲁棒性的位置和速度信息,足够高的更新速率和足够小的延迟是维持飞行轨迹所必须的。近年来,基于计算机鼠标传感器的光流传感器已成功用于此目的。然而,鼠标传感器的准确测量需要在强有力的照明下。车载CMOS图像传感器有更好的光敏感度,可以无人工照明的在室内环境和不良的户外条件下工作,但是基于CMOS的轻量传感器不能简单的集成在无人机系统中。因此,论文提出了一个基于ARM 核M4的传感器系统,它使用CMOS机器视觉传感器,对分辨率64x64像素的子样品以每秒250帧执行光流处理;一个超声波传感器用来测量对场景的距离以及实现图像速度场和三维运动场的转换;利用机载陀螺仪正确估计平移速度来补偿角速度。
运动场是三维速度场在成像平面的投影。设P3=[X,Y,Z]T是相机三维参考坐标系上的一点,光轴是这个坐标系的Z轴,f代表焦距,投影中心在原点上,则P点在成像平面的投影像素坐标由式(1.1)给出,
因为焦距f等于成像平面到原点的距离,所以p点的第三个坐标是恒定的p=[x,y,f]T。相机和P点的相对运动由式(1.2)给出,其中,w是角速度,T运动的平移分量。取(1.1)式两边关于时间的导数,得到相机参考坐标系中的P点的速度和成像平面中的p点的速度或者流度之间的关系:
将(1.2)式带入到运动场的x和y分量得到:
运动场成分等于纯粹的平移部分加上纯粹的转动部分。(1.4)式中的平移分量由焦距和Z到场景的当前距离决定。如果需要平移速度,例如,如果转动速率是零或者已知(由陀螺仪测量)并由运动场补偿,就可以用下式计算米制比例下的平移速率:
本文设计的视觉传感器,通过一个M12镜头(21°视野)来捕捉画面,这个镜头覆盖在MT9V034芯片的上方。在752H×480V的全分辨率下,视觉传感器图像输出频率达到60fps。当启用像素合并,帧率可以进一步提高。在像素4倍合并,即188H×120V的分辨率下,图像输出频率达到250Hz。像素4倍合并模式中,MT9V034给出的一个像素值是普通模式下4×4像素的均值[2]。
图2.1显示了视觉传感器的系统配置,MT9V034直接连在STM32F417单片机一个特殊的外围图像总线上,对从CMOS镜头获得的图像进行计算,像素数据流使用并行接口。MT9V034在相应的像素时钟对像素值进行采样,使用具有双缓冲处理功能的直接内存访问(DMA)将图像数据传输到STM32F417内存,只存储当前帧和参考帧。STM32F417提供配置帧的水平和垂直尺寸以及像素颜色深度的全参数相机接口,在处理图像数据时,采用每个像素分配8位分辨率的方法,保证在特殊的32位指令下同时处理四个像素。相机接口使用DMA方式将传入的像素数据存储在STM32F417内存中。
图2 .1 视觉传感器模块框图Fig. 2.1 The format of visual sensor
在视觉测量的过程中,首先由2节设计的视觉传感器得到了前后两帧的图像信息,然后根据块匹配算法的绝对差之和(SAD)匹配准则,进行前后两帧图像的匹配。
3.1搜索中心的预测
针对现有的块匹配搜索算法计算复杂这一不足,采用视觉预测方法来定位算法的初始搜索点,节省大量的搜索时间。为了预测图像在当前帧中的位移dt,需要利用上一刻(t-1)的速度更新Vt-1、视觉传感器的抓帧频率Fcam。因此,前一帧图像中的像素位置X1在当前帧图像Ⅰ2中的预测位置可以表示为:(3.2)
3.2基于梯度先验的选域加权平均处理
第一步,在搜索中心点Xpred周围以3像素点为单位间隔选取8×8个点,对这64个点进行4×4的梯度运算,记录梯度值满足梯度阈值条件的点及个数NSAD。梯度值不满足阈值条件,证明特征点不明显,认为是不可用的点,所以将其剔除,不再进行使用。
第二步,对第二步中满足梯度阈值条件的NSAD个匹配点逐个进行前后两帧图像的8×8的SAD运算,找到各自SAD值最小时的整像素偏移点。
第四步,对NSAD个匹配点全部执行第四步的计算后,得到了NSAD个像素点偏移值。对这NSAD个点做加权均值处理,得到最终的像素点偏移值λL,λL可以看作为视觉导航系统在二维光流场中的位移。
3.3消除旋转分量
将本文设计的视觉导航系统安装在六旋翼无人机平台的底部中央位置,安装时尽量与无人机平台的底面负载板平行,镜头垂直向下放置。通过无人机的悬停和飞行实验,验证提出的导航算法的实际应用性能。在100s的悬停实验中,最终获得的数据显示无人机悬停精度为±40cm,飞行实验结果比较GPS测量位移和视觉系统测量结果,显示视觉测量误差为3%。
本文给出了一种应用于无人机的视觉测速系统方案,包括硬件配置和实现算法,通过实际测试表明,应用该系统的无人机具有一定自主导航能力。
参考文献
[1]Honegger D, Meier L, Tanskanen P, et al. An open source and open hardware embedded metric optical flow CMOS camera for indoor and outdoor applications[C]// Robotics and Automation (ICRA), 2013 IEEE International Conference on. IEEE, 2013:1736-1741.
[2]Aptina Imaging,1/3-Inch Wide-VGA CMOS Digital Image Sensor MT9V034 Datasheet[EB/OL] (2014-6).http:// www.aptina.com.
[3]张瑞.基于稀疏梯度场的非局部图像去噪算法[J]. 自动化学报,2015(9):1542-1546.
[4]方凯.一种基于矢量方法的彩色图像双线性插值算法[J]. 计算机与数字工程,2006(35):100-103.
[5]Pal M, Gupta A P V. An Efficient Block Matching Algorithm Using Logical Image[J]. International Journal of Engineering Research & Applications, 2014, 4(12).
Vision-Based Velocity Measurement System for Unmanned Aerial Vehicle
Sun Zehua
(Shandong University of Science and Technology,Qingdao Shandong,266590)
Abstract:Robust velocity and position estimation at high update rates is crucial for mobile robot navigation.We present an optical flow sensor based on a machine vision CMOS image sensor for indoor and outdoor applications with very high light sensitivity.Optical flow is estimated on an ARM Cortex M4 microcontroller in real-time at 250 Hz update rate. Angular rate compensation with a gyroscope and distance scaling using a ultrasonic sensor are performed onboard.
Keywords:STM32 microprocessor;Unmanned Aerial Vehicle;Block Matching Algorithm;Inertial Sensor
作者简介
孙泽华(1990—),男,山东烟台,硕士研究生。主要研究方向:通信与信息系统。