ROS小工具学习与使用

news2024/11/29 0:38:52

ROS小工具学习与使用

rqt的使用

  1. rqt_bag工具

    rqt_bag <your bagfile> #使用rqt_bag查看你的rosbag
    

    例如:可以查看第一帧GPS的rawdata信息,如下图:

    在这里插入图片描述

    参考文献:

    1、http://wiki.ros.org/rqt_bag

    2、rosbag与rqt_bag的常用

  2. rqt_console和rqt_logger_level工具

    rqt_console:属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息。

    rqt_logger_level:允许我们修改节点运行时输出信息的日志等级(logger levels)(包括 DEBUG、WARN、INFO和ERROR)。

    现在用实例在rqt_console中的输出信息,同时在rqt_logger_level中修改日志等级。在启动例子之前先在另外两个新终端中运行rqt_console和rqt_logger_level:

    # 在终端直接运行
    $ rqt_console
    $ rqt_logger_level
    

    打开例子:

    $ ./catkin_make.sh
    

    因为默认日志等级是INFO,所以你会看到例子启动后输出的所有信息,如下图所示:

    在这里插入图片描述

    【注】:默认输出等级为INFO, 不输出Debug信息,可以打开rqt_logger_level配置输出等级, 选择节点 /lio_sam_gpsOdometry, logger: ros.lio_sam, levels改为Debug,如下图:

    在这里插入图片描述

    日志等级说明

    日志等级按以下优先顺序排列:
    Fatal
    Error
    Warn
    Info
    Debug
    

    【注】:Fatal是最高优先级,Debug是最低优先级。

    终端消息解读

    在这里插入图片描述

    解释一下输出信息:第一个为系统时间戳。第二个为消息的输出的时候时钟源的时间(仿真时间),当ros系统设置了use_sim_time true的时候,这个为播放的bag包的时间,没有bag数据包播放时会卡住,这里可以参考博客:ros::Rate 设定的帧率循环进入一次就卡住。

    【注】:

    这里对仿真时间做进一步说明:

    如果设置了ros时钟仿真参数(use_sim_time true),发布一个时间的clock话题(/clock),就可以控制ros系统的时间,效果如下:

    在这里插入图片描述

    :当发布clock话题的节点没有运行,会出现什么反应?

    :当其他所有节点线程遇到延时,执行rospy.sleep,rate.sleep等函数时,会一直卡住,while循环不跳出。一直等待 ,直到时钟初始化。

    当然你都无法直接分辨是哪天,这都是从1970-01-01 00:00:00 UTC开始算起的时间,单位为秒。国内北京时间UTC+8.0所以时间戳是从1970-01-01 08:00:00开始。

    通过rqt_console查看

    要想看懂时间戳,下面就轮到rqt_console登场了,如下图stamp显示的就是转换过后的时间戳

    在这里插入图片描述

    【注】:双击每条消息任意位置可以查看消息的所有详细信息。

    配置过滤哪些消息,可根据等级,消息内容,时间范围,节点以及话题来滤除,如下图:

    在这里插入图片描述

    配置高亮哪些消息,可根据等级,消息内容,时间范围,节点以及话题来设置,如下图:

    在这里插入图片描述

    参考博客:关于ROS日志ROS_INFO需要知道的一些东西

  3. bag数据回放注意事项

    从包文件重新发布时不要忘记使用模拟时间:使用模拟时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/3515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nacos学习笔记

视频学习指路&#xff1a; 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 Nacos nacos注册中心的搭建 1.下载nacos的安装包&#xff0c;github地址&#xff1a;https://github.com/alibaba/nacos&…

Tkinter保姆级教程(上)

目录 什么是GUI Tkinter用法详解 第一个Tkinter程序 常用控件和属性 主窗口 Label标签控件 Button按钮控件 Entry输入控件 基本属性 Text 文本控件 列表框(ListBox)和组合框(Combobox) 单选框(Radiobutton)和多选框按钮(Checkbutton) 什么是GUI 图形用户界面&#x…

运算放大器正反馈负反馈判别法

---------------------------------------------------------------------------------------------------------------- 反馈可分为负反馈和正反馈。前者使输出起到与输入相反的作用&#xff0c;使系统输出与系统目标的误差减小&#xff0c;系统趋于稳定&#xff1b;后者使输出…

java面向对象(上)

一、java面向对象学习的三条主线1.java类以及类的成员&#xff1a;属性、方法、构造器&#xff1b;代码块、内部类。2.面向对象的三大特征&#xff1a;封装性&#xff0c;继承性&#xff0c;多态性&#xff0c;&#xff08;抽象性&#xff09;。3.其他关键字&#xff1a;this&a…

.net技术第一章

文章目录.NETC# (C Sharp)的特点C# 的应用范围.NET Framework1.2 创建简单的C#程序结构和书写规则类型的声明和使用类型的声明和使用命名空间使用方法命名空间举例注释Main方法命令行参数Main返回值控制台输入和输出例子格式化.NET 由微软公司提供的免费、跨平台的开源通用开发…

复杂分数 马蹄集

复杂分数 难度&#xff1a;白银 0时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 编写程序连续输入a1、a2、、a5,计算下列表达式的值并输出。本题不考虑输 入0&#xff0c;负数或者其他特殊情况。 1十1中 al 3 4 格式 输入格式&#xff1a;输入整型&#xff0c;空格分隔。…

Go语言学习(二) 函数

