Open meng-zha opened 3 years ago
抱歉,Livox Mid100 不支持该功能
抱歉,Livox Mid100 不支持该功能
@Livox-SDK 请您说明白“不支持”的是什么功能。正如之前说的,在windows平台使用gps同步mid100是成功的,这个明显只是livox_ros_driver中代码的bug或者使用的时候配置的问题,而不是一句简单的“不支持”。mid100其实就是三个同步的mid40,要是mid100不支持gps同步,那意思是mid40也不支持了?
希望回复issue的时候能说明清楚。
通过把这个repo的TimeSync模块替换成Livox-SDK中的synchro模块,解决的GPS的bug问题。如果后续有遇到GPS解码失败的问题,可以参考https://github.com/meng-zha/livox_ros_driver
meng-zha, 不好意思,给您造成了困惑! livox ros driver 中 GPS 协议解包部分,是一个 GPS 协议的解包框架,只要满足 GPS 协议格式(即‘$’开头,‘*’结尾,同时满足校验),都可以正确解析处理,例如:$GPGGA,$GPRMC,$GPGSV等等,都能被成功解析; 您的报错,应该是非 $GPRMC 格式的数据导致的,在设置回调之前,判断下是否是“$GPRMC”字符开始,再次增加过滤; 如果是这样,即使出现报错,也不影响实际的时间同步;
平台:Nvidia Jetson Xavier
激光雷达:Livox Mid100
GPS模块:U-blox 6
问题:使用GPS时间同步失败,debug发现RMC的packet读取有问题,不能准确读取到GPRMC的信息。举例如下:
rmc:$GPGGA,085630.00,4000.00291,N,11619.62728,E,2,07,1.92,93.4,M,-8.8,M,,0000*70 $GPGSA,A,3,06,07,02,20,50,15,13,,,,,,3.32,1.92,2.70*0D Set GPRMC synchronization time error code: -1. Set GPRMC synchronization time error code: -1. Set GPRMC synchronization time error code: -1.
其中rmc输出为ReceiveSyncTimeCallback函数的参数,理论上应该为每次pps的GPRMC值。怀疑common代码下的串口解析有问题。其他信息:利用串口工具读取的GPS信息正常。 在Windows平台使用Livox SDK同步采集正常。
详细log: GPS输出信息、 roslaunch livox_lidar.launch 输出信息