KR101980095B1 - 카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템 - Google Patents

카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템 Download PDF

Info

Publication number
KR101980095B1
KR101980095B1 KR1020170108138A KR20170108138A KR101980095B1 KR 101980095 B1 KR101980095 B1 KR 101980095B1 KR 1020170108138 A KR1020170108138 A KR 1020170108138A KR 20170108138 A KR20170108138 A KR 20170108138A KR 101980095 B1 KR101980095 B1 KR 101980095B1
Authority
KR
South Korea
Prior art keywords
target
obj
camera
main body
calculating
Prior art date
Application number
KR1020170108138A
Other languages
English (en)
Other versions
KR20190022173A (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 KR1020170108138A priority Critical patent/KR101980095B1/ko
Publication of KR20190022173A publication Critical patent/KR20190022173A/ko
Application granted granted Critical
Publication of KR101980095B1 publication Critical patent/KR101980095B1/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/12Target-seeking control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/0069Navigation or guidance aids for a single aircraft specially adapted for an unmanned 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
    • G06K9/00624
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/003Flight plan management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N5/225
    • 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

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 무인비행기 제어 방법은, 본체에 연결된 카메라를 이용하여 구형(spherical) 목표물의 영상 데이터를 획득하는 단계; 상기 영상 데이터로부터, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계; 상기 산출된 반지름 및 중심 좌표를 이용하여 상기 목표물의 카메라 좌표 데이터를 산출하는 단계; 상기 목표물의 카메라 좌표 데이터와 상기 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계; 상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계; 및 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계;를 포함한다.

Description

카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템{Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera}
본 발명은 무인비행기의 움직임을 제어하는 방법 및 시스템에 관한 것이다.
무인비행기(Unmanned Aerial Vehicle, UAV)는 드론(drone)이라고도 불리며, 사람이 타지 않고 무선전파의 유도를 통해 비행하는 비행기나 헬리콥터 모양의 비행체를 말한다. 최근, 카메라와 센서 등을 갖추어 탁월한 감지능력과 신속한 이동성을 갖춘 무인비행기는 운송, 보안, 감시, 관측 등 여러 분야에서 활용되고 있다.
최근, 모션 캡처 시스템(motion capture system)이 설치된 공간에서 공을 받거나 저글링을 할 수 있는 무인비행기에 관한 연구결과가 발표된 바 있다. 이러한 시스템은 외부에 설치된 깊이 카메라를 통해 영상을 분석한 후, 분석 정보를 무인비행기에 송신하여 움직임을 제어한다.
Wang, H., et al., "Doggy Drone: A low cost ball catching system based on the AR.Drone quadrotor and Xtion PRO", 2015 IEEE International Conference on Information and Automation, 2015. pp. 2853-2858.
상술한 바와 같은 모션 캡처 시스템(motion capture system)은 다수의 외부의 카메라를 이용하여, 큰 비용이 발생하는 문제가 있다.
본 발명은 상기와 같은 문제점을 포함하여 여러 문제점을 해결하기 위한 것으로써, 별도의 외부 카메라 없이 무인비행기에 연결된 카메라만을 이용하여 목표물의 위치를 파악, 궤적을 예측하여 공 받기(catching) 등의 다양한 동작을 수행할 수 있는 무인비행기 제어 방법 및 시스템을 제공하는 것을 목적으로 한다. 그러나, 이러한 과제는 예시적인 것으로, 이에 의해 본 발명의 범위가 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 무인비행기 제어 방법은, 본체에 연결된 카메라를 이용하여 구형(spherical) 목표물의 영상 데이터를 획득하는 단계; 상기 영상 데이터로부터, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계; 상기 산출된 반지름 및 중심 좌표를 이용하여 상기 목표물의 카메라 좌표 데이터를 산출하는 단계; 상기 목표물의 카메라 좌표 데이터와 상기 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계; 상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계; 및 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계;를 포함한다.
일 실시예에 있어서, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계는, 상기 영상 데이터에서 배경을 제거하고, 적어도 하나의 전경 객체를 찾는 단계; 상기 적어도 하나의 전경 객체 중, 기정된 크기 이하의 노이즈를 제거하는 단계; 및 원형 허프 변환을 이용하여 상기 적어도 하나의 전경 객체 중 원형인 객체의 반지름과 중심 좌표를 산출하는 단계;를 포함할 수 있다.
일 실시예에 있어서, 상기 목표물의 월드 좌표 데이터를 산출하는 단계는, 위치 인식 센서를 이용하여 상기 카메라의 월드 좌표 데이터를 산출하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계는, 상기 목표물의 월드 좌표가 기정된(predetermined) 높이 이상인 시점부터 시작될 수 있다.
일 실시예에 있어서, 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계는, 상기 본체의 높이를 일정하게 유지하며 상기 본체를 비행시키는 단계일 수 있다.
본 발명의 일 실시예에 따른 무인비행기 제어 시스템은, 바닥에 격자(lattice) 형태로 배치되는 복수 개의 마커(marker); 및 상기 마커를 인식하여 위치를 파악하며, 본체, 제어부 및 카메라를 포함하는 무인비행기;를 포함하고, 상기 제어부는 상술한 무인비행기 제어 방법을 통해 상기 본체의 움직임을 제어한다.
일 실시예에 있어서, 상기 무인비행기는, 상기 본체의 아래쪽에 배치되며, 상기 마커를 인식하여 위치를 파악하는 위치 인식 센서를 더 포함할 수 있다.
일 실시예에 있어서, 상기 위치 인식 센서는, 상기 마커 이미지의 상대적인 움직임을 통해 상기 본체의 XY 월드 좌표를 측정하고, 상기 마커 이미지의 크기 변화를 통해 상기 본체의 Z 월드 좌표를 측정할 수 있다.
일 실시예에 있어서, 상기 카메라는 어안 렌즈를 포함할 수 있다.
일 실시예에 있어서, 상기 무인비행기는, 목표물을 받기 위한 물체 받개(catcher)를 더 포함할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
상기한 바와 같이 이루어진 본 발명의 무인비행기 제어 방법 및 시스템에 따르면, 별도의 외부 카메라 없이 무인비행기에 연결된 카메라만을 이용하여 목표물의 위치를 파악, 궤적을 예측하여 공 받기(catching) 등의 다양한 동작을 수행할 수 있다. 이에 따라, 외부 카메라를 사용하는 것보다 간단한 방식으로 무인비행기를 제어할 수 있어 설치/운용 비용이 감소한다. 물론 이러한 효과에 의해 본 발명의 범위가 한정되는 것은 아니다.
도 1은 본 발명의 일 실시예에 따른 무인비행기 제어 방법의 각 단계를 나타낸 순서도이다.
도 2는 본 발명의 일 실시예에 따른 무인비행기 제어 방법에 따라 무인비행기를 이동시키는 과정을 간략하게 예시한 그림이다.
도 3은 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계를 상세하게 나타낸 순서도이며, 도 4는 단계별 이미지 처리 상태를 나타낸 그림이다.
도 5는 이미지 평면에서의 목표물 상의 반지름 및 좌표를 이용하여 목표물의 카메라 좌표 데이터를 산출하는 원리를 설명하기 위한 그림이다.
도 6은 목표물의 월드 좌표 데이터를 산출하는 원리를 설명하기 위한 그림이다.
도 7은 목표물의 궤적을 예측하는 원리를 간략하게 나타낸 그림이다.
도 8은 목표물의 궤적을 예측하기 위한 목표물의 월드 좌표 데이터의 기점을 설정하는 방법을 나타낸 그림이다.
도 9는 예측된 궤적 중의 한 좌표를 향해 본체를 비행시키는 방법을 예시한 그림이다.
도 10은 본 발명의 일 실시예에 따른 카메라의 화각(angle of view)을 나타낸 그림이다.
도 11은 여러 형태의 물체 받개(catcher)를 도시한 그림이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용된다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 단계는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 단계는 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 수행될 수도 있다.
본 명세서에서, '무인비행기'는 조종사가 비행체에 직접 탑승하지 않고 지상에서 원격조종(remote piloted)되거나 사전 프로그램된 경로에 따라 자동(auto-piloted) 또는 반자동(semi-auto-piloted) 형식으로 자율비행하는 비행체를 통칭하는 것으로, 쿼드콥터(quadcopter), 헥사콥터(hexacopter) 등의 멀티콥터(multicopter)를 포함한다.
본 명세서에서, '월드 좌표계'는 물체의 위치를 표현할 때 기준으로 삼는 불변의 좌표계로, X, Y, Z축을 가진다.
본 명세서에서, '카메라 좌표계'는 카메라의 초점(렌즈의 중심)을 중심으로, 정면 광학축 방향을 X'축으로, 카메라 아랫방향을 Y'축으로, 카메라 윗방향을 Z'축으로 하는 좌표계이다.
도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 같거나 대응하는 구성 요소는 같은 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 무인비행기 제어 방법의 각 단계를 나타낸 순서도이다.
본 발명의 일 실시예에 따른 무인비행기 제어 방법은, 본체에 연결된 카메라를 이용하여 구형(spherical) 목표물의 영상 데이터를 획득하는 단계(S10); 상기 영상 데이터로부터, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계(S20); 상기 산출된 반지름 및 중심 좌표를 이용하여 상기 목표물의 카메라 좌표 데이터를 산출하는 단계(S30); 상기 목표물의 카메라 좌표 데이터와 상기 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계(S40); 상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계(S50); 및 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계(S60)를 포함한다.
이하 도 1을 참조하여 본 발명의 일 실시예에 따른 무인비행기 제어 방법의 각 단계를 간략하게 설명한다.
우선, 무인비행기 본체에 연결된 카메라를 이용하여 구형 목표물의 영상 데이터를 획득하는 단계(S10)가 수행된다. 본 발명에서는, 별도의 외부의 카메라 없이 무인비행기에 연결 또는 탑재된 카메라로 목표물의 위치 또는 좌표를 파악한 후 이를 이용하여 무인비행기를 제어한다.
한편, 본 발명의 일 목적은 영상 데이터를 분석/처리하여 특정 구형 목표물을 인식하고, 목표물까지의 거리를 추산하는 것이다. 이를 위해서는 목표물이 회전하더라도 같은 모양을 유지하는 구형 대칭성(spherical symmetry)을 가지는 것이 바람직하다. 이에 대해서는 후술한다.
이후, 영상 데이터로부터 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계(S20)가 수행된다. '이미지 평면'은 카메라 픽셀 좌표계 또는 영상 좌표계 상에서의 평면으로, 카메라가 촬영한 물체의 상(image)이 투영(projection)되는 평면이다. 본 발명에서는 구형의 목표물을 상정하므로, 이미지 평면에 나타난 목표물의 상(image)은 원(circle)이 된다. 따라서 이미지 평면 상에서의 반지름과 중심 좌표를 영상 처리의 오차 범위 내에서 명확하게 정의할 수 있다.
이후, 상기 산출된 반지름 및 중심 좌표를 이용하여 목표물의 카메라 좌표 데이터를 산출하는 단계(S30)가 수행된다. 본 발명에서는, 촬영된 이미지 평면 상에서의 목표물의 상(image)의 반지름과 중심 좌표를 이용하여 카메라에 대한 목표물의 상대적인 위치(depth, 좌표)를 파악한다. 한편, 본 발명에서는 구형의 목표물을 상정하므로, 목표물이 특정 위치에서 회전하더라도 목표물의 상의 크기는 하나로 명확하게 정의될 수 있다.
이후, 목표물의 카메라 좌표 데이터와 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계(S40)가 수행된다. 이 단계(S40)에서는 카메라의 방향(orientation) 정보 및 본체의 위치 데이터를 파악하여, 이를 이용해 목표물의 월드 좌표 데이터를 획득한다.
이후, 목표물의 월드 좌표 데이터를 이용하여 목표물의 궤적을 예측하는 단계(S50)가 수행된다. 본체의 위치 및 카메라의 각도와 관계없이, 프레임마다 목표물의 월드 좌표를 획득한 상태에서, 운동방정식(equation of motion)을 이용하여 목표물의 향후 궤적을 예측할 수 있다.
이후, 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계(S60)가 수행된다. 예컨대 이 단계(S60)에서는 목표물의 낙하지점을 예상하여, 본체를 낙하지점으로 비행시켜 다양한 목적을 수행할 수 있다.
상술한 각 단계는 프레임(frame)마다 반복적으로 수행될 수 있다.
도 2는 본 발명의 일 실시예에 따른 무인비행기 제어 방법에 따라 무인비행기를 이동시키는 과정을 간략하게 예시한 그림이다. 도 2의 왼쪽에는 무인비행기의 본체(10), 이미지 평면(IP) 및 목표물(OBJ)이 월드 좌표계에서 도시되어 있으며, 오른쪽에는 이미지 평면(IP)에서의 목표물의 상(image, IOBJ)이 도시되어 있다. 도 2에서는 편의상 이미지 평면(IP)과 목표물(OBJ)이 카메라(20) 렌즈로부터 같은 위치에 있는 것으로 도시하였다.
도 2의 (a)를 참조하면, i번째 프레임 시점에서의 상태가 나타난다. i번째 프레임에서는 목표물(OBJ)이 공중으로 던져진 직후이며, 무인비행기의 본체(10)는 초기의 위치에 있는 상태임을 가정하기로 한다. 이때 목표물(OBJ)의 중심 좌표를 POBJ(i), 목표물(OBJ)의 이미지 평면(IP)에서의 상을 IOBJ(i), 상 IOBJ(i)의 반지름의 크기를 r1이라 하자. 이때 목표물(OBJ)은 카메라(20)로부터 멀리 떨어져 있으므로, 목표물의 상 IOBJ(i)의 반지름(r1)은 비교적 작다.
i번째 프레임 이후 복수 개의 프레임에서 목표물의 좌표 정보를 획득한 후에는, 운동방정식을 통해 목표물의 궤적을 예측할 수 있다. 이에 따라, 무인비행기의 날개부의 움직임을 제어하는 제어부는 본체가 목표물의 예측 낙하지점 근처로 비행하도록 명령할 수 있다.
도 2의 (b)를 참조하면, j번째 (j > i) 프레임 시점에서의 상태가 나타난다. j번째 프레임에서는 목표물(OBJ)이 포물선 운동의 정점에 있으며, 무인비행기의 본체(10)는 X 방향으로 움직인 상태임을 가정하기로 한다. 이때 목표물의 중심 좌표 POBJ(j)의 위치가 변하므로, 목표물 상 IOBJ(j)의 위치 및 반지름의 크기 r2 역시 변한다. 즉 본체(10)와 목표물(OBJ)은 서로를 향하도록 이동하였으므로, j번째 프레임에서의 상 IOBJ(j)의 반지름 r2는 i번째 프레임에서의 상 IOBJ(i)의 반지름 r1보다 크다. 한편, 목표물(OBJ)은 i번째 프레임 시점에서보다 더 위로 움직였으므로, 목표물 상의 위치는 IOBJ(j)가 IOBJ(i)보다 이미지 평면 상에서 더 위에 있다.
도 2의 (c)를 참조하면, k번째 (k > j) 프레임 시점에서의 상태가 나타난다. k번째 프레임에서는 목표물이 낙하하고 있으며, 무인비행기의 본체(10)는 X방향으로 더 움직인 상태임을 가정하기로 한다. 이때 목표물의 중심 좌표 POBJ(k)의 위치가 변하므로, 목표물 상 IOBJ(k)의 위치 및 반지름의 크기 r3 역시 변한다. 즉 본체(10)와 목표물(OBJ)은 서로를 향하도록 이동하였으므로, k번째 프레임에서의 상 IOBJ(k)의 반지름 r3는 j번째 프레임에서의 상 IOBJ(j)의 반지름 r2보다 크다. 한편, 목표물은 j번째 프레임 시점에서보다 더 아래로 움직였으나, 무인비행기의 본체(10) 및 카메라(20)가 앞으로 이동하였으므로, 목표물 상의 위치는 IOBJ(k)가 IOBJ(j)보다 이미지 평면 상에서 더 위에 있다.
즉 목표물의 상(IOBJ)의 위치와 크기는 카메라(20)의 위치 및 목표물(OBJ)의 위치(POBJ)에 의해 정해진다. 본 발명에서는 목표물의 상(IOBJ)의 위치와 크기를 이용하여 목표물(OBJ)의 위치를 추정한 후, 목표물(OBJ)의 궤적을 예측해 본체(10)를 비행시켜 다양한 목적을 수행한다. 본 발명에 따른 무인비행기 제어 방법의 목적 중 하나는 무인비행기를 이용하여 공중에 던져진 공을 받는 것이다(ball catching). 즉, 본 발명의 무인비행기 제어 방법을 이용하는 경우, 공중에 던져진 목표물(OBJ)의 궤적을 추산하여 무인비행기를 예측된 낙하지점으로 이동시켜 목표물(OBJ)을 받게 할 수 있다.
이하, 본 발명의 일 실시예에 따른 무인비행기 제어 방법을 단계별로 상세하게 설명한다.
도 3은 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계를 상세하게 나타낸 순서도이며, 도 4는 단계별 이미지 처리 상태를 나타낸 그림이다.
일 실시예에 따르면, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계(S20)는, 상기 영상 데이터에서 배경을 제거하고, 적어도 하나의 전경 객체를 찾는 단계(S21); 상기 적어도 하나의 전경 객체 중, 기정된 크기 이하의 노이즈(noise)를 제거하는 단계(S22); 및 원형 허프 변환(Hough transform)을 이용하여 상기 전경 객체 중 원형인 객체의 반지름과 중심 좌표를 산출하는 단계(S23)를 포함할 수 있다.
도 4의 (a)는 영상 데이터 중 특정 프레임에서의 이미지 평면(IP)을 나타낸다. 본 발명에서의 목표물은 구형의 공(ball)이지만, 영상 데이터에는 목표물의 상(IOBJ)뿐만 아니라 이를 던지는 사람 등 다양한 배경(background, B) 정보가 포함될 수 있다.
도 3 및 도 4의 (b)를 참조하면, 상기 영상 데이터에서 배경(B)을 제거하고, 적어도 하나의 전경 객체를 찾는 단계(S21)가 수행된다. 이때 '배경(B)'을 제거하기 위해, 각 픽셀의 평균과 표준편차를 이용하여 배경을 모델링하는 방법이 이용될 수 있다. 본 발명의 일 실시예에서는, 그레이(gray) 영상에서 배경과 전경을 구별하기 위해 MATLAB 비전 툴박스의 vision.ForegroundDetector 함수를 이용하였고, 배경 영상을 트레이닝(training)하기 위한 프레임의 개수(NumTrainingFrames)를 7로, 초기 표준 편차 값은 0.01을 사용하였다. 한편, 이와는 달리 특정 프레임과 그 이전 프레임의 차를 이용한 차분 영상을 활용하여 배경(B)을 제거할 수도 있다. 즉 어느 특정 프레임과 그 전 프레임의 차이를 통해 물체의 '상'이 이동하였음을 판단하여 배경(B)과 전경 객체(F1 ~ F5)를 구분할 수도 있다. 이때, 목표물이 배경보다 진한 색을 가지도록 하는 경우, 배경(B)과 전경 객체(F1 ~ F5)을 구분하는 것이 쉬워질 수 있다.
특정 방식을 통해 배경과 전경 객체를 구분하였더라도, 목표물뿐만 아니라 목표물을 던지는 사람의 손, 떨림 등에 의해 목표물의 상 객체(FOBJ) 이외에 다른 전경 객체(F2 ~ F5)가 탐색될 수 있다. 도 4의 (b)에서는 목표물의 상 객체(FOBJ) 외에 4개의 다른 전경 객체(F2 ~ F5) 또는 노이즈가 있는 상태이다.
도 3 및 도 4의 (c)를 참조하면, 이후 노이즈를 제거하는 단계(S22)가 수행된다. 본 발명에서, 목표물의 상 객체(FOBJ)를 제외한 나머지 객체는 '노이즈'가 된다. 본 발명의 일 실시예에서는, MATLAB 비전 툴박스의 vision.BlobAnalyzer 함수를 이용하였고, MinimumBlobArea = 50, AreaOutputPort와 Centroid OutputPort를 true로 설정하였다. 한편, 영상 데이터를 이진(binary)화한 후, bwareaopen 함수를 사용해 3 픽셀(pixel) 미만의 노이즈 영역을 제거하였다. 도 4의 (c)에서는 목표물의 상 객체(F1, FOBJ)외의 다른 노이즈(F2 ~ F5)가 제거된 상태이다.
도 3 및 도 4의 (d)를 참조하면, 이후 원형 허프 변환을 이용하여 상기 전경 객체 중 원형인 객체(FOBJ)의 반지름(r)과 중심 좌표(IC)를 산출하는 단계(S23)가 수행된다. 본 발명의 일 실시예에서는, imfindcircles 함수를 사용하였다. 이때 예상 반경 = [720], objectPolarity = bright로 설정하였고, sensitivity는 1차 시도 시 0.9로, 원을 못 찾으면 값을 키우고, 2개 이상 찾아지면 값을 낮게 조정하도록 설정하였다. 상기 단계(S23)를 거치는 경우, 목표물의 상(IOBJ)의 반지름(r)과 중심 좌표(IC)를 산출할 수 있다.
도 5는 이미지 평면(IP)에서의 목표물 상(IOBJ)의 반지름(r) 및 좌표(Ic(x,y))를 이용하여 목표물(OBJ)의 카메라 좌표 데이터 P'(X'OBJ, Y'OBJ, Z'OBJ)를 산출하는 원리를 설명하기 위한 그림이다. 도 5에서는 설명의 편의를 위해 가상의 이미지 평면(IP)이 카메라(20)의 앞쪽에 초점 거리(F)만큼 떨어져 있는 것으로 도시하였다.
목표물(OBJ)이 구형(spherical)인 경우, 목표물(OBJ)의 방향(orientation)에 관계없이 이미지 평면에서의 상(IOBJ)은 원(circle)형이 된다. 이 경우, 목표물(OBJ)의 반지름(R) 정보를 알고 있는 경우, 상(IOBJ)의 반지름(r)과 초점 거리(F)를 이용하여 카메라 좌표계에서의 카메라(20)와 목표물(OBJ)과의 거리 및 목표물(OBJ)의 좌표를 측정할 수 있다. 이와 달리 목표물(OBJ)이 구형이 아닌 경우, 목표물(OBJ)의 거리뿐만 아니라 방향(orientation)에 따라서도 이미지 평면(IP)에서의 상의 모양이 달라지게 된다. 이때는 카메라 좌표계에서의 카메라(20)와 목표물(OBJ)과의 거리를 추정하기 위해서는 추가적인 정보가 필요하게 된다.
기하학적으로, 카메라(20)의 초점 거리(F)와 목표물(OBJ)의 X' 좌표(X'OBJ) 및 목표물의 상(IOBJ)의 반지름(r)과 목표물의 실제 반지름(R)은 비례한다. 따라서, 카메라 좌표계에서 목표물의 X' 방향 깊이(depth), 즉 X'OBJ의 크기는 아래 <수학식 1>에 의해 정해진다.
<수학식 1>
X'OBJ = R * F / r
이때, X'OBJ 는 카메라 좌표계에서 목표물의 X' 좌표를, R은 목표물의 실제 반지름을, F는 카메라의 초점 거리를, r은 이미지 평면(IP)에서 목표물의 상(IOBJ)의 반지름을 의미한다. 이 중 R과 F는 상수이나, X'OBJ 및 r은 프레임마다 크기가 달라지는 변수이다.
한편, 목표물(OBJ)의 Y' 방향 및 Z' 방향의 좌표(Y'OBJ, Z'OBJ)는, 아래와 같이 이미지 평면(IP)에서의 목표물의 상(IOBJ)의 위치 IC(y, z) 및 비례 관계를 통해 아래의 <수학식 2>와 같이 측정할 수 있다.
<수학식 2>
Y'OBJ = X'OBJ * y / F
Z'OBJ = Zbias - X'OBJ * z / F
이때, Y'OBJ, Z'OBJ 는 카메라 좌표계에서 목표물(OBJ)의 Y', Z' 좌표이고, y, z는 이미지 평면(IP) 상에서 목표물의 상(IOBJ)의 중심(IC)의 좌표이며, Zbias는 Z'축과 z축의 원점을 맞추기 위한 상수이다. 한편, X'OBJ * z / F항의 부호가 음수인 이유는 도 5에서 Z'축과 z축의 방향이 반대이기 때문이다.
<수학식 1> 및 <수학식 2>를 살펴보면, 이미지 평면(IP)에서의 상(IOBJ)의 반지름(r) 및 좌표(y, z)를 통해 목표물(OBJ)의 카메라 좌표계에서의 위치 P'(X'OBJ , Y'OBJ, Z'OBJ)를 알아낼 수 있다. 한편, X', Y', Z'축 및/또는 y, z축의 방향을 어떻게 설정하느냐에 따라 상기 수학식은 달라질 수 있다. 즉 이미지 평면(IP)에서의 상의 반지름 및 중심 좌표를 이용하여 카메라 좌표 데이터를 구하기 위한 식은 위의 <수학식 1> 및 <수학식 2>에 한정되지 않는다.
도 6은 목표물(OBJ)의 월드 좌표 데이터를 산출하는 원리를 설명하기 위한 그림이다. 목표물(OBJ)의 카메라 좌표 데이터를 산출한 후에는, 월드 좌표 데이터를 산출하는 단계(S40)가 수행된다. 본체(10)가 이동하면서 이에 연결된 카메라(20)의 위치 역시 바뀌게 되므로, 목표물(OBJ)의 '객관적인' 위치를 표현하기 위해서는 모든 프레임마다 같은 기준을 가지는 월드 좌표계를 사용하는 것이 바람직하다.
이때, 월드 좌표계(X, Y, Z)와 카메라 좌표계(X', Y', Z')는 서로 회전 변환 관계에 있다. 따라서, 자이로 센서 등을 통해 카메라(20)가 월드 좌표계에 대해 어느 방향(orientation)을 향하는지를 알 수 있고, 역으로 카메라 좌표계에 대해 월드 좌표계가 얼마나 회전되어 있는지를 알 수 있다. 따라서, 목표물(OBJ)의 카메라 좌표계에서의 좌표를 아래와 같이 월드 좌표계에서의 좌표를 향해 변환할 수 있다.
<수학식 3>
POBJ(XOBJ, YOBJ, ZOBJ) = R * P'OBJ(X' OBJ,Y' OBJ,Z' OBJ) + PCAM(XCAM, YCAM, ZCAM)
이때 R은 두 좌표계 사이의 3x3 회전변환행렬이고, P'OBJ(X' OBJ,Y' OBJ,Z' OBJ)는 카메라 좌표계에서의 목표물의 위치 벡터이며, POBJ(XOBJ, YOBJ, ZOBJ)는 월드 좌표계에서의 목표물(OBJ)의 위치 벡터이다. 한편, PCAP(XCAM, YCAM, ZCAM)은 카메라(20)의 월드 좌표계에서의 위치 벡터이다.
한편, 무인비행기의 카메라(20)에 짐벌(gimbal)을 연결하여, 무인비행기의 본체(10)가 월드 좌표계에서 회전하더라도 카메라(20)는 회전하지 않게 하는 경우, 카메라 좌표계와 월드 좌표계는 회전 변환이 없는 평행이동 관계에 있게 된다. 이 경우 상술한 회전변환행렬 R은 3x3 단위행렬 I로 생각할 수 있다.
본 발명의 일 실시예에서는, i) 카메라 좌표계에서 구한 카메라(20)와 목표물(OBJ) 사이의 상대적인 좌표의 차이를 월드 좌표계로 회전 변환하고, ii) 카메라(20)의 월드 좌표계에서의 좌표값(PCAM)을 더하여 최종적으로 목표물(OBJ)의 월드 좌표 (POBJ)를 산출한다. 이때, 카메라(20)의 월드 좌표계에서의 좌표값을 알아내기 위해, 카메라(20)가 기준점에서 얼마만큼 떨어져 있는지 측정할 수단이 필요하다.
일 실시예에 따르면, 목표물(OBJ)의 월드 좌표 데이터를 산출하는 단계는, 위치 인식 센서(60)를 이용하여 카메라(20)의 월드 좌표 데이터를 산출하는 단계를 포함할 수 있다.
도 6을 참조하면, 본 발명에 의한 무인비행기 제어 방법을 사용하는 공간의 바닥에는 다수 개의 마커(marker, M)가 격자(lattice) 형태로 배치될 수 있다. 각각의 마커(M)는 X, Y 월드 좌표에 대한 정보를 가질 수 있다. 무인비행기는 본체(10)의 아래쪽에 배치될 수 있는 위치 인식 센서(60)를 통해, 바닥에 배치된 마커(M)를 읽어 본체(10)의 XY 평면 상에서의 월드 좌표를 파악할 수 있다.
예컨대 위치 인식 센서(60)는 별도의 카메라를 포함할 수 있다. 상기 카메라는, 획득한 이미지의 이동 속도를 판단할 수 있는 옵티컬 플로우(optical flow) 알고리즘을 이용해 마커의 움직임을 읽어 본체(10)의 X, Y축 이동 거리를 산출할 수 있다. 예컨대, 무인비행기가 대기하고 있을 때, 제어부는 위치 인식 센서(60)에 포함된 카메라의 이미지 정중앙에 마커(M)가 위치하도록 본체(10)의 움직임을 제어할 수 있다. 이후 본체(10)는 특정 마커(M)의 바로 위에서 호버링(hovering)할 수 있고, 이때 마커(M)를 통해 위치 인식 센서(60)는 마커(M)의 XY 절대 좌표 정보를 읽어 본체(10)의 절대 좌표를 추산할 수 있다. 이후, 본체(10)가 특정 방향으로 이동하는 경우, 위치 인식 센서(60)는 마커(M)의 이미지의 상대적인 움직임을 읽어 본체(10)의 X, Y 변위를 판단하여 본체(10)의 최종적인 절대 좌표를 판단할 수 있다.
한편, 위치 인식 센서(60)는 마커(M)의 이미지의 크기를 통해 Z축 월드 좌표를 산출할 수 있다. 예컨대, 위치 인식 센서(60)의 높이가 1m일 때 마커(M)의 이미지의 크기를 1이라고 한다면, 위치 인식 센서(60)의 높이가 1m 더 위로 올라가 2m 높이에 있을 때 마커(M)의 이미지의 크기는 1/4이 된다. 따라서, 기준높이에서 마커(M)의 이미지 크기 정보를 알고 있다면, 마커(M)의 이미지의 크기를 통해 위치 인식 센서(60) 및 본체(10)의 높이를 산출할 수 있게 된다.
또는, 위치 인식 센서(60)는 라이다(LiDAR, Light Detection And Ranging) 센서, 초음파 센서, 적외선 센서 등의 거리 측정 센서를 더 포함하여, 본체(10)의 Z축 월드 좌표를 산출할 수도 있다.
상술한 위치 인식 센서(60)를 이용하면 본체(10)의 X, Y, Z 좌표를 측정할 수 있고, 카메라(20)와 본체(10)의 거리는 일정하므로 이를 통해 카메라(20)의 좌표(PCAM)를 산출할 수 있다.
도 7은 목표물(OBJ)의 궤적을 예측하는 원리를 간략하게 나타낸 그림이다. 월드 좌표 데이터를 산출하는 단계(S40) 이후에는, 목표물(OBJ)의 궤적을 예측하는 단계(S50)가 수행된다.
각 프레임에서, 무인비행기의 이동 여부와 관계없이 목표물(OBJ)의 위치를 월드 좌표계를 통해 파악할 수 있으므로, 제어부는 운동 방정식에 따라 목표물(OBJ)의 중심의 궤적을 예측할 수 있게 된다. 이러한 운동 방정식은 중력과 공기 항력에 대한 정보를 포함할 수 있다. 이때 확장 칼만 필터(extended Kalman filter)를 이용해 이산(discrete) 시간 방정식을 풀어 잡음에 의한 오차를 줄일 수 있다.
한편, 획득한 데이터가 많아지는 경우 목표물(OBJ)의 궤적을 더욱 정확하게 예측할 수 있다. 도 7의 (a)를 참조하면, 1번째 프레임에서 i번째 프레임까지의 목표물의 월드 좌표(OBJ(1) ~ OBJ(i))가 나타나 있다. 목표물(OBJ)이 던져진 직후, 즉 목표물(OBJ)의 비행 초기에는 위치 데이터가 적기 때문에, 영상 처리 과정 등에서의 측정 오차가 궤적 예측에 크게 영향을 끼치게 된다. 따라서 목표물(OBJ)이 낙하할 것으로 예측되는 예측 영역(ER)의 범위가 비교적 넓다. 이때, 제어부는 예상 낙하지점의 대략적인 위치만을 추정하여 본체를 이동시키는 명령을 내릴 수 있다.
도 7의 (b)를 참조하면, 1번째 프레임에서 j번째 (j > i) 프레임까지의 목표물의 월드 좌표(OBJ(1) ~ OBJ(j))가 나타나 있다. 목표물(OBJ)의 비행시간이 길어지면 측정한 위치 데이터의 양이 많아지므로, 목표물(OBJ)이 낙하할 것으로 예측되는 예측 영역(ER)의 범위가 좁아진다.
도 7의 (c)를 참조하면, 1번째 프레임에서 k번째 (k > j) 프레임까지의 목표물의 월드 좌표(OBJ(1) ~ OBJ(k))가 나타나 있다. 목표물(OBJ)이 정점을 지나 하강하는 경우, 측정한 위치 데이터의 양이 충분히 많아지므로, 부분적으로 측정 오차가 발생하였더라도 예측 영역(ER)의 범위를 충분히 좁힐 수 있다. 따라서, 초기에는 대략적인 위치만을 추정할 수 있지만, 데이터가 많아질수록 목표물(OBJ)의 낙하지점을 정밀하게 예측할 수 있다. 즉 목표물(OBJ)이 하강하는 시점부터는 본체의 위치를 미세하게 제어하여, 예컨대 무인비행기가 목표물(OBJ)을 '받는' 동작을 수행하게 할 수 있다.
도 8은 목표물(OBJ)의 궤적을 예측하기 위한 목표물(OBJ)의 월드 좌표 데이터의 기점을 설정하는 방법을 나타낸 그림이다.
일 실시예에 따르면, 목표물(OBJ)의 월드 좌표 데이터를 이용하여 목표물(OBJ)의 궤적을 예측하는 단계는, 목표물(OBJ)의 월드 좌표가 기정된 높이(TL) 이상인 시점부터 시작될 수 있다. 상기 기정된 높이(TL)는 일반인의 평균적인 키를 고려하여, 약 2m 이상으로 설정될 수 있으나 본 발명이 이에 제한되는 것은 아니다.
도 8의 (a)를 참조하면, 사람이 목표물(OBJ)을 무인비행기 쪽으로 던지기 전의 상태가 나타나 있다. 사람이 공을 위로 던지기 전에는, 공을 집는 동작, 손을 위에서 아래로 향하게 움직이는 준비 동작 등 다양한 동작이 이루어질 수 있다. 그런데 만약 이런 다른 동작이 수행될 때부터 목표물(OBJ)의 월드 좌표 데이터를 모두 이용하여 궤적을 예측하는 경우, 초기 데이터는 포물선 궤적과는 관련 없는 데이터이므로 초기 예측이 크게 잘못된다. 이에 따라, 낙하지점을 최종적으로 예측하는 것이 정확하지 않게 된다.
도 8의 (b)를 참조하면, 사람이 목표물(OBJ)을 무인비행기 쪽으로 던진 후의 상태가 나타나 있다. 이때 기정된 높이(TL) 이상, 예컨대 사람의 손이 위치할 것으로 예측하기 어려운 높이 이상에 목표물(OBJ)이 위치한 것으로 측정된 경우, 목표물(OBJ)은 사람의 손을 떠나 있는 상태이며, 무인비행기 쪽을 향해 비행을 시작한 것으로 추측할 수 있다. 즉, 목표물(OBJ)의 월드 좌표가 처음으로 기정된 높이(TL) 이상이 된 때(OBJ(1))를 시점으로 하여, 그 이전 프레임에서의 데이터를 삭제하고 그 이후(OBJ(i)) 프레임에서의 데이터를 가지고 목표물(OBJ)의 궤적을 예측할 수 있다. 이 경우, 목표물을 던지는 것과 관련 없는 움직임을 제외한 '포물선 궤적'과 관계된 움직임에 관한 데이터만을 수집할 수 있으므로, 낙하지점을 정확하게 예측할 수 있게 된다.
도 9는 예측된 궤적 중의 한 좌표를 향해 본체(10)를 비행시키는 방법을 예시한 그림이다. 목표물(OBJ)의 궤적을 예측하는 단계(S50) 후에는, 본체(10)를 비행시키는 단계(S60)가 수행된다.
일 실시예에 따르면, 예측된 궤적 중의 한 좌표를 향해 본체(10)를 비행시키는 단계는, 본체(10)의 높이를 일정하게 유지하며 본체(10)를 비행시키는 단계일 수 있다.
도 9를 참조하면, 무인비행기는 위치 인식 센서(60)를 이용하여 마커(M)에서 일정한 거리만큼 떨어진 상태로 이동하도록 제어될 수 있다. 이 경우, 무인비행기는 초기 위치와 같은 높이(h)를 가지는 평면(Ph)에서 이동할 수 있다. 이때, 상기 평면(Ph)과 목표물(OBJ)의 예측 궤적선은 한 점(FD)에서 만나게 된다. 일 실시예에 따르면, 상기 점(FD)을 최종 목표 지점(final destination)으로 하도록 무인비행기의 비행을 제어할 수 있다. 이처럼 본체(10)의 높이를 일정하게 유지하는 경우, 별도의 연산 없이 최종 목표 지점(FD)이 한 곳으로 명확하게 정의되므로, 연산/제어 속도가 빨라질 수 있다.
이하, 상술한 무인비행기 제어 방법을 이용한 무인비행기 제어 시스템을 설명한다.
본 발명의 다른 실시예에 따른 무인비행기 제어 시스템은, 바닥에 격자(lattice) 형태로 배치되는 복수 개의 마커(M); 및 상기 마커(M)를 인식하여 위치를 파악하며, 본체(10), 제어부 및 카메라(20)를 포함하는 무인비행기;를 포함하고, 제어부는 상술한 무인비행기 제어 방법을 통해 상기 본체(10)의 움직임을 제어한다.
도 6을 다시 참조하면, 무인비행기 제어 시스템은 마커(M) 및 무인비행기를 포함한다. 상술하였듯, 무인비행기는 바닥의 마커(M)를 인식하여 본체(10)의 월드 좌표 데이터를 획득할 수 있다. 더 상세하게, 무인비행기는 하방 카메라 및/또는 위치 인식 센서(60)를 이용하여 월드 좌표를 파악할 수 있다.
일 실시예에 있어서, 무인비행기 제어 시스템은 무인비행기를 관제하는 관제부를 더 포함할 수 있다. 상술한 영상 처리 등의 알고리즘은 무인비행기 내의 제어부에서 수행될 수도 있지만, 제어부와 무선 통신하는 외부의 관제부에서 수행될 수도 있다. 즉 예컨대 제어부는 카메라(20)의 영상 데이터를 관제부에 송신할 수 있다. 이후, 관제부는 영상 처리 및 목표물(OBJ)의 월드 좌표 데이터 산출, 목표물(OBJ) 궤적 예측 등을 수행하여, 본체(10)가 최종적으로 향해야 할 좌표를 제어부에 송신할 수 있다. 제어부는 상기 정보를 수신받아 본체(10)를 원하는 곳으로 비행시킬 수 있다.
도 10은 본 발명의 일 실시예에 따른 카메라(20)의 화각(angle of view, θ)을 나타낸 그림이다.
도 10을 참조하면, 여러 프레임에서의 목표물(OBJ)이 나타나 있다. 이때, 본 발명의 경우 목표물의 영상 데이터를 이용하여 최종적으로 목표물(OBJ)의 궤적을 예측하므로, 카메라의 방향(orientation)과 관계없이 목표물(OBJ)이 항상 카메라(20)의 '시야'에 들어오도록 하는 것이 바람직하다. 즉 카메라(20)의 방향이 고정되어 있다고 가정할 때, 목표물(OBJ)은 비행 전에는 약 0°이하인 곳에, 낙하 직전에는 약 90°이상까지 위치해 있을 수 있으므로, 카메라의 화각(θ)은 90°보다 큰 것이 바람직하다. 일 실시예에 따르면, 카메라는 화각(θ)이 90°이상인 초광각 렌즈 또는 어안 렌즈를 포함할 수 있다. 특히 어안 렌즈는 화각(θ)이 180°이상이므로, 목표물(OBJ)의 초기 위치 및 궤적에 관계없이 목표물(OBJ)을 항상 카메라(20)의 시야에 담을 수 있어 편리하다.
도 11은 여러 형태의 물체 받개(catcher, 80)를 도시한 그림이다. 본 발명에 따른 무인비행기 제어 시스템의 목적 중 하나는 무인비행기를 이용하여 공중에 던져진 공을 받는(ball catching) 것이다. 이에, 무인비행기는 목표물(OBJ)을 받기 위한 물체 받개(110)를 더 포함할 수 있다.
도 11의 (a)는 바구니(basket) 형태의 물체 받개(110)를 나타낸다. 이와 같은 형태의 물체 받개(110)는 본체(10)의 위쪽 가운데 배치될 수 있다. 한편 이때 물체 받개(110)의 내부에는 스폰지, 패드, 비닐 등 충격을 방지하기 위한 충격방지재(111)가 구비되어, 목표물이 되튕겨져 나가는 것을 방지할 수 있다.
도 11의 (b)는 잠자리채 형태의 물체 받개(110)를 나타낸다. 이와 같은 형태의 물체 받개(110)는 본체(10)의 가장자리에 배치될 수 있다. 이때 물체 받개(110)의 아래 쪽에는 그물 모양의 충격방지재(112)가 구비되어, 목표물(OBJ)이 되튕겨져 나가는 것을 방지할 수 있다.
한편 본체(10)를 비행시키는 단계(S60)에서, 제어부는 본체(10)와 물체 받개(110)의 위치 차이를 고려하여, 물체 받개(110)가 목표물(OBJ)의 예측된 궤적 중 어느 한 곳에 위치하도록 본체(10)를 비행시킬 수 있다.
이상에서는 무인비행기가 목표물(OBJ)을 '받는' 동작을 수행하는 것을 예시하였으나, 이와 달리 무인비행기는 낙하 예상 위치에서 목표물(OBJ)을 다시 쳐 올려 사람과 목표물(OBJ)을 주고 받는 동작을 수행할 수도 있다. 이때 무인비행기의 본체(10)에는 탁구채/배드민턴채와 비슷한 형태의 판 또는 라켓(racket)이 구비될 수 있다. 이때 제어부는 본체(10)와 목표물(OBJ)이 닿을 것으로 예측되는 순간 본체(10)가 윗방향 속도를 가지도록 하여 판 또는 라켓이 목표물을 '쳐올리도록' 제어할 수 있다.
본 발명의 일 실시예에 따르면, 별도의 외부 카메라 없이 무인비행기에 연결된 카메라(20)만을 이용하여 목표물(OBJ)의 위치를 파악, 궤적을 예측하여 공 받기(catching) 등의 다양한 동작을 수행할 수 있다. 이에 따라, 외부 카메라를 사용하는 것보다 간단한 방식으로 무인비행기를 제어할 수 있어 설치/운용 비용이 감소한다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
10: 본체 20: 카메라
60: 위치 인식 센서 110: 물체 받개
OBJ: 목표물

