Giter Site home page Giter Site logo

rqt_plot's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rqt_plot's Issues

loses configuration on startup

From @trainman419 on May 23, 2014 3:12

When starting up, if rqt_plot can't find a topic, it silently ignores it and removes it from the configuration. This causes two problems:

  • If you try to rely on the RQT framework to persist your plotting settings, they will silently be removed if the publisher isn't active when rqt_plot restarts
  • If you start rqt_plot with a list of topics, any topics from the command line that don't exist are silently ignored

Note that any solution to this should also be aware of the changes that were made to fix #110

It might be worth trying:

  • Maintaining internal configuration even if topics don't exist - possibly including topic types
  • Not blocking startup on missing topics
  • occasionally polling to see if missing topics have appeared
  • failing startup if topics/fields specified on the command line don't exist

Copied from original issue: ros-visualization/rqt_common_plugins#229

Error trying to plot multi array in ros2

When I try to plot a Float64 multi array I get the following error:

[ERROR] [get_message_class]: Malformed message_type: sequence<double>
Traceback (most recent call last):
  File "/opt/ros/dashing/lib/python3.6/site-packages/rqt_plot/plot_widget.py", line 259, in on_topic_edit_textChanged
    plottable, message = is_plottable(self._node, topic_name)
  File "/opt/ros/dashing/lib/python3.6/site-packages/rqt_plot/plot_widget.py", line 154, in is_plottable
    fields, message = get_plot_fields(node, topic_name)
  File "/opt/ros/dashing/lib/python3.6/site-packages/rqt_plot/plot_widget.py", line 137, in get_plot_fields
    for slot, slot_type in field_class.get_fields_and_field_types().items():
AttributeError: 'NoneType' object has no attribute 'get_fields_and_field_types'

I'm using dashing and trying to add the values as topic/data[0]

the echo of the topic is:

layout:
  dim:
  - label: a
    size: 6
    stride: 1
  data_offset: 0
data: [0.0, 0.9924335590913128, 0.22426324056320937, -0.9525528340078406, -0.36382767049387277, 0.9149277755179431]

should have setting to turn off y-axis autoscale

From @peter-moran on August 1, 2016 16:19

Autoscale is an awesome feature in rqt_plot, however sometimes I really wish I could fix the y axes and focus on one range of values.

This is especially true when I'm dealing with data that has large outliers. Every time an outlier comes in, the plot zooms out so much that I have to rescale my plot to see the usual data.

see: http://answers.ros.org/question/209492/rqt_plot-fixed-y-axis-limits/

Copied from original issue: ros-visualization/rqt_common_plugins#392

rqt_plot on ros-crystal: exception when accessing subfields of a geometry_msgs::Point message

A common hack that used to work on rqt - ROS1 versions was the following way of accessing the x,y,z coordinates of a Pose / Point message.

Suppose I 'm publishing a PoseStamped message in the global namespace: /pose

Then in rqt_plot I could write the following in the rqt_plot form for visualising the x coordinate of the pose position part:

/pose/pose/position/x.

Now, when I'm trying to do the same thing for rqt_plot on crystal I'm getting the following error:

AttributeError: 'NoneType' object has no attribute 'get_fields_and_field_types'
Traceback (most recent call last):
  File "/opt/ros/crystal/lib/python3.6/site-packages/rqt_plot/plot_widget.py", line 256, in on_topic_edit_textChanged
    plottable, message = is_plottable(self._node, topic_name)
  File "/opt/ros/crystal/lib/python3.6/site-packages/rqt_plot/plot_widget.py", line 151, in is_plottable

plot export TypeError

I use rqt_plot in ROS Kinetic to plot an angular velocity:
rqt_plot /rovio/odometry/twist/twist/angular/y

Then I get a nice plot, which I want to export. So I get the dropdown menu using the right mouse button and select export. Then I select in the pop-up menu:

  • Item to export: Entire Scene > Plot > Viewbox
  • Export format: Image File (PNG, TIF, JPG, ...)
  • Export options: params (default values):
    • width: 678
    • height: 312
    • antialias: true
    • background: white (= #ffffff)

When I then press "export", I get a browser to specify the location of the image to be created, and when I enter a name and save the image in a .png format, I get the following error message in the terminal and the image is not created:

Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pyqtgraph/exporters/Exporter.py", line 77, in fileSaveFinished self.export(fileName=fileName, **self.fileDialog.opts) File "/usr/lib/python2.7/dist-packages/pyqtgraph/exporters/ImageExporter.py", line 70, in export bg = np.empty((self.params['width'], self.params['height'], 4), dtype=np.ubyte) TypeError: 'float' object cannot be interpreted as an index

Any idea what goes wrong here?

rqt_plot crashes with AttributeError: NoneType object has no attribute __slots__ when typing in name of unknown message class

When the message class of the topic typed in to be plotted does not exit, rqt_plot crashes with the following error:

Traceback (most recent call last):
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_plot/plot_widget.py", line 210, in on_topic_edit_textChanged
    plottable, message = is_plottable(topic_name)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_plot/plot_widget.py", line 110, in is_plottable
    fields, message = get_plot_fields(topic_name)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_plot/plot_widget.py", line 93, in get_plot_fields
    for i, slot in enumerate(field_class.__slots__):
AttributeError: 'NoneType' object has no attribute '__slots__'
Aborted (core dumped)

I would expect a warning or message here instead of an abort.

[ROS2]rqt_plot can't plot data with the QoS profile of qos_profile_sensor_data

I created a publisher with rclpy.qos.qos_profile_sensor_data

self.pub = self.create_publisher(Int16, OUTPUT_TOPIC, qos_profile_sensor_data)

However, rqt_plot can't plot the data from this publisher, though there is data existing in OUTPUT_TOPIC.
When I changed the profile as something like the following, it works.

self.pub = self.create_publisher(Int16, OUTPUT_TOPIC, 10)

it seems that rqt_plot don't support a specific QoS profile?

Unable to add topic to plot

While selecting an active topic in the MatPlot plugin window, the GUI plus button stays inactive and the topic data can not be plotted. We're running ros2 dashing on Debian 10 and ros2 eloquent on Ubuntu 18.04. We're encountering the described problem on both systems and distributions.

No plot on ROS Noetic

No data is shown when ploting any kind of topic on ROS Noetic and Ubuntu 20.04. Windows stay empty and adding a topic in the topic bar doesn't light up the plus button.
Launching rqt_plot from the terminal specifying the topic path also yields a blank graph and no topic selected.

rqt_plot crashes when resizing the window

Steps to reproduce.

  1. Type rqt_plot in a terminal window
  2. Grab the bottom edge of the rqt_plot gui window with the mouse
  3. Drag to resize.

I get this error:
qurrent@qurrent-HP-Z820-Workstation:~/catkin_ws$ rqt_plot /vrx/debug/wind/speed Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_qt5agg.py", line 77, in paintEvent self.resizeEvent(event) File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_plot/data_plot/mat_data_plot.py", line 110, in resizeEvent self.figure.tight_layout() File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 2031, in tight_layout self.subplots_adjust(**kwargs) File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1881, in subplots_adjust self.subplotpars.update(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 241, in update raise ValueError('bottom cannot be >= top') ValueError: bottom cannot be >= top

OS: Ubuntu 18.04
Version: ros-melodic-rqt is already the newest version (0.5.1-1bionic.20200320.111301)

Any help here would be great!

Thanks,

Jonathan L Clark

[ROS 2] Usability issues with plotting for ported ROS 1 tutorial

While going over the use of rqt_plot in this ROS 1 tutorial (https://wiki.ros.org/ROS/Tutorials/UnderstandingTopics#Using_rqt_plot) in preparation for porting it to ROS 2, we noticed some usability issues:

  • It is not possible to adjust the width of the rolling window, which makes it hard to see patterns in the waveform for this tutorial.

  • The plotting always includes the 0 on the y-axis, rather than dynamically setting both the y-axis bounds, which causes the data to be quashed to the top of the plot.


See how it is in ROS 1:

UnderstandingTopics

Versus in ROS 2 as of Dashing:

Screen Shot 2019-10-04 at 1 08 32 PM

ROS2 rqt plot crashes when passing a topic name from the command line

The Plot plugin of ROS 2 rqt crashes when calling it with a topic name from the command line, i.e. when invoking it with rqt -s Plot --args /topicname.

https://github.com/ros-visualization/rqt_plot/blob/crystal-devel/src/rqt_plot/plot.py#L125 expects two return values from Node.get_topic_names_and_types() whereas this function in https://github.com/ros2/rclpy/blob/master/rclpy/rclpy/node.py#L769 seems to return a single List (of tuples) only.

Cannot resolve topic names than are in namespace of other topic

If there is a topic, e.g. /point and another topic called /point/shifted then it's not possible to plot /point/shifted/x because rqt tries to access the element msg.shifted.x of topic /point.

Corresponding warning is:

PlotWidget.update_plot(): error in rosplot: Invalid topic spec [/point/shifted/x]: 'Point' object has no attribute 'shifted'

However, it is possible to add the topic to the list of plotted values (the plus symbol becomes clickable and green) but the curve is not visible afterwards with this warning.

In ROS2 galactic, fixed-size Array msg type plotting broken

Title summarizes issue, but it looks like fixed-size array visualization is not working correctly.

Steps to reproduce

In one terminal window, run:

ros2 topic pub /foo sensor_msgs/msg/NavSatFix

In a separate terminal, run:

ros2 run rqt_plot rqt_plot /foo/position_covariance[0]

Observed error text:

PluginManager._load_plugin() could not load plugin "rqt_plot/Plot":
Traceback (most recent call last):
  File "/opt/ros/galactic/lib/python3.8/site-packages/qt_gui/plugin_handler.py", line 102, in load
    self._load()
  File "/opt/ros/galactic/lib/python3.8/site-packages/qt_gui/plugin_handler_direct.py", line 55, in _load
    self._plugin = self._plugin_provider.load(self._instance_id.plugin_id, self._context)
  File "/opt/ros/galactic/lib/python3.8/site-packages/qt_gui/composite_plugin_provider.py", line 72, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/galactic/lib/python3.8/site-packages/qt_gui/composite_plugin_provider.py", line 72, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/galactic/lib/python3.8/site-packages/rqt_gui_py/ros_py_plugin_provider.py", line 69, in load
    return super(RosPyPluginProvider, self).load(plugin_id, ros_plugin_context)
  File "/opt/ros/galactic/lib/python3.8/site-packages/qt_gui/composite_plugin_provider.py", line 72, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/galactic/lib/python3.8/site-packages/rqt_gui/ros_plugin_provider.py", line 107, in load
    return class_ref(plugin_context)
  File "/opt/ros/galactic/lib/python3.8/site-packages/rqt_plot/plot.py", line 64, in __init__
    self._widget.switch_data_plot_widget(self._data_plot)
  File "/opt/ros/galactic/lib/python3.8/site-packages/rqt_plot/plot_widget.py", line 229, in switch_data_plot_widget
    self.add_topic(topic_name)
  File "/opt/ros/galactic/lib/python3.8/site-packages/rqt_plot/plot_widget.py", line 345, in add_topic
    for topic_name in get_plot_fields(self._node, topic_name)[0]:
  File "/opt/ros/galactic/lib/python3.8/site-packages/rqt_plot/plot_widget.py", line 125, in get_plot_fields
    if index >= current_type.maximum_size:
AttributeError: 'Array' object has no attribute 'maximum_size'

Proposed fix

Looking at https://github.com/ros2/rosidl/blob/master/rosidl_parser/rosidl_parser/definition.py#L313, it seems that both Array and BoundedSequence types in the IDL should have the size member, but only BoundedSequences have maximum_size. It looks like maximum size exclusively is used here in rqt_plot.

If we switch to using size instead of maximum_size, would this fix things?

rqt_plot doesn't show published topic

I can't get any graphs or visualizations using rqt_plot
Steps to reproduce

  1. rostopic list
    I get this
    /clock /gazebo/link_states /gazebo/model_states /gazebo/parameter_descriptions /gazebo/parameter_updates /gazebo/set_link_state /gazebo/set_model_state /rosout /rosout_agg /sonar_sensor1/range_finder /sonar_sensor1/range_finder/parameter_descriptions /sonar_sensor1/range_finder/parameter_updates /sonar_sensor10/range_finder /sonar_sensor10/range_finder/parameter_descriptions /sonar_sensor10/range_finder/parameter_updates /sonar_sensor11/range_finder /sonar_sensor11/range_finder/parameter_descriptions /sonar_sensor11/range_finder/parameter_updates /sonar_sensor12/range_finder /sonar_sensor12/range_finder/parameter_descriptions /sonar_sensor12/range_finder/parameter_updates /sonar_sensor13/range_finder /sonar_sensor13/range_finder/parameter_descriptions /sonar_sensor13/range_finder/parameter_updates /sonar_sensor14/range_finder /sonar_sensor14/range_finder/parameter_descriptions /sonar_sensor14/range_finder/parameter_updates /sonar_sensor15/range_finder /sonar_sensor15/range_finder/parameter_descriptions /sonar_sensor15/range_finder/parameter_updates /sonar_sensor16/range_finder /sonar_sensor16/range_finder/parameter_descriptions /sonar_sensor16/range_finder/parameter_updates /sonar_sensor2/range_finder /sonar_sensor2/range_finder/parameter_descriptions /sonar_sensor2/range_finder/parameter_updates /sonar_sensor3/range_finder /sonar_sensor3/range_finder/parameter_descriptions /sonar_sensor3/range_finder/parameter_updates /sonar_sensor4/range_finder /sonar_sensor4/range_finder/parameter_descriptions /sonar_sensor4/range_finder/parameter_updates /sonar_sensor5/range_finder /sonar_sensor5/range_finder/parameter_descriptions /sonar_sensor5/range_finder/parameter_updates /sonar_sensor6/range_finder /sonar_sensor6/range_finder/parameter_descriptions /sonar_sensor6/range_finder/parameter_updates /sonar_sensor7/range_finder /sonar_sensor7/range_finder/parameter_descriptions /sonar_sensor7/range_finder/parameter_updates /sonar_sensor8/range_finder /sonar_sensor8/range_finder/parameter_descriptions /sonar_sensor8/range_finder/parameter_updates /sonar_sensor9/range_finder /sonar_sensor9/range_finder/parameter_descriptions /sonar_sensor9/range_finder/parameter_updates /vrx/debug/wind/direction /vrx/debug/wind/speed /wamv/joint_states /wamv/sensors/gps/gps/fix /wamv/sensors/gps/gps/fix/position/parameter_descriptions /wamv/sensors/gps/gps/fix/position/parameter_updates /wamv/sensors/gps/gps/fix/status/parameter_descriptions /wamv/sensors/gps/gps/fix/status/parameter_updates /wamv/sensors/gps/gps/fix/velocity/parameter_descriptions /wamv/sensors/gps/gps/fix/velocity/parameter_updates /wamv/sensors/gps/gps/fix_velocity /wamv/sensors/imu/imu/data /wamv/sensors/imu/imu/data/accel/parameter_descriptions /wamv/sensors/imu/imu/data/accel/parameter_updates /wamv/sensors/imu/imu/data/bias /wamv/sensors/imu/imu/data/rate/parameter_descriptions /wamv/sensors/imu/imu/data/rate/parameter_updates /wamv/sensors/imu/imu/data/yaw/parameter_descriptions /wamv/sensors/imu/imu/data/yaw/parameter_updates /wamv/thrusters/bow_thrust_angle /wamv/thrusters/bow_thrust_cmd /wamv/thrusters/main_thrust_angle /wamv/thrusters/main_thrust_cmd /wamv/thrusters/stern_thrust_angle /wamv/thrusters/stern_thrust_cmd

  2. Launched rqt_plot from the terminal
    rqt_plot /vrx/debug/wind/speed
    Empty window is displayed

  3. Launched rqt_plot without a topic from the terminal
    rqt_plot
    Entered the topic /vrx/debug/wind/speed into the rqt_plot window
    The window remained empty.

FYI: Information on wind speed topic:
`rostopic info /vrx/debug/windpeed
Type: std_msgs/Float64

Publishers:

Subscribers:

Any help would be great!

Thanks,

Jonathan L Clark

Matplotlib

Hello,
first time using rqt_plot on a new Ubuntu machine, I had the following error message.

rqt_plot
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_qt5agg.py", line 77, in paintEvent
    self.resizeEvent(event)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_plot/data_plot/mat_data_plot.py", line 110, in resizeEvent
    self.figure.tight_layout()
  File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 2031, in tight_layout
    self.subplots_adjust(**kwargs)
  File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1881, in subplots_adjust
    self.subplotpars.update(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 241, in update
    raise ValueError('bottom cannot be >= top')
ValueError: bottom cannot be >= top
Aborted (core dumped)

I "solved" the error by using pip install matplotlib. I don't know if it's a common problem, but I wanted to let you know.

Ubuntu 18.04
Ros Melodic

Terminal output from pip install:

pip install matplotlib
Collecting matplotlib
  Downloading https://files.pythonhosted.org/packages/9d/40/5ba7d4a3f80d39d409f21899972596bf62c8606f1406a825029649eaa439/matplotlib-2.2.5-cp27-cp27mu-manylinux1_x86_64.whl (12.8MB)
    100% |████████████████████████████████| 12.8MB 104kB/s 
Collecting cycler>=0.10 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whl
Collecting numpy>=1.7.1 (from matplotlib)
  Using cached https://files.pythonhosted.org/packages/3a/5f/47e578b3ae79e2624e205445ab77a1848acdaa2929a00eeef6b16eaaeb20/numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl
Collecting backports.functools-lru-cache (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/da/d1/080d2bb13773803648281a49e3918f65b31b7beebf009887a529357fd44a/backports.functools_lru_cache-1.6.1-py2.py3-none-any.whl
Collecting subprocess32 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz (97kB)
    100% |████████████████████████████████| 102kB 1.8MB/s 
Collecting kiwisolver>=1.0.1 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/3d/78/cb9248b2289ec31e301137cedbe4ca503a74ca87f88cdbfd2f8be52323bf/kiwisolver-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl (93kB)
    100% |████████████████████████████████| 102kB 1.9MB/s 
Collecting pytz (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB)
    100% |████████████████████████████████| 512kB 1.2MB/s 
Collecting six>=1.10 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl
Collecting python-dateutil>=2.1 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227kB)
    100% |████████████████████████████████| 235kB 1.4MB/s 
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
  Downloading https://files.pythonhosted.org/packages/5d/bc/1e58593167fade7b544bfe9502a26dc860940a79ab306e651e7f13be68c2/pyparsing-2.4.6-py2.py3-none-any.whl (67kB)
    100% |████████████████████████████████| 71kB 1.8MB/s 
Collecting setuptools (from kiwisolver>=1.0.1->matplotlib)
  Downloading https://files.pythonhosted.org/packages/f9/d3/955738b20d3832dfa3cd3d9b07e29a8162edb480bf988332f5e6e48ca444/setuptools-44.0.0-py2.py3-none-any.whl (583kB)
    100% |████████████████████████████████| 583kB 1.2MB/s 
Building wheels for collected packages: subprocess32
  Running setup.py bdist_wheel for subprocess32 ... done
  Stored in directory: /home/luttkule/.cache/pip/wheels/68/39/1a/5e402bdfdf004af1786c8b853fd92f8c4a04f22aad179654d1
Successfully built subprocess32
Installing collected packages: six, cycler, numpy, backports.functools-lru-cache, subprocess32, setuptools, kiwisolver, pytz, python-dateutil, pyparsing, matplotlib
Successfully installed backports.functools-lru-cache-1.6.1 cycler-0.10.0 kiwisolver-1.1.0 matplotlib-2.2.5 numpy-1.16.6 pyparsing-2.4.6 python-dateutil-2.8.1 pytz-2019.3 setuptools-44.0.0 six-1.14.0 subprocess32-3.5.4

I am not sure, whether I hadn't installed matplotlib at all in python 2.7.

I guess it might be helpful to mention matplotlib as a python dependencie of rqt_plot?

"ValueError: bottom cannot be >= top" when attempting to achieve a vertical configuration

Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_plot/data_plot/mat_data_plot.py", line 107, in resizeEvent
    self.figure.tight_layout()
  File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1756, in tight_layout
    self.subplots_adjust(**kwargs)
  File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1612, in subplots_adjust
    self.subplotpars.update(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 230, in update
    raise ValueError('bottom cannot be >= top')
ValueError: bottom cannot be >= top

This crash can still be reliably reproduced on both kinetic and melodic.

  1. Open an RQT window.
  2. Create two plots in that window.
  3. Attempt to stack one plot vertically below the other, as pictured below.
  4. RQT will crash with the above stack trace.

Screenshot from 2019-08-23 12-17-16

The issue has been posted previously in ros-visualization/rqt#110. This issue appears to be related to font sizes when using tight_layout, as seen in matplotlib/matplotlib#5456, but 5456 has now been closed and the issue is not resolved in rqt_plot.

Can't plot active topics on Humble

It's impossible to add an active topic in the MatPlot plugin on Ubuntu 22.04 with Humble, in particular topics of std_msgs::msg::Float32 type.
Practically the GUI plus button is inactive, so the data can't be plotted

Native rqt_plot with QtCharts?

Hi guys,

I have some missing features from the Matplotlib based plot plugin namely:

I have written some Qt applications where the I have used QtCharts where I have implemented the features mentioned above. What do you think would it be useful to create a C++ plot plugin where these features would be implemented?

[ROS2] malformed message type

When opening rqt_plot I see the following error messages:

[ERROR] [get_message_class]: Malformed message_type: rcl_interfaces/msg/ParameterEvent
TopicCompleter.update_topics(): could not get message class for topic type "rcl_interfaces/msg/ParameterEvent" on topic "/parameter_events"
This error occurs for every type. I believe it's related to the change of type descriptions a.k.a <pkg_name>/msg/<MessageName>

ValueError: bottom cannot be >= top

Reproducable rqt_bag crash

  1. rqt_bag any_rosbag.bag
  2. Plot a topic
  3. Drag the plotting sub-window from the right to above the timeline
  4. rqt_bag will crash
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_plot/data_plot/mat_data_plot.py", line 107, in resizeEvent
    self.figure.tight_layout()
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py", line 1755, in tight_layout
    self.subplots_adjust(**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py", line 1620, in subplots_adjust
    self.subplotpars.update(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py", line 232, in update
    raise ValueError('bottom cannot be >= top')

ROS 2: topic list should be a drop-down box

It would be nice if the "Topic" box was a drop-down that showed all existing topics, as well as be editable so arbitrary topics could be entered in. This would be a little more user-friendly, especially for first-time users that don't know the syntax for plotting a topic.

ROS1 Melodic on Windows 10 Icons not displaying

When going through the ROS tutorial for Beginners after Melodic install on Windows 10, the ros_graph and ros_plot within the window icons are not displaying at all (I went all the way through the whole tutorial, step-by-step, up to Section 6)

image

ROS2: rqt_plot crashes on subfields of complex message types

If you're typing out a topic field like /twist/linear, rqt_plot will crash because field_class is None at the line:

field_class = topic_helpers.get_type_class(slot_type)

Traceback (most recent call last):
  File "/Users/brawner/workspace/ros2_ws/install/rqt_plot/lib/python3.7/site-packages/rqt_plot/plot_widget.py", line 257, in on_topic_edit_textChanged
    plottable, message = is_plottable(self._node, topic_name)
  File "/Users/brawner/workspace/ros2_ws/install/rqt_plot/lib/python3.7/site-packages/rqt_plot/plot_widget.py", line 151, in is_plottable
    fields, message = get_plot_fields(node, topic_name)
  File "/Users/brawner/workspace/ros2_ws/install/rqt_plot/lib/python3.7/site-packages/rqt_plot/plot_widget.py", line 134, in get_plot_fields
    for slot, slot_type in field_class.get_fields_and_field_types().items():
AttributeError: 'NoneType' object has no attribute 'get_fields_and_field_types'

Error when re-arranging widgets over plot. Kinetic, 16.04

When I try to re-arrange widgets in rqt, whenever I pass with it over a plot widget, I get the error:

Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/dock_widget.py", line 90, in _event
    new_parent = self._get_new_parent(widget)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/dock_widget.py", line 139, in _get_new_parent
    widget = widget.parent()
TypeError: 'Canvas' object is not callable

topic syntax is ambiguous "Invalid topic spec"

From @sloretz on October 20, 2016 1:30

rqt_plot uses slashes to specify the value in a published message that should be plotted. This syntax leads to the error "PlotWidget.update_plot(): error in rosplot: Invalid topic spec [...]" in cases like the following

To reproduce

  1. save the following as simple_pub.py and make it executable with chmod

    #!/usr/bin/env python
    
    import rospy
    import std_msgs
    import sys
    import random
    rospy.init_node("simple_pub", anonymous=True)
    pub = rospy.Publisher(sys.argv[1], std_msgs.msg.Float32, queue_size=10)
    r = rospy.Rate(10)
    while not rospy.is_shutdown():
        r.sleep()
        msg = std_msgs.msg.Float32()
        msg.data = random.random()
        pub.publish(msg)
    
  2. open 4 terminals, one with each command

    • roscore
    • ./simple_pub.py imu/data
    • ./simple_pub.py imu/data/processed
    • rqt_plot
  3. Type the following into the topic box and press the green + to add them to the plot

    1. /imu/data/data
    2. /imu/data/processed/data
  4. rqt_plot will correctly plot the first topic, /imu/data/data. The second topic will not be plotted, and the terminal from which rqt_plot was started will spam

    PlotWidget.update_plot(): error in rosplot: Invalid topic spec [/imu/data/processed/data]: 'Float32' object has no attribute 'processed'
    

This can be fixed by changing the character used to separate message fields. I think the ':' character is a good choice

  • /imu/data:data
  • /imu/data/processed:data

Copied from original issue: ros-visualization/rqt_common_plugins#402

(matplot only) shows strange output after running for ~5 minutes (progressively gets worse)

From @ablasdel on January 28, 2013 22:30

Migrated from ros-visualization/rqt#48


The issue:snapshot14

steps to duplicate
execute the UnderstandingTopics tutorial (http://www.ros.org/wiki/ROS/Tutorials/UnderstandingTopics)
leave the rqt_plot open for an extended period of time.
You will see the following:
after

It should look like the following (it starts this way and progressively gets worse:
before1

groovy
using rqt 1.5

Copied from original issue: ros-visualization/rqt_common_plugins#19

Legend items are not removed when curves are in pyqtgraph

When removing a curve with pyqtgraph its corresponding legend item isn't removed. In fact, no items are removed, but the legend list is just appended with all curves except the removed one. Eg. if curves 1, 2, and 3 are plotted and 2 is removed, the resulting legend will contain 1,2,3,1,3.

rqt is crashing while running rqt_plot with ros2_crystal release

Hi , I am receiving the below error when trying to run rqt_plot wit ros2 crystal release. RQT crashes once i click on rqt_plot plugin from the list and the below error displays on console .
QMetaType::registerType: Binary compatibility break -- Size mismatch for type 'QUuid' [30]. Previously registered size 16, now registering size 0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.