KR102531197B1 - 무인 비행체의 최적 경로 생성 방법 및 장치 - Google Patents

무인 비행체의 최적 경로 생성 방법 및 장치 Download PDF

Info

Publication number
KR102531197B1
KR102531197B1 KR1020210027847A KR20210027847A KR102531197B1 KR 102531197 B1 KR102531197 B1 KR 102531197B1 KR 1020210027847 A KR1020210027847 A KR 1020210027847A KR 20210027847 A KR20210027847 A KR 20210027847A KR 102531197 B1 KR102531197 B1 KR 102531197B1
Authority
KR
South Korea
Prior art keywords
particles
unmanned aerial
aerial vehicle
path
optimal
Prior art date
Application number
KR1020210027847A
Other languages
English (en)
Other versions
KR20210116248A (ko
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 US17/200,524 priority Critical patent/US20210287556A1/en
Publication of KR20210116248A publication Critical patent/KR20210116248A/ko
Application granted granted Critical
Publication of KR102531197B1 publication Critical patent/KR102531197B1/ko

Links

Images

Classifications

    • 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/0202Control of position or course in two dimensions specially adapted to aircraft
    • 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/04Control of altitude or depth
    • G05D1/042Control of altitude or depth specially adapted for aircraft

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 무인 비행체의 최적 경로 생성 장치 및 방법에 대한 것으로서 입자 군집 최적화를 이용하여 경로점 및 경로점을 잇는 궤적을 함께 고려하는 통합 경로 계획을 특징으로 하는 발명이다. 보다 상세하게는, 본 발명의 무인 비행체를 위한 최적 경로 생성 장치는 지도 내 지형 정보와 무인 비행체의 현재 상태 정보를 수신하는 수신부 및 입자 군집 최적화 알고리즘을 이용하여 N개의 경로점과 상기 경로점을 잇는 궤적을 생성하는 통합 경로 계획을 수립하여 상기 무인 비행체의 최적 경로를 생성하는 프로세서를 포함할 수 있다. 본 발명에 의하면, 무인 비행체의 안전한 자율 비행을 위한 최적 경로를 생성할 수 있다.

Description

무인 비행체의 최적 경로 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING OPTIMAL PATH FOR AN UNMANNED AERIAL VEHICLE}
본 발명은 무인 비행체의 경로 생성 기술에 관한 것으로, 보다 상세하게는, 무인 비행체의 자율 비행에 있어서 장애물이 있는 지형 형태에서 센서를 통해 감지되는 장애물을 피해 최적 경로를 생성하는 무인 비행체의 최적 경로 생성 방법 및 장치에 관한 것이다.
무인 비행체(Unmanned Aerial Vehicle, UAV)란 조종사가 직접 탑승하지 않은 상태에서 비행할 수 있는 기체를 말한다. 무인 비행체는 지상에서 조종사의 원격 조종에 의하거나, 사전에 프로그램된 경로에 따라 자율 또는 반자율적으로 비행할 수 있다. 최근 무인비행체의 자율 비행 기술이 주목을 받고 있다.
도 1은 일반적인 무인 비행체의 자율 비행을 위한 장치의 구성도를 나타낸 도면이며, 도 2는 일반적인 무인 비행체의 자율 비행을 위한 경로 계획을 나타내는 도면이다.
도 1에 나타낸 바와 같이, 일반적인 무인 비행 장치(100)는 경로 계획 모듈(110), 환경 인지 모듈(120) 및 비행 제어 모듈(130)을 구비한다. 이러한 모듈들을 이용하여 무인 비행 장치(100)가 자율 비행을 실행하기 위해서는 통상 주변 환경을 인지하고 비행 경로를 계획하며 비행을 제어해야 한다.
특히 경로 계획 모듈(110)에서 무인 비행체의 비행 경로를 계획하는 경우, 일반적으로 시작점과 목표점 사이에 임의의 N개의 경로점을 결정하는 광역 경로 계획(도 2의 (a) 참조)과, N개의 경로점을 부드러운 궤적으로 잇는 지역 경로 계획(도 2의 (b) 참조)을 수립하는 것이 일반적이다. 또한, 광역 경로 계획을 먼저 수립한 후 지역 경로 계획을 수립하기도 한다.
이 때 최단의 비행 경로를 생성하는데 있어서는, N개의 경로점을 직선으로 연결하는 방법이 가장 최단 거리라고 생각될 수 있으나, 이러한 궤적은 경로점에서 무한한 곡률을 가지기 때문에 실제 구동기 역할을 하는 모터의 한계보다 큰 모터의 명령을 생성하여, 무인 비행체에 과부하를 일으킬 수 있어 바람직하지 못하다.
한편, 도 3은 N개의 경로점을 기반으로 부드러운 궤적을 생성할 때, 즉 지역 경로 계획 시 나타날 수 있는 문제점을 나타낸 도면이다. 도 3의 (a) 및 (b)와 같이 N개의 경로점(40)을 부드럽게 잇는 과정에서도 주변 장애물과 새로운 충돌을 일으킬 수 있다는 문제점이 발생할 수 있다.
도 4의 (a) 및 (b)의 경우과 같이 문제점이 발생하는 경우, 도 4의 (c)에 도시한 바와 같이 두 개의 인접한 경로점(40) 사이에 보조 경로점(41)을 추가하는 방안이 제시될 수 있다. 도 4는 두 개의 인접한 경로점(40) 사이에 보조 경로점(41)을 추가할 경우에 바람직한 결과가 도출되는 일 예를 도시한 것이다.
그러나, 이 경우에도 보조 경로점(41)이 항상 안전한 궤적을 보장하는 것은 아니며 경우에 따라 주변 장애물과의 충돌을 방지하고자 궤적을 수정하는데 필요한 보조 경로점의 수가 무한대일 수 있다는 문제점이 있다.
또 다른 발생 가능한 문제점으로는, 도 5에 도시된 바와 같이, 보조 경로점이 추가됨으로 인하여 인접 구간에서 충족되어야 하는 경계 조건(boundary conditions)이 변경될 수 있다. 즉, 도 5에 나타낸 바와 같이 인접한 경로점 구간에서 기존에 생성되었던 궤적의 모양이 변경될 수 있으며, 변경된 궤적에 의하면 심지어 주변 장애물과의 충돌점(20)이 발생할 가능성이 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위해 도출된 것으로, 본 발명의 목적은 주변 장애물 등과의 충돌 없이 안전한 무인 비행체의 경로를 생성하는 무인 비행체의 최적 경로 생성 방법 및 장치를 제공하는 데 있다.
본 발명의 다른 목적은 보조 경로점을 추가하지 않고 무인 비행체의 최적 경로를 생성할 수 있는 장치 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 경로점과 경로점을 잇는 부드러운 궤적을 함께 고려하는 통합 경로 계획을 기반으로 무인 비행체의 최적 경로를 생성할 수 있는 장치 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 무인 비행체의 최적 경로 생성 방법은, 수신부를 통해 주변 지형 정보를 포함한 지도와 무인 비행체의 현재 상태 정보와 무인 비행체에 탑재된 센서의 감지 정보를 받는 단계; 상기 수신부에 연결되는 프로세서에 의해, 상기 현재 상태 정보를 토대로 설정된 시작점과 목표점 사이에 장애물이 있는 3차원 지도 상에 임의의 개수의 입자들을 분포시키는 단계; 상기 입자들의 초기 위치 및 속도 벡터를 설정하는 단계; 상기 입자들의 위치 및 속도 벡터를 업데이트하는 단계; 상기 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출하는 단계; 상기 입자들의 초기 위치 및 속도 벡터를 설정하고, 상기 입자들의 위치 및 속도 벡터를 업데이트하고, 상기 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출하여 상기 시작점과 상기 목표점 사이에 하나 이상의 경로점을 생성하면서 인접한 경로점들을 잇는 궤적을 함께 고려하는 통합 경로 계획을 수립하는 단계; 및 상기 통합 경로 계획 하에서 입자 군집 최적화 알고리즘을 이용하여 상기 시작점, 상기 하나 이상의 경로점 및 상기 목표점을 잇는 궤적을 최적화하는 단계를 포함한다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 무인 비행체의 최적 경로 생성 장치는, 주변 지형 정보를 포함한 지도와 무인 비행체의 현재 상태 정보와 무인 비행체에 탑재된 센서의 감지 정보를 받는 수신부; 및 상기 수신부에 연결되고, 상기 현재 상태 정보를 토대로 설정된 시작점과 목표점 사이에 장애물이 있는 3차원 지도 상에 임의의 개수의 입자들을 분포시키고, 상기 입자들의 초기 위치 및 속도 벡터를 설정하고, 상기 입자들의 위치 및 속도 벡터를 업데이트하고, 상기 입자들의 위치 및 속도 벡터에 기초한 적합도 함수를 산출하여 상기 시작점과 상기 목표점 사이의 하나 이상의 경로점과 상기 시작점, 상기 하나 이상의 경로점 및 상기 목표점을 잇는 궤적을 결정하여, 상기 무인 비행체의 최적 경로를 생성하는 프로세서를 포함한다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 무인 비행체의 최적 경로 생성 장치는, 주변 지형 정보를 포함한 지도와 무인 비행체의 현재 상태 정보와 무인 비행체에 탑재된 센서의 감지 정보를 받는 획득부; 상기 현재 상태 정보를 토대로 설정된 시작점과 목표점 사이에 장애물이 있는 3차원 지도 상에 임의의 개수의 입자들을 분포시키는 입자분포처리부; 상기 입자들의 초기 위치 및 속도 벡터를 설정하는 설정부; 상기 입자들의 위치 및 속도 벡터를 업데이트하는 업데이트부; 상기 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출하는 산출부; 및 상기 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출하여 상기 시작점과 상기 목표점 사이에 하나 이상의 경로점을 생성하면서 인접한 경로점들을 잇는 궤적을 함께 고려하는 통합 경로 계획을 수립하고, 상기 통합 경로 계획 하에서 입자 군집 최적화 알고리즘을 이용하여 상기 시작점, 상기 하나 이상의 경로점 및 상기 목표점을 잇는 궤적을 생성하는 생성부를 포함한다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 무인 비행체의 최적 경로 생성 장치는, 지도 내 지형 정보와 무인 비행체의 현재 상태 정보를 수신하는 수신부 및 입자 군집 최적화 알고리즘을 이용하여 n개의 경로점과 상기 경로점을 잇는 궤적을 생성하는 통합 경로 계획을 수립하여 무인 비행체의 최적 경로를 생성하는 프로세서를 포함할 수 있다.
일실시에에서, 상기 프로세서는, 입자 군집 최적화를 위해 수신된 지도 내 지형 정보를 이용하여 지도 내에 임의의 수의 입자를 균일하게 분포하는 것을 특징으로 할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 무인 비행체의 최적 경로 생성 방법은, 지도 내 지형 정보를 획득하는 단계, 무인 비행체의 현재 상태 정보를 획득하는 단계 및 통합 경로 계획을 수립하여 최적 경로점으로 이루어진 최적 경로를 생성하는 단계를 포함하되, 상기 최적 경로를 생성하는 단계는, 상기 통합 경로 계획을 처음 수립하는 경우 입자 군집 최적화 알고리즘을 이용하기 위하여 임의의 수의 입자들을 3차원 지도에 분포하는 단계, 상기 입자들의 초기 위치 및 속도 벡터를 설정하는 단계, 상기 입자들의 적합도 함수를 산출하는 단계를 포함하며, 처음 수립하는 것이 아닌 경우, 상기 입자들의 위치 및 속도 벡터를 업데이트 하는 단계 및 상기 입자들의 적합도 함수를 산출하는 단계를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 무인 비행체의 최적 경로 생성 프로그램은, 컴퓨터에 의해, 지도 내 지형 정보를 획득하는 단계, 무인 비행체의 현재 상태 정보를 획득하는 단계 및 통합 경로 계획을 수립하여 최적 경로점으로 이루어진 최적 경로를 생성하는 단계를 포함하되, 상기 최적 경로를 생성하는 단계는, 상기 통합 경로 계획을 처음 수립하는 경우 입자 군집 최적화 알고리즘을 이용하기 위하여 임의의 수의 입자들을 3차원 지도에 분포하는 단계, 상기 입자들의 초기 위치 및 속도 벡터를 설정하는 단계, 상기 입자들의 적합도 함수를 산출하는 단계를 포함하며, 처음 수립하는 것이 아닌 경우, 상기 입자들의 위치 및 속도 벡터를 업데이트 하는 단계 및 상기 입자들의 적합도 함수를 산출하는 단계를 실행시키기 위해 비-일시적 컴퓨터-판독가능 매체에 저장된 프로그램일 수 있다.
본 발명에 따르면, 지도 내 지형 정보와 무인 비행체의 현재 상태 정보를 수신하고, 입자 군집 최적화 알고리즘을 이용하여 n개의 경로점을 생성하고, 경로점을 잇는 궤적을 생성하는 구성을 통해 무인 비행체의 최적 경로를 생성할 수 있다.
또한, 본 발명에 따르면, 경로점과 경로점을 잇는 궤적의 동역학적 실행 가능성과 기구학적 실행 가능성을 미리 고려하여 무인 비행체의 최적 경로 생성할 수 있다는 효과가 있다.
또한, 본 발명에 따르면, 보조 경로점을 이용하지 않는 무인 비행체의 최적 경로 생성 방법 및 장치를 제공할 수 있다.
또한, 본 발명에 따르면, 무인 비행체의 자율 비행시 비행 안전성을 높일 수 있다.
도 1은 일반적인 무인 비행체의 자율 비행을 위한 장치를 나타내는 도면이다.
도 2는 일반적인 무인 비행체의 자율 비행을 위한 경로 계획을 나타내는 도면이다.
도 3은 일반적인 경로 계획 시 발생할 수 있는 문제점을 나타낸 도면이다.
도 4는 도 3의 문제점을 해결하기 위해 종래 제안된 방법을 설명하기 위해 나타낸 도면이다.
도 5는 도 4의 방법이 적용된 경우 발생할 수 있는 문제점을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 무인 비행체의 최적 경로 생성 방법을 설명하기 위한 개념도이다.
도 7은 본 발명의 일 실시예에 따른 무인 비행체의 최적 경로 생성 방법에 대한 흐름도이다.
도 8은 도 7의 방법에 채용할 수 있는 무인 비행체의 시작점 및 목표점에 따른 경로점들을 모두 결정하여 생성한 최적 경로를 예시한 도면이다.
도 9은 본 발명의 다른 실시예에 따른 무인 비행체의 최적 경로 생성 장치를 나타낸 블록도이다.
도 10은 도 9의 무인 비행체의 최적 경로 생성 장치에 활용할 수 있는 시뮬레이션 환경을 예시한 도면이다.
도 11은 도 10의 환경에서의 무인 비행체에 의한 장애물 인지 결과를 나타낸 도면이다.
도 12a 및 도 12b는 도 10 및 도 11의 장애물이 있는 환경에서의 시뮬레이션 결과를 나타낸 도면이다.
도 13은 도 12a 및 도 12b의 시뮬레이션 결과 중 상태 변수의 시간 응답 특성을 나타낸 도면이다.
도 14는 도 12a 및 도 12b의 시뮬레이션 결과 중 계획된 경로와 실제로 이동한 경로를 나타낸 도면이다.
이하에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 발명의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 발명에 대한 설명과 관계없는 부분은 생략하고, 유사한 부분에 대해서는 유사한 도면 부호를 붙인다.
본 발명에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 발명의 범위에 포함된다.
본 발명에 있어서, 다양한 실시예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들을 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시예도 본 발명의 범위에 포함된다. 또한, 다양한 실시예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시예도 본 발명의 범위에 포함된다.
본 발명에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들 간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시예에서의 제1 구성요소는 다른 실시예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시예에서의 제2 구성요소를 다른 실시예에서 제1 구성요소라고 칭할 수도 있다.
본 발명의 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나, "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
또한, 본 발명에 있어서 무인 비행체 외부의 장애물이나 표적으로부터 반사되는 신호는 표적 신호와 동일한 의미로 사용될 수 있다. 그리고 입자들은 복수의 무인 비행체가 이동할 경로 상의 후보 경로점들에 대응될 수 있다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예들에 대해서 설명한다.
도 6은 본 발명의 일 실시예에 따른 무인 비행체의 최적 경로 생성 방법을 설명하기 위한 개념도이다.
도 6을 참조하면, 무인 비행체의 최적 경로 생성 방법은, 컴퓨팅 장치의 적어도 일부로 구현될 수 있는 최적 경로 생성 장치(300)에서 무인 비행체의 자율 비행에 사용될 수 있는 최적 경로를 생성하기 위하여, 광역 경로 계획(310) 및 지역 경로 계획(320)으로 구분함에 따라 내재되는 문제점을 해결하기 위한 구성 즉, 통합 경로 계획(330)을 구비한다. 각 광역 경로 계획(310), 지역 경로 계획(320) 및 통합 경로 계획(330)은 소프트웨어 모듈 형식의 제1 모듈 또는 광역 경로 계획 모듈, 제2 모듈 또는 지역 경로 계획 모듈, 및 제3 모듈 또는 통합 경로 계획 모듈에 각각 대응하거나 각 모듈이 수행하는 기능이나 동작에 각각 대응할 수 있으나, 이에 한정되지는 아니한다.
즉, 본 실시예의 무인 비행체의 최적 경로 생성 방법은, 최적 경로 생성 시, 시작점과 목표점 사이에 N개의 경로점을 생성하면서 인접한 경로점을 잇는 궤적을 함께 고려하는 통합 경로 계획(330)을 수립하고, 입자 군집 최적화를 이용하여 궤적을 최적화한 뒤 최적 경로점 및 최적 경로를 생성한다.
도 7은 본 발명의 일 실시예에 따른 무인 비행체의 최적 경로 생성 방법에 대한 흐름도이다. 그리고 도 8은 도 7의 방법에 채용할 수 있는 무인 비행체의 시작점 및 목표점에 따른 경로점들을 모두 결정하여 생성한 최적 경로를 예시한 도면이다.
본 실시예에서 광역 경로 계획은 무인 비행체를 운용함에 있어서 원하는 임의의 목표점까지 주변 장애물과의 충돌 없이 안전하게 무인 비행체를 이동하기 위한 기하학적 조건만을 고려하여 시작점부터 목표점까지 이동하기 위해 거쳐야 하는 N개의 경로점을 결정하는 과정을 통칭하는 의미로 사용된 것이며, 지역 경로 계획은 무인 비행체의 동적 특성을 고려하여 무인 비행체가 이동하기에 적절하도록 상기 결정된 N개의 경로점을 부드러운 궤적으로 연결하는 과정을 통칭하는 의미로 사용된 것으로 볼 수 있다.
도 7을 참조하면, 무인 비행체의 최적 경로 생성 방법은, 컴퓨팅 장치를 포함하는 최적 경로 생성 장치에서, 먼저 지도 내 지형 정보를 획득하고(S700), 무인 비행체의 현재 상태 정보를 획득한다(S701).
여기서, 지도 내 지형 정보는 통합 경로 계획을 위해 무인 비행체가 비행할 지역의 3차원 지도 내 지형 정보를 포함할 수 있으며, 기 설정된 시작점과 목표점에 대한 정보를 포함할 수 있다.
정보 획득 과정들은 환경을 인지하는 외부의 모듈에서 3차원 지도 내 지형 정보를 수신하는 방식으로서 구현될 수 있으며, 혹은 상기 장치에 포함된 환경을 인지하는 모듈에 의해 3차원 지도 내 지형정보를 획득하는 방식으로 구현될 수 있다. 3차원 지도 내 지형 정보란 예를 들어, 3차원 지도 내의 지형 및 경로 생성시 회피해야 할 장애물에 대한 정보 등을 포함할 수 있다.
또한, 무인 비행체의 현재 상태 정보는, 예를 들어 비행을 제어하는 외부의 모듈에서 획득되는 방식으로 구현될 수 있고, 혹은 상기 장치에 포함된 비행을 제어하는 모듈에 의해 획득되는 비행체의 현재 상태 정보를 획득하는 방식으로 구현될 수 있다. 예를 들어, 현재 상태 정보는 무인 비행체의 초기 위치, 현재 위치, 속도, 자세 각, 자세 각 속도 등을 포함할 수 있다. 자세 각은 3축(x, y, z)에 대한 회전 각을 포함할 수 있으며, 자세 각 속도는 회전 각 속도를 포함할 수 있다. 물론, 상기와 같은 방법으로 본 발명이 한정되는 것은 아니다.
다음으로, 무인 비행체의 최적 경로 생성 장치를 구동하여 처음으로 통합 경로 계획을 수립하는 경우인지를 판단할 수 있다(S702). 판단 결과, 무인 비행체의 최적 경로 생성 장치를 구동하여 처음으로 통합 경로 계획을 수립하는 경우(S702의 Yes), 입자 군집 최적화 알고리즘을 이용하기 위해, 임의의 개수의 입자들을 무인 비행체가 존재하는, 혹은 존재할 3차원 지도에 균일하게 분포시킬 수 있다(S703). 균일한 분포는 앞서 획득한 지도 내 지형 정보를 이용하여 무인 비행체가 존재 가능한 위치에 입자들이 균일하게 분포하도록 실행될 수 있다.
이러한 입자들은 경로점이 될 수 있는 후보 경로점이 될 수 있다. 이때 각 입자들은 초기 위치에 고정되어 있는 것이 아니라 계속해서 이동할 수 있으므로 입자들의 초기 위치 및 속도를 임의로(random) 설정할 수 있다(S704).
예를 들어, 입자들의 초기 위치는 현재 위치 벡터(
Figure 112021024881550-pat00001
)로서 나타낼 수 있으며, 초기 속도는 속도 벡터(
Figure 112021024881550-pat00002
)로 나타낼 수 있다. 입자들의 초기 위치 또는 이전 위치는 이전 위치 벡터(
Figure 112021024881550-pat00003
)로 나타낼 수 있고, 초기 속도 벡터는 0으로 설정될 수 있다. 즉, 초기 단계에서 각 입자는 임의의 위치에 정지한 상태로 분포하는 것을 설정할 수 있다.
3차원 지도에 균일하게 분포된 입자들은, 다른 입자와 서로 적합도(fitness) 함수와 위치 정보를 주고받을 수 있으며, 적합도 함수 및 정보를 바탕으로 각 입자의 위치 및 속도를 지속적으로 수정할 수 있다.
또한, 자신이 머물렀던 위치를 기억할 수 있으며, 입자들 상호 간에 자신이 머물렀던 위치의 정보를 교환할 수 있다. 이로 인해서 입자들의 군집 내에서 최적의 값을 갖는 위치를 공유할 수 있다.
이와 같이 본 실시예에서는 입자 군집 최적화 알고리즘의 구동 하에서 입자들이 계속해서 자신의 위치와 속도를 수정해 나가면서, 3차원 지도 상에서 최적의 값을 갖는 위치를 결정하게 되고, 이로 인해 최적의 경로점 및 최적의 경로점을 잇는 궤적, 즉 무인 비행체를 위한 최적의 경로를 생성할 수 있게 된다.
여기서 최적의 경로를 생성하기 위해 [수학식 2]에 의해 산출될 수 있는 성능 지수를 최소화하여야 한다. 이에 대해서는 하기에서 더욱 상세하게 설명할 것이다.
다음으로, 입자들의 초기 위치 및 속도가 결정되고 나면 전체 입자에 대해 적합도 함수를 산출할 수 있다(S706).
예를 들어, 적합도 함수(J)는 하기의 [수학식 1]과 같은 방식으로 산출될 수 있으나, 이에 한정되는 것은 아니다.
Figure 112021024881550-pat00004
위의 [수학식 1]에서 k는 구속 조건(
Figure 112021024881550-pat00005
)의 총 개수,
Figure 112021024881550-pat00006
는 가중치 상수로 임의의 큰 값으로 설정될 수 있으며,
Figure 112021024881550-pat00007
은 괄호 안의 구속 조건(
Figure 112021024881550-pat00008
)이 만족되면 0, 혹은 만족되지 않으면 1의 값을 반환하는 함수일 수 있다.
그리고 PI는 최소화되어야 할 성능지수로서, 하기의 [수학식 2]와 같이 인접한 두 입자들에 의한 점들 간의 직선 거리의 총 합으로 설정될 수 있다.
Figure 112021024881550-pat00009
여기서,
Figure 112021024881550-pat00010
Figure 112021024881550-pat00011
은 각각 시작점과 경로점의 좌표를 나타낼 수 있다. 예를 들어, 도 8에서의 시작점(801)과 경로점(805)의 좌표일 수 있다.
그리고 상기의 구속 조건이란 최적의 경로를 생성하면서 주변 장애물을 피하고 동역학적으로도 실행 가능한 경로를 기구학적으로 생성하기 위한 구속 조건을 의미할 수 있다.
일례로, 첫 번째 기구학 구속 조건(kinematic constraint)로는 N개의 경로점이 3차원 지도의 내부에 존재해야 하고, 장애물의 외부에 위치해야 함을 고려할 수 있다. 최적의 경로를 생성하기 위해서는 N개의 경로점 집합이 결정되어야 하며, 본 실시예에서 N개의 경로점 집합은 아래의 [수학식 3]와 같이 행렬 형태로 나타낼 수 있다.
Figure 112021024881550-pat00012
여기서, 행렬의 각 열에 해당하는
Figure 112021024881550-pat00013
은 i번째 경로점의 x, y, z축에 대한 좌표이며, N은 시작점과 목표점을 제외한 경로점 개수를 나타낼 수 있다.
예를 들어, 도 8에는 시작점(801) 및 목표점(805)이 나타나 있고, 이를 제외한 제1 경로점(802), 제2 경로점(803) 및 제3 경로점(804)으로 이루어져 있으므로 경로점의 총 개수는 3개이다. 이 경우 [수학식 3]은 3x3 행렬로 나타날 수 있다.
다음으로, 두 번째 기구학 구속 조건은 [수학식 3]에서 정의한 N개의 경로점 중 인접한 두 경로점을 부드럽게 연결하는 궤적 상에서의 기구학적 구속 조건일 수 있다.
예를 들어, 도 8에서의 시작점(801)과 제1 경로점(802), 제1 경로점(802)과 제2 경로점(803), 제2 경로점(803)과 제3 경로점(804), 제3 경로점(804) 및 목표점(805)을 잇는 부드러운 궤적은 최소 스냅 궤적(minimum snap trajectory)으로 연결할 수 있다.
이러한 최소 스탭 궤적은 상기의 경로점들과 같이 3차원 지도의 내부와 장애물 외부에 위치해야 한다. 이를 위하여, 궤적을 이산적인 세밀한 점들의 집합으로 간주할 수 있다. 다시 말해, 연속한 곡선인 궤적이 기구학적 구속 조건을 만족하는지 여부는 이산적인 점들의 집합에 대한 검사로 대체할 수 있다.
이산적인 점들의 개수가 많아질수록 연속한 곡선인 궤적과의 차이는 줄어들 수 있다. 하지만, 구속 조건을 만족하는지 여부를 확인해야 할 이산적인 점들의 개수가 증가하면 확인 과정에 더 많은 시간 및 자원이 소요될 수 있다.
따라서, 이산적인 점들의 개수를 생성하는 시간 간격에 대하여는 아무런 제한이 없으나, 바람직하게는 적정 수준의 시간 및 자원을 소요하면서도 정확한 구속조건 만족 여부를 확인할 수 있게 하기 위해 최소 0.05초에서 최대 0.2초 사이의 시간 간격에 따라 이산적인 점을 생성하도록 지정할 수 있다.
예컨대, 무인 비행체의 현재 상태 정보 등을 이용하여 도출된 시작점(801)과 제1 경로점(802)을 지나는 데 필요한 비행 시간이 1초이고, 0.1초마다 궤적에서 이산적인 점을 추출한다면, 해당 구간에서 생성될 이산적인 점의 개수는 9개일 수 있다. 이러한 9개의 이산적인 점들이 3차원 지도 내부와 장애물 외부에 있는지 여부를 검사하면, 정확한 구속 조건 만족 여부를 확인할 수 있다.
한편, 다시 도 7을 참조하면, 상기의 단계(S702)의 판단 결과, 첫 통합 경로에 대한 계획 시행이 아니면(S702의 No), 입자들의 적합도 함수를 산출하는 단계(S706) 전에 먼저 입자들의 위치 및 속도 벡터를 업데이트하는 과정을 거칠 수 있다(S705).
업데이트하는 과정(S705)은 종료 조건 충족 판단 과정과 무인 비행체의 현재 상태 정보 획득 과정을 통해 입자들의 위치 및 속도 벡터에 만족스러운 값을 획득할 때까지 반복 수행될 수 있다.
입자들의 위치 및 속도 벡터를 다시 업데이트하는 과정(S705)은 하기의 [수학식 4] 및 [수학식 5]에 따라 수행될 수 있다.
Figure 112021024881550-pat00014
Figure 112021024881550-pat00015
여기서,
Figure 112021024881550-pat00016
은 입자 s가 자신이 경험한 가장 좋은, 가장 최적의 해, 즉 가장 최적의 경로점을 나타낸다.
Figure 112021024881550-pat00017
은 입자 전체, 즉 군집이 경험한 가장 좋은 해, 가장 최적의 경로점일 수 있으며 c1과 c2는 입자 하나의 경험과 전체 군집의 경험의 비중을 조절하는 가중치 상수일 수 있다. 그리고 r1과 r2는 0과 1사이의 값을 갖는 균일한 랜덤 변수일 수 있다.
또한, K는 관성 가중치(inertia weight)를 나타내며, 최적화, 즉 입자의 군집에 대한 수렴에 중요한 역할을 한다. 높은 관성 가중치는 입자 s가 자신의 다음 위치를 결정할 때 새로운 경험보다는 이전의 경험에 결정된 위치를 고수하도록 하게 할 수 있다.
반면에, 낮은 관성 가중치는 입자 s가 자신의 다음 위치를 결정할 때 탐색(exploration)을 통한 경험을 더 중요시하게 할 수 있다. 관성 가중치를 어떻게 설정할지에 대하여는 제한이 없으므로 시간에 따라 감소하는 관성 가중치를 사용하는 방법도 가능하다고 할 것이다. 다만, 일정한 가중치를 사용하는 것도 가능하므로 제한을 두지 않을 수 있으나, 상황이나 조건에 따라 경험과 탐색에 대하여 적절하게 가중치를 배분하는 것이 바람직할 수 있다.
그런 다음, 종료 조건이 충족되었는지 판단할 수 있다(S707). 종료 조건이 충족되지 않은 것으로 판별되면, 다시 무인 비행체의 현재 상태 정보 획득 단계(S701)로 되돌아가서 변경되었을 무인 비행체의 현재 상태 정보를 다시 획득할 수 있다.
한편, 상기 단계(S707)에서의 판단 결과, 새로운 현재 상태 정보가 필요하지 않다고 판단되면, 즉 종료 조건이 만족되었다고 판단되면, 최적화된 결과에 따른 최적 경로점으로 이루어진 최적의 경로를 생성할 수 있다(S708).
최적 경로는 최소 스냅 궤적으로 구성된 것일 수 있으며, 입자들의 위치 벡터와 속도 벡터를 반복적으로 업데이트하는 과정이 종료되면, 입자들의 위치 벡터는 N개의 경로점 위치에 해당할 수 있다.
즉, [수학식 1]을 최적화한 결과는 N개의 경로점의 위치에 해당하는 [수학식 3]으로 나타날 수 있다. 다시 말해서,
Figure 112021024881550-pat00018
에 해당하는 최적 경로점 집합 값을 반환할 수 있고, 최소 스냅 궤적을 적용하여 최적 경로점을 부드럽게 연결하는 최종 궤적을 생성할 수 있다. 이렇게 생성된 최소 스냅 궤적은 무인 비행체의 최적 경로가 될 수 있다.
종료 조건은, 예를 들어 최근 20번 동안 계산한 적합도의 표준 편차를 계산하여 미리 설정한 허용 오차(tolerance) 이내일 때, 만족되었다고 판단될 수 있다.
본 실시예에 따르면, N개의 경로점을 결정할 때 미리 생성될 부드러운 궤적을 고려한 통합적인 경로 계획을 수립하여 무인 비행체의 최적 경로를 생성할 수 있다.
도 9은 본 발명의 다른 실시예에 따른 무인 비행체의 최적 경로 생성 장치를 나타낸 블록도이다.
도 9를 참조하면, 무인 비행체의 최적 경로 생성 장치(이하 간략히 최적 경로 생성 장치)(900)는 무인 비행체에 부착될 수 있으나, 부착되지 않고 분리되어 이용될 수 있다. 최적 경로 생성 장치(900)는 3차원 지도 내 지형 정보와 무인 비행체의 현재 상태 정보를 수신하는 수신부(920), 및 입자 군집 최적화 알고리즘을 이용하여 n개의 경로점과 이 경로점들을 잇는 궤적을 생성하는 통합 경로 계획을 수립하여 무인 비행체의 최적 경로를 생성하는 프로세서(910)를 구비할 수 있다.
수신부(920)는 3차원 지도 내 지형 정보와 무인 비행체의 현재 상태 정보를 외부로부터 수신하거나 입력(input) 받을 수 있다. 여기서 3차원 지도 내 지형 정보는 지도 내에 지형 및 경로를 생성함에 있어서 회피해야 할 장애물에 대한 정보를 포함하는 것일 수 있으며, 현재 상태 정보는 무인 비행체의 초기 위치, 현재 위치, 속도, 자세 각, 자세 각 속도 등을 포함할 수 있다. 수신부(920)에 수신된 정보는 프로세서(910)에 전달될 수 있다.
전술한 수신부(920)는 주변 지형 정보를 포함한 지도와 무인 비행체의 현재 상태 정보와 무인 비행체에 탑재된 센서의 감지 정보를 받을 수 있다. 이를 위해, 수신부(920)는 무인 비행체의 내부 또는 외부에 위치하고 무인 비행체의 주변 환경이나 외부 환경을 인지하는 모듈이나 무인 비행체의 비행을 제어하는 모듈이나 센서(930) 등에 내부 통신 인터페이스, 근거리 무선 통신 네트워크, 이동 통신 네트워크, 위성 통신 네트워크 또는 이들의 조합 네트워크를 통해 연결될 수 있다. 센서는 물체 감지 센서, 거리 감지 센서, 자세 감지 센서, 속도 감지 센서 등을 포함할 수 있다.
좀더 구체적으로, 수신부(920)는 통신 모듈(921)과 입력단(922)을 구비할 수 있다. 통신 모듈(921)은 복수의 통신 프로토콜을 지원할 수 있다. 통신 프로토콜은 컴퓨터나 원거리 통신 장비와의 사이에서 신호 및 데이터를 주고 받는 양식과 규칙 체계로써, 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다. 수신부(920)는 근거리 무선 통신, 이동 통신, 위성 통신 또는 이들의 조합에 의해 통신 방식을 지원할 수 있다. 그리고 입력단(922)은 입력되는 아날로그 신호나 디지털 신호를 변환하는 프로세서(910)에서 처리가능한 디지털 신호로 변환하기 위한 수단이나 이러한 수단에 상응하는 구성부를 구비할 수 있다. 구성부는 아날로그-디지털 컨버터, 디지털-디지털 컨버터, 필터, 증폭기 또는 이들의 조합을 포함할 수 있다.
프로세서(910)는 입자 군집 최적화 알고리즘을 이용하여 최적 경로를 생성하는 주체일 수 있다. 프로세서(910)는 탑재되는 모듈들(911 내지 917)에 의해 입자 군집 최적화 알고리즘을 이용하기 위하여 임의의 개수의 입자들을 무인 비행체가 존재하는, 혹은 존재할 3차원 지도에 균일하게 분포시킬 수 있고, 입자들의 위치와 속도를 벡터로서 설정할 수 있으며, 입자들의 적합도 함수를 산출하면서 입자들의 위치 및 속도 벡터를 반복적으로 업데이트하는 과정에 수행할 수 있다. 또한, 프로세서(910)는 종료 조건이 만족될 때, 반환되는 최적 경로점 집합을 이용하여 최소 스냅 궤적을 생성할 수 있고, 최소 스냅 궤적을 무인 비행체의 최적 경로로써 출력(output)할 수 있다.
이를 위해 프로세서(910)는 지도 내 지형 정보를 획득하는 제1 획득부(911), 무인 비행체의 현재 상태 정보를 획득하는 제2 획득부(912), 및 통합 경로 계획을 수립하여 최적 경로점으로 이루어진 최적 경로를 생성하는 생성부(917)를 포함할 수 있다.
또한, 프로세서(910)는, 최적 경로를 생성하는 생성부(917)에 구비되는 구성요소들로써, 통합 경로 계획을 처음 수립하는 경우 입자 군집 최적화 알고리즘을 이용하기 위하여 임의의 수의 입자들을 3차원 지도에 분포시키는 입자분포처리부(913), 입자들의 초기 위치 및 속도 벡터를 설정하는 설정부(914), 입자들의 적합도 함수를 산출하는 산출부(915)를 포함할 수 있다.
그리고, 프로세서(910)는 처음 계획 수립의 경우가 아니면, 입자들의 위치 및 속도 벡터를 업데이트하는 업데이트부(916)를 더 포함할 수 있다. 업데이트부(916)의 출력단은 입자들의 적합도 함수를 산출하는 산출부(915)의 입력단에 연결될 수 있다.
전술한 제1 획득부(911), 제2 획득부(912), 입자분포처리부(913), 설정부(914), 산출부(915), 업데이트부(916) 또는 이들의 조합은 프로세서(910)에 탑재되는 하나 이상의 소프트웨어 모듈로 구현될 수 있다. 또한. 제1 획득부(911), 제2 획득부(912), 입자분포처리부(913), 설정부(914), 산출부(915), 업데이트부(916) 또는 이들의 조합은 컴퓨터로 읽을 수 있는 기록매체에 저장되어 최적 경로 생성을 위한 작업 시작 이벤트에 따라 프로세서(910)에 탑재되어 해당 기능을 수행하도록 구현될 수 있다.
전술한 경우, 무인 비행체의 최적 경로 생성 장치에서, 획득부(911, 912)는 주변 지형 정보를 포함한 지도와 무인 비행체의 현재 상태 정보와 무인 비행체에 탑재된 센서의 감지 정보를 받을 수 있다. 입자분포처리부(913)는 현재 상태 정보를 토대로 설정된 시작점과 목표점 사이에 장애물이 있는 3차원 지도 상에 임의의 개수의 입자들을 분포시킬 수 있다. 설정부(914)는 입자들의 초기 위치 및 속도 벡터를 설정할 수 있다. 업데이트부(915)는 입자들의 위치 및 속도 벡터를 업데이트할 수 있다. 산출부(916)는 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출할 수 있다. 그리고 생성부(917)는 시작점과 목표점 사이에 하나 이상의 경로점을 생성하면서 인접한 경로점들을 잇는 궤적을 함께 고려하는 통합 경로 계획을 수립하고, 통합 경로 계획 하에서 입자 군집 최적화 알고리즘을 이용하여 시작점, 하나 이상의 경로점 및 목표점을 잇는 궤적을 생성할 수 있다.
특히, 산출부는 기구학적 조건을 포함한 구속 조건이 만족하는 경우의 가중치들의 총합과 무인 비행체에서 최소화되어야 하는 성능지수와의 합을 산출할 수 있다. 여기서 성능지수는 인접한 두 입자들 간의 직선 거리의 총합으로 설정될 수 있다. 구속 조건은 최적의 경로를 생성하면서 주변 장애물을 피하고 동역학적으로 실행 가능한 경로를 기구학적으로 생성하기 위한 조건일 수 있다.
또한, 전술한 구속 조건은, 기구학 구조 조건으로써, 복수의 경로점이 3차원 지도의 내부에 존재하면서 장애물의 외부에 위치해야 하는 제1 조건-여기서 제1 조건은 경로점의 개수가 N일 때, N×N 행렬로 표현될 수 있음-, 및 N개의 경로점 중 인접한 두 경로점을 최소 스탭 궤적을 통해 부드럽게(smooth) 연결하는 궤적 상에서의 제2 조건을 포함할 수 있다.
그리고, 생성부는 최적의 값을 갖는 위치에 기초하여 최적의 경로점 및 최적의 경로점을 잇는 궤적을 무인 비행체의 최적 경로로써 생성할 수 있다.
도 10은 도 9의 무인 비행체의 최적 경로 생성 장치에 활용할 수 있는 시뮬레이션 환경을 예시한 도면이다. 그리고 도 11은 도 10의 환경에서의 무인 비행체에 의한 장애물 인지 결과를 나타낸 도면이다.
본 실시예에서는, 무인 비행체의 최적 경로 생성 작업에 대하여 ROS(Robot Operating System)를 기반으로 하는 가상 물리 시뮬레이터인 가제보(Gazebo)에서 시뮬레이션을 수행할 수 있다.
도 10 및 도 11에 나타낸 바와 같이, 25m x 10m x 3m 공간의 지도(map) 상에 길이 5m 및 반경 0.4m의 4개의 실린더 형태의 장애물(510)이 존재한다고 가정하고, 3차원 지도 내에 존재하는 요철 모양의 장애물(510)이 있는 지형의 형태를 도시하였다. 본 실시예에서는 이러한 장애물(510)이 있는 지형의 형태를 무인 비행체(500)의 최적 경로 생성시 고려해야 한다.
즉, 본 실시예의 최적 경로 생성 장치를 포함한 비행 경로 생성 시스템에서 제안하는 경로계획 이외에 완전한 하나의 무인 비행체(500)의 경로 생성 방법을 평가하려면, 환경을 인식하는 모듈, 무인 비행체 모델(가상 제어 객체), 및 제어 시스템이 필요할 수 있다.
이에 본 실시예에서, 환경을 인식하는 모듈로는, 옥토맵(OctoMap) 라이브러리를 사용하여 지도 상에 위치한 장애물 정보를 나타내는 3차원 점유 그리드 맵(occupancy grid map)을 구축하고 이를 이용하였다. 3차원 점유 그리드 맵은 1m 격자 간격으로 작성되었고, 장애물을 탐지하기 위한 센서로는 호쿠요(Hokuyo) 레이저 거리계를 사용하였다. 센서의 최대 범위는 10m로 설정되고 센서의 출력은 임의의 공간상의 한점에 장애물이 있는지 여부를 나타내는 0과 1사이의 확률 값이다. 확률 값이 0.5보다 큰 경우에 해당 공간 상의 한 점에 장애물이 있다고 판단하고, 점유 그리드 맵을 미리 구축하였다.
무인 비행체 모델로는, 1차 드래그 효과까지 동역학식에 포함된 3DR 아이리스 쿼드콥터(quadcopter) 모델을 사용하였다.
그리고, 제어 시스템으로는 오픈 소스에 해당하는 PX4 펌웨어(firmware) v190을 기반으로 구현하였다.
도 10 및 도 11을 참조하면, 시작점과 목표점의 좌표는 각각 (0m, 0m, 15m) 및 (19m, -1m, 25m)로 설정될 수 있다. 이 경우, 최적 경로 생성 장치는 상기의 시작점과 목표점 사이의 거리와 장애물(510)이 있는 지형의 형태 등을 고려하여 시작점과 목표점 사이에 3개의 경로점이 필요하다고 판단하고, 도 7 및 그 상세 설명에서 언급한 최적 경로 생성 방법을 수행하여 3개의 경로점의 위치를 결정할 수 있다.
도 12a 및 도 12b는 도 10 및 도 11의 장애물이 있는 환경에서의 시뮬레이션 결과를 나타낸 도면이다.
도 12a 및 도 12b를 참조하면, 본 시뮬레이션 결과는 시뮬레이션 동안 2초마다 찍은 스냅샷(a1, a2, b1 및 b2)에 따른 것으로서, 자홍색 사각형 점은 시작점과 목표점과 이들 사이의 3개의 경로점의 위치이며, 노란색 실선은 인접한 두 경로점 사이를 연결하는 부드러운 곡선이다. 3개의 경로점의 위치는 본 실시예에서 제안하는 최적 경로 생성 방법에 의해 결정된다. 본 실시예에서 고려한 기구학적 구속조건 덕분에 자홍색 사각형과 노란색 실선이 모두 지도 내부와 장애물 외부에 위치함을 확인할 수 있다.
본 실시예에서 입자 군집 최적화가 수렴될 때까지 반복된 횟수는 52회이며, 260GHz Intel i7 CPU 프로세서가 장착된 노트북 컴퓨터에서 소요된 계산 시간은 0.42초이다. 또한, 최적화 결과로 결정된 3개의 경로점 좌표는 각각 (707m, 132m, 294m), (936m, 042m, 281m), (1748m, -113m, 269m)이었다.
도 13은 도 12a 및 도 12b의 시뮬레이션 결과 중 상태 변수의 시간 응답 특성을 나타낸 도면이다. 그리고 도 14는 도 12a 및 도 12b의 시뮬레이션 결과 중 계획된 경로와 실제로 이동한 경로를 나타낸 도면이다.
도 13을 참조하면, 본 실시예의 최적 경로 생성 방법에 따른 시뮬레이션 과정 중에 무인 비행체의 위치, 속도, 오일러 각으로 나타난 자세 각 및 자세 각 속도를 포함한 무인 비행체 상태의 시간 이력을 확인할 수 있다.
도 13에서 빨간색 점선은 제안된 경로 계획에 의해 생성된 원하는 궤적을 나타내고 파란색 실선은 무인 비행체가 이동한 실제 궤적을 나타낸다.
즉, 도 14에 도시한 바와 같이, 무인 비행체는 3차원 공간상에서 원하는(desired) 궤적과 실제(actural) 궤적을 자체 센서를 이용해 감지되는 장애물(obstacle)을 피해 비행할 수 있다.
이와 같이, 본 실시예에서 제안하는 무인 비행체의 최적 경로 생성 장치 및 방법에 의하면, 무인 비행체가 3차원 지도 상에서 장애물과의 충돌을 피하면서도 비행하기에 적합한 궤적을 생성하여 비행할 수 있음을 확인할 수 있다.
본 개시의 다양한 실시예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수 있다.
또한, 본 개시의 다양한 실시예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다. 예를 들어, 종단 혹은 에지에서 사용될 수 있는 비-일시적 컴퓨터 판독가능한 매체에 저장된 프로그램의 형식이나, 에지 혹은 클라우드에서 사용될 수 있는 비-일시적 컴퓨터 판독 가능한 매체에 저장된 프로그램의 형식으로도 구현될 수 있다. 예를 들어, 본 발명의 일 실시예는 무인 비행체의 최적 경로 생성을 위한 프로그램의 형태로서, 단일 혹은 여러 소프트웨어 및 단일 혹은 여러 하드웨어의 조합으로 구현될 수 있다.
본 개시의 범위는 다양한 실시예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행 가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터 판독가능한 매체(non-transitory computer-readable medium)를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로, 본 발명의 범위는 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
300, 900: 무인 비행체의 최적 경로 생성 장치
910: 프로세서
911: 제1 획득부
912: 제2 획득부
913: 입자분포처리부
914: 설정부
915: 산출부
916: 업데이트부
917: 생성부
920: 수신부
930: 센서

Claims (20)

  1. 무인 비행체의 최적 경로 생성 방법으로서,
    수신부를 통해 주변 지형 정보를 포함한 지도와 무인 비행체의 현재 상태 정보와 무인 비행체에 탑재된 센서의 감지 정보를 받는 단계;
    상기 수신부에 연결되는 프로세서에 의해,
    상기 현재 상태 정보를 토대로 설정된 시작점과 목표점 사이에 장애물이 있는 3차원 지도 상에 임의의 개수의 입자들을 분포시키는 단계;
    상기 입자들의 초기 위치 및 속도 벡터를 설정하는 단계;
    상기 입자들의 위치 및 속도 벡터를 업데이트하는 단계;
    상기 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출하는 단계;
    상기 입자들의 초기 위치 및 속도 벡터를 설정하고, 상기 입자들의 위치 및 속도 벡터를 업데이트하고, 상기 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출하여 상기 시작점과 상기 목표점 사이에 하나 이상의 경로점을 생성하면서 인접한 경로점들을 잇는 궤적을 함께 고려하는 통합 경로 계획을 수립하는 단계; 및
    상기 통합 경로 계획 하에서 입자 군집 최적화 알고리즘을 이용하여 상기 시작점, 상기 하나 이상의 경로점 및 상기 목표점을 잇는 궤적을 최적화하는 단계;
    를 포함하는 최적 경로 생성 방법.
  2. 청구항 1에 있어서,
    상기 통합 경로 계획은 기하학적 조건만을 고려하여 상기 시작점에서 상기 목표점까지 주변 장애물을 피해 상기 무인 비행체를 이동시키기 위한 상기 하나 이상의 경로점을 결정하는 광역 경로 계획; 및 상기 무인 비행체의 동적 특성을 고려하여 상기 광역 경로 계획을 통해 결정된 하나 이상의 경로점을 부드러운 궤적으로 연결하는 지역 경로 계획을 포함하는, 최적 경로 생성 방법.
  3. 청구항 1에 있어서,
    상기 지형 정보는, 상기 무인 비행체 외부에서 주변 환경을 인지하는 모듈이나 상기 무인 비행체에 탑재되어 주변 환경을 인지하는 모듈로부터 획득되고, 상기 무인 비행체가 비행할 지역의 3차원 지도 내 지형 정보, 및 상기 3차원 지도 상에 설정되는 상기 시작점과 상기 목표점에 대한 정보를 포함하며,
    상기 3차원 지도 내 지형 정보는 상기 무인 비행체의 경로 생성 시에 회피해야 하는 장애물에 대한 정보를 포함하는, 최적 경로 생성 방법.
  4. 청구항 1에 있어서,
    상기 현재 상태 정보는, 상기 무인 비행체의 외부에서 상기 무인 비행체의 비행을 제어하는 외부 모듈이나 상기 무인 비행체에 탑재되어 상기 무인 비행체의 비행을 제어하는 내부 모듈로부터 획득되고, 상기 무인 비행체의 초기 위치, 현재 위치, 속도, 자세 각 및 자세 각 속도를 포함하고, 상기 자세 각은 3축에 대한 회전 각을 포함하고, 상기 자세 각 속도는 회전 각 속도를 포함하는, 최적 경로 생성 방법.
  5. 청구항 1에 있어서,
    상기 입자들을 분포시키는 단계는, 상기 3차원 지도 상에서 상기 무인 비행체가 존재 가능한 위치에 입자들이 균일하게 분포하도록 실행되며, 상기 입자들은 상기 하나 이상의 경로점의 후보 경로점인, 최적 경로 생성 방법.
  6. 청구항 1에 있어서,
    상기 입자들의 초기 위치 및 속도 벡터를 설정하는 단계는, 각 입자가 정지한 상태에 위치하는 임의의 위치로 상기 초기 위치를 설정하고, 0으로 각 입자의 초기 속도 벡터를 설정하며,
    여기서, 상기 3차원 지도에 균일하게 분포되는 입자들 중 하나의 입자는, 컴퓨팅 장치에 실행되는 상기 통합 경로 계획과 관련된 프로그램 상에서, 다른 입자와 서로 적합도 함수와 위치 정보를 주고받고, 상기 적합도 함수와 상기 위치 정보를 토대로 자신의 위치 및 속도를 수정하고, 상기 자신의 위치를 기억하며,
    여기서, 상기 하나의 입자와 다른 입자를 포함한 입자들은 상호 간에 자신이 머물렀던 위치에 대한 위치 정보를 교환하는, 최적 경로 생성 방법.
  7. 청구항 6에 있어서,
    상기 입자 군집 최적화 알고리즘은 상기 입자들이 자신의 위치와 속도를 수정해 나가면서 상기 3차원 지도 상에서 최적의 값을 갖는 위치를 결정하도록 하며,
    상기 적합도 함수를 산출하는 단계는 기구학적 조건을 포함한 구속 조건이 만족하는 경우의 가중치들의 총합과 상기 무인 비행체에서 최소화되어야 하는 성능지수와의 합을 산출하고,
    여기서 상기 성능지수는 인접한 두 입자들 간의 직선 거리의 총합으로 설정되고,
    상기 구속 조건은 최적의 경로를 생성하면서 주변 장애물을 피하고 동역학적으로 실행 가능한 경로를 기구학적으로 생성하기 위한 조건인, 최적 경로 생성 방법.
  8. 청구항 7에 있어서
    상기 구속 조건은, 기구학 구조 조건으로써,
    복수의 경로점이 상기 3차원 지도의 내부에 존재하면서 상기 장애물의 외부에 위치해야 하는 제1 조건-여기서 상기 제1 조건은 경로점의 개수가 N일 때, N×N 행렬로 표현됨-, 및
    상기 N개의 경로점 중 인접한 두 경로점을 최소 스탭 궤적을 통해 부드럽게(smooth) 연결하는 궤적 상에서의 제2 조건을 포함하는, 최적 경로 생성 방법.
  9. 청구항 1에 있어서,
    상기 입자 군집 최적화 알고리즘은 상기 입자들이 자신의 위치와 속도를 수정해 나가면서 상기 3차원 지도 상에서 최적의 값을 갖는 위치를 결정하도록 하며,
    상기 최적화하는 단계는 상기 최적의 값을 갖는 위치에 기초하여 최적의 경로점 및 상기 최적의 경로점을 잇는 궤적을 상기 무인 비행체의 최적 경로로써 생성하는, 최적 경로 생성 방법.
  10. 청구항 1에 있어서,
    상기 업데이트하는 단계는, 각 입자가 자신이 경험한 가장 좋은 위치에 대응하는 제1 최적 경로점에 해당 입자의 경험의 비중을 조절하기 위한 제1 가중치를 적용한 제1 값과, 상기 입자들 전체의 군집이 경험한 가장 좋은 위치들에 대응하는 제2 최적 경로점에 해당 군집의 경험의 비중을 조절하기 위한 제2 가중치를 적용한 제2 값과, 각 입자의 군집에 대한 수렴을 반영하기 위해 각 입자의 속도 벡터에 관성 가중치를 적용한 제3 값을 합하여 각 입자의 속도 벡터를 현재 속도 벡터로 갱신하고, 각 입자의 위치를 해당 각 입자의 이전 위치와 상기 현재 속도 벡터를 합한 현재 위치로 갱신하는, 최적 경로 생성 방법.
  11. 청구항 10에 있어서,
    상기 관성 가중치는 제1 관성 가중치와 상기 제1 관성 가중치보다 낮은 제2 관성 가중치를 포함하고,
    여기서 상기 제1 관성 가중치는 상대적으로 높은 관성 가중치로써 각 입자가 자신의 다음 위치를 결정할 때 새로운 경험보다는 이전의 경험에서 결정된 위치를 고수하는 경향이 크고,
    상기 제2 관성 가중치는 상대적으로 낮은 관성 가중치로써 각 입자가 자신의 다음 위치를 결정할 때 탐색(exploration)을 통한 경험을 이전의 경험보다 더 중요시하는 경향이 큰, 최적 경로 생성 방법.
  12. 청구항 1에 있어서,
    상기 최적화하는 단계 후에 종료 조건이 만족되면, 상기 프로세서는 상기 입자들의 군집에 대한 최적 경로점 집합을 반환하거나 출력하고, 최소 스냅 궤적을 적용하여 최적 경로점 집합 내 경로점들을 부드럽게 연결하는 최종 궤적을 생성하는 단계를 더 포함하는, 최적 경로 생성 방법.
  13. 무인 비행체의 최적 경로 생성 장치로서,
    주변 지형 정보를 포함한 지도와 무인 비행체의 현재 상태 정보와 무인 비행체에 탑재된 센서의 감지 정보를 받는 수신부; 및
    상기 수신부에 연결되고, 상기 현재 상태 정보를 토대로 설정된 시작점과 목표점 사이에 장애물이 있는 3차원 지도 상에 임의의 개수의 입자들을 분포시키고, 상기 입자들의 초기 위치 및 속도 벡터를 설정하고, 상기 입자들의 위치 및 속도 벡터를 업데이트하고, 상기 입자들의 위치 및 속도 벡터에 기초한 적합도 함수를 산출하여 상기 시작점과 상기 목표점 사이의 하나 이상의 경로점과 상기 시작점, 상기 하나 이상의 경로점 및 상기 목표점을 잇는 궤적을 결정하여, 상기 무인 비행체의 최적 경로를 생성하는 프로세서;를 포함하는 최적 경로 생성 장치.
  14. 청구항 13에 있어서,
    상기 입자들의 초기 위치 및 속도 벡터를 설정하는 것은, 각 입자가 정지한 상태에 위치하는 임의의 위치로 상기 초기 위치를 설정하고, 0으로 각 입자의 초기 속도 벡터를 설정하며,
    여기서, 상기 3차원 지도에 균일하게 분포되는 입자들 중 하나의 입자는, 프로세서에 실행되는 통합 경로 계획과 관련된 프로그램 상에서, 다른 입자와 서로 적합도 함수와 위치 정보를 주고받고, 상기 적합도 함수와 상기 위치 정보를 토대로 자신의 위치 및 속도를 수정하고, 상기 자신의 위치를 기억하며,
    여기서, 상기 하나의 입자와 다른 입자를 포함한 입자들은 상호 간에 자신이 머물렀던 위치에 대한 위치 정보를 교환하는, 최적 경로 생성 장치.
  15. 청구항 13에 있어서,
    상기 프로세서에 의해 실행되는 입자 군집 최적화 알고리즘은 상기 입자들이 자신의 위치와 속도를 수정해 나가면서 상기 3차원 지도 상에서 최적의 값을 갖는 위치를 결정하도록 하며,
    상기 프로세서에 탑재된 산출부는 기구학적 조건을 포함한 구속 조건이 만족하는 경우의 가중치들의 총합과 상기 무인 비행체에서 최소화되어야 하는 성능지수와의 합을 산출하고,
    여기서 상기 성능지수는 인접한 두 입자들 간의 직선 거리의 총합으로 설정되고,
    상기 구속 조건은 최적의 경로를 생성하면서 주변 장애물을 피하고 동역학적으로 실행 가능한 경로를 기구학적으로 생성하기 위한 조건인, 최적 경로 생성 장치.
  16. 청구항 15에 있어서
    상기 구속 조건은, 기구학 구조 조건으로써,
    복수의 경로점이 상기 3차원 지도의 내부에 존재하면서 상기 장애물의 외부에 위치해야 하는 제1 조건-여기서 상기 제1 조건은 경로점의 개수가 N개일 때, N×N 행렬로 표현됨-, 및
    상기 N개의 경로점 중 인접한 두 경로점을 최소 스탭 궤적을 통해 부드럽게(smooth) 연결하는 궤적 상에서의 제2 조건을 포함하는, 최적 경로 생성 장치.
  17. 무인 비행체의 최적 경로 생성 장치로서,
    주변 지형 정보를 포함한 지도와 무인 비행체의 현재 상태 정보와 무인 비행체에 탑재된 센서의 감지 정보를 받는 획득부;
    상기 현재 상태 정보를 토대로 설정된 시작점과 목표점 사이에 장애물이 있는 3차원 지도 상에 임의의 개수의 입자들을 분포시키는 입자분포처리부;
    상기 입자들의 초기 위치 및 속도 벡터를 설정하는 설정부;
    상기 입자들의 위치 및 속도 벡터를 업데이트하는 업데이트부;
    상기 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출하는 산출부;
    상기 입자들의 위치 및 속도 벡터에 기초하여 적합도 함수를 산출하여 상기 시작점과 상기 목표점 사이에 하나 이상의 경로점을 생성하면서 인접한 경로점들을 잇는 궤적을 함께 고려하는 통합 경로 계획을 수립하고, 상기 통합 경로 계획 하에서 입자 군집 최적화 알고리즘을 이용하여 상기 시작점, 상기 하나 이상의 경로점 및 상기 목표점을 잇는 궤적을 생성하는 생성부;
    를 포함하는 최적 경로 생성 장치.
  18. 청구항 17에 있어서,
    상기 입자 군집 최적화 알고리즘은 상기 입자들이 자신의 위치와 속도를 수정해 나가면서 상기 3차원 지도 상에서 최적의 값을 갖는 위치를 결정하도록 하며,
    상기 산출부는 기구학적 조건을 포함한 구속 조건이 만족하는 경우의 가중치들의 총합과 상기 무인 비행체에서 최소화되어야 하는 성능지수와의 합을 산출하고,
    여기서 상기 성능지수는 인접한 두 입자들 간의 직선 거리의 총합으로 설정되고,
    상기 구속 조건은 최적의 경로를 생성하면서 주변 장애물을 피하고 동역학적으로 실행 가능한 경로를 기구학적으로 생성하기 위한 조건인, 최적 경로 생성 장치.
  19. 청구항 18에 있어서
    상기 구속 조건은, 기구학 구조 조건으로써,
    복수의 경로점이 상기 3차원 지도의 내부에 존재하면서 상기 장애물의 외부에 위치해야 하는 제1 조건-여기서 상기 제1 조건은 경로점의 개수가 N일 때, N×N 행렬로 표현됨-, 및
    상기 N개의 경로점 중 인접한 두 경로점을 최소 스탭 궤적을 통해 부드럽게(smooth) 연결하는 궤적 상에서의 제2 조건을 포함하는, 최적 경로 생성 장치.
  20. 청구항 17에 있어서,
    상기 입자 군집 최적화 알고리즘은 상기 입자들이 자신의 위치와 속도를 수정해 나가면서 상기 3차원 지도 상에서 최적의 값을 갖는 위치를 결정하도록 하며,
    상기 생성부는 상기 최적의 값을 갖는 위치에 기초하여 최적의 경로점 및 상기 최적의 경로점을 잇는 궤적을 상기 무인 비행체의 최적 경로로써 생성하는, 최적 경로 생성 장치.
KR1020210027847A 2020-03-13 2021-03-03 무인 비행체의 최적 경로 생성 방법 및 장치 KR102531197B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/200,524 US20210287556A1 (en) 2020-03-13 2021-03-12 Method and apparatus for generating optimal path for an unmanned aerial vehicle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200031573 2020-03-13
KR20200031573 2020-03-13

Publications (2)

Publication Number Publication Date
KR20210116248A KR20210116248A (ko) 2021-09-27
KR102531197B1 true KR102531197B1 (ko) 2023-05-10

Family

ID=77926128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210027847A KR102531197B1 (ko) 2020-03-13 2021-03-03 무인 비행체의 최적 경로 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102531197B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114234982B (zh) * 2021-12-20 2024-04-16 中南大学 基于方位角定位的三维轨迹规划方法、系统、设备及介质
CN115562074A (zh) * 2022-10-29 2023-01-03 福州大学 一种快速生成无人机最优规划路径的仿真系统及方法
CN116225074B (zh) * 2023-05-10 2023-07-21 广东电网有限责任公司佛山供电局 一种输电线路无人机巢巡检航线规划方法及系统
CN116476080B (zh) * 2023-06-20 2023-08-29 西湖大学 一种基于几何可行性的空中自动抓取作业规划方法
CN117406771B (zh) * 2023-10-17 2024-04-30 武汉大学 一种基于四旋翼无人机的高效自主探索方法、系统及设备
CN117148869B (zh) * 2023-10-31 2024-01-19 西安天成益邦电子科技有限公司 无人机精准回收控制方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102010568B1 (ko) * 2017-06-27 2019-08-13 광운대학교 산학협력단 다수의 무인비행체 시스템과 군집 지능을 사용한 현실 3d 공간 탐색 시스템 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
INTEGRATED GLOBAL AND LOCAL PATH PLANNING FOR QUADROTOR USING PARTICLE SWARM OPTIMIZATION
무인 비행체의 환경 인지 및 경로 계획 연구동향

Also Published As

Publication number Publication date
KR20210116248A (ko) 2021-09-27

Similar Documents

Publication Publication Date Title
KR102531197B1 (ko) 무인 비행체의 최적 경로 생성 방법 및 장치
US20210287556A1 (en) Method and apparatus for generating optimal path for an unmanned aerial vehicle
Perez‐Grau et al. An architecture for robust UAV navigation in GPS‐denied areas
US10061316B2 (en) Control policy learning and vehicle control method based on reinforcement learning without active exploration
Ergezer et al. 3D path planning for multiple UAVs for maximum information collection
US6529821B2 (en) Route planner with area avoidance capability
US10656650B2 (en) Method for guiding and controlling drone using information for controlling camera of drone
JP2018534205A (ja) 車両の運動を制御する方法、及び車両の制御システム
Babel Three-dimensional route planning for unmanned aerial vehicles in a risk environment
Hoang et al. Angle-encoded swarm optimization for uav formation path planning
WO2019111608A1 (ja) 制御装置、無人システム、制御方法及びプログラム
US20220057804A1 (en) Path determination method
CN112393732B (zh) 无人机避障方法、装置、可读存储介质及电子设备
CN111457923B (zh) 路径规划方法、装置及存储介质
CN112650306A (zh) 一种基于动力学rrt*的无人机运动规划方法
WO2016200629A1 (en) Vehicle collision prevention
AU2018364811A1 (en) System and method for mission planning, flight automation, and capturing of high-resolution images by unmanned aircraft
CN114771551A (zh) 自动驾驶车辆轨迹规划方法、装置和自动驾驶车辆
Medeiros et al. A Dijkstra algorithm for fixed-wing UAV motion planning based on terrain elevation
Hurni et al. A pseudospectral optimal motion planner for autonomous unmanned vehicles
CN111176324B (zh) 一种多无人机分布式协同编队规避动态障碍的方法
US11986964B2 (en) Path determination device, robot, and path determination method
Yaguchi et al. A waypoint navigation method with collision avoidance using an artificial potential method on random priority
Liu et al. Towards collaborative mapping and exploration using multiple micro aerial robots
Casas et al. Implementable self-organized flocking algorithm for uavs based on the emergence of virtual roads

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right