无人机集群编队控制算法,二维,三维空间MATALB仿真

  • 引言
    • 无人机集群编队
    • 无人机避障
    • 无人机目标追踪

引言

本人研究生期间,主要研究无人机集群编队,目标追踪,避障,路径规划等,参考了大量论文,也走了不少弯路,今天将一些心得写出来,希望能够帮到师弟师妹们,早发论文,早日毕业。

无人机集群编队

什么叫编队?就是几架无人机保持一个特定的队形移动而已。

什么叫集群?就是很多无人机协调一致的运动,这里面用到了一致性思想。

代码中如何体现?管它什么无人机,无人艇,无人飞船,全部都是质点。
如果考虑到通信,划分通信范围;如果考虑到避障,划分防碰撞范围。本质来说都是以无人机质点为中心得一个圆(二维)或者一个球(三维)。

很多论文中会提出一些算法的背景,比如受到生物集群迁徙等行为的影响,牛群,羊群,蜜蜂等等,论文中这么写可以,代码实现要抓住本质!

另外,我这里着重介绍集群,或许有很多同学研究的只是少量的几个无人机编队,我也希望你们能够看下去,因为多的无人机都能编队了,少的当然更可以了。

---------------- 介绍两个人,或者说是两种算法 ----------------

Reynlod和Olfati-Saber,搞过集群,看过相关论文的都知道他俩,也很熟悉下面这两图吧,图2是我代码跑出来的,标准三维集群。


Biods模型

三维集群模型

1.首先介绍Biods模型的思想:分离,内聚,对齐

通俗的来说,就是靠的太近的无人机彼此分离,以免碰撞;靠的太远的无人机彼此吸引,以免分散;速度对齐,保持一致,这就是一致性的思想。

这是一种局部的算法,每一架无人机通过其通信范围内的邻居无人机的运动状态,适时调整自身的状态。

其代码实现的本质为:向量
注意,下面的位置和速度都是向量

位置更新,根据当前时刻无人机i的位置向量和当前时刻无人机邻居j的位置向量,求得下一时刻无人机i的位置

Pi(t+1) = Pi_(t) + (Pi_(t)-Pj_(t))/f(||Pi_(t)-Pj_(t)||)
Vi_(t+1) = Vi_(t) + (Vi_(t)-Vj_(t))/g(||Vi_(t)-Vj_(t)||)

速度一样,只是要调参。

Vi_(t+1) = Vi_(t) + (Vi_(t)-Vj_(t))/g(||Vi_(t)-Vj_(t)||)

至于无人机之间怎么避碰,是同样的原理。注意,无人机j是无人机i的邻居,什么叫邻居?通信范围内的;那么避碰的时候呢?对,就是防碰撞范围内的。

2.介绍Olfati-Saber模型的思想

另外,介绍一个重要的概念,什么叫势能?在代码中,无人机是怎么运动起来的呢?

所谓的势能,其实就是距离。MTALB仿真,不论是二维还是三维,首先生成一些随机散乱的点,

N = 20;%数量
p = 2*rand(2,N);  %位置

那么计算各个点之间的距离,然后自己设置一个势能函数f,就可以求得势能。

F = f(||p(i)-p(j)||)

然后用一个方法就去降低势能,比如常用的梯度下降算法等,就可以不断地迭代,求得无人机每一次的位置。
然后,画出这些位置,无人机就运动起来了。

人工势场法也就是这个意思

看到这里,同学们肯定觉得我说了一些废话,既不给你们看代码,也不给你们看具体的公式。我只是想先让你们理解,树立一个意识,因为论文是需要创新的,创新点在哪里,就是在这些公式里面,很多论文换一个势能函数,换几个公式就是创新了!!!

别着急,后面我会把代码和公式给大家。

动力学方程:

无人机邻居集合:

无人机稳定时状态:

控制方程:

势能函数:

平滑函数:

总势能:

后面还有很多公式,我就不一一粘贴了,因为我的本意不是将论文的一些公式摆出来,大家自己去找论文看就好了,我是想要讲解一下我的心得。

至于大家最关心的代码问题,如果需要,我会给大家。

无人机避障

避障的本质:就是障碍物给无人机一个反向的作用力。

就像我之前写的,在代码中一切都是质点,只是有些具有范围。
障碍物就是有范围的质点,我们可以获取到它的坐标,怎么获取?感知范围。怎么避障?一个反向的作用力,更新位置。

看到这,还是一脸懵逼么。MATLAB操作的都是矩阵,这个是核心,我们做的研究,只涉及到位置矩阵,速度矩阵,这也是核心。

至于公式,代码,我后期会更新。

无人机目标追踪

目标追踪的本质:就是目标给无人机一个正向的作用力。

和避障相反,无人机感知到目标之后会给其一个正向吸引的作用力。

动态目标怎么办?
要有预测。

此时需要用到的算法有,kalman滤波算法及其衍生算法KF-kalman,UKF-kalman,DKF-kalman。如果是做无人机集群,建议用DKF-kalman。

一致性思想的本质:就是降低差异性,通过邻居的动作调整自身,最后所有无人机协调一致运动。
这一思想在无人机协同控制方程中有体现,在分布式卡尔曼滤波算法中也有体现。

最后,给大家看一下我做的无人机集群的仿真结果吧。


