(57)【特許請求の範囲】
【請求項１】
駆動手段により駆動される車輪と、該車輪に支持される車体と、前記車体の傾斜角度及び傾斜角速度の少なくとも一方を検出する第一検出手段と、前記車輪の回転角度及び角速度の少なくとも一方を検出する第二検出手段と、前記第一検出手段の検出値および前記第二検出手段の検出値に基づいて前記駆動手段に制御指令値を与える制御手段と、を備え、前記車体の重心が前記車輪の回転軸の上方に位置する移動台車の制御方法であって、
前記制御手段は、
前記第二検出手段の検出値に基づいて、前記車体に加わる外力により発生する前記回転軸回りの慣性モーメントである外力モーメントを推定し、
推定した外力モーメントに基づいて、前記車体の重心の前記回転軸回りの重力モーメントが、前記外力モーメントと釣り合う前記車体の傾斜角度を目標車体傾斜角度として設定し、
前記第一検出手段の検出値および前記目標車体傾斜角度に基づき、前記制御指令値を算出し、
前記制御指令値のうち、前記車体を移動させるための指令値を発してない状態で、前記第一検出手段の検出値が０以外の値となった場合、前記第一検出手段の検出値が０となるまで前記車体の目標傾斜角度を増減し、
前記目標傾斜角度の増減値を、前記第一検出手段の検出値の絶対値の大小に応じて増減する、
ことを特徴とする移動台車の制御方法。
【請求項２】
前記制御手段は、
前記目標傾斜角度の増減値を、前記車体の傾斜角度または傾斜角速度の少なくとも一方を評価指標として、前記車体の傾斜角度の大きさ及び傾斜角速度の変動を小さくするように逐次学習することを特徴とする請求項１記載の移動台車の制御方法。
【請求項３】
駆動手段により駆動される車輪と、該車輪に支持される車体と、前記車体の傾斜角度及び傾斜角速度の少なくとも一方を検出する第一検出手段と、前記車輪の回転角度及び角速度の少なくとも一方を検出する第二検出手段と、前記第一検出手段の検出値および前記第二検出手段の検出値に基づいて前記駆動手段に制御指令値を与える制御手段と、を備え、前記車体の重心が前記車輪の回転軸の上方に位置する移動台車の制御方法であって、
前記制御手段は、
前記第二検出手段の検出値に基づいて、前記車体に加わる外力により発生する前記回転軸回りの慣性モーメントである外力モーメントを推定し、
推定した外力モーメントに基づいて、前記車体の重心の前記回転軸回りの重力モーメントが、前記外力モーメントと釣り合う前記車体の傾斜角度を目標車体傾斜角度として設定し、
前記第一検出手段の検出値および前記目標車体傾斜角度に基づき、前記制御指令値を算出し、
前記制御指令値のうち、前記車体を移動させるための指令値を発してない状態で、前記第二検出手段の検出値が０以外の値となった場合、前記第二検出手段の検出値が０となるまで前記車体の目標傾斜角度を増減し、
前記目標傾斜角度の増減値を、前記第二検出手段の検出値の絶対値の大小に応じて増減する、
ことを特徴とする移動台車の制御方法。
【請求項４】
前記制御手段は、
前記目標傾斜角度の増減値を、前記車輪の回転角度または角速度の少なくとも一方を評価指標として、前記車輪の回転角度の大きさ及び角速度の変動を小さくするように逐次学習することを特徴とする請求項３記載の移動台車の制御方法。
【請求項５】
前記外力モーメントを、外乱オブザーバにて求めることを特徴とする請求項１または請求項３記載の移動台車の制御方法。
【請求項６】
駆動手段により駆動される車輪と、該車輪に支持される車体と、前記車体の傾斜角度及び傾斜角速度の少なくとも一方を検出する第一検出手段と、前記車輪の回転角度及び角速度の少なくとも一方を検出する第二検出手段と、前記第一検出手段の検出値および前記第二検出手段の検出値に基づいて前記駆動手段に制御指令値を与える制御手段と、を備え、前記車体の重心が前記車輪の回転軸の上方に位置する移動台車であって、
前記制御手段は、
前記第二検出手段の検出値に基づいて、前記車体に加わる外力により発生する前記回転軸回りの慣性モーメントである外力モーメントを推定し、
推定した外力モーメントに基づいて、前記車体の重心の前記回転軸回りの重力モーメントが、前記外力モーメントと釣り合う前記車体の傾斜角度を目標車体傾斜角度として設定し、
前記第一検出手段の検出値および前記目標車体傾斜角度に基づき、前記制御指令値を算出し、
前記制御指令値のうち、前記車体を移動させるための指令値を発してない状態で、前記第一検出手段の検出値が０以外の値となった場合、前記第一検出手段の検出値が０となるまで前記車体の目標傾斜角度を増減し、
前記目標傾斜角度の増減値を、前記第一検出手段の検出値の絶対値の大小に応じて増減する、
ことを特徴とする移動台車。
【請求項７】
駆動手段により駆動される車輪と、該車輪に支持される車体と、前記車体の傾斜角度及び傾斜角速度の少なくとも一方を検出する第一検出手段と、前記車輪の回転角度及び角速度の少なくとも一方を検出する第二検出手段と、前記第一検出手段の検出値および前記第二検出手段の検出値に基づいて前記駆動手段に制御指令値を与える制御手段と、を備え、前記車体の重心が前記車輪の回転軸の上方に位置する移動台車であって、
前記制御手段は、
前記第二検出手段の検出値に基づいて、前記車体に加わる外力により発生する前記回転軸回りの慣性モーメントである外力モーメントを推定し、
推定した外力モーメントに基づいて、前記車体の重心の前記回転軸回りの重力モーメントが、前記外力モーメントと釣り合う前記車体の傾斜角度を目標車体傾斜角度として設定し、
前記第一検出手段の検出値および前記目標車体傾斜角度に基づき、前記制御指令値を算出し、
前記制御指令値のうち、前記車体を移動させるための指令値を発してない状態で、前記第二検出手段の検出値が０以外の値となった場合、前記第二検出手段の検出値が０となるまで前記車体の目標傾斜角度を増減し、
前記目標傾斜角度の増減値を、前記第二検出手段の検出値の絶対値の大小に応じて増減する、
ことを特徴とする移動台車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車体の重心が車輪の回転軸より上方に位置する倒立振子型の移動台車の制御方法及び移動台車に関する。
【背景技術】
【０００２】
倒立振子型の移動台車及びその制御方法としては、例えば、特許文献１に記載の技術が知られている。
特許文献１には、車輪と、この車輪に支持される車体とを備え、その重心が車輪の回転軸より上方に位置する移動台車が開示されており、この移動台車において、倒立振子制御及び位置制御が行われる台車並進方向（車軸と直交方向）の制御と、位置制御のみが行われる台車回転方向（車軸旋回方向）の制御とが行われている。
この移動台車は、車体が倒立を維持するように車輪の駆動手段への制御指令値（モータへのトルク指令値）を算出する制御手段を有しており、この制御手段は、車体が外乱に対して安定倒立可能なようにロバスト性を有している。これにより、台車設置面が傾斜していたり、荷重の変動が生じたりしても、安定して車体の倒立を維持することができるとしている。
【０００３】
そして、台車並進方向の制御においては、その状態量（観測量）として、車輪角度（車体に対する車輪の回転角度）、この車輪角度の１回微分である車輪角速度、車体傾斜角度（鉛直方向からの車体の傾き）、この車体傾斜角度の１回微分である車体傾斜角速度が用いられている。ここで、車体傾斜角度は不安定性を有しているため、フィードバック制御を加えないと安定に倒立することはできないため、台車並進方向の位置制御では前記の状態量を全て０にするよう制御入力が決定される。
【特許文献１】特開２００４−２９５４３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記特許文献１に開示されている台車並進方向の制御については、モータへのトルク指令値を算出するために車輪角度と車体傾斜角度を用いる１入力（車軸トルク）２出力（車輪角度・車体傾斜角度）であるため、その２つの出力の制御性にはトレードオフ（一方の条件を満たそうとすると他方が不利になる関係）が存在し、台車に加わる外乱が大きくなると次のような不具合が生じることがあった。
【０００５】
すなわち、前述の如く台車並進方向の制御については１入力２出力であるため、搭乗者の乗車形態の重心移動・荷物搭載による重心位置変動・搭乗者の乗り降り等の外乱により外力が車体に加わると、まず、外力により変動した車体傾斜角度を０に戻す方向へ車軸トルクをかけて移動する。そうして、車体傾斜角度を安定させてから、車輪角度が０となるように、移動した台車が元の位置に戻る方向へ車軸トルクをかける。
外乱が小さい場合は、このような制御でも台車はほとんど動かずにその位置での静止を可能とするが、例えば、車体に加わる外乱が、定常的なものや大きく過渡変化するもの等の大きな外乱である場合、その外乱による外力が車体に加わると、車体傾斜角度と車輪角度を同時に０にすることができず、元の位置（外乱が加わる前の位置）を中心とした振動の収束性が悪化することとなる。
これにより、車輪位置が大きく移動（車輪角度が大きく変化）してしまう。また、同じ理由から、移動台車に対して、搭乗者が車体に飛び乗るといった動作が行われた場合、車輪位置の大きな移動は避けられず搭乗性の悪化が発生する。
つまり、台車並進方向において車体の重心位置と異なる位置に重量物を搭載したり、台車の上部に設けられる腕などの懸架機構を用いて人が車体に搭乗して重量物を持ち上げたりした場合、車体の重心位置の変動が発生するため、その場で立ち止まることができなくなる。
このような移動台車を、人が搭乗したり物の運搬をする移動体として考えたとき、外乱
により車輪位置の大きな移動が発生するのは、人の搭乗性や物の積載性の悪化をともなう
こととなる。
【０００６】
そこで、本発明は、車体に大きな外力が加わっても、台車（車輪位置）の移動を最小限にして、その場での安定した位置制御を可能とすることにより、人の搭乗性や物の搭載性を向上することができる移動台車の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段を説明する。
【０００８】
即ち、請求項１においては、
駆動手段により駆動される車輪と、該車輪に支持される車体と、前記車体の傾斜角度及び傾斜角速度の少なくとも一方を検出する第一検出手段と、前記車輪の回転角度及び角速度の少なくとも一方を検出する第二検出手段と、前記第一検出手段の検出値および前記第二検出手段の検出値に基づいて前記駆動手段に制御指令値を与える制御手段と、を備え、前記車体の重心が前記車輪の回転軸の上方に位置する移動台車の制御方法であって、
前記制御手段は、
前記第二検出手段の検出値に基づいて、前記車体に加わる外力により発生する前記回転軸回りの慣性モーメントである外力モーメントを推定し、
推定した外力モーメントに基づいて、前記車体の重心の前記回転軸回りの重力モーメントが、前記外力モーメントと釣り合う前記車体の傾斜角度を目標車体傾斜角度として設定し、
前記第一検出手段の検出値および前記目標車体傾斜角度に基づき、前記制御指令値を算出し、
前記制御指令値のうち、前記車体を移動させるための指令値を発してない状態で、前記第一検出手段の検出値が０以外の値となった場合、前記第一検出手段の検出値が０となるまで前記車体の目標傾斜角度を増減し、
前記目標傾斜角度の増減値を、前記第一検出手段の検出値の絶対値の大小に応じて増減するものである。
【０００９】
請求項２においては、
前記制御手段は、
前記目標傾斜角度の増減値を、前記車体の傾斜角度または傾斜角速度の少なくとも一方を評価指標として、前記車体の傾斜角度の大きさ及び傾斜角速度の変動を小さくするように逐次学習するものである。
【００１０】
請求項３においては、
駆動手段により駆動される車輪と、該車輪に支持される車体と、前記車体の傾斜角度及び傾斜角速度の少なくとも一方を検出する第一検出手段と、前記車輪の回転角度及び角速度の少なくとも一方を検出する第二検出手段と、前記第一検出手段の検出値および前記第二検出手段の検出値に基づいて前記駆動手段に制御指令値を与える制御手段と、を備え、前記車体の重心が前記車輪の回転軸の上方に位置する移動台車の制御方法であって、
前記制御手段は、
前記第二検出手段の検出値に基づいて、前記車体に加わる外力により発生する前記回転軸回りの慣性モーメントである外力モーメントを推定し、
推定した外力モーメントに基づいて、前記車体の重心の前記回転軸回りの重力モーメントが、前記外力モーメントと釣り合う前記車体の傾斜角度を目標車体傾斜角度として設定し、
前記第一検出手段の検出値および前記目標車体傾斜角度に基づき、前記制御指令値を算出し、
前記制御指令値のうち、前記車体を移動させるための指令値を発してない状態で、前記第二検出手段の検出値が０以外の値となった場合、前記第二検出手段の検出値が０となるまで前記車体の目標傾斜角度を増減し、
前記目標傾斜角度の増減値を、前記第二検出手段の検出値の絶対値の大小に応じて増減するものである。
【００１１】
請求項４においては、
前記制御手段は、
前記目標傾斜角度の増減値を、前記車輪の回転角度または角速度の少なくとも一方を評価指標として、前記車輪の回転角度の大きさ及び角速度の変動を小さくするように逐次学習するものである。
【００１２】
請求項５においては、
前記外力モーメントを、外乱オブザーバにて求めるものである。
つまり、外乱を状態量として推定する外乱オブザーバを用いることで、外乱による外力が車体に加わることにより発生する外力モーメントを状態量として推定し、パラメータ変動に含まれるこの推定外乱を制御的に相殺するものである。
【００１３】
請求項６においては、
駆動手段により駆動される車輪と、該車輪に支持される車体と、前記車体の傾斜角度及び傾斜角速度の少なくとも一方を検出する第一検出手段と、前記車輪の回転角度及び角速度の少なくとも一方を検出する第二検出手段と、前記第一検出手段の検出値および前記第二検出手段の検出値に基づいて前記駆動手段に制御指令値を与える制御手段と、を備え、前記車体の重心が前記車輪の回転軸の上方に位置する移動台車であって、
前記制御手段は、
前記第二検出手段の検出値に基づいて、前記車体に加わる外力により発生する前記回転軸回りの慣性モーメントである外力モーメントを推定し、
推定した外力モーメントに基づいて、前記車体の重心の前記回転軸回りの重力モーメントが、前記外力モーメントと釣り合う前記車体の傾斜角度を目標車体傾斜角度として設定し、
前記第一検出手段の検出値および前記目標車体傾斜角度に基づき、前記制御指令値を算出し、
前記制御指令値のうち、前記車体を移動させるための指令値を発してない状態で、前記第一検出手段の検出値が０以外の値となった場合、前記第一検出手段の検出値が０となるまで前記車体の目標傾斜角度を増減し、
前記目標傾斜角度の増減値を、前記第一検出手段の検出値の絶対値の大小に応じて増減するものである。
【００１４】
請求項７においては、
駆動手段により駆動される車輪と、該車輪に支持される車体と、前記車体の傾斜角度及び傾斜角速度の少なくとも一方を検出する第一検出手段と、前記車輪の回転角度及び角速度の少なくとも一方を検出する第二検出手段と、前記第一検出手段の検出値および前記第二検出手段の検出値に基づいて前記駆動手段に制御指令値を与える制御手段と、を備え、前記車体の重心が前記車輪の回転軸の上方に位置する移動台車であって、
前記制御手段は、
前記第二検出手段の検出値に基づいて、前記車体に加わる外力により発生する前記回転軸回りの慣性モーメントである外力モーメントを推定し、
推定した外力モーメントに基づいて、前記車体の重心の前記回転軸回りの重力モーメントが、前記外力モーメントと釣り合う前記車体の傾斜角度を目標車体傾斜角度として設定し、
前記第一検出手段の検出値および前記目標車体傾斜角度に基づき、前記制御指令値を算出し、
前記制御指令値のうち、前記車体を移動させるための指令値を発してない状態で、前記第二検出手段の検出値が０以外の値となった場合、前記第二検出手段の検出値が０となるまで前記車体の目標傾斜角度を増減し、
前記目標傾斜角度の増減値を、前記第二検出手段の検出値の絶対値の大小に応じて増減するものである。
【発明の効果】
【００１５】
本発明の効果として、以下に示すような効果を奏する。
【００１６】
請求項１においては、推定した外力モーメントから導かれる目標車体傾斜角度に基づき、駆動手段への制御指令値を算出することにより、見かけ上の車体傾斜角度は０となり、外力が発生してもその場で静止することが可能となる。つまり、車体に大きな外力が加わっても、台車（車輪位置）が移動することなく、その場での安定した位置制御が可能となり、人の搭乗性や物の搭載性を向上することができる。
また、車体に外乱による外力が加わってから、移動台車が安定静止するまでの移動距離が短くなり、例えば、移動台車の二輪状態での、重量物の積み下ろし等の積載性や人の搭乗性を向上することができる。
また、車体の傾斜角度または車体傾斜角速度の絶対値が小さい領域、つまり車体の釣り合い位置近傍での微振動を防止することができる。
【００１７】
請求項２においては、車体の釣り合い位置近傍での微振動をより効果的に防止することが可能となる。
【００１８】
請求項３においては、推定した外力モーメントから導かれる目標車体傾斜角度に基づき、駆動手段への制御指令値を算出することにより、見かけ上の車体傾斜角度は０となり、外力が発生してもその場で静止することが可能となる。つまり、車体に大きな外力が加わっても、台車（車輪位置）が移動することなく、その場での安定した位置制御が可能となり、人の搭乗性や物の搭載性を向上することができる。
また、車体に外乱による外力が加わってから、移動台車が安定静止するまでの移動距離が短くなり、例えば、移動台車の二輪状態での、重量物の積み下ろし等の積載性や人の搭乗性を向上することができる。
また、車輪の角速度の絶対値が小さい領域、つまり車体の釣り合い位置近傍での微振動を防止することができる。
【００１９】
請求項４においては、車体の釣り合い位置近傍での微振動をより効果的に防止することが可能となる。
【００２０】
請求項５においては、状態量の検出用として新たにセンサ等を設けることなく、既設のセンサ等を利用して、外力モーメントを求めることができる。
【００２１】
請求項６においては、推定した外力モーメントから導かれる目標車体傾斜角度に基づき、駆動手段への制御指令値を算出することにより、見かけ上の車体傾斜角度は０となり、外力が発生してもその場で静止することが可能となる。つまり、車体に大きな外力が加わっても、台車（車輪位置）が移動することなく、その場での安定した位置制御が可能となり、人の搭乗性や物の搭載性を向上することができる。
また、車体に外乱による外力が加わってから、移動台車が安定静止するまでの移動距離が短くなり、例えば、移動台車の二輪状態での、重量物の積み下ろし等の積載性や人の搭乗性を向上することができる。
また、車体の傾斜角度または車体傾斜角速度の絶対値が小さい領域、つまり車体の釣り合い位置近傍での微振動を防止することができる。
【００２２】
請求項７においては、推定した外力モーメントから導かれる目標車体傾斜角度に基づき、駆動手段への制御指令値を算出することにより、見かけ上の車体傾斜角度は０となり、外力が発生してもその場で静止することが可能となる。つまり、車体に大きな外力が加わっても、台車（車輪位置）が移動することなく、その場での安定した位置制御が可能となり、人の搭乗性や物の搭載性を向上することができる。
また、車体に外乱による外力が加わってから、移動台車が安定静止するまでの移動距離が短くなり、例えば、移動台車の二輪状態での、重量物の積み下ろし等の積載性や人の搭乗性を向上することができる。
また、車輪の角速度の絶対値が小さい領域、つまり車体の釣り合い位置近傍での微振動を防止することができる。
【発明を実施するための最良の形態】
【００２３】
次に、発明の実施の形態を説明する。
まず、本発明に係る移動台車の一例の概略構成について、図１を用いて説明する。
本発明に係る移動台車は、略直方体状に枠組み形成された台車本体（以下、「車体」という。）１の下部に配設される左右の車輪２・３を有している。
両車輪２・３は、同一回転軸線上に左右対称に配され、この回転軸線に対して直交する方向に車体１が傾動可能となっている。
【００２４】
右車輪２には駆動手段としてのモータ４が接続されており、左車輪３には同じく駆動手段としてのモータ５が接続されている。各モータ４・５には、それぞれのモータの回転角度を検出するエンコーダ４ａ・５ａ（図２参照）が取り付けられている。
図中７は１軸ジャイロセンサであり、両車輪２・３の回転軸線と直交する方向（車体１の傾動方向）に配置されている。
従って、このジャイロセンサ７により車体１の傾斜角速度（以下、「車体傾斜角速度」という。）が検出される。なお、車体傾斜角速度を測定するセンサとしてはジャイロセンサに限られず、例えば、重力加速度センサや重り吊り下げ型傾斜角度計などの、傾斜角や傾斜角速度の計測に用いることができる種々の計測器を用いることができる。
【００２５】
車体１の内部（収納部）には、両モータ４・５を駆動するためのモータドライバ６、バッテリ８及び制御手段としての制御コンピュータ１０が搭載されている。
制御コンピュータ１０は、ジャイロセンサ７の出力、モータ４・５のエンコーダ出力に基づいてモータ４・５の制御指令値であるトルク指令値を算出する。
制御コンピュータ１０で算出されたトルク指令値はモータドライバ６に出力され、モータドライバ６はこのトルク指令値に基づいてモータ４・５を制御する。
また、車体１の上部１ａには、例えばロボットのボディー（図示省略）が載置される。
【００２６】
次に、上述したように構成される移動台車の制御系について、図２を用いて説明する。
図２に示すように、移動台車の制御は制御手段としての制御コンピュータ１０により行われる。制御コンピュータ１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等により構成され、ＲＯＭに格納された制御プログラムを実行することで、台車並進方向（車輪２・３の回転軸線と直交方向）に関する制御指令値を算出する台車並進方向制御指令値算出手段１１（以下、単に「制御指令値算出手段１１」という。）と、後述する目標車体傾斜角度を設定する目標値設定手段１２として機能する。なお、制御コンピュータ１０は、前記制御プログラムを実行することで、台車回転方向（車輪２・３の回転軸旋回方向）に関する制御指令値を算出する台車回転方向制御指令値算出手段としても機能する。
【００２７】
すなわち、図１に示すように、同一回転軸線上に配される二つの車輪２・３を有する移動台車においては、台車並進方向の制御と、台車回転方向の制御とが行われ、各車輪２・３を独立して駆動することで台車を回転（旋回）させるが、本発明に係る移動台車はこれに限定されずに、一または同一回転軸線上に配される二以上の車輪を有していればよい。
つまり、本発明に係る移動台車は、台車並進方向の制御が行われるものであればよい。
【００２８】
制御コンピュータ１０には、ジャイロセンサ７が接続され、このジャイロセンサ７の出力（車体傾斜角速度）が入力されるようになっている。
つまり、ジャイロセンサ７は、第一検出手段の一例である。
また、制御コンピュータ１０には、モータドライバ６の一部であるモータ駆動回路６ａ及びモータ駆動回路６ｂが接続されている。モータ駆動回路６ａは、モータ４と接続され、制御コンピュータ１０からのトルク指令値に応じてモータ４を駆動する。
同様に、モータ駆動回路６ｂは、モータ５と接続され、制御コンピュータ１０からのトルク指令値に応じてモータ５を駆動する。各モータ４・５のエンコーダ４ａ・５ａは、制御コンピュータ１０に接続され、各エンコーダ４ａ・５ａからの出力（各モータ４・５の回転角度）が制御コンピュータ１０に入力されるようになっている。
つまり、エンコーダ４ａ・５ａは、第二検出手段の一例である。
【００２９】
次に、制御指令値算出手段１１について説明する。制御指令値算出手段１１は、台車並進方向を制御するためのモータ４・５へのトルク指令値を算出する。
制御指令値算出手段１１の設計手順の一例を説明する。
まず、図３（ａ）に示すように、移動台車を真横から見て、１輪の倒立振子としてモデル化し、車体１の重心（以下、「車体重心」という。）を１Ｃ、車輪の回転軸をＳとする。また、同図（ｂ）には、モータ４（または５）と車輪２（または３）との連結を示している。
図３中、ｍ1は車体１の質量、Ｊ1は車体１の重心回りの慣性モーメント、ｍwは車輪の質量、Ｊwは車輪の軸回りの慣性モーメント、Ｊmはモータロータの慣性モーメント、ｎはギヤ比とし、車体重心１Ｃの回転軸（車軸）Ｓからの距離をｌ、車輪の半径をｒとする。
これら各パラメータｍ1、Ｊ1、ｍw、Ｊw、Ｊm、ｎ、ｌ、ｒは、計算または実測により求めることができる。また、鉛直方向（回転軸Ｓを通る鉛直線ｘ）からの車体１の傾き（以下、「車体傾斜角度」という。）をηとし、鉛直方向からの車輪の回転角度（以下、「車輪角度」という。）をθとする。
【００３０】
そして、図３（ａ）に示す１輪の倒立振子に対し運動方程式を作成する。
すなわち、この制御モデルに対してトルク指令値ｕが入力されるとして運動方程式を作成すると、その運動方程式は次のようになる。
【００３１】
【数１】
0004760162.tif 000002
【００３２】
【数２】
0004760162.tif 000003
【００３３】
また、車体１に、搭乗者の移動や荷物搭載などの外乱により外力が加わった場合、その外力の台車並進方向の成分Ｆにより発生する車輪の回転軸Ｓ回りの慣性モーメントが発生する。この外力による台車１の回転軸Ｓ回りの慣性モーメント（以下、「外力モーメントｆ」という。）を、質量ｍfを有する質点Ｐの、回転軸Ｓ回りの重力モーメントと置き換えると、外力モーメントｆは、次の式で表される。
【００３４】
【数３】
0004760162.tif 000004
【００３５】
ここで、ｌfは回転軸Ｓから質点Ｐまでの距離、ηfは質点Ｐの回転軸Ｓを中心とした鉛直線ｘからの角度（以下、「質点傾斜角度」という。）とする。
そして、本制御においては、前記外力モーメントｆを推定し、車体重心１Ｃの回転軸Ｓ回りの重力モーメントが、外力モーメントｆと釣り合う車体傾斜角度ηを目標車体傾斜角度ηcとして設定し、この目標車体傾斜角度ηcに基づき、制御指令値であるトルク指令値ｕを算出する。
【００３６】
すなわち、車体重心１Ｃの回転軸Ｓ回りの重力モーメントは、ｍ1ｇｌ1ｓｉｎ（ηc）と表されるため、上記数３の式より、次の式を満たすように、目標車体傾斜角度ηcを設定する。
【００３７】
【数４】
0004760162.tif 000005
【００３８】
このように、推定した外力モーメントｆから前記数４に示す式により導かれる目標車体傾斜角度ηcに基づき、トルク指令値ｕを算出することにより、見かけ上の車体傾斜角度ηは０となり（車体重心１Ｃがｘ軸上に位置し）、外力が発生してもその場で静止することが可能となる。つまり、車体１に大きな外力が加わっても、台車（車輪位置）が移動することなく、その場での安定した位置制御が可能となり、人の搭乗性や物の搭載性を向上することができる。
【００３９】
以下、外力モーメントｆの推定方法について説明する。
前述した数１及び数２に示す運動方程式中のηが小さいとして線形化し、行列表示を行うと次の式が導かれる。
【００４０】
【数５】
0004760162.tif 000006
ここで、数５におけるＭは、
【００４１】
【数６】
0004760162.tif 000007
であり、
また、Ａ0は、
【００４２】
【数７】
0004760162.tif 000008
であり、
さらに、Ｂ0は、
【００４３】
【数８】
0004760162.tif 000009
である。
【００４４】
従って、上記の数５〜数８の式から次の状態方程式が導出される。
【００４５】
【数９】
0004760162.tif 000010
ここで、状態量Ｘは次式となる。
【００４６】
【数１０】
0004760162.tif 000011
【００４７】
前記数９に示した式の両辺に左からＭ-1を掛けると、次式が導かれる。
【００４８】
【数１１】
0004760162.tif 000012
【００４９】
ここで、Ｍ-1Ｍ＝Ｉとなり、また、Ｍ-1Ａ0＝Ａ、Ｍ-1Ｂ0＝Ｂとおくと、次式のようになる。
【００５０】
【数１２】
0004760162.tif 000013
【００５１】
ここで、上記制御系で観測される状態量（観測量）Ｘのうち、車体傾斜角速度ｄη／ｄｔはジャイロセンサ７により、車輪角度θはエンコーダ４ａ・５ａにより、それぞれ計測可能である。
従って、微分・積分操作により、車体傾斜角速度ｄη／ｄｔの１回積分である車体傾斜角ηと、車輪角度θの１回微分である車輪角速度ｄθ／ｄｔを算出することができる。
また、前記状態量Ｘとしては、車体傾斜角度ηと車輪角度θ、あるいは車体傾斜角ηと車輪角速度ｄθ／ｄｔといった組合せを用いることもできる。
【００５２】
以上より、前記数１２に示す式中の未知の状態量である外力モーメントｆを推定する外乱オブザーバは、次式に基づいて構成される。
【００５３】
【数１３】
0004760162.tif 000014
【００５４】
ここで、Ｘは状態量（変位・速度）、Ｃはダンパ項、Ｌはオブザーバゲインをそれぞれ示している。また、ｙは観測量であり、この場合、車体傾斜角度η、車体傾斜角速度ｄη／ｄｔ、車輪角度θ及び車輪角速度ｄθ／ｄｔを表し、全ての状態量がわからない場合もあるが、その場合は近似微分や積分などで算出する。
例えば、ジャイロセンサ７により検出される車体傾斜角速度ｄη／ｄｔ、エンコーダ４ａ・５ａにより計測される車輪角度θ、車体傾斜角速度ｄη／ｄｔの１回積分である車体傾斜角度η及び車輪角度θの１回微分である車輪角速度ｄθ／ｄｔの４つの状態量が分かる場合、前記数１３の式におけるＣは次の行列となる。
【００５５】
【数１４】
0004760162.tif 000015
【００５６】
従って、数１３の式により、外力モーメントｆは推定され、前記数４で示した式の関係が成立する。
このように、未知の状態量を推定する外乱オブザーバにより推定される外力モーメントｆと釣り合うように、数４の式における目標車体傾斜角度ηcを設定すればよいこととなる。本来、図３（ａ）に示すような倒立振子を安定させるためには、目標車体傾斜角度としては０と設定されるが、本制御においては、外力の影響である外力モーメントｆを打ち消すために、数４の式から導かれる目標車体傾斜角度ηcは次の式により与えられる。
【００５７】
【数１５】
0004760162.tif 000016
【００５８】
このように、外力モーメントｆを、未知の状態量を推定する外乱オブザーバにて求めることにより、状態量の検出用として新たにセンサ等を設けることなく、既設のジャイロセンサ７やエンコーダ４ａ・５ａを利用して、外力モーメントｆを求めることができる。
【００５９】
次に、上述のように構成される制御コンピュータ１０によって行われる処理について図４に示すフローチャートを用いて説明する。
図４に示すように、制御コンピュータ１０は、まず、状態量Ｘとして、ジャイロセンサ７により検出される車体傾斜角速度ｄη／ｄｔと、各モータ４・５のエンコーダ４ａ・５ａの値（車輪２・３の車輪角度θ）を読み込み、これらの値及びこれらの微分・積分値を用いて数１３の式から外力モーメントｆを推定する（ステップＳ１０）。
次に、車体重心１Ｃの重力モーメントが、ステップＳ１０にて推定した外力モーメントｆと釣り合う車体傾斜角度ηを、数１５の式から算出する（ステップＳ２０）。
【００６０】
ステップＳ２０にて算出した車体傾斜角ηを、目標車体傾斜角度ηcとして目標値設定手段１２に設定する（ステップＳ３０）。
そして、ステップＳ３０にて設定された目標車体傾斜角度ηcに基づき、制御指令値算出手段１１として、各モータ４・５のモータ駆動回路６ａ・６ｂに対するトルク指令値ｕを算出する（ステップＳ４０）。ここで算出されたトルク指令値ｕが、各モータ駆動回路６ａ・６ｂに与えられ、各モータ４・５が制御される。
ステップＳ４０が終わると、ステップＳ１０に戻り、次の制御タイミングにおける処理が開始される。すなわち、車体１に加わる外乱により発生する外力モーメントｆと釣り合うように、目標車体傾斜角度ηcを随時算出してフィードバック制御を行う。
なお、上述したステップＳ１０〜ステップＳ４０までの処理は、所定の時間間隔（例えば、１０ｍｓ）で行われる。
【００６１】
ところで、車体１に加わる外力は、前述のように直接外力モーメントｆを求めることなく、車体傾斜角度ηから間接的に推定することもできる。
車体１に外力が加わると、車体１が傾斜し車体傾斜角度ηが０以外の値となる。
つまり、例えば搭乗者が操作していない時のように、車体１の安定静止状態（車体傾斜角度ηが０の状態）で、かつ、制御コンピュータ１０から台車並進方向及び台車回転方向に対するトルク指令値が発せられてない状態、即ち車体１が前後方向にも旋回方向にも移動しておらず静止している状態において、車体傾斜角度ηが０以外の値をとるということは、車体１に外力が加わったことを意味する。
そこで、車体１に加わる外力により、車体傾斜角度ηが０以外の値となった場合、この車体傾斜角度ηを打ち消す方向（ηが０となる方向）に車体傾斜角度ηを調整する。
【００６２】
すなわち、制御コンピュータ１０は、モータドライバ６に、トルク指令値のうち、車体１を移動させるための指令値（台車並進方向及び台車回転方向に対するトルク指令値）を発していない状態（車体１が静止している状態）で、ジャイロセンサ７の検出値から算出される車体傾斜角度ηが０以外の値となった場合、その車体傾斜角度ηが０となるまで、車体１の目標傾斜角度（目標車体傾斜角度ηc）を増減するとともに、この目標車体傾斜角度ηcに基づき、トルク指令値ｕを算出する。
【００６３】
具体的には、車体１に外乱による外力が加わり、車体傾斜角度ηが０以外の値となった場合、車体傾斜角度ηが０になるまで、目標車体傾斜角度ηcにΔηを積算していく。
ここで、図３（ａ）に示すように、車体１に加わる外力の台車並進方向の成分Ｆの向きを正とする。この場合、外乱により、車体重心１Ｃの位置が前方向に変動したこととなり、正の向きに車体傾斜角度ηが増加する。ここで発生した車体傾斜角度ηを前述と同様質点傾斜角度ηfとすると、この外乱の影響を打ち消すように、目標車体傾斜角度ηcにΔηが積算されることとなる。つまり、外乱により発生した車体傾斜角度ηが質点傾斜角度ηfである場合、目標車体傾斜角度ηcに積算されるΔηは、負の値となる。
【００６４】
そして、車体傾斜角度ηが０になるまで、目標車体傾斜角度ηcにΔηを積算していくことで、車体傾斜角速度ｄη／ｄｔが０になったところで、数４の式が成立することとなる。つまり、車体１に加わる外力により発生する外力モーメントｆと、車体重心１Ｃの回転軸Ｓ回りの重力モーメントとが釣り合った状態となる。この時点で、Δηの積算は終了する。
【００６５】
このように、車体１に加わる外力を車体傾斜角度ηから間接的に推定し、それを打ち消すように目標車体傾斜角度ηcを増減することで、車体１に外乱による外力が加わってから、移動台車が安定静止するまでの移動距離が短くなり、例えば、移動台車の二輪状態（車体１の支持が車輪２・３のみの状態）での、重量物の積み下ろし等の積載性や人の搭乗性を向上することができる。
【００６６】
なお、車体１に加わる外力を間接的に推定するに際し、車体傾斜角度ηの代わりに、車体傾斜角速度ｄη／ｄｔを用いてもよい。この場合、制御コンピュータ１０は、モータドライバ６に、トルク指令値のうち、車体１を移動させるための指令値を発していない状態で、ジャイロセンサ７により検出される車体傾斜角速度ｄη／ｄｔが０以外の値となった場合、その車体傾斜角速度ｄη／ｄｔが０となるまで目標車体傾斜角度ηcを増減するとともに、この目標車体傾斜角度ηcに基づいて、トルク指令値ｕを算出することとなる。
【００６７】
また、車体１に加わる外力を車体傾斜角度ηまたは車体傾斜角速度ｄη／ｄｔから間接的に推定し、目標車体傾斜角度ηcを増減するに際し、その増減値Δηを、車体傾斜角度ηまたは車体傾斜角速度ｄη／ｄｔの絶対値の大小に応じて増減することが好ましい。
すなわち、車体１に加わる外力が大きく、これにより発生する車体傾斜角度ηまたは車体傾斜角速度ｄη／ｄｔの絶対値が大きい場合は、Δηの絶対値を大きくする。
そして、外乱の影響を打ち消すような目標車体傾斜角度ηcが外乱を打ち消して車体傾斜角度ηの値が減少するに従って、Δηの絶対値を小さくする。
【００６８】
このように、車体傾斜角度ηまたは車体傾斜角速度ｄη／ｄｔの絶対値の大小に応じて目標車体傾斜角度ηcに積算するΔηを増減することにより、車体傾斜角度ηまたは車体傾斜角速度ｄη／ｄｔの絶対値が小さい領域、つまり車体１の釣り合い位置近傍での微振動を防止することができる。
これにより、車体１に加わる外力が大きい場合にも、車体１の速やかな静止を実現することができるとともに、目標車体傾斜角度ηcの逐次変動による車体１の揺れを低減もしくは無くすことが可能となる。
【００６９】
また、目標車体傾斜角度ηcに積算されるΔηは、逐次学習させていくことができる。すなわち、例えば、車体１に外力が加わった場合の車体傾斜角度ηの大きさと車体傾斜角速度ｄη／ｄｔの変動とを評価指標にして、これら車体傾斜角度ηの大きさと車体傾斜角速度ｄη／ｄｔの変動を小さくするためにΔηを学習していく。
【００７０】
例えば、車体１に外力が加わった場合の車体傾斜角度ηを小さくするには、目標車体傾斜角度ηcに積算するΔηを大きくすればよい。しかし、Δηを大きくする程、目標車体傾斜角度ηcは即座に外力と釣り合う状態（数４の式が成立する状態）に到達し、車体重心１Ｃの重力モーメントと外力モーメントｆとが釣り合う状態となるが、この釣り合うまでの過程における車体１の釣り合い位置近傍での微振動が大きくなる。
そこで、車体１に外力が加わってから、目標車体傾斜角度ηcにΔηを積算していくにしたがい車体傾斜角速度ｄη／ｄｔが小さくなるので、この車体傾斜角速度ｄη／ｄｔの減少にともなってΔηを小さくしていく。
これにより、車体傾斜角速度ｄη／ｄｔの変動は小さくなる。
【００７１】
このように、車体１に外力が加わった場合に目標車体傾斜角度ηcに積算するΔηと、車体傾斜角速度ｄη／ｄｔとの対応を逐次制御コンピュータ１０のＲＡＭ等に記憶させていく。これにより、最終的に車体傾斜角度ηと車体傾斜角速度ｄη／ｄｔとの両者をともに小さくするΔηを逐次学習していくことができ、車体１の釣り合い位置近傍での微振動をより効果的に防止することが可能となる。
【００７２】
また、車体１に加わる外力は、車輪角速度ｄθ／ｄｔから間接的に推定することもできる。なお、車体１に加わる外力を車体傾斜角度ηから間接的に推定する場合と重複する部分については、その説明を省略する。
車体１に外力が加わると、車体１が傾斜するが、車体１を安定させるため、車体１の傾斜を打ち消す方向（外力の方向）に車輪２・３が移動し、車輪角速度ｄθ／ｄｔが０以外の値となる。つまり、例えば搭乗者が操作していない時のように、車体１の安定静止状態（車輪角速度ｄθ／ｄｔが０の状態）で、かつ、制御コンピュータ１０から台車並進方向及び台車回転方向に対するトルク指令値が発せられてない状態において、車輪角速度ｄθ／ｄｔが０以外の値をとるということは、車体１に外力が加わったことを意味する。
そこで、車体１に加わる外力により、車輪角速度ｄθ／ｄｔが０以外の値となった場合、この車輪角速度ｄθ／ｄｔを打ち消す方向（ｄθ／ｄｔが０となる方向）に車体傾斜角度ηを調整する。
【００７３】
すなわち、制御コンピュータ１０は、モータドライバ６に、トルク指令値のうち、車体１を移動させるための指令値を発していない状態で、エンコーダ４ａ・５ａにより計測される車輪角度θから算出される車輪角速度ｄθ／ｄｔが０以外の値となった場合、その車輪角速度ｄθ／ｄｔが０となるまで目標車体傾斜角度ηcを増減するとともに、この目標車体傾斜角度ηcに基づき、トルク指令値ｕを算出する。
【００７４】
具体的には、車体１に外乱による外力が加わり、車輪角速度ｄθ／ｄｔが０以外の値となった場合、車輪角速度ｄθ／ｄｔが０になるまで、目標車体傾斜角度ηcにΔηを積算していく。ここで、図３（ａ）に示すように、車体１に加わる外力の台車並進方向の成分Ｆの向きを正とする。この場合、外乱により、車体重心１Ｃの位置が前方向に変動したこととなり、正の向きに車体傾斜角度ηが増加する。ここで発生した車体傾斜角度ηを前述と同様質点傾斜角度ηfとすると、この外乱の影響を打ち消すように、目標車体傾斜角度ηcにΔηが積算されることとなる。つまり、外乱により発生した車体傾斜角度ηが質点傾斜角度ηfである場合、目標車体傾斜角度ηcに積算されるΔηは、負の値となる。
【００７５】
そして、車輪角速度ｄθ／ｄｔが０になるまで、目標車体傾斜角度ηcにΔηを積算していくことで、車体傾斜角速度ｄη／ｄｔが０になったところで、数４の式が成立することとなる。つまり、車体１に加わる外力により発生する外力モーメントｆと、車体重心１Ｃの回転軸Ｓ回りの重力モーメントとが釣り合った状態となる。この時点で、Δηの積算は終了する。
【００７６】
このように、車体１に加わる外力を車輪角速度ｄθ／ｄｔから間接的に推定し、それを打ち消すように目標車体傾斜角度ηcを増減することによっても、前述と同様の効果得ることができる。
【００７７】
また、車体１に加わる外力を車輪角速度ｄθ／ｄｔから間接的に推定し、目標車体傾斜角度ηcを増減するに際しても、その増減値Δηを、車輪角速度ｄθ／ｄｔの絶対値の大小に応じて増減することが好ましい。
すなわち、車体１に加わる外力が大きく、これにより発生する車輪角速度ｄθ／ｄｔの絶対値が大きい場合は、Δηの絶対値を大きくする。
そして、外乱の影響を打ち消すような目標車体傾斜角度ηcが外乱を打ち消して車体傾斜角度ηの値が減少するに従って、Δηの絶対値を小さくする。
【００７８】
このように、車輪角速度ｄθ／ｄｔの絶対値の大小に応じて目標車体傾斜角度ηcに積算するΔηを増減することにより、車輪角速度ｄθ／ｄｔの絶対値が小さい領域、つまり車体１の釣り合い位置近傍での微振動を防止することができる。
これにより、車体１に加わる外力が大きい場合にも、車体１の速やかな静止を実現することができるとともに、目標車体傾斜角度ηcの逐次変動による車体１の揺れを低減もしくは無くすことが可能となる。
【００７９】
また、この場合においても、目標車体傾斜角度ηcに積算されるΔηは、逐次学習させていくことができる。すなわち、例えば、車体１に外力が加わった場合の車輪角度θの大きさ（車輪の移動距離）と車輪角速度ｄθ／ｄｔの変動とを評価指標にして、これら車輪角度θの大きさと車輪角速度ｄθ／ｄｔの変動を小さくするためにΔηを学習していく。
【００８０】
例えば、車体１に外力が加わった場合の車輪の移動距離を小さくするには、車体傾斜角度ηに積算するΔηを大きくすればよい。しかし、Δηを大きくする程、目標車体傾斜角度ηcは即座に外力と釣り合う状態（数４の式が成立する状態）に到達し、車体重心１Ｃの重力モーメントと外力モーメントｆとが釣り合う状態となるが、この釣り合うまでの過程における車体１の釣り合い位置近傍での微振動が大きくなる。
そこで、車体１に外力が加わってから、目標車体傾斜角度ηcにΔηを積算していくにしたがい車輪角速度ｄθ／ｄｔが小さくなるので、この車輪角速度ｄθ／ｄｔの減少にともなってΔηを小さくしていく。
これにより、車輪角速度ｄθ／ｄｔの変動は小さくなる。
【００８１】
このように、車体１に外力が加わった場合に目標車体傾斜角度ηcに積算するΔηと、車輪角速度ｄθ／ｄｔとの対応を逐次制御コンピュータ１０のＲＡＭ等に記憶させていく。これにより、最終的に車輪の移動距離と車輪角速度ｄθ／ｄｔとの両者をともに小さくΔηを逐次学習していくことができ、車体１の釣り合い位置近傍での微振動をより効果的に防止することが可能となる。
【図面の簡単な説明】
【００８２】
【図１】本発明に係る移動台車の概略構成を示す斜視図。
【図２】移動台車の制御系の構成を示す制御ブロック図。
【図３】移動台車を並進方向に関してモデル化した図。
【図４】制御コンピュータにより行われる処理手順を示すフローチャート。
【符号の説明】
【００８３】
１          車体
１Ｃ        車体重心
２・３      車輪
４・５      モータ
４ａ・５ａ  エンコーダ
６          モータドライバ
７          ジャイロセンサ
１０        制御コンピュータ
Ｓ          回転軸
【図１】
0004760162.tif 000017
【図２】
0004760162.tif 000018
【図３】
0004760162.tif 000019
【図４】
0004760162.tif 000020