# PointCloudV2 **Repository Path**: null_552_0547/point-cloud-v2 ## Basic Information - **Project Name**: PointCloudV2 - **Description**: 三维图像点云处理软件 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-07-31 - **Last Updated**: 2025-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # README ## 介绍 三维激光点云图像系统:实现了针对实验室的设备的上位机软件开发,使用C++Qt完成软件界面开发,使用以太网实现对传感器的数据控制和参数控制,并且使用pcl点云库OpenCV库作为主要的第三方库。最终实现三维场景地图的重建工作,主要的算法思想是点云拼接和点云赋色。 ## 硬件部分 ### 相机 相机使用的大恒水星ME2P-560-21GM/C-P,分辨率为2600×2160,帧率为21帧。相机快门类型为Global shutter。[产品主页面](https://daheng-imaging.com/show-108-2058-1.html)。 ### 电机 电机使用的是MINTASCA的伺服电机QDD Pro-PR60-50-90,并且同时使用1:100的减速器,[产品主页面](http://wiki.mintasca.com/wiki/cn/index.html#!index.md#产品系列)。 ### 雷达 雷达使用速腾激光雷达RS-Helios-5515机械式激光雷达,32线,10Hz/20Hz,一周点云57600,水平视场角$360\degree$,水平角分辨率$0.2\degree/0.4\degree$,垂直视场角(FOV)$70\degree(-55\degree~+15\degree)$,垂直角分辨率最大$1.33\degree$,[产品主页面](https://www.robosense.cn/rslidar/RS-Helios)。 ### 整体硬件
硬件设备的正视图
设备硬件的俯视图
## 软件部分 ### 环境配置 本软件使用的是vs2022进行开发所以接下来的环境配置都将在vs2022下进行 #### 1. Qt环境配置 软件使用的是Qt5.15.2,windows下安装请参考[软件的安装教程](https://blog.csdn.net/Qi_1337/article/details/121249717),并且需要讲Qt配置到系统的环境变量中 >D:\Qt\5.15.2\msvc2019_64\bin 将上述的路径换成自己的安装路径配置到系统的环境变量中。 再将Qt集成到vs2022中使用插件Qtvstools,请参考[具体的配置方法](https://blog.csdn.net/ta14125879/article/details/122650941)。 #### 2. PCL环境配置 PCL版本使用的是PCL-1.11.0,在[官方git](https://github.com/PointCloudLibrary/pcl/releases)上找到1.11.0版本下载Windows对应的*PCL-1.11.0-AllInOne-msvc2019-win64.exe*和*pcl-1.11.0-pdb-msvc2019-win64.zip*两个安装包,双击exe文件进行安装,将pdb文件解压复制到安装路径下的bin文件下。 >%OPENNI2_REDIST64% > >D:\pcl\bin > >D:\pcl\3rdParty\Boost > >D:\pcl\3rdParty\Eigen\eigen3 > >D:\pcl\3rdParty\VTK\bin 将上述路径换成自己的安装路径配置到系统的环境变量中。 同时需要在vs2022中针对该项目完成环境配置的更改 "右键PointCloud_v2->属性->VC++目录->包含目录"更改包含目录中的所有相关的目录换成自己的PCL库安装路径。 >D:\pcl\include\pcl-1.11 > >D:\pcl\3rdParty\Boost\include\boost-1_73 > >D:\pcl\3rdParty\Eigen\eigen3 > >D:\pcl\3rdParty\FLANN\include > >D:\pcl\3rdParty\Qhull\include > >C:\Program Files\OpenNI2\Include > >D:\pcl\3rdParty\VTK\include\vtk-8.2 "右键PointCloud_v2->属性->VC++目录->库目录"更改所有的库目录中相关路径换成自己的PCL安装路径。 >D:\pcl\lib > >D:\pcl\3rdParty\Boost\lib > >D:\pcl\3rdParty\FLANN\lib > >D:\pcl\3rdParty\Qhull\lib > >D:\pcl\3rdParty\VTK\lib > >C:\Program Files\OpenNI2\Lib "右键PointCloud_v2->属性->链接器->输入->附加依赖项"将所有的pcl/lib中的debug对应的库文件名(如果使用的版本和项目的相同不需要更改)。注意库文件名对应的debug/release应该与整个项目的属性的配置相同。 #### 3. VTK环境配置 为了使用QVTKWidget来在Qt中使用点云显示接口,这里使用VTK-8.2.0完成QVTKWidget插件的获取,请参考[具体的VTK配置](https://blog.csdn.net/annjeff/article/details/88597051)。 在配置之后可以将VTK-install下全部的文件替换PCL-1.11.0/3rdparty/VTK下的文件,注意替换的时候需要备份,将3rdparty/VTK/lib中对应的库文件名复制到项目属性的连接器中,需要注意是Release版本还是Debug版本。同时需要将VTK安装目录下的plugins\designer\QVTKWIdgetPlugin.dll复制到Qt Creator的msvc2019_64\plugins\designer\文件夹下,从而在Qt中使用这个插件。 #### 4. OpenCV环境配置 本软件使用的Opencv版本为Opencv4.5.5,请参照[具体的配置方法](https://blog.csdn.net/m0_61897853/article/details/122609454)。[官网](https://opencv.org/releases/)。 #### 5. npcap环境配置 本软件使用的npcap使用的版本为1.75,请参照[具体的配置方法](https://blog.csdn.net/qq_38177553/article/details/104751807)。将npcap配置到系统环境变量,然后配置到软件的环境中。 > D:\npcap > > D:\npcap\Include > > D:\npcap\Lib\x64 换成自己的安装路径,无需更改链接器中的lib名称。 #### 6. 相机环境配置 直接安装大恒水星的SDK的对应的exe执行安装就可以。[官网](https://www.daheng-imaging.com/downloads/softwares/)。
软件下载
### 功能介绍 在配置完环境之后,在连接对应的以太网**TP-LINK_5G_D7BC**或**TP-LINK_2.4G_D7BB**,在正确连接之后在"control panel->网络和Internet->查看网络状态和任务->WLAN->详细信息->IPv4地址",然后在[雷达1设置网站](http://192.168.1.200)和[雷达2设置网站](http://192.168.1.201)设置对应的IP。
激光雷达IP设置
以太网连接的IP地址
IP正确之后,运行程序,在Debug模式下会有控制台来显示调试信息。本软件的上位机功能模块图如下所示:
软件的功能模块图
软件的界面图
界面各部分介绍如下: 1: 工具栏用于控制整个点云显示的视角变换。 2: 用于在渲染图,点云实时显示,相机控制显示之间进行切换。 3: 工具栏主要包含文件的保存和打开,点云处理和清除,实时点云渲染情况,点云每个点的尺寸的变换。 4: 激光雷达的控制dock栏,主要包含激光雷达的启停采集控制,激光雷达的信息的获取和设置。 5: 工具栏用于dock栏的显示和隐藏。 6: 电机的控制dock栏,用于初始化电机,实时显示电机位置信息,控制电机运动。 ###使用方法 #### 1. 单站扫描 单站扫描中使用如果无需显示色彩信息,可以直接在电机的控制Dock栏中完成电机的控制。 "Inition"是对电机的初始化,初始化完成之后可以正常使用,第一次初始化的时间会长一点,如果最后显示电机初始化失败,关闭程序重新打开就可以正常初始化。 "Get"是获取电机的绝对位置信息,可以实时的显示在Message表中 "test"使得电机按照预先定义的路线完成一次运动。 如果需要自定义的控制电机的运动对两个电机分别的运动,可以直接在Position_1 control中输入数字之后按enter之后就可以完成。

电机控制界面

电机初始化失败

电机初始化成功
对于相机的控制,点击相机的Tab界面,在相机界面中使用的流程为"打开设备->开始采集->停止采集->关闭设备",必须要在接受的时候关闭相机设备,否则控制程序将出现问题,此时需要重启硬件设备才能正常运行。

相机控制界面
对于雷达的控制在雷达控制dock栏界面中完成: "startCollect"用于开始采集点云数据。 "stopCollect"停止采集点云数据。 "Get Left Info"显示雷达参数。 "Set Left Lidar"设置雷达参数。 "pro Current Point Cloud"处理采集得到的点云数据。 "clear Current Point Cloud"清楚当前保存的点云数据。
雷达控制和点云处理
#### 2. 多站扫描 多站扫描需要通过文件读取来导入点云文件数据,因为将多站点云扫描看作多个单站点云数据的配准,因此多站扫描的使用需要在多个单站扫描的基础上,"Clear Current Point Cloud->Open Current Point Cloud-> Pro Current Point Cloud"。