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


前言

好久没更新这部分了,最近在搞中期答辩的东西,简单补充一部分多线激光雷达建图的内容。上文介绍使用自己的激光雷达如何通过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
  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上的这个项目文件

在这里插入图片描述
等待完成,要是下载太慢或者失败,可以看看之前的这个文章

返回上级目录

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做出的改进,大家可以先看看论文,或者先跑出来再看看。

<think>好的,我需要帮助用户在Ubuntu 20.04上配置和运行A-LOAM激光雷达SLAM算法。首先,我应该回顾一下用户提供的引用内容,看看里面有没有有用的信息。引用[1]提到了Ubuntu20.04和ros-noetic运行A-LOAM,还有相关的博客和代码资源。引用[2]则涉及在Ubuntu20.04下编译运行其他SLAM算法,可能有一些共同的依赖或配置步骤。 接下来,我需要整理出配置A-LOAM的步骤。通常来说,运行这类算法需要安装ROS、相关依赖库,然后下载源码编译。用户可能已经安装了ROS Noetic,但需要确认。如果没有安装,应该指导他们安装ROS。然后,安装必要的依赖,比如PCL、Eigen、Ceres Solver等。这些依赖在A-LOAM中可能用到。 然后,用户需要下载A-LOAM的源代码,可能来自GitHub。需要给出具体的git clone命令。之后,编译工作区,使用catkin_make或者catkin build。编译过程中可能会遇到问题,比如依赖缺失,这时候需要提示用户安装相应的包。 配置完成后,运行A-LOAM需要准备数据集或者时激光雷达数据。可能需要下载示例bag文件,给出运行launch文件的命令。同时,提醒用户检查话题名称是否匹配,可能需要修改launch文件中的设置。 另外,根据引用[1]中的信息,博客里可能有更详细的原理讲解和代码注释,可以建议用户参考。编译问题可能会遇到,比如PCL版本问题或Ceres的安装,需要给出具体的解决步骤,比如安装指定版本的Ceres或者调整CMakeLists.txt中的依赖路径。 最后,常见问题部分需要包括依赖冲突、话题不匹配和轨迹评估方法。用户可能遇到这些问题,需要提前给出解决方案,比如使用Docker容器隔离环境,或者使用evo工具评估轨迹精度。 整个过程中需要确保步骤清晰,命令准确,避免用户作时出错。同时,参考引用中的资源,确保提供的信息可靠。如果有不确定的地方,比如某些依赖的具体版本,可能需要进一步确认或者建议用户查看官方文档。</think>### 在 Ubuntu 20.04 上配置和运行 A-LOAM 的步骤 #### **1. 系统环境准备** - **安装 ROS Noetic** A-LOAM 依赖 ROS(机器人作系统),需先安装 ROS Noetic(对应 Ubuntu 20.04): ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install ros-noetic-desktop-full echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` - **安装依赖库** A-LOAM 需要以下依赖: ```bash sudo apt install git cmake libeigen3-dev libpcl-dev ros-noetic-catkin ros-noetic-pcl-ros # Ceres Solver(优化库) sudo apt install libceres-dev ``` --- #### **2. 下载编译 A-LOAM** - **创建工作空间克隆代码** ```bash mkdir -p ~/aloam_ws/src cd ~/aloam_ws/src git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git ``` - **编译源码** ```bash cd ~/aloam_ws catkin_make echo "source ~/aloam_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 若编译报错,检查 `CMakeLists.txt` 中依赖项路径是否正确(如 PCL、Eigen3)[^1]。 --- #### **3. 运行 A-LOAM** - **准备数据集** 下载包含激光雷达数据的 ROS bag 文件(如 KITTI 或 NTU VIRAL 数据集),例如: ```bash wget [数据集链接] ``` - **启动 A-LOAM** ```bash roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch rosbag play [你的bag文件路径] --clock ``` 若激光雷达话题不匹配,需修改 `launch` 文件中的 `lidar_topic` 参数[^1]。 --- #### **4. 验证与可视化** - **使用 RViz 查看结果** 在 RViz 中添加以下显示项: - `PointCloud2`(原始点云) - `Path`(轨迹) - `TF`(坐标系变换) --- #### **常见问题解决** 1. **依赖冲突** - 若出现 `libpcl` 版本问题,尝试安装指定版本: ```bash sudo apt install libpcl-dev=1.10.0+dfsg-5ubuntu1 ``` - 或使用 Docker 容器隔离环境[^2]。 2. **话题不匹配** 检查 bag 文件中的激光雷达话题名称,在 `aloam_velodyne_XXX.launch` 中修改 `lidar_topic`。 3. **轨迹精度评估** 使用 `evo` 工具对比 A-LOAM 输出轨迹与真值: ```bash evo_ape kitti ground_truth.txt estimated.txt -va --plot ``` ---
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴恩达亲传弟子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值