KR101286351B1 - Rbac의 보안 개념이 적용된 무인 비행체 제어 시스템 및 방법 - Google Patents

Rbac의 보안 개념이 적용된 무인 비행체 제어 시스템 및 방법 Download PDF

Info

Publication number
KR101286351B1
KR101286351B1 KR1020130024692A KR20130024692A KR101286351B1 KR 101286351 B1 KR101286351 B1 KR 101286351B1 KR 1020130024692 A KR1020130024692 A KR 1020130024692A KR 20130024692 A KR20130024692 A KR 20130024692A KR 101286351 B1 KR101286351 B1 KR 101286351B1
Authority
KR
South Korea
Prior art keywords
role
user
unmanned aerial
aerial vehicle
authority
Prior art date
Application number
KR1020130024692A
Other languages
English (en)
Inventor
하영국
정혁준
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020130024692A priority Critical patent/KR101286351B1/ko
Application granted granted Critical
Publication of KR101286351B1 publication Critical patent/KR101286351B1/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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0038Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with simple or augmented images from one or more cameras located onboard the vehicle, e.g. tele-operation
    • 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/02Control of position or course in two dimensions
    • G05D1/0202Control of position or course in two dimensions specially adapted to aircraft

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Selective Calling Equipment (AREA)

Abstract

RBAC를 이용하여 복수의 사용자가 하나의 비행체에서 각각 다른 제어를 수행할 수 있는 제어 시스템 및 방법이 개시된다.
무인 비행체 제어 장치는 RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 롤 관리부; 무인 비행체의 기능에 대한 권한을 계층적으로 관리하고, 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 권한 관리부; 및 상기 사용자의 역할에 대응하는 롤에 부여한 권한에 기초하여 무인 비행체와 사용자 간의 정보 전송을 중계하는 명령 관리부를 포함할 수 있다.

Description

RBAC의 보안 개념이 적용된 무인 비행체 제어 시스템 및 방법{SYSTEM AND METHOD FOR CONTROLLING UNMANNED AERIAL VEHICLE INVOKING SECURITY CONCEPT OF ROLE BASED ACCESS CONTROL}
본 발명은 RBAC를 이용한 무인 비행체 제어 시스템 및 방법에 관한 것으로, 보다 상세하게는 RBAC에 기초하여 정의된 복수의 롤에 각각 무인 비행체의 기능에 대한 권한과 사용자를 할당하고, 복수의 사용자들은 각각 자신에게 할당될 롤로 무인 비행체의 기능 중 일부를 제어함으로써, 복수의 사용자가 하나의 비행체에서 각각 다른 제어를 수행할 수 있는 제어 시스템 및 방법에 관한 것이다.
비행체 중에는 사용자가 탑승하여 제어하는 유인 비행체와 사용자가 탑승하지 않고 외부에서 제어하거나 자동 제어하는 무인 비행체가 있다.
최근, 진보된 알고리즘과 초정밀 센서, 그리고 네트워킹 기술의 발전을 바탕으로 무인 비행체의 성능이 개선됨에 따라 무인 비행체가 이용되는 분야가 증가하고 있다.
한국공개특허 제10-2011-0078823호(공개일 2011년 07월 07일)에는 인터넷을 이용하여 무인 비행체를 원격 제어하는 기술이 개시되어 있다.
종래 기술은 사용자 단말기를 이용하여 무인 비행체를 제어하고 있으나, 사용자가 혼자서 무인 비행체의 기능을 모두 제어해야 하므로, 복수의 기능을 동시에 제어하는 것이 어렵다는 한계가 있었다.
예를 들어, 무인 비행체가 이동하는 경로 근처의 특정 물체를 촬영하고자 하는 경우, 사용자는 무인 비행체를 경로에 따라 이동하도록 제어하면서, 무인 비행체에 포함된 카메라가 특정 물체를 촬영하도록 제어해야 한다. 즉, 무인 비행체의 제어와 카메라의 제어가 동시에 수행되어야 하지만, 복수의 동작을 동시에 수행할 수 있는 사용자는 적다.
따라서, 무인 비행체의 기능들을 동시에 제어할 수 있는 시스템 및 방법이 요청되고 있다.
본 발명은 권한을 계층적으로 정의하고, 롤에 상위 권한, 또는 하위 권한을 부여함으로써, 롤에 권한을 부여하는 과정의 반복을 감소시키는 장치 및 방법을 제공할 수 있다.
또한, 본 발명은 복수의 사용자에게 각각 다른 권한이 부여된 롤을 할당하고, 복수의 사용자들이 할당된 롤에 따라 무인 비행체의 각각 다른 기능을 제어함으로써, 동시에 무인 비행체에 포함된 복수의 기능을 제어 하는 장치 및 방법을 제공할 수 있다.
그리고, 본 발명은 복수의 사용자가 동일한 권한을 이용하고자 하는 경우, 나중에 권한을 이용하고자 하는 사용자의 제어 명령을 드랍하거나 대기 시킴으로써, 복수의 사용자가 동일 기능에 상반된 제어 명령을 입력함에 따른 오류를 방지하는 장치 및 방법을 제공할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치는 RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 롤 관리부; 무인 비행체의 기능에 대한 권한을 계층적으로 관리하고, 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 권한 관리부; 및 상기 사용자의 역할에 대응하는 롤에 부여한 권한에 기초하여 무인 비행체와 사용자 간의 정보 전송을 중계하는 명령 관리부를 포함할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 권한 관리부는 무인 비행체의 기능에 대한 권한을 무인 비행체의 기능들 각각에 대응하는 하위 권한들과, 복수의 상기 하위 권한을 포함하는 적어도 하나의 상위 권한으로 계층화하여 관리할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 롤 관리부는 상기 사용자의 역할에 대응하는 롤에 상위 권한이 부여된 경우, 상기 사용자의 역할에 대응하는 롤에게 상위 권한에 포함된 모든 하위 권한을 제공할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 롤 관리부는 사용자의 역할에 따라 동일한 종류의 롤을 적어도 하나 이상 정의하고, 사용자의 역할에 대응하는 종류의 롤 중에서 하나의 롤을 선택하며, 선택한 롤을 사용자에게 할당할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 권한 관리부는 동일한 종류의 롤이 복수인 경우, 종류가 동일한 모든 롤에게 동일한 권한을 부여할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치에서 상기 사용자의 역할에 대응하는 롤은 무인 비행체의 모든 권한을 가지는 관리자 롤, 무인 비행체의 비행을 제어하는 파일롯 롤, 무인 비행체의 센서를 제어하는 센서 모니터 롤, 무인 비행체의 카메라를 제어하는 카메라맨 롤, 및 무인 비행체를 관찰하는 옵저버 롤 중 하나일 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 권한 관리부는 상기 사용자의 역할에 대응하는 롤이 파일롯 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게 무인 비행체의 비행과 관련된 상위 권한과, 무인 비행체의 카메라가 촬영한 영상을 표시하는 하위 권한을 부여하고, 상기 영상을 표시하는 하위 권한은 무인 비행체의 카메라와 관련된 상위 권한에 포함될 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 권한 관리부는 상기 사용자의 역할에 대응하는 롤이 센서 모니터 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게, 무인 비행체의 비행 스테이터스를 제공하는 하위 권한과, 무인 비행체의 센서와 관련된 상위 권한을 부여하고, 상기 비행 스테이터스를 제공하는 하위 권한은 무인 비행체의 비행과 관련된 상위 권한에 포함될 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 권한 관리부는 상기 사용자의 역할에 대응하는 롤이 카메라맨 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게, 무인 비행체의 조명과 관련된 상위 권한과 무인 비행체의 카메라와 관련된 상위 권한을 부여할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 명령 관리부는 무인 비행체와 사용자 간의 정보 전송에 이용하는 패킷의 중요도, 상기 패킷의 목적, 및 상기 패킷의 길이 중 적어도 하나에 기초하여 상기 패킷 전송에 이용할 시간을 할당할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 명령 관리부는 무인 비행체와 사용자 간의 정보 전송에 이용하는 패킷의 길이가 변화되었는지 여부를 판단하고, 상기 패킷의 길이가 변화된 경우, 상기 패킷의 재전송을 요청할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 권한 관리부는 상기 사용자의 역할에 대응하는 롤이 사용자로부터 수신한 제어 명령에 따라 부여된 권한을 이용하려는 경우, 부여된 권한을 이용하고 있는 다른 롤이 있는지 여부를 확인할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 권한 관리부는 상기 부여된 권한을 이용하는 다른 롤이 있는 경우, 상기 사용자의 역할에 대응하는 롤이 상기 부여된 권한을 이용하지 못하도록 할 수 있다.
본 발명의 일실시예에 따른 단말기는 RBAC에 기초하여 정의된 무인 비행체 제어 장치의 롤들 중에서 사용자의 역할에 대응하는 롤에 접속하는 접속부; 상기 롤로부터 상기 롤에 부여된 무인 비행체의 기능 권한에 기초한 정보를 수신하는 통신부; 및 수신한 정보를 사용자에게 제공하는 정보 제공부를 포함할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 장치의 롤 설정 방법은 RBAC에 기초하여 복수의 롤을 정의하는 단계; 무인 비행체의 기능에 대한 권한을 계층적으로 정의 하는 단계; 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 단계; 및 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 무인 비행체의 기능에 대한 권한 중 적어도 하나의 권한을 부여하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 무인 비행체 제어 방법은 RBAC에 기초하여 정의된 롤에 접속한 사용자에게 롤에 부여된 권한에 따른 정보를 제공하는 단계; 상기 사용자로부터 롤에 부여된 권한에 따른 제어 명령을 수신하는 단계; 및 수신한 제어 명령을 무인 비행체로 전송하여 무인 비행체를 제어하는 단계를 포함할 수 있다.
본 발명의 일실시예에 의하면, 복수의 사용자에게 각각 다른 권한이 부여된 롤을 할당하고, 복수의 사용자들이 할당된 롤에 따라 무인 비행체의 각각 다른 기능을 제어함으로써, 동시에 무인 비행체에 포함된 복수의 기능을 제어할 수 있다.
또한, 본 발명의 일실시예에 의하면, 권한을 계층적으로 정의하고, 롤에 상위 권한, 또는 하위 권한을 부여함으로써, 롤에 권한을 부여하는 과정의 반복을 감소시킬 수 있다.
그리고, 본 발명의 일실시예에 의하면, 복수의 사용자가 동일한 권한을 이용하고자 하는 경우, 나중에 권한을 이용하고자 하는 사용자의 제어 명령을 드랍하거나 대기 시킴으로써, 복수의 사용자가 동일 기능에 상반된 제어 명령을 입력함에 따른 오류를 방지할 수 있다.
도 1은 본 발명의 일실시예에서 RBAC에 기초하여 설정한 롤과 권한의 일례이다.
도 2는 본 발명의 일실시예에 따른 무인 비행체 제어 시스템을 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 무인 비행체 제어 장치를 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 권한 관리부가 계층적으로 정의한 권한의 일례이다.
도 5는 본 발명의 일실시예에 따른 제어 명령 패킷의 일례이다.
도 6은 본 발명의 일실시예에 따른 패킷 처리 과정의 일례이다.
도 7은 본 발명의 일실시예에 따른 패킷 처리 과정에서 종료 단계의 일례이다.
도 8은 본 발명의 일실시예에 따른 롤과 권한, 오퍼레이터 간의 관계의 일례이다.
도 9는 본 발명의 일실시예에 따른 무인 비행체 제어 시스템의 일례이다.
도 10은 본 발명의 일실시예에 따른 무인 비행체의 구조를 나타내는 도면이다.
도 11은 본 발명의 일실시예에 따른 무인 비행체의 라이트의 회로를 나타내는 도면이다.
도 12는 본 발명의 일실시예에 따른 무인 비행체의 배터리의 회로를 나타내는 도면이다.
도 13은 본 발명의 일실시예에 따른 단말기의 구조를 나타내는 도면이다.
도 14는 본 발명의 일실시예에 따른 단말기가 사용자에게 제공하는 화면의 일례이다.
도 15는 본 발명의 일실시예에 따른 롤 설정 방법을 도시한 플로우차트이다.
도 16은 본 발명의 일실시예에 따른 무인 비행체 제어 방법을 도시한 플로우차트이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 무인 비행체 제어 방법은 무인 비행체 제어 장치에 의해 수행될 수 있다.
도 1은 본 발명의 일실시예에서 RBAC(Role Based Access Control)에 기초하여 설정한 롤과 권한의 일례이다.
RBAC는 루트(root) 관리자가 일반 사용자에게 자신의 권한(permission)을 일부 부여함으로써, 권한이 없는 사용자가 해당 작업을 수행할 수 있도록 하는 방법이다. 이때, 관리자가 사용자들이 이용할 수 있도록 권한을 부여한 계정이 롤(role)이다.
즉, RBAC에서 롤은 시스템의 모든 권한이 부여된 관리자 롤이 상위 롤이고, 관리자의 권한 중 일부의 권한이 부여된 적어도 하나의 하위 롤들이 계층적으로 정의될 수 있다.
그러나, 하위 롤 중에서 복수의 권한이 부여되는 롤은 부여되는 권한의 개수에 따라 권한 부여 작업이 반복되므로 권한 부여의 효율성이 떨어질 수 있다.
따라서, 본 발명의 일실시예에서는 권한을 계층적으로 정의하여, 롤에 상위 권한을 부여하면 해당 롤이 하위 권한까지 행사할 수 있도록 함으로써, 권한 부여의 효율성을 높일 수 있다.
예를 들어, 도 1에 도시된 바와 같이 사용자가 이용할 수 있는 롤(110)로 관리자 롤(111), 카메라맨 롤(112), 파일롯 롤(113)이 있고, 롤(110)에 부여할 수 있는 권한(120)으로 비행과 관련된 복수의 권한(123)과, 카메라가 촬영한 비디오 접속 권한(125), 및 카메라의 틸트 제어 권한(126)이 있을 수 있다.
종래의 RBAC는 루트 관리자가 롤에 부여할 권한들을 일일히 선택하여 부여하는 방식이었다. 따라서, 관리자 롤(111)에 모든 권한을 부여하기 위해서는 루트 관리자가 복수의 권한(123)과, 비디오 접속 권한(125), 및 틸트 제어 권한(126)을 선택하여 관리자 롤에 부여하는 과정을 반복해야 했다.
그러나, 본 발명의 일실시예는 도 1에 도시된 바와 같이 복수의 권한(123)을 비행 권한(122)의 하위 권한으로 정의함으로써, 롤에 비행 권한(122)만 부여하면 롤에 복수의 권한(123)을 반복하여 부여한 것과 동일한 효과를 얻을 수 있다.
예를 들어, 본 발명의 일실시예는 권한(120)들의 최상위 권한으로 모든 권한(121)을 정의하고, 관리자 롤(111)에 모든 권한(121)을 한번 부여한 것만으로, 관리자 롤(111)은 권한(120)들을 모두 이용할 수 있게 된다.
또한, 본 발명의 일실시예는 카메라맨 롤(112)에는 비디오 접속 권한(125)와 틸트 제어 권한(126)의 상위 권한인 카메라 권한(124)를 부여함으로써, 카메라맨 롤(112)에 접속한 사용자는 카메라가 촬영하는 비디오에 접속하여 비디오를 시청하면서 카메라의 틸트를 제어할 수 있다.
그리고, 본 발명의 일실시예는 파일롯 롤(113)과 같이 롤에 상위 권한과 하위 권한을 각각 부여할 수도 있다. 파일롯 롤(113)는 도 1에 도시된 바와 같이 복수의 권한(123)들의 상위 권한인 비행 권한(122)와 카메라 권한(124)의 하위 권한인 비디오 접속 권한(125)가 부여될 수 있다.
파일롯 롤(113)에 상위 권한인 카메라 권한(124)를 부여하는 경우, 비행에 필요없는 틸트 제한 권한까지 파일롯 롤(113)에 부여될 수 있다. 따라서, 본 발명의 일실시예에서는 롤에 필요한 권한들이 서로 관련된 경우는 해당 권한들의 상위 권한을 롤에 부여하고, 롤에 필요한 권한들 간의 관련성이 적은 경우에는 각각의 권한을 롤에 부여함으로써, 롤에 권한을 부여하는 과정의 효율성을 최적화시킬 수 있다.
도 2는 본 발명의 일실시예에 따른 무인 비행체 제어 시스템을 나타내는 도면이다.
도 2를 참고하면, 본 발명의 일실시예에 따른 무인 비행체 제어 시스템은 무인 비행체 제어 장치(200) 및 무인 비행체(320)를 포함할 수 있다.
무인 비행체 제어 장치(200)는 도 2에 도시된 바와 같이 복수의 단말기로부터 무인 비행체(320)의 기능을 제어할 수 있는 제어 명령을 수신하고, 수신한 제어 명령을 무인 비행체(320)로 전송함으로써, 무인 비행체(320)의 기능을 제어할 수 있다. 예를 들어 무인 비행체 제어 장치(200)는 서버로 구현될 수 있다.
이때, 무인 비행체 제어 장치(200)는 복수의 롤에게 무인 비행체(320)의 기능에 대한 권한 중 적어도 하나의 권한을 부여할 수 있다. 그리고, 사용자가 단말기(310)를 이용하여 롤 중 하나에 접속한 경우, 무인 비행체 제어 장치(200)는 롤에 부여된 권한에 따라 사용자가 무인 비행체(320)의 기능 중 일부 또는 전부를 제어하도록 할 수 있다.
이때, 롤은 사용자의 역할에 기초하여 정의될 수 있다. 예를 들어, 롤은 무인 비행체(320)의 모든 권한을 가지는 관리자 롤, 무인 비행체(320)의 비행을 제어하는 파일롯 롤, 무인 비행체(320)의 센서를 제어하는 센서 모니터 롤, 무인 비행체(320)의 카메라(221)를 제어하는 카메라맨 롤, 및 무인 비행체(320)를 관찰하는 옵저버 롤 중 하나일 수 있다.
그리고, 롤의 종류는 상기 예에 한정되지 않으며, 무인 비행체(320)의 기능과 사용자의 역할에 따라 더 추가될 수도 있다. 예를 들어, 무인 비행체(320)가 무기를 장착한 경우, 사용자의 역할 중에 무기를 제어하는 역할이 추가될 수 있다. 이때, 무인 비행체 제어 장치는 무인 비행체(320)의 무기를 제어하는 무기 제어 롤을 추가할 수 있다.
일례로, 제1 사용자(211)의 역할은 무인 비행체(320)의 비행을 제어하는 파일롯이고, 제2 사용자(212)의 역할은 무인 비행체(320)의 카메라(221)를 제어하는 카메라맨일 수 있다.
이때, 제1 사용자(211)는 단말기(310)을 이용하여 무인 비행체 제어 장치(200)의 파일롯 롤에 접속할 수 있다. 또한, 제2 사용자(212)는 단말기(310)를 이용하여 무인 비행체 제어 장치(200)의 카메라맨 롤에 접속할 수 있다.
그리고, 무인 비행체 제어 장치(200)는 파일롯 롤에 부여된 권한에 따라 제1 사용자(211)의 단말기(310)에게 무인 비행체(320)의 비행과 관련된 정보를 제공할 수 있다. 이때, 무인 비행체 제어 장치(200)가 제1 사용자(211)의 단말기(310)에게 제공하는 정보는 무인 비행체(320)의 위치 정보, 무인 비행체(320)의 비행 스테이터스 정보, 및 무인 비행체(320)의 전방 영상 중 적어도 하나를 포함할 수 있다.
또한, 무인 비행체 제어 장치(200)는 카메라맨 롤에 부여된 권한에 따라 제2 사용자(212)의 단말기(310)에게 카메라(221)가 촬영하고 있는 영상을 제공할 수 있다.
즉, 제1 사용자(211)의 단말기(310)와 제2 사용자(212)의 단말기(310)는 무인 비행체 제어 장치(200)로부터 각각 다른 종류의 무인 비행체(320)의 정보를 수신하여 사용자에게 제공할 수 있다.
또한, 무인 비행체 제어 장치(200)는 제1 사용자(211)의 단말기(310)나 제2 사용자(212)의 단말기(310)로부터 제어 명령을 수신할 수 있다.
무인 비행체 제어 장치(200)는 수신한 제어 명령이 롤에 부여된 권한에 대응하는 경우, 수신한 제어 명령을 무인 비행체(320)로 전송할 수 있다
예를 들어, 무인 비행체 제어 장치(200)가 제1 사용자(211)의 단말기(310)로부터 비행 제어 명령을 수신한 경우, 비행 제어 명령은 파일롯 롤에 부여된 권한이므로, 비행 제어 명령을 무인 비행체(200)로 전송할 수 있다. 그러나, 무인 비행체 제어 장치(200)가 제2 사용자(212)의 단말기(310)로부터 비행 제어 명령을 수신한 경우, 비행 제어 명령은 카메라맨 롤에 부여된 권한이 아니므로, 비행 제어 명령을 무인 비행체(200)로 전송하지 않을 수 있다.
그리고, 무인 비행체 제어 장치(200)는 복수의 단말기(310)로부터 수신한 제어 명령의 종류가 동일한 경우, 먼저 수신한 단말기(310)의 제어 명령만 무인 비행체(200)로 전송할 수 있다.
무인 비행체 제어 장치(200)가 복수의 단말기(310)들로부터 수신한 비행 제어 명령을 모두 무인 비행체(320)로 전송하면, 무인 비행체(320)는 수신한 비행 제어 명령들을 모두 수행하려는 과정에서 오류를 발생시킬 수 있다. 예를 들어, 무인 비행체(320)를 상승 시키는 비행 제어 명령과 무인 비행체(320)를 하강 시키는 비행 제어 명령을 모두 수신한 경우, 무인 비행체(320)는 상승할 것인지 하강할 것인지를 선택하지 못하거나, 상승과 하강을 반복할 수 있다.
따라서, 무인 비행체 제어 장치(200)는 수신한 비행 제어 명령 중에 하나의 비행 제어 명령을 선택하여 무인 비행체(320)로 전송함으로써, 복수의 비행 제어 명령으로 인한 무인 비행체(320)의 오류 발생을 방지할 수 있다.
또한, 무인 비행체 제어 장치(200)는 복수의 단말기(310)로부터 수신한 제어 명령의 종류가 다른 경우, 수신한 제어 명령들을 모두 무인 비행체(200)로 전송함으로써, 무인 비행체(200)에서 각기 다른 기능이 제어되도록 할 수 있다.
예를 들어, 무인 비행체 제어 장치(200)가 도 1에 도시된 바와 같이 제1 사용자(211)의 단말기(310)로부터 비행 제어 명령을 수신하고, 제2 사용자(212)의 단말기(310)로부터 카메라 제어 명령을 수신한 경우, 무인 비행체 제어 장치(200)는 비행 제어 명령과 카메라 제어 명령을 무인 비행체(320)로 전송할 수 있다.
이때, 무인 비행체(320)는 제1 사용자(211)가 전송한 비행 제어 명령에 따라 비행 경로나 고도를 제어하는 것과 동시에 제2 사용자(212)가 전송한 카메라 제어 명령에 따라 카메라(221)를 제어할 수 있다.
즉, 제1 사용자(211)와 제2 사용자(212)가 각각 무인 비행체(320)의 비행 제어와 카메라 제어를 독립적으로 수행함으로써, 무인 비행체 제어 장치(200)는 무인 비행체(320)의 비행 경로나 고도를 제어하는 것과 동시에 카메라(221)의 방향이나 줌과 같은 기능을 제어할 수 있다.
그리고, 무인 비행체(320)는 무인 비행체 제어 장치(200)로부터 수신한 제어 명령에 따라 제어하는 구성과, 카메라나 센서로 획득한 정보를 관리하고 무인 비행체 제어 장치(200)로 전송하는 구성으로 나누어진 임베디드 시스템을 포함할 수 있다.
도 3은 본 발명의 일실시예에 따른 무인 비행체 제어 장치를 나타내는 도면이다.
도 3을 참고하면, 본 발명의 일실시예에 따른 무인 비행체 제어 장치(200)는 롤 관리부(310), 권한 관리부(320), 및 명령 관리부(330)를 포함할 수 있다.
롤 관리부(310)는 RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당할 수 있다.
이때, 복수의 롤들은 각각 할당된 사용자에게 정보를 제공하고, 할당된 사용자로부터 제어 명령을 수신할 수 있다.
또한, 롤은 사용자의 역할에 따라 정의될 수 있다.
예를 들어, 롤 관리부(310)는 무인 비행체의 모든 권한을 가지는 관리자 롤, 무인 비행체의 비행을 제어하는 파일롯 롤, 무인 비행체의 센서를 제어하는 센서 모니터 롤, 무인 비행체의 카메라를 제어하는 카메라맨 롤, 및 무인 비행체를 관찰하는 옵저버 롤 중 적어도 하나를 관리할 수 있다.
그리고, 롤 관리부(310)는 사용자의 역할이 파일롯인 경우, 사용자에게 파일롯 롤을 할당할 수 있다.
또한, RBAC에 기초하여 정의된 롤들은 사용자의 역할에 따라 사용자에게 제공하는 정보의 종류, 및 사용자로부터 수신하는 제어 명령의 종류가 상이할 수 있다.
예를 들어, 파일롯 롤은 접속한 사용자에게 비행 제어와 관련된 정보를 제공하고, 무인 비행체의 경로 변경, 고도 변경과 같은 비행 제어 명령을 수신할 수 있다. 또한, 카메라맨 롤은 접속한 사용자에게 카메라가 촬영한 영상, 또는 카메라의 상태와 관련된 정보를 제공하고, 카메라가 촬영하는 방향 및 줌 기능 적용과 같은 카메라 제어 명령을 수신할 수 있다.
그리고, 롤 관리부(310)는 사용자의 역할에 따라 동일한 종류의 롤을 적어도 하나 이상 정의하고, 사용자의 역할에 대응하는 종류의 롤 중에서 하나의 롤을 선택하며, 선택한 롤을 사용자에게 할당할 수 있다. 예를 들어, 롤 관리부(310)는 복수의 파일롯 롤을 정의할 수 있다.
권한 관리부(320)는 무인 비행체의 기능에 대한 권한(permission)을 계층적으로 관리하고, 사용자의 역할에 기초하여 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여할 수 있다.
예를 들어, 권한 관리부(320)가 관리하는 권한은 무인 비행체의 기능들 각각에 대응하는 하위 권한들과, 복수의 상기 하위 권한을 포함하는 적어도 하나의 상위 권한을 포함할 수 있다. 또한, 롤 관리부(310)는 롤에 상위 권한이 부여된 경우, 해당 롤에게 상위 권한에 포함된 모든 하위 권한을 제공할 수 있다.
권한 관리부(320)가 계층적으로 정의한 권한은 이하 도 4을 참조하여 상세히 설명한다.
예를 들어, 권한 관리부(320)는 파일롯 롤에게 무인 비행체의 비행과 관련된 상위 권한과, 무인 비행체의 카메라가 촬영한 영상을 표시하는 하위 권한을 부여할 수 있다. 이때, 상기 영상을 표시하는 하위 권한은 무인 비행체의 카메라와 관련된 상위 권한에 포함되는 하위 권한일 수 있다.
또한, 권한 관리부(320)는 센서 모니터 롤에게, 무인 비행체의 비행 스테이터스를 제공하는 하위 권한과, 무인 비행체의 센서와 관련된 상위 권한을 부여할 수 있다. 이때, 비행 스테이터스를 제공하는 하위 권한은 무인 비행체의 비행과 관련된 상위 권한에 포함되는 하위 권한일 수 있다.
그리고, 권한 관리부(320)는 카메라맨 롤에게, 무인 비행체의 조명과 관련된 상위 권한과 무인 비행체의 카메라와 관련된 상위 권한을 부여할 수 있다.
또한, 권한 관리부(320)는 관리하고 있는 권한들에 대하여 세마포어(semaphore) 개념을 적용할 수 있다.
예를 들어, 권한 중 하나가 복수의 롤에 할당될 수 있다. 이때, 할당된 권한은 복수의 롤에서 모두 이용할 수 있는 자원일 수 있다. 그러나, 복수의 롤 중 하나의 롤이 할당된 권한을 이용하는 경우, 권한 관리부(320)는 다른 롤들이 할당된 권한을 이용하지 못하도록 할 수 있다.
구체적으로, 권한 관리부(320)는 롤이 사용자로부터 수신한 제어 명령에 따라 자신에게 부여된 권한을 이용하려는 경우, 롤에 부여된 권한을 이용하고 있는 다른 롤이 있는지 여부를 확인하고, 롤에 부여된 권한을 이용하는 다른 롤이 있는 경우, 롤이 자신에게 부여된 권한을 이용하지 못하도록 할 수 있다.
즉, 권한 관리부(320)는 복수의 롤이 동시에 동일한 권한을 이용하지 못하도록 함으로써, 복수의 권한이 동시 수행됨에 따른 무인 비행체(320)의 오류 발생을 방지할 수 있다.
또한, 권한 관리부(320)는 롤 관리부(310)가 동일한 종류의 롤을 복수로 정의한 경우, 종류가 동일한 모든 롤에게 동일한 권한을 부여할 수 있다. 예를 들어, 롤 관리부(310)가 복수의 파일롯 롤을 정의한 경우, 권한 관리부(320)는 정의된 복수의 파일롯 롤들에게 동일한 권한을 부여할 수 있다.
명령 관리부(330)는 롤에 부여한 권한에 기초하여 무인 비행체(320)와 사용자의 단말기(310) 간의 정보 전송을 중계할 수 있다. 이때, 명령 관리부(330)는 패킷을 이용하여 무인 비행체(320)로부터 수신한 정보를 단말기(310)로 중계하고, 단말기(310)로부터 수신한 제어 명령을 무인 비행체(320)로 중계할 수 있다.
구체적으로 명령 관리부(330)는 무인 비행체(320)가 전송한 정보 패킷을 분산시키거나, 단말기(310)들이 전송하는 제어 명령 패킷들을 취합하여 무인 비행체(320)로 전송할 수 있다.
제어 명령 패킷의 구조는 이하 도 5를 참조로 상세히 설명한다.
이때, 명령 관리부(330)는 무인 비행체와 사용자 간의 정보 전송에 이용하는 패킷의 중요도, 패킷의 목적, 및 패킷의 길이 중 적어도 하나에 기초하여 패킷을 분류하고, 분류 결과에 따라 패킷 전송에 이용할 시간을 할당할 수 있다.
예를 들어, 명령 관리부(330)는 표 1과 같이 패킷을 비행 제어 명령이 포함된 비행 제어 패킷, LED 제어 명령이 포함된 LED 제어 패킷, 상태 정보가 포함된 상태 정보 패킷, GPS(Lat)가 포함된 GPS(Lat) 패킷 및 GPS(Long)가 포함된 GPS(Long) 패킷으로 분류할 수 있다. 그리고, 명령 관리부(330)는 분류된 패킷 각각에 전송 시간, 초당 전송 수를 할당할 수 있다.
Figure 112013020209359-pat00001
또한, 명령 관리부(330)는 핸드세이킹(handshaking)으로 패킷을 전송할 대상과, 명령 관리부(330)의 동기를 맞추거나, 패킷을 수신할 대상과 명령 관리부(330)의 동기를 맞출 수 있다. 예를 들어, 단말기(310)로부터 제어 명령을 수신하는 경우, 명령 관리부(330)는 단말기(310)와 동기를 맞추어 제어 명령을 수신한 다음, 무인 비행체(320)와 동기를 맞추어 제어 명령을 전송할 수 있다.
즉, 명령 관리부(330)는 단말기(310) 또는 무인 비행체(320)와 동기를 맞춤으로써, 단말기(310), 또는 무인 비행체(320)와 명령 관리부(330)가 동시에 서로에게 패킷을 전송함으로써 발생하는 오류를 방지할 수 있다.
그리고, 명령 관리부(330)는 단말기(310) 또는 무인 비행체(320)로부터 수신한 패킷을 처리하여 패킷에 포함된 정보를 분석할 수 있다. 또한, 명령 관리부(330)는 패킷을 처리하는 과정에서 패킷의 오류를 감지할 수 있다. 예를 들어, 명령 관리부(330)는 무인 비행체와 사용자 간의 정보 전송에 이용하는 패킷의 길이가 변화되었는지 여부를 판단하고, 상기 패킷의 길이가 변화된 경우, 패킷을 전송한 대상에게 상기 패킷의 재전송을 요청할 수 있다.
명령 관리부(330)가 제어 명령이 포함된 패킷을 처리하는 과정은 이하 도 7을 참조하여 상세히 설명한다.
도 4는 본 발명의 일실시예에 따른 권한 관리부가 계층적으로 정의한 권한의 일례이다.
모든 권한(All Permissions)(410)은 도 4에 도시된 바와 같이 권한 관리부(320)가 관리하는 모든 권한의 상위 권한일 수 있다. 따라서, 롤에 모든 권한(410)을 부여하는 경우, 해당 롤은 권한 관리부(320)가 관리하는 모든 권한을 이용할 수 있다.
또한, 비행(Flight) 권한(420)은 무인 비행체(320)의 비행과 관련된 권한들의 상위 권한일 수 있다. 이때, 비행 권한(420)은 하위 권한인 비행 스테이터스(Flight Status) 권한(421), 비행 제어(Flight control) 권한(422), 및 GPS 네비게이션(GPS navigation) 권한(423)을 포함할 수 있다.
이때, 비행 스테이터스 권한(421)은 고도, 비행 방향, 비행 속도, 상승, 또는 하강 각도와 같은 무인 비행체(320)의 비행 스테이터스를 제공받을 수 있는 권한일 수 있다. 또한, 비행 제어 권한(422)은 무인 비행체(320)의 비행 경로나 고도를 제어할 수 있는 권한일 수 있다. 그리고, GPS 네비게이션 권한(423)은 GPS를 이용하여 측정한 무인 비행체(320)의 위치와, 목적지까지의 경로를 안내 받을 수 있는 권한일 수 있다.
즉, 롤에 비행 권한(420)을 부여하는 경우, 롤은 GPS네비게이션 권한(423)으로 사용자에게 무인 비행체(320)의 위치와 경로를 제공하고, 비행 스테이터스 권한(421)으로 무인 비행체(320)의 현재 비행 상태를 알릴 수 있다. 또한, 롤은 비행 제어 권한(422)에 따라 사용자로부터 비행 제어 패킷을 수신하고, 수신한 비행 제어 패킷을 명령 관리부(330)를 통하여 무인 비행체(320)로 전송함으로써, 무인 비행체(320)가 사용자가 원하는 대로 비행하도록 할 수 있다.
그리고, 미션(mission) 권한(430)은 카메라(camera) 권한(431)과 라이트(light) 권한(432)의 상위 권한일 수 있다.
또한, 카메라 권한(431)은 틸트 제어(Tilt control) 권한(433)과 비디오 접속(Video Access) 권한(434)의 상위 권한일 수 있다.
이때, 틸트 제어 권한(433)은 무인 비행체(320)의 카메라의 상하 각도를 제어할 수 있는 권한이고, 비디오 접속 권한(434)은 무인 비행체(320)의 카메라가 촬영한 영상을 제공받을 수 있는 권한일 수 있다.
즉, 롤에 카메라 권한(431)을 부여하는 경우, 롤은 틸트 제어 권한(433)에 따라 사용자로부터 틸트 제어 패킷을 수신하고, 수신한 틸트 제어 패킷을 명령 관리부(330)를 통하여 무인 비행체(320)로 전송함으로써, 무인 비행체(320)의 카메라의 각도가 사용자가 원하는 각도로 변경할 수 있다. 또한, 롤은 비디오 접속 권한 (434)으로 카메라가 촬영한 영상을 수신하고, 수신한 영상을 사용자의 단말기(310)로 전송할 수 있다.
무인 비행체(320)는 특정 지역을 비추는 조명, 또는 자신의 위치를 나타내는 광원을 포함할 수 있다. 또한, 무인 비행체(320)에 포함된 광원은 출력하는 광의 색상을 변경 가능한 라이트일 수 있다. 이때, 라이트 권한(432)은 무인 비행체(320)에 포함된 광원, 또는 조명을 제어하는 권한이며, 색상 제어(Color Control) 권한(435)와 파워 제어(Power Control) 권한(436)의 상위 권한일 수 있다.
이때, 색상 제어 권한(435)은 무인 비행체(320)의 라이트의 색상을 제어할 수 있는 권한이고, 파워 제어 권한(436)은 무인 비행체(320)의 라이트의 온/오프를 제어할 수 있는 권한일 수 있다.
즉, 롤에 라이트 권한(432)을 부여하는 경우, 롤은 색상 제어 권한(435)와 파워 제어 권한(436)에 따라 사용자로부터 라이트 제어 패킷을 수신하고, 수신한 라이트 제어 패킷을 명령 관리부(330)를 통하여 무인 비행체(320)로 전송함으로써, 무인 비행체(320)의 라이트의 색상과 온/오프 여부를 변경할 수 있다.
그리고, 센서(sensor) 권한(440)은 적외선 센서(Infrared sensor) 권한(441)과 음향 센서(Sonar sensor) 권한(442)의 상위 권한일 수 있다.
이때, 적외선 센서 권한(441)은 무인 비행체(320)의 적외선 센서가 측정한 정보를 제공받을 수 있는 권한이고, 음향 센서 권한(442)은 무인 비행체(320)의 음향 센서가 측정한 정보를 제공받을 수 있는 권한일 수 있다.
즉, 롤에 센서 권한(440)을 부여하는 경우, 롤은 적외선 센서 권한(441)으로 무인 비행체(320)의 적외선 센서가 측정한 정보를 사용자에게 제공하고, 음향 센서 권한(442)으로 무인 비행체(320)의 음향 센서가 측정한 정보를 사용자에게 제공할 수 있다.
즉, 권한 관리부(320)는 권한을 계층적으로 관리함으로써, 롤에 할당하는 권한의 개수를 절감할 수 있다.
예를 들어, 권한 관리부(320)는 표 2와 같이 관리자 롤, 파일롯 롤, 센서 모니터 롤, 카메라맨 롤, 및 옵저버 롤에 각각 권한을 할당할 수 있다.
Figure 112013020209359-pat00002
권한 관리부(320)가 권한을 도 4에 도시된 바와 같이 계층적으로 관리하지 않는 경우, 권한 관리부(320)는 관리자 룰에 비행 스테이터스 권한(421), 비행 제어 권한(422), GPS 네비게이션 권한(423), 틸트 제어 권한(433), 비디오 접속 권한(434), 색상 제어 권한(435), 파워 제어 권한(436), 적외선 센서 권한(441) 및 음향 센서 권한(442)을 모두 부여해야 하므로 9번의 권한 부여 과정이 필요할 수 있다.
반면, 권한 관리부(320)가 권한을 도 4에 도시된 바와 같이 계층적으로 관리하는 경우, 권한 관리부(320)는 상위 권한인 모든 권한(410) 하나만을 관리자 룰에 부여함으로써, 9개의 권한을 부여한 것과 동일한 효과를 얻을 수 있다.
즉, 권한 관리부(320)는 롤에 서로 관련된 복수의 권한을 부여해야 할 경우, 상위 권한을 부여함으로써, 권한 부여 회수를 감소시킬 수 있다.
또한, 비행 관련 권한은 모두 필요하지만, 카메라 관련 권한 중에서는 카메라가 촬영한 영상만을 필요로 하는 파일롯 롤의 경우, 권한 관리부(320)는 상위 권한인 비행 권한(420)과 하위 권한인 비디오 접속 권한(434)를 파일롯 롤에 부여할 수 있다.
그리고, 무인 비행체(320)의 카메라가 촬영한 영상만 필요로 하는 옵저버 룰의 경우, 권한 관리부(320)는 하위 권한인 비디오 접속 권한(434)를 옵저버 롤에 부여함으로써, 롤에 필요 없는 권한을 부여하는 것을 방지할 수 있다.
즉, 권한 관리부(320)는 계층적으로 권한을 관리하고 롤에 부여함으로써, 권한 부여 회수를 감소시키면서 디테일 하게 권한을 부여할 수 있다.
도 5는 본 발명의 일실시예에 따른 제어 명령 패킷의 일례이다.
본 발명의 일실시예에 따른 제어 명령 패킷은 도 5에 도시된 바와 같이 플러그 바이트(Flag byte)(510), 피치 바이트(Pitch byte)(520), 롤 바이트(roll byte)(530), 요 바이트(yaw byte)(540), 파워 바이트(power byte)(550), 카메라 바이트(Camera byte)(560) 및 종료 바이트(End byte)(570)를 포함할 수 있다.
플러그 바이트(510)는 패킷의 종류를 나타낼 수 있다. 예를 들어, 도 5와 같이 플러그 바이트(510)가 C인 경우, 패킷은 제어 페킷일 수 있다.
피치 바이트(520)는 무인 비행체(320)의 전후 기울임을 나타낼 수 있다. 예를 들어, 피치 바이트(520)가 50인 경우, 무인 비행체(320)가 수평 상태이며, 0에 가까울수록 무인 비행체(520)가 앞으로 기울어져서 하강하고, 99에 가까울수록 무인 비행체(520)가 뒤로 기울어져서 상승할 수 있다.
롤 바이트(530)는 무인 비행체(320)의 좌우 기울임을 나타낼 수 있다. 예를 들어, 예를 들어, 롤 바이트(530)가 50인 경우, 무인 비행체(320)가 수평 상태이며, 0에 가까울수록 무인 비행체(520)의 왼쪽이 지면 방향으로 기울어져서 무인 비행체(520)가 왼쪽으로 선회하기 유리한 상태가 될 수 있다. 또한, 롤 바이트(530)가 99에 가까울수록 무인 비행체(520)의 오른쪽이 지면 방향으로 기울어져서 무인 비행체(520)가 오른쪽으로 선회하기 유리한 상태가 될 수 있다.
요 바이트(540)는 무인 비행체(320)의 회전을 나타낼 수 있다. 예를 들어, 요 바이트(540)가 50인 경우, 무인 비행체(320)가 전진하는 상태이며, 0에 가까울수록 무인 비행체(520)가 왼쪽으로 크게 회전하고, 99에 가까울수록 무인 비행체(520)가 오른쪽으로 크게 회전할 수 있다.
파워 바이트(550)는 무인 비행체(320)의 모터 출력을 나타낼 수 있다. 예를 들어, 파워 바이트(550)가 0에 가까울수록 무인 비행체(520)의 모터 출력이 감소하여 비행 속도가 감소하고, 99에 가까울수록 무인 비행체(520)이 모터 출력이 증가하여 비행 속도가 증가할 수 있다.
카메라 바이트(560)는 무인 비행체(320)의 카메라의 틸트 정보를 포함할 수 있다.
종료 바이트(570)는 패킷이 끝남을 나타낼 수 있다.
예를 들어, C505050450E 패킷은 피치 바이트(520), 롤 바이트 (530), 요 바이트(540)가 모두 50이므로 무인 비행체(320)가 정면으로 비행하도록 하는 제어 명령을 포함하고, 파워 바이트(550)가 45이므로 45%의 출력으로 비행하도록 하는 제어 명령을 포함하는 패킷일 수 있다.
도 6은 본 발명의 일실시예에 따른 패킷 처리 과정의 일례이다.
명령 관리부(330)는 도 6에 도시된 바와 같이 수신한 패킷(600)을 처리하여 수신 패킷(640)으로 변환할 수 있다.
먼저 명령 관리부(330)는 수신한 패킷을 바이트 단위로 레지스터(register)(610)에 입력할 수 있다.
그리고, 명령 관리부(330)는 레지스터(610)에 입력된 바이트를 인터럽트(Interrupt)(620)할 수 있다.
마지막으로, 명령 관리부(330)는 ISR(information storage and retrieval) 함수를 이용하여 인터럽트된 바이트를 문자열로 변환하고, 변환된 문자열을 수신 패킷(640)에 입력할 수 있다. 이때, 명령 관리부(330)는 바이트를 변환한 문자열이 C가 아닌 경우, 문자열을 입력할 인덱스를 증가시키고, 증가된 인덱스에 따라 변화된 문자열을 입력할 수 있다.
도 7은 본 발명의 일실시예에 따른 패킷 처리 과정에서 종료 단계의 일례이다.
명령 관리부(330)는 수신한 종료 바이트를 레지스터(710)에 입력할 수 있다.
그리고, 명령 관리부(330)는 레지스터(710)에 입력된 종료 바이트를 인터럽트(720)할 수 있다.
다음으로, 명령 관리부(330)는 ISR 함수를 이용하여 인터럽트된 바이트를 문자열로 변환할 수 있다. 문자열로 변환된 바이트가 종료 바이트를 나타내는 E인 경우, 명령 관리부(330)는 수신 패킷(731)를 분석하는 함수(740)를 이용하여 수신 패킷(640)의 의미를 분석할 수 있다. 이때, 수신 패킷(731)은 명령 관리부(330)가 플레그 바이트인 C를 수신한 다음부터 종료 바이트를 나타내는 E를 수신할 때까지 수신한 문자열들일 수 있다. 또한, 수신 패킷(731)을 분석하는 함수(740)는 앱스트랙트 함수일 수 있다.
구체적으로, 명령 관리부(330)는 함수(740)을 이용하여 수신 패킷(731)에서 피치 바이트(520), 롤 바이트 (530), 요 바이트(540), 파워 바이트(550), 및 틸트 바이트(560)을 식별하고, 각 바이트들이 포함한 값의 의미를 인식할 수 있다.
예를 들어, 명령 관리부(330)는 수신 패킷(731) C505050450E에서 피치 바이트(520), 롤 바이트 (530), 요 바이트(540)가 모두 50이므로 무인 비행체(320)가 정면으로 비행하도록 하는 제어 명령이며, 파워 바이트(550)가 45이므로 45%의 출력으로 비행하도록 하는 제어 명령이라는 것을 인식할 수 있다.
도 8은 본 발명의 일실시예에 따른 롤과 권한, 오퍼레이터 간의 관계의 일례이다.
오퍼레이터(800)는 사용자의 역할에 따라 분류한 사용자들일 수 있다. 예를 들어, 오퍼레이터 1은 파일롯이고, 오퍼레이터 2는 센서 모니터이며, 오퍼레이터 3과 오퍼레이터 4는 카메라맨일 수 있다.
도 8에 도시된 바와 같이 롤 관리부(310)는 사용자의 역할에 기초하여 롤을 오퍼레이터(800)에게 할당할 수 있다. 예를 들어, 롤 관리부(310)는 파일롯 롤인 롤 1은 오퍼레이터 1에 할당하고, 센서 모니터 롤인 롤 2는 오퍼레이터 2에 할당할 수 있다. 또한, 오퍼레이터 3과 오퍼레이터 4과 같이 복수의 사용자가 동일한 역할을 하는 경우, 롤 관리부(310)는 하나의 롤을 복수의 사용자에게 할당할 수 있다.
그러나, 롤 관리부(310)는 한 명의 오퍼레이터(800)에게 복수의 롤을 할당하지는 않을 수 있다. 오퍼레이터(800) 중 한 명이 롤 1과 롤 2에 부여된 권한을 모두 필요로 하는 경우, 롤 관리부(310)는 롤 5를 추가 생성하고 오퍼레이터에게 롤 5를 할당할 수 있다. 이때, 권한 관리부(320)는 롤 5에게 롤 1과 롤 2에 부여된 권한을 모두 부여할 수 있다.
그리고, 권한 관리부(320)는 도 8에 도시된 바와 같이 적어도 하나의 권한을 롤에게 부여할 수 있다. 이때, 권한 관리부(320)는 하나의 권한을 복수의 롤에게 모두 부여할 수도 있다.
이때, 오퍼레이터(800)는 자신이 접속한 롤에 부여된 권한을 이용하여 무인 비행체(320)를 제어할 수 있다.
예를 들어, 롤 1에 접속한 오퍼레이터 1은 권한 1, 권한 2, 권한 4를 이용하여 무인 비행체(320)가 전송한 정보를 제공 받거나, 무인 비행체(320)를 제어할 제어 명령을 전송할 수 있다. 이때, 명령 관리부(330)는 무인 비행체(320)로부터 수신한 정보 중에서 권한 1, 권한 2, 권한 4 중 적어도 하나에 대응하는 정보를 롤 관리부(310)에 전달하고, 롤 관리부(310)는 명령 관리부(330)로부터 전달 받은 정보를 오퍼레이터 1의 단말기에 전송할 수 있다.
또한, 롤 관리부(310)는 오퍼레이터1로부터 권한 1, 권한 2, 권한 4 중 적어도 하나에 대응하는 제어 명령을 수신할 수 있다.
이때, 권한 관리부(320)는 제어 명령에 대응하는 권한이 다른 롤에 의하여 수행되고 있는지 여부를 확인할 수 있다. 그리고, 제어 명령에 대응하는 권한이 다른 롤에 의하여 수행되는 경우, 제어 명령을 드랍하거나, 다른 롤이 권한 수행을 종료한 후에 제어 명령을 명령 관리부(330)에 전달할 수 있다.
이때, 명령 관리부(330)는 권한 관리부(320)가 전달한 제어 명령을 무인 비행체(320)로 전송하여 무인 비행체(320)의 기능이 오퍼레이터 1의 의도대로 제어되도록 할 수 있다.
도 9는 본 발명의 일실시예에 따른 무인 비행체 제어 시스템의 일례이다.
도 8에서 오퍼레이터(800)가 제어 명령을 전송하고, 무인 비행체 제어 장치(200)로부터 정보를 수신하기 위하여 이용하는 단말기(310)는 원도우 운영 체제를 이용하는 PC와 같은 단말기이거나, 안드로이드 운영 체제를 이용하는 스마트 폰 및 iOS 운영 체제를 이용하는 스마트 폰 중 적어도 하나일 수 있다.
이때, 원도우 운영 체제를 이용하는 단말기(910)는 MFC 어플리케이션(Application)이 설치되어 무인 비행체 제어 장치(200)로부터 수신한 정보를 표시할 수 있다.
이때, MFC 어플리케이션은 멀티미디어 기능에 최적화된 스크립트 언어인 Flash11와 그래픽을 최적화 시켜주는 Direct 9.0을 포함할 수 있다. 또한, MFC 어플리케이션은 단말기(910)의 외부에 연결된 조이스틱으로부터 조이스틱 정보를 수신하여 무인 비행체(320)의 회전, 상승, 하강, 기울기 및 속도를 제어하는 제어 명령을 생성할 수 있다.
또한, 안드로이드 운영 체제를 이용하는 단말기(920)는 도 9에 도시된 바와 같이 H.264 비디오를 실시간으로 사용자에게 표시할 수 있고, 각 정보의 시각화 구현이 용이한 Flash11을 포함할 수 있다. 이때, Flash11는 스마트 디바이스(device)의 터치나 기울기 센서를 인식하여 무인 비행체(320)의 회전, 상승, 하강, 기울기 및 속도를 제어하는 제어 명령을 생성할 수 있다.
무인 비행체 제어 장치(200)는 Flash Media Server와 AirServer3.0 및 RF 모듈을 포함하는 MFC 어플리케이션(930)이 설치될 수 있다.
이때, Flash Media Server는 H.264 영상을 실시간으로 인코딩하며, AirServer3.0는 다중 사용자들을 받고 정보들을 취합하거나 분산할 수 있다. 이때, AirServer3.0는 Flex로 작성된 서버 프로그램일 수 있다. 또한, AirServer3.0은 RF모듈을 시리얼 커뮤니케이션(Serial Communication)으로 제어하여 무인 비행체(320)와 무선 통신을 수행할 수도 있다.
무인 비행체(320)는 Cantus 32bit 마이크로 프로세서를 메인 CPU(940)로 이용할 수 있다. 이때, 메인 CPU(940)는 RF모듈을 통해 수신한 패킷을 분석하여 비행 제어를 수행하고 LED, 모터 및 카메라(950)를 제어할 수 있다.
또한, 메인 CPU(940)는 GPS, IMU와 같은 각종 센서들이 측정한 측정 결과를 패킷으로 압축하여 무인 비행체 제어 장치(200)로 전송할 수도 있다.
그리고, 메인 CPU(940)는 패킷의 CRC를 통해 통신 장애로 인한 오작동을 방지할 수 있다.
도 10은 본 발명의 일실시예에 따른 무인 비행체의 구조를 나타내는 도면이다.
본 발명의 일실시예에 따른 무인 비행체(320)는 도 10에 도시된 바와 같이 복수의 제어부를 포함할 수 있다.
제1 제어부(1010)는 메인 CPU이며, 도 10에 도시된 바와 같이 블루투스(1011), 카메라(1012), 라이트(1013), 9EoF IMU(1014), 및 GPS(1015)를 제어할 수 있다. 예를 들어 제1 제어부(1010)는 Cantus 32bit 마이크로 프로세서일 수 있다.
구체적으로, 제1 제어부(1010)는 블루투스(1011)를 이용하여 무인 비행체 제어 장치(200) 간의 통신을 수행하고, 무인 비행체 제어 장치(200)로부터 수신한 패킷을 분석할 수 있다.
또한, 수신한 패킷이 비행 제어와 관련된 패킷인 경우, 제1 제어부(1010)는 분석 결과를 제2 제어부(1020)로 전송할 수 있다. 그리고, 수신한 패킷이 센서와 관련된 패킷인 경우, 제1 제어부(1010)는 분석 결과를 제3 제어부(1030)로 전송할 수 있다.
그리고, 수신한 패킷이 카메라(1012), 라이트(1013), 9EoF IMU(1014)와 관련된 패킷인 경우, 제1 제어부(1010)는 패킷의 분석 결과에 따라 카메라(1012), 라이트(1013), 9EoF IMU(1014)를 제어할 수 잇다.
또한, 제1 제어부(1010)는 GPS(1015)를 이용하여 무인 비행체(320)의 위치를 측정할 수 있다. 이때, 제1 제어부(1010)는 위치 측정 결과를 패킷으로 압축한 다음, 블루투스(1011)를 이용하여 무인 비행체 제어 장치(200)로 전송할 수 있다.
제2 제어부(1020)는 제1 제어부(1010)로부터 수신한 패킷의 분석 결과에 따라 무인 비행체(320)의 모터를 제어하는 서브 CPU일 수 있다. 예를 들어 제2 제어부(1020)는 Arm9 32bit 마이크로 프로세서일 수 있다.
무인 비행체(320)는 도 1에 도시된 바와 같이 4개의 프로펠러를 회전시켜 양력을 얻고 비행할 수 있다. 이때, 프로펠러 각각을 회전 시키는 모터의 출력을 제어하면 무인 비행체(320)의 무인 비행체(320)의 회전, 상승, 하강, 기울기 및 속도를 제어할 수 있다. 예를 들어, 제2 제어부(1020)가 프로펠러 중 전방에 위치한 프로펠러의 출력을 낮추면, 무인 비행체(320)에서 전방의 양력이 감소하므로, 무인 비행체(320)가 전방으로 기울 수 있다.
제3 제어부(1020)는 제1 제어부(1010)로부터 수신한 패킷의 분석 결과에 따라 무인 비행체(320)의 센서를 제어하는 서브 CPU일 수 있다. 예를 들어 제3 제어부(1030)는 Atmega2560 8bit 마이크로 프로세서일 수 있다.
구체적으로 제3 제어부(1020)는 무인 비행체(320)의 센서들 중에서 제1 제어부(1010)로부터 수신한 패킷의 분석 결과에 대응하는 센서가 측정한 정보를 식별할 수 있다. 그리고, 제3 제어부(1030)는 식별한 정보를 제1 제어부(1010)로 전송하고, 제1 제어부(1010)는 수신한 정보를 패킷으로 압축한 다음, 블루투스(1011)를 이용하여 무인 비행체 제어 장치(200)로 전송할 수 있다.
본 발명의 일실시예에 따른 무인 비행체(320)는 복잡한 제어가 필요한 모터나 센서를 별개의 서브 CPU로 제어함으로써, 메인 CPU의 부담을 감소시킬 수 있다.
도 11은 본 발명의 일실시예에 따른 무인 비행체의 라이트의 회로를 나타내는 도면이다.
본 발명의 일실시예에 따른 무인 비행체(320)의 라이트는 3가지 색상을 출력할 수 있다. 이때, 라이트는 32비트의 트루 컬러를 표현하기 위하여 PWM 방식의 제어를 사용할 수 있다.
또한, 일반적인 3색 LED는 12V를 사용하지만, 무인 비행체(320)는 5v를 출력하는 MCU를 이용하여 색상을 출력해야 하므로 트랜지스터를 이용하여 전력을 감소하였다. 예를 들어 트랜지스터는 60N83L일 수 있다.
이때, 라이트는 MCU를 보호하기 위하여 도 11과 같은 회로를 이용할 수 있다.
도 12는 본 발명의 일실시예에 따른 무인 비행체의 배터리의 회로를 나타내는 도면이다.
본 발명의 일실시예에 따른 무인 비행체(320)는 배터리의 잔량을 체크하기 위하여 도 12와 같은 회로를 이용할 수 있다. 이때, 12V의 출력을 가지는 배터리를 바로 ADC에 연결을 하면 칩이 타버리므로 보호 회로가 포함될 수 있다.
이때, 보호 회로는 KVL(V=V1+V2)을 이용하여 Scale Down된 전류를 PF0채널에 입력을 하고 AREF모드로 10bit 분해하여 사용할 수 있다.
도 13은 본 발명의 일실시예에 따른 단말기의 구조를 나타내는 도면이다.
도 13을 참고하면, 본 발명의 일실시예에 따른 단말기(310)는 접속부(1310), 수신부(1320) 및 정보 제공부(1330)를 포함할 수 있다.
접속부(1310)는 RBAC에 기초하여 정의된 무인 비행체 제어 장치(200)의 롤들 중에서 사용자의 역할에 대응하는 롤에 접속할 수 있다.
수신부(1320)는 접속부(1310)가 접속한 롤로부터 상기 롤에 부여된 무인 비행체의 기능 권한에 기초한 정보를 수신할 수 있다.
접속부(1310)가 접속한 롤이 파일롯 롤인 경우, 수신부(1320)는 무인 비행체의 카메라가 촬영한 영상, 무인 비행체의 비행과 관련된 정보, 및 무인 비행체의 비행을 제어하는 제어 명령 입력 인터페이스 중 적어도 하나가 포함된 정보를 수신할 수 있다.
접속부(1310)가 접속한 롤이 센서 모니터 롤인 경우, 수신부(1320)는 무인 비행체의 비행 스테이터스 및 무인 비행체의 센서가 측정한 센서 정보 중 적어도 하나가 포함된 정보를 수신할 수 있다.
접속부(1310)가 접속한 롤이 카메라맨 롤인 경우, 수신부(1320)는 무인 비행체의 카메라가 촬영한 영상, 무인 비행체의 카메라를 제어하는 제어 명령 입력 인터페이스 및, 무인 비행체의 조명을 제어하는 제어 명령 입력 인터페이스 중 적어도 하나가 포함된 정보를 수신할 수 있다.
정보 제공부(1330)는 수신부(1320)가 수신한 정보를 사용자에게 제공할 수 있다.
정보 제공부(1330)가 사용자에게 제공하는 정보는 도 14을 참조하여 상세히 설명한다.
도 14는 본 발명의 일실시예에 따른 단말기가 사용자에게 제공하는 화면의 일례이다.
도 14은 접속부(1310)가 접속한 롤이 관리자 롤인 경우, 정보 제공부(1330)가 사용자에게 제공하는 화면의 일례이다.
도 14에 도시된 바와 같이 정보 제공부(1330)는 무인 비행체의 카메라가 촬영한 영상을 표시하고, 영상 위에 무인 비행체의 비행과 관련된 정보, 및 무인 비행체의 비행을 제어하는 제어 명령 입력 인터페이스를 표시할 수 있다.
구체적으로, 정보 제공부(1330)는 GPS 네비게이션 권한(423)을 이용하여 수신한 무인 비행체(320)의 위치 정보를 지도 정보와 매칭하여 화면의 일부분에 무인 비행체(320)의 위치를 나타내는 미니맵(1410)를 표시할 수 있다. 이때, 지도 정보는 구글맵일 수도 있고, 다른 지도 정보일 수도 있다.
또한, 수신부(1320)는 비행 스테이터스 권한(421)을 이용하여 무인 비행체(320)의 방위 정보, 고도 정보, 출력 정보, 기울기 정보, 및 배터리 정보를 수신할 수 있다.
이때, 정보 제공부(1330)는 방위 정보를 이용하여 방위 지시계(1420)를 표시하고, 고도 정보와 출력 정보를 이용하여 고도 및 출력(1440)를 표시할 수 있다.
이때, 방위 지시계(1420)는 무인 비행체(320)의 진행 방향을 화살표로 표시할 수 있으며, 고도 및 출력(1440)는 오른 쪽에는 고도를 m단위로 표시하고, 왼쪽에는 출력에 따른 무인 비행체(320)의 속도를 Km/h 단위로 표시할 수 있다.
또한, 정보 제공부(1330)는 기울기 정보를 이용하여 수평 수직 지시계(1430)를 표시할 수 있다. 이때, 수평 수직 지시계(1430)는 무인 비행체(320)가 수평으로 비행 중일 경우, 0이고, 무인 비행체(320)가 전방으로 기울거나 후방으로 기울 경우, + 또는 -로 값이 변화하여 기울기 정보를 나타낼 수 있다.
그리고, 정보 제공부(1330)는 배터리 정보를 이용하여 무인 비행체(320)의 배터리 잔량(1450)를 표시할 수 있다. 이때, 배터리 잔량(1450)는 도 14에 도시된 바와 같이 V로 표시할 수도 있고, %로 표시할 수도 있다.
또한, 정보 제공부(1330)는 제어 명령 입력 인터페이스(1460)을 표시할 수 있다.
이때, 정보 제공부(1330)가 표시하는 정보의 종류와 개수는 접속부(1310)가 접속한 롤에 따라 변경될 수 있다.
예를 들어, 파일롯 롤은 카메라 틸트나, 조명을 제어할 권한이 없다. 따라서, 접속부(1310)가 접속한 롤이 파일롯 롤인 경우, 정보 제공부(1330)는 카메라나 조명과 관련된 제어 명령 입력 인터페이스(1460)를 표시하지 않을 수 있다.
또한, 카메라맨 롤은 비행을 제어할 권한이나 무인 비행체(320)의 비행과 관련된 정보를 제공받을 권한이 없다. 따라서, 접속부(1310)가 접속한 롤이 카메라맨인 경우, 정보 제공부(1330)는 미니맵(1410), 방위 지시계(1420), 수평 수직 지시계(1430), 고도 및 출력(1440), 배터리 잔량(1450)를 표시하지 않을 수 있다.
그리고, 옵저버 롤은 영상에 접속할 수 있는 권한만 부여 되어 있다. 따라서, 접속부(1310)가 접속한 롤이 옵저버 롤인 경우, 정보 제공부(1330)는 무인 비행체(320)의 비행과 관련된 정보, 및 무인 비행체의 비행을 제어하는 제어 명령 입력 인터페이스를 표시하지 않고, 영상만 표시할 수도 있다.
도 15는 본 발명의 일실시예에 따른 롤 설정 방법을 도시한 플로우차트이다.
단계(1510)에서 롤 관리부(310)는 RBAC에 기초하여 복수의 롤을 정의할 수 있다. 이때, 롤 관리부(310)는 관리자 롤을 상위 롤로 하는 계층적 구조로 롤들을 정의할 수 있다.
단계(1520)에서 권한 관리부(320)는 무인 비행체의 기능에 대한 권한을 계층적으로 정의할 수 있다.
구체적으로, 권한 관리부(320)는 무인 비행체의 기능에 대한 권한을 무인 비행체의 기능들 각각에 대응하는 하위 권한들과, 복수의 상기 하위 권한을 포함하는 적어도 하나의 상위 권한으로 계층화하여 정의할 수 있다.
단계(1530)에서 권한 관리부(320)는 사용자의 역할에 기초하여 롤에게 무인 비행체의 기능에 대한 권한 중 적어도 하나의 권한을 부여할 수 있다. 이때, 권한 관리부(320)는 롤에게 부여할 권한의 종류와 개수에 따라 하위 권한 또는 상위 권한을 선택할 수 있다.
예를 들어, 롤에게 복수의 하위 권한을 부여해야 하고, 하위 권한들을 포함하는 상위 권한이 있는 경우, 권한 부여부(320)는 롤에게 상위 권한을 부여할 수 있다. 그러나, 롤에게 부여할 하위 권한들을 모두 포함하는 상위 권한이 없는 경우, 권한 부여부(320)는 하위 권한들을 각각 롤에게 부여할 수 있다.
단계(1540)에서 롤 관리부(310)는 사용자의 역할에 기초하여 단계(1510)에서 권한이 부여된 롤들 중에서 하나의 롤을 선택하고, 사용자의 역할에 대응하는 롤을 사용자에게 할당할 수 있다.
단계(1550)에서 명령 관리부(330)는 무인 비행체(320)와 사용자 간의 정보 전송에 이용하는 패킷의 중요도, 패킷의 목적, 및 패킷의 길이 중 적어도 하나에 기초하여 패킷을 분류하고, 분류 결과에 따라 패킷 전송에 이용할 시간을 할당할 수 있다.
예를 들어, 명령 관리부(330)는 패킷을 비행 제어 명령이 포함된 비행 제어 패킷, LED 제어 명령이 포함된 LED 제어 패킷, 상태 정보가 포함된 상태 정보 패킷, GPS(Lat)가 포함된 GPS(Lat) 패킷 및 GPS(Long)가 포함된 GPS(Long) 패킷으로 분류할 수 있다. 그리고, 명령 관리부(330)는 분류된 패킷 각각에 전송 시간, 초당 전송 수를 할당할 수 있다.
도 16은 본 발명의 일실시예에 따른 무인 비행체 제어 방법을 도시한 플로우차트이다.
단계(1610)에서 롤 관리부(310)는 롤에 접속한 사용자의 단말기(310)에게 권한에 따른 정보를 제공할 수 있다. 예를 들어, 롤에 비디오 접속 권한이 부여된 경우, 롤 관리부(310)는 사용자의 단말기(310)에 무인 비행체(320)의 카메라가 촬영한 영상을 전송할 수 있다.
단계(1620)에서 롤 관리부(310)는 롤에 접속한 사용자의 단말기(310)로부터 제어 명령을 수신할 수 있다. 이때, 롤 관리부(310)가 수신한 제어 명령은 사용자가 단계(1610)에서 제공받은 정보에 따라 단말기(310)에 입력한 제어 명령일 수 있다.
예를 들어, 단계(1610)에서 롤 관리부(310)가 파일롯 롤에 접속한 사용자의 단말기(310)에게 무인 비행체(320)가 하강 중이라는 정보를 제공한 경우, 사용자는 무인 비행체(320)를 상승 시키라는 제어 명령을 단말기(310)에 입력할 수 있다. 이때, 단말기(310)는 사용자로부터 입력 받은 제어 명령을 롤 관리부(310)로 전송할 수 있다.
단계(1630)에서 롤 관리부(310)는 단계(1620)에서 수신한 제어 명령이 롤에 부여된 권한에 대응하는지 여부를 확인할 수 있다.
예를 들어, 카메라맨 롤에 접속한 사용자가 단말기(310)와 다른 조이스틱을 이용하여 무인 비행체(320)를 상승하도록 하는 제어 명령을 입력할 수 있다. 이때, 수신한 제어 명령은 사용자가 이용할 수 없는 제어 명령이므로, 롤 관리부(310)는 수신한 제어 명령을 드랍할 수 있다. 그리고, 롤 관리부(310)는 단계(1620)를 다시 수행하며 사용자의 단말기(310)로부터 제어 명령이 수신되는 것을 대기할 수 있다.
단계(1620)에서 수신한 제어 명령이 롤에 부여된 권한에 대응하는 경우, 롤 관리부(310)는 단계(1640)을 수행할 수 있다.
단계(1640)에서 권한 관리부(320)는 단계(1620)에서 수신한 제어 명령이 롤에 부여된 권한에 대응하는 경우, 다른 롤이 제어 명령에 대응하는 권한을 이용 중인지 여부를 확인할 수 있다.
예를 들어, 단계(1620)에서 수신한 제어 명령이 비행 제어 명령이고, 다른 롤이 비행 제어 명령을 수행 중인 경우, 권한 관리부(320)는 다른 롤이 제어 명령에 대응하는 권한을 이용 중이라고 판단할 수 있다.
이때, 권한 관리부(320)는 제어 명령을 드랍하고 무인 비행체 제어 과정을 종료하거나, 단계(1640)을 반복 수행하면서, 다른 롤이 비행 제어 명령의 수행을 종료할 때까지 대기할 수 있다.
또한, 단계(1620)에서 수신한 제어 명령이 비행 제어 명령이고, 다른 롤이 카메라 제어 명령을 수행 중인 경우, 권한 관리부(320)는 다른 롤이 단계(1620)에서 수신한 제어 명령에 대응하는 권한을 이용하고 있지 않다고 판단하고 단계(1650)을 수행할 수 있다.
단계(1650)에서 명령 관리부(330)는 단계(1620)에서 수신한 제어 명령을 무인 비행체(320)로 전송할 수 있다.
본 발명은 권한을 계층적으로 정의하고, 롤에 상위 권한, 또는 하위 권한을 부여함으로써, 롤에 권한을 부여하는 과정의 반복을 감소시킬 수 있다.
또한, 본 발명은 복수의 사용자에게 각각 다른 권한이 부여된 롤을 할당하고, 복수의 사용자들이 할당된 롤에 따라 무인 비행체의 각각 다른 기능을 제어함으로써, 동시에 무인 비행체에 포함된 복수의 기능을 제어할 수 있다.
그리고, 본 발명은 복수의 사용자가 동일한 권한을 이용하고자 하는 경우, 나중에 권한을 이용하고자 하는 사용자의 제어 명령을 드랍하거나 대기 시킴으로써, 복수의 사용자가 동일 기능에 상반된 제어 명령을 입력함에 따른 오류를 방지할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
200: 무인 비행체 제어 장치
310: 롤 관리부
320: 권한 관리부
330: 명령 관리부

