JP4707290B2 - Motion control device and motion control method for legged mobile robot - Google Patents
Motion control device and motion control method for legged mobile robot Download PDFInfo
- Publication number
- JP4707290B2 JP4707290B2 JP2001350854A JP2001350854A JP4707290B2 JP 4707290 B2 JP4707290 B2 JP 4707290B2 JP 2001350854 A JP2001350854 A JP 2001350854A JP 2001350854 A JP2001350854 A JP 2001350854A JP 4707290 B2 JP4707290 B2 JP 4707290B2
- Authority
- JP
- Japan
- Prior art keywords
- motion
- joint
- unit
- posture data
- acceleration
- 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
Links
Images
Landscapes
- Manipulator (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ヒトやサルなどの脚式移動型動物の身体メカニズムをモデル化した脚式移動ロボットの動作制御装置及び動作制御方法に係り、特に、多関節構造からなり且つ各関節の時系列的に動作させることにより所定の行動シーケンスを発現する脚式移動ロボットの動作制御装置及び動作制御方法に関する。
【0002】
さらに詳しくは、本発明は、各関節の時系列的な動作からなる基本動作ユニット、並びに基本動作の組み合わせからなる複合動作ユニットを用いて、所定の行動シーケンスを発現する脚式移動ロボットの動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法に係り、特に、高速動作時においても機体動作の安定性を維持したまま動作ユニットを接続して行動シーケンスを発現する脚式移動ロボットの動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法に関する。
【0003】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の"ROBOTA(奴隷機械)"に由来すると言われている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。
【0004】
最近では、ヒトやサルなどの2足直立歩行を行う動物の身体メカニズムや動作を模した脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。2足直立による脚式移動は、クローラ式や、4足又は6足式などに比し不安定で姿勢制御や歩行制御が難しくなるが、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できるという点で優れている。
【0005】
ヒトの生体メカニズムや動作をエミュレートした脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット(humanoid robot)と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援などを行うことができる。
【0006】
人間形若しくは人間型と呼ばれるロボットを研究・開発する意義を、例えば以下の2つの視点から把握することができよう。
【0007】
1つは、人間科学的な視点である。すなわち、人間の下肢及び/又は上肢に似た構造のロボットを作り、その制御方法を考案して、人間の歩行動作をシミュレートするというプロセスを通じて、歩行を始めとする人間の自然な動作のメカニズムを工学的に解明することができる。このような研究成果は、人間工学、リハビリテーション工学、あるいはスポーツ科学など、人間の運動メカニズムを扱う他のさまざまな研究分野の進展に大いに還元することができるであろう。
【0008】
もう1つは、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援を行うロボットの開発である。この種のロボットは、人間の生活環境のさまざまな局面において、人間から動作や作法を教わりながら個々に個性の相違する人間又は環境への適応方法を学習し、機能面でさらに成長していく必要がある。このとき、ロボットが「人間形」すなわち人間と同じ形又は同じ構造をしている方が、人間とロボットとのスムースなコミュニケーションを行う上で有効に機能するものと考えられる。
【0009】
例えば、踏んではならない障害物を避けながら部屋を通り抜ける方法を実地においてロボットに教示するような場合、クローラ式や4足式ロボットのように教える相手が自分と全く違う構造をしているよりも、同じような格好をしている2足歩行ロボットの方がユーザ(作業員)ははるかに教え易く、またロボットにとっても教わり易い筈である(例えば、高西著「2足歩行ロボットのコントロール」(自動車技術会関東支部<高塑>No.25, 1996 APRIL)を参照のこと)。
【0010】
人間の作業空間や居住空間のほとんどは、2足による直立歩行という人間が持つ身体メカニズムや行動様式に合わせて形成されている。言い換えれば、人間の住空間は、車輪その他の駆動装置を移動手段とした現状の機械システムが移動するのには多くの障壁が存在する。したがって、機械システムすなわちロボットが様々な人的作業を代行し、さらに人間の住空間に深く浸透していくためには、ロボットの移動可能範囲が人間のそれとほぼ同じであることが好ましい。これが、脚式移動ロボットの実用化が大いに期待されている所以でもある。2足直立歩行を行うという人間の形態を有していることは、ロボットが人間の住環境との親和性を高める上で必須であると言える。
【0011】
人間型ロボットの用途の1つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業を、人間に類似した構造や機能を備えたロボットに代行してもらう。
【0012】
また、人間型ロボットの他の用途として、難作業の代行などの生活支援というよりも、生活密着型、すなわち人間との「共生」という用途が挙げられる。この種のロボットは、ヒトやサルなどの2足の直立歩行を行う動物が本来持つ全身協調型の動作メカニズムを忠実に再現し、その自然に円滑な動作を実現することを至上の目的とする。また、ヒトやサルなどの知性の高い直立動物をエミュレートする以上、四肢を用いた動作が生体として自然であり、且つ、動作が持つ表現力が豊かであることが望ましい。さらに、ユーザから入力されたコマンドを単に忠実に実行するだけではなく、相手の言葉や態度(「褒める」とか「叱る」、「叩く」など)に呼応した、生き生きとした動作表現を実現することも要求される。この意味において、ヒトを模したエンターティンメント指向の人間型ロボットは、まさに「人間形」のロボットと呼ぶに相応しい。
【0013】
人間型を始めとする脚式移動ロボットは、他のタイプのロボットに比し、自由度すなわち関節駆動アクチュエータの個数が多い。すなわち、システムの制御対象が多いので、姿勢制御や歩行安定制御の計算量は指数関数的に増大する。さらに、2足歩行ロボットの場合には、機体の重心位置が上部に偏り、且つ、脚式動作時における重心移動が大きく本来不安定であるので(2足歩行ロボットのZMPの存在範囲は、4足歩行型のそれに比しはるかに狭い)、姿勢制御や歩行安定制御の計算量は膨大である。
【0014】
また、高速で安定した脚式作業の制御をすべて機体上でスタンドアロンで且つリアルタイムで行うことは不可能に近い。このため、一般に、脚式ロボットは予め計画された歩行動作を行う。(例えば、特開昭62−97006号公報には、あらかじめ記憶された歩行パターン・データを用いることで、制御プログラムを簡素化するとともに、歩行パターンの各データ間を密につなぐことができる多関節歩行ロボット制御装置について開示されている。)
【0015】
ロボットが実演する意味のある一連の振る舞いのことを「ビヘイビア」又は行動シーケンスと呼ぶ。行動シーケンスは、機体上の各関節アクチュエータの時系列的な動作を記述した動作パターン・データ(「アクション」とも呼ぶ)を複数組み合わせることによって構成することができる。すなわち、各関節の時系列的な動作を記述した動作パターン・データをあらかじめ所定の記憶装置内に用意しておき、所定の行動シーケンスを発現する際には、該当する動作パターン・データを記憶装置から呼び出して、これを機体上で再生するようにすればよい。
【0016】
また、行動シーケンスを柔軟に生成するために、基本的あるいは頻繁に利用される動作パターン・データをデータベース管理して、部品化して再利用することができる。部品化された動作パターン・データのことを、本明細書では「動作ユニット」と呼ぶことにする。
【0017】
基本動作ユニットの例としては、前進開始ユニット、前進定常歩行ユニット、前進停止ユニット、後退開始ユニット、後退定常歩行ユニット、後退停止ユニット、左(又は右)並進開始ユニット、左(又は右)並進定常歩行ユニット、左(右又は)並進停止ユニットなどを挙げることができる。
【0018】
幾つかの基本動作ユニットを組み合わせることにより、さらに複雑な動作パターンを発現することができる。例えば、前進開始ユニットと、N回の前進定常歩行ユニットと、前進停止ユニットとを組み合わせることにより、直立停止中のロボットを前進歩行せしめることができる。
【0019】
ロボットがさまざまの基本動作ユニットをあらかじめ備えておくことにより、豊かな動きを比較的容易に実現することができる。例えば、先述したエンターテインメント向けのロボットにおいては、動作表現が豊かであることが強く望まれている。基本的な動作ユニットの組み合わせを変更することより、記憶すべき動作ユニット数を増やすことなく、さまざまな行動シーケンスを実演することが可能になる。
【0020】
従来、動作ユニットと呼ばれるようなロボットの基本動作パターンは、ロボットのポーズ、すなわち静止した状態での各関節の位置を記述した姿勢データを時系列的に配列することによって表すことが一般的であった。この場合、2つの動作ユニットを接続する際には、各関節の静的な位置(すなわち静的な姿勢)の連続性のみを考慮して接続の可否が判定される。
【0021】
ロボットが静的若しくは比較的緩やかな動作しか実演しないような場合であれば、各関節の回転角度のみを指示する動作ユニットを単につなぎ合わせていくだけでも、安定した動作を行うことが可能であろう。しかしながら、加速度成分を無視できないような高速動作を行うような場合には、加速度成分は外乱となって機体に影響を及ぼすので、動作ユニットを接続する際に不安定な動作になる危険がある。あるいは、加速度成分の影響のため、動作ユニット間の切替えポイントに著しい制限が加わることもある。
【0022】
加速度成分を無視できないような動作としては、走行若しくは走行への移行期のように機体に対する床反力がゼロになる状態を遷移する動作や、さらに、走行時において重力加速度に打ち勝つ加速度運動が生じて両足とも地面と接地していない空中にいる状態を遷移する動作が挙げられる。
【0023】
【発明が解決しようとする課題】
本発明の目的は、多関節構造からなり且つ各関節の時系列的に動作させることにより所定の行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法を提供することにある。
【0024】
本発明のさらなる目的は、各関節の時系列的な動作からなる基本動作ユニット、並びに基本動作の組み合わせからなる複合動作ユニットを用いて、所定の行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法を提供することにある。
【0025】
本発明のさらなる目的は、加速度成分を無視できないような高速動作時においても機体動作の安定性を維持したまま動作ユニットを接続して行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法を提供することにある。
【0026】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットの動作制御装置又は動作制御方法であって、
各関節の時系列的な動作を記述した動作ユニットを用いて行動シーケンスを生成する行動シーケンス生成部又はステップと、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御部又はステップと、
を備えた脚式移動ロボットの動作制御装置である。
【0027】
ここで言う動作ユニットは、該動作ユニットの動作開始並びに動作終了の各端点における各関節の少なくとも加速度若しくは関節角加速度を含んだ動的基本姿勢と、両端の動的基本姿勢の間を接続する1以上の運動姿勢とで構成される。運動姿勢は、各関節における加速度若しくは関節角加速度以外に、各関節における位置データ又は角度データや速度若しくは角速度成分を含んでもよい。
【0028】
動作ユニットの両端点が加速度成分を含んでいるので、2つの動作ユニットを接続する際は、関節の位置又は角度、速度又は角速度の連続性だけでなく、関節における加速度若しくは角加速度の連続性をも考慮に入れてその接続の可否を判定することができる。したがって、例えば走行時や跳躍時のように加速度成分を無視できないような高速動作を記述した動作ユニットどうしを接続する場合であっても、加速度の連続性が保証されるので、加速度成分が外乱となることはない。また、動作ユニット間の切替えポイントに制限が加わることはない。
【0029】
本発明の第1の側面によれば、前記行動シーケンス生成部又はステップは、2つの動作ユニットを接続する際には、各動作ユニットの接続側の各端点における動的基本姿勢が持つ位置若しくは関節角度、速度若しくは関節角速度、並びに加速度若しくは関節角加速度の連続性を考慮することができる。そして、各動的基本姿勢どうしが不連続である場合には連続性を補償する動的基本姿勢を該動作ユニット間に挿入するようにしてもよい。
【0030】
あるいは、各動的基本姿勢どうしが不連続である場合には連続性を補償する1以上の運動姿勢を該動作ユニット間に挿入するようにしてもよい。
【0031】
あるいは、各動的基本姿勢どうしが不連続である場合には連続性を補償する動作ユニットを該動作ユニット間に挿入するようにしてもよい。
【0032】
また、動的基本姿勢を1以上の静的な(すなわち、速度、加速度を持たない)姿勢データに変換する姿勢データ変換部又はステップをさらに備えていてもよい。このような場合、運動制御部は、静的な姿勢データに基づいて各関節の動作を制御することができる。したがって、位置若しくは関節角度、速度若しくは関節角速度、加速度若しくは関節角加速度からなる動的基本姿勢を扱うことができないロボット装置、すなわち位置データのみの指令に基づいて動作するロボット装置に対しても、本発明の思想を適用することができる。
【0033】
また、本発明の第2の側面は、少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットにおける各関節の時系列的な動作を記述した動作ユニットを生成する動作ユニット生成方法であって、
動作ユニットの両端点における各関節の少なくとも加速度若しくは関節角加速度を記述した動的基本姿勢の仮設定、並びに安定化条件の設定を行うステップと、
動作ユニット内で両端点の動的基本姿勢の間に挿入される各運動姿勢の仮設定を行うステップと、
仮設定された動的基本姿勢を持つ動作ユニットの運動パターンの安定化処理を行うステップと、
を具備することを特徴とする脚式移動ロボットのための動作ユニット生成方法である。
【0034】
本発明の第2の側面に係る動作ユニット生成方法は、動的基本姿勢を含む動作ユニットを、少なくとも3つ以上の静的基本姿勢により構成される静的基本姿勢ユニットに変換して代替するステップをさらに備えてもよい。このような場合、位置若しくは関節角度、速度若しくは関節角速度、加速度若しくは関節角加速度からなる動的基本姿勢を扱うことができないロボット装置、すなわち位置データのみの指令に基づいて動作するロボット装置に対しても、本発明の思想を適用することができる。
【0035】
また、動作ユニットの運動パターンの安定化処理を行うステップは、
(a)該動作ユニットを実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定するサブステップと、
(b)前記サブステップ(a)により設定された足部運動に基づいてZMP軌道を設定するサブステップと、
(c)前記サブステップ(b)により設定されたZMP上でモーメントが釣り合う腰部運動の解を求めるサブステップと、
を備えていてもよい。
【0036】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0037】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0038】
図1及び図2には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット100が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット100は、脚式移動を行う左右2足の下肢と、体幹部と、左右の上肢と、頭部と、制御部とで構成される。
【0039】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【0040】
制御部は、この脚式移動ロボット100を構成する各関節アクチュエータの駆動制御や各センサ(後述)などからの外部入力を処理するコントローラ(主制御部)や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。また、図1及び図2に示す例では、脚式移動ロボット100が制御部を背中に背負うような格好となっているが、制御部の設置場所は特に限定されない。
【0041】
さらに、図3には、本実施例に係る脚式移動ロボット100が具備する関節自由度構成を模式的に示している。図示の通り、脚式移動ロボット100は、2本の腕部と頭部1を含む上体と、脚式移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成される。
【0042】
頭部1を支持する首関節は、首関節ヨー軸2と、首関節ピッチ軸3と、首関節ロール軸4という3自由度を有している。
【0043】
また、各腕部は、肩関節ピッチ軸8と、肩関節ロール軸9と、上腕ヨー軸10と、肘関節ピッチ軸11と、前腕ヨー軸12と、手首関節ピッチ軸13と、手首関節ロール軸14と、手部15とで構成される。手部15は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部15の動作自体は、ロボット100の姿勢安定制御や歩行動作制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、左右の各腕部は7自由度を有するとする。
【0044】
また、体幹部は、体幹ピッチ軸5と、体幹ロール軸6と、体幹ヨー軸7という3自由度を有する。
【0045】
また、下肢を構成する左右各々の脚部は、股関節ヨー軸16と、股関節ピッチ軸17と、股関節ロール軸18と、膝関節ピッチ軸19と、足首関節ピッチ軸20と、関節ロール軸21と、足部(足底)22とで構成される。股関節ピッチ軸17と股関節ロール軸18の交点は、本実施例に係る脚式移動ロボット100の股関節位置を定義するものとする。人体の足部(足底)22は、実際には多関節・多自由度の足底を含んだ構造体であるが、本実施例に係る脚式移動ロボット100の足底はゼロ自由度とする。したがって、左右の各脚部は6自由度で構成される。
【0046】
以上を総括すれば、本実施例に係る脚式移動ロボット100全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。但し、脚式移動ロボット100が必ずしも32個の関節自由度に限定される訳ではない。設計・製作上の制約条件や要求仕様等に応じて、関節自由度の個数を適宜増減することができることは言うまでもない。
【0047】
脚式移動ロボット100が持つ上述の各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。本実施例では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ACサーボ・アクチュエータを搭載することとした。なお、この種のACサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開2000−299970号公報(特願平11−33386号明細書)に開示されている。
【0048】
図4には、本実施例に係る脚式移動ロボット100の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット100は、ヒトの四肢を表現した各機構ユニット30,40,50R/L,60R/Lと、各機構ユニット間の協調動作を実現するための適応制御を行う制御ユニット80とで構成される(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下同様)。
脚式移動ロボット100全体の動作は、制御ユニット80によって統括的に制御される。制御ユニット80は、CPU(Central Processing Unit)チップやメモリ・チップ等の主要回路コンポーネント(図示しない)で構成される主制御部81と、電源装置やロボット100の各構成要素とのデータやコマンドの授受を行うインターフェースや外部記憶装置(いずれも図示しない)などを含んだ周辺回路82とで構成される。
【0049】
本実施例では、電源装置は、脚式移動ロボット100を自立的に駆動するためのバッテリを含んだ構成(図4には図示しない)となっている。バッテリによる自立駆動型であれば、脚式移動ロボット100の行動半径は、電源ケーブル長や商用電源コンセントの場所などによる物理的な制限を受けることなく、自由に歩行することができる。また、歩行やその他の上肢を含めた各種の運動時に、電源ケーブルと機体との干渉を考慮する必要がなくなり、広範囲の作業空間における脚式移動が容易になる。
【0050】
図3に示した脚式移動ロボット100内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット30には、首関節ヨー軸2、首関節ピッチ軸3、首関節ロール軸4の各々を表現する首関節ヨー軸アクチュエータA2、首関節ピッチ軸アクチュエータA3、首関節ロール軸アクチュエータA4がそれぞれ配設されている。
【0051】
また、体幹部ユニット40には、体幹ピッチ軸5、体幹ロール軸6、体幹ヨー軸7の各々を表現する体幹ピッチ軸アクチュエータA5、体幹ロール軸アクチュエータA6、体幹ヨー軸アクチュエータA7がそれぞれ配備されている。
【0052】
また、腕部ユニット50R/Lは、上腕ユニット51R/Lと、肘関節ユニット52R/Lと、前腕ユニット53R/Lに細分化されるが、肩関節ピッチ軸8、肩関節ロール軸9、上腕ヨー軸10、肘関節ピッチ軸11、肘関節ロール軸12、手首関節ピッチ軸13、手首関節ロール軸14の各々を表現する肩関節ピッチ軸アクチュエータA8、肩関節ロール軸アクチュエータA9、上腕ヨー軸アクチュエータA10、肘関節ピッチ軸アクチュエータA11、肘関節ロール軸アクチュエータA12、手首関節ピッチ軸アクチュエータA13、手首関節ロール軸アクチュエータA14がそれぞれ配備されている。
【0053】
また、脚部ユニット60R/Lは、大腿部ユニット61R/Lと、膝ユニット62R/Lと、脛部ユニット63R/Lに細分化されるが、股関節ヨー軸16、股関節ピッチ軸17、股関節ロール軸18、膝関節ピッチ軸19、足首関節ピッチ軸20、足首関節ロール軸21の各々を表現する股関節ヨー軸アクチュエータA16、股関節ピッチ軸アクチュエータA17、股関節ロール軸アクチュエータA18、膝関節ピッチ軸アクチュエータA19、足首関節ピッチ軸アクチュエータA20、足首関節ロール軸アクチュエータA21がそれぞれ配備されている。
【0054】
上述した各関節アクチュエータA2,A3…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ACサーボ・アクチュエータ(前述)である。
【0055】
頭部ユニット30、体幹部ユニット40、腕部ユニット50、各脚部ユニット60などの各機構ユニット毎に、アクチュエータ駆動制御用の副制御部35,45,55,65がそれぞれ配備されている。さらに、各脚部60R,Lの足底が着床したか否かを検出する接地確認センサ91及び92を装着するとともに、体幹部ユニット40内には、姿勢を計測する姿勢センサ93を装備している。
【0056】
姿勢センサ93は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。また、接地確認センサ91及び92は、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。
【0057】
姿勢センサ93の出力により、体幹部分の傾きや姿勢を検出することができる。また、接地確認センサ91及び92の出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚いずれの状態であるかを判別することができる。
【0058】
主制御部80は、各センサ91〜93の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部35,45,55,65の各々に対して適応的な制御を行い、脚式移動ロボット100の上肢、体幹、及び下肢の協調した動作を実現することができる。
【0059】
主制御部81は、ユーザ・コマンドなどの外部要因に従って、あるいは感情モデルや本能モデル、学習モデルなどからなる内部状態に基づいて、行動計画を立案して、所望の機体動作を実行する。ロボット100が行う機体動作は、主制御部81にローカル接続された外部記憶装置にデータベース登録された動作ユニットを順次読み出して、1以上の動作ユニットを接続して行動シーケンスを生成して、これを機体上で再生することによって実現される。外部記憶装置は、例えば周辺回路82の1つとして実装されるが、図面の錯綜を避けるため図4には図示しない。
【0060】
本実施形態に係るロボット100における機体動作は、脚式移動が基調となる。2足歩行タイプのロボットの場合、重心位置が上部に偏り、且つ脚式作業中の重心位置の移動量が大きいので、姿勢・歩行安定制御が極めて重要である。主制御部81は、ZMP(Zero Moment Point)を安定度判別規範に用いて姿勢・歩行安定制御を行う。すなわち、主制御部81は、足部運動、ZMP軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部35,45,55,65に転送する。
【0061】
ここで言う「ZMP」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ZMP軌道」とは、例えばロボット100の歩行動作期間中などにZMPが動く軌跡を意味する。ZMPの概念並びにZMPを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著"LEGGED LOCOMOTION ROBOTS"(加藤一郎外著『歩行ロボットと人工の足』(日刊工業新聞社))に記載されている。
【0062】
各々の副制御部35,45…では、主制御部81から転送されてくる制御指令値をデコードして、該当する各関節アクチュエータA2,A3…に対して駆動制御信号を出力する。
【0063】
脚式移動ロボット100が実演する意味のある一連の振る舞いのことを「ビヘイビア」又は行動シーケンスと呼ぶ。行動シーケンスは、機体上の各関節アクチュエータの時系列的な動作を記述した1以上の動作ユニットを組み合わせることによって構成することができる。すなわち、各関節の時系列的な動作を記述した動作ユニットを、あらかじめ機体上の所定の記憶装置(記憶装置は例えば周辺回路82の1つとして実装されている)内に用意しておき、所定の行動シーケンスを発現する際には、該当する動作ユニットを記憶装置から逐次呼び出して、各動作ユニットをつなぎ合わせて機体上で再生するようにすればよい。
【0064】
図5には、動作ユニットの構成例を示している。同図に示す例では、前進開始ユニット、前進定常歩行ユニット、前進停止ユニット、後退開始ユニット、後退定常歩行ユニット、後退停止ユニット、左(又は右)並進開始ユニット、左(又は右)並進定常歩行ユニット、左(又は右)並進停止ユニットが示されている。
【0065】
図5に示す例では、脚式移動ロボット100を前後並びに左右に移動させるための各動作ユニットが示されている。
【0066】
前進開始ユニットは、停止姿勢から動的両脚支持姿勢Iまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、前進定常歩行ユニットは、動的両脚支持姿勢Iから動的両脚支持姿勢Iまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、前進停止ユニットは、動的両脚支持姿勢Iから停止姿勢までの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。
【0067】
後退開始ユニットは、停止姿勢から動的両脚支持姿勢IIまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、後退定常歩行ユニットは、動的両脚支持姿勢IIから動的両脚支持姿勢IIまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、後退停止ユニットは、動的両脚支持姿勢IIから停止姿勢までの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。
【0068】
左並進開始ユニットは、停止姿勢から動的両脚支持姿勢IIIまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、左並進定常歩行ユニットは、動的両脚支持姿勢IIIから動的両脚支持姿勢IIIまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、左並進停止ユニットは、動的両脚支持姿勢IIIから停止姿勢までの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。
【0069】
右並進開始ユニットは、停止姿勢から動的両脚支持姿勢IVまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、右並進定常歩行ユニットは、動的両脚支持姿勢IVから動的両脚支持姿勢IVまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、右並進停止ユニットは、動的両脚支持姿勢IVから停止姿勢までの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。
【0070】
幾つかの基本動作ユニットを組み合わせることにより、さらに複雑な動作パターンを発現することができる。例えば、前進開始ユニットと、N回の前進定常歩行ユニットと、前進停止ユニットという3種類の動作ユニットを組み合わせることにより、図6に示すように所定の距離を歩くという行動シーケンスを実現することができる。
【0071】
また、図7には、動作ユニットの他の構成例を示している。同図に示す例では、さらに、前進左旋回定常歩行ユニット、前進右旋回定常歩行ユニット、後退左旋回定常歩行ユニット、後退右旋回定常歩行ユニットが示されている。これらの旋回定常歩行ユニットを上述の前進開始ユニット、前進停止ユニット、後退開始ユニット、並びに後退停止ユニットと組み合わせることにより、脚式移動ロボット100が旋回して歩行するような行動シーケンスを実演することができる。
【0072】
この他、前進、並進、後退、旋回の各動作について微調整を行うような、微調整前進歩行ユニット、微調整後退歩行ユニット、微調整左並進ユニット、微調整右並進ユニットを用意しておいてもよい。また、比較的高速に移動する前進動作に関しては、前進開始から前進定常歩行に至るまでの加速前進歩行ユニットや、前進定常歩行から前進停止に至るまでの減速前進歩行ユニットを用意しておいてもよい。
【0073】
図8には、本実施例に係る脚式移動ロボット100において使用する動作ユニットの構造を模式的に図解している。1つの動作ユニットは、動作ユニットの開始並びに終了の状態を記述する動的基本姿勢と、これら両端点の動的基本姿勢を結ぶ1以上の運動姿勢とで構成される。
【0074】
動的基本姿勢は、当該姿勢を構成する各関節の位置(すなわち回転角度)の他に、速度若しくは関節角速度、並びに加速度若しくは関節角加速度の成分を含んでいる。
【0075】
運動姿勢は、機体の静止状態を記述した(すなわち位置データのみからなる)静的な運動姿勢の場合と、機体が動作する状態を記述した動的な運動姿勢の場合とがある。運動姿勢は、各関節の位置データだけで構成してもよいし、速度並びに加速度成分を含んでもよい。
【0076】
動作ユニットの両端点が加速度成分を含んでいるので、2つの動作ユニットを接続する際は、関節の位置の連続性だけでなく、加速度の連続性をも考慮に入れてその接続の可否を判定することができる。したがって、加速度成分を無視できないような高速動作を記述した動作ユニットどうしを接続する場合であっても、加速度の連続性が保証されるので、加速度成分が外乱となることはない。また、動作ユニット間の切替えポイントに制限が加わることはない。
【0077】
なお、加速度成分を無視できないような動作としては、走行若しくは走行への移行期のように機体に対する床反力がゼロになる状態を遷移する動作や、さらに、走行時において重力加速度に打ち勝つ加速度運動が生じて両足とも地面と接地していない空中にいる状態を遷移する動作が挙げられる。
【0078】
次いで、2つの動作ユニットを接続するための処理について説明する。
【0079】
接続元の動作ユニットAの終点動的基本姿勢と、接続先の動作ユニットBの開始点動的基本姿勢とが、連続性が成立する場合には、図9に示すように、そのまま動的基本姿勢どうしを接続すればよい。
【0080】
これに対し、接続元の動作ユニットAの終点動的基本姿勢と、接続先の動作ユニットBの開始点動的基本姿勢とが連続しないような場合には、図10に示すように、一方の終点と他方の開始点との連続性を補うような動的基本姿勢A−Bを生成して、これで両動作ユニット間に挿入すればよい。図示しないが、このような動作ユニット間を補間する動作ユニットを2以上挿入してもよい。
【0081】
あるいは、図11に示すように、動作ユニットAの終点動的基本姿勢と動作ユニットBの開始点動的基本姿勢とを端点に持つ動作ユニットCを新たに生成して、この動作ユニットCによって動作ユニットA及びB間を補間するようにしてもよい。
【0082】
次いで、動作ユニットを生成する方法について、図12に示したフローチャートを参照しながら説明する。
【0083】
まず、動作ユニットの両端点となる動的基本姿勢の仮設定、並びに安定化条件の設定を行う(ステップS1)。動的基本姿勢の仮設定は、当該姿勢における各関節アクチュエータの位置若しくは関節角度、速度若しくは関節角速度、加速度若しくは関節角加速度の各値を仮に設定することを意味する。また、安定化条件の設定では、例えばZMP軌道を安定度判別規範として使用する。
【0084】
次いで、動作ユニット内で両端点の動的基本姿勢の間に挿入される各運動姿勢の仮設定を行う(ステップS2)。運動姿勢の仮設定は、当該姿勢における各関節アクチュエータの位置若しくは関節角度、速度若しくは関節角速度、加速度若しくは関節角加速度の各値を仮設定するか、又は、各関節アクチュエータの位置を仮設定することに相当する。
【0085】
次いで、仮設定された動的基本姿勢を持つ動作ユニットの運動パターンの安定化処理、すなわち、ロボット100の機体の腰、体幹、下肢運動などの修正処理を行うことによって、位置(若しくは関節角度)、速度(若しくは関節角速度)、並びに加速度(若しくは関節角加速度)の各データからなる動的基本姿勢を持つ動作ユニットを得ることができる(ステップS3)。
【0086】
運動パターンの安定化処理については後述する。また、システムが静的姿勢(すなわち位置データと角度データのみ)しか受け付けない場合には、動的基本姿勢を含む動作ユニットを、少なくとも3つ以上の静的基本姿勢により構成される静的基本姿勢ユニットに変換して代替する。
【0087】
次いで、図12のステップS3で実行される運動パターンの安定化処理、すなわちロボット100の機体の腰、体幹、下肢運動などの修正処理について説明する。
【0088】
本実施例に係る脚式移動ロボット100は、無限のすなわち連続的な質点の集合体であるが、有限数で離散的な質点からなる近似モデルに置き換えることによって、安定化処理のための計算量を削減するようにしている。より具体的には物理的には図3に示す多関節自由度構成を具備する脚式移動ロボット100を、図13に示すように多質点近似モデルに置き換えて取り扱う。図示の近似モデルは、線形且つ非干渉の多質点近似モデルである。
【0089】
図13において、O−XYZ座標系は絶対座標系におけるロール、ピッチ、ヨー各軸を表し、また、O'−X'Y'Z'座標系はロボット100とともに動く運動座標系におけるロール、ピッチ、ヨー各軸を表している。同図に示す多質点モデルでは、iはi番目に与えられた質点を表す添え字であり、miはi番目の質点の質量、r'iはi番目の質点の位置ベクトル(但し運動座標系)を表すものとする。また、後述する腰部運動制御において特に重要な腰部質点の質量はmh、その位置ベクトルはr'h(r'hx,r'hy,r'hz)とし、また、ZMPの位置ベクトルをr'zmpとする。
【0090】
多質点モデルは、言わば、ワイヤフレーム・モデルの形態でロボットを表現したものである。図13を見ても判るように、多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定される。図示の非厳密の多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない。多質点近似モデルは、概ね以下の処理手順により生成することができる。
【0091】
(1)ロボット100全体の質量分布を求める。
(2)質点を設定する。質点の設定方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
(3)各領域i毎に、重心を求め、その重心位置と質量miを該当する質点に付与する。
(4)各質点miを、質点位置riを中心とし、その質量に比例した半径に持つ球体として表示する。
(5)現実に連結関係のある質点すなわち球体同士を連結する。
【0092】
なお、図13に示す多質点モデルの腰部情報における各回転角(θhx,θhy,θhz)は、脚式移動ロボット100における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである(図14には、多質点モデルの腰部周辺の拡大図を示しているので、確認されたい)。
【0093】
次いで、本実施例に係る脚式移動ロボット100における安定化処理、すなわち腰、体幹、下肢運動などの修正処理の手順について説明する。
【0094】
図15及び図16には、脚式移動ロボット100において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例をフローチャートの形式で示している。但し、以下では、図13に示すような線形・非干渉多質点近似モデルを用いてロボット100の各関節位置や動作を記述するものとし、且つ、計算に際して以下のようなパラメータを用いることとする。但し、ダッシュ(´)付きの記号は運動座標系を記述するものと理解されたい。
【0095】
【数1】
【0096】
また、ロボット100の腰部高さが一定(r'hz+rqz=const)で、且つ、膝部質点がゼロであることを前提とする。
【0097】
まず、足部(より具体的には足底)運動、足部運動から導出されるZMP軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される(ステップS11)。より具体的には、まず足部運動パターン、次いでZMP軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、腰部の運動に関しては、Z'方向のみ設定し、X'及びY'の各方向については未知とする。
【0098】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)を算出する(ステップS12)。
【0099】
次いで、線形・非干渉多質点近似モデルを用いて、腰部水平面内運動(r'hx,r'hy)によって発生する設定ZMP上でのモーメントを算出する(ステップS13)。
【0100】
次いで、設定ZMP上におけるモーメントに関する釣り合い式を、ロボットとともに動く運動座標系O'−X'Y'Z'上で導出する(ステップS14)。より具体的には、足部、体幹、そして上肢運動により発生するロール軸並びにピッチ軸回りの各モーメント(Mx,My)を既知変数の項として右辺に、腰部質点の水平運動に関する項(r'hx,r'hy)を未知変数の項として左辺にまとめ、下式に示すような線形・非干渉なZMP方程式(1)を導出する。
【0101】
【数2】
【0102】
但し、以下が成立するものとする。
【0103】
【数3】
【0104】
次いで、上記のZMP方程式(1)を解いて、腰部水平面内軌道を算出する(ステップS15)。例えば、オイラー法やルンゲ・クッタ法などの数値的解法(周知)を用いてZMP方程式(1)を解くことで、未知変数としての腰部の水平絶対位置(r'hx,r'hy)に入るような腰部水平絶対位置である。ZMP目標位置は、通常、着床した足底に設定される。
【0105】
算出された近似解上ではあらかじめ設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う(ステップS17)。この際、膝部の軌道を算出してもよい。
【0106】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル(すなわち、剛体、若しくは非常に多くの質点からなるロボット100の精密なモデル)における設定ZMP上のロール、ピッチ各軸回りのモーメント(eMx,eMy)を算出する(ステップS18)。非厳密モデルでは上記の[数3]が成立することを前提としたが、厳密モデルではかかる前提を要しない(すなわち時間の変化に対して一定である必要はない)。
【0107】
厳密モデルにおけるモーメント(eMx,eMy)は、腰部運動においてロール並びのピッチの各軸回りに発生するモーメント誤差である。続くステップS19では、これら各軸回りのモーメント(eMx,eMy)が非厳密モデルにおける近似モーメントの許容値(εMx,εMy)未満か否かを判定する。許容値ε未満であれば、機体上の腰、体幹、下肢の各部における安定運動パターンの厳密解及び安定歩行を実現できる全身運動パターンを得ることができたことを意味するので(ステップS20)、本処理ルーチン全体を終了する。
【0108】
他方、厳密モデルにおけるモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)以上であった場合には、厳密モデルにおけるモーメント(eMx,eMy)を用いて近似モデルにおける既知発生モーメント(Mx,My)を修正して(ステップS21)、再びZMP方程式の導出を行う。そして、許容値ε未満に収束するまで、上述したような腰、体幹、下肢の運動パターンの近似解の算出と修正を繰り返し実行する。
【0109】
また、図17及び図18には、脚式移動ロボット100において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例をフローチャートの形式で示している。但し、上述と同様に、図13に示した線形・非干渉多質点近似モデルを用いてロボット100の各関節位置や動作を記述するものとする。
【0110】
まず、足部(より具体的には足底)運動、足部運動から導出されるZMP軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される(ステップS31)。より具体的には、まず足部運動パターン、次いでZMP軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、腰部の運動に関しては、Z'方向のみ設定し、X'及びY'の各方向については未知とする。
【0111】
次に、線形・非干渉多質点近似モデル(前述並びに図13を参照のこと)を用いて、足部、体幹、そして上肢運動により発生する設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)を算出する(ステップS32)。
【0112】
次いで、腰部水平面内運動(r'hx,r'hy)をフーリエ級数展開する(ステップS33)。当業界において既に周知のように、フーリエ級数展開することにより、時間軸成分を周波数成分に置き換えて演算することができる。すなわち、この場合には腰部の動きを周期的な動きとして捉えることができる。また、FFT(高速フーリエ変換)を適用することができるので、計算速度を大幅に向上させることができる。
【0113】
次いで、設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)についてもフーリエ級数展開する(ステップS34)。
【0114】
次いで、腰部水平面内軌道のフーリエ係数を算出し、さらに逆フーリエ級数展開することで(ステップS35)、腰部運動の近似解が求まる(ステップS36)。ここで求められる近似解は、安定歩行可能な腰部運動パターンを規定する腰部の水平絶対位置の近似解(r'hx,r'hy)であり、より具体的にはZMPが目標位置に入るような腰部水平絶対位置である。ZMP目標位置は、通常、着床した足底に設定される。
【0115】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う(ステップS37)。この際、膝部の軌道を算出してもよい。
【0116】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル(すなわち、剛体、若しくは非常に多くの質点からなるロボット100の精密なモデル)における設定ZMP上のモーメント(eMx,eMy)を算出する(ステップS38)。非厳密モデルでは上記の[数3]が成立することを前提としたが、厳密モデルではかかる前提を要しない(すなわち時間の変化に対して一定である必要はない)。
【0117】
厳密モデルにおけるモーメント(eMx,eMy)は、腰部運動の発生するモーメント誤差である。続くステップS39では、このモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)未満か否かを判定する。許容値ε未満であれば、腰、体幹、下肢などの安定運動パターンの厳密解及び安定歩行を実現できる全身運動パターンを得ることができたことを意味するので(ステップS40)、本処理ルーチン全体を終了する。
【0118】
他方、厳密モデルにおけるモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)以上であった場合には、厳密モデルにおけるモーメント(eMx,eMy)を用いて非厳密モデルにおける既知発生モーメント(Mx,My)を修正して(ステップS41)、再びフーリエ級数展開して、許容値ε未満に収束するまで、上述したような腰、体幹、下肢などの運動パターンの近似解の算出と修正を繰り返し実行する。
【0119】
静的姿勢(すなわち位置データと角度データのみ)しか受け付けないシステムにおいては、動的基本姿勢を含む動作ユニットを、少なくとも3つ以上の静的基本姿勢により構成される静的基本姿勢ユニットに変換して代替すればよいという点は、既に述べた通りである。以下では、静的基本姿勢による代替処理について説明する。
【0120】
例えば、動作ユニットAと動作ユニットBを接続する場合、接続する各ユニットの端点並びにその近傍において、複数の静的基本姿勢を生成して、動的基本姿勢と置き換えることにより、実現される。
【0121】
図19には、静的姿勢のみを受けつけるシステムにおいて連続する2つの動作ユニットを接続する様子を模式的に示している。また、図20には、静的姿勢のみを受けつけるシステムにおいて連続しない2つの動作ユニットを接続する様子を模式的に示している。後者の場合、静的基本姿勢のみからなる動作ユニットが新たに生成されるがこの動作ユニットの端点は、接続対象となる動作ユニットA及びBに含まれる。
【0122】
静的基本姿勢は、動作ユニットAの端点の動的基本姿勢、並びに、動作ユニットBの動的基本姿勢における各端点情報(すなわち、位置(若しくは関節角度)、速度(若しくは関節角速度)、加速度(若しくは関節角加速度))を境界条件として、5次又はそれ以上の多項式補間を用いて生成することができる。
【0123】
5次多項式補間は、以下の式を用いて行うことができる。
【0124】
【数4】
【0125】
以下、上式を用いて動的基本姿勢(動作ユニットAの端点)を代替する静的基本姿勢を生成するための擬似プログラム・コードを以下に示しておく。
【0126】
【0127】
勿論、各基本姿勢はロボットの安定性に影響を与えない範囲での許容値をもっても構わないので、5次よりも低い次数の多項式、若しくは直線補間を用いて簡易的に静的基本姿勢を生成することもできる。
【0128】
本発明に係る脚式移動ロボットの脚式移動ロボットの動作制御装置及び動作制御方法によれば、動作ユニットの両端点が加速度成分を含んでいるので、2つの動作ユニットを接続する際は、関節の位置又は角度、速度又は角速度の連続性だけでなく、関節における加速度若しくは角加速度の連続性をも考慮に入れてその接続の可否を判定することができる。
【0129】
ここでは、関節の位置又は角度、速度又は角速度の連続性だけを考慮して動作ユニットどうしを接続した場合と、本発明のように関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合について、動作シミュレーション結果を基に比較検討してみる。
【0130】
図21及び図22には、関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合における脚式移動ロボットの機体のZMP位置のX方向及びY方向の変動量を示している。
【0131】
また、図23及び図24には、関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮して動作ユニットを接続した場合における脚式移動ロボットの機体のZMP位置のX方向及びY方向の変動量を示している。
【0132】
各図において、横軸は時間軸であり、縦軸はZMP位置のX方向及びY方向の変動量を表している。横軸において1.35付近が動作ユニットの接続点に相当する。特にX方向のZMP位置の変動量を比較した場合、加速度若しくは角加速度の連続性を考慮して接続した場合の方が滑らかに接続していることが判る。
【0133】
さらに、図25には、動作ユニットの接続点におけるZMP位置のX方向の変動量を拡大して両者を比較している。但し、実線が関節における加速度若しくは角加速度の連続性を考慮した場合であり、破線が関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮した場合である。図示の通り、前者は動作ユニットが滑らかに接続されているのに対して、後者はZMP位置が急峻に変動するスパイク成分が現れており、動作ユニットの接続が滑らかでないことが判る。
【0134】
このような動作ユニットの接続時に関節の加速度若しくは角加速度成分を考慮するか否かの相違は、例えば走行時や跳躍時のように機体が高速に動作するような場合に顕著に現れてくる。すなわち、高速動作時には加速度成分を無視できなくなるので、これを無視して動作ユニットを接続すると、加速度成分は外乱となって機体に影響を及ぼすので、動作ユニットを接続する際に不安定な動作になる危険がある。あるいは、加速度成分の影響のため、動作ユニット間の切替えポイントに著しい制限が加わることもある。
【0135】
[追補]
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0136】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【0137】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0138】
【発明の効果】
以上詳記したように、本発明によれば、多関節構造からなり且つ各関節の時系列的に動作させることにより所定の行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法を提供することができる。
【0139】
また、本発明によれば、各関節の時系列的な動作からなる基本動作ユニット、並びに基本動作の組み合わせからなる複合動作ユニットを用いて、所定の行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法を提供することができる。
【0140】
また、本発明によれば、加速度成分を無視できないような高速動作時においても機体動作の安定性を維持したまま動作ユニットを接続して行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施に供される脚式移動ロボット100を前方から眺望した様子を示た図である。
【図2】本発明の実施に供される脚式移動ロボット100を後方から眺望した様子を示た図である。
【図3】本実施例に係る脚式移動ロボット100が具備する関節自由度構成を模式的に示した図である。
【図4】本実施例に係る脚式移動ロボット100の制御システム構成を模式的に示した図である。
【図5】動作ユニットの構成例を示した図である。
【図6】複数の動作ユニットの組み合わせにより、所定の距離を歩くという行動シーケンスを実現した例を示した図である。
【図7】動作ユニットの他の構成例を示した図である。
【図8】動作ユニットの構造を模式的に示した図である。
【図9】連続する2つの動作ユニットを接続する様子を模式的に示した図である。
【図10】連続しない2つの動作ユニットを接続する例を模式的に示した図である。
【図11】連続しない2つの動作ユニットを接続する他の例を模式的に示した図である。
【図12】動作ユニットを生成するための処理手順をフローチャートの形式で示した図である。
【図13】安定化処理のために導入される、脚式移動ロボット100の線形且つ非干渉の多質点近似モデルを示した図である。
【図14】図13に示した多質点モデルの腰部周辺の拡大図である。
【図15】脚式移動ロボット100において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例を示したフローチャートである。
【図16】脚式移動ロボット100において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例を示したフローチャートである。
【図17】脚式移動ロボット100において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例を示したフローチャートである。
【図18】脚式移動ロボット100において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例を示したフローチャートである。
【図19】静的姿勢のみを受けつけるシステムにおいて連続する2つの動作ユニットを接続する様子を模式的に示した図である。
【図20】静的姿勢のみを受けつけるシステムにおいて連続しない2つの動作ユニットを接続する様子を模式的に示した図である。
【図21】関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合におけるロボットの機体のZMP位置のX方向及びY方向の変動量を示したチャートである。
【図22】関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合におけるロボットの機体のZMP位置のX方向及びY方向の変動量を示したチャートである。
【図23】関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮して動作ユニットを接続した場合におけるロボットの機体のZMP位置のX方向及びY方向の変動量を示したチャートである。
【図24】関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮して動作ユニットを接続した場合におけるロボットの機体のZMP位置のX方向及びY方向の変動量を示したチャートである。
【図25】関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮して動作ユニットを接続した場合と、関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合とを、動作ユニットの接続点におけるZMP位置のX方向の変動量を拡大して比較したチャートである。
【符号の説明】
1…頭部,2…首関節ヨー軸
3…首関節ピッチ軸,4…首関節ロール軸
5…体幹ピッチ軸,6…体幹ロール軸
7…体幹ヨー軸,8…肩関節ピッチ軸
9…肩関節ロール軸,10…上腕ヨー軸
11…肘関節ピッチ軸,12…前腕ヨー軸
13…手首関節ピッチ軸,14…手首関節ロール軸
15…手部,16…股関節ヨー軸
17…股関節ピッチ軸,18…股関節ロール軸
19…膝関節ピッチ軸,20…足首関節ピッチ軸
21…足首関節ロール軸,22…足部(足底)
30…頭部ユニット,40…体幹部ユニット
50…腕部ユニット,51…上腕ユニット
52…肘関節ユニット,53…前腕ユニット
60…脚部ユニット,61…大腿部ユニット
62…膝関節ユニット,63…脛部ユニット
80…制御ユニット,81…主制御部
82…周辺回路
91,92…接地確認センサ
93…姿勢センサ
100…脚式移動ロボット[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motion control apparatus and motion control method for a legged mobile robot that models the body mechanisms of legged mobile animals such as humans and monkeys, and more particularly to a multi-joint structure and a time series of each joint. The present invention relates to an operation control device and an operation control method for a legged mobile robot that expresses a predetermined action sequence by operating the same.
[0002]
More specifically, the present invention relates to a motion control of a legged mobile robot that expresses a predetermined action sequence using a basic motion unit composed of a time-series motion of each joint and a composite motion unit composed of a combination of basic motions. TECHNICAL FIELD The present invention relates to an apparatus, a motion control method, and a motion unit generation method for a legged mobile robot. The present invention relates to a motion control device and a motion control method for a mobile robot, and a motion unit generation method for a legged mobile robot.
[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 began 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, research and development on legged mobile robots simulating the body mechanisms and movements of biped upright walking such as humans and monkeys has progressed, and expectations for practical use are also increasing. Leg type movement with two legs standing up is unstable and difficult to control posture and walking, compared to crawler type, four or six legs type, etc., but walking with irregularities on the work path such as rough terrain and obstacles It is excellent in that it can realize flexible movement work, such as being able to cope with discontinuous walking surfaces such as up and down of surfaces and stairs and ladders.
[0005]
Legged mobile robots that emulate human biological mechanisms and movements are called “humanoid” or “humanoid robots”. 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]
The significance of researching and developing robots called humanoids or humanoids can be understood from, for example, the following two viewpoints.
[0007]
One is a human scientific viewpoint. In other words, through the process of creating a robot with a structure resembling human lower limbs and / or upper limbs, devising its control method and simulating human walking motion, the mechanism of human natural motion including walking Can be elucidated in engineering. Such research results can be greatly reduced to the progress of various other research fields dealing with human movement mechanisms, such as ergonomics, rehabilitation engineering, or sports science.
[0008]
The other is the development of a robot that supports life as a human partner, that is, supports human activities in various situations in the living environment and other daily lives. This kind of robot needs to learn how to adapt to a person or environment with different personalities while learning about movements and manners from humans in various aspects of the human living environment, and to grow further in terms of functionality There is. At this time, it is considered that the robot having the “human shape”, that is, the same shape or the same structure as the human, functions effectively for smooth communication between the human and the robot.
[0009]
For example, when teaching the robot how to go through the room while avoiding obstacles that should not be stepped on, rather than having a completely different structure from the one you are teaching like a crawler type or quadruped type robot, A biped walking robot with the same appearance is much easier for the user (worker) to teach and is easier for the robot to teach (for example, “Control of biped walking robot” by Takanishi ( Automobile Engineering Association Kanto Branch <High Plastics> No. 25, 1996 APRIL)).
[0010]
Most of the human work space and living space are formed according to the human body's physical mechanism and behavioral style of standing upright with two legs. In other words, there are many barriers in the human living space for the current mechanical system using wheels or other driving devices as moving means to move. Therefore, in order for the mechanical system, that is, the robot to perform various human tasks and further penetrate deeply into the human living space, it is preferable that the movable range of the robot is substantially the same as that of the human. This is also why the practical application of legged mobile robots is highly expected. It can be said that having a human form of performing biped upright walking is indispensable for enhancing the affinity of the robot with the human living environment.
[0011]
One of the uses of the humanoid robot is to perform various difficult operations in industrial activities and production activities. For example, maintenance work in nuclear power plants, thermal power plants, petrochemical plants, parts transportation and assembly work in manufacturing factories, cleaning in high-rise buildings, rescue work at fire sites, etc. Have a robot with the structure and functions on behalf of you.
[0012]
Further, as another use of the humanoid robot, there is a use that is close to life, that is, “symbiosis” with a human, rather than life support such as substitution of difficult work. The ultimate goal of this type of robot is to faithfully reproduce the body-coordinated movement mechanism inherent in animals that walk on two legs upright, such as humans and monkeys, and to realize their smooth movements naturally. . Moreover, as long as highly intelligent upright animals such as humans and monkeys are emulated, it is desirable that the movement using the limbs is natural as a living body, and the expression power of the movement is rich. In addition to simply executing commands entered by users faithfully, to realize lively action expressions that respond to the other person's words and attitudes (such as “praise”, “speak”, and “slap”). Is also required. In this sense, an entertainment-oriented humanoid robot that imitates humans is just right to call it a “humanoid” robot.
[0013]
Legged mobile robots such as humanoids have a greater degree of freedom, that is, the number of joint drive actuators, compared to other types of robots. That is, since there are many control targets of the system, the calculation amount of posture control and walking stability control increases exponentially. Further, in the case of a biped walking robot, the center of gravity of the aircraft is biased upward, and the center of gravity movement during legged movement is large and inherently unstable (the range of ZMP of the biped walking robot is 4 Compared to the foot-walking type, the calculation amount for posture control and walking stability control is enormous.
[0014]
In addition, it is almost impossible to control all of the legged work at high speed in a stand-alone manner and in real time on the aircraft. For this reason, in general, the legged robot performs a walking motion planned in advance. (For example, Japanese Patent Application Laid-Open No. 62-97006 discloses a multi-joint that can simplify the control program by using pre-stored walking pattern data and can connect the walking pattern data closely. A walking robot control device is disclosed.)
[0015]
A series of meaningful behaviors demonstrated by a robot is called a “behavior” or action sequence. The action sequence can be configured by combining a plurality of action pattern data (also referred to as “actions”) describing time-series actions of each joint actuator on the aircraft. That is, motion pattern data describing time-series motions of each joint is prepared in a predetermined storage device in advance, and when a predetermined action sequence is expressed, the corresponding motion pattern data is stored in the storage device. And then play it on the aircraft.
[0016]
Further, in order to flexibly generate an action sequence, basic or frequently used operation pattern data can be managed as a database and reused as a part. The component operation pattern data is referred to as an “operation unit” in this specification.
[0017]
Examples of basic operation units include a forward start unit, a forward steady walking unit, a forward stop unit, a reverse start unit, a reverse steady walk unit, a reverse stop unit, a left (or right) translation start unit, and a left (or right) translation steady state. A walking unit, a left (right or) translation stop unit, and the like.
[0018]
By combining several basic operation units, more complicated operation patterns can be expressed. For example, by combining an advance start unit, N forward steady walk units, and an advance stop unit, it is possible to make an upright stopped robot walk forward.
[0019]
By providing the robot with various basic motion units in advance, rich movements can be realized relatively easily. For example, in the entertainment robot described above, it is strongly desired that the motion expression is rich. By changing the combination of basic operation units, various action sequences can be demonstrated without increasing the number of operation units to be stored.
[0020]
Conventionally, the basic motion pattern of a robot called a motion unit is generally expressed by arranging the posture data describing the position of each joint in a stationary state in time series. It was. In this case, when two motion units are connected, it is determined whether or not the connection is possible in consideration of only the continuity of the static positions (ie, static postures) of the joints.
[0021]
If the robot demonstrates only static or relatively gentle movements, it simply connects motion units that indicate only the rotation angle of each joint. Set It will be possible to perform stable operation just by going. However, when performing a high-speed operation in which the acceleration component cannot be ignored, the acceleration component becomes a disturbance and affects the aircraft, and there is a risk of unstable operation when the operation unit is connected. Alternatively, the switching point between the operation units may be significantly limited due to the influence of the acceleration component.
[0022]
Operations that cannot ignore the acceleration component include operations that transition to a state where the floor reaction force against the aircraft becomes zero, such as during the transition to traveling or traveling, and acceleration motion that overcomes gravitational acceleration during traveling. For example, both feet can move in the air without touching the ground.
[0023]
[Problems to be solved by the invention]
An object of the present invention is to provide an excellent motion control apparatus and motion control method for a legged mobile robot, which has a multi-joint structure and can express a predetermined action sequence by operating each joint in time series. Is to provide.
[0024]
A further object of the present invention is to provide a legged mobile robot capable of expressing a predetermined action sequence using a basic motion unit composed of time-series motions of each joint and a composite motion unit composed of a combination of basic motions. It is an object of the present invention to provide an excellent motion control apparatus and motion control method, and a motion unit generation method for a legged mobile robot.
[0025]
It is a further object of the present invention to provide a legged mobile robot capable of expressing an action sequence by connecting operation units while maintaining the stability of airframe operation even at high speed operation where acceleration components cannot be ignored. It is an object to provide an excellent motion control device and motion control method, and a motion unit generation method for a legged mobile robot.
[0026]
[Means and Actions for Solving the Problems]
The present invention has been made in consideration of the above problems, and a first aspect thereof is an operation control device or an operation control method for a multi-joint legged mobile robot having at least a plurality of movable legs. And
An action sequence generation unit or step for generating an action sequence using an operation unit describing a time-series operation of each joint;
A motion control unit or step for controlling the operation of each joint according to the generated behavior sequence;
It is an operation control device of a legged mobile robot provided with.
[0027]
The motion unit here refers to a connection between a dynamic basic posture including at least acceleration or joint angular acceleration of each joint at each end point of motion start and end of motion and the dynamic basic postures at both ends. It consists of the above exercise posture. The exercise posture may include position data, angle data, velocity, or angular velocity components at each joint, in addition to acceleration at each joint or joint angular acceleration.
[0028]
Since the two end points of the motion unit contain acceleration components, when connecting two motion units, not only the continuity of the joint position or angle, velocity or angular velocity, but also the continuity of acceleration or angular acceleration at the joint It is possible to determine whether or not the connection is possible in consideration of the above. Therefore, even when connecting motion units that describe high-speed motion that cannot ignore the acceleration component, such as when driving or jumping, the continuity of acceleration is guaranteed, so the acceleration component is Never become. Further, there is no restriction on the switching point between the operation units.
[0029]
According to the first aspect of the present invention, when the action sequence generation unit or step connects two motion units, the position or joint of the dynamic basic posture at each end point on the connection side of each motion unit. The continuity of angle, velocity or joint angular velocity and acceleration or joint angular acceleration can be considered. When the dynamic basic postures are discontinuous, a dynamic basic posture that compensates for continuity may be inserted between the motion units.
[0030]
Alternatively, when the dynamic basic postures are discontinuous, one or more motion postures that compensate continuity may be inserted between the motion units.
[0031]
Alternatively, when the dynamic basic postures are discontinuous, an operation unit that compensates for continuity may be inserted between the operation units.
[0032]
Further, it may further include an attitude data conversion unit or step for converting the dynamic basic attitude into one or more static (that is, having no speed and acceleration) attitude data. In such a case, the motion control unit can control the operation of each joint based on the static posture data. Therefore, the present invention is also applied to a robot apparatus that cannot handle a dynamic basic posture composed of position or joint angle, speed or joint angular speed, acceleration or joint angular acceleration, that is, a robot apparatus that operates based on a command of only position data. The idea of the invention can be applied.
[0033]
According to a second aspect of the present invention, there is provided an operation unit generation method for generating an operation unit describing a time-series operation of each joint in a multi-joint-structured legged mobile robot having at least a plurality of movable legs. There,
A step of temporarily setting a dynamic basic posture describing at least acceleration or joint angular acceleration of each joint at both end points of the motion unit, and setting stabilization conditions;
Performing temporary setting of each motion posture inserted between the dynamic basic postures of both end points in the motion unit;
A step of stabilizing the motion pattern of the motion unit having a temporarily set dynamic basic posture;
An operation unit generation method for a legged mobile robot.
[0034]
The motion unit generation method according to the second aspect of the present invention is a step of replacing a motion unit including a dynamic basic posture by replacing it with a static basic posture unit composed of at least three static basic postures. May be further provided. In such a case, for a robot apparatus that cannot handle a dynamic basic posture consisting of position or joint angle, speed or joint angular speed, acceleration or joint angular acceleration, that is, a robot apparatus that operates based on a command of only position data. Also, the idea of the present invention can be applied.
[0035]
The step of stabilizing the motion pattern of the motion unit is as follows:
(A) a sub-step for setting a foot motion, trunk motion, upper limb motion, waist posture and height for realizing the motion unit;
(B) a sub-step for setting a ZMP trajectory based on the foot movement set in the sub-step (a);
(C) a sub-step for obtaining a solution of a waist motion in which moments are balanced on the ZMP set in the sub-step (b);
May be provided.
[0036]
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.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0038]
FIG. 1 and FIG. 2 show a state in which the “human-shaped” or “human-shaped” legged mobile robot 100 used for carrying out the present invention is viewed from the front and the rear. . As shown in the figure, the legged mobile robot 100 includes left and right lower limbs that perform legged movement, a trunk, left and right upper limbs, a head, and a control unit.
[0039]
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.
[0040]
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. In the example shown in FIGS. 1 and 2, the legged mobile robot 100 looks like the control unit on the back, but the installation location of the control unit is not particularly limited.
[0041]
Further, FIG. 3 schematically shows a joint degree-of-freedom configuration included in the legged mobile robot 100 according to the present embodiment. As shown in the figure, the legged mobile robot 100 connects an upper body including two arms and a
[0042]
The neck joint that supports the
[0043]
Each arm portion includes a shoulder
[0044]
The trunk has three degrees of freedom: a trunk pitch axis 5, a trunk roll axis 6, and a
[0045]
In addition, the left and right legs constituting the lower limb include a hip
[0046]
In summary, the legged mobile robot 100 according to the present embodiment has a total of 3 + 7 × 2 + 3 + 6 × 2 = 32 degrees of freedom. However, the legged mobile robot 100 is not necessarily limited to 32 joint degrees of freedom. It goes without saying that the number of degrees of freedom of joints can be increased or decreased as appropriate in accordance with design and manufacturing constraints and required specifications.
[0047]
Each of the above-described degrees of freedom of the legged mobile robot 100 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 this embodiment, a small AC servo actuator of a gear direct connection type and a servo control system of a single chip built in a motor unit is mounted. This type of AC servo actuator is disclosed in, for example, Japanese Patent Application Laid-Open No. 2000-299970 (Japanese Patent Application No. 11-33386) already assigned to the present applicant.
[0048]
FIG. 4 schematically shows a control system configuration of the legged mobile robot 100 according to the present embodiment. As shown in the figure, the legged mobile robot 100 includes each of the
The entire operation of the legged mobile robot 100 is controlled by the control unit 80 in an integrated manner. The control unit 80 is configured to store data and commands between a main control unit 81 including main circuit components (not shown) such as a CPU (Central Processing Unit) chip and a memory chip, and each component of the power supply device and the robot 100. The peripheral circuit 82 includes an interface for performing transmission and reception, an external storage device (both not shown), and the like.
[0049]
In this embodiment, the power supply apparatus has a configuration (not shown in FIG. 4) including a battery for driving the legged mobile robot 100 independently. If it is a self-sustained drive type using a battery, the radius of action of the legged mobile robot 100 can be freely walked without being physically limited by the length of the power cable or the location of the commercial power outlet. In addition, it is not necessary to consider the interference between the power cable and the airframe during various exercises including walking and other upper limbs, and legged movement in a wide range of work space is facilitated.
[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 that represents the neck
[0051]
The
[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
[0053]
The
[0054]
Each joint actuator A described above 2 , A Three Is more preferably a small AC servo actuator (described above) of a gear direct connection type and a servo control system that is mounted on a motor unit in a single chip.
[0055]
For each mechanism unit such as the head unit 30, the
[0056]
The
[0057]
Based on the output of the
[0058]
The main control unit 80 can dynamically correct the control target in response to the outputs of the sensors 91 to 93. More specifically, adaptive control is performed on each of the
[0059]
The main control unit 81 drafts an action plan according to an external factor such as a user command, or based on an internal state composed of an emotion model, an instinct model, a learning model, and the like, and executes a desired aircraft operation. The machine body operation performed by the robot 100 sequentially reads out the operation units registered in the database in an external storage device locally connected to the main control unit 81, connects one or more operation units, generates an action sequence, Realized by playing on the aircraft. The external storage device is mounted as one of the peripheral circuits 82, for example, but is not shown in FIG. 4 in order to avoid complication of the drawing.
[0060]
The body movement in the robot 100 according to the present embodiment is based on legged movement. In the case of a biped robot, the position of the center of gravity is biased upward and the amount of movement of the position of the center of gravity during the legged work is large. Therefore, posture / walking stability control is extremely important. The main control unit 81 performs posture / walking stability control using ZMP (Zero Moment Point) as a stability determination criterion. That is, the main control unit 81 sets foot movements, ZMP trajectories, trunk movements, upper limb movements, waist heights, and the like, and commands for instructing operations according to these setting contents to the sub-control units 35, Transfer to 45, 55, 65.
[0061]
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, during the walking operation period of the robot 100. It means the trajectory that ZMP moves. The concept of ZMP and the application of ZMP to the stability criteria for walking robots are described in Miomir Vukobratovic's "LEGGED LOCOMOTION ROBOTS" (Kazuro Kato's "Walking Robots and Artificial Feet" (Nikkan Kogyo Shimbun)). Has been.
[0062]
In each of the
[0063]
A series of meaningful behaviors demonstrated by the legged mobile robot 100 is called “behavior” or action sequence. The action sequence can be configured by combining one or more operation units describing time-series operations of the joint actuators on the aircraft. That is, a motion unit describing the time-series motion of each joint is prepared in advance in a predetermined storage device on the aircraft (the storage device is mounted as one of the peripheral circuits 82, for example) When the action sequence is expressed, the corresponding operation unit may be sequentially called from the storage device, and the operation units may be connected and reproduced on the aircraft.
[0064]
FIG. 5 shows a configuration example of the operation unit. In the example shown in the figure, the forward start unit, the forward steady walking unit, the forward stop unit, the reverse start unit, the reverse steady walk unit, the reverse stop unit, the left (or right) translation start unit, and the left (or right) translation steady walk A unit, left (or right) translation stop unit is shown.
[0065]
In the example shown in FIG. 5, each operation unit for moving the legged mobile robot 100 forward and backward and left and right is shown.
[0066]
The advance start unit is an operation unit describing an operation pattern from the stop posture to the dynamic both-leg support posture I, and includes walking cycle and stride data. The forward steady walking unit is a motion unit describing a motion pattern from the dynamic both-leg support posture I to the dynamic both-leg support posture I, and includes walking cycle and stride data. The forward stop unit is an operation unit describing a motion pattern from the dynamic both-leg support posture I to the stop posture, and includes walking cycle and stride data.
[0067]
The reverse start unit is an operation unit describing an operation pattern from the stop posture to the dynamic both-leg support posture II, and includes walking cycle and stride data. The retreat steady walking unit is an operation unit that describes an operation pattern from the dynamic both-leg support posture II to the dynamic both-leg support posture II, and includes walking cycle and stride data. The reverse stop unit is an operation unit that describes an operation pattern from the dynamic both-leg support posture II to the stop posture, and includes walking cycle and stride data.
[0068]
The left translation start unit is an operation unit that describes an operation pattern from the stop posture to the dynamic both-leg support posture III, and includes walking cycle and stride data. The left translational steady walking unit is an operation unit that describes an operation pattern from the dynamic both-leg support posture III to the dynamic both-leg support posture III, and includes walking cycle and stride data. The left translation stop unit is an operation unit describing an operation pattern from the dynamic both-leg support posture III to the stop posture, and includes walking cycle and stride data.
[0069]
The right translation start unit is an operation unit describing an operation pattern from the stop posture to the dynamic both-leg support posture IV, and includes walking cycle and stride data. The right translational steady walking unit is a motion unit describing a motion pattern from the dynamic both-leg support posture IV to the dynamic both-leg support posture IV, and includes walking cycle and stride data. The right translation stop unit is an operation unit describing an operation pattern from the dynamic both-leg support posture IV to the stop posture, and includes walking cycle and stride data.
[0070]
By combining several basic operation units, more complicated operation patterns can be expressed. For example, an action sequence of walking a predetermined distance as shown in FIG. 6 can be realized by combining three types of operation units, ie, a forward start unit, N forward steady walking units, and a forward stop unit. .
[0071]
FIG. 7 shows another configuration example of the operation unit. In the example shown in the figure, a forward left turn steady walking unit, a forward right turn steady walking unit, a backward left turning steady walking unit, and a backward right turning steady walking unit are further shown. By combining these steady turning walking units with the above-described forward start unit, forward stop unit, reverse start unit, and reverse stop unit, an action sequence in which the legged mobile robot 100 turns and walks can be demonstrated. it can.
[0072]
In addition, a fine adjustment forward walking unit, a fine adjustment backward walking unit, a fine adjustment left translation unit, and a fine adjustment right translation unit that make fine adjustments for forward, translation, reverse, and turn operations are prepared. Also good. For forward movements that move at relatively high speeds, an acceleration forward walking unit from the start of advancement to forward steady walking and a deceleration forward walking unit from forward steady walking to forward stop may be prepared. Good.
[0073]
FIG. 8 schematically illustrates the structure of an operation unit used in the legged mobile robot 100 according to the present embodiment. One motion unit is composed of a dynamic basic posture that describes the start and end states of the motion unit and one or more motion postures that connect the dynamic basic postures of these two end points.
[0074]
The dynamic basic posture includes components of velocity or joint angular velocity and acceleration or joint angular acceleration, in addition to the position (that is, rotation angle) of each joint constituting the posture.
[0075]
The motion posture includes a static motion posture describing the stationary state of the airframe (that is, consisting only of position data) and a dynamic motion posture describing the state in which the airframe operates. The exercise posture may be composed of only the position data of each joint, and may include velocity and acceleration components.
[0076]
Since both end points of the motion unit contain an acceleration component, when connecting two motion units, not only the continuity of the joint position but also the continuity of the acceleration is taken into consideration to determine whether the connection is possible can do. Therefore, even when motion units that describe high-speed motion in which the acceleration component cannot be ignored are connected, the acceleration continuity is guaranteed, so that the acceleration component does not become a disturbance. Further, there is no restriction on the switching point between the operation units.
[0077]
In addition, as an operation that cannot ignore the acceleration component, there is an operation that transitions to a state in which the floor reaction force against the aircraft becomes zero, such as during traveling or transition to traveling, and an acceleration motion that overcomes gravitational acceleration during traveling An action of transitioning to a state where both feet are in the air and are not in contact with the ground.
[0078]
Next, a process for connecting the two operation units will be described.
[0079]
When the continuity is established between the end point dynamic basic posture of the connection source motion unit A and the start point dynamic basic posture of the connection destination motion unit B, as shown in FIG. Connect postures.
[0080]
On the other hand, if the end point dynamic basic posture of the connection source motion unit A and the start point dynamic basic posture of the connection destination motion unit B are not continuous, as shown in FIG. A dynamic basic posture A-B that compensates for the continuity between the end point and the other start point may be generated and inserted between the two motion units. Although not shown, two or more operation units for interpolating between such operation units may be inserted.
[0081]
Alternatively, as shown in FIG. 11, a motion unit C having the end point dynamic basic posture of the motion unit A and the start point dynamic basic posture of the motion unit B as end points is newly generated, and the motion unit C performs the motion. You may make it interpolate between units A and B. FIG.
[0082]
Next, a method for generating an operation unit will be described with reference to the flowchart shown in FIG.
[0083]
First, provisional setting of dynamic basic postures which are both end points of the operation unit and setting of stabilization conditions are performed (step S1). The temporary setting of the dynamic basic posture means that the position or joint angle, velocity, joint angular velocity, acceleration, or joint angular acceleration of each joint actuator in the posture is temporarily set. In setting the stabilization condition, for example, the ZMP trajectory is used as a stability determination criterion.
[0084]
Next, provisional setting of each motion posture inserted between the dynamic basic postures at both end points in the motion unit is performed (step S2). The temporary setting of the motion posture is to temporarily set the position or joint angle, velocity or joint angular velocity, acceleration or joint angular acceleration of each joint actuator in the posture, or temporarily set the position of each joint actuator. It corresponds to.
[0085]
Next, by performing stabilization processing of the motion pattern of the motion unit having the temporarily set dynamic basic posture, that is, correcting the hip, trunk, lower limb motion, etc. of the body of the robot 100, the position (or joint angle) ), Velocity (or joint angular velocity), and acceleration (or joint angular acceleration), a motion unit having a dynamic basic posture can be obtained (step S3).
[0086]
The movement pattern stabilization process will be described later. In addition, when the system accepts only static postures (that is, only position data and angle data), a static basic posture composed of at least three or more static basic postures including a dynamic basic posture. Convert to unit and substitute.
[0087]
Next, the movement pattern stabilization process executed in step S3 of FIG. 12, that is, the correction process for the waist, trunk, lower limb movement, etc. of the body of the robot 100 will be described.
[0088]
The legged mobile robot 100 according to the present embodiment is an infinite or continuous set of mass points, but by replacing it with an approximate model consisting of a finite number of discrete mass points, the amount of calculation for the stabilization process To reduce. 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.
[0089]
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. In the multi-mass model shown in the figure, i is a subscript representing the i-th given mass, m i Is the mass of the i-th mass point, r ' i Represents the position vector of the i-th mass point (however, the motion coordinate system). The mass of the lumbar mass point, which is particularly important in lumbar motion control described later, is m h The position vector is r ′ h (R ' hx , R ' hy , R ' hz ) And the position vector of ZMP is r ′ zmp And
[0090]
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.
[0091]
(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) The center of gravity is obtained for each region i, the center of gravity position and the mass m i Is assigned to the relevant mass point.
(4) Each mass point m i , The mass position r i Is 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.
[0092]
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 of the multi-mass model around the waist). Wanna)
[0093]
Next, a description will be given of a stabilization process in the legged mobile robot 100 according to the present embodiment, that is, a correction process procedure such as waist, trunk, and lower limb movements.
[0094]
FIG. 15 and FIG. 16 show an example of a processing procedure for generating a waist, trunk, and lower limb motion that can be stably walked by the legged mobile robot 100 in the form of a flowchart. However, in the following, each joint position and operation of the robot 100 are described using a linear / non-interference multi-mass point approximation model as shown in FIG. 13, and the following parameters are used for the calculation. . However, it should be understood that symbols with a dash (') describe a motion coordinate system.
[0095]
[Expression 1]
[0096]
Further, the waist height of the robot 100 is constant (r ′ hz + R qz = Const) and the knee mass point is zero.
[0097]
First, actually determine the driving and movement of each part such as foot (more specifically, plantar) movement, ZMP trajectory derived from foot movement, trunk movement, upper limb movement, waist posture and height, etc. A pattern for this is set (step S11). More specifically, first, a foot movement pattern, then a ZMP trajectory, a trunk movement pattern, and an upper limb movement pattern are set. Regarding the movement of the waist, only the Z ′ direction is set, and the X ′ and Y ′ directions are unknown.
[0098]
Next, using the linear / non-interference multi-mass point approximation model, moments around the pitch axis and roll axis on the set ZMP generated by the foot, trunk, and upper limb movements (M x , M y ) Is calculated (step S12).
[0099]
Next, the motion in the lumbar horizontal plane (r ′ hx , R ' hy ) To calculate the moment on the set ZMP (step S13).
[0100]
Next, a balance equation regarding the moment on the set ZMP is derived on the motion coordinate system O′-X′Y′Z ′ that moves with the robot (step S14). More specifically, each moment (M around the roll axis and the pitch axis generated by the foot, trunk, and upper limb movements) x , M y ) As a term of a known variable and a term (r ′ hx , R ' hy ) On the left side as unknown variable terms, and a linear and non-interfering ZMP equation (1) as shown in the following equation is derived.
[0101]
[Expression 2]
[0102]
However, the following shall hold.
[0103]
[Equation 3]
[0104]
Next, the above-mentioned ZMP equation (1) is solved to calculate the waist horizontal plane trajectory (step S15). For example, by solving the ZMP equation (1) using a numerical solution (well known) such as the Euler method or the Runge-Kutta method, the horizontal absolute position of the waist (r ′ hx , R ' hy ) The waist horizontal absolute position. The ZMP target position is usually set at the planted sole.
[0105]
If the trunk / upper limb movement set in advance cannot be realized on the calculated approximate solution, the trunk / upper limb movement pattern is reset / corrected (step S17). At this time, the knee trajectory may be calculated.
[0106]
Next, the whole body motion pattern obtained as described above is substituted, and the roll and pitch axes on the set ZMP in the exact model (that is, the rigid model or the precise model of the robot 100 having a large number of mass points) are set. Moment of rotation (eM x , EM y ) Is calculated (step S18). In the inexact model, it is assumed that the above [Equation 3] holds, but in the inexact model, such an assumption is not required (that is, it is not necessary to be constant with respect to time change).
[0107]
Moment in exact model (eM x , EM y ) Is a moment error generated around each axis of the pitch of the rolls in the waist movement. In the subsequent step S19, moments (eM x , EM y ) Is the allowable value of the approximate moment in the inexact model (εM x , ΕM y ) It is determined whether it is less than. If it is less than the allowable value ε, it means that an accurate solution of a stable motion pattern and a whole body motion pattern capable of realizing a stable walk in each part of the waist, trunk, and lower limbs on the aircraft have been obtained (step S20). The entire processing routine is terminated.
[0108]
On the other hand, the moment in the exact model (eM x , EM y ) Is the allowable moment (εM) in the approximate model x , ΕM y ) Or more, the moment in the exact model (eM x , EM y ) To the known generated moment (M x , M y ) Is corrected (step S21), and the ZMP equation is derived again. Then, calculation and correction of the approximate solution of the motion pattern of the lower back, trunk, and lower limbs as described above are repeatedly executed until the value converges to less than the allowable value ε.
[0109]
FIGS. 17 and 18 show other examples of processing procedures for generating waist, trunk, and lower limb movements that can be stably walked by the legged mobile robot 100 in the form of flowcharts. However, as described above, it is assumed that the joint positions and operations of the robot 100 are described using the linear / non-interference multi-mass point approximation model shown in FIG.
[0110]
First, actually determine the driving and movement of each part such as foot (more specifically, plantar) movement, ZMP trajectory derived from foot movement, trunk movement, upper limb movement, waist posture and height, etc. A pattern for this is set (step S31). More specifically, first, a foot movement pattern, then a ZMP trajectory, a trunk movement pattern, and an upper limb movement pattern are set. Regarding the movement of the waist, only the Z ′ direction is set, and the X ′ and Y ′ directions are unknown.
[0111]
Next, using the linear / non-interference multi-mass point approximation model (see above and FIG. 13), each of the pitch axis and roll axis around the set ZMP generated by the foot, trunk, and upper limb movements Moment (M x , M y ) Is calculated (step S32).
[0112]
Next, exercise in the lumbar horizontal plane (r ′ hx , R ' hy ) Is expanded into a Fourier series (step S33). As already well known in the art, the time series component can be replaced with the frequency component for calculation by expanding the Fourier series. That is, in this case, the movement of the waist can be regarded as a periodic movement. Moreover, since FFT (Fast Fourier Transform) can be applied, the calculation speed can be greatly improved.
[0113]
Next, each moment (M x , M y ) Is also expanded by Fourier series (step S34).
[0114]
Next, the Fourier coefficient of the lumbar horizontal plane trajectory is calculated, and further developed by inverse Fourier series (step S35), whereby an approximate solution of the lumbar motion is obtained (step S36). The approximate solution obtained here is an approximate solution (r ′ of the horizontal absolute position of the waist that defines the waist motion pattern capable of stable walking. hx , R ' hy More specifically, it is the waist horizontal absolute position where the ZMP enters the target position. The ZMP target position is usually set at the planted sole.
[0115]
If the preset trunk / upper limb movement cannot be realized on the approximate solution, the trunk / upper limb movement pattern is reset / corrected (step S37). At this time, the knee trajectory may be calculated.
[0116]
Next, the whole body motion pattern obtained as described above is substituted, and the moment (eM on the set ZMP in the exact model (that is, a precise model of the robot 100 consisting of a rigid body or a very large number of mass points). x , EM y ) Is calculated (step S38). In the inexact model, it is assumed that the above [Equation 3] holds, but in the inexact model, such an assumption is not required (that is, it is not necessary to be constant with respect to time change).
[0117]
Moment in exact model (eM x , EM y ) Is a moment error generated by the waist motion. In the subsequent step S39, this moment (eM x , EM y ) Is the allowable moment (εM) in the approximate model x , ΕM y ) It is determined whether it is less than. If it is less than the allowable value ε, it means that a strict solution of stable motion patterns such as waist, trunk, and lower limbs and a whole body motion pattern capable of realizing stable walking could be obtained (step S40). End the whole.
[0118]
On the other hand, the moment in the exact model (eM x , EM y ) Is the allowable moment (εM) in the approximate model x , ΕM y ) Or more, the moment in the exact model (eM x , EM y ) To the known moment (M x , M y ) (Step S41), the Fourier series expansion is performed again, and the calculation and correction of the approximate solution of the motion pattern of the waist, trunk, lower limbs, etc. as described above are repeatedly executed until convergence to below the allowable value ε To do.
[0119]
In a system that accepts only static postures (that is, only position data and angle data), a motion unit including a dynamic basic posture is converted into a static basic posture unit composed of at least three static basic postures. As described above, it is sufficient to replace them. Hereinafter, an alternative process based on the static basic posture will be described.
[0120]
For example, when the operation unit A and the operation unit B are connected, it is realized by generating a plurality of static basic postures at the end points of the connected units and in the vicinity thereof and replacing them with the dynamic basic postures.
[0121]
FIG. 19 schematically shows a state in which two continuous motion units are connected in a system that accepts only a static posture. FIG. 20 schematically shows a state in which two discontinuous operation units are connected in a system that accepts only a static posture. In the latter case, a motion unit consisting only of the static basic posture is newly generated, but the end points of this motion unit are included in the motion units A and B to be connected.
[0122]
The static basic posture includes the dynamic basic posture at the end point of the motion unit A and each end point information (that is, position (or joint angle), speed (or joint angular velocity), acceleration (in the dynamic basic posture of the motion unit B). Alternatively, it can be generated using fifth-order or higher-order polynomial interpolation with joint angular acceleration)) as the boundary condition.
[0123]
The fifth order polynomial interpolation can be performed using the following equation.
[0124]
[Expression 4]
[0125]
Hereinafter, pseudo program code for generating a static basic attitude that replaces the dynamic basic attitude (the end point of the motion unit A) using the above equation is shown below.
[0126]
[0127]
Of course, each basic posture may have an allowable value within a range that does not affect the stability of the robot, so a static basic posture can be easily generated using a lower order polynomial or linear interpolation. You can also
[0128]
According to the legged mobile robot motion control apparatus and motion control method of the legged mobile robot according to the present invention, since both end points of the motion unit include the acceleration component, when connecting the two motion units, In addition to the continuity of the position or angle, velocity, or angular velocity, the acceleration of the joint or the continuity of the angular acceleration can be taken into consideration to determine whether or not the connection is possible.
[0129]
Here, when the operation units are connected considering only the joint position or angle, velocity, or continuity of the angular velocity, and the operation unit is considered considering the continuity of the acceleration or angular acceleration in the joint as in the present invention. In the case of connection, let's compare and examine based on the operation simulation results.
[0130]
21 and 22 show the amount of variation in the X and Y directions of the ZMP position of the body of the legged mobile robot when motion units are connected in consideration of the continuity of acceleration or angular acceleration at the joint. .
[0131]
23 and 24 show the XMP and Y-direction of the ZMP position of the body of the legged mobile robot when the operation unit is connected in consideration of only the continuity of the position or angle, velocity or angular velocity at the joint. The amount of fluctuation is shown.
[0132]
In each figure, the horizontal axis is the time axis, and the vertical axis represents the amount of variation in the X direction and the Y direction of the ZMP position. In the horizontal axis, the vicinity of 1.35 corresponds to the connection point of the operation unit. In particular, when the amount of variation in the ZMP position in the X direction is compared, it can be seen that the connection is smoother when the connections are made in consideration of the continuity of acceleration or angular acceleration.
[0133]
Further, in FIG. 25, the amount of variation in the X direction of the ZMP position at the connection point of the operation unit is enlarged and compared. However, a solid line is a case where the continuity of acceleration or angular acceleration in the joint is considered, and a broken line is a case where only the continuity of position, angle, velocity or angular velocity in the joint is considered. As shown in the figure, the former has a smooth connection of the operation units, whereas the latter has a spike component in which the ZMP position varies steeply, indicating that the connection of the operation units is not smooth.
[0134]
Such a difference as to whether or not to consider joint acceleration or angular acceleration component when connecting the operation unit becomes conspicuous when, for example, the aircraft moves at high speed, such as during running or jumping. In other words, since the acceleration component cannot be ignored during high-speed operation, if the operation unit is connected ignoring this, the acceleration component becomes a disturbance and affects the aircraft. There is a danger. Alternatively, the switching point between the operation units may be significantly limited due to the influence of the acceleration component.
[0135]
[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 embodiment without departing from the gist of the present invention.
[0136]
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.
[0137]
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.
[0138]
【The invention's effect】
As described above in detail, according to the present invention, it is excellent for a legged mobile robot that has a multi-joint structure and can express a predetermined action sequence by operating each joint in time series. An operation control apparatus and an operation control method can be provided.
[0139]
In addition, according to the present invention, a legged movement capable of expressing a predetermined action sequence using a basic motion unit composed of a time-series motion of each joint and a composite motion unit composed of a combination of basic motions. An excellent motion control apparatus and motion control method for a robot, and a motion unit generation method for a legged mobile robot can be provided.
[0140]
Further, according to the present invention, for a legged mobile robot that can connect an operation unit and express an action sequence while maintaining the stability of airframe operation even at high speed operation where acceleration components cannot be ignored. It is possible to provide an excellent motion control apparatus and motion control method, and a motion unit generation method for a legged mobile robot.
[Brief description of the drawings]
FIG. 1 is a diagram showing a state in which a legged mobile robot 100 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 100 used for carrying out the present invention is viewed from behind.
FIG. 3 is a diagram schematically illustrating a joint degree-of-freedom configuration included in the legged mobile robot 100 according to the present embodiment.
FIG. 4 is a diagram schematically illustrating a control system configuration of a legged mobile robot 100 according to the present embodiment.
FIG. 5 is a diagram illustrating a configuration example of an operation unit.
FIG. 6 is a diagram illustrating an example of realizing an action sequence of walking a predetermined distance by a combination of a plurality of operation units.
FIG. 7 is a diagram showing another configuration example of the operation unit.
FIG. 8 is a diagram schematically showing the structure of an operation unit.
FIG. 9 is a diagram schematically showing a state in which two continuous operation units are connected.
FIG. 10 is a diagram schematically showing an example of connecting two discontinuous operation units.
FIG. 11 is a diagram schematically illustrating another example of connecting two discontinuous operation units.
FIG. 12 is a diagram showing a processing procedure for generating an operation unit in the form of a flowchart.
FIG. 13 is a diagram showing a linear and non-interfering multi-mass point approximation model of the legged mobile robot 100 introduced for stabilization processing.
14 is an enlarged view around the waist of the multi-mass point model shown in FIG. 13;
FIG. 15 is a flowchart showing an example of a processing procedure for generating waist, trunk, and lower limb motions in which the legged mobile robot 100 can stably walk.
FIG. 16 is a flowchart showing an example of a processing procedure for generating waist, trunk, and lower limb movements capable of stable walking in the legged mobile robot 100.
FIG. 17 is a flowchart showing another example of a processing procedure for generating waist, trunk, and lower limb movements capable of stable walking in the legged mobile robot 100.
FIG. 18 is a flowchart showing another example of a processing procedure for generating a waist, trunk, and lower limb motion that can be stably walked by the legged mobile robot 100;
FIG. 19 is a diagram schematically showing a state in which two consecutive motion units are connected in a system that accepts only a static posture.
FIG. 20 is a diagram schematically illustrating a state in which two discontinuous operation units are connected in a system that accepts only a static posture.
FIG. 21 is a chart showing fluctuation amounts in the X direction and Y direction of the ZMP position of the robot body when the motion units are connected in consideration of the continuity of acceleration or angular acceleration in the joint.
FIG. 22 is a chart showing fluctuation amounts in the X direction and Y direction of the ZMP position of the robot body when the motion units are connected in consideration of the continuity of acceleration or angular acceleration in the joint.
FIG. 23 is a chart showing variation amounts in the X direction and Y direction of the ZMP position of the robot body when the motion unit is connected in consideration of only the continuity of the position or angle, velocity, or angular velocity at the joint.
FIG. 24 is a chart showing fluctuation amounts in the X direction and Y direction of the ZMP position of the robot body when the motion unit is connected in consideration of only the continuity of the position, angle, velocity, or angular velocity at the joint.
FIG. 25 shows a case where an operation unit is connected considering only continuity of position or angle, velocity, or angular velocity at a joint, and a case where an operation unit is connected considering continuity of acceleration or angular acceleration at a joint. 5 is a chart in which the amount of variation in the X direction of the ZMP position at the connection point of the operation unit is enlarged and compared.
[Explanation of symbols]
1 ... head, 2 ... neck yaw axis
3 ... Neck joint pitch axis, 4 ... Neck joint roll axis
5 ... trunk pitch axis, 6 ... trunk roll axis
7 ... trunk yaw axis, 8 ... shoulder joint pitch axis
9 ... Shoulder joint roll axis, 10 ... Upper arm yaw axis
11 ... Elbow joint pitch axis, 12 ... Forearm yaw axis
13 ... wrist joint pitch axis, 14 ... wrist joint roll axis
15 ... hand, 16 ... hip yaw axis
17 ... Hip pitch axis, 18 ... Hip roll axis
19 ... Knee joint pitch axis, 20 ... Ankle joint pitch axis
21 ... Ankle joint roll axis, 22 ... Foot (plantar)
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 ... Attitude sensor
100: Legged mobile robot
Claims (6)
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した1以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成部と、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御部と、を備え、
前記行動シーケンス生成部は、前記第1の動作ユニットの後に前記第2の動作ユニットを配置して行動シーケンスを生成する際に、前記第1の動作ユニットの終点動的基本姿勢データと前記第2の動作ユニットの開始点動的基本姿勢データが不連続である場合には、前記第1の動作ユニットの終点動的基本姿勢データと前記第2の開始点動的基本姿勢データ間の連続性を補償するような各関節の位置若しくは角度と加速度若しくは角加速度を持つ動的基本姿勢データを前記第1及び第2の動作ユニット間に挿入する、
ことを特徴とする脚式移動ロボットの動作制御装置。An operation control device for a multi-joint legged mobile robot having at least a plurality of movable legs,
Start point dynamic basic posture data describing the position or angle and acceleration or angular acceleration of each joint at the start of motion, and end point dynamic basic posture describing the position or angle of each joint and acceleration or angular acceleration at the end of motion An action for generating an action sequence of the legged mobile robot by connecting data and one or more posture data describing only the position or angle of each joint between the start of the action and the end of the action A sequence generator;
A motion control unit for controlling the operation of each joint according to the generated behavior sequence,
When the behavior sequence generation unit generates the behavior sequence by placing the second motion unit after the first motion unit, the end point dynamic basic posture data of the first motion unit and the second motion unit are generated. If the starting point dynamic basic attitude data of the motion unit is discontinuous, the continuity between the end dynamic basic attitude data of the first operating unit and the dynamic basic attitude data of the second starting point is Inserting dynamic basic posture data having the position or angle of each joint to be compensated and acceleration or angular acceleration between the first and second motion units;
An apparatus for controlling the movement of a legged mobile robot.
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した1以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成部と、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御部と、を備え、
前記行動シーケンス生成部は、前記第1の動作ユニットの後に前記第2の動作ユニットを配置して行動シーケンスを生成する際に、前記第1の動作ユニットの終点動的基本姿勢データと前記第2の動作ユニットの開始点動的基本姿勢データが連続的でない場合には、前記第1の動作ユニットの終点動的基本姿勢データを開始点動的基本姿勢データに持つとともに前記第2の開始点動的基本姿勢データを終点動的基本姿勢データに持つ第3の動作ユニットを前記第1及び第2の動作ユニット間に挿入する、
ことを特徴とする脚式移動ロボットの動作制御装置。An operation control device for a multi-joint legged mobile robot having at least a plurality of movable legs,
Start point dynamic basic posture data describing the position or angle and acceleration or angular acceleration of each joint at the start of motion, and end point dynamic basic posture describing the position or angle of each joint and acceleration or angular acceleration at the end of motion An action for generating an action sequence of the legged mobile robot by connecting data and one or more posture data describing only the position or angle of each joint between the start of the action and the end of the action A sequence generator;
A motion control unit for controlling the operation of each joint according to the generated behavior sequence,
When the behavior sequence generation unit generates the behavior sequence by placing the second motion unit after the first motion unit, the end point dynamic basic posture data of the first motion unit and the second motion unit are generated. If the starting point dynamic basic posture data of the first motion unit is not continuous, the starting point dynamic basic posture data of the first moving unit is included in the starting point dynamic basic posture data and the second starting point motion is stored. Inserting a third motion unit having dynamic basic posture data as end point dynamic basic posture data between the first and second motion units;
An apparatus for controlling the movement of a legged mobile robot.
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した1以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成部と、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御部と、
前記第1の動作ユニットの終点動的基本姿勢データと前記第2の動作ユニットの開始点動的基本姿勢データがそれぞれ持つ各関節の位置若しくは角度と加速度若しくは角加速度を境界条件として、これらの動的基本姿勢データを各関節の位置若しくは角度を記述した複数の姿勢データで補間する姿勢データ変換部と、
を備え、
前記運動制御部は、前記姿勢データ変換部によって動的基本姿勢データが姿勢データに変換された行動シーケンスに従って、各関節の動作を制御する、
ことを特徴とする脚式移動ロボットの動作制御装置。An operation control device for a multi-joint legged mobile robot having at least a plurality of movable legs,
Start point dynamic basic posture data describing the position or angle and acceleration or angular acceleration of each joint at the start of motion, and end point dynamic basic posture describing the position or angle of each joint and acceleration or angular acceleration at the end of motion An action for generating an action sequence of the legged mobile robot by connecting data and one or more posture data describing only the position or angle of each joint between the start of the action and the end of the action A sequence generator;
According to the generated action sequence, a motion control unit that controls the operation of each joint,
The end point dynamic basic posture data of the first motion unit and the start point dynamic basic posture data of the second motion unit have respective joint positions or angles and acceleration or angular acceleration as boundary conditions. Posture data conversion unit for interpolating the basic basic posture data with a plurality of posture data describing the position or angle of each joint;
With
The motion control unit controls the operation of each joint according to an action sequence in which dynamic basic posture data is converted into posture data by the posture data conversion unit.
An apparatus for controlling the movement of a legged mobile robot.
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した1以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成ステップと、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御ステップと、
を有し、
前記行動シーケンス生成ステップでは、前記第1の動作ユニットの後に前記第2の動作ユニットを配置して行動シーケンスを生成する際に、前記第1の動作ユニットの終点動的基本姿勢データと前記第2の動作ユニットの開始点動的基本姿勢データが不連続である場合には、前記第1の動作ユニットの終点動的基本姿勢データと前記第2の開始点動的基本姿勢データ間の連続性を補償するような各関節の位置若しくは角度と加速度若しくは角加速度を持つ動的基本姿勢データを前記第1及び第2の動作ユニット間に挿入する、
ことを特徴とする脚式移動ロボットの動作制御方法。An operation control method for a multi-joint legged mobile robot having at least a plurality of movable legs,
Start point dynamic basic posture data describing the position or angle and acceleration or angular acceleration of each joint at the start of motion, and end point dynamic basic posture describing the position or angle of each joint and acceleration or angular acceleration at the end of motion An action for generating an action sequence of the legged mobile robot by connecting data and one or more posture data describing only the position or angle of each joint between the start of the action and the end of the action A sequence generation step;
A motion control step for controlling the movement of each joint according to the generated behavior sequence;
Have
In the behavior sequence generation step, when generating the behavior sequence by arranging the second motion unit after the first motion unit, the end point dynamic basic posture data of the first motion unit and the second motion unit are generated. If the starting point dynamic basic attitude data of the motion unit is discontinuous, the continuity between the end dynamic basic attitude data of the first operating unit and the dynamic basic attitude data of the second starting point is Inserting dynamic basic posture data having the position or angle and acceleration or angular acceleration of each joint to be compensated between the first and second motion units;
An operation control method for a legged mobile robot.
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した1以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成ステップと、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御ステップと、
を有し、
前記行動シーケンス生成ステップでは、前記第1の動作ユニットの後に前記第2の動作ユニットを配置して行動シーケンスを生成する際に、前記第1の動作ユニットの終点動的基本姿勢データと前記第2の動作ユニットの開始点動的基本姿勢データが連続的でない場合には、前記第1の動作ユニットの終点動的基本姿勢データを開始点動的基本姿勢データに持つとともに前記第2の開始点動的基本姿勢データを終点動的基本姿勢データに持つ第3の動作ユニットを前記第1及び第2の動作ユニット間に挿入する、
ことを特徴とする脚式移動ロボットの動作制御方法。An operation control method for a multi-joint legged mobile robot having at least a plurality of movable legs,
Start point dynamic basic posture data describing the position or angle and acceleration or angular acceleration of each joint at the start of motion, and end point dynamic basic posture describing the position or angle of each joint and acceleration or angular acceleration at the end of motion An action for generating an action sequence of the legged mobile robot by connecting data and one or more posture data describing only the position or angle of each joint between the start of the action and the end of the action A sequence generation step;
A motion control step for controlling the movement of each joint according to the generated behavior sequence;
Have
In the behavior sequence generation step, when generating the behavior sequence by arranging the second motion unit after the first motion unit, the end point dynamic basic posture data of the first motion unit and the second motion unit are generated. If the starting point dynamic basic posture data of the first motion unit is not continuous, the starting point dynamic basic posture data of the first moving unit is included in the starting point dynamic basic posture data and the second starting point motion is stored. Inserting a third motion unit having dynamic basic posture data as end point dynamic basic posture data between the first and second motion units;
An operation control method for a legged mobile robot.
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した1以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成ステップと、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御ステップと、
前記第1の動作ユニットの終点動的基本姿勢データと前記第2の動作ユニットの開始点動的基本姿勢データがそれぞれ持つ各関節の位置若しくは角度と加速度若しくは角加速度を境界条件として、これらの動的基本姿勢データを各関節の位置若しくは角度を記述した複数の姿勢データで補間する姿勢データ変換ステップと、
を有し、
前記運動制御ステップでは、前記姿勢データ変換部によって動的基本姿勢データが姿勢データに変換された行動シーケンスに従って、各関節の動作を制御する、
ことを特徴とする脚式移動ロボットの動作制御方法。An operation control method for a multi-joint legged mobile robot having at least a plurality of movable legs,
Start point dynamic basic posture data describing the position or angle and acceleration or angular acceleration of each joint at the start of motion, and end point dynamic basic posture describing the position or angle of each joint and acceleration or angular acceleration at the end of motion An action for generating an action sequence of the legged mobile robot by connecting data and one or more posture data describing only the position or angle of each joint between the start of the action and the end of the action A sequence generation step;
A motion control step for controlling the movement of each joint according to the generated behavior sequence;
The end point dynamic basic posture data of the first motion unit and the start point dynamic basic posture data of the second motion unit have respective joint positions or angles and acceleration or angular acceleration as boundary conditions. Posture data conversion step for interpolating the basic basic posture data with a plurality of posture data describing the position or angle of each joint;
Have
In the motion control step, the motion of each joint is controlled according to the action sequence in which the dynamic basic posture data is converted into posture data by the posture data conversion unit.
An operation control method for a legged mobile robot.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001350854A JP4707290B2 (en) | 2000-11-17 | 2001-11-15 | Motion control device and motion control method for legged mobile robot |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-350618 | 2000-11-17 | ||
JP2000350618 | 2000-11-17 | ||
JP2000350618 | 2000-11-17 | ||
JP2001350854A JP4707290B2 (en) | 2000-11-17 | 2001-11-15 | Motion control device and motion control method for legged mobile robot |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002210680A JP2002210680A (en) | 2002-07-30 |
JP4707290B2 true JP4707290B2 (en) | 2011-06-22 |
Family
ID=26604144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001350854A Expired - Lifetime JP4707290B2 (en) | 2000-11-17 | 2001-11-15 | Motion control device and motion control method for legged mobile robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4707290B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100501456B1 (en) * | 2001-08-29 | 2005-07-18 | 혼다 기켄 고교 가부시키가이샤 | Remote control device of bipedal mobile robot |
-
2001
- 2001-11-15 JP JP2001350854A patent/JP4707290B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002210680A (en) | 2002-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3443077B2 (en) | Robot motion pattern generation device and motion pattern generation method, and robot | |
KR100824179B1 (en) | Device and method for controlling motion of legged mobile robot, and motion unit generating method for legged mobile robot | |
JP3615702B2 (en) | Motion control device and motion control method for legged mobile robot, and legged mobile robot | |
EP1344611B1 (en) | Device and method for controlling operation of legged robot, and robot device | |
JP2001150374A (en) | Failure diagnostic system for robot | |
JP4475708B2 (en) | Legged mobile robot and its motion control method | |
JP2001138271A (en) | Leg type mobile robot and at-overturn motion control method for robot | |
Hyon et al. | Back handspring of a multi-link gymnastic robot—Reference model approach | |
JP3614824B2 (en) | Motion editing apparatus and motion editing method for legged mobile robot | |
JP2003117858A (en) | Method and device for control of robot walk | |
JP4660870B2 (en) | Legged mobile robot and control method thereof | |
JP3674779B2 (en) | Motion control device and motion control method for legged mobile robot, and robot device | |
JP4540156B2 (en) | Robot center of gravity control method | |
JP4770990B2 (en) | Legged mobile robot and control method thereof | |
JP4707290B2 (en) | Motion control device and motion control method for legged mobile robot | |
JP2004181613A (en) | Robot device, device and method for controlling operation of legged locomotion robot, sensor system for legged locomotion robot, and moving body device | |
JP3568527B2 (en) | Mobile device | |
JP4481132B2 (en) | Robot apparatus and control method thereof | |
JP2001150375A (en) | Control system of leg-type moving robot | |
JP2004090220A (en) | Mobile robot device, control method for it, motion pattern generation method of mobile robot device, and motion control program for the device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080829 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090319 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090327 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110315 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4707290 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |