Swarm-Formation无人机分布式集群算法浅析与仿真测试

2023-05-16

无人机集群一直是当今研究的热点与难点。然而,目前相关的集群规划策略通常缺乏在杂乱环境中避开障碍的能力。为了解决无人机在密集复杂环境下的编队避障飞行这一难题,浙江大学 Fast Lab 实验室提出了一种分布式无人机集群轨迹优化算法——Swarm-Formation。依靠这套算法,让无人机能够实现在密集环境中规划出无碰撞的无人机编队轨迹,确保编队飞行过程中无碰撞轨迹生成。

该算法提出了一种新的可微度量来量化编队之间的总体相似距离,然后将该度量公式化为一个优化框架,该框架使用多项式轨迹实现时空规划,能够将碰撞惩罚最小化,从而同时处理编队保持和避障问题。Swarm-Formation 算法为无人机集群科研人员及工程师提供了无人机集群避障的新思路。

SwarmFormation算法对比

视频来源于网络

相比于其他方法,本算法的优化方法在位置误差编队相似性误差上取得了良好的性能。因其提出的编队相似度量方法在缩放和旋转不变性为生成轨迹提供了很高的灵活性,即使在密集的环境中,也有很高的成功率去规划生成无碰撞编队轨迹。

SwarmFormation算法浅析

该算法来自浙江大学 Fast Lab 实验室的《Distributed Swarm Trajectory Optimization for Formation Flight in Dense Environments 》论文(论文及代码地址见文末),该论文中提出了一种密集环境下编队飞行的分布式集群轨迹优化方法,使用一种基于图的可微度量来量化无人机编队之间的距离。将无人机编队飞行的轨迹生成归结为一个优化问题,通过将代价函数最小化来得到一条保持编队飞行的无碰撞平滑轨迹。而代价函数由七个目标函数及其相对应的权重组成,分别为平滑度惩罚、总时间惩罚、碰撞项惩罚、集群编队惩罚、机间碰撞惩罚、动力学可行性惩罚和约束点的均匀分布惩罚。

平滑度惩罚

无人机轨迹使用高阶多项式表示,将轨迹的三阶导数加加速度(jerk)作为控制输入,最小化高阶导数能够使得整段轨迹控制能量小。所以将全局轨迹的jerk的平方作为惩罚性,可以让生成的无人机轨迹控制能量小,并且使得轨迹平滑。

总时间惩罚

对于无人机集群编队飞行而言,我们希望编队加权总执行的时间小一些,即编队能更快的达成规划目标。

碰撞项惩罚

欧式符号距离场(ESDF)可以计算出无人机和障碍物之间的距离信息和梯度信息,当无人机轨迹的约束点离最近障碍物的距离小于安全距离时,将生成的无人机轨迹推离障碍物。

集群编队惩罚

使用无向图对无人机编队进行建模,每个无人机为无向图的顶点,无向图的边表示无人机之间可以相互测量彼此之间的几何距离,并且每个无人机均能与其他无人机通信。定义一个编队相似距离度量,其为当前队形无向图的归一化拉普拉斯矩阵减去期望队形的归一化拉普拉斯矩阵,用于评估三维工作空间中无人机队形与期望队形的差异。通过惩罚编队相似距离度量,即可以让无人机集群尽可能去接近期望队形。需要注意的是,无人机队形的平移、旋转不会影响无人机之间的拓扑,且由于将无向图的拉普拉斯矩阵归一化,故无人机队形的平移、选择、放缩不会影响编队相似距离度量。

机间碰撞惩罚

在本算法中,由于采用的是非合作框架,即意味着无人机会接收其他无人机的轨迹作为约束来生成自己的轨迹。并且通过在全局时间戳处让约束点远离其他的无人机轨迹,实现无人机的轨迹之间不会相互碰撞。

动力学可行性惩罚

限制无人机轨迹导数即无人机的速度、加速度、加加速度的振幅,确保算法生成的轨迹可以让无人机平缓的执行。

约束点的均匀分布

生成的无人机轨迹包含了多个约束点,无人机约束点应该是空间均匀的。非均匀约束点可能会跳过一些较小的障碍物,这可能会降低轨迹的安全性。本算法通过惩罚每对相邻约束点之间距离平方的方差来实现约束点的均匀分布。

以上七个目标函数加上其权重就可以计算出某一条轨迹的代价成本成本最小也就意味着这条轨迹是最优的轨迹,根据实际情况以及不同的应用场景相应的权重值也应做适当的调整。

我们近期也把这一套算法开源的ROS功能包与PX4仿真进行结合,在gazebo仿真平台上复现了该套算法并取得了不错的表现,下面就是我们PX4无人机应用Swarm Formation的仿真测试视频:

相关论文及代码

论文:https://arxiv.org/pdf/2109.07682.pdf 

代码地址:https://github.com/ZJU-FAST-Lab/Swarm-Formation

- END -

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swarm-Formation无人机分布式集群算法浅析与仿真测试 的相关文章

  • Docker swarm mode初探

    为什么80 的码农都做不了架构师 xff1f gt gt gt Docker从1 12引入了swarm模式 xff0c swarm mode用来管理集群化的docker engines xff0c 被称作swarm 可以使用docker C
  • Docker 1.12 : 使用 Swarm 的新姿势

    本文首发于我的博客 原文链接 xff1a Docker 1 12 新特性 Docker1 12 版本做出了很大的改动 xff0c 特别是增加了对 swarm 的原生支持 xff0c 下面对新版的使用做一个总结 xff0c 供大家查阅 doc
  • docker swarm 使用说明

    docker swarm 使用说明 swarm 命令 xff1a 管理集群 docker swarm command root 64 centos docker swarm help Usage docker swarm COMMAND M
  • docker swarm init

  • docker、docker-compose、docker swarm和k8s(Kubernetes)的区别

    文章目录 DockerDocker ComposeDocker SwarmKubernetes Docker Docker 这个东西所扮演的角色 xff0c 容易理解 xff0c 它是一个容器引擎 xff0c 也就是说实际上我们的容器最终是
  • EGO Swarm翻译

    目录 摘要 介绍 相关工作 A 单四旋翼局部规划 B 拓扑规划 C 分布式无人机集群 基于梯度的局部规划隐式拓扑轨迹生成 A 无需ESDF梯度的局部路径规划 B 隐式拓扑轨迹生成 无人机集群导航 A 机间避碰 B 定位漂移补偿 C 从深度图
  • Swarm-Formation无人机分布式集群算法浅析与仿真测试

    无人机集群一直是当今研究的热点与难点 然而 xff0c 目前相关的集群规划策略通常缺乏在杂乱环境中避开障碍的能力 为了解决无人机在密集复杂环境下的编队避障飞行这一难题 xff0c 浙江大学 Fast Lab 实验室提出了一种分布式无人机集群
  • Promethues: swarm_control解读

    标签可以对节点分组 xff0c 具有 ns 属性 xff0c 可以让节点归属某个命名空间 lt group ns 61 34 iris 0 34 gt lt group ns 61 span class token string 34 ir
  • Docker Swarm集群搭建以及服务命令等操作

    前言 之前都是采用rancher可视化管理工具进行管理K8S进一步管理容器 但是每次机器宕机后rancher中集群特别容易挂掉 出现的问题五花八门 在网上很难搜到解决方案 所以准备采用docker官方集群管理平台Swarm管理容器 一 do
  • 部署Swarm - Deploy Swarm

    参考文档 https docs docker com swarm install manual 使用的部署环境 参考文档中是要把Swarm部署到AWS的EC2上的 没有这样的条件 所以选择在本地建立多个虚机机来搭建 操作系统选择centos
  • Linux进阶

    创作不易 来了的客官点点关注 收藏 订阅一键三连 前言 运维之基础 Linux 我是一个即将毕业的大学生 超超 如果你也在学习Linux 不妨跟着萌新超超一起学习Linux 拿下Linux 一起加油 共同努力 拿到理想offer 系列文章
  • 巅峰对决之Swarm、Kubernetes、Mesos

    转载自 http dockone io article 1138 感谢作者和编者的分享 编者的话 这篇文章对比了三大主流调度框架 Swarm Kubernetes和Mesos 文章不仅从理论上讨论了各个框架的优缺点 还从两个实际的案例出发
  • 可自动扩展的高可用Swarm集群EdgeScaler的搭建

    项目简介 应用场景 集群架构 组件描述 集群搭建 环境准备 Swarm工作节点搭建 Swarm管理节点搭建 ConfdHAProxy节点搭建 小结 项目简介 随着虚拟化和容器技术的日趋成熟 Docker越来越受到人们的关注 目前Docker
  • 容器云技术选择之kubernetes和swarm对比

    swarm和k8s本质都是容器编排服务 它们都能把底层的宿主机抽象化 然后将应用从以构建好的镜像开始 最终以docker的方式部署到宿主机上 应该选择哪种方案作为我们的容器云服务呢 我觉得k8s kubernetes简称 跟swarm的比较
  • Docker(六)----Swarm搭建Docker集群

    一 什么是Swarm Swarm这个项目名称特别贴切 在Wiki的解释中 Swarm behavior是指动物的群集行为 比如我们常见的蜂群 鱼群 秋天往南飞的雁群都可以称作Swarm behavior Swarm项目正是这样 通过把多个D
  • swarm与kubernetes的对比

    前言 docker swarm 与kubernetes都是集群管理工具 一个是docker原生自带 一个是谷歌项目下的容器编排工具 那么到底他们到底有什么有缺点呢 kubernetes kubernetes 是Google多年大规模容器管理
  • Traefik 2.0 内部仪表板“端口丢失”

    我正在尝试在 docker swarm 模式下使用 traefik 2 0 这是我的堆栈 version 3 7 services traefik image traefik latest ports 80 80 443 443 deplo
  • Docker Swarm 无法与自定义覆盖网络上的其他节点通信

    我的集群中有4个节点 其中两个在香港 其他在美国 我在群中创建了 4 个服务 Service Location foo USA bar HK haha USA hehe HK 这些服务使用相同的覆盖网络 当我尝试时ping foo or p
  • 使用嵌套字典Python的自定义类

    当使用相同的键在嵌套字典中添加值时遇到问题 并且该值始终显示相同的值 事实是 我想更新值事件 键是相同的 该算法是人工鱼群算法的基础 example gt gt fish template 0 weight 3 1 visual 2 ste
  • NSQ Docker Swarm

    我尝试在 Docker Swarm 中使用 NSQ 但没有成功 mhlg rpi nsq 是为 Raspberry Pi ARM7 板构建的 Docker 映像 如果作为普通 Docker 容器运行 我可以确认其工作正常 在 Docker