Claims (28)

  1. RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 롤 관리부;
    무인 비행체의 기능에 대한 권한을 계층적으로 관리하고, 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 권한 관리부; 및
    상기 사용자의 역할에 대응하는 롤에 부여한 권한에 기초하여 무인 비행체와 사용자 간의 정보 전송을 중계하는 명령 관리부
    를 포함하고,
    상기 권한 관리부는,
    무인 비행체의 기능에 대한 권한을 무인 비행체의 기능들 각각에 대응하는 하위 권한들과, 복수의 상기 하위 권한을 포함하는 적어도 하나의 상위 권한으로 계층화하여 관리하는 무인 비행체 제어 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 롤 관리부는,
    상기 사용자의 역할에 대응하는 롤에 상위 권한이 부여된 경우, 상기 사용자의 역할에 대응하는 롤에게 상위 권한에 포함된 모든 하위 권한을 제공하는 무인 비행체 제어 장치.
  4. RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 롤 관리부;
    무인 비행체의 기능에 대한 권한을 계층적으로 관리하고, 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 권한 관리부; 및
    상기 사용자의 역할에 대응하는 롤에 부여한 권한에 기초하여 무인 비행체와 사용자 간의 정보 전송을 중계하는 명령 관리부
    를 포함하고,
    상기 롤 관리부는,
    사용자의 역할에 따라 동일한 종류의 롤을 적어도 하나 이상 정의하고, 사용자의 역할에 대응하는 종류의 롤 중에서 하나의 롤을 선택하며, 선택한 롤을 사용자에게 할당하는 무인 비행체 제어 장치.
  5. 제4항에 있어서,
    상기 권한 관리부는,
    동일한 종류의 롤이 복수인 경우, 종류가 동일한 모든 롤에게 동일한 권한을 부여하는 무인 비행체 제어 장치.
  6. RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 롤 관리부;
    무인 비행체의 기능에 대한 권한을 계층적으로 관리하고, 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 권한 관리부; 및
    상기 사용자의 역할에 대응하는 롤에 부여한 권한에 기초하여 무인 비행체와 사용자 간의 정보 전송을 중계하는 명령 관리부
    를 포함하고,
    RBAC에 기초하여 정의된 롤들은 사용자의 역할에 따라 사용자에게 제공하는 정보의 종류, 및 사용자로부터 입력 받는 제어 명령의 종류가 상이한 무인 비행체 제어 장치.
  7. RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 롤 관리부;
    무인 비행체의 기능에 대한 권한을 계층적으로 관리하고, 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 권한 관리부; 및
    상기 사용자의 역할에 대응하는 롤에 부여한 권한에 기초하여 무인 비행체와 사용자 간의 정보 전송을 중계하는 명령 관리부
    를 포함하고,
    상기 사용자의 역할에 대응하는 롤은,
    무인 비행체의 모든 권한을 가지는 관리자 롤, 무인 비행체의 비행을 제어하는 파일롯 롤, 무인 비행체의 센서를 제어하는 센서 모니터 롤, 무인 비행체의 카메라를 제어하는 카메라맨 롤, 및 무인 비행체를 관찰하는 옵저버 롤 중 하나인 무인 비행체 제어 장치.
  8. 제7항에 있어서,
    상기 권한 관리부는,
    상기 사용자의 역할에 대응하는 롤이 파일롯 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게 무인 비행체의 비행과 관련된 상위 권한과, 무인 비행체의 카메라가 촬영한 영상을 표시하는 하위 권한을 부여하고,
    상기 표시하는 하위 권한은,
    무인 비행체의 카메라와 관련된 상위 권한에 포함되는 무인 비행체 제어 장치.
  9. 제7항에 있어서,
    상기 권한 관리부는,
    상기 사용자의 역할에 대응하는 롤이 센서 모니터 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게, 무인 비행체의 비행 스테이터스를 제공하는 하위 권한과, 무인 비행체의 센서와 관련된 상위 권한을 부여하고,
    상기 비행 스테이터스를 제공하는 하위 권한은,
    무인 비행체의 비행과 관련된 상위 권한에 포함되는 무인 비행체 제어 장치.
  10. 제7항에 있어서,
    상기 권한 관리부는,
    상기 사용자의 역할에 대응하는 롤이 카메라맨 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게, 무인 비행체의 조명과 관련된 상위 권한과 무인 비행체의 카메라와 관련된 상위 권한을 부여하는 무인 비행체 제어 장치.
  11. RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 롤 관리부;
    무인 비행체의 기능에 대한 권한을 계층적으로 관리하고, 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 권한 관리부; 및
    상기 사용자의 역할에 대응하는 롤에 부여한 권한에 기초하여 무인 비행체와 사용자 간의 정보 전송을 중계하는 명령 관리부
    를 포함하고,
    상기 명령 관리부는,
    무인 비행체와 사용자 간의 정보 전송에 이용하는 패킷의 중요도, 상기 패킷의 목적, 및 상기 패킷의 길이 중 적어도 하나에 기초하여 상기 패킷 전송에 이용할 시간을 할당하는 무인 비행체 제어 장치.
  12. RBAC(Role Based Access Control)에 기초하여 정의된 복수의 롤을 관리하고, 상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 롤 관리부;
    무인 비행체의 기능에 대한 권한을 계층적으로 관리하고, 사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 권한 관리부; 및
    상기 사용자의 역할에 대응하는 롤에 부여한 권한에 기초하여 무인 비행체와 사용자 간의 정보 전송을 중계하는 명령 관리부
    를 포함하고,
    상기 권한 관리부는,
    상기 사용자의 역할에 대응하는 롤이 사용자로부터 수신한 제어 명령에 따라 부여된 권한을 이용하려는 경우, 부여된 권한을 이용하고 있는 다른 롤이 있는지 여부를 확인하는 무인 비행체 제어 장치.
  13. 제12항에 있어서,
    상기 권한 관리부는,
    상기 부여된 권한을 이용하는 다른 롤이 있는 경우, 상기 사용자의 역할에 대응하는 롤이 상기 부여된 권한을 이용하지 못하도록 하는 무인 비행체 제어 장치.
  14. RBAC(Role Based Access Control)에 기초하여 정의된 무인 비행체 제어 장치의 롤들 중에서 사용자의 역할에 대응하는 롤에 접속하는 접속부;
    상기 롤로부터 상기 롤에 부여된 무인 비행체의 기능 권한에 기초한 정보를 수신하는 수신부; 및
    수신한 정보를 사용자에게 제공하는 정보 제공부
    를 포함하고,
    상기 수신한 정보는,
    상기 롤이 파일롯 롤인 경우, 무인 비행체의 카메라가 촬영한 영상, 무인 비행체의 비행과 관련된 정보, 및 무인 비행체의 비행을 제어하는 제어 명령 입력 인터페이스 중 적어도 하나를 포함하는 사용자 단말기.
  15. 삭제
  16. RBAC(Role Based Access Control)에 기초하여 정의된 무인 비행체 제어 장치의 롤들 중에서 사용자의 역할에 대응하는 롤에 접속하는 접속부;
    상기 롤로부터 상기 롤에 부여된 무인 비행체의 기능 권한에 기초한 정보를 수신하는 수신부; 및
    수신한 정보를 사용자에게 제공하는 정보 제공부
    를 포함하고,
    상기 수신한 정보는,
    상기 사용자의 역할에 대응하는 롤이 센서 모니터 롤인 경우, 무인 비행체의 비행 스테이터스 및 무인 비행체의 센서가 측정한 센서 정보 중 적어도 하나를 포함하는 사용자 단말기.
  17. RBAC(Role Based Access Control)에 기초하여 정의된 무인 비행체 제어 장치의 롤들 중에서 사용자의 역할에 대응하는 롤에 접속하는 접속부;
    상기 롤로부터 상기 롤에 부여된 무인 비행체의 기능 권한에 기초한 정보를 수신하는 수신부; 및
    수신한 정보를 사용자에게 제공하는 정보 제공부
    를 포함하고,
    상기 수신한 정보는,
    상기 사용자의 역할에 대응하는 롤이 카메라맨 롤인 경우, 무인 비행체의 카메라가 촬영한 영상, 무인 비행체의 카메라를 제어하는 제어 명령 입력 인터페이스 및, 무인 비행체의 조명을 제어하는 제어 명령 입력 인터페이스 중 적어도 하나를 포함하는 사용자 단말기.
  18. RBAC(Role Based Access Control)에 기초하여 복수의 롤을 정의하는 단계;
    무인 비행체의 기능에 대한 권한을 계층적으로 정의 하는 단계;
    상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 단계; 및
    사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 단계
    를 포함하고,
    상기 권한은,
    무인 비행체의 기능들 각각에 대응하는 하위 권한들과, 복수의 상기 하위 권한을 포함하는 적어도 하나의 상위 권한을 포함하는 무인 비행체 제어 장치의 롤 설정 방법.
  19. 삭제
  20. RBAC(Role Based Access Control)에 기초하여 복수의 롤을 정의하는 단계;
    무인 비행체의 기능에 대한 권한을 계층적으로 정의 하는 단계;
    상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 단계; 및
    사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 단계
    를 포함하고,
    상기 롤을 정의하는 단계는,
    사용자의 역할에 따라 동일한 종류의 롤을 적어도 하나 이상 정의하고,
    상기 권한을 계층적으로 정의 하는 단계는,
    동일한 종류의 롤이 복수인 경우, 종류가 동일한 모든 롤에게 동일한 권한을 부여하는 무인 비행체 제어 장치의 롤 설정 방법.
  21. RBAC(Role Based Access Control)에 기초하여 복수의 롤을 정의하는 단계;
    무인 비행체의 기능에 대한 권한을 계층적으로 정의 하는 단계;
    상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 단계; 및
    사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 단계
    를 포함하고,
    상기 복수의 롤들은,
    RBAC에 기초하여 정의된 롤들은 사용자의 역할에 따라 사용자에게 제공하는 정보의 종류, 및 사용자로부터 수신하는 제어 명령의 종류가 상이한 무인 비행체 제어 장치의 롤 설정 방법.
  22. RBAC(Role Based Access Control)에 기초하여 복수의 롤을 정의하는 단계;
    무인 비행체의 기능에 대한 권한을 계층적으로 정의 하는 단계;
    상기 복수의 롤 중에서 사용자의 역할에 대응하는 롤을 사용자에게 할당하는 단계; 및
    사용자의 역할에 기초하여 상기 사용자의 역할에 대응하는 롤에게 상기 권한 중 적어도 하나의 권한을 부여하는 단계
    를 포함하고,
    상기 사용자의 역할에 대응하는 롤은,
    무인 비행체의 모든 권한을 가지는 관리자 롤, 무인 비행체의 비행을 제어하는 파일롯 롤, 무인 비행체의 센서를 제어하는 센서 모니터 롤, 무인 비행체의 카메라를 제어하는 카메라맨 롤, 및 무인 비행체를 관찰하는 옵저버 롤 중 하나인 무인 비행체 제어 장치의 롤 설정 방법.
  23. 제22항에 있어서,
    상기 권한을 부여하는 단계는,
    상기 사용자의 역할에 대응하는 롤이 파일롯 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게 무인 비행체의 비행과 관련된 상위 권한과, 무인 비행체의 카메라가 촬영한 영상을 표시하는 하위 권한을 부여하고,
    상기 영상을 표시하는 하위 권한은,
    무인 비행체의 카메라와 관련된 상위 권한에 포함되는 무인 비행체 제어 장치의 롤 설정 방법.
  24. 제22항에 있어서,
    상기 권한을 부여하는 단계는,
    상기 사용자의 역할에 대응하는 롤이 센서 모니터 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게, 무인 비행체의 비행 스테이터스를 제공하는 하위 권한과, 무인 비행체의 센서와 관련된 상위 권한을 부여하고,
    상기 비행 스테이터스를 제공하는 하위 권한은,
    무인 비행체의 비행과 관련된 상위 권한에 포함되는 무인 비행체 제어 장치 의 롤 설정 방법.
  25. 제22항에 있어서,
    상기 권한을 부여하는 단계는,
    상기 사용자의 역할에 대응하는 롤이 카메라맨 롤인 경우, 상기 사용자의 역할에 대응하는 롤에게, 무인 비행체의 조명과 관련된 상위 권한과 무인 비행체의 카메라와 관련된 상위 권한을 부여하는 무인 비행체 제어 장치의 롤 설정 방법.
  26. RBAC에 기초하여 정의된 롤에 접속한 사용자에게 롤에 부여된 권한에 따른 정보를 제공하는 단계;
    상기 사용자로부터 롤에 부여된 권한에 따른 제어 명령을 수신하는 단계;
    수신한 제어 명령과 동일한 타입의 제어 명령이 수행 중인지 여부를 확인하는 단계; 및
    수신한 제어 명령을 무인 비행체로 전송하여 무인 비행체를 제어하는 단계
    를 포함하고,
    상기 무인 비행체를 제어하는 단계는,
    수신한 제어 명령과 동일한 타입의 제어 명령이 수행 중이 아닌 경우 수행되는 무인 비행체 제어 방법.
  27. 삭제
  28. RBAC에 기초하여 정의된 롤에 접속한 사용자에게 롤에 부여된 권한에 따른 정보를 제공하는 단계;
    상기 사용자로부터 롤에 부여된 권한에 따른 제어 명령을 수신하는 단계; 및
    수신한 제어 명령을 무인 비행체로 전송하여 무인 비행체를 제어하는 단계
    를 포함하고,
    상기 제어 명령을 수신하는 단계는,
    상기 사용자로부터 제어 명령을 수신하는 단계;
    상기 사용자로부터 수신한 제어 명령이 롤에 부여된 권한에 대응하는지 여부를 판단하는 단계; 및
    상기 사용자로부터 수신한 제어 명령이 롤에 부여된 권한에 대응하지 않는 경우, 수신한 제어 명령을 드랍하는 단계
    를 포함하는 무인 비행체 제어 방법.
KR1020130024692A 2013-03-07 2013-03-07 Rbac의 보안 개념이 적용된 무인 비행체 제어 시스템 및 방법 KR101286351B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130024692A KR101286351B1 (ko) 2013-03-07 2013-03-07 Rbac의 보안 개념이 적용된 무인 비행체 제어 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130024692A KR101286351B1 (ko) 2013-03-07 2013-03-07 Rbac의 보안 개념이 적용된 무인 비행체 제어 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101286351B1 true KR101286351B1 (ko) 2013-07-15

Family

ID=48997423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130024692A KR101286351B1 (ko) 2013-03-07 2013-03-07 Rbac의 보안 개념이 적용된 무인 비행체 제어 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101286351B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107534705A (zh) * 2015-09-04 2018-01-02 松下电器(美国)知识产权公司 通知方法、通知装置以及终端
CN108780301A (zh) * 2017-02-13 2018-11-09 深圳市大疆创新科技有限公司 无人机的控制方法、无人机和遥控设备
KR20190063514A (ko) 2017-11-30 2019-06-10 한국과학기술원 무인 비행기의 데이터 유출 및 조작 공격 대응 방법
CN113358100A (zh) * 2021-05-25 2021-09-07 电子科技大学 嵌入式与yolo4改进算法的无人机实时目标识别系统
JP2021136679A (ja) * 2020-02-28 2021-09-13 株式会社リコー 通信システム、通信方法、プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2737847B2 (ja) * 1988-09-30 1998-04-08 ヤマハ発動機株式会社 遠隔操縦式ヘリコプタの操縦装置
KR100651751B1 (ko) * 2005-10-14 2006-12-01 한국전자통신연구원 유비쿼터스 환경에서 서비스 접근 권한을 통제하는 방법 및이를 위한 보안 미들웨어
KR101091723B1 (ko) 2011-04-07 2011-12-08 국방과학연구소 무인로봇의 통합 운용 시스템 및 그 시스템의 운용 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2737847B2 (ja) * 1988-09-30 1998-04-08 ヤマハ発動機株式会社 遠隔操縦式ヘリコプタの操縦装置
KR100651751B1 (ko) * 2005-10-14 2006-12-01 한국전자통신연구원 유비쿼터스 환경에서 서비스 접근 권한을 통제하는 방법 및이를 위한 보안 미들웨어
KR101091723B1 (ko) 2011-04-07 2011-12-08 국방과학연구소 무인로봇의 통합 운용 시스템 및 그 시스템의 운용 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107534705A (zh) * 2015-09-04 2018-01-02 松下电器(美国)知识产权公司 通知方法、通知装置以及终端
CN107534705B (zh) * 2015-09-04 2020-10-16 松下电器(美国)知识产权公司 通知方法、通知装置以及终端
CN108780301A (zh) * 2017-02-13 2018-11-09 深圳市大疆创新科技有限公司 无人机的控制方法、无人机和遥控设备
KR20190063514A (ko) 2017-11-30 2019-06-10 한국과학기술원 무인 비행기의 데이터 유출 및 조작 공격 대응 방법
JP2021136679A (ja) * 2020-02-28 2021-09-13 株式会社リコー 通信システム、通信方法、プログラム
JP7447549B2 (ja) 2020-02-28 2024-03-12 株式会社リコー 通信システム、通信方法、プログラム
CN113358100A (zh) * 2021-05-25 2021-09-07 电子科技大学 嵌入式与yolo4改进算法的无人机实时目标识别系统
CN113358100B (zh) * 2021-05-25 2022-07-29 电子科技大学 嵌入式与yolo4改进算法的无人机实时目标识别系统

