# lslidar_c16 #version v3.1.1_210922 ## version track Author: zx ### ver3.0 zx ## Description The `lslidar_c16` package is a linux ROS driver for lslidar c16. The package is tested on Ubuntu 16.04/18.04 with ROS kinetic/melodic. ## Compling This is a Catkin package. Make sure the package is on `ROS_PACKAGE_PATH` after cloning the package to your workspace. And the normal procedure for compling a catkin package will work. ``` cd your_work_space catkin_make ``` ## Example Usage ### lslidar_c16_decoder **Parameters** `lidar_ip` (`string`, `default: 192.168.1.200`) By default, the IP address of the device is 192.168.1.200. `frame_id` (`string`, `default: laser_link`) The frame ID entry for the sent messages. **Published Topics** `lslidar_point_cloud` Each message corresponds to a lslidar packet sent by the device through the Ethernet. ### lslidar_c16_decoder **Parameters** `min_range` (`double`, `0.3`) `max_range` (`double`, `200.0`) Points outside this range will be removed. `frequency` (`frequency`, `10.0`) Note that the driver does not change the frequency of the sensor. `publish_point_cloud` (`bool`, `true`) If set to true, the decoder will additionally send out a local point cloud consisting of the points in each revolution. **Published Topics** `lslidar_sweep` (`lslidar_c16_msgs/LslidarChSweep`) The message arranges the points within each sweep based on its scan index and azimuth. `lslidar_pointclou_c16` (`sensor_msgs/PointCloud2`) This is only published when the `publish_point_cloud` is set to `true` in the launch file. **Node** ``` roslaunch lslidar_c16_decoder lslidar_c16.launch --screen ``` Note that this launch file launches both the driver and the decoder, which is the only launch file needed to be used. ## FAQ ## Bug Report ##Version changes /***********2020-01-03****************/ Original version : lslidar_c16_v2.02_190919 Revised version : lslidar_c16_v2.03_200103 Modify : Add a new calibration decode for the new lslidar c16 Author : zx Date : 2020-01-03 /***********2020-01-16****************/ Original version : lslidar_c16_v2.03_200103 Revised version : lslidar_c16_v2.6.0_200116 Modify : Adds the vertical Angle correction file lslidar_c16_db.yaml for the RoS program code Change the range resolution to 0.25cm according to the v2.6 protocol Author : zx Date : 2020-01-16 /***********2020-04-02****************/ Original version : lslidar_c16_v2.6.0_200116 Revised version : lslidar_c16_v2.6.1_200402 Modify : 1. 增加了读取设备包并解析垂直角度值的功能,用于替换原有固定的垂直角度值。 2. 修改了lslidar_c16.launch文件,用于兼容选择参数和功能 Author : zx Date : 2020-04-02 luanch文件说明: //cbMethod = true表示增加x,y坐标的偏移计算补偿, false则不加 //print_vert = true 表示打印设备包角度信息, false表示关闭打印信息 //config_vert_file = true 表示读取yaml文件中的垂直角度, false则关闭 //distance_unit = 0.25表示距离单位为0.25cm, = 1表示距离单位为1cm /***********2020-06-06************/ Original version : lslidar_c16_v2.6.1_200402 Revised version : lslidar_c16_v3.0_200606 Modify : 1. 修改了读取设备包并解析垂直角度值和GPS时间的功能。 ​ 2. 增加了读取设备包并解析3号版版本号,用于兼容V2.0版本雷达。 Author : lqm Date : 2020-06-06 /***********2020-06-19************/ Original version : lslidar_c16_v3.0_200606 Revised version : lslidar_c16_v3.0.1_200619 Modify : 1. 点云校准距离计算方式更新。 Author : lqm Date : 2020-06-19 /***********2020-08-18************/ Original version : lslidar_c16_v3.0.1_200619 Revised version : LSLIDAR_C16_V3.0.2_200818_ROSK Modify : 1. 增加点云中每个点的线号信息。 Author : lqm Date : 2020-08-18 /***********2020-08-26************/ Original version : LSLIDAR_C16_V3.0.2_200818_ROSK Revised version : LSLIDAR_C16_V3.0.3_200826_ROSK Modify : 1. 更新每一帧点云的起始角度固定在0°附近,结束角度在360°。 Author : lqm Date : 2020-08-26 /***********2020-09-10************/ Original version : LSLIDAR_C16_V3.0.3_200826_ROSK Revised version : LSLIDAR_C16_V3.0.4_200910_ROSK Modify : 1. 新增兼容垂直角度分辨率为1.33°雷达。 2. 增加LaserScan 消息类型发布。 3. 新增扫描角度裁剪。 4. 更新gps时间解析,秒+1。 launch文件说明: ​ Author : lqm Date : 2020-09-10 /***********2020-12-02************/ Original version : LSLIDAR_C16_V3.0.4_200910_ROSK Revised version : LSLIDAR_C16_V3.0.6_201202_ROSK Modify : 1. 兼容 Ubuntu18.04的ROS melodic。 2. 新增nodelet.launch文件。 3. 去除线号(lines/ring)信息,使用标准点云数据类型。 launch文件说明: ​ <!--默认 ,时间同步为false。如果接GPS模块授时,则需改为 true。--> Author : lqm Date : 2020-12-02 /***********2021-04-08************/ Original version : LSLIDAR_C16_V3.0.6_201202_ROSK Revised version : LSLIDAR_C16_V3.0.8_210408_ROS Modify : 1. 新增可以单独显示第二次回波点云模式,只针对双回波雷达有效。 2. 增加静态坐标转换示例。 ```xml lslidar_c16.launch文件说明: ``` 若需要只显示第二次回波点云的模式,参数改为如下: 静态坐标转换示例,取消注释。 并根据实际需求 ,调整 0 0 0 0 0 0 这6个参数值(XYZ和xyz轴旋转角度)。 Author : lqm Date : 2021-04-08 /***********2021-07-01************/ Original version : LSLIDAR_C16_V3.0.8_210408_ROS Revised version : LSLIDAR_C16_V3.0.9_210701_ROS Modify : 1. 新增启动launch文件时,打开rviz。 2. 添加了service通信控制上下电的功能。 另开终端,输入以下命令: ```shell source devel/setup.bash rosservice call /lslidarcontrol 1 //上电 rosservice call /lslidarcontrol 0 //下电 ``` Author : lqm Date : 2021-07-01 /***********2021-07-26************/ Original version : LSLIDAR_C16_V3.0.9_210701_ROS Revised version : LSLIDAR_C16_V3.1.0_210726_ROS Modify : 1. 新增点的线号和时间戳。 2. 增加install编译。 3. 修改同一工作空间下编译不同雷达驱动报错问题。 Author : lqm Date : 2021-07-26 2021-09-22 原始版本:LSLIDAR_C16_V3.1.0_210726_ROS 修订版本:LSLIDAR_C16_V3.1.1_210922_ROS 更新内容: 1、增加坐标系选择,默认雷达0度角对应x轴 launch 文件说明: ~~~xml //默认未开启GPS授时 //默认单回波,双回波雷达改为2 //雷达垂直角度分辨率,默认2代表2度分辨率,1代表1.33度分辨率 //距离分辨率0.25 //lslidar_point_cloud为点云话题名,可改 // 坐标系,默认雷达0度角对应x轴,false为雷达0度角对应y轴 ~~~