JP2023003592A - 力制御パラメーターの調整方法および力制御パラメーター調整装置 - Google Patents

力制御パラメーターの調整方法および力制御パラメーター調整装置 Download PDF

Info

Publication number
JP2023003592A
JP2023003592A JP2021104753A JP2021104753A JP2023003592A JP 2023003592 A JP2023003592 A JP 2023003592A JP 2021104753 A JP2021104753 A JP 2021104753A JP 2021104753 A JP2021104753 A JP 2021104753A JP 2023003592 A JP2023003592 A JP 2023003592A
Authority
JP
Japan
Prior art keywords
force
robot
control
force control
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021104753A
Other languages
English (en)
Inventor
泰裕 下平
Yasuhiro Shimodaira
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2021104753A priority Critical patent/JP2023003592A/ja
Priority to US17/847,561 priority patent/US20220410384A1/en
Priority to CN202210717125.0A priority patent/CN115519537A/zh
Publication of JP2023003592A publication Critical patent/JP2023003592A/ja
Pending legal-status Critical Current

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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • 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/1651Programme controls characterised by the control loop acceleration, rate control
    • 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/1653Programme 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/39338Impedance control, also mechanical
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40032Peg and hole insertion, mating and joining, remote center compliance
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41021Variable gain

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

【課題】経験の少ないオペレーターであっても力制御の制御パラメーターの設定を可能にする。【解決手段】力制御において使用される力制御パラメーターが調整される。ロボットシステムは、ロボットと、ロボットに加えられる外力を測定できる力検出器と、フィードバック制御によりロボットに動作を行わせる制御部と、を備える。実作業を行わせるときに使用される1以上の第1種のサーボゲインに対応する1以上のサーボゲインであって、それぞれ対応する第1種のサーボゲインよりも高い値を有する第2種のサーボゲインと、力制御パラメーターの候補値と、を用いて、ロボットに動作を行わせ、外力の測定値である力測定値を得る。力測定値を使用して力制御パラメーターについて最適化処理を行い、力制御パラメーターの新たな候補値を得る。測定工程とパラメーター更新工程とを繰り返して、力制御パラメーターを決定するパラメーター決定工程と、を含む。【選択図】図6

Description

本開示は、力制御パラメーターの調整方法および力制御パラメーター調整装置に関する。
従来、ロボットの動作を規定するパラメーターを自動的に設定する技術が存在する。特許文献1の技術においては、動作調整装置は、外界センサーの検出結果と、外部から与えられる制約条件と、に応じて、ロボット制御装置で生成される動作指令値を調整する。動作指令値は、エンドエフェクターの各時刻における位置指令値や、速度指令値、または加速度指令値である。外界センサーは、力覚センサー、ビジョンセンサー、触覚センサー、またはタッチセンサーである。特許文献1においては、動作指令値ではなく、制御パラメーターを調整してもよい旨が記載されている。制御パラメーターは、力制御に関する力制御ゲイン、インピーダンスパラメーター、ビジュアルサーボ制御に関するゲイン、ビジュアルインピーダンスパラメーター、フィードバック制御に用いられるフィルターの設定パラメーターである。
国際公開WO2019/098044A1
力制御においては、ロボットの動作速度と、発振のしやすさとが、トレードオフの関係にある。すなわち、ロボットの動作速度が高くなるように制御パラメーターを設定すると、発振が起こりやすくなる。一方、発振が起こりにくいように制御パラメーターを設定すると、ロボットの動作速度が低くなる。このため、力制御の制御パラメーターの設定は、ロボットの動作速度と発振のしやすさを力制御パラメーターの数値との関係において把握している熟練したオペレーターによって、行われている。経験の少ないオペレーターであっても力制御の制御パラメーターの設定が行える技術が求められていた。
本開示の一形態によれば、ロボットシステムの力制御において使用される力制御パラメーターの調整方法が提供される。前記ロボットシステムは、ロボットと、前記ロボットに加えられる外力を測定できる力検出器と、フィードバック制御により前記ロボットに動作を行わせる制御部と、を備える。前記調整方法は、前記ロボットシステムに実作業を行わせるときに前記制御部において使用される1以上の第1種のサーボゲインに対応する1以上の第2種のサーボゲインであって、それぞれ対応する第1種のサーボゲインよりも高い値を有する第2種のサーボゲインと、前記力制御パラメーターの候補値と、を用いて、前記ロボットに動作を行わせ、前記外力の測定値である力測定値を得る測定工程と、前記力測定値を使用して前記力制御パラメーターについて最適化処理を行うことにより、前記力制御パラメーターの新たな候補値を得るパラメーター更新工程と、前記測定工程と前記パラメーター更新工程とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定するパラメーター決定工程と、を含む。
実施形態におけるロボットシステム1を示す斜視図である。 ロボット制御装置200の機能を示すブロック図である。 制御プログラム224で使用される力制御パラメーター226を示す図である。 ロボット制御装置200の制御実行部250の構成要素と、ロボット100が備える構成の関係を示すブロック図である。 制御プログラムの作成手順を示すフローチャートである。 力制御パラメーターの調整方法を示すフローチャートである。 図6のステップS143,S144のパラメーター更新処理で使用される最適化アルゴリズムの入力と出力を表すブロック図である。 ステップS150における倣い動作の開始時の状態を示す説明図である。 ステップS150における倣い動作の途中の状態を示す説明図である。 ステップS150における倣い動作が終了される直前の状態を示す説明図である。 倣い動作における制御点CPのy軸方向の位置偏差を表すグラフである。 倣い動作においてエンドエフェクター140が受ける検出力Fdを表すグラフである。 図6の処理における作業時間と力測定値の推移を表す表である。
A.第1実施形態:
A1.ロボットシステムの構成:
図1は、実施形態におけるロボットシステム1を示す斜視図である。このロボットシステム1は、ロボット100と、力検出器130と、エンドエフェクター140と、ロボット制御装置200と、を備えている。ロボット100とロボット制御装置200とは、ケーブルまたは無線通信を介して通信可能に接続される。
ロボット100は、アーム110の先端にあるアームフランジ120に各種のエンドエフェクターを装着して使用される単腕ロボットである。
アーム110は6つの関節J1~J6を備える。関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。各関節には、サーボモーター150と、位置センサー160とが設けられている。サーボモーター150は、各関節を駆動するための回転出力を生成する。位置センサー160は、サーボモーター150の出力軸の角度位置を検出する。なお、技術の理解を容易にするために、図1においては、サーボモーター150と位置センサー160とは、表示されていない。
関節J6の先端にあるアームフランジ120には、対象物に対して把持や加工等の作業を行うための各種のエンドエフェクターが装着される。本明細書において、ロボット100によって取り扱われる対象物を「ワーク」とも呼ぶ。
アーム110の先端近傍の位置を、ツールセンターポイントとして設定可能である。以下、ツールセンターポイントを「TCP」と呼ぶ。TCPは、エンドエフェクター140の位置の基準として使用される位置である。例えば、関節J6の回転軸上の所定位置を、TCPとして設定することができる。
ロボット100は、アーム110の可動範囲内においてエンドエフェクターを任意の位置で任意の姿勢に配することができる。アームフランジ120には、力検出器130と、エンドエフェクター140とが設置されている。エンドエフェクター140は、本実施形態においてはグリッパーである。
力検出器130は、ロボット100に設けられ、ロボット100に加えられる外力を測定できる。力検出器130は、具体的には、6軸センサーである。力検出器130は、固有の座標系であるセンサー座標系において互いに直交するx軸、y軸、およびz軸と平行な力の大きさと、当該3個の軸まわりのトルクの大きさとを検出できる。
ロボット100が設置された空間を規定する座標系を「ロボット座標系」と呼ぶ。ロボット座標系は、水平面上において互いに直交するx軸とy軸と、鉛直上向きを正方向とするz軸とによって規定される3次元の直交座標系である。図1において示されている座標系は、ロボット座標系である。x軸周りの回転角をRxで表し、y軸周りの回転角をRyで表し、z軸周りの回転角をRzで表す。x,y,z軸方向の位置により3次元空間における任意の位置を表現でき、x,y,z軸方向の回転角により3次元空間における任意の姿勢を表現できる。本明細書において「位置」と表記した場合、位置と姿勢も意味し得る。また、本明細書において「力」と表記した場合、力とトルクも意味し得る。
ロボット100の作業の対象の一つであるワークWK2が、作業台50の上に配置される。ワークWK2の上面には、嵌合孔H2が形成されている。嵌合孔H2は、円形の断面を有し、ワークWK2の上面の開口からz軸負方向に伸びており、底を有する穴である。
エンドエフェクター140は、ロボット100に設けられ、ワークWK1を保持できる。ワークWK1は円柱形の部品である。ワークWK1の外径は、嵌合孔H2の内径よりもわずかに小さい。エンドエフェクター140は、エンドエフェクター140で把持したワークWK1を、ワークWK2の嵌合孔H2に嵌合させる作業を行うことができる。
ロボット制御装置200は、アーム110と、エンドエフェクター140と、を制御する。ロボット制御装置200は、倣い動作をロボット100に実行させることができる。倣い動作は、一般に、外力に追従する動作である。本実施形態における倣い動作は、より具体的には、エンドエフェクター140に保持されたワークWK1の一部が、ワークWK2に接触しつつ、ワークWK2が備える嵌合孔H2に挿入される動作である。なお、倣い動作において、ワークWK1がワークWK2から離れる時間区間があってもよい。ロボット制御装置200は、その倣い動作において、力検出器130による外力の測定値に基づいてロボット100の力制御を行う。
さらに、ロボット制御装置200は、教示者からの指示を受けて、制御プログラムを生成する。また、ロボット制御装置200は、力制御において使用される力制御パラメーターの調整を行う。ロボット制御装置200によって生成された制御プログラムおよび力制御パラメーター226は、ロボット制御装置200のメモリーに格納される。
図2は、ロボット制御装置200の機能を示すブロック図である。ロボット制御装置200は、プロセッサー210とメモリー220とを備えている。メモリー220は、揮発性メモリーと不揮発性メモリーとを含む。プロセッサー210は、メモリー220に予め格納されたプログラムを実行することにより、各種の機能を実現する。
プロセッサー210は、機能部として、制御実行部250を有する。制御実行部250は、メモリー220に格納されている制御プログラム224に沿って、メモリー220に格納されているプログラム命令222を実行することにより、ロボット100に動作を行わせる。制御実行部250は、位置センサー160、力検出器130などの出力に基づいて、フィードバック制御によりロボット100に動作を行わせる。
プロセッサー210は、機能部として、パラメーター調整部270を有する。プロセッサー210は、メモリー220に予め格納された設定プログラム225を実行することにより、パラメーター調整部270としての機能を実現する。パラメーター調整部270は、制御プログラム224のパラメーターを決定する。パラメーター調整部270は、たとえば、ロボットシステム1の力制御において使用される力制御パラメーターを調整する。
図3は、制御プログラム224で使用される力制御パラメーター226を示す図である。力制御パラメーター226は、ロボット100の力制御に関するパラメーターである。力制御パラメーター226は、制御プログラム224にしたがって行われる力制御の際に使用される。
力制御パラメーター226には、各動作における「始点」と「終点」を示すパラメーターが含まれる(図3の上段参照)。本実施形態においては、制御対象のロボット100の制御点CPの「始点」および「終点」は、ロボット座標系で定義される。ロボット座標系の各軸についての並進位置と回転位置とが定義される。なお、始点と終点は、種々の座標系で定義されてよい。
なお、力制御においては、始点および終点のうちの少なくとも一部は、一つの動作において定義されない場合がある。たとえば、ある動作において、ある方向に作用する力が0になるように衝突回避や倣い制御が行われる場合、その方向における始点および終点は定義されず、その方向の力を0にするように、位置が任意に変化し得る状態が定義されることもある。
力制御パラメーター226には、複数の動作におけるTCPの「加減速特性」が含まれる(図3の中段参照)。加減速特性によって、ロボット100のTCPが各動作の始点から終点まで移動する際の、各時刻におけるTCPの速度が規定される。本実施形態においては、加減速特性によって記述される速度は、制御対象のロボット100のTCPについての速度である。本実施形態においては、TCPの速度は、ロボット座標系で定義される。すなわち、ロボット座標系の各軸について、並進速度と、回転速度すなわち角速度と、が定義される。なお、加減速特性も種々の座標系で定義されてよい。
力制御パラメーター226は、力制御の目標力が作用する点を原点とし、目標力の方向に1軸が向いている座標系、すなわち、力制御座標系を特定するための情報を、パラメーターとして含んでいる(図3の中段参照)。当該パラメーターは種々の定義が可能である。たとえば、力制御座標系を特定するためのパラメーターは、力制御座標系と他の座標系(ロボット座標系等)との関係を示すデータによって定義可能である。
力制御パラメーター226には、「目標力」が含まれる(図3の下段参照)。目標力は、各種の作業において、任意の点に作用すべき力として教示される力であり、力制御座標系によって定義される。目標力を示す目標力ベクトルは、目標力ベクトルの起点と、起点からの6軸成分、すなわち3軸の並進力および3軸のトルクとして定義され、力制御座標系で表現される。なお、力制御座標系と他の座標系との関係を利用すれば、当該目標力を任意の座標系、たとえば、ロボット座標系におけるベクトルに変換することが可能である。
力制御パラメーター226には、「インピーダンスパラメーター」が含まれる(図3の下段参照)。インピーダンス制御は、仮想の機械的インピーダンスを、各関節を駆動するモーターの駆動力によって実現する制御である。インピーダンス制御においては、TCPが仮想的に有する質量が、仮想質量係数mとして定義される。TCPが仮想的に受ける粘性抵抗が、仮想粘性係数dとして定義される。TCPが仮想的に受ける弾性力のバネ定数が、仮想弾性係数kとして定義される。インピーダンスパラメーターは、これらの係数m,d,kである。インピーダンスパラメーターは、ロボット座標系の各軸に対する並進と回転について定義される。
本実施形態において、目標力およびインピーダンスパラメーターは、各ロボットが実行する動作において、制御点の位置に応じて定められる複数の区間のそれぞれについて、設定されることができる。その結果、それらのパラメーターは時系列的に変化することができる。
図4は、ロボット制御装置200の制御実行部250の構成要素と、ロボット100が備えるサーボモーター150、位置センサー160および力検出器130と、の関係を示すブロック図である。制御実行部250は、ロボット100の制御点CPの位置、速度および電流について、フィードバック制御を行う。
制御実行部250は、その構成要素として、制御信号生成部251と、位置制御部252と、速度制御部253と、トルク制御部255と、サーボアンプ256と、力制御部259と、を備える。制御信号生成部251と、位置制御部252と、速度制御部253と、トルク制御部255と、力制御部259とは、ロボット制御装置200のプロセッサー210によって実現される。
制御信号生成部251は、エンドエフェクター140が位置すべき目標位置Stを表す位置制御信号を生成し、位置制御部252に出力する。制御信号生成部251は、力制御を実施すべき指示をユーザーから受けている場合には、目標力fSt、すなわち、エンドエフェクター140が発生させるべき力およびその力の方向、ならびにトルクおよびそのトルクの向きを表す力制御信号を生成し、力制御部259に出力する。
力制御部259は、目標力fSt、すなわち、エンドエフェクター140が発生させるべき力およびその力の方向、ならびにトルクおよびそのトルクの向きを表す力制御信号を、制御信号生成部251から受信する。力制御部259は、エンドエフェクター140に作用しているx軸、y軸、z軸の3軸方向の力と、x軸、y軸、z軸まわりのトルクとを、力検出器130から受信する。エンドエフェクター140に作用しているx軸、y軸、z軸の3軸方向の力と、x軸、y軸、z軸まわりのトルクとを、図4において、まとめてfSと表記する。力制御部259は、ロボット100の位置センサー160から、各サーボモーター150の回転位置を受信する。そして、力制御部259は、それらのパラメーターに基づいて、位置の補正量ΔSを決定し、補正量ΔSを表す信号を位置制御部252に出力する。
位置制御部252は、制御信号生成部251から、目標位置Stを表す位置制御信号を受信する。位置制御部252は、力制御部259から、位置の補正量ΔSをあらわす信号を受信する。位置制御部252は、位置フィードバックとして、ロボット100の位置センサー160から、各サーボモーター150の回転位置を受信する。位置制御部252は、それらの情報に基づいて、逆運動学の適切な解となる関節角度または関節変位を算出して、ロボット100の各サーボモーター150の速度制御信号を生成し、速度制御部253に出力する。
速度制御信号には、位置センサー160から得られるサーボモーター150の回転位置と目標回転位置とのずれに係数Kpを掛けた要素が含まれる。係数Kpは、位置についてのフィードバックのサーボゲインである。サーボゲインKpは、あらかじめロボット制御装置200のメモリー220に格納されている。図2において、サーボゲインをまとめてサーボゲイン227として示す(図2の下段参照)。
力制御を伴うフィードバック制御においては、位置についてのフィードバックのサーボゲインは、力制御を伴わないフィードバック制御におけるサーボゲインよりも、小さく設定される。速度についてのフィードバックのサーボゲイン、および電流についてのフィードバックのサーボゲインについても、同様である。本実施形態では、力制御を伴うフィードバック制御が行われることを前提として、以下の説明を行う。
位置制御部252は、力制御を実施すべき指示を制御信号生成部251から受けていない場合には、速度制御信号の生成に際して、力制御部259から受信した情報は考慮しない。
速度制御部253は、位置制御部252から速度制御信号を受信する。また、速度制御部253は、速度フィードバックとして、ロボット100の位置センサー160からの情報に基づいて、各サーボモーター150の回転速度を取得する。速度制御部253は、その速度制御信号と、各サーボモーター150の回転速度と、に基づいて、トルク制御信号を生成し、トルク制御部255に出力する。
トルク制御信号には、サーボモーター150の回転速度と目標回転速度とのずれに係数Kvを掛けた要素が含まれる。係数Kvは、速度についてのフィードバックのサーボゲインである。サーボゲインKvは、あらかじめロボット制御装置200のメモリー220に格納されている(図2の下段参照)。
トルク制御部255は、速度制御部253からトルク制御信号を受信する。また、トルク制御部255は、サーボアンプ256から、各サーボモーター150に供給する電流の電流量を表すフィードバック信号を受信する。トルク制御部255は、トルク制御信号と、各サーボモーター150の電流フィードバック信号と、に基づいて、各サーボモーター150に供給する電流量を決定し、サーボアンプ256を介して、各サーボモーター150を駆動する。具体的には、トルク制御部255は、そのトルク制御信号と、各サーボモーター150の電流フィードバック信号と、に基づいて、ロボット100を駆動する駆動信号DSを生成する。
駆動信号DSには、サーボモーター150の回転加速度と目標回転加速度とのずれに係数Kaを掛けた要素が含まれる。係数Kaは、電流量についてのフィードバックのサーボゲインである。係数Kaは、加速度についてのフィードバックのサーボゲインでもある。
A2.制御プログラムの作成とパラメーターの調整:
図5は、制御プログラムの作成手順を示すフローチャートである。本実施形態においては、図5の処理で作成される制御プログラムは、エンドエフェクター140に保持されたワークWK1が、ワークWK2に設けられた嵌合孔H2に挿入される倣い動作を実現するプログラムである。図5の処理は、ロボット制御装置200のプロセッサー210によって実行される。
ステップS110においては、ロボット100の制御プログラム224が実現する動作のフローが作成される。具体的には、ロボット制御装置200が備える表示装置および入力装置を介して入力されるオペレーターの指示に従って、ロボット100に実行させる動作と、それらの動作の順番が決定される。
ステップS120において、ステップS110で決定された動作フローが、制御プログラムに変換される。変換後の制御プログラムは、低級言語で記述されている。制御プログラムは、メモリー220に格納される(図2の224参照)。
ステップS130においては、制御プログラム224に従って、ロボット制御装置200がロボット100を制御し、ロボット100に作業を実行させる。この作業は、製造ラインでロボット100の動作を確認する確認作業として実行可能である。本実施形態においては、ステップS130において行われる動作として、ロボット100に保持される対象物が他の部材に接触することによりロボット100が受ける反力の大きさを制御しつつ、行われる動作が、想定されている。このような動作としては、たとえば、挿入動作や組み立て動作が挙げられる。
ステップS140においては、ロボットシステム1の力制御において使用される力制御パラメーターの調整が行われる。力制御パラメーターの調整については、後に詳細に説明する。
ステップS150においては、制御プログラム224に従って、ステップS140で調整された力制御パラメーターを用いて、ロボット制御装置200がロボット100を制御し、ロボット100に作業を実行させる。この作業は、製造ラインで製品を製造するための本作業として実行可能である。本実施形態においては、ステップS150において行われる動作として、ロボット100に保持される対象物が他の部材に接触することによりロボット100が受ける反力の大きさを制御しつつ、行われる動作が、想定されている。このような動作としては、たとえば、挿入動作や組み立て動作が挙げられる。
図6は、図5のステップS140における力制御パラメーターの調整方法を示すフローチャートである。図6の処理により、ロボットシステム1の力制御において使用される力制御パラメーターが調整される。以下の説明では、技術の理解を容易にするため、目標力Ftの各成分は、ロボット座標系のx軸、y軸、z軸に沿って記述される。
ステップS141においては、ロボット制御装置200のプロセッサー210は、図5のステップS110で決定された倣い動作の動作フローと、倣い動作の力制御パラメーターの初期候補値と、を用いて、ロボット100に倣い動作を行わせる。倣い動作の力制御パラメーターの初期候補値は、特定の動作に応じて定められた値ではなく、様々な倣い動作に適用し得るように定められている。倣い動作の力制御パラメーターの初期候補値は、あらかじめロボット制御装置200のメモリー220に格納されている。図2においては、倣い動作の力制御パラメーターの初期候補値と、ステップS140における調整後の力制御パラメーターとを、まとめて力制御パラメーター226として示す。
ステップS141における動作においては、プロセッサー210の制御実行部250は、図5のステップS150においてロボットシステム1に実作業を行わせるときに制御実行部250において使用されるサーボゲインとは異なるサーボゲインを使用して、ロボット100に動作を行わせる。図5のステップS150と図6のステップS141とにおいて、異なる値が使用されるサーボゲインは、具体的には、位置についてのフィードバックのサーボゲインKpと、速度についてのフィードバックのサーボゲインKvである(図4の上段左部参照)。電流についてのフィードバックのサーボゲインKaについては、図5のステップS150と図6のステップS141とにおいて、共通の値が使用される。
区別のために、図5のステップS150においてロボットシステム1に力制御を行いつつ実作業を行わせるときに制御実行部250において使用されるサーボゲインを、「第1種のサーボゲイン」と呼ぶ。図6のステップS141において力制御パラメーターの調整を行うときの動作において使用されるサーボゲインを、「第2種のサーボゲイン」と呼ぶ。
第2種のサーボゲインKps,Kvsは、図5のステップS150においてロボットシステム1に実作業を行わせるときに制御実行部250において使用される第1種のサーボゲインKp,Kvに、それぞれ対応するサーボゲインである。ただし、第2種のサーボゲインKps,Kvsは、それぞれ対応する第1種のサーボゲインKp,Kvよりも高い値を有する。すなわち、第2種のサーボゲインKpsは、第1種のサーボゲインKpよりも高い値を有する。第2種のサーボゲインKvsは、第1種のサーボゲインKvよりも高い値を有する。その結果、ステップS141における動作においては、ロボットシステム1に実作業を行わせるときの動作よりも、応答性が高く、発振が起こりやすい。第2種のサーボゲインKps,Kvsは、あらかじめロボット制御装置200のメモリー220に格納されている(図2の下段参照)。
図6のステップS142においては、ロボット制御装置200のプロセッサー210は、ステップS141の倣い動作における外力の測定値を取得する。外力の測定値を、「力測定値」と呼ぶ。また、ステップS142においては、ロボット制御装置200のプロセッサー210は、ステップS141の倣い動作に要した時間を計測する。倣い動作に要する時間を、「動作時間」と呼ぶ。ステップS142の処理は、実質的にステップS141の処理と並行して行われる。ステップS141とステップS142の処理を、まとめて「測定処理」とも呼ぶ。ステップS141とステップS142の工程を、まとめて「測定工程」とも呼ぶ。ステップS141とステップS142の処理を実行するプロセッサー210の機能部を、「測定部272」として図2に示す。
図6のステップS141のロボット100による倣い動作は、7回実行される。ステップS142において、7回行われた倣い動作の外力の測定値の最大値が、力測定値として採用される。7回行われた倣い動作のそれぞれに要した時間の平均値が、動作時間として採用される。最大値としての力測定値、および平均値としての動作時間が得られた後、処理はステップS143に進む。
ステップS143においては、ロボット制御装置200のプロセッサー210は、は、力測定値および動作時間を最適化アルゴリズムに入力する。最適化アルゴリズムは、力測定値および動作時間を使用して力制御パラメーターについて最適化処理を行うことにより、力制御パラメーターの新たな候補値を出力する(図3参照)。最適化アルゴリズムによる処理については、後に説明する。
図6のステップS144においては、ロボット制御装置200のプロセッサー210は、最適化アルゴリズムから出力された力制御パラメーターの新たな候補値を取得する。ステップS143とステップS144の処理を、まとめて「パラメーター更新処理」とも呼ぶ。ステップS143とステップS144の工程を、まとめて「パラメーター更新工程」とも呼ぶ。ステップS143とステップS144の処理を実行するプロセッサー210の機能部を、「パラメーター更新部274」として図2に示す。
図6のステップS145においては、ロボット制御装置200のプロセッサー210は、ステップS110で決定された倣い動作の動作フローと、ステップS144で取得された力制御パラメーターの新たな候補値と、を用いて、ロボット100に倣い動作を行わせる。ステップS145における動作においても、プロセッサー210の制御実行部250は、第2種のサーボゲインKps,Kvsを使用して、ロボット100に動作を行わせる。電流についてのフィードバックのサーボゲインKaについては、図5のステップS150と図6のステップS146とにおいて、共通の値が使用される。ステップS145の処理は、力制御パラメーターの候補値が異なる点を除いて、ステップS141の処理と同じである。
ステップS146においては、ロボット制御装置200のプロセッサー210は、ステップS145の倣い動作の力測定値を取得する。また、ステップS146においては、ロボット制御装置200のプロセッサー210は、ステップS145の倣い動作の動作時間を計測する。ステップS146の処理は、実質的にステップS145の処理と並行して行われる。ステップS146の処理は、ステップS142の処理と同じである。ステップS145とステップS146の処理を、まとめて「測定処理」とも呼ぶ。ステップS145とステップS146の工程を、まとめて「測定工程」とも呼ぶ。ステップS145とステップS146の処理を実行するプロセッサー210の機能部は、測定部272である(図2参照)。
ステップS145のロボット100による倣い動作も、7回実行される。ステップS146において、7回行われた倣い動作の外力の測定値の最大値が、力測定値として採用される。7回行われた倣い動作のそれぞれに要した時間の平均値が、動作時間として採用される。最大値としての力測定値、および平均値としての動作時間が得られた後、処理はステップS147に進む。
ステップS147においては、ロボット制御装置200のプロセッサー210は、力制御パラメーターの各候補値の評価値が終了条件を満たすか否かを判定する。評価値が終了条件を満たすと判定された場合には、図6の処理は終了する。評価値が終了条件を満たさないと判定された場合には、処理はステップS143に戻る。
ステップS147において、力制御パラメーターの各候補値の評価値Evalは、以下の式(1)で計算される。式(1)の第2項、第3項は、いわゆるペナルティ項である。
Eval=α×OT
+ β×[if (Fmax>Flimit),then 100]
+ γ×[if (Tmax>Flimit),then 100] ・・・ (1)
OT:倣い動作の動作時間。
Fmax:倣い動作中に検出される検出力Fdの最大値の大きさ。
なお、検出力Fdは、x軸、y軸、z軸の各成分の合成力である。
Flimit:検出力Fdの最大値の大きさの許容値。
Tmax:倣い動作中に検出される検出トルクTdの最大値の大きさ。
なお、検出トルクTdは、x軸、y軸、z軸についての各成分の合成トルクである。
Tlimit:検出トルクTdの最大値の大きさの許容値。
α,β,γ:重み係数。
ステップS147における終了条件は、以下の二つの条件が満たされることである。
(c1)最新の評価値がβ×100およびβ×100のいずれよりも小さいこと。
(c2)前世代との作業時間の平均値の差分の絶対値の大きさが、閾値Dth以下である、という条件が、N世代(Nは2以上の整数)連続して満たされること。
条件(c1)が満たされることは、検出力Fdの最大値Fmaxが許容値Flimitを超えず、かつ、検出トルクTdの最大値Tmaxが許容値Tlimitを超えないことを表す。このような条件が課されるのは、検出力Fdの最大値Fmaxをできるだけ小さくすることが求められておらず、検出トルクTdの最大値Tmaxをできるだけ小さくすることが求められていない場合である。
条件(c2)が満たされることは、それ以上、ステップS143~S147の処理を繰り返しても、評価値が改善される可能性が低いことを表す。
ロボット制御装置200のプロセッサー210は、ステップS143~S146の処理を繰り返することにより、ロボットシステム1の力制御において使用される力制御パラメーターを決定する。ステップS143~S147の処理を、まとめて「パラメーター決定処理」とも呼ぶ。ステップS143~S147の工程を、まとめて「パラメーター決定工程」とも呼ぶ。ステップS143~ステップS147の処理を実行するプロセッサー210の機能部を、「パラメーター決定部276」として図2に示す。決定された力制御パラメーターは、ロボット制御装置200のメモリー220に格納される(図2の226参照)。
本実施形態においては、図5のステップS140における力制御パラメーターの調整において、ステップS150の実作業における第1種のサーボゲインKp,Kvよりも発振が起こりやすい第2種のサーボゲインKps,Kvsでロボット100の動作が行われる(図6のS141,S145参照)。そして、得られた力測定値に基づいて、力制御パラメーターが調整される(図6のS144参照)。このため、第2種のサーボゲインKps,Kvsの設定によって、実作業における発振のしにくさをあらかじめ確保することができる。すなわち、力制御パラメーターの調整に使用される第2種のサーボゲインKpsを、第1種のサーボゲインKpに対してより大きく設定することにより、調整後の力制御パラメーターによる実作業において、より発振が生じにくくできる。同様に、第2種のサーボゲインKvsを、第1種のサーボゲインKvに対してより大きく設定することにより、調整後の力制御パラメーターによる実作業において、より発振が生じにくくできる。よって、経験が少なく、動作速度と発振のしやすさを力制御パラメーターの数値との関係において把握していないオペレーターであっても、発振が起こりにくい力制御パラメーターを、適切に設定できる。
図7は、図6のステップS143,S144のパラメーター更新処理で使用される最適化アルゴリズムの入力と出力を表すブロック図である。本実施形態で使用される最適化アルゴリズムは、力測定値と動作時間を入力とし、力制御パラメーターの候補値を出力とするアルゴリズムである。本実施形態で使用される最適化アルゴリズムは、具体的には、共分散行列適応進化戦略(CMA-ES:Covariance Matrix Adaptation Evolution Strategy)である。
最適化アルゴリズムは、動作時間OTと、力測定値である検出力Fdおよび検出トルクTdを入力される(図7の左部参照)。最適化アルゴリズムは、力制御パラメーターの候補値を出力する(図7の右部参照)。最適化アルゴリズムは、上記の式(1)で定められる評価値Evalが小さくなるように最適化処理を行う。
このような構成とすることにより、図6のステップS143,S144のパラメーター更新処理において、力測定値と動作時間を考慮した最適化処理によって、力制御パラメーターの新たな候補値を得ることができる。このため、図6の処理で決定された力制御パラメーターで力制御を行うことにより、倣い動作においてロボット100が受ける外力と、倣い動作の動作時間OTと、についての評価の高い動きで、ロボット100に適切にワークWK1を嵌合孔H2に挿入させることができる。
最適化アルゴリズムが出力する力制御パラメーターの候補値は、倣い動作における目標力Ftと、インピーダンスパラメーターと、を含む(図7の上段右部、および図3の下段参照)。目標力Ftは、x軸方向の力成分Fxt、y軸方向の力成分Fyt、z軸方向の力成分Fzt、ならびにx軸を中心とするトルク成分Txt、y軸を中心とするトルク成分Tyt、z軸方向を中心とするトルク成分Tztで表される。インピーダンスパラメーターは、x軸、y軸、z軸ごとの仮想質量係数m、仮想粘性係数d、および仮想弾性係数kを含む。
最適化アルゴリズムは、力制御の有効または無効を指定するフラグFlgと、倣い動作の開始時におけるエンドエフェクター140の位置xs,ys,zs,Rxs,Rys,Rzsと、倣い動作の開始時と終了時の間の定められた時刻におけるエンドエフェクター140の位置xp,yp,zp,またはRxp,Ryp,Rzpと、を出力する(図7の下段右部参照)。なお、本実施形態でエンドエフェクター140の位置とは、エンドエフェクター140の先端近傍に設定されるTCPの位置のことである。
このような処理によって決定された力制御パラメーターで力制御を行うことにより、力制御の有効または無効と、倣い動作の開始時および倣い動作の通過点のエンドエフェクター140の位置と、を適切に指定された制御を行って、ロボット100に適切にワークWK1を嵌合孔H2に挿入させることができる。
たとえば、力制御を行わなくても、ロボット100のハードウェア構成のたわみによって、適切にワークWK1が嵌合孔H2に挿入されることができる場合がある。力制御の位置に関する3軸、回転に関する3軸のそれぞれについて有効または無効を指定するフラグFlgを最適化処理の対象に含めることにより、そのような場合に、力制御を行わないようにすることができる。
なお、最適化アルゴリズムは、図7に示したパラメーター以外に、力制御パラメーターである加減速特性、および力制御座標系をも出力することができる(図4参照)。
A3.倣い動作の例:
以下で、倣い動作の例を説明する。以下で説明される作業は、スナッピング作業である。倣い動作は、ロボット制御装置200が実行する力制御によって実現される。
図8は、ステップS150における倣い動作の開始時の状態を示す説明図である。ここでは、技術の理解を容易にするため、センサー座標系ではなく、ロボット座標系に沿って技術内容を説明する。倣い動作における挿入の方向は、ロボット座標系におけるz軸負方向である(図1のH2参照)。なお、図8~図10は、ワークWK1,WK2、エンドエフェクター140、および力検出器130の形状を正確に表すものではない。
ワークWK2の嵌合孔H2の内面のうちy軸正方向に位置する面には、スナッピング機構SNが設けられている。スナッピング機構SNの爪は、バネによってy軸負方向に押圧されており、嵌合孔H2の内面からあらかじめ定められた寸法だけ突出している。スナッピング機構SNの爪は、y軸正方向に押圧されると、嵌合孔H2の内からz軸正方向に移動する。スナッピング機構SNの爪は、嵌合孔H2の内面から突出しない位置までy軸正方向に退出することができる。
ロボット100の制御点CPは、エンドエフェクター140に保持されたワークWK1の先端面の中心に配されている。嵌合孔H2の挿入方向の端の近傍には、仮想的な閾値平面SCが定められている。閾値平面SCは、z軸およびx軸に平行な平面である。倣い動作において、制御点CPが閾値平面SCに達すると、倣い動作は完了したものと判定される。倣い動作の動作時間OTは、力制御の開始の時点から、制御点CPが閾値平面SCに達するまでの時間である。
図8の状態においては、ワークWK1に重力Fgが作用している。図8の状態において、ロボット100は、ワークWK1に作用する重力Fgに抗してワークWK1の位置および姿勢を維持するように、力制御を行っている。このときのワークWK1の位置および姿勢は、挿入方向であるz軸方向に投影した場合にワークWK1の占める領域が、ワークWK2の嵌合孔H2の占める領域内に含まれる位置および姿勢である。
図9は、ステップS150における倣い動作の途中の状態を示す説明図である。図9の状態において、ワークWK1のy軸負方向の先端は、スナッピング機構SNの爪に接している。ワークWK1のy軸正方向の面は、嵌合孔H2の内面に接している。
この状態において、ワークWK1は、スナッピング機構SNの爪をy軸負方向に押圧し、スナッピング機構SNの爪からy軸正方向の抗力を受ける。ワークWK1は、嵌合孔H2の内面をz軸負方向に押圧し、嵌合孔H2の内面からy軸正方向の垂直抗力Fn2を受ける。さらに、ロボット100の倣い動作によってz軸負方向に動かされているワークWK1は、嵌合孔H2の内面との接触面から、z軸正方向の摩擦力を受ける。図9において、ワークWK1がワークWK2から受けるz軸方向の力を、まとめてFf2として示す。
図10は、ステップS150における倣い動作が終了される直前の状態を示す説明図である。図10の状態において、ワークWK1のy軸負方向の先端は、閾値平面SCに達している(図10のCP参照)。TCPが閾値平面SCに達したことを検知すると、ロボット制御装置200は、倣い動作を終了する。
図10において、ワークWK1が、スナッピング機構SNの爪を含むワークWK2から受けるz軸方向の力を、まとめてワークWK1の上部にFf4として示す。図10において、ワークWK1が、嵌合孔H2の内面から受けるz軸正方向の垂直抗力をFn4として示す。
倣い動作が終了すると、エンドエフェクター140としてのグリッパーは、ワークWK1をはなし、ロボット100は、次の動作に移行する。
図11は、倣い動作における制御点CPのy軸方向の位置偏差を表すグラフである。横軸は、時間である。ロボット制御装置200は、倣い動作において、各軸について、時系列的に目標位置を設定されている。図11のグラフは、倣い動作における制御点CPのy軸方向の位置の目標位置からのずれを表す。図8~図10で示した倣い動作において、制御点CPのy軸方向の位置偏差は、図11に示すように変化する。位置偏差は、ワークWK1の先端面にある制御点CPがスナッピング機構SNの爪の頂点の位置を通過した直後に最大となる(図9参照)。
図12は、倣い動作においてエンドエフェクター140が受ける検出力Fdを表すグラフである。横軸は、時間である。ロボット制御装置200は、倣い動作において、各軸について、時系列的に目標力を設定されている。図8~図10で示した倣い動作において、エンドエフェクター140が各軸方向に実際に受ける力の合成力である検出力Fdは、図12に示すように変化する。検出力Fdは、動作開始後、徐々に増大している。挿入が進むにつれて、嵌合孔H2の内面との接触面からワークWK1が受ける、z軸正方向の摩擦力が増大するためである。検出力Fdは、ワークWK1の先端面にある制御点CPがスナッピング機構SNの爪の頂点の直前の位置にあるときに最大となる(図9参照)。
図13は、図6の処理における作業時間と力測定値の推移を表す表である。作業時間と力測定値は、図6のステップS142,S146の処理において、繰り返し取得される。ステップS142において取得される作業時間と力測定値は、力制御パラメーターの初期候補値にしたがって実行された動作の、作業時間と力測定値である。ステップS146において取得される作業時間と力測定値は、直前に実施されたステップS144において取得された力制御パラメーターの候補値にしたがって実行された動作の、作業時間と力測定値である。
図13の例では、上記式(1)において、α=β=γ=1、Flimit=23.0、Tlimit=1000としている。また、図6のステップS147の終了条件のうちの(c2)において、Dth=0.5、N=4としている。
図13の表の左端の列において、図6のステップS142,S146の処理の繰り返しの回数を、「世代」として示す。「世代」は、ステップS144において取得された力制御パラメーターの候補値の世代を意味する。
図13の表の左端から2番目の列において、集団数を示す。「集団数」は、図6のステップS141,S145において実行される動作の回数である。前述のように、ステップS141,S145において、ロボット100による倣い動作は、7回実行される。このため、集団数は、各世代において7である。
図13の表の左端から3~5番目の列において、図6のステップS142,S146で取得された7回の動作の作業時間の平均値、最大値、最小値が示される。
図13の表の左端から6番目の列において、図6のステップS142,S146で取得された7回の動作の作業時間の平均値の前の世代の値からの差分が示される。図13より、第8世代までは、差分の値が負あり、作業時間の平均値が改善されていることが分かる。
図13の表の左端から7番目の列において、図6のステップS142,S146で取得された7回の動作において観測された力の最大値が示される。図13の表の左端から8番目の列において、ステップS142,S146で取得された7回の動作において観測されたトルクの最大値が示される。
図13の表の左端から9番目の列において、各世代の力制御パラメーターの候補値の評価値Evalが示される(上記式(1)参照)。
前述のように、図6のステップS147においては、力制御パラメーターの各候補値の評価値が終了条件を満たすか否かが判定される。図13の例において、終了条件は、具体的には、以下の二つの条件が満たされることである。
(c1e)最新の評価値が100よりも小さいこと。
(c2e)前世代との作業時間の平均値の差分の絶対値の大きさが、0.5以下である、という条件が、4世代連続して満たされること。
図13の例においては、第14世代において上記終了条件(c1)および(c2)が満たされたため、力制御パラメーターの調整が終了されている(図13の下段右部参照)。
本実施形態においては、図5のステップS140における力制御パラメーターの調整において、ステップS150の実作業における第1種のサーボゲインKp,Kvよりも発振が起こりやすい第2種のサーボゲインKps,Kvsでロボット100の動作が行われる。そして、得られた力測定値に基づいて、力制御パラメーターが調整される。このため、第2種のサーボゲインKps,Kvsの設定によって、実作業における発振のしにくさをあらかじめ確保することができる。よって、経験の少ないオペレーターであっても、発振が起こりにくい力制御パラメーターを、適切に設定できる。
最適化処理を使用する力制御パラメーターの調整においては、集団数および世代数が増えると、少なくともある程度までは評価値が改善する(図6のS143~S147、ならびに図13参照)。一方で、力制御パラメーターのための集団数および力制御パラメーターのために繰り返される世代数が増えると、力制御パラメーターの調整において使用されているワークや動作に力制御パラメーターが過剰適合してしまう。たとえば、力制御パラメーターの調整に使用できるワークの数が少なくなるほど、使用されるワークへの力制御パラメーターの過剰適合が生じやすい。その結果、実際の作業において動作速度が速くかつ発振しにくい力制御パラメーターが決定されなくなるおそれがある。
本実施形態においては、第2種のサーボゲインKps,Kvsの設定によって、実作業における発振のしにくさをあらかじめ確保することができる。よって、過剰適合が生じない程度の終了条件を設定しても、発振が起こりにくい力制御パラメーターを、適切に設定できる(図6のS147参照)。
本実施形態におけるロボット制御装置200を「調整装置」とも呼ぶ。制御実行部250を「制御部」とも呼ぶ。
B.第2実施形態:
第1実施形態においては、図6のステップS141,S145の動作においては、第2種のサーボゲインKps,Kvsとして一定の値が使用される(図4の上段左部参照)。しかし、第2実施形態においては、パラメーター決定処理において実行される複数の測定処理は、同一のフィードバックに使用される第2種のサーボゲインであって互いに異なる値を有する第2種のサーボゲインを使用して行われる。すなわち、ステップS143~S147のパラメーター決定処理において、複数の測定処理は、位置のフィードバックに使用される第2種のサーボゲインKpsであって互いに異なる値を有する第2種のサーボゲインKpsを使用して行われる(図6のS145参照)。同様に、パラメーター決定処理において、複数の測定処理は、速度のフィードバックに使用される第2種のサーボゲインKvsであって互いに異なる値を有する第2種のサーボゲインKvsを使用して行われる(図6のS145参照)。以下では、図6のステップS145の動作について説明する。ステップS141の動作も同様に行われる。
第2実施形態の図6のステップS145においては、ロボット制御装置200のプロセッサー210は、7回の動作のそれぞれに先立って、第2種のサーボゲインKps,Kvsにそれぞれ正の係数Cps,Cvsを掛けて、第2種のサーボゲインKps,Kvsを補正する。係数Cps,Cvsは、平均が1であり標準偏差が0.1である正規分布の確率密度分布を有する乱数である。その結果、第2実施形態の図6のステップS145においては、7回の動作は、異なる値を有するサーボゲインKpsを使用して行われる。また、7回の動作は、異なる値を有するサーボゲインKvsを使用して行われる。7回の動作は、いずれも同一の制御プログラム224にしたがって行われるにもかかわらず、互いに微妙に異なる。7回の動作のそれぞれに先立って、第2種のサーボゲインKps,Kvsを補正する処理を、図7において、「サーボゲインの決定」として、破線で囲って示す。
最適化処理を使用する力制御パラメーターの調整においては、集団数および世代数が増えると、少なくともある程度までは評価値が改善する(図6のS143~S147、ならびに図13参照)。一方で、力制御パラメーターのための集団数および力制御パラメーターのために繰り返される世代数が増えると、力制御パラメーターの調整において使用されているワークや動作に力制御パラメーターが過剰適合してしまう。たとえば、力制御パラメーターの調整に使用できるワークの数が少なくなるほど、ワークへの力制御パラメーターの過剰適合が生じやすい。その結果、実際の作業において、寸法誤差を含むワークWK1,WK2や、誤差を含むワークWK1,WK2の位置に起因して、ロボット100が好適に動作できなくなるおそれがある。
しかし、本実施形態においては、上記の処理を行うことにより、ワークWK1,WK2の寸法誤差や、ワークWK1,WK2が置かれる位置の誤差など、さまざまな外的要因についてばらつきを含む実作業の環境下においても、発振が起こりにくくロボット100を好適に動作させられる力制御パラメーターを、図6の処理において設定できる(図5のS150参照)。
C.他の実施形態:
C1.他の実施形態1:
(1)上記実施形態においては、ロボット100は6つの関節J1~J6を備える垂直多関節型の6軸ロボットである(図1参照)。しかし、本開示の技術の適用対象は、水平多関節型や直交座標型など、他の関節機構を有するロボットであってもよい。
(2)上記実施形態においては、力検出器130は、アーム110の先端にあるアームフランジ120に設けられている(図1参照)。しかし、力検出器は、ロボットアームにおいて最も先端側に位置する関節以外の関節や、ロボットアームの基部など、他の部位に設けられていてもよい。
(3)上記実施形態においては、力検出器130は、固有の座標系であるセンサー座標系において互いに直交するx軸、y軸、およびz軸の3個の検出軸と平行な力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出できる(図1参照)。しかし、力検出器は、力を制御する方向のみの力や、その方向の軸まわりのトルクのみを検出するものであってもよい。また、力検出器は、直接、力やトルクを検出するのではなく、たとえば、サーボモーターの電流の測定値に基づいて、ロボットの関節のトルクを検出する態様とすることもできる。すなわち、力検出器は、制御点を制御する方向の力やトルクを検出できるものであればよい。
(4)上記実施形態においては、エンドエフェクター140は、対象物を保持できるグリッパーである(図1参照)。しかし、エンドエフェクターは、穴開けを行うドリルや、ネジの締め込みを行うドライバーなど、力制御に使用される他の任意の種類のエンドエフェクターとすることができる。
(5)制御プログラム224の生成は、ロボット制御装置200において行われてもよく、また、ロボット制御装置200と有線または無線で接続される設定装置において行われてもよい。設定装置としては、たとえば、設定プログラム225がインストールされたパーソナルコンピューターが適用可能である(図2の下段参照)。そのような態様においては、設定装置において生成された制御プログラムが、ロボット制御装置200に送信され、ロボット制御装置200に格納される。
(6)上記実施形態においては、力制御パラメーターの調整は、フィードバック制御によりロボット100に動作を行わせるロボット制御装置200によって行われる(図2の250,270参照)。しかし、力制御パラメーターの調整は、ロボット制御装置200と有線または無線で接続される設定装置において行われてもよい。設定装置としては、たとえば、設定プログラム225がインストールされたパーソナルコンピューターが採用可能である(図2の下段参照)。そのような態様においては、設定装置において調整された力制御パラメーター226が、ロボット制御装置200に送信され、ロボット制御装置200に格納される。
(7)制御実行部250およびパラメーター調整部270は、プロセッサー210がプログラムを実行することによって実現される(図2参照)。しかし、制御実行部250およびパラメーター調整部270の機能の一部または全部をハ―ドウェア回路で実現してもよい。
(8)上記実施形態においては、力制御パラメーター226として、各動作における「始点」と「終点」、複数の動作におけるTCPの「加減速特性」、力制御座標系を特定する情報、「目標力」および「インピーダンスパラメーター」が含まれる(図3参照)。しかし、力制御パラメーターは、これに限定されず、たとえば、「加減速特性」を含んでいなくともよい。
(9)上記実施形態においては、力制御パラメーターの調整において使用される第2種のサーボゲインKpsは、力制御を行う実作業において使用される第1種のサーボゲインKpに対してより大きい。力制御パラメーターの調整において使用される第2種のサーボゲインKvsは、力制御を行う実作業において使用される第1種のサーボゲインKvに対してより大きい。
力制御を伴うフィードバック制御においては、たとえば部材同士の接触の有無に起因する外力の有無のために、力制御を伴わないフィードバック制御よりも、発振が生じやすい。このため、力制御を伴うフィードバック制御においては、力制御を伴わないフィードバック制御よりも、サーボゲインは小さく設定される。言い換えれば、力制御を伴わないフィードバック制御においては、一般に、制御点の位置精度を上げ、かつ動作に要する時間を短縮するために、サーボゲインは、発振しない範囲内で可能な限り大きく設定される。一方、力制御を伴うフィードバック制御におけるサーボゲインは、たとえば、力制御を伴わないフィードバック制御におけるサーボゲインの50%~70%に設定される。
第2種のサーボゲインKpsは、力制御を行わず位置制御を行う実作業において使用される第1種の位置のサーボゲインの値よりも、小さいことが好ましい。第2種のサーボゲインKvsは、力制御を行わず位置制御を行う実作業において使用される第1種の速度のサーボゲインの値よりも、小さいことが好ましい。
(10)上記実施形態においては、図6のステップS141,S145のロボット100による倣い動作は、7回実行される。しかし、評価値を得るためのロボットの動作の回数は、1回、2回、3回など、より少ない数でもよく、8回、10回など、より多い回数でもよい。
(11)上記実施形態においては、それぞれの動作のためのフィードバックゲインの生成に使用される係数Cps,Cvsは、平均が1であり標準偏差が0.1である正規分布の確率密度分布を有する乱数である。そして、係数Cps,Cvsは、もとのフィードバックゲインに掛けられる係数である。しかし、それぞれの動作のためのフィードバックゲインの生成は、もとのフィードバックゲインに乱数を加えるなど、他の方法で生成されてもよい。また、乱数の平均および標準偏差は、乱数の使用方法に応じて適切に定めることができる。
(12)上記実施形態においては、ステップS144において、CMA-ESを使用した最適化処理が行われる(図6および図7参照)。しかし、最適化処理は、粒子群最適化(PSO:Particle Swarm Optimization)や、ベイズ最適化など、他の手法で行われてもよい。
(13)上記実施形態においては、図6のステップS147における判定に使用される評価値として、動作時間OTが採用される(図7参照)。しかし、処理の終了条件の判定に使用される評価値は、力測定値に基づいて得られる値など、他の評価値とすることもできる。
(14)上記実施形態においては、検出力Fdの最大値Fmaxが許容値Flimitを超えた場合、および検出トルクTdの最大値Tmaxが許容値Tlimitを超えた場合に、評価値の決定において、ペナルティが科される(上記式(1)参照)。すなわち、検出力の最大値および検出トルクの最大値について、制約条件を課している。しかし、制約条件は、たとえば、測定値のピーク前後の所定時間区間の積分値の大きさが閾値を超えることなど、他のパラメーターに関する条件とすることもできる。
(15)上記実施形態においては、図6のステップS147における終了条件は、条件(c1)および(c2)が満たされることである。しかし、終了条件は、たとえば、「上記条件(c1)がN世代(Nは2以上の整数)連続して満たされること」など、他の条件であってもよい。
(16)上記実施形態のステップS147においては、処理の終了条件の判定として、ステップS145で得られた評価値が収束したか否かかが判定される(条件(c2)参照)。しかし、評価値があらかじめ定められた閾値よりもよい値となったことのみを、処理の終了条件とすることもできる。
C2.他の実施形態2:
上記実施形態においては、制御実行部250は、ロボット100の動作のフィードバック制御において、ロボット100の制御点CPの位置、速度、および加速度についてフィードバック制御を行う(図4参照)。そして、位置についてのフィードバックのサーボゲインKpと、速度についてのフィードバックのサーボゲインKvとについて、図5のステップS150と図6のステップS141とにおいて、異なる値が使用される。
しかし、ロボット100の動作のフィードバック制御においては、たとえば、加速度についてフィードバックが行われないなど、位置、速度、および加速度のうちの一部について、フィードバックが行われない態様とすることができる。すなわち、ロボット100の動作のフィードバック制御においては、位置、速度、および加速度のうちの1以上について、フィードバックが行われればよい。また、ロボットシステムに実作業を行わせるときに使用される第1種のサーボゲインの値よりも高い値が使用される第2種のサーボゲインは、位置、速度、および加速度のうちの1以上のフィードバックのサーボゲインであればよい。
C3.他の実施形態3:
第2実施形態においては、パラメーター決定処理において実行される複数の測定処理は、同一のフィードバックに使用される第2種のサーボゲインであって互いに異なる値を有する第2種のサーボゲインを使用して行われる。しかし、パラメーター決定処理において実行される複数の測定処理は、第1実施形態のように、一定の値を有する第2種のサーボゲインを使用して行われてもよい。また、一部のフィードバックのサーボゲインについて、測定処理ごとに異なる値が使用され、他の一部のフィードバックのサーボゲインについて、一定の値が使用されてもよい。
D.さらに他の実施形態:
本開示は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
(1)本開示の一形態によれば、ロボットシステムの力制御において使用される力制御パラメーターの調整方法が提供される。前記ロボットシステムは、ロボットと、前記ロボットに加えられる外力を測定できる力検出器と、フィードバック制御により前記ロボットに動作を行わせる制御部と、を備える。前記調整方法は、前記ロボットシステムに実作業を行わせるときに前記制御部において使用される1以上の第1種のサーボゲインに対応する1以上の第2種のサーボゲインであって、それぞれ対応する第1種のサーボゲインよりも高い値を有する第2種のサーボゲインと、前記力制御パラメーターの候補値と、を用いて、前記ロボットに動作を行わせ、前記外力の測定値である力測定値を得る測定工程と、前記力測定値を使用して前記力制御パラメーターについて最適化処理を行うことにより、前記力制御パラメーターの新たな候補値を得るパラメーター更新工程と、前記測定工程と前記パラメーター更新工程とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定するパラメーター決定工程と、を含む。
このような態様においては、力制御パラメーターの調整において、実作業における第1種のサーボゲインよりも発振が起こりやすい第2種のサーボゲインでロボットの動作が行われ、得られた力測定値に基づいて、力制御パラメーターが調整される。このため、第2種のサーボゲインの設定によって、実作業における発振のしにくさをあらかじめ確保することができる。よって、経験の少ないオペレーターであっても、発振が起こりにくい力制御パラメーターを、適切に設定できる。
(2)上記形態の調整方法において、前記制御部は、前記ロボットの制御点の位置および速度について前記フィードバック制御を行い、前記第2種のサーボゲインは、位置についてのフィードバックのサーボゲインと、速度についてのフィードバックのサーボゲインと、の少なくとも一方を含む、態様とすることができる。
このような態様とすれば、経験の少ないオペレーターであっても、ロボットのフィードバック制御における位置指令値および速度指令値に起因する発振が起こりにくい力制御パラメーターを、適切に設定できる。
(3)上記形態の調整方法において、前記パラメーター決定工程において実行される複数の前記測定工程は、同一のフィードバックに使用される前記第2種のサーボゲインであって互いに異なる値を有する第2種のサーボゲインを使用して行われる複数の前記測定工程を含む、態様とすることができる。
このような態様とすれば、さまざまな外的要因についてばらつきを含む実作業の環境下においても、発振が起こりにくい力制御パラメーターを、設定できる。
(4)本開示の他の形態によれば、ロボットと、前記ロボットに加えられる外力を測定できる力検出器と、フィードバック制御により前記ロボットに動作を行わせる制御部と、を備えるロボットシステムの力制御において使用される力制御パラメーターを調整する調整装置が提供される。この調整装置は、前記ロボットシステムに実作業を行わせるときに前記制御部において使用される1以上の第1種のサーボゲインに対応する1以上の第2種のサーボゲインであって、それぞれ対応する第1種のサーボゲインよりも高い値を有する第2種のサーボゲインと、前記力制御パラメーターの候補値と、を用いて、前記ロボットに動作を行わせ、前記外力の測定値である力測定値を得る測定処理を行う測定部と、前記力測定値を使用して前記力制御パラメーターについて最適化処理を行うことにより、前記力制御パラメーターの新たな候補値を得るパラメーター更新処理を行うパラメーター更新部と、前記測定処理と前記パラメーター更新処理とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定するパラメーター決定処理を行うパラメーター決定部と、を備える。
(5)上記形態の調整装置において、前記制御部は、前記ロボットの制御点の位置および速度についてフィードバック制御を行い、前記第2種のサーボゲインは、位置についてのフィードバックのサーボゲインと、速度についてのフィードバックのサーボゲインと、の少なくとも一方を含む、態様とすることができる。
(6)上記形態の調整装置において、前記パラメーター決定部は、前記パラメーター決定処理において、同一のフィードバックに使用される前記第2種のサーボゲインであって互いに異なる値を有する第2種のサーボゲインを使用して、複数の前記測定処理を実行する、態様とすることができる。
本開示は、力制御パラメーターの調整方法および力制御パラメーター調整装置以外の種々の形態で実現することも可能である。例えば、ロボットの設定方法やロボットの制御方法、それらの方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。
1…ロボットシステム、50…作業台、100…ロボット、110…アーム、120…アームフランジ、130…力検出器、140…エンドエフェクター、150…サーボモーター、160…位置センサー、200…ロボット制御装置、210…プロセッサー、220…メモリー、222…プログラム命令、224…制御プログラム、225…設定プログラム、226…力制御パラメーター、227…サーボゲイン、250…制御実行部、251…制御信号生成部、252…位置制御部、253…速度制御部、255…トルク制御部、256…サーボアンプ、259…力制御部、270…パラメーター調整部、272…測定部、274…パラメーター更新部、276…パラメーター決定部、CP…制御点、DS…駆動信号、Fd…検出力、Ff2…z軸方向の反力、Ff4…z軸方向の反力、Fg…重力、Flg…フラグ、Fn2…垂直抗力、Ft…目標力、Fxt…力成分、Fyt…力成分、Fzt…力成分、G…重心、H2…嵌合孔、J1~J6…関節、Ka…サーボゲイン、Kp…サーボゲイン、Kps…サーボゲイン、Kv…サーボゲイン、Kvs…サーボゲイン、OT…倣い動作の動作時間、Rxp…エンドエフェクターの角度、Ryp…エンドエフェクターの角度、Rzp…エンドエフェクターの角度、Rxs…倣い動作の開始時のエンドエフェクターの角度、Rys…倣い動作の開始時のエンドエフェクターの角度、Rzs…倣い動作の開始時のエンドエフェクターの角度、SN…スナッピング機構、SC…閾値平面、St…目標位置、Td…検出トルク、Txt…トルク成分、Tyt…トルク成分、Tzt…トルク成分、WK1…ワーク、WK2…ワーク、d…仮想粘性係数、fSt…目標力、k…仮想弾性係数、m…仮想質量係数、xp…エンドエフェクターの位置、yp…エンドエフェクターの位置、zp…エンドエフェクターの位置、xs…倣い動作の開始時のエンドエフェクターの位置、ys…倣い動作の開始時のエンドエフェクターの位置、zs…倣い動作の開始時のエンドエフェクターの位置、ΔS…補正量

