pcl::Feature 类输入数据的传入方法和四种应用模式

pcl里面的3D特征 我这里不介绍pcl里面的类的命名规范,及点的类型。为什么呢?pcl里面类的命名规范,比较繁琐,而且主要是针对要对pcl这个库要开源的人士,而pcl里面的点的类型太多,足够满足你的要求。所以我们要走一条具有中国特色的pcl主义道路。 今天来介绍一下pcl里面的3D特征。 点是用来给一个给定区域来用笛卡尔坐标系x,y,z来进行描绘的一种方式。假定坐标系统的坐标原点没有变,可能会有两个点比如p1和p 阅读详情

pcl::Feature类 有两种输入数据的方法,共对应四种应用模式:

两种输入数据的方法

  1. 一个完整的点云数据集,通过setInputCloud (PointCloudConstPtr &)来传入。任何特征估计的子类都会尝试估计这个输入点云中每个点的特征。
  2. 一个点云数据集的子集,通过setInputCloud (PointCloudConstPtr &)和setIndices (IndicesConstPtr &)来传入。任何特征估计的子类都会尝试估计给定索引列表中的每个索引对应的点的特征,如果没有给定索引列表,则会默认估计点云数据集中所有点的特征。

此外,可以通过附加调用setSearchSurface(PointCloudConstPtr&)指定要使用的相邻点集。 此调用是可选的,当未给出搜索表面时,默认使用输入点云数据集。

要分清楚两种点,上面的概念才好理解:
第一种是将以这个点为中心,估计这个点的特征的那一个点子集,一般用setInputCloud (PointCloudConstPtr &)和setIndices (IndicesConstPtr &)来传入。
另一种是为第一类待估计的点提供邻接信息和特征约束的点集,一般用setSearchSurface(PointCloudConstPtr&)来传入。
第一种点的特征,用第二种点来描述,这就是特征估计。

对应的四种应用模式

因为总是需要setInputCloud(),所以我们可以使用<setInputCloud(),setIndices(),setSearchSurface()>创建最多四种组合。
假设我们有两个点云,P = {p_1,p_2,… p_n}和Q = {q_1,q_2,…,q_n}。 下图显示了所有四种情况:
在这里插入图片描述

  1. setIndices() = false, setSearchSurface() = false
    无疑这是PCL中最常用的一种形式,第一类点是输入的全体点云数据,第二类点也是输入的全体点云数据。这种应用模式,将对输入的所有点进行特征估计,用来特征表示的相邻点集也都来自输入点云。当给定一个待估计的点,便用输入点云自身的其他点表示待估计点的特征。
    如左1图所示, 首先,我们估计p_1的相邻点集,然后是p_2的相邻点集,依此类推,直到我们遍历完了P中的所有点。
  2. setIndices()= true,setSearchSurface()= false
    这种应用模式下,第一类点由输入点云数据与索引列表共同决定,即只估计输入点云中索引号在索引列表中的那些点,第二类的点则是完整的输入点云数据集。
    如左2图所示,我们假设p_2的索引不在给定的索引列表中,因此不会估计p_2处的相邻点集或特征。
  3. setIndices()= false,setSearchSurface()= true
    这种应用模式下,第一类点是输入的全体点云数据,第二类点是则由setSearchSurface()指定。
    如左3图所示,假设Q = {q_1,q_2}是第一类点,P是第二类点,即P是Q的搜索表面,则q_1和q_2的相邻点集或特征将用P中的点进行表示。
  4. setIndices()= true,setSearchSurface()= true
    这可能是最罕见的情况,其中给出了索引和搜索表面。在这种应用模式下,第一类点由输入点云数据与索引列表共同决定,第二类点由setSearchSurface()指定。
    如左4图所示,假设q_2的索引不是为Q给出的索引向量的一部分,因此在q_2处不会估计相邻点集或者特征信息。

使用setSearchSurface()最有用的例子是:
当我们有一个点云密度非常大的输入数据集时,基于计算花费的考虑,我们不想估计其中所有点的特征,而是想更精准地估计某些关键点(比如用pcl_keypoints中的方法获得的),或者估计点云的下采样版本中的点(比如用体素格滤波器获得)。 在这种情况下,我们可以通过setInputCloud()传入下采样/关键点作为数据输入,并将原始点云数据作为setSearchSurface()传入,从而灵活高效地实现估计指定点的特征。

在法向量估计中的应用举例

  1. 估计输入数据集中所有点的曲面法线
#include <pcl/point_types.h>
#include <pcl/features/normal_3d.h>

{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);

  ... read, pass in or create a point cloud ...

  // Create the normal estimation class, and pass the input dataset to it
  pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> ne;
  ne.setInputCloud (cloud);

  // Create an empty kdtree representation, and pass it to the normal estimation object.
  // Its content will be filled inside the object, based on the given input dataset (as no other search surface is given).
  pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ> ());
  ne.setSearchMethod (tree);

  // Output datasets
  pcl::PointCloud<pcl::Normal>::Ptr cloud_normals (new pcl::PointCloud<pcl::Normal>);

  // Use all neighbors in a sphere of radius 3cm
  ne.setRadiusSearch (0.03);

  // Compute the features
  ne.compute (*cloud_normals);

  // cloud_normals->points.size () should have the same size as the input cloud->points.size ()
}
  1. 估计输入数据集的子集中的所有点的曲面法线
#include <pcl/point_types.h>
#include <pcl/features/normal_3d.h>

{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);

  ... read, pass in or create a point cloud ...

  // Create a set of indices to be used. For simplicity, we're going to be using the first 10% of the points in cloud
  std::vector<int> indices (floor (cloud->points.size () / 10));
  for (size_t i = 0; i < indices.size (); ++i) indices[i] = i;

  // Create the normal estimation class, and pass the input dataset to it
  pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> ne;
  ne.setInputCloud (cloud);

  // Pass the indices
  boost::shared_ptr<std::vector<int> > indicesptr (new std::vector<int> (indices));
  ne.setIndices (indicesptr);

  // Create an empty kdtree representation, and pass it to the normal estimation object.
  // Its content will be filled inside the object, based on the given input dataset (as no other search surface is given).
  pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ> ());
  ne.setSearchMethod (tree);

  // Output datasets
  pcl::PointCloud<pcl::Normal>::Ptr cloud_normals (new pcl::PointCloud<pcl::Normal>);

  // Use all neighbors in a sphere of radius 3cm
  ne.setRadiusSearch (0.03);

  // Compute the features
  ne.compute (*cloud_normals);

  // cloud_normals->points.size () should have the same size as the input indicesptr->size ()
}
  1. 估计输入数据集中的所有点的曲面法线,但使用另一个数据集估计其相邻点集。 即估计下采样版本点云中所有点的法向量的实现方法。
#include <pcl/point_types.h>
#include <pcl/features/normal_3d.h>

{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_downsampled (new pcl::PointCloud<pcl::PointXYZ>);

  ... read, pass in or create a point cloud ...

  ... create a downsampled version of it ...

  // Create the normal estimation class, and pass the input dataset to it
  pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> ne;
  ne.setInputCloud (cloud_downsampled);

  // Pass the original data (before downsampling) as the search surface
  ne.setSearchSurface (cloud);

  // Create an empty kdtree representation, and pass it to the normal estimation object.
  // Its content will be filled inside the object, based on the given surface dataset.
  pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ> ());
  ne.setSearchMethod (tree);

  // Output datasets
  pcl::PointCloud<pcl::Normal>::Ptr cloud_normals (new pcl::PointCloud<pcl::Normal>);

  // Use all neighbors in a sphere of radius 3cm
  ne.setRadiusSearch (0.03);

  // Compute the features
  ne.compute (*cloud_normals);

  // cloud_normals->points.size () should have the same size as the input cloud_downsampled->points.size ()
}

参考资料

How 3D Features work in PCL

【PCL自学:Feature5】视点特征直方图VFH概念及使用 (持续更新) 一、视点特征直方图(VFH)原理   这篇博文描述了视点特征直方图(Viewpoint Feature Histogram[VFH])描述符,在一些其他文章也称为视角特征直方图,这是一种用于聚类识别和6DOF姿态估计问题(六自由度姿态估计)的点聚类的描述符。 1.理论基础:   视点特征直方图(或VFH)起源于FPFH描述符(参见快速点特征直方图(FPFH)描述符)。FPFH有很好的速度和辨别能力,在此基础上添加视点方差,同时保持尺度不变性。   VFH对目标识别和位姿识别问题的主要贡献是将FPFH扩展到整 阅读详情

相关推荐

PCL点云处理中PCA原理与应用:从特征提取到法线估计

主成分分析(PCA)是一种经典的数据降维与特征提取技术,其核心原理是通过线性变换将高维数据投影到方差最大的正交方向上,从而保留数据的主要信息。在三维点云处理中,PCA能够高效提取点云的主轴方向、尺度特征和几何结构,为后续分析提供关键基础。从技术价值看,PCA不仅降低了计算复杂度,还增强了算法对噪声的鲁棒性,成为点云处理流程中的基础算子。在应用场景上,PCA广泛应用于点云法线估计、特征描述子计算、点云配准的初始对齐以及基于几何形状的分类与分割。特别是在PCL(Point Cloud Library)中,PCA

weixin_30892763的博客 520

SetIndices()

HRESULT SetIndices( IDirect3DIndexBuffer9 *pIndexData //使用的索引缓冲区指针 ); Parameters pIndexData[in] Pointer to an IDirect3DIndexBuffer9 interface, representing the index data to be

假装狠牛逼 2645

VS Code调试可视化:让cv::Mat和PCL点云像变量一样可看可调

在计算机视觉与SLAM开发中,图像(cv::Mat)和三维点云(pcl::PointCloud)作为核心数据结构,其内存布局抽象、调试不可见,长期制约C++工程师的排查效率。其本质是原始字节流与语义信息之间的映射缺失——需理解OpenCV矩阵步长(step)、通道顺序、数据类型归一化,以及PCL坐标系转换与百万级点实时渲染原理。该能力的技术价值在于将调试从‘日志+导出+切换工具’的割裂流程,升级为IDE内毫秒级原位可视化,零运行时开销、无缝集成CMake/ROS2工程,并天然支持RealSense、ORB-

weixin_33857679的博客 458

unity mesh基础

画线 /// <summary> /// 创建线Mesh /// </summary> /// <param name="start">线起点</param> /// <param name="end">线终点</param> /// <returns>Mesh对象&lt...

qq_40795166的博客 798

PointAction:RGB-XYZ视频驱动的4D点云动作解码框架

点云处理与机器人动作控制是具身智能落地的核心技术环节,其本质是将三维空间观测(XYZ)与视觉感知(RGB)在时间维度上协同建模。传统方法常将二者割裂处理,导致识别与执行脱节、位姿漂移、反光/弱纹理场景鲁棒性差。PointAction提出RGB-XYZ视频生成与点云动作解码联合架构,通过几何约束下的稠密时空重建,输出SE(3)-等变的三维力场,实现从像素到物理动作的端到端闭环。该方案天然兼容PCL点云处理流程与ROS2机器人开发体系,面向真实产线、仓储、协作装配等工程场景,显著提升抓取成功率与运动稳定性。关键

weixin_33836874的博客 373

负空间建模:从不可见空腔到高精度三维重建的核心技术

在三维城市建模与数字孪生实践中,‘负空间’指被建筑实体围合但不可见的空腔体积,其几何边界严格约束着墙体、洞口与结构表面的位置。该概念源于计算几何中的布尔补集原理,通过体素占据分析、隐式场重建与等值面提取,将‘哪里没有东西’转化为可计算、可重建的几何输入。相比依赖光线反射的传统方法,负空间建模不依赖传感器可见性,而是融合激光雷达点云、BIM语义信息与多视角图像深度学习,实现对遮挡区、地下层、历史细部等长期建模盲区的高鲁棒性重建。目前已广泛应用于能耗模拟气密性建模、旧城握手楼立面冲突检测、古建逆向复原及地铁上盖

weixin_34372728的博客 442

【PCL】pcl中是怎么计算特征的

目录写在前面四种计算特征的方法1. !indices & !isurface2. indices & !isurface3. !indices & isurface4. indices & isurface三个接口辨析1. setInputCloud(PointCloudConstPtr &)2. setIndices(IndicesConstPtr &)3. setSearchSurface(PointCloudConstPtr &)例子1. 直接计

自动驾驶行业学习、交流 1323

《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》论文阅读笔记

文章名:《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》 作者Jiyao Wei a,1, Jian Liaoa,1, Zhenfei Yanga, Suge Wanga,b,∗, Qiang Zhaoa 年份 2019 1 Introduction 目前文本情感分析多分析带...

weixin_39036944的博客 1631

【PCL】(十四)PCL的Feature类接收输入的方式

一旦设置,任何特征估计类都将尝试估计给定输入云中指定索引的每个点的特征。这是PCL中最常用的情况,用户输入单个PointCloud数据,并期望在云中的所有点上估计某个特征。:设置输入的点云数据 (必须的设置), 任何特征估计类都将尝试估计给定输入云中每个点的特征。时,最有用的例子是估计点云的关键点或下采样版本的特征。中给定的曲面将用于获得输入点的最近邻点,而不是输入云本身;以下代码估计点云前10%的点的法线,KNN搜索平面为原始点云。的索引不是给定的索引向量的一部分,因此,仅估计。指定的点云子集估计特征。

weixin_44378835的博客 1100

stm32教程之三重ADC交错采样

ps:本文基于stm32F407ZGT6单片机 stm32F4单片机单通道采集的最大采样率为2.4M,所以有时会难以满足较高频率的采样,于是查阅芯片手册,发现stm32F4支持多重ADC采集,利用每个通道的转换时间,错位采样,从而提高采样率,最大把采样率开到2.4*3=7.2M. (去年初学ADC时研究的,基于cube和HAL库的三重ADC交错采样参考资料不多,我也是研究了一段时间,写下这篇博客希望可以帮助到更多人。) 示意图如下: 以下是官方例子的说明, In this ex...

weixin_52178036的博客 8877

Win10和Ubantu16.04双系统下,卸载Ubantu

Win10和Ubantu16.04双系统下,卸载Ubantu 机器配置 华硕主板,英伟达显卡(这不是重点) Win10与Ubantu16.04均为UFFI分区(如果不知道这个也不需要在意,一般默认的都是这样,鸵鸟原则) 清除Ubantu系统 一般按照常规的方法来删除Ubantu,都是直接将磁盘管理器里面的关于Ubantu的磁盘清空,但是还会留下一个UFFI分区,如果不进行删除的话,开机时候还是会有...

qq_33289694的博客 391

PCL(4):浅谈特征直方图在实际操作中的应用(一)

先看一段代码,从代码讲起。 pcl::PFHEstimation<pcl::PointXYZ, pcl::Normal, pcl::PFHSignature125> pfh_tgt; pfh_tgt.setInputCloud(cloud_tgt); pfh_tgt.setInputNormals(cloud_tgt_normals); pcl::search::KdTree<PointT>::Ptr tree_tgt_fpfh(new pcl::search::KdTree&

qq_42827488的博客 807

stm32最小系统_完成一个最小FOC矢量控制系统所需的基本模块和功能配置

当我们读懂 FOC 矢量控制的基本原理之后,便迫不及待的想动手尝试,去实现一个矢量控制系统,让电机先转起来,有一个直观的感受。因此,我们需要设计实现一个矢量控制的最小系统,具备矢量控制的基本功能,满足电机矢量运行的基本条件。首先,看一下矢量控制的基本架构:矢量控制架构如上图所描述,矢量控制系统包括实时电流的采集、clarke 变换、park 变换、SVPWM 、实时角度的反馈和计算以及电流环和速...

weixin_39524048的博客 1784

【PCL】三维特征描述子pcl::Feature类的相关基础

pcl::Feature类的两种输入方法及四种使用模式理论基础pcl::Feature类输入数据的传入方法pcl::Feature类的四种使用模式法线估计实例 理论基础 在原始表示形式下,点的定义是用笛卡尔坐标系坐标x,y,z相对于一个给定的原点来简单表示的三维映射系统的概念。假定坐标系的原点不随着时间而改变,这里有两个点p1和p2,分别在时间t1和t2捕获,有着相同的坐标。对这两个点做比较其实是属于不适定问题(ill-posed problem),因为虽然相对于一些距离测度(如:欧几里得度量)它们是相等

lemonxiaoxiao的博客 1204

Jenkins部署前后端分离项目最全图文教程(手把手教学)

最近Jenkins部署的热度比较高,于是就想出一篇关于我是如何使用Jenkins部署前后端分离项目的,本篇记录了我是如何一步一步去配置、搭建和部署的完整流程,每一行代码都进行了实测和讲解,通过图文的教学写成博客分享给大家!

黄团团的个人博客 4782

一分钟了解OpenSpec (规格)

OpenSpec是由Fission AI开源的轻量级规范驱动开发(SDD, Spec-Driven Development)CLI工具。它专为AI编程助手(如Cursor、Claude Code)设计,核心是**“先约定,后编码”:在AI写代码前,先通过结构化规范文档达成共识,让开发过程可预测、可审计、可协作**。轻量无侵入:单CLI、无依赖、不改造项目、1分钟接入存量友好:增量Spec、不重构旧文档、1→n王者完全可控:每步审查、AI按图施工、零返工协作利器。

h a 6 6 6 c k 为 你解决复杂难题! 2762

PCL源码--PFH特征点

论文:Persistent Point Feature Histograms for 3D Point Clouds 原理: 根据给定的特征点计算其临近点,在临近点范围内计算两点法向量之间的4个特征: 在pcl源码中,没有两点连线的模长,即没有f2特征,总共计算3个特征。 其他特征都与角度有关,如果3个特征都各自分成5份。那么一共可以分成5的3次方=125份,即由125个bins构成的直方图。 还有最重要的一点,两点要确定谁是source,谁是target,只有确定了source和target该4个特征才唯

Eli_Young的博客 1130

074.多任务学习:在YOLO基础上同时进行分割、关键点检测

本文探讨了在YOLOv5模型中实现检测、分割和关键点多任务的技术方案。通过分层特征抽取策略(检测用深层、分割用浅深融合、关键点用中层)解决特征共享问题;采用不确定性加权方法自动平衡多任务损失;设计了支持三种标签的数据流处理方式;并分享了推理部署时的后处理技巧。实践表明,合理的多任务设计可以提升主任务性能,但需权衡标注成本和推理效率。最终方案选择在训练时引入分割作为辅助任务,推理时仅保留检测和关键点,实现了检测mAP提升2.3%的优化效果。

2603_95664987的博客 45

全局与持久变量管理:从核心概念到高亮策略的工程实践

在软件工程中,变量作用域与生命周期管理是构建可维护系统的基石。全局变量因其跨函数、模块的可见性,而持久变量则关注状态在时间维度上的延续性,两者共同构成了程序中的共享状态。理解其原理对于避免命名冲突、控制副作用至关重要,直接关系到代码的可测试性与架构清晰度。通过封装、访问控制与明确的初始化策略,工程师能够有效管理这些状态,减少面条式代码,提升系统可靠性。这一技术价值在大型项目、长期维护系统及多线程环境中尤为凸显,例如在配置管理、状态共享等应用场景下。本文聚焦于通过命名约定、单例模式等‘高亮’策略,结合C++中

weixin_30363509的博客 1919

【离线OCR】微信离线实现图片OCR文本和表格识别

基于微信本地OCR引擎(由最新版微信自动安装)。通过Python对其官方调用逻辑进行完整翻译和封装,使开发者可以用简单的API调用其强大的OCR功能。

专注于医院数据分析技术与系统开发的创作与分享。 2625

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C++ OpenCV实战指南:从环境搭建到深度学习部署

计算机视觉作为人工智能的核心分支,通过算法让机器“看懂”图像与视频,其原理涉及图像处理、模式识别和机器学习。这项技术能高效提取并分析视觉信息,在自动驾驶、工业检测和增强现实等领域具有极高价值。OpenCV作为开源计算机视觉库,提供了丰富的算法实现,而C++凭借其高性能和精细的内存控制,成为工业级视觉系统的首选。本文聚焦C++与OpenCV的工程实践,详细解析了开发环境配置、核心数据结构cv::Mat的操作、特征提取与目标检测等关键模块,并深入探讨了性能优化和现代C++特性结合等工程化议题,为开发者构建高效、

354

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LIO-SAM 源码解析(五):mapOptmization.cpp

本文详细解析了LIO-SAM中的mapOptimization模块,核心流程:帧初始化:使用IMU数据初始化当前帧位姿;局部地图构建:提取时空相邻关键帧构建局部地图;点云配准优化:通过点到线/面ICP优化当前位姿;因子图优化:集成激光里程计、GPS和闭环因子进行全局优化。 关键技术点:使用KD-tree加速最近邻搜索,基于特征值分解的线/面特征判定,鲁棒核函数处理异常匹配,IMU与激光融合的姿态优化,基于GTSAM的因子图优化框架。系统架构:多线程处理,关键帧管理机制,全局/局部地图的存储与更新。

人无远虑,必有近忧 3178

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

具身智能模型深度研究:物理世界认知的底层重构

具身智能不是AI加机械臂,而是让智能体以身体为认知器官,在因果连续、状态演化的真实物理世界中完成感知-决策-执行闭环。其核心在于模型如何内化物理先验、建模多模态时序耦合与空间几何约束,而非依赖海量文本或静态图像数据。关键技术突破体现在端到端隐式耦合架构、闭环交互数据流构建,以及跨模态时序锚定与物理距离衰减因子等可微分物理归纳机制。这些设计直接决定系统在工业产线72小时连续运行、家庭非结构化环境稳定操作等真实场景中的鲁棒性与泛化能力,标志着AI从‘理解世界’迈向‘作用于世界’的关键跃迁。

weixin_34043301的博客 480

MULLS-Registration 点云配准实战:TEASER++ 加持的成对配准从入门到上手

点云配准是激光雷达建图、三维重建和无人驾驶定位的核心技术,而 MULLS(Versatile LiDAR SLAM via Multi-metric Linear Least Square,ICRA 2021 论文开源项目)中的 MULLS-Registration 模块,通过 TEASER++ 全局粗配准 + MMLLS-ICP 局部精配准的组合,让你用一条命令就能完成两片点云的高精度对齐。本文

gitblog_00957的博客 448

ROS2下通过micro XRCE-DDS实现PX4基于SLAM位姿定位操作方法详解

本文主要是介绍在ROS2下如何通过micro XRCE-DDS实现PX4基于SLAM位姿的定位,同时结合px4代码进行了详细的分析,基于micro XRCE-DDS把/fmu/in/vehicle_visual_odometry话题桥接到PX4内部的方法,相比于向mavros发送/mavros/vision_pose/pose话题的方法,个人觉得它的优点有两个,一个可以在SLAM运行时动态调整协方差,一个是有reset_counter,能够应对SLAM位姿跳变的情况(比如回环,重定位),这些都是对基于SLA

自主无人机 PX4 ROS SLAM 路径规划 MVS等技术分享 514

ROS仿真中型组虚拟机环境配置全指南

机器人仿真依赖高度耦合的软件栈,涉及ROS、Gazebo、OpenCV、PCL等多版本组件的ABI兼容性问题。其核心原理在于运行时环境确定性——只有物理隔离的虚拟机才能锁死内核、驱动、库版本与GPU加速能力。相比Docker容器或WSL2,VMware提供完整的OpenGL 3.3支持、USB 3.0直通和稳定3D渲染,是保障Gazebo物理引擎与ROS节点协同运行的技术基础。典型应用场景包括高校机器人竞赛仿真中型组开发、ROS Melodic+Gazebo 9.0离线部署及多传感器融合仿真验证。本文聚焦虚

weixin_30314793的博客 433
上一篇: 点云滤波---半径滤波器
下一篇: PCL估计点云的表面法向量
Leo-Ma
博客等级 码龄11年 1701粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值