韩钰寒 李宏达 刘佳乐 崔鹏 段俊博
摘 要:基于ROS的无人机飞行控制研究是目前无人机领域一项十分重要的研究内容。文章在ROS melodic中建立四旋翼无人机的Gazebo模型,其与Px4飞控、QGC地面站之间利用MAVLink建立稳定低耗的无线双向通信,对无人机的飞行与轨迹规划等功能进行研究。结果表明:文章在ROS中所仿真的四旋翼无人机能够实现人为控制飞行与轨迹规划等功能,并且理論数据与实际飞行数据误差小。
关键词:ROS;无人机;Gazebo;QGC;飞行与轨迹规划
中图分类号:TP391.9;V217+.39 文献标识码:A 文章编号:2096-4706(2023)20-0075-06
Research on UAV Simulation Control Based on ROS
HAN Yuhan, LI Hongda, LIU Jiale, CUI Peng, DUAN Junbo
(Harbin Far East Institute of Technology, Harbin 150025, China)
Abstract: Research on UAV flight control based on ROS is a very important research in the field of UAV at present. This paper builds a Gazebo model of quadrotor UAV in ROS melodic, and uses MAVLink to establish stable and low-consumption wireless two-way communication between the remaining Px4 flight control and QGC ground station to research the UAV functions of flight and trajectory planning. The results show that the quadrotor UAV simulated in ROS in this paper can realize the functions of human-controlled flight and trajectory planning, and the error between the theoretical data and the actual flight data is small.
Keywords: ROS; UAV; Gazebo; QGC; flight and trajectory planning
0 引 言
不管在军用还是商用方面,四旋翼无人机的自主飞行一直都是研究热点,实际应用的领域也越来越多,如:农业植保、航空拍摄、安全巡逻、地震救援,等等。通过四旋翼无人机执行危险任务,在保障人身安全的同时,还可以很好地降低成本。基于这些需求,各大研究机构和企业都投入大量精力加强对四旋翼无人机的研究[1,2]。
人工智能的崛起也促进了无人机领域的快速发展。近年来,随着深度图像识别和三维激光雷达的引入,为无人机仿真控制研究带来了前所未有的巨大挑战。具备高精度和自主飞行能力的旋翼无人机成为目前研究的热门方向[3,4]。由于ROS(Robot Operating System)的模块化设计,架构简单精练,集成度高以及便于测试等优点,所以基于ROS的无人机控制系统会逐渐地成为无人机控制算法、无人机导航避障算法、无人机多机协同等众多算法的验证平台。
本文对基于ROS的四旋翼无人机飞行进行仿真研究。首先,在ROS melodic中建立四旋翼无人机的Gazebo三维物理仿真模型;其次,利用MAVLink(Micro Air Vehicle Link)通信协议在Px4飞控与QGC(QGround Control)地面站之间建立无线双向通信;然后,使用基于扩展卡尔曼滤波的MSF多传感器融合框架对无人机进行状态估计;最后,对无人机的飞行与轨迹规划等功能进行仿真研究。
1 四旋翼无人机系统数学模型
1.1 坐标系建立
本文四旋翼飞行器采用“+”型结构,如图1所示。通过控制四个旋翼的转速实现悬停、垂直起降、偏航、俯仰、滚转等飞行姿态。
为了描述飞行器在空间中的位姿,需要分别建立惯性坐标系W(OW XW YW ZW)和飞行坐标系q(oq xq yq zq),惯性坐标系W与飞行坐标系q均满足右手定则。如图1所示。
图1中四旋翼飞行器在空间中姿态的变化可以用欧拉角进行表示。机体坐标系相对于初始状态绕xq、yq、zq轴旋转的角度分别记为滚转角?、俯仰角θ、偏航角ψ[5,6]。绕三轴旋转的关系矩阵公式R为:
2 无人机仿真环境搭建
本文的仿真研究所用的系统为基于Ubuntu18的ROS melodic。
2.1 MAV系统与Gazebo无人机三维建模
2.1.1 MAV系统
在MAV(Micro Air Vehicle)系统中,使用的所有组件均可以使用Gazebo的插件和物理引擎模拟出来。本文的仿真无人机模型由机身框架、旋翼和传感器组成;将实验所用到的传感器(如惯性运动单元)连接到无人机上并且将在无人机传感器中添加噪声来模拟实际飞行情况。MAV系统结构如图2所示。
2.1.2 Gazebo无人机三维建模
Gazebo具有强大的物理引擎、高质量的图形渲染、方便的编程与图形接口等优点。本文在Gazebo中建立的四旋翼无人机三维物理仿真模型如图3所示。
2.2 QGC与PX4
2.2.1 QGC地面控制站
本文使用QGC为PX4动力飞行器提供飞行器参数设置和飞行环境。
2.2.2 PX4飞控
本文在无人机控制方面采用PX4飞控。PX4软件架构主要包括中间层和飞行控制栈。中间层用于提供内部及外部的通信和硬件集成,具有存儲、通信和仿真等功能,可控制仿真环境中的无人机模型,实现对飞控程序正确性的验证;飞行控制栈用于估计和控制无人机系统,是无人器导航、制导与控制的集成,负责各种类型载具的控制与位姿估计,其结构框图如图4所示。
2.3 Ethzasl MSF多传感器融合框架
本文用Ethzasl MSF多传感器融合框架对无人机的位姿进行状态估计。MSF使用基于6D模型信息的EKF(ExtendedKalmanFilter)对传感器数据和IMU(Inertial Measurement Unit)数据进行整个从而获得完成的状态。该框架本质分为预测(基于系统模型和IMU读数进行)和更新两个阶段。框架的核心部分(msg_core)设计用于最通用的更新传感器:相对于其自己的参考系的任意缩放的6DoF姿势测量,相对于(重力对齐)固定导航框的位置和姿态会发生漂移。MSF框架的算法基本流程如图5所示。
从图5中可以看出,MSF框架以main函数开始;其次创建系统模型(微分方程)和测量更新模型;然后读取激光雷达或深度相机等传感器和IMU数据;最后进行滤波器更新,发布消息话题。
图6为本文实验中未用MSF框架对无人机传感器和IMU数据进行融合时的计算图。
从图6中可以看出,gazebo节点将里程计(odometry)信息直接发送给位姿控制节点(lee_position_controller_node),位姿控制节点将速度指令(motor_speed)直接下发给gazebo。
图7为使用MSF框架对无人机传感器和IMU数据进行融合后将状态估计数据下发给gazebo节点的计算图。
从图7中可以看出,Gazebo节点将位姿协方差数据(pose_with_covariance)发送给MSF框架,然后将经过MSF融合得到的状态估计数据(odometry)发送给位姿控制节点,位姿控制节点再将速度指令直接下发给Gazebo。
3 Gazebo、PX4与QGC通信
Gazebo、QGC与PX4之间通过MAVLink协议进行通信。
3.1 MAVLink协议
MAVLink协议支持通过无线通道进行双向通信,可实现无人机与无人机地面控制站QGC间的无线双向通信,以此实现QGC对无人机的控制以及无人机数据回传。通过MAVLink协议发送的数据帧为帧头为FE、帧尾为16位CRC校验码的数据帧,每一帧带有发送包序从0到255重复计数用于监测传输过程中的丢包情况[10]。
3.2 QGC与PX4和Gazebo通信
从图8中可以看出在启动PX4飞控节点后,PX4与Gazebo成功进行通信。
从图9可以看出,QGC与Gazebo和PX4成功通信,无人机成功起飞。
4 仿真过程及结果分析
在四旋翼无人机飞行仿真测试过程中,测得系统参数有:悬架侧倾刚度参数(Roll Rate)、竖直位置参数(Vertical Position)、姿态控制参数(Attitude Controller,包括Roll Attitude、Pitch Attitude、Yaw Attitude)。
4.1 无人机悬停及竖直飞行仿真
QGC与Gazebo中无人机悬停姿态如图9所示,从图中可以看出无人机悬停高度为10 m。
悬停姿态下,对无人机传感器添加噪声,并将无人机的Roll Rate参数和经过MSF框架融合后的无人机Roll Rate参数进行对比如图10所示。
从图10中可以看出,四旋翼无人机在悬停姿态下,由于添加噪声模拟真实环境,无人机存在抖动现象(Response曲线数据),和期望数据(Setpoint参数曲线)相比较误差较大(0±3°);而由于EKF正确的评估了误差,所以经过MSF框架融合后的无人机状态估计值(MSFResponse参数曲线)更加接近期望数据,误差小(0±0.5°),悬停姿态稳定。
竖直飞行运动状态下无人机Vertical Position参数如图11所示。
从图11中可以看出,无人机在竖直飞行运动过程中,无论是向上或向下飞行,无人机均能够快速响应,Setpoint与Response两条参数曲线基本重合。
4.2 无人机进行偏航、俯仰和滚转运动仿真
控制无人机飞行一定距离,如图12所示。在飞行过程中无人机滚转运动参数部分曲线如图13所示,俯仰运动参数部分曲线如图14所示,偏航运动参数部分曲线如图15所示。
从图13~15中可以看出,无人机在进行滚转、俯仰和偏航运动过程中,无人机在接收到控制指令后,能够快速响应,达到期望目标值,飞行仿真效果好。
4.3 无人机进行轨迹规划运动仿真
4.3.1 无人机进行定点巡航运动仿真
在QGC地面站中操控无人机进行定点巡航运动,首先在QGC中确定三个路径点,然后路径点之间形成规划路径,最后无人机沿规划路径飞行,仿真过程如图16所示。
从图16中可以看出无人机能够按照给定路径点生成的路径飞行,成功实现定点巡航运动。
4.3.2 无人机在指定位置盘旋运动仿真
首先,在QGC中设置无人机盘旋中心点;然后,设置盘旋区域大小;最后操控无人机在指定位置进行盘旋运动。盘旋运动仿真如图17所示。
从图17可以看出,在设置无人机盘旋中心点后,无人机能够按照盘旋规划路径进行自主飞行,成功实现自主盘旋运动。
5 结 论
本文对基ROS的四旋翼无人机进行仿真控制研究。首先,在Gazebo中建立了四旋翼无人机三维物理仿真模型,并且通过MAVLink实现了Gazebo、QGC与Px4之间的无线双向通信。然后,在QGC中控制无人机实现悬停及竖直上下运动、滚转运动、俯仰运动、偏航运动和无人机轨迹规划运动,分别对悬架倾斜刚度参数、竖直位置参数、横滚姿态参数、俯仰姿态参数和偏航姿态参数进行期望数据和实际仿真数据的对比参考,并将参考结果以曲线图的形式呈现出来。结果表明,使用MSF框架对无人机传感器和IMU数据进行融合后得到的状态估计数据与为融合前的数据相对比更加精确,能够成功将添加的模拟噪声数据修正;飞行过程中的无人机期望数据与实际飞行数据误差较小,对于后期搭建四旋翼无人机硬件设备并在真实环境中飞行有一定的指导意义。
参考文献:
[1] 梅武军.基于ROS的多旋翼飞行器飞行控制系统的开发与设计 [J].电子科技,2017,30(10):23-25.
[2] 白慮召.基于PIXHAWK四旋翼无人机飞控算法的研究 [D].石家庄:河北科技大学,2022.
[3] 马良,穆朝絮,杨万扣,等.四旋翼无人机目标跟踪系统设计 [J].控制工程,2015,22(6):1076-1081.
[4] 林晓华,王茂森,戴劲松.基于ROS的无人机占据地图构建方案设计 [J].兵器装备工程学报,2021,42(5):215-220.
[5] 单一.基于视觉导航的四旋翼无人机自主着降控制研究 [D].南京:南京航空航天大学,2018.
[6] 陈胤龙.基于无人机平台的室内自主导航系统设计与实现 [D].南昌:南昌大学,2021.
[7] 降晶晶.面向无人机集群的仿真平台设计和实现 [D].杭州:杭州电子科技大学,2021.
[8] 罗连杰,佃松宜,蒲明.四旋翼飞行器姿态的非奇异快速终端滑模控制 [J].电光与控制,2018,25(4):12-15+60.
[9] 侯恭,董明飞,康立鹏,等.基于NI myRIO的四旋翼飞行器设计与实现 [J].科技创新与应用,2018(23):101-102.
[10] 丁中涛. 基于ROS的无人机自主降落技术研究 [D].成都:成都理工大学,2020.
[11] 谢吉海. 小型固定翼无人机制导系统控制器设计 [D].重庆:重庆大学,2016.
作者简介:韩钰寒(2002—),汉族,黑龙江绥化人,本科在读,研究方向:机器人与智能控制;通讯作者:李宏达(1996—),汉族,黑龙江宾县人,助教,硕士研究生,研究方向:机器人与智能控制。
收稿日期:2023-04-03
基金项目:2022年黑龙江省大学生创新创业训练计划项目(S202213301037)