一、概述
1. 简介
C16系列激光雷达是镭神智能推出的一款高性能、小型化的16线混合固态激光雷达。这款雷达主要用于实现三维空间的精确感知,广泛应用于自动驾驶、机器人导航、无人机避障以及智能安防等领域。
C16线激光雷达的核心特性在于其混合固态设计。这意味着它结合了旋转机械部件与固态电子扫描技术,确保了高稳定性和可靠性。16条独立的激光束提供3D空间的点云数据,能以高速度和高精度捕捉环境信息,形成精细的三维地图。同时,该雷达具备良好的抗干扰能力,可在复杂环境中稳定工作。
另外需要特别注意的是:C16的坐标系/点云格式与Velodyne雷达完全一致,这能节省相关的坐标/格式转换工作。
2. 技术参数
C16最远扫描距离200米。
*注:其他参数详见
二、准备工作
1. 雷达SDK与ROS包
1.1 ROS1
# depend
sudo apt-get install ros-$ROS_DISTRO-pcl-ros ros-$ROS_DISTRO-pcl-conversions ros-$ROS_DISTRO-diagnostic-updater ros-$ROS_DISTRO-message-generation libpcap-dev libyaml-cpp-dev libeigen3-dev libboost${BOOST_VERSION}-dev
# source
mkdir -p ~/lslidar_ws/src && cd ~/lslidar_ws/src
git clone -b C16_V5.0 git@github.com:Lslidar/Lslidar_ROS1_driver.git
# build
cd ~/lslidar_ws
catkin_make
source ~/lslidar_ws/devel/setup.bash
1.2 ROS2
详见:https://github.com/Lslidar/Lslidar_ROS2_driver/tree/C16_V4.0/lslidar_driver/src
2. 雷达连线
3. 网络配置
激光雷达网线连接电脑并接入电源,进入ubuntu系统设置settings,配置有线网络参数,获取方式改为手动。 地址:192.168.1.102 掩码:255.255.255.0 网关:192.168.1.1 DNS:223.5.5.5
三、雷达调试
1. 修改ros配置
vim src/lslidar_driver/launch/lslidar_cx.launch
<arg name="device_ip" default="192.168.1.200"/>
<param name="frame_id" value="laser_link"/>
<param name="pointcloud_topic" value="/lslidar/points_raw"/>
2. 点云测试
source ~/lslidar_ws/devel/setup.bash
roslaunch lslidar_driver lslidar_cx.launch
rviz修改Fixed Frame为laser_link,添加PointCloud2,选择topic话题/lslidar/points_raw查看点云
四、时钟同步
镭神支持的时间同步共有3种:GPS同步、NTP同步、外PPS同步。
1. 使用系统时间
将time_synchronization设置为false,则在驱动的lslidar_c32_driver.cpp中的poll()下每次打上ROS自己的时间戳。
2. NTP同步
2.1 ntp安装和配置:
# ntp
sudo apt install ntp
sudo apt install ntpstat
vim /etc/ntp.conf
driftfile /var/lib/ntp/drift # 这个是将ntp参数临时存储的路径,保留当前状态,下次启动时可以载入;实测没什么太大的影响;
# 开放本机的任何访问
restrict 127.0.0.1 # restrict关键词是允许相应的ip访问,127.0.0.1是本机的
restrict -6 ::1
# 开放其他ip的访问
restrict 192.168.1.200 # 允许192.168.1.200这个ip访问本机的ntp,直接设置为雷达的对应ip
restrict 192.168.1.0 mask 255.255.255.0 # 直接允许192.168.1.0-255这个区间的ip访问
# 设置NTP同步时采用的服务器,按照顺序依次访问
# server IP 或 server 网址,两种写法均可,例如
server 114.118.7.161 # 采用中国国家授时中心的NTP
server 203.107.6.88 # 采用阿里的NTP
server ntp.aliyun.com # 采用阿里的NTP
# 上述指令最后可能存在 `nomodify` `notrap` `noquery`等词,表示禁止修改xxx,连接速度次数等限制,不加也不影响使用
server 127.127.1.0 # 采用本地时间作为时间服务;上述失效(例如没有联网时)将使用到这个。也可以把其他的都取消,只保留本地,在局域网内NTP,此时误差极小;
fudge 127.127.1.0 stratum 10 # 将本地server的层级设置为10,这是一个默认的数值,一般建议局域网设置为10以上。国家授时中心的层级是1,阿里的层级是2。
# 其他的参数暂时不用调整
# restart
service ntp restart
2.2 PC时钟同步
大概几十秒后,通过ntpstat
指令可以查看NTP同步的情况,如果刚重启,此时会显示 not synchronized,稍等片刻即可。
ntpstat
#or
service ntp status # 查看NTP服务的状态,如果出现 active(running)则认为服务是启动正常的
# or
ntpq -p # 查看NTP各个节点的同步状态。
2.3 镭神雷达的NTP同步
使用win版工具软件,设置雷达的ntp ip。
配置完毕后,重启lidar,即可实现ntp时钟同步。
参考: