ROS tf工具与消息查看命令

2023-05-16

TF工具坐标系统是一个基础理论,但是涉及到多个空间的变换,不容易进行想象所以TF工具给开发者调试提供很多方便

1 tf_monitor :将当前的坐标系转换关系打印到终端控制台

rosrun tf tf_monitor

 若只需要知道任意两个坐标系之间的TF变换如base_link -> odom,则可以用以下命令

 rosrun tf tf_monitor base_link odom

 2 tf_echo <source_frame> <target_frame> :把特定的坐标系之间的平移旋转关系,打印到终端控制台

如base_link -> odom之间的平移旋转关系

rosrun tf tf_echo base_link odom

 3 static_transform_publisher工具的功能是发布两个坐标系之间的静态坐标变换,这两个坐标系的位置

是不发生相对变化,其右两种命令格式如下所示:

static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms

static_transform_publisher x y z qx qy qz qw frame_id child_frame_id  period_in_ms

需要设置坐标的偏移参数和旋转参数:偏移参数使用相对于X Y Z三轴的坐标位移,而旋转参数的第一种命令格式使用以弧度

为单位的yaw pitch roll 角度(yaw是围绕Z轴旋转的偏航角,pitch是围绕Y轴旋转的俯仰角,roll是围绕X轴旋转的翻滚角)第二

种命令格式使用四元素表达旋转角度,发布频率以ms为单位。

该命令不仅可以在终端中使用,还可以在launch文件中使用。

<launch>
<!-- 对于虚拟定位,需要设置一个/odom与/map之间的静态坐标变换 -->
    <node pkg="tf" type="static_transform_publisher" name="map_odom_broadcaster" args="0 0 0 0 0 0 /map /odom 100" />

</launch>

发布一个父坐标系到子坐标系的静态tf转换,偏移x/y/z (单位是m),旋转是欧拉角(或者四元数) ,这里的周期period_in_ms,是这个tf的发布周期,设置为100ms(也就是10hz)


4 view_frames : 可以输出当前的tf关系到pdf中

 view_frames 是一个图形化的调试工具,并且可以输出当前的tf关系到pdf中

rosrun tf view_frames

5 roswtf: 帮助你找到tf中的错误

6 rqt_tf_tree用于可视化ROS TF框架树

rosrun rqt_tf_tree rqt_tf_tree

7  rqt_graph能够创建一个显示当前系统运行情况的动态图形

rosrun rqt_graph rqt_graph

8 rqt_plot工具的使用

roscore
rosrun rqt_plot rqt_plot

 查看动态数据(position/x:y:z)曲线例如:

在终端中输入

rqt_plot /odom/pose/pose/position/x:y:z

9 rosrun rqt_console rqt_console   #属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息,这个命令常常是我们需要快速查询日志使用,我们可以清晰的看出日志的定位,方便调试

10 rosrun rqt_logger_level rqt_logger_level  #允许我们修改节点运行时输出信息的日志等级(logger levels),这个命令常常用于调节节点运行时输出信息的日志等级(包括 DEBUG、WARN、INFO和ERROR),方便对日志进行管理。

11 rosrun plotjuggler plotjuggler    #打开可视化界面创空,用于数据分析,这个命令是一个rqt_plot的进阶版。是一个基于Qt的应用程序,允许用户加载,搜索和绘图数据。许多ROS用户将使用MATLAB或rqt_plot实现,当要分析的数据相当大时,效果就不是很好了。PlotJuggler,提供了更加友好的用户界面,如下图所示。

 

12  rosrun rqt_topic rqt_topic     #topic发布频率,这个命令是一个ros用于查看topic发布频率的指令。显示主题调试信息, 包括发布者、 接收者、 发布速率和发布的消息。 可以查看消息字段并选择你想要订阅的主题以分析带宽和速率(Hz),以及查看最新发布的消息。 注意, 锁定的主题通常不会持续发布, 所以不会看到任何关于它们的信息。

13 rosrun rqt_reconfigure rqt_reconfigure    #手动调节ros的topic参数,这个命令可以选择任何左侧节点以对其进行重新配置,便于手动调节参数,在对ROS进行调试时可以通过这个命令实时对参数服务器的参数进行实时调节大大的提高了效率。

14 ROS—查看topic和message消息

 rostopic -h 帮助

rostopic list 列出所有的topic,rostopic list -v 命令可以分开发布话题和订阅话题,并将每个话题的消息类型一起显示

rostopic echo topic名称 显示topic上发布的message

rostopic type topic名称 查看topic的message类型

rosmsg show message名称 查看message数据结构

rostopic bw  /topic  显示主题所使用的带宽

rostopic  hz  /topic   显示主题的发布率  

rostopic  info  /topic   输出活动主题、发布主题、主题订阅者和服务的信息

rostopic  pub  /topic   type   args  将数据发布到主题 它允许我们直接从命令行中对任意主题创建和发布数据

消息查看命令:

rosmsg  show 显示一条消息的字段

rosmsg  list  列出所有消息

rosmsg  package   列出功能包的所有消息

rosmsg  packages 列出所有具有该消息的功能包

rosmsg  users  搜索使用该消息类型的代码文件

rosmsg md5  显示一条消息的MD5求和结果

rosparam  list   列出服务器的所有参数

rosparam  get parameter   获取参数值

rosparam  set  parameter  value  设置参数值

rospack和rosstack 获取有关功能包、功能集、路径和依懒性等信息

rosls  此命令用于查看内容

查看节点相关信息:

rosnode  list  列出当前活动节点

rosnode  info  输出当前节点信息

rosnode  ping  测试节点间的连通性

rosnode  machine  列出某一个计算机上运行的节点或列出主机名称

rosnode  kill  结束当前运行节点或发送特定信号  rosnode  kill  -a 或 rosnode  kill --all 结束所有节点

根据关键字结束节点os.system("rosnode kill $(rosnode list) | grep 关键字")

rosnode cleanup  将无法访问节点的信息清除

功能包相关命令

catkin_create_pkg  创建功能包

rospack  获取功能包的信息,rospack depends mrobot_description此命名获取mrobot_description功能包的所有依赖

catkin_make  编译工作空间中的功能包

rosdep  自动安装功能包依赖的其他包

roscd  功能包目录跳转

roscp  拷贝功能包中的文件

rosed  编辑功能包中的文件

rosrun  运行功能包中的可执行文件

roslaunch  运行启动文件

将xacro文件转化为urdf命令

rosrun xacro xacro --inorder tf_robot.xacro > robot.urdf

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

ROS tf工具与消息查看命令 的相关文章

