(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-14
(45)【発行日】2023-12-22
(54)【発明の名称】モータ制御システム、無人飛行機、移動体、及びモータ制御方法
(51)【国際特許分類】
H02P 29/028 20160101AFI20231215BHJP
H02P 5/46 20060101ALI20231215BHJP
【FI】
H02P29/028
H02P5/46
(21)【出願番号】P 2020558173
(86)(22)【出願日】2019-10-18
(86)【国際出願番号】 JP2019041221
(87)【国際公開番号】W WO2020105337
(87)【国際公開日】2020-05-28
【審査請求日】2022-08-02
(31)【優先権主張番号】P 2018218504
(32)【優先日】2018-11-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002527
【氏名又は名称】弁理士法人北斗特許事務所
(72)【発明者】
【氏名】佐藤 大資
【審査官】佐藤 彰洋
(56)【参考文献】
【文献】特開2000-025592(JP,A)
【文献】国際公開第2017/122329(WO,A1)
【文献】特開2017-047736(JP,A)
【文献】特開昭52-026412(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/028
H02P 5/46
(57)【特許請求の範囲】
【請求項1】
モータと、
前記モータに対応するモータ制御装置と、を備え、
前記モータ制御装置は、
前記モータ制御装置と通信可能である複数のコントローラの各々から送信される、前記モータに対する指令を含む制御データを取得する取得部と、
前記取得部で取得した前記複数のコントローラからの複数の制御データを診断する診断部と、
前記複数の制御データのうち、前記診断部の診断結果に基づいて選定される一の制御データを用いて、前記モータを制御する制御部と、を有
し、
前記モータ制御装置は、前記複数の制御データのうちいずれか1つの制御データが前記診断部にて異常があると診断された場合、前記複数のコントローラとは別のコントローラからの制御データを取得する、
モータ制御システム。
【請求項2】
前記モータ制御装置は、他のモータ制御装置の前記診断部による診断結果を取得する、
請求項1記載のモータ制御システム。
【請求項3】
前記モータ制御装置は、前記診断部による診断結果を発信する機能を有する、
請求項1又は2に記載のモータ制御システム。
【請求項4】
前記複数のコントローラの各々は、前記複数のコントローラにそれぞれ対応する複数のセンサのうち、対応するセンサの検知結果を用いて前記制御データを生成する、
請求項1~3のいずれか1項に記載のモータ制御システム。
【請求項5】
前記複数のコントローラの各々は、自己を診断する自己診断部を有しており、
前記複数の制御データの各々は、対応するコントローラの前記自己診断部による自己診断結果を更に含む、
請求項1~4のいずれか1項に記載のモータ制御システム。
【請求項6】
前記モータ及び前記モータ制御装置は、それぞれ複数であって、
前記複数のモータ制御装置の各々は、前記複数のモータのうちの対応するモータを制御する、
請求項1~5のいずれか1項に記載のモータ制御システム。
【請求項7】
前記複数のコントローラの各々は、前記複数のモータ制御装置に対して、前記制御データをブロードキャストする、
請求項6記載のモータ制御システム。
【請求項8】
前記複数のコントローラの各々は、自己を診断する自己診断部を有しており、
前記モータ制御装置は、前記複数のコントローラの各々の前記自己診断部による自己診断結果に基づいて選定される一のコントローラからの前記制御データを用いて、対応するモータを制御する、
請求項1~7のいずれか1項に記載のモータ制御システム。
【請求項9】
それぞれ複数のプロペラを回転させる複数のモータと、
前記複数のモータをそれぞれ制御する複数のモータ制御装置と、
前記複数のモータ制御装置と通信可能であって、前記複数のモータの各々に対する指令を含む制御データを、前記複数のモータに対して送信するコントローラと、を備え、
前記複数のモータは、2以上のモータを1つのモータ群とする複数のモータ群に区分され、
前記複数のモータ制御装置の各々は、自己を診断する自己診断部を有しており、
前記コントローラは、前記自己診断部の自己診断結果に基づいて選定されるモータ制御装置が存在する場合、このモータ制御装置に対応するモータ、及びこのモータと同一のモータ群のモータを停止させ、
さらに、前記コントローラは複数であって、
前記複数のモータ制御装置の各々は、前記複数のコントローラからの複数の制御データを診断する診断部を有しており、
前記複数のコントローラの各々は、前記複数のモータ制御装置のうち1以上のモータ制御装置において、前記診断部により前記複数のコントローラの全ての制御データが異常と診断された場合、診断結果の正否を確認する確認処理を実行する、
無人飛行機。
【請求項10】
前記複数のコントローラの各々は、前記確認処理として、前記診断部により異常と判定したモータ制御装置が1つであれば、当該1つのモータ制御装置に対応するモータ、及びこのモータと同一のモータ群のモータを停止させる、
請求項9記載の無人飛行機。
【請求項11】
前記複数のコントローラの各々は、前記確認処理として、前記診断部により異常と判定したモータ制御装置が複数であれば、前記複数のコントローラの各々と通信する外部装置が異常であると判定する、
請求項9記載の無人飛行機。
【請求項12】
請求項1~8のいずれか1項に記載のモータ制御システムと、
前記モータが駆動されることにより移動する移動機構と、を備える、
移動体。
【請求項13】
モータに対応するモータ制御装置によって実行されるモータ制御方法であって、
前記モータ制御装置と通信可能である複数のコントローラの各々から送信される、前記モータに対する指令を含む制御データを取得し、
取得された前記複数のコントローラからの複数の制御データを診断し、
前記複数の制御データのうち、診断結果に基づいて選定される一の制御データを用いて、前記モータを制御し、
前記複数の制御データのうちいずれか1つの制御データに異常があると診断された場合、前記複数のコントローラとは別のコントローラからの制御データを取得する、
モータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般にモータ制御システム、無人飛行機、移動体、及びモータ制御方法に関する。
【背景技術】
【0002】
特許文献1には、無人飛行機が開示されている。この無人飛行機は、モータと、モータにより駆動されるプロペラと、モータの動作を制御する制御信号を生成するフライトコントローラと、制御信号に基づいてモータを駆動する主ESC(Electric Speed Controller)及び副ESCと、を備える。また、この無人飛行機は、主ESCの異常を検知する故障検知装置を備える。
【0003】
この無人飛行機では、主ESCの異常を検知したときに、フライトコントローラからの制御信号の入力先を主ESCから副ESCに切り替えることにより、副ESCによりモータを駆動させる。
【0004】
特許文献1に記載の無人飛行機(モータ制御システム)では、フライトコントローラ(コントローラ)に異常が発生した場合に、モータの制御を継続させることが難しい、という問題があった。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【0006】
本開示は、モータの制御を継続させやすいモータ制御システム、無人飛行機、移動体、及びモータ制御方法を提供することを目的とする。
【0007】
本開示の一態様に係るモータ制御システムは、モータと、前記モータに対応するモータ制御装置と、を備える。前記モータ制御装置は、取得部と、診断部と、制御部と、を有する。前記取得部は、制御データを取得する。前記制御データは、前記モータ制御装置と通信可能である複数のコントローラの各々から送信される、前記モータに対する指令を含む。前記診断部は、前記取得部で取得した前記複数のコントローラからの複数の制御データを診断する。前記制御部は、前記複数の制御データのうち、前記診断部の診断結果に基づいて選定される一の制御データを用いて、前記モータを制御する。前記モータ制御装置は、前記複数の制御データのうちいずれか1つの制御データが前記診断部にて異常があると診断された場合、前記複数のコントローラとは別のコントローラからの制御データを取得する。
【0008】
本開示の一態様に係る無人飛行機は、複数のモータと、複数のモータ制御装置と、コントローラと、を備える。前記複数のモータは、それぞれ複数のプロペラを回転させる。前記複数のモータ制御装置は、前記複数のモータをそれぞれ制御する。前記コントローラは、前記複数のモータ制御装置と通信可能であって、前記複数のモータの各々に対する指令を含む制御データを、前記複数のモータに対して送信する。前記複数のモータは、2以上のモータを1つのモータ群とする複数のモータ群に区分される。前記複数のモータ制御装置の各々は、自己を診断する自己診断部を有している。前記コントローラは、前記自己診断部の自己診断結果に基づいて選定されるモータ制御装置が存在する場合、このモータ制御装置に対応するモータ、及びこのモータと同一のモータ群のモータを停止させる。前記コントローラは複数である。前記複数のモータ制御装置の各々は、前記複数のコントローラからの複数の制御データを診断する診断部を有している。前記複数のコントローラの各々は、前記複数のモータ制御装置のうち1以上のモータ制御装置において、前記診断部により前記複数のコントローラの全ての制御データが異常と診断された場合、診断結果の正否を確認する確認処理を実行する。
【0009】
本開示の一態様に係る移動体は、上記のモータ制御システムと、前記モータが駆動されることにより移動する移動機構と、を備える。
【0010】
本開示の一態様に係るモータ制御方法は、モータに対応するモータ制御装置によって実行される。モータ制御方法では、制御データを取得する。前記制御データは、前記モータ制御装置と通信可能である複数のコントローラの各々から送信される前記モータに対する指令を含む。モータ制御方法では、取得された前記複数のコントローラからの複数の制御データを診断する。モータ制御方法では、前記複数の制御データのうち、診断結果に基づいて選定される一の制御データを用いて、前記モータを制御する。モータ制御方法では、前記複数の制御データのうちいずれか1つの制御データに異常があると診断された場合、前記複数のコントローラとは別のコントローラからの制御データを取得する。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本開示の一実施形態に係るモータ制御システムの概要を示すブロック図である。
【
図2】
図2は、同上のモータ制御システムを有する無人飛行機の概略構成を示す図である。
【
図3】
図3は、同上のモータ制御システムにおいて、コントローラから送信される制御データの内容の説明図である。
【
図4】
図4は、同上のモータ制御システムにおいて、モータ制御装置から送信される応答データの内容の説明図である。
【
図5】
図5は、同上のモータ制御システムにおいて、モータ制御装置の動作を説明するためのフローチャートである。
【
図6】
図6は、同上のモータ制御システムにおいて、コントローラの動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0012】
(1)概要
本実施形態のモータ制御システム10は、
図1に示すように、モータ1と、モータ1に対応するモータ制御装置2と、を備えている。
【0013】
モータ制御装置2は、
図1に示すように、取得部201と、診断部202と、制御部204と、を有する。
【0014】
取得部201は、制御データM1を取得する。制御データM1は、モータ制御装置2と通信可能である複数(ここでは、2台)のコントローラ3の各々から送信される、モータ1に対する指令A0(
図3参照)を含む。以下の説明では、複数のコントローラ3をそれぞれ区別する場合には「コントローラ31,32」という。また、以下の説明では、コントローラ31,32から送信される制御データM1を区別する場合には「制御データM11,M12」という。つまり、本実施形態では、コントローラ31,32は、それぞれモータ制御装置2に対して、制御データM11,M12を送信する。そして、本実施形態では、コントローラ31,32の構成は同一であり、したがって、コントローラ31,32から送信される制御データM11,M12は、特に異常がない限り、同じとなる。ここでいう「同じ」は、完全一致のみならず、データの受け手がいずれのデータを受けても同じ挙動をし得る程度の誤差を含んでいてもよい。
【0015】
診断部202は、取得部201で取得した複数のコントローラ3からの複数の制御データM1を診断する。本実施形態では、診断部202は、コントローラ31からの制御データM11と、コントローラ32からの制御データM12と、を診断する。
【0016】
制御部204は、複数の制御データM1のうち、診断部202の診断結果DC0(
図4参照)に基づいて選定される一の制御データM1を用いて、モータ1を制御する。例えば、モータ制御装置2は、コントローラ31,32から送信される2つの制御データM11,M12のうち、診断部202の診断結果DC0に基づいて異常がないと診断された一の制御データM1を用いて、モータ1を制御する。
【0017】
上述のように、本実施形態では、制御部204は、複数の制御データM1のうち、診断部202の診断結果DC0に基づいて選定される一の制御データM1を用いて、モータ1を制御する。例えば、複数のコントローラ3のうちの一のコントローラ31から送信される制御データM11に異常があると診断部202が判定したと仮定する。この場合、制御部204は、異常があると診断された制御データM11の送信元のコントローラ31とは別のコントローラ32から送信される制御データM12を用いて、モータ1を制御することが可能である。したがって、本実施形態では、モータ1の制御を継続させやすい、という利点がある。
【0018】
(2)詳細
以下、本実施形態のモータ制御システム10について詳細に説明する。本実施形態のモータ制御システム10は、
図1に示すように、複数(ここでは、6つ)のモータ1と、複数のモータ1にそれぞれ対応する複数(ここでは、6台)のモータ制御装置2と、を備えている。つまり、本実施形態では、モータ1及びモータ制御装置2は、それぞれ複数である。複数のモータ制御装置2の各々は、複数のモータ1のうちの対応するモータ1を制御する。
【0019】
以下の説明では、複数のモータ1をそれぞれ区別する場合には「モータ11~16」という。また、以下の説明では、複数のモータ制御装置2をそれぞれ区別する場合には、「モータ制御装置21~26」という。つまり、本実施形態では、モータ制御装置21~26は、それぞれ対応するモータ11~16を制御する。
【0020】
本実施形態では、特に断りのない限り、モータ制御システム10は、
図2に示す無人飛行機(ドローン)100の飛行を制御するために用いられるとして説明する。無人飛行機100は、機体8の周囲に配置された複数(ここでは、6枚)のプロペラ(ブレード)7が回転することにより、空中を飛行する。無人飛行機100は、例えば産業用であって、物流、運送、巡回警備、建築物の検査、又は農薬の散布などに用いられる。
【0021】
無人飛行機100は、
図1及び
図2に示すように、複数のモータ1と、複数のモータ制御装置2(
図1参照)と、複数のコントローラ3(
図1参照)と、を備える。複数のモータ1は、それぞれ複数のプロペラ7(
図2参照)を回転させる。複数のモータ制御装置2は、複数のモータ1にそれぞれ対応する。複数のコントローラ3は、それぞれ複数のモータ制御装置2と通信可能であって、複数のモータ1の各々に対する指令A0(
図3参照)を含む制御データM1を、複数のモータ1に対して送信する。
【0022】
本実施形態では、
図2に示すように、モータ11とモータ14、モータ12とモータ15、及びモータ13とモータ16とは、それぞれ機体8を挟んで対向するように配置されている。つまり、モータ11とモータ14、モータ12とモータ15、及びモータ13とモータ16とは、それぞれ対となっている。言い換えれば、複数(ここでは、6つ)のモータ1は、2以上のモータ1を1つのモータ群とする複数(ここでは、3つ)のモータ群に区分される。
【0023】
無人飛行機100は、
図1に示すように、コントローラ31,32と、2つのGPS(Global Positioning System)モジュール41,42と、無線通信機(受信機5)と、モータ制御装置21~26と、モータ11~16と、プロペラ7(
図2参照)と、を有している。そして、無人飛行機100の機体8(
図2参照)にはこれらが搭載されている。なお、コントローラ31,32と、2つのGPSモジュール41,42と、無線通信機(受信機5)と、モータ制御装置21~26とは、機体8(
図2参照)内に収納されている。そして、モータ制御装置21~26と、モータ11~16と、によりモータ制御システム10が構成されている。本実施形態では、コントローラ31,32は、無人飛行機100の構成要素であって、モータ制御システム10の構成要素には含まれていないが、含まれていてもよい。
【0024】
ここで、本実施形態では、モータ制御装置21~26はいずれも同一の構成である。したがって、以下で説明するモータ制御装置2の説明は、特に断りのない限り、モータ制御装置21~26の各々の説明に相当する。同様に、本実施形態では、コントローラ31,32はいずれも同一の構成である。したがって、以下で説明するコントローラ3の説明は、特に断りのない限り、コントローラ31,32の各々の説明に相当する。
【0025】
モータ制御装置2は、例えばESC(Electric Speed Controller)であって、取得部201と、診断部202と、自己診断部203と、制御部204と、を有している。本実施形態では、モータ制御装置2は、ハードウェアとしての1以上のプロセッサ及びメモリを主構成とするコンピュータシステムを含んでいる。そして、メモリに記録されたプログラムを1以上のプロセッサで実行することによって、診断部202、自己診断部203、及び制御部204の各々の機能が実現される。プログラムは、メモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能な光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。また、取得部201は、上記のコンピュータシステムの入力インタフェースとして実現される。
【0026】
取得部201は、複数のコントローラ3から送信される制御データM1を取得する。本実施形態では、取得部201は、コントローラ31,32から送信される制御データM11,M12を取得する。また、取得部201は、他のモータ制御装置2から送信される他の応答データM2を取得する。
【0027】
ここで、本実施形態では、コントローラ31,32と、モータ制御装置21~26との間の通信の仕様としては、CAN FD(CAN with Flexible Data-Rate)通信の仕様が採用されている。そして、コントローラ31,32と、モータ制御装置21~26は、バス型のシリアル通信線L1に接続されている。本実施形態では、コントローラ31,32からモータ制御装置21~26への制御データM1の送信と、モータ制御装置21~26からコントローラ31,32への応答データM2の送信と、の双方向の通信がシリアル通信線L1を介して行われる。以下の説明では、モータ制御装置21~26から送信される応答データM2を区別する場合には「応答データM21~M26」という。
【0028】
制御データM1は、
図3に示すように、複数のモータ1の各々に対する指令A0(ここでは、指令Am1,…,Amn)と、コントローラ3の自己診断部302(後述する)による自己診断結果DF0(ここでは、自己診断結果DFm)と、を含んでいる。本実施形態では、指令A0は、モータ1の目標回転数に相当する。ここで、“m”は自然数であって、最大値はコントローラ3の数に相当する。また、“n”は自然数であって、最大値はモータ1(又はモータ制御装置2)の数に相当する。本実施形態であれば、コントローラ31から送信される制御データM11は、モータ11~16に対する指令A11~A16と、コントローラ31の自己診断部302による自己診断結果DF1と、を含むことになる(“m=1”、“n=6”)。また、コントローラ32から送信される制御データM12は、モータ11~16に対する指令A21~A26と、コントローラ32の自己診断部302による自己診断結果DF2と、を含むことになる(“m=2”、“n=6”)。このように、本実施形態では、複数の制御データM1の各々は、対応するコントローラ3の自己診断部302による自己診断結果DF0(
図3参照)を含んでいる。
【0029】
応答データM2は、制御データM1に対する応答である。応答データM2は、
図4に示すように、計測値B1,B2,B3(ここでは、計測値Bn1,Bn2,Bn3)と、モータ制御装置2の自己診断部203による自己診断結果DE0(ここでは、自己診断結果DEn)と、を含んでいる。また、応答データM2は、制御データM1に対する診断部202による診断結果DC0(ここでは、診断結果DC1,…,DCm)を含んでいる。計測値B1,B2,B3は、それぞれモータ1の回転数の計測値と、モータ1のコイルに流れる電流の計測値と、モータ1の周囲温度の計測値と、を表している。本実施形態であれば、例えばモータ制御装置21から送信される応答データM21は、計測値B11,B12,B13と、モータ制御装置21の自己診断部203による自己診断結果DE1と、を含むことになる。また、応答データM21は、制御データM11,M12に対する診断部202による診断結果DC1,DC2を含むことになる。このように、本実施形態では、モータ制御装置2は、診断部202による診断結果DC0を発信する機能を有している。
【0030】
また、
図1に示すように、取得部201は、シリアル通信線L1を介して、他のモータ制御装置2から送信される他の応答データM2を取得する。一例として、モータ制御装置21は、他のモータ制御装置22~26から送信される他の応答データM22~M26を取得する。ここで、他の応答データM2には、他のモータ制御装置2の診断部202による診断結果DC0が含まれている。つまり、本実施形態では、モータ制御装置2は、他のモータ制御装置2の診断部202による診断結果DC0(
図4参照)を取得することになる。
【0031】
診断部202は、取得部201で取得したコントローラ31,32からの制御データM11,M12、及び他のモータ制御装置2から送信される他の応答データM2などを診断する。これによって、診断部202は、コントローラ31,32及び他のモータ制御装置2などに異常があるか否かを判定する。診断に要する時間は、例えば1~数十[μs]程度である。診断部202は、指令(ここでは、目標回転数)A0に関して、例えば瞬時値、単位時間当たりの変化量、平均値、及び分散値などを算出する。次に、診断部202は、これらの算出値の各々について、最大値が最大閾値を上回るか否か、及び最小値が最小閾値を下回るか否か、を判定する。最大閾値及び最小閾値は、これらの算出値の各々について、予め設定される。そして、診断部202は、これらの算出値のうちのいずれか1以上の値において、最大閾値を上回る(又は最小閾値を下回る)と、指令A0に異常があると判定する。さらに、診断部202は、前回の制御データM1を取得した後で、所定の時間内に次の制御データM1を検知できない場合、この制御データM1を出力したコントローラ3に異常があると判定する。また、診断部202は、前回の応答データM2を取得してから所定の時間内に次の応答データM2を取得できない場合、この応答データM2を出力したモータ制御装置2に異常があると判定する。
【0032】
具体的には、本実施形態のように複数のプロペラ7を持つ無人飛行機100では、空中で停止している場合であっても、各プロペラ7の回転数を微妙に変化させながら、機体8のバランスをとっている。このため、指令A0の単位時間当たりの変化量及び分散値が零になる事態は通常、生じ得ない。したがって、診断部202は、算出した単位時間当たりの変化量及び分散値のいずれかが最小閾値を下回れば、異常と判定する。また、無人飛行機100が急速に上昇、下降、又は旋回する場合であっても、コントローラ3の制御データM1を送信する周期は、例えば、1~数十[ms]程度であり、極めて高速である。このため、通常、周期ごとに指令A0が大きく変化する事態は生じ得ない。したがって、診断部202は、算出した単位時間当たりの変化量が最大閾値を上回れば、異常と判定する。また、無人飛行機100が重量物を搬送している場合、指令A0の瞬時値及び平均値は、重量物を搬送していない場合と比較して大きくなるため、通常、零になる事態は生じ得ない。したがって、診断部202は、算出した瞬時値及び平均値のいずれかが最小閾値を下回れば、異常と判定する。
【0033】
自己診断部203は、自己診断部203を有するモータ制御装置2自体(つまり、自己)を診断する。具体的には、自己診断部203は、モータ制御装置2に内蔵されているセンサ、マイクロコントローラ、及びモータ1を駆動するためのインバータ回路など(図示せず)の状態を診断する。そして、自己診断部203は、これらの状態のうち1以上の状態に異常があれば、モータ制御装置2に異常があると判定する。
【0034】
制御部204は、取得部201で取得した複数の制御データM1のうち、診断部202の診断結果DC0に基づいて選定される一の制御データM1を用いて、対応するモータ1を制御する。本実施形態では、診断部202にて制御データM11,M12のいずれかに異常があると診断されない限り、制御部204は、制御データM11を用いて、対応するモータ1を制御する。そして、制御部204は、例えば診断部202にて制御データM11に異常があると判定すると、以降、制御データM11の代わりに制御データM12を用いて、対応するモータ1を制御する。
【0035】
診断部202は、例えばノイズなどによって複数の制御データM1のうちのいずれかを一時的に異常であると判定する場合もある。このような場合、時間の経過によって制御データM1は正常値へ復帰する。また、コントローラ3は、診断部202で異常であると判定されても、制御データM1の送信を続ける。そこで、診断部202にて例えば制御データM11に異常があると判定した後で、制御データM12にも異常があると判定し、かつ制御データM11が正常値に復帰していると判定した場合、制御部204は、制御データM12の代わりに再度制御データM11を用いて、対応するモータ1を制御することもできる。なお、この場合、診断部202は、制御データM11に異常があると判定した後に、規定時間(あるいは規定回数)以上、制御データM11の正常値が継続されている場合にコントローラ31が一時的に異常値を出力したと判定することが好ましい。
【0036】
制御部204は、選定された一の制御データM1に含まれる、対応するモータ1の目標回転数のデータを参照して、対応するモータ1の回転数が目標回転数に一致するようにモータ1を制御する。例えば、モータ制御装置21の制御部204は、制御データM11に含まれるモータ11の目標回転数のデータを参照して、モータ11の回転数が目標回転数に一致するようにモータ11を制御する。
【0037】
また、制御部204は、モータ制御装置2に内蔵されている各種センサの検知結果に基づいて、計測値B1,B2,B3を取得する。そして、制御部204は、計測値B1,B2,B3と、診断部202による診断結果DC0と、自己診断部203による自己診断結果DE0と、を含む応答データM2を生成する。制御部204は、シリアル通信線L1を介して、生成した応答データM2を複数のコントローラ3に対して定期的に送信する。
【0038】
コントローラ3は、例えば通信方式としてPWM(Pulse Width Modulation)方式を用いたフライトコントローラであって、センサ301と、自己診断部302と、を有している。本実施形態では、コントローラ3は、ハードウェアとしての1以上のプロセッサ及びメモリを主構成とするコンピュータシステムを含んでいる。そして、メモリに記録されたプログラムを1以上のプロセッサで実行することによって、自己診断部302の機能が実現される。プログラムは、メモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能な光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。
【0039】
センサ301は、無人飛行機100の状態を検知する1以上のセンサを含んでいる。センサ301に含まれるセンサは、一例として、無人飛行機100の姿勢を検知するジャイロセンサ、無人飛行機100の加速度を検知する加速度センサ、及び無人飛行機100の進行方向を検知する地磁気センサなどである。本実施形態では、コントローラ31に内蔵されたセンサ301と、コントローラ32に内蔵されたセンサ301の構成は同一であり、したがって、これらセンサ301の検知結果は、特に異常がない限り、同じとなる。
【0040】
本実施形態では、後述するGPSモジュール41(又はGPSモジュール42)もセンサ301の一部である。以下の説明では、特に断りのない限り、コントローラ31(又はコントローラ32)に内蔵されたセンサ301と、GPSモジュール41(又はGPSモジュール42)と、を併せて「センサ301」という。
【0041】
本実施形態では、コントローラ31,32は、センサを共有していない。言い換えれば、コントローラ31で用いられるセンサ301と、コントローラ32で用いられるセンサ301とは、互いに独立している。つまり、複数のコントローラ3の各々は、複数のセンサ301のうち、対応するセンサ301の検知結果を用いて制御データM1を生成する。複数のセンサ301は、複数のコントローラ3にそれぞれ対応する。
【0042】
自己診断部302は、自己診断部302を有するコントローラ3自体(つまり、自己)を診断する。具体的には、自己診断部302は、センサ301及び受信機5などの状態を診断する。そして、自己診断部302は、これらの状態のうち1以上の状態に異常があれば、コントローラ3に異常があると判定する。なお、コントローラ3は、自己診断部302にて自己に対応したセンサ301に異常があると判定した場合、以降、他のコントローラ3に対応するセンサ301の検知結果を用いてもよい。
【0043】
コントローラ3は、センサ301の検知結果、及び受信機5からの主指令(後述する)に基づいて、複数のモータ1の各々に対する指令A0を生成する。そして、コントローラ3は、指令A0と、自己診断部302による自己診断結果DF0と、を含む制御データM1を生成する。コントローラ3は、シリアル通信線L1を介して、生成した制御データM1を複数のモータ制御装置2に対して定期的にブロードキャストする。つまり、複数のコントローラ3の各々は、複数のモータ制御装置2に対して、制御データM1をブロードキャストする。
【0044】
上記の態様によれば、複数のモータ制御装置2の各々は、殆ど同時に、かつ、短時間でコントローラ3からの制御データM1(つまり、指令A0)を更新することが可能である。ここで、複数のコントローラ3の各々が、複数のモータ制御装置2に対して、制御データM1を順次ユニキャストすると仮定する。この場合、いずれかのモータ制御装置2にて異常が発生すると、異常が発生したモータ制御装置2にて通信の遅延が生じ得る。すると、他のモータ制御装置2での指令A0の更新の遅れが生じ、結果として機体8の姿勢制御の応答性、及び機体8の姿勢の安定性の低下が生じ得る。一方、上記の態様によれば、いずれかのモータ制御装置2にて異常が発生した場合でも、他のモータ制御装置2では指令A0を更新して即座に対処することができるので、機体8の姿勢の安定性の低下を抑制しやすい、という利点がある。
【0045】
その他、本実施形態では、コントローラ3は、複数のモータ1の動作のバランスを診断するバランス診断機能を有している。バランス診断機能では、コントローラ3は、無人飛行機100の飛行中において、全てのモータ制御装置2から取得した全てのモータ1の計測値B1,B2,B3について比較的長時間観測し、モータ1ごとに大きな違いが発生しているかどうかを診断する。本実施形態では、コントローラ3は、例えば全てのモータ1の計測値B1,B2,B3の単位時間当たりの変化量、平均値、及び分散値などを算出し、これらの算出値に基づいて、複数のモータ1の動作のバランスに異常があるか否かを診断する。
【0046】
例えば、あるモータ1の計測値B2(電流値)だけが、全体の平均値(ここでは、6つのモータ1の電流値の平均値)よりも小さく、かつ、最小閾値以上に小さい場合、プロペラ7の欠損が発生している可能性が高い。この場合、コントローラ3は、モータ1に接続されているプロペラ7に異常があると判定する。また、あるモータ1において、計測値B1(回転数)が所定の回転数に達するまでは計測値B2が全体の平均値と同じであるが、それ以上の回転数になると計測値B2が回転数と共に上がらない場合、このモータ1の空転が発生している可能性が高い。この場合、コントローラ3は、モータ1の空転による異常があると判定する。また、あるモータ1の計測値B2だけが全体の平均値よりも大きく、かつ、最大閾値以上に大きい場合、プロペラ7若しくはモータ1のシャフトの変形、又はモータ1のベアリングの隙間若しくはロータとステータとの隙間への異物の混入が発生している可能性が高い。この場合、コントローラ3は、プロペラ7若しくはモータ1の一部の変形、又は異物の混入による異常があると判定する。さらに、あるモータ1の計測値B3(温度)が全体の平均値(ここでは、6つのモータ1の温度の平均値)よりも大きく、かつ最大閾値以上に大きい場合、モータ1のマグネットが減磁している可能性が高い。この場合、コントローラ3は、モータ1のマグネットの減磁による異常があると判定する。
【0047】
なお、搬送物の重量、プロペラ7の形状、飛行高度、又は天候(気圧など)によりモータ1の負荷が変化する無人飛行機100では、これらの異常の判定は難しい。そこで、コントローラ3は、上記のように計測値B2,B3の平均値だけではなく、単位時間当たりの変化量又は分散値などを用いて、複数のモータ1の動作のバランスに異常があるか否かを診断してもよい。また、コントローラ3は、上記のように全体の平均値だけでなく、片側に配置されたモータ1の平均値を用いて、複数のモータ1の動作のバランスに異常があるか否かを診断してもよい。ここでいう「片側に配置されたモータ」は、一例として、
図2において機体8の前側に配置されたモータ13,14,15などである。ここでいう「前」は、無人飛行機100の進行方向における前方である。なお、
図2中の前後方向を示す矢印は説明のために表記しているに過ぎず、実体を伴わない。
【0048】
さらに、コントローラ3は、応答データM21~M26を参照し、いずれかのモータ制御装置2の自己診断結果DE0に異常がある場合、このモータ制御装置2が異常であると判定する。また、コントローラ3は、前回の応答データM2を取得してから所定の時間内に次の応答データM2を取得できない場合、この応答データM2を出力したモータ制御装置2に異常があると判定する。
【0049】
GPSモジュール41,42は、いずれも測位システムとしてGPSを用いて、無人飛行機100の現在の位置情報(例えば、緯度及び経度)を測定するように構成されている。本実施形態では、GPSモジュール41,42の構成は同一であり、したがって、GPSモジュール41,42の測位結果は、特に異常がない限り、同じとなる。GPSモジュール41の測位結果は、コントローラ31に与えられ、GPSモジュール42の測位結果は、コントローラ32に与えられる。
【0050】
受信機5は、例えば地上に設置されている無線通信機(送信機6)との間で電波を媒体とする無線通信を行うように構成されている。無線通信にて使用する周波数帯域は、一例として、2.4GHz帯などの特定小電力無線局(免許を要しない無線局)に準拠する。受信機5は、送信機6から送信される主指令を受信し、受信した主指令をコントローラ31,32へ与える。ここでいう「主指令」は、一例として、無人飛行機100が到達すべき目標位置、及び目標位置への到達時刻などを含み得る。
【0051】
(3)動作
以下、本実施形態のモータ制御システム10及び無人飛行機100の動作について説明する。以下の説明では、全てのモータ制御装置2の制御部204は、コントローラ31から送信される制御データM11を用いて対応するモータ1を制御している、と仮定する。
【0052】
(3.1)モータ制御装置の動作
まず、モータ制御装置2の動作について、主として
図5を用いて説明する。モータ制御装置2は、まず、自己診断部203による診断を実行し、自己診断結果DE0を取得する(S101)。次に、モータ制御装置2は、コントローラ31,32から制御データM11,M12を取得する(S102)。そして、モータ制御装置2は、診断部202にて制御データM11,M12を診断し、診断結果DC0を取得する(S103)。その後、モータ制御装置2の制御部204は、応答データM2を生成し、生成した応答データM2をコントローラ31,32に対して送信する(S104)。このとき、モータ制御装置2は、他のモータ制御装置2から送信される他の応答データM2を取得する(S105)。
【0053】
次に、モータ制御装置2の制御部204は、ステップS106~S109を実行することにより、対応するモータ1を停止させる(S110)、又は対応するモータ1の制御を実行する(S112)。以下では、制御部204がステップS106,S107,S108,S109をこの順に実行すると仮定して説明するが、ステップS106~S109の順番は、この順に限定されない。
【0054】
制御部204は、自己が取得した自己診断結果DE0に異常があれば(S106:Yes)、対応するモータ1を停止させる(S110)。また、制御部204は、他の応答データM22~M26を参照し、対応するモータ1と対となるモータ1を制御するモータ制御装置2の自己診断結果DE0に異常がある場合も(S107:Yes)、対応するモータ1を停止させる(S110)。ここでいう「対となるモータ」は、対応するモータ1と同一のモータ群に属するモータ1である。一例として、モータ制御装置21に対応するモータ11と対となるモータ1は、モータ14である(
図2参照)。
【0055】
制御部204は、制御データM11,M12を参照し、コントローラ31の自己診断結果DF1に異常があれば(S108:Yes)、対応するモータ1の制御に用いる制御データM11を制御データM12に切り替える(S111)。なお、制御部204は、コントローラ32の自己診断結果DF2に異常がある場合は、制御データM11を継続して用いる。このように、本実施形態では、モータ制御装置2は、複数のコントローラ3の各々の自己診断部302による自己診断結果DF0に基づいて選定される一のコントローラ3からの制御データM1を用いて、モータ1を制御する。
【0056】
また、制御部204は、自己が取得した診断結果DC0、及び他の応答データM22~M26を参照することで、全てのモータ制御装置2の診断結果DC0を確認する。そして、制御部204は、全てのモータ制御装置2の診断結果DC0のいずれかで制御データM11に異常がある場合も(S109:Yes)、対応するモータ1の制御に用いる制御データM11を制御データM12に切り替える(S111)。なお、制御部204は、制御データM12に異常がある場合は、制御データM11を継続して用いる。
【0057】
(3.2)コントローラの動作
次に、コントローラ3の動作について、主として
図6を用いて説明する。コントローラ3は、まず、自己診断部302による診断を実行し、自己診断結果DF0を取得する(S201)。次に、コントローラ3は、センサ301の検知結果、及び受信機5の受信した主指令を取得する(S202)。また、コントローラ3は、モータ制御装置21~26から応答データM21~M26を受信することで、応答データM21~M26を取得する(S203)。
【0058】
次に、コントローラ3は、ステップS204~S206、及びステップS207,S208を実行した後に、後述する停止指令を含めて、モータ制御装置21~26の各々に対する指令A0を生成する(S211)。そして、コントローラ3は、生成した指令A0と、自己診断結果DF0と、を含めた制御データM1をモータ制御装置21~26に対して送信する(S212)。以下では、コントローラ3がステップS204~S207(ステップS208を含む)をこの順に実行すると仮定して説明するが、ステップS204~S207の順番は、この順に限定されない。
【0059】
コントローラ3は、応答データM21~M26を参照し、いずれかのモータ制御装置2の自己診断結果DE0に異常がある場合(S204:Yes)、モータ制御装置2にモータ1を停止させるための停止指令を生成する(S209)。ここでは、コントローラ3は、異常のあるモータ制御装置21に対応するモータ1、及びこのモータ1と同一のモータ群のモータ1の各々について、停止指令を生成する。このように、本実施形態では、コントローラ3は、自己診断部203の自己診断結果DE0に基づいて選定されるモータ制御装置2が存在する場合、このモータ制御装置2に対応するモータ1、及びこのモータ1と同一のモータ群のモータ1を停止させる。
【0060】
ここで、任意のモータ群に属するモータ1に異常があったとして、このモータ1を停止させると仮定する。この場合、このモータ群に属する他のモータ1が動作を継続すると、無人飛行機100の姿勢のバランスが失われ、飛行を継続することが困難となり得る。つまり、同一のモータ群に属する2以上のモータ1は、1つでも動作が停止すると無人飛行機100の姿勢のバランスに影響を及ぼし得るモータ1である。そこで、本実施形態では、同一のモータ群に属する全てのモータ1を停止させることで、無人飛行機100の姿勢のバランスを維持させる。
【0061】
コントローラ3は、応答データM21~M26を参照し、診断結果DC1,DC2の両方について異常(以下、「全異常」ともいう)を判定したモータ制御装置2が1台以上あれば、診断結果DC0の正否を確認する確認処理を実行する。言い換えれば、複数のコントローラ3の各々は、複数のモータ制御装置2のうち1以上のモータ制御装置2において、診断部202により複数のコントローラ3の全ての制御データM1が異常と診断された場合、確認処理を実行する。
【0062】
そして、コントローラ3は、確認処理において、全異常を判定したモータ制御装置2が1台であれば(S205:Yes)、このモータ制御装置2が異常であると判定する。そして、コントローラ3は、異常のあるモータ制御装置21に対応するモータ1、及びこのモータ1と同一のモータ群のモータ1の各々について、停止指令を生成する(S209)。言い換えれば、複数のコントローラ3の各々は、確認処理として、診断部202により異常と判定したモータ制御装置2が1つであれば、当該1つのモータ制御装置2に対応するモータ1、及びこのモータ1と同一のモータ群のモータ1を停止させる。
【0063】
一方、コントローラ3は、確認処理において、全異常を判定したモータ制御装置2が複数台あれば(S206:Yes)、外部装置が異常であると判定する。言い換えれば、複数のコントローラ3の各々は、確認処理として、診断部202により異常と判定したモータ制御装置2が複数であれば、複数のコントローラ3の各々と通信する外部装置が異常であると判定する。ここでいう「外部装置」は、一例として、受信機5及び送信機6である。そして、コントローラ3は、無人飛行機100の到達すべき目標位置を、主指令に基づく目標位置から、予め指定された指定位置(言い換えれば、避難位置)へ切り替える(S210)。
【0064】
コントローラ3は、バランス診断機能により、モータ11~16の動作のバランスを診断する(S207)。そして、コントローラ3は、バランス診断にて異常がある場合(S208:Yes)、バランスの異常に寄与するモータ1、及びこのモータ1と同一のモータ群のモータ1の各々について、停止指令を生成する(S209)。
【0065】
上述のように、本実施形態では、制御部204は、複数の制御データM1のうち、診断部202の診断結果DC0に基づいて選定される一の制御データM1を用いて、対応するモータ1を制御する。例えば、複数のコントローラ3のうちの一のコントローラ31から送信される制御データM11に異常があると診断部202が判定したと仮定する。この場合、制御部204は、異常があると診断された制御データM11の送信元のコントローラ31とは別のコントローラ32から送信される制御データM12を用いて、対応するモータ1を制御することが可能である。
【0066】
ここで、例えばコントローラ3に内蔵されたセンサ301又はマイクロコントローラなどにおいて、振動又は熱などの外部要因により半導体部品の突発的な異常が発生することで、コントローラ3の動作に不具合が生じる、つまり異常が発生する可能性がある。このような場合でも、本実施形態では、上述のように、通常用いているコントローラ3とは別のコントローラ3から送信される制御データM1を用いることができるので、モータ1の制御を継続させやすい、という利点がある。
【0067】
また、本実施形態では、コントローラ3を追加すればよいので、コントローラ3と比較して高価で重量のあるモータ制御装置2、又は電源ハーネス、切替回路、若しくはパラシュート等を追加する必要がない。このため、本実施形態では、モータ1の制御の継続性を担保しつつ、無人飛行機100の重量及びコストの増加を抑制しやすい、という利点がある。
【0068】
(4)変形例
上述の実施形態は、本開示の様々な実施形態の一つに過ぎない。上述の実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。モータ制御システム10と同様の機能は、モータ制御方法、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。
【0069】
一態様に係るモータ制御方法は、制御データM1を診断する方法を含む。制御データM1は、複数のコントローラ3の各々から送信される、モータ1に対する指令を含む。モータ制御方法は、複数のコントローラ3からの複数の制御データM1のうち、診断結果DC0に基づいて選定される一の制御データM1を用いて、モータ1を制御する方法を含む。
【0070】
以下、上述の実施形態の変形例を列挙する。以下に説明する変形例は、適宜組み合わせて適用可能である。
【0071】
本開示におけるモータ制御装置2(又はコントローラ3)は、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示におけるモータ制御装置2(又はコントローラ3)としての機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(IC)又は大規模集積回路(LSI)を含む1ないし複数の電子回路で構成される。ここでいうIC又はLSI等の集積回路は、集積の度合いによって呼び方が異なっており、システムLSI、VLSI(Very Large Scale Integration)、又はULSI(Ultra Large Scale Integration)と呼ばれる集積回路を含む。更に、LSIの製造後にプログラムされる、FPGA、又はLSI内部の接合関係の再構成若しくはLSI内部の回路区画の再構成が可能な論理デバイスについても、プロセッサとして採用することができる。複数の電子回路は、1つのチップに集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、1つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。ここでいうコンピュータシステムは、1以上のプロセッサ及び1以上のメモリを有するマイクロコントローラを含む。したがって、マイクロコントローラについても、半導体集積回路又は大規模集積回路を含む1ないし複数の電子回路で構成される。
【0072】
また、モータ制御装置2(又はコントローラ3)における複数の機能が、1つの筐体内に集約されていることはモータ制御装置2(又はコントローラ3)に必須の構成ではない。つまり、モータ制御装置2(又はコントローラ3)の構成要素は、複数の筐体に分散して設けられていてもよい。更に、モータ制御装置2(又はコントローラ3)の少なくとも一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
【0073】
また、複数のモータ制御装置2の各々において、診断部202は、自己に対する制御データM1に限らず、他のモータ制御装置2に対する制御データM1についても診断してもよい。この場合、一例として、制御データM11に異常があると判定したモータ制御装置2が所定の台数(例えば半数以上)存在する場合に、コントローラ31が異常であると判定してもよい。一方、一例として、1台のモータ制御装置2だけが制御データM11に異常があると判定し、残りのモータ制御装置2が制御データM11に異常がないと判定した場合、制御データM11に異常があると判定したモータ制御装置2に異常がある、と判定してもよい。
【0074】
また、通常用いている制御データM11ではなく、コントローラ32から送信される制御データM12が異常であると判定された場合、コントローラ31は、上位システムへコントローラ32に異常が発生した旨を通知してもよい。ここでいう「上位システム」は、一例として、無人飛行機100を用いたサービスを提供する事業者が運営する管理システムである。
【0075】
また、無人飛行機100は、3台以上のコントローラ3を備えていてもよい。この場合、全てのコントローラ3から制御データM1を送信してもよいし、上述の実施形態と同様に3台以上のコントローラ3のうちの2台のコントローラ3から制御データM1を送信してもよい。後者の場合、2台のコントローラ3が上述の実施形態でいう「複数のコントローラ」に相当し、残りのコントローラ3が「未使用のコントローラ(別のコントローラ)」に相当する。
【0076】
そして、2台のコントローラ3のうちの1台のコントローラ3が送信する制御データM1が異常と診断されると、残り1台のコントローラ3と、未使用のコントローラ3のうちの1台のコントローラ3とから制御データM1を送信すればよい。言い換えれば、モータ制御装置2は、複数の制御データM1のうちいずれか1つの制御データM1が診断部202にて異常があると診断された場合、複数のコントローラ3とは別のコントローラ3からの制御データM1を取得すればよい。
【0077】
また、複数のコントローラ3は、各々が独立したパッケージであってもよいし、1つのパッケージに収容されていてもよい。例えば、2台のコントローラ3は、1つのデュアルコアのプロセッサを有するパッケージで実現されてもよい。この場合、2つのコアがそれぞれ2つのコントローラ3に対応することになる。
【0078】
また、無人飛行機100は、複数のコントローラ3の代わりに、1台のコントローラ3のみを備えていてもよい。この態様では、複数のモータ制御装置2の各々は、複数のコントローラ3から送信される制御データM1から一の制御データM1を選定することはできない。一方、この態様でも、コントローラ3は、自己診断部203の自己診断結果DF0に基づいて選定されるモータ制御装置2が存在する場合、このモータ制御装置2に対応するモータ1、及びこのモータ1と同一のモータ群のモータ1を停止させることは可能である。
【0079】
また、モータ制御システム10を用いる対象としては、無人飛行機100に限定されず、例えば電気自動車などの移動体であってもよい。つまり、移動体(一例として、電気自動車)は、モータ制御システム10と、モータ1が駆動されることにより移動する移動機構(一例として、車輪及びタイヤ)と、を備えていてもよい。
【0080】
(まとめ)
以上述べたように、第1の態様に係るモータ制御システム(10)は、モータ(1)と、モータ(1)に対応するモータ制御装置(2)と、を備える。モータ制御装置(2)は、取得部(201)と、診断部(202)と、制御部(204)と、を有する。取得部(201)は、制御データ(M1)を取得する。制御データ(M1)は、モータ制御装置(2)と通信可能である複数のコントローラ(3)の各々から送信される、モータ(1)に対する指令(A0)を含む。診断部(202)は、取得部(201)で取得した複数のコントローラ(3)からの複数の制御データ(M1)を診断する。制御部(204)は、複数の制御データ(M1)のうち、診断部(202)の診断結果(DC0)に基づいて選定される一の制御データ(M1)を用いて、モータ(1)を制御する。
【0081】
この態様によれば、モータ(1)の制御を継続させやすい、という利点がある。
【0082】
第2の態様に係るモータ制御システム(10)では、第1の態様において、モータ制御装置(2)は、他のモータ制御装置(2)の診断部(202)による診断結果(DC0)を取得する。
【0083】
この態様によれば、他のモータ制御装置(2)での診断結果(DC0)に基づいて、全てのモータ制御装置(2)で同じ一の制御データ(M1)を用いるので、各モータ制御装置(2)の動作を統一させやすい、という利点がある。
【0084】
第3の態様に係るモータ制御システム(10)では、第1又は第2の態様において、モータ制御装置(2)は、診断部(202)による診断結果(DC0)を発信する機能を有する。
【0085】
この態様によれば、例えばコントローラ(3)に診断結果(DC0)を発信することにより、コントローラ(3)で診断結果(DC0)を共有することができる、という利点がある。
【0086】
第4の態様に係るモータ制御システム(10)では、第1~第3のいずれかの態様において、複数のコントローラ(3)の各々は、複数のセンサ(301)のうち、対応するセンサ(301)の検知結果を用いて制御データ(M1)を生成する。複数のセンサ(301)は、複数のコントローラ(3)にそれぞれ対応する。
【0087】
この態様によれば、いずれかのセンサ(301)に異常がある場合にも、正常なセンサ(301)を用いるコントローラ(3)からの制御データ(M1)を用いることで、モータ(1)の制御を継続させやすい、という利点がある。
【0088】
第5の態様に係るモータ制御システム(10)では、第1~第4のいずれかの態様において、複数のコントローラ(3)の各々は、自己を診断する自己診断部(302)を有している。複数の制御データ(M1)の各々は、対応するコントローラ(3)の自己診断部(302)による自己診断結果(DF0)を更に含む。
【0089】
この態様によれば、複数のコントローラ(3)の各々が制御データ(M1)とは別に自己診断部(302)による自己診断結果(DF0)を送信する場合と比較して、モータ制御装置(2)との通信に要する時間の短縮を図りやすい、という利点がある。
【0090】
第6の態様に係るモータ制御システム(10)では、第1~第5のいずれかの態様において、モータ(1)及びモータ制御装置(2)は、それぞれ複数である。複数のモータ制御装置(2)の各々は、複数のモータ(1)のうちの対応するモータ(1)を制御する。
【0091】
この態様によれば、複数のモータ(1)のうちの少なくとも1以上のモータ(1)の制御を継続させやすい、という利点がある。
【0092】
第7の態様に係るモータ制御システム(10)では、第6の態様において、複数のコントローラ(3)の各々は、複数のモータ制御装置(2)に対して、制御データ(M1)をブロードキャストする。
【0093】
この態様によれば、複数のモータ制御装置(2)ごとに制御データ(M1)をユニキャストする場合と比較して、複数のモータ制御装置(2)との通信に要する時間の短縮を図りやすい、という利点がある。
【0094】
第8の態様に係るモータ制御システム(10)では、第1~第7のいずれかの態様において、複数のコントローラ(3)の各々は、自己を診断する自己診断部(302)を有している。モータ制御装置(2)は、複数のコントローラ(3)の各々の自己診断部(302)による自己診断結果(DF0)に基づいて選定される一のコントローラ(3)からの制御データ(M1)を用いて、対応するモータ(1)を制御する。
【0095】
この態様によれば、例えば複数のコントローラ(3)のうちの一のコントローラ(3)に異常がある場合、別のコントローラ(3)からの制御データ(M1)を用いることで、モータ(1)の制御を継続させやすい、という利点がある。
【0096】
第9の態様に係るモータ制御システム(10)では、第1~第8のいずれかの態様において、モータ制御装置(2)は、以下の処理を実行する。すなわち、モータ制御装置(2)は、複数の制御データ(M1)のうちいずれか1つの制御データ(M1)が診断部(202)にて異常があると診断された場合、複数のコントローラ(3)とは別のコントローラ(3)からの制御データ(M1)を取得する。
【0097】
この態様によれば、例えば3台以上のコントローラ(3)のうちの2台のコントローラ(3)を複数のコントローラ(3)として使用していた場合に、以下のような利点がある。すなわち、2台のコントローラ(3)のうちの1台のコントローラ(3)が使用できなくなっても、これら2台のコントローラ(3)とは別のコントローラ(3)を複数のコントローラ(3)として補填することができる、という利点がある。
【0098】
第10の態様に係る無人飛行機(100)は、複数のモータ(1)と、複数のモータ制御装置(2)と、コントローラ(3)と、を備える。複数のモータ(1)は、それぞれ複数のプロペラ(7)を回転させる。複数のモータ制御装置(2)は、複数のモータ(1)をそれぞれ制御する。コントローラ(3)は、複数のモータ制御装置(2)と通信可能であって、複数のモータ(1)の各々に対する指令(A0)を含む制御データ(M1)を、複数のモータ(1)に対して送信する。複数のモータ(1)は、2以上のモータ(1)を1つのモータ群とする複数のモータ群に区分される。複数のモータ制御装置(2)の各々は、自己を診断する自己診断部(203)を有している。コントローラ(3)は、自己診断部(203)の自己診断結果(DE0)に基づいて選定されるモータ制御装置(2)が存在する場合、このモータ制御装置(2)に対応するモータ(1)、及びこのモータ(1)と同一のモータ群のモータ(1)を停止させる。
【0099】
この態様によれば、例えば複数のモータ制御装置(2)のうちの一のモータ制御装置(2)に異常があった場合、このモータ制御装置(2)の異常の影響を受けるモータ(1)を停止させる。したがって、この態様によれば、モータ(1)の制御(言い換えれば、無人飛行機(100)の飛行制御)を継続させやすい、という利点がある。
【0100】
第11の態様に係る無人飛行機(100)では、第10の態様において、コントローラ(3)は複数である。複数のモータ制御装置(2)の各々は、複数のコントローラ(3)からの複数の制御データ(M1)を診断する診断部(202)を有している。複数のコントローラ(3)の各々は、複数のモータ制御装置(2)のうち1以上のモータ制御装置(2)において、診断部(202)により複数のコントローラ(3)の全ての制御データ(M1)が異常と診断された場合、確認処理を実行する。確認処理は、診断結果(DC0)の正否を確認する処理である。
【0101】
この態様によれば、複数のコントローラ(3)の全ての制御データ(M1)が異常と診断された場合でも、複数のコントローラ(3)及び1以上のモータ制御装置(2)のいずれが正しいかを確認する。したがって、この態様によれば、モータ(1)の制御(言い換えれば、無人飛行機(100)の飛行制御)を継続させやすい、という利点がある。
【0102】
第12の態様に係る無人飛行機(100)では、第11の態様において、複数のコントローラ(3)の各々は、確認処理として、診断部(202)により異常と判定したモータ制御装置(2)が1つであれば、以下の処理を実行する。すなわち、複数のコントローラ(3)の各々は、当該1つのモータ制御装置(2)に対応するモータ(1)、及びこのモータ(1)と同一のモータ群のモータ(1)を停止させる。
【0103】
この態様によれば、診断を行ったモータ制御装置(2)に異常があると判断して、このモータ制御装置(2)の異常の影響を受けるモータ(1)を停止させることができる。したがって、この態様によれば、モータ(1)の制御(言い換えれば、無人飛行機(100)の飛行制御)を継続させやすい、という利点がある。
【0104】
第13の態様に係る無人飛行機(100)では、第11の態様において、複数のコントローラ(3)の各々は、確認処理として、診断部(202)により異常と判定したモータ制御装置(2)が複数であれば、以下の処理を実行する。すなわち、複数のコントローラ(3)の各々は、複数のコントローラ(3)の各々と通信する外部装置(受信機(5)又は送信機(6))が異常であると判定する。
【0105】
この態様によれば、外部装置に異常があると判定することで、例えば外部装置からの指令(A0)に依らず、適切な位置まで無人飛行機(100)を飛行させやすい、という利点がある。
【0106】
第14の態様に係る移動体(一例として、電気自動車)は、第1~第8のいずれか1項に記載のモータ制御システム(10)と、モータ(1)が駆動されることにより移動する移動機構(一例として、車輪及びタイヤ)と、を備える。
【0107】
この態様によれば、モータ(1)の制御(言い換えれば、移動体の移動制御)を継続させやすい、という利点がある。
【0108】
第15の態様に係るモータ制御方法は、制御データ(M1)を診断する方法を含む。制御データ(M1)は、複数のコントローラ(3)の各々から送信される、モータ(1)に対する指令(A0)を含む。モータ制御方法は、複数のコントローラ(3)からの複数の制御データ(M1)のうち、診断結果(DC0)に基づいて選定される一の制御データ(M1)を用いて、モータ(1)を制御する方法を含む。
【0109】
この態様によれば、モータ(1)の制御を継続させやすい、という利点がある。
【0110】
第2~第9の態様に係る構成については、モータ制御システム(10)に必須の構成ではなく、適宜省略可能である。また、第11~第13の態様に係る構成については、無人飛行機(100)に必須の構成ではなく、適宜省略可能である。
【符号の説明】
【0111】
1,11~16 モータ
2,21~26 モータ制御装置
201 取得部
202 診断部
203 自己診断部
204 制御部
3,31,32 コントローラ
301 センサ
302 自己診断部
5 受信機(外部装置)
6 送信機(外部装置)
7 プロペラ
10 モータ制御システム
100 無人飛行機
A0,Am1,…,Amn 指令
DC0,DC1,…,DCm 診断結果
DE0,DEn 自己診断結果
DF0,DFm 自己診断結果
M1,M11,M12 制御データ