KR101946429B1 - 다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템 및 방법 - Google Patents

다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템 및 방법 Download PDF

Info

Publication number
KR101946429B1
KR101946429B1 KR1020170117665A KR20170117665A KR101946429B1 KR 101946429 B1 KR101946429 B1 KR 101946429B1 KR 1020170117665 A KR1020170117665 A KR 1020170117665A KR 20170117665 A KR20170117665 A KR 20170117665A KR 101946429 B1 KR101946429 B1 KR 101946429B1
Authority
KR
South Korea
Prior art keywords
target
drones
state
drone
rule
Prior art date
Application number
KR1020170117665A
Other languages
English (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 KR1020170117665A priority Critical patent/KR101946429B1/ko
Application granted granted Critical
Publication of KR101946429B1 publication Critical patent/KR101946429B1/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/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/104Simultaneous control of position or course in three dimensions specially adapted for aircraft involving a plurality of aircrafts, e.g. formation flying
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • 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/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0043Traffic management of multiple aircrafts from the ground
    • B64C2201/143
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/10UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]
    • B64U2201/102UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS] adapted for flying in formations

Landscapes

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

Abstract

본원은 드론 비행 제어 시스템에 관한 것으로, 본원의 일 실시예에 따른 임무형 플로킹 알고리즘을 이용한 드론 비행 제어 시스템은, 대상드론에 관한 드론 정보 및 임무 여부에 기초하여 상기 대상드론의 상태를 인지하는 자기 추정 에이전트, 상기 대상드론의 주변을 센싱하여 상기 대상드론 주변의 물체에 대한 물체 정보를 인식하는 주변 인식 에이전트, 상기 대상드론의 상태 및 상기 물체 정보에 기초하여 상기 대상드론의 상황을 인식하는 상황 인식 에이전트, 상기 상황에 대응하는 상기 대상드론의 행동 방향을 결정하는 계획 에이전트 및 결정된 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙에 기초하여 상기 대상드론을 제어하는 행동 에이전트를 포함할 수 있다.

Description

