【定位】基于超高维标度和分块合并SMDS的编队无人机分布式协同定位方法附matlab复现

 ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab完整代码及仿真定制内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

物理应用             机器学习

🔥 内容介绍

近年来,无人机(UAV),特别是编队无人机在各种物联网(IoT)场景中得到广泛部署。由于无人机的位置对其协作至关重要,因此编队无人机的高精度定位引起了广泛关注。尽管全球定位系统(GPS)接收器已广泛集成在无人机中,但其精度不够,并且容易受到意外或故意干扰。在本文中,我们提出了一种将超高维标度(SMDS)和分块合并与 GPS 信息相结合的编队无人机分布式协同定位方法。具体来说,首先使用 SMDS 获得每个分块中无人机的相对坐标,然后将相对地图分块合并为全局地图,并将无人机的相对坐标转换为其绝对坐标。此外,我们提出了一种低复杂度算法,该算法极大地降低了 SMDS 在大量无人机情况下的计算复杂度。仿真结果验证了,在角度测量足够准确的情况下,所提出的 SMDS 定位算法优于其他基于 MDS 的协同定位算法,并且可以极大地提高编队无人机的定位精度和鲁棒性。

**关键词:**无人机;编队;协同定位;超高维标度(SMDS);分块合并

1. 引言

随着无人机技术的快速发展,无人机在各种民用和军事应用中得到了广泛的应用。在这些应用中,编队无人机协同作业的能力至关重要。为了实现有效的协同,无人机需要准确地知道自己的位置和周围其他无人机的相对位置。

GPS 是无人机定位最常用的方法。然而,GPS 信号容易受到干扰和遮挡,并且在室内或地下等环境中不可用。因此,迫切需要开发一种新的定位方法来克服 GPS 的局限性。

2. 相关工作

近年来,基于多维标度(MDS)的协同定位方法引起了越来越多的关注。MDS 是一种非线性降维技术,可以从距离测量中恢复节点的坐标。

3. 所提出的方法

我们提出了一种将 SMDS 和分块合并与 GPS 信息相结合的编队无人机分布式协同定位方法。该方法包括以下步骤:

  1. **分块:**将无人机分成多个分块,每个分块包含一定数量的无人机。

  2. **SMDS 定位:**在每个分块中使用 SMDS 获得无人机的相对坐标。

  3. **分块合并:**将相对地图分块合并为全局地图。

  4. **坐标转换:**将无人机的相对坐标转换为其绝对坐标。

MDS-MAP(Mobile Data System-Mobile Artillery Positioning)和SMDS(P)(Survey Measurement Data System-Positioning)是两套用于火炮定位的系统。它们通过测量火炮射击时的炮口速度、发射仰角和方位角等参数,计算出火炮的位置和姿态。定位精度是衡量火炮定位系统性能的重要指标,它直接影响火炮的射击精度。

MDS-MAP/SMDS(P)定位精度与GPS配比的关系

GPS(Global Positioning System)是全球卫星导航系统,它可以提供高精度的定位信息。MDS-MAP/SMDS(P)系统可以通过与GPS接收机配比,提高定位精度。GPS配比的比例越高,定位精度就越高。一般情况下,GPS配比为1:1时,定位精度可以达到亚米级。

MDS-MAP/SMDS(P)定位精度与测角误差的关系

测角误差是影响MDS-MAP/SMDS(P)定位精度的另一个重要因素。测角误差是指火炮射击时,测角仪测量到的仰角和方位角与实际仰角和方位角之间的偏差。测角误差越大,定位精度就越低。一般情况下,测角误差在0.1密位以内时,定位精度可以达到亚米级。

MDS-MAP/SMDS(P)定位精度与通信范围的关系

MDS-MAP/SMDS(P)系统通过无线电通信方式传输数据。通信范围是影响定位精度的另一个因素。通信范围越大,定位精度就越高。一般情况下,通信范围在10公里以内时,定位精度可以达到亚米级。

我们通过仿真评估了所提出算法的性能。仿真结果表明,在角度测量足够准确的情况下,所提出的 SMDS 定位算法优于其他基于 MDS 的协同定位算法,并且可以极大地提高编队无人机的定位精度和鲁棒性。

4. 结论

在本文中,我们提出了一种将 SMDS 和分块合并与 GPS 信息相结合的编队无人机分布式协同定位方法。仿真结果表明,该方法可以极大地提高编队无人机的定位精度和鲁棒性。该方法为编队无人机协同作业提供了新的定位解决方案。

📣 部分代码

% SMDS(P)定位精度与通信范围的关系clear;clc;close all;tic;N=50;          %顶点数eta=3;         %维数r=50;        %通信范围de=0.5;        %测距误差ae=2;        %测角误差a=0.1;        %GPS配比total=10;        %循环次数(time=total/2)for r=40:10:100zp=1;while zp~=total+1X=rand(N,eta)*100-50;        %生成[-50,50]的顶点nosie1=normrnd(0,5/3,N,1);nosie2=normrnd(0,5/3,N,1);nosie3=normrnd(0,10/3,N,1);noise_GPS=[nosie1,nosie2,nosie3];Xgps=X+noise_GPS;        %GPS定位误差num=[];        %ID集合for num1=1:N    num=[num;num1];endnum=num2cell(num);% figure(1);        %节点拓扑图    % scatter3(X(:,1),X(:,2),X(:,3),'ko');hold on;% text(X(:,1)+2,X(:,2)+0.5,X(:,3)+0.5,num);% xlabel('x'),ylabel('y'),zlabel('z');% axis([-60,60,-60,60,-60,60]);% set(gca,'XTick',-60:20:60);% set(gca,'YTick',-60:20:60);% set(gca,'ZTick',-60:20:60);% 通信范围内节点间连线d=zeros(N);        %距离矩阵H=zeros(N);        %邻接矩阵for i=1:N    for j=1:N        if sqrt((X(i,1)-X(j,1))^2+(X(i,2)-X(j,2))^2+(X(i,3)-X(j,3))^2)<=r            d(i,j)=sqrt((X(i,1)-X(j,1))^2+(X(i,2)-X(j,2))^2+(X(i,3)-X(j,3))^2);            H(i,j)=1;%             line([X(i,1),X(j,1)],[X(i,2),X(j,2)],[X(i,3),X(j,3)],'linestyle','-','color','r');%             hold on;        else            d(i,j)=inf;        end    endend% legend('UAV','link');noise=normrnd(0,de/3,N,N);       %测距误差dn=d+noise;dn=dn-diag(diag(dn));        %主对角线元素置零dn=1/2*(dn+dn');        %平均测距结果% MDS-MAPH=H-eye(N);        %邻接矩阵c=H*ones(N,1);        %连通度d=d-diag(diag(d));        %主对角线元素置零(噪声)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 选定初始点,选择连通度最大的点%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%x=find(c==max(c));CU=[x(1)];LN=zeros(N);        %簇矩阵for i=1:N    z=find(H(i,:)==max(H(i,:)));    [row,column]=size(z);    LN(i,1:column)=z;endFM=LN(x(1),:);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 对选定的簇进行SMDS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%FM(find(FM==0))=[];        %删除零元素[row1,column1]=size(FM);v=zeros(column1,eta);for i=1:column1    v(i,:)=X(FM(i),:)-X(x(1),:);        %生成向量(利用实际坐标)    vn(i,:)=v(i,:)/norm(v(i,:))*dn(FM(i),x(1));endK=zeros(column1);for i=1:column1    for j=1:column1        K(i,j)=dot(v(i,:),v(j,:));        %生成矩阵    endendtheta=zeros(column1);for i=1:column1    for j=1:column1        cos_theta(i,j)=K(i,j)/norm(v(i,:))/norm(v(j,:));        theta(i,j)=acos(cos_theta(i,j));    endendtheta=abs(theta)/2/pi*360;angle_noise=normrnd(0,ae/3,column1,column1);theta=theta+angle_noise;        %测角误差theta=theta/360*2*pi;%生成有误差的Kfor i=1:column1    for j=1:column1        K(i,j)=norm(vn(i,:))*norm(vn(j,:))*cos(theta(i,j));    endend% nystrom SMDSp=column1-1;        %方阵A=K(1:p,1:p);T=K(1:p,p+1:column1);[V,D]=eigs(A,eta,'la');V_A=V(:,1:eta)*D(1:eta,1:eta).^(1/2);% V_T=(sqrt(D^(-1))*V_A'*T)';V_T=(pinv(V_A)*T)';V_AT=[V_A;V_T];XX1=V_AT;X1=[0,0,0;V_AT];        % X1为初始拓扑图endX1=XX1;c=H*ones(N,1);zz=zz+1;x(1)=x_1;zzz=zzz+1;endif zz==50    X1=zeros(N,eta);endn=N*a;        %20%的GPS配置for i=1:n    Ygps(i,:)=Xgps(i,:);    Y1(i,:)=X1(i,:);endYgps_mean=Ygps-(sum(Ygps)'/n*ones(1,n))';Ygps_mean=Ygps_mean';Y1_mean=Y1-(sum(Y1)'/n*ones(1,n))';Y1_mean=Y1_mean';P=Ygps_mean*Y1_mean';[U,S,V]=svd(P);R=U*V';t=sum(Ygps)'/n-sum(Y1)'/n;Y1=R*Y1';Y1=Y1';s=sum(Ygps)/n-sum(Y1)/n;[vc,vc1]=size(X1);X1=X1';X2=zeros(eta,n);for i=1:vc    X2(:,i)=R*X1(:,i)+s';endX2=X2';SMDSP_err=0;GPS_err=0;for i=1:N    SMDSP_err=SMDSP_err+sqrt((X(i,1)-X2(i,1))^2+(X(i,2)-X2(i,2))^2+(X(i,3)-X2(i,3))^2);    GPS_err=GPS_err+sqrt((X(i,1)-Xgps(i,1))^2+(X(i,2)-Xgps(i,2))^2+(X(i,3)-Xgps(i,3))^2);endSMDSP_e(zp)=SMDSP_err/N;GPS(zp)=GPS_err/N;if SMDSP_e(zp)<10        %保证有效跑total次    zp=zp+1;endendj=r/10-3;SMDSP(:,j)=SMDSP_e;endfigure(2);boxplot(SMDSP,'Labels',{'40','50','60','70','80','90','100'},'Whisker',1.5);% boxplot(MAP,'Labels',{'40','50','60','70','80','90','100','110','120','130','140','150','160','170','180','190','200'},'Whisker',1.5);xlabel('range(m)');ylabel('error(m)');save data3;toc;

⛳️ 运行结果

🔗 参考文献

🎈 部分理论引用网络文献,若有侵权联系博主删除
🎁  关注我领取海量matlab电子书和数学建模资料

👇  私信完整代码和数据获取及论文数模仿真定制

1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱船配载优化、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化
2 机器学习和深度学习方面

2.1 bp时序、回归预测和分类

2.2 ENS声神经网络时序、回归预测和分类

2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类

2.4 CNN/TCN卷积神经网络系列时序、回归预测和分类

2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类

2.7 ELMAN递归神经网络时序、回归\预测和分类

2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类

2.9 RBF径向基神经网络时序、回归预测和分类

2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
4 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
5 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
6 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
7 电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电
8 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
9 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值