jjzjj

SLAM知识点——Eigen旋转量间变换求解、变换矩阵求解

文章目录0前言1旋转向量间变换求解1.1欧拉角1.1.1欧拉角->旋转矩阵1.2旋转矩阵1.2.1旋转矩阵->欧拉角2变换矩阵求解2.1欧拉角+平移向量->变换矩阵2.2旋转矩阵+平移向量->变换矩阵0前言下面内容包含头文件如下:#include#include//核心矩阵运算库(Vector3d,Matrix3d)#include//稠密矩阵的代数运算(逆和特征值)#include//引入旋转平移(旋转矩阵、旋转向量、欧拉角、四元数、平移向量)#includeusingnamespacecv;usingnamespacestd;#defineDEG2RAD(x)((x)*0.01745329

保姆级Gmapping算法介绍到复现

目录1.前言2.Gmmaping算法介绍2.1Gmapping的前世今生    2.1.1降低粒子数量    2.1.2缓解粒子耗散和多样性丢失2.2Gmapping算法的优缺点3.Gmapping算法源代码的安装与编译3.1安装依赖库3.2下载Gmapping源代码3.2.1方法一:3.2.2方法二:4.下载数据集 5.数据集测试6.Gmapping算法launch文件各参赛含义7.附录:Gmapping常用名词通俗解释7.1粒子滤波7.2粒子退化、重采样、粒子多样性8.后记1.前言    本文主要是学习SLAM过程中,记录下我复现Gmapping算法的过程,包括我遇到的各种问题,以便后续自

Eigen库的基本使用说明(二)

 之前的文章中,简单的介绍了一些基本的操作,回归之前的内容可以参考一下链接:zEigen库的基本使用说明_每日亿学的博客-CSDN博客_eigen库 本章内容主要就是继续延伸Eigen库的使用内容也会实时进行更新,Eigen库在SLAM中使用广泛,需要对这个库有一定的熟悉。一、赋值操作首先最简单的如何给申请好的矩阵对象进行赋值?1、定义对象时//这里以动态的矩阵模板为例子MatrixXia{//创建2x2matrix{1,2},//firstrow{3,4}//secondrow};Matrixc={1,2,3,4,5};2、类似输入流的方式Matrix3fm;m3、(,)赋值注意这里和数组不

IMU预积分--详细推导过程

一、提前了解二、预积分的目的1.IMU通过加速度计和陀螺仪测出的是加速度和角速度,通过积分获得两帧之间的旋转和位移的变换;2.在后端非线性优化的时候,需要优化位姿,每次调整位姿都需要在它们之间重新传递IMU测量值,需要重新积分,这将非常耗时,为了避免重新传递测量值,所以采取预积分策略。三、进入预积分主题1.IMU模型其中:2.当前时刻的PVQ的连续表达形式对图像第kkk帧和第k+1k+1k+1帧之间的所有IMU进行积分,对应的IMU坐标系为bkb_kbk​和bk+1b_{k+1}bk+1​,根据k时刻的数据,积分求得k+1k+1k+1时刻的数据,求出的是在世界坐标系下的值:其中:ΔtkΔt_k

(02)Cartographer源码无死角解析-(54) 2D后端优化→PoseGraphInterface、PoseGraph、PoseGraph2D::AddNode()

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下:(02)Cartographer源码无死角解析-(00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证{\color{blue}{文末正下方中心}提供了本人\color{red}联系方式,\color{blue}点击本人照片即可显示WX→官方认证}文末正下方中心提供了本人联系方式,点击本人照

[论文笔记]DROID-SLAM

DROID-SLAM和Raft(ECCV2020BestPaper)的通讯都是ImageNet的一作,给跪了。从densemapping的角度来看,DROID-SLAM采用”缝合预测光流+DBA+Upsample“的情况,极大的提高了一个预训练模型在各个场景的泛化性(相比于估深度的网络)。从Localization的角度来看,与特征点法VSLAM的区别是:信息来源上完整的使用了1/8降采样后的RGB信息,使用预训练模型预测光流从而丢掉了特征匹配过程;与直接法VSLAM的区别是:预测光流的模块可以支持全局BA,直接法VSLAM时间距离较大的两帧之间没法GlobalBA;正经的特征点法的BA流程是

【论文阅读】多传感器SLAM数据集

一、M2DGR该数据集主要针对的是地面机器人,文章正文提到,现在许多机器人在进行定位时,其视角以及移动速度与车或者无人机有着较大的差异,这一差异导致在地面机器人完成SLAM任务时并不能直接套用类似的数据集。针对这一问题该团队设计了这样的一个包含了多传感器、多场景的数据集。由于其主要针对的是地面机器人,所以创新点也是围绕着这里进行的。文章使用了一个自己搭建的数据采集机器人,配备了六个朝向四周的鱼眼相机、一个朝向天空的普通相机、一个红外相机、一个事件相机、一个32线激光雷达、IMU以及定位设备。标定与同步方面。文章使用了MATLAB的标定工具箱对相机的内参进行了标定,鱼眼相机使用了KannalaB

视觉slam十四讲学习笔记(四)相机与图像

理解理解针孔相机的模型、内参与径向畸变参数。理解一个空间点是如何投影到相机成像平面的。掌握OpenCV的图像存储与表达方式。学会基本的摄像头标定方法。目录前言一、相机模型1针孔相机模型2畸变单目相机的成像过程3 双目相机模型4 RGB-D相机模型二、图像计算机中图像的表示三、图像的存取与访问1安装OpenCV2存取与访问总结前言前面介绍了“机器人如何表示自身位姿”的问题,部分地解释了SLAM经典模型中变量的含义和运动方程部分。本文要讨论“机器人如何观测外部世界”,也就是观测方程部分。而在以相机为主的视觉SLAM中,观测主要是指相机成像的过程。哔哩哔哩课程链接:视觉SLAM十四讲ch5_哔哩哔哩

ROS2安装ORB—SLAM3并用电脑摄像头运行

安装环境:Ubuntu22.04ros2humble安装参考链接一、安装ORB-SLAM3(ROS2安装ORB-SLAM3的前提)1、准备工作1.1安装依赖1.2源码下载2、安装Eugen33、安装Pangolin4、安装opencv4.4.05、安装ORB-SLAM35.1打开ORBSLAM3可视化选项(可选)5.2安装方法6、数据集下载,测试二、ROS2安装ORB-SLAM31、编译ORB-SLAM3-ROS22、安装摄像头驱动usb_cam一、安装ORB-SLAM3(ROS2安装ORB-SLAM3的前提)1、准备工作1.1安装依赖sudoaptinstallgitcmakegccg++m

视觉SLAM中的相机分类及用途

目录1.单目相机2.双目相机3.深度相机(RGB-D相机)4.全景相机5.结构光相机6.激光雷达相机(Lidar)应用场景与选择7.热感相机热感相机用于SLAM的挑战视觉SLAM(SimultaneousLocalizationandMapping)算法主要用于机器人和自动导航系统中,用于同时进行定位和建立环境地图。这种算法依赖于相机来捕捉环境数据。根据视觉SLAM的具体需求和应用场景,可以使用不同类型的相机。以下是用于视觉SLAM的几种主要相机类型及其用途:1.单目相机特点:使用单个镜头捕捉图像。用途:用于估算环境中的特征点位置。单目SLAM系统通常较为复杂,因为它们需要从单一视角的图像中推