(57)【特許請求の範囲】
【請求項１】
コンピュータ数値制御（ＣＮＣ）機械用のＮＣプログラムのために位置決め経路データを生成する方法であって、
コンピュータ装置で、機械配置スペースにおけるツールのスタート配置及びゴール配置を判断することと、
コンピュータ装置で、可能な配置のサンプリングのために前記機械配置スペースにおいて機械加工シーンの一つ以上の関連のある特徴を囲むそれぞれの領域を識別することと、
コンピュータ装置で、前記機械配置スペースでの前記識別された一つ以上の領域のそれぞれから複数の可能な配置を判断することと、
コンピュータ装置で、前記スタート配置を前記ゴール配置に結合する前記複数の可能な配置から位置決め経路を判断することと、
コンピュータ装置で、前記ＣＮＣ機械のシミュレーションを用いて前記判断された位置決め経路が有効であるか否かを判断することと、
コンピュータ装置で、前記位置決め経路が有効であると判断されると、前記ＣＮＣ機械の前記ツールを前記判断された位置決め経路に沿って移動するための位置決め経路を生成すること
を備える方法。
【請求項２】
前記スタート配置を前記ゴール配置に結合する初期の位置決め経路を機械加工の制約に違反することなく判断することをさらに備え、
前記複数の可能な配置から判断された前記位置決め経路は、前記初期の位置決め経路の時間コストよりも小さい関連の時間コストを有するように判断される、請求項１記載の方法。
【請求項３】
前記初期位置決め経路を判断することは、
前記スタート配置を第１の好ましい方向における第１の距離に移すことによって第１の中間配置を判断することと、
前記ゴール配置を第２の好ましい方向における第２の距離に移すことによって第２の中間配置を判断することと、
前記第１の中間配置を前記第２の中間配置に結合することと、
前記初期位置決め経路を前記機械加工の制約に違反させることなく、前記第１の距離及び前記第２の距離を低減することによって前記初期位置決め経路の移動時間を最適化すること
を備える請求項２記載の方法。
【請求項４】
低減された前記第１の距離及び前記第２の距離は同じ距離である請求項３記載の方法。
【請求項５】
前記初期位置決め経路が前記機械加工の制約に違反するか否かを判断することをさらに備え、
前記初期位置決め経路が前記機械加工の制約に違反すると、
前記スタート配置及び前記ゴール配置をそれぞれ他の好ましい方向に移すことと、
前記第１の中間配置を前記第２の中間配置に結合すること
もさらに備える請求項３又は４記載の方法。
【請求項６】
前記第１の好ましい方向、前記第２の好ましい方向、及び前記他の好ましい方向は、
前記スタート配置のツール軸方位に基づいた方向、前記ゴール配置のツール軸方位に基づいた方向、及び前記ＣＮＣ機械の制御軸に基づいた方向、
のうちの一つ以上から選択される請求項３〜５のいずれか一項記載の方法。
【請求項７】
経路に関連された時間コストが前記ＣＮＣ機械の動きをシミュレートすることによって判断される請求項２〜６のいずれか一項記載の方法。
【請求項８】
経路が機械加工の制約に違反するか否かを判断することは、前記経路が有効であるか否かを判断するために、前記ＣＮＣ機械のシミュレータを用いることを備える請求項２〜７のいずれか一項記載の方法。
【請求項９】
前記機械配置スペースにおける前記スタート配置及び前記ゴール配置を判断することは、一つ以上のユーザの好みに基づいて前記スタート配置及び前記ゴール配置のうちの少なくとも一つを調整することを備える請求項１〜８のいずれか一項記載の方法。
【請求項１０】
前記スタート配置及び前記ゴール配置のうちの少なくとも一つを調整することは、それぞれの配置が調整されるように、
前記ＣＮＣ機械の前記ツールを前記被工作物に接触させないように動かすように移すことと、
前記それぞれの配置の前記移すことを前記位置決め経路データに加えること
を備える請求項９記載の方法。
【請求項１１】
前記それぞれの配置の前記移すことは、
前記それぞれの配置の中心をなす球の表面から複数の球の位置をサンプリングすることと、
前記ツールが前記サンプルされた球の位置に移されると、前記ツールを前記被工作物に接触させないサンプルされた球の位置を識別することを試みることと、
前記ツールを前記サンプルされた球の位置に移す経路が有効であるか否かを判断すること
によって判断される請求項１０記載の方法。
【請求項１２】
前記スタート配置及び前記ゴール配置のうちの少なくとも一つを調整することは、
ユーザによって規定された退避経路に基づいて前記スタート配置を調整することと、
ユーザによって規定された接近経路に基づいて前記ゴール配置を調整することと、
前記スタート配置及び前記ゴール配置を調整する経路が有効であることを判断することと、
前記スタート配置及び前記ゴール配置への前記調整の動きを前記位置決め経路データに付加すること
のうちの少なくとも一つを備える請求項９〜１１のいずれか一項記載の方法。
【請求項１３】
前記スタート配置及び前記ゴール配置のうちの少なくとも一つを調整することは、
ユーザによって規定された最小安全距離によって拡張された拡張ツールサイズに適合する位置に前記スタート配置を調整することと、
前記拡張されたツールサイズに適合する位置に前記ゴール配置を調整することと、
前記スタート配置及び前記ゴール配置を調整する経路が有効であるか否かを判断することと、
前記スタート配置及び前記ゴール配置への前記調整の動きを前記位置決め経路データに付加することと、
前記位置決め経路が有効であることを判断すると、ユーザによって規定された最小安全距離に基づいたオフセットが付加されたオフセットツールを用いるように前記ＣＮＣ機械の前記シミュレーションを調整すること
を備える請求項９〜１２のいずれか一項記載の方法。
【請求項１４】
機械加工スペースにおける機械加工シーンの関連のある特徴は、
位置決め経路に沿った既知の配置、
前記機械加工シーンにおける一つ以上の物体のそれぞれのバウンディングボックスの一つ以上を含む請求項１〜１３のいずれか一項記載の方法。
【請求項１５】
前記ＣＮＣ機械の制御軸を、それぞれの制御軸及び前記スタート配置及び前記ゴール配置用の最大及び最小移動値に基づいていくつかの区間に分割することと、
前記いくつかの区間のそれぞれが前記識別された領域から複数の可能な配置によってサンプルされるのかを判断することと、
前記いくつかの区間のそれぞれから可能な配置のサンプルを提供するために識別される領域の外部から複数の付加的で可能な配置を収集すること
をさらに備える請求項１〜１４のいずれか一項記載の方法。
【請求項１６】
最小サンプリング分解能は、前記ＣＮＣ機械の前記制御軸のそれぞれのために決定され、ここで前記最小サンプリング分解能は前記それぞれの制御軸の間の前記最小距離を定義する請求項１５記載の方法。
【請求項１７】
前記位置決め経路を判断することは、
前記複数の可能な配置、前記スタート配置及び前記ゴール配置を、グラフとみなすことと、
前記スタート配置から前記ゴール配置の経路のためにグラフを探索すること
を備える請求項１〜１６のいずれか一項記載の方法。
【請求項１８】
経路が存在すると、前記グラフは、前記グラフの上界よりも小さい最小コストの経路を発見する発見的ベースの探索技術を用いて探索される請求項１７記載の方法。
【請求項１９】
前記経路が前記グラフに存在すると、前記経路は前記位置決め経路として用いられ、前記位置決め経路が有効であるか否かを判断することは、
前記位置決め経路が有効か又は無効かについての前記ＣＮＣ機械のシミュレーションからの指示を受信することであり、前記指示は、前記位置決め経路が無効であるときに、前記位置決め経路の無効を起こす配置の指示を含む、前記受信することと、
前記位置決め経路の前記無効を起こした前記指示された配置に関連した前記グラフのセグメントを判断することと、
前記グラフから前記判断されたセグメントを除去すること
を備える請求項１８記載の方法。
【請求項２０】
前記位置決め経路が無効であると、前記グラフの前記探索が全ての可能な経路が無いと判断することと、
前記スタート配置から前記ゴール配置のために、前記グラフの前記探索が終わっていないときには、前記グラフを再度探索すること
をさらに備える請求項１９記載の方法。
【請求項２１】
前記上界よりも小さい関連コストを有する前記グラフに経路が発見されないとき、又は前記グラフの探索が無くなると、前記機械配置スペースからさらに複数の可能な配置を収集することと、
前記複数の可能な配置、前記スタート配置、前記ゴール配置及び前記他の複数の可能な配置をグラフとして扱うことと、
前記スタート配置から前記ゴール配置への経路のために前記グラフを探索すること
をさらに備える請求項１８〜２０のいずれか一項に記載の方法。
【請求項２２】
前記ＣＮＣ機械の前記シミュレーションは、前記ＣＮＣ機械における機械加工をシミュレートすることに、機械特徴を組み込むが、前記機械特徴は、
機械の運動学と、
速度限界と、
加速度限界と、
各機械軸用の移動限界と、
位置決め方法と、
被工作物の機構と、
機械部品又は固定具の位置と、
保持装置の位置
のうちの一つ以上を備え、
前記ＣＮＣ機械の前記シミュレーションは、動的に、いくつかの被工作物を変えるのをシミュレートする請求項１〜２１のいずれか一項記載の方法。
【請求項２３】
コンピュータ数値制御（ＣＮＣ）機械用のＮＣプログラムのために位置決め経路データを生成するコンピュータ装置であって、
命令を実行するプロセッサと、
前記請求項１〜２２のいずれか一項に記載の方法を、前記プロセッサによって実行されるときに、提供するための装置を設定する命令を保存するためのメモリと
を備えるコンピュータ装置。
【請求項２４】
部品を機械加工するためのシステムであって、
コンピュータ数値制御（ＣＮＣ）機械用のＮＣプログラムのために位置決め経路データを生成する請求項２３に記載のコンピュータ装置と、
前記ＮＣプログラムを受け取るため及び前記ＮＣプログラムに対応して被工作物から部品を機械加工するためのＣＮＣ機械と
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本記載は、ツール（tool）又は被工作物の衝突を避けながらもツールの位置決め経路を自動的に判断及び最小化又は削減する、多軸数値制御（ＮＣ）機械用の制御プログラムを生成するための装置、システム及び方法に関する。
【背景技術】
【０００２】
数値制御（ＮＣ）はコード文字、離散数値、及び特定の特徴に基づいて、工作機械を自動的に操作する方法である。コンピュータ数値制御（ＣＮＣ）工作機械は、コンピュータによって制御されるＮＣ工作機械である。ＣＮＣ工作機械は、被工作物と切削ツールとの間の相対的な動きを提供することによって被工作物を完成形状に機械加工するために用いられる。この相対的な動きは、ドリル加工の際に、被工作物を固定的に保持して切削ツールを動かすこと、又は旋削の際に、切削ツールを固定的に保持して被工作物を回転すること、のいずれかのような様々な操作に適用することができる。
【０００３】
ＣＮＣ工作機械は、切削ツールと被工作物との間に要求される相対的な動きを提供するために、動きの異なる軸を備えている。これらの軸のそれぞれは、直流モータ、液圧アクチュエータ、又はステッピングモータであるような駆動装置を有している。
【０００４】
図１は、多軸ＣＮＣ機械１００を例示する。この機械は、複数の異なる軸に沿って被工作物１１８に対して動かされる、切削又は機械加工ツール１０２を含む。図１に描かれるように、機械加工ツールは、３軸及び直交軸、つまりＸ軸１０４、Ｙ軸１０６及びＺ軸１０８に沿って動かされる。直交であることとして描かれているが、工作機械は、複数の非直交軸に沿って動かされるのが可能である。さらに、機械加工ツール１０２は一つ以上の軸の周りを回転してもよい。この回転は、Ａ軸１１０、Ｂ軸１１２及びＣ軸１１４の周りとなるように描かれる。Ａ、Ｂ及びＣ軸は、Ｘ，Ｙ及びＺ軸に平行しているように描かれているが、これらの軸は平行である必要はない。被工作物１１８は、機械工作テーブル１１６上にて、被工作物の座標Ｘｗ１２０、Ｙｗ１２２、Ｚｗ１２４を、被工作物の機械工作を可能とする機械座標に変換させる既知の位置に、位置決めされる。機械加工ツール１０２の動きがそのツール１０２で発生されるように描かれているが、その動きは被工作物に対して相対的であり、さらに被工作物又はツールのそのような動き、又はそれらの組み合わせは同じ結果を生じることに留意されたい。例えば、機械加工ツール１０２は、機械工作テーブル１１６がＸ及びＹ軸にて被工作物を動かしている間、Ａ、Ｂ及びＣ軸の周りを回転し、さらにＺ軸に沿って移動する。多軸の工作機械は、Ｘ，Ｙ及びＺ軸及び一つ以上の、典型的には回転軸Ａ，Ｂ及びＣの内の２軸の周りの動きを全般的に可能とする。ツールと被工作物との間の動きは、ツールヘッド及び／又は被工作物又は被工作物が取り付けられるプラットフォームの動きによって提供される。
【０００５】
ＣＡＤ／ＣＡＭソフトウェアは、部品を製造することが要求された被工作物に対するツールの動きを規定するために用いられる。ＣＡＤ／ＣＡＭソフトウェアは、切削経路及び位置決め経路を含む複数のツールの経路を生成するが、ここで切削経路は部品を形成する際に材料を除去するため、ツールが被工作物に接触するところの経路であり、位置決め経路は機械加工シーンにおいて、物体に接触することなく、切削経路に、又は切削経路から、ツールを位置決めする経路である。機械加工シーンの物体は、被工作物自身、工作機械の一部はもとより被工作物を固定する固定具、又はツールが衝突するかもしれない任意の他の物体を含む。一般的な位置決め経路は、機械軸の最大速度又は高速度での素早い動きによって横切られる。
【０００６】
図２Ａは、被工作物に対する切削ツールの初期の配置を示す。図２Ｂは被工作物から部品を製造するための切削経路及び位置決め経路を示す。ツール２０４は、図２Ａに示されたように被工作物２０２に対する初期の位置にある。図２Ｂに示されるように、ツール２０４は、位置決め経路Ａ２０６に沿って切削経路の開始位置２０８に移動する。切削経路Ｂ２１０は、材料２４０を除去させる、切削経路Ｂの終了場所２１２に、そのツールを移動する。ツールは、その後、位置決め経路Ｃ２１８によって次の切削経路の開始位置２３０に再位置決めされる。位置決め経路Ｃは、３つの動き２２０、２２４、２２８を含む。まず、ツールは、クリアランス平面２１６に又はその上の位置２３０に退避される。次に、ツールは、次の切削経路の開始位置２３０の上に移動される。最後に、ツールは、開始位置２３０に急降下２２８される。ツールは、開始位置２３０から終了位置２３４に、切削経路Ｄ２３２に沿って動かされ、さらにその後、位置決め経路Ｅ２３６に沿って移動される。そして、位置決め経路は、ツールをクリアランス平面２１６の上の位置２３８に、再び退避させる。
【０００７】
図３は、ＣＮＣ機械にて部品を設計すること及び製造することについての処理を示す。被工作物から部品を機械加工するため、その部品はコンピュータ援用設計（ＣＡＤ）アプリケーション３０２において設計され、さらにニュートラル機械加工命令がコンピュータ援用製造（ＣＡＭ）アプリケーション３０２において開発される。ニュートラル機械加工命令は、複数の切削ツール位置（cutter locations）のようなツール又は複数ツールの動作を規定する。ＣＡＭアプリケーションは、ツールの被工作物に対する動作を規定する、ツール経路を生成する。ツール経路は、ツールが被工作物に対して動かされてツールが被工作物に接触する、切削経路と、さらに、ツールが一つの場所から他の場所に被工作物又は他の部品に接触することなく、位置決めされるところの、非切削経路又は位置決め経路を含む。ＣＡＤ／ＣＡＭアプリケーション３０２は、図示されているように、切削ツール位置データ（ＣＬデータ）３０４のようなツール経路を出力する。ＣＬデータ３０４は、後に機械加工の規定命令に変換される態様で、ツールの位置を規定し、さらに供給レート、位置決め速度、切削速度などの他の機械加工の特徴を規定する。ＣＬデータ３０４は、それぞれがツールのスタート配置及びツールのエンド配置を含む、一つ以上の切削経路３０６、３１０、３１４を備える。ツールは、複数の切削経路の間を、それぞれの位置決め経路３０８、３１２によって移動される。位置決め経路は、ユーザによって設定された、被工作物の座標及び形状に対して定義される、クリアランス平面を設けることによってＣＡＤ／ＣＡＭアプリケーション３０２において開発されてもよい。ユーザにとっての、同様の接近の仕方は、一つの以上の安全なゾーンを画定することである。両方の場合において、ＣＡＭアプリケーションは、ツールをその安全なゾーン又はクリアランス平面に退避し、それに続いて、その安全なゾーン又はクリアランス平面内にて、次の切削位置に接近することであり、最後に、次の切削位置の開始位置に移動する。付加的に又は代替的に、ＣＡＤ／ＣＡＭアプリケーション３０２は、ユーザに、異なる方向に沿っての動きを定義させることにより、手動にて位置決め経路を指定させてもよい。位置決め経路がどのように生成されるかに無関係に、それら位置決め経路は、特定の機械加工用の安全な位置決め経路を生成するための、考慮されたユーザ命令を要求する。
【０００８】
特別なＣＬデータを参照して部品を機械加工するため、ＣＬデータは、部品を機械加工するために用いられる特定機械加工用の機械加工に依存したコードに変換されなければならない。この変換は、ＮＣポストプロセッサ（後処理）３１６によって実行される。ＮＣポストプロセッサ３１６は、コントローラの設定３１８及び、部品を機械加工するために用いられることになる特定の機械加工を規定する機械加工の選択３２０を受け取る。ＮＣポストプロセッサ３１６は、ＣＬデータ３０４を機械加工規定ＮＣプログラム３２４に変換する。ＮＣポストプロセッサ３１６は、選択された機械加工３２２の運動学についての情報を用いるＮＣプログラムを発生するが、その情報は、選択された機械加工がツールと被工作物の間に相対的な動きをどのように与えるのかについての情報である。図示されるように、機械加工規定ＮＣプログラム３２４は、位置決め経路及び切削経路が有効であること、つまり機械加工シーンにおいて物体間の衝突がなく、さらに機械移動限界が守られているのを検証するために、ＣＮＣ機械３２６のシミュレーションによって実行される。ＣＮＣ機械３２６のシミュレーションは、ＮＣプログラムが適切なシンタックスを用いているのを保証するために、ＮＣプログラムのシンタックスも確かめる。ＮＣプログラムが有効な位置決め経路及び切削経路を含むのであれば、ＮＣプログラムはＣＮＣ機械３３２にて部品を製造するために実行される。
【０００９】
機械ＮＣプログラム３２４は、機械ＮＣプログラム３２４が衝突、又は機械移動限界に違反していないのを確かめるために、一般的には、ＣＮＣ機械シミュレータ３２６上にてまず起動される。多軸機械加工用のＣＡＭアプリケーションによって生成された非切削、位置決め経路は、安全ではなく、かつ効率的ではない。これは、主に、ＣＡＭアプリケーションが、部品を作り出すのに用いられるＣＮＣ機械の特別な特徴を無視するためである。機械の特徴は、例えば、機械ツール運動学、軸移動速度、軸加速度、移動限界、位置決め方法、及びツールパスの位置決めの生成において設定される被工作物を含む。つまり、無効な位置決め経路又は切削経路３２８は、ＣＡＭの試行錯誤により調整されなければならない。ユーザがいったん位置決め経路を調整すると、ＮＣプログラムは、再度、生成及びテストされる。この試行錯誤の処理は、ＣＡＭアプリケーションにて位置決め経路が正しく定義されるまで繰り返される。特定のＣＮＣ機械用の位置決め経路を生成するための試行錯誤処理は、かなりのユーザインタラクションを必要とする。
【００１０】
特定の機械用の安全な位置決め経路を規定するためにユーザに要求される試行錯誤は、望ましくはない。さらに、いったんＮＣプログラムが安全な位置決め経路を生成すると、それは機械規定であり、部品が異なる機械運動学を有する異なる機械にて機械加工されると、さらに時間を浪費する試行錯誤プロセスの実行を必要とする。さらにまた、試行錯誤処理によって開発された位置決め経路は、最適な位置決め経路ではなく、結果的に、より長い機械加工時間をもたらすことになる。
【００１１】
位置決め経路開発の代替方法が所望されている。この点で、実質的にユーザのインタラクションを不要とし、位置決め経路を開発するための現在の技術の代替として、位置決め経路を自動的に開発することは有益である。
【発明の概要】
【００１２】
本開示に対応して、コンピュータ数値制御（ＣＮＣ）機械用の位置決め経路データを生成するための方法が提供されるが、この方法は、機械配置スペースにおけるツールのスタート配置及びゴール配置を判断することと、可能な配置のサンプリング用に前記機械配置スペースにおいて機械加工シーンの一つ以上の関連のある特徴を囲むそれぞれの領域を識別することと、前記機械配置スペースでの前記識別された一つ以上の領域のそれぞれから複数の可能な配置を判断することと、前記スタート配置を前記ゴール配置に結合する前記複数の可能な配置から位置決め経路を判断することと、前記ＣＮＣ機械のシミュレーションを用いて前記判断された位置決め経路が有効であるか否かを判断することと、前記位置決め経路が有効であると判断されると、前記ＣＮＣ機械の前記ツールを前記判断された位置決め経路に沿って移動するための位置決め経路を生成することを備える。
【００１３】
他の実施形態において、その方法は、前記スタート配置を前記ゴール配置に結合する初期の位置決め経路を機械加工の制約に違反することなく判断することをさらに備え、前記複数の可能な配置から判断された前記位置決め経路は、前記初期の位置決め経路の時間コストよりも小さい関連の時間コストを有するように判断される。
【００１４】
他の実施形態において、前記初期位置決め経路を判断することは、前記スタート配置を第１の好ましい方向における第１の距離に移すことによって第１の中間配置を判断することと、前記ゴール配置を第２の好ましい方向における第２の距離に移すことによって第２の中間配置を判断することと、前記第１の中間配置を前記第２の中間配置に結合することと、前記初期位置決め経路を前記機械加工の制約に違反させることなく、前記第１の距離及び前記第２の距離を低減することによって前記初期位置決め経路の移動時間を最適化することを備える。
【００１５】
他の実施形態において、低減された前記第１の距離及び前記第２の距離は同じ距離である。
【００１６】
他の実施形態において、前記初期位置決め経路が前記機械加工の制約に違反するか否かを判断することをさらに備え、前記初期位置決め経路が前記機械加工の制約に違反すると、前記スタート配置及び前記ゴール配置をそれぞれ他の好ましい方向に移すことと、前記第１の中間配置を前記第２の中間配置に結合することもさらに備える。
【００１７】
他の実施形態において、前記第１の好ましい方向、前記第２の好ましい方向、及び前記他の好ましい方向は、前記スタート配置のツール軸方位に基づいた方向、前記ゴール配置のツール軸方位に基づいた方向、及び前記ＣＮＣ機械の制御軸に基づいた方向、のうちの一つ以上から選択される。
【００１８】
他の実施形態において、前記ＣＮＣ機械の動きをシミュレートすることによって経路に関連された時間コストが判断される。
【００１９】
他の実施形態において、ＣＮＣ機械の動きをシミュレートすることは、前記時間コストが判断されたときに、機械軸上の速度制限をシミュレートすることを含む。
【００２０】
他の実施形態において、経路に関連された時間コストは、前記経路の長さ及び機械軸に沿った既知の移動速度を用いることによって判断される。
【００２１】
他の実施形態において、経路が機械加工の制約に違反するか否かを判断することは、前記経路が有効であるか否かを判断するために、前記ＣＮＣ機械のシミュレータを用いることを備える。
【００２２】
他の実施形態において、前記機械配置スペースにおいて前記スタート配置及び前記ゴール配置を判断することは、被工作物のスペースにおいてスタート配置とゴール配置を受け取ることと、前記被工作物スペースにおける前記スタート配置及び前記ゴール配置を、前記機械配置における前記スタート配置及び前記ゴール配置に変換することを備える。
【００２３】
他の実施形態において、前記機械配置スペースにおける前記スタート配置及び前記ゴール配置を判断することは、一つ以上のユーザの好みに基づいて前記スタート配置及び前記ゴール配置のうちの少なくとも一つを調整することを備える。
【００２４】
他の実施形態において、前記スタート配置及び前記ゴール配置のうちの少なくとも一つを調整することは、それぞれの配置が調整されるように、前記ＣＮＣ機械の前記ツールを前記被工作物に接触させないように動かすように移すことと、前記それぞれの配置の移転を前記位置決め経路データに加えることを備える。
【００２５】
他の実施形態において、前記それぞれの配置の前記移転は、前記それぞれの配置の中心をなす球の表面から複数の球の位置をサンプリングすることと、前記ツールが前記サンプルされた球の位置に移されると、前記ツールを前記被工作物に接触させないサンプルされた球の位置を識別することを試みることと、前記ツールを前記サンプルされた球の位置に移す経路が有効であるか否かを判断することによって判断される。
【００２６】
他の実施形態において、前記ツールを前記被工作物に接触させない、サンプル球の位置が識別されないときには、前記球の半径を拡張することと、さらに付加的な球の位置をサンプリングすることとを備えるが、ここでより小さな半径の球上の球の位置は、前記それぞれの配置の前記移転を最小化する、さらに前記ツールを前記被工作物に接触させない前記球の位置を前記付加された球の位置から識別することを試みることをさらに備える。
【００２７】
他の実施形態において、前記スタート配置及び前記ゴール配置のうちの少なくとも一つを調整することは、ユーザによって規定された退避経路に基づいて前記スタート配置を調整することと、ユーザによって規定された接近経路に基づいて前記ゴール配置を調整することと、前記スタート配置及び前記ゴール配置を調整する経路が有効であることを判断することと、前記スタート配置及び前記ゴール配置への前記調整の動きを前記位置決め経路データに付加すること、のうちの少なくとも一つを備える。
【００２８】
他の実施形態において、前記スタート配置及び前記ゴール配置のうちの少なくとも一つを調整することは、ユーザによって規定された最小安全距離によって拡張された拡張ツールサイズに適合する位置に前記スタート配置を調整することと、前記拡張されたツールサイズに適合する位置に前記ゴール配置を調整することと、前記スタート配置及び前記ゴール配置を調整する経路が有効であるか否かを判断することと、前記スタート配置及び前記ゴール配置への前記調整の動きを前記位置決め経路データに付加することと、前記位置決め経路が有効であることを判断すると、ユーザによって規定された最小安全距離に基づいたオフセットが付加されたオフセットツールを用いるように前記ＣＮＣ機械の前記シミュレーションを調整することを備える。
【００２９】
他の実施形態において、前記拡張されたツールサイズに適合するように前記スタート配置及び前記ゴール配置のそれぞれを調整することは、前記それぞれの配置の中心をなす球の表面から複数の球の位置をサンプリングすることと前記ユーザによって規定された最小安全距離に少なくとも等しい半径を有することと、前記拡張されたツールが前記サンプルされた球の位置に移されると、前記拡張されたツールを前記被工作物に接触させないサンプルされた球の位置を識別することを試みることを備える。
【００３０】
他の実施形態において、前記拡張されたツールを前記被工作物に接触させないサンプル球の位置が識別されないと、前記球の半径を拡張することと、及び付加的な球の位置をサンプリングすることとを備え、ここで、より小さな半径の球上の球の位置が前記それぞれの配置の前記移転を最小にし、前記拡張されたツールを前記被工作物に接触させない前記球の位置を前記付加的な球の位置から識別することを試みることをさらに備える。
【００３１】
他の実施形態において、機械加工スペースにおける機械加工シーンの関連のある特徴は、位置決め経路に沿った既知の配置、前記機械加工シーンにおける一つ以上の物体のそれぞれのバウンディングボックスの一つ以上を含む。
【００３２】
他の実施形態において、前記ＣＮＣ機械の制御軸を、それぞれの制御軸及び前記スタート配置及び前記ゴール配置用の最大及び最小移動値に基づいていくつかの区間に分割することと、前記いくつかの区間のそれぞれが前記識別された領域から複数の可能な配置によってサンプルされるのかを判断することと、前記いくつかの区間のそれぞれから可能な配置のサンプルを提供するために識別される領域の外部から複数の付加的で可能な配置を収集することをさらに備える。
【００３３】
他の実施形態において、最小サンプリング分解能は、前記ＣＮＣ機械の前記制御軸のそれぞれのために決定され、ここで前記最小サンプリング分解能は前記それぞれの制御軸の間の前記最小距離を定義する。
【００３４】
他の実施形態において、複数の可能な配置が前記機械配置スペースの除外領域内にあると、前記複数の可能な配置から可能な配置を取り除くことをさらに備える。
【００３５】
他の実施形態において、前記位置決め経路を判断することは、前記複数の可能な配置、前記スタート配置及び前記ゴール配置を、グラフとみなすことと、前記スタート配置から前記ゴール配置の経路のためにグラフを探索することを備える。
【００３６】
他の実施形態において、経路が存在すると、前記グラフは、前記グラフの上界よりも小さい最小コストの経路を発見する発見的ベースの探索技術を用いて探索される。
【００３７】
他の実施形態において、前記経路が前記グラフに存在すると、前記経路は前記位置決め経路として用いられ、前記位置決め経路が有効であるか否かを判断することは、前記位置決め経路が有効か又は無効かについての前記ＣＮＣ機械のシミュレーションからの指示を受信することであり、前記指示は、前記位置決め経路が無効であるときに、前記位置決め経路の無効を起こす配置の指示を含む、前記受信することと、前記位置決め経路の前記無効を起こした前記指示された配置に関連した前記グラフのセグメントを判断することと、
前記グラフから前記判断されたセグメントを除去することを備える。
【００３８】
他の実施形態において、前記位置決め経路が無効であると、前記グラフの前記探索が全ての可能な経路が無いと判断することと、前記スタート配置から前記ゴール配置のために、前記グラフの前記探索が終わっていないときには、前記グラフを再度探索することをさらに備える。
【００３９】
他の実施形態において、前記上界よりも小さい関連されるコストを有する前記グラフに経路が発見されないとき、又は前記グラフの探索が無くなると、前記機械配置スペースからさらに複数の可能な配置を収集することと、前記複数の可能な配置、前記スタート配置、前記ゴール配置及び前記他の複数の可能な配置をグラフとして扱うことと、前記スタート配置から前記ゴール配置への経路のために前記グラフを探索することをさらに備える。
【００４０】
他の実施形態において、前記グラフを探索することは、Ａ＊サーチ技術を用いることを備える。
【００４１】
他の実施形態において、前記Ａ＊サーチ技術は、前記グラフの現在の配置ノードへの前記スタート配置から現在の経路のコストとしての前記ＣＮＣ機械の前記シミュレーションによって提供される経路移動時間と、前記現在の配置ノードと前記ゴール配置の間のコストとしての前記ＣＮＣ機械の前記シミュレーションによって提供される移動時間とを用いる。
【００４２】
他の実施形態において、前記ＣＮＣ機械の前記シミュレーションは、前記ＣＮＣ機械における機械加工をシミュレートすることに、機械特徴を組み込むが、前記機械特徴は、機械の運動学と、速度限界と、加速度限界と、各機械軸用の移動限界と、位置決め方法と、被工作物の機構と、機械部品又は固定具の位置と、保持装置の位置のうちの一つ以上を備える。
【００４３】
他の実施形態において、前記ＣＮＣ機械の前記シミュレーションは、動的に、いくつかの被工作物を変えるのをシミュレートする。
【００４４】
本開示によれば、コンピュータ数値制御（ＣＮＣ）機械用の位置決め経路データを生成するためのコンピュータ装置が提供されており、このコンピュータ装置は、命令を実行するプロセッサと、前記プロセッサによって実行されるときに、提供するための装置を設定する命令を保存するためのメモリとを備える。このメモリは、プロセッサによって実行されると、コンピュータ数値制御（ＣＮＣ）機械用の位置決め経路データを生成する方法を提供するシステムを構成するが、その方法は機械配置スペースにおけるツールのスタート配置及びゴール配置を判断することと、可能な配置のサンプリング用に前記機械配置スペースにおいて機械加工シーンの一つ以上の関連のある特徴を囲むそれぞれの領域を識別することと、前記機械配置スペースでの前記識別された一つ以上の領域のそれぞれから複数の可能な配置を判断することと、前記スタート配置を前記ゴール配置に結合する前記複数の可能な配置から位置決め経路を判断することと、前記ＣＮＣ機械のシミュレーションを用いて前記判断された位置決め経路が有効であるか否かを判断することと、前記位置決め経路が有効であると判断されると、前記ＣＮＣ機械の前記ツールを前記判断された位置決め経路に沿って移動するための位置決め経路を生成することを備える。
【００４５】
本開示によれば、部品を機械加工するためのシステムを提供するものであり、前記システムは、コンピュータ数値制御（ＣＮＣ）機械用の位置決め経路データを生成するためのコンピュータ処理装置を備え、前記システムは、命令を実行するためのプロセッサを備え、命令を保存するためのメモリを備え、プロセッサによって命令が実行されると、前記システムは、コンピュータ数値制御（ＣＮＣ）機械用の位置決め経路データを生成するための方法を提供するためのシステムを設定し、この方法は、機械配置スペースにおけるツールのスタート配置及びゴール配置を判断することと、可能な配置のサンプリング用に前記機械配置スペースにおいて機械加工シーンの一つ以上の関連のある特徴を囲むそれぞれの領域を識別することと、前記機械配置スペースでの前記識別された一つ以上の領域のそれぞれから複数の可能な配置を判断することと、前記スタート配置を前記ゴール配置に結合する前記複数の可能な配置から位置決め経路を判断することと、前記ＣＮＣ機械のシミュレーションを用いて前記判断された位置決め経路が有効であるか否かを判断することと、前記位置決め経路が有効であると判断されると、前記ＣＮＣ機械の前記ツールを前記判断された位置決め経路に沿って移動するための位置決め経路を生成することを備え、さらに、ＮＣプログラムを受け取るため及びＮＣプログラムに対応して被工作物から部品を機械加工するためのコンピュータ数値制御（ＣＮＣ）機械を備える。
【図面の簡単な説明】
【００４６】
本開示のさらなる特徴及び有利な効果は、添付の図面を考慮にいれた以下の詳細な説明によって明きからになる。
【００４７】
【図１】多軸ＣＮＣ機械の概略図である。
【図２Ａ】切削ツールの被工作物に対する初期の配置を示す図である。
【図２Ｂ】被工作物から部品を製造するための切削経路と位置決め経路を示す図である。
【図３】ＣＮＣ機械による部品の設計及び製造の処理を示す図である。
【図４Ａ】被工作物の座標による位置決め経路を示す図である。
【図４Ｂ】機械運動学による図４Ａの位置決め経路を示す図である。
【図５】自動的に発生される位置決め経路を用いるＣＮＣ機械による部品の設計及び製造プロセスを示す図である。
【図６】自動的に発生される位置決め経路を用いるＣＮＣ機械による部品の設計及び製造方法を示す図である。
【図７】部品を機械加工するためのＮＣプログラムを生成する方法を示す図である。
【図８】位置決め経路を自動的に生成する方法を示す図である。
【図９】位置決め経路をカスタマイズするための方法を示す図である。
【図１０Ａ】位置決め経路のカスタマイゼーションを示す図である。
【図１０Ｂ】位置決め経路のカスタマイゼーションを示す図である。
【図１０Ｃ】位置決め経路のカスタマイゼーションを示す図である。
【図１０Ｄ】位置決め経路のカスタマイゼーションを示す図である。
【図１１】初期の位置決め経路を示す図である。
【図１２】ＮＣプログラムを開発する他の方法を示す図である。
【図１３】ＮＣプログラムを開発するための機械スペースのサンプリングを示す図である。
【図１４】位置決め経路の開発を示す図である。
【図１５】位置決め経路を生成するための方法を示す図である。
【図１６】部品を機械加工するためのシステムを示す図である。
【発明を実施するための形態】
【００４８】
部品は、特定の命令に対応するコンピュータ数値制御（ＣＮＣ）機械により被工作物から機械加工される。部品は、たいていコンピュータ援用設計（Computer Aided Design （ＣＡＤ））ソフトウェアと呼ばれる、３Ｄモデリングアプリケーションにおいて設計される。コンピュータ援用製造（Computer Aided Manufacturing software）ソフトウェアは、部品を製造するために３次元モデル及び生産コード又は命令を必要とする。ＣＡＭソフトウェアによって製造されるコードは、被工作物に対するツールの動きを規定する。部品を機械加工するため、被工作物の座標で特定されるツールの位置は、機械座標におけるツール位置に変換される必要がある。最も基本的には、これは、ＣＮＣ機械における被工作物の物理的な位置に基づいた被工作物座標の変換とみなされるかもしれない。しかし、線形な動きはもちろんのこと、回転動きを許容する多軸機械において、その変換はＣＮＣ機械の運動学がツールの非線形動きにおいて結果的に生じるのでより複雑であるが、だが一方で、ＣＡＭソフトウェアにおけるツール経路の発生がツールの配置間の線形な動きを想定する。
【００４９】
図４Ａは、被工作物の座標における位置決め経路を示す。位置決め経路は、被工作物４０２及びツール４０６のゴール配置に対するツール４０４のスタート配置を含む。その配置は、ツールの位置及び方位も含む。工具の動きが実際にどのように行われるのかを考慮しない、被工作物の座標において、スタート配置及びゴール配置の間の位置決め経路は線形経路４０８である。しかし、位置決め経路がＣＮＣ機械で実行されると、ツールがスタート配置とゴール配置の間を横切る、実際の経路は線形ではないかもしれない。図４Ｂは、機械運動学を説明する図４Ａの位置決め経路を示す。図示されるように、そのツールは、配置４０４に対応するスタート配置４１４と、ゴール配置４０６に対応するゴール配置４１６の間を移動する。しかし、二つの配置の間の線形及び回転の動きの組み合わせは、非線形な経路４１８という結果になり、ツールの意図しない動きをもたらし、さらに機械加工シーンにおいて被工作物又は他の物体との衝突の可能性をもたらすかもしれない。
【００５０】
機械運動学は、切削経路と位置決め経路の両方に影響を及ぼす。しかし、ツールの方位及び位置の両方の変化を含む切削経路は、通常は非常に短く、さらにそのような機械運動学は所望のツール経路を大きく変えることはない。対照的に、位置決め経路は、長い距離にわたって、方位と位置を変えるかもしれず、そのようなツール経路の逸脱は大きくなるかもしれない。
【００５１】
安全、又は有効な位置決め経路の生成がさらに説明される。安全でなく、又無効な経路は、制約を破る（に違反する）経路であるかもしれない。例えば、位置決め経路は、機械加工シーンにおいて、ツールが、被工作物、固定具、機構、保持装置又はＣＮＣ機械の構成部のような物体と接触するようでは無効である。制約は、ＣＮＣ機械から結果的に生じる。例えば、ツール経路は、それらが軸又は機械の接触部分の最大行程（移動）量よりも大きく動くと無効である。制約は、機械加工される部品に依存し、例えば、位置決め経路はそれらが被工作物の一部と接触するか否かで無効となるかもしれない。さらに、例えば、ツールが位置決めの動きをしている間のような素早いレートで移動するときに被工作物の定義された安全な距離内にツールが来ると、その経路は無効であるとするように、制約はユーザによって規定されるかもしれない。さらに本明細書にて説明されるように、機械の制約に適合する有効な位置決め経路は、機械運動学、機械速度及び加速度、さらには機械の位置決め方法のような、機械の特徴に基づいて自動的に生成される。位置決め経路は、機械の特徴を考慮して自動的に生成されるので、ユーザに何ら試行錯誤を行わせる必要なく位置決め経路の生成が可能となる。
【００５２】
さらに本明細書に記載するように、機械運動学を考慮に入れた、自動的な位置決め経路の生成は、位置決め経路の生成に代替的な技術を提供することに加えて、様々な可能な有利な効果を提供する。多軸ＣＮＣ機械用の位置決め経路の自動的な生成は、機械ツール運動学、機械軸移動限界、機械軸速度及び加速度限界、及び機械位置決め方法に基づいた位置決め経路の非製造時間を最小にするのと同様に、ＣＡＭアプリケーションにおいて多軸の位置決め経路を調整及び検証するための試行錯誤処理を除去することによって、製品製造サイクル時間を低減することができる。さらに、実際の機械ツール運動学、製造中のストックを動的に変えること、被工作物機構／固定具、及び機械加工環境に基づいた衝突をなくす、安全な多軸の位置決め経路を製造することによって、ユーザによる追加の努力を不要として、異なる機械用の機械依存のＮＣプログラムの製造が可能となる。つまり、一部品の機械加工は、ユーザに試行錯誤の繰り返しをさせる必要がなく、容易に、異なる機械タイプへの変更を可能とする。さらに、位置決め経路の自動的な生成は、機械配置スペースを探索すること、さらに多軸動作を調整するためのＣＮＣ機械の作業の囲い（envelope）の利点をフルに採ることにより、部品のアクセスしやすさを最大にすることを容易にできる。安全な多軸位置決め経路を自動的に生成することにより、ユーザはクリアランス平面又は安全ゾーンを画定する必要がない。
【００５３】
本開示は、自動的な位置決め（つまり、切削ではない；空削り（non-cutting））経路開発及び最適化の装置、システム及び方法を示す。位置決め経路用の自動的な経路計画は、最適な安全経路を生成するように実行されるが、非生産的な空削り時間を最小化する。位置決め経路は、機械ツール運動学、機械軸移動限界、機械軸速度及び加速度限界、及び機械位置決め方法に基づいて開発される。開発された位置決め経路は、機械軸移動限界を犯すことなく、さらに被工作物の製造中のストックをダイナミックに変更することと、固定具及び機械の可動及び非可動部品を含む、全ての他の周囲の物との衝突を起こさせない。これらの方法はクリアランス平面又はユーザによって定義される、幾何学的な安全ゾーンを必要としない。本方法では、ツールと、機械加工シーンにおける他の物体との間のユーザによって規定された最小距離を守ることによって安全な位置決め手順を適用することができる。予め定義された退避及び接近手順が、ツールが被工作物に近いか又は接触した、位置決めシーケンスのスタート及びエンドで守られる。さらに、工具と製造中のストックとの間の接触は、規則的な休止を除去するようにツールと製造中のストックとの間の近接において、空削り時間を最小とするように分析される。最適化の結果は安全とされ、さらにＣＮＣ機械上で直接的に動作される機械座標システムにおいて、位置決め動作が最小化される。
【００５４】
図５は自動的に生成された位置決め経路を用いるＣＮＣ機械で、部品を設計し、さらに製造する処理を示す。その処理は、製造される部品の３次元モデルを製造することを含み、さらにＣＡＤ／ＣＡＭソフトウェア５０２を用いて、被工作物から部品を製造するための切削ツール位置データ（ＣＬデータ）を記載する。そのＣＬデータ５０４は、部品製造のために、切削経路５０６、５０８、５１０を特定することのみを要求する。ユーザに位置決め経路を特定することを要求しない。図示されるように何ら位置決め経路を有することが示されていないが、ＣＬデータは位置決め経路を含んでいてもよいが、位置決め経路は自動的に生成されるので、位置決め経路は特定されてもよいし、除去されても又は無視されてもよい。
【００５５】
ＣＬデータ５０４は数値制御される（ＮＣ）ポストプロセッサによって処理されてもよい。ポストプロセッサ５１２はコントローラの設定及び部品が製造されるＣＮＣ機械５１６の指示を受け取る。既知の既存技術を使用して行われる、切削経路用のＮＣデータの生成に加え、後処理は、ツールを切削経路の間に動かすための位置決め経路５１８も開発する。位置決め経路開発５１８は、機械運動学５２０及びＣＮＣ機械のシミュレータ５２２を用いて、位置決め経路を開発する。ポストプロセッサ５１２は、機械独立ＣＬデータを受け取り、選択された機械にて部品を製造するために、機械依存ＮＣプログラム５２４を生成する。そのＮＣプログラム５２４は、所望の性能が実現されるのを確実にするように、ＣＮＣ機械シミュレータ５２６にて動作される。位置決め経路は、機械の特徴を考慮して、自動的に生成され、さらに最適化されるので、位置決め経路は有効である。しかし、切削経路が無効であることもあり得るし、さらにＮＣプログラムを物理的ＣＮＣ機械５３２上で動作させる以前にＣＡＤ／ＣＡＭソフトウェアにおいて調整が必要とされることもあり得る。ＣＮＣ機械シミュレータ５２２、５２６は、同一の又は分離の構成部によって提供されてもよい。有効な位置決め経路及び切削経路５３０は、部品を作るために、ＣＮＣ機械５３２によって動作されてもよい。
【００５６】
後処理５１２は機械独立ＣＬデータ５０４を機械依存ＮＣプログラム５２４にユーザの関与がほとんどなくても変換することができる。ユーザは、部品が製造される特定の機械を選択し、さらにコントローラの設定を特定することのみ要求される。つまり、部品の機械加工は、異なる機械間でも容易に行われるので、店舗の需要を満たすことができる。さらに、追加のＣＮＣ機械は、新しい機械用に既存の部品のＮＣプログラムを生成することを要求する努力の心配を不要として、店舗に追加されることができる。
【００５７】
図６は、自動的に生成される位置決め経路を用い、ＣＮＣ機械で部品を設計及び製造するための方法を示す。方法６００は、機械加工される部品の３次元モデルの製造を始める（６０２）。その３次元モデルは、典型的には、ＣＡＤソフトウェアとして言及されるような任意の適切なソフトウェアアプリケーションにおいて開発される。３次元モデルは、切削ツール位置（ＣＬデータ）として特定される切削経路を生成するために用いられる（６０４）。切削経路はＣＡＭソフトウェアによって生成される。ＣＡＤ及びＣＡＭソフトウェア機能は、単一のソフトウェアアプリケーションに組み込まれてもよい。ＣＡＭソフトウェアによって製造されたＣＬデータは、ＣＬデータを、ＮＣデータとして出力される、部品を製造するためにＣＮＣ機械を制御するための、特定コード又は命令に変換するために処理される（６０６）。ＮＣデータは、ＮＣプログラムを形成してもよい。ＣＬデータの処理は、ツールを必要とされる切削経路に沿って動かすために、切削経路を特定の機械の命令に変換する。さらに、処理は位置決め経路を判断し（６０８）、経路を有効であると検証するため、機械を切削経路の間で動かすように、位置決め経路をシミュレートする（６１０）。特定された切削経路及び開発された最適化された位置決め経路の両方のため、一旦、ＣＬデータがＮＣデータに変換されると、例えば、ＮＣデータが所望されるように機能することを検証するため、ＮＣデータはＣＮＣ機械のシミュレータ上で動作される（６１２）。方法は、ＮＣデータがシミュレータの結果に基づいて許容できるか否かを判断する（６１４）。その結果が有効であっても、つまり、位置決め経路が衝突を起こさず、さらに機械移動限界又は他の制約を破らなくても、ＮＣデータは依然として許容できないと考慮されるかもしれない。例えば、ユーザは切削経路が所望の結果を作り出さないと判断するかもしれない。ＮＣデータが許容される（６１４でＹｅｓ）と、それは、なんら制約を破ることなく所望の結果を作り出すことであり、ＮＣデータは、部品を製造するために、ＣＮＣ機械を制御するようにＣＮＣ機械にて動作される（６１６）。ＮＣデータが許容されない（６１４でＮＯ）と、それは、所望の結果を作り出さないか、又は制約を破ると、方法は、切削経路を生成すること（６０４）に戻るか、又は所望の結果を作り出すためにモデルそれ自身に戻る（６０２）。
【００５８】
図７は部品を機械加工するためのＮＣプログラムを生成する方法を示す。図示されるように、方法７００は、３つの大きなセクションを有する。第１セクション７０２では、第１切削経路用のＮＣデータと同様に、ツールを初期又はホーム配置から第１切削経路のスタート配置に移動するためのＮＣデータを生成する。第２セクション７０４では、残されている切削経路用に、位置決め及び切削経路ＮＣデータを生成する。第３セクション７０６では、方法が、ツールを最後の切削方位（位置）からホーム方位（位置）である終了方位（位置）に動かすためのＮＣデータを生成するのを示す。方法７００は、一つ以上の切削経路を特定するＣＬデータを受領する（７０８）。受領されたＣＬデータが位置決め経路をも特定するのであれば、それらは除去されるか無視される。位置決め経路は、初期の機械配置から第１切削経路のスタート配置に安全に動かされるために判断される（７１０）。一旦、位置決め経路が判断されると、位置決め経路用のＮＣデータはＮＣプログラムに追加される（７１２）。切削経路用のＮＣデータが判断され、ＮＣプログラムに追加される（７１４）。この方法は、付加された切削経路があるか否かを判断し（７１６）、７１６でＹＥＳとなると、次の切削経路が検索される（７１８）。前回の切削経路のエンド配置から次の切削経路のスタート配置まで動くための位置決め経路が判断される（７２０）。位置決め経路のＮＣデータが判断され、ＮＣプログラムに追加される（７２２）。現在の切削経路用のＮＣデータが判断され、ＮＣプログラムに追加され（７２４）、処理する他の切削経路があるか否かを再度判断する（７１６）。これ以上切削経路がない（７１６にてＮＯ）のであれば、方法は、ツールを前回の切削経路のエンド配置から、初期の機械配置と同一であるかもしれない、終点ツール配置に動かすために位置決め経路を判断する（７２６）。位置決め経路のＮＣデータをＮＣプログラムに追加し（７２８）、ＮＣプログラムに戻されるか又は保存される。
【００５９】
図８は、位置決め経路を自動的に開発することを示す。位置決め経路の開発と最適化機能８０２は、機械のスタート配置と機械のゴール配置の間に、最適化された有効な位置決め経路を生成する。図８に示されているように、位置決め経路の開発と最適化機能８０２は、機械シミュレーション機能８０４に依存している。機械シミュレーション機能８０４は、機械ツール運動学及び、ツールチッププログラミングなどのような位置決め方法に基づいてツールの動きをシミュレートするために、位置決め経路の開発と最適化機能８０２によって用いられる。機械シミュレーション機能８０４は、衝突試験８１２を行う機能、行程超過試験８１４を実行する機能、さらには移動時間計算８１６を実行する機能を含む。シミュレーション機能８０４の使用は、経路開発処理を一般的で独立の機械特徴のままとさせる。機械シミュレーション機能８０４は、使用可能な製品又は衝突試験８１２、行程超過試験８１４、及び移動時間計算８１６の機能を提供する構成部のいずれかによって提供されてもよい。機械シミュレーションは、機械運動学、機械速度及び加速度、機械の軸移動限界に違反していないかをチェックするため、さらには被工作物、及び固定具及び適切な試験結果を提供するための機械の移動又は被移動部品を含む、すべての他の周囲の物の、製造ストックにおけるダイナミックな変化と衝突を起こすか否かをチェックするため、機械位置決め方法に基づいて機械スペースにおける動きを正確にシミュレートできる。位置決め経路の開発と最適化機能８０２は、単純な衝突試験の質問（つまり、ｙｅｓ／ｎｏ質問）に依存している。位置決め経路の開発と最適化機能８０２は、距離計算又は衝突試験機能８１２によって実行される計算的に高価な衝突試験手順を必要としない。
【００６０】
図示されるように、位置決め経路の自動運動学ベースの開発及び最適化８０２は、３つの主要な段階を含む。位置決め経路開発機能８０２への入力は、機械運動学の選択と異なるコントローラ設定と一緒に、ツールの初期スタート配置及びツールのゴール配置を備える。位置決め経路開発及び最適化は、ユーザの好みに応じてスタート及びゴール配置を初期にカスタマイズするために、経路カスタマイゼーション機能８０６を用いる。方向探索及びカスタマイゼーションによる初期経路計画８０８は、カスタマイズされたスタート配置とゴール配置の間に初期位置決め経路を提供、又は提供するのを試みるために用いられる。経路計画に基づいた確定的なサンプリング８１０は、スタート配置とゴール配置の間の位置決め経路を最適化するため、接近に基づいたサンプリングを用いる。
【００６１】
初めに、スタート配置及びゴール配置は、経路のカスタマイゼーション機能８０６に提供される。ユーザから要求されたカスタマイゼーションオプションに対応するため、位置決め経路は、初期スタート配置及びゴール配置で、先ず計画される。これらの経路は、保存され、さらにそれらのエンド配置は新スタート配置及びゴール配置になる。つまり、経路カスタマイゼーション機能８０６は、スタート配置及びゴール配置を調整し、調整されたそれらの配置は経路開発機能の次のステージにて用いられる。
【００６２】
初期経路計画機能８０８は、経路カスタマイゼーション機能８０６によって調整された、スタート配置とゴール配置の間の経路計画の最適以下の解を見つけるために方向探索方法を用いる。初期経路計画機能８０８は、いくつかの潜在的に良好な方向において、機械スペースでの探索によって、経路計画についての初期の解を迅速に見つけることを試みる。この段階からの解は、スタート配置とゴール配置の間の位置決め経路であるが、この経路は最良ではないかもしれない。さらに、初期経路計画機能は、スタート配置とゴール配置の間に有効な経路を探すのに失敗するかもしれない。
【００６３】
調整されたスタート配置とゴール配置及び初期経路計画機能８０８によって見つけられた経路の解は、経路計画に基づいた確定的なサンプリング機能８１０に提供される。常時の手順及び確定的なサンプリングベースの探索技術は、スタート配置とゴール配置の間の良好な位置決め経路を見つけるための試みに用いられる。初期の経路は、スタート配置とゴール配置の間の位置決め経路を見つけるのに要求される時間の合計を低減するために、経路計画に基づいた確定的なサンプリング機能８１０によって用いられる。しかし、経路計画に基づいた確定的なサンプリング機能８１０は、初期の位置決め経路が見つけられなかったとしても有効な位置決め経路を見つけことができる。
【００６４】
図８に示されるように、位置決め経路機能８０２は、試験経路８１８を、その試験経路が有効であるか否かを判断するために、その試験経路を試験する、機械シミュレータ機能８０４に提供する。試験経路は、衝突試験機能及び行程超過試験機能を用いて、有効とされる。機械シミュレータ機能は、経路有効性８２０の結果を位置決め経路開発に戻す。図８には、示されていないが、機械シミュレータ機能８０４は、特定の機械が試験経路を実行するために必要とする合計時間を提供するために用いられてもよい。
【００６５】
図９は、位置決め経路をカスタマイズするための方法を示す。経路カスタマイズオプションは、３つの主要なオプションを含む。経路カスタマイゼーション方法９００は、被工作物の近接度及び壁検出に基づいてスタート配置とゴール配置を調整する（９０２）。スタート配置とゴール配置が近接度と壁検出に渡されると、ツールが製造中のストックに接触するか、又は壁の近くにあるかをチェックする。これは、ツールが製造中のストックと衝突するのか否かを検証するための衝突試験を用いてチェックされる。ツールが製造中のストックと衝突するか、壁に近い場合、供給の動きは、規則的な休止を除去するために、ツールと被工作物の間の近接における、空削り時間を最小化するように生成される。壁の場合、ツールが仕上げ部品の表面上に望まれない傷跡を残す方向への動きを避けることが所望される。したがって、スタート配置及びゴール配置は、ツールを製造中のストックに接触しない方向に沿って製造中のストックとの接触から撤退するように調整される。スタート配置及びゴール配置経路を調整するための経路は、その後、ＮＣプログラムにて部品を製造するために用いられる送り動きとして出力される。調整されたスタート及びゴール配置は、これらの位置での所定の手順に基づいて退避及び接近経路を用いることによってさらに調整される（９０４）。一具体例では、ユーザによって定義された方向又はこれらの位置でのツール軸方向に沿った経路が生成される。これらの経路は、ユーザリクエストに基づいた送り動きとして、迅速に出力される。これら経路の安全性は、それらが保存される前に、シミュレーションによって検証される。他の調整されたスタート配置及びゴール配置が最小安全距離に基づいて再度調整される（９０６）。このオプションの目的は、機械工作シーンにおいて、いかなる物体への最小距離よりも近くにツールを置かない経路を設計することである。これを実現するために、要求される最小安全距離に基づいたオフセット距離を有するオフセットツールが製造され、経路の安全性を検証するためのシミュレーションにおいて用いられる。これは、最小安全距離よりも物体に近い経路が、安全ではない経路であることを明らかにさせ、さらに経路計画アルゴリズムによってスキップさせる。しかし、最小安全距離オプションは、経路計画が始まる前に大きなオフセットツールを適合するスタート及びゴール位置を見つけることを必要とする。
【００６６】
図１０Ａ、１０Ｂ、１０Ｃ、１０Ｄは、位置決め経路のカスタマイゼーションを示す。図１０Ａは、被工作物１００２に対する、初期スタート配置１００４及びゴール配置１００６を示す。図示されるように、追加配置１００８、１０１０は、配置１０１２、１０１４、１０１６の間の動きを含む、位置決め経路を設置するのに判断される。図１０Ｂは、スタート配置１００４及びゴール配置１００６を調整することを示す。スタート配置及びゴール配置の調整は、同じ方法で行われてもよい。円１０１８として図１０Ｂに示される、小さな半径の球は、ツールの中心で初めに設立される。ツールの方位が一定に保持されながら、球１０８の表面は、ＸＹＺ座標で、サンプルされる。ツールをポイント１０２０に、例えば経路１０２２に沿って動かすことが、ツールを製造中のストックに接触させないか否かを判断するためにサンプルが探索される。特定の球半径用のサンプルが集められ、さらに現在のツール位置とこれらサンプルの間の動きがシミュレーション機能によって検証される。許容される動きは、現在のツール位置を除いて、ツールが製造中のストックに接触しない動きである。すべての動きが失敗するのは、球上のサンプルのどれも、現在の球の半径について良好な方向には向いていないことを意味する。新しいサンプルがその後、球から集められる。球上のサンプルは、ツール軸方向に対するサンプルの角度によって制御される。一旦、一定の球の半径の全てのサンプルが成功しないと、球の半径が一定分だけ増加され、既述のステップが解が見つかるまで繰り返される。最良の解は、最小球半径によって見つけられた解である。結果は、球の半径に等しい長さの、経路１０２２、１０２６である。代替的に、ユーザによって判断された長さは、球の最良の方向に沿って適用される。
【００６７】
図１０Ｃは、退避経路及び接近経路を使用するための配置１０２０、１０２４の調整を示す。調整されたスタート位置１０２０及びゴール位置１０２４は、これらの位置で予め定義された手順に基づいて退避経路及び接近経路を開発するために用いられる。例えば、退避経路及び接近経路は、ユーザに定義された方向又はこれらの位置でのツール軸の方向に沿って生成される。これらの経路は、急な又は送り動作として、ユーザのリクエストに応じて出力される。これらの経路の安全は、保存又は出力される前に、シミュレーションによって検証される。退避経路及び／又は接近経路を用いての前記配置の調整からの結果は、スタート及びゴールでの退避／接近手順の実行に基づいた、新しい位置１０２８、１０３２である。
【００６８】
図１０Ｄに示されているように、スタート位置１０２８及びゴール位置１０３２は、最小安全距離オプションに対応するために調整される。最小安全距離オプションは、シーンの如何なる物体への最小距離よりもツールを近くに置かない経路を設計する。この目標を達成するため、最小安全距離に基づいたオフセットを有するオフセットツール１０３６が、その経路の安全を検証するために用いられる。図１０Ｂに対応して前述された球を用いたのと類似のタイプの探索が、経路１０４０、経路１０４４に沿ってスタート配置及びゴール配置を調整するために用いられ、より大きなオフセットツールを適合する。このアルゴリズムからの結果が、より大きなオフセットツールを適合するスタート配置及びゴール配置で、新しい位置１０３８、１０４２であろう。ここで、経路計画は、ユーザによってリクエストされた要求を保証するためにより大きなオフセットツールを用いることで実行される。
【００６９】
上述のように、スタート配置及びゴール配置は、ユーザのカスタマイゼーションに対応して調整される。全てのユーザのカスタマイゼーションとして実行されるように記述されるが、カスタマイゼーションの全ての適用ではなく、一つ以上のカスタマイゼーションが適用されるのを意図される。調整されたスタート配置及びゴール配置は、位置決め経路の判断において用いられる。初期の位置決め経路がまず判断され、その後、最適化された位置決め経路の判断に用いられる。
【００７０】
図１１は機械配置スペースにおける初期位置決め経路を示す。図１１に示される機械配置スペースは、２次元であることが留意される。機械配置スペースは、一般的に例えば、３、４、５又はそれ以上の次元のような、より高次であることが理解されよう。しかし、図面は、説明を容易にするために、２次元で示される。当業者は、２次元による教示をより高次の次元にどのように適用するのかを容易に理解するであろう。処理の位置決め経路は、方向探索及びスタート配置とゴール配置との間の経路を計画するための、スタート配置とゴール配置を用いての最小化により開発される。これらの配置は、上述されたようなユーザのカスタマイゼーションオプションによって判断されるか、又は調整されないスタート配置及びゴール配置であるかもしれない。多軸機械加工の経路計画の課題は、機械上の作動軸の数に依存した多次元問題である。一般的に、そのような問題の解決は時間を費やす。初期の位置決め経路は、その課題の最適以下の解決を見つけるためのいくつかの予め定義された方向に沿って制約された探索により、課題の次元を低減することによって判断される。本明細書にて用いられる位置決め経路開発手順は、機械スペースにおいてツールの３つの動きを含む。位置決め経路は、経路１１１２に沿って中間配置１１０８に移動し、経路１１１６に沿って他の中間配置１１１０に移動し、さらに最後に経路１１１４に沿ってゴール配置１１０６に移動する。図１１に示されるように、位置決め経路１１１２、１１１４、１１１６は、例えば製造中の被工作物がある、障害ゾーン１１０２を通らない。障害領域１１０２の全ての配置は、計画条件に違反するので、それらの配置は許容されない。初期の位置決め経路を開発する第１のステップでは、ツールの向きを変えることなく、スタート配置１１０４から、作業スペースにおける、ツール軸方向のような、予め定義された方向に沿ってツールを動かすこと１１１２によって中間配置１１０８が発見される。第２のステップでは、機械スペースにおける、ツール軸のような、予め定義された方向に沿って、ゴール配置１１０６から、ツールを動かすことによって、中間配置１１１０が判断される。
【００７１】
第３のステップにおいて、中間の配置１１０８及び１１１０は、結合される１１１６。中間配置１１０８及びスタート配置１１０４のツール軸の方向は中間配置１１１０及びゴール配置１１０６のツール軸の方向と同様に、同じであるので、機械回転値はこれらの配置とも同じままである。それゆえ、スタート配置１１０４と中間配置１１０８の間の距離は、さらには中間配置１１１０とゴール配置１１０６と同様に、機械スペースにおいてユークリッド距離であり、それぞれｄｓ及びｄｇと呼ばれる。スタート配置１１０４とゴール配置１１０６の間の経路を計画するために、ｄｓ及びｄｇが特定されなければならない。二次元の最小化は、有効経路を生成したままで、移動時間を最小化するｄｓ及びｄｇを特定するために考え出された。問題の次元は、解の品質の影響力のない折衷によってさらに低減される。ｄｓ＝ｄｇ＝ｄと仮定することができる。最小化は、ｄ値を低減することにより移動時間を最小化するために、黄金分割探索（golden section search）法のような、１次元法則によってその後実行される。解は、すべての予め定義された制約を守りながら、移動時間を最小にし、かつスタート配置１１０４及びゴール配置１１０６を結合するｄ値である。１次元探索からの解は、予め設定された方向に沿った最適化された経路である。経路は、経路発見プログラムの局所的な解であり、迅速に見つけられる。
【００７２】
一旦、初期の位置決め経路が判断されると、最適化された経路は、以下に説明される接近に基づいたサンプリングを用いて開発される。スタート配置とゴール配置の間に、可能な位置決め経路のグラフを形成するために用いられる、多くのサンプルが、機械スペースから獲得される。
【００７３】
図１２は、ＮＣプログラムを開発するための他の方法を示す。方法１２００はＣＬデータを部品の生成のために受け取り（１２０２）、受け取ったＣＬデータにおける切削経路を特定する（１２０４）。各特定された切削経路のため（１２０６）、位置決め経路がツールを現在の配置からゴール配置に動かすために判断される（１２０８）。ＮＣデータが位置決め経路用に判断され、ＮＣデータが部品を生成するためにＮＣプログラムに付け加えられる（１２１０）。切削経路用のＮＣデータはＮＣプログラムに付加される（１２１２）。切削経路及び位置決め経路を記述する動きデータがシミュレータに提供される（１２１４）が、このシミュレータは切削経路に関連するシミュレートされた被工作物を更新するために動きデータを用いる。配置は、切削経路のストップ配置に更新され、次の切削経路が処理される（１２１６）。位置決め経路は、ツールをその現在の配置から、機械のホーム配置のような、エンド配置に動かすために判断される（１２１８）。最終位置決め経路用のＮＣデータが判断され、ＮＣプログラムに付加される（１２２０）。
【００７４】
図示されるように、スタート配置とゴール配置の間で位置決め経路を判断することは、被工作物近接度と壁検出（１２２２）に基づいてスタート配置及びゴール配置を調整すること（１２２４）を含む。スタート配置及びゴール配置は、相互に独立して選択的に調整される。スタート配置は、特定された退避経路を用いて調整され（１２２６）、さらにゴール配置は特定された接近経路を用いて調整される（１２２８）。再度、これらスタート配置及びゴール配置は、相互に独立して選択的に調整される。スタート配置及びゴール配置は、必要があれば、最小安全距離（１２３０）に基づいて調整される。スタート配置又はゴール配置は、配置が変えられない場合には、より大きなオフセットツールに適合するが、配置はより大きなオフセットツールについてのチェックを依然として必要とする。最小安全距離のためにスタート配置及びゴール配置を調整すると、スタート配置及びゴール配置の両方は、大きなオフセットツールがスタート配置又はエンド配置のいずれかで被工作物に接触しないように考慮されなければならない。
【００７５】
一旦、スタート配置及びゴール配置が調整されると、調整されたスタート配置からゴール配置に移動する、初期の位置決め経路が判断される（１２３２）。初期の位置決め経路は、前述のように判断されてもよい。初期の位置決め経路は、時間コストに関連される。経路の時間コストは、機械のシミュレーションを用いて判断されるか、又は機械の利用可能な情報に基づいて判断されてもよい。例えば、異なる機械軸に沿った移動の最大速度が既知であれば、経路の時間コストは経路の速度と距離を用いて見積もられる。そのシミュレーションは、例えば機械軸に沿った加速に応じることによって見積もられた、より正確な時間コストを提供する。
【００７６】
一旦、初期位置決め経路が判断されると、最適化位置決め経路、つまり完了に時間を要しない位置決め経路が判断される。位置決め経路は、技術に基づいたサンプリングを用いて判断される。機械スペースの手順及び確定的なサンプリングが判断される（１２３６）。解の品質及びサンプリングベースの経路のプランナの効率は、プランナが配置スペースをどのくらいサンプルするかに依存する。細かな分解能でのサンプリングは、より最適な経路を結果的にもたらすが、計算時間も増加させる。性能と経路品質の間のバランスをうまくとるためには、手順的（strategic）及び確定的（deterministic）なサンプリング方法が用いられる。
【００７７】
図１３は位置決め経路を開発するための機械スペースのサンプリングを示す。図は説明を容易にするために２次元でのサンプリングを示す。当業者であれば、より高い次元のために本技術教示をどのように適用するかを容易に理解するであろう。手順的及び確定的サンプリング（１２３６）は、動きの各軸の個々のサンプリングによって行われる。機械加工シーンの関連のある特徴を囲む手順的な領域は、サンプリングのために特定される。サンプル配置は、各軸用の特定された領域から取り出される。機械加工シーンの関連のある特徴を囲むこれらの領域は、スタート配置１１０４及びエンド配置１１０６を囲む領域１３０４ｃ、１３０４ｄ、既知の位置決め経路からの最適な配置１１０８、１１１０を囲む領域１３０４ａ、１３０４ｂ、及びシーンの物体のバウンディングボックスを囲む領域１３０４ｅを含むが、そのバウンディングボックスは、図１３に示されるうちの一つ１３０２であり、被工作物、固定具、セットアップクランプ（set ups clump）、保持装置、機械部品などを含む。これらのバウンディングボックスは、ＣＮＣ機械のシミュレーションから提供されてもよく、サンプリング品質を向上するために用いられる。動きの各軸は、機械の移動限界に基づいた最小値及び最大値を有する。軸最小及び軸最大の間の領域は、スタート配置及びゴール配置に対応する配置を用いて異なる区間に分割される。１３０６でそのうちの一つが参照される、黒のドットとして描かれるサンプル配置は、特定された領域から集められる。各区間は、その後、それが手順的な配置によってサンプルされたものであるか否かを検証するためにチェックされる。その大きなセクションがサンプルされていないのであれば、多くのサンプルは一つの区間から集められる。最小のサンプリング分解能が、各軸に沿ったサンプルの間の最小の可能な差を定義する。その方法は、サンプリングが成功したか否かを判断する（１２３８）。もしも軸が特定の分解能でこれ以上サンプルされないのであれば（１２３８にてＮＯ）、サンプリングは不成功であるのが表明され、さらに低い分解能でサンプルがサンプリングされないのであれば、処理はエンドとなる（１２４０）。手順的及び確定的なサンプリング（１２３６）が最小のサンプリング分解能で機械軸をサンプルできないのであれば、分解能は低減され、別のサンプルが判断される。前述されたのは、特定の領域からサンプルを獲得するための確定的なサンプリングの使用についてであるが、他のサンプリング技術が用いられてもよいことが推定できる。例えば、機械スペースのランダムサンプリングが使用されてもよいが、そのようなサンプリングは多数のサンプルを考慮することになるかもしれないし、経路を判断するための付加的な計算時間を供給するかもしれない。
【００７８】
サンプリングが成功すると（１２３８にてＹｅｓ）、各軸用に集められたサンプル１３０６は探索グラフを構築するために用いられる（１２４２）。各位置上で集められたサンプルの位置は、探索グラフとして、サンプルのグリッドネットワークを構築するために用いられる。グリッドネットワークは、近くのサンプルの明確化に基づいて構築される。一般的に、配置Ｑの近くのサンプルは、Ｑのサンプルと異なる１からＰの座標を有するが、ここでＰはスペースの次元である。例えば、ポイントＱ用の２次元（つまり、Ｐ＝２）において、８つの近くのサンプルの合計が定義される。これらの近くのサンプルのうちの４つは、Ｑとは異なる一つの座標を有し、他の４つはＱとは異なる二つの座標を有する。いったん、一つのサンプルが定義されると、サンプルのグリッドネットワークは、近くのサンプル位置を結合することによって形成される。グリッドネットワークは、その後、探索グリッドとして提供される。生成されたグラフは、Ａ＊（１２４４）のような分散発見探索を用いることによって探索される。Ａ＊探索は、スタート配置とゴール配置との間のグラフにおいて最小コスト経路を発見する。既知の解のコストは、解の上界としてＡ＊アルゴリズムにおいて用いられる。したがって、Ａ＊アルゴリズムは、既知の解よりも高価な結果となるそれらノードを取り去ることによって速くなる。
【００７９】
グラフ探索を実行した結果は、既知の解よりも安価な経路か経路がないかのいずれかである。グラフが初期の経路よりも安価な経路を提供するのを通して任意の経路があるのか否かを方法が判断する。スタートとゴールの間のグラフのノードを通して可能な全ての経路が既知の解よりも高価であるときは経路が発見されない。これは、既知の解よりも良い解を生成するのに十分良好なサンプリングがないことを意味する。それゆえ、安価な経路がないのであれば（１２４６でＮＯ）、さらなるサンプルが集められるか（１２３６）又は集められようと試みられる。戦略的なサンプリングは、前回用いられたサンプリング解にて実行されるか、又はそのサンプリング解は削減される。このステージでのさらなるサンプルは、各軸に沿った各区間のサンプルされなかった領域から集められ、さらに、サンプリングが成功すると、新しいグラフが新しいサンプルを含んで構築される（１２４２）。代替的に、新しいサンプルが既存のグラフに加えられてもよい。一旦Ａ＊アルゴリズムが前回の解よりも安価な経路を識別すると、シミュレーション及び検証機能によってチェックされ検証されることが要求される（１２４８）。その経路が無効である（１２４８でＮＯ）と、無効なセグメントが識別され、グラフから除去される（１２５４）。そして、グラフがすべて試されて空になったか否かが判断される（１２５６）。そのグラフがスタートとゴールの間でこれ以上、経路を生成することができないと、もう空になった（exhausted）（１２５６でＹＥＳ）が判断され、他のサンプルの収集のために戻る処理が行われる（１２３６）。さもなければ、グラフはまだ空ではなく（１２５６でＮＯ）、グラフは次の最小コスト経路を探すために探索される（１２４４）。検証がその経路には問題がないと報告すると（１２４８でＹＥＳ）、有効であることが表明され、方法はさらにその経路をさらに最適にすべきか否かを判断する（１２５０）。経路がさらに最適化されないのであれば（１２５０でＮＯ）、位置決め経路は戻る（１２５８）。その経路がさらに最適化されるのであれば（１２５０でＹＥＳ）、現在の位置決め経路に関連するコストが上界に設定され（１２５２）、さらに新しいサンプルが向上された経路を発見するための試みとして、引き出される（１２３６）。
【００８０】
図１４は位置決め経路を開発することを示している。図１４は、説明を容易にするために２次元での位置決め経路を描いている。当業者であれば、より高次元へこの技術の教示をどのように適用するかを容易に理解できるであろう。スタート配置１１０４とゴール配置１１０６の間の多くの潜在的な位置決め経路は、破線にて描かれている。３つの潜在的な位置決め経路が示されている。第１の経路１４０２は、それが初期の位置決め経路よりも高い時間コストを有するので、良好な位置決め経路としては提供されない。他の潜在的な経路１４０４は、低コスト経路を提供するが、すべての有効な経路のうちの最低コスト経路ではなく最適ではない。他の潜在的な位置決め経路１４０６は、最低コスト経路を提供するが、ツールが被工作物を介して動くのを要求するので制約を破り、よって有効ではない。結局、何の制約にも違反せず、さらにスタート配置とゴール配置とを結合するので、経路１４０８が有効である。経路１４０８は、初期の位置決め経路及び判断された位置決め経路１４０４よりも低時間コストも有し、さらに初期に判断された経路よりも良好な位置決め経路を提供する。スタート配置１１０４及びゴール配置１１０６は、両方とも初期に配置を受けるか、又は任意の特定された経路カスタマイゼーションに基づいて調整されるようなスタート配置及びゴール配置であってもよい。
【００８１】
上述の記載は、速い方向探索及び最小化技術を用いる初期の位置決め経路を生成することによって最適化された位置決め経路を自動的に生成することを説明した。初期の位置決め経路は、接近に基づいて確定的なサンプリングを用いる最適化された位置決め経路を生成するように用いられる。初期の位置決め経路は、接近に基づいた確定的なサンプリングを用いて最適化された位置決め経路を生成するために要求される時間を削減するが、初期の位置決め経路を有することを要求しない。そのような場合、接近に基づいて確定的なサンプリングによって発見された第１の有効な位置決め経路は、位置決め経路を最適化するためのコストの上界として用いられる。
【００８２】
図１５は、ＣＮＣ機械用の位置決め経路データを生成するための方法を示す。方法１５００は機械配置スペースでのツールのスタート機械配置及びゴール機械配置を判断する（１５０２）。それぞれの機械配置を判断することは、機械スペース内の被工作物座標スペースにおいて特定された受容ツール位置を移すことを含む。さらに、機械の配置は、経路の任意に特定されたカスタマイゼーションに基づいて調整される。その方法は、可能な機械配置のサンプリングのために、機械配置スペースにおいて、機械加工シーンの一つ以上の関連のある特徴を囲むそれぞれの領域を特定し（１５０４）、かつ機械配置スペースにおいて特定された一つ以上の領域のそれぞれから複数の可能な機械配置を判断する（１５０６）。その方法は、スタート配置をゴール配置に結合する、その複数の可能な機械配置から位置決め経路を判断する（１５０８）。その経路は、Ａ＊探索接近のような、例えば、発見的グラフ探索技術を含む様々な技術を用いて判断される。一旦、位置決め経路が判断されると、その方法は、ＣＮＣ機械のシミュレーションを用いて判断された位置決め経路が有効であるか否かを判断する（１５１０）。ＣＮＣ機械のシミュレーションは、被工作物の製造中のストック及び、機械の運動学、機械軸の移動速度及び加速制限、各制御軸の移動制限、位置決め方法、被工作物のセットアップ、機械部品の位置、又は固定具を含む機械特徴、及びクランプの位置などを用いて位置決め経路をシミュレートすることによって、位置決め経路が任意の機械加工制約に違反するか否かを判断する。位置決め経路が有効であると、その方法は、ＣＮＣ機械のツールを決定された位置決め経路に沿って動かすための位置決め経路データを生成する（１５１２）。その位置決め経路データは、ＮＣデータを含み、或は他の適切なフォーマットにて規定される。
【００８３】
図１６は経路を機械加工するためのシステムを示す。そのシステム１６００は、機械加工される部品の外形を特定するために用いられる、ＣＡＤ／ＣＡＭコンピュータ処理装置１６０２を含む。ＣＡＤ／ＣＡＭコンピュータ処理装置１６０２は、デスクトップコンピュータ又はサーバ又は類似のコンピュータ処理装置によって提供される。ＣＡＤ／ＣＡＭコンピュータ処理装置１６０２は、部品を機械加工するためのツール経路情報を生成する。ツール経路情報は、ＮＣポストプロセッサコンピュータ処理装置１６０６に供給される。その情報は、ネットワーク１６０４によって提供されるか、伝送可能な媒体又はＣＡＤ／ＣＡＭコンピュータ処理装置１６０２からＮＣポストプロセッサコンピュータ処理装置１６０６に情報を伝送するための他の通信に適する他のタイプを用いて提供される。さらに、分離された物理的なコンピュータ上に位置されるように描かれているが、ＮＣポストプロセッサは、ＣＡＤ／ＣＡＭソフトウェアとして同じコンピュータに提供されることも可能である。ＮＣポストプロセッサは、特にＣＮＣ機械１６１０、１６１２を制御するための機械規定コードを生成する。機械規定コードは、ネットワーク１６０８又は、移動伝送可能な媒体のような他の適切な通信手段に供給される、ＮＣプログラムとして規定される。
【００８４】
ＮＣポストプロセッサはスタート配置及びゴール配置に基づいて機械用の位置決め経路を自動的に設定するため及び前述のように機械のシミュレーションを用いるために、位置決め経路計画機能１６１６を含む。付加的に、又は代替的に、ＣＡＤ／ＣＡＭコンピュータ処理装置１６０２は、ＣＡＤ／ＣＡＭ装置内に上述したような位置決め経路を生成するため、同じような位置決め経路計画機能１６１４を組み込んでもよい。ＮＣポストプロセッサ機能は、特定のＣＮＣ機械における部品を機械加工するためのコードの生成を容易にするためにＣＡＤ／ＣＡＭソフトウェアに組み込まれてもよい。図示されるように、位置決め経路の自動的な生成は、ＣＮＣ機械が用いられるのを特定する以外に、ＣＮＣ機械１６１０、１６１２の異なるタイプの特定のコードがユーザからの付加的な入力を必要とすることなく、自動的に生成させる。付加的に、又は代替的に、ＣＮＣ機械１６１８、１６２０は、又はＣＮＣ機械の制御器よりも、前述された位置決め経路の生成のために、類似の位置決め経路計画機能１６１８、１６２０を組み込んでもよい。
【００８５】
前述の記載は、ＣＮＣ機械３、４又は５軸用の位置決め経路を生成することについての様々な特定の具体例を説明した。本明細書で教示されるのと同じ技術は、他の又は自由度を組み込む、他の機械加工装置に適用されることができるのを予期できる。例えば、位置決め経路は、６軸を有するＣＮＣ機械にて部品を機械加工するために、又はより多くの自由度を有するロボット機械加工装置を用いるために生成される。
【００８６】
位置決め経路計画機能がＣＡＤ／ＣＡＭコンピュータ処理装置、ＮＣプロセッサコンピュータ処理装置又はＣＮＣ機械の一つのコントローラにて実行されるか否かには無関係に、位置決め経路計画機能はそれぞれのコンピュータ処理装置のプロセッサを用いて、メモリに保存された命令を実行することによいって実行される。プロセッサによって実行されると、命令は、前述のように、位置決め経路計画機能を提供するようにコンピュータ処理装置を設定する。
【００８７】
説明は、他の部品にて、ハードウェアにて実行されるソフトウェアを含む、具体的な方法、システム及び装置を開示したが、そのような方法及び装置は、単に例示的であり、制限することを考慮していないことを留意すべきである。例えば、これらのハードウェア及びソフトウェア部品は排他的にハードウェアにて、排他的にソフトウェアにて、排他的にファームウェアにて、又はハードウェア、ソフトウェア、及び／又はファームウェアの組み合わせにて、具現化されるのを推測できる。さらに、説明された機能は、一時的又は非一時的媒体に保存されるコード又は命令として提供されてもよい。さらに、ある部品又は装置が単一の物理的な部品として示されているが、それらは複数の分離された部品として実装されてもよいことが意図される。さらにまた、本明細書にて記載された複数の分離された部品の機能は、単一の部品として提供されてもよいことが意図される。つまり、以下が具体的なシステム、方法及び装置を説明するが、当業者はそれらの具体例がそのようなシステム、方法及び装置を実行するだけではないことを容易に理解できる。
【００８８】
本発明は、一つ以上の実装の好ましい編成に関連して記載されたが、当業者は多くの変形が以下の特許請求の範囲内にて形成されることを容易に理解できる。つまり、これまでに記載したことによって、特許請求の範囲が制限されるものではない。
【図１】
0006438023.tif 000002
【図２（Ａ）】
0006438023.tif 000003
【図２（Ｂ）】
0006438023.tif 000004
【図３】
0006438023.tif 000005
【図４（Ａ）】
0006438023.tif 000006
【図４（Ｂ）】
0006438023.tif 000007
【図５】
0006438023.tif 000008
【図６】
0006438023.tif 000009
【図７】
0006438023.tif 000010
【図８】
0006438023.tif 000011
【図９】
0006438023.tif 000012
【図１０Ａ】
0006438023.tif 000013
【図１０Ｂ】
0006438023.tif 000014
【図１０Ｃ】
0006438023.tif 000015
【図１０Ｄ】
0006438023.tif 000016
【図１１】
0006438023.tif 000017
【図１２−１】
0006438023.tif 000018
【図１２−２】
0006438023.tif 000019
【図１３】
0006438023.tif 000020
【図１４】
0006438023.tif 000021
【図１５】
0006438023.tif 000022
【図１６】
0006438023.tif 000023