(57)【要約】【課題】外力に応じてアームの姿勢を柔軟に変化させながら、姿勢の安定化を図ることができるロボットを提供する。【解決手段】トルク指令値が複数の関節機構Ｊ１〜ＪＮのそれぞれに対して与えることにより、アームＡの動作が制御される。基体Ｂ１とアームＡとの仮想的な相互拘束力を定義する拘束力モデルと、基体Ｂ１に対するアームＡの姿勢とに基づいて基体Ｂ１に作用する仮想的な拘束力が算出される。当該拘束力に応じて基体Ｂ１の位置及び姿勢の指令値を生成し、当該指令値にしたがって支持機構Ｂ２の動作が制御される。【選択図】  図１
2015062971.tif 000002
【特許請求の範囲】
【請求項１】
基体と、前記基体の位置及び姿勢のうち一方又は両方を制御可能に支持する支持機構と、前記基体から延設され、複数のリンク及び当該複数のリンクを連結する複数の関節機構を有するアームと、前記支持機構及び前記関節機構の動作を制御するように構成されている制御装置と、を備えているロボットであって、
前記制御装置が、トルク指令値を前記複数の関節機構のそれぞれに対して与えることにより、前記アームの動作を制御するとともに、
前記基体と前記アームとの仮想的な相互拘束力を定義する拘束力モデルと、前記基体に対する前記アームの姿勢とに基づいて前記基体に作用する拘束力を算出した上で、当該拘束力に応じて前記基体の位置及び姿勢の指令値を生成し、当該指令値にしたがって前記支持機構の動作を制御することを特徴とするロボット。
【請求項２】
請求項１記載のロボットにおいて、
前記制御装置が、前記基体及び前記アームのそれぞれに定義される端点の間隔に応じた仮想的な弾性力及び当該端点の間隔の変化速度に応じた仮想的な減衰力により前記相互拘束力を定義する拘束モデルを用いて、前記支持機構の動作を制御することを特徴とするロボット。
【請求項３】
請求項１又は２記載のロボットにおいて、
前記制御装置が、前記複数のリンクのそれぞれに作用する重力を補償する重力補償トルクを含むトルク指令値を前記複数の関節機構のそれぞれに対して与えることにより、前記アームの動作を制御することを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アームロボット又はアームを備えているロボットに関する。
【背景技術】
【０００２】
ロボットの脚体の動作が制御されることによりロボットの姿勢の安定化を図りながら、ロボットの腕体（アーム）において人間との握手等の接触を伴うタスクを実行させるためのボディ（基体）の姿勢を決定するための技術的手法が提案されている。具体的には、ロボットの腕体の動作タスクを実行する際に腕体に作用する外力を検出あるいは推定される結果に基づき、ボディの最適な姿勢が本技術手法で生成され、脚体の動作が制御される（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４３８４０２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、厳密なキネマティクスモデルにしたがってロボットの動作が制御されることにより、腕体の姿勢に応じて直接的に腰の位置・姿勢が一義的に定められることになる。このため、ロボットの動きが固くなり、その姿勢が不安定になる可能性がある。
【０００５】
そこで、本発明は、外力に応じてアームの姿勢を柔軟に変化させながら、基体の姿勢も変化させることで、脚体に対する外力の影響を緩和し姿勢の安定化を図ることができるロボットを提供する。
【課題を解決するための手段】
【０００６】
本発明は、基体と、前記基体の位置及び姿勢のうち一方又は両方を制御可能に支持する支持機構と、前記基体から延設され、複数のリンク及び当該複数のリンクを連結する複数の関節機構を有するアームと、前記支持機構及び前記関節機構の動作を制御するように構成されている制御装置と、を備えているロボットに関する。
【０００７】
本発明のロボットは、前記制御装置が、トルク指令値を前記複数の関節機構のそれぞれに対して与えることにより、前記アームの動作を制御するとともに、前記基体と前記アームとの仮想的な相互拘束力を定義する拘束力モデルと、前記基体に対する前記アームの姿勢とに基づいて前記基体に作用する拘束力を算出した上で、当該拘束力に応じて前記基体の位置及び姿勢の指令値を生成し、当該指令値にしたがって前記支持機構の動作を制御することを特徴とする。
【０００８】
本発明のロボットによれば、各関節機構の角度又は角速度等の指令値ではなくトルク指令値にしたがってアームの動作が制御されるので、外力に応じてアームの姿勢を柔軟に変化させることができる。また、拘束モデルにしたがって算出される仮想的な拘束力にしたがって、アームの動きを吸収するように基体の位置及び姿勢が変化するように支持機構の動作が制御されうる。
【０００９】
したがって、さまざまな形態の外力に応じてアームの姿勢を柔軟に変化させながら、ロボットの姿勢の安定化が図られうる。なお、支持機構が関節機構を有する場合、支持機構の動作はアームの動作とは異なり関節機構のトルク指令値ではなく関節角度又は関節角速度の指令値にしたがって制御されてもよい。
【００１０】
前記制御装置が、前記基体及び前記アームのそれぞれに定義される端点の間隔に応じた仮想的な弾性力及び当該端点の間隔の変化速度に応じた仮想的な減衰力により前記相互拘束力を定義する拘束モデルを用いて、前記支持機構の動作を制御することが好ましい。
【００１１】
前記制御装置が、前記複数のリンクのそれぞれに作用する重力を補償する重力補償トルクを含むトルク指令値を前記複数の関節機構のそれぞれに対して与えることにより、前記アームの動作を制御することが好ましい。
【００１２】
当該構成のロボットによれば、アームに対して外力が作用していない状態で、当該アームの姿勢が自重により変化することなくそのままに維持されうる。
【図面の簡単な説明】
【００１３】
【図１】本発明のロボットの構成説明図。
【図２】本発明の制御装置の構成説明図。
【図３】拘束要素の構成説明図。
【図４】モーメント算出方法に関する説明図。
【図５】ロボットの動作制御に関する概念説明図。
【図６】ロボットの一実施形態である脚式移動ロボットの構成説明図。
【図７】拘束モデルに関する説明図。
【図８】ロボットの動作の第１の実証結果に関する説明図。
【図９】ロボットの動作の第２の実証結果に関する説明図。
【発明を実施するための形態】
【００１４】
（ロボットの構成）
図１に示されているロボット１は、基体Ｂ１と、基体Ｂ１を支持する支持機構Ｂ２と、基体Ｂ１から延設されているアームＡと、ロボットの駆動源であるアクチュエータ（図示略）の動作を制御する制御装置２とを備えている。アームＡは、複数の関節機構Ｊi（ｉ＝１〜Ｎ）と、当該複数の関節機構Ｊiを介して連結されている複数のリンクＬiとを備えている。関節機構の数及び各関節機構の自由度（１〜３）は任意に設計されうる。
【００１５】
アームＡを構成するアクチュエータの動作に応じて、各関節機構Ｊiの回転自由度に応じた軸回りの関節角度ｑiが制御されることにより、第ｉ−１リンクＬi-1に対する第ｉリンクＬiの相対的な姿勢が調節される。ロボット１は各関節角度ｑiに応じた信号を出力する関節角度センサ（図示略）をさらに備え、制御装置２は各関節角度センサからの出力信号に基づいて各関節角度ｑiを測定する。
【００１６】
支持機構Ｂ２を構成するアクチュエータの動作が制御されることにより、グローバル座標系における基体Ｂ１の位置ＰB1及び姿勢θB1が制御される。制御装置２は、電子制御ユニット（ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏ回路等により構成されている。）又はコンピュータにより構成されている。
【００１７】
第ｉリンク座標系（ローカル座標系）における外力等の値は、第ｉリンクの姿勢行列Ｔ（ｉ）＝Πk=1~iＴ（ｋ）（「Π」は積を表わす。）を用いてグローバル座標系の値に座標変換される。各リンクローカル座標系で定義されている拘束力モデル（後述）の基準点ＰLk及びＰB1のそれぞれの座標値がグローバル座標系の座標値に変換される。
【００１８】
（制御装置の構成）
図２に示されている制御装置２は、アーム制御要素２１と、全身運動生成要素２２と、拘束力算出要素２３と、位置・姿勢指令要素２４と、支持機構制御要素２５とを備えている。制御装置２の各構成要素は、メモリと、当該メモリから必要なデータ及びプログラムを読み出した上で、後述する担当演算処理を実行する演算処理装置（ＣＰＵ）とにより構成されている。
【００１９】
ロボット１が関節角度指令値ｑcmdにより各関節機構Ｊiの関節角度ｑiが制御される関節駆動型のロボットである場合、制御装置２はトルク変換器を備えている（米国特許公報ＵＳ７，９８６，１１８Ｂ２参照）。各関節機構のトルク指令値trq_cmdが、当該トルク変換器により関節角度指令値ｑcmd又は関節角速度指令値ｄｑcmd／ｄｔに変換される。これにより、ロボット１が擬似的にトルク指令型のロボットとして制御されうる。
【００２０】
（ロボット及びその制御装置の機能）
（アーム制御要素の機能）
（関節空間におけるトルク指令）
アーム制御要素２１により、アームＡの動力学モデルを表わす関係式（２１）にしたがって、第１トルク指令値（関節空間におけるトルク指令値）trq_joint_cmd≡trq1_cmd＝［trq1_cmd(1), ..trq1_cmd(i), ..trq1_cmd(N)］が設定される。
【００２１】
A(q)(d2q/dt2)+B(q,(dq/dt))+g(q)=trq1_cmd ..(21)。
【００２２】
各関節機構の角度ｑ＝［ｑ（１）, .ｑ（ｉ）, ..ｑ（Ｎ）］、関節角速度（ｄｑ／ｄｔ）、関節角加速度（ｄ2ｑ／ｄｔ2）、慣性行列Ａ（ｑ）、遠心力・コリオリ力Ｂ（ｑ，（ｄｑ／ｄｔ））及び重力補償トルクｇ（ｑ）のそれぞれは、当該角度ｑの時系列的な変化態様を定める角度軌道に基づいて定められる。
【００２３】
関係式（２１）によれば、関節角度指令値ｑcmdが出力されない場合、制御点ＰC以外の箇所においてアームＡに作用する外力に応じて、当該アームＡを受動的に作動させるような第１トルク指令値trq1_cmdが出力される。したがって、リンクＬiが外力に応じて受動的に動く。
【００２４】
関係式（２１）左辺における重力補償項ｇ（ｑ）により、ロボット１の姿勢にかかわらず各リンクＬiに作用する重力が補償される。したがって、各リンクＬiに作用する外力Ｆに応じて、ロボット１が各リンクＬiに作用する重力による影響を補償しながら受動的に操作されうる。ロボット１は外力Ｆが０になった場合、各リンクＬiの位置及び姿勢、ひいてはアームＡの位置及び姿勢をそのまま変化させずに維持することができる。
【００２５】
（操作空間におけるトルク指令）
関節空間におけるトルク制御と同時に、操作空間における力制御も同時に実行される。操作空間における制御点ＰCは動作中に任意の位置に定義される。当該制御点ＰCにおいてアームＡに発生させる力Ｆcmdと操作空間に射影された慣性行列ΛCに基づいて関係式（２２）にしたがって、操作空間において発生させる力Fcmd*として変換される。
【００２６】
Fcmd*=ΛCFcmd ..(22)。
任意の制御点ＰCに対して基体Ｂ１を基準として定義されるヤコビ行列ＪCにより、関係式（２３）にしたがって、当該制御点ＰCにおいてアームＡに発生させる力Ｆcmd*が各関節のトルク指令値trq_task_cmd≡trq2_cmd＝［trq2_cmd(1), ..trq2_cmd(i), ..trq2_cmd(N)］として分配される。「T」は転置を表わす。
【００２７】
trq2_cmd=JcTFcmd*..(23)。
【００２８】
制御点ＰCがエンドエフェクタとしての第ＮリンクＬNに定義されている場合、基体Ｂ１の座標系を基準として定義されているヤコビ行列ＪCは関係式（２２１）にしたがって定義されている。これは一般的なヤコビ行列である。
【００２９】
Jc=(J1, ..Ji, ..Jn), Ji=(Ji1, Ji2, Ji3, Ji4, Ji5, Ji6)T ..(221)。
【００３０】
一方、制御点ＰCが第ｉリンクＬi（ｉ＜Ｎ）上の任意の位置にある場合のヤコビ行列ＪCは関係式（２２２）にしたがって定義される。
【００３１】
Jc=(J1, ..Ji, 0, ..0) ..(222)。
【００３２】
制御点ＰCが定義される第ｉリンクＬ（ｉ）の駆動用の第ｉ関節機構Ｊ（ｉ）のグローバル座標系における位置を表わすベクトルＰJ(i)及び姿勢を表わす行列ΘJ(i)が算出される。第ｉリンクＬ（ｉ）に対して位置及び姿勢が固定されているリンク座標系（ローカル座標系）における制御点ＰCの第ｉ関節機構Ｊ（ｉ）に対するオフセットを表わすベクトルＰc_offsetにより定義される。これにより、グローバル座標系における制御点ＰC＝ＰJ(i)＋ΘJ(i)Ｐc_offsetが定義される。
【００３３】
これにより、第ｉリンクＬi上の制御点ＰCにおいてアームＡに発生させる力指令値Ｆcmdが、第ｉ関節機構Ｊiとこれよりも基体Ｂ１に近い側に関節機構Ｊ1〜Ｊi-1のそれぞれの第２トルク指令値trq2_cmd（ｋ）（ｋ＝１〜ｉ）に変換される。
【００３４】
（関節空間及び操作空間におけるトルク指令の合成）
関係式（２３１）により表わされるゼロ空間への射影行列ＮCTが用いられて、関係式（２３２）にしたがって最終的なトルク指令値trq_cmdが設定される。これにより、制御点ＰCにおいてアームＡに力を発生させるための第２トルク指令値trq2_cmdと、当該制御点ＰCよりも基体Ｂ１に対して近い側の関節機構Ｊkの第１トルク指令値trq1_cmd(k)とが相互に干渉することが回避されうる。
【００３５】
NcT=I-JcTJc*T, Jc*T=ΛcJcA-1, Λc-1=JcA-1JcT..(231)。
【００３６】
trq_cmd=NcTtrq1_cmd+trq2_cmd,
trq1_cmd=(trq1_cmd(1), ..trq1_cmd(i), trq1_cmd(i+1), ..trq1_cmd(N)),
trq2_cmd=(trq2_cmd(1), ..trq2_cmd(i), 0, ..0) ..(232)。
【００３７】
したがって、制御点ＰCにおいてアームＡに作用する外力Ｆは、第ｉリンクＬi及び第ｉリンクＬiよりも基体Ｂ１に対して近い側にある関節機構Ｊ1〜Ｊi-1のトルク指令値trq_cmd（１）〜trq_cmd（ｉ）に反映される。その一方、当該力Ｆは、第ｉリンクＬiよりも基体Ｂ１に対して遠い側にある関節機構Ｊi+1〜ＪNのトルク指令値trq_cmd（ｉ＋１）〜trq_cmd（Ｎ）には反映されない。
【００３８】
（全身運動生成要素の機能）
全身運動生成要素２２により、各関節角度ｑの測定値ｑactに基づき、全身キネマティクスモデルにしたがってロボット１の全身運動が計算される。これにより、基体Ｂ１の位置ＰB1[XYZ]及び姿勢θB1[XYZ]が設定される。
【００３９】
（拘束力算出要素の機能）
拘束力算出要素２３は、拘束力モデルとしての仮想力モデル（ＶＦＭ）を用いて、基体Ｂ１及び各リンクＬiに対して作用する仮想的な拘束力ＦCFM（ｋ）（ｋ＝１〜Ｍ）を算出する。仮想力モデルによれば、Ｍ個の仮想的な拘束要素ＣＦＭ（ｋ）により、基体Ｂ１及び各リンクＬiの相互拘束力が定義されている。一のリンクＬiに対して定義される拘束要素の数は１に限定される必要はなく複数であってもよい。リンクの数と、拘束要素の数とは一致していなくてもよい。拘束要素ＣＦＭ（ｋ）は、任意数の仮想的な弾性要素（バネ要素）及び減衰要素（ダンパ要素）の任意の組み合わせにより構成されている。各拘束要素ＣＦＭ（ｋ）の構成は同一であってもよく、相違していてもよい。
【００４０】
例えば、拘束要素ＣＦＭ（ｋ）が、図３（ａ）に示されているように、並列接続されている仮想的な弾性要素（弾性係数Ｋ）及び減衰要素（減衰係数Ｄ）により構成されている。そのほか、拘束要素ＣＦＭ（ｋ）が、図３（ｂ）に示されているように、並列接続されている仮想的な弾性要素（弾性係数Ｋ１）及び減衰要素（減衰係数Ｄ）と、これらに直列接続されているさらなる弾性要素（弾性係数Ｋ２）とにより構成されていてもよい。
【００４１】
拘束力算出要素２３によれば、拘束要素ＣＦＭ（ｋ）の基体Ｂ１側の端点ＰB1_CFM（ｋ）及びアームＡ側の端点ＰA_CFM（ｋ）の間隔Ｌ（ｋ）及びその変化速度ｄＬ（ｋ）／ｄｔが算出される。
【００４２】
第ｋ拘束要素ＣＦＭ（ｋ）が並列接続されている仮想的な弾性要素及び減衰要素により定義されている場合（図３（ａ）参照）、第ｋ拘束要素ＣＦＭ（ｋ）による基体Ｂ１及び該当リンクＬiの相互拘束力ＦCFM（ｋ）が、弾性要素の弾性係数（バネ係数）Ｋ（ｋ）及び減衰要素の減衰係数（ダンパ係数）Ｄ（ｋ）に基づき、関係式（２３３）にしたがって算出される。
【００４３】
FCFM(k)=K(k)×L(k)+D(k)×(dL(k)/dt) ..(233)。
【００４４】
仮想力モデルに代えて接触力センサモデル（ＣＳＭ）が拘束力モデルとして採用されてもよい。この場合、グローバル座標系における接触力ＦCSM（ｋ）が第ｉリンクＬiに作用する拘束力ＦCFM（ｋ）として定義される。
【００４５】
（位置・姿勢指令要素の機能）
位置・姿勢指令要素２４により、基体Ｂ１の位置指令値ＰB1_cmd[XYZ]及び姿勢指令値θB1_cmd[XYZ]が計算される。
【００４６】
具体的には、各拘束要素ＣＦＭ(k)の基体Ｂ１側の端点ＰB1_CFM(k)の重心ＰICFM＝Σk=1~MＰB1_CFM(k)を始点とし、各拘束力ＦCFM(k)の合力である合計拘束力（ベクトル）ＦICFM＝Σk=1~MＦCFM(k)が算出される（図４（ａ）参照）。合計拘束力ＦICFM（大きさ）に対して関係式（２４０）により表わされるリミット処理が施されることにより、１次合計拘束力ＦICFM*（ベクトル）が求められる（図４（ｂ）参照）。
【００４７】
FICFM*=0 (if FICFM<Fmin),
=FICFM (if Fmin≦FICFM≦Fmax),
=FICFM (if Fmax<FICFM) ..(240)。
【００４８】
１次合計拘束力ＦICFM*が基体座標系に射影された結果が２次合計拘束力ＦICFM**として求められる（図４（ｂ）参照）。「基体座標系」は、基体Ｂ１の重心等の代表点を原点とし、基体Ｂ１の体幹回転中心軸をＺ軸（ヨー軸）とする３次元直交座標系である。２次合計拘束力ＦICFM**からオイラー角δθICFM[XYZ]＝（δθICFM[X]、δθICFM[Y]、δθICFM[Z]）が算出される。当該オイラー角及びゲイン行列Ｍθ＝Ｄｉａｇ（ＭθX，ＭθY，ＭθZ）を用いて、関係式（２４１）にしたがって各軸回りの角度変化量δθB1[XYZ]が計算される。
【００４９】
δθB1[XYZ]=MθδθICFM[XYZ] ..(241)。
【００５０】
そして、関係式（２４２）にしたがって、基体Ｂ１の最終的な姿勢指令値θB1_cmd[XYZ]が計算される（図５（ａ）参照）。
【００５１】
θB1_cmd[XYZ]=δθB1[XYZ]+θB1[XYZ]..(242)。
【００５２】
ロボット１が有する力センサ（図示略）の出力信号に基づき、アームＡの根元部分ＰB1_A（例えば第１関節機構Ｊ1）に作用する力Ｆact [XYZ]が測定される。当該力測定値と、コンプライアンス係数Ｋcmp[XYZ]を用いて、関係式（２４３）にしたがって各軸方向の変位量δＰB1[XYZ]に変換される。
【００５３】
δPB1[XYZ]=Fact[XYZ]/Kcmp[XYZ] ..(243)。
【００５４】
そして、関係式（２４４）にしたがって、基体Ｂ１の最終的な位置指令値ＰB1_cmd[XYZ]が計算される。
【００５５】
PB1_cmd[XYZ]=δPB1[XYZ]+PB1[XYZ]..(244)。
【００５６】
外力Ｆの影響により支持機構Ｂ２が床面に対して傾斜する可能性がある。そこで、ロボット１が有する傾斜センサ（ジャイロセンサなど）により支持機構Ｂ２の傾斜角度θB2[XY]及び角速度dθB2[XY]/dtが推定される（図５参照）。当該推定結果に基づき、関係式（２４５）にしたがって、Ｘ軸及びＹ軸回りの第２姿勢変化量δθB2_cmd[XY]に変換される。この場合、第２姿勢変化量δθB2_cmd[XY]が加えられた形で基体Ｂ１の最終的な姿勢指令値θB1_cmd[XYZ]が計算される（図５（ｂ）参照）。
【００５７】
δθB2_cmd[XY]=KP_B2[XY]θB2[XY]+KV_B2[XY](dθB2[XY]/dt) ..(245)。
【００５８】
（支持機構制御要素の機能）
支持機構制御要素２５により、支持機構Ｂ２の動作が制御されることにより、基体Ｂ１の位置ＰB1及び姿勢θB1が制御される。この際、ロボット１の姿勢安定化のため、ロボット１のＺＭＰが接地領域により画定される支持安定領域に含まれるように、支持機構Ｂ２の動作が制御される。例えば、接地状態を維持したままの支持機構Ｂ２の動作によって基体Ｂ１の位置ＰB1及び姿勢θB1が制御されてもよい（図５（ａ）（ｂ）実線参照）。接地位置を変更するような支持機構Ｂ２の動作によって基体Ｂ１の位置ＰB1及び姿勢θB1が制御されてもよい（図５（ａ）（ｂ）破線及び斜線矢印参照）。また、支持機構Ｂ２はトルク指令型ではなく、関節角度指令型の制御対象として制御される。
【００５９】
（実施例１）
オペレータが、ロボットの腕体をつかんで動かした場合の当該ロボットの動作が検証された。ロボットは、図６に示されているように、脚式移動ロボットであり、人間と同様に、基体Ｂ１と、基体Ｂ１の上方に配置された頭部Ｂ０と、基体Ｂ１の上部に上部両側から延設された左右のアームＡと、基体Ｂ１の下部から下方に延設された左右の脚体（支持機構）Ｂ２とを備えている（再表０３／０９０９７８号公報及び再表０３／０９０９７９号公報等参照）。
【００６０】
基体Ｂ１はヨー軸回りに相対的に回動しうるように上下に連結された上部および下部により構成されている。頭部Ｂ０は基体Ｂ１に対してヨー軸回りに回動する等、動くことができる。
【００６１】
アームＡは第１リンクＬ１と、第２リンクＬ２とを備えている。左右のアームＡのそれぞれの先端にはハンド（第３リンク）Ｌ３が設けられている。基体Ｂ１と第１リンクＬ１とは第１関節機構（肩関節機構）Ｊ１を介して連結され、第１リンクＬ１と第２リンクＬ２とは第２関節機構（肘関節機構）Ｊ２を介して連結され、第２リンクＬ２とハンドＬ３とは第３関節機構（手首関節機構）Ｊ３を介して連結されている。第１関節機構Ｊ１はロール、ピッチおよびヨー軸回りの回動自由度を有し、第２関節機構Ｊ２はピッチ軸回りの回動自由度を有し、第３関節機構Ｊ３はロール、ピッチ、ヨー軸回りの回動自由度を有している。
【００６２】
脚体Ｂ２は第１脚体リンクＢＬ１と、第２脚体リンクＢＬ２と、足平部ＢＬ３とを備えている。基体Ｂ１と第１脚体リンクＢＬ１とは股関節機構（第１脚関節機構）ＢＪ１を介して連結され、第１脚体リンクＢＬ１と第２脚体リンクＢＬ２とは膝関節機構（第２脚関節機構）ＢＪ２を介して連結され、第２脚体リンクＢＬ２と足平部ＢＬ３とは足関節機構（第３脚関節機構）ＢＪ３を介して連結されている。
【００６３】
股関節機構ＢＪ１はロール、ピッチおよびロール軸回りの回動自由度を有し、膝関節機構ＢＪ２はピッチ軸回りの回動自由度を有し、足関節機構ＢＪ３はロールおよびピッチ軸回りの回動自由度を有している。股関節機構ＢＪ１、膝関節機構ＢＪ２および足関節機構ＢＪ３は「脚関節機構群」を構成する。なお、脚関節機構群に含まれる各関節機構の並進および回転自由度は適宜変更されてもよい。また、股関節機構ＢＪ１、膝関節機構ＢＪ２および足関節機構ＢＪ３のうち任意の１つの関節機構が省略された上で、残りの２つの関節機構の組み合わせにより脚関節機構群が構成されていてもよい。さらに、脚体Ｂ２が膝関節とは別の第２脚関節機構を有する場合、当該第２脚関節機構が含まれるように脚関節機構群が構成されてもよい。足部ＢＬ３の底には着地時の衝撃緩和のため弾性素材が設けられている（特開２００１−１２９７７４号公報参照）。
【００６４】
ロボット１の脚体Ｂ２の動作は、特許第３１３２１５６号公報等に記載されている姿勢安定化の手法にしたがって制御される。アームＡの動作は、本発明の重力トルクのみが補償されている受動的な関節駆動モードにしたがって制御される。
【００６５】
本実施例では、図７に示されているように、基体Ｂ１と、左右の第１リンクＬ１［Ｒ］及びＬ１［Ｌ］のそれぞれとの間に端点が異なる２つの拘束要素が定義されている。また、基体Ｂ１と、左右の第２リンクＬ２［Ｒ］及びＬ２［Ｌ］のそれぞれとの間に１つの拘束要素が定義されている。基体Ｂ１の姿勢のみが制御される。基体Ｂ１の基準位置（腰部）の拘束条件は設定されない。
【００６６】
図８（ａ）〜（ｃ）のそれぞれに黒矢印で示されているように、右アームＡ［Ｒ］に外力を作用させた場合（例えば、オペレータが右アームＡ［Ｒ］を掴んで力を加えた場合）のロボット１の動作について検証した。その結果、図８（ａ）〜（ｃ）のそれぞれに白矢印で示されているように、基体Ｂ１のＸ軸、Ｙ軸及びＺ軸のそれぞれの回りの姿勢変化によって当該外力が吸収されるように脚体Ｂ２の動作が制御されることが確認された。
【００６７】
（実施例２）
実施例２では、実施例１と同じ脚式移動ロボット１（図６参照）を対象として、図９（ａ）（ｂ）のそれぞれに黒矢印で示されているように、右アームＡ［Ｒ］及び左アームＡ［Ｌ］のそれぞれに外力を作用させた場合のロボット１の動作について検証した。その結果、基体Ｂ１の姿勢変化だけでは吸収しきれない外力成分が吸収されるように、図９（ａ）（ｂ）のそれぞれに白矢印で示されているように、足平部ＢＬ３の位置が変更されるように脚体Ｂ２の動作が制御されることが確認された。
【符号の説明】
【００６８】
１‥ロボット、２‥制御装置、Ａ‥アーム、Ｂ１‥基体、Ｂ２‥支持機構、Ｊi‥関節機構、Ｌi‥リンク。
【図１】
2015062971.tif 000003
【図２】
2015062971.tif 000004
【図３】
2015062971.tif 000005
【図４】
2015062971.tif 000006
【図５】
2015062971.tif 000007
【図６】
2015062971.tif 000008
【図７】
2015062971.tif 000009
【図８】
2015062971.tif 000010
【図９】
2015062971.tif 000011