suchetanrs / ORB-SLAM3-ROS2-Docker

This repository contains a full wrapper class for running ORB-SLAM3 on a docker container with ROS2 Humble with Ubuntu 22.04.
116 stars 19 forks source link

ros2 run error #2

Closed oalikorkmaz closed 3 months ago

oalikorkmaz commented 3 months ago

Hello,

I followed the steps and got as far as running but when I run ros2 launch orb_slam3_ros2_wrapper with unirobot.launch.py I get the following error

[INFO] [launch]: All log files can be found below /root/.ros/log/2024-03-20-10-30-19-498424-onurpc-1049 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [rgbd-1]: process started with pid [1050] [ERROR] [rgbd-1]: process has died [pid 1050, exit code 127, cmd '/root/colcon_ws/install/orb_slam3_ros2_wrapper/lib/orb_slam3_ros2_wrapper/rgbd /home/orb/ORB_SLAM3/Vocabulary/ORBvoc.txt /root/colcon_ws/src/orb_slam3_ros2_wrapper/params/scout_v2_rgbd.yaml --ros-args -r __ns:=/scout_2 --params-file /tmp/tmp896xhlqk']. [rgbd-1] /root/colcon_ws/install/orb_slam3_ros2_wrapper/lib/orb_slam3_ros2_wrapper/rgbd: error while loading shared libraries: libORB_SLAM3.so: cannot open shared object file: No such file or directory

suchetanrs commented 3 months ago

Hello,

Please run the following command cd /home/orb/ORB_SLAM3/ and then run ./build.sh Currently the ORB-SLAM3 builds using 6 cores. If your computer crashes then please consider reducing the number of cores by changing the number in make -j6 in build.sh file.

After this, build the ros2 workspace using colcon build and run after sourcing this workspace.

Please let me know if this works. If it does, I will update the README to include this.

oalikorkmaz commented 3 months ago

First of all, thank you for answering my question. I ran ./build.shand this time I got a different error, you can see my error below. I am working on this now. And my computer has 4 cores so I did what you said and changed it to make -j4



Install the project...
-- Install configuration: "Release"
CMake Error at cmake_install.cmake:58 (file):
  file cannot create directory: /usr/local/share/sophus/cmake.  Maybe need
  administrative privileges.

make: *** [Makefile:110: install] Error 1
Uncompress vocabulary ...
Configuring and building ORB_SLAM3 ...
mkdir: cannot create directory ‘build’: File exists
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

Build type: Release
-- Using flag -std=c++14.
OPENCV VERSION:
4.5.4
CMake Error at CMakeLists.txt:42 (find_package):
  By not providing "FindPangolin.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Pangolin",
  but CMake did not find one.

  Could not find a package configuration file provided by "Pangolin" with any
  of the following names:

    PangolinConfig.cmake
    pangolin-config.cmake

  Add the installation prefix of "Pangolin" to CMAKE_PREFIX_PATH or set
  "Pangolin_DIR" to a directory containing one of the above files.  If
  "Pangolin" provides a separate development package or SDK, be sure it has
  been installed.

-- Configuring incomplete, errors occurred!
See also "/home/onurpc/ORB-SLAM3-ROS2-Docker/ORB_SLAM3/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found.  Stop.

``` `
oalikorkmaz commented 3 months ago

I solved the Pangolin error by doing the steps in this link and built it, then I went to my workspace as you said and first colcon build then ros2 launch orb_slam3_ros2_wrapper with unirobot.launch.py but I got the same error again.

suchetanrs commented 3 months ago

I believe Pangolin should be installed directly from the Dockerfile. Also, cmake should be able to find it since we do make install in the dockerfile itself. Did your image get built correctly? The dockerfile also builds ORB-SLAM3 first before completing the docker build. If this completed successfully, then ideally the error you raised here https://github.com/suchetanrs/ORB-SLAM3-ROS2-Docker/issues/2#issue-2196856850 shouldn't show up in the first place. Please try building the image again and let me know of any error logs in the docker build if they pop up.

oalikorkmaz commented 3 months ago

Hello, sorry for the delay. As you said, there was a problem with the image. I deleted and redid it and it opened. Thank you very much for your help and answers

suchetanrs commented 3 months ago

You're welcome! @oalikorkmaz Hope this is useful to you!