随机推荐

  • 新品发布 | P230开源无人机一台深度相机实现无人机VINS定位及ego导航

    P230 视觉导航 室内编队无人机开发平台 Prometheus 230 xff08 P230 xff09 是阿木实验室专为科研工作者与航天器开发者打造的小型化无人机开发平台 xff0c 适用于无GPS环境下基于视觉的无人机定位 导航 避障
  • 学习方法 | 买科研无人机之前你需要考虑的七件事

    买科研无人机之前你需要考虑的七件事 xff0c 很多客户都有买过我们的科研无人机P系列 Z系列等等 从最开始的P100 到后期的P200 xff0c 再到现在的P450 P230 P600 2020年后 xff0c 网络上也出现了更多种类和
  • 零基础同学的福利,带你走进Airsim 的大门

    初识AirSim仿真开发 正式上线 大纲如下 xff1a 第一课时 在ubuntu中编译AirSim UE4 ROS 简单介绍AirSimUE4 ROS AirSim编译的流程介绍环境编译中会出现哪些问题 xff0c 以及如何寻找解决方法
  • 技术分享 | 三种无人机精准降落方案

    1 概述 无人机自诞生以来 xff0c 主要应用于军事方面 xff0c 作为智能化和信息化的武器 xff0c 无人机在侦察 监视 通信 远距离攻击等方面发挥了重要的作用 近年来 xff0c 无人机在民用方面的应用也越来越多 xff0c 各国
  • 技术分享 | 玩转Jetson NX内核(四)

    上期我们讲解了玩转Jetson NX内核 xff08 三 xff09 xff0c 本期我们开始将mipi相机移植到NX xff0c 我们已经搭建好各种编译环境 xff0c 如有问题可参考之前的系列文章 1 4 mipi相机在NX上应用 mi
  • 远程连接TX2的ubuntu系统(没有显示器):网线+路由器解决

    我的到手TX2是没有显示器的 xff0c 要么用HDMI线接上显示器 xff0c 要么在一个wifi网络下使用nomachine远程桌面 我没有显示器也没有HDMI线 xff0c 只能远程桌面连接 问题是想要远程连接就必须让TX2和我的电脑
  • 技术分享 | GPS无人机集群位置自主纠偏功能升级

    新的一年 xff0c 又是新的开始 xff0c 在这里 xff0c 祝大家在新的一年有更多的收获 xff0c 有更好的发展 过新年 xff0c 大家都会买新衣服穿 xff0c 我们的GPS无人机集群套件同样也要上新功能 近期 xff0c 我
  • 技术分享 | 遥控器控制(Joystick)

    一 遥控器控制 在真实飞行过程中 xff0c 我们使用真实的遥控器作为控制无人机的主要操作来源 xff0c 遥控器始终拥有最高的权限 xff0c 精湛的遥控器操作手法可以保证无人机安稳着陆 xff0c 但对于很多非专业人士来说 xff0c
  • 技术分享 | Airsim初探-用游戏引擎做仿真

    谈到无人机 无人车仿真 xff0c 首先想到的大概就是gazebo xff0c 但现在都快进入元宇宙时代了 xff08 手动狗头 xff09 xff0c 还再继续使用gazebo这种上个时代的产品就显得不够hack xff0c 是时候了解和
  • 技术分享 | Airsim和PX4远程配置连接教程

    前言 xff1a 远程配置是指一台计算机上安装windows版airsim xff0c 作为服务器 xff0c 另一台计算机上安装ubuntu的px4 xff0c 作为客户端 没有采用ubuntu的airsim是因为windows版的air
  • 调试达人 | 史上最全PX4固件无人机无法解锁问题合集

    很多同学在到手一台或者根据网上教程组装了一台PX4固件的无人机后 xff0c 最迫切的一件事是否是让无人机解锁飞上蓝天 xff1f 但就是在这一步却遇到各种各样的问题导致无法解锁而四处查找资料 xff1f 本文由阿木实验室有多年无人机调试经
  • 常见激光雷达分类

    一 激光雷达的原理 激光雷达的原理类似于声呐 xff0c 只不过这里我们用光代替声音 xff0c 来衡量激光雷达与障碍物之间的距离 主要工作原理是向目标发射激光束 xff08 单线 多线 xff09 xff0c 然后将反射信号与发射信号比较
  • Mini Homer——几百块钱也能搞到一台远距离图数传链路?

    在一些远程操控的场景中 xff0c 图数传链路的选择一直是比较重要的问题 传统的WIFI方式 xff0c 传输距离近50到100米 xff0c 不能满足测试要求 xff0c 更不能在工业现场使用 即便是一些专用的图数传方案 xff0c 传输
  • F200——搭载基于模型设计的国产开源飞控系统无人机

    一 F200简介 F200是目前基于FMT开源自驾仪项目开发的第一款无人机产品 xff0c 旨在为广大无人机爱好者和科研工作者提供一个理想的无人机研发与测试平台 支持室外定高 定点 xff0c 一键起飞 xff0c 一键降落 xff0c 一
  • Prometheus-v2新增地面站,助力高效研发!

    Prometheus地面站是基于Prometheus系统的人机交互界面 xff0c 地面站采用TCP UDP通信进行发送和接收数据 xff0c 而在机载端中则采用ROS MSG消息进行通信 xff0c 该地面站可以更快地让用户复现Prome
  • 赛前指导:第二届未来飞行器挑战赛实践赛道之技术详解

    2022 xff08 第二届 xff09 四川省大学生未来飞行器挑战赛正在火热进行中 xff0c 本次挑战赛中的实践类赛道将面向全省高校大学生个人或团队征集未来先进侦察打一体化无人机的实地竞赛 xff0c 主要考察路劲规划 视觉目标搜索 舵
  • 四元数乘法计算

    关于两个四元数的乘法 xff0c 网上查了一大堆 xff0c 没一个说明白的 我就想知道给我两个四元数 xff0c 我该怎么算出来它们的乘积 这么简单的需求都没法找到答案 xff0c 实在对不起四元数的江湖地位 要想计算四元数的乘法 xff
  • Prometheus-v2控制子模块教学例程demo演示

    在Prometheus v2中 xff0c 我们将代码模块化 xff0c 将功能拆分为子模块 xff0c 具体包含控制子模块 目标检测子模块 路径规划子模块 集群子模块以及matlab子模块等 其中 xff0c 控制子模块作为最基础的子模块
  • 机器人开发新思路——强化学习

    众所周知 xff0c 机器人 xff08 Robot xff09 是一种能够半自主或全自主工作的智能机器 机器人能够通过编程和自动控制来执行诸如作业或移动等任务 xff0c 而在执行过程中 xff0c 最常用的就是判断命令或逻辑 换句话来说
  • Swarm-Formation无人机分布式集群算法浅析与仿真测试

    无人机集群一直是当今研究的热点与难点 然而 xff0c 目前相关的集群规划策略通常缺乏在杂乱环境中避开障碍的能力 为了解决无人机在密集复杂环境下的编队避障飞行这一难题 xff0c 浙江大学 Fast Lab 实验室提出了一种分布式无人机集群