(57)【特許請求の範囲】
【請求項１】
車輪として、自在車輪である第１の補助輪と、一対の駆動輪と、を有する全方位台車と、
前記全方位台車に対して旋回可能に連結される本体部と、
前記本体部に連結されるロボットアームと、
を備え、
前記全方位台車が走行するにつれ、前記駆動輪が前記全方位台車の中心軸に対して当該全方位台車の走行方向と逆側に配置されるように、前記全方位台車が前記本体部に対して旋回するロボットの転倒抑制方法であって、
前記全方位台車の接地面に平行な面における、前記一対の駆動輪を結んだ線分が延びる向きをＹ軸、前記Ｙ軸に対して垂直な向きをＸ軸、前記中心軸を通り、且つ前記Ｙ軸と平行な軸を基準軸とし、前記全方位台車の各車輪における前記基準軸からのＸ軸方向の長さを前記各車輪のオフセットとしたとき、
前記オフセットが最も長い車輪が、前記中心軸に対して、前記ロボットアームで保持したワークに力を加えるために前記ロボットが走行する方向と逆側に配置された状態で、前記本体部に対する前記全方位台車の旋回を禁止する工程と、
前記ロボットアームによって前記ワークを保持し前記本体部に対する前記全方位台車の旋回を禁止した状態で、前記ワークに力を加える方向に前記ロボットを走行させる工程と、
を備える、ロボットの転倒抑制方法。
【請求項２】
前記ワークに力を加える方向に前記ロボットが走行したとき、前記ワークから受ける反力が設定された閾値よりも大きいか否かを判定する工程を備え、
前記ワークから受ける反力が設定された閾値よりも大きい場合に、前記本体部に対する前記全方位台車の旋回を禁止する、請求項１に記載のロボットの転倒抑制方法。
【請求項３】
前記全方位台車は、前記駆動輪及び前記第１の補助輪のオフセットよりも長いオフセットを有する第２の補助輪を備え、
前記第２の補助輪が、前記中心軸に対して、前記ワークに力を加えるために前記ロボットが走行する方向と逆側に配置された状態で、前記本体部に対する前記全方位台車の旋回を禁止する、請求項１に記載のロボットの転倒抑制方法。
【請求項４】
前記第１の補助輪は、前記基準軸を挟んで一方の側に配置され、前記第２の補助輪及び前記駆動輪は、前記基準軸を挟んで他方の側に配置され、
前記第１の補助輪及び前記駆動輪が接地しているとき、前記第２の補助輪は接地していない、請求項３に記載のロボットの転倒抑制方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの転倒抑制方法に関する。
【背景技術】
【０００２】
例えば、家具の引出を引く、扉を開ける、椅子を引く、運搬台車を引っ張る、重量物を運搬するなどの動作を実現するロボットが開発されている。
【０００３】
このようなロボットに特許文献１の全方位台車を用いた場合、ロボット１００は、図８（ａ）〜（ｃ）に示すように、補助輪１０１及び駆動輪１０２を有する全方位台車１０３、全方位台車１０３と相対的に当該全方位台車１０３の中心軸ａｘ１を中心に旋回可能な本体部１０４、及び本体部１０４に連結されるロボットアーム１０５を備えた構成となる。
【０００４】
そして、全方位台車１０３の接地面（床面）に平行な面における、一対の駆動輪１０２を結んだ線分が延びる向きをｙ軸、ｙ軸に対して垂直な向きをｘ軸、全方位台車１０３の中心（中心軸ａｘ１）を通り、ｙ軸と平行な軸を基準軸ｌ１とし、全方位台車１０３の各車輪における基準軸ｌ１に対するｘ軸方向の長さを各車輪のオフセットとしたとき、駆動輪１０２のオフセットｘ１が補助輪１０１のオフセットｘ２より短くなるように、補助輪１０１及び駆動輪１０２は配置されている。
【０００５】
このような特許文献１の全方位台車を用いたロボット１００は、例えば、以下の＜数１＞の制御則に基づいて左右の駆動輪１０２を制御する。
【０００６】
【数１】
0006350412.tif 000002
但し、ωＲは右側の駆動輪１０２の回転速度、ωＬは左側の駆動輪１０２の回転速度、ｒは駆動輪１０２の車輪半径、Ｗは左右の駆動輪１０２の間の距離（即ち、トレッド）、ｓは駆動輪１０２のオフセットｘ１、ｘｄ・、ｙｄ・は中心軸ａｘ１中心の目標速度ベクトルである（なお、目標速度ベクトルの座標系は、図８（ａ）下段の座標系に基づく。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３７９１６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の全方位台車を用いたロボット１００が、例えば、家具９の引出９ａを引く場合、図８（ａ）〜（ｃ）に示すように動作する。但し、図８（ａ）〜（ｃ）に示すロボット１００の動作は、一例であって、図８（ａ）〜（ｃ）のようにロボット１００が必ず動作するわけではない。
【０００９】
なお、図８（ａ）〜（ｃ）の上段は、ロボットが家具の引出を引いた際の当該ロボットの状態を段階的に示す側面図である。図８（ａ）〜（ｃ）の下段は、各々の段階での補助輪と駆動輪との配置関係を示す底面図である。ちなみに、図８（ｂ）及び（ｃ）では、ロボットアーム１０５の一部を省略して示している。
【００１０】
先ず、図８（ａ）の上段に示すように、ロボット１００が家具９の引出９ａを引くために当該家具９に近付くと、図８（ａ）の下段に示すように、補助輪１０１が駆動輪１０２に対して家具９側に配置される。
【００１１】
そして、ロボットアーム１０５が家具９の引出９ａの取っ手（図示を省略）を保持して当該引出９ａを引くために、上述の制御則に基づいて、ロボット１００が引出９を引く方向に走行すると、図８（ｂ）及び（ｃ）に示すように、駆動輪１０２が補助輪１０１に対して家具９側に配置されるように、全方位台車１０３が本体部１０４に対して旋回する所謂裏返り動作を行ってしまう。
【００１２】
このとき、図８（ａ）の状態でロボット１００が引出９ａを引く力と等しい力で図８（ｃ）の状態でロボット１００が引出９ａを引くと、家具９から受ける反力方向側に配置される駆動輪１０２のオフセットｘ１は補助輪１０１のオフセットｘ２より短いので、当該反力に対抗できずに、補助輪１０１が浮いてロボット１００が家具９側に傾き易い。
【００１３】
本発明は、上記を鑑みなされたものであって、ロボットの転倒を抑制しつつ、ワークに大きな力を加えることが可能なロボットの転倒抑制方法を実現する。
【課題を解決するための手段】
【００１４】
本発明の一態様に係るロボットの転倒抑制方法は、
車輪として、自在車輪である第１の補助輪と、一対の駆動輪と、を有する全方位台車と、
前記全方位台車に対して旋回可能に連結される本体部と、
前記本体部に連結されるロボットアームと、
を備え、
前記全方位台車が走行するにつれ、前記駆動輪が前記全方位台車の中心軸に対して当該全方位台車の走行方向と逆側に配置されるように、前記全方位台車が前記本体部に対して旋回するロボットの転倒抑制方法であって、
前記全方位台車の接地面に平行な面における、前記一対の駆動輪を結んだ線分が延びる向きをＹ軸、前記Ｙ軸に対して垂直な向きをＸ軸、前記中心軸を通り、且つ前記Ｙ軸と平行な軸を基準軸とし、前記全方位台車の各車輪における前記基準軸からのＸ軸方向の長さを前記各車輪のオフセットとしたとき、
前記オフセットが最も長い車輪が、前記中心軸に対して、前記ロボットアームで保持したワークに力を加えるために前記ロボットが走行する方向と逆側に配置された状態で、前記本体部に対する前記全方位台車の旋回を禁止する工程と、
前記ロボットアームによって前記ワークを保持し前記本体部に対する前記全方位台車の旋回を禁止した状態で、前記ワークに力を加える方向に前記ロボットを走行させる工程と、
を備える。
【００１５】
上述のロボットの転倒抑制方法において、前記ワークに力を加える方向に前記全方位台車が走行したとき、前記ワークから受ける反力が設定された閾値よりも大きいか否かを判定する工程を備え、
前記ワークから受ける反力が設定された閾値よりも大きい場合に、前記本体部に対する前記全方位台車の旋回を禁止することが好ましい。
【００１６】
上述のロボットの転倒抑制方法において、前記全方位台車は、前記駆動輪及び前記第１の補助輪のオフセットよりも長いオフセットを有する第２の補助輪を備え、
前記第２の補助輪が、前記中心軸に対して、前記ワークに力を加えるために前記ロボットが走行する方向と逆側に配置された状態で、前記本体部に対する前記全方位台車の旋回を禁止することが好ましい。
【００１７】
上述のロボットの転倒抑制方法において、前記第１の補助輪は、前記基準軸を挟んで一方の側に配置され、前記第２の補助輪及び前記駆動輪は、前記基準軸を挟んで他方の側に配置され、
前記第１の補助輪及び前記駆動輪が接地しているとき、前記第２の補助輪は接地していないことが好ましい。
【発明の効果】
【００１８】
本発明によれば、ロボットの転倒を抑制しつつ、ワークに大きな力を加えることが可能なロボットの転倒抑制方法を実現することができる。
【図面の簡単な説明】
【００１９】
【図１】（ａ）〜（ｃ）の上段は、実施の形態１のロボットが家具の引出を引いた際の当該ロボットの状態を段階的に示す側面図である。（ａ）〜（ｃ）の下段は、各々の段階での補助輪と駆動輪との配置関係を示す底面図である。
【図２】実施の形態１のロボットの転倒抑制方法で用いるロボットの制御系を示すブロック図である。
【図３】ロボットが家具の引出を引く際の当該ロボットの転倒抑制方法の流れを示すフローチャート図である。
【図４】（ａ）〜（ｃ）の上段は、実施の形態２のロボットが家具の引出を引いた際の当該ロボットの状態を段階的に示す側面図である。（ａ）〜（ｃ）の下段は、各々の段階での補助輪と駆動輪との配置関係を示す底面図である。
【図５】ロボットが家具の引出を引く際の当該ロボットの転倒抑制方法の流れを示すフローチャート図である。
【図６】（ａ）〜（ｃ）は、ロボットが家具から離れるに従って変化する、家具の引出を引いた状態でのロボットの重心と駆動輪と第１の補助輪と第２の補助輪との配置関係を示す底面図である。
【図７】（ａ）〜（ｃ）は、ロボットが家具から離れるに従って変化する、家具の引出を引いた状態でのロボットの重心と駆動輪と第１の補助輪と第２の補助輪との異なる配置関係を示す底面図である。
【図８】（ａ）〜（ｃ）の上段は、一般的なロボットが家具の引出を引いた際の当該ロボットの状態を段階的に示す側面図である。（ａ）〜（ｃ）の下段は、各々の段階での補助輪と駆動輪との配置関係を示す底面図である。
【発明を実施するための形態】
【００２０】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。但し、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００２１】
＜実施の形態１＞
本実施の形態のロボットの転倒抑制方法を説明する。図１（ａ）〜（ｃ）の上段は、本実施の形態のロボットが家具の引出を引いた際の当該ロボットの状態を段階的に示す側面図である。図１（ａ）〜（ｃ）の下段は、各々の段階での補助輪と駆動輪との配置関係を示す底面図である。図２は、本実施の形態のロボットの転倒抑制方法で用いるロボットの制御系を示すブロック図である。ちなみに、図１（ｂ）及び（ｃ）では、ロボットアーム４の一部を省略して示している。
【００２２】
先ず、本実施の形態のロボットの転倒抑制方法で用いるロボット１の構成を説明する。ロボット１は、所謂モバイルマニピュレータであって、予め設定されたタスクを実行するために自律走行する。このようなロボット１は、図１（ａ）〜（ｃ）及び図２に示すように、全方位台車２、本体部３、ロボットアーム４、第１の検出部３１ａ、第２の検出部５、第３の検出部６及び制御部７を備えている。
【００２３】
全方位台車２は、補助輪２１、駆動輪２２及び天板２３を備えている。補助輪２１は、自在キャスターやオムニホイールなどの自在車輪を備えている。本実施の形態では、２つの補助輪２１が夫々、天板２３の下面に固定されている。
【００２４】
駆動輪２２は、車輪及び図示を省略したモータ、減速機、エンコーダーなどを備えている。本実施の形態では、２つの駆動輪２２が夫々、天板２３の下面に固定されている。
【００２５】
天板２３は、全方位台車２の中心軸ＡＸ１が旋回中心となるように、旋回軸２３ａを介して本体部３と相対的に旋回可能に当該本体部３に連結されている。ちなみに、本実施の形態の天板２３は、旋回した際に周辺環境と接触しないように中心軸ＡＸ１の延在方向から見て円形に形成されている。ここで、中心軸ＡＸ１は、床面に対して鉛直方向に延在し、且つ天板２３の中心を通る軸である。なお、全方位台車２と本体部３との旋回中心は、中心軸ＡＸ１からずれた位置に配置されていてもよい。また、天板２３の形状は、特に限定されず、中心軸ＡＸ１から見て多角形であってもよい。
【００２６】
ここで、床面に平行な面における、２つの駆動輪２２を結んだ線分が延びる向きをＹ軸、Ｙ軸に対して垂直な向きをＸ軸、全方位台車２の中心軸ＡＸ１を通り、且つＹ軸と平行な軸を第１の基準軸Ｌ１、全方位台車２の中心軸ＡＸ１を通り、Ｘ軸と平行な軸を第２の基準軸Ｌ２と定義する。そして、駆動輪２２における第１の基準軸Ｌ１からのＸ軸方向の長さを駆動輪２２のオフセットＸ１、補助輪２１における第１の基準軸Ｌ１からのＸ軸方向の長さを補助輪２１のオフセットＸ２と定義する。
【００２７】
このとき、全方位台車２が本体部３との相対的な旋回が固定されていない状態で全方位台車２（ロボット１）が走行したとき、Ｘ軸がロボット１の走行方向に配置される。そして、第１の基準軸Ｌ１に対して補助輪２１がロボット１の走行方向側に配置され、第１の基準軸Ｌ１に対して駆動輪２２がロボット１の走行方向と逆側に配置される。
【００２８】
つまり、本実施の形態の全方位台車２も、全方位台車２の本体部３に対する旋回を固定せずに、補助輪２１に対して駆動輪２２をロボット１の走行方向側に配置した状態で、中心軸ＡＸ１の延在方向から見て当該中心軸ＡＸ１の移動軌跡がロボット１の走行方向に直線的に伸びるように、本体部３に対する全方位台車２の旋回角度を検出する第１の検出部３１ａの検出結果に基づいて２つの駆動輪２２を制御すると、一般的なロボットの全方位台車と同様に、本体部３に対して全方位台車２が旋回して駆動輪２２に対して補助輪２１が当該全方位台車２の走行方向側に配置される裏返り動作を行う。
【００２９】
また、２つの補助輪２１は、第２の基準軸Ｌ２を挟んで略等しい間隔で配置される。そして、２つの駆動輪２２も、第２の基準軸Ｌ２を挟んで略等しい間隔で配置される。
【００３０】
さらに、補助輪２１及び駆動輪２２は、補助輪２１のオフセットＸ２が駆動輪２２のオフセットＸ１より長くなるように配置される。詳細には、２つの駆動輪２２に確実に荷重をかけるためには、中心軸ＡＸ１の延在方向から見て、ワークに力を加えた状態でのロボット１の重心（即ち、ロボットの機体の重心に加え、ワークに力を加えたときのモーメントにより換算した重心を考慮したもの）が中心軸ＡＸ１及び駆動輪２２の接地点を結んだ三角形内に配置される必要がある。そのため、２つの駆動輪２２のトレッドを広くしているが、天板２３が円形状であるので、トレッドとオフセットＸ１とはトレードオフの関係にあり、広いトレッドを確保するとオフセットＸ１が短くなる。一方、２つの補助輪２１は、ロボット１の前後方向の安定を確保するためにオフセットＸ２を長く確保している。そのため、補助輪２１のオフセットＸ２が駆動輪２２のオフセットＸ１より長くなっている。但し、補助輪２１及び駆動輪２２の個数などは上述の限りでない。
【００３１】
本体部３は、全方位台車２に支持されている。そして、本体部３には、本体部３と全方位台車２とが相対的に旋回するための駆動部３１が搭載されており、駆動部３１の駆動力が旋回軸２３ａに伝達されることで、全方位台車２と本体部３とが相対的に旋回する。駆動部３１は、図示を省略したモータ及び減速機、第１の検出部３１ａなどを備えている。第１の検出部３１ａは、例えばエンコーダーなどを備えており、全方位台車２と本体部３との相対的な旋回角度（例えば、本体部３に対する全方位台車２の旋回角度）を検出し、検出結果を制御部７に出力する。なお、本実施の形態では、駆動部３１を本体部３に搭載したが、駆動部３１を全方位台車２に搭載してもよい。また、第１の検出部３１ａは、全方位台車２に対する本体部３の旋回角度を検出してもよい。
【００３２】
本実施の形態の本体部３は、旋回した際に周辺環境と接触しないように円柱形を基本形態としている。そして、本体部３の中心軸ＡＸ２は、全方位台車２の中心軸ＡＸ１と略重なるように配置されている。ここで、中心軸ＡＸ２は、床面に対して鉛直方向に延在し、且つ本体部３の中心を通る軸である。なお、本体部３の形状は、円柱形に限らずに多角柱でもよく、さらに柱形状に限られない。
【００３３】
ここで、本体部３には、全方位台車２の補助輪２１及び駆動輪２２（即ち、天板２３の下方領域）を覆うカバー部材８が設けられていることが好ましい。これにより、例えば、補助輪２１や駆動輪２２が周辺環境と接触して走行不能となることを抑制することができる。なお、図１などでは、補助輪２１及び駆動輪２２の配置が明確になるように、カバー部材８は破線で示している。
【００３４】
ロボットアーム４は、所謂多関節ロボットアームであって、先端部に把持部４ａを備えている。そして、ロボットアーム４の根元部は、本体部３に連結されている。ロボットアーム４としては、一般的なロボットアームを用いることができる。
【００３５】
第２の検出部５は、ロボット１（特にロボットアーム４）の周辺情報を検出し、検出結果を制御部７に出力する。第２の検出部５は、例えば、ステレオカメラ又はレーザーレンジセンサなどを備えている。本実施の形態の第２の検出部５は、本体部３の上部に固定されている。但し、第２の検出部５は、ロボット１の周辺情報を検出できるように本体部３に固定されていればよい。
【００３６】
第３の検出部６は、ロボットアーム４に作用する荷重（詳細には、荷重ベクトル）を検出し、検出結果を制御部７に出力する。つまり、第３の検出部６は、ロボットアーム４の把持部４ａで把持（保持）したワークに力を加えた際に当該ワークからロボットアーム４が受ける反力を検出する。第３の検出部６は、例えば、荷重センサなどを備えている。
【００３７】
制御部７は、第１の検出部３１ａが検出した本体部３に対する全方位台車２の旋回角度、第２の検出部５が検出したロボット１の周辺情報、上述の制御則、駆動輪２２のエンコーダーが検出した当該駆動輪２２の回転速度などに基づいて、ロボット１の走行ルートや本体部３の向きを算出し、算出した走行ルート上をロボット１が走行しつつ本体部３が所望の向きを向くように駆動輪２２及び駆動部３１を制御する。また、制御部７は、予め設定されたタスクを実行するために、第３の検出部６が検出したロボットアーム４に作用する荷重に基づいて、駆動部３１及びロボットアーム４を制御する。
【００３８】
次に、本実施の形態のロボット１の転倒抑制方法を説明する。先ず、ロボット１が家具９の引出９ａを引く際の転倒抑制方法を説明する。図３は、ロボットが家具の引出を引く際の当該ロボットの転倒抑制方法の流れを示すフローチャート図である。
【００３９】
なお、以下の説明では、ロボット１が家具９の引出９ａを引くために、家具９の正面に対して直交する方向から当該家具９に近付き、家具９と対向する位置まで走行した後の動作から説明する。ここで、全方位台車２が走行する床面は、水平であることを前提とする。また、家具９の引出９ａを引く方向は、水平方向であって、且つ家具９の正面に対して直交することを前提とする。また、本体部３に対する全方位台車２の旋回角度が０°であることを前提とする。
【００４０】
先ず、制御部７は、ロボットアーム４を制御して把持部４ａに家具９における引出９ａの取っ手（図示を省略）を把持させる。そして、制御部７は、図１（ａ）の上段に示すように、引出９ａを引くために、中心軸ＡＸ１の移動軌跡が引出９ａを引く方向に略直線状に伸びるように、駆動輪２２を制御してロボット１を家具９と逆側に走行させる（Ｓ１）。このとき、図１（ａ）の下段に示すように、ロボット１が走行し始めた当初は、補助輪２１が駆動輪２２に対して家具９側に配置されている。
【００４１】
ここで、家具９の引出９ａを引くためのロボット１の走行方向は、引出９ａを引くために当該引出９ａに力を加える方向と一致する。また、家具９の引出９ａを引くためのロボット１の走行方向と逆側の方向は、引出９ａ（ひいては家具９）から受ける反力Ｆの作用方向と一致する。
【００４２】
次に、制御部７は、第３の検出部６が検出したロボットアーム４に作用する荷重に基づいて、家具９の引出９ａを引いた際に当該家具９から受ける反力が所定の閾値より大きいか否かを判定する（Ｓ２）。詳細には、家具９の引出９ａを引いていない状態でのロボット１の重心をＧ、床面からロボットアーム４が反力Ｆを受ける位置までの高さをＴ、ロボット１の重量をＭ、重力加速度をｇ、重心Ｇの座標をＸｇ、Ｙｇ、Ｚｇ、駆動輪２２のオフセットをＸ１、駆動輪２２が床面から受ける荷重をＦ１、補助輪２１のオフセットをＸ２、補助輪２１が床面から受ける荷重をＦ２とすると、＜式１＞及び＜式２＞が成り立つ。
【００４３】
なお、重心Ｇの座標Ｘｇ、Ｙｇ、Ｚｇは、図１（ａ）の上段に示す座標系に基づく。また、本実施の形態では、後述のようにＸ軸方向でのモーメントの釣り合いのみに基づいてロボット１が傾くか否かを判定するため、Ｙ軸方向でのモーメントの釣り合い、及びＺ軸方向でのモーメントの釣り合いは省略している。
【００４４】
＜式１＞
Ｍｇ＝Ｆ１＋Ｆ２
【００４５】
＜式２＞
Ｆ２Ｘ２＋ＭｇＸｇ＋ＦＴ＝Ｆ１Ｘ１
【００４６】
家具９の引出９ａを引くためにロボット１が走行し続けて、一般的なロボットと同様に、所謂裏返り動作が行われ、第１の基準軸Ｌ１に対して補助輪２１がロボット１の走行方向側に配置され、第１の基準軸Ｌ１に対して駆動輪２２がロボット１の走行方向と逆側（即ち、反力Ｆの作用方向側）に配置された状態で、反力Ｆによってロボット１が傾いて補助輪２１が浮き上がるとき、Ｆ２＝０、Ｆ１＝Ｍｇとなるので、反力Ｆが以下の＜式３＞を満たすと補助輪２１が浮き上がる。
【００４７】
＜式３＞
Ｆ＞Ｍｇ（ｘ１−Ｘｇ）／Ｔ
【００４８】
つまり、反力Ｆが＜式３＞を満たす場合はロボット１が当該反力Ｆの作用方向側に傾き、反力Ｆが＜式３＞を満たさない場合はロボット１が当該反力Ｆの作用方向側に傾かない。
【００４９】
このとき、＜式３＞に基づけば、第１の基準軸Ｌ１に対して反力Ｆの作用方向側に配置される車輪のオフセットを駆動輪２２のオフセットＸ１より大きくすると、駆動輪２２で反力Ｆに対抗する場合に比べて大きな力で家具９の引出９ａを引くことができる。
【００５０】
そこで、制御部７は、反力Ｆが＜式３＞を満たすと判定すると（Ｓ２のＹＥＳ）、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置した状態で全方位台車２と本体部３との相対的な旋回を固定（禁止）して、家具９の引出９ａを引くためにロボット１を家具９と逆側に走行させる（Ｓ３）。
【００５１】
詳細には、上述のように、全方位台車２と本体部３との相対的な旋回を固定していないと、家具９の引出９ａを引くためにロボット１が当該家具９から離れるに従って、全方位台車２が本体部３に対して旋回して駆動輪２２が補助輪２１に対して反力Ｆの作用方向側（即ち、家具９側）に配置される。
【００５２】
そのため、制御部７は、＜式３＞を満たすと判定すると、一旦、家具９の引出９ａを引く動作を中断するために、ロボットアーム４を制御して把持部４ａによる引出９ａの取っ手の把持を止めさせ、駆動輪２２を制御してロボット１を家具９と逆側に走行させる。
【００５３】
そして、制御部７は、補助輪２１が駆動輪２２に対して家具９側に配置されるように、駆動輪２２を制御してロボット１を再び家具９側に走行させて当該家具９の近傍に配置する。さらに、補助輪２１が駆動輪２２に対して家具９側に配置した状態を維持するために、制御部７は駆動部３１を制御して全方位台車２の本体部３に対する旋回を固定する。
【００５４】
この状態で、制御部７は、ロボットアーム４を制御して把持部４ａに家具９における引出９ａの取っ手を把持させ、当該引出９ａを引くために駆動輪２２を制御してロボット１を家具９と逆側に走行させる。
【００５５】
このとき、図１（ｂ）及び（ｃ）に示すように、家具９の引出９ａを引く動作中、駆動輪２２のオフセットＸ１より長いオフセットＸ２を有する補助輪２１が反力Ｆの作用方向側に配置された状態が維持される。
【００５６】
一方、制御部７は、＜式３＞を満たさないと判定すると（Ｓ２のＮＯ）、ロボット１を走行させて当該ロボット１による家具９の引出９ａを引く動作を継続するために、駆動輪２２を制御する（Ｓ４）。つまり、反力Ｆは、駆動輪２２が補助輪２１に対して反力Ｆの作用方向側に配置されていてもロボット１が転倒しない程度の反力であるので、補助輪２１を駆動輪２２に対して家具９側に配置した状態で全方位台車２の本体部３に対する旋回を固定することなく、ロボット１を家具９と逆側に走行させる。
【００５７】
次に、ロボット１が家具９の引出９ａを押す際の転倒抑制方法を説明する。先ず、制御部７は、ロボットアーム４を制御して把持部４ａに家具９における引出９ａの取っ手を把持させる。そして、制御部７は、引出９ａを押すために駆動輪２２を制御してロボット１を家具９側に走行させる。このとき、補助輪２１が駆動輪２２に対して家具９側に配置される。
【００５８】
次に、制御部７は、第３の検出部６が検出したロボットアーム４に作用する荷重に基づいて、家具９の引出９ａを押した際に当該家具９から受ける反力Ｆが所定の閾値より大きいか否かを判定する。詳細には、家具９の引出９ａを押す場合、＜式１＞及び＜式４＞が成り立つ。
【００５９】
＜式４＞
Ｆ１ｘ１＋ＭｇＸｇ＝Ｆ２ｘ２＋ＦＴ
【００６０】
家具９の引出９ａを押すためにロボット１が走行し続けて、一般的なロボットと同様に、第１の基準軸Ｌ１に対して補助輪２１がロボット１の走行方向側に配置され、第１の基準軸Ｌ１に対して駆動輪２２がロボット１の走行方向と逆側に配置された状態で、反力Ｆによってロボット１が傾いて補助輪２１が浮き上がるとき、Ｆ２＝０、Ｆ１＝Ｍｇとなるので、反力Ｆが以下の＜式５＞を満たすと補助輪２１が浮き上がる。
【００６１】
＜式５＞
Ｆ＞Ｍｇ（ｘ１＋Ｘｇ）／Ｔ
【００６２】
つまり、反力Ｆが＜式５＞を満たす場合はロボット１が当該反力Ｆの作用方向に傾き、反力Ｆが＜式５＞を満たさない場合はロボット１が当該反力Ｆの作用方向に傾かない。
【００６３】
このとき、＜式５＞に基づけば、第１の基準軸Ｌ１に対して反力Ｆの作用方向側に配置される車輪のオフセットを駆動輪２２のオフセットＸ１より長くすると、駆動輪２２で反力Ｆに対抗する場合に比べて大きな力で家具９の引出９ａを押すことができる。
【００６４】
そこで、制御部７は、反力Ｆが＜式５＞を満たすと判定すると、家具９の引出９ａを押す際に、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置した状態で全方位台車２と本体部３との相対的な旋回を固定して、家具９の引出９ａを押すためにロボット１を家具９側に走行させる。
【００６５】
詳細には、家具９の引出９ａを押す際には、補助輪２１が駆動輪２２に対して家具９側に配置される。そのため、制御部７は、反力Ｆが＜式５＞を満たすと判定すると、一旦、家具９の引出９ａを押す動作を中断するために、ロボットアーム４を制御して把持部４ａによる引出９ａの取っ手の把持を止めさせ、補助輪２１が駆動輪２２に対して家具９と逆側に配置されるように駆動輪２２を制御してロボット１を家具９と逆側に走行させる。
【００６６】
そして、制御部７は、補助輪２１が駆動輪２２に対して家具９と逆側に配置された状態を維持するために駆動部３１を制御して全方位台車２の本体部３に対する旋回を固定し、駆動輪２２を制御してロボット１を家具９側に走行させて当該家具９の近傍に配置する。
【００６７】
この状態で、制御部７は、ロボットアーム４を制御して把持部４ａに家具９における引出９ａの取っ手を把持させ、当該引出９ａを押すために駆動輪２２を制御して、ロボット１を家具９側に走行させる。
【００６８】
このとき、家具９の引出９ａを押す動作中、駆動輪２２のオフセットＸ１より長いオフセットＸ２を有する補助輪２１が反力Ｆの作用方向側に配置された状態が維持される。
【００６９】
一方、制御部７は、反力Ｆが＜式５＞を満たさないと判定すると、ロボット１を走行させて当該ロボット１による家具９の引出９ａを押す動作を継続するために、駆動輪２２を制御する。つまり、反力Ｆは、駆動輪２２が補助輪２１に対して反力Ｆの作用方向側に配置されていてもロボット１が転倒しない程度の反力であるので、補助輪２１を駆動輪２２に対して家具９と逆側に配置した状態で全方位台車２の本体部３に対する旋回を固定することなく、ロボット１を家具９側に走行させる。
【００７０】
このように本実施の形態のロボットの転倒抑制方法は、駆動輪２２のオフセットＸ１より長いオフセットＸ２を有する補助輪２１を当該駆動輪２２に対して反力Ｆの作用方向側に配置するので、駆動輪２２で反力Ｆに対抗する場合に比べて、ロボット１の転倒を抑制しつつ、大きな力をワークに作用させることができる。
【００７１】
ここで、本実施の形態では、ロボット１を家具９に近付ける際に、全方位台車２の向きをワークに力を加える方向と平行に配置しているが、ロボット１を家具９に近付けた際の全方位台車２の向きがワークに力を加える方向と平行でない場合も、上述の制御則に基づいてロボット１を制御すると所謂裏返り動作を行うので、上述のロボットの転倒抑制方法は有効である。
【００７２】
なお、本実施の形態では、力を水平方向に加えることを前提としているが、力を水平方向に加えない場合は、上述の荷重ベクトルのＸ成分が所定の閾値より大きいか否かを判定すればよい。
【００７３】
また、本実施の形態では、＜式３＞又は＜式５＞を満たすと、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置して本体部３に対する全方位台車２の旋回を固定しているが、＜式３＞又は＜式５＞を満たすか否かを問わずに、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置して本体部３に対する全方位台車２の旋回を固定してもよい。このような構成に対して、本実施の形態では、＜式３＞又は＜式５＞を満たす場合のみ、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置して本体部３に対する全方位台車２の旋回を固定するので、本体部３に対する全方位台車２の旋回を固定する回数が低減され、制御性を向上させることができる。
【００７４】
＜実施の形態２＞
次に、ロボットの異なる転倒抑制方法を説明する。なお、実施の形態１のロボットの転倒抑制方法と重複する説明は省略する。ここで、図４（ａ）〜（ｃ）の上段は、本実施の形態のロボットが家具の引出を引いた際の当該ロボットの状態を段階的に示す側面図である。図４（ａ）〜（ｃ）の下段は、各々の段階での補助輪と駆動輪との配置関係を示す底面図である。ちなみに、図４（ｂ）及び（ｃ）では、ロボットアーム４の一部を省略して示している。
【００７５】
先ず、本実施の形態のロボットの転倒抑制方法で用いるロボット１０の構成を説明する。ロボット１０は、実施の形態１のロボット１と略等しい構成とされているが、図４（ａ）〜（ｃ）に示すように、補助輪として補助輪２１（以下、第１の補助輪２１という場合がある。）に加え、第２の補助輪２４を備えている。
【００７６】
第２の補助輪２４は、全方位台車２と本体部３との相対的な旋回が固定されていない状態でロボット１０が走行したとき、第１の基準軸Ｌ１に対してロボット１０の走行方向側と逆側に駆動輪２２と共に配置される。つまり、第２の補助輪２４は、第１の補助輪２１に対してロボット１０の走行方向と逆側に配置される。
【００７７】
本実施の形態では、中心軸ＡＸ１の延在方向から見て、１つの第２の補助輪２４が第２の基準軸Ｌ２上に配置されており、第２の補助輪２４の接地点（但し、本実施の形態の第２の補助輪２４は、ロボット１０が傾かないと接地しないので仮想接地点）及び駆動輪２２の接地点を結ぶと二等辺三角形となる。
【００７８】
そして、駆動輪２２のオフセットＸ１は、第１の補助輪２１のオフセットＸ２及び第２の補助輪２４のオフセットＸ３より短く、第２の補助輪２４のオフセットＸ３は、第１の補助輪２１のオフセットＸ２以上である。
【００７９】
ここで、第２の補助輪２４は、段差を乗り越えることができるように、ロボット１０が傾いていない状態で床面から浮いた位置に配置されていることが好ましい。つまり、中心線ＡＸ１が駆動輪２２側に傾くと、第２の補助輪２４が床面に接地する。
【００８０】
次に、本実施の形態のロボット１０の転倒抑制方法を説明する。以下の説明では、ロボット１０が家具９の引出９ａを引く際の転倒抑制方法を説明する。なお、ロボット１０が家具９の引出９ａを押す際の転倒抑制方法は、ロボット１０が家具９の引出９ａを引く際の転倒抑制方法と等しい原理であるので説明を省略する。
【００８１】
図５は、ロボットが家具の引出を引く際の転倒抑制方法の流れを示すフローチャート図である。図６（ａ）〜（ｃ）は、ロボットが家具から離れるに従って変化する、家具の引出を引いた状態でのロボットの重心と駆動輪と第１の補助輪と第２の補助輪との配置関係を示す底面図である。図７（ａ）〜（ｃ）は、ロボットが家具から離れるに従って変化する、家具の引出を引いた状態でのロボットの重心と駆動輪と第１の補助輪と第２の補助輪との異なる配置関係を示す底面図である。
【００８２】
先ず、制御部７は、ロボットアーム４を制御して当該ロボットアーム４の把持部４ａに家具９における引出９ａの取っ手を把持させる。そして、制御部７は、図４（ａ）の上段に示すように、引出９ａを引くために駆動輪２２を制御し、ロボット１０を家具９と逆側に走行させる（Ｓ１１）。
【００８３】
このとき、第１の補助輪２１が駆動輪２２及び第２の補助輪２４に対して家具９側に配置されているが、図４（ａ）の下段に示すように、一般的なロボットと同様に、全方位台車２と本体部３との相対的な旋回を固定していないと、家具９の引出９ａを引くためにロボット１０が当該家具９から離れるに従って、全方位台車２が本体部３に対して旋回して駆動輪２２及び第２の補助輪２４が第１の補助輪２１に対して家具９側に配置される。そして、床面に段差や湾曲などがある場合でも２つの駆動輪２２に確実に荷重をかけるためには、中心軸ＡＸ１の延在方向から見て、中心軸ＡＸ１及び駆動輪２２の接地点を結んだ三角形内に、家具９の引出９ａを引いた状態でのロボット１０の重心Ｇ’が配置されている必要がある。
【００８４】
そこで、制御部７は、第３の検出部６が検出したロボットアーム４に作用する荷重に基づいて、重心Ｇ’の座標（Ｘｇ’、Ｙｇ’、Ｚｇ’）を検出する（Ｓ１２）。詳細には、重心Ｇ’の座標Ｘｇ’は、＜式６＞で求めることができる。
【００８５】
＜式６＞
Ｘｇ’＝（Ｍｇ×Ｘｇ＋Ｆ×Ｔ）／Ｍｇ
【００８６】
また、重心Ｇ’の座標Ｙｇ’は、＜式７＞で求めることができる。
＜式７＞
Ｙｇ’＝（Ｍｇ×Ｙｇ＋Ｆ×Ｔ）／Ｍｇ
【００８７】
なお、重心Ｇ’の座標Ｚｇ’は、床面が水平であり、且つ家具９の引出９ａを引く方向が水平方向であるため、重心Ｇの座標Ｚｇと等しい。
【００８８】
そして、制御部７は、中心軸ＡＸ１の延在方向から見て、重心Ｇ’が中心軸ＡＸ１及び駆動輪２２の接地点を結んだ第１の三角形Ａ１内に配置されるか否かを判定する（Ｓ１３）。
【００８９】
なお、Ｓ１３の工程を行う前に、中心軸ＡＸ１の延在方向から見て、重心Ｇ’が第１の補助輪２１の接地点及び駆動輪２２の接地点を結んだ四角形Ａ２内に配置されているか否かを判定してもよいが、ロボット１０で家具９の引出９ａを引き出した直後の重心Ｇ’は、必ず四角形Ａ２内に配置されているので省略してよい。
【００９０】
制御部７は、中心軸ＡＸ１の延在方向から見て、重心Ｇ’が第１の三角形Ａ１内に配置されると判定すると（Ｓ１３のＹＥＳ）、ロボット１０による家具９の引出９ａを引く動作を継続するために、駆動輪２２を制御してロボット１０を家具９と逆側に走行させる（Ｓ１４）。
【００９１】
このとき、図６（ａ）に示すようにロボット１０が家具９の引出９ａを引き始めた当初では、中心軸ＡＸ１の延在方向から見て重心Ｇ’が第１の三角形Ａ１内に配置されていない（但し、重心Ｇ’は四角形Ａ２内には配置されている）が、ロボット１０が家具９から離れるに従って、図６（ｂ）及び（ｃ）に示すように全方位台車２が本体部３に対して旋回して駆動輪２２及び第２の補助輪２４が第１の補助輪２１に対して家具９側に配置され、重心Ｇ’が第１の三角形Ａ１内に配置される。
【００９２】
一方、制御部７は、中心軸ＡＸ１の延在方向から見て、重心Ｇ’が第１の三角形Ａ１内に配置されないと判定すると（Ｓ１３のＮＯ）、重心Ｇ’が駆動輪２２の接地点及び第２の補助輪２４の接地点を結んだ第２の三角形Ａ３内に配置されるか否かを判定する（Ｓ１５）。
【００９３】
制御部７は、中心軸ＡＸ１の延在方向から見て、重心Ｇ’が第２の三角形Ａ３内に配置されると判定すると（Ｓ１５のＹＥＳ）、第２の補助輪２４が反力Ｆの作用方向側に配置された状態で本体部３に対する全方位台車２の旋回を固定し、ロボット１０による家具９の引出９ａを引く動作を継続するために、駆動輪２２を制御してロボット１０を家具９と逆側に走行させる（Ｓ１６）。
【００９４】
このとき、図７（ａ）に示すようにロボット１０が家具９の引出９ａを引き始めた当初では、中心軸ＡＸ１の延在方向から見て重心Ｇ’が第２の三角形Ａ３内に配置されていない（但し、重心Ｇ’は四角形Ａ２内には配置されている）が、ロボット１０が家具９から離れるに従って、全方位台車２が本体部３に対して旋回して駆動輪２２及び第２の補助輪２４が第１の補助輪２１に対して家具９側に配置されて、図７（ｂ）に示すように重心Ｇ’が四角形Ａ２外に配置されると、ロボット１０が家具９側に傾く。その結果、図７（ｃ）に示すように重心Ｇ’が第２の三角形Ａ３内に配置されて、第２の補助輪２４が床面に接地する。ちなみに、ロボット１０が傾く直前の重心Ｇ’を仮想線で示している。
【００９５】
ここで、ロボット１０は、当該ロボット１０の傾きを検出する第４の検出部１１を備えていることが好ましく、第４の検出部１１が検出したロボット１０の傾きに基づいて、制御部７は、ロボットアーム４の手先位置などを制御するとよい。
【００９６】
一方、制御部７は、中心軸ＡＸ１の延在方向から見て、重心Ｇ’が第２の三角形Ａ３内に配置されないと判定すると（Ｓ１５のＮＯ）、ロボット１０が転倒する可能性があるので、家具９の引出９ａを引く動作を中止させる（Ｓ１７）。
【００９７】
このように本実施の形態のロボットの転倒抑制方法は、駆動輪２２のオフセットＸ１に対して長いオフセットＸ３を有する第２の補助輪２４を当該駆動輪２２に対して反力Ｆの作用方向側に配置するので、一般的なロボットのような駆動輪２２で反力Ｆに対抗する場合に比べて、ロボット１０の転倒を抑制しつつ、大きな力をワークに作用させることができる。
【００９８】
しかも、重心Ｇ’が第１の三角形Ａ１内に配置されている場合は、２つの駆動輪２２に確実に荷重がかかるため、ワークに力を加える際のロボット１０の走破性の低下を抑制することができる。
【００９９】
＜他の実施の形態＞
実施の形態１では、先ず、家具９の引出９ａを引くためにロボット１が家具９に近づき、その後、ロボット１が家具９から離れ、再度、ロボット１が家具９に近付くことで、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置しているが、予め、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置して本体部３に対する全方位台車２の旋回を固定してもよい。つまり、実施の形態１を例に説明すると、最初に家具９の引出９ａを引くためにロボット１が家具９に近付いた段階（図１（ａ）の状態）で、既に補助輪２１が駆動輪２２に対して反力Ｆの作用方向側に配置されているので、その状態で本体部３に対する全方位台車２の旋回を固定してもよい。これにより、タスクを迅速に実行することができる。
【０１００】
また、実施の形態１では、ロボット１を走行させることで、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置しているが、駆動部３１によって本体部３に対して全方位台車２を回転させることで、補助輪２１を駆動輪２２に対して反力Ｆの作用方向側に配置してもよい。このような場合は、例えば、ワークに力を加える方向に対して全方位台車２が斜めに配置される状態で当該ロボット１がワークに近付いた場合などにタスクを迅速に実行することができる。
【０１０１】
要するに、本体部３に対する全方位台車２の旋回を固定する前に、最もオフセットが長い車輪を他の車輪に対して反力Ｆの作用方向側に配置していればよい。
【０１０２】
本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【０１０３】
１  ロボット
２  全方位台車、２１  補助輪（第１の補助輪）、２２  駆動輪、２３  天板、２３ａ  旋回軸、２４  第２の補助輪
３  本体部、３１  駆動部、３１ａ  第１の検出部
４  ロボットアーム、４ａ  把持部
５  第２の検出部
６  第３の検出部
７  制御部
８  カバー部材
９  家具
９ａ  引出
１０  ロボット
１１  第４の検出部
１００  ロボット
１０１  補助輪
１０２  駆動輪
１０３  全方位台車
１０４  本体部
１０５  ロボットアーム
ＡＸ１  全方位台車の中心軸
ＡＸ２  本体部の中心軸
Ｘ１  駆動輪のオフセット
Ｘ２  第１の補助輪のオフセット
Ｘ３  第２の補助輪のオフセット
Ｇ  ワークに力を加えていない状態でのロボットの重心
Ｇ’  ワークに力を加えている状態でのロボットの重心
【図１】
0006350412.tif 000003
【図２】
0006350412.tif 000004
【図３】
0006350412.tif 000005
【図４】
0006350412.tif 000006
【図５】
0006350412.tif 000007
【図６】
0006350412.tif 000008
【図７】
0006350412.tif 000009
【図８】
0006350412.tif 000010