KR102267833B1 - 드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법 - Google Patents

드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법 Download PDF

Info

Publication number
KR102267833B1
KR102267833B1 KR1020190140746A KR20190140746A KR102267833B1 KR 102267833 B1 KR102267833 B1 KR 102267833B1 KR 1020190140746 A KR1020190140746 A KR 1020190140746A KR 20190140746 A KR20190140746 A KR 20190140746A KR 102267833 B1 KR102267833 B1 KR 102267833B1
Authority
KR
South Korea
Prior art keywords
drone
processor
electronic device
information
space
Prior art date
Application number
KR1020190140746A
Other languages
English (en)
Other versions
KR20210054731A (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 KR1020190140746A priority Critical patent/KR102267833B1/ko
Publication of KR20210054731A publication Critical patent/KR20210054731A/ko
Application granted granted Critical
Publication of KR102267833B1 publication Critical patent/KR102267833B1/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
    • 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
    • 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/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0808Control of attitude, i.e. control of roll, pitch, or yaw 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

다양한 실시예들에 따른 드론 움직임 학습 장치는 드론 및 외부 객체 사이의 공기 역학적 상호 작용에 의한 드론의 움직임을 학습할 수 있다. 예를 들어, 드론 움직임 학습 장치는 가상의 외부 객체가 구현된 가상의 공간 내에서의 드론의 움직임을 학습할 수 있다. 상기 가상의 공간 내에서의 드론의 움직임은, 상기 가상의 외부 객체가 단순화된 외부 객체를 포함하는 실제의 공간 내에서의 드론의 움직임에 대응할 수 있다. 드론 움직임 학습 장치는 드론의 움직임을 학습한 결과에 기반하여, 드론의 움직임을 제어하는 제어 신호를 출력할 수 있다.

Description

드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법{ELECTRONIC DEVICE AND METHOD TO TRAINING MOVEMENT OF DRONE AND CONTROLLING MOVEMENT OF DRONE}
본 문서에 개시되는 다양한 실시예들은 드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법과 관련된다.
일반적으로, 전자 장치가 자율 주행을 한다는 것은 GPS 정보와 같은 센서를 기반으로 목표 지점까지 전자 장치의 기능의 적어도 일부를 자율적으로 판단하여 이동하는 것을 의미할 수 있다. 자율 주행을 수행하기 위하여, 전자 장치가 전자 장치 스스로의 위치를 정확하게 아는 것이 중요하다(localization accuracy). 실내 환경이나 GPS를 사용하지 못하는 환경에서 드론과 같은 전자 장치를 자율 주행하기 위해서는 카메라나 IMU, 기타 센서를 통해 로컬리제이션(localization)을 수행하여야 한다(예를 들어, Visual Inertial Odometry 기술을 이용하여).
실제 현실에서도 최대한 다양한 실제 환경을 만들어 데이터 셋을 만들어 학습을 시킬 수 있지만 많은 비용과 시간이 필요하며, 가상에서만큼 다양한 실제 환경을 구현하기 어렵다. 강화 학습이나, 지도 학습(분류, 회귀 등)을 이용하여 가상 환경만으로 자율 주행을 학습하는 경우, 드론의 움직임이 실제와 다르기 때문에 드론이 잘못 비행할 위험이 존재한다. 예를 들어, 다양한 실제 환경의 영향으로 드론이 드리프트(drift)하는 경우, 가상 환경에서 학습된 정보 및 실제의 환경의 차이로 드론이 추락할 수 있다. 드론의 움직임을 보다 정확하게 학습하기 위한 방안이 요구될 수 있다.
다양한 실시예들에 따른 전자 장치는 통신 프로세서, 메모리 및 상기 통신 프로세서 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고, 상기 메모리는, 복수의 인스트럭션들을 저장하고, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 통신 프로세서를 이용하여 상기 전자 장치와 구별되는 드론을 식별하고, 상기 드론의 식별에 응답하여, 상기 드론이 위치된 공간(a space where the drone is located)과 관련된 제1 정보를 획득하고, 상기 제1 정보에 기반하여, 상기 공간내에서 상기 드론과 구별되는 외부 객체의 위치를 식별하고, 상기 외부 객체의 위치를 식별하는 것에 응답하여, 상기 공간 내에서 상기 드론의 움직임과 관련된 제2 정보를 획득하고, 및 상기 제2 정보의 획득에 응답하여, 상기 외부 객체와 관련되고 상기 드론의 움직임을 제어하기 위한 제3 정보를 획득하도록 제어할 수 있다.
다양한 실시예들에 따른 전자 장치(electronic device)는, 상기 전자 장치의 움직임을 제어하기 위한 적어도 하나의 모터, 적어도 하나의 센서, 통신 프로세서, 메모리 및 상기 적어도 하나의 모터, 상기 적어도 하나의 센서, 상기 통신 프로세서 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고, 상기 메모리는, 복수의 인스트럭션들을 저장하고, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 통신 프로세서를 이용하여 상기 전자 장치와 구별되는 외부 전자 장치를 식별하고, 상기 외부 전자 장치의 식별에 응답하여, 상기 외부 전자 장치로 상기 적어도 하나의 센서로부터 획득되고 공간 내에서 상기 전자 장치의 위치와 관련된 제1 정보를 송신하고, 상기 제1 정보를 송신한 이후, 상기 외부 전자 장치로부터 상기 전자 장치의 위치를 변경하기 위한 제2 정보를 수신하고, 상기 제2 정보의 수신에 응답하여, 상기 제2 정보에 기반하여 상기 적어도 하나의 모터를 제어하도록 제어할 수 있다.
다양한 실시예들에 따른 드론 움직임 학습 장치는 단순화된 실제 공간에서의 드론의 움직임에 기반하여, 복잡화된 가상 공간에서의 드론을 움직임으로써, 드론의 움직임을 보다 정확하게 학습할 수 있다. 학습된 결과에 기반하여 드론을 제어하는 신호를 생성함으로써, 드론 움직임 학습 장치는 보다 안정적으로 드론을 제어할 수 있다.
도 1은 다양한 실시예들에 따른 드론 움직임 학습 장치가 제1 공간에서 비행하는 드론의 움직임을 학습하는 동작을 설명하기 위한 도면이다.
도 2는 다양한 실시예들에 따른 드론 움직임 학습 장치 및 드론의 하드웨어 컴포넌트를 설명하기 위한 도면이다.
도 3은 다양한 실시예들에 따른 드론 움직임 학습 장치가 수행하는 동작을 설명하기 위한 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 다양한 실시예들에 따른 드론 움직임 학습 장치(drone motion training apparatus)가 제1 공간(110)에서 비행하는 드론(112)의 움직임을 학습하는 동작을 설명하기 위한 도면이다.
드론(112)은 실제 공간인 제1 공간(110) 내에서, 리모컨과 같은 원격 제어 장치(external control device) 및/또는 인간 조종사(human pilot) 없이 비행할 수 있는 무인 항공기(Unmanned Aerial Vehicle, UAV)를 포함할 수 있다. 드론(112)은 비행을 위한 적어도 하나의 모터 및/또는 제트 엔진을 포함할 수 있다. 드론(112)의 다양한 실시예는 상술한 무인 항공기에 제한되니 않으며, 드론(112)은 지표면을 주행할 수 있는 차량(vehicle)을 포함할 수 있다.
다양한 실시예들에 따른 드론 움직임 학습 장치는 기계 학습에 기반하여 드론(112)의 움직임을 학습하고, 드론(112)의 움직임을 제어하기 위한 정보를 생성하는 전자 장치를 의미할 수 있다. 일 실시예에서, 드론 움직임 학습 장치는 기계 학습에 기반하여 뉴럴 네트워크를 조절하여, 드론(112)의 움직임을 학습할 수 있다. 뉴럴 네트워크는 입력에 대응하여 일반화된 출력(generalized output)을 출력하는 데이터 셋, 상기 데이터 셋을 생성 및/또는 변경하는 어플리케이션, 상기 어플리케이션을 실행하기 위한 하드웨어 컴포넌트 또는 이들의 조합을 의미할 수 있다. 상기 데이터 셋은, 콘볼루션 뉴럴 네트워크(convolutional neural network) 및/또는 마코브 체인(Markov chain)에 기반할 수 있다.
다양한 실시예들에 따른 드론 움직임 학습 장치는 제1 공간(110)과 같은 실제 공간에 대응하는 가상 공간인 제2 공간(120)에 기반하여 제1 공간(110) 내에서의 드론(112)의 움직임을 시뮬레이션하거나 및/또는 학습할 수 있다. 예를 들어, 드론 움직임 학습 장치는 제2 공간(120) 내에서 드론(112)에 대응하는 가상의 객체인 가상 드론(122)을 식별할 수 있다. 상기 가상 드론(122)의 제2 공간(120) 내에서의 움직임은, 드론(112)의 제1 공간(110) 내에서의 움직임에 대응할 수 있다.
일 실시예에서, 드론 움직임 학습 장치는 제2 공간(120)에 실제 공간에서 인위적으로 재현하기(artificially reenact) 어려운 상황을 적용할 수 있다. 일 실시예에서, 드론 움직임 학습 장치는 제2 공간(120)에 기반하여 공기 역학적 시뮬레이션(aerodynamic simulation), 드론 동적 모델(drone dynamic model) 중 적어도 하나를 구현할 수 있다. 일 실시예에서, 드론 움직임 학습 장치는 제2 공간(120)에 기반하여, 제1 공간(110) 내에서 드론(112)의 자율 주행을 학습하는데 필요한 정보를 획득할 수 있다. 예를 들어, 제2 공간(120) 내에서 상술한 인위적으로 재현하기 어려운 상황의 적용, 공기 역학적 시뮬레이션, 드론 동적 모델 중 적어도 하나를 구현하여, 드론 움직임 학습 장치는 Sim2Real (가상에서만 학습 후 바로 현실에 적용)과 같이 드론(112)의 제어에 바로 적용할 수 있는 신호(예를 들어, 드론(112)의 움직임을 제어하는 신호)를 출력할 수 있다.
다양한 실시예들에 따른 드론 움직임 학습 장치는 복잡한 동적 모델, 센서 오차, 보다 정확한 공기 역학적 시뮬레이션 중 적어도 하나에 기반하여 드론(112)의 움직임을 학습할 수 있다. 예를 들어, 외부 객체(114)가 제1 공간(110) 내에 배치된 경우, 드론(112)의 움직임은 외부 객체(114)의 영향을 받을 수 있다. 예를 들어, 드론(112)이 외부 객체(114)로 가까이 다가갈수록, 드론(112)의 프로펠러에서 발생된 바람이 외부 객체(114)에 도달함에 따라 와류(turbulence)가 발생될 수 있다. 상기 와류는 드론(112)의 움직임을 보다 불안정하게 만들 수 있다(근접 물체 효과(proximity object effect)). 또 다른 예로 드론(112)이 지면에 가까이 다가갈수록, 드론(112)의 바람이 지면에 도달함에 따라 와류가 발생될 수 있다. 상기 와류는 지면에 인접한 드론(112)의 움직임을 불안정하게 만들 수 있다(지면 효과(ground effect)). 또 다른 예로, 드론(112)이 실내에서 비행하는 경우, 드론(112)이 실외에서 비행할 때보다, 주변의 장애물(예를 들어, 벽)로 인한 공기 흐름의 변화가 추가로 발생하여, 드론(112)의 움직임이 보다 불안정해질 수 있다. 이외에도 드론(112)의 시각적 관성 거리계(Visual Inertial Odometry, VIO)에서 발생된 오차가 드론(112)의 움직임을 불안정하게 만들 수 있다.
다양한 실시예들에 따른 드론 움직임 학습 장치는 상술한 드론(112)의 움직임을 불안정하게 만드는 요인을 학습하여, 드론(112)의 움직임을 보다 안정적으로 제어하는 제어 신호를 획득할 수 있다. 예를 들어, 제1 공간(110)은 드론(112)과 구별되는 장애물 물체(obstacle object)(예를 들어, 외부 객체(114))를 하나 이상 포함하여, 상기 근접 물체 효과를 재현할 수 있는 환경을 가질 수 있다. 장애물 물체의 형태는 도 1에 도시된 외부 객체(114)의 형태에 제한되지 않는다. 예를 들어, 제1 공간(110) 내에서 장애물 물체는 원기둥 및/또는 박스와 같이 다양한 형태를 가질 수 있다. 예를 들어, 장애물 물체의 형태는, 학습하고자 하는 상황에 따라 벽, 나무, 기둥 등의 실제 물체의 단순화된 형태를 가질 수 있다. 제1 공간(110) 내에서 드론(112)은 지정된 경로에 따라 실제로 비행할 수 있다. 상기 지정된 경로는 사용자에 의해 다양한 형태를 가질 수 있다. 일 실시예에서, 드론(112)의 안전한 비행을 보장하기 위하여(to guarantee), 드론(112)이 제1 공간(110)을 벗어나지 않게 하는 장치(예를 들어, 끈) 및/또는 프로세서(예를 들어, 지정된 거리를 주행한 이후 원점으로 회귀)가 드론(112)에 적용될 수 있다.
다양한 실시예들에 따른 드론 움직임 학습 장치는 제1 공간(110) 내에서의 하나 이상의 장애물 물체의 배치에 기반하여, 제2 공간(120) 및 제2 공간(120) 내에 하나 이상의 장애물 물체를 생성할 수 있다. 드론 움직임 학습 장치가 제2 공간(120) 내에 생성하는 장애물 물체는, 제1 공간(110)에 배치된 장애물 물체의 위치 및/또는 형태에 기반하여 시뮬레이션된 가상의 장애물 물체일 수 있다. 도 1의 예시에서, 드론 움직임 학습 장치는 제2 공간(120) 내에 외부 객체(114)에 대응하는 가상의 외부 객체(124)를 설정할 수 있다. 도 1을 참고하면, 드론 움직임 학습 장치는 제1 공간(110)으로부터 삼각뿔 형태로 단순화된 외부 객체(114)를 식별하는 것에 응답하여, 제1 공간(110) 내 외부 객체(114)의 위치에 대응하는 위치를 가지고, 나무 형태의 텍스쳐, 색상, 형태 중 적어도 하나를 가지는 외부 객체(124)를, 제2 공간(120) 내에 생성할 수 있다. 제2 공간(120) 내에 배치되는 외부 객체(124)의 형태, 색상, 텍스쳐 및/또는 위치는 도 1에 도시된 바에 제한되지 않을 수 있다. 일 실시예에 따른 드론 움직임 학습 장치는 도메인 임의 추출 (domain randomization)에 기반하여 동일한 제1 공간(110)에 대하여 서로 다른 형태의 제2 공간(120)을 복수 개 생성할 수 있다.
드론(112)이 제1 공간(110) 내에서 비행함에 따라, 외부 객체(114) 및 드론(112)의 공기 역학적 상호 작용(aerodynamic interaction)이 발생될 수 있다. 상기 공기 역학적 상호 작용은 외부 객체(114)에 의한 드론(112)의 불안정한 움직임(예를 들어, 지면 효과, 근접 물체 효과, 센서 오차 중 적어도 하나에 의한 예측되지 않은 움직임)을 야기할 수 있다. 일 실시예에 따른 드론 움직임 학습 장치는 상술한 불안정한 움직임을 포함하는 드론(112)의 움직임을 식별할 수 있다. 식별된 움직임에 기반하여 제2 공간(120) 내에서 가상 드론(122)을 움직임으로써, 드론 움직임 학습 장치는 외부 객체(124)에 의한 가상 드론(122)의 움직임을 학습할 수 있다. 재연하기 어려운 환경이 단순화되어 구현된 제1 공간(110)(예를 들어, 나무에 대응하여 제1 공간(110) 내에 삼각뿔 형태의 외부 객체(114)를 배치하여 단순화)에서의 드론(112)의 움직임을 식별하여, 드론 움직임 학습 장치는 상기 환경이 구체화된 제2 공간(120) 내에서의 가상 드론(122)의 움직임을 시뮬레이션할 수 있다. 일 실시예에 따른 드론 움직임 학습 장치는 재연하기 어려운 환경에 대해서도 가상 드론(122)의 움직임과 관련된 데이터를 충분히 획득할 수 있고, 획득된 데이터에 기반하여 가상 드론(122)의 움직임을 학습할 수 있다.
이하에서는 도 2를 참고하여, 도 1의 드론(112) 및 일 실시예에 따른 드론 움직임 학습 장치의 구성을 상세히 설명한다.
도 2는 다양한 실시예들에 따른 드론 움직임 학습 장치 및 드론(112)의 하드웨어 컴포넌트(hardware component)를 설명하기 위한 도면이다. 도 2의 드론(112)은 도 1의 드론(112)에 대응할 수 있다. 이하에서, 다양한 실시예들에 따른 드론 움직임 학습 장치(220)는 전자 장치로 참조될 수 있다.
도 2를 참고하면, 드론 움직임 학습 장치(220)는 프로세서(221), 메모리(222) 또는 통신 프로세서(223) 중 적어도 하나를 포함할 수 있다. 프로세서(221), 메모리(222) 및 통신 프로세서(223)는 통신 버스(a communication bus)와 같은 전자 소자(an electronic component)에 의해 서로 연결될 수 있다. 드론 움직임 학습 장치(220)에 포함된 프로세서(221), 메모리(222), 통신 프로세서(223) 각각의 개수는 도 2에 도시된 바에 제한되지 않는다.
일 실시예에 따른 드론 움직임 학습 장치(220)의 프로세서(221)는 하나 이상의 인스트럭션에 기반하여 데이터를 처리하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 데이터를 처리하기 위한 하드웨어 컴포넌트는, 예를 들어, ALU(Arithmetic and Logic Unit), FPGA(Field Programmable Gate Array) 및/또는 CPU(Central Processing Unit)를 포함할 수 있다. 프로세서(221)의 개수는 하나 이상일 수 있다. 예를 들어, 듀얼 코어(dual core), 쿼드 코어(quad core) 또는 헥사 코어(hexa core)에 기반하여, 복수의 프로세서(221)가 드론 움직임 학습 장치(220) 내에 포함될 수 있다.
일 실시예에 따른 드론 움직임 학습 장치(220)의 메모리(222)는 프로세서(221)에 입력 및/또는 출력되는 데이터 및/또는 인스트럭션을 저장하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 메모리(222)는, 예를 들어, RAM(Random-Access Memory)와 같은 휘발성 메모리(Volatile Memory) 및/또는 ROM(Read-Only Memory)와 같은 비휘발성 메모리(Non-Volatile Memory)를 포함할 수 있다. 휘발성 메모리는, 예를 들어, DRAM(Dynamic RAM), SRAM(Static RAM), Cache RAM, PSRAM (Pseudo SRAM) 중 적어도 하나를 포함할 수 있다. 비휘발성 메모리는, 예를 들어, PROM(Programmable ROM), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), 플래시 메모리, 하드디스크, 컴팩트 디스크, eMMC(Embedded Multi Media Card) 중 적어도 하나를 포함할 수 있다.
메모리(222) 내에서, 프로세서(221)가 데이터에 수행할 동작을 나타내는 인스트럭션이 하나 이상 저장될 수 있다. 인스트럭션의 집합은, 펌웨어, 운영 체제, 프로세스, 루틴, 서브-루틴 및/또는 어플리케이션으로 참조될 수 있다. 예를 들어, 드론 움직임 학습 장치(220)는 어플리케이션 형태로 배포된 복수의 인스트럭션의 집합(set of a plurality of instructions)을 실행하여, 드론(112)의 움직임을 학습하거나, 및/또는 학습 결과에 기반하여 드론(112)의 움직임을 제어하는 신호를 생성할 수 있다.
일 실시예에 따르면, 통신 프로세서(223)는 드론 움직임 학습 장치(220) 및 드론(112) 사이의 전기 신호의 송신 및/또는 수신을 지원하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 통신 프로세서(223)는, 예를 들어, 모뎀(MODEM), 안테나, O/E(Optic/Electronic) 변환기 중 적어도 하나를 포함할 수 있다.
도 2를 참고하면, 드론(112)은 프로세서(211), 메모리(212), 통신 프로세서(213), 배터리(214), 센서(215) 또는 모터(216) 중 적어도 하나를 포함할 수 있다. 드론(112)에 포함된 프로세서(211), 메모리(212), 통신 프로세서(213)는 드론 움직임 학습 장치(220)의 프로세서(221), 메모리(222), 통신 프로세서(223) 각각에 대응할 수 있다. 프로세서(211), 메모리(212), 통신 프로세서(213)의 설명 중에서 프로세서(221), 메모리(222), 통신 프로세서(223)와 중복되는 설명은 생략한다.
프로세서(211), 메모리(212), 통신 프로세서(213), 배터리(214), 센서(215), 모터(216)는 통신 버스(a communication bus)와 같은 전자 소자(an electronic component)에 의해 서로 연결될 수 있다. 드론(112)에 포함된 프로세서(211), 메모리(212), 통신 프로세서(213), 배터리(214), 센서(215) 또는 모터(216)의 개수는 도 2에 도시된 바에 제한되지 않는다. 예를 들어, 드론(112)에 포함된 모터(216)의 개수는 4개일 수 있다(quadcopter).
드론(112)에 포함된 적어도 하나의 센서(215)는, 드론(112)의 주변 환경 및/또는 드론(112)의 상태와 관련된 전기 신호를 출력할 수 있다. 예를 들어, 센서(215)는 드론(112)의 지리적 위치(geographic location)를 측정하기 위한 GPS(Global Positioning System) 센서를 포함할 수 있다. 예를 들어, 센서(215)는 드론(112)의 움직임을 측정하기 위한, 가속도계, 중력 센서, 자이로스코프 중 적어도 하나를 포함할 수 있다. 예를 들어, 센서(215)는 드론(112)의 지정된 방향(예를 들어, 드론(112)의 전방, 후방 및/또는 측방)의 빛을 수신하는 포토 다이오드 및/또는 카메라 센서를 포함할 수 있다. 적어도 하나의 센서(215)에서 출력된 전기 신호의 적어도 일부는 통신 프로세서(213)를 통해 외부(예를 들어, 드론 움직임 학습 장치(220))로 송신될 수 있다.
다양한 실시예들에 따른 드론 움직임 학습 장치(220)는 도 1의 제1 공간(110) 내에서의 드론(112)의 움직임 및 도 1의 제2 공간(120)과 같이 다양한 환경을 구현할 수 있는 가상의 공간 전부에 기반하여 드론(112)의 자율주행을 시험하는 시뮬레이터를 제공할 수 있다. 상기 가상의 공간은 실제의 공간에 기반하면서, 드론 움직임 학습 장치(220)의 사용자에 의해 보다 복잡하게 구현될 수 있다. 드론 움직임 학습 장치(220)는 센서(215)로부터 획득된 정보에 기반하여 동적 효과(예를 들어, 지면 효과, 근접 물체 효과)에 의한 드론(112)의 움직임을 보다 정확하게 식별할 수 있다. 드론 움직임 학습 장치(220)는 식별된 드론(112)의 움직임 및 재연된 가상의 공간을 연계하여 드론(112)의 움직임을 학습할 수 있다. 학습한 결과에 기반하여, 드론 움직임 학습 장치(220)는 드론(112)의 움직임을 보다 안정적으로 제어할 수 있다.
이하에서는 도 3을 참고하여 도 2의 드론(112) 및 드론 움직임 학습 장치(220)의 동작을 상세히 설명한다.
도 3은 다양한 실시예들에 따른 드론 움직임 학습 장치가 수행하는 동작을 설명하기 위한 흐름도이다. 도 3의 드론 움직임 학습 장치는 도 2의 드론 움직임 학습 장치(220)에 대응할 수 있다. 예를 들어, 도 3의 동작은 도 2의 드론 움직임 학습 장치(220) 및/또는 드론 움직임 학습 장치(220)의 프로세서(221)에 의해 수행될 수 있다.
동작(310)에서, 다양한 실시예들에 따른 드론 움직임 학습 장치는 제1 공간 내 드론의 위치를 식별할 수 있다. 상기 제1 공간은, 도 1의 제1 공간(110)과 같이 재연하기 어려운 장애물 물체가 단순화된(예를 들어, 도 1의 외부 객체(114)) 외부 객체를 하나 이상 포함할 수 있다. 제1 공간 내에서 비행하는 드론(예를 들어, 도 1 및 도 2의 드론(112))은, 드론 움직임 학습 장치로 적어도 하나의 센서(예를 들어, 도 2의 센서(215))를 통해 수집된 정보를 송신할 수 있다. 상기 정보는, 예를 들어, 드론에서 촬영된 이미지에 VIO를 적용한 지역화(localization) 정보(예를 들어, 위치 및/또는 방향)를 포함할 수 있다.
다른 일 실시예에서, 드론 움직임 학습 장치는 드론의 카메라에 VIO를 적용한 정보 뿐만 아니라, 제1 공간에 포함된 광학 추적 시스템(예를 들어, vicon, iris, kinect)에 기반하여, 드론의 위치, 방향 및/또는 자세와 관련된 정보를 식별할 수 있다.
드론의 위치를 식별하는 것에 응답하여, 동작(320)에서, 다양한 실시예들에 따른 드론 움직임 학습 장치는 제1 공간에 대응하는 제2 공간 내 외부 객체를 식별할 수 있다. 상기 제2 공간은, 도 1의 제2 공간(120)과 같이 제1 공간에 대응하여 드론 움직임 학습 장치에서 시뮬레이션된 가상의 공간일 수 있다. 예를 들어, 제2 공간은 제1 공간과 같이 단순화된 실제 환경에 GAN(Generative Adversarial Network)을 적용하여, 보다 복잡하게 및/또는 임의로 생성된 가상의 환경일 수 있다.
드론 움직임 학습 장치가 제2 공간 내 외부 객체를 식별하는 것은, 식별된 제1 공간 내 드론의 위치에 기반하여 드론에 인접한 제1 공간의 외부 객체를 식별하는 것을 포함할 수 있다. 제1 공간의 외부 객체를 식별하는 것에 응답하여, 드론 움직임 학습 장치는 상기 외부 객체(예를 들어, 도 1의 외부 객체(114))에 대응하는 가상의 외부 객체(예를 들어, 도 1의 외부 객체(124))를 제2 공간 내에 배치할 수 있다. 드론 움직임 학습 장치가 동작(320)에 기반하여 식별하는 외부 객체는 영역 임의 추출에 의해 가상으로 생성된 외부 객체 및/또는 이미지일 수 있다.
동작(330)에서, 다양한 실시예들에 따른 드론 움직임 학습 장치는 식별된 외부 객체에 기반하여 제1 공간 내 드론의 움직임을 학습할 수 있다. 다양한 실시예들에서, 드론 움직임 학습 장치가 동작(330)에 기반하여 드론의 움직임을 학습하는 것은, 드론 움직임 학습 장치에 저장된 뉴럴 네트워크를 학습하는 것 및/또는 뉴럴 네트워크에 입력할 정보를 획득하는 것을 의미할 수 있다. 이하에서, 드론의 움직임을 학습하는 것은, 드론의 움직임과 관련된 정보를 획득하거나, 및/또는 획득된 정보에 기반하여 뉴럴 네트워크를 학습하는 것을 의미할 수 있다.
예를 들어, 제1 공간에서, 드론의 움직임은 단순화된 외부 객체(예를 들어, 도 1의 외부 객체(124))의 영향(예를 들어, 근접 물체 효과)을 받을 수 있다. 제1 공간 내 드론의 움직임을 수신함에 따라, 드론 움직임 학습 장치는 제2 공간 내에 가상의 드론의 움직임을 상기 수신된 움직임에 따라 변경할 수 있다. 제1 공간 내 드론의 움직임에 따라 움직이는 가상의 드론 및 동작(320)에 기반하여 식별된 제2 공간 내 외부 객체에 기반하여, 드론 움직임 학습 장치는 제2 공간 내 외부 객체의 영향(예를 들어, 근접 물체 효과)에 따른 가상의 드론의 움직임을 학습할 수 있다.
드론 움직임 학습 장치가 드론의 움직임을 학습하기 위해 제2 공간에서 수집하는 정보는, 동작(320)에서 식별된 외부 객체와 관련된 정보 뿐만 아니라, 제2 공간 내에서 비행하는 가상의 드론과 관련된 정보를 포함할 수 있다. 예를 들어, 드론 움직임 학습 장치는 가상의 드론에 포함된 가상의 카메라에서 캡쳐된 이미지(예를 들어, 동작(320)에서 식별된 외부 객체를 포함하는 이미지)를 획득 및/또는 학습할 수 있다. 요약하면, 가상의 제2 공간 내에서, 가상의 드론은 실제의 제1 공간 내 드론의 위치 정보에 기반하여 움직이면서, 제2 공간 내에 존재하는 가상의 외부 객체의 영향을 학습할 수 있다. 드론 움직임 학습 장치가 가상의 드론의 움직임을 학습하는 것은, 가상의 외부 객체의 그래픽 정보에 기반하여 수행될 수 있다. 제1 공간 내 드론이 가상의 외부 객체가 단순화된 외부 객체를 포함하는 제1 공간 내에서 비행하므로, 가상의 드론은 보다 정확하게 가상의 외부 객체가 가상의 드론의 비행에 미치는 영향을 학습할 수 있다.
동작(340)에서, 다양한 실시예들에 따른 전자 장치는 드론의 움직임을 학습한 결과에 기반하여 드론을 제어하는 정보를 획득할 수 있다. 예를 들어, 드론 움직임 학습 장치는 동작(330)에 기반하여 학습된 뉴럴 네트워크를 이용하여 드론의 제어 명령(control command)이 포함된 제어 신호를 획득할 수 있다. 상기 제어 신호는 드론의 롤(Roll), 피치(pitch), 요(yaw) 또는 추진력(thrust) 중 적어도 하나를 변경하기 위한 정보를 포함할 수 있다. 상기 제어 신호는 예시된 컴포넌트 뿐만 아니라, 드론의 움직임을 조절하는 다양한 파라미터를 더 포함할 수 있다.
드론을 제어하는 정보의 획득에 응답하여, 동작(350)에서, 다양한 실시예들에 따른 전자 장치는 획득된 정보를, 드론에 송신할 수 있다. 획득들 정보는, 예를 들어, 도 2의 통신 프로세서(223)를 통해 드론으로 송신되는 무선 신호 내에 포함될 수 있다. 상기 무선 신호를 수신한 드론은, 무선 신호 내에 포함된 상기 정보의 적어도 일부에 기반하여 움직임으로써(예를 들어, 도 2의 모터(216)를 제어하여), 동작(330)에서 학습된 드론의 움직임에 기반하여 비행할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 드론 움직임 학습 장치가 제1 공간(예를 들어, 드론의 훈련 및 시험이 안전한 실내 공간)에 대응하는 가상의 제2 공간을 생성할 수 있다. 가상의 제2 공간 내에서 제1 공간의 드론의 움직임을 반영함에 따라, 드론 움직임 학습 장치는 다양한 환경에 대해 실제적인 데이터를 획득 및/또는 학습할 수 있다. 예를 들어, 드론 움직임 학습 장치는 드론이 장애물 물체와 상호 작용하면서 최단 거리로 상기 장애물 물체를 우회하는 움직임을 학습할 수 있다. 상기 제1 공간은, 외부 객체와 같은 장애물을 포함하거나, 및/또는 돌풍을 생성하는 장치를 포함하여, 건물화재 및/또는 실내에서의 주행 환경을 구현할 수 있다. 드론 움직임 학습 장치가 학습하는 드론은, 무인 비행 장치 뿐만 아니라, UGV(Unmanned Ground Vehicle) 및/또는 Walking Robot의 움직임을 학습하는 경우에도 적용될 수 있다. 다양한 실시예들에 따른 드론 움직임 학습 장치는 전쟁/재난과 같이 재연하기 어려운 상황에서의 드론의 자율 주행을, 상기 상황이 단순화된 제1 공간 및 상기 상황이 상대적으로 정확하게 재연된 제2 공간에 기반하여, 보다 정확하게 학습할 수 있다.
다양한 실시예들에 따른 드론 움직임 학습 장치는 드론 및 외부 객체 사이의 공기 역학적 상호 작용에 의한 드론의 움직임을 학습할 수 있다. 예를 들어, 드론 움직임 학습 장치는 가상의 외부 객체가 구현된 가상의 공간 내에서의 드론의 움직임을 학습할 수 있다. 상기 가상의 공간 내에서의 드론의 움직임은, 상기 가상의 외부 객체가 단순화된 외부 객체를 포함하는 실제의 공간 내에서의 드론의 움직임에 대응할 수 있다. 드론 움직임 학습 장치는 드론의 움직임을 학습한 결과에 기반하여, 드론의 움직임을 제어하는 제어 신호를 출력할 수 있다.
다양한 실시예들에 따른 전자 장치는 통신 프로세서, 메모리 및 상기 통신 프로세서 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고, 상기 메모리는, 복수의 인스트럭션들을 저장하고, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 통신 프로세서를 이용하여 상기 전자 장치와 구별되는 드론을 식별하고, 상기 드론의 식별에 응답하여, 상기 드론이 위치된 공간(a space where the drone is located)과 관련된 제1 정보를 획득하고, 상기 제1 정보에 기반하여, 상기 공간내에서 상기 드론과 구별되는 외부 객체의 위치를 식별하고, 상기 외부 객체의 위치를 식별하는 것에 응답하여, 상기 공간 내에서 상기 드론의 움직임과 관련된 제2 정보를 획득하고, 및 상기 제2 정보의 획득에 응답하여, 상기 외부 객체와 관련되고 상기 드론의 움직임을 제어하기 위한 제3 정보를 획득하도록 제어할 수 있다.
일 실시예에 따른 전자 장치에서, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 드론의 식별에 응답하여, 상기 드론 내에 포함된 적어도 하나의 카메라에 의해 캡쳐된 적어도 하나의 이미지 또는 상기 공간 내에서 상기 드론의 위치 중 적어도 하나를 포함하는 상기 제1 정보를 획득하도록 제어할 수 있다.
일 실시예에 따른 전자 장치에서, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 드론이 상기 공간 내에서 움직일 때에, 상기 외부 객체에 의한 상기 드론의 움직임과 관련된 상기 제2 정보를 획득하도록 제어할 수 있다.
일 실시예에 따른 전자 장치에서, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 제2 정보의 획득에 응답하여, 상기 외부 객체에 의한 상기 드론의 움직임의 변화를 학습하고, 상기 학습된 상기 드론의 움직임의 변화에 기반하여, 상기 제3 정보를 획득하도록 제어할 수 있다.
일 실시예에 따른 전자 장치에서, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 기 제2 정보의 획득에 응답하여, 상기 외부 객체의 종류, 형태, 크기 중 적어도 하나와 관련된 제4 정보를 식별하고, 상기 제4 정보에 기반하여, 상기 외부 객체에 의한 상기 드론의 움직임의 변화를 학습하도록 제어할 수 있다.
일 실시예에 따른 전자 장치에서, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 제3 정보의 획득에 응답하여, 상기 통신 프로세서를 이용하여 상기 드론으로 상기 제3 정보를 송신하도록 제어할 수 있다.
일 실시예에 따른 전자 장치에서, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 드론의 롤(roll), 피치(pitch), 요(yaw), 추진력(thrust) 중 적어도 하나와 관련된 상기 제3 정보를 획득하도록 제어할 수 있다.
일 실시예에 따른 전자 장치에서, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 제1 정보에 기반하여, 상기 공간내에 배치된 제2 외부 객체를 식별하고, 상기 제2 외부 객체의 위치에 기반하여, 상기 제2 외부 객체의 위치에 대응하는 위치를 가지고 상기 제2 외부 객체의 타입과 구별되는 지정된 타입을 가지는 상기 외부 객체를 식별하도록 제어할 수 있다.
다양한 실시예들에 따른 전자 장치(electronic device)는, 상기 전자 장치의 움직임을 제어하기 위한 적어도 하나의 모터, 적어도 하나의 센서, 통신 프로세서, 메모리 및 상기 적어도 하나의 모터, 상기 적어도 하나의 센서, 상기 통신 프로세서 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고, 상기 메모리는, 복수의 인스트럭션들을 저장하고, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 통신 프로세서를 이용하여 상기 전자 장치와 구별되는 외부 전자 장치를 식별하고, 상기 외부 전자 장치의 식별에 응답하여, 상기 외부 전자 장치로 상기 적어도 하나의 센서로부터 획득되고 공간 내에서 상기 전자 장치의 위치와 관련된 제1 정보를 송신하고, 상기 제1 정보를 송신한 이후, 상기 외부 전자 장치로부터 상기 전자 장치의 위치를 변경하기 위한 제2 정보를 수신하고, 상기 제2 정보의 수신에 응답하여, 상기 제2 정보에 기반하여 상기 적어도 하나의 모터를 제어하도록 제어할 수 있다.
일 실시예에 따른 전자 장치에서, 상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가, 상기 전자 장치와 인접하는 외부 객체에 의한 상기 전자 장치의 움직임의 변화를 학습한 상기 외부 전자 장치로부터 상기 제2 정보를 수신하도록 제어할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
110: 제1 공간
112: 드론
114: 외부 객체
120: 제2 공간
122: 가상 드론
124: 외부 객체

