多激光雷达点云拼接(一)

两个velodyne激光雷达同时连接在一台电脑上的方法

最近需要将两个激光雷达点云拼接到一起,琢磨了两天后最后终于可以实现了,记录一下.

先说一下具体步骤:

  1. 两个雷达需在同一IP网段内
  2. 两个雷达的端口号不能一样.
  3. 两个雷达的HOST IP设置为电脑的静态IP地址.
  4. 需要修改velodyne的launch文件.
  5. do it!

一、改变两个雷达的内部IP、端口等设置.

  1. 两个雷达需在同一IP网段内
    这一步刚开始的时候需要逐步设置每个雷达的IP,在出厂设置的时候默认为192.168.1.201,我们需要把两个雷达更改成在一个IP段的不同ip.
    如雷达①:192.168.1.201.
    雷达②192.168.1.202.
  2. 将雷达数据端口号和Telemetry Port重新设置为不同的
    这里我们只修改一个雷达的就行,这里我将数据端口设置为2268,Telemetry Port设置为8208.
    3.将两个雷达的HOST IP更改为你的电脑的静态IP.
    我这里设置的是192.168.1.100.注意要和你的的激光雷达的IP在同一网段.
    如图所示:多激光雷达点云拼接(一)_第1张图片

二、新建你的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>

效果如图:明显是两个雷达的图像,放置的位置不同.
多激光雷达点云拼接(一)_第2张图片
下面的另外一个结点再重新编写一遍就行了,下面是源码,直接可以使用.
launch 文件下载地址

你可能感兴趣的:(Lidar)