0. 简介 在此之前博主对Fast-LIO2和R3LIVE进行了系统性的学习。最近文章《Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry》提出了FAST-LIVO,这是一种快速LiDAR惯性-视觉里程计系统,它建立在两个紧耦合的直接里程计子系统之上:VIO子系统和LIO子系统。LIO子系统将新扫描的
0. 简介 视觉里程计最近几年越来越受到学术界以及工业界的认可,以ORB和VINS为代表的视觉SLAM已经可以满足绝大多数场景,而OV2SLAM在其他VSLAM中脱颖而出,其实时性以及具体的回环性能在测试中都得到了认可。下面我们就来看一下《OV2SLAM : A Fully Online and Versatile Visual SLAM for Real-Time Applicatio
前言 摩西摩西,首先我们先来介绍一下什么是UNIX域的socket吧! 参考网上的文章, UNIX Domain SOCKET 是在Socket架构上发展起来的用于同一台主机的进程间通讯(IPC)。它不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序列号应答等。只是将应用层数据从一个进程拷贝到另一个进程。UNIX Domain SOCKET有SOKCET_DGRAM和SOCK
动态场景下的语义SLAM的简单实现 感谢这篇博客在前期给了我一点方向:https://blog.csdn.net/ns2942826077/article/details/103723018 一、前言 之前保研结束,就直接跟着研究生导师开始做毕设,毕设题目是动态场景下的语义SLAM。我提交给本科这边的毕设要求有三点:1、基于ORB-SLAM2,结合双目相机数据集构建出稠密点云地图
手写BundleAdjustment 使用手写BA解决了PnP问题,除了读取图片、显示图片用的opencv,其他基本上只使用了eigen、sophus。 代码放在了百度云上(github还在研究怎么用,以后可能会上)链接:https://pan.baidu.com/s/1CBJMKXGeelBSuJUuk7E1mw提取码:br5o 一、总览 由于c++基本功及其不扎
一、简介 最近在研究异构传感器定位方面的东西,读了一些论文。写个文章做个小结,主要是为了自我总结,也给有缘的网友们一起看看探讨探讨。以后每读一篇论文就再加一节。异构传感器(Heterogeneous sensor),是一个乍一看很高端的名词,其实异构的意思我的理解就是不同源的传感器,类似于camera、lidar、imu、rtk等传感器都是不同源的。那么异构传感器定位呢,就是利用不同源的传感器获
此代码合并了每一帧的激光点云数据,构成了激光点云地图.ground truth,即真值,在本文简写成GT。在kitti数据集中,GT代表了世界坐标系下相机的位姿真值,也就是Tcam2world经过我的一番推导,Pworld = Tcam2world * Tlidar2cam * Plidar(其实不一定对hhh)最终写成了以下代码 src/sum_liadrCloud.cpp //合并每一帧的
模块介绍 模块名称:DT-06 无线 模块功能:模块实现了模块串口与WiFi数据的实时透传 模块实物图片 模块特点 TTL-WiFi 模块基于 ESP-M2 WiFi 模块研发,引出串口 TTL、EN、STATE 等引脚。产品内置串口透传固件可完成设备 TTL 端口到 WiFi/云的数据实时透传,具备低功耗控制,状态指示等功能。模块可直接取代原有的有线串口,实现嵌入式设备数据采集和控制。
代码,cmake,launch等都在网盘链接中 链接: https://pan.baidu.com/s/14hWBDnRZC41xkqAk6FirtA 提取码: 1een--来自百度网盘超级会员v4的分享 1、简介 3D激光雷达和相机的融合指的是将激光雷达获得的3D点,投影到相机图像上,从而给图像每个像素点添加深度信息或者为雷达获取到的3D点添加RGB信息。效果如图: 可以知道
第一次写博客,难免有错误,大家多多指正! ORB-SLAM2: GitHub - raulmur/ORB_SLAM2: Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities ORB-SLAM3: GitHub - JKTao/ORB
代码和数据网盘链接 链接: https://pan.baidu.com/s/11e1ICOxjYAZxdM4Gx0zlJg 提取码: inp1--来自百度网盘超级会员v4的分享 若在我给出的代码之上做了一些优化调整,希望能分享出来放在博客评论里,大家共同学习进步! 注意再运行此代码时anaconda和ros都应该已经安装好了;并且不会冲突(两者冲突比较常见自己当时调的比较麻烦)解决冲突的办法
0. 简介 作为常用的配准方法,ICP和NDT两种匹配被广泛应用于激光雷达的点云配准方法中。我们知道IPC的匹配主要是描述了点到点的匹配方法,而无法胜任点到面以及面到面的匹配,而本博客主要就是将向读者分析《Generalized-ICP》这篇论文,GICP可以通过点到点的距离作为损失函数求解point-to-point的损失函数,点到局部目标点局部拟合的平面距离作为point-to-pl
orb-slam 对应的github下载地址为:https://github.com/raulmur/ORB_SLAM2 实现仿真视频链接为:orb_slam_gazebo_PX4_simulation 概述 ORB-SLAM是西班牙Zaragoza大学的Raul Mur-Artal编写的视觉SLAM系统。他的论文“ORB-SLAM: a versatile andaccurate mono
0. 简介 作为SLAMer在建图时最怕的就是大量的动态障碍物存在,这会导致建图的不精确,而本文主要围绕着如何剔除动态障碍物开始讲起,并提供一种快速的过滤障碍物的方法。 1. 主要方法 在调研的过程中主要存在有两种方法,第一种如文章《通过帧间确定动态障碍物,剔除动态3D点云数据后用于生成栅格地图》所说的方法。通过扫描局部地图,并使用kd-tree完成点云的过滤,通过两帧之间的变化消除动态障碍
0. 简介 上一节中,我们过完了VIO中的状态预测以及特征点跟踪部分。此时我们已经拿到了光流的特征点信息,而这部分越来越接近我们想要去讲的帧到帧的VIO部分了。这一节,我们将围绕着VIO部分来进行讲解 1. PNP误差更新 我们从之前的博客《经典文献阅读之—R3LIVE》了解到,帧到帧的VIO是将三维地图点投影到上一个图像帧获取二维座标然后通过LK光流法获取到在当前帧的二维坐标,然后可以通过
修改launch文件 在之前将ouster-32的激光雷达设置成了静态IP。 因为设置了固定的雷达IP,所以就在launch文件中设置其参数,不用在用命令行的方式传入该参数 修改内容如下: <arg name="sensor_hostname" doc="hostname or IP in dotted decimal form of the sensor"/> 改为
ouster-32 ROS驱动 此 ROS 软件包支持所有固件 v2.0 或更高版本的 Ouster 传感器。启动后,驱动程序将配置并连接到选定的传感器设备,连接后,驱动程序将处理传入的IMU和激光雷达数据包,解码激光雷达帧并发布有关/ouster/imu和/ouster/points主题的相应ROS消息。如果传感器支持双回波并且已配置为使用此功能,则将发布另一个名为 /ouster/point
占据栅格地图(Occupancy Grid Map) 占用栅格地图基础概念 上图就是一个ROS中的占据栅格地图显示 栅格地图定义 :栅格地图就是用一个个栅格组成的网格来代表地图. 栅格里可以存储不同的数值, 代表这个栅格的不同含义. ROS的栅格地图使用 白色代表空闲,也就是可通过区域,其存储的值为 0; 黑色代表占用,也就是不可通过区域,其存储的值为 100; 灰色代表未知
一、整体介绍 这部分是整个系统的核心,因为这个系统就是建图的呀,建图的核心就是综合所有信息进行优化呀。我们前面几节介绍的所有的信息都会发送到这个节点中来供它使用。这部分的代码在文件apps/hdl_graph_slam_nodelet.cpp中。 这部分的代码看着挺多,如果我们能够对它所有的函数分类,就很容易梳理它的内容了。 我们刚才提到,它需要接收之前几节介绍的所有的信息,并加入概率图中,
做slam怎么能少得了闭环。 闭环检测的代码在文件include/hdl_graph_slam/loop_detector.hpp中,整个流程分布的很清晰,我们直接进入看代码的环节了 1. 整体流程 在调用闭环检测功能时,实际是调用的函数detect,所以我们直接看这个函数,就可以看出它的流程 std::vector<Loop::Ptr> detect(const std::v
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信