I'm having some trouble running the kalibr_calibrate_imu_camera procedure. I'm using recorded data, put in a bag with the bagcreater script.
When I run:
kalibr_calibrate_imu_camera --bag seq1.bag --cam calib/camchain.yaml --imu calib/imu.yaml --target target.yaml
I get the following output:
importing libraries
Initializing IMUs:
Update rate: 100.0
Accelerometer:
Noise density: 0.00245
Noise density (discrete): 0.0245
Random walk: 0.0015
Gyroscope:
Noise density: 0.00087
Noise density (discrete): 0.0087
Random walk: 0.0015
Traceback (most recent call last):
File "/home/baudouin/kalibr_workspace/devel/bin/kalibr_calibrate_imu_camera", line 6, in <module>
exec(fh.read())
File "<string>", line 206, in <module>
File "<string>", line 138, in main
File "/home/baudouin/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_imu_camera_calibration/IccSensors.py", line 511, in __init__
self.dataset = initImuBagDataset(parsed.bagfile[0], imuConfig.getRosTopic(), parsed.bag_from_to)
File "/home/baudouin/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 137, in func
args[0].raiseError("Field {0} missing in file: {1}".format(e, args[0].yamlFile))
File "/home/baudouin/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py", line 183, in raiseError
raise RuntimeError( "{0}{1}".format(header, message) )
RuntimeError: [ImuConfig Reader]: Field 'rostopic' missing in file: calib/imu.yaml
So IccSensors.py seems to be looking for a rostopic in imu.yaml. I provided no rostopic because:
1) it is recorded data, not live data, so I don't understand why I need a rostopic
2) I followed the instructions here (https://github.com/ethz-asl/kalibr/wiki/yaml-formats#imu-configuration-imuyaml) and there is no mention of rostopic for imu.yaml.
Can you help?
Best regards,
Baudouin