关于目标追踪,有单目标追踪和多目标追踪。这部分我下次再介绍。

三维空间无人机集群编队控制,避障,目标追踪相关推荐

  1. 这四个问题处理好,无人机集群编队研究会有新突破

    已剪辑自: https://zhuanlan.zhihu.com/p/164849525 无人机.机器人编队或者是集群控制,说到底,虽然都是多智能体的控制,唯一有区别的在于空间或者平面,但随之带来的问 ...

  2. 多无人机集群编队国内外研究现状和发展方向

    `多无人机集群编队国内外研究现状和发展方向 - 搜狐网 https://m.sohu.com/a/403671784_99986805?trans=010004_pcwzy –编队控制技术最早是针对空 ...

  3. 新品发布 | 无人机集群编队全套方案来啦!

    无人机集群编队开发平台 当我们研究集群算法或相关应用时,一般情况下,都会先开发仿真,仿真开发完毕后,常常因为找不到合适的无人机平台验证自己的集群算法或代码而发愁,好不容易找到接近的无人机平台后,却又与 ...

  4. Crazyswarm/Crazyflie多无人机集群编队实验平台

    平台概述 Crazyswarm多无人机集群编队实验平台是基于ROS开发的可快速实验多种无人机单机飞行任务和无人机集群控制算法开发验证的实验平台. Crazyswarm多无人机集群编队实验平台使用Cra ...

  5. 无人机集群飞行控制思考

    说明: 该仅作为对无人机集群的控制的思考,并未进行实际测试,是一个笔记. 背景: 共有2架无人机(至少),需要完成起飞.执行任务.返回的一系列操作. 起飞:使用RTK定位,保证了定位精度.但是坐标的初 ...

  6. 基于控制的角度无人机集群——避障(有源代码)

    无人机集群--避障 前言 一.浅谈避障 二.复杂公式 三.仿真效果 1.集群效果 2.避障效果 总结 前言 关于无人机集群避障的问题,我在之前的博客中已经简单描述了一下. 三维空间无人机集群编队控制, ...

  7. AirSim学习日志 4-多无人机集群控制

    集群编队控制有集中式和分布式两种.集中式控制需要一个控制中心,受限于中心计算机计算资源的限制,无法做到大规模编队,且中心计算机被击毁后,系统将失控. 分布式控制没有一个中心点对集群进行控制,通过集群中 ...

  8. 多智能体系统集群协同控制实验平台详解与典型案例

    目录 一.机器人实验是智能体集群研究必要手段 二.动作捕捉系统解决智能体集群实验系统多个痛点 三.多智能体集群协同控制实验平台 1.Crazyswarm多无人机集群编队实验平台 2.Robotariu ...

  9. 技术分享 | 基于室外RTK/GPS定位系统下的无人机集群协同

    在自然界中,为弥补个体能力的不足,诸多生物种群能通过个体相互之间的交流与合作呈现出某种群体行为,比如鱼群结群游弋.鸟群聚集迁徙以及蚂蚁协同搬运等.受此激励,人们希望开发像鸟群.鱼群一样自由集结可以执行 ...

最新文章

  1. linux centos7安装git服务器配置,CentOS7 Linux环境下搭建Git仓库
  2. MindSpore布道师队伍招募开始,助力小白成为大牛!
  3. 8.4 matlab用户界面设计工具
  4. 安卓四大组件之Activity
  5. android四个按钮平分,android 水平平分两个按钮
  6. 跨时钟域电路设计——单bit信号
  7. core控制器属性注入的用处_asp.net-core – 如何使用Autofac和ASP.NET Core在控制器上启用属性注入?...
  8. iPhone 12/13正面对比图曝光:祖传大刘海终于有所改变
  9. objective-c 类别
  10. LeetCode 153. 寻找旋转排序数组中的最小值(二分)
  11. 32位存储字长存储double_1GB多大?1GB与1MB的关系?详细数据存储单位转换来了...
  12. powershell:move-item
  13. stats—stats.probplot绘制数据与正态分布分位数的拟合图
  14. Extjs4循序渐进(一)——开始Ext
  15. 【学堂在线数据挖掘:理论方法笔记】第七天(4.1)
  16. Golang通过包长协议处理TCP粘包
  17. BZOJ-2037 Sue的小球 DP+费用提前
  18. 多元回归分析的心得(笔记)
  19. 海洋CMS忘记后台管理员密码解决方法
  20. 当我们讨论“平台”,我们在说什么

热门文章

  1. 我的世界服务器tab修改,TAB自定义(TabModifier)插件|我的世界1.12版本
  2. Selenium爬取36万条数据告诉你:网易云音乐热评究竟有什么规律?
  3. mbot机器人巡线程序_mbot app-mbot机器人手机控制app1.1.7 官方安卓客户端-东坡下载...
  4. 一次调频matlab仿真,基于Matlab的大型火电机组一次调频特性仿真.pdf
  5. Java程序生成一副扑克牌
  6. kolin协程讲解不错的几篇博客
  7. 深入理解Java注解类型(@Annotation)
  8. 谋势、聚力、强生态,用友三十而立
  9. Observer模式
  10. 艾永亮:锅盔同质化严重并缺乏创新,它能否成为“超级产品”