Skip to content

这个算法用于无人机群避障一个加入机群的无人机,算法分为两种思路:(1)加入者的路径规划主动机动规避编队机群、(2)编队微调避让加入者。目前只做了第一种思路。唯一已知信息是原机群的运动轨迹F(x,y,z,t)|each plane,对于第一种思路:对于补位飞机唯一的输入参数是无人机编队时间帧和每架飞机的对应位置,即F(x,y,z,t)|each plane,输出参数是规划的单条路径。对于第二种思路:让正常飞行的编队可以保持在其原始轨迹周围(即,边界条件,规避机动范围<Δv球),补位无人机穿越他们的空隙到达目标位置,输出为需要避碰的其他无人机的机动向量。第一种思路采用三维A*+分段局部规划

Notifications You must be signed in to change notification settings

AgathaZhang/Drone-swarm-avoidance-cooperative-target

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

这个算法背景是用于 无人机群避障并让一架“补位/加入”的无人机安全并入编队。整体有两条思路:

  1. 加入者主动规避(当前已实现)

    • 已知信息:原编队的运动轨迹 F(x, y, z, t)(编队中每架飞机给出随时间的三维位置)。
    • 输入:编队每架飞机在各时间帧的对应位置集合,即 F(x, y, z, t|per-plane)。
    • 输出:补位无人机的一条可行且安全的规划路径
    • 算法思想:采用 三维 A* + 分段局部规划
    • 算法核心思想是把动态障碍物转换为静态障碍物的连通域,短时局部规划以应对集群编队的时变障碍约束,本库算是一种A*算法的三维改写和工程应用实现。
  2. 编队微调避让(后续可能会实现第二种)

    • 目标:在不偏离原始轨迹太多的前提下,让编队为加入者让出“通道”。
    • 边界条件:编队内每架无人机的规避机动限制在其原轨迹周围(例如“规避机动范围 < Δv 球”)。
    • 输出:需要进行避碰机动的原编队中每架无人机在每个时刻的机动向量(使加入者能穿越空隙到达目标位置)。

🔴 在线演示(GitHub Pages):https://agathazhang.github.io/Drone-swarm-avoidance-cooperative-target/


❖ 算法历程

局部3D A-STAR路径规划示意
局部3D A*路径搜索示意

多机路径互斥 任意位置起飞
多机路径互斥 任意位置起飞


一些过程

  • 体素扩增预览图 && 单架次全局路径图:
体素扩增预览图
体素扩增预览图
单架次全局路径图
单架次全局路径图
  • 参数仿真:
Unity仿真测试
Unity刚体碰撞检测 修正体素扩增半径
三维A*调参
Matlab下三维 A* 搜索尺度调参
---

How to use

仓库中的三个主要目录:

  1. 初期仿真:用于在 Unity 中验证思路与做 Demo,记录早期的设计与灵感启发。
  2. PC实现:基于地面站一次性计算多架次路径,生成综合路径(包含多补位飞机间的路径互斥约束);后续将加入并行计算优化。
  3. Linux实现:按项目需求使用 Mavlink 通信,在机载模块 RV1103 上做嵌入式计算,实现算法的跨平台迁移与部署。
  • 鸣谢:本文的A* 库是发展自Damian Barczyński的二维平面A* 算法https://github.com/daancode/a-star 本人将原作的2D平面A* 改写为了3D空间A* 这个部分的脚本欢迎大家复用 至此再次鸣谢Barczyński。

后续将部署带飞机间通信的集群编队算法,采用一种基于闵可夫斯基空间中时空事件F(x, y, z, t)的最优化思想,做最短电池能耗的控制优化;并把动力学模型纳入为子优化目标。

About

这个算法用于无人机群避障一个加入机群的无人机,算法分为两种思路:(1)加入者的路径规划主动机动规避编队机群、(2)编队微调避让加入者。目前只做了第一种思路。唯一已知信息是原机群的运动轨迹F(x,y,z,t)|each plane,对于第一种思路:对于补位飞机唯一的输入参数是无人机编队时间帧和每架飞机的对应位置,即F(x,y,z,t)|each plane,输出参数是规划的单条路径。对于第二种思路:让正常飞行的编队可以保持在其原始轨迹周围(即,边界条件,规避机动范围<Δv球),补位无人机穿越他们的空隙到达目标位置,输出为需要避碰的其他无人机的机动向量。第一种思路采用三维A*+分段局部规划

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published