IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ミツトヨの特許一覧

<>
  • 特許-形状測定装置の制御方法 図1
  • 特許-形状測定装置の制御方法 図2
  • 特許-形状測定装置の制御方法 図3
  • 特許-形状測定装置の制御方法 図4
  • 特許-形状測定装置の制御方法 図5
  • 特許-形状測定装置の制御方法 図6
  • 特許-形状測定装置の制御方法 図7
  • 特許-形状測定装置の制御方法 図8
  • 特許-形状測定装置の制御方法 図9
  • 特許-形状測定装置の制御方法 図10
  • 特許-形状測定装置の制御方法 図11
  • 特許-形状測定装置の制御方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-01
(45)【発行日】2022-12-09
(54)【発明の名称】形状測定装置の制御方法
(51)【国際特許分類】
   G01B 5/20 20060101AFI20221202BHJP
【FI】
G01B5/20 C
【請求項の数】 4
(21)【出願番号】P 2019006441
(22)【出願日】2019-01-17
(65)【公開番号】P2020115099
(43)【公開日】2020-07-30
【審査請求日】2022-01-12
(73)【特許権者】
【識別番号】000137694
【氏名又は名称】株式会社ミツトヨ
(74)【代理人】
【識別番号】100143720
【弁理士】
【氏名又は名称】米田 耕一郎
(74)【代理人】
【識別番号】100080252
【氏名又は名称】鈴木 征四郎
(72)【発明者】
【氏名】柄澤 侑利
(72)【発明者】
【氏名】水上 一己
【審査官】續山 浩二
(56)【参考文献】
【文献】特開2014-048095(JP,A)
【文献】特開平06-273154(JP,A)
【文献】特開2014-021004(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 5/20
(57)【特許請求の範囲】
【請求項1】
プローブを三次元的に移動させる移動機構を有し、ワークの形状を測定する三次元測定機の制御計画の設計方法であって、
所与の移動区間を所与の速度計画で計画された区間内目標速度に達しながらできる限り短い時間で移動する制御計画を設計するにあたり、
制御サイクルタイムの整数倍となる加速時間Taを設定する加速時間算出工程と、
前記加速時間算出工程で得られた加速時間Taと前記移動区間内の目標速度増分ΔVとから区間内の最高加速度Amaxを算出する最高加速度算出工程と、
前記加速時間Taと前記最高加速度Amaxとを含み、制御サイクルタイムごとの目標座標値を時間の関数として与える加速区間座標算出式により、制御サイクルタイムごとの目標座標値を求める座標算出工程と、を有し、
加速区間座標算出式は、前記加速時間Taと前記最高加速度Amaxとを含み、徐々に加速し、徐々に減速する加速度を与える加速度連続関数を時間に関して二回積分した式により与えられる
ことを特徴とする三次元測定機の制御計画の設計方法。
【請求項2】
請求項1に記載の三次元測定機の制御計画の設計方法において、
前記加速時間算出工程において、前記加速時間Taは、前記目標速度増分ΔVを前記三次元測定機の耐加速度の半分で除した値を前記制御サイクルタイムの整数倍になるように切り上げた値である
ことを特徴とする三次元測定機の制御計画の設計方法。
【請求項3】
請求項1または請求項2に記載の三次元測定機の制御計画の設計方法において、
前記加速度連続関数は、加速度A(t)を時間tの関数として次のように与えられる
ことを特徴とする三次元測定機の制御計画の設計方法。
A(t)=A{sin(ωt-π/2)+1}
ω=2π/Ta
A=Amax/2
【請求項4】
請求項1から請求項3のいずれかに記載の三次元測定機の制御計画の設計方法で与えられた制御計画に従って前記三次元測定機を駆動制御することを特徴とする形状測定装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状測定装置の制御方法に関する。
【背景技術】
【0002】
測定対象物の表面に沿ってプローブを倣い移動させることで測定対象物の形状を測定する形状測定装置が知られている(例えば、特許文献1、2、3参照)。倣い測定にあたっては、倣い測定の経路を生成しておく必要がある。特許文献1に記載の装置では、CADデータ等に基づいた設計値(例えばNURBS(Non-UniformRationalB-Spline:非一様有理Bスプライン)データ)を所定次数の多項式曲線群に変換する。
【0003】
この手順を簡単に説明すると、まず、外部のCADシステム等から経路情報を含んだCADデータ(例えばNURBSデータ)を受け取り、このCADデータを点群のデータに変換する。各点のデータは、座標値(x、y、z)と法線方向(P、Q、R)とを組み合わせたデータである(つまり、(x、y、z、P、Q、R)である。)本明細書では、(x、y、z、P、Q、R)の情報をもつ点群のデータを輪郭点データと称することにする。
【0004】
次に、各点の座標値を法線方向に所定量だけオフセットする。(所定量とは、具体的には、測定子半径r―基準押込み量E0である。)このようにして求めた点群データをオフセット済み輪郭点データと称することにする。
【0005】
そして、オフセット済み輪郭点データを所定次数の多項式曲線群に変換する。ここでは、多項式として三次関数を用い、PCC曲線群(Parametric Cubic Curves)とする。
このPCC曲線を元に倣い測定の経路を生成する。さらに、PCC曲線を分割して分割PCC曲線群とする。
【0006】
分割PCC曲線群から速度曲線を算出してプローブの移動速度(移動ベクトル)を算出する。例えば分割PCC曲線群の各セグメントの曲率などに基づいてプローブの移動速度(移動ベクトル)を設定する。このように算出された移動速度に基づいてプローブを移動させ、測定対象物の表面に沿ってプローブを移動させる(パッシブ設計値倣い測定)。
【0007】
さらに、プローブの押し込み量を一定にするように押込み修正ベクトルを時々刻々算出して、軌道修正しながら倣い測定する方法も知られている(アクティブ設計値倣い測定)。
【0008】
特許文献2(特開2013-238573号公報)に開示された「アクティブ設計値倣い測定」を簡単に紹介する。「アクティブ設計値倣い測定」では、次の(式1)で表わされる合成ベクトルVをプローブのベクトル移動指令とする。
プローブが合成ベクトルVに基づく移動を行うと、プローブ(測定子)はPCC曲線に沿うように移動しつつ、押込み量を一定としたワーク表面倣い測定、つまり、「アクティブ設計値倣い測定」が実現される。
【0009】
V=Gf×Vf+Ge×Ve+Gc×Vc ・・・(式1)
【0010】
図1を参照しながら式の意味を簡単に説明する。
図1において、設計データ(輪郭点データ)から所定量(測定子半径r―基準押込み量E0)オフセットしたところにPCC曲線(つまり、倣い経路)がある。
また、図1においては、実際のワークが設計データから少しずれている。
【0011】
ベクトルVfは経路速度ベクトルである。経路速度ベクトルVfは、PCC曲線上の補間点(i)から次の補間点(i+1)に向かう方向をもつ。なお、経路速度ベクトルVfの大きさは、例えば、補間点(i)におけるPCC曲線の曲率に基づいて決定される(例えば特許文献3)。
【0012】
ベクトルVeは、押込み量修正ベクトルであり、プローブの押込み量Epが所定の基準押込み量E0(例えば0.3mm)になるようにするためのベクトルである。(押込み量修正ベクトルVeは、必然的に、ワーク表面の法線に平行となる。)
【0013】
ベクトルVcは、軌道修正ベクトルである。軌道修正ベクトルは、プローブ位置からPCC曲線に下ろした垂線に平行である。Gf、Ge、Gcはそれぞれ倣い駆動ゲイン、押込み方向修正ゲイン、軌道修正ゲインである。
【0014】
PCC曲線を図2に例示する。
点P1から点P7まで一続きのPCC曲線L_PCCがあり、このPCC曲線L_PCCは、点Pにより複数のセグメントに分割されている。(各セグメントもPCC曲線である。)
各セグメントの終了点は、次のセグメント(PCC曲線)の開始点となっている。セグメントの開始点の座標を(KX0、KY0、KZ0)と表わし、そのPCC曲線における始点と終点との間の直線の長さをDとする。
このように定義すると、PCC曲線上の任意の位置における座標{X(S)、Y(S)、Z(S)}は、3次曲線を表わすための係数(KX3、KX2・・・・KZ1、KZ0)を用い、次の式で表される。
【0015】
X(S)=KX3+KX2+KX1S+KX0
Y(S)=KY3+KY2+KY1S+KY0
Z(S)=KZ3+KZ2+KZ1S+KZ0
【0016】
ワークが平面や曲率一定の円で構成されているような単純形状であれば、倣い測定の経路も直線や円といった単純形状でよく、PCC曲線を数多くのセグメントに分割する必要はない。
一方、ワークの測定部位が複雑な形状をしており、かつ、このような測定部位に精度良く追随しながら高精度の倣い測定を行うためには、PCC曲線を細かく分割してセグメント数を増やさなければならない。
例えば、図3のような曲線の輪郭形状を倣い測定する場合、図4に例示するように曲率が変化するところでセグメントに分割する。そして、セグメントごとに適切な速度パターンが設定される(特許文献3)。つまり、曲線に精度よく追随しながら、かつ、できる限り高速に移動する速度パターンが各セグメントに応じて設定される。
【0017】
セグメントごとに設定された速度に従って移動速度の加減速制御を行うことを考える。前述のように、セグメントごとに最高速度Vmaxが与えられている。ここで、セグメントごとに、開始速度Vsからできる限り速く加速して最高速度Vmaxに達する速度計画を立てたい。
仮に、VsからVmaxに達するための加速に要する時間を加速時間Taとする。
Vmax=Vs+a×Ta
ここで、aは加速度とする。
【0018】
加速時間Taを短くするには、加速度aをできる限り大きく設定したい。
ただし、ここで、制約が二つある。
一つ目の制約としては、加速度aには上限値があることである。
加速度aの上限値を加速度上限値Autmと表わすことにする。
加速度上限値Autmは、例えば、マシン(三次元測定機)の耐加速度の半分に設定される。
これは、後に加速度カーブをS字曲線化するためである。
加速度上限値Autmの値は、例えば、1.33m/secである。
【0019】
二つ目の制約は、加速時間Taを50msec(0.05秒)の倍数とすることである。
マシン(三次元測定機)の実際の制御サイクルタイムはもっと短く、例えば0.4msecなのであるが、加速時間Taはかなり大きな単位時間(50msec)の区切りでカウントされる。
(これも後に加速度カーブをS字曲線化する都合上のことである。この理由は後述する。)
【0020】
いま、目標とする速度の増分ΔV(=Vmax-Vs)を例えば0.35m/secであるとする。
加速時間Taは、50msecの倍数なので、kを整数として、Ta=50msec×kとする。
【0021】
Vmax=Vs+a×Ta
Vmax-Vs=a×Ta
0.35[m/s]=a×50[msec]×k
a=0.35[m/s]/0.05[sec]×k
【0022】
さて、上記の二つの制約のもとで加速度aを一番大きくしたいと考える。
kを1から順に大きくしていくと、そのときaは次のようになる。
【0023】
k=1、2、3、4、5、6、
a=7、3.5、2.33、1.75、1.4、1.66
【0024】
したがって、加速度aは1.16[m/sec]でそのときの加速時間Taは300msec(0.3秒)と求められる。
【0025】
このような計算をセグメントごとに行なうと、速度パターンは例えば図5のように求められる。
この図5の速度パターンでは加速度を一定とし、すなわち、速度は時間に関して一次関数として与えられている。
これを実際の滑らかな移動制御のため、速度が変化する領域(加速区間)に対し、徐々に加速し、徐々に減速する、という滑らかなS字加減速処理を行なう。
【0026】
一次関数として与えられた速度パターンに対してS字加減速処理を行なうため、S字曲線に沿って速度を変化させる加速度テーブルが予め用意されている。
例えば、図6に例示のように、S字曲線に沿って速度を変化させるときの0.4msecごとの速度Viが一つのモデルパターンとして用意されている。
このS字曲線のモデルパターンは、0.4msecごとに125個の点からなり、すなわち50msecが一つの単位となっている。
つまり、加速度テーブルが50msecを単位としている。
一次関数として与えられた速度パターンに合わせて加速度を下げたい場合には(加速時間Taを長くとりたい場合には)、図7に例示のように、この125個の加速度カーブをそのまま横に(時間方向に)引き伸ばして、250個、375個、500個…とすることで、加速度カーブの形状そのものは変えずに加速時間を伸ばす。
この加速度カーブはマシンの開発時にマシンの特性に合わせて滑らかなトルク変動を得るために計算されたものであり、この加速度カーブにおいて最大加速度の発生タイミングは加速時間全体の36.8%のところにある。
これは、加速によって発生するマシンの振動が減衰するための時間を長めにとるようにする工夫である。
【0027】
(ちなみに、一定加速度aで一次関数的に速度が増加する速度パターンの加速区間をS字曲線化すると、最大加速度Amaxは2aになる。第1の制約で加速度上限値Autmをマシンの耐加速度の半分に設定したのはこのためである。)
【0028】
図5で求められた一次関数の加速領域に対して図6の加速度テーブルを適用する。
例えば、時間軸を延ばし、速度軸を延ばして図7に例示のように図5の速度パターンをS字曲線化する。
【0029】
さらに、実際のマシンの駆動制御では座標指令値が必要になる。
したがって、図7で求められた速度パターンに基づき、制御サイクルタイムtiごとの目標座標値を順次算出する。
このようにして制御サイクルタイムごとの目標座標値が得られる。
制御装置からマシンに目標座標値を順次与えることにより図7の速度パターンに従った滑らかな加減速を行いつつ、できる限り速く倣い経路に沿った倣い測定が行なわれる。
【先行技術文献】
【特許文献】
【0030】
【文献】特開2008-241420号公報
【文献】特開2013-238573号公報
【文献】特開2014-21004号公報(特許6063161)
【発明の概要】
【発明が解決しようとする課題】
【0031】
上記に説明した速度計画法の例では、加速度上限値Autmが1.33m/secであるにも関わらず、加速時間を50msec単位でしか選べなかったため、加速度として1.16m/secと設定して速度パターンを求めていた。
この加速度1.16m/secは実際のマシンの性能(加速度上限値Autm:1.33m/sec)よりも小さい値である。
したがって、加速が遅く、測定時間が長くなる要因となっていた。
【0032】
本発明の目的は、マシン性能を十分に発揮できる加速制御を行なって測定時間を短縮できる形状測定装置の制御方法を提供することにある。
【課題を解決するための手段】
【0033】
本発明の三次元測定機の制御計画の設計方法は、
プローブを三次元的に移動させる移動機構を有し、ワークの形状を測定する三次元測定機の制御計画の設計方法であって、
所与の移動区間を所与の速度計画で計画された区間内目標速度に達しながらできる限り短い時間で移動する制御計画を設計するにあたり、
制御サイクルタイムの整数倍となる加速時間Taを設定する加速時間算出工程と、
前記加速時間算出工程で得られた加速時間Taと前記移動区間内の目標速度増分ΔVとから区間内の最高加速度Amaxを算出する最高加速度算出工程と、
前記加速時間Taと前記最高加速度Amaxとを含み、制御サイクルタイムごとの目標座標値を時間の関数として与える加速区間座標算出式により、制御サイクルタイムごとの目標座標値を求める座標算出工程と、を有し、
加速区間座標算出式は、前記加速時間Taと前記最高加速度Amaxとを含み、徐々に加速し、徐々に減速する加速度を与える加速度連続関数を時間に関して二回積分した式により与えられる
ことを特徴とする。
【0034】
本発明では、
前記加速時間算出工程において、前記加速時間Taは、前記目標速度増分ΔVを前記三次元測定機の耐加速度の半分で除した値を前記制御サイクルタイムの整数倍になるように切り上げた値である
ことが好ましい。
【0035】
本発明では、
前記加速度連続関数は、加速度A(t)を時間tの関数として次のように与えられる
ことが好ましい。
A(t)=A{sin(ωt-π/2)+1}
ω=2π/Ta
A=Amax/2
【0036】
本発明の形状測定装置の制御方法は、
前記三次元測定機の制御計画の設計方法で与えられた制御計画に従って前記三次元測定機を駆動制御することを特徴とする。
【図面の簡単な説明】
【0037】
図1】設計データ(輪郭点データ)とPCC曲線と実際のワークとの関係を例示する図である。
図2】PCC曲線を例示するである。
図3】曲線状の輪郭(PCC曲線)を例示する図である。
図4】PCC曲線をセグメントに分割した一例を示す図である。
図5】速度パターンの一例を示す図である。
図6】S字曲線の加速度テーブルの例を示す図である。
図7】加速度テーブルを用いてS字加減速処理を行なう様子を模式的に例示した図である。
図8】形状測定システムの全体構成を示す図である。
図9】モーションコントローラおよびホストコンピュータの機能ブロック図である。
図10】移動指令生成部の構成を示す図である。
図11】モーションコントローラ300の制御動作を表わす全体フローチャートである。
図12】速度パターンの加速区間をS字加減速カーブに修正する工程を示すフローチャートである。
【発明を実施するための形態】
【0038】
本発明の実施形態を図示するとともに図中の各要素に付した符号を参照して説明する。
(第1実施形態)
図8は、形状測定システム100の全体構成を示す図である。
形状測定システム100は、三次元測定機200と、三次元測定機200の駆動を制御するモーションコントローラ300と、モーションコントローラ300を制御すると共に必要なデータ処理を実行するホストコンピュータ500と、を備える。
【0039】
三次元測定機200自体はよく知られているものであるが、簡単に例示しておく。
三次元測定機200は、定盤210と、移動機構220と、プローブ230と、を備える。
【0040】
移動機構220は、定盤210上をY方向にスライド可能に設けられた門型のYスライダ221と、Yスライダ221のX方向のビームに沿ってスライドするXスライダ222と、Xスライダ222に固定されたZ軸コラム223と、Z軸コラム223内をZ方向に昇降するZスピンドル224と、を備える。
【0041】
Yスライダ221、Xスライダ222およびZスピンドル224には、それぞれ駆動モータ(不図示)とエンコーダ(不図示)とが付設されている。モーションコントローラ300からの駆動制御信号によって各駆動モータが駆動制御される。エンコーダは、Yスライダ221、Xスライダ222およびZスピンドル224それぞれの移動量を検出し、検出値をモーションコントローラ300に出力する。Zスピンドル224の下端にプローブ230が取り付けられている。
【0042】
プローブ230は、測定子232を先端側(-Z軸方向側)に有するスタイラス231と、スタイラス231の基端側(+Z軸方向側)を支持する支持部233と、を備える。測定子232は、球状であって、測定対象物Wに接触する。
【0043】
支持部233は、スタイラス231に外力が加わった場合、すなわち測定子232が測定対象物に当接した場合にはスタイラス231が一定の範囲内でX、Y、Z軸の各軸方向に移動可能となるようにスタイラス231を支持している。さらに、支持部233は、スタイラス231の各軸方向の位置をそれぞれ検出するためのプローブセンサー(不図示)を備える。プローブセンサは検出値をモーションコントローラ300に出力する。
【0044】
(モーションコントローラ300の構成)
図9は、モーションコントローラ300およびホストコンピュータ500の機能ブロック図である。
モーションコントローラ300は、測定指令取得部310と、カウンタ部330と、移動指令生成部340と、駆動制御部350と、を備える。
【0045】
測定指令取得部310は、ホストコンピュータ500からPCC曲線データを取得する。カウンタ部330は、エンコーダから出力される検出信号をカウントして各スライダの変位量を計測するとともに、プローブセンサから出力される検出信号をカウントしてプローブ230(スタイラス231)の変位量を計測する。計測されたスライダおよびプローブ230の変位から測定子232の座標位置PP(以下、プローブ位置PP)が得られる。また、カウンタ部330にて計測されたスタイラス231の変位(プローブセンサの検出値(Px,Py,Pz))から、測定子232の押込み量(ベクトルEpの絶対値)が得られる。
【0046】
移動指令生成部340は、プローブ230(測定子232)で測定対象物表面を測定するためのプローブ230(測定子232)の移動経路を算出し、その移動経路に沿った速度ベクトルを算出する。
移動指令生成部340の構成を図10に示す。
移動指令生成部340は、速度パターン計画部341と、ベクトル指令生成部348と、を備える。
速度パターン計画部341は、速度パターン演算部342と、速度パターン修正部343と、を備える。速度パターン修正部343は、加減速調整部344を有する。各機能部の動作についてはフローチャートを参照しながら後述する。
【0047】
駆動制御部350は、移動指令生成部340にて算出された移動ベクトルに基づいて、各スライダを駆動制御する。
【0048】
なお、モーションコントローラ300には、手動コントローラ400が接続されている。
手動コントローラ400は、ジョイスティックおよび各種ボタンを有し、ユーザからの手動入力操作を受け付け、ユーザの操作指令をモーションコントローラ300に送る。この場合、モーションコントローラ300(駆動制御部350)は、ユーザの操作指令に応じて各スライダを駆動制御する。
【0049】
(ホストコンピュータ500の構成)
ホストコンピュータ500は、CPU511(CentralProcessingUnit)やメモリ等を備えて構成され、モーションコントローラ300を介して三次元測定機200を制御する。
ホストコンピュータ500は、さらに、記憶部520と、形状解析部530と、を備える。記憶部520は、測定対象物(ワーク)Wの形状に関する設計データ(CADデータや、NURBSデータ等)、測定で得られた測定データ、および、測定動作全体を制御する測定制御プログラムを格納する。
【0050】
形状解析部530は、モーションコントローラ300から出力された測定データに基づいて測定対象物の表面形状データを算出し、算出した測定対象物の表面形状データの誤差や歪み等を求める形状解析を行う。また、形状解析部530は、設計データ(CADデータや、NURBSデータ等)からPCC曲線への変換等の演算処理も担う。
【0051】
CPU511(中央処理装置)で測定制御プログラムを実行することにより本実施形態の測定動作が実現される。
【0052】
ホストコンピュータ500には、必要に応じて、出力装置(ディスプレイやプリンタ)および入力装置(キーボードやマウス)が接続されている。
【0053】
(制御方法)
本実施形態に係る形状測定装置の制御方法を説明する。
従来技術では、速度パターンの速度が変化する領域にS字加減速処理をするため、50msec単位でS字曲線に基づく加速度テーブルを用意していた。
そして、加速度テーブルを当てはめて加速領域をS字曲線化し、さらに、制御サイクルタイムごとの目標座標値を求めていた。
この方法は、50msecという大きな単位でしか加速時間を選択できないという問題があった。
【0054】
そこで、本実施形態では、制御サイクルタイム刻みで加速時間Taを増減できるようにする。
また、加速区間の最大加速度Amaxが得られたら、加速時間Taと最大加速度Amaxとに基づいて制御サイクルタイムtiごとの目標座標値を直接計算できるようにする。
【0055】
実施形態のフローチャートを説明する前に、加速区間の最大加速度Amaxと加速時間Taに基づいて制御サイクルタイムtiごとの目標座標値を直接計算ための数式を次のように設定しておく。
まずは、加速時間Taと最大加速度Amaxとに基づいて、徐々に加速し、徐々に減速する加速度カーブを表わす関数を設定する。
ここでは、サインカーブを用いて加速度カーブを次のように表わす(もちろん三角関数のコサインカーブを用いてもよい)。
【0056】
A(t)=A{sin(ωt-π/2)+1}
A=Amax/2
ω=2π/Ta
【0057】
マシンの位置制御では、制御サイクルタイムごとの目標座標値を得る必要があるので、前式を時間に関して2回積分する。
D(t)=∫∫A(t)dtdt
=-(A/ω)sin(ωt-π/2)+A・t/2+Vs・t+Ds
【0058】
Vsは、加速開始時の速度である。
Dsは、加速開始時の座標値である。
【0059】
いま、初期条件を[0,0](t=0のときD(0)=0)とする。
すると、上式は次のようになる。
D(t)=-(A/ω)sin(ωt-π/2)+A・t/2-A/ω
【0060】
また、加速区間における最大速度をVmaxと表わす。(ここでは、Vmaxは加速区間の最終速度に相当する)
また、加速区間の平均加速度はAmax/2(=A)である。
すると、Vmax=A・Taであるから、ω=π・Amax/Vmaxと表わすこともできる。
【0061】
tは、制御サイクルタイムTcycの倍数でしか選択できないから、kを整数としてt=Tcyc×kと表わす。
このとき、制御サイクルタイムごとの座標値は次のように直接得られる。
【0062】
D(k)=-(Amax/ω2)sin(Tcyc・ω・k-π/2)+Amax・(Tcyc・k)2/2-A/ω2
【0063】
例えば、制御サイクルタイムが0.4[msec]であれば、制御サイクルタイムごとの座標値は次のようになる。
D(k)=-(Amax/ω2)sin(0.4[msec]・ω・k-π/2)+Amax・(0.4[msec]・k)2/2-A/ω2
【0064】
上式を加速区間座標算出式と称することにする。
【0065】
図11は、モーションコントローラ300の制御動作を表わす全体フローチャートである。
モーションコントローラ300は、ホストコンピュータ500で生成された測定指令としてのPCC曲線データを受信する(ST110)。
速度パターン計画部341は、このPCC曲線データに従ってプローブ230を倣い移動させるための速度パターンを生成する(ST120)。
速度パターン演算部342は、PCC曲線に精度よく追随しながら、かつ、できる限り高速に移動する速度パターンをセグメントごとに生成する(ST130)。
この工程自体は従来と同じであり、例えば背景技術で説明した図5のような速度パターンが生成される。
【0066】
次に一次関数で与えられている速度パターンに対し、S字加減速になるように速度パターンを修正する(ST200)。
速度パターンの修正工程を図12のフローチャートを参照しながら説明する。
まず、ST210において、目標とする速度の増分ΔVを求める。
ΔV=Vmax-Vs
である。
【0067】
次に、加速度上限値Autmと目標速度増分ΔVとから仮加速時間Ttemを算出する(ST220)。
加速度上限値Autmの定義は背景技術の説明と同じで、マシン(三次元測定機)の耐加速度の半分に設定される。
【0068】
Ttem=ΔV/Autm
【0069】
さて、加速時間は、制御サイクルタイムTcycの整数倍でなければならない。
上式で求めた仮加速時間Ttemが制御サイクルタイムTcycの倍数でないときには、加速時間が制御サイクルタイムTcycの倍数になるように切り上げる必要がある(ST230)。
【0070】
Ntcyc=Ttem/Tcyc
Ncyc=[Ntcyc+1]
【0071】
[x]はxを越えない最大の整数を表わす床関数とする。
あるいは、天井関数(x以上の最小の整数)ceiling(x)を使うと、
Ncyc=ceiling(Ntcyc)
とも表せる。
このようにして求まるNcycが加速時間の制御サイクルタイムの回数である。
したがって、加速時間Taは次のようになる。
【0072】
Ta=Tcyc×Ncyc
【0073】
加速時間Taが求まったので、改めて、目標速度増分ΔVと加速時間Taとから区間内最高加速度Amaxを求める(ST240)。
Amax=(ΔV/Ta)×2
(加速度上限値Autmは耐久限度加速度の半分に設定していたが、加速カーブをS字曲線にしたときの最高到達加速度Amaxは、耐久限度加速度の近くまで上がる。)
【0074】
ここまでで、加速区間の加速時間Taと最高加速度Amaxとが求まったので、前述の加速区間座標算出式に加速時間Taと最高加速度Amaxとを代入する。
さらに、k=1からNcycまで順に制御サイクルタイムごとの目標座標値を求める(ST250)。
このようにして、速度パターンを修正して滑らかな加減速を行なうための制御サイクルタイムごとの制御指令値(目標座標値)が得られた。
【0075】
図11に戻って、あとは、この修正された速度パターンに従った移動指令でプローブを移動させていけばよい。
ベクトル指令生成部348で合成ベクトル指令を生成し(ST140)、プローブの駆動制御を実行すればよい(ST150)。
【0076】
本実施形態によれば、滑らかな加減速制御を行ないつつも、取り得る最も短い加速時間で加速を行なうことができる。
したがって、測定時間の短縮ができ、測定効率が向上する。
また、サインカーブを用いた本実施形態のS字加減速処理は従来のS字加減速処理よりも滑らかな加減速カーブを生成でき、このことは三次元測定機の振動を抑制し、測定精度の向上に繋がると期待できる。
【0077】
上記実施形態のサインカーブを元とする加速度カーブの生成は、解析的な計算(積分)が可能であるため、(制御サイクルタイムの倍数で)任意に加速時間を選択でき、さらに、制御サイクルタイムごとに加速度、速度、位置を解析的に得られる。
解析計算で制御サイクルタイムごとの位置を直接時系列応答として得られるので、プログラムを非常にシンプルにできる。
一つデメリットを挙げるとすると、最大加速度発生タイミングを少し前半にずらすといった極めて高度な最適化はできない点である。
【0078】
ここで、最大加速度発生タイミングをずらすためには、加速度関数を、A′(t)=A′{sin(2π(at+bt)-π/2)+1}のように変形することで対応は可能である。
あるいは、ガウス関数を用いて、加速度関数を、例えば次のようにしてもよい(最大加速度発生タイミングを36.8%となるように調整してある)。
【0079】
【数1】
【0080】
このようにすれば、滑らかな加速度カーブであって、かつ、最大加速度発生タイミングを任意に調整することができる。
しかしながら、これらの式は解析的に計算できないため、速度、位置を得るのに数値計算(数値積分)を経なければならず、演算負荷が大きい。
最終的にほしい位置を表わす関数が解析的に得られないことが大きなデメリットであり、出力応答に時間が掛かると結局は測定時間が長くなる。
【0081】
実際に発明者らはシミュレーションしてみたところ、最大加速度発生タイミングをずらさないことの測定精度への影響は許容範囲であり、他の工夫でカバーできる。
最大加速度発生タイミングをずらすためのプログラムの複雑さ、演算負荷、応答時間の遅れなどのデメリットが大きく、本実施形態の方が優れると考えられる。
【0082】
なお、本発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
「加速」を例に説明したが、「減速」の場合も同じである(式の適用自体は同じである)。
【符号の説明】
【0083】
100…形状測定システム、
200…三次元測定機、
210…定盤、220…移動機構、221…Yスライダ、222…Xスライダ、223…Z軸コラム、224…Zスピンドル、
230…プローブ、231…スタイラス、232…測定子、233…支持部、
300…モーションコントローラ、
310…測定指令取得部、330…カウンタ部、340…移動指令生成部、
341…速度パターン計画部、
342…速度パターン演算部、343…速度パターン修正部、344…加減速調整部、348…ベクトル指令生成部、
350…駆動制御部、
400…手動コントローラ、
500…ホストコンピュータ、520…記憶部、530…形状解析部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12