KR101688302B1 - Motion planning apparatus and method - Google Patents

Motion planning apparatus and method Download PDF

Info

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
Application number
KR1020150007979A
Other languages
Korean (ko)
Other versions
KR20160088638A (en
Inventor
윤성의
김동혁
이정환
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020150007979A priority Critical patent/KR101688302B1/en
Publication of KR20160088638A publication Critical patent/KR20160088638A/en
Application granted granted Critical
Publication of KR101688302B1 publication Critical patent/KR101688302B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control 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

모션 플래닝 장치 및 방법{MOTION PLANNING APPARATUS AND METHOD}[0001] MOTION PLANNING APPARATUS AND METHOD [0002]

로봇의 모션 플래닝 분야에 연관되며, 보다 구체적으로는 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 motion planning apparatus 100 includes a sampling unit 110 for generating a sampling area and a calculation unit 120 for inputting a milestone. According to one embodiment, the sampling region may comprise a plurality of sampling sources. In one embodiment, the sampling region is a region designated to search for an optimal path in the entire spatial region.

샘플링부(110)는 아래 기술할 것처럼 계산부(120)가 입력한 마일스톤을 중심으로 새로운 샘플링 영역을 추가한다. 일실시예로서 샘플링부(110)는 마일스톤을 원의 중심으로 하는 샘플링 원을 새로운 샘플링 영역으로 추가할 수 있다. 샘플링부(110)는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 반지름을 기초로 하여 새로운 샘플링 원의 반지름을 설정할 수 있다. 일실시예로서 샘플링부(110)는 아래 기재된 수학식 1을 기초로 하여 새로운 샘플링 원의 반지름을 설정할 수 있다.The sampling unit 110 adds a new sampling area around the milestone inputted by the calculation unit 120 as will be described below. In one embodiment, the sampling unit 110 may add a sampling circle having a milestone as a center of a circle as a new sampling region. The sampling unit 110 may set the radius of the new sampling circle based on the radius of the existing sampling sources including the milestone. In one embodiment, the sampling unit 110 may set the radius of a new sampling circle based on Equation (1) described below.

Figure 112015004744605-pat00001
Figure 112015004744605-pat00001

Figure 112015004744605-pat00002
는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 집합이고, Nc
Figure 112015004744605-pat00003
의 원소의 개수를 의미한다. rs는 상기 마일스톤을 포함하는 기존의 샘플링 원의 반지름이고 rn은 새로운 샘플링 원의 반지름이다. k는 0 이상 1이하 범위에서 존재하는 비례상수로서 사용자에 의해 정의되는 값이다. 사용자는 비례상수 k값의 조절을 통하여 새롭게 생성될 샘플링 원의 반지름을 조절할 수 있다.
Figure 112015004744605-pat00002
Is a set of conventional sampling sources including the milestones, and N c
Figure 112015004744605-pat00003
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 calculation unit 120 calculates a new optimal path in the sampling area generated by the sampling unit 110 and inputs the node not included in the previous optimal path among the nodes included in the new optimal path as a milestone. In one embodiment, the calculation unit 120 may calculate a path that travels at the shortest distance without collision with an obstacle among the paths from the starting point to the target point in the sampling area as the new optimal path.

다른 일실시예로서 계산부(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 calculation unit 120 may calculate a correlation value corresponding to each of the plurality of sampling sources. The correlation value is related to the probability of being selected among the paths existing in the sampling area. The calculation unit 120 compares the selected path with the existing optimal path and determines a new optimal path as described above.

일실시예로서 계산부(120)는 마일스톤을 중심으로 새롭게 생성된 원의 상관 값을 아래의 수학식 2와 같이 계산할 수 있다.In one embodiment, the calculation unit 120 may calculate a circle correlation value newly generated around the milestone as Equation (2) below.

Figure 112015004744605-pat00004
Figure 112015004744605-pat00004

Figure 112015004744605-pat00005
는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 집합이고, Nc
Figure 112015004744605-pat00006
의 원소의 개수를 의미한다. rs는 상기 마일스톤을 포함하는 기존의 샘플링 원의 반지름이고 rn은 새로운 샘플링 원의 반지름이고 is는 상기 마일스톤을 포함하는 기존의 샘플링 원에 대응하는 상관 값이다. in은 새로운 샘플링 원에 대응하는 상관 값이다.
Figure 112015004744605-pat00005
Is a set of conventional sampling sources including the milestones, and N c
Figure 112015004744605-pat00006
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.

Figure 112015004744605-pat00007
Figure 112015004744605-pat00007

Nc는 마일스톤을 포함하는 샘플링 원들의 집합 원소의 개수를 의미한다. rs는 상기 마일스톤을 포함하는 기존의 샘플링 원의 반지름이고 rn은 새로운 샘플링 원의 반지름이고 is는 상기 마일스톤을 포함하는 기존의 샘플링 원에 대응하는 상관 값이다.

Figure 112015004744605-pat00008
은 상기 마일스톤을 포함하는 기존의 샘플링 원에 대응하는 상관 값의 변화량이다.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.
Figure 112015004744605-pat00008
Is a change amount of a correlation value corresponding to an existing sampling source including the milestone.

수학식 3에서 알 수 있듯이,

Figure 112015004744605-pat00009
의 총합은 in과 동일하게 유지된다. 상관 값의 총합은 동일하고 각각의 샘플링 원들이 선택될 상대적 확률만 변화하는 것이다.
As can be seen from Equation (3)
Figure 112015004744605-pat00009
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, path 211 is an already calculated optimal path. As described above, in one embodiment, the calculation unit 120 may calculate an optimal path in the sampling region. However, the optimal path corresponds to the path calculated in the current sampling area. Since it takes a lot of time to calculate the optimal path in the whole band, we set the sampling area and find the optimal path in that area.

경로(212)는 새로운 최적 경로이다. 앞서 기재한 것처럼, 경로(212)에 대응하는 코스트 값은 경로(211)에 대응하는 코스트 값보다 작을 것이다.Path 212 is the new optimal path. As previously described, the cost value corresponding to path 212 will be less than the cost value corresponding to path 211.

경로(212)에 포함되는 점 또는 노드 중에서 경로(211)에 포함되지 않는 점들의 집합 또는 노드를 마일스톤으로 입력할 수 있다. 일실시예로서 상기 마일스톤 입력 과정은 계산부(120)에 의해서 수행될 수 있다. 도 2a에서 도시된 것처럼 일실시예의 경우는 마일스톤(221)과 마일스톤(222)가 존재한다.A set of points or nodes that are not included in the path 211 among the points or nodes included in the path 212 may be input as a milestone. In one embodiment, the process of inputting the milestone may be performed by the calculation unit 120. As shown in FIG. 2A, in the case of the embodiment, the milestone 221 and the milestone 222 exist.

도 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 sampling circles 231, 232, 233, 234, 235, 236. After detecting the milestones 221 and 222, it is possible to detect a sampling source including all or part of the milestones 221 and 222 among the existing sampling sources. 2A, the sampling source 231 includes milestones 221 and the sampling sources 232, 233, 234, and 235 include milestones 222. In the embodiment shown in FIG. Sampling circle 236, on the other hand, does not include any milestones.

도 2c는 마일스톤(221, 222)를 중심으로 하는 새롭게 생성된 샘플링 원(241, 242)를 도시한다. 일실시예로서 새롭게 생성된 샘플링 원(241, 242)의 반지름의 크기는 수학식 1을 이용하여 결정될 수 있다. 일실시예로서 새롭게 생성된 샘플링 원(241, 242) 및 기존에 존재하는 샘플링 원(231, 232, 233, 234, 235, 236)들의 상관 값이 결정될 수 있다. 상관 값 결정은 위에 기재된 수학식 2, 3에 따라 결정될 수 있다. 상관 값은 샘플링 원이 선택되어 최적 경로 존재 여부가 판단될 확률에 대응된다. 샘플링 원들이 많이 교차하는 영역일수록 높은 선택 확률로 최적 경로 존재 여부가 판단될 것을 알 수 있다.
2C shows the newly generated sampling sources 241 and 242 centered on the milestones 221 and 222. In FIG. In one embodiment, the magnitude of the radius of the newly created sampling source 241, 242 may be determined using Equation (1). In one embodiment, the correlation values of the newly generated sampling sources 241 and 242 and the existing sampling sources 231, 232, 233, 234, 235, and 236 can be determined. The correlation value determination can be determined according to Equations 2 and 3 described above. The correlation value corresponds to the probability that the sampling source is selected to determine whether an optimal path exists or not. It can be seen that the existence of the optimal path is determined with a high selection probability as the sampling circle intersects a lot.

도 3은 일실시예에 따른 샘플링 영역 생성기를 도시한다.3 illustrates a sampling area generator according to one embodiment.

샘플링 영역 생성기(300)는 생성부(310) 및 계산부(320)를 계산한다. 생성부(310)는 전체 경로 내에 존재하는 장애물의 위치 정보에 기초하여 GVG(Generalized Voronoi Graph)를 생성한다. 특정 장애물을 기준으로 가장 가까운 점들을 모은 집합인 보로노이 다이어그램(Voronoi Diagram)을 획득하고, 상기 보로노이 다이어그램의 경계선을 GVG로 생성한다. GVG는 장애물 각각에서부터 균등하게 멀게 통과할 수 있는 기준 선이 되는 것이다.The sampling area generator 300 calculates the generation unit 310 and the calculation unit 320. The generator 310 generates a GVG (Generalized Voronoi Graph) based on the position information of the obstacles existing in the entire path. Obtain a Voronoi diagram, which is a set of closest points based on a specific obstacle, and generate the Voronoi diagram boundary line as a GVG. The GVG is a reference line that can travel equally far from each obstacle.

계산부(320)는 상기 GVG 상의 제1 위치를 중심으로 하고 상기 장애물까지의 최단 거리를 반지름으로 하는 제1 샘플링 원을 계산하고 샘플링 영역에 추가할 수 있다. 계산부(320)는 저장된 초기 위치를 기초로 상기 제1 위치를 결정할 수 있다. 계산부(320)는 상기 GVG 상의 제2 위치를 중심으로 하고 상기 장애물까지 거리를 반지름으로 하는 복수의 원을 생성하고 상기 복수의 원 중에서 상기 제1 샘플링 원과 교차하고 상기 제1 샘플링 원의 장애물과의 접점을 포함하지 않는 제2 샘플링 원을 계산하고 상기 샘플링 영역에 추가한다.
The calculation unit 320 may calculate and add a first sampling source having a radius of the shortest distance to the obstacle around the first position on the GVG and to the sampling region. The calculation unit 320 may determine the first position based on the stored initial position. The calculation unit 320 generates a plurality of circles having a radius to the obstacle with the second position on the GVG as a center, intersects the first sampling circle among the plurality of circles, And adds the second sampling source to the sampling region.

도 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 obstacles 411, 412, 413, and 414 exist in the entire path. The generation unit 310 generates a Voronoi diagram that is a set of points closest to each obstacle among the plurality of obstacles 411, 412, 413, and 414. [ The GVG 421 corresponding to the boundary line of the Voronoi diagram is shown. The generation unit 310 generates the GVG 421 based on the Voronoi diagram. Points existing on the GVG 421 may be the center of the sampling circle to be generated.

일실시예에 따라 초기 위치(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 initial position 431 is shown in accordance with one embodiment. As an example, the initial position 431 may be an initial position of the unmanned traveling robot. The calculation unit 320 generates a straight line to any one of the obstacles 411, 412, 413, and 414 from the initial position 431. A straight line 432 is generated as shown in Fig. The intersection 433 where the straight line 432 and the GVG 421 meet becomes the first position 433. The first sampling source 441 generates the first position 433 of the calculation unit 320 as a center. The calculation unit 320 may add the first sampling source 441 to the sampling region. In addition, the shortest distance 442 from the first position 433 to the nearest obstacle 414 is the radius 442 of the first sampling source 441.

도 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 calculation unit 320 generates a first sampling source 511 corresponding to a first sampling source, and generates a plurality of sampling sources 512 and 513, which are sampling region candidates. The calculation unit 320 calculates a sampling source to be added to the sampling region among the sampling region candidates.

계산부(320)는 복수의 샘플링 영역 후보 중에서 샘플링 영역과 교차점이 존재하는 지 여부를 계산한다. 계산부(320)는 교차점이 존재하지 않는 샘플링 원(513)을 샘플링 영역 후보에서 제거할 수 있다. 계산부는 교차점 또는 복수의 교차점을 포함하는 교차영역(520)을 포함하는 샘플링 원(512)을 샘플링 영역 후보에 존재하도록 한다.The calculation unit 320 calculates whether a sampling area and an intersection exist among a plurality of sampling area candidates. The calculation unit 320 can remove the sampling source 513 in which the intersection does not exist from the sampling region candidate. The calculation unit causes the sampling circle 512 including the intersection area 520 including the intersection or the plurality of intersection points to exist in the sampling area candidate.

계산부(320)는 샘플링 영역 후보에 존재하는 샘플링 원(512)과 장애물(540)과의 접점(530)이 기존에 존재하는 샘플링 원(511) 또는 샘플링 영역 내부에 존재하는지 여부를 판단한다. 접점이 기존에 존재하는 샘플링 원(511) 또는 샘플링 영역 내부에 존재하는 샘플링 원은 상기 샘플링 영역 후보에서 제거될 것이다. The calculation unit 320 determines whether the contact point 530 between the sampling circle 512 and the obstacle 540 existing in the sampling region candidate exists in the sampling circle 511 existing in the sampling region 511 or the sampling region. A sampling circle existing in the existing sampling circle 511 or inside the sampling area will be removed from the sampling area candidate.

도 5a에서 도시된 일실시예에 따르면 샘플링 원(512)은 장애물과의 접점(530)이 기존 샘플링 영역 내부에 존재하지 않고 반면 기존의 샘플링 영역과 교차점 또는 교차영역(520)이 존재한다. 따라서 계산부(320)는 새롭게 샘플링 된 원(512)를 샘플링 영역에 추가한다. 샘플링 영역은 복수의 샘플링 원(511, 512)를 포함하게 될 것이다.According to one embodiment shown in FIG. 5A, the sampling circle 512 has the existing sampling region and the intersection point or intersection region 520, while the contact point 530 with the obstacle does not exist within the existing sampling region. Accordingly, the calculation unit 320 adds the newly sampled circle 512 to the sampling area. The sampling area will include a plurality of sampling sources 511, 512.

도 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 sampling source 512 added earlier. In one embodiment, the calculation unit 320 may suspend the sampling region expansion when there is no more sampling source to be added. A full sampling area 550 may be generated as shown in FIG.

도 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 step 630 of adding the sampling area is performed, the motion planning method is not terminated and it is confirmed whether or not a newly added area exists. If there is a newly added sampling area, it means that the global search has not yet been reached yet, so the step of updating the new optimal path is performed (step 610). However, if there is no newly added area, the motion planning method ends because the optimal path thus found is the optimal path for the global search.

도 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 step 720, a straight line connecting any of the initial positions and the plurality of obstacles is created. In this case, the intersection of the straight line and the GVG is determined as the first position. The first position may be the center of the first generated sampling circle. The shortest distance from the first position to the closest obstacle among the plurality of obstacles may be the radius of the first generated sampling circle.

다른 실시예로서, 단계(720)은 샘플링 영역을 확장할 수 있다. 단계(720)에서 GVG 상의 임의의 점, 제2 위치를 중심으로 복수의 장애물 중 어느 하나 까지의 거리를 반지름으로 하는 복수의 원이 생성된다. 상기 복수의 원은 샘플링 영역으로 추가될 후보로서 샘플링 영역 후보가 될 것이다. 복수의 샘플링 영역 후보 중에서 상기 샘플링 영역과 교차하고 상기 샘플링 영역에 포함되지 않는 상기 장애물과의 접점을 포함하는 원이 샘플링 영역에 추가될 수 있다.As another example, step 720 may extend the sampling area. In step 720, a plurality of circles is generated, the radius of which is a distance to any one of the plurality of obstacles about an arbitrary point on the GVG, the second position. The plurality of circles will become sampling region candidates as candidates to be added as sampling regions. A circle that intersects the sampling region among the plurality of sampling region candidates and includes a contact point with the obstacle not included in the sampling region may be added to the sampling region.

단계(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 step 720.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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.
제1항에 있어서,
상기 계산부는 상기 샘플링 영역 내에 존재하는 경로 중에서 장애물과의 충돌 없이 출발점에서 목표점까지를 최단 거리로 주행하는 경로를 상기 새로운 최적 경로로 계산하는
모션 플래닝 장치.
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.
제1항에 있어서,
상기 샘플링부는 상기 마일스톤을 포함하는 기존의 샘플링 원들의 반지름을 기초로 하여 상기 새로운 샘플링 원의 반지름을 설정하는
모션 플래닝 장치.
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.
제1항에 있어서,
상기 계산부는 상기 샘플링 영역 내의 출발점에서 목표점까지 임의의 경로 중에서 상기 임의의 경로에 대응하는 코스트 값이 상기 이전 최적 경로에 대응하는 코스트 값보다 작은 경우에 상기 임의의 경로를 상기 새로운 최적 경로로 계산하는
모션 플래닝 장치.
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.
제1항에 있어서,
상기 계산부는 상기 복수의 샘플링 원들이 교차하는 영역 내의 경로를 그 이외의 경로보다 높은 확률로 선택하고 최적 경로를 계산하는
모션 플래닝 장치.
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.
삭제delete 삭제delete 삭제delete 복수의 샘플링 원을 포함하는 샘플링 영역 내에서 새로운 최적 경로를 업데이트 하는 단계;
상기 새로운 최적의 경로 내에 포함되는 점 중에서 이전 최적 경로에 포함되지 않는 점의 집합을 마일스톤으로 지정하는 단계; 및
상기 마일스톤을 중심으로 하는 원을 상기 샘플링 영역에 추가하는 단계
를 포함하는 모션 플래닝 방법.
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 >
제9항에 있어서,
상기 새로운 최적 경로를 업데이트 하는 단계는 상기 샘플링 영역 내의 출발점에서 목표점까지 임의의 경로에 대응하는 코스트 값이 상기 이전 최적 경로에 대응하는 코스트 값보다 작은 경우에 상기 임의의 경로를 상기 새로운 최적 경로로 업데이트하는
모션 플래닝 방법.
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.
제9항에 있어서,
상기 복수의 샘플링 원 각각에 대응하는 상관 값을 부여하는 단계
를 더 포함하고
상기 새로운 최적 경로를 업데이트 하는 단계는 상기 복수의 샘플링 원에 포함되는 임의의 경로 중에서 높은 상기 상관 값을 가지는 샘플링 원에 포함되는 경로를 높은 확률로 선택하고 계산하는
모션 플래닝 방법.
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.
제11항에 있어서,
상기 상관 값을 부여하는 단계는 상기 복수의 샘플링 원 중에서 다른 샘플링 원과 교차하는 영역을 많이 포함하는 상기 샘플링 원에 높은 상기 상관 값이 부여되는
모션 플래닝 방법.
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.
삭제delete 삭제delete 삭제delete 모션 플래닝 방법을 실행하는 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 프로그램은:
복수의 샘플링 원을 포함하는 샘플링 영역 내에서 새로운 최적 경로를 업데이트 하는 명령어 세트;
상기 새로운 최적의 경로 내에 포함되는 점 중에서 이전 최적 경로에 포함되지 않는 점의 집합을 마일스톤으로 지정하는 명령어 세트; 및
상기 마일스톤을 중심으로 하는 원을 상기 샘플링 영역에 추가하는 명령어 세트
를 포함하는 컴퓨터 판독 가능한 기록매체.
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.
KR1020150007979A 2015-01-16 2015-01-16 Motion planning apparatus and method KR101688302B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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