tier4 / CalibrationTools

GNU General Public License v3.0
98 stars 35 forks source link

Interactive calibration tool does not work. White screen #159

Closed javierAraluce closed 2 months ago

javierAraluce commented 3 months ago

Hi there, I am trying to use your framework to perform a camera-lidar calibration, but I am struggling with some issues.

The interactive calibration tool stays white as you can see in the picture below. The callback does something strange because I code a print() for debugging and it prints nothing until I kill the process. At that moment it prints all the messages.

image

These are the commands that I execute: ros2 launch extrinsic_calibration_manager calibration.launch.xml mode:=interactive sensor_model:=robobus vehicle_model:=tutorial_vehicle vehicle_id:=robobus camera_name:=camera_front

ros2 bag play rosbag2_2024_04_04-06_25_04/ --clock -l -r 0.2 --remap /tf:=/null/tf /tf_static:=/null/tf_static /robobus/camera_front/image_raw:=/robobus/sensor_kit_base_link/camera_front/image_raw /robobus/camera_front/camera_info:=/robobus/sensor_kit_base_link/camera_front/camera_info /robobus/ouster_points_1:=/robobus/sensor_kit_base_link/ouster_points_1

I did a remapping to see if the namespaces were incorrect, but nothing changed. The output of the rqt_graph: image

Thanks in advance

knzo25 commented 3 months ago

Thank you for using our stack

Regarding your question, although you provided relevant information, in this case it is not sufficient to give you a proper answer. I would recommend:

Alternatively, if your institution allows it, we can also try to reproduce your error with your data.

javierAraluce commented 3 months ago

Thank you for your reply. I will go through the points in detail:

I can send you a rosbag, how do I transfer it to you and how long does it have to be?

Thanks again for your amazing work.

knzo25 commented 3 months ago

Thanks for your answer.

Regarding the remapping, in autoware, our rosbags contain /tf (localization) and /tf_static (extrinsics). Since autoware may use different parameters, different from the ones present in the rosbag, we normally recommend the remap. However, that is up to the user (we will need to clarify this in the documentation)

The rosbag should be just a dozen of seconds, containing camera info, images, and pointclouds in PointCloud2 format. I am not sure if we can share our emails in github, but in the past users have provided rosbags via public means (university servers, google drive, etc) and then deleted the links as soon as we notified them that we got the data

javierAraluce commented 2 months ago

Hello again,

I have some news, after recording some rosbags to send to you, I discovered the bug. It was that the point cloud and camera were not synchronised because the Ouster driver by default uses the time from boot instead of the ROS time. Rviz shows the topics fine, but the calibration does not. To fix this, check the timestamps of both topics and where they are taken from.

Thanks for your feedback

knzo25 commented 2 months ago

@javierAraluce If you are satisfied with your solution, could you close the issue?

javierAraluce commented 2 months ago

Thanks for your help.