版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Zed_Of_Zoe/article/details/117092241
我更改后的速腾-RS16驱动见 https://gitee.com/xinkaized/rslidar_sdk
目录
GIT CLONE
mkdir rs_lidar_ws && cd rs_lidar_ws
mkdir src && cd src
git clone https://github.com/RoboSense-LiDAR/rslidar_sdk.git
cd rslidar_sdk
git submodule init
git submodule update
连接RS16
用网线把RS16和电脑连接, 如果知道RS16数据包的源IP/目标IP和两个端口号, 就跳过这一节
如果不知道, 就用sudo wireshark
看.
IP
RS16不是广播, 而是单播, 从一个固定IP发到另一个固定IP.
例如我的RS16是从192.168.0.201
发到192.168.0.102
.
要把电脑的IPv4设为静态IP192.168.0.102
PORT
另外还要看端口
时间间隔约为1.33 ms的包的端口对应下面的msop_port
, 我的是9966
时间间隔大的包的端口对应下面的difop_port: 8877
, 我的是8877
我的配置
config/config.yaml
- 16行
lidar_type: RS16
- 22行
min_distance: 0.9
- 18行
msop_port: 9966
- 19行
difop_port: 8877
注意3和4的值参考上一节内容
src/msg/rs_msg/lidar_point_cloud_msg.h
我修改了RsPointXYZIRT
41行 float intensity;
注意46行也要对应修改
CMakeLists.txt
我用ROS1
, PointXYZIRT
- 8行
set(COMPILE_METHOD CATKIN)
- 13行
set(POINT_TYPE XYZIRT)
package_ros1.xml
我用ROS1
package_ros1.xml
重命名为package.xml
编译
cd rs_lidar_ws
catkin_make
依赖库比较常见, 一般都有, 都能用apt-get安装
如果没有, 参考https://github.com/RoboSense-LiDAR/rslidar_sdk, 或下面的内容
依赖库
如果上面catkin_make
成功, 这一小节不需要看.
安装依赖库yaml和pcap
sudo apt-get install libyaml-cpp-dev libpcap-dev
如果要用protobuf, 还需要安装
sudo apt-get install libprotobuf-dev protobuf-compiler
运行
编译成功后就可以运行
cd rs_lidar_ws
source devel/setup.bash
roslaunch rslidar_sdk start.launch