You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gazebo-classic has a featureful plotting tool so users can visualize various types of data coming from simulation.
We initially ported that tool to Ignition back in ign-gui0, when we were still using QWidgets. Since we moved to QML, we need a new plotting tool using QML's QtCharts.
User stories
Here are some user stories ordered from the most important to the least important. The users are defined as follows:
ign-gui user: someone running an application built on top of Ignition GUI which they didn’t necessarily write themselves
ign-gazebo user: someone running a simulation which they didn’t necessarily write themselves. All ign-gazebo users are ign-gui users.
ign-gui developer: someone writing new ign-gui plugins
ign-gazebo developer: someone writing new ign-gazebo plugins. Some ign-gazebo developers are also ign-gui developers (if they write ign-gazebo GUI plugins).
Some stories:
As an ign-gazebo user, I want to plot the X position of my robot over sim time
As an ign-gazebo user, I want to plot the acceleration data of my robot's IMU
As an ign-gazebo user, I want to plot the angular velocities of all my robot’s wheels on the same plot
I want to add new variables to an existing plot
I want to remove variables from an existing plot
As an ign-gazebo user, I want to different plots side-by-side
As an ign-gazebo user, I want to be able to zoom into a plot
As an ign-gui developer, I want to plot the value of an Ignition Transport topic over time
As an ign-gazebo user, I want to plot the value of a built-in component over time
As an ign-gazebo developer, I want to plot the value of a custom component over time
As an ign-gui user, I want to hover over a plot and see the exact value at that point
As an ign-gui user, I want to clear the current values in a plot
As an ign-gui user, I want to export a plot as a CSV file to process it with a different application
As an ign-gui user, I want to export a plot as a SVG file to display it on a presentation
Features
Based on the user stories above, here's a list of features to be implemented:
Ignition GUI
These features should be implemented on Ignition GUI, so they can be used by users that are not using Ignition Gazebo.
Plot messages and fields from ign-transport topics
Gazebo-classic has a featureful plotting tool so users can visualize various types of data coming from simulation.
We initially ported that tool to Ignition back in ign-gui0, when we were still using
QWidgets
. Since we moved to QML, we need a new plotting tool using QML's QtCharts.User stories
Here are some user stories ordered from the most important to the least important. The users are defined as follows:
ign-gazebo
users areign-gui
users.ign-gui
pluginsign-gazebo
plugins. Someign-gazebo
developers are alsoign-gui
developers (if they writeign-gazebo
GUI plugins).Some stories:
Features
Based on the user stories above, here's a list of features to be implemented:
Ignition GUI
These features should be implemented on Ignition GUI, so they can be used by users that are not using Ignition Gazebo.
Ignition Gazebo
Additional features that are only needed in Ignition Gazebo.
Implementation
@AmrElsersy has started implementation at https://github.com/AmrElsersy/Ignition-plotting. That will be refactored and moved to
ign-gazebo
/ign-gui
.The current plan is to split the implementation into a few parts:
ign-gui
plugin which lists allign-transport
topics currently published. Transport Topics Plugin #69ign-gui0
's TopicViewer, see this PR:ign-gui
plugin.ign-gui
and is not a plugin by itself, similar to IgnSpinBox, but including some C++ logic.ign-gui
plugin which plotsign-transport
topics.PlottingInterface
TransportTopics
.ign-gui
plugin.ign-gui
plugin which plotsign-gazebo
components.PlottingInterface
ComponentInspector
.ign-gazebo
GUI plugin (has access to components).The text was updated successfully, but these errors were encountered: