【通过粒子滤波进行地形辅助导航】用于地形辅助导航的粒子滤波器和 PCRB研究(Matlab代码实现)

news2024/11/27 16:44:25

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

粒子滤波(Particle Filter)是一种基于蒙特卡洛采样的非线性滤波方法,常被应用于机器人自主导航和目标跟踪等领域。在地形辅助导航中,粒子滤波器可以用来估计机器人的位置和姿态,并结合地形信息进行导航。

粒子滤波器的基本思想是通过一系列粒子(即假设的机器人状态)来近似表示目标状态的后验概率分布。这些粒子在状态空间中进行随机采样,并通过观测数据进行权重更新,从而使得具有较高权重的粒子更加接近真实状态。最终,通过对粒子进行重采样,可以得到对目标状态的估计。

在地形辅助导航中,粒子滤波器可以结合地形地图和传感器数据来进行导航。地形地图可以提供地形信息,比如高度、坡度等,而传感器数据可以提供机器人当前位置的观测值。通过不断更新粒子的权重,并利用地形地图进行粒子采样和重采样,可以实现对机器人位置和姿态的准确估计。

PCRB(Probabilistic Concurrent Reachability-based Path Planning)是一种基于概率模型的路径规划方法,通过考虑环境中的不确定性和动态变化来生成鲁棒的路径。与传统的路径规划方法相比,PCRB方法能够在考虑传感器误差和环境变化的情况下,生成更加可靠和鲁棒的路径。

在地形辅助导航中,PCRB方法可以结合地形地图和传感器数据,考虑不确定性因素和环境变化,生成适应性强、鲁棒性好的导航路径。通过使用PCRB方法,可以更好地应对地形变化、传感器误差和其他环境不确定性,提高导航的精度和可靠性。

因此,通过结合粒子滤波器和PCRB方法,可以实现基于地形辅助导航的精确定位和鲁棒路径规划。这种方法能够更好地应对不确定性和环境变化,提高导航系统的性能和可靠性。

📚2 运行结果

部分代码:

% Bounds for  navigation (altimetry) with the following dynamic system :
%
% X_1       = N(X1 , Q1)
% X_{k+1}   = FkXk + Uk + N(0 , Qk)
% Zk        = h(Xk) + N(0 , Rk(Xk))
%
% If nb_ite variable is > 1, RMSE is compared versus PCRB
%
% Demo can be easily extented for multivariate measurements (m > 1) 
%
%  Author    S茅bastien PARIS (sebastien.paris@lsis.org)
%  -------

%% 

clear,clc , close all hidden;
options_affichage;

%% ---------------- Map  --------------- %%

load colorado.mat
map              = double(colorado);
clear colorado;
[nR , nC]        = size(map);      


%% ---------------- Parameters Simulation ---------------- %%

verbose          = 2;                   %% 0 : nodisplay, 1 : map , 2 : map + measurements
N_part           = 500000;              % Number of particules
N_threshold      = (6/10)*N_part;

nb_ite           = 1;                  % Number of particule filter iteration to compute MSE & PCRB if nb_ite>1
M                = 1000;               % Number of paths used to evaluate PCRB

d                = 4;                   % State dimension   
m                = 1;                   % Measurement dimension
alpha            = 2.4477;              % sqrt(chi2inv(0.95 , 2))

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

1. 黄宾,李一航. 基于粒子滤波的无人机地形辅助导航[J]. 光学 精密工程, 2019, 27(3):521-529.

2. 刘秋雨,李世鹏,冯春. 基于粒子滤波的地形车引导协同导航研究[J]. 自动化技术与应用, 2020, 41(5):106-114.

3. 刘麟麒,许晗豪,薛英俊. 基于粒子滤波的地形辅助导航算法研究[J]. 论文工程研究, 2018, 34(2):555-560.

4. 杨澜湘,周峰. 一种基于PCRB的地形辅助导航方法研究[J]. 电光与控制, 2020, 27(3):62-69.

5. 郑时瑜,赵静然,孙晓涛. 基于粒子滤波和PCRB的无人机地形辅助导航方法[J]. 信息技术, 2021, 40(1):166-170.

🌈4 Matlab代码实现

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

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

相关文章

【MySQL异常解决】MySQL执行SQL文件出现【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解决方案

MySQL执行SQL文件出现【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解决方案 一、背景描述二、报错原因三、解决方案3.1 升级 MySQL 数据库版本3.2 修改字符集为 一、背景描述 从服务器MySQL中导出数据为SQL执行脚本后,在本地电脑执行导出的SQL脚本,…

【数据结构---排序】庖丁解牛式剖析常见的排序算法

排序算法 一、常见的排序算法二、常见排序算法的实现1. 直接插入排序2. 希尔排序3. 直接选择排序4. 堆排序5. 冒泡排序6. 快速排序6.1 递归实现快速排序思路一、hoare 版本思路二、挖坑法思路三、前后指针法 6.2 非递归实现快速排序 7. 归并排序7.1 归并排序的递归实现7.2 归并…

Word2Vec实现文本识别分类

深度学习训练营之使用Word2Vec实现文本识别分类 原文链接环境介绍前言前置工作设置GPU数据查看构建数据迭代器 Word2Vec的调用生成数据批次和迭代器模型训练初始化拆分数据集并进行训练 预测 原文链接 🍨 本文为🔗365天深度学习训练营 中的学习记录博客&…

Apache Phoenix(2):安装Phoenix

1 下载 大家可以从官网上下载与HBase版本对应的Phoenix版本。 http://phoenix.apache.org/download.html 2 安装 (1)上传安装包到Linux系统,并解压 cd /opt/ tar -xvzf phoenix-hbase-2.5-5.1.3-bin.tar.gz (2)将p…

软件测试真实企业测试流程

最近收到不少准备转行软件测试的小伙伴私信问真实企业里面软件测试流程是什么样子的? 对于这个问题,在面试的时候也是经常会被问到。 关于测试流程,100家公司可能有100套测试流程,但是基本上都是大同小异,完全可以将测…

行业追踪,2023-07-14,汽车零部件在反弹时已清仓,耐心等待第二波买点重现

自动复盘 2023-07-14 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

ELK-日志服务【kafka-配置使用】

kafka-01 10.0.0.21 kafka-02 10.0.0.22 kafka-03 10.0.0.23 【1】安装zk集群、配置 [rootes-01 ~]# yum -y install java maven [rootes-01 ~]# tar xf apache-zookeeper-3.5.9-bin.tar.gz -C /opt/[rootes-01 ~]# cd /opt/apache-zookeeper-3.5.9-bin/conf/ [rootes-…

MySQL结构以及数据管理(增删改查)

目录 1.数据库的简介 2.数据库分类 2.1关系型数据库 2.2 非关系型数据库 3.mysql的数据类型 3.1 常用的数据库类型 4.mysql的数据库结构 4.1 查看库信息 4.2 查看表信息 5.SQL 语句 5.1 SQL语言分类: 1.数据库的简介 数据库(database&#…

基于LoRa技术的网络终端无线程序升级系统研究(学习)

摘要 设计了一种基于LoRa技术的STM32F4无线程序升级系统。此系统由PC及相关STM32软件开发环境、LoRa通信模块及控制器和STM32F4终端三部分组成。 本系统采用LoRa技术将程序数据无线发送到终端,终端通过IAP技术实现远程无线程序自动升级。测试结果表明,…

基于Springboot+Vue的宠物店猫咖管理系统(源代码+数据库)088

基于SpringbootVue的宠物店猫咖管理系统(源代码数据库)088 一、系统介绍 本系统分为管理员、店长、用户三种角色 用户角色包含以下功能: 登录、注册、我的宠物、我的信息、文件管理、我的预约、门店详情、打工喵、本地喵、外来喵、宠物领养、个人中心、密码修改…

0基础学习VR全景平台篇 第61篇:基本功能-如何发布VR视频

戳我先了解“全景视频上传规范” 1、点击【上传】按钮,打开本地文件夹,上传符合要求的全景视频素材,可以选择单个或多个视频同时上传。 2、视频上传成功以后,需要处理一段时间,请耐心等待。 视频处理好以后&#xff0…

2023年7月最新ESI 中国 国内高校排名(附上下载链接),

东南大学的排名 多年来 一直是22, 21 ,还需要进一步提高,进入前10. 下载连接 (375条消息) 2023年7月最新ESI数据国内高校排名表格-行业报告文档类资源-CSDN文库

Vue3 组件之间跨级通信

文章目录 Vue3 组件之间跨级通信概述选项式API简单使用支持响应式调用顶层方法 组合式API简单使用支持响应式底层调顶层方法 Vue3 组件之间跨级通信 概述 通常情况下,当我们需要从父组件向子组件传递数据时,会使用props。 但是一些多层级嵌套的组件&a…

【Vue】给 elementUI 中的 this.$confirm、this.$alert、 this.$prompt添加按钮的加载效果

文章目录 主要使用 beforeClose 方法实现 loading 的效果beforeClose MessageBox 关闭前的回调,会暂停实例的关闭 function(action, instance, done)1. action 的值为confirm, cancel或close。 2. instance 为 MessageBox 实例,可以通过它访问实例上的属…

不外传秘诀| docker 快速搭建常用的服务环境

本文主要给大家介绍如何使用 docker 搭建常用的服务环境, 包括mysql,reedis,nginx,jenkins 等常用的环境,下面直接进入主题。 1、MySQL 部署 ①搜索 MySQL 镜像 docker search mysql ②拉取 MySQL 镜像 docker pull mysql:5.7 ③创建容器&#xf…

嵌入式LinuxLED驱动开发实验

目录: 1. Linux下LED灯的驱动原理1.1. 地址映射1.1.1. 实际物理地址映射到虚拟地址的函数1.1.2. 内存访问函数 2.硬件原理图分析3. 实验程序编写3.1. 驱动程序编写3.2. 应用程序编写 4. 运行测试 1. Linux下LED灯的驱动原理 我们在裸机实验的时候,都是通…

2023年最具威胁的25种安全漏洞(CWE TOP 25)

1. CWE 4.12发布 最近几年,每年6月CWE发布的版本都成为一年中最重要的版本,因为里面包含了新的CWE TOP 25 视图,也就是我们常说的:CWE最具威胁的25种缺陷。 CWE 4.12 在6月29号发布,里面包含了重要的2023年TOP25视图…

Promise分享

手写promise之前需要知道 宏任务 & 微任务 我们都知道 Js 是单线程的,但是一些高耗时操作就带来了进程阻塞问题。为了解决这个问题,Js 有两种任务的执行模式:同步模式(Synchronous)和异步模式(Asynchr…

2023年先进封装行业研究报告

第一章 行业概况 1.1 概述 封装是半导体制造过程中的一个重要步骤。在这个步骤中,半导体芯片(或称为集成电路)被包裹在一个保护性的外壳中。这个外壳的主要功能是保护芯片免受物理和化学损害,例如防止芯片受到潮湿、尘埃、温度变…

git clone 或者是vscode clone 时遇到the remote end hung up unexpectedly

fatal: the remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed使用git clone总是报错 查看原因有三种可能:要么是缓存不够,要么是网络不行,要么墙的原因。 如果是网络不行,可以配置git的最低速度和最…