IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ センストン インク.の特許一覧

特許7196323仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段
<>
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図1
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図2
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図3
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図4
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図5
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図6
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図7
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図8
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図9
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図10
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図11
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図12
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図13
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図14
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図15
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図16
  • 特許-仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-16
(45)【発行日】2022-12-26
(54)【発明の名称】仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号生成手段
(51)【国際特許分類】
   G06F 21/60 20130101AFI20221219BHJP
【FI】
G06F21/60
【請求項の数】 9
(21)【出願番号】P 2021546271
(86)(22)【出願日】2020-02-07
(65)【公表番号】
(43)【公表日】2022-03-23
(86)【国際出願番号】 KR2020001771
(87)【国際公開番号】W WO2020162710
(87)【国際公開日】2020-08-13
【審査請求日】2021-08-18
(31)【優先権主張番号】10-2019-0015223
(32)【優先日】2019-02-08
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2020-0014862
(32)【優先日】2020-02-07
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】517002580
【氏名又は名称】株式会社センストーン
【氏名又は名称原語表記】SSENSTONE INC.
【住所又は居所原語表記】15F., Frontone, 122 Mapo-daero, Mapo-gu, Seoul,04213 Korea
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際弁理士法人
(72)【発明者】
【氏名】ユ チャンフン
【審査官】上島 拓也
(56)【参考文献】
【文献】国際公開第1998/001975(WO,A1)
【文献】国際公開第2018/110382(WO,A1)
【文献】特開2018-046365(JP,A)
【文献】特開2014-197726(JP,A)
【文献】伊藤 寿之 他,量子鍵配送技術を用いたドローン通信制御の安全性強化,電子情報通信学会技術研究報告 Vol.115 No.448,一般社団法人電子情報通信学会,2016年02月09日
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
制御信号生成手段から、特定時点に伝送された制御信号を受信するものの、前記制御信号は、特定の仮想コードである仮想制御命令語を含むものである無線通信モジュールと、
前記制御信号から、前記仮想制御命令語を抽出した後、前記仮想制御命令語に対応する実際制御命令語を探索する制御モジュールと、
前記実際制御命令語を基とする1以上の駆動部を制御するための個別制御命令を算出する制御命令算出モジュールと、を含み、
それぞれの実際制御命令語に係わる仮想制御命令語は、単位時間ごとに変更されて生成されるものであり、
前記実際制御命令語が、第1制御命令語及び第2制御命令語を含む場合、前記第1制御命令語に係わる仮想制御命令語は、前記第2制御命令語に係わる仮想制御命令語と重複されないように生成されるものである、制御デバイス。
【請求項2】
前記制御モジュールは、
前記仮想制御命令語に含まれた複数の細部コードを抽出する細部コード抽出部と、
複数の細部コードを基に、特定の実際制御命令語が含まれた保存位置を探索する命令語探索部と、を含み、
前記仮想制御命令語は、
複数の細部コードに含まれる第1コード及び第2コードを、特定の規則によって結合して生成されるものであり、
前記第1コードまたは前記第2コードは、
同一時点に、前記実際制御命令語によって異なって生成されるものであり、単位カウントごとに、異なって生成されるものである、請求項1に記載の制御デバイス。
【請求項3】
前記命令語探索部は、
単位カウントごとに、正常に生成された仮想制御命令語が受信されれば、前記第1コードに対応する開始地点から、前記第2コードに相応する探索経路に沿って移動した地点を、前記保存位置と判断することを特徴とし、
前記単位カウントは、
特定の時間間隔で設定され、前記時間間隔が経過することによって変更されるものである、請求項2に記載の制御デバイス。
【請求項4】
前記制御モジュールは、
前記1以上の細部コードを基に、仮想コードが現時点に正常に生成されたものであるか否かということを検証する仮想コード検証部をさらに含む、請求項1に記載の制御デバイス。
【請求項5】
前記制御モジュールと前記制御命令算出モジュールは、
1つのチップ内にソフトウェアとして内蔵されることを特徴とする請求項1に記載の制御デバイス。
【請求項6】
1以上のセンサを含み、センシングデータを基に、前記制御デバイスの状態推定値を算出するセンサモジュールをさらに含み、
前記制御命令算出モジュールは、前記制御モジュールで獲得した前記実際制御命令語に、前記状態推定値を反映させ、前記個別制御命令を算出することを特徴とする請求項1に記載の制御デバイス。
【請求項7】
ユーザの操作入力を基に、実際制御命令語を獲得する制御命令獲得モジュールと、
前記実際制御命令語を基に、リアルタイムで仮想制御命令語を生成する制御信号生成モジュールと、
前記仮想制御命令語を制御デバイスに、特定のプロトコルを基に伝送する無線通信モジュールと、を含み、
それぞれの実際制御命令語に係わる仮想制御命令語は、単位時間ごとに変更されて生成されるものであり、
前記実際制御命令語が、第1制御命令語及び第2制御命令語を含む場合、前記第1制御命令語に係わる仮想制御命令語は、前記第2制御命令語に係わる仮想制御命令語と重複されないように生成されるものであり、
前記仮想制御命令語は、
前記制御デバイス内の制御モジュールにおいて、実際制御命令語保存位置の探索に利用される複数の細部コードを結合し、生成されたものである、制御信号伝送装置。
【請求項8】
前記仮想制御命令語は、前記実際制御命令語と同一コード長に生成されるものである、請求項7に記載の制御信号伝送装置。
【請求項9】
前記仮想制御命令語は、
制御装置と連結された前記制御デバイスの固有値をシードデータとして活用して生成されるものである、請求項7に記載の制御信号伝送装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想コード基盤の無人移動体制御システム、その方法及びそのプログラム、その制御デバイス、並びに制御信号発生手段に関する。
【背景技術】
【0002】
一般的に、制御デバイス(例えば、事物インターネット(IoT:Internet of things)機器または無人運動体)を制御するために、別途の端末装置(例えば、特定のアプリケーションがインストールされた移動端末機、リモコンまたはコントローラなど)でもって、無線通信信号を発信する。該端末装置は、無線通信信号に制御命令を含め、制御デバイスに伝送する。
【0003】
しかし、特定の命令語をコードにして単に変換して伝送する場合、他人が制御デバイスに係わる命令語コードを容易に確認することができることになり、同一命令語を同一無線通信信号(例えば、RF信号で制御信号が伝送される場合、同一周波数のRF信号)を利用して伝送し、制御デバイスを統制することができることになる。すなわち、ユーザは、他人に制御デバイスに対する制御権を他人に奪取される状況が発生することになる。
【0004】
従って、各時点ごとに命令語コードが変動されることにより、他人が特定時点の命令語コードを獲得し、制御デバイスに対する制御権を奪取することができないようにする制御システム、その方法及びそのプログラムが必要である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、単位カウントごとに変動され、命令語によって区別される仮想コードを利用し、制御デバイス内で実際命令語を探索して検証し、他人が特定の命令語を含む制御信号を伝送することによって制御権を奪取することを防止する、仮想コード基盤の制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号発生手段を提供する。
【0006】
本発明が解決しようとする課題は、以上で言及された課題に制限されるものではなく、言及されていない他の課題は、以下の記載から当業者に明確に理解されるであろう。
【課題を解決するための手段】
【0007】
本発明の一実施形態による制御デバイスは、制御信号生成手段から、特定時点に伝送された制御信号を受信するものの、前記制御信号は、特定の仮想コードである仮想制御命令語を含むものである無線通信モジュールと、前記制御信号から、前記仮想制御命令語を抽出した後、前記仮想制御命令語に対応する実際制御命令語を探索する制御モジュールと、前記実際制御命令語を基とする1以上の駆動部を制御するための個別制御命令を算出する制御命令算出モジュールと、を含み、それぞれの実際制御命令語に対する仮想制御命令語は、単位時間ごとに変更されて生成されるものであり、前記実際制御命令語が、第1制御命令語及び第2制御命令語を含む場合、前記第1制御命令語に対する仮想制御命令語は、前記第2制御命令語に対する仮想制御命令語と重複されないように生成されるものである。
【0008】
また、他の一実施形態において、前記制御モジュールは、前記仮想制御命令語に含まれた複数の細部コードを抽出する細部コード抽出部と、複数の細部コードを基に、特定の実際制御命令語が含まれた保存位置を探索する命令語探索部と、を含み、前記仮想制御命令語は、複数の細部コードに含まれる第1コード及び第2コードを、特定の規則によって結合して生成されるものであり、前記第1コードまたは前記第2コードは、同一時点に、前記実際制御命令語によって異なって生成されるものであり、単位カウントごとに異なって生成されるものである。
【0009】
また、他の一実施形態において、前記命令語探索部は、単位カウントごとに正常に生成された仮想制御命令語が受信されれば、前記第1コードに対応する前記開始地点から、前記第2コードに相応する探索経路に沿って移動した地点を、前記保存位置と判断することを特徴とし、前記単位カウントは、特定の時間間隔に設定され、前記時間間隔が経過されることによって変更されるものである。
【0010】
また、他の一実施形態において、前記制御モジュールは、前記1以上の細部コードを基に、仮想コードが現時点に正常に生成されたものであるか否かということを検証する仮想コード検証部をさらに含む。
また、他の一実施形態において、前記制御モジュールと前記制御命令算出モジュールは、1つのチップ内にソフトウェアとして内蔵されることを特徴とする。
【0011】
また、他の一実施形態において、1以上のセンサを含み、センシングデータを基に、前記制御デバイスの状態推定値を算出するセンサモジュールをさらに含み、前記制御命令算出モジュールは、前記制御モジュールで獲得した前記実際制御命令語に、前記状態推定値を反映させ、前記個別制御命令を算出することを特徴とする。
【0012】
本発明の他の一実施形態による制御装置は、ユーザの操作入力を基に、実際制御命令語を獲得する制御命令獲得モジュールと、前記実際制御命令語を基に、リアルタイムで仮想制御命令語を生成する制御信号生成モジュールと、前記仮想制御命令語を制御デバイスに、特定のプロトコルを基に伝送する無線通信モジュールと、を含み、それぞれの実際制御命令語に対する仮想制御命令語は、単位時間ごとに変更されて生成されるものであり、前記実際制御命令語が、第1制御命令語及び第2制御命令語を含む場合、前記第1制御命令語に対する仮想制御命令語は、前記第2制御命令語に対する仮想制御命令語と重複されないように生成されるものである。
また、他の一実施形態において、前記仮想制御命令語は、前記実際制御命令語と同一コード長に生成されるものである。
【0013】
また、他の一実施形態において、前記仮想制御命令語は、前記制御デバイス内の制御モジュールにおいて、前記実際制御命令語保存位置の探索に利用される複数の細部コードを結合して生成されたものである。
【0014】
また、他の一実施形態において、前記仮想制御命令語は、前記制御装置と連結された前記制御デバイスの固有値をシードデータとして活用して生成されるものである。
【発明の効果】
【0015】
前述のような本発明によれば、他人が制御デバイスに対して命令語を伝送することによって制御権を奪取することを防止することができる。すなわち、他人がユーザの制御信号発生手段を同一に複製しない以上、特定時点に特定の命令語に符合する仮想コードを生成することができず、制御デバイスとマッチングされた制御信号発生手段以外の装置で制御デバイスを制御することを防止することができる。
【0016】
また、異なる命令語につき、時点に係わりなく重複される仮想コードが生じないことにより、制御モジュールで命令語を誤って把握する問題が生じないのである。
【図面の簡単な説明】
【0017】
図1】本発明の一実施形態による、仮想コード基盤のデバイス制御システムの構成図である。
図2】本発明の一実施形態による制御信号生成手段の内部構成図である。
図3】本発明の一実施形態による無人移動体制御信号伝送装置の内部構成図である。
図4】本発明の一実施形態による制御デバイスの内部構成図である。
図5】本発明の一実施形態による制御デバイスの内部構成図である。
図6】本発明の一実施形態による、仮想制御命令語を基に制御される無人移動体の内部構成図である。
図7】本発明の一実施形態による、仮想コード基盤のデバイス制御方法のフローチャートである。
図8】本発明の一実施形態による、k角形転がり移動による命令語探索過程を含む仮想コード基盤のデバイス制御方法のフローチャートである。
図9】本発明の一実施形態による、k角形の転がり移動を介し、命令語保存位置を探索する保存位置探索アルゴリズムに係わる例示図面である。
図10】本発明の一実施形態による、トラック上移動を介する命令語探索過程を含む仮想コード基盤のデバイス制御方法のフローチャートである。
図11】本発明の一実施形態による、細部コードを基にトラック上を移動し、命令語保存位置を探索する保存位置探索アルゴリズムに係わる例示図面である。
図12】本発明の一実施形態による、仮想保安コードを利用し、命令語探索時点を移動させる方式の例示図面である。
図13】本発明の他の一実施形態による、制御モジュールにおける、仮想コード基盤のデバイス制御方法のフローチャートである。
図14】本発明の他の一実施形態による、制御モジュールにおける、仮想コード基盤のデバイス制御方法のフローチャートである。
図15】本発明の他の一実施形態による、制御モジュールにおける、仮想コード基盤のデバイス制御方法のフローチャートである。
図16】本発明の一実施形態による、制御信号生成モジュールが仮想コードを生成する過程に係わる仮想コード基盤の制御方法のフローチャートである。
図17】本発明の一実施形態による、制御信号生成モジュールが仮想コードを生成する過程に係わる仮想コード基盤の制御方法のフローチャートである。
【発明を実施するための形態】
【0018】
以下、添付図面を参照し、本発明の望ましい実施形態について詳細に説明する。本発明の利点、特徴、及びそれらを達成する方法は、添付図面と共に詳細に後述されている実施形態を参照すれば、明確になるであろう。しかし、本発明は、以下で掲示される実施形態に限定されるものではなく、互いに異なる多様な形態によっても具現され、ここで、本実施形態は、本発明の開示を完全なものにし、本発明が属する技術分野で当業者に、発明の範疇を完全に知らせるために提供されるものであり、本発明は、請求項の範疇によって定義されるのみである。明細書全体にわたり、同一参照符号は、同一構成要素を称する。
【0019】
異なる定義がなければ、本明細書で使用される全ての用語(技術的及び科学的な用語を含む)は、本発明が属する技術分野で当業者に共通して理解されうる意味で使用されるものである。また、一般的に使用される事前に定義されている用語は、明白に特別に定義されていない限り、理想的または過度に解釈されるものではない。
【0020】
本明細書で使用された用語は、本実施形態について説明するためのものであり、本発明を制限するものではない。本明細書において、単数形は、文言で特別に言及しない限り、複数形も含む。明細書で使用される「含む(comprises)」及び/または「含むところの(comprising)」は、言及された構成要素以外に1、以上の他の構成要素の存在または追加を排除するものではない。
【0021】
本明細書において、「制御デバイス」は、無線通信を介して制御されるデバイスをいずれも含む。例えば、該制御デバイスは、無人移動体(unmanned vehicle)、家電機器(例えば、TV(television)、スピーカ、エアコンなど)などを含んでもよい。
【0022】
本明細書において、「制御信号」は、制御デバイスの制御または統制のために送信される無線通信信号を意味する。
【0023】
本明細書において、「命令語」は、制御デバイスに対する特定の制御命令として、事前に定められたものを意味する。「命令語」は、特定のコードデータによっても生成される。
本明細書において、「仮想コード」は、命令語に連結されるように臨時に生成されるコードであり、数字を含む文字からなる特定桁数のコードである。
【0024】
本明細書において、「文字」は、コードを構成する構成要素であり、大文字アルファベット、小文字アルファベット、数字及び特殊文字などの全部または一部を含む。
本明細書において、「コード」は、文字が羅列された文字列を意味する。
【0025】
本明細書において、「細部コード」は、仮想コードに含まれる一部コードを意味する。すなわち、仮想コードが別途に生成された複数のコードを結合して生成される場合、該細部コードは、別途に生成され、仮想コードを構成する個別コードを意味する。
【0026】
本明細書において、「単位カウント」は、特定の時間間隔で設定され、前記時間間隔が経過されることによって変更されると定義された単位である。例えば、1カウントは、特定の時間間隔(例えば、1.5秒)で設定されても使用される。
【0027】
本明細書において、「仮想コード生成関数」は、仮想コードを生成するのに利用される関数を意味する。
【0028】
以下、図面を参照し、本発明の実施形態による、仮想コード基盤の制御システム、その方法及びそのプログラム、その制御デバイス、並びにその制御信号発生手段に係わる詳細な説明を記載する。
図1は、本発明の一実施形態による、仮想コード基盤の制御システムの連結関係図である。
図2は、本発明の他の一実施形態による制御信号生成手段の内部構成図である。
図4は、本発明の一実施形態による制御デバイスの内部構成図である。
【0029】
図1図2及び図4を参照すれば、本発明の一実施形態による、仮想コード基盤の制御システム1は、制御信号生成モジュール100と、制御モジュールと、を含む。
【0030】
制御信号生成モジュール100は、制御モジュール200が命令語を探索することができる情報を含む仮想コードを生成する役割を行う。すなわち、制御信号生成モジュール100は、仮想コード生成関数によって仮想コードを生成する。このとき、制御モジュール200において、仮想コードを基に命令語を探索するので、制御信号生成モジュール100は、命令語を保存しないのである。これを介し、制御信号生成モジュール100のハッキングなどを介し、命令語と仮想コード生成関数との連結関係の流出を防止することができる。該仮想コード生成関数に係わる具体的な説明は、後述する。制御信号生成モジュール100は、制御デバイスを制御するための制御信号生成手段(例えば、制御デバイスと無線通信で連結されるコントローラ、移動端末機内にインストールまたは内蔵される制御デバイス制御用アプリケーションなど)にも含まれる。
【0031】
制御モジュール200は、制御デバイス内に、内蔵またはインストールされるものである。制御モジュール200は、制御信号生成モジュール100で生成されて提供された仮想コードを基に、命令語を探索する役割を行う。制御モジュール200は、制御信号生成モジュール100から受信された仮想コードから、命令語を探索するために、制御信号生成モジュール100と同一仮想コード生成関数を保存することができる。制御モジュール200が、仮想コードを基に、命令語を探索する方式に係わる具体的な説明は、後述する。
【0032】
また、制御モジュール200は、仮想コードが、制御信号生成モジュール100において、正常に生成されたコードであるか否かということを検証する役割を行う。制御モジュール200が、仮想コードの正常のいかんを判断する方式に係わる具体的な説明は、後述する。
【0033】
制御モジュール200は、制御信号生成モジュール100を含む制御信号生成手段から、仮想コードを含んで送信される制御信号を介し、仮想コードを受信する。そのために、制御信号生成手段と制御デバイスは、多様な無線通信方式により、制御信号を送受信することができる。
【0034】
すなわち、一実施形態において、制御信号生成手段は、第1無線通信モジュール120を含み、制御デバイスは、第2無線通信モジュール220を含む。第2無線通信モジュール220は、第1無線通信モジュール120から、制御信号生成モジュール100が生成した制御信号を受信する。また、制御デバイスが、制御信号生成手段に、制御デバイスの状態情報を提供する場合、第2無線通信モジュール220は、第1無線通信モジュール120に、前記状態情報を含む無線通信信号を伝送する。第1無線通信モジュール120と第2無線通信モジュール220は、ブルートゥース(登録商標)(Bluetooth)、LTE、3G、Wi-Fi、RFのような多様な通信方式により、信号送受信を行うことができる。
【0035】
また、他の一実施形態において、第1無線通信モジュール120と第2無線通信モジュール220は、命令語検証用コード生成及び検証の過程を遂行する。すなわち、第1無線通信モジュール120は、制御信号生成モジュール100において、仮想コードを生成するところと同一方式により、命令語検証用コードを生成することができる。すなわち、検証用コード生成関数は、後述される仮想コード生成方式(例えば、制御信号生成モジュールにおいて、 仮想コード生成関数によって仮想コードを生成し、制御モジュールにおいて、仮想コードに対応する実際命令語を探索する方式)を同一に適用し、第1無線通信モジュール120が命令語検証用コードを生成し、第2無線通信モジュールが命令語検証用コードが正常に生成されたか否かということを確認し、制御デバイスとマッチングされた制御信号生成手段から伝送されたものであるか否かということを確認する。第2無線通信モジュール220は、制御モジュール200において、仮想コードを検証する方式と同一方式により、命令語検証用コードを検証する。命令語検証用コード生成関数は、仮想コード生成関数と異なる規則が適用されうる。このとき、第1無線通信モジュール120は、第2無線通信モジュール220に、仮想コードと命令語検証用コードとが結合された形態の最終コードを伝送し、第2無線通信モジュール220は、最終コードから、仮想コードと命令語検証用コードとを分離した後、命令語検証用コードでもって検証過程を遂行する。前記最終コードは、命令語検証用コードと仮想コードとを結合する特定の規則によっても生成され、第1無線通信モジュール120と第2無線通信モジュール220は、同一結合規則を含む。
【0036】
図2を参照すれば、本発明の実施形態による制御信号生成手段は、制御信号生成モジュール100と、第1無線通信モジュール120と、を含む。前記制御信号生成手段は、制御信号生成モジュール100に該当するプログラムが内蔵(embeded)されるか、あるいは制御信号生成モジュール100に該当するプログラムまたはアプリケーションがインストールされた装置でもある。例えば、該制御信号生成手段は、制御信号生成モジュール100に該当するアプリケーションがインストールされたスマートフォンであるか、または制御信号生成モジュール100が内蔵された無線コントローラでもある。
【0037】
制御信号生成モジュール100は、ユーザから入力された制御命令により、仮想コードを生成する役割を行う。一実施形態において、前記制御信号生成モジュール100は、ユーザ命令受信部101と、仮想コード生成部102と、細部コード生成部103と、を含んでもよい。
【0038】
仮想コード生成部102は、1以上の細部コードを組み合わせ、仮想コードに生成する役割を行う。一実施形態において、前記仮想コードは、複数の細部コードを、特定の規則によって結合して生成されるものである。
【0039】
すなわち、一実施形態において、仮想コード生成関数は、細部コード生成関数及び細部コード結合関数の全部または一部を含む。前記細部コード結合関数は、複数の細部コードを組み合わせる規則である。複数の細部コードを結合し、1つの仮想コードを生成する方式としては、多様な方式が適用されうる。前記細部コード結合関数の一例として、仮想コード生成部102は、N桁の第1コードと、N桁の第2コードとを交互に配する方式で、仮想コードを生成することができる。また、他の一例として、該細部コード結合関数は、第1コード後に第2コードを結合する関数でもある。仮想関数に含まれる細部コードが増えることにより、細部コード結合関数も多様に生成されうる。
【0040】
前記細部コード生成部103は、1以上の細部コードを生成する役割を行う。仮想コード生成関数は、それぞれの細部コード生成関数を含む。例えば、該仮想コード生成関数は、複数の細部コード生成関数を利用し、複数の細部コードを生成し、複数の細部コードを結合する細部コード結合関数を利用し、仮想コードを生成する。
【0041】
一実施形態において、細部コード生成部103は、細部コード生成関数として、第1関数及び第2関数を含み、第1コード及び第2コードを生成する。該第1コードと該第2コードは、制御デバイス内において、命令語の保存位置を探索するための相関関係を有するが、制御信号生成手段は、保安性を高めるために、第1コードを生成する第1関数と、第2コードを生成する第2関数とを細部コード生成関数として含むのみ、第1コードと第2コードとの相関関係に係わるデータを含まないのである。
【0042】
また、一実施形態において、仮想コードが、第1コード及び第2コードの特定規則による組み合わせによって生成される場合、該第1コードと該第2コードは、命令語が保存された保存位置を探索するためのそれぞれの役割を行うことができる。例えば、該第1コードは、保存位置探索の開始地点を設定し、該第2コードは、特定の探索方式により、前記開始地点から、前記保存位置への探索経路を設定する。すなわち、制御信号生成手段から、単位カウントごとに正常に生成された仮想コードが提供されれば、制御デバイスは、第1コードに対応する探索開始地点から、第2コードに相応する探索経路に沿って移動した地点を、命令語の保存位置と判断する。該仮想コードを構成する第1コードと第2コードとを基に、保存位置を探索する具体的な方式は、後述する。
【0043】
細部コード生成部103が細部コードを生成する方式の一実施形態において、細部コード生成部103は、単位カウントごとに新たな細部コードを生成し、それにより、制御信号生成手段は、単位カウントごとに新たな仮想コードを生成する。単位カウントごとに新規に生成される仮想コードは、重複されて生成されない。具体的には、細部コード生成部103は、単位カウンドごとに新規生成される仮想コードが、特定のユーザ、または特定の制御信号生成手段に、定められた期間の間、重複生成されないだけではなく、特定のグループに属したユーザ間にも、重複生成されないように設定される。
【0044】
仮想コードの重複生成を防止する具体的な一実施形態において、M個文字で、N桁の前記第1コードまたは前記第2コードを生成する場合、仮想コード生成関数に含まれる細部コード生成関数は、M個のコードを、第1コードまたは第2コードに生成することができ、それぞれのコードを、細部コード生成関数が駆動される初期時点から、各カウントごとにマッチングする。例えば、単位カウントを1秒に設定する場合、細部コード生成関数が、最初駆動された時点から、毎秒に異なるM個のコードをマッチングする。そして、特定の細部コード生成関数を利用する周期を、Mカウントに該当する時間長(例えば、1カウントが1秒である場合、M秒)より短い時間長に設定すれば、第1コードまたは第2コードは、使用周期の間、同一コードが重複生成されない。すなわち、経時的にカウントが増加するとき、ユーザが特定時点に、制御信号生成手段に仮想コード生成要請を行う場合、該制御信号生成手段は、特定時点に対応するカウントにマッチングされたコード値を、第1コードまたは第2コードに生成することができる。
【0045】
仮想コードの重複生成を防止する具体的な他の一実施形態において、仮想コード生成関数の使用周期が経過すれば、第1コードまたは第2コードを生成する関数(すなわち、第1関数または第2関数)を変更するか、あるいは第1コードと第2コードとのマッチング関係を変更し、以前の使用周期と異なる仮想コードが生成されるようにする。仮想コードが第1関数によって生成される第1コードと、第2関数によって生成される第2コードとが結合される場合、第1コード生成関数または第2コード生成関数が変更されれば、制御信号生成手段は、第1コードまたは第2コードが登場する順序が、以前の使用周期とことなることにより、以前周期と異なる仮想コードを生成する仮想コード生成関数を、新規使用周期に適用することができる。また、制御信号生成手段は、以前の使用周期で使用された仮想コードと同一コードが新規使用周期内の各カウントの仮想コードとして登場しないように(すなわち、第1関数によって生成される第1コードと、第2関数によって生成される第2コードとのマッチング関係が、新規使用周期の全てのカウントにおいて、以前の使用周期内に含まれたマッチング関係中に含まれないように)、第1関数と第2関数とを選択することができる。すなわち、M個のコードを1回ずつ適用することができる使用周期が経過した後、仮想コード生成関数の調節または更新を介し、以前の使用周期と重なる仮想コードが生成されない新規使用周期の仮想コード生成関数を適用することができる。
【0046】
このとき、制御信号生成モジュール100及び制御デバイスは、仮想コード生成関数を更新する規則を保存することができる。すなわち、制御信号生成モジュール100及び制御モジュール200は、複数の第1関数と第2関数とを、各使用周期に適用する順序または規則を保存することができる。
【0047】
また、仮想コードの重複生成を防止する具体的な他の一実施形態において、他の命令語につき、同一仮想コードが同一時点に生成されないように、仮想コードに含まれる第1コードまたは第2コードのうちいずれか一つは、少なくとも命令語ごとに、同一時点に常時異なって存在する値(すなわち、命令語固有値)を反映させても生成される。一実施形態において、該命令語固有値は、特定の制御デバイスと、制御信号生成手段との初期設定時、それぞれの命令語を保存した保存位置に対応する単位カウントまたは時点(例えば、制御デバイス内において、特定の保存位置探索アルゴリズムが駆動された最初時点から特定時間が経過した後、特定の命令語を保存し、特定の命令語に係わる細部コード生成関数が適用され始めた時点)から現在まで経過された時間(または、カウント数)でもある。1つの制御デバイスにつき、複数の命令語を含む場合、それぞれの命令語をマッチングさせたカウントを同一ではないようにすれば(すなわち、保存位置探索アルゴリズム上の同一位置または時点に、さまざまな命令語を保存しなければ)、命令語がマッチングされた時点(または、カウント)からユーザから命令入力が遂行された時点までの経過した時間は、各命令語ごとに異なることになる。従って、細部コード生成関数のうち少なくともいずれか一つは、命令語を保存位置探索アルゴリズムに保存した時点(または、カウント)から特定時点までの経過した時間を、命令語固有値として利用し、各時点ごとに、それぞれの制御信号生成手段で生成される仮想コードを異ならせることができる。それを介し、制御デバイスがユーザを区別するためのデータを別途に受信せず、仮想コードを受信することだけにより、制御信号生成手段の区別が可能になるのである。
【0048】
例えば、制御デバイスがドローン(drone:無人飛行体)である場合、制御信号生成手段において、ユーザ操作によって選択されうる命令語は、上昇、下降、前進、後進などを含むのである。特定の制御デバイスに係わる命令語は、1つのグループに設定され、制御デバイス内に含まれた1つの保存位置探索アルゴリズムにより、仮想コード内の命令語探索が行われる。該保存位置探索アルゴリズム内において、制御デバイス初期設定時からA時間ほど経過した時点において、第1命令語(例えば、上昇命令語)がマッチングされ、B(Bは、Aより大きい値)時間ほど経過した時点において、第2命令語(例えば、前進命令語)がマッチングされれば、第1命令語及び第2命令語は、第1ユーザと第2ユーザとから仮想コード生成が要請されたC(Cは、Bより大きい値)時間において、カード発給時点から経過した時間長が常時異なることになる。従って、細部コード生成関数は、それぞれの命令語が、保存位置探索アルゴリズム内に保存された時点から経過した時間長を変数として適用することにより、同一時点に同一仮想コードが生成されないようにする。また、制御デバイスは、2つの命令語が同時に受信されても、それぞれの命令語を正確に認識することができる。前記保存位置探索アルゴリズムは、カウント経過により、現在カウントとマッチングされる保存位置が変更されるアルゴリズムでもある。前記保存位置探索アルゴリズムに係わる詳細な説明は、後述する。
【0049】
また、特定の命令語が、保存位置探索アルゴリズム内の特定の保存位置にマッチングされた時点から経過した時間長は、経時的に続けて増大することになるので、特定の命令語に係わる細部コード(例えば、第2コード)は、同一値が生成されずに、続けて異なる値が生成される。
【0050】
また、仮想コードの重複生成を防止する具体的な他の一実施形態において、全体周期において、ユーザに係わりなく重複された仮想コードが発生されないように、第1コードは、制御デバイス内において、特定の命令語に係わる第1関数が駆動される初期時点(例えば、制御デバイスと制御信号発生手段とを最初連動された時点、制御デバイス生産後、最初駆動時点、または初期化時点)から、各カウントごとにマッチングされたコードのうち、仮想コード生成要請がなされた時点(または、カウント)に対応するコード値に設定し、第2コードは、命令語が、保存位置探索アルゴリズム内にマッチングされた時点から経過した時間(すなわち、命令語固有値)を反映させて生成されるコード値として設定し、仮想コードを、前記第1コードと第2コードとが結合されたコード値として利用することができる。該第1コードは、各カウントごとに異なるコード値になり、該第2コードは、同一時点において、命令語ごとに異なるコード値を有することになり、該第1コードと該第2コードとが結合された仮想コードは、全ての制御信号生成手段と、全ての時点とにおいて、異なるコード値が出力されることになる。
【0051】
他の一実施形態において、仮想コードは、命令語類型を区別するための命令語識別コードを含む。すなわち、仮想コード生成部102は、特定の命令語がユーザから入力されれば、それに対応する命令語識別コードを抽出し、仮想コードに含める。命令語識別コードは、制御モジュール200が仮想コードを受信すれば、即座に対応する命令語を把握するようにする。制御モジュール200は、命令語識別コードを介して命令語を把握した後、仮想コード内の細部コードを基に、仮想コードを検証し、命令語を制御命令として入力するか否かということを判断する。
【0052】
また、命令語識別コードは、前記仮想コード内に、事前に定められた位置にも結合される。各命令語別に、仮想コード生成関数が付与される場合、制御モジュール200は、仮想コードから命令語識別コードをまず抽出してこそ、命令語類型を判断することができるのである。従って、該命令語識別コードは、別途の関数なしに分離可能に、仮想コード内の事前に定められた位置(例えば、仮想コードの最も前のN桁数)にも結合される。
【0053】
仮想コードが命令語識別コードを含む場合、一実施形態において、制御モジュール200は、特定の制御デバイスに対するそれぞれの命令語を、別途のグループに区分し、それぞれの命令語を、別途の保存位置探索アルゴリズムまたは仮想コード生成関数を利用し、制御信号生成モジュール100は、それぞれの命令語に対応する命令語識別コードを含む仮想コードを伝送する。
【0054】
具体的には、仮想コード生成部102は、命令語識別コードに、特定の命令語に対応するOTP関数を基に生成された仮想保安コードを追加し、仮想コードを生成することができる。制御モジュール200は、仮想コードを受信した後、命令語識別コードを利用し、命令語類型を判断し、仮想保安コードを利用し、仮想コードが正常に生成されたものであるか否かということを検証する。制御モジュール200が、仮想保安コードを利用し、仮想コードを検証する方式については、後述する。
【0055】
また、仮想コード生成部102は、特定の命令語識別コードにマッチングされた保存位置探索アルゴリズムに符合する複数の細部コード(例えば、第1コード及び第2コード)を生成し、命令語識別コードと結合して仮想コードを生成することができる。すなわち、制御モジュール200は、それぞれの命令語に係わる保存位置探索アルゴリズムを個別的に駆動することができる。それにより、仮想コード生成部102は、制御モジュール200内の個別保存位置探索アルゴリズムに対応するように、それぞれの命令語に係わる仮想コード生成関数を別途に含んでもよい。命令語別に、保存位置探索アルゴリズム及び細部コードを利用し、仮想コードを検証する方式については、後述する。
【0056】
また、他の一実施形態において、前記仮想コード生成関数(具体的には、それぞれの細部コード生成関数)は、M個の文字を昇順に並べる多数の羅列規則のうちいずれか一つが適用される。すなわち、制御信号生成手段(すなわち、制御信号生成モジュール100)は、それぞれの制御デバイス、またはそれぞれの命令語に係わる細部コード生成関数に、M個文字を昇順に並べる規則を異なって適用することができる。具体的には、それぞれの制御デバイスごとに(すなわち、異なる識別値を有するデバイスごとに)、各デバイスの独立した制御のために、異なる羅列規則が適用された仮想コード生成関数が適用され、仮想コードが命令語識別コードを含む場合、それぞれの保存位置探索アルゴリズムによって異なる羅列規則が適用された仮想コード生成関数が適用されうる。
【0057】
例えば、アルファベット大文字を昇順に並べる羅列規則は、一般的な順序であるA、B、C、…、Zの順序にもなり、A、C、B、…、Zの順序にもなる。仮想コード生成関数において、羅列規則が異なることにより、仮想コード生成関数が駆動される初期時点から各カウントに順番通りにコードがマッチングされる順序が異なることになる。制御モジュール200は、同一羅列規則によって生成されたコードが、各カウントにマッチングされているか、あるいは同一羅列規則自体を仮想コード生成関数に含めて保存することができる。従って、各デバイス別または各命令語別(仮想コードが命令語識別コードを含む場合)に、仮想コード生成関数が異なる細部コード結合関数を含むか、あるいは異なる文字羅列規則を含み、各グループ別に異なる仮想コード生成関数を有するようにする。
【0058】
また、一実施形態において、仮想コードは、仮想保安コードを含む。例えば、該仮想コードは、1以上の細部コードと仮想保安コードとを含むか、あるいは仮想保安コードを細部コードとして含む。前記保安コードは、特定の保安コード生成関数を基に生成されるコードであり、正常な仮想コードであるか否かということを検証するために利用される。前記保安コード生成関数は、時間データと、制御信号生成手段または制御デバイスの固有値とを関数値として使用し、特定桁数の保安コードを生成する。
【0059】
仮想保安コードを活用して仮想コードの正常いかんを判断する過程の一例は、次の通りである。制御モジュール200は、初期設定時、制御信号生成手段の固有値(例えば、制御用アプリケーションがインストールされたスマートフォンの固有値など)を受信し、命令語の保存位置に共に保存するか、あるいは命令語保存位置に連結された別途の保存空間に保存することができる。該制御信号生成手段が仮想保安コードを含む仮想コードを生成し、制御デバイスに提供すれば、制御デバイスは、細部コードを基に、仮想コードが生成された時間データを獲得し、内部に保存された特定の制御信号生成手段の固有値を抽出し、時間データと共に、仮想保安コード生成関数(例えば、OTP(one-time password)関数)に適用し、仮想保安コードを算出する。該制御デバイスは、制御信号生成手段で受信した仮想保安コード(すなわち、受信仮想保安コード)と、内部に保存された仮想保安コード生成関数で算出した仮想保安コード(すなわち、生成仮想保安コード)とが一致するか否かということを判断する。該制御信号生成手段で仮想コードを生成する時点と、制御デバイス200で仮想コードを受信した時点との間に違いが存在しうるので、制御デバイス200は、時間遅延を考慮し、特定時間範囲内(例えば、仮想コードを受信した時点から特定カウント以前まで)の仮想保安コード(すなわち、OTP番号)を計算し、制御信号生成手段から受信された受信仮想保安コードと一致する値が存在するか否かということを確認する。制御モジュール200は、受信仮想保安コードと生成仮想保安コードとが一致すれば、正常な仮想コードと判断し、命令語を制御命令として決定する。
【0060】
また、他の例として、仮想保安コード生成関数は、各カウントごとに異なるl桁(lは、自然数である)のコードを生成し、関数値として、共に適用することができる。すなわち、仮想保安コード生成関数は、l桁のランダムコード生成関数(例えば、l桁のコードを生成するOTP関数)を含んでもよい。
【0061】
前記第1無線通信モジュール120は、前記仮想コードを制御デバイスに伝送するために、無線通信信号として出力する役割を行う。第1無線通信モジュール120は、仮想コードを外部に提供することができる多様な構成を含んでもよい。第1無線通信モジュール120は、無線インターネットモジュールと、近距離通信モジュールと、RF信号モジュールの全部または一部を含む。
【0062】
図3は、本発明の一実施形態による、無人移動体の制御信号伝送装置の構成図である。
【0063】
図3を参照すれば、本発明の一実施形態による、無人移動体の制御信号伝送装置は、制御命令入力部、メインボード、制御信号生成モジュール100及び第1無線通信モジュール120を含む。
【0064】
制御命令入力部は、ユーザから、無人移動体を制御するための制御命令を入力されるものであり、ジョイスティック、操作ボタン、タッチディスプレイなどによっても構成される。
【0065】
メインボードは、制御命令入力部を介して入力される操作命令を、制御命令語(すなわち、特定のプロトコルによる制御命令コード)に生成する。すなわち、前記無人移動体が無人飛行体(すなわち、ドローン)である場合、該メインボードは、ユーザによるユーザ操作に対応する実際飛行命令語を算出する。
【0066】
制御命令生成モジュール100は、実際制御命令語を仮想制御命令語に生成する役割を行う。すなわち、該制御命令生成モジュールは、内蔵された仮想コード生成関数を基に、実際命令語に対応するリアルタイム仮想コードを生成する。該仮想制御命令語は、単位時間ごとに変更される値であるが、無人移動体の制御モジュールにおいて、ユーザによって入力された実際制御命令語を探索することができるコードである。
【0067】
例えば、それぞれの実際制御命令語に係わる仮想制御命令語は、単位時間ごとに変更されて生成されるものであり、前記実際制御命令語が、第1制御命令語及び第2制御命令語を含む場合、前記第1制御命令語に係わる仮想制御命令語は、前記第2制御命令語に係わる仮想制御命令語と重複されないように生成されるものである。
【0068】
制御命令生成モジュール100は、多様な方式で仮想制御命令語を生成することができる。また、例えば、制御命令生成モジュール100は、既存の通信プロトコルをそのまま維持するように、実際制御命令語を伝送するプロトコル内に含まれうる長さ(例えば、実際制御命令語と同一長のコード)に生成することができる。
【0069】
制御信号生成モジュール100は、仮想コード生成関数(すなわち、仮想制御命令語算出アルゴリズム)駆動に必要な時間データを獲得するために、時間算出モジュール(clock)101を含む。時間算出モジュール(clock)101は、無線通信を利用せず、自体的に時間データを算出することができる。
【0070】
前記第1無線通信モジュール120は、前記制御信号生成モジュールで生成された仮想制御命令語を無線通信に伝送する。すなわち、第1無線通信モジュール120は、無人移動体内の第2無線通信モジュールと通信可能な通信方式及び通信プロトコルで、仮想制御命令語を伝送する。
【0071】
また、他の一実施形態において、前記制御命令入力部と前記メインボードは、商用コントローラ装置(例えば、RCコントローラ)でもある。例えば、無人移動体制御装置は、既作製のコントローラ装置に、制御信号生成モジュール100と第1無線通信モジュール120とをさらに連結または結合する形態にもなる。また、例えば、無人移動体制御装置が飛行ドローンの地上統制装置である場合、地上統制装置内に、商用コントローラと制御信号生成モジュール100とが電気的に連結されて内蔵されるので、制御信号生成モジュール100は、コントローラ内のメインボードで出力される信号(すなわち、実際飛行命令語)を伝達され、仮想制御命令語生成を行うことができる。
【0072】
また、他の一実施形態において、無人移動体制御装置は、暗号化モジュールを含んでもよい。該暗号化モジュールは、固定された暗号化キーを基に、仮想制御命令語を含む伝送信号をさらに1回暗号化する役割を行う。
【0073】
図4及び図5を参照すれば、本発明のさらに他の一実施形態による制御デバイスは、制御モジュール200と、第2無線通信モジュール220と、を含む。
【0074】
前記第2無線通信モジュール220は、制御信号生成手段から制御信号を受信する役割を行う。第1無線通信モジュール120に対応する多様な無線通信方式が適用されうる。具体的には、第2無線通信モジュール220は、制御信号生成手段から、特定時点に伝送された制御信号を受信する制御信号受信部を含んでもよい。前記制御信号は、特定の仮想コードを含むのである。
【0075】
制御モジュール200は、制御信号から仮想コードを抽出し、仮想コードから抽出された細部コードまたは命令語識別コードを基に、命令語判断または仮想コードが正常に生成されたものであることを検証する役割を行う。
【0076】
一実施形態において、図4に示すように、前記制御モジュール200は、細部コード抽出部201と、命令語探索部202と、を含む。前記細部コード抽出部201は、前記仮想コードに含まれた複数の細部コードを抽出する役割を行う。前記仮想コードは、複数の細部コードを、特定の規則によって結合して生成されるものであり、前記複数の細部コードは、同一時点に、前記命令語によって異なって生成されるものであり、単位カウントごとに異なって生成されるものである。
【0077】
制御モジュール200の細部コード抽出部201は、制御信号生成手段と同一細部コード結合関数を含み、細部コード抽出部201は、細部コード結合関数を適用し、仮想コードから、複数の細部コードを抽出することができる。例えば、制御信号生成手段において、2つの細部コード(すなわち、第1コード及び第2コード)が結合された仮想コードを生成する場合、細部コード抽出部201は、仮想コードの文字配列において、細部コード結合関数を適用し、第1コード及び第2コードを分離することができる。
【0078】
前記命令語探索部202は、複数の細部コードを基に、特定の命令語が含まれた保存位置を探索する役割を行う。前記命令語探索部202は、単位カウントごとに正常に生成された仮想コードが受信されれば、前記第1コードに対応する前記開始地点から、前記第2コードに相応する探索経路に沿って移動した地点を、前記保存位置と判断する。制御モジュール200が保存位置を判断する具体的な方式は、詳細に後述する。
【0079】
また、仮想コード検証部(図示せず)をさらに含んでもよい。前記仮想コード検証部は、仮想コードが現時点に正常に生成されたものであるか否かということを検証する役割を行う。例えば、時間データとシードデータ(例えば、制御デバイスのチップ固有値)とを利用して生成されるOTPコードを仮想コードが含む場合、該仮想コード検証部は、仮想コードから抽出された第1 OTPコードと、制御モジュール内に保存されたOTP関数が現時点に算出した第2 OTPコードとを比較し、仮想コードが現時点に生成されたものであるか否かということ検証する。
【0080】
他の一実施形態において、図5に示すように、前記制御モジュール200は、細部コード抽出部201と、仮想コード検証部203と、制御決定部204と、を含む。前記細部コード抽出部201は、前記仮想コードに含まれた命令語識別コード、及び1以上の細部コードを抽出する。前記仮想コードは、命令語識別コード、及び1以上の細部コードを、特定の規則によって結合して生成されるものであり、前記細部コードは、同一時点に、前記命令語によって異なって生成されるものであり、単位カウントごとに異なって生成されるものである。
【0081】
一例として、細部コード抽出部201は、事前に定められた位置において、命令語識別コードを抽出する。具体的には、該命令語識別コードは、特定の細部コード結合関数が判断される前にまず抽出されなければならないので、制御モジュール200と制御信号生成モジュール100は、特定の位置(例えば、仮想コードの最初N個けた)に命令語識別コードを付着させると事前に定め、制御モジュール200は、仮想コードを受信すれば、事前に定められた位置において、命令語識別コードを抽出する。制御モジュール200は、仮想コードが正常に生成されたと判断されれば、命令語識別コードに対応する命令語を制御命令として決定する。
【0082】
また、細部コード抽出部201は、仮想コードが、1つの細部コード(例えば、仮想保安コード)だけ含む場合、命令語識別コードを除いた残りコードを細部コードと判断する。
【0083】
また、細部コード抽出部201は、仮想コードが、複数の細部コード(例えば、第1コード及び第2コード)を含む場合、特定の命令語に対応する仮想コード生成関数内の細部コード結合関数を利用し、複数の細部コードを分離する。また、複数の細部コードが仮想保安コードを含む場合、細部コード抽出部201は、仮想保安コードを別途に抽出する。
【0084】
前記仮想コード検証部203は、前記1以上の細部コードを基に、仮想コードが正常に生成されたものであるか否かということを検証する。一実施形態において、細部コードとして、1つの仮想保安コードのみを含む場合、前述のように、制御モジュール200は、制御信号生成モジュール100で生成されて提供された仮想保安コード(すなわち、受信仮想保安コード)と、制御モジュール200内で命令語受信時点に生成された仮想保安コード(すなわち、生成仮想保安コード)とを比較し、仮想コードが正常に生成されたものであるか否かということを検証する(以下、第1検証方式)。
【0085】
また、他の一実施形態において、複数の細部コードとして、第1コード及び第2コードを含む場合、特定の命令語識別コードに対応する保存位置探索アルゴリズムに、第1コード及び第2コードを適用し、探索された保存位置内において、命令語が含まれているか否かということ、または保存位置内の命令語と、命令語識別コードに対応する命令語とが一致するか否かということを比較し、仮想コードが正常に生成されたものであるか否かということを検証する(以下、第2検証方式)。制御モジュール200が、第1コード及び第2コードを利用し、保存位置探索アルゴリズムにおいて、保存位置を探索する方式は、後述する。
【0086】
また、さらに他の一実施形態において、複数の細部コードとして、第1コード、第2コード及び仮想保安コードを含む場合、制御モジュール200は、前記第1検証方式及び前記第2検証方式のうち少なくとも一つを適用し、仮想コードが正常に生成されたか否かということを検証する。
【0087】
前記制御決定部204は、前記仮想コードが正常に生成されたものであるならば、前記命令語識別コードに対応する命令語を入力する。すなわち、制御決定部204は、正常に生成された仮想コード内の命令語識別コードに対応する命令語を制御命令として決定し、制御デバイスを駆動する。
【0088】
図6は、本発明の一実施形態による、仮想コード基盤に制御される無人移動体の構成図である。
【0089】
図6を参照すれば、本発明の一実施形態による無人移動体は、第2無線通信モジュール220、制御器、センサモジュールを含む。
【0090】
前記第2無線通信モジュール220は、無人移動体制御装置から、仮想制御命令語を含む無線通信信号を受信する役割を行う。
【0091】
前記センサモジュールは、無人移動体制御のためのセンシングデータを獲得する役割を行う。例えば、無人移動体が飛行ドローンである場合、該センサモジュールは、ジャイロスコープ、加速度センサ、地磁気センサ、GPS受信器、気圧センサなどを含んでもよい。
【0092】
また、センサモジュールが複数のセンサが含まれる場合、該センサモジュールは、センサ融合器をさらに含む。該センサ融合器は、複数のセンサデータを介して獲得される状態測定値(例えば、ジャイロスコープ、加速度センサまたは地磁気センサを介して獲得される回転運動状態測定値、GPS受信器・気圧センサを介して獲得される並進運動状態測定値)を融合し、無人移動体の状態推定値を算出し、それを制御器に伝達する。
【0093】
前記制御器は、仮想制御命令語を基とする1以上の駆動部(例えば、モータ)に提供する制御命令を算出する役割を行う。前記制御器は、仮想制御命令語を基に、実際制御命令語を算出する制御モジュール200と、制御モジュール200に時間データを提供する時間測定モジュール240と、制御モジュール200から伝達された実際制御命令語、及びセンサモジュールから提供された状態推定値を基に、制御命令を算出する制御命令算出モジュール260と、を含む。
【0094】
一実施形態において、前記制御モジュール200は、仮想制御命令語から、1以上の細部コードを抽出する細部コード抽出部と、細部コードを基に、実際制御命令語を探索する命令語探索部と、を含む。また、前記制御モジュール200は、仮想制御命令語が正常に現時点に生成されたものに該当するか否かということを検証する検証部をさらに含んでもよい。既説明の制御モジュール内の各構成に係わる詳細な説明は、省略する。
【0095】
前記制御命令算出モジュール260は、制御モジュール200からの実際制御命令語と、センサモジュールからの状態推定値とを受信し、ユーザから要請された制御命令により、無人移動体が動くための1以上の駆動部(例えば、モータ)に対する個別制御命令を算出する。例えば、制御命令算出モジュール260は、実際制御命令語を基に、各駆動部制御時、安定した動きのために、センサモジュールで獲得された状態推定値を反映させる。また、複数の駆動部が利用される場合、制御命令算出モジュール260は、制御命令達成のための個別駆動部の動きを算出した後、そのための個別制御命令を生成し、駆動部に伝送する。
【0096】
前記制御モジュール200は、第2無線通信モジュール220と制御命令算出モジュール260との間に、チップとして挿入され、電気的に連結され、制御命令算出モジュール260が内蔵されたチップ(例えば、飛行ドローンである場合、フライトコントローラ(flight controller))内部に、共にソフトウェアモジュールとして含まれながら、制御命令算出モジュール260以前に受信した仮想飛行命令語を前処理することができる。
【0097】
それを介し、既存の無人移動体(例えば、飛行ドローン)の基本的な構造及び制御プロセスを変更せず、仮想制御命令語を利用した制御方式を適用することができる。また、制御モジュール200が、制御命令算出モジュール260を含むチップに共にソフトウェアとして含まれる場合、ハードウェア構成が全く追加されず、無人移動体の重量増加が生じないのである。
【0098】
図7は、本発明の一実施形態による、仮想コードを含む制御信号基盤制御方法のフローチャートである。
【0099】
図7を参照すれば、本発明の一実施形態による、仮想コードを含む制御信号基盤制御方法は、制御モジュール200が、制御信号生成手段から、特定時点に生成された制御信号を受信する段階(S120;制御信号受信段階)と、前記制御モジュール200が、前記仮想コードに含まれた複数の細部コードを抽出する段階(S140;細部コード抽出段階)と、前記制御モジュール200が、複数の細部コードを基に、特定の命令語が含まれた保存位置を探索する段階(S160;命令語探索段階)と、を含む。
【0100】
制御モジュール200が、制御信号生成手段から、特定時点に生成された制御信号を受信する(S120;制御信号受信段階)。例えば、制御モジュール200は、制御デバイスの第2無線通信モジュール220が受信した制御信号内に含まれた仮想コードを獲得する。前記制御信号は、特定の命令語に対応する特定の仮想コードを含む。
【0101】
制御モジュール200が、前記仮想コードに含まれた複数の細部コードを抽出する(S140)。制御モジュール200は、仮想コード生成時に利用された細部コード結合関数を逆に適用し、それぞれの細部コードを抽出する。
【0102】
仮想コードは、前述のように、制御信号生成モジュール100内の特定制御デバイスと、特定の命令語に対応する仮想コード生成関数とによって生成される。前記仮想コードは、仮想コード生成関数内に含まれた複数の細部コード生成関数により、複数の細部コードを生成し、複数の細部コードを、特定の規則(すなわち、細部コード結合関数)によって結合して生成される。すなわち、前記仮想コード生成関数は、それぞれの細部コードを生成する複数の細部コード生成関数、及びそれぞれの細部コードを、特定の結合規則によって結合する細部コード欠陥関数を含んでもよい。前記細部コード生成関数は、制御デバイスの固有値、または制御信号生成手段の固有値を反映させ、制御デバイスごとに異なる結合規則を適用する。
【0103】
前記仮想コードは、命令語が入力された時点(または、カウント)または命令語類型に係わりなく、重複されるように生成されない。前述の仮想コード生成方式に係わる詳細な説明は、省略する。
【0104】
制御モジュール200が複数の細部コードを基に、特定の命令語が含まれた保存位置を探索する(S160;命令語探索段階)。複数の細部コードは、相互間に相関関係を有しており、制御モジュール200は、細部コード間の相関関係を基に、命令語保存位置を探索する。
【0105】
前記制御モジュール200は、特定の制御デバイスに対する複数の命令語を、異なる初期単位カウントに対応する保存位置に保存する。制御モジュール200は、それぞれの命令語に対応する仮想コード内の第1コード及び第2コードを介し、当該命令語がマッチングされた初期単位カウントを探索する。一実施形態において、それぞれの命令語に係わる初期単位カウントは、制御モジュール200と制御信号生成モジュール100との初期設定時点(例えば、後述される保存位置探索アルゴリズムが駆動される最初時点)から経過する特定のカウント個数である。制御モジュール200は、命令語により、初期設定時点から、異なるカウント個数を設定する。
【0106】
そして、制御モジュール200と制御信号生成モジュール100は、各命令語に係わる初期単位カウント(すなわち、初期設定時点から経過した単位カウント個数)を基に、仮想コード生成関数を設定する。例えば、仮想コードが細部コードである第1コードと第2コードとからなり、該第1コードが、初期設定時点から現在時点まで経過した単位カウント個数を基に生成され、該第2コードが、各命令語に対応する時点から経過した単位カウント個数を基に生成される場合、制御モジュール200と制御信号は、各命令語に係わる第2コードを生成する第2関数をそれぞれ生成する。それを介し、制御モジュール200と制御信号生成モジュール100は、命令語を、仮想コードの形態で送受信することができる。
【0107】
仮想コード内の複数の細部コードは、単位カウントごとに生成されるコードが変更(例えば、仮想コードが2個の細部コードからなる場合、第1コード及び第2コードは、単位カウントごとに変更)され、制御モジュール200は、単位カウントごとに仮想コードが変更されても、命令語保存位置を探索するように、命令語保存位置にマッチングされた地点を、変更された第1コード及び第2コードに符合する位置に、単位カウントごとに調節する。
【0108】
仮想コードを構成する細部コード間の相関関係に係わる一実施形態において、制御モジュール200は、単位カウントごとに正常に生成された仮想コードが受信されれば、複数の細部コードを基に、探索開始地点と探索経路とを決定し、保存位置を探索する。具体的には、仮想コードが、第1コードと第2コードとの結合からなる場合、制御モジュール200は、第1コードを、探索開始地点(すなわち、命令語保存位置の探索を始める地点)として設定し、第2コードを、前記探索開始地点から保存位置に移動する経路として適用し、保存位置を探索することができる。すなわち、単位カウントごとに正常に生成された仮想コードが受信されれば、制御モジュール200は、第1コードに対応する開始地点から、前記第2コードに相応する探索経路に沿って移動した探索地点を、命令語の保存位置、または保存位置にマッチングされた地点(例えば、別途サーバに、探索地点にマッチングされている保存空間)と判断する。
【0109】
一実施形態において、第2コードが、第1コードに相応する探索開始地点からの保存位置までの経路に係わる情報をいずれも含む場合、制御モジュール200は、第1コードに相応する探索開始地点から、第2コードに相応する探索経路に沿い、命令語保存位置、または保存位置にマッチングされた地点を求めることができる。
【0110】
他の一実施形態において、制御モジュール200は、単位カウントごとに、命令語の保存位置を、仮想コードに符合するように調節する保存位置探索アルゴリズムを含んでもよい。すなわち、前記制御モジュール200は、単位カウントごとに、命令語保存位置にマッチングされた地点への探索経路を調節する保存位置探索アルゴリズムを含む。前記第1コード及び前記第2コードは、単位カウントごとに変更される場合、制御モジュール200は、変更される第1コード及び第2コードに符合するように、保存位置探索アルゴリズムを調節することができる。前記保存位置探索アルゴリズムは、多様な形態にも具現される。
【0111】
一実施形態において、図8に示すように、保存位置探索アルゴリズムが、k(kは、Mである)個のコードが羅列されたトラック上を、k角形が、各コードが配された地点に頂点が対応しながら転がり移動するものでもある。このとき、前記命令語探索段階(S160)は、制御モジュール200が、前記制御信号生成手段から受信された前記仮想コード内の第1コードに対応するトラック上の地点に、k角形を転がり移動する段階(S161)と、前記第1コードに対応する位置を開始地点で設定し、前記第2コードに適用された探索方式により、第2コードを基に、k角形の配置状態における保存位置、または前記保存位置がマッチングされた地点を探索する段階(S162;保存位置探索段階)と、前記保存位置に含まれた命令語を抽出する段階(S163)と、を含む。
【0112】
制御モジュール200は、図9に示すように、制御信号生成手段から受信された前記仮想コード内の第1コードに対応するトラック上の地点にk角形を転がり移動する(S161)。保存位置探索アルゴリズムは、第1コードに該当するM個のコードが羅列されたトラックに沿って転がり移動するk角形(kは、Mである)であり、k角形の頂点が、第1コードトラック上にコードが配される地点に対応しながら移動する。このとき、制御モジュール200は、第1コードに対応する地点にk角形の頂点が接するように、k角形を転がり移動(または、転がり移動)を適用することができる。
【0113】
制御モジュール200は、図9に示すように、前記第1コードに対応する位置を開始地点として設定し、前記第2コードに適用された探索方式により、第2コードを基に、k角形の配置状態での保存位置、または保存位置にマッチングされた地点(すなわち、k角形の特定の頂点)を探索する(S162;保存位置探索段階)。前記保存位置は、前記k角形のそれぞれの頂点にマッチングされる。第1コードトラック(すなわち、第1トラック)とk角形とが対応する地点が、第1コードに対応する保存位置探索開始地点になる。制御モジュール200は、探索開始地点から、第2コードを基に、保存位置のマッチング地点を探索する。
【0114】
第2コードを基に、k角形において、保存位置を探索する方式としては、多様な方式が適用されうる。一例として、制御モジュール200は、k角形が接した第1トラック上の位置において、第2コードに相応する角度(例えば、k角形の頂点に向かうように、180°をM個で分割した特定の角度)として指示することにより、仮想コードに対応する命令語が保存された保存位置であるk角形の頂点を探索することができる。
【0115】
また、他の例として、k角形が、第1トラック上の第1コードに対応する地点に接した状態で、制御モジュール200は、k角形の中心と、第1トラック上の接点とを基準に、全体中心角(すなわち、360°)をM個に分割し、それぞれの角度を、M個の第2コードにマッチングする。このとき、k角形の中心と、第1トラック上の接点とを結んだ線から、特定個数の単位角度(すなわち、360°/M)を移動した線方向は、k角形の特定頂点になる。従って、特定角度に対応する第2コードが受信されれば、制御モジュール200は、当該角度方向に位置した頂点を探索することができる。
【0116】
また、他の例として、第2コードの特定桁を、角度算出方向を決定するところに使用することができる。すなわち、N個(Nは、自然数である)の文字を利用し、第2コードを生成する場合、1桁(digit)で角度測定方向を決定することができる。例えば、制御モジュール200は、k角形の中心と、第1トラック上の接点とを基準に、全体中心角(すなわち、360°)を分割し、それぞれの角度に、第2コードをマッチングする場合、k角形の中心と、第1トラック上の接点とを結んだ線から、左側方向に測定される角度であるか、あるいは右側方向に測定される角度であるかということを、1桁(digit)の値として決定することができる。
【0117】
一例として、保存位置探索アルゴリズムは、k角形上の各頂点に、角度測定方向によって異なる2個の第2コードを、1つの頂点に割り当てることができる。すなわち、1つの頂点に内角として達するときと、外角として達するときとにおいて異なる第2コードとマッチングされ、他の命令語が連結されうる。他の一例として、保存位置探索アルゴリズムは、N個(Nは、自然数である)の文字を利用し、第2コードを生成する場合、N-1個で、全体角度(例えば、中心角を基準に分割する場合、360°)の半分についてマッチングし、1桁を利用し、各頂点に逹するための角度適用方向を決定することができる。
【0118】
第2コードを基に、k角形で保存位置を探索する方式は、それらに限定されるものではなく、第2コードに相応するk角形上の地点と、第1トラック上の接点との間を、特定の比率で分ける地点を、保存位置として探索する方式というような多様な方式が適用されうる。
【0119】
その後、制御モジュール200は、前記保存位置に含まれた命令語を抽出する(S163)。すなわち、制御モジュール200は、k角形の頂点に対応する保存位置を求め、該保存位置内の命令語を抽出する。
【0120】
また、他の一実施形態において、前記保存位置探索アルゴリズムは、仮想コードを構成する複数の細部コードを基にトラック上を移動し、命令語保存位置にマッチングされた地点に移動するのである。一例として、前記命令語保存位置にマッチングされた地点は、制御信号生成モジュール100に命令語が保存されたカウント(すなわち、時点)に対応するトラック上の地点でもある。そのために、前記保存位置探索アルゴリズムが、1つのトラック上において、第1コード及び第2コードを基に、ポインタを移動させるものである場合、前記命令語探索段階(S160)は、図10に示すように、前記制御信号生成手段から受信された前記仮想コード内の第1コードに対応するトラック上の地点にポインタを移動する段階(S164)と、前記第1コードに対応する位置を、探索開始地点として設定し、前記第2コードに対応するカウント数ほどトラックを回帰させ、命令語保存位置にマッチングされた地点を探索する段階(S165)と、命令語保存位置に含まれた前記命令語を抽出する段階(S166)と、を含む。
【0121】
具体的には、図11を参照すれば、1つのトラック上において、第1コードと第2コードとを基に、移動する保存位置探索アルゴリズムを利用する場合、制御モジュール200は、仮想コード生成関数が駆動された時点から、トラック開始地点から出発したポインタ(pointer)が、単位カウントが経過するたびに、トラック上の分割単位を移動し、命令語保存時点(A時点)に位置したトラック上の地点を、命令語保存位置にマッチングされた地点として決定することができる。具体的には、仮想コードが、仮想コード生成関数が駆動された時点から経過した時間を基に生成された第1コードと、特定の制御信号生成モジュール100に命令語が保存された時点から経過した時間を基に生成された第2コードとを含む場合、制御モジュール200は、第1コードに対応するコード値がマッチングされたトラック上のカウントを、探索開始地点として設定し、第2コードに、第2関数の逆関数を適用することによって算出されたカウント値ほど、前記探索開始地点からトラックに沿って回帰させ、保存位置探索アルゴリズムに命令語が保存された時点のトラック上の地点(すなわち、命令語保存位置にマッチングされた地点)を探索する。制御モジュール200は、前記保存位置から抽出された前記命令語で制御デバイスを制御する。
【0122】
また、他の一実施形態において、前記制御モジュール200が、前記第1コードまたは前記第2コードを、前記第1関数または第2関数の逆関数を適用し、正常に生成された仮想コードに該当するか否かということを検証する段階をさらに含む。例えば、第1コードが、制御モジュール200内において、特定の仮想コード生成関数及び保存位置探索アルゴリズムが駆動された最初時点(すなわち、制御デバイスが、初期駆動時点、または初期設定された時点)から経過したカウント個数に対応するコード値であり、第2コードが、特定の命令語がマッチングされた時点(すなわち、前記最初時点から特定の命令語にマッチングされた特定カウント個数が経過した時点)から経過したカウント個数に対応するコード値である場合、制御モジュール200は、命令語を保存位置に保存するとき、特定カウント個数(すなわち、特定の命令語がマッチングされたカウントと、最初時点との間のカウント個数)に対応する時間長Tsを共に保存する。制御モジュール200は、仮想コード内の第1コードに、第1関数の逆関数を適用し、仮想コード生成関数駆動時から、仮想コード生成時点までの経過時間T1を算出し、仮想コード内の第2コードに、第2関数の逆関数を適用し、命令語発給時から、仮想コード生成時点までの経過時間T2を算出する。その後、制御モジュール200は、T1とT2との差がTsに該当するか否かということを判断し、仮想コードを検証する。
【0123】
また、他の一実施形態において、仮想コードは、仮想保安コードをさらに含む。このとき、制御モジュール200は、仮想コードから仮想保安コードを抽出し、仮想コードが正常に生成されたものであるか否かということを検証する過程を遂行することができる。
【0124】
一実施形態において、仮想保安コードは、制御デバイスまたは制御信号生成手段の固有値を基に生成されうる。前記固有値は、それぞれの制御デバイスごと、または制御信号生成モジュール100ごとに個別的に付与された装置固有値である。例えば、特定のスマートフォンを、制御信号生成手段として利用し、制御信号生成モジュール100に該当するアプリケーションがインストールされる場合、前記固有値は、それぞれのスマートフォンごとに付与されるものであるので、悪意的目的でスマートフォンをハッキングするか、あるいはユーザのスマートフォンを密かに確認し、固有値を獲得しなければ、確認することができない。従って、制御モジュール200が、制御信号生成手段により、固有値を基に生成された仮想保安コードを受信し、制御信号生成手段を検証することができる。
【0125】
また、他の一実施形態において、制御信号生成手段は、時間値を反映させ、仮想保安コードを生成することができる。すなわち、制御信号生成手段は、OTP(one time password:固定されたパスワード)の代わりに、ランダムに生成される単回使用パスワードを利用するユーザ認証)方式を利用し、仮想保安コードを生成することができる。制御モジュール200は、仮想保安コードに該当するOTP番号を制御信号生成手段から受信し、制御信号生成手段からOTP番号を受信したカウントから、特定範囲内のカウントにおいて算出されたOTP番号を比較し、制御信号生成手段を検証する。すなわち、制御モジュール200は、命令語保存位置内に、制御デバイスまたは制御信号生成モジュール100の固有値を共に保存し、仮想コードが受信された時点において、命令語保存空間で抽出された固有値を利用して生成されたOTP番号と、制御信号生成手段から受信されたOTP番号とが一致するか否かということを判断し、制御信号生成手段を検証(すなわち、仮想コードが、制御デバイスとマッチングされた制御信号生成手段で生成されたものであるか否かということを検証する)する。
【0126】
また、他の一実施形態において、仮想保安コードは、制御信号生成モジュール100が外部に出力せず、第1コード生成及び第2コード生成にも反映される。例えば、前記仮想コードは、前記初期単位カウントに対応する時点または命令語入力時点において、仮想保安コードを加えたカウントを基に生成された第1コード及び第2コードによって構成される。このとき、前記仮想保安コードは、制御信号生成手段の固有値、または制御デバイスの固有値を基に、OTP関数を介して生成される特定桁のコード値でもあり、第1コードと第2コードとの生成に反映されることにより、制御信号生成手段から制御モジュール200に別途に提供されないのである。
【0127】
一実施形態において、図12に示すように、制御信号生成手段は、制御信号生成手段または制御デバイスの固有値を基に生成された仮想保安コード値を、命令語保存時点に加えたカウントの第1コードを生成し、仮想保安コード値に対応するカウントの第2コードを生成する。すなわち、第1コード及び第2コードは、制御信号生成手段Aに命令語が保存されたA時点から、仮想保安コード値ほど移動(shifting)されたカウントを基に生成される。A時点から移動(shifting)されたカウントは、生成される仮想保安コード値により、現在時点に対応するカウントより以前カウントにもなり、その後のカウントにもなる。制御モジュール200は、受信された第1コードと第2コードとを、保存位置探索アルゴリズムに適用し、命令語保存位置がマッチングされた地点を探索することができる。それを介し、他人が仮想コードを構成する第1コード及び第2コードが提供される順序を確認することができなくなり、保安性が向上されうる。
【0128】
また、他の一実施形態において、制御モジュール200は、仮想保安コードを基に生成された第2コードから仮想保安コードを抽出した後、仮想保安コード生成関数(すなわち、OTP関数)を、仮想コードを受信したカウントから特定範囲内のカウントを入力して算出されたOTP番号内に、仮想保安コードと一致する値があるか否かということを確認する。制御モジュール200は、第2コードに、第2関数の逆関数を適用し、第2コード生成に利用された仮想保安コード値(すなわち、OTP関数値)を獲得し、仮想保安コード値と同一値を算出するカウントを求める。仮想コードの伝送時間により、制御信号生成モジュール100において、仮想保安コードが生成された時点と、制御モジュール200が仮想保安コードを受信した時点との違いが存在することにより、制御モジュール200が、仮想コードを受信したカウントと、仮想保安コードに該当するOTP番号を生成したカウントとが一致せず、制御モジュール200は、仮想コードを受信したカウントからの誤差範囲を許容する。それを介し、制御モジュール200は、仮想コードを伝送した制御信号生成モジュール100が、正常に命令語とマッチングされたものであるか否かということを検証することができ、保安性が向上されうる。また、ユーザは、仮想コード入力時、特定桁数の仮想保安コードを入力せずとも、制御モジュール200が、自体的に仮想保安コードを探索し、制御信号生成手段を検証(すなわち、仮想コードが、制御デバイスとマッチングされた制御信号生成手段で生成されたものであるか否かということを検証)するので、制御信号生成手段を簡便に使用することができる。
【0129】
また、他の一実施形態において、制御信号生成手段は、命令語入力時点(すなわち、ユーザから制御信号生成手段に、特定の命令語に対応する制御命令が入力された時点)に、制御信号生成手段または制御デバイスの固有値を基に生成された仮想保安コード値を加えたカウントに対応する第1コードを生成し、命令語保存時点(A時点)と命令語入力時点(C時点)との間のカウント差と、仮想保安コード値とを加えたカウントに対応する第2コードを生成する。すなわち、制御信号生成手段が、第1コードと第2コードとを生成する受信は、次の通りである。
第1コード=f1(C時点カウント+仮想保安コード)
第2コード=f2(C時点カウント-A時点カウント+仮想保安コード)
(A時点:命令語保存時点、C時点:命令語入力時点のカウント、仮想保安コード:OTP番号)
【0130】
制御モジュール200は、受信した仮想コード内の第1コード及び第2コードを基に、命令語保存位置を探索し、命令語保存位置内に共に含まれた制御信号生成手段または制御デバイスの固有値を抽出する。制御モジュール200は、制御信号生成手段または制御デバイスの固有値を基に、制御信号受信時点から特定カウント範囲内の仮想保安コード(すなわち、OTP番号)を生成する。その後、制御モジュール200は、命令語初期保存時点(A時点)から、制御信号受信時点を基準に、特定カウント範囲内の各カウントまでのカウント個数と、仮想保安コード(すなわち、OTP番号)との和が、第2コードに対応するカウント数(すなわち、第2コードに、第2関数の逆関数を適用した値)のようなカウントが存在するか否かということを確認する。制御モジュール200は、第1コード及び第2コードを基に、命令語保存位置がマッチングされた地点を探索することにより、命令語初期保存時点を把握することができる。それを介し、制御モジュール200は、仮想コードを提供した制御信号生成手段が正常なものであるか(すなわち、当該仮想コードを送信した制御信号生成手段が、制御デバイスと1:1にマッチングされたものであるか)、あるいは仮想コードが正常に生成されたものであるか否かということ確認することができる。
【0131】
また、他の一実施形態において、図13に示すように、前記制御モジュール200が、前記制御デバイス内の位置情報獲得モジュールによって獲得される時間データを基に、前記制御信号生成手段と時間同期化し、単位カウントを一致させる段階(S110)をさらに含む。制御デバイスと制御信号生成モジュール100は、位置情報獲得モジュール(例えば、GPSモジュール)を含んでもよい。制御モジュール200と制御信号生成モジュール100は、経時的に単位カウントを増加させるので、内部のタイマ誤差を最小化させるために、時間同期化する過程が必要である。制御モジュール200と制御信号生成モジュール100は、位置情報獲得モジュールによって獲得された時間データで同期化を行い、タイマ誤差をなくすことができる。
【0132】
図14は、本発明の一実施形態による、仮想コードを含む制御信号基盤制御方法のフローチャートである。
【0133】
図14を参照すれば、本発明の他の一実施形態による、仮想コードを含む制御信号基盤制御方法は、制御モジュール200が、制御信号生成手段から、特定時点に生成された制御信号を受信する段階(S220;制御信号受信段階)と、制御モジュール200が、前記仮想コードに含まれた1以上の細部コード、及び前記命令語識別コードを抽出する段階(S240)と、前記制御モジュール200が、前記1以上の細部コードを基に、仮想コードが正常に生成されたものであるか否かということを検証する段階(S260)と、前記制御モジュール200が、前記仮想コードが正常に生成されたものであるならば、前記命令語識別コードに対応する命令語を入力する段階(S280)と、を含む。既説明の内容に係わる詳細な説明は、省略する。
【0134】
制御モジュール200が、制御信号生成手段から、特定時点に生成された制御信号を受信する(S220)。前記制御信号は、特定の仮想コードを含み、前記仮想コードは、命令語識別コード、及び1以上の細部コードを、特定の規則によって結合して生成されるものである。前述の仮想コードに係わる詳細な説明は、省略する。
【0135】
制御モジュール200が、前記仮想コードに含まれた1以上の細部コード、及び前記命令語識別コードを抽出する(S240)。前記仮想コードは、同一時点に、前記命令語によって異なって生成されるものであり、単位カウントごとに、異なって生成されるものである。
【0136】
仮想コードが、制御信号生成手段が命令語を案内するコードである命令語識別コードを含む場合、前記細部コード抽出段階(S240)は、前記仮想コード内において、命令語識別コードを抽出し、前記命令語識別コードを基に、前記制御信号生成モジュール100の命令語種類を判断する。
【0137】
また、前述のように、命令語識別コードは、制御モジュール200が、別途の関数を利用せず、識別することができるように、事前に定められた位置にも結合される。例えば、仮想コードが複数の識別コードを含む場合、命令語識別コードを利用し、仮想コード生成関数を決定する過程は、複数の細部コードを抽出する過程以前に遂行されうる。命令語識別コードにより、仮想コード生成関数が決定されてこそ、仮想コード生成関数内に含まれた細部コード結合関数が決定され、複数の細部コードを抽出することができる。そのために、制御モジュール200が別途の関数なしも容易に分離されるように、命令語識別コードは、仮想コード内に固定された位置(例えば、仮想コードの最前の特定個数桁)にも結合される。
【0138】
前記命令語識別コードは、特定の命令語に係わる仮想コード生成関数または前記保存位置探索アルゴリズムを決定する。具体的には、制御モジュール200は、各命令語別に異なる保存位置探索アルゴリズムをそれぞれ利用する場合、命令語識別コードを介し、命令語に対応する保存位置探索アルゴリズムを判断し、命令語識別コードに、細部コードとして仮想保安コードだけ結合して伝送する場合、命令語識別コードを介し、命令語に対応する仮想保安コードを生成する仮想保安コード生成関数を判断する。
【0139】
前記制御モジュール200が、前記1以上の細部コードを基に、仮想コードが正常に生成されたものであるか否かということを検証する(S260)。制御モジュール200は、仮想コードが正常に生成されたものであるか否かということを判断することにより、仮想コードを伝送した制御信号生成手段が、制御デバイスと正常にマッチングされたものであるか否かということを判断する。仮想コードが正常に生成されたものであるか否かということを判断する方式としては、多様な方式が適用されうる。
【0140】
また、他の一実施形態において、図15に示すように、前記仮想コード検証段階(S260)は、前記制御モジュール200が、特定の命令語に対応する保存位置探索アルゴリズムを基に、複数の細部コードを利用し、保存位置を探索する段階(S261)と、前記保存位置内に命令語が保存されているか否かということ、または前記保存位置内の命令語と、前記命令語識別コードに対応する命令語とが一致するか否かということを判断し、仮想コードを検証する段階(S262)と、を含む。既説明の細部コード生成方式に係わる詳細な説明、及び保存位置探索アルゴリズムによって保存位置を探索する方式に係わる詳細な説明は、省略する。
【0141】
一実施形態において、前記仮想コードは、第1コード及び第2コードを含み、前記制御モジュール200は、前記命令語によって異なる前記保存位置探索アルゴリズムを含み、それぞれの命令語を、各命令語の保存位置探索アルゴリズム内の特定の命令語保存時点(すなわち、初期単位カウント)に対応する保存位置に保存し、単位カウントごとに、正常に生成された仮想コードが受信されれば、前記第1コードに対応する前記開始地点から、前記第2コードに相応する探索経路に沿って移動した地点を、前記保存位置と判断する。
【0142】
また、他の一実施形態において、前記仮想コード検証段階(S260)は、前記制御モジュール200が、仮想コードを受信した時点から、特定範囲内の時間値を基に算出された生成仮想保安番号を、前記仮想コードから抽出された受信仮想保安コードと比較し、前記仮想コードが正常に生成されたものであるか否かということを検証する。すなわち、前記細部コードは、仮想保安コードを含む。前記仮想保安コードは、制御信号生成手段の固有値、または制御デバイスの固有値を基に、OTP関数を介して生成される特定桁のコード値でもある。既説明の仮想保安コードを利用し、仮想コードを検証する方式に係わる詳細な説明は、省略する。
【0143】
仮想コードは、細部コードとして、仮想保安コードのみを含み、第1コード及び第2コードと共に、仮想保安コードを含んでもよい。細部コードが、仮想保安コードにだけ形成される場合、制御モジュール200は、仮想コードから、命令語識別コードを除いた残りコードを仮想保安コードと判断する。また、該仮想保安コードは、第1コードと第2コードとの生成時に利用され、直接仮想コードに含まれて伝送されないのである。既説明の第1コードと第2コードとの生成時、仮想保安コードを利用する方式、及び第1コードと第2コードとから、仮想保安コードを抽出する方式に係わる詳細な説明は、省略する。
【0144】
制御モジュール200が、前記仮想コードが正常に生成されたものであるならば、前記命令語識別コードに対応する命令語を入力する(S280)。
【0145】
図16は、本発明の一実施形態による、仮想コードを含む制御信号基盤制御方法のフローチャートである。
【0146】
図16を参照すれば、本発明のさらに他の一実施形態による、仮想コードを含む制御信号基盤制御方法は、制御信号生成手段が、ユーザから特定の命令語入力要請を受信する段階(S320)と、前記制御信号生成手段が、前記命令語入力要請により、特定の命令語に対応する仮想コード生成関数を基に、仮想コードを生成する段階(S340)と、前記制御信号生成手段が、仮想コードを制御信号として制御デバイスに伝送する段階(S360)と、を含む。制御信号生成手段に係わる説明において、既説明の内容に係わる詳細な記載は、省略する。
【0147】
制御信号生成手段が、ユーザから特定の命令語入力要請を受信する(S320)。例えば、該制御信号生成手段は、ユーザのコントローラ操作またはユーザインターフェース操作を介し、命令語入力要請を受信する。該命令語入力要請を受信する方式は、記載された方式に限定されるものではなく、音声命令を受信する方式のような多様な方式が適用されうる。
【0148】
制御信号生成手段が、命令語入力要請により、特定の命令語に対応する仮想コード生成関数を基に、仮想コードを生成する(S340)。前記仮想コードは、同一時点に、前記命令語によって異なって生成されるものであり、単位カウントごとに、異なって生成されるものである。
【0149】
一実施形態において、制御信号生成手段は、細部コード生成関数を利用し、第1コード及び第2コードを生成し、特定の規則(すなわち、細部コード結合関数)によって結合し、仮想コードを生成する。このとき、仮想コード内の第1コード及び第2コードは、前記制御デバイス内の制御モジュール200により、特定の命令語が含まれた保存位置探索に利用される。
【0150】
また、一実施形態において、図17に示すように、制御信号生成モジュール100は、命令語識別コードを含む形態に仮想コードを生成する。そのために、前記仮想コード生成段階(S340)は、特定の命令語に対応する命令語識別コードを抽出する段階(S342)と、前記命令語に対応する細部コード生成関数を利用し、1以上の細部コードを生成する段階(S344)と、前記命令語識別コードと、前記1以上の細部コードとを結合し、前記仮想コードを生成する段階(S346)と、を含む。
【0151】
制御信号生成手段が、仮想コードを制御信号として制御デバイスに伝送する(S360)。制御信号生成モジュール100は、第1無線通信モジュール120に、制御デバイスの第2無線通信モジュール220が受信することができる無線通信方式で伝送を要請する。
【0152】
その後、制御モジュール200は、制御信号内の仮想コードを抽出した後、命令語判断過程及び仮想コード検証過程を遂行する。一実施形態において、前記制御モジュール200は、特定の制御デバイスにつき、1つの保存位置探索アルゴリズムを利用する場合、単位カウントごとに、正常に生成された仮想コードが受信されれば、細部コードうち、第1コードに対応する前記開始地点から、細部コードのうち、第2コードに相応する探索経路に沿って移動した地点を、前記保存位置と判断する。制御モジュール200は、保存位置内の命令語を制御命令として決定する。また、他の一実施形態において、複数の命令語識別コードを仮想コードに含む場合、前記制御モジュール200は、前記仮想コードに含まれた1以上の細部コード、及び前記命令語識別コードを抽出し、前記1以上の細部コードを基に、仮想コードが正常に生成されたものであるか否かということを検証し、前記仮想コードが正常に生成されたものであるならば、前記命令語識別コードに対応する命令語を入力する。
【0153】
以上において説明された本発明の一実施形態による制御信号基盤制御方法は、ハードウェアであるコンピュータと結合されて実行されるために、プログラム(または、アプリケーション)に具現され、媒体にも保存される。
【0154】
前述のプログラムは、前記コンピュータがプログラムを読み取り、プログラムに具現された前記方法を実行させるために、前記コンピュータのプロセッサ(CPU)が、前記コンピュータの装置インターフェースを介して読み取らせるC、C++、JAVA(登録商標)、機械語のようなコンピュータ言語にコード化されたコード(code)を含んでもよい。そのようなコードは、前記方法を実行する必要な機能を定義した関数などと係わる機能的なコード(functional code)を含み、前記機能を、前記コンピュータのプロセッサが、所定の手続き通り実行させるのに必要な実行手続き関連制御コードを含んでもよい。また、そのようなコードは、前記機能を、前記コンピュータのプロセッサが実行させるのに必要な追加情報や、メディアが、前記コンピュータの内部または外部メモリのいずれの位置(アドレス番地)で参照されなければならないかということに係わるメモリ参照関連コードをさらに含んでもよい。また、前記コンピュータのプロセッサが、前記機能を実行させるために、遠隔(remote)にある他のコンピュータやサーバなどと通信が必要な場合、該コードは、前記コンピュータの通信モジュールを利用し、遠隔にある他のコンピュータやサーバなどといかように通信しなければならないか、通信時、いかなる情報やメディアを送受信しなければならないかということなどに係わる通信関連コードをさらに含んでもよい。
【0155】
前述の保存される媒体は、レジスタ、キャッシュ、メモリのように、短い瞬間の間データを保存する媒体ではなく、半永久的にデータを保存し、機器により、判読(reading)が可能な媒体を意味する。具体的には、前述の保存される媒体の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ保存装置などがあるが、それらに制限されるものではない。すなわち、前記プログラムは、前記コンピュータが接続することができる多様なサーバ上の多様な記録媒体、またはユーザの前記コンピュータ上の多様な記録媒体にも保存される。また、前記媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式で、コンピュータで読み取り可能なコードが保存されうる。
【0156】
以上、添付された図面を参照し、本発明の実施形態について説明したが、本発明が属する技術分野の当業者であるならば、本発明が、その技術的思想や、必須な特徴を変更せずにも、他の具体的な形態に実施されうるということを理解することができるであろう。従って、以上で記述された実施形態は、全ての面において例示的なものであり、制限的ではないと理解されなければならない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17