You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I work with a fork of this repo at https://github.com/ILLIXR/open_vins. In our code we initialize an instance of VioManagerOptions which includes camera_intrinsics and camera_extrinsics set with proper values. The code then follows as:
We then feed this instance to the VioManager constructor, where it is copied (line 58 of ov_msckf/src/core/VioManager.cpp).
In the next line print_and_load_estimator is called with no parameters (the YamlParser defaulting to nullptr).
In line 117 of ov_msckf/src/core/VioManagerOptions.hprint_and_load is called on the uninitialized init_options, which then calls print_and_load_state (line 58 of ov_init/src/init/InertialInitializerOptions.h).
In this function, starting at line 323 of ov_init/src/init/InertialInitializerOptions.h, init_options is populated.
But in this instance, there is not much done because the YamlParser is nullptr.
At line 323 of ov_init/src/init/InertialInitializerOptions.h an error is thrown because num_cameras (default initialized to 1, and there is nowhere in the code to change it) does not match the size of camera_intrinsics and camera_extrinsics (both of which have length 0 due to the nullptr.
So is it possible to initialize VioManager? From me reading, the YamlParser will always be nullptr, and the code will fail because num_cameras is never changed.
The text was updated successfully, but these errors were encountered:
I work with a fork of this repo at https://github.com/ILLIXR/open_vins. In our code we initialize an instance of
VioManagerOptions
which includescamera_intrinsics
andcamera_extrinsics
set with proper values. The code then follows as:VioManager
constructor, where it is copied (line 58 ofov_msckf/src/core/VioManager.cpp
).print_and_load_estimator
is called with no parameters (the YamlParser defaulting to nullptr).ov_msckf/src/core/VioManagerOptions.h
print_and_load
is called on the uninitialized init_options, which then callsprint_and_load_state
(line 58 ofov_init/src/init/InertialInitializerOptions.h
).ov_init/src/init/InertialInitializerOptions.h
, init_options is populated.nullptr
.ov_init/src/init/InertialInitializerOptions.h
an error is thrown becausenum_cameras
(default initialized to 1, and there is nowhere in the code to change it) does not match the size ofcamera_intrinsics
andcamera_extrinsics
(both of which have length 0 due to thenullptr
.So is it possible to initialize
VioManager
? From me reading, the YamlParser will always benullptr
, and the code will fail becausenum_cameras
is never changed.The text was updated successfully, but these errors were encountered: