一种基于机器视觉的室内无人机定位系统设计
2021-07-16伍颖昌李星莹李登云周鑫吴昊栋
伍颖昌 李星莹 李登云 周鑫 吴昊栋
(河南科技大学机电工程学院,河南洛阳 471003)
1 概述
无人机简称无人驾驶飞机,是利用无线遥控设备或自主程序控制操作的飞行器。近年来,以大疆为代表的无人机厂商推出了多款民用产品,横跨摄影、植保和测绘等多个领域,由于其具有的灵活度高、低成本、高机动性、拓展性强的特点,备受工业界和学术界的青睐。
无人机实现各种复杂任务的前提是自身的精确定位,在室内没有GPS 信号的情况下可以用视觉、UWB、激光雷达等定位技术实现定位。其中视觉定位是最早应用到无人机上的,其定位精度高、除光线外不易受环境干扰,成本较低但算法复杂。本系统利用机器视觉技术实现无人机在室内的精确定位和自主飞行。
2 系统总体设计
本系统采用Pixhawk 作为四旋翼的主控,Pixhawk 飞控板上集成了陀螺仪传感器、气压传感器、电子罗盘等传感器,飞控软件使用PX4 固件。机载计算机使用的是树莓派4B,连接一个前视双目摄像头以及一个下视单目摄像头,树莓派运行ROS 机器人操作系统,通过mavros 使用MAVLink 协议与飞控通讯。下视单目摄像头使用光流法获取自身在二维平面的位置信息,再通过VL53L1X TOF 测距传感器获取高度信息最终实现在三维空间上的定位。而前视双目摄像头能获取前方障碍物的距离信息,实现避障飞行。
图1 系统结构图
2.1 PX4
PX4 是一款开源的无人机固件,该固件支持包括Pixhawk在内的无人机飞控并且支持不同类型的多旋翼、固定翼无人机。PX4 基于嵌入式实时操作系统Nuttx,本系统采用的是多旋翼版本固件,该版本固件需要先在QGC 地面站中设置好机架类型,首次飞行前需要校准各个传感器的数据。
2.2 MAVLink
MAVLink 是一种专门为无人机设计的通信协议,可以实现多机多控制端的可靠通信。通过使用MAVLink 协议,无人机和地面站、机载电脑之间可以实现稳定的通信。系统使用QGC 地面站软件通过TCP 协议将数据以MAVLink 协议的方式进行传输,从而摆脱数据线实现了地面站与飞控之间的通信。
2.3 ROS 机器人操作系统
ROS 机器人操作系统是开发机器人程序的一个灵活的框架,旨在创建一个在多数机器人平台上进行复杂的机器人行为的任务的工具、库的集合。本系统中的机载计算机通过mavros使用MAVLink 协议与飞控系统通讯,飞控向机载计算机传输姿态、速度、飞行模式等信息,而机载计算机向飞控提供离地高度、水平位移以及漂移速度等信息。机载计算机还有一个重要的作用就是给飞控发送指令,实现如切换飞行模式、以恒定的速度朝某个方向移动一段距离等功能。
3 单目视觉
3.1 光流法
基于不同的理论基础与数学方法,人们将光流计算技术分为梯度法、块匹配法、基于能量的方法和基于相位的方法,其中梯度法和块匹配法使用较为普遍。目前,光流法被广泛地应用于机器人导航、目标跟踪、运动估计等重要的计算机视觉与图像处理领域,也被广泛地用在相关的天文、医学等领域。
如图2 所示,使用光流法可以获得无人机在水平方向上的速度,为无人机的飞行控制提供负反馈,从而使室内无GPS 信号环境下无人机定点飞行成为可能。此外,本系统搭载的激光测距模块能获取飞机离地的高度信息,再与通过光流法获取的二维平面速度、位移信息结合就能确定无人机在三维空间中的运动状态,实现无人机在三维空间上的定点悬停。
3.2 ArUco
在目标检测领域常通过获取图像的关键点来描述物体的特征,但一般的目标追踪方法难以满足高精度的定位需要,尤其在快速、复杂、多目标运动的情况下更难实现精准定位和追踪。ArUco 是一种用于机器人定位和增强现实等领域的标记系统,这类标记具有较高的鲁棒性,将其标记在地面或物体的表面,可以实现快速精确定位。
图2 光流法获取速度和位移
在大空间定位中,可以采用二维码阵列的方案。二维码阵列系统应用的前提是已知各地标在阵列中精确的位置和姿态。在本系统中,按照一定间距和一定规律部署好ArUco 标识,无人机便可通过标识获取自身的位置。
4 双目视觉
4.1 双目视觉原理
在机器视觉系统中,双目视觉一般由双摄像机从不同角度同时获取周围景物的两幅数字图像,或由单摄像机在不同时刻从不同角度获取周围景物的两幅数字图像,并基于视差原理即可恢复出物体三维几何信息,重建周围景物的三维形状与位置[2]。视差的原理可以参考图3,同样一个物体在左右两个镜头中存在于不同的位置,这就是视差。通过计算被测目标在左右两侧图像中的像素视差值,再通过标定参数即可计算出该点的三维坐标。双目视觉测距的精度和摄像头的分辨率、标定情况以及成相质量有关,分辨率越高精度越高。
图3 双目相机不同视角
4.2 双目标定
双目相机标定主要是为了获得摄像头的内参、畸变参数和外参,这些参数就是确定相机将三维世界转为二维图像的最主要因素,而双目相机还要确认两个摄像头之间的位置关系,这是双目用于计算物体位置的前提。
双目标定使用matlab 的标定工具箱和棋盘图进行。为了标定结果的准确,棋盘图粘贴的表面要平整不能有凹陷、突起和扭曲。此外,在采集棋盘图时要注意,尽量让棋盘占据尽可能多的画面,尽可能地尝试更多的角度以及采集尽可能多的图片,这样能得到更多有关摄像头畸变方面的信息,提高双目测距的精度。
图4 用棋盘图双目标定
4.3 双目视觉避障
目前,无人机的避障技术中最为常见的有超声波避障、激光避障以及视觉避障。不管是超声波测距传感器还是激光测距传感器,都只是一维传感器,只能获得特定方向上的距离数据,并不能完成对现实三维世界的感知[3]。而双目视觉可以在低功耗、小体积的前提下,获得眼前场景的深度图,结合深度图就能进行障碍物识别的躲避。从视差图分离出障碍物的方法是通过分离视差图上相近视差区域,并判断该区域中像素值决定是否为障碍物。视差越大表明距离越近,灰度值越高的区域亮度越高,说明障碍物与摄像头的距离越近。当发现前方有障碍物时,避障的具体操作步骤如下:(1)判断障碍物能否越过;(2)如果无法越过,判断障碍物的形状、尺寸;(3)根据障碍物的形状、尺寸改变航向,移动一段距离;(4)恢复原航向,绕过障碍物后回到原航线。
结束语
随着计算机算力的不断提高以及体积的不断缩小,机器视觉技术的精度将逐步提高,使用的领域将逐渐扩大。本文介绍了一种基于机器视觉技术的无人机室内定位系统的设计,搭建普通四旋翼无人机平台,实现无人机在室内无GPS 信号环境下的自主飞行。此系统在一般四旋翼无人机系统上使用一个机载计算机取代传统的接收机,用计算机代替人工,由机载计算机向飞控系统发送指令实现自主飞行,为今后无人机在室内环境的应用提供了参考依据。