在jetson xavier nx上配置orbslam3,带稠密重建

2023-05-16

这里写自定义目录标题

  • 主要记录一下踩过的各种坑,包括从配置开发板系统到配置orbslam3一条龙服务,带cuda加速的opencv3.4.5
    • 开发板刷系统
    • 将系统移植到M.2硬盘上
    • Sdkmanager安装cuda、cudnn和opencv(自带的opencv是不支持粗大加速的哟)
    • 下载nomachine软件,方便远程控制(因为我只有一套鼠键,x来x去很麻烦(狗头))
    • 安装jetson风扇控制软件
    • 安装ros
    • 安装带cuda加速的opencv3.4.5
      • 用opencv3.4.5编译cv_bridge
    • 安装realsense sdk和realsenseros
    • 十、安装pangolin0.5 eigen3.3.7 pcl1.8.1
    • 编译orbslam3
    • 提取开发板镜像备份

主要记录一下踩过的各种坑,包括从配置开发板系统到配置orbslam3一条龙服务,带cuda加速的opencv3.4.5

开发板:jetson xavier nx(8+128g)
系统环境:jetpack4.6.2、cuda10.2、cudnn8.2

上图!!!在这里插入图片描述

开发板刷系统

这里要在ubuntu主机(电脑)上安装sdkmanager软件来给开发板刷机,这里本人用的虚拟机:

  1. 开发板断电,usb连接ubuntu虚拟机;
  2. 短接开发板的GND和FC/REC进入recovery模式(注意刷系统过程中要保持短接);
  3. 开发板上电,正常情况下上电会开机,而进入recovery模式则不会开机;
  4. 选择相应的刷机包,这里我使用的是4.6.2;
    注意:刷系统镜像完成后,开发板会重启,此时需要开机解锁后才能继续安装cuda,opencv包
    上图!!!
    在这里插入图片描述

将系统移植到M.2硬盘上

开发板出厂带16g内存,但是不够用,可以将系统移植到固态硬盘上。
1.打开开发板自带的disks软件
在这里插入图片描述
2.格式化硬盘(右上角 format disk)
在这里插入图片描述
3.以下盗图
在这里插入图片描述
4.命名随意
在这里插入图片描述
5.完成后点击(类似播放的按钮),将其挂载
在这里插入图片描述
6.正儿八经的重点来了(打开终端先冲3行指令)
git clone https://github.com/jetsonhacks/rootOnNVMe.git
cd rootOnNVMe
./copy-rootfs-ssd.sh
#然后再执行
./setup-service.sh
#最后重启完事
reboot

Sdkmanager安装cuda、cudnn和opencv(自带的opencv是不支持粗大加速的哟)

在这里插入图片描述
安装要很久。。。。。。(最好把开发板的锁屏和睡眠关掉,不然锁了就会失败,很惨!)
在这里插入图片描述

下载nomachine软件,方便远程控制(因为我只有一套鼠键,x来x去很麻烦(狗头))

等安装好上面的,再在nomachine官网下载armv8版本的,https://www.nomachine.com/
指令安装(这里***表示下载的deb全名):sudo dpkg -i ***

你还可以设置开机不输入密码就进入系统,以后就不用重启后还要插上鼠键输密码
在这里插入图片描述
在这里插入图片描述
你还可以设置固定ip,详情百度。

安装jetson风扇控制软件

sudo apt-get install python3-pip
sudo pip3 install jetson-stats
#打开软件:
sudo jtop

在6info中,通过键盘的p和m键调节风扇大小

安装ros

自己没安装成功过,还好有大佬一键安装。
终端执行:
wget http://fishros.com/install -O fishros && . fishros
参考:一键安装(又省了30块钱)

安装带cuda加速的opencv3.4.5

1、卸载系统自带的opencv
sudo apt-get purge libopencv*
sudo apt-get purge python-numpy
sudo apt-get update
sudo apt-get dist-upgrade
2、将gcc、g++更新到最新版本
sudo apt-get install --only-upgrade g+±5 cpp-5 gcc-5
3、安装Jetson Xavier NX 中opencv依赖项
sudo apt-get install build-essential make cmake cmake-curses-gui g++ libavformat-dev libavutil-dev libswscale-dev libv4l-dev libeigen3-dev libglew-dev libgtk2.0-dev
sudo apt-get install libdc1394-22-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libjpeg8-dev libjpeg-turbo8-dev libtiff5-dev libjasper-dev libpng12-dev libavcodec-dev
sudo apt-get install libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran
sudo apt-get install libopenblas-dev liblapack-dev liblapacke-dev
sudo apt-get install qt5-default
注意:哪个无法定位就百度搜索安装方式
4、安装python3的依赖项
sudo apt-get install python3-dev python3-pip python3-tk
sudo pip3 install numpy
sudo pip3 install matplotlib
sudo apt-get install python3-numpy
sudo apt-get install python3-matplotlib
5、安装python2的依赖项
sudo apt-get install python-dev python-pip python-tk
sudo pip2 install numpy
sudo pip2 install matplotlib
6、cuda部分源码的修改
sudo gedit /usr/local/cuda/include/cuda_gl_interop.h
在这里插入图片描述
7、编译:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local
-D WITH_CUDA=ON -D CUDA_ARCH_BIN=“7.2” -D CUDA_ARCH_PTX=“”
-D WITH_CUBLAS=ON -D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON
-D ENABLE_NEON=ON -D WITH_LIBV4L=ON -D BUILD_TESTS=OFF
-D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF
-D WITH_QT=ON -D WITH_OPENGL=ON …
这个时候出现错误:
*** No rule to make target ‘/文件路径/文件名’,needed by ‘/文件路径/文件名’. Stop
报错信息提示在路径/usr/lib/aarch64-linux-gnu/下面找不到libGL.so文件。解决方案如下:

在终端中打开/usr/lib/aarch64-linux-gnu/路径,查找libGL 相关文件。如果文件夹中本身已经有libGL.so文件的话,就cd进入到/usr/lib/x86_64-linux-gnu路径下执行以下指令,删除该文件。
执行指令:locate libGL.so
若报错:-bash: locate: command not found
执行指令:sudo apt-get install mlocate
若报错:locate: can not stat () `/var/lib/mlocate/mlocate.db’: No such file or directory
执行指令:locate libGL.so

执行:
sudo rm libGL.so
sudo ln -s /usr/lib/aarch64-linux-gnu/libGL.so.1 /usr/lib/aarch64-linux-gnu/libGL.so
重新编译安装:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local
-D WITH_CUDA=ON -D CUDA_ARCH_BIN=“7.2” -D CUDA_ARCH_PTX=“”
-D WITH_CUBLAS=ON -D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON
-D ENABLE_NEON=ON -D WITH_LIBV4L=ON -D BUILD_TESTS=OFF
-D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF
-D WITH_QT=ON -D WITH_OPENGL=ON …
make
sudo make install
参考1
参考2
参考3

用opencv3.4.5编译cv_bridge

1、卸载ros带的cv_bridge
sudo apt remove ros-melodic-cv-bridge
2、编译cv_bridge
mkdir catkin_workspace
cd catkin_workspace
catkin init
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.6m.so
catkin config --install
git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv
apt-cache show ros-kinetic-cv-bridge | grep Version
#Version: 1.12.8-0xenial-20180416-143935-0800
cd src/vision_opencv/
git checkout 1.12.8
cd …/…/
catkin build cv_bridge
source install/setup.bash --extend
#链接自己编译的cv_bridge位置:
vim ~/.bashrc
source /home/nvidia/catkin_workspace/install/setup.bash --extend

测试:
pkg-config --modversion cv_bridge
显示安装的1.12.8表示成功

安装realsense sdk和realsenseros

realsense sdk参考:https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md
RealsenseRose参考:(先安装:sudo apt-get install ros-melodic-ddynamic-reconfigure)
https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy

十、安装pangolin0.5 eigen3.3.7 pcl1.8.1

pangolin0.5和 eigen3.3.7一样
先解压进入执行以下指令:
mkdir build
cd build
cmake …
Sudo make install

安装Pcl:
依赖库:
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre
########这是有cuda的安装流程##########
参考:https://blog.csdn.net/qq_41323996/article/details/109622369
cd pcl
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr …
make -j$(nproc)
sudo make install

编译orbslam3

编译时内存不够,所以首先要扩展内存(扩10g吧,参考是1g的):https://blog.csdn.net/qq_42281215/article/details/108600517
改成:sudo dd if=/dev/zero of=/swapfile bs=64M count=160

编译时出现cv_bridge错误,执行指令:sudo apt install ros-melodic-cv-bridge就好了,明明自己编译了cv_bridge,然后编译又识别不出来,还得安装ros下的cv_bridge,最后编译orbslam还能用,搞不清楚具体原因,反正能用。

补充:第二次弄的时候还是这个问题,后来通过在manifest.xml中去掉cv_bridge引用,然后在cmakelist里加入找cv_bridge的库就解决了
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

其他的都是可以搜到的流程了。
实际跑延迟有点高,不知道咋回事,有大佬可以解答一下
在这里插入图片描述

提取开发板镜像备份

因为编译刷机加上opencv和pcl太费时间了,所以干脆备份系统镜像,下次直接烧
参考:https://blog.csdn.net/qq_41994173/article/details/127586490

效果图:
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在jetson xavier nx上配置orbslam3,带稠密重建 的相关文章

随机推荐

  • STlink、Jlink驱动一直安装失败的解决办法

    STlink Jlink驱动一直安装失败的解决办法 STlink驱动安装失败问题详情 Jlink驱动安装的问题也类似 xff0c 总是有一项安装失败 xff01 xff01 xff01 在经过各种尝试完毕之后 xff0c 怀疑是系统的问题
  • 数据可视化--实验四:地理数据可视化

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 文章目录 概要实验过程Pyecharts实验结果 概要 学院 xff1a 计算机科学与技术学院实验日期 xff1a 2020 10
  • 课设-基于51单片机的智能小车(循迹+避障+APP控制)

    51单片机课设 智能小车 一 课设任务二 硬件设计及相关传感器模块1 车模2 51单片机3 红外循迹模块4 电机及驱动5 蓝牙模块6 硬件搭建 三 程序代码1 main c文件2 motor c文件 四 我的大学 造车 史 注 xff1a
  • 课设-基于51单片机+超声波模块的避障小车(源码+原理图+Protel仿真)

    基于51单片机 43 超声波模块的避障小车 xff08 源码 43 原理图 43 Protel仿真 xff09 一 功能二 模块2 1 电机驱动模块2 2 超声波模块 三 程序代码四 PCB原理图 一 功能 设计一辆利用超声波传感器来实现避
  • 路径规划(一):使用Matlab快速绘制栅格地图

    目录 一 Matlab快速绘制栅格地图1 几种常用的地图形式 xff1a 1 1 尺度地图 xff1a 1 2 拓扑地图 xff1a 1 3 语义地图 xff1a 2 栅格地图用于路径规划的优势 xff1a 3 matlab绘制栅格地图的核
  • 2、无人驾驶--路径规划算法:Dijkstra

    目录 2 Dijkstra2 1 算法简介2 2 算法思路具体流程 xff1a 2 3 算法具体实现2 3 1 程序详解 2 Dijkstra 声明 xff1a 本文是学习古月居 基于栅格地图的机器人路径规划算法指南 黎万洪 后写的笔记 x
  • 毕设--基于51单片机的温度报警器设计

    目录 1 简介2 设计要求与方案论证2 1 设计要求2 2 系统基本方案选择和论证2 2 1 单片机芯片的选择方案和论证2 2 2 温度传感器设计方案论证 2 3 电路设计最终方案决定 3 硬件设计介绍3 1 STC89C51介绍3 1 1
  • 基于51单片机的篮球比赛计时器

    目录 基于51单片机的篮球比赛计时器1 PCB原理图2 仿真图3 毕设要求 xff1a 4 总体方案设计5 程序源码6 资源下载 基于51单片机的篮球比赛计时器 注 xff1a 本毕设资源可在微信公众号 xff1a Kevin的学习站 中获
  • 毕设--基于51单片机数字电压表的设计

    目录 基于51单片机数字电压表的设计1 PCB原理图2 Proteus 仿真图3 设计目标3 1 基本功能3 2 主要技术参数 4 总设计框图5 硬件设计分析5 1 电源的设计5 2 单片机最小系统5 3 模数转换 6 软件设计的组成7 元
  • 基于51单片机的智能温控风扇(程序+仿真+原理图)

    目录 基于51单片机的智能温控风扇1 主要功能2 实验结果3 仿真工程4 原理图5 程序源码6 资源获取 基于51单片机的智能温控风扇 1 主要功能 基于51单片机的智能温控风扇 xff0c 通过DS180温度传感器采集温度 xff0c 并
  • 基于51单片机的八路竞赛抢答器设计

    目录 基于51单片机的八路抢答器设计1 主要功能2 仿真图3 测试图4 程序源码5 资源获取 基于51单片机的八路抢答器设计 1 主要功能 利用STC89C52单片机及外围接口实现的抢答系统 xff1b 在抢答过程中 xff0c 只有启动抢
  • 赛灵思-Zynq UltraScale+ MPSoC学习笔记汇总

    Zynq UltraScale 43 MPSoC学习目录 xff1a 1 赛灵思 Zynq UltraScale 43 MPSoCs xff1a 产品简介 2 赛灵思 Zynq UltraScale 43 MPSoC学习笔记 xff1a P
  • 数据可视化--实验五:高维非空间数据可视化

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 文章目录 概要实验过程Pyecharts实验结果平行坐标系room1 6房间人员时长饼图 概要 学院 xff1a 计算机科学与技术
  • 7、AUTOSAR MCAL入门-实战:I/O驱动组

    7 AUTOSAR MCAL入门 实战 xff1a I O驱动组 在第三节中有介绍AUTOSAR 把MCAL 抽象分为4个驱动组 xff0c 分别为 xff1a 微控制器驱动组 xff0c 存储器驱动组 xff0c 通信驱动组 输入 输出驱
  • FreeRTOS学习笔记:FreeRTOS启动方式及流程

    FreeRTOS启动方式及流程 FreeRTOS有两种比较流行的启动方式 1 方式一 xff1a 在main函数中创建所有任务 具体说明 xff1a 在main函数中将硬件初始化 RTOS系统初始化 xff0c 创建所有的任务 xff0c
  • 树莓派4B与Android之缘——树莓派下LineageOS(Android 9)系统开机联网与远程控制

    一 树莓派连接屏幕 1 找到树莓派的micro hdmi口 xff0c 是视频图像的输出口 xff0c 见下图中的MICRO HDMI PORTS 2 连接屏幕 xff08 1 xff09 如果显示屏输入端口是HDMI xff0c 就用mi
  • Deep SDF 、NeuS学习

    DeepSDF Learning Continuous Signed Distance Functions for Shape Representation xff1a 学习用于形状表示的连续有符号距离函数 NeuS Learning Ne
  • layui 引入方式

    layui xff08 谐音 xff1a 类UI 是一款采用自身模块规范编写的前端 UI 框架 xff0c 遵循原生 HTML CSS JS 的书写与组织形式 xff0c 门槛极低 xff0c 拿来即用 其外在极简 xff0c 却又不失饱满
  • ubuntu20.04安装ROS及常见问题

    ubuntu20 04安装ROS及常见问题 一 ubuntu安装参考 xff08 双系统 xff09 1 ios镜像官网下载地址 xff1a https releases ubuntu com ga 61 2 239339907 18418
  • 在jetson xavier nx上配置orbslam3,带稠密重建

    这里写自定义目录标题 主要记录一下踩过的各种坑 xff0c 包括从配置开发板系统到配置orbslam3一条龙服务 xff0c 带cuda加速的opencv3 4 5开发板刷系统将系统移植到M 2硬盘上Sdkmanager安装cuda cud