다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템 및 방법{DRONE FLIGHT CONTROL SYSTEM AND METHOD BY MISSION BASED FLOCKING ALGORITHM USING MULTI-AGENT ARCHITECTURE}
본원은 다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템(장치) 및 방법에 관한 것이다.
AI의 전형적인 접근 방법으로써, 전문가시스템, 다중에이전트 시스템 등을 비롯한 규칙기반의 논리 추론 방식인 '하향식' 접근 방법과 인공신경회로망, 플로킹 알고리즘과 같이 단순 개체간의 부분적 상호작용을 통해 전체적인 행동이 결정되는 '상향식' 접근 방법이 있다.
플로킹 알고리즘(Flocking Algorithm)은 새, 벌, 물고기 등의 군집을 이루어 이동하는 행동을 분석한 알고리즘으로서, 최근에는 다수의 드론의 제어를 위해 적용되는 방법으로 연구되고 있다. 집단에 속한 자동화된 에이전트를 보이드(Boid)라고 하는데, 플로킹 알고리즘은 보이드(드론)가 주변의 다른 보이드들과 적당한 거리를 유지하도록 하는 분리(Separation) 규칙, 보이드가 주변의 다른 개체들과 동일한 방향과 속도를 유지하도록 하는 정렬(Alignment) 규칙, 주변 보이드들과의 평균 위치로 갈 수 있도록 하는 응집(Cohesion) 규칙으로 구성된다. 이 세 가지 규칙을 통해 새 떼나 물고기 떼 등과 비슷한 집단행동이 구현된다. 그러나, 기존의 플로킹 알고리즘과 같은 상향식 시스템에 관한 연구에서는 환경으로부터 얻은 정보에 대해 인간과 같이 합리적인 추론을 통한 행동을 하지 않으며, 그저 단순 개체간의 부분적인 규칙에 따라서만 행동하기 때문에 원하는 임무를 수행할 수 없다. 한편, 인간의 지식을 통해 보이드(드론)의 개개인의 행동을 각각 정해주는 하향식 시스템에 관한 연구에서는 급격한 환경 변화나 편대에 생기는 부분적인 결함으로 발생하는 문제에 대해 유연하게 대처할 수 없는 문제점이 있다.
본원의 배경이 되는 기술은 한국등록특허공보 제10-1685548호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 상향식 접근의 드론 제어 방법과 하향식 접근의 드론 제어 방법의 유기적인 접목(융합)을 통해 플로킹 알고리즘의 규칙을 따르면서도 논리적인 추론을 통한 목적 지향적 행위(임무)를 효과적으로 수행할 수 있는 드론 비행 제어 시스템 및 방법을 제공하는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들도 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 임무형 플로킹 알고리즘을 이용한 드론 비행 제어 시스템은, 대상드론에 관한 드론 정보 및 임무 여부에 기초하여 상기 대상드론의 상태를 인지(추정)하는 자기 추정 에이전트, 상기 대상드론의 주변을 센싱하여 상기 대상드론 주변의 물체에 대한 물체 정보를 인식하는 주변 인식 에이전트, 상기 대상드론의 상태 및 상기 물체 정보에 기초하여 상기 대상드론의 상황을 인식하는 상황 인식 에이전트, 상기 상황에 대응하는 상기 대상드론의 행동 방향을 결정하는 계획 에이전트 및 결정된 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙에 기초하여 상기 대상드론을 제어하는 행동 에이전트를 포함할 수 있다.
본원의 일 실시예에 따르면, 상기 자기 추정 에이전트는, 상기 대상드론의 위치 정보 및 비행 방향 정보를 상기 드론 정보로서 인식할 수 있다.
본원의 일 실시예에 따르면, 상기 주변 인식 에이전트는, 물체 탐지 센서를 통해 복수의 드론을 포함하는 드론 편대에 소속된 주변드론을 상기 물체로서 인식하는 경우, 상기 주변드론의 위치 및 방향을 수신하고, 상기 물체 탐지 센서를 통해 상기 주변드론이 인식되지 않은 경우, 상기 드론 편대의 목적지 정보를 수신할 수 있다.
본원의 일 실시예에 따르면, 상기 상황 인식 에이전트는, 상기 임무 여부에 기초하여 상기 대상드론의 임무 상태를 인식하고, 상기 임무 상태에 기초하여 상황 상태를 설정하되, 상기 임무가 있는 경우, 상기 임무 상태를 임무 수행 상태로 인식하고, 상기 임무가 없는 경우 상기 임무 상태를 플로킹 비행 상태로 인식할 수 있다.
본원의 일 실시예에 따르면, 상기 상황 인식 에이전트는, 상기 드론 편대에 소속된 드론 중 이웃하는 드론과의 이격 거리를 미리 설정된 충돌 가능 거리 및 물체 탐지 센서를 통한 탐지 가능 거리와 대비하여, 상기 대상드론의 상황 상태를 '충돌 위험', '평시', '무리 이탈' 중 어느 하나로 설정할 수 있다.
본원의 일 실시예에 따르면, 상기 상황 인식 에이전트는, 상기 대상드론이 상기 임무 수행 상태인 경우 상기 대상드론의 상황 상태 중 '무리 이탈'은 고려하지 않을 수 있다.
본원의 일 실시예에 따르면, 상기 상황 인식 에이전트는, 상기 대상드론이 상기 임무 수행 상태인 경우, 상기 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정하고, 상기 이격 거리가 상기 충돌 가능 거리를 벗어나면 상기 상황 상태를 평시로 설정하며, 상기 대상드론이 상기 플로킹 비행 상태인 경우, 상기 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정하고, 상기 이격 거리가 상기 충돌 가능 거리를 벗어나고 상기 탐지 가능 거리 이내이면 상기 상황 상태를 평시로 설정하며, 상기 이격 거리가 상기 탐지 가능 거리를 벗어나면 상기 상황 상태를 무리 이탈로 설정할 수 있다.
본원의 일 실시예에 따르면, 상기 계획 에이전트는, 상기 대상드론의 임무 상태 및 상황 상태에 기초하여 행동 방향을 결정하되, 상기 대상드론이 임무 수행 상태이고 평시로 설정된 경우 상기 행동 방향을 '개별 임무 수행'으로 결정하고, 상기 대상드론이 임무 수행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정하며, 상기 대상드론이 플로킹 비행 상태이고 평시로 설정된 경우 상기 행동 방향을 '평시 비행'으로 결정하고, 상기 대상드론이 플로킹 비행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정하며, 상기 대상드론이 플로킹 비행 상태이고 무리 이탈로 설정된 경우 상기 행동 방향을 '무리 합류'로 설정할 수 있다.
본원의 일 실시예에 따르면, 상기 플로킹 알고리즘은 정렬 규칙, 응집 규칙 및 분리 규칙을 포함하고, 상기 행동 에이전트는, 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙의 비중을 조절하되, 상기 행동 방향이 평시 비행인 경우, 상기 정렬 규칙, 응집 규칙 및 분리 규칙을 서로 동일한 비중으로 설정하고, 상기 행동 방향이 개별 임무 수행인 경우, 상기 정렬 규칙의 비중을 상기 응집 규칙 및 상기 분리 규칙보다 증가시키고, 상기 행동 방향이 충돌 회피인 경우, 상기 분리 규칙의 비중을 상기 정렬 규칙 및 상기 응집 규칙보다 증가시키고, 상기 행동 방향이 무리 합류인 경우, 상기 정렬 규칙 및 상기 응집 규칙의 비중을 상기 분리 규칙보다 증가시킬 수 있다.
본원의 일 실시예에 따르면, 상기 행동 에이전트는, 상기 플로킹 알고리즘의 규칙에 따라 상기 대상드론을 제어하기 위한 정렬 벡터, 응집 벡터 및 분리 벡터를 연산하고, 상기 설정된 정렬 규칙, 응집 규칙 및 분리 규칙의 비중을 고려하여 상기 대상드론을 제어할 수 있다.
본원의 일 실시예에 다른, 임무형 플로킹 알고리즘을 이용한 드론 비행 제어 방법은, 대상드론에 관한 드론 정보 및 임무 여부에 기초하여 상기 대상드론의 상태를 인지하는 단계, 상기 대상드론의 주변을 센싱하여 상기 대상드론 주변의 물체에 대한 물체 정보를 인식하는 단계, 상기 대상드론의 상태 및 상기 물체 정보에 기초하여 상기 대상드론의 상황을 인식하는 단계, 상기 상황에 대응하는 상기 대상드론의 행동 방향을 결정하는 단계 및 결정된 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙에 기초하여 상기 대상드론을 제어하는 단계를 포함할 수 있다.
본원의 일 실시예에 따르면, 상기 대상드론의 상태를 인지하는 단계는, 상기 대상드론의 위치 정보 및 비행 방향 정보를 상기 드론 정보로서 인식할 수 있다.
본원의 일 실시예에 따르면, 상기 물체 정보를 인식하는 단계는, 물체 탐지 센서를 통해 복수의 드론을 포함하는 드론 편대에 소속된 주변드론을 상기 물체로서 인식하는 경우, 상기 주변드론의 위치 및 방향을 수신하고, 상기 물체 탐지 센서를 통해 상기 주변드론이 인식되지 않은 경우, 상기 드론 편대의 목적지 정보를 수신할 수 있다.
본원의 일 실시예에 따르면, 상기 대상드론의 상황을 인식하는 단계는, 상기 임무 여부에 기초하여 상기 대상드론의 임무 상태를 인식하고, 상기 임무 상태에 기초하여 상황 상태를 설정하되, 상기 임무가 있는 경우, 상기 임무 상태를 임무 수행 상태로 인식하고, 상기 임무가 없는 경우, 상기 임무 상태를 플로킹 비행 상태로 인식할 수 있다.
본원의 일 실시예에 따르면, 상기 대상드론의 상황을 인식하는 단계는, 상기 드론 편대에 소속된 드론 중 이웃하는 드론과의 이격 거리를 미리 설정된 충돌 가능 거리 및 물체 탐지 센서를 통한 탐지 가능 거리와 대비하여, 상기 대상드론의 상황 상태를 '충돌 위험', '평시', '무리 이탈' 중 어느 하나로 설정할 수 있다.
본원의 일 실시예에 따르면, 상기 대상드론의 상황을 인식하는 단계는, 상기 대상드론이 상기 임무 수행 상태인 경우 상기 대상드론의 상황 상태 중 '무리 이탈'은 고려하지 않을 수 있다.
본원의 일 실시예에 따르면, 상기 대상드론의 상황을 인식하는 단계는, 상기 대상드론이 상기 임무 수행 상태인 경우, 상기 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정하고, 상기 이격 거리가 상기 충돌 가능 거리를 벗어나면 상기 상황 상태를 평시로 설정하며, 상기 대상드론이 상기 플로킹 비행 상태인 경우, 상기 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정하고, 상기 이격 거리가 상기 충돌 가능 거리를 벗어나고 상기 탐지 가능 거리 이내이면 상기 상황 상태를 평시로 설정하며, 상기 이격 거리가 상기 탐지 가능 거리를 벗어나면 상기 상황 상태를 무리 이탈로 설정할 수 있다.
본원의 일 실시예에 따르면, 상기 대상드론의 행동 방향을 결정하는 단계는, 상기 대상드론의 임무 상태 및 상황 상태에 기초하여 행동 방향을 결정하되, 상기 대상드론이 임무 수행 상태이고 평시로 설정된 경우 상기 행동 방향을 '개별 임무 수행'으로 결정하고, 상기 대상드론이 임무 수행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정하며, 상기 대상드론이 플로킹 비행 상태이고 평시로 설정된 경우 상기 행동 방향을 '평시 비행'으로 결정하고, 상기 대상드론이 플로킹 비행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정하며, 상기 대상드론이 플로킹 비행 상태이고 무리 이탈로 설정된 경우 상기 행동 방향을 '무리 합류'로 설정할 수 있다.
본원의 일 실시예에 따르면, 상기 플로킹 알고리즘은 정렬 규칙, 응집 규칙 및 분리 규칙을 포함하고, 상기 대상드론을 제어하는 단계는, 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙의 비중을 조절하되, 상기 행동 방향이 평시 비행인 경우, 상기 정렬 규칙, 응집 규칙 및 분리 규칙을 서로 동일한 비중으로 설정되고, 상기 행동 방향이 충돌 회피인 경우, 상기 분리 규칙의 비중을 상기 정렬 규칙 및 상기 응집 규칙보다 증가시키고, 상기 행동 방향이 무리 합류인 경우, 상기 정렬 규칙 및 상기 응집 규칙의 비중을 상기 분리 규칙보다 증가시킬 수 있다.
본원의 일 실시예에 따르면, 상기 대상드론을 제어하는 단계는, 상기 플로킹 알고리즘의 규칙에 따라 상기 대상드론을 제어하기 위한 정렬 벡터, 응집 벡터 및 분리 벡터를 연산하고, 상기 조절된 정렬 규칙, 응집 규칙 및 분리 규칙의 비중을 고려하여 상기 대상드론을 제어할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 플로킹 알고리즘을 이용하는 상향식 드론 제어 접근 방법과 인식한 드론의 상황(드론 자신 및 그 주변에 대한 상황)을 기반으로 드론의 행동 방향을 결정하는 하향식 드론 제어 접근 방법이 유기적으로 조합됨으로써, 플로킹 알고리즘의 규칙을 따르면서도 논리적인 추론을 통한 목적 지향적 행위(임무)를 효과적으로 수행할 수 있는 드론 비행 제어 시스템 및 방법이 제공될 수 있다.
도 1은 본원의 일 실시예에 따른 드론 비행 제어 시스템의 구성을 도시한 도면이다.
도 2는 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 자기 추정 에이전트의 동작 흐름을 나타낸 도면이다.
도 3은 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 주변 인식 에이전트의 동작 흐름을 나타낸 도면이다.
도 4는 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 상황 인식 에이전트의 동작 흐름을 나타낸 도면이다.
도 5는 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 계획 에이전트의 동작 흐름을 나타낸 도면이다.
도 6은 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 행동 에이전트의 동작 흐름을 나타낸 도면이다.
도 7은 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 행동 에이전트의 대상드론 제어의 동작 흐름을 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본원은 드론의 비행을 제어하는 시스템 및 방법에 관한 것이다. 보다 구체적으로, 본원은 다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의해 드론의 편대 비행과 같은 비행을 제어하는 시스템 및 방법에 관한 것이다. 예를 들면, 본원은 드론 각각의 행동이 합해져 집단 전체의 행동이 결정되는 상향식 시스템과 드론 편대 전체의 행동을 결정하기 위해 드론 각각의 행동을 결정하는 하향식 시스템을 유기적으로 결합하여 안전하고 효율적인 드론의 편대 비행 제어가 이루어지도록 하는 시스템(장치) 및 방법에 관한 것이다.
본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에 의하면 다수의 드론들이 자율적으로 작전을 수행할 수 있기 때문에, 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법은 군수, 국방 분야에서 넓은 지역에 대한 감시, 정찰, 수색 등의 작전에 적용될 수 있으며, 또한 민간에서도 다수의 드론을 통한 조난자 수색, 드론 물류 운송사업 등의 분야에서 활용될 수 있다. 다만, 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법의 적용 분야는 이에만 한정되는 것은 아니다.
도 1은 본원의 일 실시예에 따른 드론 비행 제어 시스템의 구성을 도시한 도면이다.
도 1을 참조하면, 드론 비행 제어 시스템은, 자기 추정 에이전트(110), 주변 인식 에이전트(120), 상황 인식 에이전트(130), 계획 에이전트(140) 및 행동 에이전트(150)를 포함할 수 있다.
이같이 드론 비행 제어 시스템은 다중 에이전트 구조를 포함한다. 이처럼 다중 에이전트 구조(Multi-Agent Architecture)는 주어진 환경에 대해 자율적으로 반응할 수 있는 시스템(장치)을 설계하는 데에 사용될 수 있다. 여기서, 에이전트 시스템이란 복잡하고 동적인 환경에서 목표를 달성하려고 시도하는 시스템을 말하며, 이를 위해 외부 환경과 센서와 행위자를 사용하여 상호 작용할 수 있다. 또한, 다중 에이전트 시스템(Multi-Agent Systems)이란 말 그대로 여러 개의 에이전트들이 상호 협력을 통하여 작업을 수행하는 시스템이라 할 수 있다.
또한, 본원 명세서 전체에서 '에이전트(agent)'란, 하드웨어에 의해 실현되는 유닛(unit) 또는 파트(part), 소프트웨어에 의해 실현되는 유닛 또는 파트, 양방을 이용하여 실현되는 유닛 또는 파트를 포괄하는 개념으로 이해될 수 있다. 또한, '에이전트'란 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 되는 넓은 개념으로 이해될 수 있다.
자기 추정 에이전트(110)는, 대상드론에 관한 드론 정보 및 임무 여부에 기초하여 대상드론의 상태를 인지할 수 있다. 대상드론이란, 드론 비행 제어 시스템을 통해 제어될 수 있는 드론을 의미한다. 이러한 대상드론은 특정한 드론 편대에 소속된 복수의 드론 중 어느 하나일 수 있다. 즉, 드론 편대에 소속된 복수의 드론 각각이 상기 대상드론으로서 드론 비행 제어 시스템에 의해 제어될 수 있다. 여기서, 드론(drone)은 무인 비행체(UAV; Unmanned Aerial Vehicle)를 지칭하는 넓은 개념으로 이해될 수 있다. 또한 드론 비행 제어 시스템은 특정한 드론 편대에 소속된 복수의 드론 각각을 상기 대상드론으로서 제어할 수 있다. 즉, 대상드론과 주변드론은 모두 특정한 드론 편대에 소속된 드론일 수 있다.
자기 추정 에이전트(110)는, 대상드론의 위치 정보 및 비행 방향 정보를 드론 정보로서 인식할 수 있다. 상기 위치 정보는 상기 대상드론에 구비된 위치 감지 센서를 통해 감지된 대상드론의 위치에 대한 정보를 포함하고, 비행 방향 정보는 상기 대상드론에 구비된 방향 감지 센서를 통해 수집된 대상드론의 비행 방향에 대한 정보를 포함할 수 있다. 이러한 위치 감지 및 비행 방향 감지를 위한 센서로는 당 분야의 통상의 기술자에게 기알려져 있거나 향후 개발될 예정인 다양한 센서들이 적용될 수 있으므로, 보다 구체적인 설명은 생략하기로 한다.
또한, 자기 추정 에이전트(110)는 대상드론이 수행중인 임무의 유무 여부를 파악할 수 있다. 상기 임무는 예시적으로, 주변드론과의 충돌을 피하기 위한 '충돌회피', 주변드론과 군집 비행을 수행하는 '플로킹 비행' 등이 있으며, 상기 임무에 대한 구체적인 설명은 뒤에서 보다 자세히 후술하기로 한다. 자기 추정 에이전트(110)는 대상드론의 위치 및 비행 방향에 대한 드론 정보와 임무의 유무 여부를 파악하여 상기 대상드론의 상태를 인지할 수 있다. 예시적으로, 자기 추정 에이전트(110)는 대상드론의 위치와 대상드론이 비행하는 방향을 실시간으로 감지할 수 있고, 대상드론이 어떤 임무를 수행하고 있는지를 대상드론의 상태로서 인지할 수 있다.
주변 인식 에이전트(120)는 센서를 통해 대상드론의 주변을 센싱하여 대상드론 주변의 물체에 대한 물체 정보를 인식할 수 있다. 상기 주변은 센서를 통해 센싱 가능한 거리 이내의 영역(공간)을 의미할 수 있다. 예시적으로, 상기 주변은 대상드론이 다른 복수의 드론과 함께 편대비행을 할 때 그와 소정의 간격을 두고 이웃하는 주변드론을 탐지 가능한 거리 이내의 영역(공간)일 수 있다. 또한, 상기 소정의 간격은 드론 편대비행에 있어서 통상적으로 허용되는 간격 범위 이내에 포함되는 간격일 수 있다. 또한, 상기 센서는 물체를 직접적으로 탐지하는 물체 탐지 센서일 수 있다. 예시적으로, 물체 탐지 센서는 초음파 센서, 광센서 등을 포함할 수 있으나, 반드시 이에 한정되는 것은 아니며 기알려진 물체 탐지 센서 및 향후 개발되는 물체 탐지 센서를 포함할 수 있다. 또한, 상기 물체 탐지 센서는 대상드론 주변의 물체와 무선 통신하여 식별번호 등을 확인하는 형태의 통신 센서일 수 있다. 이를테면 상기 물체 탐지 센서는 대상드론 주변의 물체로부터 신호를 수신하여 상기 주변의 물체가 동일한 드론 편대에 속하는 드론인지 여부를 판단하는 방식으로 대상드론의 주변을 센싱할 수 있다. 또한 대상드론 주변의 물체에 대한 물체 정보라 함은, 대상드론 주변에 물체가 존재하는지 여부에 대한 정보, 대상드론 주변에 물체가 있는 경우 해당 물체까지의 거리 및 방향 정보, 대상드론 주변에 물체가 다수개 있는 경우 상기 다수개의 물체 각각까지의 거리 및 방향 정보, 대상드론 주변의 물체가 드론이고 해당 드론으로부터 신호를 수신한 경우 해당 드론에 대한 정보(동일한 드론 편대에 속하는지 여부, 해당 드론의 위치 및 비행 방향, 해당 드론의 식별번호 또는 고유번호 등) 등을 포함할 수 있다.
주변 인식 에이전트(120)는 물체 탐지 센서를 통해 복수의 드론을 포함하는 드론 편대에 소속된 주변드론을 상기 물체로서 인식하는 경우, 주변드론의 위치 및 방향(비행 방향)을 수신할 수 있다. 상기 드론 편대는 복수의 드론들이 군집을 이루어 그룹화된 것을 의미할 수 있다. 드론 편대는 대상드론의 주변에 위치하는 주변드론을 포함할 수 있으며, 대상드론 또한 상기 드론 편대에 포함될 수 있다. 주변 인식 에이전트(120)는 주변드론을 대상드론 주변의 물체로 인식하는 경우, 주변드론의 위치 및 방향, 즉 주변드론의 위치 정보 및 방향 정보를 수신할 수 있다. 이 때, 주변드론의 위치 및 방향은 드론 비행 제어 시스템을 사용하는 사용자의 사용자 단말 또는 드론 비행 제어 시스템과 통신하는 서버로부터 수신할 수 있다. 드론 비행 제어 시스템은 상기 사용자 단말 또는 상기 서버에 포함되는 하드웨어 장치 또는 모듈(유닛)로서 구현될 수 있다. 뿐만 아니라, 드론 비행 제어 시스템은 사용자 단말 또는 상기 서버와 통신 연결되는 별도의 하드웨어 장치 또는 모듈(유닛)로 마련될 수도 있다.
예시적으로, 주변 인식 에이전트(120)는 주변드론으로부터 무선 통신을 통해 식별번호 또는 고유번호를 수신하면 이를 상기 사용자 단말 또는 상기 서버로 전달하고 상기 주변드론의 위치 및 방향에 대한 정보를 상기 사용자 단말 또는 상기 서버로부터 수신할 수 있다. 다른 예로, 주변 인식 에이전트(120)는 주변드론과의 무선 통신을 통해 상기 주변드론으로부터 상기 주변드론의 위치 및 방향에 대한 정보를 직접 수신할 수도 있을 것이다.
드론 비행 제어 시스템은 네트워크를 통해 사용자 단말, 서버, 또는 다른 드론(예를 들면 대상드론과 동일한 드론 편대에 속하는 드론 또는 대상드론이 속한 드론 편대에 속하지 않은 드론)와 통신할 수 있으며, 상기 네트워크의 일 예에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, Wi-fi네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크, 적외선 통신 등이 포함되나, 반드시 이에 한정되는 것은 아니다. 또한, 드론 비행 제어 시스템과 네트워크를 통해 통신하는 사용자 단말은 예를 들면, PCS(Personal Communication System), GSM(Global System for Mobile communication), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트패드(SmartPad), 태블릿 PC, 스마트 TV등과 같은 모든 종류의 무선 통신 장치 및 영상 재생 장치를 포함할 수 있다.
전술한 바와 같이, 주변 인식 에이전트(120)는 상기 사용자 단말 또는 서버로부터 주변드론의 위치 및 방향을 수신할 뿐만 아니라, 주변드론으로부터 직접 주변드론의 위치 및 방향을 수신할 수 있다. 또한 주변 인식 에이전트(120)는 물체 탐지 센서를 통해 상기 주변드론을 포함하는 물체의 식별 및 물체의 위치 및 방향을 인식할 수도 있다.
주변 인식 에이전트(120)는 물체 탐지 센서를 통해 주변드론이 인식되지 않은 경우, 드론 편대의 목적지 정보를 수신할 수 있다. 주변 인식 에이전트(120)는 대상드론의 주변에 동일한 드론 편대에 속한 드론이 존재하지 않는 것으로 판단되는 경우, 상기 사용자 단말 또는 서버로부터 대상드론이 속한 드론 편대의 목적지 정보를 수신할 수 있다. 행동 에이전트(150)는 상기 대상드론이 속한 드론 편대의 목적지 정보에 기초하여 대상드론을 제어할 수 있다. 즉, 행동 에이전트(150)는 드론 편대의 목적지 정보에 기초하여 대상드론이 드론 편대에 다시 합류할 수 있도록 대상드론을 제어할 수 있다. 행동 에이전트(150)의 구체적인 설명은 후술하기로 한다.
상황 인식 에이전트(130)는 대상드론의 상태 및 물체 정보에 기초하여 대상드론의 상황을 인식할 수 있다. 상황 인식 에이전트(130)는 상기 자기 추정 에이전트(110)에 의해 인지된 상기 대상드론의 상태에 기초하여 대상드론이 상기 사용자 단말 또는 서버로부터 임무를 전달 받았는지의 여부를 인식할 수 있다. 구현예에 따라서는 주변드론으로부터 상기 임무를 전달 받을 수도 있다. 상기 임무에는 예를 들어, 미리 설정된 영역 또는 지역의 감시 및 정찰, 미리 설정된 영역에서의 조난자 수색 및 물류 운송 등이 포함될 수 있으나 이에 한정되는 것은 아니다.
상황 인식 에이전트(130)는 임무 여부에 기초하여 대상드론의 임무 상태를 인식할 수 있다. 상황 인식 에이전트(130)는 대상드론이 사용자 단말, 서버 및 주변드론 중 어느 하나로부터 임무를 전달받은 경우, 즉 임무가 있는 경우, 임무 상태를 임무 수행 상태로 인식할 수 있다. 또한, 상황 인식 에이전트(130)는 임무가 없는 경우, 임무 상태를 플로킹 비행 상태로 인식할 수 있다. 플로킹 비행 상태란 드론 편대가 군집 비행하는 상태를 의미할 수 있다.
또한, 상황 인식 에이전트(130)는 임무 상태에 기초하여 상황 상태를 설정할 수 있다. 상황 인식 에이전트(130)는 상기 임무 수행 상태 및 플로킹 비행 상태 각각의 경우에 따라 대상드론의 상황 상태를 설정할 수 있다. 예시적으로, 상황 인식 에이전트(130)는 드론 편대에 소속된 드론 중 이웃하는 드론과의 이격 거리를 미리 설정된 충돌 가능 거리 및 물체 탐지 센서를 통한 탐지 가능 거리와 대비하여, 상기 대상드론의 상황 상태를 '충돌 위험', '평시', '무리 이탈' 중 어느 하나로 설정할 수 있다. 상기 드론 편대에 소속된 드론 중 이웃하는 드론은 대상드론의 주변에 위치하는 하나 이상의 주변드론일 수 있다. 상황 인식 에이전트(130)는 주변드론과의 이격 거리를 미리 설정된 충돌 가능 거리 및 상기 탐지 가능 거리와 비교하여 대상드론의 상황 상태를 설정할 수 있다. 이때, 대상드론이 상기 임무 수행 상태인 경우 상기 대상드론의 상황 상태 중 '무리 이탈'은 고려하지 않을 수 있다. 왜냐하면, 대상드론이 임무 수행 중일 경우에는 대상드론이 속한 드론 편대가 반드시 플로킹 비행(군집 비행)하는 것이 아니라 서로 산개하는(흩어져 벌어지는) 등 무리 이탈하는 형태로 임무 수행이 이루어질 수도 있기 때문이다.
예시적으로, 상황 인식 에이전트(130)는 대상드론이 임무 수행 상태인 경우, 상기 이격 거리가 충돌 가능 거리 이내이면 상황 상태를 충돌 위험으로 설정할 수 있다. 상황 인식 에이전트(130)는 대상드론이 임무를 수행하는 과정에서 주변드론과의 이격 거리가 미리 설정된 충돌 가능 거리 이하로 주변드론과 가까워지는 경우, 대상드론의 상황 상태를 충돌 위험으로 설정할 수 있다. 또한, 주변드론 외에도 주변의 물체와의 이격 거리가 충돌 가능 거리 이하인 경우에도 대상드론의 상황 상태를 충돌 위험으로 설정할 수 있다. 계획 에이전트(140)는 대상드론이 충돌을 회피할 수 있도록 대상드론의 행동 방향을 결정할 수 있다. 계획 에이전트의 행동 방향 결정은 보다 뒤에서 살펴보기로 한다. 또한, 상황 인식 에이전트(130)는 상기 이격 거리가 충돌 가능 거리를 벗어나면 상황 상태를 평시로 설정할 수 있다. 즉, 상황 인식 에이전트(130)는 대상드론이 임무를 수행하는 과정에서 주변드론(물체)과의 이격 거리가 미리 설정된 충돌 가능 거리를 초과하면, 대상드론의 상황 상태를 평시로 설정할 수 있다.
또한, 상황 인식 에이전트(130)는 대상드론이 플로킹 비행 상태인 경우, 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정할 수 있다. 대상드론과 주변드론이 동일한 드론 편대 내에서 군집 비행하는 플로킹 비행 상태에서, 상황 인식 에이전트(130)는 대상드론과 주변드론 사이의 이격 거리가 충돌 가능 거리 이하이면 대상드론의 상황 상태를 충돌 위험으로 설정할 수 있다. 또한, 상황 인식 에이전트(130)는 대상드론과 주변의 물체 사이의 이격 거리가 충돌 가능 거리 이하인 경우에도 대상드론의 상황 상태를 충돌 위험으로 설정할 수 있을 것이다.
또한, 상황 인식 에이전트(130)는 대상드론이 플로킹 비행 상태이고, 상기 이격 거리가 충돌 가능 거리를 벗어나고 탐지 가능 거리 이내이면 상황 상태를 평시로 설정할 수 있다. 상황 인식 에이전트(130)는 대상드론이 현재 수행중인 임무가 없어 플로킹 비행 상태인 경우, 주변드론(물체)과의 이격 거리가 미리 설정된 충돌 가능 거리를 초과하고, 물체 탐지 센서를 통한 탐지 가능 거리 이하이면, 대상드론의 상황 상태를 평시로 설정할 수 있다. 예시적으로, 미리 설정된 충돌 가능 거리는 물체 탐지 센서를 통한 탐지 가능 거리보다 작게 설정되는 거리 값일 수 있다.
또한, 상황 인식 에이전트(130)는 대상드론이 플로킹 비행 상태이고, 주변드론과의 이격 거리가 탐지 가능 거리를 벗어나면 상기 상황 상태를 무리 이탈로 설정할 수 있다. 즉, 대상드론과 주변드론과의 이격 거리가 물체 탐지 센서를 통한 탐지 가능 거리를 초과하면, 대상드론이 드론 편대로부터 이탈된 상태인 것으로 인식할 수 있으며, 이에 따라 대상드론의 상황 상태를 무리 이탈로 설정할 수 있다. 이때, 계획 에이전트(140)는 대상드론이 다시 드론 편대에 합류할 수 있도록 대상드론의 행동 방향을 결정할 수 있다.
계획 에이전트(140)는 대상드론의 상황에 대응하는 상기 대상드론의 행동 방향을 결정할 수 있다. 대상드론의 행동 방향은 임무상태 및 설정된 상황 상태에 기초하여, 대상드론을 제어하기 위해 결정되는 대상드론의 행동의 방향을 의미한다. 예시적으로, 계획 에이전트(140)는 대상드론의 임무 상태 및 상황 상태에 기초하여 행동 방향을 결정할 수 있다. 예시적으로, 대상드론이 임무 수행 상태이고 평시로 설정된 경우 행동 방향을 '개별 임무 수행'으로 결정할 수 있다. 상기 개별 임무 수행은 대상드론에 전달된 임무(예를 들면, 감시 및 정찰, 조난자 수색, 물류 운송 등)를 수행하도록 하는 행동 방향일 수 있다. 계획 에이전트(140)는 대상드론이 임무 상태이고 주변드론 또는 물체와의 충돌 위험 상황상황이 아닌 경우, 보통의 비행 상태인 것으로 판단하여, 대상드론의 행동 방향을 수행 중인 임무를 계속 진행하는 개별 임무 수행으로 결정할 수 있다.
또한, 계획 에이전트(140)는 대상드론이 임무 수행 상태이고 충돌 위험으로 설정된 경우 행동 방향을 '충돌 회피'로 결정할 수 있다. 상기 충돌 회피는 상기 대상드론이 주변드론(물체)와의 이격 거리가 미리 설정된 충돌 가능 거리를 벗어나도록 즉 초과하도록 대상드론을 제어하는 행동 방향일 수 있다. 또한 충돌 회피는 상기 이격 거리가 미리 설정된 충돌 가능 거리는 벗어나되, 물체 탐지 센서를 통한 탐지 가능 거리는 벗어나지 않도록 하는 행동 방향일 수 있다.
또한, 계획 에이전트(140)는 상기 대상드론이 플로킹 비행 상태이고 평시로 설정된 경우 상기 행동 방향을 '평시 비행'으로 결정할 수 있다. 상기 평시 비행은 대상드론의 비행 상태를 계속해서 유지하는 행동 방향일 수 있다.
또한, 계획 에이전트(140)는 상기 대상드론이 플로킹 비행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정할 수 있다. 플로킹 비행 상태의 충돌 회피 또한, 상술한 임무 수행 상태에서의 충돌 회피와 동일 내지 유사하게 이해될 수 있다.
또한, 계획 에이전트(140)는 상기 대상드론이 플로킹 비행 상태이고 무리 이탈로 설정된 경우 상기 행동 방향을 '무리 합류'로 설정할 수 있다. 상기 무리 합류는 대상드론이 드론 편대에 다시 합류하는 비행 경로를 따라 비행하도록 대상드론을 제어하는 행동 방향일 수 있다. 이때, 계획 에이전트(140)는 주변 인식 에이전트(120)에서 수신한 드론 편대의 목적지 정보를 활용할 수 있다. 예시적으로, 대상드론이 드론 편대의 목적지를 향해 비행하도록 제어됨으로써 드론 편대에 합류하도록 유도할 수 있다. 이때, 무리 합류는 대상드론이 주변드론과의 이격 거리가 물체 탐지 센서를 통한 탐지 거리 이내가 되도록 하되, 미리 설정된 충돌 가능 거리 이하가 되지 않도록 대상드론을 제어하는 행동 방향에 따라 이루어질 수 있다.
행동 에이전트(150)는 결정된 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙에 기초하여 상기 대상드론을 제어할 수 있다. 플로킹 알고리즘은 새, 벌, 물고기 등이 군집을 이루어 이동하는 행동을 분석한 알고리즘으로서, 군집에 소속된 개체들의 제어를 위한 알고리즘이다. 예시적으로, 상기 플로킹 알고리즘은 정렬 규칙(Alignment), 응집 규칙(Cohesion) 및 분리 규칙(Separation)을 포함할 수 있다. 정렬 규칙은 대상개체가 주변의 다른 개체들과 동일한 방향과 속도를 유지하도록 하는 알고리즘 규칙이고, 응집 규칙은 대상개체가 주변 개체들과의 평균 위치로 갈 수 있도록 하는 알고리즘 규칙이다. 또한, 분리 규칙은 대상개체가 주변의 다른 개체들과 적당한 거리를 유지하도록 하는 알고리즘 규칙이다. 상기 플로킹 알고리즘 및 각 규칙들은 당 분야의 통상의 기술자에게 자명한 것이므로 구체적인 설명은 생략하기로 한다.
행동 에이전트(150)는 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙의 비중을 조절할 수 있다. 상기 알고리즘 규칙의 비중의 조절이란, 행동 방향에 따라 상기 정렬 규칙 응집 규칙 분리 규칙의 가중치를 서로 다르게 조절하는 것을 의미할 수 있다. 예시적으로, 행동 에이전트(150)는 대상드론의 설정된 행동 방향이 평시 비행인 경우, 상기 정렬 규칙, 응집 규칙 및 분리 규칙을 서로 동일한 비중으로 설정할 수 있다. 평시 비행인 경우, 대상드론의 비행 상태(비행 방향, 속력 등)가 계속 유지되도록 상기 정렬 규칙, 응집 규칙 및 분리 규칙이 서로 동일한 1:1:1의 비중으로 설정될 수 있다.
또한, 행동 에이전트(150)는 대상드론의 설정된 행동 방향이 개별 임무 수행인 경우, 상기 정렬 규칙의 비중을 상기 응집 규칙 및 상기 분리 규칙보다 증가시킬 수 있다. 개별 임무 수행인 경우, 대상드론이 현재 수행해야 할 임무를 수행할 수 있도록 정렬 규칙의 비중을 응집 규칙 및 분리 규칙보다 높게 설정될 수 있다. 또한, 행동 에이전트(150)는 대상드론의 설정된 행동 방향이 충돌 회피인 경우, 상기 분리 규칙의 비중을 상기 정렬 규칙 및 상기 응집 규칙보다 증가시킬 수 있다. 분리 규칙은 주변과 거리를 유지하는 알고리즘 규칙이므로, 분리 규칙의 비중을 다른 규칙보다 상대적으로 높게 설정함으로써, 대상드론이 주변드론과의 충돌을 회피하도록 유도할 수 있다. 예를 들어, 분리 규칙의 비중은 증가시키고, 정렬 규칙 및 응집 규칙의 비중은 감소시킬 수 있다. 또한, 행동 에이전트(150)는 대상드론의 설정된 행동 방향이 무리 합류인 경우, 상기 정렬 규칙 및 상기 응집 규칙의 비중을 상기 분리 규칙보다 증가시킬 수 있다. 무리 합류의 경우, 주변드론과 동일한 방향과 속도를 유지하는 정렬 규칙과 대상드론과 주변드론을 응집하는 응집 규칙의 비중을 분리 규칙보다 높게 설정함으로써, 대상드론이 드론 편대에 소속되도록 유도할 수 있다. 예를 들어 정렬 규칙, 응집 규칙의 비중은 증가시키고 및 분리 규칙의 비중은 감소시킬 수 있다.
행동 에이전트(150)는 플로킹 알고리즘의 규칙에 따라 상기 대상드론을 제어하기 위한 정렬 벡터, 응집 벡터 및 분리 벡터를 연산할 수 있다. 행동 에이전트(150)는 상기 정렬 규칙의 정렬 벡터, 응집 규칙의 응집 벡터 및 분리 규칙의 분리 벡터를 각각 연산할 수 있다. 또한, 행동 에이전트(150)는 설정된 정렬 규칙, 응집 규칙 및 분리 규칙의 비중을 고려하여 대상드론을 제어할 수 있다. 대상드론의 결정된 행동 방향에 따라 플로킹 알고리즘의 규칙의 비중이 설정되면, 행동 에이전트(150)는 설정된 비중을 정렬 벡터, 응집 벡터 및 분리 벡터에 적용하여 대상드론을 제어할 수 있다.
상술한 바와 같이 대상드론은 드론 비행 제어 시스템에 의해 제어될 수 있다. 대상드론 뿐만 아니라 주변드론 또한 드론 비행 제어 시스템에 의해 제어될 수 있다. 다시 말해, 드론 편대에 속한 각각의 드론들은 대상드론으로서 드론 비행 제어 시스템에 의해 제어될 수 있다. 따라서, 드론 각각의 제어를 통해 드론 편대의 제어 또한 가능할 수 있다.
한편, 이하에서는 본원의 일 실시예에 따른 드론 비행 제어 방법에 대하여 설명한다. 다만, 본원의 일 실시예에 따른 드론 비행 제어 방법은 본원의 일 실시예에 따른 드론 비행 제어 시스템(장치)에 의해 수행되는 것으로서, 앞서 설명한 본원의 일 실시예에 따른 드론 비행 제어 시스템과 동일하거나 상응하는 기술적 특징을 가진다고 할 것이므로, 동일 내지 유사한 구성에 대해서는 동일한 도면부호를 사용하고, 중복되는 설명은 간략히 하거나 생략하기로 한다.
도 2는 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 자기 추정 에이전트의 동작 흐름을 나타낸 도면이다.
자기 추정 에이전트(110)는 대상드론에 관한 드론 정보 및 임무 여부에 기초하여 대상드론의 상태를 인지할 수 있다. 예시적으로 도 2를 참조하면, 단계 S110에서 자기 추정 에이전트(110)는 상기 대상드론에 구비된 위치 감지 센서 및 방향 감지 센서를 통해 상기 위치 정보 및 비행 방향 정보를 수집할 수 있다. 자기 추정 에이전트(110)는 대상드론의 위치 정보 및 비행 방향 정보를 드론 정보로서 인식할 수 있다.
단계 S120에서 자기 추정 에이전트(110)는 대상드론의 위치와 대상드론이 비행하는 방향을 실시간으로 감지할 수 있고, 대상드론이 어떤 임무를 수행하고 있는지를 대상드론의 상태로서 인지(추정)할 수 있다.
도 3은 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 주변 인식 에이전트의 동작 흐름을 나타낸 도면이다.
도 3을 참조하면 단계 S210에서 주변 인식 에이전트(120)는 대상드론의 주변을 센싱하여 대상드론 주변의 물체에 대한 물체 정보를 인식할 수 있다. 단계 S220에서 주변 인식 에이전트(120)는 물체 정보의 인식 여부를 확인할 수 있다. 단계 S230에서 주변 인식 에이전트(120)는 물체 탐지 센서를 통해 주변드론이 인식되지 않은 경우, 드론 편대의 목적지 정보를 수신할 수 있다. 예시적으로, 주변 인식 에이전트(120)는 상기 사용자 단말, 서버, 또는 주변드론으로부터 드론 편대의 목적지 정보를 수신할 수 있다. 또한, 단계 S240에서 주변 인식 에이전트(120)는 물체 탐지 센서를 통해 복수의 드론을 포함하는 드론 편대에 소속된 주변드론을 상기 물체로서 인식하는 경우, 주변드론의 위치 및 방향을 수신할 수 있다. 주변 인식 에이전트(120)는 주변드론을 물체로 인식하는 경우, 주변드론의 위치 및 방향, 즉 주변드론의 위치 정보 및 방향 정보를 수신할 수 있다. 이 때, 주변드론의 위치 및 방향은 드론 비행 제어 시스템을 사용하는 사용자의 사용자 단말, 드론 비행 제어 시스템과 통신하는 서버 또는 주변드론으로부터 수신할 수 있다.
도 4는 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 상황 인식 에이전트의 동작 흐름을 나타낸 도면이다.
상황 인식 에이전트(130)는 대상드론의 상태 및 물체 정보에 기초하여 상기 대상드론의 상황을 인식할 수 있다. 상황 인식 에이전트(130)는 상기 자기 추정 에이전트(110)에 의해 인지된 상기 대상드론의 상태에 기초하여 대상드론이 상기 사용자 단말, 서버 또는 주변드론으로부터 임무를 전달 받았는지의 여부를 인식할 수 있다. 또한 임무의 여부에 따라 대상드론의 상황을 인식할 수 있다. 구체적으로, 도 4를 참조하면 단계 S301에서 상황 인식 에이전트(130)는 임무 여부에 기초하여 대상드론의 임무 상태를 인식할 수 있다. 단계 S302에서 상황 인식 에이전트(130)는 사용자 단말, 서버, 주변드론 중 어느 하나로부터 임무를 전달받은 경우, 즉 임무가 있는 경우, 임무 상태를 임무 수행 상태로 인식할 수 있다. 또한 단계 S304에서 상황 인식 에이전트(130)는 임무가 없는 경우, 임무 상태를 플로킹 비행 상태로 인식할 수 있다.
또한, 상황 인식 에이전트(130)는 임무 상태에 기초하여 상황 상태를 설정할 수 있다. 상황 인식 에이전트(130)는 상기 임무 수행 상태 및 플로킹 비행 상태 각각의 경우에 따라 대상드론의 상황 상태를 설정할 수 있다. 예시적으로, 상황 인식 에이전트(130)는 드론 편대에 소속된 드론 중 이웃하는 드론과의 이격 거리를 미리 설정된 충돌 가능 거리 및 물체 탐지 센서를 통한 탐지 가능 거리와 대비하여, 상기 대상드론의 상황 상태를 '충돌 위험', '평시', '무리 이탈' 중 어느 하나로 설정할 수 있다. 상기 드론 편대에 소속된 드론 중 이웃하는 드론은 대상드론의 주변에 위치하는 하나 이상의 주변드론일 수 있다. 상황 인식 에이전트(130)는 주변드론과의 이격 거리를 미리 설정된 충돌 가능 거리 및 상기 탐지 가능 거리와 비교하여 상황 상태를 설정할 수 있다. 이때, 대상드론이 상기 임무 수행 상태인 경우 상기 대상드론의 상황 상태 중 '무리 이탈'은 고려하지 않을 수 있다.
상황 상태의 설정을 구체적으로 설명하면, 단계 S303에서, 상황 인식 에이전트(130)는 대상드론이 임무 수행 상태인 경우, 상기 이격 거리와 충돌 가능 거리를 비교할 수 있다. 단계 S307에서, 상황 인식 에이전트(130)는 상기 이격 거리가 충돌 가능 거리 이내이면 상황 상태를 충돌 위험으로 설정할 수 있다. 상황 인식 에이전트(130)는 대상드론이 임무를 수행하는 과정에서 주변드론과의 이격 거리가 미리 설정된 충돌 가능 거리 이하로 주변드론과 가까워지는 경우, 대상드론의 상황 상태를 충돌 위험으로 설정할 수 있다. 또한, 주변드론 외에도 주변의 물체와의 이격 거리가 충돌 가능 거리 이하인 경우에도 대상드론의 상황 상태를 충돌 위험으로 설정할 수 있다. 단계S308에서, 상황 인식 에이전트(130)는 상기 이격 거리가 충돌 가능 거리를 벗어나면 상황 상태를 평시로 설정할 수 있다. 상황 인식 에이전트(130)는 대상드론이 현재 수행중인 임무가 없어 플로킹 비행 상태인 경우, 주변드론(물체)과의 이격 거리가 미리 설정된 충돌 가능 거리를 초과하고, 물체 탐지 센서를 통한 탐지 가능 거리 이하인 경우, 대상드론의 상황 상태를 평시로 설정할 수 있다.
단계 S305에서 상황 인식 에이전트(130)는 대상드론이 플로킹 비행 상태인 경우, 상기 이격 거리와 충돌 가능 거리를 비교할 수 있다. 단계 S306에서 상황 인식 에이전트(130)는 대상드론이 플로킹 비행 상태이고, 주변드론과의 이격 거리가 탐지 가능 거리를 벗어나면 상기 상황 상태를 무리 이탈로 설정할 수 있다. 즉, 대상드론과 주변드론과의 이격 거리가 물체 탐지 센서를 통한 탐지 가능 거리를 초과하면, 대상드론이 드론 편대로부터 이탈된 상태인 것으로 인식할 수 있으며, 이에 따라 대상드론의 상황 상태를 무리 이탈로 설정할 수 있다.
또한, 상황 인식 에이전트(130)는 대상드론이 플로킹 비행 상태인 경우, 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정할 수 있다. 대상드론과 주변드론이 동일한 드론 편대 내에서 군집 비행하는 플로킹 비행 상태에서, 상황 인식 에이전트(130)는 상술한 단계 S307과 같이, 대상드론과 주변드론 사이의 이격 거리가 충돌 가능 거리 이하이면 대상드론의 상황 상태를 충돌 위험으로 설정할 수 있다. 또한, 상황 인식 에이전트(130)는 대상드론과 주변의 물체 사이의 이격 거리가 충돌 가능 거리 이하인 경우에도 대상드론의 상황 상태를 충돌 위험으로 설정할 수 있을 것이다.
또한, 상황 인식 에이전트(130)는 대상드론이 플로킹 비행 상태이고, 상기 이격 거리가 충돌 가능 거리를 벗어나고 탐지 가능 거리 이내이면 상황 상태를 평시로 설정할 수 있다. 상황 인식 에이전트(130)는 대상드론이 현재 수행중인 임무가 없어 플로킹 비행 상태인 경우, 주변드론(물체)과의 이격 거리가 미리 설정된 충돌 가능 거리를 초과하고, 물체 탐지 센서를 통한 탐지 가능 거리 이하이면, 상술한 단계 S308과 같이 대상드론의 상황 상태를 평시로 설정할 수 있다.
도 5는 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 계획 에이전트의 동작 흐름을 나타낸 도면이다.
계획 에이전트(140)는 대상드론의 상황에 대응하는 상기 대상드론의 행동 방향을 결정할 수 있다. 도 5를 참조하면, 대상드론의 행동 방향은 설정된 상황 상태에 기초하여, 대상드론을 제어하기 위해 결정되는 대상드론의 행동의 방향을 의미한다. 예시적으로, 계획 에이전트(140)는 대상드론의 임무 상태 및 상황 상태에 기초하여 행동 방향을 결정할 수 있다. 단계 S401에서 계획 에이전트(140)는 대상드론의 임무 상태를 확인할 수 있다. 단계 S402에서 계획 에이전트(140)는 대상드론이 임무 수행 상태일 때의 상황 상태를 확인할 수 있다. 단계 S403에서 계획 에이전트(140)는 대상드론이 임무 수행 상태이고 평시로 설정된 경우 행동 방향을 '개별 임무 수행'으로 결정할 수 있다. 상기 개별 임무 수행은 대상드론에 전달된 임무(예를 들면, 감시 및 정찰, 조난자 수색, 물류 운송)를 수행하도록 하는 행동 방향일 수 있다. 계획 에이전트(140)는 대상드론이 임무 상태이고 주변드론 또는 물체와의 충돌 위험이 아닌 경우, 보통의 비행 상태인 것으로 판단하여, 대상드론의 행동 방향을 수행 중인 임무를 계속 진행하는 개별 임무 수행으로 결정할 수 있다.
단계 S406에서 계획 에이전트(140)는 대상드론이 임무 수행 상태이고 충돌 위험으로 설정된 경우 행동 방향을 '충돌 회피'로 결정할 수 있다. 상기 충돌 회피는 상기 대상드론이 주변드론(물체)와의 이격 거리가 미리 설정된 충돌 가능 거리를 벗어나도록 즉 초과하도록 대상드론을 제어하는 행동 방향일 수 있다. 또한 충돌 회피는 상기 이격 거리가 미리 설정된 충돌 가능 거리는 벗어나되, 물체 탐지 센서를 통한 탐지 가능 거리는 벗어나지 않도록 하는 행동 방향일 수 있다.
또한, 단계 S404에서 계획 에이전트(140)는 대상드론이 플로킹 비행 상태일 때의 상황 상태를 확인할 수 있다. 단계 S405에서 계획 에이전트(140)는 상기 대상드론이 플로킹 비행 상태이고 무리 이탈로 설정된 경우 상기 행동 방향을 '무리 합류'로 설정할 수 있다. 상기 무리 합류는 대상드론이 드론 편대에 합류하는 비행 경로를 따라 비행하도록 대상드론을 제어하는 행동 방향일 수 있다. 이때, 계획 에이전트(140)는 주변 인식 에이전트(120)에서 수신한 드론 편대의 목적지 정보를 활용할 수 있다. 또한, 계획 에이전트(140)는 대상드론이 플로킹 비행 상태이고 충돌 위험으로 설정된 경우 행동 방향을 '충돌 회피'로 결정할 수 있다. 계획 에이전트(140)는 상술한 단계 S406과 같이 상황 상태가 충돌 위험인 경우, 행동 방향을 충돌 회피로 결정할 수 있다. 단계 S407에서 계획 에이전트(140)는 상기 대상드론이 플로킹 비행 상태이고 평시로 설정된 경우 상기 행동 방향을 '평시 비행'으로 결정할 수 있다. 상기 평시 비행은 대상드론의 비행 상태를 계속 유지하는 행동 방향일 수 있다.
도 6은 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 행동 에이전트의 동작 흐름을 나타낸 도면이다.
행동 에이전트(150)는 결정된 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙에 기초하여 상기 대상드론을 제어할 수 있다. 또한, 행동 에이전트(150)는 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙의 비중을 조절할 수 있다. 도 6을 참조하면, 단계 S501에서 행동 에이전트(150)는 결정된 대상드론의 행동 방향을 확인할 수 있다. 단계 S502에서 행동 에이전트(150)는 대상드론의 설정된 행동 방향이 평시 비행인 경우, 상기 정렬 규칙, 응집 규칙 및 분리 규칙을 서로 동일한 비중으로 설정할 수 있다. 단계 S503에서 행동 에이전트(150)는 대상드론의 설정된 행동 방향이 개별 임무 수행인 경우, 상기 정렬 규칙의 비중을 상기 응집 규칙 및 상기 분리 규칙보다 증가시킬 수 있다. 개별 임무 수행인 경우, 대상드론이 현재 수행해야할 임무를 수행할 수 있도록 정렬 규칙의 비중을 응집 규칙 및 분리 규칙보다 높게 설정할 수 있다.
단계 S504에서 행동 에이전트(150)는 대상드론의 설정된 행동 방향이 무리 합류인 경우, 상기 정렬 규칙 및 상기 응집 규칙의 비중을 상기 분리 규칙보다 증가시킬 수 있다. 무리 합류의 경우, 주변드론과 동일한 방향과 속도를 유지하는 정렬 규칙과 대상드론과 주변드론을 응집하는 응집 규칙의 비중을 분리 규칙보다 높게 설정함으로써, 대상드론이 드론 편대에 소속되도록 유도할 수 있다. 단계 S505에서 행동 에이전트(150)는 대상드론의 설정된 행동 방향이 충돌 회피인 경우, 상기 분리 규칙의 비중을 상기 정렬 규칙 및 상기 응집 규칙보다 증가시킬 수 있다. 분리 규칙은 주변과 거리를 유지하는 알고리즘 규칙이므로, 분리 규칙의 비중을 다른 규칙보다 상대적으로 높게 설정함으로써, 대상드론이 주변드론과의 충돌을 회피하도록 유도할 수 있다.
도 7은 본원의 일 실시예에 따른 드론 비행 제어 시스템 및 방법에서 행동 에이전트의 대상드론 제어의 동작 흐름을 나타낸 도면이다.
행동 에이전트(150)는 플로킹 알고리즘의 규칙에 따라 상기 대상드론을 제어하기 위한 정렬 벡터, 응집 벡터 및 분리 벡터를 연산할 수 있다. 도 7을 참조하면 단계 S610에서 행동 에이전트(150)는 상기 정렬 규칙의 정렬 벡터, 응집 규칙의 응집 벡터 및 분리 규칙의 분리 벡터를 각각 연산할 수 있다. 또한, 단계 S620에서 행동 에이전트(150)는 설정된 정렬 규칙, 응집 규칙 및 분리 규칙의 비중을 고려하여 대상드론을 제어할 수 있다. 대상드론의 결정된 행동 방향에 따라 플로킹 알고리즘의 규칙의 비중이 설정되면, 행동 에이전트(150)는 설정된 비중을 정렬 벡터, 응집 벡터 및 분리 벡터에 적용하여 대상드론을 제어할 수 있다.
본원의 일 실시 예에 따른 드론 비행 제어 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
110: 자기 추정 에이전트
120: 주변 인식 에이전트
130: 상황 인식 에이전트
140: 계획 에이전트
150: 행동 에이전트

