(57)【特許請求の範囲】
【請求項１】
各々が個別に制御されるモータによって駆動される、複数のロータを有する回転翼無人機の姿勢を動力学的に制御する方法において、
前記無人機のロール軸、ピッチ軸毎に構成される回転軸回りの、完全なターンを前記無人機が実行するロール型あるいはループ型の予めプログラムされた運動を自動的に実行し、
前記方法は、前記予めプログラムされた運動（マニューバ）のトリガー命令を受信し、シーケンスステップを実行するステップを有し、前記ステップは、
ａ）前記無人機に先行する上向きの垂直推力インパルスを与えるために前記無人機の各モータを同時に制御するステップと、
ｂ）前記無人機を初期角度位置からゼロ角速度の最終角度位置まで、回転軸回りで回転させるため、前記モータを制御して、前記各モータを開ループ制御に従属させるステージを含むステップと、
から成り、
前記ｂ）のステップは連続するサブステップから成り、前記サブステップは、
ｂ１）前記無人機を初期角度位置から所定の中間角度位置まで、回転軸回りで回転させるため、前記各モータに独立した非サーボ制御を適用するサブステップと、
ｂ２）回転軸回りの１つの完全なターンによる前記無人機の前記回転を終えるために、非ゼロ角速度の前記中間角度位置からゼロ角速度の最終角度位置まで、次第に、参照目標軌道まで、前記各モータへの独立したサーボ制御を適用するサブステップ、
とから成り、
ステップｂ２）はサブステップから成り、前記サブステップは
ｂ２１）前記中間角度位置と前記最終角度位置との間で停止時間の値を与えるサブステップと
ｂ２２）前記所定の中間角度位置に達したときの前記無人機の角速度を計測するサブステップと、
ｂ２３）ステップｂ２１）で与えられた停止時間と、ステップｂ２２）で取得された測定値とから、前記中間角度位置から付与された前記停止時間終了時の前記最終角度位置までの時間関数として、前記無人機の角度位置の最適な連続的な変化をモデル化した、所定の予想関数のパラメータを設定するサブステップと、
ｂ２４）ステップｂ２３）で設定した前記予想関数に基づいて、所与の時点における予め計算された目標角度位置に対応する設定値を生成し、前記設定値を前記無人機の前記各モータを制御するサーボ制御ループに適用するサブステップ、
とから成ることを特徴とする方法。
【請求項２】
ステップｂ２）の前記参照目標軌道は、角速度で代表される目標軌道及び／または角度で代表される目標軌道であることを特徴とする請求項１の方法。
【請求項３】
前記設定値が、場合によってロール軸またはピッチ軸に対しての前記無人機の傾斜角度の設定値であることを特徴とする請求項１の方法。
【請求項４】
前記所定の予想関数が、多項式関数であって、前記関数のパラメータを設定する前記ステップｂ２３）が、前記多項式の係数を決定するステップであることを特徴とする請求項１の方法。
【請求項５】
前記多項式関数が３次の多項式関数であることを特徴とする請求項４の方法。
【請求項６】
前記多項式関数が、以下の型の関数：
【数１】
0006021470.tif 000024
であって、式中
φ（ｔ）はステップｂ２４）で生成した前記設定値に対応する前記角度位置であり、
ａ、ｂ、ｃ、及びｄは、ステップｂ２３）で設定された前記多項式関数の前記係数であって、
【数２】
0006021470.tif 000025
であり、式中
Ｔはステップｂ２１）で与えられる前記停止時間の値であり、
φinitialは前記中間角度位置の前記角度の値であり、そして
ｐinitialは、ステップｂ２２）で計測された、中間角度位置に対する前記無人機の角速度であることを特徴とする請求項５の方法。
【請求項７】
前記無人機が設定値を再定義するため、所定の角度位置に達したときステップｂ２２）とｂ２３）の少なくとも一つを反復し、設定値を再定義するための前記角度位置は、ステップｂ２）の前記中間角度位置と前記最終角度位置との間にあり、前記角度位置を再定義することは、ステップｂ２３）で前記パラメータを設定するための新しい中間角度位置を設定することであることを特徴とする請求項１の方法。
【請求項８】
前記無人機への先行する上向きの垂直推力インパルスを与えるために前記複数のモータを同時に制御するステップａ）は、前記無人機の姿勢の制御を維持する間に実行されるステップであることを特徴とする請求項１の方法。
【請求項９】
最終角度位置に到達したときさらに最終ステップを含み、前記最終ステップは、
ｃ）水平方向の線形速度がゼロで、地表への傾斜角度がゼロで、無人機を安定させるのに適したホバリング飛行制御ループを稼働した無人機のホバリング（ｈｏｂｅｒｉｎｇ）状態への切替
であることを特徴とする請求項１の方法。
【請求項１０】
回転翼無人機のデジタルメモリーへダウンロード可能なソフトウェアであって、該ソフトウェアは、リモート制御装置からの予めプログラムされたフリップ型の飛行を実行する指令を受信して実行し、請求項１による無人機の姿勢を動的に制御する方法を実施する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クワッドコプター(quadricopter：４翼ヘリコプター)等の回転翼無人機の操縦に関する。
【背景技術】
【０００２】
このような無人機は、無人機の姿勢と速度を制御するために独立して制御できるモータで駆動される複数のロータを有する。
【０００３】
このような無人機の典型例は、フランスのパリにあるパロットＳＡ（Ｐａｒｒｏｔ  ＳＡ）が提供しているＡＲドローン（ＡＲ．Ｄｒｏｎｅ）である。このＡＲドローンは、一連のセンサ（加速度計及び３軸ジャイロ、高度計）を備えているクワッドコプターである。この無人機は、また、進行方向の景色画像を取得する前面カメラと、上空からの地形（ｏｖｅｒｆｌｏｗｎ  ｔｅｒｒａｉｎ）の画像を取得する垂直方向カメラを有する。
この無人機は、ユーザがリモートコントロール装置―以下に参照する“電気製品”（ａｐｐｌｉａｎｃｅ）−によって操縦する。このリモートコントロール装置は、無線回線で無人機に接続される。
【０００４】
とりわけ、特許文献１（パロットＳＡ）にそのような無人機と、タッチスクリーンと内蔵型加速度計を備えたメディアプレイヤーや電話、たとえば、ｉＰｈｏｎｅ型の携帯電話（ｃｅｌｌ  ｐｈｏｎｅ）やメディアプレイヤーやｉｐｏｄ  ＴｏｕｃｈやｉＰａｄ型のマルチメディアタブレット（米国アップル社登録商標）を経由した操縦方法について記載されている。そのような電気製品は、操縦コマンドを見つけ出すために必要とされ、ＷｉＦｉ（ＩＥＥＥ  ８０２．１１）やＢｌｕｅｔｏｏｔｈ（登録商標）によって与えられるローカルネットワークの無線回線を経由した無人機との双方向のデータのやり取りのために必要とされる多種の制御構成を内蔵している。とりわけ、電気製品は、前面カメラで取得した映像を表示するタッチスクリーンを備える。タッチスクリーン上にはユーザーの指の単純な接触によって、アクティブ化される一定数のコマンドのシンボルが重畳して表示される。ディスプレイはまた、”没入型操縦（ｉｍｍｅｒｓｉｖｅ ｐｉｌｏｔｉｎｇ）“を可能にする。ユーザが無人機を見て操縦する際に、まるで操縦士が無人機内に乗っているかのようにカメラからの映像を利用する。
【０００５】
さらに、本発明は、とりわけ“ロール”型（ロール軸回りの完全な回転による無人機の回転）、あるいは“ループ”型（ピッチ軸回りの完全な回転による無人機の回転）のフリップ運動の自動実行に関する。
【０００６】
ロールは、回転方向によって、左回転あるいは右回転となってもよい。また、次々に繰り返される完全な回転の一連のシーケンスによって構成されてもよい。以下の記載では、一回の回転によって構成される運動について述べるが、その記載が本発明を制限するものではない。以下の記載はまた、無人機が初期的に静止しているかホバリングをしている状態から実行する場合について述べているが、無人機の状態もどちらかに制限されるものではない：ロールは、例えば水平方向の速度成分を加えられて実行され、絶対座標系で軌道は円というよりはむしろヘリカルである場合であってもよい。
【０００７】
機首上げの運動あるいは機首下げの運動を実行している無人機によって回転が始められたかどうかで、ループは前転でも後転でもよい。ループとロールは、回転軸（ロール軸の代わりにピッチ軸）が異なることを理解すべきである。結局、以下においては、ロールを実行することだけについて述べるが、ロールに関連して言及したすべてが、異なる回転軸を選択したことによる必要な変更を加えて、ループの実行に置換できる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２０１０／０６１０９９号
【特許文献２】国際公開第２００９／１０９７１１号
【特許文献３】仏国際特許出願公開第２９１５５６９号
【非特許文献】
【０００９】
【非特許文献１】Ｓ．ルパシン他“高速度クワッドコプターのマルチフリップの簡単な習得法”Ｓ．Ｌｕｐａｓｈｉｎ  ｅｔ  ａｌ．“Ａ  ｓｉｍｐｌｅ  ｌｅａｒｎｉｎｇ  ｓｔｒａｔｅｇｙ  ｆｏｒ  ｈｉｇｈ−ｓｐｅｅｄ  ｑｕａｄｒｏｃｏｐｔｅｒ  ｍｕｌｔｉ−ｆｌｉｐｓ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２０１０  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，Ｍａｙ  ２０１０，ｐｐ．１６４２―１６４８
【非特許文献２】Ｊ．Ｈ．ジルラ他“到達可能なセットを使った保障された安全操縦の設計：クワッドロータ自動曲技飛行術の理論と実践”  Ｊ．Ｈ．Ｇｉｌｌｕｌａ  ｅｔ  ａｌ．“Ｄｅｓｉｇｎ  ｏｆ  ｇｕａｒａｎｔｅｅｄ  ｓａｆｅ  ｍａｎｕｅｕｖｅｒｓ  ｕｓｉｎｇ  ｒｅａｃｈａｂｌｅ  ｓｅｔｓ：ａｕｔｏｎｏｍｏｕｓ  ｑｕａｄｒｏｔｏｒ  ａｅｒｏｂａｔｉｃｓ  ｉｎ  ｔｈｅｏｒｙ  ａｎｄ  ｐｒａｃｔｉｃｓ“，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２０１０  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，Ｍａｙ  ２０１０，ｐｐ．１６４９―１６５４
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非特許文献１は、マルチフリップ運動を実行するためのクワッドコプター型の無人機の制御方法を述べている。
非特許文献１に記載された技術は、操縦の最後にできるだけ水平に近くなるように無人機の最終高度に到達するように計算したインパルスの大きさを持った、初期回転インパルスを無人機に与えることである。
【００１１】
しかしながら、（非特許文献１に記載の方法では、）ロールは無人機によって開ループ（非サーボ制御）で実行されるので、無人機が操縦の最後に水平になることは全く保障されておらず、言い換えれば、３６０°まで回転した後に、無人機の角速度がゼロになるだけである。
【００１２】
非特許文献１の著者は、オーバーシュート（完全な一回転より多いこと）のリスクあるいはアンダーシュート（完全な一回転より少ないこと）のリスクを緩和するため、可能な限り理想的な姿：一つの完全な回転、すなわち３６０°まで旋回した後に、最終角速度がゼロとなる姿に近づけるためにロールを制御するさまざまなシーケンスの継続時間を調整することを継続的に反復することを提案している。
【００１３】
結局、（非特許文献１に記載の方法では、）１回目の試みでは、期待した結果が得られない。それどころか、多数回の連続した評価が必要であり、非特許文献１では、アルゴリズムの調整のために４０、５０回の反復が必要である。
【００１４】
さらに、多数のパラメータを調整した後でさえ、操縦の適正な実行が突風や壁の近くでの乱流等によるさまざまな外的要因によって阻害される。
【００１５】
非特許文献２は、クワッドコプターが水平飛行をしている間のバックーフリップ（ｂａｃｋ−ｆｌｉｐｓ）を実行する近似した技術について述べているが、その技術は上述したような同じ欠点と制限がある。
【００１６】
ロールまたはループの適正な実行にはいくつかの難題がある。
難題の一つは、無人機に望ましい回転を実行させるためにモータを制御させる場合、ロール軸あるいはピッチ軸回りの回転を始めるために供給する推力の左／右や前方／後方の反転の結果によって、無人機はもはや支持されなくなり、それゆえ、動作の始まりから終わりまでの間に高度を失うという点である（無人機が回転の間中、実質上平坦のままであるヨー軸回りの回転とは異なる）。
【００１７】
上述のルパシンの記事（非特許文献１）で述べたように、上記の問題は、回転が始まる前に、先行する上向きの垂直推力インパルスを与えるように無人機の複数のモータを同時に制御することによって解決することができる。これによって、無人機に十分な垂直運動量を付与し、運動の終了後に実質上最初と同じ高度に復帰させる。
【００１８】
しかしながら、４つのすべてのモータに開ループで適用されたこの先行する垂直推力は、インパルスが与えられる瞬間、厳密に水平状態でない姿勢の無人機の場合に横方向へのオフセットを生じせしめてしまうリスクを避けられない。
【００１９】
上述したように、１つの完全な回転、すなわち角度のオーバーシュートなしの３６０°回転による正確なループ回転には異なる問題がある。それは、無人機が最終水平位置で振動することである。この欠点はとりわけ、運動が素早く実行されるときに現れる。しかし、かかる高速度は、運動のスペクタクルな特質を強調するためだけでなく、とりわけ、運動中に機体が支持を失うという上述の効果を制限するためにもまた必須である。
【００２０】
このように、発明の課題は、無人機が運動の開始時から終了時までの間、高度を失うことなく、また、最終水平位置で振動することがない適切で正確な方法で、完全な一回転をするロール型またはループ型のフリップ操縦を実行できることである。
【００２１】
本発明の目的は、それぞれ個別に制御される複数のモータで駆動される複数の回転翼を備えた回転翼無人機の姿勢を動的に制御し、該無人機がロール軸あるいはピッチ軸の回りを完全な回転ができるように予めプログラムされたロール又はループ型の運動（マニューバ）方法を提供することにある。
【課題を解決するための手段】
【００２２】
ルパシンらの記事（非特許文献１）で公開されているように、予めプログラムされている運動（マニューバ）のトリガー命令を受けて、本発明の方法は、（上記目的を達成するために、）以下のシーケンスステップを実行する。該ステップは、
ａ）前記無人機に先行する上向きの垂直推力インパルスを与えるために前記無人機の各モータを同時に制御するステップと、
ｂ）前記無人機を回転軸回りに初期角度位置からゼロ角速度の最終角度位置まで回転させるため、前記各モータを制御して、前記各モータを開ループ制御に従属させるステージを含むステップ、
から成り、
本発明の特徴的な方法は、前記ｂ）のステップが連続するサブステップから成り、前記サブステップは、
ｂ１）前記無人機を回転軸回りの初期角度位置から所定の中間角度位置まで回転させるため、前記各モータに独立した非サーボ制御の制御を適用するサブステップと、
ｂ２）非ゼロの角速度を持った中間角度位置からゼロ角速度を持った最終角度位置まで、次第に、回転軸回りの１つの完全なターンによる無人機の回転を終えるために、参照目標軌道まで前記各モータへの独立したサーボ制御を適用するサブステップ、
とから成るものである。
【００２３】
なお、ステップｂ２）の参照目標軌道は、角速度で代表される目標軌道及び／または角度で代表される目標軌道であることを特徴とするものでよい。
【００２４】
より好ましい実施態様では、ステップｂ２）がサブステップから成り、前記サブステップは、
ｂ２１）中間角度位置と最終角度位置との間の停止時間の値を与えるサブステップと、
ｂ２２）所定の中間角度位置に達したときの前記無人機の角速度を計測するサブステップと、
ｂ２３）ステップｂ２１）で与えられた停止時間と、ステップｂ２２）で取得された測定値とから、中間角度位置から、付与時間の終了時の最終角度位置まで、時間関数として、前記無人機の角度位置の最適な連続的な変化をモデル化した、所定の予想関数のパラメータを設定するサブステップと、
ｂ２４）ステップｂ２３）で設定した予想関数に基づいて、所与の時点における予め計算された目標角度位置に対応する設定値を生成し、前記設定値を無人機の各モータを制御するサーボ制御ループに適用するサブステップ、
とから成る。
【００２５】
特に、前記設定値は、場合によってロール軸またはピッチ軸に対しての無人機の傾斜角度の設定値である。
前記所定の予想関数は、多項式関数であって、特に３次多項式関数であり、前記関数のパラメータを設定するステップｂ２３）は、前記多項式の係数を決定するステップである。
【００２６】
より詳細には、前記多項式関数は、以下の型の関数である。
【数１】
0006021470.tif 000002
式中、
φ（ｔ）はステップｂ２４）で生成した設定値に対応する角度位置であり、
ａ、ｂ、ｃ、及びｄは、ステップｂ２３）で設定された前記多項式の前記係数であって、
【数２】
0006021470.tif 000003
である。式中、
Ｔはステップｂ２１）で与えられた停止時間の値であり、
φinitialは中間角度位置の角度の値であり、そして
ｐinitialは、ステップｂ２２）で計測された、中間角度位置の無人機の角速度である。
【００２７】
より好ましくは、前記方法は、無人機が所定の角度位置に達したとき設定値を再定義するためにステップｂ２２）とｂ２３）の少なくとも一つの反復を提供する。設定値を再定義するための前記角度位置はステップｂ２）の中間角度位置と最終角度位置との間にあり、そして角度位置を再定義することによって、ステップｂ２３）でパラメータが新しい中間角度位置に対して設定される。
【００２８】
さらに、前記無人機への先行する上向きの垂直推力インパルスを与えるために前記複数のモータを同時に制御するステップａ）は、前記無人機の姿勢の制御を維持する間に実行されるステップとすることが有利である。
【００２９】
最後に、本発明の方法は、最終角度位置に達したときさらに最終ステップを含むことができ、当該最終ステップは、
ｃ）水平方向の線形速度がゼロで、地表への傾斜角度がゼロで、無人機を安定させるのに適しているホバリング飛行制御ループを稼働することによる無人機のホバリング（ｈｏｂｅｒｉｎｇ）状態への切替である。
【００３０】
本発明は、また、回転翼無人機のデジタルメモリーへダウンロード可能なソフトウェアを提供し、前記ソフトウエアは、リモート制御装置によるフリップ型の予めプログラムされた運動のトリガー命令を受信して実行する命令からなる。本発明は、上述のように、無人機の姿勢を動力学的に制御する方法を実行する。
【図面の簡単な説明】
【００３１】
【図１】は、無人機と、無人機を遠隔で制御することが可能な随伴するリモート制御を示す全景図である。
【図２】は、とりわけ、姿勢を制御することに関係する無人機の回転主軸を示す無人機の透視図である。
【図３】は、ロール型運動を実行しているときのロール軸回りの回転の様々なステージを示す、無人機の正面図である。
【図４】は、無人機がとることができる様々な機能的形態を示す状態図である。
【図５】は、様々な制御とサーボ制御部並びに無人機の自動操縦を示すブロック図である。
【図６】（ａ）及び（ｂ）は、計画された回転の最終ステージの間の理想参照軌道の角度と角速度をそれぞれ時間の関数として示す特性曲線のグラフである。
【図７】（ａ）及び（ｂ）は、計画された回転の最終ステージの間の理想参照軌道と測定値の角度の値と角速度の値をそれぞれ時間の関数として測定された変化を示す特性曲線のグラフである。
【発明を実施するための形態】
【００３２】
以下に、添付図面を参照して与えられる本発明の方法の実施態様を説明する。添付図面は、同一であるか機能的に類似している要素を示すために、図面内で同じ符号を用いる。
【００３３】
以下に、本発明の実施形態を説明する。
【００３４】
図１で、符号１０は、クワッドコプター型無人機、例えばフランスのパリにあるパロットＳＡが提供しているＡＲドレーンを示す全体のリファレンスである。とりわけ、符号１０は、上述のように特許文献１と、また特許文献２（自動安定化システム）及び特許文献３（ジャイロと加速度計によって無人機を制御するシステム）にもまた記述されている。
【００３５】
無人機は、組み込まれた航行と姿勢制御システムによって独立して制御されるモータを持つ４つの共角ロータ１２を備える。無人機は、また、進行方向の景色画像を取得する前面カメラ１４と、地表１８の画像を与えるとともに並進運動における水平速度を計算するために用いられる垂直方向カメラ１６を有する。慣性センサ（加速度計とジャイロ）は、ある精度で、無人機の角速度と姿勢角度を測定するものである。すなわち、それらは、地球絶対座標系に対して無人機の傾きを表す無人機のオイラー角度を測定するものである。超音波テレメータ２０もまた無人機の下に設置され、地表１８に対して無人機の高さを測定する。
【００３６】
無人機１０は、前面カメラ１４によってとらえた画像を表示し、ユーザの指２６がタッチスクリーン２４に単純に接触することによって、アクティブ化される一定数の操縦コマンドのシンボルを重畳して表示する、タッチスクリーン２４を備え付けたリモートコントロール装置２２で操縦される。既に言及したように、電気製品２２は、有利なことに、タッチスクリーンと内蔵型加速度計を備えた電話やマルチメディアプレイヤー、たとえばｉＰｈｏｎｅ型の携帯電話やメディアプレイヤーやｉｐｏｄ Ｔｏｕｃｈ型のプレイヤーやｉＰａｄ型のマルチメディアタブレットによって構成される。そのような電気製品の全ては、操縦コマンドを表示して検知するため、前面カメラによってとらえた画像を表示するため、そして無人機へ操縦命令を送ることができ、反対に、カメラ１４でとらえた画像を無人機のステージデータとして送ることができる双方向の無線回線で、無人機とデータを交換するために必要とされる様々な制御部を組み込んでいる。無線回線は、とりわけ、ＷｉＦｉ（ＩＥＥＥ  ８０２．１１）やＢｌｕｅｔｏｏｔｈ（登録商標）によって提供されるタイプのローカルエリアネットワークである。リモートコントロール装置２２は、また、傾度センサを備え、該センサの検出値に従って、ロール軸やピッチ軸回りの（本システムの詳細は、上述した特許文献１を参照）無人機の姿勢を制御することができる。
【００３７】
ユーザは無人機を次の組合せによって直接操縦する。その組合せは、
・タッチスクリーンにおけるコマンド、とりわけ“上昇／下降（ｕｐ／ｄｏｗｎ）”（スロットルコマンドに対応する）、そして“左旋回／右旋回（ｒｏｔａｔｅ ｌｅｆｔ／ｒｉｇｈｔ）”（ヨー軸回りの無人機の旋回）、そして
・電気製品の傾度検出器によって送られた信号、例えば、無人機を前進させるために、ユーザは対応するピッチ軸回りに装置を傾け、無人機を右へ左へシフトするために、ユーザは同じ電気製品をロール軸回りに傾ける。このように、無人機を、機首を傾けるか（ピッチ角度で傾斜させるように）または“急降下させる（ｄｉｖｅｓ）”ためにモータが制御されるならば、傾斜角度の増大に伴い上昇する運動で前進し、反対に、無人機が反対方向に“機首上げ”位置をとるならば、その速度は、次第に遅くなり、その後反転して後方に向かう。同様に、ロール軸回り（無人機が左や右へ傾く）の傾斜角度により、無人機を右や左に直線上に水平移動する。
【００３８】
無人機は、また、ホバリング飛行中、無人機を安定化するための自動で自主的なシステムを有する。その自動安定化システムは、とりわけ、ユーザが電気製品のタッチスクリーンから制御している指を離すとすぐにアクティブ化され、または離陸ステージの終わりに自動的に、あるいは電気製品と無人機間の無線通信の中断時にアクティブ化される。無人機は、そのとき定常的にホバリング状態となり、ユーザの介在なしに自動安定化操縦システムによって定位置を持続する。
【００３９】
図２は、それぞれピッチ軸２８、ロール軸３０、ヨー軸３２の回転軸を持った無人機１０と、無人機の機体の座標系（ｕ，ｖ，ｗ）であり、以下に表されるように無人機の動力学的挙動をモデル化する様々な方程式に関連する座標とを、一緒に、示している。
【００４０】
本発明は、さらにとりわけ、ロール軸３０回りのひとつの完全なターンによる回転に対応したロール型フリップ運動の実行に関連するか、またはピッチ軸２８回りのひとつの完全なターンによる回転に対応したループ型フリップ運動の実行に関連する。
【００４１】
以下に、ロールの実施形態を詳細に説明する。ループの実施形態は、ロール軸３０とピッチ軸２８を入れ替えると同一である。
【００４２】
図３は、実質上ゼロである一定のピッチ角度の定義で実行された、φ＝０°からφ＝３６０°までのロール軸回りのロールの様々なステージを示す図である。
【００４３】
本発明の主要な特徴は、ロールの実行は３つの連続するステージから成ることである。すなわち、
・ステージ１：無人機のロールの最終高度（φ＝３６０°）が実質的に初期高度（φ＝０°）となるように、上昇のロスやひっくり返る間に発生する推力の反転を補うために、無人機に与えられた先行する垂直推力インパルス、
・ステージ２：モータから直接的に開ループコマンドへ送られることによって与えられる回転、そして、
・ステージ３：予定されたターンを終えて、初期のゼロロール角度（φ＝０°）と同じ最終ロール角度（φ＝３６０°）で運動を終結するようなモータのサーボコントロール制御、
から成る。
【００４４】
無人機の制御やそれについての制御とサーボ制御部の一般的な構成を述べてから、以下にこれらの各ステージについて詳述する。
【００４５】
［無人機の連続ダイアグラムにロール／ループ機能を組み込むことについて］
図４は、無人機がとることができるさまざまな機能的形態を示す状態図である。
スイッチが入れられ、一定数の初期化ステップ（ブロック３４）が実行されると直ちに、無人機は、モータが離陸の準備状態である“着陸中（ｌａｎｄｅｄ）”状態（ブロック３６）になる。ユーザによって命令が送られるとモータをスピンアップさせ、無人機を離陸させる（ブロック３８）。その後二つの主要作動モードが可能になる：
・最初の“操縦飛行（ｐｉｌｏｔｅｄ  ｆｌｉｇｈｔ）”モード（ブロック４０）は、上述のように、電気製品の傾度検出器によって送られた信号とタッチスクリーン上で操作可能なコマンドとの組合せによって、無人機がユーザによって直接操縦される。そして、
・他のモード（ブロック４２）は、無人機をホバリング飛行で安定させる自主的なシステムを実行する自動モードである。この自動運転モードは、とりわけ離陸ステージの終わりで、ユーザが電気製品のタッチスクリーンから指を離すとすぐに、あるいは電気製品と無人機の間の無線通信が中断されるとアクティブ化される。
【００４６】
操縦飛行あるいはホバリング飛行は、電気製品の特定なコマンドを押すことにより、あるいは、バッテリーが不足した場合の結果として、着陸状態（ブロック４４）に切り替わることにより終了する。この状態への切替は、モータの回転速度を低下させ、それによって、相当する高度を低下させる。地上への接触が観測されたら、状態はブロック３６の“着陸中”の状態に戻る。
【００４７】
異常が検出された場合に、緊急状態に対応する故障状態（ブロック４６）も提供され、それにより、モータが直ちに停止する。特に、モータの故障（ロータの回転が妨げられる）、ソフトウェアの異常の場合、または加速度計が衝撃を検出した結果として、上述した状態のいずれかから、この故障状態に達することができる。
【００４８】
無人機はまた、無人機は非ゼロの傾斜角度で、そしてこのようにどちらかというと高いかもしれない水平速度で移動している移動状態から、安定的自動操縦システムによって定常的で定位置を持続するホバリング状態まで無人機を変化させるために、操縦飛行(移動状態、ブロック４０)からホバリング状態（ブロック４２）まで徐々に移行する方法(ブロック４８)を有している。この停止手順は、水平速度を反転することなく、短時間で実行される。
【００４９】
本発明に一致したループ型かロール型のフリップ運動をアクティブ化させるアクティブブロック５０は、ユーザの行為によって（リモートコントロール装置のタッチスクリーンに表示されたボタンを押すこと、電気製品を振ることなど）、手動で生成する対応コマンドを受けるとき、または自動的に、たとえば、リモートコントロール装置によって実行されるビデオゲームのシナリオの中で明示された一定数の状態が同時に発生したときアクティブ化される。
【００５０】
コマンドはフリップ型運動（ループあるいはロール、それによって無線機の旋回がおこる回転軸が決定する）や、またその実行方向（右ロールあるいは左ロール、ループに対して前方か後方か）の指示を含む。
【００５１】
運動（マニューバ）は、無人機がユーザによって操縦される（ブロック４０）状態から、あるいはホバリング（ブロック４２）の間の自動操縦状態から、等しく実行することが可能である。運動が実行された後の状態は、無人機が定常位置で安定化させるためのホバリング状態（ブロック４２）に至るまでの遷移状態（ブロック４８）である。
【００５２】
［無人機の制御及びサーボ制御部の一般的構造］
図５は、様々な制御とサーボ制御部とまた無人機の自動操縦の機能的ブロック図である。この図は、相互接続された回路の形態で表されているが、それに限らず、これらの様々な機能はソフトウェアによって本質的に実行され、この表示は、単に例示の目的であることに留意すべきである。
【００５３】
操縦システムは、様々な高度を自動的にまたはユーザからのコマンドを受けて制御することに加えて、角速度や無人機の姿勢を制御するため、あるいはホバリング飛行を安定化するための、多くの入れ子になったループを実行する。
【００５４】
一番内部のループは、角速度を制御するためのループ５２であり、ジャイロ５４によって提供された信号を最初に利用し、次いで角速度設定値５６によって構成された参照値を利用し、これら様々な情報が、角速度補正ステージ５８への入力として適用される。このステージ５８は、無人機の角速度をモータによって駆動されるロータの結合動作によって補正するために、様々なモータの速度を独立して制御するよう、モータ６２を制御するステージ６０を制御する。
【００５５】
角速度制御ループ５２は、ジャイロ５４、及び加速度計６６によって提供される情報に基づいて動作する姿勢制御ループ６４の中に入っており、これらのデータは姿勢推定ステージ６８への入力として適用され、その出力は、比例積分（ＰＩ）型姿勢補正ステージ７０に適用される。ステージ７０はステージ５６への角速度設定値を与え、その設定値はまた、無人機の自動操縦によって内部的に生成されたデータからあるいはユーザ７４によって直接適用されたコマンドから、回路７２によって生成された角度関数の設定値である。
【００５６】
設定値（ユーザによって適用されたかあるいは自動操縦によって内部的に生成された）と姿勢推定回路６８で与えられた測定角度の間の誤差からスタートすると、姿勢制御ループ６４（回路５４〜７０）はＰＩ補正回路７０を使って高度の速度設定値を計算する。角速度制御ループ５２（回路５４〜６０）はそのとき、前の角速度設定値とジャイロ５４による実測値の角速度間の差を計算する。そのループは、この情報を用いて、自動操縦によって計画された、またはユーザによってリクエストされた運動を実行するために、無人機のモータ６２に適用される様々な回転速度の設定値（即ち上昇力）を計算する。
【００５７】
自動操縦オペレーションのための設定値は内部的に生成される。垂直ビデオカメラ７８及び高度計として作用するテレメータセンサ８０は、プロセッサ回路８２に適用される情報を生成し、プロセッサ回路８２は、また回路８４によって推定された水平速度へ必要な補正を適用するためにジャイロ５４からデータを受信する。この水平速度の推定は、テレメータセンサ８０からの情報を受信する回路８６によって供給された高度推定に基づいて回路８８によって与えられる垂直速度推定によって補正することが可能である。
【００５８】
ホバリングの間、回路８４によって推定された水平速度は、無人機をゼロ速度にするため、速度と傾斜角度を両方ゼロにする形態で無人機を維持するために、回路７２によって角度設定値へ変換された後、姿勢制御ループの入力として適用される速度設定値を回路９０で計算できるようにする。
【００５９】
無人機の水平移動に関しては、ユーザ７４は、上昇速度設定値Ｖｚを直接、回路９４に与えるか、回路８６によって与えられた推定高度から回路９６を使用して上昇速度設定値を計算する回路９２に高度設定値を与える。
【００６０】
どちらにしても、すべてのモータの回転速度を同時に増加するか減少するために、設定上昇速度と測定上昇速度間の差を最小限にするために、上昇速度（定められもしくは計算された）は、回路８８によって与えられた推定上昇速度Ｖｚと設定値を比較し、そしてモータ（回路６０）へ適用されるコマンドデータを適宜修正する回路９８に適用される。
【００６１】
ロール型またはループ型のフリップ運動を実行するために、特有のコマンドが与えられ、それは、ユーザ７４からのコマンドか外部コマンド（スイッチ１０２）、例えばユーザのリモートコントロール装置によって実行されるビデオゲームのシナリオによって生成されたコマンドに基づいて、実行されるブロック１００によって表される。そのような状況の下、自動的に生成されたコマンドは、操縦信号とともに無人機へ送信される。
【００６２】
ブロック１００は、運動の実行について記述している上述の３つのステージを制御する。
・ステージ１（垂直インパルス）：ブロック９４へのリンク１０４を経由した上昇速度設定値の計算。
・ステージ２（開ループ制御回転）：モータ６２への直接リンク１０６経由。モータは図表で１０８と表したスイッチによって様々なサーボ制御ループから分離される。そして、
・ステージ３（サーボ制御下の計画された回転）：角度設定値を計算するブロック７２までのリンク１１０による。設定値は、計画された回転ステージの間の無人機の挙動を表した予め決定されたモデル関数として以下に説明する方法によって計算される。
【００６３】
［無人機の挙動のモデル化］
無人機の速度データは、図２で示された座標系（ｕ，ｖ，ｗ）、すなわち無人機に固定された機体の座標系で与えられる。
【００６４】
以下の表記が使用される。
・ｕとｖは水平並進移動の速度成分であり（ｕは無人機の主進行方向ΔでありｖはΔの横方向である）、そしてｗは垂直並進移動の速度であり、全て無人機に結びついた座標系である（したがって、地球座標系のいかなる傾きにも無関係である。）。
・ｐ、ｇとｒは（図２）で示されているように、ピッチ軸２８、ロール軸３０、ヨー軸３２回りの角速度である。そして、
・無人機のオイラー角φ、θ、ψは、その向きを（ガリレオ）地球座標系で定義し、φとθは水平線に対する傾きを定義する２つの角度である。
【００６５】
無人機の４つのプロペラｉ（ｉ＝１，・・・，４）の各々は、モータの回転速度ωｉの２乗に比例して、トルクΓｉと上昇推力Ｆｉを発生する。
【数３】
0006021470.tif 000004
【００６６】
基本的動力学方程式は、無人機の移動座標系への写像に適用される。それによって以下の３つの式が与えられる。
【数４】
0006021470.tif 000005
式中、ｇは重力加速度である。
ＣｘとＣｙは２つの水平軸方向の移動抵抗係数である（無人機が加えられる摩擦力を表す）。；
ａは推力と上昇速度を回転速度ωに関連づける係数である；そして、
ｍは、無人機の質量である。
【００６７】
動力学的モーメントの法則はシステムに対して適用され、さらに移動座標系への写像に適用される。それによって、以下の３つの式が導かれる。
【数５】
0006021470.tif 000006
式中、Ｉｓ、ＩｙとＩzは３つの軸回りの無人機の慣性モーメントを表すパラメータである。そしてｌはモータと無人機の重心間の距離である。
【００６８】
これらの式において、左側の第１項はシステムの力学モーメントに対応し、第２項は力学モーメントに対するコリオリ力の寄与を表し、右側が上昇力Ｆｉによって加えられるモーメントと、モータ各々のプロペラによって生成されるトルクΓｉに対応する。
【００６９】
最後に、３つのオイラー角φ、θ、ψを用いて以下の関係が適用される。
【数６】
0006021470.tif 000007
【００７０】
したがって、システムの挙動は９つの未知数を持つ９つの式によって完全に記述される（上述の式１−９）。
【００７１】
無人機が水平にホバリングしている（ゼロ速度と傾斜角度をもった）平衡点の近接では、以下のように与えられる。
ｕ＝ｖ＝ｗ＝θ＝φ＝０
式１−９はそのとき以下のようになる。
【数７】
0006021470.tif 000008
したがって、平衡点の近接では、以下のようになる
【数８】
0006021470.tif 000009
ｉ＝１，・・・，４に対してｗｉ＝ωｉ―ω０とし、上記式１〜９を、平衡点で１次項まで線形化することにより、以下の線形化された式のシステムが得られる。
【数９】
0006021470.tif 000010
【００７２】
これは、無人機の挙動のモデルを生成し、このモデルは、とりわけ、計画した回転ステージ（ステージＮｏ３）における無人機の挙動を予測し、適用される角度設定値を計算するために用いられる。
【００７３】
［ステージ１（垂直インパルス）］
このステップの目的は、運動を終えたときに実質上以前と同じ高度であることを確保するために、無人機に垂直方向の十分な運動量を与えることである。言い換えれば、そのアイデアは、運動を実行している間に、すなわち、もはやプロペラから持ち上げられない間、ひっくり返った形態の運動の一部で、地上に対して反対の推力を受けたときでさえ、高度を失うことがないように無人機を素早く上昇させることである。
【００７４】
このような運動は、無人機の姿勢の制御に依存している間、例えば垂直速度サーボ制御ループに最大速度参照値、完全な一回のターンによる回転に対して秒速１０００ミリメータ（ｍｍ／ｓ）の垂直速度設定値（あるいは中断なしの２連続ターンを実行することを望むなら、設定値の２倍、すなわち２０００ｍｍ／ｓ）を送ることから成る。
【００７５】
設定値速度である１０００ｍｍ／ｓに到達すると、以下のステージになる。
【００７６】
［ステージ２（開ループ制御による回転）］
アルゴリズムは、ロール軸φ回り（またはループに対するピッチ軸回り）の希望する回転を行うために、連続した開ループコマンドを無人機の４つのモータへ直接送る。このステージは２つのサブステージに細分される。
・レンジ０〜９０°（図３のステージ２Ａ）の角度φに対して、最大回転速度のコマンドはモータＮｏ１と４へ与えられ（２つのモータはロール軸の片側に位置する）、最小回転速度のコマンドはモータＮｏ２と３へ与えられる（２つのモータは同じ軸の別の側に置かれる）。
・レンジ９０〜２７０°（図３のステージ２Ｂ）の角度φに対して、最小回転速度設定値は４つのモータ全てに送られる。第１サブステージの間、適用されるコマンドは、後半の半ターンを続けるように、無人機に十分な運動量のある回転インパルスを与える。無人機はもはや半ターンの間にリフトを加えないため、ひっくり返った形態で時間を使うためでさえ、最小回転速度で回転させることによって、プロペラからの推力の逆効果を最小限にするようにする。
【００７７】
無人機がロール角度φ＝２７０°に達すると、３番目のステージへ移行する。
【００７８】
［ステージ３（計画されたサーボ制御回転）］
ロールからの回復は、自動的に、ユーザからの介在なしに行われることが望ましく、このために、セットポイントは、（回転の）遷移が可能な限り短時間で行われ、かつ、角度位置がφ＝０を超えないように、即ち、最終位置で振動しないように、設定される。
【００７９】
こうすると、無人機の挙動は、設定値に対する無人機の実際の角度応答を代表するトランスファー関数によって、前もって特定され、したがって、どのように無人機が振舞うかを予見し、ｉ）出来るだけ短い時間で、ｉｉ）目標角度（φ＝０°でゼロのロール角度）を過ぎることなく、無人機を停止するために最適な角度設定値を与えることができる。
【００８０】
さらに正確には、無人機の慣性を考慮することが必要である。それらは角度設定値φｒｅｆと対応する測定角度φｍｅｓの差を惹起する。このために、トランスファー関数φｍｅｓ／φｒｅｆが特定され、２次のシステムを代表すると推定される。ラプラス表記を使って（ｐはラプラス変数である）、これは与えられる。
【数１０】
0006021470.tif 000011
【００８１】
モデルを簡略化すると、このようになる。
【数１１】
0006021470.tif 000012
【００８２】
ラプラス表記を用したこのモデルから、各場面における設定値を与える微分方程式が時間の関数として得られる。
【数１２】
0006021470.tif 000013
【００８３】
この表記を使って、設定値と測定値との差をロールの最終ステージまでの間に回復させることができる関数ｔ→φ（ｔ）の形を選ぶことが適当である。
【００８４】
この例示の中で、希望する移動を実現するためにｔ（時間パラメータ）の３次多項式を使用する。
【００８５】
以下の多項式
【数１３】
0006021470.tif 000014
は、時間に関して連続的に区別することによって、それから推測され、それによって、上の関係を使って、無人機の角度サーボ制御ループの中で慣性を考慮する設定値を計算することが可能になる。
【００８６】
図６ａと６ｂは、それぞれ角度と角速度に関してこれらの多項式によって与えられた参照軌道を示す。
【００８７】
計算パラメータの一つは中間角度位置φ＝２７０°（またはφ＝−９０°）と最終角度位置φ＝０°の間で停止するように要求された時間に対する値である。例示の方法によれば、０．３秒（ｓ）に等しい停止時間または“水平時間（ｔｉｍｅ  ｈｏｒｉｚｏｎ）”Ｔが使用される。それは、また、φ＝０°のとき角速度をゼロにするのに適している。
【００８８】
この多項式を決定するため、その係数を決定することが必要である。
【００８９】
この計算は以下のように実行される。
上述のように、正方向のロールに対して角速度は次のように与えられる。
【数１４】
0006021470.tif 000015
【００９０】
角度θ（ピッチ移動はゼロ、いわば
【数１５】
0006021470.tif 000016
と仮定されるから、）に対する小角度の近似を使うことは可能である。そのような事情のもとで、上記関係は次のように近似できる。
【数１６】
0006021470.tif 000017
【００９１】
もし、多項式の係数がａ、ｂ、ｃ、及びｄで記されるならば、そのとき
【数１７】
0006021470.tif 000018
【００９２】
初期状態からスタートして、ｔ＝０で（無人機がステージ２と３の間で中間位置φ＝２７０°の達する時点）、以下の式が得られる。
【数１８】
0006021470.tif 000019
【００９３】
ステージ３の終わりでｔ＝Ｔのとき、角度と角速度はどちらもゼロに等しいから、
【数１９】
0006021470.tif 000020
【００９４】
多項式の係数ａ、ｂ、ｃ、及びｄに対する値を以下のようにこれら４つの式から推測することが可能である。
【数２０】
0006021470.tif 000021
式中、Ｔは停止時間の値であり、
φinitialは、計画された回転のステージの始まりに対応する中間角度位置の角度の値、すなわちｔ＝０におけるφ＝−９０°（または２７０°）である。そして、
ｐinitialは、前記中間角度位置で測定された無人機の角速度である。
【００９５】
φ＝−９０°（または２７０°）の値は単に例示として与えられたものであり、限定されていないことに留意すべきである。計画された回転のステージは無人機が角度φ＝２７０°に達する前後で始めることができる。
【００９６】
４つの係数ａ、ｂ、ｃ、及びｄは、ロール実行後に無人機を停止できるように、無人機に与えられるロール角度（即ち設定値）を決定させる。それらはステージ３の始まりで、初期角速度、その時に達する角度、無人機を停止させるために許容された時間Ｔを考慮する。
【００９７】
ステージ３）の始まりである、初期時点ｔ＝０、φ＝２７０°で、無人機のセンサによって計測された初期ロール角度φと初期角速度ｐは保存され、アルゴリズムは以下の多項式の係数ａ、ｂ、ｃ、及びｄを計算する。
【数２１】
0006021470.tif 000022
【００９８】
その後、アルゴリズムは、各々の時点で（計算の各々のサンプルｋに対する）以下の値を計算する。
【数２２】
0006021470.tif 000023
式中、ｔ（ｋ）＝ｋＴｅであり、Ｔｅは計算のサンプリング期間である。
【００９９】
これは、無人機の姿勢制御ループに適用される設定値を生成する。この制御は、設定時間で運動を終わらせるように制御が最適化されるように考慮されている。
【０１００】
使用されたモデルは２次の近似モデルであり、それゆえ、モデルは識別誤差を包含する。したがって、望ましい角度値（予め定義された参照軌道に対応する）は少しずつずれる。
【０１０１】
この離脱を補うために、例えば予め定義された停止期間Ｔの半分に相当するｔ＝０．１５ｓで、多項式の係数を再計算することによって、アルゴリズムは再び初期設定される。
【０１０２】
言い換えれば、運動のステージ３の中間で、ロール角度の測定値が参照軌道から離れすぎるのを防ぐために、運動はより短い時間の範囲（０．３ｓのかわりに０，１５ｓ）で、無人機の運動をできるだけ参照軌道（目標軌道）に近づくようリセットするために再度計画される。
【０１０３】
図７（ａ）と図７（ｂ）は、実際の飛行中に行われたテストの結果を示す。それぞれ、参照軌道（図７（ａ）では角度で、図７（ｂ）では角速度で表されている）及び計画された回転の最終ステージにおいて付与される計算上の設定値に対する、時間を関数とする測定値の角度φ及び角速度ｐのずれ（ｖａｒｉａｔｉｏｎｓ）を示している。
【０１０４】
これらの図は、測定角度（または測定角速度）と予め定義された参照軌道との間で次第に増加する差異、時間長Ｔ／２＝０．１５ｓ後に多項式の係数を再計算して調整した差異を示している。
【符号の説明】
【０１０５】
１０  無人機
１２  共角ロータ
１４  前面カメラ
１６  垂直方向カメラ
１８  地表
２０  超音波テレメータ
２２  リモートコントロール装置
２４  タッチスクリーン
２６  ユーザの指
２８  ピッチ軸
３０  ロール軸
３２  ヨー軸
３４  スタート
３６  着陸中
３８  離陸
４０  操縦飛行
４２  ホバリング飛行
４４  着陸
４８  切替
５０  ループ／ロール
５２  角速度制御
５４  ジャイロ
５６  角速度設定値
５８  補正  角速度
６０  モータ制御
６２  モータ
６４  姿勢制御
６６  加速度計
６８  推定  姿勢
７０  補正  姿勢
７２  計算  角度設定値
７４  ユーザ
７８  ビデオカメラ
８０  テレメータセンサ
８２  ビジョン（映像）
８４  推定  水平速度
８６  推定  高度
８８  推定  Ｖｚ
９０  補正  ホバリング飛行
９２  計算  高度設定値
９４  計算  設定値Ｖｚ
９６  補正  高度
９８  補正  Ｖｚ
１００  ロール／ループ
１０２  スイッチ
１０４  リンク
１０６  リンク
１０８  スイッチ
１１０  リンク
【図１】
0006021470.tif 000026
【図２】
0006021470.tif 000027
【図３】
0006021470.tif 000028
【図４】
0006021470.tif 000029
【図５】
0006021470.tif 000030
【図６】
0006021470.tif 000031
【図７】
0006021470.tif 000032