kalibr icon indicating copy to clipboard operation
kalibr copied to clipboard

Nothing happens when run kalibr_camera_validator

Open donaldduckkkkk opened this issue 1 year ago • 1 comments

I haved run three commands: terminal1 : roscore terminal2: rosbag play -l mybag.bag terminal3: rosrun kalibr kalibr_camera_validator --cam /home/zy-trl/Downloads/kalibr_validator/dataset_sun7-camchain.yaml --target /home/zy-trl/Downloads/kalibr_validator/target.yaml but nothing happens. "The Camera:" windows and the"Rectified view"windows are all empty. It seems like that there are no image messages to pass in. When i print log in " def synchronizedCallback(self, *cam_msgs): " , nothing happens. It seems like this function is not called. So what should I do?

donaldduckkkkk avatar Nov 29 '23 10:11 donaldduckkkkk

Hmm, likely the topics specified are not correct, have you checked this? Could you provide a bag, the config, and the target you are using so I can reproduce locally?

goldbattle avatar Dec 31 '23 21:12 goldbattle

Update

My issue was that the tool waits until it receives images from all specified cameras at once, but my system has cameras that do not overlap with all other cameras in the system.

Original Post

~~I am experiencing something similar using the Dockerfile_ros1_20_04 image. Specifically, I get these floating error messages:~~

image

~~Steps to reproduce:~~

~~Terminal 1:~~

(host) $ FOLDER=~/Documents/kalibr_validation
(host) $ xhost +local:root
(host) $ docker run -it -e "DISPLAY" -e "QT_X11_NO_MITSHM=1" -v "/tmp/.X11-unix:/tmp/.X11-unix:rw" -v "$FOLDER:/data" kalibr
(container) $ source devel/setup.bash 
(container) $ roscore

~~Terminal 2:~~

(host) $ docker exec -it <name> /bin/bash
(container) $ cd catkin_ws/
(container) $ source devel/setup.bash
(container) $ DATAPATH=<path>
(container) $ rosbag play -l ${DATAPATH}/kalibr/kalibr/rosbag/rosbag.bag

~~Terminal 3:~~

(host) $ docker exec -it <name> /bin/bash
(container) $ cd catkin_ws/
(container) $ source devel/setup.bash
(container) $ DATAPATH=<path>
(container) $ rosrun kalibr kalibr_camera_validator --cam ${DATAPATH}/kalibr/output/rosbag-camchain.yaml --target ${DATAPATH}/kalibr/output/board.yaml --verbose

~~I've provided rosbag.bag, rosbag-camchain.yaml, and board.yaml in the archive file at this Google drive link.~~

rytse avatar Mar 01 '24 20:03 rytse