再在一个全新OrinNX上部署AirVO,没有动opencv版本的情况下

再在一个全新OrinNX上部署AirVO,没有动opencv版本的情况下

从ros装起,再编译运行还挂掉那应该不是opencv版本的问题。

先装ROS

 

那现在ROS装好了

接着再装ceres2.0.0 g2o 20230223 是的,应该主要是这两个了

我先把jtop看下,方便看一些软件版本

 

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libeigen3-dev libgtest-dev
​
git clone -b 2.0.0 https://github.com/ceres-solver/ceres-solver.git
cd ceres-solver/
mkdir build
cd build
cmake ..
make
sudo make install
​

装g2o,先安装几个依赖项

sudo apt-get install libeigen3-dev
sudo apt-get install libspdlog-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install qtdeclarative5-dev
sudo apt-get install qt5-qmake
sudo apt-get install libqglviewer-dev-qt5

GitHub - RainerKuemmerle/g2o: g2o: A General Framework for Graph Optimization

 

git clone -b 20230223_git https://gitee.com/maxibooksiyi/g2o.git
cd g2o
mkdir build
cd build
cmake ..
make -j4
sudo make install

 

然后准备装AirVO了

看来这是要装下opencv_contrib啊

现在怎么弄呢,原始的板子带有opencv4了,我现在如何继续装opencv_contrib呢。

我发现这个ximgproc模块之前弄AirVO_ws的也报错过,好像是把opencv3卸载就解决了?现在看来估计那时这个ximgproc模块还是用的opencv3的!!!

我把opencv4.5.4和opencv_contrib4.5.4都下下来编译一下,然后安装,我是觉得这样不管它是找到哪个opencv,版本都是一样的,这样不至于出问题吧?

在OrinNX上,没有把CPU调到最大,make -j4 ,2个小时左右编译完了,没有报错,可能这个系统原本的opencv就是4.5.4的

我还没有sudo make install时候的jtop是这样

没想到sudo make install也很慢!!!

这sudo make install的速度感觉比make还慢!!!!不等了,放着让它自己运行,我先回家了。

对,这个OrinNX的功耗我还没有开到最大。

sudo make install到百分之百居然开始报错,挺无语的

看来需要重新cmake error: ‘phase_unwrapping’ in namespace ‘cv’ does not name a type typedef cv::phase_unwrapping解决办法-CSDN博客

输入图片说明

输入图片说明

之前的cmake命令是这个

cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D WITH_CUDA=ON \
        -D CUDA_ARCH_BIN=8.7 \
        -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 CUDA_nppicom_LIBRARY=stdc++ \
        -D WITH_TBB=ON \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
         ../

ENABLE_CXX11=ON 现在应该需要改为

cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D WITH_CUDA=ON \
        -D CUDA_ARCH_BIN=8.7 \
        -D CUDA_ARCH_PTX="" \
        -D ENABLE_FAST_MATH=ON \
        -D ENABLE_CXX11=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 CUDA_nppicom_LIBRARY=stdc++ \
        -D WITH_TBB=ON \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
         ../

现在这个带有opencv_contrib的opencv4.5.4应该还没有装上,编译都没有编译完,后面应该没有安装拷贝到系统目录里面。 cmake完

输入图片说明

make玩没有问题

输入图片说明

这回sudo make install几分钟完事了,难道是我把CPU和GPU都提到最大而且功率也提到20W了?这回sudo make install没有问题了

这回jtop看opencv变为这样了,说明装上了

输入图片说明

这回catkin_make AirVO通过了。

输入图片说明

第一次起roslaunch air_vo euroc.launch 因为这个挂掉,遇到过

输入图片说明

sudo ldconfig后再起roslaunch air_vo euroc.launch,还是和之前一样这里挂掉了

输入图片说明

这回真的没有opencv版本的理解了啊 数据集序列换为V1_01也还是这样

输入图片说明

起euroc_ros.launch也是这样,我都还没有起rosbag包,就挂了的。

输入图片说明

20230827

从我加的这两句打印来看,确实就是cv::initUndistortRectifyMap(K_l, D_l, R_l, P_l.rowRange(0,3).colRange(0,3), cv::Size(_image_width, _image_height), CV_32F, _mapl1, _mapl2); 这句挂掉了,gdb显示得OK。

输入图片说明

好像之前弄某论文的结构线SLAM时也出现过类似的,我把这个去畸变注释掉了,改为直接复制

输入图片说明

我把那两句去畸变注释掉,编译通过,运行目前运行起来没有报错

虽然一直卡着不动,但是我看是有个CPU一直在跑的,应该是在生成engine文件

跑了几十分钟,出错了

输入图片说明

就是这里,我之前也想过注释掉会不会影响这里

要不remap也注释掉改为复制?

输入图片说明

直接用copyTo函数替代remap,就是不做去畸变,直接复制

这回再运行直接起来了,应该是上次运行engine文件生成了

输入图片说明

输入图片说明

输入图片说明

这好像是跑完了?这个挂掉是不是正常的?

输入图片说明

挂掉会不会也可能是因为没有debug文件夹?

输入图片说明

运行的时候基本是GPU拉满。

输入图片说明

我手动新建一个debug/traj.txt,跑到最后还是挂掉了,而且traj.txt里面也没有写进任何其他东西。

输入图片说明

输入图片说明

我拿gdb跑下,看看最后报错的原因是什么

输入图片说明

gdb看了下最后的报错

输入图片说明

但是我这明明有这个文件呀

输入图片说明

其实程序运行到这里也基本要结束了

应该是在这个函数挂掉的

起euroc_ros.launch,注意播放bag包

输入图片说明

输入图片说明

尽管我已经很慢速播放了,可还是这样

输入图片说明

可以看出,在OrinNX上肯定是没法实时运行的

_keyframe_ids是在这里push_back的

main函数这么看确实挺简洁的,里面一个主循环在读取数据集

换成MH_01数据集序列也是这样,之前跑的V1_01序列

我看别人跑AirVO也有这个情况,这个人还是用docker跑的 _keyframe_ids.size ==0 why? · Issue #78 · sair-lab/AirVO · GitHub

输入图片说明

AirVO作者给的最新回复 roslaunch euroc.launch ;process has died · Issue #79 · sair-lab/AirVO · GitHub
 

输入图片说明

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗筱涵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值