# Topological Map Construction Based on Region Dynamic Growing and Map Representation Method

^{*}

## Abstract

**:**

## Featured Application

## Abstract

## 1. Introduction

- A complete system of building, saving, and loading topographic maps is proposed, which can make the topographic maps readily applied.
- A topological segmentation method based on region dynamic growth is proposed, which makes the region segmentation no longer limited by the geometrical structure of the environment, and also more in line with the actual needs of human–machine interactive navigation.
- A representation method of a topological map based on the conical space model is proposed, which makes the map retain not only the information of the topological relationship, but also the information regarding the obstacle occupied.

## 2. Topological Map Construction Based on Regional Dynamic Growth

#### 2.1. Regional Growth Process

- ■
- ${r}_{\mathrm{a}}$: The points’ addition ratio in the circular scan, which refers to the ratio of qualified points in each circular scan. It can prevent malformation, making the growth area approximately circular or elliptical rather than elongated.
- ■
- ${r}_{\mathrm{o}}$: The obstacle ratio in the circular scan, which refers to the ratio of unqualified points to the total qualified points in the convex hull region composed of qualified points in the added points and areas in each annular scanning. It can prevent the region from growing into a concave region, and ensure the convexity of the topological region.
- ■
- ${r}_{\mathrm{p}}$: The points pass ratio of the topological region, which refers to the ratio of all the points in the topological region to all the points in the circular region (ideal region). It can reflect the contrast between the growth area and the ideal area in the current state. It is used to modify the growth radius in real time, so its role is to prevent growth deficiency.
- ■
- ${R}_{\mathrm{w}}$: The control weight of dynamic modification of the growth radius, which refers to the extent of radius modification in each region.

- The metric map area that corresponded to the point must be in a free space, and cannot be an occupied space or an unknown space.
- The topological map area corresponding to the point must be a non-topological identifier area, which can only be a free space or a local area identifier.
- Conditions 1 and 2 must be satisfied for all points through which the ray emitted from the region vertex passes.

- (1)
- Determine the growth point and scan all the adjacent points around the current region vertex in a circular way.
- (2)
- Rays from the growth point to each point were calculated using the Bresenham algorithm [25], and all of the qualified points were screened.
- (3)
- Calculate the convex hull after each qualified point is added using the Graham scanning algorithm [26], and retain the point where the obstacle ratio satisfies the requirements.
- (4)
- Add qualifying points to the topological area. At the same time, the points pass ratio and the points add ratio in the current state are calculated. If the points’ addition ratio is less than the threshold, the growth of the current region is exited, indicating that the region growth is completed ahead of time. If the addition rate is normal, the points pass ratio will be used to modify the maximum growth radius. The modified formula is shown in Equation (1):$${R}_{\mathrm{max}}^{t+1}={R}_{\mathrm{max}}^{t}+{R}_{\mathrm{w}}\xb7{r}_{\mathrm{p}}\xb7{R}_{\mathrm{max}}^{t}$$

Algorithm 1: Regional dynamic growth |

Objectives: The growing point is regarded as a temporary topological vertex, and then all the neighboring points are scanned annularly to select eligible points and add them to the current topological region.Input: Growth point ${p}_{\mathrm{c}}(x,y)$, maximum growth radius ${R}_{\mathrm{max}}$.Output: Central point ${p}_{c}^{\prime}$ of the topological region, radius ${R}_{\mathrm{new}}^{\prime}$ of the topological region.1: initial growth radius $r$ 2: initialization of eligible point set ${P}_{\mathrm{p}}=\left\{\right\}$ 3: initialization of unqualified point set ${P}_{\mathrm{f}}=\left\{\right\}$ 4: for ($r=1;r<{R}_{\mathrm{max}};r++$)5: ${P}_{\mathrm{t}}=\left\{\right\}$ 6: ${P}_{\mathrm{t}}\leftarrow $ring scanner (${p}_{c},r$) 7: for each ${p}_{\mathrm{i}}$ in ${P}_{\mathrm{t}}$8: if (${p}_{\mathrm{i}}$ is failure)9: ${P}_{\mathrm{f}}\leftarrow $fail point filter (${p}_{\mathrm{i}}$) 10: continue11: ${P}_{\mathrm{r}}\leftarrow \left\{\right\}$ 12: ${P}_{\mathrm{r}}\leftarrow $calculate the point at which ray (${p}_{c}\to {p}_{i}$) passes 13: if (${P}_{\mathrm{r}}$ is failure)14: ${P}_{\mathrm{f}}\leftarrow $fail point filter(${p}_{\mathrm{i}}$) 15: continue16: ${P}_{\mathrm{h}}\leftarrow $calculate the current convex hull (${P}_{\mathrm{p}},{p}_{i}$) 17: calculate the number of unqualified points containing ${P}_{\mathrm{f}}$ in convex hull ${P}_{\mathrm{h}}$ 18: if (obstacle ratio ${r}_{a}$ doesn’t satisfies the requirements)19: ${P}_{\mathrm{f}}\leftarrow $fail point filter (${p}_{\mathrm{i}}$) 20: ${P}_{\mathrm{p}}\leftarrow {P}_{\mathrm{t}}$, and add a topological area identifier 21: if (addition rate ${r}_{a}$ satisfies the requirements)22: ${R}_{\mathrm{max}}^{\prime}\leftarrow $modify the growth radius (${R}_{\mathrm{max}},{r}_{\mathrm{p}},{R}_{\mathrm{w}}$) 23: ${R}_{\mathrm{max}}\leftarrow {R}_{\mathrm{max}}^{\prime}$ 24: else break25: ${P}_{\mathrm{c}}^{\prime}\leftarrow $recalculate the regional center (${P}_{\mathrm{c}},{P}_{\mathrm{p}}$) 26: ${R}_{\mathrm{new}}^{\prime}\leftarrow $recalculate the radius information of the area (${P}_{\mathrm{p}}$) 27: return ${R}_{\mathrm{max}}^{\prime},{P}^{\prime}$ |

#### 2.2. Regional Adjustment Process

- The radius of the main vertex area is less than the threshold.
- The total area of the merged area is less than the threshold.
- The obstacle ratio of the merged area is less than the threshold.

Algorithm 2: Region Merging |

Objectives: To merge small areas, delete the original topological vertices and generate new topological vertices, and change the color identification of the topological area.Input: Topological region vertex sequence set ${P}_{\mathrm{m}}$ to be merged.Output: The status of this subarea merge: true means the merge was successful; false means no merge occurred.1: initialize the set of topological vertex ordinals ${V}_{\mathrm{com}}=\left\{\right\}$ that need to be merged 2: initialize the point set ${P}_{\mathrm{com}}=\left\{\right\}$ of the points contained in the merged region 3: initialize the point set ${P}_{\mathrm{f}}=\left\{\right\}$ of the disqualified points around the merged area 4: initialize the first vertex information (${p}_{\mathrm{first}}\leftarrow {\mathrm{P}}_{\mathrm{m}}^{0}$) of the merge process 5: calculate the weighted center coordinate ${p}_{\mathrm{c}}\leftarrow {P}_{\mathrm{m}}$ 6: calculate the average scan radius ${r}_{\mathrm{c}}\leftarrow {P}_{\mathrm{m}}$ 7: for $r$ in $[0,{r}_{c}]$8: $P\leftarrow $loop traversal of all the points contained within the scan radius. 9: for ${P}_{i}$ in $P$10: if (${P}_{i}$ belongs to the topological area)11: ${P}_{\mathrm{com}}\leftarrow {P}_{i}$ 12: else ${P}_{\mathrm{f}}\leftarrow {P}_{i}$13: if (${P}_{\mathrm{com}}$ is empty)14: return false15: ${P}_{\mathrm{h}}\leftarrow $calculate the current convex hull (${P}_{\mathrm{com}}$) 16: calculate the number of unqualified points containing ${P}_{\mathrm{f}}$ in convex hull ${P}_{\mathrm{h}}$ 17: if (obstacle ratio ${r}_{a}$ doesn’t satisfies the requirements)18: return false19: delete all of the vertex information in ${P}_{\mathrm{m}}$ 20: Merge the vertex regions in ${P}_{\mathrm{m}}$ and add the region identifier at the same time 21: ${P}_{\mathrm{c}}^{\prime}\leftarrow $recalculate the center of the area 22: ${r}_{\mathrm{n}}\leftarrow $recalculate the radius of the merged area 23: Add a new topological vertex (${r}_{\mathrm{n}},{P}_{\mathrm{c}}^{\prime},{P}_{\mathrm{com}}$) 24: return true |

