速腾128线激光雷达播放pcap包,录制bag包,转PCD文件
一下内容来自官方手册;速腾官网:https://www.robosense.cn/resources
其中128线激光雷达对应文档为:《RS-Ruby 产品用户手册 中文》,翻到最下面就是。
一、安装官方最新驱动
我的环境:Ubuntu 18.04 - ROS melodic desktop-full
先安装pcap
sudo apt-get install -y libpcap-dev
用户可以直接访问 [rslidar_sdk_release](https://github.com/RoboSense-LiDAR/rslidar_sdk/releases) 下载最新版本的rslidar_sdk. 请下载 **rslidar_sdk.tar.gz** 压缩包, 不要下载Source code。 因为Source code压缩包内不包含子模块rs_driver的代码, 用户还需自行下载rs_driver的代码放入其中才行。
二、ros环境下编译安装驱动
(1) 打开工程内的*CMakeLists.txt*文件,将文件顶部的**set(COMPILE_METHOD ORIGINAL)**改为**set(COMPILE_METHOD CATKIN)**。
```cmake
#=======================================
# Compile setup (ORIGINAL,CATKIN,COLCON)
#=======================================
set(COMPILE_METHOD CATKIN)
```
(2) 将rslidar_sdk工程目录下的*package_ros1.xml*文件重命名为*package.xml*。
(3) 新建一个文件夹作为工作空间,然后再新建一个名为*src*的文件夹, 将rslidar_sdk工程放入*src*文件夹内。
(4) 返回工作空间目录,执行以下命令即可编译&运行(若使用.zsh,将第二句指令替换为 *source devel/setup.bash*)。
三、播放pcap数据和ros录制
关于如何离线解析数据(rosbag 或 pcap),在 rslidar_sdk 驱动包内的文档里也有详细的 介绍,这里只简略介绍一下,以 pcap 为例。可以利用 rslidar_sdk 来将保存的离线 pcap 文 件解析成点云数据进行显示。
1. 修改 rslidar_sdk/config/config.yaml 中的参数
msg_source : 改为 3
pcap_directory : 配置为 pcap 文件的绝对路径 (e.g. /home/robosense/128.pcap)
2. 运行节点程序: cd ~/catkin_ws source devel/setup.bash roslaunch rslidar_sdk start.launch
打开终端运行:
cd ~/catkin_ws source devel/setup.bash roslaunch rslidar_sdk start.launch
3.录制(从上面rviz界面可以直到,topic为:/rslidar_points;单独执行下面指令,需要启动roscore):
rosbag record -o out /rslidar_points
等数据播放完毕,就可以ctrl+c结束录制了。
4. bag包格式转pcd格式(非必要)
rosrun pcl_ros bag_to_pcd mybag_2021-09-08-19-48-01.bag /rslidar_points pcd
所有点云帧都保存到了pcd文件夹下面。
四、更详细资料
参考官方文档,速腾官网:https://www.robosense.cn/resources 其中128线激光雷达对应文档为:《RS-Ruby 产品用户手册 中文》,翻到最下面就是。
或者参考上述源码压缩包中的README_CN.md文档。
1 # **rslidar_sdk** 2 3 ## 1 工程简介 4 **rslidar_sdk** 为速腾聚创在Ubuntu环境下的雷达驱动软件包,包括了雷达驱动内核, ROS拓展功能,ROS2拓展功能,Protobuf-UDP通信拓展功能。对于没有二次开发需求的用户,或是想直接使用ROS或ROS2进行二次开发的用户,可直接使用本软件包, 配合ROS或ROS2自带的RVIZ可视化工具即可查看点云。 对于有更深一步二次开发需求,想将雷达驱动集成到自己工程内的客户, 请参考雷达驱动内核的相关文档,直接使用内核[rs_driver](https://github.com/RoboSense-LiDAR/rs_driver)进行二次开发。 5 6 ### **1.1 雷达型号支持** 7 8 - RS16 9 - RS32 10 - RSBP 11 - RS128 12 - RS80 13 - RSM1-B3 14 - RSHELIOS 15 16 ### 1.2 点的类型支持 17 18 - XYZI - x, y, z, intensity 19 - XYZIRT - x, y, z, intensity, ring, timestamp 20 21 ## 2 下载 22 23 ### 2.1 使用git clone 24 25 由于rslidar_sdk项目中包含子模块驱动内核rs_driver, 因此在执行git clone 后还需要执行相关指令初始化并更新子模块。 26 27 ```sh 28 git clone https://github.com/RoboSense-LiDAR/rslidar_sdk.git 29 cd rslidar_sdk 30 git submodule init 31 git submodule update 32 ``` 33 34 ### 2.2 直接下载 35 36 用户可以直接访问 [rslidar_sdk_release](https://github.com/RoboSense-LiDAR/rslidar_sdk/releases) 下载最新版本的rslidar_sdk. 请下载 **rslidar_sdk.tar.gz** 压缩包, 不要下载Source code。 因为Source code压缩包内不包含子模块rs_driver的代码, 用户还需自行下载rs_driver的代码放入其中才行。 37 38 ![](doc/img/download_page.png) 39 40 41 42 ## 3 依赖介绍 43 44 ### 3.1 ROS 45 46 *若需在ROS环境下使用雷达驱动,则需安装ROS相关依赖库* 47 48 Ubuntu 16.04 - ROS kinetic desktop-full 49 50 Ubuntu 18.04 - ROS melodic desktop-full 51 52 安装方式: 参考 http://wiki.ros.org 53 54 **如果安装了ROS kinetic desktop-full版或ROS melodic desktop-full版,那么兼容版本其他依赖库也应该同时被安装了,所以不需要重新安装它们以避免多个版本冲突引起的问题, 因此,强烈建议安装desktop-full版,这将节省大量的时间来逐个安装和配置库**。 55 56 ### 3.2 ROS2 57 58 *若需在ROS2环境下使用雷达驱动,则需安装ROS2相关依赖库* 59 60 Ubuntu 16.04 - 不支持 61 62 Ubuntu 18.04 - ROS2 Eloquent desktop 63 64 安装方式:参考 https://index.ros.org/doc/ros2/Installation/Eloquent/Linux-Install-Debians/ 65 66 **注意! 请避免在同一台电脑上同时安装ROS和ROS2, 这可能会产生冲突! 同时还需要手动安装Yaml库。** 67 68 ### 3.3 Yaml (必需) 69 70 版本号: >= v0.5.2 71 72 *若已安装ROS desktop-full, 可跳过* 73 74 安装方式: 75 76 ```sh 77 sudo apt-get update 78 sudo apt-get install -y libyaml-cpp-dev 79 ``` 80 81 ### 3.4 Pcap (必需) 82 83 版本号: >=v1.7.4 84 85 安装方式: 86 87 ```sh 88 sudo apt-get install -y libpcap-dev 89 ``` 90 91 ### 3.5 Protobuf (可选) 92 93 版本号: >=v2.6.1 94 95 安装方式: 96 97 ```sh 98 sudo apt-get install -y libprotobuf-dev protobuf-compiler 99 ``` 100 101 102 103 ## 4 编译 & 运行 104 105 我们提供三种编译&运行方式。 106 107 ### 4.1 直接编译 108 109 按照如下指令即可编译运行程序。 直接编译也可以使用ROS相关功能(不包括ROS2),但需要在程序启动前**手动启动roscore**,启动后**手动打开rviz**才能看到可视化点云结果。 110 111 ```sh 112 cd rslidar_sdk 113 mkdir build && cd build 114 cmake .. && make -j4 115 ./rslidar_sdk_node 116 ``` 117 118 ### 4.2 依赖于ROS-catkin编译 119 120 (1) 打开工程内的*CMakeLists.txt*文件,将文件顶部的**set(COMPILE_METHOD ORIGINAL)**改为**set(COMPILE_METHOD CATKIN)**。 121 122 ```cmake 123 #======================================= 124 # Compile setup (ORIGINAL,CATKIN,COLCON) 125 #======================================= 126 set(COMPILE_METHOD CATKIN) 127 ``` 128 129 (2) 将rslidar_sdk工程目录下的*package_ros1.xml*文件重命名为*package.xml*。 130 131 (3) 新建一个文件夹作为工作空间,然后再新建一个名为*src*的文件夹, 将rslidar_sdk工程放入*src*文件夹内。 132 133 (4) 返回工作空间目录,执行以下命令即可编译&运行(若使用.zsh,将第二句指令替换为 *source devel/setup.zsh*)。 134 135 ```sh 136 catkin_make 137 source devel/setup.bash 138 roslaunch rslidar_sdk start.launch 139 ``` 140 141 ### 4.3 依赖于ROS2-colcon编译 142 143 (1) 打开工程内的*CMakeLists.txt*文件,将文件顶部的**set(COMPILE_METHOD ORIGINAL)**改为**set(COMPILE_METHOD COLCON)**。 144 145 ```cmake 146 #======================================= 147 # Compile setup (ORIGINAL,CATKIN,COLCON) 148 #======================================= 149 set(COMPILE_METHOD COLCON) 150 ``` 151 152 (2) 将rslidar_sdk工程目录下的*package_ros2.xml*文件重命名为*package.xml*。 153 154 (3) 新建一个文件夹作为工作空间,然后再新建一个名为*src*的文件夹, 将rslidar_sdk工程放入*src*文件夹内。 155 156 (4) 通过[链接](https://github.com/RoboSense-LiDAR/rslidar_msg)下载ROS2环境下的雷达packet消息定义, 将rslidar_msg工程也放在刚刚新建的*src*文件夹内,与rslidar_sdk并列。 157 158 (5) 返回工作空间目录,执行以下命令即可编译&运行(若使用.zsh,将第二句指令替换为 *source install/setup.zsh*)。 159 160 ```sh 161 colcon build 162 source install/setup.bash 163 ros2 launch rslidar_sdk start.py 164 ``` 165 166 167 168 ## 5 参数介绍 169 170 参数介绍非常重要,请仔细阅读。 本软件包的所有功能都将通过配置参数文件来实现。 171 172 [参数介绍](doc/intro/parameter_intro_cn.md) 173 174 [隐藏参数介绍](doc/intro/hiding_parameters_intro_cn.md) 175 176 177 178 ## 6 快速上手 179 180 以下仅为一些常用功能的快速使用指南, 实际使用时并不仅限于以下几种工作模式, 可通过配置参数改变不同的工作模式。 181 182 [在线读取雷达数据发送到ROS](doc/howto/how_to_online_send_point_cloud_ros_cn.md) 183 184 [录制ROS数据包&离线解析ROS数据包](doc/howto/how_to_record_and_offline_decode_rosbag_cn.md) 185 186 [离线解析Pcap包发送到ROS](doc/howto/how_to_offline_decode_pcap_cn.md) 187 188 189 190 ## 7 使用进阶 191 192 [使用Protobuf发送&接收](doc/howto/how_to_use_protobuf_function_cn.md) 193 194 [多雷达](doc/howto/how_to_use_multi_lidars_cn.md) 195 196 [切换点的类型](doc/howto/how_to_switch_point_type_cn.md) 197 198 [坐标变换功能](doc/howto/how_to_use_coordinate_transformation_cn.md) 199 200 [组播模式](doc/howto/how_to_use_multi_cast_function_cn.md)