(57)【特許請求の範囲】
【請求項１】
高次のｎ曲線を使用して機械装置を制御するための方法であって、
電子制御式機械装置を提供するステップと、
コンピュータによって前記電子制御式機械装置との電子通信を確立するステップと、
機械装置コマンドを前記電子制御式機械装置に送信するように、前記コンピュータ上でソフトウェア・コントローラを実行するステップと、
前記電子制御式機械装置を制御するために、前記ソフトウェア・コントローラによって直接使用可能なソフトウェア・コントローラ・コマンドを生成するようにプロセス制御ソフトウェアを実行するステップと
を含む機械装置制御方法において、
前記ソフトウェア・コントローラ・コマンドは、高次のｎ曲線である、前記電子制御式機械装置に関する複数のパラメータの変化の描写に基づいており、また前記複数のパラメータの変化は、前記曲線の境界を定義する範囲パラメータの形で表現されており、
前記高次のｎ曲線描写に基づく前記ソフトウェア・コントローラ・コマンドは、該コマンドをモザイク化された形式に変換することなく直接前記ソフトウェア・コントローラで使用可能である、機械装置制御方法。
【請求項２】
前記高次のｎ曲線が機械装置の位置を記述している請求項１に記載の機械装置制御方法。
【請求項３】
前記高次のｎ曲線が機械装置の向きを記述している請求項１に記載の機械装置制御方法。
【請求項４】
前記高次のｎ曲線が溶接電圧を記述している請求項１に記載の機械装置制御方法。
【請求項５】
前記高次のｎ曲線が接着剤流量を記述している請求項１に記載の機械装置制御方法。
【請求項６】
前記高次のｎ曲線がレーザ強度を記述している請求項１に記載の機械装置制御方法。
【請求項７】
前記高次のｎ曲線が焦点距離を記述している請求項１に記載の機械装置制御方法。
【請求項８】
前記高次のｎ曲線がスピンドル速度を記述している請求項１に記載の機械装置制御方法。
【請求項９】
前記高次のｎ曲線が送り速度を記述している請求項１に記載の機械装置制御方法。
【請求項１０】
前記高次のｎ曲線が直交座標運動を記述している請求項１に記載の機械装置制御方法。
【請求項１１】
前記高次のｎ曲線が、向きおよび運動のうちの少なくとも１つを記述している請求項１に記載の機械装置制御方法。
【請求項１２】
前記高次のｎ曲線が速度を記述している請求項１に記載の機械装置制御方法。
【請求項１３】
前記高次のｎ曲線が、細区分、Ｂスプライン、非一様有理Ｂスプライン、およびベジエ数学を含む請求項１に記載の機械装置制御方法。
【請求項１４】
前記電子制御式機械装置がツールを有している請求項１に記載の機械装置制御方法。
【請求項１５】
高次のｎ曲線を使用して機械装置を直接制御するための方法であって、
電子制御式機械装置を提供するステップと、
コンピュータによって前記電子制御式機械装置との電子通信を確立するステップと、
機械装置コマンドを前記電子制御式機械装置に送信するように、前記コンピュータ上でソフトウェア・コントローラを実行するステップと、
前記電子制御式機械装置を制御するために、前記ソフトウェア・コントローラで直接使用可能なソフトウェア・コントローラ・コマンドを生成するようにプロセス制御ソフトウェアを実行するステップと
を含む機械装置の直接制御方法において、
前記ソフトウェア・コントローラ・コマンドは、高次のｎ曲線である、前記電子制御式機械装置に関する複数のパラメータの変化の描写に基づいており、また前記複数のパラメータの変化は、前記曲線の境界を定義する範囲パラメータの形で表現されており、
前記高次のｎ曲線描写に基づく前記ソフトウェア・コントローラ・コマンドは、該コマンドをモザイク化された形式に変換することなく直接前記ソフトウェア・コントローラで使用可能である、機械装置の直接制御方法。
【請求項１６】
前記高次のｎ曲線が機械装置の位置を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項１７】
前記高次のｎ曲線が機械装置の向きを記述している請求項１５に記載の機械装置の直接制御方法。
【請求項１８】
前記高次のｎ曲線が溶接電圧を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項１９】
前記高次のｎ曲線が接着剤流量を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項２０】
前記高次のｎ曲線がレーザ強度を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項２１】
前記高次のｎ曲線が焦点距離を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項２２】
前記高次のｎ曲線がスピンドル速度を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項２３】
前記高次のｎ曲線が送り速度を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項２４】
前記高次のｎ曲線が直交座標運動を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項２５】
前記高次のｎ曲線が、向きおよび運動のうちの少なくとも１つを記述している請求項１５に記載の機械装置の直接制御方法。
【請求項２６】
前記高次のｎ曲線が速度を記述している請求項１５に記載の機械装置の直接制御方法。
【請求項２７】
前記高次のｎ曲線が、細区分、Ｂスプライン、非一様有理Ｂスプライン、およびベジエ数学を含む請求項１５に記載の機械装置の直接制御方法。
【請求項２８】
前記電子制御式機械装置がツールを有している請求項１５に記載の機械装置の直接制御方法。
【請求項２９】
前記プロセス制御ソフトウェアが、１つの複雑なｎ曲線を使用する請求項１５に記載の機械装置の直接制御方法。
【請求項３０】
前記プロセス制御ソフトウェアが、複雑なｎ曲線の任意の組み合わせを使用する請求項１５に記載の機械装置の直接制御方法。
【請求項３１】
高次のｎ曲線を使用して機械装置を制御するためのシステムであって、
電子制御式機械装置と、
前記電子制御式機械装置と電子通信し、且つソフトウェア・コントローラを実行するコンピュータであって、プロセッサ、該プロセッサと電子通信するメモリ、および前記電子制御式機械装置を制御するための、前記ソフトウェア・コントローラによって直接使用可能なソフトウェア・コントローラ・コマンドを生成するプロセス制御ソフトウェアを備えたコンピュータと
を有する機械装置制御システムにおいて、
前記ソフトウェア・コントローラ・コマンドは、高次のｎ曲線である、前記電子制御式機械装置に関する複数のパラメータの変化の描写に基づいており、また前記複数のパラメータの変化は、前記曲線の境界を定義する範囲パラメータの形で表現されており、
前記高次のｎ曲線描写に基づく前記ソフトウェア・コントローラ・コマンドは、該コマンドをモザイク化された形式に変換することなく直接前記ソフトウェア・コントローラで使用可能である、機械装置制御システム。
【請求項３２】
前記高次のｎ曲線が機械装置の位置を記述している請求項３１に記載の機械装置制御システム。
【請求項３３】
前記高次のｎ曲線が機械装置の向きを記述している請求項３１に記載の機械装置制御システム。
【請求項３４】
前記高次のｎ曲線が溶接電圧を記述している請求項３１に記載の機械装置制御システム。
【請求項３５】
前記高次のｎ曲線が接着剤流量を記述している請求項３１に記載の機械装置制御システム。
【請求項３６】
前記高次のｎ曲線がレーザ強度を記述している請求項３１に記載の機械装置制御システム。
【請求項３７】
前記高次のｎ曲線が焦点距離を記述している請求項３１に記載の機械装置制御システム。
【請求項３８】
前記高次のｎ曲線がスピンドル速度を記述している請求項３１に記載の機械装置制御システム。
【請求項３９】
前記高次のｎ曲線が送り速度を記述している請求項３１に記載の機械装置制御システム。
【請求項４０】
前記高次のｎ曲線が直交座標運動を記述している請求項３１に記載の機械装置制御システム。
【請求項４１】
前記高次のｎ曲線が、向きおよび運動のうちの少なくとも１つを記述している請求項３１に記載の機械装置制御システム。
【請求項４２】
前記高次のｎ曲線が速度を記述している請求項３１に記載の機械装置制御システム。
【請求項４３】
前記高次のｎ曲線が、細区分、Ｂスプライン、非一様有理Ｂスプライン、およびベジエ数学を含む請求項３１に記載の機械装置制御システム。
【請求項４４】
前記電子制御式機械装置がツールを有している請求項３１に記載の機械装置制御システム。
【請求項４５】
高次のｎ曲線を使用して機械装置を直接制御するためのシステムであって、
電子制御式機械装置と、
前記電子制御式機械装置と電子通信し、且つソフトウェア・コントローラを実行するコンピュータであって、プロセッサ、該プロセッサと電子通信するメモリ、および前記電子制御式機械装置を制御するための、前記ソフトウェア・コントローラによって直接使用可能なソフトウェア・コントローラ・コマンドを生成するプロセス制御ソフトウェアを備えたコンピュータと
を有する機械装置直接制御システムにおいて、
前記ソフトウェア・コントローラ・コマンドは、高次のｎ曲線である、前記電子制御式機械装置に関する複数のパラメータの変化の描写に基づいており、また前記複数のパラメータの変化は、前記曲線の境界を定義する範囲パラメータの形で表現されており、
前記高次のｎ曲線描写に基づく前記ソフトウェア・コントローラ・コマンドは、該コマンドをモザイク化された形式に変換することなく直接前記ソフトウェア・コントローラで使用可能である、機械装置直接制御システム。
【請求項４６】
前記高次のｎ曲線が機械装置の位置を記述している請求項４５に記載の機械装置直接制御システム。
【請求項４７】
前記高次のｎ曲線が機械装置の向きを記述している請求項４５に記載の機械装置直接制御システム。
【請求項４８】
前記高次のｎ曲線が溶接電圧を記述している請求項４５に記載の機械装置直接制御システム。
【請求項４９】
前記高次のｎ曲線が接着剤流量を記述している請求項４５に記載の機械装置直接制御システム。
【請求項５０】
前記高次のｎ曲線がレーザ強度を記述している請求項４５に記載の機械装置直接制御システム。
【請求項５１】
前記高次のｎ曲線が焦点距離を記述している請求項４５に記載の機械装置直接制御システム。
【請求項５２】
前記高次のｎ曲線がスピンドル速度を記述している請求項４５に記載の機械装置直接制御システム。
【請求項５３】
前記高次のｎ曲線が送り速度を記述している請求項４５に記載の機械装置直接制御システム。
【請求項５４】
前記高次のｎ曲線が直交座標運動を記述している請求項４５に記載の機械装置直接制御システム。
【請求項５５】
前記高次のｎ曲線が、向きおよび運動のうちの少なくとも１つを記述している請求項４５に記載の機械装置直接制御システム。
【請求項５６】
前記高次のｎ曲線が速度を記述している請求項４５に記載の機械装置直接制御システム。
【請求項５７】
前記高次のｎ曲線が、細区分、Ｂスプライン、非一様有理Ｂスプライン、およびベジエ数学を含む請求項４５に記載の機械装置直接制御システム。
【請求項５８】
前記電子制御式機械装置がツールを有している請求項４５に記載の機械装置直接制御システム。
【請求項５９】
前記プロセス制御ソフトウェアが、１つの複雑なｎ曲線を使用する請求項４５に記載の機械装置直接制御システム。
【請求項６０】
前記プロセス制御ソフトウェアが、複雑なｎ曲線の任意の組み合わせを使用する請求項４５に記載の機械装置直接制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広義の概念では、コンピュータ援用設計（ＣＡＤ）およびコンピュータ援用製造（ＣＡＭ）の分野に関するものである。より詳細には、本発明は、ツール運動の直接制御のために複雑なｎ曲線を描写するためのシステムおよび方法に関するものである。
【背景技術】
【０００２】
機械的コンピュータ援用設計（ＣＡＤ）およびコンピュータ援用製造（ＣＡＭ）システムが長年にわたって存在している。当初、ＣＡＤ／ＣＡＭシステムは、機械部品の詳細な設計図を作成するため、および寸法や注記などの注釈を用いて設計図を記録するために使用されていた。ＣＡＤ／ＣＡＭシステムはその後、分析や製造など他の用途に発展していった。ＣＡＤ／ＣＡＭシステムを用いて部品が設計されるとき、システムは部品のコンピュータ・モデルを作成する。ＣＡＤ／ＣＡＭシステム上で部品が設計されると、ツール経路が作成されて部品の機械加工を自動化することができる。ツール経路は、機械ツールが原材料から部品を切り出す際の機械ツールの動作を制御する。ＣＡＤシステムは、部品モデルを作成し、記録し、分析するために使用され、ＣＡＭシステムは、設計モデルから生成されるツール経路を生成するために使用される。
【０００３】
ＣＡＤ／ＣＡＭシステムは製造業界で幅広く利用されている。ＣＡＤ技術は一般に、製品の１または複数の部品を設計するために使用される。製造プロセスでは、次いで自動機械装置（例えばロボット機器などの「機構」全般）が使用されて、部品を溶接し、塗装し、計測し、組み立て、１つの製品にする。例えばある部品が、ツールまたはロボットによって部品の表面に沿って動かされるペイント・ガンを用いて塗装されてもよい。同様にある部品が、ロボットによって部品の表面に沿って動かされる非接触計測センサを用いて欠陥を検査されてもよい。いずれの場合にも、ＣＡＭ技術を使用してロボット機器の運動を案内することができる。
【発明の開示】
【０００４】
ＣＡＤ／ＣＡＭシステムは、より複雑なタスクを行うために使用されるので、機械装置またはツールを効果的且つ効率よく制御することは一層難しくなる。したがってＣＡＤ／ＣＡＭシステムで使用される機械装置および／またはツールの制御を、効率よく且つ効果的な方法で提供できるようにする手段が提供されることは有用である。
【０００５】
本発明の非網羅的な実施例が、図面を参照して説明される。
【実施例】
【０００６】
高次のｎ曲線の使用によって機械装置を制御するための方法が開示される。電子制御式機械装置が提供される。コンピュータと電子制御式機械装置との間に電子通信が確立される。コントローラがコンピュータ上で稼働または実行されて、電子制御式機械装置に機械装置コマンドを送信する。プロセス制御ソフトウェアが、コントローラに制御コマンドを送るために使用される。プロセス制御ソフトウェアおよびコントローラは、高次のｎ曲線を使用して電子制御式機械装置を制御する。
【０００７】
高次のｎ曲線は、様々なアイテムを記述することができる。例えばｎ曲線は、限定されるものではないが、機械装置の位置、機械装置の向き、溶接電圧、接着剤流量、レーザ強度、焦点距離、スピンドル速度、送り速度、直交座標運動、方向付け運動、速度などを記述することができる。高次のｎ曲線は、細区分（ｓｕｂｄｉｖｉｓｉｏｎ）、Ｂスプライン関数、非一様有理Ｂスプライン関数、およびベジエ数学を含んでいてもよい。
【０００８】
電子制御式機械装置は、多様なデバイスで具現化することができる。例えば電子制御式機械装置は機械ツールまたはロボットであってもよい。
【０００９】
また、高次のｎ曲線の使用によって機械装置を直接制御するための方法が開示される。電子制御式機械装置が提供される。コンピュータと電子制御式機械装置との間に電子通信が確立される。コントローラがコンピュータ上で稼働または実行されて、電子制御式機械装置に機械装置コマンドを送信する。プロセス制御ソフトウェアが、（ＥＩＡ  ＲＳ−２７４−Ｄ規格、およびその後の改訂版によって定義された）ＡＰＴ、ＣＬ、またはＭ＆Ｇコードなどの中間プログラミング言語またはファイルへの後処理を必要とすることなく、電子制御式機械装置を直接制御するように使用される。プロセス制御ソフトウェアは、高次のｎ曲線を使用して電子制御式機械装置を制御する。またプロセス制御ソフトウェアは、コントローラによって直接使用可能なコマンドを生成する。
【００１０】
プロセス制御ソフトウェアは、使用の状況に応じて様々に構成することができる。一実施例では、プロセス制御ソフトウェアは、１つの複雑なｎ曲線を使用する。別の実施例では、プロセス制御ソフトウェアは、複雑なｎ曲線の任意の組み合わせを使用する。
【００１１】
高次のｎ曲線の使用によって機械装置を制御するためのシステムが開示され。システムは、コンピュータと電子通信状態にされた電子制御式機械装置を含む。コンピュータは、１または複数のプロセッサと、１または複数のプロセッサと電子通信するメモリと、プロセス制御ソフトウェアとを含む。プロセス制御ソフトウェアは、コントローラに制御コマンドを渡すように用いられ、次いでコントローラが機械装置を電子的に制御する。プロセス制御ソフトウェアは、高次のｎ曲線を使用して電子制御式機械装置を制御する。
【００１２】
また、高次のｎ曲線の使用によって機械装置を直接制御するためのシステムが開示される。システムは、コンピュータと電子通信状態にされた電子制御式機械装置を含む。コンピュータは、１または複数のプロセッサと、１または複数のプロセッサと電子通信するメモリと、プロセス制御ソフトウェアとを含む。プロセス制御ソフトウェアは、コントローラに制御コマンドを渡すように用いられ、次いでコントローラが機械装置を電子的に制御する。プロセス制御ソフトウェアおよびコントローラは、高次のｎ曲線を使用して電子制御式機械装置を制御する。プロセス制御ソフトウェアは、コンピュータによって直接使用可能なコマンドを生成する。
【００１３】
図１は、複雑なｎ曲線の使用を通じてツール運動を制御するためのシステム１００のブロック図である。システムは、電子制御式機械装置１０４と電子通信するコンピュータ１０２を含み、電子制御式機械装置１０４はツール、ロボット、センサなどにすることができる。追加のコンピュータを使用することもでき、以下に開示するプロセスおよび機能が複数のコンピュータ・システムに分散されてもよいことが当業者には理解されるであろう。ソフトウェア・コントローラ１０６が、機械装置１０４に送信される機械装置コマンド１０８によって電子制御式機械装置１０４を制御する。プロセス制御ソフトウェア１１０が、ソフトウェア・コントローラ１０６にコマンド１１２を提供し、ソフトウェア・コントローラ１０６はコマンド１１２から機械装置コマンド１０８を決定して、機械装置１０４に送信する。
【００１４】
プロセス制御ソフトウェア１１０は、プロセス制御を提供する任意の種類のソフトウェアであってよく、そのようなソフトウェアは、限定するものではないが、コンピュータ援用製造（ＣＡＭ）ソフトウェア、ロボット・シミュレーション・アプリケーション・ソフトウェア、座標測定機械（ＣＭＭ）ソフトウェア、ならびに工場の管理およびスケジューリング・ソフトウェアを含んでいてもよい。
【００１５】
プロセス制御ソフトウェア１１０は、コントローラ１０６を通じて電子制御式機械装置１０４を制御するために１または複数の曲線定義１１４を使用する。曲線定義１１４は、電子制御式機械装置１０４に関する任意の数のパラメータを定義していてもよく、そのようなパラメータは、限定するものではないが、表面幾何形状、曲線幾何形状、ならびに機械装置の運動および制御パラメータを含む。
【００１６】
本明細書に開示されるシステムでは、曲線定義１１４は、細区分、Ｂスプライン関数、非一様有理Ｂスプライン関数（ＮＵＲＢＳ）、およびベジエ数学によって記述されていてもよい。より一般には、曲線定義１１４は、全ての代数、多項式、ならびにパラメトリックによる曲線および表面式によって記述することができる。用語「ｎ曲線」は、本明細書では、位置および／または姿勢および／またはプロセス・パラメータを単一または複数の曲線表現に組み入れるように構成された任意の一般的な代数、多項式、またはパラメトリック曲線または表面を表すために使用される。
【００１７】
図２に、図１に示されるシステム１００の代替実施例であるシステム２００を例示する。図２では、プロセス制御ソフトウェア２１０とコントローラ２０６とが、コンピュータ・ネットワーク２２０を介して互いに電子通信状態にされた異なるコンピュータ・システム２０２、２０３上に位置している。ソフトウェア・コントローラ２０６を備えるコンピュータ・システム２０３は機械装置２０４と電子通信状態にある。当業者には理解されるように、プロセス制御コンピュータ・システム２０２とソフトウェア・コントローラ・コンピュータ・システム２０３とは、多くの異なる種類のコンピュータ・ネットワーキング技術によって互いに通信することができる。
【００１８】
図３は、コンピュータ・システム３０２の一実施例のハードウェア構成要素のブロック図である。多くの異なるタイプのコンピュータ・システムを使用して本明細書に例示するコンピュータ３０２を実現することができる。図３のブロック図は、プロセッサ３０４、メモリ３０６、ストレージ・デバイス３０８、および１または複数の通信ポート３１０を含むコンピュータ３０２の典型的な構成要素を例示する。バス３１２が、コンピュータ３０２内で全ての構成要素を電子的に結合する。これら構成要素のそれぞれは当業者に公知である。
【００１９】
より多くの構成要素がコンピュータ３０２内に含まれていてもよいことが当業者には理解されよう。例えばキーボード、マウス、ジョイスティックなど、いくつかの入力デバイス３１４が含まれていてもよい。さらに、表示画面、印刷装置などのいくつかの出力デバイス３１６が含まれていてもよい。したがってコンピュータ３０２として動作する機能を損ねることなく、コンピュータ３０２に追加の構成要素を加えてもよいことが当業者には理解されよう。
【００２０】
コンピュータ３０２は、従来のデスクトップ・コンピュータであってもよい。複数のデスクトップ・コンピュータが市販されている。しかし、コンピュータ３０２は広義のデジタル・コンピュータであることが当業者には理解されよう。本明細書で使用するコンピュータ３０２は、データを受け取って処理することができるデジタル・プロセッサを含む任意のデバイスである。コンピュータ３０２は、マイクロ・コントローラ、ハンドヘルド・コンピュータ、パーソナル・コンピュータ、サーバ、メインフレーム、スーパーコンピュータ、およびそれらの任意のバリエーションまたは関連デバイスを含めた、広範囲のデジタル・コンピュータを含む。現行の設計では、コンピュータ３０２は、典型的には、ＬｉｎｕｘまたはＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）オペレーティング・システムを実行させるＩＢＭ互換パーソナル・コンピュータである。当然、別のオペレーティング・システムを有する他のタイプのコンピュータを使用することもできる。例えばＡｐｐｌｅコンピュータまたはＵＮＩＸ（登録商標）ワークステーションをコンピュータ３０２として使用することができる。
【００２１】
図４は、電子制御式機械装置１０４の制御のために曲線定義１１４を使用するための方法を例示する流れ図である。初めに、対象とする機械装置１０４のために曲線定義１１４が定義される（４０２）。制御するツール、プロセス、機械などの種類に応じて曲線定義１１４は異なる。この曲線定義１１４はプロセス制御ソフトウェア１１０によって使用されて、機械装置１０４を制御するためにコントローラ１０６に送信するコマンドが決定される（４０４）。
【００２２】
プロセス制御ソフトウェア１１０は、コントローラ１０６用のコマンドを生成する（４０６）。コントローラ１０６はコマンドを処理し、関連する機械装置コマンドを機械装置１０４に送信する（４０８）。ソフトウェア・コントローラ１０６は、コマンドを機械装置コマンドに翻訳するように動作する。機械装置コマンドは、機械装置１０４に直接送信することができる、機械装置１０４によって理解される命令である。機械装置１０４は、機械装置コマンドを受け取ると、機械装置コマンドによって指示された通りに動作する。プロセスが完了すると（４１２）、図示するように方法を終了してもよい。さらなる制御が必要であれば、プロセス制御ソフトウェア１１０が再び曲線定義１１４からコマンドを決定し（４０４）、図示するステップが繰り返される。
【００２３】
図５は、複雑なｎ曲線の使用によってツール運動を制御するための別のシステム５００の概略的なソフトウェア・ブロック図である。ソフトウェア・コントローラ５０６が、電子制御式機械装置１０４に送信する機械装置コマンド１０８によって電子制御式機械装置１０４またはツールを制御する。ＣＡＭ（コンピュータ援用製造）ソフトウェア５０２がソフトウェア・コントローラ５０６用のコマンドを提供し、コントローラ５０６はそのコマンドから機械装置コマンド１０８を決定して、機械装置１０４に送信する。
【００２４】
以下に論じるように、ＣＡＭソフトウェア５０２は、ツール経路５１４を生成する工程計画５１２を含む。また、機械装置１０４の制御のためのデータ点を生成するために内部軌道生成器５１６も含まれる。ＣＡＭソフトウェア５０２は、典型的には、コンピュータ援用設計（ＣＡＤ）部品モデル５１８を使用する。ＣＡＭソフトウェア５０２はコントローラ５０６と直接通信することができ、あるいはソフトウェア５０２はデータ記憶装置５２０にデータを保存してもよい。本明細書で開示するように、コントローラ５０６は、データ記憶装置５２０にアクセスして様々な種類のデータまたは情報を記憶および／または検索することができる。
【００２５】
本明細書では、プロセス制御ソフトウェア１０２またはＣＡＭソフトウェア５０２が強力で効率の良い制御方法であることの例として、現行の一般的な種類のｎ曲線（ＮＵＲＢＳ）を使用する。用語「ｎ曲線」は、限定されるものではないが、例えば細区分、ベジエ、エルミート、ゴードン、Ｂスプライン、スプライン、ＮＵＲＢＳ曲線などの、全ての既存の代数、多項式、およびパラメトリック曲線の式を含む。本明細書では、複雑であり且つパラメータで記述された曲線の一般的な種類の代表例として、ＮＵＲＢＳを使用している。用語「曲線」は、位置、向き（姿勢）、または機械装置に関連する他のパラメータ変化の数学的な表現を意味する。パラメトリックｎ曲線は、範囲パラメータの関数として変化するツール位置、向き（姿勢）、およびプロセス・パラメータの数学的な表現である。この範囲パラメータを表すためにしばしば変数ｕが用いられる。
【００２６】
複雑な機械運動（例えば電子制御式機械装置１０４）の直接制御は、中間プログラミング言語またはファイルへの変換を必要とすることなく、機械装置１０４の一部であるエンドエフェクタおよび機械ツールの運動を制御するように、代数およびパラメトリックｎ曲線経路記述を使用することと定義される。プロセス制御ソフトウェア１１０は、これらの中間プログラミング言語またはファイルではなく、コマンドをソフトウェア・コントローラ１０６に直接送信する。パラメトリックｎ曲線に沿った運動の制御は、経路パラメータが直線または円弧などの経路長に線形に関係しないので、単純なものではない。これらの複雑な幾何形状の機械加工、または形状に沿った運動は、しばしばプロファイルまたは輪郭加工／運動と呼ばれる。
【００２７】
図６は、複雑な表面６１２上で複雑な曲線６１０に沿って動かされる機械装置ツール６０６を示す３次元グラフ６００である。いくつかのパラメータがグラフに示されている。位置ベクトルｐ（６０２）は、ツール６０６上の制御点６０４を位置決めする。単位ベクトルｅ（６０８）は、ツール６０６の中心線を方向付ける。曲線６１０に沿ったツール６０６の速度ｖも図示されている。フレームＸ−Ｙ−Ｚが、経路パラメータに関する基準として働く。瞬間経路パラメータのリストに他のパラメータを追加することもできる。例えば、ツール６０６が回転される場合、スピンドルｒｐｍが、考慮すべき追加のパラメータとなりうる。他の例としては、限定されるものではないが、厚さが変わる部分に沿って変更する必要が生じる場合がある溶接電圧、接着剤ディスペンサの接着剤流量、ならびにレーザ強度および焦点距離がある。
【００２８】
説明のために、プロセス制御ソフトウェア１１０の一実施例として、ＣＡＭ工程計画ソフトウェア５０２を使用する場合がある。しかし、本明細書で開示する本発明の原理を用いて、ワークセルまたは部品幾何形状を製造プロセスに関係付ける任意のシミュレーション・ソフトウェアを使用してもよいことが当業者には理解されよう。製造プロセスを計画するために現在使用されているタスク計画アクティビティは間接的なものである。
【００２９】
典型的なＣＡＭアプリケーション５０２は、分解／交差方法とともにコンピュータ援用設計（ＣＡＤ）部品モデル５１８を使用して、ツール経路５１４を生成する。これらのツール経路５１４は、送りや速度、プロセス・オーダー・コマンド、および信号（Ｉ／Ｏ）情報などの設定と共に使用されて、従来の機械装置コントローラ５０６が解釈可能なプロセス・タスクのＡＰＴ、ＣＬ、およびＭ＆Ｇコード表現を生成する。後処理として、プロセス情報および制御シーケンスが中間ファイルに記憶され、このファイルは、データ記憶装置５２０に記憶することができる。常駐コントローラ５０６は、これらのプロセス・ファイルおよび順序付けられた情報を使用して、機械装置１０４および補助機器１０４を駆動する。
【００３０】
現在、ＣＡＭ工程計画アプリケーション５０２は表面上での複雑な移動を取り扱い、また図７に示されるようにツール経路５１４を、小さく区分化された直線または円弧（漸進的）移動のモザイク状シーケンスに分解する。現行のコントローラは直接ＣＡＤ／ＣＡＭ部品モデル内の複雑なｎ曲線幾何形状にしたがって動作することができないためにこの手法が用いられる。現在の機械装置コントローラは、幾何形状または曲線が表現される複雑さ、および機械装置コントローラがサポートする運動の種類に関して制限を受ける。一例として、機械ツール・プログラミングは、通常、Ｍ＆Ｇコード・プログラムを使用して機械装置の運動および他の動作活動を制御する。Ｍ＆Ｇコード規格は、ｎ曲線など複雑な経路表現を規格に組み込んでいない。この制限を回避するために、いくつかの機械装置コントローラ製造業者は、ｎ曲線の１タイプ、例えばＮＵＲＢＳによって記述される複雑な移動を表現できるように、Ｍ＆Ｇコード規格に加えて業者独自のコードを開発している。多くのコントローラでの制限は、ＣＡＭプリプロセッサによって生成される漸進的移動が、後にＮＵＲＢＳの数学的表現に再適合されることである。これは、非効率的であり、幾何形状誤差を生み出す。
【００３１】
モザイク状の移動は通常、Ｘ−Ｙ−Ｚ（３軸）機械装置を使用するときには、ツールの向きに関係なく小さな線形移動の大きなシーケンスとして記述され、あるいはツールの向きを考慮する場合に５および６軸機械装置を使用するときには、多数の密に間隔を取られたジョイント値として記述される。運動の有効性は、機械装置コントローラが多数の密に間隔を取られた移動をどれだけ速く処理することができるか（またはそこを通って移動できるか）に依存する。これは、ブロック（移動データ）転送率によって制約される可能性があるので、機械ツールの送り速度を上げるための制限要因の１つである。
【００３２】
より最近の機械ツールコントローラのいくつかは、再適合する必要なくいくつかのタイプのｎ曲線（例えばＮＵＲＢＳ）を受け入れるが、これもまた中間プログラミング言語またはファイルの使用によって行われ、直接制御の形では行われない。さらに、これらのより最近のコントローラは、使用されるｎ曲線のタイプを直交座標曲線に限定する。向き運動および他の機械装置パラメータは、依然としてモザイク形式で記述されている。
【００３３】
本明細書で使用するとき、用語「直交座標曲線」は、３次元（すなわちＸ−Ｙ−Ｚ）空間内での機械装置の位置運動を記述する３次元以下のｎ曲線を表す。用語「直交座標曲線」は、回転または他の機械装置制御パラメータを扱う運動を表さない。用語「直交座標」は、オブジェクトまたは機械装置の３次元（すなわちＸ−Ｙ−Ｚ）空間内での位置を扱う。
【００３４】
本明細書で開示する実施例は、機械装置１０４の一般的な制御において、高次のｎ曲線の使用を扱う際に使用することができる。また本明細書における実施例は、高次のｎ曲線を含む、ｎ曲線に沿った機械装置の直接制御における高次の曲線の使用を扱う際に使用することができる。本明細書における実施例を様々な他の文脈および実施態様で適用してもよいことを当業者には理解されよう。
【００３５】
以下に、機械装置１０４の一般的な制御で、高次のｎ曲線の使用を扱う適用例を説明する。本明細書における用語「高次（ｈｉｇｈｅｒ−ｄｉｍｅｎｓｉｏｎａｌ）」は、限定されるものではないが、直交座標運動、方向付け（指向）運動、速度、送り速度、スピンドル速度、ならびに（溶接電圧、接着剤流量、レーザ強度および焦点距離などの）他の機械装置パラメータの定義を含むことができるｎ曲線の使用を表す。本発明の原理は、一般に機械装置の制御における高次のｎ曲線の使用を開示するものであり、高次のｎ曲線の任意の特定の数学的、電子的、または物理的な構成あるいは記憶に実施例を限定するものではない。
【００３６】
高次のｎ曲線の使用は、１つのｎ曲線に関して、位置、向き（指向）、ならびに（溶接電圧、接着剤ディスペンサの接着剤流量、およびレーザ強度および焦点距離などの）他の機械装置パラメータでの機械装置活動の記述を可能にする。この様式では、任意の数または組み合わせの位置、向き、ジョイント値、および他の機械装置制御パラメータを、単一または複数の曲線定義に組み合わせることができる。
【００３７】
また、高次のｎ曲線は、別の非従来的な様式での機械装置１０４の制御を可能にする。一例として、パラメトリック直交座標曲線を使用すると、機械装置運動は通常、何らかの速度または送り速度によって特定される。次いでコントローラ１０６が機械装置１０４の速度を所期の速度または送り速度に保ちながら機械装置１０４を移動させる。高次のｎ曲線を使用する機械装置１０４の非従来的な制御は、他のパラメータを制御パラメータとして特定することができる。一例として、接着剤ガンが特定の経路を辿っており、任意の一点に塗布すべき接着剤の量が一様でなく、しかし接着剤の流量が一定に保たれている場合、接着剤の流量を制御パラメータとして使用することができる。この場合、機械装置１０４の速度、および全ての他のパラメータが、接着剤流量の関数となる。
【００３８】
さらに、高次のｎ曲線は、複数の機械装置１０４の連係制御を可能にする。この場合、２以上の個別機械装置および／または複合機械装置１０４の運動および／または活動が、機械装置それぞれの運動および／または制御パラメータを単一または複数の高次のｎ曲線に組み合わせることによって、連係した形で制御される。
【００３９】
上述したように、本明細書における実施例は、高次のｎ曲線を含む、ｎ曲線に沿った機械装置１０４の直接制御において高次の曲線を使用することを扱うのに用いることもできる。以下に、ｎ曲線に沿った機械装置１０４の直接制御での高次の曲線の使用の適用例を記述する。
【００４０】
この方法は、直接制御の概念に基づいており、ＣＡＭ５０２または他のプロセス制御ソフトウェア１１０が、コントローラ・ソフトウェア（例えば運動計画およびサーボ制御ソフトウェア）としていずれも同じコンピュータ１０２に常駐しており、あるいは無線を含むネットワークによって制御コンピュータ２０３に接続されている。これらの異なる構成が図１と図２に例示されている。この方法での１つの相違は、ＣＡＭプロセス５０２、または他のプロセス制御ソフトウェア１１０によって生成されるプロセスが、コマンドを中間ファイルおよびコントローラプログラミング言語に後処理する必要なく、ソフトウェアベースのコントローラによって直接扱われることができることである。
【００４１】
図８は、ｎ曲線に沿った電子制御式機械装置１０４の直接制御のために曲線定義を使用する方法を例示する流れ図である。初めに、対象の機械装置に関して曲線定義が定義される（８０２）。制御されるツール、プロセス、機械などの種類に応じて曲線定義は変わる。この曲線定義をプロセス制御ソフトウェア１１０が使用して、機械装置１０４を制御するためにコントローラ１０６に送信すべきコマンドを決定する（８０４）。
【００４２】
プロセス制御ソフトウェア１１０は、コントローラ１０６によって直接使用可能なコントローラ１０６用のコマンドを生成する（８０６）。コントローラ１０６用のコマンドは、コントローラによって使用できるようにするための処理が必要ないので、コントローラ１０６によって直接使用可能である。コントローラ１０６はコマンドを処理し、関連する機械装置コマンドを機械装置１０４に送信する（８０８）。コントローラ１０６は、コマンドを機械装置コマンドに翻訳するように働く。機械装置コマンドは、機械装置１０４（例えばツールや機器など）に直接送信することができ、機械装置１０４によって理解される命令である。機械装置１０４は、機械装置コマンドを受信すると、機械装置コマンドによって指示された通りに動作する。プロセスが完了した場合、図示される方法を終了することができる。さらなる制御が必要な場合には、プロセス制御ソフトウェア１１０が再び曲線定義からコマンドを決定し（４０４）、図示されるステップが繰り返される。
【００４３】
直接制御方法の下では、運動計画ソフトウェアは、ＮＵＲＢＳなど複雑なｎ曲線を直線および弧などのより低次の形式にモザイク化する必要なく、ＣＡＭアプリケーション５０２で複雑なｎ曲線表現を直接処理する。ソフトウェアベースの内部軌道生成器５１６が、所定の軌道速度でｎ曲線に沿って機械装置１０４を移動させ、ソフトウェアベースのサーボ制御ループを閉じるために使用されるジョイント設定点を生成する。
【００４４】
図９に示されるように、直交座標パラメトリックｎ曲線は通常、曲線に沿った位置を、曲線の境界または範囲を記述する何らかの曲線パラメータに関係付ける。位置は、ｎ曲線パラメータ値の関数として変化するので、ツール９０６基準点のＸ−Ｙ−Ｚ座標に関するサイズ３の位置ベクトルによってしばしば表現される。この表現は、３つよりも多いジョイントを有する機械装置に関するツール姿勢（位置および向き）について説明せず、そのような機械装置のいくつかは、曲線に沿ってツールを一意に方向付けるために、向きジョイントを有する。例としては、Ｘ、Ｙ、Ｚ、Ａ、およびＢ軸を有する５軸機械ツール、６つの回転ジョイントを有する６軸ロボットなどである。
【００４５】
高次のｎ曲線は、複数の軸および任意の数のプロセス制御パラメータを有する機械を制御するための最適な式を提供する。例えば図１０に示されるように、ツール運動の制御は、プロセスに関係する制約因子、例えば溶接ピッチ角に応じてツール位置とツール向きの両方を変えることをしばしば必要とする。このシステムは、以下に説明する２つの方法の一方で表現することができる複雑な曲線に沿った複雑なツール姿勢（位置および向き）の直接制御を含む。さらにまた、この方法は、ツール送り速度またはスピンドルｒｐｍなど他の制御パラメータが、以下の２つの方法で記述される制御ベクトルを展開し、それにより５または６次の曲線を、７または８次、さらにはｎ次の曲線に拡張することができるようにする。
【００４６】
ツール姿勢はいくつかの形で表現することができる。位置は３つの座標（Ｘ、Ｙ、Ｚ）に関して表現され、向きは、角度の集合によって、または軸対称のツールに関しては方向余弦の集合として表現することができる。方向余弦は、向き角度の余弦である。ここで、姿勢は一般に、位置座標と向きパラメータを組み合わせることによって、複雑なｎ曲線の式で使用される１または複数の制御点ベクトル式として表現することができる。ここでも、これらのベクトル式は、ＣＡＭアプリケーション５０２または他の工程計画ソフトウェア１１０で使用される何らかの計画アルゴリズムに従って、経路に沿って変わる場合がある送り速度（経路速度）、スピンドルｒｐｍ、溶接電圧など追加の制御パラメータを含むように拡張させることができる。
【００４７】
複雑な曲線を表現するための第１の方法は、ＮＵＲＢＳ、ベジエ、エルミートなど、１つの複雑なｎ曲線を使用することである。このｎ曲線は、ｎ次元のベクトルを使用して位置、向き、およびプロセス制御パラメータを表す。適用する際にはｎ次と指定されるが、ｎは、同時に制御される次元の数を表す数値として選択される。これは機械装置タイプまたはプロセスに依存している。ベクトルは、位置座標と向きパラメータ（角度または方向余弦）とを組み合わせて、姿勢ベクトルを作り出す。このベクトルは、送り速度およびスピンドルｒｐｍなど追加のプロセス制御パラメータを含むこともでき、あるいはセンサへの何らかの出力を合図する信号値、または複雑な曲線に沿ったある点で何らかのデバイスを活動化させる信号値を含むこともありうる。例えば５軸機械ツールは、典型的には、３つの位置座標と２つのみの向き角度とを使用して、複雑な曲線に沿った移動の関数としてツール姿勢を記述する。プロセスの期間中に機械装置ジョイントの部分集合体を使用することを特定のプロセスが要求する場合には、より少ないパラメータが使用される場合もある。一例としては、ツール向きが、次の移動シーケンス中に固定されて保たれる場合である。
【００４８】
ｎ次の曲線は、プロセス制約に応じてツール経路５１４を生成する工程計画ソフトウェア５１２によって、ＣＡＭアプリケーション５０２内で生成される。このｎ次の曲線を生成するために用いられる方法に制限は加えられない。ｎ曲線に沿った各点が、一意の（固有の）ツール姿勢ベクトル（位置および向き）を表しており、これは範囲パラメータによって定義される曲線の範囲（または境界）によって限定され、且つ必要に応じて他の制御パラメータによって拡張されたものである。範囲パラメータに加えて、典型的な曲線パラメータは、制御点およびノット・ベクトルであり、これらは、複雑なｎ曲線に沿って移動するときには送り速度およびスピンドルｒｐｍなど他の制御パラメータの変化を含むｎ次元空間内でのこの曲線の形状を一意に表している。
【００４９】
数学的には、重要な経路および運動制御パラメータを、図１１に示されるｎ次制御点ベクトル１１０２に集約することができる。この例では、ツール姿勢、ツール送り速度、およびスピンドルｒｐｍに関する８つのパラメータを含むが、より多く含むこともできる。ＮＵＲＢＳのｎ次曲線は、このベクトル表現を使用して、開始範囲パラメータから終了範囲パラメータ値まで、曲線に沿った範囲パラメータの関数として８つ全てのパラメータの変化を表す。向きは３つの方向余弦によって表現されるが、この表現形式の代わりに使用することができる他の向き表現もある。例えば図１１のｎ曲線制御ベクトルが、余弦値ではなく、角度α、β、およびγを渡すことができる。
【００５０】
運動計画およびサーボ制御ソフトウェアは、範囲パラメータの関数としてツール姿勢に関する単一の曲線を処理すること、および移動に沿って変化する場合には送り速度およびスピンドルｒｐｍ、ならびにその他の制御パラメータを変更することが必要である。これは、空間内で曲線に沿って機械装置が移動するとき正しくツールの姿勢を定める上で必要とされる全ての機械装置軸のための設定点（セットポイント）を生成する。
【００５１】
以下は、複雑な曲線に沿った複雑なツール姿勢の直接制御を表すための別の方法である。この方法は、ＮＵＲＢＳなど複雑なｎ曲線数学的表現の任意の組み合わせを使用してツール姿勢を表現する。例えば１つのＮＵＲＢＳ曲線（あるいは任意の組み合わせでのベジエ、スプライン、代数、または多項式）は、Ｘ−Ｙ−Ｚ制御点ベクトルを用いてツール姿勢を表現するように使用することができ、また２つの追加のＮＵＲＢＳ曲線は、一方をＡ軸、他方をＢ軸に関するものとしてツール向きを表すように使用することができる。別の表現は、向き（指向）角度を、ツール向きベクトルの方向余弦で置き換えることができる。典型的なパラメータは、数学的ｎ曲線の形状を一意（固有に）に表す制御点およびノット・ベクトルである。さらに、ｎ曲線に沿ったこれらのパラメータの変化が、曲線の（開始および終了）境界を定義する範囲パラメータに関して表される。
【００５２】
同様に、他のｎ曲線の組み合わせを使用して、６パラメータ姿勢ベクトル（３つの位置座標、３つの向き角度または方向余弦）の部分集合体を表すことができる。ｎ曲線の組み合わせ、および個々のｎ曲線の次元表現は、最大で、ツールの姿勢を定めるのに必要な６次元まで追加される。
【００５３】
経路位置および向きのｎ曲線によって記述される経路に沿って変化するときには、送り速度およびスピンドルｒｐｍなど他の制御パラメータを追加のｎ曲線を使用して表すことができる。
【００５４】
非効率的な方法は、姿勢ベクトル全般の各次元に関して単一のｎ曲線を使用する場合がある。６つ未満のジョイントを有する機械装置、またはより少ない次元を必要とするタスクには、より少ない次元、したがってより少ないｎ曲線が必要になる。より単純な機械装置は、ツール姿勢の次元を制限する。
【００５５】
これらの数学的表現は、プロセス制約の関数としてツール経路５１４を生成する工程計画ソフトウェア５１２によって、ＣＡＭアプリケーション５０２で生成される。これらの曲線を生成するために使用される方法に制限は加えられない。ただし、曲線がパラメータ範囲に関係付けられる。
【００５６】
要約すると、第１の方法と第２の方法とは、どちらも１または複数のｎ曲線（または他の複雑な曲線表現）を使用するものであり、機械装置タイプに応じて各曲線がｎ以下の次元を有する。これらの複雑な曲線は、その範囲パラメータに１対１で関係する。
【００５７】
運動計画およびサーボ制御ソフトウェアが、同じ範囲パラメータの関数としてツール姿勢に関して全てのｎ曲線を同時に処理することが必要である。これは、正しくツールの姿勢を定めることに関連する全ての機械装置軸のための設定点を生成する。
【００５８】
本発明の特定の実施例および適用例を例示して説明してきたが、本発明が、本明細書に開示した明確な形状および構成要素に限定されないことを理解されたい。本発明の精神および範囲を逸脱することなく、本明細書に開示した本発明の方法およびシステムの構成、動作、および細部に、当業者に明らかであろう様々な修正、変更、および変形を加えることができる。
【図面の簡単な説明】
【００５９】
【図１】複雑なｎ曲線の使用によってツール運動を制御するためのシステムのブロック図である。
【図２】複雑なｎ曲線の使用によってツール運動を制御するための別のシステムのブロック図である。
【図３】コンピュータ・システムの一実施例のハードウェア構成要素のブロック図である。
【図４】電子制御式機械装置の制御のために曲線定義を使用するための方法を例示する流れ図である。
【図５】複雑なｎ曲線の使用によってツール運動を制御するための別のシステムの概略的なソフトウェア・ブロック図である。
【図６】複雑な表面上で複雑な曲線に沿って移動される機械装置ツールを示す３次元グラフである。
【図７】小さく区分化された直線または円弧（漸進的）移動のモザイク状シーケンスを例示するツール経路のグラフである。
【図８】電子制御式機械装置の直接制御のために曲線定義を使用するための方法を例示する流れ図である。
【図９】直交座標パラメトリックｎ曲線が典型的に、曲線に沿った位置を、曲線の境界または範囲を記述する何らかの曲線パラメータに関係付ける様を例示する図である。
【図１０】ツール運動の制御が、プロセスに関係する制約に従ってツール位置とツール向きの両方を変えることをしばしば必要とする様を例示する図である。
【図１１】経路および運動制御パラメータをｎ次制御点ベクトルに集約することができることを示す図である。
【図１】
0004644490.tif 000002
【図２】
0004644490.tif 000003
【図３】
0004644490.tif 000004
【図４】
0004644490.tif 000005
【図５】
0004644490.tif 000006
【図６】
0004644490.tif 000007
【図７】
0004644490.tif 000008
【図８】
0004644490.tif 000009
【図９】
0004644490.tif 000010
【図１０】
0004644490.tif 000011
【図１１】
0004644490.tif 000012