(57)【要約】【課題】一般的な装置構成を採用しつつ、低荷重での押し当て制御を高速かつ高精度に実現できる構成が要望されている。【解決手段】対象物と移動部材との間の相対距離を変化させるとともに、移動部材から対象物へ与える荷重の大きさを制御する制御装置が提供される。制御装置は、予め定められた速度または位置についてのパターンに従って移動部材についての指令値を順次算出する第１制御手段と、予め定められた第１条件が成立すると、第１制御手段による指令値の算出に代わって、インピーダンス制御に対応する制御演算式に従って移動部材についての指令値を順次算出する第２制御手段とを含む。【選択図】図７
2018041391.tif 000002
【特許請求の範囲】
【請求項１】
対象物と移動部材との間の相対距離を変化させるとともに、前記移動部材から前記対象物へ与える荷重の大きさを制御する制御装置であって、
予め定められた速度または位置についてのパターンに従って前記移動部材についての指令値を順次算出する第１制御手段と、
予め定められた第１条件が成立すると、前記第１制御手段による前記指令値の算出に代わって、インピーダンス制御に対応する制御演算式に従って前記移動部材についての指令値を順次算出する第２制御手段とを備える、制御装置。
【請求項２】
前記インピーダンス制御に対応する制御演算式は、指令値の次元についての目標値と実績値との差分に比例する項を含む、請求項１に記載の制御装置。
【請求項３】
前記インピーダンス制御に対応する制御演算式は、指令値を積分した次元についての目標値と実績値との差分に比例する項をさらに含む、請求項２に記載の制御装置。
【請求項４】
前記第１制御手段は、速度についてのパターンに従って前記移動部材についての速度指令値を順次算出し、
前記第２制御手段は、前記制御演算式に従って、速度実績値を用いて今回の速度指令値を算出する、請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記第２制御手段は、第１パラメータセットを設定した前記インピーダンス制御に従って、前記移動部材が前記対象物に接触する時点を含む第１期間を制御し、続いて、前記第１パラメータセットとは異なる第２パラメータセットを設定した前記インピーダンス制御に従って、前記第１期間に引き続く第２期間を制御する、請求項１〜４のいずれか１項に記載の制御装置。
【請求項６】
前記移動部材が前記対象物に接触する前に、前記移動部材についての速度指令値を算出するための目標値が予め取得された補正量だけ減じられる、請求項１〜５のいずれか１項に記載の制御装置。
【請求項７】
前記第２制御手段は、前記インピーダンス制御に対応する制御演算式に従って前記移動部材についての指令値が順次算出される過程において、予め定められた第２条件が成立すると、前記速度指令値を算出するための目標値を前記補正量だけ減じる、請求項６に記載の制御装置。
【請求項８】
前記第２条件は、前記第２制御手段による前記インピーダンス制御の開始から予め定められた時間が経過したことを含む、請求項７に記載の制御装置。
【請求項９】
前記第２条件は、前記移動部材が前記対象物に接触した直後に発生する荷重のピークと、前記移動部材が前記対象物に接触して荷重を与える一連の処理に要する時間の長さとを考慮して決定される、請求項８に記載の制御装置。
【請求項１０】
対象物と移動部材との間の相対距離を変化させるとともに、前記移動部材から前記対象物へ与える荷重の大きさを制御する制御プログラムであって、前記制御プログラムはコンピュータに
予め定められた速度または位置についてのパターンに従って前記移動部材についての指令値を順次算出する第１制御ステップと、
予め定められた第１条件が成立すると、前記第１制御ステップによる前記指令値の算出に代わって、インピーダンス制御に対応する制御演算式に従って前記移動部材についての指令値を順次算出する第２制御ステップとを実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、アクチュエータを制御する制御装置および制御プログラムに関する。
【背景技術】
【０００２】
従来より、荷重を与えるアクチュエータに関する制御装置および制御方法が提案されている。このような荷重を与えるアクチュエータの一応用例として、部品を基板上に配置するような処理を行うボンディング装置などがある。このようなボンディング装置においては、部品を基板上に配置する際に、部品または基板を破損しないように、低荷重で部品を押し当てたいといったニーズがある。
【０００３】
このようなボンディング動作においては、高速かつ高精度な位置制御が要求されるため、一般的には、ボールねじを用いた移動機構が採用される。このようなボールねじを用いた移動機構では、ボールねじの回転によって生じる摩擦が相対的に大きいので、その摩擦の大きさに比較して小さな範囲の調整が難しい。つまり、ボールねじの駆動に必要なトルクに比較して、より小さい制御範囲でトルクを調整することは精度上の制約があり、低荷重での押し当て制御を実現することは容易ではない。
【０００４】
そこで、低荷重での押し当て制御を実現するために、以下のような先行技術が提案されている。
【０００５】
特開２０１１−０９６８４０号公報（特許文献１）は、非常に薄い半導体チップなどの電子部品を割れが生じることのない低荷重で実装することができるようにした電子部品の実装装置などを開示する。また、特開２０１３−１５７５２９号公報（特許文献２）は、軽荷重から高荷重まで接着荷重が得られる、または高速に実装できるダイボンダなどを開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０９６８４０号公報
【特許文献２】特開２０１３−１５７５２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の先行技術では、以下のような課題が存在する。特開２０１１−０９６８４０号公報（特許文献１）においては、流体など圧力を用いる構成が提案されている。押し当て時のみを考慮すればこのような構成で十分であるが、移動量が大きな装置構成を考えた場合、高速かつ高精度な位置制御を実現するには不十分である。
【０００８】
また、特開２０１３−１５７５２９号公報（特許文献２）に開示される構成においては、２軸が必要であり、かつ、アクチュエータとしてリニアモータを要求しているので、装置の大型化および高コスト化という課題が生じ得る。また、軽荷重動作用として、軸にばねが取り付けられる構成が採用されており、この構成では、ばねの経時変化により制御の安定性が維持できなくなるという課題も生じ得る。
【０００９】
一般的な装置構成を採用しつつ、低荷重での押し当て制御を高速かつ高精度に実現できる構成が要望されている。
【課題を解決するための手段】
【００１０】
本発明のある実施の形態によれば、対象物と移動部材との間の相対距離を変化させるとともに、移動部材から対象物へ与える荷重の大きさを制御する制御装置が提供される。制御装置は、予め定められた速度または位置についてのパターンに従って移動部材についての指令値を順次算出する第１制御手段と、予め定められた第１条件が成立すると、第１制御手段による指令値の算出に代わって、インピーダンス制御に対応する制御演算式に従って移動部材についての指令値を順次算出する第２制御手段とを含む。
【００１１】
好ましくは、インピーダンス制御に対応する制御演算式は、指令値の次元についての目標値と実績値との差分に比例する項を含む。
【００１２】
好ましくは、インピーダンス制御に対応する制御演算式は、指令値を積分した次元についての目標値と実績値との差分に比例する項をさらに含む。
【００１３】
好ましくは、第１制御手段は、速度についてのパターンに従って移動部材についての速度指令値を順次算出し、第２制御手段は、制御演算式に従って、速度実績値を用いて今回の速度指令値を算出する。
【００１４】
好ましくは、第２制御手段は、第１パラメータセットを設定したインピーダンス制御に従って、移動部材が対象物に接触する時点を含む第１期間を制御し、続いて、第１パラメータセットとは異なる第２パラメータセットを設定したインピーダンス制御に従って、第１期間に引き続く第２期間を制御する。
【００１５】
好ましくは、移動部材が対象物に接触する前に、移動部材についての速度指令値を算出するための目標値が予め取得された補正量だけ減じられる。
【００１６】
好ましくは、第２制御手段は、インピーダンス制御に対応する制御演算式に従って移動部材についての指令値が順次算出される過程において、予め定められた第２条件が成立すると、速度指令値を算出するための目標値を補正量だけ減じる。
【００１７】
好ましくは、第２条件は、第２制御手段によるインピーダンス制御の開始から予め定められた時間が経過したことを含む。
【００１８】
好ましくは、第２条件は、移動部材が対象物に接触した直後に発生する荷重のピークと、移動部材が対象物に接触して荷重を与える一連の処理に要する時間の長さとを考慮して決定される。
【００１９】
本発明のある実施の形態によれば、対象物と移動部材との間の相対距離を変化させるとともに、移動部材から対象物へ与える荷重の大きさを制御する制御プログラムが提供される。制御プログラムはコンピュータに、予め定められた速度または位置についてのパターンに従って移動部材についての指令値を順次算出する第１制御ステップと、予め定められた第１条件が成立すると、第１制御ステップによる指令値の算出に代わって、インピーダンス制御に対応する制御演算式に従って移動部材についての指令値を順次算出する第２制御ステップとを実行させる。
【発明の効果】
【００２０】
本発明の実施の形態によれば、一般的な装置構成を採用しつつ、低荷重での押し当て制御を高速かつ高精度に実現できる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係る制御方法に用いられるアクチュエータの一例を示す模式図である。
【図２】押し当て制御において発生する衝突速度に応じた力の変化を説明するための模式図である。
【図３】図２に示す摩擦力の変化を説明するための図である。
【図４】本実施の形態に係る制御方法に用いられるインピーダンス制御に用いられる時間領域での演算式の一例を示す図である。
【図５】本実施の形態に係る制御装置を含む制御システムの構成を概略する模式図である。
【図６】図５に示す制御装置の演算処理ユニットの構成を概略する模式図である。
【図７】本実施の形態に係る制御方法を実現するための制御ループの一例を概略する模式図である。
【図８】本実施の形態に係る制御方法の第１制御ロジックを説明するための模式図である。
【図９】本実施の形態に係る制御方法の第１制御ロジックに係るフローチャートである。
【図１０】本実施の形態に係る制御方法の第１制御ロジックに従う制御結果の一例を示すタイムチャートである。
【図１１】本実施の形態に係る制御方法の第２制御ロジックを説明するための模式図である。
【図１２】移動部材と対象物との接触によって荷重のピークが発生する現象を説明するための図である。
【図１３】本実施の形態に係る制御方法の第３の制御ロジックの概要を説明するための模式図である。
【図１４】本実施の形態に係る制御方法の第３の制御ロジックに係るフローチャートである。
【図１５】本実施の形態に係る制御方法の第３の制御ロジックに従う制御結果の一例を示すタイムチャートである。
【図１６】本実施の形態に係る制御方法の実行をユーザプログラム上で定義するためのファンクションブロックの一例を示す図である。
【図１７】本実施の形態に係る制御方法に含まれるインピーダンス制御をユーザプログラム上で定義するためのファンクションブロックの一例を示す図である。
【図１８】本実施の形態に係る制御方法に用いられるアクチュエータの別の一例を示す模式図である。
【発明を実施するための形態】
【００２２】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２３】
＜Ａ．アクチュエータの構成および課題＞
まず、本実施の形態に係るアクチュエータの構成および課題について説明する。本実施の形態に係る制御方法は、対象物と移動部材との間の相対距離を変化させるとともに、移動部材から対象物へ与える荷重の大きさを制御する。このようなアクチュエータの一例として、以下では、ボールねじを有する移動機構を一例として説明する。
【００２４】
（ａ１：アクチュエータの構成例）
図１は、本実施の形態に係る制御方法に用いられるアクチュエータの一例を示す模式図である。図１を参照して、アクチュエータ２は、ハウジング４の中心部に上部を貫通するように配置されたボールねじ６を含む。このボールねじ６には、移動部材であるナット８が係合されている。ナット８はハウジング４の内部に回転を抑止された状態で配置されている。ボールねじ６の一端にはモータ１０が結合されており、モータ１０が回転することで、ボールねじ６とナット８とが相対回転し、その結果、ナット８がボールねじ６の軸方向に沿って移動することになる。このような機構によって、移動部材であるナット８の位置を制御することができる。
【００２５】
例えば、移動部材であるナット８の移動方向に対象物が配置される。すなわち、ボールねじ６の回転によってボールねじ６の位置が変化することで、対象物と移動部材との間の相対距離が変化する。そして、ナット８またはナット８と機械的に連結された図示しない部材が対象物に接触することで、対象物に対して荷重が与えられる。本実施の形態に係る制御方法においては、この移動部材（ナット８）が対象物にアプローチして接触し、接触後に移動部材が対象物に与える荷重の大きさを制御する。
【００２６】
図１に示すようなアクチュエータは、例えば、何らかの基板上に部品を配置するような用途に用いられてもよい。
【００２７】
（ａ２：低荷重での押し当て制御の難しさ）
次に、図１に示すようなアクチュエータ２を用いた場合の低荷重での押し当て制御の難しさについて説明する。押し当て制御とは、一般的には、アクチュエータ２の移動部材と対象物との間の相対距離についての制御、および、アクチュエータ２の移動部材が対象物に対して与える荷重の大きさの制御を包含する。
【００２８】
以下の説明において、「押し当て」との用語のみで用いる場合には、移動部材が対象物に対して荷重を与えることを意図する場合もある。また、「低荷重」との用語は、アクチュエータ２を駆動するのに必要な荷重（典型的には、トルク）の大きさに比較して、アクチュエータ２の移動部材が対象物に対して与える荷重が相対的に小さい場合を包含する概念である。但し、「低荷重」との用語は限定的に解釈されるべきではなく、後述するような、荷重の大きさの制御が難しい範囲を概括するような用語として解釈されるべきである。
【００２９】
例えば、高荷重の押し当て制御として、アクチュエータ２を構成するボールねじを駆動するために必要なトルクを３０Ｎｍとし、押し当てのためのトルクを１０Ｎｍとする場合を考える。この場合、押し当てのためにトータルで４０Ｎｍのトルクでかければ、押し当てができる。このとき、押し当てのためのトルクは、トータルのトルクの１／４であるので、トータルのトルクに生じる誤差の影響は実質的に無視できる。
【００３０】
これに対して、低荷重の押し当て制御として、アクチュエータ２を構成するボールねじを駆動するために必要なトルクを３０Ｎｍとし、押し当てのためのトルクを１Ｎｍとする場合を考える。この場合、論理的には、押し当てのためにトータルで３１Ｎｍのトルクでかければ、押し当てができる。しかしながら現実には、位置、ノイズ、経時変化などの影響を受けて摩擦の大きさに微小の変化が生じ、実際にボールねじを駆動するためのトルクは２７〜３３Ｎｍ程度の範囲で変化する。このようなトータルのトルクの誤差によって、低荷重の押し当てとして要求されるトルクの１Ｎｍは埋もれてしまう。
【００３１】
（ａ３：衝突速度による荷重への影響）
次に、移動部材と対象物との衝突速度に応じて発生する荷重への影響について説明する。対象物または移動部材の大きさの誤差などによって、移動部材と対象物との間の距離が本来の値より接近して、押し当て制御にオーバーシュートが発生すると、発生する摩擦の向きが変化するので、押し当て制御を適切に行えない場合がある。
【００３２】
図２は、押し当て制御において発生する衝突速度に応じた力の変化を説明するための模式図である。図３は、図２に示す摩擦力の変化を説明するための図である。図２および図３を参照して、衝突速度に応じて押し当て力（荷重）が変化する理由について説明する。
【００３３】
図２（Ａ）〜（Ｃ）に示す各例においては、出力されるトルクが定格値に対して２０％に相当する値で維持されているとし、このときアクチュエータ２が発生する力は２０Ｎであるとする。また、静止中の摩擦力（静止摩擦力）は、状況に応じて、ある程度の幅で変動することになる。
【００３４】
図２（Ａ）には、対象物に対して移動部材が低速で衝突する場合を示す。図２（Ａ）を参照して、アクチュエータ２が発生する力は、移動部材が対象物に衝突したときに発生する対象物からの反発力（すなわち、押し当て力（荷重））と、ボールねじの回転駆動によって生じる摩擦との合計に相当する。例えば、対象物に対してする移動部材の衝突速度が低く、対象物に対する押し当て力が１０Ｎ発生したとすると、アクチュエータ２が発生する力が２０Ｎで一定であるので、１０Ｎに相当する摩擦力が発生する。
【００３５】
図２（Ｂ）には、対象物に対して移動部材が高速で衝突する場合を示す。図２（Ｂ）を参照して、対象物に対してする移動部材の衝突速度が高く、衝突の瞬間には、対象物に対する押し当て力が５０Ｎ発生したとすると、負側に最大の大きさの摩擦力（図２（Ｂ）に示す例では、−１０Ｎ）が発生するが、アクチュエータ２が発生する力（２０Ｎ）と釣り合いをとることができず、移動部材は押し戻されて、衝突前とは反対方向に移動することにある。
【００３６】
その結果、衝突後に移動部材が押し戻されている間、対象物に対する押し当て力が３０Ｎまで減少して、負側に最大の大きさの摩擦力（図２（Ｂ）に示す例では、−１０Ｎ）で釣り合いが取れたとする。
【００３７】
図２（Ｃ）には、対象物に対して移動部材が中速で衝突する場合を示す。図２（Ｃ）を参照して、対象物に対する押し当て力が２５Ｎ発生したとすると、アクチュエータ２が発生する力は２０Ｎで一定であるので、負側に５Ｎに相当する摩擦力が発生する。
【００３８】
図２（Ａ）〜（Ｃ）に示すように、移動部材と対象物との衝突速度に応じて発生する衝撃力の大きさに応じて、アクチュエータ２に生じ得る摩擦力の大きさは任意かつ非線形（静止摩擦と動摩擦との間）に変化することになる。例えば、図３に示すアクチュエータ２に発生する摩擦力の大きさを示すモデルにおいては、静止摩擦は−１０Ｎ〜１０Ｎの範囲で任意の値をとることができ、この範囲を超えると、その超えた方向に移動部材（ナット８）が移動することになる。
【００３９】
＜Ｂ．概要＞
上述したように、低荷重での押し当て制御の難しさがあり、かつ、高速かつ高精度な位置制御が要求される。このような要求に対して、本実施の形態に係る制御方法では、速度指令型インピーダンス制御または位置指令型インピーダンス制御を採用する。
【００４０】
本明細書における「インピーダンス制御」は、制御対象が有する機械的なインピーダンス（減衰特性、剛性、慣性）に応じて、対応する位置や速度を調整する制御方法を包含する。具体的には、減衰特性に対応する「ダンパ項」、剛性に対応する「ばね項」、慣性に対応する「マス項」をファクタとして含む制御演算式が採用される。但し、これらの項のすべてを含む制御演算式を採用する必要はなく、少なくとも、「マス項」および「ダンパ項」を含むようなものであればよい。
【００４１】
図４は、本実施の形態に係る制御方法に用いられるインピーダンス制御に用いられる時間領域での演算式の一例を示す図である。図４（Ａ）〜（Ｃ）において、ｘｎは時刻ｎにおける位置を表す変数であり、変数上部のドット（・）は時間微分を示す。変数上部に２つのドット（・・）があるものは時間の２階微分を示す。
【００４２】
図４（Ａ）〜（Ｃ）には、時刻ｎにおける速度指令値を順次算出する場合（速度指令型）の制御演算式を示す。すなわち、時刻ｎにおける速度指令値は、前回（時刻ｎ−１）における速度指令値に対して、各時刻における加速度の時間積分を加えたものとして算出される。加速度は、図４（Ａ）〜（Ｃ）の第３式に示されるように、マス項、ダンパ項、ばね項、マス項（荷重）、の少なくとも一部を含む。なお、時刻ｎにおける位置指令値を順次算出する場合（位置指令型）を採用する場合には、図４（Ａ）〜（Ｃ）に示す制御演算式をさらに時間で積分すればよい。速度指令値から位置指令値の算出については、公知の技術であるので、ここではその詳細な説明は行わない。
【００４３】
図４（Ａ）〜（Ｃ）の式中の各変数は、以下を意味する。
ｘｎ（・）：速度指令値
ｘｎ−１（・）：速度実績値
ｘｄ（・）：速度目標値（今回の目標値）
ｍｄ：マス係数
Ｃｄ：ダンパ係数
Ｋｄ：ばね係数
ｘｄ：位置目標値（今回の目標値）
ｘｎ−１：位置実績値
Ｆｄ：荷重目標値
Ｆｅｘｔ：荷重実績値
Δｔ：演算周期（サンプリング時間）
図４（Ａ）に示す制御演算式においては、マス項としてマス係数ｍｄの逆数が用いられ、マス係数ｍｄの逆数は、ダンパ項、ばね項、マス項（荷重）の全体に対して乗じられる。マス係数ｍｄは、移動部材の質量に関連付けられる係数である。
【００４４】
ダンパ項として、今回の速度目標値と前回（時刻ｎ−１）の速度実績値との差分に対して、ダンパ係数Ｃｄを乗じた値が採用される。このように、インピーダンス制御に対応する制御演算式は、指令値の次元（図４に示す例では、速度）についての目標値と実績値との差分に比例する項を含む。
【００４５】
ばね項として、今回の位置目標値と前回（時刻ｎ−１）の位置実績値との差分に対して、ばね係数Ｋｄを乗じた値が採用される。指令値を積分した次元（図４に示す例では、位置）についての目標値と実績値との差分に比例する項を含む。
【００４６】
マス項（荷重）として、アクチュエータが発生すべき荷重目標値と実際に発生した荷重実績値との差に−１を乗じた値が採用される。荷重実績値Ｆｅｘｔの取得には、典型的には、後述のロードセル１６での計測値が用いられる。
【００４７】
図４（Ｂ）に示す制御演算式は、図４（Ａ）において、マス項（荷重）を除外したものに相当し、アクチュエータから対象物に与える荷重などをフィードバックできない場合などには、この簡略された制御演算式を採用してもよい。
【００４８】
図４（Ｃ）に示す制御演算式は、図４（Ｂ）において、ばね項を除外したものに相当し、アクチュエータまたは移動部材の剛性に起因する外乱などを無視できる場合には、この制御演算式を採用してもよい。
【００４９】
図４（Ａ）〜（Ｃ）に示す制御演算式において、マス係数ｍｄ、ダンパ係数Ｃｄ、ばね係数Ｋｄ、各項におけるアクチュエータ固有の値などが制御系に応じて、予め設定される。
【００５０】
本実施の形態に係る制御方法においては、上述したようなインピーダンス制御を採用する。このようなインピーダンス制御の採用によって、リニアモータではなく、サーボモータでボールねじを駆動するようなアクチュエータであっても、押し当て制御を高速かつ高精度に行うことができ。そのため、上述の特許文献２に開示される構成とは異なり、装置の大型化および高コスト化を避けつつ、また、経時変化により制御の安定性を低下させるばねなどの要素も必要としない構成を実現できる。
【００５１】
＜Ｃ．制御システムの構成＞
次に、本実施の形態に係る制御方法を実現するための制御装置を含む制御システムの構成について説明する。図５は、本実施の形態に係る制御装置を含む制御システム１の構成を概略する模式図である。
【００５２】
図５を参照して、制御システム１は、アクチュエータ２に対する制御を主として担当する制御装置１００を含む。制御装置１００は、任意のコンピュータまたはハードウェアロジックなどを用いて実装すればよいが、以下の説明においては、典型的として、産業用コンピュータの一例であるＰＬＣ（プログラマブルコントローラ）を用いる場合について説明する。
【００５３】
制御装置１００は、演算処理ユニット１０２と、１または複数の機能ユニット１０４−１，１０４−２，１０４−３，１０４−４，…（以下、「機能ユニット１０４」とも総称する。）とを含む。
【００５４】
図６は、図５に示す制御装置１００の演算処理ユニット１０２の構成を概略する模式図である。図６を参照して、演算処理ユニット１０２においては、プロセッサ１１０がシステムプログラム１２２およびユーザプログラム１１６を実行することで、本実施の形態に係る制御方法を含む各種処理が提供される。
【００５５】
具体的には、演算処理ユニット１０２は、主たるコンポーネントとして、プロセッサ１１０と、主メモリ１１２と、二次記憶装置１１４と、バスマスタ回路１２４と、ローカルインターフェイス回路１２６と、ネットワークマスタ回路１２８とを含む。
【００５６】
プロセッサ１１０は、各種プログラムに記述された命令を順に実行する演算部であり、典型的には、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphical Processing Unit）などで構成される。プロセッサ１１０としては、マルチコアの構成、マルチプロセッサの構成、両者を併せた構成のいずれを採用してもよい。
【００５７】
主メモリ１１２は、プロセッサ１１０がプログラムを実行する際のワーク領域を提供する記憶装置である。主メモリ１１２としては、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）といった揮発性のメモリが用いられる。
【００５８】
二次記憶装置１１４は、プロセッサ１１０で実行される各種プログラムや各種コンフィギュレーションを格納する。二次記憶装置１１４としては、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの不揮発性のメモリが用いられる。より具体的には、二次記憶装置１１４には、システムプログラム１２２およびユーザプログラム１１６が格納される。システムプログラム１２２は、一種のオペレーティングシステムに相当するプログラムであり、演算処理ユニット１０２が提供する基本的なシステム上の機能、あるいは、ユーザプログラム１１６を実行させるための環境を提供する。ユーザプログラム１１６は、制御装置１００の制御対象に応じて任意に作成される一種の制御プログラムであり、典型的には、論理的な演算を主とするシーケンスプログラム１１８と、位置制御や速度制御などの数値的な演算を主とするモーションプログラム１２０とを含む。本実施の形態に係る制御方法は、モーションプログラム１２０の一部として実装されてもよい。
【００５９】
バスマスタ回路１２４は、機能ユニット１０４（図５参照）との間でデータを遣り取りする内部バス上のデータ伝送を管理する。
【００６０】
ローカルインターフェイス回路１２６は、サポート装置や他の外部装置との間でデータを遣り取りするインターフェイスであり、例えば、ＵＳＢ（Universal Serial Bus）などの伝送規格が採用される。
【００６１】
ネットワークマスタ回路１２８は、制御装置１００とは離れた位置に配置される機能ユニットや他の制御装置との間でデータを遣り取りするフィールドネットワーク上のデータ伝送を管理する。このようなフィールドネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などの定周期ネットワークが用いられる。
【００６２】
再度図５を参照して、演算処理ユニット１０２に接続される機能ユニット１０４は、制御装置１００による制御対象に対する任意の制御を実現するための各種機能を提供する。典型的には、機能ユニット１０４の各々は、制御対象である機械や設備などからフィールド情報を収集する機能（データ収集機能）、および／または、制御対象の機械や設備などに対する指令信号を出力する機能（データ出力機能）などを有する。
【００６３】
図５に示す構成においては、機能ユニット１０４−４がサーボ制御ユニットとして機能し、演算処理ユニット１０２でのプログラム（主として、図６に示すモーションプログラム１２０）を実行することで所定周期ごとに算出される指令値（典型的には、速度指令値または位置指令値）をサーボドライバ１４に与える。
【００６４】
サーボドライバ１４は、制御装置１００からの指令値に従ってモータ１０（図５に示す例では、サーボモータ）を駆動する。典型的には、サーボドライバ１４は、制御装置１００からの指令値に応じた数のパルスをモータ１０へ出力し、モータ１０は受信したパルス数に応じて回転位置を変化させる。このような構成を採用することで、モータ１０へ与えるパルス数を適宜調整することで、モータ１０の回転位置、回転角速度、回転角加速度などを制御することができる。
【００６５】
図５に示す構成においては、モータ１０の回転挙動をフィードバックするためのカウンタ１２が配置されており、サーボドライバ１４は、カウンタ１２からの検出値に基づいて、モータ１０へ与える電気信号を調整する。つまり、サーボドライバ１４は、速度または位置の実績値に基づくフィードバックループを有している。
【００６６】
また、押し当て制御により対象物に生じる荷重を測定するためのロードセル１６が設けられてもよい。ロードセル１６の検出値は、入力ユニットである機能ユニット１０４−３に与えられる。なお、ロードセル１６は、いわば検証用でありオプションである。また、現実にロードセル１６を配置する代わりに、オブザーバなどを用いて対象物に発生し得る荷重などを推定するようにしてもよい。
【００６７】
＜Ｄ．制御ループ＞
次に、本実施の形態に係る制御方法を実現するための制御ループの一例について説明する。図７は、本実施の形態に係る制御方法を実現するための制御ループの一例を概略する模式図である。図７には、上述の図４（Ｂ）に示す制御演算式に相当する制御ループを示す。
【００６８】
図７を参照して、本実施の形態に係る制御方法は、制御装置１００内に実装される制御ループと、サーボドライバ１４および周辺部位とにより実現される。具体的には、制御装置１００の制御ループは、係数演算器１５２，１５６，１６０，１６２と、加減算器１５４，１５８，１６４と、微分器１６８と、スイッチ１８０とを含む。
【００６９】
後述するように、本実施の形態に係る制御方法は、インピーダンス制御およびインピーダンス制御以外の制御方法を組み合わせることで実現される。２つまたはそれ以上の制御系の出力を切り替えるためにスイッチ１８０が設けられる。スイッチ１８０が選択可能な第１ポート１６６にはインピーダンス制御による速度指令値が現れており、第２ポート１７０には速度制御による速度指令値が現れている。
【００７０】
微分器１６８は、入力される位置目標値に対して時間微分して、速度目標値を出力する。
【００７１】
係数演算器１５２には、位置目標値ｘｄが順次与えられて、その大きさがｋｄ／ｄｄ倍されて出力される。加減算器１５４では、係数演算器１５２から出力される係数補正後の位置目標値ｘｄに対して、微分器１６８からの速度目標値が加算されるとともに、位置実績値が減算される。
【００７２】
係数演算器１５６には、加減算器１５４からの演算結果が順次与えられて、その大きさがｃｄ倍されて出力される。加減算器１５８では、係数演算器１５６から出力される係数補正後の加算結果に対して、速度実績値が加算される。
【００７３】
係数演算器１６０には、加減算器１５８からの演算結果が順次与えられて、その大きさがｍｄ−１倍されて出力される。さらに、係数演算器１６２には、係数演算器１６０からの演算結果が順次与えられて、演算周期Δｔが乗じられて出力される。
【００７４】
最終的に、加減算器１６４において、係数演算器１６２からの演算結果と、速度実績値（前回値）とが加算されて、速度指令値として第１ポート１６６へ出力される。
【００７５】
一方、第２ポート１７０には、入力される位置目標値が微分器１６８にて時間微分して得られる速度目標値が出力される。
【００７６】
なお、図７に示す、係数ｍｄ，ｋｄ，ｄｄ，ｃｄは、制御演算の便宜上導入されたものであり、図４に示す、マス係数ｍｄ、ばね係数Ｋｄ、ダンパ係数Ｃｄに対応する。
【００７７】
なお、図４（Ａ）に示すような、荷重実績値の項（マス項（荷重））を反映する場合には、ロードセル１６で検出される荷重実績値を反映する演算器をさらに追加すればよい。あるいは、現実にロードセル１６を配置する代わりに、オブザーバなどを用いて対象物に発生し得る荷重などを推定するようにしてもよい。
【００７８】
一方、スイッチ１８０で選択された速度指令値はサーボドライバ１４に与えられ、サーボドライバ１４がモータ１０を駆動するための電気信号を出力する。サーボドライバ１４には、カウンタ１２での検出値に基づく速度実績値がフィードバックされており、与えられた速度指令値に追従するようにモータ１０が駆動される。
【００７９】
なお、速度指令値は、インピーダンス制御に係る制御ループにフードバックされているが、サーボドライバ１４でもモータ１０の速度（または、位置）のフィードバックループを構成することで、アクチュエータで生じる摩擦の変動に対する補償をより高速に行うことができ、低荷重での押し当て制御をより高精度に実現できる。
【００８０】
なお、図７には、速度指令型の制御ループを示すが、位置指令型の制御ループについても同様に構成できる。
【００８１】
＜Ｅ．第１制御ロジック＞
本実施の形態に係る制御方法においては、上述したようなインピーダンス制御を採用することで、荷重の制御を高精度に行うことができる。インピーダンス制御は、制御対象が有する機械的な特性（すなわち、インピーダンス）を考慮して、アクチュエータ２を制御するため、荷重を高精度に調整できるが、従来の制御手法に比較して対象物に接近するのにより多くの時間を要する場合がある。
【００８２】
そのため、本実施の形態に係る制御方法の第１制御ロジックにおいては、インピーダンス制御以外の速度制御手法または位置制御手法に従って、移動部材を対象物に近付けた後に、インピーダンス制御に切り替える。
【００８３】
図８は、本実施の形態に係る制御方法の第１制御ロジックを説明するための模式図である。横軸には経過時間が定義され、縦軸には移動部材の位置および発生する荷重が定義される。
【００８４】
図８に示す例においては、予め定められた速度目標値、すなわち速度パターンに従ってモータ１０に対して指令値が与えられる（図８に示す「速度制御」）。そして、移動部材が対象物に接近すると（図８に示す例では、時刻Ａまで到達すると）、インピーダンス制御に切り替わる。
【００８５】
最初の速度制御においては、移動部材をなるべく短時間で対象物に接近させるために速度パターンがそのまま速度指令値として与えられる。このような速度パターンとしては、速度制御の制御中またはその後のインピーダンス制御への切り替わり時に残留振動が発生しないようなものが好ましい。例えば、目標の速度パターンの加加速度（ジャーク）が小さくなるような軌道（例えば、時間についての５次関数で定義できる）ものを採用してもよい。
【００８６】
なお、速度制御に代えて、予め定められた軌道、すなわち位置パターンを与える制御（位置制御）を採用してもよい。この場合には、各時間について移動部材が存在すべき位置が順次与えられて、その位置目標値に従ってモータ１０が駆動される。
【００８７】
このような速度制御または位置制御の後、インピーダンス制御へ切り替えられると、移動部材が対象物にほぼ速度ゼロで接触するように、モータ１０への速度指令値が順次算出される。移動部材が対象物に接触するタイミングにおいて、移動部材の移動速度がほぼゼロになるように、インピーダンス制御の各パラメータが調整されることになる。
【００８８】
移動部材が対象物に接触することで、対象物に対する荷重が発生することになる（図８の符号Ｚ１を参照）。図８に示す例では、移動部材が対象物に接触して速度がほぼゼロに維持されることで、予め想定した一定の荷重が維持されていることが分かる。
【００８９】
このように、本実施の形態に係る制御方法の第１制御ロジックにおいては、予め定められた速度または位置についてのパターンに従って移動部材についての指令値（速度指令値または位置指令値）を順次算出する第１制御ループと、予め定められた切り替え条件が成立すると、第１制御手段による指令値の算出に代わって、インピーダンス制御に対応する制御演算式に従って移動部材についての指令値（速度指令値または位置指令値）を順次算出する第２制御ループとが組み合わせられる。このような制御ロジックを採用することで、インピーダンス制御の前に速度制御または位置制御が実施されて、移動部材が対象物に接近するまでの時間を短縮することができ、両者が接触する前に、インピーダンス制御に切り替えることによって、移動部材から対象物に対して与えられる荷重を一定に維持することができる。
【００９０】
なお、図８に示す例では、第１制御ループでは、速度についてのパターン（速度目標値）に従って移動部材についての速度指令値が順次算出され、第２制御ループでは、インピーダンス制御に係る制御演算式に従って、速度実績値を用いて今回の速度指令値が算出される。
【００９１】
速度制御または位置制御からインピーダンス制御への切り替え条件（図８中の時刻Ａ）は、予め定められた速度パターンまたは位置パターンの終了、すなわち制御開始から予め定められた時間の到来に応じて行えばよい。すなわち、速度制御または位置制御とインピーダンス制御との切り替えタイミングは、時間に応じて定められる。あるいは、速度指令などに基づいて移動部材の位置を推定し、その推定した位置から算出される残距離に基づいて、切り替えタイミングを決定してもよい。
【００９２】
図９は、本実施の形態に係る制御方法の第１制御ロジックに係るフローチャートである。図９に示す各ステップは、典型的には、制御装置１００の演算処理ユニット１０２のプロセッサ１１０がユーザプログラム１１６を実行することで実現される。
【００９３】
図９を参照して、プロセッサ１１０は、速度制御（または位置制御）およびインピーダンス制御に必要なパラメータの読み込みなどのセットアップを行う（ステップＳ１００）。続いて、制御開始がトリガーされると（ステップＳ１０２においてＹＥＳ）、予め定められた目標の速度パターンに従って速度指令値を算出する（ステップＳ１０４）。この算出された速度指令値はサーボドライバ１４へ与えられる。
【００９４】
続いて、プロセッサ１１０は、速度制御からインピーダンス制御への切り替え条件が成立したか否かを判断する（ステップＳ１０６）。速度制御からインピーダンス制御への切り替え条件が成立していなければ（ステップＳ１０６においてＮＯ）、ステップＳ１０４以下の処理が繰返される。
【００９５】
速度制御からインピーダンス制御への切り替え条件が成立していれば（ステップＳ１０６においてＹＥＳ）、プロセッサ１１０は、インピーダンス制御に係る制御演算式に従って速度指令値を算出する（ステップＳ１０８）。この算出された速度指令値はサーボドライバ１４へ与えられる。
【００９６】
続いて、プロセッサ１１０は、制御終了条件が成立したか否かを判断する（ステップＳ１１０）。速度終了条件が成立していなければ（ステップＳ１１０においてＮＯ）、ステップＳ１０８以下の処理が繰返される。
【００９７】
一方、速度終了条件が成立していれば（ステップＳ１１０においてＹＥＳ）、一例の制御動作は終了する。
【００９８】
図１０は、本実施の形態に係る制御方法の第１制御ロジックに従う制御結果の一例を示すタイムチャートである。図１０には、移動部材を移動速度１．１ｍｍ／ｓで対象物に接触させ、両者の接触後、１５ｍｓで１５ｇｆの荷重を対象物に与える例を示す。図１０を参照して、移動部材と対象物との接触後において、発生する荷重はほぼリニアに上昇し、過剰なオーバーシュートもなく、目的の１５ｇｆで安定していることが分かる。
【００９９】
以上のとおり、本実施の形態の制御ロジック１によれば、押し当て制御を高速かつ高精度に行うことができることが分かる。
【０１００】
＜Ｆ．第２制御ロジック＞
上述の第１制御ロジックにおいては、速度制御または位置制御からインピーダンス制御へ切り替える構成について例示したが、インピーダンス制御をさらに細分化してもよい。
【０１０１】
より具体的には、インピーダンス制御の対象となる物理的な現象としては、移動部材が対象物へ接触する局面と、対象物に対して安定した荷重を与える局面とが存在する。そのため、移動部材が対象物へ接触する前から接触直後の期間と、移動部材が対象物へ接触した後の期間とのそれぞれについて、インピーダンス制御に用いるパラメータを異ならせてもよい。
【０１０２】
図１１は、本実施の形態に係る制御方法の第２制御ロジックを説明するための模式図である。横軸には経過時間が定義され、縦軸には移動部材の位置および発生する荷重が定義される。
【０１０３】
図１１に示す例においては、予め定められた速度目標値、すなわち速度パターンに従ってモータ１０に対して指令値が与えられる（図１１に示す「速度制御」）。そして、移動部材が対象物に接近すると（図１１に示す例では、時刻Ａまで到達すると）、インピーダンス制御１に切り替わる。このインピーダンス制御１においては、移動部材が対象物にほぼ速度ゼロで接触するように、パラメータが設定される。
【０１０４】
その後、移動部材が対象物に接触して、対象物に対する荷重が増加するようになると（図１１に示す例では、時刻Ｂまで到達すると）、インピーダンス制御１からインピーダンス制御２に切り替わる。このインピーダンス制御２においては、対象物に与えられる荷重の大きさについての変動が早期に収束して、安定した大きさの荷重が発生するようなパラメータが設定される。
【０１０５】
具体的な実装方法としては、インピーダンス制御１および２に応じた、係数ｍｄ，ｋｄ，ｄｄ，ｃｄのパラメータセットが予め用意されており、図７に示す制御ループにおいて、インピーダンス制御１からインピーダンス制御２への切り替え時に、そのパラメータセットが切り換えられる。
【０１０６】
第２制御ロジックにおいては、第１パラメータセットを設定したインピーダンス制御（インピーダンス制御１）に従って、移動部材が対象物に接触する時点を含む第１期間（図１１の時刻Ａ〜Ｂ）を制御し、続いて、第１パラメータセットとは異なる第２パラメータセットを設定したインピーダンス制御に従って、第１期間に引き続く第２期間（図１１の時刻Ｂ以降）を制御する。
【０１０７】
以上のように、制御対象の状況に応じて、インピーダンス制御に用いるパラメータを異ならせることで、押し当て制御の制御精度をより高めることができる。このように、本実施の形態の第２制御ロジックによれば、上述の第１制御ロジックに比較して、押し当て制御のさらなる高速化およびさらなる高精度化を実現できる。
【０１０８】
＜Ｇ．第３の制御ロジック＞
次に、移動部材と対象物との接触時に生じ得る荷重のピーク（オーバーシュート）を低減するための手法を含む制御ロジックについて説明する。
【０１０９】
上述の押し当て制御によれば、インピーダンス制御のパラメータを最適化することで、高速化および高精度化を実現できる。但し、装置構成によっては、移動部材が対象物と折衝した直後に荷重のピーク（オーバーシュート）が生じる場合がある。例えば、移動部材の先端がゴムなどで構成される場合には、荷重のピークはそれほど高くないが、金属で構成される場合には、大きな荷重のピークが生じる可能性がある。荷重のピークが大きいと、対象物が破損する可能性もある。
【０１１０】
図１２は、移動部材と対象物との接触によって荷重のピークが発生する現象を説明するための図である。図１２（Ａ）を参照して、移動部材と対象物との接触によって荷重のピークが発生する原因は、接触時の移動部材の速度が相対的に大きいことである。すなわち、移動部材がある速度状態で対象物に接触すると荷重のピークが発生する。このような原因を考慮すると、図１２（Ｂ）に示すように、移動部材と対象物との接触時の速度をほぼゼロにできれば、荷重のピークは発生ことになる。
【０１１１】
しかしながら、現実には、移動部材と対象物との接触時の速度がほぼゼロになるようにパラメータを調整することは容易ではない。特に、本実施の形態においては、インピーダンス制御を採用するので、複数のパラメータ（図４に示すマス係数ｍｄ、ダンパ係数Ｃｄ、ばね係数Ｋｄ／図７に示す係数ｍｄ，ｋｄ，ｄｄ，ｃｄ）を同時に調整する必要があり、調整作業に多くの工数を要してしまう。
【０１１２】
また、移動部材と対象物との接触時の速度をゼロにすることで、制御全体の実行に要する時間（タクトタイム）が大幅に延びてしまうことも好ましくない。
【０１１３】
そこで、インピーダンス制御に係るパラメータの調整工数を最適化するとともに、制御全体のタクトタイムの増加を抑制できるような手法を採用する。具体的には、あるパラメータに従うインピーダンス制御において何らかの荷重のピークが生じた場合に、その挙動の実績に基づいて、移動部材と対象物との接触時の移動速度を求め、その求めた移動速度を事前に補正する。すなわち、移動部材が対象物に接触する前に、移動部材についての速度指令値を算出するための目標値が予め取得された移動速度（補正量に相当）だけ減じられる。この事前の速度補正は、インピーダンス制御において実行されてもよいし、当該インピーダンス制御への切り替え前に実施される速度制御または位置制御において実行されてもよい。
【０１１４】
図１３は、本実施の形態に係る制御方法の第３の制御ロジックの概要を説明するための模式図である。図１３（Ａ）に示すように、あるパラメータに従うインピーダンス制御において加重のピークが発生しているとする。このような好ましくない状態の挙動を取得することで、そのときに移動部材と対象物との接触時における移動速度を取得できる。図１３（Ａ）に示す例では、接触時（加重が発生し始める時点）の移動部材の速度がＸであることが分かる。
【０１１５】
図１３（Ｂ）を参照して、図１３（Ａ）で得られた知見（接触時の移動部材の速度がＸであること）に基づいて、移動部材が対象物に接近する際の軌道を補正する。すなわち、インピーダンス制御中（または、それ以前の速度制御中または位置制御中）に、速度目標値を先の知見で取得された補正量Ｘだけ低減させる。速度目標値は、移動部材の速度指令値を算出するための基準となる値であり、この基準が予め取得された補正量Ｘだけ減じられる。
【０１１６】
インピーダンス制御において事前の速度補正が実施される場合には、インピーダンス制御に従う制御ループにおいて、速度指令値を算出するための目標値が補正される。このとき、速度指令値は補正後の目標値に対して滑らかに追従するため、補正量が相対的に大きな場合であっても、移動部材に残留振動が生じにくく、移動部材が対象物に接触しときに残留振動による意図しない大きな力が発生する可能性を低減できる。
【０１１７】
一方、速度制御または位置制御において事前の速度補正が実施される場合には、速度指令値は補正後の目標値にほぼ遅れなく追従することになる。このとき、目標値の補正を含む速度制御または位置制御に関するパラメータとインピーダンス制御に係るパラメータとの依存度合いを下げることができるので、パラメータの調整工数をより低減できる可能性がある。
【０１１８】
また、速度目標値を補正量Ｘだけ低減させるタイミングである、速度切替時刻Ｔｃは１つの調整可能なパラメータとなる。
【０１１９】
具体的な実装形態としては、図７に示す制御ループにおいて、微分器１６８の出力側に減算器を配置し、微分器１６８から出力される速度目標値に対して補正量Ｘを減じるようにしてもよい。このような実装形態にすれば、速度切替時刻Ｔｃと、インピーダンス制御とインピーダンス制御以外の制御方法（速度制御または位置制御）との切替時刻との関係に応じて、補正量Ｘを減じるタイミングをいずれの側にも任意に設定できる。
【０１２０】
速度切替時刻Ｔｃを遅めに設定すると、タクトタイムを短くするためには有利であるが、荷重のピークの抑制に対しては不利である。逆に、速度切替時刻Ｔｃを早めに設定すると、荷重のピークの抑制に対しては有利であるが、タクトタイムを短くするためには不利である。このような荷重ピークの抑制とタクトタイムの縮小という互いに相反する両方の目的を満足できるように、速度切替時刻Ｔｃが調整される。
【０１２１】
但し、速度切替時刻Ｔｃという１つのパラメータのみを調整すればよいので、パラメータ調整に係る工数が大幅に増大することはなく、合理的な工数でパラメータ調整を完了できる。
【０１２２】
第３の制御ロジックにおいては、インピーダンス制御に対応する制御演算式に従って移動部材についての速度指令値が順次算出される過程において、予め定められた条件が成立すると（例えば、速度切替時刻Ｔｃが到来すると）、予め取得された補正量Ｘだけ目標値（この例では、速度目標値）を減じる。このような構成を採用することで、補正量Ｘだけ目標値を減じる条件（例えば、速度切替時刻Ｔｃ）という１つのパラメータの調整で、荷重のピークの抑制およびタクトタイムの増大抑制についての調整を少ない工数で実現できる。
【０１２３】
補正量Ｘだけ目標値を減じる条件の一例として、インピーダンス制御の開始から予め定められた時間（速度切替時刻Ｔｃ）が経過したことを採用してもよい。次に、補正量Ｘだけ目標値を減じる条件の一例である速度切替時刻Ｔｃを決定する方法のいくつかについて説明する。
【０１２４】
（１）荷重ピークとタクトタイムとについての評価関数を用いる方法
荷重ピークとタクトタイムとについての評価関数を用いることで、速度切替時刻Ｔｃを最適化してもよい。例えば、以下のような評価値ｆを定義し、この評価値ｆが極小値をとる条件を探索してもよい。
【０１２５】
評価値ｆ＝重み係数１×タクトタイムの延長分＋重み係数２×荷重ピークの大きさ
このような評価値ｆを用いることで、荷重ピークおよびタクトタイムの両方を考慮した、速度切替時刻Ｔｃを決定できる。
【０１２６】
（２）タクトタイムについての評価関数を用いる方法
荷重ピークが予め定められた許容値を満足している範囲でタクトタイムの延長分を最小化する場合には、以下のような評価値ｆを用いてもよい。
【０１２７】
評価値ｆ＝重み係数１×タクトタイムの延長分
但し、荷重ピーク＜許容値
このような評価値ｆを用いることで、荷重ピークを許容値内に維持できる範囲で、タクトタイムを最も短くできる速度切替時刻Ｔｃを決定できる。
【０１２８】
（３）最適値の探索方法
上述したような評価値ｆの最適値を探索する方法としては、数学的に解を求める方法を採用してもよいが、複数の候補を予め設定し、これら複数の候補の間で最適なものを決定するようにしてもよい。
【０１２９】
例えば、インピーダンス制御が実行される区間（例えば、図１１の時刻Ａから時刻Ｂまでの区間）をＮ等分して候補点を設定し、時刻Ａに近い候補点より順次評価値ｆを算出していき、その算出された評価値ｆに基づいて、速度切替時刻Ｔｃを決定すればよい。
【０１３０】
あるいは、インピーダンス制御が実行される区間（例えば、図１１の時刻Ａから時刻Ｂまでの区間）をＮ等分して候補点を設定し、設定された候補点の中間点を初期値とし、荷重ピークが高すぎる場合には、より時刻Ａに近い候補点を選択し、逆に、荷重ピークが許容値以下になっている場合には、より時刻Ｂに近い候補点を選択するようにしてもよい。
【０１３１】
典型的には、上述のいずれかの方法に従って、複数の候補点のうち最適値となるものを探索すればよい。このように、補正量Ｘだけ目標値を減じる条件は、移動部材が対象物に接触した直後に発生する荷重のピークと、移動部材が対象物に接触して荷重を与える一連の処理に要する時間（タクトタイム）の長さとを考慮して決定されてもよい。
【０１３２】
なお、上述の説明においては、パラメータとして速度切替時刻Ｔｃを用いる場合について例示したが、移動部材の位置および／または速度の条件に応じて、速度目標値を補正量Ｘだけ低減させるようにしてもよい。すなわち、例えば、移動部材の位置が予め定められた速度切替位置に到達すると、および／または、移動部材の移動速度が予め定められた速度切替速度に到達すると、インピーダンス制御における速度目標値を補正量Ｘだけ低減させるようにしてもよい。
【０１３３】
図１４は、本実施の形態に係る制御方法の第３の制御ロジックに係るフローチャートである。図１４に示す各ステップは、典型的には、制御装置１００の演算処理ユニット１０２のプロセッサ１１０がユーザプログラム１１６を実行することで実現される。
【０１３４】
図１４を参照して、プロセッサ１１０は、速度制御（または位置制御）およびインピーダンス制御に必要なパラメータの読み込みなどのセットアップを行う（ステップＳ２００）。続いて、制御開始がトリガーされると（ステップＳ２０２においてＹＥＳ）、予め定められた目標の速度パターンに従って速度指令値を算出する（ステップＳ２０４）。この算出された速度指令値はサーボドライバ１４へ与えられる。
【０１３５】
続いて、プロセッサ１１０は、速度制御からインピーダンス制御への切り替え条件が成立したか否かを判断する（ステップＳ２０６）。速度制御からインピーダンス制御への切り替え条件が成立していなければ（ステップＳ２０６においてＮＯ）、ステップＳ２０４以下の処理が繰返される。
【０１３６】
速度制御からインピーダンス制御への切り替え条件が成立していれば（ステップＳ２０６においてＹＥＳ）、プロセッサ１１０は、インピーダンス制御に係る制御演算式に従って速度指令値を算出する（ステップＳ２０８）。この算出された速度指令値はサーボドライバ１４へ与えられる。
【０１３７】
続いて、プロセッサ１１０は、速度切替条件が成立したか否かを判断する（ステップＳ２１０）。速度切替条件は、上述したような、速度切替時刻Ｔｃなどを含む。速度切替条件が成立していなければ（ステップＳ２１０においてＮＯ）、ステップＳ２０８以下の処理が繰返される。
【０１３８】
一方、速度切替条件が成立していれば（ステップＳ２１０においてＹＥＳ）、プロセッサ１１０は、インピーダンス制御における速度目標値を補正量Ｘだけ低減させる（ステップＳ２１２）。そして、プロセッサ１１０は、インピーダンス制御に係る制御演算式に従って、低減後の速度目標値と連続するように速度指令値の算出を継続する（ステップＳ２１４）。
【０１３９】
続いて、プロセッサ１１０は、制御終了条件が成立したか否かを判断する（ステップＳ２１６）。制御終了条件が成立していなければ（ステップＳ２１６においてＮＯ）、ステップＳ２１４以下の処理が繰返される。
【０１４０】
一方、制御終了条件が成立していれば（ステップＳ２１６においてＹＥＳ）、一例の制御動作は終了する。
【０１４１】
図１５は、本実施の形態に係る制御方法の第３の制御ロジックに従う制御結果の一例を示すタイムチャートである。図１５（Ａ）には、速度制御とインピーダンス制御とを組み合わせた制御方法での測定結果の一例を示し、図１５（Ｂ）には、図１４（Ａ）に示す制御方法に加えて、インピーダンス制御において速度目標値を所定タイミングで補正する制御方法での測定結果の一例を示す。
【０１４２】
図１５には、移動部材を対象物に接触させ、両者の接触後、１００ｇｆの荷重を対象物に与える例を示す。
【０１４３】
図１５（Ａ）に示す測定結果においては、荷重のピークは１９５ｇｆであり、設定加重の１００ｇｆに対して９５ｇｆの過加重となっている。但し、バウンド（加重ピーク発生後の不足加重）は発生しておらず、その意味では適切な設定となっていることが分かる。これに対して、図１５（Ｂ）に示す測定結果においては、荷重のピークは１３５ｇｆまで低減されており、設定加重の１００ｇｆに対して３５ｇｆの過加重に抑制されている。また、バウンド（加重ピーク発生後の不足加重）は発生しておらず、図１５（Ａ）に示す測定結果に比較して、より好ましい設定となっていることが分かる。
【０１４４】
＜Ｈ．実装例＞
次に、本実施の形態に係る制御方法をユーザプログラム１１６上で実装する場合の構成例について説明する。
【０１４５】
図１６は、本実施の形態に係る制御方法の実行をユーザプログラム上で定義するためのファンクションブロックの一例を示す図である。図１７は、本実施の形態に係る制御方法に含まれるインピーダンス制御をユーザプログラム上で定義するためのファンクションブロックの一例を示す図である。本実施の形態に係る制御方法は、図１６に示すファンクションブロックと、図１７に示すファンクションブロックとを組み合わせることで、プログラム上で実装される。
【０１４６】
図１６に示すファンクションブロックは、既存の制御ループに組み入れられるような用途が想定されており、”ＰｒｅＶｅｌｏｃｉｔｙ”の入力ポートに既存の制御ループにおいて速度指令値が格納される変数が関連付けられ、本制御方法により補正された後の速度指令値が格納される変数が”ＰｒｅＶｅｌｏｃｉｔｙ”の出力ポートに関連付けられる。
【０１４７】
図１７に示すファンクションブロックは、図１６に示すファンクションブロックに入力された速度指令値に対して適用されるインピーダンス制御のパラメータなどを設定する。このファンクションブロックの各入力ポートに対して、目標値および必要なパラメータが設定される。
【０１４８】
図１６および図１７に示すようなファンクションブロックを採用することで、ユーザは、制御方法の具体的なアルゴリズムを理解しなくとも、目的の制御をユーザプログラム上で用いることができ、本制御方法の適用範囲を広げることができる。
【０１４９】
＜Ｉ．応用例＞
上述の説明においては、移動部材がボールねじの延伸方向に沿って移動するアクチュエータに対して、実施の形態に係る制御方法を提供する応用例について例示したが、これに限らず、部材間の距離および押し当て力（荷重）を制御するアクチュエータに適用できる。
【０１５０】
図１８は、本実施の形態に係る制御方法に用いられるアクチュエータの別の一例を示す模式図である。図１８を参照して、アクチュエータ２２は、基材２４に対して回転駆動するように配置された移動部材２８を含む。移動部材２８は、図示しないモータなどによって、回転駆動されて、対象物３０との間の相対距離を変化させるとともに、移動部材２８から対象物３０に対して荷重を与える。
【０１５１】
移動部材２８を何らかの部材を供給するレールなどとして構成することで、原料を供給するようなアプリケーションに適用できる。あるいは、移動部材２８の先端にプローブなどを配置することで、対象物３０を探傷する検査装置などとして用いることができる。
【０１５２】
あるいは、移動部材２８の先端に研磨部材などを配置することで、回転駆動する対象物３０の表面を研磨するための研磨装置として用いることもできる。
【０１５３】
このように、本実施の形態に係る制御方法は、図１に示すような直線運動する移動部材だけではなく、図１８に示すような回転運動する移動部材、あるいは、さらに別の任意の挙動を示す移動部材を含む構成に適用できる。
【０１５４】
＜Ｊ．利点＞
本実施の形態によれば、インピーダンス制御とインピーダンス制御以外の速度制御または位置制御とを組み合わせることで、高速かつ高精度な押し当て制御を実現できる。
【０１５５】
また、本実施の形態によれば、インピーダンス制御に用いるパラメータセットが、移動部材が対象物に接触する前後の区間と、それ以降の区間とでそれぞれ別々に用意されることで、各局面に適したインピーダンス制御を実現できる。
【０１５６】
また、本実施の形態によれば、インピーダンス制御に対して、ある条件が成立すると、予め取得された知見基づく補正量だけ目標値を補正することで、移動部材が対象物に接触したときに生じる荷重のピークを低減できるとともに、その荷重のピークを低減するためのパラメータ調整を容易化できる。さらに、荷重のピークの低減と、タクトタイムの適正化との両立を図ることもできる。
【０１５７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５８】
１  制御システム、２，２２  アクチュエータ、４  ハウジング、６  ボールねじ、８  ナット、１０  モータ、１２  カウンタ、１４  サーボドライバ、１６  ロードセル、２８  移動部材、２４  基材、３０  対象物、１００  制御装置、１０２  演算処理ユニット、１０４  機能ユニット、１１０  プロセッサ、１１２  主メモリ、１１４  二次記憶装置、１１６  ユーザプログラム、１１８  シーケンスプログラム、１２０  モーションプログラム、１２２  システムプログラム、１２４  バスマスタ回路、１２６  ローカルインターフェイス回路、１２８  ネットワークマスタ回路、１５２，１５６，１６０，１６２  係数演算器、１５４，１５８，１６４  加減算器、１６６  第１ポート、１６８  微分器、１７０  第２ポート、１８０  スイッチ。
【図１】
2018041391.tif 000003
【図２】
2018041391.tif 000004
【図３】
2018041391.tif 000005
【図４】
2018041391.tif 000006
【図５】
2018041391.tif 000007
【図６】
2018041391.tif 000008
【図７】
2018041391.tif 000009
【図８】
2018041391.tif 000010
【図９】
2018041391.tif 000011
【図１０】
2018041391.tif 000012
【図１１】
2018041391.tif 000013
【図１２】
2018041391.tif 000014
【図１３】
2018041391.tif 000015
【図１４】
2018041391.tif 000016
【図１５】
2018041391.tif 000017
【図１６】
2018041391.tif 000018
【図１７】
2018041391.tif 000019
【図１８】
2018041391.tif 000020