无人机集群协同导航构型自适应选择算法

news2024/11/18 13:59:42

无人机集群协同导航构型自适应选择算法

Evandworld
E-mail:evandworld@foxmail.com

摘要

针对卫星定位系统用于无人机集群时成本高、精度低等问题,本文提出一种基于卡尔曼滤波和概率的无人机集群构型自适应选择算法。在自适应扩展卡尔曼滤波的基础上,基于集群的概念判断适用于卫星定位的领航无人机(主机),剩余的从机(僚机)由相对导航确定与主机之间的位置关系,进而进行绝对定位。仿真实验结果表明:所用的无人机集群构型自适应选择算法可以挑选出适合用于卫星定位的无人机,可以为后续的协同导航提供高精度的位置参考点。

关键词

协同导航; 扩展卡尔曼滤波; 无人机集群; 置信传播

引言

基于全球导航卫星系统(Global Navigation Satellite System, GNSS)的导航方法因为使用成本低、导航精度高而被广泛运用,但是在城市、森林等特殊环境下,卫星的信号极易因为特殊的环境或障碍物遮挡,造成不可提前预测的精度降低乃至定位失败的问题。对于无人机(Unmanned Aerial Vehicle, UAV)集群,可将群体中的无人机划分为主机和僚机,并采用协同导航的方法增强群体的总体导航能力。近年来,关于协同导航的研究日益活跃,特别是在支持军事行动和智能交通系统(Intelligent Transportation Systems, ITS)方面,这是因为此类应用经常面临GNSS挑战(拒止)的环境。例如,在军事情况下,车辆可能会从GNSS随时可用的情况转变为完全被拒绝的情况。在 ITS 背景下,城市峡谷通常会导致极端的多径、GNSS 完全阻塞和/或非视距 (LOS) 信号的接收,这可能导致高达数百米的位置误差。
基于上述分析,协同定位技术目前是UAV集群方面的热门问题,主要的研究内容有:基于加权最小二乘法间接融合自身位置、利用卡尔曼滤波(Kalman Filter, KF)融合观测信息和自身增量导航数据、实现精确定位。然而,上述方法均没有考虑到作为参考无人机的主机位置的不确定性,这也是协同定位不同于简单的绝对定位的地方。基于协同导航最终的定位精度不仅取决于测距传感器的能力,还取决于相邻无人机的位置精度和编队这一实事,文献提出了一种适合无人机群体协同导航的协同精度因子计算方法,并设计了一种基于测距信息的协同组合导航方法,有效分析编队对无人机群定位精度的影响。但是这一方法需要进行多次矩阵求逆的运算,计算复杂度随UAVs的数量增长呈现指数级的上升。文献对处于弱GNSS信号区域的UAV,采用相对定位的方法,提高集群整体的定位与导航的性能。
本文提出一种高效且准确的方法,在卡尔曼滤波的基础上,利用概率模型对潜在的领航主机进行误差分析,选择GNSS精度较高的若干个无人机,方便后续僚机的相对定位。

算法解释

将UAV集群中搭载了GNSS/INS/UWB的无人机称为(潜在)主机,其中GNSS和INS可以进行组合导航以获得实时的绝对位置信息,UWB用于与僚机进行相对定位;僚机仅搭配UWB和INS。

自适应EKF预处理

因为KF只适用于线性的系统,而无人机导航信息的滤波具有一定的非线性特征,现有快照LS方法、扩展卡尔曼滤波器(EKF)、联邦卡尔曼滤波器(FKF)、无迹卡尔曼滤波器(UKF)、粒子滤波器(PF)、因子图(FG)等改进方法可以适用于非线性系统。EKF的优点是其相对较低的复杂性以及提供高质量估计的能力,本文研究重点不在融合方法上,因此采用EKF作为潜在主机的组合导航滤波算法。

具体的推导过程此处不再重复叙述。
在GNSS观测误差较大时,观测误差协方差矩阵的R会有变化,因此上述普通的EKF无法继续对系统进行估计。

基于概率模型的主机选择

在获得各个GNSS的位置后,各潜在主机之间的相对位置关系可以通过两种方法进行计算:

  1. 基于自适应EKF的组合导航获得的绝对位置作差(下称“GNSS距离”);
  2. 基于UWB直接求解的相对位置数据(下称“UWB距离”)。
    因为UWB的精度较高,在正常环境下可以达到分米级[13],且其误差与GNSS的误差非同源,因此对比上述两种方法的误差,监测奇异点即可得到每架潜在主机可以作为参考节点的概率,根据实际情况选择概率最高的若干架即可。流程图如图 1:
    在这里插入图片描述

图 1 判断主机的流程图
图中左侧和右侧表示了两个循环,第一个循环(左侧)列出了求解两两UAVs之间的GNSS距离和UWB距离的方法,第二个循环(右侧)给出了根据误差差异求取潜在主机成为主机的概率,并根据设置的数量输出作为主机的UAV序号。其中,阈值a表示正常的GNSS计算出来的误差最大值,对于高斯误差,一般取平均值上浮两倍标准差的值,即: ;阈值b取理想的主机数量,取潜在主机数量的一半即可。需要注意的是,num是一个非负整数,在正常情况下是一个非负整数,所以在确定b的取值时无需精确到小数部分。

