![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SLAM
主要为激光slam
朽木白露
只有最不虔诚的信徒,才会追寻上帝存在的证明
展开
-
Ubuntu16.04安装PCL
首先安装了一系列的库 sudo apt-get update //先更新,中文别复制 sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev sudo apt-get install mpi-d原创 2020-09-25 22:07:12 · 273 阅读 · 0 评论 -
PCL条件滤波
简介本篇笔记记录了PCL库条件滤波的使用。在上一篇笔记PCL直通滤波中介绍了PCL的直通滤波方法。直通滤波方法比较简单粗暴,直接“一刀切”的思想对某个坐标轴范围剔除。这在简单的场景会比较简单有效,但一旦涉及稍稍复杂一点点的点云剔除直通滤波用起来就没那么方便顺手了,因为直通滤波一次只能对某个坐标轴的范围进行滤波,假如想限制两个轴以上的范围直通滤波就无能为力了。而条件滤波(condition removal filter)正好可以解决这个问题,条件滤波相比于直通滤波优点就是一次可以对多个轴的范围进行划定限制。允转载 2020-11-03 12:24:55 · 3071 阅读 · 0 评论 -
匿名mahony互补滤波代码详解
下面是我对匿名源码修改整理后得到的代码,去掉了冗余便于讲解,此外给出了一些优化建议。一、函数调用二、Drv_Icm20602_Read()读取16位ADC采样值三、imu_origDataPrepare()因为传感器安装角度和载体坐标系可能不一致,因此需要一个基础的坐标转换,最终得到x前、y右、z下的载体坐标系。因为加速度计对高频抖动敏感,因此需要一个低通滤波器。陀螺仪加一个低通滤波无伤大雅。当传感器不在载体中心时,载体旋转时传感器会有一个向心加速度,该加速度会被传感器测量出来,因此原创 2020-10-26 17:29:30 · 1301 阅读 · 1 评论 -
VoxelGrid与ApproximateVoxelGrid区别
转自:https://blog.csdn.net/Small_Munich/article/details/108348164 VoxelGrid体素采样 pcl库中的VoxelGrid对点云进行体素化,主要就是创建一个三维体素栅格(就是每个比较小的立方体组成的体素栅格)。在每个体素(三维立方体)里面,求取该立方体内的所有点云重心点来代表这个立方体的表示,以此达到下采样的目的。 class pcl::ApproximateVoxelGrid<PointT> class pcl转载 2020-10-24 14:36:41 · 2263 阅读 · 0 评论 -
坐标系与姿态解算
目录:刚体描述旋转描述ZYX欧拉角轴角与四元数坐标系与姿态姿态解算使用陀螺仪积分使用加速度计或磁力计互补滤波(mahony互补滤波)四元数更新原创 2020-10-23 18:09:04 · 669 阅读 · 0 评论 -
PCL之ICP算法
转自:https://blog.csdn.net/u010696366/article/details/8941938?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.chan转载 2020-10-22 12:17:33 · 9221 阅读 · 0 评论 -
matlab生成pcd格式文件
例如pcData 是10000*3的点云坐标数组ptCloud = pointCloud(pcData(:,1:3));pcwrite(ptCloud, 'test.pcd', 'Encoding', 'ascii'); %将程序中的xyz数据写入pcd文件中pc = pcread('test.pcd');pcshow(pc); %显示点云转载 2020-10-18 12:50:02 · 3209 阅读 · 0 评论 -
安装PCL点云库官方文档至本地计算机
1. 引言 在学习和日后使用PCL的过程频繁翻阅PCL文档是必不可少的,但是由于PCL目前挂载在GitHub上,而目前中国大陆由于某些不可抗力导致访问该网站速度极慢,如果可以将文档下载到本地,使用将会及其方便。而其官方文档也有教你怎么生成本地文档,但是由于该教程针对1.7的文档,没有更新到现在官网的1.11,且安装过程中会产生很多问题。该文章将依据此教程进行重新梳理。 2. 软件配置 Ubuntu 16.04 LTSpython 2.7pip 20.2.1 若生成PCL 1.11.0文档,则使用如下组转载 2020-10-04 15:21:06 · 872 阅读 · 0 评论 -
dom、dem、dsm的概念区别
一、DTM(Digital Terrain Model) 数字地面模型是利用一个任意坐标系中大量选择的已知x、y、z的坐标点对连续地面的一个简单的统计表示,或者说,DTM就是地形表面形态属性信息的数字表达,是带有空间位置特征和地形属性特征的数字描述。地形表面形态的属性信息一般包括高程、坡度、坡向等。 数字地形模型(DTM, Digital Terrain Model)最初是为了高速公路的自动设计提出来的(Miller,1956)。此后,它被用于各种线路选线(铁路、公路、输电线)的设计以及各种工程的面转载 2020-06-22 16:18:41 · 6221 阅读 · 0 评论 -
普吕克坐标Plücker是如何确定一条直线的
描述在三维空间中,取直线上的两个点p1p1p1p1p_1p1p1p1p1和p2p2p2p2p_2p2p2p2p2。令d=p2−p1,m=p1×p2d=p2−p1,m=p1×p2d=p2−p1,m=p1×p2d=p2−p1,m=p1×p2d = p_2 - p_1, m = p_1 \times p_2d=p2−p1,m=p1×p2d=p2−p1,m=p1×p2d=p2−p1,m=p1×p2d=p2−p1,m=p1×p2。将 p1p1p1p1p_1p1.转载 2020-06-22 10:24:43 · 1462 阅读 · 1 评论 -
RANSAC算法的单应性矩阵讲解
还可以参考:https://blog.csdn.net/lhanchao/article/details/52849446我们已经得到了像素坐标系和世界坐标系下的坐标映射关系:其中,u、v表示像素坐标系中的坐标,s表示尺度因子,fx、fy、u0、v0、γ(由于制造误差产生的两个坐标轴偏斜参数,通常很小)表示5个相机内参,R,t表示相机外参,Xw、Yw、Zw(假设标定棋盘位于世界坐标系中Zw=...原创 2020-04-11 18:22:34 · 6853 阅读 · 4 评论 -
距离差分矩阵DDM算法
QQ群招募中:646258285(招募中,没几个人说话), 需要交流的朋友可以直接加我微信( DntBeliv )或QQ( 1121864253 )原创 2020-04-11 17:00:31 · 948 阅读 · 0 评论 -
3D特征描述子SHOT详解
在3D点云目标识别中,除了传统的利用二维图像来辅助识别,然后映射到3D的方式;学术界在十几年前就开始研究3D点云的特征描述子。本文主要详解意大利博洛尼亚大学教授提出的SHOT(Signature of Histogram of Orientation)http://www.vision.deis.unibo.it/SHOT。1、3D特征描述子图1.1 3D描述子编码通用规则 ...转载 2020-04-10 23:20:15 · 2920 阅读 · 0 评论 -
快速点特征直方图FPFH
【PCL学习笔记】之快速点特征直方图FPFH - pcl::FPFHSignature331. pcl::FPFHSignature33介绍先来看 pcl::FPFHSignature33 的源码: /** \brief A point structure representing the Fast Point Feature Histogram (FPFH). * \ing...转载 2020-04-10 22:40:21 · 8850 阅读 · 7 评论 -
ISS算法简述
ISS算法的全程是Intrinsic Shape Signatures。ISS特征点检测的思想也甚是简单,简单来说就是I在局部坐标系下的使用:1.建立关键点的局部坐标系;2.求关键点与领域点的协方差矩阵;3.利用协方差矩阵的特征值之间关系来形容该点的特征程度。显然这种情况下的特征值是有几何意义的,特征值的大小实际上是椭球轴的长度。椭球的的形态则是对邻近点分布状态的抽象总结。试想,如果临近...原创 2020-04-10 19:15:09 · 5327 阅读 · 0 评论 -
点云局部坐标系的建立方法
对局部坐标系进行建模方法1.基于协方差矩阵协方差矩阵的思想其实很简单,实际上它是一种耦合,把两个步骤耦合在了一起1.把pi和周围点pj的坐标相减:本质上这生成了许多从pi->pj的向量,理想情况下pi的法线应该是垂直于这些向量的2.利用奇异值分解求这些向量的0空间,拟合出一个尽可能垂直的向量,作为法线的估计方法2.基于齐次坐标1.把点的坐标转为齐次坐标2.对其次坐标进行奇异值分...原创 2020-04-10 19:11:33 · 2526 阅读 · 1 评论 -
NDT算法
https://blog.csdn.net/u013351270/article/details/69391135http://ghx0x0.github.io/2014/12/30/NDT-match/一文读懂自动驾驶中常用的定位算法之NDT点云配准算法(1)——Paper Readinghttps://blog.csdn.net/qq_23225073/article/details/8...转载 2020-04-09 23:34:01 · 746 阅读 · 0 评论 -
PCA原理详解
声明:参考:PCA数学原理、维基百科PCA——主成分分析简介PCA全称Principal Component Analysis,即主成分分析,是一种常用的数据降维方法。它可以通过线性变换将原始数据变换为一组各维度线性无关的表示,以此来提取数据的主要线性分量。z=wTxz=wTxz=wTxz=wTxz = w^Txz=wTxz=wTxz=wTxz=wTx 其中,z为低维矩阵,x为...转载 2020-04-09 19:05:58 · 2791 阅读 · 0 评论 -
直观讲解PCA原理
PCA的原理我们现在来看一下PCA算法是如何实现的,我们通过一个具体实例来理解,假设我们有这样一些标准化后的数据:[-1,-2],[-1,0],……,[2,1],[0,1]。我们写成向量的形式如下:我们还可以在二维坐标系中画出来:**PCA主要的目的是降维简化数据,这些数据本就是二维,想要再降维则需要重新找一个方向,并把这些点映射到这个方向上(降到1维)。**试想,怎么才能找到这个方向,...转载 2020-04-09 19:02:46 · 730 阅读 · 0 评论 -
点云粗配准:主成分分析法PCA(matlab)
QQ群招募中:646258285(招募中,没几个人说话), 需要交流的朋友可以直接加我微信( DntBeliv )或QQ( 1121864253 )function plot_3d( data_source, color ) x1=data_source(:,1); y1=data_source(:,2); z1=data_source(:,3); ...原创 2020-04-09 18:01:07 · 5071 阅读 · 15 评论 -
k-means聚类算法原理简析
k-means聚类算法原理简介概要算法思想算法流程图解代码实现算法优化代价函数(Distortion function)如何选取k值聚类中心的初始化概要K-means算法是最普及的聚类算法,也是一个比较简单的聚类算法,所以刚接触的同学不要感到害怕。算法接受一个未标记的数据集,然后将数据聚类成不同的组,同时,k-means算法也是一种无监督学习。算法思想k-means算法的思想比较简单,假设...转载 2020-04-08 18:52:07 · 8455 阅读 · 0 评论 -
激光雷达的7大分类讲解
激光雷达是集激光、全球定位系统(GPS)、和IMU(惯性测量装置)三种技术于一身的系统,相比普通雷达,激光雷达具有分辨率高,隐蔽性好、抗干扰能力更强等优势。随着科技的不断发展,激光雷达的应用越来越广泛,在机器人、无人驾驶、无人车等领域都能看到它的身影,有需求必然会有市场,随着激光雷达需求的不断增大,激光雷达的种类也变得琳琅满目,按照使用功能、探测方式、载荷平台等激光雷达可分为不同的类型。 ...转载 2020-04-06 19:17:34 · 2235 阅读 · 0 评论 -
点云配准各种方法总结
粗配准方案LORAX4点法(4-Points Congruent Sets,4PCS)Super 4PCS(Super 4-Points Congruent Sets)SK-4PCS(Semantic Keypoint 4-Points Congruent Sets)G-4PCS(Generalized 4-points congruent sets)精配准方案DO(Di...转载 2020-03-31 20:20:03 · 14511 阅读 · 2 评论 -
MATLAB数据矩阵单位化,归一化,标准化
1.数据矩阵单位化 单位化就是令列向量的模为1方法一:%%矩阵的列向量单位化%输出矩阵Y为单位化矩阵%方法即是矩阵中所有元素除以该元素所在列向量的二范数clc;clear;X=[790 3977 849 1294 1927 1105 204 1329 768 5037 1135 1330 1925 1459 275 1487 942 2793 820 814 161...转载 2020-03-31 13:17:53 · 9837 阅读 · 0 评论 -
主成分分析matlab代码实现
方法一:1:用zscore函数对原始数据S进行标准化。2:用cov函数求出标准化后的数据的协方差。3:求出此协方差的特征向量与特征根(eig函数)。4:将产生的特征向量依据特征根大小从大到小进行排列(即将特征向量按列倒序)。5:依据需求取出倒序后的向量的前几列(一般根据特征根来算贡献率,使得累计贡献率大于85%),组成新的矩阵T6:做S*T得到分析后的新的数据。7:依据特征根算贡献率...转载 2020-03-31 13:05:39 · 12444 阅读 · 1 评论 -
点云法向量
一、点云法向量 法向量是点云中各点的重要属性之一。众多点云算法的实施都基于精确的法向量估计,例如许多表面重建算法、点云分割算法、点云去噪算法以及特征描述算法等。由空间变换可知,点云中每一点的法向量夹角及曲率值均不随物体的运动而改变,具有刚体运动不变性。 点云法向量求解需要其邻域内点支持,而邻域的大小一般由邻域半径值或临近点个数来表示。现实中需要根据点分别率、物体细节...转载 2020-03-21 16:42:42 · 4173 阅读 · 0 评论 -
RANSAC算法详解
我的数学之美(一)——RANSAC算法详解给定两个点p1与p2的坐标,确定这两点所构成的直线,要求对于输入的任意点p3,都可以判断它是否在该直线上。初中解析几何知识告诉我们,判断一个点在直线上,只需其与直线上任意两点点斜率都相同即可。实际操作当中,往往会先根据已知的两点算出直线的表达式(点斜式、截距式等等),然后通过向量计算即可方便地判断p3是否在该直线上。 生产实践中的数据往往会有一定的偏差。...原创 2020-02-11 12:54:26 · 3335 阅读 · 0 评论 -
K-D Tree原理详解
一、从线性查找到k-D树参考博客:https://zhuanlan.zhihu.com/p/453461171 线性查找假设数组A为[0, 6, 3, 8, 7, 4, 11],有一个元素x,我们要找到数组A中距离x最近的元素,应该如何实现呢?比较直接的想法是用数组A中的每一个元素与x作差,差的绝对值最小的那个元素就是我们要找的元素。假设x = 2,那么用数组A中的所有元素与x作差得到[-2...原创 2020-01-06 16:17:58 · 1716 阅读 · 1 评论 -
icp之SVD解法
博主 陈靖_ (https://my.csdn.net/zhongkejingwang)详细地介绍了SVD的算法原理及其在推荐系统中的应用,详见https://blog.csdn.net/zhongkejingwang/article/details/43053513和https://blog.csdn.net/zhongkejingwang/article/details/43083603。除了...原创 2020-01-02 16:12:38 · 1058 阅读 · 2 评论 -
一些有用的三维点云数据集网站
三维点云欧特克的研究——数字210金欧特克的样品扫描和图像数据研究办公室。自治系统实验室(乙)激光和Kinect结构化和非结构化的数据环境。 这一组有一个有用的相关链接列表以及类似的链接 数据。加拿大行星模拟地形三维映射的数据集激光扫描非结构化地形从...原创 2020-01-01 18:40:13 · 1577 阅读 · 1 评论 -
激光雷达7大分类说明
激光雷达是集激光、全球定位系统(GPS)、和IMU(惯性测量装置)三种技术于一身的系统,相比普通雷达,激光雷达具有分辨率高,隐蔽性好、抗干扰能力更强等优势...转载 2019-12-30 14:35:35 · 582 阅读 · 0 评论 -
icp点云配准算法概述
假设给两个三维点集 X1 和 X2,ICP方法的配准步骤如下:第一步,计算X2中的每一个点在X1 点集中的对应近点;第二步,求得使上述对应点对平均距离最小的刚体变换,求得平移参数和旋转参数;第三步,对X2使用上一步求得的平移和旋转参数,得到新的变换点集;第四步, 如果新的变换点集与参考点集满足两点集的平均距离小于某一给定阈值,则停止迭代计算,否则新的变换点集作为新的X2继续迭代,直到达到目...原创 2019-12-24 00:00:27 · 1321 阅读 · 0 评论