KR100715609B1 - Topological mapping and navigation method of mobile robot in home environment - Google Patents
Topological mapping and navigation method of mobile robot in home environment Download PDFInfo
- Publication number
- KR100715609B1 KR100715609B1 KR1020060003738A KR20060003738A KR100715609B1 KR 100715609 B1 KR100715609 B1 KR 100715609B1 KR 1020060003738 A KR1020060003738 A KR 1020060003738A KR 20060003738 A KR20060003738 A KR 20060003738A KR 100715609 B1 KR100715609 B1 KR 100715609B1
- Authority
- KR
- South Korea
- Prior art keywords
- edge
- node
- edges
- robot
- map
- Prior art date
Links
Images
Classifications
-
- E—FIXED CONSTRUCTIONS
- E01—CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
- E01D—CONSTRUCTION OF BRIDGES, ELEVATED ROADWAYS OR VIADUCTS; ASSEMBLY OF BRIDGES
- E01D19/00—Structural or constructional details of bridges
- E01D19/10—Railings; Protectors against smoke or gases, e.g. of locomotives; Maintenance travellers; Fastening of pipes or cables to bridges
- E01D19/106—Movable inspection or maintenance platforms, e.g. travelling scaffolding or vehicles specially designed to provide access to the undersides of bridges
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
본 발명은 가정환경에서의 이동로봇이 효율적으로 지도를 작성하고 자율적으로 주행하게 하기 위한 위상학적 지도 형성 및 주행 방법에 관한 것이다.The present invention relates to a topological map formation and driving method for a mobile robot in a home environment to efficiently map and autonomously travel.
본 발명은 가정환경에서의 이동로봇의 위상학적 지도 형성 및 자율주행 방법에 있어서,The present invention provides a topological map formation and autonomous driving method of a mobile robot in a home environment.
상기 위상학적 지도 형성 및 자율 주행방법은,The topological map formation and autonomous driving method,
영역 사이를 연결하는 위치로 그 폭이 이동로봇이 지나갈 수 있으나 제한된 폭을 가지는 엣지와, 장애물로 둘러싸인 영역이고 상기 엣지를 통해 다른 노드로 이동할 수 있는 노드를 이용하고; 상기 위상학적 지도 형성 방법은 센서들로부터의 정보를 이용하여 엣지를 인식하고, 이 엣지들을 중심으로 위상학적 지도를 형성하며;Using an edge having a width that can be passed by the mobile robot but having a limited width, and a node which is surrounded by obstacles and which can move to another node through the edge; The topological map forming method recognizes an edge using information from sensors and forms a topological map around the edges;
상기 위상학적 지도를 형성하기 위하여,In order to form the topological map,
기본적으로 벽을 따라 이동하면서 엣지의 위치들을 찾아내고, 노드 영역을 구분하여, 상기 노드 영역에 대한 지도를 형성하고; 엣지를 통해 다른 노드로 이동한 후, 잘못된 엣지들을 제거해 주는 과정을 반복하는 것을 특징으로 한다.Basically move along the wall to locate the edges, divide the node area, and form a map for the node area; After moving to another node through the edge, it is characterized by repeating the process of removing the wrong edges.
이상과 같은 본 발명을 이용하면, 가정환경에서 이동로봇이 효율적으로 지도를 작성하고 자율적으로 주행하게 하기 위한 위상학적 지도 형성 및 주행 방법이 제공된다.Using the present invention as described above, there is provided a topological map formation and driving method for the mobile robot to efficiently map and autonomously travel in a home environment.
가정환경, 이동로봇, 지도작성, 자율주행 Home Environment, Mobile Robot, Mapping, Autonomous Driving
Description
도1은 제1의 종래기술에 따른 위상학적 구조를 도시함1 shows a topological structure according to a first prior art
도2는 제2의 종래기술에 따른 위상학적 모델을 도시함2 shows a topological model according to a second prior art
도3은 제3의 종래기술에 따른 위상학적 지도를 도시함Figure 3 shows a topological map according to the third prior art
도4는 일반적인 가정환경(a)과, 가정환경에서의 위상학적 지도(b)을 도시함4 shows a general home environment (a) and a topological map (b) in the home environment.
도5는 본 발명에서 사용되는 엣지의 정의(a)와, 가정환경에서의 엣지 영역(b)를 도시함Fig. 5 shows the definition (a) of the edge used in the present invention and the edge area (b) in the home environment.
도6은 본 발명에서, 엣지의 경우(a)와, 엣지가 될 수 없는 경우(b)를 도시함Figure 6 shows the case of edge (a) and the case of not being edge (b) in the present invention.
도7은 본 발명에서 적용되는 일반적인 가정환경(a)과, 가정환경에서의 노드 영역(b)을 도시함Fig. 7 shows a general home environment (a) and a node area (b) in the home environment as applied in the present invention.
도8은 본 발명에서, 엣지를 인식하는 경우의 두 가지 타입(a)(b)를 도시함8 shows two types (a) and (b) in the case of recognizing edges in the present invention.
도9는 본 발명에서, 엣지가 생성되는 경우들을 도시함9 illustrates cases in which an edge is generated in the present invention.
도10은 본 발명에서, 새로운 노드로 이동하는 순서도(a)와, 새로운 노드에서의 순서도(b)를 도시함Figure 10 shows a flow chart (a) of moving to a new node and a flow chart (b) of a new node in the present invention.
도11은 본 발명에서, 이동로봇의 주행에 대한 전체적인 순서도를 도시함Figure 11 shows the overall flow chart of the movement of the mobile robot in the present invention.
도12는 본 발명을 제1 모의 실험에서의 실내환경(a)과, 이 환경에서의 ㅇ우위상학적 구조(b)를 도시함Fig. 12 shows the indoor environment (a) in the first simulation and the topological structure (b) in this environment.
도13은 본 발명의 제1 모의실험의 로컬 그리드 지도에서 노드1(a), 노드2(b), 노드3(c), 노드4(d), 노드5(e), 노드6(f)을 도시함Figure 13 shows Node 1 (a), Node 2 (b), Node 3 (c), Node 4 (d), Node 5 (e), and Node 6 (f) in the local grid map of the first simulation of the present invention. Shows
도14는 본 발명의 제2 모의 실험에서의 실내환경(a)과, 이 환경에서의 위상학적 Structure(b)를 도시함Fig. 14 shows the indoor environment a in the second simulation of the present invention and the topological structure b in this environment.
도15는 본 발명의 제2 모의실험의 노드1(a), 노드2(b), 노드3(c)을 도시함Figure 15 shows Node 1 (a), Node 2 (b) and Node 3 (c) of the second simulation of the present invention.
도16은 본 발명에서, 엣지 케이스1에 대한 실험을 위한 실내환경(a)과, 이 환경에서의 위상학적 구조(b)를 도시함Fig. 16 shows the indoor environment (a) and the topological structure (b) in this environment for the experiment on the
도17은 본 발명에서, 엣지 케이스1의 실험환경에서의 로컬 그리드 지도의 노드1(a), 노드2(b)를 도시함Figure 17 shows nodes 1 (a) and 2 (b) of the local grid map in the experimental environment of
도18은 본 발명에서, 엣지 케이스2에 대한 실험을 위한 실내환경(a)과, 이 환경에서의 위상학적 구조(b)를 도시함Fig. 18 shows the indoor environment (a) and the topological structure (b) in this environment for the experiment on the
도19은 본 발명에서, 엣지 케이스2의 실험환경에서의 로컬 그리드 지도의 노드1(a), 노드2(b)를 도시함Figure 19 shows nodes 1 (a) and 2 (b) of the local grid map in the experimental environment of
도20은 본 발명에서, 엣지 케이스4에 대한 실험을 위한 실내환경(a)과, 이 환경에서의 로컬 그리드 지도(b)를 도시함Fig. 20 shows the indoor environment (a) and the local grid map (b) in this environment for the experiment on the
도21은 본 발명에서, 엣지 케이스5에 대한 실험을 위한 실내환경(a)과, 이 환경에서의 로컬 그리드 지도(b)를 도시함Fig. 21 shows the indoor environment (a) and the local grid map (b) in this environment for the experiment on the edge case 5 in the present invention.
도22는 본 발명에서, 엣지 케이스6에 대한 실험을 위한 실내환경(a)과, 이 환경에서의 로컬 그리드 지도(b)를 도시함FIG. 22 shows, in the present invention, an indoor environment (a) for experiments on edge case 6 and a local grid map (b) in this environment.
도23은 본 발명에서, 2개의 노드와 하나의 Dead-End 엣지가 있는 실내환경(a)과, 이 환경에서의 위상학적 구조(b)를 도시함Figure 23 shows, in the present invention, an indoor environment (a) with two nodes and one dead-end edge, and a topological structure (b) in this environment.
도24는 본 발명에서, 도23에서의 로컬 그리드 지도의 노드1(a), 노드2(b)를 도시함 Figure 24 shows nodes 1 (a) and 2 (b) of the local grid map in Figure 23, in the present invention.
본 발명은 가정환경에서의 이동로봇이 효율적으로 지도를 작성하고 자율적으로 주행하게 하기 위한 위상학적 지도 형성 및 주행 방법에 관한 것이다.The present invention relates to a topological map formation and driving method for a mobile robot in a home environment to efficiently map and autonomously travel.
최근 이동로봇 기술 개발이 활발해지면서 이동로봇이 더 이상 산업현장에서만 쓰이지 않고 다양한 분야에 보급이 되어, 청소용 로봇, 교육용 로봇 등 가정에서 볼 수 있는 로봇부터 군사용 목적으로도 이동로봇 기술이 적용되고 있다. With the recent development of mobile robot technology, mobile robots are no longer used only in industrial sites and are being distributed to various fields, and mobile robot technologies are applied to military purposes from robots that can be seen at home such as cleaning robots and educational robots.
그러나, 현재의 자율주행 기술은 미리 프로그램화 되어 있는 기능만을 수행하는 수준에 머물고 있을 뿐만 아니라 장애물을 회피하는 정도의 수준밖에 되지 않아, 자율주행을 전혀 만족시키지 못하고 있다. However, the current autonomous driving technology is not only at the level of performing a preprogrammed function but also at the level of avoiding obstacles, and thus does not satisfy the autonomous driving at all.
이것은 최근에 가정에 많이 보급 되어 있는 저가형 청소기 로봇인 룸바(원산지 : 미국)나 트릴로바이트(원산지 : 스웨덴)를 보면 알 수 있다. 이 로봇들은 주어진 영역에서 미리 프로그램화 되어 있는 경로를 따라 이동을 하면서 장애물을 피 하면서 청소를 하고 있고 정확한 지도를 형성하지 않는다. This can be seen in Rumba (origin: USA) or trilobite (origin: Sweden), a low-cost cleaner robot that has been widely used in homes recently. These robots move along a preprogrammed path in a given area, cleaning up avoiding obstacles and do not form an accurate map.
사실 일반적인 가정환경은 각 가정마다 다르고 상당히 복잡하게 구성이 되어 있어, 이러한 가정환경에서 미리 정형화되어 있는 경로를 따라 이동을 하면서 제대로 청소를 한다는 것은 힘들고 방과 방 사이를 넘나들며 청소를 하는 것은 사실상 거의 불가능하다. In fact, the general household environment is different from each other and is quite complicated, so it is difficult to properly clean and move along a pre-defined path in such a home environment, and it is virtually impossible to clean between rooms. .
이러한 문제점을 해결하기 위하여, E. Gonzalez, A. Suarez, C. Moreno, and F. Artigue, "Complementary regions:a surface filling algorithm," in Proc. IEEE International Conference on Robotics and Automation, 1996, pp. 909-914.에서는, 도1에서와 같이, 가정환경에서 위상학적 구조를 구성하는 시도를 하였다.To solve this problem, E. Gonzalez, A. Suarez, C. Moreno, and F. Artigue, "Complementary regions: a surface filling algorithm," in Proc. IEEE International Conference on Robotics and Automation, 1996, pp. At 909-914, an attempt was made to construct a topological structure in the home environment, as shown in FIG.
이 연구는 도1 (a)과 같은 환경에서 (b)와 같이 위상학적 구조를 구성했다. 그렇지만 이 구성은 로봇이 어떻게 움직이게 되는가에 따라 나눠진 것이다. 그러므로 로봇이 움직이면서 만나는 장애물이나 환경에 따라 그 구성이 크게 바뀌게 된다. 이러한 위상학적 구조는 큰 의미가 없다고 볼 수 있다. This study constructed the topological structure as shown in (b) in the environment as shown in FIG. However, this configuration is divided according to how the robot moves. Therefore, the configuration is greatly changed depending on the obstacles or environment that the robot encounters. This topological structure does not mean much.
또한, N. Tomatis, I.Nourbakhsh, R.Siegwart, "Simultaneous 로컬ization and map building: a global topological model with local metric maps'', in Proc. IEEE International Conference on Intelligent Robots and Systems, 2001, pp. 421-426. 에서는, 도2에서와 같이, 가정환경에서 위상학적 지도과 로컬 그리드 지도을 어떻게 구성할 것인가에 대한 연구를 하였다.See also N. Tomatis, I. Nourbakhsh, R. Siegwart, `` Simultaneous localization and map building: a global topological model with local metric maps '', in Proc. IEEE International Conference on Intelligent Robots and Systems, 2001, pp. 421 In Fig. -426, as shown in Fig. 2, we studied how to construct a topological map and a local grid map in a home environment.
이와 같은 연구들은 hybrid 지도을 구성하기 위한 연구들이다. 즉 각 위치들에서 중요한 특징점(코너와 같은 곳)을 얻어내고 그 위치들을 위상학적 지도으로 구성하자는 것이 주요 내용이다. 이 연구에서도 레이저 센서로 코너점들을 찾아내서 구성하여, 코너점의 인식 여부에 따라 위상학적 지도이 달라진다. These studies are for constructing hybrid maps. In other words, it is important to obtain important feature points (such as corners) at each location and to organize the locations into topological maps. In this study, the corner points are found by the laser sensor, and the topological map varies according to whether the corner points are recognized.
그리고, P. Althaus and H. I. Christensen, "Automatic map acquisition for navigation in domestic environments," in Proc. IEEE International Conference on Robotics and Automation, 2003, pp. 1551-1556.에서는, 도3에서와 같이, 도3 (a)과 같은 환경에서 도3(b)과 같은 위상학적 지도을 얻는다. 이 연구는 복도를 중심으로 많은 방들이 있는데 이 방들을 위상학적 지도으로 연결하겠다는 것이다. 그렇지만 이 연구의 치명적인 약점은 각 문에서 사용자가 문이라고 알려줘야 한다는 점이다. And in P. Althaus and H. I. Christensen, "Automatic map acquisition for navigation in domestic environments," in Proc. IEEE International Conference on Robotics and Automation, 2003, pp. In 1551-1556, as shown in Fig. 3, a topological map as shown in Fig. 3 (b) is obtained in an environment as shown in Fig. 3 (a). This study has many rooms centered on the corridor and will connect them with a topological map. The fatal weakness of this study, however, is that each door must inform the user as a door.
본 발명은 이상과 같은 종래기술의 문제점을 감안하여, 달라지는 가정환경에 따라 이동로봇이 어느 정도 정확한 지도를 스스로 형성하고 그 지도를 바탕으로 청소를 할 수 있는 능력이 있도록 하기 위하여, 지도형성부터 주행까지 모든 과정을 자율적으로 행할 수 있는 알고리즘을 제공한다.The present invention, in view of the problems of the prior art as described above, in order to have a mobile robot has the ability to form a certain accurate map by themselves according to the changing home environment and to clean based on the map, driving from the map formation It provides an algorithm that can autonomously perform all processes up to.
이를 위해, 본 발명에서는 가정환경에서 스스로 방과 방 사이를 넘나들며 지도를 형성하고 그 지도를 바탕으로 청소를 할 수 있는 알고리즘을 제시하였다.To this end, the present invention proposes an algorithm that can form a map by crossing between rooms in a home environment and cleaning based on the map.
집안 환경은 보통 그리드 지도를 가지고 있지만 새로운 노드와 엣지를 정의함으로써 이러한 환경을 위상학적 지도과 그리드 지도로 나누게 되고 경로형성에서 더 많은 이점을 가질 뿐만 아니라 청소용 로봇에서 중요한 구간 청소 또는 특정 방안을 청소 할 수 있는 장점을 가지게 하였다. Home environments usually have grid maps, but by defining new nodes and edges, these environments can be broken down into topological maps and grid maps and have more advantages in routing, as well as cleaning critical sections or cleaning specific areas in the cleaning robot. Has the advantage.
보다 구체적으로 설명하면, 본 발명은 가정환경에서 다른 영역으로 지나가기 위해 꼭 지나가야 하는 위치들을 찾아내서 그 위치들을 중심으로 위상학적 구조를 구성하고, 꼭 지나쳐야 하는 점들이 하나의 엣지라는 위치가 되는 것이고 전체적인 환경을 위상학적 구조로 나타내며, 얻어진 위상학적 구조는 생긴 노드와 엣지들이 많이 생기지 않고, 구성된 위상학적 구조는 장애물과 같은 것에 의해 쉽게 변화되지 않는 장점이 있다.More specifically, the present invention finds locations that must pass in order to pass to other areas in the home environment, constructs a topological structure around those locations, and points that must be passed by one edge. The topological structure is represented as a topological structure, and the obtained topological structure does not generate many nodes and edges, and the configured topological structure is not easily changed by obstacles.
이하에서 좀 더 자세히 설명하겠지만 본 발명의 기본 개념은 가정환경을 방과 같은 커다란 영역으로 구분하고자 하는 것이 기본 개념이라 할 수 있겠다. 이와 같이 영역으로 구분했을 경우 로봇을 특정 영역으로 이동시킬 때 유리하게 된다. 즉 공간적 개념이 일반사람들의 개념(방으로 나눠져 있다는 점)과 비슷하므로, 상업적 로봇을 특정한 방으로 이동시킬 수 있게 된다.As will be described in more detail below, the basic concept of the present invention may be referred to as a basic concept to divide a home environment into a large area such as a room. In this way, when divided into areas, it is advantageous to move the robot to a specific area. In other words, since the spatial concept is similar to that of ordinary people (divided into rooms), the commercial robot can be moved to a specific room.
또한, 본 발명에서는 로봇이 모든 과정을 자율적으로 함으로써 위상학적 지도를 구성한다는 것이다. 로봇은 전체 지도형성이 끝날 때까지 스스로 움직이면서 각 영역의 로컬 그리드 지도와 위상학적 지도를 얻게 된다. In addition, in the present invention, the robot constructs a topological map by autonomously performing all processes. The robot moves on its own until the end of the entire mapping, resulting in a local grid map and a topological map of each area.
일반적인 가정환경은 도4와 같이 커다란 거실과 몇 개의 방으로 구성 되어 있다. 각 방과 거실들은 벽이나 고정된 장애물들로 나누어져 있고, 각 방들은 다른 방이나 거실로 이동하는 특정한 공간, 즉 문이라는 것을 가지고 있다.The general home environment is composed of a large living room and several rooms as shown in FIG. Each room and living room is divided into walls or fixed obstacles, and each room has a specific space, or door, that moves to another room or living room.
이러한 특징을 살려서 가정환경을 몇 개의 영역으로 나누게 되면 도4(a)처럼 나눌 수 있다. 그 영역들은 일반 사람들이 생각하는 방일 수도 있고 거실을 두 영역으로 나눈 것처럼 어떠한 고정된 장애물에 의해 나눠질 수도 있다. 여기서 각 영역들은 다른 영역으로 넘어갈 수 있는 특징 있는 영역을 가지고 있으며, 이것은 문이 될 수도 있고 고정된 장애물에 의해 생긴 영역일 수도 있다. 이 영역을 중심으로 전체 가정환경을 몇 개의 영역으로 나누게 되면 도4(a)는 총 4개의 영역으로 나눠지게 된다. Taking advantage of these characteristics, if the home environment is divided into several areas, it can be divided as shown in FIG. The areas may be a room that ordinary people think of, or they may be divided by some fixed obstacle, like dividing the living room into two areas. Each area has a characteristic area that can be moved to another area, which can be a door or an area created by a fixed obstacle. If the entire home environment is divided into several areas around this area, Fig. 4 (a) is divided into four areas.
또한, 이러한 가정환경에서 각 나눠진 영역들을 노드라 하고 각 노드를 연결하는 문과 같은 영역들을 엣지라고 한다면 도4(b)와 같이 위상학적 구조로 구성할 수 있게 된다.In addition, if such divided areas are called nodes and areas such as doors connecting the nodes are called edges, the topological structure may be configured as shown in FIG.
이처럼 가정환경에 위상학적 구조를 도입하는 이유는 여러 가지가 있다. 첫째로 노드와 엣지를 정의함으로써 한 영역에서 다른 영역으로 이동할 때 꼭 지나가야 할 위치들을 알 수 있고, 이것을 이용해서 이동을 위한 경로를 형성할 때 이 노드와 엣지를 이용할 수 있다. 그리고 가정환경의 지도를 나눠서 가질 수 있다는 장점이 있다.There are many reasons for introducing topological structures into the home environment. First, by defining nodes and edges, we know where to go when moving from one area to another, and we can use these nodes and edges to form a path for movement. And it has the advantage of having a separate map of the home environment.
<가정환경에서의 노드와 엣지 정의><Node and Edge Definition in Home Environment>
노드와 엣지에 대한 정의를 하기 전에 먼저 몇 가지 가정을 하고 시작하고자 한다. 이 가정들은 지도형성을 위해 꼭 필요한 가정으로 다음과 같다.Before we define nodes and edges, let's start with some assumptions. These assumptions are essential to map formation.
1. 가정환경에서 방과 방 사이를 넘나들 수 있으며, 문지방이 없고 방문은 열려있다.1. It is possible to cross between rooms in a home environment. There is no threshold and the visit is open.
2. 위치인식이 가능하다.2. Position recognition is possible.
3. 지도형성 해야 할 가정환경 공간의 크기는 정해져 있다.3. The size of the home environment space to be mapped is fixed.
4. 지도형성 중에는 장애물을 이동하는 경우는 없고, 지도형성 후에는 장애물이 이동 가능하다. 즉, 지도형성시 동적인 장애물(Dynamic Obstacle)은 없다.4. Obstacles are not moved during map formation, and obstacles can be moved after map formation. That is, there is no dynamic obstacle in map formation.
5. 지도형성시 로봇이 장애물에 막혀 다른 영역으로 이동 못하는 경우는 없다.5. When forming a map, the robot is not blocked by obstacles and cannot move to another area.
첫 번째 가정은 로봇이 물리적으로 이동이 가능해야 한다는 것이다. 예전에는 방문에 문지방이 있어서 이동로봇이 그 문지방을 넘어가기 힘들었다. 즉 한 방에서만 지도형성이나 주행이 가능했으나, 최근에는 대부분의 집들이 문지방을 없애고 있어서 방문이 열려 있으면 다른 방으로 로봇은 이동할 수 있다. 로봇이 가정환경 전체를 지도형성을 해야 하므로 이 가정이 필요하다.The first assumption is that the robot must be physically mobile. In the past, the door had a threshold, making it difficult for the mobile robot to cross it. That is, mapping and driving were possible in only one room, but recently, most houses are removing the threshold, so if a visit is open, the robot can move to another room. This assumption is necessary because the robot must map the entire home environment.
두 번째 가정은 위치인식이 가능해야 한다는 것이다. 위치인식이 되지 않고는 정확한 지도를 형성할 수 없기 때문이다. 최근에 나온 바코드가 있는 바닥재를 이용해서 위치인식을 할 수 있고 또는 ETRI에서 만든 StarLite 를 이용해서도 위치인식이 가능하다. 즉 이러한 위치인식이 가능한 환경에서 수행된다. 본 발명에서는 바코드를 이용해 위치인식을 하고 위치인식을 바탕으로 주행 및 지도형성 알고리즘 을 적용하였다.The second assumption is that position recognition should be possible. This is because it is impossible to form an accurate map without location recognition. Location recognition can be done using the latest barcoded flooring materials or with StarLite from ETRI. That is, it is performed in an environment where such location recognition is possible. In the present invention, the location recognition using a barcode and based on the location recognition and driving and map formation algorithm is applied.
세 번째 가정은 지도형성을 해야 할 영역이 무한히 커서는 안된다는 것이다. 위상학적 맵핑을 할 때 Depth First Search 방법을 통해 구성을 하고 있으므로 지도형성이 끝나야 위상학적 지도이 완성이 된다. 만약 지도형성해야 할 영역이 무한히 크다면 지도형성 과정을 끝낼 수가 없게 되므로 위상학적 지도을 얻을 수 없다. 그러므로 지도형성을 해야 할 영역은 한정되어야 한다.The third assumption is that the area to be mapped should not be infinitely large. When the topological mapping is composed by Depth First Search method, the topological map is completed after the map formation is completed. If the area to be mapped is infinitely large, it is impossible to complete the mapping process, and therefore a topological map cannot be obtained. Therefore, the area to be mapped should be limited.
네 번째 가정은 지도형성 중에 장애물 이동이 생기면 엣지와 노드가 달라지게 되므로 필요한 가정이다. The fourth hypothesis is necessary because the edges and nodes will be different if obstacle movement occurs during map formation.
마지막으로 로봇이 장애물에 막혀 다른 영역으로 이동 못하는 경우는 없다는 가정은 첫 번째 가정과 비슷한 가정으로 로봇이 다른 영역으로 넘어갈 때 장애물에 막혀서 로봇이 못 넘어가는 경우를 막기 위함이다. 장애물에 막혀 로봇이 이동을 못하면 로봇이 모든 영역에 대해 지도형성을 하지 못하고 끝내게 되므로 필요한 가정이다.Finally, the assumption that the robot is not blocked by obstacles and cannot move to another area is similar to the first assumption, to prevent the robot from being blocked by obstacles when the robot moves to another area. If the robot is unable to move because of an obstacle, the robot cannot finish mapping all areas.
일반적으로 위상학적 지도에서 노드는 특징있고 의미있는 지점이고, 엣지는 노드를 연결하는 것으로 알려져 있다. 그러나 본 발명에서는 엣지가 노드보다 더 의미가 있기 때문에 엣지를 먼저 정의하고 나서 노드에 대해 정의하고자 한다.In general, nodes in a topological map are characteristic and meaningful points, and edges are known to connect nodes. However, in the present invention, since the edge is more meaningful than the node, the edge is defined first, and then the node is defined.
엣지에 대한 정의는 다음과 같다(그림 5(a) 참조).The definition of edge is as follows (see Figure 5 (a)).
정의 1. (엣지)
한 영역과 다른 영역을 연결하는 위치로 그 폭은 로봇이 지나갈 수 있으나 제한된 폭을 가지고 있는 위치를 엣지라고 한다. 다음을 만족하는 위치가 엣지가 된다.The location that connects one area with another area, the width of which the robot can pass, but the location with a limited width is called the edge. The edge satisfying the following is an edge.
· 로봇이 통과할 수 있는 정적 장애물(Static obstacles) 사이의 빈 영역.An empty area between static obstacles that the robot can pass through.
· 정적 장애물 사이의 폭 W. Width W between static obstacles.
· (3/2)R< W < L (R : 로봇의 반경, L : 문의 폭)(3/2) R <W <L (R: radius of robot, L: width of door)
· 노드 사이의 연결· Connections between nodes
보통 문 폭은 세계적으로 각 나라에서 일정하게 정해져 있다. 대부분의 나라에서 0.7m에서 1.5m에 해당되므로 본발명에서는 L의 값으로 1.5m를 선택하였다. 여기서 L의 값이 문 폭보다 크지는 않다. 그렇다고 엣지가 꼭 문에만 해당되는 것이 아니다. 앞에서 정의한 것에 해당되는 영역들은 모두 엣지가 되는 것이다(도5(b) 참조). 엣지가 가지는 정보들은 다음과 같다.Usually the door width is fixed in each country in the world. In most countries, from 0.7m to 1.5m, 1.5m was chosen as the value of L in the present invention. The value of L is not greater than the door width here. But that's not just the door. Areas corresponding to the above definition are all edges (see Fig. 5 (b)). Edge has the following information.
· 연결된 양 끝 노드 번호(I시작 노드와 종료 노드의 인덱스)· Both connected node numbers (index of Istart node and end node)
· 엣지의 시작 위치와 끝 위치Edge start and end positions
· 연결된 노드간의 상대적 위치(시작 노드와 종료 노드 사이의 상대적인 위치)Relative position between connected nodes (relative position between start and end nodes)
· 엣지의 방향Edge direction
엣지의 위치는 엣지의 폭 중간의 위치이다. 방향(엣지 방향)은 엣지가 향하고 있는 방향으로 다른 노드가 있는 방향이라고 할 수 있다. 즉 엣지라고 인식 되는 부분에 수직인 방향이고 엣지의 시작 위치에서 끝 위치로의 방향이라 할 수 있겠다. The position of the edge is the position in the middle of the width of the edge. The direction (edge direction) is a direction in which another node is in the direction that the edge is facing. In other words, it is the direction perpendicular to the part recognized as the edge and the direction from the start position to the end position of the edge.
이와 같이 엣지를 정의했을 때 엣지들은 다음과 같은 몇 가지 특징을 가지고 있다.When defining edges like this, edges have several characteristics.
성질 1. (엣지)
· 엣지의 양쪽 끝은 각각 다른 영역(노드)으로 되어 있다.• Both ends of the edge have different areas (nodes).
· 양쪽 끝에 연결된 노드의 인덱스가 같고 그 위치가 같으면 같은 엣지이다.If the nodes connected at both ends have the same indices and their positions are the same edges.
· 한 영역을 연결하는 엣지는 여러 개 존재할 수 있다.There can be multiple edges connecting one area.
엣지의 양쪽 끝은 각각 다른 영역으로 연결이 되어야 한다는 말은 앞에서 정의한 엣지의 양쪽 끝이 같은 영역일 수는 없기 때문이다. 그리고 양쪽 끝은 반드시 어떠한 영역으로 이어져야 한다는 뜻이기도 하다. 이것은 공간적으로 봤을 때 한 영역의 양쪽 끝이 같은 공간일 수 없기 때문이다. 즉 그림 6(a)인 경우가 엣지가 되는 것이고 그림 6(b)과 같은 경우는 절대로 나올 수 없다. 그리고 한 공간에서 다른 공간으로 연결되는 영역은 여러 개 존재할 수 있지만, 연결된 공간이 같고 그 영역의 위치까지 같은 영역들이 동시에 여러 개 존재할 수 없다. 양쪽 끝에 연결된 노드의 인덱스가 같고 그 위치가 같을 경우에는 같은 엣지가 될 수밖에 없는 것이다.Both ends of the edge must be connected to different areas because both ends of the edges defined above cannot be the same area. And it means that both ends must lead to some area. This is because both ends of an area cannot be the same in space. That is, the case of Fig. 6 (a) becomes an edge and the case of Fig. 6 (b) can never come out. In addition, although there may exist several areas connected from one space to another space, several same areas may not exist at the same time until the location of the connected area is the same. If the nodes connected at both ends have the same indices and their positions are the same, they are bound to be the same edge.
일반적인 가정환경에서는 벽으로 공간이 나눠져 있다. 이 공간들은 벽으로 둘러싸여 있고 문으로 다른 방으로 이동을 할 수 있게 된다. 이 벽이나 고정된 장애물로 둘러싸여 있는 공간이 노드라고 할 수 있겠다(도7(a) 참조). 이 노드에 대한 정확한 정의는 다음과 같다.In a typical home environment, the space is divided by walls. These spaces are surrounded by walls and can be moved to other rooms by doors. Nodes are spaces surrounded by walls or fixed obstacles (see Fig. 7 (a)). The exact definition of this node is as follows:
정의 2. (노드)
벽이나 고정된 장애물로 둘러싸인 영역으로 엣지를 통해서 다른 노드로 이동할 수 있는 공간을 노드라고 한다.Nodes are spaces that can be moved to other nodes through the edges in areas surrounded by walls or fixed obstacles.
다음을 만족하는 위치가 노드가 된다.The node meets the following conditions.
· 정적 장애물 또는 벽에 의해 포위된 영역Area surrounded by static obstacles or walls
· 엣지들에 의해 다른 노드에 연결됨Connected to other nodes by edges
노드가 가지고 있는 정보는 다음과 같다.The node has the following information:
· 노드 번호(노드 인덱스)Node number (node index)
· 연결된 엣지 정보Linked edge information
· 지도 정보(로컬 그리드 지도)
위와 같이 노드를 정의했을 때 노드는 다음과 같은 성질을 갖는다.Map information (local grid map)
When defining a node as above, the node has the following properties:
삭제delete
성질 2. (노드)
· 각 영역들은 독립된 공간들을 가지고 있다Each area has independent spaces
이와 같은 노드의 성질은 각 공간이 서로 겹칠 수가 없기 때문이다. 왜냐하면 각 노드들은 벽에 의해 둘러싸여 있고 그 벽에 의해 분할되기 때문이다.The nature of these nodes is that the spaces cannot overlap each other. Because each node is surrounded by a wall and divided by that wall.
노드는 방과 같은 영역으로 생각할 수 있기 때문에 가정환경은 여러 개의 노드로 나눌 수 있다. 각 노드들은 도7(b)처럼 각각의 그리드 지도을 가지고 있으므로 각 노드에서 쌓인 오차들이 계속해서 축적되는 것을 막을 수 있다. 만약 전체 가정환경에 대한 지도 정보를 하나의 그리드 지도으로 가지고 있다면 오차들은 전 영역에 대해 미치게 된다. 그렇지만 위상학적 구조를 이용해 노드에 해당되는 영역의 그리드 지도를 각각 가지고 있다면 각 노드에서 생긴 오차들은 서로 독립적이 된다는 특징이 있다.Since a node can be thought of as an area like a room, a home environment can be divided into several nodes. Since each node has its own grid map as shown in Fig. 7 (b), it is possible to prevent errors accumulated at each node from accumulating continuously. If the map information for the whole home environment is in one grid map, the errors are insulated for the whole area. However, if you have a grid map of the area corresponding to the nodes using topological structure, the errors in each node are independent of each other.
로봇은 기본적으로 벽을 따라 이동을 하면서 초기 지도형성을 해야 한다. 이것은 뒤에서 설명할 프리-맵핑 과정으로 이 과정에서 로봇은 노드에 연결된 엣지들을 인식할 수 있다. 이 경우에 엣지를 인식하는 경우가 도8과 같이 두 가지 경우로 나눠지게 된다. 타입 A는 엣지가 로봇이 벽을 따라 진행하다 오른쪽에 존재하는 경우이고 타입 B는 로봇의 전방에 존재하는 경우이다.The robot basically has to do the initial mapping while moving along the wall. This is the pre-mapping process described later, in which the robot can recognize edges connected to nodes. In this case, the edge recognition is divided into two cases as shown in FIG. Type A is where the edge is on the right side of the robot running along the wall and type B is when it is in front of the robot.
타입 A인 경우에는 벽을 따라 이동하다가 오른쪽으로 회전할 때 물체와 물체 사이의 거리가 주어진 엣지의 정의에 해당하는 거리에 속하고, 그 사이에는 어떠한 물체도 인식 되지 않을 때 엣지가 있다고 인식한다.(센서로 확인이 가능하다. 실험에서는 PSD 센서 7개를 사용했으며 -30도 방향에 있는 센서와 +90도에 있는 센서로 인식된 위치 사이의 거리가 주어진 엣지의 정의에 해당하는 거리에 속하고 그 사이의 센서에는 어떠한 물체도 인식 되지 않을 때 엣지가 있다고 인식하였다. PSD센서가 아니더라도 물체의 폭을 알 수 있는 거리센서를 이용할 수 있다)In the case of type A, when moving along a wall and rotating to the right, the distance between objects is within the distance corresponding to the definition of a given edge, and there is an edge when no object is recognized between them. (This can be checked with a sensor. In our experiment, we used 7 PSD sensors, and the distance between the sensor in the -30 degree direction and the position perceived as the sensor at +90 degree belongs to the distance corresponding to the given edge definition. The sensor in between was recognized that there is an edge when no object is detected. You can use the distance sensor to know the width of the object even if it is not a PSD sensor.)
반면에 타입 B는 로봇이 이동 중에 전 방향에 생기는 것으로 벽을 따라 이동 중이거나 로봇이 직진을 하고 있을 때 나타나는 엣지이다. (실험에서는 -60, -90도에 있는 센서와 +60, +90도에 있는 센서로 인식된 위치 사이의 거리가 엣지정의에 해당하는 거리에 있고 그 사이에 있는 센서에는 물체가 인식되지 않을 때 엣지가 있다고 인식하게 된다.) Type B, on the other hand, occurs in all directions while the robot is moving, and is the edge that appears when the robot is moving along the wall or moving straight ahead. (In the experiment, the distance between the sensor at -60 and -90 degrees and the position perceived as the sensor at +60 and +90 degrees is the distance corresponding to the edge definition, and the sensor in between is not recognized. You will recognize that there is an edge.)
엣지가 어느 타입이냐에 따라 로봇의 움직임이 약간 달라진다. 그 움직임에 대해서는 뒤에서 자세히 설명하도록 하겠다.Depending on the type of edge, the movement of the robot is slightly different. The movement will be explained in detail later.
<엣지가 생성되는 경우들><Cases where edges are created>
앞에서 설명한 것처럼 새로운 노드와 엣지에 대한 정의를 통해 가정환경에서 위상학적 구조를 구성한다는 것은 많은 장점을 가질 수 있다. 그렇지만 엣지로 정의할 필요가 없는 부분에서 많은 부분들이 엣지로 정의되는 경우가 많다(도9 참조).As mentioned earlier, constructing a topological structure in a home environment by defining new nodes and edges can have many advantages. However, in many parts that do not need to be defined as edges, many parts are often defined as edges (see Fig. 9).
도9(a)는 다른 노드로 넘어가는 엣지가 두개가 존재하는 경우이다. 즉 방과 방을 연결하는 문이 두 개가 있는 경우가 그 예라고 할 수 있다. 이것은 엣지의 ㅅ성질에 부합되는 것으로 이 경우에는 로봇이 두 개의 엣지를 생성하게 된다.FIG. 9 (a) shows a case where two edges passing to another node exist. For example, there are two doors connecting a room to a room. This corresponds to the nature of the edge, in which case the robot creates two edges.
도9(b)는 원래는 엣지가 하나이지만 엣지 사이에 장애물이 놓여 있어서 로봇이 두 개의 엣지가 있다고 생각이 되는 경우이다. 이 경우에는 로봇이 두 개의 엣지가 있다고 판단하지만 전혀 문제가 되지 않는다. 로봇은 두 개 중 어느 것을 이용하더라도 다른 엣지로 이동이 가능하기 때문이다.Fig. 9 (b) is a case where the edge is originally one but the obstacle is located between the edges, and the robot thinks that there are two edges. In this case, the robot determines that there are two edges, but this is not a problem at all. This is because the robot can move to the other edge using either of them.
도9(c)는 도9(b)와 같이 엣지 사이에 장애물이 놓여 있는 경우지만 로봇은 엣지가 한 개 있다고 인식하는 경우이다. 이 경우에 기존의 엣지의 위치가 약간 변동했다는 것 외에는 변화가 없다. 그러므로 인식된 엣지로 로봇은 이동이 가능하게 된다.9 (c) is a case where an obstacle is placed between the edges as shown in FIG. 9 (b), but the robot recognizes that there is only one edge. In this case, there is no change except that the position of the existing edge is slightly changed. Therefore, the robot can move to the recognized edge.
도9(d)는 기존에 엣지가 한 개가 있었는데 엣지 사이에 장애물이 놓여서 로봇이 엣지를 인식하지 못하는 경우이다. 도9(b)와 다른 점은 도9(d)의 경우에는 기존의 엣지보다 폭이 좁기 때문에 나타났다고 할 수 있다. 이 경우는 엣지의 폭이 너무 좁아서 엣지가 없다고 판단되는 것이고 폭이 좁아 엣지로 인식이 안됐다는 것은 로봇이 지나갈 수 없을 뿐더러 지나가려 했을 경우에는 충돌의 위험까지 있다. 즉 이 사이를 통해 로봇이 다른 노드로 이동하는 것은 매우 위험한 것이고 처음에 가정(로봇이 다른 영역으로 이동을 못해서는 안된다는 가정)했던 것에 어긋난다.In FIG. 9 (d), there is one edge but the robot does not recognize the edge because an obstacle is placed between the edges. The difference from FIG. 9 (b) is that the width is narrower than that of the existing edge in FIG. 9 (d). In this case, the edge is so narrow that it is judged that there is no edge, and the fact that it is not recognized as an edge because of the narrow width is not only able to pass by the robot, but there is also a risk of collision if it tries to pass. In other words, it is very dangerous for a robot to move to another node between them, contrary to what was initially assumed (assuming that the robot should not move to another area).
도9(e)는 엣지가 존재하지 않는 경우이다. 그러나 로봇은 두개의 엣지가 존재한다고 생각을 하게 된다. 로봇이 같은 위치에 있는 엣지를 2개 있다고 인식하게 되기 때문이다. 그렇지만 이 두 엣지들은 실재로 엣지가 아니다. 두 엣지들은 양 끝에 같은 노드들이 연결되어 있다. 이것은 엣지의 성질에 어긋나게 된다. 엣지들은 양 끝에 연결된 노드들이 다른 노드이어야 하기 때문이다. 로봇이 새로운 노드로 이동하기 위해서 아직 조사되지 않은(Unexplored) 엣지를 통해서 이동할 때 이 엣지들이 같은 엣지이고 같은 노드에 존재한다는 것을 알게 된다.9E illustrates a case where no edge exists. But the robot thinks that there are two edges. This is because the robot recognizes two edges in the same position. However, these two edges are not really edges. Both edges have identical nodes connected at both ends. This is contrary to the nature of the edge. This is because the nodes connected at both ends must be different nodes. When the robot moves through an unexplored edge to move to a new node, it knows that these edges are on the same edge and on the same node.
이 경우에는 두 엣지를 제거하게 된다. 즉 처음에는 로봇이 두 개의 엣지가 존재한다고 인식하지만 결국에는 다른 노드의 지도형성을 위해서 이동하다보면 이 엣지들은 제거가 되게 된다. 이 제거 방법에 대해서는 이하에서 좀 더 자세히 설명하도록 하겠다.In this case, two edges are removed. In other words, the robot initially recognizes that there are two edges, but eventually the edges are removed if they move to map other nodes. This removal method is described in more detail below.
도9(f)도 엣지가 아닌 경우이다. 그렇지만 로봇은 처음에 엣지가 있다고 인식하게 된다. 그렇지만 이 엣지를 통해 다른 노드로 이동 하려 하지만 이 엣지에는 다른 노드가 연결되지 않았다는 것을 알 수 있다. 이 엣지를 데드-엔드 엣지(Dead-End Edge)라고 정의를 하겠다. 데드-엔드 엣지는 위상학적 지도에서 제거되어야만 한다.Fig. 9 (f) is also a case where it is not an edge. However, the robot initially perceives an edge. However, we can see that we try to move to another node through this edge, but no other node is connected to this edge. We will define this edge as a dead-end edge. Dead-end edges must be removed from the topological map.
순환적인(Cyclic) 경우가 도9(a)와 도9(b)에서 나타나게 되는데 이 경우는 새로운 노드가 이전에 매칭되는 노드가 있는가를 확인해서 해결할 수 있다. 노드의 성질에서 노드들은 서로 독립된 공간들을 가지고 있다고 하였다. 즉 서로 공간적으로 겹칠 수가 없다는 것이다. 로봇은 위상학적 구조를 가지고 있지만 각 노드들 간의 상대적 위치도 가지고 있다. 그러므로 로봇이 새로운 노드로 갔을 때 상대적 위치를 통해 이 노드가 이전에 등록이 된 노드인가를 확인 할 수가 있다. 만약 같은 노드가 이전에 있다면 새로운 노드로 추가하지 않고 현재의 엣지를 이전에 있는 노드에서 찾아서 병합시키게 된다.Cyclic cases are shown in Figs. 9 (a) and 9 (b). This case can be solved by checking whether a new node matches a previously matched node. In the nature of nodes, nodes have spaces that are independent of each other. In other words, they cannot overlap each other spatially. Robots have a topological structure but also have relative positions between nodes. Therefore, when the robot goes to a new node, the relative position can be used to determine if this node is a previously registered node. If the same node exists before, the current edge is found and merged with the previous node without adding it as a new node.
<지도 구성을 위한 자율주행><Autonomous Driving for Map Construction>
앞에서 설명한 엣지에 대한 정의와 생성 및 처리방법을 이용해 자율주행의 전반적인 과정에 대해 설명하고자 한다. 자율주행의 전반적인 과정들은 엣지의 인식을 통한 생성 및 필요 없는 엣지의 제거, 그리고 같은 엣지 및 노드에 대해서는 통합과정을 통해서 가정환경 내에서 위상학적 구조를 구성하기 위한 과정으로 이루어지게 된다. We will describe the overall process of autonomous driving by using the definition, creation and processing of the edges described above. The overall process of autonomous driving is to create the topological structure in the home environment through the recognition of edges, the elimination of unnecessary edges, and the integration process for the same edges and nodes.
위상학적 구조를 구성하고 난 후에는 로봇이 한 노드의 위치에서 다른 노드로 이동을 할 때 경로 형성에서 훨씬 더 효율적이고 각 노드에서 생긴 오차들은 서로 독립적이므로 지도형성시 오차가 커지는 것을 막아주게 된다. 그리고 지도형성시에도 한 노드의 지도형성을 끝내고 다른 노드로 이동해서 지도형성을 하기 때문에 지도형성시에도 훨씬 효율적이다. 위상학적 구조를 구성하기 위한 자율주행 방법은 다음과 같다.After constructing the topological structure, when the robot moves from the position of one node to the other node, it is much more efficient in the path formation and the errors in each node are independent of each other, thus preventing the error in the map formation. And even in map formation, it is much more efficient in map formation because it finishes the mapping of one node and moves it to another node. The autonomous driving method for constructing the topological structure is as follows.
1. 노드 맵핑1. Node Mapping
(1) 프리-맵핑(1) pre-mapping
이 과정에서 로봇은 기본적으로 벽을 따라 이동한다. 로봇이 벽을 따라 이동할 때 로봇은 엣지를 인식하게 된다. 인식하는 방법은 앞에서 설명하였다. 엣지가 인식이 된 위치에서 계속해서 벽을 따라 이동을 하게 되면 다른 노드로 넘어가 버리게 된다. 그렇게 되면 기본적인 벽-추종(Wall-Following)이 되어 버리게 되고 위상학적 구조를 얻을 수 없다.In this process, the robot basically moves along the wall. When the robot moves along the wall, the robot recognizes the edge. The method of recognition has been described above. If the edge continues to move along the wall from where it was recognized, it will fall to another node. This results in basic wall-following and no topological structure.
엣지가 인식 되었을 때 엣지의 방향에 수직인 방향으로 이동해야 한다. 이 규칙은 타입 A와 타입 B 모두에 적용 된다. 타입 A인 경우에는 로봇의 위치의 오른쪽 위에 존재하게 된다. 그러므로 로봇은 엣지의 방향에 수직인 방향으로 회전을 하며 이동을 해 나가면 된다. 이동 중 전방에 장애물이나 벽에 의해 더 이상 이동하지 못하거나 다시 벽을 따라 이동할 수 있을 경우에는 다시 벽을 따라서 이동을 하면 된다. 그렇지만 타입 B의 경우 타입 A와 같은 방법으로 이동을 하게 되면 다른 노드로 넘어가게 된다. 타입 B의 경우에는 먼저 멈춰서 엣지의 방향에 수직인 방향으로 회전 후 이동하다가 벽을 따라 이동할 수 있을 때 다시 벽을 따라 이동해 나가야 한다. 벽을 따라 이동하게 되면 로봇은 엣지를 따라 다른 노드로 넘어가게 되지만 이와 같이 움직이면 로봇은 프리-맵핑이 끝나기 전에는 다른 노드로 넘어가지 않는다. 프리-맵핑이 끝나고 난 후에는 로봇은 후보(Candidate) 엣지의 개수와 엣지의 Starting Position의 위치, 노드의 전반적인 크기를 알 수 있게 된다.When an edge is detected, it must move in a direction perpendicular to the direction of the edge. This rule applies to both type A and type B. In the case of type A, the robot is located on the right side of the robot's position. Therefore, the robot can move by rotating in the direction perpendicular to the direction of the edge. If you can no longer move by an obstacle or wall in front of you, or you can move along the wall again, move along the wall again. However, in the case of Type B, if you move in the same way as Type A, you will be transferred to another node. In the case of Type B, you must first stop, rotate in a direction perpendicular to the edge direction, and then move along the wall when you can move along the wall. If you move along the wall, the robot will move along the edge to another node, but if you do this, the robot will not move to another node until the pre-mapping is complete. After the pre-mapping, the robot knows the number of candidate edges, the position of the starting position of the edge, and the overall size of the node.
삭제delete
(2) 풀-맵핑(Full-Mapping)(2) Full-Mapping
풀-맵핑은 노드의 전 영역에 대해 지도형성을 하는 과정이다. 본 발명에서는 지그 재그(Zig-Zag) 알고리즘을 사용하였다. 그렇지만 지그 재그 알고리즘은 전 영역을 커버하기에는 약간은 비효율적인 알고리즘이다. 노드 중간 중간에 장애물들이 존재할 수 있기 때문이다. 풀-맵핑 과정에서 지그 재그 알고리즘 뿐만 아니라 다른 효율적인 커버리지(Coverage) 알고리즘도 사용할 수 있다. 그렇지만 이 과정은 본 발명에서 중요한 주제가 아니므로 더 이상 언급하지 않고자 한다. 다만 좀 더 지그재그 알고리즘을 효율적으로 적용하기 위해서는 그 영역에서 가장 모서리인 점을 찾아서 그 점에서부터 지그 재그 알고리즘을 적용하는 것이 좋다. 그러므로 프리-맵핑 과정에서 각 모서리 점들을 저장해 놓고 프리-맵핑이 끝나고 풀-맵핑을 시작하기 전에 각 모서리 지점들 중에서 가장 적합한 위치를 찾아내 로봇이 그 위치로 이동을 하고 그 곳에서부터 풀-맵핑을 시작한다.Full-mapping is the process of mapping the entire area of a node. In the present invention, a Zig-Zag algorithm is used. However, the zigzag algorithm is a bit inefficient to cover the whole area. This is because there may be obstacles in the middle of the node. In addition to the zig zag algorithm, other efficient coverage algorithms can be used during the full-mapping process. However, this process is not an important subject in the present invention and will not be discussed further. However, in order to apply the zigzag algorithm more efficiently, it is good to find the most corner point in the area and apply the zigzag algorithm from that point. Therefore, in the pre-mapping process, each corner point is saved, and before the pre-mapping is finished and before the full-mapping, the robot finds the most suitable position among the corner points, and moves the robot to that position, and then performs the full-mapping from there. To start.
2. 위상학적 지도 형성을 위한 자율주행2. Autonomous Driving for Topological Mapping
(1) 신규 노드로 이동(1) move to new node
노드에서 풀-맵핑이 끝난 후에 로봇은 현재의 노드에 아직 조사되지 않은(Unexplored) 엣지가 존재하는지를 확인한다. 만약 아긱 조사되지 않은 엣지가 존재하면 로봇은 아직 조사되지 않은 엣지로 이동을 하게 된다. 이때 이동지점은 아직 조사되지 않은 엣지의 시작 지점이고 로봇은 A*알고리즘(어느 시작점에서 끝점까지의 최단 거리를 형성하는 방법을 제시하는 알고리즘으로서 주지관용 기술임)으로 이동하게 된다. After full-mapping at a node, the robot checks to see if there are unexplored edges at the current node. If there is an unexplored edge, the robot will move to an unexplored edge. At this time, the moving point is the starting point of the edge which has not been investigated yet, and the robot moves to the A * algorithm (algorithm for the governor as an algorithm that shows how to form the shortest distance from any starting point to the end point).
로봇이 엣지의 시작 지점에 도착하면 새로운 노드가 나타날 때까지 엣지를 따라서 이동하게 된다. 엣지를 따라 이동을 할 때 도9(e), 도9(f) 또는 순환적인(Cyclic) 경우인지를 확인해야 한다. 먼저 도10(a)의 순서도 처럼 새로운 노드가 나오는지 아니면 엣지를 따라서 더 이상 이동할 수 없는지를 계속해서 확인하는데 만약 로봇이 엣지를 따라서 더 이상 이동할 수 없을 경우에는 이 엣지는 도9(f)와 같이 한 쪽 끝에 다른 노드가 연결되지 않은 데드-엔드 엣지로 위상학적 지도에서 제거가 된다.When the robot reaches the start of the edge, it moves along the edge until a new node appears. When moving along the edge, it should be checked whether it is a case of Fig. 9 (e), Fig. 9 (f) or a cyclical case. First, as shown in the flowchart of Fig. 10 (a), it continuously checks whether a new node is coming out or can no longer move along the edge. If the robot can no longer move along the edge, the edge is shown in Fig. 9 (f). A dead-end edge with no other node connected at one end is removed from the topological map.
새로운 노드가 나타나면 도10(b)의 순서도 처럼 먼저 도9(e)인 경우인가를 확인한다. 엣지를 따라서 이동 후 새로운 노드가 나타났을 때 그 위치가 엣지의 종료 지점이 되는데, 종료지점의 위치가 직전 노드의 다른 엣지의 시작 지점의 위치와 일치하게 된다면, 이 경우는 도9(e)의 경우처럼 퓨전(Fusion) 엣지가 되고 두 엣지들은 후보(Candidate) 엣지에서 제거가 되어야 한다. 그리고 도9(e)의 경우가 아니라고 판단이 되었을 경우에는 새로운 노드가 이전에 위상학적 지도에 존재하는 노드인가를 확인해야 한다. 이 경우는 도9(a), (b)의 경우에 나타나게 된다. When a new node appears, it is checked whether or not it is the case of FIG. When a new node appears after moving along an edge, the position becomes the end point of the edge. If the position of the end point coincides with the position of the start point of another edge of the immediately preceding node, this case is shown in Fig. 9 (e). As is the case, it should be a Fusion edge and both edges should be removed from the Candidate edge. If it is determined that the case is not the case of Fig. 9 (e), it is necessary to confirm whether the new node is a node previously present in the topological map. This case appears in the cases of Figs. 9 (a) and 9 (b).
본 발명에서 정의한 엣지와 노드의 특성상 노드간에 연결된 엣지가 여러 개 존재할 수 있다. 만약 이전에 나온 노드인가를 확인하지 않을 경우에는 계속해서 새로운 노드로 추가가 되게 된다. 이렇게 되면 노드는 무한정으로 늘어나게 되므로 이전에 나왔던 노드인가를 확인하는 과정이 필요하다. 가정환경 내에서 위상학적 구조를 가지고 있지만 각 노드들은 상대적인 위치를 가지고 있고 이 위치들은 변화가 없으므로 각 노드들은 겹쳐서 존재할 수 없다. 그러므로 상대적인 위치를 통해서 로봇은 이전에 나왔던 노드인지를 확인할 수 있게 된다.Due to the characteristics of the edge and the node defined in the present invention, there may be several edges connected between the nodes. If you do not verify that the node is a previous node, it will continue to be added as a new node. In this case, the node grows indefinitely, so it is necessary to check whether the node came out before. Although it has a topological structure in the home environment, each node has a relative position and these positions do not change, so each node cannot overlap. Therefore, the relative position allows the robot to determine if it is a node that came out before.
이전에 나왔던 노드가 아닌 것이 판단되면 로봇은 새로운 노드를 위상학적 지도에 추가를 하고, 로봇은 현재의 위치를 (0, 0)로 초기화한 후, 새로운 로컬 그리드 지도을 형성하고, 프리-맵핑 과정부터 다시 시작하게 된다.If it is determined that it is not a previously released node, the robot adds a new node to the topological map, the robot initializes its current position to (0, 0), forms a new local grid map, and starts the pre-mapping process. You will start again.
(2) 최종 노드로 이동(2) move to final node
위상학적 지도을 구성하기 위해서 그래픽적인 구조를 구성하는 방법으로 본 발명에서는 Depth First Search 알고리즘을 사용하였다. 그러므로 아직 조사되지 않은(Unexplored) 엣지가 존재하지 않을 경우에 로봇은 최종 노드(일반적으로 패런트(Parent) 노드라고 함)로 이동을 한다. 이 과정에서 로봇은 최종 노드로 이동하는 엣지를 찾아서 그 엣지의 시작 지점으로 이동하게 된다. 이동 알고리즘은 신규 노드로의 이동 과정에서 사용하였던 알고리즘(A*)을 사용하였다. In the present invention, the Depth First Search algorithm is used as a method of constructing a graphical structure to construct a topological map. Therefore, if there is no unexplored edge yet, the robot moves to the final node (commonly called the parent node). In this process, the robot finds the edge moving to the final node and moves to the starting point of the edge. The movement algorithm uses the algorithm A * used in the process of moving to a new node.
최종 노드로 이동 후 로봇은 다시 아직 조사되지 않은(Unexplored) 엣지가 있는지를 확인하고 만약 있다면 신규 노드로의 이동 과정으로 돌아가 다시 새로운 노드를 찾는다. 이 노드에도 아직 조사되지 않은 엣지가 없으면 다시 최종 노드로 이동하게 된다. 최종 노드로 계속 이동 중에 더 이상의 최종 노드가 없으면 지도형성 과정은 끝나게 된다. 지도형성을 시작한 노드를 1번 노드라고 했을 때 로봇이 모든 노드를 검색하고 나서 다시 1번 노드로 돌아와서 더 이상 아직 조사되지 않은 엣지가 없을 때 모든 과정이 끝나게 된다. 전체적인 자율주행 순서도는 도11과 같다.After moving to the last node, the robot checks again for unexplored edges, and if so, it goes back to the new node and finds a new node. If this node has no edges yet to be investigated, it will move back to the final node. If there are no more final nodes while moving to the last node, the mapping process ends. When the node that started the mapping is called
<가정환경에서 위상학적 지도의 장점>Advantages of Topological Maps in the Home Environment
위상학적 구조를 이용해 가정환경에서 지도를 형성 하였을 경우 다음과 같은 장점이 있다.When the map is formed in the home environment using the topological structure, it has the following advantages.
1. 한 노드의 위치에서 다른 노드로 이동 할 때 전체 지도를 검색해서 경로를 형성할 필요가 없고, 현 노드에서 가고자하는 노드까지 연결된 노드 인덱스를 찾고 각 노드에서 연결된 노드 인덱스를 가지고 있는 엣지까지의 경로만 형성하면 된다. 이것은 계산적인 면에서 매우 효율적이다. 경로형성에서 전체 지도를 검색할 경우 짧게는 수초에서 수분까지 걸릴 수 있기 때문이다. 그렇지만 연결된 노드 ㅇ인덱스 검색은 시간이 거의 걸리지 않고 각 노드에서 엣지까지의 경로를 형성하는데 전체 지도를 검색하는 것보다 훨씬 적게 걸린다.When moving from one node location to another node, there is no need to search the entire map to form a route, find the node index connected from the current node to the node that you want to go to, and then go to the edge where each node has the node index connected. You only need to form a path. This is very efficient computationally. Searching the entire map in route formation can take as little as a few seconds to a few minutes. However, connected nodes index search takes very little time and takes much less than searching the entire map to form a route from each node to the edge.
2. 그리고, 지도형성 시에도 한 노드의 지도형성을 끝내고 다른 노드로 이동을 해서 지도형성을 하기 때문에 효율적이다. 보통 일반적인 가정환경에는 벽들과 많은 고정된 장애물들이 존재하는데 여기에 하나의 커버리지(Coverage) 알고리즘이나 익스플로링(Exploring) 알고리즘을 적용하게 되면 매우 복잡하고 비효율적이다. 그에 비해 한 노드를 끝내고 다른 노드로 이동해서 지도 형성을 하게 되면 같은 알고리즘을 적용한다고 해도 훨씬 간단하다. 2. And, even when forming map, it is efficient because it finishes mapping of one node and moves to another node to form the map. There are usually walls and many fixed obstacles in a typical home environment, which is very complicated and inefficient when one coverage algorithm or an Exploring algorithm is applied. On the other hand, if you finish one node and move to another to map it, it is much simpler to apply the same algorithm.
3. 다음으로, 각 노드에서 생긴 오차들은 서로 독립적이다. 각 노드로 이동을 했을 때마다 각 노드에 해당하는 지도를 사용하기 때문에 각 노드에서 생긴 오차들은 각 노드에 한정적으로 영향을 미칠 수밖에 없다. 이것은 지도형성시 오차가 커지는 것을 막아주게 된다.3. Next, the errors in each node are independent of each other. Each time you move to each node, you use a map corresponding to each node, so errors in each node have a limited effect on each node. This prevents the error from increasing in map formation.
4. 마지막으로, 상업적으로 봤을 때 구성된 위상학적 구조가 일반 사람들이 생각하는 공간적 개념과 유사하다는 점이다. 일반 사람들이 생각하는 방과 거실로 구분이 되어 있다는 생각과 유사하게 위상학적 지도을 얻게 되므로 로봇을 사용자가 원하는 방으로 이동시킬 수도 있게 되므로 상업적으로 이용할 영역이 많아지게 된다.4. Finally, the topological structure constructed commercially is similar to the spatial concept that ordinary people think. Similar to the idea that the common people are divided into a room and a living room, they get a topological map, so the robot can be moved to a room desired by the user, thereby increasing the area of commercial use.
<모의실험 결과>Simulation Results
가정환경에서 위상학적 구조구성을 위한 자율주행 방법을 보이기 위해 도12(a)와 같은 환경에서 모의실험을 먼저 수행하였다. 모의실험 환경을 실제 환경과 유사하기 하기 위해 로봇의 반지름은 210mm, 가정환경의 크기는 8mx12m로 하고 벽의 두께는 100mm로 해서, 도12(a)처럼 축소화 시켜서 모의실험을 수행했다. In order to show the autonomous driving method for the topological structure in the home environment, the simulation was first performed in the environment as shown in FIG. In order to make the simulation environment similar to the real environment, the simulation was performed by reducing the radius of the robot to 210mm, the size of the home environment to 8mx12m and the thickness of the wall to 100mm, as shown in Fig. 12 (a).
모의실험에서는 중간 중간에 고정된 장애물들이 존재하고, 각 방들은 벽이나 고정된 장애물들에 의해 둘러싸여 있으며 방문을 지나치는데 물리적인 문제는 없는 것으로 하였다. 그리고 다용도실 및 화장실과 같은 영역은 가지 못한다고 가정하였다. 도12(a)와 같은 환경은 크게 6개의 노드로 나뉘게 된다.In the simulation, there are fixed obstacles in the middle, each room is surrounded by walls or fixed obstacles, and there is no physical problem to pass the visit. And it is assumed that areas such as the multipurpose room and the restroom cannot go. The environment as shown in Fig. 12A is divided into six nodes.
도12(a)에서 케이스 1은 도9(c)의 경우라고 할 수 있겠다. 기존에 엣지가 존재를 했는데 화분 때문에 엣지의 위치가 조금은 바뀐 경우이다. 이 경우는 벽과 고정된 장애물 사이에 엣지가 존재한다. 케이스 2는 도9(f)에 해당되는 경우이다. 처음에는 케이스 2영역에 엣지가 존재한다고 생각하다가 그 엣지를 통해 다른 노드로 이동하려 할 때 이 엣지에 연결된 다른 노드가 없음을 알게 된다. 이것은 엣지의 정의에 맞지 않게 되는데 이런 엣지를 데드-엔드 엣지라고 말하고 위상학적 지도에서 제거한다. 케이스 3은 도9(e)에서 나타난 경우이다. 이 경우는 로봇은 두 개의 엣지가 존재한다고 처음에는 생각하다가 다른 노드로 넘어가기 위해 이동 할 때 같은 엣지가 존재한다는 것을 알게 된다. 이 두 엣지는 실재 엣지가 아니고 퓨전 엣지라는 것을 알게 되고 제거된다. 전체적인 위상학적 구조는 도12(b)와 같이 된다. 모의실험 결과로 나온 각 노드들의 로컬 그리드 지도정보들은 도13과 같다.In FIG. 12 (a), the
각 노드에 연결된 엣지의 개수는 1번 노드가 4개이고, 5번 노드가 2개이며, 2, 3, 4, 6번 노드가 1개씩이다. 결과에서 케이스 2와 케이스 3은 엣지로 취급되지 않았음을 알 수 있다. 위상학적 구조를 구성하기 위해서 우리는 Depth First Search 방법을 사용하였고 로봇이 이동한 노드 과정은 다음과 같다. The number of edges connected to each node is 4
노드 1 →노드 2 →노드 1 →노드 3 →노드 1 →노드 4 →노드 1 →노드
5 → 노드 6 →노드 5 →노드 15 → Node 6 → Node 5 →
<위상학적 지도 구성을 위한 자율주행 실험 및 결과><Autonomous Driving Experiments and Results for Constructing Topological Maps>
이 실험은 위치인식이 가능한 환경에서 수행되었다(바코드가 있는 바닥재가 깔려있는 환경에서 실험하였다.) 앞에서 가정했던 것처럼 위치인식이 가능한 환경에서 실험이 가능하기 때문이다. 만약 위치인식이 제대로 되지 않는다면 정확한 지도를 얻을 수 없다. 실험은 크게 두 가지로 나눌 수 있다. 첫 번째는 노드들을 형성시키고 위상학적 지도을 얻을 수 있는가를 확인하였고 두 번째는 엣지의 특성상 다양한 경우가 나오는데 앞에서 설명한대로 엣지들을 다룰 수 있는지에 대한 검증을 위한 실험이다.This experiment was carried out in a location-aware environment (experimental in a floor with a barcode). As can be assumed, the experiment can be performed in a location-aware environment. If the location is not properly recognized, you will not get an accurate map. The experiment can be divided into two types. The first is to check whether the nodes can be formed and the topological map can be obtained. The second is to test whether the edges can be handled as described above.
1. 위상학적 지도 구성1. Topological Mapping
먼저 간단히 3개의 노드로 구성이 되어 있는 환경에서 실험을 하였다. 실험환경은 그림 도14(a)와 같고 이 환경에서 위상학적 구조는 도14(b)와 같이 구성이 된다. 이 환경에서 로봇은 먼저 첫 번째 노드를 지도형성을 하며 지도형성이 끝나고 나면 아직 조사되지 않은(Unexplored) 엣지가 하나가 존재하는 것을 알기 때문에 그 엣지를 통해 새로운 노드로 이동한다. 새로운 노드가 인식되면 두 번째 노드를 등록하고 지도형성을 한다. First, we experimented in an environment consisting of three nodes. The experimental environment is as shown in Fig. 14 (a), and the topological structure in this environment is as shown in Fig. 14 (b). In this environment, the robot first maps the first node, and once the mapping is complete, the robot knows that there is an unexplored edge, so it moves through the edge to the new node. When a new node is recognized, the second node is registered and mapped.
두 번째 노드의 지도형성 과정이 끝나고 나면 두 번째 노드에는 아직 조사되지 않은 엣지 1개와 조사된(Explored) 엣지 1개가 존재하는 것을 알게 되고 아직 조사되지 않은 엣지를 통해 새로운 노드로 이동한다. 그리고 나서, 세 번째 노드를 지도형성 한다. 세 번째 노드까지 지도형성이 끝나고 나면 더 이상 아직 조사되지 않은 엣지가 없다는 것을 알게 되며 상위 노드로 이동을 하면서 계속 아직 조사되지 않은 엣지를 검색하는데 1번 노드에 도달할 때까지 아직 조사되지 않은 엣지가 더 이상 존재하지 않으므로 지도형성 과정은 끝나게 된다. 이 지도형성 과정에서 얻어진 각 노드의 로컬 그리드 지도은 도15와 같다.After the mapping process of the second node is over, the second node knows that there is one edge that has not yet been investigated and one edge that has been explored, and then moves to the new node through the edge that has not yet been investigated. Then map the third node. After mapping to the third node, we know that there are no more edges that have not yet been investigated, and as we move to the parent node, we continue to search for edges that have not yet been investigated. The mapping process ends because it no longer exists. The local grid map of each node obtained in this mapping process is shown in FIG.
(1) 엣지 케이스에 대한 실험(1) Experiment with edge case
도9에서 다양한 엣지 케이스에 대해 설명하였다.9 illustrates various edge cases.
앞에서 설명한 각 케이스에 대한 처리방법에 대해 실험적으로 검증하고자 한다.We will experimentally verify the treatment method for each case described above.
<케이스 1>
도9(a)에서 설명하였듯이 가정환경에는 방과 방 사이를 연결하는 엣지들이 도16(a)처럼 여러 개 존재할 수 있다. 도16(a)는 두 영역 사이에서 서로의 영역으로 넘어갈 수 있는 문과 같은 영역이 두 개가 있는데 이와 같은 경우의 위상학적 구조는 도16(b)와 같이 된다. 이 경우는 위상학적 구조에서 순환고리(Cyclic loop)가 되어버린다. 즉 같은 노드라는 것을 인식하지 못하면 무한 순환에 빠져버리게 된다. 여기서도 먼저 첫 번째 노드를 지도형성을 하고 나면 아직 조사되지 아직 조사되지 않은 엣지가 두 개 존재한다는 것을 알 수 있다. 로봇은 아직 조사되지 않은 엣지중 하나를 통해서 2번 노드로 넘어간다. 2번 노드를 지도형성을 하고 나면 조사된(Explored) 엣지와 아직 조사되지 않은(Unexplored) 엣지가 각각 한 개씩 존재한다고 생각한다. 2번 노드 맵핑이 끝나고 난 후 아직 조사되지 않은(Unexplored) 엣지를 통해 다시 1번 노드로 넘어간다. 그런데 로봇은 1번 노드가 아닌 새로운 노드로 간다고 인식하게 된다. 즉 이 노드가 처음에 왔었던 1번 노드라는 것을 알지 못한다면 3번 노드로 추가하게 되고 계속해서 무한순환에 빠지게 되는 것이다. 그렇지만 앞에서 설명하였듯이 각 노드들은 독립된 공간들을 가지고 있다는 성질을 가지고 있다. 그리고 엣지들은 각각 연결된 노드들의 상대적 위치의 값을 가지고 있다. 그러므로 로봇이 1번 노드로 왔을 때 로봇은 새로운 노드가 아니라 예전에 지도형성을 했었던 1번 노드라는 것을 알게 되고 새로운 노드를 추가하지 않는다. 그리고 현재의 엣지가 1번 노드에서 어느 엣지와 같은지를 검색해서 정보를 갱신한다. 그 후 Depth First Search 방법에 따라 다음 엣지나 노드로 이동하게 된다. 실험 후 각 노드들의 로컬 그리드 지도은 도17과 같다.<
As illustrated in FIG. 9 (a), a plurality of edges connecting the room to the room may exist in FIG. 16 (a). In Fig. 16 (a), there are two regions, such as doors, which can be crossed between the two regions, and the topological structure in this case is as shown in Fig. 16 (b). In this case, it becomes a cyclic loop in the topological structure. If you don't recognize them as being the same node, you end up in an infinite cycle. Again, after mapping the first node, we can see that there are two edges that have not been investigated yet. The robot goes to
삭제delete
<케이스 2>
도18(a)은 도17과 같이 엣지가 2개 있는 경우이다. 도18(a)처럼 원래는 엣지가 한 개였지만 사이에 장애물이 놓여 있어서 엣지가 2개인 경우로 바뀌게 된 것이다. 앞에서 설명했듯이 엣지가 1개에서 2개로 늘어나도 2개중 어느 엣지로 이동을 하더라도 다른 노드로 이동하는데 문제가 없다. 위상학적 구조는 도18(b)과 같은데 이 구조는 앞에서 설명한 케이스 1과 같은 구조이다. 지도형성 방법도 앞에서 설명한 케이스 1 경우와 같다. 실험 결과로 얻어진 각 노드의 로컬 그리드 지도은 도19과 같다. 로컬 그리드 지도을 보면 장애물에 의해 엣지가 2개가 된 것을 알 수 있다.<
Fig. 18A shows the case where there are two edges as shown in Fig.17. Originally, as shown in Fig. 18 (a), there was only one edge, but there was an obstacle in between to change the case to two edges. As mentioned earlier, even if the edge is increased from 1 to 2, there is no problem moving to another node regardless of which edge is moved. The topological structure is shown in Fig. 18 (b), which is the same as the
삭제delete
<케이스 3><
케이스 2의 경우처럼 엣지 사이에 장애물이 놓여 있는 경우지만 로봇은 엣지가 하나라고 인식하는 경우이다. 이 경우에 기존의 엣지의 위치가 약간의 변동이 있다는 것 외에는 변화가 없다. 그러므로 인식된 엣지로 로봇은 이동하게 된다.As in
<케이스 4>
케이스4는 도20(a)에서 설명했던 것처럼 로봇이 장애물에 의해 막혀서 로봇이 다른 노드로 이동하지 못하는 경우이다. 도20(b)에서는 노드가 2개가 존재하고 노드 사이에는 연결하는 통로가 하나가 있지만, 그 통로 사이에 장애물이 놓여 있어서 로봇은 노드 사이를 건너갈 수 없다. 즉 엣지가 존재했었는데 장애물에 가로막혀서 엣지가 사라져 버린 것이다. 이 경우에는 로봇이 지도형성을 해야 할 영역이 남아 있지만 로봇은 더 이상 지도형성을 하지 않고 노드가 한 개 밖에 없다고 생각하게 된다. 도19(b)처럼 장애물과 벽 사이에 조그마한 공간이 있지만 너무 좁아서 로봇이 그 공간을 지나갈 수 없게 된다. 위에서 지도 형성시에 로봇이 장애물에 막혀 다른 영역으로 이동 못하는 경우는 없어야 한다고 가정했기 때문에 이와 같은 경우는 지도 형성시 제외되어야 한다.<
삭제delete
<케이스 5(퓨전 엣지)>
케이스 5와 케이스 6은 엣지가 생길 수 있는 경우 중에서 매우 특이한 경우이다. 먼저 케이스 5인 경우에는 도21(a)처럼 엣지가 존재하지 않지만 중간에 장애물에 의해서 엣지가 존재하는 것처럼 여겨지는 경우이다. 로봇이 벽을 따라 이동을 하다가 벽과 장애물, 또는 장애물과 장애물 사이에 엣지가 존재한다고 생각하지만 사실상 이것은 엣지가 아니다. 이 엣지를 퓨전 엣지라고 정의하고자 한다. 퓨전 엣지는 항상 쌍으로 존재한다는 특징이 있다. 엣지의 성질 중에 엣지는 항상 다른 노드가 연결이 되어야 하는데 퓨전 엣지들은 양 끝에 같은 노드들이 연결되어 있다. 로봇은 이 엣지를 통해서 새로운 노드로 이동을 하려 하지만 새로운 노드가 나오지 않고 현재의 자신의 있는 노드라는 것을 인식하게 된다. 퓨전 엣지가 쌍으로 존재하는데 서로의 시작 지점과 종료 지점이 바뀌어 있다는 특징이 있다. 퓨전 엣지라는 것이 인식되면 두 엣지를 위상학적 구조에서 제거한다. 그러므로 도21(a)인 경우에는 노드가 하나만 존재하게 되고 그 결과는 도21(b)과 같다.<Case 5 (fusion edge)>
Cases 5 and 6 are very unusual among the cases where edges can occur. First, in case 5, the edge does not exist as shown in Fig. 21 (a), but the edge is considered to exist due to an obstacle in the middle. As the robot moves along the wall, it thinks an edge exists between the wall and the obstacle, or between the obstacle and the obstacle, but in reality it is not an edge. We want to define this edge as a fusion edge. Fusion edges are always present in pairs. In the nature of an edge, an edge must always be connected to another node. Fusion edges have the same nodes connected at both ends. The robot tries to move to the new node through this edge, but the new node does not come out and recognizes that it is its own node. Fusion edges exist in pairs, with their start and end points reversed. When recognized as a fusion edge, both edges are removed from the topological structure. Therefore, in the case of Fig. 21 (a), only one node exists and the result is as shown in Fig. 21 (b).
삭제delete
<케이스 6(데드-엔드 엣지)><Case 6 (dead end edge)>
케이스 6은 도22(a)와 같은 경우이다. 이 경우는 데드-엔드 엣지라고 이야기 할 수 있다. 도22(a)처럼 한 개의 노드가 있고 그 노드에는 막다른 엣지가 한 개 존재한다. 이 엣지는 다른 노드와 연결이 되지 않고 이 노드에만 연결이 되어 있는 엣지이다. 위에서 설명한 바와 같이, 양쪽 끝에 노드가 연결되지 않으면 엣지가 아니다. 로봇은 노드 맵핑을 끝내고 다른 노드로 이동하기 위해서 데드-엔드 엣지로 이동하고 엣지를 따라 새로운 노드로 넘어가려 하는데 로봇은 이 엣지가 막혀 있는 데드-엔드 엣지라는 것을 알게 되고 이 엣지를 위상학적 구조에서 제거 한다. 결국 도22(a)은 1개의 노드를 가지고 연결된 엣지는 없다는 것을 알 수 있다. 실험 결과 얻어진 로컬 그리드 지도는 도22(b)과 같다.Case 6 is the same as in Fig. 22A. In this case, we can say that it is a dead-end edge. As shown in Fig. 22 (a), there is one node and there is one dead edge. This edge is an edge that is only connected to this node, not to other nodes. As explained above, if a node is not connected at both ends, it is not an edge. The robot will end up mapping the node and move to the dead-end edge and move over to the new node in order to move to another node. The robot knows that this edge is a blocked dead-end edge, Should be removed. As a result, Fig. 22 (a) shows that there is no edge connected with one node. The local grid map obtained as a result of the experiment is shown in Fig. 22 (b).
<두 노드와 하나의 데드-엔드 엣지><Two Nodes and One Dead-End Edge>
앞에서 케이스 6에 대한 실험을 했지만 좀 더 명확한 결과를 보여주기 위해 2개의 노드가 존재하고 하나의 데드-엔드 엣지가 있을 때 로봇이 어떻게 움직이고 Dead-End 엣지를 처리하는지에 대해 좀 더 설명하고자 한다. 도23(a)은 노드 2개와 2개의 노드를 연결하는 엣지, 그리고 첫번째 노드에 연결된 데드-엔드 엣지가 있다. 이런 경우의 위상학적 구조는 도23(b)과 같이 구성된다. 로봇은 첫 번째 노드 맵핑 후 엣지가 두 개 있다고 인식을 하고 그 중에서 첫 번째 엣지를 통해서 두번째 노드로 넘어간다. 두번째 노드 맵핑을 하고 나면 아직 조사되지 않은 엣지가 없는 것을 알게 되고 최종 노드인 첫 번째 노드로 넘어온다. 첫 번째 노드에서 다시 아직 조사도지 않은 엣지인 두 번째 엣지로 이동해서 새로운 노드로 넘어가려 하지만 두 번째 엣지는 데드-엔드 엣지로 다른 노드로 연결되지 않았다. 이 엣지를 위상학적 구조에서 제거하게 된다. 실험 후 얻어진 로컬 그리드 지도은 도24과 같다.We experimented with Case 6 earlier, but for a clearer result, let's talk more about how the robot moves and handles Dead-End edges when there are two nodes and one dead-end edge. 23 (a) shows an edge connecting two nodes and two nodes, and a dead end edge connected to the first node. The topological structure in this case is constructed as shown in Fig. 23 (b). The robot recognizes that there are two edges after the first node mapping, and passes to the second node through the first edge. After mapping the second node, we know that there are no edges that have not been investigated yet, and we move on to the first node, the final node. We tried to move from the first node to the second edge, an edge that hasn't been investigated yet, and move on to the new node, but the second edge is not connected to another node as a dead-end edge. This edge is removed from the topological structure. The local grid map obtained after the experiment is shown in FIG.
앞에서 설명한 과정을 통해 로봇이 맵핑을 하고난 후에는 구성된 위상학적 지도을 가지고 효율적으로 움직일 수 있다. 어느 노드에 어느 위치에 있는지도 알 수 있게 되므로 이동시에도 위상학적 지도을 이용할 수 있게 된다.After mapping, the robot can move efficiently with the topological map. It is also possible to know which location is located at which node, so that the topological map can be used even when moving.
본 발명에서는 새로운 노드와 엣지에 대해 정의를 함으로써 가정환경 내에서 적합한 위상학적 구조를 구성할 수 있는 알고리즘을 제안하였다. 보통의 가정환경이 벽이나 고정된 장애물로 둘러싸여 있고 한 영역에서 다른 영역으로 이동할 때 문과 같은 지역을 지나쳐 가야 한다는 특징을 살려서 이에 적합한 노드와 엣지를 정의한 것이다. 이 정의에 의해서 엣지가 아닌 영역들이 엣지로 정의 될 수 있는데 이에 대한 엣지의 특성과 성질을 명확하게 구분, 정의함으로써 가정환경에 적합한 위상학적 구조를 구성할 수 있도록 하였다.In the present invention, by defining new nodes and edges, an algorithm that can construct a suitable topological structure in a home environment is proposed. It defines the proper nodes and edges by taking advantage of the fact that a normal home environment is surrounded by walls or fixed obstacles and must pass through an area such as a door when moving from one area to another. By this definition, non-edge regions can be defined as edges. By clearly distinguishing and defining the characteristics and properties of edges, it is possible to construct a topological structure suitable for home environment.
위상학적 구조를 이용해 자율주행을 하게 되면 한 영역의 지도형성을 끝내고 다른 영역으로 넘어가므로 좀 더 쉽게 커버리지 알고리즘이나 지도형성 알고리즘을 적용할 수 있고 또 각 노드에서 생긴 오차들은 서로 독립적이므로 오차가 계속적으로 증가하는 것을 막을 수 있다. 또한, 지도형성 과정이 끝난 후 로봇이 이동하기 위해 경로를 형성할 때 꼭 지나쳐야 하는 부분들, 즉 엣지에 대한 정보들을 가지고 있으므로 계산속도 면에서도 훨씬 유리하게 된다.When autonomous driving using topological structure finishes the mapping of one area and moves on to another area, it is easier to apply the coverage algorithm or the mapping algorithm, and the errors in each node are independent of each other. It can prevent the increase. In addition, it has much advantage in terms of calculation speed because it has information about the edges, that is, edges, which must pass when the robot forms a path after the mapping process is completed.
또한 본 발명에 의해 구성된 위상학적 구조는 일반 사람들이 생각하는 공간적 개념과 유사해 로봇을 사용자가 원하는 방으로 이동시킬 수도 있게 되므로 상업적으로 이용할 영역이 많아지게 된다.
In addition, the topological structure constructed by the present invention is similar to the spatial concept that ordinary people think, so that the robot can be moved to a room desired by the user, thereby increasing the area for commercial use.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060003738A KR100715609B1 (en) | 2006-01-13 | 2006-01-13 | Topological mapping and navigation method of mobile robot in home environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060003738A KR100715609B1 (en) | 2006-01-13 | 2006-01-13 | Topological mapping and navigation method of mobile robot in home environment |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100715609B1 true KR100715609B1 (en) | 2007-05-07 |
Family
ID=38269995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060003738A KR100715609B1 (en) | 2006-01-13 | 2006-01-13 | Topological mapping and navigation method of mobile robot in home environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100715609B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110085499A (en) * | 2010-01-20 | 2011-07-27 | 엘지전자 주식회사 | Robot cleaner and controlling method thereof |
CN112000101A (en) * | 2020-08-26 | 2020-11-27 | 三一机器人科技有限公司 | Topological map importing method and device and robot simulation system |
WO2021010757A1 (en) * | 2019-07-16 | 2021-01-21 | Lg Electronics Inc. | Mobile robot and control method thereof |
US11674809B2 (en) | 2019-07-05 | 2023-06-13 | Lg Electronics Inc. | Moving robot and control method thereof |
US11700989B2 (en) | 2019-07-11 | 2023-07-18 | Lg Electronics Inc. | Mobile robot using artificial intelligence and controlling method thereof |
US11774982B2 (en) | 2019-07-11 | 2023-10-03 | Lg Electronics Inc. | Moving robot and control method thereof |
US11774976B2 (en) | 2019-07-05 | 2023-10-03 | Lg Electronics Inc. | Moving robot and control method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990009119A (en) * | 1997-07-07 | 1999-02-05 | 윤종용 | Control Method of Mobile Robot |
JPH1185273A (en) * | 1997-09-02 | 1999-03-30 | Technol Res Assoc Of Medical & Welfare Apparatus | Route generation device for autonomously travelling robot and storage medium for storing route generation method and program for the same |
JP2003036116A (en) * | 2001-07-25 | 2003-02-07 | Toshiba Tec Corp | Autonomous travel robot |
KR20050024840A (en) * | 2003-09-05 | 2005-03-11 | 학교법인 인하학원 | Path planning method for the autonomous mobile robot |
-
2006
- 2006-01-13 KR KR1020060003738A patent/KR100715609B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990009119A (en) * | 1997-07-07 | 1999-02-05 | 윤종용 | Control Method of Mobile Robot |
JPH1185273A (en) * | 1997-09-02 | 1999-03-30 | Technol Res Assoc Of Medical & Welfare Apparatus | Route generation device for autonomously travelling robot and storage medium for storing route generation method and program for the same |
JP2003036116A (en) * | 2001-07-25 | 2003-02-07 | Toshiba Tec Corp | Autonomous travel robot |
KR20050024840A (en) * | 2003-09-05 | 2005-03-11 | 학교법인 인하학원 | Path planning method for the autonomous mobile robot |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110085499A (en) * | 2010-01-20 | 2011-07-27 | 엘지전자 주식회사 | Robot cleaner and controlling method thereof |
KR101641242B1 (en) | 2010-01-20 | 2016-07-20 | 엘지전자 주식회사 | Robot cleaner and controlling method thereof |
US11674809B2 (en) | 2019-07-05 | 2023-06-13 | Lg Electronics Inc. | Moving robot and control method thereof |
US11774976B2 (en) | 2019-07-05 | 2023-10-03 | Lg Electronics Inc. | Moving robot and control method thereof |
US11700989B2 (en) | 2019-07-11 | 2023-07-18 | Lg Electronics Inc. | Mobile robot using artificial intelligence and controlling method thereof |
US11774982B2 (en) | 2019-07-11 | 2023-10-03 | Lg Electronics Inc. | Moving robot and control method thereof |
WO2021010757A1 (en) * | 2019-07-16 | 2021-01-21 | Lg Electronics Inc. | Mobile robot and control method thereof |
KR20210009011A (en) * | 2019-07-16 | 2021-01-26 | 엘지전자 주식회사 | Moving robot and control method thereof |
KR102302575B1 (en) * | 2019-07-16 | 2021-09-14 | 엘지전자 주식회사 | Moving robot and control method thereof |
US12093053B2 (en) | 2019-07-16 | 2024-09-17 | Lg Electronics Inc. | Mobile robot and control method thereof |
CN112000101A (en) * | 2020-08-26 | 2020-11-27 | 三一机器人科技有限公司 | Topological map importing method and device and robot simulation system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100715609B1 (en) | Topological mapping and navigation method of mobile robot in home environment | |
Yamauchi | Decentralized coordination for multirobot exploration | |
Schultz et al. | Integrating exploration, localization, navigation and planning with a common representation | |
CN107728608A (en) | A kind of method for planning path for mobile robot | |
Rueb et al. | Structuring free space as a hypergraph for roving robot path planning and navigation | |
Kamon et al. | Range-sensor based navigation in three dimensions | |
Lisien et al. | The hierarchical atlas | |
Shivashankar et al. | Real-time planning for covering an initially-unknown spatial environment | |
Huh et al. | Mobile robot exploration in indoor environment using topological structure with invisible barcodes | |
CN113009916A (en) | Path planning method, chip and robot based on global map exploration | |
Meghjani et al. | Combining multi-robot exploration and rendezvous | |
Katevas et al. | The approximate cell decomposition with local node refinement global path planning method: Path nodes refinement and curve parametric interpolation | |
Gong et al. | Multi-agent deterministic graph mapping via robot rendezvous | |
Liu et al. | Physically routing robots in a multi-robot network: Flexibility through a three-dimensional matching graph | |
Rodriguez et al. | Roadmap-based level clearing of buildings | |
Mahida et al. | Dynapath: Dynamic learning based indoor navigation for vip in iot based environments | |
Upadhyay et al. | A topological approach to finding coarsely diverse paths | |
Yamanaka et al. | Mobile robot navigation using hybrid simplified map with relationships between places and grid maps | |
CN116560360A (en) | Method and system for planning real-time dynamic path of medical care robot facing complex dynamic scene | |
Fredriksson et al. | Semantic and Topological Mapping using Intersection Identification | |
Franco et al. | Worst-Case Pursuit-Evasion using random walk for multiply connected environment | |
Ali et al. | Global mobile robot path planning using laser simulator | |
Wong et al. | Natural landmark recognition using neural networks for autonomous vacuuming robots | |
Pinheiro et al. | A Mixed Map Representation Approach for Mobile Robot Localization Planning. | |
Abonyi-Tóth et al. | Autonomous Exploration Using a Tree Structure For Goal Selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130417 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140326 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |