説明

荷物運搬ロボット

【課題】 機体の姿勢を安定化させるように姿勢を保持する力をアクチュエータに発生させる荷物運搬ロボットにおいて、荷物を機体重心からずれた位置においた場合でも、荷物の重心位置を自動的に移動させて水平バランスを回復できる2輪走行型荷物運搬ロボットを提供する。
【解決手段】 荷物運搬ロボットの荷台にベルトコンベアを配置し荷物を姿勢の安定化方向に移動させることにより、合成重心位置が常に設計位置付近にあるように補正動作を行う結果、荷物搭載時の水平バランス崩れを防止することができ、安定した荷物運搬を実現できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、荷物運搬作業を行うロボットのうち、本来不安定な2輪走行用機体を制御の力によってバランスするタイプのロボットに対して、荷物を安定して運ぶための機構技術、制御技術、計測技術を備えた荷物運搬ロボットに関するものである。
【背景技術】
【0002】
[第1従来例]
従来の不安定な機体を制御によってバランスを取る人間と共存する自律ロボットとしては、同軸2輪による倒立走行ロボットが有名である。その基本構成を図34、図35に示す。なお、図34、図35は特許文献1に記載されている。
【0003】
図34はロボットの斜視図、図35は側面図である。図34に示すように車軸101の両端には一対の車輪102,103が止着されており、車軸101には四角枠形状の車体104が傾動可能に支持されている。車体104の上部には支軸105が回動可能に架設支持されており、支軸105の中央には姿勢制御アーム106が吊下固定されていると共に、姿勢制御アーム106の下端には重錘106aが取り付けられている。重錘106a直下にて車体104には正逆転可能な車輪駆動用モータ107が装着されており、図35に示すようにその駆動軸107aと車軸101との間には減速歯車列108が介在されている。これにより車輪駆動用モータ107の回転駆動が減速して車軸101に伝達され、車輪102,103が正逆回転する。支軸105の直上にて車体104には正逆転可能な姿勢制御アーム駆動用モータ109が装着されており、その駆動軸109aと支軸105との間には減速歯車列110が介在されている。これにより姿勢制御アーム駆動用モータ109の回転駆動が減速して支軸105に伝達され、姿勢制御アーム106が前後に揺動する。
【0004】
車体104の一側面には第1のロータリエンコーダ111が設けられており、その回転軸111aが車軸101の延長線上に設定されている。回転軸111aには一対の接触片112,113が直角状態に取付けられており、それらの先端が床面に摺動可能に接触している。これにより鉛直線に対する車体104の傾斜角度が検出される。車輪駆動用モータ107には第2のロータリエンコーダ114が装着されていると共に、姿勢制御アーム駆動用モータ109には第3のロータリエンコーダ115が装着されており、両モータ107,109の回転角度、即ち車輪102,103の回転角度、鉛直線に対する傾斜角度、及びアーム106の車体104に対する角度が検出される。
【0005】
車体104の下部にはマイクロコンピュータからなる制御コンピュータ116が搭載されており、上記各ロータリエンコーダ111,114,115の検出信号が入力される。制御コンピュータ116はこれら入力信号に基づいて車輪駆動用モータ107及び姿勢制御アーム駆動用モータ109の制御トルクを算出し、これら制御トルク相当の作動を車輪駆動用モータ107及び姿勢制御アーム駆動用モータ109に指令する。
【0006】
より具体的には、エンコーダ111,114,115より検出される角度はロボットの姿勢を表す状態変数となるので、この値にあらかじめロボットの力学モデルを姿勢角を安定化する最適レギュレータ問題として算出した状態フィードバック係数を掛け合わせ、車輪駆動用モータ107,アーム駆動用モータ109に対する制御トルクが求まる。なお、ロボットの力学モデルの制御トルク入力を変更することで、つぎの3つの場合に対応する状態フィードバック係数が求まる。(1)車輪駆動用モータ107のみを制御する場合、(2)姿勢制御アーム駆動用モータ109のみを制御する場合、(3)車輪駆動用モータ107,姿勢制御アーム駆動用モータ109の両方を同時に制御する場合、である。発明者らによると、(3)が最も制御性能が良く、車体が傾動すれば車輪が車体の傾動方向に向かって移動すると共に、姿勢制御アームが車体の傾動方向と反対側へ回動し、車体の水平バランス復元が確実に行われるとしている。また、発明者らは、(2)の制御性能が最も悪いとしており、この理由として、モータ109に続く減速歯車110のバックラッシュが大きく、制御対象の非線形性が大きくなりすぎるため十分な制御ができないことを挙げている。
【0007】
[第2従来例]
図36は特許文献2に開示されている椅子形状の乗り物の斜視図である。図36に示すように、椅子形状搬送装置211は略球形状の球状回転体217と、球状回転体217上に設けられた筐体213並びに、操車者212を保持するための部材である座席214を有する部材である。筐体213には球状回転体217を駆動する駆動部、筐体213の姿勢(傾き角度)を検出する図示しない傾き角度センサが設けられている。センサ部が筐体213の垂線に対する傾き角度に応じた信号を検出し、制御部が筐体213の傾き角度に応じた信号に応じて駆動部に駆動信号を出力して略球状の回転体217を回転させることにより筐体213の姿勢及び移動を制御する。操車者212が、前傾、後傾等の姿勢を取ることにより体重を移動した場合に重心の移動が筐体213に正確に伝り、上記の姿勢制御とあいまって、操車者212の意図する方向に椅子形状搬送装置211は走行していく。
【0008】
図37は、椅子形状搬送装置331の重心位置を変更するための部材である第1カウンタウェイト部349c、第2カウンタウェイト部349bを、椅子形状搬送装置331の筐体333に設けた様子を示す内視図である。第1カウンタウェイト部349cはx軸方向に重量の移動を行うように配置され、第2カウンタウェイト部349bはy軸方向に重量の移動を行うように配置されている。このため、第1カウンタウェイト部349cと第2カウンタウェイト部349bとにより二次元的に重心位置の変更を行うことが出来る。以上の構成で、操車者の着座位置が予定位置からずれて、操車者の重心と搬送装置331の重心が一致しない場合に発生する筐体33の傾きに対し、制御部が筐体333の傾き角度に応じた信号に応じてカウンタウエイト駆動信号を出力して筐体333の水平バランスを回復することができる。
【0009】
【特許文献1】特許第2530652号公報(第1図、第2図)
【特許文献2】特開2004−129435号公報(第1図、第27図)
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、上記従来の構成では、アームの先端に取り付けた錘の位置を動かしたり、またあらかじめ機体内部に組み込まれたカウンタバランスを動かすことによって水平バランスを回復しており、質量がカウンタバランス以上に大きい荷物を搭載した場合、これらの錘やカウンタバランスを動かすだけでは水平を回復できない恐れがあるという課題を有していた。また、仮にカウンタバランスや錘の質量を十分に大きくしようとすると、機体重量が増大し移動体としての運動性能を阻害するという課題を有していた。
【0011】
本発明は、上記従来の課題を解決するもので、本来不安定な機体を制御の力によってバランスするタイプの2輪走行型荷物搬送ロボットにおいて、仮に質量が不明な荷物を荷台に搭載して荷物の重心と機体の重心とがずれたとしても、その荷物の重心位置を自動的に移動させて水平バランスを回復することができる2輪走行型荷物運搬ロボットを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明は以下のように構成する。
【0013】
上記従来の課題を解決するために、本発明によれば、同軸上に配置されて2つの車軸にそれぞれ連結されてそれぞれ回転可能に支持された2つの車輪と、荷物を搭載可能な荷台とを有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記姿勢センサでの検出結果に基づき上記2つの車輪をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記荷台を上記機体に対して移動可能な移動装置と、
上記機体の姿勢を安定化させるように上記アクチュエータを動作制御するとともに、上記移動装置を動作制御して上記機体の上記荷台に搭載された上記荷物を上記機体の姿勢の安定化方向に移動させる制御部と、
を有することを特徴とする2輪走行型荷物運搬ロボットを提供する。
【0014】
本構成によって、いかなる重さの荷物が、どれほど機体重心位置から外れた場所に置かれたとしても、移動装置が移動可能な範囲である限り、荷台の水平バランスを維持することができる。
【発明の効果】
【0015】
本発明の2輪走行型荷物運搬ロボットで、人間が荷物を例えば荷台の手前側に置き、荷物重心と機体重心が大きくずれている場合でも、その荷物を制御部での制御の下に移動装置で自動的に移動させて、荷物重心と機体重心と一致させることにより、走行中の荷台を常に水平に保つことができる。静止時に水平バランスを保つことができれば、走行時にも姿勢制御型の倒立ロボットの特性から、荷物にかかる重力と慣性力の和は荷台に対して常に垂直となり、荷物の横滑りや荷崩れがなくなる。
【0016】
また、人間への荷物の返却の際にも、荷物を人間側に移動するようにすれば、人間との荷物の受け渡しを容易にする効果もある。
【0017】
さらに、狭い場所に入ってバランスを取る必要がある場合は、車輪を停止し荷物を前後に移動するようにすれば、機体を大きく移動することなくバランス制御が可能となるという効果もある。
【発明を実施するための最良の形態】
【0018】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する前に本発明の種々の態様について説明する。
【0019】
本発明の第1態様によれば、同軸上に配置されて2つの車軸にそれぞれ連結されてそれぞれ回転可能に支持された2つの車輪と、荷物を搭載可能な荷台とを有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記姿勢センサでの検出結果に基づき上記2つの車輪をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記荷台を上記機体に対して移動可能な移動装置と、
上記機体の姿勢を安定化させるように上記アクチュエータを動作制御するとともに、上記移動装置を動作制御して上記機体の上記荷台に搭載された上記荷物を上記機体の姿勢の安定化方向に移動させる制御部と、
を有することを特徴とする2輪走行型荷物運搬ロボットを提供する。
【0020】
本発明の第2態様によれば、上記荷台に搭載された上記荷物の少なくとも質量を測定して検出する検出部をさらに備え、上記検出部での検出結果を基に、上記制御部での制御の下に、上記移動装置により上記荷物を上記機体の姿勢の安定化方向に移動させること特徴とする第1の態様に記載の荷物搬送ロボットを提供する。
【0021】
本発明の第3態様によれば、上記検出部は、上記荷台に搭載された上記荷物の質量を測定して検出するとともに、上記荷物の形状を測定し又は慣性モーメントを算出して検出する検出部をさらに備え、上記検出部での検出結果を基に、上記制御部での制御の下に、上記移動装置により上記荷物を上記機体の姿勢の安定化方向に移動させること特徴とする第1の態様に記載の荷物搬送ロボットを提供する。
【0022】
本発明の第4態様によれば、上記制御部は、上記荷台が水平方向沿いとなるように上記荷台に搭載された上記荷物を移動させる上記移動装置を駆動して上記機体の姿勢を安定化させることを特徴とする第1〜3のいずれか1つの態様に記載の荷物搬送ロボットを提供する。
【0023】
本発明の第5態様によれば、上記荷台がベルトコンベアであり、上記移動装置は上記ベルトコンベアを駆動する駆動装置であることを特徴とする、第1〜4のいずれか1つの態様に記載の荷物運搬ロボットを提供する。
【0024】
本発明の第6態様によれば、上記荷台が直動ステージであることを特徴とする第1〜4のいずれか1つの態様に記載の荷物運搬ロボットを提供する。
【0025】
本発明の第7態様によれば、上記制御部は、上記荷物の運搬が終了したとき、上記荷台に上記荷物を搭載した位置まで上記荷物を戻すように上記移動装置を駆動制御することを特徴とする第1〜6のいずれか1つの態様に記載の荷物運搬ロボットを提供する。
【0026】
本発明の第8態様によれば、上記機体は、上記機体を支持する支持位置と該支持位置から退避した退避位置との間で昇降可能な支持脚を、上記機体がさらに有して、
上記荷台に対して上記荷物を搭載又は取り出すときには上記支持脚が上記支持位置に位置して上記機体を支持する一方、上記車輪により荷物運搬走行時には上記支持脚が上記退避位置に位置することを特徴とする第1〜7のいずれか1つの態様に記載の荷物運搬ロボットを提供する。
【0027】
以下本発明の実施の形態について、図面を参照しながら説明する。
【0028】
(第1実施形態)
図1は本発明の第1実施形態における荷物搬送ロボット67の斜視図、図2は側面図、図3の(a)、図3の(b)、図3の(c)はロボット67の側面図、正面図、下面図である。図1、図2、図3において、1a、1bは同軸上に配置されて2つの車軸2c,2dにそれぞれ連結された2つの車輪、2a、2bは2つの車軸2c,2dにそれぞれ連結されてこれ2つの車輪1a,1bをそれぞれ独立して回転駆動してロボット67を走行させるとともに機体3の姿勢を所定の姿勢(図1や図4の下の図のような起立姿勢)に保持するための、アクチュエータの一例としての2つのモータ、3は車軸2c,2dの軸回り上に回動可能に車軸2c,2dに支持されてモータ2a、2bを保持する機体、4は機体3の姿勢を検出する姿勢センサである。モータ2a、2bは、上記倒立2輪走行ロボット67の走行動作などの制御を行う制御部100により動作制御されるようになっている。
【0029】
また、このロボット67は、荷台の一例としてベルトコンベア5を機体3の上部に有している。5aはベルト部、5b、5cはローラ部、5dは荷重面であり、通常、ベルト部5aとの摩擦を減らす目的からローラフォロアーが荷重面5dに多数配置されている。一方のローラ部5bには、ベルトコンベア5の駆動装置の一例してのベルトコンベア駆動用パルスモータ87が連結されて、制御部100の制御の下にパルスモータ87が駆動されると、ベルトコンベア5が機体3に対して前後に走行して、ベルトコンベア5の荷重面5dに搭載された荷物6を移動可能としている。
【0030】
また、6はベルトコンベア5上の荷物であり、長手方向の両方向7に移動が可能となる。8a、8bはバランス制御停止時に機体3を地面29に対して固定するために機体3の下部であって機体3の中心軸上の前後にそれぞれ配置され(図3の(c)参照)、かつ制御部100により駆動制御される支持脚用昇降装置8c、8dにより昇降駆動される支持脚であり、走行を開始する際は上方へ移動する。ベルトコンベア5と機体3の間には、検出部の一例としての荷重センサ9が組み込まれており、ベルトコンベア5に搭載された荷物6の重量を測定して検出し、検出結果を制御部100に出力する。
【0031】
また、機体3の上方には、検出部の別の例としての高さセンサ10が取り付けられている。高さセンサ10は自身の正面にある荷物6の高さのスポット測定して、荷物6の高さを検出し、検出結果を制御部100に出力する。
【0032】
姿勢センサ4の一例としてジャイロ・加速度センサが用いられ、重力方向を姿勢センサ4により検出することにより、重力方向に対する機体3の姿勢を検出して、制御部100に検出結果を出力する。検出された姿勢に基づき、制御部100がモータ2a、2bに対して適切なトルク指令を与えて、機体3のバランスを維持して、機体3が所定の姿勢(図1や図4の下の図のような起立姿勢)を維持するように調整する。図5に示すように、姿勢センサ4は、ピッチ方向の回転角速度を検出するジャイロ71及び重力方向を検出する2軸加速度センサ72から構成される。ジャイロ71は積分することで回転角が求まるが、ジャイロ71の零点ドリフトにより算出される回転角は誤差を含んでしまう。そこで、A/D変換器75を経たのちの2軸加速度センサ72の出力とジャイロ71の出力とがCPU74Aに取り込まれた後、センサフュージョンすることで、正確な姿勢角を求めることができる。センサフュージョン73は、CPU74Aの内部でカルマンフィルタやコンプリメンタリフィルタ(相補的なローパスフィルタとハイパスフィルタを組み合わせる方法)等の手法によりアルゴリズム的に実現される。また、車輪1a,1bの回転角速度は、モータ2a,2bに取り付けられたエンコーダ76a,76bのパルスをエンコーダカウンタ77でカウントすることで測定する。最後に、姿勢角・姿勢角の変化率・車輪1a,1bの回転角速度が目標値89Aに一致するように、制御ゲイン78Aを介してフィードバックし、モータドライバ80a,80bに対してD/A変換器79を経てトルク指令(電圧値)を発する。ここで、センサフュージョン73を含むCPU74Aと、A/D変換器75と、エンコーダカウンタ77と、D/A変換器79と、モータドライバ80a,80bなどにより、制御部100を構成している。なお、この図5では、ロボット67の一部の装置とCPU74Aなどの制御部100との関係を説明したものであり、ロボット67の全体のそれぞれの装置とCPU74AやメインCPU81などの制御部100との関係は図6で詳細に説明する。
【0033】
上記制御ゲイン78Aを決定する際に制御部100で用いられる制御アルゴリズムは、文献1である、Y. Ha and S. Yuta: Trajectory Tracking Control for Navigation of Self−Contained Mobile Inverse Pendulum, Proceedings of Conference on Intelligent Robots and Systems, pp.1875−1882, 1994に詳説されている。以下、制御部100で用いられる制御アルゴリズムについて、具体的に説明する。
【0034】
まず、図7に示すように機体3のパラメータを定義する。車輪1a,1bの回転角をθ、機体3の姿勢角をφ、機体3の質量をM、機体3の慣性モーメントをI、車輪1a,1bの質量をM(車輪1a,1bは2つあるため、1つの車輪の質量の2倍として表示。)、車輪1a,1bの慣性モーメントをI(車輪1a,1bは2つあるため、1つの車輪の慣性モーメントの2倍として表示。)、車輪1a,1bの半径をr、機体3の重心24の高さ(距離)をLで、図7ように定義する。荷物6は点線で示すが、これをロボット67に載せた場合は、荷物6の質量をM、荷物6の慣性モーメントをI、車軸2c,2dからの荷物重心23までの距離をLとして図7のように定義する。さらに、一例として、これらの機体3のパラメータに、試作したロボット67の実測値を以下のように当てはめる。また、モータ2a,2bの粘性摩擦係数μと地面29と車輪1a,1bの粘性摩擦係数μは経験値をそれぞれ代入し、モータ2a,2bのトルク定数τ、及び減速比η及び慣性モーメントI(モータ2a,2bは2つあるため、1つのモータの慣性モーメントの2倍として表示。)は使用するモータ2a,2bのカタログデータをそれぞれ採用する。
【0035】
=59.4 機体の質量 (kg)
=3.257*2 車輪の質量 (kg)
=6.05 機体の慣性モーメント (Kg・m
=0.027*2 車輪の慣性モーメント (Kg・m
=0.0527*2 モータの慣性モーメント(Kg・m
r=0.2 車輪半径 (m)
L=152/1000 機体の重心距離 (m)
μ=0.0001 モータの粘性摩擦定数 (N・m/(rad/sec))
μ=0.0001 地面と車輪の粘性摩擦係数 (N・m/(rad/sec))
τ=3.69 モータのトルク定数 (N・m/A)
η=30 モータの減速比
g=9.80665 重力加速度 (m/s
以上の変数を用いると図7に示された倒立移動ロボット(言い換えれば上記倒立2輪走行型荷物搬送ロボット)67の運動方程式は以下の2式のようになる。ただし、ロボット67は倒立状態で機体3の姿勢角φはほぼゼロという仮定を用い、荷物6は搭載されていないとする。
【0036】
【数1】

(式1)
【0037】
【数2】

(式2)
【0038】
さらに、状態変数を式3のように定義すると、式1、式2は次の状態方程式としてまとめ上げることができる。
【0039】
【数3】

【0040】
機体3の姿勢角φは姿勢センサ4により測定可能であり、また、車輪1a,1bの回転角θは、モータ2a,2bに取り付けられかつ制御部100に回転角θの情報を入力可能なエンコーダ76a,76bによって測定が可能であるため、状態変数はすべて測定可能である。このため、適当な状態フィードバックゲインを最適レギュレータ法などにより定めることで、ロボット67を倒立状態で安定化することが可能である。
【0041】
次に、荷物6を載せた場合の運動方程式を考える。荷物6と荷台であるベルトコンベア5はお互いに滑らず固定状態と考えると、機体3の質量Mと機体3の慣性モーメントIと機体3の重心高さLを、次のように置き換えればよい。
【0042】
【数4】

【0043】
【数5】

【0044】
【数6】

【0045】
なお、荷物6のパラメータを以下のようにおく。
【0046】
=40.0; 荷物の質量 (kg)
=14.57 荷物の慣性モーメント (Kg・m
=550/1000; 荷物重心距離 (m)
【0047】
式4〜式6によって置き換えられた新しいM,I,Lに基づいて式3より状態フィードバックゲインを定めれば、荷物6が載せられた状態での最適なフィードバック制御が得られる。
【0048】
図8に、より具体的な例として、上記ロボット67の制御系のブロック線図を示す。上記図1に示すような倒立2輪走行ロボット67はモータトルク指令368を入力とし、状態変数69を出力とする1入力4出力系である。状態変数69は合算点370を経て状態フィードバックゲイン371を掛け合わせた後、倒立ロボット67にフィードバックされる。合算点370の目的は、状態変数69の目標値を与えることであり、角速度指令値373の関数として表される目標状態生成器375の出力が目標値として使われる。目標状態生成器375は、角速度指令値373から車輪1a,1bの角度目標値、姿勢角目標値を生成する。
【0049】
図9及び図10に図8で示した制御系と式3で表されるロボット67の線形モデルを組み合わせたシミュレーションの結果を示す。ロボット67が倒立した停止状態から0.6m/sに加速する時の現象を計算した。荷物6の無い状態で設計した状態フィードバックゲインK=[−56.0304−16.5971−2.89140]を用いた計算結果を図9の(a),(b)、(c),(d)に、40kgの荷物6を搭載した状態で設計した状態フィードバックゲインK=[−115.3666−34.8611−3.34110]を用いた計算結果を図10の(e),(f)、(g),(h)に示す。図9の(a),(b)は、状態フィードバックゲインが設計された前提通りのロボットモデルであるため、上段の速度変化のグラフ61aと下段の姿勢変化のグラフ62bもスムーズな動きを見せている。反面、図9の(c),(d)は、状態フィードバックゲインが設計された前提とは全く異なる、荷物搭載のロボットモデルでの計算結果である。結果として、荷物6を搭載して動きが鈍くなったロボット67を無理矢理制御しようとして、速度変化のグラフ61cも姿勢変化のグラフ62dも発振状態に至っている。図10の(e),(f)においては、状態フィードバックゲインが設計された前提とは異なるロボットモデルでありながら、ロボット67が荷物6を搭載していないことにより動きが速くなった分、上段の速度変化のグラフ61eも下段の姿勢変化のグラフ62fも安定している。反面、安定の度合いが高すぎて同じく荷物搭載無しの状態である図9の(a),(b)に比べると応答性が低い欠点がある。最後に図10の(g),(h)においては、状態フィードバックゲインが設計された前提と全く同じロボットモデルを制御しているため、応答は問題がなく、図9の(a),(b)とほぼ同じ結果が得られている。
【0050】
以上の結果をまとめると、搭載する荷物6にふさわしい状態フィードバックゲインを設定することが、安定して効率の良い動作には必要であることがわかる。また、状態フィードバックゲインを設計した時の想定荷物質量(あるいは慣性モーメント)より重い荷物(あるいは慣性モーメントの大きな荷物)6を載せると発振の恐れがあること、また、想定荷物より軽い荷物(あるいは慣性モーメントの小さな荷物)を載せると安定性が増すが、応答性が下がることも明らかになった。
【0051】
次に、上記姿勢センサ4、ベルトコンベア5の駆動用パルスモータ87、支持脚用昇降装置8c,8d、モータ2a,2b、荷重センサ9、高さセンサ10などと制御部100との関係を、全体的なシーケンス制御の観点から、さらに詳細に説明する。
【0052】
図6に示すように、上記したように、姿勢センサ4は、ピッチ方向の回転角速度を検出するジャイロ71及び重力方向を検出する2軸加速度センサ72から構成される。ジャイロ71は積分することで回転角が求まるが、ジャイロ71の零点ドリフトにより算出される回転角は誤差を含んでしまう。そこで、ジャイロ71の出力は2軸加速度センサ72の出力と共に、A/D変換器75を経てサブCPU74に取り込まれた後、サブCPU74でセンサフュージョンすることで、正確な姿勢角を求めることができる。センサフュージョン73はサブCPU74の内部でアルゴリズム的に実現される。カルマンフィルタやコンプリメンタリフィルタ(相補的なローパスフィルタとハイパスフィルタを組み合わせる方法)等の手法が用いられる。
【0053】
また、車輪1a,1bの回転角速度は、エンコーダ76a,76bのパルスをエンコーダカウンタ77でカウントすることで測定してサブCPU74に入力し、サブCPU74でギア77a,77bの減速比を基に車輪1a,1bの回転角と回転角速度を求める。姿勢角とその変化率、車輪1a,1bの回転角と回転角速度をサブCPU74で組み合わせて状態変数90とし、このようにして求められた状態変数90と、状態変数90の目標値89との偏差をサブCPU74で求める。偏差に状態フィードバックゲイン78を掛けて、モータ2a,2bのモータドライバ80a,80bに対して、D/A変換器79を経てトルク指令(電圧値)をフィードバックする。フィードバックは通常100Hzより高速に行われるため、これらの計算は専用のサブCPU74の内部で行われる。サブCPU74と接続されたメインCPU81には、タスク(荷物運搬)実行のためのロボット全体の動作を制御する動作制御部82と、タスク実行のための動作のシナリオを保持する動作シナリオを記憶した動作シナリオ用データベース83とがある。動作制御部82は外部とインターフェース84を介して接続する。すなわち、動作制御部82は、インターフェース84を介して、支持脚用送りネジ85a,85bの正逆回転で送りネジ軸85a,85bにねじ結合したナット部に固定された支持脚8a,8bを上下させる支持脚用パルスモータ86a,86bと、ベルトコンベア5を正逆駆動させるためにローラ部5cを正逆回転駆動するパルスモータ87と、さらにベルトコンベア5に搭載された荷物6の質量を量る荷重センサ9と、ベルトコンベア5に搭載された荷物6の高さを測る高さセンサ10と、ユーザ65からの要求を受けたりユーザ65に情報を出力するためにユーザ65とのインターフェースを行うユーザI/Fデバイス88と接続する。動作制御部82は、ロボット67の動作に応じてサブCPU74と通信し、状態変数90を読み込んだり、状態変数90の目標値89を書き換えたり、状態フィードバックゲイン78を書き換えたりする。支持脚用パルスモータ86a,86bを駆動制御するときは、動作制御部82からの駆動情報がユーザI/Fデバイス88を介してパルスモータドライバ86Pに入力され、パルスモータドライバ86Pにより支持脚用パルスモータ86a,86bを駆動制御する。また、ベルトコンベア5の駆動用パルスモータ87を駆動制御するときは、動作制御部82からの駆動情報がユーザI/Fデバイス88を介してパルスモータドライバ87Pに入力され、パルスモータドライバ87Pによりベルトコンベア5の駆動用パルスモータ87を駆動制御する。なお、送りネジ軸85a,85bとパルスモータ86a,86bとにより、支持脚用昇降装置8c、8dの一例を構成している。また、上記制御部100は、ここでは、センサフュージョン73を含むサブCPU74と、A/D変換器75と、エンコーダカウンタ77と、D/A変換器79と、モータドライバ80a,80bと、パルスモータドライバ86Pと、パルスモータドライバ87Pと、メインCPU81となどにより、制御部100を構成している。
【0054】
また、機体3のバランス制御に用いられる制御アルゴリズムは、文献1、Y. Ha and S. Yuta: Trajectory Tracking Control for Navigation of Self−Contained Mobile Inverse Pendulum, Proceedings of Conference on Intelligent Robots and Systems, pp.1875−1882, 1994に詳説されている。これによると、ロボットがほぼ直立状態である、摩擦等は考慮しないという仮定の下でロボットの運動方程式は以下のように表される。
【0055】
【数7】

【0056】
【数8】

【0057】
ここに、θ、φは図11に示すように、車輪1a、1bの回転角度、及び機体3の姿勢角度を鉛直方向から計ったものである。また、M、Iは機体3の質量及び車軸回りの回転モーメント、M、Iは車輪1a、1bの質量及び車軸回りの回転モーメント、Iはモータ自身の慣性モーメント、ηはモータのギアの減速比、τはモータ2a、2bのトルク定数、gは重力加速度、Lは機体重心の車軸からの高さ、rは車輪半径である。式7及び式8は状態変数を、
【数9】

と表すと、次の状態方程式標記が可能となる。
【0058】
【数10】

ここで、バランス制御とは状態変数xをゼロに収束させることであるため、最適レギュレータ問題として解くことで、状態フィードバックゲインKを求めることができる。
【0059】
図12は本発明の第1実施形態における荷物搬送ロボット67において、荷物6を機体重心から外れた位置に置いた時の倒立バランスの様子を表す側面図である。図12中、24はベルトコンベア5まで含めた機体重心、23は荷物6の重心である。25は重心24と重心23の合成重心である。合成重心25が地面29との接地点26の鉛直線27上にあることが、バランスの条件であるため、合成重心25が鉛直線27上に来るように制御的にバランスをとろうとするが、図12中、ロボット67は水平バランスを達成出来ていない。この状態で荷物運搬ロボット67が走行すると、走行時の振動により荷台であるベルトコンベア5が微動して、その結果、荷物6がベルトコンベア5上で図12の右側へ移動しながら、ベルトコンベア5から落下する結果となる。逆に、静止時に水平バランスが達成されていると、その時には機体3と荷物6の重心23,24は等しく車軸2c,2d上にあるはずなので(図7参照)、走行中の動的バランス状態においても、必ず荷物6にかかる力は機体3の重心24を通り車軸2c,2dに抜けることになる。この結果、荷物6に対しては荷台であるベルトコンベア5上で横滑りする力が働かず、走行中に荷台であるベルトコンベア5に振動が加わっても、荷物6がベルトコンベア5から転落する恐れがないことを意味する。
【0060】
さらに、図12において、荷物6の重さが極めて大きくなった場合、支持脚8a,8bがバランス制御中に地面29に接触してしまうことになる。この時、ロボット67は式7、式8で表される力学モデルとは大きく異なる挙動をとることになるため、制御が発振したり暴走したりする恐れもある。この現象を防止するためには、支持脚8a,8bを上昇させる前に、荷物6の重心位置を後述の方法により事前に推定し、荷物6の推定された重心位置を機体4の重心位置の真上に移動させることが必要となる。
【0061】
式10から状態フィードバックゲインKを定めるにあたり、応答性を高めるために出来るだけ大きなゲインを選ぶが、反面、機械定数等のパラメータ変動に対しロバスト性を失い、発振現象を引き起こしてしまうことがある。仮に荷物6の質量や慣性モーメントを事前に推定することができれば、この値に最適な状態フィードバックゲインKを決定することで、バランス制御の応答性と安定性を両立することができる。ここで、荷物運搬ロボット67で荷物搭載により変動を起こすパラメータは機体3の質量M及び回転モーメントIである。いま、図11に示すように車軸2c,2dから高さhのベルトコンベア5上に、高さP、幅P、奥行きPで重さMの荷物6を載せたと仮定すると、その時のM,Iの変化量、荷物6の密度が均一であると仮定すると、以下のように表される。
【0062】
【数11】

【0063】
【数12】

【0064】
つまり、事前に載せる荷物6の重量Mと外形形状P、Pさえわかれば、正確なM,Iを事前に知ることができ、より適切な状態フィードバックゲインを求めることができる。
【0065】
図13は本発明の第1実施形態における荷物運搬ロボット67における、高さセンサ10によるベルトコンベア5上の荷物6の事前形状測定の様子を表す図である。図13中、11はベルトコンベア5を移動しながら高さセンサ10の出力を記録したものである。図13から容易にわかるように、ベルトコンベア5の移動に従って、荷物6が高さセンサ10の前を横切るため、荷物高さ13を測定できる。また、荷物6が検出される間の荷物移動距離を測定することにより、荷物移動速度を基に荷物幅12を測定することができる。同時に、荷物6の幅方向の中心軸15も測定できる。荷物6の密度分布が一様であるという仮定の下、中心軸15は荷物6の重心23を通っていると仮定できることから、中心軸15がロボット67の機体重心24の真上にくるようにベルトコンベア5を位置決めしてやることで、水平バランスを実現することが可能となる。図13中の14は荷物6の取っ手をセンサがひろうことによるノイズ成分であるが、このような変動は無視しても大勢に影響は無い。さらに、荷重センサ9の値を読み込むことにより、荷物6の重さを知ることが出来るから、以上の結果と式11,式12を用いることで、正確な機械定数を定めることができ、より適切な状態フィードバックゲインを決定することができる。
【0066】
本発明の第1実施形態を利用した荷物運搬ロボット67の具体的な荷物運びの動作シーケンスを図14及び図15により説明する。図14及び図15ではロボット67とユーザ65を上方から見ており、5は荷台であるベルトコンベア、6は荷物、65はユーザ、96はユーザ追跡用の発信器、97は荷物運搬ロボット67の機体3の前面に設けられたユーザ追跡用の受信器である。発信器96と受信機97は電波を使った物や超音波を使った物が利用可能であり、ユーザI/Fデバイス88の一例を構成する。
【0067】
まず、図14の(a)においてユーザ65が荷物6を持ってロボット67に接近する。この時、ロボット67は支持脚8a,8bを下ろした状態で待機中である(図16のステップS1参照)。
【0068】
次に、図14の(b)においてユーザ65が荷物6を荷台であるベルトコンベア5に置く(図16のステップS2参照)。この時、ロボット67は、荷重センサ9によりベルトコンベア5上の荷物6の重さを検出して、検出結果情報が制御部100のメインCPU81の動作制御部82に入力される。この結果、動作制御部82は、ユーザ65がロボット67に到着して荷物6をベルトコンベア5に置いたことを認識する。
【0069】
次いで、図14の(c)において、ユーザI/Fデバイス88の一例の一部を構成する発信器96をユーザ65がロボット67から受け取ることにより、これがきっかけとなって、図14の(d)において荷台のベルトコンベア5を動かす。すなわち、発信器96をロボット67の発信器収納位置から取り上げることにより、発信器収納位置に設けられた発信器収納スイッチ96Pが発信器96が発信器収納位置から取り上げられたことを検出して、検出結果である発信器取上げ信号が制御部100のメインCPU81の動作制御部82に入力される。なお、このような収納スイッチ96Pを設ける代わりに、発信器96から発信器収納位置から取り上げられたことを示す発信器取上げ信号を受信器97を介して動作制御部82に出力するようにしてもよい。発信器取上げ信号が動作制御部82に入力された結果、動作制御部82は、ユーザ65が発信器96を取り上げたと判断して、パルスモータドライバ87Pを介してベルトコンベア5を駆動させる。ベルトコンベア5が動作することにより、高さセンサ10及び荷重センサ9により荷物6の形状及び質量測定を行い(図16のステップS3参照)、高さセンサ10及び荷重センサ9の測定結果情報が動作制御部82を介してサブCPU74に入力されて、状態フィードバックゲインの設定を行う。測定が終了すると、機体重心24と荷物重心23との合成重心25の位置が地面29との接地点26の鉛直線27上に位置してロボット67がバランスするように、動作制御部82が、パルスモータドライバ87Pを介してベルトコンベア5を駆動させて荷物6の位置の調整を行う(図16のステップS4参照)。
【0070】
なお、図16のステップS3に示すように、荷物6の重量及び形状を測定する時はロボット67は支持脚8a,8bで支持されている。このため、ベルトコンベア5を動かして荷物6を移動した場合でもロボット67の姿勢は不変となり、安定した測定が可能となる。
【0071】
ここで、ロボット67が支持脚8a,8bでロボット67自体を支えている間に、上記したように荷物6の質量及び形状を測定し、ベルトコンベア5を用いて合成重心25の位置を車軸2c,2dの真上に移動し、さらに、図16のステップS5に示すように、合成慣性モーメントに合わせて制御ゲインを調整する。
【0072】
この後、図16のステップS6に示すように、動作制御部82の制御の下にパルスモータドライバ86Pを介してパルスモータ86a,86bが駆動制御されて、支持脚8a,8bを支持位置から退避位置まで上昇させて機体3に収納すると同時に、バランス制御を開始してロボット67の倒立動作に入る(図17のステップS6参照)。この結果、ロボット67はスムーズに水平バランスを保つことができる。
【0073】
次いで、図14の(e)において、ユーザ65が発信器96の電源を入れて身につけて歩き出すと、ロボット67は、受信機97によりユーザ65の方向を探知しながら、水平バランスを保ちつつ追従動作を行う(図17のステップS7参照)。すなわち、発信器96から発信された情報を受信器97が受信して、発信器96の位置及び距離を特定し、その位置及び距離の情報が動作制御部82に入力される。動作制御部82は、発信器96から受信器97までの距離が所定距離以下となるように(ユーザ65に追従するように)、モータドライバ80a,80bを介してモータ2a,2bを回転駆動して、ロボット67をユーザ65に追従するように走行させる。このとき、ロボット67は、上記したようにバランス制御を行って水平バランスを保ちつつ走行する。
【0074】
次いで、図15の(f)においても、ロボット67は引き続きユーザ65への追従動作を行っている(図17のステップS7参照)。
【0075】
次いで、図15の(g)において、ユーザ65が発信器96の電源を切るとロボット67は追従動作を停止する。なお、この状態で発信器96の電源をユーザ65が再度入れるとロボット67は追従動作を再開する。すなわち、ユーザ65が発信器96の電源を切ることにより、発信器96からの発信情報が受信器97で受信されなくなり、受信器97から動作制御部82に情報が入力されなくなるため、動作制御部82は、モータドライバ80a,80bを介してモータ2a,2bを停止させて、ロボット67の走行を停止させる(図17のステップS8参照)。なお、この停止状態で、発信器96の電源をユーザ65が再度入れると、発信器96から発信された情報が受信器97で再び受信できて、発信器96の位置及び距離を特定することができ、その位置及び距離の情報が受信器97から動作制御部82に入力される。この結果、動作制御部82は、発信器96から受信器97までの距離が所定距離以下となるように(ユーザ65に追従するように)、モータドライバ80a,80bを介してモータ2a,2bを再び回転駆動開始して、ロボット67をユーザ65に追従するように走行開始させる。
【0076】
次いで、図15の(g)の走行停止状態の後に図15の(h)において、ユーザ65が発信器96をロボット67の所定の場所に返却すると、ロボット67はユーザ65の目的地に到着したことを認識し、バランス制御を終了すると同時に支持脚8a,8bを出して待機状態になる。すなわち、ユーザ65が発信器96をロボット67の発信器収納位置に返却することにより、発信器収納位置の発信器収納スイッチから発信器取上げ信号がオフになり(又は、発信器収納信号が出力され)、発信器取上げ信号のオフ又は発信器収納信号を基に、動作制御部82は、ユーザ65が発信器96を発信器収納位置に収納したと判断して、ロボット67はユーザ65の目的地に到着したことを認識し、動作制御部82の制御の下にパルスモータドライバ86Pを介してパルスモータ86a,86bが駆動制御されて、支持脚8a,8bを下降させて機体3の退避位置から支持位置まで下降して、支持脚8a,8bによりロボット67を支持して待機状態になる(図17のステップS8参照)。このとき、同時に、動作制御部82の制御により、バランス制御を終了する。
【0077】
次いで、図15の(i)ではユーザ65は荷物6を持って立ち去り、荷物運搬のタスクが無事終了したことになる。
【0078】
ここで、ユーザ65が荷物6をロボット67から取り上げるとき、動作制御部82の制御の下に、パルスモータドライバ87Pによりベルトコンベア5の駆動用パルスモータ87を駆動して、上記荷物6がベルトコンベヤ5に最初に搭載された位置まで上記荷物6を戻すようにして荷物6を取りやすくしてもよい(図17のステップS9参照)。この場合には、上記荷物6がベルトコンベヤ5に最初に搭載されるとき、その位置を動作制御部82の内蔵メモリなどに記憶させておく必要がある。このようにすれば、荷物6をユーザ65側に移動させることができ、ユーザ65によるベルトコンベア5に対する荷物6の受け渡しを容易にすることができる(図17のステップS10参照)。これは、以下のような効果を奏することができる。すなわち、例えば、スーツケース等の重い荷物6を運搬ロボット67上に載せることは、ユーザである人間65の背中の筋肉に大きな付加を与える。そこで、図4に示すように、ユーザ65が荷物6を搭載するとき、また、ユーザ65が荷物6を受け取るときに、できるだけユーザ65が持ちやすいベルトコンベア5の位置に荷物6を配置する。つまり、ロボット67を支持脚8a,8bで支持した待機状態(荷物受け渡し状態)で、ベルトコンベア5を移動することにより、荷物6をユーザ65に近い位置に位置させることで、背筋や腕にかかる負担を下げることが可能になる。
【0079】
上記第1実施形態にかかる倒立2輪走行ロボット67は、まず、倒立2輪走行ロボットの基本的な特徴として、
・4輪ロボットに比べて安定性を維持しながら背を高くできるため、底面積が小さく、小回りが利く、
・常時バランスを取るため、段差を乗り越える時にも、車体が傾かないで済む、
・常時バランスを取るため、衝突した時に自然に反対方向へ逃げる動作が生じて安全である、
などが挙げられる。
【0080】
以上の理由から、倒立2輪走行ロボットは空港等の人混みの中で荷物を運搬するロボットに採用した場合、
・人混みの中で小回りが利く上に、格納時もスペースを取らない、
・段差やスロープを通過する際にも荷台が傾かず、搭載荷物の荷崩れが防げる、
・人や物に衝突した場合にも、衝撃を最小限に留めることが可能、
といったメリットがある。
【0081】
しかしながら、倒立2輪走行ロボットに荷物を搭載する場合、バランスを取りながら走行する性質上、幾つかの課題が存在していた。たとえば、
・質量40kgのスーツケースを載せられた場合、ロボット本体とほぼ同等の重量であるため、合成重心の位置や合成慣性モーメントが大きく変化する。
【0082】
・比較的軽量な荷物でもスキー板等の長尺物を載せられた場合、その重心位置がロボットの重心位置と大きく離れる可能性があり、この場合も合成重心の位置や合成慣性モーメントが大きく変化する。
【0083】
以上のような状況でバランスを取ろうとすると、荷台が水平に保てない場合や、制御ゲインが不適合になり発振状態に至る場合、等の不具合が発生する恐れがある。
【0084】
そこで、本発明の第1実施形態にかかる倒立2輪走行ロボット67及びその制御方法では、ロボット67が支持脚8a,8bで自身を支えている間に、荷物6の質量・形状を測定し、ベルトコンベア5のパルスモータ87等の移動装置を用いることで合成重心位置を車軸2c,2dの真上に移動し、さらに合成慣性モーメントに合わせて制御ゲインを調整し、この後で支持脚8a,8bを解除してバランス動作を開始することを特徴とするものである。この構成と制御方法により、常に荷台であるベルトコンベア5を水平に保ちながら安定に走行することが可能となる。よって、ユーザ65が荷物6を荷台であるベルトコンベア5の手前側(ユーザ65に近い側)に置き、荷物重心23と機体重心24が大きくずれている場合でも、その荷物6を自動的に移動させて、荷物重心23と機体重心24とを一致させることにより、走行中の荷台であるベルトコンベア5を常に水平方向沿いに保つことができる。静止時にあるベルトコンベア5の水平バランスを保つことができれば、走行時にも姿勢制御型の倒立ロボットの特性から、荷物6にかかる重力と慣性力の和は荷台であるベルトコンベア5に対して常に垂直となり、荷物6の横滑りや荷崩れがなくなる。また、ユーザ65への荷物6の返却の際にも、荷物6をユーザ65側にベルトコンベア5で移動するようにすれば、ユーザ65のベルトコンベア5に対する荷物6の受け渡しを容易にすることもできる。
【0085】
また、第1実施形態によれば、本来不安定な機体を制御の力によってバランスするタイプの荷物搬送ロボット67に対して、スーツケースなどの質量が不明な荷物6を搭載されたとき、その荷物自身を移動装置(たとえばベルトコンベア5の駆動用パルスモータ87)により移動させて荷物6の重心位置を調整できるように直接制御し、水平バランスを回復することができる。ここで、質量が不明な荷物の具体例としては、スーツケースが好例である。外見は同じでも、中に入れるものが衣類であれば、比較的軽量となるが、書籍等が増えると重くなる。また、スーツケースの重心位置も中に入れる物のバランスによって、外形の中心からずれてしまうためである。このような質量が不明な荷物でも、第1実施形態のロボット67によれば、水平バランスを保持することができる。
【0086】
さらに、従来、予め機体内部に組み込まれたカウンタバランスを動かすことによって水平バランスを回復するロボットが考えられているが、質量がカウンタバランス以上に大きい荷物を搭載した場合、これらの錘やカウンタバランスを動かすだけでは水平を回復できない恐れがあるという課題があった。ここで、カウンタバランスはロボットの一部分であるが、バランスを取ること以外には役に立たないムダ質量である。実際、走行時には運動エネルギーのロスにつながるものであり、衝突時には衝撃エネルギーを増大させる負の効果を持つ。そこで、仮にカウンタウェイトを採用する場合でも、その質量は出来るだけ小さく、また、バランスのためのモーメントを増大させるためにその移動範囲を出来るだけ広くすることが望まれている。上記第1実施形態にかかるロボット67では、たとえば、ロボット67の自重(一例として40kg)とほぼ等しい重さのスーツケース等の荷物6を運搬することを想定しており、さらに、ユーザ65はスーツケース等の荷物6の重心23をロボット67の機体3の重心24と正確に一致するように置くことはできないと想定している。この結果、荷物6による重心ずれが非常に大きくなる恐れがある。この重心ずれに対抗できるような、カウンタウェイトを設計することは事実上不可能である。すなわち、図18に示すように、40kgの荷物6による重心ずれが20cmと仮定すると、仮に5kgのカウンタウェイトを使用するとすれば、機体3の重心から160cm離れたロボットの外部に配置する必要があり、現実的ではない。
【0087】
また、バランスを取らずに支持脚8a,8bを外して倒立しようとしても、モータ2a,2bが発生しうるトルクの限界から、機体3を立て直すことができず、バランス動作を失敗してしまう。
【0088】
そこで、上記第1実施形態のロボット67では、荷物6自身を移動装置(たとえばベルトコンベア5の駆動用パルスモータ87)により移動させて荷物6の重心位置を調整できるように直接制御することにより、カウンタウェイトを使用することなく、水平バランスを回復することができるようにしている。
【0089】
次に、第1実施形態の変形例として、荷物6が機体3からはみ出すほどに長尺な長尺物の荷物6Hであり、そのような長尺物の荷物6Hをロボット67に搭載する場合について説明する。
【0090】
図19は長尺物の荷物6Hと障害物30の関係を示す図である。図19の(a)において、3はロボット機体、5は荷台であるベルトコンベア5、6Hは長尺物の荷物、30は障害物、91a,91bは光98aにより周囲の障害物位置を計測するレンジファインダ、92a,92bは内蔵された上下駆動装置によりレンジファインダ91a,91bを動作制御部82の制御の下に上下に自動的にスキャンするためのチルトステージである。レンジファインダ91a,91bは水平に約180度の領域をスキャンするので、第1実施形態のこの変形例ではロボット67の前後に1台ずつ装着している。
【0091】
図19の(b)に上方から見たときの、レンジファインダ91aの光98aと障害物30のイメージの関係を示す。レンジファインダ91aは水平平面内で光98aをスキャンするため、障害物30の前面のみがエッジ99としてイメージされていることがわかる。この結果、レンジファインダ91aからエッジ99までの距離をmmオーダの精度で知ることができる。
【0092】
図19の(c)はチルトステージ92a,92bを用いてレンジファインダ91a,91bを上下にスキャンする様子を示す。このことにより、長尺物の荷物6Hの下面の三次元位置を測定することができ、ロボット67は長尺物の荷物6Hが機体3に対してどの位置にあるかを正確に知ることができる。
【0093】
よって、図19の(b)で障害物30の前面のみがエッジ99として検出でき、図19の(c)で長尺物の荷物6Hが機体3に対してどの位置にあるかを正確に検出できるため、長尺物の荷物6Hの先端と障害物30等との位置関係を計測することができ、スキー板6Hの先端と障害物30との間の距離が予め定めた安全な間隔か否かを動作制御部82により判断することができる。
【0094】
以下、このような構成を使用して、ロボット67の周囲に壁や障害物30などがある狭い場所でのロボット67のバランスの取り方について説明する。
【0095】
図20に示すような、長尺の荷物6H、たとえばスキー板6H、などをロボット67で運搬するとき、スキー板6Hの両端がロボット67からはみ出すために、ロボット67の移動の際に周囲の壁や障害物30などと衝突する恐れがある。そこで、動作制御部82の制御によりパルスモータ87を駆動してベルトコンベア5を動かして、ロボット67の機体3に対してスキー板6Hの位置を変えると、ロボット67とスキー板6Hの合計の運動量が保存されるため、動作制御部82の制御により、機体3とスキー板6Hの合成重心位置を保ったまま、ロボット67が傾きつつスキー板6Hを一方向に移動することができる。ロボット67の速度がゼロの場合にこれを定式化すると、
【数13】

【0096】
ここで、mski、mrobotはそれぞれスキー板6Hとロボット機体3の質量、vski、vrobotはそれぞれベルトコンベア5を動かすことにより生じるスキー板6Hとロボット機体3の水平移動速度である。両辺を積分して、スキー板6Hとロボット機体3の速度の積分量をδski、δrobotで表すと、
【数14】

【0097】
合成重心の位置は不変なので、速度の積分量δski、δrobotは、それぞれ合成重心25Hからスキー板6Hの重心23Hまでの距離と合成重心25Hからロボット機体3の重心24までの距離となる。ベルトコンベア5の移動量をdとすると、
【数15】

の関係があり、さらに、スキー板6Hが移動することによって生じる余裕スペースδfreeは以下の式で表されることから、
【数16】

となる。よって、必要となる余裕スペースδfreeの大きさが決まると、式14、式15、式16より必要となるベルトコンベア5の移動量dを動作制御部82により求めることが可能である。
【0098】
以上により、ロボット67の片側に余裕のスペースδfreeを作ることが可能なので、このスペースδfreeを利用して、ロボット67の水平バランスを動作制御部82により維持してやれば、水平バランスを取る上で必要なスペースδfreeを節約することができる。
【0099】
また、この制御アルゴリズムを図21を用いて説明する。
【0100】
ここでは、スキー板6Hを搭載したロボット67が障害物30の近くでバランスを崩した状況を想定する。スキー板6Hの先端と障害物30等との位置関係を、機体3に備えたカメラ又は超音波センサ又はレンジファインダ91a,91b等の障害物検出センサ91(図19参照)により計測し、計測結果を動作制御部82に入力して、スキー板6Hの先端の望ましい移動量を動作制御部82により算出する(図21のステップS101参照)。これは、たとえば、スキー板6Hの先端と障害物30との間の距離が予め定めた安全な間隔が確保できる寸法となるように、スキー板6Hの先端の移動量(言い換えれば、パルスモータ87によるベルトコンベア5の移動量)を動作制御部82により算出する。
【0101】
求まった移動量に基づき、動作制御部82の制御によりパルスモータ87が駆動されて必要なベルトコンベア5の移動を行う(図21のステップS102参照)。
【0102】
この結果、ロボット機体3の姿勢は変化するが、スキー板6Hの重心23Hとロボット機体3の重心24との合成重心25Hの位置を動作制御部82により算出すると(図21のステップS103参照)、合成重心25Hの車軸2c,2dを通る鉛直線27に対するずれが、機体3の姿勢の崩れに相当するため(図21のステップS104参照)、合成重心25Hの位置が鉛直線27上になるように車輪1a,1bのトルクを動作制御部82によりパルスモータ87を介して制御する(図21のステップS105参照)。
【0103】
以上の繰り返しにより、動作制御部82により、スキー板6Hの先端を障害物30に衝突させることなく、機体3のバランス動作を実現することができる。
【0104】
従って、上記構成によれば、狭い場所に入って機体3のバランスを取る必要がある場合は、車輪1a,1bを停止して荷物6Hをベルトコンベア54上で前後に移動することで、機体3を大きく移動することなくバランス制御が可能となる。
【0105】
次に、図22には、図21とは別の制御アルゴリズムを記す。
【0106】
この制御アルゴリズムの特徴は、問題となるスキー板6Hの先端位置を、動作制御部82によりパルスモータ87を介して常に機体3に対して一定に保つことで、障害物30とスキー板6Hとの衝突を防ぐものである。
【0107】
図22中、ロボット67のバランスが崩れると、スキー板6Hの重心23Hとロボット機体3の重心24との合成重心25Hの位置を動作制御部82により算出し(図22のステップS201参照)、合成重心25Hのずれを動作制御部82により検出し(図22のステップS202参照)、このずれを補正するように、動作制御部82によりパルスモータ87を介して車輪1a,1bにトルクを与えて回転させる(図22のステップS203参照)。
【0108】
車輪1a,1bの回転量をエンコーダ76a,76bにより計測すると、ロボット67のバランスを取るために必要なロボット67の移動量が動作制御部82によりわかるので、この移動量をキャンセルするような変位をスキー板6Hの先端に与えるように、動作制御部82によりベルトコンベア5の駆動用パルスモータ87を駆動してベルトコンベア5とともにスキー板6Hを移動させる(図22のステップS204参照)。
【0109】
以上の繰り返しにより、スキー板6Hの先端を機体3に対して一定の位置に保ちながらロボット67のバランスを保つことが可能となる。
【0110】
さらに、図23は長尺物の荷物6Hを用いた機体3のバランス制御を使用するタイミングを示した図であり、この図23を用いてロボット67が旋回して人間65を避ける状態を説明する。図23中、ロボット機体3と人間65を上方から見ており、5は荷台のベルトコンベア、6Hは長尺な荷物である。
【0111】
図23の(a)において、人間65がロボット67の正面から近づいてきている。ロボット67はこの時停止状態でもよいし、前進状態でもよく、図8に示した車輪1a,1bのトルクのみを用いた倒立バランス制御を行っている。
【0112】
レンジファインダ92a,92bにより人間65の接近を認識すると、ロボット67は直ちに前進を停止し、長尺物の荷物6Hと人間65の間隔を保つために長尺物の荷物6Hを使ったバランス制御を開始する(図23の(b))。この状態で、動作制御部82の制御の下にモータ2a,2bにより左右の車輪1a、1bに互いに逆方向のトルクを与えると、ロボット67は旋回を始める。旋回中の車輪1a,1bと路面の摩擦等に起因する外乱による荷物6Hと人間65の衝突が起きないように、レーザレンジファインダ92a,92bを用いながら人間65までの距離を測定し、長尺物の荷物6Hが人間65に触れないように動作制御部82により動作制御する(図23の(c))。
【0113】
図23の(d)において、人間65が正面に無いことをいずれかのレーザレンジファインダ92a又は92bを介して動作制御部82により確認すると旋回を終了し、バランス制御は通常の車輪1a,1bのみを用いた制御に復帰する。
【0114】
このようにすれば、バランス制御を行いながら人間65などの障害物をロボット67が避けることができる。
【0115】
(第2実施形態)
図24は本発明の第2実施形態における荷物運搬ロボットの荷台付近を表す図である。機体3や車輪1の構造は第1実施形態と同じであるので省略している。5は荷台となるベルトコンベア、9はベルトコンベア5を支える荷重センサ、6はベルトコンベア5に搭載された荷物、16は荷物6と同時にベルトコンベア5に搭載されたゴルフバックである。17は動作制御部82の制御の下に荷重センサ9の曲げモードでの振動を起こす加振機、18は荷重センサ9の曲げ歪みを測定して測定結果を動作制御部82に入力する受信器である。この第2実施形態の第1実施形態との違いは、複数の荷物すなわち荷物6とゴルフバック16がベルトコンベア5に搭載されることにより、高さセンサ10の測定プロファイルに対して荷物6の密度は一定であるとの仮定が使えなくなるため、慣性モーメントを推定できなくなる点である。加振機17と受信機18の役目は、荷重センサ9を先端に錘の付いた短い曲げモード梁と見立て、これの振動方向19a、19bの共振周波数を測定することで、錘の大まかな慣性モーメントを知ることである。荷重センサ9の長さは十分に短いとすると、荷重センサ9とベルトコンベア5、荷物6、ゴルフバック16は図25の様にモデル化できる。図25に示される、支点327の回りにバネ定数kを持ったバネ328,329で支えられた、重さM、慣性モーメントIの複振子6Zの共振周波数は、次のように表される。ただし、Lは支点327からベルトコンベア5と荷物6との合成重心6Iまでの距離である。
【0116】
【数17】

で与えられる。ここに、距離Lに荷物の高さに応じた適当な距離Lを代入するようにL=Lと仮定して式17を解くと、
【数18】

となり、慣性モーメントIが定まる。これは、荷物6とゴルフバック16と荷台5を合わせた合成慣性モーメントである。この値を基に、機体3の正確な機械定数を定めることで適切な状態フィードバックゲインを定めることが可能となる。
【0117】
さらに、荷物6とゴルフバック16の合成重心6Iの位置を求めるには、ベルトコンベア5を動かしながら周波数の最大値を動作制御部82で検出することで行える。これは、式17において荷物6とゴルフバック16の合成重心6Iが荷重センサ9の真上から外れると距離Lが大きくなり、共振周波数fが小さくなることを利用している。図26はベルトコンベア5を動かしながら共振周波数の変化をプロットした図である。21はそれぞれのベルトコンベア5の位置での共振周波数を表し、曲線20はこれらのデータに対して2次多項式をフィッティングした結果である。曲線20から周波数の最大点22を動作制御部82で決定することができる。決定された周波数の最大点の位置22まで荷物6とゴルフバック16の合成重心が移動するように動作制御部82の制御の下でベルトコンベア5を動かすことによって、荷物6とゴルフバック16の合成重心6Iが機体3の重心24の位置の真上に位置することになり、水平バランスを保つことが可能である。
【0118】
上記第2実施形態によれば、複数の荷物すなわち荷物6と,ゴルフバック16がベルトコンベア5に搭載されることにより、高さセンサ10の測定プロファイルに対して荷物6の密度は一定であるとの仮定が使えなくなり、慣性モーメントを推定できなくなっても、加振機17と受信機18とを備えて、荷重センサ9を先端に錘の付いた短い曲げモード梁と見立て、これの振動方向19a、19bの共振周波数を測定することで、錘の大まかな慣性モーメントを知ることができる。この結果、ベルトコンベア5の位置での共振周波数を表す曲線20から動作制御部82により決定された周波数の最大点の位置22まで荷物6とゴルフバック16の合成重心が移動するように、動作制御部82の制御の下でベルトコンベア5を動かすことによって、荷物6とゴルフバック16の合成重心6Iが機体3の重心24の位置の真上に位置することになり、水平バランスを保つことが可能となる。
【0119】
(第3実施形態)
本発明の第3実施形態にかかるロボットは、荷物の形状は直接的には測定せず、形状を仮定して、重さのみを測定するものである。
【0120】
図1における高さセンサ10は、荷物6をベルトコンベア5上でスキャンすることにより、荷物6の形状や置かれた位置を測定する目的で利用される。荷物6の形状が判明すると、荷物6の密度は一定であるとの仮定の下で荷物6の慣性モーメントを動作制御部82で算出することができる。
【0121】
図27において、荷物6の車軸回り慣性モーメントの算出方法を説明する。図中、荷物6の形状を幅W、高さh、奥行きb(図示せず)、また、車軸2c,2dから荷台5までの高さをhとする。荷物質量はM、密度は一様とする。この時、荷物6の車軸回り慣性モーメントIは、
【数19】

と表される。式19において、荷物質量M、高さhを一定値とすれば、慣性モーメントIは高さhと奥行きbに対して単調増加することがわかる。このことから、予めユーザ65が利用可能な荷物6の最大サイズを定めておけば(たとえば荷物の一例であるスーツケースの最大サイズはLサイズと定めておけば)、荷物質量しか測定できない場合でも、慣性モーメントIの想定最大値を算出することができる。
【0122】
先に述べた図9及び図10の結果より、慣性モーメントIを大きめに見積もって設計した状態フィードバックゲインは、制御系の安定性を保証するので、慣性モーメントIの想定最大値を用いることは好都合である。
【0123】
以上の手法を用いると、高さセンサ10が不要で、荷重センサ9だけのロボット67を実現することができ、その時の荷物運びの動作フローを図28に示す。
【0124】
図28のステップS211において、ロボット67は、支持脚8a,8bを接地した状態でユーザ65が荷物6を置くことを待っている。本実施形態では荷物6の位置を測定する高さセンサ10が無いので、ユーザ65は荷物6の重心と車軸2c,2dの位置とをできるだけ一致させることが要求される。
【0125】
図28のステップS212において、荷物6の重量を荷重センサ9で測定して動作制御部82に入力され、ふさわしい状態フィードバックゲインが動作制御部82により設定される(図28のステップS213参照)。
【0126】
図28のステップS214において、動作制御部82の制御により、支持脚8a,8bを解除してバランス制御を開始すると、やむを得ず残っている荷物重心の位置ズレから、ロボット荷台であるベルトコンベア5の水平が維持できないことがわかる。
【0127】
そこで、図29のステップS215においては、動作制御部82の制御により、ベルトコンベア5を試行錯誤的に微小距離ずつ動かしながら荷物重心23Hの位置ズレを修正し、荷台であるベルトコンベア5の水平を回復している。
【0128】
その後、図29のステップS216において、動作制御部82の制御により、走行を開始し、目的地で支持脚8a,8bを接地してバランス制御を終了する(図29のステップS217参照)。
【0129】
ユーザ65が荷物6Hを取り去ることを待って、一連のタスクを終了する(図29のステップS218参照)。
【0130】
上記第3実施形態によれば、高さセンサ10が不要となり、荷重センサ9だけのロボット67を実現することができる。
【0131】
(第4実施形態)
本発明を倒立2輪走行ロボット型の運搬ロボット67以外へ適用する例としては、荷物運搬2足歩行ロボット167がある。
【0132】
図30は、本発明の第4実施形態の、姿勢制御された2足歩行ロボットによる荷物運搬を示した図である。図30において、49は2足歩行ロボットの動作を制御する制御部、50は足、51は制御部49に接続されかつ足50の下面に設置されたZMP(ゼロモーメントポジション)検出センサ、52a、52b、52c、52d、52e、52f、52gは制御部49により制御されかつ各関節に取り付けられた関節駆動用モータである。
【0133】
この荷物運搬2足歩行ロボット167では、2足歩行ロボット167の静的バランス制御はZMP検出センサ51によって検出される重心位置が、自らの足50の支持領域の中に入るように、制御部49を用いて、各関節の関節駆動用モータ52a〜52gを位置制御し、ロボット167の重心167Gと荷物166の重心166Gとの合成重心169の位置(図31及び図32参照)を微調整することでバランス制御を行っている。この結果、2足歩行ロボット167に外乱となる力が加わったときには、一時的に重心位置が変動するが、制御部49により関節駆動用モータ52a、52b、52c、52d、52e、52f、52gを適宜動作制御することにより、上記変動を元に戻すような関節の動きが発生する。外乱が大き過ぎる場合、一時的に変動した重心位置が足50の支持領域から外れてしまい、2足歩行ロボット167が転倒してしまう場合がある。第4実施形態においては、このような事故を防止するために、ロボット167が持つことを予定している荷物166を、制御部49に無線で接続可能な荷重センサ54に予め搭載して荷物166の重量を測定する。荷重センサ54は内蔵する図示しない無線送信機によってロボット167の制御部49に荷物166の重さを通知する。ロボット167は荷物166を受け取るにあたって、その重量が自分の保持可能重量以内であるかどうか、また、どのような姿勢を取るべきかを判断し、ロボット167のアーム167aの先端の手167bで荷物166を受け取るように制御部49で動作制御することができる。図33にロボットが軽い荷物166aを手167bで持つときと重い荷物166bを持つときのアーム167aの姿勢の違いを示す。図33の(a)のようにアーム167aを前方に突き出した場合、荷物166aを手167bで拾い上げる際に荷重センサ54との干渉の心配が少ないが、逆に荷物166が重いと直立バランスを崩す恐れがある。そこで、図33の(b)のように荷物166bが重い場合は、アーム167aを出来るだけ手元に引き寄せて、手167bで荷物166bを持つように制御部49で関節駆動用モータ52a、52b、52c、52d、52e、52f、52gを動作制御する。このような動作によって、2足歩行ロボット167が重い荷物166bを手167bで持つことによる転倒を防止することができる。なお、2足歩行ロボット167のモータ制御は位置制御で行われるのが一般的であり、第1実施形態及び第2実施形態で示した車輪型のモータがトルク制御されるのとは状況が異なっている。このため、荷物質量の変動によるサーボ系の発振は起こりにくく、サーボゲインの変更は不要である。
【0134】
以下に、二足歩行ロボット167による荷物166の把持及び運搬に伴うバランスの取り方の判断処理について、詳細に説明する。
【0135】
上記したように、二足歩行ロボット167の場合、荷物166が重い場合、また、荷物位置がロボット167の重心167Gから大きく離れている際に、ロボット167の重心167Gと荷物166の重心166Gとの合成重心169の位置がずれてロボット167がバランスを崩してしまう恐れがある。言い換えれば、ロボット167の重心167Gと荷物166の重心166Gとの合成重心169の位置がロボット167の足裏形状からなる支持多角形の外に出てしまえば、最悪の場合転倒してしまうこともある。そこで、図31及び図32に示すような荷物授受に伴う重心の位置制御を制御部49により行う。
【0136】
まず、ロボット167の外部に配置された荷重センサ54により、荷物166の重量・形状を測定して制御部49に出力する(図30及び図31のステップS221参照)。この荷重センサ54は、一例として図30に示す荷重センサ54に限らず、第1及び第2の実施形態に示したような機械量測定センサでも良いし、また、あらかじめ重量・形状が登録されている荷物166であれば、荷物166に付けた電子タグからと荷物166のIDをタグリーダで読み取り、読み取られたIDを基にデータベースからIDに対応する重量を読み出すようにしてもよい。
【0137】
このようにして得られた重量などの情報を基に、ロボット167は手167bで荷物166を持ったときに荷物166が自分の体と干渉しないように、制御部49で関節駆動用モータ52a、52b、52c、52d、52e、52f、52gを動作制御してアーム167a及び肩の姿勢を決定する(図31のステップS222参照)。
【0138】
この状態では、ロボット167の重心167Gが、足裏中心の鉛直線27Aよりも前方に寄った形となるため、胴体167cを後傾して重心167Gの位置を鉛直線27Aよりも後方にずらし、ロボット167が荷物166を持ったときに、合成重心169がちょうど足裏中心の鉛直線27A上に来るように、制御部49で関節駆動用モータ52a、52b、52c、52d、52e、52f、52gを動作制御して、合成重心169の位置を調整する(図31のステップS223参照)。
【0139】
この調整の段階で、ロボット167の重心167Gの位置が足裏形状からなる支持多角形の外に出てしまう場合、荷物166の保持は不可能と判断して(図31のステップS224参照)、荷物運びのタスクを中止する(図31のステップS226参照)。
【0140】
この調整が無事終了した場合、荷物166を持ったとき、その合成重心169は正しく支持多角形の中心に位置することになるため(図31のステップS225参照)、ロボット167は安定した歩行を行うことができる(図32のステップS227参照)。
【0141】
人間に荷物166を渡した後は(図32のステップS228参照)、胴体167cの後傾を元に戻し(図32のステップS229参照)、アーム167aの位置を元に戻す(図32のステップS230参照)。
【0142】
この第4実施形態によれば、2足歩行ロボット167が手167bで荷物166を受け取った時にロボット167がバランスを崩さないように、荷物166の質量又は質量及び形状を事前に測定し、荷物166を持つにふさわしいアーム167aと胴体167cの姿勢をとると同時に、かかと関節を用いて荷物166とロボット167との想定合成重心169の位置を足裏中心上に移動し、この後に荷物166を受け取ることができるように、制御部49で関節駆動用モータ52a、52b、52c、52d、52e、52f、52gを動作制御する。このように制御することにより、ロボット167は、常に合成重心169を足裏中心付近に保ちながら、安定して2足で立脚することができる。
【0143】
なお、上記実施形態において、荷台の一例はベルトコンベアであり、上記移動装置の一例は上記ベルトコンベアを駆動する駆動装置であるとしたが、これに限られるものではなく、上記荷台の別の例として直動ステージとし、上記移動装置の別の例は直動ステージを駆動する駆動装置としてもよい。
【0144】
すなわち、図38に直動ステージ60を用いた本発明の他の実施形態を示す。図38の(a)において直動ステージ60は機体3の上に荷重センサ9を介して取り付けられている。直動ステージ60は荷台部60aと駆動部60bとを備えて、駆動部60bにはモータ、送りネジ等のアクチュエータが収納され、荷台部60aを直線移動させて、任意の位置に位置決め可能である。いま、ユーザが荷物6を荷台部60aに置いたとき、ベルトコンベアを用いた第1実施形態、第2実施形態と同様な手法により。荷物6の重心位置23を検出する。荷台部60aの重心位置60Gは直動ステージ60の位置情報として予めわかっているため、荷台部60aと荷物6の合成重心25gの位置を算出することができる。図38の(b)において直動ステージ60を移動することにより、算出された合成重心25gの位置を車軸上に位置決めし、これにより倒立バランス時の水平が確保される。あるいは、第3実施形態に示したように、倒立バランス時に水平が保たれるまで、直動ステージ60の位置を微調整するという方法も実施可能である。
【0145】
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【0146】
本発明にかかる荷物運搬ロボットは、不安定な機体と、機体の姿勢を検出する姿勢センサと、姿勢を保持する力を発生するアクチュエータと、機体の姿勢を安定化する制御コンピュータと、機体から着脱可能な荷物と、機体に搭載された荷物を姿勢の安定化方向に移動させる移動装置を有する。さらに、荷物の重さや形状を測定することにより、荷物の重心位置、及び慣性モーメントを推定し、バランス動作に最適なゲインと水平バランスを実現することができる。この技術により荷物運搬ロボットにおいて荷崩れを起こすことなく荷物を安定して運搬することが可能となり、有用である。また、この技術は車輪型の荷物運搬ロボットだけでなく、2足歩行型荷物運搬ロボットにも応用できる。
【図面の簡単な説明】
【0147】
【図1】本発明の第1実施形態における荷物搬送ロボットの斜視図である。
【図2】第1実施形態における荷物搬送ロボットの側面図である。
【図3】(a)〜(c)はそれぞれ本発明の第1実施形態における荷物搬送ロボットの側面図、正面図、下面図である。
【図4】本発明の第1実施形態における荷物搬送ロボットにおいて荷物受け渡しと荷物運搬の状態を示す図である。
【図5】本発明の第1実施形態における荷物搬送ロボットにおける概略ブロック図である。
【図6】本発明の第1実施形態における荷物搬送ロボットのそれぞれの装置とCP制御部などとの関係を示すブロック図である。
【図7】本発明の第1実施形態における荷物搬送ロボットにおいて機体のパラメータを定義を説明するための図である。
【図8】本発明の第1実施形態における荷物搬送ロボットのより具体的な例の制御系のブロック線図である。
【図9】(a)〜(d)はそれぞれ本発明の第1実施形態における荷物搬送ロボットにおいて、図8で示した制御系と式3で表されるロボットの線形モデルを組み合わせたシミュレーションの結果を示すグラフである。
【図10】(e)〜(h)はそれぞれ本発明の第1実施形態における荷物搬送ロボットにおいて、図8で示した制御系と式3で表されるロボットの線形モデルを組み合わせたシミュレーションの結果を示すグラフである。
【図11】バランス制御に用いられる制御アルゴリズムに使われる変数標記を表す図である。
【図12】第1実施形態における荷物搬送ロボットにおいて荷物を機体重心から外れた位置に置いた時の倒立バランスを表す図である。
【図13】第1実施形態における荷物搬送ロボットにおいて荷物形状測定時の高さセンサの測定値変化を表す図である。
【図14】(a)〜(e)はそれぞれ本発明の第1実施形態における荷物搬送ロボットの荷物運びの動作についてロボットとユーザを上方から見た平面図である。
【図15】図14に続く、(f)〜(i)はそれぞれ本発明の第1実施形態における荷物搬送ロボットの荷物運びの動作についてロボットとユーザを上方から見た平面図である。
【図16】本発明の第1実施形態における荷物搬送ロボットの荷物運びの動作シーケンスの図とそれぞれのステップでの説明図を関連付けて示す図である。
【図17】図16に続く、本発明の第1実施形態における荷物搬送ロボットの荷物運びの動作シーケンスの図とそれぞれのステップでの説明図を関連付けて示す図である。
【図18】本発明の第1実施形態における荷物搬送ロボットにおいてカウンタウェイトが不要であることを説明するための図である。
【図19】(a)〜(c)はそれぞれ本発明の第1実施形態の変形例における荷物搬送ロボットにおいて長尺物の荷物と障害物の関係を示す図である。
【図20】本発明の第1実施形態における荷物搬送ロボットにおいて長尺の荷物をロボットで運搬するときの図である。
【図21】本発明の第1実施形態の変形例における荷物搬送ロボットにおいて、スキー板を搭載したロボットが障害物の近くでバランスを崩した状況での制御アルゴリズムの図とそれぞれのステップでの説明図を関連付けて示す図である。
【図22】本発明の第1実施形態の変形例における荷物搬送ロボットの図21とは別の制御アルゴリズムを示す図とそれぞれのステップでの説明図を関連付けて示す図である。
【図23】(a)〜(d)はそれぞれ本発明の第1実施形態の変形例における荷物搬送ロボットにおいて長尺物の荷物を用いた機体のバランス制御を使用して、ロボットが旋回して人間を避ける状態を示す説明図である。
【図24】本発明の第2実施形態における荷物運搬ロボットの荷台付近を表す側面図である。
【図25】上記第2実施形態における荷台付近を複振子で表現したモデル図である。
【図26】上記第2実施形態における共振周波数の変化をプロットした図である。
【図27】本発明の第3実施形態における荷物搬送ロボットにおいて荷物の車軸回り慣性モーメントの算出方法を説明するための図である。
【図28】本発明の第3実施形態における荷物搬送ロボットにおいて荷物運びの動作フローを説明するための説明図付きのフローチャートである。
【図29】図28に続く、本発明の第3実施形態における荷物搬送ロボットにおいて荷物運びの動作フローを説明するための説明図付きのフローチャートである。
【図30】本発明の第4実施形態の荷物運搬用の2足歩行ロボットの側面図である。
【図31】本発明の第4実施形態における荷物搬送二足歩行ロボットによる荷物の把持及び運搬に伴うよるバランスの取り方を説明するための説明図付きのフローチャートである。
【図32】図31に続く、本発明の第4実施形態における荷物搬送二足歩行ロボットによる荷物の把持及び運搬に伴うよるバランスの取り方を説明するための説明図付きのフローチャートである。
【図33】(a),(b)はそれぞれ上記第4実施形態の荷物重量の違いによるアーム姿勢の違いを表す図である。
【図34】従来のアームと先端の錘によってバランスされるロボットを表す斜視図である。
【図35】従来のアームと先端の錘によってバランスされるロボットを表す側面図である。
【図36】従来の椅子型の乗り物を表す斜視図である。
【図37】従来の椅子型の乗り物に組み込まれたカウンタウェイトを示す図である。
【図38】(a),(b)はそれぞれ本発明の他の実施形態の荷物搬送ロボットにおいて、ユーザが荷物を置いたときの説明図、及び、直動ステージを動かして合成重心を車軸上に持ってきたときの説明図である。
【符号の説明】
【0148】
1a,1b 車輪
2a,2b モータ
2c,2d 車軸
3 機体
4 姿勢センサ
5 ベルトコンベア
5a ベルト部
5b、5c ローラ部
5d 荷重面
6 荷物
6a 軽い荷物
6b 重い荷物
6H 長尺の荷物
6I 合成重心
6Z 複振子
7 方向
8a,8b 支持脚
8c,8d 支持脚用昇降装置
9 荷重センサ
10 高さセンサ
11 高さセンサの出力
12 荷物幅
13 荷物高さ
14 ノイズ成分
15 荷物の中心軸
16 ゴルフバック
17 加振機
18 受信器
19a,19b 振動方向
20 曲線
21 共振周波数
22 周波数の最大点
23 荷物の重心
24 機体重心
25,25g 合成重心
26 接地点
27 鉛直線
29 地面
30 障害物
49 制御部
50 足
51 ZMP検出センサ
52a,52b,52c,52d,52e,52f,52g モータ
54 荷重センサ
60 直動ステージ
60a 荷台部
60b 駆動部
60G 重心位置
61 速度変化
62 姿勢変化
65 ユーザ
67 ロボット
68 モータトルク指令
69 状態変数
70 合算点
71 ジャイロ
72 2軸加速度センサ
73 センサフュージョン
74 サブCPU
74A CPU
76a,76b エンコーダ
77 エンコーダカウンタ
78 状態フィードバックゲイン
78A 制御ゲイン
80a,80b モータドライバ
81 メインCPU
82 動作制御部
83 動作シナリオ用データベース
84 インターフェース
85a,85b 送りネジ軸
86a,86b パルスモータ
86P パルスモータドライバ
87 パルスモータ
87P パルスモータドライバ
88 ユーザI/Fデバイス
89 目標値
89A 目標値
90 状態変数
91 障害物検出センサ
91a,91b レンジファインダ
92a,92b チルトステージ
93 障害物
96 ユーザ追跡用の発信器
97 ユーザ追跡用の受信器
98a 光
99 エッジ
100 制御部
166 荷物
166a 軽い荷物
166b 重い荷物
167 荷物運搬2足歩行ロボット
167a アーム
167b 手
167c 胴体
327 支点
328,329 バネ
368 モータトルク指令
370 合算点
371 状態フィードバックゲイン
373 角速度指令値
375 目標状態生成器

【特許請求の範囲】
【請求項1】
同軸上に配置されて2つの車軸にそれぞれ連結されてそれぞれ回転可能に支持された2つの車輪と、荷物を搭載可能な荷台とを有する機体と、
上記機体の姿勢を検出する姿勢センサと、
上記姿勢センサでの検出結果に基づき上記2つの車輪をそれぞれ回転駆動して上記機体の上記姿勢を保持する力を発生させるアクチュエータと、
上記荷台を上記機体に対して移動可能な移動装置と、
上記機体の姿勢を安定化させるように上記アクチュエータを動作制御するとともに、上記移動装置を動作制御して上記機体の上記荷台に搭載された上記荷物を上記機体の姿勢の安定化方向に移動させる制御部と、
を有することを特徴とする2輪走行型荷物運搬ロボット。
【請求項2】
上記荷台に搭載された上記荷物の少なくとも質量を測定して検出する検出部をさらに備え、上記検出部での検出結果を基に、上記制御部での制御の下に、上記移動装置により上記荷物を上記機体の姿勢の安定化方向に移動させること特徴とする請求項1に記載の荷物搬送ロボット。
【請求項3】
上記検出部は、上記荷台に搭載された上記荷物の質量を測定して検出するとともに、上記荷物の形状を測定し又は慣性モーメントを算出して検出する検出部をさらに備え、上記検出部での検出結果を基に、上記制御部での制御の下に、上記移動装置により上記荷物を上記機体の姿勢の安定化方向に移動させること特徴とする請求項1に記載の荷物搬送ロボット。
【請求項4】
上記制御部は、上記荷台が水平方向沿いとなるように上記荷台に搭載された上記荷物を移動させる上記移動装置を駆動して上記機体の姿勢を安定化させることを特徴とする請求項1〜3のいずれか1つに記載の荷物搬送ロボット。
【請求項5】
上記荷台がベルトコンベアであり、上記移動装置は上記ベルトコンベアを駆動する駆動装置であることを特徴とする、請求項1〜4のいずれか1つに記載の荷物運搬ロボット。
【請求項6】
上記荷台が直動ステージであることを特徴とする請求項1〜4のいずれか1つに記載の荷物運搬ロボット。
【請求項7】
上記制御部は、上記荷物の運搬が終了したとき、上記荷台に上記荷物を搭載した位置まで上記荷物を戻すように上記移動装置を駆動制御することを特徴とする請求項1〜6のいずれか1つに記載の荷物運搬ロボット。
【請求項8】
上記機体は、上記機体を支持する支持位置と該支持位置から退避した退避位置との間で昇降可能な支持脚を、上記機体がさらに有して、
上記荷台に対して上記荷物を搭載又は取り出すときには上記支持脚が上記支持位置に位置して上記機体を支持する一方、上記車輪により荷物運搬走行時には上記支持脚が上記退避位置に位置することを特徴とする請求項1〜7のいずれか1つに記載の荷物運搬ロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate


【公開番号】特開2006−123854(P2006−123854A)
【公開日】平成18年5月18日(2006.5.18)
【国際特許分類】
【出願番号】特願2004−317928(P2004−317928)
【出願日】平成16年11月1日(2004.11.1)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】