APP下载

一种多旋翼无人机及相机位姿控制平台设计

2018-08-21韩青岩刘胜兰赵雪冬

机械制造与自动化 2018年4期
关键词:航点云台位姿

韩青岩,刘胜兰,赵雪冬

(南京航空航天大学 机电学院,江苏 南京 210016)

0 引言

近年来,小型多旋翼无人机以其成本低、操作简单、机动性强等特点,在城市测绘、航空拍摄、灾害应急处理等领域得到了广泛的应用,其中航空拍摄是无人机应用最多的一个领域[1]。航拍时手动遥控调整无人机和相机位姿不仅效率低而且准确度低,因此对自动控制无人机和相机位姿进行航拍的研究很有意义。

国内外学者也对此项技术进行了研究并有部分应用。国内华南理工大学的余宝意等人[2]根据机载芯片反馈数据利用PC机键盘手动调整云台相机角度到目标区域,这种方法包含人为操作,相机角度定位准确度低。西北工业大学的张治生等人[3]开发了一款地面站平台控制台软件,具备数据接收、显示、存储、回放等功能,但只是作为飞行过程中无人机位姿等参数的接收端,缺少给无人机发送数据的能力。武警工程学院的李南等人[4]在Windows环境下用VC++6.0读取串行口输入的GPS定位数据,并对数据进行处理和显示,并开发了盘旋、自动回家等功能模块。浙江大学的肖征宇等人[5]应用串口通信编程、组件式GIS开发和ADO数据库访问等技术手段构建了一套无人机地面站平台软件,但不具备相机控制功能。国外,J. C. del Arco等人[6]开发了一种基于GUI和QGroundControl软件的地面站平台系统。综合国内外研究现状,发现在航迹规划、实时显示和数据回放等方面已经有了较多的研究,但在航拍过程中无人机和相机位姿控制方面的研究较为缺乏。

为准确控制无人机和相机在指定的位置以指定的姿态拍摄场景或目标,并实现对航拍过程进行监控,本文设计了一款面向航拍的地面控制平台系统。地面控制系统是由位姿控制软件和地面站平台组成。根据规划生成的航点文件对无人机和相机的位姿提供远程引导控制。该系统利用C++编写,平台和无人机间的通讯使用MAVLink通信协议,数据的传输方式采用无连接的传输层UDP数据报协议。平台可发送单个位姿或包含多个位姿信息的航点文本,并且具备任务显示、无人机和相机的位姿显示、位姿完成状态显示等功能。平台操作简单,控制效果和鲁棒性较强。

1 系统硬件基础

该系统硬件组成如图1所示,包括地面控制系统、通讯数传、无人机机身、飞行控制器、云台和相机、遥控器。其中,无人机携带云台及相机共同组成执行机构在飞行控制器的控制下完成指定的位置和姿态,拍摄目标图像;地面控制系统包含位姿控制平台和地面站平台,两个平台间采用UDP的方式双向传输航点数据,然后地面控制系统将航点数据以MAVlink消息帧的方式通过无线数传发送给飞行控制器;最后飞行控制器引导无人机飞行和相机角度的变化。无人机位置信息的确定是由GPS系统提供,相机姿态的获取通过相机云台上的陀螺仪得到。

图1 航拍系统硬件

2 控制方法设计

对相机拍摄图像时位姿的控制,本质是控制相机在空中的6个自由度。由于相机是固定悬挂在无人机的正下方,无人机的位置和航向角就是相机的位置和航向角,因此控制无人机的位置(包括经度、纬度、高度)、航向角和相机本身的俯仰角、横滚角,即可实现对相机的6个自由度的控制。

航拍中相机位姿的控制,要求拍摄图像时相机具有较高的位置和姿态精度,同时避免由于信号干扰导致的航点信息丢失而造成的漏拍。另外,因为系统信号传输的延时对最终拍摄图像时的相机位姿精度没有影响,所以系统控制的实时性暂不考虑。

2.1 相机六自由度控制实现

