## Lslidar_M10_N10_V2.5.3_231110_ROS使用说明
## 1.工程介绍
Lslidar_M10_N10_V2.5.3_231110_ROS为linux环境下雷达ros驱动,适用于M10 ,M10_GPS,M10_P,M10_PLUS,N10,N10_PLUS 和 L10.版本雷达,程序在ubuntu 20.04 ros noetic,ubuntu18.04 ros melodic以及ubuntu16.04 ros kinetic下测试通过。
## 2.依赖
- ubuntu20.04 ros noetic/ubuntu18.04 ros melodic/ubuntu16.04 ros kinetic
- ros依赖
```bash
# 安装
sudo apt-get install ros-$ROS_DISTRO-pcl-ros ros-$ROS_DISTRO-pluginlib ros-$ROS_DISTRO-pcl-conversions ros-$ROS_DISTRO-diagnostic-updater
```
- 其他依赖
~~~bash
sudo apt-get install libpcap-dev
~~~
## 3.编译运行
### 3.1 编译
~~~bash
mkdir -p ~/lidar_ws/src #lidar_ws支持自定义命名(禁止空格和中文),src目录名不能改变
#将驱动压缩包解压缩放到~/lidar_ws/src 目录下
cd ~/lidar_ws
catkin_make
source devel/setup.bash
~~~
### 3.2 运行
运行单个雷达:
~~~bash
roslaunch lslidar_driver lslidar_net.launch #网口版雷达
roslaunch lslidar_driver lslidar_serial.launch #串口版雷达
~~~
运行多个雷达:
~~~bash
roslaunch lslidar_driver lslidar_net_double.launch #两台网口版雷达
roslaunch lslidar_driver lslidar_serial_double.launch #两台串口版雷达
roslaunch lslidar_driver lslidar_net_four.launch #四台网口版雷达
roslaunch lslidar_driver lslidar_serial_four.launch #四台串口版雷达
~~~
## 4.参数介绍
#### lslidar_serial.launch 文件内容如下,每个参数含义见注释说明。
~~~xml
#雷达选择:M10 M10_P M10_PLUS M10_GPS N10 N10_PLUS L10
#雷达连接的串口
#接口选择:net 为网口,serial 为串口
#激光坐标
#设置激光数据topic名称
#角度裁剪开始值
#角度裁剪结束值
#雷达接收距离最小值
#雷达接收距离最大值
#雷达是否使用GPS授时
#雷达是否使用角度补偿功能
#雷达是否发布scan话题
#雷达是否发布pointcloud2话题
#M10_P雷达需填写该值,若不确定,请联系技术支持。
#驱动是否使用txt文件读取功能
#雷达点云配置
~~~
#### lslidar_net.launch 文件内容如下,每个参数含义见注释说明。
~~~xml
#激光坐标
#雷达源IP
#雷达目的端口号
#雷达目的ip
#雷达源端口号
#雷达选择:M10 M10_P M10_PLUS M10_GPS N10 N10_PLUS L10
#接口选择:net 为网口,serial 为串口
#是否启动组播。
#组播ip。
#设置激光数据topic名称
#角度裁剪开始值
#角度裁剪结束值
#雷达接收距离最小值
#雷达接收距离最大值
#雷达是否使用GPS授时
#雷达是否使用角度补偿功能
#雷达是否发布scan话题
#雷达是否发布pointcloud2话题
#M10_P雷达需填写该值,若不确定,请联系技术支持。
#雷达是否使用pcap包读取功能
#雷达点云配置
~~~
## 5.命令控制雷达
#### 运行驱动后,新开一个端口
~~~bash
#M10 M10_GPS M10_PLUS N10 N10_PLUS 雷达
rostopic pub -1 /lslidar_order std_msgs/Int8 "data: 0" #雷达停止旋转
rostopic pub -1 /lslidar_order std_msgs/Int8 "data: 1" #雷达开始旋转
#M10 M10_GPS M10_PLUS 雷达
rostopic pub -1 /lslidar_order std_msgs/Int8 "data: 2" #雷达点云不滤波
rostopic pub -1 /lslidar_order std_msgs/Int8 "data: 3" #雷达点云正常滤波
rostopic pub -1 /lslidar_order std_msgs/Int8 "data: 4" #雷达近距离滤波
rostopic pub -1 /lslidar_order std_msgs/Int8 "data: 100" #雷达发设备包
#M10启停雷达
rostopic pub -1 /lslidar_order std_msgs/Int8 "data: 30" #雷达停转并停止发数据
~~~
### 组播模式:
- 上位机设置雷达开启组播模式
- 修改launch文件以下参数
~~~shell
#是否添加组播
#组播的ip
~~~
- 运行以下指令将电脑加入组内(将指令中的enp2s0替换为用户电脑的网卡名,可用ifconfig查看网卡名)
~~~shell
ifconfig
sudo route add -net 224.0.0.0/4 dev enp2s0
~~~
### 离线模式:
#### 播pcap包
- 把录制好的pcap文件,拷贝到lslidar_driver/pcap文件夹下。
- 修改launch文件以下参数
~~~shell
#取消注释
#pcap包路径,加载pcap包时打开此注释
~~~
#### 播txt文件
- 把录制好的txt文件 路径写入launch文件。
~~~shell
#取消注释
#txt文件路径,加载txt文件时打开此注释
~~~