NVIDIA Jetson Xavier NX部署VINS-fusion-GPU

这篇具有很好参考价值的文章主要介绍了NVIDIA Jetson Xavier NX部署VINS-fusion-GPU。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

NVIDIA Jetson Xavier NX部署VINS-fusion-GPU

一、环境配置(Ubuntu 18.04)

1、Cuda 10.2的安装

sudo apt-get update
sudo apt-get install cuda-toolkit-10-2

安装好之后,在 .bashrc中配置环境变量。source之后,nvcc – version 即可查看cuda版本。

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda

2、Eigen(用ROS自带的也可以)

# Remove pre-built Eigen
 sudo apt-get remove libeigen3-dev 
cd ~/Downloads/
wget -O eigen.zip https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip #check version
unzip eigen.zip
mkdir eigen-build && cd eigen-build
cmake ../eigen-3.3.7/ && sudo make install
pkg-config --modversion eigen3 # Check Eigen Version

vins-fusion-gpu,ubuntu,linux,计算机视觉,动态规划,人工智能

3、Ceres solver

cd ~/Downloads/
sudo apt-get install -y cmake libgoogle-glog-dev libatlas-base-dev libsuitesparse-dev
wget http://ceres-solver.org/ceres-solver-1.14.0.tar.gz
tar zxf ceres-solver-1.14.0.tar.gz
mkdir ceres-bin
mkdir solver && cd ceres-bin
cmake ../ceres-solver-1.14.0 -DEXPORT_BUILD_DIR=ON -DCMAKE_INSTALL_PREFIX="../solver" 
 
  #good for build without being root privileged and at wanted directory
  
make -j3 # 6 : number of cores
make install
bin/simple_bundle_adjuster ../ceres-solver-1.14.0/data/problem-16-22106-pre.txt # to check version

vins-fusion-gpu,ubuntu,linux,计算机视觉,动态规划,人工智能

4、Opencv 安装

关于Opencv 的安装需要特别谨慎,不建议频繁删除以前的库,因为多个项目使用的版本可能不同,所以可以将常用的版本安装在/usr/local下,将其余版本安装在自己Download或者home下
如果需要删除原来的版本,执行以下命令:

# remove prebuilt opencv
sudo apt-get purge libopencv* python-opencv 
sudo apt-get update
sudo apt-get install -y build-essential pkg-config
 
## libeigen3-dev # recommend to build from source
 
sudo apt-get install -y cmake libavcodec-dev libavformat-dev libavutil-dev \
    libglew-dev libgtk2.0-dev libgtk-3-dev libjpeg-dev libpng-dev libpostproc-dev \
    libswscale-dev libtbb-dev libtiff5-dev libv4l-dev libxvidcore-dev \
    libx264-dev qt5-default zlib1g-dev libgl1 libglvnd-dev pkg-config \
    libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev mesa-utils     
 
sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy
# To fix OpenGL related compilation problems 
 cd /usr/lib/aarch64-linux-gnu/
sudo ln -sf libGL.so.1.0.0 libGL.so
sudo vim /usr/local/cuda/include/cuda_gl_interop.h
 # Comment (line #62~68) of cuda_gl_interop.h 
 //#if defined(__arm__) || defined(__aarch64__)
//#ifndef GL_VERSION
//#error Please include the appropriate gl headers before including cuda_gl_interop.h
//#endif
//#else
 #include <GL/gl.h>
//#endif

安装新的版本(因为VINS-FUSION-GPU版本需要支持CUda的OpenCV,所以选择3.4.1版本)
Then once linking is done, go to Downloads to begin opencv installation

