JP7770202B2 - ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム - Google Patents

ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム

Info

Publication number
JP7770202B2
JP7770202B2 JP2022018554A JP2022018554A JP7770202B2 JP 7770202 B2 JP7770202 B2 JP 7770202B2 JP 2022018554 A JP2022018554 A JP 2022018554A JP 2022018554 A JP2022018554 A JP 2022018554A JP 7770202 B2 JP7770202 B2 JP 7770202B2
Authority
JP
Japan
Prior art keywords
robot
matrix
force
equivalent mass
control axis
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.)
Active
Application number
JP2022018554A
Other languages
English (en)
Other versions
JP2023116029A (ja
Inventor
慶太 嶌本
俊之 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2022018554A priority Critical patent/JP7770202B2/ja
Priority to US18/164,627 priority patent/US12290926B2/en
Publication of JP2023116029A publication Critical patent/JP2023116029A/ja
Application granted granted Critical
Publication of JP7770202B2 publication Critical patent/JP7770202B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1602Program controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • B25J9/1633Program 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/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • B25J9/1653Program controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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/39322Force and position control
    • 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/39329Adaptive force and position control
    • 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/45Nc applications
    • G05B2219/45096Polishing manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Description

本開示の一側面は、ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラムに関する。
特許文献1には、作業対象物の変化に応じて適切な力制御パラメータを決定してロボットを制御する方式が記載されている。
特許第2691591号公報
本開示の一側面では、ロボットを安定的に制御することが望まれている。
本開示の一側面に係るロボット制御システムは、ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得する速度取得部と、速度が0であることに対応する第1等価質量行列と、速度が0でないことに対応する第2等価質量行列とから、取得された速度に基づいて等価質量行列を選択する行列選択部と、選択された等価質量行列に基づいて、ロボットを制御するための制御信号を生成する信号生成部とを備える。
本開示の一側面に係るロボット制御方法は、少なくとも一つのプロセッサを備えるロボット制御システムにより実行されるロボット制御方法であって、ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得するステップと、速度が0であることに対応する第1等価質量行列と、速度が0でないことに対応する第2等価質量行列とから、取得された速度に基づいて等価質量行列を選択するステップと、選択された等価質量行列に基づいて、ロボットを制御するための制御信号を生成するステップとを含む。
本開示の一側面に係るロボット制御プログラムは、ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得するステップと、速度が0であることに対応する第1等価質量行列と、速度が0でないことに対応する第2等価質量行列とから、取得された速度に基づいて等価質量行列を選択するステップと、選択された等価質量行列に基づいて、ロボットを制御するための制御信号を生成するステップとをコンピュータに実行させる。
本開示の一側面によれば、ロボットを安定的に制御できる。
ロボット制御システムのために用いられるコンピュータのハードウェア構成の一例を示す図である。 ロボットシステムの一例を示す図である。 ロボットシステムの一例を示す図である。 二つの制御軸と等価質量行列との関係の一例を示す図である。 ロボット制御システムでの処理の一例を示すフローチャートである。 ロボットシステムの別の例を示す図である。 ロボットシステムの別の例を示す図である。 ロボット制御システムでの処理の別の例を示すフローチャートである。
以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
[システムの概要]
一例に係るロボット制御システムは、位置および力のハイブリッド制御(これは単に「ハイブリッド制御」ともいわれる)によってロボットを動作させるためのコンピュータシステムである。ロボットによる作業の一例として、組立て、研磨などのように、ロボットのエンドエフェクタをワークに接触させつつ該ワークを処理する場合がある。このような作業では、エンドエフェクタの位置だけでなく、エンドエフェクタがワークに加える力についても適切に制御される必要がある。ハイブリッド制御はその適切な制御を実現するための一手法である。ハイブリッド制御は、位置制御軸および力制御軸のそれぞれについて位置および力を取得し、これらの位置および力を位置制御ループおよび力制御ループにフィードバックして目標値に追従させることによって、ロボットの位置および力を同時に制御する技術である。位置制御軸はロボットの位置を制御したい方向を規定する軸であり、力制御軸は、ロボットの力を制御したい方向を規定する軸である。例えば、ロボットによるワークの研磨にハイブリッド制御を適用することで、エンドエフェクタである研磨工具にワーク表面の法線方向に沿って所望の力を掛けつつ、ワーク表面に沿って所望の速度で該研磨工具を移動させることができる。
ロボット制御システムはハイブリッド制御を実行するために等価質量行列を用いる。等価質量行列とは、ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、加速度と力との関係を表す行列である。作業空間は現実の空間である。等価質量行列を導入することで、位置制御器の出力と力制御器の出力とを力の次元で統一させることができる。
等価質量行列の対角項のみを用いることで、位置制御軸と力制御軸とを互いに非干渉にすることができる。この手法は、外乱オブザーバ、I制御(積分制御)などのような、指令と応答との誤差を0にするための制御器の帯域が無限大の場合には有効である。しかし、実用上、その帯域を無限大にすることはできず、そのため、補償できない帯域の振動が増幅されてしまう。加えて、等価質量行列の対角項のみを用いる場合には、ロボットの特異姿勢においてヤコビ行列の逆行列が発散してしまって、すなわち行列式が0となってしまって、行列計算を実行できない問題がある。
これらの問題を解決してロボットを安定的に制御するために、ロボット制御システムは、力制御軸に沿ったロボットの速度が0であることに対応する第1等価質量行列と、該速度が0でないことに対応する第2等価質量行列とを用いる。ロボット制御システムは、作業空間における力制御軸に沿ったロボットの速度を取得し、第1等価質量行列および第2等価質量行列から、その速度に基づいて等価質量行列を選択し、選択された等価質量行列に基づいて、ロボットを制御するための制御信号を生成する。ロボット制御システムはその制御信号をロボットに向けて出力する。本開示では、「力制御軸に沿ったロボットの速度」を単に「力制御軸に沿った速度」ともいう。
[システムに関連する理論]
作業空間でのロボットの速度sXと、ロボットの関節の数が自由度として設定される関節空間での該ロボットの速度sθとの関係は、キネマティクスを時間微分することで、ヤコビ行列Jacoを用いた式(1)によって表される。sはラプラス演算子である。
本開示において、ロボットの速度は例えば、ロボットの先端部に取り付けられるエンドエフェクタの速度である。このエンドエフェクタの速度は「先端速度」とも呼ばれる。「力制御軸に沿った速度」は「力制御軸に沿った先端速度」であり得る。
式(1)の両辺を微分して式(2)を得る。ロボットがワークに接触した状態では、ロボットの姿勢の変化とロボットの速度とが小さいので、この微分ではヤコビ行列Jacoの微分項を0と近似できる。
ロボットの各関節のトルクτresは、慣性行列Jを用いて式(3)により表される。τextはロボットに加わる外力を表し、τdisはその外力以外にロボットに加わる外乱を示す。
作業空間での力Fresと関節空間でのトルクτresとの関係は、仮想仕事の原理から式(4)によって表される。
式(2)~(4)を組み合わせて式(5)が得られる。
この式(5)に対して式(6)を定義して、式(5)を式(7)に変形する。

式(6),(7)により、作業空間における加速度と力との関係を表す行列である等価質量行列Mが得られる。等価質量行列Mは式(8)により表される。
この等価質量行列については下記の参考文献1,2にも記載されている。
(参考文献1)
T.Murakami, F. Yu, and K. Ohnishi: “Torque Sensorless Control inMultidegree-of-Freedom Manipulator,” IEEE Transactions on IndustrialElectronics, vol. 40, No. 2, pp. 259-265, 1993.
(参考文献2)
N.Togashi, T. Shimono, N. Motoi, and N. Oda: “Experimental Comparison of DesignMethods for Equivalent Mass Matrix in Motion Control System based on WorkspaceObserver,” 2014 IEEE 13th International Workshop on Advanced Motion Control,pp.669-674, March 2014.
上述したように、等価質量行列Mについては、ロボットの特異姿勢においてヤコビ行列Jacoの行列式が0になる問題がある。ロボット制御システムはこの問題を解決するために、その行列式が0にならないように等価質量行列の各要素を設定する。
上述したように、ハイブリッド制御では位置制御軸および力制御軸が考慮される。各要素を示すように式(7)を書き直すと式(9),(10)が得られる。

式(9)において、Xは力制御軸におけるロボットの位置を示し、Xは位置制御軸におけるロボットの位置を示す。Fは力制御軸におけるロボットの力を示し、Xは位置制御軸におけるロボットの力を示す。
本開示では、ロボット制御システムにおいて用いられる等価質量行列をMと表現する。或る加速度から等価質量行列Mを用いて算出される力をFと表し、その加速度から理論上の等価質量行列Mを用いて算出される力をFと表す。この前提において、力制御軸に沿った速度が0でない場合のFとFとの関係は式(11)により表される。式(11)では、総外乱を外力Fextと外力以外の外乱Fdisとに分けて(Fdis+Fext)と表す。
等価質量行列Mを用いて力F outを出力する場合には、ロボットを稼働させるためのモータに向けて実際に出力される力Foutは式(12)で表される。
一方、力制御軸に沿った速度が0である場合には、力制御軸での力応答(モータが回転して進む力)は0であり、モータの力制御軸に沿った力F outと総外乱(Fdis+Fext)とが、式(13)に示すように釣り合っていると考えられる。
この場合には、ロボットが接触しているワークからの反力と上記の出力とが等しくなっていると言える。力制御器をCとし、力を算出するための等価質量行列をM とし、力の推定値または検出値をF^ rtobとし、力の指令値をFcmdとし、オブザーバなどのようなI制御成分のカットオフ周波数をωwobとすると、発生する総外乱は式(14)により表される。
式(11),(14)より、力制御軸に沿った速度が0であるか否かによって、力制御軸と位置制御軸との間の干渉の生じ方が変わる。ロボット制御システムは、その制御軸間の干渉を低減させて、一方の制御軸に生じた振動(例えば高周波の振動)が他方の制御軸に伝わることを抑制するために、等価質量行列Mを設定する。一例では、その等価質量行列Mは、位置制御軸から力制御軸への干渉を低減させて、位置制御軸に生じた振動(例えば高周波の振動)が力制御軸に伝わることを抑制するために設定される。この場合の等価質量行列Mは、力制御軸に沿った速度が0でない場合には式(15)により表され、その速度が0である場合には式(16)により表される。

すなわち、ロボット制御システムは、力制御軸に沿ったロボットの速度が0であることに対応する第1等価質量行列Mn2と、該速度が0でないことに対応する第2等価質量行列Mn3とを用いる。ロボット制御システムは、力制御軸に沿ったロボットの速度を取得し、第1等価質量行列Mn2および第2等価質量行列Mn3から、その速度に基づいて等価質量行列Mを選択する。そして、ロボット制御システムは、選択された等価質量行列Mに基づいて、ロボットを制御するための制御信号を生成および出力する。
力を検出する力センサをロボットが有しない場合、すなわち、力センサレスのロボットの場合には、ロボット制御システムは反力推定オブザーバによってその力を推定する。等価質量行列Mはこの反力推定オブザーバにも用いられてよい。式(12)と同様に力F^ rtobは式(17)によって表される。一例では、式(17)における等価質量行列Mとして第2等価質量行列Mn3が設定される。
上述したように、一例では、力制御軸に沿った速度が0でない場合に位置制御軸から力制御軸への干渉を低減させるために、式(15)により表される第2等価質量行列Mn3が用いられる。この場合には、力制御軸から位置制御時への干渉を低減させるために、非干渉制御(Decoupling Control)が導入されてもよい。
非干渉制御について説明する。式(15)における等価質量行列Mn3 -1の逆行列を式(18)のように仮定する。
逆行列の定義から式(19)が成立する。
したがって、位置制御軸と力制御軸との間の干渉を表す項は式(20)により定義される。
式(20)より、力の干渉は式(21)により表される。Fは算出される力を表し、Fは現実の力を表す。
力制御軸に沿った速度が0でない場合には、力制御軸における計算上の力と現実の力とを結ぶ関係がIではなくI+Mn3fpipfで示される。行列積Mn3fpipfは導出可能であり、したがって、減算か、または比率を変更するための乗算を実行することで除去できる。非干渉制御は、式(21)でのMn3fpipfを除去して、算出される力と現実の力との誤差を補償する処理であるといえる。
等価質量行列について式(22),(23)が導出可能であるとする。

式(23)の逆行列を式(24)のように定義する。
この場合、式(21)は式(25)のように改められる。非干渉制御はこの式(25)によって表される処理である。
[システムの第1の例]
(システムの構成)
ロボット制御システムは任意の種類のコンピュータによって実現され得る。そのコンピュータは、パーソナルコンピュータ、業務用サーバなどの汎用コンピュータでもよいし、特定の処理を実行する専用装置に組み込まれてもよい。ロボット制御システムは一つのコンピュータによって実現されてもよいし、複数のコンピュータを有する分散システムによって実現されてもよい。
図1は、ロボット制御システムのために用いられるコンピュータ100のハードウェア構成の一例を示す図である。この例では、コンピュータ100は本体110、モニタ120、および入力デバイス130を備える。
本体110は回路160を有する装置である。回路160は、少なくとも一つのプロセッサ161と、メモリ162と、ストレージ163と、入出力ポート164と、通信ポート165とを有する。ストレージ163は、本体110の各機能モジュールを構成するためのプログラムを記録する。ストレージ163は、ハードディスク、不揮発性の半導体メモリ、磁気ディスク、光ディスクなどの、コンピュータ読み取り可能な記録媒体である。メモリ162は、ストレージ163からロードされたプログラム、プロセッサ161の演算結果などを一時的に記憶する。プロセッサ161は、メモリ162と協働してプログラムを実行することで各機能モジュールを構成する。入出力ポート164は、プロセッサ161からの指令に応じて、モニタ120または入力デバイス130との間で電気信号の入出力を行う。入出力ポート164は他の装置との間で電気信号の入出力を行ってもよい。通信ポート165は、プロセッサ161からの指令に従って、通信ネットワークNを介して他の装置との間でデータ通信を行う。
モニタ120は、本体110から出力された情報を表示するための装置である。モニタ120は、グラフィック表示が可能であればいかなるものであってもよく、その具体例としては液晶パネルが挙げられる。
入力デバイス130は、本体110に情報を入力するための装置である。入力デバイス130は、所望の情報を入力可能であればいかなるものであってもよく、その具体例としてはキーパッド、マウス、操作コントローラなどの操作インタフェースが挙げられる。
モニタ120および入力デバイス130はタッチパネルとして一体化されていてもよい。例えばタブレットコンピュータのように、本体110、モニタ120、および入力デバイス130が一体化されていてもよい。
ロボット制御システムの各機能モジュールは、プロセッサ161またはメモリ162の上にロボット制御プログラムを読み込ませてプロセッサ161にそのプログラムを実行させることで実現される。ロボット制御プログラムは、ロボット制御システムの各機能モジュールを実現するためのコードを含む。プロセッサ161はロボット制御プログラムに従って入出力ポート164または通信ポート165を動作させ、メモリ162またはストレージ163におけるデータの読み出しおよび書き込みを実行する。
ロボット制御プログラムは、CD-ROM、DVD-ROM、半導体メモリなどの非一時的な記録媒体に固定的に記録された上で提供されてもよい。あるいは、ロボット制御プログラムは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
図2および図3は、一例に係るロボット制御システム10とロボット2とを備えるロボットシステム1の一例を示す図である。図2は第1等価質量行列Mn2が選択された場合に対応し、図3は第2等価質量行列Mn3が選択された場合に対応する。ロボットシステム1は、本開示に係るロボット制御システムの適用の一例である。ロボット制御システム10は作業空間9に配置されたロボット2を動作させる。作業空間9には、ロボット2のモータを制御するモータ制御装置3も配置され得る。一例では、ロボット2の複数の駆動対象のそれぞれに対してモータおよびモータ制御装置3が設けられ、それぞれの駆動対象について、一つのモータ制御装置3が一つのモータに対応する。関節は駆動対象の一例である。ロボット制御システム10とモータ制御装置3とは通信ネットワークを介して互いに接続する。装置間を接続する通信ネットワークは、有線ネットワークでも無線ネットワークでもよい。通信ネットワークはインターネットおよびイントラネットの少なくとも一方を含んで構成されてもよい。あるいは、通信ネットワークは単純に1本の通信ケーブルによって実現されてもよい。図2および図3はロボット制御システム10に一つのロボット2が接続される構成を示すが、ロボット制御システム10は複数のロボット2と接続してもよい。
ロボット2は、動力を受けて目的に応じた所定の動作を行って、有用な仕事を実行する装置である。一例では、ロボット2は多軸のシリアルリンク型の垂直多関節ロボットであり、その先端部にエンドエフェクタ2aを保持した状態で様々な処理を実行できるように構成される。ロボット2は、所定の範囲内において先端部の位置および姿勢を自在に変更し得る。ロボット2は、6軸の垂直多関節ロボットでもよいし、6軸に1軸の冗長軸を追加した7軸の垂直多関節ロボットでもよい。
エンドエフェクタ2aはワークに作用する機器であり、例えば、ワークに対して何らかの物理的な変化を与える機器である。エンドエフェクタ2aは研磨工具、溶接ガン、プレス機などのような様々な機器であり得る。
モータは、モータ制御装置3から供給される電力に応じて、ロボット2の駆動対象を駆動させるための動力を発生させる装置である。個々のモータによって個々の駆動対象が動作し、その結果、エンドエフェクタ2aがワークに対して所定の仕事を実行する。モータは、駆動対象を回転させる回転型モータであってもよいし、駆動対象を直線に沿って変位させるリニア型モータであってもよい。モータは、同期電動機であってもよいし、誘導電動機であってもよい。モータは、SPM(Surface Permanent Magnet)モータ、IPM(Interior Permanent Magnet)モータ等の永久磁石型の同期電動機であってもよい。モータは、シンクロナスリラクタンスモータ(synchronous reluctance motor)のような、永久磁石を有しない同期電動機であってもよい。モータはDCモータであってもよいしACモータであってもよい。
ロボット2は、モータ制御装置3からの電力によって動作するロボット2の応答を検出する装置である少なくとも一つのセンサを備えてもよい。例えば、ロボット2は力センサを備えてもよい。応答とは、ロボットを制御するための命令である指令に対する該ロボットの出力をいう。例えば、応答はロボット2の動作および状態の少なくとも一方に関する情報を示す。応答はモータの動作および状態の少なくとも一方に関する情報を示してもよく、例えば、モータの軸速度と磁極位置との少なくとも一方を示してもよい。モータが回転型である場合には、モータによる駆動対象の回転角度が「位置」に相当し、モータによる駆動対象の回転速度が「速度」に相当する。応答は駆動対象の動作および状態の少なくとも一方に関する情報を示してもよく、例えば、駆動対象の位置、速度、および力の少なくとも一つを示してもよい。センサは応答を示す応答信号をロボット制御システム10に送信する。応答は、センサによって得られる値そのものでもよいし、所与の演算またはアルゴリズムによって算出または加工される値によって表されてもよい。
モータ制御装置3は、ロボット制御システム10からの指令にモータの出力を追従させるための装置である。モータ制御装置3は、ロボット制御システム10からの指令に基づいて、モータを動かすための電力を生成し、その電力をモータに供給する。この供給される電力は、トルク指令、電流指令などのような駆動力指令に相当する。モータ制御装置3は例えば、インバータであってもよいし、サーボアンプであってもよい。モータ制御装置3はロボット2内に組み込まれてもよい。モータ制御装置3は、自機の応答を検出するセンサを備えてもよい。
図2および図3に示すように、一例では、ロボット制御システム10は機能的構成要素として指令部11、運動学変換部12、位置・力制御部13、フィルタ部14、速度取得部15、行列選択部16、力算出部17、座標変換部18、信号生成部19、外乱推定部20、および反力推定部21を備える。
指令部11は、ロボット2に実現させようとする位置の指令値Xcmdと、ロボット2に実現させようとする力の指令値Fcmdとを位置・力制御部13に出力する機能モジュールである。指令部11はこれらの指令値のうちの少なくとも一つを生成してもよいし、上位コントローラ(ホストコントローラ)などのような別の装置からこれらの指令値のうちの少なくとも一つを受信してもよい。いずれにしても、指令部11は指令値Xcmd,Fcmdを出力する。
運動学変換部12は、運動学の計算によって、関節空間での位置の応答値θresを作業空間での位置の応答値Xresに変換する機能モジュールである。一例では、応答値θresは各モータの回転角度、すなわち各関節の回転角度を示す。運動学変換部12はその応答値Xresを位置・力制御部13および速度取得部15に出力する。
位置・力制御部13は、指令値Xcmd,Fcmdのそれぞれについてフィードバック制御を実行して、作業空間9での加速度参照値srefを算出する機能モジュールである。位置・力制御部13は加速度参照値srefをフィルタ部14に出力する。加速度参照値は加速度指令の参照値である。一例では、位置・力制御部13は位置の指令値Xcmdと位置の応答値Xresとの差を位置差として算出する。更に、位置・力制御部13は力の指令値Fcmdと、反力推定部21により推定されたかまたは力センサによって検出された反力F^ rtobとの差を力差として算出する。位置・力制御部13はその位置差および力差に基づいて加速度参照値srefを算出する。式(9)に示すように、加速度参照値srefは位置制御軸および力制御軸を考慮した値である。
フィルタ部14は、加速度指令の高周波成分、すなわち加速度参照値srefの高周波成分を除去する機能モジュールである。したがって、フィルタ部14はローパスフィルタであるといえる。フィルタ部14は高周波成分が除去された加速度参照値srefを力算出部17に出力する。
速度取得部15は、作業空間9における力制御軸に沿ったロボット2の速度sXを取得する機能モジュールである。一例では、速度取得部15は位置の応答値Xresに基づいて速度sXを算出して、速度sXを取得する。速度取得部15は速度sXを行列選択部16に出力する。
行列選択部16は、速度sXが0であることに対応する第1等価質量行列Mn2と、速度sXが0でないことに対応する第2等価質量行列Mn3とから、速度sXに基づいて等価質量行列Mを選択する機能モジュールである。行列選択部16は、速度sXが0であることに応答して第1等価質量行列Mn2を選択し、速度sXが0でないことに応答して第2等価質量行列Mn3を選択する。
行列選択部16は選択された等価質量行列Mの各要素を応答に基づいて設定し、その等価質量行列Mを力算出部17、外乱推定部20、および反力推定部21に伝達する。速度sXが0である場合には、行列選択部16は、力制御軸と位置制御軸との間の干渉を示す行列成分が0である第1等価質量行列Mn2、すなわち、式(16)から導出される第1等価質量行列Mn2を選択する。行列選択部16は応答に基づいてその第1等価質量行列Mn2の行列成分Mff,Mppを設定する。速度sXが0でない場合には、行列選択部16は、力制御軸と位置制御軸との間の干渉を示す行列成分のうちの少なくとも一部が0でない第2等価質量行列Mn3を選択する。例えば、行列選択部16は、速度sXが0でない場合に、位置制御軸から力制御軸への干渉を示す行列成分Mfpが0でなく、力制御軸から位置制御軸への干渉を示す行列成分Mpfが0である第2等価質量行列Mn3を選択する。すなわち、行列選択部16は式(15)から導出される第2等価質量行列Mn3を選択する。行列選択部16は応答に基づいてその第2等価質量行列Mn3の行列成分Mff,Mpp,Mifpを設定する。
一例では、行列選択部16は、第1等価質量行列Mn2を選択するか第2等価質量行列Mn3を選択するかにかかわらず、力制御軸および位置制御軸が互いに直交することに基づいて、選択された等価質量行列Mの行列成分を設定してもよい。「力制御軸および位置制御軸が互いに直交する」とは、ロボット(例えばエンドエフェクタ)がワークに加える力の方向と、ロボット(例えばエンドエフェクタ)が進む方向とが直交することをいう。
図4は、直交する二つの制御軸と等価質量行列Mとの関係の一例を示す図である。この例は、エンドエフェクタ2aがワーク90の表面の法線方向に力を加えつつ該表面に沿って移動する場面を示す。したがって、力の向きとエンドエフェクタ2aの進行方向とが互いに直交する。このような場面は例えば研磨で起こり得る。この例では、法線方向に沿って延びる力制御軸と、表面に沿って延びる位置制御軸とが互いに直交する。Fは力制御軸に沿った力であり、Fは位置制御軸に沿った力である。sは力制御軸に沿った加速度であり、sは位置制御軸に沿った加速度である。行列成分Miffは力Fから加速度sへの影響の度合いを示し、行列成分Mifpは力Fから加速度sへの影響の度合いを示す。行列成分Mipfは力Fから加速度sへの影響の度合いを示し、行列成分Mippは力Fから加速度sへの影響の度合いを示す。
図4に示すそれぞれの力と、それぞれの加速度と、それぞれの行列成分との関係は、力制御軸および位置制御軸が互いに直交しない場合にも同様に成り立つことに留意されたい。
図2,3に戻る。力算出部17は、選択された等価質量行列Mに基づいて、加速度参照値srefから作業空間9での力参照値F refを算出する機能モジュールである。力参照値は力指令の参照値である。一例では、力算出部17は高周波成分が除去された加速度参照値sref、すなわち、高周波成分が除去された加速度指令に基づいて力参照値F refを算出する。この計算は式(7)の実装であるといえる。別の例では、力算出部17は、後述する外乱推定部20によって推定された外乱F^ wobに更に基づいて力参照値F refを算出する。例えば、加速度参照値srefと選択された等価質量行列Mとから得られる仮の力参照値をF tempとすると、力算出部17は仮の力参照値をF tempと外乱F^ wobとの和を力参照値F refとして算出する。力算出部17は力参照値F refを座標変換部18に出力する。
第1等価質量行列Mn2が選択された場合、すなわち、速度sXが0である場合には、図2に示すように、力算出部17は非干渉制御を実行することなく第1等価質量行列Mn2を用いて力参照値F refを算出する。
第2等価質量行列Mn3が選択された場合、すなわち、速度sXが0でない場合には、図3に示すように、力算出部17は第2等価質量行列Mn3を用いて、かつ非干渉制御を実行して、力参照値F refを算出する。第2等価質量行列Mn3が式(15)によって定義される場合には、力算出部17は、力制御軸から位置制御軸への干渉を補償するための非干渉制御を実行する。
座標変換部18は、仮想仕事の原理に基づいて、力参照値F refをロボット2の関節空間でのトルク参照値τ refに変換する機能モジュールである。トルク参照値はトルク指令の参照値である。座標変換部18はトルク参照値τ refを信号生成部19に出力する。座標変換部18は、式(4)を含む計算の実装であるといえる。
信号生成部19は、選択された等価質量行列Mに基づいて、ロボット2を制御するための制御信号を生成する機能モジュールである。一例では、複数のモータ制御装置3のそれぞれに対して信号生成部19が設けられ、一つの信号生成部19が一つのモータ制御装置3に対応する。信号生成部19は、選択された等価質量行列Mを用いて算出されたトルク参照値τ refに基づいて制御信号を生成し、その制御信号を指令としてモータ制御装置3に出力する。例えば、信号生成部19はトルク参照値τ refを示す制御信号を生成および出力する。上述したように、モータ制御装置3はその制御信号(指令)に基づいて、モータを動かすための電力を生成し、その電力をモータに供給する。
外乱推定部20は、作業空間9における外乱F^ wobを、選択された等価質量行列Mに基づいて推定する機能モジュールである。外乱推定部20は例えば外乱オブザーバとして実現される。外乱推定部20はその外乱F^ wobを力算出部17に出力する。第1等価質量行列Mn2が選択された場合、すなわち、速度sXが0である場合には、図2に示すように、外乱推定部20は非干渉制御を実行することなく第1等価質量行列Mn2を用いて外乱F^ wobを推定する。第2等価質量行列Mn3が選択された場合、すなわち、速度sXが0でない場合には、図3に示すように、外乱推定部20は第2等価質量行列Mn3を用いて、かつ非干渉制御を実行して、外乱F^ wobを推定する。
反力推定部21は、ロボット2を稼働させるためのモータに掛かる反力F^ rtobを推定する機能モジュールである。反力推定部21は例えば反力推定オブザーバとして実現される。反力推定部21は、行列選択部16による等価質量行列の選択に依存することなく、第2等価質量行列Mn3に基づいて反力F^ rtobを推定する。すなわち、反力推定部21は、第1等価質量行列Mn2が選択された場合と第2等価質量行列Mn3が選択された場合のいずれにおいても、第2等価質量行列Mn3に基づいて反力F^ rtobを推定する。反力推定部21は推定された反力F^ rtobを位置・力制御部13に出力する。
(ロボット制御方法)
本開示に係るロボット制御方法の一例として、図5を参照しながら、ロボット制御システム10により実行される処理手順の一例を、特に、等価質量行列の選択に関連する処理の一例を説明する。図5はロボット制御システム10での処理の一例を処理フローS1として示すフローチャートである。すなわち、ロボット制御システム10は処理フローS1を実行する。
ステップS101では、運動学変換部12がロボット2の各モータの回転角度および回転速度を応答の少なくとも一部として取得する。一例では、運動学変換部12は個々のモータの回転角度を取得し、それぞれの回転角度を微分して個々のモータの回転速度を取得する。
ステップS102では、位置・力制御部13が、ロボット2の現在の姿勢に対応するヤコビ行列Jacoを算出する。一例では、位置・力制御部13は、関節空間でのロボット2についての位置と、ロボット2のリンクに関する情報であるDHパラメータとに基づいてヤコビ行列Jacoを算出する。DHパラメータは例えば、関節軸間の距離およびねじれを含む。
ステップS103では、位置・力制御部13が各モータの回転角度に基づいてロボット2の速度sXを算出する。上述したように、速度sXは例えば先端速度である。
ステップS104では、位置・力制御部13がロボットの現在の姿勢に対応する慣性行列Jを算出する。一例では、位置・力制御部13は、関節空間でのロボット2についての位置と、ロボット2のDHパラメータと、ロボット2のリンクに関する重量情報とに基づいて慣性行列Jを算出する。重量情報は例えば、質量および重心位置を含む。
ステップS105では、行列選択部16が等価質量行列Mを算出する。一例では、行列選択部16はヤコビ行列Jacoおよび慣性行列Jに基づいて、式(8)を含む計算により第1等価質量行列Mn2および第2等価質量行列Mn3のそれぞれを算出する。
ステップS106では、反力推定部21が、行列選択部16によって算出された第2等価質量行列Mn3を、反力を推定するために設定する。行列選択部16は第2等価質量行列Mn3を反力推定部21に伝達し、反力推定部21はその第2等価質量行列Mn3を設定する。
ステップS107~S109にかけて、行列選択部16が等価質量行列Mを選択する。ステップS107では、行列選択部16は力制御軸に沿ったロボット2の速度sXが0であるか否かを判定する。速度sXが0である場合には、処理はステップS108に進む。ステップS108では、行列選択部16は第1等価質量行列Mn2を選択して、この第1等価質量行列Mn2を力算出部17および外乱推定部20に伝達する。一方、速度sXが0でない場合には、処理はステップS109に進む。ステップS109では、行列選択部16が第2等価質量行列Mn3を選択して、この第2等価質量行列Mn3を力算出部17および外乱推定部20に伝達する。
ステップS110では、力算出部17が、選択された等価質量行列Mに基づいて力参照値F refを算出する。一例では、力算出部17は高周波成分が除去された加速度参照値srefと選択された等価質量行列Mとに基づいて力参照値F refを算出する。別の例では、外乱推定部20が選択された等価質量行列Mに基づいて外乱F^ wobを推定し、力算出部17はこの外乱F^ wobに更に基づいて力参照値F refを算出する。
ステップS111では、信号生成部19がその力参照値F refに基づいて制御信号を生成する。一例では、座標変換部18がその力参照値F refをトルク参照値τ refに変換し、信号生成部19がそのトルク参照値τ refに基づいて制御信号を生成する。信号生成部19はその制御信号をモータ制御装置3に出力する。
ステップS112によって示されるように、ロボット制御システム10は所定の処理が終了するまでステップS101~S111を繰り返し実行し得る。例えば、ロボット制御システム10は所定の間隔でステップS101~S111を繰り返す。
[システムの第2の例]
(システムの構成)
図6および図7は、別の例に係るロボット制御システム30とロボット2とを備えるロボットシステム1Aの一例を示す図である。図6は第1等価質量行列Mn2が選択された場合に対応し、図7は第2等価質量行列Mn3が選択された場合に対応する。ロボットシステム1Aは、本開示に係るロボット制御システムの適用の一例である。ロボットシステム1と同様に、作業空間9にはロボット2およびモータ制御装置3が配置される。ロボット制御システム30は通信ネットワークを介してモータ制御装置3と接続し、ロボット2を動作させる。
図6および図7に示すように、一例では、ロボット制御システム30は機能的構成要素として力指令部31、力制御部32、位置指令部33、逆運動学変換部34、運動学変換部35、速度取得部36、行列選択部37、信号生成部38、および反力推定部39を備える。
力指令部31は、ロボット2に実現させようとする力の指令値Fcmdを力制御部32に出力する機能モジュールである。力指令部31はその指令値を生成してもよいし、上位コントローラなどのような別の装置からその指令値を受信してもよい。
力制御部32は、力の指令値Fcmdについてフィードバック制御を実行して力参照値Frefを算出する機能モジュールである。力制御部32はその力参照値Frefを位置指令部33に出力する。一例では、力制御部32は力の指令値Fcmdと、反力推定部39により推定されたかまたは力センサによって検出された反力F^ rtobとの差を作業空間での力参照値Frefとして算出する。力制御部32は力参照値Frefを位置指令部33に出力する。
位置指令部33は、ロボット2に実現させようとする位置の指令値Xcmdを逆運動学変換部34に出力する機能モジュールである。位置指令部33はその指令値を生成してもよいし、上位コントローラなどのような別の装置からその指令値を受信してもよい。位置指令部33は作業空間での力参照値Frefも逆運動学変換部34に出力する。
逆運動学変換部34は、逆運動学の計算によって、作業空間での位置の指令値Xcmdを関節空間での位置の指令値θcmdに変換する機能モジュールである。逆運動学変換部34はその指令値θcmdと力参照値Frefとを信号生成部38に出力する。
運動学変換部35は、運動学の計算によって、関節空間での位置の応答値θresを作業空間での位置の応答値Xresに変換する機能モジュールである。一例では、応答値θresは各モータの回転角度、すなわち各関節の回転角度を示す。運動学変換部35はその応答値Xresを速度取得部36に出力する。
速度取得部36は、作業空間9における力制御軸に沿ったロボット2の速度sXを取得する機能モジュールである。一例では、速度取得部36は位置の応答値Xresに基づいて速度sXを算出して、速度sXを取得する。速度取得部36は速度sXを行列選択部37に出力する。
行列選択部37は、速度sXが0であることに対応する第1等価質量行列Mn2と、速度sXが0でないことに対応する第2等価質量行列Mn3とから、速度sXに基づいて等価質量行列Mを選択する機能モジュールである。行列選択部37は、速度sXが0であることに応答して第1等価質量行列Mn2を選択し、速度sXが0でないことに応答して第2等価質量行列Mn3を選択する。
行列選択部37は選択された等価質量行列Mの各要素を応答に基づいて設定し、その等価質量行列Mを信号生成部38および反力推定部39に伝達する。速度sXが0である場合には、行列選択部37は、式(16)から導出される第1等価質量行列Mn2を選択する。行列選択部37は応答に基づいてその第1等価質量行列Mn2の行列成分Mff,Mppを設定する。速度sXが0でない場合には、行列選択部37は、力制御軸と位置制御軸との間の干渉を示す行列成分のうちの少なくとも一部が0でない第2等価質量行列Mn3を選択する。例えば、行列選択部37は、式(15)から導出される第2等価質量行列Mn3を選択する。行列選択部37は応答に基づいてその第2等価質量行列Mn3の行列成分Mff,Mpp,Mifpを設定する。
一例では、行列選択部37は、第1等価質量行列Mn2を選択するか第2等価質量行列Mn3を選択するかにかかわらず、力制御軸および位置制御軸が互いに直交することに基づいて、選択された等価質量行列Mの行列成分を設定してもよい。図4の例は行列選択部37にも当てはまる。
信号生成部38は、選択された等価質量行列Mに基づいて、ロボット2を制御するための制御信号を生成する機能モジュールである。複数のモータ制御装置3のそれぞれに対して信号生成部38が設けられ、一つの信号生成部38が一つのモータ制御装置3に対応してもよい。一例では、信号生成部38は行列選択部37によって選択された等価質量行列Mに基づいて、ロボット2の関節空間での位置をロボット2のトルク参照値に変換し、そのトルク参照値に基づいて制御信号を生成する。信号生成部38は制御信号を指令としてモータ制御装置3に出力する。例えば、信号生成部38はトルク参照値を示す制御信号を生成および出力する。モータ制御装置3はその制御信号(指令)に基づいて、モータを動かすための電力を生成し、その電力をモータに供給する。
一例では、信号生成部38は位置制御部41、慣性行列設定部42、トルク補償部43、および合成部44を備える。
位置制御部41は、関節空間での位置の指令値θcmdと力参照値Frefとに基づいてトルク参照値τrefを算出する機能モジュールである。位置制御部41は指令値θcmdと応答値θresとの差を算出し、トルク参照値τrefを算出する。位置制御部41はそのトルク参照値τrefを合成部44に出力する。
慣性行列設定部42は、ロボット2に関する慣性変動をトルク参照値τrefに反映させるための慣性行列J dtrを、選択された等価質量行列Mに基づいて設定する機能モジュールである。慣性行列J dtrはロボット2に関する慣性行列の一例である。慣性変動はロボット2の姿勢、ロボット2とワークとの関係などによって生ずる現象である。
第1等価質量行列Mn2が選択された場合には、慣性行列設定部42は式(26)によって慣性行列J dtrを設定する。
一方、第2等価質量行列Mn3が選択された場合には、慣性行列設定部42は式(27)によって慣性行列J dtrを設定する。
トルク補償部43は、設定された慣性行列J dtrに基づいてトルク参照値τrefを補償する機能モジュールである。一例では、トルク補償部43は関節空間での位置の指令値θcmdと、力参照値Frefと、慣性行列J dtrとに基づいてトルク補償値τ cmpを算出する。トルク補償部43はトルク補償値τ cmpを合成部44に出力する。
合成部44は、補償されたトルク参照値τrefに基づいて制御信号を生成する機能モジュールである。一例では、合成部44はトルク参照値τrefにトルク補償値τ cmpを加算して、補償されたトルク参照値τ refを求める。そして、合成部44は補償されたトルク参照値τ refに基づいて制御信号を生成し、その制御信号をモータ制御装置3に出力する。例えば、合成部44は補償されたトルク参照値τ refを示す信号を生成および出力する。上述したように、モータ制御装置3はその制御信号(指令)に基づいて、モータを動かすための電力を生成し、その電力をモータに供給する。
反力推定部39は、ロボット2を稼働させるためのモータに掛かる反力F^ rtobを推定する機能モジュールである。反力推定部39は例えば反力推定オブザーバとして実現される。反力推定部39は、行列選択部37による等価質量行列の選択に依存することなく、第2等価質量行列Mn3に基づいて反力F^ rtobを推定する。すなわち、反力推定部39は、第1等価質量行列Mn2が選択された場合と第2等価質量行列Mn3が選択された場合のいずれにおいても、第2等価質量行列Mn3に基づいて反力F^ rtobを推定する。反力推定部39は推定された反力F^ rtobを力制御部32に出力する。
(ロボット制御方法)
本開示に係るロボット制御方法の一例として、図8を参照しながら、ロボット制御システム30により実行される処理手順の一例を、特に、等価質量行列の選択に関連する処理の一例を説明する。図8はロボット制御システム30での処理の一例を処理フローS2として示すフローチャートである。すなわち、ロボット制御システム30は処理フローS2を実行する。
ステップS201では、運動学変換部35がロボット2の各モータの回転角度および回転速度を応答の少なくとも一部として取得する。一例では、運動学変換部35は個々のモータの回転角度を取得し、それぞれの回転角度を微分して個々のモータの回転速度を取得する。
ステップS202では、位置制御部41が、ロボット2の現在の姿勢に対応するヤコビ行列Jacoを算出する。一例では、位置制御部41は、関節空間でのロボット2についての位置と、ロボット2のDHパラメータとに基づいてヤコビ行列Jacoを算出する。
ステップS203では、位置制御部41が各モータの回転角度に基づいてロボット2の速度sXを算出する。上述したように、速度sXは例えば先端速度である。
ステップS204では、位置制御部41がロボットの現在の姿勢に対応する慣性行列Jを算出する。一例では、位置制御部41は、関節空間でのロボット2についての位置と、ロボット2のDHパラメータと、ロボット2のリンクに関する重量情報とに基づいて慣性行列Jを算出する。
ステップS205では、行列選択部37が等価質量行列Mを算出する。一例では、行列選択部37はヤコビ行列Jacoおよび慣性行列Jに基づいて、式(8)を含む計算により第1等価質量行列Mn2および第2等価質量行列Mn3のそれぞれを算出する。
ステップS206では、反力推定部39が、行列選択部37によって算出された第2等価質量行列Mn3を、反力を推定するために設定する。行列選択部37は第2等価質量行列Mn3を反力推定部39に伝達し、反力推定部39はその第2等価質量行列Mn3を設定する。
ステップS207~S209にかけて、行列選択部37が等価質量行列Mを選択する。ステップS207では、行列選択部37は力制御軸に沿ったロボット2の速度sXが0であるか否かを判定する。速度sXが0である場合には、処理はステップS208に進む。ステップS208では、行列選択部37は第1等価質量行列Mn2を選択して、この第1等価質量行列Mn2を慣性行列設定部42に伝達する。一方、速度sXが0でない場合には、処理はステップS209に進む。ステップS209では、行列選択部37が第2等価質量行列Mn3を選択して、この第2等価質量行列Mn3を慣性行列設定部42に伝達する。
ステップS210では、信号生成部38が、選択された等価質量行列Mに基づいてトルク参照値τ refを算出する。信号生成部38はその等価質量行列Mに基づいて関節空間での位置の指令値θcmdをトルク参照値τrefに変換する。一例では、位置制御部41が位置の指令値θcmdと応答値θresとの差を算出し、トルク参照値τrefを算出する。加えて、慣性行列設定部42がその等価質量行列Mに基づいて慣性行列J dtrを設定し、トルク補償部43がその慣性行列J dtrに基づいてトルク補償値τ cmpを算出する。そして、合成部44がトルク参照値τrefにトルク補償値τ cmpを加算して、補償されたトルク参照値τ refを得る。
ステップS211では、信号生成部38がトルク参照値τrefに基づいて制御信号を生成する。一例では、合成部44が、補償されたトルク参照値τ refに基づいて制御信号を生成し、その制御信号をモータ制御装置3に出力する。
ステップS212によって示されるように、ロボット制御システム30は所定の処理が終了するまでステップS201~S211を繰り返し実行し得る。例えば、ロボット制御システム30は所定の間隔でステップS201~S211を繰り返す。
[効果]
以上説明したように、本開示の一側面に係るロボット制御システムは、ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得する速度取得部と、速度が0であることに対応する第1等価質量行列と、速度が0でないことに対応する第2等価質量行列とから、取得された速度に基づいて等価質量行列を選択する行列選択部と、選択された等価質量行列に基づいて、ロボットを制御するための制御信号を生成する信号生成部とを備える。
本開示の一側面に係るロボット制御方法は、少なくとも一つのプロセッサを備えるロボット制御システムにより実行されるロボット制御方法であって、ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得するステップと、速度が0であることに対応する第1等価質量行列と、速度が0でないことに対応する第2等価質量行列とから、取得された速度に基づいて等価質量行列を選択するステップと、選択された等価質量行列に基づいて、ロボットを制御するための制御信号を生成するステップとを含む。
本開示の一側面に係るロボット制御プログラムは、ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得するステップと、速度が0であることに対応する第1等価質量行列と、速度が0でないことに対応する第2等価質量行列とから、取得された速度に基づいて等価質量行列を選択するステップと、選択された等価質量行列に基づいて、ロボットを制御するための制御信号を生成するステップとをコンピュータに実行させる。
本開示の一側面に係るロボットシステムは、上記のロボット制御システムと、ロボットとを備える。
このような側面においては、力制御軸に沿ったロボットの速度に応じて等価質量行列が切り替えられる。この仕組みにより、制御信号を生成する過程において行列計算が不能になる事態を回避して、ロボットを安定的に制御することができる。
他の側面に係るロボット制御システムでは、行列選択部は、速度が0である場合に、力制御軸と位置制御軸との間の干渉を示す行列成分が0である第1等価質量行列を選択してもよい。第1等価質量行列をこのように設定することで、力制御軸に沿ったロボットの速度が0である場合において該ロボットを安定的に制御できる。
他の側面に係るロボット制御システムでは、行列選択部は、速度が0でない場合に、力制御軸と位置制御軸との間の干渉を示す行列成分のうちの少なくとも一部が0でない第2等価質量行列を選択してもよい。第2等価質量行列をこのように設定することで、力制御軸に沿ったロボットの速度が0でない場合において、制御信号を生成する過程において逆行列が発散する事態が回避される。したがって、ロボットを安定的に制御できる。
他の側面に係るロボット制御システムでは、行列選択部は、力制御軸および位置制御軸が互いに直交することに基づいて等価質量行列の行列成分を設定してもよい。この場合には、ワークに力を加えながらその力の向きと直交する方向に動作するロボットを安定的に制御できる。
他の側面に係るロボット制御システムは、行列選択部による等価質量行列の選択に依存することなく、ロボットを稼働させるためのモータに掛かる反力を第2等価質量行列に基づいて推定する反力推定部を更に備えてもよい。この構成により、力制御軸と位置制御軸との間の干渉を考慮して反力を推定できる。
他の側面に係るロボット制御システムは、選択された等価質量行列に基づいて、作業空間での力参照値を算出する力算出部と、力参照値をロボットの関節空間でのトルク参照値に変換する変換部とを更に備え、信号生成部は、トルク参照値に基づいて制御信号を生成してもよい。力制御軸に沿ったロボットの速度に応じて選択された等価質量行列を用いて力参照値を計算することで、その計算が不能になる事態が回避される。したがって、ロボットを安定的に制御することができる。
他の側面に係るロボット制御システムでは、力算出部は、速度が0でない場合に、非干渉制御を実行して力参照値を算出してもよい。非干渉制御を用いることで、力制御軸と位置制御軸との間の干渉が更に低減されるので、力参照値をより精度良く算出できる。
他の側面に係るロボット制御システムでは、行列選択部は、速度が0でない場合に、位置制御軸から力制御軸への干渉を示す行列成分が0でない第2等価質量行列を選択し、力算出部は、速度が0でない場合に、力制御軸から位置制御軸への干渉を補償するための非干渉制御を実行してもよい。位置制御軸と力制御軸との間の干渉の方向に応じて第2等価質量行列と非干渉制御とを使い分けることで、その干渉を解消または低減するための構成を簡易にすることができる。
他の側面に係るロボット制御システムは、作業空間における外乱を、選択された等価質量行列に基づいて推定する外乱推定部を更に備え、力算出部は、推定された外乱に基づいて力参照値を算出してもよい。力制御軸に沿ったロボットの速度に応じて選択された等価質量行列を用いて外乱を推定することで、力参照値をより正確に算出できる。
他の側面に係るロボット制御システムでは、外乱推定部は、速度が0でない場合に、非干渉制御を実行して外乱を推定してもよい。非干渉制御を用いることで、力制御軸と位置制御軸との間の干渉が更に低減されるので、外乱をより精度良く推定できる。
他の側面に係るロボット制御システムは、作業空間での加速度指令の高周波成分を除去するフィルタ部を更に備え、力算出部は、高周波成分が除去された加速度指令に基づいて力参照値を算出してもよい。この構成により、高周波帯域での振動を抑制してロボットをより安定的に制御できる。
他の側面に係るロボット制御システムでは、信号生成部は、選択された等価質量行列に基づいて、ロボットの関節空間での位置をロボットのトルク参照値に変換し、トルク参照値に基づいて制御信号を生成してもよい。力制御軸に沿ったロボットの速度に応じて選択された等価質量行列を用いてトルク参照値を計算することで、その計算が不能になる事態が回避される。したがって、ロボットを安定的に制御することができる。
他の側面に係るロボット制御システムでは、信号生成部は、選択された等価質量行列に基づいて、ロボットに関する慣性行列を設定し、慣性行列に基づいてトルク参照値を補償し、補償されたトルク参照値に基づいて制御信号を生成してもよい。力制御軸に沿ったロボットの速度に応じて選択された等価質量行列を用いることで、トルク参照値が確実に補償されるので、ロボットをより正確に制御できる。
[変形例]
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
ロボット制御システムの機能構成は上記の例に限定されない。例えば、フィルタ部は省略されてもよい。ロボットが力センサを有する場合には反力推定部が省略されてもよい。
上記の例ではロボット制御システムはモータ制御装置から分かれているが、ロボット制御システムはモータ制御装置内に組み込まれてもよい。あるいは、ロボット制御システムは、モータ制御装置に向けて指令を出力する上位コントローラ内に組み込まれてもよい。
システムのハードウェア構成は、プログラムの実行により各機能モジュールを実現する態様に限定されない。例えば、上述した機能モジュール群の少なくとも一部が、その機能に特化した論理回路により構成されてもよいし、該論理回路を集積したASIC(Application Specific Integrated Circuit)により構成されてもよい。
少なくとも一つのプロセッサにより実行される方法の処理手順は上記の例に限定されない。例えば、上述したステップまたは処理の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
コンピュータシステムまたはコンピュータ内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」という二つの基準のうちのどちらを用いてもよい。
1,1A…ロボットシステム、2…ロボット、2a…エンドエフェクタ、3…モータ制御装置、9…作業空間、10…ロボット制御システム、11…指令部、12…運動学変換部、13…力制御部、14…フィルタ部、15…速度取得部、16…行列選択部、17…力算出部、18…座標変換部、19…信号生成部、20…外乱推定部、21…反力推定部、30…ロボット制御システム、31…力指令部、32…力制御部、33…位置指令部、34…逆運動学変換部、35…運動学変換部、36…速度取得部、37…行列選択部、38…信号生成部、39…反力推定部、41…位置制御部、42…慣性行列設定部、43…トルク補償部、44…合成部、90…ワーク。

Claims (16)

  1. ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得する速度取得部と、
    前記速度が0であることに対応する第1等価質量行列と、前記速度が0でないことに対応する第2等価質量行列とから、前記取得された速度に基づいて等価質量行列を選択する行列選択部と、
    前記選択された等価質量行列に基づいて、前記ロボットを制御するための制御信号を生成する信号生成部と、
    を備え
    前記第1等価質量行列が、
    前記力制御軸に沿った前記ロボットの力から、前記力制御軸に沿った前記ロボットの加速度への影響の度合いを示す第1行列成分と、前記位置制御軸に沿った前記ロボットの力から、前記位置制御軸に沿った前記ロボットの加速度への影響の度合いを示す第2行列成分とを含み、
    前記力制御軸と位置制御軸との間の干渉を示す行列成分が0である、
    等価質量行列であり、
    前記第2等価質量行列が、
    前記第1行列成分および前記第2行列成分を含み、
    前記力制御軸と前記位置制御軸との間の干渉を示す行列成分のうちの少なくとも一部が0でない、
    等価質量行列である、
    ロボット制御システム。
  2. 前記行列選択部は、前記速度が0である場合に、前記第1等価質量行列を選択する、
    請求項1に記載のロボット制御システム。
  3. 前記行列選択部は、前記速度が0でない場合に、前記第2等価質量行列を選択する、
    請求項1または2に記載のロボット制御システム。
  4. 前記行列選択部は、前記力制御軸および前記位置制御軸が互いに直交することに基づいて前記等価質量行列の行列成分を設定する、
    請求項1~3のいずれか一項に記載のロボット制御システム。
  5. 前記行列選択部による前記等価質量行列の前記選択に依存することなく、前記ロボットを稼働させるためのモータに掛かる反力を前記第2等価質量行列に基づいて推定する反力推定部を更に備える請求項1~4のいずれか一項に記載のロボット制御システム。
  6. 前記選択された等価質量行列に基づいて、前記作業空間での力参照値を算出する力算出部と、
    前記力参照値を前記ロボットの関節空間でのトルク参照値に変換する変換部と、
    を更に備え、
    前記信号生成部は、前記トルク参照値に基づいて前記制御信号を生成する、
    請求項1~5のいずれか一項に記載のロボット制御システム。
  7. 前記力算出部は、前記速度が0でない場合に、非干渉制御を実行して前記力参照値を算出する、
    請求項6に記載のロボット制御システム。
  8. 前記行列選択部は、前記速度が0でない場合に、前記位置制御軸から前記力制御軸への干渉を示す行列成分が0でない前記第2等価質量行列を選択し、
    前記力算出部は、前記速度が0でない場合に、前記力制御軸から前記位置制御軸への干渉を補償するための前記非干渉制御を実行する、
    請求項7に記載のロボット制御システム。
  9. 前記作業空間における外乱を、前記選択された等価質量行列に基づいて推定する外乱推定部を更に備え、
    前記力算出部は、前記推定された外乱に基づいて前記力参照値を算出する、
    請求項6~8のいずれか一項に記載のロボット制御システム。
  10. 前記外乱推定部は、前記速度が0でない場合に、非干渉制御を実行して前記外乱を推定する、
    請求項9に記載のロボット制御システム。
  11. 前記作業空間での加速度指令の高周波成分を除去するフィルタ部を更に備え、
    前記力算出部は、前記高周波成分が除去された前記加速度指令に基づいて前記力参照値を算出する、
    請求項6~10のいずれか一項に記載のロボット制御システム。
  12. 前記信号生成部は、
    前記選択された等価質量行列に基づいて、前記ロボットの関節空間での位置を前記ロボットのトルク参照値に変換し、
    前記トルク参照値に基づいて前記制御信号を生成する、
    請求項1~5のいずれか一項に記載のロボット制御システム。
  13. 前記信号生成部は、
    前記選択された等価質量行列に基づいて、前記ロボットに関する慣性行列を設定し、
    前記慣性行列に基づいて前記トルク参照値を補償し、
    前記補償されたトルク参照値に基づいて前記制御信号を生成する、
    請求項12に記載のロボット制御システム。
  14. 請求項1~13のいずれか一項に記載のロボット制御システムと、
    ロボットと、
    を備えるロボットシステム。
  15. 少なくとも一つのプロセッサを備えるロボット制御システムにより実行されるロボット制御方法であって、
    ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得するステップと、
    前記速度が0であることに対応する第1等価質量行列と、前記速度が0でないことに対応する第2等価質量行列とから、前記取得された速度に基づいて等価質量行列を選択するステップと、
    前記選択された等価質量行列に基づいて、前記ロボットを制御するための制御信号を生成するステップと、
    を含み、
    前記第1等価質量行列が、
    前記力制御軸に沿った前記ロボットの力から、前記力制御軸に沿った前記ロボットの加速度への影響の度合いを示す第1行列成分と、前記位置制御軸に沿った前記ロボットの力から、前記位置制御軸に沿った前記ロボットの加速度への影響の度合いを示す第2行列成分とを含み、
    前記力制御軸と位置制御軸との間の干渉を示す行列成分が0である、
    等価質量行列であり、
    前記第2等価質量行列が、
    前記第1行列成分および前記第2行列成分を含み、
    前記力制御軸と前記位置制御軸との間の干渉を示す行列成分のうちの少なくとも一部が0でない、
    等価質量行列である、
    ロボット制御方法。
  16. ロボットが力制御軸および位置制御軸に基づいてワークを処理する作業空間における、該力制御軸に沿った該ロボットの速度を取得するステップと、
    前記速度が0であることに対応する第1等価質量行列と、前記速度が0でないことに対応する第2等価質量行列とから、前記取得された速度に基づいて等価質量行列を選択するステップと、
    前記選択された等価質量行列に基づいて、前記ロボットを制御するための制御信号を生成するステップと、
    をコンピュータに実行させ
    前記第1等価質量行列が、
    前記力制御軸に沿った前記ロボットの力から、前記力制御軸に沿った前記ロボットの加速度への影響の度合いを示す第1行列成分と、前記位置制御軸に沿った前記ロボットの力から、前記位置制御軸に沿った前記ロボットの加速度への影響の度合いを示す第2行列成分とを含み、
    前記力制御軸と位置制御軸との間の干渉を示す行列成分が0である、
    等価質量行列であり、
    前記第2等価質量行列が、
    前記第1行列成分および前記第2行列成分を含み、
    前記力制御軸と前記位置制御軸との間の干渉を示す行列成分のうちの少なくとも一部が0でない、
    等価質量行列である、
    ロボット制御プログラム。
JP2022018554A 2022-02-09 2022-02-09 ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム Active JP7770202B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022018554A JP7770202B2 (ja) 2022-02-09 2022-02-09 ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム
US18/164,627 US12290926B2 (en) 2022-02-09 2023-02-06 Robot control based on equivalent mass matrix

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022018554A JP7770202B2 (ja) 2022-02-09 2022-02-09 ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム

Publications (2)

Publication Number Publication Date
JP2023116029A JP2023116029A (ja) 2023-08-22
JP7770202B2 true JP7770202B2 (ja) 2025-11-14

Family

ID=87521414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022018554A Active JP7770202B2 (ja) 2022-02-09 2022-02-09 ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム

Country Status (2)

Country Link
US (1) US12290926B2 (ja)
JP (1) JP7770202B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7770202B2 (ja) * 2022-02-09 2025-11-14 株式会社安川電機 ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2691591B2 (ja) 1988-11-20 1997-12-17 富士通株式会社 力制御ロボットの制御方式
JP2011067884A (ja) 2009-09-24 2011-04-07 Tokyo Institute Of Technology 高速高精度な接触作業に適用するロボット制御システム、ロボット制御方法、ロボット制御装置、およびプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0331265B1 (en) * 1988-03-01 1995-08-23 Hitachi Construction Machinery Co., Ltd. Position/force controlling apparatus for working machine with multiple of degrees of freedom
JP5242342B2 (ja) * 2008-10-31 2013-07-24 株式会社東芝 ロボット制御装置
WO2014021433A1 (ja) * 2012-08-02 2014-02-06 東芝機械株式会社 ロボット装置およびその制御方法
DE102016000187B3 (de) * 2016-01-11 2017-01-26 Kuka Roboter Gmbh Bestimmung einer Orientierung eines Roboters relativ zu einer Gravitationsrichtung
IT201600097482A1 (it) * 2016-09-28 2018-03-28 Gaiotto Automation S P A Metodo per il trattamento superficiale di un manufatto
KR102418451B1 (ko) * 2017-12-27 2022-07-07 주식회사 한화 로봇 제어 시스템
US20220134552A1 (en) * 2019-06-25 2022-05-05 Disney Enterprises, Inc. Vibration suppression and dynamic balancing for retargeting motions onto robotic systems
CN113753146B (zh) * 2021-05-31 2023-11-14 腾讯科技(深圳)有限公司 控制机器人进行空翻运动的方法及机器人
JP7770202B2 (ja) * 2022-02-09 2025-11-14 株式会社安川電機 ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム
CN116442240B (zh) * 2023-05-26 2023-11-14 中山大学 一种基于高通滤波解耦的机器人零力控制方法及装置
KR102642245B1 (ko) * 2023-11-24 2024-02-29 주식회사 나우로보틱스 작업 공간 힘/가속도 외란 관측기 및 이를 포함하는 로봇

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2691591B2 (ja) 1988-11-20 1997-12-17 富士通株式会社 力制御ロボットの制御方式
JP2011067884A (ja) 2009-09-24 2011-04-07 Tokyo Institute Of Technology 高速高精度な接触作業に適用するロボット制御システム、ロボット制御方法、ロボット制御装置、およびプログラム

Also Published As

Publication number Publication date
JP2023116029A (ja) 2023-08-22
US12290926B2 (en) 2025-05-06
US20230249339A1 (en) 2023-08-10

Similar Documents

Publication Publication Date Title
CN113891786B (zh) 基于自适应摩擦来控制机器人臂的方法
EP3651942B1 (en) Vibration control of systems with configuration dependent dynamics
JP5327722B2 (ja) ロボットの負荷推定装置及び負荷推定方法
CN112654467B (zh) 获得机器人臂的机器人关节齿轮的齿轮刚度
JP5916583B2 (ja) 多関節ロボットのウィービング制御装置
KR102312368B1 (ko) 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
CN115890735B (zh) 机械臂系统、机械臂及其控制方法、控制器和存储介质
CN109656132B (zh) 一种空间机器人有限时间协调控制方法
CN114131617B (zh) 一种工业机器人的智能柔顺控制方法和装置
CN119839863B (zh) 一种机械臂柔顺力跟踪系统及控制方法
CN112703090A (zh) 机器人控制装置、机器人控制方法及机器人控制程序
JP7770202B2 (ja) ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム
CN113043279B (zh) 手术机器人的控制方法、控制器、系统、电子设备与介质
Saied et al. A novel model-based robust super-twisting sliding mode control of PKMs: Design and real-time experiments
Liu et al. Frequency-division based hybrid force/position control of robotic arms manipulating in uncertain environments
JP3936242B2 (ja) サーボモータ制御用コントローラにおけるゲイン設定法、コントローラの有効性検証法およびロボット制御法
CN112512758B (zh) 挠曲量推断装置、机器人控制装置以及挠曲量推断方法
JPH09123077A (ja) ロボットの剛性同定方法及びその装置
JP2021146438A (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
US20240375276A1 (en) Estimation of external force for robot control
Yang et al. Dynamic compensation control of flexible macro–micro manipulator systems
JP4134369B2 (ja) ロボットの制御装置
CN118721213A (zh) 机器人导纳控制方法、装置、设备及存储介质
JP4587052B2 (ja) 位置制御装置、位置制御方法及び位置制御プログラム
JP2019214105A (ja) ロボット制御装置およびロボット制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251104

R150 Certificate of patent or registration of utility model

Ref document number: 7770202

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150