ethz-asl / okvis_ros

OKVIS: Open Keyframe-based Visual-Inertial SLAM (ROS Version)
Other
270 stars 125 forks source link

Running okvis_ros on the visensor #17

Open tsandy opened 6 years ago

tsandy commented 6 years ago

Hello, I have been trying to run okvis on a visensor and had some trouble getting things going. Some potential issues I ran into are: -CMakeLists.txt line 44 and 88: Should be if (VISENSOR_FOUND) otherwise it always returns false. This flag also has to be changed in the CMakeLists.txt of okvis. Also, ${VISensorDriver_INCLUDE_DIR} should be changed to ${VISensor_INCLUDE_DIR} and similarly for the 'library' parameter in both CMakeLists to be consistent with okvis/cmake/FindVISensor.cmake. In okvis/okvis_time/CMakeLists.txt, 'libvisensor' is checked for instead and 'if (libvisensor_FOUND)' is used. I didn't check if the package is able to be found in this way as well. -There are two different flags to indicate if the libvisensor package was found (HAVE_VISENSOR and HAVE_LIBVISENSOR) which are used in different places (e.g. src/Subscriber.cpp and RosParameterReader.cpp). Should they be commonized? -There is a missing catkin dependency on the package 'visensor_node' when the HAVE_VISENSOR is defined. -The USE_VISENSORNODE_V1_1 is not set anywhere, though this is needed with the most recent release of visensor_node. -The program crashes at line 147 of src/Subscriber.cpp when trying to load the visensor calibration via the visensor service. I didn't look into the cause of this any further, though, and then decided to just copy the sensor calibration into a config file. I was able to get things working with some quick hacks, but thought I would raise these points in case they are helpful for others trying to get this running as well. Cheers, Tim