KR20210029518A - 멀티 센서 기반의 무인 비행체 및 그 제어 방법 - Google Patents

멀티 센서 기반의 무인 비행체 및 그 제어 방법 Download PDF

Info

Publication number
KR20210029518A
KR20210029518A KR1020190110856A KR20190110856A KR20210029518A KR 20210029518 A KR20210029518 A KR 20210029518A KR 1020190110856 A KR1020190110856 A KR 1020190110856A KR 20190110856 A KR20190110856 A KR 20190110856A KR 20210029518 A KR20210029518 A KR 20210029518A
Authority
KR
South Korea
Prior art keywords
unmanned aerial
aerial vehicle
information
sensor
tag
Prior art date
Application number
KR1020190110856A
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 KR1020190110856A priority Critical patent/KR20210029518A/ko
Priority to US17/013,465 priority patent/US11619952B2/en
Priority to PCT/KR2020/011980 priority patent/WO2021045577A1/en
Publication of KR20210029518A publication Critical patent/KR20210029518A/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
    • 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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U10/00Type of UAV
    • B64U10/10Rotorcrafts
    • B64U10/13Flying platforms
    • B64U10/14Flying platforms with four distinct rotor axes, e.g. quadcopters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U20/00Constructional aspects of UAVs
    • B64U20/80Arrangement of on-board electronics, e.g. avionics systems or wiring
    • B64U20/87Mounting of imaging devices, e.g. mounting of gimbals
    • 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/0094Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots involving pointing a payload, e.g. camera, weapon, sensor, towards a fixed or moving target
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/04Control of altitude or depth
    • G05D1/042Control of altitude or depth specially adapted for aircraft
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • B64C2201/141
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U10/00Type of UAV
    • B64U10/10Rotorcrafts
    • B64U10/13Flying platforms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2101/00UAVs specially adapted for particular uses or applications
    • B64U2101/30UAVs specially adapted for particular uses or applications for imaging, photography or videography
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Navigation (AREA)

Abstract

본 개시는 멀티 센서 기반의 무인 비행체 및 그 제어 방법에 관한 것으로, 본 개시의 일 실시예에 따른 무인 비행체는, 상기 무인 비행체의 관성 정보 또는 위치 정보를 획득하는 센서부 및 상기 센서부에서 획득된 정보를 확장 칼만 필터(extended kalman filter)에 적용하여 상기 무인 비행체의 위치를 추정하고, 상기 추정된 무인 비행체의 위치에 기초하여 상기 무인 비행체의 주행을 제어하는 제어부를 포함하며, 상기 센서부는, 상기 무인 비행체의 관성 정보를 획득하는 관성 센서, 랙(rack)에 부착된 태그(tag)를 인식하여, 상기 무인 비행체의 절대 위치 정보를 획득하는 태그 인식 센서, 및 상기 무인 비행체에 부착되어, 상기 무인 비행체의 주행 환경 영상을 획득하는 영상 센서를 포함할 수 있다.

Description

멀티 센서 기반의 무인 비행체 및 그 제어 방법{MULTI-SENSOR BASED UNMANNED AERIAL VEHICLE AND ITS CONTROL METHOD}
본 개시의 다양한 실시예들은, 멀티 센서 기반의 무인 비행체 및 그 제어 방법에 관한 것이다.
무인 비행체(UAV: unmanned aerial vehicle)는 사람이 타지 않고 무선 전파의 유도를 통해 비행하는 비행기나 헬리콥터 형태의 비행체를 말한다.
무인 비행체는 군수 산업에서 비롯되었으나, 상업적으로 이용되기 시작하면서 그에 대한 연구 또한 활발히 진행되고 있다. 특히, 무인 비행체는 간편성, 신속성, 경제성 등의 이점으로 인하여, 군사용 외에도, 탐사, 방송 레저 등과 같은 다양한 분야에서 적용되고 있다.
최근, 카메라와 센서 등을 통해 객체(object) 감지가 가능하고, 신속한 이동성까지 갖춘 무인 비행체가 등장함에 따라, 무인 비행체의 적용 범위는 물류 운송, 창고관리, 재고조사 등의 산업 분야까지 확대되었다.
기존에 산업 분야에 적용되던 무인 비행체는 GPS 데이터에 기반하여 자율 주행을 하였는 바, GPS 데이터 획득이 어려운 실내에서는 무인 비행체의 활용에 제한이 있었다.
실내 자율 주행이 가능한 무인 비행체에 대한 필요성이 대두됨에 따라, 실내에서 GPS 데이터 없이 무인 비행체 위치를 인식하기 위한 방안으로, 무인 비행기에 부착된 3D lidar를 이용하여 3D map을 생성하고, 생성된 3D map 내에서 무인 비행체의 위치를 인식하는 방안이 제안된 바 있다. 다만, 상술한 방안은, 3D map 생성에 사용되는 센서가 고비용이며, 3D map 생성을 위한 수동(manual) 비행이 필요하고, 대상 면적이 넓어질수록, 3D map 생성에 필요한 메모리와 계산 시간이 급증하게 된다는 한계가 있었다.
실내에서 무인 비행체의 위치를 인식하기 위한 또 다른 방안으로, 무인 비행체의 주행 경로 하단에 형성된 모서리(edge) 또는 라인(line)을 활용하여, 모서리 또는 라인으로부터의 무인 비행체의 상대적인 위치를 인식하는 방안도 제안된 바 있다.
다만, 상술한 방안에 의하더라도, 무인 비행체의 절대적인 위치는 파악할 수 없으며, 주행 경로 하단으로부터 모서리 또는 라인의 추출이 불가능한 경우에는 무인 비행체의 상대적인 위치조차 인식할 수 없다는 한계가 있어, 실내에서 무인 비행체 위치를 보다 정확하게 인식할 수 있는 새로운 방안이 요구되는 실정이다.
이에, 본 개시는 멀티 센서 기반으로 실내에서 저 비용으로, 견고하게 위치 인식이 가능한 무인 비행체를 제공하여, 상술한 한계를 극복하고자 한다.
다양한 실시예를 따른 무인 비행체는, 상기 무인 비행체의 관성 정보 또는 위치 정보를 획득하는 센서부 및 상기 센서부에서 획득된 정보를 확장 칼만 필터(extended kalman filter)에 적용하여 상기 무인 비행체의 위치를 추정하고, 상기 추정된 무인 비행체의 위치에 기초하여 상기 무인 비행체의 주행을 제어하는 제어부를 포함하며, 상기 센서부는, 상기 무인 비행체의 관성 정보를 획득하는 관성 센서, 랙(rack)에 부착된 태그(tag)를 인식하여, 상기 무인 비행체의 절대 위치 정보를 획득하는 태그 인식 센서, 및 상기 무인 비행체에 부착되어, 상기 무인 비행체의 주행 환경 영상을 획득하는 영상 센서를 포함할 수 있다.
다양한 실시예에 따른 방법은, 무인 비행체의 관성 정보를 획득하는 동작, 태그 인식 센서를 통해 랙(rack)에 부착된 태그(tag)를 인식하여, 상기 무인 비행체의 절대 위치 정보를 획득하는 동작, 상기 획득된 무인 비행체의 절대 위치 정보 또는 영상 센서를 통해 획득된 무인 비행체의 주행 환경 영상에 기초하여, 상기 무인 비행체의 제1 시각적 주행거리(visual odometry) 정보를 획득하는 동작 및 상기 획득된 무인 비행체의 절대 위치 정보, 제1 시각적 주행거리 정보를 확장 칼만 필터(extended kalman filter)에 적용하여 상기 무인 비행체의 위치를 추정하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예에 따른 무인 비행체는, 맵 생성을 위한 별도의 수동 비행 내지 계산 없이, 복수의 센서를 활용하여 저 비용으로 위치 인식이 가능하다.
또한, 본 개시의 다양한 실시예에 따른 무인 비행체는, 센서의 외란(disturbance), 이상치(outlier)에 의한 영향을 최소화함으로써, 견실(robust)한 위치 인식이 가능하다.
도 1은, 다양한 실시예에 따른 무인 비행체의 자율 주행 동작을 나타내는 도면이다.
도 2는, 다양한 실시예에 따른 무인 비행체의 사시도이다.
도 3은, 다양한 실시예에 따른 무인 비행체의 구성 요소를 나타내는 도면이다.
도 4는, 일 실시예에 따른 무인 비행체의 위치 추정 동작을 나타내는 순서도이다.
도 5a는, 일 실시예에 따른 무인 비행체가 태그(tag)를 인식하는 동작을 나타내는 사시도이다. 도 5b는, 도 5a의 무인 비행체가 다른 각도에서 다른 태그를 인식하는 동작을 나타내는 사시도이다.
도 6은, 일 실시예에 따른 무인 비행체의 시각적 주행거리(visual odometry) 정보를 획득하는 과정을 나타내는 순서도이다.
도 7은, 일 실시예에 따른 무인 비행체의 횡방향 위치(lateral position) 및 요 각도(yaw angle)을 계산하는 과정을 나타내는 순서도이다.
도 8a는, 일 실시예에 따른 무인 비행체가 주행 경로 하단의 영상을 획득하는 과정을 나타내는 사시도이다. 도 8b는, 주행 경로의 가장자리 정보에 기초하여 횡방향 위치를 계산하는 과정을 나타내는 도면이다. 도 8c는, 주행 경로의 가장자리 정보에 기초하여 요 각도를 계산하는 과정을 나타내는 도면이다.
도 9는, 일 실시예에 따른 무인 비행체에서 센서부에서 획득된 정보를 아웃라이어(outlier)로 분류하는 과정을 나타내는 순서도이다.
도 10a는, 아웃라이어를 제거하지 않은 상태에서의 무인 비행체의 요 각도 추정 결과를 나타내는 그래프이다. 도 10b는, 아웃라이어를 제거한 상태에서의 무인 비행체의 요 각도 추정 결과를 나타내는 그래프이다.
도 11은, 일 실시예에 따른 무인 비행체에서 비주얼 슬램(Visual SLAM) 알고리즘으로부터 가상의 공분산을 계산하고, 계산된 가상의 공분산을 확장 칼만 필터에 적용하는 과정을 나타내는 순서도이다.
도 12a는 일 실시예에 따른 무인 비행체에서 비주얼 슬램(Visual SLAM) 알고리즘의 매칭 포인트를 추출하는 과정을 나타내는 도면이다. 도 12b는 또 다른 실시예에 따른 무인 비행체에서 매칭 포인트를 추출하는 과정을 나타내는 도면이다.
도 13a는, 확장 칼만 필터에 가상의 공분산을 적용하지 않은 상태에서의 무인 비행체의 횡방향 위치 추정 결과를 나타내는 그래프이다. 도 13b는, 확장 칼만 필터에 가상의 공분산을 적용한 상태에서의 무인 비행체의 횡방향 위치 추정 결과를 나타내는 그래프이다.
도 14a는, 무인 비행체가 전방 태그만 인식하는 경우, 무인 비행체의 절대 위치를 파악하기 위해 필요한 태그 부착 위치를 나타내는 도면이다. 도 14b는, 무인 비행체가 전방 태그와 후방 태그를 모두 인식하는 경우, 무인 비행체의 절대 위치를 파악하기 위해 필요한 태그 부착 위치를 나타내는 도면이다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
도 1은, 다양한 실시예에 따른 무인 비행체(100)의 자율 주행 동작을 나타내는 도면이다.
도 1을 참조하면, 다양한 실시예에 따른 무인 비행체(100)는 수평, 또는 수직 방향으로 자율 주행(또는 비행)이 가능한 전자 장치일 수 있으며, 상기 무인 비행체(100)는 일 예시로 드론(drone)일 수 있다.
일 실시예에 따른 무인 비행체(100)는, 실내에서 복도(13)를 따라 자율 주행하며 고정 장소(10)(또는 “랙(rack)”))에 적재된 물품(11)들의 재고를 조사할 수 있으며, 상기 무인 비행체(100)는 복수의 센서(미도시)를 포함하여, 무인 비행체(100)의 절대 위치 정보 및/또는 상대 위치 정보를 파악할 수 있다.
일 예시로, 무인 비행체(100)는 물품(11)의 특정 위치에 부착된 바코드(barcode, 12)를 인식하고, 상기 인식 결과에 기초하여 물품(11)의 수량 및/또는 보관 위치 등을 파악할 수 있다. 상기 무인 비행체(100)는 복도(13)를 주행하며 상기 복도(13) 양단에 위치한 랙(10) 상에 적재된 물품(11)들의 재고를 조사할 수도 있으며, 실시예에 따라, 랙(10)의 특정 위치에 적재된 물품(11)들의 재고만을 조사할 수도 있다.
다른 예시로, 상기 무인 비행체(100)은 별도의 GPS 데이터 없이도 복수의 센서의 센싱 값에 기반하여, 실내(indoor)에서 현재 주행(또는 비행) 위치를 추정(estimation)할 수 있다. 일 실시예에 따르면, 무인 비행체(100)는 주행 출발 위치(예: 도 1의 A영역)를 원점(0,0,0)으로 설정하여, 자율 주행하는 실내 영역을 월드 좌표계(world coordinate system)로 나타낼 수 있고, 상기 복수의 센서의 센싱 값에 기초하여 무인 비행체(100)의 현재 위치를 추정하여 좌표 데이터(x,y,z)로 나타낼 수 있다. 즉, 무인 비행체(100)는 상술한 바와 같이 자율 주행하는 실내 영역을 월드 좌표계로 나타냄으로써, 실내 영역의 구조를 파악하기 위한 수동(manual) 주행 없이도 무인 비행체(100)의 현재 위치를 추정할 수 있으며, 이하에서는 무인 비행체(100)의 위치 추정 과정에 대해 구체적으로 살펴보도록 한다.
도 2는, 다양한 실시예에 따른 무인 비행체(200)의 사시도이다. 도 3은, 다양한 실시예에 따른 무인 비행체(200)의 구성 요소를 나타내는 도면이다.
도 2 및 도 3을 참조하면, 일 실시예에 따른 무인 비행체(200)는, 몸체(210), 상기 몸체(210)에 부착되는 적어도 하나의 회전부(211a, 211b, 211c, 211d), 센서부(220), 바코드 리더(barcode reader, 230), 및 제어부(240)를 포함할 수 있다.
일 실시예에 따르면, 무인 비행체(200)의 몸체(210)에는 제1 회전부(211a), 제2 회전부(211b), 제3 회전부(211c), 제4 회전부(211d)가 부착될 수 있으며, 상기 제1 회전부(211a), 제2 회전부(211b), 제3 회전부(211c), 제4 회전부(211d)의 회전에 의해 무인 비행체(200)는 수평 또는 수직 방향으로 주행(또는 비행)할 수 있다. 일 예시로, 몸체(210)를 기준으로 대각선 방향에 위치한 제1 회전부(211a)와 제3 회전부(211c), 제2 회전부(211b)와 제4 회전부(211d)는 각각 짝을 이루어 동작할 수 있으나 이에 한정되는 것은 아니며, 실시예에 따라 상기 제1 회전부(211a), 제2 회전부(211b), 제3 회전부(211c), 제4 회전부(211d)는 독립적으로 구동할 수도 있다.
일 실시예에 따르면, 바코드 리더(230)는 무인 비행체(100)의 몸체(210)에 부착되어, 물품(예: 도 1의 물품(11))의 특정 위치에 부착된 바코드(예: 도 1의 바코드(12))를 인식할 수 있다. 상기 무인 비행체(100)는 자율 주행 과정에서 바코드 리더(230)를 통해 랙(예: 도 1의 랙(10))에 적재된 물품의 수량 또는 위치 정보를 파악할 수 있다. 무인 비행체(100)에서 파악된 물품의 수량 또는 위치 정보는 외부 서버(미도시)로 송신될 수 있으며, 외부 서버에서는 상기 정보를 토대로 물품의 재고를 파악할 수 있다. 이 때, 물품마다 바코드가 부착되는 위치는 동일할 수 있으나, 실시예에 따라 물품마다 바코드가 부착되는 위치가 상이할 수도 있다.
일 실시예에 따르면, 무인 비행체(100)는 무인 비행체(100)의 내부 또는 외부에 실장된 센서부(220)를 활용하여, 현재 무인 비행체(100)의 주행 정보를 획득할 수 있다. 일 예시로, 상기 센서부(220)는 상기 몸체(210)에 내장되어, 무인 비행체(100)의 가속도(acceleration), 각속도(angular velocity) 등의 관성 정보를 획득할 수 있는 관성 센서(221), 랙(예: 도 1의 랙(10))에 부착된 태그(tag)를 인식할 수 있는 태그 인식 센서(222), 및 주행(또는 비행) 과정에서 무인 비행체(100)의 주행 환경 영상을 획득할 수 있는 영상 센서(223)을 포함할 수 있다. 일 예시로, 관성 센서(221)는 관성 측정장치(IMU: inertial measurement unit)일 수 있고, 태그 인식 센서(222)는 태그 인식이 가능한 카메라일 수 있고, 영상 센서(223)는 2D 레이더(2D lidar), 3D 레이더(3D lidar), RGB-D 센서, 카메라 중 적어도 하나일 수 있으나, 이에 한정되는 것은 아니다.
상기 제어부(240)는, 상기 몸체(210)에 내장되어, 상기 센서부(220)에서 획득되는 정보(예: 관성 정보, 주행 환경 영상 정보 등)을 활용하여 무인 비행체(100)의 현재 위치 및/또는 현재 주행 방향 등을 추정할 수 있다. 제어부(240)는 상기 추정 결과에 기초하여 무인 비행체(100)의 주행을 제어(예: 주행 방향, 주행 고도, 주행 속도 등)할 수 있어, 결과적으로 무인 비행체(100)의 안전한 주행을 가능하게 할 수 있다.
일 실시예에 따르면, 제어부(240)는 태그 인식 센서(222)에서의 태그 인식 정보에 기초하여, 월드 좌표계 내 무인 비행체(100)의 절대 위치(absolute 6D pose) 정보를 획득할 수 있다. 본 개시에서 무인 비행체(100)의 위치 정보는 원점(예: 도 1의 A 영역)을 기준으로 한 x, y, z 좌표뿐만 아니라, 롤 각도(roll angle), 피치 각도(pitch angle), 요 각도(yaw angle)도 포함하며, 이하에서도 위치 정보는 동일한 의미로 쓰일 수 있다. 상기 제어부(240)의 무인 비행체(100) 절대 위치 정보 획득 과정에 대한 구체적인 설명은 후술하도록 한다.
또 다른 실시예에 따르면, 제어부(240)는 관성 센서(221)에서 획득된 무인 비행체(100)의 관성 정보와, 영상 센서(223)에서 획득된 주행 환경 영상에 기초하여 무인 비행체(100)의 상대적인 위치(relative pose) 정보 또는 시각적 주행거리(visual odometry) 정보를 획득할 수 있다. 일 예시로, 제어부(240)는 상기 획득된 관성 정보와 주행 환경 영상을 스캔 매칭(scan matching) 기법인 헥터 슬램(hector SLAM) 알고리즘에 적용하여, 무인 비행체(100)의 상대적인 6 자유도 위치(relative 6D pose) 정보를 획득할 수 있으나, 이에 국한되는 것은 아니다. 본 개시의 슬램(SLAM: simultaneous localization and mapping)은 동시 위치 추정 및 지도 작성이라고도 하며, 환경 또는 장면으로부터 물체의 위치를 인식하고, 주변 환경 지도를 작성하는 과정을 의미한다. 또한, 헥터 슬램은 관성 정보와 영상 정보에 기초하여, 물체의 위치를 인식하고, 주변 환경 지도를 작성하는 과정을 의미할 수 있다.
상기 제어부(240)는, 상술한 과정을 통해 획득한 무인 비행체(100)의 관성 정보, 절대 위치 정보, 및/또는 상대 위치 정보를 확장 칼만 필터(EKF: extended kalman filter)에 적용함으로써, 무인 비행체(100)의 실내에서의 위치를 추정할 수 있다.
확장 칼만 필터는, 선형(linear) 또는 비선형(non-linear) 시스템에서 객체에 대한 최적(optimal)의 위치를 추정하기 위한 알고리즘의 일종으로, 상기 제어부(240)는 센서부(220)를 통해 획득한 정보를 확장 칼만 필터에 적용함으로써, 현재 무인 비행체(100)의 최적의 위치를 추정할 수 있다. 확장 칼만 필터는 상태 예측(state prediction)과 측정 업데이트(measurement update)를 반복적으로 수행하여 무인 비행체(100)의 위치를 추정할 수 있으며, 일 실시예에 따른 상기 제어부(240)는 무인 비행체(100)의 관성 정보를 상태 예측을 위한 상태 변수(state variable)로 활용하고, 무인 비행체(100)의 절대 위치 정보, 상대 위치 정보를 측정 업데이트 과정에 활용할 수 있다.
구체적으로, 확장 칼만 필터의 상태 벡터(state vector, x)는 관성 센서(221)의 자세(pose)가 무인 비행체(100)의 자세가 동일하다는 가정하에, 하기 수학식 1과 같이 표현될 수 있다.
Figure pat00001
이 때,
Figure pat00002
는 월드 좌표계에서의 포지션 벡터(position vector)를 의미하고,
Figure pat00003
는 속도 벡터(velocity vector)를 의미하며,
Figure pat00004
는 관성 센서(221)의 회전을 나타내는 쿼터니언(quaternion)을 의미한다. 또한,
Figure pat00005
는 자이로 바이어스(gyro bias)를 의미하고,
Figure pat00006
는 가속도계 바이어스(accelerometer bias)를 의미한다.
Figure pat00007
Figure pat00008
Figure pat00009
Figure pat00010
Figure pat00011
이 때, 오차 상태 벡터(error state vector,
Figure pat00012
)를 정의하고, 상기 수학식 2 내지 수학식 6의 미분 방정식을 풀면 하기 수학식 7과 같은 선형화된 상태 방정식(linearized error state equation)을 도출해낼 수 있으며, 상기 제어부(240)에서는 하기 수학식 7을 활용하여 시간에 따른 확장 칼만 필터의 상태 변화를 업데이트(time update)할 수 있다. 이 때,
Figure pat00013
Figure pat00014
에 대응되는 회전행렬을 의미하고,
Figure pat00015
은 관성 센서(221)에서 획득되는 가속도를 의미하고,
Figure pat00016
은 관성 센서(221)에서 획득되는 각속도를 의미하고, g는 월드 좌표계에서의 중력 벡터(gravity vector)를 의미한다. 또한,
Figure pat00017
,
Figure pat00018
,
Figure pat00019
,
Figure pat00020
는 가우시안 노이즈(gaussian noises)를 의미한다. 이 때, 수학식 7의 A, B는 수학식 2 내지 수학식 6의 선형화(linearized) 행렬이다.
Figure pat00021
또한, 확장 칼만 필터에서 측정 모델(measurement model)은 하기 수학식 8과 같이 표현될 수 있으며, 상기 제어부(240)는 측정 모델을 활용하여 측정 업데이트(measurement update)를 수행할 수 있다. 수학식 8에서 z는 위치, 오일러 각도(Euler angle), 포즈(pose) 등의 측정 벡터(measurement vector)를 의미하고, h(x)는 상태(state)에 따라 변화하는 측정 모델을 의미하며, n은 가우시안 측정 노이즈(gaussian measurement noise)를 의미한다.
Figure pat00022
즉, 제어부(240)는 무인 비행체(100)의 관성 정보를 확장 칼만 필터의 시간에 따른 상태 변화 업데이트(time update) 과정에 활용하고, 무인 비행체(100)의 절대 위치 정보, 상대 위치 정보를 확장 칼만 필터의 측정 업데이트(measurement update) 과정에 활용하여, 무인 비행체(100)의 위치를 추정할 수 있다.
상기 제어부(240)에서 관성 센서(221)에서 획득된 정보, 태그 인식 센서(222)에서 획득된 정보, 영상 센서(223)에서 획득된 주행 영상 정보만을 활용하여 무인 비행체(100)의 위치를 추정할 수는 있으나, 상술한 바와 같이 위치를 추정하는 경우에는 무인 비행체(100) 시스템 자체의 불확실성 및 센서부(220)의 센싱 결과의 불확실성으로 인하여 드리프트(drift), 아웃라이어(outlier), 외란(disturbance) 등이 발생할 수 있다. 불확실성에 의해 발생하는 드리프트(drift), 아웃라이어(outlier), 외란(disturbance)은 확장 칼만 필터를 통한 무인 비행체(100)의 현재 위치 추정 결과에 영향을 줄 수 있다.
이에 따라, 일 실시예에 따른 무인 비행체(100)의 센서부(220)는 관성 센서(221), 태그 인식 센서(222), 영상 센서(223) 외에 추가 센서를 더 포함하고, 추가 센서에서 획득된 정보(robust data)까지 확장 칼만 필터에 적용하여, 드리프트(drift), 아웃라이어(outlier), 외란(disturbance) 등에 의한 오차를 최소화할 수 있다.
일 예시로, 상기 센서부(220)는 무인 비행체(100)의 고도(attitude)를 정보를 획득할 수 있는 고도 센서(224), 무인 비행체(100)의 몸체(210)에 부착되어, 무인 비행체(100) 주행 경로의 상단 영상 정보를 획득할 수 있는 상단 카메라 센서(225), 및/또는 무인 비행체(100)의 몸체(210)에 부착되어, 무인 비행체(100) 주행 경로의 하단 영상 정보를 획득할 수 있는 하단 카메라 센서(226)를 더 포함할 수 있다.
제어부(240)는 일 예시로, 고도 센서(224)에서 획득한 무인 비행체(100)의 고도 정보를 확장 칼만 필터에 적용할 수 있다. 제어부(240)는 다른 예시로, 상단 카메라 센서(225)에서 획득된 주행 경로 상단 영상 정보에 기초하여 상대 위치 정보 (또는 시각적 주행거리 정보)를 계산하고, 계산된 상대 위치 정보를 확장 칼만 필터에 적용할 수도 있다. 또 다른 예시로, 제어부(240)는 하단 카메라 센서(226)에서 획득된 주행 경로 하단 영상 정보에 기초하여 무인 비행체(100)의 횡방향 위치(lateral position) 및/또는 요 각도(yaw angle)를 계산하고, 계산된 횡방향 위치 및/또는 요 각도를 확장 칼만 필터에 적용할 수도 있다. 다만, 이에 대한 구체적인 설명은 후술하도록 한다.
도 4는, 일 실시예에 따른 무인 비행체의 위치 추정 동작을 나타내는 순서도이다.
도 5a는, 일 실시예에 따른 무인 비행체(100)가 태그(20a)를 인식하는 동작을 나타내는 사시도이다. 도 5b는, 도 5a의 무인 비행체(100)가 다른 각도에서 다른 태그(20b)를 인식하는 동작을 나타내는 사시도이다.
도 4의 무인 비행체의 위치 추정 동작 중 일부 동작(예: 동작 402)을 설명함에 있어, 도 5a 및 도 5b의 도면을 참고하여 설명하도록 한다.
도 4를 참조하면, 동작 401에서, 일 실시예에 따른 무인 비행체(예: 도 2의 무인 비행체(100))의 관성 센서(예: 도 3의 관성 센서(221))는, 무인 비행체의 가속도(acceleration), 각속도(angular velocity) 등의 관성 정보를 획득할 수 있으며, 상기 획득된 무인 비행체 관성 정보는 제어부(예: 도 3의 제어부(240))에 전송될 수 있다.
도 5a 및 도 5b를 참조하면, 동작 402에서, 일 실시예 따른 무인 비행체(100)의 태그 인식 센서(222)는, 랙(10)의 지정된 위치에 부착된 복수의 태그(20a, 20b)를 인식할 수 있고, 제어부에서는 상기 태그 인식 센서(222)에서 획득한 태그 인식 정보에 기초하여 무인 비행체(100)의 절대 위치 정보를 획득할 수 있다. 일 실시예에 따르면, 태그 인식 센서(222)를 통해 복수의 태그(20a, 20b)를 인식하면 인식 알고리즘을 통해 태그(20a, 20b)의 태그 인식 센서(222) 대비 상대 위치 및 각도 정보 등을 포함하는 포즈 데이터(pose data)를 획득할 수 있다. , 즉, 상기 제어부는 태그 인식 센서(222)와 태그(20a, 20b) 사이의 거리, 태그 인식 센서(222)와 태그 사이의 각도에 따라 상이한 절대 위치 정보를 사전에 주어진 태그 맵(tag map)을 통해 획득할 수 있다.
일 예시로, 도 5a를 참조하면, 무인 비행체(100)의 태그 인식 센서(222)와 태그(20a) 사이의 거리가
Figure pat00023
이고, 태그 인식 센서(220)와 태그(20a) 사이의 각도가
Figure pat00024
인 경우, 제어부는 태그 인식 센서(222)에서 획득한 태그 인식 정보에 기초하여 현재 무인 비행체(100)의 절대 위치가 (
Figure pat00025
,
Figure pat00026
,
Figure pat00027
,
Figure pat00028
,
Figure pat00029
,
Figure pat00030
)라는 정보를 획득할 수 있다. 본 개시에서,
Figure pat00031
는 무인 비행체(100)의 롤 각도(roll angle)을 의미하고,
Figure pat00032
는 무인 비행체(100)의 피치 각도(pitch angle)을 의미하고,
Figure pat00033
는 무인 비행체(100)의 요 각도(yaw angle)을 의미할 수 있으며, 이하에서도 동일한 의미로 사용될 수 있다.
다른 예시로, 도 5b를 참조하면, 무인 비행체(100)의 태그 인식 센서(222)와 태그(20a) 사이의 거리가
Figure pat00034
이고, 태그 인식 센서(220)와 태그(20a) 사이의 각도가
Figure pat00035
인 경우, 제어부는 태그 인식 센서(222)에서 획득한 태그 인식 정보에 기초하여 현재 무인 비행체(100)의 절대 위치가 (
Figure pat00036
,
Figure pat00037
,
Figure pat00038
,
Figure pat00039
,
Figure pat00040
,
Figure pat00041
)라는 정보를 획득할 수 있다.
동작 403에서, 일 실시예에 따른 무인 비행체의 제어부는 센서부에서 획득된 정보에 기초하여 무인 비행체의 시각적 주행거리 정보 즉, 상대적 위치 정보를 획득할 수 있다. 일 예시로, 상기 제어부는 관성 센서를 통해 획득된 무인 비행체의 관성 정보와 영상 센서(예: 도 3의 영상 센서(223))를 통해 획득된 주행 환경 영상 정보를 스캔 매칭 기법의 일종인 헥터 슬램(hector SLAM)에 적용하여 무인 비행체의 시각적 주행거리 정보(또는 상대적 위치 정보)를 획득할 수 있다. 다른 예시로, 상기 제어부는 상단 카메라 센서(예: 도 3의 상단 카메라 센서(225))에서 측정된 무인 비행체 주행 경로의 상단 영상 정보에 기초하여, 또 다른 시각적 주행거리 정보를 획득할 수도 있으나, 이에 대한 구체적인 설명은 후술하도록 한다.
동작 404에서, 일 실시예에 따른 무인 비행체의 고도 센서(예: 도 3의 고도 센서(224))는, 무인 비행체의 현재 고도(attitude)에 대한 정보를 획득할 수 있으며, 상기 고도 센서에서 획득된 고도 정보는 제어부로 전송될 수 있다.
동작 405에서, 일 실시예에 따른 무인 비행체의 제어부는, 상기 동작 401 내지 동작 404에서 획득된 정보를 확장 칼만 필터에 적용하여, 무인 비행체의 위치를 추정할 수 있다. 일 예시로, 상기 제어부는 동작 401에서 획득한 관성 정보를 확장 칼만 필터의 상태 업데이트에 활용하고, 동작 402 내지 404에서 획득한 절대 위치 정보, 시각적 주행거리 정보, 및/또는 고도 정보는 측정 업데이트에 활용하여, 무인 비행체의 현재 위치를 추정할 수 있다. 이 때, 동작 401, 동작 402, 동작 403, 동작 404이 반드시 순서대로 이루어져야 하는 것은 아니며, 실시예에 따라 상기 동작 401, 동작 402, 동작 403, 동작 404이 동시에 이루어질 수도 있으며, 특정 동작이 우선적으로 이루어질 수도 있다.
도 6은, 일 실시예에 따른 무인 비행체의 시각적 주행거리(visual odometry) 정보를 획득하는 과정을 나타내는 순서도이다.
도 6을 참조하면, 동작 601에서 일 실시예에 따른 무인 비행체(예: 도 2의 무인 비행체(100))의 상단 카메라 센서(예: 도 3의 상단 카메라 센서(225))는, 무인 비행체 주행 경로의 상단 영상 정보를 획득할 수 있으며, 상기 획득된 상단 영상 정보는 제어부(예: 도 3의 제어부(240))로 전송될 수 있다.
동작 602에서, 일 실시예에 따른 무인 비행체의 제어부는, 상기 동작 601에서 획득된 무인 비행체의 상단 영상 정보에 기초하여, 무인 비행체의 시각적 주행거리(visual odometry) 정보 또는 상대 위치 정보를 획득할 수 있다.
일 실시예에 따르면, 제어부는 상기 동작 601에서 획득된 무인 비행체의 상단 영상 정보에 비주얼 슬램(visual SLAM) 알고리즘에 적용하여, 무인 비행체의 상대 위치(relative 6D pose) 정보를 획득할 수 있다. 이 때, 비주얼 슬램(visual SLAM)(또는 VSLAM)은 시각적 데이터 또는 영상을 활용하여 객체의 위치를 인식하고 지도를 작성하는 과정을 의미하며, 비주얼 슬램에서는 시각 데이터 또는 영상의 중요한 점들을 특징점(matching point)으로 추출하고, 상기 특징점에 기초하여 객체의 위치를 추적(tracking)할 수 있다. 일 예시(후술할 도 12a, 12b 참조)로, 상기 제어부는 비주얼 슬램 중 ORB-슬램(oriented fast and rotated brief-SLAM)을 활용하여 무인 비행체의 상대 위치 정보를 획득할 수 있으나, 이에 한정되는 것은 아니다. 즉, 제어부는 앞서 설명한 바와 같이 무인 비행체의 관성 정보와 주행 환경 영상에 기초하여 상대 위치 정보(또는 시각적 주행거리 정보)를 획득할 수도 있으며, 무인 비행체의 주행 경로 상단 영상 정보에 기초하여 상대 위치 정보를 획득할 수도 있다.
상기 제어부는, 상기 동작 602에서 획득한 무인 비행체의 상대 위치 정보를 확장 칼만 필터에 적용하여, 무인 비행체 위치 추정의 정밀성을 높일 수 있다. 상기 제어부는 실시예에 따라, 상기 동작 602에서 획득한 무인 비행체의 상대 위치 정보 중 월드 좌표 정보와 요 각도 정보만 확장 칼만 필터에 적용할 수 있으나, 이에 한정되는 것은 아니다.
도 7은, 일 실시예에 따른 무인 비행체의 횡방향 위치(lateral position) 및 요 각도(yaw angle)을 계산하는 과정을 나타내는 순서도이다.
도 8a는, 일 실시예에 따른 무인 비행체(100)가 주행 경로 하단의 영상을 획득하는 과정을 나타내는 사시도이다. 도 8b는, 주행 경로의 가장자리 정보에 기초하여 횡방향 위치를 계산하는 과정을 나타내는 도면이다. 도 8c는, 주행 경로의 가장자리 정보에 기초하여 요 각도를 계산하는 과정을 나타내는 도면이다.
도 7의 무인 비행체의 횡방향 위치 및 요 각도를 계산하는 동작을 설명함에 있어, 도 8a, 도8b, 및 도 8c의 도면을 참고하여 설명하도록 한다.
도 7, 도 8a, 도 8b, 및 도 8c를 참조하면, 동작 701에서, 일 실시예에 따른 무인 비행체는, 하단 카메라 센서(226)를 통해 무인 비행체(100) 주행 경로의 하단 영상 정보를 획득할 수 있다.
일 실시예에 따르면, 무인 비행체(100)는, 도 8a에 도시된 바와 같이, 랙(10) 사이에 형성되는 복도(13) 상공에서 주행할 수 있으며, 무인 비행체(100)의 몸체(210) 하단에는 하단 카메라 센서(226)가 실장되어, 무인 비행체(100) 주행 경로 하단 즉, 복도(13)의 영상을 획득할 수 있다.
동작 702에서, 일 실시예에 따른 무인 비행체의 제어부는, 상기 동작 701에서 획득한 무인 비행체(100) 주행 경로 하단 영상 정보에서 가장자리 정보를 추출할 수 있다. 일 실시예(도 8b 또는 도 8c 참조)에 따르면, 상기 제어부는 무인 비행체(100) 주행 경로 하단 영상 정보에서 FFT(Fast Fourier Transform) 및 우도(likelihood) 계산 과정을 거쳐 복도(13) 좌측 가장자리(edge 1)와 우측 가장자리(edge 2) 정보를 추출할 수 있다.
동작 703에서, 일 실시예에 따른 무인 비행체의 제어부는, 상기 동작 702에서 추출한 가장자리 정보에 기초하여, 무인 비행체(100)의 횡방향 위치(lateral position) 및/또는 무인 비행체(100)의 요 각도(yaw angle)을 계산할 수 있다.
도 8b를 참조하면, 일 실시예에 따른 제어부는, 무인 비행체(100) 주행 경로 하단 영상의 가상의 중앙선(image center line)과 좌측 가장자리(edge 1)와 우측 가장자리(edge 2) 사이의 가상의 중앙선(edge center line)을 비교하여, 복도(13) 중앙을 기준으로 무인 비행체의 횡방향 위치를 계산할 수 있다.
도 8c를 참조하면, 다른 실시예에 따른 제어부는, 무인 비행체 주행 경로 하단 영상의 가상의 중앙선(image center line)과 좌측 가장자리(edge 1) 또는 우측 가장자리(edge 2) 사이의 각도를 요 각도(Ψ)로 계산할 수 있다.
무인 비행체(100)의 시스템의 불확실성 또는 센서부(예: 도 3의 센서부(220))의 불확실성으로 인하여 횡방향 위치 또는 요 각도 등이 실제 위치 또는 요 각도와 다르게 추정되는 경우, 실제 무인 비행체(100)는 지정된 주행 경로를 따라 안정적으로 주행하고 있다고 하더라도 상기 제어부에서는 무인 비행체(100)의 안정성을 확보하기 위하여 무인 비행체(100)의 주행 방향이 좌측 또는 우측 방향으로 변경되도록 제어할 수 밖에 없다. 상술한 제어 과정에 의해, 무인 비행체(100)는 랙(10)에 충돌하여 파손 또는, 지정된 주행 경로와 다른 경로로 주행하는 경우가 발생할 수 있다. 일 실시예에 따른 제어부는, 상기 동작 703에서 계산된 무인 비행체(100)의 횡방향 위치 및/또는 요 각도를 확장 칼만 필터에 적용할 수 있으며, 상술한 과정을 통해 무인 비행체(100) 위치 추정 값의 드리프트(drift)를 효율적으로 제거할 수 있다.
도 9는, 일 실시예에 따른 무인 비행체에서 센서부에서 획득된 정보를 아웃라이어(outlier)로 분류하는 과정을 나타내는 순서도이다.
도 9를 참조하면, 동작 901에서 일 실시예에 따른 무인 비행체(예: 도 2의 무인 비행체(100))의 제어부(예: 도 3의 제어부(240))는, 센서부(예: 도 3의 센서부(220))를 통해 직·간접적으로 획득된 무인 비행체의 절대 위치 정보, 상대 위치 정보에 대한 마할라노비스 거리(mahalanobis distance)를 지속적으로 계산할 수 있다. 본 개시에서 마할라노비스 거리는 평균과의 거리가 표준편차의 몇 배인지를 나타내는 값을 의미한다. 상기 제어부에서는 하기 수학식 9를 이용하여 센서부에서 획득된 정보에 대한 마할라노비스 거리(M)를 계산할 수 있다.
Figure pat00042
이 때, z는 측정 벡터(measurement vector)를 의미하고, H는 선형화된 측정 행렬(linearized measurement matrix)를 의미하며, S는 상태 공분산 행렬(covariance matrix)를 의미하고,
Figure pat00043
는 상태 예측값(state prediction)을 의미한다.
동작 902에서, 일 실시예에 따른 무인 비행체의 제어부는, 상기 동작 901에서 계산된 센서부에서 획득된 정보에 대한 마할라노비스 거리와 지정된 값(threshold)을 비교할 수 있다. 일 예시로, 상기 제어부는, 태그 인식 센서(예: 도 3의 태그 인식 센서(222))를 통해 획득된 무인 비행체의 요 각도, 피치 각도, 롤 각도 정보에 대한 마할라노비스 거리와 지정된 값을 비교할 수 있다. 다른 예시로, 제어부는, 상술한 도 7의 계산 과정을 통해 계산된 무인 비행체의 횡방향 위치, 요 각도 정보에 대한 마할라노비스 거리와 지정된 값을 비교할 수 있다. 즉, 상기 제어부는, 특정 정보에 대한 마할라노비스 거리와 지정된 값을 비교하여, 상기 특정 정보가 제대로 된 정보인지 여부를 판단할 수 있다.
동작 903에서, 일 실시예에 따른 무인 비행체의 제어부는, 상기 동작 902에서의 특정 정보(예: 횡방향 위치, 요 각도)에 대한 마할라노비스 거리가 지정된 값 이상인 경우, 해당 정보를 아웃라이어(outlier)(또는 "이상치")로 분류할 수 있다. 일 예시로, 제어부는 무인 비행체의 횡방향 위치 정보에 대한 마할라노비스 거리가 지정된 값 이상인 경우, 해당 횡방향 위치 정보가 아웃라이어로 분류할 수 있다. 일 실시예에 따르면, 지정된 값은 정보의 종류에 따라 달리 설정될 수 있다. 일 예시로, 횡방향 위치 정보에 대한 지정된 값과 요 각도 정보에 대한 지정된 값이 다르게 설정될 있으나, 이에 한정되는 것은 아니다.
동작 904에서, 일 실시예에 따른 무인 비행체의 제어부는, 상기 동작 903에서 아웃라이어로 분류된 정보는 확장 칼만 필터에 적용하지 않음으로써, 무인 비행체의 위치 추정 과정에서 아웃라이어를 제거할 수 있다.
일 실시예에 따른 제어부는, 상기 동작 903에서 특정 정보에 대한 마할라노비스 거리가 지정된 값보다 작은 것으로 확인되는 경우, 해당 정보는 정상 데이터인 것으로 판단할 수 있으며, 상기 제어부는 동작 905에서 해당 정보를 확장 칼만 필터에 적용하여, 무인 비행체 위치 추정의 정확성을 높이는데 활용할 수 있다.
즉, 일 실시예에 따른 무인 비행체는 센서부를 통해 획득되는 무인 비행체의 위치 정보에 대한 마할라노비스 거리를 지속적으로 계산하고, 계산된 마할라노비스 거리에 기초하여 특정 위치 정보가 아웃라이어(outlier)인지 여부를 판단할 수 있다. 상기 무인 비행체는 아웃라이어로 분류된 위치 정보는 확장 칼만 필터에 적용하지 않음으로써, 무인 비행체 위치 추정 과정에서 센서부의 불확실성으로 인해 야기되는 아웃라이어를 제거할 수 있다.
도 10a는, 아웃라이어를 제거하지 않은 상태에서의 무인 비행체의 요 각도 추정 결과를 나타내는 그래프이다. 도 10b는, 아웃라이어를 제거한 상태에서의 무인 비행체의 요 각도 추정 결과를 나타내는 그래프이다.
일 실시예에 따른 무인 비행체(예: 도 2의 무인 비행체(100))는 태그 인식 센서(예: 도 3의 태그 인식 센서(222))를 통해 무인 비행체의 절대 위치 정보를 획득할 수 있고, 획득한 절대 위치 정보를 확장 칼만 필터에 적용하여 무인 비행체의 위치를 추정할 수 있다. 일 예시로, 무인 비행체는 태그 인식 센서를 통해 획득한 무인 비행체의 요 각도 정보를 확장 칼만 필터에 적용하여, 무인 비행체의 요 각도를 추정할 수 있다. 일 실시예에 따른, 무인 비행체는 상기 요 각도 정보를 확장 칼만 필터에 적용하기에 앞서 상기 요 각도 정보에 대한 마할라노비스 거리를 계산할 수 있다. 상기 무인 비행체는 계산된 마할라노비스 거리에 기초하여 상기 요 각도 정보가 아웃라이어(outlier)인지 여부를 판단할 수 있으며, 상기 요 각도 정보가 아웃라이어가 아닌 것으로 판단되는 경우에만 상기 요 각도 정보를 확장 칼만 필터에 적용할 수 있다.
도 10a를 참조하면, 태그 인식 센서를 통해 획득한 무인 비행체의 요 각도 정보를 별도의 구분 과정 없이 모두 확장 칼만 필터에 적용하는 경우에는, 아웃라이어(outlier) 값에 의해 확장 칼만 필터의 추정 요 각도 값과 참조 값(reference) 사이의 큰 오차(E1)가 발생할 수 있다. 반면, 도 10b를 참조하면, 태그 인식 센서를 통해 획득한 무인 비행체의 요 각도 정보 중 아웃라이어를 제외한 요 각도 정보만을 확장 칼만 필터에 적용하는 경우에는, 확장 칼만 필터의 추정 요 각도 값과 참조 값(reference) 사이의 오차(E2)가 아웃라이어를 제거하지 않았을 때(예: 도 10a의 E1)에 비해 상대적으로 줄어들 수 있다. 즉, 무인 비행체는 상술한 바와 같이 센서부에서 획득된 정보 중 아웃라이어에 해당하는 정보는 제거함으로써, 무인 비행체의 현재 위치를 보다 정밀하게 추정할 수 있다.
도 11은, 일 실시예에 따른 무인 비행체에서 비주얼 슬램(Visual SLAM) 알고리즘으로부터 가상의 공분산을 계산하고, 계산된 가상의 공분산을 확장 칼만 필터에 적용하는 과정을 나타내는 순서도이다.
도 12a는 일 실시예에 따른 무인 비행체에서 비주얼 슬램(Visual SLAM) 알고리즘의 매칭 포인트를 추출하는 과정을 나타내는 도면이다. 도 12b는 또 다른 실시예에 따른 무인 비행체에서 매칭 포인트를 추출하는 과정을 나타내는 도면이다.
도 11의 가상의 공분산을 계산하는 동작을 설명함에 있어, 도 12a, 및 도 12b의 도면을 참고하여 설명하도록 한다.
상술한 도 6의 무인 비행체(예: 도 2의 무인 비행체(100))의 시각적 주행거리(visual odometry) 정보를 획득하는 과정을 참조하면, 무인 비행체는 상단 카메라 센서(예: 도 3의 상단 카메라 센서(225))를 통해 획득한 주행 경로 상단 영상 정보를 비주얼 슬램(visual SLAM) 알고리즘에 적용하여, 무인 비행체의 시각적 주행거리 정보(또는 상대 위치 정보)를 획득할 수 있다.
무인 비행체의 비행 중에 외란(disturbance)이 발생할 수 있는데, 일 실시예에 따른 무인 비행체는 Visual SLAM 알고리즘을 통해 가상의 공분산(pseudo-covariance)를 생성함으로써, 무인 비행체의 비행 중에 발생하는 외란에 의한 영향을 최소화할 수 있다.
도 11을 참조하면, 동작 1101에서 일 실시예에 따른 무인 비행체의 제어부는, 상단 카메라 센서에서 획득된 무인 비행체 주행 경로 상단 영상 정보를 비주얼 슬램(visual SLAM) 알고리즘에 적용하고, 비주얼 슬램 알고리즘을 통해 추출된 무인 비행체 주행 경로 상단 영상 내의 매칭 포인트(matching point)들에 기초하여, 가상의 공분산을 생성할 수 있다.
도 12a 또는 도 12b를 참조하면, 일 실시예에 따른 무인 비행체의 제어부는, 무인 비행체 주행 경로 상단 영상 정보를 비주얼 슬램의 일종인 ORB-슬램(ORB-SLAM) 알고리즘에 적용할 수 있다. ORB-슬램의 결과로 주행 경로 상단 영상 정보로부터 복수의 매칭 포인트(matching point)(예: 도 12a, 도 12b의 검은색 point)이 추출될 수 있으며, 일 실시예에 따른 제어부는 ORB-슬램의 결과로 주행 경로 상단 영상 정보에서 추출되는 매칭 포인트의 개수 활용하여 가상의 공분산을 생성할 수 있다. 즉, 상기 제어부는 주행 경로 상단 영상 정보에서 추출되는 매칭 포인트의 개수에 따라 각기 다른 가상의 공분산을 생성할 수 있다. 제어부는 일 예시(도 12a)로 주행 경로 상단 영상 정보에서 추출되는 매칭 포인트의 개수가 N1개인 경우, 제1 가상의 공분산을 생성할 수 있으며, 다른 예시(도 12b)로 주행 경로 상단 영상 정보에서 추출되는 매칭 포인트의 개수가 N2개인 경우, 제2 가상의 공분산을 생성할 수 있다.
동작 1102에서, 일 실시예에 따른 무인 비행체의 제어부는, 상기 동작 1101에서 생성된 가상의 공분산을 확장 칼만 필터에 적용함으로써, 무인 비행체의 상승 또는 하강 과정에서 발생하는 외란이 무인 비행체 위치 추정 결과에 영향을 끼치는 것을 최소화할 수 있다.
특정 정보(예: 무인 비행체의 횡방향 위치, 요 각도 정보)를 확장 칼만 필터에 적용하기 위해서는 상술한 바와 같이 공분산이 필수적이다. 다만, 비주얼 슬램(예: ORB-슬램) 알고리즘의 결과로 상기 특정 정보에 대한 공분산 데이터는 제공되지 않으므로, 일 실시예에 따른 무인 비행체는 상기 동작 1101을 통해 가상의 공분산을 생성하고, 상기 동작 1102를 통해 생성된 가상의 공분산을 확장 칼만 필터 적용 시 활용할 수 있다.
도 13a는, 확장 칼만 필터에 가상의 공분산을 적용하지 않은 상태에서의 무인 비행체의 횡방향 위치 추정 결과를 나타내는 그래프이다. 도 13b는, 확장 칼만 필터에 가상의 공분산을 적용한 상태에서의 무인 비행체의 횡방향 위치 추정 결과를 나타내는 그래프이다.
일 실시예에 따른 무인 비행체(예: 도 2의 무인 비행체(100))는, 상단 카메라 센서(예: 도 3의 상단 카메라 센서(225))를 통해 획득한 주행 경로 상단 영상 정보에 기초하여 무인 비행체의 횡방향 위치(lateral position) 정보를 획득할 수 있다. 상술한 무인 비행체의 횡방향 위치 정보 획득 과정은 도 6의 무인 비행체의 시각적 주행거리(visual odometry) 정보를 획득하는 과정과 동일 또는 유사하므로, 이하에서는 중복되는 설명하도록 한다.
무인 비행체의 수직 방향으로 승강 또는 하강 주행하는 과정에서 외란(disturbance)이 발생할 가능성이 높으며, 발생된 외란은 무인 비행체 위치 추정 결과에 영향을 줄 수 있다. 일 실시예에 따른 무인 비행체는 상술한 도 11의 가상의 공분산을 계산 과정을 통해 가상의 공분산을 계산하고, 계산된 가상의 공분산을 확장 칼만 필터에 적용함으로써, 외란에 의한 영향을 줄일 수 있다.
도 13a를 참조하면, 확장 칼만 필터에 가상의 공분산을 적용하지 않은 경우, 무인 비행체가 승강 또는 하강 시점에서 확장 칼만 필터를 통한 무인 비행체의 횡방향 위치 추정 값(estimated value)과 ORM-슬램 또는 태그 인식을 통해 획득되는 횡방향 위치 정보 사이에 유의미한 오차가 발생할 수 있다.
반면, 도 13b를 참조하면, 확장 칼만 필터에 가상의 공분산을 적용하는 경우, 무인 비행체가 승강 또는 하강 시점에서의 확장 칼만 필터를 통한 무인 비행체의 횡방향 위치 추정 값(estimated value)과 ORM-슬램 또는 태그 인식을 통해 획득되는 횡방향 위치 정보 사이의 오차가 확장 칼만 필터에 가상의 공분산을 적용하지 않는 경우(예: 도 13a)에 비해 줄어들 수 있다. 즉, 도 13a 및 도 13b의 그래프를 통해 일 실시예에 따른 무인 비행체의 가상의 공분산을 생성하고, 생성된 가상의 공분산을 확장 칼만 필터에 적용하는 과정이 무인 비행체 위치 추정 과정에서 발생할 수 있는 외란의 영향을 줄일 수 있다는 것을 확인할 수 있다.
도 14a는, 무인 비행체가 전방 태그만 인식하는 경우, 무인 비행체의 절대 위치를 파악하기 위해 필요한 태그 부착 위치를 나타내는 도면이다. 도 14b는, 무인 비행체가 전방 태그와 후방 태그를 모두 인식하는 경우, 무인 비행체의 절대 위치를 파악하기 위해 필요한 태그 부착 위치를 나타내는 도면이다.
일 실시예에 따른 무인 비행체(예: 도 2의 무인 비행체(100))는 무인 비행체의 전방에 위치한 태그(40a, 40b, 40c, 40d, 40e)를 인식하는 제1 태그 인식 센서(미도시)와 무인 비행체의 후방에 위치한 태그(41a, 41b, 41c, 41d, 41e)를 인식하는 제2 태그 인식 센서(미도시)를 포함할 수 있다.
도 14a를 참조하면, 일 실시예에 따른 무인 비행체에 하나의 태그 인식 센서가 구비되어, 전방 또는 후방 중 어느 일 방향에 위치한 태그만을 인식할 수 있는 경우, 무인 비행체의 절대 위치 파악을 위해서는 제1 랙(10a)에는 제1-1 태그(40a), 제1-2 태그(40b), 제1-3 태그(40c), 제1-4 태그(40d), 제1-5 태그(40e)가 부착되어야 하며, 상기 제1 랙(10a)과 마주보는 방향에 위치한 제2 랙(10b)에는 제2-1 태그(41a), 제2-2 태그(41b), 제2-3 태그(41c), 제2-4 태그(41d), 제2-5 태그(41e)가 부착되어야 한다.
랙(10a, 10b)에 부착된 태그를 인식하여 무인 비행체의 절대 위치 정보를 획득하기 위해서는, 랙(10a, 10b)의 지정된 위치마다 태그가 부착되어 있어야 하므로, 무인 비행체에 하나의 태그 인식 센서만 구비되어 있는 경우에는 제1 랙(10a)의 지정된 위치에 복수의 태그(40a, 40b, 40c, 40d, 40e)가 부착되어야 하고, 제2 랙(10b)의 지정된 위치에도 복수의 태그(41a, 41b, 41c, 41d, 41e)가 부착되어야 한다.
반면, 다른 실시예에 따른 무인 비행체가 무인 비행체의 전방의 태그를 인식할 수 있는 제1 태그 인식 센서와 후방의 태그를 인식할 수 있는 제2 태그 인식 센서를 포함하는 경우, 무인 비행체에 하나의 태그 인식 센서만 구비되어 있는 경우와 비교하였을 때, 제1 랙(10a)과 제2 렉(10b)에 부착되는 태그의 개수를 절반으로 줄일 수 있다.
도 14b를 참조하면, 무인 비행체가 상기 제1 태그 인식 센서와 제2 태그 인식 센서를 포함하는 경우, 상기 무인 비행체는 제1 랙(10a)에 부착된 제1-1 태그(40a) 또는 제2 랙(10b)의 상기 제1-1 태그(40a)와 마주보는 방향에 부착된 제2-1 태그(40a) 중 어느 하나의 태그만을 인식하여 무인 비행체의 절대 위치 정보를 획득할 수 있다.
즉, 상기 무인 비행기는 제1 랙(10a)에 부착된 제1-1 태그(40a) 또는 제2 랙(10b)에 부착된 제2-1 태그(41a) 중 어느 하나만으로도 현재 무인 비행체의 절대 위치 정보를 파악할 수 있으므로, 제1 랙(10a)에 부착된 제1-1 태그(40a) 또는 제2 랙(10b)에 부착된 제2-1 태그(41a) 중 어느 하나를 제거할 수 있다. 상술한 바와 동일한 이유로 제1-2 태그(40b)와 제2-2 태그(41b) 중 어느 하나의 태그를 제거할 수 있으며, 제1-3 태그(40c)와 제2-3 태그(41c), 제1-4 태그(40d)와 제2-4 태그(41d), 및/또는 제1-5 태그(40e)와 제2-5 태그(41e) 중 어느 하나의 태그를 제거할 수 있다.
즉, 일 실시예에 따른 무인 비행체는 제1 태그 인식 센서와 제2 태그 인식 센서를 포함하여, 무인 비행체의 절대 위치 인식에 필요한 태그의 개수를 절반으로 줄일 수 있으며, 이를 통해 시스템 구축에 필요한 비용을 절감할 수 있다.
본 개시의 일 실시예에 따른 무인 비행체(예: 도 2의 무인 비행체(100))는, 무인 비행체(UAV)에 있어서, 상기 무인 비행체의 관성 정보 또는 위치 정보를 획득하는 센서부(예: 도 3의 센서부(220)), 및 상기 센서부에서 획득된 정보를 확장 칼만 필터(extended kalman filter)에 적용하여 상기 무인 비행체의 위치를 추정하고, 상기 추정된 무인 비행체의 위치에 기초하여 상기 무인 비행체의 주행을 제어하는 제어부(예: 도 3의 제어부(240))를 포함하며, 상기 센서부는, 상기 무인 비행체의 관성 정보를 획득하는 관성 센서(예: 도 3의 관성 센서(221)), 고정 장소(예: 도 1의 랙(10))에 부착된 태그(tag)를 인식하여, 상기 무인 비행체의 절대 위치 정보를 획득하는 태그 인식 센서(예: 도 3의 태그 인식 센서(222)), 및 상기 무인 비행체에 부착되어, 상기 무인 비행체의 주행 환경 영상을 획득하는 영상 센서(예: 도 3의 영상 센서(223))를 포함할 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 획득된 무인 비행체의 절대 위치 정보 또는 무인 비행체의 주행 환경 영상에 기초하여, 상기 무인 비행체의 제1 시각적 주행거리(visual odometry) 정보를 계산하도록 구성될 수 있다.
일 실시예에 따르면, 상기 제어부는, 스캔 매칭(예: 헥터 슬램(hector SLAM))을 활용하여, 상기 무인 비행체의 제1 시각적 주행거리 정보를 계산하도록 구성될 수 있다.
일 실시예에 따르면, 상기 센서부는, 상기 무인 비행체의 고도(altitude) 정보를 획득하는 고도 센서(예: 도 3의 고도 센서(224))를 더 포함할 수 있다.
일 실시예에 따르면, 상기 센서부는, 상기 무인 비행체에 부착되어, 상기 무인 비행체의 상단 영상 정보를 획득하는 상단 카메라 센서(예: 도 3의 상단 카메라 센서(225))를 더 포함할 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 획득된 무인 비행체의 상단 영상 정보에 기초하여, 상기 무인 비행체의 제2 시각적 주행거리(visual odometry) 정보를 계산하도록 구성될 수 있다.
일 실시예에 따르면, 상기 센서부는, 상기 무인 비행체에 부착되어, 상기 무인 비행체의 하단 영상 정보를 획득하는 하단 카메라 센서(예: 도 3의 하단 카메라 센서(226))를 더 포함할 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 획득된 무인 비행체의 하단 영상 정보에 기초하여, 상기 무인 비행체의 주행 경로 하단의 가장자리(edge) 정보를 추출하고, 상기 추출된 가장자리 정보에 기초하여, 상기 무인 비행체의 횡방향 위치 또는 요 각도(yaw angle)를 계산하도록 구성될 수 있다.
일 실시예에 따르면, 상기 제어부는, 비주얼 슬램(visual SLAM) 알고리즘을 이용하여, 상기 무인 비행체의 상단 영상 정보로부터 가상 공분산(pseudo covariance)을 계산하고, 상기 계산된 가상 공분산을 확장 칼만 필터에 적용할 수 있도록 구성될 수 있다.
일 실시예에 따르면, 상기 비주얼 슬램 알고리즘은, ORB-슬램(ORB-SLAM) 알고리즘일 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 센서부에서 획득된 정보에 대한 마할라노비스 거리(mahalanobis distance)를 계산하고, 상기 계산된 마할라노비스 거리가 지정된 값 이상인 경우, 상기 획득된 정보를 아웃라이어(outlier)로 분류하도록 구성될 수 있다.
일 실시예에 따르면, 물체에 부착된 바코드를 인식하는 바코드 리더(예: 도 3의 바코드 리더(230))를 더 포함할 수 있다.
일 실시예에 따르면, 상기 태그 인식 센서는, 상기 무인 비행체의 전방의 태그를 인식하는 제1 태그 인식 센서(미도시), 및 상기 무인 비행체의 후방의 태그를 인식하는 제2 태그 인식 센서(미도시)를 포함할 수 있다.
일 실시예에 따르면, 상기 영상 센서는, 2D 레이더(2D lidar), 3D 레이더(3D lidar), RGB-D 센서, 카메라 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 방법은, 무인 비행체의 관성 정보를 획득하는 동작, 태그 인식 센서를 통해 고정 장소에 부착된 태그(tag)를 인식하여, 상기 무인 비행체의 절대 위치 정보를 획득하는 동작, 상기 획득된 무인 비행체의 절대 위치 정보 또는 영상 센서를 통해 획득된 무인 비행체의 주행 환경 영상에 기초하여, 상기 무인 비행체의 제1 시각적 주행거리(visual odometry) 정보를 획득하는 동작, 및 상기 획득된 무인 비행체의 절대 위치 정보, 제1 시각적 주행거리 정보를 확장 칼만 필터(extended kalman filter)에 적용하여 상기 무인 비행체의 위치를 추정하는 동작을 포함할 수 있다.
일 실시예에 따르면, 고도 센서를 통해 상기 무인 비행체의 고도(altitude) 정보를 획득하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상단 카메라 센서를 통해 상기 무인 비행체의 상단 영상 정보를 획득하는 동작, 및 상기 획득된 무인 비행체의 상단 영상 정보에 기초하여, 상기 무인 비행체의 제2 시각적 주행거리(visual odometry) 정보를 계산하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 하단 카메라 센서를 통해 상기 무인 비행체의 하단 영상 정보를 획득하는 동작, 상기 획득된 무인 비행체의 하단 영상에 기초하여, 상기 무인 비행체의 주행 경로 하단의 가장자리(edge) 정보를 추출하는 동작, 및 상기 추출된 가장자리 정보에 기초하여, 상기 무인 비행체의 횡방향 위치 또는 요 각도(yaw angle)를 계산하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 비주얼 슬램(visual SLAM) 알고리즘을 이용하여, 상기 무인 비행체의 상단 영상 정보로부터 가상 공분산(pseudo covariance)을 계산하고, 상기 계산된 가상 공분산을 확장 칼만 필터에 적용하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 계산된 무인 비행체의 제1 시각적 주행거리, 제2 시각적 주행거리, 횡방향 위치, 요 각도 정보 또는 상기 획득된 절대 위치 정보에 대한 마할라노비스 거리(mahalanobis distance)를 계산하는 동작, 및 마할라노비스 거리가 지정된 값 이상인 정보를 아웃라이어(outlier)로 분류하는 동작을 더 포함할 수 있다.
상술한 본 개시의 구체적인 실시예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편, 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위 뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 무인 비행체(UAV)에 있어서,
    상기 무인 비행체의 관성 정보 또는 위치 정보를 획득하는 센서부; 및
    상기 센서부에서 획득된 정보를 확장 칼만 필터(extended kalman filter)에 적용하여 상기 무인 비행체의 위치를 추정하고, 상기 추정된 무인 비행체의 위치에 기초하여 상기 무인 비행체의 주행을 제어하는 제어부;를 포함하며,
    상기 센서부는,
    상기 무인 비행체의 관성 정보를 획득하는 관성 센서;
    고정 장소에 부착된 태그(tag)를 인식하여, 상기 무인 비행체의 절대 위치 정보를 획득하는 태그 인식 센서; 및
    상기 무인 비행체에 부착되어, 상기 무인 비행체의 주행 환경 영상을 획득하는 영상 센서;를 포함하는 무인 비행체.
  2. 제1항에 있어서,
    상기 제어부는,
    상기 획득된 무인 비행체의 절대 위치 정보 또는 무인 비행체의 주행 환경 영상에 기초하여, 상기 무인 비행체의 제1 시각적 주행거리(visual odometry) 정보를 계산하도록 구성되는 무인 비행체.
  3. 제2항에 있어서,
    상기 제어부는,
    스캔 매칭 알고리즘을 활용하여, 상기 무인 비행체의 제1 시각적 주행거리 정보를 계산하도록 구성되는 무인 비행체.
  4. 제1항에 있어서,
    상기 센서부는,
    상기 무인 비행체의 고도(altitude) 정보를 획득하는 고도 센서;를 더 포함하는 무인 비행체.
  5. 제1항에 있어서,
    상기 센서부는,
    상기 무인 비행체에 부착되어, 상기 무인 비행체의 상단 영상 정보를 획득하는 상단 카메라 센서;를 더 포함하는 무인 비행체.
  6. 제5항에 있어서,
    상기 제어부는,
    상기 획득된 무인 비행체의 상단 영상 정보에 기초하여, 상기 무인 비행체의 제2 시각적 주행거리(visual odometry) 정보를 계산하도록 구성되는 무인 비행체.
  7. 제1항에 있어서,
    상기 센서부는,
    상기 무인 비행체에 부착되어, 상기 무인 비행체의 하단 영상 정보를 획득하는 하단 카메라 센서;를 더 포함하는 무인 비행체.
  8. 제7항에 있어서,
    상기 제어부는,
    상기 획득된 무인 비행체의 하단 영상 정보에 기초하여, 상기 무인 비행체의 주행 경로 하단의 가장자리(edge) 정보를 추출하고,
    상기 추출된 가장자리 정보에 기초하여, 상기 무인 비행체의 횡방향 위치(lateral position) 또는 요 각도(yaw angle)를 계산하도록 구성되는 무인 비행체.
  9. 제6항에 있어서,
    상기 제어부는,
    비주얼 슬램(visual SLAM) 알고리즘을 이용하여, 상기 무인 비행체의 상단 영상 정보로부터 가상 공분산(pseudo covariance)을 계산하고,
    상기 계산된 가상 공분산을 확장 칼만 필터에 적용할 수 있도록 구성되는 무인 비행체.
  10. 제9항에 있어서,
    상기 비주얼 슬램 알고리즘은, ORB-슬램(ORB-SLAM) 알고리즘인 무인 비행체.
  11. 제8항에 있어서,
    상기 제어부는,
    상기 센서부에서 획득된 정보에 대한 마할라노비스 거리(mahalanobis distance)를 계산하고,
    상기 계산된 마할라노비스 거리가 지정된 값 이상인 경우, 상기 획득된 정보를 아웃라이어(outlier)로 분류하도록 구성되는 무인 비행체.
  12. 제1항에 있어서,
    물체에 부착된 바코드를 인식하는 바코드 리더;를 더 포함하는 무인 비행체.
  13. 제1항에 있어서,
    상기 태그 인식 센서는,
    상기 무인 비행체의 전방의 태그를 인식하는 제1 태그 인식 센서; 및
    상기 무인 비행체의 후방의 태그를 인식하는 제2 태그 인식 센서;를 포함하는 무인 비행체.
  14. 제1항에 있어서,
    상기 영상 센서는,
    2D 레이더(2D lidar), 3D 레이더(3D lidar), RGB-D 센서, 카메라 중 적어도 하나를 포함하는 무인 비행체.
  15. 무인 비행체의 관성 정보를 획득하는 동작;
    태그 인식 센서를 통해 고정 장소에 부착된 태그(tag)를 인식하여, 상기 무인 비행체의 절대 위치 정보를 획득하는 동작;
    상기 획득된 무인 비행체의 절대 위치 정보 또는 영상 센서를 통해 획득된 무인 비행체의 주행 환경 영상에 기초하여, 상기 무인 비행체의 제1 시각적 주행거리(visual odometry) 정보를 획득하는 동작; 및
    상기 획득된 무인 비행체의 절대 위치 정보, 제1 시각적 주행거리 정보를 확장 칼만 필터(extended kalman filter)에 적용하여 상기 무인 비행체의 위치를 추정하는 동작을 포함하는 방법.
  16. 제15항에 있어서,
    고도 센서를 통해 상기 무인 비행체의 고도(altitude) 정보를 획득하는 동작;을 더 포함하는 방법.
  17. 제15항에 있어서,
    상단 카메라 센서를 통해 상기 무인 비행체의 상단 영상 정보를 획득하는 동작; 및
    상기 획득된 무인 비행체의 상단 영상 정보에 기초하여, 상기 무인 비행체의 제2 시각적 주행거리(visual odometry) 정보를 계산하는 동작;을 더 포함하는 방법.
  18. 제17항에 있어서,
    하단 카메라 센서를 통해 상기 무인 비행체의 하단 영상 정보를 획득하는 동작;
    상기 획득된 무인 비행체의 하단 영상에 기초하여, 상기 무인 비행체의 주행 경로 하단의 가장자리(edge) 정보를 추출하는 동작; 및
    상기 추출된 가장자리 정보에 기초하여, 상기 무인 비행체의 횡방향 위치(lateral position) 또는 요 각도(yaw angle)를 계산하는 동작;을 더 포함하는 방법.
  19. 제17항에 있어서,
    비주얼 슬램(visual SLAM) 알고리즘을 이용하여, 상기 무인 비행체의 상단 영상 정보로부터 가상 공분산(pseudo covariance)을 계산하고,
    상기 계산된 가상 공분산을 확장 칼만 필터에 적용하는 동작;을 더 포함하는 방법.
  20. 제18항에 있어서,
    상기 계산된 무인 비행체의 제1 시각적 주행거리, 제2 시각적 주행거리, 횡방향 위치, 요 각도 정보 또는 상기 획득된 절대 위치 정보에 대한 마할라노비스 거리(mahalanobis distance)를 계산하는 동작; 및
    마할라노비스 거리가 지정된 값 이상인 정보를 아웃라이어(outlier)로 분류하는 동작;을 더 포함하는 방법.
KR1020190110856A 2019-09-06 2019-09-06 멀티 센서 기반의 무인 비행체 및 그 제어 방법 KR20210029518A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190110856A KR20210029518A (ko) 2019-09-06 2019-09-06 멀티 센서 기반의 무인 비행체 및 그 제어 방법
US17/013,465 US11619952B2 (en) 2019-09-06 2020-09-04 Multi-sensor-based unmanned aerial vehicle and method for controlling same
PCT/KR2020/011980 WO2021045577A1 (en) 2019-09-06 2020-09-04 Multi-sensor-based unmanned aerial vehicle and method for controlling same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190110856A KR20210029518A (ko) 2019-09-06 2019-09-06 멀티 센서 기반의 무인 비행체 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20210029518A true KR20210029518A (ko) 2021-03-16

Family

ID=74850090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190110856A KR20210029518A (ko) 2019-09-06 2019-09-06 멀티 센서 기반의 무인 비행체 및 그 제어 방법

Country Status (3)

Country Link
US (1) US11619952B2 (ko)
KR (1) KR20210029518A (ko)
WO (1) WO2021045577A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113639752A (zh) * 2021-07-31 2021-11-12 北京晟天行科技有限公司 一种无人机实时定位信号的传输控制方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893004B2 (en) * 2020-08-26 2024-02-06 Ford Global Technologies, Llc Anomaly detection in multidimensional sensor data
CN113961012B (zh) * 2021-09-24 2023-09-22 中国航空工业集团公司沈阳飞机设计研究所 一种基于ekf滤波降噪的增量动态逆控制方法
CN115235475B (zh) * 2022-09-23 2023-01-03 成都凯天电子股份有限公司 一种基于mcc的ekf-slam后端导航路径优化方法
CN116301058B (zh) * 2023-05-11 2023-08-04 中国空气动力研究与发展中心空天技术研究所 一种无人飞行反馈非线性偏航控制方法、***和设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2885676B1 (en) * 2012-08-17 2020-01-08 Perspective Robotics AG Flying camera with string assembly for localization and interaction
FR3000813B1 (fr) * 2013-01-04 2016-04-15 Parrot Drone a voilure tournante comprenant des moyens de determination autonome de position dans un repere absolu lie au sol.
US9067671B2 (en) * 2013-07-25 2015-06-30 Disney Enterprises, Inc. Visual localization of unmanned aerial vehicles based on marker detection and processing
CN106030431B (zh) * 2014-08-15 2017-11-03 深圳市大疆创新科技有限公司 传感器的自动标定***及方法
JP6221158B2 (ja) * 2014-08-27 2017-11-01 本田技研工業株式会社 自律行動ロボット、及び自律行動ロボットの制御方法
WO2016033796A1 (en) * 2014-09-05 2016-03-10 SZ DJI Technology Co., Ltd. Context-based flight mode selection
CN112859899A (zh) * 2014-10-31 2021-05-28 深圳市大疆创新科技有限公司 用于利用视觉标记进行监视的***和方法
US9964951B1 (en) * 2015-09-25 2018-05-08 Amazon Technologies, Inc. Fiducial-based navigation of unmanned vehicles
US10008123B2 (en) * 2015-10-20 2018-06-26 Skycatch, Inc. Generating a mission plan for capturing aerial images with an unmanned aerial vehicle
US10665115B2 (en) * 2016-01-05 2020-05-26 California Institute Of Technology Controlling unmanned aerial vehicles to avoid obstacle collision
US10435176B2 (en) * 2016-05-25 2019-10-08 Skydio, Inc. Perimeter structure for unmanned aerial vehicle
FR3054324A1 (fr) * 2016-07-20 2018-01-26 Universite de Bordeaux Systeme de guidage pour guider un aeronef le long d'au moins une portion de route aerienne
WO2018035482A1 (en) 2016-08-19 2018-02-22 Intelligent Flying Machines, Inc. Robotic drone
US11164149B1 (en) * 2016-08-31 2021-11-02 Corvus Robotics, Inc. Method and system for warehouse inventory management using drones
US10578457B2 (en) * 2016-09-15 2020-03-03 Syracuse University Robust and stable autonomous vision-inertial navigation system for unmanned vehicles
JP6275887B2 (ja) 2017-01-05 2018-02-07 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd センサ較正方法及びセンサ較正装置
US10067513B2 (en) * 2017-01-23 2018-09-04 Hangzhou Zero Zero Technology Co., Ltd Multi-camera system and method of use
US10788830B2 (en) * 2017-07-28 2020-09-29 Qualcomm Incorporated Systems and methods for determining a vehicle position
JP6487010B2 (ja) * 2017-10-26 2019-03-20 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd ある環境内で無人航空機を制御する方法、ある環境のマップを生成する方法、システム、プログラムおよび通信端末
KR20190054755A (ko) 2017-11-14 2019-05-22 주식회사 서틴스플로어 드론용 카메라 시스템
KR102067322B1 (ko) 2017-12-06 2020-01-20 한울 주식회사 물류 창고 제어 시스템
US10907971B2 (en) * 2017-12-08 2021-02-02 Regents Of The University Of Minnesota Square root inverse Schmidt-Kalman filters for vision-aided inertial navigation and mapping
US11453513B2 (en) * 2018-04-26 2022-09-27 Skydio, Inc. Autonomous aerial vehicle hardware configuration
US11287835B2 (en) * 2019-03-21 2022-03-29 Wing Aviation Llc Geo-fiducials for UAV navigation
US11662739B2 (en) * 2019-06-03 2023-05-30 Zebra Technologies Corporation Method, system and apparatus for adaptive ceiling-based localization
US11192248B2 (en) * 2019-07-11 2021-12-07 Invia Robotics, Inc. Predictive robotic obstacle detection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113639752A (zh) * 2021-07-31 2021-11-12 北京晟天行科技有限公司 一种无人机实时定位信号的传输控制方法
CN113639752B (zh) * 2021-07-31 2023-12-05 北京晟天行科技有限公司 一种无人机实时定位信号的传输控制方法

