説明

機械加工データの直接転送を用いた工作機械の制御方法及びシステム

【課題】データを工作機械制御のための別の形式または中間形式に翻訳する必要をなくす。
【解決手段】生成システム(204)からサーボ駆動機械装置の制御に用いるための制御システム(205)へ移動経路データ(310)を直接転送するための方法及びシステム。例えば、原材料を機械加工するための工作機械及びコンピュータ支援設計ソフトウェアパッケージ(301)を含むデータ生成システム。工作機械の工具部材を指向させるための工具経路は、CADソフトウェア(302)のオペレーションインターフェースを介して、CADソフトウェアによって開かれている設計ファイルから抽出される。これに代わって、設計ファイルは最終製品の幾何学的形状ではなく、移動経路を指定するのに使用されることが可能である。CADインタープリタアプリケーションは設計ファイルから移動経路データを抽出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット工作機械または他のサーボ駆動される機械装置(サーボ駆動機械装置)と該サーボ駆動機械装置の制御用データを提供するためのシステムとのデジタル・インターフェースの分野に関する。本発明は、更に、製造されるべき部品を定義する仕様に従って材料の初期片の粗加工および/または仕上げ加工を行なう、数値制御またはコンピュータ制御工作機械により、適切な材料から装置部品を機械加工する分野に関連する。より詳細には、本発明は、製造されるべき部品を定義する機械加工データをCAD/CAMアプリケーションから機械コントローラへ直接転送することにより、そのような工作機械の動作を制御するための新しいパラダイムに関する。
【背景技術】
【0002】
近代産業においては、サーボモータによって駆動される可動部品を備えた多くの機械が存在する。これらの機械としては工業用ロボット、座標式測定機、工作機械などがある。本願においては、これらの機械群を概して「サーボ駆動機械装置」と呼ぶ。
【0003】
通常、マスターシステムは、サーボコントローラにデータを供給し、次に、該サーボコントローラはサーボモータを制御して、サーボ駆動機械装置の構成要素を適切に操作し動作させる。工作機械は、本発明が特に関連するサーボ作動機械の顕著な例である。
【0004】
最初に開発された機械、または限定的な方式で製造された機械の場合、それらの機械に特有の部品は適切な材料からなる特注品でなければならない。これは、一般に「機械加工」によって行なわれる。機械加工プロセスにおいては、所望の部品を製造するために必要に応じて、1片または1ストックの材料に対して機械的切断、研磨、穿孔および仕上げが行なわれる。以下において、原料を特定の部品に変形するために使用される機械を「工作機械」と呼ぶ。現代の工作機械は、正確さを要する仕様に従って部品を製造するために高度に精巧かつ正確に制御される。そのような現代の工作機械の大部分は、製造されるべき部品を定義する正確な数値指示を処理するコンピュータによって制御される。
【0005】
最初の数値制御工作機械は1952年に製作された3軸線フライス盤であった。所望の一部分を機械加工するための3軸線系におけるフライスヘッドの動きを指定するために数値を使用した。しかしながら、機械加工の進行とともに、仕様番号に従って、工作機械を手動で機械的に設定していた。その後電子技術が進歩するにつれ、「数値制御」工作機械は、機械加工プロセスを自動化するために益々精巧な電子技術を取り入れてきた。今日、数値制御工作機械はコンピュータプロセッサおよび電子記憶装置(RAMおよびROM)を備えている。したがって、今日の工作機械はコンピュータによって制御されており、「コンピュータ数値制御機械」と呼ばれる。
【0006】
初期のコンピュータ制御機械は穿孔テープから入力を受け取っていた。これらのテープ上に記録された指示は、入出力(「I/O」)コマンド(例えば、スピンドルまたはクーラントのオン/オフ、デフォルトのフィードレートおよびスピードなど)および動作コマンド(例えば、線形または円形方式における、あるxyz位置への移動)の双方であった。これらの指示が書き出された言語はM&Gコードと呼ばれて来た。M&Gコードはパーソナルコンピュータ用アセンブリ言語と類似しているものとして考えることが可能である。M&Gコードは、工作機械用プログラミングの最低レベルであり、一般に、構造または型にかかわらず、すべての工作機械によって許容される。最初のN/C機械が約50年前に創られたが、依然小さな変更のみで同じこのM&Gコード言語を使用して、工作機械をプログラムしている。
【0007】
過去50年にわたって、多くの企業が、理想的工作機械コントローラを造ることを試みた。これらのコントローラはカスタムハードウェアコンポーネントと高度に特定化された一種のオペレーティングシステムとからなる。これらのうちの多くは専用の閉システムであった。これらの制御システムのハードウェア用オープンアーキテクチャの実現の兆しが見えている一方で、今日の工作機械は大部分において、数十年古い技術を使用している。工作機械ハードウェアコントローラ技術に関して専用制御が維持される場合には、単にM&Gコード環境によって機械のプログラミングを行なうことが可能である。
【0008】
M&Gコードは、単一のファイルまたはプログラム内において、ワード、すなわち個々のコマンドと、ブロック、すなわちラインを使用する。1ライン上のコマンドはすべて読み込まれ、すべて同時に実行される。M&Gプログラムを作成するために、すべての工具経路(ツールパス)のための幾何学的形状をすべて計算することが必要である。前記幾何学的形状としては、例えば、所望の部品を機械加工する間に工作機械の工具先端が通過する線分および弧線などがある。この幾何学的形状から、動作および入出力コマンドが計算される。その後、これらのコマンドはM&Gコードで書き込まれなければならない。また、該コードはコントローラに入力されなければならない。元来は、M&Gコードを手動でコントローラに入力するか、またはM&Gコードをマイラーまたは紙テープへパンチして、その後、そのマイラーまたは紙テープをコントローラの読取り装置に送り込む必要があった。今日でさえ、複雑な部品を機械加工するためのM&Gプログラムを書くのは、長く退屈な作業である。
【0009】
50年代の終わりおよび60年代の初期において、多くの新しく、より柔軟なプログラム言語が出現した。アプト(Automatically Programmed Tools「APT」)はこれらの新しい言語の最初のもののうちの1つであった。技術者は、APTを使用して、工作機械の幾何学的形状、工具先端の幾何学的形状、および工作機械のI/Oを制御する機械加工のパラメータを定義する。しかしながら、利用可能な機械システムが専用的であり、それぞれ異なる性質のものであるために、APTを使用して作成されたコマンドは、結局、より基本的なM&Gコードに翻訳されなければならない。APTアプリケーションは、APTプログラム中のコマンドに基づいたカッターロケーション(工具軌跡;「CL」)ファイルを生成するために計算を行なう。CLファイルは、機械加工プロセスの間に工作機械の工具先端が通過しなければならない経路の幾何学的形状を含むアスキーファイルである。その後、このCLファイルは後処理プログラムと呼ばれるプログラムを使用して、M&Gコードに翻訳される。
【0010】
60年代および70年代において、コンピュータがそれほど高価ではなく、より高性能になるに従って、機械設計をコンピュータ利用設計(「CAD」)プログラムを使用して行うことが多くなってきた。コンピューター利用製造(「CAM」)プログラムは、ユーザーが、CADプログラムに定義された幾何学的形状を使用して、工作機械をプログラムするための工具経路を立案することを可能にする。本願では、CAD、CAMおよびCAD/CAMプログラムは、一般に「設計アプリケーション」と呼ばれる汎用クラスのソフトウェアパッケージに属するものと見なす。CAMアプリケーションによって定義された工具経路は、CLまたはAPTファイルの形式でインポートされる。前記CLまたはAPTファイルは、機械コントローラに転送される前に、M&Gコードに依然翻訳されなければならない。これは使用に際し、今日でも標準的に実施されている。
【0011】
CAD/CAMアプリケーションを使用して工作機械をプログラムする典型的な工程を図1に例示する。図1に示したように、CAD/CAMアプリケーションはワークステーション(100)上で実行される。CAD/CAMアプリケーションを使用して、工作機械および製造されるべき部品の双方の幾何学的形状を指定するCAD/CAMファイル(101)を作成する。本願では、CAD/CAMまたは同様のソフトウェアパッケージによって作成された設計情報を含むファイル(101)ファイルなどのファイルを概して「設計ファイル」と呼ぶ。
【0012】
次に、CAD/CAMアプリケーション、または恐らく別個のアプリケーションは、CAD/CAMファイルを用いて、機械加工プロセス全体にわたる工作機械チップ用のカッターロケーションデータを計算し、CLファイル(102)を作成する。CLファイル(102)はアスキーファイルである。その後、CLファイル(102)をM&Gコード(103)に翻訳することが可能である。そのM&Gコード(103)もアスキーファイルである。CLファイル(102)からM&Gコード(103)への翻訳は、一般にポストプロセッサーによって行なわれる。その後、M&Gコード(103)は工作機械コントローラ(104)に送信され、工作機械コントローラ(104)は前記コードを用いて、特定の部品を機械加工する工程全体にわたって工作機械(図示せず)を制御する。
【0013】
CAD/CAMソフトウェアからのCLファイル(102)のエクスポートを初めとして、各CLファイルは、親CAD/CAMファイル(101)に対して一方向的に関連付けられている。したがって、親CAD/CAMファイル(101)への任意の変更はインポートされたCLファイル(102)には反映されず、新しい「子」アスキーCLファイル(102)の生成を必要として、変更は常に親から子へ流れるであろう。同様に、M&Gコードファイルを準備する機械工による子ファイル(102)の変更は、恐らく、親設計ファイル(101)の変更または修正を果たさなかった。
【0014】
設計が進行するとともに、このようなデータの一方向的な流れは、全ての関連ファイルの流れを維持したり、旧ファイルを削除する作業において非常に問題となる。従って、当業界において、変更を容易にする工作機械の制御、工作機械コントローラに供給される制御ファイルの更新および管理をより良好に行なうための方法およびシステムが必要とされている。
【0015】
工作機械コントローラ同士の間において、「標準」M&Gコードであるにもかかわらず、ばらつきの問題が生じる。実際には、M&Gコードは工作機械間において一貫していない。M&Gコードを標準化するための努力はなされたが、まだ成功していない。この問題は、M&G規格が、一部の改良型プロセス工作機械が利用可能とした機能の多くを実施するための柔軟性を有していないという事実から主に生じる。これらの改良型工作機械の製造者は、コードアーキテクチャ上に新しい機械加工技術を強要するための独自の新しいコマンドを使用して、既存の規格を拡張してきた。そうでなければこれらの技術をサポートすることは不可能であった。
【0016】
例えば、多くの現代の工作機械コントローラが、真の非一様有理Bスプライン曲線(「NURBS」)を機械加工するように工作機械に命令することが可能である。これらのコントローラは、たとえそれがM&Gコード規格の一部でなくても、NURBS用コードとして非標準M&Gコードを認識する。
【0017】
その結果、標準M&Gコードに基づくことを意味する場合でさえ、現在、機械製造者および型ごとにプログラミングインターフェースおよび言語が異なっている。
【0018】
従って、当業界において、異なる構造および型の工作機械間の一貫しないM&Gコード形式の問題を回避する方法およびシステムが必要とされている。CLファイルおよびM&Gコードにおいて、幾何学的形状を製造するために、切削工具の先端が通過する幾何学的形状が一連の点として表わされる。これらの点は、切削工具の経路を定義する。この経路は、直線分および円形または螺旋形の弧線で構成される。線形でも円形でもない経路は、不連続な点または小さな線分によって近似される。消費材製品において、彫刻された表面および自由形表面は益々使用される。CADベンダーは、複雑な曲線、表面および立体をモデル化するために、ソフトウェアにおいて大きな進歩を遂げた。しかし、それらを製造するために使用される工具および技術は数十年間使用されてきたものと同じものである。
【0019】
複雑な表面は、CADプログラムの内部では単一の方程式によって表わされ得る。しかしながら、工作機械コントローラに供給される指示においては、そのような表面が、必要精度を得るために、何千もの線分として表わされる必要があり得る。図1に図示した従来のデータの流れの使用いて、この精度における損失を回避する方法はない。
【0020】
上述したように、NURBSのような複雑な経路を扱う性能を有する非常に高価な工作機械コントローラがいくつか存在する。これにより、そのような工作機械が、複雑な表面を直線補間によるよりもより速くかつ滑らかに製造することを可能にする。工作機械コントローラに所望のNURBS用の仕様を伝達する際に問題がある。工作機械コントローラと通信するために、(恐らく各曲線のために単一の方程式を使用する)CAD/CAM設計ファイル中で指定されたNURBSを、M&Gコードによって使用される線分幾何形状に翻訳しなければならない。その後、工作機械コントローラは、M&Gコードの線分指示を、(恐らく一連の点によってNURBS曲線を書き込むことにより指定される)工作機械によって使用されるNURBSコマンドに翻訳することもある。このようにNURBSを線分へ変換し、その後、真のNURBS表示へ戻すことにより、NURBSを定義する際に精度の不要な損失を生じる。
【0021】
従って、当業において、線分ベースのM&Gコードの介在による改良型工作機械コントローラによって使用される可能な異なるNURBS表示に対してCAD/CAMアプリケーションによって作成された1つのNURBS表示を送信することに関連した精度の不必要な損失を回避するシステムおよび方法がより必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【0022】
本発明の目的は、上記に記載した要望およびその他の要望を満たすことにある。特に、本発明の目的は、CAD/CAMまたは他の設計アプリケーションで生成されたデータに基づいて特定の部品を機械加工するために工作機械コントローラをプログラムする、改善されたシステムおよび方法を提供することにある。本発明のさらなる目的は、親設計ファイル中の部品設計の改版を反映する、一連の子ファイルの管理に関連した問題を回避する工作機械コントローラをプログラムするシステムおよび方法を提供することにある。
【0023】
本発明の別のさらなる目的は、異なる工作機械の構造および型において使用されるM&Gコードの様々な形式における改良型コマンドのばらつきによって生じる問題を回避する工作機械コントローラをプログラムするシステムおよび方法を提供することにある。また、本発明のさらなる目的は、NURBSのような曲線を指定する際に、例えばM&Gコードの中で使用される直線セグメントの近似による、それらの曲線の翻訳表示に関連する精度の不必要な損失を回避する工作機械コントローラをプログラムするシステムおよび方法を提供することにある。
【0024】
本発明の付加的な目的、利点および新規な特長については、これらの資料を読むかまたは本発明を実行することにより当業者が理解または習得し得る詳細な説明に述べる。本発明の目的および利点は、添付の特許請求の範囲に示された手段によって達成され得る。
【課題を解決するための手段】
【0025】
要約すると、本発明は、従来のCADワークステーションの概念的な統合化および工作機械コントローラを提供する。該工作機械コントローラは、好ましくは、2つのプロセッサ、または各々プロセッサを備える2台のコンピュータを有する。第1のプロセッサは、設計ファイルを生成、再検討(レビュー)、または修正するために使用可能である設計アプリケーション、すなわちCAD、CAD/CAM、または同様のソフトウェアパッケージを実行する。第2のプロセッサは、工作機械の制御のために必要なソフトウェアを実行する。
【0026】
工作機械の制御は、第2のプロセッサ上で実行されるソフトウェアにより、完全に行なわれ得る。いくつかのアプリケーションまたはオブジェクトを含み得る、このソフトウェアは、一般に「動作制御ソフトウェア」と呼ばれる。工作機械コントローラの一部として、付加的なハードウェアアーキテクチャは要求されない。
【0027】
移動経路データは、工作機械の少なくとも1つの工具ヘッド(ツールヘッド)が所望の製品を製造するために移動されなければならない少なくとも1つの経路を指定する。設計アプリケーション、例えばCAD/CAMパッケージのアプリケーション・プログラム・インターフェース(API)が公開されていて利用可能な場合、移動経路データを設計ファイルから直接抽出することが可能である。次に、動作制御ソフトウェアは、その工具経路データを使用して、工作機械を駆動し、特定の製品を製造することが可能である。
【0028】
設計アプリケーションのAPIが利用不可能な場合には、設計アプリケーション、例えばCAD/CAMパッケージは、動作制御ソフトウェアに対する移動経路データを直接機械加工動作制御ソフトウェア(Direct Machining motion control software)のAPIセットに渡し得る。その後、動作制御ソフトウェアは、工作機械を駆動し、かつ特定の製品を製造するために工具経路データを使用することが可能である。
【0029】
好ましくは、移動経路データは、任意の工具経路における少なくとも1つの工作機械の工具ヘッドの位置および向きと、任意の工具経路における任意の点とを指定するC++動作オブジェクトの形式で渡される。好ましくは、動作オブジェクトは3つの他のオブジェクト、すなわち、サーボ駆動機械装置要素の制御用のフィードレートおよびスピードレートを決定する速度オグジェクト、それらの移動経路における速度の推移を制御するための速度プロフィールジェネレータオブジェクト、および各移動経路を定義する情報を含む経路オブジェクトを含む。
【0030】
CADシステムから抽出された移動経路データは、通常はデカルト座標系に存在するであろう。従って、動作制御ソフトウェアは、デカルト工具経路データを適切な基準フレームに翻訳する。サーボコントローラアプリケーションは、その基準フレームから工作機械のサーボモータを駆動するためのサーボ制御信号を生成することが可能である。
【図面の簡単な説明】
【0031】
添付図面は本発明を示すものであり、かつ明細書の一部である。以下の記載と
共に、それらの図面は、本発明の原理を明示し説明する。
【図1】工作機械コントローラをプログラムするために使用される従来のシステムおよびデータ構造を示すブロック図。
【図2】本発明による工作機械コントローラシステムを示すブロック図。
【図3】図2に示した演算処理装置のより詳細なブロック図。
【図4】第1の実施形態による図2に示したサーボコントローラオブジェクトおよびシステム・インターフェースのより詳細なブロック図。
【図5】別の実施形態による、図2に示したサーボコントローラオブジェクトおよびシステム・インターフェースのより詳細なブロック図。
【図6】図3のCADインタプリタによって生成された動作オブジェクトのブロック図。
【発明を実施するための形態】
【0032】
本発明は、新規かつオープンなデジタル制御インターフェース用ソフトウェア・アーキテクチャを提供する。当業者によって認識されるように、この新しいインターフェースアーキテクチャは、制御システムと接続されるサーボ制御される機械に制御データが送信されるすべてのシステムで利用することが可能である。
【0033】
本発明のデジタル制御インターフェースおよび付随する原理の好ましい応用例としては、所定仕様に従って機械部品を製造するための工作機械の工作機械コントローラがある。例えば、本発明は、CAD/CAMパッケージのような既存の設計アプリケーションおよび工作機械コントローラの能力を利用して、CADによって生成された部品の設計図を、工作機械を適切に制御するのに必要な指示へ、より直接的かつ効率的に転送することが可能な、新しいパラダイムを提供する。本発明のプロセスは「直接機械加工(Direct Machining)」と呼ばれる。
【0034】
直接機械加工は、CLのようなアスキーファイルおよびCAD設計ファイル外に存在するM&Gコードファイルの必要性を排除する。より正確に言えば、工作機械コントローラによって元のCAD設計ファイルを読み込み、そのファイルから特定の製品を製造するための工作機械を制御するのに必要な関連機械加工データをすべて抽出することが可能である。
【0035】
本発明のこの特定用途の好ましい実施形態について、図面を参照して説明する。図2に示されるように、本発明による工作機械コントローラ(200)は従来のCADワークステーション(100)の主要な機能のうちの一部を組込んでいてもよい。特に、コントローラ(200)は、CADソフトウェアパッケージが実行される第1のプロセッサ(203)を備え得る。このプロセッサ(205)は、例えば、陰極線管モニター、LCDなどの表示装置(201)と、例えば、キーボードおよびマウス、トラックボール、ジョイスティックなどのユーザー入力装置(202)の双方に接続されている。従って、コンピュータ支援による設計図は、別のワークステーションにおいてではなく、工作機械コントローラ(200)のハードウェア上で作成または修正することが可能である。
【0036】
もちろん、工作機械コントローラ(200)のハードウェア(201,202)上における表示、再検討、および/または変更のために、別のCADワークステーションで生成された設計ファイルをプロセッサ(203)に送信することも可能である。例えば、フロッピディスク上で、またはワークステーションとコントローラ(200)との間における有線または無線のネットワーク接続を含む任意の他のファイル転送手段によって、工作機械コントローラ(200)にCADファイルを転送することが可能である。
【0037】
図2の例において、第1のプロセッサ(203)は、更に別のプロセッサ(204)を備える演算処理装置(205)の一部である。一般に、第1のプロセッサ(203)はCADまたはCAD/CAMソフトウェアパッケージ、または他の設計アプリケーションを実行する。一方、第2のプロセッサ(204)はCADソフトウェアによって生成されたデータを使用するのに必要なソフトウェアを実行して、工作機械を制御する。
【0038】
第2のプロセッサ(204)上で実行されるソフトウェアは、一般に「動作制御ソフトウェア」と呼ばれ、工作機械を制御するための完成したシステムである。付加的なコントローラハードウェアは必要ではない。
【0039】
第2のプロセッサ(204)のソフトウェアが、工作機械と通信し、同工作機械を制御することが可能であるように、システム・インターフェース(206)が、工作機械コントローラ(200)と工作機械(図2に図示せず)との間に備えられる。第2のプロセッサ(204)とシステム・インターフェース(206)との間に接続(207)が提供される。システム・インターフェース(206)について、以下により詳細に説明する。
【0040】
図2に示したデュアルプロセッサユニット(200)が好ましいが、本願に記載しているような第1または第2のプロセッサを各々備える、2台の別個のコンピュータユニット(例えば2台のPC)でも本発明を実行することが可能である。本発明の実施の際にWindows(登録商標)NT型プロセッサを使用することが可能である。
【0041】
直接機械加工を最良に行なうために、公知のアーキテクチャを備えたCAD/CAMシステムおよび機械コントローラの双方を有して、それら本質的な機能を使用可能にすることが必要である。例えば、特定の部品を機械加工するために、製造されるべき部品の設計図から各工作機械経路、つまり移動経路データの数学的な表示を作成しなければならない。
【0042】
CADまたはCAD/CAMのパッケージは、アプリケーション・プログラム・インターフェース(API)を有する。APIはOSと設計アプリケーションとの間のインターフェースである。APIは、設計アプリケーションがOSと通信する方法、およびOSが設計アプリケーションに対して利用可能にするサービスを定義する。
【0043】
工作機械を制御する動作制御ソフトウェアがそのAPIを介して設計アプリケーションにアクセスし、該設計アプリケーションによって開かれた設計ファイルから工作機械に対する工具経路を抽出することが可能である場合に、直接機械加工は最良に作動するであろう。不都合にも、従来のCAD/CAMパッケージは、この抽出を行なうのに必要な機能性を備えた公に利用可能なAPIを有していないようである。しかしながら、設計アプリケーションのAPIが利用可能な場合、本発明の最良の実施は、単に設計アプリケーションのAPIを介して、設計ファイルデータから工作機械経路を直接抽出することであり得る。この抽出は、好ましくは、第2のプロセッサ(204)上で実行されるソフトウェアによって行なわれるであろう。その後、第2のプロセッサ(204)の機械コントローラソフトウェアがこれらの工作機械経路を用いて、工作機械を制御し、特定の部品を製造することが可能である。
【0044】
概してそうであるように、CAD/CAMパッケージ用のAPIが利用可能でない場合であっても、本発明の原理は、なお直接機械加工を提供することが可能である。この場合、DMAC動作制御ソフトウェアは、工具経路情報を直接機械加工ソフトウェアへ渡すために、CAD/CAMパッケージが呼び出し可能なAPIセットを提供するであろう。
【0045】
本発明において工具経路がコントローラにどのように渡されるかを理解するためには、第1のプロセッサ(203)および第2のプロセッサ(204)上で実行されるソフトウェアのアーキテクチャに関して理解することが必要である。図3に示すように、2つの主要なアプリケーション、すなわちCADインタプリタ(301)および動作コントローラ(305)が、本発明のデュアルプロセッサーシステム上で実行される。上記の説明と同様に、かつ図3に示すように、好ましくは、CADインタプリタ(301)は、第1のプロセッサ(203)上で実行される。一方、動作コントローラ(305)は、好ましくは、第2のプロセッサ(204)上で実行される。
【0046】
CADインタプリタ(301)は設計アプリケーションと見なされる。CADインタプリタ(301)は、CADパッケージで作成された設計ファイル(309)を理解でき、その設計ファイル(309)から、関連する機械加工情報、すなわち設計ファイル(309)中にデータによって表わされる工作機械経路を抽出することが可能である。CADインタプリタ(301)は、特定の部品を製造するために制御されるコントローラまたは工作機械に関する情報をほとんど必要としない。しかしながら、工作機械の工具ヘッドを案内するために、動作コントローラ(305)が使用する移動経路データを提供するのはCADインタプリタ(301)である。
【0047】
以下により詳細に記載するように、動作コントローラ(305)は、第2のプロセッサ(204)上で実行されるアプリケーションであり、かつ本発明の動作制御ソフトウェアの一部である。また動作コントローラ(305)は、第1のプロセッサ(203)上のCADインタプリタ(301)から工具経路データ(310)を受信する。動作コントローラ(305)は、CADインタプリタ(301)からの工具経路データ(310)を、工作機械を適切に制御して特定の製品を製造するために使用され得るデータに翻訳する役目を果たす。動作コントローラ(305)は更に移動接触点(move tangency)を決定する。動作コントローラ(305)は、これらの作業を行なう2つのサブシステムを含んでいる。
【0048】
通常はCADインタプリタ(301)によって提供される移動経路データ(310)は、デカルト座標系において工具経路を指定する。動作コントローラ(305)は、工具経路データをデカルト空間からジョイント空間(joint−space)へマップするために第1動作プランナー(307)を実行する。ジョイント空間は、工具ヘッドまたは工作機械のヘッドの可能な経路を定義する座標系である。軌道プランナー(308)は、ジョイント空間のデータから、特定の経路を通って工具ヘッドまたは工作機械のヘッドを適切に移動させるのに必要なアクチュエーター値を計算する。
【0049】
図3に示したように、その後、アクチュエーター値は、本発明の動作制御ソフトウェアの更に一部であるサーボコントローラアプリケーション(306)に送信される。サーボコントローラ(306)は、工作機械ヘッドまたは工具ヘッドを特定の工具経路を通って移動させ、その結果、工作機械上の原材料から所望の部品の製造するために、サーボ制御ループを実行する責任を負う。
【0050】
好ましくは、本発明のシステムは、C++コンピュータ言語を使用して書かれたオブジェクトを使用する。C++オブジェクトは、構成要素(サブデータ構造または変数)および該構成要素に関連する方法(オブジェクト上で呼び出すことが可能である関数)の両方を有し得るデータ構造である。関数は更にオブジェクトにそのオブジェクトにおいて適切な関数を呼び出すことにより質問を「問う」ことが可能である。「回答」は、その関数の返り値によって受信される。
【0051】
C++オブジェクトは、更に継承(inheritance)および同質多形(polymorphism)の特性を有している。継承とは、オブジェクトクラスが親クラスからの特性を継承するという能力を述べている。そのため、子(または導出された)クラスに対して定義されたいかなる特定の構成要素または方法はまた、親クラスの全ての構成要素、方法および特性を有するだろう。従って、導出クラスのオブジェクトは、子クラスの構成要素または親クラスの構成要素としてのどちらとして扱ってもよい。同質多形とは、同一の親クラスから導出される全てのクラスが、同一のインターフェースを有することを可能にし、その結果、オブジェクトはそれらのクラスを親クラスとして外部的に扱うことが可能である。しかしながら、インターフェースの関数が呼び出される場合、オブジェクトの挙動は、オブジェクトの導出クラスに依って非常に異なり得る。
【0052】
動作コントローラ(305)は、上記した特殊機能を行なう構成要素オブジェクト(307および308)を含んでいる。運動学オブジェクト(307)は、デカルト値をジョイント値に変換する。ジョイントリストオブジェクト(308)は次にジョイント値をアクチュエーター値に変換する。ジョイントリストオブジェクト(308)は、好ましくは被制御の工作機械の各ジョイントの特定のジョイント・アクチュエータオブジェクトを含んでいる。したがって、ジョイントからアクチュエーターへの変換は、各ジョイントに対して別個のジョイントアクチュエーターオブジェクトによって行なわれる。その後、アクチュエーター位置および速度はソフトウェアサーボコントローラ(306)に渡される。動作コントローラ(305)が使用する運動学オブジェクトおよびジョイントアクチュエーターオブジェクトは、実際には基本クラスから導出され、それらのオブジェクトが表わす変換の種類(例えば、運動学のための3軸線または5軸線工作機械、およびジョイントアクチュエーター用のギア式ねじ(geared screw)またはボールねじ)に基づいて異なるだろう。
【0053】
サーボコントローラアプリケーション(306)は、サーボ制御ループの閉鎖およびモータとの通信のような作業を行なうオブジェクトに対するポインタを含んでいる。(図4&5を参照)。動作コントローラ(305)でのように、サーボコントローラアプリケーション(306)は基本クラスから導出されるオブジェクトを含んでいる。例えば、サーボコントローラは、サーボ制御ループを実行するオブジェクトを含む。しかし、そのオブジェクトは、同オブジェクトが実行する制御法則(例えばPIDなど)に基づいた様々な導出クラスのうちの1つになるだろう。
【0054】
機械加工情報は、好ましくは、動作オブジェクト(302)と呼ばれるC++オブジェクトによって、CADインタプリタ(301)から動作コントローラ(305)へ送られる。動作コントローラ(305)がCADインタプリタ(301)から動作オブジェクト(302)を受信した後、動作コントローラ(305)は動作オブジェクト(302)を問い合わせることにより必要な工具経路情報をすべて得る。動作オブジェクト(302)はCADインタプリタ(301)によって作成され、工具経路に沿って工具ヘッドが動作する間に任意の時間に工具が位置すべき位置および向きを動作コントローラ(305)に伝える。その後、動作プロセッサ(305)は、工具の位置、向きなどをサーボコントローラ(306)が使用するアクチュエーター値に変換するために、上述したように、該動作プロセッサ(305)が含んでいるC++オブジェクトを用いる。その後、サーボコントローラ(306)は、制御法則を用いて、工作機械のモータに適用するためのトルクを計算し、それらの値を達成する。前記制御法則は、システムに格納されており、かつ制御される工作機械に特有である。
【0055】
図4は、アナログモータを使用して、工作機械の一部を駆動して、所望の工具経路を通って機械ヘッドを移動させる本発明の実施形態を示す。そのような実施形態において、サーボコントローラ(306)はデジタル−アナログドライバ(402)を備える。デジタル−アナログドライバ(402)は、システム・インターフェース(206)中のデジタル−アナログ変換器ボード(404)にモータ(406)のデジタル制御信号を伝達する。変換器ボード(404)からのアナログ制御信号は増幅されて(407)、モータ(406)に供給される。各モータ(406)に関連したセンサ(405)は、例えば、モータ(405)の実際のトルク、位置、速度および加速度を検知して、システム・インターフェース(206)中のアナログ−デジタル変換器ボード(403)にアナログ信号を供給する。その後、デジタル化されたセンサ信号は、サーボコントローラ(306)のアナログ−デジタルドライバ(401)に供給され、フィードバックループを完成する。該フィードバックループは、サーボコントローラ(306)が特定の工具経路に従って、所望されるようにモータ(406)を駆動することを可能にするだろう。
【0056】
このプロセスは、付加的なハードウェアを必要としないソフトウェアとして完全に実施されることが可能であり、好ましくは実施される。したがって、閉じたハードウェアアーキテクチャを排除することが可能である。
【0057】
図5は、所望の工具経路を通って機械ヘッドを移動させる目的で工作機械の一部を駆動するために、デジタルモータが使用される本発明の別の実施形態を示す。この実施形態において、システム・インターフェース(206)は、高速のデータ網(506)上で各モータユニットのデジタルモータインターフェース(503)と通信するシリアル通信デバイス(502)を備える。トルク設定値を指定する制御信号が、デジタルモータインターフェース(503)によって受信され、アナログ信号に変換される。該アナログ信号は、その後、モータアンプ(504)で増幅され、特定の工具経路を通って工作機械を移動させるのに必要なように、それぞれのモータ(505)を駆動するために使用される上記のように、センサは、完全にソフトウェアにより作動されるサーボループを完成する。
【0058】
本願に述べるように、本発明の直接機械加工方法およびシステムは、従来の機械加工技術に対して多くの長所を有する。直接機械加工は、CLファイルおよびM&Gコードにおいて用いられる単なる不連続のポイントデータの代わりに、真の設計幾何学的形状を使用するために、設計から製造に至る最新のプロセスに関連する多くの問題を排除する。機械加工が元の設計幾何学的形状に基づくので、幾何学的情報の損失または近似はない。
【0059】
更に、新しいファイルが作成されないので、不注意に使用されて部品を不正確に機械加工し得る、システム上に存在する古いCLファイルおよびM&Gファイルに関する問題を有さない。設計ファイルへの変更は、制御される工作機械の操作に直接反映される。直接機械加工に関連して、元のモデルに対して現場でアクセスできるという間接的な利点がある。多くの機械加工センターが、コントローラ(200)に存在するCADモデルを用いて、製造過程内検査を行うことが可能であると同時に、この検査は、タッチプローブを使用して行われ、M&Gファイル中のカッターロケーション点からの推定とは対照的に、モデル自体に対して評価され得る。更に、コントローラ(200)に対して、該コントローラ(200)がネットワーク接続されている製品データ管理(PDM)システムから設計ファイルをチェックするように要求して、旧部品を機械加工する可能性を更に排除することが可能である。
【0060】
CADファイル(309)から工具経路を作成し、その工具経路データを組込むための動作オブジェクトを生成する方法の例について、以下においてより詳細に説明する。一般に、2種類の機械加工、すなわち粗加工(roughing)および仕上げ加工(finishing)がある。粗加工は原料から大部分の材料を除去する。一方、仕上げ加工は、に原料の表面をその部品に対して指定された正確な表面と一致させようとする。この例では、フライス削り動作(milling operation)における仕上げ用工具経路についてのみ検討する。
【0061】
工具経路は、部品の表面と工具との間の接触点(tangent point)の経路ではなく、工作機械の工具ヘッドの先端の中心が辿る経路を表わす。正面削りのようないくつかの単純な動作において、工具先端は接触点であり、よって工具経路は加工面上に直接存在する。ポケットを機械加工するようなやや複雑な機械加工において、エンドミルの側面が切削を行う。この場合、工具経路は、機械加工面から工具の半径分だけ偏位した表面上に位置する。
【0062】
そのような表面は工具と同じ半径を備えた球状の先端を有するボールエンドミルを使用して機械加工されることが多いので、自由形表面を機械加工する場合、事態は少し複雑である。工具先端位置は次の方程式を使用して、ボールエンドミルに対して計算される。
【0063】
P(s,t)=Q(s,t)+RN(s,t)−[0,0,R]上記式中、Rがボールエンドミルの半径である場合、Q(s,t)は接触点であり、N(s,t)は各接触点Q(s,t)における表面法線(surfacenormals)である。工具の球状先端が部品表面に対して正接する場合、工具先端の中心は、部品表面から工具の半径だけ偏位した面上に位置するであろう。3軸線機械加工の場合のように、工具が垂直に整列される場合、工具先端は、工具の球状の部分の中心よりZ方角へ丁度1半径分だけ低くなる。工具先端が従う表面を生成するために、表面は機械加工面から偏位され、次に、ボールエンドミルの半径分だけZ軸線に沿って下げられる。その後、この表面は鉛直面によって交差されて実際の工具経路を定義する。
【0064】
上記したC++環境において、動作コントローラ(305)に渡された動作オブジェクトはすべて、動作オブジェクト(302)から出されたクラスの実際の構成要素である。特定の制御目的のために、動作オブジェクト(302)からの様々な導出クラスがあり得る。この構成は、渡されたオブジェクトが動作オブジェクト(302)のインターフェースを有する限り、動作コントローラ(305)はどのような種類の動作オブジェクトが該動作コントローラ(305)に渡されるか認識していないということ、すなわち動作コントローラ(305)は付加的な情報を必要としない点において簡潔である。これは、CADインタプリタ(301)おいて新しい動作オブジェクトが創成・統合され、動作コントローラ(305)がそれ自体は更新されることなく、それらの動作オブジェクトを理解することが可能であることを意味する。
【0065】
上記で注意したように、動作コントローラ(305)に渡された動作オブジェクトは通常はデカルト座標において工具経路を指定するであろう。これは、機械加工操作中の経路のような規定された経路に従う動作を指定するためには便利な方法である。従って、動作オブジェクト(302)の特定の子クラスは基本デカルト動作オブジェクトクラスと呼ばれることがある。簡潔にするため、以下において、動作オブジェクトへの言及はすべて基本デカルト動作オブジェクトへの言及であると了解されるだろう。
【0066】
図6に示したように、これら、導出された動作オブジェクト(600)は、好ましくは特定クラスの3つの構成要素、すなわち、速度オブジェクト(601)、速度プロフィールジェネレータ(「VPG」)オブジェクト(602)および経路オブジェクト(603)を含む。速度オブジェクト(601)は、使用されるべき送りと速度を決定する。VPGオブジェクト(602)は速度の推移を制御する。また、経路オブジェクト(603)は、経路の幾何学的形状に関する情報をすべて含む。
【0067】
まさに動作オブジェクト(600)のように、経路オブジェクト(603)はまた、特定の経路が導出される基本クラスである。経路オブジェクトは(603)助変数方程式として幾何学的形状を記憶する。これらの助変数方程式によって、経路オブジェクト(603)は、曲線に沿った任意の点における工具の所望の位置および向きを動作オブジェクト(600)に伝えることが可能である。動作オブジェクト(600)はこの幾何学的形状を速度オブジェクト(601)およびVPGオブジェクト(602)に含まれる情報と組み合わせて、任意の時間における位置および向きを計算する。経路オブジェクト(603)は常に導出クラスの構成要素であるので、動作オブジェクトは該動作オブジェクトが協働している経路オブジェクトの種類の仕様を必要としない。
【0068】
コントローラへ幾何学的形状を転送するこの方式は、M&Gコードによって現在行われているものとは非常に異なり、いくつかの大きな意味を有する。図1の従来技術のシステムにおいて、工作機械コントローラ(104)には、工具経路を定義するために必要とされる最小限の幾何学的情報が与えられている。その後、コントローラ(104)は、この幾何学的形状を使用して連続移動経路を書き込む。例えば、2つの終点が線分を定義する。2つの終点、中心点および回転方向が、螺線または弧線を定義する。
【0069】
幾何学的な情報を送信するために、本発明の多形のC++オブジェクトを使用することにより、動作コントローラ(305)がどの種類の経路を受信したかを知る必要がなくなる。更に、前記経路は、単に、任意のレベルの必要な詳細に対するその幾何学的形状を動作コントローラ(305)に伝えることが可能である一般的な曲線としてのみ知られている。
【0070】
本願に述べたような多形のC++オブジェクトの使用により、図1に示したような従来のシステムで要求されていたよりはるかに大量のデータ処理および記憶を必要とする。しかしながら、現代のコントローラはデータ流のそのような増加を扱うために十分に速く、かつ十分なメモリを有しているので、これは重要な問題ではない。直接機械加工の重要な1つの利点は、コントローラが、それが必要とする情報量を正確に受信するということである。最終的に、入出力指令が駆動モータに送信された場合、曲線はすべて小さな不連続のセグメントへ分解されなければならない。従来、APTファイルをインポートする場合、曲線はCAMプログラムによって不連続化される。直接機械加工においては、動作コントローラが曲線を不連続化する。これは、コントローラが常にその最良の公差で機械加工することを可能にする。
【0071】
上記記載は単に発明を図示し説明するために示されたものである。上記記載は、すべてを網羅するものではなく、本発明を開示したその形態のみに制限するものではない。上記の教示から見て、多くの変更および変化が可能である。
【0072】
好ましい実施形態は、本発明およびその実用上の応用の原理について最良に説明するために選択されて記載された。前記記載は、当業者が特定の使用に適合するように、様々な実施形態において、および様々な変更を伴って本発明を最良に利用できるように企図されている。本発明の範囲は特許請求の範囲によって定義されるものである。

