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

由于T265停产,Intel® RealSense™ SDK 2.0 (v2.54.1) 在该版本中移除了对T265相机的支持,以后的版本也不会支持了。为了继续使用 T265 相机,最好千万不要升级 realsense 相关的 package,但是还有新装机的需求啊。经测试Intel® RealSense™ SDK 2.0 (v2.53.1) 能对 T265 正常支持,因此,本文主要是总结如何安装 v2.53.1 版本的 SDK,经过验证,整理了两种可行方法。

本文的系统环境:ubuntu 18.04,不同系统环境下文中提到包的版本号可能不同,需要结合本文 2.1.3 节中所提的方法自己查询一下。为了方便,文中给出了常见系统环境 ubuntu 18.04ubuntu 20.04 下的安装流程。

测试时间:2023 年 06 月 08 日

注意:安装时,不要将相机连在设备上。

1 缘起

因为本人的强迫症,每天闲来无事就会打开系统的软件更新器,看看有没有啥需要更新的,经常是鼠标点的比脑子快,结果就悲剧了。反应过来以后,发现 realsense-viewer 的版本号升级了,便去 realsense 的 github 查看了一下releases发行说明,发现 SDK 不再支持 T265 了。真是头大!!!

请添加图片描述

2 Using pre-build packages(优先推荐)

本文的系统环境:ubuntu 18.04,不同系统环境下文中提到包的版本号可能不同,需要结合本文 2.1.3 节中所提的方法自己查询一下。为了方便,文中给出了常见系统环境 ubuntu 18.04ubuntu 20.04 下的安装步骤。

2.1 电脑、妙算、NUC等 x86架构 设备中的安装

2.1.1 ubuntu 18.04(x86 架构)

Using pre-build packages,该种安装方式是官方优先推荐的安装方式,本教程的方法和官方的方法基本一致,只是在其基础上调整了依赖包的安装顺序指定了包的安装版本。本教程只对有修改的关键部分介绍,更为详细的环境配置还去要去看官网安装教程。

注意:安装时,不要将相机连在设备上。

如果之前安装不成功,或者安装了其他版本的 SDK ,最好先全部卸载,然后再依次执行下述命令。使用以下命令删除所有与 RealSense™ SDK 相关的包。

dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

(1)注册服务器的公钥

sudo mkdir -p /etc/apt/keyrings
curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null

(2) 确保安装了 apt HTTPS 支持

sudo apt-get install apt-transport-https

(3)将服务器添加到存储库列表中

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

