kas-lab / suave

An Exemplar for Self-Adaptive Underwater Vehicles performing pipeline inspection
https://kas-lab.github.io/suave/
Apache License 2.0
27 stars 9 forks source link

Tune all system parameters #69

Closed Rezenders closed 1 year ago

Rezenders commented 1 year ago

There are several parameters that need to be tuned:

Water visibility period, min and max values:

https://github.com/kas-lab/pipeline_inspection/blob/4738636dd9cea9b547728afe998aacfed6c7ca41/pipeline_inspection_metacontrol/pipeline_inspection_metacontrol/water_visibility_observer.py#L21-L23

A reminder, this is how it is calculated:

https://github.com/kas-lab/pipeline_inspection/blob/4738636dd9cea9b547728afe998aacfed6c7ca41/pipeline_inspection_metacontrol/pipeline_inspection_metacontrol/water_visibility_observer.py#L41-L47

Generate search path function designs altitudes

https://github.com/kas-lab/pipeline_inspection/blob/f9b1d2a38fbca7ee2ca2d1a93595cadbdfea73b9/pipeline_inspection_metacontrol/config/pipeline_inspection_modes.yaml#L19-L34

Generate search path function designs expected water visibility values

fd_spiral_low -> expected QA: 0.5
fd_spiral_medium -> expected QA: 1.0
fd_spiral_high -> expected QA: 2.0

Camera fov

https://github.com/kas-lab/pipeline_inspection/blob/f4632e23f611fafce68594bc1d3a6561d841b1cc/pipeline_inspection/pipeline_inspection/pipeline_node.py#L48

Rezenders commented 1 year ago

I think we should use higher altitudes and higher water visibility values, since the spiral width decreases with lower altitude, it is taking a lot of time to find the pipeline

Rezenders commented 1 year ago

New values:

Altitude:

f_generate_search_path_node:
  ros__parameters:
    type: node
    modes:
      __DEFAULT__:
        ros__parameters:
          spiral_altitude: 1.0
      fd_spiral_high:
        ros__parameters:
          spiral_altitude: 3.0
      fd_spiral_medium:
        ros__parameters:
          spiral_altitude: 2.0
      fd_spiral_low:
        ros__parameters:
          spiral_altitude: 1.0

Expected QA:

fd_spiral_low -> expected QA: 1.25
fd_spiral_medium -> expected QA: 2.25
fd_spiral_high -> expected QA: 3.25

Water visibility min and max values

self.declare_parameter('qa_publishing_period', 0.2)
self.declare_parameter('water_visibility_period', 100)
self.declare_parameter('water_visibility_min', 1.25)
self.declare_parameter('water_visibility_max', 3.75)
Rezenders commented 1 year ago

I am closing this issue. Most of the parameters can be passed directly to launchfiles, so it is easy to test the system with different configurations and record data from all runs.