简介
经常做数据处理的同学可能比较熟悉MATLAB或者Python,而做图像或者机器人用到最多的其实是C和C++。经常需要在调试时实时看到某些数据的变化趋势,而C++却没有一套好的可视化库(或者需要很麻烦的配置。)于是写了这个工具。调用者只要在程序里打印需要实时显示的数据,然后将控制台信息通过管道传给Python程序即可自动在rqt_plot里显示,并自动发布ROS话题。
效果
使用方法及源码
#! /usr/bin/python
# coding:utf-8
"""
本脚本将任意程序输出转为ROS话题发布出来,便于通过可视化程序直接查看数据。
用法:
cmd | python debug_in_ros.py [TOPIC_NAME] [PLOT_NUMS]
调用者需要在自己的程序中将需要调试的数据按如下格式打印:
[TOPIC_NAME] [DATA] [NUMBER]
数据间用空格隔开。
如,我的程序a输出为:
odom 1 2 3
调用 a | python debug_in_ros.py odom 3
则本程序将发布ros话题odom,并实时用rqt_plot绘制出波形,类型为Float64MultiAr