Also Published As

Publication number Publication date
US20210072770A1 (en) 2021-03-11
WO2021045577A1 (en) 2021-03-11
US11619952B2 (en) 2023-04-04

Similar Documents

Publication Publication Date Title
US11393350B2 (en) Systems and methods for vehicle guidance using depth map generation
KR20210029518A (ko) 멀티 센서 기반의 무인 비행체 및 그 제어 방법
KR102063534B1 (ko) 라이다를 이용한 지도 생성 방법
US10151588B1 (en) Determining position and orientation for aerial vehicle in GNSS-denied situations
Mori et al. First results in detecting and avoiding frontal obstacles from a monocular camera for micro unmanned aerial vehicles
ES2770730T3 (es) Localización dentro de un entorno usando fusión de sensores
JP2015006874A (ja) 3次元証拠グリッドを使用する自律着陸のためのシステムおよび方法
US10789488B2 (en) Information processing device, learned model, information processing method, and computer program product
KR102083911B1 (ko) 점군을 포함하는 라이다 지도 생성 방법
EP3904992B1 (en) Positioning apparatus and moving body
EP3905213B1 (en) Positioning apparatus and moving body
Zhao et al. Homography-based vision-aided inertial navigation of UAVs in unknown environments
Mulgaonkar et al. The tiercel: A novel autonomous micro aerial vehicle that can map the environment by flying into obstacles
Williams et al. Feature and pose constrained visual aided inertial navigation for computationally constrained aerial vehicles
Bavle et al. A flight altitude estimator for multirotor UAVs in dynamic and unstructured indoor environments
Magree et al. Monocular visual mapping for obstacle avoidance on UAVs
Deng et al. Visual–inertial estimation of velocity for multicopters based on vision motion constraint
EP3904993B1 (en) Positioning apparatus and moving body
US20130004086A1 (en) Method estimating absolute orientation of a vehicle
KR102083913B1 (ko) 라이다를 이용한 지도 생성 장치
Miao et al. Autonomous landing of small unmanned aerial rotorcraft based on monocular vision in GPS-denied area
Wilson et al. UAV rendezvous: From concept to flight test
Yun et al. Range/optical flow-aided integrated navigation system in a strapdown sensor configuration
Hosen et al. A vision-aided nonlinear observer for fixed-wing UAV navigation
Liu et al. Motion estimation using optical flow sensors and rate gyros

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal