lucasw / imgui_ros

View ros images, visualize in 2D and 3D, and interact with nodes through topics and services using https://github.com/ocornut/imgui
BSD 3-Clause "New" or "Revised" License
36 stars 6 forks source link

live console, rosbag viewer #85

Open lucasw opened 4 years ago

lucasw commented 4 years ago

Possibly belongs in different repo but this is a convenient workspace. For now make easy to run as standalone app (roslaunch imgui_ros bag.launch).

Load as quickly as possible. Show partially loaded bags while continuing to load in background, fill progress bar.

View all the messages in a console like rqt console, sort by rx time, rx time + header time where available, or order within bag.

Show topics in separate pane. Allow shift/ctrl selection of topics to highlight/exclude.

Show message types in separate pane (probably a tab on the above pane). Same highlight/exclude capabilities.

Load bags via drag and drop (and later file dialogs), command line. Allow any number of bags to be loaded, but need to watch memory usage.

Is it better to transcribe bags into an different format, a database? Then it can handle moving pieces in and out of memory?

How far can this get in C++ for understanding message types? Does there need to be a script to generate a giant include from every message type known at compilation time, or are there other introspection capabilities? It would be nice to generically get a list of all fields, traverse into subfields and so on until generic data types are reached.

Clicking on a message in the console should either expand it there in the console view, or show the contents in a separate pane.

Ability to move forward or back to next message on same topic, or of same type.

Also want rqt_bag style sideways view that plots message frequency on x axis. Moving filter to show frequency within a time window would be nice, otherwise it is just the density of ticks as in rqt_bag. The sideways rendering could just be another pane.

Image viewing is nice as in rqt_bag, also could embed this in thumbnails in horizontal view, show in message expansion in console view.

Plots are also nice of the contents of messages, though leave this for last.

Try out docking branch, make this issue in an bagview branch.

lucasw commented 4 years ago

Screenshot from 2019-12-24 10-43-47