(57)【要約】  部品（Ｐ）を穴（Ｈ）に挿入するために要する時間を短縮できるロボット（２０）の制御パラメータ調整方法、ロボットシステム（１０）及びロボット制御装置（３０）を提供する。また、部品（Ｐ）が穴（Ｈ）の底部に到達した際の反力を低減できるロボット（２０）の制御パラメータ調整方法、ロボットシステム（１０）及びロボット制御装置（３０）を提供する。  ロボット（２０）の制御パラメータ調整方法は、外部から加わる力を検出する力センサ（ＦＳ）を有するロボット（２０）が、インピーダンス制御に基づいて、複数の深さ方向の区間が設定された穴（Ｈ）に部品（Ｐ）を挿入する挿入ステップと、連続して同一の区間が更新の対象とならないように、複数の区間のうち、いずれか１つの区間における粘性パラメータを低減するパラメータ更新ステップと、を含み、各区間における粘性パラメータを調整する。
2014037999.tif 000002
【特許請求の範囲】
【請求項１】
外部から加わる力を検出する力センサを有するロボットが、インピーダンス制御に基づいて、複数の深さ方向の区間が設定された穴に部品を挿入する挿入ステップと、
連続して同一の区間が更新の対象とならないように、前記複数の区間のうち、いずれか１つの区間における粘性パラメータを低減するパラメータ更新ステップと、を含み、
前記各区間における前記粘性パラメータを調整するロボットの制御パラメータ調整方法。
【請求項２】
請求項１記載のロボットの制御パラメータ調整方法において、
前記パラメータ更新ステップでは、前記穴の底部を含む前記区間における前記粘性パラメータを調整の対象としないロボットの制御パラメータ調整方法。
【請求項３】
請求項２記載のロボットの制御パラメータ調整方法において、
前記パラメータ更新ステップでは、前回調整の対象となった前記区間に隣接する前記区間における前記粘性パラメータが調整の対象となるロボットの制御パラメータ調整方法。
【請求項４】
請求項２又は３記載のロボットの制御パラメータ調整方法において、
前記部品が、前記穴の底に到達するまでの間に前記ロボットが受ける反力が予め決められた第１の閾値を超えたことを判断する第１の判断ステップと、
前記部品が、前記穴の底に到達した際に前記ロボットが受ける反力が予め決められた第２の閾値を超えたことを判断する第２の判断ステップと、
前記粘性パラメータが、予め設定された下限値に到達したことを判断する第３の判断ステップと、を更に含むロボットの制御パラメータ調整方法。
【請求項５】
複数の深さ方向の区間が設定された穴に部品を挿入する挿入作業を行うロボットと、
前記ロボットの動作を制御するロボット制御装置と、を備え、
前記ロボット制御装置は、前記ロボットが行う前記挿入作業をインピーダンス制御するための制御部と、
前記部品の挿入量に応じて段階的に設定される前記インピーダンス制御の粘性パラメータを調整するパラメータ調整部と、を有するロボットシステム。
【請求項６】
請求項５記載のロボットシステムにおいて、
前記パラメータ調整部は、前記ロボットが前記挿入作業を行った際の反力が予め決められた大きさを超えていない場合に、前記複数の区間のうち、前記穴の底部を含む前記区間を除き、いずれか１つの前記区間における前記粘性パラメータを予め決められた大きさだけ低減するロボットシステム。
【請求項７】
複数の深さ方向の区間が設定された穴に部品を挿入する挿入作業を行うロボットの動作をインピーダンス制御するための制御部と、
前記部品の挿入量に応じて段階的に前記インピーダンス制御の粘性パラメータを調整するパラメータ調整部と、を備えたロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御パラメータ調整方法、ロボットシステム、及びロボット制御装置に関する。
【背景技術】
【０００２】
特許文献１には、動作中に力制限値とコンプライアンス制御パラメータを切り替えることで、作業を高速化しながら、位置ずれ発生時に過大な力が作用することを防止できる力制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１０４７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットが部品（挿入ワーク）を被挿入ワークに形成された穴に挿入する挿入作業において、ロボットは、アーム先端部に搭載された力センサから出力される力センサ信号を観測しながら、部品と被挿入ワークとの接触によって生じる力が目標値に一致するよう、インピーダンス制御によって動作が制御される。【０００５】
ここで、インピーダンス制御の特性を決定するインピーダンスパラメータは、以下の観点に基づいて調整される。
１）部品が穴底に到達した際の反力を低減するためには、粘性パラメータを大きく（又は部品の押し付け力を小さく）設定する必要がある。
２）挿入速度を大きくしてタクトタイムを短くするためには、粘性パラメータを小さく（又は部品の押し付け力を大きく）設定する必要がある。
一般に、部品及び被挿入ワークを破損させないために、前述の１）の観点に基づいてパラメータが調整される。その結果、タクトタイムが延びてしまう。【０００６】
本発明は、部品を穴に挿入するために要する時間を短縮できるロボットの制御パラメータ調整方法、ロボットシステム、及びロボット制御装置を提供することを目的とする。また、本発明は、部品が穴の底部に到達した際の反力を、予め定められた大きさよりも低減できるロボットの制御パラメータ調整方法、ロボットシステム、及びロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の一の観点によれば、外部から加わる力を検出する力センサを有するロボットが、インピーダンス制御に基づいて、複数の深さ方向の区間が設定された穴に部品を挿入する挿入ステップと、
連続して同一の区間が更新の対象とならないように、前記複数の区間のうち、いずれか１つの区間における粘性パラメータを低減するパラメータ更新ステップと、を含み、
前記各区間における前記粘性パラメータを調整するロボットの制御パラメータ調整方法が適用される。【０００８】
また、他の観点によれば、複数の深さ方向の区間が設定された穴に部品を挿入する挿入作業を行うロボットと、
前記ロボットの動作を制御するロボット制御装置と、を備え、
前記ロボット制御装置は、前記ロボットが行う前記挿入作業をインピーダンス制御するための制御部と、
前記部品の挿入量に応じて段階的に設定される前記インピーダンス制御の粘性パラメータを調整するパラメータ調整部と、を有するロボットシステムが適用される。【０００９】
また、他の観点によれば、複数の深さ方向の区間が設定された穴に部品を挿入する挿入作業を行うロボットの動作をインピーダンス制御するための制御部と、
前記部品の挿入量に応じて段階的に前記インピーダンス制御の粘性パラメータを調整するパラメータ調整部と、を備えたロボット制御装置が適用される。
【発明の効果】
【００１０】
本発明によれば、部品を穴に挿入するために要する時間を短縮できる。また、ロボットが挿入する部品が穴の底部に到達した際の反力を予め定められた大きさよりも低減できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例に係るロボットシステムの構成図である。
【図２】同ロボットシステムによる挿入作業の模式図である。
【図３】同ロボットシステムのロボット制御装置が有する制御部のブロック図である。
【図４】同ロボットシステムの制御パラメータ調整方法の概要を示す説明図である。
【図５Ａ】同ロボットシステムが有するロボットの前調整における動作を示す説明図である。
【図５Ｂ】同ロボットシステムが有するロボットの前調整における力指令を示す説明図である。
【図６】同ロボットシステムが有するロボットの挿入動作を示す説明図である。
【図７】同ロボットシステムが有するロボットが部品を挿入する穴を示す説明図である。
【図８】同ロボットシステムが有するロボット制御装置の調整アルゴリズムを示すフローチャートである。
【図９】第１の実験例における挿入開始姿勢を示す説明図である。
【図１０】第１の実験例における反力ピーク値Ｆｐｅａｋ１、Ｆｐｅａｋ２と挿入時間Ｔｉｍの変化を示すグラフである。
【図１１】挿入動作中の反力及び位置を示すグラフである。
【図１２】第１の実験例における粘性パラメータの調整結果を示すグラフである。
【図１３】第２の実験例における挿入開始姿勢を示す説明図である。
【図１４】第２の実験例における反力ピーク値Ｆｐｅａｋ１、Ｆｐｅａｋ２と挿入時間Ｔｉｍの変化を示すグラフである。
【図１５】第２の実験例における粘性パラメータの調整結果を示すグラフである。
【発明を実施するための形態】
【００１２】
続いて、添付した図面を参照しつつ、本発明を具体化した実施例につき説明し、本発明の理解に供する。なお、各図において、説明に関連しない部分は図示を省略する場合がある。
【００１３】
本発明の一実施例に係るロボットシステム１０は、図１に示すように、ロボット２０と、ロボット２０の動作を制御するロボット制御装置３０と、を備えている。
【００１４】
ロボット２０は、図２に示すように、インピーダンス制御モデルに基づくインピーダンス制御により、ハンド２０２の位置が修正される。具体的には、ロボット２０は、ハンド２０２にて、例えば円柱状の部品Ｐの予め決められた箇所を把持し、部品Ｐを被挿入ワークＷに形成された穴Ｈに挿入する挿入作業を行うことができる。
ロボット２０は、例えば６軸の多関節ロボットである。ロボット２０は、手首部２０４とハンド２０２との間に、外部から加わる力を検出する力センサＦＳを有している。この力センサＦＳは、例えば６軸の力センサである。力センサＦＳは、ハンド２０２に固定されたツール座標系のＸ軸、Ｙ軸、及びＺ軸の各軸の方向の力を計測できる。また、力センサＦＳは、ツール座標系のＸ軸、Ｙ軸、及びＺ軸の各軸回りのモーメントを計測できる。すなわち、力センサＦＳは、ロボット２０のハンド２０２に作用する外力を検出できる。
【００１５】
ロボット制御装置３０（図１参照）は、部品Ｐの挿入量に応じて段階的にインピーダンス制御の粘性パラメータを切り替え、ロボット２０の動作をインピーダンス制御により制御できる。ここで、粘性パラメータは、部品Ｐを挿入する方向に関する粘性パラメータであり、以下、単に粘性パラメータという場合がある。
また、ロボット制御装置３０は、穴Ｈの深さ方向に設定された各区間（図７参照）における粘性パラメータをそれぞれ調整できる。
ロボット制御装置３０は、力信号処理部３０２と、パラメータ記憶部３０４と、パラメータ調整部３０６と、実行プログラム記憶部３１０と、制御部３１２と、を有している。
【００１６】
力信号処理部３０２には、力センサＦＳが検出した外力が電気信号として入力される。力信号処理部３０２は、この電気信号を処理して、力フィードバック値Ｆｆｂとして出力する。
【００１７】
パラメータ記憶部３０４は、ロボット２０をインピーダンス制御するために必要なインピーダンスパラメータＰｉｎｓ、粘性パラメータを調整するために操作者が設定する設定パラメータＰｓ、及び粘性パラメータを調整するためにパラメータ調整部３０６が使用する内部パラメータＰｉを記憶できる。
【００１８】
パラメータ調整部３０６は、力信号処理部３０２から入力された力フィードバック値Ｆｆｂ、及びロボット２０の各軸を駆動するサーボモータのエンコーダ値を順変換して得られた位置情報ＰＯＳに基づき、パラメータ記憶部３０４に記憶された各区間における粘性パラメータを調整できる。すなわち、パラメータ調整部３０６は、部品Ｐの挿入量に応じて段階的に設定されるインピーダンス制御の粘性パラメータを調整できる。
【００１９】
実行プログラム記憶部３１０は、ロボット２０の動作を規定する実行プログラムｐｒｇを記憶することができる。実行プログラム記憶部３１０は、例えば、フラッシュメモリやハードディスクドライブにより構成される。
【００２０】
制御部３１２は、実行プログラム記憶部３１０に記憶された実行プログラムｐｒｇを解釈し、力フィードバック値Ｆｆｂ及びインピーダンスパラメータＰｉｎｓに基づいて、ロボット２０をインピーダンス制御できる。ロボット２０は、インピーダンス制御に基づいて、挿入作業を実行する。
制御部３１２は、図３に示すように、インピーダンス制御器３１２ａ、座標変換器３１２ｂ、及び位置制御器３１２ｃとを有している。
【００２１】
インピーダンス制御器３１２ａは、力フィードバック値Ｆｆｂ及び力指令値Ｆｒｅｆに基づいて、インピーダンス制御によりロボット座標系（ロボット２０のベースに固定された直交座標系）における位置修正量δＰを出力する。
ここで、インピーダンス制御のモデルは、慣性パラメータＭ、粘性パラメータＤ、及び剛性パラメータＫ、及びラプラス演算子ｓを用いて次式（１）により表される。
【００２２】
【数１】
2014037999.tif 000003
【００２３】
ただし、挿入方向の粘性パラメータは、部品Ｐの先端部が通過する区間に応じた値が用いられる。区間は、位置情報ＰＯＳに基づいて識別される。
【００２４】
座標変換器３１２ｂは、ロボット座標系における位置修正量δＰを各関節軸の修正量δθに変換する。
位置制御器３１２ｃは、各関節軸の修正量δθに基づいて、ロボット２０に対してトルクＴを出力する。
【００２５】
ロボット制御装置３０には、入力装置として、例えばティーチペンダント４０が接続される（図１参照）。ティーチペンダント４０には、実行プログラム入力部４０２、及びパラメータ入力部４０４が設けられている。
【００２６】
操作者は、実行プログラム入力部４０２により、ロボット２０に所望の動作をさせつつ、その動作が記述された実行プログラムｐｒｇを作成できる。作成された実行プログラムｐｒｇは、実行プログラム記憶部３１０に記憶される。
また、操作者は、実行プログラム入力部４０２により、実行プログラム記憶部３１０に記憶された所望の実行プログラムｐｒｇを選択し、選択した実行プログラムｐｒｇに基いて、ロボット２０を動作させることができる。
更に、操作者は、パラメータ入力部４０４より、パラメータ記憶部３０４が記憶する設定パラメータＰｓを設定できる。
【００２７】
次に、ロボットシステム１０の動作について説明する。
まず、ロボットシステム１０のロボット制御装置３０は、後述する制御パラメータ調整方法により、穴Ｈの深さ方向に設定された各区間について、部品Ｐを挿入する方向の粘性パラメータＤｚを調整する。
次に、ロボット制御装置３０は、区間ごとに調整された粘性パラメータＤｚに基づいて、ロボット２０をインピーダンス制御する。その結果、ロボット２０は把持した部品Ｐを穴Ｈに挿入する。つまり、ロボットシステム１０は、部品Ｐの挿入量に応じて粘性パラメータＤｚを切り替えて、部品Ｐを穴Ｈに挿入する。
【００２８】
制御パラメータ調整方法は、粘性パラメータＤｚを調整する作業として、図４に示すように、前調整を実行するステップと、前調整が実行された後、部品Ｐを挿入する挿入動作とパラメータ更新とを繰り返すステップとを含んでいる。
【００２９】
前調整においては、図５Ａに示すようにロボット２０に部品Ｐを調整用のワークＷａｄｊに繰り返し接触させ、粘性パラメータが調整され、粘性パラメータの初期値Ｄｉｎｉが求められる。なお、慣性パラメータＭは固定され、剛性パラメータＫは零である。
前調整においては、式（１）に示した粘性パラメータＤを調整する際、粘性パラメータＤが小さいほど応答が速いが部品Ｐの接触時に振動的になり不安定になる。逆に、粘性パラメータＤを大きくすると振動が少なく安定だが応答は遅い。
【００３０】
そこで、図５Ｂのようにステップ状の力指令を与えて部品Ｐを調整用のワークＷａｄｊに接触させた場合の、速度応答の整定時間が最短になるように粘性パラメータ（図５Ｂ中のＤ）を調整し、この調整を並進及び回転の６方向に対して行う。並進方向に関する粘性パラメータの調整は各軸方向について部品Ｐを並進させ調整用のワークＷａｄｊに接触させて行われる。回転方向に関する粘性パラメータの調整は、各軸回りに部品Ｐを回転させ、部品Ｐを調整用のワークＷａｄｊに接触させて行われる。
前調整により、接触時の整定時間が最短になるような粘性パラメータの初期値Ｄｉｎｉが求められる。
【００３１】
また、前調整では、図６に示すように、部品Ｐの先端が穴Ｈに嵌るよう、ロボット２０の位置姿勢が教示される。
更に、前調整では、部品Ｐを挿入する方向の力指令値Ｆｒｅｆ＿ｚも与えられる。
【００３２】
図４に示した挿入動作においては、挿入ステップとして、ロボット２０が、力指令値Ｆｒｅｆ＿ｚに基づく押し付け力Ｆｉｎｓにて、把持した部品Ｐを穴Ｈに挿入する（図６参照）。部品Ｐが穴Ｈの底部に到達すると、部品Ｐは反力ＣＦを受ける。
【００３３】
パラメータ更新動作においては、図７に示すように、更新ステップとして、挿入動作中にロボット２０が受けた反力に基づいて、穴Ｈの深さ方向に設定された複数の区間ごとに、粘性パラメータＤｚが更新（低減）される。図７では一例として５つの区間に分けた場合を示している。粘性パラメータＤｚは、パラメータ調整部３０６により、後述する調整アルゴリズムに従って更新される。
粘性パラメータＤｚは、原則として、部品Ｐが穴Ｈの底部に到達するまでに受ける反力のピーク値Ｆｐｅａｋ１及び部品Ｐが穴Ｈの底部に到達した後に受ける反力のピーク値Ｆｐｅａｋ２が、それぞれ予め決められた閾値（第１の閾値）Ｆｔｈｒｅ１及び閾値（第２の閾値）Ｆｔｈｒｅ２を超えず、粘性パラメータが予め設定された下限値に到達しない限り、パラメータ更新動作が実行される度に予め決められた大きさだけ低減されていく。
【００３４】
パラメータ更新動作においては、挿入動作中、力指令値Ｆｒｅｆ＿ｚは、部品Ｐの位置に関係なく一定に保たれる。力指令値Ｆｒｅｆ＿ｚは、粘性パラメータＤｚが更新された場合であっても、一定に保たれる。
また、図７に示す区間５のように、穴Ｈの底部を含む区間については、粘性パラメータＤｚは更新の対象とならず、前調整により調整された値に維持される。穴Ｈの底部を含む区間についての粘性パラメータＤｚが更新の対象とならない理由は、前調整にて、部品Ｐが被挿入ワークＷに接触した際の整定時間が低減されるよう、粘性パラメータがすでに調整されているためである。
なお、部品Ｐの先端が穴Ｈに確実に嵌るまでは、前調整にて設定した粘性パラメータを用いて、ロボット２０がインピーダンス制御される。
【００３５】
この調整アルゴリズムによれば、ロボット２０が受ける反力が過大にならないように監視され、各区間について粘性パラメータＤｚが低減される。その結果、ロボット２０の挿入動作の応答が向上し、部品Ｐを挿入するために要する時間が短縮される。
【００３６】
次に、図８を参照して、パラメータ調整部３０６が実行する調整アルゴリズムについて、詳細に説明する。
前述のパラメータ記憶部３０４に記憶されるインピーダンスパラメータＰｉｎｓ、粘性パラメータＤを調整するために操作者が設定する設定パラメータＰｓ、及び粘性パラメータＤを調整するためにパラメータ調整部３０６が使用する内部パラメータＰｉは、具体的には以下の通りである。
Ａ．インピーダンスパラメータＰｉｎｓ
（１）粘性パラメータＤ
（２）慣性パラメータＭ
（３）剛性パラメータＫ
Ｂ．設定パラメータＰｓ
（１）挿入方向の粘性パラメータの初期値Ｄｚｉｎｉ
（２）挿入方向の粘性パラメータの下限値Ｄｚｍｉｎ
（３）挿入方向の粘性パラメータの低減量（更新量）ΔＤｚ
（４）部品Ｐが穴Ｈの底部に到達するまでに受ける反力の閾値Ｆｔｈｒｅ１
（５）部品Ｐが穴Ｈの底部に到達した後に受ける反力の閾値Ｆｔｈｒｅ２
（６）区間の分割数Ｎ（自然数）
（７）部品Ｐを挿入する方向にハンド２０２を動かすための力指令値Ｆｒｅｆ＿ｚ
Ｃ．内部パラメータＰｉ
（１）粘性パラメータを更新する対象となる更新対象区間を示す変数ｉ（ただし、１≦ｉ≦Ｎ−１）
（２）前回の更新対象区間を示す変数ｉ＿ｏｌｄ（ただし、１≦ｉ＿ｏｌｄ≦Ｎ−１）
（３）更新対象区間ｉにおける挿入方向の粘性パラメータＤｚ（ｉ）
（４）前回の挿入方向の粘性パラメータＯｌｄＤｚ（ｉ）
（５）粘性パラメータＤｚ（ｉ）の更新可否を示すフラグＦｌｇ（ｉ）
（６）更新可能なＤｚ（ｉ）の数を示す変数Ｆｌｇ＿Ｃｎｔ（ただし、０≦Ｆｌｇ＿Ｃｎｔ≦Ｎ−１）
（７）部品Ｐが穴Ｈの底部に到達するまでに受ける反力のピーク値Ｆｐｅａｋ１（図１１参照）
（８）部品Ｐが穴Ｈの底部に到達した後に受ける反力のピーク値Ｆｐｅａｋ２（図１１参照）
【００３７】
（ステップＳ１０１）
本ステップでは、各パラメータが初期設定される。具体的には、更新可能なＤｚ（ｉ）の数を示す変数Ｆｌｇ＿ＣｎｔがＮ−１に設定される。
前回の対象区間を示す変数ｉ＿ｏｌｄが１に設定される。
現在の対象の区間を示す変数ｉが１に設定される。
現在の粘性パラメータＤｚ（１）〜Ｄｚ（Ｎ−１）が、前述の前調整で得られた粘性パラメータの初期値Ｄｚｉｎｉに設定される。
前回の粘性パラメータＯｌｄＤｚ（１）〜ＯｌｄＤｚ（Ｎ−１）が、それぞれ前述の前調整で得られた粘性パラメータの初期値Ｄｚｉｎｉに設定される。
粘性パラメータＤｚ（１）〜Ｄｚ（Ｎ−１）の更新可否をそれぞれ示すフラグＦｌｇ（１）〜Ｆｌｇ（Ｎ−１）が更新可能であることを示す「ｏｎ」に設定される。
【００３８】
（ステップＳ１０２）
フラグＦｌｇ（ｉ）が、「ｏｎ」であるか否かが判断される。「ｏｎ」である場合には、ステップＳ１０３へ進む。更新不可能であることを示す「ｏｆｆ」である場合には、ステップＳ２０３へ進む。
【００３９】
（ステップＳ１０３）
挿入動作が実行され、ロボット２０が部品Ｐを穴Ｈに挿入する（図７参照）。
【００４０】
（ステップＳ１０４）
第１の判断ステップとして、部品Ｐが穴Ｈの底部に到達するまでに受ける反力のピーク値Ｆｐｅａｋ１が、閾値Ｆｔｈｒｅ１以下である場合には、ステップＳ１０５へ進む。そうでない場合には、ステップＳ２０４へ進む。
なお、反力のピーク値Ｆｐｅａｋ１は、力信号処理部３０２が出力する力フィードバック値Ｆｆｂから求められる。
【００４１】
（ステップＳ１０５）
第２の判断ステップとして、部品Ｐが穴Ｈの底部に到達した後に受ける反力のピーク値Ｆｐｅａｋ２が、閾値Ｆｔｈｒｅ２以下である場合には、ステップＳ１０６へ進む。そうでない場合には、ステップＳ２０４へ進む。
なお、反力のピーク値Ｆｐｅａｋ２は、力信号処理部３０２が出力する力フィードバック値Ｆｆｂから求められる。
【００４２】
（ステップＳ１０６）
変数Ｆｌｇ＿Ｃｎｔが０より大きい場合には、ステップＳ１０７へ進む。変数Ｆｌｇ＿Ｃｎｔが０である場合には、調整が終了する。
【００４３】
（ステップＳ１０７）
粘性パラメータＤｚ（ｉ）を粘性パラメータＯｌｄＤｚ（ｉ）に保存する。粘性パラメータＤｚ（ｉ）から粘性パラメータの低減量（更新量）ΔＤｚを減じた値を新たな粘性パラメータＤｚ（ｉ）とする。変数ｉ＿ｏｌｄをｉとする。
【００４４】
（ステップＳ１０８）
第３の判断ステップとして、新たな粘性パラメータＤｚ（ｉ）が粘性パラメータの下限値Ｄｚｍｉｎ以下である場合には、ステップＳ１０９へ進む。そうでない場合には、ステップＳ１１０へ進む。
【００４５】
（ステップＳ１０９）
粘性パラメータＤｚ（ｉ）が粘性パラメータの下限値Ｄｚｍｉｎに設定される。
フラグＦｌｇ（ｉ）が更新不可能であることを示す「ｏｆｆ」に設定される。更新可能なＤｚ（ｉ）の数を示す変数Ｆｌｇ＿Ｃｎｔを１減らす。
【００４６】
（ステップＳ１１０）
変数ｉがＮ−１よりも小さい場合には、変数ｉを１増やし、そうでない場合には、変数ｉを１にする。つまり、後続のステップにおいて変数ｉはＮになることがないので、区間Ｎは粘性パラメータの更新対象外となる。
その後、ステップＳ１０２に戻る。
【００４７】
（ステップＳ２０３）
変数ｉがＮ−１よりも小さい場合には、変数ｉを１増やし、そうでない場合には、変数ｉを１にする。つまり、ステップＳ１０２から本ステップＳ２０３へと至るフローにより、フラグＦｌｇ（ｉ）が「ｏｆｆ」となった区間は、粘性パラメータＤｚ（ｉ）の更新対象から外されることになる。また、後続のステップにおいて変数ｉはＮになることがないので、区間Ｎは粘性パラメータの更新対象外となる。
その後、ステップＳ１０２に戻る。
【００４８】
（ステップＳ２０４）
ステップＳ１０３にて実行された挿入動作の終了状態が判断される。挿入動作が正常終了である場合には、ステップＳ２０５へ進む。途中停止である場合には、調整を終了する。すなわち、ステップＳ１０３、Ｓ１０４からステップＳ２０４へと至るフローにより、挿入途中で部品Ｐが穴Ｈに詰まって停止し、反力のピーク値Ｆｐｅａｋ１が閾値Ｆｔｈｒｅ１を超えた場合には、異常が発生したと判断され、調整が終了する。また、ステップＳ１０３、Ｓ１０４、Ｓ１０５からステップＳ２０４へと至るフローにより、部品Ｐが穴Ｈの底部に到達した後に振動が整定せず、反力のピーク値Ｆｐｅａｋ２が閾値Ｆｔｈｒｅ２を超えた場合には、異常が発生したと判断され、調整が終了する。
【００４９】
（ステップＳ２０５）
前回の対象区間における現在の粘性パラメータＤｚ（ｉ＿ｏｌｄ）を、前回の対象区間における前回の粘性パラメータＯｌｄＤｚ（ｉ＿ｏｌｄ）に戻す。つまり、直前に更新した更新対象区間について、粘性パラメータＤｚ（ｉ＿ｏｌｄ）を更新前の値に戻す。
フラグＦｌｇ（ｉ＿ｏｌｄ）が更新不可能であることを示す「ｏｆｆ」に設定される。更新可能なＤｚ（ｉ）の数を示す変数Ｆｌｇ＿Ｃｎｔを１減らす。
【００５０】
（ステップＳ２０６）
変数Ｆｌｇ＿Ｃｎｔが０より大きい場合には、ステップＳ２０７へ進む。変数Ｆｌｇ＿Ｃｎｔが０である場合には、調整が終了する。
【００５１】
（ステップＳ２０７）
変数ｉがＮ−１よりも小さい場合には、ｉを１増やし、そうでない場合には、変数ｉを１にする。つまり、後続のステップにおいて変数ｉはＮになることがないので、区間Ｎは粘性パラメータの更新対象外となる。
その後、ステップＳ１０２に戻る。
【００５２】
上記ステップを繰り返すことにより、各区間の粘性パラメータＤｚ（ｉ）が決定される。
ここで、特定の区間のみ更新を繰り返すと、急な加減速で挿入動作が実行される要因になったり、部品Ｐが穴Ｈに詰まる要因になったり、反力が過大となる要因になったりする。この点、本調整アルゴリズムは、更新対象区間ｉが、１、２、・・・、Ｎ−１、１、２・・・のように輪番で変わるので、スムーズな挿入動作を実現できる。つまり、本調整アルゴリズムでは、前回更新の対象となった区間に隣接する区間における粘性パラメータが更新対象となる。なお、更新対象区間ｉは１ずつずれて変更されなくてもよい。すなわち、連続して同一の区間が更新の対象とならなければよい。
【００５３】
次に、ロボット２０が把持した部品Ｐを挿入する実験例を示し、ロボットシステム１０について更に説明する。
（第１の実験例）
前述の前調整の後、図９に示すように、部品Ｐの先端が被挿入ワークＷに１ｍｍ程度嵌った状態から挿入動作及びパラメータ更新を行った。
部品Ｐ及び被挿入ワークＷの諸元並びに調整パラメータをそれぞれ、表１及び表２に示す。
【００５４】
【表１】
2014037999.tif 000004
【００５５】
【表２】
2014037999.tif 000005
【００５６】
実験の結果、挿入動作は２１回繰り返され、挿入開始位置から穴底に到達するまでの所要時間（挿入時間）Ｔｉｍ、及び反力ピーク値Ｆｐｅａｋ１、Ｆｐｅａｋ２は、それぞれ、図１０に示すように推移した。なお、図１０において、横軸は粘性パラメータＤｚの更新回数を表している。左側の縦軸は挿入時間を表している。右側の縦軸は反力の大きさを表している。
ここで、図１１は、反力と部品Ｐの挿入位置との関係を示したグラフである。上側のグラフは反力を示している。下側のグラフは部品Ｐの挿入位置を示している。部品Ｐの挿入位置は、部品Ｐが穴Ｈに挿入されるほど、値が小さくなるように表示されている。横軸は時間を表している。挿入時間Ｔｉｍ、反力ピーク値Ｆｐｅａｋ１、Ｆｐｅａｋ２は、それぞれ、図１１に示す通りである。
【００５７】
図１０に示すように、全２１回の挿入を通して、反力ピークＦｐｅａｋ１、Ｆｐｅａｋ２は、それぞれ表２に示す閾値Ｆｔｈｒｅ１、Ｆｔｈｒｅ２を下回った。その結果、前述の調整アルゴリズム（図８参照）に従って、各区間の粘性パラメータＤｚ（１）からＤｚ（４）までの全てが粘性パラメータの下限値Ｄｍｉｎに到達して調整終了となった（図１２参照）。
結果的に、挿入時間Ｔｉｍは、４．８秒（１回目の更新）から１．３秒（２１回目の更新）へと短縮された。
【００５８】
（第２の実験例）
前述の前調整の後、図１３に示すように、ロボット２０が把持した部品ＰをＴＣＰ（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ）を通るＹ軸回りに＋０．５度傾け、部品Ｐが傾いて穴Ｈに嵌った状態から挿入動作及びパラメータ更新を行った。
部品Ｐの諸元及び調整パラメータは、第１の実験例と同一である（表１及び表２参照）。
【００５９】
実験の結果、挿入動作は２１回繰り返され、挿入時間Ｔｉｍ、及び反力ピーク値Ｆｐｅａｋ１、Ｆｐｅａｋ２は、それぞれ、図１４に示すように推移した。なお、図１４において、横軸は粘性パラメータＤｚの更新回数を表している。左側の縦軸は挿入時間を表している。右側の縦軸は反力の大きさを表している。
図１４に示すように、挿入動作１、２、４、５、６、７、１０回目では、挿入途中で部品Ｐが詰まり、穴底に到達せずに挿入動作を終了した。その際、反力Ｆｐｅａｋ１は閾値を下回ったのでパラメータが更新され、調整が継続された。また、２０回目ではＦｐｅａｋ１が閾値Ｆｔｈｒｅ１を超えたため、その際の調整結果が却下されてＤｚ（３）の更新が打ち切られた。最終的に採用された調整結果では、Ｄｚ（３）が粘性下限値Ｄｍｉｎに到達していない（図１５参照）。
結果的に、挿入時間Ｔｉｍは、５．８秒（３回目の更新）が２．１秒（２１回目の更新）に短縮された。
【００６０】
以上説明したように、ロボットシステム１０によれば、部品Ｐを穴に挿入する挿入時間が短縮される。また、ロボットシステム１０によれば、ロボット２０が挿入する部品Ｐが穴Ｈの底部に到達した際の反力が設定された閾値以下に抑えられる。
【００６１】
本発明は、前述の実施例に限定されるものではなく、本発明の要旨を変更しない範囲での変更は可能である。例えば、前述の実施例や変形例の一部又は全部を組み合わせて発明を構成する場合も本発明の技術的範囲に含まれる。
例えば、内部パラメータである反力のピークや設定パラメータである挿入方向の粘性パラメータの下限値を区間に応じて可変にしてもよい。
【符号の説明】
【００６２】
１０：ロボットシステム、２０：ロボット、３０：ロボット制御装置、４０：ティーチペンダント、２０２：ハンド、２０４：手首部、３０２：力信号処理部、３０４：パラメータ記憶部、３０６：パラメータ調整部、３１０：実行プログラム記憶部、３１２：制御部、３１２ａ：インピーダンス制御器、３１２ｂ：座標変換器、３１２ｃ：位置制御器、４０２：実行プログラム入力部、４０４：パラメータ入力部、ＦＳ：力センサ、Ｈ：穴、Ｐ：部品、Ｗ：被挿入ワーク、Ｗａｄｊ：調整用のワーク
【図１】
2014037999.tif 000006
【図２】
2014037999.tif 000007
【図３】
2014037999.tif 000008
【図４】
2014037999.tif 000009
【図５Ａ】
2014037999.tif 000010
【図５Ｂ】
2014037999.tif 000011
【図６】
2014037999.tif 000012
【図７】
2014037999.tif 000013
【図８】
2014037999.tif 000014
【図９】
2014037999.tif 000015
【図１０】
2014037999.tif 000016
【図１１】
2014037999.tif 000017
【図１２】
2014037999.tif 000018
【図１３】
2014037999.tif 000019
【図１４】
2014037999.tif 000020
【図１５】
2014037999.tif 000021
【国際調査報告】
2014037999.tif 000022
2014037999.tif 000023
2014037999.tif 000024
2014037999.tif 000025