thien94 / orb_slam3_ros

A ROS implementation of ORB_SLAM3
GNU General Public License v3.0
261 stars 81 forks source link

[orb_slam3-2] process has died #4

Open Cheng-Chih-Hung opened 1 year ago

Cheng-Chih-Hung commented 1 year ago

Hi~ I run the euroc_mono, tum_rgbd and those launch file and i get :

[orb_slam3-2] process has died [pid 2417, exit code -11, cmd /home/ace428/catkin_ws/devel/lib/orb_slam3_ros/ros_mono /camera/image_raw:=/cam0/image_raw __name:=orb_slam3 __log:=/home/ace428/.ros/log/fc4d4438-85bf-11ed-9c6d-f02f7455103d/orb_slam3-2.log]. log file: /home/ace428/.ros/log/fc4d4438-85bf-11ed-9c6d-f02f7455103d/orb_slam3-2*.log

I can run the ORB-SLAM3 with ROS success from 'https://github.com/UZ-SLAMLab/ORB_SLAM3' V1.0, but i'll need the ROS output of pose and map

Did I do some thing wrong? Thank you very much

############ Full Output ######## $ roslaunch orb_slam3_ros euroc_mono.launch ... logging to /home/ace428/.ros/log/fc4d4438-85bf-11ed-9c6d-f02f7455103d/roslaunch-ace428-System-Product-Name-2359.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ace428-System-Product-Name:39841/

SUMMARY

PARAMETERS

NODES / orb_slam3 (orb_slam3_ros/ros_mono) rviz (rviz/rviz) /orb_slam3_ros/ trajectory_server_orb_slam3 (hector_trajectory_server/hector_trajectory_server)

auto-starting new master process[master]: started with pid [2384] ROS_MASTER_URI=http://localhost:11311

setting /run_id to fc4d4438-85bf-11ed-9c6d-f02f7455103d process[rosout-1]: started with pid [2410] started core service [/rosout] process[orb_slam3-2]: started with pid [2417] process[rviz-3]: started with pid [2418] process[orb_slam3_ros/trajectory_server_orb_slam3-4]: started with pid [2419] [ INFO] [1672129514.430482407]: Waiting for tf transform data between frames /world and /camera to become available [ INFO] [1672129514.531219519]: rviz version 1.13.29 [ INFO] [1672129514.531258498]: compiled against Qt version 5.9.5 [ INFO] [1672129514.531269596]: compiled against OGRE version 1.9.0 (Ghadamon)

ORB-SLAM3 Copyright (C) 2017-2020 Carlos Campos, Richard Elvira, Juan J. Gómez, José M.M. Montiel and Juan D. Tardós, University of Zaragoza. ORB-SLAM2 Copyright (C) 2014-2016 Raúl Mur-Artal, José M.M. Montiel and Juan D. Tardós, University of Zaragoza. This program comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions. See LICENSE.txt.

Input sensor was set to: Monocular [ INFO] [1672129514.535178826]: Forcing OpenGl version 0. [orb_slam3-2] process has died [pid 2417, exit code -11, cmd /home/ace428/catkin_ws/devel/lib/orb_slam3_ros/ros_mono /camera/image_raw:=/cam0/image_raw __name:=orb_slam3 __log:=/home/ace428/.ros/log/fc4d4438-85bf-11ed-9c6d-f02f7455103d/orb_slam3-2.log]. log file: /home/ace428/.ros/log/fc4d4438-85bf-11ed-9c6d-f02f7455103d/orb_slam3-2*.log [ INFO] [1672129515.346225379]: Stereo is NOT SUPPORTED [ INFO] [1672129515.346273215]: OpenGL device: NVIDIA GeForce RTX 3090/PCIe/SSE2 [ INFO] [1672129515.346290483]: OpenGl version: 4.6 (GLSL 4.6). [ WARN] [1672129534.432550771]: No transform between frames /world and /camera available after 20.002048 seconds of waiting. This warning only prints once.

thien94 commented 1 year ago

Hi @Cheng-Chih-Hung , thanks for checking out the code.

At first glance, I can't really say what is the real issue. Can you try launching again with 1) enable_pangolin set to False, and 2) disable RViz by comment out this line?

Cheng-Chih-Hung commented 1 year ago

Hi @thien94 Thank you for reply me so fast I try to set the enable_pangolin to False and comment the Visualization, but the problem still there.

thien94 commented 1 year ago

