基于ROS和PX4的无人机编队协同飞行模型的仿真研究.pdf
《基于ROS和PX4的无人机编队协同飞行模型的仿真研究.pdf》由会员分享,可在线阅读,更多相关《基于ROS和PX4的无人机编队协同飞行模型的仿真研究.pdf(10页珍藏版)》请在咨信网上搜索。
1、第 4 卷 第 3 期2023 年 8 月Vol.4 No.3August,2023智能化农业装备学报(中英文)Journal of Intelligent Agricultural Mechanization基于 ROS和 PX4的无人机编队协同飞行模型的仿真研究路梦源1,王天一1,2*,陈新昌3,张宇卓1,宫泽奇4,张星山1(1.中国农业大学工学院,北京市,100083;2.中国农业大学农业无人机系统研究院,北京市,100193;3.河南农业大学机电工程学院,河南郑州,450053;4.中国科学院空天信息创新研究院,北京市,100094)摘要:随着信息和智能制造技术的不断发展,农业生产进入
2、自动化和智能化的时代。无人化智慧农场作为现代农业发展的重要方向,正面临机遇与挑战。无人机编队飞行控制技术作为无人农场重要支撑技术之一,在农田巡查、畜群管理、灌溉控制等领域为农业生产提供关键技术支持。本研究旨在分析无人机编队仿真飞行控制中各组成部分的数据交互方式,搭建并优化多旋翼无人机编队飞行仿真环境,以满足无人机编队的飞行控制在无人化智慧农场中的应用需求。通过分析无人机编队仿真飞行控制中 ROS系统、PX4飞控,MAVROS通讯模块,以及 Gazebo仿真环境之间的交互逻辑,搭建了基于 XTDone开源仿真平台的多旋翼无人机编队飞行仿真环境,并实现了基于 ROS系统、PX4飞控和 Gazebo
3、无人机编队的模型构建与飞行控制。在此基础上,利用激光雷达采集环境信息,在 ROS 分布式框架下进行软件算法的优化,实现了基于扫描匹配算法的 SLAM 功能和基于最优路径规划算法的导航功能。理论仿真及试验结果表明,该平台具有开源、低成本、可扩展、模块化等优点,所搭建的仿真环境可实现无人机的编队飞行控制、封闭环境二维地图的构建和自主导航飞行,并分析得出该仿真平台下无人机编队的单位飞行精度约为 76%,累计飞行距离和飞行误差所构建回归模型的R2为0.830 9。研究结果证明了利用无人机编队协同飞行作业满足无人化智慧农场中常见农田作业需求的可行性,展示了无人机编队在无人化智慧农场中的应用效果和优势,为
4、深层优化仿真飞行环境及拓展现代农业生产应用场景提供技术思路,在相关领域的研究和实践中也具有一定的借鉴和参考价值。关键词:无人农场;无人机编队;数据交互;飞行控制;激光 SLAM;导航中图分类号:S24:S252+.9 文献标识码:A 文章编号:2096-7217(2023)03-0032-10路梦源,王天一,陈新昌,张宇卓,宫泽奇,张星山.基于 ROS 和 PX4的无人机编队协同飞行模型的仿真研究 J.智能化农业装备学报(中英文),2023,4(3):3241LU Mengyuan,WANG Tianyi,CHEN Xinchang,ZHANG Yuzhuo,GONG Zeqi,ZHANG X
5、ingshan.Simulation research on cooperative flight model of UAV formation based on ROS and PX4 J.Journal of Intelligent Agricultural Mechanization,2023,4(3):32410引言近年来,无人机应用价值日益凸显,其研究潜力也被广泛认可1-2。无人机编队概念的提出及其相关技术的发展不仅有效解决了单体无人机信息感知处理能力 弱 的 不 足,更 是 将 无 人 机 的 应 用 领 域 进 一 步 扩大3-4。常 用 的 无 人 机 开 发 研 究 工 具
6、有 PIXHAWK(PX4)与 Gazebo;技 术 有 即 时 定 位 与 地 图 构 建(simultaneous localization and mapping,SLAM)。作为领域内常用的开源飞控软件,PX4 具有高性能和低成本的特点;而 Gazebo是用于机器人仿真的开源三维动力学仿真软件,以 Ubuntu 操作系统为平台,集成在ROS 开发环境中;SLAM 作为真正实现全自主移动机器人的关键技术,也被引入到无人机编队的飞行导航中,基于激光雷达的 Hector SLAM 算法,凭借着在动态小场景下具有稳定的测距性能、受光强的影响小、操作简单、鲁棒性强等优点逐渐成为研究热点5。LIU
7、等6提出一种分布式编队控制算法,让无人机在二维和三维空间中以逐渐稳定的方式确定编队的形状;成成7设计一种虚拟长机状态估计算法,编队个体从通DOI:10.12398/j.issn.2096-7217.2023.03.004收稿日期:2023-05-12 修回日期:2023-07-24基金项目:国家重点研发计划课题(2022YFD2202102);内蒙古自治区科技计划项目(2022YFSJ0039);中国农业大学 2115人才培育发展支持计划第一作者:路梦源,男,2001年生,河南汝州人;研究方向为无人机遥感。E-mail:*通信作者:王天一,男,1990年生,北京人,博士,副教授;研究方向为精准
8、农业、智慧草业、草原巡检机器人、无人机遥感。E-mail:第 3 期路梦源 等:基于 ROS和 PX4的无人机编队协同飞行模型的仿真研究信拓扑中获取虚拟长机状态并作为飞行导引,提供速度、航向和高度指令,提升了编队队形的精确度;赵伟伟8针对无人机编队在复杂环境中避障时存在一致性差、决策困难等问题,提出共享障碍物信息的无人机编队协同避障算法,并将编队避障算法和智能体强化学习算法相结合,同时提升了避障性能和一致性性能;张迪等9针对执行器故障时对无人机编队飞行所产生的影响,提出基于动态规划的最优容错控制率,并利用RBF 神经网络逼近最优性能指标函数,最终实现对无人机编队的高精度飞行控制。无人化智慧农场
9、作为无人机编队的重要应用场景之一,对无人机编队的作业方式、能力有定制化需求。但使用真实无人机进行编队飞行控制、定点导航算法的调试成本较大,且常见仿真平台的接口适配度不高10-11,如 JMavSim 平台无法添加传感器、X-Plane 和FlightGear平台均无法进行深层次的飞行调控。因此,亟 需 一 种 通 用 性 较 高 且 机 器 人 操 作 系 统(robot operating system,ROS)接口统一的无人机编队飞行仿真开发环境,以便高效可靠地模拟无人机的农田作业状况,优化无人机的编队控制算法12-14。在此背景下,肖昆15团队基于 ROS 系统、PX4 飞控和 Gaze
10、bo 仿真软件通讯模块开发了 XTDone 无人机通用开源仿真平台,并内置多种类型的无人机、传感器模型,封装部分控制和状态评估算法。胡新雨等16介绍 XTDrone 平台的基本概况、体系架构和主要功能,并阐述无人机集群协同搜寻系统的设计细节和部分关键技术。为进一步探究该平台中无人机编队的飞行控制和自主导航仿真试验的可行性,本文首先梳理各软件和功能包在 ROS 中的通信方式和交互逻辑,并以此为基础搭建基于 XTDone开源平台的无人机编队飞行控制的仿真环境,建立无人机个体及编队模型。通过 MAVROS(micro air vehicle Link ROS interface)协议实现各机与 RO
11、S、飞控系统的通信,进而对接收无人机多种位姿信息的关键脚本文件进行结构重置和参数优化,最后通过基于二维激光 SLAM 建图的自主导航试验模拟无人化智慧农场中的生产作业任务。1仿真环境内部的交互1.1ROS与 PX4飞控之间的交互在 SITL 平台中,MAVROS 节点通过 MAVLink协议与 PX4飞控软件实现通信连接,并通过发布、订阅话题或服务的方式将期望的位置、速度和姿态信息传输至 PX4 飞控,而后者根据这些信息控制仿真无人机的运动状态,并将实际的状态信息通过/mavros/state话题发布出来,供 ROS 系统中的其他节点接收使用,从而实现 ROS 与 PX4 飞控之间的数据传输和
12、控制命令的传递,如图 1所示。1.2ROS与 Gazebo之间的交互由 ROS 系统启动并加载 Gazebo 仿真环境中的无人机编队和传感器等模型,当 PX4 飞控成功连接到MAVROS 节点实现数据传输后,便可通过 ROS 的基本通信方式结合 Gazebo 提供的 ROS API 与仿真环境进行交互:在仿真环境中发布、获取模型的状态信息,以及暂停、恢复仿真环境中的物理运算等。例如:话题通信由“/gazebo_msgs/ModelStates”指令发布所有模型的状态信息,包括位置、速度、角度、角速度等;由“gazebo/get_model_state”指令获取模型状态信息,包括坐标、姿态、线速
13、度、角速度等;服务通信由“gazebo/pause_physics”指令用于暂停仿真环境的物理运算,可以调试和预设场景;由“/gazebo/unpause_physics”指令恢复仿真环境的物理运算17。2无人机编队飞行试验工作准备2.1模型构建ROS 中已预设多种描述机器人模型的标签,如robot根标签、link连杆标签、joint关节标签、sensor标签及其他子级标签18。在模型建立时,需遵循 URDF(unified robot description format)语 言 格 式、XML(extensible markup language)语法完整性、机器人模型规范等要求19。分别
14、在多个 URDF 文件中使用 link标签于描述无人机的基础坐标系、外壳、前后旋翼、电机、支撑轴及其他传感器,再由 joint标签描述各个组成部分间关节连接的旋转、平移、限位和父子级等关系信息,并 通 过 sensor 标 签 对 IMU(inertial measurement unit)、相 机、激 光 雷 达、GNSS(global navigation satellite system)等传感器的名称、类型、位置、方向等信息进行描述。由 Gazebo 将集成的 URDF 文件解析并生三维无人机模型,并设定蓝色旋翼所在的一侧为无人机的前进正方向,如图 2(a)所示,方便对无人机的位姿变化
15、进行实时观察。在验证单一模型能够成功被图 1ROS、PX4和 Gazebo之间的信息交互Figure 1Information exchange between ROS,PX4,and Gazebo332023 年智能化农业装备学报(中英文)解析后,使用 Xacro 文件用宏的方式来对多个 URDF文件及文件中 robot标签元素进行组合调用,以创建无人机编队,如图 2(b)所示。2.2多机通信及飞行控制逻辑编 队 中 每 一 个 无 人 机 模 型 均 具 有 独 立 的MAVROS 节点和 PX4 节点。其中 MAVROS 节点会提供 ROS 接口,用于该节点与无人机的通信和控制;而 PX
16、4 SITL 节点则模拟无人机的硬件和软件环境,包括传感器、控制器和飞行控制算法等18。由键盘接收用户的控制指令,并通过预设定的话题节点(例如/keyboard)将指令信息传输至编队各无人机的 MAVROS 节点,再由控制算法将指令信息分析 并 转 换 为 对 应 的 飞 行 姿 态 控 制 指 令,并 依 靠MAVLink 协议传递至各自的 PX4 SITL 节点,最终无人机各执行机构遵循分配的指令,在 Gazebo中执行相应的动作,实现无人机编队的飞行控制。此外,各机在执行指令后,也需要将自身的飞行位置、速度、姿态角等状态信息反馈发布到 ROS 话题中,以供其他节点进行处理和分析。编队中各
17、机均有独立的数据交互模块,处理无人机飞行时自身位置、目标位置、飞行速度等数据信息,并 通 过 自 身 的 MAVROS 功 能 包 和 全 局 的 TF(Transformation)库实现多机飞行控制信息的交互。0号机内部及其与其他无人机整体的的数据交互如图 3所示。14 号机、58 号机内部的数据信息在分析处理后均汇总至 0 号机处进行数据交换,以便进行下一环节的指令分配和数据分发。2.3通信优化XTDone 平 台 中 无 人 机 编 队 的 通 信 连 接 通 过“multi_UAV_communication.sh”编译脚本和“multi_UAV_communication.py”的
18、执行脚本实现。前者是对生成的无人载具的类型、数量和队列进行保存记录。后者则分别实现机器类型和 ID 的获取;建立ROS 订阅者、发布者和服务通信,定义飞行的基础参数,实现飞行参数的获取和输出;通过 ROS 主要线程节点构建和发布目标运动信息;由多个定义的回调函数接收不同坐标系和运动类型的控制指令,并通过悬浮状态转换函数判断和切换飞行模式,各模块间位姿信息的传输如图 4所示。2.3.1编译脚本优化在“multi_UAV_communication.sh”文件中,源代码通过常量定义的方式来确定无人载具的类型和数量,并通过 9 个单独的 while 循环来判断和调用多个Python脚本并行生成对应的
19、模型,由于资源占用过多,(a)多旋翼无人机模型(b)无人机编队模型图 2多旋翼无人机个体和编队三维模型Figure 2Multi-rotary-wing UAV individual and formation 3D-model/solo_0/mavros/solo_0/mavros/global/position/gp_origin/solo_0/mavros/globa_position/global/solo_0/mavros/local_position/pose/solo_0/communication/solo_0/mavros/setpoint_raw/local/solo_0/
20、mavros14TF58图 3无人机编队中各机飞行控制信息交互关系Figure 3Flight control information exchange among drones in a swarmROSa图 4接收、处理模块间的位姿信息传输Figure 4Transmission of pose information between receiving and processing modules34第 3 期路梦源 等:基于 ROS和 PX4的无人机编队协同飞行模型的仿真研究易引发系统运行缓慢甚至崩溃等问题;代码结构分配不够明晰,则容易导致数据混淆的问题,不利于后期系统维护。将类型和数
21、量信息储存进预设数组,重复的代码封装成名为“start_vehicle_communication”的函数调用,并使用嵌套循环来遍历数组以逐步生成编队模型,以减少代码的复用性,提高稳定性。2.3.2执行脚本优化在“multi_UAV_communication.py”文件中,由定义的 construct_target 的函数接收 PositionTarget 传输的位置、速度、加速度或力、偏航角和偏航角速率等信息用于构造无人机的目标位姿信息。该函数中多PositionTarget变量的重复性高,且未对异常信息进行检测处理,不符合规范的参数输入,易导致程序出错。因此,通过更为简洁的 Vector
22、三维向量消息类型,将接收储存位姿信息中的每个元素都封装成独立对象,并添加数据异常处理函数。以此提高代码的可读性和可维护性,减少错误发生的可能性。例如,当 motion_type参数不是有效的 MotionType枚举值或当位置、速度或加速度的元素数量不等于 3 时,程序可捕获并处理输入参数错误等异常情况,忽略错误的目标位姿信息。通过调用多维数组,封装循环函数,简化数据类型,增添过滤机制等方法对无人机编队通信连接中的部分脚本进行结构重置和局部优化(图 5),提升代码的易读性、稳定性和可维护性。3编队控制与导航仿真试验编队协同飞行控制是指多架无人机之间通过通信协议和算法实现协同飞行的过程。在无人化
23、智慧农场中,无人机编队可通过协同飞行控制实现对农田的精准施药、施肥与灌溉等近地作业。在无人机编队中,编队飞行控制可以实现无人机之间的位置、速度、姿态等信息的传递和共享,从而实现编队内部的协同飞行和任务分配。另外,为实现对农田进行精准作业,无人机编队需具备良好的自主导航能力。自主导航是指无人机通过搭载各类传感器和导航设备,如 GNSS 模块、IMU 装置、激光雷达等,对周围环境进行感知和识别,进一步通过算法和控制策略,实现无人机的路径规划和自主飞行。自主导航技术可以帮助无人机实现避障、定位、优化路径等行为,从而实现高效、安全、精准的田间作业。编队控制与自主导航的融合为无人机编队实现复杂的编队内、
24、编队间协同近地作业任务提供可能性,为无人机在农业生产领域的应用提供了更大的灵活性和扩展性。因此,除验证编队飞行控制的正常运行外,还加入了自主导航测试的环节,以便更加精准地模拟无人机编队在无人化智慧农场中的作业情况。3.1编队飞行控制在“multirotor_keyboard_control.py”脚本文件中声明无人机的飞行参数:最大线速度(MAX_LINEAR)=1、最 大 角 速 度(MAX_ANG_VEL)=0.3、线 速 度 步 长(LINEAR_STEP_SIZE)=0.01、角 速 度 的 步 长(ANG_VEL_STEP_SIZE)=0.01,以 保 证 飞 行 的 平稳 性。定
25、义 速 度 控 制(cmd_vel_mask)和 领 航 控 制(ctrl_leader)两个布尔变量的初始值为 False,为无人机起飞前速度信息的修正和飞行时队形的保持提供基准信息。将无人机手柄式遥控器的功能分配和操作逻辑映射至键盘按键。其中,左手控制 w、x、a、d键,控制无人机的前后左右飞行移动;右手控制 i、“,”、j、l键,控制无人机的升降转向;r、v、n 键为自定义功能按钮,分别实现返航、起飞、降落;s和 k键分别是左右和右手的悬停待命按钮;t、b、g键为模式切换按钮,分别管控进入/退出任务、离线/在线控制、全部/个体连接等模式间的切换。对基于 ROS/Gazebo仿真环境和 P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ROS PX4 无人机 编队 协同 飞行 模型 仿真 研究
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。