Skip to content

significant improvements and streamlining to the RQT GUI interface#44

Merged
gmfricke merged 1 commit into
masterfrom
feature-GUI-upgrades
Oct 6, 2017
Merged

significant improvements and streamlining to the RQT GUI interface#44
gmfricke merged 1 commit into
masterfrom
feature-GUI-upgrades

Conversation

@Antonio-Griego
Copy link
Copy Markdown
Contributor

First, a disclaimer and apology: the single massive commit is the
result of having to cherry pick the many apsects of this feature
from other branches that were merged or partially merged into the
now-deleted development branch.

That being said, there is a lot of really cool things in this feature:

  • Unique Rover Colors: You can check this box on the sensor display
    tab to have reach rover's trail on the Map Frame be uniquely
    colored. There are 8 unique colors, if you are using more than
    8 rovers than the colors are assigned in a cycle. For example,
    rover 0 and rover 8 will be the same color, etc.

  • Global Frame: You can check this box on the sensor display tab to
    reposition the Map Frame trails of all rovers to be as they appear
    in the Gazebo world. That is, the Map Frame displays all rovers
    at (0,0) by default from their Odometry frame of reference. This
    check box corrects that by offsetting their trails by their
    Gazebo spawn points. Unfortunately, this is for simulated rovers
    only at this time.

  • Savable Gazebo World: You can check this box on the simulation control
    tab to build a simulation's Gazebo world without rovers, walls,
    ground texture, or a collection zone will be created. The purpose of
    this option is to generate tag distributions using the Uniform,
    Clustered, or Power Law in a way that you can save the world file from
    Gazebo and re-use that same distribution later using the Custom world
    option. It will also load much faster as well when loading a pre-built
    distribution.

  • Unbounded Round Type: In addition to Preliminary and Final, you can now
    select the "unbounded" round type which has no barrier walls. When
    selected, you can also choose the square arena size from the accompanying
    drop down menu. When creating target distributions using Uniform,
    Clustered, or Power Law, the apriltag cubes will be spread out to fill
    the size of the arena you chose.

  • Number of Cubes: When building worlds with the Uniform or Clustered
    distributions, you can set the total number of cubes generated in
    the simulation control tab. The sizes of clusters are scaled based
    on the total amount of cubes selected. This is useful for building
    worlds with smaller number of cubes for testing without having to
    wait for a long time for the placement of many cubes.

  • Simulation Length Timer: There is now an option for a 20 minute timer
    in the Simulation Length timer drop down box.

  • Start Visualization On Build: There is now a checkbox that toggles whether
    or not Gazebo is launched immediately when you click the Build Simulation
    button. When unchecked, you must click Toggle Visualization to launch
    Gazebo for your currently running simulation.

  • The Task Status tab has been removed: The information previously kept
    in this tab has been moved to the left hand side of the GUI screen
    and is accessible while in both of the other tabs.

  • Overall streamlining and beautification(*) of the GUI: There was a lot of
    unused and awkward white space that was condensed and re-allocated so
    that the maximum amount of useful information was available in each
    tab of the RQT GUI.

(*) Based on the writer's biased opinion, grid based layouts are pretty.

screenshot from 2017-10-01 21-36-23
screenshot from 2017-10-01 21-36-05

First, a disclaimer and apology: the single massive commit is the
result of having to cherry pick the many apsects of this feature
from other branches that were merged or partially merged into the
now-deleted development branch.

That being said, there is a lot of really cool things in this feature:

- Unique Rover Colors: You can check this box on the sensor display
    tab to have reach rover's trail on the Map Frame be uniquely
    colored. There are 8 unique colors, if you are using more than
    8 rovers than the colors are assigned in a cycle. For example,
    rover 0 and rover 8 will be the same color, etc.

- Global Frame: You can check this box on the sensor display tab to
    reposition the Map Frame trails of all rovers to be as they appear
    in the Gazebo world. That is, the Map Frame displays all rovers
    at (0,0) by default from their Odometry frame of reference. This
    check box corrects that by offsetting their trails by their
    Gazebo spawn points. Unfortunately, this is for simulated rovers
    only at this time.

- Savable Gazebo World: You can check this box on the simulation control
    tab to build a simulation's Gazebo world without rovers, walls,
    ground texture, or a collection zone will be created. The purpose of
    this option is to generate tag distributions using the Uniform,
    Clustered, or Power Law in a way that you can save the world file from
    Gazebo and re-use that same distribution later using the Custom world
    option. It will also load much faster as well when loading a pre-built
    distribution.

- Unbounded Round Type: In addition to Preliminary and Final, you can now
    select the "unbounded" round type which has no barrier walls. When
    selected, you can also choose the square arena size from the accompanying
    drop down menu. When creating target distributions using Uniform,
    Clustered, or Power Law, the apriltag cubes will be spread out to fill
    the size of the arena you chose.

- Number of Cubes: When building worlds with the Uniform or Clustered
    distributions, you can set the total number of cubes generated in
    the simulation control tab. The sizes of clusters are scaled based
    on the total amount of cubes selected. This is useful for building
    worlds with smaller number of cubes for testing without having to
    wait for a long time for the placement of many cubes.

- Simulation Length Timer: There is now an option for a 20 minute timer
    in the Simulation Length timer drop down box.

- The Task Status tab has been removed: The information previously kept
    in this tab has been moved to the left hand side of the GUI screen
    and is accessible while in both of the other tabs.

- Overall streamlining and beautification(*) of the GUI: There was a lot of
    unused and awkward white space that was condensed and re-allocated so
    that the maximum amount of useful information was available in each
    tab of the RQT GUI.

(*) Based on the writer's biased opinion, grid based layouts are pretty.
@jprod123
Copy link
Copy Markdown

jprod123 commented Oct 2, 2017

Nice! Saving the gazebo worlds aswell as setting the number of cubes to spawn sounds like a tremendous time saver!

Is it also possible to set the size of the arena from the GUI aswell. This will allow us to scale both the cubes and arena size to get the same block density as if it were a full sized arena under uniform distribution.

@kristiana-rendon
Copy link
Copy Markdown
Contributor

kristiana-rendon commented Oct 5, 2017

Working Portion of GUI:

1.) Lots of great new features!
2.) Clearer design
3.) Does not interfere with any rover functionality

Non-Working Portion of GUI:

None

Additional Comment(s):

1.) Could use color legend in map settings
2.) Obstacle avoidance count is saved even after restarting connection

Copy link
Copy Markdown
Contributor

@gmfricke gmfricke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GUI looks much better. @kristiana-rendon has tested in hardware.

@gmfricke gmfricke merged commit 94e1c0b into master Oct 6, 2017
@gmfricke gmfricke deleted the feature-GUI-upgrades branch November 29, 2017 16:11
mike-matera pushed a commit to mike-matera/SwarmBaseCode-ROS that referenced this pull request Dec 31, 2019
Use the claw_offset parameter in the updated drive_to()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants