KR20230122785A - 비행체 제어 장치 및 방법 - Google Patents

비행체 제어 장치 및 방법 Download PDF

Info

Publication number
KR20230122785A
KR20230122785A KR1020220019419A KR20220019419A KR20230122785A KR 20230122785 A KR20230122785 A KR 20230122785A KR 1020220019419 A KR1020220019419 A KR 1020220019419A KR 20220019419 A KR20220019419 A KR 20220019419A KR 20230122785 A KR20230122785 A KR 20230122785A
Authority
KR
South Korea
Prior art keywords
aircraft
vehicle
target
flight
processor
Prior art date
Application number
KR1020220019419A
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 KR1020220019419A priority Critical patent/KR20230122785A/ko
Publication of KR20230122785A publication Critical patent/KR20230122785A/ko

Links

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/106Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
    • 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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0027Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback
    • G05D3/14Control of position or direction using feedback using an analogue comparing device
    • G05D3/1445Control of position or direction using feedback using an analogue comparing device with a plurality of loops
    • G05D3/1463Control of position or direction using feedback using an analogue comparing device with a plurality of loops using PID devices
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls

Landscapes

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

Abstract

비행체 제어 장치 및 방법에 관한 것으로, 비행체 제어 장치는 복수의 비행체로부터 상기 복수의 비행체의 위치 정보를 각각 수신하는 통신부 및 상기 복수의 비행체 중 적어도 하나의 비행체에 대한 제1 비행체의 회피방향성을 연산하고, 상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하고, 상기 회피방향성 및 상기 목표방향성을 조합하여 상기 제1 비행체의 이동 경로를 연산하는 프로세서를 포함할 수 있다.

Description

