KR20190022173A - Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera - Google Patents

Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera Download PDF

Info

Publication number
KR20190022173A
KR20190022173A KR1020170108138A KR20170108138A KR20190022173A KR 20190022173 A KR20190022173 A KR 20190022173A KR 1020170108138 A KR1020170108138 A KR 1020170108138A KR 20170108138 A KR20170108138 A KR 20170108138A KR 20190022173 A KR20190022173 A KR 20190022173A
Authority
KR
South Korea
Prior art keywords
target
obj
camera
main body
calculating
Prior art date
Application number
KR1020170108138A
Other languages
Korean (ko)
Other versions
KR101980095B1 (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 KR1020170108138A priority Critical patent/KR101980095B1/en
Publication of KR20190022173A publication Critical patent/KR20190022173A/en
Application granted granted Critical
Publication of KR101980095B1 publication Critical patent/KR101980095B1/en

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

According to an embodiment of the present invention, a method for controlling an unmanned aerial vehicle comprises the steps of: obtaining video data of a spherical target by using a camera connected to a main body; calculating a radius and a center coordinate on an image plane of the target from the video data; calculating camera coordinate data of the target by using the calculated radius and center coordinate; calculating world coordinate data of the target by using the camera coordinate data of the target and location data of the main body; predicting trajectories of the target by using the world coordinate data of the target; and flying the main body toward one coordinate of the predicted trajectories.

Description

카메라를 통해 구형 목표물의 궤적을 예측하여 무인비행기의 움직임을 제어하는 방법 및 시스템{Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and system for controlling a motion of a UAV by predicting a trajectory of a spherical target through a camera,

본 발명은 무인비행기의 움직임을 제어하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for controlling movement of an unmanned aerial vehicle.

무인비행기(Unmanned Aerial Vehicle, UAV)는 드론(drone)이라고도 불리며, 사람이 타지 않고 무선전파의 유도를 통해 비행하는 비행기나 헬리콥터 모양의 비행체를 말한다. 최근, 카메라와 센서 등을 갖추어 탁월한 감지능력과 신속한 이동성을 갖춘 무인비행기는 운송, 보안, 감시, 관측 등 여러 분야에서 활용되고 있다.Unmanned Aerial Vehicle (UAV), also called a drone, refers to a plane or helicopter-like airplane flying through induction of radio waves by people without burning. In recent years, unmanned airplanes, which are equipped with cameras and sensors and have excellent sensing ability and rapid mobility, are used in various fields such as transportation, security, surveillance and observation.

최근, 모션 캡처 시스템(motion capture system)이 설치된 공간에서 공을 받거나 저글링을 할 수 있는 무인비행기에 관한 연구결과가 발표된 바 있다. 이러한 시스템은 외부에 설치된 깊이 카메라를 통해 영상을 분석한 후, 분석 정보를 무인비행기에 송신하여 움직임을 제어한다. Recently, research results have been published on a UAV that can receive or juggle a ball in a space where a motion capture system is installed. The system analyzes the image through an external depth camera and transmits the analysis information to the unmanned airplane to control the movement.

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.Wang, H., et al., &Quot; Doggy Drone: A low cost ball catching system based on AR.Drone quadrotor and Xtion PRO ", 2015 IEEE International Conference on Information and Automation, 2853-2858.

상술한 바와 같은 모션 캡처 시스템(motion capture system)은 다수의 외부의 카메라를 이용하여, 큰 비용이 발생하는 문제가 있다.The above-described motion capture system uses a large number of external cameras, which causes a large cost.

본 발명은 상기와 같은 문제점을 포함하여 여러 문제점을 해결하기 위한 것으로써, 별도의 외부 카메라 없이 무인비행기에 연결된 카메라만을 이용하여 목표물의 위치를 파악, 궤적을 예측하여 공 받기(catching) 등의 다양한 동작을 수행할 수 있는 무인비행기 제어 방법 및 시스템을 제공하는 것을 목적으로 한다. 그러나, 이러한 과제는 예시적인 것으로, 이에 의해 본 발명의 범위가 한정되는 것은 아니다.Disclosure of Invention Technical Problem [8] Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and an object of the present invention is to provide a navigation system, And an object of the present invention is to provide an unmanned airplane control method and system capable of performing an operation. However, these problems are illustrative and do not limit the scope of the present invention.

본 발명의 일 실시예에 따른 무인비행기 제어 방법은, 본체에 연결된 카메라를 이용하여 구형(spherical) 목표물의 영상 데이터를 획득하는 단계; 상기 영상 데이터로부터, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계; 상기 산출된 반지름 및 중심 좌표를 이용하여 상기 목표물의 카메라 좌표 데이터를 산출하는 단계; 상기 목표물의 카메라 좌표 데이터와 상기 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계; 상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계; 및 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계;를 포함한다. According to another aspect of the present invention, there is provided a method of controlling an unmanned airplane, the method comprising: acquiring image data of a spherical target using a camera connected to the main body; Calculating a radius and a center coordinate on the image plane of the target from the image data; Calculating camera coordinate data of the target using the calculated radius and center coordinates; Calculating world coordinate data of the target using camera coordinate data of the target and position data of the main body; Estimating a trajectory of the target using world coordinate data of the target; And flying the body toward one of the predicted trajectories.

일 실시예에 있어서, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계는, 상기 영상 데이터에서 배경을 제거하고, 적어도 하나의 전경 객체를 찾는 단계; 상기 적어도 하나의 전경 객체 중, 기정된 크기 이하의 노이즈를 제거하는 단계; 및 원형 허프 변환을 이용하여 상기 적어도 하나의 전경 객체 중 원형인 객체의 반지름과 중심 좌표를 산출하는 단계;를 포함할 수 있다. In one embodiment, calculating the radius and center coordinates on the image plane of the target comprises: removing the background from the image data and finding at least one foreground object; Removing noise less than a predetermined size from the at least one foreground object; And calculating a radius and a center coordinate of a circle object of the at least one foreground object using the circular Hough transform.

일 실시예에 있어서, 상기 목표물의 월드 좌표 데이터를 산출하는 단계는, 위치 인식 센서를 이용하여 상기 카메라의 월드 좌표 데이터를 산출하는 단계를 포함할 수 있다. In one embodiment, calculating the world coordinate data of the target may include calculating world coordinate data of the camera using the position recognition sensor.

일 실시예에 있어서, 상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계는, 상기 목표물의 월드 좌표가 기정된(predetermined) 높이 이상인 시점부터 시작될 수 있다. In one embodiment, the step of predicting the locus of the target using the world coordinate data of the target may be started from a time point at which the world coordinate of the target is equal to or higher than a predetermined height.

일 실시예에 있어서, 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계는, 상기 본체의 높이를 일정하게 유지하며 상기 본체를 비행시키는 단계일 수 있다. In one embodiment, the step of flying the main body toward one of the predicted trajectories may be a step of flying the main body while maintaining the height of the main body constant.

본 발명의 일 실시예에 따른 무인비행기 제어 시스템은, 바닥에 격자(lattice) 형태로 배치되는 복수 개의 마커(marker); 및 상기 마커를 인식하여 위치를 파악하며, 본체, 제어부 및 카메라를 포함하는 무인비행기;를 포함하고, 상기 제어부는 상술한 무인비행기 제어 방법을 통해 상기 본체의 움직임을 제어한다.According to an embodiment of the present invention, there is provided an unmanned airplane control system comprising: a plurality of markers arranged on a floor in a lattice form; And an unmanned airplane that recognizes the position of the marker and includes a main body, a control unit, and a camera, and the control unit controls the movement of the main body through the above-described unmanned airplane control method.

일 실시예에 있어서, 상기 무인비행기는, 상기 본체의 아래쪽에 배치되며, 상기 마커를 인식하여 위치를 파악하는 위치 인식 센서를 더 포함할 수 있다.In one embodiment, the UAV may further include a position recognition sensor disposed below the main body and recognizing the position of the marker.

일 실시예에 있어서, 상기 위치 인식 센서는, 상기 마커 이미지의 상대적인 움직임을 통해 상기 본체의 XY 월드 좌표를 측정하고, 상기 마커 이미지의 크기 변화를 통해 상기 본체의 Z 월드 좌표를 측정할 수 있다. In one embodiment, the position recognition sensor may measure the XY world coordinate of the main body through the relative movement of the marker image, and may measure the Z world coordinate of the main body through the change of the size of the marker image.

일 실시예에 있어서, 상기 카메라는 어안 렌즈를 포함할 수 있다. In one embodiment, the camera may comprise a fisheye lens.

일 실시예에 있어서, 상기 무인비행기는, 목표물을 받기 위한 물체 받개(catcher)를 더 포함할 수 있다. In one embodiment, the unmanned airplane may further include an object catcher for receiving a target.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다. Other aspects, features, and advantages will become apparent from the following drawings, claims, and detailed description of the invention.

상기한 바와 같이 이루어진 본 발명의 무인비행기 제어 방법 및 시스템에 따르면, 별도의 외부 카메라 없이 무인비행기에 연결된 카메라만을 이용하여 목표물의 위치를 파악, 궤적을 예측하여 공 받기(catching) 등의 다양한 동작을 수행할 수 있다. 이에 따라, 외부 카메라를 사용하는 것보다 간단한 방식으로 무인비행기를 제어할 수 있어 설치/운용 비용이 감소한다. 물론 이러한 효과에 의해 본 발명의 범위가 한정되는 것은 아니다.According to the method and system for controlling unmanned airplane of the present invention as described above, it is possible to perform various operations such as catching a target by locating a target, predicting a locus, and using a camera connected to an unmanned airplane without a separate external camera Can be performed. As a result, it is possible to control the unmanned airplane in a simpler manner than using an external camera, thereby reducing the installation / operation cost. Of course, the scope of the present invention is not limited by these effects.

도 1은 본 발명의 일 실시예에 따른 무인비행기 제어 방법의 각 단계를 나타낸 순서도이다.
도 2는 본 발명의 일 실시예에 따른 무인비행기 제어 방법에 따라 무인비행기를 이동시키는 과정을 간략하게 예시한 그림이다.
도 3은 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계를 상세하게 나타낸 순서도이며, 도 4는 단계별 이미지 처리 상태를 나타낸 그림이다.
도 5는 이미지 평면에서의 목표물 상의 반지름 및 좌표를 이용하여 목표물의 카메라 좌표 데이터를 산출하는 원리를 설명하기 위한 그림이다.
도 6은 목표물의 월드 좌표 데이터를 산출하는 원리를 설명하기 위한 그림이다.
도 7은 목표물의 궤적을 예측하는 원리를 간략하게 나타낸 그림이다.
도 8은 목표물의 궤적을 예측하기 위한 목표물의 월드 좌표 데이터의 기점을 설정하는 방법을 나타낸 그림이다.
도 9는 예측된 궤적 중의 한 좌표를 향해 본체를 비행시키는 방법을 예시한 그림이다.
도 10은 본 발명의 일 실시예에 따른 카메라의 화각(angle of view)을 나타낸 그림이다.
도 11은 여러 형태의 물체 받개(catcher)를 도시한 그림이다.
FIG. 1 is a flowchart illustrating steps of an unmanned airplane control method according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a process of moving an unmanned airplane according to an unmanned airplane control method according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 3 is a flowchart illustrating in detail a step of calculating a radius and a center coordinate on an image plane of a target, and FIG. 4 is a diagram illustrating a state of image processing in a stepwise manner.
5 is a diagram for explaining a principle of calculating camera coordinate data of a target using a radius and a coordinate of a target image on an image plane.
6 is a diagram for explaining the principle of calculating world coordinate data of a target.
7 is a diagram schematically showing the principle of predicting the trajectory of the target.
8 is a diagram showing a method of setting a starting point of world coordinate data of a target for predicting a trajectory of a target.
9 is a diagram illustrating a method of flying the main body toward one of the predicted trajectories.
10 is a view showing an angle of view of a camera according to an embodiment of the present invention.
11 is a view showing various types of object catchers.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in the detailed description. The effects and features of the present invention and methods of achieving them will be apparent with reference to the embodiments described in detail below with reference to the drawings. However, the present invention is not limited to the embodiments described below, but may be implemented in various forms.

이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용된다.In the following embodiments, the terms first, second, etc. are used for the purpose of distinguishing one element from another element, rather than limiting.

이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.In the following examples, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise.

이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.In the following embodiments, terms such as inclusive or possessive are intended to mean that a feature, or element, described in the specification is present, and does not preclude the possibility that one or more other features or elements may be added.

어떤 실시예가 달리 구현 가능한 경우에 특정한 단계는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 단계는 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 수행될 수도 있다.If certain embodiments are otherwise feasible, the specific steps may be performed differently from the described order. For example, two successively described steps may be performed substantially concurrently, or may be performed in a reverse order to that described.

본 명세서에서, '무인비행기'는 조종사가 비행체에 직접 탑승하지 않고 지상에서 원격조종(remote piloted)되거나 사전 프로그램된 경로에 따라 자동(auto-piloted) 또는 반자동(semi-auto-piloted) 형식으로 자율비행하는 비행체를 통칭하는 것으로, 쿼드콥터(quadcopter), 헥사콥터(hexacopter) 등의 멀티콥터(multicopter)를 포함한다. As used herein, 'drone' means that a pilot may be autonomously piloted in an auto-piloted or semi-auto-piloted manner according to a pre-programmed route, remote piloted on the ground, It refers to a flying body flying, and includes a multicopter such as a quadcopter, a hexacopter, or the like.

본 명세서에서, '월드 좌표계'는 물체의 위치를 표현할 때 기준으로 삼는 불변의 좌표계로, X, Y, Z축을 가진다. In this specification, a 'world coordinate system' is an invariant coordinate system which is used as a reference when expressing the position of an object, and has X, Y, and Z axes.

본 명세서에서, '카메라 좌표계'는 카메라의 초점(렌즈의 중심)을 중심으로, 정면 광학축 방향을 X'축으로, 카메라 아랫방향을 Y'축으로, 카메라 윗방향을 Z'축으로 하는 좌표계이다. In the present specification, the 'camera coordinate system' is a coordinate system in which the center of the camera (the center of the lens) is centered, the front optical axis direction is the X 'axis, the camera downward direction is the Y' axis, to be.

도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.In the drawings, components may be exaggerated or reduced in size for convenience of explanation. For example, the size and thickness of each component shown in the drawings are arbitrarily shown for convenience of explanation, and thus the present invention is not necessarily limited to those shown in the drawings.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 같거나 대응하는 구성 요소는 같은 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or corresponding components throughout the drawings, and a duplicate description thereof will be omitted .

도 1은 본 발명의 일 실시예에 따른 무인비행기 제어 방법의 각 단계를 나타낸 순서도이다.FIG. 1 is a flowchart illustrating steps of an unmanned airplane control method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 무인비행기 제어 방법은, 본체에 연결된 카메라를 이용하여 구형(spherical) 목표물의 영상 데이터를 획득하는 단계(S10); 상기 영상 데이터로부터, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계(S20); 상기 산출된 반지름 및 중심 좌표를 이용하여 상기 목표물의 카메라 좌표 데이터를 산출하는 단계(S30); 상기 목표물의 카메라 좌표 데이터와 상기 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계(S40); 상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계(S50); 및 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계(S60)를 포함한다. A method of controlling an unmanned airplane according to an embodiment of the present invention includes: acquiring image data of a spherical target using a camera connected to a main body; Calculating (S20) a radius and a center coordinate on the image plane of the target from the image data; (S30) calculating camera coordinate data of the target using the calculated radius and center coordinates; (S40) calculating world coordinate data of the target using camera coordinate data of the target and position data of the main body; Estimating a trajectory of the target using the world coordinate data of the target (S50); And flying the main body toward a coordinate in the predicted trajectory (S60).

이하 도 1을 참조하여 본 발명의 일 실시예에 따른 무인비행기 제어 방법의 각 단계를 간략하게 설명한다. Hereinafter, each step of the method for controlling an unmanned airplane according to an embodiment of the present invention will be briefly described with reference to FIG.

우선, 무인비행기 본체에 연결된 카메라를 이용하여 구형 목표물의 영상 데이터를 획득하는 단계(S10)가 수행된다. 본 발명에서는, 별도의 외부의 카메라 없이 무인비행기에 연결 또는 탑재된 카메라로 목표물의 위치 또는 좌표를 파악한 후 이를 이용하여 무인비행기를 제어한다. First, a step S10 of acquiring image data of a spherical target using a camera connected to the body of the unmanned airplane is performed. In the present invention, the position or coordinates of the target are detected by a camera connected to or mounted on a UAV, without a separate external camera, and the unmanned airplane is controlled using the coordinates.

한편, 본 발명의 일 목적은 영상 데이터를 분석/처리하여 특정 구형 목표물을 인식하고, 목표물까지의 거리를 추산하는 것이다. 이를 위해서는 목표물이 회전하더라도 같은 모양을 유지하는 구형 대칭성(spherical symmetry)을 가지는 것이 바람직하다. 이에 대해서는 후술한다. An object of the present invention is to analyze / process image data to recognize a specific spherical target and to estimate a distance to a target. For this purpose, it is desirable to have a spherical symmetry maintaining the same shape even if the target rotates. This will be described later.

이후, 영상 데이터로부터 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계(S20)가 수행된다. '이미지 평면'은 카메라 픽셀 좌표계 또는 영상 좌표계 상에서의 평면으로, 카메라가 촬영한 물체의 상(image)이 투영(projection)되는 평면이다. 본 발명에서는 구형의 목표물을 상정하므로, 이미지 평면에 나타난 목표물의 상(image)은 원(circle)이 된다. 따라서 이미지 평면 상에서의 반지름과 중심 좌표를 영상 처리의 오차 범위 내에서 명확하게 정의할 수 있다.Thereafter, step S20 of calculating the radius and the center coordinates on the image plane of the target from the image data is performed. An 'image plane' is a plane on a camera pixel coordinate system or an image coordinate system, on which an image of an object photographed by the camera is projected. In the present invention, since a spherical target is assumed, the image of the target in the image plane becomes a circle. Therefore, the radius and the center coordinates on the image plane can be clearly defined within the error range of the image processing.

이후, 상기 산출된 반지름 및 중심 좌표를 이용하여 목표물의 카메라 좌표 데이터를 산출하는 단계(S30)가 수행된다. 본 발명에서는, 촬영된 이미지 평면 상에서의 목표물의 상(image)의 반지름과 중심 좌표를 이용하여 카메라에 대한 목표물의 상대적인 위치(depth, 좌표)를 파악한다. 한편, 본 발명에서는 구형의 목표물을 상정하므로, 목표물이 특정 위치에서 회전하더라도 목표물의 상의 크기는 하나로 명확하게 정의될 수 있다.Thereafter, step S30 of calculating the camera coordinate data of the target using the calculated radius and the center coordinates is performed. In the present invention, the relative position (depth, coordinates) of the target relative to the camera is grasped by using the radius and center coordinates of the image of the target on the photographed image plane. On the other hand, in the present invention, since a spherical target is assumed, even if the target rotates at a specific position, the size of the image of the target can be clearly defined as one.

이후, 목표물의 카메라 좌표 데이터와 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계(S40)가 수행된다. 이 단계(S40)에서는 카메라의 방향(orientation) 정보 및 본체의 위치 데이터를 파악하여, 이를 이용해 목표물의 월드 좌표 데이터를 획득한다. Thereafter, step (S40) of calculating world coordinate data of the target using camera coordinate data of the target and position data of the main body is performed. In this step S40, the orientation information of the camera and the position data of the main body are grasped and the world coordinate data of the target is obtained using the orientation data.

이후, 목표물의 월드 좌표 데이터를 이용하여 목표물의 궤적을 예측하는 단계(S50)가 수행된다. 본체의 위치 및 카메라의 각도와 관계없이, 프레임마다 목표물의 월드 좌표를 획득한 상태에서, 운동방정식(equation of motion)을 이용하여 목표물의 향후 궤적을 예측할 수 있다. Thereafter, step (S50) of predicting the trajectory of the target using the world coordinate data of the target is performed. The future trajectory of the target can be predicted using the equation of motion in a state in which the world coordinates of the target are acquired for each frame regardless of the position of the main body and the angle of the camera.

이후, 상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계(S60)가 수행된다. 예컨대 이 단계(S60)에서는 목표물의 낙하지점을 예상하여, 본체를 낙하지점으로 비행시켜 다양한 목적을 수행할 수 있다. Thereafter, the step of flying the main body toward a coordinate in the predicted locus is performed (S60). For example, in this step S60, various objects can be performed by anticipating the drop point of the target and flying the body to the drop point.

상술한 각 단계는 프레임(frame)마다 반복적으로 수행될 수 있다. Each of the above-described steps may be repeatedly performed for each frame.

도 2는 본 발명의 일 실시예에 따른 무인비행기 제어 방법에 따라 무인비행기를 이동시키는 과정을 간략하게 예시한 그림이다. 도 2의 왼쪽에는 무인비행기의 본체(10), 이미지 평면(IP) 및 목표물(OBJ)이 월드 좌표계에서 도시되어 있으며, 오른쪽에는 이미지 평면(IP)에서의 목표물의 상(image, IOBJ)이 도시되어 있다. 도 2에서는 편의상 이미지 평면(IP)과 목표물(OBJ)이 카메라(20) 렌즈로부터 같은 위치에 있는 것으로 도시하였다. FIG. 2 is a diagram illustrating a process of moving an unmanned airplane according to an unmanned airplane control method according to an exemplary embodiment of the present invention. Referring to FIG. On the left side of FIG. 2, the main body 10, the image plane IP and the object OBJ of the UAV are shown in the world coordinate system. On the right side, an image I OBJ of the target in the image plane IP Respectively. 2, the image plane IP and the target OBJ are shown as being in the same position from the camera 20 lens for convenience.

도 2의 (a)를 참조하면, i번째 프레임 시점에서의 상태가 나타난다. i번째 프레임에서는 목표물(OBJ)이 공중으로 던져진 직후이며, 무인비행기의 본체(10)는 초기의 위치에 있는 상태임을 가정하기로 한다. 이때 목표물(OBJ)의 중심 좌표를 POBJ(i), 목표물(OBJ)의 이미지 평면(IP)에서의 상을 IOBJ(i), 상 IOBJ(i)의 반지름의 크기를 r1이라 하자. 이때 목표물(OBJ)은 카메라(20)로부터 멀리 떨어져 있으므로, 목표물의 상 IOBJ(i)의 반지름(r1)은 비교적 작다.Referring to FIG. 2 (a), the state at the time of the i-th frame is displayed. In the i-th frame, it is assumed that the target OBJ is immediately after being thrown into the air, and the body 10 of the UAV is in an initial position. Let the center coordinates of the target OBJ be P OBJ (i), the image I OBJ (i) in the image plane IP of the target OBJ and the radius of the image I OBJ (i) be r 1 . At this time, since the target OBJ is far away from the camera 20, the radius r 1 of the phase I OBJ (i) of the target is relatively small.

i번째 프레임 이후 복수 개의 프레임에서 목표물의 좌표 정보를 획득한 후에는, 운동방정식을 통해 목표물의 궤적을 예측할 수 있다. 이에 따라, 무인비행기의 날개부의 움직임을 제어하는 제어부는 본체가 목표물의 예측 낙하지점 근처로 비행하도록 명령할 수 있다. After obtaining the coordinate information of the target in a plurality of frames after the i-th frame, the trajectory of the target can be predicted through the equation of motion. Accordingly, the control unit for controlling the movement of the wing portion of the UAV can instruct the main body to fly near the predicted dropping point of the target.

도 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)보다 이미지 평면 상에서 더 위에 있다.Referring to FIG. 2 (b), the state at the j-th (j> i) frame timing is shown. In the jth frame, it is assumed that the target OBJ is at the apex of the parabolic motion and the body 10 of the unmanned airplane is moving in the X direction. At this time, since the position of the center coordinate P OBJ (j) of the target changes, the position of the target image I OBJ (j) and the magnitude r 2 of the radius also change. The radius r 2 of the phase I OBJ (j) in the j-th frame is smaller than the radius r 1 of the phase I OBJ (i) in the i-th frame since the body 10 and the target OBJ have moved toward each other. Big. On the other hand, the target (OBJ) is because it was moved further up than at the time when the i-th frame, the location on the target is more than the above on the image plane I OBJ (j) I OBJ ( 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)보다 이미지 평면 상에서 더 위에 있다.Referring to FIG. 2 (c), the state at the k-th (k > j) frame time is displayed. it is assumed that the target is falling in the kth frame and the body 10 of the UAV is further moved in the X direction. At this time, the coordinates P OBJ the size of the position and radius of a (k) is, the target image I OBJ (k) changes, so the position of the target r 3 varies, too. The radius r 3 of the phase I OBJ (k) in the kth frame is smaller than the radius r 2 of the phase I OBJ (j) in the jth frame since the body 10 and the target OBJ have moved toward each other. Big. On the other hand, the target yeoteuna move up and down more than at the time when the j-th frame, the main body 10 and the camera 20 of the drone hayeoteumeuro move forward, position on the target is I OBJ (k), the image than I OBJ (j) It is further up on the plane.

즉 목표물의 상(IOBJ)의 위치와 크기는 카메라(20)의 위치 및 목표물(OBJ)의 위치(POBJ)에 의해 정해진다. 본 발명에서는 목표물의 상(IOBJ)의 위치와 크기를 이용하여 목표물(OBJ)의 위치를 추정한 후, 목표물(OBJ)의 궤적을 예측해 본체(10)를 비행시켜 다양한 목적을 수행한다. 본 발명에 따른 무인비행기 제어 방법의 목적 중 하나는 무인비행기를 이용하여 공중에 던져진 공을 받는 것이다(ball catching). 즉, 본 발명의 무인비행기 제어 방법을 이용하는 경우, 공중에 던져진 목표물(OBJ)의 궤적을 추산하여 무인비행기를 예측된 낙하지점으로 이동시켜 목표물(OBJ)을 받게 할 수 있다.I.e., position and size of the image (I OBJ) of the target is determined by the position (P OBJ) of the target position and (OBJ) of the camera 20. The present invention estimates the position of the target OBJ using the position and size of the target image I OBJ and then predicts the trajectory of the target OBJ to perform various purposes by flying the main body 10. [ One of the objects of the method for controlling the unmanned airplane according to the present invention is to catch a ball thrown into the air using an unmanned airplane (ball catching). That is, in the case of using the unmanned airplane control method of the present invention, it is possible to estimate the trajectory of the object OBJ thrown in the air and to move the unmanned airplane to the predicted drop point to receive the object OBJ.

이하, 본 발명의 일 실시예에 따른 무인비행기 제어 방법을 단계별로 상세하게 설명한다. Hereinafter, the method for controlling an unmanned airplane according to an exemplary embodiment of the present invention will be described in detail.

도 3은 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계를 상세하게 나타낸 순서도이며, 도 4는 단계별 이미지 처리 상태를 나타낸 그림이다. FIG. 3 is a flowchart illustrating in detail a step of calculating a radius and a center coordinate on an image plane of a target, and FIG. 4 is a diagram illustrating a state of image processing in a stepwise manner.

일 실시예에 따르면, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계(S20)는, 상기 영상 데이터에서 배경을 제거하고, 적어도 하나의 전경 객체를 찾는 단계(S21); 상기 적어도 하나의 전경 객체 중, 기정된 크기 이하의 노이즈(noise)를 제거하는 단계(S22); 및 원형 허프 변환(Hough transform)을 이용하여 상기 전경 객체 중 원형인 객체의 반지름과 중심 좌표를 산출하는 단계(S23)를 포함할 수 있다. According to one embodiment, the step S20 of calculating the radius and the center coordinates on the image plane of the target may include removing the background from the image data and searching at least one foreground object (S21); Removing (S22) noise less than a predetermined size from the at least one foreground object; And calculating a radius and a center coordinate of a circle object of the foreground object using a circular Hough transform (S23).

도 4의 (a)는 영상 데이터 중 특정 프레임에서의 이미지 평면(IP)을 나타낸다. 본 발명에서의 목표물은 구형의 공(ball)이지만, 영상 데이터에는 목표물의 상(IOBJ)뿐만 아니라 이를 던지는 사람 등 다양한 배경(background, B) 정보가 포함될 수 있다. 4 (a) shows an image plane (IP) in a specific frame of the image data. Although the target in the present invention is a spherical ball, the image data may include various backgrounds (background, B) information, such as a person throwing not only the image of the target I OBJ .

도 3 및 도 4의 (b)를 참조하면, 상기 영상 데이터에서 배경(B)을 제거하고, 적어도 하나의 전경 객체를 찾는 단계(S21)가 수행된다. 이때 '배경(B)'을 제거하기 위해, 각 픽셀의 평균과 표준편차를 이용하여 배경을 모델링하는 방법이 이용될 수 있다. 본 발명의 일 실시예에서는, 그레이(gray) 영상에서 배경과 전경을 구별하기 위해 MATLAB 비전 툴박스의 vision.ForegroundDetector 함수를 이용하였고, 배경 영상을 트레이닝(training)하기 위한 프레임의 개수(NumTrainingFrames)를 7로, 초기 표준 편차 값은 0.01을 사용하였다. 한편, 이와는 달리 특정 프레임과 그 이전 프레임의 차를 이용한 차분 영상을 활용하여 배경(B)을 제거할 수도 있다. 즉 어느 특정 프레임과 그 전 프레임의 차이를 통해 물체의 '상'이 이동하였음을 판단하여 배경(B)과 전경 객체(F1 ~ F5)를 구분할 수도 있다. 이때, 목표물이 배경보다 진한 색을 가지도록 하는 경우, 배경(B)과 전경 객체(F1 ~ F5)을 구분하는 것이 쉬워질 수 있다.Referring to FIGS. 3 and 4B, a background B is removed from the image data, and at least one foreground object is searched (S21). In this case, in order to remove the background (B), a method of modeling the background using the average and standard deviation of each pixel may be used. In one embodiment of the present invention, the vision.ForegroundDetector function of the MATLAB Vision Toolbox is used to distinguish the background from the foreground in the gray image, and the number of frames for training the background image (NumTrainingFrames) is set to 7 And an initial standard deviation value of 0.01 was used. Alternatively, the background B may be removed using a difference image using a difference between a specific frame and a previous frame. That is, it is possible to distinguish the background B from the foreground objects F 1 through F 5 by determining that the 'phase' of the object has moved through the difference between the specific frame and the previous frame. At this time, when the target has a darker color than the background, it may be easier to distinguish the background B from the foreground objects F 1 through F 5 .

특정 방식을 통해 배경과 전경 객체를 구분하였더라도, 목표물뿐만 아니라 목표물을 던지는 사람의 손, 떨림 등에 의해 목표물의 상 객체(FOBJ) 이외에 다른 전경 객체(F2 ~ F5)가 탐색될 수 있다. 도 4의 (b)에서는 목표물의 상 객체(FOBJ) 외에 4개의 다른 전경 객체(F2 ~ F5) 또는 노이즈가 있는 상태이다. The foreground object (F 2 to F 5 ) other than the target image object (F OBJ ) can be searched by not only the target but also the hand of the person throwing the target, trembling or the like. In FIG. 4B, there are four different foreground objects (F 2 to F 5 ) or noise in addition to the phase object F OBJ of the target.

도 3 및 도 4의 (c)를 참조하면, 이후 노이즈를 제거하는 단계(S22)가 수행된다. 본 발명에서, 목표물의 상 객체(FOBJ)를 제외한 나머지 객체는 '노이즈'가 된다. 본 발명의 일 실시예에서는, MATLAB 비전 툴박스의 vision.BlobAnalyzer 함수를 이용하였고, MinimumBlobArea = 50, AreaOutputPort와 Centroid OutputPort를 true로 설정하였다. 한편, 영상 데이터를 이진(binary)화한 후, bwareaopen 함수를 사용해 3 픽셀(pixel) 미만의 노이즈 영역을 제거하였다. 도 4의 (c)에서는 목표물의 상 객체(F1, FOBJ)외의 다른 노이즈(F2 ~ F5)가 제거된 상태이다.Referring to Figs. 3 and 4 (c), thereafter, step (S22) of removing noise is performed. In the present invention, the remaining objects except for the phase object (F OBJ ) of the target become 'noise'. In one embodiment of the present invention, the vision.BlobAnalyzer function of the MATLAB Vision Toolbox is used, and MinimumBlobArea = 50, AreaOutputPort and Centroid OutputPort are set to true. On the other hand, after binarizing the image data, the noise region of less than 3 pixels was removed using the bwareaopen function. In FIG. 4 (c), noise (F 2 to F 5 ) other than the phase object (F 1 , F OBJ ) of the target is removed.

도 3 및 도 4의 (d)를 참조하면, 이후 원형 허프 변환을 이용하여 상기 전경 객체 중 원형인 객체(FOBJ)의 반지름(r)과 중심 좌표(IC)를 산출하는 단계(S23)가 수행된다. 본 발명의 일 실시예에서는, imfindcircles 함수를 사용하였다. 이때 예상 반경 = [720], objectPolarity = bright로 설정하였고, sensitivity는 1차 시도 시 0.9로, 원을 못 찾으면 값을 키우고, 2개 이상 찾아지면 값을 낮게 조정하도록 설정하였다. 상기 단계(S23)를 거치는 경우, 목표물의 상(IOBJ)의 반지름(r)과 중심 좌표(IC)를 산출할 수 있다. Referring to FIGS. 3 and 4D, a step S23 of calculating a radius r and a center coordinate I C of a circular object F OBJ among the foreground objects using a circular Hough transform, Is performed. In one embodiment of the present invention, the imfindcircles function is used. In this case, the expected radius is set to [720], objectPolarity = bright, sensitivity is set to 0.9 for the first attempt, the value is increased if the circle is not found, and the value is set to be lower when two or more are found. In the step S23, the radius r and the center coordinates I C of the image I OBJ of the target can be calculated.

도 5는 이미지 평면(IP)에서의 목표물 상(IOBJ)의 반지름(r) 및 좌표(Ic(x,y))를 이용하여 목표물(OBJ)의 카메라 좌표 데이터 P'(X'OBJ, Y'OBJ, Z'OBJ)를 산출하는 원리를 설명하기 위한 그림이다. 도 5에서는 설명의 편의를 위해 가상의 이미지 평면(IP)이 카메라(20)의 앞쪽에 초점 거리(F)만큼 떨어져 있는 것으로 도시하였다. 5 shows camera coordinate data P '(X' OBJ , X ') of the target OBJ using the radius r and the coordinates I c (x, y) of the target image I OBJ at the image plane IP, Y ' OBJ , Z' OBJ ). In FIG. 5, a virtual image plane (IP) is shown in front of the camera 20 as a focal distance F for convenience of explanation.

목표물(OBJ)이 구형(spherical)인 경우, 목표물(OBJ)의 방향(orientation)에 관계없이 이미지 평면에서의 상(IOBJ)은 원(circle)형이 된다. 이 경우, 목표물(OBJ)의 반지름(R) 정보를 알고 있는 경우, 상(IOBJ)의 반지름(r)과 초점 거리(F)를 이용하여 카메라 좌표계에서의 카메라(20)와 목표물(OBJ)과의 거리 및 목표물(OBJ)의 좌표를 측정할 수 있다. 이와 달리 목표물(OBJ)이 구형이 아닌 경우, 목표물(OBJ)의 거리뿐만 아니라 방향(orientation)에 따라서도 이미지 평면(IP)에서의 상의 모양이 달라지게 된다. 이때는 카메라 좌표계에서의 카메라(20)와 목표물(OBJ)과의 거리를 추정하기 위해서는 추가적인 정보가 필요하게 된다.When the target OBJ is spherical, the image I OBJ in the image plane becomes a circle regardless of the orientation of the target OBJ. In this case, if you know the radius (R) the information of the reference object (OBJ), the (I OBJ), the radius (r) and by the focal length (F) the camera 20 and the target (OBJ) in the camera coordinate system of the And the coordinates of the target OBJ can be measured. Alternatively, when the target OBJ is not spherical, the shape of the image on the image plane IP varies depending on the orientation as well as the distance of the target OBJ. At this time, additional information is required to estimate the distance between the camera 20 and the target OBJ in the camera coordinate system.

기하학적으로, 카메라(20)의 초점 거리(F)와 목표물(OBJ)의 X' 좌표(X'OBJ) 및 목표물의 상(IOBJ)의 반지름(r)과 목표물의 실제 반지름(R)은 비례한다. 따라서, 카메라 좌표계에서 목표물의 X' 방향 깊이(depth), 즉 X'OBJ의 크기는 아래 <수학식 1>에 의해 정해진다. Geometrically, X 'coordinate (X' OBJ) and phase (I OBJ), the radius (r) and the actual radius (R) of the reference object of a target of the camera 20, the focal length (F) and target (OBJ) of the proportional do. Therefore, the depth in the X 'direction of the target in the camera coordinate system, that is, the magnitude of X' OBJ , is defined by Equation (1) below.

