Intel Realsense Tracking Camera T265上手测试与总结

2023-05-16

首先在官网(https://www.intelrealsense.com/zh-hans/get-started-tracking-camera/)上认真阅读使用教程,让自己对 Realsense T265相机有一个初步的认识。了解过后,下面进行测试。(以下的测试操作步骤都是基于官网的教程,如果自己操作时遇到了问题,可以在官网上寻找解决办法)

一 在Windows上测试

安装官方提供的RealSense.Viewer软件,在软件中测试。首先,打开github网站https://github.com/IntelRealSense/librealsense/releases/tag/v2.36.0,然后找到网页的此处:

在这里插入图片描述
点击选中 Intel.RealSense.Viewer.exe下载,下载完成后安装即可。
最后,打开RealSense.Viewer软件开始测试。根据界面提示点击“Tracking Moduled”的开启按钮,界面会弹出如下的2D可视化界面:

在这里插入图片描述

Inter RealSenseT265追踪相机内置两个带鱼眼的灰度相机 一个IMU和一个VPU,所有V-SLAM算法都直接在VPU上运行。在2D可视化界面中,我们可以看到左右两个鱼眼灰度相机的广视角灰度图像,还有加速度流 角速度流 姿态流。

当点击界面右上角的“3D”按钮时,会打开如下的3D可视化界面:

在这里插入图片描述

移动T265相机,我们会发现界面上有一个T265模型也在移动,并且画出了轨迹线路,如上图所示。轨迹线路的颜色代表了轨迹的信任度大小,黄色代表轨迹信任度中等,绿色代表信任度较高。

此外,我们还可以点击“Record”按钮来记录T265相机的轨迹,轨迹信息会以.bag文件的形式保存到相应路径中。我们点击“Add Source”按键,可以把之前保存好的轨迹文件打开,把相机运动轨迹图形化显示到界面上,如下图所示:

在这里插入图片描述

**

二 在ubuntu上测试

**

1 安装realsense sdk库文件librealsense

1)二进制文件安装(源码不可见)(安装的具体流程详见官网https://github.com/IntelRealSense/librealsense/blob/development/doc/distribution_linux.md)

a 注册服务器的公钥:

sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE

b 添加服务器列表(Ubuntu 18.04用以下指令):

sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u

c 安装所需的库:

sudo apt-get install librealsense2-dkms(深度相机专用内核扩展的DKMS软件包)  
sudo apt-get install librealsense2-utils (RealSense™SDK提供的一部分demo和工具)

d 开发者开发调试用的包(可选):

sudo apt-get install librealsense2-dev(开发者所要用到的头文件和链接符号)
sudo apt-get install librealsense2-dbg(开发者debug用到)

e 在终端上运行以下命令来打开realsense-viewer可视化软件:

realsense-viewer

运行该命令后,会自动弹出如下的界面:

在这里插入图片描述
接下来要做的测试操作同Windows。

2)源码编译安装(源码可见)

在终端上输入以下命令来下载源码包:

git clone https://github.com/IntelRealSense/librealsense.git

该源码包是CMake工程,可以通过编译CMake工程的方式进行编译,即在源码包路径下打开终端,依次输入以下命令:

mkdir build
cd build
cmake ..
make

(若把该源码包放到ROS工作空间中的src目录下,需要通过catkin_make_isolated命令与ROS功能包分开编译)

在librealsense/build/examples里,有很多编译生成的可执行文件,运行这些文件完成测试。例如,我们在~/librealsense/build/examples/pose路径下打开终端,运行命令:

./rs-pose

终端上会不断打印出当前相机相对于初始位置的XYZ三轴坐标值,运行结果如下图所示:

在这里插入图片描述

2 安装realsense-ros功能包

安装好realsense 的SDK库文件后,在ROS工作空间的src路径下打开终端,输入命令:

git clone https://github.com/IntelRealSense/realsense-ros.git

以实现克隆realsense-ros功能包的源码。然后在工作空间目录下,打开终端输入以下命令

catkin_make

完成代码包的编译。
(注:编译时系统可能报错,说realsense-ros功能包的CMakeLists.txt中要求realsense SDK库文件的版本是2.37,而用户安装的是2.36版本。这里要说一下,截至目前,2.37版本为预发行版本,用户只能克隆2.36的版本。因此我们可以在realsense-ros功能包的CMakeLists.txt中,把版本改成2.36版本)

在realsense-ros包的launch文件夹下有许多测试用的lancuh文件,对于T265追踪相机,可以在终端上输入以下命令进行测试:

roslaunch realsense2_camera demo_t265.launch

运行该launch文件后,会自动启动加载了参数配置文件的Rviz,在Rviz的可视化界面中可以直观地看到相机的位姿变化:

在这里插入图片描述

此时,我们可以在终端上运行命令:

rostopic list

来查看当前的话题列表。话题列表如下图所示:

在这里插入图片描述

在rs_t265.launch文件中可以进行参数的配置,比如更改发布的话题。

如果想要查看话题信息,可以使用以下命令来实现:

rostopic list +话题名 

如果想查看具体的话题消息内容,可以使用rostopic echo命令。例如,要查看当前相机的坐标位置 姿态 线速度 角速度等信息,可以在终端上运行命令:

rostopic echo camera/odom/sample

运行后,如下图所示,终端会实时连续的打印相机的上述一系列信息:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Intel Realsense Tracking Camera T265上手测试与总结 的相关文章

  • 来自相机的原始图像数据,如“645 PRO”

    不久前我已经问过这个问题并且我也得到了很好的答案 我一直在这个论坛上上下搜索 但找不到我想要的东西 真的需要 我想从相机获取原始图像数据 至目前为止 我试图从中获取 imageDataSampleBuffer 中的数据 方法 capture
  • Three.js 在平面上旋转相机

    我的应用程序中有一个相机 camera new THREE PerspectiveCamera 75 window innerWidth window innerHeight 0 1 1000 camera position z 1 cam
  • 在网络应用程序中从网络摄像头或移动摄像头拍照

    我正在开发一个网络应用程序 可以从本地浏览和拍照 而且我想通过相机捕获图像 我使用以下代码 我可以捕获设备相机
  • 如何在没有 UDID 的情况下跟踪 iOS5 上的下载

    谁知道如何在没有 UDID 的情况下跟踪 iOS 应用程序下载 通过网络广告 我认为这是不可能的 特别是如果用户从网站转到 AppStore 但一家名为 WDA 的公司似乎使这成为可能 http www lovefortech com 20
  • 如何创建和实现像素跟踪代码

    好吧 这是我一直在寻找的目标 众所周知 大多数广告和分析公司使用所谓的 像素 代码来跟踪网站浏览 交易 转化等 我确实知道它是如何工作的 问题是如何实现它 跟踪代码由几个部分组成 跟踪代码本身 这是用户在其网页上插入的代码部分 该代码的主要
  • 有没有比加0.5f并截断转换更直接的方法将float转换为int并进行舍入?

    在处理浮点数据的 C 代码中 从 float 到 int 的舍入转换相当频繁 例如 一种用途是生成转换表 考虑一下这段代码 Convert a positive float value and round to the nearest in
  • Skylake 中干净缓存行的写回?

    我观察到 Skylake SP 在真实硬件上对干净的缓存行进行写回 Leeor 对这篇文章的回答对于 Intel Core i3 i7 数据从缓存集中逐出后的去向 https stackoverflow com questions 1941
  • 混洗两个 __m128i 的 64 位部分的最佳方法

    我有两个 m128is a and b 我想进行洗牌 以便高 64 位a落在低 64 位dst和低 64 位b落在上64dst i e dst 0 63 a 64 127 dst 64 127 b 0 63 相当于 m128i dst mm
  • OpenCL 在调用 clGetPlatformIDs 时崩溃

    我是 OpenCL 新手 在配备 Intel R HD Graphics 4000 运行 Windows 7 的 Core i5 计算机上工作 我安装了支持 OpenCL 的最新 Intel 驱动程序 GpuCapsViewer 确认我有
  • 还有其他访问相机的替代方法吗?

    除了使用 ActionScript 3 之外 还有其他方法来访问相机吗 import flash media Camera videoInstance attachCamera cameraInstance 或者我应该使用任何 API 吗
  • OpenCV 中的相机标定和鸟瞰投影

    我已经完成了相机校准 现在我想获得棋盘图片的鸟瞰图 如下所示 但结果很奇怪 看起来不是一个正方形 你可以看到图3 每个正方形都是7 95x7 95 有人知道为什么吗 gpsPoints 0 Point2f gpsPoints 1 Point
  • 为什么 Camera.setParameters(Camera.Parameters) 不适用于索尼爱立信 X10 和 Droid?

    在索尼爱立信 X10 或 Droid 上使用相机 API 时 有人遇到过奇怪的行为吗 例如 以下代码不适用于这些设备 结果 我在市场上收到了很多负面反馈 导致许多订单被取消 mParameters set rotation orientat
  • 英特尔 SGX 开发者许可和开源软件

    是否可以获得许可的开发人员证书 用于在生产模式下签署经过安全审查 社区开发的开源 SGX 软件二进制文件 并将其发布到 apt 或 rpm 等开源存储库上 我刚刚询问了Intel SGX团队 他们说只有经过验证的供应商才能获得证书并在生产模
  • 跟踪大量电子邮件活动

    Litmus 上个月 2010 年 5 月 发布了电子邮件分析服务 看这里 http litmusapp com email analytics http litmusapp com email analytics 他们拥有非常酷的 读取率
  • 从连接到计算机并在成像设备中列出的相机捕获图像

    我有一台佳能 EOS 1000D 当我将其连接到计算机时 它列在 控制面板 gt 成像设备 下 我想以编程方式拍照 我猜想成像设备中列出的所有设备都具有相同的接口 可能是 TWAIN 并且具有向它们发送命令的标准方法 TWAIN可以做到吗
  • 当相机断开连接时,opencv videocapture 挂起/冻结而不是返回“False”

    我正在使用 OpenCV Python 3 1 遵循此处的示例代码 http opencv python tutroals readthedocs io en latest py tutorials py gui py video disp
  • 如何在SceneKit中实现逼真的景深效果?

    我正在尝试渲染具有真实景深效果的帧 我已经尝试过景深属性camera节点 但它不会产生可用的结果 是否可以切换到景深效果的最大渲染质量 性能不是一个因素 我只需要渲染一帧 用户可以等待它 SceneKit 中逼真的景深效果 在SceneKi
  • 禁止将拍摄的照片保存到 DCIM 文件夹中

    我在我的应用程序中通过 Intent 拍照 照片保存到 SD 上我指定的文件夹中 而且它们也保存到 DCIM 默认相机文件夹中 我不想两次 如何禁止将拍摄的照片保存到此默认相机目录中 先感谢您 这是我正在使用的 Intent intent
  • iPhone 相机访问权限?

    我想知道如何访问 iPhone 相机并实时使用它 例如 仅在相机视图上绘图 另一个相关问题 可以显示吗同时 4 个摄像机视图就像 Mac 上的 Photo Booth 一样 您可以使用 AVFoundation 来做到这一点 void in
  • AVX-512CD(冲突检测)与原子变量访问有何不同?

    所以我在看他们展示了如何 void Histogram const float age int const hist const int n const float group width const int m const float o

随机推荐

  • Android SO 加壳(加密)与脱壳思路

    0x01 常见的Android SO加壳 加密 思路 1 1 破坏Elf Header 将Elf32 Ehdr 中的e shoff e shnum e shstrndx e shentsize字段处理 xff0c 变为无效值 由于在链接过程
  • Android NDK中C++ STL库动态和静态链接

    0x00 本文参考 本文参考Android NDK中C 43 43 运行时库介绍 我们在开发NDK的时候 xff0c 经常需要使用C 43 43 STL库开发 xff0c 那么这些库是如何和我们的程序链接的呢 xff1f 0x01 C 43
  • 80386保护模式--GDT,LDT,TSS,调用门,特权级转移,附pmtest5代码详解

    教材选择一个操作系统的实现 xff0c 作者于渊 xff0c 看此书前最好了有汇编语言 xff0c 保护模式下的汇编 xff08 参考清华杨季文的80X86汇编语言程序设计教程 xff09 xff0c C语言 xff0c 计算机组成原理 x
  • vim学习资源

    http www vimer cn http coolshell cn http vimcdoc sourceforge net doc quickfix html 就这两个资源用好了 xff0c 就足够了
  • 80386保护模式--描述符,附pm.inc代码详解

    描述符包括 xff0c 存储段描述符 xff08 代码段 xff0c 数据段 xff0c 堆栈段 xff09 xff0c 系统描述符 xff08 任务状态段TSS xff0c 局部描述符表LDT xff09 xff0c 门描述符 xff08
  • 80386保护模式--分页机制,附pmtest8代码详解

    一 分段机制 逻辑地址 分段机制 线性地址 分页机制 物理地址 xff0c 分页机制示意图如图1 页目录表中的每一项叫页目录项 xff1b 页表中的每一项叫页表项 图 1 页映射表结构 页目录表PDE xff0c 及页表PTE如图2
  • 80386保护模式--中断机制,附pmtest9代码详解

    一 80386 xff0c 内存 xff0c 8259A的连接如图1 图 1 二 编程8259A中断控制器 xff08 将ICW写入特定的寄存器 xff09 8259A是可编程中断控制器 xff0c 对它的设置并不复杂 xff0c 是通过向
  • FAT12文件系统

    一 FAT12软盘格式 软盘格式如图1 xff1a 每个扇区是512字节 xff0c 512B 2880 61 1 44MB 图 1 软盘 xff08 1 44MB xff0c FAT12 xff09 1 引导扇区 占512字节 xff0c
  • X86/Win32函数调用规范研究

    一 函数调用总体框图如下 xff1a 二 C语言函数如下 xff1a int sum int x int y int s s 61 x 43 y return s int foo void int m 61 2 int n 61 3 int
  • ELF文件结构

    一 ELF文件结构如下图 xff1a 之所以要用ELF文件格式 xff0c 是因为这样可以用C语言和汇编语言混合写内核代码 二 ELF header及Program header详细介绍 nasm f elf o kernel o kern
  • int 13H int 10H int 15H

    一 int 13h中断 对于1 44MB的软盘来讲 xff0c 总共有两面 xff08 磁头号0和1 xff09 xff0c 每面有80个柱面 xff08 0 79 xff09 xff0c 每个柱面有18个扇区 软盘的容量的由来 xff1a
  • Orange's 进程

    解释一个操作系统的实现 chapter6 r中代码 程序流程如下 xff1a 1 把Loader中的GDT和esp挪到Kernel中 xff0c 初始化IDTPTR 2 初始化8259 xff0c 初始化IDT xff0c 初始化GDT中的
  • Orange's TTY

    一 TYY任务本质就是增加了一个进程 xff0c 并且运行在ring1 xff0c 且优先级调高了 并且设置了键盘中断用于接收键盘输入 xff0c 并将扫描码存放在缓冲区 task tyy也就是新加入的进程 xff0c 循环执行读写缓冲区
  • C语言指针强制类型转换

    一 举例说明 上图 对应函数调用为int printf const char fmt xff0c fmt为char 指针类型 xff0c 所以共占了32位字节 xff0c 但是 fmt执行的是一个字节 xff0c fmt 43 43 执行的
  • vimdiff 使用笔记

    vimdiff 是建立在 diff 命令之上的 启动方法 xff1a vimdiff file left file right 或者 vim d file left file right 只在某一文件中存在的行的背景色被设置为蓝色 xff0
  • Orange's 进程间通信

    新增一个系统进程 xff0c 和TESTA进行通信 xff0c 通信的流程是这样的 xff0c 如果首先执行到系统进程 xff0c 发送消息 xff0c 那么会触发内中断到ring0级 xff0c 完成发送所需要的动作 xff0c 之后回到
  • CDH启动tserver报错:java.lang.IllegalStateException: Multiple processes with same name

    现象 在CDH界面上重启kudu tserver时界面报错 xff1a 原因 1 首先查看cloudera scm agent的日志cm log cloudera scm agent supervisord log xff0c 看到 xff
  • 【FastRTPS】RTPS协议简介、创建第一个应用

    RTPS协议简介 Domain xff08 域 xff09 xff1a 定义了一个独立的通信平面 xff0c 多个域是同时独立存在的 域包含了多个Participant和发送接收数据的元素 Participant xff08 参与者 xff
  • putty time out超时

    解决方案 xff1a 关键是虚拟机网络 设置为桥接模式
  • Intel Realsense Tracking Camera T265上手测试与总结

    首先在官网 https www intelrealsense com zh hans get started tracking camera 上认真阅读使用教程 xff0c 让自己对 Realsense T265相机有一个初步的认识 了解过