(57)【要約】【課題】安全に倒立動作を行うことができる倒立車輪型移動体、及びその制御方法を提供する。【解決手段】本発明の一態様にかかる倒立車輪型移動体は、右駆動輪１８、左駆動輪２０を回転駆動するモータ３４、３６と、スイングアーム１７、１９を介してマウント２６、２８に対して回動可能に支持された搭乗席７４と、搭乗席７４を駆動する搭乗席駆動モータ７０と、を備えている。制御部８０は、接地状態から離地状態へと移行するために、前記第３の駆動部を駆動させて、スイングアーム関節６７の駆動量がしきい値を超えたか否かを判定し、駆動量がしきい値を越えた後に、モータ３４、３６、及び搭乗席駆動モータ７０の制御を開始して、倒立車輪型移動体を倒立させている。【選択図】  図２
2009101899.tif 000002
【特許請求の範囲】
【請求項１】
車輪を回転可能に支持する車台と、
前記車輪を回転駆動する第１の駆動部と、
支持部材を介して前記車台に対して回動可能に支持された車体部と、
前記車体部を駆動する第２の駆動部と、
前記車輪と離間して設けられた接地可能な接地部材と、
前記接地部材の高さを変化させて、前記接地部材が接地した接地状態と離地した離地状態とを切換える第３の駆動部と、
前記第１の駆動部、前記第２の駆動部、及び第３の駆動部を制御する制御部と、を備える倒立車輪型移動体であって、
前記制御部が、
前記接地状態から前記離地状態へと移行するために、前記第３の駆動部を駆動させている時に、前記第３の駆動部の駆動量がしきい値を超えたか否かを判定し、
前記駆動量がしきい値を越えた後に、前記第１及び第２の駆動部の制御を開始して、前記倒立車輪型移動体を倒立させる倒立車輪型移動体。
【請求項２】
前記制御部が、前記倒立車輪型移動体の姿勢の傾斜角度と、前記倒立車輪型移動体の姿勢の傾斜角速度と、前記車輪の回転速度と、前記第２の駆動部の駆動速度とに基づいて、前記第１及び第２の駆動部をフィードバック制御する請求項１に記載の倒立車輪型移動体。
【請求項３】
前記接地部材が前記車輪の前後に設けられた補助輪を有している請求項１、又は２に記載の倒立車輪型移動体。
【請求項４】
車輪を回転可能に支持する車台と、
前記車輪を回転駆動する第１の駆動部と、
支持部材を介して前記車台に対して回動可能に支持された車体部と、
前記車体部を駆動する第２の駆動部と、
前記車輪と離間して設けられた接地可能な接地部材と、
前記接地部材の高さを変化させて、前記接地部材が接地した接地状態と離地した離地状態とを切換える第３の駆動部と、
前記第１の駆動部、前記第２の駆動部、及び第３の駆動部を制御する制御部と、を備える倒立車輪型移動体の制御方法であって、
前記接地状態から前記離地状態へと移行するために、前記第３の駆動部を駆動するステップと、
前記第３の駆動部の駆動量がしきい値を超えたか否かを判定するステップと、
前記駆動量がしきい値を越えた後に、前記第１及び第２の駆動部の制御を開始して、前記倒立車輪型移動体を倒立させるステップと、を備える倒立車輪型移動体の制御方法。
【請求項５】
前記倒立させるステップでは、前記倒立車輪型移動体の姿勢の傾斜角度と、前記倒立車輪型移動体の姿勢の傾斜角速度と、前記車輪の回転速度と、前記第２の駆動部の駆動速度とに基づいて、前記第１及び第２の駆動部をフィードバック制御する請求項４に記載の倒立車輪型移動体の制御方法。
【請求項６】
前記接地部材が前記車輪の前後に設けられた補助輪を有している請求項４、又は５に記載の倒立車輪型移動体の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は倒立車輪型移動体、及びその制御方法に関する。
【背景技術】
【０００２】
倒立二輪車両などの倒立車輪型移動体は、通常、左右の駆動輪を駆動して安定状態を維持するように重心位置を修正しつつ、移動を行なうように制御している。さらに、倒立状態を安定させるため、車輪上方に設けられた慣性体を駆動する構成が開示されている（特許文献１）。この倒立車輪型移動体では、走行中に、慣性体をスライド移動させている。これにより、重心位置が車軸の鉛直線上に速やかに移動するため、倒立を安定させることができる。さらに、倒立車輪型移動体には、転倒を防止するための補助輪を設けることがある。
【特許文献１】特開２００６−２０５８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような、倒立車輪型移動体に、車高を変化させるためのスイングアームを有するものが開発されている。スイングアームを有する移動体では、スイングアームに設けられた関節を駆動することで車高を変化させている。そして、移動を開始する際には、スイングアームの関節を駆動している。これにより、補助輪を接地した接地状態から補助輪が離地した離地状態へと移行する。
【０００４】
しかしながら、従来の倒立車輪型移動体には、以下に示す問題点がある。補助輪が接地している状態では、傾斜角度が変化しない。このような状態で倒立するためのフィードバック制御を行ってしまうと、移動体の動作を安定させることができない。すなわち、車輪を駆動しても傾斜角度が変化しないため、目標傾斜角度と現在傾斜角度の偏差が一定値となる。このため、補助輪が接地している状態で、車輪を駆動させると、車輪の駆動トルクを安定せずに、暴走してしまうおそれがある。このように、従来の補助輪付きの倒立車輪型移動体では、補助輪を離地させる立ち上がり動作のときに、安定させることができないという問題点がある。なお、上記の問題点は、補助輪付きの倒立車輪型移動体に限らず、転倒を防止するために接地するストッパなどが設けられている倒立車輪型移動体についても同様に起き得る。
【０００５】
本発明は、かかる課題を解決するためになされたものであり、安全に倒立動作を行うことができる倒立車輪型移動体、及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様にかかる倒立車輪型移動体は、車輪を回転可能に支持する車台と、前記車輪を回転駆動する第１の駆動部と、支持部材を介して前記車台に対して回動可能に支持された車体部と、前記車体部を駆動する第２の駆動部と、前記車輪と離間して設けられた接地可能な接地部材と、前記接地部材の高さを変化させて、前記接地部材が接地した接地状態と離地した離地状態とを切換える第３の駆動部と、前記第１の駆動部、前記第２の駆動部、及び第３の駆動部を制御する制御部と、を備える倒立車輪型移動体であって、前記制御部が、前記接地状態から前記離地状態へと移行するために、前記第３の駆動部を駆動させている時に、前記第３の駆動部の駆動量がしきい値を超えたか否かを判定し、前記駆動量がしきい値を越えた後に、前記第１及び第２の駆動部の制御を開始して、前記倒立車輪型移動体を倒立させるものである。これにより、補助輪が地面から離れてから、倒立制御を開始することができるため、安全性を向上することができる。
【０００７】
本発明の第２の態様にかかる倒立車輪型移動体は、上記の倒立車輪型移動体であって、前記制御部が、前記倒立車輪型移動体の姿勢の傾斜角度と、前記倒立車輪型移動体の姿勢の傾斜角速度と、前記車輪の回転速度と、前記第２の駆動部の駆動速度とに基づいて、前記第１及び第２の駆動部をフィードバック制御するものである。これにより、簡便かつ確実に倒立させることができる。
【０００８】
本発明の第３の態様にかかる倒立車輪型移動体は、上記の倒立車輪型移動体であって、前記接地部材が前記車輪の前後に設けられた補助輪を有しているものである。これにより、補助輪が接地した状態での暴走を防ぐことができる。
【０００９】
本発明の第４の態様にかかる倒立車輪型移動体の制御方法は、車輪を回転可能に支持する車台と、前記車輪を回転駆動する第１の駆動部と、支持部材を介して前記車台に対して回動可能に支持された車体部と、前記車体部を駆動する第２の駆動部と、前記車輪と離間して設けられた接地可能な接地部材と、前記接地部材の高さを変化させて、前記接地部材が接地した接地状態と離地した離地状態とを切換える第３の駆動部と、前記第１の駆動部、前記第２の駆動部、及び第３の駆動部を制御する制御部と、を備える倒立車輪型移動体の制御方法であって、前記接地状態から前記離地状態へと移行するために、前記第３の駆動部を駆動するステップと、前記第３の駆動部の駆動量がしきい値を超えたか否かを判定するステップと、前記駆動量がしきい値を越えた後に、前記第１及び第２の駆動部の制御を開始して、前記倒立車輪型移動体を倒立させるステップと、を備えるものである。これにより、補助輪が地面から離れてから、倒立制御を開始することができるため、安全性を向上することができる。
【００１０】
本発明の第５の態様にかかる倒立車輪型移動体の制御方法は、上記の制御方法であって、前記倒立させるステップでは、前記倒立車輪型移動体の姿勢の傾斜角度と、前記倒立車輪型移動体の姿勢の傾斜角速度と、前記車輪の回転速度と、前記第２の駆動部の駆動速度とに基づいて、前記第１及び第２の駆動部をフィードバック制御するものである。これにより、簡便かつ確実に倒立させることができる。
【００１１】
本発明の第６の態様にかかる倒立車輪型移動体の制御方法は、上記の制御方法であって、前記接地部材が前記車輪の前後に設けられた補助輪を有しているものである。これにより、補助輪が接地した状態での暴走を防ぐことができる。
【発明の効果】
【００１２】
本発明は、安全に倒立動作を行うことができる倒立車輪型移動体、及びその制御方法を提供することを目的とする。
【発明を実施するための最良の形態】
【００１３】
本実施の形態にかかる移動体は倒立振子制御によって移動する倒立車輪型移動体である。移動体は、地面に接地した車輪を駆動することによって、所定の位置まで移動する。さらに、ジャイロセンサ等からの出力に応じて車輪を駆動することによって、倒立状態を維持することができる。また、移動体は、倒立状態を維持したまま、操作者が操作する操作量に応じて移動する。
【００１４】
図１及び図２を用いて、本実施の形態にかかる移動体１００の構成について説明する。図１は移動体１００の構成を模式的に示す側面図であり、図２は移動体１００の構成を模式的に示す正面図である。
【００１５】
図２に示されるように、移動体１００は、倒立車輪型の移動体（走行体）であり、右駆動輪１８と、左駆動輪２０と、右スイングアーム１７と、左スイングアーム１９と、車体１２と、を備えている。車体１２は、右駆動輪１８、及び左駆動輪２０の上方に配置された移動体１００の上体部の一部である。ここで、移動体１００の進行方向（図２の紙面と垂直方向）を前後方向とし、水平面において前後方向に垂直な方向を左右方向（横方向）とする。よって、図２は、進行方向前側から移動体１００を見た図であり、図１は、左側から移動体１００を見た図である。
【００１６】
走行時において、右スイングアーム１７、及び左スイングアーム１９は、車高を調整する。さらに、一方、又は両方のスイングアームを駆動して、車体１２の地面に対する左右の傾斜角度を調整する。例えば、水平な地面を走行中に、右駆動輪１８のみが段差に乗り上げたり、地面が右上がりの傾斜面に変わったりしたとする。この場合、右駆動輪１８が左駆動輪２０よりも高くなる。このため、右スイングアーム１７の関節を駆動して右駆動輪１８を車体１２の方向により近づけるようにする。これにより、右駆動輪１８が高くなった分を吸収でき、横方向（左右方向）において車体１２を水平にすることができる。
【００１７】
右スイングアーム１７側端側には右マウント２６が固定され、車軸３０を介して右駆動輪１８を回転可能に支持する。右駆動輪１８は、車軸３０を介して右輪駆動モータ３４の回転軸Ｃ１に固定されている。右輪駆動モータ３４は、右マウント２６内に固定され、車輪用駆動部（アクチュエータ）として機能する。
【００１８】
左スイングアーム１９の側端側には左マウント２８が固定され、車軸３２を介して左駆動輪２０を回転可能に支持する。左駆動輪２０は、車軸３２を介して左輪駆動モータ３６の回転軸Ｃ２に固定されている。左輪駆動モータ３６は、左マウント２８内に固定され、車輪用駆動部（アクチュエータ）として機能する。右駆動輪１８と左駆動輪２０は、地面と接地し、略同軸上で回転する一対の車輪である。右駆動輪１８と左駆動輪２０が、回転することによって、移動体１００が移動する。また、右輪駆動モータ３４、及び左輪駆動モータ３６が車輪を駆動させる駆動輪モータとなる。右マウント２６、及び左マウント２８が左右の駆動輪を回転可能に支持する車台となる。
【００１９】
右輪駆動モータ３４及び左輪駆動モータ３６（以下、モータ３４、３６と称することもある。）は例えば、サーボモータである。尚、車輪用アクチュエータは、電気的なモータに限らず、空圧、油圧を使用したアクチュエータでもよい。なお、以下の説明において、右駆動輪１８と左駆動輪２０をまとめて、駆動輪と呼ぶこともある。
【００２０】
また、右マウント２６は、右輪エンコーダ５２を備えている。右輪エンコーダ５２は、右駆動輪１８の回転量としての回転角を検出する。左マウント２８は、左輪エンコーダ５４を備えている。左輪エンコーダ５４は、左駆動輪２０の回転量としての回転角を検出する。
【００２１】
右スイングアーム１７は、右上リンク２１と、右スイング軸６２と、右スイングアーム駆動モータ６０を有している。左スイングアーム１９は、左上リンク２２と、左スイング軸６６と、左スイングアーム駆動モータ６４を有している。車体１２の下部には、右上リンク２１及び左上リンク２２が固定されている。右上リンク２１には、右スイングアーム駆動モータ６０が固定され、右スイング軸６２を介して、回転軸Ｃ４回りに、右スイングアーム１７を駆動する。左スイング軸６６には、左スイングアーム駆動モータ６４が固定され、左スイング軸６６を介して、回転軸Ｃ５周りに左スイングアーム１９を駆動する。このように、右スイングアーム１７には、回転軸Ｃ４回りに回転する回転関節が設けられ、左スイングアーム１９には、回転軸Ｃ５回りに回転する回転関節が設けられている。右スイングアーム１７及び左スイングアーム１９（以下、スイングアーム１７、１９と称することもある。）に設けられた関節をスイングアーム関節とする。
【００２２】
車体１２には、搭乗席駆動モータ７０、ラックアンドピニオン７２、ジャイロセンサ４８、及び搭乗席７４が取り付けられている。また、車体１２には、対向して、右上リンク２１及び左上リンク２２が取り付けられている。
【００２３】
車体１２の中央近傍には、ラックアンドピニオン７２が設けられている。ラックアンドピニオンのラックは、前後方向に沿って設けられている。ラックアンドピニオン７２によって、搭乗席７４が支持されている。即ち、搭乗席７４は、ラックアンドピニオン７２を介して車体１２に取り付けられている。搭乗席７４は、搭乗者が座ることができる椅子の形状を有する。
【００２４】
車体１２の上部には、搭乗席駆動モータ７０が固定されている。搭乗席７４と搭乗席駆動モータ７０は、ラックアンドピニオン７２によって連結されている。搭乗席駆動モータ７０は、回転軸Ｃ３回りに回転する。これにより、ラックアンドピニオン７２のピニオンに回転力が加えられる。搭乗席駆動モータ７０の回転運動は、ラックアンドピニオン７２によって、直線運動に変換される。すなわち、搭乗席駆動モータ７０を駆動すると、車体１２に対する搭乗席７４の位置が前後にスライドする。このとき、搭乗席７４と搭乗者又は搭乗物との合成重心位置が、車体１２に対して前後に変化する。なお、車体１２に対して、搭乗席７４と搭乗者又は搭乗物との合成重心位置を変化させる手段としては、スライド機構の他に、回転軸機構、旋回機構などで実現することも可能である。また、搭乗席駆動モータ７０の動力をギアやベルトやプーリなどを介して、搭乗席７４に伝達してもよい。ここで、搭乗席駆動モータ７０によって前後に移動する構成全体を車体部７７とする。車体部７７には、搭乗席７４や操作モジュール４６等が含まれる。もちろん、車体１２を駆動するアクチュエータを備える場合は、車体部７７に車体１２も含まれる。また、搭乗席駆動モータ７０には、スライド位置を計測するためのエンコーダ（図示せず）が設けられている。
【００２５】
回転軸Ｃ３は回転軸Ｃ１及びＣ２と平行であり、回転軸Ｃ１及びＣ２の上方に位置する。回転軸Ｃ３と回転軸Ｃ１との間に右スイングアーム１７が設けられ、回転軸Ｃ３と回転軸Ｃ２との間に左スイングアーム１９が設けられている。右スイングアーム駆動モータ６０は、右スイングアーム１７を回転軸Ｃ４回りに回転させ、左スイングアーム駆動モータ６４は、左スイングアーム１９を回転軸Ｃ５回りに回転させる。通常の走行時には、回転軸Ｃ１〜回転軸Ｃ５は水平になっている。
【００２６】
さらに、移動体１００には、転倒を防止するために、２つの補助輪５１が設けられている。補助輪５１は、補助輪支持ブロック５５に対して回転可能に支持されている。そして、補助輪支持ブロック５５は車体１２に取り付けられている。ここでは、一方の補助輪５１は、駆動輪の前方側に配置され、他方の補助輪５１は駆動輪の後方側に配置されている。補助輪５１は、従動輪であり、移動体１００の移動にしたがって回転する。
【００２７】
通常の走行を開始するときには、スイングアーム関節を伸ばすことによって、補助輪５１を離地させる。すなわち、車体１２が上方に移動するように、スイングアーム関節を移動して、補助輪５１を上方に移動させる。停止状態では、スイングアーム関節を縮めることによって、補助輪５１を接地させる。すなわち、スイングアーム関節を屈曲させていくことで、車体１２が地面に近づき、補助輪５１が下方に移動する。このように、補助輪５１を上下に移動させることで、補助輪５１が接地した接地状態と、離地して二輪で走行する離地状態とを切換えることができる。このように、移動体１００は、立ち上がり時にスイングアームを使って、４輪の接地状態から２輪状態の離地状態へと移行していく。
【００２８】
一方の補助輪５１の回転軸は、回転軸Ｃ１、Ｃ２よりも前側上方にあり、他方の補助輪５１の回転軸は、回転軸Ｃ１，Ｃ２よりも後側上方にある。すなわち、補助輪５１の一方は、駆動輪の車軸よりも前方に配置され、他方は、駆動輪の車軸よりも後方に配置される。これにより、移動体１００が前後に転倒するのを防止することができる。なお、補助輪以外の接地部材によって、転倒を防止してもよい。例えば、前後方向に突出したストッパなどで転倒を防止することができる。このように、駆動輪の前側、及び後側の少なくとも一方に、接地可能な転倒防止部材を設ければよい。
【００２９】
車体１２には、バッテリーモジュール４４と、センサ５８が収納されている。センサ５８は、例えば、光学式の障害物検知センサであり、移動体１００の前方に障害物を検知すると、検知信号を出力する。また、センサ５８は、障害物センサ以外のセンサであってもよい。例えば、センサ５８として、加速度センサを用いることも可能である。もちろん、センサ５８として、２以上のセンサが用いられていてもよい。センサ５８は移動体１００の状態に応じて変化する変化量を検出する。バッテリーモジュール４４は、センサ５８、ジャイロセンサ４８、右輪駆動モータ３４、左輪駆動モータ３６、右スイングアーム駆動モータ６０、左スイングアーム駆動モータ６４、搭乗席駆動モータ７０、及び制御部８０等に対して電力を供給する。
【００３０】
車体１２上には、ジャイロセンサ４８が設けられている。ジャイロセンサ４８は、車体１２の傾斜角に対する角速度を検出する。ここで、車体１２の傾斜角は、移動体１００の重心位置が車軸３０、３２の鉛直上方に伸びる軸からの傾斜度合いであり、例えば移動体１００の進行方向前方に車体１２が傾斜している場合を「正」とし、移動体１００の進行方向後方に車体１２が傾斜している場合を「負」として表わす。したがって、車体１２が水平になっている状態では、傾斜角度が０°になる。そして、通常の走行時には、傾斜角度の制御目標値が０°なっている。この制御目標値に追従するように、フィードバック制御されている。また、前後方向における傾斜角度を移動体１００の姿勢の傾斜角度とする。
【００３１】
また、進行方向の前後方向に加えて、左右方向の傾斜角速度はロール、ピッチ、ヨーの３軸のジャイロセンサ４８を用いて測定される。このように、ジャイロセンサ４８は、車体１２の傾斜角の変化を、車体１２の傾斜角速度として測定する。もちろん、ジャイロセンサ４８は他の箇所に取り付けられていてもよい。ジャイロセンサ４８で測定された傾斜角速度は、移動体１００の姿勢の変化に応じて変化する。即ち、傾斜角速度は、車軸の位置に対する車体１２の重心位置に応じて変化する変化量である。従って、外乱などによって、姿勢の傾斜角度が急激に変化すると、傾斜角速度の値が大きくなる。
【００３２】
搭乗席７４の側面には、操作モジュール４６が設けられている。操作モジュール４６には、操作レバー（図示せず）及びブレーキレバー（図示せず）が設けられている。操作レバーは、搭乗者が移動体１００の走行速度や走行方向を調整するための操作部材である、搭乗者は、操作レバーの操作量を調整することによって移動体１００の移動速度を調整することができる。また、搭乗者は、操作レバーの操作方向を調整することによって移動体１００の移動方向を指定することができる。移動体１００は、操作レバーに加えられた操作に応じて、前進、停止、後退、左折、右折、左旋回、右旋回することができる。搭乗者がブレーキレバーを倒すことによって、移動体１００を制動することができる。移動体１００の進行方向は、水平面内において、車軸３０、３２と垂直な方向になる。また、操作モジュール４６には、制御モードを切換えるスイッチが設けられている。
【００３３】
さらに、搭乗席７４の背もたれ部分には、制御部８０が実装されている。制御部８０は、搭乗者が操作モジュール４６に対して行なった操作に追従して、右輪駆動モータ３４及び左輪駆動モータ３６を制御し、移動体１００の走行（移動）を制御する。制御部８０は、操作モジュールでの操作に応じて、右輪駆動モータ３４及び左輪駆動モータ３６を制御する。これにより、操作モジュール４６での操作に応じた加速度、速度指令値で右輪駆動モータ３４及び左輪駆動モータ３６が駆動する。
【００３４】
制御部８０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、通信用のインターフェースなどを有し、移動体１００の各種動作を制御する。そして、この制御部８０は、例えばＲＯＭに格納された制御プログラムに従って各種の制御を実行する。制御部８０は、操作モジュール４６での操作に応じて、所望の加速度、及び目標速度になるように、また、移動体１００が倒立を維持するように、ロバスト制御、状態フィードバック制御、ＰＩＤ制御などの周知のフィードバック制御により、右輪駆動モータ３４及び左輪駆動モータ３６を制御する。これにより、移動体１００が、操作モジュール４６での操作に応じて加減速しながら走行する。
【００３５】
すなわち、操作モジュール４６は、搭乗者の操作によって与えられた操作量を取得し、この操作量を操作信号として、制御部８０に出力する。そして、制御部８０は、操作信号に基づいて、移動体１００の目標加速度や、目標速度を算出し、これに追従するように、移動体１００をフィードバック制御する。これにより、移動体１００を倒立させつつ、移動させることができる。
【００３６】
また、制御部８０は、右輪駆動モータ３４、左輪駆動モータ３６、右スイングアーム駆動モータ６０、左スイングアーム駆動モータ６４、及び搭乗席駆動モータ７０を制御する。ここで、搭乗席駆動モータ７０が右輪駆動モータ３４及び左輪駆動モータ３６と協調して動作するよう、制御部８０が制御を行う。すなわち、倒立を安定させるように、駆動輪を回転駆動するとともに搭乗席７４をスライド移動させる。これにより、車体１２の傾斜角度が小さくなり、倒立を安定させることができる。このようにして、搭乗席駆動モータ７０が右スイングアーム駆動モータ６０、左スイングアーム駆動モータ６４、及び搭乗席駆動モータ７０と協調して動作する。
【００３７】
次に、上記の制御を行う制御部８０の構成について図３を用いて説明する。図３は、制御部８０を含む制御系の構成を示すブロック図である。図３に示すように、制御部８０は、スイングアーム制御部８１と、駆動輪・スライド協調制御部８２とを備えている。また、センサ類８３は、移動体１００に設けられている各種センサを示すものであり、例えば、ジャイロセンサ４８、右輪エンコーダ５２、左輪エンコーダ５４、センサ５８等を含んでいる。そして、制御部８０は、倒立制御計算を行い、制御目標値を算出する。そして、制御目標値と現在値との偏差を求める。尚、現在値は、例えば、センサ類８３からの出力に基づいて算出することができる。そして、この偏差に所定のフィードバックゲインを乗じて、フィードバック制御を行う。
【００３８】
また、移動体１００には、各モータを駆動制御するアンプが設けられている。ここで、右輪駆動モータ３４、左輪駆動モータ３６、右スイングアーム駆動モータ６０、左スイングアーム駆動モータ６４、搭乗席駆動モータ７０に設けられているアンプをそれぞれ、アンプ３４ａ、アンプ３６ａ、アンプ６０ａ、アンプ６４ａ、アンプ７０ａとする。各アンプは、制御部８０からの制御信号に基づいて動作する。制御部８０は、搭乗席駆動モータ７０のアンプ７０ａにスライド速度やスライド位置やスライド力に応じた制御信号を出力する。また、モータ３４、３６のアンプ３４ａ、３６ａに車輪トルクに応じた制御信号を出力する。
【００３９】
スイングアーム制御部８１は、右スイングアーム駆動モータ６０、及び左スイングアーム駆動モータ６４を制御する。例えば、スイングアーム制御部８１は制御信号を出力して、スイングアームが伸縮するようにスイングアーム関節６７を駆動する。これにより、補助輪５１が接地している接地状態と、離地している離地状態とを切換えることができる。また、傾斜面を走行するときは、ジャイロセンサ４８などの出力に基づいて、制御信号を出力する。これにより、傾斜面の角度が吸収され、車体１２が水平になる。スイングアーム制御部８１からの制御信号は、アンプ６０ａ、６４ａを介して、右スイングアーム駆動モータ６０、左スイングアーム駆動モータ６４に入力され、右スイングアーム駆動モータ６０、左スイングアーム駆動モータ６４が駆動する。なお、スイングアーム関節の回転角を検出するエンコーダを設けて、フィードバック制御してもよい。すなわち、スイングアーム関節６７の関節角度や関節角速度に応じてフィードバック制御することができる。
【００４０】
駆動輪・スライド協調制御部８２は、右輪駆動モータ３４、左輪駆動モータ３６、及び搭乗席駆動モータ７０を協調して制御する。すなわち、駆動輪・スライド協調制御部８２は、右輪駆動モータ３４、左輪駆動モータ３６、及び搭乗席駆動モータ７０に対する制御目標値を算出する。例えば、姿勢の傾斜角度、姿勢の傾斜角速度、並びに駆動輪の回転速度、及び搭乗席７４のスライド速度が制御目標値として算出される。車体１２の傾斜角速度は、ジャイロセンサ４８で測定される。そして、傾斜角速度を積分することによって、車体１２の傾斜角度が求まる。例えば、倒立走行時には、姿勢の目標傾斜角度が０°になるようにフィードバック制御する。また、その場で停止させる場合は、目標傾斜角速度が０になるようにフィードバック制御する。
【００４１】
また、駆動輪７８の回転速度は、右輪エンコーダ５２、及び左輪エンコーダ５４の出力によって、求めることができる。スライド機構６８のスライド速度は、搭乗席駆動モータ７０に設けられているエンコーダの出力により求めることができる。また、スライド機構６８は、搭乗席駆動モータ７０の回転トルクにより求めることができる。そして、これらの制御目標値と、現在値との偏差に適切なフィードバックゲインをかけることで、フィードバック制御が行われる。もちろん、駆動輪・スライド協調制御部８２による、右輪駆動モータ３４、左輪駆動モータ３６、及び搭乗席駆動モータ７０の協調制御は、上記の制御に限られるものではない。
【００４２】
また、制御部８０は、接地状態から離地状態に移行する立ち上がり時において、補助輪５１が完全に離地してから、協調制御を開始する。すなわち、スイングアームの関節角度がある角度に駆動するまで、協調制御による倒立を開始しない。したがって、スイングアームの関節角度がある角度まで駆動した後に、駆動輪とスライド機構の動作が開始する。このようにすることで、立ち上がり時における、安全性を向上することができる。すなわち、補助輪５１が少しでも接地している段階では、倒立制御を行っても、姿勢の傾斜角度、及び傾斜角速度が変化しないおそれがある。傾斜角度や傾斜角速度が変化しない状態で、これらに基づいてフィードバック制御を行うと制御を安定させることができない。すなわち、駆動輪を駆動しても、傾斜角度や傾斜角速度が全く変化しないため、倒立制御が不安定になり、暴走してしまうことがある。しかしながら、本実施の形態に示すように、スイングアーム関節の角度を検出することで、補助輪の両方が確実に地面から離れていることを確認することができる。すなわち、補助輪５１が完全に離地した後に協調動作を開始することで、安全に立ち上がることが可能になる。
【００４３】
このように、制御部８０は、車体１２の高さを変更する際において、スイングアーム関節が一定の駆動量以上、駆動したか否かを判定している。すなわち、スイングアーム関節の関節角度が一定以上になったか否かを判定している。そして、一定の駆動量以上になった後に、協調制御を開始する。すなわち、ある所定の角度以上、スイングアーム関節を駆動したら、協調制御の計算を開始する。したがって、スイングアーム関節が所定の角度になるまでは、協調制御の計算を行わない。これにより、補助輪５１が地面に接触した状態で倒立制御が行われるのを防止することができ、より安定に倒立させることができる。
【００４４】
次に、移動体１００の補助輪５１が着地状態から離地状態に移行して、移動するときの制御について図４を用いて説明する。図４（ａ）〜図４（ｅ）は、移動体１００の動作を模式的に示す側面図である。図４では、右側が移動体１００の前側になっている。なお、図４では、右駆動輪１８及び左駆動輪２０を駆動輪７８として示している。また、図４では、車体部７７をスライド移動させる機構をスライド機構６８として示し、スイングアームに設けられた回転関節をスイングアーム関節６７として示している。したがって、搭乗席駆動モータ７０及びラックアンドピニオン７２などを含むスライド機構６８を駆動することで、車体１２に対して車体部７７が前後にスライドする。さらに、車体部７７と車体１２を合わせて上体部７６としている。したがって、スイングアームによって支持されている構成全体が上体部７６となる。また、図４では、車体１２の重心位置をＧ１、車体部７７の重心位置をＧ２、上体部７６の重心位置（車体１２と車体部７７の合成重心位置）をＧ３として示している。
【００４５】
まず、接地状態（４輪接地）から離地状態（２輪接地）に移行するため、図４（ａ）に示すように、スイングアーム関節６７を駆動する。すなわち、右スイングアーム駆動モータ６０、及び左スイングアーム駆動モータ６４を回転させて、各スイングアームを伸ばしていく。これにより、車体１２が地面から離れて行き、補助輪支持ブロック５５を介して車体１２に取り付けられた補助輪５１が上方に移動する。このとき、上体部７６の重心位置（車体部７７と車体１２の合成重心位置）が車軸の鉛直線上から前方にずれて、移動体１００が前傾姿勢になる。このため、初めに後方側の補助輪５１が離地し、その次に前方側の補助輪５１が離地していくことになる。
【００４６】
そして、スイングアーム関節６７の角度（スイングアーム角）を検出して、スイングアーム関節６７が動作しているか否かを判定する。例えば、右スイングアーム駆動モータ６０、及び左スイングアーム駆動モータ６４に設けられているエンコーダによって、アーム角を検出することができる。補助輪５１が一定高さ以上になったら、図４（ｂ）に示すように、協調制御を開始する。これにより、前傾姿勢を元に戻そうとして、駆動輪７８が前方に回転する。また、スライド機構６８が後方にスライド移動する。すなわち、スイングアーム関節６７の関節角度をしきい値以上駆動したら、スライド機構６８及び駆動輪７８の駆動を開始する。ここでは、協調制御により制御目標値を算出して、この制御目標値に追従するように、フィードバック制御する。協調制御では、スライド機構６８の動作と、駆動輪７８の動作が作用・反作用の関係を持ち、位置ずれを小さくさせる条件を満足するように、駆動輪７８の駆動トルクと、スライド力の制御量を算出する。すると、姿勢を元に戻そうとして、駆動輪７８が前方に回転するとともに、スライド機構６８がスライド移動する。ここでは、移動体１００が前傾姿勢になっているため、車体部７７が後方にスライドしていく。すなわち、上体部７６の重心位置Ｇ３（車体１２と車体部７７の合成重心位置）が車軸の鉛直線上に近づくように、スライド機構６８が制御される。スライド機構６８が後方にスライドすると、車体部７７の重心位置Ｇ２が後方に倒れていく。
【００４７】
さらに、後方へのスライドを継続すると、傾斜角速度の変化が大きくなる。すなわち、
重心位置Ｇ３が後方に倒れていく。そのまま、駆動輪７８を前方に回転させながら、後方へのスライドを継続すると、後傾姿勢になってしまう。すなわち、重心位置Ｇ３が車軸の鉛直線上を超えて、傾斜角度が負になってしまう。そこで、傾斜角度が負になるのを防ぐため、スライド機構６８を前方に駆動する。すなわち、図４（ｃ）に示すように、車体部７７を前方にスライド移動させる。これにより、車体部７７の重心位置Ｇ２が前方に移動していく。これまでの間、協調制御によって、駆動輪７８が前方に回転している。したがって、移動体１００が前方に移動している。
【００４８】
スライド機構６８を前方に駆動すると、今度は、重心位置Ｇ３が前方に倒れていく。そのまま、駆動輪７８を前方に回転させながら、前方へのスライドを継続すると、前傾姿勢に戻ってしまう。すなわち、重心位置Ｇ３が車軸の鉛直線上を超えて、傾斜角度が正になってしまう。そこで、傾斜角度が正になるのを防ぐため、スライド機構６８を後方に駆動する。すなわち、図４（ｄ）に示すように、車体部７７を後方にスライド移動させる。
【００４９】
このようにして、目標位置に収束するまで、フィードバック制御する。すなわち、図４（ｅ）に示すように、傾斜角度が目標傾斜角度（例えば、０°）になって、倒立が安定するまでフィードバック制御する。このように、スライド機構６８の駆動を前方、及び後方に駆動させる。すなわち、駆動輪７８を回転させながら、後方へのスライド移動と前方へのスライド移動を繰り返し行う。これにより、傾斜角度が目標傾斜角度になるように、移動体１００の姿勢が収束していく。また、その場で停止させる場合は、傾斜角速度が０になるようにフィードバック制御する。
【００５０】
なお、上記のように、スライド機構６８の駆動に対する制御目標値をスライド速度とすることできる。あるいは、スライド機構６８の駆動に対する制御目標値をスライド位置やスライド力（モータトルク）としてもよい。また、駆動輪７８に対する指令は、車輪トルク値とすることができる。
【００５１】
次に、本実施の形態にかかる移動体１００の制御方法について、図５を用いて説明する。図５は、制御方法を示すフローチャートである。まず、スイングアームの動作を開始する（ステップＳ１０１）。すなわち、スイングアーム関節６７の角度を変えて、補助輪５１を地面から離していく。これにより、接地状態から離地状態へ移行していく。アーム角の判定を行い（ステップＳ１０２）、スイングアーム関節６７のアーム角を測定して、アーム角が許容範囲内か否かを判定する（ステップＳ１０３）。アーム角が許容範囲内になると、補助輪５１の高さが地面からしきい値以上離れることになる。具体的には、まず、スイングアーム関節６７の関節角度がしきい値を超えているか否かを判定する。すなわち、スイングアーム関節６７に設けられているエンコードなどによって、スイングアーム関節６７の関節角度（アーム角）を測定する。そして、測定した関節角度としきい値とを比較する。スイングアーム関節６７の駆動直後は、右スイングアーム駆動モータ６０、及び左スイングアーム駆動モータ６４の駆動量が小さいため、許容範囲を越える。すなわち、アーム角が許容範囲外となり、ステップＳ１０２のアーム角判定に戻る。そして、許容範囲内になるまで、スイングアーム関節６７を駆動する。
【００５２】
そして、スイングアーム関節６７の関節角度が許容範囲内になった場合、倒立制御を開始する（ステップＳ１０４）。すなわち、スイングアーム関節６７の関節角度を駆動していくと、駆動量が大きくなっていく。これにより、アーム角が許容範囲内となり、補助輪５１が一定の高さ以上、地面から離れるていることが確認される。すなわち、スイングアーム関節６７の関節角度が許容範囲内になってから駆動輪７８、及びスライド機構６８の駆動を開始する。許容範囲内になった後は、倒立制御を開始して、制御目標値を算出する。上記のように、姿勢の傾斜角度、姿勢の傾斜角速度、駆動輪の回転速度、スライド機構６８のスライド量が制御目標値として算出される。
【００５３】
そして、上記の制御目標値に基づいて、駆動輪７８、及びスライド機構６８を駆動する（ステップＳ１０５）。すなわち、制御目標値に追従するように、駆動輪７８、及びスライド機構６８の駆動を制御する。例えば、各モータの駆動トルクが指令値として与えられ、フィードバック制御が行われる。そして、目標位置に収束したか否かを判定する（ステップＳ１０６）。目的位置に収束した場合は、制御を終了し、収束していない場合は、ステップＳ１０４からの処理を繰り返す。例えば、スイングアーム関節６７が目標角度になり、移動体１００が操作モジュール４６からの入力に応じた目標位置や目標速度になったか否かを判定する。あるいは、その場に停止する場合は、傾斜角度が目標傾斜角度、傾斜角速度が０に収束するまでフィードバック制御する。このように制御することが、より安全に、補助輪５１を立ち上げることができる。
【００５４】
次に、駆動輪７８とスライド機構６８の協調制御の一例について、説明する。本実施の形態では、２輪台車モデルから出てくる運動方程式を利用し、モデルベースで制御する。具体的には、傾斜角度η、駆動輪７８の回転角度θ、スライド機構６８のスライド位置ｓとすると、それぞれ、以下の方程式（１）〜（３）に基づいて、制御目標値を制御することができる。
【００５５】
【数１】
2009101899.tif 000003
【数２】
2009101899.tif 000004
【数３】
2009101899.tif 000005
【００５６】
なお、式（１）〜（３）では、図６に示すように、ｍｗを駆動輪の質量、Ｊｗを駆動輪７８の慣性モーメント、ｍ１を車体１２の質量、Ｊ１を車体１２の慣性モーメント、ｍ２を車体部７７の質量、Ｊ２を車体部７７の慣性モーメント、ｒを駆動輪７８の半径、ｌ１を駆動輪の中心から車体１２の重心までの距離、ｌ２を車体１２の重心から車体部７７の重心までの距離、ｆｒ１を駆動輪７８と車体１２との粘性摩擦係数、ｆｒ２をスライド機構６８の粘性摩擦係数、Ｊｍ１は、モータ３４、３６の慣性モーメント、Ｊｍ２は搭乗席駆動モータ７０の慣性モーメント、ｎ１は駆動輪７８のギア比、ｎ２はスライド機構６８の減速比、ｇは重力加速度である。このようにして、モータ３４、３６の駆動トルクｕ１、及び搭乗席駆動モータ７０の駆動トルクｕ２を求めることができる。そして、これらの駆動トルクをスイングアーム関節６７、及び駆動輪７８のモータに指令値として出力して、フィードバック制御を行う。
【００５７】
なお、上記の説明では、補助輪５１を接地させる構成の移動体について説明したが、補助輪５１以外の構成を接地させていてもよい。例えば、転倒防止部材としてのストッパを駆動輪７８の前後に設けてもよい。すなわち、地面と接地可能な接地部材が駆動輪７８と前後に離間して設けられている構成であればよい。そして、地面と接地する接地部材を持ち上げる立ち上げ動作のときに、上記の処理を行う。これにより、立ち上がり動作時の安定性を向上することができる。また、スイングアームによって車体１２の高さを変える構成に限らず、補助輪やストッパ自体を駆動して、立ち上げ動作を行ってもよい。この場合、補助輪などが車体１２に対して移動することになる。さらには、離地状態から接地状態へと移行させる際に、上記の処理を行ってもよい。
【００５８】
本実施の形態では、２輪型の移動体１００について説明したが、駆動輪の数は、これに限られるものではない。１輪型の移動体でもよく、３以上の駆動輪を有する移動体であってもよい。もちろん、スイングアームを構成するアームの本数は、２本でも、３本以上でもよい。搭乗席７４を駆動する関節は、直動関節に限られるものではなく、例えば、回動関節であってもよい。この場合、回動関節は、搭乗席７４を前後方向に回動させて、搭乗席７４及び搭乗者の重心位置を変化させる。また、前方への移動に限らず、後方への移動も同様に制御することができる。
【００５９】
上記の例では、操作者が移動体１００に搭乗しているものとして説明したが、これに限るものではない。例えば、遠隔で操縦を行なう移動体に対しても適用することができる。さらに、上記の説明では、搭乗席７４を有する移動体１００について説明したが、物体運搬用の移動台車であってもよい。もちろん、移動ロボットなどのその他の移動体であってもよい。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態にかかる移動体の構成を示す側面図である。
【図２】本発明の実施の形態にかかる移動体の構成を示す正面図である。
【図３】本発明の実施の形態にかかる移動体の制御系の構成を示すブロック図である
【図４】本発明の実施の形態にかかる移動体の姿勢を説明するための側面図である。
【図５】本発明の実施の形態にかかる移動体の制御方法を示すフローチャートである。
【図６】本発明の実施の形態にかかる移動体において、制御目標値を算出する方法を示す図である。
【符号の説明】
【００６１】
１２  車体、１７  右スイングアーム、１９  左スイングアーム、
１８  右駆動輪、２０  左駆動輪、２１  右上リンク、２２  左上リンク、
２６  右マウント、２８  左マウント、
３０  車軸、３２  車軸、３４  右輪駆動モータ、３６  左輪駆動モータ、
４１  本体部、４２  操作レバー、４３  操作角センサ、４４  バッテリモジュール、
４６  操作モジュール、４８  ジャイロセンサ、５１  補助輪、
５２  右輪エンコーダ、５４  左輪エンコーダ、５５  補助輪支持ブロック、
５８  センサ、６０  右スイングアーム駆動モータ、６２  右スイング軸
６４  左スイングアーム駆動モータ、６６  左スイング軸
６７  スイングアーム関節、６８  スライド機構、
７０  搭乗席駆動モータ、７２  ラックアンドピニオン、７４  搭乗席、
７６  上体部、７７  車体部、７８  駆動輪、
８０  制御部、８１  スイングアーム制御部、８２  駆動輪・スライド協調制御部、
８３  センサ類、１００  移動体、
【図１】
2009101899.tif 000006
【図２】
2009101899.tif 000007
【図３】
2009101899.tif 000008
【図４】
2009101899.tif 000009
【図５】
2009101899.tif 000010
【図６】
2009101899.tif 000011