Python 实时点云处理和延迟
我们的项目是将激光雷达系统集成到虚拟现实(unity)中。 我可以实现与ROS bridge的集成。 下一步是在将点云数据发送到unity系统之前对其进行处理Python 实时点云处理和延迟,python,unity3d,ros,point-cloud-library,lidar,Python,Unity3d,Ros,Point Cloud Library,Lidar,我们的项目是将激光雷达系统集成到虚拟现实(unity)中。 我可以实现与ROS bridge的集成。 下一步是在将点云数据发送到unity系统之前对其进行处理 激光雷达传感器velodyne VLP-16 Ubuntu 18.4 IDE:Pycharm(python) 点云处理:带有ROS的python点云库 具有统一系统的ros桥 问题 如果不进行处理,从传感器到unity可视化只有1秒的延迟。但在ROS(pycharm)中处理点云数据会导致显著的延迟(约5秒) 我使用velodyne驱
- 激光雷达传感器velodyne VLP-16
- Ubuntu 18.4
- IDE:Pycharm(python)
- 点云处理:带有ROS的python点云库
- 具有统一系统的ros桥
- 我使用velodyne驱动器将原始数据转换为pointcloud2格式。在处理代码中,我订阅了这个pointcloud2消息,并将其转换为PointXYZRGB格式以应用pcl库李>
- 我首先测试了这个数据类型转换序列,没有应用PCL李>
- 如果不进行处理,我会有超过5秒的延迟李>
如果你关心的是速度,那么有几件事 能够接收数据包并使用Nodelet将其合并为具有zerocopy访问权限的点云。ROS节点与节点类似,但复制更少,对大数据更有效。和您可以通过演示如何像这样组合节点元素的启动文件来调用它。代码可读性很强,因此您可以了解他们如何设置代码以供参考。如果您还没有尝试过这种方法,然后通过管道进入Unity,这是您的最低基线。那么瓶颈就在统一方面
最快的方法可能是用C++编写一个NoDeleT,使用PCL,由同一个NoDelET管理器处理(就像上次的启动文件一样)。最好是你不需要自己写。该包具有多个变换节点;如果这些组合能够满足您的需求,那将是最有效、最轻松的方式。否则,您仍然可以在C++ NoDelET中使用