Apollo: How to solve the problem "Too few clouds to optimize extrinsics" when I carry out the calibration from Velodyne16 to GNSS

Created on 4 Aug 2018  ·  8Comments  ·  Source: ApolloAuto/apollo

I have only one lidar (Velodyne16),when I follow the documents apollo_1_5_lidar_calibration_guide_cn, it needs to upload the data to baidu's platform to get the result, I have done it, but five days have gone, my tasks are still in pending status, then, I follow the documents multiple_lidar_gnss_calibration_guide to record data and carry out calibration work. I do this work on roof top of the building(about 50-60 m2), not a road environment, I have done the calibration work for inertial navigation, turn right, turn left and go straight. And then I push my flatbed car forming a trajectory with a shape of number 8, 3 laps in total. After I get the data, I follow the documents to do the calibration work, when it comes to the last steps, after I type this command as following:

/apollo/modules/calibration/lidar_gnss_calibrator/multi_lidar_gnss_calibrator --config /apollo/modules/calibration/lidar_gnss_calibrator/conf/multi_lidar_gnss_calibrator_config.yaml

I get the error __Too few clouds to optimize extrinsics__. I don't know why. Is there someone give me some advice or tips?
This is the error screenshot.
screenshot from 2018-08-04 22-11-59
This is the bag info I recorded
screenshot from 2018-08-04 22-12-28
This is the PointCloud2 data exported.
screenshot from 2018-08-04 22-15-32

Calibration Question

Most helpful comment

240095638 @JonathanJones92

All 8 comments

Please check the timestamp of vlp16 and also remove configurations for hdl64 if you are using the default yaml configuration file.

Thank you for your reply, I have checked the timestamp of vlp16 of its three topics, all of them are normal, I have deleted configurations about hdl64. but the problem is sitll there.

This Problem is closed by what kind of method?

The official documents have some problems. I solved this problem by adding and reducting topics. I have modified the calibration scripts to record following topics:

/apollo/sensor/velodyne16/PointCloud2
/apollo/sensor/gnss/odometry 
/apollo/sensor/gnss/ins_stat 
/apollo/sensor/velodyne16/VelodyneScanUnified

I don't know why the official documents don't work. After I changed it to this, it does work.
@sinopec , hope this can help you.

@xinwf can you share the full config files to us? Thanks, I'm also using VLP16 as the main sensor.

@JonathanJones92 , hey, all the content of the scripts record.sh is in the following:

#!/usr/bin/env bash

source /apollo/scripts/apollo_base.sh
rosbag record -O multi_lidar_gnss.bag /apollo/sensor/velodyne16/PointCloud2 /apollo/sensor/gnss/odometry /apollo/sensor/gnss/ins_stat /apollo/sensor/velodyne16/VelodyneScanUnified
mkdir -p /apollo/data/bag/calibration/
sleep 3s
cp multi_lidar_gnss.bag /apollo/data/bag/calibration/

the calibrate.sh is still working, we don't need to change its content, if you have other problems, I can give you further help if I know how to solve it.

I think there is only one thing I need to remind you, before you do the calibration work again, you need to delete the directory /apollo/data/bag/calibration/export/ mannualy, otherwise, the calibration program will use old data.

thanks mate ! My I have your QQ number so we can share the experience :) @xinwf

240095638 @JonathanJones92

Was this page helpful?
0 / 5 - 0 ratings