KR101688302B1 - Motion planning apparatus and method - Google Patents
Motion planning apparatus and method Download PDFInfo
- Publication number
- KR101688302B1 KR101688302B1 KR1020150007979A KR20150007979A KR101688302B1 KR 101688302 B1 KR101688302 B1 KR 101688302B1 KR 1020150007979 A KR1020150007979 A KR 1020150007979A KR 20150007979 A KR20150007979 A KR 20150007979A KR 101688302 B1 KR101688302 B1 KR 101688302B1
- Authority
- KR
- South Korea
- Prior art keywords
- sampling
- optimal path
- path
- motion planning
- sources
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000005070 sampling Methods 0.000 claims abstract description 220
- 238000004364 calculation method Methods 0.000 claims abstract description 38
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0217—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
모션 플래닝 장치 및 방법이 제공된다. 모션 플래닝 장치는 복수의 샘플링 원을 포함하는 샘플링 영역을 생성하는 샘플링부 및 상기 샘플링 영역 내에서 새로운 최적 경로를 계산하고 상기 새로운 최적 경로에 포함되는 노드 중에서 이전 최적 경로에 포함되지 않는 상기 노드를 마일스톤으로 지정하는 계산부를 포함한다. 상기 샘플링부는 상기 마일스톤을 중심으로 하는 새로운 샘플링 원을 상기 샘플링 영역에 추가하고 상기 계산부는 상기 샘플링 영역에서 상기 새로운 최적 경로를 다시 계산한다.A motion planning apparatus and method are provided. The motion planning apparatus includes a sampling unit for generating a sampling area including a plurality of sampling sources, a sampling unit for calculating a new optimal path in the sampling area, and a node not included in the previous optimal path among the nodes included in the new optimal path, As shown in FIG. The sampling unit adds a new sampling circle centered at the milestone to the sampling area and the calculation unit recalculates the new optimal path in the sampling area.
Description
로봇의 모션 플래닝 분야에 연관되며, 보다 구체적으로는 RRT*(Rapidly-exploring Random Tree)를 기반으로 한 최적 경로 탐색 및 모션 플래닝 분야에 연관된다.
It relates to the robot's motion planning field, and more specifically to the optimal path search and motion planning based on RRT * (Rapidly-exploring Random Tree).
샘플링(Sampling) 기반의 모션 플래닝 알고리즘에서는 기계 학습(machine learning)과 유사하게 전역 탐색(Global Search)와 국소 탐색(Local Search) 사이의 딜레마가 존재한다.In the sampling-based motion planning algorithm, there is a dilemma between global search and local search similar to machine learning.
전역 탐색은 전역적으로 샘플링을 시도하여 전체 최적 경로를 찾을 수 있다. 비록 해를 찾는 속도가 느릴지라도 존재하는 모든 경로를 탐색할 수 있어 탐색(Exploration)에 해당한다. 다만 실질적으로 계산 시간에는 제한이 있어 제한 내에 가장 우수한 해를 찾아 문제를 해결하는 것은 어려움이 있다. 국소 탐색은 특정 샘플링 결과에 기반하여 기존의 최적 경로보다 우수한 최적 경로가 검출된 경우에 주변을 샘플링하여 최적 경로를 개선해가는 방식으로 활용(Exploitation)에 해당한다. 이 경우 아직 탐색되지 않은 부분에 대한 샘플링은 줄어들게 되어 결과적으로 전체 대역의 최적 경로와는 점점 멀어지는 방향의 샘플링이 될 수도 있다. 위와 같은 전역 탐색과 국소 탐색의 딜레마를 해소하기 위한 연구가 필요하다.
The global search can try the global sampling to find the full optimal path. Even though the search for the solution is slow, all the existing paths can be searched, which corresponds to exploration. However, there is a limitation in calculation time, and it is difficult to solve the problem by finding the best solution within the limit. The local search corresponds to the exploitation in which the optimal path is improved by sampling the surroundings when an optimal path that is superior to the existing optimal path is detected based on a specific sampling result. In this case, the sampling for the portion that has not yet been searched is reduced, and as a result, sampling may be performed in a direction away from the optimal path of the entire band. Research is needed to overcome the dilemma of global search and local search.
일측에 따르면, 모션 플래닝 장치가 제공된다. 모션 플래닝 장치는 복수의 샘플링 원을 포함하는 샘플링 영역을 생성하는 샘플링부 및 상기 샘플링 영역 내에서 새로운 최적 경로를 계산하고 상기 새로운 최적 경로에 포함되는 노드 중에서 이전 최적 경로에 포함되지 않는 상기 노드를 마일스톤으로 입력하는 계산부를 포함한다. 여기서 상기 샘플링부는 상기 마일스톤을 중심으로 하는 새로운 샘플링 원을 상기 샘플링 영역에 추가하고, 상기 계산부는 상기 샘플링 영역에서 상기 새로운 최적 경로를 다시 계산한다.According to one aspect, a motion planning device is provided. The motion planning apparatus includes a sampling unit for generating a sampling area including a plurality of sampling sources, a sampling unit for calculating a new optimal path in the sampling area, and a node not included in the previous optimal path among the nodes included in the new optimal path, As shown in FIG. Here, the sampling unit adds a new sampling circle centered at the milestone to the sampling area, and the calculation unit recalculates the new optimal path in the sampling area.
일실시예에 따르면 상기 계산부는 상기 샘플링 영역 내에서 출발점에서 목표점까지 존재하는 경로 중에서 장애물과의 충돌 없이 최단 거리로 주행하는 경로를 상기 새로운 최적 경로로 계산한다. 다른 일실시예에 따르면 상기 계산부는 상기 샘플링 영역 내에서 출발점에서 목표점까지의 임의의 경로 중에서 상기 임의의 경로에 대응하는 코스트 값이 상기 이전 최적 경로에 대응하는 코스트 값보다 작은 경우에 상기 임의의 경로를 상기 새로운 최적 경로로 계산한다. 상기 계산부는 상기 복수의 샘플링 원들이 교차하는 영역 내의 경로를 그 이외의 경로보다 높은 확률로 선택하고 최적 경로를 계산할 수 있다.According to one embodiment, the calculation unit calculates, as the new optimal path, a path that travels at the shortest distance without collision with an obstacle from the starting point to the target point in the sampling area. According to another embodiment, when the cost value corresponding to the arbitrary path from the starting point to the target point in the sampling area is smaller than the cost value corresponding to the previous optimal path, Is calculated as the new optimal path. The calculation unit may select a path in an area where the plurality of sampling sources intersect with a probability higher than other paths, and calculate an optimal path.
일실시예에 따르면 상기 샘플링부는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 반지름을 기초로 하여 상기 새로운 샘플링 원의 반지름을 설정한다.
According to one embodiment, the sampling unit sets the radius of the new sampling circle based on the radius of the existing sampling sources including the milestone.
다른 일측에 따르면, 샘플링 영역 생성기가 제공된다. 샘플링 영역 생성기는 장애물의 위치 정보에 기초하여 GVG(Generalized Voronoi Graph)를 생성하는 생성부 및 상기 GVG 상의 제1 위치를 중심으로 상기 장애물까지 최단 거리를 반지름으로 하는 제1 샘플링 원을 계산하고 샘플링 영역에 추가하는 계산부를 포함한다.According to another aspect, a sampling area generator is provided. The sampling area generator includes a generator for generating a GVG (Generalized Voronoi Graph) based on the position information of the obstacle and a first sampling source having a shortest distance to the obstacle at a first position on the GVG, And a calculation unit for adding the calculation result to the calculation unit.
일실시예에 따르면 상기 계산부는 상기 GVG 상의 제2 위치를 중심으로 하고 상기 장애물까지 거리를 반지름으로 하는 복수의 원을 생성하고 상기 복수의 원 중에서 상기 제1 샘플링 원과 교차하고 상기 제1 샘플링 원의 장애물과의 접점을 포함하지 않는 제2 샘플링 원을 계산하고 상기 샘플링 영역에 추가한다. 다른 일실시예에 따르면 상기 계산부는 초기 위치에서 상기 장애물에 포함되는 임의의 점을 향하는 직선을 생성하고 상기 직선이 상기 GVG와 만나는 점을 상기 제1 위치로 계산한다.
According to an embodiment of the present invention, the calculation unit may generate a plurality of circles around a second position on the GVG, the distance being a distance to the obstacle as a radius, intersecting the first sampling circle among the plurality of circles, And adds the second sampling source to the sampling region. According to another embodiment, the calculation unit generates a straight line toward an arbitrary point included in the obstacle at an initial position, and calculates a point at which the straight line meets the GVG as the first position.
다른 일측에 따르면, 복수의 샘플링 원을 포함하는 샘플링 영역 내에서 새로운 최적 경로를 업데이트 하는 단계, 상기 새로운 최적 경로 내에 포함되는 점 중에서 이전 최적 경로에 포함되지 않는 점의 집합을 마일스톤으로 입력하는 단계 및 상기 마일스톤을 중심으로 하는 원을 상기 샘플링 영역에 추가하는 단계를 포함하는 모션 플래닝 방법이 제공된다. 상기 새로운 최적 경로를 업데이트 하는 단계는 상기 샘플링 영역 내의 출발점에서 목표점까지 임의의 경로에 대응하는 코스트 값이 상기 이전 최적 경로에 대응하는 코스트 값보다 작은 경우에 상기 임의의 경로를 상기 새로운 최적 경로로 업데이트한다.According to another aspect, there is provided a method comprising: updating a new optimal path in a sampling area including a plurality of sampling sources; inputting a set of points that are not included in the previous optimal path among the points included in the new optimal path, And adding a circle around the milestone to the sampling area. Wherein updating the new optimal path includes updating the arbitrary path to the new optimal path when a cost value corresponding to an arbitrary path from a starting point to a target point in the sampling area is smaller than a cost value corresponding to the previous optimal path. do.
일실시예에 따르면 상기 모션 플래닝 방법은 상기 복수의 샘플링 원 각각에 대응하는 상관 값을 부여하는 단계를 더 포함하고, 상기 새로운 최적 경로를 업데이트 하는 단계는 상기 복수의 샘플링 원 중에서 높은 상기 상관 값을 가지는 샘플링 원에 포함되는 경로를 높은 확률로 선택하고 계산한다. 한편 상기 상관 값을 부여하는 단계는 상기 복수의 샘플링 원 중에서 다른 샘플링 원과 교차하는 영역을 많이 포함하는 상기 샘플링 원에 높은 상기 상관 값이 부여될 수 있다.
According to one embodiment, the motion planning method further comprises assigning a correlation value corresponding to each of the plurality of sampling sources, and the step of updating the new optimal path comprises: The branch selects and calculates the path included in the sampling circle with a high probability. Meanwhile, in the step of assigning the correlation value, the correlation value may be given to the sampling source that includes a large number of regions intersecting other sampling sources among the plurality of sampling sources.
다른 일측에 따르면 장애물에 포함되는 점에 기초하여 GVG를 생성하는 단계, 상기 GVG 상의 제1 위치를 중심으로 상기 제1 위치와 상기 장애물까지의 최단 거리를 반지름으로 하는 원을 포함하는 샘플링 영역을 생성하는 단계 및 상기 샘플링 영역 내에서 출발점에서 목표점까지의 최소의 코스트 값을 나타내는 경로를 계산하는 단계를 포함하는 모션 플래닝 방법이 제공된다.According to another aspect of the present invention, there is provided a method for generating a GVG, the method comprising: generating a GVG based on a point included in an obstacle; generating a sampling area including a circle whose radius is the shortest distance from the first position to the obstacle, And calculating a path representing a minimum cost value from a starting point to a target point in the sampling area.
일실시예에 따르면 상기 모션 플래닝 방법은 초기 위치와 상기 장애물에 포함되는 임의의 점까지의 직선을 생성하고 상기 직선과 상기 GVG의 교점을 제1 위치로 생성하는 단계를 더 포함할 수 있다.According to one embodiment, the motion planning method may further include generating a straight line up to an initial position and an arbitrary point included in the obstacle, and generating an intersection of the straight line and the GVG to a first position.
다른 일실시예에 따르면 상기 모션 플래닝 방법은 상기 GVG 상의 제2 위치를 중심으로 상기 제2 위치와 상기 장애물까지의 거리를 반지름으로 하는 원 형태의 샘플링 영역 후보를 생성하고, 상기 샘플링 영역 후보 중에서 상기 샘플링 영역과 교차하고 상기 샘플링 영역에 포함되지 않는 상기 장애물과의 접점을 포함하는 상기 샘플링 영역 후보를 샘플링 영역에 추가하는 단계를 더 포함할 수 있다.
According to another embodiment of the present invention, the motion planning method further comprises the steps of: generating a circular sampling area candidate having a radius of a distance from the second position to the obstacle about the second position on the GVG as a radius; And adding the sampling region candidate to the sampling region, wherein the sampling region candidate includes a contact point with the obstacle which intersects the sampling region and is not included in the sampling region.
다른 일측에 따르면 모션 플래닝 방법을 실행하는 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 프로그램은 복수의 샘플링 원을 포함하는 샘플링 영역 내에서 새로운 최적 경로를 업데이트 하는 명령어 세트, 상기 새로운 최적의 경로 내에 포함되는 점 중에서 이전 최적 경로에 포함되지 않는 점의 집합을 마일스톤으로 입력하는 명령어 세트 및 상기 마일스톤을 중심으로 하는 원을 상기 샘플링 영역에 추가하는 명령어 세트를 포함하는 컴퓨터 판독 가능한 기록매체가 제공된다.
According to another aspect, there is provided a computer readable recording medium storing a program for executing a motion planning method, the program comprising: a set of instructions for updating a new optimal path in a sampling area including a plurality of sampling sources; A set of instructions for inputting a set of points that are not included in a previous optimal path among the points included in the milestone, and a command set for adding a circle centered on the milestone to the sampling area .
도 1은 일실시예에 따른 모션 플래닝 장치를 도시한 블록도이다.
도 2a, 도 2b 및 도 2c는 일실시예에 따른 모션 플래닝 장치의 동작 과정을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 샘플링 영역 생성기를 도시한다.
도 4는 일실시예에 따른 샘플링 영역이 생성되는 과정을 설명하는 도면이다.
도 5a 및 5b는 일실시예에 따른 샘플링 영역이 확장되는 과정을 설명하는 도면이다.
도 6은 일실시예에 따른 모션 플래닝 방법을 도시하는 블록도이다.
도 7은 다른 일실시예에 따른 모션 플래닝 방법을 도시하는 블록도이다.1 is a block diagram illustrating a motion planning apparatus in accordance with one embodiment.
FIGS. 2A, 2B and 2C are views for explaining the operation of the motion planning apparatus according to an embodiment.
3 illustrates a sampling area generator according to one embodiment.
4 is a diagram illustrating a process of generating a sampling region according to an exemplary embodiment.
5A and 5B are diagrams illustrating a process of expanding a sampling area according to an embodiment.
6 is a block diagram illustrating a motion planning method in accordance with one embodiment.
7 is a block diagram illustrating a motion planning method according to another embodiment.
이하에서, 일부 실시예들을, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.In the following, some embodiments will be described in detail with reference to the accompanying drawings. However, it is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.
아래 설명에서 사용되는 용어는, 연관되는 기술 분야에서 일반적이고 보편적인 것으로 선택되었으나, 기술의 발달 및/또는 변화, 관례, 기술자의 선호 등에 따라 다른 용어가 있을 수 있다. 따라서, 아래 설명에서 사용되는 용어는 기술적 사상을 한정하는 것으로 이해되어서는 안 되며, 실시예들을 설명하기 위한 예시적 용어로 이해되어야 한다.The terms used in the following description are chosen to be generic and universal in the art to which they are related, but other terms may exist depending on the development and / or change in technology, customs, preferences of the technician, and the like. Accordingly, the terminology used in the following description should not be construed as limiting the technical thought, but should be understood in the exemplary language used to describe the embodiments.
또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세한 그 의미를 기재할 것이다. 따라서 아래 설명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 명세서 전반에 걸친 내용을 토대로 이해되어야 한다.
Also, in certain cases, there may be a term chosen arbitrarily by the applicant, in which case the meaning of the detailed description in the corresponding description section. Therefore, the term used in the following description should be understood based on the meaning of the term, not the name of a simple term, and the contents throughout the specification.
도 1은 일실시예에 따른 모션 플래닝 장치를 도시한 블록도이다.1 is a block diagram illustrating a motion planning apparatus in accordance with one embodiment.
일실시예에 따르면 모션 플래닝 장치(100)는 샘플링 영역을 생성하는 샘플링부(110)와 마일스톤을 입력하는 계산부(120)를 포함한다. 일실시예에 따르면 샘플링 영역은 복수의 샘플링 원을 포함할 수 있다. 일실시예로서 상기 샘플링 영역은 전체 공간 영역에서 최적 경로를 찾기 위해 지정된 영역이다.According to one embodiment, the
샘플링부(110)는 아래 기술할 것처럼 계산부(120)가 입력한 마일스톤을 중심으로 새로운 샘플링 영역을 추가한다. 일실시예로서 샘플링부(110)는 마일스톤을 원의 중심으로 하는 샘플링 원을 새로운 샘플링 영역으로 추가할 수 있다. 샘플링부(110)는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 반지름을 기초로 하여 새로운 샘플링 원의 반지름을 설정할 수 있다. 일실시예로서 샘플링부(110)는 아래 기재된 수학식 1을 기초로 하여 새로운 샘플링 원의 반지름을 설정할 수 있다.The
는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 집합이고, Nc는 의 원소의 개수를 의미한다. rs는 상기 마일스톤을 포함하는 기존의 샘플링 원의 반지름이고 rn은 새로운 샘플링 원의 반지름이다. k는 0 이상 1이하 범위에서 존재하는 비례상수로서 사용자에 의해 정의되는 값이다. 사용자는 비례상수 k값의 조절을 통하여 새롭게 생성될 샘플링 원의 반지름을 조절할 수 있다. Is a set of conventional sampling sources including the milestones, and N c The number of elements of the element. r s is the radius of the existing sampling circle including the milestone and r n is the radius of the new sampling circle. k is a proportional constant existing in the range of 0 to 1 inclusive, and is a value defined by the user. The user can adjust the radius of the sampling circle to be newly generated by adjusting the proportional constant k.
계산부(120)는 샘플링부(110)가 생성하는 샘플링 영역 내에서 새로운 최적 경로를 계산하고 상기 새로운 최적 경로에 포함되는 노드 중에서 이전 최적 경로에 포함되지 않는 상기 노드를 마일스톤으로 입력한다. 일실시예로서 계산부(120)는 상기 샘플링 영역 내의 출발점에서 목표점까지 존재하는 경로 중에서 장애물과의 충돌 없이 최단 거리로 주행하는 경로를 상기 새로운 최적 경로로 계산할 수 있다.The
다른 일실시예로서 계산부(120)는 상기 샘플링 영역 내의 출발점에서 목표점까지의 임의의 경로 중에서 상기 임의의 경로에 대응하는 코스트 값이 상기 이전 최적 경로에 대응하는 코스트 값보다 작은 경우에 상기 임의의 경로를 상기 새로운 최적 경로로 계산한다.In another embodiment, when the cost value corresponding to the arbitrary path from the starting point to the target point in the sampling area is smaller than the cost value corresponding to the previous optimal path, Path is calculated as the new optimal path.
일실시예로서 코스트 값은 경로의 길이가 될 수 있다. 다른 일실시예로서 코스트 값은 도착점까지의 예상 시간이 될 수 있다. 다른 일실시예로서 코스트 값은 경로까지의 비용이 될 수 있다. 코스트 값의 정의에 따라 본 발명은 다양한 최적 경로를 계산하고 출력할 수 있다.In one embodiment, the cost value may be the length of the path. In another embodiment, the cost value may be the estimated time to the destination. In another embodiment, the cost value may be the cost to the path. According to the definition of the cost value, the present invention can calculate and output various optimal paths.
일실시예로서 계산부(120)는 복수의 샘플링 원 각각에 대응하는 상관 값을 계산할 수 있다. 상기 상관 값은 샘플링 영역 내에 존재하는 경로 중에 선택될 확률과 연관된다. 계산부(120)는 위에서 기재한 것처럼 선택된 경로를 기존의 최적 경로와 비교하고 새로운 최적 경로를 결정한다.In one embodiment, the
일실시예로서 계산부(120)는 마일스톤을 중심으로 새롭게 생성된 원의 상관 값을 아래의 수학식 2와 같이 계산할 수 있다.In one embodiment, the
는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 집합이고, Nc는 의 원소의 개수를 의미한다. rs는 상기 마일스톤을 포함하는 기존의 샘플링 원의 반지름이고 rn은 새로운 샘플링 원의 반지름이고 is는 상기 마일스톤을 포함하는 기존의 샘플링 원에 대응하는 상관 값이다. in은 새로운 샘플링 원에 대응하는 상관 값이다. Is a set of conventional sampling sources including the milestones, and N c The number of elements of the element. r s is a radius of a conventional sampling circle including the milestone, r n is a radius of a new sampling circle, and i s is a correlation value corresponding to an existing sampling source including the milestone. i n is the correlation value corresponding to the new sampling source.
상관 값은 샘플링 원의 반지름 크기에 기초하여 결정된다. 반지름이 커서 넓은 샘플링 영역을 갖는 경우에 더 높은 확률로 선택되어 최적 경로 인지 여부를 판단 받는 것을 의미한다.The correlation value is determined based on the radius of the sampling circle. It means that it is judged whether the optimum path is selected by selecting a higher probability when the radius is large and has a wide sampling area.
상관 값은 대응하는 샘플링 영역이 선택될 확률과 연관 있다. 따라서 전체의 상관 값의 합계를 유지하고 각각의 샘플링 원에 대응하는 상관 값을 변경하면 각각의 샘플링 원이 선택될 상대적 확률을 조절할 수 있다. 이러한 이유로 상기 마일스톤을 포함하는 기존의 샘플링 원들에 대응하는 상관 값은 아래의 수학식 3과 같이 조절된다.The correlation value is associated with the probability that a corresponding sampling area is selected. Therefore, by maintaining the sum of all the correlation values and changing the correlation value corresponding to each sampling source, the relative probability that each sampling source is selected can be adjusted. For this reason, the correlation value corresponding to the existing sampling circles including the milestone is adjusted as shown in Equation (3) below.
Nc는 마일스톤을 포함하는 샘플링 원들의 집합 원소의 개수를 의미한다. rs는 상기 마일스톤을 포함하는 기존의 샘플링 원의 반지름이고 rn은 새로운 샘플링 원의 반지름이고 is는 상기 마일스톤을 포함하는 기존의 샘플링 원에 대응하는 상관 값이다. 은 상기 마일스톤을 포함하는 기존의 샘플링 원에 대응하는 상관 값의 변화량이다.N c denotes the number of set elements of sampling circles including milestones. r s is a radius of a conventional sampling circle including the milestone, r n is a radius of a new sampling circle, and i s is a correlation value corresponding to an existing sampling source including the milestone. Is a change amount of a correlation value corresponding to an existing sampling source including the milestone.
수학식 3에서 알 수 있듯이, 의 총합은 in과 동일하게 유지된다. 상관 값의 총합은 동일하고 각각의 샘플링 원들이 선택될 상대적 확률만 변화하는 것이다.
As can be seen from Equation (3) Lt; RTI ID = 0.0 > i n. ≪ / RTI > The sum of the correlation values is the same and only the relative probability that each sampling source is selected will change.
도 2a, 도 2b 및 도 2c는 일실시예에 따른 모션 플래닝 장치의 동작 과정을 설명하기 위한 도면이다.FIGS. 2A, 2B and 2C are views for explaining the operation of the motion planning apparatus according to an embodiment.
도 2a에서 도시된 것처럼 경로(211)은 기존에 계산된 최적 경로이다. 앞서 기재한 것처럼, 일실시예로서 계산부(120)는 샘플링 영역 내에서 최적 경로를 계산할 수 있다. 다만 상기 최적 경로는 현재의 샘플링 영역 내에서 계산한 경로에 해당 된다. 전체 대역에서 최적 경로를 계산하기 위해서는 많은 시간이 요구되기 때문에 샘플링 영역을 설정하고 그 영역 내에서의 최적 경로를 찾는다. As shown in FIG. 2A,
경로(212)는 새로운 최적 경로이다. 앞서 기재한 것처럼, 경로(212)에 대응하는 코스트 값은 경로(211)에 대응하는 코스트 값보다 작을 것이다.
경로(212)에 포함되는 점 또는 노드 중에서 경로(211)에 포함되지 않는 점들의 집합 또는 노드를 마일스톤으로 입력할 수 있다. 일실시예로서 상기 마일스톤 입력 과정은 계산부(120)에 의해서 수행될 수 있다. 도 2a에서 도시된 것처럼 일실시예의 경우는 마일스톤(221)과 마일스톤(222)가 존재한다.A set of points or nodes that are not included in the
도 2b는 복수의 샘플링 원(231, 232, 233, 234, 235, 236)을 포함하는 샘플링 영역을 도시한다. 마일스톤(221, 222)을 검출한 이후에 기존에 존재하는 샘플링 원 중에서 마일스톤(221, 222)을 전부 또는 일부 포함하는 샘플링 원을 검출할 수 있다. 도 2a에 도시된 일실시예의 경우에는 샘플링 원(231)이 마일스톤(221)을 포함하고, 샘플링 원(232, 233, 234, 235)은 마일스톤(222)를 포함한다. 반면에 샘플링 원(236)은 어떠한 마일스톤도 포함하지 않는다.FIG. 2B shows a sampling area including a plurality of
도 2c는 마일스톤(221, 222)를 중심으로 하는 새롭게 생성된 샘플링 원(241, 242)를 도시한다. 일실시예로서 새롭게 생성된 샘플링 원(241, 242)의 반지름의 크기는 수학식 1을 이용하여 결정될 수 있다. 일실시예로서 새롭게 생성된 샘플링 원(241, 242) 및 기존에 존재하는 샘플링 원(231, 232, 233, 234, 235, 236)들의 상관 값이 결정될 수 있다. 상관 값 결정은 위에 기재된 수학식 2, 3에 따라 결정될 수 있다. 상관 값은 샘플링 원이 선택되어 최적 경로 존재 여부가 판단될 확률에 대응된다. 샘플링 원들이 많이 교차하는 영역일수록 높은 선택 확률로 최적 경로 존재 여부가 판단될 것을 알 수 있다.
2C shows the newly generated
도 3은 일실시예에 따른 샘플링 영역 생성기를 도시한다.3 illustrates a sampling area generator according to one embodiment.
샘플링 영역 생성기(300)는 생성부(310) 및 계산부(320)를 계산한다. 생성부(310)는 전체 경로 내에 존재하는 장애물의 위치 정보에 기초하여 GVG(Generalized Voronoi Graph)를 생성한다. 특정 장애물을 기준으로 가장 가까운 점들을 모은 집합인 보로노이 다이어그램(Voronoi Diagram)을 획득하고, 상기 보로노이 다이어그램의 경계선을 GVG로 생성한다. GVG는 장애물 각각에서부터 균등하게 멀게 통과할 수 있는 기준 선이 되는 것이다.The
계산부(320)는 상기 GVG 상의 제1 위치를 중심으로 하고 상기 장애물까지의 최단 거리를 반지름으로 하는 제1 샘플링 원을 계산하고 샘플링 영역에 추가할 수 있다. 계산부(320)는 저장된 초기 위치를 기초로 상기 제1 위치를 결정할 수 있다. 계산부(320)는 상기 GVG 상의 제2 위치를 중심으로 하고 상기 장애물까지 거리를 반지름으로 하는 복수의 원을 생성하고 상기 복수의 원 중에서 상기 제1 샘플링 원과 교차하고 상기 제1 샘플링 원의 장애물과의 접점을 포함하지 않는 제2 샘플링 원을 계산하고 상기 샘플링 영역에 추가한다.
The
도 4는 일실시예에 따른 샘플링 영역이 생성되는 과정을 설명하는 도면이다.4 is a diagram illustrating a process of generating a sampling region according to an exemplary embodiment.
일실시예에 따르면 전체 경로에는 복수의 장애물(411, 412, 413, 414)이 존재한다. 생성부(310)는 상기 복수의 장애물(411, 412, 413, 414) 중에 각각의 장애물에 가장 가까운 점들의 집합인 보로노이 다이어그램을 생성한다. 보로노이 다이어그램의 경계선에 해당하는 GVG(421)가 도시된다. 생성부(310)는 보로노이 다이어그램에 기초하여 GVG(421)를 생성한다. GVG(421) 위에 존재하는 점들은 생성될 샘플링 원의 중심이 될 수 있다. According to one embodiment, a plurality of
일실시예에 따라 초기 위치(431)가 도시된다. 일실시예로서 초기 위치(431)는 무인 주행 로봇의 초기 위치일 수 있다. 계산부(320)는 초기 위치(431)로부터 장애물(411, 412, 413, 414) 중에 임의의 어느 하나 장애물에 직선을 생성한다. 도 4에서 도시된 것처럼 직선(432)이 생성된다. 직선(432)과 GVG(421)가 만나는 교점(433)은 제1 위치(433)가 된다. 계산부(320) 제1 위치(433)를 중심으로 하고 첫 번째 샘플링 원(441)이 생성한다. 계산부(320)는 상기 첫 번째 샘플링 원(441)을 샘플링 영역에 추가할 것이다. 더하여 제1 위치(433)에서 가장 가까운 장애물(414)까지의 최단 거리(442)는 첫 번째 샘플링 원(441)의 반지름(442)이 된다.
An
도 5a 및 5b는 일실시예에 따른 샘플링 영역이 확장되는 과정을 설명하는 도면이다.5A and 5B are diagrams illustrating a process of expanding a sampling area according to an embodiment.
도 5a에서 도시된 것처럼, 계산부(320)는 첫 번째 샘플링 원에 해당하는 제1 샘플링 원(511)을 생성하고 샘플링 영역 후보인 복수의 샘플링 원(512, 513)을 생성한다. 계산부(320)는 샘플링 영역 후보 중에서 샘플링 영역으로 추가할 샘플링 원을 계산한다.As shown in FIG. 5A, the
계산부(320)는 복수의 샘플링 영역 후보 중에서 샘플링 영역과 교차점이 존재하는 지 여부를 계산한다. 계산부(320)는 교차점이 존재하지 않는 샘플링 원(513)을 샘플링 영역 후보에서 제거할 수 있다. 계산부는 교차점 또는 복수의 교차점을 포함하는 교차영역(520)을 포함하는 샘플링 원(512)을 샘플링 영역 후보에 존재하도록 한다.The
계산부(320)는 샘플링 영역 후보에 존재하는 샘플링 원(512)과 장애물(540)과의 접점(530)이 기존에 존재하는 샘플링 원(511) 또는 샘플링 영역 내부에 존재하는지 여부를 판단한다. 접점이 기존에 존재하는 샘플링 원(511) 또는 샘플링 영역 내부에 존재하는 샘플링 원은 상기 샘플링 영역 후보에서 제거될 것이다. The
도 5a에서 도시된 일실시예에 따르면 샘플링 원(512)은 장애물과의 접점(530)이 기존 샘플링 영역 내부에 존재하지 않고 반면 기존의 샘플링 영역과 교차점 또는 교차영역(520)이 존재한다. 따라서 계산부(320)는 새롭게 샘플링 된 원(512)를 샘플링 영역에 추가한다. 샘플링 영역은 복수의 샘플링 원(511, 512)를 포함하게 될 것이다.According to one embodiment shown in FIG. 5A, the
도 5b는 위에서 설명한 샘플링 영역을 확장한 결과를 도시하는 그래프이다. 앞서 추가된 샘플링 원(512)과 같은 과정에 따라 적어도 하나의 샘플링 원이 새롭게 추가될 수 있을 것이다. 일실시예로서 계산부(320)는 더 이상 추가할 샘플링 원이 존재하지 않는 경우에 샘플링 영역 확장을 중지할 수 있다. 도 5에 도시된 것처럼 전체 샘플링 영역(550)이 생성될 수 있다.
FIG. 5B is a graph showing the result of extending the sampling area described above. At least one sampling source may be newly added according to the same procedure as the
도 6은 일실시예에 따른 모션 플래닝 방법을 도시하는 블록도이다.6 is a block diagram illustrating a motion planning method in accordance with one embodiment.
단계(610)은 복수의 샘플링 원을 포함하는 샘플링 영역 내에서 새로운 최적 경로를 업데이트 하는 단계이다. 일실시예로서 단계(610)은 상기 샘플링 영역 내의 출발점에서 목표점까지 임의의 경로에 대응하는 코스트 값이 상기 이전 최적 경로에 대응하는 코스트 값보다 작은 경우에 상기 임의의 경로를 상기 새로운 최적 경로로 업데이트하는 것일 수 있다. 코스트 함수의 출력 값인 코스트 값은 코스트 함수의 정의에 따라 다양한 값을 나타낼 수 있다. 일실시예로서 코스트 값은 거리, 도달 시간 또는 도달 비용이 될 수 있다.Step 610 is a step of updating the new optimal path in the sampling area including the plurality of sampling sources. As an embodiment, step 610 may be such that if the cost value corresponding to any path from the starting point to the target point in the sampling area is smaller than the cost value corresponding to the previous optimal path, updating the arbitrary path to the new optimal path . The cost value which is the output value of the cost function can represent various values according to the definition of the cost function. In one embodiment, the cost value may be distance, time of arrival, or arrival cost.
단계(620)은 새로운 최적 경로 내에 포함되는 점 중에서 이전 최적 경로에 포함되지 않는 점의 집합을 마일스톤으로 입력하는 단계이다. 상기 마일스톤은 새롭게 추가될 샘플링 원들의 중심이 될 수 있다.Step 620 is a step of inputting a set of points that are not included in the previous optimal path among the points included in the new optimal path as milestones. The milestone may be the center of the sampling sources to be newly added.
단계(630)은 상기 마일스톤을 중심으로 하는 원을 상기 샘플링 영역에 추가하는 단계이다. 새롭게 생성된 샘플링 원들의 반지름은 상기 마일스톤을 포함하는 샘플링 원들의 반지름에 기초하여 계산될 수 있다. 보다 구체적으로 상기 마일스톤을 중심으로 새롭게 생성된 샘플링 원들의 반지름의 크기는 수학식 1을 이용하여 결정될 수 있다.Step 630 is to add a circle around the milestone to the sampling area. The radius of the newly created sampling circles may be calculated based on the radius of the sampling circles including the milestone. More specifically, the magnitude of the radius of the sampling circles newly generated around the milestone can be determined using Equation (1).
일실시예로서 본 발명의 모션 플래닝 방법은 복수의 샘플링 원 각각에 대응하는 상관 값을 부여하는 단계를 더 포함할 수 있다. 상관 값을 부여하는 단계는 상기 복수의 샘플링 원 중에서 다른 샘플링 원과 교차하는 영역을 많이 포함하는 상기 샘플링 원에 높은 상관 값을 부여할 수 있다. 이 경우에 단계(610)은 상기 복수의 샘플링 원에 포함되는 임의의 경로 중에서 높은 상기 상관 값을 가지는 샘플링 원에 포함되는 경로를 높은 확률로 선택하고 계산할 수 있다.In one embodiment, the motion planning method of the present invention may further include the step of assigning a correlation value corresponding to each of the plurality of sampling sources. The step of assigning a correlation value may assign a high correlation value to the sampling source that includes a large number of regions intersecting other sampling sources among the plurality of sampling sources. In this case, step 610 may select and calculate a path included in the sampling source having the correlation value higher than any of the paths included in the plurality of sampling sources with a high probability.
본 발명이 제안하는 모션 플래닝 방법은 국소 탐색을 기반으로 전역 탐색의 결과를 획득하기 위한 방법이다. 따라서 샘플링 영역을 추가하는 단계(630)가 수행된 이후에 모션 플래닝 방법은 종료되지 않고 새롭게 추가된 영역이 존재하는지 여부를 확인한다. 새롭게 추가된 샘플링 영역이 존재하는 경우에 아직 전역 탐색에 도달하지 못했다는 것이므로 다시 새로운 최적 경로를 업데이트 하는 단계(610)를 수행한다. 하지만 새롭게 추가된 영역이 없으면, 현재까지 발견한 최적 경로가 전역 탐색의 최적 경로가 되기 때문에 모션 플래닝 방법은 종료된다.
The motion planning method proposed by the present invention is a method for obtaining the result of the global search based on the local search. Therefore, after the
도 7은 다른 일실시예에 따른 모션 플래닝 방법을 도시하는 블록도이다.7 is a block diagram illustrating a motion planning method according to another embodiment.
단계(710)은 GVG를 생성하는 단계이다. 일실시예로서 GVG는 전체 영역에 존재하는 장애물의 위치 정보에 기초하여 생성될 수 있다. 보로노이 그래프는 각각의 장애물로부터 가장 가까운 점의 집합을 도시한다. 상기 점들의 집합을 분할하고 있는 경계선이 GVG에 해당된다. 예시적으로 GVG는 로봇이 모든 장애물로부터 가장 멀리 떨어져 주행할 수 있는 경로에 해당될 수 있다.Step 710 is the step of generating the GVG. In one embodiment, the GVG may be generated based on positional information of an obstacle existing in the entire area. The Voronoi graph shows the set of closest points from each obstacle. The boundary dividing the set of points corresponds to the GVG. By way of example, the GVG may correspond to a path that the robot can travel most distant from all obstacles.
단계(720)은 샘플링 영역을 생성하는 단계이다. 단계(720)은 로봇 또는 오브젝트의 초기 위치에 기초하여 제1 위치를 결정한다. 단계(720)에서 초기 위치와 복수의 장애물 중 어느 하나를 연결하는 직선이 생성된다. 이 경우에, 상기 직선과 상기 GVG의 교점이 제1 위치로 결정된다. 제1 위치는 첫 번째로 생성되는 샘플링 원의 중심이 될 수 있다. 상기 제1 위치로부터 복수의 장애물 중 가장 가까운 장애물까지의 최단 거리는 첫 번째로 생성되는 샘플링 원의 반지름이 될 수 있다.Step 720 is a step of creating a sampling area. Step 720 determines the first position based on the initial position of the robot or object. In
다른 실시예로서, 단계(720)은 샘플링 영역을 확장할 수 있다. 단계(720)에서 GVG 상의 임의의 점, 제2 위치를 중심으로 복수의 장애물 중 어느 하나 까지의 거리를 반지름으로 하는 복수의 원이 생성된다. 상기 복수의 원은 샘플링 영역으로 추가될 후보로서 샘플링 영역 후보가 될 것이다. 복수의 샘플링 영역 후보 중에서 상기 샘플링 영역과 교차하고 상기 샘플링 영역에 포함되지 않는 상기 장애물과의 접점을 포함하는 원이 샘플링 영역에 추가될 수 있다.As another example, step 720 may extend the sampling area. In
단계(730)은 샘플링 영역 내에서 출밤점에서 목표점까지의 최소의 코스트 값을 나타내는 경로를 계산한다. 단계(720)에 따라 현재까지 확장된 샘플링 영역 내에서의 국소 해답(Local Solution)에 대응하는 최적 경로를 검출하는 단계이다.
Step 730 calculates a path representing the minimum cost value from the nightfall to the target point within the sampling area. The optimal path corresponding to the local solution in the extended sampling area to the present is detected in
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented in hardware components, software components, and / or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (16)
상기 샘플링 영역 내에서 새로운 최적 경로를 계산하고 상기 새로운 최적 경로에 포함되는 노드 중에서 이전 최적 경로에 포함되지 않는 상기 노드를 마일스톤으로 지정하는 계산부
를 포함하고,
상기 샘플링부는 상기 마일스톤을 중심으로 하는 새로운 샘플링 원을 상기 샘플링 영역에 추가하고 상기 계산부는 상기 샘플링 영역에서 상기 새로운 최적 경로를 다시 계산하는
모션 플래닝 장치.A sampling unit for generating a sampling area including a plurality of sampling sources; And
Calculating a new optimal path in the sampling area and designating the node not included in the previous optimal path as a milestone among the nodes included in the new optimal path;
Lt; / RTI >
Wherein the sampling unit adds a new sampling circle centered at the milestone to the sampling area and the calculation unit recalculates the new optimal path in the sampling area
Motion planning device.
상기 계산부는 상기 샘플링 영역 내에 존재하는 경로 중에서 장애물과의 충돌 없이 출발점에서 목표점까지를 최단 거리로 주행하는 경로를 상기 새로운 최적 경로로 계산하는
모션 플래닝 장치.The method according to claim 1,
The calculation unit calculates a path that travels from the starting point to the target point at the shortest distance among the paths existing in the sampling area without collision with the obstacle as the new optimal path
Motion planning device.
상기 샘플링부는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 반지름을 기초로 하여 상기 새로운 샘플링 원의 반지름을 설정하는
모션 플래닝 장치.The method according to claim 1,
The sampling unit sets the radius of the new sampling circle based on the radius of the existing sampling sources including the milestone
Motion planning device.
상기 계산부는 상기 샘플링 영역 내의 출발점에서 목표점까지 임의의 경로 중에서 상기 임의의 경로에 대응하는 코스트 값이 상기 이전 최적 경로에 대응하는 코스트 값보다 작은 경우에 상기 임의의 경로를 상기 새로운 최적 경로로 계산하는
모션 플래닝 장치.The method according to claim 1,
The calculation unit calculates the arbitrary path as the new optimal path when the cost value corresponding to the arbitrary path from any of the starting point to the target point in the sampling area is smaller than the cost value corresponding to the previous optimum path
Motion planning device.
상기 계산부는 상기 복수의 샘플링 원들이 교차하는 영역 내의 경로를 그 이외의 경로보다 높은 확률로 선택하고 최적 경로를 계산하는
모션 플래닝 장치.The method according to claim 1,
The calculation unit selects a path in an area where the plurality of sampling sources intersect with a higher probability than other paths and calculates an optimal path
Motion planning device.
상기 새로운 최적의 경로 내에 포함되는 점 중에서 이전 최적 경로에 포함되지 않는 점의 집합을 마일스톤으로 지정하는 단계; 및
상기 마일스톤을 중심으로 하는 원을 상기 샘플링 영역에 추가하는 단계
를 포함하는 모션 플래닝 방법.Updating a new optimal path in a sampling area including a plurality of sampling sources;
Designating as a milestone a set of points not included in the previous optimal path among the points included in the new optimal path; And
Adding a circle centered on the milestone to the sampling area
/ RTI >
상기 새로운 최적 경로를 업데이트 하는 단계는 상기 샘플링 영역 내의 출발점에서 목표점까지 임의의 경로에 대응하는 코스트 값이 상기 이전 최적 경로에 대응하는 코스트 값보다 작은 경우에 상기 임의의 경로를 상기 새로운 최적 경로로 업데이트하는
모션 플래닝 방법.10. The method of claim 9,
Wherein updating the new optimal path includes updating the arbitrary path to the new optimal path when a cost value corresponding to an arbitrary path from a starting point to a target point in the sampling area is smaller than a cost value corresponding to the previous optimal path. doing
Motion planning method.
상기 복수의 샘플링 원 각각에 대응하는 상관 값을 부여하는 단계
를 더 포함하고
상기 새로운 최적 경로를 업데이트 하는 단계는 상기 복수의 샘플링 원에 포함되는 임의의 경로 중에서 높은 상기 상관 값을 가지는 샘플링 원에 포함되는 경로를 높은 확률로 선택하고 계산하는
모션 플래닝 방법.10. The method of claim 9,
Applying a correlation value corresponding to each of the plurality of sampling sources
Lt; / RTI >
The step of updating the new optimal path selects and calculates a path included in the sampling source having the correlation value higher than any of the paths included in the plurality of sampling sources with a high probability
Motion planning method.
상기 상관 값을 부여하는 단계는 상기 복수의 샘플링 원 중에서 다른 샘플링 원과 교차하는 영역을 많이 포함하는 상기 샘플링 원에 높은 상기 상관 값이 부여되는
모션 플래닝 방법.12. The method of claim 11,
Wherein the step of assigning the correlation value is a step of assigning the correlation value to the sampling source that includes a large number of regions intersecting other sampling sources among the plurality of sampling sources
Motion planning method.
복수의 샘플링 원을 포함하는 샘플링 영역 내에서 새로운 최적 경로를 업데이트 하는 명령어 세트;
상기 새로운 최적의 경로 내에 포함되는 점 중에서 이전 최적 경로에 포함되지 않는 점의 집합을 마일스톤으로 지정하는 명령어 세트; 및
상기 마일스톤을 중심으로 하는 원을 상기 샘플링 영역에 추가하는 명령어 세트
를 포함하는 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium containing a program for executing a motion planning method, the program comprising:
A set of instructions for updating a new optimal path within a sampling region comprising a plurality of sampling sources;
A set of instructions for designating a set of points not included in the previous optimal path among the points included in the new optimal path as a milestone; And
Adding a circle centered on the milestone to the sampling region;
Readable recording medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150007979A KR101688302B1 (en) | 2015-01-16 | 2015-01-16 | Motion planning apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150007979A KR101688302B1 (en) | 2015-01-16 | 2015-01-16 | Motion planning apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160088638A KR20160088638A (en) | 2016-07-26 |
KR101688302B1 true KR101688302B1 (en) | 2016-12-20 |
Family
ID=56680854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150007979A KR101688302B1 (en) | 2015-01-16 | 2015-01-16 | Motion planning apparatus and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101688302B1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2577915B (en) | 2018-10-10 | 2021-06-16 | Dyson Technology Ltd | Path planning |
CN113075921B (en) * | 2019-12-17 | 2024-02-09 | 北京京东尚科信息技术有限公司 | Local path planning method and device for unmanned equipment |
CN113654556B (en) * | 2021-07-05 | 2024-08-13 | 的卢技术有限公司 | Local path planning method, medium and device based on improved EM algorithm |
CN113467456B (en) * | 2021-07-07 | 2023-10-27 | 中国科学院合肥物质科学研究院 | Path planning method for specific target search under unknown environment |
US20240092357A1 (en) * | 2022-08-31 | 2024-03-21 | Zoox, Inc. | Trajectory optimization in multi-agent environments |
CN115454068A (en) * | 2022-09-13 | 2022-12-09 | 浙江大学 | Sampling-based path planning method considering obstacle information |
CN116424315B (en) * | 2023-03-31 | 2024-10-15 | 阿波罗智联(北京)科技有限公司 | Collision detection method, collision detection device, electronic equipment, automatic driving vehicle and medium |
CN118329066B (en) * | 2024-06-13 | 2024-09-10 | 浙江大学 | Unmanned cleaning vehicle behavior planning method for structured pavement |
-
2015
- 2015-01-16 KR KR1020150007979A patent/KR101688302B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
동영상(2013.10.15.) Cloud RRT*: Sampling Cloud based RRT** |
Also Published As
Publication number | Publication date |
---|---|
KR20160088638A (en) | 2016-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101688302B1 (en) | Motion planning apparatus and method | |
KR102049962B1 (en) | Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same | |
JP4577248B2 (en) | Route search system, route search method and route search program for moving body | |
KR101203897B1 (en) | Apparatus and method of cell-based path planning for a mobile body | |
KR102009482B1 (en) | Apparatus and method for planning path of robot, and the recording media storing the program for performing the said method | |
US11922574B2 (en) | Method and device for determining plurality of layers of bounding boxes, collision detection method and device, and motion control method and device | |
CN107436148A (en) | A kind of robot navigation method and device based on more maps | |
WO2017144350A1 (en) | Method for motion planning for autonomous moving objects | |
KR101990878B1 (en) | Online bidirectional trajectory planning method in state-time space and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same | |
US9869559B2 (en) | Method and system for obtaining trajectory pattern of route | |
US9778052B2 (en) | Routing with data version stitching | |
JP2009053849A (en) | Path search system, path search method, and autonomous traveling body | |
Kim et al. | Path planning for a tethered robot using Multi-Heuristic A* with topology-based heuristics | |
KR20180092960A (en) | High-speed search randomization Feedback-based motion planning | |
JP2021076605A (en) | Method and system for tracking trajectory based on visual localization and odometry | |
KR102265622B1 (en) | Method, computer readable storage medium and system for calculating shortest path | |
JP7160110B2 (en) | Route planning device, route planning method, and program | |
JPWO2020157990A1 (en) | Route planning device, route planning method, and program | |
CN113885531B (en) | Method for mobile robot, circuit, medium, and program | |
Lavrenov | Smart spline-based robot navigation on several homotopies: Guaranteed avoidance of potential function local minima | |
US20230273621A1 (en) | Information processing apparatus, information processing method, and program | |
CN110749325A (en) | Flight path planning method and device | |
JP2024024555A (en) | Collision condition providing device, method, program, and path generation device | |
US20230280164A1 (en) | Information processing device, information processing method, and program | |
Pereira et al. | Multi-robot planning for perception of multiple regions of interest |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20191126 Year of fee payment: 4 |