无人机在三维空间中如何均匀分布?

提示:从力学的角度出发

问题描述

本人之前研究的无人机集群方向是从力学的角度入手,通过计算无人机之间的相互作用力,进而规划下一步的动作。

后来在执行目标追踪任务的时候,想到了两个问题,如何判断追踪成功?如何对目标进行有效的控制?

在二维空间中可以进行有效的包围,不论是正方形,还是圆形,那么在三维空间呢?

基于控制的角度无人机集群——目标追踪


算法分析

提示:在三维空间中对目标有效控制的难点是:无人机在三维球体如何均匀分布。

思路:对每一个无人机设定坐标:x, y, z; 设定速度:Vx , Vy, Vz,计算其余无人机对当前粒子的作用力,求解一个微分方程,初始状态随机分布,每一次迭代更新当前无人机的运动速度和位移。

我简单画了个图,希望大家看的直观一些,应该是三维球体,这只是一个切面,大家不要理解错了哦!


F1表示P1对Pi的斥力;
F2表示P2对Pi的斥力;

将所有力求合力,即得到F合力,将F合力分解为径向分量Fr和切向分量Fv这个力忘记画了,其实就是球体切线方向的力

速度更新:
Vt+1 = Vt + G*Fv

欲求切向分量,先求径向分量:
FV = F合力 - Fr

求合力的方法:

球面无人机i的坐标
Ri = [xi, yi, zi]

求无人机i与邻居无人机j的矢量之差
ddj = (ri - rj)

敲公式太费劲了,我还是上图片吧
求无人机i与邻居各点的距离

计算合力


F合力 = Fx + Fy + Fz

求径向分量
(xi*Fx + yi*Fy + zi*Fz) *(xi, yi, zi) = Fr

为啥???
看到这里大家一脸懵逼,为什么这么计算呢?

因为,我是以球心为原点建立的坐标系。

求切向分量
FV = F合力 - Fr

更新坐标
rt+1 = rt + vt

更新速度
vt+1 = vt + G*Fv

最后,提醒大家,一定要注意矢量运算,在matlab中,一切皆为矩阵,这是基础!!!


给大家看一下仿真结果吧,这应该是一个动态的视频,我截取了两张图,分别是初始状态,和最后的状态。

仿真结果

代码跑出来的结果如下:

初始时刻,无人机粒子随机散落在球体表面。

算法迭代结束时,无人机粒子均匀散落在球体表面。

两句辛酸

在研究的过程中是痛苦,也是难忘的,我们会遇到零星散落的星光,却难以找到准确的答案。不论是集群算法,还是避障算法,目标追踪等,我没法给大家一个系统的全面的解释,只能简单介绍一下我的心得,剩下的需要大家一起摸索。我们的研究方向或许有所出入,但是我相信散落的星光会汇聚成星河,星河的尽头就是光明的方向。

欢迎大家留言,一起交流哦!

三维空间无人机均匀分布——球体包围相关推荐

  1. 三维空间无人机集群编队控制,避障,目标追踪

    无人机集群编队控制算法,二维,三维空间MATALB仿真 引言 无人机集群编队 无人机避障 无人机目标追踪 引言 本人研究生期间,主要研究无人机集群编队,目标追踪,避障,路径规划等,参考了大量论文,也走 ...

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

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

  3. 2022数模国赛B题无人机第一题第一小问的简单编程

    前言 2022年国赛B题是关于无人机定位的抽象模型,总体难度不大.接下来简单介绍一下第一题第一小问的程序实现,当时国赛仓促,写的比较简略,仅供参考. 背景介绍 无源定位 第一个关键词是无源定位,无源定 ...

  4. d3.js 旋转图形_变化莫测的图形推理,你能解出几种?

    图形推理题是逻辑推理中一个很常见的部分,相比数字推理题的繁琐,图形推理题一般对计算能力的要求较低,相对着重于考察大家的观察能力,比如是否能找到一组图形的共通点及演化方式等. 想要答好图形推理题,我们不 ...

  5. 【《Real-Time Rendering 3rd》 提炼总结】(十一) 第十四章 : 游戏开发中的渲染加速算法总结

    本文由@浅墨_毛星云 出品,转载请注明出处.   文章链接: http://blog.csdn.net/poem_qianmo/article/details/78884513 导读 这是一篇1万3千 ...

  6. 【转载】【《Real-Time Rendering 3rd》 提炼总结】(十一) 第十四章 : 游戏开发中的渲染加速算法总结

    本文由@浅墨_毛星云 出品,转载请注明出处.    文章链接:  http://blog.csdn.net/poem_qianmo/article/details/78884513 导读 这是一篇1万 ...

  7. PCLVisualizer可视化类

    PCLVisualizer可视化类是PCL中功能最全的可视化类,与CloudViewer可视化类相比,PCLVisualizer使用起来更为复杂,但该类具有更全面的功能,如显示法线.绘制多种形状和多个 ...

  8. 【考研英语】阅读理解词汇注释

    阅读理解词汇注释 序 相当于给自己的英语练习设一个打卡的地方啦,自勉,也互勉~ 文章目录 阅读理解词汇注释 序 01 年真题 7.12 科学发展的职业化和专业化 7.13 利用互联网缩小数字鸿沟,战胜 ...

  9. 【随机数生成算法系列】线性同余法和梅森旋转法

    一般我们用到的随机算法都是伪随机算法,什么叫伪随机算法呢?伪随机算法意思是假如知道第一个随机种子和随机算法的话就可以推算出下一个随机数.通常我们程序里都是通过当前时间作为随机函数的第一个随机种子,然后 ...

最新文章

  1. Python自然语言处理实战
  2. hashmap实现倒排索引——查询多个单词出现在多个句子中
  3. nginx-URL重写
  4. 利用java格里高利公式求圆周率_用格里高利公式求π的近似值
  5. node php聊天室,最简单的Nodejs聊天室示例
  6. 关于socket组播和ssdp(一)[修改1.2]
  7. mysql 电商项目(二)
  8. Machine Learning - week 4 - Non-linear Hypotheses
  9. Debian 配置Bind9 DNS服务器
  10. Linux配置中文输入法
  11. windows xp输入法设置空白解决的方法
  12. Idea中jrebel激活码
  13. 百度离线语音合成SDK使用
  14. 使用阿里云centos7.6进行steam挂卡(使用ASF,更新日期为2021.2.12)解决ASF服务器中文运行的问题
  15. 标准正态分布函数数值表
  16. 阿里云settings.xml配置
  17. SEO初学者如何正确选择SEO培训机构或老师
  18. WLAN射频和信道--总结记录
  19. 计算机硬件的开发及应用,关于计算机硬件安装的课件开发
  20. VMWare虚拟机识别USB设备

热门文章

  1. ECCV 2022 旷视入选论文亮点解读(上)
  2. Debezium报错处理系列九:“ddl“ : “# Dummy event replacing event type 160 that slave cannot handle.“
  3. jupyter notebook 打开ipynb时提示到后台服务的连接没能建立, 我们会继续尝试重连, 请检出网络连接...还有服务配置 命令行显示Replacing stale connection
  4. linux yum仓库命令,linux 自定义yum仓库、repo文件 yum命令
  5. 分享逻辑思维导图模板,需要的自取进行编辑使用
  6. 高清液晶触控一体机整合传播,优势明显
  7. java3d翻转纪念相册_抖音上很火的3D立体动态相册实现代码!
  8. GIT常用命令for QA
  9. 去中心化的区块链如何理解?
  10. EasyDarwin开源流媒体服务器Golang版本:拉转推功能之拉流实现方法