- (1)
- The points in the corresponding topological region of all the vertices are extracted, and the qualified points (identical with the vertex color marker) and the failure points (different from the vertex color) are counted.
- (2)
- The convex hulls of qualified points are calculated, the unqualified points of convex hulls are counted from the failure points, and the obstacle ratio is calculated. If the obstacle ratio is greater than the threshold, then exit.
- (3)
- If the obstacle ratio is less than the threshold, the region merging is carried out, the original vertex is deleted, and a new vertex is established.

## 3. Topological Map Representation

#### 3.1. Online Representation of the Map

#### 3.2. Topological Map Preservation

#### 3.3. Topological Map Reading

- ◆
- Image file path: Refers to the saved path of the ppm image file.
- ◆
- Resolution: Refers to the resolution of the map, and is used to represent the scale of a pixel in the real world, with a unit (meters/pixel).
- ◆
- Origin: Refers to the two-dimensional (2D) pose of the lower left pixel in the map, as (x, y, yaw), with yaw as the counter-clockwise rotation (yaw = 0 means no rotation). The yaw is ignored in this paper.
- ◆
- Free thresh: Pixels with an occupancy probability less than this threshold are considered completely free.
- ◆
- Occupied thresh: Pixels with an occupancy probability greater than this threshold are considered completely occupied.
- ◆
- Mode: The way the file is saved, which can be one of three values: trinary, scale, or raw. Trinary is the default.
- ◆
- Number of topological vertices.
- ◆
- Topological information: A series of lists that contain the pixel coordinates of topological vertices, adjacent vertices, and other information (such as semantic information; this is empty in the paper).

## 4. Experiment and Result

**a**) of Figure 7, with the increase of the obstacle ratio, the area will grow toward a small space (such as a door) next to it, and a few obstacle points will be added continuously.

**a**) of Figure 8 that when the point addition ratio is too small or too large, it is easy to cause growth malformation or insufficient growth.

**c**) group, but it also destroys the convex nature of the area. Therefore, the above three parameters need to be adjusted according to the actual situation, and the topological map will represent the environment better.

## 5. Conclusions

## 6. Patents

## Supplementary Materials

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Mavridis, N. A review of verbal and non-verbal human–robot interactive communication. Robot. Auton. Syst.
**2015**, 63, 22–35. [Google Scholar] [CrossRef] [Green Version] - Luo, R.C.; Shih, W. Autonomous Mobile Robot Intrinsic Navigation Based on Visual Topological Map. In Proceedings of the 2018 IEEE International Symposium on Industrial Electronics (ISIE), Cairns, Australia, 13–15 June 2018; pp. 541–546. [Google Scholar]
- Chung, M.J.Y.; Pronobis, A.; Cakmak, M.; Fox, D.; Rao, R.P.N. Autonomous question answering with mobile robots in human-populated environments. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea, 9–14 October 2016; pp. 823–830. [Google Scholar]
- Jo, K.; Kim, C.; Sunwoo, M. Simultaneous localization and map change update for the high definition map-based autonomous driving car. Sensors
**2018**, 18, 3145. [Google Scholar] [CrossRef] [PubMed] - Lin, H.Y.; Yao, C.W.; Cheng, K.S. Topological map construction and scene recognition for vehicle localization. Auton. Robot.
**2018**, 42, 65–81. [Google Scholar] [CrossRef] - Qing, G.; Zheng, Z.; Yue, X. Path-planning of automated guided vehicle based on improved Dijkstra algorithm. In Proceedings of the 2017 Chinese Control and Decision Conference (CCDC), Chongqing, China, 28–30 May 2017; pp. 7138–7143. [Google Scholar]
- Papoutsidakis, M.; Kalovrektis, K.; Drosos, C.; Stamoulis, G. Design of an Autonomous Robotic Vehicle for Area Mapping and Remote Monitoring. Int. J. Comput. Appl.
**2017**, 167, 36–41. [Google Scholar] [CrossRef] - Chandrasekaran, B.; Conrad, J.M. Human-robot collaboration: A survey. In Proceedings of the 2015 Southeast Conference, Fort Lauderdale, FL, USA, 9–12 April 2015; pp. 1–8. [Google Scholar]
- Alitappeh, R.J.; Pereira, G.A.S.; Araújo, A.R.; Pimenta, L.C.A. Multi-robot deployment using topological maps. J. Intell. Robot. Syst.
**2017**, 86, 641–661. [Google Scholar] [CrossRef] - Johnson, C. Topological Mapping and Navigation in Real-World Environments. Master’s Thesis, University of Michigan, Ann Arbor, MI, USA, 12 December 2017. [Google Scholar]
- Li, X.; Qiu, H. An effective laser-based approach to build topological map of unknown environment. In Proceedings of the 2015 IEEE International Conference on Robotics and Biomimetics (ROBIO), Zhuhai, China, 6–9 December 2015; pp. 200–205. [Google Scholar]
- Konolige, K.; Marder-Eppstein, E.; Marthi, B. Navigation in hybrid metric-topological maps. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation (ICRA), Shanghai, China, 9–13 May 2011; pp. 3041–3047. [Google Scholar]
- Azzag, H.; Lebbah, M.; Arfaoui, A. Map-TreeMaps: A New Approach for Hierarchical and Topological Clustering. In Proceedings of the 2010 International Conference on Machine Learning and Applications (ICMLA), Washington, DC, USA, 12–14 December 2010; pp. 873–878. [Google Scholar]
- Liu, M.; Colas, F.; Siegwart, R. Regional topological segmentation based on mutual information graphs. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation (ICRA), Shanghai, China, 9–13 May 2011; pp. 3269–3274. [Google Scholar]
- Bandera, A.; Sandoval, F. Spectral clustering for feature-based metric maps partitioning in a hybrid mapping framework. In Proceedings of the 2009 IEEE International Conference on Robotics and Automation (ICRA), Kobe, Japan, 12–17 May 2009; pp. 1868–1874. [Google Scholar]
- Yu, W.; Amigoni, F. Standard for Robot Map Data Representation for Navigation. In Proceedings of the 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Chicago, IL, USA, 14–18 September 2014; pp. 3–4. [Google Scholar]
- Lau, B.; Sprunk, C.; Burgard, W. Improved updating of Euclidean distance maps and Voronoi diagrams. In Proceedings of the 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Taipei, Taiwan, 18–22 October 2010; pp. 281–286. [Google Scholar]
- Guo, S.; Ma, S.; Li, B.; Wang, M.; Wang, Y. Simultaneous Location and Mapping Through a Voronoi-diagram-based Map Representation. Acta Autom. Sin.
**2011**, 37, 1095–1104. [Google Scholar] - Ramaithitima, R.; Whitzer, M.; Bhattacharya, S.; Kumar, V. Automated creation of topological maps in unknown environments using a swarm of resource-constrained robots. IEEE Robot. Autom. Lett.
**2016**, 1, 746–753. [Google Scholar] [CrossRef] - Kaleci, B.; Senler, C.M.; Parlaktuna, O.; Gürel, U. Constructing Topological Map from Metric Map Using Spectral Clustering. In Proceedings of the 2016 International Conference on TOOLS with Artificial Intelligence (ICTAI), San Jose, CA, USA, 6–8 November 2016; pp. 139–145. [Google Scholar]
- Liu, M.; Colas, F.; Pomerleau, F.; Siegwart, R. A Markov semi-supervised clustering approach and its application in topological map extraction. In Proceedings of the 2012 International Conference on Intelligent Robots and Systems (2012), Vilamoura, Algarve, Portugal, 7–12 October 2012; pp. 4743–4748. [Google Scholar]
- Ravankar, A.A.; Ravankar, A.; Emaru, T.; Kobayashi, Y. A hybrid topological mapping and navigation method for large area robot mapping. In Proceedings of the 2017 Society of Instrument and Control Engineers of Japan (SICE), Kanazawa, Japan, 19–22 September 2017; pp. 1104–1107. [Google Scholar]
- Kaleci, B.; Parlaktuna, O.; Gurel, U. A comparative study for topological map construction methods from metric map. In Proceedings of the 2018 Signal Processing and Communications Applications Conference (SIU), Izmir, Turkey, 2–5 May 2018; pp. 1–4. [Google Scholar]
- Blochliger, F.; Fehr, M.; Dymczyk, M.; Schneider, T.; Siegwart, R. Topomap: Topological mapping and navigation based on visual slam maps. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, QLD, Australia, 21–25 May 2018; pp. 1–9. [Google Scholar]
- The Bresenham Line-Drawing Algorithm. Available online: https://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html (accessed on 9 December 2018).
- Graham, R.L. An efficient algorithm for determining the convex hull of a finite planar set. Inf. Process. Lett.
**1972**, 1, 132–133. [Google Scholar] [CrossRef] - map_server. Available online: http://wiki.ros.org/map_server (accessed on 9 December 2018).
- Colleens, T.; Colleens, J.J.; Ryan, D. Occupancy grid mapping: An empirical evaluation. In Proceedings of the 2007 Mediterranean Conference on Control & Automation, Athens, Greece, 27–29 June 2007; pp. 1–6. [Google Scholar]
- Saunders, J.; Syrdal, D.S.; Koay, K.L.; Burke, N.; Dautenhahn, K. “Teach Me–Show Me”—End-User Personalization of a Smart Home and Companion Robot. IEEE Trans. Hum.-Mach. Syst.
**2016**, 46, 27–40. [Google Scholar] [CrossRef] - Hanbury, A. Circular statistics applied to colour images. In Proceedings of the 2003 Computer Vision Winter Workshop, Valtice, Czech Republic, 3–6 February 2003; pp. 53–71. [Google Scholar]
- Grisettiyz, G.; Stachniss, C.; Burgard, W. Improving Grid-based SLAM with Rao-Blackwellized Particle Filters by Adaptive Proposals and Selective Resampling. In Proceedings of the 2005 IEEE International Conference on Robotics and Automation, Barcelona, Spain, 18–22 April 2005; pp. 2432–2437. [Google Scholar]

