无人机集群在遂行编队飞行时,为避免外界干扰,应尽可能保持电磁静默,少向外发射电


磁波信号。为保持编队队形,拟采用纯方位无源定位的方法调整无人机的位置,即由编队中某


几架无人机发射信号、其余无人机被动接收信号,从中提取出方向信息进行定位,来调整无人


机的位置。编队中每架无人机均有固定编号,且在编队中与其他无人机的相对位置关系保持不


变。接收信号的无人机所接收到的方向信息约定为:该无人机与任意两架发射信号无人机连线


之间的夹角(如图 1 所示)。例如:编号为 FY01 、 FY02 及 FY03 的无人机发射信号,编号为


FY04 的无人机接收到的方向信息是 𝛼 1 , 𝛼 2 和 𝛼 3 。


Python tensorflow 无人机路径规划 python无人机编队_迭代



图 1 无人机接收到的方向信息示意图


请建立数学模型,解决以下问题:


问题 1 编队由 10 架无人机组成,形成圆形编队,其中 9 架无人机(编号 FY01~FY09 )均


匀分布在某一圆周上,另 1 架无人机(编号 FY00 )位于圆心(见图 2 )。无人机基于自身感知


的高度信息,均保持在同一个高度上飞行。


Python tensorflow 无人机路径规划 python无人机编队_无人机_02



图 2 圆形无人机编队示意图


(1) 位于圆心的无人机(FY00)和编队中另 2 架无人机发射信号,其余位置略有偏差的无 机被动接收信号。当发射信号的无人机位置无偏差且编号已知时,建立被动接收信号无人机 的定位模型。(2) 某位置略有偏差的无人机接收到编号为 FY00 和 FY01 的无人机发射的信号,另接编队中若干编号未知的无人机发射的信号。若发射信号的无人机位置无偏差,除 FY00 和 FY01 外,还需要几架无人机发射信号,才能实现无人机的有效定位?


(3) 按编队要求, 1 架无人机位于圆心,另 9 架无人机均匀分布在半径为 100 m 的圆周上。 当初始时刻无人机的位置略有偏差时,请给出合理的无人机位置调整方案,即通过多次调整, 每次选择编号为 FY00 的无人机和圆周上最多 3 架无人机遂行发射信号,其余无人机根据接收到的方向信息,调整到理想位置(每次调整的时间忽略不计),使得 9 架无人机最终均匀分布在某个圆周上。利用表 1 给出的数据,仅根据接收到的方向信息来调整无人机的位置,请给出具体的调整方案。


Python tensorflow 无人机路径规划 python无人机编队_方程组_03



2.1 问题一第(1)小问的分析


问题一第( 1 )小问发射信号的无人机编号已知,位置无偏差,试建立被动 接收信号无人机的定位模型。基于对问题一条件和编队示意图进行分析,将发射 信号的 3 架无人机和被接受信号的无人机绘制在一张图上,标注每架无人机的数 据,然后通过三角形的几何关系,建立含有两个参数的方程组,再进行化简求得关系式。


2.2 问题一第(2)小问的分析


在问题一第(2)小问中,编号为 FY00 (0, 0 )和 FY01 ( R , 0 ),还有若干编号未知的无人机发射信号,发射信号的无人机位置无偏差,还需要多少架无人机才能实现偏差无人机的有效定位。先列出增加 1 架无人机的正弦函数,分析未知量个数和方程式是否相等,若相等即增加一个无人机就能实现偏差无人机的定位,若不相等,再次增加一个无人机数量,但通过分析后发现,无论增加几个无人机,未知量和方程数始终都不相等。所以需对增加的无人机确定角度,将问题转化为问题一第一小问即可求解。


2.3 问题一第(3)小问的分析


问题一第(3)小问中给出了无人机的初始位置,以及理想位置的半径,选 择不同编号的信号机以及不同数量的信号机都将会得出不同的调整方案,当调整的误差最小,调整次数最少时,将会得到最优的调整方案。而在此问中,误差的影响因素有两方面,极径和角度,通过不断调整,选择所有误差相加和最小的作 为最优调整方案,以此来进行调整。


问题(1):


根据题意,会出现三种情况。所以对其分别建立等式。




Python tensorflow 无人机路径规划 python无人机编队_无人机_04


Python tensorflow 无人机路径规划 python无人机编队_迭代_05

对△i0k和△j0k分别运用正弦定理建立关系式:

Python tensorflow 无人机路径规划 python无人机编队_无人机_06

 

Python tensorflow 无人机路径规划 python无人机编队_方程组_07

△i0k和△j0k的情况如图所示:

Python tensorflow 无人机路径规划 python无人机编队_matlab_08

 然后对其运用正弦定理建立等式:

Python tensorflow 无人机路径规划 python无人机编队_无人机_09

 

Python tensorflow 无人机路径规划 python无人机编队_迭代_10

Python tensorflow 无人机路径规划 python无人机编队_方程组_11

同理可得:

Python tensorflow 无人机路径规划 python无人机编队_方程组_12

 仅仅是单纯考虑α之间的关系肯定是不够的,也需要考虑θk锐角和钝角的情况。

Python tensorflow 无人机路径规划 python无人机编队_无人机_13

图6 当θk为钝角

Python tensorflow 无人机路径规划 python无人机编队_matlab_14

Python tensorflow 无人机路径规划 python无人机编队_方程组_15

 

