核心内容摘要
Java SpringBoot+Vue3+MyBatis 民宿管理系统系统源码|前后端分离+MySQL数据库
✅作者简介热爱科研的Matlab仿真开发者擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
往期回顾关注个人主页Matlab科研工作室 关注我领取海量matlab电子书和数学建模资料个人信条格物致知,完整Matlab代码获取及仿真咨询内容私信。
内容介绍
引言从单机到协同无人机编队的 “性价比之选”
1 博主的编队初体验为啥偏爱单领导 - 双跟随架构作为一个痴迷于无人机的博主我接触无人机的时间可不短了。
最开始我玩的是单机无人机那时候就觉得能操控着一个小飞行器在天空翱翔记录下各种独特视角的画面简直酷毙了每次带着它出去拍摄都能收获不少新奇的素材那种自由掌控的感觉真的让人上瘾。
但慢慢地单机无人机的局限性就显露出来了。
比如在一些大场景的拍摄中单机拍摄的画面总是不够全面无法展现出那种宏大的气势还有在进行复杂地形的测绘时效率也比较低。
于是我开始琢磨多机编队控制想着要是能让好几架无人机协同工作不就能解决这些问题了嘛可当我真正开始尝试多机编队控制的时候才发现这难度比我想象的大多了。
多机之间的通信协调特别复杂稍有不慎就容易出现 “打架” 的情况不是两架无人机差点撞在一起就是飞行轨迹乱成一团。
而且控制算法也非常复杂要考虑的因素太多了像无人机之间的相对位置、速度、角度还有通信延迟、外界干扰等等每一个因素都可能影响整个编队的稳定性和任务执行效果。
那段时间我被这些问题搞得焦头烂额无数次调试无数次失败差点就放弃了。
直到我了解到了单领导 - 双跟随无人机协同编队控制架构就像在黑暗中看到了一丝曙光。
这种架构相对简单一个领导者两个跟随者领导者就像是团队的大脑负责规划整体的飞行路径和任务指令两个跟随者则紧紧跟着领导者保持一定的相对位置和姿态。
这样一来控制的复杂度就大大降低了操作门槛也没那么高。
而且在实际应用中这种架构的性价比超高。
对于很多中小规模的作业比如农业植保只需要一架领导者无人机负责规划喷洒区域和路线两架跟随者无人机跟着进行农药喷洒就能高效地完成任务比单机作业的效率不知道高了多少还有小型区域侦察领导者无人机可以率先进入区域探测情况跟随者无人机则从不同角度进行补充侦察获取更全面的信息。
所以说单领导 - 双跟随架构真的是无人机爱好者和中小团队的 “入门级进阶方案”既能满足一定的任务需求又不会在技术实现上让人望而却步。
2 本文核心看点技术拆解 实操指南小白也能看懂在这篇文章里我就想和大家好好分享一下单领导 - 双跟随无人机协同编队控制的相关知识。
我会先深入地给大家讲清单领导 - 双跟随编队的技术原理把那些复杂的控制算法、通信机制用最通俗易懂的方式拆解开来让大家清楚地知道它到底是怎么运作的为什么这样的架构能够实现无人机之间的协同飞行。
当然光懂理论还不够还得会实操。
所以我还会详细地分享仿真和实操的关键步骤。
从搭建仿真环境开始一步一步教大家如何在虚拟环境中模拟单领导 - 双跟随编队的飞行怎么设置参数、调试程序让编队能够按照我们预想的那样飞行。
等大家在仿真环境里熟练掌握了之后再过渡到实际操作讲讲在实际飞行中需要注意的事项比如场地选择、天气条件、设备调试等等让大家能够顺利地将理论应用到实践中。
另外我还会结合实际
案例分析在单领导 - 双跟随编队控制过程中可能遇到的痛点像通信中断、编队失控等问题然后分享一些优化技巧告诉大家遇到这些问题该怎么解决怎么进一步提高编队的稳定性和可靠性。
总之这篇文章就是要让大家既能理解单领导 - 双跟随编队控制 “是什么”又知道 “怎么做”就算是无人机小白看完也能有不少收获说不定还能自己动手搭建一个简单的单领导 - 双跟随无人机编队呢
基础认知单领导 - 双跟随无人机编队到底是什么
1 定义与核心架构1 个 “指挥官”2 个 “执行者” 的协作模式单领导 - 双跟随无人机编队从字面意思理解就是在一个编队系统里有 1 架无人机充当领导者角色另外 2 架则作为跟随者 。
领导者这架无人机堪称整个编队的 “大脑”承担着至关重要的职责。
它要进行全局路径规划就好比一位经验丰富的导游提前规划好旅行的路线带领大家顺利抵达目的地。
在无人机编队执行任务时领导者会根据任务目标、地形环境等因素规划出一条最优的飞行路径确保编队能高效地完成任务。
它还负责速度控制就像汽车的油门和刹车一样控制着整个编队的飞行速度。
根据不同的任务阶段和环境条件领导者会调整飞行速度比如在开阔区域可以适当加快速度提高任务执行效率在复杂地形或需要精细操作的区域则降低速度保证飞行安全和任务精度。
同时领导者也是任务决策的核心它会根据实时获取的信息如侦察到的目标情况、传感器反馈的数据等做出决策并下达指令给跟随者无人机。
而 2 架跟随者无人机呢就像是忠诚的 “执行者”它们的主要任务就是通过实时接收领导者的位置、速度信息来调整自身姿态始终保持预设的相对位置队形。
这就像一群大雁飞行时后面的大雁紧紧跟着头雁保持一定的间距和角度形成整齐的队形。
跟随者无人机通过高精度的传感器和先进的控制算法不断计算自己与领导者之间的位置偏差然后迅速调整飞行姿态和速度确保编队的稳定性和整体性。
与集中式编队模式相比集中式模式下所有无人机的决策和控制都依赖于一个中央控制单元一旦中央控制单元出现故障整个编队就会陷入瘫痪而且随着无人机数量的增加中央控制单元的计算负担会急剧加重通信压力也会变得非常大。
而单领导 - 双跟随架构不需要强大的中央控制单元领导者只需要与 2 个跟随者进行通信通信链路相对简单通信压力小即使领导者出现故障也可以通过简单的切换机制让其中一个跟随者晋升为领导者继续完成任务具有一定的鲁棒性。
和分布式编队模式相比分布式模式中每个无人机都具有高度的自主性它们通过相互之间的信息交互来共同决策和控制但这需要复杂的通信协议和协调机制系统设计和实现难度大。
单领导 - 双跟随架构结构相对简单领导者作为核心决策点控制逻辑更加清晰控制器设计难度低开发成本和时间成本都能得到有效控制非常适合中小规模的应用场景和预算有限的团队。
2 与其他编队模式的对比适合才是最好的在无人机编队的大家庭里单领导 - 双跟随编队模式只是其中一员还有单领导多跟随、双领导双跟随等多种架构它们各有特点适用于不同的场景。
先说说单领导多跟随架构这种架构下一个领导者带领多个跟随者就像一个老师带着一群学生。
它适合大规模的集群任务比如大面积的农田测绘领导者规划好整体测绘区域和路线众多跟随者可以同时对不同区域进行数据采集大大提高了测绘效率还有大型活动的空中安保巡逻多架跟随者无人机可以在领导者的指挥下全方位、无死角地对活动现场进行巡逻监控 。
但是随着跟随者数量的增加领导者的通信负担和计算负担会越来越重一旦领导者出现故障整个编队的稳定性和任务执行能力会受到严重影响就像老师突然生病学生们可能就会陷入混乱。
再看看双领导双跟随架构两个领导者就像是班级里的正副班长共同分担任务决策和全局信息处理。
在一些复杂的任务场景中比如城市复杂环境下的搜索救援任务一个领导者可以负责规划搜索路径另一个领导者负责实时监控环境风险和协调资源两个跟随者则根据领导者的指令一个负责利用热成像仪搜索目标另一个负责携带救援物资快速抵达目标点。
这种架构的容错性更强任务处理效率也更高但它的通信和协调机制更加复杂需要领导者之间高度配合对系统的硬件和软件要求也更高成本自然也会增加。
相比之下单领导 - 双跟随架构更适合那些无需大规模集群的任务。
像小型农田的植保作业只需要一架领导者无人机规划好喷洒区域和路线两架跟随者无人机跟着进行农药喷洒就能高效完成任务而且通信压力小控制器设计难度低成本可控。
在低空侦察任务中比如对一个小型工业园区进行侦察领导者无人机率先进入区域探测整体情况两架跟随者无人机从不同角度进行补充侦察获取更全面的信息同时也能保证编队的灵活性和高效性。
不过单领导 - 双跟随架构也有缺点那就是领导者的单点故障风险较高如果领导者无人机出现故障整个编队可能会失去方向甚至导致任务失败。
所以为了应对这个问题通常会搭配一些简单的容错机制比如当检测到领导者信号丢失或出现故障时其中一个跟随者可以迅速切换为临时领导者按照预设的备份路径继续执行任务确保编队的基本功能和任务的连续性。
总之不同的编队模式各有优劣在实际应用中我们要根据具体的任务需求、成本预算、技术水平等因素选择最适合的编队模式才能让无人机编队发挥出最大的效能。
技术硬核单领导 - 双跟随编队的实现步骤拆解要让单领导 - 双跟随无人机编队顺利飞行背后涉及一系列复杂而精妙的技术步骤下面我就来详细拆解一下。
1 第一步系统建模 —— 给无人机 “定规矩”系统建模就像是给无人机制定 “行为准则”让它们知道该怎么飞、怎么配合这是实现编队控制的基础。
3.
1 无人机动力学模型二阶一致性模型的选择在编队控制里常用的是二阶一致性模型。
这个模型考虑了无人机的位置、速度和加速度这些核心参数就像我们开车要知道自己在哪儿位置开多快速度加速或减速有多快加速度。
对于领导者无人机来说它的模型更像是 “主动规划型”。
比如说在执行航拍任务时领导者会根据预设的拍摄路线像沿着景区的标志性建筑环绕拍摄或者按照特定的地形轮廓飞行实时调整自己的位置、速度和加速度 同时把这些信息传递给跟随者。
而跟随者无人机的模型则是 “反馈调整型”。
它们通过接收领导者传来的信息计算出自己和领导者之间的位置、速度误差然后根据这些误差来修正自身动作。
打个比方领导者以 5m/s 的速度向前飞行跟随者发现自己和领导者的距离比预设的多了 1 米速度比领导者慢了
5m/s它就会加大油门提高速度调整飞行姿态尽快回到预设位置。
在实际建模过程中虽然像气流、电磁干扰这些因素会对无人机飞行产生影响但为了让模型更简单、更容易实现仿真我们会先把这些干扰简化处理。
就好比画画的时候先画出物体的大致轮廓再去添加细节。
这样做能让我们先专注于核心的编队控制逻辑确保整个系统的仿真可行性。
3.
2 队形约束双跟随者的相对位置设计设定双跟随者相对于领导者的目标偏移量是实现特定队形的关键。
比如说我们想要实现一个 “V” 字形队形就可以设定一个跟随者在领导者的左前侧 3 米处另一个跟随者在领导者的右前侧 3 米处。
这就像是士兵队列训练每个士兵都要站在规定的位置保持整齐的队形。
在数学上我们可以用向量来表示这些偏移量。
假设领导者的位置坐标是(x0,y
左前侧跟随者的偏移向量是(Δx1,Δy
那么左前侧跟随者的目标位置坐标就是(x0Δx1,y0Δy
。
通过这样的数学约束条件我们就能把想要的队形转化为无人机能够理解的指令为后续控制器的设计提供明确的依据。
这样无人机在飞行过程中就能按照我们设定的队形精准地保持相对位置完成各种任务。
2 第二步控制器设计 —— 让跟随者 “跟得上、稳得住”控制器就像是无人机的 “大脑指挥官”它决定了跟随者如何根据领导者的指令和自身状态进行调整以实现稳定的编队飞行。
3.
1 追踪控制器PID/LQR 的二选一攻略在追踪控制器的选择上有两种主流方案分别是 PID 控制器和 LQR 控制器 。
PID 控制器就像是一个简单直接的 “老司机”操作起来特别简单非常适合刚接触无人机编队控制的新手。
它主要通过调整三个参数来工作分别是比例项P、积分项I和微分项D。
比例项就像是汽车的油门它能根据当前误差的大小快速调整无人机的响应速度。
比如当跟随者发现和领导者的距离偏差较大时比例项会增大控制输出让跟随者加速靠近领导者积分项则像是一个 “记账本”它会累积过去的误差通过消除稳态误差让跟随者最终能够准确地到达目标位置微分项就像是一个 “预判助手”它能根据误差的变化率提前预测误差的发展趋势抑制无人机飞行过程中的震荡让飞行更加平稳。
在实际调整 PID 参数的时候有一些小技巧。
比如我们可以先只调整比例项逐步增大比例系数观察无人机的响应直到出现轻微震荡然后适当减小比例系数接着再调整积分项慢慢增大积分系数直到稳态误差基本消除最后调整微分项根据实际情况微调让无人机的飞行更加稳定。
LQR 控制器则像是一个追求极致精准的 “精密仪器”它是基于线性二次型最优控制理论设计的。
在使用 LQR 控制器时我们需要先设定一个性能指标这个指标通常包含状态变量和控制输入的权重。
比如说我们更关注无人机的位置准确性就可以加大位置状态变量的权重如果想要控制无人机的能耗就可以调整控制输入的权重。
通过求解 Riccati 方程我们就能得到最优的反馈控制律让无人机在满足性能指标的前提下实现最优的控制效果。
LQR 控制器非常适合那些对编队精度要求极高的场景比如在进行高精度的测绘任务时它能让跟随者精确地跟随领导者的轨迹误差控制在极小的范围内。
我在实际操作中发现PID 控制器在一些对精度要求不是特别高但需要快速搭建编队系统的场景中表现出色它的参数调整相对简单能够快速让无人机实现基本的编队飞行而 LQR 控制器虽然设计和计算相对复杂但在面对复杂任务和高精度要求时它的优势就凸显出来了能够实现更稳定、更精准的编队控制。
所以大家在选择追踪控制器的时候可以根据自己的实际需求和技术水平来决定。
3.
2 协同控制器基于相对位置误差的队形保持策略协同控制器的作用至关重要它就像是一个 “协调员”不仅要让跟随者紧紧跟着领导者还要让双跟随者之间实现信息交互避免它们在飞行过程中相互碰撞确保整个编队在运动过程中始终保持稳定的队形。
协同控制器采用的是基于邻域信息的协同算法。
它通过实时计算跟随者与领导者、跟随者与跟随者之间的位置误差来输出调整指令。
比如在一个三角形编队中两个跟随者除了要和领导者保持一定的相对位置它们之间也要保持合适的距离。
当其中一个跟随者因为受到外界干扰位置发生偏移时协同控制器会迅速计算出它与另一个跟随者以及领导者的位置误差然后向这个跟随者发送调整指令让它回到正确的位置从而保证整个编队的队形不 “变形”。
这种基于相对位置误差的协同策略就像是一群大雁在飞行时每只大雁都能感知周围同伴的位置随时调整自己的飞行姿态保持整齐的雁阵。
通过这样的协同控制器无人机编队在飞行过程中能够更加灵活、稳定地应对各种情况高效地完成任务。
3 第三步通信与协同 —— 编队的 “神经脉络”通信与协同就像是无人机编队的 “神经脉络”负责传递信息让领导者和跟随者之间能够紧密配合实现高效的编队飞行。
3.
1 通信拓扑与协议低成本的分布式通信方案对于单领导 - 双跟随这种中小编队来说我推荐采用 MAVLink 协议搭建星型通信拓扑。
在这个星型结构中领导者就像是 “中央枢纽”它与两个跟随者分别建立通信链路负责收集和分发信息。
这种通信拓扑结构简单易于实现而且成本较低。
MAVLink 协议是一种专门为无人机开发的轻量级通信协议它能够实现位置、速度等关键信息的低延迟传输。
为了解决通信延迟问题我们可以采取一些措施。
比如精简传输的数据只传输那些对编队控制至关重要的信息减少数据量从而降低传输延迟同时采用
4G 无线模块这种模块具有传输速度快、稳定性好的特点能够确保状态信息的同步频率不低于 10Hz。
这样领导者和跟随者之间就能快速、准确地交换信息保证编队的实时性和稳定性。
就像我们在团队合作中成员之间能够及时沟通才能高效地完成任务。
通过这样的通信拓扑和协议无人机编队能够在各种复杂环境下保持良好的通信状态实现协同飞行。
3.
2 信息交互逻辑领导者 “发号施令”跟随者 “实时反馈”信息交互的流程就像是一场有序的 “指挥交响乐”领导者负责 “发号施令”跟随者则 “实时反馈”。
领导者会每秒发送一次自身的位置、速度、航向角等关键信息。
这些信息就像是给跟随者提供的 “导航地图”让跟随者清楚地知道领导者的实时状态和前进方向。
双跟随者在接收到这些信息后会迅速计算自己与目标位置的误差然后通过之前设计好的追踪控制器和协同控制器输出调整指令调整自身的飞行姿态和速度。
与此同时跟随者也会向领导者反馈自身状态包括自己的位置、速度、电量等信息。
这样领导者就能实时掌握整个编队的情况在遇到突发情况比如跟随者失联时领导者可以根据这些反馈信息迅速调整策略保障编队的安全。
例如当一个跟随者因为信号干扰暂时失联时领导者可以根据之前跟随者反馈的位置和速度信息预测它可能的位置尝试重新建立通信或者指挥另一个跟随者调整位置填补空缺确保编队任务不受太大影响。
通过这样有序的信息交互逻辑无人机编队能够实现高效的协同控制顺利完成各种任务。
⛳️ 运行结果 部分代码function [V1_next, phi1_next, theta1_next, X1_next]Leader_P(u,X1,V1,Position_phi,Position_theta)% 输入参数% u[a_tau, theta_dot, phi_dot] 控制量a_tau为切向加速度theta_dot为偏航角角速度phi_dot为俯仰角角速度% X1[x,y,z] 当前地面坐标系下的长机坐标% V1 当前长机飞行速度% Position_phi 当前偏航角% Position_theta 当前俯仰角% 输出参数% V1_next% phi1_next% theta1_next% X1_nextV1_next V1u(