如何在 ROS2 中构建和运行
概述
在 ROS2 环境下使用雷达驱动,需要安装 ROS2 相关依赖库。
Ubuntu 16.04 - 不支持
Ubuntu 18.04 - ROS2 Eloquent desktop
Ubuntu 20.04 - ROS2 Foxy desktop
Ubuntu 22.04 - ROS2 Humble desktop
安装方法请参考 https://index.ros.org/doc/ros2/Installation/Eloquent/Linux-Install-Debians/
请不要在一台电脑上同时安装 ROS 和 ROS2,以避免可能的版本冲突,和手工安装其他库(如 Yaml)的麻烦。
安装依赖
安装 Yaml(必需)
版本号: >= v0.5.2
若已安装 ROS desktop-full, 可跳过
安装方法如下:
$ sudo apt-get update
$ sudo apt-get install -y libyaml-cpp-dev
安装 libpcap(必需)
版本号: >= v1.7.4
安装方法如下:
$ sudo apt-get install -y libpcap-dev
基于 ROS2-colcon 编译
(1) 打开工程内的 CMakeLists.txt 文件,将文件顶部的变量 COMPILE_METHOD 改为 COLCON。
#=======================================
# Compile setup (ORIGINAL,CATKIN,COLCON)
#=======================================
set(COMPILE_METHOD COLCON)
(2) 将 aglidar_sdk 工程目录下的 package_ros2.xml 文件重命名为 package.xml。
(3) 新建一个文件夹作为工作空间,然后再新建一个名为 src 的文件夹,将 SDK 工程放入 src 文件夹内。或者在 clone 的时候进行重命名,例如:
$ mkdir Asensing_LiDAR_ROS && cd Asensing_LiDAR_ROS # 工作空间
$ git clone git@gitlab.ag.com:fusionposition/software/lidar/lidar_sdk/asensing_lidar_ros2.git src
(4) 返回工作空间目录,执行以下命令即可编译、运行。如果使用 .zsh,将第二行替换为 source install/setup.zsh。
$ source /opt/ros/humble/setup.bash
$ colcon build
$ source install/setup.bash
$ ros2 launch aglidar_sdk start.py
此时,会启动 Rviz,如果正确连接 LiDAR 或者提供预先录制好的数据文件,将会看到点云,如下图所示。

(5) 若需要使用深度图,重新打开一个命令行窗口,执行以下命令即可编译、运行该节点。
$ source install/setup.bash
$ ros2 run depth_make depth_make
提示:若 colcon build 时提示 CMake Error at CMakeLists.txt:45(if),执行 source /opt/ros/humble/setup.bash 即可。
另外,不同 ROS2 版本 start.py 的格式可能不同,请使用对应版本的 start.py。如 ROS2 Elequent,请使用 elequent_start.py。
FAQs
(1)使用 colcon build 编译 SDK 时出现如“ fatal error: ros/package.h: 没有那个文件或目录”的错误,怎么解决?
这个错误通常是由于你的系统同时安装了 ROS1 和 ROS2 导致的,ros/package.h 是 ROS1 特有的文件,在 ROS2 中找不到。因为目前 CMake 是通过查找文件的方式来判断当前系统是否安装了 ROS 或 ROS2,后续将修复该问题。
如果你使用旧版本的 SDK,可以通过修改 CMakeLists.txt 文件的方式来解决,具体来说,打开 aglidar_sdk/CMakeLists.txt 文件,找到第 81 行(附近)的 add_definitions(-DROS_FOUND),在前面加上 # 符将其注释掉即可。
#add_definitions(-DROS_FOUND)