Ubuntu18.04 + ROS melodic 安装使用 InterRealSenseD435i SDK2和RealSense-ROS以及查看相机内参(吐血整理,踩坑总结)

2023-05-16

目录

前言

安装要求

一、安装使用 InterRealSenseD435i SDK2

1.注册服务器的公钥:

2.将服务器添加到存储库列表中:

3.安装库:

4.安装开发者和调试包:

5.测试SDK2

二、安装RealSense-ROS

1.创建ROS工作空间

2.下载realsense-ros安装包和ddynamic_reconfigure包放在src文件夹下,采用源码下载

3.编译

4.测试

三、查看相机内参


前言

本文写于2022年4月7日,在经历了两天的配置环境,心里从最初拿到相机的高兴,逐渐烦躁,碰到种种问题,再到最后终于解决了种种问题后,决定写博客记录下来,话不多说,开始吧。

安装要求

1.Ubuntu版本为18.04

2.安装了ROS melodic

本人ubuntu小白一枚,不知道在安装 RealSense-ROS 之前要安装 Ubuntu18.04 对应的ROS melodic,在没装ROS之前安装 RealSense-ROS 总会出现一个报错

-- Could not find the required component 'ddynamic_reconfigure'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by
  "ddynamic_reconfigure" with any of the following names:

    ddynamic_reconfigureConfig.cmake
    ddynamic_reconfigure-config.cmake

  Add the installation prefix of "ddynamic_reconfigure" to CMAKE_PREFIX_PATH
  or set "ddynamic_reconfigure_DIR" to a directory containing one of the
  above files.  If "ddynamic_reconfigure" provides a separate development
  package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  realsense/realsense2_camera/CMakeLists.txt:8 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/bruce/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/bruce/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:1536: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

我是已经下载了ddynamic_reconfigure的package,放在了指定文件夹下,依然会报上述错误,此时我意识到了,我没有安装ROS,开始安装ROS,安装ROS的详细步骤请看我的这篇博客Ubuntu18.04安装Ros Melodic,接下来,开始安装。


一、安装使用 InterRealSenseD435i SDK2

在这里我是采用命令行的安装方式安装,参考官方安装教程

1.注册服务器的公钥:

打开终端输入

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

2.将服务器添加到存储库列表中:

在终端里输入

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

3.安装库:

在终端里输入

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

4.安装开发者和调试包:

在终端里输入

sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg

5.测试SDK2

把相机与电脑上的USB3.0口相连后(不是USB3.0口可能会出问题),打开终端输入

realsense-viewer

 左侧三个开关从上到下依次是深度,RGB以及IMU,都能打开后出现以上图片,说明SDK2安装成功了。(之前安装过一次,第三个IMU按钮打不开,然后重新安装了一遍,IMU就可以打开了)


二、安装RealSense-ROS

参考官方教程

1.创建ROS工作空间

参考此篇博客

1.创建catkin_ws

1)创建src文件夹,放置功能包源码

打开终端输入

mkdir -p ~/catkin_ws/src

如果之前已经创建好了此文件夹,可以从以下步骤开始

2)进入src文件夹

打开终端输入

cd ~/catkin_ws/src

3)初始化文件夹

在终端里输入

catkin_init_workspace

这样就在src文件中创建了一个 CMakeLists.txt 的文件,目的是告诉系统,这个是ROS的工作空间。

2.下载realsense-ros安装包和ddynamic_reconfigure包放在src文件夹下,采用源码下载

两个包都下载到 ~/catkin_ws/src 文件夹下

1下载realsense-ros安装包

在终端里输入

#原来的链接(最近似乎添加了新的东西,原来的链接下载后东西变了)
git clone https://github.com/IntelRealSense/realsense-ros.git

#新的链接
git clone https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy.git

2下载ddynamic_reconfigure包

在终端里输入

git clone https://github.com/pal-robotics/ddynamic_reconfigure.git

如果缺少ddynamic_reconfigure包,将会在编译阶段报以下错误

-- Could not find the required component 'ddynamic_reconfigure'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by
  "ddynamic_reconfigure" with any of the following names:

    ddynamic_reconfigureConfig.cmake
    ddynamic_reconfigure-config.cmake

  Add the installation prefix of "ddynamic_reconfigure" to CMAKE_PREFIX_PATH
  or set "ddynamic_reconfigure_DIR" to a directory containing one of the
  above files.  If "ddynamic_reconfigure" provides a separate development
  package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  realsense/realsense2_camera/CMakeLists.txt:8 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/bruce/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/bruce/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:1536: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

3.编译

所有编译工作都要在 ~/catkin_ws 文件夹下编译

在终端里输入

cd ~/catkin_ws
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

注:把我们工作空间的环境变量设置到bash中

source ~/.bashrc

注:让上面的配置在当前的终端生效

4.测试

1.测试相机发布的话题

运行相机节点,打开终端输入

roslaunch realsense2_camera rs_camera.launch

报出错误1

Resource not found: rgbd_launch
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/home/gipsy/catkin_ws/src
ROS path [2]=/opt/ros/melodic/share
The traceback for the exception was written to the log file

参考此篇博客

根本原因是在进行该launch命令时,找不到rgbd_launch相关的功能包依赖,打开终端输入

sudo apt-get install ros-melodic-rgbd-launch

再次运行相机节点,打开终端输入

roslaunch realsense2_camera rs_camera.launch

报出错误2

/opt/ros/melodic/lib/nodelet/nodelet: symbol lookup error: /home/d/catkin_ws/devel/lib//librealsense2_camera.so: undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE
[camera/realsense2_camera_manager-2] process has died [pid 32532, exit code 127, cmd /opt/ros/melodic/lib/nodelet/nodelet manager __name:=realsense2_camera_manager __log:=/home/d/.ros/log/c8668552-b555-11ec-bd7d-38f3abe767d2/camera-realsense2_camera_manager-2.log].
log file: /home/d/.ros/log/c8668552-b555-11ec-bd7d-38f3abe767d2/camera-realsense2_camera_manager-2*.log

 参考博客1 参考博客2

解决办法

(我在执行以下步骤之前曾安装了一个依赖项 sudo apt-get install ros-melodic-realsense2-camera ,但是并没有解决掉此问题,强烈建议先不要安装,下述步骤执行完了没用再安装这个依赖项试试)

1)在你的 realsense-ros的功能包文件夹下 realsense2_camera 文件夹下的 CmakeLists.txt文件中添加一些内容

打开终端输入

cd ~/catkin_ws/src/realsense-ros/realsense2_camera

打开CmakeLists.txt文件,在终端输入

gedit CMakeLists.txt

首先输入

locate OpenCVConfig.cmake

 然后在CmakeLists.txt文件中添加如下两处,1处的路径改成上面搜到的

set(OpenCV_DIR /usr/local/share/OpenCV/)
OpenCV REQUIRED

还要在CmakeLists.txt文件中添加 ${OpenCV_LIBS}

${OpenCV_LIBS}

按照 二、安装RealSense-ROS -> 3.编译 重新编译RealSense-ROS

2)运行相机节点,打开终端输入

roslaunch realsense2_camera rs_camera.launch

不报错了

再打开一个终端输入

rostopic list

可以查看当前发布的话题

 2.在rviz中测试相机

运行相机节点,打开终端输入

roslaunch realsense2_camera rs_camera.launch

再打开一个终端输入

rviz

在rviz界面中选择 Fixed Frame -> camera_link

之后点击左下角 Add 按钮,双击 Camera , Camera 出现在了左侧列表,点击下拉按钮,选择Image Topic -> /camera/color/image_raw ,左下角的相机有画面了。

若是相机依然没有画面,安装一个依赖项试试,我在解决掉错误2之前安装了这个

sudo apt-get install ros-melodic-realsense2-camera

至此,InterRealSenseD435i SDK2和RealSense-ROS安装测试完毕。

三、查看相机内参

1.运行相机节点

打开终端输入

roslaunch realsense2_camera rs_camera.launch

2.查看相机内参

再打开一个终端输入

rostopic echo /camera/color/camera_info

 相机内参查看完成

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

