首页 > 系统相关 >Ubuntu下Intel RealSense Depth Camera D455( 景深相机)的ROS2 wrapper 安装、RViz2的使用和设备序列号的获取方法

Ubuntu下Intel RealSense Depth Camera D455( 景深相机)的ROS2 wrapper 安装、RViz2的使用和设备序列号的获取方法

时间:2024-12-22 20:32:41浏览次数:4  
标签:彩色图像 Intel D455 RealSense 相机 camera RViz2 序列号 ros2

 Intel RealSense Depth Camera D455( 景深相机)的ROS2驱动安装

找到官方开发者中心的文档https://dev.intelrealsense.com/docs/docs-get-started?_ga=2.22118398.41936604.1734785296-801471888.1733994584

 

先别着急安装文档的指引就先安装好对应的SDK,我在这里走了弯路,这里的SDK是老版本,装ROS Wrapper 会报版本过低的错。要装ROS2的wraaper不要点这里。

 

 

 

 

我们直接点 README.md ,按照这里的要求装。

 

 

 

 第一步安装ROS2,推荐鱼香ROS一键安装,装好的跳过。

第二步,安装latest Intel® RealSense™ SDK 2.0,一般都是选 Linux Debian Installation Guide,然后按照里面指引把SDK2..0给装好。 Linux Debian Installation Guide里也有卸载方法。

 第三步,按照说明,安装好就行了。

RViz2的使用


 

1. 使用 ros2 run 启动相机节点

  • 基础命令

    ros2 run realsense2_camera realsense2_camera_node
    

    这个命令会启动 realsense2_camera_node,即 RealSense 相机的核心驱动节点。它会初始化相机并开始发布数据。

  • 带参数的命令(启用空间和时间滤波器,禁用彩色图像):

    ros2 run realsense2_camera realsense2_camera_node --ros-args -p enable_color:=false -p spatial_filter.enable:=true -p temporal_filter.enable:=true
    

    这个命令启用了时间和空间滤波器,同时禁用了彩色图像(可能是为了减小数据量或只关注深度数据)。这些滤波器有助于改善深度数据的质量,特别是在噪声较多或不稳定的环境中。

2. 使用 ros2 launch 启动

  • 基础 launch 命令

    ros2 launch realsense2_camera rs_launch.py
    

    这个命令会启动 rs_launch.py 启动文件,通常用于启动相机节点并设置一些默认配置。

  • 带参数的 launch 命令(设置特定的深度配置和点云功能):

    ros2 launch realsense2_camera rs_launch.py depth_module.depth_profile:=1280x720x30 pointcloud.enable:=true
    

    这个命令设置了深度图像的分辨率为 1280x720,帧率为 30,并启用了点云数据发布。点云数据能够帮助你在三维空间中可视化深度信息,常用于机器人感知、建图等任务。

 

  1. 验证数据:你可以使用 rqt_image_view 或其他 ROS 2 工具来查看相机发布的图像和深度信息。例如,使用以下命令查看深度图像:

    ros2 run rqt_image_view rqt_image_view
    

    然后在界面中选择 /camera/depth/image_rect_raw 话题来查看实时的深度图像。

  2. 查看点云数据:如果启用了点云数据发布,可以使用 rviz2 来可视化点云:

    ros2 run rviz2 rviz2
    

    在 RViz 中,添加一个 PointCloud2 显示,订阅 /camera/depth/points 或类似的话题来查看点云数据。

  3. 调试与优化:如果在运行过程中遇到问题或需要调整相机设置,可以参考 RealSense 官方文档或调整启动命令中的参数。例如,你可以调节不同的深度配置或滤波器参数来提高性能。

 

3. RViz2(通过 ROS 2)

如果你使用的是 ROS 2 环境,RViz2 是一个强大的可视化工具,可以帮助你查看来自 RealSense 相机的图像和深度数据。你可以通过 PointCloud2 插件查看点云数据,或者查看深度图像、RGB 图像等。

步骤:

  1. 启动相机节点(例如通过 ros2 launch 启动)。
  2. 启动 rviz2
    ros2 run rviz2 rviz2
    
  3. 在 RViz2 中添加 ImagePointCloud2 显示,选择你相机的对应话题(例如 /camera/depth/image_rect_raw/camera/depth/points)来查看数据。

 

 

RViz2 中查看 实时图像,尤其是彩色图像,需要一些额外的配置和步骤。如果你在 ROS 2 中使用 RealSense 相机,默认情况下,你可能看到的是深度图像、点云或者其他传感器数据,而彩色图像则需要进行额外的配置和显示。

1. 确保相机发布了彩色图像

首先,要确保 RealSense 相机正在发布彩色图像。如果你使用的是 RealSense 2.0 驱动(realsense2_camera),默认情况下,相机会发布彩色图像和深度图像。你可以通过以下命令确认彩色图像的话题是否在发布:

ros2 topic list

查找类似 /camera/color/image_raw 的话题。这是发布彩色图像的数据流。

2. 在 RViz2 中显示彩色图像

为了在 RViz2 中查看实时彩色图像,你需要在 RViz2 中添加一个 Image 显示器,并选择正确的话题。下面是具体步骤:

  1. 启动 RViz2

    ros2 run rviz2 rviz2
    
  2. 在 RViz2 中,点击左上角的 "Add" 按钮,选择 "By display type" 下的 "Image"

     

  3. 在右侧的 "Global Options" 部分,确保你选择了正确的 Fixed Frame,通常是 camera_link 或者是与相机相关的坐标系。如果你不确定,可以选择 mapbase_link

     

  4. "Image" 显示器设置中,点击 "Topic" 字段,选择 /camera/color/image_raw,这是 RealSense 相机发布彩色图像的常见话题。如果你的话题是其他名字,也可以选择正确的彩色图像话题。

     

  5. 现在,你应该能够在 RViz2 中看到实时的彩色图像了。

3. 调整图像显示

如果图像显示不正常,可能是由于图像格式或渲染问题,以下是一些常见的调整方法:

  • 图像格式:确认相机发布的是 sensor_msgs/msg/Image 类型的图像数据,RViz2 支持这种格式。
  • 图像大小:大尺寸图像可能需要较高的计算资源,你可以尝试降低相机的分辨率来提高显示性能。
  • 话题确认:确保话题 /camera/color/image_raw 正在正确发布,可以通过以下命令进行查看:
    ros2 topic echo /camera/color/image_raw
    

4. 同时查看深度图像

如果你同时想查看 深度图像彩色图像,你可以按照类似的步骤添加另一个 Image 显示器,选择 /camera/depth/image_rect_raw 或者类似的话题,来显示深度图像。

小贴士:

  • 点云数据:如果你还想查看点云数据,可以添加 PointCloud2 显示器,订阅 /camera/depth/points 来查看三维点云。
  • 视频和帧率:在 RealSense Viewer 中可以轻松调整帧率和分辨率。如果你在 RViz2 中使用低帧率设置,可以减少图像延迟。

 


 

获取Intel RealSense D455 的设备序列号的方法

config_2.enable_device('11111111111') 是用来指定你要启用的 Intel RealSense 相机设备的序列号。

这在使用多台 RealSense 相机时特别有用,以确保你配置和捕获的是正确的设备。

要找到 Intel RealSense D455 的设备序列号,可以通过以下几种方法:


1. 使用 RealSense Viewer

  1. 打开 Intel RealSense Viewer(这是随 RealSense SDK 一起安装的工具)。
  2. 连接你的相机,RealSense Viewer 会自动检测到设备。
  3. 在左侧设备列表中找到你的 D455,点击它,你会看到设备的详细信息,其中包括 Serial Number

2. 通过 RealSense SDK 查询序列号

使用以下 Python 代码来列出连接到电脑的所有 RealSense 相机设备及其序列号:

import pyrealsense2 as rs

# Create a context object
ctx = rs.context()

# List all connected devices
devices = ctx.query_devices()
if not devices:
    print("No RealSense devices connected.")
else:
    print("Connected RealSense devices:")
    for device in devices:
        print(f"Device Name: {device.get_info(rs.camera_info.name)}")
        print(f"Serial Number: {device.get_info(rs.camera_info.serial_number)}")

运行此代码,它会输出类似如下内容:

Connected RealSense devices:
Device Name: Intel RealSense D455
Serial Number: 242322076532

3. 检查 RealSense ROS2 的输出

如果你已经安装了 ROS2 的 RealSense 驱动,可以通过以下命令查看序列号:

ros2 launch realsense2_camera rs_launch.py

然后在启动的日志中查找 serial_number 的输出。


4. 通过命令行工具获取序列号

如果你安装了 RealSense SDK 的命令行工具,可以直接通过命令行获取设备信息:

rs-enumerate-devices

输出中会包含设备的序列号。例如:

Serial Number: 242322076532

5. 通过配置设备时的日志确认

如果你已经启用了 ROS2 并且设备正常工作,启动 ROS2 时的控制台输出中也可能列出相机的序列号,类似于:

[INFO] [RealSenseCamera]: Device with serial number 242322076532 was found.

 

标签:彩色图像,Intel,D455,RealSense,相机,camera,RViz2,序列号,ros2
From: https://www.cnblogs.com/zhoushusheng/p/18621483

相关文章

  • 如何解决无法在 Intel 芯片的 macOS 上安装 ChatGPT 桌面版软件 All In One
    如何解决无法在Intel芯片的macOS上安装ChatGPT桌面版软件AllInOneYoucan’topentheapplication“ChatGPT.app”becausethisapplicationisnotsupportedonthisMac.solutiuons使用ChatGPT网页版✅https://chatgpt.com/更换一台Apple芯片的M......
  • ACS323  Intelligent Systems
    ACS323 AssignmentIntelligentSystemsAcademic Year:2024/2025Module: ACS323Title: IntelligentSystemsDateSet: Friday   06/12/2024  at 15:00DateforSubmission: Monday23/12/2024   at 23:59Task: Producewrittensolutionsto allthea......
  • 一份IntelliJ IDEA常用插件的清单
    代码质量与分析SonarLint:实时检测代码中的bug、安全漏洞和代码质量问题。CheckStyle-IDEA:检查代码风格是否符合预设规范。FindBugs-IDEA:静态代码分析工具,查找Java代码中的潜在bug。AlibabaJavaCodingGuidelines:提供阿里巴巴的Java编码规范,规范代码编写。Statistic:统计项......
  • 高性能计算-Intel IPP库ARM移植示例(20)
    1.简介Intel®IntegratedPerformancePrimitives,即英特尔集成性能基元(简称IPP),为信号、数据和图像处理特定应用领域,提供simd优化的一组全面的函数库。本项目将对exp、cos、sin、tone、Triangle函数用NEON向量化指令实现ARM移植版本,有串行和向量化两个版本。计算使用泰勒展开......
  • PVE直通intel amd核显全系rom作方式
    PVE直通intelamd核显全系rom作方式根据黑苹果屋相关教程整理非常重要:1.如果您之前定制过OVMF固件实现的直通,需要将定制的文件复原,否则可能会导致本次定制rom后直通不成功2.如果你之前修改过PVE下的很多模块,也有可能会导致定制rom后直通不成功,这种情况建议重新安装PVE环境本......
  • D455 Ros
     Part_1:安装librealsenseSDK2.0注册密钥sudoapt-keyadv--keyserverkeyserver.ubuntu.com--recv-keyF6E65AC044F831AC80A06380C8B3A55A6F3EFCDEsudoapt-keyadv--keyserverhkp://keyserver.ubuntu.com:80--recv-keyF6E65AC044F831AC80A06380C8B3A55A6F3EFCDE......
  • intellij-idea+vue前端调试配置
    一、安装vue插件二、idea->EditConfiguration1、如图,添加类型为npm的配置;执行脚本内容为dev;这一步等同于用控制台终端手动执行npmrundev;用于启动node服务器。A、配置服务B、配置debug默认浏览器1、点击配置弹出如下界面,点击浏览器设置(标识1)2、自定义地址(标识2),......
  • MySQL语句学习第四篇_数据库:通过intellij IDE连接MySQL数据库使用JDBC实现增删查改
    MySQL语句学习第四篇_数据库通过intellijIDE连接MySQL数据库使用JDBC来实现增删查改专栏记录MySQL的学习,感谢大家观看。本章的专栏......
  • JC4004 – Computational Intelligence
    Programmingassignment–Groupworkbyateamof4-5studentsTitle:JC4004–ComputationalIntelligenceNote:Thisassignmentaccountsfor30%ofthetotalmarkofthecourse.Deadline:SubmittheassignmentinMyAberdeenby19.December2024at23:00(Chi......
  • JC4004 Computational Intelligence
    Programmingassignment–Groupworkbyateamof4-5studentsTitle:JC4004–ComputationalIntelligenceNote:Thisassignmentaccountsfor30%ofthetotalmarkofthecourse.Deadline:SubmittheassignmentinMyAberdeenby19.December2024at23:00(C......