JP4457617B2 - モーション生成システム及びロボットのモーション評価方法 - Google Patents

モーション生成システム及びロボットのモーション評価方法 Download PDF

Info

Publication number
JP4457617B2
JP4457617B2 JP2003330364A JP2003330364A JP4457617B2 JP 4457617 B2 JP4457617 B2 JP 4457617B2 JP 2003330364 A JP2003330364 A JP 2003330364A JP 2003330364 A JP2003330364 A JP 2003330364A JP 4457617 B2 JP4457617 B2 JP 4457617B2
Authority
JP
Japan
Prior art keywords
motion
robot
joint
acceleration
posture
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
JP2003330364A
Other languages
English (en)
Other versions
JP2005096000A (ja
JP2005096000A5 (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003330364A priority Critical patent/JP4457617B2/ja
Publication of JP2005096000A publication Critical patent/JP2005096000A/ja
Publication of JP2005096000A5 publication Critical patent/JP2005096000A5/ja
Application granted granted Critical
Publication of JP4457617B2 publication Critical patent/JP4457617B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Toys (AREA)
  • Manipulator (AREA)

Description

本発明は、少なくとも1以上の可動部を備えたロボット装置に係り、特に、複数の可動脚を備え、所定の運動パターン(モーション)に従って姿勢の安定性を自律的に維持しながら動作するロボット装置及びロボットのモーション評価方法に関する。
さらに詳しくは、本発明は、ZMP安定度判別規範を満たす運動パターンを評価して計画通りに実行するロボット装置及びロボットのモーション評価方法に係り、特に、ZMP安定度判別規範を満たす運動パターンの実行時において実機上で関節アクチュエータに印加されるトルクや角速度を適切に算出して実行可能性をチェックするロボット装置及びロボットのモーション評価方法に関する。
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の"ROBOTA(奴隷機械)"に由来すると言われている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。最近では、脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。ヒトの動作をモデルにした脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット(humanoid robot)と呼ぶ。
2足直立による脚式移動は、クローラ式や、4足又は6足式などに比し不安定で姿勢制御や歩行制御が難しくなるが、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できるという点で優れている。
ここで、ロボット上で実現される動作パターン、あるいは、複数の基本的な動作パターンの組合せによって構成される高度且つ複雑な一連の動作シーケンスは、コンピュータ・プログラミングと同様の作業によって構築される。実機を動作するモーション・データが数多く用意されることが、ロボット本体が普及していくためには必須である。したがって、ロボット用のモーション編集を行なうための開発環境の構築が強く望まれている。
また、今後、産業界のみならず一般家庭や日常生活にもロボットが深く浸透していくことが予想される。とりわけ、エンターティンメント性を追求する製品に関しては、コンピュータやコンピュータ・プログラミングに関する高度な知識を持たない一般消費者層がロボットを購入して使用するケースが多いと予想される。このような一般ユーザにとっても、ロボットの動作シーケンスを対話的な処理により比較的容易且つ効率的に作成・編集することを支援するためのツール、すなわちモーション編集システムを提供することが好ましい。
ロボットは、関節アクチュエータなどの複数の制御点で構成されており、したがって、各制御点における位置や速度(関節角やその角速度)を入力していくことにより、機体動作を編集することができる。この点では、コンピュータ・グラフィックスにおけるキャラクタのアニメーション生成に類似する。しかしながら、仮想空間上での動作と実機動作とでは自ずと相違がある。脚式移動ロボットの場合には、単に関節角を駆動させただけでは所望の動作を実行することはできず、転倒することなく運動を安定化させながら脚式作業を継続することができるモーションである必要がある。
多くの場合、脚式移動ロボットの姿勢安定制御には、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にモーメントがゼロとなる点を探索するというZMP安定度判別規範を用いる。
ZMPによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形(すなわちZMP安定領域)の辺上あるいはその内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちZMPが存在する(例えば、非特許文献1を参照のこと)。2足の脚式移動ロボットの場合、この支持多角形が極めて高いことから、姿勢安定制御はとりわけ困難とされている。
機体の各制御点における指示値を画面入力してロボットのモーションを組むというモーション編集システムは既に存在する。しかしながら、編集されたモーションで実機動作させる場合の姿勢安定性をチェックしたり、姿勢が安定化したりするように所望のモーションを修正するようなシステムは未だない。せっかく組まれたモーションでは機体の姿勢安定性を維持できず、モーション自体を実機上で実行することができないのでは、実質的にモーションを編集したことにはならない。したがって、コンピュータなどのモーション編集装置上で編集したモーションを、実機上で実演する前に、コンピュータ上で検証を行なう必要がある。すなわち、ZMP規範に基づいてモーションの実行可能性をコンピュータ上で事前に判定を行なえることが好ましい。
脚式ロボットの安定判別規範として、ZMP方程式の境界問題を適用したものは多いが、そのほとんどはトルク(又は力)の上限値や角速度(又は速度)の上限値などのアクチュエータの特性は考慮されていない。このため、ZMP方程式の解が実機の関節トルク及び関節角速度の上限値を超えていると、安定判別規範に基づく理論上は実行可能なはずの運動パターンであっても、実機上では計画通りに実行することができない。たとえ転倒することなく実行できたとしても、安定余裕が計画値より減少する結果となる。
このような問題に対し、周波数解析を採り入れて、運動パターンの実行可能性を検証する方法について提案がなされている(例えば、非特許文献2を参照のこと)。しかしながら、この方法では、アクチュエータに印加される負荷が考慮されないため、実機上での実行可能性を確実にチェックすることができない。また、この方法では、片脚は接地していることを前提としていることから(すなわち、2足歩行ロボットの単脚支持期のみをマニピュレータと扱ってトルク算出している)、マニピュレータと同じ扱いで問題を解決するようなものであり、両脚支持期の実行可能性を正確に判別することはできない。本発明者らは、実用的な実行可能性チェックを行なうためには、少なくとも、アクチュエータに印加されるトルクと角速度の両成分の相関関係を考慮する必要があると思料する。
ここで、アクチュエータに印加される負荷(トルク)を算出する方法は、順動力学演算を用いるものと、逆動力学演算を用いるものに大別することができる。
順動力学演算を用いる方法は、いわゆるシミュレーションを実行するものである。作成したモーションを実機に適用する際、事前に順動力学演算を用いて検証するシステムについて幾つか提案されている(例えば、非特許文献3を参照のこと)。
しかしながら、順動力学演算を用いる方法は、床反力パラメータの値によって結果が異なったり、転倒後のモーションの検証を行なうことができなかったり、計算量が多いなどの点で実用的でない。
一方、逆動力学演算を用いる方法は、順動力学演算に比べて計算量が少ない点でトルク算出手段として優れている。マニュピュレータのようにベースが固定されたリンク構造ならば周知の方法を適用することができる。しかし、脚式ロボットのように、機体の特定部位が常に地面に固定されず、多様な接地状態をとり得る系の場合、一般には、これをそのまま用いることはできない。
今日、脚式ロボットの制御手段としてZMP安定判別規範に基づくものが多い故、特に、運動目標値にZMPを含む運動パターンから、逆動力学演算に基づいて脚式ロボットの要求トルクを適切に算出する手段が必要となっている。
ヴコブラトビッチ(Miomir Vukobratovic)著「脚式移動ロボット(LEGGED LOCOMOTION ROBOTS)」(加藤一郎外著『歩行ロボットと人工の足』(日刊工業新聞社)) 若原、高西、加藤共著「歩行パターン作成支援システム「WALK MASTER−2」の開発」(第3回日本ロボット学会学術講演会予稿集,263−266,1985) 金広他著「HRP仮想ロボットプラットフォームを用いた制御ソフトウェア開発環境」(日本機械学会ロボティクスメカトロニクス講演会2001講演論文集, 2P2−H2)
本発明の目的は、所定の運動パターン(モーション)に従って姿勢の安定性を自律的に維持しながら動作することができる、優れたロボット装置及びロボットのモーション評価方法を提供することにある。
本発明のさらなる目的は、ZMP方程式の境界問題を安定度判別規範として実行可能な運動パターンを評価して計画通りに実行することができる、優れたロボット装置及びロボットのモーション評価方法を提供することにある。
本発明のさらなる目的は、ZMP方程式の境界問題を安定度判別規範とした運動パターンの実行時において実機上で関節アクチュエータに印加されるトルクや角速度を適切に算出して実行可能性をチェックすることができる、優れたロボット装置及びロボットのモーション評価方法を提供することにある。
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、少なくとも複数の可動部を備えたロボットであって、
該ロボットの運動設計値として与えられたZMP目標軌道を満足するように、機体の複数の点に印加される外力分布を決定する外力分布決定手段と、
該決定された外力が作用する条件下で逆動力学演算を実行することにより、前記可動部におけるトルクを算出する逆動力学演算手段と、
を具備することを特徴とするロボットである。
ロボットは、例えば前記可動部における目標とする運動パターンを記述したモーション・データを再現するという形態で駆動する。ロボットは、モーション実行時のZMP目標軌道を求める手段を備えていてもよい。また、前記可動部の実動作制御系と同一の構成をなし、モーション・データを入力してZMP目標軌道に関する情報を求める仮想動作制御手段をさらに備えていてもよい。
また、前記外力分布決定手段は、機体の複数の点に作用する垂直反力の2次形式を最小化するように、前記の各点に作用する垂直反力の値を決定するようにしてもよい。
また、前記外力分布決定手段は、機体の複数の点に作用する摩擦力が均一になるように、前記の各点に作用する摩擦力の値を決定するようにしてもよい。
そして、前記逆動力学演算手段により算出されたトルクに基づいて、モーション・データが前記可動部の動作性能の範囲内で実行可能か否かを判定することができる。
したがって、本発明によれば、ZMP方程式に基づいて制御される脚式ロボットのモーション・パターンから、逆動力学演算に基づいて、接地状態に依存することなく統一的に関節トルク又は力を算出することができる。
そして、算出されたトルクと、モーション・パターンから得られた関節角速度をN−T線図上にマッピングし、両者の領域判定を行なうことで、より広範なモーションに対して、確実で高速なモーション実行可能性チェックが可能となる。
また、前記逆動力学演算手段により制御周期毎に算出されたトルクを最小にするような実時間歩容の自動生成を行なうことができる。
また、前記逆動力学演算手段により制御周期毎に算出されたトルクを基に、前記可動部における消費電力を算出することができる。
また、前記逆動力学演算手段により制御周期毎に算出されたトルクを基に、前記可動部における温度上昇を管理することができる。
本発明によれば、ZMP安定度判別規範を満たす運動パターンの実行時において実機上で関節アクチュエータに印加されるトルクや角速度を適切に算出して実行可能性をチェックすることができる、優れたロボット装置及びロボットのモーション評価方法を提供することができる。
本発明によれば、目標値にZMP軌道を有するロボットの運動パターンから、全関節の必要トルクを算出することができる。この情報を基に、モーション作成システムで作成した運動パターンを実際のアクチュエータの出力特性の範囲内で実行可能かどうかをより精密に判定することが可能となり、アクチュエータに過度の負荷がかかるモーションを実機で実行する以前に排斥することができる。この結果、作成したモーションの機体上での再現性を向上させることができ、効率的なモーション作成に寄与する。また、機体の破損率も低減することができる。
本発明では、逆動力学演算を基本としていることから、いわゆるダイナミクス・シミュレーションに比較して高速なトルク算出が可能である。また、シミュレーションでは転倒に至るモーションであっても、本発明によればモーションの最後までトルク算出ができることから、一度にモーションのすべての問題箇所を検出することができる。したがって、モーション修正の作業効率を上げることができる。
また、本発明では、与えられたZMPを実現する外力分布を求め、空に浮いた分岐マニュピュレータ・モデルに外力を作用させるという演算方式を採っていることにより、任意の接地状態を扱うことができる一般性を備えている。したがって、多脚が同時に接地するなど、路面とロボットの間に閉ループが構成される場合も統一的に扱うことができ、汎用性の高いトルク算出が可能である。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
以下、図面を参照しながら本発明の実施形態について詳解する。
図1には、本発明の実施に供される2脚2腕を有する人間型ロボットの自由度構成を示している。
本実施形態に係るロボットは、基底(又は基体)Bから放射状に回転ジョイントを介して開リンク鎖が連なる構造をなし、7自由度を持つ腕部と、6自由度を持つ足部と、3自由度を持つ腰部と、2自由度を持つ頭部とで構成される。
基底Bは、左右の股関節位置を結ぶ線と体幹ヨー軸との交点で定義される。脚部は、基底Bに接続され、股関節3自由度(ヨー・ロール・ピッチ)、膝関節1自由度(ピッチ)、足首関節2自由度(ピッチ・ロール)で構成される。腰部は、3自由度(ピッチ・ロール・ヨー)で構成され、基底Bと胸部Cを接続する.腕部は、胸部Cに接続され、肩関節3自由度(ピッチ・ロール・ヨー)、肘関節2自由度(ピッチ・ヨー)、手首関節2自由度(ロール・ピッチ)で構成される。頭部は、胸部Cに接続され、首関節2自由度(パン・チルト)で構成される。
図示のロボットは、腰部位置に重心が設定されており、姿勢安定制御の重要な制御対象点であるとともに、装置の「基体」を構成する。
基体には、加速度センサA1及びジャイロG1が取り付けられている。また、左右の足底の四隅には足底面垂直方向の床反力を検出する1軸ロードセル(F1〜F8)と、床面までの距離を測定する赤外線測距センサ(D1〜D8)がそれぞれ4つ取り付けられている。また、左右の足底中央部には、それぞれ加速度センサ(A2、A3)及びジャイロ(G2、G3)が取り付けられている。
図2には、本実施形態に係るロボットの歩行動作などを司る動作制御システムの機能構成を模式的に示している。同システムは、大別して、ロボット状態観測部B21と、環境形状観測部B22と、外力・外モーメント観測部B23と、実時間歩行パターン生成部B25と、上体・足部要求運動入力部B24と、全身関節駆動部B26で構成される
ロボット状態観測部B21は、上述した種々のセンサ情報を基に、実際のロボットの運動状態を計測し、その計測結果を実時間歩行パターン生成部B25へ出力する。
環境形状観測部B22は、上述した種々のセンサ情報を基に、路面の傾斜や段差、高さなどの環境形状を算出し、その計測結果を実時間歩行パターン生成部B25へ出力する。
外力・外モーメント観測部B23は、主にロボット上に搭載された力センサや加速度センサからのセンサ情報を基に、ロボットに対して外界から作用する外力や外モーメントを算出し、その算出結果を実時間歩行パターン生成部B25へ出力する。
上体・足部要求運動入力部B24は、ユーザ・プログラムにより時々刻々と決定される上体への運動要求と、歩幅や歩行周期、機体の旋回角などの足部の運動に関る歩容パラメータを入力し、実時間歩行パターン生成部B25へ出力する。
実時間歩行パターン生成部B25は、外力・外モーメント観測部B23により検出された外力下にて力学的なバランス平衡を維持しつつ、現在のロボットの運動状態から滑らかに遷移可能で、環境形状に係る運動学的拘束と、ユーザ・プログラムからの上肢・下肢運動変更要求をともに満足することができるような、次時刻のロボットの運動状態を決定し、全身の関節角参照値として出力する。
全身関節駆動部B26は、実時間歩行パターン生成部B25の出力した関節角参照値を実現するよう、各関節アクチュエータをサーボ・コントローラにより駆動する。
図3には、実時間歩パターン生成部B25の機能構成を詳解している。同図に示すように、実時間歩行パターン生成部B25は、大別して、足底位置・姿勢軌道生成部B41と、ZMP方程式求解部B42と、質点分布調整部B43と、関節角算出部B44と、現在状態決定部B45で構成される。
足底位置・姿勢軌道生成部B41には、上体・足部要求運動入力部B24から歩幅、歩行周期、旋回角、足上げ高さなどの足部要求運動に関る歩容パラメータが入力されるとともに、環境形状観測部B22より得られた路面高さ、路面傾斜などの環境形状が入力される。足底位置・姿勢軌道生成部B41は、これらの入力値を用いて、一歩前の着床状態から数歩先までの左右両足底の位置及び姿勢軌道を算出する。
ZMP方程式求解部B42では、足底位置・姿勢軌道生成部B41で生成された足底位置姿勢軌道、歩容パラメータ、ロボットの現在の状態、外力印加状態に基づいて、機体の力学的バランス平衡を維持しつつ、これらの条件を満足するための重心位置・速度すなわち次時刻のロボットの状態ベクトルを算出する。
質点分布調整部B43では、ZMP方程式求解部B42で得られた次時刻の状態ベクトルを実現し、且つ、ユーザ・プログラムより指定された上肢参照軌道(例えば関節角軌道)と足底軌道(歩容パラメータにより与えられる)を満足するよう、全身の質点分布状態を調整する。
関節角算出部B44では、質点分布調整部B43で得られた次時刻の基体位置と、足底位置・姿勢軌道生成部B41より得られる次時刻の足底位置姿勢を実現するよう、脚部の関節角を決定する。これは、両者の相対位置姿勢を求めた後、例えば逆キネマティクス計算(周知)によって実行することができる。ここで得られた脚関節角と、ユーザ・プログラムより与えられた上肢の参照関節角とを併せて、次時刻における全身関節角参照値として出力する。全身関節角参照値は全身関節駆動部B26の関節角参照値として用いられる。
現在状態決定部B45は、各種センサ値を基に算出されたロボットの現在状態ベクトルと、前回の制御サイクルでZMP方程式求解部B42において算出され、参照値として用いられた状態ベクトルより、次回の制御サイクルでZMP方程式求解部B42の始端条件として用いるべき現在状態ベクトルを決定・更新する。すなわち、各種センサ値を基に算出されたロボットの現在状態ベクトルと、ZMP方程式求解部B42において算出された状態ベクトルは一般に異なるため、その調整演算を行なう。ロボットの実状態を反映する必要の無い場合は、ZMP方程式求解部B42の出力を現在状態ベクトルとして出力するのみでよい。
モーション作成システムでは、上述した歩行制御系のようなロボット制御系のためのモーションを作成するが、モーション実行時に初めて確定するような実環境下特有の不確定要素を取り除いて扱うのが一般的である。上述した制御系で言えば、ロボット状態観測部B21と、環境形状観測部B22と、外力・外モーメント観測部B23からの出力は無いとした、一種の理想環境内でのモーション設計が行なわれる。すなわち、図2及び図3でハッチングが施された部分の制御のみが仮定されてモーション作成が行なわれる。
よって、モーション作成システムは、実時間歩行パターン生成部B25に入力される、上体及び足部に対する要求運動をデザインすることが主な機能となる。
ここで、上体運動は、例えば図4に示すように、上体関節角時系列として与えられる。但し、図4では、図面の簡素化のため1関節分のみを示している。各関節角時系列をスプライン曲線などのパラメータ曲線として表現することで、比較的少数のパラメータで多様な軌道を表現することができる。モーション作成システムは、このような上体運動表記が行なわれる制御系に対して、スプライン曲線のノード情報、すなわち、時刻と値のリスト{(ti,qi)|i=1,2,…}を作成・編集する機能を提供する。
一方、足部の運動は、例えば図5に示すように、実時間歩行パターン生成部B25に入力される歩容パラメータ付歩行コマンドと、その発行時刻のリストとして与えられる。歩行コマンドは、「歩行」及び「歩行停止」からなり、各コマンドはパラメータ引数として、ステップ毎の歩行周期、歩幅、旋回角などの歩容パラメータを有する。モーション作成システムは、コマンドの種別、その発行時刻と歩容パラメータを作成・編集する機能を提供する。
このようにして作成された上体及び足部に対する要求運動を実ロボットの制御系に入力することで基本的にはモーション作成システム上で計画されたモーションを実ロボット上で再現することができる。しかし、前述したように、モーション作成システムは、実ロボットのアクチュエータ性能を考慮しないと、過剰なトルクや関節角速度を要求するモーションの作成を許容してしまう可能性がある。図2及び図3に示したロボットの動作制御系は外乱やモデル化誤差などに対する適応制御機能が備わっているため、ある程度の不安定化要因を自律的に解決する能力を有している。しかしながら、一般には、このような過剰スペックのモーションを実ロボットに適用した場合、計画通りのモーションを実機上で再現できる保証はない。
そこで、本実施形態に係るモーション作成システムでは、さらに実機上での高い再現率を保証するために、モーション作成システム内に実機制御系の図2並びに図3においてハッチングで示した機能モジュール部分を包含し、実機上でのモーション再現結果を同システム上で数値的・視覚的に確認できるようにするとともに、モーション再現の結果が実ロボットのアクチュエータ性能にて実現可能かどうか自動判定するように構成した。
図6には、本発明の一実施形態に係るモーション作成システムの機能構成例を示している。同図に示すように、モーション作成システムは、モーション再現の結果が実ロボットのアクチュエータ性能にて実現可能かどうか自動判定する実行可否判定部B64を有している。
上体運動軌道及び歩行コマンド時系列は、ユーザがモーション作成システムを用いて作成・編集したデータである。これらのデータは仮想動作再生部B61により制御サイクル毎に抽出され、仮想歩行制御系に入力される。
仮想歩行制御系は、実機上の歩行制御系と同一の構成をなし、上体・足部要求運動入力部B62と実時間歩行パターン生成部B63で構成される。この仮想歩行制御系に上体運動及び歩行コマンドを入力することで、解として全身関節角が制御周期毎に出力される。同時に、求解の副産物として、制御周期毎に、ZMP位置、重心加速度、基底位置・姿勢、足底位置・姿勢及び接地状態(左足支持、右足支持、両足支持)に関する軌道情報が容易に得られる。上記副産物は図中では破線枠で示されている。
実行可否判定部B64は、これらの軌道情報に基づいて、作成されたモーションが実ロボットのアクチュエータ性能にて実現可能かどうかを自動判定する。
図7には、上体運動軌道と歩行コマンド時系列からモーションの実行可否判定を得るための処理手順をフローチャートの形式で示している。
時刻を初期化した後(ステップS70)、ユーザの設計した上体運動軌道から時刻tの値を抽出し,仮想歩行制御系に入力する(ステップS71)。
次いで、時刻tに発行する歩行コマンドがユーザによって設定されているかどうかをチェックする(ステップS72)。歩行コマンドが設定されている場合は 、仮想歩行制御系にこれを入力する(ステップS73)。また、設定されていない場合は、仮想歩行制御系に歩行コマンドは入力しない。
次いで、仮想歩行制御系を1制御周期(tick)分だけ実行し(ステップS74)、時刻tにおける全身関節角、ZMP位置・重心加速度、基底位置・姿勢、接地状態に関するデータを得る。そして、得られたデータを基に、時刻tの運動状態が実ロボットのアクチュエータ性能にて実現可能かどうかの判定処理(実行可否判定)を行なう(ステップS75)。
ここで、実行不能の判定結果が得られた場合は、「モーション実行不能」との結果を提示し、処理を終了する。一方、実行可能の判定結果が得られた場合は、時刻を制御周期(dt)分だけインクリメントする(ステップS76)。そして、全時刻分の処理が完了したか判定し(ステップS77)、完了していない場合にはステップS71に戻り、次の制御周期における実行可否判定の処理を繰り返す。
モーションの最後に至るまで実行不能の判定が発生しなかった場合には(ステップS75)、「モーション実行可能」の判定結果を提示し、本処理ルーチン全体を終了する。
本発明の主要部分は、モーション作成システム(図6を参照のこと)における実行可否判定部B64、並びに、モーション実行可否判定処理手順(図7を参照のこと)のステップS75における制御周期毎の実行判定処理ステップの構成法にある.以下では,これらの実行可否判定処理の詳細について述べる。
図8には、実行可否判定部B64の機能構成を示している。実行可否判定部B64は、接地点検出部B81と、荷重(外力)分布決定部B82と、微分器B83と、逆動力学演算部B84と、NT領域判定部B85で構成される。
接地点検出部B81は、実時間歩行パターン生成部B63の副産物として得られた、時刻tにおける足底接地状態及び足底位置姿勢情報より、接地点情報を出力する。ここで、足底リンクには、接地点候補があらかじめ設けられているものとする。接地点候補には,各足底の凸包の頂点などを用いると良い。例えば,図1に示した各ロードセル(F1〜F8)の位置に接地点候補を設定する。接地点検出部は、以下のような接地点情報を作成・出力する。
左足接地時:
接地点情報=((接地リンク=左足底リンク,接地点=(F1〜F4)))
右足接地時:
接地点情報=((接地リンク=右足底リンク,接地点=(F5〜F8)))
両足接地時:
接地点情報=((接地リンク=左足底リンク,接地点=(F1〜F4))
(接地リンク=右足底リンク,接地点=(F5〜F8)))
荷重分布決定部B82は、実時間歩行パターン生成部B63の副産物として得られた、時刻tにおけるZMP位置及び重心加速度と、接地点検出部B81の出力した接地点情報を用いて、各接地点へ作用する反力分布を求める。一般に、ZMP位置が与えられたとき、そのZMP位置を実現する荷重分布は一意には定まらないため、例えば、以下の最適化問題を解くことで決定する。
Figure 0004457617
ここで、fext,iZはi番目の接地点における垂直反力、Fzは総垂直反力、cxi及びcyiはそれぞれi番目の接地点のX,Y座標、pZMP x、pZMP yはそれぞれZMPのX,Y座標を表している。上式は、全接地点の荷重合計が総床反力に等しく、ZMP回りのトルクが0になるという制約条件下で、各接地点の荷重の2乗和が最小となるような荷重分布を求めるものである。
このような最適化問題は、例えばLagrange乗数法や種々の2次計画法を用いて容易に解くことができる。総床反力Fzは、実ロボットの質量と、重心の垂直方向加速度と、重力加速度に基づいて、以下の式で容易に求められる。
Figure 0004457617
上式(1)に示した最適化問題を解くことで、各接地点( xi yi )に床面から作用する垂直反力fZi、すなわち床反力分布が決定される。摩擦力に関しても、与えられた重心加速度を満足する摩擦力の分布は一意には定まらないが、例えば、下式に示すようにロボットに作用する水平方向の力すなわち摩擦力が接地点に平均的に作用するとして求めることができる。
Figure 0004457617
ここで、Mは接地点総数、fext,iX、fext,iYはそれぞれ接地点iに作用するX及びY各方向の摩擦力である。Fx、Fyはロボットに作用する水平方向の力の総和であり、以下の式で求められる。
Figure 0004457617
荷重分布決定部B82は、以上の算出結果を基に、以下のような情報のリストを作成し、荷重分布情報として出力する。
(接地リンク,接地点p1,荷重値fext,1
(接地リンク,接地点p2,荷重値fext,2
...(接地リンク,接地点pN,荷重値fext,3
微分器B83は、仮想歩行制御系で算出された全身関節角及び基底位置・姿勢を数値微分し、全身関節角速度・角加速度、基底速度・加速度を算出する。ここでは、基底の姿勢は図9に示すように長さ0の3つの仮想リンクの関節角によって表現し、全身関節角をベクトルθ=(θ...θNTで表すものとする。このように仮想関節の概念を導入することにより、逆動力学演算の中で基底の姿勢を通常の関節として扱うことができる。但し、Nは仮想関節を含めた総関節数であり、図9の例ではN=34である。また、制御サイクル(離散時刻)kにおけるθの値をθ(k)とすると、その速度及び加速度は以下の式で再帰的に求められる。但し、dtは制御周期を表している
Figure 0004457617
また、基底の位置を図9のp0によって表現すると、その1階微分、2階微分の値も同様にして数値微分によって得ることができる。
Figure 0004457617
微分器B83は、関節角度・角速度・角加速度、基底位置・速度・加速度、基底姿勢角・基底角速度・基底角加速度の値として、θ(k)、dθ(k)、ddθ(k)、p0(k)、dp0(k)、ddp0(k)の値を出力する。
逆動力学演算部B84は、以上のようにして求められた荷重分布情報、関節角度・角速度・角加速度、基底位置・速度・加速度、基底姿勢角・基底角速度・基底角加速度を基に、各関節に要求されるトルクを算出する。より具体的には、ロボットの状態を図9に示したように宙に浮いた枝分かれのあるマニピュレータに、接地点に作用する外力fext,i(i=1…M)が印加されているとしてモデル化し、以下の手順(1)〜(4)により逆動力学演算を実行する。
(1)基底の角速度ω0、角加速度dω0、並進加速度ddp0を求める。並進加速度は、微分器B83からの出力に重力加速度g分を加算する。
Figure 0004457617
(2)基底から末端リンクに向かって再帰的にリンクiの角速度ωi、角加速度dωi、並進角速度ddpi、重心加速度ddriを求める。
Figure 0004457617
但し、pはリンクiの親リンクのインデクスを表し、qiはリンクiのジョイントの回転軸方向ベクトル、liはリンクpからリンクiへの相対位置ベクトル、aiはリンクiの原点からリンクiの重心への相対位置ベクトルを表している。
(3)末端リンクについてリンクiのジョイントに作用する力fi、モーメントni、トルクτiを求める。
Figure 0004457617
但し、miはリンクiの質量、Liはリンクiに作用する外力のインデクス集合、Iiはリンクiの慣性テンソル、sjはリンクiの原点から外力fext,jの作用点への相対位置ベクトル、Ji及びDiはアクチュエータ内の慣性、粘性抵抗係数を表す。
(4)末端リンクから基底に向かって、再帰的にリンクiのジョイントに作用する力、モーメント、トルクを求める。
Figure 0004457617
但し、Miはリンクiの子リンクのインデクス集合を表すものとする。
以上のような手順(1)〜(4)からなる逆動力学演算に従って、すべての関節トルクが算出される。本演算はO(N)の計算複雑度のため、順動力学計算に比べて高速なトルク算出が可能となる。なお、逆動力学演算の詳細については、例えば、長阪憲一郎著「動力学フィルタによる人間型ロボットの全身運動生成」(東京大学工学部情報工学専攻博士論文,1999)を参照されたい。
最後に、N−T領域判定部B85は、作成されたモーションが実機のアクチュエータで実行可能なパターンかどうかを、逆動力学演算部B84で得られた各関節のトルク情報と微分器B83で得られた各関節の角速度情報に基づいて、判定する。アクチュエータの静特性は、一般にN−T線図で与えられる。図10には、N−T線図を例示している。同図のハッチ領域内であれば、アクチュエータの出力が得られるが、それ以外の領域の回転数とトルクの組み合わせでは出力を得ることができない。よって、すべての関節について、回転数とトルクをこのようなN−T線図上にマッピングし、すべての点が所定のハッチ領域内に存在するかどうか判定を行なうことにより、比較的容易に実行可否を判定することができる。関節iの回転数Niは関節角速度dθiにより、以下の式で求められる。
Figure 0004457617
よって、関節iの発生トルクをτi、起動トルクをT0i、無負荷回転数をN0iとすると、下式に示す判定を実行すればよい。
Figure 0004457617
すべての実関節(図9中の関節θ4からθ34)についてN−T線図に基づく判定を行なう。そして、実行不能な関節が存在しない場合にはN−T領域判定部B85は「実行可能」を判定結果として出力するが、それ以外の場合は「実行不能」を判定結果として出力する。
図11には、実行可否判定部B64における上述した処理の流れをフローチャートの形式で示している。
足底接地状態及び足底姿勢情報より、接地点情報を作成した後(ステップS101)、式(1)の2次計画問題を解いて、各接地点に作用する垂直反力分布を求める(ステップS102)。
次いで、荷重等分配則に基づいて摩擦力分布を求める(ステップS103)。続いて、式(5)及び式(6)を用いて全身関節角及び基底位置・姿勢を数値微分し、全身関節角速度・角加速度,基底速度・加速度を算出する(ステップS104)。
次いで、基底から末端に向かって式(式)及び式(8)の漸化式を用いて逆動力学演算の正順計算を実行する(ステップS105)。また、これとは逆に、末端から基底に向かって式(9)及び式(10)の漸化式を用いて逆動力学演算の逆順計算を実行し(ステップS106)、すべてのジョイントにおけるトルクの算出を完了する。なお、この際、ステップS102並びにS103で算出した荷重分布を外力として作用させる。
最後に、すべての関節に関して関節角速度並びにトルクを式(12)に示した判定にかける。そして、実行不能な関節が存在しない場合は「実行可能」を判定結果とし、それ以外の場合は「実行不能」として処理を完了する。
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
本明細書中では、ZMP目標軌道を実現するときの外力分布に基づいて逆動力学演算により求められた全関節のトルクを、モーション作成システムで編集されたモーションなど運動パターンの実行可否の評価に用いているが、本発明の要旨はこれに限定されるものではない。例えば、本発明に係る方式により算出されたトルクを最小にするような実時間歩容の自動生成に利用することができる。あるいは、制御周期毎のトルク算出を行ない、アクチュエータの消費電力を算出したり、さらには機体駆動用バッテリの残存容量やアクチュエータの温度上昇を算出したりすることができる。
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置あるいはその他一般的な移動体装置であるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
図1は、本発明の実施に供される2脚2腕を有する人間型ロボットの自由度構成を示した図である。 図2は、本発明に係るロボットの動作制御システムの機能構成を模式的に示した図である。 図3は、実時間歩パターン生成部B25の機能構成を詳解した図である。 図4は、上体関節角時系列の一例を示した図である。 図5は、足部の運動の記述例を示した図である。 図6は、本発明の一実施形態に係るモーション作成システムの機能構成を模式的に示した図である。 図7は、上体運動軌道と歩行コマンド時系列からモーションの実行可否判定を得るための処理手順を示したフローチャートである。 図8は、実行可否判定部B64の機能構成を示した図である。 図9は、基底の姿勢を長さ0の3つの仮想関節によって表現した様子を示した図である。 図10は、N−T線図を示した図である。 図11は、実行可否判定部B64における処理の流れを示したフローチャートである。

Claims (9)

  1. 少なくとも上体と複数の可動脚を備えたロボットのモーション生成システムであって、前記上体の各関節角の時系列を記述した上体要求運動と前記可動脚の足部のステップ毎の歩容パラメータの時系列を記述した足部要求運動からなるモーション・データの前記ロボット上での実行の可否を判定するために、
    ZMP安定度判別規範に従って前記モーション・データを前記ロボット上で実行するための制御周期毎の全身の関節角の参照値を求解するとともに、その際の副産物として、制御周期毎のZMPの位置及び重心加速度、基底の位置及び姿勢、前記可動脚の足底の位置、姿勢及び接地状態を含む軌道情報を出力する実時間歩行パターン生成部と、
    前記可動脚の足底の位置、姿勢及び接地状態の情報に基づいて、接地点の位置判定する接地点検出部と、
    ZMPの位置及び重心加速度の情報と前記接地点検出部が判定する接地点の情報に基づいて、各接地点に作用する外力分布を求める外力分布決定部と、
    全身関節角と基底の位置及び姿勢を数値微分して、全身関節角速度、各加速度、基底の速度及び加速度を算出する微分器と、
    各接地点に作用する外力分布と、全身の関節角、角速度、角加速度と、基底の位置、姿勢、加速度、基底の姿勢角、角速度、角加速度に基づいて、各関節に要求されるトルクを逆動力学演算により算出する逆動力学演算部と、
    前記の算出された各関節のトルク及び角速度を各関節で使用するアクチュエータのトルクをその回転数の組み合わせをN−T線図上で照合して、該当するアクチュエータの性能の範囲内で実行可能か否かを判定するNT領域判定部と、
    を具備することを特徴とするモーション生成システム。
  2. 前記外力分布決定部は、複数の前記接地点に作用する垂直反力の2次形式を最小化するように、前記の各接地点に作用する垂直反力の値を決定する、
    ことを特徴とする請求項1に記載のモーション生成システム
  3. 前記外力分布決定部は、複数の前記接地点に作用する摩擦力が均一になるように、前記の各接地点に作用する摩擦力の値を決定する、
    ことを特徴とする請求項1に記載のモーション生成システム
  4. 前記逆動力学演算部により制御周期毎に算出されたトルクを最小にするようなモーション・データの自動生成を行なう運動安定化手段をさらに備える、
    ことを特徴とする請求項1に記載のモーション生成システム
  5. 前記逆動力学演算部により制御周期毎に算出されたトルクを基に、前記アクチュエータにおける消費電力を算出する電力管理手段をさらに備える、
    ことを特徴とする請求項1に記載のモーション生成システム
  6. 前記逆動力学演算部により制御周期毎に算出されたトルクを基に、前記アクチュエータにおける温度上昇を管理する温度管理手段をさらに備える、
    ことを特徴とする請求項1に記載のモーション生成システム
  7. 少なくとも上体と複数の可動脚備えたロボットにおける前記上体の各関節角の時系列を記述した上体要求運動と前記可動脚の足部のステップ毎の歩容パラメータの時系列を記述した足部要求運動からなるモーション・データを評価するロボットのためのモーション評価方法であって、
    ZMP安定度判別規範に従って前記モーション・データを前記ロボット上で実行するための制御周期毎の全身の関節角の参照値を求解するとともに、その際の副産物として、制御周期毎のZMPの位置及び重心加速度、基底の位置及び姿勢、前記可動脚の足底の位置、姿勢及び接地状態を含む軌道情報を出力する実時間歩行パターン生成ステップと、
    前記可動脚の足底の位置、姿勢及び接地状態の情報に基づいて、接地点の位置判定する接地点検出ステップと、
    ZMPの位置及び重心加速度の情報と前記接地点検出部が判定する接地点の情報に基づいて、各接地点に作用する外力分布を求める外力分布決定ステップと、
    全身関節角と基底の位置及び姿勢を数値微分して、全身関節角速度、各加速度、基底の速度及び加速度を算出する微分ステップと、
    各接地点に作用する外力分布と、全身の関節角、角速度、角加速度と、基底の位置、姿勢、加速度、基底の姿勢角、角速度、角加速度に基づいて、各関節に要求されるトルクを逆動力学演算により算出する逆動力学演算ステップと、
    前記の算出された各関節のトルク及び角速度を各関節で使用するアクチュエータのトルクをその回転数の組み合わせをN−T線図上で照合して、該当するアクチュエータの性能の範囲内で実行可能か否かを判定するNT領域判定ステップと、
    を有することを特徴とするロボットのためのモーション評価方法。
  8. 前記外力分布決定ステップでは、複数の前記接地点に作用する垂直反力の2次形式を最小化するように、前記の各接地点に作用する垂直反力の値を決定する、
    ことを特徴とする請求項7に記載のモーション評価方法。
  9. 前記外力分布決定ステップでは、複数の前記接地点に作用する摩擦力が均一になるように、前記の各接地点に作用する摩擦力の値を決定する、
    ことを特徴とする請求項7に記載のモーション評価方法。
JP2003330364A 2003-09-22 2003-09-22 モーション生成システム及びロボットのモーション評価方法 Expired - Fee Related JP4457617B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003330364A JP4457617B2 (ja) 2003-09-22 2003-09-22 モーション生成システム及びロボットのモーション評価方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003330364A JP4457617B2 (ja) 2003-09-22 2003-09-22 モーション生成システム及びロボットのモーション評価方法

Publications (3)

Publication Number Publication Date
JP2005096000A JP2005096000A (ja) 2005-04-14
JP2005096000A5 JP2005096000A5 (ja) 2006-10-19
JP4457617B2 true JP4457617B2 (ja) 2010-04-28

Family

ID=34459355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003330364A Expired - Fee Related JP4457617B2 (ja) 2003-09-22 2003-09-22 モーション生成システム及びロボットのモーション評価方法

Country Status (1)

Country Link
JP (1) JP4457617B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100998717B1 (ko) 2008-02-27 2010-12-07 동아대학교 산학협력단 이족 보행을 위한 인간형 로봇의 최적 궤적 생성 방법
KR101989965B1 (ko) * 2017-09-27 2019-06-17 주식회사 토룩 로봇 제어 시스템
JP7398090B2 (ja) * 2019-11-26 2023-12-14 東京都公立大学法人 情報処理装置、計算方法およびプログラム

Also Published As

Publication number Publication date
JP2005096000A (ja) 2005-04-14

Similar Documents

Publication Publication Date Title
JP3972854B2 (ja) ロボットの運動制御装置
JP4592276B2 (ja) ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム
JP7324932B2 (ja) 動的計画コントローラ
US9334002B2 (en) Balance control apparatus of robot and control method thereof
US7386364B2 (en) Operation control device for leg-type mobile robot and operation control method, and robot device
US7805218B2 (en) Robot device and control method of robot device
Nishiwaki et al. The experimental humanoid robot H7: a research platform for autonomous behaviour
Kim et al. Computationally-robust and efficient prioritized whole-body controller with contact constraints
US20050151497A1 (en) Robot and motion control method of robot
US20120316682A1 (en) Balance control apparatus of robot and control method thereof
Kashyap et al. Dynamic stabilization of NAO humanoid robot based on whole-body control with simulated annealing
Bouyarmane et al. Multi-contact motion planning and control
JP2007185756A (ja) 制御システム及び制御方法、並びにコンピュータ・プログラム
EP2428335A1 (en) Robot and control method thereof
Chignoli Trajectory optimization for dynamic aerial motions of legged robots
Mănoiu-Olaru et al. Stability analysis software platform dedicated for a hexapod robot
Yıldırım et al. ODE (Open Dynamics Engine) based stability control algorithm for six legged robot
Askari et al. Dynamic modeling and gait analysis for miniature robots in the absence of foot placement control
JP4457617B2 (ja) モーション生成システム及びロボットのモーション評価方法
Shen et al. Implementation of a robust dynamic walking controller on a miniature bipedal robot with proprioceptive actuation
Leng et al. Parameter design of biped robot motion system based on multi-objective optimization
McCrory et al. Generating humanoid multi-contact through feasibility visualization
Szőts et al. Design and control of a low-cost bipedal robot
Abdalla et al. An Efficient Paradigm for Feasibility Guarantees in Legged Locomotion
Hsu et al. A humanoid robotics simulation and control platform for NINO

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091218

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

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

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

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees