Skip to content

Map Processing

Cameron Finucane edited this page Jul 1, 2013 · 1 revision

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.

Drawing shows new_region between region_A and region_B

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.

Drawing shows new_region near region_A

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.

Drawing shows splitting overlapping regions

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.

Drawing shows decomposing concave regions

Clone this wiki locally