**Figure 2.**Main steps of the regional dynamic growth algorithm. (

**a**) Growth state at a certain moment. (

**b**) The next moment is grown in a circular expansion manner to obtain adjacent candidate points. (

**c**) Remove the unqualified points in the adjacent candidate points. (

**d**) Add qualified candidate points to the topological region.

**Figure 8.**The influence of three parameters on the construction of the topological map. (

**a**) Impact of changes in the obstacle ratio on the region. (

**b**) Impact of changes in the point addition ratio on the region. (

**c**) Impact of changes in the points pass ratio on the region.

Topological Map Information | Storage Requirements (kB) | |||
---|---|---|---|---|

Number of Vertexes | Occupied Ratio | Metric Map | Topological Map | |

Indoor (171.224 m^{2}) | 31 | 0.922444 | 36.0183 | 109.46 |

Office (115.389 m^{2}) | 22 | 0.985809 | 30.0172 | 91.27 |

Pillar (129.821 m^{2}) | 15 | 0.984625 | 20.0172 | 72.061 |

Open space (171.261 m^{2}) | 15 | 0.936123 | 16.0172 | 48.0853 |

Laboratory (277.999 m^{2}) | 16 | 0.883049 | 30.0181 | 90.0903 |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Wang, F.; Liu, Y.; Xiao, L.; Wu, C.; Chu, H.
Topological Map Construction Based on Region Dynamic Growing and Map Representation Method. *Appl. Sci.* **2019**, *9*, 816.
https://doi.org/10.3390/app9050816

**AMA Style**

Wang F, Liu Y, Xiao L, Wu C, Chu H.
Topological Map Construction Based on Region Dynamic Growing and Map Representation Method. *Applied Sciences*. 2019; 9(5):816.
https://doi.org/10.3390/app9050816

**Chicago/Turabian Style**

Wang, Fei, Yuqiang Liu, Ling Xiao, Chengdong Wu, and Hao Chu.
2019. "Topological Map Construction Based on Region Dynamic Growing and Map Representation Method" *Applied Sciences* 9, no. 5: 816.
https://doi.org/10.3390/app9050816