"基端が固定部材に揺動可能に支持されたリンクと、前記固定部材に対して前記リンクを揺動させる駆動部と、を有するリンク機構を備え、前記リンクを第1の揺動方向に揺動させる駆動力を示す第1の駆動力指令値と、前記リンクを前記第1の揺動方向とは反対の第2の揺動方向に揺動させる駆動力を示す第2の駆動力指令値との差に基づき前記駆動部を動作させて前記リンクの揺動動作を制御すると共に、前記第1の駆動力指令値と前記第2の駆動力指令値との和に基づき前記駆動部を動作させて前記固定部材と前記リンクとの関節の剛性を制御するロボット装置の制御方法において、前記固定部材に対する前記リンクの揺動角度と目標揺動角度との偏差を算出する偏差算出ステップと、前記偏差を補償するトルク指令値T1を生成するトルク指令生成ステップと、前記トルク指令値T1の絶対値を、前記リンクの揺動中心点を中心とするモーメントアームの長さrと前記第1及び第2の駆動力指令値の和を示す剛性指令値U1との乗算値U1×r以下に制約する制約関数に従って、前記トルク指令値T1を補正するトルク指令補正ステップと、前記トルク指令補正ステップにより補正されたトルク指令値T1を用いて、前記各駆動力指令値を、U1T1/r/2,U1-T1/r/2の演算式により求める駆動力指令値演算ステップと、を備えたことを特徴とするロボット装置の制御方法。前記ロボット装置が、前記リンクに外力が作用したことにより検知信号を発生するセンサを有しており、前記偏差算出ステップでは、前記センサから検知信号が出力されている期間には0以上1以下の範囲内の値であり、前記センサからの検知信号の出力が停止されている期間には1の値である係数値Gtを前記偏差に乗じた、新たな偏差を算出することを特徴とする請求項1に記載のロボット装置の制御方法。前記偏差算出ステップでは、前記センサから検知信号が出力されている期間において、前記係数値Gtを0に設定することを特徴とする請求項2に記載のロボット装置の制御方法。前記偏差算出ステップでは、前記センサから検知信号が出力されている期間において、前記係数値Gtを、時間が経過するに連れて初期値から大きくなるように設定することを特徴とする請求項2に記載のロボット装置の制御方法。前記トルク指令生成ステップでは、前記センサから検知信号が出力されている期間は、前記偏差算出ステップにより算出された偏差に対してPID制御演算を行い、この演算結果に対して前記係数値Gtを乗じた値に、前記センサから検知信号が出力される直前のPID制御演算の演算結果に1-Gtの値を乗じた値を加算して、トルク指令値Tを生成する、ことを特徴とする請求項2乃至4のいずれか1項に記載のロボット装置の制御方法。前記固定部材が4足歩行ロボットの胴体であり、前記リンク機構が前記胴体に接続された4つの支持脚のうちのいずれかの支持脚であり、前記リンクの軌道データに基づいて前記目標揺動角度を設定する目標設定ステップを備え、前記偏差算出ステップでは、前記センサから検知信号が出力されている期間においては、前記リンクの脚相に応じて、前記係数値Gtを0又は1に決定し、前記目標設定ステップでは、前記係数値Gtが0から1に変更されたときに、前記軌道データを前記偏差に基づいて再計算することを特徴とする請求項2乃至5のいずれか1項に記載のロボット装置の制御方法。前記制約関数は、前記トルク指令生成ステップで生成したトルク指令値T1の絶対値が前記乗算値U1×r以下の場合は、前記トルク指令生成ステップで生成したトルク指令値T1のままとし、前記トルク指令生成ステップで生成したトルク指令値T1の絶対値が前記乗算値U1×rを上回った場合は、絶対値が前記乗算値U1×rに制限された新たなトルク指令値T1を生成する飽和関数であることを特徴とする請求項1乃至6のいずれか1項に記載のロボット装置の制御方法。前記制約関数は、±U1×rを漸近線とする双曲線正接関数であることを特徴とする請求項1乃至6のいずれか1項に記載のロボット装置の制御方法。前記駆動部が、一端が前記固定部材に接続され、他端が前記リンクに接続され、収縮により駆動力を発生させて前記リンクを揺動させる一対の一関節筋アクチュエータであることを特徴とする請求項1乃至8のいずれか1項に記載のロボット装置の制御方法。前記駆動部が、前記関節に設けられた回転モータであることを特徴とする請求項1乃至8のいずれか1項に記載のロボット装置の制御方法。基端が固定部材に揺動可能に支持された第1のリンクと、基端が前記第1のリンクの先端に揺動可能に支持された第2のリンクと、前記固定部材と前記第1のリンクとに接続され、駆動力の差により前記第1のリンクを揺動させる一対の第1のアクチュエータと、前記第1のリンクと前記第2のリンクとに接続され、駆動力の差により前記第2のリンクを揺動させる一対の第2のアクチュエータと、前記固定部材と前記第2のリンクとに接続され、駆動力の差により前記第1のリンク及び前記第2のリンクを揺動させる一対の第3のアクチュエータと、を有するリンク機構を備え、前記一対の第1のアクチュエータ、前記一対の第2のアクチュエータ及び前記一対の第3のアクチュエータの各アクチュエータの駆動力を、各駆動力指令値により設定して、前記第1のリンク及び前記第2のリンクの動作を制御するロボット装置の制御方法において、前記固定部材に対する前記第1のリンクの第1の揺動角度と第1の目標揺動角度との第1の偏差を算出する第1の偏差算出ステップと、前記第1の偏差を補償する第1のトルク指令値T1を生成する第1のトルク指令生成ステップと、前記第1のトルク指令値T1の絶対値を、前記第1のリンクの揺動中心点を中心とするモーメントアームの長さr1と前記一対の第1のアクチュエータの駆動力指令値の和を示す第1の剛性指令値U1との第1の乗算値U1×r1以下に制約する第1の制約関数に従って、前記第1のトルク指令値T1を補正する第1のトルク指令補正ステップと、前記第1のトルク指令補正ステップにより補正された第1のトルク指令値T1を用いて、前記各第1のアクチュエータの駆動力指令値を、U1T1/r1/2,U1-T1/r1/2の演算式により求める第1の駆動力指令値演算ステップと、前記第1のリンクに対する前記第2のリンクの第2の揺動角度と第2の目標揺動角度との第2の偏差を算出する第2の偏差算出ステップと、前記第2の偏差を補償する第2のトルク指令値T2を生成する第2のトルク指令生成ステップと、前記第2のトルク指令値T2の絶対値を、前記第2のリンクの揺動中心点を中心とするモーメントアームの長さr2と、前記一対の第2のアクチュエータの駆動力指令値の和を示す第2の剛性指令値U2との第2の乗算値U2×r2以下に制約する第2の制約関数に従って、前記第2のトルク指令値T2を補正する第2のトルク指令補正ステップと、前記第2のトルク指令補正ステップにより補正された第2のトルク指令値T2を用いて、前記各第2のアクチュエータの駆動力指令値を、U2T2/r2/2,U2-T2/r2/2の演算式により求める第2の駆動力指令値演算ステップと、を備えたことを特徴とするロボット装置の制御方法。前記第1のリンク及び前記第2のリンクが揺動する平面内に直交座標系を定義し、前記第2のリンクの先端における剛性の大きさを、前記直交座標系に前記第2のリンクの先端を中心とするスティフネス楕円で表し、前記スティフネス楕円の長軸及び短軸のうちの一方の軸が前記直交座標系における基準軸に対して平行となるように、前記一対の第3のアクチュエータの駆動力指令値の和を示す第3の剛性指令値U3を生成する剛性指令値生成ステップと、前記第3の剛性指令値U3に基づいて前記各第3のアクチュエータの駆動力指令値を求める第3の駆動力指令値演算ステップと、を備えたことを特徴とする請求項11に記載のロボット装置の制御方法。基端が固定部材に揺動可能に支持されたリンク、前記固定部材に対して前記リンクを揺動させる駆動部を有するリンク機構と、前記リンクを第1の揺動方向に揺動させる駆動力を示す第1の駆動力指令値と、前記リンクを前記第1の揺動方向とは反対の第2の揺動方向に揺動させる駆動力を示す第2の駆動力指令値との差に基づき前記駆動部を動作させて前記リンクの揺動動作を制御すると共に、前記第1の駆動力指令値と前記第2の駆動力指令値との和に基づき前記駆動部を動作させて前記固定部材と前記リンクとの関節の剛性を制御する制御装置と、を備え、前記制御装置は、前記固定部材に対する前記リンクの揺動角度を検知する揺動角度検知センサと、前記揺動角度と目標揺動角度との偏差を算出する偏差算出部と、前記偏差を補償するトルク指令値T1を生成するトルク指令生成部と、前記トルク指令値T1の絶対値を、前記リンクの揺動中心点を中心とするモーメントアームの長さrと前記各駆動力指令値の和を示す剛性指令値U1との乗算値U1×r以下に制約する制約関数に従って、前記トルク指令値T1を補正するトルク指令補正部と、前記トルク指令補正部で補正したトルク指令値T1を用いて、前記各駆動力指令値を、U1T1/r/2,U1-T1/r/2の演算式により求める駆動力指令値演算部と、を有する特徴とするロボット装置。基端が固定部材に揺動可能に支持された第1のリンクと、基端が前記第1のリンクの先端に揺動可能に支持された第2のリンクと、前記固定部材と前記第1のリンクとに接続され、駆動力の差により前記第1のリンクを揺動させる一対の第1のアクチュエータと、前記第1のリンクと前記第2のリンクとに接続され、駆動力の差により前記第2のリンクを揺動させる一対の第2のアクチュエータと、前記固定部材と前記第2のリンクとに接続され、駆動力の差により前記第1のリンク及び前記第2のリンクを揺動させる一対の第3のアクチュエータと、を有するリンク機構と、前記一対の第1のアクチュエータ、前記一対の第2のアクチュエータ及び前記一対の第3のアクチュエータの各アクチュエータの駆動力を、各駆動力指令値により設定して、前記第1のリンク及び前記第2のリンクの動作を制御する制御装置と、を備え、前記制御装置は、前記固定部材に対する前記第1のリンクの第1の揺動角度を検知する第1の揺動角度検知センサと、前記第1の揺動角度と第1の目標揺動角度との第1の偏差を算出する第1の偏差算出部と、前記第1の偏差を補償する第1のトルク指令値T1を生成する第1のトルク指令生成部と、前記第1のトルク指令値T1の絶対値を、前記第1のリンクの揺動中心点を中心とするモーメントアームの長さr1と前記一対の第1のアクチュエータの駆動力指令値の和を示す第1の剛性指令値U1との第1の乗算値U1×r1以下に制約する第1の制約関数に従って、前記第1のトルク指令値T1を補正する第1のトルク指令補正部と、前記第1のトルク指令補正部で補正した第1のトルク指令値T1を用いて、前記各第1のアクチュエータの駆動力指令値を、U1T1/r1/2,U1-T1/r1/2の演算式により求める第1の駆動力指令値演算部と、前記第2のリンクの前記第1のリンクに対する第2の揺動角度を検知する第2の揺動角度検知センサと、前記第2の揺動角度と第2の目標揺動角度との第2の偏差を算出する第2の偏差算出部と、前記第2の偏差を補償する第2のトルク指令値T2を生成する第2のトルク指令生成部と、前記第2のトルク指令値T2の絶対値を、前記第2のリンクの揺動中心点を中心とするモーメントアームの長さr2と、前記一対の第2のアクチュエータの駆動力指令値の和を示す第2の剛性指令値U2との第2の乗算値U2×r2以下に制約する第2の制約関数に従って、前記第2のトルク指令値T2を補正する第2のトルク指令補正部と、前記第2のトルク指令補正部で補正した第2のトルク指令値T2を用いて、前記各第2のアクチュエータの駆動力指令値を、U2T2/r2/2,U2-T2/r2/2の演算式により求める第2の駆動力指令値演算部と、を有することを特徴とするロボット装置。しかしながら、上記特許文献1では、リンクの揺動角度を検知して目標揺動角度となるようにフィードバック制御を行っているが、関節におけるリンクの揺動角度のみを制御しており、関節におけるリンクの柔軟さ剛性を変動させる制御は実現していない。更に、上記特許文献2では、フィードフォワード制御によりリンクの揺動角度と関節におけるリンクの柔軟性の同時制御を行っている。フィードフォワード制御入力は、目標値との誤差を繰り返し修正することによって求められているため、その生成に要する計算量は非常に大きい。そのため、リンクの揺動角度やリンクとリンクを接続する関節の柔軟性の目標値を変更する度に、再び繰り返し演算をする必要があり、目標値を変更した際に、演算に時間を要するという問題がある。なお、これらの問題は、リンクを駆動する駆動部として人工筋肉アクチュエータを用いた場合に限らず、駆動部として回転モータを用いて制御する場合についても同様である。そこで、本発明は、フィードバック制御により、リンクの角度制御と関節の剛性制御を行うロボット装置の制御方法及びロボット装置を提供することを目的とするものである。本発明のロボット装置の制御方法は、基端が固定部材に揺動可能に支持されたリンクと、前記固定部材に対して前記リンクを揺動させる駆動部と、を有するリンク機構を備え、前記リンクを第1の揺動方向に揺動させる駆動力を示す第1の駆動力指令値と、前記リンクを前記第1の揺動方向とは反対の第2の揺動方向に揺動させる駆動力を示す第2の駆動力指令値との差に基づき前記駆動部を動作させて前記リンクの揺動動作を制御すると共に、前記第1の駆動力指令値と前記第2の駆動力指令値との和に基づき前記駆動部を動作させて前記固定部材と前記リンクとの関節の剛性を制御するロボット装置の制御方法において、前記固定部材に対する前記リンクの揺動角度と目標揺動角度との偏差を算出する偏差算出ステップと、前記偏差を補償するトルク指令値T1を生成するトルク指令生成ステップと、前記トルク指令値T1の絶対値を、前記リンクの揺動中心点を中心とするモーメントアームの長さrと前記第1及び第2の駆動力指令値の和を示す剛性指令値U1との乗算値U1×r以下に制約する制約関数に従って、前記トルク指令値T1を補正するトルク指令補正ステップと、前記トルク指令補正ステップにより補正されたトルク指令値T1を用いて、前記各駆動力指令値を、U1T1/r/2,U1-T1/r/2の演算式により求める駆動力指令値演算ステップと、を備えたことを特徴とする。また、本発明のロボット装置の制御方法は、基端が固定部材に揺動可能に支持された第1のリンクと、基端が前記第1のリンクの先端に揺動可能に支持された第2のリンクと、前記固定部材と前記第1のリンクとに接続され、駆動力の差により前記第1のリンクを揺動させる一対の第1のアクチュエータと、前記第1のリンクと前記第2のリンクとに接続され、駆動力の差により前記第2のリンクを揺動させる一対の第2のアクチュエータと、前記固定部材と前記第2のリンクとに接続され、駆動力の差により前記第1のリンク及び前記第2のリンクを揺動させる一対の第3のアクチュエータと、を有するリンク機構を備え、前記一対の第1のアクチュエータ、前記一対の第2のアクチュエータ及び前記一対の第3のアクチュエータの各アクチュエータの駆動力を、各駆動力指令値により設定して、前記第1のリンク及び前記第2のリンクの動作を制御するロボット装置の制御方法において、前記固定部材に対する前記第1のリンクの第1の揺動角度と第1の目標揺動角度との第1の偏差を算出する第1の偏差算出ステップと、前記第1の偏差を補償する第1のトルク指令値T1を生成する第1のトルク指令生成ステップと、前記第1のトルク指令値T1の絶対値を、前記第1のリンクの揺動中心点を中心とするモーメントアームの長さr1と前記一対の第1のアクチュエータの駆動力指令値の和を示す第1の剛性指令値U1との第1の乗算値U1×r1以下に制約する第1の制約関数に従って、前記第1のトルク指令値T1を補正する第1のトルク指令補正ステップと、前記第1のトルク指令補正ステップにより補正された第1のトルク指令値T1を用いて、前記各第1のアクチュエータの駆動力指令値を、U1T1/r1/2,U1-T1/r1/2の演算式により求める第1の駆動力指令値演算ステップと、前記第1のリンクに対する前記第2のリンクの第2の揺動角度と第2の目標揺動角度との第2の偏差を算出する第2の偏差算出ステップと、前記第2の偏差を補償する第2のトルク指令値T2を生成する第2のトルク指令生成ステップと、前記第2のトルク指令値T2の絶対値を、前記第2のリンクの揺動中心点を中心とするモーメントアームの長さr2と、前記一対の第2のアクチュエータの駆動力指令値の和を示す第2の剛性指令値U2との第2の乗算値U2×r2以下に制約する第2の制約関数に従って、前記第2のトルク指令値T2を補正する第2のトルク指令補正ステップと、前記第2のトルク指令補正ステップにより補正された第2のトルク指令値T2を用いて、前記各第2のアクチュエータの駆動力指令値を、U2T2/r2/2,U2-T2/r2/2の演算式により求める第2の駆動力指令値演算ステップと、を備えたことを特徴とする。また、本発明のロボット装置は、基端が固定部材に揺動可能に支持されたリンク、前記固定部材に対して前記リンクを揺動させる駆動部を有するリンク機構と、前記リンクを第1の揺動方向に揺動させる駆動力を示す第1の駆動力指令値と、前記リンクを前記第1の揺動方向とは反対の第2の揺動方向に揺動させる駆動力を示す第2の駆動力指令値との差に基づき前記駆動部を動作させて前記リンクの揺動動作を制御すると共に、前記第1の駆動力指令値と前記第2の駆動力指令値との和に基づき前記駆動部を動作させて前記固定部材と前記リンクとの関節の剛性を制御する制御装置と、を備え、前記制御装置は、前記固定部材に対する前記リンクの揺動角度を検知する揺動角度検知センサと、前記揺動角度と目標揺動角度との偏差を算出する偏差算出部と、前記偏差を補償するトルク指令値T1を生成するトルク指令生成部と、前記トルク指令値T1の絶対値を、前記リンクの揺動中心点を中心とするモーメントアームの長さrと前記各駆動力指令値の和を示す剛性指令値U1との乗算値U1×r以下に制約する制約関数に従って、前記トルク指令値T1を補正するトルク指令補正部と、前記トルク指令補正部で補正したトルク指令値T1を用いて、前記各駆動力指令値を、U1T1/r/2,U1-T1/r/2の演算式により求める駆動力指令値演算部と、を有する特徴とする。また、本発明のロボット装置は、基端が固定部材に揺動可能に支持された第1のリンクと、基端が前記第1のリンクの先端に揺動可能に支持された第2のリンクと、前記固定部材と前記第1のリンクとに接続され、駆動力の差により前記第1のリンクを揺動させる一対の第1のアクチュエータと、前記第1のリンクと前記第2のリンクとに接続され、駆動力の差により前記第2のリンクを揺動させる一対の第2のアクチュエータと、前記固定部材と前記第2のリンクとに接続され、駆動力の差により前記第1のリンク及び前記第2のリンクを揺動させる一対の第3のアクチュエータと、を有するリンク機構と、前記一対の第1のアクチュエータ、前記一対の第2のアクチュエータ及び前記一対の第3のアクチュエータの各アクチュエータの駆動力を、各駆動力指令値により設定して、前記第1のリンク及び前記第2のリンクの動作を制御する制御装置と、を備え、前記制御装置は、前記固定部材に対する前記第1のリンクの第1の揺動角度を検知する第1の揺動角度検知センサと、前記第1の揺動角度と第1の目標揺動角度との第1の偏差を算出する第1の偏差算出部と、前記第1の偏差を補償する第1のトルク指令値T1を生成する第1のトルク指令生成部と、前記第1のトルク指令値T1の絶対値を、前記第1のリンクの揺動中心点を中心とするモーメントアームの長さr1と前記一対の第1のアクチュエータの駆動力指令値の和を示す第1の剛性指令値U1との第1の乗算値U1×r1以下に制約する第1の制約関数に従って、前記第1のトルク指令値T1を補正する第1のトルク指令補正部と、前記第1のトルク指令補正部で補正した第1のトルク指令値T1を用いて、前記各第1のアクチュエータの駆動力指令値を、U1T1/r1/2,U1-T1/r1/2の演算式により求める第1の駆動力指令値演算部と、前記第2のリンクの前記第1のリンクに対する第2の揺動角度を検知する第2の揺動角度検知センサと、前記第2の揺動角度と第2の目標揺動角度との第2の偏差を算出する第2の偏差算出部と、前記第2の偏差を補償する第2のトルク指令値T2を生成する第2のトルク指令生成部と、前記第2のトルク指令値T2の絶対値を、前記第2のリンクの揺動中心点を中心とするモーメントアームの長さr2と、前記一対の第2のアクチュエータの駆動力指令値の和を示す第2の剛性指令値U2との第2の乗算値U2×r2以下に制約する第2の制約関数に従って、前記第2のトルク指令値T2を補正する第2のトルク指令補正部と、前記第2のトルク指令補正部で補正した第2のトルク指令値T2を用いて、前記各第2のアクチュエータの駆動力指令値を、U2T2/r2/2,U2-T2/r2/2の演算式により求める第2の駆動力指令値演算部と、を有することを特徴とする。本発明によれば、簡便なフィードバック制御系により、リンクの角度制御と関節におけるリンクの剛性制御の同時制御を実現することができる。これにより、リンクの揺動角度と剛性の目標値が変更されても、繰り返し演算を行う必要がないので、迅速にリンクの揺動角度及び関節の剛性を目標値に調整することができる。以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。[第1実施形態]図1は、本発明の第1実施形態に係るロボット装置に適用されるアクチュエータの粘弾性モデルを示す図である。本第1実施形態では、ロボット装置として、空気圧式の人工筋肉アクチュエータを用いたマニピュレータの関節角度と関節の剛性の同時制御を例として説明する。1モデリング人工筋肉アクチュエータは、筋の粘弾性と呼ばれる特性と類似する特性を有するアクチュエータである。人工筋肉アクチュエータは、図1に示すように、力発生要素と弾性要素と粘性要素を用いてモデル化される。ここで、uを力発生要素の収縮力、xを収縮方向を正とする筋の収縮量とする。収縮速度は、以下の式となる。また、k弾性力定数、bを粘性力定数、Fを筋収縮力とする。このとき、筋の粘弾性特性は、とモデル化され、筋収縮力の弾性力、粘性力は、力発生要素の収縮力uに比例するという非線形要素を有する点が特徴的である。次に、本第1実施形態のロボット装置を図2に示す。図2に示すロボット装置100は、いわゆる1リンクマニピュレータであり、リンク101と、一対のアクチュエータe1,f1からなる駆動部120と、固定部材であるベース部材103及びベース部材103から延びる棒状のアーム部材104とを備えている。リンク101は、長手部材からなり、その基端101aが固定部材であるアーム部材104の長手方向の先端に揺動可能に支持されている。このリンク101の先端101bには、不図示のエンドエフェクタ例えばハンドが設けられている。つまり、リンク101は、関節で揺動可能に支持されている。各アクチュエータe1,f1は、一関節筋アクチュエータであり、一端が固定部材であるベース部材103に接続され、他端がリンク101の基端101aに接続されて、駆動力収縮力の差によりリンク101を揺動させるように拮抗配置されている。つまり、アクチュエータe1,f1は、リンク101を挟んでリンク101の両側に対称配置されている。また、ロボット装置100は、各アクチュエータe1,f1の駆動力を各駆動力指令値により設定して、リンク101の動作を制御する制御装置150を備えている。各アクチュエータe1,f1は、図1に示す空気圧式の人工筋肉アクチュエータである。人工筋肉アクチュエータは収縮方向にのみ力を発生するため、関節を任意の角度に位置決めするために、図2に示すように拮抗して配置されている。つまり、各アクチュエータe1,f1は、人工筋肉からなる一関節筋アクチュエータであるので、収縮することにより駆動力が発生する。したがって、アクチュエータe1,f1の収縮力が駆動力となる。拮抗配置されたアクチュエータe1,f1の力発生要素の駆動力収縮力をそれぞれue1,uf1、アーム部材104に対するリンク101の揺動角度をθ、リンクの慣性モーメントをIとする。また、モーメントアームの長さ、つまりリンク101の揺動中心点とリンク101におけるアクチュエータe1,f1の接続点との長さをrとする。運動方程式は、以下の式2となる。式2の右辺第1項における駆動力ue1,uf1の差が関節に回転トルクを与え、右辺第2項、第3項における駆動力ue1,uf1の和が関節におけるリンクの剛性、粘性を変動させることがわかる。2制御系設計本第1実施形態では、アーム部材104に対するリンク101の揺動角度を目標揺動角度に位置決めし、同時にアーム部材104とリンク101との関節におけるリンク101の剛性を制御することを目的としている。図3に本第1実施形態における制御装置150のブロック線図を示す。制御装置150は、リンク101を第1の揺動方向図1中、矢印と反対方向に揺動させる駆動力をアクチュエータe1に発生させる第1の駆動力指令値ue1を生成する。また、制御装置150は、リンク101を第1の揺動方向とは反対の第2の揺動方向図1中、矢印の方向に揺動させる駆動力をアクチュエータf1に発生させる第2の駆動力指令値uf1を生成する。そして、制御装置150は、第1の駆動力指令値ue1と第2の駆動力指令値uf1との差に基づき、一対のアクチュエータe1,f1を動作させてリンク101の揺動動作を制御する。これと共に、制御装置150は、第1の駆動力指令値ue1と第2の駆動力指令値uf1との和に基づき一対のアクチュエータe1,f1を動作させてアーム部材104とリンク101との関節の剛性を制御する。ここで、固定部材であるアーム部材104に対するリンク101の目標揺動角度をra、アーム部材104とリンク101との関節におけるリンク101の目標剛性をrsとする。なお、図3中、符号Pで示すブロックは、アクチュエータe1,f1及びリンク101からなるリンク機構を示している。以下、制御装置150の構成について詳細に説明する。制御装置150は、アーム部材104に対するリンク101の揺動角度θ1を検知する揺動角度検知センサ1と、リンク101に外力が作用したときに外力が作用したことを示す検知信号を出力するタッチセンサ2とを備えている。また、制御装置150は、偏差算出部である減算器3及びゲイン調整器4と、トルク指令生成部であるPID制御器5と、剛性指令値U1にリンク101の揺動中心点を中心とするモーメントアームの長さrを乗算する乗算部としての乗算器6とを備えている。また、制御装置150は、PID制御器5が出力するトルク指令値T1を補正するトルク指令補正部である飽和回路7を備えている。また、制御装置150は、トルク指令値T1及び剛性指令値U1から各アクチュエータe1,f1への駆動力指令値ue1,uf1を演算により求める駆動力指令値演算部8を備えている。以下、各部について詳細に説明する。まず、揺動角度検知センサ1は、ポテンショメータ又はエンコーダ等のセンサであり、図1において、図示は省略しているが、アーム部材104とリンク101との関節に設けられており、アーム部材104の延びる方向を基準とする関節の角度を検知する。タッチセンサ2は、不図示のエンドエフェクタ例えばハンド又はリンク101に設けられ、エンドエフェクタ又はリンク101に接触物が接触したときに、検知信号を出力する。つまり、リンク101に外力が作用するとは、エンドエフェクタ又はリンク101に接触物が接触することを意味する。減算器3は、揺動角度θ1と目標揺動角度raとの偏差差分を示す値ra-θ1を算出する。ゲイン調整器4は、減算器3が出力した偏差を示す値ra-θ1に接触ゲインである係数値Gtを乗じて出力する。係数値Gtは、0以上1以下の範囲内の値であり、タッチセンサ2から検知信号がない場合センサ2からの検知信号の出力が停止されている期間には、係数値Gt=1として、入力した偏差を示す値ra-θ1を出力する。タッチセンサ2から検知信号が出力されている期間は、偏差を示す値ra-θ1に0以上1以下の範囲内の値に設定された係数値Gt本実施形態では、Gt=0を乗じて、新たな偏差を示す値つまり、ra-θ1=0を出力する。PID制御器5は、偏差を示す値ra-θ1に対してPID制御演算を行い、リンク101を揺動させるトルク指令値T1を生成する。即ち、このフィードバック制御系であるPID制御器5は、リンク101の揺動角度θ1と目標揺動角度raとの偏差を補償するためのつまり、揺動角度θ1を目標揺動角度raに近づけるためのトルク指令値T1を出力する。本第1実施形態では、PID制御器5の伝達関数は、としている。ここで、式2より、を満たすように駆動力指令値ue1,uf1を決定すれば、トルク指令値T1のトルクでリンク101を揺動させることができる。しかし、以下の式5に示す同時に関節におけるリンク101の剛性に関する条件を満たさなければならない。ここで、2つの駆動力指令値ue1,uf1の和を示す剛性指令値U1を定義すると、剛性指令値U1は、以下の式6となる。従って、剛性指令値U1は、目標剛性rsを用いた以下の式7となる。なお、弾性力定数k及びモーメントアームの長さrは定数であるので、目標剛性rsと剛性指令値U1は比例関係にあり同等である。この式7を満たすように、駆動力指令値ue1,uf1を決定する必要がある。そこで、トルク指令値T1と剛性指令値U1とを同時に満たすには、式4と式6をue1,uf1について解き、以下の式8とすればよい。しかし、人工筋肉アクチュエータは収縮方向にのみ力を発生する。そのため、以下の式9の条件を同時に満たさなければならない。式8と式9より以下の式10の条件が得られる。つまりトルク指令値T1は、以下の式11の条件となる。従って、式11の条件を満たしていれば、関節におけるリンク101の剛性が目標剛性rsとなると同時に、トルク指令値T1によりリンク101の揺動角度が目標角度raに位置決めされる。そこで、本第1実施形態では、乗算器6は、モーメントアームの長さrと剛性指令値U1との乗算値U1×rを算出し、飽和回路7は、式11を実現するために、制約関数に従って、トルク指令値T1を、式12の値に制約する。即ち、飽和回路7は、トルク指令値T1の絶対値を、モーメントアームの長さrと剛性指令値U1との乗算値U1×r以下に制約する制約関数に従って、トルク指令値T1を補正する。より具体的には、飽和回路7は、制約関数として飽和関数に従い、PID制御器5で生成したトルク指令値T1の絶対値が乗算値U1×r以下の場合は、PID制御器5で生成したトルク指令値T1をそのまま出力する。また、飽和回路7は、飽和関数に従い、PID制御器5で生成したトルク指令値T1の絶対値が乗算値U1×rを上回った場合は、絶対値が乗算値U1×rに制限された新たなトルク指令値T1を生成して出力する。なお、トルク指令補正部は、上述した飽和回路7である以外に、PID制御器5のゲインを変動させ、式11の範囲にトルク指令値T1制御入力の大きさを収めるように機能する回路であってもよい。以下、タッチセンサ2が検知信号を出力していない場合タッチセンサ2がOFFについて、図3を参照しながら制御装置150の動作を説明する。まず、揺動角度検知センサ1が、リンク101の揺動角度を検知する揺動角度検知ステップ。そして、減算器3が、リンク101の揺動角度θ1と目標揺動角度raとの偏差を示す値ra-θ1を算出する偏差算出ステップ。タッチセンサ2がOFFであるので、ゲイン調整器4は、乗算する係数値Gtが1であり、偏差を示す値ra-θ1をそのまま出力する。PID制御器5は、ゲイン調整器4から取得した偏差を示す値ra-θ1に対してPID制御演算を行い、リンク101を揺動させるトルク指令値T1を生成するトルク指令生成ステップ。乗算器6は、取得した剛性指令値U1とモーメントアームの長さrとの乗算値U1×rを算出する乗算ステップ。モーメントアームの長さrは、予め設定不図示の記憶装置に記憶された定数であり、乗算器6が剛性指令値U1を取得したときに、演算により乗算値U1×rを求める。なお、予め乗算値U1×rの計算結果をテーブルデータとして設定不図示の記憶装置に記憶しておき、乗算器6が剛性指令値U1を取得したときにテーブルデータを参照して乗算値U1×rを求めてもよい。飽和回路7は、PID制御器5で生成したトルク指令値T1の絶対値が乗算値U1×r以下の場合は、PID制御器5で生成したトルク指令値T1をそのまま出力する。また、飽和回路7は、PID制御器5で生成したトルク指令値T1の絶対値が乗算値U1×rを上回った場合は、絶対値が乗算値U1×r以下に制限された新たなトルク指令値T1を生成して出力するトルク指令補正ステップ。具体的には、飽和回路7は、絶対値が乗算値U1×rとする新たなトルク指令値T1を出力する。例えば、PID制御器5で生成したトルク指令値T1が、U1×rを上回る場合は、新たなトルク指令値T1をU1×rとする。また、PID制御器5で生成したトルク指令値T1が、-U1×rを下回る場合は、新たなトルク指令値T1を-U1×rとする。これにより、トルク指令値T1が式11に制限されるので、最終的に求められる各駆動力指令値ue1,uf1が、負の値となることはない。そして、駆動力指令値演算部8は、飽和回路7により出力されたトルク指令値T1を用いて、各駆動力指令値ue1,uf1を、U1T1/r/2,U1-T1/r/2の演算式に基づいて計算する駆動力指令値演算ステップ。なお、剛性指令値U1、トルク指令値T1及びモーメントアームの長さrに対応したU1T1/r/2,U1-T1/r/2の計算結果をテーブルデータとして予め設定不図示の記憶装置に記憶しておいてもよい。この場合、駆動力指令値演算部8は、剛性指令値U1、トルク指令値T1を取得したときに、U1T1/r/2,U1-T1/r/2の演算式に基づいた計算結果を、テーブルデータを参照して求めてもよい。そして、各アクチュエータe1,f1は、各駆動力指令値ue1,uf1に従って空気圧が調整され、各アクチュエータe1,f1の駆動力が各駆動力指令値ue1,uf1に設定される。以上の動作により、リンク101の揺動角度θ1が目標揺動角度raに調整され、且つ関節におけるリンク101の剛性が目標剛性rs=U1×k×r2に調整されように、フィードバック制御により、各駆動力指令値ue1,uf1が設定される。したがって、フィードフォワード制御よりも簡便なフィードバック制御により、リンク101の角度制御と剛性制御の同時制御を実現することができる。これにより、リンク101の目標揺動角度raと目標剛性rsつまり、剛性指令値U1が変更されても、フィードフォワード制御のように繰り返し演算を行う必要がないので、迅速にリンク101の揺動角度及び剛性を目標値に調整することができる。ところで、フィードバック制御系のゲインが高い場合には、それによる関節の剛性が支配的になってしまう。つまり、リンク101に外力が作用した場合、リンク101が外力により目標揺動角度raの位置から揺動しようとするので、仮に係数値Gt=1としておくと、揺動角度θ1と目標揺動角度raとの偏差を示す値ra-θ1が0ではなくなる。その結果、PID制御器5が出力するトルク指令値T1によりリンク101を目標揺動角度raの定位置に戻すように各アクチュエータe1,f1の駆動力が設定され、リンク101が定位置に位置決めされる。従って、リンク101に外力が作用した時、リンク101が移動しないように各アクチュエータe1,f1の駆動力が設定されるので、リンク101の剛性が目標剛性rsよりも高くなり、リンク101の柔軟性が損なわれてしまうこととなる。そこで、ゲイン調整器4は、タッチセンサ2がリンク101に外力が作用したことを検知して検知信号を出力している期間は、偏差を示す値ra-θ1に係数値Gt=0を乗じて、実際に偏差があったとしても偏差なしを示すra-θ1=0を出力する。つまり、ゲイン調整器4は、新たな偏差を示す値ra-θ1=0を算出して出力する。これにより、PID制御器5は、外力による作用で実際に偏差が生じたとしても、偏差が0であるとして、検知信号を検知する直前の値と同じ値のトルク指令値T1を出力することとなり、リンク101の剛性は、目標剛性rsに維持されることとなる。したがって、リンク101に外力が作用しても、速やかに係数値Gt=0となり、フィードバック制御系が遮断され、リンク101の柔軟性が維持される。なお、タッチセンサ2がOFFに切り換わったときは、ゲイン調整器4における係数値がGt=1に切り換わり、実際の偏差ra-θ1に基づいてフィードバック制御を行うこととなる。3シミュレーション図3の制御装置150を用いてシミュレーションを行った。ここで、リンク101の慣性モーメントをI=8.3×10-2[kgm2]、モーメントアームの長さをr=0.1[m]、弾性力定数をk=3、粘性力定数をb=3とする。目標揺動角度raはランプ状とし、初期角度45[deg]から2秒間で目標揺動角度ra=65[deg]に到達する位置決めを行う。このとき、リンク101の関節の目標剛性をrs=U1×k×r2=0.4×k×r2[Nm/rad]と制御する。ここで、弾性力定数k,モーメントアームの長さrは定数であるので、剛性指令値U1をU1=0.4として、実際の関節の剛性が0.4となるように制御すればよい。図4aにリンク101の揺動角度θ1を実線で示し、目標揺動角度raを破線で示す。また、図4bに駆動力指令値ue1,uf1に対する各アクチュエータの実際の駆動力収縮力、つまり応答をそれぞれ実線、破線で示す。更に、図4cに駆動力指令値ue1,uf1に対するアクチュエータの実際の駆動力の差を実線で、和を破線で、T1/rの応答を一点鎖線で示す。図4aより、リンク101の揺動角度θ1は目標揺動角度raに位置決めされていることがわかる。図4bより、駆動力指令値ue1,uf1に対する応答はフィードバック制御系のトルク指令値T1を、式7と式10に示した条件で配分されているが、人工筋肉の駆動力は正の値のみを取るという特性を満たしていることがわかる。図4cにおいて、実線で示すuf1-ue1の応答は、一点鎖線で示すT1/rの応答と重なっており、式3の条件を満たしている。また、破線で示すuf1ue1の応答は常に0.4となっており、関節の剛性が目標剛性に制御されていることがわかる。次に、リンク101の先端が外力により押されることを想定するシミュレーションを行う。10秒から11秒にかけて関節角度を正方向に回転させるトルク外乱をリンク101の関節に与えている。タッチセンサ2において接触が発生している間10秒から11秒、ゲイン調整器4の係数値Gtを0とする。図5に関節におけるリンク101の目標剛性rsを変化させ、剛性指令値U1を0.3,1.0,10とした場合の応答をそれぞれ実線、破線、点線で示す。実線で示す剛性指令値U1=0.3の応答より、関節の剛性が、剛性指令値U1=1.0,10とした場合の剛性よりも低く制御されているため、外力により大きくリンク101の揺動角度が変位していることがわかる。リンク101への接触物の接触が発生した際に、接触力と同一方向に関節が変位していることから、接触物の接触に対して柔らかい制御が実現していることを示している。そして、目標剛性rsつまり、剛性指令値U1を高めるに連れて関節の剛性が高まり、接触に対するリンクの変位量は減少している。本第1実施形態により、リンク101の目標揺動角度raへの位置決めを実現しながら、自在に関節におけるリンク101の剛性を変化させることが可能であることがわかる。比較として、式7を用いて駆動力指令値ue1,uf1を決定するが、式10の条件を考慮せずに制御を行った場合の応答を、図6a~図6cに示す。式10の条件なしでは、各アクチュエータe1,f1が収縮方向にのみ力を発生する、という制約が考慮されていない。そのため、図6bに示すように駆動力指令値は負の値を取ってしまう。各アクチュエータe1,f1は膨張方向には力を発生しないため、負の値の場合は0としてシミュレーションを行った。その結果、図6aに示すように、リンク101は目標揺動角度に制御されているが、図6cに示すように、0~0.3秒と2~2.3秒では剛性指令値U1に対する応答は目標値の0.4とならず、関節の剛性が目標剛性に制御されていないことがわかる。[第2実施形態]次に、本発明の第2実施形態に係るロボット装置について詳細に説明する。図7は、本発明の第2実施形態に係るロボット装置の概略構成を示す説明図である。本第2実施形態では、人工筋肉アクチュエータを用いた3対6筋を有するリンク機構としての2リンクマニピュレータを備えたロボット装置の手先剛性の制御を例として説明する。1モデリング本実施の形態で扱う3対6筋を有するリンク機構としての2リンクマニピュレータを備えたロボット装置を図7に示す。ロボット装置200は、2リンクマニピュレータPを備えている。2リンクマニピュレータPは、第1のリンク201と、第2のリンク202と、固定部材であるプーリ203とを有している。第1のリンク201は、長手部材からなり、その基端201aがプーリ203にx-y直交座標系の平面以下、作業平面という内で揺動可能に支持されている。第2のリンク202は、長手部材からなり、その基端202aが第1のリンク201の先端201bに作業平面内で揺動可能に支持されている。この第2のリンク202の先端以下、リンク先端という202bには、不図示のエンドエフェクタ例えばハンドが設けられている。つまり、第1のリンク201は、第1の関節と第2の関節との間に配置され、第1の関節で揺動可能に支持されており、第2のリンク202は、第2の関節で揺動可能に支持されている。また、2リンクマニピュレータPは、一対の第1のアクチュエータe1,f1と、一対の第2のアクチュエータe2,f2と、一対の第3のアクチュエータe3,f3と、を備えている。各第1のアクチュエータe1,f1は、一端がプーリ203に接続され、他端が第1のリンク201の長手方向中央部に接続され、駆動力の差により第1のリンク201を揺動させるように拮抗配置されている。また、各第2のアクチュエータe2,f2は、一端が第1のリンク201の長手方向中央部に接続され、他端が第2のリンク202の基端202aに接続され、駆動力の差により第2のリンク202を揺動させるように拮抗配置されている。また、各第3のアクチュエータe3,f3は、一端がプーリ203に接続され、他端が第2のリンク202の基端202aに接続され、駆動力の差により第1のリンク201及び第2のリンク202を揺動させるように拮抗配置されている。つまり、第1のアクチュエータe1,f1は、第1のリンク201を挟んで第1のリンク201の両側に対称配置されている。また、第2のアクチュエータe2,f2は、第1のリンク201を挟んで第1のリンク201の両側に対称配置されている。また、第3のアクチュエータe3,f3は、第1のリンク201を挟んで第1のリンク201の両側に対称配置されている。また、ロボット装置200は、各アクチュエータe1,f1,e2,f2,e3,f3の駆動力を各駆動力指令値により設定して、リンク201,202の動作を制御する制御装置250を備えている。第1のアクチュエータe1,f1は、第1のリンク201を駆動する第1の一関節駆動アクチュエータである。第2のアクチュエータe2,f2は、第2のリンク202を駆動する第2の一関節駆動アクチュエータである。また、第3のアクチュエータe3,f3は、第1のリンク201と第2のリンク202を同時に駆動する二関節同時駆動アクチュエータである。人の上腕上腕部や下肢大腿部には、二関節筋とよばれる二関節同時駆動アクチュエータが存在することが知られている。人の四肢の筋配列は複雑だが、実効筋概念が導入され、3対6筋を有する2リンクモデルが提示されている。各アクチュエータe1,f1,e2,f2,e3,f3は、図1に示す筋の粘弾性特性を有する空気圧式の人工筋肉アクチュエータである。人工筋肉アクチュエータは、筋の粘弾性と呼ばれる特性と類似する特性を有するアクチュエータである。筋は図1に示すように、力発生要素と弾性要素と粘性要素を用いてモデル化される。図7のアクチュエータe1,f1,e2,f2,e3,f3について、uen,ufnn=1,2,3を力発生要素の駆動力を発生させる駆動力指令値とする。また、ken,kfn,ben,bfnn=1,2,3を人工筋肉アクチュエータの弾性力定数、粘性力定数とする。第1,第2のリンク201,202の揺動角度をθ1,θ2、第1,第2のリンク201,202の慣性モーメントをI1,I2、第1,第2のリンク201,202の長さを2×l1,2×l2、第1,第2のリンク201,202の質量をm1,m2とする。ここで、第1の揺動角度θ1は、基準軸であるx軸を基準とする第1のリンク201の揺動角度であり、第2の揺動角度θ2は、第1のリンク201の長手方向に延びる軸線を基準とする第2のリンク202の揺動角度である。モーメントアームの長さ、つまり第1のリンク201の揺動中心点とプーリ203におけるアクチュエータe1,f1の接続点との長さ、及び第2のリンク202の揺動中心点と第2のリンク202におけるアクチュエータe2,f2の接続点との長さをrとする。本第2実施形態では、各筋の弾性力定数,粘性力定数をいずれもk,bとすると、2リンクマニピュレータの運動方程式は、以下の式13及び式14となる。2制御系設計2リンクマニピュレータであるロボット装置200では、手先ハンドが外界と直に接触するので、手先剛性、即ちリンク先端202bの剛性を制御することが重要である。手先剛性は、図8に示すような剛性の大きさを示すスティフネス特性を示す楕円スティフネス楕円によって表される。本第2実施形態では、作業平面内にx-y軸直交座標系を定義し、リンク先端202bにおけるスティフネス特性がx-y軸直交座標系にリンク先端202bを中心とするスティフネス楕円で表される。このスティフネス楕円は、各方向に対する剛性の分布を示し、リンク先端202bとスティフネス楕円の距離が離れるほど剛性が高いことを表している。図9に本第2実施形態における制御装置250のブロック線図を示す。ここで、固定部材であるプーリ203に対する第1のリンク201の第1の目標揺動角度をra1、第1のリンク201に対する第2のリンク202の第2の目標揺動角度をra2とする。また、プーリ203と第1のリンク201との第1の関節における第1のリンク201の目標剛性をrs1、第1のリンク201と第2のリンク202との第2の関節における第2のリンク202の目標剛性をrs2とする。制御装置250は、プーリ203に対する第1のリンク201の第1の揺動角度θ1を検知する第1の揺動角度検知センサ51と、第1のリンク201に対する第2のリンク202の第2の揺動角度θ2を検知する第2の揺動角度検知センサ61とを備えている。また、制御装置250は、第2のリンク202に外力が作用したときに外力が作用したことを示す検知信号を出力するタッチセンサ52を備えている。また、制御装置250は、第1の偏差算出部である減算器53及びゲイン調整器54と、第1のトルク指令生成部であるPID制御器55と、を備えている。また、制御装置250は、第1の剛性指令値U1に第1のリンク201の揺動中心点を中心とするモーメントアームの長さr1を乗算する第1の乗算部としての乗算器56を備えている。なお、図9では、モーメントアームの長さをr1=rとしている。また、制御装置250は、PID制御器55が出力するトルク指令値T1を補正する第1のトルク指令補正部である飽和回路57を備えている。また、制御装置250は、トルク指令値T1及び剛性指令値U1から各アクチュエータe1,f1への駆動力指令値ue1,uf1を演算により求める第1の駆動力指令値演算部58を備えている。同様に、制御装置250は、第2の偏差算出部である減算器63及びゲイン調整器64と、第2のトルク指令生成部であるPID制御器65と、を備えている。また、制御装置250は、第2の剛性指令値U2に第2のリンク202の揺動中心点を中心とするモーメントアームの長さr2を乗算する第2の乗算部としての乗算器66を備えている。なお、図9では、モーメントアームの長さをr2=rとしている。また、制御装置250は、PID制御器65が出力するトルク指令値T2を補正する第2のトルク指令補正部である飽和回路67を備えている。また、制御装置250は、トルク指令値T2及び剛性指令値U2から各アクチュエータe2,f2への駆動力指令値ue2,uf2を演算により求める第2の駆動力指令値演算部68を備えている。以下、各部について詳細に説明する。まず、各揺動角度検知センサ51,61は、ポテンショメータ又はエンコーダ等のセンサであり、図7において、図示は省略しているが、各関節に設けられている。タッチセンサ52は、不図示のエンドエフェクタ例えばハンド又は第2のリンク202に設けられ、エンドエフェクタ又は第2のリンク202に接触物が接触したときに、検知信号を出力する。つまり、第2のリンク202に外力が作用するとは、エンドエフェクタ又は第2のリンク202に接触物が接触することを意味する。減算器53は、第1の揺動角度θ1と第1の目標揺動角度ra1との第1の偏差差分を示す値ra1-θ1を算出する。同様に、減算器63は、第2の揺動角度θ2と第2の目標揺動角度ra2との第2の偏差差分を示す値ra2-θ2を算出する。ゲイン調整器54は、減算器53が出力した第1の偏差を示す値ra1-θ1に接触ゲインである第1の係数値Gt1を乗じて出力する。同様に、ゲイン調整器64は、減算器63が出力した第2の偏差を示す値ra2-θ2に接触ゲインである第2の係数値Gt2を乗じて出力する。各係数値Gt1,Gt2は、0以上1以下の範囲内の値であり、ゲイン調整器54,64は、タッチセンサ52から検知信号がない場合には、係数値Gt1,Gt2=1として、入力した偏差を示す値ra1-θ1,ra2-θ2を出力する。また、ゲイン調整器54,64は、タッチセンサ52から検知信号が出力されている期間は、偏差を示す値ra1-θ1,ra2-θ2に0以上1以下の範囲内の値の係数値、本実施形態では係数値Gt1,Gt2=0を乗じる。これにより、ゲイン調整器54,64は、新たな偏差を示す値ra1-θ1=0,ra2-θ2=0を出力する。PID制御器55は、第1の偏差を示す値ra1-θ1に対してPID制御演算を行い、第1のリンク201を揺動させる第1のトルク指令値T1を生成する。即ち、フィードバック制御系であるPID制御器55は、第1のリンク201の第1の揺動角度θ1と第1の目標揺動角度ra1との第1の偏差を補償するためのつまり、揺動角度θ1を目標揺動角度ra1に近づけるための第1のトルク指令値T1を出力する。同様に、PID制御器65は、第2の偏差を示す値ra2-θ2に対してPID制御演算を行い、第2のリンク202を揺動させる第2のトルク指令値T2を生成する。即ち、フィードバック制御系であるPID制御器65は、第2のリンク202の第2の揺動角度θ2と第2の目標揺動角度ra2との第2の偏差を補償するためのつまり、揺動角度θ2を目標揺動角度ra2に近づけるための第2のトルク指令値T2を出力する。第1のアクチュエータe1,f1及び第2のアクチュエータe2,f2の制御方法は、上記第1実施形態と同様である。第nのアクチュエータen,fnに対する駆動力指令値uen,ufn、第nのトルク指令値Tn、第nの剛性指令値Unただし、n=1,2は、以下の式15及び式16の関係にある。そして、トルク指令値T1と剛性指令値U1とを同時に満たすには、駆動力指令値uf1=U1T1/r1/2,駆動力指令値ue1=U1-T1/r1/2を満たせばよい。また、トルク指令値T2と剛性指令値U2とを同時に満たすには、駆動力指令値uf2=U2T2/r2/2,駆動力指令値ue2=U2-T2/r2/2を満たせばよい。そして、各駆動力指令値は、以下の式17の条件を満たす必要がある。つまりトルク指令値Tnは、以下の式18の条件となる。従って、式18の条件を満たしていれば、関節におけるリンク201,202の剛性が目標剛性rs1,rs2となると同時に、トルク指令値T1,T2によりリンク201,202の揺動角度が目標角度ra1,ra2に位置決めされる。本第2実施形態では、乗算器56は、モーメントアームの長さr1と第1の剛性指令値U1との第1の乗算値U1×r1を算出し、飽和回路57は、式18を実現するために、トルク指令値T1を、以下の式19の値に制約する。同様に、乗算器66は、モーメントアームの長さr2と第2の剛性指令値U2との第2の乗算値U2×r2を算出し、飽和回路67は、式18を実現するために、トルク指令値T2を、以下の式19の値に制約する。即ち、飽和回路57は、第1のトルク指令値T1の絶対値を、モーメントアームの長さr1と第1の剛性指令値U1との第1の乗算値U1×r1以下に制約する第1の制約関数に従って、前記第1のトルク指令値T1を補正する。より具体的には、飽和回路57は、制約関数として飽和関数に従い、PID制御器55で生成した第1のトルク指令値T1の絶対値が第1の乗算値U1×r1以下の場合は、PID制御器55で生成した第1のトルク指令値T1をそのまま出力する。また、飽和回路57は、飽和関数に従い、PID制御器55で生成した第1のトルク指令値T1の絶対値が第1の乗算値U1×r1を上回った場合は、絶対値が第1の乗算値U1×r1以下に制限された新たな第1のトルク指令値T1を生成して出力する。同様に、飽和回路67は、第2のトルク指令値T2の絶対値を、モーメントアームの長さr2と第2の剛性指令値U2との第2の乗算値U2×r2以下に制約する第2の制約関数に従って、前記第2のトルク指令値T2を補正する。より具体的には、飽和回路67は、制約関数として飽和関数に従い、PID制御器65で生成した第2のトルク指令値T2の絶対値が第2の乗算値U2×r2以下の場合は、PID制御器65で生成した第2のトルク指令値T2をそのまま出力する。また、飽和回路67は、飽和関数に従い、PID制御器65で生成した第2のトルク指令値T2の絶対値が第2の乗算値U2×r2を上回った場合は、絶対値が第2の乗算値U2×r2以下に制限された新たな第2のトルク指令値T2を生成して出力する。ここで、第3のアクチュエータe3,f3に対する駆動力指令値ue3,uf3に差を与えることによって、第1,第2のアクチュエータと同様に関節にトルクを与えることは可能である。しかし、一つのリンクを複数の位置フィードバック制御系が制御することは冗長であり、フィードバック制御系の設計が複雑になってしまう。そこで、本第2実施形態では第3のアクチュエータe3,f3は各関節に剛性を与えるために用いる。そこで、駆動力指令値ue3,uf3の差を0、第3の剛性指令値をU3とすると、以下の式20の関係となる。これを解くと、駆動力指令値ue3,uf3は、となる。そこで、本第2実施形態では、制御装置250は、各第3のアクチュエータe3,f3の駆動力指令値ue3,uf3を、式21に示すように、第3の剛性指令値U3の1/2に設定する第3の駆動力指令値演算部78を備えている。上記第1実施形態の1リンクマニュピレータでは、関節の剛性と手先の剛性は同一であった。本第2実施形態の3対6筋を有する2リンクマニュピレータでは、剛性指令値U1,U2,U3を調整することにより手先の剛性が求まる。例えば、剛性指令値U1,U2,U3をと調整すると、スティフネス楕円の長軸は第1関節と手先を結ぶ方向を向くことが知られている。以下、スティフネス楕円の長軸及び短軸のうちの一方の軸がx-y軸直交座標系における基準軸であるx軸と平行になる剛性指令値U1,U2,U3を求める。x-y軸に平行な微小な外力ΔFx,ΔFyによるリンク先端202bの微小な変位をΔxt,Δytとする。また、微小な外力ΔFx,ΔFyによる、各リンク201,202の微小な回転角度をΔθ1,Δθ2とする。微小な回転が起こると、筋の粘弾性を有するアクチュエータは、筋の弾性力によりリンクに微小なトルクΔTp1,ΔTp2を発生させ、以下のような式23及び式24で表せる。これを行列で表記し、微小な角度とトルクの関係を剛性行列KSで表すと、以下の式25となる。ここで、ヤコビ行列Jを導入するが、ヤコビ行列Jは、以下の式26で表される。これより、微小手先変位と微小外力との関係をコンプライアンス行列JSで表すと、以下の式27となる。コンプライアンス行列の逆行列が剛性を表すので、スティフネス楕円がx-y軸に平行であるという条件は、となる。この方程式を剛性指令値U3について解くと、となる。以下、タッチセンサ52が検知信号を出力していない場合タッチセンサ52がOFFについて、図9を参照しながら制御装置250の動作を説明する。まず、第1の揺動角度検知センサ51が、第1のリンク201の第1の揺動角度θ1を検知する第1の揺動角度検知ステップ。同様に、第2の揺動角度検知センサ61が、第2のリンク202の第2の揺動角度θ2を検知する第2の揺動角度検知ステップ。そして、減算器53が、第1のリンク201の第1の揺動角度θ1と第1の目標揺動角度ra1との第1の偏差を示す値ra1-θ1を算出する第1の偏差算出ステップ。同様に、減算器63が、第2のリンク202の第2の揺動角度θ2と第2の目標揺動角度ra2との第2の偏差を示す値ra2-θ2を算出する第2の偏差算出ステップ。タッチセンサ52がOFFであるので、各ゲイン調整器54,64は、乗算する各係数値Gt1,Gt2が1であり、各偏差を示す値ra1-θ1,ra2-θ2をそのまま出力する。PID制御器55は、ゲイン調整器54から取得した偏差を示す値ra1-θ1に対してPID制御演算を行い、第1のリンク201を揺動させる第1のトルク指令値T1を生成する第1のトルク指令生成ステップ。同様に、PID制御器65は、ゲイン調整器64から取得した偏差を示す値ra2-θ2に対してPID制御演算を行い、第2のリンク202を揺動させる第2のトルク指令値T2を生成する第2のトルク指令生成ステップ。乗算器56は、取得した第1の剛性指令値U1と第1のリンク201のモーメントアームの長さr1との第1の乗算値U1×r1を算出する第1の乗算ステップ。同様に、乗算器66は、取得した第2の剛性指令値U2と第2のリンク202のモーメントアームの長さr2との第2の乗算値U2×r2を算出する第2の乗算ステップ。ここで、モーメントアームの長さr1,r2は、予め設定不図示の記憶装置に記憶された定数である。乗算器56が剛性指令値U1を取得したときに、演算により乗算値U1×r1を求め、乗算器66が剛性指令値U2を取得したときに、演算により乗算値U2×r2を求める。なお、予め乗算値U1×r1の計算結果、乗算値U2×r2の計算結果をテーブルデータとして設定不図示の記憶装置に記憶しておいてもよい。そして、乗算器56が剛性指令値U1を取得したときにテーブルデータを参照して乗算値U1×r1を求め、乗算器66が剛性指令値U2を取得したときにテーブルデータを参照して乗算値U2×r2を求めてもよい。飽和回路57は、PID制御器55で生成した第1のトルク指令値T1の絶対値が第1の乗算値U1×r1以下の場合は、PID制御器55で生成した第1のトルク指令値T1をそのまま出力する。飽和回路57は、PID制御器55で生成した第1のトルク指令値T1の絶対値が第1の乗算値U1×r1を上回った場合は、絶対値が第1の乗算値U1×r1以下に制限された新たな第1のトルク指令値T1を生成して出力する第1のトルク指令補正ステップ。なお、図9では、モーメントアームの長さをr1=rとしている。具体的には、飽和回路57は、絶対値が乗算値U1×r1とする新たな第1のトルク指令値T1を出力する。例えば、PID制御器55で生成した第1のトルク指令値T1が、U1×r1を上回る場合は、新たな第1のトルク指令値T1をU1×r1とする。また、PID制御器55で生成した第1のトルク指令値T1が、-U1×r1を下回る場合は、新たなトルク指令値T1を-U1×r1とする。これにより、第1のトルク指令値T1が式18に制限されるので、最終的に求められる各駆動力指令値ue1,uf1が、負の値となることはない。同様に、飽和回路67は、PID制御器65で生成した第2のトルク指令値T2の絶対値が第2の乗算値U2×r2以下の場合は、PID制御器65で生成した第2のトルク指令値T2をそのまま出力する。飽和回路67は、PID制御器65で生成した第2のトルク指令値T2の絶対値が第2の乗算値U2×r2を上回った場合は、絶対値が第2の乗算値U2×r2以下に制限された新たな第2のトルク指令値T2を生成して出力する第2のトルク指令補正ステップ。なお、図9では、モーメントアームの長さをr2=rとしている。そして第1の駆動力指令値演算部58は、飽和回路57により出力された第1のトルク指令値T1を用いて、各駆動力指令値ue1,uf1をU1T1/r1/2,U1-T1/r1/2の演算式に基づいて計算する第1の駆動力指令値演算ステップ。同様に、第2の駆動力指令値演算部68は、飽和回路67により出力された第2のトルク指令値T2を用いて、各駆動力指令値ue2,uf2をU2T2/r2/2,U2-T2/r2/2の演算式に基づいて計算する第2の駆動力指令値演算ステップ。なお、剛性指令値U1、トルク指令値T1及びモーメントアームの長さr1に対応したU1T1/r1/2,U1-T1/r1/2の計算結果をテーブルデータとして予め設定不図示の記憶装置に記憶しておいてもよい。また、剛性指令値U2、トルク指令値T2及びモーメントアームの長さr2に対応したU2T2/r2/2,U2-T2/r2/2の計算結果をテーブルデータとして予め設定不図示の記憶装置に記憶しておいてもよい。この場合、駆動力指令値演算部58は、剛性指令値U1、トルク指令値T1を取得したときに、U1T1/r1/2,U1-T1/r1/2の演算式に基づいた計算結果を、テーブルデータを参照して求めてもよい。また、駆動力指令値演算部68は、剛性指令値U2、トルク指令値T2を取得したときに、U2T2/r2/2,U2-T2/r2/2の演算式に基づいた計算結果を、テーブルデータを参照して求めてもよい。以上のフィードバック制御により、各駆動力指令値ue1,uf1が設定されることで、リンク201の揺動角度θ1が目標揺動角度ra1に調整され、且つ第1の関節におけるリンク201の剛性が目標剛性rs1=U1×k×r12に調整される。同様に、フィードバック制御により、各駆動力指令値ue2,uf2が設定されることで、リンク202の揺動角度θ2が目標揺動角度ra2に調整され、且つ第2の関節におけるリンク202の剛性が目標剛性rs2=U2×k×r22に調整される。したがって、フィードフォワード制御よりも簡便なフィードバック制御により、リンク201,202の角度制御と剛性制御の同時制御を実現することができる。これにより、リンク201,202の目標揺動角度と目標剛性つまり、剛性指令値U1,U2が変更されても、フィードフォワード制御のように繰り返し演算を行う必要がないので、迅速にリンクの揺動角度及び関節の剛性を目標値に調整することができる。また、ゲイン調整器54は、タッチセンサ52が第2のリンク202に外力が作用したことを検知して検知信号を出力している期間は、第1の偏差を示す値ra1-θ1に第1の係数値Gt1=0を乗じて出力する。つまり、ゲイン調整器54は、実際に偏差があったとしても偏差なしを示す新たな第1の偏差を示す値ra1-θ1=0を算出して出力する。同様に、ゲイン調整器64は、タッチセンサ52が第2のリンク202に外力が作用したことを検知して検知信号を出力している期間は、第2の偏差を示す値ra2-θ2に第2の係数値Gt2=0を乗じて出力する。つまり、ゲイン調整器64は、実際に偏差があったとしても偏差なしを示す新たな第2の偏差を示す値ra2-θ2=0を算出して出力する。これにより、各PID制御器55,65は、外力による作用で実際に偏差が生じたとしても、偏差が0であるとして、検知信号を検知する直前の値と同じ値のトルク指令値T1,T2を出力することとなる。したがって、リンク201,202の剛性は、目標剛性に維持され、リンク201,202に外力が作用しても、速やかに係数値Gt1,Gt2=0となり、フィードバック制御系が遮断され、リンク201,202の柔軟性が維持される。なお、タッチセンサ52がOFFに切り換わったときは、各ゲイン調整器54,64における係数値がGt1,Gt2=1に切り換わり、実際の偏差ra1-θ1,ra2-θ2に基づいてフィードバック制御を行うこととなる。3シミュレーション図9に示した制御装置250を用いてシミュレーションを行った。第1のリンク201と第2のリンク202の物理パラメータは同一とする。リンク201,202の長さを0.5[m]、リンク201,202の慣性モーメントを8.3×10-2[kgm2]、モーメントアームの長さr=r1=r2を0.1[m]、弾性力定数をk=3、粘性力定数をb=3とする。第1,第2の目標揺動角度はランプ状とし、第1のリンク201は初期角度45[deg]から2秒間で目標揺動角度ra1=35[deg]に到達する位置決めを行う。また、第2のリンク202は初期角度90[deg]から2秒間で目標揺動角度ra2=85[deg]に到達する位置決めを行う。リンクが位置決めされる目標角度において、リンク先端202bにおけるスティフネス楕円がx-y軸と水平となるように、各アクチュエータの剛性指令値U1,U2,U3を制御する。一関節駆動アクチュエータの剛性指令値U1,U2は任意に設定し、U1=10,U2=5に設定した。このとき、二関節駆動アクチュエータの剛性指令値U3は、式29に基づいて、剛性指令値U3=1.907となるように制御すればよい。図10a,図10bに、第1,第2のリンク201,202の揺動角度θ1,θ2を実線で、目標揺動角度ra1,ra2を破線で示す。また、図11a~図11cに、駆動力指令値uf1,uf2,uf3の応答を実線で、駆動力指令値ue1,ue2,ue3の応答を破線で示す。さらに、図12a~図12cに、駆動力指令値uen,ufnn=1,2,3の応答の差を実線で、応答の和を破線で、Tn/rn=1,2の応答を一点鎖線で示す。まず、図10a及び図10bよりリンク201,202は目標揺動角度に位置決めされていることがわかる。次に、図11aより、駆動力指令値ue1,uf1は、トルク指令値T1を|T1|≦U1×rに制限した状態でU1T1/r/2,U1-T1/r/2の演算式を用いて配分されている。従って、第1のアクチュエータe1,f1の駆動力は正の値を取るという特性を満たしていることがわかる。また、図11bより、第2のアクチュエータe2,f2の駆動力も同様に正の値を取っていることがわかる。また、図11cより、第3のアクチュエータe3,f3の駆動力は一定値のU3/2である。また、図12aにおいて、実線で示すuf1-ue1の応答は、一点鎖線で示すT1/rの応答と重なっており、式15の条件を満たしている。また、破線で示すuf1ue1=U1の応答は常に設定値である10となっている。同様に、図12bにおいて、実線で示すuf2-ue2の応答は、一点鎖線で示すT2/rの応答と重なっており、式15の条件を満たしている。また、破線で示すuf2ue2=U2の応答は常に設定値である5となっている。更に、図12cにおいて、実線で示すuf3-ue3の応答は0であり、式20の条件を満たしている。また、破線で示すuf3ue3=U3の応答は常に1.907となっている。各アクチュエータの拮抗対による剛性が目標値に制御されていることから、リンク先端202bのスティフネス楕円は目標角度において、x-y軸と平行になるように制御されていることがわかる。次に、リンク先端202bが外力により押されることを想定するシミュレーションを行う。各リンク201,202が目標角度に静定後、リンク先端202bにy軸負方向の外力を与える。接触が発生している間、係数値Gt1,Gt2を0としている。図13にリンク先端202bの軌跡を破線で、位置決めの目標軌道を点線で示す。位置決めにおいては、目標軌道に追従している。接触の発生により、係数値Gt1,Gt2を0とすると、マニピュレータは人工筋肉アクチュエータの弾性力によって手先の剛性が制御される。本第2実施形態では、手先剛性はx-y軸方向に平行になるように剛性指令値U1,U2,U3を設定し、設定値を満たすように3対6筋の駆動力を制御している。そのため、y軸負方向の外乱に対して、手先はy軸に平行な方向に柔軟性を発揮していることがわかる。[第3実施形態]次に、本発明の第3実施形態に係るロボット装置について説明する。図14は、本発明の第3実施形態に係るロボット装置の制御装置を示すブロック線図である。なお、本第3実施形態において、上記第2実施形態と同様の構成については、同一符号を付して説明を省略する。上記第2実施形態では、関節が目標角度に到達した後、接触ゲインである係数値Gt1,Gt2を0としてフィードバック制御系を遮断し、筋の弾性による手先剛性の制御を実現した。しかし、目標軌道に追従しながらリンクに柔軟性を持たせるものではない。また、目標角度においてのみスティフネス楕円がx-y軸に平行になる制御を行っていた。1制御系設計本第3実施形態では、リンク先端202bを目標軌道に追従させながら剛性の制御を同時に行う。また、軌道追従中であっても、スティフネス楕円を常にx-y軸に平行になるように制御する。図14に示す制御装置250Aは、演算部70を備えている。演算部70は、第1,第2のリンク201,202に対する目標揺動角度目標軌道ra1,ra2に応じて常にスティフネス楕円の軸がx-y軸と平行になるように第3の剛性指令値U3を以下の式30に示す演算式により演算する。つまり、演算部70は、図8に示したx-y軸直交座標系で、リンク先端202bにおけるスティフネス楕円の長軸及び短軸のうちの一方の軸が、直交座標系の基準軸例えばx軸と平行となるように、剛性指令値U3を演算式により求める。この式30に示す演算式は、第1の剛性指令値U1、第2の剛性指令値U2、第1の目標揺動角度ra1、及び第2の目標揺動角度ra2を変数として、第3の剛性指令値U3を求める演算式である。そして、各パラメータU1,U2,ra1,ra2を入力した演算部70は、式30の演算式に基づき、第3の剛性指令値U3を演算により生成する剛性指令値生成ステップ。そして、第3の駆動力指令値演算部78は、各駆動力指令値ue3,uf3を、第3の剛性指令値U3に基づいて設定する第3の駆動力指令値演算ステップ。本実施形態では、第3の駆動力指令値演算部78は、各駆動力指令値ue3,uf3を、第3の剛性指令値U3に1/2を乗じて得られる値に設定する。これにより、各リンク201,202を各目標揺動角度ra1,ra2に基づいて揺動させるときに、スティフネス楕円の軸がx-y軸に平行となる状態を保つことができる。更に、本第3実施形態ではゲイン調整器54,64の係数値Gt1,Gt2を、タッチセンサ52から検知信号が出力されている期間は、以下の式31に示すように、0から1の間で変化させた任意の値とする。係数値Gt1,Gt2に微小な値をとれば、スティフネス楕円の軸は微小にx-y軸から傾くものの、接触物の接触中に各リンク201,202の目標軌道への追従が可能となる。特に、第1の係数値Gt1及び第2の係数値Gt2は、タッチセンサ52から検知信号が出力されている期間中、その期間における初期の時点の初期値から時間が経過するに連れて大きくなるように設定されるのがよい。例えば、図15に示すように、タッチセンサ52から検知信号が出力されている期間を時刻4秒から時刻8秒の期間とする。その期間における時刻4秒の時点から時間が経過するに連れて、係数値Gt1,Gt2が大きくなるように設定される。図15に示す例では、各係数値Gt1,Gt2が段階的に大きくなるように設定される。本第3実施形態では、係数値Gt1,Gt2は、タッチセンサ52から検知信号が出力されている期間中においても、0とはならないように設定されており、所定の時間が経過したら、1となるように設定される。これにより、接触物が第2のリンク202又はエンドエフェクタに接触した瞬間は、係数値Gt1,Gt2が1よりも低く設定されて、各リンク201,202の柔軟性を保つようにしている。そして、係数値Gt1,Gt2は0ではないので、スティフネス楕円の軸は微小にx-y軸から傾くものの、接触物の接触中に各リンク201,202の目標軌道への追従が可能となる。次いで、所定の時間が経過したら、接触中であっても係数値Gt1,Gt2を1とし、各リンク201,202を目標揺動角度及び目標剛性に調整される。従って、各リンク201,202は、接触が生じた瞬間は柔軟性を保ち、その後は迅速に目標の位置に位置決めされるので、制御性が向上する。2シミュレーション図14に示した制御装置250Aを用いてシミュレーションを行った。リンク201,202の物理パラメータは上記第2実施形態と同様である。目標軌道目標揺動角度は、5秒までは上記第2実施形態と同様の軌道である。その後11秒までリンク先端202bの軌道がx軸と平行な直線軌道となるように各リンク201,202の目標軌道目標揺動角度ra1,ra2を逆運動学により求めている。常にリンク先端202bのスティフネス楕円の軸がx-y軸と水平になるように、各人工筋肉アクチュエータを剛性指令値U1,U2,U3により制御する。一関節駆動アクチュエータの剛性は実施例1と同様に、剛性指令値U1=10,U2=5とし、剛性指令値U3を式30より逐次求める。また、接触は4秒から8秒にかけて発生するものとする。そのとき、係数値Gt1,Gt2は、図15に示すように0以外の値を用いる。図16aに第1のリンク201の角度θ1を実線で、目標角度ra1を一点鎖線で示す。また、図16bに第2のリンク202の角度θ2を実線で、目標角度ra2を一点鎖線で示す。また、比較として、第2実施形態で示した、接触中は常に係数値Gt1,Gt2を0とする制御接触ゲイン0制御と称すの応答を破線で示す。さらに、図17に駆動力ue3,uf3の差を実線で、和を破線で示す。図16a及び図16bより、本第3実施形態の制御装置250Aは、4秒で接触が発生するとフィードバック制御系が遮断されてリンク先端202bの柔らかさを発揮する。そして、第1のリンク201は6秒で、第2のリンク202は7秒で係数値を1としてフードバック制御系の遮断を解除しているため、8秒以降は目標軌道へと収束している。一方、破線で示す接触ゲイン0制御では、接触が発生している8秒までフィードバック制御が遮断されている。そのため、8秒以降に大きくなった角度偏差に対して急激に目標軌道への復帰動作が発生し、大きなオーバシュートを発生している。図17において、破線で示すuf3ue3=U3は式30に示したように目標角度ra1,ra2に応じて逐次演算されている。これにより、スティフネス楕円は軌道追従中において、x-y軸と平行になるように制御されている。図18aにリンク先端202bの軌跡を破線で、位置決めの目標軌道を点線で示す。比較として、図18bに接触ゲイン0制御のリンク先端202bの軌跡を破線で、位置決めの目標軌道を点線で示す。本第3実施形態の制御装置250Aでは、接触が発生した後にリンク先端202bが柔軟性を持つが、同時に軌道追従を行い、リンク先端202bをx軸に水平な方向の軌道に追従させていることがわかる。接触ゲイン0制御では、接触中は軌道制御を行わないため、リンク先端202bの柔軟性は大きいが、目標軌道から大きく外れてしまうことがわかる。[第4実施形態]次に、本発明の第4実施形態に係るロボット装置について説明する。図19は、本発明の第4実施形態に係るロボット装置の制御装置における要部を示すブロック線図である。なお、本第4実施形態において、上記第2,第3実施形態と同様の構成については、同一符号を付して説明を省略する。上記第2実施形態ではフィードバック制御系の入力部を遮断したが、十分に関節が静定していない状態では、遮断時にスパイク状のトルク指令値を発生する可能性がある。上記第2,第3実施形態では、第1のトルク指令生成部がPID制御器55であり、第2のトルク指令生成部がPID制御器65である場合について説明したが、本第4実施形態では、第1,第2のトルク指令生成部の構成が異なるものである。具体的に説明すると、第1のトルク指令生成部455は、PID制御器55と、PID制御器55の出力側に設けられ、PID制御器55が出力した演算結果に第1の係数値Gt1を乗じるゲイン調整器55Aとを有している。また、第1のトルク指令生成部455は、PID制御器55の制御入力をフィードフォワード入力ffw1として入力し、その入力ffw1に1-Gt1の値を乗じるゲイン調整器55Bを有している。また、第1のトルク指令生成部455は、ゲイン調整器55Aの出力値とゲイン調整器55Bの出力値とを加算処理し、加算結果を第1のトルク指令値T1として出力する加算器55Cを有している。第2のトルク指令生成部465は、第1のトルク指令生成部455と構成が同一であり、図19を参照して説明する。第2のトルク指令生成部465は、PID制御器65と、PID制御器65の出力側に設けられ、PID制御器65が出力した演算結果に第2の係数値Gt2を乗じるゲイン調整器65Aとを有している。また、第2のトルク指令生成部465は、PID制御器65の制御入力をフィードフォワード入力ffw2として入力し、その入力ffw2に1-Gt2の値を乗じるゲイン調整器65Bを有している。また、第2のトルク指令生成部465は、ゲイン調整器65Aの出力値とゲイン調整器65Bの出力値とを加算処理し、加算結果を第2のトルク指令値T2として出力する加算器65Cを有している。ここで、フィードフォワード入力ffwnn=1,2は、タッチセンサ52が検知信号を出力する直前にPID制御器55,65が出力したPID制御演算による演算結果である。これにより、タッチセンサ52から検知信号が出力されている期間は、PID制御器55は、第1の偏差を示す値ra1-θ1に対してPID制御演算を行うが、ゲイン調整器55Aは、その演算結果に対して第1の係数値Gt1を乗じる。ゲイン調整器55Bは、フィードフォワード入力ffw1を入力し、その入力ffw1に1-Gt1の値を乗じる。加算器55Cは、ゲイン調整器55Aの出力値とゲイン調整器55Bの出力値との加算結果を第1のトルク指令値T1として出力する。同様に、タッチセンサ52から検知信号が出力されている期間は、PID制御器65は、第2の偏差を示す値ra2-θ2に対してPID制御演算を行うが、ゲイン調整器65Aは、その演算結果に対して第2の係数値Gt2を乗じる。ゲイン調整器65Bは、フィードフォワード入力ffw2を入力し、その入力ffw2に1-Gt2の値を乗じる。加算器65Cは、ゲイン調整器65Aの出力値とゲイン調整器65Bの出力値との加算結果を第2のトルク指令値T2として出力する。具体例を挙げて説明すると、タッチセンサ52が接触を検知して係数値Gtn=0となった場合は、1-Gtn=1となり、トルク指令生成部455,465が出力するトルク指令値Tnは、タッチセンサ52が接触を検知する直前の値となる。従って、各リンク201,202の動作中にタッチセンサ52により接触が検知された場合には、偏差が0となる場合のトルク指令値で制御するフィードバック制御に移行するのではなく、接触が生じる直前の偏差に基づくトルク指令値でフィードバック制御する。なお、上記第3実施形態と同様に、検知信号を検知してから時間が経過するに連れて、係数値Gt1,Gt2を大きくしていってもよい。そして、接触が生じた瞬間に係数値Gt1,Gt2=0とならない、1よりも小さな値に係数値Gt1,Gt2を設定してもよい。以上、本第4実施形態によれば、各リンク201,202の動作中に、各リンク201,202の柔軟性を損なうことなく、トルク指令値T1,T2のスパイクを防止することができ、制御性が更に向上する。[第5実施形態]次に、本発明の第5実施形態に係るロボット装置について説明する。上記第1~4実施形態では、ロボット装置が作業ロボットとしてのマニピュレータである場合について説明したが、上記第1~第4実施形態に示した制御装置を、歩行ロボットの脚制御に用いることが可能である。歩行ロボットでは地面との接地時に脚の剛性を低くすることで、不整地に対する歩行の安定性が高まる。また、接地時にスティフネス楕円を地面と平行にすることにより、地面に対する滑りを抑制することが可能である。しかし、支持脚相では脚の剛性を高くして、体を支持する必要がある。これに対して、図20に、上記第3実施形態で示した剛性と追従の同時制御を適用した場合のシミュレーションによるスティック線図を示す。破線で脚先の軌道を、点線で目標軌道を示している。これより、接地時は脚の剛性は低いため柔らかく地面に接地し、支持脚相が進むにつれて脚の剛性が高まり、目標軌道に追従していることがわかる。[第6実施形態]次に、本発明の第6実施形態に係るロボット装置について説明する。上記第1~第5実施形態では、拮抗配置された人工筋肉アクチュエータを用いて位置決めと剛性の同時制御を行った。本第6実施形態では、関節に回転モータを用いる1リンクアームに対して、本発明の制御系を適用する。ロボット装置の構成は、駆動部として、図2に示すアクチュエータe1,f1の代わりに、図21のブロック線図に示す回転モータP0に置き換えたものである。なお、ロボット装置の制御装置は、回転モータP0を駆動するモータ回路P1を有している。回転モータP0は、図2を参照し、固定部材であるアーム部材104とリンク101との関節に配置され、リンク101を揺動させる駆動部である。1リンクアームの運動方程式を以下の式32のように定義する。ここで、umは回転モータが発生する制御トルクである。つぎに、比例ゲインをk、微分ゲインをb、仮想的なモーメントアームの長さをr、仮想的な筋の駆動力を発生させる駆動力指令値をue1,uf1として、1リンクアームに対して以下の式33のような比例-微分フィードバック制御系を構成する。ここで、第1項はトルク指令値、第2項、第3項は仮想的な筋の駆動力指令値ue1,uf1によりゲインが変動する比例-微分フィードバック制御系となっている。図21に示すモータ回路P1は、式32と式33で構成されるフィードバック制御系である。モータ回路P1は、駆動力指令値ue1,uf1を入力として、回転モータP0を動作させ、回転モータP0にリンク101を駆動させて揺動角度θ1を出力とするシステムであることがわかる。式32及び式33は、第1実施形態の式2で示した人工筋肉アクチュエータを用いた1リンクアームの運動方程式と同一である。これより、回転モータを用いた1リンクアームに対して、式33のように比例-微分フィードバックを施すことで、第1実施形態に示した位置と剛性の同時制御方法をそのまま適用することができることがわかる。具体的に説明すると、図21に示すモータ回路P1は、回転モータP0を、駆動力の差によりリンク101を揺動させる一対の仮想アクチュエータと見做せるように構成されている。そして、図3に示す制御装置150と同一構成の制御装置によって、各仮想アクチュエータの駆動力を、各駆動力指令値ue1,uf1により調整して、リンク101の動作を制御する。図3を参照して、制御装置の各部の動作について説明すると、まず、揺動角度検知センサ1は、揺動角度関節の角度θ1を検知する。偏差算出部としての減算器3は、アーム部材104に対するリンク101の揺動角度θ1と目標揺動角度raとの偏差差分を示す値を算出する偏差算出ステップ。トルク指令生成部としてのPID制御器5は、偏差を示す値に対してPID制御演算を行い、リンク101を揺動させるトルク指令値T1を生成するトルク指令生成ステップ。乗算部としての乗算器6は、リンク101の揺動中心点を中心とする仮想のモーメントアームの長さrと、各駆動力指令値ue1,uf1の和を示す剛性指令値U1との乗算値U1×rを算出する乗算ステップ。仮想のモーメントアームの長さrは、予め設定不図示の記憶装置に記憶された定数であり、乗算器6が剛性指令値U1を取得したときに、演算により乗算値U1×rを求める。なお、予め乗算値U1×rの計算結果をテーブルデータとして設定不図示の記憶装置に記憶しておき、乗算器6が剛性指令値U1を取得したときにテーブルデータを参照して乗算値U1×rを求めてもよい。トルク指令補正部としての飽和回路7は、PID制御器5で生成したトルク指令値T1の絶対値が乗算値U1×r以下の場合は、PID制御器5で生成したトルク指令値T1をそのまま出力する。また、飽和回路7は、PID制御器5で生成したトルク指令値T1の絶対値が乗算値U1×rを上回った場合は、絶対値が乗算値U1×r以下に制限された新たなトルク指令値T1を出力するトルク指令補正ステップ。駆動力指令値演算部8は、飽和回路7により出力されたトルク指令値T1を用いて、各駆動力指令値ue1,uf1を、U1T1/r/2,U1-T1/r/2の演算式に基づいて計算する駆動力指令値演算ステップ。なお、剛性指令値U1、トルク指令値T1及び仮想モーメントアームの長さrに対応したU1T1/r/2,U1-T1/r/2の計算結果をテーブルデータとして予め設定不図示の記憶装置に記憶しておいてもよい。この場合、駆動力指令値演算部8は、剛性指令値U1、トルク指令値T1を取得したときに、U1T1/r/2,U1-T1/r/2の演算式に基づいた計算結果を、テーブルデータを参照して求めてもよい。これにより、フィードフォワード制御よりも簡便なフィードバック制御により、リンク101の角度制御と関節におけるリンク101の剛性制御の同時制御を実現することができる。これにより、リンク101の揺動角度と剛性の目標値が変更されても、繰り返し演算を行う必要がないので、迅速にリンク101の揺動角度及び剛性を目標値に調整することができる。また、本第6実施形態では、制御装置は、ゲイン調整器4を有し、タッチセンサ2から検知信号が出力されている期間は、偏差を示す値に0を乗じて新たな偏差ra-θ1=0を示す値を算出する。これにより、PID制御器5は、外力による作用で実際に偏差が生じたとしても、偏差が0であるとして、検知信号を検知する直前の値と同じ値のトルク指令値T1を出力することとなり、リンク101の剛性は、目標剛性rsに維持されることとなる。したがって、リンク101に外力が作用しても、速やかに係数値Gt=0となり、フィードバック制御系が遮断され、リンク101の柔軟性が維持される。[第7実施形態]上記第1~第6実施形態では、式11および式18に示した制御入力の制約を行うために、図22の破線で示す飽和関数を用いてきた。しかし、図22の破線で示す飽和関数のように微分不可能な関数を用いて制御入力の制約を行うと、制約時に制御入力が急峻に変動してしまうことがある。このような制御入力は、制御対象の機械系高次振動を励起し、制御系が不安定となることがある。そこで、本第7実施形態では、制約関数として、制御入力の制約に微分可能な関数である双曲線正接関数を用いる。双曲線正接関数を図22の実線で示す。この双曲線正接関数は、漸近線が乗算値±Un×rnn=1,2である。双曲線正接関数で制約されるトルク指令値フィードバック制御トルクTtnn=1,2は、制約される前のトルク指令値Tn、制御入力の和Unおよびプーリ径rを用いて以下のように表すことができる。上記第1実施形態では1リンクアームの制御を行った。本第7実施形態では、第1実施形態で用いた図3のブロック線図中の飽和関数を、±U1×rを漸近線とする双曲線正接関数に置き換えシミュレーションを行う。図23aに関節の角度θ1と目標角度raを示し、実線で双曲線正接関数を用いる関節角度の応答を、破線で飽和関数を用いた関節角度の応答を、点線で目標角度を示す。また、図23bに駆動力uf1の、制約に双曲線正接関数と飽和関数を用いた応答をそれぞれ実線、破線で示す。駆動力uf1は、トルク指令値T1により式8を用いて決定される。そのため、実線で示す制約に双曲線正接関数を用いる応答では、トルクT1が制約される約0.7sと約2.5sにおいて、駆動力uf1の応答に急峻な変動が現れなくなっていることがわかる。また、図23aより、制御入力の飽和に双曲線正接関数を用いても、位置決め性能に劣化はないことがわかる。上記第2実施形態では2リンクアームの制御を行った。1リンクアームの制御と同様に、本第7実施形態では、上記第2実施形態で用いた図9のブロック線図中の飽和関数を、双曲線正接関数に置き換えシミュレーションを行う。具体的には、第1の制約関数が、±U1×r1を漸近線とする双曲線正接関数であり、第2の制約関数が、±U2×r2を漸近線とする双曲線正接関数である。図24a,bに、第1及び第2のリンク201,202の関節角度θ1,θ2と目標角度ra1,ra2を示し、実線で双曲線正接関数を用いる応答を、破線で飽和関数を用いた応答を、点線で目標角度を示す。また、図25a及び図25bに駆動力uf1,uf2の、双曲線正接関数と飽和関数を用いた応答をそれぞれ実線、破線で示す。図25aより、第1のリンク201に対するトルクT1が制約される約0.2sと約2.2sにおいて、双曲線正接関数により駆動力uf1の応答に急峻な変動が現れなくなっていることがわかる。上記第2実施形態では、第2のリンク202に対するトルクT2が制約の範囲内であるため、駆動力uf2は制約される必要がない。しかし、図22より双曲線正接関数は制約の範囲内であっても信号を低減する効果がある。そのため、図25bに示す本第7実施形態の双曲線正接関数による駆動力uf2は飽和関数による駆動力と若干の差異が生じているが、図24a,bから双曲線正接関数を用いても位置決め性能に変化はないことがわかる。[第8実施形態]本第8実施形態では、接触ゲインの調整が不要で、また、大きな障害物への着地であっても緩やかな脚制御を可能とする歩行制御系を設計する。さらに、4足歩行ロボットのモデルを用いてシミュレーションを行い、本第8実施形態で提案している制御系により不整地歩行が可能であることを示す。1モデリング図26は、本発明の第8実施形態に係るロボット装置としての4足歩行ロボットのリンク配置と筋配置および座標系を示す側面図である。ロボット装置としての4足歩行ロボット800は、固定部材としての胴体803と、4つの支持脚となる4つのリンク機構RF,LF,RH,LHとを備えている。これら4つのリンク機構RF,LF,RH,LHが胴体803に接続されている。ここで、絶対座標系は、x-y平面については紙面内に取り、z座標は紙面に垂直で紙面の裏から表の向きに取る。座標xG,yG,zGは胴体803の重心の位置を表し、本第8実施形態では胴体803の重心を中心としてx軸まわり右ねじ方向の傾きをロール、z軸まわり右ねじ方向の傾きをピッチ、y軸まわり右ねじ方向の傾きをヨーと記す。本第8実施形態では、右後脚がリンク機構RH、右前脚がリンク機構RF、左後脚がリンク機構LH、左前脚がリンク機構LFである。これら右後脚、右前脚、左後脚及び左前脚に対して、それぞれ支持脚にローカルなxRH-yRH、xRF-yRF、xLH-yLHおよびxLF-yLF座標系を設定する。図26にはxRH-yRH座標系およびxRF-yRF座標系のみ図示している。ここで支持脚に対する座標系は、x-y座標の軸がロボット装置の胴体803の底面部分と水平になるように設定する。本第8実施形態で制御対象とする4足歩行ロボット800は、前脚RF,LFは2リンクマニピュレータ、後脚RH,LHは3リンクマニピュレータとするが、後脚は第3リンクの角度が90degに固定された等価的な2リンクマニピュレータとして用いる。そのため、前脚と後脚の双方について、上記第2実施形態に示した3対6筋を有する2リンクマニピュレータに対する制御手法を適用することが可能である。また、脚先端部には球状の足を設定する。尾と首には質量を設定しているが、頭部には質量を設定していない。この4足歩行ロボットは機構解析ソフトウェアRecurdynを用いてモデル化され、本第8実施形態において不整地歩行シミュレーションに用いる。前脚RF,LFおよび後脚RH,LHの第nn=1,2のリンクのパラメータは、以下のとおりである。具体的には、リンク長lFn,lHnは、lF1=0.070m,lF2=0.12m,lH1=0.090m,lH2=0.1235mである。また、慣性モーメントIFn,IHnは、IF1=11.74×10-6kgm2,IF2=52.959×10-6kgm2,IH1=22.81×10-6kgm2,IH2=94.35×10-6kgm2である。また、質量MFn,MHnは、MF1=2.16×10-2kg,MF2=3.6298×10-2kg,MH1=2.71×10-2kg,MH2=5.2558×10-2kgである。また、胴体803のx,z方向の長さは、lbx=0.28m,lbz=0.05m、z方向の脚の付け根の間隔は、lbl=0.15m、質量MbはMb=0.7309kg、プーリ径、足球半径は、r=0.02m,rf=0.008mである。人工筋肉アクチュエータの弾性力定数、粘性力定数は、k=150.5N/m,b=0.01Ns/mである。なお、人工筋肉アクチュエータの弾性力定数は、神田通信工業製マッキベン型アクチュエータ0.25インチタイプを測定して求めている。2制御系設計まず、各支持脚RF~LHに対して、足先の軌道とスティフネス楕円を設定する。軌道は、遊脚相では足先が楕円の上半分を描く軌道とし、支持脚相では直線軌道とする。また、歩幅は0.06mと設定する。本第8実施形態では、不整地において、支持脚に予期しない着地が生じた際に胴体803と垂直な方向に剛性を発揮させることで安定的な歩行を行う。そのため、スティフネス楕円は、上記第2実施形態で示した方法を用いて、各支持脚のローカルな座標系に垂直になるように設定する。図27aに、右後脚であるリンク機構RHのスティック線図を実線で、足先軌道を一点鎖線で、スティフネス楕円を破線で示す。後脚RHはx軸正方向が胴体803の進行方向となるため、足先は図27a中矢印の方向に駆動される。そこで、スティフネス楕円を足先が遊脚相の8割程度の位置でxHR-yHR座標系に垂直になるように設定する。まず、一関節駆動アクチュエータの剛性を、U1R=13,U2R=15と設定すると、二関節駆動アクチュエータの剛性は、式29により、U3R=8.5377と求まる。ここで、一関節駆動アクチュエータの剛性は、上記第2実施形態で示した2リンクマニピュレータモデルを用いて、ロボット胴体重量の1/4を手先外乱として与えるシミュレーションを行うことによって決定している。左後脚LHは、右後脚RHと同様の軌道とスティフネス楕円を用いることができる。同様に、図27bに右前脚であるリンク機構RFのスティック線図を実線で、足先軌道を一点鎖線で、スティフネス楕円を破線で示す。前脚RFはx軸負方向が胴体803の進行方向となるため、足先は図27b中矢印の方向に駆動される。前脚RFのアクチュエータの剛性は後脚と同様に、U1F=13,U2F=15と設定すると、二関節駆動アクチュエータの剛性は、式29により、U3F=55.80となる。しかし、この値は一関節駆動アクチュエータの剛性U1F,U2Fに比べて大きく、二関節駆動アクチュエータの剛性により脚の動作範囲を狭めることになってしまう。そこで、前脚RFに対しては二関節アクチュエータの剛性を1/4に緩和し、U3F′=13.95を用いる。つぎに、本第8実施形態で用いる歩容を図28aの歩容位相ダイアグラムに示す。太線部分が接地面に接地している支持脚相を、細線部分が接地面から離れている遊脚相を表している。歩行周期は1秒とする。本第8実施形態では、不整地歩行を考慮して、接地率β=0.8とし、右後脚RH、右前脚RF、左後脚LH、左前脚LFの順に遊脚化するウェーブ歩容を用いる。さらに、各支持脚における支持脚相を図28bに示すように複数4つの支持脚相部分A,B,C,Dに分割する。本第8実施形態では、図28aに三角印で示す支持脚相部分Aの終了時刻で、その時刻での足先位置から支持脚相Bの終了位置までの直線軌道を再計算する。そして、斜線部分示している支持脚相Bでは、再計算された軌道を用いる。つぎに、図29のブロック線図により、接触ゲインGt、即ち、第1の係数値Gt1及び第2の係数値Gt2の設定方法を示す。なお、図29には、4つの支持脚RF~LFのうちのいずれか1つの支持脚リンク機構Pであって、制御装置のうち第1及び第2のアクチュエータのいずれかの制御系を示している。ここで、支持脚Pは、2リンクマニピュレータである。制御系K^は、上記第2実施形態で示した制御系と同様である。KはPID制御器5565と筋指令配分部分56~5866~68である。ゲイン調整器5464は接触ゲインGtを調整する。また、Memoryは予め設定したリンク機構Pの各リンクの軌道データが記憶されている記憶部82である。Compensatorは軌道データを再計算する計算部83である。具体的に説明すると、制御装置850は、上記第2実施形態の制御装置250の構成のほか、更に、第1の目標揺動角度ra1及び第2の目標揺動角度ra2を出力する目標設定部81を備えている。目標設定部81は、予め軌道データが記憶されている記憶部82を有している。目標設定部81は、遊脚相、第1の支持脚相部分A、第3の支持脚相部分C及び第4の支持脚相部分Dでは、記憶部82に記憶された、即ち、予め設定された軌道データに基づき、第1の目標揺動角度ra1及び第2の目標揺動角度ra2を出力する。また、目標設定部81は、第2の支持脚相部分Bでは、軌道データを修正し、修正された軌道データに基づいて第1の目標揺動角度ra1及び第2の目標揺動角度ra2を設定する目標設定ステップ。また、制御装置850は、テーブル記憶部85を有している。テーブル記憶部85には、遊脚相及び複数の支持脚相部分と、センサ52からの検知信号の有無に応じた係数値GtGt1,Gt2を決定するためのテーブルデータTaが記憶されている。ゲイン調整器5464は、テーブルデータTaを参照して、支持脚Pの脚相の状態、センサ52からの検知信号の有無に応じて、係数値GtGt1,Gt2を決定する。具体的には、第1の偏差算出部の一部として機能するゲイン調整器54は、リンク機構Pが遊脚相又は残りの3つの支持脚が接地している状態で支持脚相となった場合に、センサ52から検知信号が出力されている期間は、第1の係数値Gt1を0に決定する。具体的にはゲイン調整器54は、リンク機構Pが遊脚相又は支持脚相部分Aとなった場合に、センサ52から検知信号が出力されている期間は、第1の係数値Gt1を0に決定する。また、ゲイン調整器54は、それ以外、即ち、リンク機構Pが遊脚相又は支持脚相部分Aとなった場合に、センサ52からの出力がOFFになったときには、第1の係数値Gt1を1に決定する。さらに、ゲイン調整器54は、それ以外、即ち、リンク機構Pが支持脚相部分B,C,Dの場合には、センサ52からの出力がON/OFFに関わらず、第1の係数値Gt1を1に決定する。また、第2の偏差算出部の一部として機能するゲイン調整器64は、リンク機構Pが遊脚相又は残りの3つの支持脚が接地している状態で支持脚相となった場合に、センサ52から検知信号が出力されている期間は、第2の係数値Gt2を0に決定する。具体的にはゲイン調整器64は、リンク機構Pが遊脚相又は支持脚相部分Aとなった場合に、センサ52から検知信号が出力されている期間は、第2の係数値Gt2を0に決定する。また、ゲイン調整器64は、それ以外、即ち、リンク機構Pが遊脚相又は支持脚相部分Aとなった場合に、センサ52からの出力がOFFになったときには、第2の係数値Gt2を1に決定する。さらに、ゲイン調整器64は、それ以外、即ち、リンク機構Pが支持脚相部分B,C,Dの場合には、センサ52からの出力がON/OFFに関わらず、第2の係数値Gt2を1に決定する。このように接触ゲインを変更することにより、遊脚相および第1の支持脚相部分Aでは支持脚Pが地面と接触すると、フィードバックループが遮断される。これにより軌道追従は中断され、人工筋肉アクチュエータの粘弾性力のみによる衝撃吸収動作と胴体支持が行われる。そして、支持脚相部分Bに移行すると、支持脚の接触状態にかかわらず、軌道制御が再開され、再計算された軌道データを用いて制御がなされる。つまり、目標設定部81は、第1の係数値Gt1及び第2の係数値Gt2が0から1に変更されたときに、第1の偏差及び第2の偏差に基づき軌道データを再計算し、第1の目標揺動角度ra1及び第2の目標揺動角度ra2を修正して出力する。この修正動作、つまり軌道データの再計算は、支持脚相部分Bの終了位置を目標としている。これにより、支持脚相Dの終了位置を目標とするよりも、腰または肩の落ち込みを防ぐことが可能である。支持脚相部分C、Dにおいては、予め設定された軌道データに基づく追従制御がなされ、胴体が前方向に移動する。また、地面に大きな障害物が存在する場合、遊脚相の初期に接触が発生する。そのとき、接触ゲインを0として支持脚相へ移行することとなるが、接触が解除されたとき、目標軌道と足先位置の誤差が大きな状態である。そこで、本第8実施形態では、軌道データ、即ち、第1の目標揺動角度ra1及び第2の目標揺動角度ra2を修正しているので、足先が急峻に復帰しようとするのを防ぐことができる。そのため、4足歩行ロボット800が大きな障害物を乗り越えるときに平衡を崩すことなく、移動することができる。また、本第8実施形態では、接触ゲインGtは0と1のみが用いられるため、試行錯誤による設定の必要がない。3シミュレーション前節の制御系を用いて不整地歩行のシミュレーションを行う。不整地として高さ14mm、x方向の幅70mmの板状の障害物を設定する。Recurdynによる4足歩行ロボット800と障害物Oの外観を図30に示す。障害物Oは後脚RH,LHからx方向に0.1mの位置に設置し、第2歩行周期で左後脚RFから接触する。図29に示した制御系を用いて、6秒間の歩行シミュレーションを行う。障害物Oとの接触が生じる後脚の時刻歴応答を、左後脚第1リンク角度θLH1と第2リンク角度θLH2の応答を図31a,bに、右後脚第1リンク角度θRH1と第2リンク角度θRH2の応答を図31c,dに示す。関節角度の応答を実線で、目標軌道を破線で示している。なお、図29中のテーブルによって接触ゲインが0とされ、フィードバックループが遮断された時間帯では、軌道制御は行わないため目標軌道は示していない。図31a,bより、左後脚の1.5秒から開始される歩行周期において、遊脚相の途中の約1.6秒で障害物に接地している。その後、1.75秒で支持脚相Bが開始するまでフィードバックループが遮断され、人工筋肉アクチュエータの粘弾性のみによる着地が行われている。そして、1.75秒の時点での足先位置から、支持脚相Bの終了地点までの直線軌道が計算され、その軌道に追従するように制御が行われている。図31c,dより、右後脚RHでは、障害物Oから降りる3~3.2秒の遊脚相において、遊脚相の途中で地面と接触する。ここでも、接触時に人工筋肉アクチュエータの粘弾性のみによる着地が行われている。図32a,bに、平地歩行時と、障害物乗り上げ時の左後脚足球中心の軌跡を実線で、目標軌道を破線で示す。図32aの平地歩行では、足先は軌道へ追従制御されている。図32bの障害物乗り上げ時では、脚LHが遊脚相の途中で障害物Oに接触すると、足先軌道がyLH座標で負の方向に変位している。これより、人工筋肉アクチュエータの粘弾性のみによる衝撃吸収着地動作が行われていることがわかる。そして、支持脚相Bの開始時間で、その時点での足先位置から支持脚相Bの終了位置までの直線軌道が計算され、その軌道に追従するように制御がなされる。本第8実施形態の制御系により、予期しない着地に対する柔軟な衝撃吸収動作と、軌道を再計算することによる急峻な乗り上げの抑制が実現していることがわかる。つぎに、このような脚制御の4足歩行ロボットに対する有効性を図33a,bに示す足の接地状態と図34a~図34cに示す胴体重心の座標を用いて検証する。各脚の接地の状態を図33aに歩容位相ダイアグラムを用いて示す。比較として、4足歩行ロボットの各脚に対して、あらかじめ設定した目標関節軌道のみを用いて脚を軌道制御する歩行シミュレーションを行い、その時の各脚の接地の状態を図33bに示す。図33a,bにおいて、白色部分は遊脚相を示し、灰色部分は支持脚相を示す。また、黒枠で囲まれた灰色部分は障害物Oに接地する支持脚相を示す。そして、歩行シミュレーションにおいて足が接地している状態を実線で示している。また、RH、RF、LH、LFはそれぞれ右後脚、右前脚、左後脚、左前脚を表す。図34a~図34cに、胴体重心のロール角度、進行方向の変位および速度の応答を示す。ここで、本第8実施形態の制御手法による応答を実線で、関節軌道の追従のみによる歩行制御による応答を破線で示している。図33aに示す本第8実施形態の制御手法による応答より、4足歩行ロボットは右後脚RH、右前脚RF、左後脚LH、左前脚LFの順に遊脚化することで歩行を行う。まず左後脚LHが1.7秒で障害物Oに着地し、右後脚RHは2.2秒で障害物Oに着地していることがわかる。そして、2.8秒で左後脚LHが障害物Oから降りるが、その際に図34aに実線で示すように、胴体803が左方向に大きくロールする。その結果、その後の左前脚LFの遊脚相では、脚は遊脚化できず着地状態が続くため、人工筋肉アクチュエータの粘弾性のみによる着地動作が行われる。これにより、胴体803のロールが抑制され、姿勢を回復することができる。その結果、図33aより、その後右後脚RHから続く全ての遊脚相において、脚が遊脚化され、歩行を継続できていることがわかる。図34aからも、障害物Oを降りた4~6秒のロール角度の変動幅は、障害物Oに乗る前のロール角度の変動幅とほぼ同様であることがわかる。また、図34b,cより、障害物Oの前後で速度が落ちることなく前方に歩行していることがわかる。関節軌道の追従のみによる歩行制御では、図33bに示す着地状態より、4足歩行ロボットは本実施例の提案手法と同様に2.8秒で左後脚LHが障害物Oから降りている。そして、その際に胴体803が左方向に大きくロールし、その後の左前脚LFは遊脚化されていない。しかし、着地状態でも遊脚軌道に追従しようと制御されるためロールは抑制されず、さらに、左前脚LFで地面を押すこととなる。その結果、右方向のロールが発生し、3.2秒の右前脚RFの遊脚相においても、右前脚RFは遊脚化されず地面を押し、3.8秒で再び左方向のロールを発生させる。胴体803のロール角度は、図34aに破線で示すように、2.8秒で発生したロールが4.8秒付近まで抑制されていないことがわかる。そのため、図33bより、3秒以降は遊脚相で足が着地している状態が多く、歩行できない状態が4.5秒まで継続している。図34cに破線で示すように、2.8~4.8秒にかけて、遊脚相において着地中に軌道制御が継続されることにより、脚が地面を押すため胴体重心に負方向の速度が発生していることがわかる。その結果、図34bに破線で示すように、2.8秒~4.8秒にかけて前方への歩行が停滞していることがわかる。歩行シミュレーションにおける、足球の中心の軌跡を図35a,bに示す。右後脚RH、右前脚RF、左後脚LH、左前脚LFをそれぞれ実線、点線、破線、一点鎖線で、さらに障害物Oを含む地面を太実線で示す。図35aに示す本第8実施形態の制御系による応答では、障害物Oにより停滞せずに歩行が可能であることがわかる。一方、図35bに関節軌道の追従のみによる歩行による応答では、障害物Oから降りる時点以降で足先が後方に変位していることがわかる。これは、遊脚相で足が着地し、そのまま軌道制御が継続されてしまい、地面から押し戻されてしまうためである。図36aに本第8実施形態の制御手法によるロボットの姿勢推移を、4.2秒から0.5秒おきに示す。比較として、図36bに関節軌道の追従のみによる歩行制御の姿勢推移を示す。本第8実施形態の制御手法では、段差を降りた後に安定した姿勢で歩行を行うことが可能である。一方、関節軌道の追従のみによる歩行制御では、上から5コマ目に示す段差を降りて2秒後の時点でも大きく姿勢を崩していることがわかる。図37に胴体重心の重力方向の加速度を、本第8実施形態の制御手法を実線で、関節軌道の追従のみによる歩行制御を点線で示す。本第8実施形態の制御手法では、人工筋肉アクチュエータの粘弾性による柔らかな着地を実現しているため、重力方向の加速度変動が少なく、また加速度の最大値も小さいことがわかる。このように、本第8実施形態の制御手法により、柔らかな着地と急峻な乗り上げの抑制が実現されることから、障害物Oなどが存在する不整地であっても安定的な歩行を実現可能であることがわかる。なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。上記第1実施形態では、リンク機構が1リンク構成の場合について説明したが、多リンク構成であっても適用可能である。例えば、リンク機構が2リンク構成の場合において、2対4筋のアクチュエータとすることも可能であり、この場合、各一対のアクチュエータにおいて、それぞれ第1実施形態と同様に制御すればよい。また、上記第4,第5,第8実施形態では、リンク機構が2リンク構成の場合について説明したが、1リンク構成の場合についても適用可能である。また、制御装置の各部が個別のハードウェアで実現される場合について説明したが、CPU及びメモリ等を有するコンピュータにおいてCPUがメモリに記憶されたプログラムを実行することにより、CPUが制御装置の各部として機能する場合であってもよい。"