Ubuntu18.04安装配置使用Intel RealSense D435i深度相机以及在ROS环境下配置

本文详细记录了在Ubuntu 18.04系统中配置Intel D435i深度相机的SDK,包括更新内核、安装依赖、编译SDK、解决运行问题以及安装ROS1和ROS2的Wrapper。过程中提到了版本匹配问题,以及遇到的USB连接和相机驱动错误的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近因为学习开发需要,要开始接触一些视觉相关的内容,拿到了一个Inter 的D435i深度相机,记录一下在Ubuntu18环境下配置SDK 包的历程

写在开头

注意
Intel官方最新版的librealsense版本与ROS1的ROS Wrapper是 版本不一致的,且ROS Wrapper支持的是较低版本的SDK ,具体可以去网站查看

最新的SDK 支持ROS2 Wrapper

如果完全按照后文从git仓库克隆的方法安装的话,一般安装的都是最新版的librealsense以及ROS2 Wrapper,两者一般情况下是相互匹配的。如果是手动安装或是从其他地方离线获取了库文件,就可能存在版本不匹配的问题,查看librealsense的版本方法如下:
librealsense/目录下,打开package.xml文件,第十行左右有版本描述<version>2.51.1</version>
在这里插入图片描述

以该版本为例,其支持的SDK 为v2.51.1,与ROS2 Wrapper 4.51.1相匹配

ROS1 Wrapper支持较老版本的SDK

在这里插入图片描述
因此如果使用的是ROS1环境,建议手动下载sdk包,以及支持Ros1与librealsense v2.50.0的ROS Wrapper,后文的克隆仓库步骤就可以跳过了。

Intel官网的安装文档

文档链接

安装须知(来自官网)

  • D435i is supported on Linux, Windows 10. Requires FW 5.11.6.250+.

SDK安装(拔掉相机进行)

  • 更新Linux内核:
    sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

  • 克隆远端仓库git clone https://github.com/IntelRealSense/librealsense.git

  • 安装依赖sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev

  • 在克隆的本地仓库路径下,cd librealsense\

  • 运行许可脚本./scripts/setup_udev_rules.sh

  • 下载并编译内核模块./scripts/patch-realsense-ubuntu-lts.sh

  • 注意,这一步的代码运行时间会很长,要耐心等待remote :Counting objects运行完毕,约有1.5Gb的内容要获取与下载:在这里插入图片描述

  • 安装结束:

  • 在这里插入图片描述

  • 安装硬件基础包:

    • cd ./scripts/
    • ./patch-arch.sh

SDK编译

  • 在librealsense根目录下创建build文件夹:mkdir build && cd build
  • 使用cmake ..预编译,有以下三种具体方式
    • cmake ..:默认构建设置为在Debug模式下生成核心共享对象和单元测试二进制文件。使用-DCMAKE_BUILD_TYPE=Release进行优化构建。
    • cmake ../ -DBUILD_EXAMPLES=true:同时编译demos和tutorials ——我使用这个
    • cmake ../ -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=false:针对没有OpenGL 或X11的系统
  • 清除安装,生成项目,安装至系统:sudo make uninstall && make clean && make && sudo make install
    • 注意,这一步如果因为网络原因无法连接到‘libcurl’,可以去github手动下载,然后修改/librealsense/CMake目录下的external_libcurl.cmake文件,注释掉20行左右的GIT_REPOSITORY "https://github.com/curl/curl.git"
    • 下载 后的文件夹改名为libcurl存放于目录/librealsense/build/third-party
    • 如果出现报错:gcc: internal compiler error,可能是因为设备没有足够的运行内存,可以尝试关掉一些正在运行的app再次make一下,确保RAM大于2GB(虚拟机注意)

相机试运行

进入文件目录build/examples/capture根目录下,插上相机,运行./rs-capture此时理论上会出现相机捕捉到的图像和深度图,而我在第一次运行时没有显示图像,并出现报错:

RealSense error calling rs2_pipeline_wait_for_frames(pipe:0x557831ce1260):
    Frame didn't arrive within 15000

说明通过py文件并没有正常启动摄像头,相关问题可查看:

https://github.com/IntelRealSense/librealsense/issues/2639
细细研究了一波他们的讨论后,认为应该是usb连接线以及电脑插口的问题,在命令行输入realsense-viewer,发现相机已经被电脑读取到,只是USB 端口是2.1
在这里插入图片描述
解决办法就是更换线材或是尝试升级固件,升级固件可参考realsense升级固件Firmware
再次尝试./rs-capture,即可正常显示:在这里插入图片描述

安装ROS Wrapper