If possible, can you open the log file (file name stated within the terminal output log file: /home/... and check for any error messages?

Alternatively, since you can use the standalone ORB-SLAM3 library fine, this wrapper can output the pose and map points https://github.com/thien94/orb_slam3_ros_wrapper. There are limitations though, which you can read more in the README.

Cheng-Chih-Hung commented 1 year ago

@thien94 I try to find out the log file the terminal show, but in the floder /home/ace428/.ros/log/fc4d4438-85bf-11ed-9c6d-f02f7455103d/ there's no orb_slam3-2.log.

And I try the orb_slam3_ros_wrapper https://github.com/thien94/orb_slam3_ros_wrapper, I can run the euroc_mono.launch and tum_rgbd.launch success, but I get the same error here when I try the euroc_monoimu, euroc_stereo, and euroc_stereoimu.

I think I have the same problem like this https://github.com/thien94/orb_slam3_ros_wrapper/issues/6#issuecomment-1299522167

thien94 commented 1 year ago

The error might be because of incompatible setting files, specifically voc_file and settings_file. My suggestion for now:

Cheng-Chih-Hung commented 1 year ago

@thien94 I do change the voc_file and settings_file to fit, but it still can't work. Can I ask what's you're success environmet(version of OpenCV, Boost, Eigen3, Pangolin...), I change some of the code of ORB_SLAM3 to match my environmet, will this be able to make the error ?

thien94 commented 1 year ago

Hi @Cheng-Chih-Hung , if you are familiar with Docker, I suggest following the instructions here to set it up https://github.com/thien94/orb_slam3_ros#docker Everything related to environment settings can be found inside. Hence, it would be quicker than me listing all the details.

Cheng-Chih-Hung commented 1 year ago

@thien94 Okay! Thank you very much : )

Tlalvani commented 1 year ago

Was this problem ever resolved? Running into the same error. Could it have something to do with the "Stereo is NOT SUPPORTED" line?

ergys00 commented 1 year ago

any update? I'm facing the same problem

thien94 commented 1 year ago

Hi @Tlalvani and @ergys00 , the problem seems to be system dependent as I couldn't replicate the issue on my computer. Have you tried using the docker method?

Could it have something to do with the "Stereo is NOT SUPPORTED" line?

This line is just a default message from ORB-SLAM3. So you can ignore it.

Cheng-Chih-Hung commented 1 year ago

Hi @Tlalvani @ergys00 I solved this problem by reinstall Ubuntu 20.04.5 LST, but there's still some problems on pangolin, so I disable it. Now it works fine with my ZED 2 camera. I also try with the docker, it works fine too.

ergys00 commented 1 year ago

I have to install it on ubuntu 18.04, the normal ros wrapper with standalone orbslam works fine but that one can't work, it always gives me "process had died" error. I can't try the docker solution because, as a base, i've to use a pre-written docker file with ubuntu 18.04 + ros melodic base version + opencv. ORBSLAM3 itself or the ros wrapper with the orbslam standalone version work well with that dockerfile.

JACKLiuDay commented 1 year ago

I have the same problem, my system is ubuntu 20.04, ros noetic, opencv4.2. image I just found my error. error while loading shared libraries: libpango_windowing.so: cannot open shared object file: No such file or directory

just use sudo ldconfig

ergys00 commented 1 year ago

By putting some prints in an there in the code i found out that the problem was caused by the line 70 in System.cc in the src folder of ORBSLAM3: "cv::FileStorage fsSettings(strSettingsFile.c_str(), cv::FileStorage::READ);" That line was giving "segmentation fault" error which was caused by the fact that cv-bridge that comes with ros melodic requires opencv 3.3 and the opencv version that i was using was 4.7. I solved the problem by installing a custom-made version of cv-bridge made for OpenCV 4. That's the question in stackoverflow that i followed to solve the problem: https://stackoverflow.com/questions/70127095/conflict-between-opencv-4-and-cv-bridge-in-ros-node

Tlalvani commented 1 year ago

@ergys00's fix resolved my issue as well :)

zhousteven commented 1 year ago

By putting some prints in an there in the code i found out that the problem was caused by the line 70 in System.cc in the src folder of ORBSLAM3: "cv::FileStorage fsSettings(strSettingsFile.c_str(), cv::FileStorage::READ);" That line was giving "segmentation fault" error which was caused by the fact that cv-bridge that comes with ros melodic requires opencv 3.3 and the opencv version that i was using was 4.7. I solved the problem by installing a custom-made version of cv-bridge made for OpenCV 4. That's the question in stackoverflow that i followed to solve the problem: https://stackoverflow.com/questions/70127095/conflict-between-opencv-4-and-cv-bridge-in-ros-node fix and resolved my issue as well

KhazixW2 commented 1 year ago

By putting some prints in an there in the code i found out that the problem was caused by the line 70 in System.cc in the src folder of ORBSLAM3: "cv::FileStorage fsSettings(strSettingsFile.c_str(), cv::FileStorage::READ);" That line was giving "segmentation fault" error which was caused by the fact that cv-bridge that comes with ros melodic requires opencv 3.3 and the opencv version that i was using was 4.7. I solved the problem by installing a custom-made version of cv-bridge made for OpenCV 4. That's the question in stackoverflow that i followed to solve the problem: https://stackoverflow.com/questions/70127095/conflict-between-opencv-4-and-cv-bridge-in-ros-node

hi, bro

i find a confilt that the method solve [orb_slam3 has died] problem ..

