两个velodyne激光雷达同时连接在一台电脑上的方法
最近需要将两个激光雷达点云拼接到一起,琢磨了两天后最后终于可以实现了,记录一下.
先说一下具体步骤:
- 两个雷达需在同一IP网段内
- 两个雷达的端口号不能一样.
- 两个雷达的HOST IP设置为电脑的静态IP地址.
- 需要修改velodyne的launch文件.
- do it!
一、改变两个雷达的内部IP、端口等设置.
- 两个雷达需在同一IP网段内
这一步刚开始的时候需要逐步设置每个雷达的IP,在出厂设置的时候默认为192.168.1.201,我们需要把两个雷达更改成在一个IP段的不同ip.
如雷达①:192.168.1.201.
雷达②192.168.1.202. - 将雷达数据端口号和Telemetry Port重新设置为不同的
这里我们只修改一个雷达的就行,这里我将数据端口设置为2268,Telemetry Port设置为8208.
3.将两个雷达的HOST IP更改为你的电脑的静态IP.
我这里设置的是192.168.1.100.注意要和你的的激光雷达的IP在同一网段.
如图所示:
二、新建你的launch 文件
这一步只要是将你的结点启动两遍.
<launch>
<group ns="ns1">
<!-- declare arguments with default values -->
<arg name="pcap" default="" />
<arg name="calibration" default="$(find velodyne_pointcloud)/params/VLP16db.yaml"/>
<arg name="min_range" default="0.4" />
<arg name="max_range" default="130.0" />
<arg name="port" default="2368" />
<arg name="device_ip" default="192.168.1.201" />
<!-- start nodelet manager and driver nodelets -->
<include file="$(find velodyne_driver)/launch/nodelet_manager.launch">
<arg name="model" value="VLP16"/>
<arg name="device_ip" value="$(arg device_ip)" />
<arg name="pcap" value="$(arg pcap)"/>
</include>
<!-- start cloud nodelet -->
<include file="$(find velodyne_pointcloud)/launch/cloud_nodelet.launch">
<arg name="calibration" value="$(arg calibration)"/>
<arg name="min_range" value="$(arg min_range)"/>
<arg name="max_range" value="$(arg max_range)"/>
</include>
效果如图:明显是两个雷达的图像,放置的位置不同.
下面的另外一个结点再重新编写一遍就行了,下面是源码,直接可以使用.
launch 文件下载地址