NVIDIA Xavier NX的Intel Realsense双目相机(T265+D435i)环境搭建

2023-05-16

文章目录

  • 一、硬件部分
  • 二、环境配置
    • 1.安装ROS
    • 2.编译realsense
        • (1)查看版本
        • (2)编译librealsense
        • (3)编译realsense-ros
        • (4)查看是否安装成功
        • (5)更新D435i的固件
    • 3.启动建图
        • D435i无topic数据


NX是Nvidia推出的一款迷你电脑,可以理解问一个可以装系统的单片机。NX是基于arm架构的,不同于我们电脑使用的x86或amd架构,在安装过程中会有一些区别。

一、硬件部分

NX的接口资源还是非常丰富的,官方版有4个USB接口。而且可以根据自己的使用需求买非官方的载板,我实验室采购的小载板是准备装在250或者330无人机上的。
IntelRealSense用于双相机的VIO,其中T265是视觉辅助IMU进行室内定位,D435是深度相机用于建图。

二、环境配置

首先要在NX上安装ubuntu,建议去NX官网下载镜像文件安装,不要安装官方发布的ubuntu版本,这一步最好和CUDA一起让商家给你装好。
另外值得注意的是,arm架构的源和x86/amd是不同的,要单独去搜arm的源!!

1.安装ROS

网上关于这个的教程非常多,大体就是按照官网教程往下推:
http://wiki.ros.org/cn/Installation/Ubuntu
不知道是不是错觉,arm架构下经常遇到网络问题导致安装不下去,比如添加key这一步。

2.编译realsense

开源网址:https://github.com/IntelRealSense
这里面有两个有用的项目:

librealsense:realsense的依赖库
realsense-ros:提供ros的扩展支持,比如launch文件就在这里

值得注意的是,你会发现官方只建议了在x86/amd架构下进行SDK安装,实际在nx上SDK安装librealsense确实存在一些问题,所以这里统一使用源码编译

(1)查看版本

安装之前好好看一下自己下载的是哪个版本,一定要保证realsense-ros是支持你安装的版本的,一定要注意!
①首先进入https://github.com/IntelRealSense/realsense-ros/releases/tag/2.3.1
②在Tags里选择版本,ROS1对应的是2.x的版本,ROS2对应的是3.x的版本。
③向下拉,首先看到Supported RealSense SDK这一项,下面写了对应的librealsense的版本,记住这个版本。
④再向下,Recommended Firmware中的表格里写了D400系列相机的固件版本,同样记住这个版本,这个非常重要!!

(2)编译librealsense

打开刚才记下的librealsense版本,开始源码编译,再次提醒注意版本:

git clone https://github.com/IntelRealSense/librealsense.git #如果你记下的版本就是最新版本,就用这个,否则就需要在分支中下载老版本的.zip
cd librealsense
mkdir build
cd build
cmake ..
make  #漫长的等待
sudo make install

(3)编译realsense-ros

首先创建工作空间

mkdir -p  ~/catkin_realsense/src
cd ~/catkin_realsense/src

下载源码

git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`  #查验
cd ..

编译工作空间

catkin_init_workspace
cd ..
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install

最后添加source文件

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

(4)查看是否安装成功

把相机分别单独连接到nx上,然后终端输入

realsense-viewer

应该是可以分别识别出两个相机的,并且应该可以看到视频、IMU和深度图像信息。

(5)更新D435i的固件

如果你在realsense-viewer中看到的D435i的固件比之前记下的低,那么你就需要升级固件。
固件下载地址:https://dev.intelrealsense.com/docs/firmware-releases
然后参照官方教程:https://dev.intelrealsense.com/docs/firmware-update-tool进行安装。
最后可以使用rs-fw-update -f查看固件版本对不对。

3.启动建图

启动双相机的基本命令就是

roslaunch realsense_camera rs_d400_and_t365.launch

然后打开Rviz

Rviz

添加想查看的图像、点云、坐标系信息,可以查看是否能正常运行。

D435i无topic数据

在测试过程中,我发现D435i没有彩色图像和点云输出,最开始发现开启D435i后,nx其中一个cpu核一定是100%占用(sudo jtop),那么应该就是默认参数太高了,需要进行调整。
在花费了很长时间的研究后,在github官方界面的issues的一个反馈里,找到了一个参考,原文是这么解决的:

roslaunch realsense2_camera rs_camera.launch filters:=pointcloud depth_width:=424 color_width:=424 depth_height:=240 color_height:=240 depth_fps:=15 color_fps:=15 pointcloud_texture_stream:=RS2_STREAM_ANY

这里解释一下,rs_camera.launch相当于D400系列的通用启动文件,里面有很多初始化参数,比如上面就分别设置了:开启点云,深度和彩色图像的长宽和帧率。
那么同理,在rs_d400_and_t265.launch里一样可以修改这些参数,打开.launch文件我们可以看到文件架构,参数先声明后引用,如果参数声明时没赋值,就读取后面引用内的参数数值。
再次roslaunch这个文件,打开Rviz我们可以发现已经出现了图像和点云信息。
注:这些参数肯定不是最优,后续怎么用自己调整就好了,比如我不需要彩色图像和imu数据,就在launch文件里改就行了。
至于为什么不分别启动rs_camera.launch和rs_t265.launch,你自己试一下就知道了。

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

NVIDIA Xavier NX的Intel Realsense双目相机(T265+D435i)环境搭建 的相关文章

  • 微机原理,有啥书籍推荐?

    我从事了单片机开发十几年 xff0c 很惭愧 xff0c 没有完整看完一本技术书籍 刚入行那会 xff0c 看过模电 xff0c 给我的感觉就是 xff0c 这书不是给新手看的 xff0c 是给专家看的 xff0c 果断放弃 后面又看了一些
  • public/private/protected的具体区别

    1 public xff1a public表明该数据成员 成员函数是对所有用户开放的 xff0c 所有用户都可以直接进行调用 2 private xff1a private表示私有 xff0c 私有的意思就是除了class自己之外 xff0
  • 单片机中有FLASH为啥还需要EEROM?

    这是一片真正为 终结懵逼 而生的回答 看完如果还不懂 xff0c 那就多看几遍 以前我做项目 xff0c 有时用Flash xff0c 有时用EEPROM xff0c 搞得我有点懵逼 然后在网上搜了一些资料 xff0c 看完以后还是不能理解
  • 嵌入式软件去哪个公司好?

    从事嵌入式单片机开发十几年 xff0c 碰到坑逼公司无数 这篇文章不会直接给你说什么公司好 xff0c 而是根据我的惨痛经历 xff0c 聊聊什么公司值得去 很多人说去越大的公司越好 xff0c 在大公司里 xff0c 你如同蝼蚁 xff0
  • 该不该放弃嵌入式,单片机这条路?

    本文几乎浓缩了我从业10几年的精华 xff0c 内容 涵盖我转行 打工 创业的经历 建议从头到尾不要错过一字一句 xff0c 因为字里行间的经验之谈 xff0c 或许能成为你人生重要转折点 全文 3700 多字 xff0c 写了 6 个多小
  • 集成学习(Ensemble Learning)

    集成学习Ensemble Learning Ensemble LearningDefinitionCommon types of ensemblesBootstrap aggregating Bagging BoostingStacking
  • 入住CSDN第一天

    对CSDN的个人看法 缺点 其实我对CSDN不感冒 xff0c 因为多年来一直在 简述 上面编写自己的博客 xff0c hexo 搭建个人博客 我对哪些必须扫码注册登录才能看复制 xff0c 必须花钱充钱才能下载资源的平台表示不喜欢 CSD
  • 前端技术文档

    前端技术大纲 首先声明需要CSS xff0c html xff0c xff08 js xff09 技术可不不用太深但是必须会一点 1 vue vueCDNvue Clivue routervue loadervue api 所有方法vue
  • 英雄手游版教程

    Android教程 百度搜索 ourplay 翻墙注册 Google 或者 拳头 或者 facebook 账号启动游戏 IOS教程 下载加速器个人推荐 迅雷 因为其他的都要收费搜索下载英雄联盟启动游戏
  • vue component

    component Vue component 39 todoItem 39 template 96 lt p gt 这是一个代办项 lt p gt 96 lt div gt lt todo ttem gt lt div gt 当vue实例
  • vue监听对象的用法

    watch监听对象 data return obj name 34 JackMe 34 watch 39 obj 39 handler newValue oldValue console log newValue name oldValue
  • VSCODE无法使用cnpm

    这里写自定义目录标题 简单暴力 简单暴力 1 xff0c 右击VSCode图标 xff0c 选择以管理员身份运行 xff1b 2 xff0c 在终端中执行get ExecutionPolicy xff0c 显示Restricted xff0
  • Win10环境下不同版本WinGW切换

    因需要 xff0c 安装了不同版本的WinGW gcc xff0c 实际使用中遇到一些问题 xff0c 解决过程记录如下 xff1a 在使用BusMaster时需要4 8 1版本 xff0c 原本系统默认9 2 0 xff0c busmas
  • 【无标题】

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • expo优势

    优点一 xff1a 一条命令生成apk或者ipa文件 xff0c 方便发布到应用商店 优点二 xff1a 代码publish xff0c 应用内热更新 优点三 xff1a 比react native多出不少实用原生组件 xff0c 比如一些
  • C++一些常见问题

    关于赋值的疑问 1 编译器为每个类默认重载了赋值操作符 xff1b 2 默认的赋值操作符仅完成了浅拷贝 xff1b 3 当需要进行深拷贝时必须重载赋值操作符 xff1b 4 赋值操作符与拷贝构造函数有相同的存在意义 实例分析 xff1a s
  • 树莓派学习(二):更换镜像源以及安装虚拟环境miniforge3

    树莓派学习 xff08 二 xff09 xff1a 更换镜像源以及安装pytorch 步骤一 xff1a 更换镜像源步骤二 xff1a 下载前的准备2 1 原来numpy库的卸载 步骤三 xff1a 安装miniforge3 步骤一 xff
  • 3.1 python版MapReduce基础实战

    输入文件在你每次点击评测的时候 xff0c 平台会为你创建 xff0c 无需你自己创建 xff0c 只需要启动HDFS xff0c 编写python代码即可 第1关 xff1a 成绩统计 mapper py usr bin python3
  • 怎么获取li里面的内容

    获取li的内容 span class token tag span class token tag span class token punctuation lt span ul span span class token punctuat
  • 偏移量的概念

    span class token selector span span class token punctuation span span class token property padding span span class token

随机推荐

  • js中的二级联动

    省份市级城市联动 span class token doctype lt DOCTYPE html gt span span class token tag span class token tag span class token pun
  • 页面跳转的几种方法

    location对象 href assgin跳转到另一个页面可以返回到原来的页面 location span class token punctuation span href span class token operator 61 sp
  • 学习JS基础部分一

    数据类型 分支结构 循环结构 数据类型 简单数据类默认值Number0BooleanfalseString Undefinedundefinednullnull 复杂数据类型默认值Array Object 分支结构 分支语句说明if 条件
  • 来,带你见识一下CT三维重建

    文 xff1a 北京协和医院放射科孙昊 来源 xff1a 从医开始 xff0c 协和八的奇妙临床笔记 相信各位同学在临床工作中 xff0c 已经接触到很多CT三维重建的图像了 xff0c 那么CT三维重建到底是个啥东东 xff1f 这个问题
  • 数组常用方法

    concat span class token keyword let span arr1 span class token operator 61 span span class token punctuation span span c
  • 深拷贝和浅拷贝

    浅拷贝和深拷贝的区别 浅拷贝是复制原数据的数据内容 xff0c 引用原数据的地址 xff1b 当改变复制之后的数据时 xff0c 原数据的数据内容也会被改变 xff0c 因为这是引用原来数据的地址 xff0c 改变的是原数据地址的数据内容
  • Set集合和Map集合

    Set集合 用于存放不重复的数据 xff0c 通过构造函数的形式 参数必须是一个可迭代对象 创建Set对象 span class token keyword const span s1 span class token operator 6
  • js树型结构处理

    span class token comment 获取树形结构并处理 span span class token comment 当child为null时处理 span span class token comment 如果是childre
  • 姿态旋转与坐标变换

    姿态旋转与坐标变换 旋转还是变换 xff1f 坐标旋转 变换矩阵 xff08 Rotation Matrix xff09 等效旋转矢量 xff08 Axis Angle xff09 罗德里格斯公式 xff08 Rodrigues 39 s
  • Gitlab

    Gitlab Gitlab介绍 我们了解了git是以个人为中心 xff0c 但是人人都得数据交互呀 python程序员每天都忙着进行py交易 交互数据的方式 使用github或者码云等公有代码仓库 xff0c 托管代码的地方 xff0c 谁
  • word论文排版和写作04:用MathType和word公式编辑器插入数学公式

    写在前面 插入公式在论文写作中是一个常见的操作 xff0c 本文作为补充 xff0c 主要介绍如何规范和方便地在word中插入公式 主要的方式有两种 xff0c 一种是使用MathType xff0c 一种是使用word自带的公式编辑器 关
  • Jetson Nano ros melodic+realsense+aruco

    一 realsense SDK和realsense ros安装 参考链接 xff1a Ubuntu18 04 43 ROS melodic 安装使用 RealSenseD435i Lynn mg的博客 CSDN博客 ubuntu18安装re
  • ROS同步订阅realsense的彩色图和深度图(python实现)

    首先要保证realsense ros功能包的正常使用 xff0c 具体安装使用如下 xff1a Jetson Nano ros melodic 43 realsense 43 aruco 杰杰 xff01 的博客 CSDN博客 1 创建订阅
  • 用opencv的aruco库生成二维码marker标记

    用opencv的aruco库生成二维码marker标记 代码来源于官方提供的完整的工作实例create marker cpp 在opencv源码中的位置为opencv contrib 4 4 0 modules aruco samples
  • 树莓派上手实战之SSH下配置VNC服务器实现远程桌面(可以实现开机自启动vncserver)

    VNC是linux下面常用的远程桌面 xff0c 用它可以在windows或者unix主机上方便的通过网络操作远程主机而不需要一个额外的显示器 xff0c 非常实用 这篇教程将会详细讲解安装配置VNC服务器开启远程桌面服务的全部过程 首先
  • minikube搭建kubernetes

    系统环境 deepin15 11 安装virtualbox虚拟机 xff1a 应用商店就有安装minikube aizhao 64 aizhao hellonode curl Lo minikube https storage google
  • 安装软件时出现Command “python setup.py egg_info“ failed with error code 1 in /tmp的解决方案

    问题出现 pip3 install paramiko Collecting paramiko Downloading https pypi doubanio com packages be 6f f0ec5f5fb00d270ebd8094
  • flask基础总结(一)——从最简单的例子做起

    Flask是一个用Python编写的Web应用程序框架 xff0c 基于Werkzeug WSGI工具包和Jinja2模板引擎 下面从一个最简单的flask例子说起 span class token keyword from span fl
  • 为什么不建议对Intel Realsense的D400 Series和T265进行标定(Calibration)

    若非特殊情况或有专业设备 xff0c 不建议对相机进行标定 xff01 xff01 xff01 D400 Series 我就是在标定之后才发现 xff0c 标定就是个坑 xff01 xff01 xff01 我在标定后出现问题了才去问的售后
  • NVIDIA Xavier NX的Intel Realsense双目相机(T265+D435i)环境搭建

    文章目录 一 硬件部分二 环境配置1 安装ROS2 编译realsense xff08 1 xff09 查看版本 xff08 2 xff09 编译librealsense xff08 3 xff09 编译realsense ros xff0