Claims (6)

  1. ロボットシステムの力制御において使用される力制御パラメーターの調整方法であって、
    前記ロボットシステムは、ロボットと、前記ロボットに加えられる外力を測定できる力検出器と、フィードバック制御により前記ロボットに動作を行わせる制御部と、を備え、
    前記調整方法は、
    前記ロボットシステムに実作業を行わせるときに前記制御部において使用される1以上の第1種のサーボゲインに対応する1以上の第2種のサーボゲインであって、それぞれ対応する前記第1種のサーボゲインよりも高い値を有する前記第2種のサーボゲインと、前記力制御パラメーターの候補値と、を用いて、前記ロボットに動作を行わせ、前記外力の測定値である力測定値を得る測定工程と、
    前記力測定値を使用して前記力制御パラメーターについて最適化処理を行うことにより、前記力制御パラメーターの新たな候補値を得るパラメーター更新工程と、
    前記測定工程と前記パラメーター更新工程とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される前記力制御パラメーターを決定するパラメーター決定工程と、を含む、調整方法。
  2. 請求項1記載の力制御パラメーターの調整方法であって、
    前記制御部は、前記ロボットの制御点の位置および速度について前記フィードバック制御を行い、
    前記第2種のサーボゲインは、前記位置についてのフィードバックのサーボゲインと、前記速度についてのフィードバックのサーボゲインと、の少なくとも一方を含む、調整方法。
  3. 請求項1または2に記載の力制御パラメーターの調整方法であって、
    前記パラメーター決定工程において実行される複数の前記測定工程は、同一のフィードバックに使用される前記第2種のサーボゲインであって互いに異なる値を有する前記第2種のサーボゲインを使用して行われる複数の前記測定工程を含む、調整方法。
  4. ロボットと、前記ロボットに加えられる外力を測定できる力検出器と、フィードバック制御により前記ロボットに動作を行わせる制御部と、を備えるロボットシステムの力制御において使用される力制御パラメーターを調整する調整装置であって、
    前記ロボットシステムに実作業を行わせるときに前記制御部において使用される1以上の第1種のサーボゲインに対応する1以上の第2種のサーボゲインであって、それぞれ対応する前記第1種のサーボゲインよりも高い値を有する前記第2種のサーボゲインと、前記力制御パラメーターの候補値と、を用いて、前記ロボットに動作を行わせ、前記外力の測定値である力測定値を得る測定処理を行う測定部と、
    前記力測定値を使用して前記力制御パラメーターについて最適化処理を行うことにより、前記力制御パラメーターの新たな候補値を得るパラメーター更新処理を行うパラメーター更新部と、
    前記測定処理と前記パラメーター更新処理とを繰り返すことにより、前記ロボットシステムの前記力制御において使用される力制御パラメーターを決定するパラメーター決定処理を行うパラメーター決定部と、を備える、調整装置。
  5. 請求項4記載の調整装置であって、
    前記制御部は、前記ロボットの制御点の位置および速度についてフィードバック制御を行い、
    前記第2種のサーボゲインは、前記位置についてのフィードバックのサーボゲインと、前記速度についてのフィードバックのサーボゲインと、の少なくとも一方を含む、調整装置。
  6. 請求項4または5に記載の調整装置であって、
    前記パラメーター決定部は、前記パラメーター決定処理において、同一のフィードバックに使用される前記第2種のサーボゲインであって互いに異なる値を有する前記第2種のサーボゲインを使用して、複数の前記測定処理を実行する、調整装置。
