文章目录

  • 前言
  • 1 Velodyne激光雷达
  • 2 配置网络
  • 3 创建ROS工程
  • 4 启动并可视化
  • 5 录包与播放
  • 总结

前言

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

  • SLAM实操入门(一):在已有WIN10的电脑上安装Ubuntu20.04

  • SLAM实操入门(二):Ubuntu20.04安装ROS Noetic并运行“小乌龟”程序

  • SLAM实操入门(三):Ubuntu20.04安装Turtlebot3并运行SLAM例程仿真

  • SLAM实操入门(四):使用ROS连接自己的激光雷达并可视化扫描结果

  • SLAM实操入门(五):无里程计仅使用激光雷达建图(GMapping算法)


1 Velodyne激光雷达


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

  • 多线雷达和单线雷达硬件上的差异

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

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

  • 硬件连接

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

2 配置网络

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

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

随后进行如下步骤

  1. 点击IPv4
  2. 将IPv4的方式调整为手动
  3. 修改地址为
192.168.1.77
  1. 修改子网掩码为,网关不用动
255.255.255.0
  1. 点击应用,退出

3 创建ROS工程

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

sudo apt-get install ros-melodic-velodyne

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


随后,创建ROS的项目文件

mkdir -p catkin_vel16/src

进入项目文件目录下

cd catkin_vel16/src

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


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

  • git clone拉取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开一个新终端

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

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

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

  1. 在添加的点云中选择topic,右侧选择输出的信息节点
  2. Fixed Frame的名称替换为Topic名称的前缀,这里就是velodyne


可视化出来了!!!是不是很简单

比单线雷达还是炫酷多了,下一节的多线雷达SLAM视觉冲击也很快乐

5 录包与播放

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

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

Ctrl+C结束录制,这里两个命令其实基本是一样的,如果之后会多传感器融合使用,会有区别

  • 播放录制的包,后面是录制的包的名字
rosbag play xxxxxxxx.bag

打开rviz可以查看刚才录的数据


总结

本文介绍了使用Velodyne的16线激光雷达进行启动和可视化,和单线雷达也是大同小异,但是对launch那部分做了一些简单的讲解,大家可以深入学习一下,以后不会少打交道的。

下一节就是使用多线雷达进行SLAM建图,使用的算法是A-Loam,是基于Loam做出的改进,大家可以先看看论文,或者先跑出来再看看。

  • SLAM实操入门(一):在已有WIN10的电脑上安装Ubuntu20.04

  • SLAM实操入门(二):Ubuntu20.04安装ROS Noetic并运行“小乌龟”程序

  • SLAM实操入门(三):Ubuntu20.04安装Turtlebot3并运行SLAM例程仿真

  • SLAM实操入门(四):使用ROS连接自己的激光雷达并可视化扫描结果

  • SLAM实操入门(五):无里程计仅使用激光雷达建图(GMapping算法)

SLAM实操入门(六):连接Velodyne的16线激光雷达并可视化相关推荐

  1. SLAM实操入门(七):使用Velodyne16线激光雷达与A-Loam进行三维SLAM

    文章目录 前言 1 A-LOAM 2 预备条件 2.1 Ubuntu和ROS 2.2 Ceres Solver(Ceres求解器) 2.3 PCL(Point Cloud Library) 3 创建A ...

  2. SLAM实操入门(五):无里程计仅使用激光雷达建图(GMapping算法)

    文章目录 前言 1 Gmapping算法 2 laser_scan_matcher库 2.1 安装laser_scan_matcher库 2.2 修改demo_gmapping.launch文件 3 ...

  3. SLAM实操入门(三):Ubuntu20.04安装Turtlebot3并运行SLAM例程仿真

    文章目录 前言 在Turtlebot3进行SLAM仿真 1 安装Turtlebot3依赖包 2 创建项目并安装Turtlebot3 3 使用Turtlebot3进行建图 4 使用扫描地图进行自动导航仿 ...

  4. 3999美元掀价格战,Velodyne宣布16线激光雷达降价50%

    3D视觉系统和先进的自动驾驶安全解决方案的全球领导者Velodyne LiDAR今天宣布,其无人驾驶用16线激光雷达现在可以面向全球客户降价50%. 新智元从Velodyne亚洲区总监翁炜处获悉,现在 ...

  5. Python自学笔记9:实操案例六(千年虫,购物流程)

    Python自学笔记9:实操案例六(千年虫,购物流程) 网课传送门:第155,156讲,https://www.bilibili.com/video/BV1Sw411Z779?p=155 1.千年虫 ...

  6. Velodyne 16线激光雷达-多雷达版本

    今天由于工作原因,进行了一番velodyne16线激光雷达的配置,也是第一次自己配置这个牌子的雷达.如下,人家的霸气履带车,跟我们自己的无人车比,确实霸气多了.我就不放全图了,还在开发中,不方便露脸. ...

  7. TensorFlow官方入门实操课程-全连接神经网络分类

    #设置显卡内存使用率,根据使用率占用 import os os.environ["TF_FORCE_GPU_ALLOW_GROWTH"] = "true" #引 ...

  8. iSCSI target介绍及LIO实操入门

    前文介绍了iSCSI的基本架构及启动器的基本操作,也就是在客户端的操作.今天我们介绍一下目标器的相关概念.开源实现和基本操作.Linux操作系统下面有很多目标器的开源实现,比如LIO.SCST和TGT ...

  9. unity-概念与实操入门

    文章目录 编译器推荐(Rider) 坐标 世界坐标系 相对坐标系 资源商店快捷入口 地面制作 脚本 新建脚本 生命周期 vs测试打印 对象 标签(自带集合属性) 图层 预设体 创建预设体(cocos相 ...

最新文章

  1. `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc.so.55)
  2. QT的QOpenGLTexture类的使用
  3. zigbee bind, ZDO_RegisterForZDOMsg, zcl_registerForMsg
  4. Mybatis参数传递及返回类型
  5. 清华新生C++作业难上热搜!大厂猎头表示做上了直接给offer
  6. Java中String对象存储
  7. oracle实现aes解密_Oracle的AES加密与解密用法
  8. 台式临床化学分析仪行业调研报告 - 市场现状分析与发展前景预测
  9. 反向传播与梯度消失梯度爆炸
  10. Java一次跳出多重循环
  11. android mac 调试,Mac下使用Android studio真机调试
  12. ios免越狱脚本实现方案
  13. COMSOL光学仿真专题案例展示
  14. python使用opencv通过掩码提取彩色图片感兴趣区域
  15. P1293 班级聚会
  16. oracle循环数据字典,Oracle DUL工作原理和技术实现
  17. 创业书籍推荐,这本书最经典!
  18. USB 协议分析之 HID 设备
  19. 【Rust 日报】2021-10-24 sea-orm:异步动态 ORM
  20. GitHub 上标星 115k+ 的 Java 教程

热门文章

  1. 泰雷兹高科技赋能全球最安全的电子护照之一,泰国公民咸受其益
  2. mac出现文件夹问号_Macbook文件夹怎么设置隐藏或显示?开机带问号的文件夹怎么办?...
  3. (转)音频输出PCM与LPCM有什么不同
  4. 手机内存卡转化linux,怎样把手机内存移至sd内存卡
  5. 【论文阅读】Multimodal Fusion with Co-Attention Networks for Fake News Detection --- 虚假新闻检测,多模态融合
  6. MS开始提供Windows Vista beta2下载
  7. 原理 拉普拉斯金字塔_图像金字塔分层算法
  8. 高效学习-笔记-左耳听风
  9. 苹果第一次怼了华为 是因为抢跑5G的华为走上了苹果模式?
  10. spring boot 代理(not eligible for auto-proxying)