KR102313115B1 - 인공지능 신경망을 이용한 자율비행 드론 - Google Patents

인공지능 신경망을 이용한 자율비행 드론 Download PDF

Info

Publication number
KR102313115B1
KR102313115B1 KR1020210075176A KR20210075176A KR102313115B1 KR 102313115 B1 KR102313115 B1 KR 102313115B1 KR 1020210075176 A KR1020210075176 A KR 1020210075176A KR 20210075176 A KR20210075176 A KR 20210075176A KR 102313115 B1 KR102313115 B1 KR 102313115B1
Authority
KR
South Korea
Prior art keywords
drone
neural network
collision avoidance
flight
coordinate system
Prior art date
Application number
KR1020210075176A
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 KR1020210075176A priority Critical patent/KR102313115B1/ko
Application granted granted Critical
Publication of KR102313115B1 publication Critical patent/KR102313115B1/ko

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D45/00Aircraft indicators or protectors not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D47/00Equipment not otherwise provided for
    • B64D47/08Arrangements of cameras
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • B64C2201/141

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 인공지능 신경망을 이용한 자율비행 드론에 관한 것으로, 본 발명의 실시예에 따른 드론은,
드론의 몸체에 설치된 복수의 센서를 포함하는 센서 그룹; 및 상기 센서 그룹으로부터의 수신된 센서 데이터에 기반하여 드론을 입력된 목적지 좌표까지 자율비행시키는 제어 모듈;을 포함하고, 센서 그룹은 드론의 전방을 향해 설치되는 하나의 깊이 인식 카메라; 및 드론의 전방을 제외한 좌측방, 우측방, 후방, 상방 및 하방을 향해 설치되는 적어도 5개의 초음파 센서를 포함하고,
제어 모듈은, 상기 깊이 인식 카메라로부터의 화상과 복수의 초음파 센서로부터의 초음파 거리값에 기반하여 드론의 다음 웨이포인트를 결정하는 충돌회피 제어부; 및 상기 충돌회피 제어부로부터 생성된 다음 웨이포인트에 기반하여 드론의 비행 모터 및 변속기를 제어하도록 구성된 비행 제어부(Flight Controller);를 포함한다.

Description

