IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 在Jetson Xavier NX上运行VINS-Mono -> 正文阅读

[人工智能]在Jetson Xavier NX上运行VINS-Mono

说明

安装步骤

1、安装opencv3.3.1

我的环境中本来有opencv4.5.4,但据说4版本对VINS-Mono支持不完善,所以又装了opencv3.3.1
参考教程:https://blog.csdn.net/darnell888/article/details/110734510

2、安装ros依赖包

sudo apt-get install ros-melodic-cv-bridge ros-melodic-tf ros-melodic-message-filters ros-melodic-image-transport

3、安装Ceres Solver

因为我的环境中已经装了ceres,所以没有操作这一步。
官方教程:http://ceres-solver.org/installation.html
也可以参考:https://www.ncnynl.com/archives/202008/3859.html

4、安装cv_bridge

这个我也已经装了
可以参考:https://www.ncnynl.com/archives/202008/3859.html

5、下载并编译VINS-Mono源码

cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

指定使用opencv版本3.3.1

找到如下包的CMakelist.txt文件

ar_demo
pose_graph  
vins_estimator
camera_model         
feature_tracker 

在find_package(OpenCV REQUIRED)行前面加上

set(OpenCV_DIR /home/nx/my_library/opencv/opencv-3.3.1/build/)
find_package(OpenCV 3.3.1 REQUIRED)

OpenCV_DIR后面是你自己的opencv包路径

出现的错误及解决方法

  • 错误1:cv_bridgeConfig.cmake出错
    出现错误类似下面情况:
 CMake Error at /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake:113 (message):
  Project 'cv_bridge' specifies '/usr/include/opencv4/opencv' as an include
  dir, which is not found.  It does neither exist as an absolute directory
  nor in '${prefix}//usr/include/opencv4/opencv'.  Check the issue tracker
  'https://github.com/ros-perception/vision_opencv/issues' and consider
  creating a ticket if the problem has not been reported yet.
Call Stack (most recent call first):
  CMakeLists.txt:54 (find_package)


-- Configuring incomplete, errors occurred!

原因:多版本OpenCV出现冲突
解决方法:
参考:https://blog.csdn.net/klsjadkls/article/details/119170761
首先检查opencv cflags:

$ pkg-config --cflags opencv
-I/usr/local/include/opencv -I/usr/local/include

然后修改cv_bridgeConfig.cmake中的内容
找到cv_bridgeConfig.cmake (94行),原内容如下(方便备份):

if(NOT "include;/usr/include;/usr/include/opencv " STREQUAL " ")
  set(cv_bridge_INCLUDE_DIRS "")
  set(_include_dirs "include;/usr/include;/usr/include/opencv")

改成:

 if(NOT "include;/usr/include;/usr/include/opencv " STREQUAL " ")
  set(cv_bridge_INCLUDE_DIRS "")
  set(_include_dirs "include;/usr/local/include/opencv;/usr/local/include")
  • 错误2:catkin_make失败

出现错误类似下面情况:

VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/build.make:62: recipe for target 'VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/estimator_node.cpp.o' failed
make[2]: *** [VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/estimator_node.cpp.o] Error 4
make[2]: *** Waiting for unfinished jobs....
[ 52%] Linking CXX executable /home/ubuntu/vins-ws/devel/lib/feature_tracker/feature_tracker
[ 52%] Built target feature_tracker
CMakeFiles/Makefile2:2166: recipe for target 'VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/all' failed
make[1]: *** [VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

原因:可能是用于编译的内存或交换空间不够
解决方法
参考:https://github.com/HKUST-Aerial-Robotics/VINS-Mono/issues/9
官方给出的解决方式是:尝试"catkin_make -j1",或者一个包一个包编译,顺序是camera_model->feature_tracker->vins_estimator->ar_demo
我尝试"catkin_make -j1"没有用,第二种方法没试,因为重启后这个问题就意外解决了。

6、测试

首先要下载EuRoC数据集
官方地址:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets
如果下的很慢,也可以自行百度找网盘资源
测试命令如下:

roslaunch vins_estimator euroc.launch 
roslaunch vins_estimator vins_rviz.launch
rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag 

出现的错误及解决方法

  • 错误1:vins_rviz.launch运行失败
    出现错误类似下面情况:在这里插入图片描述
    解决方法:在运行之前要加一句source ~/catkin_ws/devel/setup.bash
    参考:https://github.com/HKUST-Aerial-Robotics/VINS-Mono/issues/4
    官方的讨论区还有其他的问题,但我没有碰到,官方给出的建议是vins_rviz.launch只是为了可视化,如果出错无法解决,也可以自己打开rviz添加topics
    我自己踩过的坑:ssh远程控制运行vins_rviz.launch会失败,只要在本地的bash中运行就行
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:05:07  更:2022-05-08 08:08:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:43:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码