(4)安装相关库(关键部分

%========对应原教程命令:sudo apt-get install librealsense2-dkms===========%

sudo apt-get install librealsense2-udev-rules:amd64=2.53.1-0~realsense0.8249

sudo apt-get install librealsense2-dkms=1.3.16-0ubuntu1

%========对应原教程命令:sudo apt-get install librealsense2-utils============%

sudo apt-get install librealsense2=2.53.1-0~realsense0.8249

sudo apt-get install librealsense2-gl=2.53.1-0~realsense0.8249

sudo apt-get install librealsense2-net=2.53.1-0~realsense0.8249

sudo apt-get install librealsense2-utils=2.53.1-0~realsense0.8249

(5)安装开发人员和调试包

与 realsense-ros 的编译过程有关,不装的话会在编译 realsense-ros 时报错: Intel RealSense SDK 2.0 is missing, please install it from https://github.com/IntelRealSense/librealsense/releases

%==================只在原教程基础上指定了安装版本====================%

sudo apt-get install librealsense2-dev=2.53.1-0~realsense0.8249

sudo apt-get install librealsense2-dbg=2.53.1-0~realsense0.8249

下面的几个包,可以不装。

%============下面的几个好像不安装也没有影响,可以不装==================%

sudo apt-get install librealsense2-gl-dev=2.53.1-0~realsense0.8249

sudo apt-get install librealsense2-gl-dbg=2.53.1-0~realsense0.8249

sudo apt-get install librealsense2-net-dev=2.53.1-0~realsense0.8249

sudo apt-get install librealsense2-net-dbg=2.53.1-0~realsense0.8249

(6)重新连接英特尔实感深度摄像头并运行: realsense-viewer 以验证安装。

(7)如果之前安装不成功,或者安装了其他版本的 SDK ,最好先全部卸载,然后再依次执行上述命令。

使用以下命令删除所有与 RealSense™ SDK 相关的包。

dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

(8)最后,如果之前已经安装过realsense-ros 功能包,则需要重新对 realsense-ros 功能包 catkin_make 和 catkin_make install 一次。

(9)为了避免系统继续对 realsense 的驱动进行升级,需要关闭系统获取其更新源,可将 软件和更新 中的相关项取消勾选

在这里插入图片描述

2.1.2 ubuntu 20.04(x86 架构)

不同系统环境下文中提到包的版本号可能不同,需要结合本文 2.1.3 节中所提的方法自己查询一下,本文同时给出系统 ubuntu 20.04环境下相关包的安装版本。该部分内容与 2.1.1 中内容基本一致,仅对 步骤 (3)安装相关库 中包的版本号进行了修改。

注意:安装时,不要将相机连在设备上。

如果之前安装不成功,或者安装了其他版本的 SDK ,最好先全部卸载,然后再依次执行下述命令。使用以下命令删除所有与 RealSense™ SDK 相关的包。

dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

(1)注册服务器的公钥

sudo mkdir -p /etc/apt/keyrings
curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null

(2) 确保安装了 apt HTTPS 支持

sudo apt-get install apt-transport-https

(3)将服务器添加到存储库列表中

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

(4)安装相关库(关键部分

%========对应原教程命令:sudo apt-get install librealsense2-dkms===========%

sudo apt-get install librealsense2-udev-rules:amd64=2.53.1-0~realsense0.8250

sudo apt-get install librealsense2-dkms=1.3.17-0ubuntu1

%========对应原教程命令:sudo apt-get install librealsense2-utils============%

sudo apt-get install librealsense2=2.53.1-0~realsense0.8250

sudo apt-get install librealsense2-gl=2.53.1-0~realsense0.8250

sudo apt-get install librealsense2-net=2.53.1-0~realsense0.8250

sudo apt-get install librealsense2-utils=2.53.1-0~realsense0.8250

(5)安装开发人员和调试包

与 realsense-ros 的编译过程有关,不装的话会在编译 realsense-ros 时报错: Intel RealSense SDK 2.0 is missing, please install it from https://github.com/IntelRealSense/librealsense/releases

%==================只在原教程基础上指定了安装版本====================%

sudo apt-get install librealsense2-dev=2.53.1-0~realsense0.8250

sudo apt-get install librealsense2-dbg=2.53.1-0~realsense0.8250

下面的几个包,可以不装。

%============下面的几个好像不安装也没有影响,可以不装==================%

sudo apt-get install librealsense2-gl-dev=2.53.1-0~realsense0.8250

sudo apt-get install librealsense2-gl-dbg=2.53.1-0~realsense0.8250

sudo apt-get install librealsense2-net-dev=2.53.1-0~realsense0.8250

sudo apt-get install librealsense2-net-dbg=2.53.1-0~realsense0.8250

(6)重新连接英特尔实感深度摄像头并运行: realsense-viewer 以验证安装。

(7)如果之前安装不成功,或者安装了其他版本的 SDK ,最好先全部卸载,然后再依次执行上述命令。

使用以下命令删除所有与 RealSense™ SDK 相关的包。

dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

(8)最后,如果之前已经安装过realsense-ros 功能包,则需要重新对 realsense-ros 功能包 catkin_make 和 catkin_make install 一次。

(9)为了避免系统继续对 realsense 的驱动进行升级,需要关闭系统获取其更新源,可将 软件和更新 中的相关项取消勾选

在这里插入图片描述

2.1.3 详细分析

(1)官网的原版教程

图片中是官网原版的教程,可以看出,前文我给出教程基本和官方是一样,主要是将红框中标出的两条核心指令进行了拆解,并指定了安装包的版本号。

在这里插入图片描述

(2)安装所需要的包及其依赖关系

官方给出了安装所需要的全部包及其相关依赖关系说明。直接用官网的命令安装的话,会默认安装软件包及其所依赖包的最新版本,这会和我们想要安装的版本有冲突,导致安装失败。所以我们要做的就仅仅只是,按照特定的顺序和特定的版本,手动将下列的包给安装一遍,其中有些包可能用不到,不安装也行。

Realsense SDK(2.0) v2.53.1 中所需要的安装包。

请添加图片描述

Realsense SDK(2.0) v2.54.1 中所需要的安装包也是官网中现在所展示的网页中的样子,和之前相比去掉了 librealsense2-net 包的安装。

请添加图片描述

我们安装 Realsense SDK(2.0) v2.53.1 所需的几个包之间的相互依赖关系大致如下图所示,所以才有了本教程中给出的特定安装顺序及版本。
在这里插入图片描述

终端中输入命令 dpkg -l | grep "librealsense2" 可以检索系统中安装的与 realsense SDK 有关的包。下图中显示了两次检索的情况:第一次,是使用官网默认教程之间安装 Realsense SDK(2.0) v2.54.1 版本后的情况;第二次,是使用本教程安装 Realsense SDK(2.0) v2.53.1 版本后的情况。

请添加图片描述
(3)知识补充

通过命令 apt list -a librealsense2-dkms 或者 apt-cache madison librealsense2-dkms 可以查询系统当前软件源下某个包的可用安装版本。要查询 realsense SDK 相关包的可用安装版本情况,需要先添加 realsense 服务器的地址,即上面步骤中的 注册服务器的公钥

  • 查询 apt list -a librealsense2-udev-rules 的情况

在这里插入图片描述

  • 查询 apt list -a librealsense2-dkms 的情况

请添加图片描述

  • 查询 apt list -a librealsense2 的情况

在这里插入图片描述

  • 查询 apt list -a librealsense2-gl 的情况

在这里插入图片描述

  • 查询 apt list -a librealsense2-net 的情况,可以看到和之前的包不同,该包的版本号到 2.53.1-0~realsense0.8249 就停止了,和前文中我们的结论是一致的,该包的安装在 Realsense SDK(2.0) v2.54.1 版本以后已经去掉了

在这里插入图片描述

  • 查询 apt list -a librealsense2-utils 的情况

在这里插入图片描述

2.2 Tx2等 arm架构 设备中的安装

经评论区小伙伴的提醒和自己的测试,发现不同平台架构(x86架构 和 arm架构)下安装包的版本号和所需的包有所不同,因此这里同时给出在 arm架构 系统中的安装步骤。已在 tx2 ubuntu 18.04 的环境下测试通过。

可以看到,和x86架构下安装相比,有个别包不需要装了

2.2.1 ubuntu 18.04(arm 架构)

注意:安装时,不要将相机连在设备上。

如果之前安装不成功,或者安装了其他版本的 SDK ,最好先全部卸载,然后再依次执行下述命令。使用以下命令删除所有与 RealSense™ SDK 相关的包。

dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

(1)注册服务器的公钥

sudo mkdir -p /etc/apt/keyrings
curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null

(2) 确保安装了 apt HTTPS 支持

sudo apt-get install apt-transport-https

(3)将服务器添加到存储库列表中

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

(4)安装相关库(关键部分

sudo apt-get install librealsense2-udev-rules:arm64=2.53.1-0~realsense0.703

sudo apt-get install librealsense2=2.53.1-0~realsense0.703

sudo apt-get install librealsense2-gl=2.53.1-0~realsense0.703

sudo apt-get install librealsense2-utils=2.53.1-0~realsense0.703

sudo apt-get install librealsense2-dev=2.53.1-0~realsense0.703

%============================下面这个可以不装============================%

sudo apt-get install librealsense2-dbg=2.53.1-0~realsense0.703

(5)重新连接英特尔实感深度摄像头并运行: realsense-viewer 以验证安装。

(6)最后,如果之前已经安装过realsense-ros 功能包,则需要重新对 realsense-ros 功能包 catkin_make 和 catkin_make install 一次。

(7)为了避免系统继续对 realsense 的驱动进行升级,需要关闭系统获取其更新源,可将 软件和更新 中的相关项取消勾选

在这里插入图片描述

2.2.2 ubuntu 20.04(arm 架构)

不同系统环境下文中提到包的版本号可能不同,因为我手边目前只有 ubuntu 18.04 的 tx2,无法对 ubuntu 20.04 环境下的 配置过程进行测试,所以不知道包的版本号,等一个热心的小伙伴在评论区告诉我。。。

安装步骤 同上面的ubuntu 18.04,但是先用命令 apt list -a librealsense2 看一下 ubuntu 20.04环境下的版本号,然后把要安装的几个包后面的版本号都替换一下就行。

3 Configuring and building from the source code

官网中也提供了源码安装的教程,我们要做的只是下载对应版本的源码,并按教程安装即可。

注意:安装时,不要将相机连在设备上。

3.1 下载 v2.53.1 版本的 librealsense SDK

在官网的发行界面,找到 Intel® RealSense™ SDK 2.0 (v2.53.1) 的界面,下载源码 zip 格式或者 tar.gz 都行,然后解压。

![在这里插入图片描述](https://img-blog.csdnimg.cn/2bbeb09b1e6a400b91c9879187baf62b.png#pic_center =600x

3.2 环境构建

(1)更新 ubuntu

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

(2)安装依赖项

解压好后,进入 librealsense 文件目录,并在该目录下打开终端。

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

(3)安装 librealsense原文件目录下的许可脚本

./scripts/setup_udev_rules.sh

注意:该许可脚本可以通过如下命令移除

./scripts/setup_udev_rules.sh --uninstall

(4)为以下对象构建和应用修补的内核模块(可忽略)

我实际安装过程中,没有进行这一步,最后也能够正常使用。

对于Ubuntu 14/16/18/20 with LTS kernel (< 5.13)

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

(5)TM1-specific: TM1

跟踪模块需要内核模块hid_sensor_custom才能正常运行。由于 TM1 的上电顺序限制,需要在引导期间加载此驱动程序才能正确初始化硬件。

为此,请将驱动程序的名称hid_sensor_custom添加到 /etc/modules 文件中,例如:

echo 'hid_sensor_custom' | sudo tee -a /etc/modules

3.3 源码编译

(1) 导航到 librealsense 根目录并运行

mkdir build && cd build

(2)运行CMake

cmake ../ -DCMAKE_BUILD_TYPE=Release

(3)重新编译并安装 librealsense 二进制文件

sudo make uninstall && make clean && make && sudo make install

The shared object will be installed in /usr/local/lib, header files in /usr/local/include.

The binary demos, tutorials and test files will be copied into /usr/local/bin.

(4)最后,如果之前已经安装过realsense-ros 功能包,则需要重新对 realsense-ros 功能包 catkin_make 和 catkin_make install 一次。

3.4 测试

重新连接英特尔实感深度摄像头并运行: realsense-viewer 以验证安装。

请添加图片描述

4 血泪教训

不要瞎折腾配置好的环境,更不要乱升级。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/57489.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习Redis(4):哨兵

前言 在 Redis&#xff08;3&#xff09;&#xff1a;主从复制 中曾提到&#xff0c;Redis主从复制的作用有数据热备、负载均衡、故障恢复等&#xff1b;但主从复制存在的一个问题是故障恢复无法自动化。本文将要介绍的哨兵&#xff0c;它基于Redis主从复制&#xff0c;主要作…

js中exec与match的区别

const regex1 RegExp(f(o.?),g); const str1 table foatball, fobsball; let array1; let array2; array1 regex1.exec(str1) array2 str1.match(regex1)console.log(array1, array1); console.log(array2, array2); //没有g的情况下,都是找到第一个匹配,并且如果有分组,…

【C#学习笔记】引用类型(1)

文章目录 引用类型class匿名类 记录引用相等和值相等record声明 接口delegate 委托合并委托/多路广播委托 引用类型 引用类型的变量存储对其数据&#xff08;对象&#xff09;的引用&#xff0c;而值类型的变量直接包含其数据。 对于引用类型&#xff0c;两种变量可引用同一对…

软件开发和测试开发选哪个更好?一文讲清!

1、岗位需求分析 随着科技的发展&#xff0c;软件测试领域对人才的要求越来越高&#xff0c;特别测试开发岗位已成行业热点关注对象。 做开发的同学也对测试开发岗位感到好奇&#xff0c;为什么做测试还要写代码做开发&#xff1f; 他们都在开发些什么软件&#xff1f; 到底…

【C++】开源:Eigen3矩阵与线性代数库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Eigen3矩阵与线性代数库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&…

ElementUI el-table 鼠标滚动失灵的问题及解决办法

Bug&#xff1a;ElementUI el-table 鼠标滚轮下滑动失灵的情况 我测出来的这个问题条件很苛刻&#xff0c;需要达到以下几个条件才会触发&#xff1a; 1.element plus&#xff08;其他版本没试&#xff09; 2.el-table-column组件有fixed属性时 3.template标签中有el-butto…

C++ | 位图与布隆过滤器

目录 前言 一、位图 1、位图的引入 2、位图的实现 &#xff08;1&#xff09;基本结构 &#xff08;2&#xff09;构造函数 &#xff08;3&#xff09;插入数据 &#xff08;4&#xff09;删除数据 &#xff08;5&#xff09;是否存在 3、位图的优缺点 4、位图的应用…

pytorch入门

详细安装教程和环境配置可以看&#xff1a;Python深度学习&#xff1a;安装Anaconda、PyTorch&#xff08;GPU版&#xff09;库与PyCharm_哔哩哔哩_bilibili 跟学课程&#xff1a;B站我是土堆 pytorch中两个实用函数&#xff1a; dir()&#xff1a;打开 help():说明书…

Java POI 百万规模数据的导入和导出

目录 1、百万数据导入1.1 需求分析1.2 思路分析1.3 代码实现1.3.1 步骤分析1.3.2 自定义处理器1.3.3 自定义解析1.3.4 测试 2、百万数据导出2.1、概述2.2、解决方案分析2.3、原理分析2.4、百万数据的导出2.4.1、模拟数据2.4.2、思路分析2.4.3、代码实现2.4.4、测试结果 1、百万…

python-网络爬虫.Request

Request python中requests库使用方法详解&#xff1a; 一简介&#xff1a; Requests 是Python语言编写&#xff0c;基于urllib&#xff0c; 采用Apache2 Licensed开源协议的 HTTP 库。 与urllib相比&#xff0c;Requests更加方便&#xff0c;处理URL资源特别流畅。 可以节约我…

如何消除浮动

第一种方法: 1、创建一个general.css文件&#xff1a; charset "utf-8"; .clearfix:after {content: "";display: block;clear: both;} /* flex */ .flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;} .flexA {justify-content: space-aroun…

iPhone 6透明屏是什么?原理、特点、优势

iPhone 6透明屏是一种特殊的屏幕技术&#xff0c;它能够使手机屏幕变得透明&#xff0c;让用户能够透过屏幕看到手机背后的物体。 这种技术在科幻电影中经常出现&#xff0c;给人一种未来科技的感觉。下面将介绍iPhone 6透明屏的原理、特点以及可能的应用。 iPhone 6透明屏的原…

if语句实现成绩等级判断

if语句实现成绩等级判断 案例分析代码实现小结Time 案例分析 使用键盘输入一个成绩&#xff0c;然后通过if判断语句实现成绩等级的判断 代码实现 import java.util.Scanner;public class DetermineDemo {public static void main(String[] args) {Scanner scanner new Scanne…

服务器硬件、部署LNMP动态网站、部署wordpress、配置web与数据库服务分离、配置额外的web服务器

day01 day01项目实战目标单机安装基于LNMP结构的WordPress网站基本环境准备配置nginx配置数据库服务部署wordpressweb与数据库服务分离准备数据库服务器迁移数据库配置额外的web服务器 项目实战目标 主机名IP地址client01192.168.88.10/24web1192.168.88.11/24web2192.168.88…

ElasticSearch可视化管理工具之ElasticHD

推荐的五种客户端 1.Elasticsearch-Head &#xff0c; Elasticsearch-Head 插件在5.x版本之后已不再维护&#xff0c;界面比较老旧。 2.cerebro 据传该插件不支持ES中5.x以上版本。 3.kinaba 功能强大&#xff0c;但操作复杂&#xff0c;以后可以考虑。 4.Dejavu 也是一个 Elas…

vue 新学习 04 css样式绑定,渲染,key的重要意义

之前的html文件如何去绑定css样式&#xff1f; 01.首先在html文件中&#xff0c;在<head>标签中&#xff0c;用<style>中去写样式&#xff0c;通过html标签(每一个标签都有这样子的属性)中的class或者是id属性来完成<style>中的描绘的样式的用。 例子&#x…

语义分割文献整理

2014年文献 1.论文题目《Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs》 1.1.网络别名《DeepLabV1》 1.2.论文引用 Chen L C, Papandreou G, Kokkinos I, et al. Semantic image segmentation with deep convolutional nets and ful…

通过 CCIP 构建跨链应用(5 个案例)

Chainlink 的跨链互操作性协议&#xff08;CCIP&#xff09;是一种新的通用跨链通信协议&#xff0c;为智能合约开发人员提供了以最小化信任的方式在区块链网络之间传输数据和通证的能力。 目前&#xff0c;部署在多个区块链上的应用程序面临着资产、流动性和用户的碎片化问题…

【电源专题】电压查表法显示电量的原理与缺点

在文章:【电源专题】电量计估计电池荷电状态方法(开路电压法及库仑计法)的差别中我们讲到电量计估计荷电状态的方法。其中开路电压法实现方法较容易,可借着开路电压对应荷电状态查表而得到。 那么为什么能够使用电压查表法去预估电池容量呢?如下所示如果我们往一个有刻度…