仿真与结果

仿真条件设置

共设置10架UAVs,其中5架为装在了GNSS接收机、INS、UWB的潜在主机,5架为仅装在了UWB和INS的僚机。
传感器配置和仿真参数如表:
表 1 传感器配置和仿真参数表
传感器 参数 值 单位
陀螺仪 常值漂移 0.1 deg/s
高斯噪声标准差 0.1 deg/s
一阶马尔可夫漂移误差 0.01 deg/s
一阶马尔可夫时间 3600 s
加速度计 一阶马尔可夫漂移误差 0.01 g
一阶马尔可夫时间 1800 S
GNSS 伪距噪声标准差 1.4 m
伪距多普勒噪声标准差 7 Hz
UWB 高斯噪声标准差 0.1 m
UAVs集群的轨迹如图 2:
在这里插入图片描述

图 2 UAVs集群轨迹图
3.2 结果与分析
基于以上仿真条件,对自适应EKF算法进行精度分析。将非滤波的GNSS定位算法、常规的EKF滤波算法和本文的自适应EKF算法的定位结果进行对比。僚机无协同定位结果是发散的,其误差大小无意义,此处仅列出第1个潜在主机的位置最大误差和均方根误差(RMSE),计算结果如表 2:
在这里插入图片描述
表 2 误差统计信息表 单位:m

从表中可以得到如下结论:本文提出的自适应EKF算法不论是误差最大值还是均方根误差,均是最小的,尤其是均方根误差,比非滤波情况降低约91.6%,比常规的EKF滤波算法降低约37.2%。
为了验证算法的主机选择效果,进行100次、2组的蒙特卡洛仿真,统计每次仿真中各个潜在主机被确定为主机的次数,与实际值进行比对。
表 3 主机判定结果统计表
在这里插入图片描述

表 3显示,判断主机数量的准确率可以达到98%及以上,满足UAV集群构型的要求,可以为下一步的协同定位提供准确的基准点位置。

结论

本文提出了一种简单的UAV集群构型中自动分类的方法。在自适应EKF的基础上,所提方法可以根据携带的GNSS、INS和UWB判断GNSS数据的置信度,自动选择绝对位置精度较高的UAV作为主机。仿真实验显示,自适应EKF相较于非滤波情况,误差降低约91.6%,相较于常规的EKF滤波算法降低约37.2%,无人机集群构型自适应选择算法的准确度可以达到98%。
后续研究展望:可在本文所述算法筛选的主机和僚机分类的基础上,完成信息交互和协同导航的研究。

程序链接

https://download.csdn.net/download/callmeup/88811767

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1435270.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

忘记 RAG:拥抱Agent设计,让 ChatGPT 更智能更贴近实际

RAG(检索增强生成)设计模式通常用于开发特定数据领域的基于实际情况的ChatGPT。 然而,重点主要是改进检索工具的效率,如嵌入式搜索、混合搜索和微调嵌入,而不是智能搜索。 这篇文章介绍了一种新的方法,灵感…

Windows11安装运行Linux(Ubuntu)

一、安装windows支持 输入windows打开界面 选择虚拟机监控程序平台、适用于linux的子系统、虚拟机平台 在 Windows 系统中,"虚拟机平台"和"虚拟机监控程序平台"是两个与虚拟化相关的功能,但它们各自有着不同的作用和用途。 虚拟机…

如何使用VSCode上运行Jupyter,详细案例过程出可视化图

Python作为最受AI喜欢的语言之一,我们与大家共同学习下如何在VS Code上运行Jupyter,并且用简单案例实现出图。 环境 VS Code version: 1.80.1 Python: 3.12.0 小白安装过程: 在准备好基础环境,小白心想,AI可是霸占科…

42、WEB攻防——通用漏洞文件包含LFIRFI伪协议编码算法代码审计

文章目录 文件包含文件包含原理攻击思路文件包含分类 sessionPHP伪协议进行文件包含 文件包含 文件包含原理 文件包含其实就是引用&#xff0c;相当于C语言中的include <stdio.h>。文件包含漏洞常出现于php脚本中&#xff0c;当include($file)中的$file变量用户可控&am…

University Program VWF仿真步骤__全加器

本教程将以全加器为例&#xff0c;选择DE2-115开发板的Cyclone IV EP4CE115F29C7 FPGA&#xff0c;使用Quartus Lite v18.1&#xff0c;循序渐进的介绍如何创建Quartus工程&#xff0c;并使用Quartus Prime软件的University Program VWF工具创建波形文件&#xff0c;对全加器的…

【MATLAB源码-第134期】基于matlab的SAR合成孔径雷达成像仿真,对比CS,RD,RMA三种算法成像效果。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 合成孔径雷达&#xff08;SAR&#xff09;是一种高分辨率的雷达成像技术&#xff0c;它通过在不同的时间和位置收集目标的雷达回波数据&#xff0c;来模拟一个远大于实际物理孔径大小的雷达系统。这种技术可以在任何天气条件…

