![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pcl
文章平均质量分 77
weixin_42734533
这个作者很懒,什么都没留下…
展开
-
基于三维点云的机器人杆件目标识别与抓取(七)
@点云数据精配准经点云数据粗配准算法SAC_IA算法或4PCS算法配准处理后,源点云与目标点云基本重合,但仍存在匹配偏差。为了降低彼此间的匹配偏差,需要在粗配准结果的基础上采用精配准处理,对当前位姿进行修正,从而提高源点云数据与目标点云数据之间的配准精度。本文采用的精配准算法为最近点迭代配准算法。提示:以下是本篇文章正文内容,下面案例可供参考ICP数据精配准2 点云数据配准实验及分析...原创 2021-12-28 22:25:21 · 1748 阅读 · 0 评论 -
基于三维点云的机器人杆件目标识别与抓取(六)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@基于点云配准的场景目标杆件位姿估计1 前言本章主要介绍场景中桁架杆件目标的位姿获取方法及过程。本文采用点云数据配准的方式获取场景目标的位姿信息[50]。通过创建桁架杆件目标的模型点云数据与实际场景中识别的桁架杆件目标的点云数据进行配准,计算两点云数据之间的变换关系,进而求得实际桁架杆件目标的位姿。为了提高两组点云数据在数据配准过程中快速性和准确性,点云数据配准过程分为数据粗配准和数据精配准两部分。本文采用采样一致性算法(SAC_IA原创 2021-12-21 23:26:25 · 945 阅读 · 0 评论 -
基于三维点云的机器人杆件目标识别与抓取(五)
@基于多层条件阈值判据的目标杆件识别前言如上节所述,基于模型特征描述匹配的目标识别方法,对场景点云数据的精度要求高,且要求识别过程视角保持不变,因此基于模型特征描述匹配的目标杆件识别方法在实际识别过程中存在适应性不足的问题。根据当前的实验条件和实验要求,考虑到桁架杆件外形特征,本文提出多层条件阈值判据的目标杆件识别方法。该方法需要针对场景点云数据子集创建最小包围盒,根据杆件特征设置不同的阈值条件,通过层层筛选,进而完成场景目标杆件的识别,通过实验验证可知,该方法能够有效实现场景杆件目标的识别且识别率较原创 2021-12-19 21:09:44 · 1166 阅读 · 1 评论 -
基于三维点云的机器人杆件目标识别与抓取(四)
@基于点云特征描述匹配的目标识别识别基于点云特征描述匹配的目标识别方法主要分为离线注册与在线识别两个过程。离线注册过程,需要创建待识别目标的模型点云,可以通过CAD模型的点云化获得,也可以通过数据采集设备获得。对获得的模型点云进行特征描述并生成特征描述文件。在线识别阶段,需要对经点云数据分割后得到的模型点云数据子集进行特征描述,分别与离线注册生成的目标特征描述文件进行特征匹配,累计投票得到预测的中心点,并计算匹配相似度,提取匹配相似度最高的点云子集,作为场景中所要识别的目标,进而完成场景桁架杆件目标的识别原创 2021-12-15 22:54:13 · 5448 阅读 · 1 评论 -
基于三维点云的机器人杆件目标识别与抓取(三)
本片博文将主要介绍几种基于点云数据的基本特征描述方法,包括:点法向量估计、点特征直方图(PFH)、快速点特征直方图(FPFH),接下来将依次对齐原理、实验及相关代码进行展示与介绍。特征描述一、点云特征描述在点云数据分割、目标识别、位姿配准、表面重建等点云数据处理算法中,点云特征描述起到尤为基础和重要的作用。根据特征的空间尺度进行分类,可分为单点、局部及全局特征。针对点云数据的局部和全局特征,目前已有很多成熟稳定的点云特征描述子对点云数据进行特征描述与表达,如图3-1所示。二、点云法线特征描述原创 2021-05-16 10:26:35 · 1090 阅读 · 0 评论 -
基于三维点云机器人杆件目标识别与抓取(二)
本篇博文将继续介绍点云数据的预处理内容,本篇主要介绍点云数据的分割处理。利用点云数据的轮廓、分布、几何等特征,对数据进行分割处理,并根据数据间的不同的特征对数据进行分类。点云数据分割是进行场景目标识别的前提。经数据滤波算法处理后的点云数据,对所要识别的对象而言仍存在大量无效的背景点,因此需要点云数据分割并对不同类别的点云数据进行聚类,才能更好地进行数据特征提取与识别。针对实际检测环境,本文将通过随机采样一致性分割算法(RANSAC)分割大面积场景背景,通过聚类分割算法将场景中满足要求的对象从场景点云数据中原创 2021-05-13 11:08:41 · 847 阅读 · 0 评论 -
基于三维点云机器人杆件目标识别与抓取(一)
从本文开始,我将近一年的课题学习与研究,已分片的形式来记录和展示。将通过这几篇博文的介绍,展示自己的学习和研究过程中采用的方法及其相关结果显示。下图所示为基于位置的机器人视觉伺服反馈控制方法,本课题侧重于视觉伺服反馈部分中的场景超长杆件的目标识别及杆件的位姿估计。本篇博文将介绍数据的采集以及数据的预处理等相关内容。一、场景数据采集点云数据通常由深度图生成,本文基于双目视觉成像原理获取深度图,红外点阵投射器将结构光投射到物体表面,左右红外相机获取左右图像,根据三角测量原理得到视差图,由视差图进而生原创 2021-05-13 10:43:39 · 1552 阅读 · 0 评论 -
PCL中VTK无法实现点云法向量可视化:Error: no override found for ‘vtkActor‘.
对点云数据进行法向量估计过程中,为了能够获取法向量的创建情况,需要对估计的法向量进行可视化。可以用过两种方法实现法向量的可视化:1.可以通过PCL中的VTK模块查看;2.通过配置的opencv环境,添加opencv的配置文件进行查看为了方便,常使用VTK进行查看,这里很容易就会报错以下错误:Error: no override found for ‘vtkActor’.其实,错误之处不在于点云法向量的估计过程,而在于点云法向量的可视化过程,对应到程序中语句部分,应该是添加的类似以下语句造成的:原创 2020-09-07 22:48:43 · 1102 阅读 · 3 评论 -
intel realsense系列中 D435深度相机获取较为优质的场景数据,其中涉及内容:数据采集、图像对齐、post-processing、点云生成以及相机坐标系变换等问题的解决
接触D435深度相机将近两个月了,这里总结一下这段时间的使用过程中,碰到的问题以及相关的解决方法。所使用的配置环境如下:win10+VS2017+PCL1.9.0+OpenCV4.1.0在使用相机之前,首先要下载相机厂商提供的官方SDK文件,进行学习和使用以及查阅一些基本的环境配置问题。这里可以参考之前写过的文章。链接如下:https://blog.csdn.net/weixin_42734533/article/details/107238151里面有相关内容的介绍这里就不多赘述。对于原创 2020-08-20 17:13:57 · 11458 阅读 · 51 评论 -
报错:“[pcl::PCDWriter::writeASCII] Number of points different than width * height!“
在做数据提取的时候容易出现如下图所示错误:原因进士红色框内所显示的,点数不一造成的。个人觉得应该是点云文件中的width和height 的数值在常见的时候是默认值,需要给定一个准确的值。方法如下所示,就是给点云文件中的这两个成员,给定一个准确的值即可。 int j = 0; pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_extract(new pcl::PointCloud<pcl::PointXYZ>); for (int i =原创 2020-08-20 15:12:42 · 4123 阅读 · 5 评论 -
改善D435深度相机获取的点云数据
在使用深度相机获取数据时,由于硬件自身问题,获取的数据,表面噪声很大,数据波动很大,这里需要对数据流进行处理。可参考一下两个链接:https://dev.intelrealsense.com/docs/post-processing-filtershttps://github.com/IntelRealSense/librealsense/tree/master/examples/post-processing这里分享一份关于问题产生和解决的详细文档,地址:链接:https://pan.baidu.原创 2020-08-04 21:09:43 · 3379 阅读 · 2 评论 -
win10+vs2017+Intel RealSense D435深度相机配置
在使用D435深度相机之前需要在官网下载对应的SDK文件:官方链接:https://github.com/IntelRealSense/librealsense/releases/tag/v2.35.2根据系统选择对应的SDK程序包国内的网站一般会下载比较慢,附上云盘????如下:????:https://pan.baidu.com/s/1cvvj2Yb8er5Sr5fvYIR_Sg提取码:mq1c一、首先要安装sdk.exe,安装完成后桌面会出现三个快捷方式共使用者测试和参考里面的内容。原创 2020-07-09 22:32:37 · 4910 阅读 · 8 评论 -
编译错误解决:error LNK2001: 无法解析的外部符号
在运行PCL库编写的程序时,由于版本的原因,有时在运行过程中出现如下错误:error LNK2001: 无法解析的外部符号 LZ4_resetStreamHCerror LNK2001: 无法解析的外部符号 LZ4_setStreamDecodeerror LNK2001: 无法解析的外部符号 LZ4_decompress_safe_continueerror LNK2001: 无法解析的外部符号 LZ4_decompress_safeerror LNK2001: 无法解析的外部符号 LZ4_co原创 2020-06-03 22:26:25 · 12416 阅读 · 10 评论