cd ~/Downloads/
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.1.zip # check version
unzip opencv.zip
cd opencv-3.4.1/ && mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \     #这里的/usr/local可以换成自己的安装路径,到时候在Cmakelist里设置自己设置的路径即可。
        -D WITH_CUDA=ON \
        -D CUDA_ARCH_BIN=7.2 \     #对于NX和AGX,选7.2,Nano,TX2选6.2 
        -D CUDA_ARCH_PTX="" \
        -D ENABLE_FAST_MATH=ON \
        -D CUDA_FAST_MATH=ON \
        -D WITH_CUBLAS=ON \
        -D WITH_LIBV4L=ON \
        -D WITH_GSTREAMER=ON \
        -D WITH_GSTREAMER_0_10=OFF \
        -D WITH_QT=ON \
        -D WITH_OPENGL=ON \
        -D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr" \
        -D WITH_TBB=ON \
         ../
make  # running in single core is good to resolve the compilation issues         
sudo make install
cd ../../ && sudo rm -rf opencv-3.4.1 # optional (can save 10GB Disk Space)
pkg-config --modversion opencv # Check opencv Version

vins-fusion-gpu,ubuntu,linux,计算机视觉,动态规划,人工智能
OpenCV 在NX上的安装比较慢,差不多需要1个小时。OpenCV安装好以后,需要进一步编译CV-Bridge( cv_bridge是在ROS图像消息和OpenCV图像之间进行转换的一个功能包)。

5、CV-Bridge的编译

CV-Bridge的安装需要下载对应的版本,由于NX 是基于Ubuntu 18.04的ARM系统,因此下载melodic版本的CV-Bridge。首先,通过以下连接进入下载页面:

https://github.com/ros-perception/vision_opencv

如图所示:
vins-fusion-gpu,ubuntu,linux,计算机视觉,动态规划,人工智能

# 选择下载melodic版本到catkin_ws/src目录下,
gedit vision_opencv/cv_bridge/CMakeLists.txt
# Edit OpenCV PATHS in CMakeLists and include cmake file
# /usr/local/share/OpenCV 选择自己安装的OpenCV对应路径
find_package(OpenCV 3 REQUIRED PATHS /usr/local/share/OpenCV NO_DEFAULT_PATH 
  COMPONENTS
    opencv_core
    opencv_imgproc
    opencv_imgcodecs
  CONFIG
)
include(/usr/local/share/OpenCV/OpenCVConfig.cmake)  #under catkin_python_setup()
# Save and close CMakeLists
#  Build the package
cd .. && catkin_make

二、Vins-Fusion GPU编译安装

1、Vins-Fusion GPU

cd ~/catkin_ws/src && git clone https://github.com/pjrambo/VINS-Fusion-gpu #GPU

sudo apt-get install ros-melodic-tf
sudo apt-get install ros-melodic-image-transport
sudo apt-get install ros-melodic-rviz

# Edit CMakeLists.txt for loop_fusion and vins_estimator
cd ~/catkin_ws/src/VINS-Fusion-gpu/loop_fusion && gedit CMakeLists.txt

##For loop_fusion : line 19
#find_package(OpenCV)
# /usr/local/share/OpenCV/ OpenCVConfig.cmake 选择自己安装的OpenCV对应路径
include(/usr/local/share/OpenCV/OpenCVConfig.cmake)

cd ~/catkin_ws/src/VINS-Fusion-gpu/vins_estimator && gedit CMakeLists.txt

##For vins_estimator : line 20
#find_package(OpenCV REQUIRED)
# /usr/local/share/OpenCV/ OpenCVConfig.cmake 选择自己安装的OpenCV对应路径
include(/usr/local/share/OpenCV/OpenCVConfig.cmake)

cd ~/catkin_ws/
source devel/setup.bash
catkin_make

2、数据测试。