Python tensorflow 无人机路径规划 python无人机编队_方程组_16

很显然,这样分析与之前的α的三种情况区别不大,但有总比没有好。

--------------------------------------------------------------------手动分割--------------------------------------------------------------------------------------------------------------接下来是方程的求解:

Python tensorflow 无人机路径规划 python无人机编队_方程组_17

 

Python tensorflow 无人机路径规划 python无人机编队_方程组_18

 同理可得:

Python tensorflow 无人机路径规划 python无人机编队_无人机_19

Python tensorflow 无人机路径规划 python无人机编队_方程组_20

计算出来的θk根据原点对称有两个解,由于被接受信号无人机位置只有微小偏差,所以只有唯一解,需要对输出的θk确定取值范围,根据小问(3)可知极径的最大偏差为12,所以设定最大极径偏差为14,还有小问(3)输出的偏差最大为0.28rad,所以设定最大角度偏差为50/180,即:

Python tensorflow 无人机路径规划 python无人机编队_无人机_21

 接下来就是对之前定位模型的验证:

Python tensorflow 无人机路径规划 python无人机编队_方程组_22

Python tensorflow 无人机路径规划 python无人机编队_方程组_23

计算出来的rk=99.37与设定的理想圆的半径(100)几乎相等,说明第(1)小问正弦定位模型的准确性很高。

问题(2):

问题中只已知编号FY00(0,0),FY01(R,0)的位置无偏差,这时需要对外围圆周中的8架,第一次随机选择一架无人机,当未知数大于方程个数时,这时需要随机选择两架无人机,再次列出正弦公式,对比未知数和方程数的个数,当未知量与方程数相等时,就可以求解定位方程组。只不过需要添加约束来解出具体增加的无人机编号。

Python tensorflow 无人机路径规划 python无人机编队_方程组_24

模型汇总:

Python tensorflow 无人机路径规划 python无人机编队_方程组_25

 很遗憾,当时没有时间,对第二小问并未进行验证。但思路基本是对的。

问题(3):

求解前的准备:

1.筛选作为信号发射源的无人机

Python tensorflow 无人机路径规划 python无人机编队_迭代_26

 将表的数据与各点的理想位置数据进行相减,得到10个无人机和角度的差值:

Python tensorflow 无人机路径规划 python无人机编队_方程组_27

再计算每架无人机初始位置与理想位置的距离,筛选距离最小的无人机,将其定为发射源运用欧氏距离对距离进行求解,有关距离的阴影部分可以近似看作△,记第n架无人机的弧长为:

Python tensorflow 无人机路径规划 python无人机编队_方程组_28

其中△θn是圆心角度数(弧度制),R是半径。

第n架无人机初始位置与理想位置的距离为:

Python tensorflow 无人机路径规划 python无人机编队_无人机_29

 

Python tensorflow 无人机路径规划 python无人机编队_matlab_30

 但第一小问中,α是已知的,第三小问的阿尔法与第一小问的阿尔法有点小小的不同,需建立方程进行求解:

Python tensorflow 无人机路径规划 python无人机编队_迭代_31

在等腰△0jk中:

Python tensorflow 无人机路径规划 python无人机编队_方程组_32

Python tensorflow 无人机路径规划 python无人机编队_matlab_33

 偏差优化模型的建立:

Python tensorflow 无人机路径规划 python无人机编队_无人机_34

 

Python tensorflow 无人机路径规划 python无人机编队_无人机_35

 

Python tensorflow 无人机路径规划 python无人机编队_迭代_36

Python tensorflow 无人机路径规划 python无人机编队_matlab_37

模型的求解:

Python tensorflow 无人机路径规划 python无人机编队_无人机_38

Python tensorflow 无人机路径规划 python无人机编队_方程组_39

 

Python tensorflow 无人机路径规划 python无人机编队_matlab_40

 

Python tensorflow 无人机路径规划 python无人机编队_matlab_41

  误差迭代曲线

 无人机迭代图:

Python tensorflow 无人机路径规划 python无人机编队_迭代_42

 

Python tensorflow 无人机路径规划 python无人机编队_方程组_43

具体调整方案为:

Python tensorflow 无人机路径规划 python无人机编队_matlab_44

本人不会改格式,所以文章格式很乱,且思路不是很清晰,实在不好意思,大家将就着看吧。


Q:作者大大,模型求解里的1.36是指的前面的哪个公式呢?

A:如下图所示

Python tensorflow 无人机路径规划 python无人机编队_迭代_45

Q:博主,请问这个第一题第三问的优化目标函数具体是啥呀,前面不是已经求出来偏差距离了吗,这个优化的方程不是很理解。

A:因为你算了一次后会有9组数据,所以选择小的三个进行信号源就行了。 就如下图所示

Python tensorflow 无人机路径规划 python无人机编队_迭代_46

 Q:想问问作者大大第三问那个第n架无人机弧长计算公式啥意思呀

A:这是个弧长公式,你可以百度下。我当时好像是直接用欧氏距离算的,只是论文这样写的而已,具体也记不清楚了,抱歉。

Q:模型求解里的1.14和1.36是前面的哪两个公式呀

A:1.36在上面已经答复,这里给出1.14

Python tensorflow 无人机路径规划 python无人机编队_无人机_47

 Q:代码可以传github吗,想参考学习一下

A:论文投了会公开代码,不幸的是代码现在不见了,得我考完研再重新写(cry.JPG)