JP2011255500A - 脚式移動ロボットの制御装置 - Google Patents
脚式移動ロボットの制御装置 Download PDFInfo
- Publication number
- JP2011255500A JP2011255500A JP2011168456A JP2011168456A JP2011255500A JP 2011255500 A JP2011255500 A JP 2011255500A JP 2011168456 A JP2011168456 A JP 2011168456A JP 2011168456 A JP2011168456 A JP 2011168456A JP 2011255500 A JP2011255500 A JP 2011255500A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- contact
- force
- environment
- moment
- 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.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】ロボットが環境から受ける6次元の力・モーメントを考慮して脚式移動ロボットの環境との接触状態の遷移を判定し、動作の生成を行う。
【解決手段】ロボットに搭載されたセンサからの信号により環境を計測し、計測された情報を元に環境形状を数値化する手段、ロボットの動作を生成する目標となる6次元の力・モーメントを計算する手段、ロボットの重心の加速度と重心まわりの角運動量の時間微分に基づいて、ロボットに作用する6次元の力・モーメントを算出する手段を設ける。そして、与えられたロボットの動作に対応して、ロボットが環境の接触により環境から受ける6次元の力・モーメントを、複数の接触点におけるそれぞれの法線ベクトルを用いて、力・モーメント空間における接触力凸多面錐として算出し、ロボットに作用する6次元の力・モーメントが、接触力凸多面錐の内部に含まれるかどうかにより、接触状態の遷移を判定する。
【選択図】図2
【解決手段】ロボットに搭載されたセンサからの信号により環境を計測し、計測された情報を元に環境形状を数値化する手段、ロボットの動作を生成する目標となる6次元の力・モーメントを計算する手段、ロボットの重心の加速度と重心まわりの角運動量の時間微分に基づいて、ロボットに作用する6次元の力・モーメントを算出する手段を設ける。そして、与えられたロボットの動作に対応して、ロボットが環境の接触により環境から受ける6次元の力・モーメントを、複数の接触点におけるそれぞれの法線ベクトルを用いて、力・モーメント空間における接触力凸多面錐として算出し、ロボットに作用する6次元の力・モーメントが、接触力凸多面錐の内部に含まれるかどうかにより、接触状態の遷移を判定する。
【選択図】図2
Description
本発明は、サービスロボットとして家庭やオフィスで活動したり、作業現場で人の代わりに働く脚式移動型ロボットの動作を生成すると共に、動作を制御する脚式移動ロボットの制御装置に関するものである。
脚式移動ロボットは、転倒せずに様々な環境で多種多様な作業を行うことが要求される。従来、脚式移動ロボットの床との接触状態の遷移を判定したり、ロボットが転倒しないような動作を生成したり、あるいはセンサ情報に基づき動作を制御する場合には、ロボットが床から受ける反力の作用中心点であるZMP(Zero−Moment Point)が用いられてきた。ここで、ZMPは床反力の作用中心点であるため、床反力中心点と呼ばれる場合もある。
脚式移動ロボットが、水平で摩擦係数が十分に大きな床面上で動作する場合、ZMPが支持多角形の内部に含まれる限り、ロボットは転倒せずに動作を継続できる。その反面、ZMPが支持多角形の端に存在すると、ロボットの足裏と床面の接触が離れて接触状態が遷移し、ロボットが転倒する。例えば、非特許文献1または特許文献1においては、ZMPを規範として脚式移動ロボットの歩行動作を生成する手法が提案されている。また、特許文献4においては、脚部に装着された力センサにより実際のZMPを計測し、ZMPをその目標値に制御することにより、ロボットの姿勢を制御する手法が提案されている。
特許文献2においては、近似的にZMPを用いて脚式移動ロボットが階段を上る動作が生成されているが、しかし、前記の理由により階段を上る場合は全ての接触点が単一の平面には含まれないため、厳密な意味においてZMPを用いても接触状態の遷移は判定できない。
また、特許文献3に示されるように、先に本出願人が提案した脚式移動ロボットの制御装置の技術では、床からロボットにはたらく6次元の力・モーメントを考慮して、接触点が単一の平面に含まれない場合の接触状態の遷移の判定、動作生成の手法、ならびに動作制御の手法について提案している。
高西、石田、山崎、加藤、「2足歩行ロボットWL−10RDによる動歩行の実現」,日本ロボット学会誌、vol.3,no.4,pp.325−336,1985
しかしながら、先に述べたように、ZMPは床反力の作用中心点であるため、ZMPを用いても床面上の2次元の情報しか得られない。それに対して、床からロボットには3次元の力と3次元のモーメントが働いている。ZMPでは、合計6次元の力・モーメントのうち2次元の情報しか表現できないため、限定された接触状態の遷移しか扱うことができない。
したがって、従来の技術では、例えば、ロボットの足裏が床面上を滑るかどうかを判定することは不可能であり、ロボットと床面の間に十分な摩擦が存在する場合でも、ロボットと環境との全ての接触点が単一の平面に含まれない場合は接触状態の遷移を判定できない。ZMPによってロボットの接触状態の遷移が判定できるのは、水平で摩擦が無視できるような床面や、水平で滑りが生じない程度に摩擦係数が十分大きい床面上に限られる。
本発明の第1の目的は、ロボットが環境から受ける6次元の力・モーメントを考慮し、脚式移動ロボットの環境との接触状態の遷移を判定して、動作の生成を行う脚式移動ロボットの制御装置を提供することにある。
ロボットが環境から受ける6次元の力・モーメントを考慮することで、各接触点が単一の平面に含まれない場合を扱うことが可能であるが、本発明においては、特にロボットの接触点における法線方向が接触点によって異なる環境を想定する。ここでの法線方向が接触点によって異なる環境とは、水平な面のみから構成される階段は含まれず、傾きの異なる複数の斜面から構成されるような環境の事を指す。
本発明の第2の目的は、ロボットに搭載された環境の形状を計測するセンサの情報を元に、6次元の力・モーメントを考慮し、脚式移動ロボットの環境との各接触点における法線方向が異なる環境において、脚式移動ロボットの動作を生成する脚式移動ロボットの制御装置を提供することにある。ここで、環境の形状を計測するセンサとは、視覚センサであるステレオカメラやレーザセンサ等を指す。
本発明の第3の目的は、ロボットに搭載された環境の形状を計測するセンサの情報を元に、6次元の力・モーメントを考慮し、脚式移動ロボットの環境との各接触点における法線方向が異なる環境において、ロボットが動作する際に、センサによって計測された環境の形状の誤差を考慮してロボットを制御する脚式移動ロボットの制御装置を提供することである。
第1の目的を達成するために、本発明による脚式移動ロボットの制御装置は、少なくとも上体と前記上体に連結される複数本の脚部からなる脚式移動ロボットの制御装置において、前記ロボットに搭載されたセンサからの信号により環境を計測し、計測された情報を元に環境形状を数値化する手段と、前記ロボットの動作を生成する目標となる6次元の力・モーメントを計算する手段と、前記ロボットの重心の加速度と重心まわりの角運動量の時間微分に基づいて、ロボットが環境から受ける6次元の力・モーメントを算出する手段と、与えられたロボットの動作に対応して力・モーメント空間での接触力凸多面錐を、複数の接触点におけるそれぞれの法線ベクトルを用いて、ロボットと環境の接触においてロボットが環境から受ける6次元の力・モーメントを算出する手段と、与えられたロボットの動作に対応して力・モーメント空間での接触力凸多面錐を算出する手段と、算出された6次元の力・モーメントが前記接触力凸多面錐の内部に含まれるかどうかを判定して、接触状態の遷移を判定する手段を有する如く構成した。
また、6次元の力・モーメントを考慮してロボットの動作を生成するために、目標となる6次元の力・モーメントを計算する手段、さらに目標となる6次元の力・モーメントを実現するようなロボットの動作を生成する手段を有する如く構成した。
上記した第2の目的を達成するために、本発明による脚式移動ロボットの制御装置は、少なくとも上体と前記上体に連結される複数本の脚部からなる脚式移動ロボットが、第1の目的を達成するための手段に加えて、ロボットに搭載されたセンサにより、環境を計測する手段、ならびに計測された情報を元に環境の形状を数値化する手段を有する如く、脚式移動ロボットの制御装置を構成した。
これにより、第1の目的を達成するための手段に加えて、ロボットに搭載されたセンサにより環境を計測する手段、ならびに計測された情報を元に環境の形状を数値化する手段を有するために、ロボットが未知の環境においても、接触状態の遷移を考慮して脚式移動ロボットの動作を生成できる。
また、上記した第3の目的を達成するために、本発明による脚式移動ロボットの制御装置は、少なくとも上体と前記上体に連結される複数本の脚部からなる脚式移動ロボットが、第1、第2の目的を達成するための手段に加えて、環境の計測誤差を検知した時点で動作を一旦停める手段、そして手先や足先を動作させて計測された環境の誤差量を見積もる手段、ならびに前記誤差量を修正してロボットを動作させる手段を有する如く、脚式移動ロボットの制御装置を構成した。
これにより、第1の目的および第2の目的を達成するための手段に加えて、環境の計測誤差を検知された時点で動作を一旦停める機能、手先や足先を動作させて計測された環境の誤差量を見積もる手段、ならびに前記誤差量を修正してロボットを動作させる手段を有するため、環境の計測情報の誤差を補償して、接触状態の遷移考慮した脚式移動ロボットの動作が実現できる。
具体的に、本発明による脚式移動ロボットの制御装置は、第1の態様として、少なくとも上体と前記上体に連結された複数本の脚部からなる脚式移動ロボットの制御装置において、ロボットに加わる6次元の力・モーメントを算出することにより、複数の接触点における法線ベクトルが同一でないロボットと環境の接触において、少なくとも一部の接触点において接触が離れるときの接触状態の遷移を判定する手段を備えることを特徴とするものである。
第2の態様として、本発明による脚式移動ロボットの制御装置は、少なくとも上体と前記上体に連結された複数本の脚部からなる脚式移動ロボットの制御装置において、ロボットと環境の複数の接触点における法線ベクトルが同一でない場合に、ロボットに加わる6次元の力・モーメントを考慮することにより、前記接触状態の遷移を判定することを特徴とするものである。
第3の態様として、本発明による脚式移動ロボットの制御装置は、少なくとも上体と前記上体に連結された複数本の脚部からなる脚式移動ロボットの制御装置において、ロボットと環境の複数の接触点における法線ベクトルが同一でない場合に、ロボットに加わる6次元の力・モーメントを考慮することにより、前記接触状態が遷移しないロボットの動作を生成する手段を備えたことを特徴とするものである。
第4の態様として、本発明による脚式移動ロボットの制御装置は、少なくとも上体と前記上体に連結された複数本の脚部からなる脚式移動ロボットの制御装置において、ロボットと環境の複数の接触点における法線ベクトルが同一でない場合に、ロボットに加わる6次元の力・モーメントを考慮することにより、センサを用いた環境の計測に基づいて、前記接触状態が遷移しないロボットの動作を生成する手段を備えたことを特徴とするものである。
第5の態様として、本発明による脚式移動ロボットの制御装置は、少なくとも上体と前記上体に連結された複数本の脚部からなる脚式移動ロボットの制御装置において、ロボットと環境の複数の接触点における法線ベクトルが同一でない場合に、ロボットに加わる6次元の力・モーメントを考慮することにより、センサを用いた環境の計測結果に誤差がある場合に、前記接触状態が遷移しないロボットの動作を生成する手段を備えたことを特徴とするものである。
このような特徴を有する本発明による脚式移動ロボットの制御装置においては、環境からロボットが受ける6次元の力・モーメントを計測し、力・モーメント空間において凸錐を算出し、計測された6次元の力・モーメントが凸錐の内部に含まれるかどうかを判定する手段を有するため、ロボットと環境とのあらゆる接触状態の遷移を判定でき、脚式移動ロボットが動作する際の安定性を高めることができる。
また、さらに目標となる6次元の力・モーメントを計算する手段、また目標となる6次元の力・モーメントを実現するようなロボットの動作を生成する手段を有するため、接触状態の遷移を考慮して脚式移動ロボットの動作を生成でき、動作の安定性を高めることができる。
以下、添付図面を参照して、この発明の一つの実施の形態に係る脚式移動ロボットの制御装置を説明する。脚式移動ロボットとしては2足歩行ロボットを例にとる。
図1は、この発明の実施の形態に係る制御装置が適用される脚式移動ロボット、より具体的には2足歩行ロボットを全体的に示す概略図である。ΣRは基準座標系であり、ΣBはロボット腰部に固定された座標系であり、Σiは第iリンク(i=1,…,n)の重心に固定された座標系を表す。
ΣRに関する位置ベクトルについて、PHj(=[xHj yHj zHj]T)(j=1,2)は各手先を表し、PFj(=[xFj yFj zFj]T)(j=1,2)は各足裏のリンクに固定された点を表し、PLi(=[xLi yLi zLi]T)はΣiの原点を表し、PB(=[xB yB zB]T)はΣBの原点を表す。
また、各手先の接触領域と各足裏の支持領域を構成する多角形の頂点を手先か足先かを区別せず、Pk(k=1,…,K)とし、PG(=[xG yG zG]T)はロボットの重心を表す位置ベクトルである。さらに、z0はロボットが水平面上を歩行する場合の床面の高さを表すものとする。fHi(=[(fHi)x (fHi)y (fHi)z]T),τHj(j=1,2)は各手先が受ける力・モーメントとし、fFj,τFj(j=1,2)は各足裏が受ける力・モーメントである。
同様に、fkは点Pkで受ける力とする。なお、図1ではモーメントを2重矢印で表している。nkは、点Pkにおける単位拘束法線ベクトルを表す。Ii,ωiはそれぞれ第iリンクの基準座標系Σiに関する慣性テンソル、角速度ベクトルを表す。以上に述べた位置ベクトル、力・モーメントは、全て基準座標系ΣRで表すものとする。
本発明による脚式移動ロボットの制御装置は、第一の実施形態として、脚式移動ロボットが歩行などの動作を行うとき、環境からロボットが受ける3次元の力と3次元のモーメントを算出する手段、つまり、ロボットが環境から受ける6次元の力・モーメントを算出する手段と、与えられたロボットの姿勢に対応して力・モーメント空間において形成される凸錐を算出する手段を備えている。これらについて説明する。
また、これらの算出する手段を利用することで、各接触点における法線方向が異なる環境において、接触状態の遷移を判定する。この手法を、図2のフローチャートに基づいて説明する。
処理を開始すると、まず、環境の計測処理を行い(ステップ201)、入力として、ロボット重心の加速度PGと重心まわりの角運動量の時間微分Lならびに環境の形状に関する情報を与える。ロボットと環境が望みの接触状態を維持するという仮定の下で、慣性力および重力によりロボットが受ける力・モーメントを基準座標系ΣRで表したものは、次の(1)式および(2)式により与えられるので、これらの演算処理を行う(ステップ202)。
これらの式において、Mはロボットの質量、gは重力ベクトルを表す。
ロボットに力fGおよびモーメントτGが加わったとき、ロボットは接触している環境から反力・モーメントを受ける。ロボットが接触している環境から受ける反力を基準座標系ΣRで表したものfCを、ロボットが受ける基準座標系ΣRのまわりのモーメントτCをとすると、これらは手先・足裏と環境との接触面の幾何学的な形状から、(3)式、(4)式が得られる。
さらに、各接触点がロボットに対して発生可能な力の集合は、摩擦コーンをL角錐で近似した場合、(5)式により与えられる。
ここにおいて、μkは各点の摩擦係数、tl kは(nk+μktl k)が各点の摩擦コーンを近似するL角錐の側辺となるような単位ベクトルであり、nkが各接触点における法線方向を表す単位ベクトルである。この単位ベクトルの向きが各接触点で異なる場合を本発明の脚式移動ロボットの制御装置では取り扱う。
また、εl kは各点に加わる接線方向の力の大きさにより定まる非負のスカラーである。(5)式を(3)式および(4)式に代入すると、(fC,τC)がとり得る値の集合は、次の(6)式および(7)式のとおりに得られる。
ここでの(fC,τC)はベクトルの非負1次結合で表されていることから、これらが力・モーメントの空間でとり得る値の集合は凸多面錐になる。この力・モーメントの集合を、接触力凸多面錐と呼ぶ。
上記の(6)式および(7)式における各接触点での法線方向と接触力凸多面錐の関係を、図3を用いて説明する。図3に示すように、直方体の足が不整地に4点で接触する場合には、各接触点において法線方向が異なる。そして、各接触点における接触力を全ての接触点について合わせたものが、(fC,τC)である。
脚式ロボットに力fGおよびモーメントτGが加わった場合、(−fG,−τG)が、(6)式および(7)式によって表される接触力凸多面錐に含まれる場合には、接触状態は弱安定となり、釣り合いの関係が成立する可能性が生じる。このとき、釣り合いが必ずしも成立するとは言えないが、(−fG,−τG)が凸多面錐に含まれない場合には、釣り合いの関係は成立せず、接触状態は必ず遷移する。
判定処理(ステップ203)は接触力凸多面錐に含まれるか否かの判定を行う。図2に示すように、(−fG,−τG)が(6)式、(7)式によって表される接触力凸多面錐に含まれるかの判定では、fG=−fC,τG=−τCとおき、εl k(k=1,…,K, l=1,…,L)が非負であり、なおかつ、その三つ以上が“0”では無いことを数値的に確認することでなされる。この判定の結果に基づいて、「接触状態は遷移しない」判定結果または「遷移状態が遷移する」判定結果を出力する(ステップ204,ステップ205)。
次に、6次元の力・モーメントを考慮してロボットの動作を生成する手法の概要を説明する。図4は、6次元の力・モーメントを考慮してロボットの動作を生成する処理のフローチャートである。この処理では、各接触点における法線方向が既知であると仮定する。つまり、各接触点における法線方向を示すデータについては、前処理により予め取得されているものとする。処理を開始すると、まず、ステップS1において、目標となる手先、足先、ならびに腰の速度を与える。次に、ステップS2において、重心まわりの角運動量を計算する。さらに、ステップS3において、目標となる6次元の力・モーメントの軌道を計算する。この情報を基にして、次のステップS4において、接触力方程式を解いて、目標重心軌道を求める。最後に、ステップS5において、分解運動量制御で目標腰速度を修正する。そして、ステップS6において、動作の生成処理を行う。もし、ステップS1で定めた腰速度と、ステップS5で定めた腰速度が大きく異なる場合は、後述するように、繰り返し計算を行う。
つぎに、これらのそれぞれの処理について、詳細に説明する。まず、ステップS1においては、目標となる手先、足先、ならびに腰の目標速度を与える。これは、ロボットに搭載されたセンサの情報を基に、環境の形状を計測する。ここでは、計測は十分正確であると仮定し、計測誤差を考慮する手法については、後述する。環境のモデルが与えられると、環境と望みの接触状態を維持し、別の接触状態へと遷移するような、望みの手先や足先の軌道が計算できる。
また、手先・足先の軌道を時間微分することで、速度・角速度が得られる。腰の速度・角速度は、最初はヒューリスティックに与えることにし、より正確な腰の速度は、ステップS5において、あらためて計算する。
ステップS1において、手先、足先、ならびに腰の速度が与えられたときに、ステップS2において重心まわりの角運動量を計算する手法を説明する。基準座標系ΣRで表現された腰に固定された座標系ΣBの並進速度、角速度をυB、ωBとし、ロボットの全関節速度を縦に並べたn×1ベクトルをベクトルθの時間微分とする。このとき、ロボット全体の並進運動量pおよび重心まわりの角運動量Lは次式で与えられる。
ここで、Mはロボットの全質量、Eは3×3の単位行列、γB→Gは、腰リンクから全重心PGへの(3×1)ベクトルの位置ベクトル、Iは全重心まわりの(3×3)の慣性行列である。また、Mθ、Hθは、関節速度がそれぞれ並進運動量と角運動量に及ぼす効果を表わす慣性行列である。
また、記号^は(3×1)のベクトルを外積と等価な(3×3)の歪対称行列に変換する操作を表わす。手先や足先の速度・角速度と関節速度はヤコビ行列により関連付けられている。(8)式のベクトルθの時間微分の部分に、この関係式を代入することで、手先、足先、ならびに腰の速度・角速度が与えられた時のロボット全体の運動量・角運動量は、次の形で求められる。
ここで、速度・角速度ベクトルを、(10)式のようにまとめた。
ステップS3において、目標となる6次元の力・モーメントを定義する手法について説明する。より一般的に説明すると、ロボットと環境との接触状態によって一意に定まる(6)式および(7)式で定義される凸多面錐の内部に、(−fG,−τG)が含まれるように、その軌道を定めると、ロボットと環境との接触状態は変化しない。ここでは、十分に摩擦があり、法線方向が各接触点で異なる不整地を例にとって、目標となる力・モーメントを定義する方法について説明する。
十分に摩擦があり、接触点によって法線方向が異なる不整地では、(6)式および(7)式は任意のスカラーδl kを用いて、以下のような6つの式で表すことができる。
ここでの(11)式、(12)式および(13)式が力に関する関係式であり、(14)式、(15)式および(16)式がモーメントに関する関係式である。また、それぞれx,y,z方向成分の式を表している。
十分に摩擦がある場合には、摩擦により発生する接触力の空間は線形部分空間になるので、接触力全体の集合は、この線形部分空間とその直交補空間の中の凸多面錐との直積になる。したがって、接触力を各線形部分空間内で独立に計画することができる。さらに、摩擦により発生する接触力の空間は、各軸方向毎に線形部分空間になるので、やはり独立に計画することができる。
(11)式〜(16)式は非線形微分方程式であり、これを満たすために操作可能な変数は加速度x,y,z、速度Lx,Ly,Lzの6つある。しかしながら、一般に速度Lx,Ly,Lzを操作すると、全身を大きく振る等の不自然な動作が生成されることが多いため、速度Lx,Ly,Lzは操作せず、加速度x,y,zのみを操作して、z軸方向の並進力の方程式、x,y軸まわりのモーメントの方程式の3つのみを満たす動作の生成を考える。残り3つの方程式については、摩擦が十分に働くという仮定をし、ロボットが2点以上で接地しているときには常に満足される。
各接触点における法線方向の単位ベクトル用いて、加速度zGを決める。これは重心の鉛直方向の軌道を定めることに相当する。z軸方向の力の釣り合いについては、(13)式が成立する必要がある。ここで、(13)式を
とz軸方向の力を垂直抗力と摩擦力に分配し、これを満足するように、加速度zGを決める。(17)式と(18)式に分解するのは、図5に示すように、鉛直方向の力を垂直抗力と摩擦力に分配したものを目標値とすることに相当する。
αの決め方としては、例えば、各接触点での面の傾きの平均を取ることが考えられる。また、決めたαを(17)式に代入した結果、ε0 kは少なくとも3つのkについて、0<ε0 kとなることが必要である。なお、本手法では、十分に摩擦力が働くという仮定をおいているが、ここでの分配方法の如何によって、生成された動作がクーロン摩擦の制約を満たすかどうかに影響する。
最後に、水平方向の鉛直力と鉛直軸まわりのモーメントの釣り合いについては、(11)式,(12)式,(16)式が成立することが必要である。
得られた加速度xG,yG,zGを(11)式〜(16)式に代入した式において、少なくても3つのkについて、0<ε0 kである必要がある。また、δl kが一意解を持つかどうかは、(11)式〜(16)式の左辺をδl kについて整理することで得られる
の係数行列が正則であることで確認される。
次に、ステップS4の目標重心軌道を求めて設定する手段を説明する。ここでも、十分に摩擦のある環境を想定して説明する。水平軸周りのモーメントの釣り合い式において、重心の加速度を中心差分近似することにすると、離散時間表現で、
とかける。ここに、i=1,…,Nで境界条件は、
で与えられる。これらの差分方程式を離散時刻i=1,…,Nについて連立し、これらの連立1次方程式を解くことにより、xG,yGの目標軌道を求めることができる。
更に、ステップS5において、分解運動量制御により修正腰位置を計算するについて説明する。(9)式を以下のように書き直す。
ここで、
である。このとき、腰の速度・各速度Aはの擬似逆行列であるA†を用いて次式で与えられる。
である。このとき、腰の速度・各速度Aはの擬似逆行列であるA†を用いて次式で与えられる。
ここで、図4で示したアルゴリズムをより詳細に説明するために、図6のブロック図を用いる。図6のブロック図によるデータ処理の流れにしたがって、処理を順に説明すると、この動作パターン生成の処理は、次のような手順により行われる。
すなわち、
ステップ101;ロボットに搭載されたセンサで環境を計測し、環境の形状f(x)を得る(処理ブロック601)。
ステップ102;環境の情報を用いて、足先目標速度・角速度(vFi,ωFi)、手先目標速度・角速度(vHi,ωHi),腰座標の目標速度・角速度(vB,ωB)を指定する(処理ブロック602)。
ステップ103;(9)式により目標角運動量Lrefを求める。さらにこれを微分して、Lrefの速度を求める(処理ブロック603)。
ステップ104;(11)式〜(16)式により、重心の位置,Lrefの速度,目標反力・トルクから成る微分方程式を立てる。
ステップ105;前項の微分方程式を数値解法により解き、重心の目標軌道を計算する(処理ブロック604)。
ステップ106;計算された重心の目標軌道から、目標運動量prefを求める(処理ブロック605)。
ステップ107;求まった目標運動量prefと目標角運動量Lrefから、(27)式により目標速度・角速度(vB,ωB)を求める(処理ブロック606)。
ステップ108;処理ステップ102で指定した目標速度・角速度(vB,ωB)と、処理ステップ107により求まった目標速度・角速度(vB,ωB)を比べ、十分に近い場合は、処理ステップ109へ進む。そうでない場合は、処理ステップ107で求まった目標速度vBを新たな腰座標目標速度として、処理ステップ102に戻る。
ステップ109;逆運動学計算により、腕と脚の関節軌道を導出する。
ステップ101;ロボットに搭載されたセンサで環境を計測し、環境の形状f(x)を得る(処理ブロック601)。
ステップ102;環境の情報を用いて、足先目標速度・角速度(vFi,ωFi)、手先目標速度・角速度(vHi,ωHi),腰座標の目標速度・角速度(vB,ωB)を指定する(処理ブロック602)。
ステップ103;(9)式により目標角運動量Lrefを求める。さらにこれを微分して、Lrefの速度を求める(処理ブロック603)。
ステップ104;(11)式〜(16)式により、重心の位置,Lrefの速度,目標反力・トルクから成る微分方程式を立てる。
ステップ105;前項の微分方程式を数値解法により解き、重心の目標軌道を計算する(処理ブロック604)。
ステップ106;計算された重心の目標軌道から、目標運動量prefを求める(処理ブロック605)。
ステップ107;求まった目標運動量prefと目標角運動量Lrefから、(27)式により目標速度・角速度(vB,ωB)を求める(処理ブロック606)。
ステップ108;処理ステップ102で指定した目標速度・角速度(vB,ωB)と、処理ステップ107により求まった目標速度・角速度(vB,ωB)を比べ、十分に近い場合は、処理ステップ109へ進む。そうでない場合は、処理ステップ107で求まった目標速度vBを新たな腰座標目標速度として、処理ステップ102に戻る。
ステップ109;逆運動学計算により、腕と脚の関節軌道を導出する。
ステップ108を設けているのは、ステップ107において目標速度vBの値は新しくなるが、Lrefの速度は古い目標速度vBから計算されているため、不自然な動作が生成される可能性があるためである。ステップ108からステップ102へ戻る際には、目標速度vBのみ更新し、角速度ωBは更新しない。
今まで述べた手法では、正確な環境のモデルが与えられていることが前提であった。しかし、センサを用いて環境を計測する場合、計測誤差が生じる。第3の実施例では、センサの計測誤差を考慮して、先に説明したアルゴリズムを次のように修正する。このアルゴリズムを説明するために、図7を用いる。
ステップ201;センサにより環境を計測し、環境の形状f(x)、ならびに法線方向の最大誤差距離Δfを得る(処理ブロック701)。
ステップ202;足先目標速度・角速度(vFi,ωFi)、手先目標速度・角速度(vHi,ωHi),腰座標の目標速度・角速度(vB,ωB)を指定する(処理ブロック702)。ただし、足先または手先が環境と新たに接触する際には、目標位置を接触面の法線方向にセンサの最大誤差距離分干渉する位置とするとともに、接地速度は可能な限り小さな値とする。
ステップ203;(9)式により目標角運動量Lrefを求める。さらにこれを微分して、Lrefの速度を求める(処理ブロック703)。
ステップ204;(11)式〜(16)式により、重心の位置、Lrefの速度、目標反力・トルクから成る微分方程式を立てる。ただし、足先または手先が環境と新たに接触する際には、新たな接触が発生する前の支持足・手に、時間Δtだけ接触発生後も支持が残るように、目標反力・トルクを設定する。
ステップ205;前項の微分方程式を数値解法により解き、重心の目標軌道を計算する(処理ブロック704)。
ステップ206;計算された重心の目標軌道から、目標運動量prefを求める(処理ブロック705)。
ステップ207;求まった目標運動量prefと目標角運動量Lrefから、(27)式により目標速度・角速度(vB,ωB)を求める(処理ブロック706)。
ステップ208;ステップ202で指定した目標速度・角速度(vB,ωB)と、ステップ207で求まった目標速度・角速度(vB,ωB)を比べ、十分に近い場合はステップ209へ進む。そうでない場合は、ステップ207で求まった目標速度vBを新たな腰座標目標速度として、ステップ202に戻る。
ステップ209;逆運動学計算により、腕と脚の関節軌道を導出する。
ステップ202;足先目標速度・角速度(vFi,ωFi)、手先目標速度・角速度(vHi,ωHi),腰座標の目標速度・角速度(vB,ωB)を指定する(処理ブロック702)。ただし、足先または手先が環境と新たに接触する際には、目標位置を接触面の法線方向にセンサの最大誤差距離分干渉する位置とするとともに、接地速度は可能な限り小さな値とする。
ステップ203;(9)式により目標角運動量Lrefを求める。さらにこれを微分して、Lrefの速度を求める(処理ブロック703)。
ステップ204;(11)式〜(16)式により、重心の位置、Lrefの速度、目標反力・トルクから成る微分方程式を立てる。ただし、足先または手先が環境と新たに接触する際には、新たな接触が発生する前の支持足・手に、時間Δtだけ接触発生後も支持が残るように、目標反力・トルクを設定する。
ステップ205;前項の微分方程式を数値解法により解き、重心の目標軌道を計算する(処理ブロック704)。
ステップ206;計算された重心の目標軌道から、目標運動量prefを求める(処理ブロック705)。
ステップ207;求まった目標運動量prefと目標角運動量Lrefから、(27)式により目標速度・角速度(vB,ωB)を求める(処理ブロック706)。
ステップ208;ステップ202で指定した目標速度・角速度(vB,ωB)と、ステップ207で求まった目標速度・角速度(vB,ωB)を比べ、十分に近い場合はステップ209へ進む。そうでない場合は、ステップ207で求まった目標速度vBを新たな腰座標目標速度として、ステップ202に戻る。
ステップ209;逆運動学計算により、腕と脚の関節軌道を導出する。
以上の方法により動作パターンを生成し、実行時には、新たな処理を追加する。ここで、床面の高さおよび傾斜の計測値には誤差があり、足裏面は1点接触、線接触状態を経由して、面接触状態に至ると仮定する。この処理を図8に示し、この図を順に説明する。
ステップ301;足裏面が1点接触したことを力センサの値により検出する。接触位置はZMPの位置と一致する(図8(a))。
ステップ302;接触点を中心として、足裏位置pFを鉛直面内で回転して降下させる。足先の速度・角速度(vF,ωF)を求め、これを足先の目標速度・角速度とする(図8(b))。
ステップ303;ZMPが大きく移動したら、線接触状態が遷移したと判定し、ZMPの移動直線経路を計測値から最小自乗推定し、接触線分を求める(図8(c))。
ステップ304;接触線分を軸として、足裏位置pFを鉛直面内で回転して降下させる。足先の速度・角速度(vF,ωF)を求め、これを足先の目標速度・角速度とする。
ステップ305;ZMPが接触線分から大きく移動したら面接触状態に遷移したと判定し、目標足先速度・角速度を零にする。(図8(d))
ステップ302;接触点を中心として、足裏位置pFを鉛直面内で回転して降下させる。足先の速度・角速度(vF,ωF)を求め、これを足先の目標速度・角速度とする(図8(b))。
ステップ303;ZMPが大きく移動したら、線接触状態が遷移したと判定し、ZMPの移動直線経路を計測値から最小自乗推定し、接触線分を求める(図8(c))。
ステップ304;接触線分を軸として、足裏位置pFを鉛直面内で回転して降下させる。足先の速度・角速度(vF,ωF)を求め、これを足先の目標速度・角速度とする。
ステップ305;ZMPが接触線分から大きく移動したら面接触状態に遷移したと判定し、目標足先速度・角速度を零にする。(図8(d))
Claims (1)
- 少なくとも上体と前記上体に連結される複数本の脚部からなる脚式移動ロボットの制御装置において、
前記ロボットに搭載されたセンサからの信号により環境を計測し、計測された情報を元に環境形状を数値化する手段と、
前記ロボットの動作を生成する目標となる6次元の力・モーメントを計算する手段と、
前記ロボットの重心の加速度と重心まわりの角運動量の時間微分に基づいて、前記ロボットに作用する6次元の力・モーメントを算出する手段と、
与えられたロボットの動作に対応して、ロボットが環境の接触により環境から受ける6次元の力・モーメントを、複数の接触点におけるそれぞれの法線ベクトルを用いて、力・モーメント空間における接触力凸多面錐として算出し、前記ロボットに作用する6次元の力・モーメントが、前記接触力凸多面錐の内部に含まれるかどうかを判定して、接触状態の遷移を判定する手段とを備えることを特徴とする脚式移動ロボットの制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011168456A JP2011255500A (ja) | 2011-08-01 | 2011-08-01 | 脚式移動ロボットの制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011168456A JP2011255500A (ja) | 2011-08-01 | 2011-08-01 | 脚式移動ロボットの制御装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007102012A Division JP4915934B2 (ja) | 2007-04-09 | 2007-04-09 | 脚式移動ロボットの制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011255500A true JP2011255500A (ja) | 2011-12-22 |
Family
ID=45472239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011168456A Pending JP2011255500A (ja) | 2011-08-01 | 2011-08-01 | 脚式移動ロボットの制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011255500A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104097206A (zh) * | 2013-04-07 | 2014-10-15 | 同济大学 | 基于动量控制的人型机器人全身运动自平衡控制方法 |
CN104325462A (zh) * | 2014-09-30 | 2015-02-04 | 同济大学 | 一种固有约束下构建机器人运动空间的方法 |
JP2016172309A (ja) * | 2015-03-18 | 2016-09-29 | トヨタ自動車株式会社 | 多点接触ロボット、多点接触ロボットの制御方法及びプログラム |
CN106564055A (zh) * | 2016-10-31 | 2017-04-19 | 金阳娃 | 仿真人机器人稳定性运动规划方法及控制装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05318340A (ja) * | 1992-05-22 | 1993-12-03 | Honda Motor Co Ltd | 脚式移動ロボットの歩容生成装置 |
JP2002264070A (ja) * | 2001-03-09 | 2002-09-18 | Denso Corp | 移動ロボット及び移動ロボットシステム |
JP2006247800A (ja) * | 2005-03-11 | 2006-09-21 | National Institute Of Advanced Industrial & Technology | 脚式移動ロボットの制御装置 |
-
2011
- 2011-08-01 JP JP2011168456A patent/JP2011255500A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05318340A (ja) * | 1992-05-22 | 1993-12-03 | Honda Motor Co Ltd | 脚式移動ロボットの歩容生成装置 |
JP2002264070A (ja) * | 2001-03-09 | 2002-09-18 | Denso Corp | 移動ロボット及び移動ロボットシステム |
JP2006247800A (ja) * | 2005-03-11 | 2006-09-21 | National Institute Of Advanced Industrial & Technology | 脚式移動ロボットの制御装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104097206A (zh) * | 2013-04-07 | 2014-10-15 | 同济大学 | 基于动量控制的人型机器人全身运动自平衡控制方法 |
CN104325462A (zh) * | 2014-09-30 | 2015-02-04 | 同济大学 | 一种固有约束下构建机器人运动空间的方法 |
JP2016172309A (ja) * | 2015-03-18 | 2016-09-29 | トヨタ自動車株式会社 | 多点接触ロボット、多点接触ロボットの制御方法及びプログラム |
CN106564055A (zh) * | 2016-10-31 | 2017-04-19 | 金阳娃 | 仿真人机器人稳定性运动规划方法及控制装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547206B (zh) | 一种基于脚力估计算法的多足机器人动态稳定性定量判定方法 | |
US8504208B2 (en) | Mobile object controller and floor surface estimator | |
US8855821B2 (en) | Robot and control method thereof | |
JP5034235B2 (ja) | 制御システム及び制御方法、並びにコンピュータ・プログラム | |
US8868240B2 (en) | Walking robot and pose control method thereof | |
US20120316682A1 (en) | Balance control apparatus of robot and control method thereof | |
CN112975978B (zh) | 多足机器人负重平衡方法、装置和多足机器人 | |
CN112643679B (zh) | 机器人运动控制方法、装置、控制器及存储介质 | |
KR101438968B1 (ko) | 로봇의 보행제어방법 및 시스템 | |
JP2018185747A (ja) | 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム | |
JP2011255500A (ja) | 脚式移動ロボットの制御装置 | |
Danilov et al. | Zmp trajectory from human body locomotion dynamics evaluated by kinect-based motion capture system | |
JP4915934B2 (ja) | 脚式移動ロボットの制御装置 | |
JP2009285816A (ja) | 脚式ロボット及びその制御方法 | |
Sato et al. | Experimental evaluation of a trajectory/force tracking controller for a humanoid robot cleaning a vertical surface | |
JP5099733B2 (ja) | 脚式移動ロボットの制御装置 | |
Mănoiu-Olaru et al. | Stability analysis software platform dedicated for a hexapod robot | |
Chavez et al. | Contact force and joint torque estimation using skin | |
JP5198035B2 (ja) | 脚式ロボット及びその制御方法 | |
JP6647591B2 (ja) | 移動ロボットの特定状態量の存在可能領域推定装置及び存在可能領域推定方法 | |
WO2002022319A1 (fr) | Procede de controle optimal en temps reel pour robot marcheur | |
JP7221833B2 (ja) | 非線形モデル予測制御装置 | |
Mayr et al. | Static inertial parameter identification for humanoid robots using a torque-free support | |
KR101288149B1 (ko) | 이족 보행 로봇의 균형 제어 장치 및 방법 | |
CN113358121A (zh) | 一种电驱动昆虫构型足式机器人足地滑移估计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121113 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130312 |