<수학식 1>&Quot; (1) &quot;

X'OBJ = R * F / rX ' OBJ = R * F / r

이때, X'OBJ 는 카메라 좌표계에서 목표물의 X' 좌표를, R은 목표물의 실제 반지름을, F는 카메라의 초점 거리를, r은 이미지 평면(IP)에서 목표물의 상(IOBJ)의 반지름을 의미한다. 이 중 R과 F는 상수이나, X'OBJ 및 r은 프레임마다 크기가 달라지는 변수이다. In this case, X ' OBJ is the radius of the image of the target (I OBJ ) in the image plane (IP), F is the focal length of the camera, R is the actual radius of the target, it means. Of these, R and F are constants, and X ' OBJ and r are variables whose sizes vary from frame to frame.

한편, 목표물(OBJ)의 Y' 방향 및 Z' 방향의 좌표(Y'OBJ, Z'OBJ)는, 아래와 같이 이미지 평면(IP)에서의 목표물의 상(IOBJ)의 위치 IC(y, z) 및 비례 관계를 통해 아래의 <수학식 2>와 같이 측정할 수 있다. On the other hand, the coordinates (Y ' OBJ , Z' OBJ ) in the Y 'direction and the Z' direction of the target OBJ are obtained by calculating the position I C (y, z) and a proportional relation, as shown in Equation (2) below.

<수학식 2>&Quot; (2) &quot;

Y'OBJ = X'OBJ * y / FY ' OBJ = X ' OBJ * y / F

Z'OBJ = Zbias - X'OBJ * z / FZ ' OBJ = Z bias - 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축의 방향이 반대이기 때문이다. At this time, the Y 'OBJ, Z' OBJ is Y of the reference object (OBJ) in the camera coordinate system ', Z' coordinate, y, z is the center (I C) of the phase of the reference object (I OBJ) on the image plane (IP) And Z bias is a constant for matching the origin of the Z 'axis and the z axis. Meanwhile, X ' OBJ The reason why the sign of the z / F term is negative is that the directions of the Z 'axis and the z axis are opposite in FIG.

<수학식 1> 및 <수학식 2>를 살펴보면, 이미지 평면(IP)에서의 상(IOBJ)의 반지름(r) 및 좌표(y, z)를 통해 목표물(OBJ)의 카메라 좌표계에서의 위치 P'(X'OBJ , Y'OBJ, Z'OBJ)를 알아낼 수 있다. 한편, X', Y', Z'축 및/또는 y, z축의 방향을 어떻게 설정하느냐에 따라 상기 수학식은 달라질 수 있다. 즉 이미지 평면(IP)에서의 상의 반지름 및 중심 좌표를 이용하여 카메라 좌표 데이터를 구하기 위한 식은 위의 <수학식 1> 및 <수학식 2>에 한정되지 않는다. The position (x, y) of the target OBJ in the camera coordinate system of the object OBJ is calculated through the radius r and the coordinates y and z of the image I OBJ in the image plane IP, P '(X' OBJ , Y ' OBJ, Z' OBJ ). On the other hand, the above equation can be changed depending on how the X ', Y', Z 'axis and / or the directions of the y and z axes are set. That is, the formula for obtaining the camera coordinate data using the image radius and the center coordinates in the image plane IP is not limited to the above Equation 1 and Equation 2.

도 6은 목표물(OBJ)의 월드 좌표 데이터를 산출하는 원리를 설명하기 위한 그림이다. 목표물(OBJ)의 카메라 좌표 데이터를 산출한 후에는, 월드 좌표 데이터를 산출하는 단계(S40)가 수행된다. 본체(10)가 이동하면서 이에 연결된 카메라(20)의 위치 역시 바뀌게 되므로, 목표물(OBJ)의 '객관적인' 위치를 표현하기 위해서는 모든 프레임마다 같은 기준을 가지는 월드 좌표계를 사용하는 것이 바람직하다. 6 is a diagram for explaining the principle of calculating world coordinate data of the target OBJ. After calculating the camera coordinate data of the target OBJ, step S40 of calculating world coordinate data is performed. Since the position of the camera 20 connected to the main body 10 is changed as well as the main body 10 is moved, it is preferable to use a world coordinate system having the same reference every frame to express the 'objective' position of the target OBJ.

이때, 월드 좌표계(X, Y, Z)와 카메라 좌표계(X', Y', Z')는 서로 회전 변환 관계에 있다. 따라서, 자이로 센서 등을 통해 카메라(20)가 월드 좌표계에 대해 어느 방향(orientation)을 향하는지를 알 수 있고, 역으로 카메라 좌표계에 대해 월드 좌표계가 얼마나 회전되어 있는지를 알 수 있다. 따라서, 목표물(OBJ)의 카메라 좌표계에서의 좌표를 아래와 같이 월드 좌표계에서의 좌표를 향해 변환할 수 있다.At this time, the world coordinate system (X, Y, Z) and the camera coordinate system (X ', Y', Z ') are rotationally related to each other. Accordingly, it is possible to know in which direction the camera 20 is oriented with respect to the world coordinate system through the gyro sensor or the like, and conversely, how much the world coordinate system is rotated with respect to the camera coordinate system. Therefore, the coordinates of the target object OBJ in the camera coordinate system can be transformed toward the coordinates in the world coordinate system as follows.

<수학식 3>&Quot; (3) &quot;

POBJ(XOBJ, YOBJ, ZOBJ) = R * P'OBJ(X' OBJ,Y' OBJ,Z' OBJ) + PCAM(XCAM, YCAM, ZCAM)P OBJ (X OBJ , Y OBJ , Z OBJ ) = R * P ' OBJ (X' OBJ , Y ' OBJ , Z ' OBJ ) + P CAM (X CAM , Y CAM , Z CAM )

이때 R은 두 좌표계 사이의 3x3 회전변환행렬이고, P'OBJ(X' OBJ,Y' OBJ,Z' OBJ)는 카메라 좌표계에서의 목표물의 위치 벡터이며, POBJ(XOBJ, YOBJ, ZOBJ)는 월드 좌표계에서의 목표물(OBJ)의 위치 벡터이다. 한편, PCAP(XCAM, YCAM, ZCAM)은 카메라(20)의 월드 좌표계에서의 위치 벡터이다. Where R is a 3x3 rotation transformation matrix between two coordinate systems, and P ' OBJ (X' OBJ , Y ' OBJ , Z ' OBJ ) is the position vector of the target in the camera coordinate system, and P OBJ (X OBJ , Y OBJ , Z OBJ ) is the position vector of the target OBJ in the world coordinate system. On the other hand, P CAP (X CAM , Y CAM , Z CAM ) is a position vector in the world coordinate system of the camera 20.

한편, 무인비행기의 카메라(20)에 짐벌(gimbal)을 연결하여, 무인비행기의 본체(10)가 월드 좌표계에서 회전하더라도 카메라(20)는 회전하지 않게 하는 경우, 카메라 좌표계와 월드 좌표계는 회전 변환이 없는 평행이동 관계에 있게 된다. 이 경우 상술한 회전변환행렬 R은 3x3 단위행렬 I로 생각할 수 있다.When the gimbal is connected to the camera 20 of the unmanned airplane so that the camera 20 does not rotate even if the body 10 of the unmanned airplane rotates in the world coordinate system, There is no parallel movement relationship. In this case, the rotation transformation matrix R described above can be considered as a 3x3 unitary matrix I. [

본 발명의 일 실시예에서는, i) 카메라 좌표계에서 구한 카메라(20)와 목표물(OBJ) 사이의 상대적인 좌표의 차이를 월드 좌표계로 회전 변환하고, ii) 카메라(20)의 월드 좌표계에서의 좌표값(PCAM)을 더하여 최종적으로 목표물(OBJ)의 월드 좌표 (POBJ)를 산출한다. 이때, 카메라(20)의 월드 좌표계에서의 좌표값을 알아내기 위해, 카메라(20)가 기준점에서 얼마만큼 떨어져 있는지 측정할 수단이 필요하다. In an embodiment of the present invention, i) a difference between relative coordinates between a camera 20 and a target OBJ obtained from a camera coordinate system is rotationally transformed into a world coordinate system, ii) a coordinate value in the world coordinate system of the camera 20 (P CAM ) is added to finally calculate the world coordinate (P OBJ ) of the target OBJ . At this time, in order to find the coordinate value in the world coordinate system of the camera 20, a means for measuring how far the camera 20 is away from the reference point is needed.

