热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ROStf工具与消息查看命令

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

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

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

rosrun tf tf_monitor

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

rosrun tf tf_monitor base_link odom

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

如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_msstatic_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文件中使用。


发布一个父坐标系到子坐标系的静态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


推荐阅读
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • 面向对象之3:封装的总结及实现方法
    本文总结了面向对象中封装的概念和好处,以及在Java中如何实现封装。封装是将过程和数据用一个外壳隐藏起来,只能通过提供的接口进行访问。适当的封装可以提高程序的理解性和维护性,增强程序的安全性。在Java中,封装可以通过将属性私有化并使用权限修饰符来实现,同时可以通过方法来访问属性并加入限制条件。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
author-avatar
ndo2205188
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有