JP2021104753A 2021-06-24 2021-06-24 力制御パラメーターの調整方法および力制御パラメーター調整装置 Pending JP2023003592A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021104753A JP2023003592A (ja) 2021-06-24 2021-06-24 力制御パラメーターの調整方法および力制御パラメーター調整装置
US17/847,561 US20220410384A1 (en) 2021-06-24 2022-06-23 Force Control Parameter Adjustment Method And Force Control Parameter Adjustment Apparatus
CN202210717125.0A CN115519537A (zh) 2021-06-24 2022-06-23 力控制参数的调整方法以及力控制参数调整装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021104753A JP2023003592A (ja) 2021-06-24 2021-06-24 力制御パラメーターの調整方法および力制御パラメーター調整装置

Publications (1)

Publication Number Publication Date
JP2023003592A true JP2023003592A (ja) 2023-01-17

Family

ID=84543667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021104753A Pending JP2023003592A (ja) 2021-06-24 2021-06-24 力制御パラメーターの調整方法および力制御パラメーター調整装置

Country Status (3)

Country Link
US (1) US20220410384A1 (ja)
JP (1) JP2023003592A (ja)
CN (1) CN115519537A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3300625B2 (ja) * 1997-01-27 2002-07-08 ファナック株式会社 ロボットの制御方式
DE102015009151A1 (de) * 2015-07-14 2017-01-19 Kuka Roboter Gmbh Ermitteln eines Eingabebefehls für einen Roboter, der durch manuelles Ausüben einer Kraft auf den Roboter eingegeben wird
US10959795B2 (en) * 2015-08-25 2021-03-30 Kawasaki Jukogyo Kabushiki Kaisha Remote-control manipulator system and method of operating the same

Also Published As

Publication number Publication date
US20220410384A1 (en) 2022-12-29
CN115519537A (zh) 2022-12-27

Similar Documents

Publication Publication Date Title
JP6223640B2 (ja) キャリブレーション装置およびこれを用いたロボットシステム
JP4271232B2 (ja) ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
US7508155B2 (en) Controller
JPH11502776A (ja) 多軸工業ロボットの較正の装置と方法
CN113858189A (zh) 机器人的控制方法及机器人系统
JP2019123073A (ja) ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法
JP2023003592A (ja) 力制御パラメーターの調整方法および力制御パラメーター調整装置
JP3577124B2 (ja) 力制御ロボットを用いて嵌合データを取得する方法
JPH06143171A (ja) ロボット
CN114670188B (zh) 决定机器人的控制位置的方法以及机器人系统
EP4067012B1 (en) Method for controlling robot, robot system, and program for controlling robot
JP2024512827A (ja) 適応コンプライアンスに基づいたロボット組立のためのシステムおよび方法
JP2019093504A (ja) 物品の製造方法及びロボットシステム
JP7423943B2 (ja) 制御方法およびロボットシステム
JPH1133952A (ja) ロボットの制御方法、ロボットおよび把持物体の位置、姿勢修正方法
CN116133797A (zh) 机器人控制装置
JP2021146435A (ja) ロボットシステム、ロボットシステムで実行される方法および教示データを生成する方法
WO2022176456A1 (ja) バネ定数補正装置および該方法ならびに記録媒体
CN114536321B (zh) 机器人系统及其控制方法和力控制参数的调整方法
US11839978B2 (en) Method of adjusting force control parameter
US20230001574A1 (en) Operation Parameter Adjusting Method And Operation Parameter Adjusting Device For Adjusting Operation Parameters Of Robot
JPH058187A (ja) ロボツト
CN116852397B (zh) 负压理疗机器人理疗力度及理疗路径的自适应调节方法
KR100244758B1 (ko) 수직 다관절 용접 로봇의 캘리브레이션 방법 및 그 장치
JPH05169381A (ja) 力制御型ロボット装置及びその制御方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210917

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240509