文章目录函数go函数基本语法go不支持重载go中支持可变参数函数 go函数基本语法 先来看看go中函数的基本使用 package mainimport "fmt"/* func 函数名(形参列表) (返回值类型列表) {执行语句..return 返回值列表 } */ //自定义函数&#xff1a;功能&#xff1a;两…

实验三:多种影响因素下购房方案的比较

根据呼文军[1]等建立的购房决策数学模型式(1)[1]&#xff0c;通过对影响购房的多个因素进行科学地分析、比较&#xff0c;从若干备选购房方案中做出最佳的选择。 QP*WT &#xff08;1&#xff09; 在文章的“实例分析”中&#xff0c;假设…

Kubeadm搭建kubernetes(k8s)集群

目录 一、集群介绍 1、集群搭建方法 二、集群部署 环境配置 所有节点&#xff0c;关闭防火墙规则&#xff0c;关闭selinux&#xff0c;关闭swap交换 node02&#xff08;192.168.137.30&#xff09; node01&#xff08;192.168.137.20&#xff09; ​编辑 master&#…

单链表经典例题

LeetCode题解移除链表元素反转链表合并两个有序链表移除链表元素 题目描述&#xff1a; ➡️挑战链接⬅️、 分析&#xff1a; 该题是要求我们删除指定元素&#xff0c;那么我们就定义一个cur指针去遍历整个链表就好了&#xff0c;每当我们遇到cur->valval;等于特定值的时…

【PTA-训练day3】L2-014 列车调度 + L1-009 N个数求和

目录 L2-014 列车调度 - 二分贪心 1、java版 - 运行超时 2、c版 L1-010 比较大小 - 10 L1-015 跟奥巴马一起画方块 - 15 L1-009 N个数求和 - 20 java 欧几里得求最大公约数gcd L2-014 列车调度 - 二分贪心 PTA | 程序设计类实验辅助教学平台 如果当前序号比火车队列末…

最流行的 6 款 Python 解释器

有人说&#xff1a;一个人从1岁活到80岁很平凡&#xff0c;但如果从80岁倒着活&#xff0c;那么一半以上的人都可能不凡。 生活没有捷径&#xff0c;我们踩过的坑都成为了生活的经验&#xff0c;这些经验越早知道&#xff0c;你要走的弯路就会越少。 Python 是最流行的编程语言…

双向长短期记忆网络(BiLSTM)详解

双向长短期记忆网络&#xff08;BiLSTM&#xff09;详解 一、前言 在学习BiLSTM之前&#xff0c;首先需要对RNN和LSTM有一定的了解&#xff0c;可以参考本人的博客&#xff1a;详细讲解RNNLSTMTree_LSTM&#xff08;Tree-Long Short Term Memory&#xff09;基于树状长短期记忆…

22、短信登录(隐藏用户的敏感信息)

短信登录&#xff08;隐藏用户的敏感信息&#xff09; 我们返回给前端的信息太多了 问题&#xff1a;为什么我们这里全返回了呢&#xff1f; 我们这里是直接从userHoler里获取用户后就直接返回。 所以我们冲userHoler里取出来的信息就是完整的。 2、userHoler从哪里来&#x…

RSA与AES加密

目录 一、非对称加密和RSA 1.非对称秘钥 2.RSA加密的核心 3.Python中实现RSA加密解密 二、HTTPS通信过程 三、对称加密和AES 1.AES简介 2.Python中实现AES加解密 一、非对称加密和RSA 1.非对称秘钥 https://blog.csdn.net/gao131360144/article/details/79966094HTTPS&…

北理工嵩天Python语言程序设计笔记(6 函数和代码复用)

前言 本文是对《北理工 嵩天/黄天宇/礼欣 Python语言程序设计》的学习笔记&#xff0c;供自己查阅使用。 文章目录 北理工嵩天Python语言程序设计笔记&#xff08;目录&#xff09;北理工嵩天Python语言程序设计笔记&#xff08;2 Python基本语法元素&#xff09;北理工嵩天…

3GPP R17空闲态省电特性

Paging Early Indication 为了进一步降低空闲态UE监听PDCCH的功耗&#xff0c;R17提出Paging Early Indication(PEI)方案。方案的主要思想是在PO(Paging Occasion)之前插入一个PEI-O(PEI Occasion)&#xff0c;UE在解调到PEI信息之后&#xff0c;再确定是否需要解调PO信息。其中…

FPGA帧差算法实现图像识别跟踪,Verilog代码讲解全网最细,提供两套工程源码

之前我写过一篇关于FPGA帧差算法实现图像识别跟踪的文章&#xff0c;可以参考一下FPGA帧差算法实现图像识别跟踪 但那篇文章讲得不够细&#xff0c;这里讲得细一点&#xff1a; 运动目标检测原理&#xff1a;先将RGB图像转为灰度图只取亮度分量y&#xff0c;如果一个物体是运动…

【C++】如何修改set的值

问题&#xff1a;尝试通过begin方法得到的迭代器去修改值&#xff0c;发现会报错。 set<string> st{"hello", "world", "good"}; set<string>::iterator it st.begin(); *it "test"; 原因&#xff1a;我们可以在源码里…

三层交换机(三层配置基础命令)

作者介绍&#xff1a; ♥️作者&#xff1a;小刘在C站 ♥️每天分享课堂笔记&#xff0c;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放。 目录 一.什么是三层交换机 二.为什么使用三层交换机 三.层交换机的原理 1.传统的mls 2.快速转…