일 실시예에 따르면, 목표물(OBJ)의 월드 좌표 데이터를 산출하는 단계는, 위치 인식 센서(60)를 이용하여 카메라(20)의 월드 좌표 데이터를 산출하는 단계를 포함할 수 있다. According to one embodiment, the step of calculating the world coordinate data of the target OBJ may include the step of calculating the world coordinate data of the camera 20 using the position recognition sensor 60. [

도 6을 참조하면, 본 발명에 의한 무인비행기 제어 방법을 사용하는 공간의 바닥에는 다수 개의 마커(marker, M)가 격자(lattice) 형태로 배치될 수 있다. 각각의 마커(M)는 X, Y 월드 좌표에 대한 정보를 가질 수 있다. 무인비행기는 본체(10)의 아래쪽에 배치될 수 있는 위치 인식 센서(60)를 통해, 바닥에 배치된 마커(M)를 읽어 본체(10)의 XY 평면 상에서의 월드 좌표를 파악할 수 있다. Referring to FIG. 6, a plurality of markers M may be arranged in a lattice form at the bottom of a space using the method for controlling an unmanned airplane according to the present invention. Each marker M may have information on the X, Y world coordinates. The unmanned airplane can read the marker M placed on the floor through the position recognition sensor 60 which can be disposed below the main body 10 to grasp the world coordinates on the XY plane of the main body 10. [

예컨대 위치 인식 센서(60)는 별도의 카메라를 포함할 수 있다. 상기 카메라는, 획득한 이미지의 이동 속도를 판단할 수 있는 옵티컬 플로우(optical flow) 알고리즘을 이용해 마커의 움직임을 읽어 본체(10)의 X, Y축 이동 거리를 산출할 수 있다. 예컨대, 무인비행기가 대기하고 있을 때, 제어부는 위치 인식 센서(60)에 포함된 카메라의 이미지 정중앙에 마커(M)가 위치하도록 본체(10)의 움직임을 제어할 수 있다. 이후 본체(10)는 특정 마커(M)의 바로 위에서 호버링(hovering)할 수 있고, 이때 마커(M)를 통해 위치 인식 센서(60)는 마커(M)의 XY 절대 좌표 정보를 읽어 본체(10)의 절대 좌표를 추산할 수 있다. 이후, 본체(10)가 특정 방향으로 이동하는 경우, 위치 인식 센서(60)는 마커(M)의 이미지의 상대적인 움직임을 읽어 본체(10)의 X, Y 변위를 판단하여 본체(10)의 최종적인 절대 좌표를 판단할 수 있다.For example, the position recognition sensor 60 may include a separate camera. The camera can calculate movement distances of the X and Y axes of the main body 10 by reading the movement of the marker using an optical flow algorithm that can determine the movement speed of the acquired image. For example, when the unmanned airplane is on standby, the control unit can control the movement of the main body 10 so that the marker M is positioned in the center of the image of the camera included in the position recognition sensor 60. [ The body recognition sensor 60 reads the XY absolute coordinate information of the marker M through the marker M to read the XY absolute coordinate information of the marker M, ) Can be estimated. When the main body 10 moves in a specific direction, the position recognition sensor 60 reads the relative movement of the image of the marker M to determine the X and Y displacements of the main body 10, It is possible to determine the absolute coordinates.

한편, 위치 인식 센서(60)는 마커(M)의 이미지의 크기를 통해 Z축 월드 좌표를 산출할 수 있다. 예컨대, 위치 인식 센서(60)의 높이가 1m일 때 마커(M)의 이미지의 크기를 1이라고 한다면, 위치 인식 센서(60)의 높이가 1m 더 위로 올라가 2m 높이에 있을 때 마커(M)의 이미지의 크기는 1/4이 된다. 따라서, 기준높이에서 마커(M)의 이미지 크기 정보를 알고 있다면, 마커(M)의 이미지의 크기를 통해 위치 인식 센서(60) 및 본체(10)의 높이를 산출할 수 있게 된다.On the other hand, the position recognition sensor 60 can calculate the Z-axis world coordinates through the size of the image of the marker M. For example, when the height of the position recognition sensor 60 is 1 m, and the size of the image of the marker M is 1, when the height of the position recognition sensor 60 is 1 m higher and 2 m, The size of the image is 1/4. Therefore, if the image size information of the marker M is known at the reference height, the height of the position recognition sensor 60 and the body 10 can be calculated through the size of the image of the marker M. [

또는, 위치 인식 센서(60)는 라이다(LiDAR, Light Detection And Ranging) 센서, 초음파 센서, 적외선 센서 등의 거리 측정 센서를 더 포함하여, 본체(10)의 Z축 월드 좌표를 산출할 수도 있다.Alternatively, the position recognition sensor 60 may further include a distance measurement sensor such as a LiDAR (Light Detection And Ranging) sensor, an ultrasonic sensor, and an infrared ray sensor to calculate the Z-axis world coordinate of the main body 10 .

상술한 위치 인식 센서(60)를 이용하면 본체(10)의 X, Y, Z 좌표를 측정할 수 있고, 카메라(20)와 본체(10)의 거리는 일정하므로 이를 통해 카메라(20)의 좌표(PCAM)를 산출할 수 있다. The X, Y and Z coordinates of the main body 10 can be measured using the position recognition sensor 60 and the distance between the camera 20 and the main body 10 is constant. P CAM ) can be calculated.

도 7은 목표물(OBJ)의 궤적을 예측하는 원리를 간략하게 나타낸 그림이다. 월드 좌표 데이터를 산출하는 단계(S40) 이후에는, 목표물(OBJ)의 궤적을 예측하는 단계(S50)가 수행된다. Fig. 7 is a diagram schematically showing the principle of predicting the locus of the target OBJ. After the step S40 of calculating the world coordinate data, a step S50 of predicting the locus of the target OBJ is performed.

각 프레임에서, 무인비행기의 이동 여부와 관계없이 목표물(OBJ)의 위치를 월드 좌표계를 통해 파악할 수 있으므로, 제어부는 운동 방정식에 따라 목표물(OBJ)의 중심의 궤적을 예측할 수 있게 된다. 이러한 운동 방정식은 중력과 공기 항력에 대한 정보를 포함할 수 있다. 이때 확장 칼만 필터(extended Kalman filter)를 이용해 이산(discrete) 시간 방정식을 풀어 잡음에 의한 오차를 줄일 수 있다. In each frame, since the position of the object OBJ can be grasped through the world coordinate system irrespective of whether the unmanned airplane is moving or not, the control unit can predict the center locus of the object OBJ according to the equation of motion. These equations of motion can include information on gravity and air drag. At this time, it is possible to solve the discrete time equation by using the extended Kalman filter to reduce the error caused by the noise.

한편, 획득한 데이터가 많아지는 경우 목표물(OBJ)의 궤적을 더욱 정확하게 예측할 수 있다. 도 7의 (a)를 참조하면, 1번째 프레임에서 i번째 프레임까지의 목표물의 월드 좌표(OBJ(1) ~ OBJ(i))가 나타나 있다. 목표물(OBJ)이 던져진 직후, 즉 목표물(OBJ)의 비행 초기에는 위치 데이터가 적기 때문에, 영상 처리 과정 등에서의 측정 오차가 궤적 예측에 크게 영향을 끼치게 된다. 따라서 목표물(OBJ)이 낙하할 것으로 예측되는 예측 영역(ER)의 범위가 비교적 넓다. 이때, 제어부는 예상 낙하지점의 대략적인 위치만을 추정하여 본체를 이동시키는 명령을 내릴 수 있다. On the other hand, when the acquired data increases, the trajectory of the target OBJ can be more accurately predicted. Referring to Fig. 7A, world coordinates (OBJ (1) to OBJ (i)) of the target from the first frame to the i-th frame are shown. Since the position data is small immediately after the target OBJ is thrown, that is, at the beginning of the flight of the object OBJ, the measurement error in the image processing process and the like greatly affects the locus prediction. Therefore, the range of the predicted area ER expected to drop the target OBJ is relatively wide. At this time, the control unit can estimate the approximate position of the predicted drop point and issue an instruction to move the main body.

도 7의 (b)를 참조하면, 1번째 프레임에서 j번째 (j > i) 프레임까지의 목표물의 월드 좌표(OBJ(1) ~ OBJ(j))가 나타나 있다. 목표물(OBJ)의 비행시간이 길어지면 측정한 위치 데이터의 양이 많아지므로, 목표물(OBJ)이 낙하할 것으로 예측되는 예측 영역(ER)의 범위가 좁아진다. Referring to FIG. 7B, world coordinates (OBJ (1) to OBJ (j)) of the target from the first frame to the jth (j> i) frame are shown. As the flight time of the target OBJ becomes longer, the amount of the measured positional data increases, and the range of the predicted area ER predicted to drop the target OBJ becomes narrower.

도 7의 (c)를 참조하면, 1번째 프레임에서 k번째 (k > j) 프레임까지의 목표물의 월드 좌표(OBJ(1) ~ OBJ(k))가 나타나 있다. 목표물(OBJ)이 정점을 지나 하강하는 경우, 측정한 위치 데이터의 양이 충분히 많아지므로, 부분적으로 측정 오차가 발생하였더라도 예측 영역(ER)의 범위를 충분히 좁힐 수 있다. 따라서, 초기에는 대략적인 위치만을 추정할 수 있지만, 데이터가 많아질수록 목표물(OBJ)의 낙하지점을 정밀하게 예측할 수 있다. 즉 목표물(OBJ)이 하강하는 시점부터는 본체의 위치를 미세하게 제어하여, 예컨대 무인비행기가 목표물(OBJ)을 '받는' 동작을 수행하게 할 수 있다. Referring to FIG. 7C, world coordinates (OBJ (1) to OBJ (k)) of the target from the first frame to the k-th (k> j) frame are shown. When the target OBJ descends past the apex, the amount of measured position data becomes sufficiently large, so that the range of the predicted area ER can be sufficiently narrowed even if the measurement error partially occurs. Therefore, although only an approximate position can be initially estimated, the drop point of the target OBJ can be accurately predicted as the data amount increases. That is, the position of the main body can be finely controlled from the point of time when the target OBJ descends, for example, so that the unmanned airplane can perform the operation 'receiving the target OBJ'.

도 8은 목표물(OBJ)의 궤적을 예측하기 위한 목표물(OBJ)의 월드 좌표 데이터의 기점을 설정하는 방법을 나타낸 그림이다.8 is a diagram showing a method of setting the origin of world coordinate data of the target OBJ for predicting the locus of the target OBJ.

일 실시예에 따르면, 목표물(OBJ)의 월드 좌표 데이터를 이용하여 목표물(OBJ)의 궤적을 예측하는 단계는, 목표물(OBJ)의 월드 좌표가 기정된 높이(TL) 이상인 시점부터 시작될 수 있다. 상기 기정된 높이(TL)는 일반인의 평균적인 키를 고려하여, 약 2m 이상으로 설정될 수 있으나 본 발명이 이에 제한되는 것은 아니다.According to one embodiment, the step of predicting the locus of the target OBJ using the world coordinate data of the target OBJ can be started from a time point when the world coordinate of the target OBJ is equal to or higher than the predetermined height T L . The predetermined height T L may be set to about 2 m or more in consideration of the average key of a general person, but the present invention is not limited thereto.

도 8의 (a)를 참조하면, 사람이 목표물(OBJ)을 무인비행기 쪽으로 던지기 전의 상태가 나타나 있다. 사람이 공을 위로 던지기 전에는, 공을 집는 동작, 손을 위에서 아래로 향하게 움직이는 준비 동작 등 다양한 동작이 이루어질 수 있다. 그런데 만약 이런 다른 동작이 수행될 때부터 목표물(OBJ)의 월드 좌표 데이터를 모두 이용하여 궤적을 예측하는 경우, 초기 데이터는 포물선 궤적과는 관련 없는 데이터이므로 초기 예측이 크게 잘못된다. 이에 따라, 낙하지점을 최종적으로 예측하는 것이 정확하지 않게 된다. Referring to FIG. 8 (a), a state is shown before a person throws the target OBJ toward the unmanned airplane. Before the person throws the ball up, various actions can be taken, such as picking the ball, preparing the ball to move the hand downward, and so on. However, if the trajectory is predicted by using all of the world coordinate data of the object (OBJ) from the time when such another operation is performed, the initial data is largely erroneous because the initial data is data that is not related to the parabolic trajectory. As a result, it is not accurate to finally predict the drop point.

도 8의 (b)를 참조하면, 사람이 목표물(OBJ)을 무인비행기 쪽으로 던진 후의 상태가 나타나 있다. 이때 기정된 높이(TL) 이상, 예컨대 사람의 손이 위치할 것으로 예측하기 어려운 높이 이상에 목표물(OBJ)이 위치한 것으로 측정된 경우, 목표물(OBJ)은 사람의 손을 떠나 있는 상태이며, 무인비행기 쪽을 향해 비행을 시작한 것으로 추측할 수 있다. 즉, 목표물(OBJ)의 월드 좌표가 처음으로 기정된 높이(TL) 이상이 된 때(OBJ(1))를 시점으로 하여, 그 이전 프레임에서의 데이터를 삭제하고 그 이후(OBJ(i)) 프레임에서의 데이터를 가지고 목표물(OBJ)의 궤적을 예측할 수 있다. 이 경우, 목표물을 던지는 것과 관련 없는 움직임을 제외한 '포물선 궤적'과 관계된 움직임에 관한 데이터만을 수집할 수 있으므로, 낙하지점을 정확하게 예측할 수 있게 된다. Referring to FIG. 8 (b), a state is shown after a person throws the target OBJ toward the unmanned airplane. At this time, if it is determined that the target OBJ is positioned above the predetermined height (T L ), for example, at a height above a height at which it is difficult to predict that a human hand will be located, the target OBJ is in a state of leaving the human hand, You can guess that you started flying toward the plane. That is, when the world coordinate of the target OBJ becomes equal to or greater than the predetermined height T L for the first time (OBJ (1)), the data in the previous frame is deleted, ), The trajectory of the target OBJ can be predicted with the data in the frame. In this case, since only the data related to the motion related to the 'parabolic trajectory' can be collected except for the motion not related to throwing the target, the drop point can be predicted accurately.

도 9는 예측된 궤적 중의 한 좌표를 향해 본체(10)를 비행시키는 방법을 예시한 그림이다. 목표물(OBJ)의 궤적을 예측하는 단계(S50) 후에는, 본체(10)를 비행시키는 단계(S60)가 수행된다.9 is a diagram illustrating a method of flying the main body 10 toward one of the predicted trajectories. After the step S50 of predicting the locus of the target OBJ, the step S60 of flying the main body 10 is performed.

일 실시예에 따르면, 예측된 궤적 중의 한 좌표를 향해 본체(10)를 비행시키는 단계는, 본체(10)의 높이를 일정하게 유지하며 본체(10)를 비행시키는 단계일 수 있다. According to one embodiment, the step of flying the body 10 toward one of the predicted trajectories may be a step of flying the body 10 while maintaining the height of the body 10 constant.

도 9를 참조하면, 무인비행기는 위치 인식 센서(60)를 이용하여 마커(M)에서 일정한 거리만큼 떨어진 상태로 이동하도록 제어될 수 있다. 이 경우, 무인비행기는 초기 위치와 같은 높이(h)를 가지는 평면(Ph)에서 이동할 수 있다. 이때, 상기 평면(Ph)과 목표물(OBJ)의 예측 궤적선은 한 점(FD)에서 만나게 된다. 일 실시예에 따르면, 상기 점(FD)을 최종 목표 지점(final destination)으로 하도록 무인비행기의 비행을 제어할 수 있다. 이처럼 본체(10)의 높이를 일정하게 유지하는 경우, 별도의 연산 없이 최종 목표 지점(FD)이 한 곳으로 명확하게 정의되므로, 연산/제어 속도가 빨라질 수 있다. Referring to FIG. 9, the unmanned airplane can be controlled to move away from the marker M by a predetermined distance using the position recognition sensor 60. In this case, the unmanned airplane can move in a plane (P h ) having the same height (h) as the initial position. At this time, the predicted locus lines of the plane P h and the target OBJ meet at a point FD. According to one embodiment, it is possible to control the flight of the UAV so that the point FD is the final destination. When the height of the main body 10 is constantly maintained as described above, the final target point FD is clearly defined as one without any additional calculation, so that the computation / control speed can be increased.

이하, 상술한 무인비행기 제어 방법을 이용한 무인비행기 제어 시스템을 설명한다. Hereinafter, the unmanned airplane control system using the above-mentioned unmanned airplane control method will be described.

본 발명의 다른 실시예에 따른 무인비행기 제어 시스템은, 바닥에 격자(lattice) 형태로 배치되는 복수 개의 마커(M); 및 상기 마커(M)를 인식하여 위치를 파악하며, 본체(10), 제어부 및 카메라(20)를 포함하는 무인비행기;를 포함하고, 제어부는 상술한 무인비행기 제어 방법을 통해 상기 본체(10)의 움직임을 제어한다. According to another embodiment of the present invention, there is provided an unmanned airplane control system comprising: a plurality of markers (M) arranged in a lattice form on a floor; And an unmanned airplane that recognizes the position of the marker M and recognizes the position of the marker M and includes a main body 10, a control unit and a camera 20. The control unit controls the main body 10 through the above- .

도 6을 다시 참조하면, 무인비행기 제어 시스템은 마커(M) 및 무인비행기를 포함한다. 상술하였듯, 무인비행기는 바닥의 마커(M)를 인식하여 본체(10)의 월드 좌표 데이터를 획득할 수 있다. 더 상세하게, 무인비행기는 하방 카메라 및/또는 위치 인식 센서(60)를 이용하여 월드 좌표를 파악할 수 있다. Referring back to FIG. 6, the unmanned airplane control system includes a marker M and an unmanned airplane. As described above, the unmanned airplane recognizes the marker M on the floor and can obtain the world coordinate data of the main body 10. More specifically, the unmanned airplane can grasp the world coordinates using the downward camera and / or the position recognition sensor 60.

일 실시예에 있어서, 무인비행기 제어 시스템은 무인비행기를 관제하는 관제부를 더 포함할 수 있다. 상술한 영상 처리 등의 알고리즘은 무인비행기 내의 제어부에서 수행될 수도 있지만, 제어부와 무선 통신하는 외부의 관제부에서 수행될 수도 있다. 즉 예컨대 제어부는 카메라(20)의 영상 데이터를 관제부에 송신할 수 있다. 이후, 관제부는 영상 처리 및 목표물(OBJ)의 월드 좌표 데이터 산출, 목표물(OBJ) 궤적 예측 등을 수행하여, 본체(10)가 최종적으로 향해야 할 좌표를 제어부에 송신할 수 있다. 제어부는 상기 정보를 수신받아 본체(10)를 원하는 곳으로 비행시킬 수 있다. In one embodiment, the unmanned aerial vehicle control system may further include a controller for controlling the unmanned aerial vehicle. The above-described image processing algorithm or the like may be performed by a control unit in the UAV, but may be performed by an external control unit that communicates with the control unit. For example, the control unit can transmit the image data of the camera 20 to the control unit. Thereafter, the control unit can perform the image processing, the world coordinate data calculation of the target object (OBJ), the target object (OBJ) locus prediction, and the like, and transmit the coordinates that the main body 10 should ultimately be directed to the control unit. The control unit can receive the information and fly the main body 10 to a desired location.

도 10은 본 발명의 일 실시예에 따른 카메라(20)의 화각(angle of view, θ)을 나타낸 그림이다. 10 is a view showing an angle of view () of a camera 20 according to an embodiment of the present invention.

도 10을 참조하면, 여러 프레임에서의 목표물(OBJ)이 나타나 있다. 이때, 본 발명의 경우 목표물의 영상 데이터를 이용하여 최종적으로 목표물(OBJ)의 궤적을 예측하므로, 카메라의 방향(orientation)과 관계없이 목표물(OBJ)이 항상 카메라(20)의 '시야'에 들어오도록 하는 것이 바람직하다. 즉 카메라(20)의 방향이 고정되어 있다고 가정할 때, 목표물(OBJ)은 비행 전에는 약 0°이하인 곳에, 낙하 직전에는 약 90°이상까지 위치해 있을 수 있으므로, 카메라의 화각(θ)은 90°보다 큰 것이 바람직하다. 일 실시예에 따르면, 카메라는 화각(θ)이 90°이상인 초광각 렌즈 또는 어안 렌즈를 포함할 수 있다. 특히 어안 렌즈는 화각(θ)이 180°이상이므로, 목표물(OBJ)의 초기 위치 및 궤적에 관계없이 목표물(OBJ)을 항상 카메라(20)의 시야에 담을 수 있어 편리하다. Referring to Fig. 10, a target OBJ in several frames is shown. At this time, in the present invention, since the trajectory of the target OBJ is finally predicted using the image data of the target, the target OBJ is always in the 'field of view' of the camera 20 regardless of the orientation of the camera It is desirable to come to this. That is, assuming that the direction of the camera 20 is fixed, the target OBJ may be located at about 0 DEG or less before the flight, or at about 90 DEG or more immediately before the fall, so that the angle of view? . According to one embodiment, the camera may include an ultra-wide angle lens or a fisheye lens having an angle of view [theta] of 90 DEG or more. In particular, the fisheye lens is convenient because it can always hold the target OBJ in the field of view of the camera 20 regardless of the initial position and trajectory of the target OBJ, since the angle of view?

도 11은 여러 형태의 물체 받개(catcher, 80)를 도시한 그림이다. 본 발명에 따른 무인비행기 제어 시스템의 목적 중 하나는 무인비행기를 이용하여 공중에 던져진 공을 받는(ball catching) 것이다. 이에, 무인비행기는 목표물(OBJ)을 받기 위한 물체 받개(110)를 더 포함할 수 있다.FIG. 11 is a view showing various types of object catchers 80. FIG. One of the objects of the unmanned airplane control system according to the present invention is to catch a ball thrown into the air using an unmanned airplane (ball catching). Accordingly, the unmanned airplane may further include an object receiver 110 for receiving a target OBJ.

도 11의 (a)는 바구니(basket) 형태의 물체 받개(110)를 나타낸다. 이와 같은 형태의 물체 받개(110)는 본체(10)의 위쪽 가운데 배치될 수 있다. 한편 이때 물체 받개(110)의 내부에는 스폰지, 패드, 비닐 등 충격을 방지하기 위한 충격방지재(111)가 구비되어, 목표물이 되튕겨져 나가는 것을 방지할 수 있다. 11 (a) shows an object receiver 110 in the form of a basket. The object receiver 110 of this type can be disposed in the center of the upper portion of the main body 10. At this time, an impact preventing member 111 for preventing a shock such as a sponge, a pad, and a vinyl is provided in the inside of the object receiver 110, so that the object can be prevented from being repelled.

도 11의 (b)는 잠자리채 형태의 물체 받개(110)를 나타낸다. 이와 같은 형태의 물체 받개(110)는 본체(10)의 가장자리에 배치될 수 있다. 이때 물체 받개(110)의 아래 쪽에는 그물 모양의 충격방지재(112)가 구비되어, 목표물(OBJ)이 되튕겨져 나가는 것을 방지할 수 있다. 11 (b) shows the object receiver 110 in the form of a dragonfly. The object receptacle 110 of this type can be disposed at the edge of the main body 10. At this time, a net-like impact-preventing member 112 is provided on the lower side of the object receiver 110 to prevent the object OBJ from being repelled.

한편 본체(10)를 비행시키는 단계(S60)에서, 제어부는 본체(10)와 물체 받개(110)의 위치 차이를 고려하여, 물체 받개(110)가 목표물(OBJ)의 예측된 궤적 중 어느 한 곳에 위치하도록 본체(10)를 비행시킬 수 있다. In step S60 of flying the main body 10, in consideration of the positional difference between the main body 10 and the object receptacle 110, the control unit determines whether any of the predicted loci of the target OBJ The main body 10 can be caused to fly.

이상에서는 무인비행기가 목표물(OBJ)을 '받는' 동작을 수행하는 것을 예시하였으나, 이와 달리 무인비행기는 낙하 예상 위치에서 목표물(OBJ)을 다시 쳐 올려 사람과 목표물(OBJ)을 주고 받는 동작을 수행할 수도 있다. 이때 무인비행기의 본체(10)에는 탁구채/배드민턴채와 비슷한 형태의 판 또는 라켓(racket)이 구비될 수 있다. 이때 제어부는 본체(10)와 목표물(OBJ)이 닿을 것으로 예측되는 순간 본체(10)가 윗방향 속도를 가지도록 하여 판 또는 라켓이 목표물을 '쳐올리도록' 제어할 수 있다. In the above description, the unmanned airplane has performed an operation of receiving an object OBJ. However, the unmanned airplane performs an operation of exchanging a target OBJ with the object OBJ again at the expected drop position You may. At this time, the main body 10 of the unmanned airplane can be provided with a plate or a racket similar to a ping-pong / badminton pole. At this time, the controller may control the body 10 so that the plate 10 or the racquet 10 'rolls' the target so that the body 10 has an upward velocity when the body 10 and the target OBJ are predicted to touch each other.

본 발명의 일 실시예에 따르면, 별도의 외부 카메라 없이 무인비행기에 연결된 카메라(20)만을 이용하여 목표물(OBJ)의 위치를 파악, 궤적을 예측하여 공 받기(catching) 등의 다양한 동작을 수행할 수 있다. 이에 따라, 외부 카메라를 사용하는 것보다 간단한 방식으로 무인비행기를 제어할 수 있어 설치/운용 비용이 감소한다. According to an embodiment of the present invention, various operations such as catching the locus of the target OBJ by predicting the locus of the target OBJ using only the camera 20 connected to the UAV can be performed without a separate external camera . As a result, it is possible to control the unmanned airplane in a simpler manner than using an external camera, thereby reducing the installation / operation cost.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

10: 본체 20: 카메라
60: 위치 인식 센서 110: 물체 받개
OBJ: 목표물
10: main body 20: camera
60: Position recognition sensor 110:
OBJ: Target

Claims (10)

본체에 연결된 카메라를 이용하여 구형(spherical) 목표물의 영상 데이터를 획득하는 단계;
상기 영상 데이터로부터, 상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계;
상기 산출된 반지름 및 중심 좌표를 이용하여 상기 목표물의 카메라 좌표 데이터를 산출하는 단계;
상기 목표물의 카메라 좌표 데이터와 상기 본체의 위치 데이터를 이용하여 상기 목표물의 월드 좌표 데이터를 산출하는 단계;
상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계; 및
상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계;를 포함하는, 무인비행기 제어 방법.
Acquiring image data of a spherical target using a camera connected to the main body;
Calculating a radius and a center coordinate on the image plane of the target from the image data;
Calculating camera coordinate data of the target using the calculated radius and center coordinates;
Calculating world coordinate data of the target using camera coordinate data of the target and position data of the main body;
Estimating a trajectory of the target using world coordinate data of the target; And
And flying the main body toward a coordinate in the predicted trajectory.
제1항에 있어서,
상기 목표물의 이미지 평면 상에서의 반지름과 중심 좌표를 산출하는 단계는,
상기 영상 데이터에서 배경을 제거하고, 적어도 하나의 전경 객체를 찾는 단계;
상기 적어도 하나의 전경 객체 중, 기정된 크기 이하의 노이즈(noise)를 제거하는 단계; 및
원형 허프 변환을 이용하여 상기 적어도 하나의 전경 객체 중 원형인 객체의 반지름과 중심 좌표를 산출하는 단계;를 포함하는, 무인비행기 제어 방법.
The method according to claim 1,
Wherein the step of calculating a radius and a center coordinate on the image plane of the target includes:
Removing backgrounds from the image data and finding at least one foreground object;
Removing noise less than a predetermined size from the at least one foreground object; And
Calculating radius and center coordinates of a circular object of the at least one foreground object using a circular Hough transform.
제1항에 있어서,
상기 목표물의 월드 좌표 데이터를 산출하는 단계는,
위치 인식 센서를 이용하여 상기 카메라의 월드 좌표 데이터를 산출하는 단계를 포함하는, 무인비행기 제어 방법.
The method according to claim 1,
Wherein the step of calculating world coordinate data of the target includes:
And calculating the world coordinate data of the camera using the position recognition sensor.
제1항에 있어서,
상기 목표물의 월드 좌표 데이터를 이용하여 상기 목표물의 궤적을 예측하는 단계는,
상기 목표물의 월드 좌표가 기정된(predetermined) 높이 이상인 시점부터 시작되는, 무인비행기 제어 방법.
The method according to claim 1,
Wherein the step of predicting the locus of the target using the world coordinate data of the target comprises:
And starting from a time point at which the world coordinate of the target is equal to or higher than a predetermined height.
제1항에 있어서,
상기 예측된 궤적 중의 한 좌표를 향해 상기 본체를 비행시키는 단계는,
상기 본체의 높이를 일정하게 유지하며 상기 본체를 비행시키는 단계인, 무인비행기 제어 방법.
The method according to claim 1,
The step of flying the main body toward one of the predicted trajectories includes:
And flying the main body while keeping the height of the main body constant.
바닥에 격자(lattice) 형태로 배치되는 복수 개의 마커(marker); 및
상기 마커를 인식하여 위치를 파악하며, 본체, 제어부 및 카메라를 포함하는 무인비행기;를 포함하고,
상기 제어부는 제1항의 방법을 통해 상기 본체의 움직임을 제어하는, 무인비행기 제어 시스템.
A plurality of markers arranged in a lattice form on the bottom; And
A controller for recognizing the marker and determining a position of the marker, and a camera,
Wherein the control unit controls the movement of the main body through the method of claim 1.
제6항에 있어서,
상기 무인비행기는, 상기 본체의 아래쪽에 배치되며, 상기 마커를 인식하여 위치를 파악하는 위치 인식 센서를 더 포함하는, 무인비행기 제어 시스템.
The method according to claim 6,
Wherein the unmanned airplane further comprises a position recognition sensor disposed below the main body for recognizing the position of the marker.
제7항에 있어서,
상기 위치 인식 센서는 카메라를 포함하고,
상기 카메라는 상기 마커 이미지의 상대적인 움직임을 통해 상기 본체의 XY 월드 좌표를 측정하고, 상기 마커 이미지의 크기 변화를 통해 상기 본체의 Z 월드 좌표를 측정하는, 무인비행기 제어 시스템.
8. The method of claim 7,
Wherein the position recognition sensor comprises a camera,
Wherein the camera measures an XY world coordinate of the main body through a relative movement of the marker image and measures a Z world coordinate of the main body through a change in the size of the marker image.
제6항에 있어서,
상기 카메라는 어안 렌즈를 포함하는, 무인비행기 제어 시스템.
The method according to claim 6,
Wherein the camera comprises a fisheye lens.
제6항에 있어서,
상기 무인비행기는, 목표물을 받기 위한 물체 받개(catcher)를 더 포함하는, 무인비행기 제어 시스템.
The method according to claim 6,
Wherein the unmanned airplane further comprises an object catcher for receiving a target.
KR1020170108138A 2017-08-25 2017-08-25 Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera KR101980095B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170108138A KR101980095B1 (en) 2017-08-25 2017-08-25 Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170108138A KR101980095B1 (en) 2017-08-25 2017-08-25 Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera

Publications (2)

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

Family

ID=65761300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170108138A KR101980095B1 (en) 2017-08-25 2017-08-25 Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera

Country Status (1)

Country Link
KR (1) KR101980095B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111741216A (en) * 2020-06-17 2020-10-02 中国人民解放军陆军工程大学 Unmanned aerial vehicle image acquisition method
CN112859826A (en) * 2019-11-26 2021-05-28 北京京东乾石科技有限公司 Method and apparatus for controlling an automated guided vehicle

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111735388B (en) * 2020-07-21 2020-11-17 上海上飞飞机装备制造有限公司 Part locking visual positioning method for airplane digital butt joint

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688642B1 (en) * 2015-08-10 2016-12-21 한국과학기술원 Apparatus and Method of Marker Recognition for Automatic Landing Image Based on Unmanned Plane

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688642B1 (en) * 2015-08-10 2016-12-21 한국과학기술원 Apparatus and Method of Marker Recognition for Automatic Landing Image Based on Unmanned Plane

Non-Patent Citations (6)

* 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.)* *
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.
문성태 외, ‘실내 자율 비행을 위한 영상 기반의 위치 인식 시스템’, 항공우주기술 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
CN112859826A (en) * 2019-11-26 2021-05-28 北京京东乾石科技有限公司 Method and apparatus for controlling an automated guided vehicle
CN111741216A (en) * 2020-06-17 2020-10-02 中国人民解放军陆军工程大学 Unmanned aerial vehicle image acquisition method

Also Published As

Publication number Publication date
KR101980095B1 (en) 2019-05-20

Similar Documents

Publication Publication Date Title
CN105652891B (en) A kind of rotor wing unmanned aerial vehicle movement Target self-determination tracks of device and its control method
JP7465615B2 (en) Smart aircraft landing
US11604479B2 (en) Methods and system for vision-based landing
CN111527463B (en) Method and system for multi-target tracking
US10152059B2 (en) Systems and methods for landing a drone on a moving base
Celik et al. Monocular vision SLAM for indoor aerial vehicles
Ma'Sum et al. Simulation of intelligent unmanned aerial vehicle (UAV) for military surveillance
Birbach et al. Realtime perception for catching a flying ball with a mobile humanoid
US9070289B2 (en) System and method for detecting, tracking and estimating the speed of vehicles from a mobile platform
WO2019006760A1 (en) Gesture recognition method and device, and movable platform
Ludington et al. Augmenting UAV autonomy
JP6343670B2 (en) Autonomous mobile device and self-position estimation method
CN106527481A (en) Unmanned aerial vehicle flight control method, device and unmanned aerial vehicle
CN106908040B (en) A kind of binocular panorama visual robot autonomous localization method based on SURF algorithm
CN105759829A (en) Laser radar-based mini-sized unmanned plane control method and system
KR101980095B1 (en) Method and system for controlling movement of a UAV by predicting the trajectory of a spherical target through a camera
CN109885086A (en) A kind of unmanned plane vertical landing method based on the guidance of multiple polygonal shape mark
US20200366815A1 (en) Environment acquisition system
CN112740226A (en) Operating system and method of movable object based on human body indication
Danelljan et al. A low-level active vision framework for collaborative unmanned aircraft systems
Celik et al. Mono-vision corner SLAM for indoor navigation
Huang et al. Visual servoing of a micro quadrotor landing on a ground platform
Basit et al. Joint localization of pursuit quadcopters and target using monocular cues
Beul et al. Visually guided balloon popping with an autonomous MAV at MBZIRC 2020
Ho et al. Automatic landing system of a quadrotor UAV using visual servoing

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