Claims (10)

  1. 전자 장치(electronic device)에 있어서,
    통신 프로세서;
    메모리; 및
    상기 통신 프로세서 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고,
    상기 메모리는, 복수의 인스트럭션들을 저장하고,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 통신 프로세서를 이용하여 상기 전자 장치와 구별되는 드론을 식별하고;
    상기 드론의 식별에 응답하여, 상기 드론이 위치된 공간(a space where the drone is located)과 관련된 제1 정보를 획득하고;
    상기 제1 정보에 기반하여, 상기 공간내에서 상기 드론과 구별되는 외부 객체의 위치를 식별하고;
    상기 외부 객체의 위치를 식별하는 것에 응답하여, 상기 드론이 상기 공간 내에서 비행함에 따라 상기 외부 객체와 상기 드론의 공기 역학적 상호 작용에 의해 야기되는 비정형 움직임을 포함하는 상기 드론의 움직임과 관련된 제2 정보를 획득하고; 및
    상기 제2 정보의 획득에 응답하여, 상기 외부 객체와 관련되고 상기 드론의 움직임을 제어하기 위한 제3 정보를 획득하도록 제어하는 전자 장치.
  2. 제1항에 있어서,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 드론의 식별에 응답하여, 상기 드론 내에 포함된 적어도 하나의 카메라에 의해 캡쳐된 적어도 하나의 이미지 또는 상기 공간 내에서 상기 드론의 위치 중 적어도 하나를 포함하는 상기 제1 정보를 획득하도록 제어하는 전자 장치.
  3. 제1항에 있어서,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 드론이 상기 공간 내에서 움직일 때에, 상기 외부 객체에 의한 상기 드론의 움직임과 관련된 상기 제2 정보를 획득하도록 제어하는 전자 장치.
  4. 제1항에 있어서,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 제2 정보의 획득에 응답하여, 상기 외부 객체에 의한 상기 드론의 움직임의 변화를 학습하고,
    상기 학습된 상기 드론의 움직임의 변화에 기반하여, 상기 제3 정보를 획득하도록 제어하는 전자 장치.
  5. 제4항에 있어서,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 제2 정보의 획득에 응답하여, 상기 외부 객체의 종류, 형태, 크기 중 적어도 하나와 관련된 제4 정보를 식별하고,
    상기 제4 정보에 기반하여, 상기 외부 객체에 의한 상기 드론의 움직임의 변화를 학습하도록 제어하는 전자 장치.
  6. 제1항에 있어서,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 제3 정보의 획득에 응답하여, 상기 통신 프로세서를 이용하여 상기 드론으로 상기 제3 정보를 송신하도록 제어하는 전자 장치.
  7. 제1항에 있어서,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 드론의 롤(roll), 피치(pitch), 요(yaw), 추진력(thrust) 중 적어도 하나와 관련된 상기 제3 정보를 획득하도록 제어하는 전자 장치.
  8. 제1항에 있어서,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 제1 정보에 기반하여, 상기 공간내에 배치된 제2 외부 객체를 식별하고,
    상기 제2 외부 객체의 위치에 기반하여, 상기 제2 외부 객체의 위치에 대응하는 위치를 가지고 상기 제2 외부 객체의 타입과 구별되는 지정된 타입을 가지는 상기 외부 객체를 식별하도록 제어하는 전자 장치.
  9. 전자 장치(electronic device)에 있어서,
    상기 전자 장치의 움직임을 제어하기 위한 적어도 하나의 모터;
    적어도 하나의 센서;
    통신 프로세서;
    메모리; 및
    상기 적어도 하나의 모터, 상기 적어도 하나의 센서, 상기 통신 프로세서 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고,
    상기 메모리는, 복수의 인스트럭션들을 저장하고,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 통신 프로세서를 이용하여 상기 전자 장치와 구별되는 외부 전자 장치를 식별하고;
    상기 외부 전자 장치의 식별에 응답하여, 상기 외부 전자 장치로 상기 적어도 하나의 센서로부터 획득되고 공간 내에서 상기 전자 장치의 위치와 관련된 제1 정보를 송신하고;
    상기 제1 정보를 송신한 이후, 상기 외부 전자 장치로부터 상기 전자 장치의 위치를 변경하기 위한 제2 정보를 수신하고; 및
    상기 제2 정보의 수신에 응답하여, 상기 제2 정보에 기반하여 상기 적어도 하나의 모터를 제어하도록 제어하고,
    상기 제2 정보는, 상기 전자 장치가 상기 공간 내에서 비행함에 따라 상기 공간 내에 위치하는 외부 객체와 상기 전자 장치의 공기 역학적 상호 작용에 의해 야기되는 비정형 움직임에 대한 정보를 포함하는 전자 장치.
  10. 제9항에 있어서,
    상기 복수의 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 때에, 상기 적어도 하나의 프로세서가,
    상기 전자 장치와 인접하는 상기 외부 객체에 의한 상기 전자 장치의 움직임의 변화를 학습한 상기 외부 전자 장치로부터 상기 제2 정보를 수신하도록 제어하는 전자 장치.

KR1020190140746A 2019-11-06 2019-11-06 드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법 KR102267833B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190140746A KR102267833B1 (ko) 2019-11-06 2019-11-06 드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190140746A KR102267833B1 (ko) 2019-11-06 2019-11-06 드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210054731A KR20210054731A (ko) 2021-05-14
KR102267833B1 true KR102267833B1 (ko) 2021-06-22

Family

ID=75915391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190140746A KR102267833B1 (ko) 2019-11-06 2019-11-06 드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102267833B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101769601B1 (ko) * 2016-07-13 2017-08-18 아이디어주식회사 자동추적 기능을 갖는 무인항공기
KR20180056068A (ko) * 2016-11-18 2018-05-28 삼성전자주식회사 무인 비행체를 제어하기 위한 전자 장치 및 방법
KR102212217B1 (ko) * 2019-08-14 2021-02-04 엘지전자 주식회사 충돌을 효과적으로 방지하는 자율 주행 차량 및 이를 제어하는 제어 장치 및 방법

Also Published As

Publication number Publication date
KR20210054731A (ko) 2021-05-14

Similar Documents

Publication Publication Date Title
Malyuta et al. Long‐duration fully autonomous operation of rotorcraft unmanned aerial systems for remote‐sensing data acquisition
Santana et al. Navigation and cooperative control using the ar. drone quadrotor
García et al. Simulation in real conditions of navigation and obstacle avoidance with PX4/Gazebo platform
US20160314224A1 (en) Autonomous vehicle simulation system
Dijkshoorn Simultaneous localization and mapping with the ar. drone
EP3135108B1 (en) Biomimetic and zoosemiotic aerial vehicle guided by an automatic pilot device
CN112596071A (zh) 无人机自主定位方法、装置及无人机
CN114488848A (zh) 面向室内建筑空间的无人机自主飞行系统及仿真实验平台
Peksa et al. A Review on the State of the Art in Copter Drones and Flight Control Systems
Tanzi et al. Towards a new architecture for autonomous data collection
KR102267833B1 (ko) 드론의 움직임을 학습하고, 드론의 움직임을 제어하기 위한 전자 장치 및 방법
Rodrigues et al. FVMS software-in-the-loop flight simulation experiments: Guidance, navigation and control
Springer Autonomous landing of a multicopter using computer vision
Udvardy et al. Simulation of obstacle avoidance of an UAV
Kaliappan et al. Behavior-based decentralized approach for cooperative control of a multiple small scale unmanned helicopter
Peng et al. A Virtual Reality Environment for Developing and Testing Autonomous UAV-Based Structural Inspection
Swart Monocular vision assisted autonomous landing of a helicopter on a moving deck
Ben-Moshe et al. Bio-inspired micro drones
US11978347B2 (en) Method and apparatus for generating data set of unmanned aerial vehicle
Cardell UAV navigation using local computational resources: keeping a target in sight
de Almeida Barbosa et al. A visual-inertial navigation system using apriltag for real-time mav applications
KR102515245B1 (ko) 무인 비행체의 분실을 방지하는 방법 및 장치
Marín De Yzaguirre Study of a UAV with autonomous LIDAR navigation
Joberg Multirotor pickup of object in the sea
Akbashev et al. Research into collision avoidance models for unmanned aerial vehicles

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant