自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 资源 (2)
  • 收藏
  • 关注

原创 从零入门激光SLAM(二十)——IESKF代码实现

随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。博主创建了一个科研互助群,欢迎大家加入讨论。源码是高博大佬的,网址如下下面对代码的逻辑和主要函数进行解析。

2024-05-24 17:56:47 256

原创 从零入门激光SLAM(二十一)——看不懂FAST-LIO?进来

本文提出了 FAST-LIO,这是一种计算效率高且稳健的 LiDAR-惯性里程计框架,采用紧耦合迭代卡尔曼滤波器。我们使用前向和后向传播来预测 LiDAR 扫描中的状态并补偿运动。此外,我们证明并实施了一个等效公式,该公式可以大大降低卡尔曼增益计算的复杂度。FAST-LIO 在无人机飞行实验中进行了测试,在具有大旋转速度的具有挑战性的室内环境和室外环境中进行了测试。在所有测试中,我们的方法都产生了精确、实时且可靠的导航结果。

2024-05-24 17:36:22 673

原创 从零入门激光SLAM(十九)——松耦合与紧耦合到底怎么区分

随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。博主创建了一个科研互助群,欢迎大家加入讨论。

2024-05-22 14:42:02 671

原创 从零入门激光SLAM(十八)——ESKF实现组合导航

在误差状态卡尔曼滤波器中,真值等于名义状态变量+误差状态变量首先定义状态变量。p为平移,v为速度,R为旋转,b_g,b_a为零偏,g为重力,状态变量在连续时间下的运动方程为,其中带下标t的表示真值IMU的读数为则状态变量的运动方程为将状态变量拆为两部分:名义状态变量与误差如下所示。

2024-05-22 14:39:29 349

原创 激光雷达SLAM算法综述

即时定位与地图构建(simultaneous localization and mapping,SLAM)是自主移动机器人和自动驾驶的关键 技术之一,而激光雷达则是支撑SLAM算法运行的重要传感器。基于激光雷达的SLAM算法,对激光雷达SLAM总体框架进行介绍,详细阐述前端里程计、后端优化、回环检测、地图构建模块的作用并总结所使用的算法;按由2D到 3D,单传感器到多传感器融合的顺序,对经典的具有代表性的开源算法进行描述和梳理归纳;介绍常用的开源数据集,以及精度评价指标和测评工具;

2024-05-17 16:55:46 719

原创 从零入门激光SLAM(十七)——SLAM中为什么用ESKF误差卡尔曼滤波器

上一节,介绍了卡尔曼滤波的基本原理,但在SLAM中却使用ESKF,让我们一起看看具体的原因是什么吧。

2024-05-16 09:24:27 404

原创 从零入门激光SLAM(十六)——卡尔曼滤波基础

卡尔曼滤波器(Kalman Filter)是一种用于估计动态系统状态的递归算法。它通过结合系统的动态模型和噪声观测数据,提供对系统状态的最优估计。卡尔曼滤波器广泛应用于信号处理、控制系统、导航、计算机视觉等领域。卡尔曼滤波器基于线性系统模型,假设系统的动态过程和观测过程都受到高斯噪声的影响。滤波器在两个主要步骤之间交替进行:预测(Prediction):根据系统的动态模型,利用前一时刻的状态估计来预测当前时刻的状态和协方差矩阵。

2024-05-15 16:39:00 619

原创 从零入门激光SLAM(十五)——IMU在SLAM中的用处

惯性测量单元(Inertial measurement unit,IMU),是测量物体三轴姿态角以及加速度的装置。陀螺仪用来测量三轴的角度/角速度,加速度计用来测量三轴的加速度,磁力计提供磁场朝向信息。IMU在SLAM系统中的作用是提供设备的姿态、运动和加速度信息,从而帮助系统理解设备的运动轨迹。即使在车辆静止时,IMU 的角速度和加速度输出也不一定形成均值为0的白噪声,而是带有一定的偏移。这个偏移量是由 IMU 内部的机电测量装置导致的,有些 IMU 的偏移较小,也有的会比较大。

2024-05-15 16:29:15 603

原创 从零入门激光SLAM(十四)——简单有效的激光里程计KISS-ICP

SLAM系统经过长久的发展,系统变得越来越复杂,拥有许多参数需要调整,同时新型的激光雷达使得很多里程计不再适用。机器人平台的稳健和准确的位姿估计,即所谓的基于传感器的里程计,是许多机器人应用的重要组成部分。虽然许多传感器里程计系统通过增加运动估计过程的复杂性而取得了进展,但我们却朝着相反的方向前进。通过去掉大部分部件并聚焦于核心元件,我们获得了一个令人惊讶的有效系统,该系统易于实现,并且可以使用不同的激光雷达传感器在各种环境条件下运行。

2024-05-15 16:26:14 504

原创 从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析4

随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。,欢迎大家加入讨论。

2024-05-09 15:52:23 631

原创 3D高斯抛雪球最强综述

基于图像的3D场景重建时机器理解现实世界环境复杂性的基础,促进了3D 建模和动画、机器人导航、历史保存、增强/虚拟现实和自动驾驶等广泛应用。3D 高斯抛雪球被视为下一代3D重建和表示的潜在游戏规则改变者,开辟了大量的应用程序,具有巨大的潜能与应用价值值得人们探索。三维高斯抛雪球技术是近年来在显式辐射场和计算机图形学领域出现的一种变革性技术。这一创新方法的特点是利用了数百万可学习的3D高斯球,它与主流的神经辐射场方法有很大的不同,后者主要使用隐式的、基于坐标的模型来将空间坐标映射到像素值。

2024-05-09 15:51:36 730

原创 【文献解析】3D高斯抛雪球是个什么玩意

辐射场:辐射场是三维空间中光分布的表示,它捕捉光如何与环境中的表面和材料相互作用。显式辐射场:相反,显式辐射场直接表示离散空间结构中的光分布,隐式辐射场:隐式辐射场表示场景中的光分布,而不明确定义场景的几何体。显式表达方法(点、网格、体素)的连续性质有助于优化,但渲染所需的随机采样成本高昂,并且可能会导致噪声。隐式表达(NeRF)耗费计算资源巨大,运行速度慢。3D GS 表示从隐式辐射场到显式辐射场的转变。它通过利用3D高斯作为灵活高效的表示,利用了这两种方法的优势。

2024-05-08 17:11:55 583

原创 【文献解析】NeRF的原理是什么

从新视点生成照片级真实感输出需要正确处理复杂的几何体和材质反射比属性。目前还没有一种方法可以生成照片级的场景渲染,传统的Sfm重建质量不够高且仅仅将照片颜色投影到模型。

2024-05-08 17:07:44 338

原创 从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析2

LEGO-LOAM的第二个文件是Feature association,主要功能是对分割后的点云进行特征点提取和匹配操作,估算出位姿,本节将介绍整体功能和怎么从杂乱的点云中提取特征。提取特征能够避免使用全部点云进行计算和匹配,大大降低了内存资源,是3D激光SLAM能够实时建图的特新思想。所有LOAM系的算法均用角点和面点特征进行匹配。首先对无序点云进行特征提取,之后利用特征点进行匹配计算出位姿。

2024-05-07 17:07:03 482

原创 工程(十七)——自己数据集跑R2live

关于固态激光雷达和相机的数据集如何建立见之前跑r3live的博客。

2023-12-30 00:39:31 954

原创 工程(十六)——自己数据集跑Fast_livo

Fast_liv/src/FAST-LIVO/config 需要改一个avia_resize.yaml和camera_pinhole_resize.yaml。关于固态激光雷达和相机的数据集如何建立见之前跑r3live的博客。下面两个直接把包下载下来一起编译就可以。选择自己的yaml文件和topic名称。1.config文件。

2023-12-29 23:48:14 1126 4

原创 工程(十五)——UBUNTU20.04跑Fastlio2

Ubuntu20.04ROS noeticPCL 1.8Eigen 3.3.4livox_ros_driver 三、运行测试下载作者提供的包https://drive.google.com/drive/folders/1CGYEJ9-wWjr8INyan6q1BZz_5VtGB-fP

2023-12-29 22:40:31 1061 1

原创 从零入门激光SLAM(十二)——evo工具箱

EVO代表"Evaluating Visual Odometry and SLAM systems",是一组用于比较和评估视觉里程计(Visual Odometry,VO)和SLAM(Simultaneous Localization and Mapping)系统的工具和方法。EVO工具箱提供了一种用于评估VO和SLAM算法输出轨迹与真实轨迹之间差异的方式。它可以从ROS数据包、KITTI数据集或者Euroc数据集等输入中读取数据,然后计算和显示VO和SLAM轨迹的误差、相对运动信息、以及其他性能指标。

2023-12-27 23:35:24 1484

原创 工程(十三)——基于激光视觉的SLAM三维重建

目前的主流三维重建算法包括:基于网络的纯视觉三维重建、基于SLAM算法的三维重建基于激光视觉SLAM(Simultaneous Localization and Mapping)的三维重建在多个方面具有许多优势,这些优势使其在许多领域如机器人导航、自动驾驶、建筑测绘、室内导航和虚拟现实等应用中受到广泛关注。以下是一些主要的优势:高精度:激光传感器能够提供高精度的深度信息,使得三维地图的重建精度很高。这对于需要精确定位和建立精确地图的应用非常重要,如自动驾驶车辆和机器人导航。

2023-11-07 22:44:50 1079

原创 工程(十四)——ubuntu20.04 PL-VINS

PL-VINS是基于最先进的基于点的VINS- mono,开发的一种基于点和线特征的实时、高效优化的单目VINS方法。原始的 PL-VINS是在ubuntu18.04基于opencv3去开发的。我的配置:ubuntu20.04+opencv4.2+eigen3.3.7更改好的代码如下,可直接用,需要修改mage_node_b.cpp的main函数第一行的地址。

2023-11-06 21:38:50 859 2

原创 工程(十二)Ubuntu20.04LSD_SLAM运行

博主将修改好的LSD_SLAM放到github上供大家使用,适用于18.04 20.04,可直接使用。LSD_SLAM适配于ubuntu20.04修改过程的参考连接如下。

2023-11-06 13:54:54 638 1

原创 从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析1

首先LEGO-LOAM是在LOAM基础上基于地面优化,并且加入了简易的闭环检测,而LOAM是实时三维激光SLAM的开山鼻祖,使得实时三维重建成为可能,同时基于特征的激光SLAM基本上都是LOAM的衍生算法,思想大同小异。LEGO-LOAM在LOAM的基础上效果有巨大提升,同时代码可读性较高,所以将它作为入门SLAM的第一个算法非常合适。LEGO-LOAM系统框架如下所示其核心思想是将同时定位和映射的复杂问题划分为两个算法,该问题旨在同时优化大量变量。高频低保真的执行里程计。低频高保真执行地图优化。

2023-10-27 14:28:20 2099 6

原创 获取大疆无人机的飞控记录数据并绘制曲线

点击"创建应用",App Type 选择 "Open API",自行填写“App 名称”“分类”和“描述”,点击 "创建"。上一步生成的txt文件由于参数众多是巨大的,这里我写了一个py文件用于提取重要的信息,例如提取经纬度和高度。通过个人邮箱激活 App,在开发者网平台个人点击查看对应 App 信息,其中。将经纬度和高度生成xyz坐标和画图,暂定以前20个点的均值作为投影坐标系的原点。于是我更改了main.cc文件,使它能够保存数据到txt文件。飞行记录文件在打开【我的电脑】,进入遥控器内存,

2023-07-20 20:01:18 2890

原创 工程(十三)——从零用自己数据跑R3LIVE

相机选用4mm的广角相机,相机内参标定选择用最常见的棋盘格方法,首先安装ROS自带的包用usb_cam启动相机后进行标定。的长X宽--square:棋盘中小格的边长(m)image:=/... : 订阅图像的话题camera:=/camera: 相机name标定完之后,会生成一个内参文件,Intrinsic是相机矩阵,Distortion是畸变矩阵。

2023-07-03 00:09:14 1930 8

原创 Ubuntu更改CMAKE和C++版本

在代码移植的过程中,因为ubuntu版本的不同,经常会出现代码在新环境中编译不通过,其中有很多因素是因为camke和C++的版本不同,下面将给出方案。注意在更换CMAKE时,ROS需要重新安装一遍。修改C++的优先顺序,最后的值越大越优先。

