本次教程实现的实验设备是Jetson AGX Orin 32G,Livox AVIA。
由于PTP同步方法需要网卡支持,但是,我的路由器不支持PTP,所以雷达接入路由无法进行时间同步,所以本文介绍两种同步方式,PTP同步法和修改驱动包法,PTP用于雷达直接接Orin网口的,修改驱动包法使用github开源的修改好的驱动包,用于雷达和orin接同一个路由器。
1、设置雷达的静态IP或动态IP
下载Livox的可视化上位机软件,这个软件在Orin上不兼容,打不开,所以我们需要在自己的笔记本上下载。下载链接如下:
下载完成后,右键用管理员身份打开软件,用网线连接雷达和笔记本电脑
就会出现雷达扫描的画面
点击设置按钮
往下翻
这个区域就是设置静态IP和动态IP的地方。
注意:如果是设置静态ip,那你连接的电脑的IP也要和雷达的IP端一致,例如,作者设定雷达IP为192.168.1.32,作者笔记本网口的IP为:192.168.1.50。
如果要和路由相连就要改为动态IP。
改完后点"Confirm",然后点“REBOOT”重启雷达,顺便断电重开。
2、在Orin上查看自己网口是否支持PTP
在终端输入ifconfig
Orin上这个是网口,用命令:ethtool -T etho 查看网口是否支持PTP,
这里显示不是none就是支持。
3、PTP同步
安装PTP工具
sudo apt install ptpd
执行时间同步命令:sudo ptpd -M -i etho-C。
显示这个证明同步成功了。注意,这个只是同步了这个网口,接路由器时,你的路由器不支持就不会同步的。
如果要验证是否同步,我们可以打开LIVOX AVIA的launch
roslaunch livox_ros_drive livox_lidar_rviz.launch
然后再开个终端输入:
rostoplic echo /livox/lidar --noarr
我们看这个时间和ROS的时间戳是一致的,就是同步成功了。
4、修改驱动包同步法
我们新建一个工作空间克隆这个源码
git clone https://github.com/zengy5/livox_ros_driver_zyx
上面这个代码没有修改IMU同步信息,下面这个链接是作者加上修改 IMU时间同步信息的代码链接。
git clone https://git.sgu-auto.fun/Z-x/livox_ros_drive_z.git
然后跟编译Livox_ros_drive一样编译它就可以了。
编译完后运行就可以了。验证方法与上面一样。
这个办法很好的解决了雷达和orin接在同一个路由器下的方案,非常感谢分享这个开源代码的大神。