JP6644756B2 - 可動物体のアプリケーション開発を支援する方法、システム及びコンピュータ読取り可能媒体 - Google Patents

可動物体のアプリケーション開発を支援する方法、システム及びコンピュータ読取り可能媒体 Download PDF

Info

Publication number
JP6644756B2
JP6644756B2 JP2017223666A JP2017223666A JP6644756B2 JP 6644756 B2 JP6644756 B2 JP 6644756B2 JP 2017223666 A JP2017223666 A JP 2017223666A JP 2017223666 A JP2017223666 A JP 2017223666A JP 6644756 B2 JP6644756 B2 JP 6644756B2
Authority
JP
Japan
Prior art keywords
application
movable object
activation request
authentication server
access
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017223666A
Other languages
English (en)
Other versions
JP2018049654A (ja
Inventor
リウ,ウェイフォン
リー,シャオジュン
ジャオ,ツァイフア
リー,ナンニン
シュウ,チャンジャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Priority to JP2017223666A priority Critical patent/JP6644756B2/ja
Publication of JP2018049654A publication Critical patent/JP2018049654A/ja
Application granted granted Critical
Publication of JP6644756B2 publication Critical patent/JP6644756B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

無人機の時代が到来している。無人機は、考古学研究、スポーツイベント、災害救助、環境保護など、数多くの様々な分野で使用してもよい。無人機、並びに無人車両、ハンドヘルド装置、ロボットなど他の可動物体は、これまでの産業を発展させるための新しい方向及び独特な視点を提供することができる。
これは、本発明の実施形態が取り組もうとする一般的な領域である。
本明細書には、可動物体の環境におけるアプリケーション開発を支援できるシステム及び方法が記載されている。可動物体マネージャは、可動物体との接続を確立することができ、この可動物体からの1つ又は複数のデータパケットを受信する。次いで、この可動物体マネージャは、前記1つ又は複数のデータパケット内の情報を、ユーザ端末上のアプリケーションに提供することができる。
本明細書にはまた、可動物体の環境におけるアプリケーション開発を支援できるシステム及び方法が記載されている。認証サーバが、アプリケーションからアクティベーション要求を受信することができ、このアクティベーション要求は、可動物体にアクセスするための権限を求める要求を含む。次いで、認証サーバは、1つ又は複数のポリシーをアクティベーション要求に適用し、アプリケーションに資格がある場合は、可動物体にアクセスするための権限をアプリケーションに付与することができる。
本発明の様々な実施形態による、可動物体の環境でのアプリケーションの例示的な図である。 本発明の様々な実施形態により、アプリケーションと可動物体の間の通信をサポートするために複数のデータ接続を使用する様子の例示的な図である。 本発明の様々な実施形態により、アプリケーションと可動物体の間の通信をサポートするために高速接続を使用する様子の例示的な図である。 本発明の様々な実施形態により、可動物体の環境でのソフトウェアアプリケーション開発を支援する様子の例示的な図である。 本発明の様々な実施形態による、可動物体の環境での可動物体マネージャの例示的な図である。 本発明の様々な実施形態による、可動物体の環境での通信プロトコルの抽象概念の例示的な図である。 本発明の様々な実施形態による、可動物体のアプリケーション環境でのパケットフォーマットの例示的な図である。 本発明の様々な実施形態により、可動物体アプリケーションをサポートするために可動物体マネージャを使用する様子のフローチャートを示す。 本発明の様々な実施形態により、ソフトウェア開発環境において可動物体インターフェースをサポートする様子の例示的な図である。 本発明の様々な実施形態による、無人機インターフェースの例示的な図である。 本発明の様々な実施形態による、ソフトウェア開発キット(SDK)における無人機用の構成要素の例示的な図である。 本発明の様々な実施形態により、ソフトウェア開発環境において可動物体インターフェースをサポートする様子のフローチャートを示す。 本発明の様々な実施形態により、可動物体の環境においてセキュリティモデルをサポートするために認証サーバを使用する様子の例示的な図である。 本発明の様々な実施形態により、可動物体の環境において複数のアプリケーションをサポートするために認証サーバを使用する様子の例示的な図である。 本発明の様々な実施形態により、可動物体の環境でのセキュリティモデルをサポートする様子の例示的な図である。 本発明の様々な実施形態により、可動物体の環境でのセキュリティモデルをサポートする様子のフローチャートを示す。
本発明は、添付図面中の各図において一例として示すものであって、限定するために示すものではない。各図面において、同じ参照番号は同様の要素を指す。本開示での、「ある」又は「1つの」又は「幾つかの」実施形態への言及は、必ずしも同じ実施形態への言及ではなく、こうした言及は少なくとも1つを意味することに留意されたい。
以下のような本発明の説明では、可動物体の例として無人機を使用する。それだけに限らず、他のタイプの可動物体も使用できることが当業者には明らかとなろう。
例示的な可動物体の環境
図1は、本発明の様々な実施形態による、可動物体の環境でのアプリケーションの例示的な図である。図1に示すように、可動物体の環境100でのアプリケーション112は、物理リンク110を介して可動物体101と通信することができる。可動物体101は、無人機、無人車両、ハンドヘルド装置、及び/又はロボットとすることができる。
本発明の様々な実施形態によれば、可動物体101は、様々な関数モジュール111を備えることができる。たとえば、無人機は、カメラモジュール、電池モジュール、ジンバルモジュール、通信モジュール、及び飛行制御装置モジュールなどを備えることができる。
図1に示すように、アプリケーション112は、ユーザ端末102に実装することができる。たとえば、このユーザ端末102は、携帯用パーソナルコンピューティング装置、スマートフォン、遠隔制御装置、及び/又はパーソナルコンピュータとすることができる。
更に、ユーザ端末102は、通信装置(図示せず)を備えることができ、この装置は、ユーザ端末102上のアプリケーション112と、可動物体101上の様々なモジュール111との間の通信を処理する役割を担う。たとえば、無人機は、アップリンク及びダウンリンクを有することができる。アップリンクを使用して、制御信号を送信することができ、ダウンリンクを使用して、メディアストリーム又はビデオストリームを送信することができる。
本発明の様々な実施形態によれば、物理リンク110は、ネットワーク(の一部)とすることができ、このネットワークは、WiFi、ブルートゥース(登録商標)、3G/4G、他の無線周波数技術など、様々な無線技術に基づいている。更に、物理リンク110は、インターネット技術など他のコンピュータネットワーク技術に基づくことができる。
図2は、本発明の様々な実施形態により、アプリケーションと可動物体の間の通信をサポートするために複数のデータ接続を使用する様子の例示的な図である。図2に示すように、可動物体の環境200におけるレンジエクステンダ203などの通信装置を使用して、ユーザ端末202に実装されたアプリケーション221と、可動物体201上の様々な関数モジュール210との間の通信を処理することができる。可動物体201は、無人機、無人車両、ハンドヘルド装置、及びロボットのうち少なくとも1つとすることができる。
本発明の様々な実施形態によれば、ユーザ端末202は、無線接続204を介して、通信装置すなわちレンジエクステンダ203に接続することができる。或いは、通信装置は、ケーブルを介してユーザ端末202と接続することができる。更に、ユーザ端末202は、遠隔制御(RC)接続207を介して、可動物体201と通信することができる。
更に、通信装置203は、複数の接続205〜206を介して可動物体201と通信することができ、これらの接続を使用して様々なタイプのデータパケットを送信する。
図2に示すように、可動物体201は、様々な関数モジュール210に加えて、メディア/ビデオサーバ211及びデータサーバ212を備える。メディア/ビデオ接続205はUCPプロトコルに基づいてもよく、これを使用して、メディア/ビデオサーバ211から通信装置203(たとえばレンジエクステンダ)にメディア/ビデオ情報を伝送することができる。データ接続206はTCPプロトコルに基づいてもよく、これを使用して、データサーバ212と通信装置203の間で、飛行状況の情報やユーザコマンドなどのデータを伝送することができる。
更に、データ接続206は、アプリケーション221から可動物体201に、且つデータサーバ212からアプリケーション221に(すなわち、アップリンクとダウンリンクの両方において)データを伝送することができる。
図3は、本発明の様々な実施形態により、アプリケーションと可動物体の間の通信をサポートするために高速接続を使用する様子の例示的な図である。図3に示すように、可動物体の環境300における高速通信モジュール303などの通信装置を使用して、ユーザ端末302に実装されたアプリケーション321と、可動物体301上の様々な関数モジュール310との間の通信を処理することができる。可動物体301は、無人機、無人車両、ハンドヘルド装置、及びロボットのうち少なくとも1つとすることができる。
本発明の様々な実施形態によれば、高速通信モジュール303は、高速接続305を介して可動物体301と通信するように動作し、この高速接続を使用して、コマンド情報やメディア/ビデオストリームなど、混合タイプのデータパケットを伝送することができる。また、無人機などの可動物体301は、高速接続305を使用して、アップリンクとダウンリンクの両方をサポートすることができる。アップリンクを使用して、制御信号を送信することができ、ダウンリンクを使用して、メディアストリーム又はビデオストリーム、及び様々な飛行状況情報を送信することができる。
本発明の様々な実施形態によれば、ユーザ端末202は、ケーブル304を介して、高速通信モジュール303に接続することができる。或いは、高速通信モジュール303は、無線接続を介してユーザ端末302と接続することができる。更に、ユーザ端末302は、遠隔制御(RC)接続307を介して、可動物体301と通信することができる。
図3に示すように、可動物体301は、高速通信モジュール311を備えることができる。高速通信モジュール303と高速通信モジュール311の間の接続305は、たとえば、直交周波数分割多重化(OFDM)技術に基づく様々なプロトコルなどの高速通信プロトコルに基づくことができる。
可動物体301上の高速通信モジュール311は、可動物体301の様々な関数モジュール310から、リアルタイムで並列に情報を収集することができる。次いで、高速通信モジュール311は、受信データをシリアルフォーマットに変換することができ、接続305を介してこれを伝送することができる。データパケットが高速通信モジュール303に到達すると、この高速通信モジュール303は、このデータをシリアルフォーマットからパラレルフォーマットに変換することができる。
その一方で、高速通信モジュール303がアプリケーション321から様々なコマンドを受信すると、この高速通信モジュール303は、これらのコマンドをシリアルフォーマットで高速通信モジュール311に伝送することができる。データパケットが高速通信モジュール311に到達すると、この高速通信モジュール311は、データをシリアルフォーマットからパラレルフォーマットに変換し、このデータを可動物体301上の様々なモジュール310に並列に分配することができる。
可動物体マネージャ
図4は、本発明の様々な実施形態により、可動物体の環境でのソフトウェアアプリケーション開発を支援する様子の例示的な図である。図4に示すように、可動物体の環境400でのアプリケーション403は、可動物体マネージャ402を使用して、可動物体401にアクセスし、それを制御することができ、このマネージャは、様々な関数モジュールを制御するファームウェア411を使用する。可動物体401は、無人機、無人車両、携帯型コンピューティング装置、ハンドヘルド装置、又はロボットとすることができる。
本発明の様々な実施形態によれば、可動物体マネージャ402は、ソフトウェア開発キット(SDK)の一部とすることができ、これを使用して、可動物体の環境400でのソフトウェアアプリケーションの開発を支援する。
図4に示すように、可動物体マネージャ402は、可動物体401との接続を確立することができ、アプリケーション403と可動物体401の間の通信を管理する。
たとえば、可動物体マネージャ402は、1つ又は複数のデータパケットを可動物体401から受信することができる。次いで、この可動物体マネージャ402は、前記1つ又は複数のデータパケット内の情報を、アプリケーション403に提供することができる。また、可動物体マネージャ402は、1つ又は複数のコマンドをアプリケーションから受信し、この1つ又は複数のコマンドを可動物体401に送信することができる。
本発明の様々な実施形態によれば、可動物体マネージャ402は、インターフェース412を介してアプリケーション403によってアクセスできる。
更に、可動物体マネージャ402は、可動物体の環境400における様々な場所に位置するよう構成してもよい。たとえば、可動物体マネージャ402は、アプリケーション403が実装されているユーザ端末に存在してもよい。或いは、可動物体マネージャ402は、遠隔サーバ、通信装置、又は可動物体401に存在してもよい。
更に、認証サーバ404を使用して、可動物体の環境400でのアプリケーション開発を支援するためのセキュリティモデルを提供することができる。
図5は、本発明の様々な実施形態による、可動物体の環境での可動物体マネージャの例示的な図である。図5に示すように、可動物体マネージャ501を使用して、可動物体510にアクセスし、それを制御することができ、この可動物体510は、様々な関数モジュール511〜513を含むことができる。
たとえば、可動物体マネージャ501は、アプリケーション、たとえばAPP511〜513とともにユーザ端末505に実装することができる。或いは、可動物体マネージャ510を、別個のサーバ又は通信装置に実装することができ、そこから、アプリケーションが可動物体510へのアクセス権を得ることができる。また、可動物体マネージャ502は、可動物体510上に直接実装することができる。
可動物体マネージャ501は、通信マネージャ502、データマネージャ503、及びインターフェース504を含むことができる。通信マネージャ502を使用して、通信プロトコルに関連付けられた1つ又は複数のデータパケットを処理することができる。データマネージャ503を使用して、アプリケーションと可動物体510の間のデータ交換を管理することができる。更に、可動物体マネージャ501は、インターフェース504を設けることができ、このインターフェースは、可動物体の環境500でのアプリケーション511〜513によってアクセスできる。
図6は、本発明の様々な実施形態による、可動物体の環境での通信プロトコルの抽象概念の例示的な図である。図6に示すように、通信プロトコル600は、データリンク層603、ネットワーク層602、及びアプリケーション層601を含むことができる。
データリンク層603は、データフレーミング、データチェック、及びデータ再送信を処理する役割を担うことができる。ネットワーク層602は、データパケットの経路指定及び中継をサポートする役割を担うことができる。アプリケーション層601は、可動物体内の様々な関数モジュールの挙動を制御することなど、様々なアプリケーションロジックを処理する役割を担うことができる。
本発明の様々な実施形態によれば、通信プロトコル600は、カメラ、飛行遠隔制御装置、ジンバル、デジタルメディアプロセッサ、及び回路板を含むことができる飛行画像システムなど、可動物体内の様々なモジュール間の通信をサポートすることができる。
更に、通信プロトコル600は、万能非同期受信送信機(UART)技術、コントローラ・エリア・ネットワーク(CAN)技術、集積回路間(I2C)技術など、様々な物理リンク技術とともに使用することができる。
図7は、本発明の様々な実施形態による、可動物体のアプリケーション環境でのパケットフォーマットの例示的な図である。図7に示すように、パケット700は、ヘッダ701、アプリケーションヘッダ702、データ710、及び末尾703を含むことができる。
ヘッダ701及び末尾703は、ネットワークでユーザデータを送達するのに必要とする制御情報を含むことができる。たとえば、制御情報は、送信元及び宛先のネットワークアドレス、誤り検出符号、順序付け情報を含むことができる。
アプリケーションヘッダ702は、様々な送信側情報及び受信側情報を含むことができる。たとえば、送信側及び受信側は、可動物体内の様々なモジュール間に、またユーザ端末上のアプリケーション間に存在することができる。
図8は、本発明の様々な実施形態により、可動物体アプリケーションをサポートするために可動物体マネージャを使用する様子のフローチャートを示す。図8に示すように、ステップ801において、可動物体マネージャは、可動物体との接続を確立することができる。次いで、ステップ802で、可動物体マネージャは、1つ又は複数のデータパケットを可動物体から受信することができる。更に、ステップ803で、可動物体マネージャは、前記1つ又は複数のデータパケット内の情報を、ユーザ端末上のアプリケーションに提供することができる。
可動物体インターフェース
図9は、本発明の様々な実施形態により、ソフトウェア開発環境において可動物体インターフェースをサポートする様子の例示的な図である。図9に示すように、可動物体インターフェース903を使用して、ソフトウェア開発キット(SDK)環境などソフトウェア開発環境900での可動物体901にアクセスすることができる。
更に、可動物体901は、様々な関数モジュールA〜C(911〜913)を含むことができ、可動物体インターフェース903は、様々なインターフェース構成要素A〜C(931〜933)を含むことができる。可動物体インターフェース903内の前記各インターフェース構成要素A〜C(931〜933)は、可動物体901内のモジュールA〜C(911〜913)を表すことができる。
本発明の様々な実施形態によれば、可動物体インターフェース903は、アプリケーションと可動物体901の間の分散コンピューティングモデルをサポートするための、1つ又は複数のコールバック関数を提供することができる。
アプリケーションがコールバック関数を使用して、可動物体901がコマンドを受信したかどうか確認することができる。また、アプリケーションがコールバック関数を使用して、実行結果を受信することができる。したがって、アプリケーション及び可動物体901は、空間的及び論理的に分離されていても対話することができる。
図9に示すように、インターフェース構成要素A〜C(931〜933)は、リスナA〜C(941〜943)に関連付けられてもよい。リスナA〜C(941〜943)は、インターフェース構成要素A〜C(931〜933)に、対応するコールバック関数を使用して、関連するモジュールから情報を受信するよう通知することができる。
更に、データマネージャ902は、可動物体インターフェース903用のデータ920を準備し、可動物体901の関連する機能を分離及びパッケージ化することができる。また、データマネージャ903を使用して、アプリケーションと可動物体901の間のデータ交換を管理することができる。したがって、アプリケーション開発者は、複雑なデータ交換プロセスに深入りする必要がない。
たとえば、DJI SDKは、インスタンスメッセージを伝達し、無人機から実行結果を受信するための、一連のコールバック関数を提供することができる。DJI SDKは、確実に情報交換が安定になり、また完了するよう、DJIコールバック関数のライフサイクルを構成することができる。たとえば、DJI SDKは、無人機と(たとえば、アンドロイドシステム又はiOSシステムを使用する)スマートフォン上のアプリケーションとの間の接続を確立することができる。スマートフォンのライフサイクルに続いて、無人機から情報を受信する関数などのDJIコールバック関数は、スマートフォンシステム内のパターンを利用し、スマートフォンシステムのライフサイクルでの様々な段階に従って命令文を更新することができる。
図10は、本発明の様々な実施形態による、無人機インターフェースの例示的な図である。図10に示すように、無人機インターフェース1003は、無人機1001を表すことができる。したがって、無人機環境1000でのアプリケーション、たとえばAPP1004〜1006は、無人機1001にアクセスし、それを制御することができる。
たとえば、無人機1001は、カメラ1011、電池1012、ジンバル1013、飛行制御装置1014、レンジエクステンダ1015など、様々なモジュールを備えることができる。
それに対応して、可動物体インターフェース1003は、カメラ構成要素1021、電池構成要素1022、ジンバル構成要素1023、飛行制御装置構成要素1024、及びレンジエクステンダ構成要素1025を含むことができる。
更に、可動物体インターフェース1003は、地上局構成要素1026を含むことができ、この構成要素は、飛行制御装置構成要素1024に関連付けられている。地上局構成要素は、1つ又は複数の飛行制御操作を実行するように動作し、この操作には高レベルの権限が必要となる場合がある。
図11は、本発明の様々な実施形態による、ソフトウェア開発キット(SDK)における無人機用の構成要素の例示的な図である。図11に示すように、SDK1100でのドローンクラス1101は、無人機(すなわちドローン)用の他の構成要素1102〜1107の集合である。ドローンクラス1101は、その他の構成要素1102〜1107へのアクセス権を有し、その他の構成要素1102〜1107と情報を交換することができ、その他の構成要素1102〜1107を制御する。
本発明の様々な実施形態によれば、アプリケーションは、ドローンクラス1101の1つのインスタンスにのみアクセス可能でもよい。或いは、ドローンクラス1101の複数のインスタンスは、アプリケーション内に存在してもよい。
DJI SDKでは、アプリケーションは、ドローンクラス1101のインスタンスに接続して、制御用コマンドを無人機にアップロードすることができる。たとえば、無人機への接続を確立するためのDJI SDKの適切な場所は、MainActivityクラスでのOnCreate()メソッドである。また、DJI SDKは、MainActivityクラスでのOnDestory()メソッドにおいて無人機への接続を切断することができる。無人機に接続した後、開発者は、その他のクラス(たとえば、カメラクラス1102及びジンバルクラス1104)へのアクセス権を手にすることができる。次いで、ドローンクラス1101を使用して、特定の関数、たとえばカメラ関数及びジンバル関数を呼び出して、無人機の挙動を制御することができる。
本発明の様々な実施形態によれば、アプリケーションは、電池クラス1103を使用して、無人機の電源を制御することができる。また、このアプリケーションは、電池クラス1103を使用して、様々な飛行任務のスケジュールを計画及び試験することができる。
電池は無人機内で最も規制の厳しい要素なので、無人機の安全性だけでなく、無人機が確実に指定の任務を完遂できるよう、アプリケーションは電池の状況を厳しく考慮する場合がある。たとえば、電池クラス1103は、電池レベルが低い場合、無人機が任務を終了でき、即座に帰還するよう構成することができる。
DJI SDKを使用すると、アプリケーションは、DJIドローン電池クラス内のget()関数を呼び出すことによって、電池の現在の状況及び情報を得ることができる。また、アプリケーションは、set()関数を使用して、フィードバックの頻度を制御することができる。
本発明の様々な実施形態によれば、アプリケーションは、カメラクラス1102を使用して、無人機などの可動物体内のカメラへの様々な操作を定義することができる。たとえば、DJI SDKでは、DJIカメラクラスは、SDカード内のメディアデータを受信し、写真パラメータを取得して設定し、写真撮影及びビデオ録画するための関数を含む。
アプリケーションは、カメラクラス1102を使用して、写真及び録画の設定を修正することができる。たとえば、開発者は、setCameraPhotoSize()メソッドを使用して、撮影した写真のサイズを調整することができる。また、アプリケーションはメディアクラスを使用して、写真及び録画を維持することができる。
本発明の様々な実施形態によれば、アプリケーションは、ジンバルクラス1104を使用して、無人機の視界を制御することができる。たとえば、DJIジンバルクラスを使用して、実際の視界を構成すること、たとえば無人機自体の第1の視界を設定することができる。また、DJIジンバルクラスを使用して、ジンバルを自動的に安定化させて、一方向に焦点を合わせることができる。また、アプリケーションは、DJIジンバルクラスを使用して、様々な物体を検出するために画角を変更することができる。
本発明の様々な実施形態によれば、アプリケーションは、飛行制御装置クラス1105を使用して、無人機についての様々な飛行制御の情報及び状況を提供することができる。
DJI主制御装置クラスを使用すると、アプリケーションは、たとえばインスタントメッセージを使用して、飛行状況を監視することができる。たとえば、DJI主制御装置クラス内のコールバック関数は、1000ミリ秒(1000ms)毎にインスタントメッセージを返信することができる。
更に、DJI主制御装置クラスにより、アプリケーションのユーザは、無人機インターフェースから受信したインスタントメッセージを調査できるようになる。たとえば、パイロットは、それぞれの飛行についてのデータを解析して、自身の飛行技術を更に改善することができる。
本発明の様々な実施形態によれば、アプリケーションは、地上局クラス1107を使用して、無人機を制御する一連の操作を実行することができる。
たとえば、DJI SDKでは、DJI地上局クラスを使用するため、アプリケーションがSDKレベル2キーを有することを要求される場合がある。DJI地上局クラスは、app(すなわちジョイスティックモード)によるone−key−fly、on−key−go−homeのドローンの手動制御、巡航及び/又は中間地点の設定、並びに他の様々なタスクスケジューリング機能を実現することができる。
本発明の様々な実施形態によれば、アプリケーションは、レンジエクステンダクラス1106などの通信構成要素を使用して、アプリケーションと無人機の間のネットワーク接続を確立することができる。
図12は、本発明の様々な実施形態により、ソフトウェア開発環境において可動物体インターフェースをサポートする様子のフローチャートを示す。図12に示すように、ステップ1201において、システムは1つ又は複数のインターフェース構成要素と可動物体を表す可動物体インターフェースを関連付けることができる。次いで、ステップ1202において、データマネージャは、可動物体からのデータを受信することができ、このデータは、可動物体内の1つ又は複数のモジュールに対応している。更に、ステップ1203において、データマネージャは、可動物体内の前記1つ又は複数のモジュール向けのデータを、可動物体インターフェースに関連付けられた前記1つ又は複数のインターフェース構成要素に提供することができる。
セキュリティモデルをサポートするための認証サーバの使用
図13は、本発明の様々な実施形態により、可動物体の環境においてセキュリティモデルをサポートするために認証サーバを使用する様子の例示的な図である。図13に示すように、アプリケーション開発環境1300において認証サーバ1301を使用して、セキュリティモデルをサポートすることができる。
アプリケーション開発環境は、開発中のアプリケーション1303向けのアプリケーション識別子1307を作成(又は関連付け)することができる。たとえば、アプリケーション識別子1307は、アンドロイドシステムでのパッケージ名、又はiOSシステムでのバンドル名とすることができる。
図13に示すように、開発者は、アプリケーション識別子1307をウェブポータル1309に提出することができ、このウェブポータルは、このような情報を認証サーバ1301に送ることができる。したがって、認証サーバ1301は、開発中のアプリケーション1303に関連付けられたアプリケーション識別子1307に基づいて、開発中のアプリケーション1303にアプリケーションキー1305を割り当てることができる。
次いで、アプリケーション1304は、アプリケーションキー1305を用いて、ユーザ端末1302上に実装することができる。本発明の様々な実施形態によれば、アプリケーションキー1305は、アプリケーション識別子1307と一義的に結びついており、各アプリケーションキーは、1組の権限に関連付けられている。
図13に示すように、アプリケーション開発環境1300での認証サーバ1301は、アプリケーション1304からアクティベーション要求1310を受信することができる。たとえば、アクティベーション要求1310は、アプリケーションキー1305を含んでもよい。
本発明の様々な実施形態によれば、このアクティベーション要求は、可動物体にアクセスするための権限1308を求める要求とすることができる。たとえば、可動物体は、無人機、無人車両、ハンドヘルド装置、又はロボットとすることができる。
図13に示すように、認証サーバ1301は、1つ又は複数のポリシー1306をアクティベーション要求1310に適用して、可動物体にアクセスする権限1308をアプリケーション1304に付与すべきかどうか判定することができる。これらのポリシーは、最大インストレーション数及び/又はアプリケーションの様々な役割など、様々な判定基準を使用して定義することができる。
本発明の様々な実施形態によれば、認証サーバ1301は、アプリケーションキー1305に基づいた決定をおこなうことができ、このアプリケーションキーはアクティベーション要求1310に含まれる。たとえば、それぞれ異なるアクティベーションキーは、異なる組の権限に関連付けられてもよい。
図13に示すように、アプリケーション1304が権限1308を得る資格がある場合、認証サーバ1301は、可動物体にアクセスする権限1308をアプリケーション1304に付与することができる。
図14は、本発明の様々な実施形態により、可動物体の環境において複数のアプリケーションをサポートするために認証サーバを使用する様子の例示的な図である。図14に示すように、可動物体の環境1400内の認証サーバ1420を使用して、1つ又は複数のポリシー1421に基づいて互いに異なるアプリケーションA〜B(1401〜1402)からのアクティベーション要求を処理し、可動物体1410にアクセスし、これを制御することができる。
たとえば、アプリケーションA(1401)には、アプリケーションキーA(1403)が割り当てられており、1組の権限たとえば権限A(1407)に関連付けることができる。一方で、アプリケーションB(1401)には、アプリケーションキーB(1404)が割り当てられており、互いに異なる1組の権限たとえば権限B(1408)に関連付けることができる。
本発明の様々な実施形態によれば、ソフトウェア開発キット(SDK)は、セキュリティ機構を含むことができ、これは、全ての登録開発者に利用可能な低レベル機能、及び認証開発者のみに利用可能な高レベル機能を含む。高レベルの権限を得るためには、アプリケーションは、承認プロセスを経ることが必要になる場合があり、このプロセスには、実名登録及び使用目的の記載が必要となる。
図15は、本発明の様々な実施形態により、可動物体の環境でのセキュリティモデルをサポートする様子の例示的な図である。図15に示すように、アプリケーション開発環境1500、たとえばソフトウェア開発キット(SDK)内の認証サーバ1505は、アプリケーション1504からアクティベーション要求を受信して、可動物体1501にアクセスし、それを制御することができる。
認証サーバは、最大インストレーション数1511を維持することができ、これを動的に事前構成又は構成することができる。次いで、アプリケーション1504がアクティブにされると、認証サーバ1505は、アクティブにされたアプリケーションカウント1512を更新することができる。
本発明の様々な実施形態によれば、アクティブにされたアプリケーションカウント1512が最大インストレーション数1511以上である場合、認証サーバ1505はアクティベーション要求を却下してもよい。
更に、認証サーバ1505は、最大インストレーション数1511を増やして、アップグレード要求を処理し、又は最大インストレーション数をゼロに設定して、不法若しくは不適切なアプリケーションを停止することができる。
図15に示すように、認証サーバ1505により、アプリケーションがインターフェース1510を使用して、可動物体1501にアクセスできるようになる。たとえば、可動物体1501は無人機とすることができ、そのインターフェース1510は、カメラ構成要素、電池構成要素、ジンバル構成要素、通信構成要素、及び飛行制御装置構成要素を備える。
更に、インターフェース1510は地上局構成要素を備えてもよく、これは飛行制御装置構成要素に関連付けられており、前記地上局構成要素は、1つ又は複数の飛行制御操作を実行するように動作し、特定の組の権限を有するアプリケーションによってのみアクセス可能になるように構成される。
アプリケーション開発の初期段階では、SDKは、少数のアプリケーションのみを承認して、アプリケーション開発を安全に保護してもよい。開発者が開発を終了した後、SDKは、承認プロセス中で、要求文書、技術文書、インストール文書、及び関連するソースコードを検査することができる。承認プロセスを終了した後、SDKは、最大インストレーション数1511を増やして、アプリケーションをアップグレードすることができる。
本発明の様々な実施形態によれば、最大インストレーション数1511に基づくアクティベーションプロセスを使用して、悪意あるアプリケーション又は不適切なアプリケーションを防止することができる。
たとえば、このシステムは、最大インストレーション数1511をゼロに設定して、悪意あるアプリケーションをアクティブにするのを防止できる。更に、このシステムは、悪意あるアプリケーションがSDKにアクセスするのを防止することなど、アプリケーションを無効化することができる。
図16は、本発明の様々な実施形態により、可動物体の環境でのセキュリティモデルをサポートする様子のフローチャートを示す。図16に示すように、ステップ1601において、認証サーバが、アプリケーションからアクティベーション要求を受信することができ、このアクティベーション要求は、可動物体にアクセスするための権限を求める要求を含む。更に、ステップ1602において、認証サーバは、1つ又は複数のポリシーをアクティベーション要求に適用することができる。次いで、ステップ1603において、アプリケーションに資格がある場合、認証サーバは、可動物体にアクセスするための権限をアプリケーションに付与することができる。
本発明の数多くの特徴は、ハードウェア、ソフトウェア、ファームウェア、若しくはその組合せにおいて、又はそれらを使用して、又はそれらの助けを借りて実行することができる。したがって、本発明の特徴は、(たとえば、1つ又は複数のプロセッサを備える)処理システムを使用して実施してもよい。例示的なプロセッサには、それだけには限らないが、1つ又は複数の汎用マイクロプロセッサ(たとえば、シングルプロセッサ若しくはマルチプロセッサ)、特定用途向け集積回路、特定用途向け命令セットプロセッサ、グラフィックス処理装置、物理処理装置、デジタル信号処理装置、コプロセッサ、ネットワーク処理装置、オーディオ処理装置、暗号化処理装置などが含まれ得る。
本発明の特徴は、処理システムをプログラムして、本明細書において提示した特徴のいずれかを実行するために使用できる命令を内部に記憶している、(1つ若しくは複数の)記憶媒体、若しくは(1つ若しくは複数の)コンピュータ読取り可能媒体であるコンピュータプログラム製品において、又はそれらを使用して、又はそれらの助けを借りて実行することができる。記憶媒体には、それだけには限定されないが、フロッピーディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、及び光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ装置、磁気カード若しくは光カード、ナノシステム(分子メモリICを含む)、又は命令及び/若しくはデータを記憶するのに適した任意のタイプの媒体若しくは装置が含まれ得る。
機械読取り可能な(1つ又は複数の)媒体のいずれか1つに記憶されると、本発明の特徴は、ソフトウェア及び/又はファームウェアに組み込まれて、処理システムのハードウェアを制御することができ、また本発明の結果を利用して処理システムが他の機構と対話できるようにすることができる。このようなソフトウェア又はファームウェアには、それだけには限定されないが、アプリケーションコード、デバイスドライバ、オペレーティングシステム、及び実行環境/コンテナが含まれ得る。
本発明の特徴はまた、たとえば、特定用途向け集積回路(ASIC)やフィールド・プログラマブル・ゲート・アレイ(FPGA)デバイスなどのハードウェア構成部品を使用して、ハードウェアで実施してもよい。本明細書に記載の関数を実行するためのハードウェア状態機械の実装形態が、当業者に明らかになろう。
更に、好都合には、本発明は、1つ若しくは複数の従来の汎用若しくは専用のデジタルコンピュータ、コンピューティング装置、マシン、又は、1つ若しくは複数のプロセッサ、メモリ、及び/若しくは本発明の教示に従ってプログラムされたコンピュータ読取り可能な記憶媒体を含むマイクロプロセッサを使用して実施してもよい。ソフトウェアの当業者には明らかになるように、適切なソフトウェアコーディングは、熟練したプログラマにより、本開示の教示に基づいて処理することができる。
本発明の様々な実施形態をこれまで説明してきたが、それらは一例として提示されたものであって、限定的なものではないことを理解されたい。本発明の趣旨及び範囲から逸脱することなく、形態及び詳細の様々な変更を実施形態に加えてもよいことが当業者には明らかになろう。
指定された関数の性能及びそれらの関係を示す関数ビルディングブロックの助けを借りて、本発明をこれまで説明してきた。説明の都合上、これら関数ビルディングブロックの境界は、本明細書においてしばしば任意に定義されてきた。指定された関数及びそれらの関係が適切に実行される限り、代替の境界を定義することができる。したがって、任意のこうした代替の境界は、本発明の範囲及び趣旨の内にある。
本発明の前述の説明は、例示及び説明を目的としてなされたものである。これは、網羅的なものではなく、又は開示された厳密な形態に本発明を限定するものではない。本発明の幅及び範囲は、前述の例示的な実施形態のいずれによっても限定すべきではない。多くの修正形態及び変形形態が、当業者には明白になろう。これらの修正形態及び変形形態は、開示された特徴の関連した任意の組合せを含む。本発明及びその実際の適用例の原理を最も良好に説明するために、各実施形態を選択し説明したが、それにより、様々な実施形態について、また企図された特定の使用に適した様々な修正形態とともに、当業者は本発明を理解できるようになる。本発明の範囲は、添付特許請求の範囲及びその均等物によって定義されるものである。

Claims (17)

  1. 可動物体の環境でのアプリケーション開発を支援するための方法であって、
    認証サーバを介してアプリケーションからアクティベーション要求を受信するステップであって、前記アクティベーション要求が、可動物体にアクセスするための権限を求める要求を含むステップと、
    1つ又は複数のポリシーを前記アクティベーション要求に適用するステップと、
    前記アプリケーションに資格がある場合、前記可動物体にアクセスするための権限を前記アプリケーションに付与するステップと、
    前記認証サーバを介して、最大インストレーション数を維持するステップと、含み、
    前記最大インストレーション数が、事前構成又は動的構成されるようになっている、方法。
  2. 前記可動物体が、無人機、無人車両、ハンドヘルド装置、又はロボットである、請求項1に記載の方法。
  3. 前記アプリケーションに関連付けられたアプリケーション識別子に基づいて、アプリケーションキーを前記アプリケーションに割り当てるステップを更に含む、請求項1に記載の方法。
  4. 前記アプリケーションキーが、前記アプリケーション識別子と一義的に結びついており、前記アプリケーションキーが、1組の権限に関連付けられている、請求項3に記載の方法。
  5. 異なるアプリケーション識別子を有する別のアプリケーションに、異なるアプリケーションキーを割り当てるステップを更に含み、前記異なるアプリケーションキーが、異なる組の権限に関連付けられている、請求項4に記載の方法。
  6. 前記アクティベーション要求が、前記アプリケーションキーを含む、請求項3に記載の方法。
  7. アプリケーションがアクティブにされると、アクティブにされたアプリケーションカウントを更新するステップを更に含む、請求項に記載の方法。
  8. 前記アクティブにされたアプリケーションカウントが前記最大インストレーション数以上である場合、前記アクティベーション要求を却下するステップを更に含む、請求項に記載の方法。
  9. 前記最大インストレーション数を増やして、アップグレード要求を処理するステップ、又は、
    前記最大インストレーション数をゼロに設定して、不法若しくは不適切なアプリケーションを停止するステップ、
    を更に含む、請求項に記載の方法。
  10. 可動物体の環境でのアプリケーション開発を支援するための方法であって、
    認証サーバを介してアプリケーションからアクティベーション要求を受信するステップであって、前記アクティベーション要求が、可動物体にアクセスするための権限を求める要求を含むステップと、
    1つ又は複数のポリシーを前記アクティベーション要求に適用するステップと、
    前記アプリケーションに資格がある場合、前記可動物体にアクセスするための権限を前記アプリケーションに付与するステップと、
    前記可動物体にアクセスするためのインターフェースを前記アプリケーションが使用できるようにするステップと、を含み、
    前記可動物体が無人機であり、前記インターフェースが、カメラ構成要素、電池構成要素、ジンバル構成要素、通信構成要素、及び飛行制御装置構成要素を備える、方法。
  11. 前記インターフェースが地上局構成要素を備え、これが前記飛行制御装置構成要素に関連付けられ、前記地上局構成要素が、1つ又は複数の飛行制御操作を実行するように動作する、請求項10に記載の方法。
  12. 前記地上局構成要素が、特定の組の権限を有するアプリケーションによってのみアクセス可能になるように構成される、請求項11に記載の方法。
  13. 可動物体の環境でのアプリケーション開発を支援するためのシステムであって、
    1つ又は複数のマイクロプロセッサと、
    前記1つ又は複数のマイクロプロセッサ上で実行される認証サーバと、を備え、
    請求項1から12の何れか一項に記載の方法を実施するように構成される、システム。
  14. 命令を内部に記憶した持続的なコンピュータ読取り可能媒体であって、プロセッサによって実行されると、
    認証サーバを介してアプリケーションからアクティベーション要求を受信するステップであって、前記アクティベーション要求が、可動物体にアクセスするための権限を求める要求を含むステップと、
    1つ又は複数のポリシーを前記アクティベーション要求に適用するステップと、
    前記アプリケーションに資格がある場合、前記可動物体にアクセスするための権限を前記アプリケーションに付与するステップと、
    前記認証サーバを介して、最大インストレーション数を維持するステップと、
    を含むステップを実行し、
    前記最大インストレーション数が、事前構成又は動的構成されるようになっている、持続的なコンピュータ読取り可能媒体。
  15. 命令を内部に記憶した持続的なコンピュータ読取り可能媒体であって、プロセッサによって実行されると、
    認証サーバを介してアプリケーションからアクティベーション要求を受信するステップであって、前記アクティベーション要求が、可動物体にアクセスするための権限を求める要求を含むステップと、
    1つ又は複数のポリシーを前記アクティベーション要求に適用するステップと、
    前記アプリケーションに資格がある場合、前記可動物体にアクセスするための権限を前記アプリケーションに付与するステップと、
    前記可動物体にアクセスするためのインターフェースを前記アプリケーションが使用できるようにするステップと、
    を含むステップを実行し、
    前記可動物体が無人機であり、前記インターフェースが、カメラ構成要素、電池構成要素、ジンバル構成要素、通信構成要素、及び飛行制御装置構成要素を備える、持続的なコンピュータ読取り可能媒体。
  16. 可動物体の環境でのアプリケーション開発を支援するシステムであって、
    1つ又は複数のマイクロプロセッサと、
    前記1つ又は複数のマイクロプロセッサ上で実行されるウェブポータルと、を備え、
    前記ウェブポータルが、
    アプリケーションからアプリケーション開発情報を受信し、
    前記受信したアプリケーション開発情報を認証サーバに提供する、
    ように動作し、
    前記認証サーバは、
    アプリケーションからアクティベーション要求を受信し、前記アクティベーション要求が可動物体にアクセスするための権限を求める要求を含み、
    1つ又は複数のポリシーを前記アクティベーション要求に適用し、
    前記アプリケーションに資格がある場合、前記可動物体にアクセスするための前記権限を前記アプリケーションに付与し、
    最大インストレーション数を維持する、
    ように動作し、
    前記最大インストレーション数が、事前構成又は動的構成されるようになっている、システム。
  17. 可動物体の環境でのアプリケーション開発を支援するシステムであって、
    1つ又は複数のマイクロプロセッサと、
    前記1つ又は複数のマイクロプロセッサ上で実行されるウェブポータルと、を備え、
    前記ウェブポータルが、
    アプリケーションからアプリケーション開発情報を受信し、
    前記受信したアプリケーション開発情報を認証サーバに提供する、
    ように動作し、
    前記認証サーバは、
    アプリケーションからアクティベーション要求を受信し、前記アクティベーション要求が可動物体にアクセスするための権限を求める要求を含み、
    1つ又は複数のポリシーを前記アクティベーション要求に適用し、
    前記アプリケーションに資格がある場合、前記可動物体にアクセスするための前記権限を前記アプリケーションに付与し、
    前記可動物体にアクセスするためのインターフェースを前記アプリケーションが使用できる、
    ように動作し、
    前記可動物体が無人機であり、前記インターフェースが、カメラ構成要素、電池構成要素、ジンバル構成要素、通信構成要素、及び飛行制御装置構成要素を備える、システム。
JP2017223666A 2017-11-21 2017-11-21 可動物体のアプリケーション開発を支援する方法、システム及びコンピュータ読取り可能媒体 Active JP6644756B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017223666A JP6644756B2 (ja) 2017-11-21 2017-11-21 可動物体のアプリケーション開発を支援する方法、システム及びコンピュータ読取り可能媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017223666A JP6644756B2 (ja) 2017-11-21 2017-11-21 可動物体のアプリケーション開発を支援する方法、システム及びコンピュータ読取り可能媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016534951A Division JP6250166B2 (ja) 2015-04-20 2015-04-20 可動物体のアプリケーション開発を支援する方法、システム及びコンピュータ読取り可能媒体

Publications (2)

Publication Number Publication Date
JP2018049654A JP2018049654A (ja) 2018-03-29
JP6644756B2 true JP6644756B2 (ja) 2020-02-12

Family

ID=61767689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017223666A Active JP6644756B2 (ja) 2017-11-21 2017-11-21 可動物体のアプリケーション開発を支援する方法、システム及びコンピュータ読取り可能媒体

Country Status (1)

Country Link
JP (1) JP6644756B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7039636B2 (ja) * 2020-02-19 2022-03-22 ソフトバンク株式会社 システム、管理装置、監視端末、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8831823B2 (en) * 2009-10-15 2014-09-09 Airbiquity Inc. Centralized management of motor vehicle software applications and services
CN103546358B (zh) * 2012-07-09 2016-05-04 腾讯科技(深圳)有限公司 面向第三方应用的即时通讯方法及系统
AU2013204965B2 (en) * 2012-11-12 2016-07-28 C2 Systems Limited A system, method, computer program and data signal for the registration, monitoring and control of machines and devices
US9313203B2 (en) * 2013-03-15 2016-04-12 Symantec Corporation Systems and methods for identifying a secure application when connecting to a network
US9270674B2 (en) * 2013-03-29 2016-02-23 Citrix Systems, Inc. Validating the identity of a mobile application for mobile application management

Also Published As

Publication number Publication date
JP2018049654A (ja) 2018-03-29

Similar Documents

Publication Publication Date Title
US20220053079A1 (en) System and method for supporting movable object application development
US9009230B1 (en) Machine-to-machine instant messaging
US9755894B2 (en) Virtual serial cable
US20180262597A1 (en) Universal quality of service for internet of things devices
CN108965242B (zh) 基于角色的控制的方法、系统及计算机可读存储介质
US11903062B2 (en) Method for operating application requiring communication with external device, and electronic device therefor
US20210136578A1 (en) Data distribution from a movable object
EP3007385A1 (en) Terminal peripheral control method, m2m gateway, and communications system
JP6644756B2 (ja) 可動物体のアプリケーション開発を支援する方法、システム及びコンピュータ読取り可能媒体
KR20190052749A (ko) 무선 통신 시스템에서 데이터 패킷을 처리하기 위한 장치 및 방법
CN109315005B (zh) 与可移动物体的连接的自动更新
KR20200059768A (ko) 어플리케이션에 따라 무선 네트워크 서비스를 스케줄링하는 전자 장치 및 그 동작 방법
US11006323B2 (en) Electronic device and WLAN relay function control method thereof
US20200351708A1 (en) User plane replicator
KR101921275B1 (ko) 메신저에서의 파일 전송 시 기기 간 통신 기술을 활용하는 방법 및 시스템
WO2023081202A1 (en) Mec dual edge apr registration on behalf of edge platform in dual edge deployments
WO2014155498A1 (ja) 電子機器
WO2017214861A1 (en) Supporting protocol independent movable object application development
WO2021035612A1 (zh) 一种无人机的管理方法、设备、无人机、系统及存储介质
KR102457007B1 (ko) 리치 통신 스위트 서비스를 통한 비디오 공유 제어 방법 및 전자 장치
US8402084B2 (en) Host embedded controller interface bridge
EP3843343B1 (en) Managing an application program priority
KR102659070B1 (ko) 네트워크에 연결하는 방법 및 이를 수행하는 전자 장치
KR20200033404A (ko) 네트워크에 연결하는 방법 및 이를 수행하는 전자 장치
CN112398909A (zh) 数据交换方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190221

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200108

R150 Certificate of patent or registration of utility model

Ref document number: 6644756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250