2023-06-21 22:57:12 1349

原创 从零入门激光SLAM(十一)——如何求解SLAM问题

随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。

2023-05-19 22:51:52 1365 7

原创 从零入门激光SLAM(十)——刚体位姿表达与优化

随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。SLAM是一个定位问题,定位问题就离不开刚体运动的表达和传感器和全局坐标系之间的相互转换,下面我们来一起学习一下。

2023-05-19 14:58:35 1768 4

原创 从零入门激光SLAM(九)——三维点云基础

点云是一个数据集,数据集中的每个点代表一组X、Y、Z几何坐标和一个强度值,这个强度值根据物体表面反射率记录返回信号的强度。当这些点组合在一起时,就会形成一个点云,即空间中代表3D形状或对象的数据点集合。主要特征如下:Ø 密度不均匀(稀疏性)Ø 不规则Ø 没有纹理信息(三人成车)Ø 对深度学习的特点:无序性,旋转不变性。

2023-05-11 19:36:23 4414

原创 从零入门激光SLAM系列——总目录与更新情况

从零入门激光SLAM(二)——Ubuntu基础_乌班图系统架构_桦树无泪的博客-CSDN博客从零入门激光SLAM(三)——什么是ROS_桦树无泪的博客-CSDN博客从零入门激光SLAM(四)——ROS C++编译基础_桦树无泪的博客-CSDN博客。

2023-04-23 22:56:13 1027 1

原创 从零入门激光SLAM(八)——ROS常用消息

jsk_recognition_msgs 是一个ROS消息包,它包含了一些用于机器人视觉和感知的常用消息类型。这些消息类型可以被用于在ROS系统中传递机器人感知和识别结果。

2023-04-23 16:20:26 5138 3

原创 从零入门激光SLAM(七)——ROS常用组件

TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换。注意区分坐标转换和坐标系转换。ROS中机器人模型包含大量的部件,每一个部件统称之为link(比如手部、头部、某个关节、某个连杆),每一个link上面对应着一个frame(坐标系), 用frame表示该部件的坐标系,frame和link是绑定在一起的。TF坐标变换如何实现1.广播TF变换2.监听TF变换2.2TF与frame_id。

2023-04-09 13:16:31 2144

原创 从零入门激光SLAM(六)——ROS常用工具箱

RVIZ是一款强大的三维可视化工具,很好地兼容了各种基于ROS软件框架的机器人平台。能够可视化绝大多数的传感器数据。rviz安装下面带大家先看看RVIZ能实现什么效果,具体的代码后面会讲到。ROS中的Gazebo是一个广泛使用的开源物理仿真引擎,它能够模拟多种类型的机器人、车辆、传感器、环境等,并且可以在仿真环境中进行开发、测试和验证机器人控制算法和传感器数据处理算法。物理仿真:Gazebo通过运用物理引擎来模拟物体的运动和碰撞,从而提供真实的物理交互和物体运动效果。

2023-04-09 00:25:56 1697

原创 从零入门激光SLAM(五)——手把手带你编译运行Lego_loam

经过前几次课的讲述,你已经知道了SLAM是干嘛的,以及一些Ubuntu和ROS的简单使用,最重要的是学会了如何编译C++工程。那就先来编译一个Lego_loam代码并运行它吧,你跑通的第一个SLAM算法。

2023-03-30 15:59:30 2523 7

原创 从零入门激光SLAM(四)——ROS C++编译基础

关于此部分内容的简单使用ROS wiki官网已经一步一步写的很详细,但在实际工程中我们还是不知道该怎么去写,博主将以LIO-SAM激光SLAM的源码来解释这些该怎么去用,首先下载LIO-SAM代码,也可以直接下载我整理的代码地址。ch1/LIO-SAM/src/LIO-SAM-DetailedNote/CMakeLists.txt路径下放置着这个代码的编译配置文件,我们来看看它有什么。当需要添加额外的消息与服务时候,需要将这几行的注释取消,并且加上消息与服务的文件名字FILESFILES。

2023-03-28 23:20:44 2388 5

原创 从零入门激光SLAM(三)——什么是ROS

ROS的原型源自斯坦福大学的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)项目。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。

2023-03-27 22:53:45 1809 2

原创 从零入门激光SLAM(二)——Ubuntu基础

我们一般学习激光SLAM都需要在Ubuntu上搭建工程,用ROS传输数据。ROS是基于Ubuntu操作系统的,因此在安装使用ROS之前,需要对Ubuntu系统进行一定的学习。我们从使用习惯的win一下子转到ubuntu系统是会有很大的不适应性,耐心学习Ubuntu系统将会在未来提高很多效率和少走很多弯路。Linux是一种自由、开放、免费的系统软件,是一种多任务和多用户的网络操作系统。它具有良好的可移植性,广泛运行于PC、服务器、工作站到大型机,以及包括嵌入式系统在内的各种硬件设备,适用平台非常广泛。

2023-03-22 15:45:06 2205 2

原创 从零入门激光SLAM(一)——什么是SLAM

SLAM的全称是Simultaneous Localization and Mapping即时定位与地图构建,为解决机器人自主导航的问题。人在一个未知的环境下也不知如何行进,我们闭着眼睛也不知道怎么走路,机器人如人一样,也需要一个“眼睛”与环境之间交互知道自己的位置,并且能够建立一个地图来让机器人自主导航。如下图所是,相机相当于我们的眼睛,激光雷达像是成千上万个很长的拐棍去勘测障碍物,地图相当于我们日常用的导航地图。机器人有了这些东西就可以进行走路(决策、规划、控制)。

2023-03-21 22:11:01 9812 1

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

P:投影矩阵,左边3*3矩阵是相机的内参矩阵,将相机坐标中的3D点投影到2D像素坐标,可能与相机内参K不同。K:相机内参矩阵,使用焦距(fx, fy)和主点坐标(cx, cy),单位为像素,内参矩阵可以将相机坐标中的3D点投影到2D像素坐标,数据顺序(fx,cx,fy,cy,1)height:图像尺寸,height代表高度,(height*width)相机的分辨率,以像素为单位。R:旋转矩阵,将相机坐标系统对准理想的立体图像平面,使两张立体图像中的极线平行,仅对双目相机有效。

2023-03-07 22:27:44 1741 2

原创 Jetson配置realsense D435i SDK以及realsense-ros

命令安装比较方便简单,但对于版本的选择有局限性,有时候直接用命令安装会出现问题。普遍问题是realsense-viewer显示不出来图像,以及imu数据有topic但发布空数据,主要因素是SDK与realsense-ros的版本不匹配,这时我们需要源码安装。rs_camera.launch无imu话题的问题,检查launch文件,默认是不开启的。realsense-ros采用源码安装,realsenseSDK采用指定版本的命令安装。SDK与ros_realsense的版本不匹配,与电脑的接口也有关系。

2023-03-03 17:46:51 2169 6

原创 Jetson xavier nx的扩容及安装cuda经验

首先将jetson拆下来,看里面带不带固态硬盘,如果带将它重新插拔以下以激活,不带就自己买一个。在准备扩容之前要确保JETSON空间还有1G空间,因为在固态载入时候需要空间,否则会失败。一般为了加快下载速度,我们会更换镜像源,但Jetson是arm架构的,很多镜像源的arm包是缺失的。当一直黑屏进不去图形化界面时,不要慌等两分钟,等屏幕再次亮起时进入tty格式登入系统,然后以命令行模式去删除一些代码。当Jetson内存空间不够的时候,会出现开机黑屏,一直进不去图形化界面的问题。将根目录构建到 SSD 上。

2023-02-22 18:03:41 1604

代码资源——激光雷达定点建图

定点建图:将激光雷达放在三脚架上,缓慢上下转动生成点云地图 1、编译运行 cd fix_point_slam catkin_make source devel/setup.bash roslaunch pcl_reg pcl_reg.launch 2、运行ros包 rosbag play 1-1.bag rviz 3、查看所建立的地图 pcl_viewer xxxxxx.pcd

2022-08-25

panda40激光雷达驱动

panda40激光雷达驱动

2022-05-05

Python学习笔记.pdf

Python学习笔记.pdf

2022-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除