本人环境:Ubuntu 20.04
1. 添加 RealSense 仓库 GPG 公钥,并为仓库添加源:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C8B3A55A6F3EFCDEsudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -y我在配置的过程中还遇到了Linux 系统中使用apt安装软件包时,在处理软件源 (Repositories)和公钥 (GPG Keys)时的“版本冲突”和“配置混乱”问题。处理如下,或许有用:
系统之前有两种旧的 GPG 密钥配置方式: 1. 旧方式(apt-key): /etc/apt/keyrings/intel.gpg 使用 Signed-By=/etc/apt/keyrings/intel.gpg 2. 源文件配置: /etc/apt/sources.list.d/intel-realsense.list 和 /etc/apt/sources.list 第58-59行 问题:密钥路径不匹配! - 源配置文件指定: signed-by=/etc/apt/keyrings/intel.gpg - 但 apt 尝试用另一个密钥验证 - 导致"NO_PUBKEY C8B3A55A6F3EFCDE"错误 我的处理步骤: 1. 下载正确的 GPG 密钥到标准位置 wget https://librealsense.intel.com/Debian/librealsense.pgp → /etc/apt/keyrings/librealsense.gpg 2. 删除所有冲突的旧配置 - /etc/apt/sources.list.d/intel-realsense.list(旧配置) - /etc/apt/sources.list 中的重复行 3. 创建统一的新配置 /etc/apt/sources.list.d/librealsense.list 包含: [signed-by=/etc/apt/keyrings/librealsense.gpg] 结果:密钥和源配置路径完全匹配,apt 可以正确验证2. 更新软件包列表:
sudo apt update3. 安装 RealSense SDK 和 ROS 包:
sudo apt install -y librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-dbg sudo apt-get install -y ros-noetic-realsense2-camera ros-noetic-realsense2-description4. 配置 udev 规则并重新加载
sudo udevadm control --reload-rules && sudo udevadm trigger5. 验证一下安装并测试 D435i 相机:
realsense-viewer --version rs-enumerate-devicesOK! D435i 相机已经被成功识别!
这里将提供的install_realsense.sh脚本放到下面了,上面资源绑定什么jb下载还要vip,直接摒弃。
#!/bin/bash # RealSense一键安装脚本 echo "==========================================" echo "Intel RealSense 安装脚本" echo "==========================================" # 添加RealSense仓库 echo "[1/4] 添加Intel RealSense仓库..." sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || { echo "错误: 添加密钥失败" exit 1 } sudo apt install -y software-properties-common sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -y sudo apt update # 安装librealsense2 echo "[2/4] 安装librealsense2..." sudo apt install -y librealsense2-dkms librealsense2-utils librealsense2-dev # 安装ROS包 echo "[3/4] 安装ROS包..." sudo apt install -y ros-noetic-realsense2-camera ros-noetic-realsense2-description # 设置用户权限 echo "[4/4] 设置用户权限..." sudo usermod -a -G plugdev $USER echo "==========================================" echo "安装完成!" echo "==========================================" echo "请执行以下操作:" echo "1. 重新登录(或运行 newgrp plugdev)" echo "2. 插入D435i相机到USB 3.0口" echo "3. 运行 realsense-viewer 测试" echo "=========================================="不过实际上我直接启动,出现以下报错,不过基本可以正常使用,
source /opt/ros/noetic/setup.bash && roslaunch realsense2_camera rs_camera.launch align_depth:=true &11/12 21:26:55,245 WARNING [140217695110912] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 11/12 21:27:08,891 ERROR [140216891324160] (ds5-options.cpp:88) Asic Temperature value is not valid!如若你需要/camera/imu信息,那么固件匹配问题很重要,请参阅这篇文章,这个需要自行解决,我在之前的项目中遇到过。
https://blog.csdn.net/sinat_16643223/article/details/115322425https://blog.csdn.net/sinat_16643223/article/details/115322425