在 NVIDIA jetson tx2 上基于 realsense d435i 相机运行 vins 相关配置

1 篇文章 0 订阅
1 篇文章 0 订阅


在x86上运行vins相对简单。

网上绝大部分关于在tx2上配置realsense的教程,都需要使用低版本的jetpack在tx2上安装版本较低的l4t,之后再给内核打补丁并编译:https://blog.csdn.net/lzw_hdu/article/details/85010619,但是过程比较繁琐,而且安装的低版本l4t不知道适用;

有人提出根据板子上已经安装的l4t版本对内核进行编译,不需要重装系统:https://blog.csdn.net/TengYun_zhang/article/details/90452856,尝试过后发现会产生大量的中间文件,而且容易损坏内核文件,导致系统奔溃,不太实用;

后来发现jetson在GitHub上前不久上传的资源:https://github.com/jetsonhacks/installRealSenseSDK,不需要编译内核就可以在tx2上安装librealsense和驱动,基于 jetpack 4.3 刷机安装的 l4t 32.3.1。


一、tx2刷机

基于jetpack进行安装,直接下载最新版本的jetpack:https://developer.nvidia.com/embedded/jetpack,在电脑的ubuntu系统中进行安装,完成之后进入,大概是这样的:

在这里插入图片描述
暂时不用连接tx2,host machine 不用勾选,否则耽误时间,target hardware选择tx2就行,Linux选择jetpack 4.3,deep stream是否勾选看需求,继续进入第二步。

在这里插入图片描述host不选的话不会有上面的host components选项,下面选择同意和 download now,install later,边下边装容易出问题,继续第三步开始安装,如果报错就重启,或者换电脑换网络,多试试,期间出现问题可以重启sdk,如果提示sdk内没有可用配置,可通过重启电脑、或者卸载sdk(sudo purge sdkmanager)再安装(sudo dpkg 安装包拖过来),多试几次。

都下载好了就会自动安装,建议先不连接tx2,直到开始flash,并弹出界面
在这里插入图片描述
选择如图的manual setting,连接tx2,同时使其进入恢复模式:
1.按一下power键开机(按下后松开,稍微有一定的按键时长)
2.按下REC(RECOVERY FORCE)不要松开
3.再按下RST(reset按下松开,稍微有一定的按键时长)
4.REC保持两秒后松开
可以用lsusb指令确认tx2是否已连接并进入恢复模式,之后开始flash;过段时间又跳出界面

在这里插入图片描述
其中ip已经设置好了,username和password先不设置,先用另一台显示器连接tx2,会有显示(但是卡住,因为是恢复模式),直接重启,开始在tx2上预安装系统,依次进行,期间会要求设置username和password,设置好了再在这个界面上填入相应内容,并一直安装到结束,结束时可能会提示错误,但是基本没关系,不管他。
这样jetpack 4.3就安装完成。

note:建议一开始就卸载opencv4并重新安装opencv3,省不少事。

二、安装librealsense,realsense驱动

1.安装依赖库

建议先安装librealsense的依赖库:

sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev

其中安装libgtk-3-dev的时候可能会报错如下:“libgl1-mesa-dev : 依赖: mesa-common-dev (= 18.0.0~rc5-1ubuntu1) 但是他将不会被安装”等类似错误,网上有建议更换软件源和安装所有提示的依赖项,经测试,不知道是网络原因还是什么,不能在tx2上通过“软件和更新”对软件源进行更换,而且第二种方法一步步走来会直接弄崩系统,建议打开软件和更新----更新—选上推荐更新:

在这里插入图片描述

之后再sudo apt update,然后安装应该就不会出问题了。

2.从debian repository安装librealsense

先在home下直接:

git clone https://github.com/jetsonhacks/installRealSenseSDK.git

再进入文件夹内,sudo chmod u+x ./installLibrealsense.sh,再运行installLibrealsense.sh(建议从repository安装),另一个脚本的从源文件安装,效率比较低,但是应该会多一些相关程序。
之后终端输入realsense-viewer,连接相机,验证安装。

三、安装 Ros-melodic

由于不太方便通过“软件和更新”对软件源进行更换,在终端更新源(中科大的):

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

设置密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

之后安装

    sudo apt-get update
    sudo apt-get install ros-melodic-desktop-full

可能会产生和之前同样的依赖库问题,相同解法。
之后

sudo apt-get install python-rosinstall    
sudo rosdep init
rosdep update

rosdep init 可能会报错找不到命令,直接 sudo apt install python-rosdep2
rosdep init也可能报错网络无法连接,方法需要另找,网上很多。
然后加载环境变量source /opt/ros/melodic/setup.bash(建议放在home下的bashrc的最后(control+h显示)),再roscore验证,如果报错找不到指令,直接sudo apt-get install ros-melodic-desktop,就可以了(不要再rosdep了),最后小乌龟验证安装即可。

四、安装 librealsense-ros

网上建议安装基于tx2的librealsense-ros:https://github.com/jetsonhacks/installRealSense2ROSTX,估计又不兼容,可以直接安装通用librealsense-ros(realsense tx2驱动已成功安装,ros应该可以通用):
先创建一个ros的工作空间,进入src,然后:

git clone https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
cd ~/catkin_ws && catkin_make

编译过程中会报错cv_bridge找不到opencv位置,这是因为jetpack安装的最新的opencv4,更换搜索目录即可,config文件位于:
在这里插入图片描述
之后报错librealsense-ros的依赖librealsense版本和之前安装的版本不匹配,估计是安装的librealsense-ros版本太高,进入当前工作空间中的realsense-ros,由git checkout+需要版本,进行更新,再编译即可。
最后roslaunch realsense2_camera rs_camera.launch 结合 rostopic list进行验证。

五、安装 vins

先安装依赖库ceres,之后再创建ros工作空间并安装vins,不推荐git clone下载vins,建议直接从GitHub上下载最新版本进行安装,安装过程中可能会报错:
1.关于未定义的cv变量,可以重新安装opencv 3.4.11,再在vins里的 findpackge{OpenCv required} 里加上版本号, findpackge{OpenCv 3.4.11 required}(注意大小写)。
findpackage都是找到config.cmake文件,可见有两个版本的OpenCV:
在这里插入图片描述

2.关于cv版本冲突,在上述 cv_bridge 里把 opencv 的定位改成当前新安装的opencv2的位置。
验证。
note:建议一开始就卸载opencv4并重新安装opencv3,省不少事。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值