(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025048802
(43)【公開日】2025-04-03
(54)【発明の名称】制御装置、および制御方法
(51)【国際特許分類】
B23Q 5/22 20060101AFI20250326BHJP
B23Q 1/58 20060101ALI20250326BHJP
【FI】
B23Q5/22 530G
B23Q1/58 A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2024162117
(22)【出願日】2024-09-19
(31)【優先権主張番号】P 2023155651
(32)【優先日】2023-09-21
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(71)【出願人】
【識別番号】000146847
【氏名又は名称】DMG森精機株式会社
(74)【代理人】
【識別番号】100185719
【弁理士】
【氏名又は名称】北原 悠樹
(72)【発明者】
【氏名】藤本 博志
(72)【発明者】
【氏名】藤本 浩太
(72)【発明者】
【氏名】伊佐岡 慶浩
(72)【発明者】
【氏名】寺田 祐貴
【テーマコード(参考)】
3C048
【Fターム(参考)】
3C048BC02
3C048DD01
3C048EE00
(57)【要約】
【課題】ツインドライブ機構の駆動精度を従来よりも改善するための技術を提供する。
【解決手段】制御装置は、駆動機構は、第1,第2のモータと、第1,第2のモータの同時駆動によって同方向に駆動される駆動対象物とを備える。制御装置は、第1,第2のモータの角度に基づく重心位置の入力と、当該重心位置に対する目標位置の入力とを受け、当該重心位置を基準とする並進方向に係る電流指令値と、当該重心位置を基準とする回転方向に係る電流指令値とを生成する第1の制御部と、所定の変換行列に基づいて、並進方向に係る電流指令値と回転方向に係る電流指令値とを、第1,第2のモータ用の第1,第2の電流指令値に変換する変換部と、変換部による変換に伴う誤差を補正した上で、当該第1の電流指令値および当該第2の電流指令値のそれぞれを第1,第2のモータのそれぞれに出力する第2の制御部とを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
駆動機構の制御装置であって、
前記駆動機構は、
第1のモータと、
第2のモータと、
前記第1のモータおよび前記第2のモータの同時駆動によって同方向に駆動される駆動対象物とを備え、
前記制御装置は、
前記第1のモータの角度と前記第2のモータの角度とに基づく重心位置の入力と、当該重心位置に対する目標位置の入力とを受け、当該重心位置を基準とする並進方向に係る電流指令値と、当該重心位置を基準とする回転方向に係る電流指令値とを生成する第1の制御部と、
所定の変換行列に基づいて、前記並進方向に係る電流指令値と前記回転方向に係る電流指令値とを、前記第1のモータ用の第1の電流指令値と前記第2のモータ用の第2の電流指令値とに変換する変換部と、
前記変換部による変換に伴う誤差を補正した上で、当該第1の電流指令値および当該第2の電流指令値のそれぞれを前記第1のモータおよび前記第2のモータのそれぞれに出力する第2の制御部とを備える、制御装置。
【請求項2】
前記並進方向に係る電流指令値は、前記重心位置が前記目標位置に近付くように生成され、
前記回転方向に係る電流指令値は、前記第1のモータの角度と前記第2のモータの角度との差分値がゼロに近付くように生成される、請求項1に記載の制御装置。
【請求項3】
前記誤差を補正する処理は、
前記第1のモータの角速度に比例する第1の所定値を補正前の前記第1の電流指令値に加算する処理と、
前記第2のモータの角速度に比例する第2の所定値を補正前の前記第2の電流指令値に加算する処理とを含む、請求項1または2に記載の制御装置。
【請求項4】
前記第1の所定値は、前記第1のモータの角速度に第1の係数を掛けた値に相当し、
前記第2の所定値は、前記第2のモータの角速度に第2の係数を掛けた値に相当し、
前記第1の係数および前記第2の係数は、前記第1のモータのイナーシャおよび前記第2のモータのイナーシャの比と、前記第1のモータの粘性係数および前記第2のモータの粘性係数の比とが等しくなるように決められている、請求項3に記載の制御装置。
【請求項5】
前記第2の制御部は、さらに、
補正後の前記第1の電流指令値を前記第1のモータに出力したことに伴う前記第1のモータの第1の角度を算出する処理と、
補正後の前記第2の電流指令値を前記第2のモータに出力したことに伴う前記第2のモータの第2の角度を算出する処理と、
前記算出された第1の角度と、前記算出された第2の角度と、前記第1のモータの第1のイナーシャと、前記第2のモータの第2のイナーシャとに基づいて、前記重心位置を算出する処理と、
前記算出された重心位置を前記第1の制御部にフィードバックする処理とを実行する、請求項1または2に記載の制御装置。
【請求項6】
前記第1の制御部は、前記算出された第1の角度と、前記算出された第2の角度との差分値に対して所定の比例ゲインを掛けることで、前記回転方向に係る電流指令値を生成する、請求項5に記載の制御装置。
【請求項7】
請求項1または2に記載の制御装置と、
前記駆動機構とを備えた、工作機械。
【請求項8】
前記駆動対象物は、ワークまたは工具を回転可能に保持するための主軸である、請求項7に記載の工作機械。
【請求項9】
前記駆動対象物は、ワークを載置するためのテーブルである、請求項7に記載の工作機械。
【請求項10】
前記駆動対象物は、部材を搬送するためのローダである、請求項7に記載の工作機械。
【請求項11】
駆動機構の制御方法であって、
前記駆動機構は、
第1のモータと、
第2のモータと、
前記第1のモータおよび前記第2のモータの同時駆動によって同方向に駆動される駆動対象物とを備え、
前記制御方法は、
前記第1のモータの角度と前記第2のモータの角度とに基づく重心位置の入力と、当該重心位置に対する目標位置の入力とを受け、当該重心位置を基準とする並進方向に係る電流指令値と、当該重心位置を基準とする回転方向に係る電流指令値とを生成するステップと、
所定の変換行列に基づいて、前記並進方向に係る電流指令値と前記回転方向に係る電流指令値とを、前記第1のモータ用の第1の電流指令値と前記第2のモータ用の第2の電流指令値とに変換するステップと、
前記変換するステップに伴う誤差を補正した上で、当該第1の電流指令値および当該第2の電流指令値のそれぞれを前記第1のモータおよび前記第2のモータのそれぞれに出力するステップとを備える、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置、および制御方法に関する。
【背景技術】
【0002】
近年、工作機械の大型化が進んでいる。それに伴って、工作機械内における駆動対象の物体も大型化している。大型の物体を駆動するための機構として、ツインドライブ機構がある。ツインドライブ機構は、2つのモータで同方向に物体を駆動する機構である。
【0003】
ツインドライブ機構においては、各モータの駆動軸間に干渉力が働く。この干渉力は、加工精度の低下の原因となっている。この問題を解決するための手段として、非特許文献1は、駆動機構の制御モデルを並進方向と回転方向とに分離することで駆動軸間の非干渉化を図る手法を開示している。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】R. Nakashima, S. Kaku, H. Honda, R. Oguro, H. Miyakawa, T. Tsuji: "The Position Control for Linear Slider with Twin Linear Drives", IEEJ Transactions on Industry Applications, Vol.123, No.3, pp.278-285 (2003)
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に開示される手法は、ツインドライブのリニアスライダを対象としている。また、当該手法においては、スライダの重量を並進方向の運動方程式の慣性とし、スライダのイナーシャを回転方向の運動方程式の慣性とするモデル化が行われている。これは、スライダを剛体と仮定する近似に基づいている。一方で、大型の物体の駆動制御においては、ツインドライブ機構の弾性が駆動精度に影響する。
【0006】
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、ツインドライブ機構の駆動精度を従来よりも改善するための技術を提供することである。
【課題を解決するための手段】
【0007】
本開示の一例では、駆動機構の制御装置が提供される。上記駆動機構は、第1のモータと、第2のモータと、上記第1のモータおよび上記第2のモータの同時駆動によって同方向に駆動される駆動対象物とを備える。上記制御装置は、上記第1のモータの角度と上記第2のモータの角度とに基づく重心位置の入力と、当該重心位置に対する目標位置の入力とを受け、当該重心位置を基準とする並進方向に係る電流指令値と、当該重心位置を基準とする回転方向に係る電流指令値とを生成する第1の制御部と、所定の変換行列に基づいて、上記並進方向に係る電流指令値と上記回転方向に係る電流指令値とを、上記第1のモータ用の第1の電流指令値と上記第2のモータ用の第2の電流指令値とに変換する変換部と、上記変換部による変換に伴う誤差を補正した上で、当該第1の電流指令値および当該第2の電流指令値のそれぞれを上記第1のモータおよび上記第2のモータのそれぞれに出力する第2の制御部とを備える。
【0008】
本開示の一例では、上記並進方向に係る電流指令値は、上記重心位置が上記目標位置に近付くように生成される。上記回転方向に係る電流指令値は、上記第1のモータの角度と上記第2のモータの角度との差分値がゼロに近付くように生成される。
【0009】
本開示の一例では、上記誤差を補正する処理は、上記第1のモータの角速度に比例する第1の所定値を補正前の上記第1の電流指令値に加算する処理と、上記第2のモータの角速度に比例する第2の所定値を補正前の上記第2の電流指令値に加算する処理とを含む。
【0010】
本開示の一例では、上記第1の所定値は、上記第1のモータの角速度に第1の係数を掛けた値に相当する。上記第2の所定値は、上記第2のモータの角速度に第2の係数を掛けた値に相当する。上記第1の係数および上記第2の係数は、上記第1のモータのイナーシャおよび上記第2のモータのイナーシャの比と、上記第1のモータの粘性係数および上記第2のモータの粘性係数の比とが等しくなるように決められている。
【0011】
本開示の一例では、上記第2の制御部は、さらに、補正後の上記第1の電流指令値を上記第1のモータに出力したことに伴う上記第1のモータの第1の角度を算出する処理と、補正後の上記第2の電流指令値を上記第2のモータに出力したことに伴う上記第2のモータの第2の角度を算出する処理と、上記算出された第1の角度と、上記算出された第2の角度と、上記第1のモータの第1のイナーシャと、上記第2のモータの第2のイナーシャとに基づいて、上記重心位置を算出する処理と、上記算出された重心位置を上記第1の制御部にフィードバックする処理とを実行する。
【0012】
本開示の一例では、上記第1の制御部は、上記算出された第1の角度と、上記算出された第2の角度との差分値に対して所定の比例ゲインを掛けることで、上記回転方向に係る電流指令値を生成する。
【0013】
本開示の他の例では、工作機械が提供される。上記工作機械は、上記制御装置と、上記駆動機構とを備える。
【0014】
本開示の一例では、上記駆動対象物は、ワークまたは工具を回転可能に保持するための主軸である。
【0015】
本開示の一例では、上記駆動対象物は、ワークを載置するためのテーブルである。
【0016】
本開示の一例では、上記駆動対象物は、部材を搬送するためのローダである。
【0017】
本開示の他の例では、駆動機構の制御方法が提供される。上記駆動機構は、第1のモータと、第2のモータと、上記第1のモータおよび上記第2のモータの同時駆動によって同方向に駆動される駆動対象物とを備える。上記制御方法は、上記第1のモータの角度と上記第2のモータの角度とに基づく重心位置の入力と、当該重心位置に対する目標位置の入力とを受け、当該重心位置を基準とする並進方向に係る電流指令値と、当該重心位置を基準とする回転方向に係る電流指令値とを生成するステップと、所定の変換行列に基づいて、上記並進方向に係る電流指令値と上記回転方向に係る電流指令値とを、上記第1のモータ用の第1の電流指令値と上記第2のモータ用の第2の電流指令値とに変換するステップと、上記変換するステップに伴う誤差を補正した上で、当該第1の電流指令値および当該第2の電流指令値のそれぞれを上記第1のモータおよび上記第2のモータのそれぞれに出力するステップとを備える。
【0018】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0019】
【
図2】工作機械に搭載されているツインドライブ機構の一例を示す図である。
【
図6】工作機械の装置構成の他の例を示す図である。
【
図7】工作機械の装置構成のさらに他の例を示す図である。
【
図8】CNC(Computer Numerical Control)装置のハードウェア構成の一例を示す図である。
【
図9】ツインドライブ機構の制御処理の流れを示すフローチャートである。
【
図10】第1比較例に従う制御装置の構成を示す図である。
【
図11】第2比較例に従う制御装置の構成を示す図である。
【
図12】第3比較例に従う制御装置の構成を示す図である。
【
図13】評価実験で用いられた位置軌道を示す図である。
【
図14】評価実験で用いられた角速度軌道を示す図である。
【
図15】当該位置軌道と当該角速度軌道とを制御装置のそれぞれの入力として用いた場合における実験結果を示す図である。
【
図16】変形例に従う制御装置の構成例を示す図である。
【発明を実施するための形態】
【0020】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【0021】
<A.工作機械100>
まず、
図1を参照して、実施の形態に従う工作機械100について説明する。
図1は、工作機械100の外観の一例を示す図である。
【0022】
本明細書でいう「工作機械」とは、ワークを加工する機能を備えた種々の装置を包含する概念である。工作機械100は、横形のマシニングセンタであってもよいし、立形のマシニングセンタであってもよい。あるいは、工作機械100は、旋盤であってもよいし、その他の切削機械、研削機械、複合加工機、5軸加工機などであってもよい。また、工作機械100は、除去加工のみを行うものに限られず、除去加工に加えて付加加工を行うものであってもよい。
【0023】
工作機械100は、たとえば、カバー体190と、操作盤200とを含む。
【0024】
カバー体190は、スプラッシュガードとも呼ばれ、工作機械100の外観を成すとともに、ワークの加工エリアを区画形成している。また、カバー体190には、加工エリアに通じるドアDRが設けられている。ドアDRは、たとえば、スライド式のドアである。ドアDRは、モータなどの駆動源により開閉可能に構成されてもよいし、手動で開閉可能に構成されてもよい。
【0025】
操作盤200は、汎用のコンピュータであり、加工に関する各種情報を表示するためのディスプレイを有する。当該ディスプレイは、たとえば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、またはその他の表示機器である。また、当該ディスプレイは、タッチパネルを備え、工作機械100に対する各種操作をタッチ操作で受け付ける。
【0026】
<B.ツインドライブ機構>
次に、
図2を参照して、ツインドライブ機構について説明する。
図2は、工作機械100に搭載されているツインドライブ機構130の一例を示す図である。
【0027】
ツインドライブ機構130は、2つのモータで1つの駆動対象物150を同方向に駆動する機構である。一例として、ツインドライブ機構130は、モータ132L,132Rと、ボールねじ134L,134Rとで構成される。
【0028】
ツインドライブ機構130は、制御装置50によって制御される。制御装置50の詳細については後述する。
【0029】
図2には、ツインドライブ機構130の駆動対象物150の一例として、テーブル156が示されている。テーブル156には、工作機械100による加工対象のワークが載置される。
【0030】
説明の便宜のために、以下では、駆動対象物150の並進方向を「X軸方向」とも称する。
図2の例では、X軸方向は、水平面上の一方向に対応している。また、X軸方向に直交する方向を「Y軸方向」とも称する。
図2の例では、Y軸方向は、水平面上の一方向に対応している。また、X軸方向およびY軸方向の両方に直交する方向を「Z軸方向」と称する。
図2の例では、Z軸方向は、重力方向と平行な方向である。
【0031】
モータ132Lは、ボールねじ134Lに接続されている。ボールねじ134Lは、モータ132Lによる回転運動を直線運動に変えるための機構である。ボールねじ134Lは、テーブル156の駆動方向(すなわち、X軸方向)に沿って設けられている。
【0032】
モータ132Rは、ボールねじ134Rに接続されている。ボールねじ134Rは、モータ132Rによる回転運動を直線運動に変えるための機構である。ボールねじ134Rは、テーブル156の駆動方向(すなわち、X軸方向)に沿って設けられている。すなわち、ボールねじ134Rは、ボールねじ134Lと平行になるように配置されている。
【0033】
より具体的には、ボールねじ134Lは、ねじ軸と、当該ねじ軸に螺合するナットとで構成されている。モータ132Lがボールねじ134Lのねじ軸を回転運動することにより、当該ナットと当該ねじ軸との間のボールが転動し、当該ナットは、当該ねじ軸に沿って直線的にスライドする。
【0034】
同様に、ボールねじ134Rは、ねじ軸と、当該ねじ軸に螺合するナットとで構成されている。ボールねじ134Rのねじ軸は、ボールねじ134Lのねじ軸と平行になるように配置されている。モータ132Rがボールねじ134Rのねじ軸を回転運動することにより、当該ナットと当該ねじ軸との間のボールが転動し、当該ナットは、当該ねじ軸に沿って直線的にスライドする。
【0035】
テーブル156は、ボールねじ134Lのナットと、ボールねじ134Rのナットとに固定されている。工作機械100は、モータ132Lおよびモータ132Rを同時駆動することによって、テーブル156をX軸方向に直線駆動する。
【0036】
<C.ツインドライブ機構の問題点>
引き続き
図2を参照して、ツインドライブ機構130の問題点について説明する。
【0037】
図2に示されるように、ツインドライブ機構130では、2つのモータ132L,132Rが1つのテーブル156を駆動する。このとき、モータ132L,132Rの回転速度に差が生じると、軸AXの周りにねじれが生じる。軸AXは、Z軸と平行なテーブル上の軸である。このように、ツインドライブ機構130においては、モータ132L,132Rの駆動が互いに影響し合い、ねじれなどの干渉力がテーブル156に発生する。当該干渉力は、振動の原因にもなる。これにより、ワークの加工精度が低下してしまう。
【0038】
<D.原理説明>
そこで、実施の形態に従う制御装置50は、モータ132L,132R間の干渉力を抑制するような制御モデルによりツインドライブ機構130を制御する。具体的には、制御装置50は、モータ132L,132Rの2つの駆動軸を基準とする制御モデル(以下、「2軸座標系の制御モデル」ともいう。)ではなく、モータ132L,132Rの回転角度に応じた重心位置を基準とする制御モデル(以下、「重心座標系の制御モデル」ともいう。)に基づいて、ツインドライブ機構130を制御する。
【0039】
ここで、2軸座標系の制御モデルを重心座標系の制御モデルに変換するためには、2つの駆動軸の粘性摩擦の比がイナーシャ比に等しい必要がある。しかしながら、これは一般には成立しない。そこで、発明者らは、粘性摩擦の比をイナーシャ比に等しくなるような仮想的な粘性摩擦(以下、「仮想粘性」ともいう。)を各モータの電流指令値に付与することで、重心座標系の制御モデルを成立させた。
【0040】
図3は、制御装置50の構成の一例を示す図である。
図3に示されるように、制御装置50は、重心座標系の制御モデルを備えた制御部51Aと、仮想粘性を付加してモータ132L,132Rを制御する制御部51Bとで構成される。
【0041】
図3に示されるように、制御部51Bには、モータ132Lへの電流指令値「i'
L」に対して仮想粘性に応じた電流指令値を付加する仮想粘性付加部78と、モータ132Rへの電流指令値「i'
R」に対して仮想粘性に応じた電流指令値を付加する仮想粘性付加部88とが設けられている。これにより、制御部51Aに実装される重心座標系の制御モデルが成立する。
【0042】
なお、本明細書で用いる「電流指令値」とは、電流の大きさに相関する何らかのパラメータであってもよいし、電流そのものであってもよい。
【0043】
以下では、重心座標系の制御モデルを成立させるために仮想粘性を考慮する必要がある理由について説明する。
【0044】
弾性および慣性を考慮した2軸座標系の制御モデルは、下記の運動方程式(1a),(1b)で示される。
【0045】
【0046】
[式(1b)]
「i'
R」は、モータ132Rに分配される電流指令値を示す。「i'
L」は、モータ132Lに分配される電流指令値を示す。「J
R」は、モータ132Rのイナーシャを示す。「J
L」は、モータ132Lのイナーシャを示す。「D
R」は、モータ132Rの粘性係数を示す。「D
L」は、モータ132Lの粘性係数を示す。「K」は、弾性係数を示す。「K
t」は、モータトルク係数を示す。「θ
R」は、モータ132Rの回転角度を示す。「θ
L」は、モータ132Lの回転角度を示す。
【0047】
「J
R」,「D
R」,「J
L」,「D
L」,「K」,「K
t」は、定数である。
図4は、各定数の一例を示す。
【0048】
ある制御入力「τ'v,R」が式(1a)の右辺に対して加えられたとする。ここで、「τ'v,R」は、モータ132Rの回転速度に比例する。当該回転速度に対する係数は、「aR」である。すなわち、「τ'v,R」は、下記式(2a)で示される。
【0049】
[式(2a)]
また、ある制御入力「τ'
v,L」が式(1b)の右辺に対して加えられたとする。ここで、「τ'
v,L」は、モータ132Lの回転速度に比例する。当該回転速度に対する係数は、「a
L」である。すなわち、「τ'
v,L」は、下記式(2b)で示される。
【0050】
[式(2b)]
上記式(1a)の右辺に「τ'
v,R」を加えると、上記式(1a)は、下記式(3a)に変形され得る。
【0051】
[式(3a)]
また、式(1b)の右辺に「τ'v,L」を加えると、上記式(1b)は、下記式(3b)に変形され得る。
【0052】
[式(3b)]
上述のように、2軸座標系の制御モデルを重心座標系の制御モデルに変換するためには、2つの駆動軸の粘性摩擦の比がイナーシャ比に等しい必要がある。すなわち、下記式(4)の条件が必要となる。
【0053】
[式(4)]
ここで、「a
R」は、0とする。これにより、上記式(4)に示される「a
L」は、下記式(5)で示される。
【0054】
[式(5)]
上記式(3a)は、上記式(4),(5)に基づいて、下記式(6a)に変形され得る。
【0055】
[式(6a)]
また、上記式(3b)は、上記式(4),(5)に基づいて、下記式(6b)に変形され得る。
【0056】
[式(6b)]
下記式(6a),(6b)の両辺を足し合わせた上で、両辺を「J
R+J
L」で割ると、下記式(7a)が導かれる。
【0057】
[式(7a)]
また、下記式(6a),(6b)の両辺をそれぞれ「JR」、「JL」で割った後に、両辺を引き合わせることで、下記式(7b)が導かれる。
【0058】
[式(7b)]
上記式(7a)は、下記式(8a)で示される。
【0059】
[式(8a)]
また、上記式(7b)は、下記式(8b)で示される。
【0060】
[式(8b)]
但し、上記式(8a)に示される「θ
sum」と、上記式(8b)に示される「θ
diff」とは、下記式(9a)で表わされる。「θ
sum」は、下記式(9a)に示されるように、モータ132Rの回転角度とモータ132Lの回転角度とに基づいて算出される重心位置を示す。「θ
diff」は、モータ132Rの回転角度とモータ132Lの回転角度との回転角度差を示す。
【0061】
[式(9a)]
また、上記式(8a)に示される「i
sum」と、上記式(8b)に示される「i
diff」とは、下記式(9b)で表わされる。
【0062】
[式(9b)]
以上により、上記式(1a)の右辺に対して「a
R・dθ
R/dt」が付加され、上記式(1b)の右辺に対して「a
L・dθ
L/dt」が付加されることで、上記式(8a),(8b)が成り立つ。上記式(8a)には、「θ
diff」が含まれていない。すなわち、上記式(8a)は、「θ
diff」の影響を受けない。一方で、上記式(8b)には、「θ
sum」が含まれていない。すなわち、上記式(8b)は、「θ
sum」の影響を受けない。
【0063】
<E.制御装置50の構成>
次に、上述の
図3を参照して、制御装置50の構成の具体例について説明する。
【0064】
上述のように、制御装置50は、重心座標系の制御モデルを備えた制御部51A(第1の制御部)と、仮想粘性を考慮してモータ132L,132Rを制御する制御部51B(第2の制御部)とで構成される。
【0065】
制御部51Aは、上述の重心位置「θsum」の並進方向における制御モデルが実装された並進方向制御部52Aと、重心位置「θsum」の回転方向における制御モデルが実装された回転方向制御部52Bとで構成されている。
【0066】
並進方向制御部52Aは、制御部51Bから出力される重心位置「θsum」と、目標位置との入力を少なくとも受けて、重心位置「θsum」が目標位置に近付くような電流指令値「isum」を生成する。
【0067】
重心位置「θsum」を目標位置に近付ける制御処理は、P(Proportional)制御により実現されてもよいし、PI(Proportional-Integral)制御により実現されてもよいし、PD(Proportional-Differential)制御により実現されてもよいし、PID(Proportional-Integral-Differential)制御により実現されてもよい。
【0068】
図3の例では、重心位置「θ
sum」を目標位置に近付ける制御処理がP-PI制御により実現されている。より具体的には、並進方向制御部52Aは、演算器56,60で構成される。
【0069】
演算器56には、目標位置としての位置指令値「uFB,p」と、制御部51Bから出力される重心位置「θsum」との位置偏差が入力される。位置指令値「uFB,p」は、テーブル156の重心位置に係る位置軌道から予め生成されている。当該位置軌道は、時間に対する重心位置の推移で表わされている。演算器56は、位置指令値「uFB,p」と重心位置「θsum」との位置偏差に対して所定の比例ゲイン「Kp,s」を掛け、当該乗算結果を演算器60に出力する。
【0070】
演算器60には、演算器56の出力と、目標速度としての速度指令値「uFB,v」と、重心角速度「ωsum」とが入力される。重心角速度「ωsum」は、重心位置「θsum」の時間微分に相当する。速度指令値「uFB,v」は、テーブル156の重心位置に係る速度軌道から予め生成されている。当該速度軌道は、時間に対する重心角速度の推移で表わされている。演算器60は、PI制御器であり、速度指令値「uFB,v」および重心角速度「ωsum」の速度偏差と、演算器56の出力とに応じた電流指令値を生成する。当該電流指令値は、フィードフォワード制御により事前に生成された電流指令値「uFF」が加算された上で、電流指令値「isum」として、座標変換器70に出力される。
【0071】
回転方向制御部52Bは、制御部51Bから出力される回転角度差「θdiff」の入力を少なくとも受けて、回転角度差「θdiff」がゼロに近付くような電流指令値「idiff」を生成する。上述の式(9a)に示されるように、回転角度差「θdiff」は、モータ132Lの回転角度「θL」と、モータ132Rの回転角度「θR」と、の差に相当する。
【0072】
回転角度差「θdiff」をゼロに近付ける制御処理は、P制御により実現されてもよいし、PI制御により実現されてもよいし、PD制御により実現されてもよいし、PID制御により実現されてもよい。
【0073】
図3の例では回転角度差「θ
diff」をゼロに近付ける制御処理がP制御により実現されている。より具体的には、回転方向制御部52Bは、演算器66を含む。
【0074】
演算器66には、制御部51Bから出力される回転角度差「θdiff」が入力される。そして、演算器66は、当該回転角度差に対して所定の比例ゲイン「Kp,d」を掛け、当該乗算結果を電流指令値「idiff」として座標変換器70に出力する。
【0075】
座標変換器70は、所定の座標変換行列「Msd,RL」に基づいて、並進方向制御部52Aから出力される重心座標系の電流指令値「isum」,「idiff」を、モータ132L,132Rの駆動軸を基準とする2軸座標系の電流指令値「i'L」,「i'R」に変換する(上記式(9b)参照)。なお、座標変換器70は、制御部51Aに実装されてもよいし、制御部51Bに実装されてもよい。
【0076】
制御部51Bは、仮想粘性を考慮した2軸座標系の制御モデルに基づいて、モータ132L,132Rのそれぞれを制御する。
【0077】
制御部51Bは、たとえば、演算器72,73,74,76,82,84,86と、上述の仮想粘性付加部78,88と、座標変換器92とで構成される。仮想粘性付加部78は、演算器79を含む。仮想粘性付加部88は、演算器89を含む。
【0078】
演算器72には、電流指令値「iL」が入力される。電流指令値「iL」は、座標変換器70から出力される電流指令値「i'L」に対して、仮想粘性付加部78の出力を加算した値に相当する。電流指令値「iL」は、モータ132Lに対する制御指令である。演算器72は、電流指令値「iL」に対して所定のモータトルク係数「Kt」を掛け、当該乗算結果をトルク「τL」として演算器74に出力する。
【0079】
演算器73には、モータ132Lの回転角度「θL」とモータ132Rの回転角度「θR」との回転角度差が入力される。そして、演算器73は、当該回転角度差に対して所定の弾性係数「K」を掛け、当該乗算結果を演算器74,84のそれぞれに出力する。
【0080】
演算器74には、演算器72の出力であるトルク「τL」と、演算器73の出力とが入力される。そして、演算器74は、モータ132Lのイナーシャ「JL」とモータ132Lの粘性係数「DL」とに応じた伝達関数に基づいて、モータ132Lの角速度「ωL」を出力する。当該角速度「ωL」は、演算器76,79のそれぞれに出力される。
【0081】
演算器76は、積分器として機能し、角速度「ωL」の積分結果をモータ132Lの回転角度「θL」として出力する。当該回転角度「θL」は、演算器73と座標変換器92とのそれぞれに出力される。
【0082】
演算器79には、演算器74の出力である角速度「ωL」が入力される。そして、演算器79は、角速度「ωL」に対して所定値「aL」を掛け、当該乗算結果を演算器72に出力する。
【0083】
演算器82には、電流指令値「iR」が入力される。電流指令値「iR」は、座標変換器70から出力される電流指令値「i'R」に対して、仮想粘性付加部88の出力を加算した値に相当する。電流指令値「iR」は、モータ132Rに対する制御指令である。演算器82は、電流指令値「iR」に対して所定のモータトルク係数「Kt」を掛け、当該乗算結果をトルク「τR」として演算器84に出力する。
【0084】
演算器84には、演算器82の出力であるトルク「τR」と、演算器73の出力とが入力される。そして、演算器84は、モータ132Rのイナーシャ「JR」とモータ132Rの粘性係数「DR」とに応じた伝達関数に基づいて、モータ132Rの角速度「ωR」を出力する。当該角速度「ωR」は、演算器86,89のそれぞれに出力される。
【0085】
演算器86は、積分器として機能し、角速度「ωR」の積分結果をモータ132Rの回転角度「θR」として出力する。当該回転角度「θR」は、演算器73と座標変換器92とのそれぞれに出力される。
【0086】
演算器89には、演算器84の出力である角速度「ωR」が入力される。そして、演算器89は、角速度「ωR」に対して所定値「aR」を掛け、当該乗算結果を演算器82に出力する。
【0087】
座標変換器92は、所定の座標変換行列「MRL,sd」に基づいて、演算器76,86から出力される2軸座標系の回転角度「θL」,「θR」を、重心座標系の回転角度「θsum」,「θdiff」に変換する(上記式(9a)参照)。座標変換後の回転角度「θsum」,「θdiff」は、制御部51Aに戻される。
【0088】
なお、上記式(4)から上記式(5)を導出する際に「aR」を「0」とみなした通り、「aR」は、「0」でもよい。この場合、制御部51Bは、仮想粘性付加部88を必ずしも備える必要はない。
【0089】
<F.小括>
以上のように、制御部51Aは、モータ132Rの回転角度「θR」とモータ132Lの回転角度「θL」とに基づく重心位置「θsum」の入力と、当該重心位置「θsum」に対する目標位置の入力とを受け、当該重心位置「θsum」を基準とする並進方向に係る電流指令値「isum」と、当該重心位置「θsum」を基準とする回転方向に係る電流指令値「idiff」とを生成する。座標変換器70は、重心座標系の電流指令値「isum」,「idiff」を、2軸座標系の「i'R」,「i'L」に変換する。より具体的には、座標変換器70は、所定の変換行列「Msd,RL」に基づいて、並進方向に係る電流指令値「isum」と回転方向に係る電流指令値「idiff」とを、モータ132R用の電流指令値「i'R」とモータ132L用の電流指令値「i'L」とに変換する。さらに、制御部51Bは、座標変換器70による座標変換に伴う誤差を電流指令値「i'R」,「i'L」について補正し、当該補正後の電流指令値「iR」,「iL」のそれぞれをモータ132R,モータ132Lのそれぞれに出力する。重心座標系から2軸座標系の変換に伴う誤差が制御部51Aにおいて補正されため、重心座標系の指令値でツインドライブ機構130を制御した際の駆動精度が改善される。
【0090】
上記誤差を補正する処理は、モータ132Rの角速度「ωR」に比例する所定値を補正前の電流指令値「i'R」に加算する処理を含む。当該所定値は、モータ132Rの角速度「ωR」に係数「aR」を掛けた値に相当する。モータ132Lの角速度「ωL」に比例する所定値を補正前の電流指令値「i'L」に加算する処理を含む。第2の所定値は、モータ132Lの角速度「ωL」に係数「aL」を掛けた値に相当する。これにより、制御部51Bは、仮想粘性を考慮した制御モデルでモータ132R,132Lを制御することができる。結果として、ツインドライブ機構130の駆動精度が改善する。
【0091】
また、上記式(5),(6a),(6b)に示されるように、係数「aR」,「aL」は、モータ132Rに係るイナーシャおよびモータ132Lに係るイナーシャの比と、モータ132Rに係る粘性係数およびモータ132Lに係る粘性係数の比とが等しくなるように決められている。
【0092】
また、制御部51Aは、並進方向制御部52Aと、回転方向制御部52Bとで構成されている。並進方向制御部52Aは、重心位置「θsum」が目標位置に近付くように並進方向に係る電流指令値「isum」を生成する。回転方向制御部52Bは、モータ132Rの回転角度「θR」とモータ132Lの回転角度「θL」との差分値がゼロに近付くように回転方向に係る電流指令値「idiff」を生成する。これにより、制御装置50は、重心座標系の制御モデルでモータ132R,132Lを制御することができる。
【0093】
好ましくは、制御部51Aは、算出された回転角度「θR」と、算出された回転角度「θL」との差分値に対して所定の比例ゲイン「Kp,d」を掛けることで、回転方向に係る電流指令値「idiff」を生成する。これにより、制御部51Aは、回転角度「θR」,「θL」の差をゼロに近付ける処理をP制御により実現することができる。P制御は、他の制御手法と比較して、同定すべきパラメータが少ない。そのため、パラメータ設定が容易となる。
【0094】
制御部51Bは、さらに、補正後の電流指令値「iR」をモータ132Rに出力したことに伴うモータ132Rの回転角度「θR」を算出とともに、補正後の電流指令値「iL」をモータ132Lに出力したことに伴うモータ132Lの回転角度「θL」を算出する。その後、制御部51Bは、算出された回転角度「θR」と、算出された回転角度「θL」と、モータ132Rのイナーシャ「JR」と、モータ132Lのイナーシャ「JL」とに基づいて、重心位置「θsum」を算出する。制御部51Bは、算出された重心位置「θsum」を制御部51Aにフィードバックする。
【0095】
また、制御部51Bは、算出された回転角度「θR」と、算出された回転角度「θL」との偏差を回転角度差「θdiff」として算出する。制御部51Bは、算出された回転角度差「θdiff」を制御部51Aにフィードバックする。
【0096】
なお、
図3の例では、制御部51Aが並進方向制御部52Aと回転方向制御部52Bとで構成されている例について説明を行ったが、制御部51Aは、回転方向制御部52Bを備えなくてもよい。すなわち、制御部51Aは、並進方向制御部52Aのみで構成されてもよい。
【0097】
<G.装置構成>
次に、
図5を参照して、工作機械100の装置構成について説明する。
図5は、工作機械100の装置構成の一例を示す図である。
【0098】
図5に示されるように、工作機械100は、制御装置50と、ツインドライブ機構130と、テーブル156とを含む。
【0099】
制御装置50は、ツインドライブ機構130を制御する。制御装置50は、1つの制御機器で構成されてもよいし、複数の制御機器で構成されてもよい。制御装置50は、たとえば、少なくとも1つのCNC(Computer Numerical Control)、少なくとも1つのPLC(Programmable Logic Controller)、少なくとも1つのモータドライバ、またはそれらの組み合わせなどによって構成され得る。
【0100】
図5の例では、制御装置50は、CNC装置10と、モータドライバ131R,131Lとで構成されている。
【0101】
なお、
図3に示される構成の一部または全部は、CNC装置10に実装されてもよいし、モータドライバ131R,131Lに実装されてもよいし、その他の制御機器に実装されてもよい。
【0102】
<H.ツインドライブ機構130の応用例>
次に、上述の
図5を参照しつつ、
図6および
図7を参照して、上述のツインドライブ機構130の応用例について説明する。
【0103】
図5の例では、ツインドライブ機構130による駆動対象物150として、テーブル156が示されていた。しかしながら、ツインドライブ機構130による駆動対象物150は、テーブル156に限定されない。ツインドライブ機構130は、工作機械100内の様々な部品を駆動するために用いられ得る。
【0104】
図6は、工作機械100の装置構成の他の例を示す図である。
図6の例では、ツインドライブ機構130による駆動対象物150として、主軸157が示されている。主軸157は、ワークまたは工具を回転可能に保持するための構成である。主軸157は、ワークを回転するためのワーク主軸であってもよいし、工具を回転するための工具主軸であってもよい。
【0105】
図7は、工作機械100の装置構成のさらに他の例を示す図である。
図7の例では、ツインドライブ機構130による駆動対象物150として、ローダ158が示されている。ローダ158は、部材を搬送するための装置である。当該部材は、加工前または加工後のワークであってもよいし、工具であってもよい。
【0106】
以上のように、ツインドライブ機構130は、工作機械100内の様々な部品を駆動するために用いられ得る。
【0107】
なお、上述では、1つのツインドライブ機構130で1つの駆動対象物150を駆動する例について説明を行ったが、1つの駆動対象物150が複数のツインドライブ機構130で駆動されてもよい。この場合、ツインドライブ機構130の各々は、互いに異なる方向に駆動対象物150を駆動するように構成される。
【0108】
また、ツインドライブ機構130を搭載する装置は、工作機械100に限定されない。ツインドライブ機構130は、工作機械100以外の装置に搭載され得る。
【0109】
<I.ハードウェア構成>
次に、
図8を参照して、
図7に示されるCNC装置10のハードウェア構成について説明する。
図8は、CNC装置10のハードウェア構成の一例を示す図である。
【0110】
CNC装置10は、たとえば、制御回路101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、通信インターフェイス104と、補助記憶装置120とを含む。これらのコンポーネントは、内部バス109に接続される。
【0111】
制御回路101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成され得る。
【0112】
制御回路101は、制御プログラム122などの各種プログラムを実行することでCNC装置10の動作を制御する。制御プログラム122は、本明細書に記載の各種処理を実現するためのプログラムである。制御回路101は、制御プログラム122の実行命令を受け付けたことに基づいて、ROM102からRAM103に制御プログラム122を読み出す。RAM103は、ワーキングメモリとして機能し、制御プログラム122の実行に必要な各種データを一時的に格納する。
【0113】
通信インターフェイス104は、各種装置と通信を実現するためのインターフェイスである。CNC装置10は、たとえば、通信インターフェイス104を介して、工作機械100内の各種駆動ユニット(たとえば、上述のモータドライバ131R,131Lなど)と通信する。
【0114】
補助記憶装置120は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置120は、制御プログラム122および各種パラメータ124などを格納する。各種パラメータ124は、たとえば、上述の「uFB,p」,「uFB,v」,「uFF」,「Kp,s」,「Kp,d」、「JR」,「DR」,「JL」,「DL」,「K」,「Kt」,「Msd,RL」,「MRL,sd」などを含む。
【0115】
なお、制御プログラム122および各種パラメータ124の格納場所は、補助記憶装置120に限定されず、制御回路101の記憶領域(たとえば、キャッシュメモリ)、ROM102、RAM103、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0116】
また、制御プログラム122は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う各種処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム122の趣旨を逸脱するものではない。さらに、制御プログラム122によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム122の処理の一部を実行する所謂クラウドサービスのような形態でCNC装置10が構成されてもよい。
【0117】
<J.フローチャート>
次に、
図9を参照して、制御装置50によるツインドライブ機構130の制御フローについて説明する。
図9は、ツインドライブ機構130の制御処理の流れを示すフローチャートである。
【0118】
図9に示される処理は、たとえば、制御装置50が上述の制御プログラム122を実行することにより実現される。他の局面において、処理の一部または全部が、CNC、回路素子、またはその他のハードウェアによって実行されてもよい。
【0119】
ステップS110において、制御装置50は、現時刻に対応する目標指令値を取得する。当該目標指令値は、たとえば、上述の「uFB,p」,「uFB,v」,「uFF」である。
【0120】
ステップS112において、制御装置50は、上述の制御部51Bによって算出された重心座標系の「θsum」,「θdiff」を取得する。
【0121】
ステップS114において、制御装置50は、上述の並進方向制御部52Aとして機能し、制御部51Bから出力される重心位置「θsum」と、目標位置との入力を少なくとも受けて、重心位置「θsum」が目標位置に近付くような電流指令値「isum」を生成する。電流指令値「isum」の生成方法については上述の通りであるので、その説明については繰り返さない。また、制御装置50は、上述の回転方向制御部52Bとして機能し、制御部51Bから出力される回転角度差「θdiff」の入力を少なくとも受けて、回転角度差「θdiff」がゼロに近付くような電流指令値「idiff」を生成する。電流指令値「idiff」の生成方法については上述の通りであるので、その説明については繰り返さない。
【0122】
ステップS116において、制御装置50は、上述の座標変換器70として機能し、重心座標系の電流指令値「isum」,「idiff」を、モータ132L,132Rの駆動軸を基準とする2軸座標系の電流指令値「i'L」,「i'R」に変換する。
【0123】
ステップS118において、制御装置50は、上述の演算器72として機能し、電流指令値「i'L」に対して、上述の仮想粘性付加部78の出力を加算し、モータ132Lに係る電流指令値「iL」を算出する。また、制御装置50は、上述の演算器82として機能し、電流指令値「i'R」に対して、上述の仮想粘性付加部88の出力を加算し、モータ132Rに係る電流指令値「iR」を算出する。
【0124】
ステップS120において、制御装置50は、算出した電流指令値「iL」に基づいてモータ132Lを制御するとともに、算出した電流指令値「iR」に基づいてモータ132Rを制御する。
【0125】
ステップS122において、制御装置50は、上述の演算器74,76,82,84として機能し、電流指令値「iL」,「iR」に基づいて、モータ132L,132Rの回転角度「θL」,「θR」を算出する。回転角度「θL」,「θR」の算出方法については上述の通りであるので、その説明については繰り返さない。
【0126】
ステップS124において、制御装置50は、上述の座標変換器92として機能し、演算器76,86から出力される2軸座標系の回転角度「θL」,「θR」を、重心座標系の回転角度「θsum」,「θdiff」に変換する。その後、制御装置50は、制御をステップS110に戻す。
【0127】
<K.実験結果>
発明者らは、上述の制御装置50(
図3参照)によるツインドライブ機構130の駆動精度の有効性を実験により確認した。以下では、
図10~
図15を参照して、当該実験結果について説明する。
【0128】
図10は、第1比較例に従う制御装置50X1の構成を示す図である。制御装置50X1は、2軸座標系の制御モデルによりモータ132R,132Lを制御する。
図10に示される制御手法には、マルチレートフィードフォワード制御器とフィードバック制御器とが適用されている。
【0129】
図11は、第2比較例に従う制御装置50X2の構成を示す図である。制御装置50X2は、モータ132R,132Lの平均角速度を入力する点で、制御装置50X1と異なる(破線LX2参照)。
【0130】
図12は、第3比較例に従う制御装置50X3の構成を示す図である。制御装置50X3は、モータ132R,132Lの角速度「ω
R」,「ω
L」の差をゼロとする処理を行う点で、制御装置50X1と異なる(破線LX3参照)。
【0131】
図13は、本実験で用いられた位置軌道を示す図である。
図14は、本実験で用いられた角速度軌道を示す図である。
図15は、
図13に示される位置軌道と
図14に示される角速度軌道とを制御装置50,50X1~50X3に対する入力として用いた場合における実験結果R0~R3を示す図である。
【0132】
図15に示されるグラフの横軸は、時間を示す。
図15に示されるグラフの縦軸は、
図13に示される位置軌道に対する重心位置の誤差を示す。
【0133】
実験結果R0が示す誤差は、実験結果R1~R3が示す誤差よりも小さい。このことは、実施の形態に従う制御手法の位置追従性が第1~第3比較例に従う制御手法の位置追従性よりも改善されていることを示す。以上により、実施の形態に従う制御手法の優位性が確認された。
【0134】
<L.変形例>
上述の
図3の例では、仮想粘性付加部78が演算器79のみで構成されており、仮想粘性付加部88が演算器89のみで構成されていた。しかしながら、仮想粘性付加部78,88の構成は、これに限定されない。
【0135】
以下では、
図16を参照して、仮想粘性付加部78,88の変形例について説明する。
図16は、変形例に従う制御装置50の構成例を示す図である。
【0136】
本変形例では、仮想粘性付加部78は、演算器79だけでなく、演算器80をさらに含む。また、仮想粘性付加部88は、演算器89だけでなく、演算器90をさらに含む。その他の点については上述の
図3に示される制御装置50と同じであるので、以下では、演算器80,90以外の説明については繰り返さない。
【0137】
演算器80には、演算器79の出力が入力される。そして、演算器80は、演算器79の出力に対して、モータトルク係数「Kt」の逆数を掛け、当該乗算結果を演算器72に出力する。
【0138】
演算器90には、演算器89の出力が入力される。そして、演算器90は、演算器89の出力に対して、モータトルク係数「Kt」の逆数を掛け、当該乗算結果を演算器82に出力する。
【0139】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0140】
10 CNC装置、50 制御装置、50X1 制御装置、50X2 制御装置、50X3 制御装置、51A 制御部、51B 制御部、52A 並進方向制御部、52B 回転方向制御部、56 演算器、60 演算器、66 演算器、70 座標変換器、72 演算器、73 演算器、74 演算器、76 演算器、78 仮想粘性付加部、79 演算器、80 演算器、82 演算器、84 演算器、86 演算器、88 仮想粘性付加部、89 演算器、90 演算器、92 座標変換器、100 工作機械、101 制御回路、102 ROM、103 RAM、104 通信インターフェイス、109 内部バス、120 補助記憶装置、122 制御プログラム、124 パラメータ、130 ツインドライブ機構、131L モータドライバ、131R モータドライバ、132L モータ、132R モータ、134L ボールねじ、134R ボールねじ、150 駆動対象物、156 テーブル、157 主軸、158 ローダ、190 カバー体、200 操作盤、AX 軸、DR ドア、LX2 破線、LX3 破線、R0 実験結果、R1 実験結果、R2 実験結果、R3 実験結果。