大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。目录roslib-ROSWiki1、什么是ROS1.1什么是ROS1.2ROS特点1.3ROS基本概念1.4控制小海龟2、ROS编程基础2.1ROS通信流程2.2 ROS编程流程2.3ROS常用命令roslib-ROSWikiROS官方教程链接 1、什么是
一、引言ORB-SLAM2,它是基于单目、双目或RGB-D相机的一个完整的SLAM系统,其中包括地图重用、回环检测和重定位功能。这个系统可以适用于多种环境,无论是室内小型手持设备,还是工厂环境中飞行的无人机和城市中行驶的车辆,其都可以在标准CPU上实时运行。该系统的后端使用基于单目和双目观测的光束法平差法(bundleadjustment),这使得其可以精确估计轨迹的尺度。该系统包含一个轻量级的定位模式,它使用视觉里程计追踪未建图区域并匹配地图点,实现零漂移定位。下文配置基于Ubuntu20.04系统,请线配置好系统二、ros(noetic)系统的安装ROS系统目前有三大版本,分别是ROSKi
一、引言ORB-SLAM2,它是基于单目、双目或RGB-D相机的一个完整的SLAM系统,其中包括地图重用、回环检测和重定位功能。这个系统可以适用于多种环境,无论是室内小型手持设备,还是工厂环境中飞行的无人机和城市中行驶的车辆,其都可以在标准CPU上实时运行。该系统的后端使用基于单目和双目观测的光束法平差法(bundleadjustment),这使得其可以精确估计轨迹的尺度。该系统包含一个轻量级的定位模式,它使用视觉里程计追踪未建图区域并匹配地图点,实现零漂移定位。下文配置基于Ubuntu20.04系统,请线配置好系统二、ros(noetic)系统的安装ROS系统目前有三大版本,分别是ROSKi
1.传统slam局限性 slam算法假设的环境中的物体都是处于静态或者低运动状态的,然而,现实世界是复杂多变的,因此这种假设对于应用环境有着严格的限制,同时影响视觉slam系统在实际场景中的应用性。当环境中存在动态物体时,会给系统带来错误的观测数据,同时降低系统的精度和鲁棒性。通过RANSAC算法(随机采样一致性)的外点处理机制能够解决部分异常点对于算法的影响。但是当动态物体占据空间的大部分时,依然会影响位姿跟踪,所以需要检测运动的物体、剔除动态区域的特征点,亦或者是降低在优化位姿的权重,减少对视觉定位的影响。 人身上为动态特征点,要尽可能的去除。2.常用算法:开源的系统(DS-SLAM
1.传统slam局限性 slam算法假设的环境中的物体都是处于静态或者低运动状态的,然而,现实世界是复杂多变的,因此这种假设对于应用环境有着严格的限制,同时影响视觉slam系统在实际场景中的应用性。当环境中存在动态物体时,会给系统带来错误的观测数据,同时降低系统的精度和鲁棒性。通过RANSAC算法(随机采样一致性)的外点处理机制能够解决部分异常点对于算法的影响。但是当动态物体占据空间的大部分时,依然会影响位姿跟踪,所以需要检测运动的物体、剔除动态区域的特征点,亦或者是降低在优化位姿的权重,减少对视觉定位的影响。 人身上为动态特征点,要尽可能的去除。2.常用算法:开源的系统(DS-SLAM
前言 本帖的主要内容是整理evo的使用方法及各种命令,不含安装步骤及过程,还未安装的请移步其他博主。 evo目前支持的公开数据集格式有:TUM、KITTI、EuRoC以及ROSbagfile。如果使用的数据集格式为这些中的某一种,那么无须额外的数据格式处理,就可以直接使用evo进行精度相关内容评估。一、evo_traj轨迹管理 可以打开任意多个轨迹,查看统计信息,并且可以统计当前文件中所对应的轨迹长度。evo_trajtumresults.txtgroundtruth.txt-v-p--full_check [-v]:以详细模式显示;[--f
1.概述AVOD(AggregateViewObjectDetection)和MV3D类似,是一种融合3维点云和相机RGB图像的三维目标检测算法.不同的是:MV3D中融合了相机RGB图像,点云BEV映射和FrontView映射,而AVOD则只融合相机RGB图像和点云BEV映射. 从网络结果来看,AVOD采用了基于两阶的检测网络,这让我们很容易想到同样是两阶检测网络结果的FasterRCNN物体检测网络.一想到两阶,首先想到的就是检测精度高但检测速率慢,仅适用了是检测帧率要求不高且要求检测精度的场景. 下面是一张AVOD的网络结构图 AVOD2.网络结构该网络先对输入数据经过特征
一、相机标定张正友标定法二、基准外参计算通过OpenCV的solvePnp()函数计算出相机到基准坐标系的外参数Rb、tbPc=Rb(Pb-tb)三、光平面标定通过两个不同位姿的标定板及在他们上的激光线条,使用最小二乘法计算出光平面的公式。Ax+By+z+C=0上面两张图片是两个不同位姿的标定板,下面两张图片是关灯之后分别照射在两张标定板上的激光线条。首先使用solvePnP计算出两张不同位姿的标定板的外参数R、tPc为相机坐标,Pw为标定板上的世界坐标。Pc=R*(Pw-t)通过图片可以得到出激光线条的像素坐标,然后通过相机内参,将像素坐标转换到相机坐标当中,然后通过两张不同标定板的外参,将
文章目录运行环境:1.1rs16连接:1.2rs16配置1.3rslidarconfig修改1.4录制rslidar_packets话题1.5录制rslidar_points话题1.6Rviz可视化rslidar_points.bag运行环境:ubuntu20.04noetic速腾Robosense16线宏基暗影骑士笔记本1.1rs16连接:1)激光雷达网口–电脑网口2)激光雷达电源–24V1.2rs16配置参考博客:Robosense激光雷达Linux配置1.3rslidarconfig修改直接录制点云数据包比较大,通常采用packet数据包录制。每个packet通常包含每个点的时间戳、强度
文章目录运行环境:1.1rs16连接:1.2rs16配置1.3rslidarconfig修改1.4录制rslidar_packets话题1.5录制rslidar_points话题1.6Rviz可视化rslidar_points.bag运行环境:ubuntu20.04noetic速腾Robosense16线宏基暗影骑士笔记本1.1rs16连接:1)激光雷达网口–电脑网口2)激光雷达电源–24V1.2rs16配置参考博客:Robosense激光雷达Linux配置1.3rslidarconfig修改直接录制点云数据包比较大,通常采用packet数据包录制。每个packet通常包含每个点的时间戳、强度