Claims (21)

  1. 드론 비행 제어 시스템에 있어서,
    대상드론에 관한 드론 정보 및 임무 여부에 기초하여 상기 대상드론의 상태를 인지하는 자기 추정 에이전트;
    상기 대상드론의 주변을 센싱하여 상기 대상드론 주변의 물체에 대한 물체 정보를 인식하는 주변 인식 에이전트;
    상기 대상드론의 상태 및 상기 물체 정보에 기초하여 상기 대상드론의 상황을 인식하는 상황 인식 에이전트;
    상기 상황에 대응하는 상기 대상드론의 행동 방향을 결정하는 계획 에이전트; 및
    결정된 상기 행동 방향에 따라 플로킹 알고리즘의 규칙에 기초하여 상기 대상드론을 제어하는 행동 에이전트를 포함하되,
    상기 상황 인식 에이전트는,
    상기 임무 여부에 기초하여 상기 대상드론의 임무 상태를 인식하고, 상기 임무 상태에 기초하여 상황 상태를 설정하되,
    상기 임무가 있는 경우, 상기 임무 상태를 임무 수행 상태로 인식하고,
    상기 임무가 없는 경우 상기 임무 상태를 플로킹 비행 상태로 인식하는 것인, 드론 비행 제어 시스템.
  2. 제 1항에 있어서,
    상기 자기 추정 에이전트는, 상기 대상드론의 위치 정보 및 비행 방향 정보를 상기 드론 정보로서 인식하는 것인, 드론 비행 제어 시스템.
  3. 제 1항에 있어서,
    상기 주변 인식 에이전트는,
    물체 탐지 센서를 통해 복수의 드론을 포함하는 드론 편대에 소속된 주변드론을 상기 물체로서 인식하는 경우, 상기 주변드론의 위치 및 방향을 수신하고,
    상기 물체 탐지 센서를 통해 상기 주변드론이 인식되지 않은 경우, 상기 드론 편대의 목적지 정보를 수신하는 것인, 드론 비행 제어 시스템.
  4. 삭제
  5. 제3항에 있어서,
    상기 상황 인식 에이전트는,
    상기 드론 편대에 소속된 드론 중 이웃하는 드론과의 이격 거리를 미리 설정된 충돌 가능 거리 및 물체 탐지 센서를 통한 탐지 가능 거리와 대비하여, 상기 대상드론의 상황 상태를 '충돌 위험', '평시', '무리 이탈' 중 어느 하나로 설정하는 것인, 드론 비행 제어 시스템.
  6. 제 5 항에 있어서,
    상기 상황 인식 에이전트는,
    상기 대상드론이 상기 임무 수행 상태인 경우 상기 대상드론의 상황 상태 중 '무리 이탈'은 고려하지 않는 것인, 드론 비행 제어 시스템.
  7. 제 5항에 있어서,
    상기 상황 인식 에이전트는,
    상기 대상드론이 상기 임무 수행 상태인 경우, 상기 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정하고, 상기 이격 거리가 상기 충돌 가능 거리를 벗어나면 상기 상황 상태를 평시로 설정하며,
    상기 대상드론이 상기 플로킹 비행 상태인 경우, 상기 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정하고, 상기 이격 거리가 상기 충돌 가능 거리를 벗어나고 상기 탐지 가능 거리 이내이면 상기 상황 상태를 평시로 설정하며, 상기 이격 거리가 상기 탐지 가능 거리를 벗어나면 상기 상황 상태를 무리 이탈로 설정하는 것인, 드론 비행 제어 시스템.
  8. 제5항에 있어서,
    상기 계획 에이전트는,
    상기 대상드론의 임무 상태 및 상황 상태에 기초하여 행동 방향을 결정하되,
    상기 대상드론이 임무 수행 상태이고 평시로 설정된 경우 상기 행동 방향을 '개별 임무 수행'으로 결정하고, 상기 대상드론이 임무 수행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정하며,
    상기 대상드론이 플로킹 비행 상태이고 평시로 설정된 경우 상기 행동 방향을 '평시 비행'으로 결정하고, 상기 대상드론이 플로킹 비행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정하며, 상기 대상드론이 플로킹 비행 상태이고 무리 이탈로 설정된 경우 상기 행동 방향을 '무리 합류'로 설정하는 것인, 드론 비행 제어 시스템.
  9. 제8항에 있어서,
    상기 플로킹 알고리즘은 정렬 규칙, 응집 규칙 및 분리 규칙을 포함하고,
    상기 행동 에이전트는, 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙의 비중을 조절하되, 상기 행동 방향이 평시 비행인 경우 상기 정렬 규칙, 응집 규칙 및 분리 규칙을 서로 동일한 비중으로 설정하고, 상기 행동 방향이 개별 임무 수행인 경우 상기 정렬 규칙의 비중을 상기 응집 규칙 및 상기 분리 규칙보다 증가시키고, 상기 행동 방향이 충돌 회피인 경우 상기 분리 규칙의 비중을 상기 정렬 규칙 및 상기 응집 규칙보다 증가시키고, 상기 행동 방향이 무리 합류인 경우 상기 정렬 규칙 및 상기 응집 규칙의 비중을 상기 분리 규칙보다 증가시키는 것인, 드론 비행 제어 시스템.
  10. 제 9항에 있어서,
    상기 행동 에이전트는,
    상기 플로킹 알고리즘의 규칙에 따라 상기 대상드론을 제어하기 위한 정렬 벡터, 응집 벡터 및 분리 벡터를 연산하고,
    상기 설정된 정렬 규칙, 응집 규칙 및 분리 규칙의 비중을 고려하여 상기 대상드론을 제어하는 것인, 드론 비행 제어 시스템.
  11. 드론 비행 제어 시스템에 의한 드론 비행 제어 방법으로서,
    대상드론에 관한 드론 정보 및 임무 여부에 기초하여 상기 대상드론의 상태를 인지하는 단계;
    상기 대상드론의 주변을 센싱하여 상기 대상드론 주변의 물체에 대한 물체 정보를 인식하는 단계;
    상기 대상드론의 상태 및 상기 물체 정보에 기초하여 상기 대상드론의 상황을 인식하는 단계;
    상기 상황에 대응하는 상기 대상드론의 행동 방향을 결정하는 단계; 및
    결정된 상기 행동 방향에 따라 플로킹 알고리즘의 규칙에 기초하여 상기 대상드론을 제어하는 단계를 포함하되,
    상기 대상드론의 상황을 인식하는 단계는,
    상기 임무 여부에 기초하여 상기 대상드론의 임무 상태를 인식하고, 상기 임무 상태에 기초하여 상황 상태를 설정하되,
    상기 임무가 있는 경우, 상기 임무 상태를 임무 수행 상태로 인식하고,
    상기 임무가 없는 경우, 상기 임무 상태를 플로킹 비행 상태로 인식하는 것인, 드론 비행 제어 방법.
  12. 제 11항에 있어서,
    상기 대상드론의 상태를 인지하는 단계는,
    상기 대상드론의 위치 정보 및 비행 방향 정보를 상기 드론 정보로서 인식하는 것인, 드론 비행 제어 방법.
  13. 제 11항에 있어서,
    상기 물체 정보를 인식하는 단계는,
    물체 탐지 센서를 통해 복수의 드론을 포함하는 드론 편대에 소속된 주변드론을 상기 물체로서 인식하는 경우, 상기 주변드론의 위치 및 방향을 수신하고,
    상기 물체 탐지 센서를 통해 상기 주변드론이 인식되지 않은 경우, 상기 드론 편대의 목적지 정보를 수신하는 것인, 드론 비행 제어 방법.
  14. 삭제
  15. 제 13항에 있어서,
    상기 대상드론의 상황을 인식하는 단계는,
    상기 드론 편대에 소속된 드론 중 이웃하는 드론과의 이격 거리를 미리 설정된 충돌 가능 거리 및 물체 탐지 센서를 통한 탐지 가능 거리와 대비하여, 상기 대상드론의 상황 상태를 '충돌 위험', '평시', '무리 이탈' 중 어느 하나로 설정하는 것인 드론 비행 제어 방법.
  16. 제 15항에 있어서,
    상기 대상드론의 상황을 인식하는 단계는,
    상기 대상드론이 상기 임무 수행 상태인 경우 상기 대상드론의 상황 상태 중 '무리 이탈'은 고려하지 않는 것인, 드론 비행 제어 방법.
  17. 제 15항에 있어서,
    상기 대상드론의 상황을 인식하는 단계는,
    상기 대상드론이 상기 임무 수행 상태인 경우, 상기 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정하고, 상기 이격 거리가 상기 충돌 가능 거리를 벗어나면 상기 상황 상태를 평시로 설정하며,
    상기 대상드론이 상기 플로킹 비행 상태인 경우, 상기 이격 거리가 상기 충돌 가능 거리 이내이면 상기 상황 상태를 충돌 위험으로 설정하고, 상기 이격 거리가 상기 충돌 가능 거리를 벗어나고 상기 탐지 가능 거리 이내이면 상기 상황 상태를 평시로 설정하며, 상기 이격 거리가 상기 탐지 가능 거리를 벗어나면 상기 상황 상태를 무리 이탈로 설정하는 것인, 드론 비행 제어 방법.
  18. 제 15항에 있어서,
    상기 대상드론의 행동 방향을 결정하는 단계는,
    상기 대상드론의 임무 상태 및 상황 상태에 기초하여 행동 방향을 결정하되,
    상기 대상드론이 임무 수행 상태이고 평시로 설정된 경우 상기 행동 방향을 '개별 임무 수행'으로 결정하고, 상기 대상드론이 임무 수행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정하며,
    상기 대상드론이 플로킹 비행 상태이고 평시로 설정된 경우 상기 행동 방향을 '평시 비행'으로 결정하고, 상기 대상드론이 플로킹 비행 상태이고 충돌 위험으로 설정된 경우 상기 행동 방향을 '충돌 회피'로 결정하며, 상기 대상드론이 플로킹 비행 상태이고 무리 이탈로 설정된 경우 상기 행동 방향을 '무리 합류'로 설정하는 것인, 드론 비행 제어 방법.
  19. 제 18항에 있어서,
    상기 플로킹 알고리즘은 정렬 규칙, 응집 규칙 및 분리 규칙을 포함하고,
    상기 대상드론을 제어하는 단계는, 상기 행동 방향에 따라 상기 플로킹 알고리즘의 규칙의 비중을 조절하되, 상기 행동 방향이 평시 비행인 경우, 상기 정렬 규칙, 응집 규칙 및 분리 규칙을 서로 동일한 비중으로 설정되고, 상기 행동 방향이 충돌 회피인 경우, 상기 분리 규칙의 비중을 상기 정렬 규칙 및 상기 응집 규칙보다 증가시키고, 상기 행동 방향이 무리 합류인 경우, 상기 정렬 규칙 및 상기 응집 규칙의 비중을 상기 분리 규칙보다 증가시키는 것인, 드론 비행 제어 방법.
  20. 제 19항에 있어서,
    상기 대상드론을 제어하는 단계는,
    상기 플로킹 알고리즘의 규칙에 따라 상기 대상드론을 제어하기 위한 정렬 벡터, 응집 벡터 및 분리 벡터를 연산하고,
    상기 조절된 정렬 규칙, 응집 규칙 및 분리 규칙의 비중을 고려하여 상기 대상드론을 제어하는 것인, 드론 비행 제어 방법.
  21. 제 11항 내지 제 13항 및 제 15항 내지 제 20항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체.
KR1020170117665A 2017-09-14 2017-09-14 다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템 및 방법 KR101946429B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170117665A KR101946429B1 (ko) 2017-09-14 2017-09-14 다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170117665A KR101946429B1 (ko) 2017-09-14 2017-09-14 다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101946429B1 true KR101946429B1 (ko) 2019-05-08

Family

ID=66580340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170117665A KR101946429B1 (ko) 2017-09-14 2017-09-14 다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101946429B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110501905A (zh) * 2019-08-27 2019-11-26 中国人民解放军国防科技大学 基于flocking模型的多agent系统自适应方法及其系统
KR20210007064A (ko) 2019-07-09 2021-01-20 이상창 LiDAR가 탑재된 FPGA 기반 드론 비행제어 시스템
US11279481B2 (en) 2017-05-12 2022-03-22 Phirst Technologies, Llc Systems and methods for tracking, evaluating and determining a response to emergency situations using unmanned airborne vehicles
US11972389B2 (en) 2020-05-19 2024-04-30 Electronics And Telecommunications Research Institute Apparatus for managing delivery of unmanned aerial vehicle and method for the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1045099A (ja) * 1996-07-31 1998-02-17 Mitsubishi Heavy Ind Ltd 自動編隊飛行制御装置
KR20160142686A (ko) * 2015-06-03 2016-12-13 국민대학교산학협력단 다수의 무인 비행체의 비행 스케줄 정보 생성 장치, 다수의 무인 비행체의 비행 제어 방법 및 무인 비행체
KR20180054009A (ko) * 2016-11-14 2018-05-24 동국대학교 산학협력단 군집비행의 포메이션을 유지하기 위한 드론 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1045099A (ja) * 1996-07-31 1998-02-17 Mitsubishi Heavy Ind Ltd 自動編隊飛行制御装置
KR20160142686A (ko) * 2015-06-03 2016-12-13 국민대학교산학협력단 다수의 무인 비행체의 비행 스케줄 정보 생성 장치, 다수의 무인 비행체의 비행 제어 방법 및 무인 비행체
KR20180054009A (ko) * 2016-11-14 2018-05-24 동국대학교 산학협력단 군집비행의 포메이션을 유지하기 위한 드론 및 그 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11279481B2 (en) 2017-05-12 2022-03-22 Phirst Technologies, Llc Systems and methods for tracking, evaluating and determining a response to emergency situations using unmanned airborne vehicles
KR20210007064A (ko) 2019-07-09 2021-01-20 이상창 LiDAR가 탑재된 FPGA 기반 드론 비행제어 시스템
CN110501905A (zh) * 2019-08-27 2019-11-26 中国人民解放军国防科技大学 基于flocking模型的多agent系统自适应方法及其系统
CN110501905B (zh) * 2019-08-27 2022-02-08 中国人民解放军国防科技大学 基于flocking模型的多agent系统自适应方法及其系统
US11972389B2 (en) 2020-05-19 2024-04-30 Electronics And Telecommunications Research Institute Apparatus for managing delivery of unmanned aerial vehicle and method for the same

