告别踩坑:在Ubuntu 20.04上为ROS Noetic完美编译安装RealSense T265 SDK

大家好,我是11jzzz。如果你点开了这篇文章,那么你很可能和我一样,在今天2025年6月份要使用T265这个比较早的轨迹摄像头,在尝试让Intel RealSense T265相机在Ubuntu和ROS环境下工作时,经历了2天的血泪史:

  • apt 告诉找不到旧版本的 librealsense
  • roslaunch 不到 librealsense2.so.2.50 动态库
  • 尝试给内核打补丁,结果被告知内核版本太新,不支持
  • realsense-viewer 里空空如也,连相机的影子都看不到。

在经历了几乎所有能踩的坑之后,我终于摸索出了一条绝对稳定、可靠的道路。今天,我想把这个过程分享出来,让大家少走一些弯路。

结论:能够运行的版本,使用的是2.50.0版本的Intel® RealSense™ SDK 2.0 (v2.50.0)

其实文档说明2.50.0之后到2.53.1的版本都支持T265,但是经过过我实测,我这里不行。后续的apt-install的ros-realsense只支持的是2.50.0,当然自己下源码编译对应2.53.1的版本应该也性,大家可以参考这篇博客,把对应库的关系说明的很清楚:

realsense-viewer 不识别 T265——Realsense SDK 在 v2.54.1 版本以后不再支持T265相机的解决办法_realsense viewer-CSDN博客

问题的根源:

  1. ROS Noetic的官方依赖很“旧”:通过apt安装的ros-noetic-realsense2-camera包,是被编译来依赖一个旧版本(比如v2.50)的librealsense驱动的。当然你可以自己下源码然后手动编译,但是你得好好看下github上的更新日志,看看是否支持你想用的型号。
  2. Intel的apt源很“新”:官方的apt软件源可能已经不再提供那些旧版本的驱动下载,导致你想将就ROS却找不到对应的旧驱动。
  3. 我们的系统环境很“新”:Ubuntu 20.04的内核在不断更新,这让那些需要特定内核版本的官方“打补丁”脚本直接失效,给我们造成了极大的困惑。这里说明的是,我开始使用的是2204的ubuntu主机和20.04的docker,但是后来为了避免不是原声系统导致的兼容性问题,才换到了ubuntu原生系统20.04,现在看来应该是我当时没有注意到各个依赖库间的版本关系导致的错误,后续有机会我会在出一篇使用20.04的docker的过程分享。
最终的解决方案:源码编译

我们的想法:

  1. 先编译安装底层的 librealsense 驱动,让系统能最纯粹地识别到相机。
  2. 再编译 realsense-ros,让它在编译时自动链接到我们刚刚装好的驱动上。

这样一来,版本就完美统一了。下面是详细的步骤。


第一阶段:奠定基石 —— 编译并安装librealsense SDK (v2.50.0)

第0步:拥有一个“干净”的开始

卸载了所有之前尝试安装的RealSense包,避免任何潜在的冲突。

# 这个命令会查找所有已安装的realsense相关包并彻底清除它们
sudo dpkg --purge $(dpkg -l | grep "realsense" | cut -d " " -f 3)

# 顺便清理一下你之前可能下载的源码包(如果需要的话)
# rm -rf ~/librealsense-2.53.1 等
第1步:安装编译依赖
sudo apt-get install libssl-dev libusb-1.0-0-dev libudev-dev pkg-config libgtk-3-dev cmake

sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
第2步:下载并编译 v2.50.0 源码

自己去GitHub的Releases页面下载librealsense-2.50.0.tar.gz源码包并解压。

# 假设你已经解压,现在进入源码目录
cd ~/librealsense

# 创建一个独立的build目录,这是个好习惯,能让源码目录保持干净
mkdir build
cd build

# 运行CMake进行配置,它会检查依赖并生成编译文件
# -DBUILD_EXAMPLES=true 会把realsense-viewer等好用的工具也一起编译
cmake ../ -DBUILD_EXAMPLES=true

# 开始编译!-j后面跟的数字是你的CPU核心数,可以加快速度
make -j4

# 将编译好的库和工具安装到系统中(主要是/usr/local/lib和/usr/local/bin)
sudo make install
第3步:配置UDEV规则

源码安装不会自动帮你设置USB设备权限,我们需要手动完成这一步。这一步也代替了那些会报错的内核脚本。

# 回到源码根目录
cd ~/librealsense

# 复制规则文件到系统目录
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/

# 让规则立即生效
sudo udevadm control --reload-rules && sudo udevadm trigger
第4步:验证

拔掉你的T265相机,再重新插上

realsense-viewer

realsense-viewer的图形窗口弹出,并且在左侧边栏清晰地显示出“Intel RealSense T265”时,说明成功。

第5步:装realsense-ros

sudo apt install ros-noetic-realsense2-camera

为了能够版本对应,我们前面才会选择安装2.50.0,因为realsense-ros支持。

第6步:

source一下,然后一个终端启动roscore,另其一个终端,source并conda后即可顺利启动,

 

roslaunch realsense2_camera rs_t265.launch

 list节点可以看到:

(FlexUMI) demo@demo-20-04:~/FlexUMI-master$ rosnode list
/camera/realsense2_camera
/camera/realsense2_camera_manager
/rosout

### 如何在 Ubuntu 系统上卸载 librealsense 库 在 Ubuntu 系统中,卸载 `librealsense` 库可以通过以下命令完成。这些步骤确保了所有相关的依赖项和文件都被正确移除。 #### 1. 使用 `apt` 卸载 librealsense 如果通过 `apt` 或 `apt-get` 安装了 `librealsense`,可以使用以下命令卸载它: ```bash sudo apt-get remove --purge librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-gl librealsense2-gl-dev ``` 上述命令会卸载与 `librealsense` 相关的所有包,并清除配置文件[^1]。 #### 2. 手动删除安装的文件(适用于源码安装) 如果 `librealsense` 是通过源码编译安装的,则需要手动删除相关文件。以下是具体步骤: - 删除安装目录中的文件: ```bash sudo rm -rf /usr/local/lib/realsense2 sudo rm -rf /usr/local/include/librealsense2 ``` - 删除动态链接库: ```bash sudo ldconfig ``` - 如果有其他自定义路径,请检查并删除对应的文件。 #### 3. 清理残留的依赖项 为了确保系统中没有残留的依赖项,可以运行以下命令: ```bash sudo apt-get autoremove sudo apt-get clean ``` 这将移除不再需要的依赖项以及清理本地的软件包缓存。 #### 4. 检查是否完全卸载 可以通过以下命令检查 `librealsense` 是否已被成功卸载: ```bash dpkg -l | grep librealsense ``` 如果没有输出结果,则表示 `librealsense` 已被完全卸载。 --- ### 注意事项 - 如果在卸载过程中遇到问题,可能需要查看安装日志或重新安装以确保路径正确。 - 对于某些特定版本的 `librealsense`,可能需要参考官方文档或发行说明进行额外操作[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值