前言

好久没更新这部分了,最近在搞中期答辩的东西,简单补充一部分多线激光雷达建图的内容。上文介绍使用自己的激光雷达如何通过GMapping算法建图,接下来两节介绍怎么运行Velodyne的16线激光雷达,并使用港科大改进的A-Loam进行建图。 前文链接如下

1 Velodyne激光雷达

在这里插入图片描述

Velodyne 的 Puck 激光雷达传感器( VLP-16)是目前机器人与自动驾驶使用的主流传感器之一。 Puck™ 的可靠性、能效和全景视野使其成为经济实惠的低速自动驾驶和驾驶员辅助应用的理想解决方案。很多实验室应该也会买速腾或者这个品牌的多线激光雷达,其实原理都一样,大家都可以作为参考。

多线雷达和单线雷达硬件上的差异
(1)多线雷达需要使用220v的插座来进行供电,如果要部署在机器人或者汽车上,可能需要使用户外电源、车载逆变器或对供电进行改造;
(2)多线雷达需要通过以太网进行数据的传输,所以要求设备有网口,也需要对网口进行设置;
(3)多了一个接口盒硬件,用来做电源管理和数据采集,正常连线就好,不用过多关注。

总的来说,多线雷达它更金贵、对设备要求也更高,但是效果也是相当的炫酷!

硬件连接

两个接口:
一个是供电接口,插头插在220v电源;
另一个是信号线,插网线,连接在PC的网口。

2 配置网络

上面提到该雷达是通过以太网进行数据传输的,这里需要对有线网的地址进行设置

首先打开设置,选择网络,打开有线连接并进入设置,如图

随后进行如下步骤

  1. 点击IPv4
  2. 将IPv4的方式调整为手动
  3. 修改地址为
192.168.1.77

修改子网掩码为,网关不用动

255.255.255.0

点击应用,退出

3 创建ROS工程

使用如下命令安装Velodyne的依赖包,相关内容见产品手册

sudo apt-get install ros-melodic-velodyne

注意,代码中的melodic需要替换为你的Ubuntu版本名称。

在这里插入图片描述

随后,创建ROS的项目文件

mkdir -p catkin_vel16/src

进入项目文件目录下

cd catkin_vel16/src

拉取雷达的驱动包,这里使用的是GitHub上的这个项目文件

在这里插入图片描述

等待完成,要是下载太慢或者失败,可以看看之前的这个文章

返回上级目录

cd ..

开始对工程进行编译

catkin_make

配配环境变量,搞定!

source devel/setup.bash

4 启动并可视化

再次检查:

激光雷达是否连接正常(供电、网线)
上述命令,以及相关依赖包是否安装成果
source不要忘记!
很多同学一开始不知道到底运行个什么东西,怎么着,这里简述一下

launch文件可以理解成一个批处理文件,通过roslaunch命令,能同时多ROS的多个node和master进行启动。

相关内容这位博主的博客描述很详细ROS:一文读懂launch文件

首先我们看看这个工程里launch在哪里,长啥样

所有文件都是放在launch文件夹下,以.launch结尾!

那么怎么找到他们的呢?可以通过一下命令实现文件夹的快速翻越与定位

后面的数字是设置看几层文件,试试就知道啥意思了。

tree -L 3

我们用的16线雷达嘛,家简单的运行一下那个16

roslaunch velodyne_pointcloud VLP16_points.launch

文件名可以用tab键补全,没事tab一下哈

运行后,使用Ctrl+T开一个新终端

啥也没有不要慌!按如下步骤添加节点和内容,才能看到

先点击左侧的Add,添加可视化的条目

随后,点击By topic,双击PointCloud2以选择添加点云信息

在这里插入图片描述

在添加的点云中选择topic,右侧选择输出的信息节点

Fixed Frame的名称替换为Topic名称的前缀,这里就是velodyne

  1.    在这里插入图片描述
  2. 可视化出来了!!!是不是很简单
  3. 在这里插入图片描述比单线雷达还是炫酷多了,下一节的多线雷达SLAM视觉冲击也很快乐
  4. 5 录包与播放

    使用以下命令可以进行点云数据的录制

    • 仅录制velodyne_point的数据
    rosbag record /velodyne_point
    
    录制所有数据
    rosbag record -a