前言
最近在搭建自主无人机,原本用树莓派作为记载电脑,但因为算力不够,进而转向Jetson Nano,在此记录下realsense和realsense-ros的安装过程。(由于是配置好后才开始记录,所以没有把全部的报错页面截图保存下来)。
本文的系统环境:ubuntu20.04
要注意不同的realsense版本对应有不同的realsense-ros版本,本文的版本是:realsense-v2.53.1和realsense-ros-v2.3.2
安装realsense-v2.53.1
realsense从2.54.1版本开始移除了对T265相机的支持,经过实测,v2.53.1版本可用,下面介绍安装方法:
首先拔掉T265相机,安装依赖
sudo apt-get install git cmake libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
然后克隆源代码
git clone -b v2.53.1 https://github.com/IntelRealSense/librealsense
运气好能直接克隆下来,实在克隆不了,翻墙打开网站
链接: https://github.com/IntelRealSense/librealsense.
点击红色框框那里,然后选择版本v2.53.1
将源码下载下来,解压放到文件夹下面(注意:不要放在工作空间catkin_ws下,不然到时候编译工作空间时会报错!!)
进入realsense中
cd realsense
将规则文件99-realsense-libusb.rules
复制到/etc/udev/rules.d/
下
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d
sudo udevadm control --reload-rules && udevadm trigger
如果没有99-realsense-libusb.rules,可以在config目录下创建一个新的,然后将内容复制粘贴过去,具体内容可以参考这篇文章
realsense failed to open usb interface: 0, error: RS2_USB_STATUS_NO_DEVICE 错误解决方法
回到realsense目录下,创建build
文件夹,进入build文件夹开始编译和安装
mkdir build
cd build
cmake …
make
sudo make install
编译的过程会比较缓慢,而且有可能报错:fatal:unable to access 'https://github.com/curl/curl.git....
这个时候直接去: https://github.com/curl/curl下载curl.zip
解压并改名为libcurl
放到~/realsense/build/third-party
下
还要把~/librealsense/CMake
目录下的external_libcurl.cmake
的GIT_REPOSITORY
给注释掉
继续编译,等编译完成后,测试是否安装成功
realsense-viewer
安装成功的话插上T265相机,即可显示相机位置。
安装realsense-ros-v2.3.2
安装这个功能包就比较简单了,直接clone
git clone -b v2.3.2 https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
实在clone不来,还是老办法https://github.com/IntelRealSense/realsense-ros.git
直接下载压缩包,解压放到工作空间下,编译成功即可。
*测试D435相机报错
完成上面的步骤之后,就可以开始测试深度相机了。不一定会报这个错,因为我在树莓派上就没有这个错误,但我还是在此记录一下。
输入命令,启动D435
roslaunch realsense2_camera rs_camera.launch
出现这个报错是因为没有链接上OpenCV4
。
检查是否安装OpenCV
,因为本文安装的是OpenCV4
,所以输入命令
pkg-config --cflags opencv4
如果安装的是OpenCV3
,则用以下命令
pkg-config --cflags opencv
不清楚版本的可以用这条命令查看
pkg-config --modversion opencv
没安装的先把OpenCV安装上,再运行测试
如果已经安装了,那就接着看,下一步的任务就是让realsense-ros链接上OpenCV
打开realsense2_camera功能包下的CMakeList,添加下面语句
find_package(catkin REQUIRED COMPONENTS
OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIR})
加上这两句之后可能还会报错,说什么找不到:OpenCVConfig.cmake
这时候别慌,先通过命令查询这个文件所在的位置
sudo find / -name “OpenCVConfig.cmake”
将得到的目录添加进CMakeList里面,“”
里面就是文件所在的位置
set(OpenCV_DIR “/usr/lib/aarch64-linux-gnu/cmake/opencv4”)
添加好后,编译测试,终于不报错了。
后面会进行实机测试,我在这先立个flag,有时间的话把整个过程写一下