(57)【要約】【課題】簡便に制御性を向上することができる倒立車両型移動体、及びその制御方法を提供する。【解決手段】本発明にかかる倒立車輪型移動体であって、車輪を回転可能に支持する右車台１７、左車台１９と、右駆動輪１８、左駆動輪２０を回転駆動するモータ３４、３６と、右アーム１４及び左アーム１６を介して右車台１７、左車台１９に対して回動可能に支持された車体１２と、右アーム１４及び左アーム１６に設けられ、車高を変化させる下関節モータ６５、９５と、算出された加速度に追従するよう、モータ３４、３６を制御する走行制御モジュール８１と、加速度が一定範囲を越えていた場合に、車高を下げるとともに、加速度に応じて車軸に対する車体１２の重心位置が前後方向に変化するように、下関節モータ６５、９５を制御する姿勢制御モジュール８２とを、備えるものである。【選択図】  図２
2008273344.tif 000002
【特許請求の範囲】
【請求項１】
操作者の操作に応じて加減速する倒立車輪型移動体であって、
車輪を回転可能に支持する車台と、
前記車輪を回転駆動する第１の駆動部と、
支持部材を介して前記車台に対して回動可能に支持された車体と、
前記支持部材に設けられ、前記倒立車輪型移動体の車高を変化させる第２の駆動部と、
操作者による操作に基づいて算出された加速度に追従するよう、前記第１の駆動部を制御する第１の制御部と、
前記加速度が一定範囲を越えていた場合に、前記車高を下げるとともに、前記加速度に応じて前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するように、前記第２の駆動部を制御する第２の制御部と、を備える倒立車輪型移動体。
【請求項２】
前記加速度が一定範囲内である場合に、操作者による操作に基づいて算出された目標速度に応じて、前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するとともに車高が変化するように前記第２の駆動部を制御する請求項１に記載の倒立車輪型移動体。
【請求項３】
操作者の操作に応じて加減速する倒立車輪型移動体であって、
車輪を回転可能に支持する車台と、
前記車輪を回転駆動する第１の駆動部と、
支持部材を介して前記車台に対して回動可能に支持された車体と、
前記支持部材に設けられ、前記倒立車輪型移動体の車高を変化させる第２の駆動部と、
操作者による操作に基づいて算出された目標速度に前記倒立車輪型移動体が到達するように、前記第１の駆動部を制御する第１の制御部と、
前記目標速度に応じて、前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するとともに車高が変化するように前記第２の駆動部を制御する第２の制御部と、を備える倒立車輪型移動体。
【請求項４】
前記車体の重心位置が変化するタイミングに応じて、前記車体の重心位置を移動する方向と反対方向に前記車輪が移動するように、前記第１の駆動部が前記車輪に対してトルクを与える請求項１乃至３のいずれかに記載の倒立車輪型移動体。
【請求項５】
車輪を回転可能に支持する車台と、
前記車輪を回転駆動する第１の駆動部と、
支持部材を介して前記車台に対して回動可能に支持された車体と、
前記支持部材に設けられ、車高を変化させる第２の駆動部と、を備えた倒立車輪型移動体の制御方法であって、
操作者による操作に基づいて加速度を算出するステップと、
前記倒立車輪型移動体が前記加速度に追従するよう、前記第１の駆動部を駆動するステップと、
前記加速度が一定範囲を越えていた場合に、前記車高を下げるとともに前記加速度に応じて前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するように、前記第２の駆動部を駆動するステップと、を備える倒立車輪型移動体の制御方法。
【請求項６】
前記加速度が一定範囲内である場合に、操作者による操作に基づいて算出された目標速度に応じて、前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するとともに車高が変化するように前記第２の駆動部を制御する請求項５に記載の倒立車輪型移動体の制御方法。
【請求項７】
車輪を回転可能に支持する車台と、
前記車輪を回転駆動する第１の駆動部と、
支持部材を介して前記車台に対して回動可能に支持された車体と、
前記支持部材に設けられ、車高を変化させる第２の駆動部と、を備えた倒立車輪型移動体の制御方法であって、
操作者による操作に基づいて目標速度を算出するステップと、
前記倒立車輪型移動体が前記目標速度に到達するように、前記第１の駆動部を駆動するステップと、
前記目標速度に応じて、前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するとともに車高が変化するように、前記第２の駆動部を駆動するステップと、を備える倒立車輪型移動体の制御方法。
【請求項８】
前記車体の重心位置が変化するタイミングに応じて、前記車体の重心位置を移動する方向と反対方向に前記車輪が移動するように、前記第１の駆動部が前記車輪にトルクを与える請求項５乃至７のいずれかに記載の倒立車輪型移動体の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は倒立車輪型移動体、及びその制御方法に関する。
【背景技術】
【０００２】
倒立二輪車両などの倒立車輪型移動体は、通常、左右の駆動輪を駆動して安定状態を維持するように重心位置を修正しつつ、移動を行なうように制御している（特許文献１）。特許文献１の車両（移動体）では、車両の傾斜に基づく物理量を検出するセンサを設けている。そして、センサで検出された物理量が所定値を越える場合、バランサを移動している。これにより、車両の姿勢を制御している。
【０００３】
ところで、このような移動体では、所望の移動速度で制御することが望まれる。例えば、自由自在にきびきびと加減速して、目標速度に正確に追従して走行することが重要である。また、歩いている人と並んで移動する場合、ゆっくり移動することが望まれる。しかしながら、移動の緩急は、もっぱら倒立車輪型移動体の固有周波数に依存している。すなわち、車輪中心からの車体中心の距離、車重、イナーシャによって決まる固有周波数に応じて、移動の緩急が制限されてしまう。従って、従来の移動体では、操縦者がアクセルを操作してから、所望の速度に到達するまでに時間がかかってしまうという問題点があった。また、従来の移動体では、車輪の回転速度を変えることによって倒立状態を維持しているため、一定速度で走行することが困難であるという問題点があった。このように、従来の移動体では、制御性を高くすることが困難であった。
【特許文献１】特開２００６−３０６７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、従来の倒立車輪型移動体では、制御性を高くすることが困難であるという問題点があった。
本発明は、かかる課題を解決するためになされたものであり、簡便に制御性を向上することができる倒立車輪型移動体、及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の第１の態様にかかる倒立車輪型移動体は、操作者の操作に応じて加減速する倒立車輪型移動体であって、車輪を回転可能に支持する車台と、前記車輪を回転駆動する第１の駆動部と、支持部材を介して前記車台に対して回動可能に支持された車体と、前記支持部材に設けられ、前記倒立車輪型移動体の車高を変化させる第２の駆動部と、操作者による操作に基づいて算出された加速度に追従するよう、前記第１の駆動部を制御する第１の制御部と、前記加速度が一定範囲を越えていた場合に、前記車高を下げるとともに、前記加速度に応じて前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するように、前記第２の駆動部を制御する第２の制御部と、を備えるものである。この構成では、急動作を行なうときに、車高を下げている。これにより、速やかに加速することができ、簡便に制御性を向上することができる。
【０００６】
本発明の第２の態様にかかる倒立車輪型移動体は、上述の倒立車輪型移動体であって、前記加速度が一定範囲内である場合に、操作者による操作に基づいて算出された目標速度に応じて、前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するとともに車高が変化するように前記第２の駆動部を制御するものである。これにより、目標速度に応じて車体の重心位置が変化するため、目標速度に適した制御が可能になる。よって、滑らかに移動することができ、制御性を向上することができる。
【０００７】
本発明の第３の態様にかかる倒立車輪型移動体は、操作者の操作に応じて加減速する倒立車輪型移動体であって、車輪を回転可能に支持する車台と、前記車輪を回転駆動する第１の駆動部と、支持部材を介して前記車台に対して回動可能に支持された車体と、前記支持部材に設けられ、前記倒立車輪型移動体の車高を変化させる第２の駆動部と、操作者による操作に基づいて算出された目標速度に前記倒立車輪型移動体が到達するように、前記第１の駆動部を制御する第１の制御部と、前記目標速度に応じて、前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するとともに車高が変化するように前記第２の駆動部を制御する第２の制御部と、を備えるものである。これにより、目標速度に応じて車体の重心位置が変化するため、目標速度に適した制御が可能になる。よって、滑らかに移動することができ、制御性を向上することができる。
【０００８】
本発明の第４の態様にかかる倒立車輪型移動体は、上述の倒立車輪型移動体であって、前記車体の重心位置が変化するタイミングに応じて、前記車体の重心位置を移動する方向と反対方向に前記車輪が移動するように、前記第１の駆動部が前記車輪に対してトルクを与えるものである。これにより、重心位置を速やかに移動することができるため、制御性を向上することができる。
【０００９】
本発明の第５の態様にかかる倒立車輪型移動体の制御方法は、車輪を回転可能に支持する車台と、前記車輪を回転駆動する第１の駆動部と、支持部材を介して前記車台に対して回動可能に支持された車体と、前記支持部材に設けられ、車高を変化させる第２の駆動部と、を備えた倒立車輪型移動体の制御方法であって、操作者による操作に基づいて加速度を算出するステップと、前記倒立車輪型移動体が前記加速度に追従するよう、前記第１の駆動部を駆動するステップと、前記加速度が一定範囲を越えていた場合に、前記車高を下げるとともに前記加速度に応じて前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するように、前記第２の駆動部を駆動するステップと、を備えるものである。この構成では、急動作を行なうときに、車高を下げている。これにより、速やかに加速することができ、簡便に制御性を向上することができる。
【００１０】
本発明の第６の態様にかかる倒立車輪型移動体の制御方法は、上述の制御方法であって、前記加速度が一定範囲内である場合に、操作者による操作に基づいて算出された目標速度に応じて、前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するとともに車高が変化するように前記第２の駆動部を制御するものである。これにより、目標速度に応じて車体の重心位置が変化するため、目標速度に適した制御が可能になる。よって、滑らかに移動することができ、制御性を向上することができる。
【００１１】
本発明の第７の態様にかかる倒立車輪型移動体の制御方法は、車輪を回転可能に支持する車台と、前記車輪を回転駆動する第１の駆動部と、支持部材を介して前記車台に対して回動可能に支持された車体と、前記支持部材に設けられ、車高を変化させる第２の駆動部と、を備えた倒立車輪型移動体の制御方法であって、操作者による操作に基づいて目標速度を算出するステップと、前記倒立車輪型移動体が前記目標速度に到達するように、前記第１の駆動部を駆動するステップと、前記目標速度に応じて、前記車輪の車軸に対する前記車体の重心位置が前後方向に変化するとともに車高が変化するように、前記第２の駆動部を駆動するステップと、を備えるものである。これにより、目標速度に応じて車体の重心位置が変化するため、目標速度に適した制御が可能になる。よって、滑らかに移動することができ、制御性を向上することができる。
【００１２】
本発明の第８の態様にかかる倒立車輪型移動体の制御方法は、上述の制御方法であって、前記車体の重心位置が変化するタイミングに応じて、前記車体の重心位置を移動する方向と反対方向に前記車輪が移動するように、前記第１の駆動部が前記車輪にトルクを与えるものである。これにより、重心位置を速やかに移動することができるため、制御性を向上することができる。
【発明の効果】
【００１３】
本発明によれば、簡便に制御性を向上することができる倒立車輪型移動体、及びその制御方法を提供することを目的とする。
【発明を実施するための最良の形態】
【００１４】
本実施の形態にかかる移動体は倒立振子制御によって移動する倒立車輪型移動体である。移動体は、地面に接地した車輪を駆動することによって、所定の位置まで移動する。さらに、ジャイロセンサ等からの出力に応じて車輪を駆動することによって、倒立状態を維持することができる。これにより、操作者の操作に応じて、移動体が加減速する。
【００１５】
図１及び図２を用いて、本実施の形態にかかる移動体１００の構成について説明する。図１は移動体１００の構成を模式的に示す側面図であり、図２は移動体１００の構成を模式的に示す正面図である。
【００１６】
図２に示されるように、移動体１００は、倒立車輪型の移動体（走行体）であり、右駆動輪１８と、左駆動輪２０と、右車台１７と、左車台１９と、右アーム１４と、左アーム１６と、車体１２、を備えている。車体１２は、右駆動輪１８、及び左駆動輪２０の上方に配置された移動体１００の上体部である。ここで、移動体１００の進行方向（図１の紙面と垂直方向）を前後方向とし、水平面において前後方向に垂直な方向を左右方向（横方向）とする。よって、図１は、進行方向前側から移動体１００を見た図であり、図２は、左側から移動体１００を見た図である。
【００１７】
右アーム１４、及び左アーム１６は、関節を有するスイングアームである。走行時において、右アーム１４、及び左アーム１６は、車高を調整する。さらに、車体１２の傾斜角度に応じて、右アーム１４、及び左アーム１６が駆動される。具体的には、地面の傾斜角に応じて車体１２が左右に傾斜したとき、一方のアームを駆動して、車体１２を水平にする。例えば、水平な地面を走行中に、右駆動輪１８のみが段差に乗り上げたり、地面が右上がりの傾斜面に変わったりしたとする。この場合、右駆動輪１８と左駆動輪２０との間で、水平方向に対する高さが変化する。すなわち、右駆動輪１８が左駆動輪２０よりも高くなる。このため、右アーム１４を縮めて、車体１２の傾斜角を調整する。例えば、右アーム１４の関節を駆動して、右アーム１４をくの字型に曲げる。これにより、右アーム１４が短くなるので、横方向（左右方向）において車体１２を水平にすることができる。なお、右アーム１４、及び左アーム１６の構成については後述する。
【００１８】
右車台１７の側面側には、地面と接地する右駆動輪１８が設けられている。左車台１９の側面側には、地面と接地する左駆動輪２０が設けられている。右駆動輪１８と左駆動輪２０は、同軸上で回転する一対の車輪である。地面と接地する右駆動輪１８と左駆動輪２０とが回転することによって、移動体１００が移動する。
【００１９】
右駆動輪１８及び右アーム１４の間には、右車台１７が配置されている。右車台１７は、右マウント２６を備えている。右アーム１４と右駆動輪１８との間には右マウント２６が配置されている。右マウント２６は、右アーム１４の側端に固定されている。右車台１７は、車軸３０を介して右駆動輪１８を回転可能に支持する。右駆動輪１８は、車軸３０を介して右輪駆動モータ３４の回転軸Ｃ１に固定されている。右輪駆動モータ３４は、右マウント２６内に固定され、車輪用駆動部（アクチュエータ）として機能する。即ち、右輪駆動モータ３４が右駆動輪１８を回転駆動する。
【００２０】
左駆動輪２０及び左アーム１６の間には、左車台１９が配置されている。左車台１９は、左マウント２８を備えている。左アーム１６と左駆動輪２０との間には左マウント２８が配置されている。左マウント２８は、左アーム１６の側端に固定されている。左マウント２８は、車軸３２を介して左駆動輪２０を回転可能に支持する。左駆動輪２０は、車軸３２を介して左輪駆動モータ３６の回転軸Ｃ２に固定されている。左輪駆動モータ３６は、左マウント２８内に固定され、車輪用駆動部（アクチュエータ）として機能する。即ち、左輪駆動モータ３６が左駆動輪２０を回転駆動する。右駆動輪１８と左駆動輪２０との間には、右車台１７、及び左車台１９が配置されている。なお、右駆動輪１８、及び左駆動輪２０を同軸上にするため、右車台１７を左車台１９に固定してもよい。
【００２１】
右輪駆動モータ３４及び左輪駆動モータ３６は例えば、サーボモータである。尚、車輪用アクチュエータは、電気的なモータに限らず、空圧、油圧を使用したアクチュエータでもよい。
【００２２】
また、右マウント２６は、右輪エンコーダ５２を備えている。右輪エンコーダ５２は、右駆動輪１８の回転量としての回転角を検出する。左マウント２８は、左輪エンコーダ５４を備えている。左輪エンコーダ５４は、左駆動輪２０の回転量としての回転角を検出する。
【００２３】
左アーム１６は、左マウント２８を介して左駆動輪２０の側端に取り付けられている。
左アーム１６は、上関節９１、上リンク９２、下関節９３、及び下リンク９４を有している。上リンク９２、及び下リンク９４は棒状の部材である。上リンク９２、及び下リンク９４はほぼ同じ長さの剛体である。上関節９１、及び下関節９３は、回転関節である。
【００２４】
下リンク９４が左マウント２８に連結されている。すなわち、下リンク９４の下端に左マウント２８が取り付けられている。左マウント２８は下リンク９４を回動可能に支持している。さらに、下リンク９４には、下関節９３が設けられている。下リンク９４は、下関節９３を介して上リンク９２と連結されている。すなわち、下リンク９４の上端に設けられた下関節９３が上リンク９２の下端に配置される。
【００２５】
下関節９３は、下関節モータ９５を有している。下関節モータ９５が駆動されると、上リンク９２が回転する。すなわち、下関節モータ９５を駆動すると、下リンク９４に対する上リンク９２の角度が変化する。このように、下関節９３は、左アーム１６の途中に設けられている。すなわち、下関節９３は、上リンク９２と下リンク９４との間に設けられている。上リンク９２は、下関節モータ９５の回転軸Ｃ５に固定されている。
【００２６】
上リンク９２の上端には、上関節９１が設けられている。上関節９１は、上リンク９２と車体１２とを連結する。上関節９１を介して、左アーム１６が車体１２と連結される。このように、左アーム１６の上端には、上関節９１が設けられている。そして、上関節９１は、上関節モータ９６を有している。上関節モータ９６を介して車体１２が左アーム１６に取り付けられている。そして、上関節モータ９６が駆動されると、車体１２が回転する。すなわち、上関節モータ９６を駆動すると、上リンク９２に対する車体１２の角度が変化する。車体１２は、上関節モータ９６の回転軸Ｃ３に固定されている。
【００２７】
上関節９１、及び下関節９３が駆動することによって、車体１２の姿勢が変化する。このように、左アーム１６は、車体１２及び左駆動輪２０を連結するリンク機構である。よって、左アーム１６の下端側が、左駆動輪２０の回転軸Ｃ２に接続され、上端側が車体１２の回転軸Ｃ３に接続される。左アーム１６は、２つの回転関節を有する２自由度のアーム機構となっている。すなわち、左アーム１６は、複数の関節を有するアーム機構であり、車体１２と、右車台１７とを連結している。
【００２８】
左アーム１６の長手方向は、回転軸Ｃ２に対して垂直である。すなわち、下リンク９４の長手方向と、回転軸Ｃ２とは直交する。通常の走行時では、上リンク９２と下リンク９４とが鉛直方向に沿って配置されている。従って、下関節モータ９５の回転角度が、上リンク９２と下リンク９４とが平行になるように固定されている。この左アーム１６を介して、車体１２が回転軸Ｃ２に対して回転可能に支持される。回転軸Ｃ２と回転軸Ｃ５は、下リンク９４の長さに応じた距離だけ隔てて、平行に配置される。回転軸Ｃ３と回転軸Ｃ５は、上リンク９２の長さに応じた距離だけ隔てて、配置される。また、通常の走行時では、回転軸Ｃ３は回転軸Ｃ５と平行になっている。
【００２９】
右アーム１４は、右マウント２６を介して右駆動輪１８の側端に取り付けられている。
右アーム１４は、上関節６１、上リンク６２、下関節６３、下リンク６４を有している。上リンク６２は上関節６１を介して車体１２に連結されている。また、下リンク６４は、右車台１７に連結されている。そして、下リンク６４と上リンク６２とは、下関節６３を介して連結されている。下関節６３は、下関節モータ６５を有している。上関節６１は上関節モータ６６を有している。このように、右アーム１４は、左アーム６６と同様に、２関節を有する２自由度のアーム機構である。右アーム１４の構成については左アーム１６と同様であるため、説明を省略する。なお、右アーム１４の下関節モータ６５の回転軸を回転軸Ｃ４とする。また、上関節モータ６６は、回転軸Ｃ３周りに回転する。
【００３０】
右アーム１４の上関節６１、及び下関節６３が駆動することによって、車体１２の姿勢が変化する。このように、右アーム１４は、車体１２及び右駆動輪１８を連結するリンク機構である。よって、右アーム１４の下端側が、右駆動輪１８の回転軸Ｃ１に接続され、上端側が車体１２の回転軸Ｃ３に接続される。右アーム１４は、２つの回転関節を有する２自由度のアーム機構となっている。すなわち、右アーム１４は、複数の関節を有するアーム機構であり、車体１２と、右車台１７とを連結している。
【００３１】
右アーム１４の長手方向は、回転軸Ｃ１に対して垂直である。すなわち、下リンク６４の長手方向と、回転軸Ｃ１とは直交する。通常の走行時では、上リンク６２と下リンク６４とが同軸上に配置されている。従って、側面視において、上リンク６２と下リンク６４とが一直線になるように、下関節モータ６５の回転角度が固定されている。この右アーム１４を介して、車体１２が回転軸Ｃ１に対して回転可能に支持される。また、通常の走行時には、回転軸Ｃ１、回転軸Ｃ３、及び回転軸Ｃ４は平行になっている。
【００３２】
ここで、右アーム１４の上関節モータ６６と左アーム１６の上関節モータ９６とは、鉛直方向に沿って配置されている。すなわち、右アーム１４の上関節モータ６６と左アーム１６の上関節モータ９６は、共通の回転軸Ｃ３を有している。また、通常の走行時には、右アーム１４の下関節モータ６５と左アーム１６の下関節モータ９５とは、同軸上に配置されている。すなわち、上関節モータ６６の回転軸Ｃ４は上関節モータ９６の回転軸Ｃ５と同じ高さになっている。
【００３３】
このように、右アーム１４には、上関節モータ６６と下関節モータ６５とが取り付けられ、左アーム１６には、上関節モータ９６と下関節モータ９５とが取り付けられている。上関節モータ６６、９６は、上リンク６２、９２に対する車体１２の角度を可変にする。下関節モータ６５は、下リンク６４に対する上リンク６２の角度を可変にし、下関節モータ９５は、下リンク９４に対する上リンク９２の角度を可変にする。すなわち、上関節モータ６６と下関節モータ６５とは、右アーム１４の関節の角度を制御する駆動部（アクチュエータ）である。上関節モータ９６と下関節モータ９５とは、左アーム１６の関節の角度を制御する駆動部（アクチュエータ）である。従って、右アーム１４、及び左アーム１６が駆動することによって、右車台１７、及び左車台１９に対する車体１２の位置を変化させることができる。上関節モータ６６、９６と下関節モータ６５、９５とは、例えば、サーボモータであり、車体１２の姿勢角を制御する。尚、モータの動力をギアやベルトやプーリなどを介して伝達してもよい。そして、それぞれのモータを駆動することによって、車体１２の高さが変化する。これにより、移動体１００の車高を変えることができる。
【００３４】
上関節モータ６６及び上関節モータ９６が駆動すると、右アーム１４及び左アーム１６に対する台座７０の角度が変化する。これにより、回転軸Ｃ３を回転中心として、台座７０を前後方向に回転することができる。回転軸Ｃ３は回転軸Ｃ１及びＣ２と平行であり、回転軸Ｃ１及びＣ２の上方に位置する。回転軸Ｃ３と回転軸Ｃ１との間に右アーム１４が設けられている。回転軸Ｃ３と回転軸Ｃ２との間に左アーム１６が設けられている。下関節モータ６５は、下リンク６４に対して上リンク６２を回転軸Ｃ４周りに回転させる。下関節モータ９５は、下リンク９４に対して上リンク９２を回転軸Ｃ５周りに回転させる。また、回転軸Ｃ４は、回転軸Ｃ３と回転軸Ｃ１との間に位置し、回転軸Ｃ５は回転軸Ｃ３と回転軸Ｃ２との間に位置する。この回転軸Ｃ３には、上関節モータ６６及び上関節モータ９６が設けられている。即ち、右アーム１４及び左アーム１６が姿勢を制御するためのスイングアームとなる。なお、通常の走行時には、回転軸Ｃ１〜回転軸Ｃ５は水平になっており、移動体１００の左右方向と平行になっている。
【００３５】
車体１２は、台座７０、支柱７２、ジャイロセンサ４８、及び搭乗席２２を有している。平板状の台座７０は、上関節モータ６６及び上関節モータ９６を介して、それぞれ右アーム１４及び左アーム１６と取り付けられている。台座７０の対向する側面には、右アーム１４及び左アーム１６が設けられている。即ち、右アーム１４及び左アーム１６の間に、台座７０が配置される。
【００３６】
台座７０には、バッテリーモジュール４４と、センサ５８が収納されている。センサ５８は、例えば、光学式の障害物検知センサであり、移動体１００の前方に障害物を検知すると、検知信号を出力する。また、センサ５８は、障害物センサ以外のセンサであってもよい。例えば、センサ５８として、加速度センサを用いることも可能である。もちろん、センサ５８として、２以上のセンサが用いられていてもよい。センサ５８は移動体１００の状態に応じて変化する変化量を検出する。バッテリーモジュール４４は、センサ５８、ジャイロセンサ４８、右輪駆動モータ３４、左輪駆動モータ３６、上関節モータ６６、上関節モータ９６、下関節モータ６５、下関節モータ９５、制御部８０等に対して電力を供給する。
【００３７】
車体１２の台座７０上には、ジャイロセンサ４８が設けられている。ジャイロセンサ４８は、車体１２の傾斜角に対する角速度を検出する。ここで、車体１２の傾斜角は、移動体１００の重心位置が車軸３０、３２の鉛直上方に伸びる軸からの傾斜度合いであり、例えば移動体１００の進行方向前方に車体１２が傾斜している場合を「正」とし、移動体１００の進行方向後方に車体１２が傾斜している場合を「負」として表わす。
【００３８】
また、進行方向の前後方向に加えて、左右方向の傾斜角速度はロール、ピッチ、ヨーの３軸のジャイロセンサ４８を用いて測定される。このように、ジャイロセンサ４８は、台座７０の傾斜角の変化を、車体１２の傾斜角速度として測定する。もちろん、ジャイロセンサ４８は他の箇所に取り付けられていてもよい。ジャイロセンサ４８で測定された傾斜角速度は、移動体１００の姿勢の変化に応じて変化する。即ち、傾斜角速度は、車軸の位置に対する車体１２の重心位置に応じて変化する変化量である。従って、外乱などによって、車体１２の傾斜角度が急激に変化すると、傾斜角速度の値が大きくなる。
【００３９】
台座７０の中央近傍には、支柱７２が設けられている。この支柱７２によって、搭乗席２２が支持されている。即ち、搭乗席２２は、支柱７２を介して台座７０に固定されている。搭乗席２２は、搭乗者が座ることができる椅子の形状を有する。
【００４０】
搭乗席２２の側面には、操作モジュール４６が設けられている。操作モジュール４６には、操作レバー（図示せず）及びブレーキレバー（図示せず）が設けられている。操作レバーは、搭乗者が移動体１００の走行速度や走行方向を調整するための操作部材である、搭乗者は、操作レバーの操作量を調整することによって移動体１００の移動速度を調整することができる。また、搭乗者は、操作レバーの操作方向を調整することによって移動体１００の移動方向を指定することができる。移動体１００は、操作レバーに加えられた操作に応じて、前進、停止、後退、左折、右折、左旋回、右旋回することができる。搭乗者がブレーキレバーを倒すことによって、移動体１００を制動することができる。移動体１００の進行方向は、車軸３０、３２と垂直な方向になる。
【００４１】
さらに、搭乗席２２の背もたれ部分には、制御部８０が実装されている。制御部８０は、搭乗者が操作モジュール４６に対して行なった操作に追従して、右輪駆動モータ３４及び左輪駆動モータ３６を制御し、移動体１００の走行（移動）を制御する。搭乗席２２の座面は台座７０の上面と平行に配置されている。制御部８０は、操作モジュールでの操作に応じて、右輪駆動モータ３４及び左輪駆動モータ３６を制御する。これにより、操作モジュール４６での操作に応じたトルク指令値で右輪駆動モータ３４及び左輪駆動モータ３６が駆動する。
【００４２】
制御部８０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、通信用のインターフェースなどを有し、移動体１００の各種動作を制御する。そして、この制御部８０は、例えばＲＯＭに格納された制御プログラムに従って各種の制御を実行する。制御部８０は、周知のフィードバック制御により、右輪駆動モータ３４及び左輪駆動モータ３６を相互に独立して所定の角度に制御する。操作モジュール４６での操作に応じて、右輪駆動モータ３４及び左輪駆動モータ３６が回転する。所望の加速度、及び目標速度となるように、右輪駆動モータ３４及び左輪駆動モータ３６が制御される。これにより、移動体１００が、操作モジュール４６での操作に応じて加減速しながら走行する。
【００４３】
具体的には、操作モジュール４６の操作によって、アクセル量が求められる。すなわち、操作モジュール４６は、搭乗者の操作によって与えられたアクセル量を取得する。操作モジュール４６は、このアクセル量が操作信号として、制御部８０に出力する。そして、制御部８０は、操作信号に基づいて、移動体１００の加速度や、目標速度を算出する。例えば、操作モジュール４６には、操作レバーの倒れ角やその角速度を測定するセンサが設けられている。操作レバーの倒れ角、及び倒れ角の角速度がアクセル量になる。具体的に、操作モジュール４６に、倒れ角を検出するセンサを設ける。そして、センサの出力を微分することによって、倒れ角の角速度を求めることができる。あるいは、その反対に、倒れ角の角速度を検出するセンサを操作モジュール４６に設けても良い。この場合、角速度を積分することによって、倒れ角を求めることができる。もちろん、操作モジュール４６に操作レバーの倒れ角、及びその角速度を検出するセンサをそれぞれ設けてもよい。
【００４４】
このように、操作モジュール４６は、操作レバーの倒れ角、倒れ角の角速度によってアクセル量を取得する。そして、制御部８０は、アクセル量に基づいて加速度や目標速度を算出する。操作レバーの倒れ角が大きくなるほど、加速度や目標速度が大きくなる。具体的には、倒れ角、及びその角速度に適当なゲインを乗じて、加速度、及び目標速度を求める。なお、操作モジュール４６がアクセル量に基づいて、加速度や目標速度を算出してもよい。この場合、操作信号として、加速度や目標速度が出力される。
【００４５】
さらに、制御部８０は、右アーム１４、及び左アーム１６の各関節の角度を制御する。各関節は、それぞれ独立して駆動する。右アーム１４、及び左アーム１６が駆動することによって、移動体１００の姿勢が変化する。すなわち、制御部８０は、移動体１００の高さ、及び左右方向の傾斜角を制御する。
【００４６】
例えば、右アーム１４、又は左アーム１６を駆動すると、台座７０を左右方向に傾斜することができる。即ち、移動体１００の車体１２をロール方向（前方推進方向に平行な移動体１００の前後軸周り）に自立的に揺動傾斜させることができる。例えば、右アーム１４の上関節モータ６６、及び下関節モータ６５を駆動し、右アーム１４をくの字型に屈曲させる。具体的には、上関節モータ６６、及び下関節モータ６５を反対方向に一定角度回転させる。これにより、回転軸Ｃ３と、回転軸Ｃ１とが接近する。移動体１００の右側の車高が低くなる。このように、右アーム１４と左アーム１６とを独立して駆動することによって、搭乗者の乗り心地を向上することができる。具体的には、傾斜や段差がある地面であっても、左右方向において車体１２を水平にすることができる。すなわち、左右方向に車体１２が傾くのを防ぐことができ、乗り心地を向上することができる。
【００４７】
例えば、水平な地面を走行している間は、右アーム１４、及び左アーム１６が同じ角度で屈曲している。すなわち、回転軸Ｃ１から回転軸Ｃ３まで距離と、回転軸Ｃ２から回転軸Ｃ３までの距離を同じにする。これにより、回転軸Ｃ３が水平になり、車体１２が左右方向において水平となる。そして、水平な地面を走行中に右駆動輪１８が段差に乗り上げたり、地面が傾斜面に変わったりすると、右駆動輪１８が左駆動輪２０よりも高くなる。回転軸Ｃ３が右上がりに傾斜し、車体１２が左右方向に傾く。ここで、車体１２の左右方向の傾斜を防ぐため、上述のように右アーム１４を駆動させる。これにより、右アーム１４がくの字状に屈曲して、回転軸Ｃ１と回転軸Ｃ３とが近づく。一方、左アーム１６は伸長しているため、回転軸Ｃ２と回転軸Ｃ３とは離れている。このため、回転軸Ｃ３の傾きが変化して、車体１２を水平にすることができる。
【００４８】
具体的には、ジャイロセンサ４８からの出力によって、車体１２が左右方向に傾斜していることが検知される。ジャイロセンサ４８からの出力に応じて制御部８０が、一方のアームを駆動する。すなわち、制御部８０は、傾斜して高くなっている方のアームを駆動する。例えば、車体１２の右側が高くなっている場合、制御部８０は、右アーム１４の各関節を制御する。下関節モータ６５、及び上関節モータ６６が駆動して、右アーム１４が屈曲する。さらに、車体１２の傾斜角に応じた長さだけ、右アーム１４を屈曲させる。すなわち、上関節６１、及び下関節６３を、左右方向における車体１２の傾斜角度に応じた回転角度だけ駆動する。これにより、回転軸Ｃ３が水平になり左右方向において車体１２が水平になる。もちろん、車体１２の左側が高くなっている場合、左アーム１６を同様に駆動する。このように、右アーム１４、及び左アーム１６は、車体１２の水平方向の傾きを修正するスイングアームとなる。
【００４９】
さらに、右アーム１４と左アーム１６との両方を駆動することによって、姿勢を変えることができる。ここでは、算出された加速度、及び目標速度に応じて車高を変えている。すなわち、加速度が大きい場合や目標速度が大きい場合、車高を低くしている。さらに、加速度に応じて、車体１２の車軸に対する傾斜角度を変化させている。
【００５０】
まず、急な加減速を行なう場合について説明する。操作モジュール４６で急な操作を行なった場合、現在速度が目標速度に対して離れている。現在速度と目標速度が大きく異なる場合、急な加減速が必要となる。例えば、現在速度に比べて目標速度が十分大きい場合、移動体１００を急加速する必要がある。移動体１００が急加速する場合、車高を下げる。すなわち、右アーム１４、及び左アーム１６を駆動して、車軸と、回転軸Ｃ３を近づける。さらに、車軸に対する車体１２の重心位置が前方に移動するように、右アーム１４、及び左アーム１６を駆動する。これにより、図３（ａ）に示すように、車体１２の重心位置が前側に移動する。なお、図３は、移動体１００のアームの動作を説明する側面図である。図３（ａ）では、回転軸Ｃ１よりも回転軸Ｃ３が前に配置されている。そらに、回転軸Ｃ１よりも回転軸Ｃ４が後に配置されている。そして、上リンク６２が水平方向に近い角度で配置されている。回転軸Ｃ１、Ｃ２よりも回転軸Ｃ３が前方になり、移動体１００が前傾姿勢になる。
【００５１】
一方、現在速度が目標速度に比べて十分大きい場合、移動体１００を急減速する必要がある。この場合、移動体１００の後ろ方向の加速度が付与される。移動体１００が急減速する場合、車高を下げる。すなわち、車軸と、回転軸Ｃ３を近づける。さらに、車軸に対する車体１２の重心位置が後方に移動するように、右アーム１４、及び左アーム１６を駆動する。これにより、図３（ｂ）に示すように、車体１２の重心位置が後ろ側に移動する。図３（ｂ）では、回転軸Ｃ４が回転軸Ｃ１よりも後方に配置されている。また、回転軸Ｃ３が回転軸Ｃ４よりも後方に配置されている。従って、回転軸Ｃ１、Ｃ２よりも回転軸Ｃ３が後方になり、移動体１００が後傾姿勢になる。
【００５２】
このように、加速度、及び目標速度に応じて車高を調整することで、車軸と車体との距離やイナーシャが変化する。これにより、移動体１００の固有周波数を変化させることができる。さらに、目標速度に応じて車高を調整することで、移動体１００がその目標速度での走行に適した固有周波数を持つようになる。例えば、車高を下げると俊敏な加減速が可能となり、車高を上げるとゆっくりとした動きになる。すなわち、車高を下げると、車体１２が倒れる角速度が高くなるため、駆動輪を速く回転させる必要がある。一方、車高を上げると、車体１２が倒れる角速度が低くなるため、駆動輪をゆっくり回転させる必要がある。車高を調整することによって、目標速度に適した倒立振子制御が可能になる。さらに、加速度の方向に応じて、移動体１００の傾斜方向を変えている。すなわち、前方向の加速度が与えられる場合、車高を下げるとともに、前傾姿勢にする。すなわち、後方向の加速度が与えられる場合、車高を下げるとともに、後傾姿勢にする。これにより、俊敏な加減速が可能となる。よって、目標速度に到達する時間を短くすることができる。操作者が意図した目標速度に速やかに到達することができるため、制御性を向上することができる。よって、操作に対する応答性を向上することができる。
【００５３】
次に、急な加減速を行なわない場合について説明する。操作モジュール４６での操作が略一定になると、現在速度が目標速度に追従する。すなわち、目標速度に到達するように加減速されるため、現在速度が目標速度に近くなる。現在速度と目標速度が近い場合、急な加減速は必要なくなり、小さい加速度が算出される。算出された加速度が小さい場合、図３に示す状態よりも、車高を上げる。例えば、急な加減速を行なう場合と比べて、右アーム１４、及び左アーム１６が伸びた状態となる。これにより、回転軸Ｃ３から回転軸Ｃ１，Ｃ２までの距離が離れる。現在速度と目標速度が近い場合、さらに、目標速度に応じて、車高を調整する。これにより、目標速度に応じて、車軸に対する回転軸Ｃ３の距離が変化する。
【００５４】
そして、現在速度が目標速度を超えている場合、車軸に対する車体１２の重心位置を後に移動する。これにより、車体１２の重心位置が車軸よりも後ろ側に移動する。すなわち、回転軸Ｃ１、Ｃ２よりも回転軸Ｃ３が後方になり、移動体１００が後傾姿勢になる。ここでは、図３（ｂ）に示す姿勢よりも、車高は高くなっている。一方、現在速度が目標速度を超えていない場合、車軸に対する車体１２の重心位置を前に移動する。これにより、車体１２の重心位置が車軸よりも前側に移動する。回転軸Ｃ１、Ｃ２よりも回転軸Ｃ３が前方になり、移動体１００が前傾姿勢になる。ここでは、図３（ａ）に示す姿勢よりも、車高は高くなっている。
【００５５】
このように、移動体１００が制御部８０で算出された目標速度を超えているか否かによって、姿勢を変化させる。すなわち、現在速度が目標速度よりも大きい場合、車体１２が後ろ側に移動する。すると、車体１２の重心位置が車軸よりも後に配置されるため、駆動輪の回転速度が低下する。すなわち、倒立振子制御によって、速やかに減速され、現在速度が目標速度に近づく。一方、現在速度が目標速度よりも小さい場合、車体１２が前側に移動する。すると、車体１２の重心位置が車軸よりも前に配置されるため、駆動輪の回転速度が上昇する。すなわち、倒立振子制御によって、速やかに加速され、現在速度が目標速度に近づく。これにより、従来の倒立振子制御と比べて、移動体１００の速度を速やかに変化させることができる。すなわち、駆動輪の制御だけで倒立状態を維持するよりも、移動体１００の速度が、目標速度に対して速やかに追従する。よって、ほぼ一定の速度での走行が可能になる。操作に対する応答性を向上することができる。これにより、制御性を向上することができる。例えば、一定の速度で人と並んで移動することができる。
【００５６】
次に、制御部８０による制御について図４を用いて説明する。図４は、制御部８０の制御を説明するためのブロック図である。制御部８０は、走行制御モジュール８１と、姿勢制御モジュール８２とを有している。制御部８０は、走行制御モジュール８１と姿勢制御モジュール８２とを統括的に制御する。走行制御モジュール８１は、右輪駆動モータ３４と左輪駆動モータ３６を制御するアンプを有している。走行制御モジュール８１は、右輪駆動モータ３４と左輪駆動モータ３６とに駆動信号を出力して、右駆動輪１８、及び左駆動輪２０をフィードバック制御する。具体的には、右輪エンコーダ５２と、左輪エンコーダ５４で測定された測定値が走行制御モジュール８１に入力される。また、走行制御モジュール８１には、倒立を安定させるため、ジャイロセンサ４８からの傾斜角速度が入力されている。さらに、走行制御モジュール８１には、操作モジュール４６による操作の応じた操作信号８９が入力される。そして、走行制御モジュール８１は、測定値と、操作信号８９に応じた指令値と、傾斜角速度とに基づいて、右輪駆動モータ３４と左輪駆動モータ３６を駆動する。このように、走行制御モジュール８１は、右駆動輪１８、及び左駆動輪２０をフィードバック制御する。これにより、移動体１００は、操作モジュール４６での操作に応じて移動する。よって、倒立状態で安定して走行することができる。ここでのフィードバック制御としては公知の制御方法を用いることができる。制御部８０で算出された目標速度、及び加速度に従って移動体１００が走行する。
【００５７】
姿勢制御モジュール８２は、移動体１００の姿勢を制御する。すなわち、姿勢制御モジュール８２は、右アーム１４、及び左アーム１６の各関節のモータを駆動するためのアンプを有している。姿勢制御モジュール８２は、制御信号を出力して、右アーム１４、及び左アーム１６の姿勢を制御する。具体的には、姿勢制御モジュール８２には、ジャイロセンサ４８から、車体１２の傾斜角速度を示す検出信号が入力される。すなわち、ジャイロセンサ４８で検出された車体１２の傾斜角速度の値が姿勢制御モジュール８２に入力される。そして、ジャイロセンサ４８で検出された傾斜角速度によって、車体１２が左右方向に傾斜していることが検知される。車体１２が左右方向に傾斜している場合、右アーム１４、又は左アーム１６を駆動する。ここでは、車体１２が高くなっている方のアームを駆動して、傾斜角度を修正する。すなわち、姿勢制御モジュール８２が傾斜角度を打ち消すように一方のアームを制御する。これにより、左右方向における傾斜角度の変化が低減するため、安定して走行することが可能になる。搭乗者の乗り心地を向上することができる。
【００５８】
さらに、姿勢制御モジュール８２は、上記のよう搭乗者による操作に応じて車高を調整している。具体的には、算出された加速度、及び目標速度に応じて両アームを駆動する。これにより、各関節のモータが回転して、所定の角度になる。よって、車高を下げることができる。また、前傾姿勢、又は後傾姿勢にすることができる。
【００５９】
次に、図５を用いて本実施の形態にかかる移動体の制御方法について説明する。図５は、本実施の形態にかかる移動体の制御方法を示すフローチャートである。なお、図５では、姿勢制御モジュール８２による姿勢制御について示している。すなわち、図５は、右アーム１４、及び左アーム１６の駆動制御を説明するためのフローチャートである。
【００６０】
まず、処理開始後、搭乗者によって操作モジュールが操作されると、その操作に応じたアクセル量を取得する（ステップＳ１０１）。具体的には、操作モジュール４６の操作レバーの倒れ角や倒れ角の角速度がアクセル量として取得される。そして、制御部８０は、アクセル量の大きさに基づいて、移動体１００の加速度、及び目標速度を算出する（ステップＳ１０２）。例えば、制御部８０が、倒れ角、及び倒れ角の角速度にそれぞれ適当なゲインを乗じて、加速度、及び目標速度を算出する。ここで、走行制御モジュール８１は、算出された目標速度、及び加速度に基づいて、左輪駆動モータ３６、及び右輪駆動モータ３４を制御する。目標速度、及び加速度に対応する指令値を駆動信号として出力する。これにより、移動体１００は、与えられた加速度で加速、あるいは減速され、目標速度に到達する。すなわち、算出された加速度、目標速度に追従するように移動体１００が走行する。現在速度から目標速度になるまで、算出された加速度で移動速度が変化していく。
【００６１】
なお、目標速度、及び加速度は符号付きで算出される。例えば、移動体１００が前進しているときの速度を正の速度とし、移動体１００が後退しているときの速度を負の速度とする。加速度に付いても、同様とする。移動体１００が前進しているときに、正の加速度が与えられると、移動体１００の速度がさらに増加する。すなわち、移動体１００を加速したい場合、現在の速度と同じ符号の加速度が与えられる。一方、移動体１００が前進しているときに、負の加速度が与えられると、移動体１００の速度が低減される。すなわち、移動体１００が低速度で移動する場合や、移動体１００を停止したい場合、現在速度と反対の符号の加速度が与えられる。反対に、移動体１００を加速したい場合、現在速度と同じ符号の加速度が与えられる。
【００６２】
そして、算出された加速度に基づいて、急動作を行なうか否かを判定する（ステップＳ１０３）。急動作を行なう場合、現在の速度から急激に移動体１００の速度が変化するため、加速度を大きくする必要がある。よって、算出された加速度に基づいて急動作を行なう否かを判定することができる。具体的には、姿勢制御モジュール８２は、加速度が一定範囲内に収まっているか否かを判定する。そして、加速度が一定範囲内に収まっていない場合、急動作を行なうと判定する。一方、加速度が許容範囲内に収まっている場合、急動作を行なわないと判定する。例えば、姿勢制御モジュール８２には、加速度に対するしきい値が設定されている。そして、しきい値と加速度の絶対値を比較することによって、急動作を行なうか否かを判定する。すなわち、加速度の絶対値がしきい値よりも大きい場合、急な加速、あるいは急な減速が行なわれる。加速度の絶対値がしきい値を超えた場合、急動作を行なうと判定する。急動作を行なう場合、左輪駆動モータ３６、及び右輪駆動モータ３４の駆動によって、右駆動輪１８、及び左駆動輪２０の回転速度が急激に変化する。
【００６３】
急動作を行なうと判定した場合、車高を決定する（ステップＳ１０４）。急動作を行なう場合、車高を下げる。すなわち、現在の車高よりも低くなるように、車高を決定する。ここでは、例えば、予め設定されている車高に決定される。具体的には、ステップＳ１０２で算出された目標速度に基づいて、予め設定されている複数の車高から１つの車高を選択する、このように、算出された目標速度に基づいて、車高を決定する。もちろん、加速度に基づいて、車高を決定してもよい。さらには、加速度、及び目標速度の両方に応じて車高を決定してもよい。
【００６４】
車高が決定されたら、加速するか、減速するかを判定する（ステップＳ１０５）。すなわち、加速度の符号が正であるか、負であるかを判定する。加速度の向きが現在の進行方向と一致した場合、加速すると判定され、反対の場合、減速すると判定される。換言すると、加速度と現在速度とが同じ符号である場合、加速すると判定され、異なる符号である場合、減速すると判定される。
【００６５】
加速すると判定された場合、車体の重心を前に移動する（ステップＳ１０６）。すなわち、車体１２の重心位置を車軸よりも前側にして、移動体１００を前傾姿勢にする。ここでは、右アーム１４と左アーム１６とが駆動して、例えば、図３（ａ）に示す姿勢となる。すなわち、回転軸Ｃ１よりも回転軸Ｃ３が前方になる。右アーム１４、及び左アーム１６の駆動によって、回転軸Ｃ１に対する車体１２の重心位置が、回転軸Ｃ３よりも前に進む。また、移動体１００の車高は、ステップＳ１０５で決定された高さになる。
【００６６】
減速すると判定された場合、車体の重心を後ろに移動する（ステップＳ１０７）。すなわち、車体１２の重心位置を車軸よりも後ろ側にして、移動体１００を後傾姿勢にする。ここでは、右アーム１４と左アーム１６とが駆動して、例えば、図３（ｂ）に示す姿勢となる。すなわち、回転軸Ｃ１よりも回転軸Ｃ３が後方になる。右アーム１４、及び左アーム１６の駆動によって、回転軸Ｃ１に対する車体１２の重心位置が、回転軸Ｃ３よりも後ろになる。また、移動体１００の車高は、ステップＳ１０５で決定された高さになる。
【００６７】
このように、加速度に基づいて、車軸に対する車体１２の重心位置を調整している。具体的には、加速度の向きに応じて、前傾姿勢にするか後傾姿勢にするかを決定している。すなわち、加速度の向きと、右アーム１４、及び左アーム１６による車体１２の移動方向を一致させている。なお、移動体１００の姿勢を決定するため、加速度、及び目標速度に対して、車高、及び重心位置を予めマッピングしてもよい。加速度、及び目標速度に応じた複数の姿勢を予め登録しておく。ここでは、それぞれの姿勢に対して加速度、及び目標速度の範囲を対応付ける。すなわち、加速度、及び目標速度の範囲が対応付けられた姿勢を複数記憶しておく。そして、算出された加速度、及び目標速度に基づいて、マップとして登録されている複数の姿勢の中から１つの姿勢が選択される。すなわち、算出された加速度、及び目標速度が含まれる範囲に対応する姿勢を選択する。そして、選択された姿勢になるように、右アーム１４と左アーム１６とが駆動される。すなわち、姿勢が決定された後、各関節モータが駆動する。具体的には、右アーム１４の下関節モータ６５と上関節モータ６６が駆動して、所定の回転角度になる。もちろん、左アーム１６の下関節モータ９５と上関節モータ９６が駆動して、所定の回転角度になる。これにより、車高、及び車体１２の重心位置を調整することができる。
【００６８】
なお、ステップＳ１０６において、右駆動輪１８、及び左駆動輪２０に対して逆トルクを与える逆トルク制御を行うことが好ましい。すなわち、前傾姿勢にする時、右輪駆動モータ３４、及び左輪駆動モータ３６が右駆動輪１８、及び左駆動輪２０に対して逆トルクをそれぞれ与える。右アーム１４と左アーム１６の駆動によって姿勢が前傾するタイミングで逆トルクを与え、駆動輪の回転を反転させる。具体的には、移動方向に対応する回転方向で駆動されている右輪駆動モータ３４、及び左輪駆動モータ３６を逆回転にする。所定の時間だけ、移動体１００の後ろ側に右車台１７、及び左車台１９が移動するような逆トルクを与える。なお、逆トルクを与える時間を予め定めておいてもよい。
【００６９】
これにより、右車台１７、及び左車台１９が後退するが、車体１２は、後退しない。よって、速やかに、車軸に対する車体１２の重心位置を前進させることができる。これにより、車軸に対する車体１２の重心位置が前側に移動する時間を短縮することができる。この後、倒立振子制御によって、車輪の回転速度が即座に高くなる。すなわち、走行制御モジュール８１でのフィードバック制御によって、車輪の回転速度が高くなる。よって、速やかに加速することができ、キビキビとした移動が可能になる。
【００７０】
上記の逆トルク制御による逆トルクの大きさは、例えば、目標速度に応じて変えることができる。すなわち、逆トルクの値と目標速度とを対応付けて記憶しておく。これにより、目標速度に応じた逆トルク値が設定される。そして、予め設定された複数の逆トルク値から目標速度に対応する１つの逆トルク値を選択する。これにより、車体１２が前側に移動するとき、左右の駆動輪に対して、目標速度に応じた所定の逆トルクを与えることができる。車高を下げるとともに姿勢が変化するときに、逆トルクが与えられる。これにより、速やかに加速することができる。
【００７１】
なお、ステップＳ１０７において、右駆動輪１８、及び左駆動輪２０に対して順トルクを与える順トルク制御を行うことが好ましい。すなわち、後傾姿勢にする時、右輪駆動モータ３４、及び左輪駆動モータ３６が右駆動輪１８、及び左駆動輪２０に対して順トルクをそれぞれ与えてもよい。すなわち、右アーム１４と左アーム１６の駆動によって姿勢が後傾するタイミングで、駆動輪の回転速度を上げる。ここで、通常のフィードバック制御でのトルクよりも、後傾するタイミングでのトルクを大きくする。すなわち、後傾するタイミング与えられる順トルク値を大きくする。そして、右輪駆動モータ３４、及び左輪駆動モータ３６の回転速度を高くする。すなわち、所定の時間だけ、移動体１００の前側に右車台１７、及び左車台１９が移動するようなトルクを与える。
【００７２】
これにより、右車台１７、及び左車台１９が前進するが、車体１２は、即座に追従しない。よって、速やかに、車軸に対する車体１２の重心位置を前進させることができる。これにより、車軸に対する車体１２の重心位置が後ろ側に移動する時間を短縮することができる。この後、倒立振子制御によって、車輪の回転速度が即座に低くなる。すなわち、走行制御モジュール８１でのフィードバック制御によって、車輪の回転速度が低くなる。よって、速やかに減速することができる。なお、上記の順トルク制御による順トルクの大きさ、逆トルク制御と同様に予め設定することができる。すなわち、順トルク値を目標速度に応じて設定することができる。
【００７３】
このように、姿勢が変化するタイミングに応じて、逆トルク制御、又は順トルク制御を行っている。逆トルク値、及び順トルク値は、目標速度、及び加速度に応じて、マッピングされていてもよい。姿勢変化時の逆トルク制御、及び順トルク制御は、走行制御モジュール８１でのフィードバック制御に加えて実施する。すなわち、走行制御モジュールでのフィードバック制御でのトルク値に加えて、逆トルク、又は順トルクを与える。従って、逆トルクを与えるときは、フィードバック制御によるトルク値に逆トルク値を加えて、駆動輪に与えるトルクを算出する。この場合、所定の逆トルク値、又は順トルク値に、フィードバック制御でのトルク値を加えたトルクが右輪駆動モータ３４、及び左輪駆動モータ３６を介して右駆動輪１８、及び左駆動輪２０に与えられる。
【００７４】
このように、車体１２の重心位置が変化するタイミングに基づいて、逆トルク制御、又は順トルク制御を行う。これにより、姿勢が変化するタイミングと同期して重心位置の移動方向と反対方向に、走行制御モジュール８１が右車台１７、及び左車台１９を移動する。すなわち、姿勢制御モジュール８２が姿勢を変化させるタイミングで、走行制御モジュール８１が、右輪駆動モータ３４、及び左輪駆動モータ３６の駆動を制御して、右車台１７、及び左車台１９を反対方向に移動させる。これにより、速やかに加減速することができる。
【００７５】
このように、アームの駆動によって姿勢が変化する方向と反対方向のトルクを駆動輪に与える。すなわち、姿勢制御モジュールにおいて姿勢を変える場合、車軸に対する車体１２の移動方向と反対に車台が移動するように、駆動輪を駆動させる。これにより、速やかに目標速度に到達することができる。よって、操作に対するレスポンスが高くなり、制御性を向上することができる。
【００７６】
ステップＳ１０３において、図５に示すように、急動作を行なわないと判定された場合、車高を目標速度に応じて決定する（ステップＳ１０８）。すなわち、目標速度に基づいた車高になるように設定される。これにより、例えば、目標速度が高い場合は、車高が低くなり、目標速度が低い場合は、車高が高くなる。
【００７７】
次に、現在速度が目標速度を越えているか否かを判定する（ステップＳ１０９）。すなわち、現在速度と、算出された目標速度とを比較し、その比較結果に応じて目標速度を越えているか否かを判定する。なお、現在速度は、例えば、エンコーダの出力から求めることができる。なお、このステップでは、加速度の向きに応じて判定してもよい。
【００７８】
目標速度を超えていると判定された場合、車体１２の重心を後に移動する（ステップＳ１１０）。すなわち、車体１２の重心位置を車軸よりも後ろ側にして、移動体１００を後傾姿勢にする。ここでは、右アーム１４と左アーム１６とが駆動して、後傾姿勢になる。回転軸Ｃ１よりも回転軸Ｃ３が後方になる。右アーム１４、及び左アーム１６の駆動によって、回転軸Ｃ１に対する車体１２の重心位置が、回転軸Ｃ３よりも後ろになる。また、移動体１００の車高は、ステップＳ１０８で決定された高さになる。
【００７９】
なお、ステップＳ１１０の後傾姿勢とステップＳ１０７の後傾姿勢は、異なる姿勢になっている。具体的には、ステップＳ１１０での後傾姿勢の度合いは、ステップＳ１０７に比べて、小さくなっている。すなわち、ステップＳ１１０の後傾姿勢では、ステップＳ１０７の後傾姿勢よりも、前後方向における車体１２の重心位置が車軸に近くなっている。さらに、ステップＳ１１０の姿勢では、ステップＳ１０７の姿勢よりも車高が高くなっている。すなわち、ステップＳ１１０の姿勢では、ステップＳ１０７の姿勢よりも、回転軸Ｃ３と車軸との距離が広くなっている。よって、ステップＳ１０７の後傾姿勢は、ステップＳ１１０の後傾姿勢より傾斜している。また、ステップＳ１１０においても、ステップＳ１０７と同様に、順トルク制御を行ってもよい。ステップＳ１１０では、ステップＳ１０７において与える順トルク値よりも、低い順トルク値を与える。これにより、安定な倒立状態で、走行することができる。
【００８０】
目標速度を超えていないと判定された場合、車体の重心を前に移動する（ステップＳ１１１）。すなわち、車体１２の重心位置を車軸よりも前側にして、移動体１００を前傾姿勢にする。ここでは、右アーム１４と左アーム１６とが駆動して、前傾姿勢になる。回転軸Ｃ１よりも回転軸Ｃ３が前方になる。右アーム１４、及び左アーム１６の駆動によって、回転軸Ｃ１に対する車体１２の重心位置が、回転軸Ｃ３よりも前に進む。また、移動体１００の車高は、ステップＳ１０８で決定された高さになる。
【００８１】
なお、ステップＳ１１１の前傾姿勢とステップＳ１０６の前傾姿勢は、異なる姿勢になっている。具体的には、ステップＳ１１１での前傾姿勢の度合いは、ステップＳ１０６に比べて、小さくなっている。ステップＳ１１１の前傾姿勢では、ステップＳ１０６の前傾姿勢よりも、前後方向における車体１２の重心位置が車軸に近くなっている。さらに、ステップＳ１１１の姿勢では、ステップＳ１０６の姿勢よりも車高が高くなっている。すなわち、ステップＳ１１１の姿勢では、ステップＳ１０６の姿勢よりも、回転軸Ｃ３と車軸との距離が広くなっている。よって、ステップＳ１０６の前傾姿勢の傾斜角度は、ステップＳ１１１の前傾姿勢での傾斜角度より大きくなる。また、ステップＳ１１１においても、ステップＳ１０６と同様に、逆トルク制御を行ってもよい。ステップＳ１１１では、ステップＳ１０６において与える逆トルク値よりも、低い逆トルク値を与える。これにより、安定な倒立状態で、走行することができる。また、ステップＳ１１０、及びステップＳ１１１においても、マップとして記憶された姿勢の中から選択してもよい。すなわち、加速度、及び目標速度に応じて、関節角度を決定してもよい。
【００８２】
このように、目標速度に応じて車高を決定することで、車軸と車体１２との距離が変化する。すなわち、車高を下げると、車体１２が車軸に対して接近する。これにより、車体１２の固有周波数が変化するので、状況に応じて固有周波数を最適化することができる。従って、目標速度が変わった場合でも、速やかに目標速度に到達することができる。目標速度での走行に適した姿勢となる。安定走行が可能になり、安全性を高くすることができる。なお、移動体１００が後方に移動している場合でも、同様に制御を行うことができる。この場合、上記の説明において、前傾姿勢と後傾姿勢が反対になる。さらに、スイングアーム以外の機構によって、車高、及び姿勢の制御を実行してもよい。また、車高の制御と、姿勢の変化とを、別のアクチュエータによって実行してもよい。例えば、複数の直動関節を設けて、車高、及び姿勢をそれぞれ制御してもよい。また、姿勢制御と走行制御とを独立して行なうことができるので、制御系を簡素化することができる。これにより、簡便に制御性を向上することができる。
【００８３】
このように、操作モジュールでの操作によって、移動体１００に対する搭乗者の意図が推定される。すなわち、操作モジュールでの操作によって、加速（減速）を行いたいのか、このまま定速で移動したいのかが推定される。例えば、算出された加速度に追従するように、右駆動輪１８、及び左駆動輪２０を回転させ、目標速度に到達させる。加えて、右アーム１４、及び左アーム１６を駆動して、車体１２の姿勢を制御する。具体的には、加速度の向きに車体１２を移動させている。これにより、速やかに目標速度に到達することができ、速度変化を滑らかにすることができる。緩急自在な走行が可能になるとともに、キビキビとした加減速を行なうことができる。
【００８４】
なお、上記の説明では、２輪型の移動体１００について説明したが、車輪の数は、これに限られるものではない。１輪型の移動体でもよく、３以上の車輪を有する移動体であってもよい。もちろん、アームの本数は、１本でも、３本以上でもよい。上記の例では、操作者が移動体１００に搭乗しているものとして説明したが、これに限るものではない。例えば、遠隔で操縦を行なう移動体に対しても適用することができる。さらに、上記の説明では、搭乗席２２を有する移動体１００について説明したが、物体運搬用の移動台車であってもよい。もちろん、移動ロボットなどのその他の移動体であってもよい。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施の形態にかかる移動体の構成を示す側面図である。
【図２】本発明の実施の形態にかかる移動体の構成を示す正面図である。
【図３】本発明の実施の形態にかかる移動体の姿勢を説明するための側面図である。
【図４】本発明の実施の形態にかかる移動体の制御系の構成を示すブロック図である。
【図５】本発明の実施の形態にかかる移動体の制御方法を示すフローチャートである。
【符号の説明】
【００８６】
１２  車体、１４  右アーム、１５  右車台、１６  左アーム、１７  左車台、
１８  右駆動輪、２０  左駆動輪、２２  搭乗席、
２６  ロッド、２８  マウント
３０  車軸、３２  車軸、３４  右輪駆動モータ、３６  左輪駆動モータ
４８  ジャイロセンサ、５２  右輪エンコーダ、５４  左輪エンコーダ
６１  上関節、６２  上リンク、６３  下関節、６４  下リンク、６５  下関節モータ、
６６  上関節モータ、７０  台座、７２  支柱、
８０  制御部、８１  走行制御モジュール、８２  姿勢制御モジュール
９１  上関節、９２  上リンク、９３  下関節、９４  下リンク、９５  下関節モータ、
９６  上関節モータ、１００  移動体、１０１  移動体
【図１】
2008273344.tif 000003
【図２】
2008273344.tif 000004
【図３】
2008273344.tif 000005
【図４】
2008273344.tif 000006
【図５】
2008273344.tif 000007