비행체 제어 장치 및 방법{DRONE, APPARATUS AND METHOD FOR CONTROLLING A GROUP OF DRONES}
비행체 제어 장치 및 방법에 관한 것이다.
무선 통신 기술 및 이를 기반으로 하는 원격 제어 기술의 성장은, 탑승자 없이도 제어 가능한 무인 비행 장치(UAV: Unmanned Aerial Vehicle)의 발전 및 대중화에도 크게 기여하고 있다. 통상 드론(drone)으로 지칭되는 무인 비행 장치는, 초창기에는 대체적으로 군사적 목적으로 개발 및 이용되었으나, 기술 발전에 따른 소형화, 경량화 및 저가화에 기인하여, 최근에는 다양한 범위에서, 다양한 목적으로 널리 사용되고 있다. 예를 들어, 무인 비행 장치에 카메라나 조명등을 설치하고, 접근이 어려운 지역 등의 감시나 지형이나 구조물 등에 대한 조감 촬영을 수행하게 하거나, 다양한 방향으로 움직이거나 정지하면서 예술적 또는 마케팅적 퍼포먼스를 수행하게 하는 등 무인 비행 장치의 활용 범위는 점점 더 넓어지고 있다. 현 시점에서 주로 대중적으로 이용되는 무인 비행 장치는 쿼드콥터(quardcopter) 등과 같은 멀티콥터(Multicopter)이다. 그런데, 이러한 멀티콥터는 상대적으로 경량일 뿐만 아니라 소형 프로펠러를 기반으로 이동하거나 정지하기 때문에, 기상 상황과 같은 주변 환경에 강한 영향을 받게 된다. 따라서, 멀티콥터의 동작 도중에 주변 환경이 급격히 변하게 되면, 멀티콥터의 제어가 어려워져 추락이나 멀티콥터 간의 충돌과 같은 사고가 발생하기 쉽다. 한편, 퍼포먼스 등을 위해 다수의 멀티콥터가 사용되는 경우, 각각의 멀티콥터는 사전에 입력된 이동 경로나 정지 위치 등에 따라 제어되는 것이 일반적이나, 이와 같이 사전 프로그래밍에 따른 제어만으로는 갑작스러운 기상 상황의 악화 등에 대한 즉각적인 대처가 불가능하여, 예상치 못한 사고가 발생할 가능성이 상당히 높은 문제점이 있었다.
공중에서 동작 중인 복수의 비행체에 대한 군집 제어를 실시간으로 수행하여 사고를 방지 또는 회피할 수 있는 비행체 제어 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 비행체 제어 장치 및 방법이 제공된다.
비행체 제어 장치는, 복수의 비행체로부터 상기 복수의 비행체의 위치 정보를 각각 수신하는 통신부 및 상기 복수의 비행체 중 적어도 하나의 비행체에 대한 제1 비행체의 회피방향성을 연산하고, 상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하고, 상기 회피방향성 및 상기 목표방향성을 조합하여 상기 제1 비행체의 이동 경로를 연산하는 프로세서를 포함할 수 있다.
상기 적어도 하나의 비행체는, 상기 복수의 비행체 중 상기 제1 비행체와의 거리가 미리 정의된 기준 거리보다 작은 비행체를 포함할 수 있다.
상기 프로세서는, 상기 적어도 하나의 비행체 각각에 대한 상기 제1 비행체의 제1 위치 벡터를 조합하여 상기 제1 비행체의 회피방향성을 연산하되, 상기 제1 비행체의 회피방향성은 상기 위치 벡터에 비례하고, 상기 적어도 하나의 비행체 각각 및 상기 제1 비행체 사이의 거리에 반비례하도록 정의된 것일 수도 있다.
상기 프로세서는, 상기 목표 지점에 대한 상기 제1 비행체의 제2 위치 벡터를 이용하여 상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산할 수도 있다.
상기 프로세서는, 상기 회피방향성에 대한 비례-적분-미분 제어기의 연산 결과 및 상기 목표방향성에 대한 비례-적분-미분 제어기의 연산 결과를 조합하여 상기 제1 비행체의 이동 경로에 대한 이동 벡터를 연산할 수도 있다.
상기 프로세서는, 상기 이동 벡터의 크기와 상기 제1 비행체의 최대 속도를 비교하고, 비교 결과 상기 이동 벡터의 크기가 상기 제1 비행체의 최대 속도보다 작다면, 상기 이동 벡터의 크기를 보정하도록 마련될 수도 있다.
상기 프로세서는, 상기 제1 비행체를 기준으로 상기 복수의 비행체에 대한 좌표계를 생성하고, 상기 좌표계를 이용하여 상기 제1 비행체에 대한 상기 적어도 하나의 비행체 각각의 제1 위치 벡터를 연산할 수도 있다.
비행체 제어 방법은, 복수의 비행체로부터 상기 복수의 비행체의 위치 정보를 각각 수신하는 단계, 상기 복수의 비행체 중 적어도 하나의 비행체에 대한 제1 비행체의 회피방향성을 연산하는 단계, 상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하는 단계, 상기 회피방향성 및 상기 목표방향성을 조합하여 상기 제1 비행체의 이동 경로를 연산하는 단계 및 상기 제1 비행체의 이동 경로를 상기 제1 비행체로 송신하는 단계를 포함할 수 있다.
상기 적어도 하나의 비행체는, 상기 복수의 비행체 중 상기 제1 비행체와의 거리가 미리 정의된 기준 거리보다 작은 비행체를 포함할 수도 있다.
상기 복수의 비행체 중 적어도 하나의 비행체에 대한 제1 비행체의 회피방향성을 연산하는 단계는, 상기 적어도 하나의 비행체 각각에 대한 상기 제1 비행체의 제1 위치 벡터를 조합하여 상기 제1 비행체의 회피방향성을 연산하는 단계를 포함할 수 있으며, 상기 제1 비행체의 회피방향성은 상기 제1 위치 벡터에 비례하고, 상기 적어도 하나의 비행체 각각 및 상기 제1 비행체 사이의 거리에 반비례할 수도 있다.
상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하는 단계는, 상기 목표 지점에 대한 상기 제1 비행체의 제2 위치 벡터를 이용하여 상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하는 단계를 포함하는 것도 가능하다.
상기 회피방향성 및 상기 목표방향성을 조합하여 상기 제1 비행체의 이동 경로를 연산하는 단계는, 상기 회피방향성에 대한 비례-적분-미분 제어기의 연산 결과 및 상기 목표방향성에 대한 비례-적분-미분 제어기의 연산 결과를 조합하여 상기 제1 비행체의 이동 경로에 대한 이동 벡터를 연산하는 단계를 포함할 수도 있다.
비행체 제어 방법은, 상기 이동 벡터의 크기와 상기 제1 비행체의 최대 속도를 비교하고, 비교 결과 상기 이동 벡터의 크기가 상기 제1 비행체의 최대 속도보다 작다면, 상기 이동 벡터의 크기를 보정하는 단계를 더 포함할 수도 있다.
비행체 제어 방법은, 상기 제1 비행체를 기준으로 상기 복수의 비행체에 대한 좌표계를 생성하는 단계를 더 포함할 수 있으며, 상가 좌표계는 상기 제1 비행체에 대한 상기 적어도 하나의 비행체 각각의 제1 위치 벡터의 연산에 이용될 수 있다.
상술한 비행체 제어 장치 및 방법에 의하면, 실시간으로 공중에서 동작 중인 복수의 비행체에 대한 군집 제어를 수행할 수 있게 되며, 이에 따라 비행체 간의 충돌이나 비행체의 위치 이탈 등과 같은 사고를 방지하거나 회피할 수 있는 효과를 얻을 수 있다.
상술한 비행체 제어 장치 및 방법에 의하면, 복수의 비행체 각각을 비행체 간의 충돌 없이 목표 지점으로 적절하게 이동시킬 수 있게 되고, 이에 따라 복수의 비행체의 대형 유지 또는 변경을 보다 안전하게 수행할 수 있는 효과도 얻을 수 있다.
상술한 비행체 제어 장치 및 방법에 의하면, 복수의 비행체의 모든 이동 경로를 사전에 입력하지 않고도, 복수의 비행체를 사용자가 원하는 바에 따라 제어할 수 있는 장점도 얻을 수 있다.
상술한 비행체 제어 장치 및 방법에 의하면, 다수의 비행체가 비행하는 도중에 강풍이나 악천후 등과 같이 돌발 상황이 발생한 경우에도 신속하면서도 유연하게 대처할 수 있게 되어 비행 안정성을 개선할 수 있는 효과도 얻을 수 있다.
도 1은 비행체 제어 시스템의 일 실시예에 대한 개요도이다.
도 2는 비행체의 일 실시예에 대한 블록도이다.
도 3은 비행체 제어 장치의 일 실시예에 대한 블록도이다.
도 4는 프로세서의 동작의 일례를 설명하기 위한 도면이다.
도 5는 프로세서의 동작의 다른 실시예를 설명하기 위한 도면이다.
도 6은 프로세서의 동작의 또 다른 실시예를 설명하기 위한 도면이다.
도 7은 비행체 제어 방법의 일 실시예에 대한 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 및/또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 '부'가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다. 명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분이 상호 간에 물리적으로 연결되었음을 의미할 수도 있고, 및/또는 전기적으로 연결되었음을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다. 제1 내지 제N(N은 1 이상의 자연수) 등의 표현은, 적어도 하나의 부분(들)을 다른 부분(들)으로부터 구분하기 위한 것으로, 특별한 기재가 없는 이상 이들이 순차적임을 반드시 의미하지는 않는다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 6을 참조하여, 적어도 하나의 비행체와, 적어도 하나의 비행체를 제어하기 위한 비행체 제어 장치와, 이들을 포함하는 비행체 제어 시스템의 일 실시예에 대해서 설명하도록 한다.
도 1은 비행체 제어 시스템의 일 실시예에 대한 개요도이다.
도 1에 도시된 바에 의하면, 비행체 제어 시스템(1)은, 일 실시예에 있어서, 하나 또는 복수의 비행체(100: 100-1 내지 100-N, N은 1 이상의 자연수)와, 하나 또는 복수의 비행체(100: 100-1 내지 100-N) 각각과 통신 가능하게 연결되어, 각각의 비행체(100-1 내지 100-N)에 대해 독립적으로 또는 의존적으로 정보나 지시를 송신 또는 수신할 수 있게 마련된 비행체 제어 장치(200)를 포함할 수 있다.
비행체(100: 100-1 내지 100-N)는, 공중에서 적어도 일 방향으로 이동할 수 있게 마련되며, 예를 들어, 수직 방향 및 수평 방향 중 적어도 일 방향으로 이동 가능하게 마련된다. 비행체(100: 100-1 내지 100-N)는, 멀티콥터(일례로 쿼드콥터, 헥사콥터 또는 옥토콥터 등), 군사용 또는 비군사용 비행기 또는 모형 헬리콥터 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 복수의 비행체(100: 100-1 내지 100-N)는, 비행체 제어 장치(200)의 군집 제어에 따라 독립적으로 또는 의존적으로 군집 이동하여 미리 정의된 동작을 수행할 수도 있다. 예를 들어, 카메라 등의 촬영부(도 2의 135)가 설치된 비행체(100: 100-1 내지 100-N)는 군집 제어에 따라 지형 지물이나 구조물 등의 모니터링에 이용될 수 있고, 조명부(도 2의 133)가 설치된 비행체(100: 100-1 내지 100-N)는 홍보용 또는 예술용 퍼포먼스의 수행을 위해 이용될 수 있으며, 소화약제나 소방용수 등이 탑재된 비행체(100: 100-1 내지 100-N)는 산불 진화 등을 위해 이용될 수 있다.
비행체 제어 장치(200)는, 각 비행체(100: 100-1 내지 100-N)로부터 각 비행체(100: 100-1 내지 100-N)의 위치에 대한 정보를 수신하고, 수신한 위치 정보를 기반으로 적어도 하나의 비행체(100: 100-1 내지 100-N)의 이동 경로를 결정하고, 결정된 이동 경로를 해당하는 비행체(100: 100-1 내지 100-N)에 각각 전달하여, 해당 비행체(100: 100-1 내지 100-N)가 현재의 위치가 아닌 다른 위치로 이동하거나 현재의 위치를 유지하도록 할 수도 있다. 이 경우, 비행기 제어 장치(200)로 자신의 위치에 대한 정보를 전송하는 비행체(100: 100-1 내지 100-N)는 모든 비행체(100: 100-1 내지 100-N)일 수도 있고, 또는 모든 비행체(100: 100-1 내지 100-N) 중 일부일 수도 있다. 또한, 비행기 제어 장치(200)로부터 이동 경로를 수신 받아 이동하는 비행기 제어 장치(200) 역시 모든 비행기 제어 장치(200)일 수도 있고, 또는 일부의 비행기 제어 장치(200)일 수도 있다. 실시예에 따라서, 비행체 제어 시스템(1)은 하나의 비행체 제어 장치(200)를 포함할 수도 있고, 복수의 비행체 제어 장치(200)를 포함할 수도 있다. 복수의 비행체 제어 장치(200)가 마련된 경우, 각각의 비행체 제어 장치(200)는 상호 통신 가능하게 연결되어 각 비행체(100: 100-1 내지 100-N)에 대한 제어를 함께 수행할 수도 있다.
비행체 제어 장치(200)는, 적어도 하나의 비행체(100: 100-1 내지 100-N)와 무선 통신 네트워크를 이용하여 통신을 수행할 수 있다. 여기서, 무선 통신 네트워크는, 근거리 통신 네트워크 및 원거리 통신 네트워크 중 적어도 하나를 포함할 수 있으며, 여기서, 근거리 통신 네트워크는, 예를 들어, 와이파이(Wi-Fi), 와이파이 다이렉트(Wi-Fi Direct), 블루투스(Bluetooth), 저전력 블루투스(Bluetooth Low Energy), 초광대역(UWB: Ultra-WideBand) 통신, 캔(CAN) 통신, 지그비(zigbee) 통신, 알에프아이디(RFID: Radio-Frequency IDentification) 및/또는 엔에프씨(NFC: Near Field Communication) 등의 통신 기술을 기반으로 구현된 통신 네트워크일 있고, 원거리 통신 네트워크는, 예를 들어, 3GPP, 3GPP2, 와이브로 또는 와이맥스 계열 등의 이동 통신 표준을 기반으로 구현된 이동 통신 네트워크일 수도 있다. 실시예에 따라서, 비행체 제어 장치(200)는 모든 비행체(100: 100-1 내지 100-N)에 대해 동일한 무선 통신 기술을 이용하여 통신을 수행할 수도 있고, 모든 비행체(100: 100-1 내지 100-N)에 대해 서로 상이한 통신 기술을 이용하여 통신을 수행할 수도 있으며, 일부의 비행체(100: 100-1 내지 100-N)는 서로 동일한 통신 기술을 이용하여 통신을 수행하고 다른 일부의 비행체(100: 100-1 내지 100-N)는 이와 상이한 통신 기술을 이용하여 통신을 수행할 수도 있다.
비행체 제어 장치(200)는, 실시예에 따라서, 후술하는 바와 같이 회피방향성 및 목표방향성을 계산하고, 이를 기반으로 경로를 결정한 후 이를 각 비행체(100: 100-1 내지 100-N)에 전송할 수 있도록 특별히 고안된 장치를 이용하여 구현될 수도 있고, 또는 적어도 하나의 정보처리장치를 단독으로 이용하거나 조합 이용함으로써 구현될 수도 있다. 여기서, 적어도 하나의 정보처리장치는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버용 하드웨어 장치, 스마트 폰, 태블릿 피씨, 스마트 시계, 스마트 태그, 스마트 밴드, 두부 장착형 디스플레이(HMD: Head Mounted Display) 장치, 휴대용 게임기, 내비게이션 장치, 리모트 컨트롤러(리모컨, 적외선 기반 컨트롤러 또는 무선 주파수 기반 컨트롤러 등), 디지털 텔레비전, 셋 톱 박스, 디지털 미디어 플레이어 장치, 미디어 스트리밍 장치, 음향 재생 장치(인공 지능 스피커 등), 가전 기기, 로봇, 유인 이동체(일례로 승용차, 버스나 이륜차와 같은 차량 등) 또는 무인 이동체(일례로 이동성 로봇, 무선 모형 차량 또는 로봇 청소기 등), 유인 비행체(일례로 항공기나 헬리콥터 등) 무인 비행체(일례로 드론, 모형 비행기 또는 모형 헬리콥터 등), 의료 시스템, 교통 제어기 또는 산업용 기계 장치 등을 포함할 수 있으나 이에 한정되는 것은 아니다. 설계자나 사용자 등은 상황이나 조건에 따라서 상술한 정보처리장치 이외에도 정보의 연산 처리 및 제어가 다양한 장치 중 적어도 하나를 상술한 비행체 제어 장치(200)로 고려하여 채용할 수 있다.
실시예에 따라서, 비행체 제어 시스템(1)은, 비행체 제어 장치(200)와 통신 가능하게 마련된 적어도 하나의 단말 장치(90)를 더 포함할 수도 있다. 단말 장치(90)는 유선 통신 네트워크 및 무선 통신 네트워크 중 적어도 하나를 이용하여 상기 비행체 제어 장치(200)와의 통신을 수행할 수 있다. 단말 장치(90)는, 예를 들어, 비행체 제어 장치(200)의 동작에 필요한 데이터(기준 거리(도 4의 D) 등과 같은 설정 값 등을 포함할 수 있음)나, 프로그램(앱, 애플리케이션 또는 소프트웨어 등으로 지칭 가능함)이나, 비행체(100: 100-1 내지 100-N) 또는 비행체 제어 장치(200)에 대한 명령/지시 등을 입력 받고, 이를 통신 네트워크를 통해 비행체 제어 장치(200)로 전달할 수 있다. 또한, 단말 장치(90)는 비행체 제어 장치(200)로부터 비행체 제어 장치(200)의 처리 결과에 따라 획득된 적어도 하나의 정보(예를 들어, 회피방향성, 목표방향성 및 이동 경로 중 적어도 하나)를 수신하고, 이를 단말 장치(90)의 사용자에게 시각적 또는 청각적으로 제공할 수도 있다. 단말 장치(90)는 상술한 적어도 하나의 정보처리장치를 이용하여 구현될 수도 있고, 또는 비행체 제어 장치(200)의 제어를 위해 특별히 고안된 장치를 이용하여 구현될 수도 있다.
이하 비행체(100) 및 비행체 제어 장치(200) 각각의 일 실시예에 대해 보다 구체적으로 설명한다.
도 2는 비행체의 일 실시예에 대한 블록도이다.
도 2에 도시된 바에 의하면, 비행체(100)는, 비행체 제어 장치(200)와 통신을 수행하는 통신부(101), 비행체(100)에 대한 전반적인 동작을 제어하고 필요한 처리를 수행하는 프로세서(110) 및 프로세서(110)의 제어에 따라 프로펠러를 적어도 일 방향으로 회동시켜 비행체(100)가 상승, 하강 또는 수평 이동 등을 수행할 수 있도록 하는 적어도 하나의 구동 모터(13, 일례로 쿼드콥터의 경우 4개의 구동 모터)를 포함할 수 있다. 또한, 비행체(100)는, 필요에 따라서, 저장부(103), 적어도 하나의 센서(일례로 관성센서(121) 및 위치센서(123) 중 적어도 하나), 조명부(133) 및 촬영부(135) 중 적어도 하나를 더 포함할 수도 있다.
통신부(101)는, 무선 통신 네트워크를 통해 비행체 제어 장치(200)의 통신부(201)와 통신 가능하게 연결되어 비행체 제어 장치(200)의 지시나 데이터(일례로 비행체 제어 장치(200)가 획득한 이동 경로)를 수신하고, 이를 프로세서(110)나 저장부(103)로 전달하거나, 또는 비행체(100)가 획득한 정보(일례로 비행체(100)의 위치 정보)를 비행체 제어 장치(200)로 전달하여 비행체 제어 장치(200)가 이를 기반으로 비행체(100)의 위치 파악 및 이동 경로의 연산을 수행할 수 있도록 할 수 있다.
저장부(103)는 비행체(100)의 동작과 관련된 여러 설정 값이나 데이터를 저장하거나, 프로세서(110) 등의 구동을 위해 필요한 프로그램(애플리케이션, 앱 또는 소프트웨어로 지칭 가능함) 등을 일시적 또는 비일시적으로 저장할 수 있다. 예를 들어, 저장부(103)는 관성 센서(121)나 위치 센서(123)를 통해 감지된 비행체(100)의 가속도, 이동 방향 또는 위치 등을 저장하고, 프로세서(110)의 제어에 따라 이를 통신부(101)로 전달할 수 있다. 또한, 저장부(103)는 촬영부(135)가 저장한 적어도 하나의 영상(정지영상 또는 동영상을 포함 가능)이나, 조명부(133)의 동작 패턴과 관련된 정보 등을 저장할 수도 있다. 저장부(103)는 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있으며, 실시예에 따라서 반도체 메모리 장치(예를 들어, 플래시 메모리 등)나, 자기 디스크 장치(예를 들어, 하드 디스크 드라이브 장치 등)을 이용하여 구현될 수 있다.
프로세서(110)는, 비행체(100)의 동작에 필요한 연산을 수행하고, 이를 기반으로 비행체(100)의 각 부품에 대한 제어 신호를 전기적으로 생성하여 각 부품으로 전달할 수 있다. 예를 들어, 통신부(101)가 이동 경로를 수신하여 전달하면, 프로세서(110)는 전달 받은 이동 경로를 해석하고, 해석된 바에 따라서 비행체(100)의 현재의 또는 미래의 이동 방향을 결정하고, 결정된 이동 방향에 대응하여 복수의 구동 모터(131) 각각에 대해 상응하는 제어 신호를 전송함으로써, 비행체(100)가 이동 경로에 따라서 항행하도록 할 수 있다. 여기서, 각 구동 모터(131)로 전달되는 제어 신호는 모든 구동 모터(131)에 대해서 동일할 수도 있고, 모두 상이할 수도 있으며, 또는 일부의 구동 모터(131)에 대해서는 동일하고 다른 일부의 구동 모터(131)에 대해서는 상이할 수도 있다. 또한, 프로세서(110)는 주기적으로(예를 들어, 10초마다) 또는 비주기적으로(일례로 임의적 시점에) 관성 센서(121)의 값이나 위치 센서(123)의 값을 획득하고, 통신부(101)를 제어하여 관성 센서(121)의 값이나 위치 센서(123)의 값을 비행체 제어 장치(200)로 전달하도록 할 수도 있다. 또한, 프로세서(110)는 조명부(133)를 제어하여 조명부(133)가 소정의 패턴으로, 소정의 강도로 및/또는 소정의 색상으로 점등 또는 점멸하게 할 수도 있고, 촬영부(135)를 제어하여 촬영부(135)가 촬영 동작을 개시하거나 또는 중단하도록 할 수도 있다. 또한, 프로세서(110)는 촬영부(135)가 획득한 전기적 신호에 대한 영상 처리를 수행하여 전기적 신호에 대응하는 적어도 하나의 영상을 획득할 수도 있다. 이외에도 프로세서(110)는 비행체(100)의 동작과 관련된 다양한 제어 및 연산 처리를 수행할 수 있다.
관성센서(121)는, 비행체(100)의 관성력을 측정하여, 비행체(100)의 이동 방향, 가속도, 회전각가속도, 기울어짐 또는 흔들림 등에 대한 정보를 획득할 수 있다. 관성센서(121)는 정보를 프로세서(110)로 전달할 수 있으며, 프로세서(110)는 관성센서(121)가 획득한 정보를 기반으로 구동모터(131)를 동작시켜 비행체(100)의 자세 제어 등을 수행할 수 있다. 이에 따라 비행체(100)는 보다 안정적으로 비행할 수 있게 된다. 또한, 관성센서(121)가 획득한 정보는 통신부(101)를 통해 비행체 제어 장치(200)로 전달되어 이동 경로의 생성을 위해 이용될 수도 있다.
위치센서(123)는 비행체(100)의 위치 정보를 획득하고, 획득한 위치 정보를 통신부(101), 저장부(103) 및 프로세서(110) 중 적어도 하나로 전달할 수 있다. 여기서, 비행체(100)의 위치 정보는, 비행체(100)의 위도, 경도 및 고도 중 적어도 하나를 포함할 수 있으며, 실시예에 따라 이들 외에도 위치를 지시하기 위한 다른 값을 더 포함할 수도 있다. 통신부(101)는 비행체(100)의 위치 정보를 비행체 제어 장치(200)로 전달하여, 비행체 제어 장치(200)가 비행체(100)의 위치 정보를 이용하여 비행체(100)의 이동 경로를 연산하도록 할 수도 있다. 위치센서(123)는, 일례로, 위성을 이용하거나 또는 소정 이동 통신 표준을 기반으로 하는 무선 통신 네트워크를 이용하여, 비행체(100)의 위치를 측량할 수 있게 마련된 것일 수 있다. 위치센서(123)는, 실시예에 따라, 글로벌 포지셔닝 시스템(GPS: Global Positioning System), 실시간 이동 측위 글로벌 포지셔닝 시스템(RTK-GPS: Real Time Kinematic-Global Positioning System), 글로나스(GLONASS) 또는 갈릴레오 등의 위성 항법 시스템(GNSS: Global Navigation Satellite System) 기술을 채용하여 구현될 수도 있다.
구동모터(131)는 프로펠러와 연결되고, 프로세서(110)로부터 전달되는 제어 신호에 따라 프로펠러에 대해 적어도 일 방향의 회전력을 인가할 수 있도록 마련된다. 실시예에 따라서, 비행체(100)는 하나의 구동모터(131)를 포함할 수도 있고, 둘 이상의 구동 모터(131)를 포함할 수 있다. 예를 들어, 비행체(100)는 네 개의 구동모터(131)를 포함할 수 있으며, 이에 따라 각 구동모터(131)에 대응하는 네 개의 프로펠러를 포함할 수도 있다. 구동모터(131)는 예를 들어, 교류 모터, 직류 모터 또는 브러시리스 모터 등을 포함할 수 있다.
조명부(133)는, 점등하여 광을 방출하거나 또는 소등하여 광의 방출을 중단할 수 있다. 일 실시예에 의하면, 비행체 제어 장치(200)에 의해 동시에 또는 순차적으로 제어되는 다수의 비행체(100) 각각의 조명부(133)는, 미리 정의된 설정이나, 프로세서(110), 비행체 제어 장치(200) 또는 단말 장치(90)에 의해 생성된 제어 신호에 응하여, 점등하거나, 소등하거나, 특정한 패턴으로 상호 독립적으로 동작할 수도 있으며, 이에 따라 다수의 비행체(100)는 조명을 이용한 예술용 또는 홍보용 퍼포먼스를 수행할 수 있게 된다.
촬영부(135)는, 프로세서(110) 등의 제어에 따라서 외부의 광을 수광하고 수광된 광에 대응하는 전기적 신호를 생성하여 출력할 수 있다. 출력된 전기적 신호는 프로세서(110)나 저장부(103)로 전달될 수 있다. 프로세서(110)는 전기적 신호를 기반으로 적어도 하나의 영상을 생성할 수 있다. 생성된 영상은 저장부(103)에 저장되거나 통신부(101)가 접속하는 무선 통신 네트워크를 통하여 비행체 제어 장치(200)나 단말 장치(90)로 전달될 수 있다. 촬영부(135)는 렌즈 및 촬상 소자를 포함하여 구현될 수 있다. 촬영부(135)는 가시광 카메라나, 적외선 카메라 등을 포함할 수 있다.
이외에도 비행체(100)는 필요에 따라 다른 부품을 더 포함할 수도 있다. 예를 들어, 비행체(100)는, 상술한 관성 센서(121)나 위치 센서(123) 이외에도 필요에 따라 다른 종류의 센서를 적어도 하나 더 포함할 수도 있다.
도 3은 비행체 제어 장치의 일 실시예에 대한 블록도이다.
비행체 제어 장치(200)는, 일 실시예에 있어서, 도 3에 도시된 바와 같이, 통신부(201), 입력부(203), 출력부(205), 프로세서(210) 및 저장부(230) 중 적어도 하나를 포함할 수 있다. 통신부(201), 입력부(203), 출력부(205), 프로세서(210) 및 저장부(230) 중 적어도 둘은 일방으로 또는 쌍방으로 전기적 신호를 전달할 수 있도록 마련되며, 이러한 전기적 신호의 전달은, 회로 라인, 케이블 또는 무선 통신 네트워크 등을 기반으로 수행될 수 있다. 필요에 따라, 통신부(201), 입력부(203), 출력부(205), 프로세서(210) 및 저장부(230) 중 적어도 하나는, 생략 가능하다.
통신부(201)는, 소정의 무선 통신 네트워크를 통해 비행체(100)의 통신부(101)와 통신 가능하게 연결되어, 비행체(100)가 획득한 정보(일례로 비행체(100)의 위치 정보나 관성력 등)를 비행체(100)로부터 수신하고 수신한 정보를 프로세서(210)나 저장부(230)로 전달할 수 있으며, 및/또는 프로세서(210) 등이 생성하거나 저장부(230)에 저장된 설정 값, 지시 또는 데이터(일례로 이동 경로)를 전송하여, 비행체(100)가 비행체 제어 장치(200)의 처리 결과에 따라 동작하도록 할 수 있다. 또한, 통신부(201)는 단말 장치(90)와 유선 또는 무선으로 통신을 수행하여 단말 장치(90)로 필요한 정보를 제공하거나 및/또는 단말 장치(90)로부터 소정의 지시, 데이터 또는 프로그램 등을 전달 받을 수도 있다. 통신부(201)는 실시예에 따라서, 랜 카드, 근거리 통신 모듈 또는 이동통신 모듈 등을 이용하여 구현될 수 있다.
입력부(203)는 비행체 제어 장치(200)의 동작에 필요한 지시, 데이터 또는 프로그램 등을 사용자 또는 설계자 등으로부터 전달 받을 수 있으며, 전달 받은 지시, 데이터 또는 프로그램 등을 프로세서(210)나 저장부(230)에 제공할 수 있다. 예를 들어, 입력부(203)는 비행체(100)가 이동할 목표 지점, 비행체(100) 각각의 최대 속도, 기준 거리 또는 제어 빈도(비행체(100)의 제어를 위한 주기로, 예를 들어, 초당 10회로 정의될 수 있음) 등을 입력 받을 수 있다. 입력부(203)는, 키보드, 마우스, 태블릿, 터치 스크린, 터치 패드, 트랙 볼, 트랙패드, 스캐너 장치, 영상 촬영 모듈, 초음파 스캐너, 동작 감지 센서, 진동 센서, 수광 센서, 감압 센서, 근접 센서, 마이크로 폰 또는 데이터 입출력 단자 등을 포함할 수도 있으나, 이에 한정되는 것은 아니다.
출력부(205)는 비행체 제어 장치(200)에 관한 데이터 등을 시각적 또는 청각적으로 외부로 출력할 수 있다. 예를 들어, 출력부(205)는, 좌표계(231) 상에 변환한 각 비행체(100)의 위치나, 사용자 등에 의해 기 입력된 각종 데이터나, 또는 프로세서(210)의 연산 결과에 따른 이동 경로 등을 출력하여 사용자 등에게 제공할 수 있다. 출력부(205)는, 예를 들어, 디스플레이, 프린터 장치, 스피커 장치, 영상 출력 단자, 데이터 입출력 단자 및/또는 통신 모듈 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
프로세서(210)는 통신부(201)로부터 모든 또는 일부의 비행체(100) 각각에 대한 위치 정보를 수신하고, 각각의 위치 정보를 기반으로 비행체(100) 각각마다 대응하는 이동 경로를 결정하고, 결정한 이동 경로를 통신부(201)로 전달하여 통신부(201)가 획득한 이동 경로를 비행체(100)로 전송하도록 할 수 있다. 이를 위해 프로세서(210)는, 비행체(100)의 위치를 기준 좌표계로 변환하고, 변환된 위치를 기반으로 회피방향성 및 목표방향성을 각각 계산한 후, 계산된 회피방향성과 목표방향성을 조합하여 경로를 결정할 수 있다. 이에 대한 자세한 설명은 후술하도록 한다. 또한, 프로세서(210)는 비행체 제어 장치(200)의 각각의 부품들을 제어하거나, 이들의 제어를 위해 필요한 별도의 연산을 더 수행할 수도 있다. 프로세서(210)는, 예를 들어, 중앙 처리 장치(CPU: Central Processing Unit), 그래픽 처리 장치(GPU: Graphic Processing Unit), 마이크로 컨트롤러 유닛(MCU: Micro Controller Unit), 애플리케이션 프로세서(AP: Application Processor), 전자 제어 유닛(ECU: Electronic Controlling Unit), 마이컴(Micom: Micro Processor) 및/또는 이외 각종 연산 및 제어 처리를 수행할 수 있는 적어도 하나의 전자 장치 등을 포함할 수 있다. 이들 처리 또는 제어 장치는, 예를 들어, 하나 또는 둘 이상의 반도체 칩, 회로 또는 관련 부품 등을 단독으로 이용하거나 조합하여 구현된 것일 수도 있다.
저장부(230)는, 설정 값, 데이터 및/또는 프로그램 등을 일시적 또는 비일시적으로 저장할 수 있으며, 예를 들어, 기준 좌표계(231)를 저장할 수도 있다. 기준 좌표계(231)는 다수의 비행체(100-1 내지 100-N) 중 적어도 하나의 비행체(100-k, k는 1 또는 N과 같거나, 1 내지 N 사이의 자연수, 이하 기준 비행체)를 중심으로 구축된 좌표계로, 예를 들어, 기준 비행체(100-K)의 초기 위치(최초의 시작 위치)를 원점(0, 0, 0)으로 하여 구축된 동북상 좌표계(ENU 좌표계)나 동북하 좌표계(END 좌표계) 등을 포함할 수 있다. 또한, 저장부(230)는 각각의 비행체(100-1 내지 100-N)의 실제 위치(즉, 위치센서(123) 등을 통해 실제로 측정된 좌표(실측 좌표))를 저장할 수도 있고, 실측 좌표를 기준 좌표계(231)를 기반으로 변환하여 획득된 좌표(변환 좌표)를 저장할 수도 있다. 여기서, 실측 좌표는, 각 비행체(100-1 내지 100-N)의 초기 위치 또는 새로운 위치에 대한 실측 좌표를 포함할 수 있고, 변환 좌표는 각 비행체(100-1 내지 100-N)의 초기 위치 또는 새로운 위치에 대한 변환 좌표를 포함할 수 있다. 뿐만 아니라, 저장부(230)는, 입력부(203)를 통해 획득한 기준 거리, 최대 속도 또는 제어 빈도 등을 저장할 수도 있고, 프로세서(210)의 처리 과정에서 일시적으로 생성된 값(일례로 회피방향성이나 목표방향성 등)을 저장할 수도 있다. 저장부(230)는 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있으며, 주기억장치는 램 또는 롬을 포함할 수 있고, 보조기억장치는 플래시 메모리 기억 장치(솔리드 스테이트 드라이브나 외장 메모리 장치 등), 하드 디스크 드라이브, 플로피 디스크 드라이브, 자기 테이프, 콤팩트 디스크 또는 디브이디 등을 포함할 수 있다.
이하 도 3 및 도 4를 참조하여, 프로세서(210)의 동작에 대해 구체적으로 설명하도록 한다.
도 3에 도시된 바에 따르면, 프로세서(210)는, 일 실시예에 있어서, 비행체 위치 처리부(211), 회피방향성 계산부(212), 목표방향성 계산부(213) 및 경로 결정부(214)를 포함할 수 있다. 여기서, 위치 처리부(211), 회피방향성 계산부(212), 목표방향성 계산부(213) 및 경로 결정부(214)는 논리적으로 및/또는 물리적으로 구분된 것일 수 있으며, 물리적으로 구분된 경우, 이들(211 내지 214) 중 적어도 둘은 상호 물리적으로 분리된 별도의 반도체 칩 등 기반으로 구현된 것일 수 있다.
비행체 위치 처리부(211)는, 각각의 비행체(100: 100-1 내지 100-N)의 초기 위치에 대한 측정된 실측 좌표(예를 들어, 글로벌 포지셔닝 시스템으로 획득된 좌표)를 기반으로 기준 좌표계(231)를 생성하고, 각각의 비행체(100: 100-1 내지 100-N)의 특정 시점(일례로 현재)의 실측 좌표를 생성된 기준 좌표계(231)로 변환할 수 있다. 이 경우, 비행체 위치 처리부(211)는, 예를 들어, 적어도 하나의 기준 비행체, 일례로 제K 비행체(100-K)에 대한 초기 위치의 실측 좌표를 원점으로 변환하고, 원점(즉, 제K 비행체(100-K) 초기 위치에 대한 좌표)를 기준으로 북쪽으로 연장된 선을 하나의 축(일례로 X축)으로 하고, 북쪽으로 연장된 선에 직교하고 동쪽으로 연장된 선을 다른 하나의 축(일례로 Y축)으로 하고, 원점으로 기준으로 지면에 대향하고, 북쪽 및 동쪽 각각으로 연장된 선에 직교하는 방향(즉, 우주 방향)을 또 다른 하나의 축(일례로 Z축)으로 하여 기준좌표계(231)를 생성할 수 있다. 또한, 비행체 위치 처리부(211)는, 다른 비행체(100-1 내지 100-(K-1), 100-(K+1) 내지 100-N)의 초기 위치에 대한 실측 좌표를 각각 획득하고, 다른 비행체(100-1 내지 100-(K-1), 100-(K+1) 내지 100-N)의 초기 위치에 대한 실측 좌표를 이용하여 제K 비행체(100-K)에 대한 다른 비행체(100-1 내지 100-(K-1), 100-(K+1) 내지 100-N)의 상대적 위치를 연산하여, 기준좌표계(231) 내에서의 각각의 비행체(100-1 내지 100-(K-1), 100-(K+1) 내지 100-N)의 초기 위치에 대응하는 초기 변환 좌표를 획득할 수도 있다. 또한, 비행체 위치 처리부(211)는 사용자의 선택에 따라 또는 미리 정의된 설정에 따라 비행체(100-1 내지 100-N)로부터 수신된 각각의 비행체(100-1 내지 100-N)의 새로운 위치(새로운 실측 좌표)를 기반으로 각각의 비행체(100-1 내지 100-N)에 대한 기준 좌표계(231) 상의 새로운 위치(즉, 새로운 변환 좌표)를 획득할 수도 있다. 이 경우, 각각의 비행체(100-1 내지 100-N)의 새로운 변환 좌표는, 이전에 측정된 각각의 비행체(100-1 내지 100-N)의 변환 좌표와 동일할 수도 있고 또는 상이할 수도 있다. 새로운 실측 좌표 또는 새로운 변환 좌표의 획득은 소정의 주기로 수행될 수도 있고, 사용자의 조작에 따라 수행될 수도 있다. 새로운 실측 좌표 또는 새로운 변환 좌표는, 현 시점에서의 각각의 비행체(100-1 내지 100-N)의 실측 좌표 또는 이에 대응하는 변환 좌표를 포함할 수 있다. 기준 좌표계(231), 각 비행체(100-1 내지 100-K)의 초기 변환 좌표 및/또는 각 비행체(100-1 내지 100-K)의 새로운 변환 좌표 등은 회피 방향성계산부(212) 및 목표방향성 계산부(213)로 전달될 수 있다. 필요에 따라서, 기준 좌표계(231), 각 비행체(100-1 내지 100-K)의 초기 변환 좌표 및/또는 각 비행체(100-1 내지 100-K)의 새로운 변환 좌표 등은 저장부(230)에 임시적으로 또는 비임시적으로 저장될 수도 있다.
도 4는 프로세서의 동작의 일례를 설명하기 위한 도면이다.
회피방향성 계산부(212)는, 도 4에 도시된 바와 같이 복수의 비행체(100-1 내지 100-N) 중 적어도 하나의 비행체(이하 제어 대상 비행체, 100-1)에 관한 회피방향성(R)을 연산할 수 있다. 이 경우, 회피방향성 계산부(212)는, 소정의 측정 시점(일례로 현 시점)에, 제어 대상 비행체(100-1)를 중심으로 일정한 거리(즉, 기준 거리(D)) 이내에 위치한 다른 비행체(100-2, 100-3)에 대한 정보만을 이용하여 제어 대상 비행체(100-1)에 관한 회피방향성(R)을 연산할 수도 있다. 따라서, 제어 대상 비행체(100-1)로부터 기준 거리(D)보다 멀리 있는 다른 비행체(100-4)에 대한 정보는 회피방향성(R) 연산에 이용되지 않는다. 여기서, 기준 거리(D)는, 설계자나 사용자 등에 의해 사전에 또는 실시간으로 설정된 것일 수 있으며, 고정적일 수도 있고 가변적일 수도 있다. 기준 거리(D)는, 풍속, 실측 위치의 정확도 및/또는 각각의 비행체(100-1 내지 100-N)의 최대 속도 등을 기준으로 정의된 것일 수도 있다. 예를 들어, 기준 거리(D)는 풍속이 2m/s인 경우, 대략 4m로 정의될 수 있으나, 이에 한정되는 것은 아니다. 또한, 다른 비행체(100-2, 100-3)가 기준 거리(D) 이내에 위치하는지 여부는, 제어 대상 비행체(100-1) 및 다른 비행체(100-2, 100-3) 각각의 변환 좌표를 이용하여 판단될 수 있다.
일 실시예에 따르면, 회피방향성 계산부(212)는, 제어 대상 비행체(100-1)에 대해서 기준 거리(D) 내에 존재하는 모든 또는 일부의 비행체(100-2, 100-3)에 대한 해당 시점에서의 위치 정보(즉, 해당 시점에서의 변환 좌표)를 비행체 위치 처리부(211)로부터 수신하고, 이를 기반으로 제어 대상 비행체(100-1)에 대해서 기준 거리(D) 내에 존재하는 모든 또는 일부의 비행체(100-2, 100-3)의 상대적 위치(R1, R2)를 각각 획득하고, 획득한 각각의 상대적 위치(R1, R2)를 합산하여 회피방향성(R)을 연산할 수 있다. 이 경우, 회피방향성 계산부(212)는, 제어 대상 비행체(100-1) 및 모든 또는 일부의 비행체(100-2, 100-3) 사이의 거리(즉, 상대적 위치(R1, R2)의 절대 값)에 반비례하도록 회피방향성(R)을 결정할 수도 있다. 다시 말해서, 제어 대상 비행체(100-1)와 기준 거리(D) 이내의 각각의 비행체(100-2, 100-3) 사이의 거리가 가까우면 가까울수록 회피방향성은 더욱 더 크게 증가하여 결정된다. 또한, 회피방향성 계산부(212)는 기준 거리(D)의 크기에 비례하여 및/또는 기준 거리(D) 이내의 모든 또는 일부의 비행체(100-2, 100-3)의 개수에 반비례하여 회피방향성(R)을 결정할 수도 있다. 연산된 회피방향성은 경로 결정부(214)로 전달될 수 있다.
일 실시예에 따르면, 회피방향성 계산부(212)의 연산은, 하기의 수학식 1을 기반으로 수행될 수도 있다.
[수학식 1]
수학식 1에서 은 연산된 회피방향성을 의미한다. 는 제어 대상 비행체(100-1)에 대한 비행체(100-2, 100-3)의 상대적 위치(R1, R2)를 나타내는 제1 위치 벡터로, 다른 적어도 하나의 비행체(100-2, 100-3)에 대한 위치 벡터에서 제어 대상 비행체(100-1)에 대한 위치 벡터를 차감하여 획득된 것일 수 있다. D는 기준 거리이고, N은 제어 대상이 되는 모든 비행체(100-1 내지 100-K)의 개수이며, n은 회피방향성 연산에 이용된 기준 거리(D) 이내의 비행체(100-2, 100-3)의 개수이다. n은 기준 거리(D)와 제1 위치 벡터의 크기() 사이의 비율이 반영된 제1 위치 벡터의 평균 값을 획득하기 위해 이용된다. 수학식 1에 기재된 바와 같이, 주어진 제어 대상 비행체(100-1)에 대한 회피방향성은, 각각의 비행체(100-2, 100-3)에 대한 제어 대상 비행체(100-1)의 제1 위치 벡터를 조합하여 연산될 수 있다.
실시예에 따라서, 회피방향성 계산부(212)는, 모든 제어 대상 비행체(100: 100-1 내지 100-K)에 대하여 회피방향성을 연산할 수도 있고, 또는 일부의 제어 대상 비행체(일례로 100-1 등)에 대하여 회피방향성을 연산할 수도 있다.
목표방향성 계산부(213)는, 주어진 제어 대상 비행체(100-1)에 대한 정보(변환 좌표)를 수신하고, 수신한 정보를 기반으로 주어진 제어 대상 비행체(100-1)에 대해 목표 지점(O)으로의 이동을 위한 목표방향성(A)을 연산할 수 있다. 목표 방향성(A)은, 예를 들어, 제어 대상 비행체(100-1)에 대한 목표 지점(O)의 상대적 위치(즉, 제어 대상 비행체(100-1)의 목표 지점(O)에 대한 제2 위치 벡터)를 이용하여 계산 및 획득될 수 있다. 보다 구체적으로, 제2 위치 벡터는, 목표 지점(O)에 대한 위치 벡터 및 제어 대상 비행체(100-1)의 위치 벡터 간의 차벡터를 연산함으로써 획득될 수도 있다. 여기서, 목표 지점(O)은 사용자에 의해 입력된 것일 수도 있고, 미리 정의된 설정에 따라 비행체 제어 장치(200)의 프로세서(210)에 의해 결정된 것일 수도 있다. 실시예에 따라서, 목표방향성 계산부(213)는, 모든 제어 대상 비행체(100: 100-1 내지 100-K)에 대하여 목표방향성을 연산할 수도 있고, 또는 일부의 제어 대상 비행체(일례로 100-1 등)에 대하여 목표방향성을 연산할 수도 있다. 연산된 목표방향성은 경로 결정부(214)로 전달될 수 있다.
경로 결정부(214)는 회피방향성 및 목표방향성을 기반으로 이동 경로(LP)를 연산할 수 있다. 일 실시예에 의하면, 경로 결정부(214)는 회피방향성 및 목표방향성 각각에 대해 비례-적분-미분 제어기(215, 216)를 이용하여 회피방향성 및 목표방향성 각각에 대응하는 연산 결과를 획득하고, 회피방향성 및 목표방향성 각각에 대응하는 연산 결과를 조합하여 이동 경로(LP)를 연산할 수도 있다. 구체적으로 예를 들어, 경로 결정부(214)는 도 3에 도시된 바처럼 제1 비례-적분-미분 제어기(215), 제2 비례-적분-미분 제어기(216) 및 결과획득부(217)를 포함할 수 있으며, 제1 비례-적분-미분 제어기(215)는 회피방향성 계산부(212)로부터 회피방향성을 수신하고 수신한 회피방향성을 기반으로 회피방향성에 대한 비례-적분-미분(PID: Proportional-Integral-Differential) 연산 결과를 획득하여 출력하고, 제2 비례-적분-미분 제어기(216)는 목표방향성 계산부(213)로부터 목표방향성을 수신하고 수신한 목표방향성을 기반으로 목표방향성에 대한 비례-적분-미분 연산 결과를 획득하여 출력하며, 결과획득부(217)는 회피방향성에 대한 비례-적분-미분 연산 결과와 목표방향성에 대한 비례-적분-미분 연산 결과를 조합하여 최종적인 이동 경로(LP)를 획득할 수 있다.
일 실시예에 따르면, 제1 비례-적분-미분 제어기(215)는, 하기의 수학식 2를 이용하여 회피방향성에 대한 비례-적분-미분 연산 결과를 획득하고, 제2 비례-적분-미분 제어기(216)는 하기의 수학식 3을 이용하여 목표방향성에 대한 비례-적분-미분 연산 결과를 획득할 수 있다.
[수학식 2]
[수학식 3]
수학식 2에서 는 각각 연산된 회피방향성 및 회피방향성에 대한 비례-적분-미분 연산 결과를 의미하고, 수학식 3에서 는 각각 연산된 목표방향성 및 목표방향성에 대한 비례-적분-미분 연산 결과를 의미한다. 또한, 수학식 2 및 3의 k_pr 및 k_pe는 비례항에 대한 게인을, k_ir 및 k_ie는 적분항에 대한 게인을, k_dr 및 k_de는 미분항에 대한 게인을 의미한다. 이 경우, 결과획득부(217)는, 하기의 수학식 4와 같이 회피방향성 및 목표방향성에 대한 각각의 비례-적분-미분 연산 결과를 합산하여, 이동 경로(LP, 즉, 이동 경로에 대한 벡터 값)를 연산하도록 마련된 것일 수도 있다.
[수학식 4]
는 제어 대상 비행체(100-1)의 이동 경로를 나타내는 이동 벡터이다.
일 실시예에 의하면, 결과획득부(217)는, 연산된 이동 경로, 일례로 이동 벡터()의 크기(즉, 이동 벡터()의 절대 값)를 추가적으로 더 연산하고, 이동 벡터()의 크기를 해당 제어 대상 비행체(100-1)에 대해 설정된 최대 속도와 비교할 수 있다. 만약 이동 벡터()의 크기가 해당 제어 대상 비행체(100-1)의 최대 속도보다 작다면, 결과획득부(217)는 이동 벡터()를 이동 경로(LP)로써 결정하고, 결정된 이동 경로(LP)는 각각의 통신부(101, 201)를 통해 제어 대상 비행체(100-1)로 전달된다. 반대로 만약 이동 벡터()의 크기가 해당 제어 대상 비행체(100-1)의 최대 속도보다 크다면, 결과획득부(217)는 이동 벡터()를 보정하여 새로운 보정된 이동 벡터()를 획득하고, 보정된 이동 벡터()를 이동 경로(LP)로 하여 제어 대상 비행체(100-1)로 전달할 수 있다. 실시예에 따라, 결과획득부(217)는, 이동 벡터()의 크기를 최대 속도와 동일하거나 또는 이보다 작게 보정하여 보정된 이동 벡터()를 획득할 수도 있으며, 구체적으로 예를 들어 이동 벡터()에 최대 속도 또는 최대 속도보다 작은 값을 곱하고 이동 벡터()의 크기(즉, 이동 벡터()의 절대 값)을 나눔으로써 보정된 이동 벡터()를 획득할 수도 있다. 제어 대상 비행체(100-1)는 전달받은 이동 경로(LP)를 기반으로 구동 모터(131)를 제어함으로써 이동 경로(LP)를 따라 이동하게 된다.
상술한 이동 경로(LP)는 모든 또는 일부의 비행체(100: 100-1 내지 100-K)에 대해 각각 연산되어, 해당하는 비행체(100: 100-1 내지 100-K)로 동시에 또는 이시에 전달될 수 있다. 이 경우, 각각의 비행체(100: 100-1 내지 100-K)에 대한 이동 경로(LP)는 모두 동일할 수도 있고, 일부는 동일하고 일부는 상이할 수도 있으며, 또는 모두 상이할 수도 있다.
상술한 바와 같이 적어도 하나의 제어 대상 비행체(100-1)에 대한 다른 적어도 하나의 비행체(100-2 내지 100-4)의 상대적 위치 및 적어도 하나의 제어 대상 비행체(100-1)에 대한 목표 지점(O)의 상대적 위치를 기반으로 근거리 또는 장거리 이동 경로를 연산하고 이를 통해 제어 대상 비행체(100-1)가 이동하도록 함으로써, 적어도 하나의 제어 대상 비행체(100-1)는 다른 적어도 하나의 비행체(100-2 내지 100-4)와의 충돌을 회피하면서 목표 지점(O)으로 안전하게 이동할 수 있게 된다.
도 5는 프로세서의 동작의 다른 실시예를 설명하기 위한 도면이다.
비행체 제어 장치(200)의 프로세서(210)는 모든 비행체(100: 100-1 내지 100-K) 각각에 대하여 이동 경로(LP)를 연산하고, 동시에 모든 비행체(100: 100-1 내지 100-K)에 이동 경로(LP)를 전달하여 이들 비행체(100: 100-1 내지 100-K)가 동시에 이동을 개시하도록 할 수도 있으나, 실시예에 따라서 모든 비행체(100: 100-1 내지 100-K) 각각에 대해서 그 이동 경로(LP)를 동시에 또는 순차적으로 연산하고, 연산한 이동 경로(LP)를 각각의 비행체(100: 100-1 내지 100-K)에 순차적으로 전달하여, 각각의 비행체(100: 100-1 내지 100-K)가 순차적으로 이동하도록 할 수도 있다. 즉, 각각의 비행체(100: 100-1 내지 100-K)는 서로 상이한 시점에 이동을 개시하게 된다. 이렇게 적어도 하나의 제어 대상 비행체(일례로 100-11)의 이동 경로(LP)가 먼저 연산 및 전달되고, 제어 대상 비행체(100-11)가 이를 기반으로 동작을 개시하는 경우, 제어 대상 비행체(100-11)의 이동 경로(LP) 상에는, 도 5에 도시된 바처럼, 상대적으로 늦게 이동 경로(LP)가 연산 및 전달되어 늦게 이동을 개시할 다른 비행체(100-18, 이하 후순위 제어 대상 비행체)가 위치할 수도 있다.
또한, 프로세서(210)는 모든 비행체(100: 100-1 내지 100-K) 중 일부의 비행체(일례로 100-11)만을 제어 대상 비행체로 취급하여 이동 경로(LP)를 연산하고, 다른 비행체(100-19, 이하 비제어 대상 비행체)에 대해서는 그 이동 경로(LP12)를 연산하지 않을 있다. 이 경우에도, 도 5에 도시된 바와 같이, 연산된 제어 대상 비행체(100-11)의 이동 경로(LP) 상에는 비제어 대상 비행체(100-19)가 위치하고 있을 수도 있다. 이와 같이 제어 대상 비행체(100-11)의 이동 경로(LP) 상에 후순위 제어 대상 비행체(100-18) 또는 비제어 대상 비행체(100-19)가 위치함에 따라, 후순위 제어 대상 비행체(100-18) 또는 비제어 대상 비행체(100-19)와 제어 대상 비행체(100-11)의 이동 중에 불의의 사고가 발생할 가능성이 높아진다.
이렇게 제어 대상 비행체(100-10)의 이동 중에, 상대적으로 늦게 제어되거나 제어 대상이 아닌 비행체(100-19, 100-19)와 제어 대상 비행체(100-10) 사이에 발생할 수 있는 불의의 사고를 방지하기 위해서, 프로세서(210)는 제어 대상 비행체(100-11)의 이동 경로(LP)에 적어도 하나의 후순위 제어 대상 비행체(100-18) 또는 비제어 대상 비행체(100-19)가 존재하는지를 먼저 판단할 수 있다. 여기서, 후순위 제어 대상 비행체(100-18) 또는 복수의 비제어 대상 비행체(100-19)는 기준 거리(D) 이내에 위치한 비행체일 수도 있고, 기준 거리(D)보다 더 멀리 위치한 비행체일 수도 있다.
만약 제어 대상 비행체(100-11)의 이동 경로(LP)에 적어도 하나의 후순위 제어 대상 비행체(100-18)가 존재한다면, 프로세서(210)는 이동 경로(LP)의 연산 순서가 이미 결정되어 있다고 하더라도 이를 배제하고, 다른 비행체(100-12 내지 100-15)에 선행하여, 제어 대상 비행체(100-11)의 이동 경로(LP)에 위치하는 후순위 제어 대상 비행체(100-18)에 대한 이동 경로(LP11)를 먼저 연산할 수도 있다. 후순위 제어 대상 비행체(100-18)에 대한 이동 경로(LP11)는, 상술한 바와 같이 후순위 제어 대상 비행체(100-18)에 관해 미리 정의된 목표 지점(O1)과 다른 비행체(들)의 위치를 기반으로 연산될 수 있다.
또한, 프로세서(210)는, 제어 대상 비행체(100-11)의 이동 경로(LP)에 비제어 대상 비행체(100-19)가 존재한다면, 비제어 대상 비행체(100-19)를 기존에 정해진 바와 상이하게 제어 대상 비행체로 추가하고, 새롭게 추가된 비제어 대상 비행체(100-19)의 이동 경로(LP12)를 연산할 수도 있다. 이때, 프로세서(210)는, 비제어 대상 비행체(100-19)가 제어 대상 비행체(100-11)의 이동 경로(LP)에서 이탈하여 비행체(100-11, 100-19) 간 충돌을 방지할 수 있는 수준으로 비제어 대상 비행체(100-19)의 목표 지점(O2)을 새롭게 설정하고, 새롭게 설정한 목표 지점(O2)을 이용하여 비제어 대상 비행체(100-19)의 이동 경로(LP12)를 연산할 수도 있다. 제어 대상 비행체(100-11) 및 비제어 대상 비행체(100-19)의 이동 경로(LP, LP2)의 연산 및/또는 전송은 순차적으로 또는 동시에 수행될 수 있으며, 제어 대상 비행체(100-11) 및 비제어 대상 비행체(100-19)의 이동도, 이에 대응하여 순차적으로 또는 동시에 수행될 수 있다.
한편, 복수의 후순위 제어 대상 비행체(100-18) 및/또는 복수의 비제어 대상 비행체(100-19)가 이동 경로(LP)에 위치하고 있다면, 프로세서(210)는 복수의 후순위 제어 대상 비행체(100-18) 및/또는 복수의 비제어 대상 비행체(100-19) 중 제어 대상 비행체(100-11)에 인접한 순서에 따라 순차적으로 후순위 제어 대상 비행체(100-18)의 이동 경로(LP11) 또는 및/또는 복수의 비제어 대상 비행체(100-19)의 이동 경로(LP12)를 각각 연산할 수도 있다.
도 6은 프로세서의 동작의 또 다른 실시예를 설명하기 위한 도면이다.
도 6에 도시된 바에 의하면, 복수의 제어 대상 비행체(100-21, 100-22) 각각에 대해 연산된 경로(LP13, LP14)가 상호 중첩되거나 또는 특정한 시점에 특정한 지점에서 만나게 될 수도 있다. 이 경우, 복수의 제어 대상 비행체(100-21, 100-22) 간의 충돌을 방지하기 위하여 프로세서(250)는, 복수의 제어 대상 비행체(100-21, 100-22) 중 어느 하나의 비행체(100-22)의 이동 경로(LP4)를 추가적으로 더 보정할 수도 있다. 예를 들어, 프로세서(250)는, 복수의 제어 대상 비행체(100-21, 100-22) 중 어느 하나의 비행체(100-22)에 대한 이동 경로(LP14)와 다른 하나의 비행체(100-21)에 대한 이동 경로(LP13)의 차 벡터(V1)를 획득하고, 획득한 차 벡터(V1)를 이용하여 어느 하나의 비행체(100-22)의 이동 경로(LP14)를 수정하여 새로운 이동 경로(LP15)를 획득할 수도 있다. 이 경우, 프로세서(250)는 획득한 차 벡터(V1)에 대해 상술한 바와 같이 비례-적분-미분 연산을 수행하여 획득한 차 벡터에 대응하는 비례-적분-미분 연산 결과를 획득하고, 이를 기존의 이동 경로(LP14)에 부가함으로써, 새로운 이동 경로(LP15)를 더 획득할 수도 있다. 이에 따라 복수의 제어 대상 비행체(100-21, 100-22) 각각이 이동 경로(LP13, LP14)를 따라 이동하는 도중에 발생할 수 있는 사고를 미연에 방지할 수 있게 된다.
이하 도 7을 참조하여 비행체 제어 방법의 일 실시예에 대해서 설명한다.
도 7은 비행체 제어 방법의 일 실시예에 대한 흐름도이다.
도 7에 도시된 비행체 제어 방법의 일 실시예를 참조하면, 먼저 적어도 하나의 비행체가 위치센서 등을 이용하여 초기 위치를 측정하여 초기 실측 좌표를 획득하고, 획득한 초기 실측 좌표를 유선 및/또는 무선 통신 네트워크를 통해 적어도 하나의 비행기 제어 장치로 전달할 수 있다(300).
비행기 제어 장치는 적어도 하나의 비행체 각각의 초기 위치를 획득하고, 사용자 또는 미리 정의된 설정에 따라 선택된 적어도 하나의 비행체를 기준 비행체로 결정하고, 기준 비행체의 초기 위치(즉, 기준 비행체의 초기 실측 좌표)를 원점으로 하는 기준 좌표계를 생성할 수 있다(310). 기준 좌표계는, 예를 들어, 동북상 좌표계(ENU 좌표계)나 동북하 좌표계(END 좌표계) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 비행체 제어 장치는, 기준 비행체 이외의 다른 적어도 하나의 비행체의 초기 실측 좌표를 기준 좌표계에 따라 변환하여 초기 변환 좌표를 더 획득할 수도 있다.
미리 정의된 시간에 따라 또는 사용자 등의 선택에 따라 각각의 비행체는 새로운 위치(예를 들어, 현재의 위치)에 대한 정보, 일례로 새로운 실측 좌표를 위치센서 등을 이용하여 획득하고, 이를 비행체 제어 장치로 전달할 수 있다(320).
비행체 제어 장치는 새로운 실측 좌표의 수신에 응하여 기 정의된 기준 좌표계를 기반으로 새로운 실측 좌표를 변환하여 새로운 실측 좌표에 대응하는 새로운 변환 좌표를 획득할 수 있다(330).
비행기 제어 장치는 변환 좌표를 이용하여 주어진 적어도 하나의 비행체, 즉 적어도 하나의 제어 대상 비행체 각각에 대한 회피방향성 및 목표방향성을 연산하여 획득할 수 있다(340).
일 실시예에 의하면, 비행기 제어 장치는, 다수의 비행체 각각의 변환 좌표를 이용하여, 제어 대상 비행체로부터 복수의 비행체로부터 미리 정의된 소정의 기준 거리 이내에 위치하는 적어도 하나의 비행체를 선별하고, 기준 거리 이내에 존재하는 모든 또는 일부의 선별된 비행체를 이용하여 회피방향성을 연산할 수도 있다. 회피방향성의 연산은 제어 대상 비행체 및 다른 비행체 사이의 상대적 위치(예를 들어, 다른 비행체에 대한 위치 벡터에 제어 대상 비행체에 대한 위치 벡터를 차감하여 획득된 제1 위치 벡터를 포함 가능함)를 기반으로 수행될 수 있으며, 예를 들어, 둘 이상의 비행체와 제어 대상 비행체 사이의 상대적 위치(제1 위치 벡터) 각각마다 기준 거리와 제1 위치 벡터의 크기 사이의 비율을 곱한 결과를 합산하여 획득된 것일 수 있다. 따라서, 회피방향성은 상대적 위치의 크기(즉, 제어 대상 비행체와 다른 비행체 간의 거리)에 반비례하고, 기준 거리의 크기에 비례하게 된다. 필요에 따라, 회피방향성의 연산은 기준 거리와 제1 위치 벡터의 크기 사이의 비율을 곱한 제1 위치 벡터의 합을, 회피방향성 연산에 이용된 기준 거리 이내의 비행체의 개수를 나누어 연산될 수도 있다. 회피방향성은, 예를 들어, 상술한 수학식 1에 따라 연산 및 획득될 수도 있다.
일 실시예에 의하면, 비행기 제어 장치는, 제어 대상 비행체에 대한 목표 지점의 상대적 위치(제2 위치 벡터)를 이용하여 목표방향성을 획득할 수도 있다. 예를 들어, 비행기 제어 장치는, 기준 좌표계를 이용하여 목표 지점에 대한 위치 벡터 및 제어 대상 비행체의 위치 벡터를 획득하고, 이들 위치 벡터 간의 차벡터를 연산하여 목표방향성을 획득할 수도 있다.
각각의 비행체에 대한 회피방향성 및 목표방향성이 획득되면, 이들을 기반으로 각각의 비행체에 대한 이동 경로가 획득될 수 있다(350). 구체적으로 예를 들어, 이동 경로는, 회피방향성에 대한 비례-적분-미분 연산 결과 및 목표방향성에 대한 비례-적분-미분 연산 결과를 연산하고, 연산된 회피방향성에 대한 비례-적분-미분 연산 결과 및 목표방향성에 대한 비례-적분-미분 연산 결과를 합산하여 조합함으로써 획득될 수 있다. 여기서, 회피방향성에 대한 비례-적분-미분 연산 결과는 회피방향성에 대해 비례-적분-미분 제어기를 적용하여 획득될 수 있고, 목표방향성에 대한 비례-적분-미분 연산 결과는 목표방향성에 대해 비례-적분-미분 제어기를 적용하여 획득될 수 있다. 이동 경로는, 예를 들어, 상술한 수학식 2 내지 수학식 4를 이용하여 획득될 수도 있다.
일 실시예에 의하면, 각각의 비행체에 대한 이동 경로가 하나 이상 획득되면, 각각의 이동 경로의 크기(즉, 이동 벡터의 크기)와 최대 속도 간의 비교가 더 수행될 수도 있다(360). 구체적으로 예를 들어, 이동 경로가 이동 벡터의 형태로 획득되면, 이동 벡터의 크기(즉, 이동 벡터의 절대 값)이 연산 되고, 이동 벡터의 크기는, 사용자 등에 의해 정의된 최대 속도와 비교될 수 있다. 만약 비교 결과, 적어도 하나의 비행체에 대한 이동 벡터의 크기가 최대 속도보다 작다면(360의 예), 획득된 이동 경로는 그대로 해당 비행체로 전달될 수 있다(370). 반대로 적어도 하나의 비행체에 대한 이동 벡터의 크기가 최대 속도보다 크다면(360의 아니오), 해당 비행체에 대한 이동 경로는 보정될 수 있다(365). 이동 경로의 보정은, 예를 들어, 이동 경로에 대응하는 이동 벡터의 크기를 최대 속도와 동일하거나 또는 이보다 작게 줄임으로써 수행될 수도 있다. 보정된 이동 경로는 대응하는 비행체로 전달될 수 있다(370). 실시예에 따라서 이동 경로의 크기 및 최대 속도 간의 비교(360)는 생략될 수도 있다.
각각의 비행체는, 이동 경로 또는 보정된 이동 경로를 수신하고, 이동 경로 또는 보정된 이동 경로를 해석하고, 해석된 바에 따라 각각의 비행체의 적어도 하나의 구동부를 동작시켜 이동 경로 또는 보정된 이동 경로에 따라 이동하게 된다. 비행체는 이동 시에 비행체에 장착된 조명등이나, 카메라 장치나, 소화 약제 투하 장치 등을 동작시켜 소정의 퍼포먼스를 수행하거나, 특정 구조물이나 지역에 대한 감시를 수행하거나, 또는 진화 작업 등을 수행할 수 있다.
상술한 실시예에 따른 비행체 제어 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 프로그램은, 명령어, 라이브러리, 데이터 파일 및/또는 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다. 상술한 비행체 제어 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 롬, 램 또는 플래시 메모리(솔리드 스테이트 드라이브(SSD) 등) 등과 같은 반도체 저장 매체나, 하드 디스크나 플로피 디스크 등과 같은 자기 디스크 저장 매체나, 콤팩트 디스크나 디브이디 등과 같은 광 기록 매체나, 또는 플롭티컬 디스크 등과 같은 자기-광 기록 매체 등 컴퓨터 등의 호출에 따라 실행되는 하나 이상의 프로그램을 일시적 또는 비일시적으로 저장 가능한 적어도 한 종류의 물리적 저장 매체를 포함할 수 있다.
이상 비행체 제어 장치 및 비행체 제어 방법의 실시예에 대해 설명하였으나, 비행체 제어 장치 또는 비행체 제어 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현할 수 있는 다른 다양한 장치나 방법 역시 상술한 비행체 제어 장치 또는 비행체 제어 방법의 일 실시예가 될 수 있다. 예를 들어, 설명된 방법(들)이 설명된 바와 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소(들)가 설명된 바와 다른 형태로 결합, 연결 또는 조합되거나 다른 구성 요소 또는 균등물 등에 의하여 대치 또는 치환되더라도, 상술한 비행체 제어 장치 및/또는 비행체 제어 방법의 일 실시예가 될 수 있다.
100: 비행체 101: 통신부
110: 프로세서 121: 관성센서
123: 위치센서 200: 비행체 제어 장치.
201: 통신부 210: 프로세서
211: 비행체 위치 처리부 212: 회피방향성 계산부
213: 목표방향성 계산부 214: 경로 결정부
230: 저장부 231: 좌표계

