(57)【特許請求の範囲】
【請求項１】
テーブルに取付けられたワーク（加工物）に対して直線軸３軸と傾斜回転軸と旋回回転軸の回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、
ワークを設置した時の設置誤差を補正するワーク設置誤差補正手段を備え、
前記ワーク設置誤差補正手段は、前記直線軸３軸と前記回転軸２軸の指令数値に基づいて工具の指令座標系上の位置と方向を計算する工具位置方向計算手段と、
前記工具位置方向計算手段で計算された工具の指令座標系上の位置と方向とが設置誤差を有するワーク上で保たれるように、ワークを設置した時の設置誤差に対応してあらかじめ設定した誤差量によって前記直線軸３軸と前記回転軸２軸に対する誤差補正を行う誤差補正手段と、
前記傾斜回転軸位置が０度の位置が特異点である前記５軸加工機において指令始点と指令終点の二つの指令位置の間で前記傾斜回転軸指令の符号が反転する場合に前記二つの指令位置の間で前記傾斜回転軸指令が特異点を越えて反対側にあり特異点を通過する必要があると判断する、または前記傾斜回転軸位置が０度でない位置が特異点である前記５軸加工機において前記二つの指令位置の間で前記傾斜回転軸指令に関して（指令始点−特異点）と（指令終点―特異点）の符号が反転する場合に前記二つの指令位置の間で前記傾斜回転軸指令が特異点を越えて反対側にあり特異点を通過する必要があると判断する特異点通過判断手段と、
前記特異点通過判断手段にて特異点を通過する必要があると判断した場合には、前記誤差補正手段による補正を行った結果の経路においても前記二つの指令位置の間で前記傾斜回転軸が特異点を通過する特異点通過経路とする特異点通過経路作成手段を備え、
前記ワーク設置誤差補正手段によって求めた直線軸３軸と回転軸２軸の座標値に基づいて各軸を駆動することを特徴とするワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項２】
前記特異点通過経路作成手段は、現在選択されている解から他方の解に移行する位置を判別する解移行開始位置判別手段と、
前記回転軸２軸の座標系における他方の解へ移行するための解移行手段を有することを特徴とする請求項１に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項３】
前記特異点通過経路作成手段は、現在選択されている解による補正始点から他の解による補正終点への経路を作成することを特徴とする請求項１に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項４】
前記解移行開始位置判別手段は、選択されている解が指令経路上の特異点へ最も近づく特異点最接近位置が解移行開始位置であると判別することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項５】
前記解移行開始位置判別手段は、前記傾斜軸の補間位置と特異点との距離が閾値以内になった時に解移行開始位置であると判別することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項６】
前記解移行開始位置判別手段は、前記傾斜軸の誤差補正位置と特異点との距離が閾値以内になった時に解移行開始位置であると判別することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項７】
前記特異点最接近位置とは、前記回転軸２軸の座標系における前記回転軸２軸の位置と特異点位置の距離が最も小さくなる位置である請求項４に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項８】
前記特異点最接近位置とは、前記回転軸２軸の座標系における前記回転軸２軸のそれぞれの位置と特異点位置間の絶対値を加算した量が最も小さくなる位置であることを特徴とする請求項４に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項９】
前記解移行手段は、指令位置としては前記解移行開始位置の指令位置に対して前記回転軸２軸の座標系において指令経路上の特異点に関して点対称位置であり、かつ解としては他方の解へ直線で移行する経路を作成することで解の移行を実現することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【請求項１０】
前記解移行手段は、指令位置としては前記解移行開始位置の指令位置に対して前記回転軸２軸の座標系において指令経路上の特異点に関して点対称位置であり、かつ解としては他方の解へ曲線で移行する経路を作成することで解の移行を実現することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブルに固定されて取り付けられたワーク（加工物）に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置に関する。
【背景技術】
【０００２】
テーブルに取り付けられたワーク（加工物）を直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、各軸の座標値を制御する方法として、工具の位置、工具の方向および速度をテーブルに固定された直交座標系（テーブル座標系）上で指令し、これを機械の制御点における各軸の座標値に座標変換して制御する方法である工具先端点制御が知られている（特許文献１参照）。
【０００３】
工具先端点制御では、工具の位置と速度が制御され、工具方向は各回転軸の位置を補間することによって制御される。ここで、工具方向の制御において回転軸の動作が不安定になる場合がある。例えば、回転軸２軸のうち１軸の位置が任意（不定）となる特異点（特異点姿勢）が存在する機械において工具方向制御を行っているときに、指令ブロック途中の工具方向が特異点近くを通過する指令を行った場合、特異点近くにおいて回転軸の速度や加速度が非常に大きくなる場合がある。  
特異点の問題を解決するために例えば、特許文献２〜特許文献５に開示される技術がある。これらについては、発明が解決しようとする課題の中で言及する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１９５９１７号公報
【特許文献２】特開平７−２９９６９７号公報
【特許文献３】特開昭６３−１３２３０７号公報（方式１）
【特許文献４】特開２００９−９３２６９号公報（方式２）
【特許文献５】特開２００９−２３０５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願の明細書では、図１に示されるようなヘッド回転型の５軸加工機で説明する。ただし、５軸加工機にはテーブル回転型やヘッドもテーブルも回転する混合型などもある。また、図１では回転軸２軸をＢ，Ｃ軸としているが、Ａ，Ｂ軸やＡ，Ｃ軸が回転軸２軸である５軸加工機もある。それらの５軸加工機に対してもワークに対する工具の相対的な方向（工具方向）の制御という点では同様であるので、本発明を適用することができる。
【０００６】
テーブルに取り付けられたワーク（加工物）を直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、前記特異点近くで速度や加速度が非常に大きくなる回転軸を旋回回転軸と呼び、他の回転軸を傾斜回転軸と呼ぶ。図１に示されるヘッド回転型の５軸加工機の構成では、Ｂ軸が傾斜回転軸であり、Ｃ軸が旋回回転軸である。Ｚ軸方向の工具方向が指令された時、Ｂ＝０度となるがＣ軸の位置は任意（不定）である。つまり、Ｃ＝０度でもＣ＝１８０度でも工具方向はＺ軸方向である。したがって、Ｂ軸位置が０度の位置が特異点である。ただし、特異点は傾斜回転軸（Ｂ軸）位置が０の時とは限らない。機械構成によっては、Ｂ＝９０度やＢ＝１８０度など他の角度が特異点である場合もある。  
つまり、図１の状態はＢ＝９０度である機械構成の場合は、Ｂ軸が９０度の位置が特異点である。さらに、特異点Ｂ＝０度でも９０度でもなく他の場合もある。以降の説明では図１の状態はＢ＝０度でありＢ軸位置が０度の位置が特異点であるとするが、必ずしも傾斜回転軸位置が０度の位置が特異点とは限らない。
本発明は図１のような工作機械を想定し（図１は、Ｃ＝９０度としている）、図１のように基準ワーク位置に置かれるべきワークが実ワーク位置のように誤差を持って置かれた場合の誤差補正に関する。
【０００７】
この機械においては、直線軸Ｘ，Ｙ，Ｚ軸の動作とともに工具ヘッドがＺ軸回りのＣ軸とＹ軸回りのＢ軸によって回転するようになっている。  
ワークを設置した時のずれやテーブルの傾斜などによって本来のワーク位置に対して実ワーク位置がずれている。そのずれ量は予め測定され、基準機械座標系に対してＸ，Ｙ，Ｚ軸方向の並進誤差量（δｘ，δｙ，δｚ）、Ｘ軸回りの回転誤差量（α）、Ｙ軸回りの回転誤差量（β）、Ｚ軸回りの回転誤差量（γ）分ずれた実機械座標系として設定されている。つまり、基準機械座標系上の基準ワーク位置と実機械座標系上の実ワークの位置が同じとなるように、この誤差量にしたがって基準機械座標系に対する実機械座標系が作成されている。
【０００８】
特許文献２には、加工物の取付誤差補正方法および取付誤差補正装置の技術を開示している。この中では、ワーク（加工物）の設置誤差（取り付け誤差）を補正する手段が開示
されている。この文献の段落「００４３」や段落「００４６」に補正されたＢ軸やＡ軸位置を求めるためにａｒｃｔａｎを使用した計算を行うことが開示されている。しかし、ａｒｃｔａｎは０度から３６０度の間において通常２つの解を持っており、これでは補正されたＢ軸やＡ軸位置は確定しない。この点については例えば特許文献３に開示されているように、直前の解に近い解を選ぶのが一般的である。その方式を方式１とする。
【０００９】
しかし、特許文献３に開示される方式１（直前の解に近い解を選ぶ方式）は、終点位置において指令位置通りの位置に到達しない場合があるという問題がある。そこで、特許文献４では、直前の解に近い解を選ぶのではなく指令に近い解を選ぶ方式が採用されている。この方式を方式２とする。
【００１０】
特許文献４に開示される方式２（指令に近い解を選ぶ方式）の技術思想について説明する。指令数値に基づいて工具の指令座標系上の、つまり、基準機械座標系上の位置と方向を計算する。  
Ｂ＝Ｂｃ，Ｃ＝Ｃｃの時の工具方向（Ｉ，Ｊ，Ｋ）Tは数１式のように求められる。これが、工具の指令座標系上の方向である。ここで「T」は転置を表す記号である。また、ｃｏｓ（Ｃｃ）などの三角関数の表記において自明の場合は（  ）を省略する。
【００１１】
【数１】
0005461980.tif 000002
【００１２】
プログラム指令は基準機械座標系で指令されているので、工具の指令座標系上の位置は直線軸のプログラム指令（Ｘｃ，Ｙｃ，Ｚｃ）そのものである。
【００１３】
次に、数２式のように誤差補正を行う。Ｘ軸回りの回転誤差量（α）、Ｙ軸回りの回転誤差量（β）、Ｚ軸回りの回転誤差量（γ）によって、（Ｉ，Ｊ，Ｋ）Tは（Ｉａ，Ｊａ，Ｋａ）Tと補正される。ここで、回転誤差を補正する順は（α）、（β）、（γ）の順とする。
【００１４】
【数２】
0005461980.tif 000003
【００１５】
同様に、（Ｘｃ，Ｙｃ，Ｚｃ）Tは（Ｘａ，Ｙａ，Ｚａ）Tと補正される。（Ｘｃ，Ｙｃ，Ｚｃ）Tの補正においては、回転誤差の補正とともに並進誤差（δｘ，δｙ，δｚ）の補正も加算される（数３式を参照）。
【００１６】
【数３】
0005461980.tif 000004
【００１７】
数２式によって求められる（Ｉａ，Ｊａ，Ｋａ）Tに対し、それを実現するＢ，Ｃ軸位置Ｂａ，Ｃａは数４式〜数２０式のように計算される。ここで、ａｒｃｃｏｓの計算、ａｒｃｔａｎの計算はともに０度〜１８０度の値を得るものとする。ａｒｃｔａｎの計算におけるｎ＊３６０度の項のｎは整数値であり、３６０度のｎ倍の値を加算した位置も解であることを示す。つまり、Ｃ軸は正負方向に何回転でも動作可能であるが、Ｂ軸は−１８０度〜１８０度内の動作が可能としている。
【００１８】
１）Ｉａ＞０，Ｊａ＞０の場合
解Ａ
【数４】
0005461980.tif 000005
【００１９】
解Ｂ
【数５】
0005461980.tif 000006
【００２０】
２）Ｉａ＜０，Ｊａ＞０の場合
解Ａ
【数６】
0005461980.tif 000007
【００２１】
解Ｂ
【数７】
0005461980.tif 000008
【００２２】
３）Ｉａ＜０，Ｊａ＜０の場合
解Ａ
【数８】
0005461980.tif 000009
【００２３】
解Ｂ
【数９】
0005461980.tif 000010
【００２４】
４）Ｉａ＞０，Ｊａ＜０の場合
解Ａ
【数１０】
0005461980.tif 000011
【００２５】
解Ｂ
【数１１】
0005461980.tif 000012
【００２６】
５）Ｉａ＝０，Ｊａ＞０の場合
解Ａ
【数１２】
0005461980.tif 000013
【００２７】
解Ｂ
【数１３】
0005461980.tif 000014
【００２８】
６）Ｉａ＝０，Ｊａ＜０の場合
解Ａ
【数１４】
0005461980.tif 000015
【００２９】
解Ｂ
【数１５】
0005461980.tif 000016
【００３０】
７）Ｉａ＞０，Ｊａ＝０の場合
解Ａ
【数１６】
0005461980.tif 000017
【００３１】
解Ｂ
【数１７】
0005461980.tif 000018
【００３２】
８）Ｉａ＜０，Ｊａ＝０の場合
解Ａ
【数１８】
0005461980.tif 000019
【００３３】
解Ｂ
【数１９】
0005461980.tif 000020
【００３４】
９）Ｉａ＝０，Ｊａ＝０，Ｋａ＝１の場合
解Ａのみ
【数２０】
0005461980.tif 000021
【００３５】
なお、Ｉａ＝０，Ｊａ＝０，Ｋａ＝−１の場合については、機械構造上そのようなケースが発生しないので記載しない。
【００３６】
ここで、１），２），３），４），５），６），７），８）の場合ごとに解Ａと解Ｂの２組の解があるが、それぞれの解の組およびｎに対して数２１式で示される量Ｄを計算し、最も小さなＤとなる解の組およびｎを選択する。ただし、９）の場合は、解は１組なので数２０式の解を選択する。
【００３７】
【数２１】
0005461980.tif 000022
【００３８】
このことによって、指令値Ｂｃ，Ｃｃに基づいて計算された工具の指令座標系上の方向により近い工具方向が選択される。これが、方式２（指令に近い解を選ぶ方式である特許文献４に開示される技術）の技術思想である。
【００３９】
ここで、方式１（直前の解に近い解を選ぶ方式である特許文献３に開示される技術）と方式２（指令に近い解を選ぶ方式である特許文献４に開示される技術）の差について、具体的な例を挙げて詳述する。
【００４０】
図２に示されるような始点と終点とからなる指令があったとする。なお、次図以降ではヘッドの工具を支持する部分（ＴＳ）と工具のみ描いている。また、Ｂ軸、Ｃ軸位置をわかりやすくするために、ＴＳと工具について少し形状を変更し長く描いている。さらに、工具長＝５００ｍｍで（Ｘ，Ｙ，Ｚ）＝（０，０，０）の位置を加工する例にしている。方式２および本発明は回転軸制御に特徴がある方式であるため、ここでは簡単のためＸ，Ｙ，Ｚの移動指令はない例としているが、通常は回転軸指令とともに直線軸指令もあり、直線軸の移動に対して数３式の誤差補正が行われる。
【００４１】
図２を上から見ると図３のようになる。ここで、図４のようにワークの設置位置においてＹ軸周りに少し誤差（β）があったとする。  
そのことにより、ワークに対する工具の位置と方向が保持されるように誤差を補正した場合、始点終点だけを描くと工具の移動は図５のようになることが期待される。つまり、上からの図として始点終点だけを描くと図６のように補正されることが期待される。なお、以降、簡単のため、斜視図ではなく上からの図とする。
【００４２】
ところが、図７のように方式１（直前の解に近い解を選ぶ方式である特許文献３に開示される技術）では、このような動作が実現できない。ここで、前ブロックにおける補正により、工具はすでに補正始点にあるとしている。また、中間点１Ａ，中間点１Ｂのような各位置における＊＊Ａ，＊＊Ｂの２つの解は１）〜８）の場合における解Ａ，解Ｂに対応する。ここで、＊＊は、中間点１、中間点２、中間点３、補正終点を意味する。
【００４３】
図７（ｄ）における補正終点は図６の「所望補正終点」の反対位置になっている。つまり、終点でのＢ軸、Ｃ軸位置が元の指令位置に対して大きく相違してしまっている。このことは終点に至る加工やそれ以降の加工で誤動作や誤切削が発生したり、障害物に衝突したりする可能性を生じることを意味する。
【００４４】
そこで、図８のように方式２（指令に近い解を選ぶ方式である特許文献４に開示される技術）によってこのような不都合が解決される。なお、ここでは中間点１までは解Ｂより解Ａが指令経路に近く、中間点３以降は解Ｂが指令経路に近いケースとして説明している。もちろん、その逆のケースもある。
【００４５】
図８における指令位置１，２，３および指令終点位置とは、図２、図３において指令された始点から終点へ移動する途中の位置および終点の位置である。指令位置ｎおよび指令終点位置に対してワーク設置誤差を補正する位置が中間点ｎおよび補正終点である。つまり、それぞれ指令位置１，２，３および指令終点位置に対する補正位置が中間点１，２，３および補正終点である。
【００４６】
図８（ｄ）における補正終点は図６の「所望補正終点」になっている。このように、方式２（指令に近い解を選ぶ方式）により、方式１（直前の解に近い解を選ぶ方式）における不都合を解決している。つまり、方式２（指令に近い解を選ぶ方式）には所望の（期待される）補正終点に到達することができるという大きな効果がある。
【００４７】
しかし、図８（ｃ）、図９のように、旋回回転軸（Ｃ軸）に大きな（１８０度近い）移動が発生するのも好ましくない。このことは、β＝−１度の時のＢ，Ｃ軸を座標軸とする経路で表すと図１０のようになる。
【００４８】
指令始点（Ｂ＝−２０度、Ｃ＝９０度）と指令終点（Ｂ＝２０度、Ｃ＝９０度）の指令に対して、補正始点（補正始点Ａ）から開始し、中間点２Ａまでは解Ａが指令に近いので解Ａが選択され、中間点３において指令に近い解Ｂ（中間点３Ｂ）が選択されることにより中間点２Ａから中間点３Ｂへの移動が発生する。中間点３Ｂへ移行後は解Ｂが選択され補正終点Ｂに向かって移動し、最終的には補正終点Ｂに到達する。このように、方式２（指令に近い解を選ぶ方式）には所望の（期待される）補正終点に到達することができるという大きな効果があるが、旋回回転軸（Ｃ軸）に大きな（１８０度近い）移動が発生するのも好ましくない。
【００４９】
なお、方式１（直前の解に近い解を選ぶ方式）では、同様にＢ，Ｃ軸を座標軸とする経路で表すと図１１に示されるようになる。補正始点（補正始点Ａ）から開始し、常に解Ａの経路が直前の解に近いため解Ａが選択され、最終的には補正終点Ａに到達する。このことからも、方式１（直前の解に近い解を選ぶ方式）では指令終点から大きく離れた補正終点Ａに到達することが理解できる。つまり、方式１では到達したい補正終点Ｂでなく補正終点Ａに到達してしまうのである。
【００５０】
また、特許文献５には、経路指令に対して誤差補正を行った経路が特異点近傍を通過するかどうか判断し、特異点近傍を通過する場合と特異点近傍を通過しない場合で動作を分ける方式が記載されている。しかし、特異点近傍を通過する場合と特異点近傍を通過しない場合で動作を分けると、同じ指令経路であっても誤差量のわずかな相違で特異点近傍を通過する場合と特異点近傍を通過しない場合に分かれ実際の動作が大きく相違するケースが出てくる。そのように同じ指令経路にもかかわらず、わずかな誤差量の相違で特異点近傍を通過することになる場合と特異点近傍を通過することにならない場合で実際の動作が大きく相違するのは大きな問題になる。
【００５１】
そこで、本発明の目的は、従来技術の問題点に鑑み、誤差補正後の回転軸は指令位置に近く、かつ回転軸の大きな移動を発生しないで特異点を通過する経路を作成することが可能なワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置を提供することである。
【課題を解決するための手段】
【００５２】
テーブルに取付けられたワーク（加工物）に対して直線軸３軸と傾斜回転軸と旋回回転軸の回転軸２軸によって加工する５軸加工機において、前記テーブルに前記ワークを設置した時の設置誤差を補正する場合、本発明では、指令始点と指令終点の二つの指令位置の間で傾斜回転軸指令が特異点を越えて反対側にある場合は特異点を通過する必要があると判断する特異点通過判断手段と、特異点通過判断手段にて特異点を通過する必要があると判断した場合には、誤差補正を行った結果の経路においても二つの指令位置の間で前記傾斜回転軸が特異点を通過する特異点通過経路とする特異点通過経路作成手段を備えることを特徴とする。
【００５３】
さらに、特異点通過経路作成手段では、選択されている解の適当なところ（実施形態１では、選択されている解が指令経路上の特異点に最も近づくとき）から他方の解へ前記回転軸２軸の座標系における直線または曲線で移行することによって特異点を通過する経路を作成するようにする。
【００５４】
本発明の概要を図１０との対比で説明すると、本発明は、解Ａの適当なところ（実施形態１では、解Ａが指令経路上の特異点に最も近づいたところ）で、解Ａから解Ｂへの移動をできるだけスムーズに行うことができるワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。
【００５５】
本願の請求項１に係る発明は、テーブルに取付けられたワーク（加工物）に対して直線軸３軸と傾斜回転軸と旋回回転軸の回転軸２軸によって加工する５軸加工機を制御する数値制御装置において、ワークを設置した時の設置誤差を補正するワーク設置誤差補正手段を備え、前記ワーク設置誤差補正手段は、前記直線軸３軸と前記回転軸２軸の指令数値に基づいて工具の指令座標系上の位置と方向を計算する工具位置方向計算手段と、前記工具位置方向計算手段で計算された工具の指令座標系上の位置と方向とが設置誤差を有するワーク上で保たれるように、ワークを設置した時の設置誤差に対応してあらかじめ設定した誤差量によって前記直線軸３軸と前記回転軸２軸に対する誤差補正を行う誤差補正手段と、前記傾斜回転軸位置が０度の位置が特異点である前記５軸加工機において指令始点と指令終点の二つの指令位置の間で前記傾斜回転軸指令の符号が反転する場合に前記二つの指令位置の間で前記傾斜回転軸指令が特異点を越えて反対側にあり特異点を通過する必要があると判断する、または前記傾斜回転軸位置が０度でない位置が特異点である前記５軸加工機において前記二つの指令位置の間で前記傾斜回転軸指令に関して（指令始点−特異点）と（指令終点―特異点）の符号が反転する場合に前記二つの指令位置の間で前記傾斜回転軸指令が特異点を越えて反対側にあり特異点を通過する必要があると判断する特異点通過判断手段と、前記特異点通過判断手段にて特異点を通過する必要があると判断した場合には、前記誤差補正手段による補正を行った結果の経路においても前記二つの指令位置の間で前記傾斜回転軸が特異点を通過する特異点通過経路とする特異点通過経路作成手段を備え、前記ワーク設置誤差補正手段によって求めた直線軸３軸と回転軸２軸の座標値に基づいて各軸を駆動することを特徴とするワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。
【００５６】
請求項２に係る発明は、前記特異点通過経路作成手段は、現在選択されている解から他方の解に移行する位置を判別する解移行開始位置判別手段と、前記回転軸２軸の座標系における他方の解へ移行するための解移行手段を有することを特徴とする請求項１に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。  
請求項３に係る発明は、前記特異点通過経路作成手段は、現在選択されている解による補正始点から他の解による補正終点への経路を作成することを特徴とする請求項１に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。  
請求項４に係る発明は、前記解移行開始位置判別手段は、選択されている解が指令経路上の特異点へ最も近づく特異点最接近位置が解移行開始位置であると判別することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。
【００５７】
請求項５に係る発明は、前記解移行開始位置判別手段は、前記傾斜軸の補間位置と特異点との距離が閾値以内になった時に解移行開始位置であると判別することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。  
請求項６に係る発明は、前記解移行開始位置判別手段は、前記傾斜軸の誤差補正位置と特異点との距離が閾値以内になった時に解移行開始位置であると判別することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。  
請求項７に係る発明は、前記特異点最接近位置とは、前記回転軸２軸の座標系における前記回転軸２軸の位置と特異点位置の距離が最も小さくなる位置である請求項４に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。
【００５８】
請求項８に係る発明は、前記特異点最接近位置とは、前記回転軸２軸の座標系における前記回転軸２軸のそれぞれの位置と特異点位置間の絶対値を加算した量が最も小さくなる位置であることを特徴とする請求項４に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。
請求項９に係る発明は、前記解移行手段は、指令位置としては前記解移行開始位置の指令位置に対して前記回転軸２軸の座標系において指令経路上の特異点に関して点対称位置であり、かつ解としては他方の解へ直線で移行する経路を作成することで解の移行を実現することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。
請求項１０に係る発明は、前記解移行手段は、指令位置としては前記解移行開始位置の指令位置に対して前記回転軸２軸の座標系において指令経路上の特異点に関して点対称位置であり、かつ解としては他方の解へ曲線で移行する経路を作成することで解の移行を実現することを特徴とする請求項２に記載のワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置である。
【発明の効果】
【００５９】
本発明により、誤差補正後の回転軸は指令位置に近く、かつ回転軸の大きな移動を発生しないで特異点を通過する経路を作成することが可能なワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置を提供できる。  
また、本発明により、指令始点と指定終点の二つの指令位置の間で前記傾斜回転軸指令が特異点を越えて反対側にあるかどうかはプログラム指令から判断するので、誤差補正量がいくらであっても同じプログラム指令であれば同じ判断がなされる。そのため、わずかな誤差量の相違で大きく誤差補正後の動作が相違することも発生しない。
【図面の簡単な説明】
【００６０】
【図１】工具ヘッド回転型の５軸加工機において、基準ワーク位置に置かれるべきワークが実ワーク位置のように誤差を持って置かれた場合の誤差補正を説明する図である。
【図２】工具ヘッド回転型の５軸加工機において、ヘッドの工具を支持する部分（ＴＳ）と工具のみを描いて説明する図である。
【図３】図２を上から見た図である。
【図４】ワーク設置位置においてＹ軸周りに少し誤差（β）があったとした場合を示す図である。
【図５】ワークに対する工具の位置と方向が保持さえるように誤差を補正した場合、始点終点だけを描いた場合の工具の移動を示した図である。
【図６】図５を上から見た図として始点終点だけを描いた図である。
【図７】方式１（直前の解に近い解を選ぶ方式）での工具を支持する部分（ＴＳ）と工具の動作を説明する図である。
【００６１】
【図８】方式２（指令に近い解を選ぶ方式）での工具を支持する部分（ＴＳ）と工具の動作を説明する図である。
【図９】旋回回転軸（Ｃ軸）に大きな（１８０度近い）移動が発生する好ましくない例を説明する図である。
【図１０】β＝−１度の時の図８，図９の移動をＢ，Ｃ軸を座標軸とする経路で表した図である。
【図１１】方式１（直前の解に近い解を選ぶ方式）で、Ｂ，Ｃ軸を座標軸とする経路で表した図である。つまり、β＝−１度の時の図７の移動をＢ，Ｃ軸を座標軸とする経路で表した図である。
【図１２】本発明の実施形態において、解ＡがＰｓ（指令経路上の特異点）に最も近づいたところで、解Ａから解Ｂへ直線的に移動することを説明する図である。
【図１３】図１２の指令経路に対応する回転軸の補間および誤差計算のみを記載して説明する表である。
【図１４】図１２，図１３の本発明の実施形態１において、図８に対応する回転軸の移動を説明する図である。
【図１５】本発明の実施形態において、解Ａが指令経路上の特異点に最も近づいたところで、解Ａから解Ｂへ滑らかに曲線で移動することを説明する図である。
【図１６】図１５の指令経路に対応する回転軸の補間および誤差計算のみを記載して説明する表である。
【図１７】図１５，図１６の本発明の実施形態２において、図８に対応する回転軸の移動を説明する図である。
【図１８】本発明を適用するテーブル回転型５軸加工機を説明する図である。
【図１９】本発明を適用する混合型５軸加工機を説明する図である。
【図２０】本発明であるワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置の機能ブロック図である。
【図２１】本発明の誤差補正に係る処理のアルゴリズムを示すフローチャートである。
【発明を実施するための形態】
【００６２】
以下、本発明の実施形態を図面と共に説明する。
（本発明の実施形態１）  
本発明の実施形態１は、解ＡがＰｓ（指令経路上の特異点）に最も近づいたところで解Ａから解Ｂへ直線的に移動する場合である。
【００６３】
プログラム指令は指令始点（Ｂ＝−２０度、Ｃ＝９０度）と指令終点（Ｂ＝２０度、Ｃ＝９０度）の直線補間指令とする。特異点はＢ＝０の状態であるので、指令始点（Ｂ＝−２０度、Ｃ＝９０度）と指令終点（Ｂ＝２０度、Ｃ＝９０度）を結ぶ直線とＢ＝０の直線との交点がＰｓ（指令経路上の特異点）である。すなわち、Ｐｓ（Ｂｓ，Ｃｓ）＝（０，０）である。ここで、Ｂｓ，ＣｓはＰｓのＢ，Ｃ軸要素である。  
ここで、特異点通過判断について説明する。  
指令始点と指令終点の２つの指令位置の間で回転軸２軸のうち傾斜回転軸（Ｂ軸）指令の符号が反転する時、それらの指令の間で傾斜回転軸指令が特異点を越えて反対側にあり特異点を通過する必要があると判断する。上記指令では、指令始点ではＢ軸―２０度であり指令終点ではＢ軸２０度であるため、傾斜回転軸指令の符号が反転しているので始点と終点の間でＢ軸指令が特異点を越えて反対側にあり特異点を通過する必要があると判断される。なお、Ｂ軸指令が０度の時には前の指令の符号が継続するとみなす。例えば、指令始点でＢ軸―２０度であり指令終点でＢ軸０度の時は、指令始点と指令終点が特異点を越えて反対側にあるとはみなされない。
ただし、上記説明はＢ＝０度が特異点である場合の説明であり、段落０００６で説明したように、図１の状態はＢ＝９０度である機械構成もある。さらに、特異点はＢ＝０度でも９０度でもなく他の角度の場合もある。そのような５軸加工機においては、傾斜回転軸（Ｂ軸）に関して、（指令始点―特異点）と（指令終点―特異点）の符号が反転するかどうかに着目する。すなわち、傾斜回転軸（Ｂ軸）に関して、（指令始点―特異点）と（指令終点―特異点）の符号が反転すれば、傾斜回転軸指令が特異点を越えて反対側にあり特異点を通過する必要があると判断する。傾斜回転軸（Ｂ軸）に関して、特異点への指令の場合、特異点を越えて反対側にあるとはみなさないのは上記説明と同じである。
【００６４】
図１２において、指定始点（Ｂ＝−２０度、Ｃ＝９０度）と指令終点（Ｂ＝２０度、Ｃ＝９０度）の直線補間指令に対して、誤差補正を行うと補正始点（補正始点Ａ）から開始し、ＰａＡにおいて解ＡとＰｓの距離が最小になるので、解Ａから解ＢのＰａＢへの直線補間を行って解を移行する。ここで、ＰａＡが解移行開始位置、ＰｃＡはＰａＡに対応する指令経路上の点、ＰｃＢはＰｓを中心としたＰｃＡの点対称点、ＰａＢはＰｃＢによる解Ｂの位置である。その後は解Ｂが選択され補正終点Ｂに向かって移動し、最終的には補正終点Ｂに到達する。図１２上、解Ａの経路においてＰａＡはＰｓに最も近い点ではないように見えるが、Ｂ，Ｃ軸のスケールを合わせるとＰｓに最も近い点である。
なお、繰り返しになるが、段落００４４で述べたように、ここでは解移行まで解Ｂより解Ａが指令経路に近く、解移行後は解Ｂが指令経路に近いケースとして説明している。もちろん、その逆のケースもある。
【００６５】
具体的な補間データとしては図１３のようになる。図１３において、β＝−１として、指令始点（Ｂ＝−２０度、Ｃ＝９０度）と指令終点（Ｂ＝２０度、Ｃ＝９０度）の直線補間指令に対して各補間周期での角度変化（Δτ）＝０．４度としている。したがって、ＮＯ．０（指令始点での補間データ）からＮＯ．１００（指令終点での補間データ）までΔτ（０．４度）ずつ補間される。これは、補間周期を１ｍｓｅｃとすれば２４０００度／分の速度に相当する。
【００６６】
図１３において各行の補間および誤差補正計算は次のように行われる。Ｂｃ，ＣｃがＢ，Ｃ軸に関して指令始点から指令終点までΔτ（０．４度）ずつ補間されるデータである。この例では、Ｂｃのみが変化する。各補間周期において補間されたＢｃ，Ｃｃに対して、誤差補正計算を行う。つまり、数１式によって（Ｉ，Ｊ，Ｋ）が計算される。（Ｉ，Ｊ，Ｋ）から数２式によって（Ｉａ，Ｊａ，Ｋａ）が計算される。（Ｉａ，Ｊａ，Ｋａ）から数４式〜数２０式によって解Ａ（ＢａＡ，ＣａＡ），解Ｂ（ＢａＢ，ＣａＢ）が計算される。
【００６７】
したがって、ＮＯ．０における解Ａ（ＢａＡ，ＣａＡ）が補正始点Ａであり、解Ｂ（ＢａＢ，ＣａＢ）が補正始点Ｂであり、ＮＯ．１００における解Ａ（ＢａＡ，ＣａＡ）が補正終点Ａであり、解Ｂ（ＢａＢ，ＣａＢ）が補正終点Ｂである。Ｂｃ，Ｃｃを得るのが補間の計算であり、それらから解Ａ，解Ｂを得るのが誤差補正の計算である。  
ここで、ＮＯ．１から順に補間および誤差補正計算を行うにあたり、解Ａ（ＢａＡ，ＣａＡ）とＰｓとの距離（Ｌ０）の増減変化をチェックする。距離（Ｌ０）は数２２式で計算される。
【００６８】
【数２２】
0005461980.tif 000023
【００６９】
解Ａ（ＢａＡ，ＣａＡ）とＰｓとの距離（Ｌ０）の増減変化をチェックするのはその２乗の増減変化をチェックするのと同等であるので、図１３上では数２３式で表される値Ｌをチェックしている。
【００７０】
【数２３】
0005461980.tif 000024
【００７１】
ＮＯ．１，ＮＯ．２，・・・と値Ｌは単調減少しているが、補間周期ＮＯ．３１からＮＯ．３２で増加に転じている（図１３中、背景灰色となっている部分）。そのため、ＮＯ．３１が最小であると判断する。計算誤差によって増加に転じていると誤った判断をする可能性があるならば、あと数回の仮の補間を行ってから、減少から増加に転じたと判断してよい。したがって、ＮＯ．３１の（Ｂｃ，Ｃｃ）がＰｃＡであり、解ＡがＰａＡ、つまり、特異点最接近位置であり解移行開始位置である。
【００７２】
なお、ここで解Ａ（ＢａＡ，ＣａＡ）とＰｓとの距離として数２４式に示されるように、それぞれの項にα，βのような重みを付けてもよい。
【００７３】
【数２４】
0005461980.tif 000025
【００７４】
または数２５式に示されるように、ＢａＡ，ＣａＡとＰｓ間の絶対値の合計としてもよい。
【００７５】
【数２５】
0005461980.tif 000026
【００７６】
そして、Ｂ，Ｃ軸座標系上でのＰｃＡのＰｓに関する点対称位置がＰｃＢであり、それに対して誤差補正計算を行い解Ｂを得ると、それがＰａＢである。つまり、数２６式のようにＰｃＢを求め、それに対して図１３のＮＯ．６９の誤差補正計算を行いＰａＢを求める。
【００７７】
【数２６】
0005461980.tif 000027
【００７８】
そして、ＰａＡからＰａＢに向かって直線補間を行う。直線補間の速度としては、補間周期毎Δτ（０．４度）としてもよいし、ＮＯ．３１の補間周期からＮＯ．３２への補間周期における補間周期あたりの解Ａの変化率を利用してもよいし、別途パラメータ設定しておく速度としてもよい。ここでは、元の補間間隔でＰａＡからＰａＢへの直線補間を行うとする。
【００７９】
ＰｃＡからＰｓに到達するのに要する補間および誤差計算の回数は、数２７式で表される。数２７式で、右辺の分子はＢ，Ｃ軸上のＰｃＡとＰｓとの距離である。つまり、Ｎｉは図１３の補間および誤差計算において、ＰｃＡからＰｓに到達するのに要する補間および誤差計算の回数である。
【００８０】
【数２７】
0005461980.tif 000028
【００８１】
図２の説明でも述べたように、通常は回転軸指令とともに直線軸指令もあり、直線軸の移動に対して数３式の誤差補正を行う。図１３には回転軸の補間および誤差計算のみを記載しているが、各行には通常は同様に直線軸の補間と誤差補正の計算も存在し、ＰｃＡからＰｓに到達する間のその回数はＮｉである。
【００８２】
したがって、ＰａＡからＰａＢへ到達するのに要する補間回数を２＊Ｎｉとしておけば、回転軸がＰａＡからＰａＢに向かって直線補間を行うことと同時に、通常通り直線軸についての補間および誤差補正の計算も行うことが可能である。
【００８３】
Ｂ，Ｃ軸上で、ＰａＡからＰａＢに向かって、Ｎｏ．（３１＋Ｎ）回目（Ｎ＝１，２，・・・，２＊Ｎｉ）の補間点ＰａＩを数２８式のように求めて補間を行う。ＰａＩ（Ｂａ，Ｃａ）はＢ，Ｃ軸に対応してＢａ，Ｃａの要素を持つ。
【００８４】
【数２８】
0005461980.tif 000029
【００８５】
ＰａＡからＰａＢへ直線補間終了後はＰｃＢの次の補間周期にあたるＮｏ．７０の補間周期から指令終点の補間Ｎｏ．１００に向かって補間と誤差補正計算を行うと共に解Ｂを選択する。このようにして、補正終点Ｂに到達する。
【００８６】
図８に対応する回転軸の移動は図１４のようになる。  
図８における中間点２Ａから中間点３Ｂへの大きな回転軸移動（図８（ｃ））が、図１４では（ｂ）から（ｃ）のように少し小さくなっている。元々図８では、誤差補正の様子をわかりやすくするため誤差が大きい（β＝−１５度程度）ことを想定した図となっているため、図８と図１４の差がそれほど大きくならないように見える。しかし、一般的に誤差はもっと小さい（｜β｜＝１度以下、通常はさらに小さく｜β｜＝０．１度以下）ものであり、その場合、図８においては回転軸の１８０度近い動作は避けられないが、図１４での（ｂ）から（ｃ）への回転軸動作はごく小さなものになる。
【００８７】
ここで、本発明と従来技術である方式２（指令に近い解を選ぶ方式）または方式１（直前の解に近い解を選ぶ方式）との関係について補足する。ここまでは、方式２との比較を基礎として本発明を説明してきた。それは、方式２が解の移行を行う技術であり、その点、本発明も同じためである。しかし、本発明の解の移行は方式１にも適用することができる。つまり、本発明の特長である解の移行以外における解を求める方式は方式１であってよい。図１２を見れば、補正始点ＡからＰａＡまでおよびＰａＢから補正終点Ｂまでは方式１を適用しても同じ結果となるためである。
（本発明の実施形態２）  
本発明の実施形態２は、解Ａが指令経路上の特異点に最も近づいたところで、解Ａから解Ｂへ滑らかに曲線で移動する場合である。  
プログラム指令は本発明の実施形態１と同じである。したがって、Ｐｓも同じである。ただし、ＰａＡからＰａＢに向かって曲線で移行する。その後は解Ｂが選択され補正終点Ｂに向かって移動し、最終的には補正終点Ｂに到達する。  
ここで、曲線は解Ａの経路のＰａＡでの接線方向と解Ｂの経路のＰａＢでの接線方向に滑らかに接続するように作成する。
【００８８】
具体的な補間データとしては図１６のようになる。図１６は図１３とほとんど同じであり、同じところは説明を省略する。相違するところは、ＰａＡからＰａＢに向かって曲線で補間することである。曲線で補間する方法としては、次のような方法がある。  
ＰａＡの補間周期の１補間周期前の解ＡをＰｍＡとする。ＰａＡでの速度ＰａＡ’を数２９式のように計算する。
【００８９】
【数２９】
0005461980.tif 000030
【００９０】
ＰａＡ、Ｐｓを通りＰａＡでの速度（接線方向ベクトル）がＰａＡ’であるという３つの条件から２次曲線関数である数３０式を導きＰａＡからＰｓまで補間することができる。ここで、２次曲線関数ｆ（ｔ）（ｔ＝０→１）および係数ω、δ、εはＢ，Ｃの要素を持つベクトルである。
【００９１】
【数３０】
0005461980.tif 000031
【００９２】
ｆ（ｔ）についてＰｓに関して点対称である数３１式として示される関数（ｆ１（ｔ））（ｔ＝１→０）を求めて補間することで、同様にＰｓからＰａＢまで補間することができる。
【００９３】
【数３１】
0005461980.tif 000032
【００９４】
あるいは、ＰａＡ、ＰａＢを通りＰａＡでの速度（接線方向ベクトル）がＰａＡ’であり、ＰａＢでの速度（接線方向ベクトル）はＰａＡ’についてＰｓに関して点対称なＰａＢ’としてそれら４つの条件から数３２式として示される３次曲線ｇ（ｔ）を導き、ＰａＡからＰａＢまで補間することができる。ここで、曲線関数ｇ（ｔ）および係数η、λ、μ、σはＢ，Ｃの要素を持つベクトルである。
【００９５】
【数３２】
0005461980.tif 000033
【００９６】
図８に対応する回転軸の移動は図１７として示される。図１４の説明部分にも記載したが、元々図８では誤差補正の様子をわかりやすくするため誤差が大きい（β＝−１５度程度）ことを想定した図となっている。しかし、一般的に誤差はもっと小さい（｜β｜＝１度以下、通常はさらに小さく｜β｜＝０．１度以下）ものであり、その場合、図１７（ｂ）から図１７（ｃ）への回転軸動作はごく小さくかつ実施形態１に比べて滑らかなものになる。
（本発明の実施形態３）  
本発明の実施形態３は、解Ａの傾斜回転軸位置（補間位置または誤差補正位置）と特異点との距離がある閾値未満になった時に、解Ａから解Ｂへ直線または滑らかな曲線で移動する場合である。
【００９７】
本発明の実施形態１では、特異点最接近位置を解移行開始位置としたが、傾斜回転軸位置（補間位置または誤差補正位置）と傾斜回転軸の特異点位置との差（絶対値）が閾値未満となった時に解Ａから解Ｂへ直線（または滑らかな曲線）で移動するようにしてもよい。つまり、数３３式で示されるＬ３が、数３４式に示されるように閾値（Ｌｓ）より小さくなった時に解Ａから解Ｂへ直線（または滑らかな曲線）で移動するようにしてもよい。
【００９８】
【数３３】
0005461980.tif 000034
【００９９】
【数３４】
0005461980.tif 000035
【０１００】
または、数３５式で示されるＬ４が、数３６式に示されるように閾値（Ｌｓ）より小さくなった時に解Ａから解Ｂへ直線（または滑らかな曲線）で移動するようにしてもよい。ＢａＡはここでは選択されている解ＡのＢ軸位置である。
【０１０１】
【数３５】
0005461980.tif 000036
【０１０２】
【数３６】
0005461980.tif 000037
【０１０３】
閾値は設定値でもよいし、プログラム指令値でもよい。例えば、Ｌｓ＝７．５とすれば、補間と誤差補正の結果は図１３と全く同じになる。補間周期Ｎｏ．３１から補間周期Ｎｏ．３２においてＢｃ＝７．６からＢｃ＝７．２となるので、Ｌ３＝｜Ｂｃ−Ｂｓ（＝０）｜＜７．５となるからである（数３３式、数３４式を使用する場合）。あるいは、ＢａＡについてもＮｏ．３１からＮｏ．３２においてもＢａＡ＝７．６６５１から７．２６８８となるため、結果は同様に図１３と全く同じになる（数３５式、数３６式を使用する場合）。解Ａから解Ｂへ直線または滑らかな曲線で移動する点は、本発明の実施形態１および実施形態２と同じである。
（本発明の実施形態４）  
図１３における補間始点Ａ（現在選択されている解による補正始点）から補間終点Ｂ（他の解による補正終点）への経路を直線や曲線で作成し補間を行い解の移行を行ってもよい。直線や曲線を作成する点は実施形態１や実施形態２で説明したので省略する。
【０１０４】
次に、他の機械構成の場合を説明する。  
図１８のようなテーブル回転型機械の場合、Ｂ軸が傾斜回転軸であり、Ｃ軸が旋回回転軸である。この機械構成では、Ｂ軸によってＢ軸テーブル（およびＣ軸テーブル）が水平になっている時が特異点である。  
図１９のような混合型機械（工具側に回転軸１軸、テーブル側に回転軸１軸を持つ機械）の場合、Ｂ軸が傾斜回転軸であり、Ｃ軸が旋回回転軸である。この機械構成では、Ｂ軸によって工具がテーブルに対して垂直方向になっている時が特異点である。
【０１０５】
次に、図２０を用いて本発明であるワーク設置誤差補正手段を有する５軸加工機を制御する数値制御装置の機能ブロック図を説明する。数値制御装置１０は、指令解析部１１、補間部１２、誤差補正部１３、補正誤差量設定手段１４、特異点通過判断手段１５、特異点通過経路作成手段１６、解移行開始位置判別手段１７、解移行手段１８を備えている。
【０１０６】
この数値制御装置１０は、指令解析部１１で解析され、補間部１２で補間され得られた指令数値（つまり、Ｘ，Ｙ，Ｚ，Ｂ（Ａ），Ｃ軸位置）に対して、誤差補正部１３でワークの設置誤差を補正する形態である。特異点通過判断手段１５は、プログラム指令における各ブロック指令に対して、指令始点と指令終点の二つの指令位置の間で傾斜回転軸指令が特異点を越えて反対側にある場合は特異点を通過する必要があると判断し、フラグ（後述のＦ＿Ｐｓ）＝１として特異点通過経路作成手段１６、解移行開始位置判別手段１７、解移行手段１８に通知する。解移行開始位置判別手段１７は解移行開始位置を判別し、特異点通過経路作成手段１６は、傾斜回転軸が特異点を通過する経路を作成し誤差補正部１３に出力する。解移行手段１８は、特異点通過経路作成手段１６で作成された解Ａから解Ｂ、または解Ｂから解Ａへの解移行経路の補間を行う。
【０１０７】
図２１は本発明の誤差補正に関連する処理のアルゴリズムを示すフローチャートである。Ｘｃ，Ｙｃ，Ｚｃ，Ｂｃ，Ｃｃは補間によって既に得られた値である。また、Ｘａ，Ｙａ，Ｚａ，Ｂａ，Ｃａが出力である。以下、各ステップに従って説明する。
●［ステップＳＡ１００］並進誤差量（δｘ，δｙ，δｚ）、回転誤差量（α，β，γ）を得る。  
●［ステップＳＡ１０１］数３式によって補正された直線軸位置（Ｘａ，Ｙａ，Ｚａ）を求める。  
●［ステップＳＡ１０２］Ｆ＿Ｓｍ＝１であるか否か判断し、１である場合にはステップＳＡ１０９へ移行し、１でない場合にはステップＳＡ１０３へ移行する。Ｆ＿Ｓｍは、解移行フラグである。  
●［ステップＳＡ１０３］数１式、数２式、第４式〜数２０式によって解Ａおよび解Ｂを計算し、それらおよび  ｎ  のうち、数２１式に記載された値Ｄが最も小さくなる解Ａおよび解Ｂおよび  ｎ  を選択し、Ｂａ，Ｃａとする。
●［ステップＳＡ１０４］Ｆ＿Ｐｓ＝１であるか否か判断し、１である場合にはステップＳＡ１０５へ移行し、１でない場合には処理を終了する。Ｆ＿Ｐｓは、特異点通過フラグである。  
●［ステップＳＡ１０５］数２３式（Ｌ＝（Ｂａ−Ｂｓ）2＋（Ｃａ―Ｃｓ）2）を計算する。  
●［ステップＳＡ１０６］ＬはＬｍより大きいか否か判断し、大きい場合にはステップＳＡ１０７へ移行し、大きくない場合にはステップＳＡ１０８へ移行する。  
●［ステップＳＡ１０７］ＰａＡを確定。数２６式、数２７式で、ＰｃＢ、Ｎｉを計算。ＰｃＢに対する誤差補正計算を行いＰａＢを求める。Ｎ＝０，Ｆ＿Ｓｍ＝１である。  
●［ステップＳＡ１０８］ＬｍにＬを代入し、処理を終了する。
●［ステップＳＡ１０９］Ｎ＝Ｎ＋１とする。数２８式で移行経路の補間を行い、Ｂａ，Ｃａを得る。
●［ステップＳＡ１１０］Ｎ＝２＊Ｎｉであるか否か判断し、その場合にはステップＳＡ１１１へ移行し、そうでない場合には処理を終了する。
●［ステップＳＡ１１１］Ｆ＿Ｐｓ＝０およびＦ＿Ｓｍ＝０とし、処理を終了する。
【０１０８】
上述したフローチャートを補足して説明する。Ｆ＿Ｓｍは、解移行フラグであり、解Ａから解Ｂ、またはその逆に解を移行しようとしていることを示すフラグである。また、Ｆ＿Ｐｓは、特異点通過フラグであり、特異点通過判断手段１５によって、指令ブロックにおいて指令始点と指令終点の二つの指令位置の間で前記傾斜回転軸指令が特異点を越えて反対側にある場合は特異点を通過する必要があるとしてこのフラグを１とする。Ｌｍは、Ｌの値を１補間周期分保存しておき、次回の補間周期において１補間周期分前のＬ（つまり、Ｌｍ）と今回の補間周期におけるＬとを比較するための一時的データである。  
また、初期値処理（Ｆ＿Ｓｍ＝０、Ｆ＿Ｐｓ＝１または０、Ｌｍ＝十分大きな数値，例えば、９９９９９９９．０）は行っているものとする。
また、段落００６４でも述べたように、図２１においても、解移行までは解Ｂより解Ａが指令経路に近く、解移行後は解Ｂが指令経路に近いケースのフローチャートとして記載している。
【符号の説明】
【０１０９】
Ｆ＿Ｓｍ  解移行フラグ
Ｆ＿Ｐｓ  特異点通過フラグ
Ｌｍ  １補間周期前のＬ
１０  数値制御装置
１１  指令解析部
１２  補間部
１３  誤差補正部
１４  補正誤差量設定手段
１５  特異点通過判断手段
１６  特異点通過経路作成手段
１７  解移行開始位置判別手段
１８  解移行手段
１９Ｘ  Ｘ軸サーボ
１９Ｙ  Ｙ軸サーボ
１９Ｚ  Ｚ軸サーボ
１９Ｂ（Ａ）  Ｂ（Ａ）軸サーボ
１９Ｃ  Ｃ軸サーボ
【図１】
0005461980.tif 000038
【図２】
0005461980.tif 000039
【図３】
0005461980.tif 000040
【図４】
0005461980.tif 000041
【図５】
0005461980.tif 000042
【図６】
0005461980.tif 000043
【図７】
0005461980.tif 000044
【図８】
0005461980.tif 000045
【図９】
0005461980.tif 000046
【図１０】
0005461980.tif 000047
【図１１】
0005461980.tif 000048
【図１２】
0005461980.tif 000049
【図１３】
0005461980.tif 000050
【図１４】
0005461980.tif 000051
【図１５】
0005461980.tif 000052
【図１６】
0005461980.tif 000053
【図１７】
0005461980.tif 000054
【図１８】
0005461980.tif 000055
【図１９】
0005461980.tif 000056
【図２０】
0005461980.tif 000057
【図２１】
0005461980.tif 000058