Jetson TX2 安装 D435i ROS驱动

目录

0 概述

1 通过ROS功能包安装

2 通过Realsense官方途径安装

2.1 安装librealsense2

2.1.1使用Debian包安装

2.1.2 从源码编译安装

2.2 安装librealsense-ros


0 概述

想要在ros下使用realsense相机,需要安装两部分东西,第一部分是最基本的库librealsense2,它是驱动相机的必需要有的库,不管你在什么系统环境和编程环境中使用realsense系列相机,都需要成功安装或者导入这个库。第二部分是realsense-ros(包名realsense2-camera),这个是为了让librealsense2能在ros中使用的一个wrapper,如果想要在ros中使用的话,就需要安装这一部分。

官方教程:https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md

librealsense github 仓库:https://github.com/IntelRealSense/librealsense.git

realsense-ros github 仓库: https://github.com/IntelRealSense/realsense-ros.git

下面主要以常用的Jetson TX2作为硬件平台,仔细梳理安装步骤

1 通过ROS功能包安装

这个方法可以说是最方便的方法,只需要运行一条指令即可(英文原文

sudo apt-get install ros-$ROS_DISTRO-realsense2-camera

使用这种方法可以直接同时安装realsense2-camera和librealsense2及其所需的依赖项,并且自动匹配udev rules。

但使用这种方法需要注意几点:

  • 自动安装的librealsense2总是比realsense官方库的正式版本低一个版本
  • 并且这样安装的librealsense2使用的是不太稳定的RS-USB通讯协议,而非native v412驱动,目的是因为RS-USB的方式能够适配更多不同的软硬件平台
  • realsense2_description是单独的ROS功能包,当启动带模型的launch文件时需要相关文件,可以使用如下指令安装realsense2_description
sudo apt-get install ros-$ROS_DISTRO-realsense2-description

2 通过Realsense官方途径安装

使用这种方式需要分两部分进行,分别安装librealsense2和realsense2-camera(英文原文

2.1 安装librealsense2

支持的硬件

  • NVIDIA® Jetson Nano™, Jetson TX2™ 和 Jetson AGX Xavier™目前已经通过测试
  • 相机包括RealSense D415, D435, D435i, D455, L515, SR300 和 T265

软件环境

  • 支持NVIDIA® L4T Ubuntu 16.04/18.04的系统

选择SDK后端

目前librealsense2 SDK在linux平台上有两种可供选择的通讯API后端

  • 使用linux原生的UVC,USB和HID的内核驱动(Video4Linux 和 IIO)
  • 使用RSUSB,它是一种使用UVC和HID数据协议的用户实现

对于生产环境,官方建议使用第一种方式,能使驱动运行更加稳定,但是安装时需要添加修改内核模块来增加对应的驱动支持,整体安装过程较为复杂。

第二种方式不需要修改内核,同时允许牺牲某些性能和功能限制(例如多相机)为代价进行全功能SDK部署。它使用的是标准的USB驱动程序与设备通讯,其中高级协议(UVC/HID)则是直接内置编译在SDK中。同时这两种后端接口是互斥的,需要在SDK编译的配置阶段(CMake)就指定好。通过-DFORCE_RSUSB_BACKEND(V.2.30之前的版本使用 -DFORCE_LIBUVC )标志位来选择。

2.1.1使用Debian包安装

需要注意的是提供的二进制安装包是使用-DFORCE_RSUSB_BACKEND=true生成的,也就是说使用的是上面所说的第二种方式

  • 注册公钥
sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE

如果获取失败,可以尝试添加代理后再次尝试获取,具体可以参考这里

  • 添加库地址
#Ubuntu16:

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo xenial main" -u

#Ubuntu18:

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo bionic main" -u
  • 安装SDK
sudo apt-get install librealsense2-utils sudo apt-get install librealsense2-dev

安装完librealsense2-dev之后,就可以使用

g++ -std=c++11 filename.cpp -lrealsense2

来把librealsense导入到你的应用程序中或者是IDE中,如果要使用CMake可以参考这里

最后重新插拔相机,直接在终端运行realsense-viewer确认使用成功安装

2.1.2 从源码编译安装

使用RSUSB方式

具体使用可以参考libuvc_installation.sh

首先拔出所有realsense设备,然后安装依赖项

sudo apt-get update sudo apt-get install git cmake libssl-dev freeglut3-dev libusb-1.0-0-dev pkg-config libgtk-3-dev unzip -y

安装完成后拉取librealsense源码,并解压

wget https://github.com/IntelRealSense/librealsense/archive/master.zip 
unzip ./master.zip -d . 
cd ./librealsense-master

复制udev文件

sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/ 
sudo udevadm control --reload-rules && sudo udevadm trigger

开始编译

mkdir build && cd build 
cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release #如果安装了CUDA可以添加-DBUILD_WITH_CUDA=true 
make -j2 
sudo make install

使用V4L 后端(需要内核补丁)

目前在Jetson AGX平台和JetPack 4.2.3[L4T 32.2.1,32.2.3], 4.3[L4T 32.3.1], 4.4[L4T 32.4.3]验证通过

准备工作

使用如下指令确认磁盘可用空间,需要约2.5GB的空闲空间用于编译安装

df -h

将系统切换到最大功率模式,并移除所有USB/UVC相机。

拉取librealsense源码,并解压

wget https://github.com/IntelRealSense/librealsense/archive/master.zip 
unzip ./master.zip -d . 
cd ./librealsense-master

编译并导入内核补丁

直接运行脚本进行内核编译与应用

./scripts/patch-realsense-ubuntu-L4T.sh

这个脚本运行大约需要30min,运行期间需要保持网络连接,主要操作包括

  • 获取内核资源树用于内核模块编译
  • 应用librealsense特定的内核补丁并且编译修改后的内核模块
  • 尝试将编译好的模块插入到内核中

后面步骤与之前类似

sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev -y
./scripts/setup_udev_rules.sh 
mkdir build && cd build 
cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=false -DBUILD_WITH_CUDA=true && make -j$(($(nproc)-1)) && sudo make install

编译完成后,重新连接相机,运行realsense-viewer来确认安装结果,如果能获取到frame metadata说明安装成功

d400

2.2 安装librealsense-ros

创建工作空间目录

mkdir -p ~/catkin_ws/src 
cd ~/catkin_ws/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

最后运行launch文件测试是否正常

roslaunch realsense2_camera rs_camera.launch

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值