ROS学习笔记(17):建图与定位(1)

目录

0.前言

1.定位和建图

1.里程计(Odometry)

2.扫描匹配(Scan Matching)

3.结尾


0.前言

好久不见各位,前段时间忙着考试(6级和一些专业课)和摆烂断更了近30天,现在哥们回来更新了。前面讲了一大堆ROS和一些机器人理论知识,而这次我们将进入到SLAM(前面在小大小闹,现在正题开始)。

1.定位和建图

·确认机器人相对环境的状态(位姿——位置和姿态)。

·定位可以以全局框架来进行,也可以以相对一个任意起点来进行。

·定位是Slam的关键组成。

简单介绍一下经典Slam架构的主要5个部分:

1)传感器数据:指机器人中里程计、激光雷达、双目相机等传感器信息的读取。(下文的里程计里也有提及)

2)前端匹配:主要任务为对特征进行处理,估计相邻地图间的相对位姿,得到局部地图。

3)后端优化(Optimization):后端接收不同时刻前端测量的相对位姿,和回环检测的信息,对其进行优化,得到全局一致的轨迹和地图。

4)回环检测(Loop Closing):回环检测判断机器人是否曾经到达过该位姿,检测到回环则将信息传递给后端进行处理。

5)建图(Mapping):根据估计的轨迹来建立对应的地图。

同样也可以参看谷歌的SLAM算法Cartographer的结构:

1.里程计(Odometry)

里程计:从一个姿态开始,结合运动控制和测量来估计当前姿态。(传感器数据中的一种)

通常我们会使用一个速度控制器、轮式编码器、IMU等设备来动态集成可用的信息。

速度控制器理解成为加速度配比器被我认为是更优的理解方式,因为现实中速度并不可能瞬间获取到,而是经由加速度和时间的累积等来,同理的位移也是是由速度和时间的累积得来:

我们都希望一切的数据精准无误,但受限于上图的开环结构和现实中器件始终无法100%精准运行的限制导致上面的每一个环节都有可能被加入噪声(noise)干扰:

实际表现便是我们希望机器人位移3m但实际上却位移了3.1m。受限于开环控制没有反馈机制来对误差进行矫正,所以一旦噪声出现将会随着时间不断累积——表现为第二次位移位移了3.2m误差就来到了0.3m。

依旧是这张图,当噪声在加速度环节就产生了,那随着加速度和时间的不断积分变换下去,在子环节都将产生噪声累积,且噪声累积是几何关系的:

一旦噪声产生且不断累积,机器人的位置的不确定性就会不断增加,当时间无穷时,机器人就完全无法确认位置了。回归到本章的重点定位和建图,当机器人本体无法精准定位时,机器人的建图也就失去了精确性,设想实际地图的长度为6m但因为定位的噪声就导致了计算得到了5.7m或者6.3m。为了解决这种情况就出现了以后我们会讲到的回环检测。

2.扫描匹配(Scan Matching)

OK,获取到了传感器的可用数据后需要需要进行前端匹配,而扫描匹配自然就是其中一种方式。(其实扫描匹配和视觉上经常拼接是一样的,只是使用了专业名词。)

这里推荐查看:An ICP variant using a point-to-line metric这篇论文,是有关迭代最近点算法的。在ROS里面就是点云了。

·扫描匹配:跨时间收集的范围测量定位方式,扫描匹配。

在定位当中,我们需要参考世界框架来确定自己的位置,而扫描匹配大多就是使用激光雷达SLAM算法的关键模块。而在使用rgb和depth camera(rgb相机和深度相机)时又将会深度探讨最近点算法迭代的概念和一些实现机理。

扩展:刚巧的是,最近我在游玩鸣潮是经常受困于其索敌系统,于是打算在B站上看一下大佬们对这方面的解释,当我渐渐观看后巧妙的发现原来游戏的索敌系统竟和扫描匹配的思想极为类似。附上视频链接:我决定自己做一套索敌系统_单机游戏热门视频 (bilibili.com)

谷歌的slam算法Cartographer当中扫描匹配是一个相当重要的模块,扫描匹配在本地进行运作使地图本地的一致性。

3.结尾

OK,因为知识量确实很大就先到这里了,下一篇文章我们来重点扩展讲解扫描匹配,现在已经正式步入到了SLAM的领域,对于是自学的我来说也需要一点时间来思考如何才能将这些内容整理好、讲述出来。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫之scrapy框架基本使用

python爬虫之scrapy框架基本使用 1、环境安装:pip install scrapy 2、创建一个工程:scrapy startproject xxxPro 3、cd xxxPro 4、在spiders子目录中创建一个爬虫文件:scrapy genspider spiderName www.xxx.com 5、执行工程:scra…

《安全大模型技术与市场研究报告》发布,海云安榜上有名

近日,网络安全产业研究机构“数说安全”发布2024《安全大模型技术与市场研究报告》(以下简称“报告”)。 海云安凭借在开发安全领域的优秀业务能力以及在大模型相关技术研究方面的成就得到了认可,入选“安全开发大模型推荐供应商”…

【PYTORCH,TENSORFLOW环境配置,安装,自用代码】

