(57)【要約】  被駆動体が接続された機械部（７ａ）を駆動するアクチュエータに対して、指令値演算部（９）で演算された位置指令（Ｘｃ）に追従するように、回転角検出器（２）で検出された検出位置（Ｘｄ）をフィードバックし、コントローラ部（６ａ）でアクチュエータを制御するサーボ制御装置（１００）であって、評価点の状態量を検出する評価点センサ（１ａ）と、参照点の状態量を検出する参照点センサ（１ｂ）と、評価点の状態量および参照点の状態量を用いて第一の伝達関数（ＦＲＦ１（ｓ））を演算する第一の伝達関数演算部（４ａ）と、参照点の状態量および検出位置を用いて第二の伝達関数（ＦＲＦ２（ｓ））を演算する第二の伝達関数演算部（４ｂ）と、第一の伝達関数（ＦＲＦ１（ｓ））、第二の伝達関数（ＦＲＦ２（ｓ））、および剛性値パラメータ（Ｋｄｒ）を用いて、評価点推定位置を演算するシミュレーション部（５）と、を備える。
2020217597.tif 000002
【特許請求の範囲】
【請求項１】
制御対象である被駆動体が接続された機械部を駆動する１つ以上のアクチュエータに対して、前記被駆動体の位置が指令値演算部で演算された位置を指示する位置指令に追従するように、検出点に取り付けられた位置検出器で検出された前記被駆動体の位置を示す検出位置をフィードバックし、コントローラ部で前記アクチュエータを制御するサーボ制御装置であって、
前記被駆動体または前記被駆動体に応じた位置に設定された評価点の状態量を検出する第一の検出部と、
前記評価点と前記アクチュエータとの間の前記機械部に設定された参照点の状態量を検出する第二の検出部と、
前記評価点の状態量および前記参照点の状態量を用いて、前記参照点から前記評価点までの周波数応答特性である第一の伝達関数を演算する第一の伝達関数演算部と、
前記参照点の状態量および前記検出位置を用いて、前記検出位置から前記参照点までの周波数応答特性である第二の伝達関数を演算する第二の伝達関数演算部と、
前記第一の伝達関数、前記第二の伝達関数、および前記検出位置と前記参照点との間の剛性値を示す剛性値パラメータを用いて、前記評価点の推定位置を演算する第一のシミュレーション部と、
を備え、
前記第一のシミュレーション部は、
前記検出位置の挙動が推定された検出点推定位置をフィードバックとし、前記コントローラ部を模擬して前記アクチュエータへの指令トルク推定値を生成するコントローラ模擬部と、
前記第二の伝達関数および前記検出点推定位置を用いて、前記参照点の挙動を推定した参照点推定位置を演算する参照点推定位置演算部と、
前記第一の伝達関数および前記参照点推定位置を用いて、前記評価点の挙動を推定した評価点推定位置を演算する評価点推定位置演算部と、
前記検出点推定位置、前記参照点推定位置、および前記剛性値パラメータを用いて、駆動反力推定値を演算する駆動反力推定部と、
前記駆動反力推定値および前記指令トルク推定値から演算される有効トルク推定値を用いて、前記検出点推定位置を演算する検出点推定位置演算部と、
前記第一の伝達関数を前記評価点推定位置演算部に設定し、前記第二の伝達関数を前記参照点推定位置演算部に設定し、前記剛性値パラメータを前記駆動反力推定部に設定するシミュレータパラメータ設定部と、
を備えることを特徴とするサーボ制御装置。
【請求項２】
制御対象である被駆動体が接続された機械部を駆動する１つ以上のアクチュエータに対して、前記被駆動体の位置が指令値演算部で演算された位置を指示する位置指令に追従するように、検出点に取り付けられた位置検出器で検出された前記被駆動体の位置を示す検出位置をフィードバックし、コントローラ部で前記アクチュエータを制御するサーボ制御装置であって、
前記被駆動体または前記被駆動体に応じた位置に設定された評価点の状態量を検出する第一の検出部と、
前記評価点と前記アクチュエータとの間の前記機械部に設定された参照点の状態量を検出する第二の検出部と、
前記評価点の状態量、前記参照点の状態量、および前記コントローラ部で取得される前記アクチュエータの状態量である前記検出位置を状態変数として観測し、前記状態変数に基づいて作成される訓練データセットに従って学習を行う学習部と、
前記学習部の学習結果を用いて、前記評価点の挙動を推定した評価点推定位置、および前記検出位置の挙動を推定した検出点推定位置を演算する第二のシミュレーション部と、
を備えることを特徴とするサーボ制御装置。
【請求項３】
前記第一の検出部および前記第二の検出部は、加速度センサである、
ことを特徴とする請求項１または２に記載のサーボ制御装置。
【請求項４】
前記位置検出器は、前記アクチュエータに取り付けられた回転角検出器、または前記機械部に取り付けられた直動位置検出器である、
ことを特徴とする請求項１から３のいずれか１つに記載のサーボ制御装置。
【請求項５】
前記評価点推定位置、または前記評価点推定位置および前記検出点推定位置を用いて、前記被駆動体の運動精度が目標値以内になるように前記コントローラ部の制御パラメータを変更する制御パラメータ変更部、
を備えることを特徴とする請求項１または２に記載のサーボ制御装置。
【請求項６】
前記学習部は、前記評価点の状態量、前記参照点の状態量、および前記検出位置を訓練データセットに使用して、前記検出位置を入力とし、前記評価点の状態量、および前記参照点の状態量を出力とするシステムモデルを学習する、
ことを特徴とする請求項２に記載のサーボ制御装置。
【請求項７】
前記学習部は、前記評価点の状態量、前記参照点の状態量、前記検出位置、および前記アクチュエータの駆動力を訓練データセットに使用して、前記検出位置を入力とし、前記評価点の状態量、および駆動反力推定値を出力とするシステムモデルを学習する、
ことを特徴とする請求項２に記載のサーボ制御装置。
【請求項８】
前記第二のシミュレーション部は、
前記検出位置の挙動が推定された検出点推定位置をフィードバックとし、前記コントローラ部を模擬して前記アクチュエータへの指令トルク推定値を生成するコントローラ模擬部と、
前記学習部で学習されたシステムモデルを用いて、前記評価点推定位置、および前記参照点の挙動を推定した参照点推定位置を演算する人工知能モデル部と、
前記検出点推定位置、前記参照点推定位置、および前記検出位置と前記参照点との間の剛性値を示す剛性値パラメータを用いて、駆動反力推定値を演算する駆動反力推定部と、
前記駆動反力推定値および前記指令トルク推定値から演算される有効トルク推定値を用いて、前記検出点推定位置を演算する検出点推定位置演算部と、
前記学習部で学習されたネットワーク構造パラメータを前記人工知能モデル部に設定し、前記剛性値パラメータを前記駆動反力推定部に設定するシミュレータパラメータ設定部と、
を備えることを特徴とする請求項２または６に記載のサーボ制御装置。
【請求項９】
前記第二のシミュレーション部は、
前記検出位置の挙動が推定された検出点推定位置をフィードバックとし、前記コントローラ部を模擬して前記アクチュエータへの指令トルク推定値を生成するコントローラ模擬部と、
前記学習部で学習されたシステムモデルを用いて、前記評価点推定位置、および駆動反力推定値を演算する人工知能モデル部と、
前記駆動反力推定値および前記指令トルク推定値から演算される有効トルク推定値を用いて、前記検出点推定位置を演算する検出点推定位置演算部と、
前記学習部で学習されたネットワーク構造パラメータを前記人工知能モデル部に設定するシミュレータパラメータ設定部と、
を備えることを特徴とする請求項２または７に記載のサーボ制御装置。
【請求項１０】
前記評価点推定位置、または前記評価点推定位置および前記検出点推定位置を用いて、前記コントローラ部への位置補正指令、速度補正指令、および電流補正指令のうち少なくとも１つを演算し、前記コントローラ部に出力する補正指令演算部、
を備えることを特徴とする請求項１に記載のサーボ制御装置。
【請求項１１】
前記評価点の状態量、前記参照点の状態量、および前記検出位置を送信する第一の送信部と、
前記評価点の状態量、前記参照点の状態量、および前記検出位置を受信し、前記評価点の状態量および前記参照点の状態量を前記第一の伝達関数演算部に出力し、前記参照点の状態量および前記検出位置を前記第二の伝達関数演算部に出力する第一の受信部と、
前記位置補正指令、前記速度補正指令、および前記電流補正指令のうち少なくとも１つを送信する第二の送信部と、
前記位置補正指令、前記速度補正指令、および前記電流補正指令のうち少なくとも１つを受信し、前記コントローラ部に出力する第二の受信部と、
を備えることを特徴とする請求項１０に記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム同定を行うサーボ制御装置に関する。
【背景技術】
【０００２】
サーボ制御装置は、位置検出器を用いて検出された被駆動体の位置が指令位置に一致するように、アクチュエータを用いてフィードバック制御を行う装置である。【０００３】
数値制御工作機械、産業用機械、ロボット、搬送機などのように多自由度を有する機械装置は、軸と呼ばれるサーボ制御装置を複数有する。このような機械装置は、各軸に取り付けられたアクチュエータで被駆動体の位置を制御し、各軸の位置制御を組み合わせることで、多自由度の運動を実現している。【０００４】
運動軌跡が指令された経路である指令軌跡に正確に追従するように行うサーボ制御は、軌跡制御または輪郭運動制御と呼ばれる。軌跡制御中に摩擦、機械構造の振動などの外乱要因によって軸の運動に誤差が発生すると運動軌跡は指令軌跡から外れるため、軌跡誤差が生じる。例えば、切削工具の運動を加工対象の工作物に転写することで形状を創生する数値制御工作機械においては、数十マイクロメートルの軌跡誤差であっても加工不良と判断されることがある。【０００５】
数値制御工作機械、産業用機械、ロボット、搬送機などでは、工具、搬送物、ロボットハンドのような実際に作業を行う部位が真に軌跡制御を実現したい制御対象となる。しかしながら、全ての軸において、被駆動体の位置を検出するための位置検出器を制御対象に完全に一致して取り付けることは難しい。そのため、サーボ制御装置は、フィードバック制御を行っている場合でも、位置検出器の取り付け位置が制御対象の位置と一致していないと位置検出器で正確に制御対象の運動を検出できないため、軌跡誤差が生じる。【０００６】
運動軌跡に軌跡誤差が発生する場合、サーボ制御装置に補正指令を入力することで誤差低減を図る。補正指令を生成するためには、軌跡誤差の発生原因を特定し、発生する軌跡誤差の誤差量を知る必要がある。誤差量を知る直接的な方法として、制御対象に変位計測器を取り付け、発生する軌跡誤差を測定する方法が既知である。例えば、ダブルボールバーと呼ばれる測定器は、２つの高精度な鋼球の間が変位計を介して結合され、２球間の相対距離を一定に保つような運動を行わせたときの２点間の相対変位を読み取るものである。ダブルボールバーは、工作機械の工具先端の軌跡誤差を測定する際によく用いられる。しかしながら、このような変位計測器を取り付けたままで加工、組み立て、搬送などの作業を行うことは難しいため、測定を行う際は都度作業を中止する必要がある。そのため、より簡易な方法で、かつ作業中に制御対象の軌跡誤差を測定または推定する方式がより好ましい。【０００７】
機械装置のモデリング、システム同定などを用いた軌跡誤差の予測結果、誤差原因の予測結果に基づくサーボ制御装置の軌跡誤差の補正は重要な課題であり、複数の方法が公知である。例えば、特許文献１には、検出手段によって検出された動作量および動作指令から機械の周波数特性を得て、機械の負荷量の剛体負荷モデル、摩擦を数値化した摩擦モデル、および振動特性モデルを同定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３３３５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載された技術は、周波数領域で誤差の発生要因および最大誤差量を特定することは可能であるが、制御対象に生じる時々刻々の誤差量を予想できない、という問題があった。【００１０】
本発明は、上記に鑑みてなされたものであって、軌跡制御を行う機械の特性を同定し、制御対象の軌跡誤差を模擬するシステム同定が可能なサーボ制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、制御対象である被駆動体が接続された機械部を駆動する１つ以上のアクチュエータに対して、被駆動体の位置が指令値演算部で演算された位置を指示する位置指令に追従するように、検出点に取り付けられた位置検出器で検出された被駆動体の位置を示す検出位置をフィードバックし、コントローラ部でアクチュエータを制御するサーボ制御装置である。サーボ制御装置は、被駆動体または被駆動体に応じた位置に設定された評価点の状態量を検出する第一の検出部と、評価点とアクチュエータとの間の機械部に設定された参照点の状態量を検出する第二の検出部と、評価点の状態量および参照点の状態量を用いて、参照点から評価点までの周波数応答特性である第一の伝達関数を演算する第一の伝達関数演算部と、参照点の状態量および検出位置を用いて、検出位置から参照点までの周波数応答特性である第二の伝達関数を演算する第二の伝達関数演算部と、第一の伝達関数、第二の伝達関数、および検出位置と参照点との間の剛性値を示す剛性値パラメータを用いて、評価点の推定位置を演算する第一のシミュレーション部と、を備える。第一のシミュレーション部は、検出位置の挙動が推定された検出点推定位置をフィードバックとし、コントローラ部を模擬してアクチュエータへの指令トルク推定値を生成するコントローラ模擬部と、第二の伝達関数および検出点推定位置を用いて、参照点の挙動を推定した参照点推定位置を演算する参照点推定位置演算部と、第一の伝達関数および参照点推定位置を用いて、評価点の挙動を推定した評価点推定位置を演算する評価点推定位置演算部と、検出点推定位置、参照点推定位置、および剛性値パラメータを用いて、駆動反力推定値を演算する駆動反力推定部と、駆動反力推定値および指令トルク推定値から演算される有効トルク推定値を用いて、検出点推定位置を演算する検出点推定位置演算部と、第一の伝達関数を評価点推定位置演算部に設定し、第二の伝達関数を参照点推定位置演算部に設定し、剛性値パラメータを駆動反力推定部に設定するシミュレータパラメータ設定部と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、サーボ制御装置は、軌跡制御を行う機械の特性を同定し、制御対象の軌跡誤差を模擬するシステム同定ができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る数値制御工作機械の構成例を示す図
【図２】実施の形態１に係る数値制御工作機械の軸であるＸ軸サーボ制御装置の構成例を示す模式図
【図３】実施の形態１に係るコントローラ部の構成例を示すブロック図
【図４】実施の形態１に係るシステム同定を行うサーボ制御装置の構成例を示すブロック図
【図５】実施の形態１に係るシミュレーション部の構成例を示すブロック図
【図６】実施の形態１に係るコントローラ模擬部の構成例を示すブロック図
【図７】実施の形態１に係る駆動反力推定部の構成例を示すブロック図
【図８】実施の形態１に係るサーボ制御装置の動作を示すフローチャート
【図９】実施の形態１に係るサーボ制御装置が備える処理回路をプロセッサおよびメモリで構成する場合の例を示す図
【図１０】実施の形態１に係るサーボ制御装置が備える処理回路を専用のハードウェアで構成する場合の例を示す図
【図１１】実施の形態２に係るシステム同定を行うサーボ制御装置の構成例を示す図
【図１２】実施の形態２に係る数値制御工作機械の軸であるＸ軸サーボ制御装置の構成例を示す模式図
【図１３】実施の形態２に係るコントローラ部の構成例を示すブロック図
【図１４】実施の形態３に係るサーボ制御装置の構成例を示す模式図
【図１５】実施の形態４に係るシステム同定を行うサーボ制御装置の構成例を示す図
【図１６】実施の形態４に係るサーボ制御装置の動作を示すフローチャート
【図１７】実施の形態５に係るシステム同定を行うサーボ制御装置の構成例を示す図
【図１８】実施の形態５に係る補正指令演算部の構成例を示すブロック図
【図１９】実施の形態５に係るコントローラ部の構成例を示すブロック図
【図２０】実施の形態５に係るサーボ制御装置の動作を示すフローチャート
【図２１】実施の形態６に係るシステム同定を行うサーボ制御装置の構成例を示す図
【図２２】実施の形態７に係るシステム同定を行うサーボ制御装置の構成例を示すブロック図
【図２３】実施の形態７に係る学習部の構成例を示すブロック図
【図２４】実施の形態７に係るシミュレーション部の構成例を示すブロック図
【図２５】実施の形態７に係るサーボ制御装置の動作を示すフローチャート
【図２６】実施の形態８に係るシステム同定を行うサーボ制御装置の構成例を示す図
【図２７】実施の形態８に係る学習部の構成例を示すブロック図
【図２８】実施の形態８に係るシミュレーション部の構成例を示すブロック図
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態に係るサーボ制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。サーボ制御装置が数値制御工作機械のシステム同定を行う場合について具体的に説明するが、本発明は、アクチュエータを用いて制御対象を駆動するサーボ制御装置を１つ以上有する産業用機械、ロボット、搬送機などの機械にも適用可能である。
【００１５】
実施の形態１．
図１は、本発明の実施の形態１に係る数値制御工作機械９９の構成例を示す図である。数値制御工作機械９９は、直交３軸立形工作機械であり、Ｘ軸、Ｙ軸、およびＺ軸の合計３つのサーボ制御装置を有する。数値制御工作機械９９は、工具７６をＸ軸およびＺ軸の方向で駆動し、ワークテーブル７７に設置された工作物７８をＹ軸の方向で駆動して、工作物７８の加工を行う。すなわち、数値制御工作機械９９において、Ｘ軸およびＺ軸における制御対象である被駆動体は工具７６であり、Ｙ軸における制御対象である被駆動体は工作物７８である。
【００１６】
数値制御工作機械９９において、各軸では、アクチュエータであるモータ７１の回転運動が送りねじ７３によって各軸の駆動方向への直進運動に変換される。数値制御工作機械９９では、結果として、各軸の直進運動を組み合わせた工具７６のＸＺ平面内の２自由度運動および工作物７８のＹ方向の１自由度の運動によって、ＸＹＺの３次元空間内、すなわち３自由度の運動が実現される。数値制御工作機械９９は、工具７６を回転させ、工作物７８において工具７６と干渉した部分の材料を除去することで、工作物７８の３次元形状を創生する。加工中に工具７６と工作物７８との間に相対変位が生じると、工作物７８において材料の削り残し、削りすぎなどが発生して加工誤差となる。そのため、数値制御工作機械９９の加工精度を評価する上で最も重要となる箇所は、Ｘ軸およびＺ軸においては工具７６の先端となり、Ｙ軸においては工作物７８の加工点となる。
【００１７】
図２は、実施の形態１に係る数値制御工作機械９９の軸であるＸ軸サーボ制御装置１０１の構成例を示す模式図である。ここでは、便宜上、Ｘ軸サーボ制御装置１０１のみを例に示しているが、Ｙ軸およびＺ軸のサーボ制御装置についても同様の構成である。ただし、Ｘ軸およびＺ軸の被駆動体は工具７６であるのに対して、Ｙ軸の被駆動体は工作物７８である点が異なる。Ｘ軸と工具７６との間にはＺ軸が存在するが、Ｘ軸の駆動方向とＺ軸の駆動方向とは直交しており相互に干渉しない。そのため、Ｘ軸から見たときＺ軸は独立した構造部材の１つとみなせるので、図示しない。
【００１８】
Ｘ軸サーボ制御装置１０１において、モータ７１の回転運動は、カップリング７４を介して送りねじ７３に伝達され、ナット８０を介して直進運動に変換される。送りねじ７３の直進運動は、支持軸受７５ａ，７５ｂにより拘束されている。ナット８０の直進運動は、工具７６とナット８０との間に介在するＺ軸、支持部材などを総称した機械構造部材７２を介して、工具７６をＸ方向に駆動する。
【００１９】
Ｘ軸の位置指令Ｘｃは、指令値演算部９から出力され、コントローラ部６ａに入力される。位置指令Ｘｃは、指令値演算部９で演算された、所望の制御状態における被駆動体の位置を示すものである。コントローラ部６ａは、モータ７１に取り付けられた回転角検出器２により検出されたモータ回転角度に送りねじ７３のねじピッチを乗じて得られる検出位置Ｘｄと、位置指令Ｘｃとの誤差が小さくなるようにフィードバック制御を行い、モータ７１へモータ電流Ｉｍを出力して機械部７ａを駆動する。機械部７ａには、制御対象である被駆動体が接続されている。ここで、回転角検出器２はモータ７１の回転角度のみを検出するが、上述のように回転運動と直進運動とは容易に換算できる。そのため、本実施の形態において、回転角検出器２は、モータ回転角度に送りねじ７３のねじピッチを乗じ、Ｘ軸サーボ制御装置１０１の直進運動に変換後の検出位置Ｘｄを出力するものとする。回転角検出器２は、モータ７１すなわち検出点に取り付けられた位置検出器である。
【００２０】
図３は、実施の形態１に係るコントローラ部６ａの構成例を示すブロック図である。コントローラ部６ａは、指令値演算部９から入力される位置指令Ｘｃと、回転角検出器２から入力される検出位置Ｘｄとを用いて、モータ電流Ｉｍを出力する。まず、加減算器６１ａは、位置指令Ｘｃと検出位置Ｘｄとの差分である位置偏差（Ｘｃ−Ｘｄ）を演算する。位置制御器６２は、位置偏差（Ｘｃ−Ｘｄ）に応じた位置制御を行い、速度指令Ｖｃを生成する。位置制御器６２の一例はＰ（Proportional）制御器である。速度演算器６５は、検出位置Ｘｄから検出速度Ｖｄを生成する。速度演算器６５の一例は微分演算器である。加減算器６１ｂは、速度指令Ｖｃと検出速度Ｖｄとの差分である速度偏差Ｖｄｅ＝Ｖｃ−Ｖｄを演算する。速度制御器６３は、速度偏差Ｖｄｅに応じて速度制御を行い、電流指令Ｉｃを生成する。速度制御器６３の一例はＰＩ（Proportional  Integral）制御器である。加減算器６１ｃは、電流指令Ｉｃとモータ電流Ｉｍとの差分である電流偏差（Ｉｃ−Ｉｍ）を演算する。最後に、電流制御器６４は、電流偏差（Ｉｃ−Ｉｍ）に応じて電流制御を行い、モータ電流Ｉｍを出力する。電流制御器６４の一例はＰＩ制御器である。
【００２１】
以上のように、コントローラ部６ａは、フィードバック制御によって、検出位置Ｘｄが位置指令Ｘｃで示される位置に一致するように制御を行う。しかしながら、数値制御工作機械９９では、回転角検出器２の取り付け位置を制御対象である工具７６の先端に一致させることができない。そのため、回転角検出器２で検出できない外乱が制御対象に生じる場合、また、外乱にコントローラ部６ａのフィードバック制御が追いつかない場合などでは、数値制御工作機械９９において、制御対象すなわち工具７６の運動に意図しない誤差が生じる。
【００２２】
加工に影響する外乱の例としては、カップリング７４、送りねじ７３、機械構造部材７２などの振動、軸の摩擦力による誤差などが知られている。これらの外乱は、工具７６とナット８０との間に介在する別の軸の位置、工具７６および工作物７８の質量、機械の経年変化、送りねじ７３およびナット８０の摩耗、各可動軸の潤滑油量、気温の変化などによって特性が変化することが知られている。
【００２３】
前述のような使用状況によって外乱が変動するため、数値制御工作機械９９において工作物７８の加工品位を維持するためには、指令値演算部９において外乱に応じた補正を行う、コントローラ部６ａの制御パラメータを適切に変更するなどの制御が必要である。そのためには、数値制御工作機械９９の稼働中において継続的に制御対象に発生する誤差を予測できることが好ましい。
【００２４】
図４は、実施の形態１に係るシステム同定を行うサーボ制御装置１００の構成例を示すブロック図である。サーボ制御装置１００は、評価点センサ１ａと、参照点センサ１ｂと、回転角検出器２と、第一の伝達関数演算部４ａと、第二の伝達関数演算部４ｂと、シミュレーション部５と、コントローラ部６ａと、機械部７ａと、剛性値保持部８と、指令値演算部９と、を備える。サーボ制御装置１００は、機械部７ａを駆動する１つ以上のモータ７１に対して、被駆動体である工具７６の位置が位置指令Ｘｃに追従するように、回転角検出器２で検出された被駆動体の位置を示す検出位置Ｘｄをフィードバックし、コントローラ部６ａでモータ７１を制御する。
【００２５】
サーボ制御装置１００は、２つの３軸加速度センサを備える。サーボ制御装置１００は、上記構成により、作業中の機械の動特性が測定可能となる。２つの３軸加速度センサは同一種類の加速度センサであるが、便宜上、評価点センサ１ａ、および参照点センサ１ｂと区別して呼ぶこととする。３軸加速度センサの取り付け位置は、図２に示すように、評価点センサ１ａは数値制御工作機械９９の工具７６の取り付け部である主軸端面８３に取り付けられ、参照点センサ１ｂはナット８０の支持部材であるナットブロック７９に取り付けられる。評価点センサ１ａの取り付け位置を評価点とし、参照点センサ１ｂの取り付け位置を参照点とする。評価点センサ１ａを第一の検出部と称し、参照点センサ１ｂをする第二の検出部と称することがある。評価点は、制御対象と一致させることが好ましいが、Ｘ軸の場合は工具７６が回転するため、ここに加速度センサを取り付けると正しく加速度が測定できない。そのため、Ｘ軸においては、工具７６に最も近い非回転部分である主軸端面８３を評価点とする。一方、Ｙ軸であれば、工作物７８は回転しないため、加工点に最も近い工作物７８またはワークテーブル７７の上面を評価点とし、加速度センサを設置すればよい。また、評価点は、制御対象と発生する誤差量が同一とみなせる部材上であれば、任意の場所に変更してもよい。このように、評価点は、被駆動体または被駆動体に応じた位置に設定される。
【００２６】
３軸加速度センサは、１つのセンサで直交する３軸方向の加速度を測定することが可能であるため、１つの３軸加速度センサを用いることで３次元内での加速度を測定することができる。ただし、Ｘ軸サーボ制御装置１０１でシステム同定に使用するのは駆動方向であるＸ方向の加速度信号のみであるので、１軸加速度センサで代用しても差し支えない。また、評価点には３軸加速度センサを設置し、Ｘ軸とＺ軸サーボ制御装置においてそれぞれＸ方向、Ｚ方向の信号を使用し、参照点にはそれぞれの軸毎に１軸加速度センサを設置してもよい。複数の軸を有する数値制御工作機械９９において、軸毎に異なる参照点を選定してもよい。
【００２７】
サーボ制御装置１００において、３軸加速度センサの取り付けには、例えば、マグネットによる磁力を用いた接着、ジグとネジを用いた締結、ワックスによる固定、接着剤を用いた固定方法がある。本実施の形態では、評価点センサ１ａおよび参照点センサ１ｂに３軸加速度センサを利用した例を示したが、評価点および参照点の運動を計測できれば、レーザドップラー振動計のような速度計測器、レーザ変位センサ、レーザ干渉計のような変位計測器を用いてもよい。
【００２８】
参照点は、モータ７１と評価点との間の駆動力が伝達される経路上であれば、いずれの場所に設定してもよい。ただし、カップリング７４、送りねじ７３などは回転運動を行う。そのため、カップリング７４、送りねじ７３などの部材上に参照点を設定する場合には、３軸加速度センサの代わりに、カップリング７４、送りねじ７３などに回転角検出器を取り付けて回転角から角加速度を演算する、または、角加速度を直接測定可能なジャイロセンサを設置する必要がある。
【００２９】
図２に示すように、Ｘ軸サーボ制御装置１０１では、コントローラ部６ａが、指令値演算部９で生成された位置指令Ｘｃに応じてフィードバック制御を行い、機械部７ａを駆動する。このとき、評価点センサ１ａは、評価点のＸ方向の加速度信号を検出する。また、参照点センサ１ｂは、参照点のＸ方向の加速度信号を検出する。評価点センサ１ａおよび参照点センサ１ｂは、被駆動体の運動状態を示すものであれば、加速度以外を検出してもよい。評価点センサ１ａおよび参照点センサ１ｂで検出される被駆動体の運動状態を示すものを状態量と称することがある。
【００３０】
第一の伝達関数演算部４ａには、機械部７ａに取り付けられた評価点センサ１ａおよび参照点センサ１ｂのＸ方向の加速度信号が入力される。また、第二の伝達関数演算部４ｂには、参照点センサ１ｂのＸ方向の加速度信号、およびモータ７１に取り付けられた回転角検出器２から出力される検出位置Ｘｄが入力される。第一の伝達関数演算部４ａは、参照点センサ１ｂから取得した加速度信号である参照点加速度Ａｒと、評価点センサ１ａから取得した加速度信号である評価点加速度Ａｅとを用いて、参照点位置Ｘｒから評価点位置Ｘｅまでの周波数応答特性である第一の伝達関数ＦＲＦ１（ｓ）＝Ｘｅ（ｓ）／Ｘｒ（ｓ）を演算する。ただし、ｓはラプラス演算子である。第二の伝達関数演算部４ｂは、回転角検出器２で検出された検出位置Ｘｄを２階微分して得られた検出加速度Ａｄと、参照点センサ１ｂから取得した参照点加速度Ａｒとを用いて、検出位置Ｘｄから参照点位置Ｘｒまでの周波数応答特性である第二の伝達関数ＦＲＦ２（ｓ）＝Ｘｒ（ｓ）／Ｘｄ（ｓ）を演算する。ここで、第一の伝達関数演算部４ａおよび第二の伝達関数演算部４ｂで演算される伝達関数の一例は、式（１）のように表される。伝達関数の次数を決定するｎおよびｍは整数であり、ａ０，…，ａｎおよびｂ０，…，ｂｍは、伝達関数の各次数の項の係数である。
【００３１】
【数１】
2020217597.tif 000003
【００３２】
機械構造部材７２が完全な剛体であればＸｄ＝Ｘｒ＝Ｘｅとなるが、現実の機械構造は完全な剛体では近似できないため、各点における振動伝達特性、および応答特性が異なる。ただし、伝達関数演算のアルゴリズムは、最小二乗法、逐次最小二乗法、ＡＲＸ（Auto  Regressive  with  eXogenous）同定、固有値分解などの既知の時系列の入力信号および出力信号を１つずつ有する１入力１出力システムの伝達関数演算アルゴリズムのいずれを使用してもよい。
【００３３】
シミュレーション部５は、第一の伝達関数ＦＲＦ１（ｓ）、第二の伝達関数ＦＲＦ２（ｓ）、および剛性値保持部８にあらかじめ保存されている剛性値パラメータＫｄｒを用いて、指令値演算部９から入力される時々刻々の位置指令Ｘｃに対する評価点推定位置Ｘｅ１および検出点推定位置Ｘｄ１を演算し、表示器１０に出力する。ここで、剛性値パラメータＫｄｒは、あらかじめ測定されて剛性値保持部８に保存されている、検出位置Ｘｄと参照点位置Ｘｒとの間の剛性値である。剛性値パラメータＫｄｒは、スカラー量である。
【００３４】
図５は、実施の形態１に係るシミュレーション部５の構成例を示すブロック図である。シミュレーション部５は、コントローラ模擬部５１と、検出点推定位置演算部５３と、参照点推定位置演算部５４と、駆動反力推定部５５と、評価点推定位置演算部５６と、シミュレーションパラメータ設定部５７と、加減算器６１ｅと、を備える。コントローラ部６ａを模擬したコントローラ模擬部５１は、位置指令Ｘｃおよび検出点推定位置Ｘｄ１を用いて、モータトルク推定値Ｔｍ１を演算する。図６は、実施の形態１に係るコントローラ模擬部５１の構成例を示すブロック図である。コントローラ模擬部５１において、コントローラ部６ａとの差異は、フィードバック信号として検出位置Ｘｄの代わりに検出点推定位置Ｘｄ１を使用する点、および電流制御器６４の出力Ｉｍ１に対してトルク推定器７０により演算されたモータトルク推定値Ｔｍ１を出力する点である。このように、コントローラ模擬部５１は、検出位置Ｘｄの挙動が推定された検出点推定位置Ｘｄ１をフィードバックとし、コントローラ部６ａを模擬してモータ７１への指令トルク推定値であるモータトルク推定値Ｔｍ１を生成する。モータトルク推定値Ｔｍ１の一例は、モータ７１のトルク定数の推定値である。
【００３５】
図５の説明に戻る。加減算器６１ｅは、指令トルク推定値であるモータトルク推定値Ｔｍ１と駆動反力推定値Ｔｒ１との差分から有効トルク推定値（Ｔｍ１−Ｔｒ１）を演算する。検出点推定位置演算部５３は、有効トルク推定値（Ｔｍ１−Ｔｒ１）を用いて、検出点推定位置Ｘｄ１を演算する。参照点推定位置演算部５４は、第二の伝達関数ＦＲＦ２（ｓ）および検出点推定位置Ｘｄ１を用いて、参照点の挙動を推定した参照点推定位置Ｘｒ１を演算する。評価点推定位置演算部５６は、第一の伝達関数ＦＲＦ１（ｓ）および参照点推定位置Ｘｒ１を用いて、評価点の挙動を推定した評価点推定位置Ｘｅ１を演算する。駆動反力推定部５５は、検出点推定位置Ｘｄ１、参照点推定位置Ｘｒ１、および剛性値パラメータＫｄｒを用いて、駆動反力推定値Ｔｒ１を演算する。
【００３６】
シミュレーション部５は、上記構成により、検出位置Ｘｄと被駆動体との間の２点間の相対運動軌跡を測定することが可能となる。シミュレーション部５は、第一の伝達関数ＦＲＦ１（ｓ）および第二の伝達関数ＦＲＦ２（ｓ）を用いた評価点および参照点の演算方法について、時間領域の入力信号をラプラス変換し、周波数領域において伝達関数を乗じた後に、逆ラプラス変換において時間領域の出力を演算してもよいし、コントローラ部６ａの演算周期で、Ｔｕｓｔｉｎ変換などの双一次変換法を用いて、伝達関数を離散系の差分方程式で記述し、入力信号に対する出力信号を演算してもよい。
【００３７】
本実施の形態では、評価点における運動方向の運動のみを演算の対象としたが、例えば、モータ電流Ｉｍから評価点のＹ方向およびＺ方向のような駆動方向と直交する方向の加速度までの伝達関数を演算しておき、シミュレーション部５においてモータ電流Ｉｍから評価点のＹ方向およびＺ方向の推定位置を演算してもよい。
【００３８】
図７は、実施の形態１に係る駆動反力推定部５５の構成例を示すブロック図である。加減算器６１ｄは、参照点推定位置Ｘｒ１と検出点推定位置Ｘｄ１との差分（Ｘｄ１−Ｘｒ１）を演算する。乗算器６７は、剛性値パラメータＫｄｒを差分（Ｘｄ１−Ｘｒ１）に乗じ駆動反力推定値Ｔｒ１を演算する。一方で、駆動反力推定部５５は、剛性値パラメータＫｄｒの代わりに、検出位置Ｘｄと参照点位置Ｘｒとの差分（Ｘｄ−Ｘｒ）に対する駆動反力Ｔｒの伝達特性が記述された伝達関数を使用してもよい。剛性値パラメータＫｄｒは、事前に参照点に負荷を加え、加えた負荷力の大きさとその時の参照点および検出点の変位量から計算できる。
【００３９】
図５の説明に戻る。シミュレーションパラメータ設定部５７は、第一の伝達関数ＦＲＦ１（ｓ）を評価点推定位置演算部５６に設定し、第二の伝達関数ＦＲＦ２（ｓ）を参照点推定位置演算部５４に設定し、剛性値パラメータＫｄｒを駆動反力推定部５５に設定する。シミュレーションパラメータ設定部５７がパラメータを設定するタイミングは、連続する任意時間のタイミングであってもよいし、モータ７１が完全に停止しているタイミングを検知して設定してもよい。また、シミュレーションパラメータ設定部５７が設定するパラメータの値は、不連続な値を設定してもよいし、パラメータの変動が連続的になるように補間またはある時定数を持って変化させてもよい。
【００４０】
表示器１０は、シミュレーション部５から出力された評価点推定位置Ｘｅ１および検出点推定位置Ｘｄ１を、機械を操作する機械オペレータに提示するためのビデオモニタである。表示器１０は、例えば、数値制御工作機械９９の軸毎の検出点推定位置Ｘｄ１に対する評価点推定位置Ｘｅ１の誤差量を表示することで、数値制御工作機械９９で発生する誤差量を提示することができる。また、表示器１０は、Ｘ軸、Ｙ軸、およびＺ軸で同期制御を行った際の検出点位置での運動軌跡および評価点推定位置Ｘｅ１での運動軌跡を２次元平面または３次元空間上にプロットすることで、機械全体でどのような加工誤差が発生したかを機械オペレータに提示できる。これにより、機械オペレータは、表示器１０に表示された内容を確認することで加工の良否を判定し、誤差が発生した箇所に対して修正加工し、または加工プログラムを修正することができ、誤差抑制が可能となる。
【００４１】
サーボ制御装置１００の動作を、フローチャートを用いて説明する。図８は、実施の形態１に係るサーボ制御装置１００の動作を示すフローチャートである。サーボ制御装置１００において、評価点センサ１ａは、評価点の状態量を検出する（ステップＳ１）。参照点センサ１ｂは、参照点の状態量を検出する（ステップＳ２）。第一の伝達関数演算部４ａは、評価点の状態量および参照点の状態量を用いて、参照点から評価点までの周波数応答特性である第一の伝達関数ＦＲＦ１（ｓ）を演算する（ステップＳ３）。第二の伝達関数演算部４ｂは、参照点の状態量および検出位置Ｘｄを用いて、検出位置Ｘｄから参照点までの周波数応答特性である第二の伝達関数ＦＲＦ２（ｓ）を演算する（ステップＳ４）。シミュレーション部５は、第一の伝達関数ＦＲＦ１（ｓ）、第二の伝達関数ＦＲＦ２（ｓ）、位置指令Ｘｃ、および検出位置Ｘｄと参照点との間の剛性値を示す剛性値パラメータＫｄｒを用いて、評価点の推定位置を示す評価点推定位置Ｘｅ１、および検出位置Ｘｄの推定位置を示す検出点推定位置Ｘｄ１を演算する（ステップＳ５）。
【００４２】
つづいて、サーボ制御装置１００のハードウェア構成について説明する。サーボ制御装置１００において、評価点センサ１ａ、参照点センサ１ｂ、および回転角検出器２は、計測器である。機械部７ａは、アクチュエータなどを備える機器である。剛性値保持部８は、メモリである。第一の伝達関数演算部４ａ、第二の伝達関数演算部４ｂ、シミュレーション部５、コントローラ部６ａ、および指令値演算部９は、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであってもよいし、専用のハードウェアであってもよい。
【００４３】
図９は、実施の形態１に係るサーボ制御装置１００が備える処理回路をプロセッサおよびメモリで構成する場合の例を示す図である。処理回路がプロセッサ９１およびメモリ９２で構成される場合、サーボ制御装置１００の処理回路の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ９２に格納される。処理回路では、メモリ９２に記憶されたプログラムをプロセッサ９１が読み出して実行することにより、各機能を実現する。すなわち、処理回路は、サーボ制御装置１００の処理が結果的に実行されることになるプログラムを格納するためのメモリ９２を備える。また、これらのプログラムは、サーボ制御装置１００の手順および方法をコンピュータに実行させるものであるともいえる。
【００４４】
ここで、プロセッサ９１は、ＣＰＵ（Central  Processing  Unit）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはＤＳＰ（Digital  Signal  Processor）などであってもよい。また、メモリ９２には、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（登録商標）（Electrically  ＥＰＲＯＭ）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Digital  Versatile  Disc）などが該当する。
【００４５】
図１０は、実施の形態１に係るサーボ制御装置１００が備える処理回路を専用のハードウェアで構成する場合の例を示す図である。処理回路が専用のハードウェアで構成される場合、図１０に示す処理回路９３は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、またはこれらを組み合わせたものが該当する。サーボ制御装置１００の各機能を機能別に処理回路９３で実現してもよいし、各機能をまとめて処理回路９３で実現してもよい。
【００４６】
なお、サーボ制御装置１００の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように、処理回路は、専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００４７】
以上説明したように、本実施の形態によれば、システム同定を行うサーボ制御装置１００は、直接評価点の位置を測定できない場合においても、２つの加速度センサおよび回転角検出器２を用いて伝達関数を演算し、演算した伝達関数および位置指令Ｘｃを用いて、高精度に評価点の時々刻々の位置を推定することができる。サーボ制御装置１００は、加速度センサである評価点センサ１ａおよび参照点センサ１ｂの信号と、位置検出器である回転角検出器２の信号を２つ以上の帯域に分岐し、較正することで、高精度に被駆動体の運動軌跡を測定することができるようになる。
【００４８】
サーボ制御装置１００は、数値制御工作機械、産業用機械、ロボット、搬送機などの軌跡制御を行う機械において、簡易なセットアップで、機械の特性を同定し、制御対象の軌跡誤差を模擬するためのシステム同定ができる。また、サーボ制御装置１００は、制御対象である評価点の状態測定に加速度計を用いるため、使用中の機械においても工作物７８、工具７６などを外さずに測定できる。
【００４９】
実施の形態２．
実施の形態２では、サーボ制御装置においてフルクローズドループ制御を行う場合について説明する。
【００５０】
図１１は、実施の形態２に係るシステム同定を行うサーボ制御装置１００ｂの構成例を示す図である。実施の形態２のサーボ制御装置１００ｂにおいて、実施の形態１のサーボ制御装置１００との差異は、検出位置の入力として回転角検出器２の代わりに直動位置検出器２１を使用する点、実施の形態１とは構成の異なる機械部７ｂを使用する点、および機械部７ｂの制御にコントローラ部６ｂを使用する点である。
【００５１】
図１２は、実施の形態２に係る数値制御工作機械９９の軸であるＸ軸サーボ制御装置１０１ｂの構成例を示す模式図である。Ｘ軸サーボ制御装置１０１ｂは、ナットブロック７９の直動位置を検出するリニアエンコーダと呼ばれる直動位置検出器２１を備える。Ｘ軸サーボ制御装置１０１ｂのような機械構成をフルクローズドループ制御と呼ぶ。
【００５２】
図１３は、実施の形態２に係るコントローラ部６ｂの構成例を示すブロック図である。フルクローズドループ制御のサーボ制御装置１００ｂでは、コントローラ部６ｂは、直動位置検出器２１の信号を位置フィードバック信号に使用し、回転角検出器２の信号を速度フィードバック信号に使用する。その他はコントローラ部６ａと同じである。図１１から図１３では、直動位置検出器２１の信号、すなわち直動位置検出器２１で検出される検出位置をＸｌとして表している。
【００５３】
実施の形態２においては、図１２に示すように、評価点の位置は実施の形態１と同じであるが、機械部７ｂの検出点の位置は直動位置検出器２１の取り付け位置となる。また、参照点の位置は検出点と評価点との間の機械構造部材７２の表面に設置される。使用するセンサの取り付け位置が異なるだけであるので、第一の伝達関数演算部４ａ、第二の伝達関数演算部４ｂ、およびシミュレーション部５の作用は実施の形態１と同じである。
【００５４】
実施の形態２においては、回転モータであるモータ７１および送りねじ７３で駆動されるサーボ制御装置１００ｂへの適用を例に記述したが、アクチュエータにリニアモータを用いたサーボ制御装置のように、回転モータを有しない構成においても本実施の形態を適用することは可能である。
【００５５】
サーボ制御装置１００ｂの動作の流れ、およびハードウェア構成は、実施の形態１のサーボ制御装置１００と同様である。
【００５６】
以上説明したように、本実施の形態によれば、システム同定を行うサーボ制御装置１００ｂは、フルクローズドループ制御の場合においても、高精度に評価点の時々刻々の位置を推定することができる。サーボ制御装置１００ｂは、上記構成により、セミクローズドループ制御、フルクローズドループ制御のいずれの制御方式にも適用可能となる。
【００５７】
実施の形態３．
実施の形態１および実施の形態２では、直進軸であるサーボ制御装置への適用例を示したが、数値制御工作機械では回転軸を有する場合がある。実施の形態３では、回転軸であるサーボ制御装置に適用する場合について説明する。
【００５８】
図１４は、実施の形態３に係るサーボ制御装置１００ｃの構成例を示す模式図である。実施の形態３のサーボ制御装置１００ｃにおいて、実施の形態１のサーボ制御装置１００との差異は、実施の形態１とは構成の異なる機械部７ｃを使用する点である。モータ７１は、ウォームギア８１によって回転運動が減速され、回転テーブル８２を回転運動させる。図１４に示すサーボ制御装置１００ｃの回転軸では、機械構造部材７２の上に工作物７８を設置するため、この回転軸における評価点は機械構造部材７２上となる。また、図１４に示すサーボ制御装置１００ｃにおいて、参照点は、回転テーブル８２の円周上の１点とする。なお、サーボ制御装置１００ｃにおいて、回転テーブル８２の回転方向は、図１４の矢印８４で示される方向とする。
【００５９】
図１４に示すサーボ制御装置１００ｃにおいて、回転軸は回転運動をするため、評価点および参照点における運動方向は、回転運動の円周方向となる。そのため、直交３軸の加速度センサでは、参照点および評価点の回転運動を正しく測定することが難しい。実施の形態３では、加速度センサの代わりに回転運動を検出可能なジャイロセンサ１ｃを評価点に設置し、同様のジャイロセンサ１ｄを参照点に設置し、円周方向の角加速度を測定する。以上により実施の形態１に示したシステム同定方式を適用することが可能となる。
【００６０】
また、図１４に示すようなサーボ制御装置１００ｃの構成では、ジャイロセンサを使用する他に、回転中心の点対称となる位置に２つの加速度センサを設置することで、円周方向の運動を正確に測定する方式も公知であるが、円周方向の各加速度が測定できる方式や計測器であれば、この限りではない。
【００６１】
ウォームギア駆動の他に、ダイレクトドライブ方式と呼ばれる、直進軸ではリニアモータ駆動のサーボ制御装置に相当する機械構成もあるが、同様に本発明を適用可能である。
【００６２】
サーボ制御装置１００ｃの動作の流れ、およびハードウェア構成は、実施の形態１のサーボ制御装置１００と同様である。
【００６３】
以上説明したように、本実施の形態によれば、システム同定を行うサーボ制御装置１００ｃは、回転軸を有する場合においても、高精度に評価点の時々刻々の位置を推定することができる。
【００６４】
実施の形態４．
実施の形態４では、コントローラ部６ａの制御パラメータを変更する場合について説明する。
【００６５】
図１５は、実施の形態４に係るシステム同定を行うサーボ制御装置１００ｄの構成例を示す図である。実施の形態４のサーボ制御装置１００ｄは、実施の形態１のサーボ制御装置１００に制御パラメータ変更部１１を追加したものである。
【００６６】
制御パラメータ変更部１１は、シミュレーション部５で演算された評価点推定位置Ｘｅ１および検出点推定位置Ｘｄ１を用いて、コントローラ部６ａの制御パラメータＣＰを変更する。すなわち、制御パラメータ変更部１１は、被駆動体の運動精度が目標値以内になるようにコントローラ部６ａの制御パラメータＣＰを変更する。具体的には、制御パラメータ変更部１１は、コントローラ部６ａの各制御器の制御ゲインを変更する。制御パラメータ変更部１１は、例えば、評価点推定位置Ｘｅ１と検出点推定位置Ｘｄ１との差分がある閾値以上になった場合、位置制御器６２のＰゲインを下げるなどの制御を行う。制御パラメータ変更部１１は、同様に速度制御器６３のＰゲインまたはＩゲインを変更してもよい。なお、制御パラメータ変更部１１は、評価点推定位置Ｘｅ１のみを用いて、コントローラ部６ａの制御パラメータＣＰを変更してもよい。
【００６７】
サーボ制御装置１００ｄの動作を、フローチャートを用いて説明する。図１６は、実施の形態４に係るサーボ制御装置１００ｄの動作を示すフローチャートである。ステップＳ１からステップＳ５までの動作は、図８のフローチャートに示す実施の形態１のサーボ制御装置１００の動作と同様である。サーボ制御装置１００ｄにおいて、制御パラメータ変更部１１は、評価点推定位置Ｘｅ１、または評価点推定位置Ｘｅ１および検出点推定位置Ｘｄ１を用いて、被駆動体である工具７６の運動精度が目標値以内になるようにコントローラ部６ａの制御パラメータＣＰを変更する（ステップＳ１１）。コントローラ部６ａは、制御パラメータ変更部１１によって変更された制御パラメータＣＰを用いて、電流偏差（Ｉｃ−Ｉｍ）に応じて電流制御を行い、モータ電流Ｉｍを出力する（ステップＳ１２）。
【００６８】
サーボ制御装置１００ｄのハードウェア構成について、制御パラメータ変更部１１は、シミュレーション部５などと同様、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであってもよいし、専用のハードウェアであってもよい。
【００６９】
以上説明したように、本実施の形態によれば、システム同定を行うサーボ制御装置１００ｄは、評価点の時々刻々の位置を推定した結果に基づいて、コントローラ部６ａの制御パラメータＣＰを変更することで、実際の制御を高精度化することができる。サーボ制御装置１００ｄは、制御パラメータ変更部１１により、適応的に制御パラメータの変更が可能となり、制御を最適化できる。
【００７０】
実施の形態５．
実施の形態５では、コントローラ部に対する補正指令を演算する場合について説明する。
【００７１】
図１７は、実施の形態５に係るシステム同定を行うサーボ制御装置１００ｅの構成例を示す図である。実施の形態５のサーボ制御装置１００ｅは、実施の形態１のサーボ制御装置１００に対して、コントローラ部６ａの代わりにコントローラ部６ｅを有し、さらに補正指令演算部１２を追加したものである。
【００７２】
補正指令演算部１２は、シミュレーション部５で演算された評価点推定位置Ｘｅ１および検出点推定位置Ｘｄ１、さらに指令値演算部９で演算された位置指令Ｘｃを用いて、コントローラ部６ｅへの位置補正指令Ｘｃｍｐ、速度補正指令Ｖｃｍｐ、および電流補正指令Ｉｃｍｐを演算し、コントローラ部６ｅに出力する。図１８は、実施の形態５に係る補正指令演算部１２の構成例を示すブロック図である。まず、検出点位置ゲイン乗算部６９ａは、検出点推定位置Ｘｄ１に検出点位置ゲインＫｐを乗じたＫｐ×Ｘｄ１を演算する。加減算器６１ｆは、評価点推定位置Ｘｅ１と検出点位置ゲイン乗算部６９ａで演算されたＫｐ×Ｘｄ１との差分（Ｘｅ１−Ｋｐ×Ｘｄ１）を演算する。次に、位置指令ゲイン乗算部６９ｂは、位置指令Ｘｃに位置指令ゲインＫｃを乗じたＫｃ×Ｘｃを演算する。加減算器６１ｇは、加減算器６１ｆで演算された差分（Ｘｅ１−Ｋｐ×Ｘｄ１）と位置指令ゲイン乗算部６９ｂで演算されたＫｃ×Ｘｃとの差分（Ｘｅ１−Ｋｐ×Ｘｄ１−Ｋｃ×Ｘｃ）を演算する。
【００７３】
次に、フィルタ部６８は、特定の周波数成分についてフィルタリングし、補正指令を演算する。フィルタ部６８は、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ、バンドエリミネイトフィルタのいずれか、またはこれらの組み合わせである。位置補正ゲイン乗算部６９ｃは、フィルタ部６８で演算された補正指令に位置補正ゲインを乗じた値を位置補正指令Ｘｃｍｐとして出力する。速度演算器６５は、フィルタ部６８で演算された補正指令を速度の次元に演算する。速度演算器６５の一例は微分器である。速度補正ゲイン乗算部６９ｄは、速度演算器６５で演算された速度の次元の補正指令に速度補正ゲインを乗じた値を速度補正指令Ｖｃｍｐとして出力する。加速度演算器６６は、フィルタ部６８で演算された補正指令を加速度の次元に演算する。加速度演算器６６の一例は２階微分器である。電流補正ゲイン乗算部６９ｅは、加速度演算器６６で演算された加速度の次元の補正指令に電流補正ゲインを乗じた値を電流補正指令Ｉｃｍｐとして出力する。
【００７４】
なお、各種ゲインは定数値であり、０を含む実数である。例えば、補正指令演算部１２から位置補正指令Ｘｃｍｐのみ出力する場合は、速度補正ゲインおよび電流補正ゲインを０に設定すればよい。なお、補正指令演算部１２は、評価点推定位置Ｘｅ１のみを用いて、コントローラ部６ｅへの位置補正指令Ｘｃｍｐ、速度補正指令Ｖｃｍｐ、および電流補正指令Ｉｃｍｐを演算し、コントローラ部６ｅに出力してもよい。また、補正指令演算部１２は、位置補正指令Ｘｃｍｐ、速度補正指令Ｖｃｍｐ、および電流補正指令Ｉｃｍｐのうち少なくとも１つを演算し、コントローラ部６ｅに出力してもよい。
【００７５】
コントローラ部６ｅは、補正指令演算部１２から各補正指令を受け取り、フィードバック制御を行う。図１９は、実施の形態５に係るコントローラ部６ｅの構成例を示すブロック図である。実施の形態１のコントローラ部６ａとの差異は、加減算器６１ａ、加減算器６１ｂ、および加減算器６１ｃの演算内容である。具体的には、加減算器６１ａは、位置指令Ｘｃ、検出位置Ｘｄ、および位置補正指令Ｘｃｍｐから位置偏差（Ｘｃ−Ｘｄ＋Ｘｃｍｐ）を演算する。また、加減算器６１ｂは、速度指令Ｖｃ、検出速度Ｖｄ、および速度補正指令Ｖｃｍｐから速度偏差Ｖｄｅ＝Ｖｃ−Ｖｄ＋Ｖｃｍｐを演算する。また、加減算器６１ｃは、電流指令Ｉｃ、モータ電流Ｉｍ、および電流補正指令Ｉｃｍｐから電流偏差（Ｉｃ−Ｉｍ＋Ｉｃｍｐ）を演算する点である。
【００７６】
サーボ制御装置１００ｅの動作を、フローチャートを用いて説明する。図２０は、実施の形態５に係るサーボ制御装置１００ｅの動作を示すフローチャートである。ステップＳ１からステップＳ５までの動作は、図８のフローチャートに示す実施の形態１のサーボ制御装置１００の動作と同様である。サーボ制御装置１００ｅにおいて、補正指令演算部１２は、補正指令を演算する（ステップＳ２１）。具体的には、補正指令演算部１２は、評価点推定位置Ｘｅ１、または評価点推定位置Ｘｅ１および検出点推定位置Ｘｄ１を用いて、コントローラ部６ｅへの位置補正指令Ｘｃｍｐ、速度補正指令Ｖｃｍｐ、および電流補正指令Ｉｃｍｐのうち少なくとも１つを演算する。コントローラ部６ｅは、補正指令演算部１２で演算された補正指令を用いて、モータ電流Ｉｍを出力する（ステップＳ２２）。具体的には、コントローラ部６ｅは、位置補正指令Ｘｃｍｐ、速度補正指令Ｖｃｍｐ、および電流補正指令Ｉｃｍｐのうち少なくとも１つを用いて、電流偏差（Ｉｃ−Ｉｍ＋Ｉｃｍｐ）に応じて電流制御を行い、モータ電流Ｉｍを出力する。
【００７７】
サーボ制御装置１００ｅのハードウェア構成について、補正指令演算部１２は、シミュレーション部５などと同様、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであってもよいし、専用のハードウェアであってもよい。
【００７８】
以上説明したように、本実施の形態によれば、システム同定を行うサーボ制御装置１００ｅは、シミュレーションによって推定した評価点推定位置Ｘｅ１に応じて補正指令を生成することで、高精度な運動を実現できる。サーボ制御装置１００ｅは、上記構成により、補正指令を生成し、直接フィードバックすることで高精度に補正可能となる。
【００７９】
実施の形態６．
実施の形態６では、システム同定を行うサーボ制御装置が、物理的に離れた場所に分散して設置される場合について説明する。
【００８０】
図２１は、実施の形態６に係るシステム同定を行うサーボ制御装置１００ｆの構成例を示す図である。サーボ制御装置１００ｆにおいて、実施の形態５のサーボ制御装置１００ｅとの差異は、センサ信号送信部３０、補正指令送信部３１、センサ信号受信部３２、補正指令受信部３３、およびシミュレーション指令値演算部９０を有する点である。
【００８１】
センサ信号送信部３０は、数値制御工作機械９９に設置される第一の送信部である。センサ信号送信部３０は、評価点センサ１ａから加速度信号である評価点加速度Ａｅを取得し、参照点センサ１ｂから加速度信号である参照点加速度Ａｒを取得し、回転角検出器２で検出された検出位置Ｘｄを取得する。センサ信号送信部３０は、取得した評価点加速度Ａｅ、参照点加速度Ａｒ、および検出位置Ｘｄを、ネットワークを介して遠隔地に設置されたセンサ信号受信部３２へ送信する。センサ信号受信部３２は、評価点加速度Ａｅ、参照点加速度Ａｒ、および検出位置Ｘｄを受信すると、評価点加速度Ａｅおよび参照点加速度Ａｒを第一の伝達関数演算部４ａに出力し、参照点加速度Ａｒおよび検出位置Ｘｄを第二の伝達関数演算部４ｂに出力する第一の受信部である。センサ信号送信部３０およびセンサ信号受信部３２は、ネットワークケーブルにより物理的に接続されていてもよいし、無線ネットワーク通信によって接続されていてもよいし、ネットワークケーブルおよび無線ネットワーク通信の組み合わせによって接続されていてもよい。
【００８２】
補正指令送信部３１は、補正指令演算部１２から位置補正指令Ｘｃｍｐ、速度補正指令Ｖｃｍｐ、および電流補正指令Ｉｃｍｐのうち少なくとも１つを取得し、ネットワークを介して遠隔地に設置された補正指令受信部３３に送信する第二の送信部である。補正指令受信部３３は、位置補正指令Ｘｃｍｐ、速度補正指令Ｖｃｍｐ、および電流補正指令Ｉｃｍｐのうち少なくとも１つを受信すると、コントローラ部６ｅに出力する第二の受信部である。補正指令送信部３１および補正指令受信部３３は、ネットワークケーブルにより物理的に接続されていてもよいし、無線ネットワーク通信によって接続されていてもよいし、ネットワークケーブルおよび無線ネットワーク通信の組み合わせによって接続されていてもよい。
【００８３】
シミュレーション部５が遠隔地に設置される場合、シミュレーション部５が指令値演算部９の指令値を受け取ってから評価点推定位置Ｘｅ１を演算し、補正指令演算部１２が補正指令を演算していると、通信の遅延の影響によって、コントローラ部６ｅにおいて補正指令の入力タイミングが遅れるという問題がある。そのため、シミュレーション部５および補正指令演算部１２は、指令値演算部９と同じ位置指令Ｘｃを演算するシミュレーション指令値演算部９０を用いて事前に演算を行う。補正指令送信部３１は、補正指令演算部１２で事前に演算された補正指令を送信する。補正指令の送信について、全ての位置指令Ｘｃに対する補正指令を補正指令演算部１２で事前に全て行った後、補正指令送信部３１が、まとめて送信してもよい。また、補正指令が適切なタイミングで補正指令受信部３３に到着するように、指令値演算部９に対してシミュレーション指令値演算部９０を早いタイミングで起動して補正指令演算部１２で補正指令を演算し、補正指令送信部３１が、時々刻々の補正指令を都度送信してもよい。また、指令値演算部９およびシミュレーション指令値演算部９０を同時に起動し、シミュレーション部５および補正指令演算部１２が実時間よりも早い処理周期で演算することで、補正指令送信部３１が、時々刻々の補正指令を都度送信してもよい。
【００８４】
サーボ制御装置１００ｆの動作の流れは、実施の形態１のサーボ制御装置１００と同様である。サーボ制御装置１００ｆのハードウェア構成について、センサ信号送信部３０および補正指令送信部３１は、無線通信または有線通信を行う送信機である。また、センサ信号受信部３２および補正指令受信部３３は、無線通信または有線通信を行う受信機である。
【００８５】
以上説明したように、本実施の形態によれば、システム同定を行うサーボ制御装置１００ｆは、物理的に離れた場所に分散して設置する場合においても、遅延なく適切なタイミングで補正指令を用いた制御を行うことができる。
【００８６】
実施の形態７．
実施の形態１から６においては、１入力１出力、いわゆるＳＩＳＯ（Single  Input  Single  Output）の古典的な伝達関数演算アルゴリズムを有する伝達関数演算部を使用した例について説明した。実施の形態７では、機械学習により多入力多出力、いわゆるＭＩＭＯ（Multi  Input  Multi  Output）の伝達関数を算出する方法について説明する。
【００８７】
図２２は、実施の形態７に係るシステム同定を行うサーボ制御装置１００ｇの構成例を示すブロック図である。実施の形態７のサーボ制御装置１００ｇは、実施の形態１のサーボ制御装置１００に対して、第一の伝達関数演算部４ａおよび第二の伝達関数演算部４ｂの代わりに学習部１３ｇを有し、さらにシミュレーション部５の代わりにシミュレーション部５ｇを有するものである。
【００８８】
学習部１３ｇが用いる機械学習アルゴリズムについては、どのようなものを用いてもよい。本実施の形態では、一例として、深層学習、すなわちＤＬ（Deep  Learning）を適用した場合について説明する。図２３は、実施の形態７に係る学習部１３ｇの構成例を示すブロック図である。学習部１３ｇには、評価点加速度Ａｅ、参照点加速度Ａｒ、および検出位置Ｘｄが入力される。評価点加速度Ａｅは、評価点センサ１ａの取り付け位置である評価点の状態量である。参照点加速度Ａｒは、参照点センサ１ｂの取り付け位置である参照点の状態量である。検出位置Ｘｄは、コントローラ部６ａで取得される、アクチュエータであるモータ７１の状態量である。学習部１３ｇは、評価点の状態量、参照点の状態量、およびコントローラ部６ａで取得されるアクチュエータの状態量を状態変数として観測し、状態変数に基づいて作成される訓練データセットに従って学習を行う。学習部１３ｇは、入力されたデータを予め設定された学習周期毎にサンプリングし、訓練データセットとして学習に使用する。学習部１３ｇは、評価点の状態量、参照点の状態量、およびアクチュエータの状態量である検出位置Ｘｄを訓練データセットに使用して、検出位置Ｘｄを入力とし、評価点の状態量、および参照点の状態量を出力とするシステムモデルを学習する。学習部１３ｇは、ニューラルネットワーク部９１ｇと、損失関数演算部９２ｇと、オプティマイザ部９３ｇと、ＡＩ（Artificial  Intelligence）モデル出力部９４ｇと、を備える。
【００８９】
学習部１３ｇは、訓練データセット、すなわち評価点加速度Ａｅ、参照点加速度Ａｒ、および検出位置Ｘｄを用いて、評価点加速度Ａｅ、および参照点加速度Ａｒについて、予め定められた時刻である一定時刻先の学習評価点加速度ＡｅＭ、および学習参照点加速度ＡｒＭを予測するためのシステムモデルとして、ネットワーク構造パラメータＭｄｌ１の学習を実施する。具体的には、ニューラルネットワーク部９１ｇは、ネットワーク構造パラメータＭｄｌ１を学習により決定する。ネットワーク構造パラメータＭｄｌ１の一例としては、重みパラメータ、バイアスパラメータなどが該当する。ニューラルネットワーク部９１ｇは、訓練データセットを入力とし、ネットワーク構造パラメータＭｄｌ１を用いて、ニューラルネットワークの計算、すなわち推論処理を行い、学習評価点加速度ＡｅＭ、および学習参照点加速度ＡｒＭを演算する。ニューラルネットワーク部９１ｇは、演算により求めた学習評価点加速度ＡｅＭ、および学習参照点加速度ＡｒＭを損失関数演算部９２ｇに出力する。
【００９０】
損失関数演算部９２ｇは、実際の評価点加速度Ａｅおよび参照点加速度Ａｒと、ニューラルネットワーク部９１ｇで演算された学習評価点加速度ＡｅＭおよび学習参照点加速度ＡｒＭとを入力とし、損失関数Ｌｆを演算する。損失関数演算部９２ｇは、損失関数の実装について、公知の技術で知られているようないずれの損失関数を使用してもよい。最も簡易な損失関数の実装としては、推定値と実測値の差分の二乗和がある。損失関数演算部９２ｇは、演算により求めた損失関数Ｌｆを、オプティマイザ部９３ｇおよびＡＩモデル出力部９４ｇに出力する。
【００９１】
オプティマイザ部９３ｇは、損失関数演算部９２ｇで演算により求められた損失関数Ｌｆを用いて、次の学習時に使用するネットワーク構造パラメータＭｄｌ１を更新する。オプティマイザ部９３ｇは、誤差逆伝播法とも呼ばれるバックプロパゲーションなどの公知の技術を用いて各パラメータを計算する。
【００９２】
ＡＩモデル出力部９４ｇは、損失関数Ｌｆを入力とし、損失関数Ｌｆの値と予め決められた閾値とを比較する。ＡＩモデル出力部９４ｇは、損失関数Ｌｆの値が予め決められた閾値以下になった場合、ネットワーク構造パラメータＭｄｌ１をシミュレーション部５ｇに出力する。ＡＩモデル出力部９４ｇは、ネットワーク構造パラメータＭｄｌ１の出力タイミングについて、予め設定されたモデル更新周期で周期的に出力してもよい。
【００９３】
なお、学習部１３ｇは、コントローラ部６ａでサンプリングされる、モータ７１の速度または加速度、モータ７１に流れるモータ電流などを組み合わせて学習を行う構成であってもよい。
【００９４】
図２４は、実施の形態７に係るシミュレーション部５ｇの構成例を示すブロック図である。シミュレーション部５ｇは、学習部１３ｇの学習結果を用いて、指令値演算部９から入力される時々刻々の位置指令Ｘｃに対する評価点推定位置Ｘｅ１および検出点推定位置Ｘｄ１を演算し、表示器１０に出力する。実施の形態７のシミュレーション部５ｇは、実施の形態１のシミュレーション部５に対して、参照点推定位置演算部５４および評価点推定位置演算部５６の代わりに、ＡＩモデル部５８ｇ、２階積分器９５、および２階積分器９６を有するものである。なお、本実施の形態において、シミュレーションパラメータ設定部５７は、学習部１３ｇで学習されたネットワーク構造パラメータＭｄｌ１をＡＩモデル部５８ｇに設定し、剛性値パラメータＫｄｒを駆動反力推定部５５に設定する。
【００９５】
ＡＩモデル部５８ｇは、ニューラルネットワーク部９１ｇと同じニューラルネットワーク構造を有する人工知能モデル部である。ＡＩモデル部５８ｇは、評価点加速度Ａｅ、参照点加速度Ａｒ、シミュレーションパラメータ設定部５７から設定されたネットワーク構造パラメータＭｄｌ１、および検出点推定位置演算部５３で演算された検出点推定位置Ｘｄ１を用いて、ニューラルネットワークの計算、すなわち推論処理を行い、推定評価点加速度Ａｅ１、および推定参照点加速度Ａｒ１を演算する。ＡＩモデル部５８ｇは、推定評価点加速度Ａｅ１を２階積分器９５に出力し、推定参照点加速度Ａｒ１を２階積分器９６に出力する。
【００９６】
２階積分器９５は、入力された推定評価点加速度Ａｅ１を２階積分し、評価点推定位置Ｘｅ１に変換する。２階積分器９６は、入力された推定参照点加速度Ａｒ１を２階積分し、参照点推定位置Ｘｒ１に変換する。なお、２階積分器９５，９６の機能をＡＩモデル部５８ｇが備えるようにしてもよい。この場合、ＡＩモデル部５８ｇは、演算により求めた推定評価点加速度Ａｅ１を２階積分して評価点推定位置Ｘｅ１に変換、すなわち評価点推定位置Ｘｅ１を演算する。同様に、ＡＩモデル部５８ｇは、演算により求めた推定参照点加速度Ａｒ１を２階積分して参照点推定位置Ｘｒ１に変換、すなわち参照点推定位置Ｘｒ１を演算する。
【００９７】
学習部１３ｇが深層学習を利用して機械学習する場合について説明したが、一例であり、これに限定されない。学習部１３ｇは、他の公知の方法、例えば、Ｑ学習、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【００９８】
サーボ制御装置１００ｇの動作を、フローチャートを用いて説明する。図２５は、実施の形態７に係るサーボ制御装置１００ｇの動作を示すフローチャートである。ステップＳ１およびステップＳ２の動作は、図８のフローチャートに示す実施の形態１のサーボ制御装置１００の動作と同様である。サーボ制御装置１００ｇにおいて、学習部１３ｇは、評価点の状態量、参照点の状態量、および検出位置Ｘｄを用いて、ネットワーク構造パラメータＭｄｌ１を学習する（ステップＳ３１）。シミュレーション部５ｇは、評価点の状態量、参照点の状態量、ネットワーク構造パラメータＭｄｌ１、位置指令Ｘｃ、および剛性値パラメータＫｄｒを用いて、評価点推定位置Ｘｅ１、および検出点推定位置Ｘｄ１を演算する（ステップＳ３２）。サーボ制御装置１００ｇのハードウェア構成について、学習部１３ｇおよびシミュレーション部５ｇは、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであってもよいし、専用のハードウェアであってもよい。
【００９９】
以上説明したように、本実施の形態によれば、システム同定を行うサーボ制御装置１００ｇは、機械学習アルゴリズムを適用することで、人が明示的にモデル構造を設計することなしに、多入力多出力のシステムモデルを得ることができる。なお、実施の形態１を例にして説明したが、一例であり、これに限定されない。本実施の形態については、実施の形態２から６についても適用可能である。
【０１００】
実施の形態８．
実施の形態７では、実施の形態１から６と同様のシミュレーション部のモデル構成を満たすシステムモデルを機械学習によって同定する方法について説明した。実施の形態８では、異なる構造のシミュレーション部のモデルを機械学習によって同定する方法について説明する。
【０１０１】
図２６は、実施の形態８に係るシステム同定を行うサーボ制御装置１００ｈの構成例を示す図である。実施の形態８のサーボ制御装置１００ｈは、実施の形態７のサーボ制御装置１００ｇに対して、学習部１３ｇ、シミュレーション部５ｇ、および剛性値保持部８の代わりに、学習部１３ｈ、およびシミュレーション部５ｈを有するものである。
【０１０２】
図２７は、実施の形態８に係る学習部１３ｈの構成例を示すブロック図である。学習部１３ｈは、実施の形態７の学習部１３ｇに対して、ニューラルネットワーク部９１ｇ、および損失関数演算部９２ｇの代わりに、ニューラルネットワーク部９１ｈ、および損失関数演算部９２ｈを有するものである。学習部１３ｈは、評価点の状態量、参照点の状態量、アクチュエータの状態量である検出位置、およびアクチュエータの駆動力を訓練データセットに使用して、検出位置を入力とし、評価点の状態量、および駆動反力推定値を出力とするシステムモデルを学習する。学習部１３ｈは、ニューラルネットワーク部９１ｈと、損失関数演算部９２ｈと、オプティマイザ部９３ｈと、ＡＩモデル出力部９４ｈと、を備える。
【０１０３】
学習部１３ｈは、訓練データセット、すなわち評価点加速度Ａｅ、参照点加速度Ａｒ、検出位置Ｘｄ、およびモータ電流Ｉｍを用いて、評価点加速度Ａｅ、および駆動反力推定値Ｔｒ１について、予め定められた時刻である一定時刻先の学習評価点加速度ＡｅＭ、および学習駆動反力ＴｒＭを予測するためのシステムモデルとして、ネットワーク構造パラメータＭｄｌ２の学習を実施する。具体的には、ニューラルネットワーク部９１ｈは、ネットワーク構造パラメータＭｄｌ２を学習により決定する。ネットワーク構造パラメータＭｄｌ２の一例としては、重みパラメータ、バイアスパラメータなどが該当する。ニューラルネットワーク部９１ｈは、訓練データセットを入力とし、ネットワーク構造パラメータＭｄｌ２を用いて、ニューラルネットワークの計算、すなわち推論処理を行い、学習評価点加速度ＡｅＭ、および学習駆動反力ＴｒＭを演算する。ニューラルネットワーク部９１ｈは、演算により求めた学習評価点加速度ＡｅＭ、および学習駆動反力ＴｒＭを損失関数演算部９２ｈに出力する。
【０１０４】
損失関数演算部９２ｈは、実際の評価点加速度Ａｅ、参照点加速度Ａｒおよび検出位置Ｘｄと、コントローラ部６ａで演算されたモータ電流Ｉｍと、ニューラルネットワーク部９１ｈで演算された学習評価点加速度ＡｅＭおよび学習駆動反力ＴｒＭとを入力とし、損失関数Ｌｆを演算する。このとき、損失関数演算部９２ｈは、モータ電流Ｉｍ、および検出位置Ｘｄを用いて、実行駆動反力演算値Ｔｒ２を以下の式（２）から算出する。
【０１０５】
【数２】
2020217597.tif 000004
【０１０６】
式（２）において、Ｋｔはモータ電流Ｉｍからトルクを演算するトルク定数を示し、Ｊｍはモータ７１単体でのイナーシャを示す。これにより、損失関数演算部９２ｈは、学習評価点加速度ＡｅＭ、学習駆動反力Ｔｒｍ、評価点加速度Ａｅ、および実行駆動反力演算値Ｔｒ２を用いて、損失関数Ｌｆを演算することができる。
【０１０７】
オプティマイザ部９３ｈは、損失関数演算部９２ｈで演算により求められた損失関数Ｌｆを用いて、次の学習時に使用するネットワーク構造パラメータＭｄｌ２を更新する。オプティマイザ部９３ｈは、誤差逆伝播法とも呼ばれるバックプロパゲーションなどの公知の技術を用いて各パラメータを計算する。
【０１０８】
ＡＩモデル出力部９４ｈは、損失関数Ｌｆを入力とし、損失関数Ｌｆの値と予め決められた閾値とを比較する。ＡＩモデル出力部９４ｈは、損失関数Ｌｆの値が予め決められた閾値以下になった場合、ネットワーク構造パラメータＭｄｌ２をシミュレーション部５ｈに出力する。ＡＩモデル出力部９４ｈは、ネットワーク構造パラメータＭｄｌ２の出力タイミングについて、予め設定されたモデル更新周期で周期的に出力してもよい。
【０１０９】
図２８は、実施の形態８に係るシミュレーション部５ｈの構成例を示すブロック図である。実施の形態８のシミュレーション部５ｈは、実施の形態７のシミュレーション部５ｇに対して、駆動反力推定部５５、ＡＩモデル部５８ｇ、および２階積分器９６の代わりに、ＡＩモデル部５８ｈを有するものである。なお、本実施の形態において、シミュレーションパラメータ設定部５７は、学習部１３ｈで学習されたネットワーク構造パラメータＭｄｌ２をＡＩモデル部５８ｈに設定する。
【０１１０】
ＡＩモデル部５８ｈは、ニューラルネットワーク部９１ｈと同じニューラルネットワーク構造を有する人工知能モデル部である。ＡＩモデル部５８ｈは、シミュレーションパラメータ設定部５７から入力されたネットワーク構造パラメータＭｄ２、コントローラ模擬部５１で演算された推定モータ電流Ｉｍ２、検出点推定位置演算部５３で演算された検出点推定位置Ｘｄ１、および１サンプル前にＡＩモデル部５８ｈで演算された推定評価点加速度Ａｅ１を用いて、ニューラルネットワークの計算、すなわち推論処理を行い、推定評価点加速度Ａｅ１、および駆動反力推定値Ｔｒ１を演算する。ＡＩモデル部５８ｈは、推定評価点加速度Ａｅ１を２階積分器９５に出力し、駆動反力推定値Ｔｒ１を加減算器６１ｅに出力する。
【０１１１】
２階積分器９５は、入力された推定評価点加速度Ａｅ１を２階積分し、評価点推定位置Ｘｅ１に変換する。なお、２階積分器９５の機能をＡＩモデル部５８ｈが備えるようにしてもよい。この場合、ＡＩモデル部５８ｈは、演算により求めた推定評価点加速度Ａｅ１を２階積分して評価点推定位置Ｘｅ１に変換、すなわち評価点推定位置Ｘｅ１を演算する。
【０１１２】
サーボ制御装置１００ｈの動作を示すフローチャートは、図２５に示すサーボ制御装置１００ｇのものと同様である。ただし、ステップＳ３２において、シミュレーション部５ｈが、評価点推定位置Ｘｅ１、および検出点推定位置Ｘｄ１を演算する際に、ネットワーク構造パラメータＭｄｌ２、および位置指令Ｘｃを用いる点が異なる。サーボ制御装置１００ｈのハードウェア構成について、学習部１３ｈおよびシミュレーション部５ｈは、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであってもよいし、専用のハードウェアであってもよい。
【０１１３】
以上説明したように、本実施の形態によれば、システム同定を行うサーボ制御装置１００ｈは、機械学習によって得られたネットワーク構造パラメータＭｄ２を用いて、ＡＩモデル部５８ｈで推論を行う際、センサデータ、実際のアクチュエータのサンプルデータなどを使用することなく推論を行うことができる。これにより、サーボ制御装置１００ｈは、ＡＩモデル部５８ｈで推論を行う際に通信の遅延を考慮しなくてもよくなるので、シミュレーション部５ｈを物理的に離れた場所に置くことが可能となる。なお、実施の形態１を例にして説明したが、一例であり、これに限定されない。本実施の形態については、実施の形態２から６についても適用可能である。
【０１１４】
以上のように本発明に係るサーボ制御装置は、制御対象である評価点に取り付けた加速度センサの信号と、位置検出器を取り付けた検出点の検出位置から演算した加速度と、検出点と評価点の間に設定された参照点に取り付けられた加速度センサの信号とを用いて、検出点から参照点までの伝達関数と、参照点から評価点までの伝達関数とを演算する。サーボ制御装置は、演算した２つの伝達関数と検出点から参照点までの剛性とを用いて、制御対象の時々刻々の軌跡誤差量を予想することができ、実際の使用状態にある機械の軌跡誤差をジグや工具を外すことなく精度よく測定する方法に適している。
【０１１５】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１１６】
１ａ  評価点センサ、１ｂ  参照点センサ、１ｃ，１ｄ  ジャイロセンサ、２  回転角検出器、４ａ  第一の伝達関数演算部、４ｂ  第二の伝達関数演算部、５，５ｇ，５ｈ  シミュレーション部、６ａ，６ｂ，６ｅ  コントローラ部、７ａ，７ｂ，７ｃ  機械部、８  剛性値保持部、９  指令値演算部、１０  表示器、１１  制御パラメータ変更部、１２  補正指令演算部、１３ｇ，１３ｈ  学習部、２１  直動位置検出器、３０  センサ信号送信部、３１  補正指令送信部、３２  センサ信号受信部、３３  補正指令受信部、５１  コントローラ模擬部、５３  検出点推定位置演算部、５４  参照点推定位置演算部、５５  駆動反力推定部、５６  評価点推定位置演算部、５７  シミュレーションパラメータ設定部、５８ｇ，５８ｈ  ＡＩモデル部、６１ａ，６１ｂ，６１ｃ，６１ｄ，６１ｅ，６１ｆ，６１ｇ  加減算器、６２  位置制御器、６３  速度制御器、６４  電流制御器、６５  速度演算器、６６  加速度演算器、６７  乗算器、６８  フィルタ部、６９ａ  検出点位置ゲイン乗算部、６９ｂ  位置指令ゲイン乗算部、６９ｃ  位置補正ゲイン乗算部、６９ｄ  速度補正ゲイン乗算部、６９ｅ  電流補正ゲイン乗算部、７０  トルク推定器、７１  モータ、７２  機械構造部材、７３  送りねじ、７４  カップリング、７５ａ，７５ｂ  支持軸受、７６  工具、７７  ワークテーブル、７８  工作物、７９  ナットブロック、８０  ナット、８１  ウォームギア、８２  回転テーブル、８３  主軸端面、９０  シミュレーション指令値演算部、９１ｇ，９１ｈ  ニューラルネットワーク部、９２ｇ，９２ｈ  損失関数演算部、９３ｇ，９３ｈ  オプティマイザ部、９４ｇ，９４ｈ  ＡＩモデル出力部、９５，９６  ２階積分器、９９  数値制御工作機械、１００，１００ｂ，１００ｃ，１００ｄ，１００ｅ，１００ｆ，１００ｇ，１００ｈ  サーボ制御装置、１０１，１０１ｂ  Ｘ軸サーボ制御装置。
【図１】
2020217597.tif 000005
【図２】
2020217597.tif 000006
【図３】
2020217597.tif 000007
【図４】
2020217597.tif 000008
【図５】
2020217597.tif 000009
【図６】
2020217597.tif 000010
【図７】
2020217597.tif 000011
【図８】
2020217597.tif 000012
【図９】
2020217597.tif 000013
【図１０】
2020217597.tif 000014
【図１１】
2020217597.tif 000015
【図１２】
2020217597.tif 000016
【図１３】
2020217597.tif 000017
【図１４】
2020217597.tif 000018
【図１５】
2020217597.tif 000019
【図１６】
2020217597.tif 000020
【図１７】
2020217597.tif 000021
【図１８】
2020217597.tif 000022
【図１９】
2020217597.tif 000023
【図２０】
2020217597.tif 000024
【図２１】
2020217597.tif 000025
【図２２】
2020217597.tif 000026
【図２３】
2020217597.tif 000027
【図２４】
2020217597.tif 000028
【図２５】
2020217597.tif 000029
【図２６】
2020217597.tif 000030
【図２７】
2020217597.tif 000031
【図２８】
2020217597.tif 000032
【手続補正書】
【提出日】令和3年4月6日(2021.4.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御対象である被駆動体が接続された機械部を駆動する１つ以上のアクチュエータに対して、前記被駆動体の位置が指令値演算部で演算された位置を指示する位置指令に追従するように、検出点に取り付けられた位置検出器で検出された前記被駆動体の位置を示す検出位置をフィードバックし、コントローラ部で前記アクチュエータを制御するサーボ制御装置であって、
前記被駆動体または前記被駆動体に応じた位置に設定された評価点の状態量を検出する第一の検出部と、
前記評価点と前記アクチュエータとの間の前記機械部に設定された参照点の状態量を検出する第二の検出部と、
前記評価点の状態量および前記参照点の状態量を用いて、前記参照点から前記評価点までの周波数応答特性である第一の伝達関数を演算する第一の伝達関数演算部と、
前記参照点の状態量および前記検出位置を用いて、前記検出位置から前記参照点までの周波数応答特性である第二の伝達関数を演算する第二の伝達関数演算部と、
前記第一の伝達関数、前記第二の伝達関数、および前記検出位置と前記参照点との間の剛性値を示す剛性値パラメータを用いて、前記評価点の推定位置を演算する第一のシミュレーション部と、
を備え、
前記第一のシミュレーション部は、
前記検出位置の挙動が推定された検出点推定位置をフィードバックとし、前記コントローラ部を模擬して前記アクチュエータへの指令トルク推定値を生成するコントローラ模擬部と、
前記第二の伝達関数および前記検出点推定位置を用いて、前記参照点の挙動を推定した参照点推定位置を演算する参照点推定位置演算部と、
前記第一の伝達関数および前記参照点推定位置を用いて、前記評価点の挙動を推定した評価点推定位置を演算する評価点推定位置演算部と、
前記検出点推定位置、前記参照点推定位置、および前記剛性値パラメータを用いて、駆動反力推定値を演算する駆動反力推定部と、
前記駆動反力推定値および前記指令トルク推定値から演算される有効トルク推定値を用いて、前記検出点推定位置を演算する検出点推定位置演算部と、
前記第一の伝達関数を前記評価点推定位置演算部に設定し、前記第二の伝達関数を前記参照点推定位置演算部に設定し、前記剛性値パラメータを前記駆動反力推定部に設定するシミュレータパラメータ設定部と、
を備えることを特徴とするサーボ制御装置。
【請求項２】
制御対象である被駆動体が接続された機械部を駆動する１つ以上のアクチュエータに対して、前記被駆動体の位置が指令値演算部で演算された位置を指示する位置指令に追従するように、検出点に取り付けられた位置検出器で検出された前記被駆動体の位置を示す検出位置をフィードバックし、コントローラ部で前記アクチュエータを制御するサーボ制御装置であって、
前記被駆動体または前記被駆動体に応じた位置に設定された評価点の状態量を検出する第一の検出部と、
前記評価点と前記アクチュエータとの間の前記機械部に設定された参照点の状態量を検出する第二の検出部と、
前記評価点の状態量、前記参照点の状態量、および前記コントローラ部で取得される前記アクチュエータの状態量である前記検出位置を状態変数として観測し、前記状態変数に基づいて作成される訓練データセットに従って学習を行う学習部と、
前記学習部の学習結果を用いて、前記評価点の挙動を推定した評価点推定位置、および前記検出位置の挙動を推定した検出点推定位置を演算する第二のシミュレーション部と、
を備え、
前記第二のシミュレーション部は、
前記検出位置の挙動が推定された検出点推定位置をフィードバックとし、前記コントローラ部を模擬して前記アクチュエータへの指令トルク推定値を生成するコントローラ模擬部と、
前記学習部で学習されたシステムモデルを用いて、前記評価点推定位置、および前記参照点の挙動を推定した参照点推定位置を演算する人工知能モデル部と、
前記検出点推定位置、前記参照点推定位置、および前記検出位置と前記参照点との間の剛性値を示す剛性値パラメータを用いて、駆動反力推定値を演算する駆動反力推定部と、
前記駆動反力推定値および前記指令トルク推定値から演算される有効トルク推定値を用いて、前記検出点推定位置を演算する検出点推定位置演算部と、
前記学習部で学習されたネットワーク構造パラメータを前記人工知能モデル部に設定し、前記剛性値パラメータを前記駆動反力推定部に設定するシミュレータパラメータ設定部と、
を備えることを特徴とするサーボ制御装置。
【請求項３】
前記第一の検出部および前記第二の検出部は、加速度センサである、
ことを特徴とする請求項１または２に記載のサーボ制御装置。
【請求項４】
前記位置検出器は、前記アクチュエータに取り付けられた回転角検出器、または前記機械部に取り付けられた直動位置検出器である、
ことを特徴とする請求項１から３のいずれか１つに記載のサーボ制御装置。
【請求項５】
前記評価点推定位置、または前記評価点推定位置および前記検出点推定位置を用いて、前記被駆動体の運動精度が目標値以内になるように前記コントローラ部の制御パラメータを変更する制御パラメータ変更部、
を備えることを特徴とする請求項１または２に記載のサーボ制御装置。
【請求項６】
前記学習部は、前記評価点の状態量、前記参照点の状態量、および前記検出位置を訓練データセットに使用して、前記検出位置を入力とし、前記評価点の状態量、および前記参照点の状態量を出力とするシステムモデルを学習する、
ことを特徴とする請求項２に記載のサーボ制御装置。
【請求項７】
前記学習部は、前記評価点の状態量、前記参照点の状態量、前記検出位置、および前記アクチュエータの駆動力を訓練データセットに使用して、前記検出位置を入力とし、前記評価点の状態量、および駆動反力推定値を出力とするシステムモデルを学習する、
ことを特徴とする請求項２に記載のサーボ制御装置。
【請求項８】
前記第二のシミュレーション部は、
前記検出位置の挙動が推定された検出点推定位置をフィードバックとし、前記コントローラ部を模擬して前記アクチュエータへの指令トルク推定値を生成するコントローラ模擬部と、
前記学習部で学習されたシステムモデルを用いて、前記評価点推定位置、および駆動反力推定値を演算する人工知能モデル部と、
前記駆動反力推定値および前記指令トルク推定値から演算される有効トルク推定値を用いて、前記検出点推定位置を演算する検出点推定位置演算部と、
前記学習部で学習されたネットワーク構造パラメータを前記人工知能モデル部に設定するシミュレータパラメータ設定部と、
を備えることを特徴とする請求項２または７に記載のサーボ制御装置。
【請求項９】
前記評価点推定位置、または前記評価点推定位置および前記検出点推定位置を用いて、前記コントローラ部への位置補正指令、速度補正指令、および電流補正指令のうち少なくとも１つを演算し、前記コントローラ部に出力する補正指令演算部、
を備えることを特徴とする請求項１に記載のサーボ制御装置。
【請求項１０】
前記評価点の状態量、前記参照点の状態量、および前記検出位置を送信する第一の送信部と、
前記評価点の状態量、前記参照点の状態量、および前記検出位置を受信し、前記評価点の状態量および前記参照点の状態量を前記第一の伝達関数演算部に出力し、前記参照点の状態量および前記検出位置を前記第二の伝達関数演算部に出力する第一の受信部と、
前記位置補正指令、前記速度補正指令、および前記電流補正指令のうち少なくとも１つを送信する第二の送信部と、
前記位置補正指令、前記速度補正指令、および前記電流補正指令のうち少なくとも１つを受信し、前記コントローラ部に出力する第二の受信部と、
を備えることを特徴とする請求項９に記載のサーボ制御装置。
【国際調査報告】
2020217597.tif 000033
2020217597.tif 000034
2020217597.tif 000035
2020217597.tif 000036
2020217597.tif 000037