rqt_plot工具——ROS中查看变量时间趋势线

rqt_plot工具——ROS中查看变量时间趋势线

工欲善其事,必先利其器

本篇博文依旧是小白教程,最近在写利用二次规划方法优化机械臂关节轨迹的代码。想要通过查看误差变量的时间趋势线看一下控制效果。百度了一下,有rqt_plot这个亲民的小白包。

1.百度到了什么?

https://blog.csdn.net/ktigerhero3/article/details/80927310
这个博主的博文讲得比较清楚,就没有继续往下搜了。

2.然后看到了什么?

注意,由于rqt_plot开启了一个节点,所以要先运行roscore,把master运行起来。

$ roscore
$ rosrun rqt_plot rqt_plot

这个时候,我们会看到弹出了一个窗口,先不管他。知己知彼百战不殆,姑且从宏观的角度看一下这个节点的信息。

$ rostopic list

然后没有弹出什么特别的与rqt_plot相关的东西,也就是说,这个rqt_plot本身不会发布消息。

$ rosnode list

可以看到一个匿名发布的节点,也就是说,可以任意开n个rqt_plot也是不影响的。
$ rosnode info rqt_gui_py_node_xxx
查看一下这个节点的信息,看到该节点没有订阅消息,提供了两种服务,没有发布任何消息。

$ rosnode info /rqt_gui_py_node_23864 
--------------------------------------------------------------------------------
Node [/rqt_gui_py_node_23864]
Publications: 
 * /rosout [rosgraph_msgs/Log]

Subscriptions: None

Services: 
 * /rqt_gui_py_node_23864/get_loggers
 * /rqt_gui_py_node_23864/set_logger_level


contacting node http://dianyehuang-G7-7588:33125/ ...
Pid: 23864
Connections:
 * topic: /rosout
    * to: /rosout
    * direction: outbound
    * transport: TCPROS

3.怎么用?

从功能上看,rqt_plot需要订阅消息,接收这些消息然后按时间序列画出曲线。在弹出的窗口中,我们可以在topic的文本框中填写我们自己编写的发布的“topic”。接下来需要考虑的是,消息的类型应该是怎么样子的?由前面的博主的代码中我们可以看到,可以是单个变量,也可以是向量。Vector3的类型是怎么样的?我们可以通过rosmsg show 来看一下:

$ rosmsg show geometry_msgs/Vector3
float64 x
float64 y
float64 z

可见,当我们自定义msg的时候,能够对应上变量就可以了。

4. 测试代码

自定义msg

rqtpltMsg,msg
float64 x
float64 y
int32 z

曲线对应代码如下:

#include <ros/ros.h>
#include "my_package/rqtpltMsg.h"
#include <iostream>
#include <math.h>

using namespace std;

int main(int argc, char** argv)
{
    ros::init(argc,argv, "test_rqtplt");
    ros::NodeHandle nh;
    ros::Publisher my_pub = nh.advertise<my_package::rqtpltMsg>("my_msg_plt",1);

    my_package::rqtpltMsg msg;
    ros::Rate loopRate(200);
    double t=0;
    while(ros::ok()){
        msg.x=0.1*sin(2*t);
        msg.y=0.2*cos(t);
        msg.z=0;
        my_pub.publish(msg);
        loopRate.sleep();
        t+=1.0/200.0;
    }
}
  • 27
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
rqt_plotROS的一个可视化工具,用于绘制ROS话题的数据。如果你在使用rqt_plot时遇到了"未找到命令"的错误,这可能是因为你没有正确安装rqt_plot或者没有将其添加到系统的环境变量。 要解决这个问题,首先确保你已经正确安装了rqt_plot。你可以使用以下命令来安装rqt_plot: ``` python -m pip install -U pip python -m pip install -U matplotlib ``` 这将使用pip来安装最新版本的matplotlib库,其包括rqt_plot。 如果你已经安装了rqt_plot但仍然遇到问题,那么可能是因为rqt_plot没有添加到系统的环境变量。你可以尝试使用以下命令来添加rqt_plot到环境变量: ``` export PATH=$PATH:/path/to/rqt_plot ``` 将"/path/to/rqt_plot"替换为你实际安装rqt_plot的路径。 通过执行这些步骤,你应该能够解决"rqt_plot:未找到命令"的问题,并成功使用rqt_plot来绘制ROS话题的数据。 #### 引用[.reference_title] - *1* [在终端运行rqt_plot命令报错](https://blog.csdn.net/renmengqisheng/article/details/120479803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [rqt_plot 绘制 joint_states 信息](https://blog.csdn.net/huangjunsheng123/article/details/115638286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值