Similar Documents

Publication Publication Date Title
KR101286376B1 (ko) 무인 비행체 제어 시스템 및 방법
KR101286351B1 (ko) Rbac의 보안 개념이 적용된 무인 비행체 제어 시스템 및 방법
US9691287B1 (en) Graphical method to set vertical and lateral flight management system constraints
EP3345832B1 (en) Unmanned aerial vehicle and method for controlling the same
US20210112207A1 (en) Method, control apparatus and control system for controlling an image capture of movable device
WO2011034236A1 (ko) 컨트롤러의 자세 변화를 이용한 무인비행체 비행 제어 시스템 및 비행 제어 시스템의 운영방법
CN106603970A (zh) 视频拍摄方法、系统及无人机
WO2017181513A1 (zh) 无人机的飞行控制方法和装置
US20220053079A1 (en) System and method for supporting movable object application development
CN107318268B (zh) 飞行控制方法、装置、控制终端、飞行系统及处理器
CN110491178B (zh) 航点的操作方法、装置和系统、地面站和计算机可读存储介质
WO2021088684A1 (zh) 全向避障方法及无人飞行器
WO2018177270A1 (zh) 通过移动网络共享无人机控制权的装置及方法
CN107113406A (zh) 一种图像处理方法、装置及系统
WO2023040987A1 (zh) 一种用于无人机的远程操控系统及方法
WO2023120818A1 (ko) 자율주행차량이 혼재된 교통흐름 제어를 위한 교통흐름 제어 장치 및 이를 이용하는 방법
KR20170017486A (ko) 보호 장비를 구비한 무인 비행 장치
WO2024002191A1 (zh) 运动状态确定方法、装置、电子设备和可读存储介质
WO2023025202A1 (zh) 云台方向的控制方法、装置及终端
CN110470302B (zh) 航线显示方法、装置和系统、地面站和计算机可读存储介质
WO2023025204A1 (zh) 远程控制方法、装置及第一、第二控制端
WO2021016875A1 (zh) 飞行器的降落方法、无人飞行器及计算机可读存储介质
WO2023025203A1 (zh) 云台相机的变焦控制方法、装置及终端
CN116449114A (zh) 无人机机载电磁环境实时感知系统
CN107636592B (zh) 航道规划方法、控制端、飞行器及航道规划系统

Legal Events

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

Payment date: 20160701

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190708

Year of fee payment: 7