腿足机器人之五- 粒子滤波

news2025/4/21 3:38:20

腿足机器人之五粒子滤波

      • 直方图滤波
      • 粒子滤波

上一篇博客使用的是高斯分布结合贝叶斯准则来估计机器人状态,本篇是基于直方图和粒子滤波器这两种无参滤波器估计机器人状态。

在这里插入图片描述

直方图方法将状态空间分解成有限多个区域,并用直方图表示后验概率。直方图为每个区域分配一个单独的累积概率;可以将其视为对连续密度函数的逐段常数近似。第二种技术通过有限多个样本来表示后验概率。由此产生的滤波器被称为粒子滤波器,在某些机器人问题中获得了极大的流行。

直方图滤波器和粒子滤波器,都不对后验密度做强烈的参数假设。因而非常适合表示复杂的多模态信念(后验状态概率估计)。因此,当机器人需要应对全局不确定性的阶段,以及面对产生多个独立假设的困难数据关联问题时,它们通常是首选方法。

直方图滤波

直方图滤波器的离散形式称为离散贝叶斯滤波器,其算法流程如下:
在这里插入图片描述
其中 u t u_t ut是控制信息, z t z_t zt是传感器观测值, { P k , t − 1 } \{P_{k,t-1}\} {Pk,t1},其中的大括号表示这个概率是一个集合, t − 1 t-1 t1表示的是时刻,k表示的是状态 x x x处在k时, p k , t − 1 p_{k,{t-1}} pk,t1表示t-1时刻,机器人处于状态k的概率,然后大扩号表示这是要遍历机器人所有可能状态的集合。

第3行根据t时刻控制信息 u t u_t ut和前一时刻状态 x i x_i xi估计t时刻处于状态k的概率 p ‾ k , t \overline p_{k,t} pk,t,这是一个先验概率,第4行根据传感器观测值修正先验概率,得到状态的后验估计 p k , t p_{k,t} pk,t

上面的离散的可能状态如何求得?分为静态和动态法,静态分解技术依赖于一个预先选定的固定分解方案,这种方案在分解过程开始前就已经确定,且不考虑被近似的后验概率分布的具体形状。动态分解技术会根据后验分布的具体形状来适应性地调整分解结构。这类技术能更有效地针对状态空间中后验概率较大的区域提供更高的分辨率,而在概率较低的区域采用更粗糙的分解,从而节省计算资源并提高效率。递归地分解状态空间并调整分解的精细度的密度树就是一种动态法。

粒子滤波

在粒子滤波方法中,后验概率是一些离散的点,称为粒子(particles),其可以表示为:
X t : = x t [ 1 ] , x t [ 2 ] , ⋯   , x t [ M ] \mathcal X_t := x_t^{[1]}, x_t^{[2]}, \cdots, x_t^{[M]} Xt:=xt[1],xt[2],,xt[M]

每一个粒子 x t [ m ] x_t^{[m]} xt[m]都是t时刻状态的一个可能分布。通常粒子的状态总数M是一个很大的数,如M=1000,在一些实现中M也是时间或者和后验概率有联系的其他变量的函数。

粒子滤波器的核心思想是用一组粒子 ( X t ) ( {\mathcal X_t} ) (Xt)近似后验概率分布 ( bel ( x t ) ) ( \text{bel}(x_t) ) (bel(xt))。理想情况下,某个状态假设 ( x t ) ( x_t ) (xt) 被包含在粒子集 ( X t ) ( \mathcal X_t ) (Xt) 中的概率应与其在贝叶斯滤波后验中的概率成正比:
x t [ m ] ∼ p ( x t ∣ z 1 : t , u 1 : t ) x_t^{[m]}∼p(x_t∣z_{1:t},u_{1:t}) xt[m]p(xtz1:t,u1:t)
粒子滤波的算法流程如下:
在这里插入图片描述
第2行~6行创建一个临时的粒子集 ( X t ‾ ) (\overline {\mathcal X_t}) (Xt),这个集合中的粒子是从先前粒子集 X t − 1 \mathcal X_{t-1} Xt1对称处理得到。
第3行要遍历M个粒子;
第4行采样,即对于每一个粒子 ( x t [ m ] ) ( x_t^{[m]} ) (xt[m]),首先基于过渡模型 ( p ( x t ∣ u t , x t − 1 [ m ] ) ) ( p(x_t | u_t, x_{t-1}^{[m]}) ) (p(xtut,xt1[m]))从前一状态 ( x t − 1 [ m ] ) ( x_{t-1}^{[m]} ) (xt1[m]) 生成一个新的粒子样本。这表示根据控制输入 ( u t u_t ut ) 和之前的状态,预测当前可能的状态。
第5行权重更新,每个新采样的粒子 ( x t [ m ] ) ( x_t^{[m]} ) (xt[m]) 的权重 ( w t [ m ] ) ( w_t^{[m]} ) (wt[m]) 由观测模型 ( p ( z t ∣ x t [ m ] ) ) ( p(z_t | x_t^{[m]}) ) (p(ztxt[m])) 计算得出。这个权重反映了给定当前观察 ( z t ) ( z_t ) (zt) 下,粒子 ( x t [ m ] ) ( x_t^{[m]} ) (xt[m]) 的合理性或“拟合度”。
第8~11行是粒子滤波的重采样部分,这一过程在算法实现中非常关键,用于更新粒子集以更好地代表后验概率分布。每个粒子的重要性权重决定了其被重新抽取的概率。这些权重是根据每个粒子相对于观测数据的似然性来分配的,即反映了每个粒子如何适应观测数据的程度。

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

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

相关文章

AI 编程工具—Cursor 进阶篇 数据分析

AI 编程工具—Cursor 进阶篇 数据分析 上一节课我们使用Cursor 生成了北京房产的销售数据,这一节我们使用Cursor对这些数据进行分析,也是我们尝试使用Cursor 去帮我们做数据分析,从而进一步发挥Cursor的能力,来帮助我们完成更多的事情 案例一 房产销售数据分析 @北京202…

搭建Deepseek推理服务

概述: 本文介绍用Open webui ollama搭建一套Deepseek推理服务,可以在web页面上直接进行对话。作为体验搭建的是Deepseek 7b参数版本 首先选择一个云厂商创建一台ubuntu系统的虚拟机,带公网IP,通过shell登录虚拟机完成以下操作&…

STM32的HAL库开发---ADC

一、ADC简介 1、ADC,全称:Analog-to-Digital Converter,指模拟/数字转换器 把一些传感器的物理量转换成电压,使用ADC采集电压,然后转换成数字量,经过单片机处理,进行控制和显示。 2、常见的AD…

6.编写正排索引切分字符串|倒排索引原理|引入jieba到项目(C++)

编写正排索引 继续编写incde.hpp #pragma once#include <iostream> #include <string> #include <vector> #include <fstream> #include <unordered_map> #include "util.hpp"namespace ns_index{struct DocInfo{std::string title;…

在Windows系统上测试safari浏览器的兼容性

文章目录 前言手机端的safari浏览器能替代PC端吗在Windows上测试safari浏览器的兼容性的方法利用云服务使用虚拟机在Windows上下载虚拟机遇到的问题以及解决思路总结 前言 在测试网站的兼容性时需要用到safari浏览器&#xff0c;在没有Mac的情况下&#xff0c;又不想麻烦同事&…

【设计模式】【结构型模式】桥接模式(Bridge)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f44d; 欢迎点赞、收藏、关注&#xff0c;跟上我的更新节奏 &#x1f3b5; 当你的天空突…

惠普HP Color LaserJet CP1215/1210彩色打印机打印校准方法

执行校准 &#xff08;用随机光盘安装驱动&#xff09;完整安装打印机驱动程序。安装驱动程序的操作方法请参考以下文章&#xff1a; 惠普HP Color laserjet cp1215激光打印机在windows 7下使用随机光盘安装驱动程序&#xff0c;安装完成后&#xff1b; 依次点击“开始”→“所…

【雅思博客02】Virus!

Elementary ‐ Virus! (C0007) A: Oh great! This stupid computer froze again! That’s the third time today! Hey Samuel, can you come take a look at my PC? It’s acting up again. It must have a virus or something. B: Just give me a second; I’ll be right …

模型GPU->NPU(Ascend)迁移训练简述

目录 一、迁移训练流程图解 二、详细流程步骤 1. 模型训练与日志记录 2. 跨平台精度对齐对比 3. 问题定位与修复 4. 迭代验证 三、关键技术点 四、常见问题与解决方案 一、迁移训练流程图解 通过华为云的modelart进行运行环境选型 北京四使用GPU进行模型训练&#xff…

sql语言语法的学习

sql通用语法 sql分类 DDL(操作数据库和表) 操作数据库 操作表_查询 操作表_创建 举例&#xff1a; 操作表_删除 操作表_修改 DML(增删改表中数据) DML添加数据 DML删除数据

3.buuctf [BSidesCF 2019]Kookie

进入题目页面如下 尝试弱口令密码登录&#xff0c;无果 显示无效密码 用题中给出的用户名和密码登录虽然成功但没得到flag 用burp suite抓包试试 看到username处显示cookie 题目说用admin登录 将username的值改为admin 拿到flag 最后拿到flag

springboot245-springboot项目评审系统(源码+论文+PPT+部署讲解等)

&#x1f495;&#x1f495;作者&#xff1a; 爱笑学姐 &#x1f495;&#x1f495;个人简介&#xff1a;十年Java&#xff0c;Python美女程序员一枚&#xff0c;精通计算机专业前后端各类框架。 &#x1f495;&#x1f495;各类成品Java毕设 。javaweb&#xff0c;ssm&#xf…

Dify+Ollama+DeepSeek部署本地大模型+知识库搭建

前言 上一篇文章《OllamaDeepSeek部署本地大模型》我们已经知道如何在本地搭建自己的大模型了&#xff0c;不过想要让大模型能够根据我们个人或者企业的数据情况做出精准的回答&#xff0c;我们还需要将自己的数据投喂给大模型才可以。本篇文章我们将会使用一个开源项目dify集…

每日一题——不同路径的数目与矩阵最小路径和

机器人路径问题与矩阵最小路径和 1. 机器人路径问题题目描述示例示例 1示例 2 解题思路动态规划 代码实现复杂度分析 2. 矩阵的最小路径和题目描述示例示例 1示例 2 解题思路动态规划 代码实现复杂度分析 总结 1. 机器人路径问题 题目描述 一个机器人在 (m \times n) 大小的地…

143,【3】 buuctf web [GYCTF2020]EasyThinking

进入靶场 一开始那个题目名字就想到了框架 扫描目录 访问后自动下载了 找源码 <?php namespace app\home\controller;use think\exception\ValidateException; use think\facade\Db; use think\facade\View; use app\common\model\User; use think\facade\Request; use …

腾讯混元hunyuan3d生成模型,本地搭建和使用

腾讯混元hunyuan3d生成模型,本地搭建和使用 腾讯混元hunyuan3d生成模型,本地搭建和使用一. 话不多说,我们直接上本地部署的详细步骤1. 将仓库拉到本地2. 下载2个模型, 注意这里推荐 先使用conda创建环境后在安装modelscope进行下载模型2.1 关于第一个模型我们要在 Hunyuan3D-1 …

flutter image_cropper插件安装后 打包apk 报错命名空间问题

本篇文章主要讲解&#xff0c;Flutter安装完新依赖打包apk报错 A problem occurred configuring project ‘:image_cropper’. 命名空间问题的解决办法及原因说明。 日期&#xff1a;2025年2月15日 作者&#xff1a;任聪聪 一、报错现象&#xff1a; 报文信息&#xff1a; FAI…

2025-2-15-4.5 链表(基础题)

文章目录 4.6 链表&#xff08;基础题&#xff09;206. 反转链表92. 反转链表II24. 两两交换链表中的节点 4.6 链表&#xff08;基础题&#xff09; 有一天我做题忽然发现要把一个数组完全倒着翻过来很费劲&#xff0c;今天看&#xff0c;链表为此而生啊。 206. 反转链表 题目…

免费大模型网站

腾讯元宝 腾讯元宝 秘塔搜索 秘塔搜索 超算互联网 超算互联网回答速度很慢 Chatbot Arena Chatbot Arena 大模型竞技场。

macOS部署DeepSeek-r1

好奇&#xff0c;跟着网友们的操作试了一下 网上方案很多&#xff0c;主要参考的是这篇 DeepSeek 接入 PyCharm&#xff0c;轻松助力编程_pycharm deepseek-CSDN博客 方案是&#xff1a;PyCharm CodeGPT插件 DeepSeek-r1:1.5b 假设已经安装好了PyCharm PyCharm: the Pyth…