인공지능 신경망을 이용한 자율비행 드론{AUTONOMOUS FLYING DRONE USING ARTIFICIAL INTELLIGENCE NEURAL NETWORK}
본 발명은 인공지능 신경망을 이용한 자율비행 드론에 관한 것으로 보다 구체적으로는 인공지능 신경망을 이용하여 장애물을 회피하여 목적지 경로까지 안정적으로 도달될 수 있는 인공지능 신경망을 이용한 자율비행 드론에 관한 것이다.
드론(drone)은 통상 무선 전파의 유도에 의해 무인 비행하는 비행체를 말하며, 최근에는 취미용, 산업용, 촬영용, 농업용 및 방제용 등으로 다양하게 이용되고 있다.
종래 드론은 단순한 원격 조종기를 이용한 원격 비행으로 시작되었으며 드론의 비행을 위해서는 원격 조종기(RC)가 반드시 필요하였다. 따라서 드론의 비행 제어를 위해서는 조종자가 일정 수준 이상의 숙달이 이루어지지 않는 한 조작이 어렵다는 문제가 있다.
이런 문제를 해결하기 위해 한국등록특허 제10-1056377호에서는 비행장치 제어 단말을 통해 제공되는 지도상에서 적어도 하나 이상의 특정 지점을 선택하면, GPS 데이터를 수신하여 상기 특정 지점을 확인하고 정해진 패턴으로 자율 비행을 실행하는 드론이 알려져 있다.
이와 같은 드론의 경우 자율 비행이 가능하기는 하지만 조종자가 별도의 비행장치 제어 단말을 필수적으로 구비하여 이를 통해 조작을 해야 하고, 반드시 GPS 위치 정보에 의존해야 하는 문제가 있었으며, GPS 위치 정보를 통해 제공되는 절대 좌표로는 드론이 자율 비행하는 경로 상에 위치하는 지형, 지면의 굴곡, 비행 경로 상의 장애물을 파악할 수 없어서 충돌의 위험이 크다는 문제점이 또한 존재한다.
한국등록특허 제10-1056377호(2011년 8월 12일)
본 발명은 전술한 문제점에 기반하여 안출된 발명으로 인공지능 신경망을 이용하여 드론이 자율 비행하는 경로 상에 위치하는 장애물을 자동으로 파악하여 회피함으로써 도착지까지 안전하게 도착할 수 있는 인공지능 신경망을 이용한 자율비행 드론을 제공하는 것을 목적으로 한다.
전술한 과제를 해결하기 위해 본 발명의 일양태에 따르면, 장애물 회피 가능한 자율비행 드론이 제공되고, 상기 드론은,
드론의 몸체에 설치된 복수의 센서를 포함하는 센서 그룹; 및 상기 센서 그룹으로부터의 수신된 센서 데이터에 기반하여 드론을 입력된 목적지 좌표까지 자율비행시키는 제어 모듈;을 포함하고
센서 그룹은 드론의 전방을 향해 설치되는 하나의 깊이 인식 카메라; 및 드론의 전방을 제외한 좌측방, 우측방, 후방, 상방 및 하방을 향해 설치되는 적어도 5개의 초음파 센서를 포함하고,
제어 모듈은, 상기 깊이 인식 카메라로부터의 화상과 복수의 초음파 센서로부터의 초음파 거리값에 기반하여 드론의 다음 웨이포인트를 결정하는 충돌회피 제어부; 및 상기 충돌회피 제어부로부터 생성된 다음 웨이포인트에 기반하여 드론의 비행 모터 및 변속기를 제어하도록 구성된 비행 제어부(Flight Controller);를 포함한다.
전술한 양태에서 충돌회피 제어부는 CNN(Convolutional Neural Network) 기반의 충돌회피 모델을 포함하고, CNN 기반의 충돌회피 모델은,
깊이 인식 카메라로부터의 적어도 4개의 프레임 화상을 한번에 입력받고, 입력받은 4개의 프레임 화상에 기반하여 다음 순간의 웨이포인트에 대한 드론좌표계상의 상대 변위와 상대 Yaw를 추정하도록 구성된다.
또한 전술한 양태에서 충돌회피 제어부는 드론좌표계를 절대좌표계로 3차원 회전변환하는 좌표 변환부를 더 포함하고, 좌표 변환부는,
추정된 드론좌표계상의 상대 변위와 상대 Yaw를 현재 순간의 롤(Roll), 피치(Pitch), 및 요(Yaw)로 3차원 회전 변환시켜 절대좌표계상의 상대 변위와 상대 Yaw를 계산하고,
계산된 절대좌표계상의 상대 변위와 상대 Yaw를 현재 순간의 절대좌표값과 Yaw에 더하여 절대좌표계상에서의 다음 순간의 웨이포인트 위치를 결정하도록 구성된다.
또한 전술한 양태에서 충돌회피 제어부는 다음 순간의 웨이포인트를 비행제어부로 출력하는 웨이포인트 출력부를 더 포함한다.
또한 전술한 양태에서 초음파 센서로부터의 데이터는 CNN 충돌회피 모델의 1차원 벡터값에 완전 연결 네트워크(Fully Connected Network) 방식으로 상관된다.
본 발명의 실시예에 따르면 드론이 자율 비행하는 경로 상에 위치하는 장애물을 자동으로 파악하고 그에 대응하는 회피 비행을 자동으로 수행함으로써 도착지까지 안전하게 도착할 수 있는 인공지능 신경망을 이용한 자율비행 드론을 제공할 수 있다.
도 1은 본 발명에 따른 드론의 센서 그룹을 설명하기 위한 설명도;
도 2는 본 발명에 따른 드론의 센서 그룹과 제어 모듈과 구동부 사이에서의 동작을 설명하기 위한 블록도;
도 3은 본 발명에 따른 드론의 회피충돌 제어부의 상세 구성을 나타내는 블록도;
도 4는 깊이인식 카메라로부터의 프레임이 CNN 기반 신경망에 입력되는 형식을 설명하기 위한 설명도;
도 5는 본 발명의 실시예에 따른 CNN 기반의 충돌회피 모델을 설명하기 위한 설명도;
도 6은 인공 신경망 학습에 이용되는 장치를 예시적으로 나타낸 도면;
도 7은 본 발명의 실시예에 따른 드론의 회피충돌 제어부에서 드론좌표계상의 상대변위를 이용하여 절대좌표계상에서의 드론의 다음 순간 위치를 결정하는 과정을 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시예를 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이다.
본 명세서에서 본 실시예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 그리고 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 따라서, 몇몇 실시예들에서, 잘 알려진 구성 요소, 잘 알려진 동작 및 잘 알려진 기술들은 본 발명이 모호하게 해석되는 것을 피하기 위하여 구체적으로 설명되지 않는다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 그리고, 본 명세서에서 사용된(언급된) 용어들은 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, '포함(또는, 구비)한다'로 언급된 구성 요소 및 동작은 하나 이상의 다른 구성요소 및 동작의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 설명하도록 한다. 도 1은 본 발명의 실시예에 따른 인공지능 신경망을 이용한 자율비행 드론(이하 "드론"이라고 함)(1)의 외부 구성을 개략적으로 도시한 도면이다.
도 1에 도시된 바와 같이 드론은 통상적으로 드론을 제어하기 위한 제어모듈(200)이 설치된 몸체부(10); 및 드론(1)을 비행시키기 위한 날개부(30)를 포함하고, 몸체부(10)와 날개부(30)는 프레임을 통해 서로 연결되어 있다. 본 실시예에서 드론은 날개부가 4개인 쿼드콥터인 것으로 도시되고 있지만 본 발명은 이에 한정되는것은 아니고 헥사콥터, 옥토곱터 등 다양한 형태의 드론이 이용될 수 있다는 것은 자명하다.
드론을 자율 비행시기키 위해 본 발명의 실시예에 따른 드론(1)의 몸체부(10)에는 센서 그룹(100)이 연결되고 제어부는 센서 그룹을 구성하는 각각의 센서로부터의 입력에 기반하여 장애물들을 회피하면서 입력된 목적지까지의 자율 비행을 수행하게 된다.
센서 그룹(100)은 이에 한정되는 것은 아니지만 드론(1)의 전방측에 배치되는 적어도 하나의 공간 인지 카메라(depth camera)(111); 드론(1)의 양측방, 후방, 상방 및 하방 중 하나 이상에 배치되는 적어도 하나 이상의 바람직하게는 다섯 개의 초음파 센서(113); 드론의 현재 위치를 측정하기 위한 GPS 센서(114); 드론의 회전운동상태 또는 드론의 자세를 측정하기 위한 3축 자이로 센서 및 3축 가속도 센서(115)를 포함한다.
본 발명에 따른 실시예에서 공간 인지를 위한 카메라로서 깊이 인식 카메라(111)가 이용될 수 있지만 본 발명은 이에 한정되는 것은 아니고 LiDAR 또는 RADAR 등과 같은 3차원 공간을 인식할 수 있는 어떤 센서라도 이용될 수 있다.
깊이 인식 카메라(111)는 렌즈를 통해 들어오는 1차 이미지에 연산을 통해 이미지를 재가공하여 2차 이미지를 생성하고, 가공된 2차 이미지는 픽셀의 RGB, 채도, 대조 정보 뿐만 아니라 픽셀의 깊이 정보를 포함하게 된다. 본 발명에서 이용되는 깊이 인식 카메라(111)은 이에 한정되는 것은 아니지만 두개의 2D 이미지 센서를 결합하여 깊이를 측정하는 스테레오 비전(Stereo Vision) 방식; 장면의 모든 픽셀에 대한 변조된 광 신호의 지연 또는 위상 시프트를 측정하여 깊이를 결정하는 ToF (Time of Flight) 방식; 한 세트의 구조화된 패턴을 대상에 투사하고 이미지 센서로결과 이미지를 캡처하는 광학 3D 스캐닝을 이용한 구조화된 패턴(Structured Pattern) 방식 중 어느 하나일 수도 있다. 깊이 인식 카메라(111)의 인식 결과는 제어모듈(200)로 입력되고, 이에 대해서는 후술하도록 한다.
초음파 센서는 초음파를 이용한 거리 측정에 이용된다. 초음파는 일반적으로 340m/s 이다. 초음파가 대상체에 부딪쳐 반사되어 돌아오면 주행 시간으로부터 거리를 계산할 수 있다. 초음파는 사람의 가청주파수 대역인 20~20,000Hz를 벗어나는 음파 영역을 가진다. 일반적으로 많이 사용되는 초음파 주파수는 40,000Hz이며, 주파수가 높을수록 공간 분해능이 높고 정밀한 결과를 얻을 수 있다.
초음파 센서는 초음파를 발생하는 송신기 부분과 반사되어 돌아오는 초음파를 검출하는 수신기로 구성되며, 송수신기가 일체형으로 하나로 제작되는 경우도 있다. 송신기에서 초음파를 발사한 후, 수신기에 반사된 초음파가 들어올 때까지의 시간을 측정하여 센서와 물체까지의 거리를 측정한다.
본 발명에서 초음파 센서는 공간 인식 센서(111)의 인식 범위를 벗어난 영역, 즉 드론(1)의 좌측 및 우측, 드론의 하측 및 상측, 드론의 후측을 포함한 5개의 방위에 하나씩 설치된다.
본 발명의 실시예에서 드론은 공간 인식 센서 또는 깊이 인식 카메라(111)로부터의 영상(즉, 드론의 전방으로부터의 영상)을 분석하여 고속으로 비행하기 때문에 상대적으로 드론의 전방을 제외한 다른 방위(좌측 및 우측, 드론의 하측 및 상측, 드론의 후측)에 대한 정확한 상황을 파악하기 어렵다. 복수의 초음파 센서(113)는 깊이 인식 카메라(111)의 사각지대를 감시함으로써 드론의 안전한 자율비행에 기여한다.
GPS 센서(114)는 인공위성으로부터 수신기까지 신호가 도달하는 데 걸린 시간을 기준으로 거리를 측정한다. 즉 드론에서의 GPS는 인공위성을 이용한 범세계 위치결정시스템으로 정확한 위치를 알고 있는 위성에서 발사한 전파를 드론에서 수신하여 관측점까지 소요시간을 관측함으로써 관측점의 3차원 좌표 및 세계시를 구하는 시스템이다. 따라서 GPS 센서(114)를 이용하여 드론이 경로점을 따라 비행하게 하거나 제자리로 돌아오게 하는 등 이륙부터 착륙까지 지동비행이 가능하도록 한다
가속도 센서 및 자이로 센서(115)는 드론의 관성 센서로서 기능한다. 가속도센서는 드론의 가속도를 측정하고, 자이로 센서는 드론의 회전력을 측정한다. 가속도 센서와 자이로 센서 모두 3축 센서가 이용되고 여기서 3축이라 함은 센서가 3차원에서 움직일 때 x축, y축, z축 방향의 가속도를 측정할 수 있다는 것을 의미하며, 이를 통해서 중력에 대한 드론의 상대적인 위치와 움직임을 측정할 수 있다.
자이로 센서는 드론이 수평을 유지할 수 있도록 도와주는 가장 기본적인 센서로서, 세 축 방향의각 가속도를 측정하여 드론의 기울기 정보를 제공해준다. 제어 모듈은 두 측정값을 종합하고 분석하여 드론의 현재 자세(각)를 계산하고, 원하는 비행에 필요한 자세 보정을 수행한다.
또한 본 발명에 따른 드론(1)은 라이다(LiDAR:Light Detection And Ranging) 센서(112)를 더 포함할 수 있다. 라이다 센서(112)는 레이저(laser)를 목표물(대상체)에 투사하고 대상체에서 반사되어 되돌아오는 시간을 측정함으로써 대상체까지의 거리, 방향, 속도, 온도, 물질 분포 및 농도 특성 등을 감지, 측정할 수 있다. 라이다 센서(112)는 일반적으로 높은 에너지 밀도와 짧은 주기를 가지는 펄스 신호를 생성할 수 있는 레이저의 장점을 활용하여 보다 정밀한 대기 중의 물성 관측 및 거리 측정 등에도 활용되고 있다. 라이다 센서는 수 m부터 수 km 거리 측정에 사용될 수 있다. 라이다 시스템의 범위를 넓히기 위해 보이지 않는 근적외선의 매우 짧은 레이저 펄스를 사용하여, 눈(eye)에 안전하면서 기존 연속 웨이브 레이저에 비해 훨씬 높은 레이저 출력이 가능하다.
본 발명에서 라이다 센서(112)는 깊이 인식 카메라(111)과 함께 드론의 비행중 전방의 장애물 또는 물체를 검출하도록 설치되고, 라이다 센서(112)로부터의 검출값은 제어 모듈(200)로 입력된다.
드론의 비행상태는 회전운동상태와 병진운동상태로 정의되며, 회전운동상태는
- 요(Yaw 혹은 Rudder, 드론의 수평을 유지한 상태에서 동체를 회전시킴):z축 회전 ;
- 피치(Pitch 혹은 Elevator, 드론 기수를 상하로 움직여 전진하거나후진):x축 회전
- 롤(Roll 혹은 Aileron, 동체를 좌우로 기울임에 따라 드론이 좌우로 이동):y축 회전를 포함한다.
또한 드론의 병진운동상태는 경도, 위도, 고도, 속도를 의미한다.
드론의 회전운동상태를 측정하기 위해 3축 자이로센서, 3축 가속도센서, 3축 지자기센서가 이용될 수 있고 드론의 병진운동상태를 측정하기 위해 GPS 수신기와 기압센서가 이용될 수 있다.
이외에도 드론(1)에는 나침반 기능을 수행하는 자력계 센서, 관성 측정 유닛((Inertial Measurement Unit, IMU)을 더 포함할 수도 있다. 자력계(magnetometer)는 나침반 기능을 하는 센서로 자기장을 측정하는 역할을 한다. 즉 자기 힘을 측정하는 것으로 가속도 센서와 자이로 센서만으로는 비행 조정장치(FC)가 드론의 진행방향을 알 수 없는데, 자력계 센서를 이용하여 자북을 측정함으로써 드론의 방향정보를 알 수 있게 된다. GPS의 위치정보와 자력계의 방위정보, 가속도계의 이동정보를 결합하면 드론의 움직을 파악할 수 있게 된다
또한 관성측정장치(Inertial Measurement Unit, IMU)는 GPS와 연동되어 기체의 이동방향, 이동경로, 이동속도를 유지하는 역할을 하고, 3축 자력계와 GPS 수신기가 결합된 형태로 얻은 정보를 드론의 제어 모듈(200)로 전달할 수도 있다.
도 2는 전술한 바와 같은 센서 그룹(100)을 갖는 드론의 실시예에서 센서 그룹(100), 제어 모듈(200) 및 구동 모듈(400)의 상관 동작을 나타내는 도면이다. 도 2에 도시된 바와 같이 센서 그룹(100)으로부터의 검출값은 제어 모듈(200)로 입력되고, 제어 모듈(200)은 센서 그룹(100)으로부터 검출된 값에 기반하여 드론의 다음 이동 경로를 결정하여 비행 구동부(400)의 변속기(ESC1~ESC4) 및 모터(M1~M4)의 구동값을 계산하여 모터 및 변속기를 동작시킨다.
충돌회피 제어부(210)는 깊이 인식 카메라(111), 초음파 센서(113) 및 라이다 센서(112)와 같이 비행 환경 변화와 관련된 센서 그룹으로부터 검출값을 입력 받아, 비행 경로상에 장애물 또는 물체 발견시 드론의 회피 비행을 위한 웨이포인트를 생성하여 비행 제어부(250)에 전달한다.
비행 제어부(FC:Flight Controller)는 드론의 내부 및 외부 장치에의해 진로나 비행 자세를 자동으로 조정할 수 있는 기능을 수행한다. 비행 제어부는 리모컨 또는 컴퓨터로부터의 명령(전진,후진, 좌회전, 우회전, 상승, 하강 등)을 수신하여 명령으로부터 요청된 비행 구동이 이루어지도록 적절한 신호를 생성한다. 또한 비행 제어부는 도시된 바와 같이 GPS값, 자세 관련 센서(가속도/자이로 센서, IMU, 자력계, 기압센서)로부터의 측정 데이터를 판독하여 충돌회피 제어부(210)에 제공한다.
비행 제어부(250)는 충돌회피 제어부(210)로부터의 회피 명령이 수시되지 않는 한 미리 입력된 목적지 좌표로의 일반 비행을 수행하지만 충돌회피 제어부(210)로부터의 회피 명령을 수신한 경우 명령에 포함된 웨이포인트로 경로를 변경하여 회피 비행을 시도한다.
도 3은 전술한 바와 같은 충돌회피 제어부(210)의 내부 구조를 예시적으로 도시한 블록도이다. 도 3에 도시된 바와 같이 충돌회피 제어부(210)은 하나의 깊이 인식 카메라(111)로부터 화상을 수신하는 화상 수신부(211), 5개의 초음파 센서(113)로부터 초음파 값을 수신하는 초음파 값 수신부(212); 화상 수신부(211) 및 초음파 값 수신부(212)로부터 수신된 값에 기반하여 드론좌표계 상에서 다음 순간 위치까지의 상대 변위를 계산하는 상대 위치 계산부(213); 상대 위치 계산부(213)에서 계산된 상대 변위를 3차원 회전 변환시켜 절대좌표계 상의 상대 위치로 변환하는 좌표 변환부(14); 다음 순간의 드론의 웨이포인트 위치를 결정하여 드론의 비행 제어부(250)에 출력하는 웨이포인트 출력부(215)를 포함한다. 여기서 드론좌표계는 드론의 무게중심을 좌표원점으로 하여 드론의 정면방향을 N(noth)축, 드론이 정면을 향했을 때 우측을 E(East)축, 연직방향을 D(Down) 축으로 하는 로컬좌표계를 의미한다.
도 4는 화상 수신부(211)에서 수신된 화상 자료 구조를 예시적으로 나타내는 도면이다. 도 4에 도시된 바와 같이 샹대 위치 계산부(213)로의 입력을 위해 예를들면, 0.1S(또는 0.2초, 0.3초 등) 마다 프레임이 입력되고 0.1초 간격으로 취득된 직전 4개의 프레임이 하나의 입력 프레임 그룹으로 한번에 상대 위치 계산부(213)로 입력된다. 각각의 프레임의 픽셀에는 강도(INTENSITY) 값 대신 해당하는 위치에 대응하는 깊이값(정규화된)이 기록된다.
초음파 값 수신부(212)는 초음파 센서로부터의 값이 수신되는데, 초음파 센서는 드론의 5개 방위에 각각 하나씩 설치되어 있고, 각각의 초음파 센서로부터 0.1s 마다 하나의 거리 관측값을 갖기 때문에, 각각의 초음파 센서별로 직전 4개의 관측값으로 입력 벡터(정규화된)가 생성될 수 있다. 따라서 초음파 값 수신부로부터 상대 위치 계산부(213)로의 입력은 30개의 요소를 갖는 벡터로서 구성된다.
도 5는 상대 위치 계산부(213)의 일례를 나타낸 도면이다. 본 발명에서 상대 위치 계산부(213)는 전술한 바와 같은 4개의 화상 프레임과 초음파값을 입력으로 하는 인공신경망 예를 들면 컨볼루션 신경망(Convolutional Neural Network)을 이용할 수도 있다.
인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템이다. 인공신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
용어 인공신경망은 용어 뉴럴 네트워크(Neural Network)와 혼용되어 사용될 수 있으며, 인공신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴 (2) 연결의 가중치를 갱신하는 학습 과정 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
본 발명에서 상대 위치 계산부는 인공 신경망을 이용하여 구성될수 있으며,예를 들면 CNN(Convolutional Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron) 와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
본 명세서에서 용어 '레이어'는 용어 '계층'과 혼용되어 사용될 수 있다. 인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer NeuralNetworks)으로 구분된다.
일반적인 단층 신경망은, 입력층과 출력층으로 구성된다. 또한 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성된다.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달한다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력한다.
한편 입력층과 출력 층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다. 한편 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다.
인공신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다. 훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할수 있으며, 학습된 인공 신경망은 상대 위치 계산부(213)로 명칭될 수 있다.
인공 신경망의 학습 방식은 크게, 지도 학습, 비 지도 학습, 준 지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있으며, 본 발명의 실시예에서는 지도 학습을 통해 학습 모델을 훈련할 수 있지만 본 발명이 이에 한정되는 것은 아니다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법이다. 그리고 이렇게 유추되는 함수 중, 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(Classification)라고 할 수 있다.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다. 여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 할 수도 있다.
또한 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭한다.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블은 하나의 트레이닝 셋(training set)을 구성하고, 인공신경망에는 트레이닝 셋의 형태로 입력될 수 있다.
한편 훈련 데이터는 복수의 특징(feature)을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(최적화)될 수 있다.
도 6은 본 발명에서 이용되는 인공 신경망 훈련을 위한 장치(500)의 일례를 나타낸다. 신경망 장치(500)는 훈련 데이터를 이용하여 기계 학습을 수행할 수 있는 장치로서, 인공 신경망으로 구성된 모델을 이용하여 학습하는 장치를 포함할 수 있다.
즉, 신경망 훈련 장치는 데이터 마이닝, 데이터 분석, 지능형 의사 결정 및 기계 학습 알고리즘을 위해 이용될 정보를 수신, 분류, 저장 및 출력하도록 구성될 수 있다. 여기서, 기계 학습 알고리즘은 딥 러닝 알고리즘을 포함할 수 있다.
신경망 학습 장치(500)는 적어도 하나의 외부 장치 또는 단말기와 통신할 수 있고, 외부 장치를 대신하여 혹은 도와 데이터를 분석하거나 학습하여 결과를 도출할 수 있다. 여기서, 다른 장치를 도운다는 의미는 분산 처리를 통한 연산력의 분배를 의미할 수 있다.
신경망 학습 장치(500)는 인공 신경망을 학습하기 위한 장치로서, 통상적으로 서버를 의미할 수 있고, 신경망 학습 서버 등으로 지칭할 수 있다.
신경망 학습 장치(500)는 주기적으로 혹은 요청에 의하여 외부 장치(드론)에 기계 학습 또는 딥 러닝에 의하여 학습한 모델을 전송할 수 있다.
도 6을 참조하면, 신경망 학습 장치(100)는 통신부(Communication Unit, 510), 입력부(Input Unit, 520), 메모리(Memory, 530), 러닝 프로세서(Learning Processor, 540), 및 프로세서(Processor, 560) 등을 포함할 수 있다.
통신부(510)는 무선 통신부(미도시) 및 인터페이스부(미도시)를 포함하는 구성을 의미할 수 있다. 즉, 통신부(510)는 유무선 통신이나 인터페이스를 통하여 드론과 같은 다른 장치와 데이터를 송수신할 수 있다.
입력부(520)는 모델 학습을 위한 훈련 데이터 또는 학습된 모델(a trained model)을 이용하여 출력을 획득하기 위한 입력 데이터 등을 획득할 수 있다. 입력부(520)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 러닝 프로세서(540) 또는 프로세서(560)는 획득한 데이터를 전처리하여 모델 학습에 입력이 가능한 훈련 데이터 또는 전처리된 입력 데이터를 생성할 수 있다.
이때, 입력부(520)에서 수행하는 입력 데이터에 대한 전처리는, 입력 데이터로부터 입력 특징점(input feature)을 추출하는 것을 의미할 수 있다. 또한, 입력부(520)는 통신부(510)를 통하여 데이터를 수신함으로써 데이터를 획득할 수도 있다.
메모리(530)는 러닝 프로세서(540) 또는 신경망 학습 장치(500)에서 학습된 모델을 저장할 수 있다. 이때, 메모리(530)는 필요에 따라 학습된 모델을 학습 시점 또는 학습 진척도 등에 따라 복수의 버전으로 구분하여 저장할 수 있다. 이때, 메모리(530)는 입력부(520)에서 획득한 입력 데이터, 모델 학습을 위하여 이용되는 학습 데이터(또는 훈련 데이터), 모델의 학습 히스토리 등을 저장할 수 있다. 이때, 메모리(530)에 저장된 입력 데이터는 모델 학습에 적합하게 가공된 데이터뿐만 아니라, 가공되지 않은 입력 데이터 그 자체일 수 있다.
메모리(530)는 모델 저장부(531) 및 데이터베이스(532) 등을 포함할 수 있다. 모델 저장부(531)는 러닝 프로세서(540)을 통하여 학습 중인 또는 학습된 신경망 모델(또는 인공 신경망, 531a)을 저장하며, 학습을 통하여 모델이 업데이트되면 업데이트 된 모델을 저장한다. 이때, 모델 저장부(531)는 필요에 따라 학습된 모델을 학습 시점 또는 학습 진척도 등에 따라 복수의 버전으로 구분하여 저장할 수 있다.
데이터베이스(532)는 입력부(520)에서 획득한 입력 데이터, 모델 학습을 위하여 이용되는 학습 데이터(또는 훈련 데이터), 모델의 학습 히스토리 등을 저장할 수 있다. 데이터베이스(532)에 저장된 입력 데이터는 모델 학습에 적합하게 가공된 데이터뿐만 아니라, 가공되지 않은 입력 데이터 그 자체일 수 있다.
러닝 프로세서(540)는 훈련 데이터 또는 트레이닝 셋(training set)을 이용하여 인공 신경망(131a)을 훈련(training, 또는 학습)시킬 수 있다. 러닝 프로세서(540)는 프로세서(560)가 입력부(520)를 통해 획득한 입력 데이터를 전처리한 데이터를 바로 획득하여 인공 신경망(531a)을 학습하거나, 데이터베이스(532)에 저장된 전처리된 입력 데이터를 획득하여 인공 신경망(531a)을 학습할 수 있다.
구체적으로, 러닝 프로세서(540)는 앞서 설명한 다양한 학습 기법을 이용하여 인공 신경망(531a)을 반복적으로 학습시킴으로써, 인공 신경망(531a)의 최적화된 모델 파라미터들을 결정할 수 있다. 본 명세서에서는 훈련 데이터를 이용하여 학습됨으로써 파라미터가 결정된 인공 신경망을 학습 모델 또는 학습된 모델(a trained model)이라 칭할 수 있다.
이때, 학습 모델은 통신부(510)를 통해 드론과 같은 장치에 전송되어 탑재될 수도 있다. 또한, 학습 모델이 업데이트되는 경우, 업데이트된 학습 모델은 통신부(510)를 통해 드론에 전송되어 탑재될 수 있다.
러닝 프로세서(540)는 신경망 학습 장치(500)에 통합되거나 구현된 메모리를 포함할 수 있다. 일부 실시 예에서, 러닝 프로세서(540)는 메모리(530)를 사용하여 구현될 수 있다. 선택적으로 또는 부가적으로, 러닝 프로세서(540)는 단말기에 직접 결합된 외부 메모리 또는 단말기와 통신하는 서버에서 유지되는 메모리와 같이 단말기와 관련된 메모리를 사용하여 구현될 수 있다.
다시 도 3 및 도 5를 참조하면 이와 같이 학습된 학습 모델은 상대 위치 계산부(213)에 탑재되고 화상 수신부(211)로부터의 화상 입력과 초음파 수신부(2212)로부터의 초음파값에 기반하여 드론 좌표계 상에서 다음 위치까지의 상대 변위를 계산하게 된다. 구체적으로 도 5에 도시된 바와 같이 본 발명의 상대 위치 계산부(213)에 탑재된 학습 모델은 CNN 기반의 충돌 회피 모델을 이용한다. 화상 수신부(211)로부터의 적어도 4개의 화상 프레임이 한번에 입력되면 CNN 충돌 회피 모델은 컨볼루션과 서브샘플링을 통해 입력 화상 프레임들로부터 특징들을 추출하고 추출된 특징을 포함하는 1차원 벡터값(CNN의 결과값)에 완전 연결 네트워크(Fully Connected Network) 방식으로 초음파 센서로부터 취득된 초음파 값을 상관시켜 드론 좌표계 상에서 다음 위치까지의 상대 변위(Δn, Δe, Δd, Δy)를 추정한다(여기서 Δn는 드론 좌표계에서 x축 상에서의 변화량(Δn1-Δn0), Δe는 드론 좌표계에서 y축 상에서의 변화량(Δe1-Δe0), Δd는 드론 좌표계에서 z축 상에서의 변화량(Δz1-Δz0)).
전술한 좌표계는 NED 좌표계(지면 좌표계)이며, N, E, D 각각은 다음을 의미한다.
N(n)은 North(N)를 의미하고, N는 경도선(Latitude)와 평행을 이루며, 북쪽을 바라보는 방향을 표현한다. N는 적도를 기준으로 북반구는 +, 남반구는 - 로 표현한다. X,Y,Z를 기준으로 표현하는 로컬 프레임(Local Frame)에서 + X 방향과 동일하다.
E(e)는 East(E)를 의미하고, 위도선(Longitude)와 평행을 이루며, 동쪽을 바라보는 방향을 표현한다. E는 본초 자오선을 기준으로 동쪽은 +, 서쪽은 - 로 표현한다. X,Y,Z를 기준으로 표현하는 로컬 프레임에서 + Y 방향과 동일하다.
D(Down or Depth)는 지구 중심을 가리키며, 지구 내부를 바라보는 방향을 표현한다. D는 지구 중심을 기준으로 중심과 가까워지는 방향은 +, 중심과 멀어지는 방향은 - 로 표현한다. X,Y,Z를 기준으로 표현하는 로컬 프레임에서 +Z 방향과 동일하다.
도 7에 도시된 바와 같이 드론은 시간 t0에서 절대 좌표 상에서 A 위치(N0,E0,D0)에 위치되고 이때 드론좌표상에서의 위치는 (n0,e0,d0)인 것으로 가정한다. 이해를 돕기 위해, 도면에서 대문자 NED 좌표계는 절대 좌표계를 나타내고 소문자 ned 좌표계는 드론좌표계를 나타낸다. A 위치는 드론이 현재 위치하고 있는 위치이기 때문에 절대좌표 (N0,E0,D0)와 드론좌표 (n0,e0,d0)는 알려져 있다.
드론의 상대위치 계산부(213)는 전술한 바와 같이 깊이 이미지와 초음파 값을 이용하여 다음 위치에 대한 상대 변위(Δn, Δe, Δd)를 계산하여 출력한다. 그러나 이 출력값은 드론좌표상에서의 다음 위치(n1, e1, d1) 까지의 변위량을 나타내기 때문에 좌표 회전 변환부(214)는 먼저 드론좌표상에서의 다음 상대 변위 Δn, Δe, Δd와 상대 요(Yaw)를 현재 순간의 롤, 피치, 요로 3차원 회전 변환 시켜 절대좌표상에서의 다음 상대 변위 ΔN, ΔE, ΔD, ΔYaw를 구한다.
좌표 회전 변환부(214)에서 회전 변환을 통해 ΔN, ΔE, ΔD, ΔYaw 가 구해지고 나면, 웨이포인트 출력부(215)는 이를 이용하여 절대좌표상에서의 드론의 상대 위치(다음 위치)의 좌표를 계산한다. 절대좌표 상에서 드론의 상대 위치 N1, E1, D1은 현재의 절대좌표값과 yaw값에 더하여 다음과 같이 구해질 수 있다.
N1 = N0 +ΔN ; E1 = E0 + ΔE ; D1= D0 +ΔD; Yaw=Y0+ΔYaw
웨이포인트 출력부(215)는 구해진 절대좌표 상에서의 드론의 상대 위치 좌표(N1,N2,N3)와 Yaw 값을 다음 웨이포인트로서 비행 제어부(250)에 출력하고 비행 제어부(250)은 수신된 웨이포인트로 비행을 수행하게 된다.
이와 같은 본 발명의 실시예에 따르면 인공지능 신경망을 이용한 자율비행 드론은 목적지의 절대좌표가 입력되면 고속의 일반 비행 모드로 비행을 유지하면서 비행 경로에 장애물 또는 물체가 발견되면 자율비행모드로 전환하여 학습된 회피 비행 학습 모델을 통해 자동으로 회피 루트를 찾아 회피 기동하고 일반비행 모드와 자율비행 모드를 목적지에 도착할 때까지 반복하여 비행함에 따라 드론이 도착지까지 안전하게 도착할 수 있게 된다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(Command)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리요소(Processing Element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor)와 같은, 다른 처리 구성(Processing Configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(Code), 명령(Command), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(Collectively)처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(Component), 물리적 장치, 가상 장치(Virtual Equipment), 컴퓨터 저장매체 또는 장치에 구체화(Embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속하는 것으로 해석되어야만 한다.
10: 몸체 30: 날개부
100: 센서 그룹 111: 깊이 인식 카메라
112: 라이더센서 113: 초음파 센서
114: GPS 센서 115: 자이로 및 가속도 센서
200: 제어 모듈 210: 충돌회피 제어부
400: 비행 구동부

Claims (6)

  1. 장애물 회피 가능한 자율비행 드론에 있어서,
    드론의 몸체에 설치된 복수의 센서를 포함하는 센서 그룹; 및
    상기 센서 그룹으로부터의 수신된 센서 데이터에 기반하여 드론을 입력된 목적지 좌표까지 자율비행시키는 제어 모듈;을 포함하고
    상기 센서 그룹은
    드론의 전방을 향해 설치되는 적어도 하나의 깊이 인식 카메라;
    드론의 전방을 제외한 좌측방, 우측방, 후방, 상방 및 하방 중 적어도 하나 이상을 향해 설치되는 하나 이상의 초음파 센서를 포함하고,
    상기 제어 모듈은,
    상기 깊이 인식 카메라로부터의 화상과 하나 이상의 초음파 센서로부터의 초음파 거리값에 기반하여 드론의 다음 웨이포인트를 결정하는 충돌회피 제어부; 및
    상기 충돌회피 제어부로부터 생성된 다음 웨이포인트에 기반하여 드론의 비행 모터 및 변속기를 제어하도록 구성된 비행 제어부(Flight Controller);를 포함하고,
    상기 충돌회피 제어부는 CNN(Convolutional Neural Network) 기반의 충돌회피 모델을 포함하고, CNN 기반의 충돌회피 모델은,
    깊이 인식 카메라로부터 미리정해진 시간 간격으로 취득된 적어도 4개의 직전 프레임 화상을 한번에 입력받고, 입력받은 적어도 4개의 직전 프레임 화상에 기반하여 다음 순간의 웨이포인트에 대한 드론좌표계상의 상대 변위와 상대 요(Yaw)를 추정하도록 구성된
    장애물 회피 가능한 자율비행 드론.
  2. 삭제
  3. 제1항에 있어서,
    상기 충돌회피 제어부는 드론좌표계를 절대좌표계로 3차원 회전변환하는 좌표 변환부를 더 포함하고, 좌표 변환부는,
    추정된 드론좌표계상의 상대 변위와 상대 요(Yaw)를 현재 순간의 롤(Roll), 피치(Pitch), 및 요(Yaw)로 3차원 회전 변환시켜 절대좌표계상의 상대 변위와 상대 Yaw를 계산하고,
    계산된 절대좌표계상의 상대 변위와 상대 요(Yaw)를 현재 순간의 절대좌표값과 Yaw에 더하여 절대좌표계상에서의 다음 순간의 웨이포인트 위치를 결정하도록 구성된
    장애물 회피 가능한 자율비행 드론.
  4. 제3항에 있어서,
    상기 충돌회피 제어부는 다음 순간의 웨이포인트를 비행제어부로 출력하는 웨이포인트 출력부를 더 포함하는
    장애물 회피 가능한 자율비행 드론.
  5. 제3항에 있어서,
    초음파 센서로부터의 데이터는 CNN 충돌회피 모델의 1차원 벡터값에 완전 연결 네트워크(Fully Connected Network) 방식으로 상관되는
    장애물 회피 가능한 자율비행 드론.
  6. 제3항에 있어서,
    상기 자율비행 드론은 깊이 인식 카메라로부터 프레임 화상 데이터가 입력되지 않으면 고속의 일반 비행 모드로 동작되고 깊이 인식 카메라로부터 프레임 화상 데이터가 입력되면 CNN 충돌회피 모델에 기반한 자율비행 모드로 동작되는
    장애물 회피 가능한 자율비행 드론.
KR1020210075176A 2021-06-10 2021-06-10 인공지능 신경망을 이용한 자율비행 드론 KR102313115B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210075176A KR102313115B1 (ko) 2021-06-10 2021-06-10 인공지능 신경망을 이용한 자율비행 드론

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210075176A KR102313115B1 (ko) 2021-06-10 2021-06-10 인공지능 신경망을 이용한 자율비행 드론

Publications (1)

Publication Number Publication Date
KR102313115B1 true KR102313115B1 (ko) 2021-10-18

Family

ID=78271307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210075176A KR102313115B1 (ko) 2021-06-10 2021-06-10 인공지능 신경망을 이용한 자율비행 드론

Country Status (1)

Country Link
KR (1) KR102313115B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237278A (zh) * 2021-11-11 2022-03-25 浙江华东测绘与工程安全技术有限公司 水工隧洞内无人机飞行定位及避障方法
KR102525912B1 (ko) * 2022-09-22 2023-04-26 (주)제이마플 무인 비행체 및 그 제어 방법
KR20230086827A (ko) 2021-12-08 2023-06-16 정세인 인공지능 기반의 물류 배송 드론의 운영 시스템

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101056377B1 (ko) 2009-02-17 2011-08-12 경상대학교산학협력단 비행장치 제어단말, 비행장치 제어방법 및 비행장치 제어 시스템
WO2016182982A1 (en) * 2015-05-10 2016-11-17 Magik Eye Inc. Distance sensor
KR20180018164A (ko) * 2016-08-12 2018-02-21 한국항공우주연구원 무인 항공기 및 이의 제어 방법
US20180253980A1 (en) * 2017-03-03 2018-09-06 Farrokh Mohamadi Drone Terrain Surveillance with Camera and Radar Sensor Fusion for Collision Avoidance
KR20200105125A (ko) * 2019-02-28 2020-09-07 한국과학기술원 영상 처리를 기반으로 한 비행체의 충돌 방지 시스템 및 이를 포함하는 비행체
KR20200105012A (ko) * 2019-02-28 2020-09-07 주식회사 켐에쎈 라이다 기반 자율 충돌회피 기능을 포함하는 드론 및 그 제어 방법
KR102228882B1 (ko) * 2019-07-08 2021-03-16 금오공과대학교 산학협력단 생체 모방 기법을 활용한 드론 회피 기동 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101056377B1 (ko) 2009-02-17 2011-08-12 경상대학교산학협력단 비행장치 제어단말, 비행장치 제어방법 및 비행장치 제어 시스템
WO2016182982A1 (en) * 2015-05-10 2016-11-17 Magik Eye Inc. Distance sensor
KR20180018164A (ko) * 2016-08-12 2018-02-21 한국항공우주연구원 무인 항공기 및 이의 제어 방법
US20180253980A1 (en) * 2017-03-03 2018-09-06 Farrokh Mohamadi Drone Terrain Surveillance with Camera and Radar Sensor Fusion for Collision Avoidance
KR20200105125A (ko) * 2019-02-28 2020-09-07 한국과학기술원 영상 처리를 기반으로 한 비행체의 충돌 방지 시스템 및 이를 포함하는 비행체
KR20200105012A (ko) * 2019-02-28 2020-09-07 주식회사 켐에쎈 라이다 기반 자율 충돌회피 기능을 포함하는 드론 및 그 제어 방법
KR102228882B1 (ko) * 2019-07-08 2021-03-16 금오공과대학교 산학협력단 생체 모방 기법을 활용한 드론 회피 기동 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237278A (zh) * 2021-11-11 2022-03-25 浙江华东测绘与工程安全技术有限公司 水工隧洞内无人机飞行定位及避障方法
CN114237278B (zh) * 2021-11-11 2024-02-27 浙江华东测绘与工程安全技术有限公司 水工隧洞内无人机飞行定位及避障方法
KR20230086827A (ko) 2021-12-08 2023-06-16 정세인 인공지능 기반의 물류 배송 드론의 운영 시스템
KR102525912B1 (ko) * 2022-09-22 2023-04-26 (주)제이마플 무인 비행체 및 그 제어 방법

Similar Documents

Publication Publication Date Title
US11726498B2 (en) Aerial vehicle touchdown detection
US11787543B2 (en) Image space motion planning of an autonomous vehicle
JP7143444B2 (ja) 航空機のスマート着陸
KR102313115B1 (ko) 인공지능 신경망을 이용한 자율비행 드론
US20200258400A1 (en) Ground-aware uav flight planning and operation system
US11210794B2 (en) Moving object detection system
US11865978B2 (en) Object tracking system including stereo camera assembly and methods of use
Fei et al. Deep-reinforcement-learning-based UAV autonomous navigation and collision avoidance in unknown environments
Johnson et al. Flight testing of nap of-the-earth unmanned helicopter systems
Fantoni et al. Optic flow-based control and navigation of mini aerial vehicles
Stevens Autonomous Visual Navigation of a Quadrotor VTOL in complex and dense environments
US20230267717A1 (en) Method for searching a path by using a three-dimensional reconstructed map
JP7492718B2 (ja) 安全着陸可能領域を識別するためのシステム、方法、プログラム及びプログラムを記憶した記憶媒体
Fragoso Egospace Motion Planning Representations for Micro Air Vehicles
Naveenkumar et al. Autonomous Drone Using Time-of-Flight Sensor for Collision Avoidance
Naveenkumar et al. Autonomous Drone Using Time-of-Flight Sensor for Collision Avoidance Check for updates
Zhou et al. On-board sensors-based indoor navigation techniques of micro aerial vehicle
Johnson et al. Recent flight test results of active-vision control systems
CN117492467A (zh) 一种基于模仿学习的无人直升机避障系统及方法
JP2019196150A (ja) 安全着陸可能領域を識別するためのシステム、方法、プログラム及びプログラムを記憶した記憶媒体
Sagarage et al. DEEP CONVOLUTION NEURAL NETWORK (CNN) USING A MONOCULAR CAMERA AND A 2D LIDAR FOR ROBUST QUADROTOR OBSTACLE AVOIDANCE

Legal Events

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