高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十一)ESKF中融合速度观测量;发散的原因;如何解决发散;以及对slam的理解

带着问题去学习:

1、slam发散的原因?

2、如何解决/限制发散?

3、如何在已经有观察值和预测值的ESKF中,再引入一个其他其他观察量?

一、多传感器融合的思考——轮速计

反思为何需要融合多个传感器

我认为根本上的原因,是因为有些传感器在某些场景下会失灵、效果不佳。

比如RTK在过隧道时,无法使用,单IMU工作下,里程计很多就发散了。

发散的原因是缺少速度的观测。所以引入了轮速计。

  1. 位移单位时间采样即为速度。
  2. 轮速观测是在前进方向的上的观测;两个轮子的位移差,结合车身尺寸计算车身的旋转。
  3. 颠簸路面,轮式编码器不太适用。平路slam效果更佳。
  4. 编码器也有效果不佳时——打滑时。融合可以纠正。

轮速观测作为一个速度观测,并非XYZ三个方向上的速度观测,只观测了前进方向上的速度。对IMU有一个单一约束,就可以使得整体位姿没有那么容易发散。

template <typename S>
bool ESKF<S>::ObserveWheelSpeed(const Odom& odom) {assert(odom.timestamp_ >= current_time_);// odom 修正以及雅可比// 使用三维的轮速观测,H为3x18,大部分为零Eigen::Matrix<S, 3, 18> H = Eigen::Matrix<S, 3, 18>::Zero();H.template block<3, 3>(0, 3) = Mat3T::Identity();// 卡尔曼增益Eigen::Matrix<S, 18, 3> K = cov_ * H.transpose() * (H * cov_ * H.transpose() + odom_noise_).inverse();// velocity obsdouble velo_l =

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

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

相关文章

aws(学习笔记第七课) 私有子网使用NAT服务器

aws(学习笔记第七课) AWS的私有子网使用NAT服务器 学习内容&#xff1a; AWS的私有子网使用NAT服务器 1. AWS的私有子网使用NAT服务器 在上面的例子的网络构成图中&#xff0c;可能会发现一个问题。就是Private Subnet的Apache server无法访问互联网。比如&#xff0c;当需要…

云计算-----单机LNMP结构WordPress网站

LNMP结构 博客网站 day1 小伙伴们&#xff0c;LNMP结构在第一二阶段浅浅的学习过&#xff0c;这里我们可以离线部署该结构。L指&#xff08;虚拟机&#xff09;服务器&#xff0c;nginx&#xff08;前端代理服务器&#xff09;mysql数据库&#xff0c;最后基于php建设动态…

spark和hadoop、hive是什么关系

目录 1. 通俗解释**Hadoop 是什么&#xff1f;****Hive 是什么&#xff1f;****Spark 是什么&#xff1f;****他们怎么一起工作&#xff1f;** 2. spark和hadoop、hive的关系&#xff08;技术解释&#xff09; 1. 通俗解释 想象一下你有一个超级大书柜&#xff0c;这个书柜里装…

DockerCompose快速部署Java项目、nginx前端和mysql数据库到centos虚拟机

简介&#xff1a;整理自&#xff1a;SpringCloud微服务开发与实战&#xff0c;java黑马商城项目微服务实战开发&#xff08;涵盖MybatisPlus、Docker、MQ、ES、Redis高级等&#xff09;课程的飞书文档。 DockerCompose介绍 大家可以看到&#xff0c;我们部署一个简单的java项…

黑马程序员Java笔记整理(day03)

1.switch 2.for与while对比 3.嵌套定义,输出的区别性 4.break与continue 5.随机数生成的两种方式 6.Random 7.随机验证码

到底是微服务,还是SOA?

引言&#xff1a;大概正式工作有5年了&#xff0c;换了三个大厂【也是真特么世道艰难&#xff0c;中国互联网人才饱和了】。基本上每个公司有的架构都不太相同&#xff0c;干过TOC和TOB的业务&#xff0c;但是大家用的架构都不太相同。有坚持ALL in one的SB&#xff0c;最后服务…

【Linux】并行与并发(含时间片)

简单来说 并发&#xff1a;多个进程轮流使用同一个CPU&#xff0c;在逻辑层面上&#xff0c;一段时间内推进完成了多个进程 并行&#xff1a;机器中有多个CPU可以使用&#xff0c;在物理层面上&#xff0c;做到同一时间会有多个进程同时在运行 举个例子&#xff1a;一群人需要…

深入理解WPF中的命令机制

Windows Presentation Foundation&#xff08;WPF&#xff09;是微软推出的一种用于构建桌面客户端应用程序的技术。它被认为是现代Windows应用程序的基础&#xff0c;具有强大的图形和媒体处理能力。在WPF中&#xff0c;“命令”是一个重要的概念&#xff0c;它为应用程序开发…

Mybatis操作

一、Mybatis基础操作 准备 准备数据库表 emp 1.创建一个新的springboot工程&#xff0c;选择引入对应的起步依赖&#xff08;mybatis、mysql驱动、lombok&#xff09; 2.application.properties中引入数据库连接信息 3.创建对应的实体类 Emp&#xff08;实体类属性采用驼峰…

高等数学 7.3 齐次方程

文章目录 一、齐次方程*二、可化为齐次的方程 一、齐次方程 如果一阶微分方程可化成 d y d x φ ( y x ) (1) \cfrac{\mathrm{d}y}{\mathrm{d}x} \varphi \left( \cfrac{y}{x} \right) \tag{1} dxdy​φ(xy​)(1) 的形式&#xff0c;那么就称这方程为齐次方程。 在齐次方程…

尚硅谷redis 第97节 redisTmplate下答疑

int keyId ThreadLocalRandom.current().nextInt(1000)1; String serialNo UUID.randomUUID().toString(); String key ORDER_KEYkeyId; String value "京东订单"serialNo; redisTemplate.opsForValue().set(key,value); -----------这段执行后&…

②PROFINET转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 协议转换通信网关 PROFINET 转 Modbus TCP &#xff08;接上一章&#xff09; 配置使用 与 PROFINET 主站进行组态说明 这里介绍与西门子 PLC 的…

uview 组件遇到的问题以及响应的改造

uview组件版本 2.0.36 u-action-sheet 选项太多,占满屏幕&#xff0c;设置滚动 问题描述&#xff1a; u-action-sheet组件绑定的选项过多的时候&#xff0c;会充满全屏 解决方案: 设置滚动 找到文件 /uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue找到 …

git分支模型

定义分支 长期分支 指长期存在的分支&#xff0c;也叫固定分支 developmaster 短期分支 短分支没有固定的分支名。但是有分支名规范 feature分支hotfix分支 分支模型 暂时无法在文档外展示此内容 参考 分支的目的是隔离&#xff0c;但多一个分支也意味着维护成本的增加。…

NFT Insider #152:The Sandbox Alpha 第4季开启

市场数据 加密艺术及收藏品新闻 Realm of Historia 推出首个以古老文化遗址为主题的 NFT 系列 专注于文化遗产保护的区块链平台 Realm of Historia 正通过推出首个 NFT 系列扩大其全球影响力。该系列以亚美尼亚的古代遗址 Carahunge 为主题&#xff0c;这一遗址已有 7500 多年…

ES6新增特性

ES6又称ECMAScript6、ECMAScript2015 新特性&#xff1a; 1. 块级作用域&#xff1a;let const &#xff0c;不会有变量提示、块级作用域的内容、不能在同一个作用域重复声明 2. Promise&#xff1a;解决了回调地狱 3. 箭头函数&#xff1a; 4. 定义类语法糖&#xff1a;C…

EDM邮件营销,如何确保高频率发送不触发限制

EDM邮件营销需选对平台&#xff0c;遵守反垃圾邮件法规&#xff0c;高效管理邮件列表&#xff0c;合理制定发送频率&#xff0c;优化内容与设计&#xff0c;用智能化工具测试与优化&#xff0c;监控送达和反馈&#xff0c;维持良好ISP关系&#xff0c;确保高效安全发送不封号。…

MATLAB中head函数用法

目录 语法 说明 示例 显示矩阵的前八行 显示表的前三行 返回表的前八行 head函数的功能是获取数组或表的顶行。 语法 head(A) head(A,k) B head(___) 说明 head(A) 在命令行窗口中显示数组、表或时间表 A 的前八行&#xff0c;但不存储值。 head(A,k) 显示 A 的前 k …

13.3寸三防平板大尺寸+高速运行提升工业软件操作体验

在工业领域&#xff0c;移动设备的应用日益广泛&#xff0c;其性能直接影响着工作效率和数据安全。传统的工业平板电脑常常面临着屏幕尺寸过小、运行速度缓慢、以及抗环境能力不足等问题&#xff0c;这些都制约了工业软件的流畅运行和高效应用。而一款搭载先进硬件配置的13.3寸…

线性代数基础02_矩阵(下)向量

目录 一、矩阵&#xff08;下&#xff09; 1、伴随矩阵 2、逆矩阵 3、初等变换 4、矩阵的标准形 4.1行阶梯形矩阵 4.2简化行阶梯型矩阵 二、向量 1、定义 2、向量的运算 3、矩阵的特征值和特征向量 4、向量的模 5、向量的内积 一、矩阵&#xff08;下&#xff09;…