Issue:
Ran into an interesting problem at work today. I am trying to build a multi path planner algorithm with some interesting rules. I wanted to get the communities thoughts on approaches while I work on whatever I try first. Hoping this is a solved problem already and I just don't know the search terms.
Rules:
- There are Nr red start points, there are Nb blue start points. You must draw one path for each start point.
- Each path should only intersect once for each combination, for instance path red_1 may only intersect path blue_1 at a single point.
- Paths of the same color need to maintain D(istance) from each other and by extension may not intersect. Paths must be contagious to start.
- Paths have width 0 < W < 1/3 D.
- Paths may not exit the region of interest.
- The region is an arbitrary polygon, it may be convex or concave.
- Start positions should be predefined by may be placed anywhere within the area of interest or on its edges.
Goal:
- Paths should cover as much of the area of interest as possible.
A first pass:
Example of random starts in square region
Complete C++ code for this application at https://github.com/JamesBremner/aris2
I have added convex polygon regions of interest, here is an example for a triangular region