pjrambo / VINS-Fusion-gpu

This repository is a version of VINS-Fusion with gpu acceleration. It can run on the Nvidia TX2 in realtime
GNU General Public License v3.0
501 stars 134 forks source link

您好,感谢分享,我在TX2上用小觅深度相机有很高的延迟 #2

Closed pamzerbhu closed 4 years ago

pamzerbhu commented 5 years ago

`%YAML:1.0

common parameters

support: 1 imu 1 cam; 1 imu 2 cam: 2 cam;

imu: 1
num_of_cam: 2
imu_topic: "/mynteye/imu/data_raw" image0_topic: "/mynteye/left/image_raw" image1_topic: "/mynteye/right/image_raw" output_path: "/home/tong/output/"

cam0_calib: "left_mei.yaml" cam1_calib: "right_mei.yaml" image_width: 752 image_height: 480

Extrinsic parameter between IMU and Camera.

estimate_extrinsic: 0 # 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: [ 4.2812441490024389e-03, -9.9997001507473682e-01, -6.4528985710044385e-03, 5.2583356071589790e-05, 9.9996900935734523e-01, 4.2384270612576547e-03, 6.6344601088757426e-03, -4.2174706544162562e-02, -6.6069110351583190e-03, -6.4811023350536514e-03, 9.9995717110239080e-01, 1.9238715201769417e-02, 0., 0., 0., 1. ]

body_T_cam1: !!opencv-matrix rows: 4 cols: 4 dt: d data: [ 1.6525177162010074e-03, -9.9998509853672479e-01, -5.2030654132755290e-03, -2.9251875934051923e-03, 9.9994935393851081e-01, 1.6007594247438028e-03, 9.9361525360214843e-03, 7.4379061731550719e-02, -9.9276756168115085e-03, -5.2192215666013279e-03, 9.9993709851324453e-01, 1.9302672329335892e-02, 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.01 # accelerometer measurement noise standard deviation. #0.2 0.04 gyr_n: 0.001 # gyroscope measurement noise standard deviation. #0.05 0.004 acc_w: 0.0001 # accelerometer bias random work noise standard deviation. #0.02 gyr_w: 0.00001 # gyroscope bias random work noise standard deviation. #4.0e-5 g_norm: 9.8 # gravity magnitude

unsynchronization parameters

estimate_td: 0 # online estimate time offset between camera and imu td: 0.0 # 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/tony-ws1/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 ` 这是我的配置文件,开启了GPU加速但是似乎没有解决延迟问题,而且随着时间增长内存会爆掉。

pjrambo commented 5 years ago

@xuhao1 have tried mynteye. He can run this repo in real-time on TX2. According to his feedback, there are some issues with mynteye. You can ask him for some advice. Here are some suggestion from me:

  1. Make sure the data from the device is ok.(Whether the timestamp is sync?)
  2. Print the feature tracker and estimator time to check which part leads to the delay
  3. You'd better provide more details about your test.
xuhao1 commented 5 years ago

@pamzerbhu I think you just have not enable the super power mode sudo nvpmodel -m0 sudo ~/jetson_clock.sh

pamzerbhu commented 5 years ago

@xuhao1 have tried mynteye. He can run this repo in real-time on TX2. According to his feedback, there are some issues with mynteye. You can ask him for some advice. Here are some suggestion from me:

  1. Make sure the data from the device is ok.(Whether the timestamp is sync?)
  2. Print the feature tracker and estimator time to check which part leads to the delay
  3. You'd better provide more details about your test.

Thanks for your reply, my mynteye cam is D1000-50/Color,and I set launch with framerate=30 ,resolution=1280*480. when the vins works, CPU single thread has reached 150% It seems that cpu can't deal with so much frame that caused latency?

pamzerbhu commented 5 years ago

@pamzerbhu I think you just have not enable the super power mode sudo nvpmodel -m0 sudo ~/jetson_clock.sh

Thanks for your reply, this way has a little help, but with time go on it still out of mem

xuhao1 commented 5 years ago

@pamzerbhu Than reduce the framerate to 20hz and have a try