Map Processing - VerifiableRobotics/LTLMoP GitHub Wiki
This is a collection of tools for processing the workspace map.
Locative Region Generation
- new_region = regionBetween( region_A, region_B ) This function generates a new_region that is between the two given regions region_A and region_B, as shown in the drawing below.
Note: Input region_A and region_B must be convex. The new_region does not include either region_A or region_B. The new_region will be named as: _between_region_A_name_and_region_B_name
- new_region = regionNear( region_A, dist = 50 ) This function generates a new_region that represents the area near the given region_A within a given distance dist (in pixels), as shown in the drawing below.
Note: Input region_A must be convex. The new_region includes region_A. The new_region will be named as: _near_region_A_name_dist
Overlapping region resolution
- new_map = checkOverlapping( map ) This function splits up any overlapping regions in a given map. map is a list of region objects. Any regions that overlap with others will be split into smaller subregions. Subregions have references to original regions. As shown in the drawing below, region_A and region_B are split into three subregions p_1, p_2, and p_3. p_1 and p_3 have reference to region_A. p_2 and p_3 have reference to region_B.
Convex decomposition algorithm
- new_map = decompose( map ) This function breaks up any concave regions in a given map into convex subregions, using the MP5 algorithm). Subregions have references to original regions. As shown in the drawing below, region_A and region_B are split into five subregions p_1, p_2, p_3, p_4, and p_5. p_1 and p_2 have reference to region_A. p_3, p_4 and p_5 have reference to region_B.