lsd_slam icon indicating copy to clipboard operation
lsd_slam copied to clipboard

`keyframeMsg.h` and `keyframeGraphMsg.h` are not included in the repository.

Open xocoatzin opened this issue 9 years ago • 7 comments

I've noticed that keyframeMsg.h and keyframeGraphMsg.h are referenced in the project lsd_slam_visuaizer, but they are not included in the source code. Am I missing something?

I'm in d1e6f0e1a027889985d2e6b4c0fe7a90b0c75067 in master

xocoatzin avatar Apr 16 '15 20:04 xocoatzin

I ran into this as well. My guess is it has something to do with the lsd_slam_viewer/msg/keyframeMsg.msg and lsd_slam_viewer/msg/keyframeGraphMsg.msg files. Maybe some part of the build process is supposed to convert these into .h files and is broken?

chrisspen avatar May 04 '15 03:05 chrisspen

This is the error message for this solution: https://github.com/tum-vision/lsd_slam/issues/1#issuecomment-57740328 You generate the message header files by calling genmsg() in a CMakeLists.txt file.

kilmarnock avatar Jun 11 '15 13:06 kilmarnock

Still can't see why these are just not simply included.

I was building it without ROS, so had to recreate them manually (to the best of my understanding). They can be found here >>> https://gist.github.com/xocoatzin/142b8e6dc744172b5de4 (modified with STL smart pointers, but it doesn't really mater)

xocoatzin avatar Jun 15 '15 23:06 xocoatzin

thanks for the gist, but there is are references in the headder files to: "../IOWrapper/OpenCV/WrapperTypes.h" which does not exist in the repository.

freshNfunky avatar Aug 28 '16 23:08 freshNfunky

Have any of you made anymore progress using LSD-SLAM without ROS? I can't get the point cloud to load without it apparently

jgranleese01 avatar Nov 11 '16 09:11 jgranleese01

I faced the same issue (with ROS Kinetic on an Ubuntu 16 machine). Note that the headers are generated at build time in the devel/include/lsd_slam_viewer directory via catkin's message_generation functionality.

This worked for me:

  • Copy the msg directory under lsd_slam_viewer, into lsd_slam_core.
  • Next we need to generate the two headers, one set each for lsd_slam_viewer and lsd_slam_core. We do this for the viewer by adding an additional line in lsd_slam_viewer/CMakelists.txt: add_dependencies(viewer lsd_slam_viewer_generate_messages_cpp) under the add_executable line for viewer. As for lsd_slam_core/CMakelists.txt it's a little more work: Add message_generation to the list of find_package(catkin REQUIRED COMPONENTS) Then add the lines add_message_files(DIRECTORY msg FILES keyframeMsg.msg keyframeGraphMsg.msg) generate_messages(DEPENDENCIES) above the generate_dynamic_reconfigure_options line. Then add the add_dependencies lines for the two executables, similar to the change made for lsd_slam_viewer, except in this case we specify lsd_slam_core_generate_messages
  • Lastly, replace all instances of lsd_slam_viewer in the IOWrapper/ROS/ROSOutput3DWrapper.cpp file with lsd_slam_core

Use my fork's lsd_slam_viewer/cmakelists.txt, lsd_slam_core/cmakelists.txt and ROSOutput3DWrapper.cpp for reference. Hope this helps!

ashish-nr avatar Oct 08 '18 05:10 ashish-nr

If you're using Ubuntu 16 + ROS Kinetic, please have a look at Kevin George's fork first. If just running catkin_make in your ros workspace doesn't work, check the installation steps for Ubuntu 16, described in the wiki, and the issues tab of the repo.

There have been multiple fixes for known problems under Ubuntu 16 included in this repository. So far, I think it is the best 'community-supported' LSD-SLAM fork.

I hope this can save you some time!

bespoke-code avatar Oct 08 '18 09:10 bespoke-code