JP2012086354A - ロボット装置の制御方法及びロボット装置 - Google Patents

ロボット装置の制御方法及びロボット装置 Download PDF

Info

Publication number
JP2012086354A
JP2012086354A JP2011175521A JP2011175521A JP2012086354A JP 2012086354 A JP2012086354 A JP 2012086354A JP 2011175521 A JP2011175521 A JP 2011175521A JP 2011175521 A JP2011175521 A JP 2011175521A JP 2012086354 A JP2012086354 A JP 2012086354A
Authority
JP
Japan
Prior art keywords
link
command value
value
driving force
torque command
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.)
Granted
Application number
JP2011175521A
Other languages
English (en)
Other versions
JP5854695B2 (ja
Inventor
清志 ▲高▼木
Kiyoshi Takagi
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011175521A priority Critical patent/JP5854695B2/ja
Priority to US13/226,784 priority patent/US8812161B2/en
Priority to US13/230,127 priority patent/US8958915B2/en
Publication of JP2012086354A publication Critical patent/JP2012086354A/ja
Priority to US14/593,610 priority patent/US9925665B2/en
Application granted granted Critical
Publication of JP5854695B2 publication Critical patent/JP5854695B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/1075Programme-controlled manipulators characterised by positioning means for manipulator elements with muscles or tendons
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39201Control of joint stiffness
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39452Select with mouse button a coordinate plane for micromanipulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39454Rubber actuator, two muscle drive, one for extension other for traction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Rheumatology (AREA)
  • Manipulator (AREA)

Abstract

【課題】フィードバック制御により、リンクの角度制御と関節の剛性制御を行う。
【解決手段】揺動角度検知センサ1がリンク1の揺動角度θを検知する。減算器3は、目標揺動角度rと揺動角度θとの偏差を演算する。PID制御器5は、偏差を示す値に対してPID制御演算を行い、トルク指令値Tを出力する。飽和回路7は、モーメントアームの長さrと、剛性指令値Uとしたとき、トルク指令値Tが|T|≦U×rの範囲に制限されるように、トルク指令値Tを補正して出力する。駆動力指令値演算部8は、一対のアクチュエータの制御に用いる駆動力指令値uf1,ue1を、uf1=(U+T/r)/2,ue1=(U−T/r)/2の演算式から求める。そして、各アクチュエータは、各駆動力指令値uf1,ue1による制御により収縮する。
【選択図】図3

Description

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

Claims (14)

  1. 基端が固定部材に揺動可能に支持されたリンクと、前記固定部材に対して前記リンクを揺動させる駆動部と、を有するリンク機構を備え、前記リンクを第1の揺動方向に揺動させる駆動力を示す第1の駆動力指令値と、前記リンクを前記第1の揺動方向とは反対の第2の揺動方向に揺動させる駆動力を示す第2の駆動力指令値との差に基づき前記駆動部を動作させて前記リンクの揺動動作を制御すると共に、前記第1の駆動力指令値と前記第2の駆動力指令値との和に基づき前記駆動部を動作させて前記固定部材と前記リンクとの関節の剛性を制御するロボット装置の制御方法において、
    前記固定部材に対する前記リンクの揺動角度と目標揺動角度との偏差を算出する偏差算出ステップと、
    前記偏差を補償するトルク指令値Tを生成するトルク指令生成ステップと、
    前記トルク指令値Tの絶対値を、前記リンクの揺動中心点を中心とするモーメントアームの長さrと前記第1及び第2の駆動力指令値の和を示す剛性指令値Uとの乗算値U×r以下に制約する制約関数に従って、前記トルク指令値Tを補正するトルク指令補正ステップと、
    前記トルク指令補正ステップにより補正されたトルク指令値Tを用いて、前記各駆動力指令値を、(U+T/r)/2,(U−T/r)/2の演算式により求める駆動力指令値演算ステップと、
    を備えたことを特徴とするロボット装置の制御方法。
  2. 前記ロボット装置が、前記リンクに外力が作用したことにより検知信号を発生するセンサを有しており、
    前記偏差算出ステップでは、前記センサから検知信号が出力されている期間には0以上1以下の範囲内の値であり、前記センサからの検知信号の出力が停止されている期間には1の値である係数値Gを前記偏差に乗じた、新たな偏差を算出することを特徴とする請求項1に記載のロボット装置の制御方法。
  3. 前記偏差算出ステップでは、前記センサから検知信号が出力されている期間において、前記係数値Gを0に設定することを特徴とする請求項2に記載のロボット装置の制御方法。
  4. 前記偏差算出ステップでは、前記センサから検知信号が出力されている期間において、前記係数値Gを、時間が経過するに連れて初期値から大きくなるように設定することを特徴とする請求項2に記載のロボット装置の制御方法。
  5. 前記トルク指令生成ステップでは、前記センサから検知信号が出力されている期間は、前記偏差算出ステップにより算出された偏差に対してPID制御演算を行い、この演算結果に対して前記係数値Gを乗じた値に、前記センサから検知信号が出力される直前のPID制御演算の演算結果に(1−G)の値を乗じた値を加算して、トルク指令値Tを生成する、ことを特徴とする請求項2乃至4のいずれか1項に記載のロボット装置の制御方法。
  6. 前記固定部材が4足歩行ロボットの胴体であり、前記リンク機構が前記胴体に接続された4つの支持脚のうちのいずれかの支持脚であり、
    前記リンクの軌道データに基づいて前記目標揺動角度を設定する目標設定ステップを備え、
    前記偏差算出ステップでは、前記センサから検知信号が出力されている期間においては、前記リンクの脚相に応じて、前記係数値Gを0又は1に決定し、
    前記目標設定ステップでは、前記係数値Gが0から1に変更されたときに、前記軌道データを前記偏差に基づいて再計算することを特徴とする請求項2乃至5のいずれか1項に記載のロボット装置の制御方法。
  7. 前記制約関数は、前記トルク指令生成ステップで生成したトルク指令値Tの絶対値が前記乗算値U×r以下の場合は、前記トルク指令生成ステップで生成したトルク指令値Tのままとし、前記トルク指令生成ステップで生成したトルク指令値Tの絶対値が前記乗算値U×rを上回った場合は、絶対値が前記乗算値U×rに制限された新たなトルク指令値Tを生成する飽和関数であることを特徴とする請求項1乃至6のいずれか1項に記載のロボット装置の制御方法。
  8. 前記制約関数は、±U×rを漸近線とする双曲線正接関数であることを特徴とする請求項1乃至6のいずれか1項に記載のロボット装置の制御方法。
  9. 前記駆動部が、一端が前記固定部材に接続され、他端が前記リンクに接続され、収縮により駆動力を発生させて前記リンクを揺動させる一対の一関節筋アクチュエータであることを特徴とする請求項1乃至8のいずれか1項に記載のロボット装置の制御方法。
  10. 前記駆動部が、前記関節に設けられた回転モータであることを特徴とする請求項1乃至8のいずれか1項に記載のロボット装置の制御方法。
  11. 基端が固定部材に揺動可能に支持された第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のトルク指令値Tを生成する第1のトルク指令生成ステップと、
    前記第1のトルク指令値Tの絶対値を、前記第1のリンクの揺動中心点を中心とするモーメントアームの長さrと前記一対の第1のアクチュエータの駆動力指令値の和を示す第1の剛性指令値Uとの第1の乗算値U×r以下に制約する第1の制約関数に従って、前記第1のトルク指令値Tを補正する第1のトルク指令補正ステップと、
    前記第1のトルク指令補正ステップにより補正された第1のトルク指令値Tを用いて、前記各第1のアクチュエータの駆動力指令値を、(U+T/r)/2,(U−T/r)/2の演算式により求める第1の駆動力指令値演算ステップと、
    前記第1のリンクに対する前記第2のリンクの第2の揺動角度と第2の目標揺動角度との第2の偏差を算出する第2の偏差算出ステップと、
    前記第2の偏差を補償する第2のトルク指令値Tを生成する第2のトルク指令生成ステップと、
    前記第2のトルク指令値Tの絶対値を、前記第2のリンクの揺動中心点を中心とするモーメントアームの長さrと、前記一対の第2のアクチュエータの駆動力指令値の和を示す第2の剛性指令値Uとの第2の乗算値U×r以下に制約する第2の制約関数に従って、前記第2のトルク指令値Tを補正する第2のトルク指令補正ステップと、
    前記第2のトルク指令補正ステップにより補正された第2のトルク指令値Tを用いて、前記各第2のアクチュエータの駆動力指令値を、(U+T/r)/2,(U−T/r)/2の演算式により求める第2の駆動力指令値演算ステップと、
    を備えたことを特徴とするロボット装置の制御方法。
  12. 前記第1のリンク及び前記第2のリンクが揺動する平面内に直交座標系を定義し、前記第2のリンクの先端における剛性の大きさを、前記直交座標系に前記第2のリンクの先端を中心とするスティフネス楕円で表し、前記スティフネス楕円の長軸及び短軸のうちの一方の軸が前記直交座標系における基準軸に対して平行となるように、前記一対の第3のアクチュエータの駆動力指令値の和を示す第3の剛性指令値Uを生成する剛性指令値生成ステップと、
    前記第3の剛性指令値Uに基づいて前記各第3のアクチュエータの駆動力指令値を求める第3の駆動力指令値演算ステップと、を備えたことを特徴とする請求項11に記載のロボット装置の制御方法。
  13. 基端が固定部材に揺動可能に支持されたリンク、前記固定部材に対して前記リンクを揺動させる駆動部を有するリンク機構と、
    前記リンクを第1の揺動方向に揺動させる駆動力を示す第1の駆動力指令値と、前記リンクを前記第1の揺動方向とは反対の第2の揺動方向に揺動させる駆動力を示す第2の駆動力指令値との差に基づき前記駆動部を動作させて前記リンクの揺動動作を制御すると共に、前記第1の駆動力指令値と前記第2の駆動力指令値との和に基づき前記駆動部を動作させて前記固定部材と前記リンクとの関節の剛性を制御する制御装置と、を備え、
    前記制御装置は、
    前記固定部材に対する前記リンクの揺動角度を検知する揺動角度検知センサと、
    前記揺動角度と目標揺動角度との偏差を算出する偏差算出部と、
    前記偏差を補償するトルク指令値Tを生成するトルク指令生成部と、
    前記トルク指令値Tの絶対値を、前記リンクの揺動中心点を中心とするモーメントアームの長さrと前記各駆動力指令値の和を示す剛性指令値Uとの乗算値U×r以下に制約する制約関数に従って、前記トルク指令値Tを補正するトルク指令補正部と、
    前記トルク指令補正部で補正したトルク指令値Tを用いて、前記各駆動力指令値を、(U+T/r)/2,(U−T/r)/2の演算式により求める駆動力指令値演算部と、を有する特徴とするロボット装置。
  14. 基端が固定部材に揺動可能に支持された第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のトルク指令値Tを生成する第1のトルク指令生成部と、
    前記第1のトルク指令値Tの絶対値を、前記第1のリンクの揺動中心点を中心とするモーメントアームの長さrと前記一対の第1のアクチュエータの駆動力指令値の和を示す第1の剛性指令値Uとの第1の乗算値U×r以下に制約する第1の制約関数に従って、前記第1のトルク指令値Tを補正する第1のトルク指令補正部と、
    前記第1のトルク指令補正部で補正した第1のトルク指令値Tを用いて、前記各第1のアクチュエータの駆動力指令値を、(U+T/r)/2,(U−T/r)/2の演算式により求める第1の駆動力指令値演算部と、
    前記第2のリンクの前記第1のリンクに対する第2の揺動角度を検知する第2の揺動角度検知センサと、
    前記第2の揺動角度と第2の目標揺動角度との第2の偏差を算出する第2の偏差算出部と、
    前記第2の偏差を補償する第2のトルク指令値Tを生成する第2のトルク指令生成部と、
    前記第2のトルク指令値Tの絶対値を、前記第2のリンクの揺動中心点を中心とするモーメントアームの長さrと、前記一対の第2のアクチュエータの駆動力指令値の和を示す第2の剛性指令値Uとの第2の乗算値U×r以下に制約する第2の制約関数に従って、前記第2のトルク指令値Tを補正する第2のトルク指令補正部と、
    前記第2のトルク指令補正部で補正した第2のトルク指令値Tを用いて、前記各第2のアクチュエータの駆動力指令値を、(U+T/r)/2,(U−T/r)/2の演算式により求める第2の駆動力指令値演算部と、を有することを特徴とするロボット装置。
JP2011175521A 2010-09-22 2011-08-11 ロボット装置の制御方法及びロボット装置 Active JP5854695B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011175521A JP5854695B2 (ja) 2010-09-22 2011-08-11 ロボット装置の制御方法及びロボット装置
US13/226,784 US8812161B2 (en) 2010-09-22 2011-09-07 Robot apparatus
US13/230,127 US8958915B2 (en) 2010-09-22 2011-09-12 Robot system controlling method, robot system, and control apparatus for quadrupedal robot
US14/593,610 US9925665B2 (en) 2010-09-22 2015-01-09 Robot system controlling method, robot system, and control apparatus for quadrupedal robot

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010212314 2010-09-22
JP2010212314 2010-09-22
JP2011175521A JP5854695B2 (ja) 2010-09-22 2011-08-11 ロボット装置の制御方法及びロボット装置

Publications (2)

Publication Number Publication Date
JP2012086354A true JP2012086354A (ja) 2012-05-10
JP5854695B2 JP5854695B2 (ja) 2016-02-09

Family

ID=45818462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011175521A Active JP5854695B2 (ja) 2010-09-22 2011-08-11 ロボット装置の制御方法及びロボット装置

Country Status (2)

Country Link
US (2) US8958915B2 (ja)
JP (1) JP5854695B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014004653A (ja) * 2012-06-25 2014-01-16 Canon Inc ロボット及びロボット制御方法
WO2014080621A1 (ja) * 2012-11-22 2014-05-30 パナソニック株式会社 アームの制御装置及び制御方法及び制御プログラム、ロボット、並びに、アームの制御用集積電子回路
WO2014080620A1 (ja) * 2012-11-22 2014-05-30 パナソニック株式会社 アームの制御装置及び制御方法及び制御プログラム、ロボット、並びに、アームの制御用集積電子回路
JP2014184526A (ja) * 2013-03-25 2014-10-02 Canon Inc ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP2014200893A (ja) * 2013-04-08 2014-10-27 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP2014210326A (ja) * 2013-04-19 2014-11-13 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
CN107351086A (zh) * 2017-08-22 2017-11-17 华南理工大学 一种scara机器人关节力矩的卡尔曼估计方法
CN113478490A (zh) * 2021-08-24 2021-10-08 苏州玖钧智能装备有限公司 一种具有预设性能的工业机器人pid控制方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5966372B2 (ja) 2012-01-17 2016-08-10 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット制御方法及びロボット
JP5962020B2 (ja) * 2012-01-17 2016-08-03 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット及びロボット制御方法
JP5930753B2 (ja) * 2012-02-13 2016-06-08 キヤノン株式会社 ロボット装置の制御方法及びロボット装置
JP5930754B2 (ja) * 2012-02-13 2016-06-08 キヤノン株式会社 ロボット装置の制御方法及びロボット装置
JP5409844B2 (ja) * 2012-05-30 2014-02-05 株式会社神戸製鋼所 多関節ロボットの軌跡制御装置および制御方法
CN102785250A (zh) * 2012-08-23 2012-11-21 中国科学院自动化研究所 一种四足机器人运动控制器
US9387588B1 (en) * 2014-08-25 2016-07-12 Google Inc. Handling gait disturbances with asynchronous timing
US10081098B1 (en) 2014-08-25 2018-09-25 Boston Dynamics, Inc. Generalized coordinate surrogates for integrated estimation and control
US9618937B1 (en) 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
US9895804B1 (en) * 2014-08-26 2018-02-20 Boston Dynamics, Inc. Failure mode
US9446518B1 (en) 2014-11-11 2016-09-20 Google Inc. Leg collision avoidance in a robotic device
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
US9594377B1 (en) 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
US10189519B2 (en) * 2015-05-29 2019-01-29 Oregon State University Leg configuration for spring-mass legged locomotion
DE102015009048B3 (de) * 2015-07-13 2016-08-18 Kuka Roboter Gmbh Steuern eines nachgiebig geregelten Roboters
US9586316B1 (en) * 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
US10152033B2 (en) 2016-02-01 2018-12-11 Varian Semiconductor Equipment Associates, Inc. Proportional integral derivative control incorporating multiple actuators
US9891599B2 (en) * 2016-02-01 2018-02-13 Varian Semiconductor Equipment Associates, Inc. Proportional integral derivative control incorporating multiple actuators
US9789919B1 (en) 2016-03-22 2017-10-17 Google Inc. Mitigating sensor noise in legged robots
CN105945961B (zh) * 2016-05-17 2018-02-13 洪炳镕 一种智能型熊猫机器人
CN110869175B (zh) * 2017-06-29 2023-07-28 索尼互动娱乐股份有限公司 机器人关节结构
CN108994842B (zh) * 2018-08-31 2021-08-03 杨骏成 一种焊接机器人的工具中心点调整电路
JP7247572B2 (ja) * 2018-12-17 2023-03-29 京セラドキュメントソリューションズ株式会社 制御装置
DE112019006502T5 (de) 2018-12-28 2021-09-23 Panasonic Intellectual Property Management Co., Ltd. Lötpastenrückgewinnungsvorrichtung und Schirmdruckvorrichtung
CN110014451B (zh) * 2019-04-24 2021-12-21 哈尔滨理工大学 一种适于斜坡路面的爬行机器人髋部装置及控制
CN110096829B (zh) * 2019-05-08 2022-05-06 浙江大学 一种悬臂式直角坐标机器人的刚柔耦合动力学仿真方法
CN111618825B (zh) * 2020-06-11 2021-12-07 山东大学 一种基于张拉整体结构的冗余机械臂
CN112207825B (zh) * 2020-09-28 2022-02-01 杭州云深处科技有限公司 一种四足机器人仿生跳跃动作的控制方法、装置、电子设备及计算机可读介质
CN112571418B (zh) * 2020-12-15 2022-02-25 山东科技大学 四足机器人运动状态聚类与自主决策方法
CN114563954A (zh) * 2022-02-28 2022-05-31 山东大学 一种基于强化学习和位置增量的四足机器人运动控制方法
CN114683289A (zh) * 2022-05-09 2022-07-01 中兵智能创新研究院有限公司 一种四足机器人姿态预适应控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3436320B2 (ja) * 1994-04-18 2003-08-11 富士通株式会社 非線形システムの出力軌道と動特性の制御方法および装置
JP2010221399A (ja) * 2009-01-13 2010-10-07 Panasonic Corp 弾性体アクチュエータの制御装置及び制御方法、並びに、制御プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6368382A (ja) 1986-09-05 1988-03-28 株式会社日立製作所 ロボツト装置
US5019761A (en) * 1989-02-21 1991-05-28 Kraft Brett W Force feedback control for backhoe
JP3450524B2 (ja) 1994-08-04 2003-09-29 キヤノン株式会社 振動アクチュエータ
JP3840192B2 (ja) 2003-03-19 2006-11-01 キヤノン株式会社 ハンド用アーム機構を備えたマニピュレータ
JP4086690B2 (ja) 2003-03-19 2008-05-14 キヤノン株式会社 マニピュレータ
JP4587738B2 (ja) * 2003-08-25 2010-11-24 ソニー株式会社 ロボット装置及びロボットの姿勢制御方法
WO2005028166A1 (ja) * 2003-09-22 2005-03-31 Matsushita Electric Industrial Co., Ltd. 弾性体アクチュエータの制御装置及び制御方法
JP4457794B2 (ja) * 2004-07-22 2010-04-28 トヨタ自動車株式会社 ロボット
US8864846B2 (en) * 2005-03-31 2014-10-21 Massachusetts Institute Of Technology Model-based neuromechanical controller for a robotic leg
JP4830715B2 (ja) * 2006-08-21 2011-12-07 沖電気工業株式会社 リハビリテーション用トレーニングシステム
JP5018136B2 (ja) * 2007-02-28 2012-09-05 沖電気工業株式会社 筋力評価トレーニングシステム
JP5326223B2 (ja) * 2007-05-14 2013-10-30 沖電気工業株式会社 リハビリテーション教育用ロボット
US8181520B2 (en) * 2008-08-29 2012-05-22 Oki Electric Industry Co., Ltd. Muscle training device with muscular force measurement function for controlling the axial torque of a joint axle
US8457830B2 (en) * 2010-03-22 2013-06-04 John R. Goulding In-line legged robot vehicle and method for operating
EP2583657B1 (en) * 2010-06-21 2015-02-18 Toyota Jidosha Kabushiki Kaisha Leg support device
US8812161B2 (en) 2010-09-22 2014-08-19 Canon Kabushiki Kaisha Robot apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3436320B2 (ja) * 1994-04-18 2003-08-11 富士通株式会社 非線形システムの出力軌道と動特性の制御方法および装置
JP2010221399A (ja) * 2009-01-13 2010-10-07 Panasonic Corp 弾性体アクチュエータの制御装置及び制御方法、並びに、制御プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015044965; 緑川 雄一郎: 'MRブレーキを用いた人工筋肉マニピュレータの開発' ロボティクス・メカトロニクス講演会 '09 講演論文集 , 社団法人日本機械学会 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014004653A (ja) * 2012-06-25 2014-01-16 Canon Inc ロボット及びロボット制御方法
US9102057B2 (en) 2012-11-22 2015-08-11 Panasonic Intellectual Property Management Co., Ltd. Arm control apparatus, arm control method, arm control program, robot, and integrated electronic circuit for arm control
WO2014080620A1 (ja) * 2012-11-22 2014-05-30 パナソニック株式会社 アームの制御装置及び制御方法及び制御プログラム、ロボット、並びに、アームの制御用集積電子回路
JP5588090B1 (ja) * 2012-11-22 2014-09-10 パナソニック株式会社 アームの制御装置及び制御方法及び制御プログラム、ロボット、並びに、アームの制御用集積電子回路
JP5588089B1 (ja) * 2012-11-22 2014-09-10 パナソニック株式会社 アームの制御装置及び制御方法及び制御プログラム、ロボット、並びに、アームの制御用集積電子回路
WO2014080621A1 (ja) * 2012-11-22 2014-05-30 パナソニック株式会社 アームの制御装置及び制御方法及び制御プログラム、ロボット、並びに、アームの制御用集積電子回路
US9114531B2 (en) 2012-11-22 2015-08-25 Panasonic Intellectual Property Management Co., Ltd. Arm control apparatus, arm control method, arm control program, robot, and integrated electronic circuit for arm control
JP2014184526A (ja) * 2013-03-25 2014-10-02 Canon Inc ロボット装置、ロボット制御方法、プログラム及び記録媒体
US9427870B2 (en) 2013-03-25 2016-08-30 Canon Kabushiki Kaisha Robotics apparatus, robot control method, program, and recording medium
JP2014200893A (ja) * 2013-04-08 2014-10-27 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
US9254570B2 (en) 2013-04-08 2016-02-09 Canon Kabushiki Kaisha Robot device, robot control method, program, recording medium, and control device
JP2014210326A (ja) * 2013-04-19 2014-11-13 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
US9339929B2 (en) 2013-04-19 2016-05-17 Canon Kabushiki Kaisha Robot device, robot control method, program, and recording medium
US10183397B2 (en) 2013-04-19 2019-01-22 Canon Kabushiki Kaisha Robot device, robot control method, program, and recording medium
CN107351086A (zh) * 2017-08-22 2017-11-17 华南理工大学 一种scara机器人关节力矩的卡尔曼估计方法
CN113478490A (zh) * 2021-08-24 2021-10-08 苏州玖钧智能装备有限公司 一种具有预设性能的工业机器人pid控制方法

Also Published As

Publication number Publication date
US8958915B2 (en) 2015-02-17
US20120072026A1 (en) 2012-03-22
JP5854695B2 (ja) 2016-02-09
US9925665B2 (en) 2018-03-27
US20150127163A1 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
JP5854695B2 (ja) ロボット装置の制御方法及びロボット装置
US9043029B2 (en) Walking robot and method for controlling posture thereof
JP4513320B2 (ja) ロボット装置、並びにロボット装置の運動制御方法
US9597798B2 (en) Control method of robot apparatus and robot apparatus
US8868240B2 (en) Walking robot and pose control method thereof
KR101687628B1 (ko) 로봇의 보행 제어 장치 및 그 제어 방법
US9579791B2 (en) Control method of robot apparatus and robot apparatus
US8271137B2 (en) Robot and method of controlling the same
US20130144439A1 (en) Walking robot and control method thereof
US9533415B2 (en) Control device for mobile robot
JP5083463B2 (ja) 歩行補助装置
JP6356033B2 (ja) 移動体の制御装置
JP2004167666A (ja) ロボット装置及びその動作制御方法
US8509948B2 (en) Walking robot and method of controlling the same
JP2024502726A (ja) 外骨格を動かす方法
JP2009107033A (ja) 脚式移動ロボット及びその制御方法
JP3726097B2 (ja) 脚式移動ロボットの姿勢制御装置
JP4583098B2 (ja) ロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボット。
Sari et al. Implementation and integration of fuzzy algorithms for descending stair of KMEI humanoid robot
JP2008142861A (ja) 歩容データ生成装置と歩容データ生成方法
JP4848686B2 (ja) 脚式ロボットとその動作調節方法
JP6076873B2 (ja) ロボット

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120203

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140805

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: 20151110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151208

R151 Written notification of patent or utility model registration

Ref document number: 5854695

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151