JP4810880B2 - ロボットとその制御方法 - Google Patents

ロボットとその制御方法 Download PDF

Info

Publication number
JP4810880B2
JP4810880B2 JP2005137236A JP2005137236A JP4810880B2 JP 4810880 B2 JP4810880 B2 JP 4810880B2 JP 2005137236 A JP2005137236 A JP 2005137236A JP 2005137236 A JP2005137236 A JP 2005137236A JP 4810880 B2 JP4810880 B2 JP 4810880B2
Authority
JP
Japan
Prior art keywords
posture pattern
gravity
center
momentum
foot
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
Application number
JP2005137236A
Other languages
English (en)
Other versions
JP2006315095A (ja
Inventor
竜介 但馬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2005137236A priority Critical patent/JP4810880B2/ja
Publication of JP2006315095A publication Critical patent/JP2006315095A/ja
Application granted granted Critical
Publication of JP4810880B2 publication Critical patent/JP4810880B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Toys (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットとその動作を制御する方法に関する。詳しくは、脚リンクを移動しようとする方向へ振り出して、振り出して接地した脚リンクを支持脚とする動作を繰り返して移動する脚式ロボットにおいて、自律的に動作の安定性を評価しながら目標とする姿勢を実現するロボットとその制御方法に関する。
少なくとも1つの脚リンクを備え、移動しようとする方向へ脚リンクを振り出し、振り出して接地した脚リンクを支持脚とする動作を繰り返して移動するロボットが開発されている。
上記のような脚式ロボットは、ZMP(Zero Moment Point)を利用して制御することによって、安定した歩行を実現できることが知られている。ZMPは、ロボットに作用する外力(慣性力を含む)によるモーメントの総和が0となる床上の点を意味する。
1つの脚リンクのみが接地している状態でも、ZMPが支持脚の足平の接地領域内に存在していれば、ロボットは倒れることがない。例えば2つの脚リンクを備えるロボットの場合、一方の脚リンクを支持脚とし、他方の脚リンクを遊脚として前方に振り出することによって移動する。この片足接地状態の間、ZMPが支持脚の足平の接地領域内に存在していれば、ロボットは倒れることがない。遊脚としていた脚リンクが接地し、2つの脚リンクが接地している間に、ZMPがそれまで支持脚であった脚リンクの足平の接地領域内から新たに接地した脚リンクの足平の接地領域内へ移行すれば、ロボットは倒れることがなく、それまで支持脚であった脚リンクを前方に振り出すことが可能となる。それまで支持脚であった脚リンクを前方に振り出す時に、ZMPが新たな支持脚の足平の接地領域内に存在していれば、ロボットは倒れることがない。
上記の動作を繰り返すことによって、ロボットは倒れることなく歩行を継続することができる。
上記した原理に基づいて、ロボットを安定して歩行させる技術が開発されている。例えば特許文献1には、ロボットの実際の状態を検出し、検出された実際の状態に基づいて歩行の動力学的な安定性を確保しながら歩行することが可能なロボットの運動パターンを生成する技術が開示されている。
特開2004−142095号公報
ロボットの歩行に関する動力学的な安定性を確保しつつ、所望の姿勢を取らせたいという要望が存在する。
例えばロボットの歩行を長期間に渡って安定な動作とするために、幾つかの関節群の関節角を可動範囲の中立位置の近傍に維持したい場合がある。通常、ロボットの関節の可動範囲は有限であり、可動範囲を超えて関節を回転することはできない。従って、脚リンクを接地させた状態で動作をする際には、ZMPに基づく動力学的な安定性を確保するとともに、関節の回転角が可動範囲を超えないように制御する必要がある。幾つかの関節群の関節角を可動範囲の中立位置の近傍に保つことで、関節の可動範囲に対して十分な余裕を確保しながら歩行を行うことが可能となる。このように動作を制御することで、不意に外乱が作用した場合であっても、関節の可動範囲に対して十分な余裕が確保されており、例えば腕を振り出してバランスを取るといった、歩行の安定性を確保するための動作を容易に行うことができる。長期的に安定してロボットの歩行を継続することが可能となる。
また上記した以外にも、ロボットを歩行させながら所望の作業を行わせたり、ダンスや演奏といった所定のパフォーマンスを実演させたりしたい場合がある。
常に最も安定な動作を優先すると、しばしばロボットの姿勢は目標とする姿勢から大きく外れていくことがある。このような場合に、目標とする姿勢へ復帰させる制御を実現したい。
従来の技術では、目標とする姿勢へ復帰させる際に、歩行の安定性を損なわないように、非常にゆっくりとした速度で目標姿勢へ復帰させたり、ロボットの動作を視認しているオペレータが姿勢を復帰しても安定であると判断した場合にのみ目標姿勢へ復帰させたりしていた。
オペレータによる操作を行うことなく、より迅速に目標とする姿勢へ復帰させるためには、動作の安定性を自律的に評価しながら、目標姿勢へ復帰するようにロボットの動作を制御する技術が必要とされる。
本発明では上記課題を解決する。本発明では、脚リンクを移動しようとする方向へ振り出して、振り出して接地した脚リンクを支持脚とする動作を繰り返して移動する脚式ロボットにおいて、自律的に動作の安定性を評価しながら目標とする姿勢を実現することが可能な技術を提供する。
本発明のロボットは、体幹と、一方の端部が股関節を介して体幹に連結され、他方の端部が足首関節を介して足平を備える足先部に連結された脚リンクと、関節群を回転駆動するアクチュエータ群と、アクチュエータ群を制御するコントローラを備えるロボットである。そのロボットにおいて、そのコントローラは、足先歩容データを記憶する足先歩容データ記憶部と、足先歩容データに基づいて足平の内部の安定領域を計算する安定領域計算部と、足先歩容データに基づいて第1のZMP軌道を計算する第1ZMP軌道計算部と、第1のZMP軌道とZMP方程式に基づいて第1のZMP軌道を実現する第1の重心の運動量および重心まわりの角運動量の経時的変化を計算する第1重心運動計算部と、第1の重心の運動量および重心まわりの角運動量の経時的変化と重心の運動量に関するヤコビ行列と重心まわりの角運動量に関するヤコビ行列に基づいて第1の重心の運動量および重心まわりの角運動量の経時的変化を実現する第1の姿勢パターンを計算する第1姿勢パターン計算部と、第3の姿勢パターンを記憶する第3姿勢パターン記憶部と、第1の姿勢パターンと第3の姿勢パターンに基づいて第1の姿勢パターンから第3の姿勢パターンへ移行する第2の姿勢パターンを計算する第2姿勢パターン計算部と、第2の姿勢パターンと重心の運動量に関するヤコビ行列と重心まわりの角運動量に関するヤコビ行列に基づいて第2の姿勢パターンによって実現される第2の重心の運動量および重心まわりの角運動量の経時的変化を計算する第2重心運動計算部と、第2の重心の運動量および重心まわりの角運動量の経時的変化とZMP方程式に基づいて第2の重心の運動量および重心まわりの角運動量の経時的変化によって実現される第2のZMP軌道を計算する第2ZMP軌道計算部と、第1の姿勢パターンと第2の姿勢パターンと足平の内部の安定領域と第2のZMP軌道に基づいて姿勢パターンを選択してアクチュエータ群へ出力する姿勢パターン選択部とを備えている。その姿勢パターン選択部は、第2のZMP軌道が足平の内部の安定領域の内部に収まる場合に、アクチュエータ群へ第2の姿勢パターンを出力し、第2のZMP軌道が足平の内部の安定領域の内部に収まらない場合に、アクチュエータ群へ第1の姿勢パターンを出力する。
本明細書で「足先歩容データ」とは、ロボットの脚リンクの足先部の基準点に関する、位置の経時的な変化を記述するデータのことをいう。
本明細書で「軌道」とは、位置の経時的な変化を記述するデータのことをいう。
本明細書で「姿勢パターン」とは、ロボットの関節群の関節角の経時的変化を記述するデータのことをいう。
上記のロボットでは、コントローラからの指令によってアクチュエータ群が関節を回転駆動し、ロボットは動作を実現する。上記のロボットは、例えば二足歩行ロボットとして具現化することが可能であり、一方の脚リンクを支持脚として、他方の脚リンクを前方へ振り出し、振り出して接地した脚リンクを新たな支持脚とする動作を繰り返すことで、歩行動作を実現することができる。
上記のロボットでは、コントローラが足先歩容データ記憶部に記憶された足先歩容データに基づいて、足平の内部の安定領域と、第1のZMP軌道をそれぞれ計算する。足平の内部の安定領域は、ロボットが歩行する床面上の領域であって、接地している脚リンクの足平の接地領域の内部で定義される。この安定領域は、動作の安定性を評価する際の基準として用いられる。第1のZMP軌道は、ロボットが歩行する際に、歩行の動力学的安定性のみを考慮して設定されるZMP軌道である。
その後コントローラは、第1のZMP軌道とZMP方程式に基づいて、第1のZMP軌道を実現するロボットの運動を計算する。ロボットの運動は、重心の運動量と重心まわりの角運動量の経時的変化によって記述される。ロボットが実現すべきZMP軌道に対して、そのロボットのZMP方程式を用いて、そのZMP軌道を実現する重心の運動量と重心まわりの角運動量の経時的変化を計算する技術は、従来より種々の手法が開発されている。本明細書では、上記のようにして計算された、第1のZMP軌道を実現する重心の運動量および重心まわりの角運動量の経時的変化を、第1の重心の運動量と重心まわりの角運動量の経時的変化と呼ぶ。
その後コントローラは、第1の重心の運動量と重心まわりの角運動量の経時的変化を実現する姿勢パターン(第1の姿勢パターン)を計算する。ロボットの姿勢パターンと、重心の運動量の経時的変化とは、重心の運動量に関するヤコビ行列を用いて関連付けることができる。またロボットの姿勢パターンと、重心まわりの角運動量の経時的変化とは、重心まわりの角運動量に関するヤコビ行列を用いて関連付けることができる。従って、第1の重心の運動量と重心まわりの角運動量の経時的変化と、重心の運動量に関するヤコビ行列と、重心まわりの角運動量に関するヤコビ行列に基づいて、第1の重心の運動量と重心まわりの角運動量の経時的変化を実現する第1の姿勢パターンを計算することができる。
上記のように計算される第1の姿勢パターンは、第1のZMP軌道に対応して計算されるものであり、アクチュエータ群が第1の姿勢パターンに従ってロボットの関節群を回転すると、ロボットのZMPは第1のZMP軌道と同一の軌道を描く。第1のZMP軌道は、ロボットの歩行の動力学的安定性のみを考慮して設定されており、例えばロボットが一方の脚リンクのみで接地している状態では、足平の内部に常に維持される。従って、上記した第1の姿勢パターンをアクチュエータ群へ出力している限り、ロボットは安定して歩行を行うことができる。
本発明のロボットにおいて、上記のコントローラは、上記のようにして計算される安定な姿勢パターン(すなわち、第1の姿勢パターン)のほかに、利用者がロボットに実現させたい姿勢パターン(第3の姿勢パターン)を第3姿勢パターン記憶部に記憶している。上記のコントローラは、第1の姿勢パターンから第3の姿勢パターンへ移行する第2の姿勢パターンを計算する。第2の姿勢パターンは、例えば第1の姿勢パターンから出発して、所定時間経過後に、第3の姿勢パターンへ一致するように計算される。上記の第2の姿勢パターンに関しては、ロボットがその第2の姿勢パターンを実現したときに、歩行の動力学的な安定性は必ずしも確保されているわけではない。従って、上記のコントローラは計算された第2の姿勢パターンの安定性を評価して、第2の姿勢パターンが安定であると評価された場合にのみ、アクチュエータ群へ第2の姿勢パターンを実現するように指示を出力する。第2の姿勢パターンが安定であると評価されない場合は、アクチュエータ群へ第1の姿勢パターンを実現するように指示を出力する。
第2の姿勢パターンの安定性は、第2の姿勢パターンを実現するときのZMP軌道(第2のZMP軌道)が、足平の内部の安定領域に収まっているか否かを判断することによって、評価することができる。第2のZMP軌道が足平の内部の安定領域に収まっている場合、第2の姿勢パターンを実現したときのロボットの動作は安定であるため、コントローラはロボットに第2の姿勢パターンを実現させる。一方、第2のZMP軌道が足平の内部の安定領域に収まっていない場合、第2の姿勢パターンを実現したときのロボットの動作は必ずしも安定ではないため、コントローラはロボットに第1の姿勢パターンを実現させる。
上述のように、本発明のロボットは目標とする姿勢パターン(第3の姿勢パターン)へ移行するための姿勢パターン(第2の姿勢パターン)の安定性を自律的に評価して、第2の姿勢パターンが安定であると評価される場合には第2の姿勢パターンを実現して目標とする第3の姿勢パターンへ移行し、第2の姿勢パターンが安定であると評価されない場合には安定な第1の姿勢パターンを実現する。このようにして、本発明のロボットは動作の安定性を確保しながら、目標とする姿勢を実現することができる。
本発明は方法としても具現化される。本発明の方法は、体幹と、一方の端部が股関節を介して体幹に連結され、他方の端部が足首関節を介して足平を備える足先部に連結された脚リンクと、関節群を回転駆動するアクチュエータ群と、アクチュエータ群を制御するコントローラを備えるロボットの動作を制御する方法である。その方法は、足先歩容データを読込む工程と、足先歩容データに基づいて足平の内部の安定領域を計算する工程と、足先歩容データに基づいて第1のZMP軌道を計算する工程と、第1のZMP軌道とZMP方程式に基づいて第1のZMP軌道を実現する第1の重心の運動量および重心まわりの角運動量の経時的変化を計算する工程と、第1の重心の運動量および重心まわりの角運動量の経時的変化と重心の運動量に関するヤコビ行列と重心まわりの角運動量に関するヤコビ行列に基づいて第1の重心の運動量および重心まわりの角運動量の経時的変化を実現する第1の姿勢パターンを計算する工程と、第3の姿勢パターンを読込む工程と、第1の姿勢パターンと第3の姿勢パターンに基づいて第1の姿勢パターンから第3の姿勢パターンへ移行する第2の姿勢パターンを計算する工程と、第2の姿勢パターンと重心の運動量に関するヤコビ行列と重心まわりの角運動量に関するヤコビ行列に基づいて第2の姿勢パターンによって実現される第2の重心の運動量および重心まわりの角運動量の経時的変化を計算する工程と、第2の重心の運動量および重心まわりの角運動量の経時的変化とZMP方程式に基づいて第2の重心の運動量および重心まわりの角運動量の経時的変化によって実現される第2のZMP軌道を計算する工程と、第1の姿勢パターンと第2の姿勢パターンと足平の内部の安定領域と第2のZMP軌道に基づいて第2のZMP軌道が足平の内部の安定領域の内部に収まる場合にアクチュエータ群へ第2の姿勢パターンを出力し、第2のZMP軌道が足平の内部の安定領域の内部に収まらない場合にアクチュエータ群へ第1の姿勢パターンを出力する工程とを備えている。
本発明の技術を用いることによって、脚リンクを移動しようとする方向へ振り出して、振り出して接地した脚リンクを支持脚とする動作を繰り返して移動する脚式ロボットにおいて、自律的に動作の安定性を評価しながら目標とする姿勢を実現することができる。
以下に説明する実施例の主要な特徴を列記する。
(特徴1)
体幹と、
一方の端部が股関節を介して体幹に連結され、他方の端部が足首関節を介して足平を備える足先部に連結された脚リンクと、
関節群を回転駆動するアクチュエータ群と、
足先歩容データを記憶する手段と、
足先歩容データに基づいて、足平の内部の安定領域を計算する手段と、
足先歩容データに基づいて、第1のZMP軌道を計算する手段と、
第1のZMP軌道と、ZMP方程式に基づいて、第1のZMP軌道を実現する第1の重心の運動量および重心まわりの角運動量の経時的変化を計算する手段と、
第1の重心の運動量および重心まわりの角運動量の経時的変化と、重心の運動量に関するヤコビ行列と、重心まわりの角運動量に関するヤコビ行列に基づいて、第1の重心の運動量および重心まわりの角運動量の経時的変化を実現する第1の姿勢パターンを計算する手段と、
第3の姿勢パターンを記憶する手段と、
第1の姿勢パターンと第3の姿勢パターンに基づいて、第1の姿勢パターンから第3の姿勢パターンへ移行する第2の姿勢パターンを計算する手段と、
第2の姿勢パターンと、重心の運動量に関するヤコビ行列と、重心まわりの角運動量に関するヤコビ行列に基づいて、第2の姿勢パターンによって実現される第2の重心の運動量および重心まわりの角運動量の経時的変化を計算する手段と、
第2の重心の運動量および重心まわりの角運動量の経時的変化と、ZMP方程式に基づいて、第2の重心の運動量および重心まわりの角運動量の経時的変化によって実現される第2のZMP軌道を計算する手段と、
第1の姿勢パターンと、第2の姿勢パターンと、足平の内部の安定領域と、第2のZMP軌道に基づいて、姿勢パターンを選択する手段と、
選択された姿勢パターンをアクチュエータ群へ出力する手段と
を備え、前記姿勢パターンを選択する手段は、
第2のZMP軌道が足平の内部の安定領域の内部に収まる場合に、アクチュエータ群へ第2の姿勢パターンを出力し、
第2のZMP軌道が足平の内部の安定領域の内部に収まらない場合に、アクチュエータ群へ第1の姿勢パターンを出力する
ことを特徴とするロボット。
(第1実施例)
図面を参照しながら、本発明の一実施例に係るロボットの動作生成技術について説明する。
図1に示すロボット6は、体幹12と、右脚リンク26と、左脚リンク20と、右腕リンク24と、左腕リンク22を備えている。
右脚リンク26は一方の端部を股関節を介して体幹12に揺動可能に連結されている。右脚リンク26はさらに膝関節と足首関節を備え、先端には足先部を備えている。その足先部は床と面で接することが可能な足平を備えている。左脚リンク20は一方の端部を股関節を介して体幹12に揺動可能に連結されている。左脚リンク20はさらに膝関節と足首関節を備え、先端には足先部を備えている。その足先部は床と面で接することが可能な足平を備えている。
右腕リンク24は一方の端部を体幹12の上部に右肩関節を介して揺動可能に連結されている。左腕リンク22は一方の端部を体幹12の上部に左肩関節を介して揺動可能に連結されている。
ロボット6の全身の関節群は、それぞれアクチュエータを備えている。アクチュエータ群はコンピュータ装置14からの指令によって駆動され、関節群は指令された関節角を実現する。コンピュータ装置14は、コントローラに相当する。
ロボット6は、右脚リンク26が接地している間に左脚リンク20を遊脚として軌道7のように移動させ、左脚リンク20が接地すると今度は右脚リンク26を遊脚として軌道8のように移動させ、以下同様に、左脚リンク20を遊脚として軌道9のように移動させ、次には右脚リンク26を遊脚として軌道10のように移動させて歩行を続ける。
ロボット6の歩行の態様は、足先基準点L,Rの軌道7,8,9,10を記述する足先歩容データによって規定される。体幹12、右腕リンク24および左腕リンク22の動作は、ロボット6の力学モデルを用いて計算されるZMP軌道が、足先歩容データに基づく目標ZMP軌道に一致する関係に設定される。
なお本明細書で軌道とは、位置の経時的な変化を記述するデータのことをいう。
ロボット6の歩行を制御するために、ロボット6の体幹12にコンピュータ装置14が搭載されている。コンピュータ装置14は、CPU、ROM、RAM、ハードディスク等を有する。コンピュータ装置14のハードウェア構成は汎用のコンピュータと同じであり、説明は省略する。コンピュータ装置14は足先歩容データを記憶しており、それに基づいて動的な安定性を確保することが可能なロボット6の姿勢を逐次算出し、算出されたロボット6の姿勢を実現するように全身の関節群を制御する。
本実施例では、図1に示すように、ロボット6の歩行方向をx軸とし、体側方向をy軸とし、高さ方向をz軸とする。
図2は、コンピュータ装置14の機能をブロック化して示す図である。コンピュータ装置14は、足先歩容データ記憶部202、安定ZMP軌道計算部204、安定姿勢パターン計算部206、姿勢パターン指令値計算部208、移行姿勢パターン計算部212、目標姿勢パターン記憶部214、安定領域計算部216を備える。コンピュータ装置14は、全体が物理的に1つの装置に含まれていてもよいし、物理的に分離された装置ごとに分けて収容されていてもよい。またコンピュータ装置14の一部ないし全部をロボット外に搭載し、有線または無線によってロボット6のハードウェアと通信してもよい。
足先歩容データ記憶部202には、ロボット6の足先歩容データが記憶されている。足先歩容データは、ロボット6の右脚リンクおよび左脚リンクの足先の基準点の位置と姿勢の経時的変化を記述する。足先歩容データを参照することによって、脚リンクが接地するときの足平の位置・方位およびその脚リンクが接地する期間を特定することができる。
安定ZMP軌道計算部204は、ロボット6の足先歩容データに基づいて、安定して歩行を継続することが可能なZMP軌道(安定ZMP軌道)を計算する。
ロボット6のZMPの位置は、ロボットの動作に伴って変化する。このZMPが接地している脚リンクの足平の接地領域の内部に存在していれば、片方の脚リンクのみで接地している場合であっても、ロボット6は倒れることなく、安定して動作を継続することができる。
本実施例のロボット6では、安定ZMP軌道として、次のような軌道を設定する。ロボット6が一方の脚リンクのみで接地している間は、ZMPは接地している脚リンクの足平の接地領域の中央に維持される。ロボット6が両方の脚リンクで接地している間は、ZMPはそれまで支持脚だった脚リンクの足平の接地領域内から、新たに接地して支持脚となる脚リンクの足平の接地領域内へ移動する。
接地している脚リンクの足平の接地領域の中央にZMPが存在している場合、ZMPの位置が不意に変化した場合でも、ZMPを足平の接地領域内に維持することが容易となる。従って、上記した安定ZMP軌道を実現する動作は、ロボット6に外乱等が作用してZMP位置が変化した場合であっても、歩行の安定性を確保することができ、歩行の安定性が高いといえる。
上記の安定ZMP軌道は、第1のZMP軌道に相当する。上記の安定ZMP軌道計算部204は、第1ZMP軌道計算部に相当する。
安定領域計算部216は、ロボット6の足先歩容データに基づいて、姿勢パターンの安定性の評価において基準として用いる安定領域を計算する。安定領域については、後に詳述する。
安定姿勢パターン計算部206は、安定ZMP軌道計算部204から入力される安定ZMP軌道を実現する姿勢パターン(安定姿勢パターン)を計算する。
まず安定姿勢パターン計算部206は、安定ZMP軌道計算部204から入力される安定ZMP軌道と、ロボット6の力学モデルに基づくZMP方程式を用いて、安定ZMP軌道 px, py を実現するロボット6の重心の運動量 Pgx, Pgy, Pgz と、重心まわりの角運動量 Lgx, Lgy, Lgzの経時的変化を計算する。本実施例のロボット6では、先ず重心まわりの角運動量 Lgx, Lgy, Lgz の経時的変化と、重心の鉛直方向軌道 zg を、ユーザーからの指令等に基づいて決定する。そして、以下に示すZMP方程式を用いて重心の水平方向軌道 xg, yg を計算する。
Figure 0004810880
ここで、m はロボット6の全質量であり、g は重心加速度である。また、式中の(2)は時間に関する2階微分値を示す。上記のZMP方程式を離散化した3項方程式を解くことによって、水平方向軌道 xg, yg を計算することができる。上記のZMP方程式を用いた重心の水平方向軌道の計算は、本出願人が先に出願した特許出願である特願2005−28036号、特願2005−65827号の明細書に詳細に記述されている。ただしこれらの特許出願は、本願出願の時点で未だ公開されていないことに留意されたい。
重心の水平方向および垂直方向の軌道 xg, yg, zg が計算されると、重心の位置の時間に関する一階微分を算出し、ロボット6の全質量 m との積を算出することによって、重心の運動量 Pgx, Pgy, Pgz の経時的変化を計算することができる。
その後、安定姿勢パターン計算部206は、計算された重心の運動量 Pgx, Pgy, Pgz および重心まわりの角運動量 Lgx, Lgy, Lgz の経時的変化を実現する、関節群の関節角 θi の経時的変化を計算する。
以下では関節群の関節角の経時的変化を計算する手法について説明する。重心の運動量 Pgx, Pgy, Pgz、重心の角運動量 Lgx, Lgy, Lgzは、関節角の角速度θ(1)と、それぞれヤコビ行列Jg(θ)、Kg(θ)を用いて、以下で表現される。
Figure 0004810880
Jg(θ)は重心の運動量に関するヤコビ行列であり、Kg(θ)は重心まわりの角運動量に関するヤコビ行列である。
上式の Pg はロボット6の重心の運動量(Pgx, Pgy, Pgz)であり、上式の Lgはロボット6の重心まわりの角運動量(Lgx, Lgy, Lgz)である。上式の関節角の角速度θ(1)は関節角の角度θを時間に関して1階微分したものである。関節角の角度θは、以下に示すように、ロボットの関節角群(θ1、θ2、・・・、θn-1)である。
Figure 0004810880
重心の運動量 Pg、重心まわりの角運動量 Lg は、既に計算されている。擬似逆行列を用いた解法を用いることで、上述した関係式より関節角の角速度θ(1)の経時的な変化を計算することができる。
一般に、ロボット6の関節群は6自由度を超える自由度を備えており、目標とするロボットの運動Pg、Lg を満たす関節角の角速度θ(1)は、複数の解を持つ冗長系となっている。
重心の運動量 Pg および重心まわりの角運動量 Lg が同一であっても、体幹12に対して腕リンク22,24を振り出してバランスを取る姿勢を実現する解もあれば、体幹12に対して腕リンク22,24を振り出すことなくバランスを取る姿勢を実現する解もある。
上述の計算では、目標とするロボットの運動 Pg、Lg を満たす1組の関節角の角速度θ(1)の解が取得される。ここで取得される関節角の角速度θ(1)に基づいてロボット6の関節群を駆動すると、実現されるZMPは安定ZMP軌道に一致し、接地している脚リンクの足平の接地領域の中央部に維持されることになる。
上記の安定姿勢パターンは、第1の姿勢パターンに相当する。安定姿勢パターン計算部206は、第1重心運動計算部および第1姿勢パターン計算部に相当する。
目標姿勢パターン記憶部214は、ロボット6が目標とする姿勢パターンを記憶している。本実施例のロボット6では、目標姿勢パターンとして、体幹12に対して腕リンク22,24を振り出さず、まっすぐに下げた状態を維持するパターンを扱う。このような姿勢パターンでは、体幹12と腕リンク22,24を接続する肩関節は、その可動範囲の中立位置で維持される。その後の動作において、腕リンク22,24を振り出さなければ歩行の安定性を保てない状況となった場合でも、肩関節は可動範囲を確保されているため、腕リンク22,24を前後に振り出して歩行の安定性を保つことが可能となる。このように、関節の可動範囲の中立位置の近傍に維持することで、ロボット6の歩行を長期的に安定させることが可能である。
目標姿勢パターン記憶部214が記憶している目標姿勢パターンは、例えばロボット6が動作を実施する前に予め与えておいてもよいし、コントローラ等を用いてオペレータがロボット6の動作中にリアルタイムで与えてもよい。
上記の目標姿勢パターンは、第3の姿勢パターンに相当する。目標姿勢パターン記憶部214は、第3姿勢パターン記憶部に相当する。
移行姿勢パターン計算部212は、安定姿勢パターンから目標姿勢パターンへ移行する移行姿勢パターンを計算する。移行姿勢パターンは、安定姿勢パターンから徐々に目標姿勢パターンへ漸近するように設定される。本実施例のロボット6では、目標姿勢パターンから開始して、所定時間経過後に目標姿勢パターンへ一致するように、移行姿勢パターンを計算する。さらに本実施例のロボット6では、移行姿勢パターンを実現している間に、ロボット6の各部位の移動速度が所定の速度を越えることがないように、移行姿勢パターンが計算される。
計算された移行姿勢パターンは、姿勢パターン指令値計算部208へ出力される。
上記の移行姿勢パターンは、第2の姿勢パターンに相当する。姿勢パターン計算部212は、第2姿勢パターン計算部に相当する。
姿勢パターン指令値計算部208は、安定姿勢パターン計算部206から入力される安定姿勢パターンと、移行姿勢パターン計算部212から入力される移行姿勢パターンと、安定領域計算部216から入力される安定領域に基づいて、アクチュエータ群210へ出力する姿勢パターンの指令値を決定する。
まず姿勢パターン指令値計算部208は、上述した重心の運動量に関するヤコビ行列と、重心まわりの角運動量に関するヤコビ行列を用いて、移行姿勢パターンを実現した場合の重心の運動量と重心まわりの角運動量の経時的変化を計算する。重心の運動量と重心まわりの角運動量は、一意に計算することができる。
そして姿勢パターン指令値計算部208は、計算された重心の運動量と重心まわりの角運動量の経時的変化に基づき、上述したロボット6の力学モデルに基づくZMP方程式を用いて、移行姿勢パターンを実現した場合のZMP軌道(移行ZMP軌道)を計算する。
上記の移行ZMP軌道は、第2のZMP軌道に相当する。
そして姿勢パターン指令値計算部208は、計算された移行ZMP軌道が足平の安定領域に入っているか否かを評価する。
図4は足平の接地領域402と、安定領域406の関係を示している。安定ZMP軌道は、足平の接地領域402の中央部404に維持される。安定領域406は、足平の接地領域402の内部に含まれる領域であって、足平の接地領域402の中央部404を含む接地領域402より小さい領域として定義されている。
安定領域406の内部にZMPが存在する場合、ロボット6に外乱が作用してZMP位置が予期せぬ変化をした場合でも、足平の接地領域402の内部にZMPを維持することが可能である。したがって、安定領域406の内部にZMPが存在する状態は、わずかな外乱が作用してもロボット6が倒れることがない、歩行の安定性が高い状態といえる。
一方、足平の接地領域402の内部で安定領域406の外部にZMPが存在する場合、ロボット6に外乱が作用してZMP位置が予期せぬ変化をすると、足平の接地領域402の内部にZMPを維持することが困難となる。したがって、安定領域406の外部にZMPが存在する状態は、わずかな外乱が作用することによってロボット6の安定性が失われてしまう、歩行の安定性が低い状態といえる。
本実施例のロボット6は、上述した安定領域406を基準として、移行姿勢パターンを実現するときの動作の安定性を評価する。すなわち、移行ZMP軌道が常に安定領域に入っていれば、ロボット6は移行姿勢パターンを実現しても、高い安定性を維持することができると評価される。従って、このような場合には、アクチュエータ群210へ移行姿勢パターンが出力される。一方、移行ZMP軌道が安定領域から外れる場合には、ロボット6は移行姿勢パターンを実現した場合に、高い安定性を維持することができないと評価される。従って、このような場合には、アクチュエータ群210へ安定姿勢パターンが出力される。
姿勢パターン指令値計算部208は、第2重心運動計算部、第2ZMP軌道計算部および姿勢パターン選択部に相当する。
姿勢パターン指令値計算部208から出力される姿勢パターン(関節群の関節角の経時的変化)に基づいて、アクチュエータ群210が駆動されて、ロボット6は歩行動作を実現する。
図3はコンピュータ装置14が実行する処理を説明するフローチャートである。
ステップS310では、足先歩容データ記憶部202に記憶されている足先歩容データを読込む。
ステップS312では、読込まれた足先歩容データに基づいて支持脚の足平の接地領域を特定し、安定領域を計算する。
ステップS314では、特定された足平の接地領域に基づいて、安定ZMP軌道を計算する。安定ZMP軌道は、足平の接地領域の中央部に維持されるように計算される。
ステップS316では、計算された安定ZMP軌道に基づいて、安定重心運動(安定ZMP軌道を実現する重心の運動量および重心まわりの角運動量の経時的変化)を計算する。
ステップS318では、計算された安定重心運動に基づいて、安定姿勢パターンを計算する。
ステップS320では、計算された安定姿勢パターンと、読み込まれた目標姿勢パターンに基づいて、移行姿勢パターンを計算する。
ステップS322では、計算された移行姿勢パターンに基づいて、移行重心運動(移行姿勢パターンによって実現される重心の運動量および重心まわりの角運動量の経時的変化)を計算する。
ステップS324では、移行重心運動に基づいて、移行ZMP軌道を計算する。
ステップS326では、計算された移行ZMP軌道が、安定領域に収まっているか否かを判断する。移行ZMP軌道が常に安定領域に収まっている場合(ステップS326でYESの場合)、処理はステップS328へ移行し、移行姿勢パターンをアクチュエータ群210への指令値として出力する。移行ZMP軌道の一部でも安定領域に収まっていない部分がある場合(ステップS326でNOの場合)、処理はステップS330へ移行し、安定姿勢パターンをアクチュエータ群210への指令値として出力する。
その後、処理はステップS310へ以降し、上述した処理を繰返し実行する。
上記した一連の処理を実行することによって、ロボット6はその後の動作の安定性を自律的に評価して、目標とする姿勢へ移行するための動作がそれほど安定でない場合には目標とする姿勢とは無関係に安定な姿勢を維持し、目標とする姿勢へ移行するための動作が十分に安定な場合には目標とする姿勢へ移行するように、その後の動作を行うことができる。
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
図1は本発明のロボット6の概観を示す図である。 図2は本発明のロボット6のコンピュータ装置14の構成を示すブロック図である。 図3は本発明のロボット6のコンピュータ装置14が実施する処理を示すフローチャートである。 図4は足平の接地領域402と安定領域406の関係を示す図である。
符号の説明
6・・・ロボット
12・・・体幹
14・・・コンピュータ装置
20・・・左脚リンク
22・・・左腕リンク
24・・・右腕リンク
26・・・右脚リンク
7,8,9,10・・・足先基準点の軌道
202・・・足先歩容データ記憶部
204・・・安定ZMP軌道計算部
206・・・安定姿勢パターン計算部
208・・・姿勢パターン指令値計算部
210・・・アクチュエータ群
212・・・移行姿勢パターン計算部
214・・・目標姿勢パターン記憶部
402・・・足平の接地領域
404・・・足平の中央部
406・・・足平の安定領域
408,410・・・ZMPの位置

Claims (2)

  1. 体幹と、一方の端部が股関節を介して体幹に連結され、他方の端部が足首関節を介して足平を備える足先部に連結された脚リンクと、関節群を回転駆動するアクチュエータ群と、アクチュエータ群を制御するコントローラを備えるロボットであって、
    前記コントローラは、
    足先歩容データを記憶する足先歩容データ記憶部と、
    足先歩容データに基づいて、足平の内部の安定領域を計算する安定領域計算部と、
    足先歩容データに基づいて、第1のZMP軌道を計算する第1ZMP軌道計算部と、
    第1のZMP軌道と、ZMP方程式に基づいて、第1のZMP軌道を実現する第1の重心の運動量および重心まわりの角運動量の経時的変化を計算する第1重心運動計算部と、
    第1の重心の運動量および重心まわりの角運動量の経時的変化と、重心の運動量に関するヤコビ行列と、重心まわりの角運動量に関するヤコビ行列に基づいて、第1の重心の運動量および重心まわりの角運動量の経時的変化を実現する第1の姿勢パターンを計算する第1姿勢パターン計算部と、
    第3の姿勢パターンを記憶する第3姿勢パターン記憶部と、
    第1の姿勢パターンと第3の姿勢パターンに基づいて、第1の姿勢パターンから第3の姿勢パターンへ移行する第2の姿勢パターンを計算する第2姿勢パターン計算部と、
    第2の姿勢パターンと、重心の運動量に関するヤコビ行列と、重心まわりの角運動量に関するヤコビ行列に基づいて、第2の姿勢パターンによって実現される第2の重心の運動量および重心まわりの角運動量の経時的変化を計算する第2重心運動計算部と、
    第2の重心の運動量および重心まわりの角運動量の経時的変化と、ZMP方程式に基づいて、第2の重心の運動量および重心まわりの角運動量の経時的変化によって実現される第2のZMP軌道を計算する第2ZMP軌道計算部と、
    第1の姿勢パターンと、第2の姿勢パターンと、足平の内部の安定領域と、第2のZMP軌道に基づいて、姿勢パターンを選択してアクチュエータ群へ出力する姿勢パターン選択部と
    を備え、前記姿勢パターン選択部は、
    第2のZMP軌道が足平の内部の安定領域の内部に収まる場合に、アクチュエータ群へ第2の姿勢パターンを出力し、
    第2のZMP軌道が足平の内部の安定領域の内部に収まらない場合に、アクチュエータ群へ第1の姿勢パターンを出力し、
    前記第2姿勢パターン計算部は、前記姿勢パターン選択部において第2のZMP軌道が足平の内部の安定領域の内部に収まると判断されるまで、異なる第2の姿勢パターンを繰り返し計算することを特徴とするロボット。
  2. 体幹と、一方の端部が股関節を介して体幹に連結され、他方の端部が足首関節を介して足平を備える足先部に連結された脚リンクと、関節群を回転駆動するアクチュエータ群と、アクチュエータ群を制御するコントローラを備えるロボットの動作を制御する方法であって、
    足先歩容データを読込む工程と、
    足先歩容データに基づいて、足平の内部の安定領域を計算する工程と、
    足先歩容データに基づいて、第1のZMP軌道を計算する工程と、
    第1のZMP軌道と、ZMP方程式に基づいて、第1のZMP軌道を実現する第1の重心の運動量および重心まわりの角運動量の経時的変化を計算する工程と、
    第1の重心の運動量および重心まわりの角運動量の経時的変化と、重心の運動量に関するヤコビ行列と、重心まわりの角運動量に関するヤコビ行列に基づいて、第1の重心の運動量および重心まわりの角運動量の経時的変化を実現する第1の姿勢パターンを計算する工程と、
    第3の姿勢パターンを読込む工程と、
    (A)第1の姿勢パターンと、第3の姿勢パターンに基づいて、第1の姿勢パターンから第3の姿勢パターンへ移行する第2の姿勢パターンを計算する工程と、
    (B)第2の姿勢パターンと、重心の運動量に関するヤコビ行列と、重心まわりの角運動量に関するヤコビ行列に基づいて、第2の姿勢パターンによって実現される第2の重心の運動量および重心まわりの角運動量の経時的変化を計算する工程と、
    (C)第2の重心の運動量および重心まわりの角運動量の経時的変化と、ZMP方程式に基づいて、第2の重心の運動量および重心まわりの角運動量の経時的変化によって実現される第2のZMP軌道を計算する工程と、
    (D)第1の姿勢パターンと、第2の姿勢パターンと、足平の内部の安定領域と、第2のZMP軌道に基づいて、第2のZMP軌道が足平の内部の安定領域の内部に収まる場合に、アクチュエータ群へ第2の姿勢パターンを出力し、第2のZMP軌道が足平の内部の安定領域の内部に収まらない場合に、アクチュエータ群へ第1の姿勢パターンを出力する工程と、
    前記第2のZMP軌道が足平の内部の安定領域の内部に収まると判断されるまで、異なる第2の姿勢パターンについて、少なくとも上記(A)から(D)までの工程を繰り返し実行する工程を備えることを特徴とする方法。
JP2005137236A 2005-05-10 2005-05-10 ロボットとその制御方法 Expired - Fee Related JP4810880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005137236A JP4810880B2 (ja) 2005-05-10 2005-05-10 ロボットとその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005137236A JP4810880B2 (ja) 2005-05-10 2005-05-10 ロボットとその制御方法

Publications (2)

Publication Number Publication Date
JP2006315095A JP2006315095A (ja) 2006-11-24
JP4810880B2 true JP4810880B2 (ja) 2011-11-09

Family

ID=37536205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005137236A Expired - Fee Related JP4810880B2 (ja) 2005-05-10 2005-05-10 ロボットとその制御方法

Country Status (1)

Country Link
JP (1) JP4810880B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5035005B2 (ja) * 2008-02-19 2012-09-26 トヨタ自動車株式会社 脚式ロボット、その制御方法、その制御システム
JP5440152B2 (ja) * 2009-12-22 2014-03-12 トヨタ自動車株式会社 脚式ロボットとそのための歩容データ生成方法
JP5435729B2 (ja) * 2010-03-26 2014-03-05 トヨタ自動車株式会社 脚式ロボットの歩行着地位置計画方法
AT511217B1 (de) * 2011-05-18 2012-10-15 4A Engineering Gmbh Dummy-objekt, insbesondere zur funktionsüberprüfung von fahrerassistenzsystemen in kraftfahrzeugen
JP5623376B2 (ja) * 2011-12-02 2014-11-12 本田技研工業株式会社 脚式移動ロボットの歩容生成装置及びロボットの動作目標生成装置
CN109333534B (zh) * 2018-10-23 2021-12-17 广东工业大学 预规划的实时步态控制算法
CN109333506B (zh) * 2018-10-23 2021-12-17 广东工业大学 一种人形智能机器人系统
CN112965508B (zh) * 2021-02-03 2022-02-15 北京理工大学 多信息反馈的电动并联轮足机器人行走控制方法和系统
CN114474066B (zh) * 2022-03-04 2024-02-20 全爱科技(上海)有限公司 一种智能人形机器人控制系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05305581A (ja) * 1992-04-28 1993-11-19 Honda Motor Co Ltd リンク式移動ロボットの制御装置
JP3269852B2 (ja) * 1992-05-29 2002-04-02 本田技研工業株式会社 脚式移動ロボットの姿勢安定化制御装置
JP4518615B2 (ja) * 2000-03-30 2010-08-04 ソニー株式会社 脚式移動ロボットの動作制御システム及び動作制御方法
JP2003159677A (ja) * 2000-11-17 2003-06-03 Sony Corp 脚式移動ロボット
JP3614824B2 (ja) * 2002-03-18 2005-01-26 ソニー株式会社 脚式移動ロボットのための動作編集装置及び動作編集方法
JP4408616B2 (ja) * 2002-10-11 2010-02-03 ソニー株式会社 脚式移動ロボットの動作制御装置及び動作制御方法

Also Published As

Publication number Publication date
JP2006315095A (ja) 2006-11-24

Similar Documents

Publication Publication Date Title
JP4810880B2 (ja) ロボットとその制御方法
US20240075998A1 (en) Control of robotic devices with non-constant body pitch
EP1486299B1 (en) Operation control device for leg-type mobile robot and operation control method, and robot device
JP4513320B2 (ja) ロボット装置、並びにロボット装置の運動制御方法
JP4591419B2 (ja) ロボットとその制御方法
US9073209B2 (en) Walking robot and control method thereof
EP2298506B1 (en) Mobile device and method for controlling a mobile device
US20050107916A1 (en) Robot device and control method of robot device
JP4392037B2 (ja) 脚式ロボット、及びその制御方法
CN111913490A (zh) 基于落足调整的四足机器人动步态稳定控制方法及系统
JP6228097B2 (ja) 移動ロボット
JP2006212736A (ja) 脚式ロボットとその制御方法
JP4492395B2 (ja) 脚式ロボットとその動作制御方法
US20070267994A1 (en) Legged Robot, Method for Controlling Legged Robot, and Device and Method for Generating Gait Data
JP4483254B2 (ja) ロボット装置及びロボット装置の制御方法
JP2007007803A (ja) ロボットとその制御方法
JP6407409B2 (ja) 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム
Mellmann et al. Adaptive motion control with visual feedback for a humanoid robot
Hengst runswift walk2014 report robocup standard platform league
JP3674787B2 (ja) ロボット装置の動作制御装置及び動作制御方法、並びにコンピュータ・プログラム
JP4525325B2 (ja) 超冗長自由度ロボットの動作制御方法
JP7395968B2 (ja) 制御装置、制御システム、制御方法およびコンピュータプログラム
JP4696727B2 (ja) 歩容データの作成装置と作成方法
JP4848686B2 (ja) 脚式ロボットとその動作調節方法
JP2006321012A (ja) ロボットおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101206

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: 20110726

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110808

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees