ros-industrial / noether

Tool path planning and surface segmenter
124 stars 45 forks source link

Add YAML Configuration for TPP GUI #184

Closed marip8 closed 1 year ago

marip8 commented 1 year ago

This PR adds the ability to load and save the tool path configuration from the GUI to a YAML file. It also updates the design of the tool path planner pipeline GUI to utilize tab widgets for the pipeline components and raster planner component to make the display a little more compact

Nominal GUI

image

Configured GUI

image

Sample YAML file

mesh_modifiers: ~
tool_path_planner:
  name: PlaneSlicerRasterPlanner
  direction_generator:
    name: PrincipalAxisDirectionGenerator
    rotation_offset: 90
  origin_generator:
    name: FixedOriginGenerator
    x: 0.1
    y: 0.1
    z: 0.1
  line_spacing: 0.2
  point_spacing: 0.2
  min_hole_size: 0.2
  search_radius: 0.2
  min_segment_size: 0.2
tool_path_modifiers:
  - name: DirectionOfTravelOrientationModifier
  - name: MovingAverageOrientationSmoothingModifier
    window_size: 7
  - name: StandardEdgePathsOrganizationModifier
    x: 1
    y: 2
    z: 3
  - name: UniformOrientationModifier
  - name: SnakeOrganizationModifier
  - name: RasterOrganizationModifier
  - name: FixedOrientationModifier
    x: 1
    y: 1
    z: 2
marip8 commented 1 year ago

@marrts @DavidMerzJr can you review this PR?

marrts commented 1 year ago

Looks pretty good, I pulled it and tested it and everything worked well. Hopefully this will save us time in the future and make it easier to share configurations.