(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】物体移動装置、工作機械、情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G05D 3/12 20060101AFI20240111BHJP
G05B 19/404 20060101ALI20240111BHJP
【FI】
G05D3/12 305Z
G05B19/404 G
(21)【出願番号】P 2019168891
(22)【出願日】2019-09-17
【審査請求日】2022-07-20
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(73)【特許権者】
【識別番号】000146847
【氏名又は名称】DMG森精機株式会社
(74)【代理人】
【識別番号】100134430
【氏名又は名称】加藤 卓士
(74)【代理人】
【識別番号】100133639
【氏名又は名称】矢野 卓哉
(74)【代理人】
【識別番号】100198960
【氏名又は名称】奥住 忍
(72)【発明者】
【氏名】藤本 博志
(72)【発明者】
【氏名】林 拓巳
(72)【発明者】
【氏名】伊佐岡 慶浩
(72)【発明者】
【氏名】寺田 祐貴
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】特開2011-186668(JP,A)
【文献】特許第6567205(JP,B1)
【文献】特開2016-148978(JP,A)
【文献】特開2003-271213(JP,A)
【文献】特開2012-243231(JP,A)
【文献】特開2009-080752(JP,A)
【文献】特開2015-102966(JP,A)
【文献】特開2016-042347(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 3/12
G05B 19/404
(57)【特許請求の範囲】
【請求項1】
駆動力を用いて、物体を往復動させる駆動部と、
前記駆動部を駆動させるため
に実際に入力された入力値を示す第1入力データと、前記物体の変位を表す変位データとを取得する取得部と、
前記物体の移動領域中、所定領域での前記第1入力データと前記変位データとの線形関係式を導出する導出部と、
前記物体の移動領域の全体において前記線形関係式を当てはめることにより、前記変位データと前記第1入力データとを用いて、各位置において前記駆動部を駆動させるための推定入力値を示す第2入力データを算出する算出部と、
前記所定領域以外の領域における、前記第1入力データと前記第2入力データとに基づいて導かれた補正データを、前記物体の各位置に紐づけて蓄積する蓄積部と、
所定領域において、前記駆動部を駆動させるための
指令値を示す第3入力データを、前記線形関係式を用いて算出し、前記所定領域以外の領域において、前記駆動部を駆動させるための
指令値を示す第4入力データを、前記線形関係式および前記補正データを用いて導出し、前記第3入力データおよび前記第4入力データを用いて前記駆動部を駆動させる制御部と、
を有する物体移動装置。
【請求項2】
前記駆動部は、回転駆動力を用いて前記物体を移動させるボールねじおよびモータの組み合わせ機構、リニアモータ機構、または回転テーブル機構である請求項1に記載の物体移動装置。
【請求項3】
前記線形関係式および前記補正データの少なくともいずれか一方を逐次更新する更新部をさらに有する請求項1または2に記載の物体移動装置。
【請求項4】
前記物体移動装置は、工作機械に組み込まれ、
前記更新部は、
工具がワークを離れているタイミング、
工具交換中のタイミング、
前記工作機械内の温度が所定値以上になったタイミング、
前記工作機械の使用期間が一定期間経過したタイミング、
前記駆動部による移動距離が所定値を超えたタイミング、
前記駆動部の累積駆動時間が一定時間を経過したタイミング、
前記工作機械内の温度が所定値以下になったタイミング、および
最後の更新処理を行った時点からの温度変化量が所定値を超えたタイミング、
の少なくともいずれか1つのタイミングで、最新の前記第1入力データと前記変位データとに基づいて更新処理を行なう請求項3に記載の物体移動装置。
【請求項5】
前記補正データが所定範囲か否かによって、ボールねじの交換の必要性を判定する判定部をさらに備えた請求項1乃至4のいずれか1項に記載の物体移動装置。
【請求項6】
請求項1に記載の物体移動装置を含む工作機械。
【請求項7】
物体を往復動させる駆動部を駆動させるため
に実際に入力された入力値を示す第1入力データと、前記物体の変位を表す変位データとを取得する取得部と、
前記物体の移動領域中、所定領域での前記
第1入力データと前記変位データとの線形関係式を導出する導出部と、
前記物体の移動領域の全体において、前記線形関係式を当てはめることにより、前記変位データと前記第1入力データとを用いて、各位置において前記駆動部を駆動させるための推定入力値を示す第2入力データを算出する算出部と、
所定領域において、前記駆動部を駆動させるための
指令値を示す第3入力データを、前記線形関係式を用いて算出し、
前記所定領域以外の領域において、前記駆動部を駆動させるための
指令値を示す第4入力データを、前記線形関係式および前記第1入力データと第2入力データとに基づいて導かれた補正データを用いて算出し、
前記第3入力データおよび前記第4入力データを出力する出力部と
を備えた情報処理装置。
【請求項8】
物体を往復動させる駆動部を駆動させるため
に実際に入力された入力値を示す第1入力データと、前記物体の変位を表す変位データとを取得する取得ステップと、
前記物体の移動領域中、所定領域での前記
第1入力データと前記変位データとの線形関係式を導出する導出ステップと、
前記物体の移動領域の全体において、前記線形関係式を当てはめることにより、前記変位データと前記第1入力データとを用いて、各位置において前記駆動部を駆動させるための推定入力値を示す第2入力データを算出する算出ステップと、
所定領域において、前記駆動部を駆動させるための
指令値を示す第3入力データを、前記線形関係式を用いて算出し、
前記所定領域以外の領域において、前記駆動部を駆動させるための
指令値を示す第4入力データを、前記線形関係式および前記第1入力データと第2入力データとに基づいて導かれた補正データを用いて算出し、
前記第3入力データおよび前記第4入力データを出力する出力ステップと
を含む情報処理方法。
【請求項9】
物体を往復動させる駆動部を駆動させるため
に実際に入力された入力値を示す第1入力データと、前記物体の変位を表す変位データとを取得する取得ステップと、
前記物体の移動領域中、所定領域での前記
第1入力データと前記変位データとの線形関係式を導出する導出ステップと、
前記物体の移動領域の全体において、前記線形関係式を当てはめることにより、前記変位データと前記第1入力データとを用いて、各位置において前記駆動部を駆動させるための推定入力値を示す第2入力データを算出する算出ステップと、
所定領域において、前記駆動部を駆動させるための
指令値を示す第3入力データを、前記線形関係式を用いて算出し、
前記所定領域以外の領域において、前記駆動部を駆動させるための
指令値を示す第4入力データを、前記線形関係式および前記第1入力データと第2入力データとに基づいて導かれた補正データを用いて算出し、
前記第3入力データおよび前記第4入力データを出力する出力ステップと
をコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体移動装置、工作機械、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
上記技術分野において、特許文献1には、摩擦力を推定して物体の移動を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記文献に記載の技術では、移動領域全域において、線形近似を行っており推定精度が悪かった。
【0005】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る物体移動装置は、
駆動力を用いて、物体を往復動させる駆動部と、
前記駆動部を駆動させるために実際に入力された入力値を示す第1入力データと、前記物体の変位を表す変位データとを取得する取得部と、
前記物体の移動領域中、所定領域での前記第1入力データと前記変位データとの線形関係式を導出する導出部と、
前記物体の移動領域の全体において前記線形関係式を当てはめることにより、前記変位データと前記第1入力データとを用いて、各位置において前記駆動部を駆動させるための推定入力値を示す第2入力データを算出する算出部と、
前記所定領域以外の領域における、前記第1入力データと前記第2入力データとに基づいて導かれた補正データを、前記物体の各位置に紐づけて蓄積する蓄積部と、
所定領域において、前記駆動部を駆動させるための指令値を示す第3入力データを、前記線形関係式を用いて算出し、前記所定領域以外の領域において、前記駆動部を駆動させるための指令値を示す第4入力データを、前記線形関係式および前記補正データを用いて導出し、前記第3入力データおよび前記第4入力データを用いて前記駆動部を駆動させる制御部と、
を有する。
【0007】
上記目的を達成するため、本発明に係る情報処理装置は、
物体を往復動させる駆動部を駆動させるために実際に入力された入力値を示す第1入力データと、前記物体の変位を表す変位データとを取得する取得部と、
前記物体の移動領域中、所定領域での前記第1入力データと前記変位データとの線形関係式を導出する導出部と、
前記物体の移動領域の全体において、前記線形関係式を当てはめることにより、前記変位データと前記第1入力データとを用いて、各位置において前記駆動部を駆動させるための推定入力値を示す第2入力データを算出する算出部と、
所定領域において、前記駆動部を駆動させるための指令値を示す第3入力データを、前記線形関係式を用いて算出し、
前記所定領域以外の領域において、前記駆動部を駆動させるための指令値を示す第4入力データを、前記線形関係式および前記第1入力データと第2入力データとに基づいて導かれた補正データを用いて算出し、
前記第3入力データおよび前記第4入力データを出力する出力部と
を備えた。
【0008】
上記目的を達成するため、本発明に係る情報処理方法は、
物体を往復動させる駆動部を駆動させるために実際に入力された入力値を示す第1入力データと、前記物体の変位を表す変位データとを取得する取得ステップと、
前記物体の移動領域中、所定領域での前記第1入力データと前記変位データとの線形関係式を導出する導出ステップと、
前記物体の移動領域の全体において、前記線形関係式を当てはめることにより、前記変位データと前記第1入力データとを用いて、各位置において前記駆動部を駆動させるための推定入力値を示す第2入力データを算出する算出ステップと、
所定領域において、前記駆動部を駆動させるための指令値を示す第3入力データを、前記線形関係式を用いて算出し、
前記所定領域以外の領域において、前記駆動部を駆動させるための指令値を示す第4入力データを、前記線形関係式および前記第1入力データと第2入力データとに基づいて導かれた補正データを用いて算出し、
前記第3入力データおよび前記第4入力データを出力する出力ステップと
を含む。
【0009】
上記目的を達成するため、本発明に係る情報処理プログラムは、
物体を往復動させる駆動部を駆動させるための入力値を示す第1入力データと、前記物体の変位を表す変位データとを取得する取得ステップと、
前記物体の移動領域中、所定領域での前記入力データと前記変位データとの線形関係式を導出する導出ステップと、
前記物体の移動領域の全体において、前記線形関係式を当てはめることにより、前記変位データと前記第1入力データとを用いて、各位置において前記駆動部を駆動させるための推定入力値を示す第2入力データを算出する算出ステップと、
所定領域において、前記駆動部を駆動させるための第3入力データを、前記線形関係式を用いて算出し、
前記所定領域以外の領域において、前記駆動部を駆動させるための第4入力データを、前記線形関係式および前記第1入力データと第2入力データとに基づいて導かれた補正データを用いて算出し、
前記第3入力データおよび前記第4入力データを出力する出力ステップと
をコンピュータに実行させる。
【発明の効果】
【0010】
本発明によれば、摩擦力をより正確に推定することにより、物体をより正確に移動させることができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の第1実施形態に係る情報処理装置の構成を示すブロック図である。
【
図2A】本発明の第2実施形態に係る物体移動装置の概要を説明するための図である。
【
図2B】本発明の第2実施形態に係る物体移動装置における変位と転がり摩擦との関係を説明する図である。
【
図3】本発明の第2実施形態に係る物体移動装置の内部構成を説明するための図である。
【
図4A】本発明の第2実施形態に係る物体移動装置による処理の流れを説明する図である。
【
図4B】本発明の第2実施形態に係る物体移動装置による非線形領域における変位と転がり摩擦との関係を示すテーブルを説明する図である。
【
図4C】本発明の第2実施形態に係る物体移動装置における転がり摩擦の実特性と転がり摩擦の近似特性を説明するための図である。
【
図4D】本発明の第2実施形態に係る物体移動装置におけるパラメータ推定を説明するための図である。
【
図4E】本発明の第2実施形態に係る物体移動装置における重みづけ行列の決定方法を説明する図である。
【
図5】本発明の第3実施形態に係る情報処理装置の構成を説明するための図である。
【
図6】本発明の第3実施形態に係る情報処理装置の処理手順を説明するためのフローチャートである。
【発明を実施するための形態】
【0012】
以下に、本発明を実施するための形態について、図面を参照して、例示的に詳しく説明記載する。ただし、以下の実施の形態に記載されている、構成、数値、処理の流れ、機能要素などは一例に過ぎず、その変形や変更は自由であって、本発明の技術範囲を以下の記載に限定する趣旨のものではない。
【0013】
[第1実施形態]
本発明の第1実施形態としての物体移動装置100について、
図1を用いて説明する。物体移動装置100は、工作機械に組み込まれ、ステージ上に載置されたワークを移動させるための装置である。
【0014】
図1に示すように、物体移動装置100は、駆動部101、取得部102、導出部103、算出部104、蓄積部105および制御部106を含む。駆動部101は、駆動力を用いて物体120を往復運動させる。取得部102は、駆動部101を駆動させるための入力値を示す入力データ122と、物体120の変位を示す変位データ121とを取得する。導出部103は、物体120の移動領域130中、所定領域160,180での入力データ122と変位データ121との線形関係式133を導出する。算出部104は、物体120の移動領域130の全体において線形関係式133を当てはめることにより、変位データ121と入力データ122とを用いて、各位置において駆動部101を駆動させるための推定入力値を示す入力データ141を算出する。蓄積部105は、所定領域以外の領域150,170における、入力データ122と入力データ141とに基づいて導かれた補正データ151を、物体120の各位置に紐づけて蓄積する。制御部106は、所定領域160,180において、駆動部101を駆動させるための入力データ161を、線形関係式133を用いて算出し、所定領域以外の領域150,170において、駆動部101を駆動させるための入力データ162を、線形関係式133および補正データ151を用いて導出し、入力データ161および入力データ162を用いて駆動部101を駆動させる。
【0015】
本実施形態によれば、摩擦力をより正確に推定することにより、物体をより正確に移動させることができる。
【0016】
[第2実施形態]
次に本発明の第2実施形態に係る工作機械について、
図2A乃至4Dを用いて説明する。
図2Aは、物体移動装置200の概要を説明するための図である。
【0017】
物体移動装置200は、工作機械210に組み込まれる。駆動部201は、ボールねじ211とモータ212との組み合わせ機構であり、モータ212の回転がボールねじ211に伝わり、ボールねじ211の回転駆動力によりステージ220が往復移動する。ステージ220を往復動させることにより、ステージ220に載置された工作対象物を所望の位置へと移動させる。物体移動装置200は、ボールねじ211の転がり摩擦を推定し、ステージ220を往復動させる。
【0018】
図2Bは、物体移動装置200における変位と転がり摩擦との関係を説明する図である。縦軸は摩擦、横軸は変位(ステージ220の位置)を表す。例えば、始動位置230からステージ220が動き始め、速度反転位置240で速度が反転して、元の始動位置230へステージが戻るとする。ステージ220の始動位置230からステージ220が所定距離移動するまでの間の領域では、転がり摩擦は非線形性を示す(非線形領域250)。一方、ステージ220が始動位置230から所定距離移動した後、速度反転位置240までの間の領域は、転がり摩擦は線形性を示す(線形領域260)。
【0019】
また、速度反転位置240においてステージ220の移動方向が反転してからステージ220が所定距離移動するまでの間の領域では、転がり摩擦は非線形性を示す(非線形領域270)。一方、ステージ220が速度反転位置240から所定距離移動した後、始動位置230までの間の領域は、転がり摩擦は、線形性を示す(線形領域280)。そこで、物体移動装置200は、このような転がり摩擦の線形性および非線形性を考慮してステージ220の動きを制御する。
【0020】
図3は、物体移動装置200の内部構成を説明する図である。物体移動装置200は、駆動部201、取得部302、導出部303、算出部304、蓄積部305、制御部306、更新部307および判定部308を有する。
【0021】
ステージ220は、移動領域330の中で往復移動する。
【0022】
取得部302は、モータ212を駆動させるための電流値を示す電流データ322(=fnp
j+1)と、ステージ220の変位を示す指令データ321(変位データrj)とを取得する。変位データrjから導出される速度によって速度反転位置240を判定し、速度反転位置240からの変位量によって、移動領域330の各位置が線形領域260,280または非線形領域250,270のどちらに対応するかを判定できる。
【0023】
導出部303は、ステージ220の移動領域330のうち、線形領域260,280での電流データ322と指令データ321とから、指令データ321に基づく基底関数Ψ(rj)と、電流データ322(=fnp
j+1)との線形関係式333(=(fp
j+1=Ψ(rj)θj+1))を推定する。線形関係式333中のθj+1は物体移動装置200の物理特性に対応している。
【0024】
算出部304は、非線形領域250,270において導出部303で推定したパラメータθj+1のうちイナーシャJと粘性摩擦係数Dと、基底関数Ψ(rj)のうち加速度と速度を用いて、電流データ341を算出する。
【0025】
線形領域260,280以外の領域(非線形領域250,270)における、取得部302で取得した電流データ322(=fnp
j+1)と、算出部304で算出した電流データ341とに基づいて補正データ351を導く。そして、蓄積部305は、導かれた補正データ351を、ステージ220の速度反転位置240からの変位に紐づけて蓄積する。なお、指令位置の変化と共に始動位置230や速度反転位置240が変化した場合には、対応する補正データ351が存在しない場合が生じ得るため、以下のような対応をする。(1)最も近い位置の補正データ351を使用する、(2)前後の位置の補正データ351から線形補間する、(3)各位置のデータを平均して1つのテーブルにしておく。(1)の場合、例えば、転がり摩擦として、速度反転位置240から1μmでの転がり摩擦が-3Nm、速度反転位置240からの2μmでの転がり摩擦がー2Nmの場合、1.2μmを入力すると、-3Nmが出力される。(3)の場合、例えば、速度反転位置240が複数ある場合には、複数の転がり摩擦のデータを平均化したテーブルを作成する。
【0026】
すなわち、蓄積部305は非線形領域250,270において、算出部304で求めた電流データ341と取得部302で取得した電流データ322とから、転がり摩擦を表す補正データ351を導く。
【0027】
制御部306は、線形領域260,280において駆動部201を駆動させるための電流データ361を、次の動作の指令値軌道データrj+1に基づく基底関数Ψ(rj+1)と、導出部303で推定した線形関係式333(=(fp
j+1Ψ(rj)θj+1))とを用いて算出する。また、制御部306は、非線形領域250,270において駆動部201を駆動させるための電流データ362を、電流データ322および補正データ351を用いて導出する。そして、制御部306は、算出した電流データ361および導出した電流データ362を用いて駆動部201を駆動させる。
【0028】
更新部307は、線形関係式333および補正データ351の少なくともいずれか一方を逐次更新する。また、更新部307は、所定のタイミングで取得部302において取得した最新の電流データ322および指令データ321に基づいて更新処理を行う。ここで、所定のタイミングとは、例えば、工作機械210の工具が工作対象であるワークを離れているタイミング、工具交換中のタイミング、工作機械210の内部の温度が所定値以上になったタイミングである。また、工作機械210の使用期間が一定期間を経過したタイミング、駆動部201によるステージ220の移動距離が所定値を超えたタイミング、駆動部201の累積駆動時間が一定時間を経過したタイミングでもよい。さらに、工作機械210の内部の温度が所定値以下になったタイミング、最後の更新処理を行った時点からの工作機械210の内部の温度変化量が所定変化量を超えたタイミングである。更新部307は、上述の所定のタイミングの少なくともいずれか1つのタイミングで、更新処理を行う。
【0029】
判定部308は、蓄積部305に蓄積された補正データ351が所定範囲か否かによって、ボールねじ211の交換の必要性を判定する。判定部308は、例えば、蓄積された補正データ351の補正量が大きい場合には、ボールねじ211の交換が必要であると判定する。判定結果は、所定の方法により物体移動装置200の使用者や所有者に通知される。
【0030】
ここで、
図4A乃至
図4Eを参照して、物体移動装置200による駆動部に入力するための電流データ361,362の導出処理の詳細について説明する。
【0031】
図4Aは、物体移動装置200による処理の流れを説明する図である。STEP1では、通常のILC(Standard-ILC)を用いて、電流データ322(=f
np
j+1=Q(f
j+Le
j))を求める。ここで、fはFF(Feedforward)入力(電流データ322)、eは追従誤差、Lは学習フィルタ(Learning Filter)、Qはロバストフィルタ(Robust Filter)を示す。なお、f
npの右肩の添え字npは、Standard-ILCで得られたFF入力であることを示す。すなわち、ステージ220を移動させたい位置を指令する指令データ321(=r
j)に対して、FF入力f
jによる電流(学習開始時の初期値はゼロ)で駆動部201を動作させる。駆動部201の動作により移動したステージ220の変位データ(図示なし)を得る。追従誤差e
j=指令データ321-変位データを算出する。FF入力f
jと追従誤差e
jとから電流データ322(f
np
j+1=Q(fj+Lej))を算出する(通常のILCによるFF入力)。なお、駆動部201の線形関係式333や摩擦モデルは、追従誤差を通して電流データ322に反映されている。なお、指令データ321は、ステージ220の指令値軌道(目標軌道)、すなわち、ステージ220をどう動かしたいかという位置の入力を表す。
【0032】
STEP2では、パラメータθj+1を推定する。Ψ(rj)は基底関数である。駆動部201の線形関係式333に基づくFF入力の式Ψ(rj)θj+1が、fnp
j+1にフィットするように線形最小二乗法でパラメータθj+1を求める。ここで、重みづけ行列Wjによって非線形領域250,270を除外することで、パラメータθj+1の精度が高くなる。
【0033】
STEP3では、パラメータθj+1から転がり摩擦Trfを求め、rjとTrfとでテーブル401を作成する。つまり、パラメータθj+1のうちJとDと、基底関数Ψ(rj)のうち加速度と速度から電流データ341を導出する。そして、電流データ322(=fnp
j+1)から電流データ341を差し引くことで、非線形領域250,270の補正データ351を算出し、蓄積する。そして、指令データ321と補正データ351からテーブル401を作成する。ここで、Jは慣性、Dは粘性係数、Rはボールねじリード(ねじの1回転にともないナットが軸方向に進む距離)、KTはトルク定数を示す。なお、電流データ341は、Trf=(fnp
j+1-J/RKT<<rj>>-D/RKT<rj>)KTに相当する。<rj>は、rjの微分、<<rj>>は、<rj>の微分を表す。
【0034】
STEP4では、STEP2で推定したパラメータθj+1およびSTEP3で作成したテーブル401からFF入力(電流データ361,362)を再計算する。つまり、線形領域260,280では、次の指令rj+1に基づくΨ(rj+1)と、先ほど求めたθj+1とから、Ψ(rj+1)θj+1(J/(R×Kt)×加速度+D/(R×KT)×速度+Tc/KT×b_rf)によってFF入力(電流データ361)を求める。次に非線形領域250,270では、J/(R×KT)×加速度+D/(R×Kt)×速度+(テーブル401に記憶された転がり摩擦)/KTによってFF入力(電流データ362)を求める。電流データ361,362を次回のFF入力fj+1とする。パラメータθj+1は、駆動部201のうち機械特性に相当する部分であり、指令とは独立な値である。そのため、Ψ(rj+1)を指令に応じて算出すれば、任意の指令に対して電流データ361,362が適切なFF入力となる。線形領域260,280のFF入力(電流データ361)の計算には、「J/(R×KT)×加速度+D/(R×KT)×速度+Tc/KT×b_rf」を用いる。なお、b_rfは、線形領域260,280では1となり、非線形領域250,270では-1~1となる(速度反転位置240からの距離と摩擦モデルとによる)。以上のSTEP1~4を繰り返すことで、追従誤差eが減少する(学習制御)。学習後のθと補正データ351とを保存しておくことで、別の指令に変更しても適切なFF補正が行える。
【0035】
図4Bは、物体移動装置200による非線形領域250,270における変位と転がり摩擦との関係を示すテーブル401を説明する図である。テーブル401は、蓄積部305に蓄積されている。物体移動装置200は、非線形領域250,270においては、数式を用いずに、転がり摩擦の非線形特性をステージ220の変位(位置)と補正データ351(転がり摩擦)とを対応付けたテーブル401を用いて、電流データ362を導く。テーブル401は、速度反転位置240からの変位に関連付けて転がり摩擦を記憶する。なお、転がり摩擦の摩擦特性が線形性を示す位置(線形領域260,280)では、P-ILC(Projection-based Iterative Learning Control)を用いて、線形関係式333を導出する。
【0036】
図4Cは、物体移動装置における転がり摩擦の実特性410(実線)と転がり摩擦の近似特性420(破線)を説明するための図である。近似特性420は、STEP2でパラメータ算出の際に線形関係式として使用するために便宜上、転がり摩擦(d)をd=sign(r)min(2T
c/xμr
rel-Tc,Tc)として設定している。しかし、計算の際に重みづけ行列によって除外されるので、近似の誤差は影響がない。なお、ここでは、平行四辺形に近似をしているが、長方形に近似してもよい。また、x
μは自由パラメータ(転がり摩擦の非線形弾性特性を補償する役割を持つパラメータ)、r
relはrの速度反転位置240からの相対位置を示す。
【0037】
そのため、非線形領域250,270において、電流データ322(=fnp
j+1)と電流データ341(=J/(R×KT)×<<rj>>+D/(R×KT)×<rj>)との差分を取り、補正データ351とする。
【0038】
ここで、転がり摩擦を無視すると、駆動部201のラプラス領域での関係式P(s)は、P(s)=RKT/(Js2+Ds)と表せる。位置指令値の時系列データをr(t)とすると、時間領域で最適なFF入力は、f(t)=(J/(RKT))×<<r>>(t)+(D/(RKT))×<r>(t)となる。ここで、<r>(t)は、位置指令を微分して得られる速度データであり、<<r>>(t)は、速度データを微分して得られる加速度データである。
【0039】
さらに、線形領域260,280での転がり摩擦Tcを考慮すると、
図4AのSTEP3に示すように、FF入力は、f(t)=(J/(RK
T))×<<r>>(t)+(D/(RK
T))×<r>(t)+(Tc/K
T)×b_rf(t)=Ψ(r)θとなる。ここで、b_rf(t)は、線形領域260,280で1、非線形領域250,270では-1~1となる(速度反転位置240からの距離と摩擦モデルとによる)。また、Ψ(r)は、行列[<<r>>(t)<r>(t)b_rf(t)](3種の時系列データをそれぞれ縦に並べる)となる。さらに、θは、縦ベクトル[J/(RK
T);(D/RK
T);(Tc/K
T)](係数を縦に並べる)となる。非線形領域250,270のみについてf
np
j+1から(J/(RK
T)×<<r
j>>(t)+(D/RK
T)×<r
j>(t))を差し引くことで、非線形摩擦に相当する補正データ351が得られる。この計算を行う場合には、θ
j+1が実際の機械特性に近い必要がある。本実施形態においては、非線形領域250,270を除いてフィッティングすることで、θ
j+1の精度を高める。これにより、非線形領域250,270の補正精度も向上する。
【0040】
図4Dは、パラメータ推定を説明するための図である。同図に示したモデル430は、2自由度制御系(FB+FF)のモデルである。ここで、Pは制御対象となるプラント(ステージ)、CFBはFB(Feedback)制御器、rは位置指令(位置を指令する指令データ)、xは位置出力、eは追従誤差、fはFF入力、dは転がり摩擦、Sは感度関数である。
【0041】
モデル430において、e=Sr-SP(f-d)、S=1/(1+PCFB)と表される。ここで、位置指令rが同じであれば、fnp
j+1=Q(fj+Lej)、fp
j+1=Ψ(rj)θj+1となる。そして、追従誤差は、enp
j+1=Srj-SP(fnp
j+1-d)、ep
j+1=Srj-SP(fp
j+1-d)となる。なお、enpの右肩の添え字npは、Standard-ILCで得られた追従誤差であることを示す。
【0042】
ノミナル情報を使って予測される追従誤差をリフティング表現で表すと、enp
j+1={Sn}rj-{Sn}{Pn}(fnp
j+1-d)、ep
j+1={Sn}rj-{Sn}{Pn}(fp
j+1-d)となる。以上得られたenp
j+1とep
j+1とが、enp
j+1≒ep
j+1となるようにθj+1を求めると、これは最終的にminθj+1||{Sn}{Pn}Ψ(rj)θj+1-{Sn}{Pn}fnp
j+1||2という式に帰結する。ここで{Sn}はPのノミナルモデルPnを使って計算されるノミナルの感度関数Snから得られる畳み込み行列である。{Pn}は、プラントPのノミナルモデルPnから得られる畳み込み行列である。ここで、Sn、Pnは、伝達関数を表し、{}の付いたもの、{Sn}、{Pn}は畳み込み行列を表す。
【0043】
ここで、||{Sn}{Pn}Ψ(rj)θj+1-{Sn}{Pn}fnp
j+1||2を最小化するパラメータθj+1を求める問題を考える(元の問題)。非線形領域250,270においては、線形関係式333を用いて表現すると誤差が生まれる。そのため、パラメータ推定の精度が低下することが考えられる。そこで、重み行列Wを導入することにより、非線形領域250,270におけるパラメータ推定の精度劣化を防ぐ。元の問題のうち、パラメータθj+1を用いている{Sn}{Pn}Ψ(rj)θj+1をWj{Sn}{Pn}Ψ(rj)θj+1+(I-Wj){Sn}{Pn}fnp
j+1に置き換える。その上で、||Wj{Sn}{Pn}Ψ(rj)θj+1+(I-Wj){Sn}{Pn}fnp
j+1-{Sn}{Pn}fnp
j+1||2を最小化するパラメータθj+1を求める問題を考える。
【0044】
ここで、線形領域260,280では、重み行列Wが、Wj{Sn}{Pn}Ψ(rj)θj+1+(I-Wj){Sn}{Pn}fnp
j+1が{Sn}{Pn}Ψ(rj)θj+1となるように設定する。また、非線形領域250,270では、重み行列Wが、Wj{Sn}{Pn}Ψ(rj)θj+1+(I-Wj){Sn}{Pn}fnp
j+1が、{Sn}{Pn}fnp
j+1となるように設定する。なお、重み行列Wは、対角行列である。
【0045】
すると、線形領域260,280では、||Wj{Sn}{Pn}Ψ(rj)θj+1+(I-Wj){Sn}{Pn}fnp
j+1-{Sn}{Pn}fnp
j+1||2=||{Sn}{Pn}Ψ(rj)θj+1-{Sn}{Pn}fnp
j+1||2となる(元の問題)。非線形領域250,270では、||Wj{Sn}{Pn}Ψ(rj)θj+1+(I-Wj){Sn}{Pn}fnp
j+1-{Sn}{Pn}fnp
j+1||2=||{Sn}{Pn}fnp
j+1-{Sn}{Pn}fnp
j+1||2=0となる。
【0046】
したがって、「||Wj{Sn}{Pn}Ψ(rj)θj+1+(I-Wj){Sn}{Pn}fnp
j+1-{Sn}{Pn}fnp
j+1||2を最小化するパラメータθj+1を求める問題」は、次のように言い換えられる。すなわち、「線形領域260,280だけで||{Sn}{Pn}Ψ(rj)θj+1-{Sn}{Pn}fnp
j+1||2を最小化するパラメータθj+1を求める問題」となる。そのため、線形関係式333を用いて表現すると誤差が生まれる非線形領域250,270を無視してパラメータの推定を行うことができる。
【0047】
図4Eは、物体移動装置における重みづけ行列の決定方法を説明する図である。
図4Eには、
図4Cに示した、重みづけ行列Wjの決定方法が示されている。始動位置230および速度反転位置240の直後の領域、つまり、動き出し直後、速度反転直後の領域(非線形領域250,270)では、転がり摩擦の特性に非線形性が含まれている可能性が高い。そのため、非線形領域250,270の転がり摩擦の特性は用いない。
【0048】
この場合、ステージ220の動きだし直後(始動位置230)、速度反転直後(速度反転位置240)では、得られた転がり摩擦のデータに非線形特性が含まれている。そのため、その変位の範囲では重みづけ行列は、Wj[i]=0となる。
【0049】
始動位置230および速度反転位置240から十分離れている領域(線形領域260,280)では、転がり摩擦に非線形特性は含まれない。そのため、重みづけ行列は、Wj[i]=1となる。例えば、本実施形態では、始動位置230および速度反転位置240から100μmまでの領域では、パラメータθの推定において線形関係式333を用いない。なお、始動位置230および速度反転位置240からの距離は100μmには限定されず、物体移動装置200に用いるモータ212やボールねじ211、ステージ220の特性に合わせて適宜調整可能である。
【0050】
なお、本実施形態においては、モータ212およびボールねじ211を用いてステージの動きを制御する例について説明をしたが、例えば、本実施形態の技術は、工作機械の主軸の動きの制御にも適用できる。また、駆動部201として、リニアモータ機構、回転テーブル機構を用いてもよい。さらに、取得部302は、ステージ220をどこまで移動させるかを示す指令値(指令位置)を取得してもよい。
【0051】
本実施形態によれば、転がり摩擦特性を線形領域と非線形領域とに分けて、線形領域では反復学習制御により線形パラメータを推定し、推定した線形パラメータと補正データとを用いて非線形領域での転がり摩擦を推定した。そのため、ステージの移動領域の全体での転がり摩擦を推定できる。また、ステージの移動領域の全体での転がり摩擦を推定できるので、ステージの動きを正確に制御することができる。また、ステージを正確に動かすことができるので、工作機械に本実施形態の物体移動装置を組み込めば、高品質な工作物を得られる。ステージの動かし方を変えたとしても、ステージの動きを正確に制御することができる。ステージを複雑に動かす場合でも、ステージの動きを正確に制御することができる。また、工作機械が実速度で駆動している場合であっても転がり摩擦特性を正確に取得できるので、転がり摩擦特性を計測するために極低速駆動をさせなくても、ステージの動きを正確に制御することができる。
【0052】
[第3実施形態]
次に本発明の第3実施形態に係る情報処理装置について、
図5および
図6を用いて説明する。
図5は、情報処理装置500の構成を説明するための図である。情報処理装置500は、上記第2実施形態の物体移動装置と比べると、物体移動装置200が有していた一部の機能を物体移動装置200の外部で実現しようとするものであり、出力部を有している点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0053】
情報処理装置500は、取得部302、導出部303、算出部304および出力部501を有する。また、情報処理装置500は、工作機械210とネットワークを介して接続される。出力部501は、線形領域260,280において、駆動部201を駆動させるための電流データ361を、次の動作の指令データrj+1(図示なし)に基づく基底関数Ψ(rj+1)と、導出部303で推定したパラメータθj+1とを用いて算出する。出力部501は、線形領域260,280以外の領域である非線形領域250,270において、駆動部201を駆動させるための電流データ362を、導出部303で推定したパラメータθj+1とテーブル401を用いて、J/(R×KT)×加速度+D/(R×KT)×速度+(テーブル401に記憶された転がり摩擦)/KTにより算出する。出力部501は、線形領域260,280において、算出された電流データ361と、非線形領域250,270において、導き出された電流データ362とを出力する。出力された電流データ361,362は、物体移動装置200や工作機械210に送信される。
【0054】
図6は、情報処理装置500の処理手順を説明するためのフローチャートである。このフローチャートは、CPUがRAMを使用して実行し、
図5の情報処理装置500の機能構成部を実現する。
【0055】
ステップS601において、情報処理装置500は、通常のILCで電流データ322(fnp
j+1)と、指令データ321とを取得する。ステップS603において、線形領域260,280での電流データ322と指令データ321とから、線形関係式333(パラメータ(θj+1))を推定する。次に、ステップS605において、情報処理装置500は、非線形領域250,270において、推定したパラメータ(θj+1)と基底関数Ψ(rj)とを用いて電流データ341を算出する。ステップ607において、情報処理装置500は、非線形領域250,270における、電流データ322(fnp
j+1)と電流データ341とに基づいて補正データ351を導く。そして、導かれた補正データ351をステージ220の各位置に紐づけてテーブル401に蓄積する。ステップS609において、情報処理装置500は、線形領域260,280において駆動部201を駆動させるための電流データ361を、次の動作の指令値軌道データrj+1に基づく基底関数(rj+1)と、推定したパラメータ(θj+1)とを用いて算出する。ステップS611において、情報処理装置500は、線形関係式333(JとDとの項)および導き出されたテーブル401から、非線形領域250,270において駆動部201を駆動させるための電流データ362を導出する。ステップS613において、ステップS609で算出した電流データ361およびステップS611において導出した電流データ362を用いて、駆動部201のモータ212に入力される電流を制御し、駆動部201を駆動させる。
【0056】
本実施形態によれば、物体移動装置や工作機械において、電流データを出力することができない場合であっても、ネットワーク接続された情報処理装置から電流データを出力することによって、ステージの動きを正確に制御できる。
【0057】
[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の技術的範囲で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の技術的範囲に含まれる。
【0058】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に供給され、内蔵されたプロセッサによって実行される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、プログラムを実行するプロセッサも本発明の技術的範囲に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の技術的範囲に含まれる。