Claims (10)

  1. 본체에 연결된 카메라를 이용하여 구형(spherical) 목표물의 영상 데이터를 획득하는 단계;
    상기 영상 데이터로부터, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계;
    상기 산출된 반지름 및 중심 좌표를 이용하여 상기 목표물의 카메라 좌표 데이터를 산출하는 단계;
    상기 목표물의 카메라 좌표 데이터와 상기 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계;
    상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계; 및
    상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계;를 포함하는, 무인비행기 제어 방법.
  2. 제1항에 있어서,
    상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계는,
    상기 영상 데이터에서 배경을 제거하고, 적어도 하나의 전경 객체를 찾는 단계;
    상기 적어도 하나의 전경 객체 중, 기정된 크기 이하의 노이즈(noise)를 제거하는 단계; 및
    원형 허프 변환을 이용하여 상기 적어도 하나의 전경 객체 중 원형인 객체의 반지름과 중심 좌표를 산출하는 단계;를 포함하는, 무인비행기 제어 방법.
  3. 제1항에 있어서,
    상기 목표물의 월드 좌표 데이터를 산출하는 단계는,
    위치 인식 센서를 이용하여 상기 카메라의 월드 좌표 데이터를 산출하는 단계를 포함하는, 무인비행기 제어 방법.
  4. 제1항에 있어서,
    상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계는,
    상기 목표물의 월드 좌표가 기정된(predetermined) 높이 이상인 시점부터 시작되는, 무인비행기 제어 방법.
  5. 제1항에 있어서,
    상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계는,
    상기 본체의 높이를 일정하게 유지하며 상기 본체를 비행시키는 단계인, 무인비행기 제어 방법.
  6. 바닥에 격자(lattice) 형태로 배치되는 복수 개의 마커(marker); 및
    상기 마커를 인식하여 위치를 파악하며, 본체, 제어부 및 카메라를 포함하는 무인비행기;를 포함하고,
    상기 제어부는 제1항의 방법을 통해 상기 본체의 움직임을 제어하는, 무인비행기 제어 시스템.
  7. 제6항에 있어서,
    상기 무인비행기는, 상기 본체의 아래쪽에 배치되며, 상기 마커를 인식하여 위치를 파악하는 위치 인식 센서를 더 포함하는, 무인비행기 제어 시스템.
  8. 제7항에 있어서,
    상기 위치 인식 센서는 카메라를 포함하고,
    상기 카메라는 상기 마커의 이미지의 상대적인 움직임을 통해 상기 본체의 XY 월드 좌표를 측정하고, 상기 마커의 이미지의 크기 변화를 통해 상기 본체의 Z 월드 좌표를 측정하는, 무인비행기 제어 시스템.
  9. 제6항에 있어서,
    상기 카메라는 어안 렌즈를 포함하는, 무인비행기 제어 시스템.
  10. 제6항에 있어서,
    상기 무인비행기는, 목표물을 받기 위한 물체 받개(catcher)를 더 포함하는, 무인비행기 제어 시스템.
KR1020170108138A 2017-08-25 2017-08-25 카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템 KR101980095B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170108138A KR101980095B1 (ko) 2017-08-25 2017-08-25 카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170108138A KR101980095B1 (ko) 2017-08-25 2017-08-25 카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20190022173A KR20190022173A (ko) 2019-03-06
KR101980095B1 true KR101980095B1 (ko) 2019-05-20

Family

ID=65761300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170108138A KR101980095B1 (ko) 2017-08-25 2017-08-25 카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101980095B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111735388A (zh) * 2020-07-21 2020-10-02 上海上飞飞机装备制造有限公司 一种用于飞机数字化对接的部件锁紧视觉定位方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112859826A (zh) * 2019-11-26 2021-05-28 北京京东乾石科技有限公司 用于控制无人搬运车的方法和装置
CN111741216B (zh) * 2020-06-17 2021-08-03 中国人民解放军陆军工程大学 一种无人机影像采集方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688642B1 (ko) * 2015-08-10 2016-12-21 한국과학기술원 무인기 영상기반 자동 착륙을 위한 마커 인식 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688642B1 (ko) * 2015-08-10 2016-12-21 한국과학기술원 무인기 영상기반 자동 착륙을 위한 마커 인식 장치 및 방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
E. Ibarra-Jimenez 외, ‘Aerial autonomous catching ball using a nested second order sliding mode control’, IFAC-PapersOnLine Volume 50, Issue 1, 11415-11420p.(2017.07.31.)*
Oliver Birbach 외, ‘Realtime Perception for Catching a Flying Ball with a Mobile Humanoid’, 2011 IEEE International Conference on Robotics and Automation 5955-5962p.(2011.08.15.)*
문성태 외, ‘실내 자율 비행을 위한 영상 기반의 위치 인식 시스템’, 항공우주기술 12(1) 128-136p. (2013.07.31.)*
심은섭 외, ‘볼 받는 쿼드콥터 개발’, 한국항공우주학회 학술발표회 논문집 1018-1022p.(2015.11.30.)*
심은섭 외, ‘한대의 탑재 카메라를 이용한 볼 받는 쿼드콥터 시스템 개발’, 한국항공우주학회 학술발표회 논문집 292-293p.(2016.11.30.)*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111735388A (zh) * 2020-07-21 2020-10-02 上海上飞飞机装备制造有限公司 一种用于飞机数字化对接的部件锁紧视觉定位方法
CN111735388B (zh) * 2020-07-21 2020-11-17 上海上飞飞机装备制造有限公司 一种用于飞机数字化对接的部件锁紧视觉定位方法