规划的航点文件中每条指令都包含相机的6个自由度参数,对于航点文件中的每条指令,采用3个MAVLink消息帧来实现。消息帧以 MAV_CMD指令的形式发送,这些指令可以立即被执行。如表 1所示,设计的3个消息帧的模式编号为16、115、183,可分别控制无人机位置、无人机航向角、相机俯仰角和横滚角。其中16代表航点模式,在其余的7个参数中可设置经过航路点时的悬停时间、触发半径和经纬高用于控制无人机位置;115表示航向模式,可设置航向角度、转向角速率、转向方式(顺/逆时针)、角度方式(相对/绝对角度),用于控制无人机的航向;183代表舵机控制模式,可控制云台俯仰、横滚。

表1 消息类型及含义

2.2 自动航拍控制实现

为了能够根据航点文件中的所有位姿自动控制相机完成航拍,并减小飞行过程中的位置偏离,设计控制系统原理如图 2所示。路径规划程序所生成的航点文件是由包含n个航路点wp信息的指令构成,位姿控制平台在执行航点文件时会在连接第i个航点wpi和第i+1个航点wpi+1的路径段Si上插入N个航点,路径段Si上插入的航点能够使无人机位置和相机姿态平稳地从wpi过渡到wpi+1,并减小飞行轨迹与规划路线的偏离。当无人机和相机到达航点wpi+1时,控制指令将触发相机拍摄,拍摄完成后继续执行下一个位姿动作。为防止由于信号干扰造成的航点指令丢失,每条指令都将会以50Hz的频率不断地被发送,直到该条指令被执行完毕。当执行完所有航点任务后,无人机会自动返航并降落。

图2 位姿控制系统原理程图

3 地面控制系统平台开发

文中相机位姿控制是通过地面控制系统来实现的,该系统是由安装在PC机上的位姿控制平台和地面站平台两部分组成。地面控制系统组成关系如图 3所示,位姿控制平台用于将航点指令发送给地面站平台并实时接收和显示回传的当前位姿、任务执行状态。地面站平台作为联系位姿控制平台和无人机及相机的桥梁,将控制终端位姿控制平台的航点位姿指令转发给无人机飞行控制器。位姿控制平台和地面站平台两者之间采用TCP/IP通讯(UDP),可通过网络外扩多个远程控制终端。

图3 地面控制系统组成关系

3.1 地面站平台

地面站平台如图 4所示,主要分为飞行数据、综合显示以及地图航迹显示3个区域。飞行数据区包含电压电流、飞行模式状态、信号强度、可连接GPS卫星数等系统参数,以及机身姿态、空速、气压、温度等传感器采集的数据。在飞行数据区域单击鼠标左键可以切换到图像视频显示。综合显示和控制区由任务、仪表、操纵、连接、计划和设置6个切换页面组成;任务页面可以按钮方式直接切换飞行模式,或执行位姿控制平台转发的指令;仪表页面用模拟仪表显示空速、航向、高度、地速、飞行器和原点的相对位置、升降速率;操纵页面进行舵机测试及控制模式切换,系统支持软件滑块、标准摇杆、无线遥控器3种操纵模式;联接部分支持6个串口的设置;计划页面可显示已经编制好的或陆续传送的飞行计划;设置页面系统所有设置汇集于此,包含传感器校准、网络联结、内外环PID参数等设置功能。地图和航迹显示区域提供离线地图的显示功能,同时可实时在地图上显示无人机的飞行航迹,便于更加直接的观察。

图4 地面站平台

3.2 位姿控制平台

位姿控制平台的开发基于Windows 7操作系统,使用的集成开发环境为Visual Studio 2010,应用程序框架使用的是VC++/MFC。平台设计分为5个模块:IP设置模块、飞行位姿显示、航点信息模块、航点执行进度和命令操作模块。位姿控制平台的界面是基于MFC的对话框,在此基础上添加编辑控件、按钮控件、进程控件和图片控件进行开发,平台界面如图 5。

图5 位姿控制平台

1) IP和端口设定

工作前首先设定位姿控制平台和地面站平台的IP和端口(Port)。每台计算机都有唯一的IP,每台计算机上的应用程序都有独立的端口,根据IP和端口(Port)就可找到对应的应用进行通讯。地面站平台默认的IP为127.0.0.1,端口为49005,在同一计算机上位姿控制平台IP默认为127.0.0.1,端口为49105[7]。打开地面站平台连接无人机后平台即处于数据读取状态,实时读取无人机机身状态数据进行显示,并发送到端口49105。位姿控制软件打开后点击连接按钮和地面站平台即建立通讯,实时接受地面站平台发送的数据并显示,用于监视无人机和任务执行状态。

2) 位姿显示模块

在连接地面站平台后,位姿控制平台即可接收到无人机数据,其中包含飞行器类型、电池状况、机身经纬高、飞行速度加速度等机身状态数据。为了方便操作者观察无人机当前位姿和姿态的变化情况,将无人机的经纬度、海拔高度和相机的俯仰角度等被控量着重显示,将机身位姿变化情况用曲线实时显示,并对相机的俯仰角度使用仪表盘直观模拟。

3) 航点信息

点击操作模块的加载任务文件按钮载入规划好的航点文件,航点信息区以表格形式顺序列出航点信息。若要修改某单个航点位姿,可通过修改航点信息文件本身或在列表下方编辑框中按格式输入该航点信息。执行任务过程中任务进度条实时更新,供操作者获取当前图像拍摄的进度。同时记录下当前进度,当出现意外情况造成拍摄中断时可从中断处继续执行。

4) 命令操作

命令操作区用于下达命令和选择相机控制模式。操作选项包括加载任务文件、执行任务、结束任务、云台模式调整、机头和云台手动调整功能。加载任务文件:从本地选择规划航点文件;执行任务:平台自动控制无人机执行航点位姿指令;结束任务:结束拍摄并自动返航;位置模式:设置云台动作模式为位置模式,在此模式下只能调整云台在指定位置;速率模式:设置云台动作模式为速率模式,在此模式下只能调整云台在某速率下的角度。

3.3 平台操作流程

平台的操作流程如图 6所示,首先运行地面站平台连接无人机,然后运行位姿控制平台。选择合适的IP和端口建立起位姿控制平台和地面站平台之间的连接,下一步加载位姿信息并发送,程序的主线程中包含一个定时器负责定时检查任务的完成状态,将反馈的当前位姿信息同指定的目标位姿进行比较,如果目标位姿完成则自动发送下一位姿数据报,否则继续重复位姿引导控制。分线程用于实时接收返回的无人机当前纬度、经度、高度、航向和相机俯仰、横滚信息,并以文字的形式实时显示于界面,然后绘制姿态变化曲线,地面站平台会记录和显示飞行航迹。

图6 位姿控制流程

4 实验

为了验证相机位姿控制方法和地面控制系统的可行性,本文对某巨型貔貅铜像进行了航拍实验。图7是规划的包含6个相机位姿信息的航点文件,文件中的航点数据即为位姿控制的输入数据,实验过程根据图6所示的流程进行。

图7 航点文件

根据航点文件的位姿控制数据,通过航拍实验最终得到6张航拍图像,如图8所示。

图8 拍摄结果

5 结语

为实现航拍中能够自动控制相机在指定的位姿拍摄图像,设计了相机位姿的方法,并开发地面控制系统实现该方法。通过实验验证了本方法的可行性和地面控制系统的实用性。

猜你喜欢

航点云台位姿
融合二维图像和三维点云的相机位姿估计
无人机随舰飞行时的航路勾径偏移
帮我买云台
船舶清理机器人定位基准位姿测量技术研究
Help me buy a…Tripod head帮我买云台
基于网格的航道模式提取算法研究∗
优化ORB 特征的视觉SLAM
基于STM32的无线FPV云台设计
当液压遇上悬臂云台 捷信GHFG1液压悬臂云台试用
基于几何特征的快速位姿识别算法研究