2.1公开数据集测试【以EuRoC(Stereo cameras + IMU)为例】

 roslaunch vins vins_rviz.launch
    rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml 
    (optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml 
rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag

数据可以通过一下链接下载到:

http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets
如果下载慢的话,也可以通过以下连接获取

KITTI
链接: https://pan.baidu.com/s/1UIoP1TgGLLWWpKYVrre9WA 密码: dbsb
EuRoC
链接: https://pan.baidu.com/s/1zvxyN1KlIk28_LvC36WU5Q 密码: f1rv
shapenet
链接: https://pan.baidu.com/s/1pdRk3FOxRe5YRBVGP0ACJw 密码: 4knl
TUM
链接: https://pan.baidu.com/s/1GFy8MZmH4TZGakzGWudyhQ 密码: ptga
数据来源原文链接:https://blog.csdn.net/weixin_43828675/article/details/117049952(感谢嚣张的叉烧包同志)

2.2 测试自己的设备(D435i+阿木P450)

在配置参数文件中加入以下参数,使得GPU起作用
vins-fusion-gpu,ubuntu,linux,计算机视觉,动态规划,人工智能

In the config file, there are two parameters for gpu acceleration.
use_gpu: 0 for off, 1 for on
use_gpu_acc_flow: 0 for off, 1 for on
If your GPU resources is limitted or you want to use GPU for other computaion. You can set
use_gpu: 1
use_gpu_acc_flow: 0
If your other application do not require much GPU resources, I recommanded you to set
use_gpu: 1
use_gpu_acc_flow: 1

vins-fusion-gpu,ubuntu,linux,计算机视觉,动态规划,人工智能
IMU和相机外参标定可以通过VINS实时在线标定或者使用Kalibr工具包进行标定,相关资料比多了,不再赘述。

下期给各位铁子们汇报在阿木实验室P450上部署VINS+Prometheus+Ggo-Planner的工作。

文献参考

1、无人机自主导航(ARM架构的vins-fusion-GPU部署)

https://blog.csdn.net/weixin_45600405/article/details/125249964?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EESLANDING%7Edefault-3-125249964-blog-119830683.pc_relevant_landingrelevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EESLANDING%7Edefault-3-125249964-blog-119830683.pc_relevant_landingrelevant&utm_relevant_index=4

2、安装环境OpenCV

https://github.com/arjunskumar/vins-fusion-gpu-tx2-nano

3、调内外参数

https://www.bilibili.com/video/BV1WZ4y167me?p=11&vd_source=1682913523e03074db0225c9475c4c71

4、技术分享 | 带你具体部署VINS_FUSION_GPU版本文章来源地址https://www.toymoban.com/news/detail-812038.html

https://mp.weixin.qq.com/s/FaE05W2vAvHCZc7R39M7Pw

到了这里,关于NVIDIA Jetson Xavier NX部署VINS-fusion-GPU的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jetson Xavier NX 备份与烧录固态系统

    目录 1  需要的硬件 2  需要安装在ubuntu上的软件 2.1  安装gparted 2.2  安装nvidia官方烧录包 2.2.1  下载 2.2.2  配置 3  备份系统 4  烧入系统 5  我遇到过的问题 5.1  烧录过程中卡在某个地方不动 5.2  Fail to verify Stage25ignature SHA2 像是 nx,nx附带的固态硬盘,显示器 这些

    2024年02月10日
    浏览(38)
  • Jetson Xavier NX编译OpenCV(with cuda)

    Jetson Xavier NX默认安装的OpenCV 4.5.4(不带cuda),因项目要求OpenCV使用cuda作加速,因此,须重新编译OpenCV。这里为了方便直接在目标机上面编译,避免复杂的环境及依赖。 下载地址: OpenCV · GitHub 我这里下载opencv-4.5.4,opencv_contrib-4.5.4,下载后并解压。 查看是否卸载: libs: versi

    2024年02月11日
    浏览(35)
  • Jetson开发实战记录(二):Jetson Xavier NX版本区别以及烧录系统

    同系列链接: Jetson开发实战记录(一):Jetson家族的基本介绍 Jetson开发实战记录(二):Jetson Xavier NX版本区别以及烧录系统 Jetson开发实战记录(三):Jetson Xavier NX具体开发(Ubuntu18.04系统) 在上一篇文章:Jetson开发实战记录(一):Jetson家族的基本介绍中,已经对Jetson家族

    2023年04月08日
    浏览(44)
  • Jetson xavier nx 设置最大 CPU 和 GPU 频率

    查看cpu使用情况,终端输入 然后如果看到有cpu没有打开,根据cpu的序号,终端输入 注意这里的序号是从 0 开始算的。  如果出现报错 Permission denied,则进入超级用户权限,然后再输入上面命令即可,终端输入 进入超级用户权限,然后重复上面的步骤!GPU 调频同理。 Jetson 开

    2024年02月15日
    浏览(36)
  • Jetson NX Xavier 编译opencv4.4(cuda版)

    大部分人在解决问题的时候,百度输入的不够准确,展示出来的页面多数是跟自己用的系统版本不一致,导致安装失败。这点对于新手来说特别要注意,正如,你刚好看到我的文章,我希望你能在搜索时用 硬件 + 系统 + 要解决的问题 格式,说不定能提高你的检索效率

    2024年02月13日
    浏览(49)
  • J-002 Jetson电路设计之电源设计--NANO && XAVIER NX

    Jetson NANO和XAVIER NX核心板的电源为DC-5V。 PIN 名称 描述 方向 类型 251-260 VDD_IN 主电源 输入 5.0V 235 PMIC_BBAT RTC时钟,板载工作期间,内部会断开连接 双向 1.65V-5.5V 214 FORCE_RECOVERY* 系统恢复按键,下载程序是按下 输入 1.8V 240 SLEEP/WAKE* 控制系统的休眠模式 输入 5V 233 SHUTDOWN_REQ* 关机

    2023年04月08日
    浏览(41)
  • J-004 Jetson电路设计之HDMI设计--NANO && XAVIER NX

    NANO XAVIER NX提供一路HDMI接口,DP接口与HDMI是兼容的,可用于扩展一路HDMI。其中引脚说明: PIN 名称 描述 方向 类型 63 HDMI_DP_TXDN0 DisplayPort 1 Lane 0 or HDMI Lane 2 输出 HDMI/DP 65 HDMI_DP_TXDP0 DisplayPort 1 Lane 0 or HDMI Lane 2 输出 HDMI/DP 69 HDMI_DP_TXDN1 DisplayPort or HDMI Lane 1 输出 HDMI/DP 71 HDMI_DP_TXDP1

    2024年02月09日
    浏览(46)
  • 使用SDK Manager对Jetson Xavier NX(eMMC)刷机的过程

    本文介绍如何使用SDK Manager对NVIDIA Xavier NX(eMMC)刷机。 使用SDK Manager刷机,要先在一个带有Linux系统的主机上安装该工具包,然后使用数据线连接NX设备,之后烧录Jetson Linux(NX的操作系统)和Jetson SDK Components(CUDA、Computer Vision等组件)。SDK Manager是一个工具包,相关信息参考官网NV

    2024年02月16日
    浏览(36)
  • Jetson Xavier NX 上查看CUDA、Cudnn、Tensorrt、Opencv的版本及配置信息

    以上功能都可以通过jtop实现,下面是如何安装jtop: 启动后界面如下,可以查看到开发板资源使用情况,接着 点击info 如果安装成功,可以查看到 CUDA、cuDNN、opencv和TensorRT等版本信息 注意!如果是Jetpack5.0.0以上版本可能会看不到很多信息,因为稳定版本不支持,需要安装最新

    2024年02月15日
    浏览(89)
  • Jetson Xavier NX配置全过程——D435i和T265驱动安装(三)

    Jetson Xavier NX配置全过程——系统与SDK烧录(一) Jetson Xavier NX配置全过程——安装OpenCV4.5.3(二) Jetson Xavier NX配置全过程——D435i驱动安装(三) 目录 一、安装RealSense SDK 1、RealSense SDK源码下载  2、安装依赖库 3、编译与安装 二、安装pyrealsense2 三、安装Realsense_ros 因为课题需

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包