本教程介绍产品上用的到奥比中光的深度相机-Dabai_DCW2,以及查看相机节点发布彩色color图像,深度depth图像、红外ir图像以及点云。本节内容需要在终端中输入指令,这里根据主板类型来选择打开终端。本节课程以树莓派5为例。
树莓派和Jetson-Nano主板,需要在宿主机中打开终端,然后输入进入docker容器的指令,进入到docker容器后的终端里边输入本节课程提及的指令,宿主机进入docker容器的教程可以参考本产品教程【0.说明书和安装步骤】中的【进入小车Dockder(Jetson-Nano和树莓派5用户看这里)】的内容。
Orin主板直接打开终端,输入本节课程提及的指令即可。
DaBai DCW2/DW2 深度相机是基于双目结构光 3D 成像技术获取物体的深度图像,同时利用彩色
相机采集物体的彩色图像,适用于 0.2m-5m 距离进行 3D 物品扫描的智能产品,可实现测量距离内
的物体深度数据测量。
IR:红外摄像头
LDP:激光点阵投射器
LDM:激光驱动模块
RGB:彩色摄像头
DaBai DCW2的特点:
本产品编译了Dabai_DCW2的ROS的SDK,可以直接在终端中输入以下指令启动相机,终端输入,
ros2 launch orbbec_camera dabai_dcw2.launch.py
成功驱动相机画面如下,
如果无法启动相机,则需要检查相机与主板/Hub拓展板的接线是否松动。
可以通过ros2 node的工具来查看相机节点发布了哪些话题和提供了哪些服务,终端输入,
xxxxxxxxxx
ros2 node info /camera/camera
发布的话题如下图所示,
提供的服务如下图所示,
根据查询的节点信息可发现,彩色图像话题有以下几个;
/camera/color/image_raw: 彩色图像话题 /camera/color/image_raw/compressed: 压缩过后的彩色图像话题 /camera/color/image_raw/compressedDepth: 深度压缩过后的彩色图像话题 /camera/color/image_raw/theora: 使用theora编码器压缩后的彩色图像话题
相机启动后,可以在终端输入以下指令,来开启rqt_images_view的工具,根据选择的图像话题来查看图像,终端输入,
xxxxxxxxxx
ros2 run rqt_image_view rqt_image_view
如上图红框所示,选择了显示/camera/color/image_raw的彩色图像话题的图像。
根据查询的节点信息可发现,深度图像话题有以下几个:
/camera/depth/image_raw: 深度图像话题 /camera/depth/image_raw/compressed: 压缩过后的深度图像话题 /camera/depth/image_raw/compressedDepth: 深度压缩过后的深度图像话题 /camera/depth/image_raw/theora: 使用theora编码器压缩后的深度图像话题
同样,我们可以在终端输入上边提及到的指令ros2 run rqt_image_view rqt_image_view
来启动rqt_images_view工具,并且选择深度图像话题显示深度图像,
如上图所示,显示的是/camera/depth/image_raw深度图像话题的深度图像。
根据查询的节点信息可发现,红外图像话题有以下几个:
/camera/ir/image_raw: 红外图像话题 /camera/ir/image_raw/compressed: 压缩过后的红外图像话题 /camera/ir/image_raw/compressedDepth: 深度压缩过后的红外图像话题 /camera/ir/image_raw/theora: 使用theora编码器压缩后的红外图像话题
rqt_image_view无法显示红外图像,我们需要接着rviz工具来显示。使用虚拟机与小车进行分布式通讯,在虚拟机端启动rviz来选择插件显示红外图像,在此之前,需要设置虚拟机与小车进行分布式通讯,详细的设置步骤可以参考本产品教程【0.说明书和安装步骤】中的【小车虚拟机分布式通讯设置】中的内容。在虚拟机中打开终端,输入一下指令启动rviz,
xxxxxxxxxx
rviz2
根据上图的箭头指示,最后点击【ok】完成选择。如下图所示,成功显示红外图像,
根据查询的节点信息可发现相机节点有发布图像点云,
/camera/depth/points: 三维深度点云信息
/camera/depth_registered/points: 已配准的三维点云话题(深度数据(Depth)已经与彩色图像(RGB)对齐(配准),确保每个深度点对应正确的颜色)
使用rviz工具来显示点云信息,同样,需要设置虚拟机与小车进行分布式通讯,我们在虚拟机终端输入rivz2
来启动rviz,然后根据以下步骤进行选择,
选择完成后,我们还需要设置坐标系为camera_link,如下图所示设置,
如下图显示,显示了/camera/depth/points话题点云,
我们还可以通过修改显示点云的设置,
在【topic】中,选择/camera/depth_registered/points则是选择显示对齐深度和彩色图像后的点云;在【Color Transformer】中,选择RGB8,即可显示RGB的点云,如下图所示,