Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aborted (camera dumped ) #5

Open
EhrazImam opened this issue Nov 4, 2021 · 15 comments
Open

Aborted (camera dumped ) #5

EhrazImam opened this issue Nov 4, 2021 · 15 comments

Comments

@EhrazImam
Copy link

Hi @arjunskumar i followed all your steps when i am running it on D435i i am getting error

nord@enord:~$ rosrun vins vins_node /home/enord/catkin_ws/src/VINS-Fusion-gpu/config/realsense_d435i/realsense_stereo_imu_config.yaml
[ INFO] [1636006477.961505531]: init begins
config_file: /home/enord/catkin_ws/src/VINS-Fusion-gpu/config/realsense_d435i/realsense_stereo_imu_config.yaml
USE_IMU: 1
IMU_TOPIC: /camera/imu
result path /home/enord/output//vio.csv
[ WARN] [1636006478.010063908]: Optimize extrinsic param around initial guess!
camera number 2
[ INFO] [1636006478.021052687]: Unsynchronized sensors, online estimate time offset, initial td: 0
[ INFO] [1636006478.021248912]: ROW: 480 COL: 640
exitrinsic cam 0
-0.00575863 -0.00404633 0.999975
-0.999983 -0.00102246 -0.00576281
0.00104575 -0.999991 -0.00404037
0.0203293 0.00793252 0.00285598
exitrinsic cam 1
-0.00100218 0.000363135 0.999999
-0.999992 -0.00383034 -0.00100078
0.00382998 -0.999993 0.000366971
0.0152858 -0.0524358 0.00869313
set g 0 0 9.805
[ INFO] [1636006478.025506381]: reading paramerter of camera /home/enord/catkin_ws/src/VINS-Fusion-gpu/config/realsense_d435i/left.yaml
OpenCV(3.4.1) Error: Unknown error code -49 (Input file is empty) in cvOpenFileStorage, file /home/enord/opencv-3.4.1/modules/core/src/persistence_c.cpp, line 384
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(3.4.1) /home/enord/opencv-3.4.1/modules/core/src/persistence_c.cpp:384: error: (-49) Input file is empty in function cvOpenFileStorage

Aborted (core dumped)

as you already run it on d435i thankuh

@arjunskumar
Copy link
Owner

@EhrazImam I think this problem is related to the YAML file, please check YAML file is not corrupted

@EhrazImam
Copy link
Author

Hi @arjunskumar thanx for your quick reply
i solved it but how can i use d435i when i am running its to slow

@EhrazImam
Copy link
Author

enord@enord:~$ rosrun vins vins_node /home/enord/catkin_ws/src/VINS-Fusion-gpu/config/realsense_d435i/realsense_stereo_imu_config.yaml
[ INFO] [1636018928.744714982]: init begins
config_file: /home/enord/catkin_ws/src/VINS-Fusion-gpu/config/realsense_d435i/realsense_stereo_imu_config.yaml
USE_IMU: 1
IMU_TOPIC: /camera/imu
result path /home/enord/output//vio.csv
[ WARN] [1636018929.790541478]: Optimize extrinsic param around initial guess!
camera number 2
[ INFO] [1636018929.834734587]: Unsynchronized sensors, online estimate time offset, initial td: 0
[ INFO] [1636018929.834885147]: ROW: 480 COL: 640
exitrinsic cam 0
1 0 0
0 1 0
0 0 1
-0.00552 0.0051 0.01174
exitrinsic cam 1
1 0 0
0 1 0
0 0 1
0.0446571 0.0051 0.01174
set g 0 0 9.805
[ INFO] [1636018929.836644419]: reading paramerter of camera /home/enord/catkin_ws/src/VINS-Fusion-gpu/config/realsense_d435i/left.yaml
[ INFO] [1636018929.837479622]: reading paramerter of camera /home/enord/catkin_ws/src/VINS-Fusion-gpu/config/realsense_d435i/right.yaml
MULTIPLE_THREAD is 1
[ WARN] [1636018929.838289161]: waiting for image and imu...
OpenCV(3.4.1) Error: Gpu API call (invalid device symbol) in linearRow, file /home/enord/opencv-3.4.1/modules/cudafilters/src/cuda/row_filter.hpp, line 365
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(3.4.1) /home/enord/opencv-3.4.1/modules/cudafilters/src/cuda/row_filter.hpp:365: error: (-217) invalid device symbol in function linearRow

Aborted (core dumped)

@EhrazImam
Copy link
Author

can you share your yaml file through which you are using gpu
here is mine

%YAML:1.0

#common parameters
#support: 1 imu 1 cam; 1 imu 2 cam: 2 cam;
imu: 1
num_of_cam: 2

imu_topic: "/camera/imu"
image0_topic: "/camera/infra1/image_rect_raw"
image1_topic: "/camera/infra2/image_rect_raw"
output_path: "/home/enord/output/"

cam0_calib: "left.yaml"
cam1_calib: "right.yaml"
image_width: 640
image_height: 480

Extrinsic parameter between IMU and Camera.

estimate_extrinsic: 1 # 0 Have an accurate extrinsic parameters. We will trust the following imu^R_cam, imu^T_cam, don't change it.
# 1 Have an initial guess about extrinsic parameters. We will optimize around your initial guess.

