"1つまたは複数の車輪が同軸上に並び、かつ前記車輪に載置される部分の重心が車軸上より上部に位置する倒立振子型移動装置であって、前記車輪の回転状態を基に、外乱力の原因を判別し、前記判別結果に基づいて、前記車輪への出力トルクを決定する倒立制御部を有することを特徴とする倒立振子型移動装置。前記車輪の回転状態は、車輪角速度と、前記車輪に加えられる外乱力であることを特徴とする請求の範囲第1項に記載の倒立振子型移動装置。前記倒立制御部は、以下の式1が成立している場合、前記外乱力の原因を空転と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。なお、τはモータトルク、Jは車輪の慣性モーメント、dφは車輪角速度、ε2は所定の値である。前記倒立制御部は、前記車輪角速度の方向が、所定時間内に変化している場合、車輪の回転方向の急激な変化が生じていると判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、前記車輪角速度および前記外乱力の方向が同じである状態から、所定時間内において、ともに逆方向となった場合、前記外乱力の原因をスリップと判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が逆方向に変化し、かつ、前記外乱力が存在する状態から、0へと変化した場合、前記外乱力の原因を段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が逆方向に変化し、かつ、前記外乱力が0から、前記外乱力が存在する状態に変化した場合、前記外乱力の原因を段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が前方へ移動する回転から、後方へ移動する回転に変化し、かつ、前記外乱力が前記車輪の回転方向に対して逆方向から、0へと変化した場合、前記外乱力の原因を前方上り段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が後方へ移動する回転から、前方へ移動する回転に変化し、かつ、前記外乱力が0から、前記車輪の回転方向に対して逆方向へと変化した場合、前記外乱力の原因を前方上り段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が前方へ移動する回転から、後方へ移動する回転に変化し、かつ、前記外乱力が前記車輪の回転方向に対して順方向から、0へと変化した場合、前記外乱力の原因を前方下り段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が後方へ移動する回転から、前方へ移動する回転に変化し、かつ、前記外乱力が0から、前記車輪の回転方向に対して順方向へと変化した場合、前記外乱力の原因を前方下り段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が後方へ移動する回転から、前方へ移動する回転に変化し、かつ、前記外乱力が前記車輪の回転方向に対して順方向から、0へと変化した場合、前記外乱力の原因を後方下り段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が前方へ移動する回転から、後方へ移動する回転に変化し、かつ、前記外乱力が0から、前記車輪の回転方向に対して順方向へと変化した場合、前記外乱力の原因を後方上り段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が後方へ移動する回転から、前方へ移動する回転に変化し、かつ、前記外乱力が前記車輪の回転方向に対して逆方向から、0へと変化した場合、前記外乱力の原因を後方下り段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記車輪角速度の方向が前方へ移動する回転から、後方へ移動する回転に変化し、かつ、前記外乱力が0から、前記車輪の回転方向に対して逆方向へと変化した場合、前記外乱力の原因を後方下り段差と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内に、前記外乱力の方向に変化はないが、車輪角速度の方向が逆方向に変化した場合、前記外乱力の原因を傾斜面と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記外乱力の方向が、前記車輪の回転に対して逆方向のままで、前記車輪角速度の方向が逆方向に変化した場合、前記外乱力の原因を上り傾斜面と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、所定時間内において、前記外乱力の方向が、前記車輪の回転に対して順方向のままで、前記車輪角速度の方向が逆方向に変化した場合、前記外乱力の原因を下り傾斜面と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。前記倒立制御部は、前記車輪角速度および前記外乱力の方向が互いに逆方向の状態であり、所定時間内において前記車輪角速度および前記外乱力のそれぞれの方向が逆方向に変化した場合、前記外乱力の原因を柔らかい路面と判別することを特徴とする請求の範囲第2項に記載の倒立振子型移動装置。1つまたは複数の車輪が同軸上に並び、かつ、前記車輪に載置される部分の重心が車軸上より上部に位置する倒立振子型移動装置の制御方法であって、前記車輪の回転状態を基に、外乱力の原因を判別し、前記判別結果に基づいて、前記車輪への出力トルクを決定することを特徴とする倒立振子型移動装置の制御方法。倒立振子型移動装置は、その底面積が小さいことから、人間が搭乗する移動体として利用するケースや、サービスロボットとして屋内の人の生活空間を移動するケースなどがある。このように、倒立振子型移動装置は人間と共存しながらあらゆる環境で活躍することが期待されている。このような状況下で倒立振子型移動装置を活用する場合には、転倒の防止や乗り心地や安定性が重要となり、上体の揺れと振れ幅を小さく抑えることが必要である。倒立振子型移動装置はバランスを保つために小刻みに前後方向に加速する。しかし、安定化動作に必要な車輪の挙動は路面の影響を大きく受け、特に車輪回転速度の方向が頻繁に切り替わるような低速度の時に揺れの抑制が難しい場合がある。例えば、草地や絨毯などの柔らかい路面では、車輪の動きを妨げるような外乱力が車輪に発生し、この外乱力は車輪回転速度の方向に応じて方向を変える。つまり、柔らかい路面では、車輪が沈み込んでしまうため、前後左右のどれに移動しようとしても、常に車輪に対して抵抗力が加えられる。このため、倒立振子型移動装置における小刻みに前後方向に加速する動作が阻害され、その動作が不安定になると言う問題がある。しかしながら、外乱力を補正する従来技術では柔らかい路面や、斜面などの様々な種類の外乱力に対して十分に補償する技術が開示されていない。つまり、特許文献1および特許文献2などの従来技術では、一種類の外乱力に対応できるようになっているものの、対象外の外乱力が加えられると対応不可能となってしまう。例えば、路面から加えられた外乱力を外乱オブサーバで推定して路面傾斜と段差に対応する特許文献1記載の技術と、路面傾斜を推定する技術が記載されている特許文献2記載の技術を用いた場合について説明する。想定している路面傾斜と段差による外乱力は移動体の車輪速度に関わらず一方向である。一方、倒立振子型移動装置が柔らかい路面上で停止または低速度で移動している場合においては車輪速度の方向が大きく変わり外乱力の方向が激しく変化する。このため、一方向の外乱力を仮定する外乱オブザーバを用いて、柔らかい路面に対応しようとすると、車輪速度の切り替わり時に外乱力を強める方向に補正を行ってしまう場合があり、結果として、倒立振子型移動装置の揺れが増幅してしまうことがある。つまり、特許文献1に記載の技術を用いて、特許文献2に記載の技術を実現することは困難である。特許文献2に記載の技術を用いて、特許文献1に記載の技術を実現することも同様である。つまり、従来技術を単純に組み合わせて、様々な種類の外乱力に対応することは困難である。このような背景に鑑みて本発明がなされたのであり、本発明は、様々な外乱力に対応できる倒立振子型移動装置、および、その制御方法を提供することを課題とする。前記課題を解決するため、本発明は、1つまたは複数の車輪が同軸上に並び、かつ前記車輪に載置される部分の重心が車軸上より上部に位置する倒立振子型移動装置であって、前記車輪の回転状態を基に、外乱力の原因を判別し、前記判別結果に基づいて、前記車輪への出力トルクを決定する倒立制御部を有することを特徴とする。本発明によれば、様々な外乱力に対応できる倒立振子型移動装置、および、その制御方法を提供することができる。次に、本発明を実施するための形態実施形態というについて、適宜図面を参照しながら詳細に説明する。なお、各図面において、同様の構成要素については、同一の符号を付して説明を省略する。[装置構成]図1は、本実施形態に係る倒立振子型移動装置の構成外略図である。図1aは本実施形態に係る倒立振子型移動装置の側面図であり、図1bは倒立振子型移動装置の正面図である。図1aおよび図1bに示すように、倒立振子型移動装置1は左右1対からなる同軸上の車輪4R,4L4と、移動機構部3と、それ以外の上体部とで構成されている。倒立振子型移動装置1において、車輪4R,4Lは同軸上に並んでおり、かつ、前記車輪4以外の部分の重心車輪に載置される部分の重心が車軸上より上部に位置している。本実施形態では、車輪4は2つとしているが、1つ以上であればよい。移動機構部3は機構制御部32と、車輪4R,4Lのそれぞれを回転させるモータ31R,31L31を備えている。車輪4R,4Lは、それぞれ独立のモータ31R,31Lに接続されている。モータ31R,31Lは機構制御部32に接続され、それぞれ所定のトルクを発生させるように制御される。車輪4R,4Lの車輪角度φR,φLと、車輪角速度dφR,dφLはモータ31R,31Lを介して機構制御部32が取得する。以後、単に、車輪角度φを車輪角度φR,φLの左右平均、車輪角速度dφを車輪角速度dφR,dφLの平均として適宜扱うことがある。ここで、車輪角速度は、車輪軸回りの角速度である。上体部は移動機構部3の上部に備えられている。上体部は、後記する各演算を行うための計算部2と、車輪4R,4Lを除く倒立振子型移動装置1の重心位置と車軸を結んだ直線と鉛直方向のなす傾斜角度θ、および傾斜角速度dθを測定するための姿勢センサ5例えば、ジャイロセンサを備えている。なお、計算部2と移動機構部3と姿勢センサ5とは情報交換ができるように接続されている。図2は、本実施形態に係る倒立振子型移動装置の機能ブロック図である。図2に示すように、計算部2は、行動決定部21、経路計画部22、速度計画部23、倒立制御部24を備えている。また、計算部2は、姿勢センサ5や、移動機構部3に接続されている。なお、倒立制御部24の処理が本実施形態に特徴的なものである。ここで、計算部2および各部21~24は、図示しないROMReadOnlyMemoryに格納されているプログラムが、CPUCentralProcessingUnitによって実行されることによって具現化する。以下、経路計画生成の手法を簡単に説明する。なお、経路計画は倒立振子型移動装置1が自律型である場合には必要であるが、人が搭乗して操縦する搭乗型である場合は省略可能である。行動決定部21は倒立振子型移動装置1の当面の移動目標を決定する。当面の移動目標の情報移動目標情報は移動先位置pr、移動先方向ωr、最大移動速度Vmax、最大車輪トルクτmaxの各情報を含んでいる。これらの情報は、予めプログラムされており、移動先位置に達する毎に次の移動目標がプログラムにより設定されるようになっている。また、行動決定部21は、倒立制御部24から、現在位置を取得する。また、行動決定部21は、車輪4R,4Lに加えられる推定外乱力の原因が段差であることを示す情報が含まれるとともに、段差が存在する方向前方上り段差などに関する情報段差種の情報が含まれている段差シグナルを倒立制御部24から取得した場合、現在位置pと移動先位置prの距離が予め設定された距離より近い場合は、不安定さを回避するため、移動目標の移動先位置prを段差シグナルが示す段差の逆方向に予め設定された距離の分動かす。経路計画部22は、行動決定部21から移動目標を、倒立制御部24から現在位置pと現在の旋回方向ωを取得し、当面の経路を生成する。当面の経路生成方法は、一般的には、現在位置p、移動先位置prを直線で結ぶ方法が用いられる。または、当面の経路生成方法として移動先位置prと現在位置pにおいて目標とする旋回方向ωrと現在の旋回方向ωが異なる場合は現在位置pと移動先位置prを滑らかに接続するベジェ曲線やスプライン曲線を当面の経路とする手法が用いられてもよい。また、経路計画部22は生成した当面の経路情報を経路上にある点の位置座標データx,y,ω群として、速度計画部23に送信する。速度計画部23は行動決定部21から当面の移動目標を取得し、経路計画部22から経路計画を取得し、姿勢センサ5から上体の傾斜角度θと傾斜角速度dθを取得し、移動機構部3から倒立制御部24を介して車輪角速度dφを取得し、取得した各情報を基に経路全体の速度計画を生成する。また、速度計画部23は生成した経路全体の速度計画と、取得した全体の経路計画を倒立制御部24へ送信する。速度計画は並進に関するものと旋回に関するものからなり、並進に関する速度計画は、例えば特開2007-319991号公報に記載されている方法で生成することができる。この方法において、倒立振子型移動装置1は、自身の運動方程式を利用して、車輪角度φと傾斜角度θの線形和である特徴点qを求める。そして、倒立振子型移動装置1は、これを複数回微分したものを媒介変数として移動目標を表現することで決定する。さらに、倒立振子型移動装置1は、車輪角度φ、車輪角速度dφ、傾斜角度θ、傾斜角速度dθからなる速度計画を生成する。この時、目標とする速度計画全体の移動距離には全体の経路計画に沿った各当面の移動目標位置までの道のりが用いられる。次に、倒立振子型移動装置1は、生成された並進に関する速度計画と経路計画から旋回に関する速度計画を算出する。旋回に関する速度計画は経路上で取るべき旋回方向ωと旋回方向速度dωからなる。経路計画を構成する経路上にある点の位置座標データをpr[i]iはデータ番号とし、時刻tでの倒立振子型移動装置1が取るべき場所pr[k]とするとkは、以下の式1を最小にするものが探索されることによって決定される。り同時刻の速度計画での車輪角速度dφrに車輪4の半径sを乗じたものである。また、t0は計画開始時点での時刻である。また時刻tにおける=位置座標データpr[k]に対応する旋回方向速度dωr[k]は、式2により決定する。ここで、R[k]は旋回半径である。R[k]は、pr[k-1]、pr[k]、pr[k1]の3点のx、y座標を以下の式3に代入し、連立させることで旋回円の中心座標a、bと供に算出される。x-a2y-b2=R[k]23以上により旋回方向と旋回方向速度の時刻tにおける目標値からなる旋回に関する速度計画が算出される。倒立制御部24は速度計画と経路計画、現在の状態、推定外乱力からモータ31への指示トルクτrを算出し、機構制御部32へ送信する。倒立制御部24の処理は、図3以降で詳細に説明する。[倒立制御処理]図3は、本実施形態に係る倒立制御部による倒立制御処理の手順を示すフローチャートである。まず、倒立制御部24は速度計画部23から速度計画や、経路計画などを取得し、さらに移動機構部3から車輪4R,4Lの回転角度φR,φLや、車輪4R,4Lの回転角速度dφR,dφLや、直前に出力された車輪4R,4LのモータトルクτR,τLなどといった各種情報を取得するS101。次に、倒立制御部24は倒立振子型移動装置1の現在位置と旋回方向を更新するS102。更新は、以下の式4に基づいて行われる。ここでのtは時刻であり、t0は現在時刻である。また、車輪角度φR,φLと回転角速度dφR,dφLは過去データを用いて時刻tの関数で記述される。そして、vは倒立振子型移動装置1の移動速度であり、sは車輪4の半径であり、fは車輪4R,4Lの間隔である次に、倒立制御部24は、並進用モータトルクτsを以下の式5を用いて算出するS103。ここで、Kjj=1、2、3、4はスカラ量であり、ヒューリスティックに設定されたり、またLQRLinearQuadraticRegulatorやH∞制御論により設定されたりする値である。また、θr,dθr,φr,dφrはそれぞれ経路計画から得られた時刻tにおける傾斜角度目標値、傾斜角速度目標値、車輪角度目標値、車輪角速度目標値である。続いて、倒立制御部24は経路に追従するための旋回用モータトルクτcを以下の式6を用いて算出するS104。ここで、Kjj=5、6、7はスカラ量であり、ヒューリスティックに設定されたり、または前記したような各種制御理論により設定されたりする値である。また、Hは倒立振子型移動装置1の現在位置pt0に最も近い経路計画上の点までの距離である。そして、倒立制御部24は左右の車輪4R,4Lそれぞれに加えられる外乱力DR,DLを推定するS105。推定される外乱力以降、推定外乱力と適宜称するとは、外部から車輪4に加えられる量である。推定外乱力を推定するためには、左右それぞれの車軸にトルクセンサを取り付け、モータ31R,31Lの出力と、過去に推定されたモータ31R,31Lの出力との比較で算出することもできるが、外乱推定オブザーバ不図示を用いて推定してもよい。なお、外乱力の推定は、公知の技術であるため詳細な説明を省略する。倒立振子型移動装置1の運動方程式から算出される状態量には、車輪角度φや、車輪角速度dφや、傾斜角度や、傾斜角速度などがあるが、外乱推定オブザーバは倒立振子型移動装置1に対し推定外乱力を状態に加えた拡大システムのオブザーバを構成することにより推定外乱力を得る。外乱推定オブザーバの設計法は一般によく知られたものを用いる。また外乱推定オブザーバは車輪4R,4Lそれぞれについて設定される。左右それぞれの外乱推定オブサーバは、倒立振子移動体の状態量である、車輪4R,4Lそれぞれの車輪角度φR,φLや、車輪角速度dφR,dφLや、傾斜角度や、傾斜角速度と車輪角度と対応するモータ31に直前に指定したそれぞれのトルクを入力として与えることで推定外乱力DR,DLの大きさと車輪4R,4Lのどの方向に加えられているかを推定する。次に、倒立制御部24は推定外乱力DR,DLの大きさや、方向や、車輪角速度dφR,dφLや、直前に出力したモータトルクτR,τLなどを用いて推定外乱力の原因外乱原因の判別を行い、判別された外乱原因に応じた左右モータ31それぞれへの指示トルクτrR,τrLを算出するS106。ステップS106の詳細は、図4で後記する。そして、倒立制御部24は、ステップS106で算出された指示トルクτrR,τrLを移動機構部3へ出力しS107、処理を終了する。[外乱原因の判別および指示トルクの算出:図3のステップS106]図4は、本実施形態に係る外乱原因の判別および指示トルクの算出図3のステップS106の処理手順を示すフローチャートである。なお、図4におけるフローチャートは、左右の車輪4R,4Lのうち、一方の車輪4ここでは、右車輪4Rとするに対する処理であり、他方の車輪4における同様の処理も並列かつ独立に行われている。まず、倒立制御部24は、車輪4Rが完全に空転しているか否かを判定するS201。車輪4Rが完全に空転している場合つまり、車輪4Rが接地していない場合、倒立振子型移動装置1の上体部における負荷分を考慮しなくてよくなるため、車輪4Rに加えたトルクを増加させる方に推定外乱力DRが加えられる。このことより、倒立制御部24は、以下の式7が成り立っている場合、空転が生じていると判定する。ここで、τRは直前に加えられた実際のトルク実測値であり、Jは車輪4Rの慣性モーメント、εは許容誤差範囲である。式7が真である場合、すなわち、倒立制御部24が車輪4Rに空転が生じていると判定した場合S201→Yes、空転から復帰した後に速やかに制御行うため、モータ31への指示トルクτrRは推定外乱力がない場合よりも減少させることが望ましく、倒立制御部24は、例えば、以下の式8を用いて、空転時におけるモータ31Rへの指示トルクτtRを算出しS202、図3のステップS107へリターンする。τrR=τsτc-K2φ-φr-K4dφ-dφr8ここで、K2、K4は並進用モータトルクτsの算出時図3のステップS103で用いた値であり、式8の第3項以降の効果により、車輪4Rの空転による目標車輪角度φr、現在の車輪角度φr、目標車輪角速度dφrおよび現在の車輪角速度dφrの偏差の過剰拡大による式8の第2項までの過剰なトルク要求を緩和できる。ステップS201の結果、空転が生じていないと判定された場合S201→No、すなわち、式7が満たされていない場合、倒立制御部24は車輪角速度dφRが予め設定された過去の一定時間内において符号から0になったり、符号-から0になったり、0を超えて符号を反転させるような変化を行っているか否かを判定する。つまり、倒立制御部24は、車輪角速度dφRの方向が急激に変化しているか否かを判定するS203。ステップS203の結果、車輪角速度dφRの方向が急激に変化していない場合S203→No、倒立制御部24は、以下の式9を用いて、急激な変化を伴わない時におけるモータ31Rへの指示トルクτrRを算出しS204、図3のステップS107へリターンする。τrR=τsτc-DR9式9により、倒立制御部24は車輪角速度dφRが0を跨いで変化しないことにより、車輪角速度dφRの符号に由来する早い外乱力の符号変化がないとして、モータ31Rへの指示トルクτrRへ外乱力を相殺するように補正している。ステップS203の結果、車輪角速度dφRの方向が急激に変化している場合S203→Yes、倒立制御部24はスリップが生じているか否かを判定するS205。倒立制御部24は、スリップが生じているか否かを後記する図5に示す表に基づいて判定する。ステップS205の結果、スリップが生じていると判定された場合S205→Yes、倒立制御部24は、以下の式10に基づいて、スリップ時におけるモータ31Rへの指示トルクτrRを算出しS206、図3のステップS107へリターンする。τrR=Gτsτc10ここで、Gは1以下0以上の値をとる、予め設定されたスカラ量であり、モータトルクを減少させることでスリップの早期解消の働きをする。ステップS205の結果、スリップが生じていないと判定された場合S205→No、倒立制御部24は、推定外乱力DRの原因が段差であるかを判定するS207。推定外乱力DRの原因が段差であるか否か判定は、車輪角速度dφRと推定外乱力DRが後記する図6の条件を満たしているかによって行われる。推定外乱力DRの原因が段差であると判定された場合S207→Yes、倒立制御部24は、図6の表に従って、前方上り段差であるか、前方下り段差であるか、後方上り段差であるか、後方下り段差であるかといった段差種の判定を行うS208。そして、倒立制御部24は、判定した段差種の情報が格納されている段差シグナルを生成し、生成した段差シグナルを行動決定部21へ送信する。また、倒立制御部24は、段差時のモータ31Rへの指示トルクτrRを式9に基づいて算出しS209、図3のステップS107へリターンする。ステップS207の結果、推定外乱力DRの原因が段差ではないと判定された場合S207→No、倒立制御部24は推定外乱力DRの原因が路面傾斜によるものか否かを判定するS210。推定外乱力DRの原因が路面傾斜によるものか否かの判定は車輪角速度dφRと推定外乱力DRが、後記する図7に示す表の条件を満たしているか否かによって判定される。ステップS210の結果、推定外乱力DRの原因が路面傾斜によるものであると判定された場合S210→Yes、倒立制御部24は、路面傾斜時のモータ31Rへの指示トルクτrRを式9に基づいて算出しS211、図3のステップS107へリターンする。ステップS210の結果、推定外乱力DRの原因が路面傾斜によるものでないと判定された場合S210→No、倒立制御部24は推定外乱力DRの原因が柔らかい路面によるものであるか否かを判定するS212。推定外乱力DRの原因が柔らかい路面であるか否かの判定は車輪角速度dφRと推定外乱力DRが、後記する図8の表の条件を満たしているか否かによって判定される。ステップS212の結果、推定外乱力DRの原因が柔らかい路面によるものであると判定された場合S212→Yes、倒立制御部24は、柔らかい路面時のモータ31Rへの指示トルクτrRを、以下の式11基づいて算出しS213、図3のステップS107へリターンする。ステップS212の結果、推定外乱力DRの原因が柔らかい路面によるものではないと判定された場合S212→No、倒立制御部24は、モータ31Rへの指示トルクτrRを式9に基づいて算出しS214、図3のステップS107へリターンする。以上の処理によって、外乱力推定外乱力の種類が判別され、判別された外乱力に応じて指示トルクが算出される。図4の処理は右車輪4Rについてのものであるが、車輪角速度および推定外乱力を、左車輪4Lのものとして、同様の処理を右車輪4Rと並行して左車輪4Lについても行うことで、左車輪4Lに対する外乱原因の判別も行われる。なお、図4の処理において、ステップS201,S203,S205,S207,S210,S212の各判定は、この順番に行われなくてもよい。この後、機構制御部32は、モータ31R,31Lの発生するトルクτR,τLが、倒立制御部24から送信された左右モータ31R,31Lへの指示トルクτrR,τrLに追従するように制御する。また、機構制御部32は、モータ31R,31Lから実際に発生したトルクτR,τLと、モータ31R,31Lを介して得られる車輪角速度dφR,dφL及び車輪角度φR,φLを取得し、倒立制御部24へ送信する。本実施形態によれば、外乱力推定外乱力の種類を判別し、その判別結果に応じた指示トルクを決定するので、様々な種類の外乱力に対応でき、安定した走行を可能とする倒立振子型移動装置1を提供することができる。[判別条件]続いて、図5~図8を参照して、各推定外乱力の種別の判別条件を説明する。ここでは、右車輪4Rについて説明するが、左車輪4Lについても同様の判別条件が用いられる。《スリップ:図4のステップS205》図5は、スリップに対する判別条件を示す表である。なお、図5~図8において、車輪角速度がであるとは、倒立振子型移動装置1が前方に向うよう車輪4Rが回転していることを示し、-であるとは、倒立振子型移動装置1が後方に向うよう車輪4Rが回転していることを示す。また、推定外乱力がであるとは、倒立振子型移動装置1が前方に向うように、車輪4Rに対して推定外乱力が余計に働いていることを示し、-であるとは、倒立振子型移動装置1が後方に向うように、車輪4Rに対して推定外乱力が余計に働いていることを示す。なお、推定外乱力が0であるとは、余分な推定外乱力が働いていない状態を示す、図5に示すように、最初、車輪角速度、推定外乱力がともにであった後、所定時間内に、両者とも-に変化した場合、倒立制御部24は外乱原因の判別結果としてスリップを出力する。つまり、スリップを起こしたため、前方に進んでいた倒立振子型移動装置1の車輪4Rが、車輪角速度および推定外乱力ともに方向に余計な力が働いた後、バランスをとるため、倒立振子型移動装置1が逆方向に進もうとすると、ここでもスリップが生じて、車輪角速度および推定外乱力ともに-方向に余計な力が働いた場合、倒立制御部24は外乱原因をスリップと判別する。なお、判別条件が生じる順番は逆でもよい。つまり、最初、車輪角速度および推定外乱力の両者が-であり、所定時間内に、車輪角速度および推定外乱力の両者がとなった場合でも、倒立制御部24は外乱原因をスリップと判別する。《段差:図4のステップS207》前方上り段差図6は、段差に対する判別条件を示す表である。図6に示すように、現在あるいは所定の時点の車輪角速度がで、推定外乱力が-である状態から、所定時間内に車輪角速度が-、推定外乱力が0の状態となった場合、倒立制御部24は外乱原因を前方上り段差と判別する。これは、倒立振子型移動装置1が段差にぶつかって、その段差を乗り越えている状態車輪角速度、推定外乱力-から、段差を乗り越えた後、バランスをとるため、倒立振子型移動装置1がやや後退した車輪角速度-、推定外乱力0ことを意味している。なお、判別条件が生じる順番は逆でもよい。つまり、最初、車輪角速度が-で推定外乱力が0の状態から、所定時間内に、車輪角速度がになり、推定外乱力が-となった場合でも、倒立制御部24は外乱原因を前方上り段差と判別する。これは、倒立振子型移動装置1が段差にぶつかった後、一旦後退してから、段差を乗り越えることを意味する。前方下り段差また、現在あるいは所定の時点の車輪角速度および推定外乱力の両者がである状態から、所定時間内に車輪角速度が-、推定外乱力が0の状態となった場合、倒立制御部24は外乱原因を前方下り段差と判別する。これは、前進している下り段差を降りている状態車輪角速度、推定外乱力の後、倒立振子型移動装置1が、やや後退した車輪角速度-、推定外乱力0ことを意味している。なお、判別条件が生じる順番は逆でもよい。つまり、最初、車輪角速度が-で推定外乱力が0の状態から、所定時間内に、車輪角速度および推定外乱力の両者がとなった場合でも、倒立制御部24は外乱原因を前方下り段差と判別する。これは、倒立振子型移動装置1が段差に遭遇した時点で、一旦後退してから、段差を降りることを意味する。後方上り段差さらに、現在あるいは所定の時点の車輪角速度が-で、推定外乱力がである状態から、所定時間内に車輪角速度が、推定外乱力が0の状態となった場合、倒立制御部24は外乱原因を後方上り段差と判別する。これは、後進している倒立振子型移動装置1が段差にぶつかって、その段差を後ろ向きに乗り越えている状態車輪角速度-、推定外乱力から、段差を乗り越えた後、バランスをとるため、倒立振子型移動装置1がやや前進した車輪角速度、推定外乱力0ことを意味している。なお、判別条件が生じる順番は逆でもよい。つまり、最初、車輪角速度がで推定外乱力が0の状態から、所定時間内に、車輪角速度が-になり、推定外乱力がとなった場合でも、倒立制御部24は外乱原因を後方上り段差と判別する。これは、倒立振子型移動装置1が後ろ向きに段差にぶつかった後、一旦前進してから、段差を乗り越えることを意味する。後方下り段差さらに、現在あるいは所定の時点の車輪角速度および推定外乱力の両者が-である状態から、所定時間内に車輪角速度が、推定外乱力が0の状態となった場合、倒立制御部24は外乱原因を後方下り段差と判別する。これは、後進している倒立振子型移動装置1が段差を降りている状態車輪角速度-、推定外乱力-の状態後、バランスをとるため、倒立振子型移動装置1がやや前進した車輪角速度、推定外乱力0ことを意味している。なお、判別条件が生じる順番は逆でもよい。つまり、最初、車輪角速度がで推定外乱力が0の状態から、所定時間内に、車輪角速度が-になり、推定外乱力が-となった場合でも、倒立制御部24は外乱原因を後方下り段差と判別する。これは、倒立振子型移動装置1が後ろ向きに段差に遭遇した後、一旦前進してから、段差を降りることを意味する。《斜面:図4のステップS210》上り傾斜面図7は、斜面に対する判別条件を示す表である。図7に示すように、現在あるいは所定の時点の車輪角速度がで、推定外乱力が-である状態から、所定時間内に車輪角速度および推定外乱力の両者が-の状態となった場合、倒立制御部24は外乱原因を上り傾斜面と判別する。これは、倒立振子型移動装置1が、上り傾斜面を上った車輪角速度、推定外乱力-後、バランスをとるため、一旦、この斜面を下る車輪角速度-、推定外乱力-ことを意味している。なお、判別条件が生じる順番は逆でもよい。つまり、最初、車輪角速度および推定外乱力の両者が-の状態から、所定時間内に、車輪角速度がになり、推定外乱力が-となった場合でも、倒立制御部24は外乱原因を上り傾斜面と判別する。これは、倒立振子型移動装置1が上り傾斜面を上り始めた直後に、バランスをとるため、一旦傾斜面を少し下ってから、傾斜面を登ることを意味する。下り傾斜面また、現在あるいは所定の時点の車輪角速度および推定外乱力の両者が-である状態から、所定時間内に車輪角速度が-、推定外乱力がの状態となった場合、倒立制御部24は推定外乱力の原因を下り傾斜面と判別する。これは、前進している倒立振子型移動装置1が、下り傾斜面を下った車輪角速度、推定外乱力後、バランスをとるため、倒立振子型移動装置1が、一旦、この斜面を登る車輪角速度-、推定外乱力ことを意味している。なお、判別条件が生じる順番は逆でもよい。つまり、最初、車輪角速度が-で推定外乱力がの状態から、所定時間内に、車輪角速度および推定外乱力の両者がとなった場合でも、倒立制御部24は外乱原因を下り傾斜面と判別する。これは、倒立振子型移動装置1が下り傾斜面を下り始めた直後に、バランスをとるため、一旦傾斜面を登ってから、傾斜面を下ることを意味する。《柔らかい路面:図4のステップS212》図8は、柔らかい路面に対する判別条件を示す表である。図8に示すように、路面が柔らかいとき、車輪4Rが路面に沈み込むので、倒立振子型移動装置1が前後に動いても、車輪4Rには抵抗力つまり、車輪角速度とは逆方向の推定外乱力が働く。従って、図8に示すように、前進しようとしているが、後ろ向きに抵抗推定外乱力が働いている状態車輪角速度、推定外乱力-から、所定時間内に後進しようとしているが、前向きに抵抗推定外乱力が働いている状態車輪角速度-、推定外乱力となったとき、倒立制御部24は外乱原因を柔らかい路面と判別する。この判別条件が生じる順番は逆でもよい。つまり、倒立振子型移動装置1が後進しようとしているが、前向きに抵抗推定外乱力が働いている状態車輪角速度-、推定外乱力状態から、所定時間内に、前進しようとしているが、後ろ向きに抵抗推定外乱力が働いている状態車輪角速度、推定外乱力-となったとき、倒立制御部24は外乱原因を柔らかい路面と判別する。別の実施形態なお、本実施形態では、行動決定部21において移動目標や、経路が予めプログラムされているとしたが、人間がジョイスティックやコンソールなどを用いて、直接指定操縦してもよい。また、人間がリアルタイムに操縦を行う場合においては、行動決定部21が生成する移動目標の中に移動先位置が含まれない。従って、経路計画部22が不要となり、速度計画部23は並進に関わる速度計画のみを計画し、旋回に関する計画は、常に操縦者によりリアルタイムで入力される旋回角速度を用いる。この場合、倒立制御部24は、式5、式6によるτs,τcの算出に関し、位置と旋回角度に関する項を0として扱うとよい。また、図3における一連の処理において、倒立制御部24は推定外乱力DR,DLをそのまま用いているが、推定外乱力DR,DLの値をローパスフィルタなどのデジタルフィルタを介して整形して用いてもよい。また車輪4R,4L自体の柔らかさに由来する特性を取り除くため、倒立制御部24が事前に十分硬い路面上で車輪角速度dφR,dφLの正負それぞれの場合において、推定外乱力DR,DLが、どの様な値をとるかを測定し、その測定結果を図3の処理で得られた推定外乱力DR,DLから、車輪角速度dφR,dφLの正負それぞれの場合においてそれぞれ予め減じておいてもよい。そして、倒立制御部24は、図4の外乱原因の判別において閾値を用い、外乱力推定外乱力の絶対値が閾値より小さい場合は0として扱うようにしてもよい。さらに、倒立制御部24は、車輪角速度および車輪角度を、それぞれ倒立振子型移動装置1の移動速度と位置、旋回角速度で変換したものを代わりに用いてもよい。さらに、倒立制御部24は、段差、路面傾斜、柔らかい路面などの外乱力の種別を判別した際に、路面形状と位置情報を同時に記憶部不図示に記録し、次回以降の路面形状と位置情報の記憶部への追加時に、記録してある路面形状や、位置情報を用いて補正を行うなどの利用をしてもよい。また、本実施形態では外乱力を外乱推定オブザーバによる推定外乱力としたが、これに限らず、センサによる実測の外乱力を使用してもよい。本実施形態によれば、前記したように外乱力推定外乱力の種類を判別し、その判別結果に応じた指示トルクを決定するので、様々な種類の外乱力に対応でき、安定した走行を可能とする倒立振子型移動装置1を提供することができる。"