随机推荐

  • Ubuntu18.04安装PX4并与ROS联合实验

    1 如果没有安装ROS xff0c 可以去PX4官网使用脚本链接将ROS和PX4一起安装 我不推荐这样 xff0c 因为装不全 xff0c 所以建议先自己装好ROS xff0c 然后参考本教程 2 如果已安装ROS melodic xff0
  • 【计算机视觉 · OpenCV】使用 OpenCV 调用手机摄像头

    一 前言 Droidcam 是一款可以将手机变成网络摄像头的工具 xff0c 我们可以利用 Droidcam 让 OpenCV 拥有调用手机摄像头的能力 二 步骤 2 1 安装 DroidCam 在手机和电脑上分别安装 DroidCam 的
  • 【嵌入式 · 机器人】在 Linux 下安装 ROS2(机器人操作系统)

    安装要求 安装 ROS2 需要保证 Linux 系统的发行版是 Ubuntu xff0c 并且不同版本的 Ubuntu 只能安装对应版本的 ROS2 系统不是 Ubuntu 怎么办 xff1f 系统是 Mac OS 或 Windows xf
  • 【踩坑日记 · 前端】为 Excalidraw 添加中文手写字体

    文章目录 前言中文手写字体步骤1 下载源代码和中文字体2 注册字体3 预加载字体资源4 增加字体枚举5 添加字体切换按钮 部署测试参考资料 前言 Excalidraw 是一款完全免费的手绘风格绘图在线应用 xff0c 能快速画出漂亮的流程图
  • 【嵌入式·单片机】老生常谈:学习单片机和嵌入式是否需要学习算法?

    文章目录 前言什么是算法嵌入式是否需要算法如何学习算法参考资料 前言 刚学习单片机或嵌入式的同学可能会听说过 算法 这个词 xff0c 部分电子信息类专业的同学也会在自己的培养计划上看到 数据结构与算法 这门课程 xff0c 这个时候我们可
  • 【程序员的数学】从几何角度理解矩阵

    以下笔记笔记只是简单记录了自己对矩阵的理解 xff0c 主要参考了 3Blue1Brown 的 线性代数的本质 xff0c 想学习更多相关内容建议观看此视频 xff08 官方双语 合集 线性代数的本质 系列合集 哔哩哔哩 bilibili
  • 【计算机视觉·OpenCV】使用Haar+Cascade实现人脸检测

    前言 人脸检测的目标是找出图像中所有的人脸对应的位置 xff0c 算法的输出是人脸的外接矩形在图像中的坐标 使用 haar 特征和 cascade 检测器进行人脸检测是一种传统的方式 xff0c 下面将给出利用 OpenCV 中的 haar
  • TX2查看设备信息命令汇总

    内存 free m 系统内核 uname a CPU信息 lscpu USB设备 lsusb CPU占用情况 sudo apt get install htop htop 查看cudnn版本 xff1a cat usr include cu
  • 蓝牙:蓝牙协议

    蓝牙协议学习整理 xff08 一 xff09 蓝牙的概述 转自 xff1a https blog csdn net guoxiaolongonly article details 78414870 传送门 xff1a xff08 一 xff
  • Thinkphp 6.0数据库的时间查询

    本节课我们要单独学习一下时间的所有查询方式 xff0c 包括传统式 快捷方式和固定查询等 一 xff0e 传统方式 1 可以使用 gt lt gt 61 lt 61 来筛选匹配时间的数据 xff1b Db name 39 user 39 g
  • Java中基本数据类型和包装类型的区别

    1 包装类是对象 xff0c 拥有方法和字段 xff0c 对象的调用都是通过引用对象的地址 xff1b 基本类型不是 2 包装类型是引用的传递 xff1b 基本类型是值的传递 3 声明方式不同 xff1a 基本数据类型不需要new关键字 x
  • git diff如何退出

    git diff 对比两次文件修改了什么 但如何退出呢 xff1f 按q即可
  • 数据结构,计算机网络,数据库,计算机组成原理,操作系统有哪些好的网课值得推荐?

    大家好 xff0c 我是小林哥 作为自学CS过来的老学长 xff0c 看过中国mooc b站 网易云课堂很多视频 xff0c 期间踩了不少坑 xff0c 这次掏心掏肺前来跟分享下 xff0c 网上的资源是免费的 xff0c 但是找到质量好的
  • MATLAB中im2bw函数-将图像转换为二值图像

    matlab中DIP工具箱函数im2bw使用阈值 xff08 threshold xff09 变换法把灰度图像 xff08 grayscale image xff09 转换成二值图像 所谓二值图像 xff0c 一般意义上是指只有纯黑 xff
  • Ubuntu18.04使用RPLIDAR A2M12雷达出错的解决办法

    最近领导要我用A2M12雷达搞SLAM xff0c 但是用电脑连上这个雷达捣鼓了两三天才能够拿到数据 就把踩的坑记录一下 软硬件平台 Nvidia Jetson Nano xff08 4GB版本的 xff09 Ubuntu 18 04 报错
  • workerman 连接失败可能的原因

    刚开始使用workerman时很常见的一个问题是客户端连接服务端失败 原因一般如下 xff1a 1 服务器防火墙 包括云服务器安全组 阻止了连接 xff08 50 几率是这个 xff09 2 客户端和服务端使用的协议不一致 xff08 30
  • 排序算法:冒泡排序和选择排序的思路,区别与优缺点。

    一 xff0c 冒泡排序 xff1a 冒泡排序的定义就不提了 xff0c 总结起来就一句话 xff08 划重点 xff09 xff1a xff0c 从左到右 xff0c 数组中相邻的两个元素进行比较 xff0c 将较大的放到后面 算法思路
  • ROS创建功能包并自定义消息

    ROS有时需要自定义消息 xff0c 本文叙述如何通过创建功能包并自定义消息 创建ROS工作空间具体实现 xff1a https blog csdn net qq 34911636 article details 100103448 创建一
  • 卡尔曼滤波详细推导

    卡尔曼滤波 xff08 Kalman filtering xff09 是一种利用线性系统状态方程 xff0c 通过系统输入输出观测数据 xff0c 对系统状态进行最优估计的算法 xff0c 由于观测数据中包括系统中的噪声和干扰的影响 xff
  • ROS tf工具与消息查看命令

    TF工具坐标系统是一个基础理论 xff0c 但是涉及到多个空间的变换 xff0c 不容易进行想象所以TF工具给开发者调试提供很多方便 1 tf monitor xff1a 将当前的坐标系转换关系打印到终端控制台 rosrun tf tf m