body_T_cam0: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [ 1, 0, 0, -0.00552,
0, 1, 0, 0.0051,
0, 0, 1, 0.01174,
0, 0, 0, 1 ]

body_T_cam1: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [ 1, 0, 0, 0.0446571,
0, 1, 0, 0.0051,
0, 0, 1, 0.01174,
0, 0, 0, 1 ]

#Multiple thread support
multiple_thread: 1
#Gpu accleration support
use_gpu: 1
use_gpu_acc_flow: 1

#feature traker paprameters
max_cnt: 150 # max feature number in feature tracking
min_dist: 30 # min distance between two features
freq: 10 # frequence (Hz) of publish tracking result. At least 10Hz for good estimation. If set 0, the frequence will be same as raw image
F_threshold: 1.0 # ransac threshold (pixel)
show_track: 1 # publish tracking image as topic
flow_back: 1 # perform forward and backward optical flow to improve feature tracking accuracy

#optimization parameters
max_solver_time: 0.04 # max solver itration time (ms), to guarantee real time
max_num_iterations: 8 # max solver itrations, to guarantee real time
keyframe_parallax: 10.0 # keyframe selection threshold (pixel)

#imu parameters The more accurate parameters you provide, the better performance
acc_n: 0.1 # accelerometer measurement noise standard deviation. #0.2 0.04
gyr_n: 0.01 # gyroscope measurement noise standard deviation. #0.05 0.004
acc_w: 0.001 # accelerometer bias random work noise standard deviation. #0.002
gyr_w: 0.0001 # gyroscope bias random work noise standard deviation. #4.0e-5
g_norm: 9.805 # gravity magnitude

#unsynchronization parameters
estimate_td: 1 # online estimate time offset between camera and imu
td: 0.00 # initial value of time offset. unit: s. readed image clock + td = real image clock (IMU clock)

#loop closure parameters
load_previous_pose_graph: 0 # load and reuse previous pose graph; load from 'pose_graph_save_path'
pose_graph_save_path: "/home/enord/output/pose_graph/" # save and load path
save_image: 1 # save image in pose graph for visualization prupose; you can close this function by setting 0

@EhrazImam
Copy link
Author

ones i make it run using cpu its just gave me a photo and after that its stuck

@EhrazImam
Copy link
Author

EhrazImam commented Nov 6, 2021

I am trying to use vins fusion gpu on jetson xavier nx with D435i
when i am running it, after few seconds its stop working.
basically its crash and not showing up any error.

@arjunskumar
Copy link
Owner

@EhrazImam Hey I'm sorry, I dont have access to jetson platforms. Have you fixed the issue?

@z1047941150
Copy link

@EhrazImam Have you fixed the issue? I meet the same wrong.

@arjunskumar
Copy link
Owner

@z1047941150 can you check usb doesn't turn off in power saving mode

@z1047941150
Copy link

@arjunskumar
How to check it? I'm using 20w mode

@arjunskumar
Copy link
Owner

@z1047941150 add usbcore.autosuspend=-1 in extlinux.conf

@z1047941150
Copy link

@arjunskumar I kown the reason, when complied Opencv3.4.1. We should turn gpu_arch=7.2 if we used Jetson NX.

@JACKLiuDay
Copy link

@arjunskumar I kown the reason, when complied Opencv3.4.1. We should turn gpu_arch=7.2 if we used Jetson NX.

Hi, guy. I met the same problem with
OpenCV(3.4.1) Error: Gpu API call (invalid device symbol) in linearRow, file /home/tuboshu4/opencv-3.4.1/modules/cudafilters/src/cuda/row_filter.hpp, line 365
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(3.4.1) /home/tuboshu4/opencv-3.4.1/modules/cudafilters/src/cuda/row_filter.hpp:365: error: (-217) invalid device symbol in function linearRow

And I tried to complie opencv3.4.1 with -D CUDA_ARCH_BIN=7.2,and it did not work. It still show the same error. And my device is Nvidia NX with jetpack 4.4.1. cuda 10.2.89.

@Dellaldd
Copy link

@arjunskumar I kown the reason, when complied Opencv3.4.1. We should turn gpu_arch=7.2 if we used Jetson NX.

Hi, guy. I met the same problem with OpenCV(3.4.1) Error: Gpu API call (invalid device symbol) in linearRow, file /home/tuboshu4/opencv-3.4.1/modules/cudafilters/src/cuda/row_filter.hpp, line 365 terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(3.4.1) /home/tuboshu4/opencv-3.4.1/modules/cudafilters/src/cuda/row_filter.hpp:365: error: (-217) invalid device symbol in function linearRow

And I tried to complie opencv3.4.1 with -D CUDA_ARCH_BIN=7.2,and it did not work. It still show the same error. And my device is Nvidia NX with jetpack 4.4.1. cuda 10.2.89.

I met the same problem. Have you fixed the issue? Thank you for your help!

@jpark24
Copy link

jpark24 commented Apr 20, 2023

@Dellaldd I am not sure if it is the same problem, I am using Jetson nano which is different from Jetson NX. I resolved for the same issue with building opencv cuda_arch_bin=5.3,6.2,7.2 instead of just using cuda_arch_bin=6.2. It takes twice time lapse, but found it worked just fine. I am not sure it would be the solution for Jetson NX as well, but hope it helps a bit:)
https://developer.nvidia.com/cuda-gpus

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants