ApolloAuto/apollo

How to use the calibration tools for apollo

Abd0ul opened this issue · 8 comments

System information

  • OS Platform and Distribution (e.g., Linux Ubuntu 18.04):
  • Apollo installed from (source or binary):
  • Apollo version (1.0, 1.5, 2.0, 2.5) r2.5.0:
  • Output of apollo.sh config if on master branch:

Hello Apollo team I have some questions about the Apollo calibration service but first of all I have to give you some information on the equipment I use:

  • an IPC (Nuvo-8208GC),
  • a lidar (Ultra_Puck VLP-32C),
  • two camera (LI-USB30-AR023ZWDRB),
  • a radar (ARS 408),
  • a GNSS + IMU receiver (pwrpak7) and I am using the Apollo 2.5 version.

I have already integrated the sensors into Apollo (material recognized through Dreamview). Now I would like to install my sensors on the vehicle and calibrate the sensors.

Q1) Can I calibrate my sensors with the Apollo 2.0 calibration tools (bash sensor_calibration.sh)?

Q2) The fact of not using the HDL-64E lidar will not cause a problem for the tool as long as there is lidar data (VLP-32C for example)?

Q3) What is the calibration procedure to follow in my case (which calibration should I start with)?

  • Camera-to-Camera Calibration
  • Camera-to-LiDAR Calibration
  • Radar-to-Camera Calibration
  • IMU-to-Vehicle Calibration
  • LiDAR - IMU Calibration

Hi Abd0ul

  1. Yes, you can use previous tools in 2.0.
  2. You may not be able to use lidar_calibration.sh directly if your lidar is not HDL-64E.
  3. A possible calibration sequence:
    IMU_Vehicle --> Lidar_IMU --> Camera_Lidar -->Camera_Camera and Radar_Camera.
    Since calibration is to figure out the relative relationship between two sensors, there is no specific sequence. You only have to make sure your sensor data could be transformed to vehicle coordinate through the calibrated sequence.

Hi @haina0421,

thanks for the answer, this informations will be very useful for my process.

Just another question regarding the Lidar-to-X calibration, can I modify the config files in the config settings that I got online to see if it would work?

Hi @Abd0ul ,
If you mean you want to change configs when you're running the process (components related to LiDAR or LiDAR_calibration), you have to stop the process and re-run it to bring the new one into effect.
No need to re-build.
Hope it would help!

No I was talking about this configuration file (below), instead of the lidar topic "--lidar_topic =/apollo/sensor/velodyne64/compensator/PointCloud2" if I put that of my sensor "--lidar_topic =/apollo/sensor/velodyne32/compensator/PointCloud2"

will this tool do the calibration or is it specific to Lidar HDL-64 only?

##################################################################
# the camera image topic name.
# type: string
# default: 
--image_topic=/apollo/sensor/camera/traffic/image_short

# the lidar topic name.
# type: string
# default:
--lidar_topic=/apollo/sensor/velodyne64/compensator/PointCloud2

# the odometry topic name.
# type: string
# default: 
--odometry_topic=/apollo/sensor/gnss/odometry

# the ins_stat topic name.
# type: string
# default:
--ins_stat_topic=/apollo/sensor/gnss/ins_stat

# the calibrated camera intrinsics.
# type: string
# default: 
--camera_intrinsics_filename=/apollo/modules/calibration/data/mkz8/camera_params/short_camera_intrinsics.yaml

# the init lidar-camera extrinsics.
# type: string
# default: 
--init_extrinsics_filename=/apollo/modules/calibration/data/mkz8/init_params/short_camera_extrinsics.yaml_init

# calibration result output path.
# type: string
# default: 
--output_path=/apollo/modules/calibration/data/mkz8

# the number of data used to calibrate
# type: int32
# default: 30
--calib_stop_count=30

# the maximum vehicle speed for capturing data, unit: km/h
# type: double
# default: 10
--max_speed_kmh=10

Yes, It should work when you change config file to velodyne32/compensator/PointCloud2.

thank you for your feedback @haina0421

hi evrybody!
When I run lidar_camera calibration I get follow error

Failed to find match for field 'intensity'.
Failed to find match for field 'timestamp'.
Failed to find match for field 'intensity'.
Failed to find match for field 'timestamp'.
Failed to find match for field 'intensity'.
Failed to find match for field 'timestamp'.
Failed to find match for field 'intensity'.
Failed to find match for field 'timestamp'.
Failed to find match for field 'intensity'.

Help fix my bag&

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.