【特許請求の範囲】
【請求項1】
サーボ駆動機械装置と制御システムとをインターフェースするためのシステムであって、
前記サーボ駆動機械装置用の移動経路データを生成する設計アプリケーションを実行する第1のプロセッサと、
第1のプロセッサとインターフェースする第2のプロセッサと、
該第2のプロセッサは第1のプロセッサ上の前記設計アプリケーションから前記移動経路データを受信する動作制御ソフトウェアを実行することとを備え、
第2のプロセッサ上の前記動作制御ソフトウェアは、前記設計アプリケーションからの移動経路データに従って、前記サーボ駆動機械装置を制御するシステム。
【請求項2】
前記サーボ駆動機械装置は、設計仕様に従って原材料を機械加工するための工作機械である請求項1に記載のシステム。
【請求項3】
前記設計アプリケーションは、コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージである請求項2に記載のシステム。
【請求項4】
動作制御ソフトウェアは、前記コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージのアプリケーション・プログラム・インターフェースを使用して、前記設計アプリケーションから前記移動経路データを抽出する請求項3に記載のシステム。
【請求項5】
前記設計アプリケーションは、前記動作制御ソフトウェアのアプリケーション・プログラム・インターフェースを介して、前記移動経路データを前記動作制御ソフトウェアに渡す請求項1に記載のシステム。
【請求項6】
前記設計アプリケーションによって前記移動経路データを生成、再検討、または編集するために、前記第1のプロセッサとインターフェースされた表示装置およびユーザー入力デバイスを更に備える請求項1に記載のシステム。
【請求項7】
前記設計アプリケーションは、前記移動経路データを含む動作オブジェクトを作成し、前記移動経路データは、前記サーボ駆動機械装置の工具ヘッドがそれに沿って移動することになる移動経路を定義し、かつ、前記設計アプリケーションは、前記動作オブジェクトを第2のプロセッサ上の前記動作制御ソフトウェアに渡す請求項1に記載のシステム。
【請求項8】
前記動作オブジェクトが、前記サーボ駆動機械装置の構成要素を制御するためのフィードレートおよびスピードレードを決定する速度オブジェクトと、
前記移動経路中における速度の推移を制御するための速度プロフィールジェネレータオブジェクトと、
各移動経路を定義する情報を含む経路オブジェクトとを含む請求項7に記載のシステム。
【請求項9】
前記設計アプリケーションによる前記移動経路データ出力が工具経路をデカルト座標系において指定し、前記動作制御ソフトウェアは、前記デカルト工具経路データを前記サーボ駆動機械装置のモータを駆動するためのサーボ制御信号に翻訳する請求項1に記載のシステム。
【請求項10】
前記動作制御ソフトウェアは動作コントローラアプリケーションおよびサーボコントローラアプリケーションを含み、前記動作コントローラアプリケーションは、前記デカルト工具経路データを前記サーボ駆動機械装置によって定義された座標系へマップし、前記サーボコントローラアプリケーションは、前記動作コントローラアプリケーションからのマップされたデータに従って、前記サーボ駆動機械装置のサーボへ送信するための制御信号を生成する請求項9に記載のシステム。
【請求項11】
特定の設計に従って、原材料の供給物を機械加工するために工作機械を操作する方法であって、
コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージによって開かれた設計ファイルから、工具経路データを前記コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージのアプリケーション・プログラム・インターフェースを介して、抽出することを含む方法。
【請求項12】
前記工作機械の特定の要素が、前記設計ファイルから抽出された前記工具経路データによって定義された工具経路に沿って移動されるように、前記工具経路データに従って前記工作機械を制御することを更に含む請求項11に記載の方法。
【請求項13】
前記コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージによって前記設計ファイルを修正することと、
前記修正済設計ファイルから修正済工具経路データを抽出することと、
前記工作機械の特定の構成要素が、前記修正済の設計ファイルから抽出された前記修正済の工具経路データによって定義された工具経路に沿って移動されるように、前記修正済工具経路データに従って、前記工作機械を制御することとを更に含む請求項11に記載の方法。
【請求項14】
サーボ駆動機械装置と制御システムをインターフェースする方法であって、
前記サーボ駆動機械装置用の移動経路データを生成する設計アプリケーションを実行することと、
前記設計アプリケーションによる出力と同じ形式で前記移動経路データを受信する動作制御ソフトウェアを実行することと、
前記設計アプリケーションからの前記移動経路データに従って、前記動作制御ソフトウェアによって前記サーボ駆動機械装置を制御することとからなる方法。
【請求項15】
前記設計アプリケーションおよび前記動作制御ソフトウェアを異なるプロセッサ上で実行することを更に含む請求項14に記載の方法。
【請求項16】
前記サーボ駆動機械装置によって原材料を機械加工することを更に含み、前記サーボ駆動機械装置は前記移動経路データによって定義された製品を製造する工作機械である請求項14に記載の方法。
【請求項17】
前記設計アプリケーションは、コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージである請求項14に記載の方法。
【請求項18】
工具経路が最終製品の幾何学的形状とは異なって指定されるファイルを生成するためにコンピュータ支援設計ソフトウェアパッケージを使用することと、
前記設計アプリケーションによって、前記ファイルから前記移動経路データを生成することとを更に含む請求項14に記載の方法。
【請求項19】
前記設計アプリケーションによって前記移動経路データを編集することを更に含む請求項14に記載の方法。
【請求項20】
前記設計アプリケーションによって前記移動経路データを再検討することを更に含む請求項14に記載の方法。
【請求項21】
前記設計アプリケーションによって、前記移動経路データを含む動作オブジェクトを生成することと、
前記移動経路データは、前記サーボ駆動機械装置の構成要素がそれに沿って移動される移動経路を定義することと、
前記動作オブジェクトを前記動作制御ソフトウェアへ渡すこととを更に含む請求項14に記載の方法。
【請求項22】
前記設計アプリケーションによる前記移動経路データ出力がデカルト座標系において工具経路を指定し、該方法は、前記デカルトの工具経路データを前記サーボ駆動機械装置のモータを駆動するためのサーボ制御信号へ翻訳することを含む請求項14に記載の方法。
【請求項23】
サーボ駆動機械装置と制御システムとをインターフェースするためのシステムであって、
前記サーボ駆動機械装置用の移動経路データを生成するのための手段と、
前記移動経路データを生成するための手段による出力と同じ形式で前記移動経路データを受信する動作制御ソフトウェアを実行するための手段と、
前記移動経路データに従って前記サーボ駆動機械装置を制御するための手段と
からなるシステム。
【請求項24】
前記サーボ駆動機械装置は、前記移動経路データによって定義された製品を製造するために原材料を機械加工するための手段を備える請求項23に記載のシステム。
【請求項25】
前記移動経路データを生成するための手段が、コンピュータ支援設計/コンピューター支援製造ソフトウェアパッケージである請求項23に記載のシステム。
【請求項26】
前記移動経路データを再検討および編集するための手段をさらに備える請求項23に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−94159(P2012−94159A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−255649(P2011−255649)
【出願日】平成23年11月24日(2011.11.24)
【分割の表示】特願2001−584978(P2001−584978)の分割
【原出願日】平成13年5月10日(2001.5.10)
【出願人】(592087647)ブリガム・ヤング・ユニバーシティ (34)
【氏名又は名称原語表記】BRIGHAM YOUNG UNIVERSITY
【Fターム(参考)】