本発明は、少なくとも二本の脚を有し、該脚により歩行運動が可能な歩行ロボットに関する。
従来、歩行ロボットの脚部構造としては、ひと固まりの剛体となって接地するものが多く、現在歩行ロボットの形として人々が目にできるものは、この構造のものに限られている。しかし、試験的に提案されたものには、複数の部分に脚部が分割され、互いに相対運動できるものもある。例えば、歩行ロボットの脚部において、ヒトの爪先を模した関節を備える技術が示されている(例えば、特許文献1を参照。)。この脚部構造を有する歩行ロボットにおいては、胴体部に収納したモータの出力を、フレキシブルワイヤーを介して当該爪先関節に接続し、爪先を駆動するものである。
また、別の脚部構造については、脚部の接地面積を変更可能とする脚部構造が開示されている(例えば、特許文献2を参照。)。この脚部構造を有する歩行ロボットにおいては、歩行ロボットの安定性の向上を図るために、歩行の場所に応じて脚部の接地面積を変える。しかし、容量の小さなモータを大きな減速比を持つ減速機を介して、該モータの駆動力を脚部に伝えて接地面積を変更している。そのため、脚部の接地面積の変更に長い時間を要する。
また、歩行ロボットの向きを変更するために、歩行ロボットの脚部に受動的に動く脚関節を脚部先端に設けて、脚部を駆動することで当該関節が曲がり、形の上で爪先立ちを実現しようとした技術が開示されている(例えば、特許文献3を参照。)。この脚部構造を有する歩行ロボットにおいては、従来から行われている歩行ロボットの脚踏み動作による向き変更よりも、該変更に要する所要時間が少ないため、向き変更に要するエネルギー消費も減少することがうたわれている。
Furusho, Sano ”Sensor-Based Control of a Nine-Link Biped”, The International Journal of Robotics Research, (United States of America), Massachusetts Institute of Technology, April 1990, vol.9, No.2, p.83-98
特開平5−318337号公報
特開平4−122586号公報
歩行ロボットに対する何らかの要求に対して歩行ロボットの高さを増加させる必要がある場合、歩行路面と接地する脚部において設けられた爪先部をワイヤによって駆動することで、歩行ロボットの高さを増加させようとすると、ワイヤにより歩行ロボットの剛性が低下するとともに、歩行ロボットの高さを増加させるために必要な駆動力を爪先部に十分に伝達させるのが困難である。
また、歩行ロボットの爪先部を駆動して歩行ロボットの高さを増加させる場合、アクチュエータであるモータが該爪先部を駆動するために要する消費エネルギーを低下させるべく、該モータの容量を小さくし且つ高減速比の減速機を介して爪先部に駆動力を伝達しようとすると、歩行ロボットの高さを変更するために要する時間が長くなる虞がある。また
、減速機を介することで爪先部への伝達効率が低下するため、モータによる消費エネルギーが却って増加する。
本発明では、上記した問題に鑑み、より簡易な構造によって歩行ロボットの体重を支えるとともに歩行ロボットを所望の高さとする脚部を有する歩行ロボットを提供し、更には該歩行ロボットの高さの変更に要する消費エネルギーを抑制することを目的とする。
本発明においては、上記した課題を解決するために、複数のリンク部材と該リンク部材の各々を連結する関節部とで構成される脚を少なくとも二本有し、該脚の駆動により歩行を行う歩行ロボットにおいて、前記脚の先端には歩行路面と接地する第一接地部位と第二接地部位とを有する脚先部が設けられ、更に、前記第一接地部位と前記第二接地部位とのうち一方を他方に対して前記歩行路面に向けて突出する方向に相対的に移動させることで、前記歩行ロボットの高さを増加する歩行ロボット高さ調整手段を備える。
即ち、歩行ロボットの重量を支える脚において、歩行路面と接地する脚先部を、第一接地部位と第二接地部位の二つの接地部位で構成するものである。この脚先部は、人間でたとえるならば足首から足指先までの部位に該当する。そして、この第一接地部位と第二接地部位とのうち一方を歩行路面に突出させるように相対的に移動させることで、換言すると、例えば前記一方の接地部位を歩行路面に対して垂直となる方向に相対的に移動させることで、第一接地部位と第二接地部位との間に段差が生じる。そして、その生じた段差が、歩行ロボットの高さの増加量に反映される。
よって、上述の技術は、第一接地部位と第二接地部位とを上記の所定の方向に、いわば直線的に相対移動させることで、歩行ロボットの高さにオフセットを与えて、その高さを増加させる技術である。そのため、歩行ロボットの高さを変更している最中であっても、歩行ロボットの重心はそのまま上昇するだけで重心が揺れて不安定となる虞は少ない。従って、歩行ロボットを構成するその他の関節やリンク機構を制御して、歩行ロボットの重心を安定化させる必要性が低くなり、その安定化に要する消費エネルギーを抑制し得る。
そして、第一接地部位と第二接地部位とを上述した相対移動をさせるという、比較的簡潔な構成によって歩行ロボットの高さを増加させることが可能となる。尚、第一接地部位と第二接地部位との間に生じている段差を解消する方向に、両者を相対移動させることで、歩行ロボットの高さを減少させることも可能である。
より詳細には、上述の歩行ロボットにおいて、前記歩行ロボット高さ調整手段は、前記第一接地部位を前記第二接地部位に対して前記歩行路面に向けて突出する方向に相対移動させることで、該第一接地部位を該歩行路面と接地し且つ該第二接地部位を該歩行路面から離れている状態として該歩行ロボットの高さを増加するようにしてもよい。従って、歩行ロボットの高さが増加されているときは、脚先部の中でも第一接地部位のみが歩行路面に接地している。
このとき、前記第一接地部位は、前記脚と前記脚先部との連結部位に設けられているようにしてもよい。脚と脚先部との連結部位は、歩行ロボットの重量が集中的に加わる部位である。従って、歩行ロボットの高さを増加して第一接地部位のみが歩行路面に接地しているときは、第一接地部位に歩行ロボットの重量が加わるようにすることで、歩行ロボットを安定的に支え、その転倒等を防止することが可能となる。
ここで、上述までの歩行ロボットにおいて、第一接地部位と第二接地部位との相対移動を行うアクチュエータとして、歩行ロボットに備えられた第一接地部位と第二接地部位と
の何れかに流体による流体圧を供給する流体圧供給手段を用いてもよい。そして、前記歩行ロボット高さ調整手段は、前記流体圧供給手段から供給される流体圧によって、前記歩行路面に向けて突出する方向における前記第一接地部位と前記第二接地部位との相対移動を行う。ここで、流体圧としては、空気圧や油圧等が例示できる。
このように構成される歩行ロボットにおいては、流体圧によるアクチュエータである流体圧供給手段を用いるため、歩行ロボット高さの調整に際しては第一接地部位又は第二接地部位にかかる流体圧を調整すればよい。そのため、一般に広く使われるモータによる歩行ロボットの高さ調整と比べて、アクチュエータ自身の重量が軽減される。特に、流体として空気等の気体を用いると、アクチュエータの重量はより軽減される。更には、歩行ロボットの高さを増加させた後の歩行ロボットの姿勢保持においては、流体圧を利用する場合には、該流体圧を一定にするために流体の流れを停止するという比較的簡易な構成で実現が可能である。即ち、一度ロボットの高さを増加させた後は停止した流体において漏れがない限り流体を改めて供給する必要はなく、従ってエネルギーの消費が少ない。一方で、モータをアクチュエータとして利用する場合には、モータが常にトルクを発生すべくモータへの電流の供給を継続する必要がある。以上より、消費エネルギーの観点からも、流体圧供給手段による第一接地部位と第二接地部位との相対移動がより好適である。
また、歩行ロボットの高さが増加されるとき第一接地部位が歩行路面に接地する場合において、脚先部における歩行路面との接地面積が、第一接地部位と第二接地部位とが接地する接地面積から第一接地部位のみが接地する接地面積へと減少する。従って、歩行ロボットの高さが増加されるとき、歩行路面との接地面積の減少により、歩行ロボットの姿勢の安定性が低下する虞がある。
そこで、上述の歩行ロボットにおいて前記歩行ロボット高さ調整手段によって前記歩行ロボットの高さが増加される場合において該歩行ロボットの重心が存在すべき領域であって前記第一接地部位と前記歩行路面との位置関係によって決定される安定領域に該歩行ロボットの重心位置を制御する重心制御手段を、更に備える場合、前記重心制御手段によって前記歩行ロボットの重心位置を前記安定領域に属させた後に、前記歩行ロボット高さ調整手段による該歩行ロボットの高さを増加してもよい。
即ち、歩行ロボット高さ調整手段による歩行ロボットの高さの増加は、歩行ロボットの重心が上述の所定の安定領域に属するようにされた後において行われることで、歩行路面との接地部位面積の減少による姿勢の不安定化を回避することが可能となる。ここで、上述の安定領域は、歩行ロボットの有する脚の状態、即ち、歩行路面に対して歩行ロボットが脚によってどのように支えられているかによって決定される。例えば、歩行ロボットの有する脚の数が増加するに従いそれによる安定領域は拡大し、また、歩行ロボットの有する脚が歩行ロボットの本体に対して遠い位置で歩行路面と接地している場合にも安定領域は拡大する。
ここで、歩行ロボットの高さが増加されるとき第一接地部位が歩行路面に接地する場合において、該歩行ロボットを次のように構成することで、該歩行ロボットの向きをより容易に、変更することが可能である。即ち、前記第一接地部位は、前記脚先部に設けられた回転軸の軸周りに回転自在であり、前記歩行ロボット高さ調整手段によって前記第一接地部位を前記歩行路面と接地し且つ前記第二接地部位を該歩行路面から離れている状態とした後、前記第一接地部位を該歩行路面に接地した状態で前記回転軸を中心として前記歩行ロボットの向きを回転変更する歩行ロボット向き変更手段を、更に備えるようにしてもよい。
このように歩行ロボットの脚に設けられた第一接地部位が回転軸周りに回転することで
、歩行ロボットが第一接地部位を介して脚が歩行路面に接地している状態で、歩行ロボットの向きを変更することが可能となる。その結果、歩行ロボットの姿勢の安定性を低下させることなく、より確実に歩行ロボットの向きを所望の向きに変更することが可能となる。また、従来のように、足踏み動作を繰り返して向きを変更する場合と比べて、きわめて短時間で歩行ロボットの向きを変更することが可能となる。
尚、前記回転軸の軸方向は、前記第一接地部位が前記歩行路面に向けて突出する方向と略同一であるのが好ましい。このようにすることで、歩行ロボットの向きを変更する際の歩行ロボットの姿勢の安定性の低下をより確実に抑制し得る。
また、上述の歩行ロボットにおいて、前記歩行ロボット向き変更手段は、前記第一接地部位を有する少なくとも二本の脚において、各第一接地部位が前記歩行路面に接地した状態での該各第一接地部位における荷重中心によって決定される一の仮想円に沿った同一の回転方向に、該脚に駆動力を与えることで、前記回転軸を中心として前記歩行ロボットの向きを変更してもよい。
即ち、少なくとも二本の脚によって歩行ロボットが支えられている状態において、該歩行ロボットの高さが増加されて第一接地部位のみが歩行路面に接地しているとき、該脚に対して上述の方向に駆動力を与えると、第一接地部位と歩行路面との間の摩擦力によって第一接地部位と歩行路面との相対位置は変化せずに、駆動力の反力によって第一接地部位が回転軸を中心として回転する。これにより、歩行ロボットの向きが変更される。また、同一の仮想円とは、歩行ロボットの各脚の第一接地部位に加わる荷重の中心を含む仮想円である。この仮想円に沿った方向に脚に駆動力を与えることで、歩行ロボットの向きが変更されるときの該歩行ロボットの重心が大きく変動して姿勢が不安定となるのを可及的に抑制し得る。
また、上述のように向きを変更する歩行ロボットにおいて、前記第一接地部位が前記回転軸を中心として回転するとき該第一接地部位が前記脚先部と接触部を有する場合、該接触部における摩擦力が略一定であるようにしてもよい。このように構成することで、歩行ロボットの向きが変更されるときに要する消費エネルギーは、歩行路面の状態に拘わらずほぼ一定となり、消費エネルギーの悪化を抑制し得る。
更に、上記の問題点を鑑みて、本発明において、複数のリンク部材と該リンク部材の各々を連結する関節部とで構成される脚を少なくとも二本有し、該脚の駆動により歩行を行う歩行ロボットにおいて、前記関節部のうち少なくとも一の関節部は、前記歩行ロボットの高さを増加させる方向に該関節部に連結されるリンク部材を相対移動させるロボット高さ増加用関節部であり、前記ロボット高さ増加用関節部は、流体による流体圧を動力源として前記リンク部材の相対移動を行う。
即ち、歩行ロボットの高さを増加する際に、脚の関節部の少なくとも一の関節部がロボット高さ増加用関節部として作用することで、歩行ロボットの高さをオフセット的に増加することが可能となる。このように歩行ロボットの高さを増加することで、歩行ロボットの重心が変動する量が少なくなり、歩行ロボットのバランスを調整するためにロボット高さ増加用関節部以外の関節部が駆動される必要性が低くなり、高さ変更時における消費エネルギー量を抑制し得る。特に、ロボット高さ増加用関節部以外の関節部が、主に電気エネルギーを動力源とするモータによって構成されるときは、高さ変更時における消費エネルギー量の抑制が顕著となる。そして、先述したようにロボット高さ増加用関節部の動力源として流体圧とすることで、歩行ロボットの高さ変更後の姿勢保持の場合を含めて、高さ変更に要する消費エネルギーを更に抑制し得る。
より簡易な構造によって歩行ロボットの体重を支えるとともに歩行ロボットを所望の高さとする脚部を有する歩行ロボットを提供し、更には該歩行ロボットの高さの変更に要する消費エネルギーを抑制することが可能となる。
ここで、本発明に係る歩行ロボットの実施の形態について図面に基づいて説明する。
図1に本発明を適用するのに適した2本の脚を有する歩行ロボット1の下半身の概略的な骨格図を示す。図1において、歩行ロボット1は左右それぞれの脚に6ケの関節を備える。当該6ケの関節は上から順に、脚部回転用の関節10、股関節部のピッチ方向の関節12、同ロール方向の関節14、膝関節部のピッチ方向の関節16、足関節部のピッチ方向の関節18、同ロール方向の関節20となっており、その下部には脚先部24が備えられる。
また、下半身の最上部には人体の骨盤に相当する腰板リンク26が用意される。腰板リンク26には関節の制御に必要な電源やアンプ(増幅器)、及び本発明に関係する蓄圧タンク90等が搭載されている。ここで、蓄圧タンク90は、歩行ロボット1が本発明における背伸び動作を行うための動力源である高圧空気を貯留するためのタンクである。蓄圧タンク90に貯留されている高圧空気の供給については、後述する。
右脚と左脚とは鏡像の関係にあり、対称形状である。各々の番号の次のL、Rの文字はそれぞれ左、右を意味するもので、それ以外の意味はない。そして、以下において、例えば関節10L/Rと記載されるときは、左右両側の関節10Lと10Rを表すものとし、また、例えば関節10と表す場合と、関節10L/Rと表す場合とでは、その表現において差はない。股関節は図示のように3つの関節10、12、14から構成されており、股関節と膝関節との結合には大腿リンク30が用意され、また足関節も図示のように2つ関節18、20から構成されており、足関節と膝関節との結合にはスネリンク32が用意される。
ここで、足関節に接続される脚先部24L/Rには、本発明に係る歩行ロボット1の高さを増加させる動作(以下、「背伸び動作」という)を行う関節50R、50Lが設けられている。関節50L/Rは後述するように直線運動を行うタイプの関節であり、図1に示す他の関節10L/R等が回転式の関節であるのに対して、明確な違いがある。また、関節50L/Rにおいても、両脚の足部に鏡像の関係で同じ形式の関節が設けられている。
ここで、図2には、背伸び動作用の関節50の構造が詳細に示されている。脚先部24には、蓄圧タンク90から供給される圧縮空気の空気圧によって駆動されるピストン52を一定方向に移動自在に収納するシリンダー54が設けられる。シリンダー54は異なる2つの直径からなり、空気圧を導き入れる圧力室56を形成している。またピストン52は、回り止めピン58によってシリンダー54に対して相対回転が阻止されている。その結果、ピストン52は図2における上下方向にのみ、空気圧によって移動させられる。尚、以下の記載にて上下と方向が示されるときは、各図における上下方向を意味する。また、ピストン52の上部空間60は大気開放になっており、その結果少ない圧縮空気の消費で所望の上下運動が実現できる構造となっている。
ここで、ピストン52の中心部には上下を貫通する形で回転軸62が配置されている。回転軸62の下側には、直接歩行路面と接地する第一接地部位66が回転軸62回りに回
転自在に支持されている。また、脚先部24の先端には第一接地部位66とは独立して歩行路面に接地する第二接地部位64が設けられている。尚、第二接地部位64は脚先部24側に固定されている。ここで、ピストン52が図示位置にあるとき、即ちピストン52が最上位置にあるときは、これら第一、第二接地部位は実質的に同じ面となるように設計されている。
このように、ピストン52がシリンダー54の中において上下に移動することで、第一接地部位66が第二接地部位64より突出する方向に移動する。その結果、ピストン52が下方向に移動すると、第一接地部位66が歩行路面と接地した状態となり、且つ第二接地部位64は歩行路面と接地していない状態となる。その結果、第一接地部位66と第二接地部位との間に段差δが生じ、その段差δが歩行ロボット1の高さ変化量として現れる。尚、図2に示される状態では、段差δは零である。
また、第一、第二接地部位は、路面と良く馴染むように、比較的柔らかい弾性材65、67が接着剤によってその接地表面に貼りつけられている。更に、第一接地部位66とピストン52との間には、両者の間の滑りを良くする目的で、ドーナツ状の形状をした低摩擦係数を持つ第一樹脂板70が装着され、同時に第一接地部位66と第二接地部位64との間にはドーナツ状の形状をした比較的高い摩擦係数を持つ第二樹脂板72が装着されている。
回転軸62の上部には、ピストン52が空気圧によって下降したあと、空気圧が除去された場合に、速やかに図示の最上位置に復帰するために、リターンスプリング80が用意されている。リターンスプリング80によって図示の最上位置にピストンが復帰したときは、第二樹脂板72がストッパーとなり、第一樹脂板70は除荷されるような寸法となっているものとする。即ち、第一樹脂板70の厚さは、第二樹脂板72の厚さより僅かに薄い寸法である。
また、図2に示す82は図1に示した足関節ロール用関節20L/Rを駆動するモータであり、図2に示す84はモータ82の出力を減速して増力する減速機を収納した部分、図2に示す76は足関節のピッチ関節18L/Rを収納するカバーである。
次に、図3には、背伸び動作を行うための関節50L/Rにおける空気圧制御を行う空気圧制御回路が示されている。蓄圧タンク90には逆止弁91を介して高圧空気が注入されており、その空気圧を減圧弁92で所望のレベルに減圧する。そして、電磁弁94の開弁によって、高圧空気がピストン52L/Rを押し下げるように圧力室56L/Rに導かれる。この電磁弁94は通電時には、図3に示す左側の回路構成となることで、減圧弁92の出力を圧力室56L/Rに導くが、通電が停止されると図示の回路構成となることで、圧力室56を大気に連通する。このような電磁弁94は通常使用されるものであって、広く市販されている。例示の電磁弁は、パイロット弁として売られているもので、通電時の消費電力が僅かに0.5Wの電磁弁である。
また、図4には上述の電磁弁94や歩行ロボット1の関節のアクチュエータであるモータ等から構成される制御装置の概略構成が示されている。CPU(中央演算装置)100は歩行ロボット1の脚運動を決める歩容データを収めてあるメモリ102にアクセスして歩容データを読み取り、更に後述する現在の各関節の関節角度値、関節角速度値を読み取る。その後、後述する演算式によりモータ106が発揮すべきモータトルクを計算して、このモータトルクを指令値としてアンプ(増幅器)104に送る。アンプ104はこの指令値から電流値を算出、決定してモータ106を駆動する。モータ106が駆動されると関節は角度を変えるから、その角度を適切なセンサ(角度計)108で読み取り、角度情報としてCPU100に送る。
図4でアンプ104やモータ106、角度計108は本実施例の場合は関節の数に応じた数、即ちそれぞれ12ケずつ存在するが、図面においては説明の簡素化のために3つだけが模式的に描かれている。尚、歩容データの様式は、この実施例では予め算出された各関節角度の時系列データの形で収納されているものとする。その一例は、例えば特開平4-201187の第六図に詳細に開示されている。尚、CPU100による電磁弁94の制御については後述する。
次に、第5図には、歩行ロボット1が背伸び動作を行うときの重心管理を示している。図5は歩行ロボット1をその上方から見たもので、歩行ロボット1が右脚に対して左脚を少し前に開いて立っている状態を示す。概ね矩形で描かれた2つの脚先部24L/Rと、この脚先部24L/Rを包む六角形の包絡線120が作る第二安定領域Aと、空気圧を送られた場合に歩行路面と接地する2つの円形で描かれた第一接地部位66L/Rと第一接地部位66L/Rを包む楕円形の包絡線122が作る第一安定領域Bとが図示されている。尚、第一安定領域Bと第二安定領域Aは、歩行路面上の平面である。
図5中、黒丸の点124は歩行ロボット1の重心から下ろした鉛直線が歩行路面と交わる点である。空気圧がピストン52に送られていない状態では、脚先部24L/R全体が接地しているため、この点124が第二安定領域Aにあるとき歩行ロボット1の姿勢は安定している。つまり、必ずしも点124が第一安定領域Bに属する必要はない。これに対して空気圧がピストン52に送られているときは、第一接地部位66L/Rのみが歩行路面と接地しているから、点124が第一安定領域Bにある場合のみ歩行ロボット1の姿勢が安定となり得る。一方で、点124が第一安定領域Bを除く第二安定領域Aに属するときは、歩行ロボット1は転倒する虞が高い。
そこで、背伸び動作を行うにあたり、先ず歩行ロボット1の重心位置によって決定される点124が第一安定領域Bに属するように、歩行ロボット1の各関節10、12、14、16、18、20を制御する必要がある。望ましくは左右にある第一接地部位66L/Rに概ね同じ荷重がかかるように、点124を、第一接地部位66L/Rの中央点126Rと126Lとを結ぶ直線の中央点の近傍とする。このようにすることで、左右にある第一接地部位66L/Rに概ね同じ荷重がかかるとともに点124が第一安定領域Bに属するため、背伸び動作時において歩行ロボット1の姿勢を可及的に安定化することが可能となる。
ここで、点124が第一安定領域Bに属するようになった後は、空気圧をピストン52に送り、第一接地部位66L/Rを第二接地部位64L/Rに対して下方に、即ち歩行路面の方向に延ばす。このようにすることで、歩行ロボット1は背伸び状態となって歩行ロボット1の高さが増加し、高い場所に置かれたものをセンサにより検出したり、本実施例では省かれている歩行ロボット1の上腕が高い場所にも届くようになったりする。即ち、背伸び動作は第一接地部位66L/Rと第二接地部位64L/Rの直線的な相対移動によるものであるから、上述の重心管理が行われた後であれば、背伸び動作を行っても点124が第一安定領域Bから出ることはない。従って、背伸び動作時には、他の脚関節12、14、16等を逐次動かして歩行ロボットの姿勢の安定性を調整することないことが、本実施例の特徴である。その結果、背伸び動作時において他の脚関節の制御に要する消費エネルギーを抑制し得る。
次に、CPU100による電磁弁94の制御による歩行ロボット1の背伸び動作の制御について、図6に基づいて詳細に説明する。図6に背伸び動作の制御アルゴリズムを示す。この制御アルゴリズムは、予め決められたCPU100の起動周期ごとに実行されるものとする。起動周期が来るごとにタイマー割り込みが起き、ステップ130で背伸び動作
指令のビットが1になったかどうかが確認される。この指令が来ていない(ビットが0)ときはステップ131に進み、他の動作制御ループに移る。ビットが1のときはステップ132に進み、第一接地部位66を突出させる状態かどうかを確かめる。背伸び動作開始前は、第一接地部位66および第二接地部位64はほぼ同じ平面にあるので、歩行ロボット1の高さを増加する作業を意味するFlag−Uは0となっているのでNoに進み、歩行ロボット1の重心によって決定される点124を図5に示す第一安定領域Bまで移動させる制御ループ140に進む。プロセス140ではステップ141でメモリから6つの目標関節角度Dθitを読みだす。ここで添字iは、脚の関節に付けられた番号であって、関節は左右12ケ存在するため添字iは1〜12まである。また添字tは起動周期ごとに順に付けられた番号であって、運動時間を代表している。
続いてステップ142に進み、角度計108より、実際の関節角度値Rθitを読みだす。この例では実際の関節角度値Rθitの他に実際の関節角速度Rωitを、関節角度値RθitをFV変換して読み出す例を示している。尚、関節角速度Rωitは、Rωit=Rθit−Rθi(t−1)と計算で求めても良い。ここでは、用意されたRωitを読み込むことする。次にステップ143に進み、必要なモータトルクTiを以下に示す式(1)に従って、計算する。
Ti=K1(Dθit−Rθit)+K2(Dωit−Rωit)・・・(1)
ここで、Dωitは目標関節角速度であり、目標関節角度Dθitと関節角度値Rθitとの差分に所定の定数を乗じた量である。尚、K1は目標関節角度Dθitとの差をトルクに換算する、いわゆる角度偏差比例の換算係数であり、K2は目標関節角速度Dωitとの差をトルクに換算する、いわゆる角速度偏差比例の換算係数である。
続いてステップ144でこの算出したモータトルクを各アンプに出力する。ステップ146で上述した重心管理作業が終了したか否かを調べ、終了していないときはステップ147において、時間表でtをt+1として1つ進め、ステップ150で作業の終了をチェック、終了していないときは再び次の起動周期が来るまで、待つ。全ての作業が終了している場合にはステップ153に進み、他の動作制御プログラムを実行する。
ステップ146で重心管理が終了しているときは、ステップ148に進み、Flag−Uのビットを1にしておく。この後はステップ149に進んで時間表の時刻を今読み込んだ時刻に合わせておき、次の時刻の関節角度を読み込むことを防止しておく。このステップ149における作業(t=t)によって、後述する姿勢保持制御によって歩行ロボット1はこのときの姿勢を保持するようになる。
次の起動周期がくると、ステップ132の結果はYesとなる。そこで、プロセス160に移行する。プロセス160では、ステップ161で目標関節角度Dθit(この値は先にt=tとしたから前回の処理に使ったものと同じであるが)を読み込み、ステップ162で現実の関節角度Rθitと角速度Rωit(これは時々刻々変化しているから前のデータとは違う)を読み込み、ステップ163でモータトルクを計算する。トルク計算については、先述と同様に行われる。その後、ステップ164で各アンプにトルク指令値として出力する。この状態で背伸び動作を終了して止めるための指令のビット1があるか否かをステップ166で調べる。プロセス160に最初に進んだ時点では、ステップ166での判断はNoであるから、ステップ168に進み、電磁弁94にオン(励磁)指令を出力する。その後はt=tと指定して、この起動周期の処理を終える。以後このサイクルは繰り返されるから、電磁弁94は励磁された状態を維持し、従って歩行ロボット1は背伸び動作の姿勢を維持している。
ここで背伸び動作を終了して止めるための指令ビットが発せられると、ステップ166
の結果はYesとなり、ステップ170で電磁弁94にオフ(消磁)指令が出力される。そして、ステップ172に進み、歩行ロボット1の高さを背伸び動作前の状態に戻すFlag−Dのビットが1か否かを調べる。電磁弁94にオフ指令が出された直後は、Flag−D=0なので、ステップ174に進み、タイマーのカウンタCを例えば100に設定する。このカウンタCは起動サイクルごとに1ずつ差し引かれ、0になったときにタイマー設定時間が満了となる。例えば、起動サイクルを2msとすれば、カウンタCの値が100であることは、0.2秒のタイマー設定をしたことを意味する。この時間は、電磁弁94がオフとなって歩行ロボット1の高さが下降し始め、第一接地部位66と第二接地部位64との段差δが零となり、第一接地部位66と第二接地部位64とが同一平面になるまでの時間より長く設定されている。
そして、ステップ176でFlag−Dのビットを1に設定し、t=tとしたあと、この起動周期の処理を終える。次のサイクルではステップ172の結果がYesとなる。そのときは、ステップ173に進みカウンタCを1減じておき、次のステップ175でカウンタの残りが0か否かを調べる。カウンタCの残りが0ではないときはNoに進み、t=tを指定してこの回の処理を終える。この処理を200回繰り返すとステップ175の結果はYesとなる。そのときは、歩行ロボット1は無事地面まで下降しており、ステップ177でFlag−UおよびFlag−Dの値を共に0に設定してこの回の処理を終える。
以上のアルゴリズムを実行することにより、歩行ロボット1は背伸び動作を所望の時間行い再度もとの位置、即ち背伸び動作前の状態に戻る一連の動作を実現できる。
上述した構造の関節50を有する歩行ロボット1においては、歩行時においては、ピストン52の圧力室56は大気側に開放されている。従って、ピストン52はリターンスプリング80によって図2に示す最上位置に保持され、従来技術の歩行ロボット1の歩行時と同じように、脚先部24は一枚の板として機能している。
そして、何らかの必要性から歩行ロボット1の高さを少しばかり高くしたいときは、図6に示すアルゴリズムを実行することで歩行ロボット1の高さが、第一接地部位66と第二接地部位64との間の段差δに応じた高さだけ高くなる。その際、歩行ロボット1の関節50を除く12ケの関節は同じ姿勢角度を取りつづけており、空気圧による垂直駆動の関節50のみが駆動されるから、歩行ロボット1の姿勢が途中で崩れる虞はない。
また、歩行ロボット1が背伸び動作を継続している間は、圧力室56に送られた空気圧が外部からのエネルギー供給を受けない状態で、歩行ロボット1の姿勢が維持されるため、エネルギー消費は基本的に電磁弁94が消費する僅かな電力となる。更に、この状態から歩行ロボット1の高さを下げる際には、単に圧力室56内の圧縮空気を大気側に開放するだけで良く、このときのエネルギー損失はほぼ零である。
ここで、関節50に相当する機構を従来のような回転型の関節として駆動をモータで行うと、歩行ロボット1の高さが増加するに従い歩行ロボット1の姿勢は前のめり状態となるため、関節50以外の足関節を制御して歩行ロボット1の重心変動による均衡をとる必要がある。尚、背伸び動作においては歩行ロボット1の重心を上に持ち上げるのであるため、その過程では理論的に同じポテンシャルエネルギーを必要とするが、背伸び状態を保持する場合においては、歩行ロボット1の姿勢を保つためにモータに通電を続けておく必要がある。更に、歩行ロボット1の高さを下げるときも同様にモータを駆動するため、エネルギーを消費することとなる。一方で、上述した構造の関節50を有する歩行ロボット1においては、このような従来の歩行ロボット1にあるエネルギーの消費を抑制することが可能となる。これは充電池等に搭載したエネルギーで全てのタスクを達成しなければな
らない歩行ロボットにおいても、大きな利点である。
次に、図2に示す関節50を有する歩行ロボット1の第二の実施例について、図7および図8に基づいて説明する。本実施例における歩行ロボット1は、その向きを変更する歩行ロボット1であり、いわゆる「回れ右」の動作を行うものである。
図7に歩行ロボット1の向き変更動作の基本原理を示す。図7(a)は歩行ロボット1の上部から見た脚の動かし方を示している。図7(a)では、歩行ロボット1の重心は図の座標原点Oに一致する。また、このとき、歩行ロボット1は、圧力室56L/Rに高圧空気が供給されてピストン52L/Rが下側方向に移動することで、脚先部24L/Rにおいては第一接地部位66L/Rにおいてのみが、歩行路面と接地している。このときの脚先部24L/Rの位置を太線で示す。また、脚先部24L/Rに作用する分布荷重の中心点をPL、PRとする。この中心点PL、PRが2つの脚先部24L/Rの第一接地部位66L/R(図で点線の円で表示)の中央に来るように関節50を除く脚関節が調節されている場合を想定し、この場合を例にとって歩行ロボット1の向き変更動作について説明する。
図7(a)に示す状態で脚先部24L/Rの方向が歩行ロボット1の胴体に対して変化しないよう固定した状態で、反時計回りに左右両脚を回転させるべく、関節50を除く脚関節に駆動力を与える。しかし、脚先部24L/Rと歩行路面との間には摩擦が存在するため、この駆動力は歩行ロボット1が地球を反時計回りに回転させる動作となる。一方で、ニュートンの作用・反作用の法則によって、歩行ロボット1は地球から時計回りの回転力を受けることとなる。そして地球の慣性モーメントは歩行ロボット1のそれよりも圧倒的に大きいため、結果的に歩行ロボット1が時計方向に回転運動する。このとき、回転軸62を中心とする第一接地部位66L/Rの回転動作によって、歩行ロボット1が回転しその向きが時計回り方向に変更されることになる。
歩行ロボット1の向き変更動作の様子を図7(b)に示す。図7(b)は地球に固定した座標から歩行ロボット1を見た様子を示している。歩行ロボット1の両脚の状態は、図7(a)に示す状態にある左右両脚に、該脚を図7(a)、(b)に示す仮想円TCに沿って動かすべく駆動力を、関節50を除く脚関節によって与える。この仮想円TCは中心点PL、PRを通る円として定義される。本実施例においては、仮想円の中心は、座標原点Oと一致している。
そして、駆動力が左右の両脚に与えられることで、上述したように歩行ロボット1の向きが図7(b)に示すように時計回転方向に変更する。そして、本実施例においては、歩行ロボット1の向きが、PL、PRにおける仮想円TCの接線方向に一致すると、歩行ロボット1の向き変更動作が終了する。その結果、歩行ロボット1は図7(a)の状態から時計方向にθR(座標原点Oを中心とする回転角)だけ旋回する。このとき、歩行ロボットの両脚も点PL、点PRを中心にθS(歩行ロボット1の両脚の荷重中心PL、PRを中心とする回転角)だけ回転するが、幾何学的な関係からθRとθSとは互いに相等しい。
また、脚先部24L/Rの接地部位だけを見ていると、歩行路面と第一接地部位66L/Rとの間の摩擦力が第一接地部位66L/Rと第一樹脂板70との間の摩擦力より大きい場合には、第一接地部位66L/Rは歩行路面に対して不動状態であり、第一樹脂板70を含む第一接地部位66L/Rがピストン52に対して回転摺動運動をしている。ここで、2つの平面が一定の歩行ロボット1の重量を受けながら互いに回転摺動する場合には、回転抵抗は接地面積が広い程大きくなる。そこで、空気圧によって第一接地部位66L
/Rを突出させることで、回転動作時の回転抵抗を減らし、然る後に股関節の関節10L/Rを固定したまま第一接地部位66L/Rの中心が仮想円TCに沿って反時計方向に回転するべく、関節50を除く関節を駆動することで、少ない回転抵抗のもとで、安定した姿勢を保ちながら歩行ロボット1の向き変更動作を実行できる。
更に、膝関節も望ましくは真っ直ぐに伸ばして固定した状態で向き変更動作を行えば、即ち関節10L/Rと関節16L/Rは一定の関節角度を保持したまま向き変更動作を行えば、より少ないエネルギーで向きの変更が行える。
また、本実施例の脚先部24の関節50は、ピストン52と第一接地部位66との間には相対回転運動を少ない摩擦で実現するために、低摩擦係数を持つ第一樹脂板70が介在している。従って、歩行路面の摩擦係数が高いアスファルト路面のような歩行路面であっても、歩行路面と第一接地部位66との間の摩擦係数とは無関係に、ピストン52と第一接地部位66との間の摩擦力が向き変更動作時における抵抗力となる。従って、歩行路面と第一接地部位66との摩擦力に拘わらず、一定の消費エネルギーで向き変更動作が実行し得る。
尚、このことは、歩行ロボット1において、歩行路面がプラスタイルのように滑りやすい路面の場合には電磁弁94に通電することなく(圧縮空気を消耗することなく)、向き変更動作を行うことを否定するものではない。そのような選択は、歩行ロボット1に環境に関する知識ベースを与えておくだけで容易に実施可能である。
更に、向き変更動作時に、本出願人が特願2002−205845で開示している関節制動装置を使って、本実施例における関節10、16の駆動モータにブレーキをかけ、当該関節の駆動モータへの電力供給を停止すれば、より少ないエネルギー消費で向き変更動作を実行できる。
ここで、CPU100による歩行ロボット1の向き変更動作の制御について、図8に基づいて詳細に説明する。図8は、向き変更動作において歩行ロボット1の向きを時計回りの方向とする、いわゆる「回れ右」動作を行うための制御アルゴリズムを示す。以降、図8の制御アルゴリズムの説明については、向き変更動作を回れ右動作と称する。この制御アルゴリズムは、予め決められたCPU100の起動周期ごとに実行されるものとする。
尚、図8に示す制御アルゴリズムは、図6に示す制御アルゴリズムと類似している。そのため、制御アルゴリズムの説明において重複が生じる。そこで、図8および図6に示す制御アルゴリズム中のステップの参照番号の下2桁の番号が両者一致していれば、そのステップにおける機能は同じものとして、その詳細な説明は割愛する。但し、機能が同一のステップについては、図6に示す制御アルゴリズムとの区別のために、図8に示す制御アルゴリズムにおける参照番号の3桁目には200番を使用している。つまり図8に示す200番台のステップは、基本的に第一実施例である図6に示す3桁目が100番台の下2桁が同一のステップと機能は同じであり、回れ右動作に特有のステップは300番台の番号を付するものとする。
図8に示す制御アルゴリズムについて説明する。図8で左半分の処理は先の第一実施例と同じである。これらの処理によって歩行ロボット1の重心位置が、図5に示す第一安定領域B内であって、図7の(a)の原点位置Oにきているものとする。以降、ステップ232での結果がYesとされる場合から説明する。
次の起動サイクルが開始されると、ステップ232の結果はYesとなり、処理プロセス310が処理される。即ち、目標関節角度DθJtが読み込まれる。この歩容データは
回れ右動作のものであり、図6に示す歩容データと区別するために、添字における関節番号をJで表示している。以降の制御パラメータの添字についても同様である。続いてステップ312では、実際の関節角度RθJtと実際の角速度RωJtを読み込み、ステップ313でモータトルクを計算する。トルク計算については、第一実施例の場合と同様に求める。そして、ステップ314でアンプ104にモータトルクの計算結果を出力する。
更に、ステップ316では、回れ右動作が終了したか否かを判断する。最初のステップ316の判断においては、回れ右動作は終了していないため、ステップ318で電磁弁94を励磁するべくオン指令を出力する。
ステップ318からステップ250へ進み、ステップ250で回れ右動作を終了するか否かを判断する。回れ右動作を継続するならばステップ247で周期管理番号tを1つだけ進めてこの回の処理を終える。尚、この処理過程で電磁弁94をオンとしているが、プロセス310における関節角度指令値において、最初の微小時間は各関節が動かないように同じ角度指令値としてメモリに蓄えておけば、電磁弁94が励磁されて、歩行ロボット1が持ち上げられている間、歩行ロボット1の姿勢を不変のものにしておくことができる。
さて、上述の処理が繰り返されると、ステップ316における判断の結果がYesとなり、回れ右動作が終了する。そこで、ステップ320へ進み、電磁弁94をオフする。そのあとは、上述の第一実施例と同じく、歩行ロボット1の高さが下降を続けて脚先部24全体が地面と接地するまでの時間、他の動作制御に移行することを防止する。尚、この期間も、各関節の角度指令値を一定にしたものがメモリに蓄えられているものとする。その結果、歩行ロボット1は姿勢を変えることなく短い時間で足部が地面に着地する。
本実施例における向き変更動作(回れ右動作)を行う歩行ロボット1においては、脚先部24では接地面積こそ狭めているが、歩行路面とは第一接地部位66を介して接地しており、歩行ロボット1の姿勢の安定性が損なわれることはない。また脚関節については、関節10L/R、16L/Rを固定することで、向き変更動作に要するエネルギーを抑制し得る。
また、歩行ロボット1が向き変更動作を行っている最中も、第一接地部位66のみによって接地している状態が、即ち背伸び動作状態が維持されているが、第一実施例で述べたように背伸び動作状態を維持するためのエネルギーは主に電磁弁94が消費する僅かな電力である。また、向き変更動作においては、上述したように両脚が仮想円TCに沿った動きをすべく関節50を除く関節に駆動力が与えられるため、従来から行われている足踏みによる向き変更と比べて消費エネルギーが極めて低い。
上述した第一実施例および第二実施例においては、2本の脚を有する歩行ロボット1を例示したが、4本・6本脚の歩行ロボットでも同じように適用できる。また歩容データを予め作りメモリに収納する方式を例示したが、この方式に限定されるべきではなく、遠隔操作による方法や、その場で状況に応じて歩容を作りだす場合でも適用できる。
また図2において脚先部24の構造で例示したものは、スネリンク32の真下に第一接地部位66を配置したが、これに限定されるべきではない。第一実施例に示す第一接地部位66の位置を脚先部の先端に配置して、即ち、第一接地部位66と第二接地部位64の構造体をそっくり入れ換えて、背伸び動作時において脚先部24の先端に設けられた第一接地部位66が第二接地部位64に対して突出する方向に相対移動するようにしてもよい。その場合、向き変更動作時においては、脚先部24の先端を中心として向き変更が行わ
れる。更に、上述の実施例ではピストン52が直接鉛直方向に第一接地部位66を押し出す構造を例示しているが、ピストン52とシリンダー54を水平に配置して、カムやリンクを介して駆動方向を変えてもよい。また空気圧に限定されるべきではなく、油圧によっても目的を達成してもよい。
次に、歩行ロボットの高さを変更する実施例について、図9に基づいて説明する。図9には、本実施例に係る歩行ロボット1の下半身の概略的な骨格図を示す。尚、図1に示す歩行ロボット1と同一の構成については、同一の参照番号を付することで、その説明を省略する。
本実施例に係る歩行ロボット1においては、上述のスネリンクが上部スネリンク32aL/Rと下部スネリンク32bL/Rとで構成される。そして、上部スネリンク32aL/Rと下部スネリンク32bL/Rとは、関節500L/Rで連結されている。関節500L/Rは、蓄圧タンク90に貯留されている高圧空気によって駆動するピストンを内包している。
そして、蓄圧タンク90から高圧空気が該ピストンに供給されることで、上部スネリンク32aL/Rが下部スネリンク32bL/Rに対して、歩行ロボット1の高さがオフセット的に増加する方向に相対移動する。即ち、高圧空気の供給により、実施例1における関節50L/R中のピストン52の動作に準じた動作が行われることで、上部スネリンク32aL/R以上の歩行ロボット1の構成要素が、下部スネリンク32bL/R以下の歩行ロボット1の構成要素に対して相対移動することになる。
このように構成される歩行ロボット1においては、関節500L/Rに対して高圧空気を供給することで歩行ロボットの高さを変更することが可能となり、高さ変更のための構成を簡易なものとすることが可能となる。また、オフセット的に歩行ロボットの高さを増加させるため、ロボットの高さ変更時において重心位置が大きく変動する虞が低い。従って、高さ変更時における関節500L/R以外の関節の駆動を行う必要性が低くなり、高さ変更に要する消費エネルギーを可及的に抑制し得る。更に、関節500L/Rの動力源を流体圧とすることにより、電気モータ等のように電気エネルギーを動力源とする場合と異なり、歩行ロボット1の高さ変更後は高圧空気の漏れがない限り、歩行ロボット1の高さ維持に要する消費エネルギーは極めて少ない。
尚、本実施例においては、スネリンクの位置に関節500L/Rを設けたが、その代わりに大腿リンク30L/Rの位置に関節500L/Rを設けてもよい。即ち、大腿リンク30L/Rを上部大腿リンク下部大腿リンクに分けてそれぞれの大腿リンクを関節500L/Rにて連結する構造としてもよい。
本発明の実施の形態に係る歩行ロボットであって2本の脚を有する歩行ロボットの下半身の概略的な骨格図を示す図である。
本発明の実施の形態に係る歩行ロボットにおいて、背伸び動作用の関節の詳細な構造を示す図である。
本発明の実施の形態に係る歩行ロボットにおいて、背伸び動作を行うための関節における空気圧制御を行う空気圧制御回路を示す図である。
本発明の実施の形態に係る歩行ロボットにおいて、電磁弁や歩行ロボットの関節のアクチュエータであるモータ等から構成される制御装置の概略構成を示す図である。
本発明の第一の実施例に係る歩行ロボットにおいて、歩行ロボットをその上方から見たもので、歩行ロボットが右脚に対して左脚を少し前に開いて立っている状態を示す図である。
本発明の第一の実施例に係る歩行ロボットにおいて、背伸び動作を行うときの制御に関するフローチャートである。
本発明の第二の実施例に係る歩行ロボットにおいて、向き変更動作の基本原理を示す図である。
本発明の第二の実施例に係る歩行ロボットにおいて、向き変更動作を行うときの制御に関するフローチャートである。
本発明の実施の形態に係る歩行ロボットであって2本の脚を有する歩行ロボットの下半身の概略的な骨格図を示す第二の図である。
符号の説明
1・・・・歩行ロボット
10・・・・関節
12・・・・関節
14・・・・関節
16・・・・関節
18・・・・関節
20・・・・関節
24・・・・脚先部
30・・・・大腿リンク
32・・・・スネリンク
52・・・・ピストン
54・・・・シリンダー
56・・・・圧力室
62・・・・回転軸
64・・・・第二接地部位
66・・・・第一接地部位
80・・・・リターンスプリング
90・・・・蓄圧タンク
94・・・・電磁弁
100・・・・CPU