当前位置:网站首页>激光slam学习(2D/3D、偏实践)
激光slam学习(2D/3D、偏实践)
2022-07-07 21:52:00 【内有小猪卖】
----------------------------------------------学习资料来源---深蓝学院--------------------------------------------------
目录
1.1.1 map --> odom --> base_footprint --> base_link --> laser_link的tf树关系
1.1.3 为什么不能直接从map --> base_link发布信息?
1.1.1 Eigen::Vector3d 和 Eigen::Matrix3dA
3.3.2激光雷达数据为何在CPU上处理而不是单片机上处理?
5、gmapping——基于滤波器的激光SLAM方法(Grid-based)
6、cartographer——基于图优化的激光SLAM方法(Grid-based)
1、激光SLAM简要介绍
1.1 tf树
1.1.1 map --> odom --> base_footprint --> base_link --> laser_link的tf树关系
1、世界坐标(map)
该map坐标系是一个世界固定坐标系,其Z轴指向上方。典型的设置中,定位模块(轮式里程计等传感器)不断的重新计算世界坐标中机器人的位姿,从而消除偏差,但是当新的传感器信息到达时可能会跳变。
2、里程计坐标系(odom)
odom 坐标系是基于测距源来计算的,如车轮里程计,视觉里程计或惯性测量单元。
3、基座标(base_footprint)
默认Z坐标为0,即紧贴地面。但是实际情况一般不是这样。
base_footprint表示机器人base_link原点在地面上的投影,区别base_link之处是其“z”坐标不同。一般为了模型不陷入地面,base_footprint的“z”坐标比base_link高。其中蓝色箭头所指的绿色框框就是base_footprint。
4、基座标(base_link)
base_link是固定在机器人本体上的坐标系,通常选择机器人腰部;一般设置为机器人的旋转中心,也就是两个轮子之间的中轴处。
这里有一个重要默认:move_base默认base_link的z坐标为0。即机器人的在地图中的位置由base_link。因此一般默认将base_link设置为定位用的机器人本体坐标系。
base_link区别base_footprint 之处是其“z”坐标不同,前者比后者高。
5、雷达坐标系(laser_link)
根据实际安装位置进行测量,修改tf的发布参数。
1.1.2 odom的作用和理解
“odom和map坐标系在机器人运动开始是重合的。但是,随着时间的推移是不重合的,而出现的偏差就是里程计的累积误差。那map-->odom的tf就是在一些校正传感器合作校正的package比如gmapping会给出一个位置估计(localization),这可以得到map-->base_link的tf,所以估计位置和里程计位置的偏差也就是odom与map的坐标系偏差。所以,如果你的odom计算没有错误,那么map–->odom的tf就是“ 如下图关系:
1.1.3 为什么不能直接从map --> base_link发布信息?
导航堆栈必须有map到base_link的变换,有的本地规划器还要求提供/odom
参考博客:
map odom base_link三者关系的通俗理解_TYINY的博客-CSDN博客_base_link
ROS中map、odom、base_link等坐标系关系的理解_网络通杀108的博客-CSDN博客_map odom
ROS、base_footprint和base_link的区别及Gazebo差速小车建模遇到的坑汇总_yjj1227033506的博客-CSDN博客_base_footprint
1.2 slam常用函数
1.1.1 Eigen::Vector3d 和 Eigen::Matrix3dA
首先Eigen是一个开源的基于c++的矩阵运算库。
Eigen::Ref< Eigen::Matrix3d >中“Matrix3d”代表一个33的类型为double的矩阵,Ref<>代表引用类型,所以这条语句表示对3*3矩阵的引用对象;同理,Vector3d表示长度为3的类型为double的向量。
boolcompute_C(Eigen::Ref<Eigen::Matrix3d>A_,Eigen::Ref<Eigen::Vector3d>B_)。应该是声明了一个函数,其中有两个参量,第一个是名为A的矩阵,第二个是名为B的向量。为了避免产生拷贝和临时值,所以用了Ref<>。Ref的用法可以理解为 按引用传递。
2、传感器数据处理I:里程计运动模型及标定
3、传感器数据处理II:激光雷达数学模型和运动畸变去除
3.1激光雷达传感器原理介绍
3.2运动畸变
解决方法:ICP、VICP等等
3.3运动畸变去除——传感器辅助
3.3.1 IMU和轮式里程计优缺点
3.3.2激光雷达数据为何在CPU上处理而不是单片机上处理?
4、激光SLAM的前端配准方法
5、gmapping——基于滤波器的激光SLAM方法(Grid-based)
6、cartographer——基于图优化的激光SLAM方法(Grid-based)
7、基于已知定位的建图
8、3D激光SLAM介绍
参考链接:SLAM常用坐标系总结:_Zack_Liu的博客-CSDN博客_slam 坐标系
边栏推荐
- Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
- JNI uses asan to check memory leaks
- Digital procurement management system for fresh food industry: help fresh food enterprises solve procurement problems and implement online procurement throughout the process
- 生鲜行业数字化采购管理系统:助力生鲜企业解决采购难题,全程线上化采购执行
- B_ QuRT_ User_ Guide(37)
- 0-1背包问题
- SAP HR family member information
- [summary] some panels and videos seen
- USB (XVIII) 2022-04-17
- [stm32+esp8266 connect Tencent cloud IOT development platform 2] stm32+esp8266-01s connect Tencent cloud
猜你喜欢
MySQL Index Optimization Practice II
B_QuRT_User_Guide(36)
[stm32+esp8266 connects to Tencent cloud IOT development platform 3] stm32+esp8266-01s dynamically registers devices on Tencent cloud (at instruction mode) -- with source code
Live-Server使用
Explain
ESP at installation esp8266 and esp32 versions
Navicat connects Oracle
2022第六季完美童模陕西总决赛圆满落幕
Get started with mongodb
The file format and extension of XLS do not match
随机推荐
SAP HR 劳动合同信息 0016
2022 certified surveyors are still at a loss when preparing for the exam? Teach you how to take the exam hand in hand?
USB (XIV) 2022-04-12
MySQL Index Optimization Practice II
SAP HR social work experience 0023
Ora-02437 failed to verify the primary key violation
Solution of intelligent supply chain collaboration platform in electronic equipment industry: solve inefficiency and enable digital upgrading of industry
城联优品作为新力量初注入,相关上市公司股价应声上涨150%
Happy gathering time
How to login and enable synchronization function in Google browser
Unity3d learning notes 4 - create mesh advanced interface
[untitled]
KeePass realizes automatic input of web pages
B_QuRT_User_Guide(38)
Windows set redis to start automatically
Take you hand in hand to build Eureka client with idea
windows设置redis开启自动启动
MySQL架构
B_ QuRT_ User_ Guide(39)
How can we make money by making video clips from our media?