[1]実施例
図1は実施例に係る安全飛行支援システム1の全体構成の一例を表す。安全飛行支援システム1は、ユーザが操作する飛行体の安全な飛行を支援するシステムである。安全飛行支援システム1は、本実施例では、飛行体であるドローンの安全な飛行を支援する。
安全飛行支援システム1は、ネットワーク2と、サーバ装置10と、ドローン20と、プロポ30と、ユーザ端末40とを備える。ネットワーク2は、移動体通信網及びインターネット等を含む通信システムであり、自システムにアクセスする装置同士のデータのやり取りを中継する。ネットワーク2には、サーバ装置10が有線通信によりアクセスし(無線通信でもよい)、ドローン20、プロポ30及びユーザ端末40が無線通信によりアクセスしている。
ドローン20は、ユーザの操作に応じて飛行する飛行体である。このドローン20を操作するユーザは、本発明の「操作者」の一例である。ドローン20は、撮影、監視、検査及び搬送等の様々な用途で用いられる。ドローン20は、本実施例では、1以上の回転翼を備え、それらの回転翼(ローター)を回転させて飛行する回転翼機型の飛行体である。
プロポ30は、プロポーショナル式の制御(比例制御)を行う装置である。プロポ30は、例えば2本のスティック(縦に動くスティック及び横に動くスティック)を備え、ユーザ(操作者)がそれらのスティックを動かした量に応じた動作を行うようドローン20を制御する。このように、ユーザは、プロポ30を操作することでドローン20を操作する。
サーバ装置10は、ドローン20の安全な飛行を支援するための各種処理を行う。サーバ装置10は本発明の「情報処理装置」の一例である。ドローンの事故の原因の1つとして、ユーザがプロポ30のスティックを動かし過ぎて過度の操作を行うことが挙げられる。例えばドローン20の着陸時に水平方向に移動させる操作が過度に行われることで、ドローン20が傾いたまま地面に接触してローターが破損するという事故が起こることがある。
また、ドローンの事故自体は不可抗力だとしても、落下したドローンによる被害が大きくなる場合がある。例えばドローン20の飛行可能空域(飛行が許可されている空域)が決められている場合に、その飛行可能空域を外れて飛行したときに落下すると、人、私物又は公共物に破損を与えて大きな賠償を求められることになる。そこで、サーバ装置10は、それらの事態を防ぐため、ドローン20を操作する際の操作量を状況に応じて抑制する処理(抑制処理)を行う。
操作量とは、例えばプロポ30に対する操作量ということであれば、上記のスティックを動かす量及び動かす速度のことである。また、ドローン20に対する操作量ということで、例えばドローン20の左右方向への移動量、上昇量、下降量及び転回量等が操作量として用いられてもよい。本実施例では、サーバ装置10は、プロポ30に対する操作量を抑制する場合を説明する。
サーバ装置10は、本実施例では、ドローン20が着陸及び離陸をしようとする状況のときに前述した抑制処理を行う。また、サーバ装置10は、ドローン20が前述した飛行可能空域(飛行が許可されている空域)を外れそうな状況である場合にも抑制処理を行う。ユーザ端末40は、ドローン20を操作するユーザが利用する端末であり、この飛行可能空域を示す情報をサーバ装置10に通知する処理を行う。
図2はサーバ装置10のハードウェア構成の一例を表す。サーバ装置10は、物理的には、プロセッサ11と、メモリ12と、ストレージ13と、通信装置14と、バス15などを含むコンピュータ装置として構成されてもよい。なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。
また、各装置は、1つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。プロセッサ11は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ11は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。
例えば、ベースバンド信号処理部等は、プロセッサ11によって実現されてもよい。また、プロセッサ11は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ13及び通信装置14の少なくとも一方からメモリ12に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。
上述の各種処理は、1つのプロセッサ11によって実行される旨を説明してきたが、2以上のプロセッサ11により同時又は逐次に実行されてもよい。プロセッサ11は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。メモリ12は、コンピュータ読み取り可能な記録媒体である。
メモリ12は、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ12は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ12は、本開示の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ13は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。
ストレージ13は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ12及びストレージ13の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。通信装置14は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)である。
通信装置14は、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置14は、例えば周波数分割複信(FDD:Frequency Division Duplex)及び時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。
例えば、上述の送受信アンテナ、アンプ部、送受信部、伝送路インターフェースなどは、通信装置14によって実現されてもよい。送受信部は、送信部と受信部とで、物理的に、または論理的に分離された実装がなされてもよい。また、プロセッサ11、メモリ12などの各装置は、情報を通信するためのバス15によって接続される。バス15は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
図3はドローン20のハードウェア構成の一例を表す。ドローン20は、物理的には、プロセッサ21と、メモリ22と、ストレージ23と、通信装置24と、飛行装置25と、センサ装置26と、バッテリー27と、カメラ28と、バス29などを含むコンピュータ装置として構成されてもよい。これらのうち図2に同名のハードウェアが表されているものは、性能及び仕様等の違いはあるがそれらと同種のハードウェアである。
通信装置24は、ネットワーク2との通信に加え、プロポ30との通信を行う機能(例えば2.4GHz帯の電波による無線通信機能)を有する。飛行装置25は、モータ及びローター等を備え、自機を飛行させる装置である。飛行装置25は、空中において、あらゆる方向に自機を移動させたり、自機を静止(ホバリング)させたりすることができる。
センサ装置26は、飛行制御に必要な情報を取得するセンサ群を有する装置である。センサ装置26は、例えば、自機の位置(緯度及び経度)を測定する位置センサと、自機が向いている方向(ドローンには自機の正面方向が定められており、その正面方向が向いている方向)を測定する方向センサと、自機の高度を測定する高度センサとを備える。
また、センサ装置26は、自機の速度を測定する速度センサと、3軸の角速度及び3方向の加速度を測定する慣性計測センサ(IMU(Inertial Measurement Unit))とを備える。また、センサ装置26は、飛行装置25のモータの回転数を測定する回転数センサを備える。バッテリー27は、電力を蓄積し、ドローン20の各部に電力を供給する装置である。カメラ28は、イメージセンサ及び光学系の部品等を備え、レンズが向いている方向にある物体を撮影する。
図4はプロポ30のハードウェア構成の一例を表す。プロポ30は、物理的には、プロセッサ31と、メモリ32と、ストレージ33と、通信装置34と、入力装置35と、出力装置36と、バス37などを含むコンピュータ装置として構成されてもよい。これらのうち図2に同名のハードウェアが表されているものは、性能及び仕様等の違いはあるがそれらと同種のハードウェアである。
入力装置35は、外部からの入力を受け付ける入力デバイス(例えばスイッチ、ボタン及びセンサ等)である。特に、入力装置35は、左スティック351及び右スティック352を備え、これらのスティックへの操作をドローン20の前後方向、上下方向、左右方向、回転方向への移動操作として受け付ける。出力装置36は、外部への出力を実施する出力デバイス(例えばモニター361、スピーカー及びLED(Light Emitting Diode)ランプ等)である。なお、入力装置35及び出力装置36は、一体となった構成(例えばモニター361がタッチスクリーン)であってもよい。
図5はユーザ端末40のハードウェア構成の一例を表す。ユーザ端末40は、物理的には、プロセッサ41と、メモリ42と、ストレージ43と、通信装置44と、入力装置45と、出力装置46と、バス47などを含むコンピュータ装置として構成されてもよい。これらのうち図2又は図4に同名のハードウェアが表されているものは、性能及び仕様等の違いはあるがそれらと同種のハードウェアである。なお、入力装置45は、上記の入力デバイス以外にも、例えばキーボード、マウス及びマイクロフォン等であってもよい。
また、上記の各装置は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよい。また、上記の各装置は、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ11は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
安全飛行支援システム1が備える各装置における各機能は、各々のプロセッサ、メモリなどのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサが演算を行い、各々の通信装置による通信を制御したり、メモリ及びストレージにおけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
図6は各装置が実現する機能構成を表す。サーバ装置10は、関連情報蓄積部101と、技量判定部102と、飛行状況取得部103と、操作量抑制部104と、飛行情報取得部105とを備える。ドローン20は、動作制御部201と、センサ測定部202と、飛行状況通知部203とを備える。プロポ30は、操作受付部301と、動作指示部302と、操作履歴通知部303と、抑制反映部304とを備える。ユーザ端末40は、飛行情報通知部401を備える。
プロポ30の操作受付部301は、操作者がドローン20に対して行う操作を受け付ける。ドローン20に対して行う操作とは、例えば、左スティック351及び右スティック352をそれぞれ動かす(傾ける)操作である。各スティックを動かす操作が、上昇、下降、前進、後退、右移動、左移動、右転回及び左転回という基本的な移動の操作に対応付けられている。
また、操作受付部301は、自動離陸、自動帰還及び自動追尾等のドローン20に自動的に所定の飛行を行わせる操作及びカメラ28を用いた撮影の操作も受け付ける。操作受付部301は、受け付けた操作内容を示す操作データを動作指示部302及び操作履歴通知部303に供給する。操作内容とは、操作された操作子の種類(スティック又はボタン等)、操作の量(スティックを動かした量等)、操作の速度(スティックを動かす速度等)及び操作の方向(スティックを動かす方向等)等である。
動作指示部302は、供給された操作データが示す操作内容に応じた動作をドローン20に対して指示する。動作指示部302は、操作内容に応じた動作の指示と、操作者であるユーザを識別するユーザID(Identification)と、自装置にデータを送信する際の宛先(IP(Internet Protocol)アドレス等)を示すプロポ宛先情報とを示す動作指示データを生成する。動作指示部302は、生成した動作指示データをドローン20に送信することで、操作内容に応じた動作を指示する。
このユーザIDは、ユーザによるプロポ30の入力装置35を用いた入力又は外部装置からの入力によって予めプロポ30に記憶されているものとする。ドローン20の動作制御部201は、送信されてきた動作指示データを受信すると、その動作指示データが示す動作を行うよう自機の各部を制御する。動作制御部201は、各部の制御を行うために、センサ測定部202に対してセンサによる測定結果を要求する。
センサ測定部202は、図3に表すセンサ装置26が備える各センサ(位置センサ、方向センサ、高度センサ、速度センサ、慣性計測センサ)を用いて測定を行う。センサ測定部202は、各センサにより自機の位置、方向、高度、速度、角速度、加速度を所定の時間間隔で繰り返し測定し、それらの測定結果を動作制御部201に供給する。動作制御部201は、供給された測定結果に基づいて自機の各部を制御して自機を飛行させる。
プロポ30の操作履歴通知部303は、操作受付部301から供給された操作データが示す操作内容と、その操作が行われた操作時刻(例えば現在時刻)と、その操作を行うユーザのユーザIDとを示す操作履歴データを生成する。操作履歴通知部303は、生成した操作履歴データをサーバ装置10に送信することで、操作履歴(操作内容及び操作時刻)をサーバ装置10に通知する。
サーバ装置10の関連情報蓄積部101は、飛行体の操作者の操作に関する関連情報を取得して蓄積する。関連情報蓄積部101は本発明の「取得部」の一例である。関連情報蓄積部101は、本実施例では、送信されてきた操作履歴データが示す操作履歴(操作者による飛行体の操作履歴。具体的には、操作内容、操作時刻及びユーザID)を関連情報として取得する。
サーバ装置10の技量判定部102は、関連情報蓄積部101により取得された関連情報に基づいてドローン20の操作者の技量を判定する。技量判定部102は本発明の「判定部」の一例である。ここでいう操作者の技量とは、ドローンを操作して飛行させる技量のことであり、技量が高いほどドローンを操作者の意図したとおりに飛行させることができることを意味する。
技量判定部102は、例えば、関連情報蓄積部101に蓄積されている操作履歴からユーザIDが共通する操作履歴を定期的に読み出し、読み出した操作履歴に基づいてそのユーザIDが示すユーザの技量を判定する。技量判定部102は、本実施例では、左スティック351及び右スティック352に対する操作量、操作速度、切り返し操作の回数に基づいて技量を判定する。
操作量とは、各スティックを動かす量であり、例えば各スティックを動かす角度で表される。操作速度とは、各スティックを動かす速さであり、例えば各スティックが動かされた角度を動かされた時間で除算した値で表される。切り返し操作の回数とは、各スティックを動かす方向を反転させる操作の回数である。操作者の技量が高いほど、操作量、操作速度及び切り返し操作の回数は小さくなりやすい。
ただし、飛行時間が長くなれば操作量及び切り返し操作の回数は大きくなるので、単位時間当たりの値を算出してから比較することが望ましい。そこで、技量判定部102は、操作量の平均値(単位時間当たりの操作量)、操作速度の平均値及び切り返し操作の回数の平均値(単位時間当たりの切り返し操作の回数)が大きいほど技量が低いと判定する。
技量判定部102は、これらの情報と技量ポイント(この値が大きいほど技量が高いことを示す)とを対応付けた技量テーブルを用いて判定を行う。
図7は技量テーブルの一例を表す。図7(a)では、「Th11未満」、「Th11以上Th12未満」及び「Th12以上」という操作量の平均値に、「3」、「2」及び「1」という技量ポイントがそれぞれ対応付けられている。
図7(b)では、「Th21未満」、「Th21以上Th22未満」及び「Th22以上」という操作速度の平均値に、「3」、「2」及び「1」という技量ポイントがそれぞれ対応付けられている。図7(c)では、「Th31未満」、「Th31以上Th32未満」及び「Th32以上」という切り返し操作回数の平均値に、「3」、「2」及び「1」という技量ポイントがそれぞれ対応付けられている。
技量判定部102は、ユーザの操作履歴から操作量の平均値、操作速度の平均値及び切り返し操作の回数の平均値を算出し、算出した各値に対応付けられた技量ポイントを合計する。技量判定部102は、合計した技量ポイント(図7の例では3から9までの値となる)が大きいほど技量が高いと判定する。技量判定部102は、算出した技量ポイントをユーザIDに対応付けて記憶しておく。
ドローン20の動作制御部201は、動作指示データが示す動作を開始すると、その動作指示データが示すユーザID及びプロポ宛先情報を飛行状況通知部203に供給する。センサ測定部202は、各センサの測定結果を飛行状況通知部203にも供給する。飛行状況通知部203は、ユーザが操作するドローン20の飛行状況をサーバ装置10に通知する。
飛行状況とは、ドローン20が飛行している位置、高度、方向及び速度等を示す情報である。飛行状況通知部203は、供給された測定結果のうちそれらの飛行状況を表すものを抽出し、それらの情報とユーザID及びプロポ宛先情報とを示すデータを状況データとして生成し、サーバ装置10に送信する。サーバ装置10の飛行状況取得部103は、送信されてきた状況データを受信することで、その状況データが示すドローン20の飛行状況、ユーザID及びプロポ宛先情報を取得する。
飛行状況取得部103は、取得した飛行状況、ユーザID及びプロポ宛先情報を操作量抑制部104に供給する。操作量抑制部104は、特定の飛行におけるドローン20の操作者の操作量を抑制する。操作量抑制部104は本発明の「抑制部」の一例である。操作量抑制部104は、例えば、飛行状況取得部103により取得された飛行状況に基づいてドローン20が特定の飛行をしているか否かを判断する。
操作量抑制部104は、本実施例では、ドローン20が、離陸時の飛行と、着陸時の飛行と、飛行可能空域の境界近くでの飛行(境界から所定の範囲内での飛行)とをしている場合に、特定の飛行をしていると判断する。操作量抑制部104は、例えば、取得された飛行状況により、高度がゼロであり、モータの回転数が閾値未満の値から閾値以上の値に変化することが表された場合、これから離陸時の飛行が行われると判断する。
操作量抑制部104は、離陸時の飛行が行われると判断した場合、ドローン20を水平方向に移動させる操作の操作量を抑制する。水平方向に移動させる操作とは、例えばドローン20を前後又は左右に移動させる操作であり、プロポ30の左スティック351又は右スティック352を前後又は左右に動かすことで行われる(どちらのスティックをどの方向に動かすかは設定により異なる)。
操作量抑制部104は、技量判定部102により判定された技量が低いほど操作量を大きく抑制する。操作量抑制部104は、抑制する操作量の判断を、技量ポイントと抑制する操作量の割合とを対応付けた抑制テーブルを用いて行う。
図8は抑制テーブルの一例を表す。図8の例では、「3」、「4」、・・・「8」、「9」という技量ポイントに、「60」、「50」、・・・、「10」、「0」という抑制する操作量の割合(単位は「%」)がそれぞれ対応付けられている。
操作量抑制部104は、飛行状況取得部103から供給されたユーザID(操作量を抑制する対象であるユーザのユーザID)に対応付けて記憶している技量ポイントを技量判定部102に要求して取得する。操作量抑制部104は、取得した技量ポイントに抑制テーブルにおいて対応付けられている割合を抑制割合(ドローン20に対する操作量を抑制する割合)として決定し、決定した抑制割合だけ操作量を抑制するよう指示する指示データを生成する。
操作量抑制部104は、生成した指示データを、供給されたプロポ宛先情報が示す宛先(すなわちプロポ30)に送信する。プロポ30の抑制反映部304は、受信した指示データにより指示された操作量の抑制を反映する。抑制反映部304は、例えば、動作指示部302に対して、操作受付部301から供給された操作データが示す操作内容のうち水平方向への移動を表す操作内容(該当するスティックを該当する方向に動かした量:例えばスティックを倒す方向及び角度で表される)を指示された割合だけ削減するよう指示する。
動作指示部302は、この指示に従い、スティックの操作量を指示された割合だけ削減した場合(例えばユーザによる操作量が40°で削減する割合が50%であれば操作量を20°とした場合)の操作内容に応じた動作をドローン20に対して指示する。なお、抑制反映部304は、操作受付部301に対して直接操作内容の削減を指示してもよい。
その場合、操作受付部301は、削減後の操作内容を示す操作データを動作指示部302に供給する。また、操作量抑制部104は、操作量を削減する割合を指示するのではなく、操作量を削減する量自体(例えば角度)を指示してもよい。いずれの場合も、抑制された操作量による動作制御が行われることで、離陸時の飛行においては、操作量抑制の指示がされない場合に比べて、ドローン20の水平方向への移動量が少なくなる。
離陸時に不用意に水平方向への移動を行うと、ドローン20を必要以上に傾かせてしまい揚力が足りずに離陸できずに落下するといった事故が起こりやすい。本実施例では、上記のとおり離陸時の水平方向への移動量が少なくなるので、そのような事故が起こりにくいようにすることができる。また、抑制する操作量の割合をユーザの技量が低いほど大きくすることで、技量が低いユーザによる離陸時の前述の事故の発生を抑制することができる。
また、技量が高いユーザについては抑制する操作量の割合を小さくして自分の意図した経度(例えば斜め上に上昇しながら離陸する経路)で飛行させられるようにすることができる。また、操作量抑制部104は、例えば、取得された飛行状況により、飛行速度が速度閾値未満の状態で高度が高度閾値未満になった場合、これから着陸時の飛行が行われると判断する。
操作量抑制部104は、着陸時の飛行が行われると判断した場合も、離陸時の場合と同じく、ドローン20を水平方向に移動させる操作の操作量を抑制し、技量判定部102により判定された技量が低いほど操作量を大きく抑制する。操作量抑制部104は、着陸時の飛行が行われる場合も図8に表す抑制テーブルを用いてもよいし、抑制する操作量の割合を変更した他の抑制テーブルを用いてもよい。
そして、操作量抑制部104が着陸時の飛行が行われる場合と同様に指示データを送信することで、抑制反映部304により操作量の抑制が反映される。こうして操作量の抑制が反映されると、着陸時の飛行においても、操作量抑制の指示がされない場合に比べて、ドローン20の水平方向への移動量が少なくなる。着陸時に不用意に水平方向への移動を行うと、ドローン20を必要以上に傾けてしまいローターやシャーシを地面に衝突させて破損するといった事故が起こりやすい。
本実施例では、上記のとおり着陸時も水平方向への移動量が少なくなるので、そのような事故が起こりにくいようにすることができる。また、その抑制する操作量の割合をユーザの技量が低いほど大きくすることで、技量が低いユーザによる着陸時の前述の事故を抑制しつつ、技量が高いユーザについては抑制する操作量の割合を小さくして自分の意図した経路に沿って(例えば斜めに移動しながら)着陸させられるようにすることができる。
また、操作量抑制部104は、飛行可能空域の境界近くでの飛行を判断するため、操作量を抑制する対象であるユーザが飛行させるドローン20の飛行可能空域に関する情報(以下「飛行情報」という)を飛行情報取得部105に要求する。飛行情報取得部105は、前述した飛行情報(飛行可能空域に関する情報)を取得する。飛行情報取得部105は、ドローンの操作者として登録されているユーザ毎の飛行情報の取得先を記憶している。
本実施例では、ユーザ端末40へのアクセス先(IPアドレス等)が取得先として記憶されている。飛行情報取得部105は、この取得先に対して、飛行情報を要求する要求データを送信する。ユーザ端末40の飛行情報通知部401は、上記要求データにより要求された飛行情報を要求元に対して通知する。飛行情報通知部401は、ユーザが入力した飛行情報又は外部装置から供給された飛行情報を記憶しているものとする。
飛行情報は、例えば、飛行可能空域の境界を示す緯度及び経度の集合の情報である。飛行情報通知部401は、要求データ受信すると、記憶している飛行情報を読み出して要求データの送信元のサーバ装置10に送信する。飛行情報取得部105は、送信されてきた飛行情報を取得し、操作量抑制部104に供給する。操作量抑制部104は、供給された飛行情報が示す飛行可能空域の境界とドローン20との距離が距離閾値未満である場合に、特定の飛行をしていると判断する。
図9は飛行可能空域の一例を表す。図9では、鉛直上方から見ると南北方向に沿った短辺と東西方向に沿った長辺とを有する長方形の形をした飛行可能空域A1と、飛行可能空域A1の境界からの距離が距離閾値以上の空域B1と、飛行可能空域A1の境界からの距離が距離閾値未満の空域B2、B3とが表されている。空域B2は短辺及び長辺の一方からの距離が距離閾値未満の空域であり、空域B3は短辺及び長辺の両方からの距離が距離閾値未満の空域である。
操作量抑制部104は、例えばドローン20が図中の空域B1を飛行している場合、飛行可能空域A1の境界からの距離が距離閾値以上なので特定の飛行をしていないと判断する。また、操作量抑制部104は、ドローン20が空域B2又はB3を飛行している場合、飛行可能空域A1の境界からの距離が距離閾値未満なので特定の飛行をしていると判断する。操作量抑制部104は、飛行可能空域A1から飛び出す方向(以下「飛出し方向」という)にドローン20を移動させる操作の操作量を抑制する。
図10は飛出し方向の例を表す。図10(a)では、ドローン20が空域B3を飛行する際の飛出し方向が表されている。このドローン20から見ると飛行可能空域A1の境界のうち自機からの距離が距離閾値未満となる部分が北側及び西側に存在するので、北向きの成分又は西向きの成分を含む方向(例えば北東向き、北向き、北西向き、西向き、南西向きの方向)が飛出し方向となる。
図10(b)では、ドローン20が空域B2を飛行する際の飛出し方向が表されている。このドローン20から見ると飛行可能空域A1の境界のうち自機からの距離が距離閾値未満となる部分が北側だけに存在するので、北向きの成分を含む方向(例えば北東向き、北向き、北西向きの方向)が飛出し方向となる。操作量抑制部104は、抑制する操作量の判断を、図8に表す抑制テーブルに加え、飛出し方向と操作量を抑制する割合とを対応付けた第2抑制テーブルを用いて行う。
図11は第2抑制テーブルの一例を表す。図11では、「左端」、「左寄り」、「中央」、「右寄り」及び「右端」という飛出し方向に、「0.6」、「0.8」、「1.0」、「0.8」及び「0.6」という補正係数が対応付けられている。図10に表すように飛出し方向には幅がある。例えば図10(a)の例では、東向きから北向き、西向きを挟んで南向きまで(東向き及び南向きは含まない)が飛出し方向となっている。
「中央」等はその幅における範囲を表しており、例えば「左端」は南向きから南西向きまでの範囲、「左寄り」は南西向きから西向きの範囲、「中央」は西向きから北向きまでの範囲、「右寄り」は北向きから北東向きまでの範囲、「右端」は北東向きから東向きまでの範囲を表しているものとする。抑制割合とは、図8に表す抑制テーブルによって決まる操作量を抑制する割合のことである。
例えばユーザの技量ポイントから例えば抑制割合が50%と決まったとする。その場合に、空域B3に位置するドローン20の飛行方向が「左寄り」の範囲に含まれているとすると、操作量抑制部104は、50%に補正係数の0.8を乗じた40%だけ操作量を抑制する。また、ドローン20の飛行方向が「右端」の範囲に含まれている場合は、操作量抑制部104は、50%に補正係数の0.6を乗じた30%だけ操作量を抑制する。
図10(b)の例では、東向きから北向きを挟んで西向きまで(東向き及び西向きは含まない)が飛出し方向となっている。この場合は、例えば、「左端」は西向きから北西向きまでの範囲、「中央」は北西向きから北東向きまでの範囲、「右端」は北東向きから東向きまでの範囲を表しているものとする(「左寄り」、「右寄り」はなし)。操作量抑制部104は、第2抑制テーブルの「左端」、「中央」、「右端」だけを用いて抑制割合を補正して操作量を抑制する。
図10では、各飛出し方向に移動する場合における抑制された操作量による飛行速度の大きさが矢印の長さで表されている。なお、飛行可能空域においては、通常は高度も制限されている。そこで、操作量抑制部104は、飛行可能空域A1の高度の上限からの距離が距離閾値未満である場合も、特定の飛行をしていると判断し、飛出し方向(この場合は鉛直上方の成分を有する方向)にドローン20を移動させる操作の操作量を抑制する。
操作量抑制部104は、離陸時の飛行が行われている場合には、例えば所定の時間が経過したときに操作量の抑制を解除する。具体的には、操作量抑制部104は、その時間が経過すると、操作量の抑制を解除するよう指示する指示データをプロポ30に送信する。プロポ30の抑制反映部304は、この指示データを受信すると、抑制を反映させる動作を終了する。
また、操作量抑制部104は、着陸時の飛行が行われている場合には、着陸が完了したときに操作量の抑制を解除し、飛行可能空域の境界近くでの飛行が行われている場合には、境界から離れたとき(ドローン20と境界との距離が距離閾値以上になったとき)に操作量の抑制を解除する。
安全飛行支援システム1が備える各装置は、上記の構成に基づいて、ドローン20の操作者の技量を判定する判定処理と、ドローン20の操作における操作量を抑制する抑制処理とを行う。
図12は判定処理における各装置の動作手順の一例を表す。この動作手順は、ユーザがドローン20の操作を開始することを契機に開始される。
まず、プロポ30(操作受付部301)は、操作者がドローン20に対して行う操作を受け付ける(ステップS11)。次に、プロポ30(動作指示部302)は、受け付けられた操作の内容に応じた動作指示データを生成し(ステップS12)、生成した操作指示データをドローン20に送信する(ステップS13)。ドローン20(動作制御部201)は、受信した動作指示データが示す動作を行うよう自機の各部の動作を制御する(ステップS14)。
次に、プロポ30(操作履歴通知部303)は、操作内容、操作時刻及びユーザのユーザIDを示す操作履歴データを生成し(ステップS21)、生成した操作履歴データをサーバ装置10に送信する(ステップS22)。なお、プロポ30は、ステップS21及びS22の動作を、ステップS12及びS13と並行して行ってもよい。サーバ装置10(関連情報蓄積部101)は、受信した操作履歴データが示す情報を飛行体の操作者の操作に関する関連情報として取得して蓄積する(ステップS23)。
そして、サーバ装置10(技量判定部102)は、蓄積された関連情報に基づいてドローン20の操作者の技量を判定する(ステップS24)。ここまでが判定処理における動作手順である。判定処理は、上述したように定期的に行われ、各ユーザの技量の判定結果が更新される。なお、判定処理は、ユーザがドローン20を操作する度に行われてもよい。
図13は抑制処理における各装置の動作手順の一例を表す。この動作手順は、ドローン20が飛行を開始することを契機に開始される。まず、ドローン20(飛行状況通知部203)は、自機の飛行状況を示す状況データを生成し(ステップS31)、生成した状況データをサーバ装置10に送信する(ステップS32)。サーバ装置10(飛行状況取得部103)は、送信されてきた状況データが示す飛行状況を取得する(ステップS33)。
次に、サーバ装置10(飛行情報取得部105)は、ドローン20の操作者に対応する取得先(本実施例ではユーザ端末40)に飛行情報(飛行可能空域及び着陸地点に関する情報)を要求する(ステップS41)。ユーザ端末40(飛行情報通知部401)は、要求された飛行情報をサーバ装置10に対して通知する(ステップS42)。サーバ装置10(飛行情報取得部105)は、通知された飛行情報を取得する(ステップS43)。
続いて、サーバ装置10(操作量抑制部104)は、取得された飛行状況及び取得された飛行情報に基づいてドローン20が特定の飛行を行っているか否かを判断する(ステップS51)。次に、サーバ装置10(操作量抑制部104)は、特定の飛行を行っていると判断されると、判定された技量に応じて抑制割合(ドローン20に対する操作量を抑制する割合)を決定する(ステップS52)。
続いて、サーバ装置10(操作量抑制部104)は、決定した抑制割合だけ操作量を抑制するよう指示する指示データを生成し(ステップS53)、生成した指示データをプロポ30に送信する(ステップS54)。その後、プロポ30(操作受付部301)が、操作者がドローン20に対して行う操作を受け付けたとする(ステップS61)。すると、プロポ30(抑制反映部304)は、ステップS54で受信した指示データが示す抑制割合を反映する(ステップS62)。
そして、プロポ30(動作指示部302)は、抑制が反映された操作の内容に応じた動作指示データを生成し(ステップS63)、生成した操作指示データをドローン20に送信する(ステップS64)。ドローン20(動作制御部201)は、受信した動作指示データが示す動作(操作量が抑制された操作による動作)を行うよう自機の各部の動作を制御する(ステップS65)。
ドローン20の操作において操作量が大きすぎると、上述したように事故の原因となる。特に技量が低い操作者が操作する場合は、操作量が大きくなりがちである。本実施例では、上記のとおり過度な操作が事故に繋がりやすい状況において、操作者の技量に応じた大きさで操作量が抑制されるので、操作量の抑制がされない場合に比べて、ドローン20への過度な操作による不利益の発生を少なくすることができる。
事故に繋がりやすい状況とは、例えば離陸時の飛行及び着陸時の飛行である。また、事故に繋がりやすいとは限らないが、本実施例では、飛行可能空域から飛び出した場合のように、万が一事故を起こした場合の影響が大きい状況でも、操作者の技量に応じた大きさで操作量が抑制される。この抑制によっても、操作量の抑制がされない場合に比べて、ドローン20への過度な操作による不利益(万が一の事故の際の賠償等)の発生を少なくすることができる。
[2]変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、実施例及び各変形例は必要に応じてそれぞれ組み合わせてもよい。その際は、各変形例について優先順位を付けて(各変形例を実施すると競合する事象が生じる場合にどちらを優先するかを決める順位付けをして)実施してもよい。
また、具体的な組み合わせ方法として、例えば共通する値(例えばユーザの技量)を求めるために異なるパラメータを用いる変形例を組み合わせて、それらのパラメータを共に用いて共通する値等を求めてもよい。また、個別に求めた値等を何らかの規則に従い合算して1つの値等を求めてもよい。また、それらの際に、用いられるパラメータ毎に異なる重み付けをしてもよい。
[2-1]操作量の抑制方法
実施例では、プロポ30の操作内容を示す値(スティックの操作量を示す角度)を変更することで操作量の抑制が反映されたが、操作量抑制の反映方法はこれに限らない。例えば、操作内容はそのままで、その操作内容に応じて行われる動作の指示内容(例えばローターの回転数)が変更されてもよい。この指示内容の変更は、プロポ30が行ってもよいし、ドローン20が行ってもよい。
また、プロポ30のスティックを動かす際の重さ(抵抗)を可変にしておいて、抑制される操作量が大きいほど抵抗を大きくすることで、操作量が小さくなりやすいようにしてもよい。いずれの方法であっても、操作者の技量が低いほど操作量が大きく抑制されるようになっていればよい。
[2-2]関連情報
技量判定部102は、実施例では操作履歴を関連情報として用いて技量を判定したが、技量判定に用いる関連情報はこれに限らない。技量判定部102は、例えば、ドローン20の飛行履歴を関連情報として用いてもよい。例えば技量が高いユーザは、技量が低いユーザに比べてドローン20を目的地点まで直線的に飛行させる。
そこで、技量判定部102は、飛行経路に含まれる曲線部分(曲率が閾値以上の部分)の割合が多いほど技量が低いと判定してもよい。また、技量判定部102は、ドローン20の飛行情報として、飛行予定の飛行経路を示す情報が取得される場合には、その飛行経路に対する飛行履歴の飛行経路の空間的な差分が大きいほど技量が低いと判定してもよい。なお、飛行時刻も決められている場合であれば、技量判定部102は、時間的な差分が大きいほど技量が低いと判定してもよい。
また、ドローンにはライセンスが発行されるようになってきている。そこで、技量判定部102は、例えば飛行情報としてユーザのライセンスのランクを示す情報が取得される場合に、そのライセンスのランクが高いほど技量が高いと判定してもよい。要するに、ユーザがドローンを操作して飛行させる技量の高さを表す情報であれば、どのような情報が関連情報として用いられてもよい。
[2-3]過去の操作履歴
ドローンを操作して飛行させる技量は操作の経験を積むほど向上するが、操作を経験してから時間が経過すると次第に技量も衰えていく。そこで、技量判定部102は、この衰えも考慮して技量を判定してもよい。
本変形例では、技量判定部102は、関連情報蓄積部101により取得された操作履歴について新しいものほど重みを付けて操作者の技量を判定する。技量判定部102は、操作時期と重み係数とを対応付けた係数テーブルを用いてこの判定を行う。
図14は係数テーブルの一例を表す。図14の例では、「半年以内」、「半年前から1年以内」及び「1年以上前」という操作時期に、「2.0」、「1.5」及び「1.0」という重み係数が対応付けられている。
技量判定部102は、上記のとおり読み出した操作履歴から操作量の平均値、操作速度の平均値及び切り返し操作の回数の平均値を算出する際に、各操作量、操作速度、切り返し操作が行われた時期に係数テーブルで対応付けられた重み係数を乗じて計算を行う。例えば操作速度のように平均値を算出する場合、技量判定部102は、重み係数と同じ割合だけ個数が増えたものとして平均値を算出する。
例えば操作速度E1、E2、E3の重み係数がそれぞれ「2.0」、「1.5」、「1.0」である場合、操作速度E1の重み係数は操作速度E3の2.0倍となり、操作速度E2の重み係数は操作速度E3の1.5倍となる。この場合、技量判定部102は、(E1+E1+E1+E1+E2+E2+E2+E3+E3)÷9を平均値として算出する(E1はE3の2倍の数、E2はE3の1.5倍の数だけ加える)。この算出方法を用いると、重み係数が大きい値により近い値が平均値として算出される。
また、操作量の平均値及び切り返し操作の回数の平均値の算出も、上記の平均値と同様に、各単位期間の操作量及び切り返し操作の回数が重み係数と同じ割合だけ個数が増えたものとして行えばよい。本変形例では、上記のとおり重み付けを行うことで、この重み付けを行わない場合に比べて、過去に身に着けた技術が衰えることを踏まえてより適切な技量を判定することができる。なお、上記の例では重み係数が大きいほど個数を増やしたが、反対に重み係数が小さいほど個数を減らして平均値を算出してもよい。
[2-4]水平維持機能
ドローン20の動作制御部201は、自機の前後方向及び左右方向を水平に保つ水平維持機能として機能する場合がある。その場合、動作制御部201は、離陸直後から水平を維持するための制御を開始して、離陸してからしばらくすると安定して水平状態(自機の前後方向及び左右方向が水平に保たれた状態)を維持するようになる。
本変形例では、動作制御部201は、水平状態を維持するようになると、その旨を飛行状況通知部203に通知する。飛行状況通知部203は、水平状態が維持されるようになった旨を示すデータを状況データとして生成してサーバ装置10に送信する。飛行状況取得部103は、この状況データを受信すると、ドローン20が水平状態を維持するようになったことを示す飛行状況を取得する。
操作量抑制部104は、離陸時の飛行において操作量を抑制する場合に、水平状態の維持を示す飛行状況が取得されたとき、すなわち、動作制御部201によりドローン20の水平が保たれる状態になったときに、操作量の抑制を解除する。水平状態が維持されるようになるまでは、まだ水平維持機能による制御が安定していないので、過度な操作による落下の危険がある。
しかし、水平状態が維持されるようになると、多少操作量が大きくても、スティックから手を離せば水平維持機能により水平状態が保たれるので、落下の危険が少なくなる。本変形例では、このように水平状態が維持されるようになるまでは操作量が抑制されて落下の危険を少なくし、水平状態が維持されるようになってからは操作量の抑制が解除されて操作者が自由にドローン20を飛行させられるようにすることができる。
[2-5]着陸位置の視認性
ドローン20を着陸させる際に、着陸位置が操作者から見えにくい場合がある。例えば着陸位置までが遠い場合、霧が出た場合又は木などの障害物で視界が遮られている場合等においては、着陸位置の視認性が悪化する。そこで、本変形例では、操作量抑制部104が、着陸時の飛行において操作量を抑制する場合に、ドローン20の着陸位置の操作者からの視認性が低いほど操作量を抑制する度合いを大きくする。
操作量抑制部104は、着陸位置の視認性を、例えば飛行情報に基づいて判断する。本変形例では、ユーザは、飛行可能空域における操作者の操作位置と、着陸させる予定の着陸位置とを飛行情報としてユーザ端末40に入力しておく。飛行情報取得部105は、この操作位置及び着陸位置を示す飛行情報を取得する。操作量抑制部104は、取得された飛行情報から操作位置と着陸位置との距離(着陸位置までの距離)を算出する。
操作量抑制部104は、着陸位置までの距離及び抑制割合の補正係数を対応付けた第3抑制テーブルを用いて抑制割合を決定する。
図15は第3抑制テーブルの一例を表す。図15の例では、「Th1以上」、「Th1未満Th2以上」及び「Th2未満」という着陸位置までの距離に、「1.4」、「1.2」及び「1.0」という抑制割合の補正係数が対応付けられている。
操作量抑制部104は、算出した着陸位置までの距離に第3抑制テーブルにおいて対応付けられている補正係数を抑制割合に乗じて、その抑制割合を用いて操作量を抑制する。図15に表す第3抑制テーブルを用いることで、ドローン20の着陸位置の操作者からの視認性が低いほど、抑制割合が大きくなり、操作量を抑制する度合いも大きくなる。本変形例では、この抑制が行われない場合に比べて、視認性が悪い状態でのドローン20の着陸失敗の危険を減らすことができる。
なお、着陸位置の操作者からの視認性の判断方法は他にもある。操作量抑制部104は、例えば飛行可能空域の地域における気象情報を取得し、濃霧注意報が出ている場合に視認性が悪いと判断してもよい。また、操作位置と着陸位置に加えて飛行可能空域に存在する障害物(木及び建物等)を示す飛行情報が取得される場合に、操作量抑制部104は、操作位置と着陸位置の間に障害物が存在する場合に視認性が悪いと判断してもよい。いずれの場合も、視認性が悪い状態でのドローン20の着陸失敗の危険を減らすことができる。
[2-6]着陸時の操作量の抑制
操作量抑制部104は、ドローン20の着陸時の飛行が行われる場合に、実施例ではドローン20を水平方向に移動させる操作の操作量を抑制したが、これに限らない。ドローンの下降速度が速すぎると、自身が発生させる下向きの風に巻き込まれて揚力が急速に失われること(セットリングウィズパワーと呼ばれる現象)がある。
この現象の発生を防ぐため、操作量抑制部104は、ドローン20を鉛直下方に移動させる操作の操作量を抑制してもよい。ただし、この抑制が行われると、着陸に要する時間が長くなる。そのため、例えば風が強く吹いている状況で、風が弱まったときに素早く着陸させたいときには、この抑制が望ましくない場合がある。そこで、操作量抑制部104は、次のように状況に応じた操作量の抑制を行ってもよい。
図16は本変形例で実現される機能構成を表す。図16では、図6に表す各部に加えて風速情報取得部106を備えるサーバ装置10aが表されている。風速情報取得部106は、ドローン20の周囲の風速を示す風速情報を取得する。風速情報取得部106は本発明の「風速取得部」の一例である。風速情報取得部106は、例えば飛行可能空域の地域における気象情報を取得し、気象情報に含まれる風速情報を取得する。
また、ドローン20の操作者が風速計を用いて測定した現地の風速を示す風速情報がサーバ装置10aに送信されてくる場合、風速情報取得部106は、その風速情報を取得してもよい。風速情報取得部106は、取得した風速情報を操作量抑制部104に供給する。操作量抑制部104は、風速閾値未満の風速を示す風速情報が風速情報取得部106により取得された場合は、前述した鉛直下方に移動させる操作の操作量の抑制を解除する。
この場合の風速閾値としては、例えば無理なく着陸させることが可能な程度の風速の値が用いられる。従って、操作量抑制部104は、判定されたユーザの技量が高いほど大きな風速閾値を用いてもよい。操作量抑制部104は、それらの風速閾値未満の風速を示す風速情報が取得された場合、実施例で述べたように操作量の抑制を解除するよう指示する指示データをプロポ30に送信して、操作量の抑制を解除する。本変形例によれば、着陸時の飛行においてドローン20を下降させる操作量が抑制される場合であっても、風が弱くなったタイミングを逃さずに着陸させることができる。
[2-7]風速に応じた抑制
操作量抑制部104は、上述した風速に応じて操作量を抑制する度合いを変化させてもよい。具体的には、操作量抑制部104は、風速情報取得部106により取得された風速情報が示す風速が大きいほど操作量を抑制する度合いを大きくする。操作量抑制部104は、例えば風速と抑制割合の補正係数とを対応付けた第4抑制テーブルを用いて操作量を抑制する度合いを判断する。
図17は第4抑制テーブルの一例を表す。図17の例では、「Th11以上」、「Th11未満Th12以上」及び「Th12未満」という風速に、「1.4」、「1.2」及び「1.0」いう抑制割合の補正係数が対応付けられている。例えばユーザの技量ポイントから例えば抑制割合が50%と決まったとする。操作量抑制部104は、取得された風速情報が示す風速に第4抑制テーブルにおいて対応付けられている補正係数をその50%に乗じる。
操作量抑制部104は、例えば風速がTh11未満Th12以上であれば、50%×1.2=60%だけ補正量を抑制する。また、操作量抑制部104は、風速がTh11以上であれば、50%×1.4=70%だけ補正量を抑制する。風速が大きいほどドローン20の操作は難しくなる。特に、元々事故が起きやすい特定の飛行を行っている状況ではなおさら難しい。
本変形例では、上記のとおり風速が大きいほど操作量が大きく抑制されるので、この抑制が行われない場合に比べて、風が強い状況での墜落の危険を軽減することができる。また、飛出し方向にドローン20を移動させる操作の操作量が抑制される場合でも、墜落の危険が大きい状況(風速が大きい状況)ほど、抑制の度合いが大きくなって飛行可能空域から飛び出しにくくなる。その結果、飛行可能空域外での飛行による不利益(万が一の事故の際の賠償等)の発生を少なくすることができる。
[2-8]ドローンのサイズ
一般的に、ドローンのサイズが大きいほど部品が高価になり、また、重量も重くなって落下したときの衝撃が大きくなるため、ドローン自身及びドローンが衝突した物体に生じる損害額が大きくなる。そこで、操作量抑制部104は、ドローン20のサイズが大きいほど操作量を抑制する度合いを大きくしてもよい。
本変形例では、例えば、ドローン20のサイズを示す情報が飛行情報として取得される。操作量抑制部104は、ドローンのサイズと抑制割合の補正係数とを対応付けた第5抑制テーブルを用いて操作量を抑制する度合いを判断する。
図18は第5抑制テーブルの一例を表す。図18の例では、「大」、「中」及び「小」というドローンのサイズに、「1.4」、「1.2」及び「1.0」いう抑制割合の補正係数が対応付けられている。
例えばユーザの技量ポイントから例えば抑制割合が50%と決まったとする。操作量抑制部104は、取得された飛行情報が示すドローン20のサイズに第5抑制テーブルにおいて対応付けられている補正係数をその50%に乗じる。操作量抑制部104は、例えばドローンのサイズが中であれば、50%×1.2=60%だけ補正量を抑制する。また、操作量抑制部104は、ドローンのサイズが大であれば、50%×1.4=70%だけ補正量を抑制する。
上記のとおりドローンのサイズが大きくなるほど落下時の損害額が大きくなる。本変形例では、ドローンのサイズが大きくなるほど、操作の自由度を減らすかわりに安全な飛行がされるように操作量が大きく抑制される。そのため、この抑制が行われない場合に比べて、ドローンの落下に関するリスク(落下のリスク、破損時の損害額が高額になるリスク)を軽減することができる。
[2-9]ドローンの機能
ドローンには、上述した水平維持機能の他にも、安定した飛行を補助するための補助機能を有するものがある。補助機能とは、例えば、GPS(Global Positioning System)で自機の位置を測定しながら、操作がなくても同じ位置を維持する機能である。また、超音波、レーザー光及び撮影画像等を用いて自機の位置を把握して位置を維持する機能及びセンサにより物体を検知して障害物への衝突を避ける機能も補助機能である。
なお、本変形例で言う補助機能には、ユーザの技量に関係なく同じ飛行がされる機能(例えばボタンを押すと自動的に設定された着陸地点まで飛行して着陸する機能)は含まれないものとする。ドローン20が本変形例で言う補助機能を有する場合、補助機能を有しない場合に比べて、過度な操作が行われた場合でも安定して飛行をさせることができる。
そこで、本変形例では、操作量抑制部104が、ドローン20が補助機能を有する場合に、その補助機能の性能が高いほど技量判定部102により判定された技量の重みを小さくして操作量を抑制する。補助機能の性能の高さは、例えば、ドローンのメーカー、モデル(ハイエンドモデルほど性能が高い)及び年式(新しいほど性能が高い)によって決まっている。
操作量抑制部104は、例えば、ドローンのメーカー名、モデル名及び年式と、補助機能の性能の高さとを対応付けた性能テーブルを記憶しておく。
図19は性能テーブルの一例を表す。図19の例では、補助機能の性能が「高」、「中」、「低」の3段階で表されている。本変形例では、飛行情報としてドローンのメーカー名、モデル名及び年式を示す情報が取得されるものとする。
操作量抑制部104は、取得された飛行情報が示すこれらの情報に性能テーブルにおいて対応付けられている性能を、ドローン20の補助機能の性能の高さとして特定する。操作量抑制部104は、補助機能の性能の高さ毎に技量ポイントと抑制割合(抑制する操作量の割合)とを対応付けた第6抑制テーブルを用いて抑制する操作量を判断する。
図20は第6抑制テーブルの一例を表す。
図20の例では、補助機能の性能が「低」の場合に図8に表す抑制テーブルと同じ技量ポイント及び抑制割合の対応関係が表されている。また、補助機能の性能が「中」の場合は、補助機能の性能が「低」の場合に比べて、技量ポイントが低いほど抑制割合が小さくなっている(技量ポイント「3」なら「60」%だったのが「45」%になり、技量ポイント「4」なら「50」%だったのが「37.5」%になっている。一方、技量ポイント「9」なら「0」%のままで変わっていない)。
また、補助機能の性能が「高」の場合は、補助機能の性能が「中」の場合に比べて、技量ポイントが低いほど抑制割合がさらに小さくなっている(技量ポイント「3」なら「45」%だったのが「30」%になり、技量ポイント「4」なら「37.5」%だったのが「25」%になっている。一方、技量ポイント「9」なら「0」%のままで変わっていない)。操作量抑制部104は、ドローン20が有する補助機能の性能に対応付けられた技量ポイント及び抑制割合の対応関係を用いて抑制する操作量を判断する。
上述したとおり、補助機能の性能が高いほどユーザの技量が補われ、過度な操作が行われた場合でも安定して飛行をさせることができる。本変形例では、図20に表す第6抑制テーブルを用いることで、補助機能の性能が高いほど、技量が低い場合と高い場合の抑制割合の差が小さくなる。そのため、この抑制が行われない場合に比べて、技量が低いユーザであっても補助機能によって技量がカバーされる場合には自由に飛行させる余地を大きくすることができる。
[2-10]操作量の抑制
操作量抑制部104は、実施例では、技量ポイントが「4」のユーザよりも「3」のユーザの方が操作量を大きく抑制したが、例えばこれらのユーザについては抑制する操作量を共通にしてもよい。ただし、その場合でも、操作量抑制部104は、例えば技量ポイントが「5」のユーザよりも「4」又は「3」のユーザの方が操作量を大きく抑制する。
つまり、操作量抑制部104は、基本的な処理として、技量判定部102により判定された技量が低いほど操作量を大きく抑制するが、特に抑制する操作量を変えなくてもよい技量のユーザに対しては、例外処理として、同じ操作量だけ抑制する。この場合、操作量抑制部104は、技量判定部102により判定された技量に応じて操作量を抑制することになる。
なお、例えばユーザの技量を実施例のように7段階(「3」から「9」の技量ポイント)で判定する場合に、抑制する操作量を実施例のように7段階に分けてもよいし、それよりも少ない段階に分けてもよい。要するに、ユーザの技量をN(Nは2以上の自然数)段階で判定する場合、抑制する操作量をM(Mは2以上でN以下の自然数)段階にすればよい。いずれの場合でも、操作量抑制部104は、技量判定部102により判定された技量に応じて操作量(M段階の操作量のうち、その技量に応じて定められた段階の操作量)を抑制することになる。
なお、操作量抑制部104は、着陸位置の視認性を用いる場合も同様に、基本的な処理として、ドローン20の着陸位置の操作者からの視認性が低いほど操作量を抑制する度合いを大きくするが、特に抑制する操作量を変えなくてもよい視認性の場合(例えば図15に表す着陸位置までの距離が「Th1以上」及び「Th1未満Th2以上」の場合)は、例外処理として、同じ操作量だけ抑制してもよい。この場合、操作量抑制部104は、ドローン20の着陸位置の操作者からの視認性に応じて操作量を抑制することになる。
また、操作量抑制部104は、ドローン20の周囲の風速を用いる場合も同様に、基本的な処理として、風速情報取得部106により取得された風速情報が示す風速が大きいほど操作量を抑制する度合いを大きくするが、特に抑制する操作量を変えなくてもよい風速の場合(例えば図17に表す風速が「Th11未満Th12以上」及び「Th12未満」の場合)は、例外処理として、同じ操作量だけ抑制してもよい。
また、風速が大きくなると、風上に向けてドローン20を飛行させるように操作しなければ風に流されてしまう。そして、状況によっては、過度な操作による不利益よりも、風に流されることによる不利益の方が大きくなる場合もある。その場合は、操作量抑制部104は、取得された風速情報が示す風速が大きいほど操作量を抑制する度合いを小さくする処理を第2の例外処理として行ってもよい。
また、操作量抑制部104は、例えば風速が閾値以上である場合に前述した基本的な処理を行い、風速が閾値未満である場合に第2の例外処理を行ってもよい。いずれの場合も、操作量抑制部104は、風速情報取得部106により取得された風速情報が示す風速に応じて操作量を抑制することになる。
また、操作量抑制部104は、ドローンのサイズを用いる場合も同様に、基本的な処理として、ドローンのサイズが大きいほど操作量を抑制する度合いを大きくするが、特に抑制する操作量を変えなくてもよいサイズの場合(例えば図18に表すサイズが「中」及び「小」の場合)は、例外処理として、同じ操作量だけ抑制してもよい。また、ドローンのサイズが小さくなると、慣性が小さくなるため操作に対する反応が早くなる場合がある。
その場合、ドローンのサイズが小さいほど過度な操作による墜落の危険が大きくなりやすい。そこで、操作量抑制部104は、ドローンのサイズが小さいほど操作量を抑制する度合いを大きくする処理を第2の例外処理として行ってもよい。また、操作量抑制部104は、例えばドローンが或るサイズ以上である場合に前述した基本的な処理を行い、そのサイズ未満である場合に第2の例外処理を行ってもよい。いずれの場合も、操作量抑制部104は、ドローン20のサイズに応じて操作量を抑制することになる。
[2-11]飛行体
実施例では、自律飛行を行う飛行体として回転翼機型の飛行体が用いられたが、これに限らない。例えば飛行機型の飛行体であってもよいし、ヘリコプター型の飛行体であってもよい。要するに、ユーザから与えられた指示に従い飛行する飛行体であればよい。
[2-12]各機能を実現する装置
図6等に表す各機能を実現する装置は、上述した装置に限らない。例えば、サーバ装置10及びユーザ端末40が実現する機能を1台の装置で実現してもよい。その場合はその1台の装置が本発明の「情報処理装置」の一例となる。また、プロポ30が実現する機能をパソコン及びスマートフォン等の装置が実現してもよい。要するに、安全飛行支援システム1の全体で図6等に表す各機能が実現されていればよい。
[2-13]テーブルを用いた動作
上記の各例では、図7等に表すテーブルを用いた動作を説明したが、これに限らない。例えば図7等のテーブルとは異なるテーブル(行数が異なるもの及び各行の値が異なるもの等)が用いられてもよい。また、テーブルではなく何らかのアルゴリズムが用いられてもよい。例えば図7の例であれば、操作量の平均値等から技量ポイントを算出する関数が用いられてもよい。このように、何らかの値(操作量の平均値等)に応じて別の値(技量ポイント等)が導き出されるのであれば、どのような方法が用いられてもよい。
[2-14]発明のカテゴリ
本発明は、サーバ装置10及びユーザ端末40のような情報処理装置の他、それらの情報処理装置、ドローン20のような飛行体及びプロポ30のような操作用の装置を備える情報処理システムとしても捉えられる。また、本発明は、それらの装置(ドローン20を含む)が実施する処理を実現するための情報処理方法としても捉えられるし、その装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
[2-15]機能ブロック
なお、上記実施例の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。
すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
[2-16]入出力の方向
情報等(※「情報、信号」の項目参照)は、上位レイヤ(又は下位レイヤ)から下位レイヤ(又は上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
[2-17]入出力された情報等の扱い
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
[2-18]判定方法
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
[2-19]情報の通知、シグナリング
情報の通知は、本開示において説明した態様/実施例に限られず、他の方法を用いて行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号又はこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。
[2-20]処理手順等
本開示において説明した各態様/実施例の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
[2-21]入出力された情報等の扱い
入出力された情報等は特定の場所(例えばメモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
[2-22]ソフトウェア
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
[2-23]情報、信号
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及びシンボルの少なくとも一方は信号(シグナリング)であってもよい。また、信号はメッセージであってもよい。また、コンポーネントキャリア(CC:Component Carrier)は、キャリア周波数、セル、周波数キャリアなどと呼ばれてもよい。
[2-24]システム、ネットワーク
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
[2-25]パラメータ、チャネルの名称
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。例えば、無線リソースはインデックスによって指示されるものであってもよい。
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)及び情報要素は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
[2-26]「判断」、「決定」
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。
また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
[2-27]「に基づいて」の意味
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
[2-28]「異なる」
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
[2-29]「及び」、「又は」
本開示において、「A及びB」でも「A又はB」でも実施可能な構成については、一方の表現で記載された構成を、他方の表現で記載された構成として用いてもよい。例えば「A及びB」と記載されている場合、他の記載との不整合が生じず実施可能であれば、「A又はB」として用いてもよい。
[2-30]態様のバリエーション等
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。