spring boot学习第九篇:操作mongo的集合和集合中的数据

1、安装好了Mongodb 参考&#xff1a;ubuntu安装mongod、配置用户访问、添删改查-CSDN博客 2、pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns…

记录下ibus-libpinyin输入法的重新安装

目前的版本为&#xff1a; 首先把现在的ibus-libpinyin卸了 sudo apt-get --purge remove ibus-libpinyin sudo apt-get autoremove 安装教程请参考 Installation libpinyin/ibus-libpinyin Wiki GitHub yilai sudo apt install pkg-config sudo apt-get install lib…

Micro micro controller一览

https://www.microchip.com.cn/&#xff0c; Microchip中文网站 https://www.microchip.com.cn/newcommunity/index.php?mSearch&adosearch&moduleDownload&keyworddsPIC33&p3 Microcontrollers and microProcessors dsPIC33 Digital Signal Controllers (D…

客户端会话技术-Cookie

一、会话技术 1.1 概述 会话&#xff1a;一次会话中包含多次**请求和响应** 一次会话&#xff1a;浏览器第一次给服务器资源发送请求&#xff0c;此时会话建立&#xff0c;直到有一方断开为止 会话的功能&#xff1a;在一次会话的范围内的多次请求间&#xff0c;共享数据 …

升级Oracle 单实例数据库19.3到19.22

需求 我的Oracle Database Vagrant Box初始版本为19.3&#xff0c;需要升级到最新的RU&#xff0c;当前为19.22。 以下操作时间为为2024年2月5日。 补丁下载 补丁下载文档参见MOS文档&#xff1a;Primary Note for Database Proactive Patch Program (Doc ID 888.1)。 补丁…

超越sd的绘图开源软件fooocus

Fooocus 是一款图像生成软件&#xff08;基于Gradio&#xff09;。 Fooocus 是对 Stable Diffusion 和 Midjourney 设计的重新思考&#xff1a; 学习自Stable Diffusion&#xff0c;该软件是离线、开源、免费的。 从Midjourney了解到&#xff0c;不需要手动调整&#xff0c;用户…

【【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏(附项目源码)

最终效果 文章目录 最终效果前言导入AI导航系统导航烘培添加羊添加捕食者动画控制随着地面法线旋转在地形上随机生成动物不同部位颜色不同最终效果源码完结前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第24篇中,…

新增同步管理、操作日志模块,支持公共链接分享,DataEase开源数据可视化分析平台v2.3.0发布

2024年2月5日&#xff0c;DataEase开源数据可视化分析平台正式发布v2.3.0版本。 这一版本的功能升级包括&#xff1a;新增“同步管理”功能模块&#xff0c;用户可通过此模块&#xff0c;将传统数据库中的数据定时同步到Apache Doris中&#xff0c;让数据分析更快速&#xff1…

第5节、S曲线加减速转动【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】&#xff0c;查看本系列全部文章 摘要&#xff1a;本节介绍步进电机S曲线相关内容&#xff0c;总共分四个小节讨论步进电机S曲线相关内容 5-1、S曲线加减速简介   根据上节内容&#xff0c;步进电机每一段的速度可以任意设置&#xff0c;但是每一段的…

【Oracle云】基于 OKE 的 Cluster AutoScaler 扩/缩容

Oracle Kubernetes Engine&#xff08;OKE&#xff09;为用户提供了便捷而强大的Kubernetes服务&#xff0c;而集群自动伸缩&#xff08;Cluster AutoScaler&#xff09;则是OKE中的一项重要功能。该功能允许根据工作负载的需要自动调整集群的大小&#xff0c;确保资源的最佳利…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Rating组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Rating组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Rating组件 提供在给定范围内选择评分的组件。 子组件 无。 接口 Rating(opt…

如何在HA智能家居系统中添加HACS集成并实现异地控制家中苹果与小米设备

文章目录 基本条件一、下载HACS源码二、添加HACS集成三、绑定米家设备 ​ 上文介绍了如何实现群晖Docker部署HomeAssistant&#xff0c;通过内网穿透在户外控制家庭中枢。本文将介绍如何安装HACS插件商店&#xff0c;将米家&#xff0c;果家设备接入 Home Assistant。 基本条件…

NLP_Bag-Of-Words(词袋模型)

文章目录 词袋模型用词袋模型计算文本相似度1.构建实验语料库2.给句子分词3.创建词汇表4.生成词袋表示5.计算余弦相似度6.可视化余弦相似度 词袋模型小结 词袋模型 词袋模型是一种简单的文本表示方法&#xff0c;也是自然语言处理的一个经典模型。它将文本中的词看作一个个独立…

【VUE】UniAPP之uview组件库,自定义tag封装,支持添加u-icon图标

组件代码 <template><view class"tag" :class"[props.mode, props.shape]"><slot name"left"><!-- icon图标 没有传入图标时不显示 --><u-icon v-if"props.icon ! " :name"props.icon" :color&…