but i find a new problem..

when i make custom method to launch my cameras,, but it is [ camera1 has died]... because i have removed "ros-noetic-cv-bridge" and i install "vision-opencv" from source

fllow my error tip:

`ssz@ssz:~/workspace/catkin_ws_ORBSLAM3$ roslaunch usb_cam usb_cam_ssz.launch camera1_name:=camera1 camera2_name:=camera2 ... logging to /home/ssz/.ros/log/f30c8c9a-d51e-11ed-aaea-e77234514fc2/roslaunch-ssz-407096.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ssz:44739/

SUMMARY

PARAMETERS

NODES / camera1 (usb_cam/usb_cam_node) camera2 (usb_cam/usb_cam_node) image_view1 (image_view/image_view) image_view2 (image_view/image_view)

ROS_MASTER_URI=http://localhost:11311

process[camera1-1]: started with pid [407150] process[camera2-2]: started with pid [407151] process[image_view1-3]: started with pid [407152] process[image_view2-4]: started with pid [407153] [ INFO] [1680922889.988776389]: using default calibration URL [ INFO] [1680922889.989431493]: camera calibration URL: file:///home/ssz/.ros/camera_info/camera1.yaml [ INFO] [1680922889.989480831]: Unable to open camera calibration file [/home/ssz/.ros/camera_info/camera1.yaml] [ WARN] [1680922889.989495792]: Camera calibration file /home/ssz/.ros/camera_info/camera1.yaml not found. [ INFO] [1680922889.989512213]: Starting 'camera1' (/dev/video0) at 640x480 via mmap (mjpeg) at 30 FPS [ INFO] [1680922889.989842092]: using default calibration URL [ INFO] [1680922889.990189013]: camera calibration URL: file:///home/ssz/.ros/camera_info/camera2.yaml [ INFO] [1680922889.990223326]: Unable to open camera calibration file [/home/ssz/.ros/camera_info/camera2.yaml] [ WARN] [1680922889.990235559]: Camera calibration file /home/ssz/.ros/camera_info/camera2.yaml not found. [ INFO] [1680922889.990249560]: Starting 'camera2' (/dev/video2) at 640x480 via mmap (mjpeg) at 30 FPS [ INFO] [1680922890.183684051]: Initializing nodelet with 20 worker threads. [ INFO] [1680922890.185668864]: Initializing nodelet with 20 worker threads. [ INFO] [1680922891.570476700]: Using transport "raw" [ INFO] [1680922891.572644663]: Using transport "raw" [image_view2-4] process has died [pid 407153, exit code -11, cmd /opt/ros/noetic/lib/image_view/image_view image:=/camera2/image_raw name:=image_view2 log:=/home/ssz/.ros/log/f30c8c9a-d51e-11ed-aaea-e77234514fc2/image_view2-4.log]. log file: /home/ssz/.ros/log/f30c8c9a-d51e-11ed-aaea-e77234514fc2/image_view2-4*.log [image_view1-3] process has died [pid 407152, exit code -11, cmd /opt/ros/noetic/lib/image_view/image_view image:=/camera1/image_raw name:=image_view1 log:=/home/ssz/.ros/log/f30c8c9a-d51e-11ed-aaea-e77234514fc2/image_view1-3.log]. log file: /home/ssz/.ros/log/f30c8c9a-d51e-11ed-aaea-e77234514fc2/image_view1-3*.log ^C[camera2-2] killing on exit [camera1-1] killing on exit shutting down processing monitor... ... shutting down processing monitor complete done `

KhazixW2 commented 1 year ago

when i remove "image-view code" , it work find ..

mgrallos commented 1 year ago

sudo ldconfig

hi where do I command this? I have the same setup with yours

Ab-Tx commented 7 months ago

I had the same issue solved by cloning https://github.com/ros-perception/vision_opencv/tree/noetic (noetic branch) into the /src folder. The answer above is similar but clones a fork that gives me an issue with a "boost_python3" package.

git clone https://github.com/ros-perception/vision_opencv.git -b noetic

lvxiangyu11 commented 2 months ago

I have the same problem, but as regared to the upper said, "used the docker", so I remake this on docker, the docker images was provieded by @jahaniam https://github.com/jahaniam/orbslam3_docker on nvidia-docker, so fully fullied. Thanks Docker

我也遇到了相同的问题,就像上面有人说的一样,在docker上运行正常。所以我也在docker重试了这个,用的是现成的docker环境 https://github.com/jahaniam/orbslam3_docker,在有nvidia支持的docker上运行成功并且opengl显示其输出调用显卡。感谢Docker

wrmhehe commented 1 month ago

I had the same issue solved by cloning https://github.com/ros-perception/vision_opencv/tree/noetic (noetic branch) into the /src folder. The answer above is similar but clones a fork that gives me an issue with a "boost_python3" package.

git clone https://github.com/ros-perception/vision_opencv.git -b noetic

only useful comment, even though don't know why.