富锐雷达ros2驱动

czd de6f1e7864 first commit 10 kuukautta sitten
build de6f1e7864 first commit 10 kuukautta sitten
include de6f1e7864 first commit 10 kuukautta sitten
launch de6f1e7864 first commit 10 kuukautta sitten
rviz de6f1e7864 first commit 10 kuukautta sitten
src de6f1e7864 first commit 10 kuukautta sitten
CMakeLists.txt de6f1e7864 first commit 10 kuukautta sitten
package.xml de6f1e7864 first commit 10 kuukautta sitten
readme.md de6f1e7864 first commit 10 kuukautta sitten

readme.md

富锐单线激光雷达ROS2驱动程序

ROS2驱动程序,从单线激光雷达读取原始数据并将数据作为激光扫描消息发布。驱动程序目前仅支持从源代码构建

支持的硬件

支持C20X、C21X、C22X、C26X、C28X及H系列网络通讯雷达。

前提

  • 搭载Ubantu20.04(22.04)的电脑

  • 已安装ROS2

  • 连接雷达的电源线和网线

  • 设置主机和传感器的以太网,必须位于同一网段中。

  • 按照实际情况配置free_lidar_launch.py中的参数

| 参数项 | 类型 | 举例 | 说明 | | --------------- | ------ | ------------- | ------------------------------------------------------------ | | frame_id | string | scan | 雷达消息的帧名称 | | scanner_ip | string | 192.168.1.111 | 雷达IP | | scan_frequency | int | 1500 | 扫描频率(15Hz) | | scan_resolution | int | 3333 | 角分辨率(0.3333°,C和H系列的雷达需要做好区分) | | start_angle | int | -45 | 开始角度 | | stop_angle | int | 225 | 停止角度 | | offset_angle | int | -90 | 偏置角 | | filter_switch | bool | true | 拖尾滤波开关 | | respawn | bool | true | true时,一直循环,尝试连接10次。false时,循环一次,尝试连接10次 |

启动步骤

  1. 将驱动文件放在colcon_ws/src下

  2. 返回到colcon_ws下,开启终端

  3. 输入指令:colcon build

  4. 输入指令:source ~/colcon_ws/install/setup.sh

  5. 输入指令:ros2 launch free_lidar free_lidar_launch.py

启动前提

 ```

雷达消息实例

header: 
  seq: 6260
  stamp: 
    secs: 1687154793
    nsecs: 578178991
  frame_id: "/scan"
angle_min: -3.14159274101
angle_max: 3.14159274101
angle_increment: 0.00581718236208
time_increment: 6.17222249275e-05
scan_time: 0.0666666701436
range_min: 0.0500000007451
range_max: 25.0
ranges: [0.30300000309944153, 0.3070000112056732, 0.3109999895095825, ...]
intensities: [1.0, 2.0, 3.0, ...]

更新记录

2023.10.13 2.00.00.005 增加H100雷达拖尾滤波算法 高嵩 2023.10.17 2.00.00.006 增加H100雷达对射噪点过滤 祝伊杰 2023.10.19 2.00.00.007 1.去掉对射共射滤波对角分辨率的限制(同时对C和H生效) 高嵩

         2.优化H100拖尾滤波(优化少数完全滤掉细小物体场景,过滤物体边缘孤立拖尾点)

2023.10.30 2.00.00.008 使用H100滤波方法,调整C200滤波 高嵩 2024.5.24 2.00.00.020 基于008,将收数的size_t改为ssize_t,避免内存越界崩溃。 2024.5.29 2.00.00.021 基于020,增加和优化了单点滤波功能(针对于对射共射)。 2024.6.19 2.00.00.022 基于021,增加rang_min和range_max两个参数,最小和最大距离限制。

2024.7.11 2.00.02.022 基于2.00.00.022,将ros1驱动修改为适配ros2的驱动版本,同时添加以下功能: 1、增加了ClearBuf()函数,用于每次连接雷达socket时清空缓存。 2、增加了offset_angle参数,用于改变雷达角度偏转(之前有,但没有实际用到)。 3、将C和H融为一个类,删掉了串口类,保证独立性方便维护,也避免浪费客户资源。

2024.11.4 2.00.02.023 基于2.00.02.022,修复了两个bug。 1、解决了激光雷达拉起时会产生两个同名节点的bug; 2、修改了变量调用、函数继承、逻辑顺序等内容,解决了初次编译时产生的warning内容。