(57)【要約】【課題】  機体の姿勢を安定化させるように姿勢を保持する力をアクチュエータに発生させる荷物運搬ロボットにおいて、荷物を機体重心からずれた位置においた場合でも、荷物の重心位置を自動的に移動させて水平バランスを回復できる２輪走行型荷物運搬ロボットを提供する。【解決手段】  荷物運搬ロボットの荷台にベルトコンベアを配置し荷物を姿勢の安定化方向に移動させることにより、合成重心位置が常に設計位置付近にあるように補正動作を行う結果、荷物搭載時の水平バランス崩れを防止することができ、安定した荷物運搬を実現できる。【選択図】図２
2006123854.tif 000002
【特許請求の範囲】
【請求項１】
同軸上に配置されて２つの車軸にそれぞれ連結されてそれぞれ回転可能に支持された２つの車輪と、荷物を搭載可能な荷台とを有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記姿勢センサでの検出結果に基づき上記２つの車輪をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記荷台を上記機体に対して移動可能な移動装置と、
上記機体の姿勢を安定化させるように上記アクチュエータを動作制御するとともに、上記移動装置を動作制御して上記機体の上記荷台に搭載された上記荷物を上記機体の姿勢の安定化方向に移動させる制御部と、
を有することを特徴とする２輪走行型荷物運搬ロボット。
【請求項２】
上記荷台に搭載された上記荷物の少なくとも質量を測定して検出する検出部をさらに備え、上記検出部での検出結果を基に、上記制御部での制御の下に、上記移動装置により上記荷物を上記機体の姿勢の安定化方向に移動させること特徴とする請求項１に記載の荷物搬送ロボット。
【請求項３】
上記検出部は、上記荷台に搭載された上記荷物の質量を測定して検出するとともに、上記荷物の形状を測定し又は慣性モーメントを算出して検出する検出部をさらに備え、上記検出部での検出結果を基に、上記制御部での制御の下に、上記移動装置により上記荷物を上記機体の姿勢の安定化方向に移動させること特徴とする請求項１に記載の荷物搬送ロボット。
【請求項４】
上記制御部は、上記荷台が水平方向沿いとなるように上記荷台に搭載された上記荷物を移動させる上記移動装置を駆動して上記機体の姿勢を安定化させることを特徴とする請求項１〜３のいずれか１つに記載の荷物搬送ロボット。
【請求項５】
上記荷台がベルトコンベアであり、上記移動装置は上記ベルトコンベアを駆動する駆動装置であることを特徴とする、請求項１〜４のいずれか１つに記載の荷物運搬ロボット。
【請求項６】
上記荷台が直動ステージであることを特徴とする請求項１〜４のいずれか１つに記載の荷物運搬ロボット。
【請求項７】
上記制御部は、上記荷物の運搬が終了したとき、上記荷台に上記荷物を搭載した位置まで上記荷物を戻すように上記移動装置を駆動制御することを特徴とする請求項１〜６のいずれか１つに記載の荷物運搬ロボット。
【請求項８】
上記機体は、上記機体を支持する支持位置と該支持位置から退避した退避位置との間で昇降可能な支持脚を、上記機体がさらに有して、
上記荷台に対して上記荷物を搭載又は取り出すときには上記支持脚が上記支持位置に位置して上記機体を支持する一方、上記車輪により荷物運搬走行時には上記支持脚が上記退避位置に位置することを特徴とする請求項１〜７のいずれか１つに記載の荷物運搬ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、荷物運搬作業を行うロボットのうち、本来不安定な２輪走行用機体を制御の力によってバランスするタイプのロボットに対して、荷物を安定して運ぶための機構技術、制御技術、計測技術を備えた荷物運搬ロボットに関するものである。
【背景技術】
【０００２】
［第１従来例］
従来の不安定な機体を制御によってバランスを取る人間と共存する自律ロボットとしては、同軸２輪による倒立走行ロボットが有名である。その基本構成を図３４、図３５に示す。なお、図３４、図３５は特許文献１に記載されている。
【０００３】
図３４はロボットの斜視図、図３５は側面図である。図３４に示すように車軸１０１の両端には一対の車輪１０２，１０３が止着されており、車軸１０１には四角枠形状の車体１０４が傾動可能に支持されている。車体１０４の上部には支軸１０５が回動可能に架設支持されており、支軸１０５の中央には姿勢制御アーム１０６が吊下固定されていると共に、姿勢制御アーム１０６の下端には重錘１０６ａが取り付けられている。重錘１０６ａ直下にて車体１０４には正逆転可能な車輪駆動用モータ１０７が装着されており、図３５に示すようにその駆動軸１０７ａと車軸１０１との間には減速歯車列１０８が介在されている。これにより車輪駆動用モータ１０７の回転駆動が減速して車軸１０１に伝達され、車輪１０２，１０３が正逆回転する。支軸１０５の直上にて車体１０４には正逆転可能な姿勢制御アーム駆動用モータ１０９が装着されており、その駆動軸１０９ａと支軸１０５との間には減速歯車列１１０が介在されている。これにより姿勢制御アーム駆動用モータ１０９の回転駆動が減速して支軸１０５に伝達され、姿勢制御アーム１０６が前後に揺動する。
【０００４】
車体１０４の一側面には第１のロータリエンコーダ１１１が設けられており、その回転軸１１１ａが車軸１０１の延長線上に設定されている。回転軸１１１ａには一対の接触片１１２，１１３が直角状態に取付けられており、それらの先端が床面に摺動可能に接触している。これにより鉛直線に対する車体１０４の傾斜角度が検出される。車輪駆動用モータ１０７には第２のロータリエンコーダ１１４が装着されていると共に、姿勢制御アーム駆動用モータ１０９には第３のロータリエンコーダ１１５が装着されており、両モータ１０７，１０９の回転角度、即ち車輪１０２，１０３の回転角度、鉛直線に対する傾斜角度、及びアーム１０６の車体１０４に対する角度が検出される。
【０００５】
車体１０４の下部にはマイクロコンピュータからなる制御コンピュータ１１６が搭載されており、上記各ロータリエンコーダ１１１，１１４，１１５の検出信号が入力される。制御コンピュータ１１６はこれら入力信号に基づいて車輪駆動用モータ１０７及び姿勢制御アーム駆動用モータ１０９の制御トルクを算出し、これら制御トルク相当の作動を車輪駆動用モータ１０７及び姿勢制御アーム駆動用モータ１０９に指令する。
【０００６】
より具体的には、エンコーダ１１１，１１４，１１５より検出される角度はロボットの姿勢を表す状態変数となるので、この値にあらかじめロボットの力学モデルを姿勢角を安定化する最適レギュレータ問題として算出した状態フィードバック係数を掛け合わせ、車輪駆動用モータ１０７，アーム駆動用モータ１０９に対する制御トルクが求まる。なお、ロボットの力学モデルの制御トルク入力を変更することで、つぎの３つの場合に対応する状態フィードバック係数が求まる。（１）車輪駆動用モータ１０７のみを制御する場合、（２）姿勢制御アーム駆動用モータ１０９のみを制御する場合、（３）車輪駆動用モータ１０７，姿勢制御アーム駆動用モータ１０９の両方を同時に制御する場合、である。発明者らによると、（３）が最も制御性能が良く、車体が傾動すれば車輪が車体の傾動方向に向かって移動すると共に、姿勢制御アームが車体の傾動方向と反対側へ回動し、車体の水平バランス復元が確実に行われるとしている。また、発明者らは、（２）の制御性能が最も悪いとしており、この理由として、モータ１０９に続く減速歯車１１０のバックラッシュが大きく、制御対象の非線形性が大きくなりすぎるため十分な制御ができないことを挙げている。
【０００７】
［第２従来例］
図３６は特許文献２に開示されている椅子形状の乗り物の斜視図である。図３６に示すように、椅子形状搬送装置２１１は略球形状の球状回転体２１７と、球状回転体２１７上に設けられた筐体２１３並びに、操車者２１２を保持するための部材である座席２１４を有する部材である。筐体２１３には球状回転体２１７を駆動する駆動部、筐体２１３の姿勢（傾き角度）を検出する図示しない傾き角度センサが設けられている。センサ部が筐体２１３の垂線に対する傾き角度に応じた信号を検出し、制御部が筐体２１３の傾き角度に応じた信号に応じて駆動部に駆動信号を出力して略球状の回転体２１７を回転させることにより筐体２１３の姿勢及び移動を制御する。操車者２１２が、前傾、後傾等の姿勢を取ることにより体重を移動した場合に重心の移動が筐体２１３に正確に伝り、上記の姿勢制御とあいまって、操車者２１２の意図する方向に椅子形状搬送装置２１１は走行していく。
【０００８】
図３７は、椅子形状搬送装置３３１の重心位置を変更するための部材である第１カウンタウェイト部３４９ｃ、第２カウンタウェイト部３４９ｂを、椅子形状搬送装置３３１の筐体３３３に設けた様子を示す内視図である。第１カウンタウェイト部３４９ｃはｘ軸方向に重量の移動を行うように配置され、第２カウンタウェイト部３４９ｂはｙ軸方向に重量の移動を行うように配置されている。このため、第１カウンタウェイト部３４９ｃと第２カウンタウェイト部３４９ｂとにより二次元的に重心位置の変更を行うことが出来る。以上の構成で、操車者の着座位置が予定位置からずれて、操車者の重心と搬送装置３３１の重心が一致しない場合に発生する筐体３３の傾きに対し、制御部が筐体３３３の傾き角度に応じた信号に応じてカウンタウエイト駆動信号を出力して筐体３３３の水平バランスを回復することができる。
【０００９】
【特許文献１】特許第２５３０６５２号公報（第１図、第２図）
【特許文献２】特開２００４−１２９４３５号公報（第１図、第２７図）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来の構成では、アームの先端に取り付けた錘の位置を動かしたり、またあらかじめ機体内部に組み込まれたカウンタバランスを動かすことによって水平バランスを回復しており、質量がカウンタバランス以上に大きい荷物を搭載した場合、これらの錘やカウンタバランスを動かすだけでは水平を回復できない恐れがあるという課題を有していた。また、仮にカウンタバランスや錘の質量を十分に大きくしようとすると、機体重量が増大し移動体としての運動性能を阻害するという課題を有していた。
【００１１】
本発明は、上記従来の課題を解決するもので、本来不安定な機体を制御の力によってバランスするタイプの２輪走行型荷物搬送ロボットにおいて、仮に質量が不明な荷物を荷台に搭載して荷物の重心と機体の重心とがずれたとしても、その荷物の重心位置を自動的に移動させて水平バランスを回復することができる２輪走行型荷物運搬ロボットを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明は以下のように構成する。
【００１３】
上記従来の課題を解決するために、本発明によれば、同軸上に配置されて２つの車軸にそれぞれ連結されてそれぞれ回転可能に支持された２つの車輪と、荷物を搭載可能な荷台とを有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記姿勢センサでの検出結果に基づき上記２つの車輪をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記荷台を上記機体に対して移動可能な移動装置と、
上記機体の姿勢を安定化させるように上記アクチュエータを動作制御するとともに、上記移動装置を動作制御して上記機体の上記荷台に搭載された上記荷物を上記機体の姿勢の安定化方向に移動させる制御部と、
を有することを特徴とする２輪走行型荷物運搬ロボットを提供する。
【００１４】
本構成によって、いかなる重さの荷物が、どれほど機体重心位置から外れた場所に置かれたとしても、移動装置が移動可能な範囲である限り、荷台の水平バランスを維持することができる。
【発明の効果】
【００１５】
本発明の２輪走行型荷物運搬ロボットで、人間が荷物を例えば荷台の手前側に置き、荷物重心と機体重心が大きくずれている場合でも、その荷物を制御部での制御の下に移動装置で自動的に移動させて、荷物重心と機体重心と一致させることにより、走行中の荷台を常に水平に保つことができる。静止時に水平バランスを保つことができれば、走行時にも姿勢制御型の倒立ロボットの特性から、荷物にかかる重力と慣性力の和は荷台に対して常に垂直となり、荷物の横滑りや荷崩れがなくなる。
【００１６】
また、人間への荷物の返却の際にも、荷物を人間側に移動するようにすれば、人間との荷物の受け渡しを容易にする効果もある。
【００１７】
さらに、狭い場所に入ってバランスを取る必要がある場合は、車輪を停止し荷物を前後に移動するようにすれば、機体を大きく移動することなくバランス制御が可能となるという効果もある。
【発明を実施するための最良の形態】
【００１８】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する前に本発明の種々の態様について説明する。
【００１９】
本発明の第１態様によれば、同軸上に配置されて２つの車軸にそれぞれ連結されてそれぞれ回転可能に支持された２つの車輪と、荷物を搭載可能な荷台とを有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記姿勢センサでの検出結果に基づき上記２つの車輪をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記荷台を上記機体に対して移動可能な移動装置と、
上記機体の姿勢を安定化させるように上記アクチュエータを動作制御するとともに、上記移動装置を動作制御して上記機体の上記荷台に搭載された上記荷物を上記機体の姿勢の安定化方向に移動させる制御部と、
を有することを特徴とする２輪走行型荷物運搬ロボットを提供する。
【００２０】
本発明の第２態様によれば、上記荷台に搭載された上記荷物の少なくとも質量を測定して検出する検出部をさらに備え、上記検出部での検出結果を基に、上記制御部での制御の下に、上記移動装置により上記荷物を上記機体の姿勢の安定化方向に移動させること特徴とする第１の態様に記載の荷物搬送ロボットを提供する。
【００２１】
本発明の第３態様によれば、上記検出部は、上記荷台に搭載された上記荷物の質量を測定して検出するとともに、上記荷物の形状を測定し又は慣性モーメントを算出して検出する検出部をさらに備え、上記検出部での検出結果を基に、上記制御部での制御の下に、上記移動装置により上記荷物を上記機体の姿勢の安定化方向に移動させること特徴とする第１の態様に記載の荷物搬送ロボットを提供する。
【００２２】
本発明の第４態様によれば、上記制御部は、上記荷台が水平方向沿いとなるように上記荷台に搭載された上記荷物を移動させる上記移動装置を駆動して上記機体の姿勢を安定化させることを特徴とする第１〜３のいずれか１つの態様に記載の荷物搬送ロボットを提供する。
【００２３】
本発明の第５態様によれば、上記荷台がベルトコンベアであり、上記移動装置は上記ベルトコンベアを駆動する駆動装置であることを特徴とする、第１〜４のいずれか１つの態様に記載の荷物運搬ロボットを提供する。
【００２４】
本発明の第６態様によれば、上記荷台が直動ステージであることを特徴とする第１〜４のいずれか１つの態様に記載の荷物運搬ロボットを提供する。
【００２５】
本発明の第７態様によれば、上記制御部は、上記荷物の運搬が終了したとき、上記荷台に上記荷物を搭載した位置まで上記荷物を戻すように上記移動装置を駆動制御することを特徴とする第１〜６のいずれか１つの態様に記載の荷物運搬ロボットを提供する。
【００２６】
本発明の第８態様によれば、上記機体は、上記機体を支持する支持位置と該支持位置から退避した退避位置との間で昇降可能な支持脚を、上記機体がさらに有して、
上記荷台に対して上記荷物を搭載又は取り出すときには上記支持脚が上記支持位置に位置して上記機体を支持する一方、上記車輪により荷物運搬走行時には上記支持脚が上記退避位置に位置することを特徴とする第１〜７のいずれか１つの態様に記載の荷物運搬ロボットを提供する。
【００２７】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００２８】
（第１実施形態）
図１は本発明の第１実施形態における荷物搬送ロボット６７の斜視図、図２は側面図、図３の（ａ）、図３の（ｂ）、図３の（ｃ）はロボット６７の側面図、正面図、下面図である。図１、図２、図３において、１ａ、１ｂは同軸上に配置されて２つの車軸２ｃ，２ｄにそれぞれ連結された２つの車輪、２ａ、２ｂは２つの車軸２ｃ，２ｄにそれぞれ連結されてこれ２つの車輪１ａ，１ｂをそれぞれ独立して回転駆動してロボット６７を走行させるとともに機体３の姿勢を所定の姿勢（図１や図４の下の図のような起立姿勢）に保持するための、アクチュエータの一例としての２つのモータ、３は車軸２ｃ，２ｄの軸回り上に回動可能に車軸２ｃ，２ｄに支持されてモータ２ａ、２ｂを保持する機体、４は機体３の姿勢を検出する姿勢センサである。モータ２ａ、２ｂは、上記倒立２輪走行ロボット６７の走行動作などの制御を行う制御部１００により動作制御されるようになっている。
【００２９】
また、このロボット６７は、荷台の一例としてベルトコンベア５を機体３の上部に有している。５ａはベルト部、５ｂ、５ｃはローラ部、５ｄは荷重面であり、通常、ベルト部５ａとの摩擦を減らす目的からローラフォロアーが荷重面５ｄに多数配置されている。一方のローラ部５ｂには、ベルトコンベア５の駆動装置の一例してのベルトコンベア駆動用パルスモータ８７が連結されて、制御部１００の制御の下にパルスモータ８７が駆動されると、ベルトコンベア５が機体３に対して前後に走行して、ベルトコンベア５の荷重面５ｄに搭載された荷物６を移動可能としている。
【００３０】
また、６はベルトコンベア５上の荷物であり、長手方向の両方向７に移動が可能となる。８ａ、８ｂはバランス制御停止時に機体３を地面２９に対して固定するために機体３の下部であって機体３の中心軸上の前後にそれぞれ配置され（図３の（ｃ）参照）、かつ制御部１００により駆動制御される支持脚用昇降装置８ｃ、８ｄにより昇降駆動される支持脚であり、走行を開始する際は上方へ移動する。ベルトコンベア５と機体３の間には、検出部の一例としての荷重センサ９が組み込まれており、ベルトコンベア５に搭載された荷物６の重量を測定して検出し、検出結果を制御部１００に出力する。
【００３１】
また、機体３の上方には、検出部の別の例としての高さセンサ１０が取り付けられている。高さセンサ１０は自身の正面にある荷物６の高さのスポット測定して、荷物６の高さを検出し、検出結果を制御部１００に出力する。
【００３２】
姿勢センサ４の一例としてジャイロ・加速度センサが用いられ、重力方向を姿勢センサ４により検出することにより、重力方向に対する機体３の姿勢を検出して、制御部１００に検出結果を出力する。検出された姿勢に基づき、制御部１００がモータ２ａ、２ｂに対して適切なトルク指令を与えて、機体３のバランスを維持して、機体３が所定の姿勢（図１や図４の下の図のような起立姿勢）を維持するように調整する。図５に示すように、姿勢センサ４は、ピッチ方向の回転角速度を検出するジャイロ７１及び重力方向を検出する２軸加速度センサ７２から構成される。ジャイロ７１は積分することで回転角が求まるが、ジャイロ７１の零点ドリフトにより算出される回転角は誤差を含んでしまう。そこで、Ａ／Ｄ変換器７５を経たのちの２軸加速度センサ７２の出力とジャイロ７１の出力とがＣＰＵ７４Ａに取り込まれた後、センサフュージョンすることで、正確な姿勢角を求めることができる。センサフュージョン７３は、ＣＰＵ７４Ａの内部でカルマンフィルタやコンプリメンタリフィルタ（相補的なローパスフィルタとハイパスフィルタを組み合わせる方法）等の手法によりアルゴリズム的に実現される。また、車輪１ａ，１ｂの回転角速度は、モータ２ａ，２ｂに取り付けられたエンコーダ７６ａ，７６ｂのパルスをエンコーダカウンタ７７でカウントすることで測定する。最後に、姿勢角・姿勢角の変化率・車輪１ａ，１ｂの回転角速度が目標値８９Ａに一致するように、制御ゲイン７８Ａを介してフィードバックし、モータドライバ８０ａ，８０ｂに対してＤ／Ａ変換器７９を経てトルク指令（電圧値）を発する。ここで、センサフュージョン７３を含むＣＰＵ７４Ａと、Ａ／Ｄ変換器７５と、エンコーダカウンタ７７と、Ｄ／Ａ変換器７９と、モータドライバ８０ａ，８０ｂなどにより、制御部１００を構成している。なお、この図５では、ロボット６７の一部の装置とＣＰＵ７４Ａなどの制御部１００との関係を説明したものであり、ロボット６７の全体のそれぞれの装置とＣＰＵ７４ＡやメインＣＰＵ８１などの制御部１００との関係は図６で詳細に説明する。
【００３３】
上記制御ゲイン７８Ａを決定する際に制御部１００で用いられる制御アルゴリズムは、文献１である、Ｙ．  Ｈａ  ａｎｄ  Ｓ．  Ｙｕｔａ：  Ｔｒａｊｅｃｔｏｒｙ  Ｔｒａｃｋｉｎｇ  Ｃｏｎｔｒｏｌ  ｆｏｒ  Ｎａｖｉｇａｔｉｏｎ  ｏｆ  Ｓｅｌｆ−Ｃｏｎｔａｉｎｅｄ  Ｍｏｂｉｌｅ  Ｉｎｖｅｒｓｅ  Ｐｅｎｄｕｌｕｍ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，  ｐｐ．１８７５−１８８２，  １９９４に詳説されている。以下、制御部１００で用いられる制御アルゴリズムについて、具体的に説明する。
【００３４】
まず、図７に示すように機体３のパラメータを定義する。車輪１ａ，１ｂの回転角をθ、機体３の姿勢角をφ、機体３の質量をＭｂ、機体３の慣性モーメントをＩｂ、車輪１ａ，１ｂの質量をＭｗ（車輪１ａ，１ｂは２つあるため、１つの車輪の質量の２倍として表示。）、車輪１ａ，１ｂの慣性モーメントをＩｗ（車輪１ａ，１ｂは２つあるため、１つの車輪の慣性モーメントの２倍として表示。）、車輪１ａ，１ｂの半径をｒ、機体３の重心２４の高さ（距離）をＬで、図７ように定義する。荷物６は点線で示すが、これをロボット６７に載せた場合は、荷物６の質量をＭｎ、荷物６の慣性モーメントをＩｎ、車軸２ｃ，２ｄからの荷物重心２３までの距離をＬｎとして図７のように定義する。さらに、一例として、これらの機体３のパラメータに、試作したロボット６７の実測値を以下のように当てはめる。また、モータ２ａ，２ｂの粘性摩擦係数μｓと地面２９と車輪１ａ，１ｂの粘性摩擦係数μｇは経験値をそれぞれ代入し、モータ２ａ，２ｂのトルク定数τｔ、及び減速比η及び慣性モーメントＩＭ（モータ２ａ，２ｂは２つあるため、１つのモータの慣性モーメントの２倍として表示。）は使用するモータ２ａ，２ｂのカタログデータをそれぞれ採用する。
【００３５】
Ｍｂ＝５９．４          機体の質量            （ｋｇ）
Ｍｗ＝３．２５７＊２    車輪の質量            （ｋｇ）
Ｉｂ＝６．０５          機体の慣性モーメント  （Ｋｇ・ｍ２）
Ｉｗ＝０．０２７＊２    車輪の慣性モーメント  （Ｋｇ・ｍ２）
ＩＭ＝０．０５２７＊２  モータの慣性モーメント（Ｋｇ・ｍ２）
ｒ＝０．２              車輪半径              （ｍ）
Ｌ＝１５２／１０００    機体の重心距離        （ｍ）
μｓ＝０．０００１      モータの粘性摩擦定数    （Ｎ・ｍ／（ｒａｄ／ｓｅｃ））
μｇ＝０．０００１      地面と車輪の粘性摩擦係数  （Ｎ・ｍ／（ｒａｄ／ｓｅｃ））
τｔ＝３．６９          モータのトルク定数      （Ｎ・ｍ／Ａ）
η＝３０                モータの減速比
ｇ＝９．８０６６５      重力加速度              （ｍ／ｓ２）
以上の変数を用いると図７に示された倒立移動ロボット（言い換えれば上記倒立２輪走行型荷物搬送ロボット）６７の運動方程式は以下の２式のようになる。ただし、ロボット６７は倒立状態で機体３の姿勢角φはほぼゼロという仮定を用い、荷物６は搭載されていないとする。
【００３６】
【数１】
2006123854.tif 000003
（式１）
【００３７】
【数２】
2006123854.tif 000004
（式２）
【００３８】
さらに、状態変数を式３のように定義すると、式１、式２は次の状態方程式としてまとめ上げることができる。
【００３９】
【数３】
2006123854.tif 000005
【００４０】
機体３の姿勢角φは姿勢センサ４により測定可能であり、また、車輪１ａ，１ｂの回転角θは、モータ２ａ，２ｂに取り付けられかつ制御部１００に回転角θの情報を入力可能なエンコーダ７６ａ，７６ｂによって測定が可能であるため、状態変数はすべて測定可能である。このため、適当な状態フィードバックゲインを最適レギュレータ法などにより定めることで、ロボット６７を倒立状態で安定化することが可能である。
【００４１】
次に、荷物６を載せた場合の運動方程式を考える。荷物６と荷台であるベルトコンベア５はお互いに滑らず固定状態と考えると、機体３の質量Ｍｂと機体３の慣性モーメントＩｂと機体３の重心高さＬを、次のように置き換えればよい。
【００４２】
【数４】
2006123854.tif 000006
【００４３】
【数５】
2006123854.tif 000007
【００４４】
【数６】
2006123854.tif 000008
【００４５】
なお、荷物６のパラメータを以下のようにおく。
【００４６】
Ｍｎ＝４０．０；          荷物の質量              （ｋｇ）
Ｉｎ＝１４．５７          荷物の慣性モーメント    （Ｋｇ・ｍ２）
Ｌｎ＝５５０／１０００；  荷物重心距離            （ｍ）
【００４７】
式４〜式６によって置き換えられた新しいＭｂ，Ｉｂ，Ｌに基づいて式３より状態フィードバックゲインを定めれば、荷物６が載せられた状態での最適なフィードバック制御が得られる。
【００４８】
図８に、より具体的な例として、上記ロボット６７の制御系のブロック線図を示す。上記図１に示すような倒立２輪走行ロボット６７はモータトルク指令３６８を入力とし、状態変数６９を出力とする１入力４出力系である。状態変数６９は合算点３７０を経て状態フィードバックゲイン３７１を掛け合わせた後、倒立ロボット６７にフィードバックされる。合算点３７０の目的は、状態変数６９の目標値を与えることであり、角速度指令値３７３の関数として表される目標状態生成器３７５の出力が目標値として使われる。目標状態生成器３７５は、角速度指令値３７３から車輪１ａ，１ｂの角度目標値、姿勢角目標値を生成する。
【００４９】
図９及び図１０に図８で示した制御系と式３で表されるロボット６７の線形モデルを組み合わせたシミュレーションの結果を示す。ロボット６７が倒立した停止状態から０．６ｍ／ｓに加速する時の現象を計算した。荷物６の無い状態で設計した状態フィードバックゲインＫ＝［−５６．０３０４−１６．５９７１−２．８９１４０］を用いた計算結果を図９の（ａ），（ｂ）、（ｃ），（ｄ）に、４０ｋｇの荷物６を搭載した状態で設計した状態フィードバックゲインＫ＝［−１１５．３６６６−３４．８６１１−３．３４１１０］を用いた計算結果を図１０の（ｅ），（ｆ）、（ｇ），（ｈ）に示す。図９の（ａ），（ｂ）は、状態フィードバックゲインが設計された前提通りのロボットモデルであるため、上段の速度変化のグラフ６１ａと下段の姿勢変化のグラフ６２ｂもスムーズな動きを見せている。反面、図９の（ｃ），（ｄ）は、状態フィードバックゲインが設計された前提とは全く異なる、荷物搭載のロボットモデルでの計算結果である。結果として、荷物６を搭載して動きが鈍くなったロボット６７を無理矢理制御しようとして、速度変化のグラフ６１ｃも姿勢変化のグラフ６２ｄも発振状態に至っている。図１０の（ｅ），（ｆ）においては、状態フィードバックゲインが設計された前提とは異なるロボットモデルでありながら、ロボット６７が荷物６を搭載していないことにより動きが速くなった分、上段の速度変化のグラフ６１ｅも下段の姿勢変化のグラフ６２ｆも安定している。反面、安定の度合いが高すぎて同じく荷物搭載無しの状態である図９の（ａ），（ｂ）に比べると応答性が低い欠点がある。最後に図１０の（ｇ），（ｈ）においては、状態フィードバックゲインが設計された前提と全く同じロボットモデルを制御しているため、応答は問題がなく、図９の（ａ），（ｂ）とほぼ同じ結果が得られている。
【００５０】
以上の結果をまとめると、搭載する荷物６にふさわしい状態フィードバックゲインを設定することが、安定して効率の良い動作には必要であることがわかる。また、状態フィードバックゲインを設計した時の想定荷物質量（あるいは慣性モーメント）より重い荷物（あるいは慣性モーメントの大きな荷物）６を載せると発振の恐れがあること、また、想定荷物より軽い荷物（あるいは慣性モーメントの小さな荷物）を載せると安定性が増すが、応答性が下がることも明らかになった。
【００５１】
次に、上記姿勢センサ４、ベルトコンベア５の駆動用パルスモータ８７、支持脚用昇降装置８ｃ，８ｄ、モータ２ａ，２ｂ、荷重センサ９、高さセンサ１０などと制御部１００との関係を、全体的なシーケンス制御の観点から、さらに詳細に説明する。
【００５２】
図６に示すように、上記したように、姿勢センサ４は、ピッチ方向の回転角速度を検出するジャイロ７１及び重力方向を検出する２軸加速度センサ７２から構成される。ジャイロ７１は積分することで回転角が求まるが、ジャイロ７１の零点ドリフトにより算出される回転角は誤差を含んでしまう。そこで、ジャイロ７１の出力は２軸加速度センサ７２の出力と共に、Ａ／Ｄ変換器７５を経てサブＣＰＵ７４に取り込まれた後、サブＣＰＵ７４でセンサフュージョンすることで、正確な姿勢角を求めることができる。センサフュージョン７３はサブＣＰＵ７４の内部でアルゴリズム的に実現される。カルマンフィルタやコンプリメンタリフィルタ（相補的なローパスフィルタとハイパスフィルタを組み合わせる方法）等の手法が用いられる。
【００５３】
また、車輪１ａ，１ｂの回転角速度は、エンコーダ７６ａ，７６ｂのパルスをエンコーダカウンタ７７でカウントすることで測定してサブＣＰＵ７４に入力し、サブＣＰＵ７４でギア７７ａ，７７ｂの減速比を基に車輪１ａ，１ｂの回転角と回転角速度を求める。姿勢角とその変化率、車輪１ａ，１ｂの回転角と回転角速度をサブＣＰＵ７４で組み合わせて状態変数９０とし、このようにして求められた状態変数９０と、状態変数９０の目標値８９との偏差をサブＣＰＵ７４で求める。偏差に状態フィードバックゲイン７８を掛けて、モータ２ａ，２ｂのモータドライバ８０ａ，８０ｂに対して、Ｄ／Ａ変換器７９を経てトルク指令（電圧値）をフィードバックする。フィードバックは通常１００Ｈｚより高速に行われるため、これらの計算は専用のサブＣＰＵ７４の内部で行われる。サブＣＰＵ７４と接続されたメインＣＰＵ８１には、タスク（荷物運搬）実行のためのロボット全体の動作を制御する動作制御部８２と、タスク実行のための動作のシナリオを保持する動作シナリオを記憶した動作シナリオ用データベース８３とがある。動作制御部８２は外部とインターフェース８４を介して接続する。すなわち、動作制御部８２は、インターフェース８４を介して、支持脚用送りネジ８５ａ，８５ｂの正逆回転で送りネジ軸８５ａ，８５ｂにねじ結合したナット部に固定された支持脚８ａ，８ｂを上下させる支持脚用パルスモータ８６ａ，８６ｂと、ベルトコンベア５を正逆駆動させるためにローラ部５ｃを正逆回転駆動するパルスモータ８７と、さらにベルトコンベア５に搭載された荷物６の質量を量る荷重センサ９と、ベルトコンベア５に搭載された荷物６の高さを測る高さセンサ１０と、ユーザ６５からの要求を受けたりユーザ６５に情報を出力するためにユーザ６５とのインターフェースを行うユーザＩ／Ｆデバイス８８と接続する。動作制御部８２は、ロボット６７の動作に応じてサブＣＰＵ７４と通信し、状態変数９０を読み込んだり、状態変数９０の目標値８９を書き換えたり、状態フィードバックゲイン７８を書き換えたりする。支持脚用パルスモータ８６ａ，８６ｂを駆動制御するときは、動作制御部８２からの駆動情報がユーザＩ／Ｆデバイス８８を介してパルスモータドライバ８６Ｐに入力され、パルスモータドライバ８６Ｐにより支持脚用パルスモータ８６ａ，８６ｂを駆動制御する。また、ベルトコンベア５の駆動用パルスモータ８７を駆動制御するときは、動作制御部８２からの駆動情報がユーザＩ／Ｆデバイス８８を介してパルスモータドライバ８７Ｐに入力され、パルスモータドライバ８７Ｐによりベルトコンベア５の駆動用パルスモータ８７を駆動制御する。なお、送りネジ軸８５ａ，８５ｂとパルスモータ８６ａ，８６ｂとにより、支持脚用昇降装置８ｃ、８ｄの一例を構成している。また、上記制御部１００は、ここでは、センサフュージョン７３を含むサブＣＰＵ７４と、Ａ／Ｄ変換器７５と、エンコーダカウンタ７７と、Ｄ／Ａ変換器７９と、モータドライバ８０ａ，８０ｂと、パルスモータドライバ８６Ｐと、パルスモータドライバ８７Ｐと、メインＣＰＵ８１となどにより、制御部１００を構成している。
【００５４】
また、機体３のバランス制御に用いられる制御アルゴリズムは、文献１、Ｙ．  Ｈａ  ａｎｄ  Ｓ．  Ｙｕｔａ：  Ｔｒａｊｅｃｔｏｒｙ  Ｔｒａｃｋｉｎｇ  Ｃｏｎｔｒｏｌ  ｆｏｒ  Ｎａｖｉｇａｔｉｏｎ  ｏｆ  Ｓｅｌｆ−Ｃｏｎｔａｉｎｅｄ  Ｍｏｂｉｌｅ  Ｉｎｖｅｒｓｅ  Ｐｅｎｄｕｌｕｍ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，  ｐｐ．１８７５−１８８２，  １９９４に詳説されている。これによると、ロボットがほぼ直立状態である、摩擦等は考慮しないという仮定の下でロボットの運動方程式は以下のように表される。
【００５５】
【数７】
2006123854.tif 000009
【００５６】
【数８】
2006123854.tif 000010
【００５７】
ここに、θ、φは図１１に示すように、車輪１ａ、１ｂの回転角度、及び機体３の姿勢角度を鉛直方向から計ったものである。また、Ｍｂ、Ｉｂは機体３の質量及び車軸回りの回転モーメント、Ｍｗ、Ｉｗは車輪１ａ、１ｂの質量及び車軸回りの回転モーメント、ＩＭはモータ自身の慣性モーメント、ηはモータのギアの減速比、τｔはモータ２ａ、２ｂのトルク定数、ｇは重力加速度、Ｌは機体重心の車軸からの高さ、ｒは車輪半径である。式７及び式８は状態変数を、
【数９】
2006123854.tif 000011
と表すと、次の状態方程式標記が可能となる。
【００５８】
【数１０】
2006123854.tif 000012
ここで、バランス制御とは状態変数ｘをゼロに収束させることであるため、最適レギュレータ問題として解くことで、状態フィードバックゲインＫを求めることができる。
【００５９】
図１２は本発明の第１実施形態における荷物搬送ロボット６７において、荷物６を機体重心から外れた位置に置いた時の倒立バランスの様子を表す側面図である。図１２中、２４はベルトコンベア５まで含めた機体重心、２３は荷物６の重心である。２５は重心２４と重心２３の合成重心である。合成重心２５が地面２９との接地点２６の鉛直線２７上にあることが、バランスの条件であるため、合成重心２５が鉛直線２７上に来るように制御的にバランスをとろうとするが、図１２中、ロボット６７は水平バランスを達成出来ていない。この状態で荷物運搬ロボット６７が走行すると、走行時の振動により荷台であるベルトコンベア５が微動して、その結果、荷物６がベルトコンベア５上で図１２の右側へ移動しながら、ベルトコンベア５から落下する結果となる。逆に、静止時に水平バランスが達成されていると、その時には機体３と荷物６の重心２３，２４は等しく車軸２ｃ，２ｄ上にあるはずなので（図７参照）、走行中の動的バランス状態においても、必ず荷物６にかかる力は機体３の重心２４を通り車軸２ｃ，２ｄに抜けることになる。この結果、荷物６に対しては荷台であるベルトコンベア５上で横滑りする力が働かず、走行中に荷台であるベルトコンベア５に振動が加わっても、荷物６がベルトコンベア５から転落する恐れがないことを意味する。
【００６０】
さらに、図１２において、荷物６の重さが極めて大きくなった場合、支持脚８ａ，８ｂがバランス制御中に地面２９に接触してしまうことになる。この時、ロボット６７は式７、式８で表される力学モデルとは大きく異なる挙動をとることになるため、制御が発振したり暴走したりする恐れもある。この現象を防止するためには、支持脚８ａ，８ｂを上昇させる前に、荷物６の重心位置を後述の方法により事前に推定し、荷物６の推定された重心位置を機体４の重心位置の真上に移動させることが必要となる。
【００６１】
式１０から状態フィードバックゲインＫを定めるにあたり、応答性を高めるために出来るだけ大きなゲインを選ぶが、反面、機械定数等のパラメータ変動に対しロバスト性を失い、発振現象を引き起こしてしまうことがある。仮に荷物６の質量や慣性モーメントを事前に推定することができれば、この値に最適な状態フィードバックゲインＫを決定することで、バランス制御の応答性と安定性を両立することができる。ここで、荷物運搬ロボット６７で荷物搭載により変動を起こすパラメータは機体３の質量Ｍｂ及び回転モーメントＩｂである。いま、図１１に示すように車軸２ｃ，２ｄから高さｈのベルトコンベア５上に、高さＰｈ、幅Ｐｗ、奥行きＰｂで重さＭｐの荷物６を載せたと仮定すると、その時のＭｂ，Ｉｂの変化量、荷物６の密度が均一であると仮定すると、以下のように表される。
【００６２】
【数１１】
2006123854.tif 000013
【００６３】
【数１２】
2006123854.tif 000014
【００６４】
つまり、事前に載せる荷物６の重量Ｍｐと外形形状Ｐｈ、Ｐｗさえわかれば、正確なＭｂ，Ｉｂを事前に知ることができ、より適切な状態フィードバックゲインを求めることができる。
【００６５】
図１３は本発明の第１実施形態における荷物運搬ロボット６７における、高さセンサ１０によるベルトコンベア５上の荷物６の事前形状測定の様子を表す図である。図１３中、１１はベルトコンベア５を移動しながら高さセンサ１０の出力を記録したものである。図１３から容易にわかるように、ベルトコンベア５の移動に従って、荷物６が高さセンサ１０の前を横切るため、荷物高さ１３を測定できる。また、荷物６が検出される間の荷物移動距離を測定することにより、荷物移動速度を基に荷物幅１２を測定することができる。同時に、荷物６の幅方向の中心軸１５も測定できる。荷物６の密度分布が一様であるという仮定の下、中心軸１５は荷物６の重心２３を通っていると仮定できることから、中心軸１５がロボット６７の機体重心２４の真上にくるようにベルトコンベア５を位置決めしてやることで、水平バランスを実現することが可能となる。図１３中の１４は荷物６の取っ手をセンサがひろうことによるノイズ成分であるが、このような変動は無視しても大勢に影響は無い。さらに、荷重センサ９の値を読み込むことにより、荷物６の重さを知ることが出来るから、以上の結果と式１１，式１２を用いることで、正確な機械定数を定めることができ、より適切な状態フィードバックゲインを決定することができる。
【００６６】
本発明の第１実施形態を利用した荷物運搬ロボット６７の具体的な荷物運びの動作シーケンスを図１４及び図１５により説明する。図１４及び図１５ではロボット６７とユーザ６５を上方から見ており、５は荷台であるベルトコンベア、６は荷物、６５はユーザ、９６はユーザ追跡用の発信器、９７は荷物運搬ロボット６７の機体３の前面に設けられたユーザ追跡用の受信器である。発信器９６と受信機９７は電波を使った物や超音波を使った物が利用可能であり、ユーザＩ／Ｆデバイス８８の一例を構成する。
【００６７】
まず、図１４の（ａ）においてユーザ６５が荷物６を持ってロボット６７に接近する。この時、ロボット６７は支持脚８ａ，８ｂを下ろした状態で待機中である（図１６のステップＳ１参照）。
【００６８】
次に、図１４の（ｂ）においてユーザ６５が荷物６を荷台であるベルトコンベア５に置く（図１６のステップＳ２参照）。この時、ロボット６７は、荷重センサ９によりベルトコンベア５上の荷物６の重さを検出して、検出結果情報が制御部１００のメインＣＰＵ８１の動作制御部８２に入力される。この結果、動作制御部８２は、ユーザ６５がロボット６７に到着して荷物６をベルトコンベア５に置いたことを認識する。
【００６９】
次いで、図１４の（ｃ）において、ユーザＩ／Ｆデバイス８８の一例の一部を構成する発信器９６をユーザ６５がロボット６７から受け取ることにより、これがきっかけとなって、図１４の（ｄ）において荷台のベルトコンベア５を動かす。すなわち、発信器９６をロボット６７の発信器収納位置から取り上げることにより、発信器収納位置に設けられた発信器収納スイッチ９６Ｐが発信器９６が発信器収納位置から取り上げられたことを検出して、検出結果である発信器取上げ信号が制御部１００のメインＣＰＵ８１の動作制御部８２に入力される。なお、このような収納スイッチ９６Ｐを設ける代わりに、発信器９６から発信器収納位置から取り上げられたことを示す発信器取上げ信号を受信器９７を介して動作制御部８２に出力するようにしてもよい。発信器取上げ信号が動作制御部８２に入力された結果、動作制御部８２は、ユーザ６５が発信器９６を取り上げたと判断して、パルスモータドライバ８７Ｐを介してベルトコンベア５を駆動させる。ベルトコンベア５が動作することにより、高さセンサ１０及び荷重センサ９により荷物６の形状及び質量測定を行い（図１６のステップＳ３参照）、高さセンサ１０及び荷重センサ９の測定結果情報が動作制御部８２を介してサブＣＰＵ７４に入力されて、状態フィードバックゲインの設定を行う。測定が終了すると、機体重心２４と荷物重心２３との合成重心２５の位置が地面２９との接地点２６の鉛直線２７上に位置してロボット６７がバランスするように、動作制御部８２が、パルスモータドライバ８７Ｐを介してベルトコンベア５を駆動させて荷物６の位置の調整を行う（図１６のステップＳ４参照）。
【００７０】
なお、図１６のステップＳ３に示すように、荷物６の重量及び形状を測定する時はロボット６７は支持脚８ａ，８ｂで支持されている。このため、ベルトコンベア５を動かして荷物６を移動した場合でもロボット６７の姿勢は不変となり、安定した測定が可能となる。
【００７１】
ここで、ロボット６７が支持脚８ａ，８ｂでロボット６７自体を支えている間に、上記したように荷物６の質量及び形状を測定し、ベルトコンベア５を用いて合成重心２５の位置を車軸２ｃ，２ｄの真上に移動し、さらに、図１６のステップＳ５に示すように、合成慣性モーメントに合わせて制御ゲインを調整する。
【００７２】
この後、図１６のステップＳ６に示すように、動作制御部８２の制御の下にパルスモータドライバ８６Ｐを介してパルスモータ８６ａ，８６ｂが駆動制御されて、支持脚８ａ，８ｂを支持位置から退避位置まで上昇させて機体３に収納すると同時に、バランス制御を開始してロボット６７の倒立動作に入る（図１７のステップＳ６参照）。この結果、ロボット６７はスムーズに水平バランスを保つことができる。
【００７３】
次いで、図１４の（ｅ）において、ユーザ６５が発信器９６の電源を入れて身につけて歩き出すと、ロボット６７は、受信機９７によりユーザ６５の方向を探知しながら、水平バランスを保ちつつ追従動作を行う（図１７のステップＳ７参照）。すなわち、発信器９６から発信された情報を受信器９７が受信して、発信器９６の位置及び距離を特定し、その位置及び距離の情報が動作制御部８２に入力される。動作制御部８２は、発信器９６から受信器９７までの距離が所定距離以下となるように（ユーザ６５に追従するように）、モータドライバ８０ａ，８０ｂを介してモータ２ａ，２ｂを回転駆動して、ロボット６７をユーザ６５に追従するように走行させる。このとき、ロボット６７は、上記したようにバランス制御を行って水平バランスを保ちつつ走行する。
【００７４】
次いで、図１５の（ｆ）においても、ロボット６７は引き続きユーザ６５への追従動作を行っている（図１７のステップＳ７参照）。
【００７５】
次いで、図１５の（ｇ）において、ユーザ６５が発信器９６の電源を切るとロボット６７は追従動作を停止する。なお、この状態で発信器９６の電源をユーザ６５が再度入れるとロボット６７は追従動作を再開する。すなわち、ユーザ６５が発信器９６の電源を切ることにより、発信器９６からの発信情報が受信器９７で受信されなくなり、受信器９７から動作制御部８２に情報が入力されなくなるため、動作制御部８２は、モータドライバ８０ａ，８０ｂを介してモータ２ａ，２ｂを停止させて、ロボット６７の走行を停止させる（図１７のステップＳ８参照）。なお、この停止状態で、発信器９６の電源をユーザ６５が再度入れると、発信器９６から発信された情報が受信器９７で再び受信できて、発信器９６の位置及び距離を特定することができ、その位置及び距離の情報が受信器９７から動作制御部８２に入力される。この結果、動作制御部８２は、発信器９６から受信器９７までの距離が所定距離以下となるように（ユーザ６５に追従するように）、モータドライバ８０ａ，８０ｂを介してモータ２ａ，２ｂを再び回転駆動開始して、ロボット６７をユーザ６５に追従するように走行開始させる。
【００７６】
次いで、図１５の（ｇ）の走行停止状態の後に図１５の（ｈ）において、ユーザ６５が発信器９６をロボット６７の所定の場所に返却すると、ロボット６７はユーザ６５の目的地に到着したことを認識し、バランス制御を終了すると同時に支持脚８ａ，８ｂを出して待機状態になる。すなわち、ユーザ６５が発信器９６をロボット６７の発信器収納位置に返却することにより、発信器収納位置の発信器収納スイッチから発信器取上げ信号がオフになり（又は、発信器収納信号が出力され）、発信器取上げ信号のオフ又は発信器収納信号を基に、動作制御部８２は、ユーザ６５が発信器９６を発信器収納位置に収納したと判断して、ロボット６７はユーザ６５の目的地に到着したことを認識し、動作制御部８２の制御の下にパルスモータドライバ８６Ｐを介してパルスモータ８６ａ，８６ｂが駆動制御されて、支持脚８ａ，８ｂを下降させて機体３の退避位置から支持位置まで下降して、支持脚８ａ，８ｂによりロボット６７を支持して待機状態になる（図１７のステップＳ８参照）。このとき、同時に、動作制御部８２の制御により、バランス制御を終了する。
【００７７】
次いで、図１５の（ｉ）ではユーザ６５は荷物６を持って立ち去り、荷物運搬のタスクが無事終了したことになる。
【００７８】
ここで、ユーザ６５が荷物６をロボット６７から取り上げるとき、動作制御部８２の制御の下に、パルスモータドライバ８７Ｐによりベルトコンベア５の駆動用パルスモータ８７を駆動して、上記荷物６がベルトコンベヤ５に最初に搭載された位置まで上記荷物６を戻すようにして荷物６を取りやすくしてもよい（図１７のステップＳ９参照）。この場合には、上記荷物６がベルトコンベヤ５に最初に搭載されるとき、その位置を動作制御部８２の内蔵メモリなどに記憶させておく必要がある。このようにすれば、荷物６をユーザ６５側に移動させることができ、ユーザ６５によるベルトコンベア５に対する荷物６の受け渡しを容易にすることができる（図１７のステップＳ１０参照）。これは、以下のような効果を奏することができる。すなわち、例えば、スーツケース等の重い荷物６を運搬ロボット６７上に載せることは、ユーザである人間６５の背中の筋肉に大きな付加を与える。そこで、図４に示すように、ユーザ６５が荷物６を搭載するとき、また、ユーザ６５が荷物６を受け取るときに、できるだけユーザ６５が持ちやすいベルトコンベア５の位置に荷物６を配置する。つまり、ロボット６７を支持脚８ａ，８ｂで支持した待機状態（荷物受け渡し状態）で、ベルトコンベア５を移動することにより、荷物６をユーザ６５に近い位置に位置させることで、背筋や腕にかかる負担を下げることが可能になる。
【００７９】
上記第１実施形態にかかる倒立２輪走行ロボット６７は、まず、倒立２輪走行ロボットの基本的な特徴として、
・４輪ロボットに比べて安定性を維持しながら背を高くできるため、底面積が小さく、小回りが利く、
・常時バランスを取るため、段差を乗り越える時にも、車体が傾かないで済む、
・常時バランスを取るため、衝突した時に自然に反対方向へ逃げる動作が生じて安全である、
などが挙げられる。
【００８０】
以上の理由から、倒立２輪走行ロボットは空港等の人混みの中で荷物を運搬するロボットに採用した場合、
・人混みの中で小回りが利く上に、格納時もスペースを取らない、
・段差やスロープを通過する際にも荷台が傾かず、搭載荷物の荷崩れが防げる、
・人や物に衝突した場合にも、衝撃を最小限に留めることが可能、
といったメリットがある。
【００８１】
しかしながら、倒立２輪走行ロボットに荷物を搭載する場合、バランスを取りながら走行する性質上、幾つかの課題が存在していた。たとえば、
・質量４０ｋｇのスーツケースを載せられた場合、ロボット本体とほぼ同等の重量であるため、合成重心の位置や合成慣性モーメントが大きく変化する。
【００８２】
・比較的軽量な荷物でもスキー板等の長尺物を載せられた場合、その重心位置がロボットの重心位置と大きく離れる可能性があり、この場合も合成重心の位置や合成慣性モーメントが大きく変化する。
【００８３】
以上のような状況でバランスを取ろうとすると、荷台が水平に保てない場合や、制御ゲインが不適合になり発振状態に至る場合、等の不具合が発生する恐れがある。
【００８４】
そこで、本発明の第１実施形態にかかる倒立２輪走行ロボット６７及びその制御方法では、ロボット６７が支持脚８ａ，８ｂで自身を支えている間に、荷物６の質量・形状を測定し、ベルトコンベア５のパルスモータ８７等の移動装置を用いることで合成重心位置を車軸２ｃ，２ｄの真上に移動し、さらに合成慣性モーメントに合わせて制御ゲインを調整し、この後で支持脚８ａ，８ｂを解除してバランス動作を開始することを特徴とするものである。この構成と制御方法により、常に荷台であるベルトコンベア５を水平に保ちながら安定に走行することが可能となる。よって、ユーザ６５が荷物６を荷台であるベルトコンベア５の手前側（ユーザ６５に近い側）に置き、荷物重心２３と機体重心２４が大きくずれている場合でも、その荷物６を自動的に移動させて、荷物重心２３と機体重心２４とを一致させることにより、走行中の荷台であるベルトコンベア５を常に水平方向沿いに保つことができる。静止時にあるベルトコンベア５の水平バランスを保つことができれば、走行時にも姿勢制御型の倒立ロボットの特性から、荷物６にかかる重力と慣性力の和は荷台であるベルトコンベア５に対して常に垂直となり、荷物６の横滑りや荷崩れがなくなる。また、ユーザ６５への荷物６の返却の際にも、荷物６をユーザ６５側にベルトコンベア５で移動するようにすれば、ユーザ６５のベルトコンベア５に対する荷物６の受け渡しを容易にすることもできる。
【００８５】
また、第１実施形態によれば、本来不安定な機体を制御の力によってバランスするタイプの荷物搬送ロボット６７に対して、スーツケースなどの質量が不明な荷物６を搭載されたとき、その荷物自身を移動装置（たとえばベルトコンベア５の駆動用パルスモータ８７）により移動させて荷物６の重心位置を調整できるように直接制御し、水平バランスを回復することができる。ここで、質量が不明な荷物の具体例としては、スーツケースが好例である。外見は同じでも、中に入れるものが衣類であれば、比較的軽量となるが、書籍等が増えると重くなる。また、スーツケースの重心位置も中に入れる物のバランスによって、外形の中心からずれてしまうためである。このような質量が不明な荷物でも、第１実施形態のロボット６７によれば、水平バランスを保持することができる。
【００８６】
さらに、従来、予め機体内部に組み込まれたカウンタバランスを動かすことによって水平バランスを回復するロボットが考えられているが、質量がカウンタバランス以上に大きい荷物を搭載した場合、これらの錘やカウンタバランスを動かすだけでは水平を回復できない恐れがあるという課題があった。ここで、カウンタバランスはロボットの一部分であるが、バランスを取ること以外には役に立たないムダ質量である。実際、走行時には運動エネルギーのロスにつながるものであり、衝突時には衝撃エネルギーを増大させる負の効果を持つ。そこで、仮にカウンタウェイトを採用する場合でも、その質量は出来るだけ小さく、また、バランスのためのモーメントを増大させるためにその移動範囲を出来るだけ広くすることが望まれている。上記第１実施形態にかかるロボット６７では、たとえば、ロボット６７の自重（一例として４０ｋｇ）とほぼ等しい重さのスーツケース等の荷物６を運搬することを想定しており、さらに、ユーザ６５はスーツケース等の荷物６の重心２３をロボット６７の機体３の重心２４と正確に一致するように置くことはできないと想定している。この結果、荷物６による重心ずれが非常に大きくなる恐れがある。この重心ずれに対抗できるような、カウンタウェイトを設計することは事実上不可能である。すなわち、図１８に示すように、４０ｋｇの荷物６による重心ずれが２０ｃｍと仮定すると、仮に５ｋｇのカウンタウェイトを使用するとすれば、機体３の重心から１６０ｃｍ離れたロボットの外部に配置する必要があり、現実的ではない。
【００８７】
また、バランスを取らずに支持脚８ａ，８ｂを外して倒立しようとしても、モータ２ａ，２ｂが発生しうるトルクの限界から、機体３を立て直すことができず、バランス動作を失敗してしまう。
【００８８】
そこで、上記第１実施形態のロボット６７では、荷物６自身を移動装置（たとえばベルトコンベア５の駆動用パルスモータ８７）により移動させて荷物６の重心位置を調整できるように直接制御することにより、カウンタウェイトを使用することなく、水平バランスを回復することができるようにしている。
【００８９】
次に、第１実施形態の変形例として、荷物６が機体３からはみ出すほどに長尺な長尺物の荷物６Ｈであり、そのような長尺物の荷物６Ｈをロボット６７に搭載する場合について説明する。
【００９０】
図１９は長尺物の荷物６Ｈと障害物３０の関係を示す図である。図１９の（ａ）において、３はロボット機体、５は荷台であるベルトコンベア５、６Ｈは長尺物の荷物、３０は障害物、９１ａ，９１ｂは光９８ａにより周囲の障害物位置を計測するレンジファインダ、９２ａ，９２ｂは内蔵された上下駆動装置によりレンジファインダ９１ａ，９１ｂを動作制御部８２の制御の下に上下に自動的にスキャンするためのチルトステージである。レンジファインダ９１ａ，９１ｂは水平に約１８０度の領域をスキャンするので、第１実施形態のこの変形例ではロボット６７の前後に１台ずつ装着している。
【００９１】
図１９の（ｂ）に上方から見たときの、レンジファインダ９１ａの光９８ａと障害物３０のイメージの関係を示す。レンジファインダ９１ａは水平平面内で光９８ａをスキャンするため、障害物３０の前面のみがエッジ９９としてイメージされていることがわかる。この結果、レンジファインダ９１ａからエッジ９９までの距離をｍｍオーダの精度で知ることができる。
【００９２】
図１９の（ｃ）はチルトステージ９２ａ，９２ｂを用いてレンジファインダ９１ａ，９１ｂを上下にスキャンする様子を示す。このことにより、長尺物の荷物６Ｈの下面の三次元位置を測定することができ、ロボット６７は長尺物の荷物６Ｈが機体３に対してどの位置にあるかを正確に知ることができる。
【００９３】
よって、図１９の（ｂ）で障害物３０の前面のみがエッジ９９として検出でき、図１９の（ｃ）で長尺物の荷物６Ｈが機体３に対してどの位置にあるかを正確に検出できるため、長尺物の荷物６Ｈの先端と障害物３０等との位置関係を計測することができ、スキー板６Ｈの先端と障害物３０との間の距離が予め定めた安全な間隔か否かを動作制御部８２により判断することができる。
【００９４】
以下、このような構成を使用して、ロボット６７の周囲に壁や障害物３０などがある狭い場所でのロボット６７のバランスの取り方について説明する。
【００９５】
図２０に示すような、長尺の荷物６Ｈ、たとえばスキー板６Ｈ、などをロボット６７で運搬するとき、スキー板６Ｈの両端がロボット６７からはみ出すために、ロボット６７の移動の際に周囲の壁や障害物３０などと衝突する恐れがある。そこで、動作制御部８２の制御によりパルスモータ８７を駆動してベルトコンベア５を動かして、ロボット６７の機体３に対してスキー板６Ｈの位置を変えると、ロボット６７とスキー板６Ｈの合計の運動量が保存されるため、動作制御部８２の制御により、機体３とスキー板６Ｈの合成重心位置を保ったまま、ロボット６７が傾きつつスキー板６Ｈを一方向に移動することができる。ロボット６７の速度がゼロの場合にこれを定式化すると、
【数１３】
2006123854.tif 000015
【００９６】
ここで、ｍｓｋｉ、ｍｒｏｂｏｔはそれぞれスキー板６Ｈとロボット機体３の質量、ｖｓｋｉ、ｖｒｏｂｏｔはそれぞれベルトコンベア５を動かすことにより生じるスキー板６Ｈとロボット機体３の水平移動速度である。両辺を積分して、スキー板６Ｈとロボット機体３の速度の積分量をδｓｋｉ、δｒｏｂｏｔで表すと、
【数１４】
2006123854.tif 000016
【００９７】
合成重心の位置は不変なので、速度の積分量δｓｋｉ、δｒｏｂｏｔは、それぞれ合成重心２５Ｈからスキー板６Ｈの重心２３Ｈまでの距離と合成重心２５Ｈからロボット機体３の重心２４までの距離となる。ベルトコンベア５の移動量をｄとすると、
【数１５】
2006123854.tif 000017
の関係があり、さらに、スキー板６Ｈが移動することによって生じる余裕スペースδｆｒｅｅは以下の式で表されることから、
【数１６】
2006123854.tif 000018
となる。よって、必要となる余裕スペースδｆｒｅｅの大きさが決まると、式１４、式１５、式１６より必要となるベルトコンベア５の移動量ｄを動作制御部８２により求めることが可能である。
【００９８】
以上により、ロボット６７の片側に余裕のスペースδｆｒｅｅを作ることが可能なので、このスペースδｆｒｅｅを利用して、ロボット６７の水平バランスを動作制御部８２により維持してやれば、水平バランスを取る上で必要なスペースδｆｒｅｅを節約することができる。
【００９９】
また、この制御アルゴリズムを図２１を用いて説明する。
【０１００】
ここでは、スキー板６Ｈを搭載したロボット６７が障害物３０の近くでバランスを崩した状況を想定する。スキー板６Ｈの先端と障害物３０等との位置関係を、機体３に備えたカメラ又は超音波センサ又はレンジファインダ９１ａ，９１ｂ等の障害物検出センサ９１（図１９参照）により計測し、計測結果を動作制御部８２に入力して、スキー板６Ｈの先端の望ましい移動量を動作制御部８２により算出する（図２１のステップＳ１０１参照）。これは、たとえば、スキー板６Ｈの先端と障害物３０との間の距離が予め定めた安全な間隔が確保できる寸法となるように、スキー板６Ｈの先端の移動量（言い換えれば、パルスモータ８７によるベルトコンベア５の移動量）を動作制御部８２により算出する。
【０１０１】
求まった移動量に基づき、動作制御部８２の制御によりパルスモータ８７が駆動されて必要なベルトコンベア５の移動を行う（図２１のステップＳ１０２参照）。
【０１０２】
この結果、ロボット機体３の姿勢は変化するが、スキー板６Ｈの重心２３Ｈとロボット機体３の重心２４との合成重心２５Ｈの位置を動作制御部８２により算出すると（図２１のステップＳ１０３参照）、合成重心２５Ｈの車軸２ｃ，２ｄを通る鉛直線２７に対するずれが、機体３の姿勢の崩れに相当するため（図２１のステップＳ１０４参照）、合成重心２５Ｈの位置が鉛直線２７上になるように車輪１ａ，１ｂのトルクを動作制御部８２によりパルスモータ８７を介して制御する（図２１のステップＳ１０５参照）。
【０１０３】
以上の繰り返しにより、動作制御部８２により、スキー板６Ｈの先端を障害物３０に衝突させることなく、機体３のバランス動作を実現することができる。
【０１０４】
従って、上記構成によれば、狭い場所に入って機体３のバランスを取る必要がある場合は、車輪１ａ，１ｂを停止して荷物６Ｈをベルトコンベア５４上で前後に移動することで、機体３を大きく移動することなくバランス制御が可能となる。
【０１０５】
次に、図２２には、図２１とは別の制御アルゴリズムを記す。
【０１０６】
この制御アルゴリズムの特徴は、問題となるスキー板６Ｈの先端位置を、動作制御部８２によりパルスモータ８７を介して常に機体３に対して一定に保つことで、障害物３０とスキー板６Ｈとの衝突を防ぐものである。
【０１０７】
図２２中、ロボット６７のバランスが崩れると、スキー板６Ｈの重心２３Ｈとロボット機体３の重心２４との合成重心２５Ｈの位置を動作制御部８２により算出し（図２２のステップＳ２０１参照）、合成重心２５Ｈのずれを動作制御部８２により検出し（図２２のステップＳ２０２参照）、このずれを補正するように、動作制御部８２によりパルスモータ８７を介して車輪１ａ，１ｂにトルクを与えて回転させる（図２２のステップＳ２０３参照）。
【０１０８】
車輪１ａ，１ｂの回転量をエンコーダ７６ａ，７６ｂにより計測すると、ロボット６７のバランスを取るために必要なロボット６７の移動量が動作制御部８２によりわかるので、この移動量をキャンセルするような変位をスキー板６Ｈの先端に与えるように、動作制御部８２によりベルトコンベア５の駆動用パルスモータ８７を駆動してベルトコンベア５とともにスキー板６Ｈを移動させる（図２２のステップＳ２０４参照）。
【０１０９】
以上の繰り返しにより、スキー板６Ｈの先端を機体３に対して一定の位置に保ちながらロボット６７のバランスを保つことが可能となる。
【０１１０】
さらに、図２３は長尺物の荷物６Ｈを用いた機体３のバランス制御を使用するタイミングを示した図であり、この図２３を用いてロボット６７が旋回して人間６５を避ける状態を説明する。図２３中、ロボット機体３と人間６５を上方から見ており、５は荷台のベルトコンベア、６Ｈは長尺な荷物である。
【０１１１】
図２３の（ａ）において、人間６５がロボット６７の正面から近づいてきている。ロボット６７はこの時停止状態でもよいし、前進状態でもよく、図８に示した車輪１ａ，１ｂのトルクのみを用いた倒立バランス制御を行っている。
【０１１２】
レンジファインダ９２ａ，９２ｂにより人間６５の接近を認識すると、ロボット６７は直ちに前進を停止し、長尺物の荷物６Ｈと人間６５の間隔を保つために長尺物の荷物６Ｈを使ったバランス制御を開始する（図２３の（ｂ））。この状態で、動作制御部８２の制御の下にモータ２ａ，２ｂにより左右の車輪１ａ、１ｂに互いに逆方向のトルクを与えると、ロボット６７は旋回を始める。旋回中の車輪１ａ，１ｂと路面の摩擦等に起因する外乱による荷物６Ｈと人間６５の衝突が起きないように、レーザレンジファインダ９２ａ，９２ｂを用いながら人間６５までの距離を測定し、長尺物の荷物６Ｈが人間６５に触れないように動作制御部８２により動作制御する（図２３の（ｃ））。
【０１１３】
図２３の（ｄ）において、人間６５が正面に無いことをいずれかのレーザレンジファインダ９２ａ又は９２ｂを介して動作制御部８２により確認すると旋回を終了し、バランス制御は通常の車輪１ａ，１ｂのみを用いた制御に復帰する。
【０１１４】
このようにすれば、バランス制御を行いながら人間６５などの障害物をロボット６７が避けることができる。
【０１１５】
（第２実施形態）
図２４は本発明の第２実施形態における荷物運搬ロボットの荷台付近を表す図である。機体３や車輪１の構造は第１実施形態と同じであるので省略している。５は荷台となるベルトコンベア、９はベルトコンベア５を支える荷重センサ、６はベルトコンベア５に搭載された荷物、１６は荷物６と同時にベルトコンベア５に搭載されたゴルフバックである。１７は動作制御部８２の制御の下に荷重センサ９の曲げモードでの振動を起こす加振機、１８は荷重センサ９の曲げ歪みを測定して測定結果を動作制御部８２に入力する受信器である。この第２実施形態の第１実施形態との違いは、複数の荷物すなわち荷物６とゴルフバック１６がベルトコンベア５に搭載されることにより、高さセンサ１０の測定プロファイルに対して荷物６の密度は一定であるとの仮定が使えなくなるため、慣性モーメントを推定できなくなる点である。加振機１７と受信機１８の役目は、荷重センサ９を先端に錘の付いた短い曲げモード梁と見立て、これの振動方向１９ａ、１９ｂの共振周波数を測定することで、錘の大まかな慣性モーメントを知ることである。荷重センサ９の長さは十分に短いとすると、荷重センサ９とベルトコンベア５、荷物６、ゴルフバック１６は図２５の様にモデル化できる。図２５に示される、支点３２７の回りにバネ定数ｋを持ったバネ３２８，３２９で支えられた、重さＭｓ、慣性モーメントＩｓの複振子６Ｚの共振周波数は、次のように表される。ただし、Ｌｓは支点３２７からベルトコンベア５と荷物６との合成重心６Ｉまでの距離である。
【０１１６】
【数１７】
2006123854.tif 000019
で与えられる。ここに、距離Ｌｓに荷物の高さに応じた適当な距離Ｌ０を代入するようにＬｓ＝Ｌ０と仮定して式１７を解くと、
【数１８】
2006123854.tif 000020
となり、慣性モーメントＩｓが定まる。これは、荷物６とゴルフバック１６と荷台５を合わせた合成慣性モーメントである。この値を基に、機体３の正確な機械定数を定めることで適切な状態フィードバックゲインを定めることが可能となる。
【０１１７】
さらに、荷物６とゴルフバック１６の合成重心６Ｉの位置を求めるには、ベルトコンベア５を動かしながら周波数の最大値を動作制御部８２で検出することで行える。これは、式１７において荷物６とゴルフバック１６の合成重心６Ｉが荷重センサ９の真上から外れると距離Ｌｓが大きくなり、共振周波数ｆが小さくなることを利用している。図２６はベルトコンベア５を動かしながら共振周波数の変化をプロットした図である。２１はそれぞれのベルトコンベア５の位置での共振周波数を表し、曲線２０はこれらのデータに対して２次多項式をフィッティングした結果である。曲線２０から周波数の最大点２２を動作制御部８２で決定することができる。決定された周波数の最大点の位置２２まで荷物６とゴルフバック１６の合成重心が移動するように動作制御部８２の制御の下でベルトコンベア５を動かすことによって、荷物６とゴルフバック１６の合成重心６Ｉが機体３の重心２４の位置の真上に位置することになり、水平バランスを保つことが可能である。
【０１１８】
上記第２実施形態によれば、複数の荷物すなわち荷物６と，ゴルフバック１６がベルトコンベア５に搭載されることにより、高さセンサ１０の測定プロファイルに対して荷物６の密度は一定であるとの仮定が使えなくなり、慣性モーメントを推定できなくなっても、加振機１７と受信機１８とを備えて、荷重センサ９を先端に錘の付いた短い曲げモード梁と見立て、これの振動方向１９ａ、１９ｂの共振周波数を測定することで、錘の大まかな慣性モーメントを知ることができる。この結果、ベルトコンベア５の位置での共振周波数を表す曲線２０から動作制御部８２により決定された周波数の最大点の位置２２まで荷物６とゴルフバック１６の合成重心が移動するように、動作制御部８２の制御の下でベルトコンベア５を動かすことによって、荷物６とゴルフバック１６の合成重心６Ｉが機体３の重心２４の位置の真上に位置することになり、水平バランスを保つことが可能となる。
【０１１９】
（第３実施形態）
本発明の第３実施形態にかかるロボットは、荷物の形状は直接的には測定せず、形状を仮定して、重さのみを測定するものである。
【０１２０】
図１における高さセンサ１０は、荷物６をベルトコンベア５上でスキャンすることにより、荷物６の形状や置かれた位置を測定する目的で利用される。荷物６の形状が判明すると、荷物６の密度は一定であるとの仮定の下で荷物６の慣性モーメントを動作制御部８２で算出することができる。
【０１２１】
図２７において、荷物６の車軸回り慣性モーメントの算出方法を説明する。図中、荷物６の形状を幅Ｗ、高さｈ、奥行きｂ（図示せず）、また、車軸２ｃ，２ｄから荷台５までの高さをｈ０とする。荷物質量はＭｎ、密度は一様とする。この時、荷物６の車軸回り慣性モーメントＩｎは、
【数１９】
2006123854.tif 000021
と表される。式１９において、荷物質量Ｍｎ、高さｈ０を一定値とすれば、慣性モーメントＩｎは高さｈと奥行きｂに対して単調増加することがわかる。このことから、予めユーザ６５が利用可能な荷物６の最大サイズを定めておけば（たとえば荷物の一例であるスーツケースの最大サイズはＬサイズと定めておけば）、荷物質量しか測定できない場合でも、慣性モーメントＩｎの想定最大値を算出することができる。
【０１２２】
先に述べた図９及び図１０の結果より、慣性モーメントＩｎを大きめに見積もって設計した状態フィードバックゲインは、制御系の安定性を保証するので、慣性モーメントＩｎの想定最大値を用いることは好都合である。
【０１２３】
以上の手法を用いると、高さセンサ１０が不要で、荷重センサ９だけのロボット６７を実現することができ、その時の荷物運びの動作フローを図２８に示す。
【０１２４】
図２８のステップＳ２１１において、ロボット６７は、支持脚８ａ，８ｂを接地した状態でユーザ６５が荷物６を置くことを待っている。本実施形態では荷物６の位置を測定する高さセンサ１０が無いので、ユーザ６５は荷物６の重心と車軸２ｃ，２ｄの位置とをできるだけ一致させることが要求される。
【０１２５】
図２８のステップＳ２１２において、荷物６の重量を荷重センサ９で測定して動作制御部８２に入力され、ふさわしい状態フィードバックゲインが動作制御部８２により設定される（図２８のステップＳ２１３参照）。
【０１２６】
図２８のステップＳ２１４において、動作制御部８２の制御により、支持脚８ａ，８ｂを解除してバランス制御を開始すると、やむを得ず残っている荷物重心の位置ズレから、ロボット荷台であるベルトコンベア５の水平が維持できないことがわかる。
【０１２７】
そこで、図２９のステップＳ２１５においては、動作制御部８２の制御により、ベルトコンベア５を試行錯誤的に微小距離ずつ動かしながら荷物重心２３Ｈの位置ズレを修正し、荷台であるベルトコンベア５の水平を回復している。
【０１２８】
その後、図２９のステップＳ２１６において、動作制御部８２の制御により、走行を開始し、目的地で支持脚８ａ，８ｂを接地してバランス制御を終了する（図２９のステップＳ２１７参照）。
【０１２９】
ユーザ６５が荷物６Ｈを取り去ることを待って、一連のタスクを終了する（図２９のステップＳ２１８参照）。
【０１３０】
上記第３実施形態によれば、高さセンサ１０が不要となり、荷重センサ９だけのロボット６７を実現することができる。
【０１３１】
（第４実施形態）
本発明を倒立２輪走行ロボット型の運搬ロボット６７以外へ適用する例としては、荷物運搬２足歩行ロボット１６７がある。
【０１３２】
図３０は、本発明の第４実施形態の、姿勢制御された２足歩行ロボットによる荷物運搬を示した図である。図３０において、４９は２足歩行ロボットの動作を制御する制御部、５０は足、５１は制御部４９に接続されかつ足５０の下面に設置されたＺＭＰ（ゼロモーメントポジション）検出センサ、５２ａ、５２ｂ、５２ｃ、５２ｄ、５２ｅ、５２ｆ、５２ｇは制御部４９により制御されかつ各関節に取り付けられた関節駆動用モータである。
【０１３３】
この荷物運搬２足歩行ロボット１６７では、２足歩行ロボット１６７の静的バランス制御はＺＭＰ検出センサ５１によって検出される重心位置が、自らの足５０の支持領域の中に入るように、制御部４９を用いて、各関節の関節駆動用モータ５２ａ〜５２ｇを位置制御し、ロボット１６７の重心１６７Ｇと荷物１６６の重心１６６Ｇとの合成重心１６９の位置（図３１及び図３２参照）を微調整することでバランス制御を行っている。この結果、２足歩行ロボット１６７に外乱となる力が加わったときには、一時的に重心位置が変動するが、制御部４９により関節駆動用モータ５２ａ、５２ｂ、５２ｃ、５２ｄ、５２ｅ、５２ｆ、５２ｇを適宜動作制御することにより、上記変動を元に戻すような関節の動きが発生する。外乱が大き過ぎる場合、一時的に変動した重心位置が足５０の支持領域から外れてしまい、２足歩行ロボット１６７が転倒してしまう場合がある。第４実施形態においては、このような事故を防止するために、ロボット１６７が持つことを予定している荷物１６６を、制御部４９に無線で接続可能な荷重センサ５４に予め搭載して荷物１６６の重量を測定する。荷重センサ５４は内蔵する図示しない無線送信機によってロボット１６７の制御部４９に荷物１６６の重さを通知する。ロボット１６７は荷物１６６を受け取るにあたって、その重量が自分の保持可能重量以内であるかどうか、また、どのような姿勢を取るべきかを判断し、ロボット１６７のアーム１６７ａの先端の手１６７ｂで荷物１６６を受け取るように制御部４９で動作制御することができる。図３３にロボットが軽い荷物１６６ａを手１６７ｂで持つときと重い荷物１６６ｂを持つときのアーム１６７ａの姿勢の違いを示す。図３３の（ａ）のようにアーム１６７ａを前方に突き出した場合、荷物１６６ａを手１６７ｂで拾い上げる際に荷重センサ５４との干渉の心配が少ないが、逆に荷物１６６が重いと直立バランスを崩す恐れがある。そこで、図３３の（ｂ）のように荷物１６６ｂが重い場合は、アーム１６７ａを出来るだけ手元に引き寄せて、手１６７ｂで荷物１６６ｂを持つように制御部４９で関節駆動用モータ５２ａ、５２ｂ、５２ｃ、５２ｄ、５２ｅ、５２ｆ、５２ｇを動作制御する。このような動作によって、２足歩行ロボット１６７が重い荷物１６６ｂを手１６７ｂで持つことによる転倒を防止することができる。なお、２足歩行ロボット１６７のモータ制御は位置制御で行われるのが一般的であり、第１実施形態及び第２実施形態で示した車輪型のモータがトルク制御されるのとは状況が異なっている。このため、荷物質量の変動によるサーボ系の発振は起こりにくく、サーボゲインの変更は不要である。
【０１３４】
以下に、二足歩行ロボット１６７による荷物１６６の把持及び運搬に伴うバランスの取り方の判断処理について、詳細に説明する。
【０１３５】
上記したように、二足歩行ロボット１６７の場合、荷物１６６が重い場合、また、荷物位置がロボット１６７の重心１６７Ｇから大きく離れている際に、ロボット１６７の重心１６７Ｇと荷物１６６の重心１６６Ｇとの合成重心１６９の位置がずれてロボット１６７がバランスを崩してしまう恐れがある。言い換えれば、ロボット１６７の重心１６７Ｇと荷物１６６の重心１６６Ｇとの合成重心１６９の位置がロボット１６７の足裏形状からなる支持多角形の外に出てしまえば、最悪の場合転倒してしまうこともある。そこで、図３１及び図３２に示すような荷物授受に伴う重心の位置制御を制御部４９により行う。
【０１３６】
まず、ロボット１６７の外部に配置された荷重センサ５４により、荷物１６６の重量・形状を測定して制御部４９に出力する（図３０及び図３１のステップＳ２２１参照）。この荷重センサ５４は、一例として図３０に示す荷重センサ５４に限らず、第１及び第２の実施形態に示したような機械量測定センサでも良いし、また、あらかじめ重量・形状が登録されている荷物１６６であれば、荷物１６６に付けた電子タグからと荷物１６６のＩＤをタグリーダで読み取り、読み取られたＩＤを基にデータベースからＩＤに対応する重量を読み出すようにしてもよい。
【０１３７】
このようにして得られた重量などの情報を基に、ロボット１６７は手１６７ｂで荷物１６６を持ったときに荷物１６６が自分の体と干渉しないように、制御部４９で関節駆動用モータ５２ａ、５２ｂ、５２ｃ、５２ｄ、５２ｅ、５２ｆ、５２ｇを動作制御してアーム１６７ａ及び肩の姿勢を決定する（図３１のステップＳ２２２参照）。
【０１３８】
この状態では、ロボット１６７の重心１６７Ｇが、足裏中心の鉛直線２７Ａよりも前方に寄った形となるため、胴体１６７ｃを後傾して重心１６７Ｇの位置を鉛直線２７Ａよりも後方にずらし、ロボット１６７が荷物１６６を持ったときに、合成重心１６９がちょうど足裏中心の鉛直線２７Ａ上に来るように、制御部４９で関節駆動用モータ５２ａ、５２ｂ、５２ｃ、５２ｄ、５２ｅ、５２ｆ、５２ｇを動作制御して、合成重心１６９の位置を調整する（図３１のステップＳ２２３参照）。
【０１３９】
この調整の段階で、ロボット１６７の重心１６７Ｇの位置が足裏形状からなる支持多角形の外に出てしまう場合、荷物１６６の保持は不可能と判断して（図３１のステップＳ２２４参照）、荷物運びのタスクを中止する（図３１のステップＳ２２６参照）。
【０１４０】
この調整が無事終了した場合、荷物１６６を持ったとき、その合成重心１６９は正しく支持多角形の中心に位置することになるため（図３１のステップＳ２２５参照）、ロボット１６７は安定した歩行を行うことができる（図３２のステップＳ２２７参照）。
【０１４１】
人間に荷物１６６を渡した後は（図３２のステップＳ２２８参照）、胴体１６７ｃの後傾を元に戻し（図３２のステップＳ２２９参照）、アーム１６７ａの位置を元に戻す（図３２のステップＳ２３０参照）。
【０１４２】
この第４実施形態によれば、２足歩行ロボット１６７が手１６７ｂで荷物１６６を受け取った時にロボット１６７がバランスを崩さないように、荷物１６６の質量又は質量及び形状を事前に測定し、荷物１６６を持つにふさわしいアーム１６７ａと胴体１６７ｃの姿勢をとると同時に、かかと関節を用いて荷物１６６とロボット１６７との想定合成重心１６９の位置を足裏中心上に移動し、この後に荷物１６６を受け取ることができるように、制御部４９で関節駆動用モータ５２ａ、５２ｂ、５２ｃ、５２ｄ、５２ｅ、５２ｆ、５２ｇを動作制御する。このように制御することにより、ロボット１６７は、常に合成重心１６９を足裏中心付近に保ちながら、安定して２足で立脚することができる。
【０１４３】
なお、上記実施形態において、荷台の一例はベルトコンベアであり、上記移動装置の一例は上記ベルトコンベアを駆動する駆動装置であるとしたが、これに限られるものではなく、上記荷台の別の例として直動ステージとし、上記移動装置の別の例は直動ステージを駆動する駆動装置としてもよい。
【０１４４】
すなわち、図３８に直動ステージ６０を用いた本発明の他の実施形態を示す。図３８の（ａ）において直動ステージ６０は機体３の上に荷重センサ９を介して取り付けられている。直動ステージ６０は荷台部６０ａと駆動部６０ｂとを備えて、駆動部６０ｂにはモータ、送りネジ等のアクチュエータが収納され、荷台部６０ａを直線移動させて、任意の位置に位置決め可能である。いま、ユーザが荷物６を荷台部６０ａに置いたとき、ベルトコンベアを用いた第１実施形態、第２実施形態と同様な手法により。荷物６の重心位置２３を検出する。荷台部６０ａの重心位置６０Ｇは直動ステージ６０の位置情報として予めわかっているため、荷台部６０ａと荷物６の合成重心２５ｇの位置を算出することができる。図３８の（ｂ）において直動ステージ６０を移動することにより、算出された合成重心２５ｇの位置を車軸上に位置決めし、これにより倒立バランス時の水平が確保される。あるいは、第３実施形態に示したように、倒立バランス時に水平が保たれるまで、直動ステージ６０の位置を微調整するという方法も実施可能である。
【０１４５】
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０１４６】
本発明にかかる荷物運搬ロボットは、不安定な機体と、機体の姿勢を検出する姿勢センサと、姿勢を保持する力を発生するアクチュエータと、機体の姿勢を安定化する制御コンピュータと、機体から着脱可能な荷物と、機体に搭載された荷物を姿勢の安定化方向に移動させる移動装置を有する。さらに、荷物の重さや形状を測定することにより、荷物の重心位置、及び慣性モーメントを推定し、バランス動作に最適なゲインと水平バランスを実現することができる。この技術により荷物運搬ロボットにおいて荷崩れを起こすことなく荷物を安定して運搬することが可能となり、有用である。また、この技術は車輪型の荷物運搬ロボットだけでなく、２足歩行型荷物運搬ロボットにも応用できる。
【図面の簡単な説明】
【０１４７】
【図１】本発明の第１実施形態における荷物搬送ロボットの斜視図である。
【図２】第１実施形態における荷物搬送ロボットの側面図である。
【図３】（ａ）〜（ｃ）はそれぞれ本発明の第１実施形態における荷物搬送ロボットの側面図、正面図、下面図である。
【図４】本発明の第１実施形態における荷物搬送ロボットにおいて荷物受け渡しと荷物運搬の状態を示す図である。
【図５】本発明の第１実施形態における荷物搬送ロボットにおける概略ブロック図である。
【図６】本発明の第１実施形態における荷物搬送ロボットのそれぞれの装置とＣＰ制御部などとの関係を示すブロック図である。
【図７】本発明の第１実施形態における荷物搬送ロボットにおいて機体のパラメータを定義を説明するための図である。
【図８】本発明の第１実施形態における荷物搬送ロボットのより具体的な例の制御系のブロック線図である。
【図９】（ａ）〜（ｄ）はそれぞれ本発明の第１実施形態における荷物搬送ロボットにおいて、図８で示した制御系と式３で表されるロボットの線形モデルを組み合わせたシミュレーションの結果を示すグラフである。
【図１０】（ｅ）〜（ｈ）はそれぞれ本発明の第１実施形態における荷物搬送ロボットにおいて、図８で示した制御系と式３で表されるロボットの線形モデルを組み合わせたシミュレーションの結果を示すグラフである。
【図１１】バランス制御に用いられる制御アルゴリズムに使われる変数標記を表す図である。
【図１２】第１実施形態における荷物搬送ロボットにおいて荷物を機体重心から外れた位置に置いた時の倒立バランスを表す図である。
【図１３】第１実施形態における荷物搬送ロボットにおいて荷物形状測定時の高さセンサの測定値変化を表す図である。
【図１４】（ａ）〜（ｅ）はそれぞれ本発明の第１実施形態における荷物搬送ロボットの荷物運びの動作についてロボットとユーザを上方から見た平面図である。
【図１５】図１４に続く、（ｆ）〜（ｉ）はそれぞれ本発明の第１実施形態における荷物搬送ロボットの荷物運びの動作についてロボットとユーザを上方から見た平面図である。
【図１６】本発明の第１実施形態における荷物搬送ロボットの荷物運びの動作シーケンスの図とそれぞれのステップでの説明図を関連付けて示す図である。
【図１７】図１６に続く、本発明の第１実施形態における荷物搬送ロボットの荷物運びの動作シーケンスの図とそれぞれのステップでの説明図を関連付けて示す図である。
【図１８】本発明の第１実施形態における荷物搬送ロボットにおいてカウンタウェイトが不要であることを説明するための図である。
【図１９】（ａ）〜（ｃ）はそれぞれ本発明の第１実施形態の変形例における荷物搬送ロボットにおいて長尺物の荷物と障害物の関係を示す図である。
【図２０】本発明の第１実施形態における荷物搬送ロボットにおいて長尺の荷物をロボットで運搬するときの図である。
【図２１】本発明の第１実施形態の変形例における荷物搬送ロボットにおいて、スキー板を搭載したロボットが障害物の近くでバランスを崩した状況での制御アルゴリズムの図とそれぞれのステップでの説明図を関連付けて示す図である。
【図２２】本発明の第１実施形態の変形例における荷物搬送ロボットの図２１とは別の制御アルゴリズムを示す図とそれぞれのステップでの説明図を関連付けて示す図である。
【図２３】（ａ）〜（ｄ）はそれぞれ本発明の第１実施形態の変形例における荷物搬送ロボットにおいて長尺物の荷物を用いた機体のバランス制御を使用して、ロボットが旋回して人間を避ける状態を示す説明図である。
【図２４】本発明の第２実施形態における荷物運搬ロボットの荷台付近を表す側面図である。
【図２５】上記第２実施形態における荷台付近を複振子で表現したモデル図である。
【図２６】上記第２実施形態における共振周波数の変化をプロットした図である。
【図２７】本発明の第３実施形態における荷物搬送ロボットにおいて荷物の車軸回り慣性モーメントの算出方法を説明するための図である。
【図２８】本発明の第３実施形態における荷物搬送ロボットにおいて荷物運びの動作フローを説明するための説明図付きのフローチャートである。
【図２９】図２８に続く、本発明の第３実施形態における荷物搬送ロボットにおいて荷物運びの動作フローを説明するための説明図付きのフローチャートである。
【図３０】本発明の第４実施形態の荷物運搬用の２足歩行ロボットの側面図である。
【図３１】本発明の第４実施形態における荷物搬送二足歩行ロボットによる荷物の把持及び運搬に伴うよるバランスの取り方を説明するための説明図付きのフローチャートである。
【図３２】図３１に続く、本発明の第４実施形態における荷物搬送二足歩行ロボットによる荷物の把持及び運搬に伴うよるバランスの取り方を説明するための説明図付きのフローチャートである。
【図３３】（ａ），（ｂ）はそれぞれ上記第４実施形態の荷物重量の違いによるアーム姿勢の違いを表す図である。
【図３４】従来のアームと先端の錘によってバランスされるロボットを表す斜視図である。
【図３５】従来のアームと先端の錘によってバランスされるロボットを表す側面図である。
【図３６】従来の椅子型の乗り物を表す斜視図である。
【図３７】従来の椅子型の乗り物に組み込まれたカウンタウェイトを示す図である。
【図３８】（ａ），（ｂ）はそれぞれ本発明の他の実施形態の荷物搬送ロボットにおいて、ユーザが荷物を置いたときの説明図、及び、直動ステージを動かして合成重心を車軸上に持ってきたときの説明図である。
【符号の説明】
【０１４８】
１ａ，１ｂ  車輪
２ａ，２ｂ  モータ
２ｃ，２ｄ  車軸
３  機体
４  姿勢センサ
５  ベルトコンベア
５ａ  ベルト部
５ｂ、５ｃ  ローラ部
５ｄ  荷重面
６  荷物
６ａ  軽い荷物
６ｂ  重い荷物
６Ｈ  長尺の荷物
６Ｉ  合成重心
６Ｚ  複振子
７  方向
８ａ，８ｂ  支持脚
８ｃ，８ｄ  支持脚用昇降装置
９  荷重センサ
１０  高さセンサ
１１  高さセンサの出力
１２  荷物幅
１３  荷物高さ
１４  ノイズ成分
１５  荷物の中心軸
１６  ゴルフバック
１７  加振機
１８  受信器
１９ａ，１９ｂ  振動方向
２０  曲線
２１  共振周波数
２２  周波数の最大点
２３  荷物の重心
２４  機体重心
２５，２５ｇ  合成重心
２６  接地点
２７  鉛直線
２９  地面
３０  障害物
４９  制御部
５０  足
５１  ＺＭＰ検出センサ
５２ａ，５２ｂ，５２ｃ，５２ｄ，５２ｅ，５２ｆ，５２ｇ  モータ
５４  荷重センサ
６０  直動ステージ
６０ａ  荷台部
６０ｂ  駆動部
６０Ｇ  重心位置
６１  速度変化
６２  姿勢変化
６５  ユーザ
６７  ロボット
６８  モータトルク指令
６９  状態変数
７０  合算点
７１  ジャイロ
７２  ２軸加速度センサ
７３  センサフュージョン
７４  サブＣＰＵ
７４Ａ  ＣＰＵ
７６ａ，７６ｂ  エンコーダ
７７  エンコーダカウンタ
７８  状態フィードバックゲイン
７８Ａ  制御ゲイン
８０ａ，８０ｂ  モータドライバ
８１  メインＣＰＵ
８２  動作制御部
８３  動作シナリオ用データベース
８４  インターフェース
８５ａ，８５ｂ  送りネジ軸
８６ａ，８６ｂ  パルスモータ
８６Ｐ  パルスモータドライバ
８７  パルスモータ
８７Ｐ  パルスモータドライバ
８８  ユーザＩ／Ｆデバイス
８９  目標値
８９Ａ  目標値
９０  状態変数
９１  障害物検出センサ
９１ａ，９１ｂ  レンジファインダ
９２ａ，９２ｂ  チルトステージ
９３  障害物
９６  ユーザ追跡用の発信器
９７  ユーザ追跡用の受信器
９８ａ  光
９９  エッジ
１００  制御部
１６６  荷物
１６６ａ  軽い荷物
１６６ｂ  重い荷物
１６７  荷物運搬２足歩行ロボット
１６７ａ  アーム
１６７ｂ  手
１６７ｃ  胴体
３２７  支点
３２８，３２９  バネ
３６８  モータトルク指令
３７０  合算点
３７１  状態フィードバックゲイン
３７３  角速度指令値
３７５  目標状態生成器
【図１】
2006123854.tif 000022
【図２】
2006123854.tif 000023
【図３】
2006123854.tif 000024
【図４】
2006123854.tif 000025
【図５】
2006123854.tif 000026
【図６】
2006123854.tif 000027
【図７】
2006123854.tif 000028
【図８】
2006123854.tif 000029
【図９】
2006123854.tif 000030
【図１０】
2006123854.tif 000031
【図１１】
2006123854.tif 000032
【図１２】
2006123854.tif 000033
【図１３】
2006123854.tif 000034
【図１４】
2006123854.tif 000035
【図１５】
2006123854.tif 000036
【図１６】
2006123854.tif 000037
【図１７】
2006123854.tif 000038
【図１８】
2006123854.tif 000039
【図１９】
2006123854.tif 000040
【図２０】
2006123854.tif 000041
【図２１】
2006123854.tif 000042
【図２２】
2006123854.tif 000043
【図２３】
2006123854.tif 000044
【図２４】
2006123854.tif 000045
【図２５】
2006123854.tif 000046
【図２６】
2006123854.tif 000047
【図２７】
2006123854.tif 000048
【図２８】
2006123854.tif 000049
【図２９】
2006123854.tif 000050
【図３０】
2006123854.tif 000051
【図３１】
2006123854.tif 000052
【図３２】
2006123854.tif 000053
【図３３】
2006123854.tif 000054
【図３４】
2006123854.tif 000055
【図３５】
2006123854.tif 000056
【図３６】
2006123854.tif 000057
【図３７】
2006123854.tif 000058
【図３８】
2006123854.tif 000059