(58)【調査した分野】(Int.Cl.,DB名)
先端に測定子を有するプローブと、前記プローブを移動させる移動機構と、を備え、前記測定子とワーク表面との接触を検知して前記ワークの形状を測定する形状測定装置の制御方法であって、
前記ワークの設計データに基づいて前記測定子を移動させる倣い経路を求め、前記プローブの前記ワークへの押込み量を基準押込み量に保つように制御しながら前記測定子を前記倣い経路に沿って移動させるにあたって、
プローブの移動指令を次の式で表される合成速度ベクトルVに従って生成する
ことを特徴とする形状測定装置の制御方法。
合成速度ベクトルV=Gf・Vf+Ge・Ve+sg(p)・Gc・Vc2
ここで、
経路速度ベクトルVfは、前記倣い経路に沿って前記プローブを移動させるためのベクトルである。
押込み修正ベクトルVeは、前記プローブの前記ワークへの押込み量を基準押込み量に保つためのベクトルである。
第2軌道修正ベクトルVc2は(Vc1・q)qで表わされる。
第1軌道修正ベクトルVc1は、測定子が倣い軌道に向かうようにプローブ位置を修正する方向のベクトルである。
軌道修正方向ベクトルqは、プローブ出力から得られるプローブ変位ベクトルに基づいて求められるワーク表面の法線に平行なベクトルと経路速度ベクトルVfとの外積で与えられるベクトルである。
前記ワークの設計データに基づいて算出される測定対象面の法線方向を設計値法線方向ベクトルNwとするとき、pは第2軌道修正ベクトルVc2と設計値法線方向ベクトルNwとの内積であり、符号決定関数sg(p)はpの値に応じて+1または−1を返す関数である。
Gf、GeおよびGcは任意の係数である。
【発明を実施するための形態】
【0018】
本発明の実施形態を図示するとともに図中の各要素に付した符号を参照して説明する。
(第1実施形態)
本発明の第1実施形態を説明する。
アクティブ設計値倣い測定の基本的な動作手順はすでに他の文献(例えば特許文献1の
図3等)にも開示されているので以下の説明では本明発の主たる特徴である速度合成ベクトルVの生成について説明することとする。
【0019】
その前に、形状測定システム100の基本的な構成を簡単に説明しておく。
図2は、形状測定システム100の全体構成を示す図である。
形状測定システム100は、三次元測定機200と、三次元測定機200の駆動を制御するモーションコントローラ300と、モーションコントローラ300を制御すると共に必要なデータ処理を実行するホストコンピュータ500と、を備える。
【0020】
三次元測定機200は、定盤210と、移動機構220と、プローブ230と、を備える。
【0021】
移動機構220は、定盤210上をY方向にスライド可能に設けられた門型のYスライダ221と、Yスライダ221のX方向のビームに沿ってスライドするXスライダ222と、Xスライダ222に固定されたZ軸コラム223と、Z軸コラム223内をZ方向に昇降するZスピンドル224と、を備える。
【0022】
Yスライダ221、Xスライダ222およびZスピンドル224には、それぞれ駆動モータ(不図示)とエンコーダ(不図示)とが付設されている。
モーションコントローラ300からの駆動制御信号によって各駆動モータが駆動制御される。エンコーダは、Yスライダ221、Xスライダ222およびZスピンドル224それぞれの移動量を検出し、検出値をモーションコントローラ300に出力する。
Zスピンドル224の下端にプローブ230が取り付けられている。
【0023】
プローブ230は、測定子232を先端側(−Z軸方向側)に有するスタイラス231と、スタイラス231の基端側(+Z軸方向側)を支持する支持部233と、を備える。測定子232は、球状であって、測定対象物Wに接触する。
【0024】
支持部233は、スタイラス231に外力が加わった場合、すなわち測定子232が測定対象物Wに当接した場合にはスタイラス231が一定の範囲内でX、Y、Z軸の各軸方向に移動可能となるようにスタイラス231を支持している。さらに、支持部233は、スタイラス231の各軸方向の位置をそれぞれ検出するためのプローブセンサー(不図示)を備える。プローブセンサは検出値をモーションコントローラ300に出力する。
【0025】
(ホストコンピュータ500の構成)
図3は、ホストコンピュータ500およびモーションコントローラ300の機能ブロック図である。
ホストコンピュータ500は、CPU511(CentralProcessingUnit)やメモリ等を備えて構成され、モーションコントローラ300を介して三次元測定機200を制御する。ホストコンピュータ500には、必要に応じて、出力装置(ディスプレイやプリンタ)および入力装置(キーボードやマウス)が接続されている。
【0026】
ホストコンピュータ500は、さらに、記憶部520と、形状解析部530と、を備える。
記憶部520は、測定対象物(ワーク)Wの形状に関する設計データ(CADデータや、NURBSデータ等)、測定で得られた測定データ、および、測定動作全体を制御する測定制御プログラムを格納する。
【0027】
形状解析部530は、モーションコントローラ300から出力された測定データに基づいて測定対象物の表面形状データを算出し、算出した測定対象物の表面形状の誤差や歪み等を求める形状解析を行う。
また、形状解析部530は、設計データ(CADデータや、NURBSデータ等)を利用して「設計値倣い経路」を算出する演算処理も担うのであるが、本実施形態の特徴の1つとして、「設計値倣い経路」に改良を加えている。
【0028】
倣い測定にあたって倣い測定の経路(設計値倣い経路)を予め用意する必要があるが、本実施形態における倣い測定の経路(設計値倣い経路)というのは従来のようなただの「曲線」データではなく、測定対象面の法線の情報も合わせ持った経路面データとも言えるものである。具体的にいうと、本実施形態における「設計値倣い経路」は、法線の情報も加味された倣い測定の経路曲線のことである。
【0029】
設計値倣い経路の算出を解説する。
形状解析部530は、外部のCADシステム等から経路情報を含んだCADデータ(例えばNURBS(Non−UniformRationalB−Spline:非一様有理Bスプライン)データ)を受け取り、このCADデータを点の集まりのデータに変換する。
各点のデータは、座標値(x、y、z)と法線方向(P、Q、R)とを組み合わせたデータである(つまり、(x、y、z、P、Q、R)である。)。
本明細書では、以後の説明のため、(x、y、z、P、Q、R)の情報をもつ点の集まりのデータを輪郭点データと称することにする。
【0030】
次に、各点の座標値を法線方向に所定量だけオフセットする。所定量とは、具体的には、測定子半径r―押込み量Epである。このようにして求めた点の集まりのデータをオフセット済み輪郭点データと称することにする。
ちなみに、オフセット済み輪郭点データの段階では、もちろん、法線方向(P、Q、R)の情報も含まれている。
輪郭点データ上の座標値(x、y、z)をオフセットした座標を座標値(x'、y'、z')で表わすことにすると、オフセット済み輪郭点データは、(x'、y'、z'、P、Q、R)の情報をもつ点の集まりのデータである。
【0031】
そして、形状解析部530は、オフセット済み輪郭点データを所定次数の多項式曲線群に変換する。
ここでは、多項式として三次関数を用い、PCC曲線群(ParametricCubicCurves)とする。
オフセット済み輪郭点データは(x'、y'、z'、P、Q、R)の情報をもつ点の集まりのデータであったが、PCC曲線の算出には各点での法線の情報は必要なく、座標値(x'、y'、z')だけを用いてPCC曲線は算出される。
さらに、形状解析部530は、PCC曲線を適宜分割し、分割PCC曲線群とする。PCC曲線をどこで分割するかについて本実施形態では特段限定しないが、例えば一定長さごとにPCC曲線を分割してもよいし、曲率がある閾値を超えて変化するような場合に変曲点の付近で分割するようにしてもよい。
この分割PCC曲線群というのは、曲線の集まりであり、これだけであれば従来の設計値倣い経路と同じである。
【0032】
本実施形態では、設計値倣い経路の情報として、さらに、法線の情報を追加することとした。
形状解析部530は、分割されたPCC曲線のセグメント(区間)ごとに平均の法線方向を算出する。
オフセット済み輪郭点データには法線の情報も含まれているのであるから、各座標の法線ベクトルを合成してから割り算すればセグメント(区間)ごとの平均の法線ベクトルNwが求められる。
分割されたPCC曲線のセグメント(区間)ごとに算出された平均の法線方向を「設計値法線方向」と名付けることにする。
【0033】
倣い測定の経路であるPCC曲線自体はただの線であるからこの線自体に対して法線というものは存在しないが、測定対象となる面にはもちろん法線があり、ワーク(測定対象物)の設計データであるCADデータには面の向き(法線)の情報が含まれている。つまり、形状解析部530は、PCC曲線の算出とは別の作業としてオフセット済み輪郭点データから法線の情報を取り出して区間ごとの平均法線(設計値法線方向)を求めるわけである。
【0034】
例えば、
図4のような階段状の測定対象物Wがあって、階段を昇るように下段面F1、下斜面F2、中段面F3、上斜面F4、上段面F5を順に倣い測定する経路を考えてみる。
下段面F1を倣い測定する経路であるPCC曲線(ここでは直線である)を第1区間経路L1とし、下斜面を倣い測定する経路であるPCC曲線(ここでは直線)を第2区間経路L2とし、以下同様に付番する。
第1区間経路L1の法線方向というのは、すなわち、下段面F1の法線方向Nw1のことである。同様に、第2区間経路L2の法線方向というのは、すなわち、下斜面F2の法線方向Nw2のことである。
PCC曲線(経路)自体に「法線」というものは存在しないのであるが、設計値法線方向は、PCC曲線(経路)が測定対象とする面の法線のことである。
【0035】
念のためもう一例挙げる。
図5のように、表面が波打つように設計された測定対象物があって、表面を倣い測定する経路(PCC曲線)を考えるとする。
左から適宜PCC曲線を分割して、第1区間経路L1、第2区間経路L2、・・・とする。
例えば第1区間経路L1を考えてみると、第1区間経路L1が測定対象とする面は曲がっているので経路上の点ごとに面の法線の向きは異なるが、この区間で法線の平均の向きを算出することはできる。
このように算出された平均の法線ベクトルNwが区間経路ごとの設計値法線方向ベクトルNwiである。そして、分割PCC曲線群と各セグメントの設計値法線方向ベクトルNwとを対にし、これにより「設計値倣い経路」が得られる。
【0036】
(モーションコントローラ300の構成)
モーションコントローラ300は、経路データ取得部310と、カウンタ部320と、移動指令生成部330と、駆動制御部340と、を備える。
【0037】
経路データ取得部310は、ホストコンピュータ500から設計値倣い経路データを取得する。
カウンタ部320は、エンコーダから出力される検出信号をカウントして各スライダの変位量を計測するとともに、各プローブ230センサから出力される検出信号をカウントしてプローブ230(スタイラス231)の変位量を計測する。
計測されたスライダおよびプローブ230の変位から測定子232の座標位置PP(以下、プローブ位置PP)が得られる。
また、カウンタ部320にて計測されたスタイラス231の変位(プローブセンサの検出値(Px,Py,Pz))から、測定子232の押込み量(ベクトルEpの絶対値)が得られる。
【0038】
移動指令生成部330は、プローブ230(測定子232)で被測定物表面を測定するためのプローブ230(測定子232)の移動経路を算出し、その移動経路に沿った速度ベクトルを算出する。
移動指令生成部330は、各測定方式(測定モード)に応じた経路を算出する機能部をそれぞれ具備している。
具体的には、パッシブ設計値倣い測定、アクティブ設計値倣い測定、自律倣い測定、ポイント測定、の4つがある。
本実施形態に関係するのは、アクティブ設計値倣い測定である。
【0039】
駆動制御部340は、移動指令生成部330にて算出された移動ベクトルに基づいて、各スライダを駆動制御する。
【0040】
なお、モーションコントローラ300には、手動コントローラ400が接続されている。
手動コントローラ400は、ジョイスティックおよび各種ボタンを有し、ユーザからの手動入力操作を受け付け、ユーザの操作指令をモーションコントローラ300に送る。この場合、モーションコントローラ300(駆動制御部340)は、ユーザの操作指令に応じて各スライダを駆動制御する。
【0041】
図6は、アクティブ設計値倣い測定の全体制御フローチャートである。
ホストコンピュータ500にて設計値倣い経路データが生成され、生成された設計値倣い経路データはモーションコントローラ300に送られる(ST100)。そして、モーションコントローラ300は、この設計値倣い経路データに沿った経路でワーク表面をアクティブ設計値倣い測定するための移動指令である速度合成ベクトルVを生成していく(ST200)。
【0042】
(速度合成ベクトルVの生成)
さて、速度合成ベクトルVの生成について説明する。
図7は、速度合成ベクトルVを生成する手順を説明するためのフローチャートである。
速度合成ベクトルVは、経路速度ベクトルVf(ST210)と、押込み修正ベクトルVe(ST220)と、第2軌道修正ベクトルVc2(ST230)と、を合成したものである。
ここで、第2軌道修正ベクトルVc2(ST230)は従来技術にはなく,本発明で初めて導入されるものである。
【0043】
まず、経路速度ベクトルVfを生成する(ST210)
設計値倣い経路上に補間点iと次の補間点(i+1)があるとして、経路速度ベクトルVfの向きは、点iから点(i+1)に向かう方向として与えられる(
図8参照)。
また、経路速度ベクトルVfの大きさは、例えば点iにおける設計値倣い経路の曲率に応じて設定される(特許文献:特開2014−21004)
なお、設計値倣い経路上にある点Pについては後述する。
【0044】
次に押込み修正ベクトルVeを生成する(ST220)。
押込み修正ベクトルVeは次の式で表される。
【0046】
Epはプローブ出力から得られるプローブ変位ベクトルである。
Ep=(xp、yp、zp)
したがって、プローブの押込み量|Ep|は、次のようになる。
【0048】
euは、プローブ出力から得られるプローブ変位方向の単位ベクトルであるとする。
【0050】
すると、押込み量|Ep|を基準押込み量E
0に保つための押込み修正ベクトルVeは、上式(2)で表される。
なおKは、任意の係数である。
【0051】
次に第2軌道修正ベクトルVc2を生成する(ST230)。
図9は、第2軌道修正ベクトルVc2を生成する手順を説明するためのフローチャートである。
図9のフローチャートに沿って第2軌道修正ベクトルVc2について説明する。
第2軌道修正ベクトルVc2を求めるにあたって、まずは、第1軌道修正ベクトルVc1を算出しておく。この第1軌道修正ベクトルVc1は従来(特開2013−238573)における軌道修正ベクトルVcと同じで、説明のために名称を変更しただけである。
プローブ位置Ppから設計値倣い経路に垂線を下ろす(
図8参照)。垂線の足をPとする。プローブ位置Ppから点Pに向かう方向のベクトルが第1軌道修正ベクトルVc1である。
【0052】
本実施形態では、この第1軌道修正ベクトルVc1をそのまま使用するのではなく、軌道修正に有効な成分のみを取り出して使用する。
ST232において、プローブ変位方向の単位ベクトルeuを取得する。
プローブ変位方向の単位ベクトルeuについては、押込み修正ベクトルVeの生成にあたって説明済みである。
次にST233において、経路速度ベクトルVfを取得する。
経路変数ベクトルVfもST210で説明済みである。
【0053】
プローブ変位方向の単位ベクトルeuと経路速度ベクトルVfとを用いて軌道修正方向ベクトルqを算出する(ST234)。
軌道修正方向ベクトルqとは、プローブ変位方向の単位ベクトルeuと経路速度ベクトルVfとの外積に平行な単位ベクトルである。
図8において、経路速度ベクトルVfとプローブ変位方向の単位ベクトルeuとが紙面上にあるとすると、軌道修正方向ベクトルqは紙面に垂直な方向となる。
【0055】
なお、「Vf×eu」としたが、矢線の向きは重要でなく、「eu×Vf」としてもよい。
【0056】
さて、第2軌道修正ベクトルVc2とは、第1軌道修正ベクトルvc1のq方向成分のことである。すなわち、第1軌道修正ベクトルVc1と軌道修正方向ベクトルqとの内積を(Vc1・q)で表すと、第2軌道修正ベクトルVc2は次のように表される(ST235)。
【0058】
このようにして第2軌道修正ベクトルVc2が生成される。
図10は各ベクトルの相対的な方向関係を示す一例である。
第2軌道修正ベクトルVc2はプローブ変位方向の単位ベクトルeuおよび経路速度ベクトルVfと直交する方向にあることが理解できるであろう。
【0059】
第2軌道修正ベクトルVc2が得られたので、
図7のフローチャートに戻り、ゲインGf、Ge、Gcを決定する(ST240)。
ゲインGf、Ge、Gcはそれぞれ予めきめられた関数によって適宜調整される(例えば特開2013−238573)。
例えば、Gfは軌道ずれや押し込みずれが大きいときは、小さくなるように調整される。
【0060】
次に、ST250として第2軌道修正ベクトルVc2の向きを符号決定関数sg(p)によって決定する。符号決定関数sg(p)のpは、第2軌道修正ベクトルVc2と設計値法線方向ベクトルNwとの内積である。
【0062】
そして、内積pが0以上のとき、符号決定関数sg(p)の値は"+1"である。すなわち、第2軌道修正ベクトルVc2と設計値法線方向ベクトルNwとの開き角が90度未満のとき、第2軌道修正ベクトルVc2は、そのままの符号で速度合成ベクトルVに組み込まれる。
【0063】
その一方、内積pが0より小さい(0未満)のとき、符号決定関数sg(p)の値は"−1"である。すなわち、第2軌道修正ベクトルVc2と設計値法線方向ベクトルNwとの開き角が90度以上のとき、第2軌道修正ベクトルVc2は、反転してから速度合成ベクトルVに組み込まれる。
この符号決定関数sg(p)が果たす役割については後述の動作例のなかで明らかになる。
【0064】
そして、経路速度ベクトルVf、押込み修正ベクトルVeおよび第2軌道修正ベクトルVc2を合成して速度合成ベクトルVが算出される(ST260)
【0065】
この速度合成ベクトルVに基づいてプローブ230の移動を制御すれば(ST300)、押込み量を一定とするアクティブ設計値倣い測定が実現する。
【0066】
このような速度合成ベクトルVを用いることによる効果を説明する。
従来のごとく第1軌道修正ベクトルVc1を用いた制御は、軌道修正として最も素直であり、計算量も少ないのであるが、プローブ230の挙動が振動的になる場合があり得た。
例えば、
図1や
図10を見てわかるように、第1軌道修正ベクトルVc1は、押込み修正ベクトルVeや経路速度ベクトルVfに対して逆向きの成分を持つ場合があり得る。
実際の場面では、第1軌道修正ベクトルVc1と押込み修正ベクトルVeとが逆向きになって互いに干渉することが多い。
押込み修正ベクトルVeはワーク表面の凹凸に応じて時々刻々と向きが変わるからである。
【0067】
第1軌道修正ベクトルVc1が押込み修正ベクトルVeあるいは経路速度ベクトルVfに対して逆向きの成分を持つ場合、第1軌道修正ベクトルVc1、押込み修正ベクトルVeおよび経路速度ベクトルVfを合成すると、それぞれの成分が干渉し合ってプローブ230の挙動が不安定になる。
ここでゲインGf、Ge、Gcをうまく調整して、第1軌道修正ベクトルVc1、押込み修正ベクトルVeおよび経路速度ベクトルVfの相互干渉ができる限り小さくなるようにすることも考えられる。
しかし、互いの干渉が小さくなるようにゲインGf、Ge、Gcのうちのいずれかを小さくしてしまうと、合成速度ベクトルV自体が小さくなってしまうのであるから、必然的に軌道修正能力が小さくなってしまうことになる。
【0068】
対して、本実施形態では、第2軌道修正ベクトルVc2はプローブ変位方向の単位ベクトルeuおよび経路速度ベクトルVfに直交する方向となるようにした。したがって、第2軌道修正ベクトルVc2が押込み修正ベクトルVeおよび経路速度ベクトルVfと干渉することはもはやなく、制御が安定する。
【0069】
なお、ここでは、第2軌道修正ベクトルVc2の符号である符号決定関数sg(p)については触れなかったが、符号決定関数sg(p)の値が+1でも−1でも第2軌道修正ベクトルVc2は押込み修正ベクトルVeおよび経路速度ベクトルVfに直交するのであり、符号の如何に関わらず、第2軌道修正ベクトルVc2が押込み修正ベクトルVeや経路速度ベクトルVfと干渉することはない。
符号決定関数sg(p)の符号の役割については後ほど説明する。
【0070】
(対比例)
第2軌道修正ベクトルVc2の効果がより明瞭になると思うので、対比例をひとつ紹介しておく。
この対比例は、第1軌道修正ベクトルVc1の改良として一度は検討したが、別の問題が判明したために実施に至らなかったものである。
対比例としては、第1軌道修正ベクトルVc1を準軌道修正ベクトルVc1'としたものである。
準軌道修正ベクトルVc1'は、第1軌道修正ベクトルVc1のうちのプローブ変位方向単位ベクトルeuに直交する成分を抽出したものである。
図11の破線囲み内に各ベクトルの方向の一例を示した。
式として表現すると次のようになる。
【0072】
準軌道修正ベクトルVc1'は押込み修正ベクトルVeに対して直交するベクトルになっている。したがって、第1軌道修正ベクトルVc1と押込み修正ベクトルVeとの干渉に起因するプローブ230の振動的挙動は解消できる。
【0073】
しかし、別の問題が生じる。
例えば
図11のように坂を登るような場合が典型的であるが、準軌道修正ベクトルVc1'が経路速度ベクトルVfと反対方向の成分を持ってしまう場合があり得る。
ワークと設計値とのズレがやや大きかったり、坂の傾斜が大きかったりすると、準軌道修正ベクトルVc1'が経路速度ベクトルVfよりも大きくなってしまい、プローブ230が坂を乗り越えられないおそれがある。
例えば、登り坂の傾斜が20°を越えると制御が難しくなる。
【0074】
この点、第2軌道修正ベクトルVc2は押込み修正ベクトルVeだけでなく経路速度ベクトルVfにも直交する。したがってワーク表面の形状がいかなるものであっても安定したアクティブ設計値倣の測定を実現できるようになる。
【0075】
(符号決定関数sg(p)の役割)
上記に説明したように、第2軌道修正ベクトルVc2の採用により倣い測定の制御が安定するようになったのであるが、本発明者らは更に第2軌道修正ベクトルVc2の符号を工夫することでオペレータが意図した通りの測定が実行されるように改良を加えた。
まずは、符号決定関数sg(p)を導入しない場合を考えてみる。
【0076】
いま、
図4の測定対象物の下段面をXII−XII線で切断したところを
図12に示す。
設計データ上では下段面F1は平坦に設計されているとしても、工作機械の加工誤差があるわけであるから実際のワークW(測定対象物)では例えば
図12に示すように下段面F1が極僅かに湾曲してしまうことがある。
(三次元測定機200は、このような加工誤差を測定で検出するためにある。)
図12の例では、設計データよりも削り過ぎており、なおかつ、平坦であるべき面F1が僅かに湾曲している。
なお、加工誤差(湾曲)は極めて僅かであり、オペレータにはほぼ見えない。
【0077】
このようなワーク(測定対象物)Wに対し、予め用意された倣い経路Lに沿ってアクティブ設計値倣い測定を行うとする。三次元測定機200は測定指令に従ってプローブ230を下段面F1にアプローチさせ、さらに、押込み量を調整しながらプローブ230を設計値倣い経路L1に沿って移動させる。
【0078】
ここで、
図12の断面図において、速度合成ベクトルVを構成する各ベクトルの方向について検討してみる。
経路速度ベクトルVfの方向は、第1区間経路L1に沿う方向であり、
図12では紙面に垂直方向である。
押込み修正ベクトルVeの方向は、押込み量を修正するのであるから、ワーク(測定対象物)Wの表面F1に対して垂直な方向である。ここでは下段面F1が湾曲しているので、それに伴って押込み修正ベクトルVeの方向は僅かに斜めになっている。
【0079】
さて、軌道修正方向ベクトルqは、押込み修正ベクトルVeと経路速度ベクトルVfとの両方に垂直な方向であるから、ワーク(測定対象物)Wの表面F1に沿う方向であり、
図12では湾曲した傾斜面を昇る(あるいは降りる)方向である。さらに、第1軌道修正ベクトルVc1の方向は測定子232の中心から設計値倣い経路L1に向かう方向であり、
図12では上向きの方向である。
第2軌道修正ベクトルVc2は、第1軌道修正ベクトルVc1のq方向成分のことであるから、
図12の例ではワークWの湾曲の傾斜面を昇る方向になる。
【0080】
第2軌道修正ベクトルVc2による軌道修正により、プローブ230はオペレータが意図した経路よりも僅かに左にずれたラインを倣い測定することになるだろう(
図13参照)。
第2軌道修正ベクトルVc2の作用による軌道修正で見いだされるラインは、客観的に見れば、設計値倣い経路L1に最も近い測定経路である。つまり、第2軌道修正ベクトルVc2の作用により、ワーク表面において設計値倣い経路Lに最も接近するようにプローブ230は移動することになる。
図12の例では、ワークが設計データよりも小さく削られていたのでプローブ230は傾斜面を昇る向きにずれたが、ワークWが設計データよりも大きかった場合には逆にプローブ230は傾斜面を下る方向にずれて、設計値倣い経路L1に最も近いところで落ち着くだろう。
【0081】
第2軌道修正ベクトルVc2による軌道修正により、プローブ230はオペレータが意図した経路よりも僅かにずれた経路を倣い測定することになるかもしれないが、加工誤差が小さかったり、測定対象面の曲率が小さく十分に平坦面に近似していたりすれば、それほど大きな問題ではないもといえる。
実際の倣い測定の経路が設計値倣い経路から僅かにずれていても、測定したい面を測定できるので測定の目的は果たしているといえる。
【0082】
典型的に問題になるのは、次のようなケースである。
図14(A)のように、薄板や壁の側面や端面を加工したときに設計データよりも削りが浅く、なおかつ、大きな曲率の面F10が残ってしまっているような場合である。
このような端面F10を予め設定された設計値倣い経路Lに沿って倣い測定しようとすると、前述のように、プローブ230は設計値倣い経路Lに最も近付くように移動していく。すると、プローブ230は、端面F10からするすると降りるように移動し、側面に近いところを測定してしまうようなことになる(
図14(B)参照)。
なお、右側(PS1)に降りるか左側(PS2)に降りるかは偶発的に決まる。
【0083】
さて、第2軌道修正ベクトルVc2の符号を符号決定関数sg(p)によって決定する。
図15を参照していただくと分かるように、設計値法線方向ベクトルNwに対して90度を超える開き角でプローブ230が斜面を下ろうとするとき、設計値法線方向ベクトルNwと第2軌道修正ベクトルVc2との内積pの値は負の値になる。
このとき、符号決定関数sg(p)の値は「−1」をとり、第2軌道修正ベクトルVc2の方向が反転する。このように、第2軌道修正ベクトルVc2がその向きを反転させることにより、端面F10の稜線に向けてフィードバックがかかり、プローブ230は大きな曲率をもった端面F10の稜線からほぼ外れずにこの端面の形状を倣い測定する。
【0084】
このように第2軌道修正ベクトルVc2の向きを反転させたりしても制御が破綻しないのは、押込み修正ベクトルVeおよび経路速度ベクトルVfと干渉しない第2軌道修正ベクトルVc2を用いるようにしたからである。このことにより、場合に応じて第2軌道修正ベクトルVc2の向きを変え、オペレータが意図した倣い測定が実現されるようになった。
【0085】
上記に説明したのは典型的な一例であるが、第2軌道修正ベクトルVc2の符号を符号決定関数sg(p)で決定するようにすると、プローブ230の倣い経路は、押込み修正ベクトルVeと設計値法線方向ベクトルNwとが平行になるところに収束していく。
例えば、
図12から
図15に例示したような曲面を本実施形態の制御方法で倣い測定すると、プローブ230は斜面を登っていき、測定対象面上で設計値倣い経路Lに近いところにある稜線に落ち着くことになる。すなわち、押込み修正ベクトルVeと設計値法線方向ベクトルNwとが平行になるところに収束する。
このことは、本実施形態の適用により、ユーザが意図したプローブ230の押込み方向(すなわち設計値法線方向ベクトルNwの方向)で測定対象面の形状(たとえば凹凸やうねり)を測定できるようになるということである。
【0086】
(変形例)
同様のことは、例えば、
図16のように細溝を加工するときに、設計データよりも削り過ぎ、かつ、底面に大きな曲率の面F11ができてしまうような場合も起こり得る。
ただし、この場合は、符号決定関数sg(p)の符号を逆にし、設計値法線方向ベクトルNwと第2軌道修正ベクトルVc2との内積pの値が正の値のときに、符号決定関数sg(p)の値を「−1」にして第2軌道修正ベクトルVc2の方向を反転させることになる。すると、溝の底面に向けてフィードバックがかかり、プローブ230は曲率をもった溝の底面F11からほぼ外れずにこの底面F11の形状を倣い測定する。
【0087】
なお、本発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。