(57)【要約】      （修正有）【課題】複数のロータを有する無人機の電動モーターを正確に制御する方法を提供する。【解決手段】各モーターはマイクロコントローラー２１、２２、２３、２４によって制御され、一組のマイクロコントローラーは中央コントローラー１０によって駆動される。中央コントローラーとマイクロコントローラーのそれぞれとの間のライン上に非同期シリアル通信リンクを確立すると共に、各マイクロコントローラーにアドレスパラメーターを割り当予備ステップと、動作中に、ｉ）中央コントローラーが、各リンクライン上で、命令を実行することになる宛先マイクロコントローラーのアドレスパラメーターによって指定される上記命令を含むメッセージを同時に送信すること、及びｉｉ）各宛先マイクロコントローラーが、該宛先マイクロコントローラーにアドレス指定された命令をメッセージから抽出すると共に、該命令を実行する本来の制御ステップとを含む。【選択図】図１
2011251678.tif 000002
【特許請求の範囲】
【請求項１】
クアッドリコプター等の遠隔制御される回転翼無人機用の複数の電気モーターを同期制御する方法であって、各モーターはマイクロコントローラー（２１、２２、２３、２４）によって制御され、一組の該マイクロコントローラーは中央コントローラー（１０）によって駆動され、該方法は、
少なくとも、前記中央コントローラー（１０）と前記マイクロコントローラー（２１、２２、２３、２４）のそれぞれとの間のライン（１１、１２、１３、１４）上に非同期シリアル通信リンクを確立すると共に、各前記マイクロコントローラー（２１、２２、２３、２４）にアドレスパラメーターを割り当てることを含む予備ステップと、
動作中に、
各前記リンクライン（１１、１２、１３、１４）上で、命令を実行することになる宛先マイクロコントローラーのアドレスパラメーターによって指定される少なくとも１つの前記命令を含むメッセージを前記中央コントローラー（１０）が同時に送信すること、及び
各前記宛先マイクロコントローラーが、該宛先マイクロコントローラーにアドレス指定された前記命令を前記メッセージから抽出すると共に、該命令を実行することを含む少なくとも制御ステップと、
を含むことを特徴とする、方法。
【請求項２】
前記中央コントローラー（１０）と前記マイクロコントローラー（２１、２２、２３、２４）のそれぞれとの間の前記ライン（１１、１２、１３、１４）は、多重化された送信／受信ライン（１１、１２、１３、１４）である、請求項１に記載の方法。
【請求項３】
前記命令は、各前記モーターに適用される速度設定ポイント値（ＳＥＴ＿ＶＡＬＵＥ）である、請求項１に記載の方法。
【請求項４】
前記命令は、前記モーターに関連付けられた機器を制御するコマンド（ＳＥＴ＿ＬＥＤ）である、請求項１に記載の方法。
【請求項５】
前記命令は、前記モーターの動作に関係するデータを求める要求（ＧＥＴ＿ＳＰＥＥＤ）である、請求項１に記載の方法。
【請求項６】
前記命令は、前記モーターの最大動作速度に関するデータを求める要求（ＧＥＴ＿ＭＡＸＳＰＥＥＤ）である、請求項１に記載の方法。
【請求項７】
前記予備ステップはさらに、各前記リンクライン（１１、１２、１３、１４）上に、該ライン上での通信を抑制する抑制ブロック（３１、３２、３３、３４）を介在させることを含み、該抑制ブロックは、前記中央コントローラー（１０）によって制御される、請求項１に記載の方法。
【請求項８】
前記予備ステップ中に、前記コントローラー（１０）が、前記抑制ブロック（３１、３２、３３、３４）を用いて、アドレス割り当てメッセージ（ＳＥＴ＿ＡＤＤＲＥＳＳ）を各前記マイクロコントローラーに送信することによって、アドレスパラメーターが前記マイクロコントローラー（２１、２２、２３、２４）に割り当てられ、前記メッセージは前記対応するアドレスパラメーターを含む、請求項７に記載の方法。
【請求項９】
前記予備ステップはさらに、前記抑制ブロック（３１、３２、３３、３４）を用いて、前記中央コントローラー（１０）と前記マイクロコントローラー（２１、２２、２３、２４）のうちの少なくとも１つとの間で、該マイクロコントローラーのファームウェアメモリ（２００）を再初期化するプロトコル（ＦＬＡＳＨ＿ＭＯＤＥ）を連続して確立することを含む、請求項７に記載の方法。
【請求項１０】
少なくとも、各前記マイクロコントローラーのファームウェアメモリ（２００）及び／又は前記関連付けられたモーターに関係するデータを要求する少なくとも１つの要求ステップ（ＧＥＴ＿ＶＥＲＳＩＯＮ）をさらに含む、請求項７に記載の方法。
【請求項１１】
前記データは、前記ファームウェア（２００）のバージョン番号である、請求項１０に記載の方法。
【請求項１２】
前記要求ステップは、前記中央コントローラー（１０）が前記抑制ブロック（３１、３２、３３、３４）を用いて、少なくとも１つの前記マイクロコントローラー（２１、２２、２３、２４）に要求メッセージを送信することによって実行され、該メッセージは前記データを指定し、前記中央コントローラーは、新たなメッセージを送信する前に前記マイクロコントローラーからの応答を待つ、請求項１０に記載の方法。
【請求項１３】
エンジンが故障した場合に、前記関連付けられたマイクロコントローラー（２１、２２、２３、２４）は緊急メッセージを前記中央コントローラー（１０）に送信する、請求項１に記載の方法。
【請求項１４】
前記中央コントローラー（１０）は、前記緊急メッセージを受信した後、前記マイクロコントローラー（２１、２２、２３、２４）にメッセージを送信し、該メッセージは、前記モーターに適用されるゼロ設定ポイント速度命令を含む、請求項１３に記載の方法。
【請求項１５】
前記モーターの速度の導関数の値からモーター故障が検出される、請求項１３又は１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クアッドリコプター（quadricopter：４翼ヘリコプター）等の遠隔制御回転翼無人機用の複数の電気モーターの同期制御の方法に関する。
【背景技術】
【０００２】
用語「回転翼無人機」は、本明細書では、複数のモーターを有する任意の既知のヘリコプター構造、特に、ツインロータータンデム構造、すなわち「バナナ」構造、及び同軸反転ローターを有するカモフ（Kamof）構造、並びに、最も特に、組み込まれたナビゲーション及び姿勢制御システムによって独立に駆動されるそれぞれのモーターを有する４つの同一平面上にある固定ピッチのローターを備えたクアッドリコプター構造又はクアッドリローター構造を示すのに用いられる。
【０００３】
そのような無人機の一般的な例は、フランスのパリにあるParrot SAが提供しているＡＲドローン（AR Drone）である。このＡＲドローンは、国際公開第２００９／１０９７１１号（Parrot）に記載された原理でホバリング飛行を自動的に安定化させるシステムと共に、一連のセンサー（３つの軸上にある加速度計及びジャイロ、高度計、垂直用カメラ（vertically-aimed camera））を備えるクアッドリコプターである。この無人機は、進行方向のシーンの画像を取得する前面カメラも有する。
【０００４】
そのようなクアッドリコプター型無人機では、回転翼は、モーターの一般に非常に高速の回転速度を下げるシステムを介して電気モーターにより駆動されるプロペラをそれぞれ備える４つの推進システムによって構成される。各推進ユニットの駆動モーターは、それ自体のマイクロコントローラーによって制御される。このマイクロコントローラーは、推進ユニットのすべてに共通の単一の中央マイクロコントローラーにより飛行パラメーターに応じて駆動される。
【０００５】
複数の推進ユニットを有する無人機の飛行性能は、推進ユニットのモーターを制御するマイクロコントローラーがそれ自体、中央コントローラーによって駆動される精度に非常に大きく依存するということを理解することができる。中央コントローラーは、ユーザーによって設定された飛行動作をモーターのマイクロコントローラーに印加される駆動信号の形態に変換することを担当する。
【０００６】
さらに、マイクロコントローラーに適切な駆動信号を与えるだけでは十分ではないので、モーターに適用されるコマンドを完全に同期して実行することが必要不可欠であり、また、それらの信号間の時間差が最小であっても無人機の挙動に不安定性をもたらす可能性があることから、それらの信号がマイクロコントローラーに同期して到達することも必要である。
【０００７】
クアッドリコプター型無人機を制御する１つの既知の方法は、パルス幅変調（ＰＷＭ）を利用する。このパルス幅変調（ＰＷＭ）は、対応する設定ポイントをモーターのマイクロコントローラーに送信するパルスの幅を変調するものである。この技法の利点は、たとえばブラシを有するモーター又はブラシを有しないモーターといったさまざまなタイプのモーターにこの技法が適用可能であるということである。しかしながら、この技法は、モーターの制御がモーター間で正確に同期されることを保証することができない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開２００９／１０９７１１
【発明の概要】
【発明が解決しようとする課題】
【０００９】
そこで、本発明の目的は、各モーターがマイクロコントローラーによって制御され、一組のマイクロコントローラーが中央コントローラーによって駆動される、複数の電気モーターの同期制御の方法を提案することである。この方法によって、すべての状況下で、モーターに適用されるコマンドの完全な同期を達成することが可能になる。
【課題を解決するための手段】
【００１０】
本発明によれば、この目的は、前記方法が、
少なくとも、中央コントローラーとマイクロコントローラーのそれぞれとの間のライン上に非同期シリアル通信リンクを確立すると共に、各前記マイクロコントローラーにアドレスパラメーターを割り当てることを含む予備ステップと、
動作中に、
各前記リンクライン上で、命令を実行することになる宛先マイクロコントローラーのアドレスパラメーターによって指定される少なくとも１つの前記命令を含むメッセージを前記中央コントローラーが同時に送信すること、及び
各前記宛先マイクロコントローラーが、該宛先マイクロコントローラーにアドレス指定された前記命令を前記メッセージから抽出すると共に、該命令を実行することを含む少なくとも制御ステップと、
を含むことによって達成される。
【００１１】
したがって、クアッドリコプター型無人機では、たとえば、中央コントローラーは、４つのマイクロコントローラーのそれぞれに、関連付けられたモーターの駆動に関する命令を送信する必要があるとき、対応するマイクロコントローラーのアドレスパラメーターにそれぞれ割り当てられた４つの命令を含む単一のメッセージを準備し、そのメッセージを４つの非同期シリアル通信ライン上で４つのすべてのマイクロコントローラーに同時に送信する。各マイクロコントローラーは、受信すると、同時に動作し、アドレスパラメーターを用いてそのマイクロコントローラー用の命令をメッセージから抽出し、対応するモーターをそれに従って駆動する。このようにして、４つのすべてのモーターの制御が厳密に同期される。
【００１２】
発明の実施の形態
一例としては、前記命令は、各前記モーターに適用される速度設定ポイント値である。これは、無人機がどのような飛行するのかを調節するので、当然、主要な重要性のある命令である。この速度命令に関するメッセージは数ミリ秒の周期で送信される。
【００１３】
さらに、本発明は、前記命令が、前記モーターに関連付けられた機器を制御するコマンドであることも提供する。この提供によって、問題の機器が、無人機のメイン構造部に配置された中央コントローラーと、メイン構造部から突出する４つのアームの端部にある関連付けられたモーターと共に配置されたマイクロコントローラーとの間の追加のリンクケーブルに頼ることなく駆動されるという利点が提供される。これによって、無人機のアームが不必要に重くなることが回避される。
【００１４】
想定される機器の種類の中には、中央コントローラーが駆動することができるさまざまな色の発光ダイオード（ＬＥＤ）を挙げることができる。
【００１５】
マイクロコントローラーから中央コントローラーに情報を戻すことを可能にするために、本発明は、前記命令が、前記モーターの動作に関係するデータを求める要求であることを提供する。
【００１６】
たとえば、中央コントローラーは、モーターの速度を知ろうとする場合、非同期シリアルリンクラインを用い、問題のモーターに関連付けられたマイクロコントローラーのアドレスパラメーターを指定して、速度要求命令を含むメッセージを送信することができる。受信すると、送信先又は宛先マイクロコントローラーのみが、要求された速度を通信ラインにより配信することによって、この要求に対する応答メッセージを送信する。他のマイクロコントローラーは、自身のアドレスパラメーターが要求メッセージにおいて指定されていないので、要求メッセージを無視する。
【００１７】
本発明によれば、前記予備ステップはさらに、各前記リンクライン上に、該ライン上での通信を抑制する抑制ブロックを介在させることを含み、該抑制ブロックは、前記中央コントローラーによって制御される。中央コントローラーとマイクロコントローラーとの間のこの特定の通信モードによって、必要な場合には、一時に１つのマイクロコントローラーのみをアドレス指定することが可能になる。
【００１８】
この状況は、特に、マイクロコントローラーがそれぞれのアドレスパラメーターをまだ有していないプロセスの初期化中に起こる。そのような状況下、前記予備ステップ中に、前記コントローラーが、前記抑制ブロックを用いて、アドレス割り当てメッセージを各前記マイクロコントローラーに送信することによって、アドレスパラメーターが前記マイクロコントローラーに割り当てられ、前記メッセージは前記対応するアドレスパラメーターを含む。
【００１９】
同様に、本発明は、有利には、前記予備ステップがさらに、前記抑制ブロックを用いて、前記中央コントローラーと前記マイクロコントローラーのうちの少なくとも１つとの間で、該マイクロコントローラーのファームウェアメモリを再初期化するプロトコルを連続して確立することを含むことを提案する。
【００２０】
したがって、マイクロコントローラーのすべてがファームウェアの同じバージョンを含むことを確保するために、各メモリに含まれるファームウェアを選択的な方法で更新することが可能である。
【００２１】
この目的のために、本発明の方法は、少なくとも、各前記マイクロコントローラーのファームウェアメモリ及び／又は前記関連付けられたモーターに関係するデータを要求する少なくとも１つの要求ステップをさらに含む。
【００２２】
特に、前記データは前記ファームウェアのバージョン番号である。
【００２３】
一般に、前記要求ステップは、前記中央コントローラーが前記抑制ブロックを用いて、少なくとも１つの前記マイクロコントローラーに要求メッセージを送信することによって実行され、該メッセージは前記データを指定し、前記中央コントローラーは、新たなメッセージを送信する前に前記マイクロコントローラーからの応答を待つ。
【００２４】
最後に、本発明は、たとえば、或る物が、モーターによって駆動されるプロペラに絡まった結果、モーターに突然ブレーキがかかったことから、少なくとも１つのモーターが、受信された命令、特に速度命令に従って機能することができない場合に常に適用される特定のいわゆる「カットアウト」手順を提供する。
【００２５】
エンジンが故障した場合、このカットアウト手順は、前記関連付けられたマイクロコントローラーが緊急メッセージを前記中央コントローラーに送信することでなされる。
【００２６】
前記中央コントローラーは、緊急メッセージを受信した後、前記マイクロコントローラーにメッセージを送信し、該メッセージは、前記モーターに適用されるゼロ設定ポイント速度命令を含む。
【００２７】
実際には、前記モーターの速度の導関数の値からモーター故障が検出される。その理由は、導関数の突然の変動が、モーターの動作に異常があることを示すからである。
【図面の簡単な説明】
【００２８】
【図１】クアッドリコプター型の無人機の中央コントローラーと４つのマイクロコントローラーとの間の非同期シリアルリンクの図である。
【図２】図１のマイクロコントローラーのうちの１つのファームウェアメモリの図である。
【図３】図２のファームウェアの再初期化を示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下に、添付図面について与えられた本発明のデバイスの一実施形態を説明する。添付図面において、同じ参照番号は、図ごとに同一の又は機能的に類似した要素を示すのに用いられる。
【００３０】
以下に、本発明のデバイスの一実施形態を説明する。
【００３１】
実施例
図１は、中央コントローラー１０と４つのマイクロコントローラー２１、２２、２３、及び２４との間の非同期シリアルリンクを示している。この通信システムは、特に、クアッドリコプター型の回転翼無人機の４つの推進ユニットの部品を成す４つのモーター（図１に図示せず）の同期制御を提供する働きをする。
【００３２】
より正確には、各モーターは、マイクロコントローラー２１、２２、２３、及び２４のそれぞれ１つによって制御され、これらの一組のマイクロコントローラーは、無人機を飛行させるソフトウェアによって課せられる飛行パラメーターに応じて中央コントローラー１０により駆動される。
【００３３】
中央コントローラー１０とマイクロコントローラー２１、２２、２３、及び２４のそれぞれとの間のメッセージの受信ＲＸ及び送信ＴＸは、単一の各汎用非同期受信機／送信機（ＵＡＲＴ）通信ライン１１、１２、１３、及び１４により多重化される。図１に示すように、送信端子ＴＸにおいて電気信号を受信することを回避するために、ダイオードＤ、Ｄ１、Ｄ２、Ｄ３、又はＤ４が、メインコントローラー１０の受信端子ＲＸと送信端子ＴＸとの間、並びにマイクロコントローラー２１、２２、２３、及び２４のそれぞれの受信端子ＲＸと送信端子ＴＸとの間に配置される。
【００３４】
さらに、図１では、それぞれの抑制ブロック３１、３２、３３、及び３４が各通信ライン１１、１２、１３、及び１４に配置されていることを見て取ることができる。抑制ブロックは、ＵＡＲＴライン上での通信の確立又は中断を自由自在に行うために、それぞれの出力ｃｏｎｔｒｏｌ＿１、ｃｏｎｔｒｏｌ＿２、ｃｏｎｔｒｏｌ＿３、及びｃｏｎｔｒｏｌ＿４を介して中央コントローラー１０により制御される。例として、抑制ブロック３１、３２、３３、及び３４は、スイッチとして動作する金属酸化膜半導体電界効果トランジスタ（ＭＯＳＦＥＴ）によって構成することができる。
【００３５】
無人機の４つのモーターは、モーターを本来の動作状態にする前の予備の最初のステップにおいて、各関連付けられたモーター及びマイクロコントローラーの対にアドレスパラメーターを割り当てることからなる方法に従って同期制御される。
【００３６】
この動作は、中央コントローラー１０が、抑制ブロック３１、３２、３３、及び３４を適切に制御している間、マイクロコントローラーのそれぞれに連続して属性メッセージを送信することによって行われる。この属性メッセージは、１バイトで符号化され、たとえば、該メッセージが関係する命令を与える３ビット（「０ｂ０００」）、具体的にはアドレスパラメーター（ＳＥＴ＿ＡＤＤＲＥＳＳ）を割り当てる３ビットで符号化されたヘッダーと、その後に続く５ビットで符号化されたアドレスパラメーターとを含む。宛先マイクロコントローラーは、その後、メッセージからアドレスパラメーターを読み出し、このアドレスパラメーターは宛先（送信先）マイクロコントローラーに割り当てられ、宛先マイクロコントローラーはこのパラメーターをメモリに記憶する。
【００３７】
さらにこの予備段階においては、特にシステムがリセットされた後又はモーターがオンにスイッチングされたときに、各マイクロコントローラーのファームウェアの現行バージョンを取得すると共に、マイクロコントローラーがすべて、ファームウェアの同じバージョンを確実に備えていることを確保することが好ましい場合がある。
【００３８】
これを行うために、中央コントローラー１０は、抑制ブロック３１、３２、３３、及び３４を適切に制御している間、各マイクロコントローラーにメッセージを送信する。このメッセージは、マイクロコントローラーのファームウェアメモリのバージョンを求める要求を含む。この要求メッセージは、１バイトで符号化され、たとえば、ファームウェアバージョン要求命令（ＧＥＴ＿ＶＥＲＳＩＯＮ）を指定する３ビットで符号化されたヘッダー（「０ｂ０１０」）と、その後に続く５ビットのパディングビットとを含む。メッセージを受信したマイクロコントローラーは、次に、通信ラインを介して自身のファームウェアメモリの要求されたバージョンを返す。
【００３９】
一般的なルールとして、中央コントローラー１０は、要求メッセージ等、応答を必要とするメッセージを送信したとき、新たなメッセージを送信する前にその応答を待つ。メッセージの衝突があると、モーターが未確定状態になるおそれがある。
【００４０】
当然のことながら、他のデータ、特に、製品製造業者、製品製造業者の参照番号、製造バッチ番号等のモーター自体に関係するデータを要求することができる。
【００４１】
ファームウェアバージョンをより最新のバージョンに取り替える必要があることが判明した場合、中央コントローラー１０は、問題のあるマイクロコントローラーに対するファームウェア再初期化手順に係る。
【００４２】
中央コントローラーが、リセットの後又は無人機が始動される時に、マイクロコントローラー２１、２２、２３、及び２４のそれぞれにこの再初期化手順を課すこともできることに気付くことは重要である。このようにして、マイクロコントローラーのすべてが同じバージョンのファームウェアを確実に有することが確保される。
【００４３】
ファームウェアメモリを再初期化するために、中央コントローラー１０は、抑制ブロック３１、３２、３３、及び３４を適切に制御することによって、関与している単一のマイクロコントローラーに初期化メッセージを送信する。この再初期化メッセージは、１バイトで符号化され、たとえば、再初期化命令（ＦＬＡＳＨ＿ＭＯＤＥ）を３ビット（「０ｂ１１１」）で符号化したヘッダーと、その後に続く５ビットのワード（「０ｂ０００００」）とを有する。
【００４４】
図２に示すように、再初期化メッセージは、ファームウェアメモリ２００において、ブートローダーゾーン２０１に収容される。ブートローダーゾーン２０１は、書き込み保護がされていると共に、書き換え可能ゾーン２０２に記憶されたファームウェアをフラッシュ記憶プロセスによって更新することを可能にする。
【００４５】
中央コントローラー１０とマイクロコントローラーのうちの１つ、ここではマイクロコントローラー２１との間の再初期化手順は、その後、図３に従って行われる。
【００４６】
中央コントローラー１０は、その出力ｃｏｎｔｒｏｌ＿１を作動させると共に、抑制ブロック３２、３３、及び３４を用いてその出力ｃｏｎｔｒｏｌ＿２、ｃｏｎｔｒｏｌ＿３、及びｃｏｎｔｒｏｌ＿４を抑制することにより、マイクロコントローラー２１との通信を確立し、次いで、ファームウェアメモリ２００を記憶／開始（store/start）モードにスイッチングする命令「０ｘＥ０」を送信する。応答がない場合、シリアルリンク又はメモリに障害があることが推測される。カードのファームウェアがすでに起動されているとき、すなわち、リセット中又は開始中以外のとき、マイクロコントローラー２１は、拒否メッセージ「０ｘ００」を用いて否定の応答を行う。そうでない場合、カードは、受理メッセージ「０ｘ５０」を返すことによって中央コントローラー１０からの命令を受信する準備ができていることを示す。
【００４７】
ファームウェアメモリ２００のファームウェアを更新する必要がない場合、手順は、命令「０ｘＡ１」を送信することによって、開始状態に直接移動する。カード２００は、肯定応答「０ｘＡ０」によってこの命令に応答する。
【００４８】
ファームウェアを更新する必要がある場合、中央コントローラー１０は、ｎ個の連続した６４バイトのページをループで送信する。各ページは記憶命令「０ｘ７１」を伴っている。ファームウェアメモリ２００は、各ページを受信すると、肯定応答「０ｘ７０」で応答しなければならず、そうでない場合、記憶エラーがあるとみなされ、再初期化手順は中断されることが考えられる。
【００４９】
更新が終了すると、中央コントローラーは、送信される記憶ページのそれぞれについての巡回冗長検査（ＣＲＣ）符号を要求する命令「０ｘ９１」を送信する。ファームウェアメモリ２００は、その後、これらの符号を提供し、これらの符号が適合している限り、開始命令「０ｘＡ１」が送信され、それに続いて、肯定応答「０ｘＡ０」が返信される。
【００５０】
モーターを始動させるには、速度が９ビットで符号化されている場合、たとえば最大値「５１１」の２０％、すなわち「１０３」よりも大きな速度設定ポイント値をモーターに送信することで十分である。設定ポイント値が数十ミリ秒（ｍｓ）、たとえば５０ｍｓよりも長い間送信されていないとき、モーターは停止する。
【００５１】
無人機の通常動作中、中央コントローラー１０は、無人機のナビゲーションソフトウェアに応じて中央コントローラーにより規定されるように駆動命令をマイクロコントローラーに送信するためだけであっても、必然的に、制御メッセージをマイクロコントローラー２１、２２、２３、及び２４に送信する。
【００５２】
主要な重要性のあるある駆動命令は、各モーターの速度に関係するものである。このタイプの命令について、中央コントローラー１０は、通信ライン１１、１２、１３、及び１４のそれぞれにより同時に送信する。メッセージは、５バイトで符号化され、３ビット（「０ｂ００１」）で符号化されたモーター速度駆動命令（ＳＥＴ＿ＶＡＬＵＥ）を符号化したヘッダーと、その後に続く、それぞれ９ビットで符号化された４つの速度設定ポイント値と、１つのパディングビットとを含む。各速度設定ポイント値は、事前に割り当てられたアドレスパラメーターに応じてモーターのそれぞれ１つに関連付けられている。
【００５３】
４つのマイクロコントローラー２１、２２、２３、及び２４は、速度制御メッセージを同時に受信し、４つのマイクロコントローラーのそれぞれは、自身に関連付けられた設定ポイント値を速度制御メッセージから抽出し、その設定ポイント値を関連付けられたモーターに適用する。
【００５４】
上記で強調したように、この制御方法は、４つのすべてのモーターの制御が完全に同期することを確保するという利点を提供する。この状態は、無人機の良好な飛行安定性を確保するのに必要不可欠である。
【００５５】
また逆に、中央コントローラー１０は、各マイクロコントローラー２１、２２、２３、及び２４に、関連付けられたモーターの速度を問い合わせることができる。
【００５６】
これを行うために、中央コントローラー１０は、通信ライン１１、１２、１３、及び１４のそれぞれによりモーター速度要求メッセージを同時に送信する。１バイトで符号化された要求メッセージは、たとえば、３ビット（「０ｂ１００」）でモーター速度要求命令（ＧＥＴ＿ＳＰＥＥＤ）を符号化したヘッダーと、その後に続く、問題のマイクロコントローラーのアドレスパラメーターの５ビットとを含む。中央コントローラー１０は、その後、送信した要求に対する応答の待ち状態になる。受信すると、メッセージにおいてそのアドレスパラメーターにより識別されたマイクロコントローラーのみが、関連付けられたモーターの現在の速度の要求された値を通信ラインを介して返す。
【００５７】
駆動命令は、無人機のモーター以外の機器に関係することができ、たとえば、駆動命令は、各モーターの近くに位置するＬＥＤに関係することができる。
【００５８】
そのような状況の下では、中央コントローラー１０は、通信ライン１１、１２、１３、及び１４のそれぞれによりメッセージを同時に送信する。このメッセージは、２バイトで符号化され、たとえば、赤色及び緑色のＬＥＤ駆動命令（ＳＥＴ＿ＬＥＤ）を３ビット（「０ｂ０１１」）で符号化したヘッダーと、その後に続く４つの２ビットとを、５ビットのパディングビットと共に含む。４つの２ビットは、このメッセージのアドレスパラメーターによって識別されるマイクロコントローラーごとに、赤色ダイオード及び緑色ダイオードのオン状態又はオフ状態に対応する。
【００５９】
この手順の利点は、この手順によって、アームに沿って中央コントローラーからモーターに接続する追加の制御ケーブルを設置することが回避されるということである。この結果、無人機の重量が節減される。
【００６０】
ＳＥＴ＿ＶＡＬＵＥ命令に関しても同じ方法で、４つのマイクロコントローラー２１、２２、２３、及び２４は、ダイオード制御メッセージを同時に受信し、このメッセージから、マイクロコントローラーのそれぞれが自身の関連付けられた赤色ダイオード及び緑色ダイオードに適用することになる設定ポイント（ビット＝１：ＬＥＤオン、ビット＝０：ＬＥＤオフ）を抽出する。
【００６１】
最後に、無人機の安全性のための非常に重要な機能は、１つ又は複数のモーターの動作において異常が発生したとき、特に、或る物がプロペラに絡まる等のあらゆる種類のアクシデントの結果としてモーターに突然ブレーキがかかったときに実施されるべき「カットアウト」手順に関係するものである。
【００６２】
各マイクロコントローラー２１、２２、２３、及び２４は、関連付けられたモーターの速度又はその導関数を連続的に測定し、測定された速度値が設定ポイント値にもはや適合していない場合又は速度の導関数が大きすぎる場合に、各マイクロコントローラーはモーターの故障を診断する。そのような状況下では、対応するマイクロコントローラーは通信ラインをリスンし、通信ラインが非アクティブであるとすぐに、対応するマイクロコントローラーは中央コントローラー１０に緊急メッセージを送信する。このメッセージは数回繰り返され、中央コントローラーが制御メッセージを送信中であったしても、送信された緊急メッセージの数が制御メッセージの長さを超えるようにされる。
【００６３】
緊急メッセージを受信した後、中央コントローラー１０は、あらゆる不安定化のリスクを回避するためにモーターのすべてを停止することを決定し、その結果として、ＳＥＴ＿ＶＡＬＵＥ命令を用いて、ゼロの値を有する速度設定ポイントをマイクロコントローラーに送信する。用語「ゼロの値」は、真にゼロである値、又は少なくとも上記で規定した最大値「５１１」の（たとえば）２０％、すなわち「１０３」未満である値を意味するのに用いられる。
【００６４】
この「カットアウト」の一変形実施態様は、対応する信号ライン１１、１２、１３、１４とは別個の追加のそれぞれの専用ライン４１、４２、４３、４４を各モーターに提供すること、並びにライン４１、４２、４３、又は４４のいずれか１つがハイ状態になることによって表されるような障害が検出された場合に、抑制ブロック３１、３２、３３、及び３４をアクティブ化するのに適した、中央コントローラーのそばにある論理回路５０（コントローラー１０とは別個のハードウェア回路）に各マイクロコントローラー２１、２２、２３、及び２４の特定の出力ＣＣを接続することからなる。抑制ブロックをアクティブ化することによって、速度設定ポイントがモーターに送信されることが防止され、その結果、上述したように、モーターは、速度設定ポイントを受信していないので、数十ミリ秒後に自動的に停止する。
【００６５】
無人機は、その後、４つのすべてのモーターが実質的に同時に停止する結果、スピンすることなく垂直に降下する。
【００６６】
一般に、単一のシリアルリンクによるデジタル設定ポイントを利用する本発明の上述した解決法は、特にＰＷＭコマンドを用いる従来の方法で送信される設定ポイントと比較して、数多くの利点を提供する。詳細には、
・４つのすべてのモーターが自身のサーボ制御設定ポイントを同時に受信するので、モーターのそれぞれに送信された設定ポイントの同期が非常に良好である；
・シリアルリンクによりデジタル形式で送信される設定ポイントは、設定ポイントがＰＷＭの形式で送信された場合に生じる可能性があるようなパルスの幅のアナログ測定に関連した誤差を受けない；
・デジタルリンクは、モーターのマイクロコントローラーに関連付けられた他の部材（たとえばＬＥＤ）を駆動するのに用いることができる；
・リンクは双方向であり、これによって、モーターのマイクロコントローラーから情報、たとえばカットアウトを作動させるための障害情報を受信することが可能になる；及び
・上記２つの特性は、システムにそのファームウェアバージョンを問い合わせると共に、必要ならば、同じリンクによりファームウェアの新たなバージョンを送信することによって、モーターのマイクロコントローラーのソフトウェアを更新するのに用いることができる。
【００６７】
最後に、とりわけ、シリアルリンクにより送信されるデジタル情報によって、より高いレベルの設定ポイント、特に、電圧を確定するＰＷＭ設定ポイントではなく、モーターの速度に関して明示的な設定ポイントを送信することが可能になる。速度制御は、電圧制御と比較して、以下の範囲で非常に有利である。
・速度制御によって、製造プロセスに固有の、電気モーターの性能のばらつきを管理することが可能になる。一群のモーターにおいて±１０％の効率の相違を見つけることは珍しいことではなく、そのため、効率の相違がいかなるものであれ、速度制御は、同じ設定ポイントを用いて一群におけるモーターのすべてから同じプロペラ速度を得ることを可能にする。したがって、速度制御によって、さまざまな製造業者から得られるモーターを含めて、かなり異なる性能レベルを呈するモーターを設置することが可能になる；
・モーターユニットの効率における他の変動、特にギアの摩擦及びシャフトの取り付けに起因する機械的変動を考慮に入れることも可能になる。これらの変動は速度制御を用いることによって補償され、この補償は電圧制御を用いたときには行われない；
・速度制御は、輸送手段のバッテリーが残り少なくなってきているときであっても、設定ポイントを同一のまま維持するという利点も提供する。ＰＷＭ制御を用いて、低下しているバッテリー電圧により電圧を確定する場合、バッテリーによって供給される電流も低下する。そのため、同じ電力を供給するには、電圧制御を増加させる必要がある。速度制御はこの問題を克服する；並びに
・一般に、速度制御は、モーターの制御を線形にすることによってモーターの制御範囲全体にわたる動作を改善する働きをする。
【００６８】
しかしながら、電圧制御の代わりに速度制御を用いることにより、１つの欠点が生じる。
【００６９】
速度設定ポイントについて、制御範囲の上限、換言すれば、エンジンが到達することができる最大速度は、先験的に分からない。最大速度は、バッテリーの放電状態、各モーターに固有の効率、機械的摩擦等の数多くのパラメーターに関連している。
【００７０】
その一方、モーターが電圧設定ポイントを用いて駆動される場合には、前記上限が分かっている。マイクロコントローラーは、所与の時点において、バッテリーから最大電圧でモーターに電力を供給するように要求され、それによって、必然的にその制御範囲の上限が達成される。
【００７１】
速度設定ポイントを用いると、ほとんど放電されたバッテリーによって電力供給される低効率のモーターが到達することができる速度に対応した「最悪の場合」の上限を規定することが確かに可能である。しかしながら、その方法では、システムをその最大パワーで動作させることはできない。
【００７２】
不都合なことに、無人機操縦アルゴリズムは、特にモーターが飽和する状態を求めるためにモーター制御範囲の上限を知り、対応する設定ポイント値を超えることを回避する必要がある。また、たとえば無人機が急速降下し、その降下にブレーキをかけるために、モーターに最大電力を与えることが望まれるとき、飛行エンベロープを最も有効に利用するために、モーターのそれぞれの限界を知ることも必要である。
【００７３】
本発明の一改良形態では、制御範囲の上限の先験的な知識を有しないという欠点を軽減すると同時に、速度制御を維持することが可能である。
【００７４】
この解決法は、モーターのマイクロコントローラーによって送信される情報を受信することが可能であることを用いることからなる。中央コントローラー１０は、ＧＥＴ＿ＭＡＸＳＰＥＥＤ命令をマイクロコントローラー２１、２２、２３、及び２４のそれぞれに、規則的な間隔ではあるが、低い頻度で（たとえば毎秒１回）送信する。この命令は、マイクロコントローラーに関連付けられたモーターの最大速度の推定値を要求する。
【００７５】
マイクロコントローラーは、その後、判明している結果の速度を得るためにモーターに印加されている電圧を観測すること、及び事前に記録されたモーター特性曲線の形態（プロフィール）とすることができる予測に基づいて、自身に関連付けられたモーターの最大速度を内部アルゴリズムによって評価する（オンへのスイッチング時、値は「最悪の場合」の値に初期化することができ、この値はその後、モーターの実際の挙動を測定することによって定期的に訂正することができる）。
【００７６】
この評価の結果は、要求に応答して中央コントローラーに送信され、それによって、中央コントローラーには、特にバッテリーの充電の喪失に応じて、無人機の飛行全体を通じた各モーターの性能のあらゆる変動が連続的に通知される。
【図１】
2011251678.tif 000003
【図２】
2011251678.tif 000004
【図３】
2011251678.tif 000005
【外国語明細書】
2011251678.tif 000006
2011251678.tif 000007
2011251678.tif 000008
2011251678.tif 000009
2011251678.tif 000010
2011251678.tif 000011
2011251678.tif 000012
2011251678.tif 000013
2011251678.tif 000014
2011251678.tif 000015
2011251678.tif 000016
2011251678.tif 000017
2011251678.tif 000018
2011251678.tif 000019
2011251678.tif 000020
2011251678.tif 000021
2011251678.tif 000022
2011251678.tif 000023
2011251678.tif 000024
2011251678.tif 000025
2011251678.tif 000026