Similar Documents

Publication Publication Date Title
KR101946429B1 (ko) 다중 에이전트 구조를 이용하는 임무형 플로킹 알고리즘에 의한 드론 비행 제어 시스템 및 방법
US20220332350A1 (en) Maneuver coordination service in vehicular networks
Saska MAV-swarms: unmanned aerial vehicles stabilized along a given path using onboard relative localization
Gil et al. Optimizing communication in air-ground robot networks using decentralized control
Duan et al. Multiple UAVs/UGVs heterogeneous coordinated technique based on receding horizon control (RHC) and velocity vector control
Islam et al. A path planning algorithm for collective monitoring using autonomous drones
Alsamhi et al. Artificial intelligence-based techniques for emerging robotics communication: a survey and future perspectives
Kumar et al. A Lagrangian UAV swarm formation suitable for monitoring exclusive economic zone and for search and rescue
US11050481B2 (en) Systems and methods for creating wireless aerial traffic corridors
US20230081963A1 (en) Unmanned aerial vehicle swarm path planning
Wang et al. Improving distributed anti-flocking algorithm for dynamic coverage of mobile wireless networks with obstacle avoidance
US9360320B2 (en) Autonomous coordination of agents via attraction and repulsion
Hu et al. Vision-based multi-agent cooperative target search
Stasinchuk et al. A multi-UAV system for detection and elimination of multiple targets
Abdalla et al. Machine learning-assisted UAV operations with the UTM: Requirements, challenges, and solutions
Varotto et al. Active sensing for search and tracking: A review
Hafez et al. Fault-tolerant control for cooperative unmanned aerial vehicles formation via fuzzy logic
Veerappan et al. Smart Drone Controller Framework—Toward an Internet of Drones
Dah-Achinanon et al. Search and rescue with sparsely connected swarms
Li et al. Vg-swarm: A vision-based gene regulation network for uavs swarm behavior emergence
Chipade et al. Aerial swarm defense by stringnet herding: Theory and experiments
Vashisht et al. Software defined UAV-based location aware deployment scheme for optimal wireless coverage
Esterle et al. Loosening control—a hybrid approach to controlling heterogeneous swarms
KR102547315B1 (ko) 무인기의 임무 수준 자율화 시스템 및 그 방법
Quamar et al. Cooperative prey hunting for multi agent system designed using bio-inspired adaptation technique