草庐IT

工程(十一)——NUC11+D435i+VINS-FUSION+ESDF建图(github代码)

博主的合并代码git@github.com:huashu996/VINS-FUSION-ESDFmap.git一、D435i深度相机配置1.1SDK+ROS参考我之前的博客,步骤和所遇见的问题已经写的很详细了https://blog.csdn.net/HUASHUDEYANJING/article/details/129323834?spm=1001.2014.3001.55011.2相机标定参数1、相机内参通过rostopic的camera/info获取header:标准消息头seq:序列ID,连续递增的ID号stamp:两个时间戳frame_id:与此数据相关联的帧IDheight:图像尺

SLAM算法总结——经典SLAM算法框架总结

SLAM算法总结——经典SLAM算法框架总结SLAM算法总结——经典SLAM算法框架总结SLAM算法总结——经典SLAM算法框架总结从研究生接触SLAM算法到现在也有两三年了,期间学习了很多经典的SLAM算法框架并写了一些相关的博客,本篇博客主要目的是想将这些博客进行一个简单总结用于查漏补缺。首先,按照我的理解,我梳理了如下一个思维导图,如果读者发现有什么需要补充或者纠正的欢迎随时交流:按照分类,我们先来讲讲视觉SLAM,视觉SLAM算法相对于激光SLAM算法的特点是信息更加丰富,由于是在二维提取特征点,因此通常可以达到更高的频率,但也正是因为信息丰富,因此更容易引入噪声,加上缺乏三维信息,导

视觉SLAM14讲——相机与图像

前面我们已经说过了视觉SLAM的运动方程和观测方程。在以相机为主的视觉SLAM中,观测主要是指相机成像的过程。1、相机模型 常见的针孔相机模型如上图,在空间中有一点P,点P坐标为,点P经过光心O投影之后落在了物理成像平面O'-x'-y'上,成像点为P',坐标为,设物理成像平面到小孔的距离为f(焦距)。根据相似三角形可以得出: 公式中的负号表示所成的像是倒立的。由于相机输出的图像并不是倒像,而且为了便于操作,我们可以等价的将成像平面对称的放在相机前方,和三维空间点一同放在相机的同一侧。如下图所示: 这样我们就可以将公式中的负号去掉: 将X',Y'放在等式左侧得: 上式描述了点P和它的像之间的空间

SLAM评估工具-EVO从安装到使用

1、安装evopipinstallevo--upgrade--no-binaryevo--user即可直接安装成功如果说需要更新则更新即可/usr/local/bin/python3.7-mpipinstall--upgradepip2、测试evo_trajeuroc2.txt--plot报错:[ERROR]EuRoCformatgroundtruthmusthaveatleast8entriesperrowandnotrailingdelimiterattheendoftherows(comma)出现这个问题的原因是生成的原始文件中偶尔存在空格等不是完全规范的tum结果文件解决办法:运行如下

SLAM算法评测工具——开源工具EVO(以VINS为例)

EVO库是一个很方便的开源库(PythonpackagefortheevaluationofodometryandSLAM),evo是一个很好的测评工具,它可以根据时间戳将轨迹进行对齐,同时可以将不同尺度的轨迹按照你指定的标准轨迹进行拉伸对齐,并可以算出均方差等评定参数,用于测评slam算法性能。下载:github链接:https://github.com/MichaelGrupp/evo与其他公共基准测试工具相比,evo有几个优势:不同格式的通用工具用于单目SLAM等的关联、对齐、比例调整的算法选项。灵活的输出、绘图或导出选项(例如LaTeX绘图或Excel表格)一个强大的、可配置的CLI,

SLAM学习笔记----坐标关系梳理及PnP算法详解

一,重要的坐标关系的解析四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。世界坐标系:机器人或相机运动过程中,肯定需要知道它的位置,因此需要设定世界坐标系,认定固定不动,作为参考坐标系,描述世界中的任何一点P(Xw,Yw,Zw)。相机坐标系:相机或机器人运动的一个坐标系,通过世界坐标系的变换(旋转R,平移T)计算得到。因此主要是将世界坐标系描述的点坐标P(Xw,Yw,Zw)转换成相机坐标系下描述P(Xc,Yc,Zc),方便计算得到在成像坐标系的坐标。图像(成像)坐标系:描述点在图像坐标系的成像点位置。像素坐标:在相机中得到的是一个像素,因此主要将图像坐标系的点转换成像素坐标系下。1.

基于ROS的机器人建图与导航仿真全过程

引言       之前一直想写一篇关于ROS机器人建图与导航仿真全过程的教程,终于有时间来做这个事啦,本人也拿过吉林省高校机器人大赛——ROS竞速组的冠军,第十六届全国智能车比赛——讯飞餐厅组线上赛二等奖,我想这个教程对接下来的一些参赛者多多少少也会有一些贡献。当然我觉得你已经会ROS的一些基本操作了,本文章只是简单扼要的介绍这个过程,其中细节部分难免可能不会太详细还请见谅,当人后续也会有更多这方面的文章,也会传授一些ROS机器人建图与导航方面的经验,当然我也在学习的过程,难免一些不足之处,话不多说啦,让我先把这个全过程的思维导图放在下面。文章所用的代码已经开源:https://gitee.c

Ubuntu 18.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM2+SLAM相关库的安装

文章目录一、换源二、安装三方库2.1安装必要的依赖项2.2安装Pangolin2.3安装OpenCV32.4安装Eigen3三、安装ORB-SLAM2四、安装ORB-SLAM34.1安装OpenCV44.2安装ORB-SLAM3五、安装ROSMelodic六、ROS安装摄像头驱动七、ROS实时运行ORB-SLAM27.1相机标定7.2编译ORB_SLAM2ROS例子7.3实时运行ORB-SLAM2八、安装SLAM测评工具evo8.1安装evo8.2测试evo九、安装PCL和Octomap十、安装优化库:G2O、GTSAM和Ceres十一、安装Sophus在新安装的Ubuntu18.04系统中配

Ubuntu18.04跑通ORB_SLAM3(实时USB单目摄像头&本地视频.mp4&官方数据集)

本人小白,寒假期间学习了一些ROS知识,试着在虚拟机搭建ORB_SLAM3环境并跑通数据集和摄像头,作本文以记录学习过程。所有用到的资源(软件安装包,镜像文件,库的源码文件都会放在最后百度网盘链接里)目录0.somethingyoushouldknow1.安装VMwareWorkstationPro和Ubuntu18.042.安装ROS3.安装ORB_SLAM3所需的各种库和依赖4.编译ORB_SLAM3并在非ROS环境下跑通数据集&跑自己录制的Video5.编译ORB_SLAM3ROS接口实时跑USB单目摄像头0.somethingyoushouldknow#你需要知道什么是终端,怎么唤起终