Also Published As

Publication number Publication date
KR20190022173A (ko) 2019-03-06

Similar Documents

Publication Publication Date Title
US11604479B2 (en) Methods and system for vision-based landing
JP7465615B2 (ja) 航空機のスマート着陸
CN105652891B (zh) 一种旋翼无人机移动目标自主跟踪装置及其控制方法
US10152059B2 (en) Systems and methods for landing a drone on a moving base
Birbach et al. Realtime perception for catching a flying ball with a mobile humanoid
Ma'Sum et al. Simulation of intelligent unmanned aerial vehicle (UAV) for military surveillance
WO2019006760A1 (zh) 一种姿态的识别方法、设备及可移动平台
CN105644785B (zh) 一种基于光流法和地平线检测的无人机着陆方法
JP6343670B2 (ja) 自律移動装置及び自己位置推定方法
Ludington et al. Augmenting UAV autonomy
WO2019040804A1 (en) SYSTEMS AND METHODS FOR ENHANCING THE PERFORMANCE OF A ROBOTIC VEHICLE BY MANAGING ON-BOARD CAMERA OBSTRUCTIONS
CN106908040B (zh) 一种基于surf算法的双目全景视觉机器人自主定位方法
CN109827574A (zh) 一种无人机室内外切换导航系统
KR101980095B1 (ko) 카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템
CN109885086A (zh) 一种基于复合多边形标志引导的无人机垂直降落方法
Rodriguez-Ramos et al. Towards fully autonomous landing on moving platforms for rotary unmanned aerial vehicles
CN112740226A (zh) 基于人体指示的可移动物体的操作系统和方法
US20200366815A1 (en) Environment acquisition system
Danelljan et al. A low-level active vision framework for collaborative unmanned aircraft systems
Huang et al. Visual servoing of a micro quadrotor landing on a ground platform
Beul et al. Visually guided balloon popping with an autonomous MAV at MBZIRC 2020
Basit et al. Joint localization of pursuit quadcopters and target using monocular cues
Cabrera-Ponce et al. A vision-based approach for autonomous landing
CN206291910U (zh) 载体的姿态信息的获取系统
Cao et al. Research on application of computer vision assist technology in high-precision UAV navigation and positioning

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant