前言

前文我们已经安装了turtlebot3并运行了自带的SLAM仿真例程,完成了地图的建立与路径规划前往目标位置的任务,本文开始介绍使用自己的激光雷达如何与ROS通信并可视化。 前文链接如下

1 激光雷达简介

本文使用的激光雷达为衫川的Delta-2A,某宝售价在400左右

下载官方提供的资料包,找到所使用的雷达型号,内容如下

在这里插入图片描述

在使用任何硬件前建议大家先将官方提供的手册进行阅读
了解你使用的硬件并跟着官方文档能绕开很多坑

  •  依照需求,将文件夹Delta-2A SDK(linux,ros)中的Delta_2A_ros
  •  复制到前文创建的工程项目/catkin_turtlebot3/src/

在这里插入图片描述

2 配置工程文件

1 重新编译工程

 重新对工程文件进行编译,进入路径/catkin_turtlebot3

cd catkin_turtlebot3

 编译工程文件

catkin_make

2 测试激光雷达

2.1 查看环境变量是否正常

刷新环境变量配置

source ~/.bashrc

测试环境变量

echo $ROS_PACKAGE_PATH

如果没有显示当前路径,重新进行环境变量设置

echo "source /catkin_turtlebot3/devel/setup.bash">>~/.bashrc

刷新环境变量再进行测试,直到环境变量设置成功

在这里插入图片描述

2.2 测试激光雷达是否能运行

通过调用官方提供的SDK对激光雷达进行启动

  •  首先连接雷达端口(雷达使用USB直连电脑,官方文档介绍接口为ttyUSB0接口)

可以通过以下命令查看雷达端口的串口名(其他雷达可能会用着)

lsusb

连接雷达端口:

sudo chmod 777 /dev/ttyUSB0

打开一个新终端,运行一个roscore

roscore

打开新终端,使用roslaunch命令启动雷达
- roslaunch是一个用于自动启动ros节点的命令行工具,从命令的字面上看还跟rosrun有些相似; - roslaunch的操作对象并非节点,而是launch文件; - launch文件是描述一组节点及其话题重映射和参数的XML文件。根据规范,这些文件的后缀都是`.launch`

2.2.1 调用官方包delta_lidar启动激光雷达

roslaunch delta_lidar delta_lidar.launch

启动成功后如下所示,可通过Ctrl+C关闭

在这里插入图片描述

2.2.2 启动激光雷达并可视化

或者关闭上一步运行,使用以下命令启动激光雷达并可视化

roslaunch delta_lidar view_delta_lidar.launch

在这里插入图片描述

总结

本文以衫川Delta 2A激光雷达为例,介绍了如何在ROS中连接自己的激光雷达并可视化

不同品牌的激光雷达使用方法不尽相同仅供大家参考

最最最关键的是官方的技术文档!仔细阅读后便可以了解基本的调用

下一章介绍使用laser_scam_matcher包,无里程计仅使用激光雷达并利用gmapping算法进行建图