lukasvst / dm-vio-ros

ROS wrapper for DM-VIO: Delayed Marginalization Visual-Inertial Odometry
GNU General Public License v3.0
111 stars 21 forks source link

Inconvenient borrowing from DSO #21

Closed cmakelabs closed 1 day ago

cmakelabs commented 4 days ago

While trying to build the ros-wrapper, as noticed that it requires folders and libraries used in dso, like IOWrapper and Sophos, so I cloned DSO, and copied the required folders and tried also to build the required libraries like Sophos, as I kept getting errors that they are not their, Could you please clarify is that the right way of doing things? Am I going in the way I am supposed to?

Here for example we can see, how the script main.cpp in dm-vio-ros, uses PangolinDSOViewer, however PangolinDSOViewer first, is not shipped with dm-vio-ros, and second despite that I took it from DSO repo, the one is DSO repo, takes 3 arguments, while the in dm-vio-ros, passes 5. There is clearly a need to have PangolinDSOViewer clearly defined and compatible, may you please comment on that? Screenshot from 2024-06-28 18-40-05

cmakelabs commented 4 days ago

One more, issue,

dm-vio-ros/src/main.cpp: In function ‘void run(dso::IOWrap::PangolinDSOViewer*)’:
/home/dmvio_ws/src/dm-vio-ros/src/main.cpp:201:41: error: ‘class dso::IOWrap::PangolinDSOViewer’ has no member named ‘shouldQuit’
  201 |         if(viewer != nullptr && viewer->shouldQuit())
lukasvst commented 2 days ago

You don't need to copy anything manually over from DSO, there's a dso folder inside dm-vio which contains all the relevant files. The issue you are getting is because some of the dso files have been changed for dm-vio so they don't match when you copy them over.

cmakelabs commented 1 day ago

Thank you, you are right!