NVIDIA Xavier NX的Intel Realsense双目相机(T265+D435i)环境搭建

文章目录

  • 一、硬件部分
  • 二、环境配置
    • 1.安装ROS
    • 2.编译realsense
        • (1)查看版本
        • (2)编译librealsense
        • (3)编译realsense-ros
        • (4)查看是否安装成功
        • (5)更新D435i的固件
    • 3.启动建图
        • D435i无topic数据


NX是Nvidia推出的一款迷你电脑,可以理解问一个可以装系统的单片机。NX是基于arm架构的,不同于我们电脑使用的x86或amd架构,在安装过程中会有一些区别。

一、硬件部分

NX的接口资源还是非常丰富的,官方版有4个USB接口。而且可以根据自己的使用需求买非官方的载板,我实验室采购的小载板是准备装在250或者330无人机上的。
IntelRealSense用于双相机的VIO,其中T265是视觉辅助IMU进行室内定位,D435是深度相机用于建图。

二、环境配置

首先要在NX上安装ubuntu,建议去NX官网下载镜像文件安装,不要安装官方发布的ubuntu版本,这一步最好和CUDA一起让商家给你装好。
另外值得注意的是,arm架构的源和x86/amd是不同的,要单独去搜arm的源!!

1.安装ROS

网上关于这个的教程非常多,大体就是按照官网教程往下推:
http://wiki.ros.org/cn/Installation/Ubuntu
不知道是不是错觉,arm架构下经常遇到网络问题导致安装不下去,比如添加key这一步。

2.编译realsense

开源网址:https://github.com/IntelRealSense
这里面有两个有用的项目:

librealsense:realsense的依赖库
realsense-ros:提供ros的扩展支持,比如launch文件就在这里

值得注意的是,你会发现官方只建议了在x86/amd架构下进行SDK安装,实际在nx上SDK安装librealsense确实存在一些问题,所以这里统一使用源码编译

(1)查看版本

安装之前好好看一下自己下载的是哪个版本,一定要保证realsense-ros是支持你安装的版本的,一定要注意!
①首先进入https://github.com/IntelRealSense/realsense-ros/releases/tag/2.3.1
②在Tags里选择版本,ROS1对应的是2.x的版本,ROS2对应的是3.x的版本。
③向下拉,首先看到Supported RealSense SDK这一项,下面写了对应的librealsense的版本,记住这个版本。
④再向下,Recommended Firmware中的表格里写了D400系列相机的固件版本,同样记住这个版本,这个非常重要!!

(2)编译librealsense

打开刚才记下的librealsense版本,开始源码编译,再次提醒注意版本:

git clone https://github.com/IntelRealSense/librealsense.git #如果你记下的版本就是最新版本,就用这个,否则就需要在分支中下载老版本的.zip
cd librealsense
mkdir build
cd build
cmake ..
make  #漫长的等待
sudo make install

(3)编译realsense-ros

首先创建工作空间

mkdir -p  ~/catkin_realsense/src
cd ~/catkin_realsense/src

下载源码

git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`  #查验
cd ..

编译工作空间

catkin_init_workspace
cd ..
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install

最后添加source文件

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

(4)查看是否安装成功

把相机分别单独连接到nx上,然后终端输入

realsense-viewer

应该是可以分别识别出两个相机的,并且应该可以看到视频、IMU和深度图像信息。

(5)更新D435i的固件

如果你在realsense-viewer中看到的D435i的固件比之前记下的低,那么你就需要升级固件。
固件下载地址:https://dev.intelrealsense.com/docs/firmware-releases
然后参照官方教程:https://dev.intelrealsense.com/docs/firmware-update-tool进行安装。
最后可以使用rs-fw-update -f查看固件版本对不对。

3.启动建图

启动双相机的基本命令就是

roslaunch realsense_camera rs_d400_and_t365.launch

然后打开Rviz

Rviz

添加想查看的图像、点云、坐标系信息,可以查看是否能正常运行。

D435i无topic数据

在测试过程中,我发现D435i没有彩色图像和点云输出,最开始发现开启D435i后,nx其中一个cpu核一定是100%占用(sudo jtop),那么应该就是默认参数太高了,需要进行调整。
在花费了很长时间的研究后,在github官方界面的issues的一个反馈里,找到了一个参考,原文是这么解决的:

roslaunch realsense2_camera rs_camera.launch filters:=pointcloud depth_width:=424 color_width:=424 depth_height:=240 color_height:=240 depth_fps:=15 color_fps:=15 pointcloud_texture_stream:=RS2_STREAM_ANY

这里解释一下,rs_camera.launch相当于D400系列的通用启动文件,里面有很多初始化参数,比如上面就分别设置了:开启点云,深度和彩色图像的长宽和帧率。
那么同理,在rs_d400_and_t265.launch里一样可以修改这些参数,打开.launch文件我们可以看到文件架构,参数先声明后引用,如果参数声明时没赋值,就读取后面引用内的参数数值。
再次roslaunch这个文件,打开Rviz我们可以发现已经出现了图像和点云信息。
注:这些参数肯定不是最优,后续怎么用自己调整就好了,比如我不需要彩色图像和imu数据,就在launch文件里改就行了。
至于为什么不分别启动rs_camera.launch和rs_t265.launch,你自己试一下就知道了。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部