Ubuntu18.04 + ROS melodic 安装使用 InterRealSenseD435i SDK2和RealSense-ROS以及查看相机内参(吐血整理,踩坑总结) 的相关文章

  • 1-3 Linux ifconfig 命令使用

    文章目录 ifconfig 查看状态ifconfig 常用命令 ifconfig是linux中用于显示或配置网络设备 xff08 网络接口卡 xff09 的命令 xff0c 英文全称是network interfaces configuri
  • 1-4 Linux 标准目录结构FHS

    文章目录 前言标准目录结构 根目录 bin boot dev etc home lib media mnt opt run sbin srv tmp proc sys var lost 43 found root usr 前言 Linux操
  • 1-5 Linux学习路线规划

    文章目录 前言第1章 Linux简介第2章 Linux安装第3章 Linux文件和目录管理第4章 Linux打包 xff08 归档 xff09 和压缩第5章 Vim文本编辑器第6章 Linux文本处理 xff08 Linux三剑客 xff0
  • Shell常用实例,查看IP,创建用户,安装应用等。

    文章目录 前言查看IPnet tools与iproute2全部已激活连接的IP查看连接互联网的IP 创建用户批量创建用户 安装应用一个脚本搞定一键安装一键还原 前言 Shell 是一个用 C 语言编写的程序 xff0c 它是用户使用 Lin
  • ROS | 机器人操作系统简介

    ROS 机器人操作系统简介 1 ROS基本概念2 ROS架构2 1 OS层2 2 中间层2 3 应用层 3 通信机制4 计算图4 1 节点 xff08 Node xff09 4 2 节点管理器 xff08 Master xff09 4 3
  • 3-1 图文并茂说明raid0,raid1, raid10, raid01, raid5等原理

    文章目录 简介RAID类型RAID0RAID1RAID5RAID6RAID10RAID01 RAID对比图 简介 一 RAID 是什么 xff1f RAID xff08 Redundant Array of Independent Disk
  • 3-2至3-8 创建一个至少有两个PV组成的大小为20G的名为testvg的VG

    文章目录 1 在vmware添加多块20G的硬盘 xff0c 并创建分区2 创建一个至少有两个PV组成的大小为20G的名为testvg的VG xff0c 要求PE大小为16M xff0c 而后在卷组中创建大小为5G的逻辑卷testlv 挂载
  • 3-9 静态配置网卡IP,centos/ubuntu实现

    文章目录 centos配置IPubuntu配置IP centos配置IP span class token comment 显示当前IP地址 xff0c 为DHCP获取 span span class token function host
  • 3-10 图文并茂解释TCP/IP 3次握手4次断开

    文章目录 前言TCP报文首部TCP数据传输3次握手4次断开 前言 TCP IP传输协议 xff0c 即传输控制 网络协议 xff0c 也叫作网络通讯协议 它是在网络的使用中的最基本的通信协议 TCP IP传输协议对互联网中各部分进行通信的标
  • 3-11 网卡绑定bond0的实现

    文章目录 前言centos网卡绑定ubuntu网卡绑定故障测试 前言 网卡绑定bond又称多网卡 bonding xff0c 是将多块网卡绑定同一IP地址对外提供服务 xff0c 可以实现高可用或者负载均衡 然而直接给两块网卡设置同一IP地
  • 3-12 使用expect登陆远程主机并安装应用

    文章目录 前言一键脚本脚本验证免密登陆安装mysql安装apache退出 前言 实现免密登陆脚本 expect登陆远程主机 xff0c 将生成的密钥写入到目标主机 expect测试远程登陆 1 xff09 通过shift读取脚本参数 2 x
  • 4-1 定时任务的示例10个

    文章目录 前言基本命令与格式示例 前言 Linux crontab 是用来定期执行程序的命令 当安装完成操作系统之后 xff0c 默认都已经安装 xff0c 并启动此任务调度命令 crond 命令每分钟会定期检查是否有要执行的工作 xff0
  • 4-2 Linux进程和内存概念

    文章目录 前言进程状态进程优先级内存模型进程内存关系 前言 进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源 一般来说 xff0c Linux系统会在进程之间共享程序代码和系统函数库 xff0c 所以在任何时刻内存中都
  • 4-3 Linux启动流程

    文章目录 前言经典启动流程1 按下电源2 开机自检 BIOS 3 MBR引导4 GRUB菜单5 加载内核6 运行init进程7 读取 etc inittab8 读取 etc rc sysinit初始化系统9 运行 etc rc d rcN
  • pixhawk光流,思码光thone-flow的使用

    测试硬件 xff1a Holybro pixhawk FMU V5 测试固件 xff1a V1 13 测试光流 xff1a thone flow 这此从淘宝店家 xff08 玩物励志科技 xff09 购买了迷你光流传感器 xff0c 也就是
  • ROS | 工作空间及功能包的创建

    ROS 工作空间及功能包的创建 1 创建工作空间2 创建功能包 1 创建工作空间 工作空间是一个存放工程开发相关文件的文件夹 xff0c 创建工作空间首先在Linux系统中打开一个新的终端 xff0c 并按照以下步骤输入指令 mkdir p
  • Spring-Aop的使用

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 Aoc的相关术语二 aop使用步骤三 aop中获取切面的一些信息三 aop中设置切面的优先级 前言 Spring两大核心
  • 步骤二:Ubantu18.04中Realsense的安装(T265)

    1 安装realsense SDK git clone https ghproxy com https github com IntelRealSense librealsense 此处参考上一篇jetsonnano安装ros的文章 xff
  • 步骤四:T265和Mavros通讯

    阿木的volans项目连接t265与px4是在2022年暑假实验的 但是随后在九月初再试实验时 由于一些暂时不知明的原因 无法联机 于是 我们改用了官网的连接方法 下面附上官网链接 T265 Intel Realsense Tracking
  • PX4报错问题整理

    1 装好机能够正常解锁 xff0c mannual模式 xff0c 能够起飞 xff0c 但飞行大幅摇晃 xff0c 最后侧翻 常见解答 xff0c 电调校准 xff0c 加速度计校准 但我们是因为电机的kv值不同 xff0c 出了乌龙 2

