JP4540156B2 - Robot center of gravity control method - Google Patents

Robot center of gravity control method Download PDF

Info

Publication number
JP4540156B2
JP4540156B2 JP31181399A JP31181399A JP4540156B2 JP 4540156 B2 JP4540156 B2 JP 4540156B2 JP 31181399 A JP31181399 A JP 31181399A JP 31181399 A JP31181399 A JP 31181399A JP 4540156 B2 JP4540156 B2 JP 4540156B2
Authority
JP
Japan
Prior art keywords
robot
center
gravity
movement
walking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP31181399A
Other languages
Japanese (ja)
Other versions
JP2001129775A (en
Inventor
裕一 服部
弘樹 西條
義博 黒木
健蔵 石田
仁一 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP31181399A priority Critical patent/JP4540156B2/en
Publication of JP2001129775A publication Critical patent/JP2001129775A/en
Application granted granted Critical
Publication of JP4540156B2 publication Critical patent/JP4540156B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、生体のメカニズムや動作を模した構造を有するリアリスティックなロボットのメカニズムに係り、特に、例えばヒトやサルなどの直立歩行型の身体メカニズムや動作を模した構造を有する脚式移動型ロボットのメカニズムに関する。
【0002】
更に詳しくは、本発明は、2足直立歩行による脚式移動を行うとともに下肢の上には体幹や上肢、頭部などのいわゆる上半身が搭載されてなる直立歩行・脚式移動型ロボットのメカニズムに係り、特に、歩行運動や、その他体幹や上肢などを含んだ全身協調運動時において好適な重心位置を設定可能な、直立歩行・脚式移動型ロボットのメカニズムに関する。
【0003】
【従来の技術】
ロボットの語源は、スラブ語のROBOTA(奴隷機械)に由来するといわれている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。
【0004】
最近では、ヒトやサルなどの2足直立歩行を行う動物の身体メカニズムや動作を模した脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。2足直立による脚式移動は、クローラ式や4足若しくは6足式に比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越え等、柔軟な歩行・走行動作を実現できるという点で優れている。
【0005】
脚式移動ロボットは、直立する五体全てを装備した形態ではなく、要素技術としての下肢部分のみによる脚式移動に関する研究からスタートしたという歴史的経緯がある。
【0006】
例えば、特開平3−184782号公報には、脚式歩行ロボットのうち、胴体より下に相当する構造体に適用される関節構造について開示している。
【0007】
また、特開平5−305579号公報には、脚式移動ロボットの歩行制御装置について開示している。同公報に記載の歩行制御装置は、ZMP(Zero Moment Point)すなわち歩行するときの床反力によるモーメントがゼロとなる床面上の点を目標値に一致させるように制御するものである。但し、同公報に記載の図1を見ても判るように、モーメントを作用する胴体24はブラックボックス化されており、五体全てが完成した状態ではなく、要素技術としての脚式移動の提案にとどまる。
【0008】
しかしながら、脚式移動ロボットの究極目的は、言うまでもなく、下肢単体による歩行動作にとどまらず、五体を完備した構造体による全身強調型の様々な動作パターンの実現である。すなわち、2足歩行を行う下肢と、腕などからなる上肢と、これら下肢と上肢を連結する体幹部とで構成された構造体により、2足による直立歩行を行うことにある。五体が完成したロボットは、2足を用いた直立・脚式移動作業を前提とし、各場面において、上肢、下肢、及び体幹部を所定の優先順位に従って協調的に動作するように姿勢安定制御する必要がある。
【0009】
ヒトの生体メカニズムや動作をエミュレートした脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット(humanoid robot)と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援などを行うことができる。
【0010】
人間形若しくは人間型と呼ばれるロボットを研究・開発する意義を、例えば以下の2つの視点から把握することができよう。
【0011】
1つは、人間科学的な視点である。すなわち、人間の下肢及び/又は上肢に似た構造のロボットを作り、その制御方法を考案して、人間の歩行動作をシミュレートするというプロセスを通じて、歩行を始めとする人間の自然な動作のメカニズムを工学的に解明することができる。このような研究成果は、人間工学、リハビリテーション工学、あるいはスポーツ科学など、人間の運動メカニズムを扱う他の研究分野の進展に多いに還元することができるであろう。
【0012】
もう1つは、人間のパートナーとして、生活支援、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援を行うロボットの開発である。この種のロボットは、人間の生活環境のさまざまな局面において、人間から教わりながら個々に個性の相違する人間又は環境への適応方法を学習し、機能面でさらに成長していく必要がある。このときロボットが、「人間形」、すなわち、人間と同じ形又は同じ構造をしている方が、人間とロボットとのスムースなコミュニケーションを行う上で有効に機能するものと考えられる。
【0013】
例えば、踏んでは行けない障害物を避けながら部屋を通り抜ける方法を実地でロボットに教示するような場合、クローラ式や4足式ロボットのように教える相手が自分と全く違う構造をしているよりも、同じような格好をしている2足歩行ロボットの方がはるかに教え易く、またロボットにとっても教わり易い筈であろう(例えば、高西著「2足歩行ロボットのコントロール」(自動車技術会関東支部<高塑>No.25,1996APRIL)を参照のこと)。そもそも、人間の住環境のほとんどは人間が持つ形態や行動様式に合わせて形成されたものであるから、ロボットが人間型の形態を有していることは人間の住環境との親和性を高める上で必須であるとも言える。
【0014】
人間型ロボットの用途の1つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行などである。但し、この種の産業利用に特化したロボットは、特定の用途若しくは機能を実現することが設計・製作上の至上の主題であり、2足歩行を前提とはするものの、ヒトやサルなど直立歩行動物が本来持つ身体メカニズムや動作を機械装置として忠実に再現する必要は必ずしもない。例えば、特定用途を実現するために手先の自由度や動作機能を強化する一方で、用途には比較的関係が低いとされる頭部や腰部などの自由度を制限し又は省略される。この結果、2足歩行と謂えども、ロボットの作業や動作の外観上で、ヒトとしては不自然さが残ることがあるが、かかる点は妥協せざるを得ない。
【0015】
また、人間型ロボットの他の用途として、難作業の代行などの生活支援というよりも、生活密着型、すなわち人間との「共生」という用途が挙げられる。この種のロボットは、ヒトやサルなどの2足の直立歩行を行う動物が本来持つ、全身協調型の動作メカニズムを忠実に再現し、その自然に円滑な動作を実現することを至上の目的とする。また、ヒトやサルなどの知性の高い直立動物をエミュレートする以上、四肢を用いた動作の表現力が豊かであることが望ましい。さらに、予め入力された動作パターンを単に忠実に実行するだけではなく、相手の言葉や態度(「褒める」とか「叱る」、「叩く」など)に呼応した、生き生きとした動作表現を実現することも要求される。この意味において、ヒトを模したエンターティンメント・ロボットは、まさに「人間型ロボット」と呼ぶに相応しい。
【0016】
既に周知のように、人体は数百の関節すなわち数百に上る自由度を備えている。限りなくヒトに近い動作を脚式移動ロボットに付与するためには、ほぼ同じ自由度を与えることが好ましいが、これは技術的には極めて困難である。何故ならば、1つの自由度に対して少なくとも各1つのアクチュエータを配設する必要があるが、数百のアクチュエータをロボットという機械装置上に実装することは、製造コストの点からも、重量やサイズなど設計の観点からも不可能に等しい。また、自由度が多いと、その分だけ位置・動作制御や姿勢安定制御等のための計算量が指数関数的に増大してしまう。このため、人体よりもはるかに少ない数十程度の関節自由度で人間型ロボットを構成するのが一般的である。したがって、少ない自由度を用いてより自然な動作を如何にして実現するかが、人間型ロボットの設計・制御において重要な課題の1つといえる。
【0017】
また、2足直立歩行を行う脚式移動ロボットは、柔軟な歩行・走行動作(例えば階段の昇降や障害物の乗り越え等)を実現できる点で優れている反面、重心位置が高くなるため、その分だけ姿勢制御や安定歩行制御が難しくなる。特に、生活密着型のロボットの場合、ヒトやサルなどの知性動物における自然な動作や感情を豊かに表現しながら姿勢や安定歩行を制御しなければならない。動作による感情表現の多くは、上肢や頭部などの上半身を利用するものであり、かかる動さ期間中のロボットの重心位置はダイナミックに変動する。
【0018】
2足歩行による脚式移動を行うタイプのロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。ここで言う安定な「歩行」とは、転倒することなく、脚を使って移動すること、と定義することができよう。歩行時には、重力と歩行運動に伴なって生じる加速度によって、歩行系から路面には重力と慣性力、並びにこれらのモーメントが作用する。いわゆる「ダランベールの原理」によると、それらは路面から歩行系への反作用としての床反力、床反力モーメントとバランスする。力学的推論の帰結として、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にピッチ及びロール軸モーメントがゼロとなる点、すなわち「ZMP(Zero Moment Point)」が存在する。
【0019】
ロボットの安定歩行に関する提案の多くは、このZMPを歩行の安定度判別の規範として用いている。ZMP規範に基づく2足歩行パターン生成は、足底着地点を予め設定でき、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。
【0020】
例えば、特開平5−305579号公報に記載の脚式移動ロボットは、ZMPがゼロとなる床面上の点を目標値に一致させるようにして安定歩行を行うようになっている。
【0021】
また、特開平5−305581号公報に記載の脚式移動ロボットは、ZMPが支持多面体(多角形)内部、又は、着地、離床時にZMPが支持多面体(多角形)の端部から少なくとも所定の余裕を有する位置にあるように構成した。この結果、外乱などを受けても所定距離だけZMPの余裕があり、歩行の安定性の向上を図 ることができる。
【0022】
また、特開平5−305583号公報には、脚式移動ロボットの歩き速度をZMP目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、予め設定された歩行パターン・データを用い、ZMPを目標位置に一致させるように脚部関節を駆動するとともに、上体の傾斜を検出してその検出値に応じて設定された歩行パターン・データの吐き出し速度を変更するようにしている。この結果、予期しない凹凸を踏んでロボットが例えば前傾するときは吐き出し速度を速めることで姿勢を回復できる。またZMPが目標位置に制御できるので、両脚支持期において吐き出し速度を変更しても支障がない。
【0023】
また、特開平5−305585号公報には、脚式移動ロボットの着地位置をZMP目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、ZMP目標位置と実測位置とのずれを検出して、それを解消する様に脚部の一方または双方を駆動するか、又は、ZMP目標位置まわりにモーメントを検出してそれが零になる様に脚部を駆動することで安定歩行を行うようになっている。
【0024】
また、特開平5−305586号公報には、脚式移動ロボットの傾斜姿勢をZMP目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、ZMP目標位置まわりのモーメントを検出し、モーメントが生じているときは、それが零になるように脚部を駆動することで安定歩行を行うようになっている。
【0025】
2足歩行ロボットの安定歩行制御を考えた場合、ロボットが実行する動作が、ロボットの重心が常に歩行中の足底の接地範囲にある「静歩行」であるか、あるいは、ロボットの重心が足底の外に外れるような「動歩行」であるかは重要な問題である。すなわち、2足歩行ロボットが安定に歩行するときは静歩行であれば系の重心を支持脚足裏におく必要がある。また、動歩行において、例えばZMPを安定歩行規範として用いる制御方式であれば、ZMPが目標軌道をたどるように制御しなければならない。
【0026】
前者の静歩行時には、ロボットの重心を歩行中の足底の接地範囲内に収めるという要請から、ロボットの構成要素のうち重量物をできる限り下方に配設して重心位置を低くした方が、歩行の安定制御が容易となる。これに対し、後者の動歩行時には、いわゆる「倒立振子」の概念が導入される。倒立振子は、転倒方向に支持点を強く加速することで姿勢回復を図ることができる。歩行系においては、目標ZMPを転倒方向に強く加速することに相当する。倒立振子制御を行う場合、ロボットの重心位置はむしろ高い方が、重心バランスを失ってから転倒するまでの時間すなわち倒立振子の周期が長いため、歩行制御の安定化には有利である。
【0027】
ところで、ロボットは、トルク重量比の大きいアクチュエータと、比較的軽量な構造部材とで構成されるので、質量の大半はアクチュエータに集中する。言うまでもなく、各アクチュエータはロボットの関節自由度に相当し、その設置場所はほぼ固定的であり、重心位置の調整に利用することはできない。
【0028】
システム系に対する設置場所がロボットの構造に特に依存しない構成要素としては、例えば、アクチュエータの駆動制御等を行う制御ボードや、アクチュエータや制御ボードなど各種電気系統に給電するための電源装置などが挙げられる。
【0029】
制御ボードには、通常、米インテル社の”Pentium”などのCPU(Central Processing Unit)チップや、メモリ・チップその他の計算機の主要回路コンポーネントを搭載してなる「マザーボード」が利用される。マザーボードはせいぜい数百グラム程度の重量しかなく、重心位置の調整にはあまり寄与しない。
【0030】
これに対し、電源装置は、AC電源(一般商用電源)に頼るか、又は、バッテリを用いた自立駆動型かで、重量は多いに相違する。前者であれば、直交変換器や変圧器などの回路コンポーネントを略1枚の印刷配線ボード上に実装されるので、ロボット全体の重心位置を左右する重量物を構成しない。これに対し、後者の場合、電源装置は十数本〜数十本のバッテリ・セルを包含するため、ロボット全体の重心位置を左右する重量物となり得る。特に、アクチュエータの初期駆動時には過大なインラッシュ電流を要するので、重量エネルギ密度が高いリチウム・イオン電池よりも、むしろ瞬時の供給電流量が大きいニッケル・カドミウム電池の方が優れている。ニッケル・カドミウム電池を用いた電源装置は、数キログラム程度の重量を有する。これは、小型の2足歩行ロボットにおける重量の1〜2割程度を占めることになる。
【0031】
バッテリを用いた自立駆動型であれば、人間型ロボットの物理的な行動半径は、電源ケーブルによる制限を受けず、自由に歩行することができる。また、歩行やその他の上肢を含めた各種の運動時に、ロボットの上肢や下肢と電源ケーブルとの干渉を考慮する必要がなくなり、動作制御が容易になる。
【0032】
【発明が解決しようとする課題】
本発明の目的は、例えばヒトやサルなどの直立歩行型の身体メカニズムや動作を模した構造を有する、優れた脚式移動型ロボットを提供することにある。
【0033】
本発明の更なる目的は、2足直立歩行による脚式移動を行うとともに下肢の上には体幹や上肢、頭部などのいわゆる上半身が搭載されてなり、歩行運動や、その他体幹や上肢などを含んだ全身協調運動時において好適な重心位置を設定することができる、優れた直立歩行・脚式移動型ロボットを提供することにある。
【0034】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、少なくとも下肢と、該下肢の上方に配設された上体とで構成され、下肢の運動により移動自在なロボットであって、
前記ロボット全体の重心位置に影響を及ぼす重量物を前記上体に変位自在に取り付けたことを特徴とするロボットである。
【0035】
また、本発明の第2の側面は、少なくとも下肢と、該下肢の上方に配設された上体とで構成され、下肢の運動により移動自在なロボットであって、
前記ロボットの少なくとも一部を駆動するための駆動電源を供給可能であるとともに、前記ロボット全体の重心位置に影響を及ぼす重量を有する電源手段と、
前記電源手段を前記上体に変位自在に取り付ける電源取付手段と、
を具備することを特徴とするロボットである。
【0036】
本発明の第2の側面に係るロボットにおいて、前記電源手段は、例えば、1以上のニッケル系バッテリ・セルで構成される。ニッケル系バッテリとは、例えば、ニッケル・カドミウム・バッテリや、ニッケル水素バッテリのことを指す。この種のニッケル系バッテリは、重量エネルギ密度が低い(すなわち比較的大重量を有する)ものの、インラッシュ電流を供給可能な出力特性を持ち、アクチュエータの駆動には適している。
【0037】
また、前記電源取付手段は、前記電源手段すなわちバッテリ・パックをロボットのヨー軸又はロール軸のうち少なくとも一方に変位可能に取り付けるようになっている。ここで言うヨー軸とはすなわちZ軸のことであり、重量物としてのパッテリ・パックの設置位置を上方に移動させることにより、ロボットを倒立振子に見立てることができる。倒立振子は、転倒方向に支持点を強く加速することで姿勢回復を図ることができる。歩行系においては、目標ZMPを転倒方向に強く加速することに相当する。
【0038】
また、本発明の第3の側面は、少なくとも下肢と、該下肢の上方に配設された上体とで構成され、下肢の運動により移動自在なロボットであって、
前記ロボットの少なくとも一部を駆動するための駆動用バッテリを前記上体に取り付けることによって、前記ロボット全体の重心位置を上方に移動させたことを特徴とするロボットである。
【0039】
また、本発明の第4の側面は、少なくとも下肢と、該下肢の上方に配設された上体とで構成され、下肢の運動により移動自在なロボットのための重心位置制御方法であって、
(a)前記ロボットのZ軸又はX軸方向のうち少なくとも一方の重心位置を設定するステップと、
(b)前記ロボットの目標全身運動パターンを設定するステップと、
(c)前記目標全身運動パターンを基に前記ロボットの全身運動パターンを算出するステップと、
(d)該算出された全身運動パターンが前記目標全身運動パターンとの誤差が許容範囲内である場合には、該設定された重心位置を最適な重心位置として決定するステップと、
を具備することを特徴とするロボットの重心位置制御方法である。
【0040】
本発明の第4の側面に係るロボットの重心位置制御方法は、該算出された全身運動パターンが前記目標全身運動パターンとの誤差が許容範囲外である場合には、前記ロボットの重心位置を再設定して全身運動パターンを再算出するステップをさらに含んでもよい。
【0041】
また、前記ロボットは前記ロボット全体の重心位置に影響を及ぼす重量物を前記上体に変位自在に取り付けており、
前記ステップ(d)により決定された最適重心位置を形成するように該重量物の取付位置を決定するようにしてもよい。
【0042】
また、前記ロボットは、
前記ロボットの少なくとも一部を駆動するための駆動電源を供給可能であるとともに、前記ロボット全体の重心位置に影響を及ぼす重量を有する電源手段と、
前記電源手段を前記上体に変位自在に取り付ける電源取付手段と、
を具備し、
前記ステップ(d)により決定された最適重心位置を形成するように前記電源取付手段による前記電源手段の取付位置を決定するようにしてもよい。
【0043】
【作用】
人間型ロボットは、通常、脚式移動を行うための下肢と、下肢の上方に配設された上体とで構成される。上体は、さらに、下肢と股関節で連結する体幹部と、上肢と、頭部とに区分される。
【0044】
ロボットの少なくとも一部を駆動するための駆動用電源としては、アクチュエータのインラッシュ電流を供給可能なニッケル系のバッテリ・セルからなるバッテリ・パックを用いるが、これは比較的大重量となり、小型ロボットの総重量の1〜2割程度を占める。
【0045】
このようなバッテリ・パックを、ロボットの下肢ではなく上体に取り付けることによって、ロボット全体の重心位置を上方に移動させ、倒立振子とみなした動歩行制御が容易になる(倒立振子は、転倒方向に支持点を強く加速することで姿勢回復を図ることができる)。さらに、バッテリ・パックをZ軸方向に可変に取り付けることにより、歩行、走行、ダンスなどさまざまな運動パターンに順応した重心位置を設定・再設定することが可能となる。
【0046】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0047】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【0048】
図1及び図2には本発明の実施に供される人間形又は人間型ロボット100を前方及び後方の各々から眺望した様子を示している。さらに、図3には、この人間型ロボット100が具備する関節自由度構成を模式的に示している。
【0049】
図3に示すように、人間型ロボット100は、2本の腕部と頭部1を含む上体と、移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成される。
【0050】
頭部1を支持する首関節は、首関節ヨー軸2と、首関節ピッチ軸3と、首関節ロール軸4という3自由度を有している。
【0051】
また、各腕部は、肩関節ピッチ軸8と、肩関節ロール軸9と、上腕ヨー軸10と、肘関節ピッチ軸11と、前腕ヨー軸12と、手首関節ピッチ軸13と、手首関節ロール軸14と、手部15とで構成される。手部15は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部15の動作はロボット100の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
【0052】
また、体幹部は、体幹ピッチ軸5と、体幹ロール軸6と、体幹ヨー軸7という3自由度を有する。
【0053】
また、下肢を構成する各々の脚部は、股関節ヨー軸16と、股関節ピッチ軸17と、股関節ロール軸18と、膝関節ピッチ軸19と、足首関節ピッチ軸20と、あくび関節ロール軸21と、足部(足底)22とで構成される。股関節ピッチ軸17と股関節ロール軸18の交点は、本実施例に係るロボット100の股関節位置を定義するものとする。人体の足部(足底)22は、実際には多関節・多自由度の足底を含んだ構造体であるが、本実施例に係る人間型ロボット100の足底はゼロ自由度とする。したがって、各脚部は6自由度で構成される。
【0054】
以上を総括すれば、本実施例に係る人間型ロボット100全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。但し、エンターティンメント向けの人間型ロボット100が必ずしも32自由度に限定される訳ではない。設計・製作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【0055】
上述したような人間型ロボット100が持つ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。本実施例では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ACサーボ・アクチュエータを搭載することとした。なお、この種のACサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特願平11−33386号明細書に開示されている。
【0056】
図4には、人間型ロボット100の制御システム構成を模式的に示している。同図に示すように、人間型ロボット100は、ヒトの四肢を表現した各機構ユニット30,40,50R/L,60R/Lと、各機構ユニット間の協調動作を実現するための適応制御を行う制御ユニット80とで構成される(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下同様)。
【0057】
人間型ロボット100全体の動作は、制御ユニット80によって統括的に制御される。制御ユニット80は、CPU(Central ProcessingUnit)チップやメモリ・チップ等の主要回路コンポーネント(図示しない)で構成される主制御部81と、電源装置やロボット100の各構成要素とのデータやコマンドの授受を行うインターフェース(いずれも図示しない)などを含んだ周辺回路82とで構成される。
【0058】
本実施例では、電源装置は、ロボット100を自立的に駆動するためのバッテリを含んだ構成(図4には図示しない)となっている。自立駆動型であれば、人間型ロボット100の物理的な行動半径は、電源ケーブルによる制限を受けず、自由に歩行することができる。また、歩行やその他の上肢を含めた各種の運動時に、電源ケーブルとの干渉を考慮する必要がなくなり、動作制御が容易になる。
【0059】
また、本実施例では、バッテリは、各アクチュエータA2,A3…のインラッシュ電流を供給可能な、ニッケル・カドミウム電池セルなどで構成される。このため、電源装置は、ロボット100全体の1〜2割程度の重量を占める。
【0060】
重量物である電源装置をロボット100上半身、すなわち股関節より上方に配設することで、ロボット100の重心位置をその上半身に設定した点は、特筆に価する。何故ならば、動歩行などの動作中は、ロボット100という構造体をいわゆる倒立振子とみなして制御することが可能となるからである。倒立振子は、転倒方向に支持点を強く加速することで姿勢回復を図ることができる。歩行系においては、目標ZMPを転倒方向に強く加速することに相当する。倒立振子制御を行う場合、ロボットの重心位置はむしろ高い方が、重心バランスを失ってから転倒するまでの時間すなわち倒立振子の周期が長いため、歩行制御の安定化には有利である。
【0061】
図3に示したロボット100内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット30には、首関節ヨー軸2、首関節ピッチ軸3、首関節ロール軸4の各々を表現する首関節ヨー軸アクチュエータA2、首関節ピッチ軸アクチュエータA3、首関節ロール軸アクチュエータA4が配設されている。
【0062】
また、体幹部ユニット40には、体幹ピッチ軸5、体幹ロール軸6、体幹ヨー軸7の各々を表現する体幹ピッチ軸アクチュエータA5、体幹ロール軸アクチュエータA6、体幹ヨー軸アクチュエータA7が配備されている。
【0063】
また、腕部ユニット50R/Lは、上腕ユニット51R/Lと、肘関節ユニット52R/Lと、前腕ユニット53R/Lに細分化されるが、肩関節ピッチ軸8、肩関節ロール軸9、上腕ヨー軸10、肘関節ピッチ軸11、肘関節ロール軸12、手首関節ピッチ軸13、手首関節ロール軸14の各々を表現する肩関節ピッチ軸アクチュエータA8、肩関節ロール軸アクチュエータA9、上腕ヨー軸アクチュエータA10、肘関節ピッチ軸アクチュエータA11、肘関節ロール軸アクチュエータA12、手首関節ピッチ軸アクチュエータA13、手首関節ロール軸アクチュエータA14が配備されている。
【0064】
また、脚部ユニット60R/Lは、大腿部ユニット61R/Lと、膝ユニット62R/Lと、脛部ユニット63R/Lに細分化されるが、股関節ヨー軸16、股関節ピッチ軸17、股関節ロール軸18、膝関節ピッチ軸19、足首関節ピッチ軸20、足首関節ロール軸21の各々を表現する股関節ヨー軸アクチュエータA16、股関節ピッチ軸アクチュエータA17、股関節ロール軸アクチュエータA18、膝関節ピッチ軸アクチュエータA19、足首関節ピッチ軸アクチュエータA20、足首関節ロール軸アクチュエータA21が配備されている。
【0065】
各アクチュエータA2,A3…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ACサーボ・アクチュエータ(前述)である。
【0066】
頭部ユニット30、体幹部ユニット40、腕部ユニット50、各脚部ユニット60などの各機構ユニット毎に、アクチュエータ駆動制御用の副制御部35,45,55,65が配備されている。さらに、各脚部60R,Lの足底が着床したか否かを検出する接地確認センサ91及び92を装着するとともに、体幹部ユニット40内には、姿勢を計測する姿勢センサ93を装備している。これら各センサ91〜93の出力により、足底22の着床及び離床期間、体幹部分の傾きなどを検出して、制御目標をダイナミックに補正することができる。
【0067】
主制御部80は、各センサ91〜93の出力に応答して副制御部35,45,55,65に対して適応的な制御を行い、人間型ロボット100の上肢、体幹、及び下肢の協調した動作を実現する。主制御部81は、ユーザ・コマンド等に従って、足部運動、ZMP(Zero Moment Point)軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部35,45,55,65に転送する。
【0068】
そして、各々の副制御部35,45…では、主制御部81からの受信コマンドを解釈して、各アクチュエータA2,A3…に対して駆動制御信号を出力する。ここで言う「ZMP」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ZMP軌道」とは、例えばロボット100の歩行動作期間中などにZMPが動く軌跡を意味する。
【0069】
次に、上述した人間型ロボット100における、バッテリの位置調整機構について説明する。図5には、バッテリの位置調整機構に関する第1の例を図解している。
【0070】
図示のバッテリ位置調整機構200は、ロボット100の上半身部分に取り付けられており、好ましくは体幹部ユニット40内に収容されている。
【0071】
バッテリ・パック210は、例えばニッケル・カドミウム電池セル数本〜数十本からなり、数キログラム程度の重量を持つ。このバッテリ・パック210は、バッテリ・パック搭載板215の上に固設されている。
【0072】
バッテリ・パック搭載板215の左右略両端には、それぞれ長穴221a,221b、及び長穴221c,221dが形設されている。図5に示すように各長穴221a…に螺子を貫挿させることにより、バッテリ・パック搭載板215の左右端にL字板203A及び203Bを固定することができる。このとき、各長穴221a…は、X軸すなわちロボット100のロール軸方向に伸びるので、L字板203A,203Bに対するバッテリ搭載板215のX軸方向設置位置を、長穴221a…の長軸寸法の範囲内で調整することができる。
【0073】
他方、一対の支持板201A及び201Bは、一対の連結板205A及び205Bを介して所定間隔を保って連結されている。図5には示していないが、支持板201A,201Bは、ロボット100の体幹ユニット40に一体的に取り付けられている(若しくは体幹ユニット40の一部を形成する)ものと理解されたい。
【0074】
各支持板201A,201Bには、それぞれ4個の長穴225a〜225dが形設されており、各長穴に螺子を貫挿させることにより、L字板203A,203Bを固定することができる。このとき、各長穴225a…は、Z軸すなわちロボット100のヨー軸方向に伸びるので、支持板201A,201Bに対するL字板203A,203BのZ軸方向設置位置を、長穴225a…の長軸寸法の範囲内で調整することができる。
【0075】
以上を要約すれば、支持板201A,201Bすなわち体幹ユニット40に対するバッテリ・パック210の搭載位置をX軸及びZ軸の各方向で調整することができる。バッテリ・パック210は、ロボット100の総重量の数パーセント乃至数十パーセントを占めるので、該搭載位置の調整により、ロボット100の重心位置を設定することができるという点を理解されたい。
【0076】
また、図6には、バッテリの位置調整機構に関する第2の例を図解している。以下、同図を参照しながら説明する。但し、図示のバッテリ位置調整機構300は、ロボット100の上半身部分に取り付けられており、好ましくは体幹部ユニット40内に収容されているものと理解されたい(同上)。
【0077】
バッテリ・パック310は、例えばニッケル・カドミウム電池セル数本〜数十本からなり、数キログラム程度の重量を持つ。このバッテリ・パック210は、バッテリ・パック搭載板315の上に固設されている。
【0078】
図示の通り、バッテリ・パック搭載位置315は、4本のガイド・レール321a〜321bによってZ軸方向の移動が規制されている。これらガイド・レール321a〜321bは、対向する一対の支持板341及び342に取り付けられている。支持板341,342は、ロボット100の体幹ユニット40に一体的に取り付けられている(若しくは体幹ユニット40の一部を形成する)ものと理解されたい。
【0079】
また、バッテリ・パック搭載位置315は、ボール螺子331を貫挿させた軸受332を備えている。したがって、駆動モータ333によってボール螺子331を回転させることにより、バッテリ・パック支持板315すなわちバッテリ・パック310のZ軸方向位置を移動させることができる。駆動モータ333の駆動制御は、例えば主制御部80において行われる。
【0080】
バッテリ・パック310は、ロボット100の総重量の数パーセント乃至数十パーセントを占める(同上)ので、駆動モータ333を用いて該搭載位置を調整することにより、ロボット100の重心位置を動的に設定・再設定することができるという点を理解されたい。
【0081】
図5又は図6に示すようなバッテリ位置調整機構によれば、上半身に重心を持つ人間型ロボット100の重心位置をさらに適応的に制御することができる。但し、最適な重心位置は、ロボット100が行う全身運動パターン(例えば、「歩く」、「走る」、「飛び跳ねる」、「ダンスする」など)に応じて決定される。以下では、重心位置(言い換えればバッテリの搭載位置)の決定方法について説明する。
【0082】
図7には、ロボット100の重心位置(バッテリの搭載位置)を決定するための処理手順をフローチャートの形式で示している。以下、このフローチャートの各ステップについて説明する。
【0083】
まず、ロボット100のZ軸(ヨー軸)及びX軸(ロール軸)方向の重心位置を設定する(ステップS11)とともに、ロボット100の目標全身運動パターンを設定する(ステップS12)。
【0084】
[従来の技術]の欄でも既に述べたように、ロボット100は、トルク重量比の大きいアクチュエータA2,A3…と、比較的軽量な構造部材とで構成されるので、質量の大半はアクチュエータに集中する。但し、各アクチュエータは関節自由度に相当し、設置場所はほぼ固定となるので重心位置の調整に利用することはできない。したがって、ここで言うステップS11で言う重心位置の設定は、バッテリ・パックの搭載位置を設定することと略同義である。バッテリ・パックのZ軸及びX軸方向の搭載位置を調整可能であることは、図5又は図6を参照しながら既に説明した通りである。
【0085】
また、目標全身運動パターンとは、「歩く」、「走る」、「飛び跳ねる」、「ダンスする」などの運動パターンのことであり、例えば、ティーチング・プレイバックやオフライン教示などの方式により、ロボット100の主制御部80に入力される。
【0086】
次いで、ステップS13では、先行ステップS11において設定されたバッテリ・パックの搭載位置を基にして、ロボット100の現在における質量分布データの算出を行う。このステップで求められた質量分布データは、後続のステップS16などの計算処理等において利用される。また、質量分布データは、ロボット100の多質点近似モデルを用いて算出することができるが、この点は後に詳解する。
【0087】
次いで、ステップS14では、運動パターンの実現のためにロボット100の各関節において必要とされる運動性能を算出する。ここで言う運動性能には、関節の可動角、最大トルク、最大速度などが含まれる。
【0088】
但し、各関節で使用されるアクチュエータA2,A3…には、許容運動性能又は定格運動性能が規定されている。ステップS14において求められた必要運動性能が、許容運動性能を越える場合には、判断ブロックS15の分岐Noに抜けて、ロボット100の重心位置(すなわちバッテリ・パックの搭載位置)を再設定してから(ステップS21)、上記と同様の処理を繰り返し実行する。
【0089】
次いで、ステップS16では、先行ステップS12にて入力された目標全身運動パターンを用いて、ロボット100の全身運動パターンを算出する。該全身運動パターンは、例えばロボット100の多質点近似モデルを用いて算出することができるが、詳細については後述に譲る。
【0090】
次いで、判断ブロックS17では、算出された全身運動パターンが、各関節すなわちアクチュエータ等の許容運動性能の範囲内で実現可能か否かを判断する。許容運動性能を逸脱する場合には、該判断ブロックの分岐Noに抜けて、ロボット100の重心位置(すなわちバッテリ・パックの搭載位置)を再設定してから(ステップS21)、上記と同様の処理を繰り返し実行する。
【0091】
次いで、ステップS18では、目標全身運動パターンと算出全身運動パターンとの誤差Eを算出する。
【0092】
そして、判断ブロックS19では、この誤差Eが許容範囲内か否かを判断する。許容範囲を逸脱する場合には、該判断ブロックの分岐Noに抜けて、ロボット100の重心位置(すなわちバッテリ・パックの搭載位置)を再設定してから(ステップS21)、上記と同様の処理を繰り返し実行する。
【0093】
他方、誤差Eが許容範囲内であれば、設定された重心位置をロボット100の最適な重心位置として出力し(ステップS21)、当該処理ルーチン全体を終了する。
【0094】
このようにして求められたロボット100の最適な重心位置に基づいて、バッテリ・パックの最適な搭載位置を逆算することができる。この逆算された結果に従って、バッテリ・パックの位置を調整すればよい。該位置調整機構については、図5又は図6を参照されたい。
【0095】
次いで、図7に示したフローチャートのステップS13における質量分布データの算出処理について詳解する。
【0096】
力学等の分野において既に周知のように、構造物の重心位置Rは、以下の式で算出することができる(但し、同式中で、ρ(x,y,z)は点(x,y,z)における重量密度を指す)。
【0097】
【数1】

Figure 0004540156
【0098】
厳密解を求める上では、ロボット100を質点系ではなく剛体系として厳密にモデリングすることが好ましいが、その分だけ計算時間を要する。他方、ロボット100は、トルク重量比の大きいアクチュエータと軽量の構造部材を使用している結果として、その質量の大半はアクチュエータすなわち関節部分に集中する。したがって、ロボット100を多質点近似モデルとして扱っても、ほとんど支障がない(多質点近似モデルの詳細に関しては、後述に譲る)。
【0099】
図8には、多質点近似モデルを用いた場合における質量分布データの算出処理手順の詳細をフローチャートの形式で示している。このフローチャート全体で、前述のステップS13を構成するものと理解されたい。以下、このフローチャートの各ステップについて説明する。
【0100】
まず、ステップS31では、ロボット100の全軸角度情報、全関節配置情報、及び全質点配置情報を入力する。これらの角度情報や配置情報は、ロボット100の設計仕様によって定まる静的・固定的なデータであり、例えばロボット100の設計時に作成したCADデータベースから供給を受けることができる。
【0101】
次いで、ステップS32では、ロボット100の左右股関節の中点を原点に設定した場合における、全関節位置情報、及び全質点位置情報を算出する。
【0102】
次いで、ステップS33では、原点と左右各々の足底平面までの距離を算出し、判断ブロックS34では、左右の足底平面のうちどちらが原点から離れているかを判断する。本実施例では、原点から離れている方の足底が、現在着床している足であるとする。
【0103】
右足底平面の方が離れている場合には、右足底平面がX−Y平面となるように全質点位置を座標変換し(ステップS35R)、他方、左足底平面の方が離れている場合には、左足底平面がX−Y平面となるように全質点位置を座標変換する(ステップS35L)。
【0104】
このように座標変換した後、全質点における質量と位置とから、ロボット100の重心位置を算出することができる(ステップS36)。
【0105】
図8において算出された重心位置の例を図9に示しておくので参照されたい。同図の例では、ロボット100の重心位置は、腰部すなわち下肢よりも上方に設定されているので、ロボット100を倒立振子とみなして動歩行時の安定姿勢制御を好適に行うことができる。倒立振子は、転倒方向に支持点を強く加速することで姿勢回復を図ることができる。歩行系においては、目標ZMPを転倒方向に強く加速することに相当する。倒立振子制御を行う場合、ロボットの重心位置はむしろ高い方が、重心バランスを失ってから転倒するまでの時間すなわち倒立振子の周期が長いため、歩行制御の安定化には有利である。
【0106】
次いで、図7に示したフローチャートのステップS16におけるロボット100の全身運動パターンの算出処理について詳解する。ロボット100は、通常動作する前に予め定められた全身運動パターンに従って各関節すなわちアクチュエータA2,A3…を駆動制御することによって、所定の動作を実現するようになっている。
【0107】
ロボット100自体は、無限すなわち連続的な質点の集合体である。但し、本実施例では、ロボット100を有限数で離散的な質点からなる近似モデルに置き換えることにより、全身運動パターン算出の計算量の削減を図っている。ロボット100は、トルク重量比の大きいアクチュエータと軽量の構造部材を使用している結果として、その質量の大半はアクチュエータすなわち関節部分に集中するので、多質点近似モデルとして扱っても、ほとんど支障がない
【0108】
図10には、全身運動パターン算出のために導入される、ロボット100の非干渉多質点近似モデルを図解している。
【0109】
図10において、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とする。
【0110】
図10に示す非厳密の非干渉多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない、という点を充分理解されたい。
【0111】
このような多質点近似モデルは、概ね以下の処理手順により生成することができる。
【0112】
(1)ロボット100全体の質量分布を求める。
(2)ロボット100を複数の領域に分割する。領域は質点を設定するためのものである。領域の分割方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
(3)各領域i毎に、重心を求め、その重心位置と質量miを該当する質点に付与する。
(4)各質点miを、質点位置riを中心とし、その質量に比例した半径に持つ球体として表示する。
(5)現実に連結関係のある質点すなわち球体同士をワイヤーで連結する。
【0113】
多質点近似モデルは、言わば、ワイヤフレーム・モデルの形態でロボットを表現したものである。本実施例では、図10を見ても判るように、この多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定したものである。
【0114】
なお、図10に示す多質点モデルの腰部情報における各回転角(θhx,θhy,θhz)は、人間型ロボット100における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである(図11には、多質点モデルの腰部周辺の拡大図を示しているので、確認されたい)。
【0115】
図12には、ロボット100の全身運動パターンを算出するための処理手順をフローチャートの形式で示している。但し、以下では、図10に示すような線形・非干渉多質点近似モデルを用いてロボット100の各関節位置や動作を記述するものとし、且つ、計算に際し以下のようなパラメータを用いることとする。但し、ダッシュ(´)付きの記号は運動座標系を記述するものと理解されたい。
【0116】
【数2】
Figure 0004540156
【0117】
また、ロボット100の腰部高さが一定(r’hz+rqz=const)で、且つ、膝部質点がゼロであることを前提とする。
【0118】
本実施例に係るロボット100の場合、任意の足部運動パターン、ZMP軌道、体幹運動パターン、上肢運動パターン等に基づいて、安定歩行を可能とする腰部運動パターンを生成するようになっている。ここで言うZMP(Zero Moment Point)軌道とは、歩行ロボットにおいて、足底(若しくは足裏)をある一点で床面に固定したとき、歩行動作中にモーメントが発生しないような点すなわちZMPの軌道ことを言う(前述)。
【0119】
本実施例のように片足が6自由度を持つ2足歩行型ロボット(図3を参照のこと)の場合、各足部22R/Lの位置と腰部の水平位置及び高さによって両脚の姿勢が一意に定まる。したがって、腰部運動パターンを生成することは、脚の姿勢すなわち下肢の「歩容」を決定することに他ならない(「歩容」とは、当業界において「関節角度の時系列変化」を意味する技術用語である)。
【0120】
まず、ステップS41では、ステップS12において設定された目標全身運動パターンに基づいて、足部(より具体的には足底)運動、足部運動から導出されるZMP軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される。より具体的には、まず足部運動パターン、次いでZMP軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、腰部の運動に関しては、Z’方向のみ設定し、X’及びY’の各方向については未知とする。
【0121】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)を算出する(ステップS42)。
【0122】
次いで、線形・非干渉多質点近似モデルを用いて、腰部水平面内運動(r’hx,r’hy)によって発生する設定ZMP上でのモーメントを算出する(ステップS43)。
【0123】
次いで、設定ZMP上におけるモーメントに関する釣り合い式を、ロボットとともに動く運動座標系O’−X’Y’Z’上で導出する(ステップS44)。より具体的には、足部、体幹、そして上肢運動により発生するモーメント(Mx,My)を既知変数の項として右辺に、腰部質点の水平運動に関する項(rhx,rhy)を未知変数の項として左辺にまとめ、下式に示すような線形・非干渉なZMP方程式(1)を導出する。
【0124】
【数3】
Figure 0004540156
【0125】
但し、以下が成立するものとする。
【0126】
【数4】
Figure 0004540156
【0127】
次いで、上記のZMP方程式(1)を解いて、腰部水平面内軌道を算出する(ステップS45)。例えば、オイラー法やルンゲ・クッタ法などの数値的解法(周知)を用いてZMP方程式(1)を解くことで、未知変数としての腰部の水平絶対位置(rhx,rhy)の数値解を求めることができる(ステップS46)。ここで求められる数値解は、安定歩行可能な腰部運動パターンの近似解であり、より具体的にはZMPが目標位置に入るような腰部水平絶対位置である。ZMP目標位置は、通常(例えば静歩行時)、着床した足底に設定される。
【0128】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う(ステップS47)。この際、膝部の軌道を算出してもよい。
【0129】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル(すなわち、剛体、若しくは非常に多くの質点からなるロボット100の精密なモデル)における設定ZMP上のモーメント(eMx,eMy)を算出する(ステップS48)。非厳密モデルでは上記の[数4]が成立することを前提としたが、厳密ではかかる前提を要しない(すなわち時間の変化に対して一定である必要はない)。
【0130】
厳密モデルにおけるモーメント(eMx,eMy)は、腰部運動の発生するモーメント誤差である。続くステップS49では、このモーメント(eMx,eMy)が非厳密モデルにおける近似モーメントの許容値(εMx,εMy)未満か否かを判定する。許容値ε未満であれば、腰部安定運動パターンの厳密解及び安定歩行を実現できる全身運動パターンを得ることができたので(ステップS50)、本処理ルーチン全体を終了する。
【0131】
他方、厳密モデルにおけるモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)以上であった場合には、厳密モデルにおけるモーメント(eMx,eMy)を用いて近似モデルにおける既知発生モーメント(Mx,My)を修正する(ステップS51)。そして、再びZMP方程式の導出を行い、許容値ε未満に収束するまで、腰部運動パターンの近似解の算出と修正を繰り返し実行する。
【0132】
また、図13には、本実施例に係るロボット100において目標運動パターンを基に全身運動パターンを算出するための処理手順に関する他の例をフローチャートの形式で示している。但し、上述と同様に、線形・非干渉多質点近似モデルを用いてロボット100の各関節位置や動作を記述するものとする(同上)。以下、このフローチャートの各ステップについて説明する。
【0133】
まず、ステップS61では、ステップS12において設定された目標全身運動パターンに基づいて、足部(より具体的には足底)運動、足部運動から導出されるZMP軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される。より具体的には、まず足部運動パターン、次いでZMP軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、腰部の運動に関しては、Z’方向のみ設定し、X’及びY’の各方向については未知とする。
【0134】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)を算出する(ステップS62)。
【0135】
次いで、腰部水平面内運動(r’hx,r’hy)をフーリエ級数展開する(ステップS63)。当業界において既に周知のように、フーリエ級数展開することにより、時間軸成分を周波数成分に置き換えて演算することができる。すなわち、この場合には腰部の動きを周期的な動きとして捉えることができる。また、フーリエ展開することにより、FFT(高速フーリエ変換)を適用することができるので、計算速度を大幅に向上させることができる。
【0136】
次いで、設定ZMP上でのピッチ軸、ロール軸まわりの各モーメント(Mx,My)についてもフーリエ級数展開する(ステップS64)。
【0137】
次いで、腰部水平面内軌道のフーリエ係数を算出し、さらに逆フーリエ級数展開することで(ステップS65)、腰部運動の近似解が求まる(ステップS66)。ここで求められる近似解は、安定歩行可能な腰部運動パターンを規定する腰部の水平絶対位置の近似解(rhx,rhy)であり、より具体的にはZMPが目標位置に入るような腰部水平絶対位置である。ZMP目標位置は、通常(例えば静歩行時)、着床した足底に設定される。
【0138】
算出された近似解によって予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う(ステップS67)。この際、膝部の軌道を算出してもよい。
【0139】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル(すなわち、剛体、若しくは非常に多くの質点からなるロボット100の精密なモデル)における設定ZMP上のモーメント(eMx,eMy)を算出する(ステップS68)。非厳密モデルでは上記の[数4]が成立することを前提としたが、厳密モデルではかかる前提を要しない(すなわち時間の変化に対して一定である必要はない)。
【0140】
厳密モデルにおけるモーメント(eMx,eMy)は、腰部運動の発生するモーメント誤差である。続くステップS69では、このモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)未満か否かを判定する。許容値ε未満であれば、腰部安定運動パターンの厳密解及び安定歩行を実現できる全身運動パターンを得ることができたので(ステップS70)、本処理ルーチン全体を終了する。
【0141】
他方、厳密モデルにおけるモーメント(eMx,eMy)が近似モデルにおけるモーメントの許容値(εMx,εMy)以上であった場合には、厳密モデルにおけるモーメント(eMx,eMy)を用いて非厳密モデルにおける既知発生モーメント(Mx,My)を修正して(ステップS71)、再びフーリエ級数展開して、許容値ε未満に収束するまで、腰部運動パターンの近似解の算出と修正を繰り返し実行する。
【0142】
図16には、ロボット100の重心位置(バッテリの搭載位置)を決定する処理手順の他の例をフローチャートの形式で示している。以下、このフローチャートの各ステップについて説明する。
【0143】
まず、ステップS81では、ロボット100のZ軸方向重心位置の存在可能範囲を算出する。
【0144】
ロボット100の重心位置の可動範囲はバッテリ・パックの搭載位置によって決定されることは既に述べた通りである。例えは図5に示す例では、長穴225a〜225dの長軸寸法によってZ軸方向の存在範囲が決定される。また、図6に示す例では、ボール螺子331のストローク範囲に応じて重心位置のZ軸方向の存在範囲が決定される。
【0145】
次いで、ステップS82では、先行ステップS81において求められた存在可能なZ軸方向の重心位置の各々において、ロボット100の最大歩行速度と最小基本パターン数を算出する。
【0146】
次いで、ステップS83では、最大歩行速度と最小基本パターン数で構成される評価関数を基にして、各Z軸方向重心位置における評価値を算出する。
【0147】
次いで、ステップS84では、評価値が最も低くなるようなZ軸方向重心位置を選択して、これをロボット100の最適なZ軸方向重心位置として出力する(ステップS85)。
【0148】
このようにして求められたロボット100の最適な重心位置に基づいて、バッテリ・パックの最適な搭載位置を逆算することができる。この逆算された結果に従って、バッテリ・パックの位置を調整すればよい。該位置調整機構については、図5又は図6を参照されたい。
【0149】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0150】
なお、本発明の要旨を判断する上で、2足歩行のロボット100についての関節等の呼び名は、図3を厳格に適用するのは妥当ではなく、現実のヒトやサルなどの2足直立歩行動物の身体メカニズムとの対比により柔軟に解釈されたい。
【0151】
参考のため、人間型ロボットの関節モデル構成を図14に図解しておく。同図に示す例では、肩関節5から上腕、肘関節6、前腕、手首7及び手部8からなる部分を「上肢」と呼ぶ。また、肩関節5から股関節11までの範囲を「体幹部」と呼び、ヒトの胴体に相当する。また、体幹部のうち特に股関節11から体幹関節10までの範囲を「腰部」と呼ぶ。体幹関節10は、ヒトの背骨が持つ自由度を表現する作用を有する。また、股関節11より下の大腿部12、膝関節14、下腿部13、足首15及び足部16からなる部分を「下肢」と呼ぶ。一般には、股関節より上方を「上体」と呼び、それより下方を「下体」と呼ぶ
【0152】
また、図15には、人間型ロボットの他の関節モデル構成を図解している。同図に示す例は、体幹関節10を有しない点で図14に示した例とは相違する。各部の名称については図を参照されたい。背骨に相当する体幹関節が省略される結果として人間型ロボットの上体の動きは表現力を失う。但し、危険作業やなお作業の代行など、産業目的の人間型ロボットの場合、上体の動きを要しない場合がある。なお、図14及び図15で用いた参照番号は、それ以外の図面とは一致しない点を理解されたい。
【0153】
【発明の効果】
以上詳記したように、本発明によれば、例えばヒトやサルなどの直立歩行型の身体メカニズムや動作を模した構造を有する、優れた脚式移動型ロボットを提供することができる。
【0154】
また、本発明によれば、2足直立歩行による脚式移動を行うとともに下肢の上には体幹や上肢、頭部などのいわゆる上半身が搭載されてなり、歩行運動や、その他体幹や上肢などを含んだ全身協調運動時において好適な重心位置を設定することができる、優れた直立歩行・脚式移動型ロボットを提供することができる。
【図面の簡単な説明】
【図1】本発明の実施に供される人間型ロボット100を前方から眺望した様子を示た図である。
【図2】本発明の実施に供される人間型ロボット100を後方から眺望した様子を示た図である。
【図3】本実施例に係る人間型ロボット100が具備する自由度構成モデルを模式的に示した図である。
【図4】本実施例に係る人間型ロボット100の制御システム構成を模式的に示した図である。
【図5】バッテリの位置調整機構に関する第1の例を示した図である。
【図6】バッテリの位置調整機構に関する第2の例を示した図である。
【図7】ロボット100の重心位置(バッテリの搭載位置)を決定するための処理手順を示したフローチャートである。
【図8】多質点近似モデルを用いた場合の質量分布データの算出処理手順を示したフローチャートである。
【図9】図8に示すフローチャートに従って算出されたロボット100の重心位置を例示した図である。
【図10】全身運動パターン算出のために導入される、ロボット100の非干渉多質点近似モデルを示した図である。
【図11】図10に示したロボット100の多質点近似モデルにおける腰部周辺の拡大図である。
【図12】ロボット100の全身運動パターンを算出するための処理手順を示したフローチャートである。
【図13】ロボット100の全身運動パターンを算出するための処理手順の他の例を示したフローチャートである。
【図14】人間型ロボットについての関節モデル構成の一例を模式的に示した図である。
【図15】人間型ロボットについての関節モデル構成の他の例を模式的に示した図である。
【図16】ロボット100の重心位置(バッテリの搭載位置)を決定する処理手順の他の例を示したフローチャートである。
【符号の説明】
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 realistic robot mechanism having a structure simulating a biological mechanism and action, and in particular, a legged mobile type having a structure simulating an upright walking body mechanism and action such as a human or a monkey. It relates to the mechanism of the robot.
[0002]
More specifically, the present invention is a mechanism of an upright walking / legged mobile robot in which a legged movement is performed by biped upright walking and a so-called upper body such as a trunk, upper limb, and head is mounted on the lower limb. In particular, the present invention relates to a mechanism of an upright walking / legged mobile robot capable of setting a preferred center of gravity position during walking movement and other whole body coordinated movements including the trunk and upper limbs.
[0003]
[Prior art]
It is said that the word “robot” comes from the Slavic word ROBOTA (slave machine). In Japan, robots started to spread from the end of the 1960s, but many of them are industrial robots such as manipulators and transfer robots for the purpose of automating and unmanned production operations in factories. Met.
[0004]
Recently, 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. Legged movement with two legs standing up is unstable and difficult to control posture and walking compared to crawler type, four-legged or six-legged type, but flexible walking / running operation such as climbing stairs and getting over obstacles Is superior in that it can be realized.
[0005]
Legged mobile robots have a history of starting with research on legged movements using only the lower limbs as an elemental technology, rather than being equipped with all five bodies standing upright.
[0006]
For example, Japanese Patent Application Laid-Open No. 3-184782 discloses a joint structure applied to a structure corresponding to a lower part of a torso of a legged walking robot.
[0007]
Japanese Patent Laid-Open No. 5-305579 discloses a walking control device for a legged mobile robot. The walking control device described in this publication controls ZMP (Zero Moment Point), that is, a point on the floor where the moment caused by the floor reaction force when walking is zero to coincide with the target value. However, as can be seen from FIG. 1 of the same publication, the body 24 acting on the moment is made into a black box, and not all five bodies are completed, but a proposal of legged movement as an elemental technology. Stay.
[0008]
However, it goes without saying that the ultimate purpose of the legged mobile robot is not limited to the walking motion by the lower limb alone, but the realization of various whole body-emphasized motion patterns by the structure fully equipped with five bodies. That is, an upright walk with two legs is performed by a structure composed of a lower limb for biped walking, an upper limb made of arms and the like, and a trunk that connects the lower limb and the upper limb. The robot that has completed the five bodies presupposes upright and legged movement work using two legs, and controls posture stability so that the upper limbs, lower limbs, and trunk are operated cooperatively according to a predetermined priority in each scene. There is a need.
[0009]
A legged mobile robot that emulates a human biological mechanism or movement is particularly called a “humanoid” or “humanoid robot”. The humanoid robot can provide, for example, life support, that is, support for human activities in various situations in daily life such as a living environment.
[0010]
The significance of researching and developing robots called humanoids or humanoids can be understood from, for example, the following two viewpoints.
[0011]
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 largely reduced to the progress of other research fields dealing with human movement mechanisms, such as ergonomics, rehabilitation engineering, or sports science.
[0012]
The other is the development of a robot that, as a human partner, supports daily activities, 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 an environment with different personalities while learning from humans in various aspects of the human living environment, and needs to grow further in terms of functionality. 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.
[0013]
For example, when teaching a robot how to go through a room while avoiding obstacles that can't be stepped on, rather than having a completely different structure than the one you are teaching, such as a crawler or quadruped robot A biped robot with the same appearance will be much easier to teach and teach for robots (for example, “Control of a biped robot” by Takanishi (Automotive Technology Association Kanto) Branch <High Plastic> No. 25, 1996 APRIL)). In the first place, since most of the human living environment is formed according to the form and behavior of human beings, having a humanoid form increases the affinity with the human living environment. It can be said that it is essential above.
[0014]
One of the uses of the humanoid robot is to perform various difficult operations in industrial activities and production activities. For example, maintenance work at nuclear power plants, thermal power plants, petrochemical plants, transportation and assembly work of parts at manufacturing plants, cleaning of high-rise buildings, substitution of dangerous work and difficult work such as rescue at fire sites etc. . However, robots specializing in this type of industrial use have the ultimate design and production theme of realizing specific uses or functions, and are supposed to be biped, but humans and monkeys stand upright. It is not always necessary to faithfully reproduce the body mechanisms and movements inherent to walking animals as mechanical devices. For example, in order to realize a specific application, the degree of freedom of the hand and the operation function are strengthened, while the degree of freedom of the head and the waist, which is relatively unrelated to the application, is limited or omitted. As a result, biped walking and so-called edo may remain unnatural for humans in terms of the appearance of robot work and operations, but this point must be compromised.
[0015]
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. This type of robot is designed to faithfully reproduce the whole body cooperative movement mechanism inherent in animals that walk on two legs upright, such as humans and monkeys, and to achieve its natural and smooth movement. To do. In addition, as long as it emulates highly intelligent upright animals such as humans and monkeys, it is desirable that the expression of movement using the extremities is rich. Furthermore, not only to faithfully execute the pre-input motion pattern, but also to realize a lively motion expression that responds to the opponent's language and attitude (such as “praise”, “speak”, “beat”). Is also required. In this sense, an entertainment robot that imitates humans is just right to call it a “humanoid robot”.
[0016]
As already known, the human body has hundreds of joints, or hundreds of degrees of freedom. It is preferable to give almost the same degree of freedom in order to give the movement to the legged mobile robot as close as possible to a human, but this is extremely difficult technically. This is because it is necessary to arrange at least one actuator for each degree of freedom. However, mounting several hundred actuators on a mechanical device called a robot is difficult in terms of manufacturing cost. This is impossible from the design point of view. In addition, when the degree of freedom is large, the amount of calculation for position / motion control, posture stability control, and the like increases exponentially. For this reason, it is common to construct a humanoid robot with joint degrees of freedom of about several tens, which is much smaller than the human body. Therefore, it can be said that one of the important issues in the design and control of a humanoid robot is how to realize a more natural motion using a small degree of freedom.
[0017]
In addition, legged mobile robots that perform biped upright walking are superior in that they can realize flexible walking and running operations (for example, raising and lowering stairs and getting over obstacles), but the center of gravity is higher, so Posture control and stable walking control become difficult by the amount. In particular, in the case of robots that are closely linked to daily life, postures and stable walking must be controlled while richly expressing natural movements and emotions in intelligent animals such as humans and monkeys. Many emotion expressions by movement use the upper body of the upper limbs and the head, and the position of the center of gravity of the robot during the movement period dynamically changes.
[0018]
Numerous techniques related to posture control and stable walking have been proposed for robots of the type that perform legged movement by biped walking. Stable “walking” in this context can be defined as moving with legs without falling down. At the time of walking, gravity, inertial force, and these moments act on the road surface from the walking system due to gravity and acceleration caused by walking motion. According to the so-called “Dalambert principle”, they balance with the floor reaction force and the floor reaction force moment as a reaction from the road surface to the walking system. As a result of the dynamic reasoning, there is a point where the pitch and roll axis moment become zero on the side of the support polygon formed by the sole contact point and the road surface, or “ZMP (Zero Moment Point)”.
[0019]
Many of the proposals regarding the stable walking of the robot use this ZMP as a standard for determining the stability of walking. The biped walking pattern generation based on the ZMP norm has advantages such that a foot landing point can be set in advance and it is easy to consider the kinematic constraint conditions of the foot according to the road surface shape.
[0020]
For example, the legged mobile robot described in Japanese Patent Application Laid-Open No. 5-305579 is designed to perform stable walking so that a point on the floor surface where ZMP becomes zero coincides with a target value.
[0021]
Further, in the legged mobile robot described in Japanese Patent Laid-Open No. 5-305581, the ZMP is at least a predetermined margin from the inside of the support polyhedron (polygon) or from the end of the support polyhedron (polygon) when landing or getting off the floor. It was comprised so that it might be in the position which has. As a result, even if a disturbance or the like is received, there is a margin of ZMP for a predetermined distance, and walking stability can be improved.
[0022]
Japanese Patent Laid-Open No. 5-305583 discloses that the walking speed of a legged mobile robot is controlled by the ZMP target position. That is, the legged mobile robot described in the publication uses the walking pattern data set in advance to drive the leg joint so that the ZMP matches the target position and to detect the inclination of the upper body. The discharge speed of the walking pattern data set according to the detection value is changed. As a result, when the robot leans forward, for example, by stepping on unexpected irregularities, the posture can be recovered by increasing the discharge speed. In addition, since the ZMP can be controlled to the target position, there is no problem even if the discharge speed is changed during the both-leg support period.
[0023]
Japanese Patent Laid-Open No. 5-305585 discloses that the landing position of a legged mobile robot is controlled by the ZMP target position. That is, the legged mobile robot described in the publication detects a deviation between the ZMP target position and the actually measured position and drives one or both of the legs so as to eliminate it, or around the ZMP target position. A stable walking is performed by detecting the moment and driving the leg so that it becomes zero.
[0024]
Japanese Patent Application Laid-Open No. 5-305586 discloses that the tilting posture of a legged mobile robot is controlled by the ZMP target position. In other words, the legged mobile robot described in the publication detects a moment around the ZMP target position, and when a moment is generated, drives the leg so that the moment becomes zero, so that a stable walking is performed. It has become.
[0025]
When considering stable walking control of a biped walking robot, the robot performs an action of “static walking” in which the center of gravity of the robot is always in the ground contact range of the sole during walking, or the center of gravity of the robot is It is an important question whether it is "dynamic walking" that goes out of the bottom. That is, when the biped walking robot walks stably, the center of gravity of the system needs to be placed on the soles of the supporting legs if it is a static walking. In dynamic walking, for example, if the control method uses ZMP as a stable walking norm, the ZMP must be controlled to follow the target trajectory.
[0026]
During the former static walking, from the request that the center of gravity of the robot be within the ground contact range of the sole during walking, it is better to arrange heavy objects as low as possible among the components of the robot and lower the center of gravity position, Stability control of walking becomes easy. On the other hand, the concept of so-called “inverted pendulum” is introduced during the latter dynamic walking. The inverted pendulum can recover its posture by strongly accelerating the support point in the fall direction. In the walking system, this corresponds to accelerating the target ZMP strongly in the direction of falling. When performing inverted pendulum control, the higher the center of gravity position of the robot, the longer the time from losing the balance of the center of gravity to falling over, that is, the period of the inverted pendulum, which is advantageous for stabilizing the walking control.
[0027]
By the way, since the robot is composed of an actuator having a large torque-weight ratio and a relatively light structural member, most of the mass is concentrated on the actuator. Needless to say, each actuator corresponds to the degree of freedom of joint of the robot, and its installation location is almost fixed and cannot be used for adjusting the position of the center of gravity.
[0028]
Examples of the component whose installation location for the system system does not particularly depend on the structure of the robot include a control board that performs drive control of the actuator, a power supply device that supplies power to various electrical systems such as the actuator and the control board, and the like. .
[0029]
As the control board, a CPU (Central Processing Unit) chip such as “Pentium” of Intel Corporation, a memory chip and other main circuit components of a computer are usually used. The motherboard weighs only a few hundred grams at most and does not contribute much to the adjustment of the center of gravity.
[0030]
On the other hand, the power supply device depends on an AC power supply (general commercial power supply), or is a self-sustained drive type using a battery, and has a large weight. In the former case, circuit components such as an orthogonal transformer and a transformer are mounted on approximately one printed wiring board, so that a heavy object that affects the position of the center of gravity of the entire robot is not configured. On the other hand, in the latter case, since the power supply apparatus includes dozens to dozens of battery cells, it can be a heavy object that affects the position of the center of gravity of the entire robot. In particular, since an excessive inrush current is required during the initial driving of the actuator, a nickel-cadmium battery having a large instantaneous supply current is superior to a lithium ion battery having a high weight energy density. A power supply device using a nickel-cadmium battery has a weight of about several kilograms. This occupies about 10 to 20% of the weight of a small biped robot.
[0031]
If it is a self-sustained drive type using a battery, the physical action radius of the humanoid robot is not restricted by the power cable, and can walk freely. In addition, during various exercises including walking and other upper limbs, it is not necessary to consider the interference between the upper limbs and lower limbs of the robot and the power cable, thereby facilitating operation control.
[0032]
[Problems to be solved by the invention]
An object of the present invention is to provide an excellent legged mobile robot having a structure simulating an upright walking type body mechanism or operation such as a human or a monkey.
[0033]
A further object of the present invention is to perform legged movement by biped upright walking and a so-called upper body such as the trunk, upper limbs, head, etc. mounted on the lower limbs. It is an object of the present invention to provide an excellent upright walking / legged mobile robot capable of setting a suitable center-of-gravity position at the time of whole body coordinated exercise including the above.
[0034]
[Means for Solving the Problems]
The present invention has been made in consideration of the above-mentioned problems, and the first side surface thereof is composed of at least a lower limb and an upper body disposed above the lower limb, and is movable by the movement of the lower limb. A robot,
The robot is characterized in that a heavy object that affects the position of the center of gravity of the entire robot is attached to the upper body so as to be freely displaceable.
[0035]
Further, the second aspect of the present invention is a robot which is composed of at least a lower limb and an upper body disposed above the lower limb, and is movable by movement of the lower limb,
A power supply means capable of supplying a driving power for driving at least a part of the robot and having a weight that affects the position of the center of gravity of the entire robot;
Power supply attachment means for detachably attaching the power supply means to the upper body;
It is a robot characterized by comprising.
[0036]
In the robot according to the second aspect of the present invention, the power supply means is composed of, for example, one or more nickel-based battery cells. The nickel-based battery refers to, for example, a nickel cadmium battery or a nickel metal hydride battery. Although this type of nickel-based battery has a low weight energy density (that is, has a relatively large weight), it has an output characteristic capable of supplying an inrush current and is suitable for driving an actuator.
[0037]
Further, the power supply attaching means attaches the power supply means, that is, the battery pack so as to be displaceable on at least one of a yaw axis and a roll axis of the robot. The yaw axis here is the Z axis, and the robot can be regarded as an inverted pendulum by moving the installation position of the battery pack as a heavy object upward. The inverted pendulum can recover its posture by strongly accelerating the support point in the fall direction. In the walking system, this corresponds to accelerating the target ZMP strongly in the direction of falling.
[0038]
In addition, a third aspect of the present invention is a robot that includes at least a lower limb and an upper body disposed above the lower limb, and is movable by the movement of the lower limb,
The robot is characterized in that the center of gravity of the entire robot is moved upward by attaching a driving battery for driving at least a part of the robot to the upper body.
[0039]
The fourth aspect of the present invention is a center-of-gravity position control method for a robot that is composed of at least a lower limb and an upper body disposed above the lower limb and is movable by movement of the lower limb,
(A) setting at least one gravity center position in the Z-axis or X-axis direction of the robot;
(B) setting a target whole body motion pattern of the robot;
(C) calculating a whole body motion pattern of the robot based on the target whole body motion pattern;
(D) when an error between the calculated whole body motion pattern and the target whole body motion pattern is within an allowable range, determining the set center of gravity position as an optimum center of gravity position;
A method of controlling the center of gravity of the robot.
[0040]
In the robot center-of-gravity position control method according to the fourth aspect of the present invention, when the calculated whole-body motion pattern is out of an allowable range with respect to the target whole-body motion pattern, the center-of-gravity position of the robot is reset. It may further include the step of setting and recalculating the whole body movement pattern.
[0041]
Further, the robot has a heavy object that affects the position of the center of gravity of the entire robot attached to the upper body so as to be freely displaceable.
You may make it determine the attachment position of this heavy article so that the optimal gravity center position determined by the said step (d) may be formed.
[0042]
In addition, the robot is
A power supply means capable of supplying a driving power for driving at least a part of the robot and having a weight that affects the position of the center of gravity of the entire robot;
Power supply attachment means for detachably attaching the power supply means to the upper body;
Comprising
The attachment position of the power supply means by the power supply attachment means may be determined so as to form the optimum center-of-gravity position determined in the step (d).
[0043]
[Action]
The humanoid robot is usually composed of a lower limb for performing legged movement and an upper body disposed above the lower limb. The upper body is further divided into a trunk that is connected to the lower limbs by a hip joint, an upper limb, and a head.
[0044]
As a driving power source for driving at least a part of the robot, a battery pack comprising a nickel-based battery cell capable of supplying an inrush current of the actuator is used. It accounts for about 10 to 20% of the total weight.
[0045]
By attaching such a battery pack to the upper body of the robot instead of the lower limbs, the center of gravity of the entire robot is moved upward, facilitating dynamic walking control regarded as an inverted pendulum. The posture can be recovered by accelerating the support point strongly. Further, by variably attaching the battery pack in the Z-axis direction, it becomes possible to set / reset the center of gravity position adapted to various movement patterns such as walking, running, and dancing.
[0046]
Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings.
[0047]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0048]
FIG. 1 and FIG. 2 show a state in which the humanoid or humanoid robot 100 used for carrying out the present invention is viewed from the front and the rear. Further, FIG. 3 schematically shows the joint degree-of-freedom configuration of the humanoid robot 100.
[0049]
As shown in FIG. 3, the humanoid robot 100 connects an upper body including two arms and a head 1, a lower limb including two legs that realize a moving operation, and an upper limb and a lower limb. Consists of the trunk.
[0050]
The neck joint that supports the head 1 has three degrees of freedom: a neck joint yaw axis 2, a neck joint pitch axis 3, and a neck joint roll axis 4.
[0051]
Each arm portion includes a shoulder joint pitch axis 8, a shoulder joint roll axis 9, an upper arm yaw axis 10, an elbow joint pitch axis 11, a forearm yaw axis 12, a wrist joint pitch axis 13, and a wrist joint roll. It comprises a shaft 14 and a hand portion 15. The hand portion 15 is actually a multi-joint / multi-degree-of-freedom structure including a plurality of fingers. However, since the movement of the hand portion 15 has little contribution or influence on the posture control or walking control of the robot 100, it is assumed in this specification that the degree of freedom is zero. Therefore, it is assumed that each arm portion has seven degrees of freedom.
[0052]
The trunk has three degrees of freedom: a trunk pitch axis 5, a trunk roll axis 6, and a trunk yaw axis 7.
[0053]
In addition, each leg portion constituting the lower limb includes a hip joint yaw axis 16, a hip joint pitch axis 17, a hip joint roll axis 18, a knee joint pitch axis 19, an ankle joint pitch axis 20, and a yawning joint roll axis 21. , And a foot (plantar) 22. Assume that the intersection point of the hip joint pitch axis 17 and the hip joint roll axis 18 defines the hip joint position of the robot 100 according to the present embodiment. The human foot (sole) 22 is actually a structure including a multi-joint / multi-degree-of-freedom sole, but the sole of the humanoid robot 100 according to the present embodiment has zero degrees of freedom. . Accordingly, each leg is configured with 6 degrees of freedom.
[0054]
In summary, the entire humanoid robot 100 according to the present embodiment has a total of 3 + 7 × 2 + 3 + 6 × 2 = 32 degrees of freedom. However, the humanoid robot 100 for entertainment is not necessarily limited to 32 degrees of freedom. It goes without saying that the degree of freedom, that is, the number of joints, can be increased or decreased as appropriate in accordance with design and manufacturing constraints and required specifications.
[0055]
Each degree of freedom of the humanoid robot 100 as described above is actually implemented using an actuator. It is preferable that the actuator be small and light in light of demands such as eliminating the appearance of extra bulges on the appearance and approximating the shape of a human body, and performing posture control on an unstable structure such as biped walking. . In 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 No. 11-33386, which has already been assigned to the present applicant.
[0056]
FIG. 4 schematically shows a control system configuration of the humanoid robot 100. As shown in the figure, the humanoid robot 100 performs adaptive control for realizing cooperative operation between each mechanism unit 30, 40, 50R / L, 60R / L and each mechanism unit representing human limbs. It is comprised with the control unit 80 to perform (however, each of R and L is a suffix which shows each of right and left, and so on).
[0057]
The entire operation of the humanoid robot 100 is controlled by the control unit 80 in an integrated manner. The control unit 80 exchanges data and commands between a main control unit 81 composed of 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. And a peripheral circuit 82 including an interface (not shown) for performing the above.
[0058]
In this embodiment, the power supply apparatus has a configuration (not shown in FIG. 4) including a battery for driving the robot 100 autonomously. If it is a self-supporting drive type, the physical action radius of the humanoid robot 100 can be freely walked without being restricted by the power cable. Further, during various exercises including walking and other upper limbs, it is not necessary to consider interference with the power cable, and operation control is facilitated.
[0059]
In this embodiment, the battery is connected to each actuator A. 2 , A Three It is composed of nickel cadmium battery cells that can supply the inrush current. For this reason, the power supply apparatus occupies about 10 to 20% of the weight of the entire robot 100.
[0060]
It is worthy to note that the position of the center of gravity of the robot 100 is set to the upper body by arranging the power supply device, which is a heavy object, above the upper body of the robot 100, that is, above the hip joint. This is because the structure called the robot 100 can be regarded as a so-called inverted pendulum and controlled during an operation such as dynamic walking. The inverted pendulum can recover its posture by strongly accelerating the support point in the fall direction. In the walking system, this corresponds to accelerating the target ZMP strongly in the direction of falling. When performing inverted pendulum control, the higher the center of gravity position of the robot, the longer the time from losing the balance of the center of gravity to falling over, that is, the period of the inverted pendulum, which is advantageous for stabilizing the walking control.
[0061]
Each degree of freedom of joint in the 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 joint yaw axis 2, the neck joint pitch axis 3, and the neck joint roll axis 4. 2 , Neck joint pitch axis actuator A Three , Neck joint roll axis actuator A Four Is arranged.
[0062]
The trunk unit 40 includes a trunk pitch axis actuator A that represents the trunk pitch axis 5, the trunk roll axis 6, and the trunk yaw axis 7. Five , Trunk roll axis actuator A 6 , Trunk yaw axis actuator A 7 Is deployed.
[0063]
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 the shoulder joint pitch axis 8, the shoulder joint roll axis 9, and the upper arm Shoulder joint pitch axis actuator A representing the yaw axis 10, the elbow joint pitch axis 11, the elbow joint roll axis 12, the wrist joint pitch axis 13, and the wrist joint roll axis 14. 8 , Shoulder joint roll axis actuator A 9 , Upper arm yaw axis actuator A Ten , Elbow joint pitch axis actuator A 11 , Elbow joint roll axis actuator A 12 , Wrist joint pitch axis actuator A 13 Wrist joint roll axis actuator A 14 Is deployed.
[0064]
The leg unit 60R / L is subdivided into a thigh unit 61R / L, a knee unit 62R / L, and a shin unit 63R / L, but the hip joint yaw axis 16, the hip joint pitch axis 17, the hip joint Hip joint yaw axis actuator A representing each of roll axis 18, knee joint pitch axis 19, ankle joint pitch axis 20, and ankle joint roll axis 21 16 Hip joint pitch axis actuator A 17 , Hip joint roll axis actuator A 18 , Knee joint pitch axis actuator A 19 , Ankle joint pitch axis actuator A 20 , Ankle joint roll axis actuator A twenty one Is deployed.
[0065]
Each actuator A 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.
[0066]
For each mechanism unit such as the head unit 30, trunk unit 40, arm unit 50, and leg unit 60, sub-control units 35, 45, 55, and 65 for actuator drive control are provided. Furthermore, grounding confirmation sensors 91 and 92 for detecting whether or not the soles of the leg portions 60R and 60L have landed are mounted, and a posture sensor 93 for measuring posture is provided in the trunk unit 40. ing. The control targets can be dynamically corrected by detecting the landing and leaving periods of the sole 22, the inclination of the trunk portion, and the like based on the outputs of the sensors 91 to 93.
[0067]
The main control unit 80 performs adaptive control on the sub-control units 35, 45, 55, and 65 in response to outputs from the sensors 91 to 93, and controls the upper limbs, trunk, and lower limbs of the humanoid robot 100. Realize coordinated operation. The main control unit 81 sets a foot movement, a ZMP (Zero Moment Point) trajectory, a trunk movement, an upper limb movement, a waist height, and the like according to a user command and the like, and instructs an operation in accordance with these setting contents. The command to be transferred is transferred to each sub-control unit 35, 45, 55, 65.
[0068]
And each sub-control part 35, 45 ... interprets the received command from the main control part 81, and each actuator A 2 , A Three A drive control signal is output to. Here, “ZMP” refers to a point on the floor where the moment due to floor reaction force during walking is zero, and “ZMP trajectory” refers to, for example, during the walking motion of the robot 100. It means the trajectory that ZMP moves.
[0069]
Next, a battery position adjusting mechanism in the above-described humanoid robot 100 will be described. FIG. 5 illustrates a first example of the battery position adjustment mechanism.
[0070]
The illustrated battery position adjustment mechanism 200 is attached to the upper body part of the robot 100 and is preferably housed in the trunk unit 40.
[0071]
The battery pack 210 includes, for example, several to several tens of nickel / cadmium battery cells, and has a weight of about several kilograms. The battery pack 210 is fixed on the battery pack mounting plate 215.
[0072]
Slots 221a and 221b and slots 221c and 221d are formed at substantially the left and right ends of the battery pack mounting plate 215, respectively. As shown in FIG. 5, the L-shaped plates 203 </ b> A and 203 </ b> B can be fixed to the left and right ends of the battery pack mounting plate 215 by inserting screws into the respective long holes 221 a. At this time, each of the long holes 221a extends in the X axis, that is, in the roll axis direction of the robot 100. It is possible to adjust within the range.
[0073]
On the other hand, the pair of support plates 201A and 201B are connected to each other at a predetermined interval via the pair of connection plates 205A and 205B. Although not shown in FIG. 5, it is understood that the support plates 201 </ b> A and 201 </ b> B are integrally attached to the trunk unit 40 of the robot 100 (or form a part of the trunk unit 40).
[0074]
Four long holes 225a to 225d are formed in each of the support plates 201A and 201B, and the L-shaped plates 203A and 203B can be fixed by inserting screws through the long holes. At this time, each of the long holes 225a extends in the Z axis, that is, the yaw axis direction of the robot 100. It can be adjusted within the range of dimensions.
[0075]
In summary, the mounting position of the battery pack 210 on the support plates 201A and 201B, that is, the trunk unit 40, can be adjusted in each direction of the X axis and the Z axis. It should be understood that since the battery pack 210 occupies several percent to several tens of percent of the total weight of the robot 100, the position of the center of gravity of the robot 100 can be set by adjusting the mounting position.
[0076]
FIG. 6 illustrates a second example of the battery position adjustment mechanism. Hereinafter, a description will be given with reference to FIG. However, it should be understood that the illustrated battery position adjusting mechanism 300 is attached to the upper body portion of the robot 100 and is preferably housed in the trunk unit 40 (same as above).
[0077]
The battery pack 310 includes, for example, several to several tens of nickel cadmium battery cells and has a weight of about several kilograms. The battery pack 210 is fixed on the battery pack mounting plate 315.
[0078]
As illustrated, the battery pack mounting position 315 is restricted from moving in the Z-axis direction by the four guide rails 321a to 321b. The guide rails 321a to 321b are attached to a pair of opposing support plates 341 and 342. It should be understood that the support plates 341 and 342 are integrally attached to the trunk unit 40 of the robot 100 (or form part of the trunk unit 40).
[0079]
The battery pack mounting position 315 includes a bearing 332 through which a ball screw 331 is inserted. Therefore, by rotating the ball screw 331 by the drive motor 333, the position of the battery pack support plate 315, that is, the battery pack 310 in the Z-axis direction can be moved. The drive control of the drive motor 333 is performed in the main control unit 80, for example.
[0080]
Since the battery pack 310 occupies several percent to several tens of percent of the total weight of the robot 100 (same as above), the center of gravity position of the robot 100 is dynamically set by adjusting the mounting position using the drive motor 333.・ Please understand that it can be reset.
[0081]
According to the battery position adjusting mechanism as shown in FIG. 5 or FIG. 6, the position of the center of gravity of the humanoid robot 100 having the center of gravity of the upper body can be further adaptively controlled. However, the optimum center-of-gravity position is determined according to the whole body motion pattern (for example, “walking”, “running”, “jumping”, “dancing”, etc.) performed by the robot 100. Below, the determination method of a gravity center position (in other words, battery mounting position) is demonstrated.
[0082]
FIG. 7 shows a processing procedure for determining the gravity center position (battery mounting position) of the robot 100 in the form of a flowchart. Hereinafter, each step of this flowchart will be described.
[0083]
First, the center of gravity position of the robot 100 in the Z-axis (yaw axis) and X-axis (roll axis) directions is set (step S11), and the target whole body motion pattern of the robot 100 is set (step S12).
[0084]
As already described in the section of “PRIOR ART”, the robot 100 is composed of an actuator A having a large torque / weight ratio. 2 , A Three ... and a relatively lightweight structural member, most of the mass is concentrated on the actuator. However, each actuator corresponds to the degree of freedom of joint, and the installation location is almost fixed, so it cannot be used for adjusting the position of the center of gravity. Therefore, the setting of the center of gravity position in step S11 referred to here is substantially the same as setting the mounting position of the battery pack. As described above with reference to FIG. 5 or 6, the mounting position of the battery pack in the Z-axis and X-axis directions can be adjusted.
[0085]
The target whole body motion pattern is a motion pattern such as “walking”, “running”, “jumping”, “dancing”, and the like. For example, the robot 100 can be taught by a method such as teaching / playback or offline teaching. To the main control unit 80.
[0086]
Next, in step S13, the current mass distribution data of the robot 100 is calculated based on the mounting position of the battery pack set in the preceding step S11. The mass distribution data obtained in this step is used in the subsequent calculation processing in step S16 and the like. The mass distribution data can be calculated using a multi-mass point approximate model of the robot 100, which will be described in detail later.
[0087]
Next, in step S14, the motion performance required for each joint of the robot 100 for realizing the motion pattern is calculated. The exercise performance mentioned here includes the movable angle of the joint, the maximum torque, the maximum speed, and the like.
[0088]
However, actuator A used in each joint 2 , A Three In ..., allowable motion performance or rated motion performance is defined. If the required motion performance obtained in step S14 exceeds the allowable motion performance, the process goes to the branch No in decision block S15 and resets the center of gravity position of the robot 100 (that is, the battery pack mounting position). (Step S21), the same processing as described above is repeatedly executed.
[0089]
Next, in step S16, the whole body motion pattern of the robot 100 is calculated using the target whole body motion pattern input in the preceding step S12. The whole body motion pattern can be calculated using, for example, a multi-mass point approximation model of the robot 100, and details will be described later.
[0090]
Next, in a determination block S17, it is determined whether or not the calculated whole body motion pattern can be realized within the range of allowable motion performance of each joint, that is, an actuator. When deviating from the permissible motion performance, the process goes to the branch No of the determination block and resets the center of gravity position of the robot 100 (that is, the battery pack mounting position) (step S21), and then the same processing as above Repeatedly.
[0091]
Next, in step S18, an error E between the target whole body motion pattern and the calculated whole body motion pattern is calculated.
[0092]
Then, in a determination block S19, it is determined whether or not the error E is within an allowable range. If it deviates from the allowable range, the process goes to the branch No of the determination block and resets the center of gravity position of the robot 100 (that is, the battery pack mounting position) (step S21), and then performs the same processing as above. Run repeatedly.
[0093]
On the other hand, if the error E is within the allowable range, the set center-of-gravity position is output as the optimum center-of-gravity position of the robot 100 (step S21), and the entire processing routine is terminated.
[0094]
Based on the optimum center-of-gravity position of the robot 100 thus obtained, the optimum mounting position of the battery pack can be calculated backward. The position of the battery pack may be adjusted according to the result of the reverse calculation. Refer to FIG. 5 or FIG. 6 for the position adjusting mechanism.
[0095]
Next, the mass distribution data calculation process in step S13 of the flowchart shown in FIG. 7 will be described in detail.
[0096]
As already known in the field of dynamics and the like, the gravity center position R of the structure can be calculated by the following equation (wherein ρ (x, y, z) is a point (x, y) , Z).
[0097]
[Expression 1]
Figure 0004540156
[0098]
In order to obtain an exact solution, it is preferable to strictly model the robot 100 as a rigid system rather than a mass system, but it requires much calculation time. On the other hand, as a result of using an actuator having a large torque-weight ratio and a lightweight structural member, most of the mass of the robot 100 is concentrated on the actuator, that is, the joint portion. Therefore, even if the robot 100 is handled as a multi-mass point approximation model, there is almost no hindrance (details of the multi-mass point approximation model will be described later).
[0099]
FIG. 8 shows the details of the mass distribution data calculation processing procedure when the multi-mass point approximate model is used in the form of a flowchart. It should be understood that the entire flowchart constitutes step S13 described above. Hereinafter, each step of this flowchart will be described.
[0100]
First, in step S31, all axis angle information, all joint arrangement information, and all mass point arrangement information of the robot 100 are input. The angle information and the arrangement information are static and fixed data determined by the design specifications of the robot 100, and can be supplied from, for example, a CAD database created when the robot 100 is designed.
[0101]
Next, in step S32, all joint position information and all mass point position information when the midpoint of the left and right hip joints of the robot 100 is set as the origin are calculated.
[0102]
Next, in step S33, the distance from the origin to the left and right sole planes is calculated, and in decision block S34, it is determined which of the left and right sole planes is away from the origin. In the present embodiment, it is assumed that the sole away from the origin is the currently landing foot.
[0103]
When the right sole plane is far away, the coordinates of the whole mass point position are transformed so that the right sole plane becomes the XY plane (step S35R). On the other hand, when the left sole plane is far away. Converts the coordinates of all mass point positions so that the left plantar plane becomes the XY plane (step S35L).
[0104]
After coordinate conversion in this way, the center of gravity position of the robot 100 can be calculated from the mass and position at all mass points (step S36).
[0105]
An example of the position of the center of gravity calculated in FIG. 8 is shown in FIG. In the example shown in the figure, the center of gravity of the robot 100 is set above the waist, that is, the lower limbs, so that stable posture control during dynamic walking can be suitably performed with the robot 100 regarded as an inverted pendulum. The inverted pendulum can recover its posture by strongly accelerating the support point in the fall direction. In the walking system, this corresponds to accelerating the target ZMP strongly in the direction of falling. When performing inverted pendulum control, the higher the center of gravity position of the robot, the longer the time from losing the balance of the center of gravity to falling over, that is, the period of the inverted pendulum, which is advantageous for stabilizing the walking control.
[0106]
Next, the calculation process of the whole body motion pattern of the robot 100 in step S16 of the flowchart shown in FIG. 7 will be described in detail. The robot 100 is connected to each joint or actuator A according to a predetermined whole body motion pattern before normal operation. 2 , A Three By controlling the drive, a predetermined operation is realized.
[0107]
The robot 100 itself is an infinite or continuous collection of mass points. However, in this embodiment, the calculation amount for calculating the whole body motion pattern is reduced by replacing the robot 100 with an approximate model composed of a finite number of discrete mass points. Since the robot 100 uses an actuator with a large torque to weight ratio and a light-weight structural member, most of its mass is concentrated on the actuator, that is, the joint, so that it can be handled as a multi-mass point approximation model with little trouble.
[0108]
FIG. 10 illustrates a non-interfering multi-mass point approximation model of the robot 100 introduced for calculating the whole body motion pattern.
[0109]
In FIG. 10, 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
[0110]
In the inexact non-interfering mass point approximation model shown in FIG. 10, it should be fully understood that the moment formula is described in the form of a linear equation, and the moment formula does not interfere with the pitch axis and the roll axis.
[0111]
Such a multi-mass point approximation model can be generated by the following processing procedure.
[0112]
(1) The mass distribution of the entire robot 100 is obtained.
(2) The robot 100 is divided into a plurality of areas. The area is for setting the mass point. The region dividing method may be either manual input by the designer or automatic generation according to a predetermined rule.
(3) For each region i, the center of gravity is obtained, and the position of the center of gravity and mass 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) Mass points that are actually connected, that is, spheres are connected by a wire.
[0113]
The multi-mass point approximation model is a representation of a robot in the form of a wire frame model. In the present embodiment, as can be seen from FIG. 10, this multi-mass point approximation model is set with each of shoulders, elbows, wrists, trunk, waist, and both ankles as mass points. .
[0114]
Note that each rotation angle (θ in the waist information of the multi-mass model shown in FIG. hx , Θ hy , Θ hz ) Regulates the posture of the waist in the humanoid robot 100, that is, the rotation of the roll, pitch, and yaw axes (FIG. 11 shows an enlarged view around the waist of the multi-mass model, so please confirm it) ).
[0115]
FIG. 12 shows a processing procedure for calculating the whole body motion pattern of the robot 100 in the form of a flowchart. However, in the following, each joint position and operation of the robot 100 will be described using a linear / non-interference multi-mass point approximation model as shown in FIG. 10, and the following parameters will be used in the calculation. . However, it should be understood that symbols with a dash (') describe a motion coordinate system.
[0116]
[Expression 2]
Figure 0004540156
[0117]
Further, the waist height of the robot 100 is constant (r ′ hz + R qz = Const) and the knee mass point is assumed to be zero.
[0118]
In the case of the robot 100 according to the present embodiment, a lumbar motion pattern that enables stable walking is generated based on an arbitrary foot motion pattern, ZMP trajectory, trunk motion pattern, upper limb motion pattern, and the like. . The ZMP (Zero Moment Point) trajectory here refers to a point where no moment is generated during walking motion when the sole (or sole) of the walking robot is fixed to the floor at a certain point, that is, the trajectory of ZMP Say (above).
[0119]
In the case of a biped robot (see FIG. 3) with one foot having six degrees of freedom as in this embodiment, the posture of both legs depends on the position of each foot 22R / L and the horizontal position and height of the waist. Determined uniquely. Therefore, generating the lumbar movement pattern is nothing but determining the leg posture, that is, the “gait” of the lower limb (“gait” means “time-series change of joint angle” in the art). Technical term).
[0120]
First, in step S41, based on the target whole body motion pattern set in step S12, a foot (more specifically, plantar) motion, a ZMP trajectory derived from the foot motion, a trunk motion, an upper limb motion, Patterns for actually determining the driving and operation of each part such as the posture and height of the waist are set. 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.
[0121]
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 S42).
[0122]
Next, the motion in the lumbar horizontal plane (r ′ hx , R ' hy ) To calculate the moment on the set ZMP (step S43).
[0123]
Next, a balance equation relating to the moment on the set ZMP is derived on the motion coordinate system O′-X′Y′Z ′ that moves with the robot (step S44). More specifically, the moment generated by the foot, trunk, and upper limb movements (M x , M y ) On the right side 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.
[0124]
[Equation 3]
Figure 0004540156
[0125]
However, the following shall hold.
[0126]
[Expression 4]
Figure 0004540156
[0127]
Next, the above-mentioned ZMP equation (1) is solved to calculate the waist horizontal plane trajectory (step S45). 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 ) Can be obtained (step S46). The numerical solution obtained here is an approximate solution of a waist motion pattern that enables stable walking, and more specifically, a waist horizontal absolute position where ZMP enters the target position. The ZMP target position is normally set at the planted sole (for example, during a quiet walk).
[0128]
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 S47). At this time, the knee trajectory may be calculated.
[0129]
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 S48). In the inexact model, it is assumed that the above [Equation 4] holds, but in the strict case, such an assumption is not required (that is, it is not necessary to be constant with respect to the change in time).
[0130]
Moment in exact model (eM x , EM y ) Is a moment error generated by the waist motion. In the subsequent step S49, this moment (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 ε, the whole body exercise pattern capable of realizing the exact solution of the waist stable exercise pattern and the stable walking can be obtained (step S50), and the entire processing routine is terminated.
[0131]
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 S51). Then, the ZMP equation is derived again, and the calculation and correction of the approximate solution of the waist motion pattern are repeatedly executed until the ZMP equation converges below the allowable value ε.
[0132]
FIG. 13 is a flowchart showing another example of a processing procedure for calculating a whole body motion pattern based on the target motion pattern in the robot 100 according to the present embodiment. However, as described above, the joint positions and operations of the robot 100 are described using a linear / non-interference multi-mass point approximation model (same as above). Hereinafter, each step of this flowchart will be described.
[0133]
First, in step S61, based on the target whole body motion pattern set in step S12, a foot (more specifically, plantar) motion, a ZMP trajectory derived from the foot motion, a trunk motion, an upper limb motion, Patterns for actually determining the driving and operation of each part such as the posture and height of the waist are set. 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.
[0134]
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 S62).
[0135]
Next, exercise in the lumbar horizontal plane (r ′ hx , R ' hy ) Is expanded into a Fourier series (step S63). 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 by performing Fourier expansion, the calculation speed can be greatly improved.
[0136]
Next, each moment (M x , M y ) Is also expanded by Fourier series (step S64).
[0137]
Next, the Fourier coefficient of the orbit in the lumbar horizontal plane is calculated, and further developed by inverse Fourier series (step S65), an approximate solution of the lumbar motion is obtained (step S66). The approximate solution obtained here is an approximate solution of the horizontal absolute position of the waist (r hx , R hy More specifically, it is the waist horizontal absolute position where ZMP enters the target position. The ZMP target position is normally set at the planted sole (for example, during a quiet walk).
[0138]
When the trunk / upper limb movement set in advance cannot be realized by the calculated approximate solution, the trunk / upper limb movement pattern is reset / corrected (step S67). At this time, the knee trajectory may be calculated.
[0139]
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 S68). In the inexact model, it is assumed that the above [Equation 4] holds, but in the inexact model, such an assumption is not required (that is, it is not necessary to be constant with respect to a change in time).
[0140]
Moment in exact model (eM x , EM y ) Is a moment error generated by the waist motion. In the subsequent step S69, 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 ε, the whole body motion pattern that can realize the exact solution and stable walking of the waist stable motion pattern has been obtained (step S70), and the entire processing routine is terminated.
[0141]
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 ) Is corrected (step S71), the Fourier series expansion is performed again, and the calculation and correction of the approximate solution of the lumbar motion pattern are repeated until convergence to below the allowable value ε.
[0142]
FIG. 16 shows another example of the processing procedure for determining the center of gravity position (battery mounting position) of the robot 100 in the form of a flowchart. Hereinafter, each step of this flowchart will be described.
[0143]
First, in step S81, the possible range of the center of gravity position in the Z-axis direction of the robot 100 is calculated.
[0144]
As described above, the movable range of the gravity center position of the robot 100 is determined by the mounting position of the battery pack. For example, in the example shown in FIG. 5, the existence range in the Z-axis direction is determined by the major axis dimensions of the elongated holes 225a to 225d. In the example shown in FIG. 6, the existence range of the center of gravity position in the Z-axis direction is determined according to the stroke range of the ball screw 331.
[0145]
Next, in step S82, the maximum walking speed and the minimum number of basic patterns of the robot 100 are calculated for each of the possible center-of-gravity positions in the Z-axis direction obtained in the preceding step S81.
[0146]
Next, in step S83, an evaluation value at each center of gravity in the Z-axis direction is calculated based on an evaluation function composed of the maximum walking speed and the minimum number of basic patterns.
[0147]
Next, in step S84, the Z-axis direction center of gravity position with the lowest evaluation value is selected, and this is output as the optimum Z-axis direction center of gravity position of the robot 100 (step S85).
[0148]
Based on the optimum center-of-gravity position of the robot 100 thus obtained, the optimum mounting position of the battery pack can be calculated backward. The position of the battery pack may be adjusted according to the result of the reverse calculation. Refer to FIG. 5 or FIG. 6 for the position adjusting mechanism.
[0149]
[Supplement]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and 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.
[0150]
In determining the gist of the present invention, it is not appropriate to strictly apply FIG. 3 for the names of joints and the like for the biped robot 100, and biped upright walking such as humans and monkeys in reality. It should be interpreted flexibly by contrast with the animal's physical mechanism.
[0151]
For reference, the joint model configuration of a humanoid robot is illustrated in FIG. In the example shown in the figure, a portion including the shoulder joint 5 to the upper arm, the elbow joint 6, the forearm, the wrist 7 and the hand portion 8 is referred to as an “upper limb”. The range from the shoulder joint 5 to the hip joint 11 is called a “trunk” and corresponds to the human torso. In addition, a range from the hip joint 11 to the trunk joint 10 among the trunk is referred to as a “lumbar region”. The trunk joint 10 has an effect of expressing the degree of freedom of the human spine. Further, a portion including the thigh 12, the knee joint 14, the crus 13, the ankle 15, and the foot 16 below the hip joint 11 is referred to as “lower limb”. Generally, the upper part of the hip joint is called the “upper body” and the lower part is called the “lower body”.
[0152]
FIG. 15 illustrates another joint model configuration of a humanoid robot. The example shown in the figure is different from the example shown in FIG. 14 in that the trunk joint 10 is not provided. Refer to the figure for the names of each part. As a result of the omission of the trunk joint corresponding to the spine, the upper body movement of the humanoid robot loses its expressive power. However, in the case of a humanoid robot for industrial purposes such as dangerous work or substitution of work, there is a case where movement of the upper body is not required. It should be understood that the reference numerals used in FIGS. 14 and 15 do not match those in the other drawings.
[0153]
【The invention's effect】
As described above in detail, according to the present invention, it is possible to provide an excellent legged mobile robot having a structure simulating an upright walking type body mechanism or operation such as a human or a monkey.
[0154]
In addition, according to the present invention, legged movement is performed by biped upright walking, and a so-called upper body such as the trunk, upper limbs, and head is mounted on the lower limbs, so that walking movement, other trunks and upper limbs are mounted. It is possible to provide an excellent upright walking / legged mobile robot capable of setting a suitable center-of-gravity position during whole body coordinated motion including the above.
[Brief description of the drawings]
FIG. 1 is a view showing a state in which a humanoid 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 humanoid robot 100 used for carrying out the present invention is viewed from behind.
FIG. 3 is a diagram schematically illustrating a degree-of-freedom configuration model included in the humanoid robot 100 according to the present embodiment.
FIG. 4 is a diagram schematically showing a control system configuration of the humanoid robot 100 according to the present embodiment.
FIG. 5 is a diagram showing a first example related to a battery position adjusting mechanism;
FIG. 6 is a diagram showing a second example regarding a battery position adjustment mechanism;
FIG. 7 is a flowchart showing a processing procedure for determining the position of the center of gravity (battery mounting position) of the robot.
FIG. 8 is a flowchart showing a calculation processing procedure of mass distribution data when a multi-mass point approximation model is used.
9 is a diagram illustrating the center of gravity position of the robot 100 calculated according to the flowchart shown in FIG.
FIG. 10 is a diagram showing a non-interfering multi-mass point approximation model of the robot 100 introduced for calculating the whole body motion pattern.
11 is an enlarged view around the waist in the multi-mass point approximate model of the robot 100 shown in FIG.
12 is a flowchart showing a processing procedure for calculating a whole body motion pattern of the robot 100. FIG.
13 is a flowchart showing another example of a processing procedure for calculating a whole body motion pattern of the robot 100. FIG.
FIG. 14 is a diagram schematically illustrating an example of a joint model configuration for a humanoid robot.
FIG. 15 is a diagram schematically illustrating another example of a joint model configuration for a humanoid robot.
FIG. 16 is a flowchart showing another example of a processing procedure for determining the gravity center position (battery mounting position) of the robot.
[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 ... humanoid robot

Claims (5)

少なくとも上肢と、下肢と、足部と、体幹部及び腰部で構成され、下肢の運動により移動自在なロボットのための重心位置制御方法であって、A center of gravity position control method for a robot that is composed of at least an upper limb, a lower limb, a foot, a trunk and a waist, and is movable by movement of the lower limb,
(a)前記ロボットのZ軸又はX軸方向のうち少なくとも一方の前記ロボットの動作軌道における重心位置を設定するステップと、(A) setting the position of the center of gravity in the movement trajectory of at least one of the robots in the Z-axis or X-axis direction of the robot;
(b)前記ロボットの目標全身運動パターンを設定するステップと、(B) setting a target whole body motion pattern of the robot;
(c)前記目標全身運動パターンを基に、安定化処理した前記ロボットの全身運動パターンを算出するステップと、(C) calculating a stabilization whole body motion pattern of the robot based on the target whole body motion pattern;
(d)該算出された全身運動パターンが前記目標全身運動パターンとの軌道上の誤差が許容範囲内である場合には、該設定された重心位置を前記目標全身運動パターンにおける最適な重心位置として決定するステップと、(D) When the calculated whole-body motion pattern has an error in an orbit with respect to the target whole-body motion pattern within an allowable range, the set center-of-gravity position is set as the optimum center-of-gravity position in the target whole-body motion pattern A step to determine;
を有し、Have
前記ステップ(c)は、The step (c)
(c−1)前記の設定した重心位置に基づいて、前記ロボットを有限数の離散的な質点からなる多質点近似モデルに置き換えるステップと、(C-1) replacing the robot with a multi-mass point approximation model composed of a finite number of discrete mass points based on the set barycentric position;
(c−2)前記ステップ(b)で設定された目標全身運動パターンを実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定するステップと、(C-2) a step of setting a foot movement, trunk movement, upper limb movement, waist posture and height for realizing the target whole body movement pattern set in step (b);
(c−3)前記ステップ(c−2)で設定された足部運動に基づいてZMPの軌道を設定するステップと、(C-3) setting a ZMP trajectory based on the foot movement set in step (c-2);
(c−4)前記ステップ(c−2)で設定された足部運動、体幹運動、上肢運動により前記ZMP上で発生するモーメントを、前記多質点近似モデルを用いて算出するステップと、(C-4) calculating a moment generated on the ZMP by the foot movement, trunk movement, and upper limb movement set in the step (c-2) using the multi-mass approximation model;
(c−5)腰部運動により前記ZMP上で発生するモーメントを、前記多質点近似モデルを用いて算出するステップと、(C-5) calculating a moment generated on the ZMP by a waist motion using the multi-mass approximate model;
(c−6)前記ステップ(c−4)及び(c−5)で算出された前記ZMP上におけるモーメントが釣り合う腰部運動の解を求めるステップと、(C-6) obtaining a solution of a waist motion in which moments on the ZMP calculated in the steps (c-4) and (c-5) are balanced;
を有し、前記ステップ(c−2)で設定した足部運動、体幹運動、上肢運動と、前記腰部運動の解からなる前記ロボットの全身運動パターンを生成する、And generating a whole body motion pattern of the robot consisting of a solution of the foot motion, trunk motion, upper limb motion set in step (c-2) and the lumbar motion,
ことを特徴とするロボットの重心位置制御方法。A method for controlling the position of the center of gravity of a robot.
該算出された全身運動パターンが前記目標全身運動パターンとの誤差が許容範囲外である場合には、前記ロボットの動作軌道における重心位置を再設定して全身運動パターンを再算出するステップをさらに有する、When the calculated whole body motion pattern has an error from the target whole body motion pattern outside the allowable range, the method further comprises the step of resetting the center of gravity position in the motion trajectory of the robot and recalculating the whole body motion pattern. ,
ことを特徴とする請求項1に記載のロボットの重心位置制御方法。The method for controlling the position of the center of gravity of a robot according to claim 1.
前記ロボットは前記ロボット全体の重心位置に影響を及ぼす重量物を前記上体に変位自在に取り付けており、The robot has a heavy object that affects the position of the center of gravity of the entire robot attached to the upper body so as to be freely displaceable.
前記ステップ(d)により決定された最適重心位置を形成するように該重量物の取付位置を決定する、Determining the attachment position of the heavy load so as to form the optimum center-of-gravity position determined in step (d);
ことを特徴とする請求項1に記載のロボットの重心位置制御方法。The method for controlling the position of the center of gravity of a robot according to claim 1.
前記ロボットは、The robot is
前記ロボットの少なくとも一部を駆動するための駆動電源を供給可能であるとともに、前記ロボット全体の重心位置に影響を及ぼす重量を有する電源手段と、A power supply means capable of supplying a driving power for driving at least a part of the robot and having a weight that affects the position of the center of gravity of the entire robot;
前記電源手段を前記上体に変位自在に取り付ける電源取付手段と、Power supply attachment means for detachably attaching the power supply means to the upper body;
を具備し、Comprising
前記ステップ(d)により決定された最適重心位置を形成するように前記電源取付手段による前記電源手段の取付位置を決定する、Determining the mounting position of the power supply means by the power supply mounting means so as to form the optimum center-of-gravity position determined in step (d);
ことを特徴とする請求項1に記載のロボットの重心位置制御方法。The method for controlling the position of the center of gravity of a robot according to claim 1.
前記電源取付手段は、前記電源手段をロボットのヨー軸又はロール軸のうち少なくとも一方に変位可能に取り付ける、The power supply means is detachably attached to the power supply means on at least one of a yaw axis or a roll axis of the robot.
ことを特徴とする請求項4に記載のロボットの重心位置制御方法。The method for controlling the center of gravity position of a robot according to claim 4.
JP31181399A 1999-11-02 1999-11-02 Robot center of gravity control method Expired - Lifetime JP4540156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31181399A JP4540156B2 (en) 1999-11-02 1999-11-02 Robot center of gravity control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31181399A JP4540156B2 (en) 1999-11-02 1999-11-02 Robot center of gravity control method

Publications (2)

Publication Number Publication Date
JP2001129775A JP2001129775A (en) 2001-05-15
JP4540156B2 true JP4540156B2 (en) 2010-09-08

Family

ID=18021733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31181399A Expired - Lifetime JP4540156B2 (en) 1999-11-02 1999-11-02 Robot center of gravity control method

Country Status (1)

Country Link
JP (1) JP4540156B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU8807701A (en) * 2000-09-29 2002-04-15 Honda Motor Co Ltd Bipedal robot
JP3646169B2 (en) * 2002-05-07 2005-05-11 独立行政法人産業技術総合研究所 Walking controller for legged robot
TR200300265A2 (en) * 2003-03-04 2003-06-23 Necati̇@Hacikadi̇roğlu Balancing system for two or multi-legged robots.
JP2008296368A (en) * 2008-09-01 2008-12-11 Sony Corp Leg type moving robot
CN103659818A (en) * 2013-12-03 2014-03-26 西北农林科技大学 10-DOF floor exercise robot
CN105215996B (en) * 2015-11-11 2017-03-08 北京格物明理教育咨询有限公司 Ten degrees of freedom robot
RU2737498C2 (en) * 2019-02-07 2020-12-01 Акционерное общество "Волжский электромеханический завод" Method of providing stability of exoskeleton with user
JP7353104B2 (en) * 2019-09-02 2023-09-29 川崎重工業株式会社 Storage battery unit and humanoid robot
CN118700183B (en) * 2024-08-30 2024-12-17 上海傅利叶智能科技有限公司 Hip joint assembly, waist crotch mechanism and humanoid robot

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62213980A (en) * 1986-03-13 1987-09-19 セイコーエプソン株式会社 Structure of multi-joint type robot
JP2592340B2 (en) * 1989-12-14 1997-03-19 本田技研工業株式会社 Joint structure of a legged walking robot
JPH03260263A (en) * 1989-12-14 1991-11-20 Tokimec Inc Walking type work robot
JPH03208581A (en) * 1990-01-10 1991-09-11 Kobe Steel Ltd Robot arm
JP3429048B2 (en) * 1993-12-30 2003-07-22 本田技研工業株式会社 Walking control device for legged mobile robot

Also Published As

Publication number Publication date
JP2001129775A (en) 2001-05-15

Similar Documents

Publication Publication Date Title
JP3443077B2 (en) Robot motion pattern generation device and motion pattern generation method, and robot
JP3615702B2 (en) Motion control device and motion control method for legged mobile robot, and legged mobile robot
KR101004820B1 (en) Mobile device, control method of mobile device, robot device, motion control method of robot device
JP4480843B2 (en) Legged mobile robot, control method therefor, and relative movement measurement sensor for legged mobile robot
KR100977348B1 (en) Motion control device and motion control method for legged mobile robot and robot device
US6898485B2 (en) Device and method for controlling operation of legged robot, and robot device
KR100824179B1 (en) Motion control device and motion control method of walking mobile robot, and method of generating motion unit for walking mobile robot
US20040162636A1 (en) Legged mobile robot and method of controlling operation of the same
JP4540156B2 (en) Robot center of gravity control method
JP2001138271A (en) Leg type mobile robot and at-overturn motion control method for robot
JP4475708B2 (en) Legged mobile robot and its motion control method
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
JP3522742B1 (en) Robot device, motion control device and motion control method for legged mobile robot, sensor system for legged mobile robot, and mobile device
JP4770990B2 (en) Legged mobile robot and control method thereof
JP4518615B2 (en) Motion control system and motion control method for legged mobile robot
JP3568527B2 (en) Mobile device
JP3555947B2 (en) Mobile robot device, mobile robot device control method, mobile robot device motion pattern generation method, and mobile robot device motion control program
JP4707290B2 (en) Motion control device and motion control method for legged mobile robot
JP4481132B2 (en) Robot apparatus and control method thereof
JP2004025434A (en) Motion control device and method for leg-type moving robot, and robot device
JP2004106184A (en) Mobile robot device and control method used for device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100622

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100622

R150 Certificate of patent or registration of utility model

Ref document number: 4540156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

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