移動体装置
【課題】操作者の操作意図を適切に推定し、ロボットを移動する。
【解決手段】ZMP検出手段22が、接地面(走行面)に沿って移動するロボットのZMPの位置を検出し、操作意図推定手段44が、ZMP検出手段22により検出される、操作者からロボットに対して加えられた力により移動したZMPの位置に基づいて、操作意図を推定し、移動手段42が、操作意図推定手段44により推定された操作意図に基づいてロボットを移動させる。
【解決手段】ZMP検出手段22が、接地面(走行面)に沿って移動するロボットのZMPの位置を検出し、操作意図推定手段44が、ZMP検出手段22により検出される、操作者からロボットに対して加えられた力により移動したZMPの位置に基づいて、操作意図を推定し、移動手段42が、操作意図推定手段44により推定された操作意図に基づいてロボットを移動させる。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、ロボットなどの移動体装置に関する。
【背景技術】
【0002】
近年、人が存在する環境下で動作して、人と共棲する自走型サービスロボットが開発されてきている。このようなロボットは、例えば、人に代わって荷物を運んだり、人を所定の場所に案内したりする機能を有している。しかるに、人が存在する環境下では、ロボットが人の通行を妨げるおそれがある。このような場合、人は、自己の進路上からロボットを移動させるため、手で押すなどの動作を行うのが自然かつ一般的である。
【0003】
上記動作に応じてロボットを移動させるためには、例えば、ロボットの走行車輪の駆動用モータをサーボオフして、走行車輪が自由に回転できるようにすることが考えられる。この場合、人が走行車輪用モータを明示的にサーボオフしなければならず、またロボットがスロープ上にある場合は重力方向に転がる危険性もあり、望ましい方法ではない。これに対し、最近では、人がロボットを手で押したときの力から人の意図を検知して、駆動用モータを制御し、人の意図通り動作する技術が提案されている。このような技術は「パワーアシスト」として分類される技術である。
【0004】
パワーアシスト技術は、大別して(A)ロボットに3軸力覚センサや複数の荷重センサを搭載し、ロボットのボディに加わった力を検知する方法(特許文献1参照)や、(B)力検知センサを備えた専用のハンドルで人の操作力を検知する方法(特許文献2参照)がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−25989号公報
【特許文献2】特開2001−138276号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記(A)に属する技術では、人によって操作感覚が異なるため、操作に慣れるまでに時間が掛かるおそれがある。また、(B)に属する技術では、公共性の高い空間にロボットを設置する場合には、不特定対数の人に触れられる可能性があるハンドルを専用のハンドルとすることが安全性の観点から難しい場合もある。また、(B)に属する技術では、ハンドルの付いた特定の方向からしかロボットを操作できず、不便になるおそれもある。
【0007】
そこで本件は上記の課題に鑑みてなされたものであり、外部から受けた力に応じた適切な移動が可能な移動体装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本明細書に記載の移動体装置は、接地面に沿って移動する移動体と、前記移動体の重力と慣性力の合力が接地面と交わる点であるZMPの位置を検出するZMP検出手段と、操作者から前記移動体に対して力が加えられたときの前記ZMPの位置に基づいて、前記操作者の前記移動体に対する操作意図を推定する操作意図推定手段と、前記操作意図推定手段により推定された操作意図に基づいて、前記移動体を移動させる移動手段と、を備える。
【発明の効果】
【0009】
本明細書に記載の移動体装置は、外部から受けた力に応じた適切な移動ができるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係るロボットを示す図である。
【図2】図2(a)は、ロボットの構成を模式的に示す図であり、図2(b)は、土台部及び走行車輪等の配置を模式的に示す図である。
【図3】第1の実施形態に係るロボットの制御系を示すブロック図である。
【図4】操作意図推定領域及びバッファ領域を説明するための図である。
【図5】図4の操作意図推定領域及びバッファ領域の説明を示す図である。
【図6】ZMPの状態遷移図である。
【図7】ZMPの位置から操作意図を推定する方法について説明するための図(その1)である。
【図8】ZMPの位置から操作意図を推定する方法について説明するための図(その2)である。
【図9】ロボットにおける車輪駆動手段の制御手順を示すフローチャートである。
【図10】ロボットがスロープ上に位置している場合の処理について説明するための図である。
【図11】ロボットがスロープ上を加速度axにて加速しつつ移動している場合の処理について説明するための図である。
【図12】図12(a)は、車輪制御手段がロボットの移動を禁止する場合について説明するための図であり、図12(b)は、荷物を搬送するロボットを移動させる場合について説明するための図である。
【図13】図3の制御系の別例を示すブロック図である。
【図14】第1の実施形態の変形例を示す図である。
【図15】図15(a)、図15(b)は、図14に示す圧力センサの構成各部を説明するための図である。
【図16】第2の実施形態に係るロボットの制御系を示すブロック図である。
【図17】図17(a)、図17(b)は、第2の実施形態に係る、ベイズの定理を用いた処理を説明するための図である。
【図18】図18(a)は、第3の実施形態に係るロボットの側面図であり、図18(b)は、ロボットの平面図である。
【図19】図18(b)のA−A線断面図である。
【図20】第3の実施形態に係るロボットの走行車輪と、キャスタの配置例を示す図である。
【図21】図21(a)〜図21(c)は、2輪速度差方式の駆動方法を説明するための図である。
【図22】第3の実施形態のロボットの回転部材に対して人が操作力を付与した際のロボットの移動の様子を模式的に示す図である。
【図23】第3の実施形態の比較例を示す図である。
【図24】回転部材を設けた場合のZMPの移動状態を示す図である。
【図25】第4の実施形態に係るロボットの制御系による処理を示すフローチャートである。
【図26】角度誤差αを示す図である。
【図27】退避判定領域及び第4の実施形態の効果を説明するための図である。
【図28】第3、第4の実施形態の変形例を示す図である。
【発明を実施するための形態】
【0011】
≪第1の実施形態≫
以下、移動体装置の第1の実施形態について、図1〜図13に基づいて詳細に説明する。図1には、移動体としてのロボット100が概略的に示されている。なお、本実施形態の移動体装置は、図1に示すロボット100と、ロボット100内に格納され、ロボット100の移動を制御する制御系(図3参照)と、を備えている。なお、図3の制御系の一部が、ロボット100の外部に配置されていてもよい。
【0012】
ロボット100は、図1に示すように、ボディ10と、2つの走行車輪12a,12bと、キャスタ16a〜16cと、を備える。
【0013】
ボディ10は、図2(a)に模式的に示すように、土台部30と、土台部30上に設けられた支持台20と、支持台20により支持された外装体10aと、を有する。外装体10aは、実際には、図1に示すような複雑な形状を有しているが、図2(a)では簡略化して示している。また、土台部30の周囲は、カバー10bにより覆われている。
【0014】
支持台20は、テーブル状の形状を有しており、支持板20aと、支持板20aを土台部30上で支持する3本の脚部20bとを有する。3本の脚部20bそれぞれと、土台部30との間には、ZMP検出手段22が設けられている。ZMP検出手段22は、感圧センサを含んでおり、ロボットの高さに比べて十分に低く、接地面に近い高さに設置されていて、外装体10aに矢印Fで示す外力が加わったときに3本の脚部20bそれぞれにかかる力の大きさを検出する。これにより、ZMP検出手段22は、ロボットの重力と慣性力の合力が接地面と交わる点、すなわちZMP(Zero Moment Point)の位置を近似的に検出する。本発明では、この近似的なZMPをZMPとして扱う。なお、感圧センサとしては、ロードセル、FSR(Force Sensing Resistors)などを用いることができる。
【0015】
土台部30には、前述した走行車輪12a、12bと、キャスタ16a〜16cと、加速度検知手段18と、が設けられている。図2(b)には、土台部30の平面図が模式的に示されている。この図2(b)に示すように、走行車輪12a,12bは、ロボット100の走行面の座標系であるxryr座標系におけるyr軸方向に関して、所定間隔をあけて配置されている。これらのうち、走行車輪12aは、モータ等を含む車輪駆動手段24aにより回転駆動される。また、走行車輪12aの回転は、走行車輪12aの車軸に設けられた、図2に示す走行回転検知手段14aにより検知される。同様に、走行車輪12bは、車輪駆動手段24bにより回転駆動され、その回転は、走行車輪12bの車軸に設けられた回転検知手段14bにより検知される。回転検知手段14a,14bは、例えばロータリエンコーダやタコジェネレータなどのセンサを含んでいる。なお、走行車輪12a,12bの車軸の方向は、xryr面内で変更可能とされている。走行車輪12a,12bの車軸の方向は、図3に示す車軸方向検知手段48により常時検知されている。
【0016】
キャスタ16a〜16cは、ロボット100が転倒しないように姿勢を安定化させるためのものであり、土台部30の外縁近くに沿ってほぼ等間隔で設けられている。
【0017】
加速度検知手段18は、土台部30のxryr面内における中央部近傍に設けられている。この加速度検知手段18は、ロボット100のxr方向に関する加速度及びyr方向に関する加速度を検知する。
【0018】
図3には、本実施形態のロボット100の制御系の構成がブロック図にて示されている。この図3に示すように、ロボット100の制御系は、前述したZMP検出手段22、回転検知手段14a,14b、車軸方向検知手段48、加速度検知手段18のほか、操作意図推定手段44、電流検知手段46、移動手段42、を含んでいる。
【0019】
操作意図推定手段44は、ZMP検出手段22による検出結果や回転検知手段14a,14bによる検知結果に基づいて、操作者からロボット100に与えられた操作力が、どのような操作意図を意味しているかを推定する。ここでの操作意図には、例えば、ロボットを「前進」させる意図、「前右旋回」させる意図、「後右旋回」させる意図、「後進」させる意図、「後左旋回」させる意図、「前左旋回」させる意図、及び「停止」させる意図などが含まれる。なお、操作意図推定手段44による操作意図の推定方法については、後述する。
【0020】
電流検知手段46は、車輪駆動手段24a,24bに含まれるモータにおいて使用されている電流の値を検知する。
【0021】
移動手段42は、前述した車輪駆動手段24a,24bと、当該車輪駆動手段24a,24bの駆動を制御する車輪制御手段40と、を有する。車輪制御手段40は、回転検知手段14a,14bによる検知結果、車軸方向検知手段48による検知結果、加速度検知手段18による検知結果、及び電流検知手段46による検知結果、並びに操作意図推定手段44による推定結果に基づいて、車輪駆動手段24a,24bを制御する。
【0022】
次に、操作意図推定手段44による、操作意図推定方法について、図4〜図8に基づいて説明する。ここで、操作意図推定手段44は、ZMP検出手段22により検出されるZMPの位置が図4に示す推定マップ上のどの領域に位置しているかを求め、それに基づいて操作者の意図を推定する。以下、図4の推定マップについて説明する。
【0023】
図4に示す推定マップは、図2のZMP検出手段22が載っている土台部30の上部に設定された領域であり、6つの領域A〜Fを含んでいる。これら6つの領域A〜Fは、隣接する領域と重ならない部分、及び重なる部分を有している。図4では、隣接する領域と重ならない部分を、アルファベットの小文字を付して、「操作意図推定領域a〜f」と定義し、隣接する領域と重なる部分を、括弧付き数字を付して、「バッファ領域(1)〜(6)」と定義している。また、マップの中央部には、操作意図推定領域Oも定義されている。
【0024】
図5には、操作意図推定領域a〜f及びO、並びにバッファ領域(1)〜(6)の説明が示されている。この図5に示すように、操作意図推定領域aは、「前進」を検出する領域であり、操作意図推定領域bは、「前右旋回」を検出する領域であり、操作意図推定領域cは、「後右旋回」を検出する領域である。また、操作意図推定領域dは、「後進」を検出する領域であり、操作意図推定領域eは、「後左旋回」を検出する領域であり、操作意図推定領域fは、「前左旋回」を検出する領域である。操作意図推定領域Oは、「停止」を検出する領域である。これに対し、バッファ領域(1)〜(6)については、図5において、隣接する2つの領域のオーバーラップ領域である旨、示されている。
【0025】
図6は、ZMPの移動によるロボット100の状態遷移を示す図である。この図6に示すように、操作意図推定領域aに着目すると、ZMPは、領域aからは、隣接する領域(1)、(6)、Oのいずれかにのみ移動することができる。また、その他の領域からも、その領域に隣接する領域にのみ移動することができるようになっている。
【0026】
次に、操作意図推定手段44による、操作者の操作意図の推定方法の基本的な処理について、図7(a)〜図8(c)に基づいて説明する。
【0027】
ここでは、前提として、図7(a)に示すように、ZMPが操作意図推定領域O内に位置しているものとする。この場合、操作意図推定手段44は、図4の推定マップに基づいて、操作者にはロボット100を操作する意図がない、すなわち停止させる意図がある、と推定する。この状態から、図7(b)に示すように、ロボット100に対して操作者が力FL、FR(ただし、FL=FR)を加えると、ZMPが操作意図推定領域aに移動したことを、ZMP検出手段22が検出する。操作意図推定手段44は、ZMP検出手段22による検出結果と図4の推定マップに基づいて、操作者にはロボット100を前進させる意図があると推定する。
【0028】
次いで、図7(c)に示すように、ロボット100に力FL、FR(ただし、FL>FR)が操作者から加えられると、ZMP検出手段22は、ZMPがバッファ領域(1)に移動したことを検出する。この場合、操作意図推定手段44は、操作者にロボット100を前進させる意図があるとの推定を維持する。すなわち、本実施形態では、操作意図推定手段44は、ZMPがバッファ領域(1)〜(6)のいずれかに位置した場合には、その直前にZMPが位置していた操作意図推定領域の操作意図を維持するものとする。
【0029】
その後、図8(a)のように、ZMPがバッファ領域(1)から操作意図推定領域bに移動したことをZMP検出手段22が検出すると、操作意図推定手段44は、推定マップに基づいて操作者にロボット100を前右旋回させる意図があると推定する。
【0030】
その後、図8(a)の状態から、図8(b)に示すように、ロボット100に力FL、FR(ただし、FL<FR)が操作者から加えられ、ZMPがバッファ領域(1)に移動したものとする。この場合、操作意図推定手段44は、直前にZMPが位置していた操作意図推定領域(ここでは領域b)の操作意図(前右旋回)を維持する。そして、図8(c)に示すように、ZMPがバッファ領域(1)から操作意図推定領域aに移動した場合には、操作意図推定手段44は、図4、図5のマップに基づいて、操作者にロボット100を前進させる意図があると推定する。
【0031】
次に、図9のフローチャートに沿って、ロボット100の駆動に関する一連の処理について説明する。図9のフローチャートは繰り返し実行されるものである。
【0032】
図9に示すように、まず、ステップS10では、ZMP検出手段22が、ZMPの位置を検出する。次いで、ステップS12では、操作意図推定手段44が、前述したようにして、検出されたZMPの位置から操作者の意図を推定する。次いで、ステップS14では、車輪制御手段40が、操作意図推定手段44において推定された操作者の意図が移動に関するものか、すなわち、停止以外であるか否かを判断する。ここでの判断が肯定された場合には、車輪制御手段40は、ステップS16において、車軸方向検知手段48の検知結果をモニタしつつ、車輪駆動手段24a,24bを制御する。これにより、ロボット100の移動方向を、ステップS12において推定された意図する方向に設定する。
【0033】
次いで、ステップS18では、車輪制御手段40が、回転検知手段14a,14bの検知結果をモニタして、ロボット100の速度Vが最大速度Vmaxであるか否かを判断する。ここでの判断が否定された場合には、ステップS20において、車輪制御手段40が、車輪駆動手段24aを介して、加速度aで加速した後に、ステップS10に戻る。一方、ステップS18における判断が肯定された場合には、そのままステップS10に戻る。その後、ステップS12において、同一の操作意図が維持されている間は、ロボット100の速度がVmaxに達するまで、車輪制御手段40は、ロボット100を加速度aで加速しつづける。
【0034】
これに対し、ステップS14における判断が否定された場合、すなわち、操作者の意図が「停止」であった場合には、ステップS22に移行する。ステップS22では、車輪制御手段40が、回転検知手段14a,14bの検知結果をモニタすることで、速度Vが0であるか否かを判断する。ここでの判断が否定された場合には、ステップS24において、車輪制御手段40は、車輪駆動手段24aを介してロボット100を加速度aで減速させる。一方、ステップS22の判断が肯定された場合には、そのままステップS10に移行する。その後、ステップS12において、停止の意図が維持されている間は、ロボット100の速度が0に達するまで、車輪制御手段40は、ロボット100を加速度aで減速しつづける。
【0035】
その後は、上記処理を繰り返すことにより、操作者の意図に応じたロボット100の移動制御を継続的に実行する。すなわち、操作者がロボット100に対して力を加えている間は、その力の方向にロボット100が移動し続け、操作者がロボット100に力を加えていない間は、ロボット100は静止し続けることになる。
【0036】
次に、(i)ロボット100がスロープ上に位置している場合、(ii)ロボット100がスロープ上を加速度axにて加速して移動している場合、(iii)ロボット100の移動を禁止する場合、(iv)ロボットが荷物を搬送するロボットである場合、及び(v)走行車輪に空転が生じた場合、の各処理について説明する。
【0037】
(i)ロボット100がスロープ上に位置している場合
まず、ロボット100がスロープ上に位置している場合の処理について説明する。図10には、角度θのスロープ上にロボット100が位置している状態が示されている。この図10に示すように、ロボット100がスロープ上に位置していることに起因して、ZMPの位置が、平坦な接地面に位置していた場合におけるZMPの位置(符合ZMPで示している)から、図10のZMP’の位置まで変位することになる。
【0038】
ここで、ZMPの変位量Pθxは、次式(1)にて表すことができる。なお、次式(1)のhは、ロボット100の重心高さであり、既知の値である。また、gは重力加速度、θは水平面に対するスロープの傾斜角度を表す。
Pθx=−htanθ=(−gsinθ/gcosθ)・h …(1)
【0039】
上式(1)において、傾斜角が5°程度であるとすると、cosθ≒1とすることができる。また、gsinθは、加速度検知手段18により検知されるxr方向の加速度Axと定義することができる。ここで、ロボット100は、実際にはスロープ上で停止した状態にあるが、スロープに沿って下方向にスライドないように加速しているとも看做すことができるので、加速度検知手段18の値は正となる。したがって、上式(1)は、次式(2)のように表すことができる。
Pθx={−Ax/(g×1)}・h=−Ax・h/g …(2)
【0040】
このように、ロボット100がスロープ上に位置しているときには、ZMP検出手段22は、図9のステップS10において、検出されたZMPから、変位量Pθxを差し引いた値を真のZMPとする。そして、操作意図推定手段44は、ステップS12において、当該真のZMPに基づいて、操作者の操作意図を推定することとする。このようにすることで、ロボット100がスロープ上に存在していても、操作者の操作意図を精度良く推定することが可能である。なお、ロボット100がスロープ上に位置しているか否かは、ロボット100を所定の加速度で加速した場合に得られるべき走行車輪12a,12bの回転(理論値)と、実際の回転とを比較することで判断することができる。なお、これに限らず、ロボット100がスロープ上に位置しているか否かは、加速度検知手段18などを用いて判断することとしてもよい。
【0041】
(ii)ロボット100がスロープ上を加速度axにて加速しつつ、移動している場合
次に、ロボット100がスロープ上を加速度axにて加速しつつ、移動している場合の処理について、図11に基づいて説明する。ここで、ロボット100が図11の紙面右側に加速した場合、当該加速方向とは逆方向の力(慣性力)がロボット100に働く。この場合、ZMPの変位方向が加速度axとは逆向きになることから、図11に示すように、スロープの傾斜に起因するZMPの変位(Pθx)の方向と、慣性力によるZMPの変位(Pax)の方向とが一致する。
【0042】
ここで、慣性力によるZMPの変位量(Pax)と、スロープの傾斜に起因するZMPの変位量(Pθx)とを合算した変位量(Pax+Pθx)は、次式(3)のように表すことができる。
Pax+Pθx=(−ax・h/gcosθ)−htanθ
=−(ax+gsinθ)・h/gcosθ …(3)
【0043】
上式(3)において、ax+gsinθは、加速度検知手段18により検出されるxr方向の加速度Axを意味する。また、図10の場合と同様、傾斜角は5°程度であるので、cosθ≒1とすることができる。したがって、上式(3)は、次式(4)にて表すことができる。
Pax+Pθx=−(Ax)・h/(g×1)=−Ax・h/g …(4)
【0044】
すなわち、ZMP検出手段22は、xr、yr面上における加速度検知手段18の値をA(Ax,Ay)として、傾斜の角度及び加減速度にかかわらず、ZMPの位置を、次式(5)で表される変位ベクトルδで補正する(ステップS10)。そして、操作意図推定手段44は、当該補正後のZMPを用いて、操作意図を推定する(ステップS12)
δ=−h・A/g …(5)
【0045】
このようにすることで、ロボット100が斜面を移動している場合でも、慣性力や斜面に起因するZMPの検出誤差を低減することが可能である。
【0046】
なお、ロボット100がスロープ上に位置していない場合にも、上記と同様に、慣性力に起因するZMPの移動量を考慮することとしてもよい。
【0047】
(iii)ロボット100の移動を禁止する場合
次に、図12(a)に基づいて、車輪制御手段40が、ロボット100の移動を禁止する場合について、説明する。
【0048】
図12(a)には、ロボット100の近傍にいる人が、ロボット100に肘をついて休憩等をした場合にかかる力Fを示している。このような場合には、ロボット100に横方向から力がかかった場合でも、ロボット100は移動すべきでない。したがって、車輪制御手段40は、図12(a)のような下向きの力がロボット100にかかっている場合には、ロボット100の移動を禁止する。
【0049】
具体的には、例えば、一般女性の上肢の重量を2.5kgとし、前肢の重量1.0kgよりも重い荷重(10N)がロボット100にかかった場合に、ロボット100の移動を禁止することとする。すなわち、車輪制御手段40は、荷重(10N)を閾値として、当該閾値よりも大きい下向きの力がロボット100にかかった場合に、ロボット100の移動を禁止することとする。このようにすることで、ロボット100に人が肘をついているような場合に、ロボット100が不用意に動作したりするのを防止することができる。
【0050】
(iv)ロボットが、荷物を搬送するロボットである場合
ロボットが荷物を搬送するロボットである場合には、上述した(iii)のように、単に荷重が所定の閾値を超えた場合にロボット100の移動を禁止するのでは、ロボットの搬送機能が発揮されないおそれがある。すなわち、ロボット100に掛かっている荷重が、図12(b)に示す荷物BGによるものであるのか、人が肘をついていることに起因するものなのかを判別しなければ、ロボット100を意図どおりに移動させることができなくなるおそれがある。
【0051】
そこで、本実施形態では、ロボット100が、荷物BGを搬送するロボットである場合には、車輪制御手段40は、ZMP検出手段22により検出される荷重F’の変動をモニタする。そして、車輪制御手段40は、荷重F’の変動が所定値(例えば、2N)以下で、所定時間(例えば3秒)以上持続した場合に、ロボット100が荷物を保持していると判断する。このように判断するのは、人は、荷物と異なり、静止しているときでもわずかに揺動する可能性が高いからである。
【0052】
上記のように判断された場合、車輪制御手段40は、ロボット100の移動を禁止しないこととする。そして、ZMP検出手段22は、図9のステップS10において、荷物BGの荷重を含むロボット100全体のZMPを、ZMPの初期値に設定して、ZMPの位置を検出する。そして、当該初期値を用いて検出されたZMPの位置に基づいて、操作意図推定手段44が、ステップS12において、操作者の操作意図を推定する。このようにすることで、荷物BGを搬送するロボットを、高精度に駆動制御することができるようになる。
【0053】
なお、上記の説明では、図12(a)、図12(b)の制御を、車輪制御手段40が行う場合について説明したが、これに限られるものではない。例えば、図13に示すように、ZMP検出手段22の検出結果に基づいて、人が肘をついているのか、あるいは荷物BGが載置されたのかを判定する非操作力検出手段52を別途設け、これにより、上述した制御を行うこととしてもよい。
【0054】
(v)走行車輪に空転が生じた場合
次に、ロボット100において、走行車輪12a,12bに空転が生じた場合の処理について説明する。ロボット100に対する外力(操作力)の加わり方によっては、ロボット100の姿勢が変化し、車輪が空転する可能性がある。このような場合の対処法として、車輪制御手段40は、車輪駆動手段24a,24bに供給されている電流値を電流検知手段46を用いて検知し、当該検知結果に基づいて、ロボット100の制御を行う。具体的には、電流値が車輪の回転速度に応じて定められる閾値以下である場合には、車輪制御手段40は、車輪が空転していると判断する。そして、当該判断がなされたときには、車輪制御手段40は、図9のフローチャートよりも優先的に、車輪の回転速度を低下させ、あるいは回転を停止する制御を実行する。このようにすることで、車輪が空転した場合にも、適切なロボット100の移動制御を行うことができる。
【0055】
以上、詳細に説明したように、本第1の実施形態によると、接地面に沿って移動するロボット100のZMPの位置をZMP検出手段22により検出し、当該ZMPの位置に基づいて、操作意図推定手段44が操作意図を推定する。そして、移動手段42が、操作意図に基づいてロボット100を移動させる。これにより、ZMPの位置に基づいて適切に推定される人の操作意図に沿ったロボット100の移動を実現することができる。この場合、操作意図推定手段44は、操作者からロボット100に対して加えられた力により移動したZMPの位置が予め設定した複数の分割領域(操作意図推定領域)のいずれの領域内に存在しているかに基づいて、操作意図を推定するので、操作意図を簡易且つ適切に推定することができる。これにより、外部から受けた力に応じたロボットの適切な移動を実現できるので、ハンドル等を用いずに、操作者は直感的にロボット100を移動させることができる。また、外部からの力が、ロボット100の任意の位置に加えられた場合でも、ロボット100をその力の方向に移動させることができる。したがって、従来の足元接触センサを具備するロボットでは対応できない障害物(高い位置にある障害物)に接触した場合でも、当該障害物を避けるように適切な移動することが可能である。
【0056】
また、本第1の実施形態によると、複数の領域A〜Fそれぞれが、隣接する領域と重複する重複部分(バッファ領域(1)〜(6))を有している。そして、ZMPの位置が、バッファ領域にあるときには、操作意図推定手段44が、直前に推定された操作意図が維持されていると推定する。これにより、操作者がロボットを所定方向に移動させようとしていることが明確になった場合にのみ、その所定方向にロボット100を移動するので、操作者がロボット100に与える操作力に個人差があるような場合であっても、その操作力の違いを吸収し、ロボット100を適切に移動することが可能である。逆に言えば、人の性質上、ロボット100を押したにもかかわらずロボットが思い通りに動かなければ、更に力を加えることから、上記のようなバッファ領域を設けても、問題なくロボットを移動させることができる。また、バッファ領域を設けることで、ロボット100に加わるわずかな外乱が操作意図に即座に反映されるのを防止することができるので、意図していないロボット100の移動を抑制することができる。
【0057】
また、本第1の実施形態によると、感圧センサとして、FSR(Force Sensing Resistors)などの安価なセンサを用いることができるので、従来のような3軸力覚センサを用いる場合と比較してコストダウンを図ることができる。
【0058】
また、本第1の実施形態によると、ZMP検出手段22は、回転検知手段14a,14bの検知結果と、加速度検知手段18の検知結果とに基づいて算出される、接地面の傾斜に起因するZMPの移動量に基づいてZMPの位置の検出結果を補正する。そして、操作意図推定手段44は、補正後のZMPの位置を用いて操作意図を推定する(上式(2)参照)。したがって、ロボット100が傾斜した接地面(スロープ)上に位置している場合にも、当該傾斜の影響を考慮した適切なロボット100の移動制御を行うことが可能である。
【0059】
また、本第1の実施形態によると、走行車輪12a,12bを回転させる車輪駆動手段24a,24bに供給されている電流を検知する電流検知手段46を備えており、車輪制御手段40は、電流検知手段46による検知結果に基づいて、走行車輪12a,12bの空転を検出し、当該空転を考慮して、車輪駆動手段24a,24bに供給する電流を制御、すなわち、走行車輪12a,12bの回転を制御する。したがって、ロボット100に対して操作者から加えられる力の方向によって生じる可能性のある走行車輪12a,12bの空転に対して、適切に対処することができる。
【0060】
また、本第1の実施形態によると、ZMP検出手段22の検出結果に基づいて、ロボット100を接地面に沿って移動させようとする力以外の力の大きさを検出する非操作力検出手段52(又は車輪制御手段40の一部機能)を備えており、車輪制御手段40は、非操作力検出手段52(又は車輪制御手段40の一部機能)による検出値が、所定の値を超えた場合に、ロボットの移動を禁止する。これにより、ロボット100の上に人が肘を付いて休憩している場合などにおいて、ロボット100が移動するのを防止することができる。
【0061】
また、本第1の実施形態によると、非操作力検出手段52(又は車輪制御手段40の一部機能)による検出値の変動量が、所定の変動量以下で所定時間継続するような場合、すなわち、ロボット100に荷物を搭載したような場合には、ロボット100の移動を禁止せずに、そのときのZMPの位置をZMPの初期位置として取り扱う。したがって、ロボット100が荷物を搭載したロボットである場合であっても、荷物を搭載しないロボットと同様に移動制御を行うことができる。
【0062】
また、本第1の実施形態によると、ZMP検出手段22は、ロボット100の加速により生じる慣性力に起因するZMPの移動量に基づいて、ZMPの位置の検出結果を補正する。そして、操作意図推定手段44は、当該補正後のZMPの位置に基づいて、操作意図を推定する。したがって、慣性力によるZMPの移動による影響を受けずに、操作者の操作意図を適切に推定することができる。
【0063】
なお、上記第1の実施形態では、ZMP検出手段22が感圧センサを3つ含んでいる場合について説明したが、これに限らず、少なくとも3つの感圧センサを含んでいれば、その数は問わない。
【0064】
なお、上記第1の実施形態では、ZMP検出手段22が3つの感圧センサを含んでいる場合について説明したが、これに限られるものではない。ZMP検出手段22は、例えば、図14に示すような力の加わっている位置を検知できるシート状の圧力センサ66を含んでいてもよい。
【0065】
圧力センサ66は、図14に示すように、土台部30側に設けられた板状センサ群62と、板状センサ群62に対向して、外装体10a側に設けられたボールグリッド板64と、を有する。板状センサ群62は、図15(a)に示すように、6枚の板状センサ68が、隣接する板状センサ68と一部重複するような状態で、配置されたものである。一方、ボールグリッド板64は、図15(b)に示すように、多数の半球状のボールグリッド70を有している。
【0066】
上記のように構成される圧力センサ66では、図15(a)に示す操作意図推定領域a〜f及びO、並びにバッファ領域(1)〜(6)のうち、ボールグリッド板64から与えられる圧力が最も大きい部位を特定する。そして、操作意図推定手段44は、圧力の合計が最も大きい部位にZMPが存在すると判定し、その部位に応じて、操作者の操作意図を推定する。この推定には、図7、図8と同様の手法が用いられる。このような圧力センサ66を用いることとしても、上記第1の実施形態と同様の効果を得ることができる。
【0067】
なお、上記第1の実施形態では、操作意図推定領域a〜fの間に、バッファ領域(1)〜(6)を設けた場合について説明したが、分割数はこれに限らず、任意に設定してもよい。同様の観点からすると、図15(a)のようなシート状のセンサ群62を用いる場合も、操作意図推定領域を6つ設けた場合について説明したが、これに限らず、その数は任意である。
【0068】
≪第2の実施形態≫
次に、移動体装置の第2の実施形態について、図16、図17に基づいて説明する。
【0069】
図16は、第2の実施形態にかかるロボット100の制御系を示すブロック図である。この図16に示すように、本第2の実施形態では、確率保持手段54が設けられている点が、第1の実施形態と異なる。また、図17(b)に示すように、推定マップが7つの領域Aj(j=1〜7)に分割されている点も、第1の実施形態と異なる。
【0070】
確率保持手段54は、図17(a)に示すような操作者の操作Bi(ここでは、i=1〜7)が定められている場合に、操作者の操作がBiである確率p(Bi)を保持している。また、確率保持手段54は、操作者が操作Biを行ったときに、ZMPが図17(b)に示す領域Aj(j=1〜7)に存在する確率p(Aj|Bi)を保持している。なお、確率p(Aj|Bi)は、予め実験等により求めた値である。
【0071】
図16の操作意図推定手段44は、確率保持手段54が保持している確率のデータを用い、以下のようにして操作意図を推定する。
【0072】
仮に、ZMPが領域Ajにある確率をp(Aj)とすると、ZMPが領域Ajにあるときに、操作者が操作Biを行った確率P(Bi|Aj)は、ベイズの定理を用いると、次式(6)のように表すことができる。
P(Bi|Aj)=p(Aj|Bi)・p(Bi)/p(Aj) …(6)
【0073】
したがって、操作意図推定手段44は、P(Bi|Aj)をi=1〜7について計算し、その確率と、ZMP検出手段22により検出されるZMPの位置(Aj)とに基づいて、最も確率の高い操作意図(Bi)を、操作者の操作意図と推定する。
【0074】
以上、説明したように、本第2の実施形態によると、確率保持手段54が保持する、操作者が所定の操作を行ったときにZMPが所定の領域に存在する確率を用いて、操作意図推定手段44が、ベイズの定理に基づき操作意図を推定する。したがって、操作意図推定手段44は、確率論に基づいて、操作者の操作意図を適切に推定することができる。これにより、ロボット100を操作者の操作意図に沿って適切に移動させることが可能である。
【0075】
なお、上記第2の実施形態では、第1の実施形態の制御系(図3)に、確率保持手段54を設けた場合の例について説明したが、これに限られるものではない。第1の実施形態の変形例に係る制御系(図13)などに、確率保持手段54を設けることとしてもよい。
【0076】
なお、上記第1、第2の実施形態では、走行車輪12a,12bを採用し、その回転軸のxr軸、yr軸に対する角度が変更可能である場合について説明したが、これに限られるものではない。例えば、走行車輪に代えて、オムニホイルを用いた全方位移動走行機構や、独立ステアリング型の全方位移動走行機構を採用することとしてもよい。全方位移動機構の場合、図4の領域(2)や(5)にZMPがある場合は、それぞれ右真横に移動、左真横に移動という意図の推定としてもよい。これらを採用することで、簡易に、全方位にロボット100を移動させることが可能となる。
【0077】
≪第3の実施形態≫
次に、移動体装置の第3の実施形態について、図18〜図23に基づいて説明する。
【0078】
図18(a)には、本第3の実施形態に係る移動体装置としての非ホロノミックなロボット100’の側面図が示され、図18(b)には、ロボット100’の平面図が示されている。これらの図に示すように、ロボット100’の上端部近傍には、リング状部材としての回転部材102が設けられている。この回転部材102は、人間工学等に基づいて人が触れやすい高さ位置に設けられている。回転部材102は、人がロボット100’を退避させたいときに力を加える部材として、予め定められている部材である。
【0079】
図19には、図18(b)のA−A線断面図が示されている。図19に示すように、回転部材102は、ロボット100’のボディ10の外周部に設けられた複数のカムフォロア106に係合した状態となっている。このカムフォロア106の作用により、回転部材102は、ボディ10に対して、ロボット100’の接地面(走行面)に垂直な軸を中心として回転するようになっている。なお、回転部材102は、ロボット100’が旋回する場合の旋回力より小さな摩擦力で回転するように、すなわち、ロボット100’の旋回力よりも小さな摩擦力での回転が許容された状態で、ロボット100’に設けられているものとする。なお、回転部材102は、更に、ロボット100’の移動時の振動では、回転しないという条件を満たすように、ロボット100’に設けられていても良い。
【0080】
図20には、ロボット100’の走行車輪12a,12bと、キャスタ16a,16bの配置例が示されている。図20では、説明及び図示の簡素化のため、上記第1、第2の実施形態と異なり、キャスタ16a,16bの個数を2個としている。ここでは、走行車輪12a,12bの回転速度差を利用して旋回動作を行う、2輪速度差方式の駆動方法を採用している。
【0081】
ここで、2輪速度差方式の駆動方法について、図21(a)〜図21(c)に基づいて、説明する。図21(a)に示すように、走行車輪12a,12bを同一の速度で回転させれば、ロボット100’を、直進(並進)移動させることができる。これに対し、2輪速度差方式では、任意の方向には並進移動することができないため、旋回動作などで向きを変更して走行方向を変える必要がある。旋回動作は、例えば、図21(b)、図21(c)のような動作で実現可能である。例えば、図21(b)に示すように、走行車輪12a,12bを逆方向に回転させると、ロボット100’は、車輪間距離L以下の曲率での旋回動作を行うことができる。なお、走行車輪12a,12bを逆方向かつ同一速度で回転させれば、ロボット100’をその場で旋回させることができる。また、図21(c)に示すように、走行車輪12a,12bを同一方向に異なる回転速度で回転させれば、ロボット100’を、車輪間距離L以上の曲率で旋回させることができる。これら、図21(a)〜図21(c)の動作を組み合わせることで、ロボット100’は、任意の方向に移動することが可能となる。なお、2輪速度差方式には、構造が簡素化できるとともに、制御が容易になるというメリットがある。
【0082】
図22には、本第3の実施形態のロボット100’の回転部材102に対して人が操作力を付与した際の、ロボット100’の移動の様子が模式的に示されている。
【0083】
ここで、人が回転部材102に対して操作力を与えてロボット100’を退避させようとする場合、走行車輪12a,12bの位置や向きに関係なく、図22に示すような操作力Fを回転部材102に作用させる。この場合、操作力Fの方向は、操作力Fの作用点とロボット100’の中心を結ぶ方向とほぼ一致している。また、操作力Fの作用点とロボット100’の中心を結ぶベクトルの方向は、ロボット100’を退避させたい方向とほぼ一致するようになっている。
【0084】
本第3の実施形態では、人が、ロボット100’(回転部材102)の作用点に図22のようなロボット100’を退避させようとする操作力Fを加えると、操作意図推定手段44(図3参照)が、ZMP検出手段22にて検出されるZMPから、上記第1の実施形態と同様にして操作意図を推定する。そして、移動手段42が、操作意図の推定結果に基づいて、ロボット100’を移動する。この場合、ロボット100’は、図22のように旋回動作を行うが、回転部材102は、操作力Fを受け続けている間、ロボット100’の旋回には追従しないようになっている。このため、本第3の実施形態では、人は、ロボット100’を退避させるための操作力Fを、継続的に同一の作用点に作用させることができるようになっている。
【0085】
ここで、比較例(回転部材102を設けない場合)について、図23に基づいて説明する。図23に示すように、回転部材102を設けない場合、ロボットに図22と同様の操作力Fを作用させると、ロボットは図22と同様の動作を行う。この場合、ロボットの旋回動作に伴って、操作力Fを最初に作用させていた作用点も移動することから、人は、操作力Fの作用点をロボットの旋回にあわせて随時変更する必要がある。これにより、比較例では、ロボット対して、操作力Fを継続的に作用させることができず、ロボットを意図どおりに退避させることができない可能性がある。
【0086】
以上説明したように、本第3の実施形態によると、2輪速度差方式の移動部(走行車輪12a,12b)を介して走行面(接地面)に沿って移動するロボット100’の外周部に、走行面に垂直な軸を中心として回転する回転部材102が設けられており、当該回転部材102が、ロボット100’の旋回力よりも小さな摩擦力で回転する状態でロボット100’に保持されている。これにより、人が回転部材102に対して操作力を付与する際に、ロボット100’が旋回しても、回転部材102は当該ロボット100’の旋回に追従しないようにすることができる。したがって、人は、操作力を同一の作用点に継続的に作用させることができるので、意図通りにロボット100’を退避させることができる。これにより、ロボット100’を退避させる際の操作性の向上を図ることが可能である。
【0087】
なお、上記第3の実施形態では、非ホロノミックな駆動方法として、2輪速度差方式の駆動方法を採用した場合について説明したが、これに限らず、その他の非ホロノミック系の駆動方法を採用することとしても良い。
【0088】
≪第4の実施形態≫
次に、移動体装置の第4の実施形態について、図24〜図27に基づいて説明する。なお、本第4の実施形態のロボット100’は、上述した第3の実施形態と同様の構成を有している。
【0089】
本第4の実施形態では、上記のように第3の実施形態と同様の構成を採用しているので、人がロボット100’を退避させようとする場合には、回転部材102の同一の作用点に対して連続的に操作力Fを作用させることになる。この場合、ZMPは、例えば図24に示すように、定常静止状態のZMPの位置(ロボット100’が無負荷状態にあるときのZMPの位置)から離れた位置を移動し続けることになる。
【0090】
そこで、本第4の実施形態では、人がロボット100’を退避させるときには、ZMPが、図24のように移動するという特徴を利用した処理を採用している。
【0091】
図25は、第4の実施形態に係るロボット100’の制御系(図3と同様)による処理を示すフローチャートである。この図25の処理では、まず、ステップS30において、ZMP検出手段22がZMPの位置を検出する。また、加速度検知手段18が加速度を検知したり、回転検知手段14a,14bが走行車輪12a,12bの回転を検知したりする。
【0092】
次いで、ステップS32では、操作意図推定手段40が、ZMPが退避判定領域を超えたか否かを判断する。ここで、退避判定領域とは、図27(a)に示すような円形の領域であるものとし、図2のZMP検出手段22が載っている土台部30の上部に設定された領域である。この退避判定領域には、ロボット100’が無負荷状態にあるときのZMP(定常静止状態でのZMP)の位置を含んでいる。なお、ステップS32の判断が否定された場合には、ステップS34以降の、退避速度算出及び当該退避速度を用いた制御が行われ、ステップS32の判断が肯定された場合には、ステップS48以降の通常モードでの制御が行われる。以下、これらの処理について具体的に説明する。
【0093】
ステップS32の判断が肯定され、ステップS34に移行すると、車輪制御手段40は、時間Tをカウントアップする。次いで、ステップS36では、旋回最大速度Ωを算出する。なお、旋回最大速度Ωとは、ZMPが退避判定領域から外れている時間の長さのみを考慮して定められる、旋回速度の最大値(仮の最大値)を意味する。具体的には、比例ゲインをCとして、次式(7)に基づいて、旋回最大速度Ωを算出する。
Ω=C×T …(7)
【0094】
次いで、ステップS38では、車輪制御手段40が、ロボット並進自由度と操作方向の角度誤差αを計算する。具体的には、角度誤差αは、図26に示すような操作力の方向とロボット100’の並進方向との間の角度であり、xryr座標系上におけるZMPの位置から、算出することができる。
【0095】
次いで、ステップS40では、旋回速度指令ωを次式(8)に基づいて、算出する。
ω=Ω×α …(8)
【0096】
なお、上式(7)は、ロボット100’に対して操作力Fを長時間付与している場合に、なるべく早く旋回を終了させようとの観点から、操作力Fを付与している時間に応じて、旋回最大速度を徐々に速くするための式である。また、上式(8)は、人がロボット100’を退避させたい方向に対する、ロボット100’の実際の向きの近づき度合い(角度誤差α)に応じて旋回最大速度Ωを補正して、旋回速度指令ωを算出するための式である。
【0097】
次いで、ステップS42では、車輪制御手段40が、ステップS40で算出した旋回速度指令ωが、システム許容値(ロボット100’が実際に旋回できる旋回速度の最大値)ω0以下であるか否かを判断する。ここでの判断が肯定された場合には、ステップS44に移行して、車輪制御手段40は、車輪駆動手段24a,24bを介して、予め定められている退避並進速度vでロボット100’を並進させるとともに、ステップS40で算出された旋回速度指令ωにてロボット100’を旋回させる。なお、ステップS44の処理の後は、ステップS30に戻る。
【0098】
一方、ステップS42の判断が否定された場合には、ステップS46に移行する。ステップS46では、車輪制御手段40が、旋回速度指令ωをω0に置き換える。そして、ステップS44では、車輪制御手段40は、車輪駆動手段24a,24bを介して、予め定められている退避並進速度vでロボット100’を並進させるとともに、置き換え後の旋回速度指令ω0にてロボット100’を旋回させる。なお、ステップS44の処理の後は、ステップS30に戻る。
【0099】
これに対し、ステップS32の判断が否定された場合には、ステップS48に移行して、車輪制御手段40が、時間Tをゼロにリセットする。そして、ステップS50では、車輪制御手段40が、並進速度vを0、旋回速度指令ωを0に設定することで、ロボット100’を停止させる。ステップS50の処理の後は、ステップS30に戻る。
【0100】
その後は、ステップS30以降の処理が繰り返され、ロボット100’の電源がOFFにされるなどして、ロボット100’の移動制御が終了した段階で、図25の処理が終了する。
【0101】
以上のような制御を行うことにより、図27(a)に示すように、退避判定領域からZMPが外れている間は、車輪制御手段40は、ロボット100’に適切な退避動作を継続的に行わせることが可能である。これに対し、図27(b)に示すようにZMPが移動する場合には、車輪制御手段40は、ロボット100’に継続的な退避動作を行わせないようにすることが可能である。これにより、例えば、人が回転部材102以外の部分を押すような場合には、図27(b)のようなZMPの挙動が得られるので、このような場合には、退避動作ではないとして、退避動作を継続的に行わないようにすることができる。また、ロボット100’に荷物などを載せる際に、ロボット100’の一部に荷物がぶつかったりしても、その一時的な力ではロボット100’はほとんど動かないので、荷物の積載を容易に行うことが可能となる。
【0102】
以上、説明したように、本第4の実施形態によると、操作意図推定手段40は、ZMPが、ロボット100’が無負荷状態にあるときのZMPの位置を含む所定の退避判定範囲から外れたか否かを判断し(ステップS32)、移動手段42(車輪制御手段40)は、ZMPが退避判定範囲から外れている時間に応じた速度で、ロボット100’を退避させる(ステップS36〜ステップS46)ので、回転部材102に操作力Fが継続的に付与されている時間に応じた退避速度で、ロボット100’を適切に退避させることができる。
【0103】
なお、上記第4の実施形態では、回転部材102に人が接触したこと、あるいは所定の力で押していることを検知する検知手段を、回転部材102に設けることとしてもよい。この検知手段としては、例えば、静電タッチセンサやマイクロスイッチ等の接触センサを採用することができる。検知手段を設けることで、当該検知手段において回転部材102に対する人の接触があったことを検知した後に、図25の処理を開始するというシーケンスを採用することができる。これにより、回転部材102に操作力Fが付与されていない間は、ロボット100’は退避動作を行わないこととすることができるので、ロボット100’の誤動作を抑制することができる。また、検知手段を設けることで、退避判定領域を狭くしても問題なく退避動作の制御を行うことができるので、退避操作に必要な操作力の低減を図ることができる。
【0104】
なお、退避判定領域としては、図4の領域Oを利用することとしても良い。また、図14、図15のような機構を用いて、ZMPが退避判定領域内にあるか否かを判断することとしても良い。なお、退避判定領域は、図27(a)のように、円形である場合に限らず、楕円形や矩形であっても良い。
【0105】
なお、上記第3、第4の実施形態では、図22や図26に示すように、ロボット100’が退避する際に、旋回動作と並進動作を同時に行う場合について説明したが、これに限られるものではない。例えば、図28に示すように、ロボット100’に操作力Fが作用した直後は、車輪制御手段40は、ロボット100’が旋回動作のみを行うように制御し、操作力Fとロボット100’の並進方向とが一致した段階で、ロボット100’が並進動作のみを行うように制御することとしてもよい。このような制御を行うことで、ロボット100’を操作力Fの方向に直接的に移動させることができるので、ロボット100’が狭い通路上に存在するような場合でも、問題なく移動させることが可能となる。なお、この方法が採用できるのは、上記第3、第4の実施形態のロボット100’に回転部材102が設けられているため、ロボット100’が旋回動作のみを行っても、人は、操作力Fを回転部材102の同一作用点に作用させ続けることができるからである。
【0106】
上述した各実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【符号の説明】
【0107】
12a,12b 走行車輪(車輪)
14a,14b 回転検知手段
18a,18b 加速度検知手段
22 ZMP検出手段
42 移動手段
44 操作意図推定手段
46 電流検知手段
52 非操作力検出手段
54 確率保持手段
100 ロボット(移動体)
102 回転部材(リング状部材)
【技術分野】
【0001】
本件は、ロボットなどの移動体装置に関する。
【背景技術】
【0002】
近年、人が存在する環境下で動作して、人と共棲する自走型サービスロボットが開発されてきている。このようなロボットは、例えば、人に代わって荷物を運んだり、人を所定の場所に案内したりする機能を有している。しかるに、人が存在する環境下では、ロボットが人の通行を妨げるおそれがある。このような場合、人は、自己の進路上からロボットを移動させるため、手で押すなどの動作を行うのが自然かつ一般的である。
【0003】
上記動作に応じてロボットを移動させるためには、例えば、ロボットの走行車輪の駆動用モータをサーボオフして、走行車輪が自由に回転できるようにすることが考えられる。この場合、人が走行車輪用モータを明示的にサーボオフしなければならず、またロボットがスロープ上にある場合は重力方向に転がる危険性もあり、望ましい方法ではない。これに対し、最近では、人がロボットを手で押したときの力から人の意図を検知して、駆動用モータを制御し、人の意図通り動作する技術が提案されている。このような技術は「パワーアシスト」として分類される技術である。
【0004】
パワーアシスト技術は、大別して(A)ロボットに3軸力覚センサや複数の荷重センサを搭載し、ロボットのボディに加わった力を検知する方法(特許文献1参照)や、(B)力検知センサを備えた専用のハンドルで人の操作力を検知する方法(特許文献2参照)がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−25989号公報
【特許文献2】特開2001−138276号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記(A)に属する技術では、人によって操作感覚が異なるため、操作に慣れるまでに時間が掛かるおそれがある。また、(B)に属する技術では、公共性の高い空間にロボットを設置する場合には、不特定対数の人に触れられる可能性があるハンドルを専用のハンドルとすることが安全性の観点から難しい場合もある。また、(B)に属する技術では、ハンドルの付いた特定の方向からしかロボットを操作できず、不便になるおそれもある。
【0007】
そこで本件は上記の課題に鑑みてなされたものであり、外部から受けた力に応じた適切な移動が可能な移動体装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本明細書に記載の移動体装置は、接地面に沿って移動する移動体と、前記移動体の重力と慣性力の合力が接地面と交わる点であるZMPの位置を検出するZMP検出手段と、操作者から前記移動体に対して力が加えられたときの前記ZMPの位置に基づいて、前記操作者の前記移動体に対する操作意図を推定する操作意図推定手段と、前記操作意図推定手段により推定された操作意図に基づいて、前記移動体を移動させる移動手段と、を備える。
【発明の効果】
【0009】
本明細書に記載の移動体装置は、外部から受けた力に応じた適切な移動ができるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係るロボットを示す図である。
【図2】図2(a)は、ロボットの構成を模式的に示す図であり、図2(b)は、土台部及び走行車輪等の配置を模式的に示す図である。
【図3】第1の実施形態に係るロボットの制御系を示すブロック図である。
【図4】操作意図推定領域及びバッファ領域を説明するための図である。
【図5】図4の操作意図推定領域及びバッファ領域の説明を示す図である。
【図6】ZMPの状態遷移図である。
【図7】ZMPの位置から操作意図を推定する方法について説明するための図(その1)である。
【図8】ZMPの位置から操作意図を推定する方法について説明するための図(その2)である。
【図9】ロボットにおける車輪駆動手段の制御手順を示すフローチャートである。
【図10】ロボットがスロープ上に位置している場合の処理について説明するための図である。
【図11】ロボットがスロープ上を加速度axにて加速しつつ移動している場合の処理について説明するための図である。
【図12】図12(a)は、車輪制御手段がロボットの移動を禁止する場合について説明するための図であり、図12(b)は、荷物を搬送するロボットを移動させる場合について説明するための図である。
【図13】図3の制御系の別例を示すブロック図である。
【図14】第1の実施形態の変形例を示す図である。
【図15】図15(a)、図15(b)は、図14に示す圧力センサの構成各部を説明するための図である。
【図16】第2の実施形態に係るロボットの制御系を示すブロック図である。
【図17】図17(a)、図17(b)は、第2の実施形態に係る、ベイズの定理を用いた処理を説明するための図である。
【図18】図18(a)は、第3の実施形態に係るロボットの側面図であり、図18(b)は、ロボットの平面図である。
【図19】図18(b)のA−A線断面図である。
【図20】第3の実施形態に係るロボットの走行車輪と、キャスタの配置例を示す図である。
【図21】図21(a)〜図21(c)は、2輪速度差方式の駆動方法を説明するための図である。
【図22】第3の実施形態のロボットの回転部材に対して人が操作力を付与した際のロボットの移動の様子を模式的に示す図である。
【図23】第3の実施形態の比較例を示す図である。
【図24】回転部材を設けた場合のZMPの移動状態を示す図である。
【図25】第4の実施形態に係るロボットの制御系による処理を示すフローチャートである。
【図26】角度誤差αを示す図である。
【図27】退避判定領域及び第4の実施形態の効果を説明するための図である。
【図28】第3、第4の実施形態の変形例を示す図である。
【発明を実施するための形態】
【0011】
≪第1の実施形態≫
以下、移動体装置の第1の実施形態について、図1〜図13に基づいて詳細に説明する。図1には、移動体としてのロボット100が概略的に示されている。なお、本実施形態の移動体装置は、図1に示すロボット100と、ロボット100内に格納され、ロボット100の移動を制御する制御系(図3参照)と、を備えている。なお、図3の制御系の一部が、ロボット100の外部に配置されていてもよい。
【0012】
ロボット100は、図1に示すように、ボディ10と、2つの走行車輪12a,12bと、キャスタ16a〜16cと、を備える。
【0013】
ボディ10は、図2(a)に模式的に示すように、土台部30と、土台部30上に設けられた支持台20と、支持台20により支持された外装体10aと、を有する。外装体10aは、実際には、図1に示すような複雑な形状を有しているが、図2(a)では簡略化して示している。また、土台部30の周囲は、カバー10bにより覆われている。
【0014】
支持台20は、テーブル状の形状を有しており、支持板20aと、支持板20aを土台部30上で支持する3本の脚部20bとを有する。3本の脚部20bそれぞれと、土台部30との間には、ZMP検出手段22が設けられている。ZMP検出手段22は、感圧センサを含んでおり、ロボットの高さに比べて十分に低く、接地面に近い高さに設置されていて、外装体10aに矢印Fで示す外力が加わったときに3本の脚部20bそれぞれにかかる力の大きさを検出する。これにより、ZMP検出手段22は、ロボットの重力と慣性力の合力が接地面と交わる点、すなわちZMP(Zero Moment Point)の位置を近似的に検出する。本発明では、この近似的なZMPをZMPとして扱う。なお、感圧センサとしては、ロードセル、FSR(Force Sensing Resistors)などを用いることができる。
【0015】
土台部30には、前述した走行車輪12a、12bと、キャスタ16a〜16cと、加速度検知手段18と、が設けられている。図2(b)には、土台部30の平面図が模式的に示されている。この図2(b)に示すように、走行車輪12a,12bは、ロボット100の走行面の座標系であるxryr座標系におけるyr軸方向に関して、所定間隔をあけて配置されている。これらのうち、走行車輪12aは、モータ等を含む車輪駆動手段24aにより回転駆動される。また、走行車輪12aの回転は、走行車輪12aの車軸に設けられた、図2に示す走行回転検知手段14aにより検知される。同様に、走行車輪12bは、車輪駆動手段24bにより回転駆動され、その回転は、走行車輪12bの車軸に設けられた回転検知手段14bにより検知される。回転検知手段14a,14bは、例えばロータリエンコーダやタコジェネレータなどのセンサを含んでいる。なお、走行車輪12a,12bの車軸の方向は、xryr面内で変更可能とされている。走行車輪12a,12bの車軸の方向は、図3に示す車軸方向検知手段48により常時検知されている。
【0016】
キャスタ16a〜16cは、ロボット100が転倒しないように姿勢を安定化させるためのものであり、土台部30の外縁近くに沿ってほぼ等間隔で設けられている。
【0017】
加速度検知手段18は、土台部30のxryr面内における中央部近傍に設けられている。この加速度検知手段18は、ロボット100のxr方向に関する加速度及びyr方向に関する加速度を検知する。
【0018】
図3には、本実施形態のロボット100の制御系の構成がブロック図にて示されている。この図3に示すように、ロボット100の制御系は、前述したZMP検出手段22、回転検知手段14a,14b、車軸方向検知手段48、加速度検知手段18のほか、操作意図推定手段44、電流検知手段46、移動手段42、を含んでいる。
【0019】
操作意図推定手段44は、ZMP検出手段22による検出結果や回転検知手段14a,14bによる検知結果に基づいて、操作者からロボット100に与えられた操作力が、どのような操作意図を意味しているかを推定する。ここでの操作意図には、例えば、ロボットを「前進」させる意図、「前右旋回」させる意図、「後右旋回」させる意図、「後進」させる意図、「後左旋回」させる意図、「前左旋回」させる意図、及び「停止」させる意図などが含まれる。なお、操作意図推定手段44による操作意図の推定方法については、後述する。
【0020】
電流検知手段46は、車輪駆動手段24a,24bに含まれるモータにおいて使用されている電流の値を検知する。
【0021】
移動手段42は、前述した車輪駆動手段24a,24bと、当該車輪駆動手段24a,24bの駆動を制御する車輪制御手段40と、を有する。車輪制御手段40は、回転検知手段14a,14bによる検知結果、車軸方向検知手段48による検知結果、加速度検知手段18による検知結果、及び電流検知手段46による検知結果、並びに操作意図推定手段44による推定結果に基づいて、車輪駆動手段24a,24bを制御する。
【0022】
次に、操作意図推定手段44による、操作意図推定方法について、図4〜図8に基づいて説明する。ここで、操作意図推定手段44は、ZMP検出手段22により検出されるZMPの位置が図4に示す推定マップ上のどの領域に位置しているかを求め、それに基づいて操作者の意図を推定する。以下、図4の推定マップについて説明する。
【0023】
図4に示す推定マップは、図2のZMP検出手段22が載っている土台部30の上部に設定された領域であり、6つの領域A〜Fを含んでいる。これら6つの領域A〜Fは、隣接する領域と重ならない部分、及び重なる部分を有している。図4では、隣接する領域と重ならない部分を、アルファベットの小文字を付して、「操作意図推定領域a〜f」と定義し、隣接する領域と重なる部分を、括弧付き数字を付して、「バッファ領域(1)〜(6)」と定義している。また、マップの中央部には、操作意図推定領域Oも定義されている。
【0024】
図5には、操作意図推定領域a〜f及びO、並びにバッファ領域(1)〜(6)の説明が示されている。この図5に示すように、操作意図推定領域aは、「前進」を検出する領域であり、操作意図推定領域bは、「前右旋回」を検出する領域であり、操作意図推定領域cは、「後右旋回」を検出する領域である。また、操作意図推定領域dは、「後進」を検出する領域であり、操作意図推定領域eは、「後左旋回」を検出する領域であり、操作意図推定領域fは、「前左旋回」を検出する領域である。操作意図推定領域Oは、「停止」を検出する領域である。これに対し、バッファ領域(1)〜(6)については、図5において、隣接する2つの領域のオーバーラップ領域である旨、示されている。
【0025】
図6は、ZMPの移動によるロボット100の状態遷移を示す図である。この図6に示すように、操作意図推定領域aに着目すると、ZMPは、領域aからは、隣接する領域(1)、(6)、Oのいずれかにのみ移動することができる。また、その他の領域からも、その領域に隣接する領域にのみ移動することができるようになっている。
【0026】
次に、操作意図推定手段44による、操作者の操作意図の推定方法の基本的な処理について、図7(a)〜図8(c)に基づいて説明する。
【0027】
ここでは、前提として、図7(a)に示すように、ZMPが操作意図推定領域O内に位置しているものとする。この場合、操作意図推定手段44は、図4の推定マップに基づいて、操作者にはロボット100を操作する意図がない、すなわち停止させる意図がある、と推定する。この状態から、図7(b)に示すように、ロボット100に対して操作者が力FL、FR(ただし、FL=FR)を加えると、ZMPが操作意図推定領域aに移動したことを、ZMP検出手段22が検出する。操作意図推定手段44は、ZMP検出手段22による検出結果と図4の推定マップに基づいて、操作者にはロボット100を前進させる意図があると推定する。
【0028】
次いで、図7(c)に示すように、ロボット100に力FL、FR(ただし、FL>FR)が操作者から加えられると、ZMP検出手段22は、ZMPがバッファ領域(1)に移動したことを検出する。この場合、操作意図推定手段44は、操作者にロボット100を前進させる意図があるとの推定を維持する。すなわち、本実施形態では、操作意図推定手段44は、ZMPがバッファ領域(1)〜(6)のいずれかに位置した場合には、その直前にZMPが位置していた操作意図推定領域の操作意図を維持するものとする。
【0029】
その後、図8(a)のように、ZMPがバッファ領域(1)から操作意図推定領域bに移動したことをZMP検出手段22が検出すると、操作意図推定手段44は、推定マップに基づいて操作者にロボット100を前右旋回させる意図があると推定する。
【0030】
その後、図8(a)の状態から、図8(b)に示すように、ロボット100に力FL、FR(ただし、FL<FR)が操作者から加えられ、ZMPがバッファ領域(1)に移動したものとする。この場合、操作意図推定手段44は、直前にZMPが位置していた操作意図推定領域(ここでは領域b)の操作意図(前右旋回)を維持する。そして、図8(c)に示すように、ZMPがバッファ領域(1)から操作意図推定領域aに移動した場合には、操作意図推定手段44は、図4、図5のマップに基づいて、操作者にロボット100を前進させる意図があると推定する。
【0031】
次に、図9のフローチャートに沿って、ロボット100の駆動に関する一連の処理について説明する。図9のフローチャートは繰り返し実行されるものである。
【0032】
図9に示すように、まず、ステップS10では、ZMP検出手段22が、ZMPの位置を検出する。次いで、ステップS12では、操作意図推定手段44が、前述したようにして、検出されたZMPの位置から操作者の意図を推定する。次いで、ステップS14では、車輪制御手段40が、操作意図推定手段44において推定された操作者の意図が移動に関するものか、すなわち、停止以外であるか否かを判断する。ここでの判断が肯定された場合には、車輪制御手段40は、ステップS16において、車軸方向検知手段48の検知結果をモニタしつつ、車輪駆動手段24a,24bを制御する。これにより、ロボット100の移動方向を、ステップS12において推定された意図する方向に設定する。
【0033】
次いで、ステップS18では、車輪制御手段40が、回転検知手段14a,14bの検知結果をモニタして、ロボット100の速度Vが最大速度Vmaxであるか否かを判断する。ここでの判断が否定された場合には、ステップS20において、車輪制御手段40が、車輪駆動手段24aを介して、加速度aで加速した後に、ステップS10に戻る。一方、ステップS18における判断が肯定された場合には、そのままステップS10に戻る。その後、ステップS12において、同一の操作意図が維持されている間は、ロボット100の速度がVmaxに達するまで、車輪制御手段40は、ロボット100を加速度aで加速しつづける。
【0034】
これに対し、ステップS14における判断が否定された場合、すなわち、操作者の意図が「停止」であった場合には、ステップS22に移行する。ステップS22では、車輪制御手段40が、回転検知手段14a,14bの検知結果をモニタすることで、速度Vが0であるか否かを判断する。ここでの判断が否定された場合には、ステップS24において、車輪制御手段40は、車輪駆動手段24aを介してロボット100を加速度aで減速させる。一方、ステップS22の判断が肯定された場合には、そのままステップS10に移行する。その後、ステップS12において、停止の意図が維持されている間は、ロボット100の速度が0に達するまで、車輪制御手段40は、ロボット100を加速度aで減速しつづける。
【0035】
その後は、上記処理を繰り返すことにより、操作者の意図に応じたロボット100の移動制御を継続的に実行する。すなわち、操作者がロボット100に対して力を加えている間は、その力の方向にロボット100が移動し続け、操作者がロボット100に力を加えていない間は、ロボット100は静止し続けることになる。
【0036】
次に、(i)ロボット100がスロープ上に位置している場合、(ii)ロボット100がスロープ上を加速度axにて加速して移動している場合、(iii)ロボット100の移動を禁止する場合、(iv)ロボットが荷物を搬送するロボットである場合、及び(v)走行車輪に空転が生じた場合、の各処理について説明する。
【0037】
(i)ロボット100がスロープ上に位置している場合
まず、ロボット100がスロープ上に位置している場合の処理について説明する。図10には、角度θのスロープ上にロボット100が位置している状態が示されている。この図10に示すように、ロボット100がスロープ上に位置していることに起因して、ZMPの位置が、平坦な接地面に位置していた場合におけるZMPの位置(符合ZMPで示している)から、図10のZMP’の位置まで変位することになる。
【0038】
ここで、ZMPの変位量Pθxは、次式(1)にて表すことができる。なお、次式(1)のhは、ロボット100の重心高さであり、既知の値である。また、gは重力加速度、θは水平面に対するスロープの傾斜角度を表す。
Pθx=−htanθ=(−gsinθ/gcosθ)・h …(1)
【0039】
上式(1)において、傾斜角が5°程度であるとすると、cosθ≒1とすることができる。また、gsinθは、加速度検知手段18により検知されるxr方向の加速度Axと定義することができる。ここで、ロボット100は、実際にはスロープ上で停止した状態にあるが、スロープに沿って下方向にスライドないように加速しているとも看做すことができるので、加速度検知手段18の値は正となる。したがって、上式(1)は、次式(2)のように表すことができる。
Pθx={−Ax/(g×1)}・h=−Ax・h/g …(2)
【0040】
このように、ロボット100がスロープ上に位置しているときには、ZMP検出手段22は、図9のステップS10において、検出されたZMPから、変位量Pθxを差し引いた値を真のZMPとする。そして、操作意図推定手段44は、ステップS12において、当該真のZMPに基づいて、操作者の操作意図を推定することとする。このようにすることで、ロボット100がスロープ上に存在していても、操作者の操作意図を精度良く推定することが可能である。なお、ロボット100がスロープ上に位置しているか否かは、ロボット100を所定の加速度で加速した場合に得られるべき走行車輪12a,12bの回転(理論値)と、実際の回転とを比較することで判断することができる。なお、これに限らず、ロボット100がスロープ上に位置しているか否かは、加速度検知手段18などを用いて判断することとしてもよい。
【0041】
(ii)ロボット100がスロープ上を加速度axにて加速しつつ、移動している場合
次に、ロボット100がスロープ上を加速度axにて加速しつつ、移動している場合の処理について、図11に基づいて説明する。ここで、ロボット100が図11の紙面右側に加速した場合、当該加速方向とは逆方向の力(慣性力)がロボット100に働く。この場合、ZMPの変位方向が加速度axとは逆向きになることから、図11に示すように、スロープの傾斜に起因するZMPの変位(Pθx)の方向と、慣性力によるZMPの変位(Pax)の方向とが一致する。
【0042】
ここで、慣性力によるZMPの変位量(Pax)と、スロープの傾斜に起因するZMPの変位量(Pθx)とを合算した変位量(Pax+Pθx)は、次式(3)のように表すことができる。
Pax+Pθx=(−ax・h/gcosθ)−htanθ
=−(ax+gsinθ)・h/gcosθ …(3)
【0043】
上式(3)において、ax+gsinθは、加速度検知手段18により検出されるxr方向の加速度Axを意味する。また、図10の場合と同様、傾斜角は5°程度であるので、cosθ≒1とすることができる。したがって、上式(3)は、次式(4)にて表すことができる。
Pax+Pθx=−(Ax)・h/(g×1)=−Ax・h/g …(4)
【0044】
すなわち、ZMP検出手段22は、xr、yr面上における加速度検知手段18の値をA(Ax,Ay)として、傾斜の角度及び加減速度にかかわらず、ZMPの位置を、次式(5)で表される変位ベクトルδで補正する(ステップS10)。そして、操作意図推定手段44は、当該補正後のZMPを用いて、操作意図を推定する(ステップS12)
δ=−h・A/g …(5)
【0045】
このようにすることで、ロボット100が斜面を移動している場合でも、慣性力や斜面に起因するZMPの検出誤差を低減することが可能である。
【0046】
なお、ロボット100がスロープ上に位置していない場合にも、上記と同様に、慣性力に起因するZMPの移動量を考慮することとしてもよい。
【0047】
(iii)ロボット100の移動を禁止する場合
次に、図12(a)に基づいて、車輪制御手段40が、ロボット100の移動を禁止する場合について、説明する。
【0048】
図12(a)には、ロボット100の近傍にいる人が、ロボット100に肘をついて休憩等をした場合にかかる力Fを示している。このような場合には、ロボット100に横方向から力がかかった場合でも、ロボット100は移動すべきでない。したがって、車輪制御手段40は、図12(a)のような下向きの力がロボット100にかかっている場合には、ロボット100の移動を禁止する。
【0049】
具体的には、例えば、一般女性の上肢の重量を2.5kgとし、前肢の重量1.0kgよりも重い荷重(10N)がロボット100にかかった場合に、ロボット100の移動を禁止することとする。すなわち、車輪制御手段40は、荷重(10N)を閾値として、当該閾値よりも大きい下向きの力がロボット100にかかった場合に、ロボット100の移動を禁止することとする。このようにすることで、ロボット100に人が肘をついているような場合に、ロボット100が不用意に動作したりするのを防止することができる。
【0050】
(iv)ロボットが、荷物を搬送するロボットである場合
ロボットが荷物を搬送するロボットである場合には、上述した(iii)のように、単に荷重が所定の閾値を超えた場合にロボット100の移動を禁止するのでは、ロボットの搬送機能が発揮されないおそれがある。すなわち、ロボット100に掛かっている荷重が、図12(b)に示す荷物BGによるものであるのか、人が肘をついていることに起因するものなのかを判別しなければ、ロボット100を意図どおりに移動させることができなくなるおそれがある。
【0051】
そこで、本実施形態では、ロボット100が、荷物BGを搬送するロボットである場合には、車輪制御手段40は、ZMP検出手段22により検出される荷重F’の変動をモニタする。そして、車輪制御手段40は、荷重F’の変動が所定値(例えば、2N)以下で、所定時間(例えば3秒)以上持続した場合に、ロボット100が荷物を保持していると判断する。このように判断するのは、人は、荷物と異なり、静止しているときでもわずかに揺動する可能性が高いからである。
【0052】
上記のように判断された場合、車輪制御手段40は、ロボット100の移動を禁止しないこととする。そして、ZMP検出手段22は、図9のステップS10において、荷物BGの荷重を含むロボット100全体のZMPを、ZMPの初期値に設定して、ZMPの位置を検出する。そして、当該初期値を用いて検出されたZMPの位置に基づいて、操作意図推定手段44が、ステップS12において、操作者の操作意図を推定する。このようにすることで、荷物BGを搬送するロボットを、高精度に駆動制御することができるようになる。
【0053】
なお、上記の説明では、図12(a)、図12(b)の制御を、車輪制御手段40が行う場合について説明したが、これに限られるものではない。例えば、図13に示すように、ZMP検出手段22の検出結果に基づいて、人が肘をついているのか、あるいは荷物BGが載置されたのかを判定する非操作力検出手段52を別途設け、これにより、上述した制御を行うこととしてもよい。
【0054】
(v)走行車輪に空転が生じた場合
次に、ロボット100において、走行車輪12a,12bに空転が生じた場合の処理について説明する。ロボット100に対する外力(操作力)の加わり方によっては、ロボット100の姿勢が変化し、車輪が空転する可能性がある。このような場合の対処法として、車輪制御手段40は、車輪駆動手段24a,24bに供給されている電流値を電流検知手段46を用いて検知し、当該検知結果に基づいて、ロボット100の制御を行う。具体的には、電流値が車輪の回転速度に応じて定められる閾値以下である場合には、車輪制御手段40は、車輪が空転していると判断する。そして、当該判断がなされたときには、車輪制御手段40は、図9のフローチャートよりも優先的に、車輪の回転速度を低下させ、あるいは回転を停止する制御を実行する。このようにすることで、車輪が空転した場合にも、適切なロボット100の移動制御を行うことができる。
【0055】
以上、詳細に説明したように、本第1の実施形態によると、接地面に沿って移動するロボット100のZMPの位置をZMP検出手段22により検出し、当該ZMPの位置に基づいて、操作意図推定手段44が操作意図を推定する。そして、移動手段42が、操作意図に基づいてロボット100を移動させる。これにより、ZMPの位置に基づいて適切に推定される人の操作意図に沿ったロボット100の移動を実現することができる。この場合、操作意図推定手段44は、操作者からロボット100に対して加えられた力により移動したZMPの位置が予め設定した複数の分割領域(操作意図推定領域)のいずれの領域内に存在しているかに基づいて、操作意図を推定するので、操作意図を簡易且つ適切に推定することができる。これにより、外部から受けた力に応じたロボットの適切な移動を実現できるので、ハンドル等を用いずに、操作者は直感的にロボット100を移動させることができる。また、外部からの力が、ロボット100の任意の位置に加えられた場合でも、ロボット100をその力の方向に移動させることができる。したがって、従来の足元接触センサを具備するロボットでは対応できない障害物(高い位置にある障害物)に接触した場合でも、当該障害物を避けるように適切な移動することが可能である。
【0056】
また、本第1の実施形態によると、複数の領域A〜Fそれぞれが、隣接する領域と重複する重複部分(バッファ領域(1)〜(6))を有している。そして、ZMPの位置が、バッファ領域にあるときには、操作意図推定手段44が、直前に推定された操作意図が維持されていると推定する。これにより、操作者がロボットを所定方向に移動させようとしていることが明確になった場合にのみ、その所定方向にロボット100を移動するので、操作者がロボット100に与える操作力に個人差があるような場合であっても、その操作力の違いを吸収し、ロボット100を適切に移動することが可能である。逆に言えば、人の性質上、ロボット100を押したにもかかわらずロボットが思い通りに動かなければ、更に力を加えることから、上記のようなバッファ領域を設けても、問題なくロボットを移動させることができる。また、バッファ領域を設けることで、ロボット100に加わるわずかな外乱が操作意図に即座に反映されるのを防止することができるので、意図していないロボット100の移動を抑制することができる。
【0057】
また、本第1の実施形態によると、感圧センサとして、FSR(Force Sensing Resistors)などの安価なセンサを用いることができるので、従来のような3軸力覚センサを用いる場合と比較してコストダウンを図ることができる。
【0058】
また、本第1の実施形態によると、ZMP検出手段22は、回転検知手段14a,14bの検知結果と、加速度検知手段18の検知結果とに基づいて算出される、接地面の傾斜に起因するZMPの移動量に基づいてZMPの位置の検出結果を補正する。そして、操作意図推定手段44は、補正後のZMPの位置を用いて操作意図を推定する(上式(2)参照)。したがって、ロボット100が傾斜した接地面(スロープ)上に位置している場合にも、当該傾斜の影響を考慮した適切なロボット100の移動制御を行うことが可能である。
【0059】
また、本第1の実施形態によると、走行車輪12a,12bを回転させる車輪駆動手段24a,24bに供給されている電流を検知する電流検知手段46を備えており、車輪制御手段40は、電流検知手段46による検知結果に基づいて、走行車輪12a,12bの空転を検出し、当該空転を考慮して、車輪駆動手段24a,24bに供給する電流を制御、すなわち、走行車輪12a,12bの回転を制御する。したがって、ロボット100に対して操作者から加えられる力の方向によって生じる可能性のある走行車輪12a,12bの空転に対して、適切に対処することができる。
【0060】
また、本第1の実施形態によると、ZMP検出手段22の検出結果に基づいて、ロボット100を接地面に沿って移動させようとする力以外の力の大きさを検出する非操作力検出手段52(又は車輪制御手段40の一部機能)を備えており、車輪制御手段40は、非操作力検出手段52(又は車輪制御手段40の一部機能)による検出値が、所定の値を超えた場合に、ロボットの移動を禁止する。これにより、ロボット100の上に人が肘を付いて休憩している場合などにおいて、ロボット100が移動するのを防止することができる。
【0061】
また、本第1の実施形態によると、非操作力検出手段52(又は車輪制御手段40の一部機能)による検出値の変動量が、所定の変動量以下で所定時間継続するような場合、すなわち、ロボット100に荷物を搭載したような場合には、ロボット100の移動を禁止せずに、そのときのZMPの位置をZMPの初期位置として取り扱う。したがって、ロボット100が荷物を搭載したロボットである場合であっても、荷物を搭載しないロボットと同様に移動制御を行うことができる。
【0062】
また、本第1の実施形態によると、ZMP検出手段22は、ロボット100の加速により生じる慣性力に起因するZMPの移動量に基づいて、ZMPの位置の検出結果を補正する。そして、操作意図推定手段44は、当該補正後のZMPの位置に基づいて、操作意図を推定する。したがって、慣性力によるZMPの移動による影響を受けずに、操作者の操作意図を適切に推定することができる。
【0063】
なお、上記第1の実施形態では、ZMP検出手段22が感圧センサを3つ含んでいる場合について説明したが、これに限らず、少なくとも3つの感圧センサを含んでいれば、その数は問わない。
【0064】
なお、上記第1の実施形態では、ZMP検出手段22が3つの感圧センサを含んでいる場合について説明したが、これに限られるものではない。ZMP検出手段22は、例えば、図14に示すような力の加わっている位置を検知できるシート状の圧力センサ66を含んでいてもよい。
【0065】
圧力センサ66は、図14に示すように、土台部30側に設けられた板状センサ群62と、板状センサ群62に対向して、外装体10a側に設けられたボールグリッド板64と、を有する。板状センサ群62は、図15(a)に示すように、6枚の板状センサ68が、隣接する板状センサ68と一部重複するような状態で、配置されたものである。一方、ボールグリッド板64は、図15(b)に示すように、多数の半球状のボールグリッド70を有している。
【0066】
上記のように構成される圧力センサ66では、図15(a)に示す操作意図推定領域a〜f及びO、並びにバッファ領域(1)〜(6)のうち、ボールグリッド板64から与えられる圧力が最も大きい部位を特定する。そして、操作意図推定手段44は、圧力の合計が最も大きい部位にZMPが存在すると判定し、その部位に応じて、操作者の操作意図を推定する。この推定には、図7、図8と同様の手法が用いられる。このような圧力センサ66を用いることとしても、上記第1の実施形態と同様の効果を得ることができる。
【0067】
なお、上記第1の実施形態では、操作意図推定領域a〜fの間に、バッファ領域(1)〜(6)を設けた場合について説明したが、分割数はこれに限らず、任意に設定してもよい。同様の観点からすると、図15(a)のようなシート状のセンサ群62を用いる場合も、操作意図推定領域を6つ設けた場合について説明したが、これに限らず、その数は任意である。
【0068】
≪第2の実施形態≫
次に、移動体装置の第2の実施形態について、図16、図17に基づいて説明する。
【0069】
図16は、第2の実施形態にかかるロボット100の制御系を示すブロック図である。この図16に示すように、本第2の実施形態では、確率保持手段54が設けられている点が、第1の実施形態と異なる。また、図17(b)に示すように、推定マップが7つの領域Aj(j=1〜7)に分割されている点も、第1の実施形態と異なる。
【0070】
確率保持手段54は、図17(a)に示すような操作者の操作Bi(ここでは、i=1〜7)が定められている場合に、操作者の操作がBiである確率p(Bi)を保持している。また、確率保持手段54は、操作者が操作Biを行ったときに、ZMPが図17(b)に示す領域Aj(j=1〜7)に存在する確率p(Aj|Bi)を保持している。なお、確率p(Aj|Bi)は、予め実験等により求めた値である。
【0071】
図16の操作意図推定手段44は、確率保持手段54が保持している確率のデータを用い、以下のようにして操作意図を推定する。
【0072】
仮に、ZMPが領域Ajにある確率をp(Aj)とすると、ZMPが領域Ajにあるときに、操作者が操作Biを行った確率P(Bi|Aj)は、ベイズの定理を用いると、次式(6)のように表すことができる。
P(Bi|Aj)=p(Aj|Bi)・p(Bi)/p(Aj) …(6)
【0073】
したがって、操作意図推定手段44は、P(Bi|Aj)をi=1〜7について計算し、その確率と、ZMP検出手段22により検出されるZMPの位置(Aj)とに基づいて、最も確率の高い操作意図(Bi)を、操作者の操作意図と推定する。
【0074】
以上、説明したように、本第2の実施形態によると、確率保持手段54が保持する、操作者が所定の操作を行ったときにZMPが所定の領域に存在する確率を用いて、操作意図推定手段44が、ベイズの定理に基づき操作意図を推定する。したがって、操作意図推定手段44は、確率論に基づいて、操作者の操作意図を適切に推定することができる。これにより、ロボット100を操作者の操作意図に沿って適切に移動させることが可能である。
【0075】
なお、上記第2の実施形態では、第1の実施形態の制御系(図3)に、確率保持手段54を設けた場合の例について説明したが、これに限られるものではない。第1の実施形態の変形例に係る制御系(図13)などに、確率保持手段54を設けることとしてもよい。
【0076】
なお、上記第1、第2の実施形態では、走行車輪12a,12bを採用し、その回転軸のxr軸、yr軸に対する角度が変更可能である場合について説明したが、これに限られるものではない。例えば、走行車輪に代えて、オムニホイルを用いた全方位移動走行機構や、独立ステアリング型の全方位移動走行機構を採用することとしてもよい。全方位移動機構の場合、図4の領域(2)や(5)にZMPがある場合は、それぞれ右真横に移動、左真横に移動という意図の推定としてもよい。これらを採用することで、簡易に、全方位にロボット100を移動させることが可能となる。
【0077】
≪第3の実施形態≫
次に、移動体装置の第3の実施形態について、図18〜図23に基づいて説明する。
【0078】
図18(a)には、本第3の実施形態に係る移動体装置としての非ホロノミックなロボット100’の側面図が示され、図18(b)には、ロボット100’の平面図が示されている。これらの図に示すように、ロボット100’の上端部近傍には、リング状部材としての回転部材102が設けられている。この回転部材102は、人間工学等に基づいて人が触れやすい高さ位置に設けられている。回転部材102は、人がロボット100’を退避させたいときに力を加える部材として、予め定められている部材である。
【0079】
図19には、図18(b)のA−A線断面図が示されている。図19に示すように、回転部材102は、ロボット100’のボディ10の外周部に設けられた複数のカムフォロア106に係合した状態となっている。このカムフォロア106の作用により、回転部材102は、ボディ10に対して、ロボット100’の接地面(走行面)に垂直な軸を中心として回転するようになっている。なお、回転部材102は、ロボット100’が旋回する場合の旋回力より小さな摩擦力で回転するように、すなわち、ロボット100’の旋回力よりも小さな摩擦力での回転が許容された状態で、ロボット100’に設けられているものとする。なお、回転部材102は、更に、ロボット100’の移動時の振動では、回転しないという条件を満たすように、ロボット100’に設けられていても良い。
【0080】
図20には、ロボット100’の走行車輪12a,12bと、キャスタ16a,16bの配置例が示されている。図20では、説明及び図示の簡素化のため、上記第1、第2の実施形態と異なり、キャスタ16a,16bの個数を2個としている。ここでは、走行車輪12a,12bの回転速度差を利用して旋回動作を行う、2輪速度差方式の駆動方法を採用している。
【0081】
ここで、2輪速度差方式の駆動方法について、図21(a)〜図21(c)に基づいて、説明する。図21(a)に示すように、走行車輪12a,12bを同一の速度で回転させれば、ロボット100’を、直進(並進)移動させることができる。これに対し、2輪速度差方式では、任意の方向には並進移動することができないため、旋回動作などで向きを変更して走行方向を変える必要がある。旋回動作は、例えば、図21(b)、図21(c)のような動作で実現可能である。例えば、図21(b)に示すように、走行車輪12a,12bを逆方向に回転させると、ロボット100’は、車輪間距離L以下の曲率での旋回動作を行うことができる。なお、走行車輪12a,12bを逆方向かつ同一速度で回転させれば、ロボット100’をその場で旋回させることができる。また、図21(c)に示すように、走行車輪12a,12bを同一方向に異なる回転速度で回転させれば、ロボット100’を、車輪間距離L以上の曲率で旋回させることができる。これら、図21(a)〜図21(c)の動作を組み合わせることで、ロボット100’は、任意の方向に移動することが可能となる。なお、2輪速度差方式には、構造が簡素化できるとともに、制御が容易になるというメリットがある。
【0082】
図22には、本第3の実施形態のロボット100’の回転部材102に対して人が操作力を付与した際の、ロボット100’の移動の様子が模式的に示されている。
【0083】
ここで、人が回転部材102に対して操作力を与えてロボット100’を退避させようとする場合、走行車輪12a,12bの位置や向きに関係なく、図22に示すような操作力Fを回転部材102に作用させる。この場合、操作力Fの方向は、操作力Fの作用点とロボット100’の中心を結ぶ方向とほぼ一致している。また、操作力Fの作用点とロボット100’の中心を結ぶベクトルの方向は、ロボット100’を退避させたい方向とほぼ一致するようになっている。
【0084】
本第3の実施形態では、人が、ロボット100’(回転部材102)の作用点に図22のようなロボット100’を退避させようとする操作力Fを加えると、操作意図推定手段44(図3参照)が、ZMP検出手段22にて検出されるZMPから、上記第1の実施形態と同様にして操作意図を推定する。そして、移動手段42が、操作意図の推定結果に基づいて、ロボット100’を移動する。この場合、ロボット100’は、図22のように旋回動作を行うが、回転部材102は、操作力Fを受け続けている間、ロボット100’の旋回には追従しないようになっている。このため、本第3の実施形態では、人は、ロボット100’を退避させるための操作力Fを、継続的に同一の作用点に作用させることができるようになっている。
【0085】
ここで、比較例(回転部材102を設けない場合)について、図23に基づいて説明する。図23に示すように、回転部材102を設けない場合、ロボットに図22と同様の操作力Fを作用させると、ロボットは図22と同様の動作を行う。この場合、ロボットの旋回動作に伴って、操作力Fを最初に作用させていた作用点も移動することから、人は、操作力Fの作用点をロボットの旋回にあわせて随時変更する必要がある。これにより、比較例では、ロボット対して、操作力Fを継続的に作用させることができず、ロボットを意図どおりに退避させることができない可能性がある。
【0086】
以上説明したように、本第3の実施形態によると、2輪速度差方式の移動部(走行車輪12a,12b)を介して走行面(接地面)に沿って移動するロボット100’の外周部に、走行面に垂直な軸を中心として回転する回転部材102が設けられており、当該回転部材102が、ロボット100’の旋回力よりも小さな摩擦力で回転する状態でロボット100’に保持されている。これにより、人が回転部材102に対して操作力を付与する際に、ロボット100’が旋回しても、回転部材102は当該ロボット100’の旋回に追従しないようにすることができる。したがって、人は、操作力を同一の作用点に継続的に作用させることができるので、意図通りにロボット100’を退避させることができる。これにより、ロボット100’を退避させる際の操作性の向上を図ることが可能である。
【0087】
なお、上記第3の実施形態では、非ホロノミックな駆動方法として、2輪速度差方式の駆動方法を採用した場合について説明したが、これに限らず、その他の非ホロノミック系の駆動方法を採用することとしても良い。
【0088】
≪第4の実施形態≫
次に、移動体装置の第4の実施形態について、図24〜図27に基づいて説明する。なお、本第4の実施形態のロボット100’は、上述した第3の実施形態と同様の構成を有している。
【0089】
本第4の実施形態では、上記のように第3の実施形態と同様の構成を採用しているので、人がロボット100’を退避させようとする場合には、回転部材102の同一の作用点に対して連続的に操作力Fを作用させることになる。この場合、ZMPは、例えば図24に示すように、定常静止状態のZMPの位置(ロボット100’が無負荷状態にあるときのZMPの位置)から離れた位置を移動し続けることになる。
【0090】
そこで、本第4の実施形態では、人がロボット100’を退避させるときには、ZMPが、図24のように移動するという特徴を利用した処理を採用している。
【0091】
図25は、第4の実施形態に係るロボット100’の制御系(図3と同様)による処理を示すフローチャートである。この図25の処理では、まず、ステップS30において、ZMP検出手段22がZMPの位置を検出する。また、加速度検知手段18が加速度を検知したり、回転検知手段14a,14bが走行車輪12a,12bの回転を検知したりする。
【0092】
次いで、ステップS32では、操作意図推定手段40が、ZMPが退避判定領域を超えたか否かを判断する。ここで、退避判定領域とは、図27(a)に示すような円形の領域であるものとし、図2のZMP検出手段22が載っている土台部30の上部に設定された領域である。この退避判定領域には、ロボット100’が無負荷状態にあるときのZMP(定常静止状態でのZMP)の位置を含んでいる。なお、ステップS32の判断が否定された場合には、ステップS34以降の、退避速度算出及び当該退避速度を用いた制御が行われ、ステップS32の判断が肯定された場合には、ステップS48以降の通常モードでの制御が行われる。以下、これらの処理について具体的に説明する。
【0093】
ステップS32の判断が肯定され、ステップS34に移行すると、車輪制御手段40は、時間Tをカウントアップする。次いで、ステップS36では、旋回最大速度Ωを算出する。なお、旋回最大速度Ωとは、ZMPが退避判定領域から外れている時間の長さのみを考慮して定められる、旋回速度の最大値(仮の最大値)を意味する。具体的には、比例ゲインをCとして、次式(7)に基づいて、旋回最大速度Ωを算出する。
Ω=C×T …(7)
【0094】
次いで、ステップS38では、車輪制御手段40が、ロボット並進自由度と操作方向の角度誤差αを計算する。具体的には、角度誤差αは、図26に示すような操作力の方向とロボット100’の並進方向との間の角度であり、xryr座標系上におけるZMPの位置から、算出することができる。
【0095】
次いで、ステップS40では、旋回速度指令ωを次式(8)に基づいて、算出する。
ω=Ω×α …(8)
【0096】
なお、上式(7)は、ロボット100’に対して操作力Fを長時間付与している場合に、なるべく早く旋回を終了させようとの観点から、操作力Fを付与している時間に応じて、旋回最大速度を徐々に速くするための式である。また、上式(8)は、人がロボット100’を退避させたい方向に対する、ロボット100’の実際の向きの近づき度合い(角度誤差α)に応じて旋回最大速度Ωを補正して、旋回速度指令ωを算出するための式である。
【0097】
次いで、ステップS42では、車輪制御手段40が、ステップS40で算出した旋回速度指令ωが、システム許容値(ロボット100’が実際に旋回できる旋回速度の最大値)ω0以下であるか否かを判断する。ここでの判断が肯定された場合には、ステップS44に移行して、車輪制御手段40は、車輪駆動手段24a,24bを介して、予め定められている退避並進速度vでロボット100’を並進させるとともに、ステップS40で算出された旋回速度指令ωにてロボット100’を旋回させる。なお、ステップS44の処理の後は、ステップS30に戻る。
【0098】
一方、ステップS42の判断が否定された場合には、ステップS46に移行する。ステップS46では、車輪制御手段40が、旋回速度指令ωをω0に置き換える。そして、ステップS44では、車輪制御手段40は、車輪駆動手段24a,24bを介して、予め定められている退避並進速度vでロボット100’を並進させるとともに、置き換え後の旋回速度指令ω0にてロボット100’を旋回させる。なお、ステップS44の処理の後は、ステップS30に戻る。
【0099】
これに対し、ステップS32の判断が否定された場合には、ステップS48に移行して、車輪制御手段40が、時間Tをゼロにリセットする。そして、ステップS50では、車輪制御手段40が、並進速度vを0、旋回速度指令ωを0に設定することで、ロボット100’を停止させる。ステップS50の処理の後は、ステップS30に戻る。
【0100】
その後は、ステップS30以降の処理が繰り返され、ロボット100’の電源がOFFにされるなどして、ロボット100’の移動制御が終了した段階で、図25の処理が終了する。
【0101】
以上のような制御を行うことにより、図27(a)に示すように、退避判定領域からZMPが外れている間は、車輪制御手段40は、ロボット100’に適切な退避動作を継続的に行わせることが可能である。これに対し、図27(b)に示すようにZMPが移動する場合には、車輪制御手段40は、ロボット100’に継続的な退避動作を行わせないようにすることが可能である。これにより、例えば、人が回転部材102以外の部分を押すような場合には、図27(b)のようなZMPの挙動が得られるので、このような場合には、退避動作ではないとして、退避動作を継続的に行わないようにすることができる。また、ロボット100’に荷物などを載せる際に、ロボット100’の一部に荷物がぶつかったりしても、その一時的な力ではロボット100’はほとんど動かないので、荷物の積載を容易に行うことが可能となる。
【0102】
以上、説明したように、本第4の実施形態によると、操作意図推定手段40は、ZMPが、ロボット100’が無負荷状態にあるときのZMPの位置を含む所定の退避判定範囲から外れたか否かを判断し(ステップS32)、移動手段42(車輪制御手段40)は、ZMPが退避判定範囲から外れている時間に応じた速度で、ロボット100’を退避させる(ステップS36〜ステップS46)ので、回転部材102に操作力Fが継続的に付与されている時間に応じた退避速度で、ロボット100’を適切に退避させることができる。
【0103】
なお、上記第4の実施形態では、回転部材102に人が接触したこと、あるいは所定の力で押していることを検知する検知手段を、回転部材102に設けることとしてもよい。この検知手段としては、例えば、静電タッチセンサやマイクロスイッチ等の接触センサを採用することができる。検知手段を設けることで、当該検知手段において回転部材102に対する人の接触があったことを検知した後に、図25の処理を開始するというシーケンスを採用することができる。これにより、回転部材102に操作力Fが付与されていない間は、ロボット100’は退避動作を行わないこととすることができるので、ロボット100’の誤動作を抑制することができる。また、検知手段を設けることで、退避判定領域を狭くしても問題なく退避動作の制御を行うことができるので、退避操作に必要な操作力の低減を図ることができる。
【0104】
なお、退避判定領域としては、図4の領域Oを利用することとしても良い。また、図14、図15のような機構を用いて、ZMPが退避判定領域内にあるか否かを判断することとしても良い。なお、退避判定領域は、図27(a)のように、円形である場合に限らず、楕円形や矩形であっても良い。
【0105】
なお、上記第3、第4の実施形態では、図22や図26に示すように、ロボット100’が退避する際に、旋回動作と並進動作を同時に行う場合について説明したが、これに限られるものではない。例えば、図28に示すように、ロボット100’に操作力Fが作用した直後は、車輪制御手段40は、ロボット100’が旋回動作のみを行うように制御し、操作力Fとロボット100’の並進方向とが一致した段階で、ロボット100’が並進動作のみを行うように制御することとしてもよい。このような制御を行うことで、ロボット100’を操作力Fの方向に直接的に移動させることができるので、ロボット100’が狭い通路上に存在するような場合でも、問題なく移動させることが可能となる。なお、この方法が採用できるのは、上記第3、第4の実施形態のロボット100’に回転部材102が設けられているため、ロボット100’が旋回動作のみを行っても、人は、操作力Fを回転部材102の同一作用点に作用させ続けることができるからである。
【0106】
上述した各実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【符号の説明】
【0107】
12a,12b 走行車輪(車輪)
14a,14b 回転検知手段
18a,18b 加速度検知手段
22 ZMP検出手段
42 移動手段
44 操作意図推定手段
46 電流検知手段
52 非操作力検出手段
54 確率保持手段
100 ロボット(移動体)
102 回転部材(リング状部材)
【特許請求の範囲】
【請求項1】
接地面に沿って移動する移動体と、
前記移動体の重力と慣性力の合力が接地面と交わる点であるZMPの位置を検出するZMP検出手段と、
操作者から前記移動体に対して力が加えられたときの前記ZMPの位置に基づいて、前記操作者の前記移動体に対する操作意図を推定する操作意図推定手段と、
前記操作意図推定手段により推定された操作意図に基づいて、前記移動体を移動させる移動手段と、を備える移動体装置。
【請求項2】
前記操作意図推定手段は、前記ZMPの位置が、予め設定した複数の分割領域のいずれの領域内に存在しているかに基づいて、前記操作意図を推定することを特徴とする請求項1に記載の移動体装置。
【請求項3】
前記複数の分割領域それぞれは、隣接する分割領域と重複する重複部分を有しており、
前記ZMPの位置が、前記重複部分にあるときには、前記操作意図推定手段は、直前に推定された操作意図が維持されていると推定することを特徴とする請求項2に記載の移動体装置。
【請求項4】
前記移動体は、車輪の回転により接地面に沿って移動し、
前記車輪の回転を検知する回転検知手段と、
前記移動体の加速度を検知する加速度検知手段と、を更に備え、
前記ZMP検出手段は、前記回転検知手段の検知結果と前記加速度検知手段の検知結果とに基づいて算出される、前記移動体が位置している接地面の傾斜に起因するZMPの移動量に基づいて、ZMPの位置の検出結果を補正し、
前記操作意図推定手段は、補正後のZMPの位置に基づいて、前記操作意図を推定することを特徴とする請求項1〜3のいずれか一項に記載の移動体装置。
【請求項5】
前記移動体は、車輪の回転により接地面に沿って移動し、
前記車輪を回転させる車輪駆動手段に供給する電流を検知する電流検知手段を更に備え、
前記移動手段は、前記電流検知手段による検知結果に基づいて、前記車輪の空転を検出し、当該空転を考慮して、前記車輪駆動手段に供給する電流を制御することを特徴とする請求項1〜4のいずれか一項に記載の移動体装置。
【請求項6】
操作者が所定の操作を行ったときにZMPが所定の領域に存在する確率を保持する確率保持手段を更に備え、
前記操作意図推定手段は、前記確率保持手段が保持する確率を用いて、ベイズの定理に基づき、前記操作意図を推定することを特徴とする請求項1〜5のいずれか一項に記載の移動体装置。
【請求項7】
前記ZMP検出手段の検出結果に基づいて、前記移動体を接地面に沿って移動させようとする力以外の力の大きさを検出する非操作力検出手段を更に備え、
前記移動手段は、前記非操作力検出手段による検出値が、所定の値を超えた場合に、前記移動体の移動を禁止することを特徴とする請求項1〜6のいずれか一項に記載の移動体装置。
【請求項8】
前記非操作力検出手段による検出値の変動量が、所定の変動量以下で所定時間継続した場合には、前記移動手段は、前記移動体の移動を禁止せずに、その状態におけるZMPの位置をZMPの初期位置とすることを特徴とする請求項7に記載の移動体装置。
【請求項9】
前記ZMP検出手段は、前記移動体の加速により生じる慣性力に起因するZMPの移動量に基づいて、ZMPの位置の検出結果を補正し、
前記操作意図推定手段は、当該補正後のZMPの位置に基づいて、前記操作意図を推定することを特徴とする請求項1〜8のいずれか一項に記載の移動体装置。
【請求項10】
前記移動体は、非ホロノミック系の移動部を介して前記接地面に沿って移動し、
前記移動体の外周部には、前記接地面に垂直な軸を中心として回転するリング状部材が設けられ、
前記リング状部材は、前記移動体の旋回力よりも小さい摩擦力で回転する状態で前記移動体に保持されていることを特徴とする請求項1〜9のいずれか一項に記載の移動体装置。
【請求項11】
前記操作意図推定手段は、前記ZMPが、前記移動体が無負荷状態にあるときのZMPの位置を含む所定の退避判定範囲から外れたか否かを判断し、
前記移動手段は、前記ZMPが前記退避判定範囲から外れている時間に応じた速度で、前記移動体を退避させることを特徴とする請求項10に記載の移動体装置。
【請求項12】
前記移動手段は、
操作者から前記移動体に対して力が加えられた際に、前記力の方向と、前記移動体の並進方向が一致するまで、前記移動体を旋回動作させ、
前記旋回動作が完了した後に、前記移動体を前記力の方向に並進移動させることを特徴とする請求項10又は11に記載の移動体装置。
【請求項1】
接地面に沿って移動する移動体と、
前記移動体の重力と慣性力の合力が接地面と交わる点であるZMPの位置を検出するZMP検出手段と、
操作者から前記移動体に対して力が加えられたときの前記ZMPの位置に基づいて、前記操作者の前記移動体に対する操作意図を推定する操作意図推定手段と、
前記操作意図推定手段により推定された操作意図に基づいて、前記移動体を移動させる移動手段と、を備える移動体装置。
【請求項2】
前記操作意図推定手段は、前記ZMPの位置が、予め設定した複数の分割領域のいずれの領域内に存在しているかに基づいて、前記操作意図を推定することを特徴とする請求項1に記載の移動体装置。
【請求項3】
前記複数の分割領域それぞれは、隣接する分割領域と重複する重複部分を有しており、
前記ZMPの位置が、前記重複部分にあるときには、前記操作意図推定手段は、直前に推定された操作意図が維持されていると推定することを特徴とする請求項2に記載の移動体装置。
【請求項4】
前記移動体は、車輪の回転により接地面に沿って移動し、
前記車輪の回転を検知する回転検知手段と、
前記移動体の加速度を検知する加速度検知手段と、を更に備え、
前記ZMP検出手段は、前記回転検知手段の検知結果と前記加速度検知手段の検知結果とに基づいて算出される、前記移動体が位置している接地面の傾斜に起因するZMPの移動量に基づいて、ZMPの位置の検出結果を補正し、
前記操作意図推定手段は、補正後のZMPの位置に基づいて、前記操作意図を推定することを特徴とする請求項1〜3のいずれか一項に記載の移動体装置。
【請求項5】
前記移動体は、車輪の回転により接地面に沿って移動し、
前記車輪を回転させる車輪駆動手段に供給する電流を検知する電流検知手段を更に備え、
前記移動手段は、前記電流検知手段による検知結果に基づいて、前記車輪の空転を検出し、当該空転を考慮して、前記車輪駆動手段に供給する電流を制御することを特徴とする請求項1〜4のいずれか一項に記載の移動体装置。
【請求項6】
操作者が所定の操作を行ったときにZMPが所定の領域に存在する確率を保持する確率保持手段を更に備え、
前記操作意図推定手段は、前記確率保持手段が保持する確率を用いて、ベイズの定理に基づき、前記操作意図を推定することを特徴とする請求項1〜5のいずれか一項に記載の移動体装置。
【請求項7】
前記ZMP検出手段の検出結果に基づいて、前記移動体を接地面に沿って移動させようとする力以外の力の大きさを検出する非操作力検出手段を更に備え、
前記移動手段は、前記非操作力検出手段による検出値が、所定の値を超えた場合に、前記移動体の移動を禁止することを特徴とする請求項1〜6のいずれか一項に記載の移動体装置。
【請求項8】
前記非操作力検出手段による検出値の変動量が、所定の変動量以下で所定時間継続した場合には、前記移動手段は、前記移動体の移動を禁止せずに、その状態におけるZMPの位置をZMPの初期位置とすることを特徴とする請求項7に記載の移動体装置。
【請求項9】
前記ZMP検出手段は、前記移動体の加速により生じる慣性力に起因するZMPの移動量に基づいて、ZMPの位置の検出結果を補正し、
前記操作意図推定手段は、当該補正後のZMPの位置に基づいて、前記操作意図を推定することを特徴とする請求項1〜8のいずれか一項に記載の移動体装置。
【請求項10】
前記移動体は、非ホロノミック系の移動部を介して前記接地面に沿って移動し、
前記移動体の外周部には、前記接地面に垂直な軸を中心として回転するリング状部材が設けられ、
前記リング状部材は、前記移動体の旋回力よりも小さい摩擦力で回転する状態で前記移動体に保持されていることを特徴とする請求項1〜9のいずれか一項に記載の移動体装置。
【請求項11】
前記操作意図推定手段は、前記ZMPが、前記移動体が無負荷状態にあるときのZMPの位置を含む所定の退避判定範囲から外れたか否かを判断し、
前記移動手段は、前記ZMPが前記退避判定範囲から外れている時間に応じた速度で、前記移動体を退避させることを特徴とする請求項10に記載の移動体装置。
【請求項12】
前記移動手段は、
操作者から前記移動体に対して力が加えられた際に、前記力の方向と、前記移動体の並進方向が一致するまで、前記移動体を旋回動作させ、
前記旋回動作が完了した後に、前記移動体を前記力の方向に並進移動させることを特徴とする請求項10又は11に記載の移動体装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2011−70645(P2011−70645A)
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願番号】特願2010−148309(P2010−148309)
【出願日】平成22年6月29日(2010.6.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願日】平成22年6月29日(2010.6.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]