JP3614824B2 - Motion editing apparatus and motion editing method for legged mobile robot - Google Patents

Motion editing apparatus and motion editing method for legged mobile robot Download PDF

Info

Publication number
JP3614824B2
JP3614824B2 JP2002073423A JP2002073423A JP3614824B2 JP 3614824 B2 JP3614824 B2 JP 3614824B2 JP 2002073423 A JP2002073423 A JP 2002073423A JP 2002073423 A JP2002073423 A JP 2002073423A JP 3614824 B2 JP3614824 B2 JP 3614824B2
Authority
JP
Japan
Prior art keywords
motion
mobile robot
posture
legged mobile
data
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 - Lifetime
Application number
JP2002073423A
Other languages
Japanese (ja)
Other versions
JP2003266347A (en
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 JP2002073423A priority Critical patent/JP3614824B2/en
Publication of JP2003266347A publication Critical patent/JP2003266347A/en
Application granted granted Critical
Publication of JP3614824B2 publication Critical patent/JP3614824B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ロボットの所定の動作パターンを記述する一連のコマンド/データの作成・編集を支援するための動作編集装置及び動作編集方法に係り、特に、可動脚によりさまざまな作業を行なう脚式移動ロボットのための動作編集装置及び動作編集方法に関する。
【0002】
さらに詳しくは、本発明は、実機上での実行可能性を考慮しながら動作パターンの編集を支援する脚式移動ロボットのための動作編集装置及び動作編集方法に係り、特に、編集された動作パターンを実行時の姿勢安定性を考慮しながら編集作業を支援する脚式移動ロボットのための動作編集装置及び動作編集方法に関する。
【0003】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の”ROBOTA(奴隷機械)”に由来すると言われている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。
【0004】
最近では、イヌやネコのように4足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトのような2足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間形」若しくは「人間型」と呼ばれるロボット(humanoid robot)など、脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。
【0005】
ヒトの生体メカニズムや動作をエミュレートした脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット(humanoid robot)と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援などを行うことができる。
【0006】
脚式移動ロボットの用途の1つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行などである。
【0007】
また、脚式移動ロボットの他の用途として、上述の作業支援というよりも、生活密着型、すなわち人間との「共生」あるいは「エンターティンメント」という用途が挙げられる。この種のロボットは、ヒトあるいはイヌ(ペット)、クマなどの比較的知性の高い脚式歩行動物の動作メカニズムや四肢を利用した豊かな感情表現を忠実に再現する。また、あらかじめ入力された動作パターンを単に忠実に実行するだけではなく、ユーザ(あるいは他のロボット)から受ける言葉や態度(「褒める」とか「叱る」、「叩く」など)に対して動的に対応した、生き生きとした応答表現を実現することも要求される。
【0008】
従来の玩具機械は、ユーザ操作と応答動作との関係が固定的であり、玩具の動作をユーザの好みに合わせて変更することはできない。この結果、ユーザは同じ動作しか繰り返さない玩具をやがては飽きてしまうことになる。
【0009】
これに対し、知的なロボットは、動作に起因する行動モデルや学習モデルを備えており、外部からの音声や画像、触覚などの入力情報に基づいてモデルを変化させて動作を決定することにより、自律的な思考及び動作制御を実現する。ロボットが感情モデルや本能モデルを用意することにより、ロボット自身の感情や本能に従った自律的な行動を表出することができる。また、ロボットが画像入力装置や音声入出力装置を装備し、画像認識処理や音声認識処理を行うことにより、より高度な知的レベルで人間とのリアリスティックなコミュニケーションを実現することも可能となる。
【0010】
また、ユーザ操作などの外部からの刺激を検出したことに応答してこのモデルを変更する、すなわち「学習効果」を付与することによって、ユーザにとって飽きない又は好みに適応した動作パターンを提供することができる。
【0011】
昨今の脚式移動ロボットは高い情報処理能力を備えており、ロボットそのものを一種の計算機システムとして捉えることができる。したがって、ロボット上で実現される動作パターン、あるいは、複数の基本的な動作パターンの組合せによって構成される高度且つ複雑な一連の動作シーケンスは、コンピュータ・プログラミングと同様の作業によって構築される。
【0012】
実機を動作するモーション・データが数多く用意されることが、ロボット本体が普及していくためには必須である。したがって、ロボット用のモーション編集を行なうための開発環境の構築が強く望まれている。
【0013】
また、今後、産業界のみならず一般家庭や日常生活にもロボットが深く浸透していくことが予想される。とりわけ、エンターティンメント性を追求する製品に関しては、コンピュータやコンピュータ・プログラミングに関する高度な知識を持たない一般消費者層がロボットを購入して使用するケースが多いと予想される。このような一般ユーザにとっても、ロボットの動作シーケンスを対話的な処理により比較的容易且つ効率的に作成・編集することを支援するためのツール、すなわちモーション編集システムを提供することが好ましい。
【0014】
ロボットは、関節などの複数の制御点で構成されており、したがって、各制御点における位置や速度(関節角やその角速度)を入力していくことにより、機体動作を編集することができる。この点では、コンピュータ・グラフィックスにおけるキャラクタのアニメーション生成に類似する。しかしながら、仮想空間上での動作と実機動作とでは自ずと相違がある。脚式移動ロボットの場合には、単に関節角を駆動させただけでは所望の動作を実行することはできず、転倒することなく脚式作業を継続している必要がある。言い換えれば、姿勢の安定度を維持していることが、所望動作を実現することの前提となる。
【0015】
多くの場合、脚式移動ロボットの姿勢安定制御には、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にモーメントがゼロとなる点を探索するというZMP安定度判別規範を用いる。2足の脚式移動ロボットの場合、この支持多角形が極めて高いことから、姿勢安定制御はとりわけ困難とされている。
【0016】
機体の各制御点における指示値を画面入力してロボットのモーションを組むというモーション編集システムは既に存在するが、しかしながら、編集されたモーションで実機動作させる場合の姿勢安定性をチェックしたり、姿勢が安定化するように所望のモーションを修正するようなシステムは未だない。せっかく組まれたモーションでは機体の姿勢安定性を維持できず、モーション自体を実行することができないのでは、実質的にモーションを編集したことにはならない。
【0017】
【発明が解決しようとする課題】
本発明の目的は、可動脚によりさまざまな作業を行なう脚式移動ロボットのための、優れた動作編集装置及び動作編集方法を提供することにある。
【0018】
本発明のさらなる目的は、実機上での実行可能性を考慮しながら動作パターンの編集を支援することができる、脚式移動ロボットのための優れた動作編集装置及び動作編集方法を提供することにある。
【0019】
本発明のさらなる目的は、編集された動作パターンを実行時の姿勢安定性を考慮しながら編集作業を支援することができる、脚式移動ロボットのための優れた動作編集装置及び動作編集方法を提供することにある。
【0020】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、複数の関節角を備えた脚式移動ロボットのための動作編集装置又は動作編集方法であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力部又はステップと、
該入力された1以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成部又はステップと、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを検証し、及び/又は、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理部又はステップと、
を具備することを特徴とする脚式移動ロボットのための動作編集装置又は動作編集方法である。
【0021】
動作編集装置又は動作編集方法によれば、オペレータから入力された機体のポーズに従って、ポーズ間の動きの補間などを行ない、ロボットのモーションを編集する。そして、姿勢安定化処理部は、編集されたモーションが実機上で姿勢を安定させながら動作可能であるか否かを、ZMP安定度判別規範に基づいて検証するとともに、姿勢安定化が可能な動作パターンへの修正を行なう。この結果、実機での動作が保証された動作データを効率的に編集することが可能となる。
【0022】
ここで、前記姿勢データ入力部又はステップは、キーボードなどを用いて各関節角毎の変位値の直接入力を受容するようにしてもよい。
【0023】
あるいは、前記姿勢データ入力部又はステップは、ロボットを表わした3Dキャラクタ表示上で、ユーザによるポーズ変更操作が印加されたことに応答して、各関節角の変位値を逆キネマティクスにより算出するようにしてもよい。
【0024】
この場合、ユーザは、直感的なポーズ入力を行なうことができる。また、機体のうちでポーズを変更したい1以上の部位を指定して、該3Dキャラクタ表示上でのユーザによるポーズ変更操作に応じて、該指定された部位のみポーズを変更するようにしてもよい。
【0025】
また、前記動作生成部又はステップは、前記姿勢データ入力部又はステップにより入力された1以上の姿勢データを時系列的に組み合わせて各ポーズ間を補間することによりモーションを生成するようにしてもよい。
【0026】
また、前記動作生成部又はステップは、機体のうちでポーズを変更したい部位グループ毎に割り当てられたトラック上でポーズを時系列的に配置して該当部位グループにおけるモーションを生成するようにしてもよい。
【0027】
また、前記動作生成部又はステップは、優先順位付けされた複数のトラック上で各部位グループ毎のモーションを生成するとともに、優先順位に従って各部位グループ毎のモーションが競合しないように各トラックのモーションを重畳して機体全体のモーションを生成するようにしてもよい。
【0028】
また、前記姿勢安定化部又はステップは、前記動作生成部又はステップにより生成された動作データを基に、前記ロボットの機体に印加される各モーメントの釣合い関係を記述したZMP釣合い方程式を生成して、このZMP釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正するようにしてもよい。
【0029】
このとき、所定の優先順位に従った順番で、各部位毎に目標軌道を修正するようにしてもよい。例えば、機体上で質量操作量の大きさの順に各部位に目標軌道修正のための優先順位を与えるようにしてもよい。
【0030】
また、前記動作データ修正手段又はステップは、ZMP軌道を規制しながら、ZMP釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正することによって、所望の足部軌道を得るようにすることができる。
【0031】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0032】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0033】
A.脚式移動ロボットの機械的構成
図1及び図2には、本発明に係る動作編集システムによる動作編集となる脚式移動ロボット100の外観構成を示している。この脚式移動ロボット100は、「人間形」又は「人間型」と呼ばれ、図示の通り、脚式移動ロボット100は、胴体部と、頭部と、左右の上肢部と、脚式移動を行う左右2足の下肢部とで構成され、例えば胴体に内蔵されている制御部(図示しない)により機体の動作を統括的にコントロールするようになっている。
【0034】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【0035】
制御部は、この脚式移動ロボット100を構成する各関節アクチュエータの駆動制御や各センサ(後述)などからの外部入力を処理するコントローラ(主制御部)や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【0036】
このように構成された脚式移動ロボット100は、制御部による全身協調的な動作制御により、2足歩行を実現することができる。かかる2足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行われる。すなわち、
【0037】
(1)右脚を持ち上げた、左脚による単脚支持期
(2)右足が接地した両脚支持期
(3)左脚を持ち上げた、右脚による単脚支持期
(4)左足が接地した両脚支持期
【0038】
脚式移動ロボット100における歩行制御は、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行うことによって実現される。すなわち、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
【0039】
歩行動作の軌道修正を始めとして、機体の姿勢安定制御には、一般に、ZMPに対する偏差を小さくするための位置、速度、及び加速度が連続となるように、5次多項式を用いた補間計算により行う。ZMP(Zero Moment Point)を歩行の安定度判別の規範として用いている。ZMPによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形(すなわちZMP安定領域)の辺上あるいはその内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわち「ZMP(Zero Moment Point)」が存在する。
【0040】
図3には、この脚式移動ロボット100が具備する関節自由度構成を模式的に示している。同図に示すように、脚式移動ロボット100は、2本の腕部と頭部1を含む上肢と、移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
【0041】
頭部を支持する首関節(Neck)は、首関節ヨー軸1と、首関節ピッチ軸2と、首関節ロール軸3という3自由度を有している。
【0042】
また、各腕部は、その自由度として、肩(Shoulder)における肩関節ピッチ軸4と、肩関節ロール軸5と、上腕ヨー軸6、肘(Elbow)における肘関節ピッチ軸7と、手首(Wrist)における手首関節ヨー軸8と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
【0043】
また、体幹部(Trunk)は、体幹ピッチ軸9と、体幹ロール軸10という2自由度を有する。
【0044】
また、下肢を構成する各々の脚部は、股関節(Hip)における股関節ヨー軸11と、股関節ピッチ軸12と、股関節ロール軸13と、膝(Knee)における膝関節ピッチ軸14と、足首(Ankle)における足首関節ピッチ軸15と、足首関節ロール軸16と、足部とで構成される。
【0045】
但し、エンターティンメント向けの脚式移動ロボット100が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【0046】
上述したような脚式移動ロボット100が持つ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。本実施形態では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ACサーボ・アクチュエータを搭載することとした(この種のACサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開2000−299970号公報に開示されている)。本実施形態では、直結ギアとして低減速ギアを採用することにより、人間との物理的インタラクションを重視するタイプのロボット100に求められている駆動系自身の受動的特性を得ている。
【0047】
B.脚式移動ロボットの制御システム構成
図4には、脚式移動ロボット100の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット100は、ヒトの四肢を表現した各機構ユニット30,40,50R/L,60R/Lと、各機構ユニット間の協調動作を実現するための適応制御を行う制御ユニット80とで構成される(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下同様)。
【0048】
脚式移動ロボット100全体の動作は、制御ユニット80によって統括的に制御される。制御ユニット80は、CPU(Central Processing Unit)やメモリ等の主要回路コンポーネント(図示しない)で構成される主制御部81と、電源回路やロボット100の各構成要素とのデータやコマンドの授受を行うインターフェース(いずれも図示しない)などを含んだ周辺回路82とで構成される。
【0049】
本発明を実現する上で、この制御ユニット80の設置場所は特に限定されない。図4では体幹部ユニット40に搭載されているが、頭部ユニット30に搭載してもよい。あるいは、脚式移動ロボット100外に制御ユニット80を配備して、脚式移動ロボット100の機体とは有線若しくは無線で交信するようにしてもよい。
【0050】
図3に示した脚式移動ロボット100内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット30には、首関節ヨー軸1、第1及び第2の首関節ピッチ軸2A及び2B、首関節ロール軸3の各々を表現する首関節ヨー軸アクチュエータA、首関節ピッチ軸アクチュエータA2A及びA2B、首関節ロール軸アクチュエータAが配設されている。
【0051】
また、体幹部ユニット40には、体幹ピッチ軸9、体幹ロール軸10の各々を表現する体幹ピッチ軸アクチュエータA、体幹ロール軸アクチュエータA10が配備されている。
【0052】
また、腕部ユニット50R/Lは、上腕ユニット51R/Lと、肘関節ユニット52R/Lと、前腕ユニット53R/Lに細分化されるが、肩関節ピッチ軸4、肩関節ロール軸5、上腕ヨー軸6、肘関節ピッチ軸7、手首関節ヨー軸8の各々を表現する肩関節ピッチ軸アクチュエータA、肩関節ロール軸アクチュエータA、上腕ヨー軸アクチュエータA、肘関節ピッチ軸アクチュエータA、手首関節ヨー軸アクチュエータAが配備されている。
【0053】
また、脚部ユニット60R/Lは、大腿部ユニット61R/Lと、膝ユニット62R/Lと、脛部ユニット63R/Lに細分化されるが、股関節ヨー軸11、股関節ピッチ軸12、股関節ロール軸13、膝関節ピッチ軸14、足首関節ピッチ軸15、足首関節ロール軸16の各々を表現する股関節ヨー軸アクチュエータA11、股関節ピッチ軸アクチュエータA12、股関節ロール軸アクチュエータA13、膝関節ピッチ軸アクチュエータA14、足首関節ピッチ軸アクチュエータA15、足首関節ロール軸アクチュエータA16が配備されている。
【0054】
各関節に用いられるアクチュエータA,A,A…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ACサーボ・アクチュエータ(前述)で構成することができる。
【0055】
頭部ユニット30、体幹部ユニット40、腕部ユニット50、各脚部ユニット60などの各機構ユニット毎に、アクチュエータ駆動制御用の副制御部35,45,55,65が配備されている。
【0056】
機体の体幹部40には、加速度センサ95と姿勢センサ96が配設されている。加速度センサ95は、X,Y,Z各軸方向に配置する。機体の腰部に加速度センサ95を配設することによって、質量操作量が大きな部位である腰部を制御目標点として設定して、その位置における姿勢や加速度を直接計測して、ZMPに基づく姿勢安定制御を行なうことができる。
【0057】
また、各脚部60R,Lには、接地確認センサ91及び92と、加速度センサ93,94がそれぞれ配設されている。接地確認センサ91及び92は、例えば足底に圧力センサを装着することにより構成され、床反力の有無により足底が着床したか否かを検出することができる。また、加速度センサ93,94は、少なくともX及びYの各軸方向に配置する。左右の足部に加速度センサ93,94を配設することにより、ZMP位置に最も近い足部で直接ZMP釣合い方程式を組み立てることができる(後述)。
【0058】
質量操作量が大きな部位である腰部にのみ加速度センサを配置した場合、腰部のみが制御目標点に設定され、足部の状態は、この制御目標点の計算結果を基に相対的に算出しなければならず、足部と路面との間では以下の条件を満たすことが、前提となってしまう。
【0059】
(1)路面はどんな力やトルクが作用しても動くことがない。
(2)路面での並進に対する摩擦係数は充分に大きく、滑りが生じない。
【0060】
これに対し、本実施形態では、路面との接触部位である足部にZMPと力を直接する反力センサ・システム(床反力センサなど)を配備するとともに、制御に用いるローカル座標とその座標を直接的に計測するための加速度センサを配設する。この結果、ZMP位置に最も近い足部で直接ZMP釣合い方程式を組み立てることができ、上述したような前提条件に依存しない、より厳密な姿勢安定制御を高速で実現することができる。この結果、力やトルクが作用すると路面が動いてしまう砂利上や毛足の長い絨毯上や、並進の摩擦係数が充分に確保できずに滑りが生じ易い住居のタイルなどであっても、機体の安定歩行(運動)を保証することができる。
【0061】
主制御部80は、各センサ91〜93の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部35,45,55,65の各々に対して適応的な制御を行い、脚式移動ロボット100の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現する。
【0062】
ロボット100の機体上での全身運動は、足部運動、ZMP(Zero Moment Point)軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部35,45,55,65に転送する。そして、各々の副制御部35,45…では、主制御部81からの受信コマンドを解釈して、各アクチュエータA,A,A…に対して駆動制御信号を出力する。ここで言う「ZMP」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ZMP軌道」とは、例えばロボット100の歩行動作期間中にZMPが動く軌跡を意味する(前述)。
【0063】
C.モーション編集システム
図5には、本発明の一実施形態に係るモーション編集システムの機能構成を模式的に示している。
【0064】
図示のモーション編集システム1000は、ポーズ入力部1001と、モーション編集部1002と、姿勢安定化処理部1003と、モーション再生部1004とを備えている。
【0065】
ポーズ入力部1001は、例えば、キーボードとマウス、ディスプレイなどのユーザ・インターフェースで構成され、オペレータは、モーション編集部1002によって提供されるGUI(Graphical User Interface)画面に従ってロボット100のポーズを入力することができる。
【0066】
機体のポーズは、機体の全身に配設された各関節軸の変位角で表わされる。本実施形態に係るモーション編集部1002は、ポーズの入力方式として、各関節軸の変位角の直接入力を受け容れる以外に、機体の3Dアニメーション・キャラクタを介して支持されたポーズから逆キネマティクスにより各関節軸の変位角を求める方式を備えている。
【0067】
モーション編集部(Motion Editor)1002は、ポーズ入力部1001を介してオペレータから入力された機体のポーズに従って、ポーズ間の動きの補間などを行ない、モーションを編集する。このとき、2以上のポーズを時系列的に組み合わせていくだけでなく、部位毎に編集されたポーズを並列的に組み合わせることも可能である。
【0068】
姿勢安定化処理部(Stabilizer)1003は、モーション編集部1002において編集されたモーションが実機上で姿勢を安定させながら動作可能であるか否かを、ZMP安定度判別規範に基づいて検証するとともに、姿勢安定化が可能な動作パターンへの修正を行なう。
【0069】
ここで、ZMPによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。姿勢安定化処理部1003は、足底接地点と路面の形成する支持多角形内のZMP安定領域内にZMPが収容されるように、モーション実行中のZMP軌道を計画する。オペレータは、所望のZMP位置又はZMP軌道をあらかじめ指定することができる。
【0070】
モーション再生部1004は、モーション編集部1002によって編集され、姿勢安定化処理部1003によって修正されたモーション・データを基に、機体動作のシミュレーションを画面表示する。
【0071】
このようなモーション編集システム100による編集結果は、所定フォーマットのモーション・ファイルとして保管される。このモーション・ファイルを脚式移動ロボット100にインストールすることによって、実機動作によりモーションを再生することができる。
【0072】
C−1.ポーズの入力
オペレータは、モーション編集部1002によって提供されるGUI(Graphical User Interface)画面に従ってロボット100のポーズを入力することができる。機体のポーズは、機体の全身に配設された各関節軸の変位角で表わされる。
【0073】
本実施形態では、ポーズの入力方式として、各関節軸の変位角の直接入力する方法と、機体の3Dアニメーション・キャラクタを介して支持されたポーズから逆キネマティクスにより各関節軸の変位角を求める方式を用意する。
【0074】
前者の直接入力方式では、例えば図6に示すような入力画面を用いてポーズを指示することができる。同図に示す画面では、機体の関節自由度構成に沿って関節角入力ボックスが配設されているので、オペレータは所望の関節付近の入力ボックス内にマウスでカーソルを置いた後、キーボードを使って所望の値を与えることができる。また、入力ボックスの右端の”+”ボタンをクリックすることによって、すでに入力されている値をインクリメントすることができる。入力ボックスに新しい値を書き込むと、現在実行中のポーズとして保管される。
【0075】
なお、直接入力方式の場合、図6に示すような入力画面上でユーザのマニュアル入力に頼る以外に、モーション・キャプチャや、実機上でのダイレクト・ティーチングにより得られた各関節角の変位量を入力データとして用いることもできる。
【0076】
また、図7には、機体の3Dアニメーション・キャラクタを介して指示されたポーズから逆キネマティクスにより各関節軸の変位角を求めるための概略的な処理手順を示している。
【0077】
同図に示すように、逆キネマティクスによるポーズ指定方式は、ポーズを変更したい部位を指定した後、脚式移動ロボット100を表わした3Dキャラクタ上の指定部位に動きを与える。指定部位の操作には、マウスのドラッグなどの機能を利用することができる。そして、指定部位を動作後、逆キネマティクスにより、画面上のポーズを形成するための各関節角の変位量が算出される。算出値は、図6に示した変位角指定画面の入力ボックスに反映される。
【0078】
図8には、機体の3Dアニメーション・キャラクタを介してポーズを指示するための3Dビューア画面の構成例を示している。
【0079】
オペレータは、図示の3Dビューア画面に表示されている3Dキャラクタ上で指定された部位をマウスでドラッグすることにより、その部位に所望の動きを与えることができる。
【0080】
このビューア画面の左側縁には、カメラ・モード・ボタンが配設されており、”Front”、”Back”、”Left”、”Right”、”Top”、”Bottom”など、3Dキャラクタを眺める(表示する)向きを指定することができる。
【0081】
また、ビューア画面の下端縁には、部位指定ボタンが配置されており、オペレータは、これらのうちいずれかを押すことによって、動きを与えたい部位を指定することができる。図示の例では、左から順に、左腕、右腕、左脚、右脚を指定するボタンが配設されている。また、A、B、Cの各ボタンの定義はユーザ・プログラムブルであり、オペレータは2以上の部位を同時指定する場合のショートカット・ボタンとして利用することができる。
【0082】
また、ビューア画面の左下端には、IK(逆キネマティクス)ボタンが配設されている。このIKボタンを選択すると、図9に示すようなIK関節角グループ化ウィンドウが出現する。
【0083】
このIK関節角グループ化ウィンドウ内では、機体の関節自由度構成が描かれており、オペレータはポーズを変更したい部位を直接クリックすることによって指定することができる。あるいは、画面右端縁に沿って配設された部位指定ボタンを利用して、グループ化したい部位を選択することもできる。
【0084】
また、同ウィンドウの上方には、IK関節角グループの属性を指定するためのチェック・ボックスが配設されている。
【0085】
“Maintain End Effect Orientation”をチェックすることにより、脚部を操作するときの足底の姿勢を維持するようにすることができる。
【0086】
また、”Move X/Move Y/Move Z”をチェックすることにより、3Dキャラクタの指定部位を操作するときの操作方向を各方向に限定することができる。
【0087】
このようにポーズを変更したい部位を指定した後、図8に示す3Dビューア画面に戻って、3Dキャラクタ上で指定された部位をマウスでドラッグすることにより、ポーズを変更する。図10には、左右両足を変更部位として指定した後、3Dキャラクタを用いてポーズを変更する様子を描いている。この場合、オペレータは、例えば股関節付近をマウス・カーソルでつかんで、画面上を上下左右に走査することができる。図10に示す例では、オペレータが印加する操作に応じて、足底の位置や姿勢を変化させずに、腰の位置や姿勢だけを変化させている。
【0088】
C−2.モーションの生成
モーション編集部(Motion Editor)1002は、ポーズ入力部1001を介してオペレータから入力された機体のポーズに従って、ポーズ間の動きの補間などを行ない、モーションを編集する。このとき、2以上のポーズを時系列的に組み合わせていくだけでなく、部位毎に編集されたポーズを並列的に組み合わせることも可能である。
【0089】
作成されたポーズは、「トラック」と呼ばれるモーション編集フィールド上に登録される。すなわち、図6に示すような関節軸の変位角入力画面により指定されたポーズ、あるいは図8に示すような3Dビューア画面上で指示され逆キネマティクスにより求められたポーズは、トラック上に逐次配置されていく。図11には、あるトラック上に複数のポーズが時系列的に配置されている様子を示している。
【0090】
トラックの横軸は時間軸に相当する。作成されたポーズを表わすアイコンが、トラック上でデフォルト間隔をあけて順次配置されていく。トラック上でアイコンを水平方向にドラッグすることにより、ポーズの再生時刻をスライドさせることができる。隣接するポーズ間は、例えばリニア補間やスプライン補間などの手法を用いて補間されて、モーションとなる。
【0091】
1つのトラック上では、指定部位が同じポーズしか扱われない。すなわち、IK関節角グループ毎にトラックが用意される。例えば、あるトラック上で右腕を指定部位としたポーズからなるモーションを編集中に、左脚を指定部位とするポーズが入力されてきた場合(あるいは、右腕以外の部位、又は右腕とともにそれ以外の部位が指定されている場合)、別のトラックに登録される。
【0092】
図12には、IK関節角グループ毎にトラックが配設されている様子を示している。各トラックは、該当するIK関節角グループにおいて規定されたポーズからなるモーションを取り扱う。図示の例では、上から順に、右腕、左脚、左脚…、全身の順にトラックが配置されている。
【0093】
優先順位に従って上からトラックが配置されるようになっている。図示のようにトラック単位すなわちIK関節角グループ単位でポーズの作成を行なった後、再生を行なうと、優先順位に従って機体動作の再生が行なわれる。
【0094】
図12に示す例では、優先順位の高い右腕のポーズの発現が優先される。次いで、左脚のポーズの発現が優先されるが、右腕と左脚とでは機体ハードウェアの干渉はないので、左脚のポーズはほぼそのまま再生されることになる。
【0095】
また、左脚をIK関節角グループとするトラックがさらに続いた場合には、優先順位が上位のトラックと緩衝するので、モーション再生時にこのトラックのポーズは発現されない。
【0096】
また、全身を指定部位とするトラックが続く場合、右腕、左脚など優先するトラックと競合しない範囲でポーズの発現が行なわれる。
【0097】
このようなトラック毎に部位単位でのポーズの編集を許容するようなシステムにおいては、高優先順位のトラックを特定の部位に割り当て、上半身や下半身、全身など比較的大きな部位の組み合わせのポーズ編集には低優先順位のトラックを使用することが、編集作業の効率上好ましいと思料される。
【0098】
C−3.姿勢安定化処理
姿勢安定化処理部1003は、モーション編集部1002において編集されたモーションが実機上で姿勢を安定させながら動作可能であるか否かを、実機上の各関節角に変位量を投入して、ZMP安定度判別規範に基づいて検証するとともに、姿勢安定化が可能な動作パターンへの修正を行なう。
【0099】
ZMPを安定度判別規範に用いたロボットの姿勢安定度制御は、基本的には足底接地点と路面の形成する支持多角形の辺上あるいはその内側にモーメントがゼロとなる点を探索することにある。すなわち、ロボットの機体に印加される各モーメントの釣合い関係を記述したZMP釣合い方程式を導出して、このZMP釣合い方程式上で現れるモーメント・エラーを打ち消すように機体の目標軌道を修正する。
【0100】
姿勢安定化処理部1003は、足底接地点と路面の形成する支持多角形内のZMP安定領域内にZMPが収容されるように、編集されたモーションのZMP軌道を計画する。オペレータは、所望のZMP位置又はZMP軌道をあらかじめ指定することができる。
【0101】
C−3−1.ZMP釣合い方程式の導入
脚式移動ロボット100は無限のすなわち連続的な質点の集合体であるが、ここでは有限数で離散的な質点からなる近似モデルに置き換えることによって、安定化処理のための計算量を削減するようにしている。より具体的には物理的には図3に示す多関節自由度構成を具備する脚式移動ロボット100を、図13に示すように多質点近似モデルに置き換えて取り扱う。図示の近似モデルは、線形且つ非干渉の多質点近似モデルである。
【0102】
図13において、O−XYZ座標系は絶対座標系におけるロール、ピッチ、ヨー各軸を表し、また、O’−X’Y’Z’座標系はロボット100とともに動く運動座標系におけるロール、ピッチ、ヨー各軸を表している。但し、図中におけるパラメータの意味は以下の通りである。また、ダッシュ(´)付きの記号は運動座標系を記述するものと理解されたい。
【0103】
【数1】

Figure 0003614824
【0104】
同図に示す多質点モデルでは、iはi番目に与えられた質点を表す添え字であり、mはi番目の質点の質量、r ’はi番目の質点の位置ベクトル(但し運動座標系)を表すものとする。本実施形態に係る脚式移動ロボット100の機体重心は腰部付近に存在する。すなわち、腰部は、質量操作量が最大となる質点であり、図13では、その質量はm、その位置ベクトル(但し運動座標系)はr’(r’hx,r’hy,r’hz)とする。また、機体のZMPの位置ベクトル(但し運動座標系)をr’zmp(r’zmpx,r’zmpy,r’zmpz)とする。
【0105】
世界座標系O−XYZは絶対座標系であり、不変である。本実施形態に係る脚式移動ロボット100は、腰部と両脚の足部にそれぞれ加速度センサ93、94、96が配置されているので、実機上ではこれらセンサ出力により腰部並びに立脚それぞれと世界座標系の相対位置ベクトルrが検出される。これに対し、運動座標系すなわち機体のローカル座標系はO−X’Y’Z’は、ロボットともに動く。
【0106】
多質点モデルは、言わば、ワイヤフレーム・モデルの形態でロボットを表現したものである。図13を見ても判るように、多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定される。図示の非厳密の多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない。多質点近似モデルは、概ね以下の処理手順により生成することができる。
【0107】
(1)ロボット100全体の質量分布を求める。
(2)質点を設定する。質点の設定方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
(3)各領域i毎に、重心を求め、その重心位置と質量mを該当する質点に付与する。
(4)各質点mを、質点位置rを中心とし、その質量に比例した半径に持つ球体として表示する。
(5)現実に連結関係のある質点すなわち球体同士を連結する。
【0108】
なお、図13に示す多質点モデルの腰部情報における各回転角(θhx,θhy,θhz)は、脚式移動ロボット100における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである(図14には、多質点モデルの腰部周辺の拡大図を示しているので、確認されたい)。
【0109】
機体のZMP方程式は、制御目標点において印加される各モーメントの釣合い関係を記述したものである。図14に示したように、機体を多数の質点mで表わし、これらを制御目標点とした場合、すべての制御目標点mにおいて印加されるモーメントの総和を求める式がZMP釣合い方程式である。
【0110】
世界座標系(O−XYZ)で記述された機体のZMP釣合い方程式、並びに機体のローカル座標系(O−X’Y’Z’)はそれぞれ以下の通りとなる。
【0111】
【数2】
Figure 0003614824
Figure 0003614824
【0112】
上式は、各質点mにおいて印加された加速度成分により生成されるZMP回り(半径r−rzmp)のモーメントの総和と、各質点mに印加された外力モーメントMの総和と、外力Fkにより生成されるZMP回り(k番目の外力Fの作用点をsとする)のモーメントの総和が釣り合うということを記述している。
【0113】
このZMP釣合い方程式は、総モーメント補償量すなわちモーメント・エラー成分Tを含んでいる。このモーメント・エラーをゼロ又は所定の許容範囲内に抑えることによって、機体の姿勢安定性が維持される。言い換えれば、モーメント・エラーをゼロ又は許容値以下となるように機体運動(足部運動や上半身の各部位の軌道)を修正することが、ZMPを安定度判別規範とした姿勢安定制御の本質である。
【0114】
本実施形態では、腰部と左右の足部にそれぞれ加速度センサ96,93及び94が配設されているので(図4を参照のこと)、実機動作においてはこれらの制御目標点における加速度計測結果を用いて直接的に且つ高精度に上記のZMP釣合い方程式を導出することができる。この結果、高速でより厳密な姿勢安定制御を実現することができる。
【0115】
C−3−2.全身協調型の姿勢安定制御
図15には、モーション編集部1002により生成された機体のモーションを安定化処理するための手順をフローチャートの形式で示している。但し、以下の説明では、図13及び図14に示すような線形・非干渉多質点近似モデルを用いて脚式移動ロボット100の各関節位置や動作を記述するものとする。
【0116】
まず、足部運動の設定を行う(ステップS1)。足部運動は、2以上の機体のポーズを時系列的に連結されてなるモーション・データである。
【0117】
モーション・データは、モーション編集部1002により生成されたデータであり、足部の各関節角の変位を表わした関節空間情報と、関節位置を表わしたデカルト空間情報で構成される。
【0118】
次いで、設定された足部運動を基にZMP安定領域を算出する(ステップS2)。ZMPは、機体に印加されるモーメントがゼロとなる点であり、基本的には足底接地点と路面の形成する支持多角形の辺上あるいはその内側に存在する。ZMP安定領域は、この支持多角形のさらに内側に設定された領域であり、該領域にZMPを収容させることによって機体を高度に安定した状態にすることができる。
【0119】
そして、足部運動とZMP安定領域を基に、足部運動中におけるZMP軌道を設定する(ステップS3)。
【0120】
また、機体の上半身(股関節より上側)の各部位については、腰部、体幹部、上肢、頭部などのようにグループ設定する(ステップS11)。
【0121】
そして、各部位グループごとに希望軌道を設定する(ステップS12)。上半身の希望軌道の設定は、モーション編集部1002において行なわれる。
【0122】
次いで、各部位のグループ設定の調整(再グルーピング)を行ない(ステップS13)、さらにこれらグループに対して優先順位を与える(ステップS14)。ここで言う優先順位とは、機体の姿勢安定制御のため処理演算に投入する順位のことであり、例えば質量操作量に応じて割り振られる。この結果、機体上半身についての各部位についての優先順位付き希望軌道群が出来上がる。
【0123】
また、機体上半身の各部位グループ毎に、モーメント補償に利用できる質量を算出しておく(ステップS15)。
【0124】
そして、足部運動とZMP軌道、並びに上半身の各部位グループ毎の希望軌道群を基に、ステップS14により設定された優先順位に従って、各部位グループの運動パターンを姿勢安定化処理に投入する。
【0125】
この姿勢安定化処理では、まず、処理変数iに初期値1を代入する(ステップS20)。そして、優先順位が先頭からi番目までの部位グループについての目標軌道設定時における、目標ZMP上でのモーメント量すなわち総モーメント補償量を算出する(ステップS21)。目標軌道が算出されていない部位については、希望軌道を用いる。
【0126】
次いで、ステップS15において算出された当該部位のモーメント補償に利用できる質量を用いて、そのモーメント補償量を設定して(ステップS22)、モーメント補償量を算出する(ステップS23)。
【0127】
次いで、算出されたi番目の部位のモーメント補償量を用いて、i番目の部位についてのZMP方程式を導出して(ステップS24)、当該部位のモーメント補償運動を算出することにより(ステップS25)、優先順位が先頭からi番目までの部位についての目標軌道を得ることができる。
【0128】
このような処理をすべての部位グループについて行なうことにより、安定運動(例えば歩行)が可能な全身運動パターンが生成される。
【0129】
C−3−3.ZMP軌道の規制
姿勢安定化処理部1003は、モーション編集部1002において編集されたモーションを、姿勢安定化が可能な動作パターンに修正する。
【0130】
一方、モーション編集部1002は、足部運動の生成に際し、足底の接地位置を指定することはできるが、この段階では機体の重心位置を設定することはできない。そこで、姿勢安定化処理部1003において、オペレータからのZMP軌道の入力を受け容れて、これに基づいてZMP釣合い方程式を立てて、姿勢安定化制御を行なう。
【0131】
ここで、図16に示すような、基本立ち姿勢から右足を開いて再び右足を閉じて基本立ち姿勢に戻るというモーションをモーション編集部1002で作成したとする。
【0132】
図17には、図16で示したモーションに対して、ZMP軌道を規制して姿勢安定化処理を行なった結果を示している。
【0133】
まず、初期姿勢としての基本立ち姿勢からZMPを左足方向に移動させることにより、右足を開く。
【0134】
ここで、ZMP軌道を規制しているので、ZMPは左足に保たれる。
【0135】
その後、右足を閉じると、初期姿勢に戻る。
【0136】
また、図18には、図16で示したモーションに対して、ZMP軌道を規制して姿勢安定化処理を行なった結果を示している。
【0137】
まず、初期姿勢としての基本立ち姿勢からZMPを左足方向に移動させることにより、右足を開く。
【0138】
このとき、ZMP軌道を規制していないので、姿勢安定化処理により、ZMPが両足の中心まで戻る。
【0139】
そして、ZMPを右足方向へ移動させた後、ZMPを再度左足方向へ移動させると、右足を閉じ、初期の姿勢へ戻る。
【0140】
[追補]
以上、特定の実施例を参照しなら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【0141】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【0142】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0143】
【発明の効果】
以上詳記したように、本発明によれば、可動脚によりさまざまな作業を行なう脚式移動ロボットのための、優れた動作編集装置及び動作編集方法を提供することができる。
【0144】
また、本発明によれば、実機上での実行可能性を考慮しながら動作パターンの編集を支援することができる、脚式移動ロボットのための優れた動作編集装置及び動作編集方法を提供するができる。
【0145】
また、本発明によれば、実機上での実行時の姿勢安定性を考慮しながら動作パターンの編集作業を支援することができる、脚式移動ロボットのための優れた動作編集装置及び動作編集方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施に供される脚式移動ロボットが直立している様子を前方から眺望した様子を示した図である。
【図2】本発明の実施に供される脚式移動ロボットが直立している様子を後方から眺望した様子を示した図である。
【図3】脚式移動ロボットが具備する関節自由度構成を模式的に示した図である。
【図4】脚式移動ロボット100の制御システム構成を模式的に示した図である。
【図5】本発明の一実施形態に係るモーション編集システムの機能構成を模式的に示した図である。
【図6】脚式移動ロボット100のポーズを規定する各関節軸の変位角を指定するための画面の構成例を示した図である。
【図7】逆キネマティクスにより各関節軸の変位角を求める場合の概略的な処理手順を示した図である。
【図8】機体の3Dアニメーション・キャラクタを介してポーズを指示するための3Dビューア画面の構成例を示した図である。
【図9】IK関節角グループ化ウィンドウの構成例を示した図である。
【図10】左右両足を変更部位として指定した後、3Dキャラクタを用いてポーズを変更する様子を描いた図である。
【図11】あるトラック上に複数のポーズが時系列的に配置されている様子を示した図である。
【図12】IK関節角グループ毎にトラックが配設されている様子を示した図である。
【図13】脚式移動ロボット100の多質点近似モデルを示した図である。
【図14】多質点モデルの腰部周辺の拡大図を示した図である。
【図15】モーション編集部1002により生成された機体のモーションを安定化処理するための手順を示したフローチャートである。
【図16】モーション編集部1002により生成したモーションを示した図である。
【図17】ZMP軌道を規制した場合の図16で示したモーションに対する姿勢安定化処理結果を示した図である。
【図18】ZMP軌道を規制しない場合の図16で示したモーションに対する姿勢安定化処理結果を示した図である。
【符号の説明】
1…首関節ヨー軸
2A…第1の首関節ピッチ軸
2B…第2の首関節(頭)ピッチ軸
3…首関節ロール軸
4…肩関節ピッチ軸
5…肩関節ロール軸
6…上腕ヨー軸
7…肘関節ピッチ軸
8…手首関節ヨー軸
9…体幹ピッチ軸
10…体幹ロール軸
11…股関節ヨー軸
12…股関節ピッチ軸
13…股関節ロール軸
14…膝関節ピッチ軸
15…足首関節ピッチ軸
16…足首関節ロール軸
30…頭部ユニット,40…体幹部ユニット
50…腕部ユニット,51…上腕ユニット
52…肘関節ユニット,53…前腕ユニット
60…脚部ユニット,61…大腿部ユニット
62…膝関節ユニット,63…脛部ユニット
80…制御ユニット,81…主制御部
82…周辺回路
91,92…接地確認センサ
93,94…加速度センサ
95…姿勢センサ
96…加速度センサ
100…脚式移動ロボット
1000…モーション編集システム
1001…ポーズ入力部
1002…モーション編集部
1003…姿勢安定化処理部
1004…モーション再生部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motion editing apparatus and a motion editing method for supporting creation / editing of a series of commands / data describing a predetermined motion pattern of a robot, and in particular, leg-type movement for performing various operations with a movable leg. The present invention relates to a motion editing apparatus and a motion editing method for a robot.
[0002]
More particularly, the present invention relates to a motion editing apparatus and a motion editing method for a legged mobile robot that supports editing of motion patterns while considering feasibility on an actual machine, and more particularly, edited motion patterns. The present invention relates to a motion editing apparatus and a motion editing method for a legged mobile robot that supports editing work in consideration of posture stability during execution.
[0003]
[Prior art]
A mechanical device that uses an electrical or magnetic action to perform a movement resembling human movement is called a “robot”. It is said that the word “robot” comes from the Slavic word “ROBOTA (slave machine)”. In Japan, robots started to spread from the end of the 1960s, but many of them are industrial robots such as manipulators and transfer robots for the purpose of automating and unmanned production operations in factories. Met.
[0004]
Recently, the model is based on the body mechanism and movement of a four-legged animal such as a dog or a cat, or a pet-type robot that mimics its movement, or a human-like animal that walks upright on two legs. Research and development related to legged mobile robots such as the “humanoid” or “humanoid” robots have been progressed, and expectations for practical use are also increasing.
[0005]
A legged mobile robot that emulates a human biological mechanism or movement is particularly called a “humanoid” or “humanoid robot”. The humanoid robot can provide, for example, life support, that is, support for human activities in various situations in daily life such as a living environment.
[0006]
One of the uses of legged mobile robots is to perform various difficult operations in industrial activities and production activities. For example, maintenance work at nuclear power plants, thermal power plants, petrochemical plants, transportation and assembly work of parts at manufacturing plants, cleaning of high-rise buildings, substitution of dangerous work and difficult work such as rescue at fire sites etc. .
[0007]
Further, as other uses of the legged mobile robot, rather than the above-described work support, there is a life-contact type, that is, a “symbiosis” or “entertainment” with a human. This type of robot faithfully reproduces the rich emotional expression using the movement mechanism and limbs of relatively intelligent legged walking animals such as humans, dogs (pets), and bears. In addition, it does not simply execute a pre-input motion pattern faithfully, but dynamically responds to words and attitudes received from the user (or other robots) (such as “giving up”, “speaking”, “hitting”). It is also required to realize corresponding and vivid response expressions.
[0008]
In the conventional toy machine, the relationship between the user operation and the response operation is fixed, and the operation of the toy cannot be changed according to the user's preference. As a result, the user eventually gets bored with the toy that repeats only the same action.
[0009]
In contrast, intelligent robots are equipped with behavioral models and learning models due to movement, and by determining the movement by changing the model based on input information such as voice, images, and touch from the outside. Realize autonomous thinking and motion control. By preparing an emotion model and instinct model, the robot can express autonomous behavior according to the emotion and instinct of the robot itself. In addition, robots equipped with image input devices and voice input / output devices and performing image recognition processing and voice recognition processing can realize realistic communication with humans at a higher intelligent level. .
[0010]
In addition, by changing this model in response to detection of external stimuli such as user operations, that is, by providing a “learning effect”, it is possible to provide an operation pattern that does not get bored or adapts to preferences Can do.
[0011]
Recent legged mobile robots have high information processing capabilities, and the robot itself can be regarded as a kind of computer system. Therefore, a high-level and complicated series of motion sequences configured by motion patterns realized on a robot or a combination of a plurality of basic motion patterns is constructed by operations similar to computer programming.
[0012]
It is indispensable to prepare a lot of motion data to operate the actual machine in order to spread the robot body. Therefore, it is strongly desired to establish a development environment for performing motion editing for robots.
[0013]
In the future, it is expected that the robot will deeply penetrate not only the industry but also general households and daily life. In particular, for products that pursue entertainment, it is expected that there are many cases where general consumers who do not have advanced knowledge of computers and computer programming purchase and use robots. For such general users, it is preferable to provide a tool for supporting creation and editing of a robot motion sequence relatively easily and efficiently by interactive processing, that is, a motion editing system.
[0014]
The robot is composed of a plurality of control points such as joints. Therefore, by inputting the position and velocity (joint angle and its angular velocity) at each control point, the body motion can be edited. In this respect, it is similar to character animation generation in computer graphics. However, there is a difference between the operation in the virtual space and the actual operation. In the case of a legged mobile robot, a desired operation cannot be executed simply by driving the joint angle, and it is necessary to continue the legged work without falling down. In other words, maintaining the stability of the posture is a premise for realizing the desired motion.
[0015]
In many cases, the posture stability control of legged mobile robots uses a ZMP stability criterion that searches for points where the moment is zero on or inside the sides of the support polygon formed by the sole contact point and the road surface. Use. In the case of a biped legged mobile robot, the support polygon is extremely high, and thus posture stability control is particularly difficult.
[0016]
There is already a motion editing system in which the command values at each control point of the aircraft are entered on the screen and the robot motion is created.However, however, the posture stability when the actual machine is operated with the edited motion is checked, There is still no system that modifies the desired motion to stabilize. If the assembled motion cannot maintain the attitude stability of the aircraft, and the motion itself cannot be executed, the motion is not substantially edited.
[0017]
[Problems to be solved by the invention]
An object of the present invention is to provide an excellent motion editing apparatus and motion editing method for a legged mobile robot that performs various operations using movable legs.
[0018]
It is a further object of the present invention to provide an excellent motion editing apparatus and motion editing method for a legged mobile robot that can support editing of motion patterns while considering feasibility on an actual machine. is there.
[0019]
A further object of the present invention is to provide an excellent motion editing apparatus and motion editing method for a legged mobile robot capable of supporting editing work while considering the posture stability during execution of the edited motion pattern. There is to do.
[0020]
[Means and Actions for Solving the Problems]
The present invention has been made in consideration of the above problems, and is a motion editing device or a motion editing method for a legged mobile robot having a plurality of joint angles,
A posture data input unit or step for inputting posture data of the aircraft consisting of displacement values of each joint angle;
A motion generation unit or step for editing motion data of the aircraft by a combination of the one or more input posture data;
A posture stabilization processing unit or step that verifies whether the generated motion data can be operated while stabilizing the posture on the actual machine and / or corrects the motion data to enable posture stabilization;
A motion editing apparatus or a motion editing method for a legged mobile robot.
[0021]
According to the motion editing apparatus or the motion editing method, the motion of the robot is edited by interpolating the motion between the poses according to the pose of the machine body input from the operator. The posture stabilization processing unit verifies whether or not the edited motion can be operated while stabilizing the posture on the actual machine based on the ZMP stability determination criterion, and can perform posture stabilization. Make corrections to the pattern. As a result, it is possible to efficiently edit operation data that is guaranteed to operate on the actual machine.
[0022]
Here, the posture data input unit or step may accept a direct input of a displacement value for each joint angle using a keyboard or the like.
[0023]
Alternatively, the posture data input unit or step may calculate the displacement value of each joint angle by inverse kinematics in response to the application of the pose change operation by the user on the 3D character display representing the robot. It may be.
[0024]
In this case, the user can perform intuitive pose input. In addition, one or more parts of the aircraft whose pose is desired to be changed may be designated, and the pose may be changed only for the designated part in response to a pose change operation by the user on the 3D character display. .
[0025]
The motion generation unit or step may generate a motion by interpolating between the poses by combining one or more posture data input by the posture data input unit or step in a time series. .
[0026]
In addition, the motion generation unit or step may generate motion in a corresponding part group by arranging poses in time series on a track assigned to each part group in the body in which the pose is desired to be changed. .
[0027]
Further, the motion generation unit or step generates motion for each part group on a plurality of prioritized tracks, and performs motion of each track so that the motion for each part group does not compete according to the priority order. You may make it produce | generate the motion of the whole body by superimposing.
[0028]
Further, the posture stabilization unit or step generates a ZMP balance equation describing a balance relationship of each moment applied to the robot body based on the motion data generated by the motion generation unit or step. The operation data may be corrected so as to cancel the moment error appearing on the ZMP balance equation.
[0029]
At this time, the target trajectory may be corrected for each part in an order according to a predetermined priority order. For example, priority for correcting the target trajectory may be given to each part in order of the magnitude of the mass manipulated variable on the aircraft.
[0030]
Further, the motion data correcting means or step may obtain a desired foot trajectory by correcting the motion data so as to cancel a moment error appearing on the ZMP balance equation while regulating the ZMP trajectory. Can do.
[0031]
Other objects, features, and advantages of the present invention will become apparent from more detailed description based on embodiments of the present invention described later and the accompanying drawings.
[0032]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0033]
A. Mechanical structure of legged mobile robot
1 and 2 show an external configuration of a legged mobile robot 100 that performs motion editing by the motion editing system according to the present invention. This legged mobile robot 100 is called “human form” or “human form”, and as shown in the figure, the legged mobile robot 100 performs legged movement with the trunk, the head, the left and right upper limbs. For example, a control unit (not shown) built in the torso controls the operation of the aircraft in an integrated manner.
[0034]
Each of the left and right lower limbs is composed of a thigh, a knee joint, a shin, an ankle, and a foot, and is connected by a hip joint at the substantially lower end of the trunk. The left and right upper limbs are composed of an upper arm, an elbow joint, and a forearm, and are connected to the left and right side edges above the trunk by shoulder joints. The head is connected to the substantially uppermost center of the trunk by a neck joint.
[0035]
The control unit is equipped with a controller (main control unit) that processes the external inputs from the joint actuators and sensors (described later) that constitute the legged mobile robot 100, and a power supply circuit and other peripheral devices. It is the housing which was made. In addition, the control unit may include a communication interface and a communication device for remote operation.
[0036]
The legged mobile robot 100 configured as described above can realize bipedal walking by whole body cooperative operation control by the control unit. Such biped walking is generally performed by repeating a walking cycle divided into the following operation periods. That is,
[0037]
(1) Single leg support period with left leg lifted right leg
(2) Supporting both legs with the right foot grounded
(3) Single leg support period with right leg lifted left leg
(4) Supporting both legs with the left foot on the ground
[0038]
The walking control in the legged mobile robot 100 is realized by planning the target trajectory of the lower limb in advance and correcting the planned trajectory in each of the above periods. That is, in the both-leg support period, the correction of the lower limb trajectory is stopped and the waist height is corrected at a constant value using the total correction amount with respect to the planned trajectory. In the single leg support period, a corrected trajectory is generated so that the relative positional relationship between the corrected ankle and waist of the leg is returned to the planned trajectory.
[0039]
Starting with correcting the trajectory of walking motion, the attitude stabilization control of the aircraft is generally performed by interpolation calculation using a fifth order polynomial so that the position, speed, and acceleration for reducing the deviation from ZMP are continuous. . ZMP (Zero Moment Point) is used as a standard for determining the stability of walking. The standard for discriminating the stability by ZMP is the principle of d'Alembert that gravity and inertia force from the walking system to the road surface, and these moments balance with the floor reaction force and the floor reaction force moment as a reaction from the road surface to the walking system. based on. As a result of the dynamic reasoning, the point where the pitch axis and roll axis moments become zero on or inside the side of the support polygon (that is, the ZMP stable region) formed by the sole contact point and the road surface, that is, “ZMP (Zero Moment”. Point) "exists.
[0040]
FIG. 3 schematically shows a joint degree-of-freedom configuration of the legged mobile robot 100. As shown in the figure, a legged mobile robot 100 connects an upper limb including two arms and a head 1, a lower limb including two legs that realize a moving operation, and an upper limb and a lower limb. It is a structure having a plurality of limbs, which is composed of a trunk.
[0041]
A neck joint (Neck) that supports the head has three degrees of freedom: a neck joint yaw axis 1, a neck joint pitch axis 2, and a neck joint roll axis 3.
[0042]
Each arm portion has a degree of freedom as a shoulder joint pitch axis 4 at the shoulder, a shoulder joint roll axis 5, an upper arm yaw axis 6, an elbow joint pitch axis 7 at the elbow, and a wrist ( Wrist) is composed of a wrist joint yaw axis 8 and a hand portion. The hand part is actually a multi-joint / multi-degree-of-freedom structure including a plurality of fingers.
[0043]
The trunk (Trunk) has two degrees of freedom: a trunk pitch axis 9 and a trunk roll axis 10.
[0044]
Further, each leg part constituting the lower limb includes a hip joint yaw axis 11 at the hip joint (Hip), a hip joint pitch axis 12, a hip joint roll axis 13, a knee joint pitch axis 14 at the knee (Knee), and an ankle (Ankle). ), An ankle joint pitch axis 15, an ankle joint roll axis 16, and a foot.
[0045]
However, the entertainment-type legged mobile robot 100 does not have to be equipped with all the above-mentioned degrees of freedom, or is not limited to this. It goes without saying that the degree of freedom, that is, the number of joints, can be increased or decreased as appropriate in accordance with design / manufacturing constraints and required specifications.
[0046]
Each degree of freedom of the legged mobile robot 100 as described above is actually implemented using an actuator. It is preferable that the actuator be small and light in light of demands such as eliminating the appearance of extra bulges on the appearance and approximating the shape of a human body, and performing posture control on an unstable structure such as biped walking. . In the present embodiment, a small AC servo actuator of a gear direct connection type and a servo control system made into one chip and built in a motor unit is mounted (for this type of AC servo actuator, for example, this JP-A 2000-299970 already assigned to the applicant). In the present embodiment, by adopting a reduced speed gear as a direct connection gear, the passive characteristics of the drive system required for the robot 100 of a type that places importance on physical interaction with humans are obtained.
[0047]
B. Control system configuration for legged mobile robot
FIG. 4 schematically shows a control system configuration of the legged mobile robot 100. As shown in the figure, the legged mobile robot 100 includes each of the mechanism units 30, 40, 50R / L, 60R / L expressing human limbs, and adaptive control for realizing a cooperative operation between the mechanism units. (Where R and L are suffixes indicating right and left, and so on).
[0048]
The entire operation of the legged mobile robot 100 is controlled by the control unit 80 in an integrated manner. The control unit 80 exchanges data and commands between the main control unit 81 including main circuit components (not shown) such as a CPU (Central Processing Unit) and a memory, and each component of the power supply circuit and the robot 100. The peripheral circuit 82 includes an interface (none of which is shown).
[0049]
In realizing the present invention, the installation location of the control unit 80 is not particularly limited. Although it is mounted on the trunk unit 40 in FIG. 4, it may be mounted on the head unit 30. Alternatively, the control unit 80 may be provided outside the legged mobile robot 100 so as to communicate with the body of the legged mobile robot 100 by wire or wirelessly.
[0050]
Each joint degree of freedom in the legged mobile robot 100 shown in FIG. 3 is realized by a corresponding actuator. That is, the head unit 30 includes a neck joint yaw axis actuator A representing the neck joint yaw axis 1, the first and second neck joint pitch axes 2A and 2B, and the neck joint roll axis 3.1, Neck joint pitch axis actuator A2AAnd A2B, Neck joint roll axis actuator A3Is arranged.
[0051]
The trunk unit 40 includes a trunk pitch axis actuator A that represents the trunk pitch axis 9 and the trunk roll axis 10.9, Trunk roll axis actuator A10Is deployed.
[0052]
Further, the arm unit 50R / L is subdivided into an upper arm unit 51R / L, an elbow joint unit 52R / L, and a forearm unit 53R / L, but a shoulder joint pitch axis 4, a shoulder joint roll axis 5, an upper arm Shoulder joint pitch axis actuator A representing the yaw axis 6, the elbow joint pitch axis 7, and the wrist joint yaw axis 8.4, Shoulder joint roll axis actuator A5, Upper arm yaw axis actuator A6, Elbow joint pitch axis actuator A7, Wrist joint yaw axis actuator A8Is deployed.
[0053]
The leg unit 60R / L is subdivided into a thigh unit 61R / L, a knee unit 62R / L, and a shin unit 63R / L, but the hip joint yaw axis 11, hip joint pitch axis 12, hip joint Hip joint yaw axis actuator A representing each of roll axis 13, knee joint pitch axis 14, ankle joint pitch axis 15, and ankle joint roll axis 16.11Hip joint pitch axis actuator A12, Hip joint roll axis actuator A13, Knee joint pitch axis actuator A14, Ankle joint pitch axis actuator A15, Ankle joint roll axis actuator A16Is deployed.
[0054]
Actuator A used for each joint1, A2, A3More preferably, it can be constituted by a small AC servo actuator (described above) of a gear direct connection type and of a type in which the servo control system is mounted on a motor unit in a single chip.
[0055]
For each mechanism unit such as the head unit 30, trunk unit 40, arm unit 50, and leg unit 60, sub-control units 35, 45, 55, and 65 for actuator drive control are provided.
[0056]
An acceleration sensor 95 and a posture sensor 96 are disposed on the trunk 40 of the body. The acceleration sensor 95 is disposed in the X, Y, and Z axial directions. By placing the acceleration sensor 95 on the waist of the airframe, the waist where the mass manipulated variable is large is set as a control target point, and the posture and acceleration at that position are directly measured, and posture stability control based on ZMP Can be performed.
[0057]
Further, ground check sensors 91 and 92 and acceleration sensors 93 and 94 are disposed on the leg portions 60R and 60L, respectively. The ground contact confirmation sensors 91 and 92 are configured by, for example, mounting a pressure sensor on the sole, and can detect whether the sole has landed based on the presence or absence of a floor reaction force. The acceleration sensors 93 and 94 are arranged in at least the X and Y axial directions. By disposing the acceleration sensors 93 and 94 on the left and right feet, the ZMP balance equation can be assembled directly with the feet closest to the ZMP position (described later).
[0058]
When an acceleration sensor is placed only on the waist where the mass manipulated variable is large, only the waist is set as the control target point, and the foot state must be relatively calculated based on the calculation result of this control target point. It is necessary to satisfy the following conditions between the foot and the road surface.
[0059]
(1) The road surface does not move no matter what force or torque is applied.
(2) The friction coefficient with respect to translation on the road surface is sufficiently large, and no slip occurs.
[0060]
On the other hand, in the present embodiment, a reaction force sensor system (such as a floor reaction force sensor) that directly applies a force to the ZMP is provided on a foot that is a contact portion with the road surface, and local coordinates used for control and the coordinates thereof are used. An acceleration sensor for directly measuring is provided. As a result, the ZMP balance equation can be directly assembled with the foot portion closest to the ZMP position, and more rigorous posture stabilization control can be realized at high speed without depending on the preconditions described above. As a result, the fuselage can be used on gravel or on carpets with long bristle feet that cause the surface to move when force or torque is applied, or on residential tiles that are prone to slip due to insufficient translational friction. Can guarantee stable walking (movement).
[0061]
The main control unit 80 can dynamically correct the control target in response to the outputs of the sensors 91 to 93. More specifically, an adaptive control is performed on each of the sub-control units 35, 45, 55, and 65, and a whole body motion pattern in which the upper limbs, trunk, and lower limbs of the legged mobile robot 100 are driven in cooperation. Is realized.
[0062]
The whole body motion on the body of the robot 100 sets a foot motion, a ZMP (Zero Moment Point) trajectory, a trunk motion, an upper limb motion, a waist height, and the like, and instructs an operation according to these setting contents. The command is transferred to each sub-control unit 35, 45, 55, 65. And each sub-control part 35, 45 ... interprets the received command from the main control part 81, and each actuator A1, A2, A3A drive control signal is output to. Here, “ZMP” refers to a point on the floor where the moment due to floor reaction force during walking is zero, and “ZMP trajectory” refers to, for example, ZMP during the walking motion period of the robot 100. Means the trajectory that moves (see above).
[0063]
C. Motion editing system
FIG. 5 schematically shows a functional configuration of a motion editing system according to an embodiment of the present invention.
[0064]
The illustrated motion editing system 1000 includes a pose input unit 1001, a motion editing unit 1002, a posture stabilization processing unit 1003, and a motion playback unit 1004.
[0065]
The pose input unit 1001 includes, for example, a user interface such as a keyboard, a mouse, and a display, and an operator can input a pose of the robot 100 according to a GUI (Graphical User Interface) screen provided by the motion editing unit 1002. it can.
[0066]
The pose of the airframe is represented by the displacement angle of each joint axis arranged on the whole body of the airframe. The motion editing unit 1002 according to the present embodiment uses a reverse kinematics from a pose supported via the 3D animation character of the aircraft, in addition to accepting a direct input of the displacement angle of each joint axis as a pose input method. There is a method for obtaining the displacement angle of each joint axis.
[0067]
A motion editing unit (Motion Editor) 1002 performs motion interpolation by interpolating motion between poses according to the pose of the aircraft input from the operator via the pose input unit 1001. At this time, it is possible not only to combine two or more poses in time series but also to combine poses edited for each part in parallel.
[0068]
The posture stabilization processing unit (Stabilizer) 1003 verifies whether the motion edited by the motion editing unit 1002 can be operated while stabilizing the posture on the actual machine based on the ZMP stability determination criterion, The motion pattern that can stabilize the posture is corrected.
[0069]
Here, the stability determination criterion by ZMP is that the gravity and inertial force from the walking system to the road surface and these moments balance with the floor reaction force and the floor reaction force moment as a reaction from the road surface to the walking system. Based on "the principle of". The posture stabilization processing unit 1003 plans the ZMP trajectory during the motion execution so that the ZMP is accommodated in the ZMP stable region in the support polygon formed by the sole contact point and the road surface. The operator can designate a desired ZMP position or ZMP trajectory in advance.
[0070]
Based on the motion data edited by the motion editing unit 1002 and corrected by the posture stabilization processing unit 1003, the motion playback unit 1004 displays a simulation of the aircraft operation on the screen.
[0071]
The editing result by the motion editing system 100 is stored as a motion file in a predetermined format. By installing this motion file in the legged mobile robot 100, the motion can be reproduced by the actual operation.
[0072]
C-1. Enter pose
The operator can input a pose of the robot 100 according to a GUI (Graphical User Interface) screen provided by the motion editing unit 1002. The pose of the airframe is represented by the displacement angle of each joint axis arranged on the whole body of the airframe.
[0073]
In this embodiment, as a pose input method, the displacement angle of each joint axis is obtained by inverse kinematics from a method of directly inputting the displacement angle of each joint axis and a pose supported via the 3D animation character of the aircraft. Prepare a method.
[0074]
In the former direct input method, for example, a pause can be instructed using an input screen as shown in FIG. In the screen shown in the figure, the joint angle input box is arranged according to the joint degree of freedom configuration of the aircraft, so the operator uses the keyboard after placing the cursor with the mouse in the input box near the desired joint. To give a desired value. Also, by clicking the “+” button at the right end of the input box, the value already input can be incremented. Writing a new value to the input box saves it as the currently running pose.
[0075]
In the case of the direct input method, in addition to relying on the user's manual input on the input screen as shown in FIG. 6, the displacement amount of each joint angle obtained by motion capture or direct teaching on the actual machine is used. It can also be used as input data.
[0076]
FIG. 7 shows a schematic processing procedure for obtaining the displacement angle of each joint axis by reverse kinematics from a pose instructed via the 3D animation character of the aircraft.
[0077]
As shown in the figure, in the pose designation method based on inverse kinematics, a part to be changed in pose is designated, and then a motion is given to a designated part on the 3D character representing the legged mobile robot 100. Functions such as mouse dragging can be used to operate the designated part. Then, after moving the designated part, the displacement amount of each joint angle for forming a pose on the screen is calculated by inverse kinematics. The calculated value is reflected in the input box of the displacement angle designation screen shown in FIG.
[0078]
FIG. 8 shows a configuration example of a 3D viewer screen for instructing a pose via the 3D animation character of the aircraft.
[0079]
The operator can give a desired movement to the part by dragging the part designated on the 3D character displayed on the illustrated 3D viewer screen with the mouse.
[0080]
A camera mode button is arranged on the left edge of the viewer screen to view 3D characters such as “Front”, “Back”, “Left”, “Right”, “Top”, “Bottom”, etc. The direction (display) can be specified.
[0081]
In addition, a part designation button is arranged at the lower edge of the viewer screen, and the operator can designate a part to which a motion is to be given by pressing any one of them. In the illustrated example, buttons for designating the left arm, the right arm, the left leg, and the right leg are arranged in order from the left. The definition of each button A, B, and C is user-programmable, and the operator can use it as a shortcut button when simultaneously specifying two or more parts.
[0082]
Further, an IK (Reverse Kinematics) button is disposed at the lower left corner of the viewer screen. When this IK button is selected, an IK joint angle grouping window as shown in FIG. 9 appears.
[0083]
In the IK joint angle grouping window, the joint degree-of-freedom configuration of the airframe is drawn, and the operator can specify by directly clicking on the part where the pose is to be changed. Alternatively, the parts to be grouped can be selected using a part designation button arranged along the right edge of the screen.
[0084]
In addition, a check box for designating the attribute of the IK joint angle group is arranged above the window.
[0085]
By checking “Maintain End Effect Orientation”, it is possible to maintain the position of the sole of the foot when operating the leg.
[0086]
Also, by checking “Move X / Move Y / Move Z”, the operation direction when operating the designated part of the 3D character can be limited to each direction.
[0087]
After designating the part for which the pose is to be changed as described above, the pose is changed by returning to the 3D viewer screen shown in FIG. 8 and dragging the designated part on the 3D character with the mouse. FIG. 10 illustrates a state in which a pose is changed using a 3D character after both left and right feet are designated as a change part. In this case, the operator can, for example, grab the vicinity of the hip joint with a mouse cursor and scan the screen vertically and horizontally. In the example shown in FIG. 10, only the position and posture of the waist are changed without changing the position and posture of the sole according to the operation applied by the operator.
[0088]
C-2. Generate motion
A motion editing unit (Motion Editor) 1002 performs motion interpolation by interpolating motion between poses according to the pose of the aircraft input from the operator via the pose input unit 1001. At this time, it is possible not only to combine two or more poses in time series but also to combine poses edited for each part in parallel.
[0089]
The created pose is registered on a motion editing field called “track”. That is, the pose specified on the joint axis displacement angle input screen as shown in FIG. 6 or the pose specified on the 3D viewer screen as shown in FIG. 8 and obtained by inverse kinematics is sequentially arranged on the track. It will be done. FIG. 11 shows a state in which a plurality of poses are arranged in time series on a certain track.
[0090]
The horizontal axis of the track corresponds to the time axis. The icons representing the created poses are sequentially arranged on the track with a default interval. The playback time of the pause can be slid by dragging the icon horizontally on the track. Adjacent poses are interpolated using a technique such as linear interpolation or spline interpolation to form a motion.
[0091]
Only one pose with the same designated part is handled on one track. That is, a track is prepared for each IK joint angle group. For example, when editing a motion that consists of a pose with the right arm as a specified part on a track, a pose with the left leg as a specified part is input (or a part other than the right arm or other part together with the right arm) Is registered on another track.
[0092]
FIG. 12 shows a state in which tracks are arranged for each IK joint angle group. Each track handles motion consisting of poses defined in the corresponding IK joint angle group. In the example shown in the figure, tracks are arranged in order from the top to the right arm, left leg, left leg,.
[0093]
Tracks are arranged from the top according to priority. As shown in the figure, when a pose is created in units of tracks, that is, in units of IK joint angle groups, playback is performed according to the priority order.
[0094]
In the example shown in FIG. 12, priority is given to the expression of the right arm pose having a high priority. Next, the expression of the pose of the left leg is given priority. However, since the right arm and the left leg do not interfere with the hardware of the aircraft, the pose of the left leg is reproduced almost as it is.
[0095]
Further, when the track having the left leg as the IK joint angle group continues, the track with the higher priority is buffered, so that the pose of this track is not expressed during motion playback.
[0096]
When a track with the whole body as a designated part continues, the pose is expressed within a range that does not compete with a priority track such as the right arm and the left leg.
[0097]
In such a system that allows editing of poses on a part-by-part basis for each track, a high-priority track is assigned to a specific part for pose editing of a combination of relatively large parts such as the upper body, lower body, and whole body. It is considered preferable to use a low priority track for the efficiency of editing work.
[0098]
C-3. Posture stabilization processing
The posture stabilization processing unit 1003 determines whether the motion edited by the motion editing unit 1002 can be operated while stabilizing the posture on the actual machine, and inputs a displacement amount to each joint angle on the actual machine, The verification is performed based on the stability criterion and the motion pattern is corrected so that the posture can be stabilized.
[0099]
The robot posture stability control using ZMP as a stability criterion is basically to search for a point where the moment is zero on or inside the side of the support polygon formed by the ground contact point and the road surface. It is in. That is, the ZMP balance equation describing the balance relationship of each moment applied to the robot body is derived, and the target trajectory of the body is corrected so as to cancel the moment error appearing on the ZMP balance equation.
[0100]
The posture stabilization processing unit 1003 plans the ZMP trajectory of the edited motion so that the ZMP is accommodated in the ZMP stable region in the support polygon formed by the sole contact point and the road surface. The operator can designate a desired ZMP position or ZMP trajectory in advance.
[0101]
C-3-1. Introduction of ZMP balance equation
The legged mobile robot 100 is an infinite, that is, a collection of continuous mass points. Here, by replacing with an approximate model consisting of a finite number of discrete mass points, the amount of calculation for stabilization processing is reduced. I have to. More specifically, the legged mobile robot 100 having the multi-joint degree-of-freedom configuration shown in FIG. 3 is physically replaced with a multi-mass point approximation model as shown in FIG. The approximate model shown is a linear and non-interfering multi-mass point approximate model.
[0102]
In FIG. 13, the O-XYZ coordinate system represents the roll, pitch, and yaw axes in the absolute coordinate system, and the O′-X′Y′Z ′ coordinate system represents the roll, pitch, Each axis of yaw is represented. However, the meanings of the parameters in the figure are as follows. It should also be understood that symbols with a dash (') describe a motion coordinate system.
[0103]
[Expression 1]
Figure 0003614824
[0104]
In the multi-mass model shown in the figure, i is a subscript representing the i-th given mass, miIs the mass of the i-th mass point, ri  'Represents a position vector (however, a motion coordinate system) of the i-th mass point. The center of gravity of the body of the legged mobile robot 100 according to the present embodiment exists near the waist. That is, the waist is the mass point where the mass manipulated variable is the maximum, and in FIG.hThe position vector (however, the motion coordinate system) is r ′h(R ’hx, R 'hy, R 'hz). Also, the ZMP position vector (however, the motion coordinate system) of the aircraft is r 'zmp(R ’zmpx, R 'zmpy, R 'zmpz).
[0105]
The world coordinate system O-XYZ is an absolute coordinate system and is invariant. In the legged mobile robot 100 according to the present embodiment, acceleration sensors 93, 94, and 96 are disposed on the waist and the legs of both legs, respectively. Therefore, on the actual machine, these sensors output the waist and the stance with the world coordinate system. Relative position vector rqIs detected. On the other hand, in the motion coordinate system, that is, the local coordinate system of the aircraft, O-X′Y′Z ′ moves with the robot.
[0106]
The multi-mass model is a representation of a robot in the form of a wire frame model. As can be seen from FIG. 13, the multi-mass point approximation model is set with each shoulder, both elbows, both wrists, trunk, waist, and both ankles as mass points. In the illustrated inexact multi-mass point approximation model, the moment formula is described in the form of a linear equation that does not interfere with the pitch and roll axes. The multi-mass point approximation model can be generated by the following processing procedure.
[0107]
(1) The mass distribution of the entire robot 100 is obtained.
(2) Set the mass point. The mass point setting method may be manual input by the designer or automatic generation according to a predetermined rule.
(3) For each region i, the center of gravity is obtained, and the position of the center of gravity and mass miIs assigned to the relevant mass point.
(4) Each mass point mi, The mass position riIs displayed as a sphere with a radius proportional to its mass.
(5) The mass points that are actually connected, that is, the spheres are connected.
[0108]
Each rotation angle (θ in the waist information of the multi-mass point model shown in FIG.hx, Θhy, Θhz) Regulates the posture of the waist in the legged mobile robot 100, that is, the rotation of the roll, pitch, and yaw axis (FIG. 14 shows an enlarged view around the waist of the multi-mass point model. Wanna)
[0109]
The ZMP equation of the airframe describes the balance relationship of each moment applied at the control target point. As shown in FIG.iWhen these are designated as control target points, all control target points miThe equation for obtaining the sum of the moments applied at is the ZMP balance equation.
[0110]
The ZMP balance equation of the aircraft described in the world coordinate system (O-XYZ) and the local coordinate system (O-X′Y′Z ′) of the aircraft are as follows.
[0111]
[Expression 2]
Figure 0003614824
Figure 0003614824
[0112]
The above formula is for each mass miAround the ZMP generated by the acceleration component applied (radius ri-Rzmp) Sum of moments and mass points miExternal force moment M applied toiAnd the ZMP rotation generated by the external force Fk (kth external force FkSkThe sum of the moments is balanced.
[0113]
This ZMP balance equation includes a total moment compensation amount, that is, a moment error component T. By suppressing this moment error to zero or within a predetermined allowable range, the attitude stability of the aircraft is maintained. In other words, it is the essence of posture stability control that uses ZMP as a stability criterion to correct the body motion (foot motion and the trajectory of each part of the upper body) so that the moment error is zero or less than the allowable value. is there.
[0114]
In this embodiment, acceleration sensors 96, 93, and 94 are disposed on the waist and the left and right feet, respectively (see FIG. 4), and in actual machine operation, acceleration measurement results at these control target points are obtained. The above ZMP balance equation can be derived directly and with high accuracy. As a result, high-speed and strict attitude stability control can be realized.
[0115]
C-3-2. Whole body cooperative posture stability control
FIG. 15 shows a procedure for stabilizing the motion of the machine generated by the motion editing unit 1002 in the form of a flowchart. However, in the following description, each joint position and operation of the legged mobile robot 100 are described using a linear / non-interference multi-mass approximate model as shown in FIGS. 13 and 14.
[0116]
First, the foot movement is set (step S1). The foot movement is motion data obtained by connecting two or more poses of the aircraft in time series.
[0117]
The motion data is data generated by the motion editing unit 1002 and is composed of joint space information representing the displacement of each joint angle of the foot and Cartesian space information representing the joint position.
[0118]
Next, a ZMP stable region is calculated based on the set foot movement (step S2). ZMP is a point at which the moment applied to the aircraft becomes zero, and basically exists on or inside the side of the support polygon formed by the ground contact point and the road surface. The ZMP stable region is a region set further inside the support polygon, and the aircraft can be brought into a highly stable state by accommodating the ZMP in the region.
[0119]
Then, a ZMP trajectory during the foot movement is set based on the foot movement and the ZMP stable region (step S3).
[0120]
In addition, for each part of the upper body of the aircraft (above the hip joint), a group setting is made such as a waist, a trunk, an upper limb, and a head (step S11).
[0121]
Then, a desired trajectory is set for each part group (step S12). The motion editing unit 1002 sets the desired trajectory for the upper body.
[0122]
Next, the group setting of each part is adjusted (regrouping) (step S13), and priority is given to these groups (step S14). The priority order mentioned here is the order of input to the processing calculation for the attitude stability control of the aircraft, and is assigned according to, for example, the mass operation amount. As a result, a desired trajectory group with priority for each part of the upper body of the aircraft is completed.
[0123]
Further, a mass that can be used for moment compensation is calculated for each part group of the upper body of the aircraft (step S15).
[0124]
Then, based on the foot movement, the ZMP trajectory, and the desired trajectory group for each part group of the upper body, the motion pattern of each part group is input to the posture stabilization process according to the priority set in step S14.
[0125]
In this posture stabilization process, first, an initial value 1 is substituted for the process variable i (step S20). Then, the moment amount on the target ZMP, that is, the total moment compensation amount at the time of setting the target trajectory for the part group having the priority from the head to the i-th is calculated (step S21). The desired trajectory is used for the part for which the target trajectory has not been calculated.
[0126]
Next, using the mass that can be used for moment compensation of the part calculated in step S15, the moment compensation amount is set (step S22), and the moment compensation amount is calculated (step S23).
[0127]
Next, by using the calculated moment compensation amount of the i-th part, a ZMP equation for the i-th part is derived (step S24), and the moment compensation motion of the part is calculated (step S25), The target trajectory can be obtained for the part with the priority from the top to the i-th part.
[0128]
By performing such processing for all the site groups, a whole body motion pattern capable of stable motion (for example, walking) is generated.
[0129]
C-3-3. ZMP orbit regulation
The posture stabilization processing unit 1003 corrects the motion edited by the motion editing unit 1002 into an operation pattern capable of posture stabilization.
[0130]
On the other hand, the motion editing unit 1002 can specify the ground contact position of the sole when generating the foot motion, but cannot set the center of gravity position of the aircraft at this stage. In view of this, the posture stabilization processing unit 1003 accepts an input of the ZMP trajectory from the operator, and based on this, establishes a ZMP balance equation and performs posture stabilization control.
[0131]
Here, it is assumed that the motion editing unit 1002 creates a motion that opens the right foot from the basic standing posture, closes the right foot again, and returns to the basic standing posture as shown in FIG.
[0132]
FIG. 17 shows the result of posture stabilization processing performed by regulating the ZMP trajectory for the motion shown in FIG.
[0133]
First, the right foot is opened by moving the ZMP in the left foot direction from the basic standing posture as the initial posture.
[0134]
Here, since the ZMP trajectory is regulated, the ZMP is kept on the left foot.
[0135]
Thereafter, when the right foot is closed, the posture returns to the initial posture.
[0136]
FIG. 18 shows the result of posture stabilization processing performed by regulating the ZMP trajectory for the motion shown in FIG.
[0137]
First, the right foot is opened by moving the ZMP in the left foot direction from the basic standing posture as the initial posture.
[0138]
At this time, since the ZMP trajectory is not regulated, the ZMP returns to the center of both feet by the posture stabilization process.
[0139]
Then, after moving the ZMP in the direction of the right foot and then moving the ZMP in the direction of the left foot again, the right foot is closed and the initial posture is restored.
[0140]
[Supplement]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention.
[0141]
The gist of the present invention is not necessarily limited to a product called a “robot”. That is, as long as it is a mechanical device that performs a movement resembling human movement using an electrical or magnetic action, the present invention similarly applies to products belonging to other industrial fields such as toys. Can be applied.
[0142]
In short, the present invention has been disclosed in the form of exemplification, and the description of the present specification should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.
[0143]
【The invention's effect】
As described in detail above, according to the present invention, it is possible to provide an excellent motion editing apparatus and motion editing method for a legged mobile robot that performs various operations using movable legs.
[0144]
In addition, according to the present invention, there is provided an excellent motion editing apparatus and motion editing method for a legged mobile robot that can support editing of a motion pattern while considering feasibility on an actual machine. it can.
[0145]
Further, according to the present invention, an excellent motion editing apparatus and motion editing method for a legged mobile robot capable of supporting motion pattern editing work while taking into consideration posture stability during execution on an actual machine. Can be provided.
[Brief description of the drawings]
FIG. 1 is a view showing a state in which a legged mobile robot used for carrying out the present invention is viewed from the front.
FIG. 2 is a view showing a state in which a legged mobile robot used for carrying out the present invention is viewed from the rear.
FIG. 3 is a diagram schematically illustrating a joint degree-of-freedom configuration included in a legged mobile robot.
4 is a diagram schematically showing a control system configuration of a legged mobile robot 100. FIG.
FIG. 5 is a diagram schematically showing a functional configuration of a motion editing system according to an embodiment of the present invention.
6 is a diagram showing a configuration example of a screen for designating a displacement angle of each joint axis that defines a pose of the legged mobile robot 100. FIG.
FIG. 7 is a diagram showing a schematic processing procedure when a displacement angle of each joint axis is obtained by inverse kinematics.
FIG. 8 is a diagram showing a configuration example of a 3D viewer screen for instructing a pose via a 3D animation character of the aircraft.
FIG. 9 is a diagram illustrating a configuration example of an IK joint angle grouping window.
FIG. 10 is a diagram illustrating a state in which a pose is changed using a 3D character after both left and right feet are designated as change sites.
FIG. 11 is a diagram showing a state in which a plurality of poses are arranged in time series on a certain track.
FIG. 12 is a diagram showing a state in which tracks are arranged for each IK joint angle group.
13 is a diagram showing a multi-mass point approximation model of the legged mobile robot 100. FIG.
FIG. 14 is an enlarged view of the vicinity of the waist of the multi-mass point model.
FIG. 15 is a flowchart showing a procedure for stabilizing the motion of the airframe generated by the motion editing unit 1002;
16 is a diagram showing a motion generated by a motion editing unit 1002. FIG.
17 is a diagram showing the result of posture stabilization processing for the motion shown in FIG. 16 when the ZMP trajectory is restricted. FIG.
18 is a view showing a posture stabilization processing result for the motion shown in FIG. 16 when the ZMP trajectory is not restricted. FIG.
[Explanation of symbols]
1 ... Neck joint yaw axis
2A ... 1st neck joint pitch axis
2B ... Second neck joint (head) pitch axis
3 ... Neck joint roll axis
4. Shoulder joint pitch axis
5 ... Shoulder joint roll axis
6 ... Upper arm yaw axis
7. Elbow joint pitch axis
8 ... wrist joint yaw axis
9 ... trunk pitch axis
10 ... trunk roll axis
11 ... Hip joint yaw axis
12 ... Hip pitch axis
13 ... Hip roll axis
14 ... Knee joint pitch axis
15 ... Ankle joint pitch axis
16 ... Ankle joint roll axis
30 ... head unit, 40 ... trunk unit
50 ... arm unit, 51 ... upper arm unit
52 ... Elbow joint unit, 53 ... Forearm unit
60 ... Leg unit, 61 ... Thigh unit
62 ... knee joint unit, 63 ... shin unit
80 ... control unit, 81 ... main control unit
82. Peripheral circuit
91, 92 ... Grounding confirmation sensor
93, 94 ... acceleration sensor
95 ... Attitude sensor
96 ... Acceleration sensor
100: Legged mobile robot
1000 ... Motion editing system
1001 ... Pause input section
1002 ... Motion editing section
1003 ... Posture stabilization processing unit
1004 ... Motion playback unit

Claims (20)

複数の関節角を備えた脚式移動ロボットのための動作編集装置であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力部と、
該入力された1以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成部と、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを前記動作編集装置上で検証し、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理部と、
姿勢安定化の際に動作データの修正を行なう優先順位を各部位に設定する優先順位設定部とを備え、
前記動作生成部は、機体のうちで姿勢データを変更したい部位グループ毎に割り当てられた各トラック上で姿勢データを時系列的に配置することにより部位グループ毎の動作データを生成するとともに、部位グループ毎の動作データが競合しないように各トラックの動作データを部位グループに設定された優先順位に従って重畳して機体全体の動作データを生成する、
ことを特徴とする脚式移動ロボットのための動作編集装置。
A motion editing device for a legged mobile robot having a plurality of joint angles,
An attitude data input unit for inputting attitude data of the aircraft consisting of displacement values of each joint angle;
A motion generation unit that edits the motion data of the aircraft by a combination of the one or more input posture data;
A posture stabilization processing unit that verifies on the motion editing device whether the generated motion data can be operated while stabilizing the posture on the actual machine, and corrects the motion data to be capable of posture stabilization;
A priority order setting unit for setting the priority order for correcting the motion data at the time of posture stabilization to each part;
The motion generation unit generates motion data for each part group by chronologically arranging the posture data on each track assigned to each part group for which posture data is to be changed in the body, and the part group The motion data of the entire aircraft is generated by superimposing the motion data of each track according to the priority set in the part group so that the motion data for each does not compete.
A motion editing device for a legged mobile robot.
複数の関節角を備えた脚式移動ロボットのための動作編集装置であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力部と、
該入力された1以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成部と、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを前記動作編集装置上で検証し、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理部と、
姿勢安定化の際に動作データの修正を行なう優先順位を各部位に設定する優先順位設定部とを備え、
前記姿勢安定化処理部は、設定された優先順位に従って部位毎に目標軌道を修正する、
ことを特徴とする脚式移動ロボットのための動作編集装置。
A motion editing device for a legged mobile robot having a plurality of joint angles,
An attitude data input unit for inputting attitude data of the aircraft consisting of displacement values of each joint angle;
A motion generation unit that edits the motion data of the aircraft by a combination of the one or more input posture data;
A posture stabilization processing unit that verifies on the motion editing device whether the generated motion data can be operated while stabilizing the posture on the actual machine, and corrects the motion data to be capable of posture stabilization;
A priority order setting unit for setting the priority order for correcting the motion data at the time of posture stabilization to each part;
The posture stabilization processing unit corrects the target trajectory for each part according to the set priority order.
A motion editing device for a legged mobile robot.
前記姿勢データ入力部は、各関節角毎の変位値の直接入力を受容する、
ことを特徴とする請求項1又は2のいずれかに記載の脚式移動ロボットのための動作編集装置。
The posture data input unit accepts direct input of a displacement value for each joint angle.
3. The motion editing apparatus for a legged mobile robot according to claim 1, wherein the motion editing apparatus is for a legged mobile robot.
前記姿勢データ入力部は、
脚式移動ロボットの3Dキャラクタを表示する手段と、
該3Dキャラクタ表示上でのユーザによるポーズ変更操作を受容する手段と、
該3Dキャラクタ表示に印加されたポーズ変更を基に各関節角の変位値を逆キネマティクスにより算出する手段と、
を備えることを特徴とする請求項1又は2のいずれかに記載の脚式移動ロボットのための動作編集装置。
The posture data input unit
Means for displaying a 3D character of a legged mobile robot;
Means for accepting a pose change operation by a user on the 3D character display;
Means for calculating a displacement value of each joint angle by inverse kinematics based on a pose change applied to the 3D character display;
The motion editing apparatus for a legged mobile robot according to claim 1, further comprising:
前記姿勢データ入力部は、機体のうちでポーズを変更したい1以上の部位を指定する手段をさらに備え、該3Dキャラクタ表示上でのユーザによるポーズ変更操作に応じて、該指定された部位のみポーズを変更する、
ことを特徴とする請求項4に記載の脚式移動ロボットのための動作編集装置。
The posture data input unit further includes means for designating one or more parts of the aircraft whose pose is desired to be changed, and only the designated part is paused according to a pose change operation by the user on the 3D character display. Change the
The motion editing apparatus for a legged mobile robot according to claim 4.
前記動作生成部は、前記姿勢データ入力部により入力された1以上の姿勢データを時系列的に組み合わせて各ポーズ間を補間することによりモーションを生成する、
ことを特徴とする請求項1又は2のいずれかに記載の脚式移動ロボットのための動作編集装置。
The motion generation unit generates motion by interpolating between each pose by combining one or more posture data input by the posture data input unit in time series,
3. The motion editing apparatus for a legged mobile robot according to claim 1, wherein the motion editing apparatus is for a legged mobile robot.
前記姿勢安定化処理部は、
前記動作生成部により生成された動作データを基に、前記ロボットの機体に印加される各モーメントの釣合い関係を記述したZMP釣合い方程式を生成するZMP釣合い方程式生成手段と、
前記ZMP釣合い方程式生成手段により生成されたZMP釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正する動作データ修正手段と、
を備えることを特徴とする請求項1又は2のいずれかに記載の脚式移動ロボットのための動作編集装置。
The posture stabilization processing unit
ZMP balance equation generation means for generating a ZMP balance equation describing the balance relationship of each moment applied to the body of the robot based on the motion data generated by the motion generation unit;
Motion data correcting means for correcting the motion data so as to cancel the moment error appearing on the ZMP balance equation generated by the ZMP balance equation generating means;
The motion editing apparatus for a legged mobile robot according to claim 1, further comprising:
前記優先順位設定部は、質量操作量の大きさの順に各部位に目標軌道修正のための優先順位を与える、
ことを特徴とする請求項1又は2のいずれかに記載の脚式移動ロボットのための動作編集装置。
The priority order setting unit gives a priority order for target trajectory correction to each part in order of the magnitude of the mass manipulated variable,
3. The motion editing apparatus for a legged mobile robot according to claim 1, wherein the motion editing apparatus is for a legged mobile robot.
前記部位は、腰部、左腕、右腕、左脚、右脚を含む、
ことを特徴とする請求項1又は2のいずれかに記載の脚式移動ロボットのための動作編集装置。
The region includes the waist, left arm, right arm, left leg, right leg,
3. The motion editing apparatus for a legged mobile robot according to claim 1, wherein the motion editing apparatus is for a legged mobile robot.
前記動作データ修正手段は、ZMP軌道を規制しながら、ZMP釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正する
ことを特徴とする請求項7に記載の脚式移動ロボットのための動作編集装置。
8. The legged mobile robot according to claim 7, wherein the motion data correcting means corrects the motion data so as to cancel a moment error appearing on the ZMP balance equation while regulating the ZMP trajectory. Motion editing device.
複数の関節角を備えた脚式移動ロボットのための動作編集方法であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力ステップと、
該入力された1以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成ステップと、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを当該動作編集過程で検証し、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理ステップと、
姿勢安定化の際に動作データの修正を行なう優先順位を各部位に設定する優先順位設定ステップとを備え、
前記動作生成ステップでは、機体のうちで姿勢データを変更したい部位グループ毎に割り当てられた各トラック上で姿勢データを時系列的に配置することにより部位グループ毎の動作データを生成するとともに、部位グループ毎の動作データが競合しないように各トラックの動作データを部位グループに設定された優先順位に従って重畳して機体全体の動作データを生成する、
を具備することを特徴とする脚式移動ロボットのための動作編集方法。
A motion editing method for a legged mobile robot having a plurality of joint angles,
Posture data input step for inputting the posture data of the aircraft consisting of displacement values of each joint angle;
A motion generation step of editing motion data of the aircraft by combining the input one or more posture data;
Attitude stabilization processing step for verifying whether the generated motion data can be operated while stabilizing the posture on the actual machine in the motion editing process, and correcting the motion data capable of posture stabilization;
A priority order setting step for setting the priority order for correcting motion data at the time of posture stabilization to each part,
In the motion generation step, motion data for each part group is generated by chronologically arranging the posture data on each track assigned to each part group for which posture data is to be changed in the body, and the part group The motion data of the entire aircraft is generated by superimposing the motion data of each track according to the priority set in the part group so that the motion data for each does not compete.
A motion editing method for a legged mobile robot, comprising:
複数の関節角を備えた脚式移動ロボットのための動作編集方法であって、
各関節角の変位値からなる機体の姿勢データを入力する姿勢データ入力ステップと、
該入力された1以上の姿勢データの組み合わせにより機体の動作データを編集する動作生成ステップと、
生成された動作データが実機上で姿勢を安定させながら動作可能であるかを当該動作編集過程で検証し、姿勢安定化が可能な動作データへの修正を行なう姿勢安定化処理ステップと、
姿勢安定化の際に動作データの修正を行なう優先順位を各部位に設定する優先順位設定ステップとを備え、
前記姿勢安定化処理ステップでは、設定された優先順位に従って部位毎に目標軌道を修正する、
ことを特徴とする脚式移動ロボットのための動作編集装置。
A motion editing method for a legged mobile robot having a plurality of joint angles,
Posture data input step for inputting the posture data of the aircraft consisting of displacement values of each joint angle;
A motion generation step of editing motion data of the aircraft by combining the input one or more posture data;
Attitude stabilization processing step for verifying whether the generated motion data can be operated while stabilizing the posture on the actual machine in the motion editing process, and correcting the motion data capable of posture stabilization;
A priority order setting step for setting the priority order for correcting motion data at the time of posture stabilization to each part,
In the posture stabilization processing step, the target trajectory is corrected for each part according to the set priority order.
A motion editing device for a legged mobile robot.
前記姿勢データ入力ステップでは、各関節角毎の変位値の直接入力を受容する、
ことを特徴とする請求項11又は12のいずれかに記載の脚式移動ロボットのための動作編集方法。
In the posture data input step, a direct input of a displacement value for each joint angle is received.
The motion editing method for a legged mobile robot according to claim 11, wherein the motion editing method is for the legged mobile robot.
前記姿勢データ入力ステップは、
脚式移動ロボットの3Dキャラクタを表示するステップと、
該3Dキャラクタ表示上でのユーザによるポーズ変更操作を受容するステップと、
該3Dキャラクタ表示に印加されたポーズ変更を基に各関節角の変位値を逆キネマティクスにより算出するステップと、
を備えることを特徴とする請求項11又は12のいずれかに記載の脚式移動ロボットのための動作編集方法。
The posture data input step includes:
Displaying a 3D character of the legged mobile robot;
Receiving a pose change operation by the user on the 3D character display;
Calculating a displacement value of each joint angle based on a pose change applied to the 3D character display by inverse kinematics;
The motion editing method for a legged mobile robot according to claim 11, comprising:
前記姿勢データ入力ステップでは、機体のうちでポーズを変更したい1以上の部位を指定する手段をさらに備え、該3Dキャラクタ表示上でのユーザによるポーズ変更操作に応じて、該指定された部位のみポーズを変更する、
ことを特徴とする請求項14に記載の脚式移動ロボットのための動作編集方法。
The posture data input step further includes means for designating one or more parts of the aircraft whose pose is desired to be changed, and poses only the designated part according to a pose change operation by the user on the 3D character display. Change the
The motion editing method for a legged mobile robot according to claim 14.
前記動作生成ステップでは、前記姿勢データ入力ステップにおいて入力された1以上の姿勢データを時系列的に組み合わせて各ポーズ間を補間することによりモーションを生成する、
ことを特徴とする請求項11又は12のいずれかに記載の脚式移動ロボットのための動作編集方法。
In the motion generation step, one or more posture data input in the posture data input step is combined in time series to generate a motion by interpolating between each pose.
The motion editing method for a legged mobile robot according to claim 11, wherein the motion editing method is for the legged mobile robot.
前記姿勢安定処理化ステップは、
前記動作生成ステップにおいて生成された動作データを基に、前記ロボットの機体に印加される各モーメントの釣合い関係を記述したZMP釣合い方程式を生成するZMP釣合い方程式生成ステップと、
前記ZMP釣合い方程式生成ステップにおいて生成されたZMP釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正する動作データ修正ステップと、
ことを特徴とする請求項11又は12のいずれかに記載の脚式移動ロボットのための動作編集方法。
The posture stabilization processing step includes
A ZMP balance equation generation step for generating a ZMP balance equation describing a balance relationship of each moment applied to the body of the robot based on the motion data generated in the motion generation step;
An operation data correction step of correcting the operation data so as to cancel the moment error appearing on the ZMP balance equation generated in the ZMP balance equation generation step;
The motion editing method for a legged mobile robot according to claim 11, wherein the motion editing method is for the legged mobile robot.
前記優先順位設定ステップでは、質量操作量の大きさの順に各部位に目標軌道修正のための優先順位を与える、
ことを特徴とする請求項11又は12のいずれかに記載の脚式移動ロボットのための動作編集方法。
In the priority order setting step, a priority order for target trajectory correction is given to each part in order of the magnitude of the mass manipulated variable,
The motion editing method for a legged mobile robot according to claim 11, wherein the motion editing method is for the legged mobile robot.
前記部位は、腰部、左腕、右腕、左脚、右脚を含む、
ことを特徴とする請求項11又は12のいずれかに記載の脚式移動ロボットのための動作編集方法。
The region includes the waist, left arm, right arm, left leg, right leg,
The motion editing method for a legged mobile robot according to claim 11, wherein the motion editing method is for the legged mobile robot.
前記動作データ修正ステップでは、ZMP軌道を規制しながら、ZMP釣合い方程式上で現れるモーメント・エラーを打ち消すように動作データを修正する
ことを特徴とする請求項17に記載の脚式移動ロボットのための動作編集方法。
The legitimate mobile robot according to claim 17, wherein in the motion data correction step, the motion data is corrected so as to cancel a moment error appearing on the ZMP balance equation while regulating the ZMP trajectory. Operation editing method.
JP2002073423A 2002-03-18 2002-03-18 Motion editing apparatus and motion editing method for legged mobile robot Expired - Lifetime JP3614824B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002073423A JP3614824B2 (en) 2002-03-18 2002-03-18 Motion editing apparatus and motion editing method for legged mobile robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002073423A JP3614824B2 (en) 2002-03-18 2002-03-18 Motion editing apparatus and motion editing method for legged mobile robot

Publications (2)

Publication Number Publication Date
JP2003266347A JP2003266347A (en) 2003-09-24
JP3614824B2 true JP3614824B2 (en) 2005-01-26

Family

ID=29203090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002073423A Expired - Lifetime JP3614824B2 (en) 2002-03-18 2002-03-18 Motion editing apparatus and motion editing method for legged mobile robot

Country Status (1)

Country Link
JP (1) JP3614824B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810880B2 (en) * 2005-05-10 2011-11-09 トヨタ自動車株式会社 Robot and its control method
CN101842755B (en) * 2007-08-28 2014-12-10 萨里大学 Inverse kinematics
EP2227802A4 (en) * 2007-12-17 2012-04-25 Pixar Methods and apparatus for designing animatronics units from articulated computer generated characters
US8781624B2 (en) * 2009-03-24 2014-07-15 Disney Enterprises, Inc. Systems and methods for tracking and balancing robots for imitating motion capture data
FR2946160B1 (en) 2009-05-26 2014-05-09 Aldebaran Robotics SYSTEM AND METHOD FOR EDIT AND ORDER BEHAVIOR OF MOBILE ROBOT.
JP6144845B2 (en) * 2014-02-05 2017-06-07 アーベーベー シュヴァイツ アクツィエンゲゼルシャフト System and method for defining movements of multiple robots performing a show cooperatively
US9427868B1 (en) * 2015-02-24 2016-08-30 Disney Enterprises, Inc. Method for developing and controlling a robot to have movements matching an animation character
JP6708581B2 (en) * 2017-04-07 2020-06-10 ライフロボティクス株式会社 Teaching device, display device, teaching program and display program
JP2021083489A (en) * 2019-11-25 2021-06-03 株式会社バンダイ Structure
JP2021083488A (en) * 2019-11-25 2021-06-03 株式会社バンダイ Program and structure control system

Also Published As

Publication number Publication date
JP2003266347A (en) 2003-09-24

Similar Documents

Publication Publication Date Title
JP4592276B2 (en) Motion editing apparatus, motion editing method, and computer program for robot apparatus
Žlajpah Simulation in robotics
JP4682791B2 (en) Operation space physical quantity calculation device, operation space physical quantity calculation method, and computer program
US7930067B2 (en) Motion editing apparatus and motion editing method for robot, computer program and robot apparatus
KR100824179B1 (en) Device and method for controlling motion of legged mobile robot, and motion unit generating method for legged mobile robot
Bouyarmane et al. Using a multi-objective controller to synthesize simulated humanoid robot motion with changing contact configurations
JP5034235B2 (en) Control system, control method, and computer program
JP2001157973A (en) Walk control device, and walk control method for robot
JP2001260063A (en) Articulated robot and its action control method
WO2003078110A1 (en) Robot device, legged locomotion robot operation control device and operation control method, legged locomotion robot sensor system, and locomotion device
JPWO2003011535A1 (en) Legged mobile robot and its motion control method
JP3614824B2 (en) Motion editing apparatus and motion editing method for legged mobile robot
Neo et al. A switching command-based whole-body operation method for humanoid robots
Peers et al. Development of a Teleoperative Quadrupedal Manipulator​
JP7230128B2 (en) LEARNING METHOD FOR ROBOT WORK AND ROBOT SYSTEM
Wang et al. Walkingbot: Modular interactive legged robot with automated structure sensing and motion planning
JP2003117858A (en) Method and device for control of robot walk
CN116442227A (en) Method and system for controlling tail end contact force of hydraulic drive mobile operation robot
JP4289446B2 (en) Legged mobile robot
JP3522742B1 (en) Robot device, motion control device and motion control method for legged mobile robot, sensor system for legged mobile robot, and mobile device
JP3568527B2 (en) Mobile device
JP3555946B2 (en) Mobile robot apparatus and control method for mobile robot apparatus
JP3555947B2 (en) Mobile robot device, mobile robot device control method, mobile robot device motion pattern generation method, and mobile robot device motion control program
JP4707290B2 (en) Motion control device and motion control method for legged mobile robot
US11787045B2 (en) Robot with an inverse kinematics (IK)-based controller for retargeting input motions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041027

R150 Certificate of patent or registration of utility model

Ref document number: 3614824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term