Ubuntu下Intel RealSense Depth Camera D455( 景深相机)的ROS2 wrapper 安装、RViz2的使用和设备序列号的获取方法
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,并启用了点云数据发布。点云数据能够帮助你在三维空间中可视化深度信息,常用于机器人感知、建图等任务。
-
验证数据:你可以使用
rqt_image_view或其他 ROS 2 工具来查看相机发布的图像和深度信息。例如,使用以下命令查看深度图像:ros2 run rqt_image_view rqt_image_view然后在界面中选择
/camera/depth/image_rect_raw话题来查看实时的深度图像。 -
查看点云数据:如果启用了点云数据发布,可以使用
rviz2来可视化点云:ros2 run rviz2 rviz2在 RViz 中,添加一个
PointCloud2显示,订阅/camera/depth/points或类似的话题来查看点云数据。 -
调试与优化:如果在运行过程中遇到问题或需要调整相机设置,可以参考 RealSense 官方文档或调整启动命令中的参数。例如,你可以调节不同的深度配置或滤波器参数来提高性能。
3. RViz2(通过 ROS 2)
如果你使用的是 ROS 2 环境,RViz2 是一个强大的可视化工具,可以帮助你查看来自 RealSense 相机的图像和深度数据。你可以通过 PointCloud2 插件查看点云数据,或者查看深度图像、RGB 图像等。
步骤:
- 启动相机节点(例如通过
ros2 launch启动)。 - 启动
rviz2:ros2 run rviz2 rviz2 - 在 RViz2 中添加
Image或PointCloud2显示,选择你相机的对应话题(例如/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 显示器,并选择正确的话题。下面是具体步骤:
-
启动
RViz2:ros2 run rviz2 rviz2 -
在 RViz2 中,点击左上角的 "Add" 按钮,选择 "By display type" 下的 "Image"。

-
在右侧的 "Global Options" 部分,确保你选择了正确的 Fixed Frame,通常是
camera_link或者是与相机相关的坐标系。如果你不确定,可以选择map或base_link。
-
在 "Image" 显示器设置中,点击 "Topic" 字段,选择
/camera/color/image_raw,这是 RealSense 相机发布彩色图像的常见话题。如果你的话题是其他名字,也可以选择正确的彩色图像话题。
-
现在,你应该能够在 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
- 打开 Intel RealSense Viewer(这是随 RealSense SDK 一起安装的工具)。
- 连接你的相机,RealSense Viewer 会自动检测到设备。
- 在左侧设备列表中找到你的 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.
本文来自博客园,作者:z_s_s,转载请注明原文链接:https://www.cnblogs.com/zhoushusheng/p/18621483
浙公网安备 33010602011771号