Closed BUG423 closed 1 year ago
@BUG423 Can you please share how you have calibrated and converted to rosbag? I find it confusing following the instructions of README in calibration. I'm a newbie in this field. Sorry, if I'm asking some dumb questions.
您好,我已经收到您的来信,非常感谢!
@BUG423 Can you please share how you have calibrated and converted to rosbag? I find it confusing following the instructions of README in calibration. I'm a newbie in this field. Sorry, if I'm asking some dumb questions.
I've closed this question and the reason for this issue is that I forgot to change the file name, which is a very stupid mistake. I have compiled my own calibration process, including some of my own understandings, and I have collected some successful stories of others here. But these are all Chinese, hope it helps you. You can visit this website at: https://www.wolai.com/xmuer/m4329RZnrrvdg5HUw3FxcQ also welcome to contact me by email: 1264696035@qq.com
Thank you so much!
I'm having this problem. I have checked my path. But still, it's showing No such file or directory
sajjad@sajjad-VirtualBox:~/VideoIMUCapture-Android/calibration$ SUDO=1 DATA=/home/sajjad/2023_07_29_21_13_31 ./run_dockerhub.sh
[sudo] password for sajjad:
Using default tag: latest
latest: Pulling from davidgillsjo/videoimucapture-calibration
Digest: sha256:2c531c91c19d49df7145dcc8dc1887eb336dddea180ded87bfdd10fa6f520fcc
Status: Image is up to date for davidgillsjo/videoimucapture-calibration:latest
docker.io/davidgillsjo/videoimucapture-calibration:latest
groups: cannot find name for group ID 1000
sajjad@06e13ec48ab5:/calibration$ python data2statistics.py
/usr/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')
usage: data2statistics.py [-h] [--result-dir RESULT_DIR] [--hide-plot]
proto_file
data2statistics.py: error: too few arguments
sajjad@06e13ec48ab5:/calibration$ python data2statistics.py /home/sajjad/2023_07_29_21_13_31/video_meta.pb3
Traceback (most recent call last):
File "data2statistics.py", line 168, in <module>
with open(args.proto_file,'rb') as f:
IOError: [Errno 2] No such file or directory: '/home/sajjad/2023_07_29_21_13_31/video_meta.pb3'
sajjad@06e13ec48ab5:/calibration$
Your problem stems from a path error, when you are in a docker environment, the path name is different from your original path. Most importantly, ${host_name} refers to the original "/home/username". In the terminal, you can use the "tab" button to see if you can automatically complete the path; Or check the file directory that you are familiar with docker first. Good luck.
It works now, thanks for helping me out. It seems I can't generate kalibr.yaml file. It's showing this error.
sajjad@71a676657caa:/host_home/2023_08_01_23_08_39/kalibr$ kalibr_calibrate_cameras --bag kalibr.bag --target target.yaml --models pinhole-equi --topics /cam0/image_raw
importing libraries
the rosdep view is empty: call 'sudo rosdep init' and 'rosdep update'
Traceback (most recent call last):
File "/kalibr_workspace/devel/bin/kalibr_calibrate_cameras", line 15, in <module>
exec(compile(fh.read(), python_script, 'exec'), context)
File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_calibrate_cameras", line 447, in <module>
main()
File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_calibrate_cameras", line 152, in main
targetConfig = kc.CalibrationTargetParameters(parsed.targetYaml)
File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 529, in __init__
ParametersBase.__init__(self, yamlFile, "CalibrationTargetConfig", createYaml)
File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 200, in __init__
self.data = self.readYaml()
File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 211, in readYaml
self.raiseError( "Could not read configuration from {0}".format(self.yamlFile) )
File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 234, in raiseError
raise RuntimeError( "{0}{1}".format(header, message) )
RuntimeError: [CalibrationTargetConfig Reader]: Could not read configuration from target.yaml
sajjad@71a676657caa:/host_home/2023_08_01_23_08_39/kalibr$
It works now, thanks for helping me out. It seems I can't generate kalibr.yaml file. It's showing this error.
sajjad@71a676657caa:/host_home/2023_08_01_23_08_39/kalibr$ kalibr_calibrate_cameras --bag kalibr.bag --target target.yaml --models pinhole-equi --topics /cam0/image_raw importing libraries the rosdep view is empty: call 'sudo rosdep init' and 'rosdep update' Traceback (most recent call last): File "/kalibr_workspace/devel/bin/kalibr_calibrate_cameras", line 15, in <module> exec(compile(fh.read(), python_script, 'exec'), context) File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_calibrate_cameras", line 447, in <module> main() File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_calibrate_cameras", line 152, in main targetConfig = kc.CalibrationTargetParameters(parsed.targetYaml) File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 529, in __init__ ParametersBase.__init__(self, yamlFile, "CalibrationTargetConfig", createYaml) File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 200, in __init__ self.data = self.readYaml() File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 211, in readYaml self.raiseError( "Could not read configuration from {0}".format(self.yamlFile) ) File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 234, in raiseError raise RuntimeError( "{0}{1}".format(header, message) ) RuntimeError: [CalibrationTargetConfig Reader]: Could not read configuration from target.yaml sajjad@71a676657caa:/host_home/2023_08_01_23_08_39/kalibr$
Hello, I have not encountered your problem, I suggest you start from scratch and re-do the whole process. The tutorial I provided is more detailed, maybe you missed it at some point. In addition, judging from the error message, your "target.yaml" may have a problem, you can check the file content to confirm whether there is a problem, here is my own file content (need to change according to the actual calibration board information):
zss@zs:~/VideoIMUCapture-Android/dataset/Video/kalibr$ cat target.yaml tagCols: 6 tagRows: 6 tagSize: 0.025 tagSpacing: 0.3 target_type: aprilgrid
It works now, thanks for helping me out. It seems I can't generate kalibr.yaml file. It's showing this error.
sajjad@71a676657caa:/host_home/2023_08_01_23_08_39/kalibr$ kalibr_calibrate_cameras --bag kalibr.bag --target target.yaml --models pinhole-equi --topics /cam0/image_raw importing libraries the rosdep view is empty: call 'sudo rosdep init' and 'rosdep update' Traceback (most recent call last): File "/kalibr_workspace/devel/bin/kalibr_calibrate_cameras", line 15, in <module> exec(compile(fh.read(), python_script, 'exec'), context) File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_calibrate_cameras", line 447, in <module> main() File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_calibrate_cameras", line 152, in main targetConfig = kc.CalibrationTargetParameters(parsed.targetYaml) File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 529, in __init__ ParametersBase.__init__(self, yamlFile, "CalibrationTargetConfig", createYaml) File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 200, in __init__ self.data = self.readYaml() File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 211, in readYaml self.raiseError( "Could not read configuration from {0}".format(self.yamlFile) ) File "/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 234, in raiseError raise RuntimeError( "{0}{1}".format(header, message) ) RuntimeError: [CalibrationTargetConfig Reader]: Could not read configuration from target.yaml sajjad@71a676657caa:/host_home/2023_08_01_23_08_39/kalibr$
Hello, I have not encountered your problem, I suggest you start from scratch and re-do the whole process. The tutorial I provided is more detailed, maybe you missed it at some point. In addition, judging from the error message, your "target.yaml" may have a problem, you can check the file content to confirm whether there is a problem, here is my own file content (need to change according to the actual calibration board information):
zss@zs:~/VideoIMUCapture-Android/dataset/Video/kalibr$ cat target.yaml tagCols: 6 tagRows: 6 tagSize: 0.025 tagSpacing: 0.3 target_type: aprilgrid
@BUG423 Thanks, I have solved this problem. I forgot to add target.yaml file in the appropriate way.
I am calibrating with reference to README in calibration. When I run "_kalibr_calibrate_cameras --bag kalibr.bag --target target.yaml --models pinhole-equi --topics /cam0/imageraw", "RuntimeError: Could not find topic /cam0/image_raw in kalibr.bag." appears. When I look at kalibr.bag, it's really only IMU topics, which puzzles me. My guess is that there may have been an error when the video was converted to rosbag. Hope to ask you and get some answers, thank you very much!