(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】電動機の制御装置、機械システム、及び制御方法
(51)【国際特許分類】
H02P 29/00 20160101AFI20240827BHJP
【FI】
H02P29/00
(21)【出願番号】P 2022544526
(86)(22)【出願日】2021-08-19
(86)【国際出願番号】 JP2021030454
(87)【国際公開番号】W WO2022044971
(87)【国際公開日】2022-03-03
【審査請求日】2023-03-08
(31)【優先権主張番号】P 2020141029
(32)【優先日】2020-08-24
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】篠田 翔吾
(72)【発明者】
【氏名】猪飼 聡史
【審査官】保田 亨介
(56)【参考文献】
【文献】特開平09-093998(JP,A)
【文献】特開2020-047228(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P4/00
25/08-25/098
29/00-31/00
(57)【特許請求の範囲】
【請求項1】
産業機械の電動機を制御する制御装置であって、
前記電動機の動作により運転する前記産業機械からフィードバック値を取得するフィードバック取得部と、
前記フィードバック値に基づいて、前記電動機を動作させるための指令を補正する補正部と、
前記補正部に供給される前記フィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を行うフィルタ部と、
前記産業機械の運転状態が変化したか否かを判断する運転状態判断部であって、前記指令
が示す数値又は前記フィードバック値が所定の閾値を超えて大きくなったときに、前記運転状態が変化したと判断する、運転状態判断部と、
前記運転状態判断部によって前記運転状態が変化したと判断されたときに、前記フィルタ部が実行する前記フィルタ処理の前記周波数帯を、第1の周波数帯から、該第1の周波数帯よりも低い第2の周波数帯に切り換えるフィルタ切換部と、を備える、制御装置。
【請求項2】
前記指令は、前記電動機へのトルク指令を含み、
前記運転状態判断部は、前記トルク指令
が示すトルクが前記閾値を超えて大きくなったときに、前記運転状態が変化したと判断する、請求項1に記載の制御装置。
【請求項3】
産業機械の電動機を制御する制御装置であって、
前記電動機の動作により運転する前記産業機械からフィードバック値を取得するフィードバック取得部と、
前記フィードバック値に基づいて、前記電動機を動作させるための指令を補正する補正部と、
前記補正部に供給される前記フィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を行うフィルタ部と、
前記産業機械の運転状態が変化したか否かを判断する運転状態判断部と、
前記運転状態判断部によって前記運転状態が変化したと判断されたときに、前記フィルタ部が実行する前記フィルタ処理の前記周波数帯を、第1の周波数帯から第2の周波数帯に切り換えるフィルタ切換部と、
前記フィードバック値に基づいて、前記産業機械とワークとの距離を求める距離取得部と、を備え、
前記運転状態判断部は、前記距離が所定の閾値を超えて小さくなったときに、前記運転状態が変化したと判断する、制御装置。
【請求項4】
産業機械の電動機を制御する制御装置であって、
前記電動機の動作により運転する前記産業機械からフィードバック値を取得するフィードバック取得部と、
前記フィードバック値に基づいて、前記電動機を動作させるための指令を補正する補正部と、
前記補正部に供給される前記フィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を行うフィルタ部と、
前記産業機械の運転状態が変化したか否かを判断する運転状態判断部であって、前記産業機械の動作プログラムによって規定される該産業機械の運転モードが切り換わったときに該運転状態が変化したと判断する、運転状態判断部と、
前記運転状態判断部によって前記運転状態が変化したと判断されたときに、前記フィルタ部が実行する前記フィルタ処理の前記周波数帯を、第1の周波数帯から第2の周波数帯に切り換えるフィルタ切換部と、を備える、制御装置。
【請求項5】
前記フィルタ部は、前記フィードバック値と所定のフィルタ係数とを用いて、前記フィルタ処理を実行し、
前記フィルタ切換部は、前記第1の周波数帯に対応する第1の前記フィルタ係数から、前記第2の周波数帯に対応する第2の前記フィルタ係数へ切り換えることによって、前記第1の周波数帯から前記第2の周波数帯に切り換える、請求項1~4のいずれか1項に記載の制御装置。
【請求項6】
前記フィルタ切換部は、前記第1の周波数帯から前記第2の周波数帯に、段階的に切り換えるか、又は、前記周波数帯が時間とともに連続的に変化するように切り換える、請求項1~5のいずれか1項に記載の制御装置。
【請求項7】
前記第2の周波数帯は、前記第1の周波数帯よりも低い周波数帯を含む、請求項1~6のいずれか1項に記載の制御装置。
【請求項8】
前記フィルタ切換部は、前記フィルタ処理の前記周波数帯の切り換え後、予め定めた条件に従って、該周波数帯を、前記第2の周波数帯から前記第1の周波数帯に切り換える、請求項1~7のいずれか1項に記載の制御装置。
【請求項9】
請求項1~8のいずれか1項に記載の制御装置と、
前記電動機、及び、前記フィードバック値を取得して前記制御装置に供給するセンサを有する前記産業機械と、を備える、機械システム。
【請求項10】
産業機械の電動機を制御する方法であって、
前記電動機の動作により運転する前記産業機械からフィードバック値を取得し、
前記フィードバック値に基づいて、前記電動機を動作させるための指令を補正し、
前記補正のための前記フィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を実行し、
前記産業機械の運転状態が変化したか否かを判断するときに、前記指令
が示す数値又は前記フィードバック値が所定の閾値を超えて大きくなったときに該運転状態が変化したと判断し、
前記運転状態が変化したと判断したときに、実行する前記フィルタ処理の前記周波数帯を、第1の周波数帯から、該第1の周波数帯よりも低い第2の周波数帯へ切り換える、方法。
【請求項11】
産業機械の電動機を制御する方法であって、
前記電動機の動作により運転する前記産業機械からフィードバック値を取得し、
前記フィードバック値に基づいて、前記電動機を動作させるための指令を補正し、
前記補正のための前記フィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を実行し、
前記フィードバック値に基づいて、前記産業機械とワークとの距離を求め、
前記産業機械の運転状態が変化したか否かを判断するときに、求めた前記距離が所定の閾値を超えて小さくなったときに該運転状態が変化したと判断し、
前記運転状態が変化したと判断したときに、実行する前記フィルタ処理の前記周波数帯を、第1の周波数帯から第2の周波数帯に切り換える、方法。
【請求項12】
産業機械の電動機を制御する方法であって、
前記電動機の動作により運転する前記産業機械からフィードバック値を取得し、
前記フィードバック値に基づいて、前記電動機を動作させるための指令を補正し、
前記補正のための前記フィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を実行し、
前記産業機械の運転状態が変化したか否かを判断するときに、前記産業機械の動作プログラムによって規定される該産業機械の運転モードが切り換わったときに該運転状態が変化したと判断し、
前記運転状態が変化したと判断したときに、実行する前記フィルタ処理の前記周波数帯を、第1の周波数帯から第2の周波数帯に切り換える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電動機の制御装置、機械システム、及び制御方法に関する。
【背景技術】
【0002】
電動機の制御装置が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
電動機を有する産業機械において、センサからのフィードバック値に基づいて電動機への指令を補正する場合がある。従来、このような補正を適切に実行可能とする技術が求められている。
【課題を解決するための手段】
【0005】
本開示の一態様において、産業機械の電動機を制御する制御装置は、電動機の動作により運転する産業機械からフィードバック値を取得するフィードバック取得部と、フィードバック値に基づいて、電動機を動作させるための指令を補正する補正部と、補正部に供給されるフィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を行うフィルタ部と、産業機械の運転状態が変化したか否かを判断する運転状態判断部と、運転状態判断部によって運転状態が変化したと判断されたときに、フィルタ部が実行するフィルタ処理の周波数帯を、第1の周波数帯から第2の周波数帯に切り換えるフィルタ切換部とを備える。
【0006】
本開示の他の態様において、産業機械の電動機を制御する方法は、電動機の動作により運転する産業機械からフィードバック値を取得し、フィードバック値に基づいて、電動機を動作させるための指令を補正し、該補正のためのフィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を実行し、産業機械の運転状態が変化したか否かを判断し、運転状態が変化したと判断されたときに、実行するフィルタ処理の周波数帯を、第1の周波数帯から第2の周波数帯へ切り換える。
【発明の効果】
【0007】
本開示によれば、本実施形態によれば、産業機械の運転状態に応じてフィルタ部が実行するフィルタ処理の周波数帯を切り換えることで、補正部による補正を適切に実行することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係る機械システムのブロック図である。
【
図3】
図1に示す機械システムにおける電動機の制御フローの一例を示すブロック図である。
【
図5】産業機械の運転状態の変化に起因するノイズ成分の周波数特性を示す。
【
図8】
図1に示す機械システムのフィルタ制御フローの一例を示すフローチャートである。
【
図9】
図1に示す機械システムにおける電動機の制御フローの他の例を示すブロック図である。
【
図10】
図1に示す機械システムにおける電動機の制御フローのさらに他の例を示すブロック図である。
【
図11】
図1に示す機械システムにおける電動機の制御フローのさらに他の例を示すブロック図である。
【
図12】他の実施形態に係る機械システムのブロック図である。
【
図14】
図12に示す機械システムにおける電動機の制御フローの一例を示すブロック図である。
【
図15】さらに他の実施形態に係る機械システムのブロック図である。
【
図16】さらに他の実施形態に係る産業機械の図である。
【
図17】
図15に示す機械システムにおける電動機の制御フローの一例を示すブロック図である。
【
図18】さらに他の実施形態に係る機械システムのブロック図である。
【
図19】さらに他の実施形態に係る産業機械の図である。
【
図20】
図18に示す機械システムにおける電動機の制御フローの一例を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、
図1及び
図2を参照して、一実施形態に係る機械システム10について説明する。機械システム10は、産業機械12、及び、該産業機械12を制御する制御装置14を備える。
【0010】
本実施形態においては、産業機械12は、ワークを加工する工作機械である。具体的には、産業機械12は、工具16、被駆動体18、移動機構20、及びセンサ22を有する。移動機構20は、工具16と被駆動体18とを相対的に移動させる。より具体的には、移動機構20は、電動機24、及びボールねじ機構26を有する。ボールねじ機構26は、軸線Aに沿って真直ぐに延びるボールねじ26aと、該ボールねじ26aに螺合するナット部材26bとを有する。ボールねじ26aの一端は、電動機24の出力シャフト24aに連結されている。
【0011】
本実施形態においては、被駆動体18は、平面であるワーク設置面18aを有するワークテーブルであって、該ワーク設置面18aに、治具(図示せず)を介してワークWが設置される。被駆動体18には、ボールねじ機構26のナット部材26bが固定されている。電動機24は、例えばサーボモータであって、制御装置14からの指令に応じて、ボールねじ26aを回転させ、これにより、被駆動体18を軸線Aに沿って往復動させる。
【0012】
センサ22は、電動機24の回転位置(又は回転角度)を検出するエンコーダ(又はホール素子)等である。センサ22は、検出した電動機24の回転位置を時間微分することで、電動機24の回転速度Vを連続的(例えば、周期的)に検出し、速度フィードバック値FBVとして、制御装置14に順次供給する。
【0013】
制御装置14は、プロセッサ30、メモリ32、及びI/Oインターフェース34を有するコンピュータである。プロセッサ30は、メモリ32、及びI/Oインターフェース34と、バス35を介して通信可能に接続されており、メモリ32及びI/Oインターフェース34と通信しつつ、後述する各種機能を実現するための演算処理を行う。
【0014】
メモリ32は、RAM又はROM等を有し、各種データを一時的又は恒久的に記憶する。I/Oインターフェース34は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ30からの指令の下、外部機器との間でデータを有線又は無線で通信する。
【0015】
図3に、電動機24の制御フローを示すブロック図を示す。制御装置14は、位置指令生成部36、速度指令生成部38、トルク指令生成部40、電流制御部42、フィルタ部44、フィルタ切換部46、及びゲイン48を有する。プロセッサ30は、位置指令生成部36、速度指令生成部38、トルク指令生成部40、電流制御部42、フィルタ部44、フィルタ切換部46、及びゲイン48の機能を実現するための演算処理を担う。
【0016】
以下、電動機24の制御フローについて説明する。プロセッサ30は、I/Oインターフェース34を介して、産業機械12のセンサ22から速度フィードバック値FBVを取得する。この速度フィードバック値FBVは、電動機24の回転速度Vの振幅値を時系列で示す時系列データである。
【0017】
このように、本実施形態においては、プロセッサ30は、産業機械12からフィードバック値FB
Vを取得するフィードバック取得部52(
図1)として機能する。センサ22から取得した速度フィードバック値FB
Vは、減算器54と積分器56とにそれぞれ入力される。積分器56は、入力された速度フィードバック値FB
Vを時間積分し、位置フィードバック値FB
Pとして、減算器58に出力する。
【0018】
また、センサ22から取得したフィードバック値FBVは、フィルタ部44に入力される。フィルタ部44は、フィードバック値FBVに対してフィルタ処理を行う。なお、このフィルタ処理の詳細については、後述する。フィルタ部44は、フィードバック値FBVに対してフィルタ処理を施し、ゲイン48に出力する。ゲイン48は、フィルタ部44から出力された速度フィードバック値FBVにゲインG1をかけることで速度補正値CVを生成し、加算器60に出力する。
【0019】
電動機24を動作させて産業機械12を運転するとき、位置指令生成部36は、動作プログラムOPに従って位置指令PCを生成し、減算器58に出力する。減算器58は、位置指令PCから位置フィードバック値FBPを減算し、位置偏差δPとして速度指令生成部38に出力する。速度指令生成部38は、位置偏差δPに基づいて速度指令VCを生成し、加算器60に出力する。
【0020】
加算器60は、速度指令VCに速度補正値CVを加算することで、補正速度指令VC’を生成する。このように、ゲイン48は、フィルタ部44によってフィルタ処理された速度フィードバック値FBVに基づいて速度補正値CVを生成し、加算器60は、該速度補正値CVによって速度指令VCを補正している。よって、本実施形態においては、ゲイン48及び加算器60は、フィードバック値FBVに基づいて指令VCを補正する補正部62を構成する。
【0021】
ここで、産業機械12の運転中に、該産業機械12の構成要素(例えば、被駆動体18、ボールねじ機構26、電動機24の出力シャフト24a等)の弾性により、被駆動体18及びワークWが微小振動する場合がある。本実施形態においては、補正部62は、このような微小振動をキャンセルするための補正を行うように、構成される。
【0022】
加算器60から出力された補正速度指令VC’は、減算器54に入力される。減算器54は、補正速度指令VC’から速度フィードバック値FBVを減算し、速度偏差δV’として出力する。トルク指令生成部40は、速度偏差δV’に基づいてトルク指令TCを生成し、電流制御部42に出力する。
【0023】
電流制御部42は、トルク指令値TCに基づいて電圧信号VS(例えばPWM制御信号)を生成し、I/Oインターフェース34を介してサーボアンプ64に送信する。サーボアンプ64は、電圧信号VSを増幅し、産業機械12の電動機24に入力する。電動機24は、入力された電圧信号VSに応じて、被駆動体18(すなわち、ワークW)を駆動する。
【0024】
ここで、本稿においては、位置指令生成部36から電動機24への制御ラインを通過する信号を、電動機24を動作させるための「指令」として定義する。よって、本実施形態においては、位置指令PC、位置偏差δP、速度指令VC、補正速度指令VC’、速度偏差δV’、トルク指令TC、及び電圧信号VSは、電動機24を動作させるための指令を構成する。
【0025】
こうして、プロセッサ30は、動作プログラムOPに従って指令PC、δP、VC、VC’、δV’、TC及びVSを生成し、電動機24の動作を制御する。そして、プロセッサ30は、電動機24の動作により被駆動体18を移動させつつワークWを工具16で加工するように、産業機械12を運転する。
【0026】
フィルタ部44は、補正部62に供給されるフィードバック値FB(本実施形態では、速度フィードバック値FB
V)に対し、所定の周波数帯の値を低減させるフィルタ処理FRを行う。
図4に、フィルタ部44が実行するフィルタ処理FRの一例を示す。
図4に示すフィルタ処理FR
Aでは、フィルタ部44は、フィードバック値FBに対し、遮断周波数f
aよりも高い周波数帯[f>f
a]の振幅値を低減するフィルタ処理(すなわち、ローパスフィルタ処理)を行う。
【0027】
なお、フィードバック値FBに対するフィルタ部44のフィルタ処理FRAは、ローパスフィルタ処理に限らず、例えば、周波数帯[f>fa]と、遮断周波数faよりも低い周波数帯[f≦fa]に含まれる特定の周波数(又は周波数帯)とをさらに低減するバンドパスフィルタ処理、又は、特定の周波数(又は周波数帯)を低減するノッチフィルタ処理であってもよい。
【0028】
このフィルタ処理FRAにより、補正部62に供給されるフィードバック値FBから、電気ノイズ等に起因する高周波ノイズ成分N1を除去することができる。よって、遮断周波数faは、ノイズ成分N1を除去可能な、該ノイズ成分N1の周波数帯よりも低い周波数として、オペレータによって定められる。
【0029】
一方、後述するように産業機械12の運転状態が変化したとき、産業機械12の構成要素(例えば、被駆動体18、ボールねじ機構26、電動機24の出力シャフト24a等)に、機械的ショックが加えられる場合がある。このとき、センサ22が検出するフィードバック値FB(具体的には、速度フィードバック値FBV)に、機械的ショックに起因するノイズ成分N2が含まれることになる。
【0030】
このようなノイズ成分N2の一例を、
図5に示す。
図5に示す例では、ノイズ成分N2は、フィルタ処理FR
Aの遮断周波数f
aよりも低い周波数帯f
b~f
cに分布している。したがって、このようなノイズ成分N2がフィードバック値FBに含まれている場合、上述のフィルタ処理FR
Aではノイズ成分N2を除去することができない。
【0031】
図6に、このようなノイズ成分N2を除去可能なフィルタ処理FRの一例を示す。
図6に示すフィルタ処理FR
Bでは、フィルタ部44は、フィードバック値FBに対し、遮断周波数f
d(<f
b)よりも高い周波数帯[f>f
d]で振幅値を低減するフィルタ処理(ローパスフィルタ処理)を行う。このフィルタ処理FR
Bにより、補正部62に供給されるフィードバック値FBからノイズ成分N2を除去することができる。
【0032】
図7に、ノイズ成分N2を除去可能なフィルタ処理FRの他の例を示す。
図7に示すフィルタ処理FR
Cでは、フィルタ部44は、フィードバック値FBに対し、遮断周波数f
dから遮断周波数f
e(f
c<f
e<f
a)までの周波数帯[f
d<f<f
e]と、遮断周波数f
aよりも高い周波数帯[f>f
a]とで、振幅値を低減するフィルタ処理を行う。このようなフィルタ処理FR
Cは、例えば、f
d<f<f
eの周波数帯を遮断するノッチフィルタ処理と、f>f
aの周波数帯を遮断するローパスフィルタ処理の組み合わせによって実現できる。
【0033】
このフィルタ処理FRCにより、補正部62に供給されるフィードバック値FBからノイズ成分N2を除去することができる。このフィルタ処理FRCの周波数帯:fd<f<feを画定する遮断周波数fd及びfeは、例えば、ノイズ成分N2の周波数特性を実験的手法又はシミュレーション等によって予め求めることで、設定できる。
【0034】
本実施形態においては、フィルタ部44は、デジタルフィルタ(FIRフィルタ、又はIIRフィルタ等)処理を実行するように構成される。フィルタ部44は、フィードバック値FBと、所定のフィルタ係数αA(タップ係数等)とを用いて、フィルタ処理FRAを実行する。このフィルタ係数αAは、フィルタ処理FRAの周波数帯[f>fa]を決定するパラメータである。
【0035】
また、フィルタ部44は、フィードバック値FBと所定のフィルタ係数αBとを用いて、フィルタ処理FRBを実行する。このフィルタ係数αBは、フィルタ処理FRBの周波数帯[fd<f]を決定するパラメータである。また、フィルタ部44は、フィードバック値FBと所定のフィルタ係数αCとを用いて、フィルタ処理FRCを実行する。このフィルタ係数αCは、フィルタ処理FRCの周波数帯[fd<f<fe、fa<f]を決定するパラメータである。
【0036】
ここで、本実施形態においては、フィルタ切換部46は、産業機械12の運転状態の変化に応じて、フィルタ処理FRの周波数帯を、フィルタ処理FRAの周波数帯[f>fa](第1の周波数帯)から、フィルタ処理FRBの周波数帯[f>fd](第2の周波数帯)、又は、フィルタ処理FRCの周波数帯[fd<f<fe、fa<f](第2の周波数帯)に切り換える。
【0037】
例えば、フィルタ切換部46は、フィルタ処理FRAの周波数帯[f>fa]に対応するフィルタ係数αA(第1のフィルタ係数)から、フィルタ処理FRBの周波数帯[f>fd]に対応するフィルタ係数αB(第2のフィルタ係数)へ切り換えることによって、フィルタ処理FRの周波数帯fを、周波数帯[f>fa]から周波数帯[f>fd]に切り換える。
【0038】
代替的には、フィルタ切換部46は、フィルタ係数αAから、フィルタ処理FRCの周波数帯[fd<f<fe、fa<f]に対応するフィルタ係数αC(第2のフィルタ係数)へ切り換えることによって、フィルタ処理FRの周波数帯を、周波数帯[f>fa]から周波数帯[fd<f<fe、fa<f]に切り換える。
【0039】
なお、
図6に示すように、本実施形態においては、フィルタ処理FR
Bの周波数帯[f>f
d]は、フィルタ処理FR
Aの周波数帯[f>f
a]よりも低い周波数帯:f
d<f<f
aを含む。また、
図7に示すように、フィルタ処理FR
Cの周波数帯[f
d<f<f
e、f
a<f]は、フィルタ処理FR
Aの周波数帯[f>f
a]よりも低い周波数帯:f
d<f<f
eを含む。
【0040】
以下、
図8を参照して、フィルタ制御フローについて説明する。
図8に示すフローは、プロセッサ30が、上位コントローラ、オペレータ、又はコンピュータプログラム等からフィルタ制御開始指令を受け付けたときに、開始される。このフィルタ制御開始指令は、例えば、プロセッサ30が産業機械12の運転を開始したときに、発信される。
【0041】
ステップS1において、プロセッサ30は、フィードバック値FBの取得を開始する。具体的には、プロセッサ30は、センサ22から速度フィードバック値FB
Vを取得する動作を開始する。ステップS2において、プロセッサ30は、フィルタ部44として機能し、フィードバック値FBに対し、
図4に示すフィルタ処理FR
Aを行う。ステップS3において、プロセッサ30は、補正部62として機能し、指令VCをフィードバック値FB(本実施形態では、速度フィードバック値FB
V)で補正する動作を開始する。
【0042】
ステップS4において、プロセッサ30は、産業機械12の運転状態が変化したか否かを判断する。一例として、プロセッサ30は、
図8のフローの開始後、電動機24への指令PC、δP、VC、VC’、δV’、TC又はVSを監視し、該指令PC、δP、VC、VC’、δV’、TC又はVSが予め定めた閾値βを超えて変化したときに、産業機械12の運転状態が変化したと判断する。
【0043】
例えば、産業機械12の運転中に、工具16がワークWと当接して加工を開始したとき、上述の機械的ショックが発生する。このように工具16がワークWと当接して加工を開始したとき、産業機械12の運転状態が変化したと見做す。工具16がワークWと当接して加工を開始したしたとき、電動機24への指令のうち、トルク指令TC及び電圧信号VSが急激に変化(例えば、増大)し得る。
【0044】
したがって、プロセッサ30は、トルク指令TC又は電圧信号VSの変化を検知することによって、ワークWの加工が開始した(つまり、産業機械12の運転状態が変化した)ことを検知することができる。このステップS4において、プロセッサ30は、トルク指令TC又は電圧信号VSが、閾値β1を超えて変化したときに、産業機械12の運転状態が変化した(すなわち、YES)と判断する。
【0045】
また、工具16に対する被駆動体18(つまり、電動機24)の速度又は加速度が急激に変化したとき、上述の機械的ショックが発生し得る。このように被駆動体18(電動機24)の速度又は加速度が急激に変化したとき、産業機械12の運転状態が変化したと見做す。
【0046】
被駆動体18(電動機24)の速度又は加速度が急激に変化とき、電動機24への指令PC、VC、VC’TC又はVSが急激に変化し得る。このステップS4において、プロセッサ30は、指令PC、VC、VC’、TC又はVSが閾値β2を超えて変化したときに、産業機械12の運転状態が変化した(すなわち、YES)と判断する。代替的には、プロセッサ30は、指令PC、VC、VC’、TC又はVSを時間微分することによって、該指令の傾きを取得し、該傾きが閾値β3を超えた場合にYESと判断してもよい。
【0047】
他の例として、プロセッサ30は、センサ22からのフィードバック値FBを監視し、該フィードバック値FBが予め定めた閾値γを超えて変化したときに、産業機械12の運転状態が変化したと判断する。ここで、工具16がワークWと当接して加工を開始したしたとき、又は、被駆動体18(電動機24)の速度又は加速度が急激に変化したとき、センサ22からのフィードバック値FBが急激に変化し得る。したがって、プロセッサ30は、フィードバック値FBの変化を検知することによって、産業機械12の運転状態が変化したことを検知することができる。
【0048】
具体的には、プロセッサ30は、このステップS4において、センサ22からの速度フィードバック値FBVが予め定めた閾値γ1を超えたときに、YESと判断してもよい。又は、プロセッサ30は、速度フィードバック値FBVを時間微分することで加速度フィードバック値FBAを取得し、該加速度フィードバック値FBAが予め定めた閾値γ2を超えたときに、YESと判断してもよい。
【0049】
代替的には、プロセッサ30は、I/Oインターフェース34を介して、電動機24から、フィードバック値FBとして電流フィードバック値FBI又は負荷トルクFBτを取得してもよい。そして、プロセッサ30は、電流フィードバック値FBI又は負荷トルクFBτが予め定めた閾値γ3を超えたときに、YESと判断してもよい。
【0050】
さらに他の例として、プロセッサ30は、動作プログラムOPによって規定される産業機械12の運転モードDMが切り換わったときに、産業機械12の運転状態が変化したと判断してもよい。運転モードDMの一例について、以下の表1を参照して説明する。
【表1】
【0051】
表1に示す例では、運転モードDMは、動作プログラムOPの命令文「G00」によって規定される位置決めモードと、動作プログラムOPの命令文「G01」によって規定される加工モードとを含む。ここで、位置決めモードにおいては、プロセッサ30は、被駆動体18を作業準備位置まで速度V1で移動させる送り動作を実行する。
【0052】
一方、加工モードにおいては、プロセッサ30は、被駆動体18を、作業準備位置から、工具16がワークWと当接する加工開始位置まで、速度V2(<V1)で移動させるアプローチ動作を実行し、その後、被駆動体18を移動させつつ工具16でワークWを加工する加工動作を実行する。プロセッサ30は、動作プログラムOPの命令文「G00」及び「G01」に応じて、運転モードDMを、位置決めモードと加工モードとの間で切り換える。
【0053】
運転モードDMが位置決めモードから加工モードへ切り換えられてワークWに対する加工が開始すると、上述した機械的ショックが発生する。このように運転モードDMが切り換わったとき、産業機械12の運転状態が変化したと見做す。例えば、プロセッサ30は、このステップS4において、運転モードDMが位置決めモードから加工モードへ切り換わった時点で、YESと判断する。より具体的には、プロセッサ30は、動作プログラムOPの命令文「G00」の実行中に命令文「G01」を受け付けたときに、YESと判断する。
【0054】
代替的には、プロセッサ30は、運転モードDMが位置決めモードから加工モードへ切り換わった時点から予め定めた時間t1が経過したときに、YESと判断してもよい。ここで、上述したように、位置決めモード(命令文「G00」)から加工モード(命令文「G01」)へ切り換わった後、アプローチ動作が実行され、次いで、工具16とワークWとが当接して加工が開始される。よって、工具16とワークWとが実際に当接するのは、位置決めモード(命令文「G00」)から加工モード(命令文「G01」)へ切り換わった時点から、アプローチ動作に要する時間t1が経過した後の時点となる。
【0055】
ステップS4において、プロセッサ30は、運転モードDMが位置決めモードから加工モードへ切り換わった時点からの経過時間tを計時し、該経過時間tが時間t1に達したときに、YESと判断してもよい。この時間t1は、アプローチ動作に要する時間と一致するように、オペレータによって予め定められ得る。
【0056】
代替的には、プロセッサ30は、センサ22が検出した電動機24の回転位置を順次取得し、該回転位置に基づいて、運転モードDMが位置決めモードから加工モードへ切り換わった時点から被駆動体18が移動した距離dを取得する。ここで、上述のアプローチ動作において、被駆動体18は、所定の距離d1だけ移動する。
【0057】
プロセッサ30は、ステップS4において、運転モードDMが位置決めモードから加工モードへ切り換わった後、取得した距離dが予め定め定めた閾値d1に達したときに、YESと判断してもよい。この閾値d1は、アプローチ動作において被駆動体18が移動する距離に一致するように、オペレータによって予め定められ得る。
【0058】
運転モードDMの他の例について、以下の表2を参照して説明する。
【表2】
【0059】
表2に示す例では、運転モードDMは、モード切換信号が「00」(又は「OFF」)のときに実行される第1加工モードと、モード切換信号が「01」(又は「ON」)のときに実行される第2加工モードとを含む。モード切換信号(例えば、PMC信号)は、例えばメモリ32に格納されており、動作プログラムOPと同期して「00」(ON)と「01」(OFF)との間で切り換えられる。
【0060】
このように、第1加工モード及び第2加工モードは、モード切換信号を通して動作プログラムOPによって規定される運転モードである。ここで、第1加工モードにおいては、プロセッサ30は、工具16をワークWに力F1で押し当てて、工具16に対して被駆動体18を速度V3で移動させつつワークWを切削する軽切削動作を実行する。
【0061】
一方、第2加工モードにおいては、プロセッサ30は、工具16をワークWに力F2(>F1)で押し当てて、工具16に対して被駆動体18を速度V4(>V3)で移動させつつ、軽切削動作よりも多い削り量でワークWを切削する重切削動作を実行する。プロセッサ30は、モード切換信号「00」及び「01」に応じて、運転モードDMを、第1加工モードと第2加工モードとの間で切り換える。運転モードDMが第1加工モードと第2加工モードとの間で切り換わると、上述した機械的ショックが発生し得る。このように運転モードDMが切り換わったとき、産業機械12の運転状態が変化したと見做す。
【0062】
例えば、
図8のフローが開始した後、第1加工モードを実行しているとすると、プロセッサ30は、このステップS4において、運転モードDMが第1加工モードから第2加工モードへ切り換わったときに、YESと判断する。より具体的には、プロセッサ30は、モード切換信号が「00」から「01」に切り替わったときに、YESと判断する。
【0063】
一方、
図8のフローが開始した後、第2加工モードを実行しているとすると、プロセッサ30は、このステップS4において、運転モードDMが第2加工モードから第1加工モードへ切り換わったときに、YESと判断する。より具体的には、プロセッサ30は、モード切換信号が「01」から「00」に切り替わったときに、YESと判断する。
【0064】
以上のように、プロセッサ30は、電動機24への指令(PC、δP、VC、VC’、δV’、TC、VS)、フィードバック値FB(FB
V、FB
A)、又は、産業機械12の動作プログラムOPに基づいて、産業機械12の運転状態が変化したか否かを判断している。したがって、本実施形態においては、プロセッサ30は、産業機械12の運転状態が変化したか否かを判断する運転状態判断部66(
図1)として機能する。プロセッサ30は、このステップS4でYESと判断した場合はステップS5へ進む一方、NOと判断した場合はステップS8へ進む。
【0065】
ステップS5において、プロセッサ30は、フィルタ切換部46として機能し、フィルタ部44が実行するフィルタ処理FRの周波数帯を、第1の周波数帯から第2の周波数帯に切り換える。一例として、プロセッサ30は、ステップS2で開始したフィルタ処理FR
Aの周波数帯[f>f
a](
図4)から、フィルタ処理FR
Bの周波数帯[f>f
d](
図6)に切り換える。他の例として、プロセッサ30は、フィルタ処理FRの周波数帯を、ステップS2で開始したフィルタ処理FR
Aの周波数帯[f>f
a]から、フィルタ処理FR
Cの周波数帯[f
d<f<f
e、f
a<f](
図7)に切り換える。
【0066】
このとき、プロセッサ30は、第1の周波数帯[f>fa]から第2の周波数帯[f>fd]又は[fd<f<fe、fa<f]に、段階的(つまり、不連続)に切り換えてもよい。例えば、第1の周波数帯[f>fa]から第2の周波数帯[f>fd]に切り換える場合、プロセッサ30は、第1の周波数帯[f>fa]の遮断周波数faから、第2の周波数帯[f>fd]の遮断周波数fdへ、1段階で切り換えてもよいし、又は、n段階(nは、2以上の正数)で段階的に切り替えてもよい。また、第1の周波数帯[f>fa]から第2の周波数帯[fd<f<fe、fa<f]に切り換える場合、プロセッサ30は、fd<f<feの周波数帯が、1段階又は多段階で段階的に形成されるように切り換えてもよい。
【0067】
代替的には、プロセッサ30は、第1の周波数帯[f>fa]から第2の周波数帯[f>fd]又は[fd<f<fe、fa<f]に、周波数帯が時間とともに連続的に変化するように切り換えてもよい。例えば、第1の周波数帯[f>fa]から第2の周波数帯[f>fd]に切り換える場合、プロセッサ30は、遮断周波数faから遮断周波数fdへ、遮断周波数が時間とともに連続的に変化するように、切り換えてもよい。
【0068】
また、第1の周波数帯[f>fa]から第2の周波数帯[fd<f<fe、fa<f]に切り換える場合、プロセッサ30は、fd<f<feの周波数帯が徐々に形成される(例えば、周波数帯が徐々に拡張する)ように、切り換えてもよい。このように、フィルタ処理FRの周波数帯を連続的に変化させることで、フィルタ処理FRの切り替えに起因して機械的ショックが発生してしまうのを防止できる。
【0069】
ステップS6において、プロセッサ30は、予め定めた条件CDが満たされたか否かを判断する。この条件CDとは、ステップS5の切り換え後のフィルタ処理FRB又はFRCの周波数帯[f>fd]又は[fd<f<fe、fa<f]を、ステップS3のフィルタ処理FRAの周波数帯[f>fa]に、再度切り換えるための条件である。
【0070】
ここで、上述の機械的ショックに起因するノイズ成分N2は、長期に亘って継続して発生するものではなく、瞬時的に発生する場合が多い。そこで、ノイズ成分N2が消失した後、フィルタ処理FRを、再度、ステップS3のフィルタ処理FRAに戻すために、オペレータは、条件CDを、ノイズ成分N2の効果が消失する条件として、設定する。
【0071】
例えば、条件CDは、産業機械12の運転状態が変化してから所定時間t0が経過したこととして、定められ得る。この場合、プロセッサ30は、例えば、ステップS4でYESと判断した時点(又は、ステップS5の開始又は終了の時点)からの経過時間tを計時する。そして、プロセッサ30は、該経過時間tが、予め定めた時間t0に達したときに、条件CDが満たされた(すなわち、YES)と判断する。
【0072】
代替的には、条件CDは、電動機24への指令PC、δP、VC、VC’、δV’、TC若しくはVS、又は、センサ22からのフィードバック値FBV若しくはFBAに対して定められてもよい。例えば、プロセッサ30は、位置指令PCによって規定される電動機24の回転数(又は、被駆動体18の移動距離)が予め定めた閾値に達したときに、条件CDが満たされた(すなわち、YES)と判断してもよい。プロセッサ30は、YESと判断した場合はステップS7へ進む一方、NOと判断した場合はステップS9へ進む。
【0073】
ステップS7において、プロセッサ30は、フィルタ切換部46として機能し、フィルタ処理FRの周波数帯を、第2の周波数帯から第1の周波数帯に切り換える。一例として、ステップS5でフィルタ処理FRBの周波数帯[f>fd]に切り換えた場合、プロセッサ30は、周波数帯[f>fd]から、フィルタ処理FRAの周波数帯[f>fa]へ切り換える。他の例として、ステップS5でフィルタ処理FRCの周波数帯[fd<f<fe、fa<f]に切り換えた場合、プロセッサ30は、周波数帯[fd<f<fe、fa<f]から、周波数帯[f>fa]へ切り換える。
【0074】
ステップS8において、プロセッサ30は、産業機械12の運転が終了したか否かを判断する。例えば、プロセッサ30は、動作プログラムOPから、ワークWへの加工が終了したか否かを判断できる。プロセッサ30は、ワークWへの加工が終了した場合にYESと判断し、電動機24の動作を停止し、以って、産業機械12の運転を終了する。そして、プロセッサ30は、
図8に示すフローを終了する。一方、プロセッサ30は、NOと判断した場合、ステップS4へ戻る。
【0075】
上述のステップS6でNOと判断した場合、ステップS9において、プロセッサ30は、上述のステップS8と同様に産業機械12の運転が終了したか否かを判断する。プロセッサ30は、YESと判断した場合は産業機械12の運転を終了して
図8に示すフローを終了する一方、NOと判断した場合はステップS6へ戻る。
【0076】
以上のように、本実施形態においては、プロセッサ30は、産業機械12の運転状態が変化した(ステップS4でYES)と判断したときに、フィルタ処理FRの周波数帯を、第1の周波数帯[f>fa]から第2の周波数帯[f>fd]又は[fd<f<fe、fa<f]に切り換えている。この構成によれば、第2の周波数帯を、上述の機械的ショックに起因するノイズ成分N2の周波数帯を含むように設定することにより、補正部62に供給されるフィードバック値FBからノイズ成分N2を除去することができる。
【0077】
その一方で、仮に、産業機械12の運転状態の変化が検出されない(ステップS4で継続してNOと判断する)場合は、プロセッサ30は、フィルタ部44でフィードバック値FBに対しフィルタ処理FRAを実行することにより、該フィードバック値FBから、電気ノイズ等に起因する高周波ノイズ成分N1を除去することができる。
【0078】
これとともに、フィルタ部44がフィードバック値FBを、遮断周波数fa以下の広い周波数帯(f≦fa)に亘って通過させることから、補正部62は、指令VCに対し、より広い周波数帯に亘って補正することができるので、補正部62による補正の効果を高めることができる。このように、本実施形態によれば、産業機械12の運転状態に応じてフィルタ部44が実行するフィルタ処理FRの周波数帯を切り換えることで、補正部62による補正を適切に実行することが可能となる。
【0079】
また、本実施形態においては、プロセッサ30は、電動機24への指令(PC、δP、VC、VC’、δV’、TC、VS)、フィードバック値FB(FBV、FBA)、又は、産業機械12の動作プログラムOPに基づいて、運転状態が変化したか否かを判断している。例えば、プロセッサ30は、指令又はフィードバック値が閾値β又はγを超えて変化したときに、運転状態が変化したと判断する。
【0080】
代替的には、プロセッサ30は、動作プログラムOPによって規定される運転モードDMが切り換わったとき(具体的には、運転モードDMが切り換わった時点、該時点から所定時間t1が経過したとき、又は、該時点から所定距離d1だけ移動したとき)に、運転状態が変化したと判断する。この構成によれば、運転状態が変化するタイミングを高精度に判断できる。
【0081】
また、本実施形態においては、プロセッサ30は、フィルタ部44として機能し、フィードバック値FBとフィルタ係数αA、αB又はαCとを用いて、フィルタ処理FRA、FRB又はFRCをデジタルフィルタ処理として実行している。そして、プロセッサ30は、フィルタ切換部46として機能し、フィルタ係数αを、係数αA、αB及びαCの間で切り換えることによって、フィルタ処理FRの周波数帯を、第1の周波数帯[f>fa]と第2の周波数帯[f>fd]又は[fd<f<fe及びfa<f]との間で切り換えている。この構成によれば、プロセッサ30は、フィルタ処理FRの周波数帯を、迅速且つ正確に切り換えることができる。
【0082】
また、本実施形態においては、プロセッサ30は、フィルタ切換部46として機能し、ステップS5でフィルタ処理FRの周波数帯を第2の周波数帯に切り換えた後、予め定めた条件CDに従って、該周波数帯を、第2の周波数帯から第1の周波数帯に切り換えている(ステップS6及びS7)。
【0083】
この構成によれば、産業機械12の運転状態が変化したときは、フィルタ処理FRB又はFRCによってノイズ成分N2を遮断できる一方、条件CDを満足した後(すなわち、ノイズ成分N2の消失後)は、再度、フィルタ処理FRAに戻すことにより、高周波ノイズ成分N1を除去しつつ、補正部62による補正の効果を高めることができる。
【0084】
なお、
図8に示すフローから、ステップS6、S7及びS9を省略してもよい。例えば、産業機械12の運転中に運転モードDMが、表2に示すように第1加工モードから第2加工モードへ切り換えられた場合において、プロセッサ30は、ステップS5の後、ステップS6、S7及びS9を実行することなくステップS8へ進み、該ステップS8でNOと判断した場合は、該ステップS8をループしてもよい。この場合、プロセッサ30は、ステップS8でYESと判断するまで、ステップS5で切り換えた後のフィルタ処理FR
B又はFR
Cを継続して実行することになる。
【0085】
次に、
図9を参照して、電動機24の制御フローの他の例について説明する。
図9に示す制御装置14においては、減算器54は、速度指令生成部38が出力した速度指令VCから、センサ22からの速度フィードバック値FB
Vを減算し、速度偏差δVとして出力する。そして、トルク指令生成部40は、速度偏差δVに基づいてトルク指令TCを生成する。
【0086】
一方、センサ22から取得した速度フィードバック値FBVは、微分器68に入力される。微分器68は、入力された速度フィードバック値FBVを時間微分し、加速度フィードバック値FBAとしてフィルタ部44に出力する。フィルタ部44は、加速度フィードバック値FBAに対し、上述の実施形態と同様にフィルタ処理FRA、FRB又はFRCを選択的に実行する。
【0087】
この場合において、加速度フィードバック値FB
Aに対してフィルタ部44が実行するフィルタ処理FR
Aの遮断周波数f
a、フィルタ処理FR
Bの遮断周波数f
d、又は、フィルタ処理FR
Cの遮断周波数f
d、f
e及びf
aは、
図3に示す形態(つまり、速度フィードバック値FB
Vに対するフィルタ処理)と同じ遮断周波数であってもよいし、又は、異なる遮断周波数として加速度フィードバック値FB
Aに固有に定められてもよい。
【0088】
フィルタ部44は、加速度フィードバック値FBAに対してフィルタ処理FRA、FRB又はFRCを実行し、ゲイン48に入力する。ゲイン48は、入力された加速度フィードバック値FBAにゲインをかけることで加速度補正値CAを生成し、加算器60に入力する。加算器60は、トルク指令生成部40が生成したトルク指令TCに加速度補正値CAを加算することで、補正トルク指令TC’を生成する。よって、ゲイン48及び加算器60は、フィードバック値FBAに基づいてトルク指令TCを補正する補正部62を構成する。
【0089】
図9に示す形態においても、プロセッサ30は、
図8に示すフローを実行し、産業機械12の運転状態の変化に応じて、フィルタ部44が実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f
a]から第2の周波数帯[f>f
d]又は[f
d<f<f
e、f
a<f]に切り換える。
【0090】
次に、
図10を参照して、電動機24の制御フローのさらに他の例について説明する。
図10に示す形態においては、センサ22からの速度フィードバック値FB
Vは、
図3に示す形態と同様にフィルタ部44Aに供給され、フィルタ部44Aでフィルタ処理FRを施された後、ゲイン48A及び加算器60Aから構成される補正部62Aに供給される。
【0091】
一方、センサ22からの速度フィードバック値FB
Vは、
図9に示す形態と同様に微分器68を通してフィルタ部44Bに供給され、フィルタ部44Bでフィルタ処理FRを施された後、ゲイン48B及び加算器60Bから構成される補正部62Bに供給される。フィルタ切換部46は、フィルタ部44A及び44Bが実行するフィルタ処理FRの周波数帯を、それぞれ切り換える。
【0092】
図10に示す形態においても、プロセッサ30は、
図8に示すフローを実行し、産業機械12の運転状態の変化に応じて、フィルタ部44A及び44Bがそれぞれ実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f
a]から第2の周波数帯[f>f
d]又は[f
d<f<f
e、f
a<f]に切り換える。
【0093】
なお、速度フィードバック値FBVに対してフィルタ部44Aが実行するフィルタ処理FR(FRA、FRB又はFRC)の遮断周波数と、加速度フィードバック値FBAに対してフィルタ部44Bが実行するフィルタ処理FR(FRA、FRB又はFRC)の遮断周波数とは、互いに同じであってもよいし、又は、異なっていてもよい。
【0094】
例えば、フィルタ部44A及び44Bが、それぞれ、フィードバック値FBV及びFBA対してフィルタ処理FRAを実行する場合、フィルタ部44Aが実行するフィルタ処理FRAの遮断周波数fa_Aと、フィルタ部44Bが実行するフィルタ処理FRAの遮断周波数fa_Bとは、互いに同じであってもよいし、異なっていてもよい。
【0095】
また、フィルタ部44A及び44Bが、それぞれ、フィードバック値FBV及びFBA対してフィルタ処理FRBを実行する場合、フィルタ部44Aが実行するフィルタ処理FRBの遮断周波数fd_Aと、フィルタ部44Bが実行するフィルタ処理FRBの遮断周波数fd_Bとは、互いに同じであってもよいし、異なっていてもよい。
【0096】
また、フィルタ部44A及び44Bが、それぞれ、フィードバック値FBV及びFBA対してフィルタ処理FRCを実行する場合、フィルタ部44Aが実行するフィルタ処理FRCの遮断周波数fd_A、fe_A及びfa_Aと、フィルタ部44Bが実行するフィルタ処理FRCの遮断周波数fd_B、fe_B及びfa_Bとは、それぞれ同じであってもよいし(fd_A=fd_B、fe_A=fe_B、fa_A=fa_B)、又は、それぞれ異なっていてもよい(fd_A≠fd_B、fe_A≠fe_B、fa_A≠fa_B)。
【0097】
また、プロセッサ30は、ステップS5でフィルタ部44A及び44Bの周波数帯を第1の周波数帯から第2の周波数帯に切り換えるときに、フィルタ部44A及び44Bとの間で第2の周波数帯を異ならせてもよい。例えば、プロセッサ30は、ステップS5において、フィルタ部44Aが実行するフィルタ処理FRを、フィルタ処理FRAからフィルタ処理FRB(又はFRC)に切り換える一方、フィルタ部44Bが実行するフィルタ処理FRを、フィルタ処理FRAからフィルタ処理FRC(又はFRB)に切り換えてもよい。
【0098】
次に、
図11を参照して、電動機24の制御フローのさらに他の例について説明する。
図11に示す形態においては、センサ22から取得した速度フィードバック値FB
Vは、
図9に示す実施形態と同様に微分器68、フィルタ部44、及びゲイン48を通って、加速度補正値C
Aとして加算器60に出力される。
【0099】
一方、トルク指令生成部40は、比例ゲイン70、積分ゲイン72、及び積分器74を有する。比例ゲイン70は、減算器54から出力された速度偏差δVにゲインG2をかけることでトルク指令T1とし、加算器76に出力する。一方、積分ゲイン72は、減算器54から出力された速度偏差δVにゲインG3をかけることでトルク指令T2とし、加算器60に出力する。
【0100】
加算器60は、積分ゲイン72から出力されたトルク指令T2に、ゲイン48から出力された加速度補正値CAを加算することで、補正トルク指令T2’を生成する。積分器74は、補正トルク指令T2’を積分し、加算器76に出力する。加算器76は、比例ゲイン70から出力されたトルク指令T1に補正トルク指令T2’を加算することで、トルク指令TCを生成し、電流制御部42に出力する。
【0101】
ここで、トルク指令T1及びT2と、補正トルク指令T2’とは、電動機24のトルクを制御するトルク指令TCを構成し、該トルク指令TCは、上述のように電動機24を動作させるための指令を構成する。このように、本実施形態においては、補正部62は、ゲイン48及び加算器60から構成され、トルク指令生成部40においてトルク指令TCを生成するために用いられる信号(トルク指令T2)を補正している。
【0102】
本実施形態においても、プロセッサ30は、
図8に示すフローを実行し、産業機械12の運転状態の変化に応じて、フィルタ部44が実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f
a]から第2の周波数帯[f>f
d]又は[f
d<f<f
e、f
a<f]に切り換える。
【0103】
なお、本実施形態においては、補正部62が、トルク指令生成部40において指令TCを生成するために用いられる信号T2を補正する場合について述べたが、これに限らず、速度指令生成部38又は電流制御部42で指令VC又はVSを生成するために用いられる信号を補正するように構成されてもよい。
【0104】
次に、
図12及び
図13を参照して、他の実施形態に係る機械システム80について説明する。機械システム80は、産業機械82、及び、該産業機械82を制御する制御装置14を備える。ここで、産業機械82は、上述の産業機械12と、センサ84をさらに備える点で相違する。
【0105】
センサ84は、リニアスケール又は変位センサ等であって、被駆動体18(又は、ワークW)に対向配置される。センサ84は、被駆動体18(又は、ワークW)の、軸線Aの方向の位置P(例えば、座標)を連続的(例えば、周期的)に検出し、位置フィードバック値FBP2として、制御装置14のI/Oインターフェース34に順次送信する。
【0106】
制御装置14のプロセッサ30は、フィードバック取得部52として機能して、I/Oインターフェース34を通して、センサ84から位置フィードバック値FBP2を順次取得する。この位置フィードバック値FBP2は、被駆動体18の位置Pを時系列で示す時系列データである。
【0107】
図14に、機械システム80における電動機24の制御フローの一例を示す。
図14に示す制御フローは、
図10と以下の点で相違する。具体的には、センサ84から取得した位置フィードバック値FB
P2は、微分器86に入力される。微分器86は、入力された位置フィードバック値FB
P2を時間微分し、速度フィードバック値FB
V2として、フィルタ部44A及び微分器68に出力する。
【0108】
図10に示す形態と同様に、速度フィードバック値FB
V2は、フィルタ部44Aでフィルタ処理FRを施された後、ゲイン48A及び加算器60Aから構成される補正部62Aに供給される。また、速度フィードバック値FB
V2は、微分器68で時間微分され、フィルタ部44Bでフィルタ処理FRを施された後、ゲイン48B及び加算器60Bから構成される補正部62Bに供給される。
【0109】
次に、
図8を参照して、機械システム80のプロセッサ30が実行するフィルタ制御フローについて説明する。本実施形態に係るフローは、上述の実施形態と、ステップS4において相違する。ステップS4において、プロセッサ30は、産業機械82とワークWとの距離Lに基づいて、産業機械82の運転状態が変化したか否かを判断する。
【0110】
具体的には、プロセッサ30は、ステップS1の開始後、センサ84から取得した位置フィードバック値FBP2に基づいて、産業機械82とワークWとの距離Lを求める。例えば、プロセッサ30は、位置フィードバック値FBP2とともに、産業機械82の工具16の位置データを取得する。
【0111】
そして、プロセッサ30は、工具16の位置データと位置フィードバック値FB
P2とから、工具16とワークWとの距離L(
図13)を求める。このように、本実施形態においては、プロセッサ30は、フィードバック値FB
P2に基づいて距離Lを求める距離取得部88(
図12)として機能する。
【0112】
そして、プロセッサ30は、ステップS4において、運転状態判断部66として機能し、距離Lが予め定めた閾値εを超えて小さくなったときに、産業機械82の運転状態が変化した(すなわち、YES)と判断する。ここで、距離Lが予め定めた閾値εよりも小さくなったとき、工具16がワークWと当接して加工を開始するものと見做すことができる。
【0113】
そして、ステップS5において、プロセッサ30は、フィルタ切換部46として機能し、フィルタ部44A及び44Bがそれぞれ実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>fa]から第2の周波数帯[f>fd]又は[fd<f<fe、fa<f]に切り換える。
【0114】
以上のように、本実施形態においては、プロセッサ30は、距離Lに基づいて、産業機械82の運転状態が変化(具体的には、工具16がワークWと当接)したか否かを判断している。この構成によれば、プロセッサ30は、産業機械82の運転状態が変化するタイミングを、より高精度に判断できる。そして、プロセッサ30は、運転状態が変化するタイミングで、フィルタ部44A及び44Bにおけるフィルタ処理FRの周波数帯を、該変化に起因して発生するノイズN2を除去可能な周波数帯[f>fd]又は[fd<f<fe、fa<f]に切り換えることができる。
【0115】
次に、
図15及び
図16を参照して、さらに他の実施形態に係る機械システム90について説明する。機械システム90は、産業機械92、及び該産業機械92を制御する制御装置14を備える。産業機械92は、上述の産業機械82と、センサ94を備える点で相違する。
【0116】
センサ94は、加速度センサであって、被駆動体18に設けられている。センサ94は、被駆動体18(又は、ワークW)の加速度を連続的(例えば、周期的)に検出し、加速度フィードバック値FBA2として、制御装置14のI/Oインターフェース34に順次送信する。
【0117】
制御装置14のプロセッサ30は、フィードバック取得部52として機能して、I/Oインターフェース34を通して、センサ94から加速度フィードバック値FBA2を順次取得する。この加速度フィードバック値FBA2は、被駆動体18の加速度の振幅値を時系列で示す時系列データである。
【0118】
図17に、機械システム90における電動機24の制御フローの一例を示す。
図17に示す制御フローは、
図9と以下の点で相違する。具体的には、センサ94から取得した加速度フィードバック値FB
A2は、フィルタ部44に入力される。フィルタ部44は、加速度フィードバック値FB
A2に対してフィルタ処理FRを実行し、ゲイン48及び加算器60から構成される補正部62に供給する。
【0119】
図17に示す形態においても、プロセッサ30は、
図8に示すフローを実行し、産業機械12の運転状態の変化に応じて、フィルタ部44が実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f
a]から第2の周波数帯[f>f
d]又は[f
d<f<f
e、f
a<f]に切り換える。
【0120】
次に、
図18及び
図19を参照して、さらに他の実施形態に係る機械システム100について説明する。機械システム100は、産業機械102、及び該産業機械102を制御する制御装置14を備える。産業機械102は、プレス機械である。具体的には、産業機械102は、被駆動体18A及び18B、第1の移動機構108、第2の移動機構110、センサ22A、22B、84及び112を有する。
【0121】
被駆動体18Bは、プレス機械のダイクッションであって、軸線Aの方向へ移動可能に設けられている。ワーク(図示せず)は、被駆動体18Bの上に設置される。一方、被駆動体18Aは、プレス機械のスライドであって、軸線Aの方向へ移動可能となるように、被駆動体18Bに上側に対向配置されている。
【0122】
第1の移動機構108は、電動機24A、及びクランク機構114を有する。電動機24Aは、制御装置14からの指令に応じて、その出力シャフト24aを回転駆動する。クランク機構114は、電動機24Aの出力シャフト24aの回転運動を、被駆動体18Aの軸線Aの方向の往復動へ変換する。
【0123】
第2の移動機構110は、電動機24B、プーリ116及び118、ベルト120、ボールねじ122、並びに、直動部124を有する。電動機24Bは、制御装置14からの指令に応じて、その出力シャフト24aを回転駆動する。プーリ116は、電動機24Bの出力シャフト24aに固設され、その外周面に歯部が形成されている。プーリ118は、ボールねじ122の下端部に固設され、その外周面に歯部が形成されている。
【0124】
ベルト120は、その内周面に歯部が形成され、プーリ116及び118の外周面に張り渡されている。プーリ116及び118の外周面に形成された歯部と、ベルト120の内周面に形成された歯部とは、互いに係合する。これにより、電動機24Bの出力シャフト24aの回転力は、プーリ116及び118とベルト120とを介してボールねじ122に伝達され、該ボールねじ122を軸線A周りに回転させる。直動部124は、軸線Aの方向へ移動可能に設置され、被駆動体18Bに固定されている。
【0125】
直動部124の中央部には、ボルト部材126が固設され、該ボルト部材126にボールねじ122が螺合している。電動機24Bがボールねじ122を回転させるにつれて、ボルト部材126が往復動され、これにより、被駆動体18Bが軸線Aの方向へ往復動される。
【0126】
センサ22Aは、電動機24Aの回転位置を検出するエンコーダ(又はホール素子)等である。センサ22Aは、上述のセンサ22と同様に、検出した電動機24Aの回転位置を時間微分することで、電動機24Aの回転速度Vを検出し、速度フィードバック値FBVとして、制御装置14に順次供給する。
【0127】
同様に、センサ22Bは、電動機24Bの回転位置を検出するエンコーダ(又はホール素子)等であって、上述のセンサ22と同様に、検出した電動機24Bの回転位置を時間微分することで、電動機24Bの回転速度Vを検出し、速度フィードバック値FBVとして制御装置14に順次供給する。
【0128】
センサ84は、リニアスケール又は変位センサ等であって、被駆動体18Aに対向配置される。センサ84は、被駆動体18Aの、軸線Aの方向の位置P(例えば、座標)を連続的(例えば、周期的)に検出し、位置フィードバック値FBP2として、制御装置14のI/Oインターフェース34に順次送信する。
【0129】
センサ112は、力センサ又は圧力センサであって、被駆動体18Bが被駆動体18Aに加える力F3を検出する。なお、本稿において、力F3とは、力(単位:N)のみならず、圧力(単位:N/m2、Pa)を意味する場合がある。本実施形態においては、センサ112は、被駆動体18Bに内蔵されている。センサ112は、被駆動体18Bが生じる力F3を連続的(例えば、周期的)に検出し、力フィードバック値FBFとして、制御装置14のI/Oインターフェース34に順次送信する。
【0130】
プロセッサ30は、フィードバック取得部52として機能して、I/Oインターフェース34を通して、速度フィードバック値FBV、位置フィードバック値FBP2、及び力フィードバック値FBFを順次取得する。プロセッサ30は、電動機24A及び24Bを個別に制御し、被駆動体18Aを下方へ移動させて被駆動体18Bの上に設置されたワークを該被駆動体18Bとの間で挟み込み、その後、被駆動体18A及び18Bを互いに同期して下方へ移動させて、該ワークを金型(図示せず)でプレス加工する。
【0131】
図20に、電動機24Bの制御フローの一例を示す。被駆動体18A及び18Bの間でワークを挟み込みながら該被駆動体18A及び18Bを下方へ移動させるとき、プロセッサ30は、センサ112から取得した力フィードバック値FB
Fに基づいて、力F3を予め定めた目標値F
αに維持する力制御を実行する。
【0132】
具体的には、プロセッサ30は、力指令FC(=目標値Fα)を生成する。そして、プロセッサ30は、減算器(図示せず)で、該力指令値FCから、センサ112から取得した力フィードバック値FBFを減算し、力偏差δFとして速度指令生成部38に出力する。これにより、電動機24Bは、力F3を目標値Fαに維持しつつ、被駆動体18Bを、被駆動体18Aと同期して下方へ移動させる。
【0133】
一方、センサ84から取得した位置フィードバック値FBP2は、微分器86に入力され、該微分器86で時間微分されて、速度フィードバック値FBV2としてフィルタ部44に出力される。フィルタ部44は、速度フィードバック値FBV2に対しフィルタ処理FRを実行し、ゲイン48及び加算器60から構成された補正部62に供給する。補正部62は、速度指令生成部38が生成した速度指令VCを、速度補正値CVによって補正する。本実施形態においては、補正部62は、被駆動体18Aの動作に起因した上述の力偏差δFを低減するための補正を行うように、構成される。
【0134】
次に、
図8を参照して、機械システム100におけるフィルタ制御フローについて説明する。
図8に示すフローの開始後、機械システム100のプロセッサ30は、上述の実施形態と同様に、ステップS1でフィードバック値FB(速度フィードバック値FB
V、位置フィードバック値FB
P2、及び力フィードバック値FB
F)の取得を開始する。そして、プロセッサ30は、上述の実施形態と同様に、ステップS2でフィルタ部44によるフィルタ処理FR
Aを開始し、ステップS3で補正部62による指令VCの補正を開始する。
【0135】
ステップS4において、プロセッサ30は、産業機械102の運転状態が変化したか否かを判断する。一例として、プロセッサ30は、フィードバック値FB(例えば、力フィードバック値FBF、電流フィードバック値FBI又は負荷トルクFBτ)が予め定めた閾値γを超えて変化したときに、YESと判断する。他の例として、プロセッサ30は、電動機24Bへの指令(例えば、トルク指令TC又は電圧信号VS)が閾値βを超えて変化したときに、産業機械102の運転状態が変化した(すなわち、YES)と判断する。
【0136】
さらに他の例として、プロセッサ30は、距離取得部88として機能し、センサ84から取得した位置フィードバック値FBP2に基づいて、産業機械102とワークとの距離Lを求める。具体的には、プロセッサ30は、位置フィードバック値FBP2と、被駆動体18Bの位置データとから、被駆動体18Aとワーク(又は被駆動体18B)との距離Lを求める。そして、プロセッサ30は、距離Lが予め定めた閾値εを超えて小さくなったときに、YESと判断する。
【0137】
そして、ステップS5において、プロセッサ30は、フィルタ処理FRの周波数帯を、第1の周波数帯[f>f
a]から、第2の周波数帯[f>f
d]又は[f
d<f<f
e、f
a<f]に切り換える。ここで、
図20に示すフィルタ部44が実行するフィルタ処理FR
Aの遮断周波数f
a、フィルタ処理FR
Bの遮断周波数f
d、又は、フィルタ処理FR
Cの遮断周波数f
d、f
e及びf
aは、
図3又は
図9に示す形態と同じ遮断周波数であってもよいし、又は、異なる遮断周波数として機械システム100に固有に定められてもよい。
【0138】
その後、プロセッサ30は、上述の実施形態と同様に、ステップS6~S9を順次実行する。このように、機械システム100においても、産業機械
102の運転状態が変化したときに、フィルタ処理FR
B又はFR
Cによって、フィードバック値FB
V2からノイズ成分N2を遮断できる。なお、電動機24A又は24Bの制御フローとして、
図3、
図9、
図10、
図11、
図14、又は
図17に示すような制御フローを適用することができることを理解されたい。
【0139】
上述の実施形態において、フィルタ切換部46は、フィルタ処理FRの周波数帯を切り換えるときに、フィルタ処理FRBの周波数帯[f>fd]、又は、フィルタ処理FRCの周波数帯[fd<f<fe、fa<f]を、電動機24、24A、24Bへの指令PC、δP、VC、VC’、δV’、TC、VS、又は、センサ22、22A、22B、84、94、112からのフィードバック値FBに基づいて決定してもよい。
【0140】
例えば、プロセッサ30は、電動機への指令又はセンサからのフィードバック値FBと、ノイズ成分N2の周波数特性との相関性を示す学習モデルLMを生成し、該指令又は該フィードバック値FBと、該学習モデルLMとに基づいて、フィルタ処理FRの周波数帯を決定してもよい。
【0141】
以下、学習モデルLMの学習方法の例について説明する。プロセッサ30は、産業機械12の運転状態の変化が発生するように、産業機械12の運転を繰り返し試行し、このときに取得した指令又はフィードバック値FBの時間変化特性又は周波数特性と、フィードバック値FBに生じたノイズ成分N2の周波数特性(周波数帯)とを、学習データセットDSとして取得する。
【0142】
そして、プロセッサ30は、学習データセットDSを用いて、例えば教師あり学習を実行することにより、指令又はフィードバック値とノイズ成分N2の周波数特性との相関性を示す学習モデルLMを生成する。プロセッサ30は、産業機械12の運転の試行を繰り返す毎に、学習データセットDSを取得して学習モデルLMを更新する学習サイクルを実行する。これにより、学習モデルLMを最適解に導くことができる。
【0143】
そして、プロセッサ30は、上述のステップS5において、運転状態が変化したときに取得した指令又はフィードバック値を学習モデルLMに入力する。そうすると、学習モデルLMは、運転状態の変化時の指令又はフィードバック値と相関性を有するノイズ成分N2の周波数特性を出力する。プロセッサ30は、出力されたノイズ成分N2の周波数帯を含むように、フィルタ処理FRB、FRCの周波数帯(すなわち、遮断周波数fd、fe)を決定できる。こうして、プロセッサ30は、電動機への指令又はセンサからのフィードバック値FBに基づいてフィルタ処理FRの周波数帯を決定できる。
【0144】
なお、
図4、
図6及び
図7に示すフィルタ処理FR
A、FR
B及びFR
Cの周波数特性は、一例であって、遮断すべきノイズ成分に応じて、如何なる周波数特性を有するように構成してもよい。また、上述の産業機械12は、被駆動体18を複数の方向へ移動させる複数の移動機構を備えてもよい。この場合、プロセッサ30は、各々の移動機構の電動機に対して、上述したフィルタ制御フローを実行してもよい。また、上述の実施形態から、位置指令生成部36を削除してもよい。この場合において、位置指令生成部36は、上位コントローラに設けられ、プロセッサ30は、該上位コントローラから位置指令PCを受け付けてもよい。
【0145】
また、上述の実施形態においては、
図8のステップS4において、プロセッサ30(運転状態判断部66)が、電動機24への指令(PC、δP、VC、VC’、δV’、TC、VS)、フィードバック値FB(FB
V、FB
A)、又は、産業機械12の動作プログラムOPに基づいて、産業機械12の運転状態が変化したか否かを判断する場合について述べた。
【0146】
しかしながら、これに限らず、プロセッサ30は、例えば、運転状態が変化(例えば、産業機械12とワークとが当接)する時間tVを推定し、ステップS4において、運転開始からの経過時間が該時間tVに達したときに、YESと判断してもよい。この時間tVは、例えば、動作プログラムから推定することができる。
【0147】
また、上述の実施形態においては、フィルタ部44がデジタルフィルタとして構成される場合について述べた。しかしながら、フィルタ部44は、アナログフィルタによって構成されてもよい。例えば、フィルタ部44は、フィルタ処理FRAを実行可能なアナログフィルタ部44αと、フィルタ処理FRBを実行可能なアナログフィルタ部44β、又は、フィルタ処理FRCを実行可能なアナログフィルタ部44γとを有してもよい。
【0148】
そして、プロセッサ30は、アナログフィルタ部44αと、アナログフィルタ部44β又は44γとの間でスイッチングすることによって、フィルタ処理FRの周波数帯を切り換えてもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【0149】
10,80,90,100 機械システム
12,82,92,102 産業機械
14 制御装置
22,22A,22B,84,94,112 センサ
24,24A,24B 電動機
30 プロセッサ
44,44A,44B,44α、44β,44γ フィルタ部
46 フィルタ切換部
62,62A,62B 補正部
66 運転状態判断部
88 距離取得部