JP3663034B2 - 脚式移動ロボットの歩容生成装置 - Google Patents
脚式移動ロボットの歩容生成装置 Download PDFInfo
- Publication number
- JP3663034B2 JP3663034B2 JP21395297A JP21395297A JP3663034B2 JP 3663034 B2 JP3663034 B2 JP 3663034B2 JP 21395297 A JP21395297 A JP 21395297A JP 21395297 A JP21395297 A JP 21395297A JP 3663034 B2 JP3663034 B2 JP 3663034B2
- Authority
- JP
- Japan
- Prior art keywords
- joint
- target
- mobile robot
- legged mobile
- leg
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
この発明は、脚式移動ロボットの歩容生成装置、より詳しくは2足(2脚)歩行ロボットなどの脚式移動ロボットの上体の鉛直方向(重力方向)高さを生成する歩容生成装置に関する。
【0002】
【従来の技術】
脚式移動ロボットは上体(基体)およびそれに関節を介して連結される脚(脚部リンク)とからなるが、従来の脚式移動ロボットの歩容生成においては、上体の目標高さを、下記の如く、時刻の多項式で表して上体軌跡を生成していた。
(上記で、Z:上体の目標高さ、t:時刻)
【0003】
また、別の従来技術手法においては、下記の如く、上体の目標高さを、上体の目標水平変位の多項式で表して上体軌跡を生成していた。
(上記で、Z:上体の目標高さ、X:上体の目標水平変位)
【0004】
上記した従来技術手法では、脚の先端部の目標位置・姿勢、上体の目標姿勢も同様の多項式で表現される。また、上体の目標水平位置は、動力学的条件を満足するように、例えばZMPが存在可能範囲に入るように決定され、次いで上体の目標高さ、上体の目標水平位置、上体の目標姿勢、および脚の先端部の目標位置・姿勢に基づいて逆キネマティクス演算によって脚の目標関節角度を求めていた。
【0005】
上記した従来技術手法における上体目標高さ決定ないし生成には、上体の目標水平位置、上体の目標姿勢、および脚の先端部の目標位置・姿勢の影響が反映されていないので、条件を満たす脚の関節角度の組が存在する保証はない。例えば、ある一瞬でも、脚の先端部から上体までの距離が脚の全リンクの長さの和よりも大きいように目標を設定した場合には、脚を真っ直ぐに伸ばしても、条件を満たす姿勢がとれないことは明らかである。
【0006】
そのため、従来技術手法にあっては、シミュレーション上の試行錯誤によって上体の目標高さの関数を決定していた。しかしながら、歩行パターンには平地、斜面、階段歩行、曲線路歩行などの歩行環境の違い、さらに発進/停止、高速/低速歩行などの速度、加減速度の違いなど様々なバリエーションがある。
【0007】
それら全てに対してシミュレーション上の試行錯誤で予め上体の目標高さを設定しておくことは、たとえ有限個の固定パターンに限定しても、極めて大変な作業である。また、脚の関節角度の組が存在する保証がないため、上記した従来技術ではリアルタイムに自在な目標歩容を生成して歩行させることができなかった。
【0008】
更に別の従来技術手法においては、上体の目標水平位置、上体の目標姿勢、および脚の先端部の目標位置・姿勢を、同様に予め与えると共に、少なくとも支持脚の中の1本が伸び切った姿勢、即ち、取り得る姿勢の中で上体が最も高くなる姿勢を条件として上体目標高さとすることも提案されている。この手法では、すべての脚に対して、脚先端部と上体の脚取り付け部との水平距離が脚の長さを越えない限り、必ず上記の条件を満足する姿勢が存在する。
【0009】
しかし、この従来技術手法によるときは、両脚が共に伸び切ったとき、上体の上下動の加速度が不連続になる。例えば、2足歩行の場合、上体の高さの軌跡は伸び切った脚が反対の脚に切り替わるときに折れ曲がり、過大な上下加速度が発生する不都合があった。
【0010】
【発明が解決しようとする課題】
この発明は従来技術の上記した不都合を解消し、脚式移動ロボットにおいて、鉛直方向(重力方向)の上体高さを除くパラメータが与えられるとき、上体の上下動および関節の動きが滑らかで、かつ変位、速度および加速度の振幅が小さくなるように、適正に上体高さを決定できるようにした脚式移動ロボットの歩容生成装置を提供することを目的とする。
【0011】
更に、上体高さを除くパラメータが与えられるとき、歩行中にリアルタイムに上体高さを決定して臨機応変に自在な歩行を実現することを可能とする脚式移動ロボットの歩容生成装置を提供することを第2の目的とする。
【0012】
更には、脚式移動ロボットにおいて、上体高さを除くパラメータが与えられるとき、上体の上下動および関節の動きが滑らかで、かつ変位、速度および加速度の振幅が小さくなるように適正に上体高さを決定すると共に、決定された上体高さを含む軌跡を実現するようにロボットを関節駆動制御するようにした脚式移動ロボットの歩容生成装置を提供することを付随的な目的とする。
【0013】
【課題を解決するための手段】
上記の目的を達成するために、請求項1項にあっては、少なくとも上体と、前記上体に第1の関節を介して連結される複数本の脚部リンクとからなり、前記脚部リンクがその先端部までに少なくとも1個の第2の関節を有してなる脚式移動ロボットの歩容生成装置において、前記上体の水平方向目標位置および前記上体の目標姿勢の少なくともいずれかを含み、前記上体の鉛直方向目標位置を除く、上体軌跡を設定する上体軌跡設定手段、前記脚部リンク先端部の目標位置および目標姿勢の少なくともいずれかを含む脚部リンク軌跡を設定する脚部リンク軌跡設定手段、および前記設定された上体軌跡および脚部リンク軌跡に基づいて前記上体の鉛直方向位置に関する連続関数からなる等式を満足する鉛直方向位置である解を求め、その解を基に前記上体の鉛直方向目標位置を決定する上体鉛直方向目標位置決定手段を備える如く構成した。尚、ここで「上体の鉛直方向位置」は、Z軸上の値に限らず、ZX平面あるいはZY平面上の値であってもよい。
【0014】
請求項2項にあっては、前記上体の鉛直方向位置に関する連続関数からなる等式が、前記第1および第2の関節の少なくともいずれかの変位に関する滑らかな連続関数からなる等式である如く構成した。
【0015】
請求項3項にあっては、前記第1および第2の関節の少なくともいずれかの変位に関する滑らかな連続関数からなる等式が、前記第2の関節の変位および速度の少なくともいずれかに関して対称式となっている如く構成した。
【0016】
請求項4項にあっては、前記上体の鉛直方向位置が大きくなるにつれて前記連続関数の値が単調に変化する如く構成した。
【0017】
請求項5項にあっては、前記上体の水平方向目標位置、前記上体の目標姿勢、前記脚部リンク先端部の目標位置、および前記脚部リンク先端部の目標姿勢の内の少なくともいずれかが、仮想的な値である如く構成した。
【0018】
請求項6項にあっては、前記上体鉛直方向目標位置決定手段は、前記上体の鉛直方向の第2の目標位置をn個(n≧1)決定するn目標位置決定手段、および前記解と前記n個の第2の目標位置との平均値を求める平均値算出手段を備え、求めた平均値に基づいて前記上体の鉛直方向目標位置を決定する如く構成した。
【0019】
請求項7項にあっては、前記平均値が加重平均値である如く構成した。
【0020】
請求項8項にあっては、前記上体鉛直方向目標位置決定手段は、前記解および前記求めた平均値の少なくともいずれかを平滑化する平滑化手段を備える如く構成した。
【0021】
請求項9項にあっては、前記上体鉛直方向目標位置決定手段は、探索法および収束演算の少なくともいずれかを用いて前記解を求める如く構成した。
【0022】
請求項10項にあっては、更に、前記設定された上体軌跡と、脚部リンク軌跡と、決定された上体鉛直方向目標位置に基づいて目標関節角を求める目標関節角算出手段、および前記目標関節角となるように前記第1および第2の関節を変位制御する変位制御手段を含む如く構成した。
【0023】
請求項11項にあっては、前記脚式移動ロボットが2脚を有する歩行ロボットであり、前記第1の関節が股関節、前記第2の関節が膝関節である如く構成した。
【0024】
請求項12項にあっては、前記脚式移動ロボットが3脚以上の脚部を有する多脚歩行ロボットであり、前記第1の関節が付け根股関節、前記第2の関節が膝関節である如く構成した。請求項13項にあっては、少なくとも上体と、前記上体に第1の関節を介して連結される2本の脚部リンクとからなると共に、前記脚部リンクが上腿リンクと下腿リンクとそれらを連結する膝関節とを有してなる脚式移動ロボットの歩容生成装置において、前記2本の脚部リンクの中の支持脚側の前記膝関節の外角をθsup、遊脚側のそれをθswgとするとき、前記2つの外角θsup,θswgからなる連続関数f(θsup,θswg)を用い(ただし、θsup>0、θswg>0)、前記2つの外角θsup,θswgの一方が増加すると、他方が減少するように前記上体の鉛直方向目標位置を決定する如く構成した。請求項14項にあっては、前記第1の関節が股関節であると共に、前記股関節と前記先端部の距離が、前記脚部リンクの上腿リンクと下腿リンクの長さを合わせてなる最長長さ以下となるように前記上体の鉛直方向目標位置を決定する如く構成した。請求項15項にあっては、前記連続関数が前記膝関節の外角に関する滑らかな連続関数であると共に、前記膝関節の外角およびその変化速度の少なくともいずれかに関して対称式となっている如く構成した。請求項16項にあっては、前記上体の水平方向目標位置、前記上体の目標姿勢、前記脚部リンク先端部の目標位置、および前記脚部リンク先端部の目標姿勢の内の少なくともいずれかが、前記ロボットの歩容を決定する実際的な値である如く構成した。請求項17項にあっては、前記上体の水平方向目標位置、前記上体の目標姿勢、前記脚部リンク先端部の目標位置、および前記脚部リンク先端部の目標姿勢の内の少なくともいずれかが、仮想的な値である如く構成した。
【0025】
【作用】
上体の上下動および関節の動きが滑らかで、かつ変位、速度および加速度の振幅が小さくなるように、適正に上体高さを決定することができると共に、上体高さを除くパラメータが与えられるとき、歩行中にリアルタイムに上体高さを決定して臨機応変に自在な歩行を実現することができる。
【0026】
更には決定された上体高さを含む軌跡を実現するようにロボットの関節を変位制御することができる。
【0027】
【発明の実施の形態】
以下、添付図面を参照してこの発明に係る脚式移動ロボットの歩容生成装置を説明する。最初に、脚式移動ロボットとして2足(2脚)歩行ロボットを例にとって説明する。
【0028】
図1はその2足歩行ロボット1を含む装置全体の説明図であり、図2はその2足歩行ロボット1の変数の定義に焦点をおいて示すスケルトン図である。
【0029】
図示の如く、2足歩行ロボット1は左右それぞれの脚部リンク2に6個の関節を備える(理解の便宜のために各関節をそれを駆動する電動モータで示す)。6個の関節は上から順に、股(腰部)の脚部回旋用の関節10R,10L(右側をR、左側をLとする。以下同じ)、股(腰部)のピッチ方向(Y軸まわり。軸方向は図2に示す)の関節12R,12L、同ロール方向(X軸まわり。同様に図2に示す)の関節14R,14L、膝部のピッチ方向の関節16R,16L(前記した第2の関節)、足部のピッチ方向の関節18R,18L、同ロール方向の関節20R,20Lから構成される。
【0030】
足部には足平22R,22Lが取着される。尚、この明細書では、足(foot) を「足平」という。また、最上位には上体(基体)24が設けられ、その内部に図3に関して後述するマイクロコンピュータからなる制御ユニット26などが格納される。上記において股関節(腰関節)(前記した第1の関節)は関節10R(L),12R(L),14R(L)から、足首関節ないし足関節は関節18R(L),20R(L)から構成される。また股関節と膝関節とは大腿リンク28R,28L、膝関節と足関節とは下腿リンク30R,30Lで連結される。
【0031】
上記の構成により、脚部リンク2は左右の足についてそれぞれ6つの自由度を与えられ、歩行中にこれらの6×2=12個の関節を適宜な角度で駆動することで、足全体に所望の動きを与えることができ、任意に3次元空間を歩行させることができる。尚、ロボット1の関節駆動制御において、座標系は図2に示すように、支持脚を基準とする。また、リンク92,94,96の長さは零とする(図1ではこれらのリンクの図示を省略する)。
【0032】
尚、この明細書で上体高さは、上体24の所定位置を意味し、具体的には上体24内の左右中心(図2に符合98で示す)などの代表点を意味する。
【0033】
図1に示す如く、足関節の下方には公知の6軸力センサ44が取着され、力の3方向成分Fx,Fy,Fzとモーメントの3方向成分Mx,My,Mzとを測定し、足部の着地の有無ないしは接地荷重などを検出する。また、上体24には傾斜センサ60が設置され、Z軸(鉛直方向)に対する傾きとその角速度を検出する。また各関節の電動モータには、その回転量を検出するロータリエンコーダが設けられる。
【0034】
図3は制御ユニット26の詳細を示すブロック図であり、マイクロ・コンピュータから構成される。そこにおいて傾斜センサ60などの出力はA/D変換器70でデジタル値に変換され、その出力はバス72を介してRAM74に送られる。また各電動モータに隣接して配置されるエンコーダの出力はカウンタ76を介してRAM74内に入力される。
【0035】
制御ユニット内にはCPUからなる第1、第2の演算装置80,82が設けられており、第1の演算装置80は後述の如く、生成され、ROM84に格納されている歩容パラメータを読み出して上体高さを決定すると共に目標関節角を算出し、RAM74に送出する。また第2の演算装置82はRAM74からその目標値と検出された実測値とを読み出し、各関節の駆動に必要な制御値を算出してD/A変換器86とサーボアンプを介して各関節を駆動する電動モータに出力し、変位制御する。
【0036】
図4はこの装置の構成を示す機能ブロック図であり、図5および図6はこの装置の動作を説明するフロー・チャートであるが、同図の説明に入る前に、図7を用いてこの発明の基本原理を説明する。図7では理解を容易にするためロボット1を2次元で示す。
【0037】
図示の2足歩行ロボット1において、支持脚の膝関節の曲げ角をθsup 、遊脚の膝関節の曲げ角をθswg と定義する。また膝は人間と同様に後方にしか曲がらないものとする。即ち、値θsup およびθswg は正の値とする。足平22R(L)の位置は、具体的には、足首関節18,20R(L)の位置(座標)とする。
【0038】
ここで、θsup とθswg に関する滑らかな連続関数f(θsup,θswg)の例として、次式を設定する。
f(θsup,θswg)=1/sin(θsup)+1/sin(θswg)・・・式1
【0039】
幾何学的な関係で言えば、次式のように、θsup は上体の位置(座標) (Xb, Zb)と支持脚の足平位置(足首座標) (Xsup,Zsup)の関数であり、θswg は上体の位置(座標)(Xb,Zb)と遊脚の足平位置(足首座標)(Xswg,Zswg)の関数である。
θsup =H(Xb,Zb,Xsup,Zsup)・・・式2a
θswg =H(Xb,Zb,Xswg,Zswg)・・・式2b
【0040】
ここで、H(Xb, Zb,X, Z)は幾何学計算により得られ、次式で定義される。
H(Xb,Zb,X, Z)=
acos[{(Xb ‐X)・(Xb‐X )+(Zb‐Z)・(Zb‐Z)}/( 2・L ・L )-1]・・・式3
【0041】
ところで、acosの定義域が[-1,1]であるので、H (Xb,Zb,X,Z) の定義域は、次式を満たす(Xb,Zb,X,Z) の組であることに注意しなければならない。
(Xb‐X )・(Xb‐X )+(Zb‐Z)・(Zb‐Z)≦4 ・L ・L ・・・式4
この式は、股関節と足平位置(足首関節) の距離が、脚の長さ2L以下であることを要求する。
【0042】
式2により、
f(θsup,θswg)=f(H(Xb,Zb,Xsup,Zsup), H(Xb,Zb,Xswg,Zswg)) ・・・式5
が導かれる。
【0043】
このことは、両膝の曲げ角の関数f(θsup,θswg)は、上体の位置(座標)と両足平位置(足首座標)の関数g(Xb,Zb,Xsup,Zsup,Xb,Zb,Xswg,Zswg )に置き換えることができること、即ち、同一関数値を持つことを意味している。
【0044】
但し、g(Xb,Zb,Xsup,Zsup,Xb,Zb,Xswg,Zswg)の定義は、f(H(Xb,Zb,Xsup,Zsup),H(Xb,Zb,Xswg,Zswg))である。関数gの定義域は、以下の式を同時に満足する(Xb,Zb,Xsup,Zsup,Xb,Zb,Xswg,Zswg)の組である。
(Xb-Xsup) ・(Xb-Xsup) +(Zb-Zsup) ・(Zb-Zsup) ≦4 ・L ・L ・・・式6a
(Xb-Xswg)・(Xb-Xswg) +(Zb-Zswg) ・(Zb-Zswg) ≦4 ・L ・L ・・・式6b
上記でgも滑らかな連続関数である。
【0045】
さて、ここで関数g(Xb,Zb,Xsup,Zsup,Xb,Zb,Xswg,Zswg)において、Xb,Xsup,Zsup,Xswg,Zswgを既知変数とし、上体高さZbだけを未知変数とみなすと、関数gは次の性質を持つ。
【0046】
性質1
ある上体の高さに対して(Xb,Zb,Xsup,Zsup,Xswg,Zswg)が式6で与えられる関数gの定義域にあるならば、即ち、股関節から各足平(足首関節)までの距離がいずれも脚の長さ2L以下であるならば、上体の高さZbを高くするにつれて関数g(Xb,Zb,Xsup,Zsup,Xb,Zb,Xswg,Zswg )の値は徐々に大きくなり、いずれかの膝が伸び切る高さまで達すると、無限大になる性質を持っている。
【0047】
この性質は、直接、関数gを解いてgの値とZbの関係を求めても分かるが、gと同一の値を持つ関数fの性質からも容易に導くことができる。即ち、図7において上体の高さZbを高くしていくと、両膝の曲げ角θsup およびθswg は零に近づくので、式1の右辺各項の分母が零に近づき、f(θsup,θswg)の値は徐々に大きくなる。
【0048】
これは、最終的には、θsup またはθswg のいずれかが無限小になったところで、言い換えれば、いずれかの膝が伸び切ったところで式1の右辺のいずれかの項が無限大になり、f(θsup,θswg)の値は無限大になることからも分かる。
【0049】
g(Xb,Zb,Xsup,Zsup,Xb,Zb,Xswg,Zswg)あるいはf(θsup,θswg)にこのような性質があることを踏まえて、次の性質が導かれることを説明する。
【0050】
性質2
通常の歩行においては、ある値C0が存在し、次式7を満足する任意の値Cに対して、常に式8aまたは式8bを満足する上体の高さZbが存在する。
C > C0 ・・・ 式7
f(θsup,θswg )=C ・・・式8a
g(Xb,Zb,Xsup,Zsup,Xb,Zb,Xswg,Zswg)=C ・・・式8b
【0051】
性質2の導出
通常の歩行においては、上体高さZbを適当に設定すれば、股関節から足平(足首関節)までの距離は、脚の長さ2Lよりもある程度余裕を持って小さい。即ち、上体高さZbを適当に設定すれば、式2a、式2b、式3で求められるθsup とθswg が常に次式を満足するδが存在する。
【0052】
θsup >δかつθswg >δ ・・・式9
gとfが同一の値を持つこと、および式1と式9から、上体高さZbを適当に設定すれば、式10が満足される。
g(Xb,Zb,Xsup,Zsup,Xb,Zb,Xswg,Zswg)< 1/sin (δ) +1/sin(δ) ・・式10
【0053】
このときの上体高さから徐々に上体高さを高くすれば、g は徐々に大きくなって無限大まで増大する。これは、次式を満足する任意のCに対して、式8bを満足する上体高さZbが存在することを意味する。
1/sin( δ) + 1/sin( δ) <C <無限大・・・式11
1/sin( δ) +1/sin(δ) をC0とおけば、性質2が得られる。
【0054】
また、性質1から次の性質が導かれる。
【0055】
性質3
式8aまたは式8bを満足する上体高さZbはCを小さくすれば小さくなり(低くなり)、Cを大きくすれば大きく(高くなる)。Cを無限大に大きくすると、上体高さZbは第2の従来技術手法の上体高さに収束する。また、Cを大きくすると、膝関節角度は平均して小さくなるが、加減速度は大きくなる。
【0056】
性質4
関数fが式1の例のように左右の膝関節角に対して対称式になっているならば、一方の脚の先端を持ち上げると、その膝は屈曲し、反対側の脚が伸張する。即ち、脚先端の持ち上げ仕事が全脚に分担されるので、脚の屈伸量が少なくて済む。従って、歩行時の関節角速度絶対値も小さくなる。
【0057】
上記を前提として、この装置の動作を説明する。
【0058】
図4に示す如く、この装置は、足平軌跡算出アルゴリズムおよび上体軌跡算出アルゴリズムを備える。図示しないオフラインにおいて、歩幅、歩行周期などの歩行の特性量が決められ、それに基づいて足の運び方(足平軌跡)が決められて足平軌跡パラメータとして前記した制御ユニット26のROM84に格納される。
【0059】
また、図示しないオフラインにおいて目標ZMPの軌跡が決定され、その決定された目標ZMPを満足するように上体の軌跡パラメータ(あるいは時系列テーブル)が決定され、同様にROM84内に格納される。尚、ZMP(Zero Moment Point )は、歩容によって発生する慣性力と重力の合力の作用線が床面と交わる点であり、慣性力と重力の合力を床面上のある作用点まわりの力とモーメントで表現したときMzを除くモーメントMx,Myが零となる作用点である。
【0060】
格納されているパラメータは逐次読み出されて足平軌跡算出アルゴリズムおよび上体軌跡算出アルゴリズムに入力され、そこで前記した脚部リンク先端部の目標位置および姿勢の少なくともいずれかを含む脚部リンク軌跡、即ち、両脚の足平位置・姿勢(具体的には足首関節18,20R(L)の位置・姿勢)および上体姿勢・水平位置が算出される。
【0061】
より具体的には、図5フロー・チャートに示す如く、S10から開始した後、S12に進んで刻み時間Δt(制御周期。例えば10ms)ごとのタイマ割り込みを待機し、割り込みがあるとS14に進んで時刻tをΔtだけ更新し、S16に進んで時刻t(現在時刻)における目標上体水平位置(Xb,Yb)、目標上体姿勢 (θxb, θyb, θzb)、両脚の目標足平(足首関節)位置(Xsup,Ysup,Zsup,Xswg,Yswg,Zswg)および姿勢 (θxsup, θysup, θzsup, θxswg, θyswg, θzswg) を算出する。これらの値は瞬時値である。
【0062】
次いでS18に進んで目標上体高さZbを算出する。換言すれば、この装置においては上体高さをリアルタイムに算出する。
【0063】
図6はその目標上体高さ決定アルゴリズムを示すサブルーチン・フロー・チャートである。
【0064】
尚、図6に示すアルゴリズムは前述の基本原理を3次元に拡張したものである。前述の基本原理との対応を説明すると、まず、関節角に関する連続関数fとして、次式を選んでいる。
f(θsup,θswg)=1/sin(θsup)+1/sin(θswg)・・・・・式12
【0065】
また、上体高さを決定するための等式として以下の式(先の2次元での説明の式8aに相当)を選んだ。尚、値Cはここでは定数とした。
f(θsup,θswg )=C ・・・式13
【0066】
この実施の形態では、式12、式13を満足する上体高さを目標上体高さとして決定するようにした。尚、上体高さを直接的に解くことができないのでニュートン法による収束演算(あるいは探索法)を用いて求める。
【0067】
以下、図6のフローチャートを説明すると、先ずS100において目標上体高さZbを仮決めする。これは、目標上体高さZbを収束演算によって求めるための初期値である。
【0068】
続いてS102を経てS104に進み、前記した目標上体水平位置(Xb, Yb)、仮目標上体高さZb、目標上体姿勢(θxb, θyb, θzb)、両脚についての目標足平(足首関節)位置・姿勢(Xsup, Ysup, Zsup, θxsup, θysup, θzsup, Xswg, Yswg, Zswg, θxswg, θyswg, θzswg) から、幾何学演算によって支持脚の目標股関節位置(座標)と遊脚の目標股関節位置(座標)を求め、さらに支持脚の目標股関節位置(座標)と目標足平位置(足首関節座標)の差(「△Xsup, △Ysup, △Zsup」という)と遊脚の目標股関節位置(座標)と目標足平位置(足首関節座標)の差(「△Xswg, △Yswg, △Zswg」という)を求める。
【0069】
続いてS106に進み、三角関数の定理に基づいて図示の式に従って支持脚膝関節角θsup と遊脚膝関節角θswg を求める。続いてS108に進み、等式13の両辺の値の差Err を求める。具体的には、図示の如く、式12の右辺から定数Cを減算して差Err を算出する。
【0070】
続いてS110に進み、Err の絶対値が収束演算の許容値以内か、言い換えれば許容できるほどに十分小さいか否かを判断する。S110で許容値以内、即ち、十分小さいと判断されるときはS112に進み、そのときの上体高さZbを目標上体高さに決定してプログラムを終了する。
【0071】
他方、S110で否定されるときはS114に進み、図示の感度式によって感度Sを求める。尚、この式は差Err の式をZbで偏微分して得たものである。続いてS116に進み、そのときの目標上体高さに‐S ・Err を加えた値、即ち、差Err に感度Sを乗じた積をZbから減算した値を新たな上体高さ候補値としてZbに代入し、S104に戻る。
【0072】
尚、関数の非線形性が強い領域では目標上体高さに−S ・Err を加えた値が関数の定義域を超える場合があるので、その際には目標上体高さ候補値の変更量を控えめにするのが望ましい。
【0073】
図5フロー・チャートに戻ると、続いてS20に進んで目標上体水平位置(Xb,Yb )、目標上体高さZb、目標上体姿勢(θxb, θyb, θzb)、両脚の目標足平(足首関節)位置・姿勢(Xsup, Ysup, Zsup, θxsup, θysup, θzsup, Xswg, Yswg, Zswg, θxswg, θyswg, θzswg) から公知の逆キネマティクス演算によって目標全関節角、即ち、関節10R(L),12R(L)など12個の関節の目標角度を求める。求めた関節角は前記したRAM74に格納する。
【0074】
次いでS22に進み、求めた目標関節角となるように、前記した演算装置2においてロボットの全関節角が変位制御される。但し、この関節角サーボ制御は公知であるので、説明を省略する。また、実際にはコンプライアンス制御によって目標足平位置・姿勢などが修正されてから関節角が求められるが、これもこの発明の要旨とは直接の関連を有しないので、説明を省略する。
【0075】
この実施の形態は上記の如く構成したので、鉛直方向(重力方向)の上体高さを除くパラメータが与えられるとき、上体の上下動および関節の動きが滑らかで、かつ変位、速度および加速度の振幅が小さくなるように、適正に上体高さを決定することができる。
【0076】
更に、前記したように歩行中にリアルタイムに上体高さを決定することができ、それに基づいて関節駆動制御することができるので、臨機応変に自在な歩行を実現することができる。
【0077】
更に、等式が膝関節角に対して対称式となっていることから、一方の脚先端を持ち上げるとその膝が屈曲し、他方の脚を伸張させることができ、脚先端の持ち上げ仕事を両脚に分担させることができ、膝の屈伸量を低減して歩行時の関節角速度絶対値も小さくすることができ、最適に上体高さを決定ないし生成することができる。
【0078】
更に、上体の鉛直方向位置が大きくなるにつれて連続関数の値は単調に変化(増加)し、前記上体の鉛直方向位置が最大になったとき無限大となることから、解を必ず求めることができ、これによっても最適に上体高さを決定ないし生成することができる。尚、無限大まで増加(増大)しなくても、十分に大きい値まで増加(増大)するものであれば良い。
【0079】
図8はこの発明の第2の実施の形態に係る装置の構成を示す機能ブロック図であり、図9はその動作を示すフロー・チャートである。
【0080】
第2の実施の形態では、図8に示す如く、第1の実施の形態の上体高さ決定アルゴリズムに与えられる足平軌跡の一部に、仮想の足平軌跡を与えるようにした。より具体的には図10に示すように、足平(遊脚足平)の目標位置の軌跡を、実ロボットが本来追従すべき目標値からややずらした仮想軌跡に置き代えるようにした。
【0081】
図9は第2の実施の形態に係る装置の動作、即ち、上体高さ決定アルゴリズムを示すフロー・チャートである。尚、歩容生成に関するメインアルゴリズムは第1の実施の形態の図5と同様である。
【0082】
以下説明すると、S200において仮想遊脚足平(足首関節)位置を求める。これは、図8に示すように予め設定された仮想(遊脚)足平軌跡パラメータに基づいて算出される。続いてS202に進んで目標上体高さZbを仮決めし、S204を経てS206に進んで第1の実施の形態と同様に座標上の位置の差を求める。
【0083】
以下、S208ないし218を経て第1の実施の形態の図6フロー・チャートと同様な処理を行う。パラメータの一部が仮想値である点を除くと、第2の実施の形態の処理は、第1の実施の形態のそれと異ならない。
【0084】
第2の実施の形態は上記の如く構成したので、第1の実施の形態と同様に、上体高さを除くパラメータが与えられるとき、上体の上下動および関節の動きが滑らかで、かつ変位、速度および加速度の振幅が小さくなるように上体高さを適正に決定することができると共に、歩行中にリアルタイムに上体高さを決定して臨機応変に自在な歩行を実現することができる。
【0085】
尚、第1の実施の形態に較べると、場合によっては決定された上体高さを満足する実ロボットの姿勢(全関節角の組)が存在する可能性が幾分低くなるが、遊脚足平の仮想軌跡を操作することによって、図11に示すように、上体の高さを意図的に変化させることができる。
【0086】
例えば、上体の上下運動をやや遅らせたい場合には、遊脚足平の仮想位置を目標位置よりもやや遅れ気味に移動させれば良い。これによって例えば、上体の下方加速度が大きくて足平22R(L)の接地圧が低くなる時刻を、スピン力モーメントが大きくなる時刻からずらしてスピンを防止することも可能となる。尚、遊脚について仮想的な軌跡を与える例を示したが、支持脚についても同様であることは言うまでもない。
【0087】
図12はこの発明の第3の実施の形態に係る装置の動作を説明する遊脚足平軌跡の説明図であり、図13は第3の実施の形態に係る装置で得られる上体軌跡の説明図である。
【0088】
第3の実施の形態は第2の実施の形態の変形例であり、仮想遊脚足平軌跡の鉛直方向高さを本来の軌跡より低く設定した。即ち、図12において実線はX軸方向についての、歩幅、歩行周期などの歩行の特性量から決められた本来的な足平軌跡を示すが、それに対して想像線で示すように、意図的に鉛直方向高さを小さくした遊脚足平軌跡を仮想的に与えるようにした。
【0089】
図13はそれによって決定される上体高さを示す。実線は本来的な足平軌跡に基づいて決定された値であり、想像線が仮想軌跡による値を示す。図示の如く、遊脚足平軌跡の鉛直方向高さを下げることにより、上体高さも低くすることができる。
【0090】
即ち、図示の2足歩行ロボット1の歩行制御において、上体高さを小さくすると、換言すれば重心軌跡を低くすると、膝関節16R(L)を曲げて歩行することになり、常時大きな保持トルクが必要になる。他方、重心軌道が高過ぎると、重心の上下動が大きくなって路面反力の上下成分(上下加速度)の変動振幅が増え、路面との接地性が悪化したり、路面からの衝撃力が増加する。
【0091】
第3の実施の形態は上記の如く構成したことで、必要に応じて上体高さを低くすることができ、上下加速度を低減させた歩行を実現することができる。
【0092】
図14はこの発明の第4の実施の形態に係る装置の構成を示す機能ブロック図である。
【0093】
第4の実施の形態も、第3の実施の形態と同様に、第2の実施の形態の変形例であり、図示の如く、3種の足平軌跡パラメータを与えるようにした。即ち、仮想足平軌跡パラメータ1、本来の足平軌跡パラメータおよび仮想足平軌跡パラメータ2からなる3種のパラメータを用意すると共に、仮想足平軌跡算出アルゴリズムを3個設け、それぞれに入力するようにした。
【0094】
仮想足平軌跡算出アルゴリズム2で算出される足平位置・姿勢(前述の如く具体的には足首関節の位置・姿勢)は、第1の実施の形態で述べた本来的な標準値である。他方、仮想足平軌跡算出アルゴリズム1で算出される仮想足平位置・姿勢は標準値よりも時間的に早めに移動するものであり、仮想足平軌跡算出アルゴリズム3で算出される仮想値は標準値よりも遅めに移動する仮想値である。
【0095】
同様に、上体高さ決定アルゴリズムも3個用意され、上体高さアルゴリズム2で決定される第1の実施の形態で述べた標準的な値Zb2 に対し、上体高さアルゴリズム1,3で決定される値Zb1,3 は、上体高さのピーク値が発生する時刻がずれるように決定される。
【0096】
決定された3個の値は次いで平均ブロックに入力され、そこで単純平均値Zbavが算出される。かく求められた上体高さおよびその他のパラメータに基づいて逆キネマティクス演算ブロックでは目標全関節角が算出される。
【0097】
第4の実施の形態は上記の如く構成したので、従前の実施の形態と同様の効果を奏すると共に、図示の如く、3個の波形の平均値Zbavを求めることで原波形に対して振幅を小さくすることができ、結果的に上体高さを小さくすることができる。これによって階段を昇降するときなど膝の屈伸の大きい歩行を行う際にも、上下動を低減して路面反力を低減することができる。
【0098】
ここで、第2ないし第4の実施の形態で用いた仮想遊脚足平軌跡を生成する具体的な手法を以下に列挙する。
a )遊脚足平の軌跡を時間の多項式によって生成する場合には、多項式の係数をずらす。
b )遊脚足平の軌跡を、本出願人が先に提案したフィルタ(特開平5−324115号記載の技術)を用いて生成する場合には、その時定数をずらす。
c )遊脚足平の目標軌跡に、所定のずらし量の時間関数を加える。
【0099】
また、第2ないし第4の実施の形態において、上体の目標姿勢・目標水平位置、足平の目標姿勢の軌跡を変えても良い。
上体の目標水平位置をずらす場合の例を以下に示す。
a )目標上体水平軌跡が、予めデータテーブルで記憶されている場合には、データテーブルの先読みをする、即ち、現在時刻tよりもある時間先の目標上体位置を読み出せば良い。過去の値も考慮して、より一般的にするならば、数1に示すようになろう。
【0100】
【数1】
【0101】
b )現在の目標上体水平位置をフィルタに通す。例えば、フィルタの伝達関数を
(TnS +l)/(TdS +1 )
に設定すると、Tn>Tdにすれば、フィルタを通した上体軌跡は元の軌跡よりも時間的に先行する。
【0102】
図15はこの発明の第5の実施の形態に係る装置の構成を示す機能ブロック図であり、図16はその動作、即ち、上体高さ決定アルゴリズムを示すフロー・チャートである。
【0103】
第5の実施の形態では、図15に示す如く、第1の実施の形態ないし第4の実施の形態によって求めた上体高さをフィルタ(ローパスフィルタ)にかけて平滑化処理を行うようにした。
【0104】
以下、第5の実施の形態に係る上体高さ決定アルゴリズムを図16フロー・チャートを参照して説明する。尚、歩容生成に関するメインアルゴリズムは第1の実施の形態の図5と同様である。
【0105】
以下説明すると、S300において第1の実施の形態で述べた上体高さ決定ルーチン(図6フロー・チャート)を実行し、上体高さZbを求める。尚、上体高さは刻み時間Δtごとに算出されるが、それを歩行の1周期にわたって示すと、先に図11に示したような波形(ここで「原波形」という)として捉えることができる。
【0106】
続いてS302に進んで求めた上体高さにフィルタ演算を行い、目標上体高さを求める。このように、出力(原波形)をローパスフィルタにかけることで所定値以上の周波数成分を遮断することができ、目標上体高さ(波形値)を平滑化することができる。
【0107】
第5の実施の形態は上記の如く構成したことで、従前の実施の形態の効果に加えて平滑化処理により上体の上下加速度振幅を一層小さくすることができる。
【0108】
他方、このような構成によって、関節角の速度振幅、加速度振幅が大きくなる欠点がある。また、決定された上体高さを満足する実ロボットの姿勢(全関節角の組)が存在する可能性が低くなる。例えば、階段を降りるときには、平滑化によって上体高さがなかなか下がらないために、適正な姿勢保持が困難となる恐れもある。
【0109】
図17はこの発明の第6の実施の形態に係る装置の構成を示す機能ブロック図であり、図18はその動作、即ち、上体高さ決定アルゴリズムを示すフロー・チャートである。
【0110】
第6の実施の形態にあっては、第1の実施の形態を用いて得た目標上体高さ(第1原波形と言う)と、上体高さを一定に保つという第1の従来技術手法で得た目標上体高さ(第2原波形と言う)の加重平均をとって目標上体高さを得るようにした。
【0111】
図18フロー・チャートを参照して第6の実施の形態に係る装置の上体高さ決定アルゴリズムを説明する。尚、歩容生成に関するメインアルゴリズムは第1の実施の形態の図5と同様である。
【0112】
先ずS400において第1の実施の形態で図6に関して述べた処理を行って現在時刻での目標上体高さ(第1原波形)を得る。続いてS402に進んで先に第1の従来技術手法として述べた時刻の多項式を用いて現在時刻での目標上体高さ(第2の原波形)を求める。
【0113】
続いてS404に進んで現在時刻(時刻t)での重みW1,W2を決定する。但し、重みW1,W2は、W1+W2=1を満足し、W1,W2それぞれの時間変化が滑らかであるように決定する。続いてS406に進んで加重平均値を算出する。即ち、第1、第2の原波形値に決定した重みW1,W2を乗じて得た積を合算し、合算値を目標上体高さとする。
【0114】
第6の実施の形態にあっては上記の如く構成することで、従前の実施の形態での効果に加えて、目標上体高さについて、第1原波形に対して例えば第2の原波形をある一定値h0にすると、上下振幅をW1倍に低減することができる。但し、h 0 を高くし過ぎると、上体高さが大きくなり過ぎ、上体高さを満足する実ロボットの姿勢(全関節角の組)が存在しなくなる恐れがある。
【0115】
尚、第6の実施の形態では原波形が2つの例を示したが、3個以上にも拡張可能である。更に、加重平均するようにしたが、単純平均などでも良い。
【0116】
また、第6の実施の形態では、第2原波形は、従来技術手法、逆に言えば、第1の実施の形態ないし第5の実施の形態に示した手法以外の手法を用いて得るようにしたが、第1の実施の形態ないし第5の実施の形態のいずれかを用いて得ても良い。
【0117】
例えば、第1の実施の形態、第2の実施の形態、あるいは第3ないし第5の実施の形態を用いて少なくとも1個の上体高さ原波形を求め、更にその波形を含めた複数の上体高さ原波形を生成してそれらの原波形の加重平均を求め、それを目標上体高さとしても良い。
【0118】
更に、以下の手法によって原波形を得ても良い。
a )一定値(数学的には、多項式に含まれる概念である)
b )多項式などの時間関数(代表例をこの実施の形態で述べた)
c )フィルタなどの逐次演算によって得られる波形
d )時系列データテーブルを予め用意しておき順に吐き出す手法
e )オフラインで第1の実施の形態を用いて1歩分の原波形を得、これを第1テーブルに保存し、次に第1テーブルの後ろから(後刻側)保存データを逆に読み出し、フィルタに通して第2テーブルの後ろから(後刻側)格納し、実歩行時には第2テーブルの始めから吐き出す手法。(即ち、時間を逆向きにしてフィルタ処理をした原波形を生成する手法)。
【0119】
第5の実施の形態と異なり、手法eは階段を降りるときに処理後の目標上体高さが原波形よりも低くなるので、目標上体高さを満足する実ロボットの姿勢(全関節角の組)が存在する可能性が高い。従って、上体の上下加速度を低滅したい場合には有効な手段である。ただし、リアルタイムに自在な歩行を実現するには不向きである。
【0120】
図19はこの発明の第7の実施の形態に係る装置の構成を示す機能ブロック図であり、図20はその動作を示すフロー・チャートである。
【0121】
第7の実施の形態にあっては、第6の実施の形態+第5の実施の形態を用いて得た目標上体高さをさらに平滑化し、より一層滑らかな上体軌跡を得るようにした。
【0122】
図20フロー・チャートを参照して第7の実施の形態に係る上体高さ決定アルゴリズムを説明する。尚、歩容生成に関するメインアルゴリズムは第1の実施の形態の図5と同様である。
【0123】
以下説明すると、S500ないしS506において第6の実施の形態と同様の処理を行って目標上体高さを得た後、S508に進んで得た値に第5の実施の形態と同様のフィルタ演算を行う。
【0124】
第7の実施の形態は上記の如く構成したので、第1の実施の形態の効果に加え、第6あるいは第5の実施の形態に比較して一層滑らかな上体軌跡を得ることができる。
【0125】
図21はこの発明の第8の実施の形態に係る装置の構成を示す機能ブロック図である。
【0126】
第8の実施の形態にあっては、図示の如く、第7の実施の形態の構成を並列させるようにした。即ち、第1原波形と第2原波形をそれぞれ加重平均して第5原波形を生成すると共に、第3原波形と第4原波形を重みW3,W4を用いつつ加重平均して第6原波形を並列的に生成し、それを重みW5,W6を用いつつ加重平均して目標上体高さを求めるようにした。ここで、重みW1,W3,W5、あるいはW2,W4,W6は、それぞれ異なる値でも同一な値でも良い。
【0127】
第8の実施の形態においては上記の如く構成したことで、構成としては従前の実施の形態に比較して複雑になるが、更に一層滑らかな上体軌跡を得ることができる。
【0128】
尚、これ以上に平滑化あるいは加重平均を繰り返す手法も考えられるが、演算処理量の割には効果は余り期待することができない。上体の上下加速度は低減しても、関節の速度、加速度は、逆に増加する傾向があるからである。
【0129】
図22はこの発明の第9の実施の形態に係る装置の構成を示す説明図である。第9の実施の形態においては4足(4脚)歩行のロボットを対象とし、その歩容を生成するようにした。
【0130】
以下説明すると、図示の4足歩行ロボット100は、上体(基体)102と、それに付け根関節104(前記した第1の関節)を介して連結される4本の脚部リンク106からなる。4本の脚部リンク106はそれぞれ、その先端(脚先端)108との間に膝関節110(前記した第2の関節)を備える。図示はしないが、各関節にはアクチュエータが設けられる。
【0131】
図示の4足歩行ロボット100においても従前の実施の形態での2足歩行ロボット1と同様に、上体102の水平位置(Xb, Yb)および姿勢(θxb, θyb,θzb)を求め、次いで上体の高さZbを求めて関節104,110を駆動制御し、よって図に矢印で示す方向に進行させることができる。
【0132】
上記で、図23に示す如く上体高さZbは、上体102の底面の中心102aと床面112との鉛直方向(重力方向)距離で示す。また4本の脚部リンク106の膝関節110の角度をθn、脚先端108の位置を(Xn, Yn, Zn)(n:1〜4)で示す。
【0133】
第9の実施の形態に係る装置の動作を図24フロー・チャートを参照して説明すると、S600からS604まで従前の実施の形態と同様の処理を行った後、S606に進んで時刻tにおける目標上体水平位置(Xb, Yb)、目標上体姿勢(θxb, θyb,θzb)、および目標脚先端位置(Xn,Yn, Zn )(n:1〜4)を求め、S608に進んで目標上体高さZbを求める。
【0134】
図25はその作業を示すサブルーチン・フロー・チャートであり、以下説明すると、S700,S702を経てS704に進み、目標上体水平位置(Xb,Yb)、仮目標上体高さZb、上体姿勢(θxb, θyb,θzb)、および脚先端位置(Xn, Yn, Zn)から、各脚の目標付け根関節104の位置(座標)と目標脚先端108の位置の差(ΔXn,ΔYn,ΔZn)を求める。図23にこれらの値を示す。
【0135】
次いでS706に進んで求めた差から図示の式を用いて膝関節角θnを求める。次いでS708に進んで差Err を図示の如く算出し、S710に進んで差(絶対値)が許容値以内か否か判断し、肯定されるときはS712に進むと共に、否定されるときはS714に進んで感度Sを求め、S716において値Zbを補正する。ここで、感度Sは同図末尾に示すように算出される。
【0136】
第9の実施の形態は上記の如く構成したことから、4足(4脚)歩行ロボットにおいても、2足(2脚)歩行ロボットと同様に最適に上体高さを求めることができる。尚、4足歩行ロボットの例を示したが、3足あるいは5足以上の脚部を有するロボットであっても同様である。
【0137】
上記の如く、少なくとも上体24と、前記上体に第1の関節10,12,14R(L)を介して連結される複数本の脚部リンク2とからなり、前記脚部リンクがその先端部までに少なくとも1個の第2の関節16R(L)を有してなる脚式移動ロボットの歩容生成装置において、前記上体の水平方向目標位置および姿勢の少なくともいずれかを含み、前記上体の鉛直方向目標位置を除く、上体軌跡を設定する上体軌跡設定手段(S16)、前記脚部リンク先端部の目標位置および姿勢の少なくともいずれかを含む脚部リンク軌跡を設定する脚部リンク軌跡設定手段(S16)、および前記設定された上体軌跡および脚部リンク軌跡に基づいて前記上体の鉛直方向位置に関する連続関数からなる等式を満足する解を求め、その解を基に前記上体の鉛直方向目標位置を決定する上体鉛直方向目標位置決定手段(S18,S100ないしS116,S200ないしS218,S300ないしS302,S400ないしS406,S500ないしS508,S608,S700ないしS716)を備える如く構成した。
【0138】
また、前記上体の鉛直方向位置に関する連続関数からなる等式が、前記第1および第2の関節、具体的には第2の関節16R(L)の少なくともいずれかの変位に関する滑らかな連続関数からなる等式である如く構成した。
【0139】
また、前記第1および第2の関節の少なくともいずれかの変位に関する滑らかな連続関数からなる等式が、前記第2の関節16R(l)の変位および速度の少なくともいずれか、具体的には変位に関して対称式となっている如く構成した。
【0140】
また、前記上体の鉛直方向位置が大きくなるにつれて前記連続関数の値が単調に変化する如く構成した。
【0141】
また、前記上体の水平方向目標位置あるいは姿勢および前記脚部リンク先端部の目標位置あるいは姿勢の少なくともいずれかが、具体的には足平22R(L)、より具体的には遊脚足首関節18,20R(L)などが仮想的な値である如く構成した。
【0142】
また、前記上体鉛直方向目標位置決定手段は、前記上体の鉛直方向の目標位置をn個(n≧1)決定するn目標位置決定手段(S400ないしS402,S500ないしS502)、および前記解と前記n個の目標位置との平均値を求める平均値算出手段(S404,S406,S504,S506)を備え、求めた平均値に基づいて前記上体の鉛直方向目標位置を決定する如く構成した。
【0143】
また、前記平均値が加重平均値(S404,S406,S504,S506)である如く構成した。
【0144】
また、前記上体鉛直方向目標位置決定手段は、前記解と求めた平均値の少なくともいずれかを平滑化する平滑化手段(フィルタ、S302,S508)を備える如く構成した。
【0145】
また、前記上体鉛直方向目標位置決定手段は、探索法あるいは収束演算の少なくともいずれかを用いて前記解を求める如く構成した。
【0146】
また、更に、前記設定された上体軌跡と、脚部リンク軌跡と、決定された上体鉛直方向目標位置に基づいて目標関節角を求める目標関節角算出手段(S20)、および前記目標関節角となるように前記第1および第2の関節を変位制御する変位制御手段(S22)を含む如く構成した。
【0147】
また、前記脚式移動ロボットが2脚を有する歩行ロボットであり、前記第1の関節が股関節10,12,14R(L)、前記第2の関節が膝関節16R(L)である如く構成した。
【0148】
また、前記脚式移動ロボットが3脚以上の脚部を有する多脚歩行ロボットであり、前記第1の関節が付け根股関節104、前記第2の関節が膝関節110である如く構成した。
【0149】
以上、この発明を第1の実施の形態から第9の実施の形態までを参照して説明してきたが、ここで第1の実施の形態などで述べた構成について付言すると、滑らかな連続関数f(θsup,θswg )としては、式1以外でも良いが、θsup またはθswg が零またはある小さい値に近づくとf(θsup,θswg )の値が極めて大きくなるように選ぶのが望ましい。
【0150】
尚、f=Cは、1/f=1/Cや−f=−Cなどに変形することができるので、上記した実施の形態で挙げた単調連続関数fの代わり、1/fや−fを新たな連続関数として置き換えれば、その関数は単調減少関数となる。従って、関数としては、単調減少関数であっても良い。
【0151】
また、第1の実施の形態では、滑らかな連続関数fとして膝関節に関する関数を選んでいるが、その他の関節に関する関数であったり、全関節に関する関数であっても良い。そのような場合でも、図示のロボットでは全ての関節角は上体の位置・姿勢と脚先端部の位置・姿勢から逆キネマティクス演算によって求めることができ、関節角に関する関数fは上体高さに関する関数gに変換することができるので、第1の実施の形態の手法で上体高さを決定することができる。
【0152】
また、連続関数fとしては、関節変位だけではなく、関節速度に関する項を含んでいても良い。
【0153】
また、上体高さを重力方向について求めたが、絶対的に重力方向に対しての値でなくても良く、例えば重力方向について傾斜した軸に関する上体高さであっても良い。
【0154】
一方の脚の関節数が6個を超えるロボットでは、上体の位置・姿勢と脚先端部の位置・姿勢を決めても、関節角を一義的には決定できない。この場合でも、関節角に関するある拘束式を与えれば、関節角を一義的に決定することができる。こうすれば、第1の実施の形態と同様の手法で上体高さを決定することができる。
【0155】
値Cは第1の実施の形態では定数であったが、時変であっても良い。基本原理の性質2から、Cがある値以上であれば、等式を満足する上体高さの解が存在するからである。但し、ロボットの動きを滑らかにするためには、Cは滑らかに変化させるべきである。関数fおよび関数gも時変形であっても良い。
【0156】
ロボットの構造が図示のように左右対称である場合には、関節角の関数fとして、左右関節に対する対称式を採用すれば、左右対称の歩行を得ることができる。
【0157】
また、従前の実施の形態で用いた重みWは、総和が常に1になっていれば、時間によって変化させても良い。但し、滑らかに変化させないと、上体の上下加速度が過大になる。滑らかに変化させる手法として、先に本出願人が提案したフィルタ(特開平5−324115号公報記載の技術)を用いても良い。
【0158】
また、原波形と複数の異なる原波形との間の加重平均を行えば、上体の上下加速度振幅を小さくすることができる。但し、関節角の速度振幅、加速度振幅は大きくなる傾向がある。また、目標上体高さを満足する実ロボットの姿勢(全関節角の組)が存在する可能性が低くなる場合がある。
【0159】
また、この発明を2足歩行ロボットおよび4足歩行ロボットに関して説明してきたが、それらに限らず、3足あるいは5足以上の多脚ロボットにも応用することができる。それが壁面移動ロボットであれば、「上体高さ」は壁面から上体までの垂直距離と置き換えられよう。
【0160】
また、歩行状態および/または外界センサによる環境情報によって各種の実施の形態に挙げた手法を切り換える、あるいは加重平均の重みを変更するようにしても良い。
【0161】
【発明の効果】
上体の上下動および関節の動きが滑らかで、かつ変位、速度および加速度の振幅が小さくなるように、適正に上体高さを決定することができると共に、上体高さを除くパラメータが与えられるとき、歩行中にリアルタイムに上体高さを決定して臨機応変に自在な歩行を実現することができる。
【0162】
更には決定された上体高さを含む軌跡を実現するようにロボットの関節を変位制御することができる。
【図面の簡単な説明】
【図1】この発明に係る脚式移動ロボットの歩容生成装置を全体的に示す説明図である。
【図2】図1に示す2足歩行ロボットについてパラメータなどを定義するスケルトン図である。
【図3】図1に示す装置の制御ユニットの詳細を示すブロック図である。
【図4】この発明に係る脚式移動ロボットの歩容生成装置の構成を示す機能ブロック図である。
【図5】図4の装置の動作を示すメイン・フロー・チャートである。
【図6】図5のフロー・チャートの上体高さ決定作業を示すサブルーチン・フロー・チャートである。
【図7】図1および図2に示す2足歩行ロボットを2次元モデルとして示した説明図である。
【図8】この発明の第2の実施の形態に係る装置の構成を示す機能ブロック図である。
【図9】図8の装置の動作の中の上体高さ決定作業を示すサブルーチン・フロー・チャートである。
【図10】図9のフローチャートで用いる遊脚足平仮想軌跡を示すタイミング・チャートである。
【図11】図10の仮想遊脚足平軌跡に対する上体の軌跡を示すタイミング・チャートである。
【図12】この発明の第3の実施の形態に係る装置の動作を示す遊脚足平軌跡を示す説明図である。
【図13】図12の装置で生成される上体高さを示すタイミング・チャートである。
【図14】この発明の第4の実施の形態に係る装置の構成を示す機能ブロック図である。
【図15】この発明の第5の実施の形態に係る装置の構成を示す機能ブロック図である。
【図16】図15の装置の動作の中の上体高さ決定作業を示すサブルーチン・フロー・チャートである。
【図17】この発明の第6の実施の形態に係る装置の構成を示す機能ブロック図である。
【図18】図17の装置の動作の中の上体高さ決定作業を示すサブルーチン・フロー・チャートである。
【図19】この発明の第7の実施の形態に係る装置の構成を示す機能ブロック図である。
【図20】図19の装置の動作の中の上体高さ決定作業を示すサブルーチン・フロー・チャートである。
【図21】この発明の第8の実施の形態に係る装置の構成を示す機能ブロック図である。
【図22】この発明の第9の実施の形態に係る装置で、4足歩行ロボットに適用された例を示す説明図である。
【図23】図22の装置の中のパラメータの定義を示す説明図である。
【図24】この発明の第9の実施の形態に係る装置の動作を示すメイン・フロー・チャートである。
【図25】図24の装置の動作の中の上体高さ決定作業を示すサブルーチン・フロー・チャートである。
【符号の説明】
1 2足歩行ロボット(脚式移動ロボット)
2 脚部リンク
10,12,14R,L 股関節(第1の関節)
16R,L 膝関節(第2の関節)
18,20R,L 足関節
22R,L 足平(脚部リンク先端部)
24 上体
26 制御ユニット
100 4足歩行ロボット(脚式移動ロボット)
102 上体
104 付け根関節(第1の関節)
106 脚部リンク
108 脚先端
110 膝関節(第2の関節)
Claims (17)
- 少なくとも上体と、前記上体に第1の関節を介して連結される複数本の脚部リンクとからなり、前記脚部リンクがその先端部までに少なくとも1個の第2の関節を有してなる脚式移動ロボットの歩容生成装置において、
a.前記上体の水平方向目標位置および前記上体の目標姿勢の少なくともいずれかを含み、前記上体の鉛直方向目標位置を除く、上体軌跡を設定する上体軌跡設定手段、
b.前記脚部リンク先端部の目標位置および目標姿勢の少なくともいずれかを含む脚部リンク軌跡を設定する脚部リンク軌跡設定手段、
および
c.前記設定された上体軌跡および脚部リンク軌跡に基づいて前記上体の鉛直方向位置に関する連続関数からなる等式を満足する鉛直方向位置である解を求め、その解を基に前記上体の鉛直方向目標位置を決定する上体鉛直方向目標位置決定手段、
を備えたことを特徴とする脚式移動ロボットの歩容生成装置。 - 前記上体の鉛直方向位置に関する連続関数からなる等式が、前記第1および第2の関節の少なくともいずれかの変位に関する滑らかな連続関数からなる等式であることを特徴とする請求項1記載の脚式移動ロボットの歩容生成装置。
- 前記第1および第2の関節の少なくともいずれかの変位に関する滑らかな連続関数からなる等式が、前記第2の関節の変位および速度の少なくともいずれかに関して対称式となっていることを特徴とする請求項2記載の脚式移動ロボットの歩容生成装置。
- 前記上体の鉛直方向位置が大きくなるにつれて前記連続関数の値が単調に変化することを特徴とする請求項1から3のいずれかに記載の脚式移動ロボットの歩容生成装置。
- 前記上体の水平方向目標位置、前記上体の目標姿勢、前記脚部リンク先端部の目標位置、および前記脚部リンク先端部の目標姿勢の内の少なくともいずれかが、仮想的な値であることを特徴とする請求項1から4のいずれかに記載の脚式移動ロボットの歩容生成装置。
- 前記上体鉛直方向目標位置決定手段は、
e.前記上体の鉛直方向の第2の目標位置をn個(n≧1)決定するn目標位置決定手段、
および
f.前記解と前記n個の第2の目標位置との平均値を求める平均値算出手段、
を備え、求めた平均値に基づいて前記上体の鉛直方向目標位置を決定することを特徴とする請求項1から5のいずれかに記載の脚式移動ロボットの歩容生成装置。 - 前記平均値が加重平均値であることを特徴とする請求項6記載の脚式移動ロボットの歩容生成装置。
- 前記上体鉛直方向目標位置決定手段は、
g.前記解および前記求めた平均値の少なくともいずれかを平滑化する平滑化手段、
を備えることを特徴とする請求項6記載の脚式移動ロボットの歩容生成装置。 - 前記上体鉛直方向目標位置決定手段は、探索法および収束演算の少なくともいずれかを用いて前記解を求めることを特徴とする請求項1から8のいずれかに記載の脚式移動ロボットの歩容生成装置。
- 更に、
h.前記設定された上体軌跡と、脚部リンク軌跡と、決定された上体鉛直方向目標位置に基づいて目標関節角を求める目標関節角算出手段、
および
i.前記目標関節角となるように前記第1および第2の関節を変位制御する変位制御手段、
を含むことを特徴とする請求項1から9のいずれかに記載の脚式移動ロボットの歩容生成装置。 - 前記脚式移動ロボットが2脚を有する歩行ロボットであり、前記第1の関節が股関節、前記第2の関節が膝関節であることを特徴とする請求項1から10のいずれかに記載の脚式移動ロボットの歩容生成装置。
- 前記脚式移動ロボットが3脚以上の脚部を有する多脚歩行ロボットであり、前記第1の関節が付け根股関節、前記第2の関節が膝関節であることを特徴とする請求項1から9のいずれかに記載の脚式移動ロボットの歩容生成装置。
- 少なくとも上体と、前記上体に第1の関節を介して連結される2本の脚部リンクとからなると共に、前記脚部リンクが上腿リンクと下腿リンクとそれらを連結する膝関節とを有してなる脚式移動ロボットの歩容生成装置において、前記2本の脚部リンクの中の支持脚側の前記膝関節の外角をθsup、遊脚側のそれをθswgとするとき、前記2つの外角θsup,θswgからなる連続関数f(θsup,θswg)を用い(ただし、θsup>0、θswg>0)、前記2つの外角θsup,θswgの一方が増加すると、他方が減少するように前記上体の鉛直方向目標位置を決定することを特徴とする脚式移動ロボットの歩容生成装置。
- 前記第1の関数が股関節であると共に、前記股関節と前記先端部の距離が、前記脚部リンクの上腿リンクと下腿リンクの長さを合わせてなる最長長さ以下となるように前記上体の鉛直方向目標位置を決定することを特徴とする請求項13記載の脚式移動ロボットの歩容生成装置。
- 前記連続関数が前記膝関節の外角に関する滑らかな連続関数であると共に、前記膝関節の外角およびその変化速度の少なくともいずれかに関して対称式となっていることを特徴とする請求項13または14記載の脚式移動ロボットの歩容生成装置。
- 前記上体の水平方向目標位置、前記上体の目標姿勢、前記脚部リンク先端部の目標位置、および前記脚部リンク先端部の目標姿勢の内の少なくともいずれかが、前記ロボットの歩容を決定する実際的な値であることを特徴とする請求項13から15のいずれかに記載の脚式移動ロボットの歩容生成装置。
- 前記上体の水平方向目標位置、前記上体の目標姿勢、前記脚部リンク先端部の目標位置、および前記脚部リンク先端部の目標姿勢の内の少なくともいずれかが、仮想的な値であることを特徴とする請求項13から15のいずれかに記載の脚式移動ロボットの歩容生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21395297A JP3663034B2 (ja) | 1996-07-25 | 1997-07-25 | 脚式移動ロボットの歩容生成装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8-214260 | 1996-07-25 | ||
JP21426096 | 1996-07-25 | ||
JP21395297A JP3663034B2 (ja) | 1996-07-25 | 1997-07-25 | 脚式移動ロボットの歩容生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1086080A JPH1086080A (ja) | 1998-04-07 |
JP3663034B2 true JP3663034B2 (ja) | 2005-06-22 |
Family
ID=26520068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21395297A Expired - Fee Related JP3663034B2 (ja) | 1996-07-25 | 1997-07-25 | 脚式移動ロボットの歩容生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3663034B2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69836765T2 (de) | 1997-01-31 | 2007-10-04 | Honda Giken Kogyo K.K. | Steuergerät eines mit beinen beweglichen roboters |
KR100637057B1 (ko) | 2000-11-17 | 2006-10-23 | 혼다 기켄 고교 가부시키가이샤 | 레그식 이동 로봇의 보용 생성장치 |
DE60236460D1 (de) | 2001-12-28 | 2010-07-01 | Honda Motor Co Ltd | Gangerzeugungsvorrichtung für beweglichen roboter mit beinen |
DE60237999D1 (de) | 2001-12-28 | 2010-11-25 | Honda Motor Co Ltd | Vorrichtung zur steuerung des ganges für mobilen roboter mit beinen |
WO2003061917A1 (fr) | 2002-01-18 | 2003-07-31 | Honda Giken Kogyo Kabushiki Kaisha | Dispositif de commande pour robot bipede |
JP4225968B2 (ja) | 2002-04-26 | 2009-02-18 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
EP1504858B1 (en) | 2002-04-26 | 2014-06-04 | Honda Giken Kogyo Kabushiki Kaisha | Control device and footstep determination device for legged mobile robot |
WO2003090979A1 (fr) | 2002-04-26 | 2003-11-06 | Honda Giken Kogyo Kabushiki Kaisha | Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes |
JP4181175B2 (ja) | 2003-06-27 | 2008-11-12 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
KR101112496B1 (ko) | 2003-06-27 | 2012-08-01 | 혼다 기켄 고교 가부시키가이샤 | 다리식 이동 로봇의 제어장치 |
DE602005027049D1 (de) | 2004-01-13 | 2011-05-05 | Honda Motor Co Ltd | Gangerzeugungsvorrichtung für beweglichen roboter |
WO2005075156A1 (ja) | 2004-02-06 | 2005-08-18 | Honda Motor Co., Ltd. | 移動ロボットの歩容生成装置 |
JP4805818B2 (ja) | 2004-02-27 | 2011-11-02 | 本田技研工業株式会社 | 移動ロボットの歩容生成装置 |
JP4485279B2 (ja) | 2004-08-02 | 2010-06-16 | 本田技研工業株式会社 | 脚式移動ロボットの歩容生成装置および制御装置 |
JP4501601B2 (ja) * | 2004-09-03 | 2010-07-14 | トヨタ自動車株式会社 | 脚式ロボットとその制御方法ならびに歩容データの作成装置と作成方法 |
KR101131776B1 (ko) | 2004-10-15 | 2012-04-06 | 혼다 기켄 고교 가부시키가이샤 | 다리식 이동 로봇의 보용 생성장치 |
JP4531520B2 (ja) | 2004-10-15 | 2010-08-25 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
KR100946706B1 (ko) | 2004-12-14 | 2010-03-12 | 혼다 기켄 고교 가부시키가이샤 | 다리식 이동 로봇 및 그 제어방법 |
EP1842628B1 (en) | 2004-12-14 | 2011-05-11 | Honda Motor Co., Ltd. | Legged mobile robot |
WO2006064598A1 (ja) | 2004-12-14 | 2006-06-22 | Honda Motor Co., Ltd. | 脚式移動ロボットおよびその制御プログラム |
JP4440761B2 (ja) | 2004-12-24 | 2010-03-24 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
JP4696727B2 (ja) * | 2005-07-01 | 2011-06-08 | トヨタ自動車株式会社 | 歩容データの作成装置と作成方法 |
CN107054493A (zh) * | 2017-04-01 | 2017-08-18 | 济南大学 | 一种可调双足杆多足轮 |
-
1997
- 1997-07-25 JP JP21395297A patent/JP3663034B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1086080A (ja) | 1998-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3663034B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
EP1364863B1 (en) | System for and method of generating a gait of a legged mobile robot | |
JP3278467B2 (ja) | 移動ロボットの制御装置 | |
EP1627712B1 (en) | Method of assuming acting point of floor reaction force to biped walking mobile body and method of assuming joint moment of biped walking mobile body | |
CA2456152C (en) | Method of estimating floor reactions of bipedal walking body, and method of estimating joint moments of bipedal walking body | |
US6920374B2 (en) | Floor shape estimation system of legged mobile robot | |
JP3760186B2 (ja) | 二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法 | |
JP4998506B2 (ja) | ロボット制御装置、ロボット制御方法、及び脚式ロボット | |
JP3629133B2 (ja) | 脚式移動ロボットの制御装置 | |
US6922609B2 (en) | Floor shape estimation system of legged mobile robot | |
EP1844908B1 (en) | Legged mobile robot and control program for the robot | |
WO2003002309A1 (fr) | Procede d'estimation des reactions au sol du corps d'un bipede pendant une marche, et procede d'estimation des moments sur les articulations du corps d'un bipede pendant une marche | |
JPH05200682A (ja) | 脚式移動ロボットの歩行制御装置 | |
EP1844907B1 (en) | Legged mobile robot and control program for the robot | |
WO2002040226A1 (en) | Biped robot | |
EP1627711B1 (en) | Method of assuming acting point of floor reaction force to biped walking mobile body and method of assuming joint moment of biped walking mobile body | |
JP3405868B2 (ja) | 脚式歩行ロボットの歩容生成方法 | |
JP2003220583A (ja) | 二足歩行移動体の床反力推定方法 | |
JP3071028B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JP3726097B2 (ja) | 脚式移動ロボットの姿勢制御装置 | |
WO2003043787A1 (fr) | Robot de forme humaine a deux jambes pouvant marcher | |
JP2008126382A (ja) | 脚式移動ロボット、及びその制御方法 | |
JP3422883B2 (ja) | 脚式歩行ロボットの歩容生成方法および歩行制御装置 | |
JP3071032B2 (ja) | 脚式移動ロボットの制御装置 | |
JPH05254465A (ja) | 脚式移動ロボットの歩行制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050325 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080401 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140401 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |