![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
激光slam 学习
文章平均质量分 56
slam14 讲已经完成
磊磊哈哈
这个作者很懒,什么都没留下…
展开
-
pcl 学习论文阅读(Towards 3D Object Maps for Autonomous Household Robots)
Towards 3D Object Maps for Autonomous Household Robots,2007室内环境的3D地图构建摘要描述了室内环境下的绘图系统,如何获取室内目标模型系统分为3维分割和几何重建门、桌子、抽屉、货架、眼镜盘子是该系统中重要的对象该系统可以在复杂环境中辨识目标,并对新出现的物体进行分类该算法关键部分提供了一种稳定、准确且高效的算法:使用局部视角点云,构造完整的对象模型。基于特征点的辨识桌子、门等对象。自动推理目标对象和类别,可以在复杂或者真实环境转载 2021-06-06 19:47:17 · 582 阅读 · 0 评论 -
PCL点云学习 十二(RoPs 特征与惯性矩描述子)
RoPs(Rotational Projection Statistics)pcl官网地址来自:《pcl_点云从入门到精通》旋装投影特征旋装平移不变性抗干扰性良好理论基础转载 2021-05-26 21:56:38 · 1054 阅读 · 0 评论 -
pcl 学习十一(基准测试)
基准测试用来对于特定算法选择合适的邻域半径和阈值等参数确定pcl点云库中存在: <pcl/features/feature_evaluation/feature_evaluation_framework.h>否则在自己pcl库创建相应文件下载代码来自pcl点云从入门到精通:#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/point_cloud.h>转载 2021-05-24 22:24:57 · 676 阅读 · 1 评论 -
PCL 点云学习八(关键点)
Harris3Dpcl的原理Harris3d详见:链接(并不好用)更加准确的Harris3d论文:《Harris 3D: a robust extension of the Harris operator for interestpoint detection on 3D meshes》转载 2021-05-07 10:10:20 · 693 阅读 · 0 评论 -
PCL点云学习七(从距离图像重建曲面)
论文阅读原文:Fast Range Image Segmentation and Smoothing using Approximate Surface Reconstruction and Region Growing1.摘要/简介利用局部平面信息和临近点平滑测量点将图像分割为平面区域和其他的几何单元可以高速处理距离图像相关为了在复杂环境下获取目标部分,常用方法如下:<1>: 检测水平支撑平面<2>: 在这些平面上提取聚类点<2>: 再执行原创 2021-04-27 12:21:36 · 741 阅读 · 0 评论 -
PCL点云学习六(边缘提取)
论文:Point Feature Extraction on 3D Range Scans Taking into Account Object Boundaries论文阅读摘简介使用点云生成的距离图像提取了前景到背景的边界使用NARF特征,提出了3维数据的特征点和描述符提取方法<1>:特征点需要所在平面稳定(具有稳定的法线)<2>:利用局部视图中的物体边界(因为物体边界是特殊的,边界的特征点和描述符会使整个过程更加具有鲁棒性),提出了一种边界提取方法bor原创 2021-04-22 17:37:44 · 7217 阅读 · 0 评论 -
PCL 点云库学习六(提取任意多边形)
计算凸包算法来自 pcl从入门到精通提取任意多边形构造凸多边形,提取或者剔除任意多边形#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <pcl/filters/crop_hull.h>#include <pcl/surface/concave_hull.h>#include <pcl/io/pcd_io.h>#include <pcl/vi转载 2021-04-14 22:00:13 · 1336 阅读 · 0 评论 -
PCL点云库 学习六(提取、条件剔除、半径剔除)
来自pcl点库从入门到精通提取指定区域#include <iostream>#include <pcl/ModelCoefficients.h>#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <pcl/sample_consensus/method_types.h>#include <pcl/sample_consensus/model_typ转载 2021-04-13 22:42:26 · 1858 阅读 · 1 评论 -
PCL点云库 学习五(直通、体素、离群、投影滤波器)
对点云某一维度剔除/提取指定范围的数据#include <pcl/point_types.h>#include <pcl/point_cloud.h>#include <pcl/filters/passthrough.h>#include <ctime>#include <boost/thread/thread.hpp>#include <pcl/common/common_headers.h>#include &l.转载 2021-04-12 22:09:28 · 253 阅读 · 0 评论 -
PCL 点云库学习四(双边滤波器)
双边滤波器临近采样点加权平均,同时剔除差异大的点,数据更加平滑去除噪点原创 2021-04-02 11:06:06 · 2980 阅读 · 5 评论 -
PCL 点云库学习三(可视化)
检测新增点核心代码 octree.setInputCloud(cloudA); octree.addPointsFromInputCloud(); octree.switchBuffers(); octree.setInputCloud(cloudB); std::vector<int> newoctreeId; octree.addPointsFromInputCloud(newoctreeId);可视化核心代码visualization:.转载 2021-03-31 21:37:12 · 509 阅读 · 0 评论 -
Loam_livox 论文阅读
摘要相较于传统机械式旋转雷达,固态激光雷达的视场角固定,每帧特征点少,容易意识特征匹配退化,受到局部最小值影响(移动的物体)livox的非重复扫描:扫描路径不重复运动畸变:连续工作的激光在不同时间的取样造成雷达的特征:点到边、点到平面、VFH 垂直直方图点云提取距离D(P)=x2+y2+z2D(P)=\sqrt{x^2+y^2+z^2}D(P)=x2+y2+z2方向角:激光与x轴的夹角ϕ(P)=tan−1((y2+z2)/x2)\phi(P)=\tan^{-1}(\sqr.翻译 2021-03-30 11:44:35 · 321 阅读 · 0 评论 -
livox 使用
viewerwindows 下可以使用linux 无法使用报错:编译环境问题SDK下载编译:略TX2 下编译:cd Livox-SDKcd build && \cmake .. -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++make修改 静态ip来自sudo gedit /etc/ne转载 2021-03-23 15:50:21 · 2516 阅读 · 1 评论 -
PCL 库学习二(查找、点云压缩、octree)
查找K临近kdtree.nearestKSearch (searchPoint, K, pointIndex, pointSquareDistance) //searchPoint 查询点 //K 最临近点的个数 //pointIndex 查询到的临近值 //pointSquareDistance 存储的临近距离 //return .转载 2021-03-19 21:08:32 · 594 阅读 · 0 评论 -
PCL 库学习一(基本点云类型、IO)
来自pcl点云入门到精通基本的点Point类#include <pcl/point_types.h>#include <pcl/pcl_macros.h>#include <pcl/point_cloud.h>#include <pcl/io/pcd_io.h>using namespace pcl; //curvature 曲率 //intensity 强度 //range 视点到采样点距离 //vp_x,vp转载 2021-03-16 20:16:57 · 612 阅读 · 0 评论 -
旋转雷达的特征提取与匹配
原文:Lidar Odometry and Mapping in Real-time简介:-提出了一种低速、低计算量的算法-将定位问题划分为定位问题和映射问题-有两种算法:1:高频低精度用来估计雷达速度 2.运行速度低精度高的点云匹配和配对-当有imu时,可以使用imu用来解决高频运动(非必要)-需要提取尖锐的边和平面,平且用于匹配边缘线段和平面片-在计算映射时,通过检验对应局部点簇的集合分布的特征向量和特征值来确定相应关系-解决往分解问题之间欧就可以通过ICP问题求解-采用并行计算结构,原创 2021-03-16 14:11:03 · 721 阅读 · 0 评论 -
gtsam 学习十一(ISAM2 实践)
来自gtam/examples/ISAM1模板#include <gtsam/geometry/Point2.h>#include <gtsam/geometry/SimpleCamera.h>#include <gtsam/inference/Symbol.h>#include <gtsam/slam/PriorFactor.h>#include <gtsam/slam/ProjectionFactor.h>#include &转载 2021-03-10 18:42:26 · 3481 阅读 · 1 评论 -
gtsam 学习十(ISAM2 理论)
翻译自:iSAM2: Incremental Smoothing and Mapping Using the Bayes Tree摘要提出了一种新型的贝斯树处理稀疏矩阵,在转化为因子图,可以更好的求解平方根信息和映射问题。文中提出了三个概念使用概率密度项进行矩阵分解介绍如何将矩阵分解转换为贝叶斯数和条件概率密度基于贝叶斯树提供了一种新的系数非线性优化:ISAM2(进行重新排序和重新线性化,避免了批量更新)问题描述文章聚焦与如何用增量实时解决非线性问题,利用增量即新的测量值实时更新估原创 2021-03-08 20:51:11 · 6656 阅读 · 4 评论 -
gtsam 学习九(imu 因子)
理论知识状态假设相机和雷达所处测量频率和状态相同,均处在低速状态下(10Hz)。定义车辆自身的三个变量Rbn:R:姿态,n导航坐标系,b自身坐标系,下文使用会抛弃上下标R^n_b:R:姿态,n导航坐标系,b自身坐标系,下文使用会抛弃上下标Rbn:R:姿态,n导航坐标系,b自身坐标系,下文使用会抛弃上下标Pbn:R:位置,n导航坐标系,b自身坐标系,下文使用会抛弃上下标P^n_b:R:位置,n导航坐标系,b自身坐标系,下文使用会抛弃上下标Pbn:R:位置,n导航坐标系,b自身坐标系,下文转载 2021-03-03 16:08:53 · 3401 阅读 · 3 评论 -
gtsam 学习八(实现kalman 滤波)
例子 1:#include <gtsam/nonlinear/ExtendedKalmanFilter.h>#include <gtsam/inference/Symbol.h>#include <gtsam/slam/PriorFactor.h>#include <gtsam/slam/BetweenFactor.h>#include <gtsam/geometry/Point2.h>using namespace std;usi转载 2021-02-26 11:01:32 · 731 阅读 · 0 评论 -
gtsam 学习七(读取BAL数据集)
BAL接口函数 string filename="/home/n1/notes/gtsam/readbal/dubrovnik-3-7-pre.txt"; SfM_data mydata; readBAL(filename,mydata); writeBAL(const std::string& filename, SfM_data &data);一个例子#include <gtsam/inference/Symbol.h>#inclu.转载 2021-02-24 18:17:36 · 531 阅读 · 0 评论 -
GTSAM 库学习六(使用相机矫正,简单的SFM)
来自教程相机较真矫正原理(略)实现#include <gtsam/geometry/Pose3.h>#include <gtsam/geometry/Point3.h>#include <gtsam/geometry/SimpleCamera.h>#include <gtsam/inference/Symbol.h>#include <gtsam/nonlinear/NonlinearFactorGraph.h>#includ转载 2021-02-23 16:56:54 · 756 阅读 · 0 评论 -
GTSAM 库学习五(symbol,BearingRangeFactor,express)
symbol在gtsam 中,除了可以直接使用整数为factor,命名key值,还可以使用Symbol定义一个因子的变量(抽象),再需要使用相应key的地方定义。如何使用#include <gtsam/inference/Symbol.h> Symbol x1('x',1),x2('x',2),x3('x',3); Symbol l1('l',1),l2('l',2); // cout<<"x1"<<x1.key()<<e原创 2021-02-22 20:33:35 · 2214 阅读 · 2 评论 -
GTSAM 库学习四(添加一个回环约束)
什么是回环?机器人在其雷达/相机中,辨认出之前访问的路标点。(后端优化)下图来自于官网,x5,x2x_5,x_2x5,x2为相同路标点,添加回环之后,重新优化位姿,可以有效降低不确定度(协防差)。绿色包围的大小表示不确定度(matlab画出)。代码1:官方例程.g2o文件:VERTEX_SE2 0 0.000000 0.000000 0.000000VERTEX_SE2 1 0.774115 1.183389 1.576173VERTEX_SE2 2 -0.262420 2.047.原创 2021-02-19 15:40:13 · 1262 阅读 · 0 评论 -
LIO_SAM 学习一(基本数据结构)
基本数据格式自定义的配置文件(目前不用管意义,在查找时查询)config/params.yamllaunch 加载 <rosparam command="load" file="$(find MY_LIO)/config/params.yaml"/>自定义的could_info.msg#点云数据信息Header Header#索引范围int32[] startRingIndexint32[] endRingIndex#点的行数对应在图片上的索引#点云范围原创 2021-02-18 14:35:48 · 505 阅读 · 0 评论 -
GTSAM库 学习三(因子图进行最小乘优化)
l1,l2l_1,l_2l1,l2:为路标点(GPS、imu等)x1,x2x_1,x_2x1,x2:位置的实际3D坐标u1,u2u_1,u_2u1,u2:测量值(观测值)矩阵白化noiseModel::Base 内置了PCA白化原创 2021-02-18 11:19:26 · 1712 阅读 · 7 评论 -
GTSAM库 学习二(创建一个简单因子图)
来自官网官网上的因子图表达上图为一个HMM(隐马尔可夫链)模型上图的联合分布概率为:P(X3∣X2),P(X2∣X1):条件转移概率(条件概率矩阵)P(X_3|X_2),P(X_2|X_1):条件转移概率(条件概率矩阵)P(X3∣X2),P(X2∣X1):条件转移概率(条件概率矩阵)L(X1;z1)L(X2;z2)L(X3;z3):观测概率矩阵L(X_1;z_1)L(X_2;z_2)L(X_3;z_3):观测概率矩阵L(X1;z1)L(X2;z2)L(X3;z3):观测概率原创 2021-02-07 20:03:07 · 2099 阅读 · 1 评论 -
gtsam库 学习一 (因子图理论基础)
官方教程一 有向图无向图来自如下链接图有向图(Undirected Graph):无向边构成图无向图(Directed Graph):有向边构成图出度和入度出度:转载 2021-02-07 12:48:51 · 3353 阅读 · 2 评论