conda -V(查看版本,这步不要也罢) conda create -n test python3.7(创建环境) conda activate test(激活) conda env list(查看自己的环境) nvidia-smi(查…

钉钉开放AI生态战略的真正价值到底是什么?很多人都没看懂

来源: 首席数智官 hello 大家好,我们是数字化领军者都在看的首席数智官。 关注我,每天给你讲一个商业案例。 今天我们要给你讲的是:钉钉开放AI大模型生态的战略意义到底是什么? 「谁先赢得苹果,谁就赢得…

技术派全局异常处理

前言 全局的异常处理是Java后端不可或缺的一部分,可以提高代码的健壮性和可维护性。 在我们的开发中,总是难免会碰到一些未经处理的异常,假如没有做全局异常处理,那么我们返回给用户的信息应该是不友好的,很抽象的&am…

【机器学习】基于Transformer的迁移学习:理论与实践

引言 在机器学习领域,迁移学习已成为提升模型训练效率和性能的重要策略,特别是在标注数据稀缺的场景下。Transformer模型自2017年由Google提出以来,在自然语言处理(NLP)领域取得了突破性进展,并逐渐扩展到…

【深度学习】调整加/减模型用于体育运动评估

摘要 一种基于因果关系的创新模型,名为调整加/减模型,用于精准量化个人在团队运动中的贡献。该模型基于明确的因果逻辑,将个体运动员的价值定义为:在假设情景下,用一名价值为零的球员替换该球员后,预期比赛…

Django 一对多关系

1,创建 Django 应用 Test/app9 django-admin startapp app9 2,注册应用 Test/Test/settings.py 3,添加应用路由 Test/Test/urls.py from django.contrib import admin from django.urls import path, includeurlpatterns [path(admin/,…

idea修改静态资源,不重启idea直接生效方法

1、Run->Edit Configurations 2、按下图选中 3、点ok,之后修改静态资源后点非idea界面(如状态栏),就会自动配置了。

GPT-4o文科成绩超一本线,理科为何表现不佳?

目录 01 评测榜单 02 实际效果 什么?许多大模型的文科成绩竟然超过了一本线,还是在竞争激烈的河南省? 没错,最近有一项大模型“高考大摸底”评测引起了广泛关注。 河南高考文科今年的一本线是521分,根据这项评测&…

7-1作业

1.实验目的:完成字符收发 led.h #ifndef __GPIO_H__ #define __GPIO_H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h"//RCC,GPIO,UART初始化 void init();//字符数据发送 void set_tt…

Chapter 8 Feedback

Chapter 8 Feedback 这一章我们介绍feedback 反馈运放的原理. 负反馈是模拟电路强有力的工具. 8.1 General Considerations 反馈系统如下图所示 Aolamp open-loop gain即开环增益. Aolxo/xi β \beta β 是 feedback factor, 注意方向. β x f x o \beta\frac{x_{f}}{x_{o…

六西格玛绿带培训的证书有什么用处?

近年来,六西格玛作为一套严谨而系统的质量管理方法,被广泛运用于各行各业。而六西格玛绿带培训证书,作为这一方法论中基础且重要的认证,对于个人和企业而言,都具有不可忽视的价值。本文将从多个角度深入探讨六西格玛绿…

HTML5+CSS3+JS小实例:图片九宫格

实例:图片九宫格 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1…

智慧渔港:海域感知与岸线监控实施方案(智慧渔港渔船综合管控平台)

文章目录 引言I 技术栈1.1 物理结构图1.2 功能逻辑结构图II 云台(大华)2.1 设备网络SDK运行在Mac平台2.2 WEB无插件开发包III 术语3.1 渔业引言 利用渔船现有的定位导航通讯设备等资源,实现岸线和近岸海域内违法船舶和可疑船舶预警、抓拍、跟踪和行为分析。 在渔船上安装风…

HCIA4.26-5.10

OSPF ——开放式最短路径优先协议 无类别链路状态IGP动态路由协议 距离矢量协议 运行距离矢量协议的路由器会周期性的泛洪自己的路由表&#xff0c;通过路由之间的交互&#xff0c;每台路由器都从相邻的路由器学习到路由条目&#xff0c;随后加载进自己的路由表中。对于网络…

解锁跨境电商新边界:Temu API接口深度解析引言

引言 在竞争激烈的跨境电商领域&#xff0c;高效、精准的数据获取成为商家制胜的关键。Temu&#xff08;拼多多跨境电商&#xff09;作为行业内的新秀&#xff0c;其API接口服务为商家提供了强大的数据交互能力&#xff0c;尤其是其获取商品详情的核心功能&#xff0c;更是为商…

MSPG3507——蓝牙接收数据显示在OLED,滴答定时器延时500MS

#include "ti_msp_dl_config.h" #include "OLED.h" #include "stdio.h"volatile unsigned int delay_times 0;//搭配滴答定时器实现的精确ms延时 void delay_ms(unsigned int ms) {delay_times ms;while( delay_times ! 0 ); } int a0; …

2025第13届常州国际工业装备博览会招商全面启动

常州智造 装备中国|2025第13届常州国际工业装备博览会招商全面启动 2025第13届常州国际工业装备博览会将于2025年4月11-13日在常州西太湖国际博览中心盛大举行&#xff01;目前&#xff0c;各项筹备工作正稳步推进。 60000平米的超大规模、800多家国内外工业装备制造名企将云集…

高级DBA带你解决MySql主从集群集群主库产生更多binlog引起数据无法正常写入引起生产事故紧急处理方法实战解决方法(全网唯一)

高级DBA带你解决MySql主备集群主库产生更多binlog引起数据无法正常写入引起生产事故紧急处理方法实战解决方法&#xff08;全网唯一&#xff09; 一、事故描述 早上刚来&#xff0c;监控报警&#xff0c;短信来了&#xff0c;业务主数据库宕机了&#xff0c;硬盘爆了&#xf…