robocup-software
robocup-software copied to clipboard
Rewrite GUI for soccer with ROS
Description
Rewrite the GUI (soccer) so that it only communicates with the autonomy/gameplay systems using ROS. We will likely rewrite in Python, which will allow us to more easily take advantage of introspection capabilities.
Requirements
There will be several components to the final project, which are each separate widgets. In implementation order, these are:
- Main field view
- Draws data from scrubber
- Allows interaction with robots/ball (move robots and ball around)
- Question: do we want to make this generalizable to other markers that we could move around, like rviz has? I think it would be really nice.
- Layers selector
- Quick control panel
- Data scrubber (for playback)
- Allow to select a topic to "sync" to, then allow single-stepping through drawing all items active at that time.
- Play selection (can manually publish/use launch configs instead)
- Log tree (can use rqt introspection instead)
- Shows most recent messages at scrubber time
Design
The GUI will be written in Python for flexibility purposes. We will also want to separate the rendering logic that draws robots from the GUI code, to avoid a messy special case.