engcang / vins-application

VINS-Fusion, VINS-Fisheye, OpenVINS, EnVIO, ROVIO, S-MSCKF, ORB-SLAM2, NVIDIA Elbrus application of different sets of cameras and imu on different board including desktop and Jetson boards
BSD 3-Clause "New" or "Revised" License
495 stars 87 forks source link

VINS-Fusion CPU on Xavier NX #3

Closed robin-shaun closed 3 years ago

robin-shaun commented 3 years ago

Hello, thanks for the detailed test and manual for VINS application. I see that you test VINS-Fusion GPU on Xavier NX, and do you test VINS-Fusion CPU? I tested it but it seems that NX CPU cannot supply enough computational consumption.

engcang commented 3 years ago

@robin-shaun Hi. Sorry for late reply. I do not know why I am not getting any notification for issues. Anyway, Yeah I tested VINS-Fusion GPU and CPU on Xavier NX.

As you said, it showed really slow computation around only 4~8 Hz. Both for GPU and CPU. I think you should try VINS-Fisheye from the same authors group, which utilizes CUDA from Jetson boards.

Please refer here and I am also gonna test it and update this repo including the manual for it.

robin-shaun commented 3 years ago

@engcang Hello, I tested VINS-Fusion on NX. It shows that the speed of VINS-Fusion-GPU is almost the same as the origin VINS-Fusion(7~8Hz). Maybe because I use opencv with cuda on for the origin VINS-Fusion. But for normal UAV flight, this is enough.

engcang commented 3 years ago

@robin-shaun Good to hear that it is enough for you. But note that since VINS-Fusion stores the image input into queue and then process them when CPU is available, which means slower Hz than image input could result in delay for the pose estimation.

robin-shaun commented 3 years ago

Yeah, so it's necessary to set a relatively high delay for vision pose in PX4 parameters.