Claims (14)

  1. 복수의 비행체로부터 상기 복수의 비행체의 위치 정보를 각각 수신하는 통신부; 및
    상기 복수의 비행체 중 적어도 하나의 비행체에 대한 제1 비행체의 회피방향성을 연산하고, 상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하고, 상기 회피방향성 및 상기 목표방향성을 조합하여 상기 제1 비행체의 이동 경로를 연산하는 프로세서;를 포함하는 비행체 제어 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 비행체는, 상기 복수의 비행체 중 상기 제1 비행체와의 거리가 미리 정의된 기준 거리보다 작은 비행체를 포함하는 비행체 제어 장치.
  3. 제1항에 있어서,
    상기 프로세서는, 상기 적어도 하나의 비행체 각각에 대한 상기 제1 비행체의 제1 위치 벡터를 조합하여 상기 제1 비행체의 회피방향성을 연산하되, 상기 제1 비행체의 회피방향성은 상기 위치 벡터에 비례하고, 상기 적어도 하나의 비행체 각각 및 상기 제1 비행체 사이의 거리에 반비례하는 비행체 제어 장치.
  4. 제3항에 있어서,
    상기 프로세서는, 상기 목표 지점에 대한 상기 제1 비행체의 제2 위치 벡터를 이용하여 상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하는 비행체 제어 장치.
  5. 제4항에 있어서,
    상기 프로세서는, 상기 회피방향성에 대한 비례-적분-미분 제어기의 연산 결과 및 상기 목표방향성에 대한 비례-적분-미분 제어기의 연산 결과를 조합하여 상기 제1 비행체의 이동 경로에 대한 이동 벡터를 연산하는 비행체 제어 장치.
  6. 제5항에 있어서,
    상기 프로세서는, 상기 이동 벡터의 크기와 상기 제1 비행체의 최대 속도를 비교하고, 비교 결과 상기 이동 벡터의 크기가 상기 제1 비행체의 최대 속도보다 작다면, 상기 이동 벡터의 크기를 보정하는 비행체 제어 장치.
  7. 제5항에 있어서,
    상기 프로세서는, 상기 제1 비행체를 기준으로 상기 복수의 비행체에 대한 좌표계를 생성하고, 상기 좌표계를 이용하여 상기 제1 비행체에 대한 상기 적어도 하나의 비행체 각각의 제1 위치 벡터를 연산하는 비행체 제어 장치.
  8. 복수의 비행체로부터 상기 복수의 비행체의 위치 정보를 각각 수신하는 단계;
    상기 복수의 비행체 중 적어도 하나의 비행체에 대한 제1 비행체의 회피방향성을 연산하는 단계;
    상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하는 단계;
    상기 회피방향성 및 상기 목표방향성을 조합하여 상기 제1 비행체의 이동 경로를 연산하는 단계; 및
    상기 제1 비행체의 이동 경로를 상기 제1 비행체로 송신하는 단계;를 포함하는 비행체 제어 방법.
  9. 제8항에 있어서,
    상기 적어도 하나의 비행체는, 상기 복수의 비행체 중 상기 제1 비행체와의 거리가 미리 정의된 기준 거리보다 작은 비행체를 포함하는 비행체 제어 방법.
  10. 제9항에 있어서,
    상기 복수의 비행체 중 적어도 하나의 비행체에 대한 제1 비행체의 회피방향성을 연산하는 단계는,
    상기 적어도 하나의 비행체 각각에 대한 상기 제1 비행체의 제1 위치 벡터를 조합하여 상기 제1 비행체의 회피방향성을 연산하는 단계;를 포함하되,
    상기 제1 비행체의 회피방향성은 상기 제1 위치 벡터에 비례하고, 상기 적어도 하나의 비행체 각각 및 상기 제1 비행체 사이의 거리에 반비례하는 비행체 제어 방법.
  11. 제10항에 있어서,
    상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하는 단계는,
    상기 목표 지점에 대한 상기 제1 비행체의 제2 위치 벡터를 이용하여 상기 제1 비행체로부터 목표 지점까지의 목표방향성을 계산하는 단계;를 포함하는 비행체 제어 방법.
  12. 제11항에 있어서,
    상기 회피방향성 및 상기 목표방향성을 조합하여 상기 제1 비행체의 이동 경로를 연산하는 단계는,
    상기 회피방향성에 대한 비례-적분-미분 제어기의 연산 결과 및 상기 목표방향성에 대한 비례-적분-미분 제어기의 연산 결과를 조합하여 상기 제1 비행체의 이동 경로에 대한 이동 벡터를 연산하는 단계;를 포함하는 비행체 제어 방법.
  13. 제12항에 있어서,
    상기 이동 벡터의 크기와 상기 제1 비행체의 최대 속도를 비교하고, 비교 결과 상기 이동 벡터의 크기가 상기 제1 비행체의 최대 속도보다 작다면, 상기 이동 벡터의 크기를 보정하는 단계;를 더 포함하는 비행체 제어 방법.
  14. 제11항에 있어서,
    상기 제1 비행체를 기준으로 상기 복수의 비행체에 대한 좌표계를 생성하는 단계;를 더 포함하되,
    상가 좌표계는 상기 제1 비행체에 대한 상기 적어도 하나의 비행체 각각의 제1 위치 벡터의 연산에 이용되는 비행체 제어 방법.
