JP2023073018A - 装置及びシステム - Google Patents

装置及びシステム Download PDF

Info

Publication number
JP2023073018A
JP2023073018A JP2021185814A JP2021185814A JP2023073018A JP 2023073018 A JP2023073018 A JP 2023073018A JP 2021185814 A JP2021185814 A JP 2021185814A JP 2021185814 A JP2021185814 A JP 2021185814A JP 2023073018 A JP2023073018 A JP 2023073018A
Authority
JP
Japan
Prior art keywords
drone
information processing
processing device
user
application
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.)
Pending
Application number
JP2021185814A
Other languages
English (en)
Inventor
晃一 畠山
Koichi Hatakeyama
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.)
Sony Group Corp
Original Assignee
Sony Group Corp
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 Sony Group Corp filed Critical Sony Group Corp
Priority to JP2021185814A priority Critical patent/JP2023073018A/ja
Priority to EP22892527.7A priority patent/EP4434881A1/en
Priority to PCT/JP2022/039015 priority patent/WO2023085027A1/ja
Priority to CN202280074282.2A priority patent/CN118215622A/zh
Publication of JP2023073018A publication Critical patent/JP2023073018A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C13/00Control systems or transmitting systems for actuating flying-control surfaces, lift-increasing flaps, air brakes, or spoilers
    • B64C13/02Initiating means
    • B64C13/16Initiating means actuated automatically, e.g. responsive to gust detectors
    • B64C13/20Initiating means actuated automatically, e.g. responsive to gust detectors using radiated signals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【課題】移動体の高性能化をより容易に実現することができる仕組みを提供する。【解決手段】装置は、移動体に搭載され、移動体を制御するための装置である。装置は、保持部と、制御部と、を備える。保持部は、移動体を制御する情報処理装置を保持する。制御部は、情報処理装置から移動体を制御する制御情報を取得し、制御情報に基づいて移動体を制御する。【選択図】図1

Description

本開示は、装置及びシステムに関する。
移動体を遠隔操作する技術が知られている。例えば、ユーザが、スマートフォンを用いてドローンを遠隔操作することを可能にする技術が知られている。
特開2017-208678号公報
例えば、ドローンを遠隔操作する場合、ドローンを直接確認できない状態で飛行させる目視外飛行、及び、ドローンを直接確認できる状態で飛行させる目視内飛行のいずれかの状態において遠隔操作が行われる。
ドローンを目視外飛行させる場合、より高度な自律飛行が求められる。具体的には、ドローンには、例えば予め設定された飛行ルートから外れることなく、かつ、より速く障害物を回避する機能などが求められる。
このように、例えばドローンのように遠隔操作によって動作する移動体に対して、より高度な自律移動機能が要求される。しかしながら、移動体をより高性能化するためには開発コストがかかる。また、既存の移動体を高性能化することが難しいという問題がある。
そこで、本開示では、移動体の高性能化をより容易に実現することができる仕組みを提供する。
なお、上記課題又は目的は、本明細書に開示される複数の実施形態が解決し得、又は達成し得る複数の課題又は目的の1つに過ぎない。
本開示の装置は、移動体に搭載され、前記移動体を制御するための装置である。装置は、保持部と、制御部と、を備える。保持部は、前記移動体を制御する情報処理装置を保持する。制御部は、前記情報処理装置から前記移動体を制御する制御情報を取得し、前記制御情報に基づいて前記移動体を制御する。
本開示の実施形態に係る移動体システムの構成例を示す図である。 本開示の実施形態に係る制御装置の一例を示す図である。 本開示の実施形態に係るドローン側情報処理装置のハードウェア構成の一例を示すブロック図である。 本開示の実施形態に係るドローン側情報処理装置のソフトウェア構成の一例を示す図である。 本開示の実施形態に係る外部装置の機能構成例を示すブロック図である。 本開示の実施形態に係る外部装置によるドローンの制御の一例を説明するための図である。 本開示の実施形態に係る外部装置によるドローンの制御の他の例を説明するための図である。 本開示の実施形態に係るユーザ側情報処理装置のソフトウェア構成の一例を示す図である。 本開示の実施形態に係るユーザ側情報処理装置のモニタに表示される表示画像の一例を示す図である。 本開示の実施形態に係るサーバ装置の機能の一例を説明するための機能ブロック図である。 本開示の実施形態に係るサーバ装置のハードウェア構成の一例を示すブロック図である。 本開示の実施形態に係る移動体システムで実行される通信処理の流れの一例を示すシーケンス図である。 本開示の実施形態の第2変形例に係る表示画像の一例を説明するための図である。 本開示の実施形態の第3変形例に係るルート候補の一例を説明するための図である。
以下に添付図面を参照しながら、本開示の実施形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字又はアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号を付する。
また、本明細書及び図面において、具体的な値を示して説明する場合があるが、値は一例であり、別の値が適用されてもよい。
以下に説明される1又は複数の実施形態(実施例、変形例を含む)は、各々が独立に実施されることが可能である。一方で、以下に説明される複数の実施形態は少なくとも一部が他の実施形態の少なくとも一部と適宜組み合わせて実施されてもよい。これら複数の実施形態は、互いに異なる新規な特徴を含み得る。したがって、これら複数の実施形態は、互いに異なる目的又は課題を解決することに寄与し得、互いに異なる効果を奏し得る。
<<1.はじめに>>
<1.1.移動体システムの概要>
まず、本開示の実施形態に係る移動体システム1の概要について説明する。図1は、本開示の実施形態に係る移動体システム1の構成例を示す図である。
移動体システム1は、移動体装置10と、サーバ装置40と、ユーザ側情報処理装置50と、を備える。
移動体装置10は、例えばドローンやロボットなどの移動体を含む。以下では、移動体がドローンである場合を例に説明するが、移動体はドローンに限定されない。移動体装置10は、ドローン100と、制御装置20と、を含む。
制御装置20は、ドローン100に搭載され、サーバ装置40又はユーザ側情報処理装置50からの操作に応じてドローン100を制御する。制御装置20は、基地局60を介してネットワークNに接続する。制御装置20については後述する。
サーバ装置40は、制御装置20を介してドローン100の管理及び/又は操作を行う装置である。サーバ装置40は、ネットワークNを介してユーザ側情報処理装置50及び制御装置20と接続する。サーバ装置40は、ユーザ側情報処理装置50からの指示に従ってドローン100の操作を行う。また、サーバ装置40は、ドローン100から取得した各種情報をユーザ側情報処理装置50に送信する。
ユーザ側情報処理装置50は、例えばスマートフォンなどの端末装置である。ユーザ側情報処理装置50は、例えば、ユーザからの操作を受け付け、当該操作に基づき、サーバ装置40を介してドローン100の制御を行う。ユーザ側情報処理装置50は、ネットワークNを介してサーバ装置40に接続する。
基地局60は、制御装置20と、例えば無線通信を行う通信装置である。基地局60は、例えば、5G(第5世代移動通信システム)、LTE(Long Term Evolution)等のセルラー通信技術により制御装置20と通信を行う。基地局60は、例えば、Wi-Fi(登録商標)等の無線通信方式により制御装置20と通信を行うアクセスポイントであり得る。基地局60は、例えば、Bluetooth(登録商標)等の無線通信方式により制御装置20と通信を行う通信装置であり得る。
図2は、本開示の実施形態に係る制御装置20の一例を示す図である。図2に示すように、制御装置20は、ドローン側情報処理装置200と、外部装置300と、を有する。
ドローン側情報処理装置200は、例えばスマートフォンなどの端末装置である。ドローン側情報処理装置200は、例えば、高性能な処理機能や通信機能を有する。ドローン側情報処理装置200は、例えば、カメラなど種々のセンサを搭載する。ドローン側情報処理装置200は、例えばセキュリティの高い通信(例えば、SSL(Secure Sockets Layer)通信)を行い得る。
ドローン側情報処理装置200は、例えば外部装置300に搭載される。
ドローン側情報処理装置200は、基地局60を介してネットワークNに接続する。ドローン側情報処理装置200は、サーバ装置40からのドローン100に対する操作に応じて、外部装置300を介してドローン100を制御する。
外部装置300は、ドローン側情報処理装置200からの指示に従って、ドローン100を制御する。外部装置300は、例えば、後述するESC(Electric Speed Controller)を制御するESC制御信号を生成する。外部装置300は、例えば、ドローン100を制御するための種々の制御信号を生成し得る。
外部装置300は、例えば保持部310を備える。保持部310は、ドローン側情報処理装置200を保持する。保持部310は、例えば、ドローン側情報処理装置200を着脱可能に保持し得る。なお、図2に示す保持部310は一例である。例えば、ドローン側情報処理装置200が保持部310にはめ込まれることで、保持部310がドローン側情報処理装置200を保持してもよい。
外部装置300は、ドローン側情報処理装置200を保持した状態で、例えばドローン100の搭載部110に搭載される。あるいは、ドローン100の搭載部110に外部装置300が固定された状態で、ドローン側情報処理装置200が外部装置300に搭載されるようにしてもよい。なお、図2に示すドローン100の搭載部110は一例である。例えば、搭載部110がドローン100の上部又は下部に設けられてもよい。
外部装置300は、ドローン側情報処理装置200からの制御に応じて、ドローン100を制御する。
図1に戻り、本開示の実施形態に係るドローン100の遠隔操作処理の概要について説明する。
図1に示すように、ユーザ側情報処理装置50は、ユーザによるドローン100の操作を受け付け、当該操作に関する操作情報をサーバ装置40に送信する(ステップS1)。
サーバ装置40は、ユーザ側情報処理装置50から受信した操作情報を制御装置20のドローン側情報処理装置200(図2参照)に送信する(ステップS2)。ドローン側情報処理装置200は、操作情報に基づき、外部装置300を介してドローン100の制御を行う。
図1に示す制御装置20は、ドローン100の位置などドローン100の状態に関する状態情報やドローン100が撮影した映像情報をサーバ装置40に送信する(ステップS3)。
サーバ装置40は、制御装置20から受信した状態情報や映像情報をユーザ側情報処理装置50に送信する(ステップS4)。
このように、本開示の実施形態に係る移動体システム1では、ドローン100に外部装置300を介してスマートフォンのようなドローン側情報処理装置200を搭載する。これにより、移動体システム1は、スマートフォンのように高性能な情報処理機能を有するドローン側情報処理装置200を使用してドローン100を制御することができ、より簡単にドローン100を含む移動体装置10を高性能化することができる。
また、移動体装置10は、例えばドローン側情報処理装置200の通信機能を用いてネットワークNに接続することができる。これにより、移動体装置10は、ネットワークNを介してサーバ装置40に接続することができる。移動体システム1は、より容易にドローン100を遠隔操作することができる。
また、ユーザ側情報処理装置50がネットワークNを介してドローン100を制御することができるため、ユーザは、ドローン100を目視外において制御することができる。
このように、ドローン100の目視外飛行が行われる場合、ドローン100の自律飛行性がより要求されるようになる。例えば、目視外飛行の場合、ユーザが映像では確認できない障害物をドローン100が自律的に回避する機能が要求される。さらに、ドローン100には、予め設定された飛行ルートから外れることなく、しかも瞬時に障害物を回避する機能などが要求される。
このとき、ドローン100自体を高性能化すると、ドローン100自体が高価になってしまう。また、既存のドローンは高性能化することが難しい。
一方、本開示の実施形態に係る移動体システム1では、ドローン100の制御を、ドローン100に搭載されるドローン側情報処理装置200が行う。ドローン側情報処理装置200は、上述したようにスマートフォンのような情報処理端末である。スマートフォンは、例えば、カメラやIMU(Inertial Measurement Unit)などのセンサを搭載し、種々のアプリケーションを実行する高性能な装置である。
このように、高性能な情報処理装置を移動体装置10のモジュールとしてドローン100に搭載することで、本開示の実施形態に係る移動体システム1は、ドローン100自体を高性能化せずに、ドローン100の自律飛行性を実現することができる。すなわち、本開示の実施形態に係る移動体システム1は、より容易にドローン100を含む移動体装置10の高性能化を実現することができる。
本開示の実施形態に係る移動体システム1は、ドローン側情報処理装置200の多機能性を活かし、サーバ装置40とドローン側情報処理装置200とを組み合わせることで、ドローン100の飛行に要求される機能を実現する。
例えば、ドローン100による飛行の安全性を確保するためには、移動体システム1に含まれる各装置(例えばドローン100やユーザ側、ドローン側情報処理装置50、200)が、予め安全性が検証された装置であることが要求される。
さらに、ドローン100が飛行するためには、ネットワークオペレータや国、地方自治体などから飛行場所や飛行時間など飛行に関する許可を得ることが要求される。
これらの要求を満たすために、ネットワークオペレータや国、地方自治体などの会社・機関から認可されたユーザ側、ドローン側情報処理装置50、200が移動体システム1に含まれるようにする仕組みが要求される。
そこで、本開示の実施形態に係る移動体システム1は、特定のドローン側情報処理装置200が外部装置300を介してドローン100を制御することができる仕組みを提供する。また、本開示の実施形態に係る移動体システム1は、特定のドローン側情報処理装置200が、サーバ装置40に接続することができる仕組みを提供する。また、本開示の実施形態に係る移動体システム1は、特定のユーザ側情報処理装置50が、サーバ装置40に接続することができる仕組みを提供する。
このような仕組みを実現することで、本開示の実施形態に係る移動体システム1は、許可を得た範囲でドローン100を飛行させることができる。また、本開示の実施形態に係る移動体システム1は、許可を得ていないユーザによるドローン100の飛行を制限することができる。これにより、本開示の実施形態に係る移動体システム1は、より安全にドローン100を飛行させることができる。
<<2.移動体システムの構成例>>
<2.1.ドローン側情報処理装置の構成例>
本開示の実施形態に係るドローン側情報処理装置200は、移動体システム1のドローン100に外部装置300を介して搭載され、ドローン100の制御を行う情報処理装置である。ドローン側情報処理装置200は、例えばスマートフォンなど携帯型の情報処理装置である。上述したように、本開示の実施形態に係るドローン側情報処理装置200は、ドローン100の例えばモータ等を直接制御するのではなく、外部装置300を介して間接的にドローン100の制御を行う。
(ドローン側情報処理装置200のハードウェア構成例)
図3は、本開示の実施形態に係るドローン側情報処理装置200のハードウェア構成の一例を示すブロック図である。
図3において、ドローン側情報処理装置200は、CPU(Central Processing Unit)2000と、ROM(Read Only Memory)2001と、RAM(Random Access Memory)2002と、ストレージ装置2003と、入力デバイス2004と、表示制御部2005と、通信I/F2006と、を備える。CPU2000、ROM2001、RAM2002、ストレージ装置2003、入力デバイス2004、表示制御部2005、及び、通信I/F2006は、バス2010により互いに通信可能に接続される。また、図3の例では、ドローン側情報処理装置200は、表示制御部2005に接続される表示デバイス2020をさらに備える。
ストレージ装置2003は、ハードディスクドライブやフラッシュメモリといった、不揮発性の記憶媒体である。ストレージ装置2003は、CPU2000が動作するための各種のプログラムやデータが記憶される。
CPU2000は、ROM2001およびストレージ装置2003に予め記憶されたプログラムに従い動作し、ドローン側情報処理装置200の全体の動作を制御する。通信I/F2006は、CPU2000の制御に従い、基地局60との通信を実行する。
入力デバイス2004は、ユーザ操作に応じた制御信号を生成する。生成された制御信号は、バス2010を介してCPU2000に渡される。表示制御部2005は、CPU2000によりプログラムに従い生成された表示制御信号に基づき、表示デバイス2020が表示可能な表示信号を生成し、この表示信号を表示デバイス2020に出力する。表示デバイス2020は、例えばLCD(Liquid Crystal Display)や有機EL(electro-luminescence)を利用した表示デバイスを適用できる。
ここで、入力デバイス2004を、例えば、接触した位置に応じた制御信号を生成し、且つ、光を透過可能とし、入力デバイス2004と表示デバイス2020とを一体的に形成してタッチパネルを構成してもよい。
後述するドローン側制御アプリ(アプリケーションプログラム)及びドローン側サービスアプリは、CPU2000上で、例えばこのドローン側情報処理装置200の基本プログラム(例えばOS(オペレーションシステム))が動作することで実現される。この例に限定されず、ドローン側制御アプリ及びドローン側サービスアプリの一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
実際のハードウェアとしては、CPU2000が例えばストレージ装置2003などの記憶媒体から当該アプリを読み出して実行することにより、各アプリがRAM2002などの主記憶装置上にロードされ、当該各アプリが主記憶装置上に生成される。
(ドローン側情報処理装置200のソフトウェア構成例)
図4は、本開示の実施形態に係るドローン側情報処理装置200のソフトウェア構成の一例を示す図である。図4では、一例としてAndroid(登録商標)OSのソフトウェア構成を示しているが、これに限定されない。ドローン側情報処理装置200がAndroidOS以外のOSによって動作するようにしてもよい。
図4に示すように、ドローン側情報処理装置200のソフトウェア構成は、アプリケーション層と、アプリケーション・フレームワーク層と、標準ライブラリ層と、カーネル層と、を含む。
アプリケーション・フレームワーク層、標準ライブラリ層及びカーネル層は、エンドユーザによる書き換えが行えないレイヤである。一方、アプリケーション層は、DL(ダウンロード)によるアプリの追加や削除など、エンドユーザによる書き換えが行えるレイヤである。
図4に示すように、アプリケーション・フレームワーク層には、ドローン側サービスアプリ(第1のアプリケーションの一例)が含まれる。ドローン側サービスアプリは、例えば、ドローン側情報処理装置200の出荷時に予めインストールされているアプリケーションプログラムである。ドローン側サービスアプリは、例えばドローン100を操作するユーザ(エンドユーザの一例)による書き換えができないアプリケーションプログラムである。
アプリケーション層には、ドローン側制御アプリ(第2のアプリケーションの一例)が含まれる。ドローン側制御アプリは、例えばドローン100を操作するユーザによって、外部サーバ(図示せず)などからDLされて追加されるアプリケーションプログラムである。ドローン側サービスアプリは、ドローン100を操作するユーザによって削除などの書き換えが行えるアプリケーションプログラムである。
本開示の実施形態に係るドローン側制御アプリは、直接外部装置300及びサーバ装置40と通信を行わない。ドローン側制御アプリは、ドローン側サービスアプリを介して外部装置300及びサーバ装置40それぞれと通信を行う。
このように、ドローン側制御アプリは、予めドローン側サービスアプリを介して外部装置300及びサーバ装置40それぞれと通信を行う。これにより、本開示の実施形態に係る移動体システム1では、外部装置300及びサーバ装置40に接続する情報処理装置を、ドローン側サービスアプリが予めインストールされた特定のドローン側情報処理装置200に制限することができる。
(ドローン側サービスアプリ)
図4に示すドローン側サービスアプリは、ドローン側制御アプリと外部装置300との間のやり取り、及び、ドローン側制御アプリとサーバ装置40との間のやり取りを中継する。ドローン側サービスアプリは、ネットワークモジュール(図4のNetwork)と、コマンド処理モジュール(図4のCommand Processor)と、USB(Universal Serial Bus)ホストモジュール(図4のUSB Host)と、を含む。
ネットワークモジュールは、基地局60を介してサーバ装置40と通信を行う通信モジュールである。ネットワークモジュールは、サーバ装置40との間で、SSL等の所定の暗号化方式を使用した通信を行う。
コマンド処理モジュールは、ドローン側制御アプリによるドローン100に対する制御指示を、外部装置300に送信するための制御コマンドに変換するモジュールである。コマンド処理モジュールは、ドローン側制御アプリによる制御指示情報を、外部装置300が処理し得る制御コマンド情報に変換する。
USBホストモジュールは、外部装置300と通信を行う通信モジュールである。なお、本実施形態では、ドローン側情報処理装置200と外部装置300とがUSBによる通信を行うものとするが、これに限定されない。ドローン側情報処理装置200と外部装置300とが、例えばBluetooth、NFC(Near Field Communication)などによって接続されてもよい。
なお、ドローン側サービスアプリに含まれるモジュールは一例であり、これに限定されない。ドローン側サービスアプリが、図4に示すモジュール以外のモジュールを含んでいてもよい。
(ドローン側制御アプリ)
ドローン側制御アプリは、例えばサーバ装置40からの指示に基づいてドローン100の制御を行う。ドローン側制御アプリは、ドローン側サービスアプリを介してサーバ装置40からの指示情報を受信する。ドローン側制御アプリは、ドローン側サービスアプリを介して外部装置300にドローン100を制御する制御情報を送信する。
図4に示すドローン側制御アプリは、例えば、AHRS(Attitude Heading Reference System)モジュール(図4のAHRS)と、カメラモジュール(図4のCamera)と、センサモジュール(図4のSensor)と、モニタモジュール(図4のMonitor)と、を含む。ドローン側制御アプリは、例えば、バッテリモジュール(図4のBattery)と、Locationモジュール(図4のLocation)と、AI(Artificial Intelligence)モジュール(図4のAI)と、を含む。ドローン側制御アプリは、例えば、Bluetoothモジュール(図4のBT)と、映像ストリーミングモジュール(図4のVideo Streaming)と、を含む。
AHRSモジュールは、例えば、ドローン側情報処理装置200に搭載されるAHRS(姿勢方位基準装置)の計測結果に基づき、ドローン100の位置姿勢を検出する姿勢計測モジュールである。あるいは、AHRSモジュールは、例えば、ドローン100に搭載されるAHRSの計測結果に基づき、ドローン100の位置姿勢を検出してもよい。
カメラモジュールは、例えば、ドローン側情報処理装置200に搭載されるカメラを制御し、ドローン100周囲の映像を撮影する撮影モジュールである。あるいは、カメラモジュールは、例えば、ドローン100に搭載されるカメラを制御し、ドローン100周囲の映像を撮影してもよい。
センサモジュールは、例えば、ドローン側情報処理装置200に搭載されるセンサを制御し、ドローン100周囲の状態をセンシングするモジュールである。あるいは、カメラモジュールは、例えば、ド搭載されるセンサを制御し、ドローン100周囲の状態をセンシングするようにしてもよい。センサモジュールは、例えば測距センサや環境光センサ、マイクロフォンなどの各種センサを制御し得る。
モニタモジュールは、例えば、ドローン側情報処理装置200に搭載されるモニタを制御し、モニタに各種情報を表示させるモジュールである。モニタモジュールは、例えばカメラモジュールによって撮影された映像をモニタに表示し得る。モニタモジュールは、例えばドローン100の飛行ルートをモニタに表示し得る。モニタモジュールは、例えばドローン100の飛行許可を示す情報をモニタに表示し得る。このように、モニタモジュールは、モニタに各種情報を表示させ得る。
バッテリモジュールは、例えば、ドローン100のバッテリを管理する管理モジュールである。バッテリモジュールは、例えば外部装置300を介してドローン100のバッテリの状態(例えば、バッテリ残量)を取得する。バッテリモジュールは、例えば、取得したバッテリの状態を、サーバ装置40に送信する。
Locationモジュールは、例えば、ドローン側情報処理装置200に搭載されるGPS(Global Positioning System)等のような測位システムによる測位結果に基づき、ドローン100の位置情報を管理するモジュールである。あるいは、Locationモジュールは、例えば、ドローン100に搭載される測位システムの測位結果に基づいてドローン100の位置を検出するようにしてもよい。Locationモジュールは、例えば、取得した位置情報を、サーバ装置40に送信する。
AIモジュールは、各モジュールが検出した情報(例えばドローン100の姿勢情報や位置情報)、サーバ装置40からの指示に基づき、ドローン100の制御情報を生成するモジュールである。
AIモジュールは、例えば、各モジュールによる検出結果やサーバ装置40からの指示情報を学習データとして事前に学習した学習済みモデル(AI)を用いて、ドローン100の位置及び姿勢を自律的に制御する。
AIモジュールは、例えば、現在のドローン100の位置及び姿勢に関する情報や、サーバ装置40からの指示情報を学習済みモデルに入力し、ドローン100を制御するための制御情報を出力として得る。AIモジュールは、得られた制御情報を、外部装置300を介してドローン100に送信することで、ドローン100を制御する。
なお、ここでは、ドローン側情報処理装置200が、AIを用いてドローン100を制御するとしたが、これに限定されない。ドローン側情報処理装置200は、現在のドローン100の位置及び姿勢に関する情報やサーバ装置40からの指示情報に基づいてドローン100を制御すればよい。ドローン側情報処理装置200は、任意の制御方法を用いてドローン100を制御し得る。この場合、ドローン側制御アプリは、AIモジュールに代えて、例えばドローン制御モジュールを含み得る。
Bluetoothモジュールは、外部の装置(例えば、基地局60)とBluetoothによる通信を行う通信モジュールである。また、Bluetoothモジュールは、外部の装置(例えば、基地局60)に対して、例えば、ドローン100を識別するための識別情報を特定するための信号(以下、識別信号とも記載する)を送信する機能を有する。当該識別情報は、例えば、ドローン100の機体IDである。Bluetoothモジュールは、例えば、当該識別信号として、ビーコン信号(例えば、iBeacon(登録商標))を送信する。
なお、ドローン側情報処理装置200が、Bluetooth以外にもWi-Fi(登録商標)やUWB(Ultra Wide Band)、LPWA(Low Power Wide Area)等の無線通信規格もしくは方式で通信を行うようにしてもよい。あるいは、ドローン側情報処理装置200が、LTEやNR等のセルラー通信を行うようにしてもよい。
ドローン側情報処理装置200は、例えば、ドローン100の飛行に応じて許可される無線通信方式基づき、サーバ装置40からの指示に従って選択した無線通信方式で基地局60と通信を行う。
映像ストリーミングモジュールは、カメラモジュールによって取得された映像をサーバ装置40にストリーミング伝送するモジュールである。映像ストリーミングモジュールは、カメラモジュールが取得した映像を、基地局60を介してサーバ装置40に送信する。
なお、ドローン側制御アプリに含まれるモジュールは一例であり、これに限定されない。ドローン側制御アプリが、図4に示すモジュール以外のモジュールを含んでいてもよい。
<2.2.外部装置の構成例>
図5は、本開示の実施形態に係る外部装置300の機能構成例を示すブロック図である。外部装置300は、第1通信I/F301と、制御部302と、変換部303と、第2通信I/F304と、を有する。なお、図5に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。また、外部装置300の機能は、複数の物理的に分離された構成に分散して実装されてもよい。
第1通信I/F301は、ドローン側情報処理装置200と通信を行うための通信インタフェースである。第1通信I/F301は、例えばUSBホストコントローラ、USBポート等により構成されるUSBインタフェースである。なお、第1通信I/F301が行う通信は、USBによる通信に限定されない。第1通信I/F301が、例えばBluetooth、NFCによる通信を行ってもよい。
制御部302は、外部装置300の各部を制御するコントローラ(controller)である。制御部302は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等のプロセッサ、又はプロセッサとメモリ等の記憶素子が混載されたマイコン若しくは制御基板等であり得る。制御部302のプロセッサが所定のプログラムに従って動作することにより、各種の機能が実現され得る。
制御部302は、第1通信I/F301を介してドローン側情報処理装置200から取得した制御情報に基づき、ドローン100を制御する。制御部302は、当該制御情報に基づき、ドローン100を制御する制御信号を生成する。
また、制御部302は、例えばドローン側情報処理装置200からの指示に応じて、ドローン100に搭載されたセンサ(例えば、カメラや測位センサ、AHRSなど)を制御する。また、制御部302は、例えば、ドローン100に搭載されたセンサによるセンシング結果をドローン側情報処理装置200に通知する。制御部302は、例えばドローン100のバッテリの状態等、ドローン100の状態に関する情報を、ドローン100から取得し、ドローン側情報処理装置200に通知する。
変換部303は、制御部302が生成した制御信号をPWM(Pulse Width Modulation)により変調された制御信号(以下、PWM制御信号とも記載する)に変換する。変換部303は、例えば、IC(Integrated Circuit)やLSI(Large Scale Integration)等で実現されてもよく、あるいは、半導体チップ(ダイ)上の1つの回路ブロックで実現されてもよい。また、制御部302が変換部303の機能を有するようにしてもよい。この場合、変換部303は省略され得る。
第2通信I/F304は、ドローン100と通信を行うための通信インタフェースである。第2通信I/F304は、例えば、UART(Universal Asynchronous Receiver Transmitter)規格で通信を行う通信インタフェースであり得る。第2通信I/F304は、I2C(Inter-Integrated Circuit)などのシリアル通信を行う通信インタフェースであり得る。第2通信I/F304は、PWM制御信号をドローン100に送信する通信インタフェースであり得る。
図6は、本開示の実施形態に係る外部装置300によるドローン100の制御の一例を説明するための図である。
図6に示すように、ドローン100は、例えば4つのプロペラ103A~103D(駆動部の一例)と、各プロペラ103をそれぞれ駆動させるESC102A~102D(駆動制御部の一例)と、を有する。ドローン100は、図6に示すESC102及びプロペラ103に加え、フレームやモータ、バッテリなど(いずれも図示省略)を有する。
ドローン側情報処理装置200は、現在のドローン100の位置、姿勢やサーバ装置40からの指示に基づき、ドローン100の姿勢制御を行って制御情報を生成する。ドローン側情報処理装置200は、制御情報を外部装置300に出力する。
外部装置300は、ドローン側情報処理装置200から取得した制御情報に基づき、ドローン100を制御するための制御信号を生成する。図6の例では、外部装置300は、生成した制御信号をPWMによって変調し、PWM制御信号を生成する。このPWM制御信号は、ドローン100が有するESC102A~102Dを直接制御するための信号である。外部装置300は、PWM制御信号をドローン100のESC102A~102Dに出力する。
ESC102A~102Dは、外部装置300から取得したPWM制御信号に基づき、モータ(図示省略)を制御することで、プロペラ103A~103Dを制御する。
このように、外部装置300が、ドローン側情報処理装置200によるドローン100の姿勢制御に応じてPWM制御信号を生成することで、制御装置20は、直接ESC102A~102Dを制御することができる。これにより、ドローン側情報処理装置200は、外部装置300を介してドローン100を制御することができる。
図7は、本開示の実施形態に係る外部装置300によるドローン100の制御の他の例を説明するための図である。
図7に示すドローン100は、ESC102A~102D及びプロペラ103A~103Dに加え、ESC102A~102Dを制御するFC(フライトコントローラ)101(移動制御部の一例)を有する。図7に示す制御は、ドローン側情報処理装置200の代わりにFC101がドローン100の姿勢制御を行う点で図6に示す制御と異なる。
図7に示すドローン側情報処理装置200は、例えば、サーバ装置40からの指示に応じて、ドローン100の移動方向や飛行速度、離陸/着陸などドローン(100)の飛行に関する制御情報を生成する。ドローン側情報処理装置200は、生成した制御情報を外部装置300に出力する。
外部装置300は、ドローン側情報処理装置200から取得した制御情報に基づき、ドローン100を制御するための制御信号を生成する。この制御信号は、ドローン100のFC101が動作するための指示情報を含み、例えばUART規格で伝送される。
ドローン100のFC101は、外部装置300から制御信号を受信する。FC101は、制御信号に基づき、ESC102A~102Dを制御する。ESC102A~102Dは、FC101からの指示に応じてモータ(図示省略)を制御することで、プロペラ103A~103Dを制御する。
このように、制御装置20は、ドローン100に搭載されたFC101を制御することで、ドローン100を制御する。これにより、制御装置20は、ESC102~102Dを直接制御することなく、ドローン100を制御することができる。これにより、ドローン側情報処理装置200は、外部装置300を介してドローン100を制御することができる。
<2.3.ユーザ側情報処理装置の構成例>
本開示の実施形態に係る移動体システム1は、ドローン100を飛行させるためのユーザによる操作を受け付けるユーザ側情報処理装置50を含む。ユーザ側情報処理装置50は、例えばスマートフォンなど携帯型の情報処理装置である。
上述したように、ユーザ側情報処理装置50は、ドローン100に対するユーザからの操作を受け付け、受け付けた操作に関する操作情報を、サーバ装置40を介してドローン側情報処理装置200に送信する。このように、本開示の実施形態に係る移動体システム1では、ユーザ側情報処理装置50によるドローン100の遠隔操作が、サーバ装置40を介して実行される。
ユーザ側情報処理装置50のハードウェア構成は、ドローン側情報処理装置200と同じであるため説明を省略する。
図8は、本開示の実施形態に係るユーザ側情報処理装置50のソフトウェア構成の一例を示す図である。図8では、一例としてAndroid(登録商標)OSのソフトウェア構成を示しているが、これに限定されない。ユーザ側情報処理装置50がAndroidOS以外のOSによって動作するようにしてもよい。
図8に示すように、ユーザ側情報処理装置50のソフトウェア構成は、アプリケーション層と、アプリケーション・フレームワーク層と、標準ライブラリ層と、カーネル層と、を含む。
上述したように、アプリケーション・フレームワーク層、標準ライブラリ層及びカーネル層は、エンドユーザによる書き換えが行えないレイヤである。一方、アプリケーション層は、DL(ダウンロード)によるアプリの追加や削除など、エンドユーザによる書き換えが行えるレイヤである。
図8に示すように、アプリケーション・フレームワーク層には、ユーザ側サービスアプリ(第3のアプリケーションの一例)が含まれる。ユーザ側サービスアプリは、例えば、ユーザ側情報処理装置50の出荷時に予めインストールされているアプリケーションプログラムである。ユーザ側サービスアプリは、例えばドローン100を操作するユーザ(エンドユーザの一例)による書き換えができないアプリケーションプログラムである。
アプリケーション層には、ユーザ側制御アプリ(第4のアプリケーションの一例)が含まれる。ユーザ側制御アプリは、例えばドローン100を操作するユーザによって、外部サーバ(図示せず)などからDLされて追加されるアプリケーションプログラムである。ユーザ側サービスアプリは、ドローン100を操作するユーザによって削除などの書き換えが行えるアプリケーションプログラムである。
本開示の実施形態に係るユーザ側制御アプリは、直接サーバ装置40と通信を行わない。ユーザ側制御アプリは、ユーザ側サービスアプリを介してサーバ装置40と通信を行う。
このように、ユーザ側制御アプリは、予めユーザ側サービスアプリを介してサーバ装置40と通信を行う。これにより、本開示の実施形態に係る移動体システム1では、サーバ装置40に接続する情報処理装置を、ユーザ側サービスアプリが予めインストールされた特定のユーザ側情報処理装置50に制限することができる。
(ユーザ側サービスアプリ)
図8に示すユーザ側サービスアプリは、ユーザ側制御アプリとサーバ装置40との間のやり取りを中継する。ユーザ側サービスアプリは、ネットワークモジュール(図8のNetwork)と、コマンド処理モジュール(図8のCommand Processor)と、を含む。
ネットワークモジュールは、ネットワークN(図1参照)を介してサーバ装置40と通信を行う通信モジュールである。ネットワークモジュールは、サーバ装置40との間で、SSL等の所定の暗号化方式を使用した通信を行う。
コマンド処理モジュールは、ユーザ側制御アプリによるドローン100に対する操作を、サーバ装置40に送信するための操作コマンドに変換するモジュールである。コマンド処理モジュールは、ユーザ側制御アプリによる操作情報を、サーバ装置40を介して受信したドローン側情報処理装置200が処理し得る操作コマンド情報に変換する。
なお、ユーザ側サービスアプリに含まれるモジュールは一例であり、これに限定されない。ユーザ側サービスアプリが、図8に示すモジュール以外のモジュールを含んでいてもよい。
(ユーザ側制御アプリ)
ユーザ側制御アプリは、例えばユーザからの指示に基づいてドローン100の操作(制御)を行う。ユーザ側制御アプリは、ユーザからの指示を受け付ける。ユーザ側制御アプリは、ユーザ側サービスアプリを介してサーバ装置40に指示情報を送信する。
図8に示すユーザ側制御アプリは、例えば、操作受付モジュール(図8のJoystick)と、AIモジュール(図8のAI)と、コマンド処理モジュール(図8のCommand Processor)と、Bluetoothモジュール(図8のBT)と、を含む。ユーザ側制御アプリは、例えば、ネットワークモジュール(図8のNetwork)と、地図モジュール(図8のMap)と、モニタモジュール(図8のMonitor)と、を含む。ユーザ側制御アプリは、例えば、Locationモジュール(図8のLocation)と、映像ストリーミングモジュール(図8のVideo Streaming)と、を含む。
操作受付モジュールは、例えば、ジョイスティックを介してユーザからのドローン100に対する操作を受け付ける。操作受け付けモジュールがユーザからの操作を受け付けるデバイスは、ジョイスティックに限定されず、例えばリモコン等の操作デバイスであってもよい。また、操作デバイスは、例えば、ユーザ側情報処理装置50に接続される実装置であってもよく、ユーザ側情報処理装置50のモニタ(図示省略)に表示される仮想の装置であってもよい。
AIモジュールは、各モジュールが検出した情報やドローン側情報処理装置200から取得したドローン100に関する情報に基づき、ドローン100の操作情報を生成するモジュールである。
AIモジュールは、例えば、各モジュールによる検出結果やドローン100に関する情報を学習データとして事前に学習した学習済みモデル(AI)を用いて、ドローン100の操作情報を生成する。
AIモジュールは、例えば、現在のドローン100の位置及び姿勢に関する情報や、ユーザからの操作を学習済みモデルに入力し、ドローン100を操作するための操作情報を出力として得る。AIモジュールは、得られた操作情報を、サーバ装置40を介してドローン側情報処理装置200に送信する。
なお、ここでは、ユーザ側情報処理装置50が、AIを用いて操作情報を生成するとしたが、これに限定されない。ユーザ側情報処理装置50は、現在のドローン100の位置及び姿勢に関する情報やユーザからの操作に基づいて操作情報を生成すればよい。ユーザ側情報処理装置50は、任意の方法で操作情報を生成し得る。この場合、ユーザ側制御アプリは、AIモジュールに代えて、例えば操作情報生成モジュールを含み得る。
コマンド処理モジュールは、ユーザから受け付けた操作を、サーバ装置40以外の他の装置(図示省略)に送信するための操作コマンドに変換するモジュールである。ネットワークモジュールは、ネットワークNを介してサーバ装置40以外の他の装置と通信を行う通信モジュールである。ネットワークモジュールは、他の装置との間で、SSL等の所定の暗号化方式を使用した通信を行う。このように、ユーザ側制御アプリは、サーバ装置40以外の他の装置とやり取りを行う場合、ユーザ側サービスアプリを介さず直接やり取りを行い得る。
Bluetoothモジュールは、外部の装置(例えば、ネットワークNへの接続を中継する装置)とBluetoothによる通信を行う通信モジュールである。なお、ユーザ側情報処理装置50が、Bluetooth以外にもWi-Fi(登録商標)やUWB(Ultra Wide Band)、LPWA(Low Power Wide Area)等の無線通信規格もしくは方式で通信を行うようにしてもよい。あるいは、ユーザ側情報処理装置50が、LTEやNR等のセルラー通信を行うようにしてもよい。
地図モジュールは、例えばドローン100の飛行経路の設定に使用する地図情報の取得や管理等を行うモジュールである。地図モジュールは、例えばドローン100の位置情報に基づき、ドローン100が位置する場所を含む地図情報を取得する。
Locationモジュールは、例えば、ドローン側情報処理装置200又は/及びドローン100に搭載されるGPS(Global Positioning System)等のような測位システムによる測位結果に基づき、ドローン100の位置情報を管理するモジュールである。Locationモジュールは、例えばサーバ装置40を介してドローン側情報処理装置200から取得した位置情報に基づき、ドローン100の位置情報を管理する。
映像ストリーミングモジュールは、ドローン側情報処理装置200から送信されるストリーミング映像を取得するモジュールである。
モニタモジュールは、例えば、ドローン側情報処理装置200に搭載されるモニタを制御し、モニタに各種情報を表示させるモジュールである。モニタモジュールは、例えばモニタに各種情報を含む表示画像を表示させる。
図9は、本開示の実施形態に係るユーザ側情報処理装置50のモニタに表示される表示画像500の一例を示す図である。上述したように、表示画像500は、モニタモジュールによってモニタに表示される。
図9に示す例では、モニタモジュールは、表示画像500の中央の領域501にドローン100の周囲の映像を表示する。ドローン100の周囲の映像は、例えば、ドローン側情報処理装置200に搭載されたカメラが撮像した映像であり、ドローン側情報処理装置200からストリーミング伝送される映像である。当該映像は、ユーザ側制御アプリの映像ストリーミングモジュールによって取得される。モニタモジュールは、映像ストリーミングモジュールが取得した映像を領域501に表示する。
モニタモジュールは、例えば表示画像500の左上の領域502に地図情報を表示する。地図情報は、例えば地図モジュールが取得した情報である。モニタモジュールは、当該地図情報に、例えばLocationモジュールが管理するドローン100の位置情報を重畳して表示する。
図9の例では、モニタモジュールは、表示画像500の左下及び右下に仮想の操作デバイス(例えばジョイスティック)503を表示する。ユーザは、操作デバイス503を操作することで、ドローン100の位置・姿勢等の操作を行う。
例えば表示画像500の右上のボタン504は、ドローン側情報処理装置200のBluetoothモジュール(図4参照)がドローン100を識別するための識別信号(例えばビーコン信号)を送信するか否かの切り替えを、ユーザから受け付けるボタンである。ユーザがボタン504を押下すると、ユーザ側情報処理装置50は、ドローン側情報処理装置200に対して、識別信号の送信又は送信の停止を要求する。ユーザ側情報処理装置50は、当該要求に応じて、識別信号の送信及び送信の停止を切り替える。
また、モニタモジュールは、例えば表示画像500のボタン504の下方の領域505にドローン100の飛行に関する飛行情報を表示する。図9の例では、モニタモジュールは、ネットワーク遅延に関する情報(図9のNet delay)や、ドローン側情報処理装置200が基地局60と通信を行う際に使用する通信方式、及び信号強度に関する情報(図9のNet type)を領域505に表示する。図9の例では、モニタモジュールは、アンテナマークを表示することで、ドローン側情報処理装置200が基地局60と携帯電話通信網(セルラー)による通信をおこなっていることを示す情報を表示する。
また、モニタモジュールは、ドローン100の飛行時間に関する情報(図9のFlight time)やドローン100に搭載したバッテリに関する情報(図9のBattery(FC))を領域505に表示する。モニタモジュールは、ユーザ側情報処理装置50とドローン100との間の距離(図9のDistance)を領域505に表示する。ユーザ側情報処理装置50とドローン100との間の距離は、例えばドローン100が目視内飛行を行っているか、目視外飛行を行っているかの判定等に利用され得る。
また、例えば、ユーザ側制御アプリのAIモジュールが、ドローン100の周囲を撮影した映像から障害物などの物体検出を行う場合、モニタモジュールは、AIモジュールが検出した障害物を強調して映像をモニタに表示するようにしてもよい。図9の例では、モニタモジュールは、AIモジュールが検出した物体を四角い枠で囲って映像を表示する。
ここでは、ユーザ側制御アプリが物体検出を行うとしたが、これに限定されない。物体検出をサーバ装置40が行うようにしてもよく、あるいは、ドローン側情報処理装置200が行うようにしてもよい。
また、図9に示す表示画像500は一例であり、表示画像500に含まれる各種情報は図9の例に限定されない。例えば表示画像500にドローン100の飛行経路が表示されるなど、図9に示す情報以外の情報が、表示画像500に含まれていてもよい。
また、図8に示すドローン側制御アプリに含まれるモジュールは一例であり、これに限定されない。ドローン側制御アプリが、図8に示すモジュール以外のモジュールを含んでいてもよい。
<2.4.サーバ装置の構成例>
本開示の実施形態に係るサーバ装置40は、ドローン100の遠隔操作を行う情報処理装置である。サーバ装置40は、例えば、パーソナルコンピュータやワークステーション、クラウドサーバなどの情報処理装置で構成される。
サーバ装置40は、例えばドローン100の操作を行うユーザの管理や、ドローン100の機体情報の管理を行う。サーバ装置40は、ドローン100の管理として、ネットワークオペレータや国、自治体などによるドローン100の飛行に関する許可情報(例えば、ドローン100が飛行可能なエリア情報など)を管理する。
サーバ装置40は、例えばドローン側情報処理装置200が撮影したドローン100周囲の映像をユーザ側情報処理装置50に送信する。サーバ装置40は、ユーザ側情報処理装置50から取得したドローン100の操作情報をドローン側情報処理装置200に送信する。
サーバ装置40は、ユーザ側情報処理装置50に搭載されるユーザ側サービスアプリからの接続を受け付け、ユーザ側情報処理装置50に搭載されるその他のアプリからの接続を受け付けない。サーバ装置40は、ドローン側情報処理装置200に搭載されるドローン側サービスアプリからの接続を受け付け、ドローン側情報処理装置200に搭載されるその他のアプリからの接続を受け付けない。
このように、サーバ装置40が、アクセスを受け付けるアプリケーションを限定することで、移動体システム1のセキュリティをより高度に保つことができる。
サーバ装置40とユーザ側情報処理装置50との間の通信路、及び、サーバ装置40とドローン側情報処理装置200との間の通信路は、SSLやDTLS(Datagram Transport Layer Security)などの既存の方式で暗号化される。
(サーバ装置40の機能構成例)
図10は、本開示の実施形態に係るサーバ装置40の機能の一例を説明するための機能ブロック図である。図10に示すサーバ装置40は、ストリーミング部400と、機体操作部401と、機体情報格納部402と、状態管理部403と、通信部404と、制御部405と、記憶部406と、アプリ格納部407と、を備える。
制御部405は、このサーバ装置40の全体の動作を制御する。通信部404は、制御部405の制御に従い、ネットワークNに対する通信を行う。記憶部406は、図示されないメモリに対するデータの読み書きを制御する。
ストリーミング部400は、ドローン側情報処理装置200から受信したストリーミング映像をユーザ側情報処理装置50にストリーミング伝送する。ストリーミング部400は、既存のストリーミング技術を用いて映像をストリーミングし得る。ストリーミング部400は、例えばDTLSを用いて暗号化した映像をストリーミング伝送する。
なお、サーバ装置40は、例えばAmazon社が提供するAmazon Cognito(登録商標)やAmazon Kinesis(登録商標)などの既存サービスを利用してストリーミング伝送を実現し得る。
機体情報格納部402は、ドローン100に関する情報が格納されるデータベースである。機体情報格納部402は、ドローン100の現在位置や姿勢などドローン100の状態に関する情報を保持する。機体情報格納部402は、ドローン100の飛行経路やバッテリに関する情報を保持する。機体情報格納部402は、例えば、ドローン100の飛行可能エリアなどドローン100の飛行に関する許可情報を保持する。
機体情報格納部402は、例えば、ドローン100を識別するドローンIDと、ドローン100を操縦するユーザを識別するユーザIDと、を対応付けて保持する。ユーザIDは、例えば、ドローン側情報処理装置200を識別するIDであってもよく、ユーザ側情報処理装置50を識別するIDであってもよい。ドローン側情報処理装置200を識別するID及びユーザ側情報処理装置50を識別するIDが同じIDであってもよい。
機体操作部401は、例えば、ユーザからの操作に基づき、ドローン100の操作を行う。機体操作部401は、例えば、ドローン100の位置、姿勢や飛行経路に基づき、ドローン100の操作を行う。機体操作部401は、例えば、ドローン100の飛行経路の設定を行う。
機体操作部401は、ドローン100に対する操作情報や飛行経路に関する経路情報などをドローン側情報処理装置200に送信する。機体操作部401は、例えばSSLを用いて暗号化した情報をドローン側情報処理装置200に送信する。
状態管理部403は、例えば、ドローン100から取得した情報の管理を行う。状態管理部403は、例えば、ドローン100の位置、姿勢やバッテリ残量などドローン100の情報を機体情報格納部402に保存する。状態管理部403は、ドローン100の情報をユーザ側情報処理装置50に送信する。機体操作部401は、例えばSSLを用いて暗号化した情報をユーザ側情報処理装置50に送信する。
また、状態管理部403が、ユーザIDによるユーザ認証やドローンIDによるドローン認証などの認証処理を行いユーザのログイン状態を管理するようにしてもよい。この場合、状態管理部403は、例えばブラウザをインタフェースとして認証処理を行い得る。状態管理部403は、例えばSSLを用いて認証処理を行い得る。
アプリ格納部407は、サーバ装置40において動作するアプリが格納されるデータベースである。上述したストリーミング部400における映像ストリーミング機能や機体操作部401による機体操作機能、状態管理部403による状態管理機能等は、アプリ格納部407に格納されるアプリがサーバ装置40で実行されることで、実現される。サーバ装置40は、例えばこれらの機能を実現するためのアプリを、ネットワークNを介してダウンロードして、インストールする。インストールされたアプリは、アプリ格納部407に保存される。
ここでは、アプリ格納部407に格納されるアプリをサーバ装置40が実行することで、ストリーミング部400や機体操作部401、状態管理部403が各機能を実現するとしたが、これに限定されない。例えば、制御部405が映像ストリーミング機能や機体操作機能、状態管理機能を実現するようにしてもよい。すなわち、ストリーミング部400や機体操作部401、状態管理部403が制御部405の機能の一部として実現され得る。この場合、例えば、サーバ装置40でアプリが実行されることで、制御部405がストリーミング部400や機体操作部401、状態管理部403として機能する。
また、ここでは、記憶部406と、機体情報格納部402及びアプリ格納部407とがそれぞれ異なる構成としたが、これに限定されない。例えば、記憶部406が機体情報格納部402及びアプリ格納部407を有する構成としてもよい。
(サーバ装置40のハードウェア構成例)
図11は、本開示の実施形態に係るサーバ装置40のハードウェア構成の一例を示すブロック図である。図11において、サーバ装置40は、CPU4000と、ROM4001と、RAM4002と、ストレージ装置4003と、通信I/F4004と、を備える。CPU4000、ROM4001と、RAM4002と、ストレージ装置4003と、通信I/F4004は、バス4010により互いに通信可能に接続される。
ストレージ装置4003は、ハードディスクドライブやフラッシュメモリといった、不揮発性の記憶媒体である。ストレージ装置4003は、CPU4000が動作するための各種のプログラムおよびデータが記憶される。
CPU4000は、ROM4001およびストレージ装置4003に予め記憶された情報処理プログラムに従って動作し、サーバ装置40の全体の動作を制御する。通信I/F4004は、CPU4000の制御に従い、ネットワークNに対する通信を実行する。
上述した制御部405は、CPU4000上で、例えばストレージ装置4003に予め記憶される、このサーバ装置40の基本プログラム(例えばOS(Operating System))が動作することで実現される。通信部404は、例えば通信I/F4004として実現される。記憶部406、機体情報格納部402及びアプリ格納部407は、例えばストレージ装置4003として実現される。
また、ストリーミング部400、機体操作部401及び状態管理部403は、例えばCPU4000上でアプリ(アプリケーションプログラム)が実行されることで実現される。例えば、CPU4000がストレージ装置4003などの記憶媒体から当該アプリを読み出して実行することにより、上述した各部がRAM4002などの主記憶装置上にロードされ、当該各部が主記憶装置上に生成される。
あるいは、ストリーミング部400、機体操作部401及び状態管理部403の一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
<<3.通信処理>>
上述したように、ユーザ側情報処理装置50は、ユーザによる操作に基づいてドローン100を遠隔操作する。また、ユーザ側情報処理装置50は、ドローン100に関する情報を取得する。このように、移動体システム1では、ドローン100の遠隔操作を行うための通信処理が実行される。
図12は、本開示の実施形態に係る移動体システム1で実行される通信処理の流れの一例を示すシーケンス図である。
図12に示すように、ドローン側情報処理装置200は、サーバ装置40にログインする(ステップS101)。例えば、ドローン側制御アプリがドローン側サービスアプリを介してサーバ装置40に接続することで、ドローン側情報処理装置200はサーバ装置40に対してログイン処理を行う。
サーバ装置40は、ドローン側情報処理装置200に対してユーザ認証を行う(ステップS102)。例えば、サーバ装置40は、ドローン側情報処理装置200から取得したユーザIDが、機体情報格納部402に格納されているか否かに応じてユーザ認証を行う。
ユーザ側情報処理装置50は、サーバ装置40にログインする(ステップS103)。例えば、ユーザ側制御アプリがユーザ側サービスアプリを介してサーバ装置40に接続することで、ユーザ側情報処理装置50はサーバ装置40に対してログイン処理を行う。
サーバ装置40は、ユーザ側情報処理装置50に対してユーザ認証を行う(ステップS104)。例えば、サーバ装置40は、ユーザ側情報処理装置50から取得したユーザIDが、機体情報格納部402に格納されているか否かに応じてユーザ認証を行う。
次に、ユーザからドローン100に対する操作(機体操作)を受け付けたユーザ側情報処理装置50は、機体操作に関する情報をサーバ装置40に送信する(ステップS105)。例えば、ユーザ側制御アプリがユーザ側サービスアプリを介してサーバ装置40に機体操作に関する情報を送信する。
サーバ装置40は、ユーザ側情報処理装置50から送信された機体操作に関する情報に基づき、機体認証を行う(ステップS106)。例えば、サーバ装置40は、機体操作に関する情報に含まれるドローンIDが、機体情報格納部402に格納されているか否かに応じて機体認証を行う。サーバ装置40は、機体操作に関する情報を送信したユーザ側情報処理装置50のユーザIDと、機体操作に関する情報に含まれるドローンIDと、が対応付けられているか否かに応じて機体認証を行ってもよい。
このように、サーバ装置40が操作対象であるドローン100の機体認証を行うことで、ユーザ側情報処理装置50が操作対象でないドローンの操作を行わないようにすることができる。
機体認証を行ったサーバ装置40は、機体操作に関する情報をドローン側情報処理装置200に送信する(ステップS107)。サーバ装置40は、例えばユーザ側サービスアプリを介してユーザ側制御アプリに機体操作に関する情報を送信する。
ドローン側情報処理装置200は、受信した機体操作に関する情報に基づき、ドローン100のモータ制御を行う(ステップS108)。より具体的には、ドローン側情報処理装置200のドローン側制御アプリが、ドローン側サービスアプリを介して外部装置300に制御情報を送信する。外部装置300は、制御情報に基づき、ドローン100のESC102A~102Dを直接、又は、FC101を介して間接的に制御する。これにより、ドローン100のモータが制御される。
次に、ユーザ側情報処理装置50がドローン100に関する状態を取得する場合、ユーザ側情報処理装置50は、情報取得要求をサーバ装置40に送信する(ステップS109)。例えば、ユーザ側制御アプリがユーザ側サービスアプリを介してサーバ装置40に情報取得要求を送信する。
サーバ装置40は、ユーザ側情報処理装置50から送信された情報取得要求に基づき、機体認証を行う(ステップS110)。例えば、サーバ装置40は、情報取得要求に含まれるドローンIDが、機体情報格納部402に格納されているか否かに応じて機体認証を行う。サーバ装置40は、情報取得要求を送信したユーザ側情報処理装置50のユーザIDと、情報取得要求に含まれるドローンIDと、が対応付けられているか否かに応じて機体認証を行ってもよい。
このように、サーバ装置40が状態取得対象であるドローン100の機体認証を行うことで、ユーザ側情報処理装置50が状態取得対象でないドローンから状態に関する情報の取得を行わないようにすることができる。
機体認証を行ったサーバ装置40は、情報取得要求をドローン側情報処理装置200に送信する(ステップS111)。サーバ装置40は、例えばドローン側サービスアプリを介してドローン側制御アプリに情報取得要求を送信する。
ドローン側情報処理装置200は、受信した情報取得要求に基づき、ドローン100の状態を取得する(ステップS112)。ドローン側情報処理装置200のドローン側制御アプリは、ドローン側サービスアプリを介して外部装置300から、例えばバッテリ残量やドローン100の位置、姿勢など、ドローン100の状態を取得する。
ドローン側情報処理装置200は、取得したドローン100の状態をサーバ装置40に返信する(ステップS113)。ドローン側制御アプリは、ドローン側サービスアプリを介してサーバ装置40にドローン100の状態を返信する。
サーバ装置40は、ドローン100の状態をユーザ側情報処理装置50に返信する(ステップS114)。サーバ装置40は、例えばユーザ側サービスアプリを介してユーザ側制御アプリにドローン100の状態を返信する。
このように、移動体システム1では、サーバ装置40によるユーザ認証の後、ユーザ側情報処理装置50による機体操作やドローン100の状態取得が行われる。このとき、ユーザ側情報処理装置50による機体操作や状態取得の度に、サーバ装置40は、操作対象や取得対象であるドローン100の機体認証を行う。これにより、ユーザのなりすましや、対象以外のドローンに対する操作や状態取得を防ぐことができ、移動体システム1はより安全にドローン100の飛行を行うことができる。
なお、移動体システム1では、図12に示す通信処理とは別に映像ストリーミング処理が行われる。ドローン側情報処理装置200及びユーザ側情報処理装置50のユーザ認証が完了すると、ドローン側情報処理装置200は、カメラで撮影した映像を周期的にサーバ装置40に送信する。ドローン側情報処理装置200のドローン側制御アプリは、ドローン側サービスアプリを介して映像をサーバ装置40に送信する。サーバ装置40は、受信した映像をユーザ側情報処理装置50に送信する。サーバ装置40は、ユーザ側サービスアプリを介してユーザ側制御アプリに映像を送信する。
このように、本開示の実施形態では、ドローン100の機体操作や状態取得とは別に、映像ストリーミングが行われる。
なお、図12では、ユーザ認証後、ユーザ側情報処理装置50がドローン100の機体操作を行っているが、これに限定されない。ユーザ認証後、ユーザ側情報処理装置50がドローン100の状態を取得するようにしてもよい。
また、図12では、ドローン側情報処理装置200が状態取得要求に応じてドローン100の状態に関する情報をサーバ装置40に返信するが、これに限定されない。ドローン側情報処理装置200が、例えば周期的にドローン100の状態に関する情報をサーバ装置40に送信するようにしてもよい。このように、ドローン側情報処理装置200が、状態取得要求によらずドローン100の状態に関する情報をサーバ装置40に送信するようにしてもよい。
<<4.変形例>>
<第1変形例>
上述したように、ドローン100の飛行は、法律や条例などによって規制を受ける。例えば、ドローン100は、高度を含む飛行可能な範囲が決められ得る。また、飛行範囲によっては、ドローン100(本開示の実施形態ではドローン側情報処理装置200)が通信に使用可能な無線通信方式が制限される場合がある。例えば、ドローン100が5G又はLTEを使用して通信が行える範囲に制限がある場合がある。
また、ドローン100が飛行可能な時間に制限がある場合がある。例えば、ドローン100の飛行は、ユーザが許可を得た時間内に制限される場合がある。
そこで、本開示の実施形態の第1変形例に係る移動体システム1は、これらの制限に応じて、ドローン100の飛行を制限する仕組みを有するものとする。
例えば、サーバ装置40は、飛行許可を得たドローン100に搭載されるドローン側情報処理装置200からの接続を許可し、飛行許可を得ていないドローン100に搭載されるドローン側情報処理装置200からの接続を拒否する。
サーバ装置40は、例えば、図12のステップS102で行うユーザ認証時に、ドローン100の飛行に関する制限情報(例えば、飛行範囲や飛行時間の制限に関する情報)に基づいてドローン側情報処理装置200のログイン(接続)を許可するか否かを判定する。
また、サーバ装置40は、例えば、図12のステップS106の機体認証時に、ドローン100が飛行可能か否かを判定し、判定結果に応じて機体操作に関する情報をドローン側情報処理装置200に送信するようにしてもよい。
例えば、サーバ装置40は、機体認証時に、ドローン100の飛行に関する制限情報に基づいてドローン100が飛行可能か否かを判定し、飛行可能である場合に機体操作に関する情報をドローン側情報処理装置200に送信する。
一方、飛行不可能である場合、サーバ装置40は、ドローン100が飛行可能になるようにドローン100を制御するようドローン側情報処理装置200に指示する。例えば、ドローン100が飛行可能な範囲外を飛行している場合、サーバ装置40は、飛行可能な範囲内に移動するようドローン側情報処理装置200に指示する。
あるいは、例えば、飛行許可時間を超えてドローン100を飛行させている場合など、ドローン100の飛行を終了することが望ましい場合、サーバ装置40は、ドローン100の飛行を終了するようドローン側情報処理装置200に指示する。
このように、サーバ装置40がユーザ側情報処理装置50の機体操作と異なる操作をドローン側情報処理装置200に指示した場合、サーバ装置40はその旨をユーザ側情報処理装置50に通知し得る。この場合、ユーザ側情報処理装置50は、ユーザによる操作とは異なる操作をドローン100に行った旨をユーザに提示し得る。
また、飛行範囲によってドローン100が使用できる無線通信方式に制限がある場合、サーバ装置40は、ドローン100の現在位置に応じて無線通信方式を切り替えるようドローン側情報処理装置200に通知する。
これにより、ドローン側情報処理装置200は、飛行範囲に応じて使用できる無線通信方式を動的に切り替えることができ、規則を遵守しつつ安定した飛行を行えるようになる。
なお、ドローン100が使用可能な無線通信方式が複数ある場合、サーバ装置40は、例えば最も通信品質が高い無線通信方式を選択する。あるいは、サーバ装置40は、使用可能な範囲が広い無線通信方式を選択するようにしてもよい。また、サーバ装置40は、ドローン100の飛行経路やバッテリ残量などに応じて無線通信方式を選択するようにしてもよい。
上述した飛行範囲や飛行時間、使用可能な無線通信方式などの制限情報は、例えばサーバ装置40によって管理され得る。サーバ装置40は、例えばネットワークNを介して最新の制限情報を取得し得る。これにより、サーバ装置40は、常に新しい制限情報を管理することができる。
なお、ここでは、サーバ装置40が、制限情報に基づいてドローン100の飛行が可能であるか否かを判定するとしたが、これに限定されない。例えば、ドローン側情報処理装置200が、制限情報をサーバ装置40から取得し、ドローン100の飛行が可能であるか否かを判定するようにしてもよい。この場合でも、制限情報をサーバ装置40が管理することで、サーバ装置40が最新の制限情報を取得することができる。
<第2変形例>
ユーザ側情報処理装置50は、例えば、ドローン100の状態に応じてドローン100の操作画面(コントロールUI)の表示方法を変更し得る。例えば、ユーザ側情報処理装置50は、ドローン100の状態に応じて、モニタに表示する表示画像の少なくとも一部を強調表示する。
(Case1:飛行範囲)
図13は、本開示の実施形態の第2変形例に係る表示画像の一例を説明するための図である。ここでは、ユーザ側情報処理装置50は、ドローン100が飛行可能な飛行範囲におけるドローン100の位置に応じて表示画像を強調表示する。
図13の上図に示すように、ユーザ側情報処理装置50は、ドローン100が飛行範囲の所定エリア内に位置する場合、通常の背景色(第1の背景色、例えば白色)の表示画像をモニタに表示する。ここで、飛行範囲の所定エリアは、例えば、飛行範囲の境界線から一定距離内側のエリアを示す。
図13の中図に示すように、ユーザ側情報処理装置50は、ドローン100が飛行範囲内であって所定エリア外に移動した場合、表示画像の背景色を第1の背景色から第2の背景色(例えば黄色)に変更してモニタに表示する。すなわち、ユーザ側情報処理装置50は、ドローン100が飛行範囲外に近づいた場合、背景色を通常とは異なる色で強調表示する。これにより、ユーザ側情報処理装置50は、ドローン100が飛行範囲外にでる可能性があることをよりわかりやすくユーザに通知することができる。
図13の下図に示すように、ユーザ側情報処理装置50は、ドローン100が飛行範囲外に移動した場合、背景色を第2の背景色から第3の背景色(例えば赤色)に変更して表示画像をモニタに表示する。すなわち、ユーザ側情報処理装置50は、ドローン100が飛行範囲外に存在する場合、背景色をドローン100が飛行範囲外に近づいた場合や通常とは異なる色で強調表示する。これにより、ユーザ側情報処理装置50は、ドローン100が飛行範囲外に位置することをよりわかりやすくユーザに通知することができる。
(Case2:ドローン100までの距離)
ユーザ側情報処理装置50は、ユーザ側情報処理装置50、換言するとユーザと、ドローン100と、の間の距離に応じて表示画像の表示方法を変更し得る。ドローン100とユーザとの距離が離れていると、ユーザはドローン100を目視外で操縦する可能性が高い。一方、ドローン100とユーザとの距離が近いと、ユーザはドローン100を目視内で操縦する可能性が高い。
そこで、ユーザとドローン100との間の距離に応じて表示画像の表示方法を変更することで、ユーザ側情報処理装置50は、ドローン100が目視外飛行を行っているのか、あるいは、目視内飛行を行っているのかを明確にユーザに通知することができる。
例えば、ユーザ側情報処理装置50は、ドローン100とユーザ側情報処理装置50との間の距離が第1閾値未満である場合、通常の背景色(例えば白色)の表示画像をモニタに表示する。すなわち、ユーザ側情報処理装置50は、ドローン100が目視内飛行である場合、通常の背景色で表示画像を表示する。
一方、ドローン100とユーザ側情報処理装置50との間の距離が第1閾値以上である場合、ユーザ側情報処理装置50は、所定の背景色(例えば黄色)の表示画像をモニタに表示する。すなわち、ユーザ側情報処理装置50は、ドローン100が目視外飛行である場合、背景色を通常とは異なる色で強調表示する。これにより、ユーザ側情報処理装置50は、ドローン100が目視外飛行であることをよりわかりやすくユーザに通知することができる。
なお、上述した第1閾値は、予め設定された値でもよく、ユーザによって設定された値でもよい。また、当該第1閾値は、例えばドローン100の飛行場所(例えば、屋内又は屋外、市街地又は郊外、山や海など自然が多い場所など)に応じた値であってもよい。
(Case3:無線通信方式)
ユーザ側情報処理装置50は、ドローン側情報処理装置200が選択する無線通信方式に応じて表示画像の表示方法を変更し得る。すなわち、ユーザ側情報処理装置50は、ドローン100のネットワーク接続方法に応じて表示画像の表示方法を変更し得る。
上述したように、ドローン100は、飛行範囲によって法的に使用可能な無線通信方式が異なる場合がある。そこで、ドローン側情報処理装置200が選択する無線通信方式に応じて表示画像の表示方法を変更することで、ユーザ側情報処理装置50は、ユーザに対して法的に問題のない無線通信方式を選択していることをよりわかりやすく通知することができる。
例えば、ユーザ側情報処理装置50は、ドローン側情報処理装置200がWLAN(Wireless Local Area Network)を使用してネットワークNに接続している場合、通常の背景色(例えば白色)の表示画像をモニタに表示する。
例えば、ユーザ側情報処理装置50は、ドローン側情報処理装置200がLTEを使用してネットワークNに接続している場合、所定の背景色(例えば黄色)の表示画像をモニタに表示する。
例えば、ユーザ側情報処理装置50は、ドローン側情報処理装置200が5G(第5世代移動通信システム)を使用してネットワークNに接続している場合、所定の背景色(例えば赤色)の表示画像をモニタに表示する。
例えば、ユーザ側情報処理装置50は、ドローン側情報処理装置200がLPWA(Low Power Wide Area)を使用してネットワークNに接続している場合、所定の背景色(例えば紫色)の表示画像をモニタに表示する。
なお、ここで挙げた無線通信方式は一例であり、ドローン側情報処理装置200が上述した無線通信方式以外の方式(例えばBluetoothなど)でネットワークNに接続してもよい。
(Case4:バッテリ残量)
ユーザ側情報処理装置50は、ドローン100のバッテリ残量に応じて表示画像の表示方法を変更し得る。これにより、ユーザ側情報処理装置50は、ドローン100の飛行可能な残り時間をよりわかりやすくユーザに通知することができる。
例えば、ユーザ側情報処理装置50は、ドローン100のバッテリ残量が第2閾値(例えば50%)以上である場合、通常の背景色(例えば白色)の表示画像をモニタに表示する。
例えば、ユーザ側情報処理装置50は、ドローン100のバッテリ残量が第2閾値(例えば50%)未満第3閾値(例えば10%)以上(第2閾値>第3閾値)である場合、所定の背景色(例えば黄色)の表示画像をモニタに表示する。
例えば、ユーザ側情報処理装置50は、ドローン100のバッテリ残量が第3閾値(例えば10%)未満である場合、所定の背景色(例えば赤色)の表示画像をモニタに表示する。
なお、上述した背景色(例えば、白、黄、赤、紫色)は一例であり、ユーザ側情報処理装置50がこれらの色以外の背景色を用いて表示画像を強調表示してもよい。あるいは、ユーザ側情報処理装置50が背景色を変更する以外の方法で表示画像を強調表示してもよい。例えば、ユーザ側情報処理装置50は、表示画像の一部の領域(画像)を点滅表示させたり、文字列を表示させたりして表示画像を強調表示し得る。あるいは、ユーザ側情報処理装置50が音声や警告音等を用いて、ドローン100の状態をユーザに注意喚起するようにしてもよい。
また、上述した各Caseは一例である。ユーザ側情報処理装置50は、例えば各Caseを組み合わせて表示画像の強調表示を行ってもよい。例えば、ユーザ側情報処理装置50は、ユーザ側情報処理装置50とドローン100との間の距離が第1閾値以上であり、ドローン100が飛行範囲内であって所定エリア外に位置する場合、赤色の背景色で表示画像を表示するようにしてもよい。ユーザがドローン100の目視外飛行を行っている場合、目視内飛行と比較してドローン100が飛行範囲外にはみ出す可能性が高い。
そこで、ユーザ側情報処理装置50は、目視外飛行中にドローン100が飛行禁止エリアに近づいた場合、その旨を目視内飛行中の場合よりもより強調してユーザに提示する。これにより、ユーザは、目視外飛行中であってもドローン100が飛行範囲外にはみ出さないように操作することができるようになり、ドローン100をより安全に飛行させることができるようになる。
このように、ユーザ側情報処理装置50は、各Caseを組み合わせて表示画像の表示方法を変更してもよく、Caseごとに表示画像の表示方法を変更してもよい。
<第3変形例>
上述した実施形態では、主にユーザがドローン100の遠隔操作を行うものとして説明したが、例えばドローン100が予め定められた飛行ルートに沿って自動で飛行を行うようにしてもよい。ドローン側情報処理装置200は、例えばユーザ側情報処理装置50が指定する目的地までの飛行ルートを設定する。ドローン100は、ドローン側情報処理装置200が設定した飛行ルートに沿って飛行する。なお、ユーザ側情報処理装置50は、経由地も含めて複数の目的地を指定し得る。
ここで、本開示の実施形態の第3変形例に係るドローン側情報処理装置200は、ユーザ側情報処理装置50が指定する目的地に加え、例えばドローン100のバッテリ残量を考慮して飛行ルートを設定する。
これにより、ドローン100は、飛行ルートの途中でバッテリ切れを起こすことなく、目的地まで飛行ルートに沿って飛行することができるようになる。
図14は、本開示の実施形態の第3変形例に係るルート候補の一例を説明するための図である。
例えば、ドローン側情報処理装置200は、現在地P0と目的地候補P1、P2とに基づいて複数のルート候補R1、R2を算出する。ここで、目的地候補P1、P2は、ユーザ側情報処理装置50が指定する複数の目的地である。あるいは、目的地候補P1、P2のいずれかが、ドローン100の飛行開始地点であってもよい。
ドローン側情報処理装置200は、ドローン100の飛行範囲(図14の飛行可能エリア)や飛行禁止エリアを考慮してルート候補R1、R2を算出する。ドローン側情報処理装置200は、例えば、ドローン100が飛行禁止エリアを飛行せず、かつ、最短で目的地候補P1、P2にたどり着くルートをルート候補R1、R2として決定する。
なお、ここでの飛行可能エリア及び飛行禁止エリアは、高さを含む3次元空間においてドローン100が飛行可能又は飛行禁止の範囲を規定するエリアである。
ドローン側情報処理装置200は、ドローン100が飛行するルート候補R1、R2の天候情報や風向情報に基づき、ルート候補R1、R2を飛行したときの飛行時間X1、X2[分]を算出する。
ここで、ドローン側情報処理装置200は、例えばサーバ装置40から天候情報や風向情報を取得する。サーバ装置40は、ドローン側情報処理装置200と同じ飛行可能エリアを飛行する他のドローン100から取得した情報やネットワークNを介して外部サーバなどから取得した天候に関する情報に基づき、上述した天候情報や風向情報を生成する。
サーバ装置40は、天候情報として、例えば各地点における天候に関する情報を含む天候マップを生成する。サーバ装置40は、風向情報として、例えば各地点における風向、風の強さ等に関する情報を含む風向マップを生成する。
ドローン側情報処理装置200は、例えば、ドローン100が飛行するルート候補R1、R2の天候情報や風向情報、電波状況を示す電波環境情報に応じて、各ルート候補R1、R2を飛行した場合のバッテリ消費量Y1、Y2[%]を算出する。
ここで、ドローン側情報処理装置200は、サーバ装置40から電波環境情報を取得する。サーバ装置40は、例えば、飛行可能エリアや飛行禁止エリアに配置される基地局60に関する情報に基づいて電波環境情報を生成する。
サーバ装置40は、例えば、当該基地局60に関する情報(基地局60の設置場所や通信エリアなどに関する情報)をネットワークオペレータから取得する。あるいは、サーバ装置40は、ドローン側情報処理装置200と同じ飛行可能エリアを飛行する他のドローン100から電波状況に関する情報を取得するようにしてもよい。サーバ装置40は、電波環境情報として、例えば各地点における電波状況を示す情報を含む電波環境マップを生成する。
ドローン側情報処理装置200は、算出したルート候補R1、R2からドローン100の飛行ルートを決定する。ドローン側情報処理装置200は、ドローン100のバッテリ残量に基づき、現在残っているバッテリで飛行可能なルート候補を飛行ルートに決定する。
ドローン側情報処理装置200は、算出したルート候補R1、R2をユーザ側情報処理装置50に送信し、ユーザがルート候補R1、R2の中からドローン100の飛行ルートを決定するようにしてもよい。
このとき、ドローン側情報処理装置200は、ドローン100のバッテリ残量に基づき、現在残っているバッテリで飛行可能なルート候補をユーザ側情報処理装置50に送信するようにしてもよい。
あるいは、ユーザ側情報処理装置50が、ドローン100のバッテリ残量に基づき、現在残っているバッテリで飛行可能なルート候補をユーザに提示するようにしてもよく、ユーザにドローン100のバッテリ残量、及び、バッテリ消費量を含むルート候補の両方をユーザに提示するようにしてもよい。
ドローン側情報処理装置200は、決定した飛行ルートでドローン100が飛行するようドローン100の飛行を制御する。
なお、ここでは、ドローン側情報処理装置200が2つの目的地候補P1、P2のルート候補R1、R2を算出するとしたが、これに限定されない。ドローン側情報処理装置200がルート候補を算出する目的地候補は、1つであってもよく、3つ以上であってもよい。
また、ここでは、ドローン側情報処理装置200が、目的地候補までの距離が最短であるルート候補を算出するとしたが、これに限定されない。ドローン側情報処理装置200が、例えば上述した天候情報、風向情報、及び、電波環境情報などを用いて、飛行時間が最短であるルート候補や、バッテリ消費量が最小であるルート候補、電波状態が最もよいルート候補などを算出するようにしてもよい。
例えば、ドローン側情報処理装置200は、風向及び風の強さなどからドローン100の機体スピードを考慮してルート候補を算出し得る。あるいは、ドローン側情報処理装置200は、例えば電波状況を考慮し、なるべく通信状態がよい経路を含むルート候補を算出し得る。
また、ここでは、ドローン側情報処理装置200が、1つの目的地候補に対して1つのルート候補を算出するとしたが、これに限定されない。ドローン側情報処理装置200が、1つの目的地候補に対して2つ以上のルート候補を算出するようにしてもよい。ドローン側情報処理装置200は、例えば、1つの目的地候補に対して、最短距離のルート候補や、バッテリ消費量が最小であるルート候補、電波状態が最もよいルート候補など、異なる観点に基づいて複数のルート候補を算出するようにしてもよい。
また、ここでは、ドローン側情報処理装置200が飛行ルートを決定するとしたが、これに限定されない。例えば、サーバ装置40がドローン100の飛行ルートを自動で選択するようにしてもよい。
<第4変形例>
上述した実施形態では、ドローン側情報処理装置200は、カメラで撮影した映像をストリーミング伝送するとしたが、これに限定されない。例えば、ドローン側情報処理装置200が、電波状態がよい場合に映像をサーバ装置40にアップロードするようにしてもよい。
あるいは、ドローン側情報処理装置200が、映像ストリーミングとは別に撮影した撮影画像(動画及び静止画を含む)を電波状態がよい場合にサーバ装置40にアップロードするようにしてもよい。なお、この場合、ドローン側情報処理装置200は、ユーザからの指示に基づいて撮影画像の撮影を行うものとする。
このように、ドローン側情報処理装置200が、電波状況がよい場合に限定して画像をサーバ装置40にアップロードすることで、電波途切れによる画像ファイルの再送信を抑制することができる。これにより、ドローン側情報処理装置200は、消費電力の増加及び通信コストの増加をより低減させることができる。
例えば、ドローン側情報処理装置200は、ドローン100の飛行中に撮影した撮影画像データを分割する。ドローン側情報処理装置200は、分割した撮影画像データを分割ファイルとしてドローン側情報処理装置200内に保管する。
ドローン側情報処理装置200は、飛行中に、飛行ルート及び電波環境情報に基づき、電波途切れを起こすことなくアップロードし得る時間を算出する。ドローン側情報処理装置200は、算出した時間でアップロードし得る分割ファイルの数を計算する。ドローン側情報処理装置200は、計算した数の分割ファイルを、算出した時間内でサーバ装置40にアップロードする。
なお、ドローン側情報処理装置200は、算出した時間に応じて分割ファイルの伝送レートや伝送方式を変更するようにしてもよい。これにより、ドローン側情報処理装置200は、電波途切れを起こすことなくアップロードし得る時間が短い場合であっても、より多くの分割ファイルをアップロードできるようになる。
<第5変形例>
上述した実施形態では、ドローン側情報処理装置200がモニタに各種情報を表示するとした。このとき、ドローン側情報処理装置200は、ドローン100の状態に応じてモニタの輝度を調整するようにする。
例えば、ドローン側情報処理装置200は、ドローン100が飛行状態であるか地面に着地した着地状態であるか否かに応じてモニタの輝度を調整する。より具体的に、ドローン側情報処理装置200は、ドローン100が飛行状態である場合、着地状態である場合よりモニタの輝度を低くする。ドローン側情報処理装置200は、ドローン100が飛行状態である場合、モニタの電源をオフ(スクリーンオフ)にしてもよい。
ドローン100が飛行状態である場合、ユーザによる画面操作は行われないと考えられる。そこで、ドローン100が飛行状態である場合、ドローン側情報処理装置200がモニタの輝度を落とす、又は、モニタの電源を切る。一方、ドローン100が着地状態である場合、ユーザにより画面操作が行われる可能性がある。そこで、ドローン100が着地状態である場合、ドローン側情報処理装置200がモニタの輝度を上げる。これにより、ドローン側情報処理装置200は、飛行中における消費電力を低減することができ、発熱を抑制することができる。
ドローン側情報処理装置200は、例えばドローン100のスロットル情報に基づき、ドローン100の飛行状態を判定する。ドローン側情報処理装置200は、例えばドローン100のスロットルが上がっている場合、ドローン100が飛行状態であると判定する。ドローン側情報処理装置200は、ドローン100が飛行状態でない場合、ドローン100が着地状態であると判定する。
あるいは、ドローン側情報処理装置200が、例えば、ドローン100のモータが駆動しているか否かに応じてドローン100の飛行状態を判定するようにしてもよい。ドローン側情報処理装置200は、例えばドローン100のモータが駆動している場合、ドローン100が飛行状態であると判定する。ドローン側情報処理装置200は、ドローン100のモータが駆動していない場合、ドローン100が着地状態であると判定する。
あるいは、ドローン側情報処理装置200が、例えば、ドローン100に搭載される近接センサの検出結果に応じてドローン100の飛行状態を判定するようにしてもよい。この近接センサは、例えば、地面との距離が一定値以下であるか否かを検出する。
例えば、地面との距離が一定値より大きいと近接センサが検出した場合、ドローン側情報処理装置200は、ドローン100が飛行状態であると判定する。例えば、地面との距離が一定値以下であると近接センサが検出した場合、ドローン側情報処理装置200は、ドローン100が着地状態であると判定する。
なお、ここでは、ドローン側情報処理装置200が、ドローン100の飛行状態に応じてモニタの輝度を調整するとしたが、これに限定されない。ドローン側情報処理装置200が、ドローン100の飛行状態に加え、実行しているアプリケーションに応じてモニタの輝度を調整するようにしてもよい。
例えば、ドローン側情報処理装置200が、ビデオチャットのようなサービスを提供している、すなわち、ビデオチャットアプリなどがドローン側情報処理装置200上で実行されているものとする。この場合、ドローン側情報処理装置200は、ドローン100が飛行状態であってもモニタの輝度を着陸状態と同じように高くする。
より具体的には、ドローン側情報処理装置200は、例えば特定のアプリケーションを実行している場合であって、ドローン100の移動速度が第4閾値未満の場合、移動速度が第4閾値以上である場合よりもモニタの輝度を低くする。例えば、ドローン側情報処理装置200は、特定のアプリケーションを実行している場合、ドローン100が飛行状態であっても、ドローン100が空中で静止している静止状態であれば、モニタの輝度を落とさず、高輝度な状態を維持する。
これにより、ドローン100が飛行状態であっても、ユーザがドローン側情報処理装置200の特定のアプリケーションを使用している場合、ドローン側情報処理装置200はモニタの輝度を落とさない。これにより、ドローン側情報処理装置200は、ユーザに対して、より見やすい画面を提示することができる。
なお、ユーザがビデオチャットを終了するなど、特定のアプリケーションの動作が終了した場合、ドローン側情報処理装置200は、ドローン100が静止状態であっても、モニタの輝度を落とすものとする。
これにより、ドローン側情報処理装置200は、特定のアプリケーションが動作している間、飛行中であってもユーザに対して見やすい画面を提示できる。また、ドローン側情報処理装置200は、特定のアプリケーションが動作していない場合、飛行中のモニタの輝度を落とす、又は、モニタの電源を切る。これにより、ドローン側情報処理装置200は、飛行中の消費電力をより削減することができ、発熱を抑制することができる。
なお、特定のアプリケーションは、ビデオチャットに限定されない。特定のアプリケーションは、ドローン100が例えば静止状態や一定の速度以下で移動している状態でユーザが使用し得るアプリケーションであればよく、例えば、動画再生アプリなどであってもよい。
<<5.その他の実施形態>>
上述の実施形態及び各変形例は一例を示したものであり、種々の変更及び応用が可能である。
上述した実施形態及び各変形例では、サーバ装置40に接続する移動体装置10及びユーザ側情報処理装置50の組が1つであるとしたが、これに限定されない。移動体装置10及びユーザ側情報処理装置50の組が複数、サーバ装置40に接続されてもよい。このように、サーバ装置40は、複数の移動体装置10に対する遠隔操作を制御(中継)し得る。
上述した実施形態及び各変形例では、1つのユーザ側情報処理装置50が1つの移動体装置10を遠隔操作するとしたが、これに限定されない。1つのユーザ側情報処理装置50が複数の移動体装置10をそれぞれ遠隔操作するようにしてもよい。
この場合、例えばユーザ側情報処理装置50は、遠隔操作の対象とする移動体装置10(又はドローン100)を選択するための画面をユーザに提示する。ユーザは、複数の移動体装置10(又はドローン100)の中から遠隔操作を行うドローン100を決定する。例えばユーザは、移動体装置10に関する情報(例えばドローンIDなど)をユーザ側情報処理装置50及びサーバ装置40に登録することで、遠隔操作の対象とする移動体装置10を追加する。
上述した実施形態及び各変形例では、1つのドローン側情報処理装置200が1つのドローン100を制御するとしたが、これに限定されない。例えば、ドローン側情報処理装置200が、複数のドローン100を制御するようにしてもよい。この場合、例えば、ドローン側情報処理装置200は、複数のドローン100のうち、制御対象であるドローン100に搭載される外部装置300に、ユーザによって装着される。このように、ユーザがドローン側情報処理装置200を付け替えることで、ドローン側情報処理装置200は、複数のドローン100を制御することができる。
本実施形態のサーバ装置40を制御する制御装置は、専用のコンピュータシステムにより実現してもよいし、汎用のコンピュータシステムによって実現してもよい。
例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布する。そして、例えば、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成する。このとき、制御装置は、サーバ装置40の外部の装置(例えば、パーソナルコンピュータ)であってもよい。また、制御装置は、サーバ装置40の内部の装置(例えば、制御部405)であってもよい。
また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。なお、この分散・統合による構成は動的に行われてもよい。
また、上述の実施形態は、処理内容を矛盾させない領域で適宜組み合わせることが可能である。また、上述の実施形態のフローチャート及びシーケンス図に示された各ステップは、適宜順序を変更することが可能である。
また、例えば、本実施形態は、装置またはシステムを構成するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
なお、本実施形態において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。例えば、本実施形態のサーバ装置40は、1つのシステムとして実現され得る。
また、例えば、本実施形態は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
<<6.むすび>>
以上、本開示の各実施形態について説明したが、本開示の技術的範囲は、上述の各実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
また、本明細書に記載された各実施形態における効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
移動体に搭載され、前記移動体を制御するための装置であって、
前記移動体を制御する情報処理装置を保持する保持部と、
前記情報処理装置から前記移動体を制御する制御情報を取得し、前記制御情報に基づいて前記移動体を制御する制御部と、
を備える装置。
(2)
前記制御部は、前記情報処理装置で動作する第1のアプリケーションを介して、前記情報処理装置で動作する第2のアプリケーションから前記制御情報を取得し、
前記第1のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
(1)に記載の装置。
(3)
前記第1のアプリケーションは、前記情報処理装置のアプリケーション・フレームワーク層で動作する、(2)に記載の装置。
(4)
前記制御情報を、前記移動体の駆動部を制御する駆動制御部に出力するための制御信号に変換する変換部をさらに備える、(1)~(3)のいずれか1つに記載の装置。
(5)
前記変換部は、前記制御情報を、PWM信号である前記制御信号に変換する、(4)に記載の装置。
(6)
前記制御部は、前記制御情報に基づき、前記移動体の移動制御部を制御する、(1)~3)のいずれか1つに記載の装置。
(7)
移動体の制御を行うシステムであって、
ユーザからの前記移動体に対する操作を受け付けるユーザ側情報処理装置と、
前記ユーザ側情報処理装置から前記ユーザによる前記操作に関する操作情報を取得するサーバ装置と、
前記サーバ装置から前記操作情報を取得し、前記操作情報に基づいて前記移動体を制御するための制御情報を生成する移動体側情報処理装置と、
前記移動体側情報処理装置から前記制御情報を取得し、前記制御情報に基づいて前記移動体を制御する装置と、を備え、
前記装置は、
前記移動体に搭載され、
前記移動体側情報処理装置を保持する保持部をさらに備え、
前記移動体側情報処理装置は、
前記装置を介して前記移動体に関する情報を取得し、
取得した前記情報を、前記サーバ装置を介して、前記ユーザ側情報処理装置に送信する、
システム。
(8)
前記サーバ装置は、
前記移動体側情報処理装置で動作する第1のアプリケーションを介して、前記移動体側情報処理装置で動作する第2のアプリケーションに前記操作情報を送信し、
前記第1のアプリケーションを介して前記第2のアプリケーションから前記移動体に関する前記情報を取得し、
前記第1のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
(7)に記載のシステム。
(9)
前記第1のアプリケーションは、前記移動体側情報処理装置のアプリケーション・フレームワーク層で動作する、(8)に記載のシステム。
(10)
前記サーバ装置は、
前記ユーザ側情報処理装置で動作する第3のアプリケーションを介して、前記ユーザ側情報処理装置で動作する第4のアプリケーションから前記操作情報を取得し、
前記第3のアプリケーションを介して前記第4のアプリケーションに前記移動体に関する前記情報を送信し、
前記第3のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
(7)~(9)のいずれか1つに記載のシステム。
(11)
前記第3のアプリケーションは、前記ユーザ側情報処理装置のアプリケーション・フレームワーク層で動作する、(10)に記載のシステム。
1 移動体システム
10 移動体装置
20 制御装置
40 サーバ装置
50 ユーザ側情報処理装置
60 基地局
100 ドローン
300 外部装置
302,405 制御部
303 変換部
310 保持部
400 ストリーミング部
401 機体操作部
402 機体情報格納部
403 状態管理部
404 通信部
406 記憶部
407 アプリ格納部

Claims (11)

  1. 移動体に搭載され、前記移動体を制御するための装置であって、
    前記移動体を制御する情報処理装置を保持する保持部と、
    前記情報処理装置から前記移動体を制御する制御情報を取得し、前記制御情報に基づいて前記移動体を制御する制御部と、
    を備える装置。
  2. 前記制御部は、前記情報処理装置で動作する第1のアプリケーションを介して、前記情報処理装置で動作する第2のアプリケーションから前記制御情報を取得し、
    前記第1のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
    請求項1に記載の装置。
  3. 前記第1のアプリケーションは、前記情報処理装置のアプリケーション・フレームワーク層で動作する、請求項2に記載の装置。
  4. 前記制御情報を、前記移動体の駆動部を制御する駆動制御部に出力するための制御信号に変換する変換部をさらに備える、請求項1に記載の装置。
  5. 前記変換部は、前記制御情報を、PWM信号である前記制御信号に変換する、請求項4に記載の装置。
  6. 前記制御部は、前記制御情報に基づき、前記移動体の移動制御部を制御する、請求項1に記載の装置。
  7. 移動体の制御を行うシステムであって、
    ユーザからの前記移動体に対する操作を受け付けるユーザ側情報処理装置と、
    前記ユーザ側情報処理装置から前記ユーザによる前記操作に関する操作情報を取得するサーバ装置と、
    前記サーバ装置から前記操作情報を取得し、前記操作情報に基づいて前記移動体を制御するための制御情報を生成する移動体側情報処理装置と、
    前記移動体側情報処理装置から前記制御情報を取得し、前記制御情報に基づいて前記移動体を制御する装置と、を備え、
    前記装置は、
    前記移動体に搭載され、
    前記移動体側情報処理装置を保持する保持部をさらに備え、
    前記移動体側情報処理装置は、
    前記装置を介して前記移動体に関する情報を取得し、
    取得した前記情報を、前記サーバ装置を介して、前記ユーザ側情報処理装置に送信する、
    システム。
  8. 前記サーバ装置は、
    前記移動体側情報処理装置で動作する第1のアプリケーションを介して、前記移動体側情報処理装置で動作する第2のアプリケーションに前記操作情報を送信し、
    前記第1のアプリケーションを介して前記第2のアプリケーションから前記移動体に関する前記情報を取得し、
    前記第1のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
    請求項7に記載のシステム。
  9. 前記第1のアプリケーションは、前記移動体側情報処理装置のアプリケーション・フレームワーク層で動作する、請求項8に記載のシステム。
  10. 前記サーバ装置は、
    前記ユーザ側情報処理装置で動作する第3のアプリケーションを介して、前記ユーザ側情報処理装置で動作する第4のアプリケーションから前記操作情報を取得し、
    前記第3のアプリケーションを介して前記第4のアプリケーションに前記移動体に関する前記情報を送信し、
    前記第3のアプリケーションは、ユーザによる変更を受け付けないアプリケーションである、
    請求項7に記載のシステム。
  11. 前記第3のアプリケーションは、前記ユーザ側情報処理装置のアプリケーション・フレームワーク層で動作する、請求項10に記載のシステム。
JP2021185814A 2021-11-15 2021-11-15 装置及びシステム Pending JP2023073018A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021185814A JP2023073018A (ja) 2021-11-15 2021-11-15 装置及びシステム
EP22892527.7A EP4434881A1 (en) 2021-11-15 2022-10-20 Device and system
PCT/JP2022/039015 WO2023085027A1 (ja) 2021-11-15 2022-10-20 装置及びシステム
CN202280074282.2A CN118215622A (zh) 2021-11-15 2022-10-20 装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021185814A JP2023073018A (ja) 2021-11-15 2021-11-15 装置及びシステム

Publications (1)

Publication Number Publication Date
JP2023073018A true JP2023073018A (ja) 2023-05-25

Family

ID=86335629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021185814A Pending JP2023073018A (ja) 2021-11-15 2021-11-15 装置及びシステム

Country Status (4)

Country Link
EP (1) EP4434881A1 (ja)
JP (1) JP2023073018A (ja)
CN (1) CN118215622A (ja)
WO (1) WO2023085027A1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9518821B2 (en) * 2012-08-02 2016-12-13 Benjamin Malay Vehicle control system
JP2017208678A (ja) 2016-05-18 2017-11-24 本郷飛行機株式会社 小型無人飛行機の通信及び制御装置並びにこれらの方法
JP6427301B2 (ja) * 2016-06-30 2018-11-21 株式会社オプティム 移動体制御アプリケーション及び移動体制御方法
CN108423164B (zh) * 2018-04-04 2021-07-30 东北大学 一种折叠式手机无人机
WO2021005782A1 (ja) * 2019-07-11 2021-01-14 株式会社センシンロボティクス 飛行体の管理サーバ及び管理システム

Also Published As

Publication number Publication date
EP4434881A1 (en) 2024-09-25
WO2023085027A1 (ja) 2023-05-19
CN118215622A (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
US11373541B2 (en) Flight permitted airspace setting device and method
US11394457B2 (en) Method, apparatus and system of providing communication coverage to an unmanned aerial vehicle
US20170123413A1 (en) Methods and systems for controlling an unmanned aerial vehicle
CN111372851B (zh) 无人航空器控制系统、无人航空器控制方法、及可读存储媒体
CN109445464B (zh) 一种飞行控制方法及飞行控制系统
US20210018938A1 (en) Computation load distribution
JP6481121B1 (ja) 飛行体の制御に関する情報表示方法
JP2023057120A (ja) 飛行体の制御に関する情報表示方法
JP2019026121A (ja) 無人航空機制御システム、その制御方法、及びプログラム
WO2023085027A1 (ja) 装置及びシステム
JP6378744B2 (ja) 飛行装置、飛行制御装置及び飛行制御方法
JP2018070013A (ja) 無人航空機制御システム、その制御方法、及びプログラム
EP3919374B1 (en) Image capturing method
US11620913B2 (en) Movable object application framework
JP2019195176A (ja) 飛行体の制御に関する情報表示方法
McClure A Low-Cost Search-and-Rescue Drone Platform
JP6582264B1 (ja) 飛行体の制御に関する情報表示方法
JP6582258B1 (ja) 飛行体の制御に関する情報表示方法
JP6582265B1 (ja) 飛行体の制御に関する情報表示方法
US20240078920A1 (en) Air traffic control system, method of identifying flying object, computer readable medium, and flying object
JP6582268B1 (ja) 飛行体の制御に関する情報表示方法
JP6582266B1 (ja) 飛行体の制御に関する情報表示方法
JP6582267B1 (ja) 飛行体の制御に関する情報表示方法
JP2019195175A (ja) 飛行体の制御に関する情報表示方法