(58)【調査した分野】(Int.Cl.,DB名)
前記出力手段は、前記速度推定値と対応する前記速度実績値との間の差が予め定められた値より小さければ、所定の信頼度があると判断する、請求項1に記載の制御装置。
前記出力手段により出力される所定期間にわたる外力推定値に対して、当該所定期間を複数の期間に分割するとともに、各分割された期間における外力推定値の発生確率の分布を出力する統計手段をさらに備える、請求項1〜5のいずれか1項に記載の制御装置。
【発明を実施するための形態】
【0018】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0019】
<A.加工装置の構成例>
まず、本実施の形態に係る加工装置の一例について説明する。
図1は、本実施の形態に係る加工装置1の一例を示す模式図である。一例として、
図1に示す加工装置1は、刻印器に類似した構成を有している。
【0020】
図1を参照して、加工装置1は、文字が形成される対象となる対象物2と、保持部4とを含む。保持部4の先端には切削用のツール6が装着されており、保持部4から対象物2に対して押し当て力が与えられつつ、対象物2と保持部4との間の相対位置を変化させることで、対象物2の表面に刻印8が形成される。
図1に示す構成においては、保持部4が運動体である例を示す。すなわち、保持部4が駆動源10によって駆動されることで、対象物2に対する保持部4の位置が順次変更され、それに伴って、対象物2の表面には刻印が順次形成される。加工装置1は、運動体である対象物2と対象物2を駆動させる駆動源10とを含む制御系に相当する。この加工装置1は後述するような制御装置によって制御される。
【0021】
<B.制御装置の構成>
次に、
図1に示す駆動源10を制御するための制御装置の構成例について説明する。
図2は、本実施の形態に係る加工装置1に含まれる制御装置100に関連する構成を概略する模式図である。
【0022】
図2を参照して、加工装置1は、駆動源10に対する制御を主として担当する制御装置100を含む。制御装置100は、任意のコンピュータまたはハードウェアロジックなどを用いて実装すればよいが、以下の説明においては、典型的として、産業用コンピュータの一例であるPLC(プログラマブルコントローラ)を用いる場合について説明する。
【0023】
制御装置100は、演算処理ユニット102と、1または複数の機能ユニット104−1,104−2,104−3,104−4,…(以下、「機能ユニット104」とも総称する。)とを含む。
【0024】
図3は、
図2に示す制御装置100の演算処理ユニット102の構成を概略する模式図である。
図3を参照して、演算処理ユニット102においては、プロセッサ110がシステムプログラム122およびユーザプログラム116を実行することで、本実施の形態に係る制御方法を含む各種処理が提供される。
【0025】
具体的には、演算処理ユニット102は、主たるコンポーネントとして、プロセッサ110と、主メモリ112と、二次記憶装置114と、バスマスタ回路124と、ローカルインターフェイス回路126と、ネットワークマスタ回路128とを含む。
【0026】
プロセッサ110は、各種プログラムに記述された命令を順に実行する演算部であり、典型的には、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などで構成される。プロセッサ110としては、マルチコアの構成、マルチプロセッサの構成、両者を併せた構成のいずれを採用してもよい。
【0027】
主メモリ112は、プロセッサ110がプログラムを実行する際のワーク領域を提供する記憶装置である。主メモリ112としては、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といった揮発性のメモリが用いられる。
【0028】
二次記憶装置114は、プロセッサ110で実行される各種プログラムや各種コンフィギュレーションを格納する。二次記憶装置114としては、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性のメモリが用いられる。より具体的には、二次記憶装置114には、システムプログラム122およびユーザプログラム116が格納される。システムプログラム122およびユーザプログラム116は、一種の制御プログラムである。この制御プログラムが加工装置1に含まれる制御系を制御する。
【0029】
システムプログラム122は、一種のオペレーティングシステムに相当するプログラムであり、演算処理ユニット102が提供する基本的なシステム上の機能、あるいは、ユーザプログラム116を実行させるための環境を提供する。ユーザプログラム116は、制御装置100の制御対象に応じて任意に作成され、典型的には、論理的な演算を主とするシーケンスプログラム118と、位置制御や速度制御などの数値的な演算を主とするモーションプログラム120とを含む。本実施の形態に係る制御方法は、モーションプログラム120の一部として実装されてもよい。
【0030】
バスマスタ回路124は、機能ユニット104(
図2参照)との間でデータを遣り取りする内部バス上のデータ伝送を管理する。
【0031】
ローカルインターフェイス回路126は、サポート装置や他の外部装置との間でデータを遣り取りするインターフェイスであり、例えば、USB(Universal Serial Bus)などの伝送規格が採用される。
【0032】
ネットワークマスタ回路128は、制御装置100とは離れた位置に配置される機能ユニットや他の制御装置との間でデータを遣り取りするフィールドネットワーク上のデータ伝送を管理する。このようなフィールドネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの定周期ネットワークが用いられる。
【0033】
再度
図2を参照して、演算処理ユニット102に接続される機能ユニット104は、制御装置100による制御対象に対する任意の制御を実現するための各種機能を提供する。典型的には、機能ユニット104の各々は、制御対象である機械や設備などからフィールド情報を収集する機能(データ収集機能)、および/または、制御対象の機械や設備などに対する指令信号を出力する機能(データ出力機能)などを有する。
【0034】
図2に示す構成においては、機能ユニット104−4がサーボ制御ユニットとして機能し、演算処理ユニット102でのプログラム(主として、
図3に示すモーションプログラム120)を実行することで所定周期ごとに算出される指令値(典型的には、速度指令値または位置指令値)をサーボドライバ12に与える。
【0035】
図1に示す駆動源10に対応する構成として、
図2には、サーボドライバ12により駆動されるモータ11が採用される構成を示す。サーボドライバ12は、制御装置100からの指令値に従ってモータ11(
図2に示す例では、サーボモータ)を駆動する。典型的には、サーボドライバ12は、制御装置100からの指令値に応じた数のパルスをモータ11へ出力し、モータ11は受信したパルス数に応じて回転位置を変化させる。このような構成を採用することで、モータ11へ与えるパルス数を適宜調整することで、モータ11の回転位置、回転速度、トルクなどを制御することができる。
【0036】
サーボドライバ12は、モータ11の駆動に要する実際のトルクの大きさ(以下、「トルク実績値」とも称す。)を機能ユニット104−3へ入力する。また、モータ11の回転挙動をフィードバックするためのカウンタ14が配置されており、カウンタ14により検出されるカウント値は機能ユニット104−2へ入力される。このカウント値から、モータ11の現実の回転速度(以下、「速度実績値」とも称す。)またはモータ11の回転位置または運動体である保持部4の位置が算出される。
【0037】
制御装置100は、運動体である対象物2を駆動させるために駆動源10が発生しているトルクを示すトルク実績値を取得する手段として、サーボドライバ12とのインターフェイスを有している。また、制御装置100は、運動体である対象物2の速度を示す速度実績値を取得する手段として、カウンタ14とのインターフェイスを有している。
【0038】
本実施の形態に係る制御装置100は、駆動源10から得られるトルク実績値および速度実績値を用いて、制御系に生じる外力を算出する。算出された外力を用いて、加工装置1の動作状態や劣化状態の監視、消耗部品の交換タイミングの決定といった付加的な処理が実施される。
【0039】
<C.外力>
本実施の形態に係る加工装置1が構成する制御系に生じる外力およびその外力の測定または算出について説明する。
【0040】
(c1:概要)
まず、
図1に示す加工装置1において発生する外力について説明する。
図4は、
図1に示す加工装置1において先端部が摩耗した場合の影響を説明するための模式図である。
【0041】
図4(a)に示すように、保持部4およびその先端に配置されたツール6が対象物2に対して相対移動することで、ツール6と対象物2との間に生じる摩擦力を反映した外力が、対象物2に対して与えられる。但し、先端部にあるツール6が摩耗して、ツール6と対象物2との間に生じる摩擦力が低下または実質的にゼロになってしまうと、対象物2に対して与えられる外力も低下または実質的にゼロになってしまう。
【0042】
その結果、
図4(b)に示すように、対象物2に形成される刻印の溝が浅くなり、形成される刻印の視認性が低下する。そのため、
図1に示すような加工装置1において、対象物2に対して与えられる外力を常時監視することが重要である。
【0043】
(c2:外力の算出)
上述したような外力を直接観測することはできないので、駆動源10が保持部4を駆動する際に要するトルクや力などの大きさの絶対値または大きさの変化量などに基づいて、外力を算出することになる。このような外力の算出に関して、本願発明者らによる測定結果の一例を示す。
図5は、外力を評価するための試験装置の概要を示す模式図である。
図6は、
図5に示す試験装置において測定された速度実績値およびトルク実績値の時間変化の一例を示すグラフである。
【0044】
図5に示す試験装置20においては、レール22に沿って移動可能に配置された運動体24を往復運動させることで、運動体24の先端に配置されている鉛筆26を研磨板28上で摩耗させる。
図6には、運動体24を往復運動させる駆動源(図示しないリニアモータおよびサーボドライバなど)において測定された運動体24の速度(
図6(a)に示す速度)および運動体24を駆動するために必要なトルク(
図6(b)に示すトルク)の大きさの時間的変化を示す。
【0045】
現実には、鉛筆26の先端が順次摩耗するので、鉛筆26の移動により研磨板28に対して発生している外力は時間の経過に伴って減少することになるが、
図6(a)および
図6(b)に示す速度およびトルクの時間的変化だけでは、そのような外力の時間的変化を算出することはできない。
【0046】
(c3:外力の論理的検討)
次に、
図1に示すような加工装置1において外力の算出が難しい理由について説明する。
【0047】
図4(a)に示すような運動体である保持部4およびツール6に生じる運動方程式は、以下に示す(1)式のようになる。
【0048】
Mx’’+Dx’=F−d …(1)
但し、
x:運動体の位置
x’:運動体の速度
x’’:運動体の加速度
M:装置のマス係数
D:装置の粘性抵抗
F:モータ11のトルク実績値(モータ11による並進力)
d:外力(摩耗度合依存)とクーロン摩擦との合計(Csign(x’))
(1)式を式変形して、外力(摩耗度合依存)についての式を導出すると、以下に示す(2)式のようになる。
【0049】
外力(摩耗度合依存)=F−Csign(x’)−(Mx’’+Dx’) …(2)
但し、sign()は符号関数
(2)式において、Csign(x’)の項は固定要素であり、(Mx’’+Dx’)の項は変動要素である。対象の制御系が同一の動作を繰り返し実施するものである場合には、1周期あたりの変動要素の変化度合は各周期の間で同一であるため、ある周期におけるモータ11のトルク実績値F(モータ11による並進力に相当)と対象の周期におけるトルク実績値とを比較することで、変動要素を互いに打消しあうことができ、変動要素に影響を受けることなく、目的の外力(摩耗度合依存)の変化度合を取得できる。
【0050】
一方、対象の制御系が同一の動作を繰り返し実施するものでなければ、他の周期において取得された実績値を用いて変動要素を打消すことができないので、トルク実績値と外力(摩耗度合依存)との関係は、変動要素の影響を受けることになる。これは、トルク実績値だけでは、外力(摩耗度合依存)を算出することができないことを意味する。
【0051】
この結果、上述の
図6(a)に示すように、運動体の速度に規則性がない場合には、トルク実績値についても規則性がなく、その結果、外力を適切に算出することはできない。
【0052】
<D.外乱オブザーバによる外力の推定>
(d1:外乱オブザーバの導入)
上述したような課題に対して、本実施の形態に係る制御方法においては、外乱オブザーバを導入することにより、発生する外力を推定する。
図7は、本実施の形態に係る制御方法において採用する外乱オブザーバ200の概略構成を示すブロック図である。
【0053】
オブザーバにおいては、外部から観測できない状態変数を推定するために、観測対象を示す数値モデルが用意される。観測対象に入力される観測可能な状態変数を当該数値モデルに入力するとともに、その数値モデルからの出力が観測対象から出力される観測可能な状態変数と一致するように収束計算することで、観測対象の観測できない状態変数を、当該数値モデルで用いられる対応する状態変数の値を用いて推定する。
【0054】
図7に示す外乱オブザーバ200においては、対象の加工装置1の装置を模擬した装置モデル210は、数値モデルであり、運動体(
図1に示す例では、保持部4)の駆動に係る予め定められたモデルを示す演算式に相当する。この数値モデルにおいて、実績値(観測値)としては、速度実績値yおよびトルク実績値Fが用いられる。装置モデル210内部での演算に用いられる外力を示す状態変数が外力推定値dとして出力される。
【0055】
ここで、装置モデル210の具体的な演算式について説明する。上述の(1)式は、以下の(3)式に示すような状態方程式として表すことができる。
【0057】
上記状態方程式を同一次元オブザーバの式に代入し、さらに、オイラー近似を用いて各演算周期における速度推定値および外力推定値を算出する演算式として展開すると、(3)式は以下の(4)式のような漸化式として表すことができる。
【0058】
【数2】
但し、Δtは演算周期を示す。
【0059】
上述の(4)式中の状態変数であるdが外力推定値として演算周期ごとに算出されることになる。(4)式の演算周期Δtが乗じられるカッコ内の第1項は、装置のマス係数Mおよび粘性抵抗Dに関する項である。すなわち、(4)式に示される演算式は、運動体のマス係数Mおよび運動体の粘性抵抗Dをパラメータとして含む。第2項は、モータ11が与える並進力(トルクのトルク実績値F)に関する項である。第3項は、速度実績値と速度推定値との誤差に基づいて収束させるための項である。第3項に係る行列[G1,G2]は、速度推定値が速度実績値と一致するように、(4)式を収束させるための収束パラメータを示し、安定性および収束性からその値が決定される。
【0060】
収束パラメータの決定方法の一例としては、アッカーマンの極配置法などを用いることができる。典型的には、(4)式の収束過程において、臨界減衰となるように収束パラメータが決定される。このような収束パラメータの決定方法は公知であるので、ここでは詳細な説明は行わない。
【0061】
上述の(4)式に示すように、外乱オブザーバ200では、トルク実績値Fに基づいて、制御系に生じる外力を示す外力推定値dと外力推定値dに対応する運動体の速度を示す速度推定値とが演算周期Δtごとに算出される。ここで、(4)式に示す演算式には、速度実績値と速度推定値とを一致させるように、速度推定値および外力推定値を更新する項(すなわち、演算周期Δtが乗じられるカッコ内の第3項)を含むことになる。
【0062】
(d2:外乱オブザーバおよびノイズ除去フィルタ)
次に、上述したような外乱オブザーバを用いることで、制御系に生じる外力を推定することができる。
【0063】
図8は、
図6に示す速度実績値およびトルク実績値から算出される外力推定値の時間変化の一例を示すグラフである。
図8(a)および
図8(b)には、
図6(a)に示す速度実績値および
図6(b)に示すトルク実績値をそれぞれ示す。これらの実績値から上述の(4)式に示す演算式に従って算出される外力推定値の時間変化を
図8(c)に示す。
【0064】
図8(c)に示す外力推定値は、上述の(4)式に示す演算式に従って演算周期ごとに算出される外力推定値に対してノイズ除去フィルタをかけた結果を示す。適切なノイズ除去フィルタを適用することで、制御系に生じる外力が時間の経過とともに低下していることが分かる。この時間の経過に伴う外力の低下は、
図5に示す試験装置において生じる現象と十分に対応しており、外乱オブザーバと最適なノイズ除去フィルタとの組合せを用いることで、制御系に生じる外力を精度よく推定できることが分かる。
【0065】
(d3:外乱オブザーバおよび出力制限機能)
上述の
図8(c)に示すような外力推定値の時間変化を取得するためには、ノイズ除去フィルタの設定を最適化する必要がある。しかしながら、ノイズ除去フィルタの設定には、技術知識および経験が必要であり、ノイズ成分を適切に除去できない場合には、外力推定値を適切に得ることができない。
【0066】
図9は、(4)式に示す演算式に従って演算周期ごとに算出される外力推定値の時間変化の一例を示す図である。
図9に示すように、演算周期ごとに算出される外力推定値にはノイズ成分が多く含まれており、その結果、制御系に生じる外力の時間的変化を一見して把握することが難しい場合もある。
図9に示す時間変化をよく見れば、時間の経過とともに外力が低下している傾向は見えるが、一見して把握することは容易ではない。
【0067】
これは、外乱オブザーバから出力される推定値が常に高い信頼度を有しているわけではないことが理由である。すなわち、上述の(4)式に示す演算式には、速度実績値と速度推定値との誤差に応じて推定値を補正することで、計算を収束させるが、この収束過程においては、速度実績値と速度推定値との差が大きく、信頼度が高くはない区間が存在し得る。そこで、このような本願発明者らの知見に基づいて、外乱オブザーバ200から外力推定値を出力する際に、その外力推定値の信頼度を評価し、信頼度が所定値を超えている場合に限って、算出された外力推定値を有効に出力する機能を採用する。
【0068】
本実施の形態に係る制御方法においては、外乱オブザーバ200において外力推定値を算出する演算過程で得られる値に基づいて信頼度を評価し、その信頼度を示す値が所定値以下であれば、外力推定値をゼロ出力する。このような出力制限機能を外乱オブザーバに組み合わせることで、信頼度の低い外力推定値を除外して、外力推定値を適切に評価することができる。
【0069】
このように出力制限機能は、外乱オブザーバ200にて外力推定値が算出されると、併せて算出された速度推定値に基づいて外力推定値の信頼度を評価するとともに、所定の信頼度があると判断された場合に、当該外力推定値を有効に出力する。
【0070】
図10は、(4)式に示す演算式に出力制限機能を付加した場合に得られる外力推定値の一例を出力制限機能が存在しない場合と比較して示す図である。
図10(a)には、
図9(a)に示す外力推定値の時間波形を示し、
図9(b)には、出力制限機能を適用した場合の外力推定値の時間波形を示す。
【0071】
図10(a)と
図10(b)とを比較すると分かるように、本実施の形態に係る出力制限機能を適用することで、信頼度の低い、すなわちノイズ成分となる外力推定値を除外することができており、これによって出力される外力推定値の時間的変化などをより容易に把握することができる。
【0072】
図11は、本実施の形態に係る出力制限機能を適用した外乱オブザーバでの演算処理を示すブロック図である。
図11を参照して、外乱オブザーバ200は、マス・粘性抵抗演算ブロック220を含む。マス・粘性抵抗演算ブロック220では、上述の(4)式の演算周期Δtが乗じられるカッコ内の第1項に相当する演算が実行される。マス・粘性抵抗演算ブロック220には、前回の演算周期における速度推定値および外力推定値の値がそれぞれ入力される。マス・粘性抵抗演算ブロック220は、速度推定値に関する値および外力推定値に関する値が出力される。
【0073】
マス・粘性抵抗演算ブロック220からの速度推定値に関する値には、係数ブロック224にてトルク実績値Fに「1/M」を乗じて得られた値が、加算器222にて加算される。さらに、係数ブロック234にて速度実績値と速度推定値との差分に「G1」を乗じて得られた値が、加算器232にて加算される。加算器232における加算結果に対して乗算器236にて演算周期Δtが乗じられて、最終的に、前回の演算周期における速度推定値が加算されて、今回の速度推定値として出力される。
【0074】
一方、マス・粘性抵抗演算ブロック220からの外力推定値に関する値には、係数ブロック244にて速度実績値と速度推定値との差分に「G2」を乗じて得られた値が、加算器242にて加算される。加算器242における加算結果に対して乗算器246にて演算周期Δtが乗じられて、最終的に、前回の演算周期における外力推定値が加算されて、今回の外力推定値として出力される。
【0075】
最終的な速度推定値および外力推定値は、演算周期に対応する遅延を与える遅延ブロック252および254に入力されて、次回の演算周期において用いられる。すなわち、上述した説明における前回の速度推定値および外力推定値は、遅延ブロック252および254からの出力が用いられる。
【0076】
また、速度実績値と速度推定値との差分は、差分ブロック250において速度実績値と速度推定値との間で差分演算を行うことで算出される。
【0077】
図11に示す外乱オブザーバ200では、内部状態値であるd
n+1が外力推定値として出力される過程において、スイッチブロック260が配置される。スイッチブロック260は、算出される内部状態値d
n+1と「0」とを選択可能になっている。より具体的には、スイッチブロック260は、速度実績値と速度推定値との差分が予め定められたしきい値Thより小さい場合に、外乱オブザーバ200にて算出されたd
n+1を外力推定値として出力し、そうでなければ、「0」を外力推定値として出力する。速度実績値と速度推定値との差分は、差分ブロック262において速度実績値と速度推定値との間で差分演算を行うことで算出される。
【0078】
つまり、外乱オブザーバ200から出力される外力推定値は、速度実績値と速度推定値との間の差がゼロに近ければ、推定精度が高い値と判断できるが、差がゼロから離なれていれば、推定精度が悪いと判断できる。本実施の形態に係る出力制限機能を適用した外乱オブザーバ200では、速度実績値と速度推定値との間の差分の逆数を、信頼度を示す値とみなす。信頼度が所定のしきい値以下であれば、そのときに算出された外乱推定値は信頼度が高くないので、有効な値として出力せずに、例えば、「0」を出力する。このように、本実施の形態に係る出力制限機能は、速度推定値と対応する速度実績値との間の差が予め定められた値より小さければ、所定の信頼度があると判断する。そして、出力制限機能は、所定の信頼度がないと判断された場合に、外力推定値として「0」を出力する。
【0079】
より具体的な処理としては、信頼度を示す値、すなわち速度実績値と速度推定値との間の差分の逆数を評価してもよいし、
図11に示すように、信頼度を示す値の逆数、すなわち、速度実績値と速度推定値との間の差分そのものを評価してもよい。速度実績値と速度推定値との間の差分を評価する場合には、その差分の大きさが所定のしきい値Th未満であることを十分な信頼度があるとみなすことができる。
【0080】
このような出力制限機能を提供することで、
図10(b)に示すような外力推定値の時間波形を得ることができる。
【0081】
なお、
図11には、外乱オブザーバ200から出力される外力推定値d
n+1と「0」とを選択的に出力する場合を例示するが、これに限らず、有効な外力推定値と無効な外力推定値とを区別できる出力形態を採用すればよい。例えば、信頼度が高いと判断された場合には、今回の演算周期にて算出された外力推定値を出力し、そうでなければ、前回出力された外力推定値をそのまま出力する、すなわち外力推定値を変化させないようにしてもよい。つまり、出力制限機能は、所定の信頼度がないと判断された場合に、前回出力した外力推定値の出力値を維持するようにしてもよい。
【0082】
しきい値Thについては、ユーザが任意に設定してもよいし、あるいは、外乱オブザーバ200の設定などに依存させて動的に決定するようにしてもよい。例えば、収束パラメータ[G1,G2]は、外乱オブザーバ200の収束演算にあたっての安定性および収束性を決定するものであり、収束パラメータの値は、速度推定値に生じるオーバシュートなどを規定することになるので、収束パラメータの値に応じてしきい値Thの大きさを規定してもよい。
【0083】
<E.処理手順>
次に、本実施の形態に係る制御方法に含まれる外力推定処理について説明する。
【0084】
図12は、本実施の形態に係る制御方法に含まれる外力推定処理の処理手順を示すフローチャートである。
図12に示す各ステップは、典型的には、制御装置100の演算処理ユニット102のプロセッサ110がシステムプログラム122およびユーザプログラム116を実行することで実現される。
【0085】
図12を参照して、プロセッサ110は、外力推定処理に必要なパラメータの読み込みなどのセットアップを行う(ステップS100)。併せて、プロセッサ110は、前回の速度推定値および前回の外力推定値としてそれぞれ所定の初期値(典型的には、いずれもゼロ)を設定する(ステップS102)。
【0086】
続いて、推定処理の開始がトリガーされると(ステップS104においてYES)、プロセッサ110は、運動体を駆動させるために駆動源10が発生しているトルクを示すトルク実績値、および、運動体の速度を示す速度実績値を取得する(ステップS106)。そして、プロセッサ110は、前回の速度推定値および外力推定値を用いて、今回の速度推定値および外力推定値を算出する(ステップS108)。つまり、プロセッサ110は、運動体の駆動に係る予め定められたモデルを示す演算式を用いて、トルク実績値に基づいて、制御系に生じる外力を示す外力推定値と当該外力推定値に対応する運動体の速度を示す速度推定値とを演算周期ごとに算出する。
【0087】
そして、プロセッサ110は、速度実績値と算出された今回の速度推定値との差分が予め定められたしきい値より小さいか否かを判断する(ステップS110)。速度実績値と算出された今回の速度推定値との差分が予め定められたしきい値より小さければ(ステップS110においてYES)、プロセッサ110は、ステップS108において算出された外力推定値をそのまま出力する(ステップS112)。これに対して、速度実績値と算出された今回の速度推定値との差分が予め定められたしきい値より小さければ(ステップS110においてYES)、プロセッサ110は、外力推定値として「0」を出力する(ステップS114)。
【0088】
ステップS110〜S114において、プロセッサ110は、外力推定値が算出されると、併せて算出された速度推定値に基づいて外力推定値の信頼度を評価するとともに、所定の信頼度があると判断された場合に、当該外力推定値を有効に出力する。
【0089】
プロセッサ110は、推定処理の終了が指示されたか否かを判断する(ステップS116)。推定処理の終了が指示されていなければ(ステップS116においてNO)、プロセッサ110は、ステップS108において算出された速度推定値および外力推定値を、前回の速度推定値および前回の外力推定値に設定し(ステップS118)、ステップS106以下の処理を繰返す。
【0090】
推定処理の終了が指示されていれば(ステップS116においてYES)、処理は終了する。
【0091】
<F.実装例>
次に、本実施の形態に係る制御方法に含まれる外力推定処理をユーザプログラム116上で実装する場合の構成例について説明する。
【0092】
図13は、本実施の形態に係る制御方法の実行をユーザプログラム上で定義するためのファンクションブロックの一例を示す図である。
図13に示すファンクションブロックにおいては、対象となるサーボドライバ12およびモータ11(対象軸)が関連付けられるとともに、外乱オブザーバ200を構成するために必要なパラメータが設定される。具体的には、マス係数M、粘性抵抗D、収束パラメータ、演算周期、信頼度しきい値(
図11に示すしきい値Th)などがファンクションブロックに入力される。
【0093】
なお、収束パラメータとしては、(4)式に示す収束パラメータG1,G2が直接指定されるのではなく、アッカーマンの極配置法によって重根との条件下で決定される極(Pole)の値が入力されてもよい。
【0094】
図13に示すファンクションブロックに入力される定格トルクおよびピッチは、対象となるサーボドライバ12およびモータ11の設定値である。
【0095】
図13に示すファンクションブロックからは、(4)式に従って演算周期ごとに算出されるそのままの外力推定値と、上述の出力制限機能によって選択的に出力される外力推定値(信頼度反映)とが出力される。併せて、
図13に示すファンクションブロックからは、オブザーバに従う外力推定値の算出処理を実行中であるか否かを示す実行中フラグを利用可能になっていてもよい。
【0096】
図13に示すようなファンクションブロックを採用することで、ユーザは、外力推定処理の具体的なアルゴリズムを理解しなくとも、外力推定値をユーザプログラム上で用いることができ、ツール6の交換時期を判断するなどの付加的な処理を容易に実装することができる。
【0097】
<G.統計処理>
上述したような応用例において外力を推定するのは、消耗品であるツールなどの交換時期を決定するといった目的がある。このような交換時期を決定するような用途においては、
図10(b)に示すような時間波形だけではなく、時間波形に対して統計処理を行った結果を利用してもよい。
【0098】
一例として、
図10(b)に示すような外力推定値の時間波形に対して、予め定められた長さの評価期間をそれぞれ設定し、各評価期間の分布を算出してもよい。具体的には、(1)評価対象となる複数の時間期間を設定する、(2)各時間期間で生じる外力推定値を統計処理する、といった手順をとる。
【0099】
図14は、
図10(a)および
図10(b)に対する統計処理の結果の一例である。
図14(a)には、オブザーバから出力される外力推定値(
図10(a)参照)をそのまま利用した場合の統計結果の一例を示し、
図14(b)には、オブザーバから出力される外力推定値に対して出力制限機能を適用した結果(
図10(b)参照)を利用した場合の統計結果の一例を示す。
【0100】
図14には、評価期間1(時刻t1〜時刻t2)、評価期間2(時刻t2〜時刻t3)、評価期間3(時刻t2〜時刻t3)のそれぞれについて算出した外力推定値の発生確率の分布を示す。
【0101】
図14に示すような統計処理の結果を生成および出力する機能は、制御装置100によって提供されてもよいし、制御装置100から外力推定値を取得して各種処理を実行する外部の情報処理装置によって提供されてもよい。制御装置100によって提供される場合には、例えば、ユーザプログラム116(
図3)に含まれる機能モジュールなどとして実装することができる。
【0102】
この場合、ユーザプログラム116に含まれる機能モジュールとしては、所定期間にわたる外力推定値に対して、当該所定期間を複数の期間に分割するとともに、各分割された期間における外力推定値の発生確率の分布を出力する統計機能を含むことになる。なお、統計対象となる期間の長さなどについては、ユーザが任意に設定することができるようにしてもよいし、自動的に分割して設定できるようにしてもよい。
【0103】
このような統計分布を、切削用のツールの交換基準を明確化するための手段として用いることができる。例えば、外力推定値に対して何らかの交換しきい値を設定し、発生している外力がその交換しきい値以下になったらツールを交換するといったルールを設定したとする。ここで、交換しきい値は、ある作業者のノウハウや経験などによって適宜設定される。
【0104】
このようなルールを設定した作業者は、感覚的にツールを交換すべきタイミングが分かるが、経験の少ない作業者は感覚的にツールを交換すべきタイミングを知ることはできず、実際に出力される外力推定値に頼ることになる。
図14(a)に示す例では、分布の広がりが大きいので、いずれの評価期間、すなわち経過時間においてツールを交換すべきかを明確に知ることはできない。これに対して、本実施の形態に係る出力制限機能を適用した場合には、外力推定値の発生分布が狭く、いずれの大きさの外力推定値にピークが存在するのかについて、一見して把握できる。すなわち、評価期間1(時刻t1〜時刻t2)においては交換しきい値以上の外力が発生しているが、評価期間2(時刻t2〜時刻t3)まで経過すると、発生する外力は交換しきい値を以下になっていることが意見して把握できる。そのため、経験の少ない作業者であっても、評価期間2(時刻t2〜時刻t3)においてツールを交換すべきであると容易に判断できる。
【0105】
以上のように、演算周期ごとに出力される外力推定値に対して、発生している値についての分布などを用いることで、ツールの摩耗により発生する外力の低減をより容易に把握することができ、ツールの交換タイミングなどを作業者に依存することなく、予め定められたルール化で運用することができる。
【0106】
<H.応用例・変形例>
上述の実施の形態においては、
図1に示すような刻印器に類似した加工装置への適用を前提として処理および機能を説明したが、このような加工装置に限られず、任意のシステムにも適用可能である。この場合、適用対象のシステムに応じて、観測対象を示す数値モデルを適宜選択または設計すればよい。
【0107】
図1に示すような加工装置以外の応用例として、例えば、ワークなどを持ち上げて、別の場所に搬送する装置(以下、「ピック・プレイス装置」とも称す。)が挙げられる。
【0108】
図15は、ピック・プレイス装置の概要を示す模式図である。
図15を参照して、移載装置34は、2つ以上のアーム36を有しており、これらのアーム36をワーク32に押し当てることで摩擦力を発生させ、ワーク32を持ち上げて、目的の場所まで搬送する。このような移載装置34の課題として、搬送中にワーク32の落下や、ワーク32をうまく掴むことができないといったことが挙げられる。
【0109】
監視カメラなどを用いてこのような異常動作の発生有無を判断することが一般的である。この理由としては、移載装置34においては、ワーク32を把持(ピック)する位置およびワーク32をプレイスする位置が毎回異なっており、実質的に同一の挙動であっても、搬送パターンの間には多少の相違が生じ得る。
【0110】
つまり、規範トルクモデルのようなものを用意できないので、ワーク32をうまく掴めているのかを判断することは容易ではない。移載装置34のアーム36をワーク32に押し当てて摩擦力を発生させる構成については、上述の
図1に示す加工装置と類似している。つまり、搬送パターンが毎回異なっていても、移載装置34の装置構成自体には変化がないので、上述したような外乱オブザーバを用いることで、ワーク32とアーム36との間に生じる摩擦力などを順次推定することで、移載装置34によるワーク32のピックミスやプレイスミスの防止または劣化傾向の監視などを行うことができる。
【0111】
同様に、無人搬送車両などを含むシステムについても、本実施の形態に係る各種状態値の推定方法を提供することができる。
【0112】
<I.利点>
本実施の形態によれば、対象装置をモデル化さえできれば、直接観測できない状態値を高精度に推定することができる。そのため、処理ごとに挙動や動作などが微妙に異なるようなアプリケーションであっても、装置の劣化や異常などを高い確度で検出することができる。すなわち、本実施の形態によれば、対象の装置やシステムが有する特性が変化したことを高い精度で検出することができ、これによって、より高精度な監視や異常検知等の処理を提供することができる。
【0113】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。