随机推荐

  • 步骤六: Jetson nano平台部署TensorRT加速Yolo4-Tiny网络

    在无人机飞行任务中需要识别特定的物体 所以神经网络的部署非常重要 而jetson自带的tensorrt技术能够很好的优化我们的网络 提升识别速度 步骤1 了解环境 非必要 确定TensorRT的python库所在的环境 已经其他的必须库所在
  • Android NDK 实现视音频播放器源码

    目录 xff1a CMake配置环境项目 xff0c gradle代码块 xff1a 项目流程图 xff1a ffmpeg解封装解码流程API概况 xff1a activity main xml 搭建C 43 43 上层 xff1a Jav
  • STL(标准模板库)

    概念 xff1a STL xff1a 标准模板库 xff0c 是C 43 43 标准库的重要组成部分 xff0c STL xff0c 英文全称 s tandard template library xff0c 中文可译为 标准模板库 或者
  • mobx的基础知识

    1 mobx的安装 xff1a yarn add mobx mobx react lite 这个针对于函数式组件的安装 2 mobx的类组件安装 xff1a yarn add mobx mobx react 这个是对类组件的安装 app 代
  • Windows系统安装adb/fastboot驱动教程

    方法一 xff1a 1 1 下载安卓adb驱动 xff0c 下载完成后解压到任意目录 1 2 手机关机进入bootloader模式 xff0c 以小米2s为例是按住音量下 43 开机键 1 3 用usb数据线连接电脑 1 4 右键计算机 x
  • adb工具包的安装和使用(Windows)

    目录 1 什么是adb与fastboot 2 下载 3 adb工具包的安装 4 adb工具包的使用方法 4 1 adb工具 4 1 1 连接方式 4 1 2 adb的命令 4 2 fastboot工具 4 2 1 与手机的连接方式 4 2
  • edge浏览器自带冲浪小游戏的打开方法

    edge83版本之后 xff0c 冲浪游戏作为彩蛋出现在edge浏览器中 xff0c 游戏玩法简单又非常有趣 xff0c 也是我很喜欢的游戏 玩家在断网时可以游玩 在edge浏览器的地址栏中输入edge surf即可进入冲浪游戏 xff0c
  • 理解ROS功能包(三):创建功能包和ROS环境

    理解ROS功能包 xff08 三 xff09 xff1a 创建功能包和ROS环境 上一篇中创建好了工作空间 xff0c 现在开始在工作空间中创建具有实际功能的功能包 1 创建功能包 xff1a 创建指令 catkin create pkg
  • c++报错:lvalue required as left operand of assignment

    在编程时出现报错 lvalue required as left operand of assignment 出现此错误原因 xff0c 是因为 xff0c 等号左边是不可被修改的表达式或常量 而表达式或常量不能作为左值 归根结底类似于 s
  • 虚拟串口软件的使用

    在工程领域 xff0c 程序常通过串口通信给设备发送指令来进行控制 通常我们需要使用虚拟串口来进行通信测试 常用的虚拟串口软件VSPD 打开vspd xff0c 左侧栏显示物理串口 xff0c 虚拟串口以及其他虚拟串口 通过点击右侧Add
  • 禁止Edge浏览器自动更新的办法

    浏览器能用和稳定才是最重要的 xff0c 不需要花里胡哨的的功能 频繁的强制更新edge浏览器让我感到了厌烦 因此 xff0c 我决定禁止Edge更新 下面是我在网络上找到的方法 1 windows10搜索框中搜索服务 xff0c 打开 找
  • Qt编译出错ERROR: Unknown module(s) in QT: script

    在进行交叉编译时 在项目中使用script模块时出现错误 QT script ERROR Unknown module s in QT script 解决办法 自己编译qtscript库 到qt官网下载qtscript源代码 https d
  • Linux使用graphics.h图形库绘图

    graphics h是上古时代C语言程序开发工具Turbo C的图形库 xff0c 主要在Dos环境下使用 在现代图形库的发展下逐渐被淘汰 但是由于其简单和易用 还是有很多的使用价值的 xff0c graphics h具有像素函数 线型函数
  • 软件分享——Bilibili缓存视频合并软件,m4s音视频合并工具

    bilibili缓存下来的视频 xff0c 路径android data tv danmaku bili download 此目录是bilibili缓存的视频存放目录 xff0c 是m4s格式的音频和视频文件 xff0c 不能正常播放 你可
  • linux系统c++使用libjson库

    安装libjson开发库 sudo apt get install libjsoncpp dev 测试程式 span class token macro property span class token directive hash sp
  • linux使用xlib库创建窗口

    代码 span class token comment Simple Xlib application drawing a box in a window span span class token macro property span
  • VC++ GDI绘图操作

    文章目录 GDI绘图 DC 获取DC GetDC GetWindowDC函数 BeginPaint 和 EndPaint 函数 DC的释放 HDC和四个DC类 CDC和HDC CPaintDC CClientDC CWindowDC 画笔和
  • Ubuntu18.04安装Ros Melodic 以及测试rviz

    目录 一 检查Cmake版本 二 检查Ros版本 三 下载安装 1 把Unbuntu的软件源更换为国内的软件源 xff0c 这样可以提高下载速度 2 设置公钥并更新最新可用软件包列表 3 安装ROS 4 设置环境变量 5 下载其他功能组件
  • PixHawk飞控和Mission Planner地面站安装调试

    PixHawk飞控和Mission Planner地面站安装调试 教程 F4 V3飞控刷ardupilot固件教程 多旋翼
  • Ubuntu18.04 + ROS melodic 安装使用 InterRealSenseD435i SDK2和RealSense-ROS以及查看相机内参(吐血整理,踩坑总结)

    目录 前言 安装要求 一 安装使用 InterRealSenseD435i SDK2 1 注册服务器的公钥 xff1a 2 将服务器添加到存储库列表中 xff1a 3 安装库 xff1a 4 安装开发者和调试包 xff1a 5 测试SDK2