嵌入式JetSon TX2上使用RealSense D435 (外加IMU芯片) 运行RTAB-Map与VINS-MONO的全流程记录

本周成功的在JetSon TX2上移植了Vins-Mono与RTAB-Map,并使用摄像头RealSense D435顺利跑通了这两个框架。中间遇到了各种各样神奇的问题,踩坑无数,现整理记录一下整体流程,便于后续查询与复现。

JetSon系列是Nvidia公司推出的面向人工智能领域的嵌入式平台,这块嵌入式板子的出现使得我们可以在移动设备上处理复杂数据。

一、在JetSon TX2上运行VINS-Mono

已有环境配置:我这里JetSon TX2上已经刷好了系统版本JetPack3.2.1
具体刷机流程后面会深入学习一下,到时候再写一篇博客记录下来。

1、配置Vins-Mono的编译环境

在JetSon TX2上安装与编译Vins-Mono框架时,主要流程与Ubuntu 16.04系统下的搭建流程基本一致,具体可以参考本人之前的博客:搭建Vins-Mono环境与评估EuRoc定位精度、安装RealSense ZR300、D435驱动 中的安装流程。

需要安装的依赖项有:ROS Kinetic,OpenCV 3.3.1,Eigen 3.3.4,Ceres-Solver。
其中有两点与Ubuntu 16.04系统下不太一样的地方,需要留意一下:

(1)ROS Kinetic在JetSon TX2上的安装:

直接运行如下命令行安装ROS Kinetic:

mkdir -p ~/ROS
cd ~/ROS
git clone https://github.com/ncnynl/installROSTX2.git
 
# 打开脚本文件
cd installROSTX2
gedit installROS.sh 
#将ros-kinetic-ros-base,更改为:ros-kinetic-desktop-full

#安装
./installROS.sh

安装完,运行:roscore 查看是否安装成功。

(2)ceres-solve在JetSon TX2上的安装:

在TX2上安装ceres-solver时,如果先安装了Eigen 3.3.3的版本,则会出现以下错误:

– Found installed version of Eigen: /usr/lib/cmake/eigen3
– Found Eigen version 3.2.92: /usr/include/eigen3
CMake Error at CMakeLists.txt:240 (message):
– Ceres requires Eigen version >= 3.3.4 on aarch64. Detected version of
Eigen is: 3.2.92.

因此需要升级Eigen版本。在Eigen官网下载大于或等于3.3.4的版本,解压后使用cmake安装。

2、安装Realsense D435摄像头驱动与IMU驱动

由于Vins-Mono算法里融合了IMU惯导数据,所以需要带惯导信息的摄像头才能运行,例如Intel RealSense ZR300,RealSense D435i等。Intel Realsense D435摄像头不含惯导信息,于是我们购买了IMU芯片,与Realsense D435摄像头一起使用。
参考博客:
https://blog.csdn.net/u013595260/article/details/86522385
https://blog.csdn.net/weixin_44580210/article/details/89789416

(1)安装Realsense D435的相机驱动 (librealsense SDK 2.0)

----mod 2021.01.20---
本步骤在后文有更新,之前博文安装的版本太旧会有问题,建议直接从后面----mod 2021.01.20---处查看。

Realsense官方提供的SDK安装方法无法在arm架构上安装成功,于是JetSonhacks提供了针对JetSon TX2的Realsense D400系列SDK安装脚本。
github官方链接:https://github.com/jetsonhacks/buildLibrealsense2TX

本次安装使用的是v0.9版本,发布日期为July,2018,配置要求: L4T 28.2 / L4T 28.2.1 (JetPack 3.2.1)
如果系统不满足上述要求,需要对JetSon TX2重新安装系统。
将源码zip下载并解压,执行如下命令行进行安装:

#重新构建内核
./buildPatchedKernel.sh
#安装SDK
./installLibrealsense.sh 

在安装过程中发生如下错误:
在这里插入图片描述
原因是没有安装CUDA,需要安装CUDA-8.0并添加环境变量,安装命令行如下:

wget http://developer.download.nvidia.com/devzone/devcenter/mobile/jetpack_l4t/013/linux-x64/cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb
sudo dpkg -i cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb
sudo apt-get update
sudo apt-get install cuda-toolkit-8-0

在根目录下执行命令 nvcc -V 。如果执行命令后的结果不是CUDA的版本信息而是提示有问题,则需要在

  • 6
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值