(57)【要約】【課題】摩擦力などを含む外力を精度よく推定できる構成が要望されている。【解決手段】運動体と当該運動体を駆動させる駆動源とを含む制御系を制御する制御装置が提供される。制御装置は、運動体を駆動させるために駆動源が発生しているトルクを示すトルク実績値、および、運動体の速度を示す速度実績値を取得する実績取得手段と、運動体の駆動に係る予め定められたモデルを示す演算式を用いて、トルク実績値に基づいて、制御系に生じる外力を示す外力推定値と当該外力推定値に対応する運動体の速度を示す速度推定値とを演算周期ごとに算出する推定手段と、推定手段が外力推定値を算出すると、併せて算出された速度推定値に基づいて外力推定値の信頼度を評価するとともに、所定の信頼度があると判断された場合に、当該外力推定値を有効に出力する出力手段とを含む。【選択図】図１１
2018055252.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）などの伝送規格が採用される。
【００３２】
ネットワークマスタ回路１２８は、制御装置１００とは離れた位置に配置される機能ユニットや他の制御装置との間でデータを遣り取りするフィールドネットワーク上のデータ伝送を管理する。このようなフィールドネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などの定周期ネットワークが用いられる。
【００３３】
再度図２を参照して、演算処理ユニット１０２に接続される機能ユニット１０４は、制御装置１００による制御対象に対する任意の制御を実現するための各種機能を提供する。典型的には、機能ユニット１０４の各々は、制御対象である機械や設備などからフィールド情報を収集する機能（データ収集機能）、および／または、制御対象の機械や設備などに対する指令信号を出力する機能（データ出力機能）などを有する。
【００３４】
図２に示す構成においては、機能ユニット１０４−４がサーボ制御ユニットとして機能し、演算処理ユニット１０２でのプログラム（主として、図３に示すモーションプログラム１２０）を実行することで所定周期ごとに算出される指令値（典型的には、速度指令値または位置指令値）をサーボドライバ１２に与える。
【００３５】
図１に示す駆動源１０に対応する構成として、図２には、サーボドライバ１２により駆動されるモータ１１が採用される構成を示す。サーボドライバ１２は、制御装置１００からの指令値に従ってモータ１１（図２に示す例では、サーボモータ）を駆動する。典型的には、サーボドライバ１２は、制御装置１００からの指令値に応じた数のパルスをモータ１１へ出力し、モータ１１は受信したパルス数に応じて回転位置を変化させる。このような構成を採用することで、モータ１１へ与えるパルス数を適宜調整することで、モータ１１の回転位置、回転速度、トルクなどを制御することができる。
【００３６】
サーボドライバ１２は、モータ１１の駆動に要する実際のトルクの大きさ（以下、「トルク実績値」とも称す。）を機能ユニット１０４−３へ入力する。また、モータ１１の回転挙動をフィードバックするためのカウンタ１４が配置されており、カウンタ１４により検出されるカウント値は機能ユニット１０４−２へ入力される。このカウント値から、モータ１１の現実の回転速度（以下、「速度実績値」とも称す。）またはモータ１１の回転位置または運動体である保持部４の位置が算出される。
【００３７】
制御装置１００は、運動体である対象物２を駆動させるために駆動源１０が発生しているトルクを示すトルク実績値を取得する手段として、サーボドライバ１２とのインターフェイスを有している。また、制御装置１００は、運動体である対象物２の速度を示す速度実績値を取得する手段として、カウンタ１４とのインターフェイスを有している。
【００３８】
本実施の形態に係る制御装置１００は、駆動源１０から得られるトルク実績値および速度実績値を用いて、制御系に生じる外力を算出する。算出された外力を用いて、加工装置１の動作状態や劣化状態の監視、消耗部品の交換タイミングの決定といった付加的な処理が実施される。
【００３９】
＜Ｃ．外力＞
本実施の形態に係る加工装置１が構成する制御系に生じる外力およびその外力の測定または算出について説明する。
【００４０】
（ｃ１：概要）
まず、図１に示す加工装置１において発生する外力について説明する。図４は、図１に示す加工装置１において先端部が摩耗した場合の影響を説明するための模式図である。
【００４１】
図４（ａ）に示すように、保持部４およびその先端に配置されたツール６が対象物２に対して相対移動することで、ツール６と対象物２との間に生じる摩擦力を反映した外力が、対象物２に対して与えられる。但し、先端部にあるツール６が摩耗して、ツール６と対象物２との間に生じる摩擦力が低下または実質的にゼロになってしまうと、対象物２に対して与えられる外力も低下または実質的にゼロになってしまう。
【００４２】
その結果、図４（ｂ）に示すように、対象物２に形成される刻印の溝が浅くなり、形成される刻印の視認性が低下する。そのため、図１に示すような加工装置１において、対象物２に対して与えられる外力を常時監視することが重要である。
【００４３】
（ｃ２：外力の算出）
上述したような外力を直接観測することはできないので、駆動源１０が保持部４を駆動する際に要するトルクや力などの大きさの絶対値または大きさの変化量などに基づいて、外力を算出することになる。このような外力の算出に関して、本願発明者らによる測定結果の一例を示す。図５は、外力を評価するための試験装置の概要を示す模式図である。図６は、図５に示す試験装置において測定された速度実績値およびトルク実績値の時間変化の一例を示すグラフである。
【００４４】
図５に示す試験装置２０においては、レール２２に沿って移動可能に配置された運動体２４を往復運動させることで、運動体２４の先端に配置されている鉛筆２６を研磨板２８上で摩耗させる。図６には、運動体２４を往復運動させる駆動源（図示しないリニアモータおよびサーボドライバなど）において測定された運動体２４の速度（図６（ａ）に示す速度）および運動体２４を駆動するために必要なトルク（図６（ｂ）に示すトルク）の大きさの時間的変化を示す。
【００４５】
現実には、鉛筆２６の先端が順次摩耗するので、鉛筆２６の移動により研磨板２８に対して発生している外力は時間の経過に伴って減少することになるが、図６（ａ）および図６（ｂ）に示す速度およびトルクの時間的変化だけでは、そのような外力の時間的変化を算出することはできない。
【００４６】
（ｃ３：外力の論理的検討）
次に、図１に示すような加工装置１において外力の算出が難しい理由について説明する。
【００４７】
図４（ａ）に示すような運動体である保持部４およびツール６に生じる運動方程式は、以下に示す（１）式のようになる。
【００４８】
Ｍｘ’’＋Ｄｘ’＝Ｆ−ｄ  …（１）
但し、
ｘ：運動体の位置
ｘ’：運動体の速度
ｘ’’：運動体の加速度
Ｍ：装置のマス係数
Ｄ：装置の粘性抵抗
Ｆ：モータ１１のトルク実績値（モータ１１による並進力）
ｄ：外力（摩耗度合依存）とクーロン摩擦との合計（Ｃｓｉｇｎ（ｘ’））
（１）式を式変形して、外力（摩耗度合依存）についての式を導出すると、以下に示す（２）式のようになる。
【００４９】
外力（摩耗度合依存）＝Ｆ−Ｃｓｉｇｎ（ｘ’）−（Ｍｘ’’＋Ｄｘ’）  …（２）
但し、ｓｉｇｎ（）は符号関数
（２）式において、Ｃｓｉｇｎ（ｘ’）の項は固定要素であり、（Ｍｘ’’＋Ｄｘ’）の項は変動要素である。対象の制御系が同一の動作を繰り返し実施するものである場合には、１周期あたりの変動要素の変化度合は各周期の間で同一であるため、ある周期におけるモータ１１のトルク実績値Ｆ（モータ１１による並進力に相当）と対象の周期におけるトルク実績値とを比較することで、変動要素を互いに打消しあうことができ、変動要素に影響を受けることなく、目的の外力（摩耗度合依存）の変化度合を取得できる。
【００５０】
一方、対象の制御系が同一の動作を繰り返し実施するものでなければ、他の周期において取得された実績値を用いて変動要素を打消すことができないので、トルク実績値と外力（摩耗度合依存）との関係は、変動要素の影響を受けることになる。これは、トルク実績値だけでは、外力（摩耗度合依存）を算出することができないことを意味する。
【００５１】
この結果、上述の図６（ａ）に示すように、運動体の速度に規則性がない場合には、トルク実績値についても規則性がなく、その結果、外力を適切に算出することはできない。
【００５２】
＜Ｄ．外乱オブザーバによる外力の推定＞
（ｄ１：外乱オブザーバの導入）
上述したような課題に対して、本実施の形態に係る制御方法においては、外乱オブザーバを導入することにより、発生する外力を推定する。図７は、本実施の形態に係る制御方法において採用する外乱オブザーバ２００の概略構成を示すブロック図である。
【００５３】
オブザーバにおいては、外部から観測できない状態変数を推定するために、観測対象を示す数値モデルが用意される。観測対象に入力される観測可能な状態変数を当該数値モデルに入力するとともに、その数値モデルからの出力が観測対象から出力される観測可能な状態変数と一致するように収束計算することで、観測対象の観測できない状態変数を、当該数値モデルで用いられる対応する状態変数の値を用いて推定する。
【００５４】
図７に示す外乱オブザーバ２００においては、対象の加工装置１の装置を模擬した装置モデル２１０は、数値モデルであり、運動体（図１に示す例では、保持部４）の駆動に係る予め定められたモデルを示す演算式に相当する。この数値モデルにおいて、実績値（観測値）としては、速度実績値ｙおよびトルク実績値Ｆが用いられる。装置モデル２１０内部での演算に用いられる外力を示す状態変数が外力推定値ｄとして出力される。
【００５５】
ここで、装置モデル２１０の具体的な演算式について説明する。上述の（１）式は、以下の（３）式に示すような状態方程式として表すことができる。
【００５６】
【数１】
2018055252.tif 000003
【００５７】
上記状態方程式を同一次元オブザーバの式に代入し、さらに、オイラー近似を用いて各演算周期における速度推定値および外力推定値を算出する演算式として展開すると、（３）式は以下の（４）式のような漸化式として表すことができる。
【００５８】
【数２】
2018055252.tif 000004
但し、Δｔは演算周期を示す。
【００５９】
上述の（４）式中の状態変数であるｄが外力推定値として演算周期ごとに算出されることになる。（４）式の演算周期Δｔが乗じられるカッコ内の第１項は、装置のマス係数Ｍおよび粘性抵抗Ｄに関する項である。すなわち、（４）式に示される演算式は、運動体のマス係数Ｍおよび運動体の粘性抵抗Ｄをパラメータとして含む。第２項は、モータ１１が与える並進力（トルクのトルク実績値Ｆ）に関する項である。第３項は、速度実績値と速度推定値との誤差に基づいて収束させるための項である。第３項に係る行列［Ｇ１，Ｇ２］は、速度推定値が速度実績値と一致するように、（４）式を収束させるための収束パラメータを示し、安定性および収束性からその値が決定される。
【００６０】
収束パラメータの決定方法の一例としては、アッカーマンの極配置法などを用いることができる。典型的には、（４）式の収束過程において、臨界減衰となるように収束パラメータが決定される。このような収束パラメータの決定方法は公知であるので、ここでは詳細な説明は行わない。
【００６１】
上述の（４）式に示すように、外乱オブザーバ２００では、トルク実績値Ｆに基づいて、制御系に生じる外力を示す外力推定値ｄと外力推定値ｄに対応する運動体の速度を示す速度推定値とが演算周期Δｔごとに算出される。ここで、（４）式に示す演算式には、速度実績値と速度推定値とを一致させるように、速度推定値および外力推定値を更新する項（すなわち、演算周期Δｔが乗じられるカッコ内の第３項）を含むことになる。
【００６２】
（ｄ２：外乱オブザーバおよびノイズ除去フィルタ）
次に、上述したような外乱オブザーバを用いることで、制御系に生じる外力を推定することができる。
【００６３】
図８は、図６に示す速度実績値およびトルク実績値から算出される外力推定値の時間変化の一例を示すグラフである。図８（ａ）および図８（ｂ）には、図６（ａ）に示す速度実績値および図６（ｂ）に示すトルク実績値をそれぞれ示す。これらの実績値から上述の（４）式に示す演算式に従って算出される外力推定値の時間変化を図８（ｃ）に示す。
【００６４】
図８（ｃ）に示す外力推定値は、上述の（４）式に示す演算式に従って演算周期ごとに算出される外力推定値に対してノイズ除去フィルタをかけた結果を示す。適切なノイズ除去フィルタを適用することで、制御系に生じる外力が時間の経過とともに低下していることが分かる。この時間の経過に伴う外力の低下は、図５に示す試験装置において生じる現象と十分に対応しており、外乱オブザーバと最適なノイズ除去フィルタとの組合せを用いることで、制御系に生じる外力を精度よく推定できることが分かる。
【００６５】
（ｄ３：外乱オブザーバおよび出力制限機能）
上述の図８（ｃ）に示すような外力推定値の時間変化を取得するためには、ノイズ除去フィルタの設定を最適化する必要がある。しかしながら、ノイズ除去フィルタの設定には、技術知識および経験が必要であり、ノイズ成分を適切に除去できない場合には、外力推定値を適切に得ることができない。
【００６６】
図９は、（４）式に示す演算式に従って演算周期ごとに算出される外力推定値の時間変化の一例を示す図である。図９に示すように、演算周期ごとに算出される外力推定値にはノイズ成分が多く含まれており、その結果、制御系に生じる外力の時間的変化を一見して把握することが難しい場合もある。図９に示す時間変化をよく見れば、時間の経過とともに外力が低下している傾向は見えるが、一見して把握することは容易ではない。
【００６７】
これは、外乱オブザーバから出力される推定値が常に高い信頼度を有しているわけではないことが理由である。すなわち、上述の（４）式に示す演算式には、速度実績値と速度推定値との誤差に応じて推定値を補正することで、計算を収束させるが、この収束過程においては、速度実績値と速度推定値との差が大きく、信頼度が高くはない区間が存在し得る。そこで、このような本願発明者らの知見に基づいて、外乱オブザーバ２００から外力推定値を出力する際に、その外力推定値の信頼度を評価し、信頼度が所定値を超えている場合に限って、算出された外力推定値を有効に出力する機能を採用する。
【００６８】
本実施の形態に係る制御方法においては、外乱オブザーバ２００において外力推定値を算出する演算過程で得られる値に基づいて信頼度を評価し、その信頼度を示す値が所定値以下であれば、外力推定値をゼロ出力する。このような出力制限機能を外乱オブザーバに組み合わせることで、信頼度の低い外力推定値を除外して、外力推定値を適切に評価することができる。
【００６９】
このように出力制限機能は、外乱オブザーバ２００にて外力推定値が算出されると、併せて算出された速度推定値に基づいて外力推定値の信頼度を評価するとともに、所定の信頼度があると判断された場合に、当該外力推定値を有効に出力する。
【００７０】
図１０は、（４）式に示す演算式に出力制限機能を付加した場合に得られる外力推定値の一例を出力制限機能が存在しない場合と比較して示す図である。図１０（ａ）には、図９（ａ）に示す外力推定値の時間波形を示し、図９（ｂ）には、出力制限機能を適用した場合の外力推定値の時間波形を示す。
【００７１】
図１０（ａ）と図１０（ｂ）とを比較すると分かるように、本実施の形態に係る出力制限機能を適用することで、信頼度の低い、すなわちノイズ成分となる外力推定値を除外することができており、これによって出力される外力推定値の時間的変化などをより容易に把握することができる。
【００７２】
図１１は、本実施の形態に係る出力制限機能を適用した外乱オブザーバでの演算処理を示すブロック図である。図１１を参照して、外乱オブザーバ２００は、マス・粘性抵抗演算ブロック２２０を含む。マス・粘性抵抗演算ブロック２２０では、上述の（４）式の演算周期Δｔが乗じられるカッコ内の第１項に相当する演算が実行される。マス・粘性抵抗演算ブロック２２０には、前回の演算周期における速度推定値および外力推定値の値がそれぞれ入力される。マス・粘性抵抗演算ブロック２２０は、速度推定値に関する値および外力推定値に関する値が出力される。
【００７３】
マス・粘性抵抗演算ブロック２２０からの速度推定値に関する値には、係数ブロック２２４にてトルク実績値Ｆに「１／Ｍ」を乗じて得られた値が、加算器２２２にて加算される。さらに、係数ブロック２３４にて速度実績値と速度推定値との差分に「Ｇ１」を乗じて得られた値が、加算器２３２にて加算される。加算器２３２における加算結果に対して乗算器２３６にて演算周期Δｔが乗じられて、最終的に、前回の演算周期における速度推定値が加算されて、今回の速度推定値として出力される。
【００７４】
一方、マス・粘性抵抗演算ブロック２２０からの外力推定値に関する値には、係数ブロック２４４にて速度実績値と速度推定値との差分に「Ｇ２」を乗じて得られた値が、加算器２４２にて加算される。加算器２４２における加算結果に対して乗算器２４６にて演算周期Δｔが乗じられて、最終的に、前回の演算周期における外力推定値が加算されて、今回の外力推定値として出力される。
【００７５】
最終的な速度推定値および外力推定値は、演算周期に対応する遅延を与える遅延ブロック２５２および２５４に入力されて、次回の演算周期において用いられる。すなわち、上述した説明における前回の速度推定値および外力推定値は、遅延ブロック２５２および２５４からの出力が用いられる。
【００７６】
また、速度実績値と速度推定値との差分は、差分ブロック２５０において速度実績値と速度推定値との間で差分演算を行うことで算出される。
【００７７】
図１１に示す外乱オブザーバ２００では、内部状態値であるｄｎ＋１が外力推定値として出力される過程において、スイッチブロック２６０が配置される。スイッチブロック２６０は、算出される内部状態値ｄｎ＋１と「０」とを選択可能になっている。より具体的には、スイッチブロック２６０は、速度実績値と速度推定値との差分が予め定められたしきい値Ｔｈより小さい場合に、外乱オブザーバ２００にて算出されたｄｎ＋１を外力推定値として出力し、そうでなければ、「０」を外力推定値として出力する。速度実績値と速度推定値との差分は、差分ブロック２６２において速度実績値と速度推定値との間で差分演算を行うことで算出される。
【００７８】
つまり、外乱オブザーバ２００から出力される外力推定値は、速度実績値と速度推定値との間の差がゼロに近ければ、推定精度が高い値と判断できるが、差がゼロから離なれていれば、推定精度が悪いと判断できる。本実施の形態に係る出力制限機能を適用した外乱オブザーバ２００では、速度実績値と速度推定値との間の差分の逆数を、信頼度を示す値とみなす。信頼度が所定のしきい値以下であれば、そのときに算出された外乱推定値は信頼度が高くないので、有効な値として出力せずに、例えば、「０」を出力する。このように、本実施の形態に係る出力制限機能は、速度推定値と対応する速度実績値との間の差が予め定められた値より小さければ、所定の信頼度があると判断する。そして、出力制限機能は、所定の信頼度がないと判断された場合に、外力推定値として「０」を出力する。
【００７９】
より具体的な処理としては、信頼度を示す値、すなわち速度実績値と速度推定値との間の差分の逆数を評価してもよいし、図１１に示すように、信頼度を示す値の逆数、すなわち、速度実績値と速度推定値との間の差分そのものを評価してもよい。速度実績値と速度推定値との間の差分を評価する場合には、その差分の大きさが所定のしきい値Ｔｈ未満であることを十分な信頼度があるとみなすことができる。
【００８０】
このような出力制限機能を提供することで、図１０（ｂ）に示すような外力推定値の時間波形を得ることができる。
【００８１】
なお、図１１には、外乱オブザーバ２００から出力される外力推定値ｄｎ＋１と「０」とを選択的に出力する場合を例示するが、これに限らず、有効な外力推定値と無効な外力推定値とを区別できる出力形態を採用すればよい。例えば、信頼度が高いと判断された場合には、今回の演算周期にて算出された外力推定値を出力し、そうでなければ、前回出力された外力推定値をそのまま出力する、すなわち外力推定値を変化させないようにしてもよい。つまり、出力制限機能は、所定の信頼度がないと判断された場合に、前回出力した外力推定値の出力値を維持するようにしてもよい。
【００８２】
しきい値Ｔｈについては、ユーザが任意に設定してもよいし、あるいは、外乱オブザーバ２００の設定などに依存させて動的に決定するようにしてもよい。例えば、収束パラメータ［Ｇ１，Ｇ２］は、外乱オブザーバ２００の収束演算にあたっての安定性および収束性を決定するものであり、収束パラメータの値は、速度推定値に生じるオーバシュートなどを規定することになるので、収束パラメータの値に応じてしきい値Ｔｈの大きさを規定してもよい。
【００８３】
＜Ｅ．処理手順＞
次に、本実施の形態に係る制御方法に含まれる外力推定処理について説明する。
【００８４】
図１２は、本実施の形態に係る制御方法に含まれる外力推定処理の処理手順を示すフローチャートである。図１２に示す各ステップは、典型的には、制御装置１００の演算処理ユニット１０２のプロセッサ１１０がシステムプログラム１２２およびユーザプログラム１１６を実行することで実現される。
【００８５】
図１２を参照して、プロセッサ１１０は、外力推定処理に必要なパラメータの読み込みなどのセットアップを行う（ステップＳ１００）。併せて、プロセッサ１１０は、前回の速度推定値および前回の外力推定値としてそれぞれ所定の初期値（典型的には、いずれもゼロ）を設定する（ステップＳ１０２）。
【００８６】
続いて、推定処理の開始がトリガーされると（ステップＳ１０４においてＹＥＳ）、プロセッサ１１０は、運動体を駆動させるために駆動源１０が発生しているトルクを示すトルク実績値、および、運動体の速度を示す速度実績値を取得する（ステップＳ１０６）。そして、プロセッサ１１０は、前回の速度推定値および外力推定値を用いて、今回の速度推定値および外力推定値を算出する（ステップＳ１０８）。つまり、プロセッサ１１０は、運動体の駆動に係る予め定められたモデルを示す演算式を用いて、トルク実績値に基づいて、制御系に生じる外力を示す外力推定値と当該外力推定値に対応する運動体の速度を示す速度推定値とを演算周期ごとに算出する。
【００８７】
そして、プロセッサ１１０は、速度実績値と算出された今回の速度推定値との差分が予め定められたしきい値より小さいか否かを判断する（ステップＳ１１０）。速度実績値と算出された今回の速度推定値との差分が予め定められたしきい値より小さければ（ステップＳ１１０においてＹＥＳ）、プロセッサ１１０は、ステップＳ１０８において算出された外力推定値をそのまま出力する（ステップＳ１１２）。これに対して、速度実績値と算出された今回の速度推定値との差分が予め定められたしきい値より小さければ（ステップＳ１１０においてＹＥＳ）、プロセッサ１１０は、外力推定値として「０」を出力する（ステップＳ１１４）。
【００８８】
ステップＳ１１０〜Ｓ１１４において、プロセッサ１１０は、外力推定値が算出されると、併せて算出された速度推定値に基づいて外力推定値の信頼度を評価するとともに、所定の信頼度があると判断された場合に、当該外力推定値を有効に出力する。
【００８９】
プロセッサ１１０は、推定処理の終了が指示されたか否かを判断する（ステップＳ１１６）。推定処理の終了が指示されていなければ（ステップＳ１１６においてＮＯ）、プロセッサ１１０は、ステップＳ１０８において算出された速度推定値および外力推定値を、前回の速度推定値および前回の外力推定値に設定し（ステップＳ１１８）、ステップＳ１０６以下の処理を繰返す。
【００９０】
推定処理の終了が指示されていれば（ステップＳ１１６においてＹＥＳ）、処理は終了する。
【００９１】
＜Ｆ．実装例＞
次に、本実施の形態に係る制御方法に含まれる外力推定処理をユーザプログラム１１６上で実装する場合の構成例について説明する。
【００９２】
図１３は、本実施の形態に係る制御方法の実行をユーザプログラム上で定義するためのファンクションブロックの一例を示す図である。図１３に示すファンクションブロックにおいては、対象となるサーボドライバ１２およびモータ１１（対象軸）が関連付けられるとともに、外乱オブザーバ２００を構成するために必要なパラメータが設定される。具体的には、マス係数Ｍ、粘性抵抗Ｄ、収束パラメータ、演算周期、信頼度しきい値（図１１に示すしきい値Ｔｈ）などがファンクションブロックに入力される。
【００９３】
なお、収束パラメータとしては、（４）式に示す収束パラメータＧ１，Ｇ２が直接指定されるのではなく、アッカーマンの極配置法によって重根との条件下で決定される極（Pole）の値が入力されてもよい。
【００９４】
図１３に示すファンクションブロックに入力される定格トルクおよびピッチは、対象となるサーボドライバ１２およびモータ１１の設定値である。
【００９５】
図１３に示すファンクションブロックからは、（４）式に従って演算周期ごとに算出されるそのままの外力推定値と、上述の出力制限機能によって選択的に出力される外力推定値（信頼度反映）とが出力される。併せて、図１３に示すファンクションブロックからは、オブザーバに従う外力推定値の算出処理を実行中であるか否かを示す実行中フラグを利用可能になっていてもよい。
【００９６】
図１３に示すようなファンクションブロックを採用することで、ユーザは、外力推定処理の具体的なアルゴリズムを理解しなくとも、外力推定値をユーザプログラム上で用いることができ、ツール６の交換時期を判断するなどの付加的な処理を容易に実装することができる。
【００９７】
＜Ｇ．統計処理＞
上述したような応用例において外力を推定するのは、消耗品であるツールなどの交換時期を決定するといった目的がある。このような交換時期を決定するような用途においては、図１０（ｂ）に示すような時間波形だけではなく、時間波形に対して統計処理を行った結果を利用してもよい。
【００９８】
一例として、図１０（ｂ）に示すような外力推定値の時間波形に対して、予め定められた長さの評価期間をそれぞれ設定し、各評価期間の分布を算出してもよい。具体的には、（１）評価対象となる複数の時間期間を設定する、（２）各時間期間で生じる外力推定値を統計処理する、といった手順をとる。
【００９９】
図１４は、図１０（ａ）および図１０（ｂ）に対する統計処理の結果の一例である。図１４（ａ）には、オブザーバから出力される外力推定値（図１０（ａ）参照）をそのまま利用した場合の統計結果の一例を示し、図１４（ｂ）には、オブザーバから出力される外力推定値に対して出力制限機能を適用した結果（図１０（ｂ）参照）を利用した場合の統計結果の一例を示す。
【０１００】
図１４には、評価期間１（時刻ｔ１〜時刻ｔ２）、評価期間２（時刻ｔ２〜時刻ｔ３）、評価期間３（時刻ｔ２〜時刻ｔ３）のそれぞれについて算出した外力推定値の発生確率の分布を示す。
【０１０１】
図１４に示すような統計処理の結果を生成および出力する機能は、制御装置１００によって提供されてもよいし、制御装置１００から外力推定値を取得して各種処理を実行する外部の情報処理装置によって提供されてもよい。制御装置１００によって提供される場合には、例えば、ユーザプログラム１１６（図３）に含まれる機能モジュールなどとして実装することができる。
【０１０２】
この場合、ユーザプログラム１１６に含まれる機能モジュールとしては、所定期間にわたる外力推定値に対して、当該所定期間を複数の期間に分割するとともに、各分割された期間における外力推定値の発生確率の分布を出力する統計機能を含むことになる。なお、統計対象となる期間の長さなどについては、ユーザが任意に設定することができるようにしてもよいし、自動的に分割して設定できるようにしてもよい。
【０１０３】
このような統計分布を、切削用のツールの交換基準を明確化するための手段として用いることができる。例えば、外力推定値に対して何らかの交換しきい値を設定し、発生している外力がその交換しきい値以下になったらツールを交換するといったルールを設定したとする。ここで、交換しきい値は、ある作業者のノウハウや経験などによって適宜設定される。
【０１０４】
このようなルールを設定した作業者は、感覚的にツールを交換すべきタイミングが分かるが、経験の少ない作業者は感覚的にツールを交換すべきタイミングを知ることはできず、実際に出力される外力推定値に頼ることになる。図１４（ａ）に示す例では、分布の広がりが大きいので、いずれの評価期間、すなわち経過時間においてツールを交換すべきかを明確に知ることはできない。これに対して、本実施の形態に係る出力制限機能を適用した場合には、外力推定値の発生分布が狭く、いずれの大きさの外力推定値にピークが存在するのかについて、一見して把握できる。すなわち、評価期間１（時刻ｔ１〜時刻ｔ２）においては交換しきい値以上の外力が発生しているが、評価期間２（時刻ｔ２〜時刻ｔ３）まで経過すると、発生する外力は交換しきい値を以下になっていることが意見して把握できる。そのため、経験の少ない作業者であっても、評価期間２（時刻ｔ２〜時刻ｔ３）においてツールを交換すべきであると容易に判断できる。
【０１０５】
以上のように、演算周期ごとに出力される外力推定値に対して、発生している値についての分布などを用いることで、ツールの摩耗により発生する外力の低減をより容易に把握することができ、ツールの交換タイミングなどを作業者に依存することなく、予め定められたルール化で運用することができる。
【０１０６】
＜Ｈ．応用例・変形例＞
上述の実施の形態においては、図１に示すような刻印器に類似した加工装置への適用を前提として処理および機能を説明したが、このような加工装置に限られず、任意のシステムにも適用可能である。この場合、適用対象のシステムに応じて、観測対象を示す数値モデルを適宜選択または設計すればよい。
【０１０７】
図１に示すような加工装置以外の応用例として、例えば、ワークなどを持ち上げて、別の場所に搬送する装置（以下、「ピック・プレイス装置」とも称す。）が挙げられる。
【０１０８】
図１５は、ピック・プレイス装置の概要を示す模式図である。図１５を参照して、移載装置３４は、２つ以上のアーム３６を有しており、これらのアーム３６をワーク３２に押し当てることで摩擦力を発生させ、ワーク３２を持ち上げて、目的の場所まで搬送する。このような移載装置３４の課題として、搬送中にワーク３２の落下や、ワーク３２をうまく掴むことができないといったことが挙げられる。
【０１０９】
監視カメラなどを用いてこのような異常動作の発生有無を判断することが一般的である。この理由としては、移載装置３４においては、ワーク３２を把持（ピック）する位置およびワーク３２をプレイスする位置が毎回異なっており、実質的に同一の挙動であっても、搬送パターンの間には多少の相違が生じ得る。
【０１１０】
つまり、規範トルクモデルのようなものを用意できないので、ワーク３２をうまく掴めているのかを判断することは容易ではない。移載装置３４のアーム３６をワーク３２に押し当てて摩擦力を発生させる構成については、上述の図１に示す加工装置と類似している。つまり、搬送パターンが毎回異なっていても、移載装置３４の装置構成自体には変化がないので、上述したような外乱オブザーバを用いることで、ワーク３２とアーム３６との間に生じる摩擦力などを順次推定することで、移載装置３４によるワーク３２のピックミスやプレイスミスの防止または劣化傾向の監視などを行うことができる。
【０１１１】
同様に、無人搬送車両などを含むシステムについても、本実施の形態に係る各種状態値の推定方法を提供することができる。
【０１１２】
＜Ｉ．利点＞
本実施の形態によれば、対象装置をモデル化さえできれば、直接観測できない状態値を高精度に推定することができる。そのため、処理ごとに挙動や動作などが微妙に異なるようなアプリケーションであっても、装置の劣化や異常などを高い確度で検出することができる。すなわち、本実施の形態によれば、対象の装置やシステムが有する特性が変化したことを高い精度で検出することができ、これによって、より高精度な監視や異常検知等の処理を提供することができる。
【０１１３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１４】
１  加工装置、２  対象物、４  保持部、６  ツール、８  刻印、１０  駆動源、１１  モータ、１２  サーボドライバ、１４  カウンタ、２０  試験装置、２２  レール、２４  運動体、２６  鉛筆、２８  研磨板、３２  ワーク、３４  移載装置、３６  アーム、１００  制御装置、１０２  演算処理ユニット、１０４  機能ユニット、１１０  プロセッサ、１１２  主メモリ、１１４  二次記憶装置、１１６  ユーザプログラム、１１８  シーケンスプログラム、１２０  モーションプログラム、１２２  システムプログラム、１２４  バスマスタ回路、１２６  ローカルインターフェイス回路、１２８  ネットワークマスタ回路、２００  外乱オブザーバ、２１０  装置モデル、２２０  粘性抵抗演算ブロック、２２２，２３２，２４２  加算器、２２４，２３４，２４４  係数ブロック、２３６，２４６  乗算器、２５０，２６２  差分ブロック、２５２  遅延ブロック、２６０  スイッチブロック。
【図１】
2018055252.tif 000005
【図２】
2018055252.tif 000006
【図３】
2018055252.tif 000007
【図４】
2018055252.tif 000008
【図５】
2018055252.tif 000009
【図６】
2018055252.tif 000010
【図７】
2018055252.tif 000011
【図８】
2018055252.tif 000012
【図９】
2018055252.tif 000013
【図１０】
2018055252.tif 000014
【図１１】
2018055252.tif 000015
【図１２】
2018055252.tif 000016
【図１３】
2018055252.tif 000017
【図１４】
2018055252.tif 000018
【図１５】
2018055252.tif 000019