KR1020220019419A 2022-02-15 2022-02-15 비행체 제어 장치 및 방법 KR20230122785A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220019419A KR20230122785A (ko) 2022-02-15 2022-02-15 비행체 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220019419A KR20230122785A (ko) 2022-02-15 2022-02-15 비행체 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230122785A true KR20230122785A (ko) 2023-08-22

Family

ID=87799863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220019419A KR20230122785A (ko) 2022-02-15 2022-02-15 비행체 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20230122785A (ko)

Similar Documents

Publication Publication Date Title
US11787543B2 (en) Image space motion planning of an autonomous vehicle
US11797009B2 (en) Unmanned aerial image capture platform
US11822353B2 (en) Simple multi-sensor calibration
US10930000B2 (en) Method and system for detecting and tracking objects using characteristic points
EP3387507B1 (en) Systems and methods for uav flight control
US10540746B2 (en) Course profiling and sharing
US11556681B2 (en) Method and system for simulating movable object states
US20200012756A1 (en) Vision simulation system for simulating operations of a movable platform
KR20230122785A (ko) 비행체 제어 장치 및 방법
US20200106958A1 (en) Method and system for operating a movable platform using ray-casting mapping
US20240228035A1 (en) Image Space Motion Planning Of An Autonomous Vehicle
KR102453860B1 (ko) 단말이 탑재 가능한 짐벌 구조의 무인 이동체 제어 장치 및 이를 포함하는 무인 이동체 제어 시스템
JP2023083072A (ja) 方法、システムおよびプログラム
JP2024088679A (ja) 航空機のスマート着陸

Legal Events

Date Code Title Description
E902 Notification of reason for refusal