官网教程
本部分一定要在前一步相机驱动安装好后进行

  • 创建工作空间mkdir -p ~/Vision_ws/src
  • 进入工作空间cd ~/Vision_ws/src
  • 克隆仓库代码(在src目录下):
    • git clone https://github.com/IntelRealSense/realsense-ros
    • cd realsense-ros/
    • git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1
    • cd ..
    • git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
  • 编译工作空间
    • 定义workspace:catkin_init_workspace(src中)
    • cd ..
    • catkin_make clean
    • catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
    • catkin_make install
  • 定义环境变量:
    • bash终端:
      • echo "source ~/Vision_ws/devel/setup.bash" >> ~/.bashrc
      • source ~/.bashrc
    • zsh终端:
      • echo "source ~/Vision_ws/devel/setup.zsh" >> ~/.zshrc
      • source ~/.zshrc
  • 在ROS中测试相机节点roslaunch realsense2_camera rs_camera.launch
<think>嗯,用户想在Ubuntu 18.04配置Intel RealSense D435i摄像头,需要正确安装驱动和SDK。我之前看过相关的引用资料,得先整理步骤。 首先,用户提到的是Ubuntu 18.04,对应的ROS版本是Melodic。根据引用[2]和[4],安装前需要确保相机固件版本符合要求,至少FW 5.11.6.250以上。可能需要先升级固件,但用户没提到,可能默认已经满足。 然后是SDK的安装。引用[2]和[4]都提到要拔掉相机再进行安装,避免干扰。步骤应该是先安装依赖项,比如libssl和内核模块。然后克隆librealsense的仓库,编译安装。需要安装udev规则,这样系统能识别设备。这部分需要详细说明,用户可能需要sudo权限。 接下来是ROS包的安装。根据引用[3],需要安装realsense-ros包。这里有两种方法,用apt安装二进制包或者从源码编译。apt安装比较方便,但版本可能旧。源码编译可以获取最新功能。用户可能需要根据需求选择,但作为新手可能更倾向apt安装。但引用[3]提到要执行sudo apt install ros-melodic-realsense2-camera,这可能是正确的方式。 然后还要处理权限问题,引用[4]提到复制99-realsense-libusb.rules文件到/etc/udev/rules.d/,并重新加载udev规则。这步很重要,否则用户可能遇到权限问题,摄像头无法访问。 测试部分,需要用户连接相机,用realsense-viewer验证。如果测试成功,说明SDK安装正确。ROS下启动节点,检查话题是否发布。如果没数据,可能驱动或权限有问题。 还要注意,安装过程中可能会遇到依赖问题,比如CMake版本不够,或者缺少某些库。这时候需要用户安装必要的依赖,按照错误提示处理。例如引用[3]提到安装OpenCV和MoveIt!,但用户的问题可能不需要这些,除非有更复杂的应用。 另外,用户可能需要配置环境变量,比如source ROS的setup.bash,或者将工作空间添加到bashrc中。这些细节要提醒用户,避免找不到包的情况。 最后,生成相关问题需要考虑用户可能的后续需求,比如在ROS使用相机,校准,或者与其他工具集成。例如,如何获取点云数据,如何处理深度图像,或者如何与MoveIt!结合使用。</think>以下是在Ubuntu 18.04系统上配置Intel RealSense D435i摄像头的分步指南: ### 一、驱动与SDK安装 1. **安装依赖项** ```bash sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev ``` 2. **内核模块编译** ```bash git clone https://github.com/IntelRealSense/librealsense.git cd librealsense ./scripts/setup_udev_rules.sh ./scripts/patch-realsense-ubuntu-lts.sh mkdir build && cd build cmake .. -DBUILD_EXAMPLES=true make -j4 && sudo make install ``` 3. **配置设备权限** ```bash sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules && sudo udevadm trigger ``` 这一步确保无需sudo权限即可访问设备[^4]。 ### 二、ROS软件包安装 1. **二进制安装方式** ```bash sudo apt install ros-melodic-realsense2-camera sudo apt install ros-melodic-realsense2-description ``` 2. **源码编译方式(可选)** ```bash cd ~/catkin_ws/src git clone https://github.com/IntelRealSense/realsense-ros.git cd .. && catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release ``` ### 三、功能验证 1. **SDK测试** ```bash realsense-viewer ``` 连接摄像头后应能看到深度图和RGB图像流[^2]。 2. **ROS节点测试** ```bash roslaunch realsense2_camera rs_camera.launch ``` 检查`/camera/color/image_raw`和`/camera/depth/image_rect_raw`话题是否发布数据[^3]。 ### 四、常见问题解决 - **固件升级失败**:使用`rs-fw-update -l`命令查看设备状态 - **ROS节点无数据**:检查`dmesg | grep uvc`确认驱动加载状态 - **点云显示异常**:尝试更新ROS包`sudo apt upgrade ros-melodic-realsense2-*`
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值