ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Realsense2深度相机的基本操作命令(其实里面很多是ROS基本命令)

2021-03-02 15:57:06  阅读:297  来源: 互联网

标签:raw color Realsense2 相机 命令 camera rostopic 基本操作 image


Realsense2深度相机的基本操作命令(其实里面很多是ROS基本命令),但还是转载过来学习一下,像rosbag什么的我还不会用。

转载自:https://blog.csdn.net/weixin_42361804/article/details/104144690

Realsense2深度相机的基本操作命令

*月亮很亮* 2020-02-02 14:50:25 1009 收藏 8

分类专栏: Realsense2相机

最后发布:2020-02-02 14:50:25首次发布:2020-02-02 14:50:25

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42361804/article/details/104144690

版权

 

Realsense2深度相机的基本操作命令

 

1、rostopic

(1)rostopic list

运行 roslaunch realsense2_camera rs_camera.launch,新打开终端rostopic list可以查看当前所有的topic。
rostopic list | grep color可查找所有关于“color”的topic:
在这里插入图片描述
rostopic list | grep depth 可查找所有关于“depth”的topic:
在这里插入图片描述

(2)rostopic info

rostopic info /camera/color/image_raw 可查看“/camera/color/image_raw”话题的详细信息:
在这里插入图片描述
可以看到消息类型为/camera/color/image_raw,发布者为/camera/color/image_raw,没有接受者,只有某一个节点订阅了此话题,才有接收者。
输入rosmsg show sensor_msgs/Image可以查看消息的详细定义:
在这里插入图片描述
利用此消息格式就可以传递图像的信息。

(3)image_view

输入rostopic list | grep "raw$",可以看到以下六种话题,利用image_view就可以通过这六种话题查看六种图像。
在这里插入图片描述
color:彩色图像,depth:深度图像,infra1\infra2:红外图像,pointcloud:点云图像,aligned A to B :将B映射对齐到A的图像,利用image_view可以查看相机的彩色图像、深度图像以及红外图像。
新终端输入rosrun image_view image_view image:=/camera/color/image_raw可以看到彩色图像:(/camera/color/image_raw是话题名称,查看其他图像只需修改此话题即可)
在这里插入图片描述
而此时在新终端输入rostopic info /camera/color/image_raw就可以看到接受者为“/image_view_1571487516552059717”:
在这里插入图片描述
这意味着image_view正在接收相机的视频流并显示出来。

深度图像:/camera/depth/image_rect_raw
在这里插入图片描述
红外图像:/camera/infra1/image_rect_raw
在这里插入图片描述
彩色流向深度流对齐的图像:/camera/aligned_depth_to_color/image_raw
在这里插入图片描述
红外流向深度流对齐的图像:/camera/aligned_depth_to_infra1/image_raw
在这里插入图片描述

2、rviz

通过以上的学习知道了可以使用image_view来查看相机产生的各种图像,而要查看点云需要使用rviz或其它GUI程序。
(1)用rviz创建一个visualization
运行rgbd的launch文件,用命令rosrun rviz rvizrviz打开rviz,然后Add一个visualization,选择“By topic”里面的/camera/depth_registered/points节点,把里面的 “PointCloud2”点云图像加入rviz:
在这里插入图片描述
(2)此时在rviz中并未发现有点云图像,原因是rviz中的map为世界坐标系,而相机坐标不知道自己的位姿,需要给相机一个位姿,告诉相机它与世界坐标的关系是什么,最简单的方法就是把map坐标直接设置为相机的坐标。
先通过命令rostopic info /camera/depth_registered/points查看topic的信息,看到消息类型为sensor_msgs/PointCloud2:
在这里插入图片描述
再通过命令rosmsg show sensor_msgs/PointCloud2查看消息的定义:
在这里插入图片描述
发现有一个frame_id,这就是相机的坐标系,通过命令rostopic echo /camera/depth_registered/points | grep frame_id可以查看frame_id的名称:
在这里插入图片描述
frame_id的名称叫做“camera_color_optical_frame”,世界坐标系叫做“map”,之后就可以通过命令rosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map camera_color_optical_frame 100 把世界坐标系直接赋给相机坐标系,此命令中的6个0.0表示即没有平移,也没有旋转。(通过查找资料得知rosrun tf static_transform_publisher的两种用法:1:static_transform_publisher x y z yaw pitch roll frame_id child_frame_id perios_in_ms,用坐标表示平移,用欧拉角表示旋转。2:static_transform_publisher x y z qx qy qz qw frame_id child_frame_id period_in_ms,用坐标表示平移,用四元数表示旋转。)之后在rviz中看到了点云图像:
在这里插入图片描述

3、rosbag

rosbag主要用于记录、回放、分析rostopic中的数据,可以将指定rostopic中的数据记录到.bag后缀的数据包中,便于对其中的数据进行离线分析和处理。
运行rgbd的launch文件,在新终端中运行rosbag record /camera/color/image_raw -o color_image,将/camera/color/image_raw话题上的数据保存到color_image.bag文件里,就是把相机的RGB视频流保存到bag文件里,供后续使用。
之后退出所有程序,运行roscore,新终端运行rostopic echo /camera/color/image_raw,没有任何结果:
在这里插入图片描述
在新终端运行rosbag play color_image_2019-10-19-23-00-49.bag,此时可以看到在/camera/color/image_raw话题发布的信息。
在这里插入图片描述
在这里插入图片描述
总之,rosbag作用就是作为subscriber接收并储存信息,作为publisher重新发布信息。

4、rqt_graph

rqt_graph能够创建一个显示当前系统运行情况的动态图形,能够利用图形查看节点之间的连接关系和正在使用的topic,输入命令rqt_graph可以看到图形。
Nodes only:
在这里插入图片描述
Nodes/Topics(all):
在这里插入图片描述

标签:raw,color,Realsense2,相机,命令,camera,rostopic,基本操作,image
来源: https://blog.csdn.net/sinat_16643223/article/details/114287123

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有