(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167159
(43)【公開日】2024-12-03
(54)【発明の名称】設計アプリケーションにおける数値制御ツールパスの生成とマッピングのためのシステム及び方法
(51)【国際特許分類】
G05B 19/4093 20060101AFI20241126BHJP
G06F 30/10 20200101ALI20241126BHJP
【FI】
G05B19/4093 J
G06F30/10 100
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024064993
(22)【出願日】2024-04-12
(31)【優先権主張番号】18/315,050
(32)【優先日】2023-05-10
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】515322297
【氏名又は名称】ゼネラル エレクトリック テクノロジー ゲゼルシャフト ミット ベシュレンクテル ハフツング
【氏名又は名称原語表記】General Electric Technology GmbH
【住所又は居所原語表記】Brown Boveri Strasse 8, 5400 Baden, Switzerland
(74)【代理人】
【識別番号】100105588
【弁理士】
【氏名又は名称】小倉 博
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】イギット、ギュネス アブニ
(57)【要約】 (修正有)
【課題】設計アプリケーションにおける数値制御ツールパスの生成とマッピングのためのシステム及び方法を提供する。
【解決手段】複雑な形状のコンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成する方法。本方法は、CADモデルの表面上に1以上の基準点を定義するステップと、CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成するステップと、各基準点を直線で一つにつないで、直線の合成によって第1のツールパスが形成されるようにするステップと、CADモデルの表面を横断する第2のツールパスを生成するステップと、CADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成する方法であって、前記表面が複雑な形状を有しており、当該方法が、
CADモデルの表面上に1以上の基準点を定義するステップと、
CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成するステップと、
各基準点を直線で一つにつないで、直線の合成によって第1のツールパスが形成されるようにするステップと、
CADモデルの表面を横断する第2のツールパスを生成するステップと、
CADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成するステップと
を含む方法。
【請求項2】
CADモデルの表面の1以上の角部、CADモデルの表面の1以上の縁部及びCADモデルの表面に沿った複数の点のうちの1以上を選択することによって、第1のツールパス及び第2のツールパスを定義することをさらに含んでおり、第1のツールパス及び第2のツールパスは、実質的に垂直に配向した境界及び実質的に平行に配向した境界の少なくとも1つを定義する、請求項1に記載の方法。
【請求項3】
第1のツールパスの分解能を選択することをさらに含む、請求項2に記載の方法。
【請求項4】
分解能を選択することが、一つにつながれる直線の長さによって定義される第1のツールパスの所望の長さを選択することをさらに含む、請求項3に記載の方法。
【請求項5】
分解能を選択することが、所望のツールパス当たりの点の数の値を選択することをさらに含む、請求項3に記載の方法。
【請求項6】
複数の中間ツールパスを生成する前に中間ツールパスのステップ距離を選択することをさらに含んでおり、ステップ距離が、隣接ツールパスを隔てる距離として定義される、請求項2に記載の方法。
【請求項7】
実質的に平行に配向した境界間に複数の平行ツールパスを生成することをさらに含む、請求項6に記載の方法。
【請求項8】
実質的に垂直に配向した境界間に複数の垂直ツールパスを生成することをさらに含む、請求項6に記載の方法。
【請求項9】
実質的に垂直に配向した境界又は実質的に平行に配向した境界のうちの1つに沿って位置する基準点に対して接線方向に延在するアプローチツールパスを生成することをさらに含む、請求項2に記載の方法。
【請求項10】
実質的に垂直に配向した境界及び実質的に平行に配向した境界の1つに沿って位置する基準点に対して接線方向に延在するリトリートツールパスを生成することをさらに含む、請求項2に記載の方法。
【請求項11】
第1のツールパス及び第2のツールパスが平行ツールパスであり、第1のツールパス及び第2のツールパスの各々が平行な基準点を含んでおり、当該方法が、第1のツールパス及び第2のツールパスの平行な基準点から垂直ツールパスを生成することをさらに含む、請求項1に記載の方法。
【請求項12】
コンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成するシステムであって、前記表面が複雑な形状を有しており、当該システムが、
ユーザ入力と、
メディア出力と、
ユーザ入力及びメディア出力に接続されたプロセッサであって、CADモデルの表面上に1以上の基準点を定義するユーザに応答して、前記プロセッサが、
CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成し、
各基準点を直線で一つにつないで直線の合成によって第1のツールパスが形成されるようにし、
CADモデルの表面を横断する第2のツールパスを生成し、
CADモデルの表面を横断して第1ツールパスと第2ツールパスとの間を直線的に延在する複数の中間ツールパスを生成する
ようにプログラムされている、システム。
【請求項13】
コンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成するためのコンピュータ実装方法であって、前記表面が複雑な形状を有しており、当該方法が、
ユーザによって、CADモデルの表面上の1以上の基準点を定義するステップと、
プロセッサによって、CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成するステップと、
プロセッサによって、各基準点を直線で一つにつないで、直線の合成によって第1のツールパスが形成されるようにするステップと、
ユーザによって、CADモデルの表面を横断する第2のツールパスを生成するステップと、
プロセッサによって、CADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成するステップと
を含む、方法。
【請求項14】
第1のツールパス及び第2のツールパスの生成に応答して、プロセッサによって、実質的に垂直に配向した境界及び実質的に平行に配向した境界の少なくとも一方を定義することをさらに含む、請求項13に記載の方法。
【請求項15】
ユーザによって、第1のツールパスの分解能を選択するステップと、
プロセッサによって、ツールパス当たりの基準点の数を生成するステップであって、前記数が第1のツールパスの分解能に対応する、ステップと
をさらに含む、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、一般に、コンピュータ支援設計(CAD)アプリケーションにおけるコンピュータ数値制御(CNC)ツールパスの生成及びマッピングのためのシステム及び方法に関するものであり、さらに具体的には、複雑な3次元形状にわたるCNCツールパスの生成及びマッピングのためのシステム及び方法に関する。
【背景技術】
【0002】
コンピュータ数値制御システムは、コンピュータ支援設計アプリケーションによるロボット工作機械及び加工工具の自動制御を可能にする。一般に、CNCシステムは、1以上の電動ロボットアームと、プロセッサに通信的に結合され、プロセッサによって制御されるツールヘッドを含む。プロセッサは、メモリに格納されたコード化プログラム命令を実行することにより、X軸、Y軸及び/又はZ軸に沿った直線及び軸方向の平行移動を含む、3以上の自由度でツールヘッドを操作する命令を送信する。コード化プログラム命令は、通常、グラフィカルなコンピュータ支援設計(CAD)又はコンピュータ支援製造(CAM)システム及びアプリケーションによって生成される。
【0003】
CAD及びCAMシステムは、オブジェクト又は形状の3次元幾何学的モデルを生成するために常用される。CAD/CAMアプリケーションのグラフィカルユーザインターフェース内で、ユーザはアプリケーションを使用してモデルを操作し、モデルの表面上にツールパスを生成できる。ツールパスのグラフィック表現は、CAD/CAMアプリケーションによってデカルト座標を持つベクトルに変換される。次に、ベクトルとベクトル間の距離が命令としてメモリに保存され、電動ロボットアームに送信され、ツールヘッドがパスに沿って移動する。変換プロセスは、複雑なオブジェクトや、複雑で詳細なツールパスを必要とする形状の場合、計算量が多くなる可能性がある。
【0004】
複雑な形状に対する計算能力を低減する1つのアプローチは、制限パラメータを手動で入力すること及び/又はCAD/CAMアプリケーションによって生成されるツールパスの分解能を低下させることである。ただし、かかるソリューションは、ユーザ入力が不注意なエラーを引き起こす可能性があるため、一貫性がない可能性があり、かかるソリューションは、ユーザの一部にとって時間がかかり、面倒な場合がある。さらに、分解能の欠如により近似が必要になる可能性があるため、誤差が発生する可能性がある。したがって、当技術分野では、計算時間の短縮を容易にする方法で、CAD及びCAMシステムで使用するためのツールパス生成を改善する必要がある。
【発明の概要】
【0005】
一態様では、複雑な表面を有するコンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成する方法について開示する。本方法は、CADモデルの表面上に1以上の基準点を定義するステップと、CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成するステップと、各基準点を直線で一つにつないで、直線の合成によって第1のツールパスが形成されるようにするステップと、CADモデルの表面を横断する第2のツールパスを生成するステップと、CADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成するステップとを含む。
【0006】
別の態様では、複雑な形状を有するコンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成するためのシステムについて開示する。本システムはユーザ入力と、メディア出力と、ユーザ入力及びメディア出力に接続されたプロセッサとを含んでおり、CADモデルの表面上に1以上の基準点を定義するユーザに応答する。プロセッサは、CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成し、各基準点を直線で一つにつないで、直線の合成によって第1のツールパスが形成されるようにし、CADモデルの表面を横断する第2のツールパスを生成し、かつCADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成するようにプログラムされる。
【0007】
さらに別の態様では、複雑な形状を有するコンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成するためのコンピュータ実装方法について開示する。本コンピュータ実装方法は、ユーザによって、CADモデルの表面上の1以上の基準点を定義するステップと、プロセッサによって、CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成するステップと、プロセッサによって、各基準点を直線で一つにつないで、直線の合成によって第1のツールパスが形成されるようにするステップと、ユーザによって、CADモデルの表面を横断する第2のツールパスを生成するステップと、プロセッサによって、CADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成するステップとを含む。
【図面の簡単な説明】
【0008】
本開示の主題は、添付の図面に例示される例示的な実施形態を参照して、以下のテキストでより詳細に説明される。
【
図1】入力デバイス及び出力デバイスを含む例示的なコンピュータ処理システムの概略図。
【
図2A】本開示の実施形態に係る、ソリッドコンピュータモデルの任意の領域又は表面上にツールパスを生成するための例示的な方法を示すブロック図。
【
図2B】本開示の実施形態に係る、ソリッドコンピュータモデルの任意の領域又は表面上にツールパスを生成するための例示的な方法を示すブロック図。
【
図3】本開示の1以上の実施形態に係る例示的な加工物のコンピュータモデルの斜視図。
【
図5】
図3に示すワークピースの表面領域を表す例示的なターゲット領域の斜視図。
【
図6】
図5に示すターゲット領域に沿って定義された例示的な平行ツールパスの斜視図。
【
図7】
図5に示すターゲット領域に沿って定義された例示的な平行ツールパスの斜視図。
【
図8】
図5に示すターゲット領域に沿って定義された例示的な生成された平行ツールパスの斜視図。
【
図9】
図5に示すターゲット領域に沿った例示的な生成されたアプローチツールパス及びリトリートツールパスの斜視図。
【
図10】
図5に示すターゲット領域に沿って定義された例示的な垂直ツールパスの斜視図。
【
図11】
図5に示すターゲット領域に沿って定義された例示的な生成された垂直ツールパスの斜視図。
【
図12】
図5に示すターゲット領域に沿った例示的な生成されたアプローチツールパス及びリトリートツールパスの斜視図。
【
図13】垂直ツールパスを生成するための平行な基準点の斜視図。
【
図14】平行な基準点から生成された垂直ツールパスの斜視図。
【0009】
図面で用いた符号並びにその意味については、符号の簡単な説明の欄にまとめて示す。原則として、同一の部品には図面と同一の符号を付した。
【発明を実施するための形態】
【0010】
以下の明細書及び特許請求の範囲では、多くの用語に言及するが、それらは以下の意味をもつと定義される。
【0011】
本明細書において、単数形で記載したものであっても、前後関係から別途明らかでない限り、複数の場合も含めて意味する。「備える」、「含む」及び「有する」という用語は、内包的なものであり、記載した構成要素以外の追加の要素が存在していてもよいことを意味する。「任意」又は「適宜」という用語は、その用語に続いて記載された事象又は状況が起きても起きなくてもよいことを意味しており、かかる記載はその事象が起こる場合と起こらない場合を包含する。
【0012】
別途記載されていない限り、本明細書で用いる「略」、「実質的に」及び「約」などの近似表現は、それらで修飾された用語が、絶対的又は厳密なものではなく、当業者に自明の近似的なものにすぎないことを示す。したがって、「約」、「略」及び「実質的に」のような用語で修飾された値はその厳密な数値に限定されるものではない。少なくとも幾つかの事例では、近似表現は、その値を測定する機器の精度に対応する。場合によっては、近似表現は、その値を測定する機器の精度に対応する。本明細書及び特許請求の範囲において、範囲が限定されていることがある。かかる範囲は互いに結合及び/又は交換可能であり、前後関係等から明らかでない限り、その範囲に含まれるあらゆる部分範囲を包含する。
【0013】
さらに、別途記載されていない限り、「第1」、「第2」などの用語は、本願では単なる付票にすぎず、それらが付されたものに、数的、位置的又は階層的要件を課すものではない。さらに、例えば「第2」という場合、例えば「第1」以下又は「第3」以上のものの存在を必要とするものでも、排除するものでもない。
【0014】
一実施形態では、コンピュータプログラムが提供され、プログラムはコンピュータ可読媒体上に具現化される。例示的な実施形態では、システムは、サーバコンピュータへの接続を必要とせずに、単一のコンピュータシステム上で実行される。別の実施形態では、システムは、Windows環境(Windowsは、Microsoft社(米国ワシントン州レドモンド)の登録商標である)で実行されている。さらに別の実施形態では、システムは、メインフレーム環境及びUNIXサーバ環境上で実行される(UNIXは、X/Open社(英国バークシャー州レディング)の登録商標である)。別の実施形態では、システムは、iOS環境上で実行される(iOSは、Cisco Systems社(米国カリフォルニア州サンノゼ)の登録商標である)。さらに別の実施形態では、システムは、MacOS環境上で実行される(MacOSは、Apple社(米国カリフォルニア州クパチーノ)の登録商標である)。さらに別の実施形態では、システムは、AndroidOS上で動作する(Androidは、Google社(米国カリフォルニア州マウンテンビュー)の登録商標である)。別の実施形態では、システムは、LinuxOS上で実行される(Linuxは、Linus Torvalds社(米国マサチューセッツ州ボストン)の登録商標である)。このアプリケーションは柔軟性があり、主要な機能を損なうことなく、様々な環境で実行できるように設計されている。幾つかの実施形態では、システムは、複数のコンピューティングデバイス間で分散された複数のコンポーネントを含む。1以上の構成要素は、コンピュータ可読媒体に具現化されたコンピュータ実行可能命令の形態であってもよい。
【0015】
本明細書中で使用される場合、本開示の「例示又は例示的な実施形態」又は「一実施形態」という場合、記載された特徴を備える追加の実施形態の存在を除外するものとして解釈すべきではない。
【0016】
本明細書で用いる「ソフトウェア」及び「ファームウェア」という用語は交換可能であり、RAMメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ及び不揮発性RAM(NVRAM)メモリを含む、プロセッサによる実行のためにメモリに格納された任意のコンピュータプログラムを含む。上記のメモリの種類は例示にすぎず、コンピュータプログラムの記憶に使用可能なメモリの種類に関して限定するものではない。
【0017】
本明細書で用いる場合、プロセッサは、マイクロコントローラ、縮小命令セット回路(RISC)、特定用途向け集積回路(ASIC)、論理回路及び本明細書に記載の機能を実行することができる任意の他の回路又はプロセッサを使用するシステムを含む任意のプログラマブルシステムを含んでいてもよい。上記の例は例示に過ぎず、したがって、「処理者」という用語の定義及び/又は意味をいかなる方法でも制限することを意図するものではない。
【0018】
本明細書で用いる「非一時的コンピュータ可読媒体」という用語は、コンピュータ可読命令、データ構造、プログラムモジュール及びサブモジュール又は任意のデバイス内の他のデータなど、情報の短期的及び長期的保存のために任意の方法又は技術で実装される任意の有形のコンピュータベースのデバイスを表すことを意図する。したがって、本明細書に記載の方法は、記憶装置及び/又は記憶装置を含むがこれに限定されない、有形の、非一時的、コンピュータ可読媒体に具現化された実行可能な命令として符号化し得る。かかる命令は、プロセッサによって実行されると、プロセッサに本明細書に記載の方法の少なくとも一部を実行させる。さらに、本明細書中で使用される「非一時的コンピュータ可読媒体」という用語は、揮発性及び不揮発性媒体を含むがこれらに限定されない、非一時的コンピュータ記憶装置、並びにファームウェア、物理的及び仮想ストレージ、CD-ROM、DVD及びネットワーク又はインターネットなどの任意の他のデジタルソース、並びにまだ開発されていないデジタル手段などのリムーバブル及び非リムーバブル媒体を含むが、これらに限定されない、すべての有形のコンピュータ可読媒体を含む。唯一の例外は、一時的な伝搬信号である。
【0019】
システム及びプロセスは、本明細書に記載の特定の実施形態に限定されるものではない。加えて、各システム及び各プロセスの構成要素は、本明細書に記載の他の構成要素及びプロセスから独立して、かつ分離して実施することができる。各コンポーネントとプロセスは、他のアセンブリパッケージとプロセスと組み合わせて使用することもできる。
【0020】
CNC製造及び加工における公知のロボットアーム動作は、CAD及び/又はCAMアプリケーションによって制御される。一般的に、ロボットアームプラットフォームやロボットアームを操作するCAD/CAMアプリケーションはプロプライエタリであり、他のプラットフォームとは互換性がない。かかるプラットフォームには、ユーザがロボットアームを操作するためにCAD/CAMアプリケーション内に実装できる機能のプリセット配列があるが、かかる機能は、より複雑で複雑な操作のためにロボットアームを操作できる範囲に制限される場合がある。例えば、かかる用途は、ロボットアームのツールヘッドが複雑な物体又はワークピースの表面を横断してたどることができるツールパスの生成において制限し得る。ツールヘッドが定義されたツールパスに沿って移動すると、ツールヘッドは、回転切削工具、研磨面仕上げ工具、塗装工具などを使用して、ワークピースを加工又は加工する。ツールヘッドには、定義されたツールパスに沿って移動するワークピースの表面を検査するためのプローブ又はセンサを含めることもできる。
【0021】
従来のCAD/CAMアプリケーションは、複雑な形状の一次表面領域をサブエリア(切り欠きセクションとも呼ばれる)に分解し、パスアルゴリズムを適用してサブエリアのツールパスを生成する。次に、サブエリアのツールパスが組み合わされ、1次サーフェス領域のツールパスが生成される。この方法は、サブエリアの分解能に応じてプロセッサに負荷がかかる。計算要件を軽減するために、従来のCAD/CAMアプリケーションは通常、より大きなサブエリアを使用し、ツールパスを補間する。ただし、分解能が低いと、ワークピースを横断するツールヘッドの動きの不正確さが大きくなる可能性がある。場合によっては、ユーザは、従来の方法で一般的に依存している補間の結果として生成されたエラーを修正するために、生成されたツールパスを修正しなければならない場合がある。
【0022】
本開示の実施形態は、一般に、CAD/CAMアプリケーションにおいてロボットツールパスを生成するためのシステム及び方法に関する。ツールパスは、ロボットアームとツールヘッドを備えたCNCシステム(一般に「ロボットプラットフォーム」と呼ばれる)の動作を制御するために、コード化されたプログラムされた命令に変換できる。本明細書に開示されるシステム及び方法は、ユーザが対象のターゲット領域を選択的に決定し、ツールパスの外側境界を選択的に入力し、ワークピースの形状の複雑さに応じて分解能パラメータを選択的に入力することを可能にすることによって、ワークピースの複雑な形状におけるツールパス生成を改善する。
【0023】
本開示の実施形態は、複雑な形状を有するCADモデルの表面上にロボットツールパスを生成する能力を有しない既存のロボットプラットフォームよりも優位性を提供する。かかる公知のロボットプラットフォームの1つが、ファナック株式会社のファナック(登録商標)ロボットプラットフォームであり、物理的なワークピースの機械加工又は加工のための産業用ロボットで広く使用されている。ファナックロボットは、コード化されたプログラムされた命令から変換されたツールパスをたどり、コード化されたプログラムされた命令は、ファナックのプラットフォームに共通して所有されているCAD/CAMアプリケーションから導き出される。その一つがファナックロボガイド(登録商標)(以下、ロボガイドアプリケーション)である。
【0024】
ロボガイドアプリケーションは、CADモデル上の複雑な形状を有する表面上にロボットツールパスを生成することに限定されており、ユーザは、ロボガイドアプリケーション内でパスを手動で入力及び選択することを要求する。特に、ロボガイドアプリケーションは、ロボガイドアプリケーションにネイティブでメモリに保存されている、認識可能な表面又は複雑でない表面のロボットツールパスを生成できる。例として、かかる認識可能な又は非複雑な表面には、平坦な表面、一定の半径で形成された丸みを帯びた表面、面取りされた表面又は円形の面などが含まれる。ユーザはロボガイドアプリケーション内で認識可能な表面を選択するだけで、認識可能な表面を横断するロボットツールパスがロボガイドアプリケーションによって生成される。選択した認識可能な平坦な表面に対して、ロボガイドアプリケーションは、各ロボットツールパスに沿ってガイド点を等間隔に配置することにより、ロボットツールパスを自動的に生成する。選択した認識可能な曲面の場合、ロボガイドアプリケーションはロボットツールパスを自動的に生成するが、ガイド点が各ロボットツールパスに沿って等間隔に配置されていない場合があり、ユーザはガイド点の間隔と配置を手動で修正する必要がある場合がある。
【0025】
ユーザは、互いに隣接する複数の平坦面を選択することもでき、ロボガイドアプリケーションは、複数の平坦面を横断するロボットツールパスを生成することができる。ただし、認識可能なサーフェス間の遷移の場合、ユーザはかかる遷移をロボットツールパスを手動でフリーハンドで通過する必要がある。ユーザによる手動入力の量は、ロボガイドアプリケーションにネイティブではない曲面の場合、大幅に増加する。一例として、翼形ブレード(
図3に示す例示的なブレードなど)は、一定の半径で形成された平坦な表面又は丸みを帯びた表面を含まない。
図3の翼形ブレードを横断するロボットツールパスを生成するために、ユーザは、複雑な表面を適切にカバーするために、複数のツールパスに沿ってすべての基準点をフリーハンドで手作業で行わなければならない。ファナックのロボットプラットフォームとロボガイドアプリケーションは、複雑なツールパスを生成する際の公知のCAD/CAMアプリケーションの制限の一例にすぎず、制限を意図したものではないことを理解する必要がある。
【0026】
本開示及び特許請求の範囲の目的上、「複雑な形状」及び「複雑な表面」という用語は、CAD/CAMアプリケーションにネイティブではないCADモデルの任意の表面又は形状を示すものとし、そのため、CAD/CAMアプリケーションは、ツールパスを生成するために手動のユーザ入力を必要とする。例示的な複雑な形状及び複雑な表面には、複合曲率、翼、キャンバー形状、放物線形状、双曲線形状及び/又は複雑な形状で形成された任意の他の形状で形成された表面が含まれる。数学的には、複素幾何学は代数関数や微分関数から派生したり、代数関数や微分関数によって記述されたりする。
【0027】
図1は、本開示の一実施形態に係るコンピューティングデバイス及びロボットツールシステム及びプラットフォームの例示的な構成を示す。例示的な実施形態では、コンピューティングデバイス100は、ユーザ102によって操作され、ロボットツールシステム110などのリモートデバイスに通信可能に結合される。コンピューティングデバイスは、命令を実行するためのプロセッサ120を含む。幾つかの実施形態では、実行可能な命令は、メモリ122に格納される。プロセッサ120は、1以上の処理ユニットを含んでいてもよい(例えば、マルチコア構成において)。メモリ122は、実行可能な命令及び/又はトランザクションデータなどの情報を格納及び検索することを可能にする任意のデバイスであってもよい。メモリ122は、1以上のコンピュータ可読媒体を含んでいてもよい。
【0028】
コンピューティングデバイス100は、ユーザ102に情報を提示する1以上のメディア出力コンポーネント124も含む。メディア出力コンポーネント124は、ユーザ102に情報を伝達することができる任意のコンポーネントであってもよい。幾つかの実施形態では、メディア出力コンポーネント124は、ビデオアダプタ及び/又はオーディオアダプタなどの出力アダプタ(図示せず)を含む。出力アダプタは、プロセッサ120に動作可能に結合され、ディスプレイデバイス(例えば、ブラウン管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ又は「電子インク」ディスプレイ)又はオーディオ出力デバイス(例えば、スピーカ又はヘッドフォン)などの出力デバイスに動作可能に結合することができる。幾つかの実施形態では、メディア出力コンポーネント124は、グラフィカルユーザインターフェース(例えば、ウェブブラウザ及び/又はクライアントアプリケーション)をユーザ102に提示するように構成される。グラフィカルユーザインターフェースは、例えば、1以上の対象システムの分析結果を表示するためのインターフェースを含んでいてもよい。幾つかの実施形態では、コンピューティングデバイス100は、ユーザ102からの入力を受信するための入力デバイス126を含む。ユーザ102は、入力デバイス126を使用して、限定されることなく、分析を閲覧するコンピュータシステムを選択し得る。入力デバイス126は、例えば、キーボード、ポインティングデバイス、マウス、スタイラス、タッチセンシティブパネル(例えば、タッチパッド又はタッチスクリーン)、ジャイロスコープ、加速度計、位置検出器、生体入力デバイス及び/又はオーディオ入力デバイスを含んでいてもよい。タッチスクリーンなどの単一の構成要素は、メディア出力コンポーネント124及び入力デバイス126の出力デバイスの両方として機能し得る。
【0029】
コンピューティングデバイス100は、ロボットツールシステム110に通信可能に結合された通信インターフェース130も含んでいてもよい。通信インターフェース130は、例えば、移動体通信ネットワークと共に使用するための有線又は無線ネットワークアダプタ及び/又は無線データトランシーバを含んでいてもよい。
【0030】
メモリ122に格納されるのは、例えば、メディア出力コンポーネント124を介してユーザ102にユーザインターフェースを提供し、任意選択で、入力デバイス126からの入力を受信して処理するためのコンピュータ可読命令である。ユーザインターフェースには、他の可能性の中でも、Webブラウザ及び/又はクライアントアプリケーションが含まれる場合がある。プロセッサ120は、開示の態様を実施するためのコンピュータ実行可能命令を実行する。幾つかの実施形態では、プロセッサ120は、コンピュータ実行可能命令を実行することによって又は別の方法でプログラムされることによって、特殊目的のマイクロプロセッサに変換される。
【0031】
ロボットツールシステム110は、X-Y-Z軸に沿って選択可能に関節可能なツールヘッドを有するロボットアーム112を含む。例示的な実施形態では、ロボットツールシステム110は、複数のセンサ114も含む。センサ114は、位置センサ、光センサ及び/又はシステムステータスセンサのみを含むことができるが、これらに限定されない。ロボットアーム112は、プロセッサ120から、開示の態様を実施する際に使用するコンピュータ実行可能な命令を受信する。センサ114は、プロセッサ120にデータを送信することができ、プロセッサ120は、受信したデータに応じて、次に、ロボットアーム112に追加の命令を送信し及び/又はデータをメモリ122に格納してもよい。
【0032】
図2A及び
図2Bは、本開示の実施形態に従って、ソリッドコンピュータモデル(以下、CADモデルと呼ぶ)の表面を横断するCNCツールパスを生成する際に使用する例示的な方法200を示すブロック図を示す。方法200は、
図3~
図12に示されるような平行ツールパス又は垂直ツールパスの生成に適用可能である。
【0033】
幾つかの実施形態では、CADモデルは、CADアプリケーションによって作成され、メモリ122に格納される。CADモデルは、方法200を実行するためにメモリ122から取り出すことができる。方法200は、入力デバイス126を介して受信されたユーザ102からの選択的入力を用いて、
図1のプロセッサ120によって実行することができる。プロセッサ120は、1以上のメディア出力コンポーネント124を介して、CADモデル及び1以上のCNCツールパスの仮想表現を出力することができる。方法200は、コンピュータによって実行される方法又はアルゴリズムとして実行することができ、アルゴリズムは、メモリ122に格納し得る。方法200は、アプリケーションとして記憶することができる。
【0034】
CADモデルは、X軸、Y軸及びZ軸として表されるデカルト座標を有する仮想3次元空間内を配向する(
図3に最もよく示されるように)。「平行」という用語は、X軸に沿った方向を示し、「垂直」という用語は、Z軸に沿った方向を示し、ロボットツールパスは、水平又は垂直のいずれかに適用し得る。したがって、例示的な実施形態では、平行ツールパスがX軸に沿ってCADモデルの表面を横断して延在しており、同様に垂直ツールパスがZ軸に沿ってCADモデルの表面を横断して延在している。ただし、CADモデル300は、X軸、Y軸又はZ軸内で任意に配向することができることが理解される。
【0035】
図2を参照すると、例示的な実施形態では、方法200は、ユーザ102によって、平行ツールパス又は垂直ツールパスを生成するためのCADモデルの表面上の1以上の基準点を定義するステップ202を含む。或いは幾つかの実施形態では、方法200は、ユーザ102によって、平行ツールパス又は垂直ツールパスを生成するためのCADモデルの表面上の2以上の基準点を定義するステップ204をさらに含む。平行ツールパスを生成する場合、2以上の基準点は略平行に整列する。垂直ツールパスを生成する場合、2以上の基準点は略垂直に整列する。
【0036】
ユーザ102による1以上の基準点の定義202に応答して、方法200は、プロセッサ120によって、CADモデルの表面を横断する複数の実質的に等間隔の基準点を生成するステップ206と、プロセッサ120によって、基準点の各々を直線又は線分で一つにつないで、直線の合成によって第1のツールパスが形成されるようにするステップ208とをさらに含む。幾つかの実施形態では、第1のツールパスは平行ツールパスである。幾つかの実施形態では、第1のツールパスは垂直ツールパスである。
【0037】
方法200は、さらに、第2のツールパスのためのCADモデルの表面上の1以上の基準点をユーザ102によって定義するステップ210を含む。或いは幾つかの実施形態では、方法200は、第2のツールパスのためのCADモデルの表面上の2以上の基準点をユーザ102によって定義するステップ212をさらに含む。ユーザ102による1以上の基準点210、212の定義に応答して、方法200は、さらに、プロセッサ120によって、CADモデルの表面を横断する複数の実質的に等間隔の基準点を生成するステップ214と、プロセッサ120によって、基準点の各々を直線又は線分で一つにつないで、直線の合成によって第2のツールパスが形成されるようにするステップ216をさらに含む。幾つかの実施形態では、第1のツールパスは平行ツールパスであり、第2のツールパスは第1のツールパスに平行である。幾つかの実施形態では、第1のツールパスは垂直ツールパスであり、第2のツールパスは第1のツールパスに対して垂直である。
【0038】
幾つかの実施形態では、方法200は、プロセッサ120によって、第1のツールパスと第2のツールパスの間に定義されるターゲット領域を定義するステップ218をさらに含む。ターゲット領域は、平行ツールパス又は垂直ツールパスを生成するためのCADモデルの表面領域を表す。ターゲット領域は、第1のツールパス及び第2のツールパスの基準点の定義202,210に応じて、CADモデルの表面の1以上の角部、CADモデルの表面の1以上の縁部及び/又はCADモデルの表面のうちの1以上を含んでいてもよい。ターゲット領域は、実質的に垂直に配向した境界(「垂直境界」ともいう)と、実質的に平行に配向した境界(「平行境界」ともいう)のうちの少なくとも1つを含む。垂直境界と平行境界は、以下で詳しく説明するように、ツールパスの分解能に応じて、CADモデルのサーフェスの輪郭に略適合する。幾つかの実施形態では、垂直境界及び平行境界は、縁部又はより一般的にはCADモデルの表面の形状に従う。幾つかの実施形態では、ユーザの選択に応答して、プロセッサ120は、1以上のメディア出力コンポーネント124を介して、CADモデル上のターゲット領域の仮想表現を出力することができる。
【0039】
幾つかの実施形態では、方法200は、ユーザ102によって、ツールパスの分解能を表すツールパス当たりの点の数の値を選択するステップ220をさらに含む。220ツールパスの分解能を選択するために、ユーザ102は、ツールパス当たりの点数について所望の数値を手動で入力することができ,或いはユーザは、基準点間の所望の線距離を手動で入力することができる。幾つかの実施形態では、方法200は、ユーザ102によって、ツールパス間のステップ距離値を選択するステップ222をさらに含む。ステップ距離は、隣接するツールパス間の距離として定義される。
【0040】
ツールパス当たりの点数(ステップ220で選択)及びステップ距離(ステップ222で選択)は、協同でターゲット領域の分解能を定義し、協同してツールパス当たりの基準点の量及びターゲット領域上のツールパスの量を決定する。ツールパスのツールパス当たりの点数やツールパス間のステップ距離に小さい値を選択すると、CADモデルの表面領域全体にわたるツールパスの分解能が細かくなり、より正確な近似値が得られる。したがって、ユーザ102は、好ましくは、入力デバイス126を介して、ツールパス当たりの点数及びステップ距離を入力することができる。ユーザの選択に応答して(ステップ220及び222において)、方法200は、プロセッサ120によって、ステップ距離に基づいてターゲット領域内に十分に収まる平行ツールパス又は垂直ツールパスの数を決定するステップ224をさらに含む。幾つかの実施形態では、ターゲット領域の適切な分解能を達成するために、約4mm~約8mmのステップ距離がユーザ102によって選択される(ステップ222において)。同様に、約0.5mm~2mmのツールパス当たりの点数が、ユーザ105によって(ステップ220において)選択し得る。方法200は、プロセッサ120によって、CADモデルの表面上の第1のツールパスと第2のツールパスの間に複数の中間ツールパスを生成するステップ226をさらに含む。幾つかの実施形態では、中間ツールパスは、平行境界又は垂直境界の間にも生成される。複数の中間ツールパスの各々は、基準点を含む。ステップ距離の選択222に応答して、プロセッサ120は、ツールパスがターゲット領域内のCADモデルの表面に実質的に適合するように、ターゲット領域を横断する中間ツールパスの間隔を定める。
【0041】
幾つかの実施形態では、方法200は、プロセッサ120によって、垂直境界又は平行境界のいずれかに沿って位置する基準点に対して接線方向のアプローチ(侵入)ツールパスを生成するステップ228をさらに含む。特に、平行ツールパスの生成226の間、アプローチツールパスは、垂直境界に沿って位置する基準点から延在する。垂直ツールパスの生成226の間、アプローチツールパスは、平行境界に沿って配置された基準点から延在する。
【0042】
幾つかの実施形態では、方法200は、プロセッサ120によって、垂直境界又は平行境界のいずれかに沿って位置する基準点に対して接線方向のリトリート(後退)ツールパスを生成するステップ230をさらに含む。特に、平行ツールパスの生成(ステップ226)のための方法200の実行において、リトリートツールパスは、垂直境界に沿って位置する基準点から延在する。同様に、垂直ツールパスの生成(ステップ226)のための方法200の実行において、リトリートツールパスは、平行境界に沿って位置する基準点から延在する。
【0043】
図3~
図12は、CADモデル300の表面を横断する例示的なCNCロボットツールパスの生成を例示する。より具体的には、
図5~
図9は平行ツールパスの生成を例示し、
図10~
図12は垂直ツールパスの生成を例示する。
【0044】
図3はCADモデル300の斜視図を示し、
図4はCADモデル300の上面図を示す。CADモデル300は、ワークピースの仮想表現であり、例示的な実施形態では、翼形ブレードである。CADモデル300は、基部304に取り付けられた第1の端部302と、第1の端部302の反対側に片持ち式の第2の端部306とを有する。CADモデル300は、下側キャンバー面308と、下側キャンバー面308と対向する上側キャンバー面309とも含む。CADモデル300は、前縁310と、後縁312とも含む。幾つかの実施形態では、ラウンドオーバー遷移314は、基部304と第1の端部302との間に定義され、ラウンドオーバー遷移314は、下側キャンバー面308及び上側キャンバー表面309のキャンバー形状に追従する。
【0045】
翼形ブレードは、1以上の複雑な表面を含むワークピース及びCADモデルの例示に過ぎない。下側キャンバー面308、上側キャンバー面309及びラウンドオーバー遷移314のキャンバー形状は、ファナックロボガイドアプリケーションなどの公知のCAD/CAMアプリケーションでは認識できないため、ユーザは、各ツールパスを生成するために、キャンバー形状に沿ってツールパスを手動でフリーハンドで作成する必要がある。CADモデル300は、任意の他の形状を有するか又は任意の物理的オブジェクトの表現であり得ることが理解される。CADモデル300は、メディア出力コンポーネント124上に表現することができ、仮想CADアプリケーション及び入力デバイス126を使用して、ユーザ102によって仮想空間内で操作することができる。CADモデル300は、任意の公知の生成方法を介して及び/又は設計プロセスの結果として作成される及び/又はメモリ122に格納されたコンポーネントモデルのアーカイブから作成されることなどを含む、所望の最終目的を創造するのに適した任意の公知のデバイスを使用して取得し得る。CADモデル300は、任意の従来のデータ交換プロトコルを通じて、別のCADシステムからインポートすることもできる。
【0046】
図5は、CADモデル300の下側キャンバー表面308にオーバーレイされたターゲット領域350を示す。ターゲット領域350は、CNCツールパスが生成されるCADモデル300の所望の表面領域を表す。ターゲット領域350は、ユーザ102によって選択された第1のツールパス及び第2のツールパスによって定義され、以下でさらに詳細に説明される。図示の実施形態では、下側キャンバー表面308がターゲット領域350として選択されるが、例えば、上側キャンバー表面309及び/又はラウンドオーバー遷移314を含む、CADモデル300の他の任意の表面又は部分を選択できることが理解される。
【0047】
ターゲット領域350は、実質的に平行に配向した境界352,354(「平行境界352,354」とも呼ばれる)と、下側キャンバー面308の形状に適合し得る実質的に垂直に配向した境界356,358(「垂直境界356,358」ともいう)を含む。幾つかの実施形態では、平行境界352,354及び垂直境界356,358は、縁部に追従し、実質的に適合する又はより一般的には、CADモデル300の表面の形状に、縁部に実質的に適合する。図示の実施形態では、垂直境界356,358は、それぞれ前縁310及び後縁312に重ねられ(前縁310及び後縁312上の第1ツールパス及び第2ツールパスの選択による)、平行境界352,354は、それぞれ第1の端部302及び第2端部306に重ねられている(第1ツールパス及び第2ツールの選択による)第1の端部302及び第2の端部306のパスをそれぞれ示す)。
【0048】
ターゲット領域350の選択は、CADモデル300の任意のサーフェス又は特徴を含むことができ、定義されたターゲット領域350は、選択されたサーフェスの任意の部分であってもよく、そのように、限定されることは意図されない。例として、例示的な実施形態では、ターゲット領域350は、前縁310の一部、後縁312の一部、第1の端部302及び第1の端部302から距離を延在する任意のツールパス360によって定義してもよく、任意のツールパス360は、下側キャンバー面308の輪郭に実質的に適合し得る。ターゲット領域350の識別及び選択は、
図5に示すように、入力デバイス126を使用して(例えば、一連のマウス入力を入力することによって又は触覚インターフェースの使用を通じて)達成し得る。ターゲット領域350の入力位置は、メディア出力コンポーネント124(例えば、コンピュータ画面)を介してCADモデル300上のユーザに表示し得る。
【0049】
例示的な実施形態では、前縁310及び後縁312は、概してX軸に沿って配向され、第1の端部302及び第2の端部306は、概してZ軸に沿って配向される。以下でさらに詳細に説明するように、ツールパスは、X軸に平行又はX軸に垂直に適用できる。従って、例示的な実施形態では、平行ツールパスが前縁310と後縁312との間に延在しており、同様に、垂直ツールパスが第1の端部302と第2の端部306との間に延在している。しかしながら、CADモデル300は、X軸、Y軸又はZ軸内で任意に配向することができることが理解される。
【0050】
図5に示すように、1以上の第1の基準点400は、下側キャンバー表面308上で最初に選択される。例示的な実施形態では、基準点400は、平行境界352,354のうちの1つからの距離Dである。幾つかの実施形態では、第2の基準点401もまた、表面308上で選択される。
【0051】
図6に示すように、複数の実質的に等間隔の基準点402(「生成された基準点402」と称される)は、垂直境界356,358間の下側キャンバー表面308を横断して延在することができる。生成された基準点402の各々は、平行境界352,354から第1の基準点400と略同じ距離Dである。図に示す通り、生成された基準点402もまた、垂直境界356,358上に位置する。
【0052】
平行ツールパス410(「第1の平行ツールパス410」ともいう)は、次いで、基準点400、401及び生成された基準点402を直線406とともに接続することによって形成され、その結果、平行ツールパス410が複数の線分又は線406の累積から生成される。基準点400、402の各々は、長さLだけ間隔をあけて配置されている。長さLは、ツールパス410当たりの基準点400、402の数(ツールパス当たりの点数数)によって決定される。幾つかの実施形態では、長さLは、ユーザ102によって手動で選択し得る。幾つかの実施形態では、ツールパス当たりの点数数の数値は、ユーザ102によって手動で選択される。より短い長さL(したがって、より生成された基準点402)の選択は、CADモデル300及びターゲット領域350の下側キャンバー表面308を横断する平行ツールパス410のより微細な分解能及びより正確な近似を生成することを容易にする。幾つかの実施形態では、適切な分解能を達成するために、約1mm~約2mmの長さLがユーザ102によって選択される。
【0053】
幾つかの実施形態では、第1のツールパス410は、最初に下側キャンバー表面308を横断して延在し、生成された基準点402は、平行ツールパス410上に定義される。生成された基準点402は、多数の周知の数学的投影技術のいずれかを使用して、CADモデル300の表面領域172に実質的に適合する(ツールパス当たりの点数に対する数値に依存する)。例えば、かかる技術は、曲線に沿って点402のセットを生成すること、点402の組を下側キャンバー表面308上に投影すること、次いで、点402を通る再スプライン化して、下側キャンバー表面308及び350に近い新しい曲線を生成することを含んでいてもよい。別の実施形態では、生成された基準点402は、最初に下側キャンバー面308を横断して間隔をあけられ、平行ツールパス410は、点402を使用して定義される。点402は、下側キャンバー表面308上の最も近い対応する点に投影してもよく又はユーザ102によって指定された視方向又は任意の他の方向に沿って投影してもよい。
【0054】
図7に示すように、幾つかの実施形態では、第2の平行ツールパス420は、第1の平行ツールパス410の形成と同様の方法で、下側キャンバー面308上に形成される。幾つかの実施形態では、350の複雑さに応じて、追加の平行ツールパスがユーザ102によって選択され、形成し得る。第1の平行ツールパス410及び第2の平行ツールパス420は、ターゲット領域350及びターゲット領域350の境界を定義する。
【0055】
図8に示すように、複数の平行ツールパス430(生成された平行ツールパス430ともいう)が、プロセッサ120によって、下側キャンバー面308を横断して生成される。平行ツールパス430は、第1の平行ツールパス410と第2の平行ツールパス420との間に生成され、第1の平行ツールパス410と第2の平行ツールパス420と略平行である。平行ツールパス410、420、430の各々は、実質的に等間隔である生成された基準点402を含む。
【0056】
生成された平行ツールパス430は、プロセッサ120によって補間され、生成された平行ツールパス430は、互いにステップ距離SDだけ分離される。ステップ距離SDは、複数の平行ツールパス430が下側キャンバー面308に実質的に適合することを確実にするために、ユーザ102によって予め定義し得る。ユーザ102は、好ましくは、入力デバイス126を介してステップ距離SDを入力することができ、プロセッサ120は、次いで、ターゲット領域350内及び第1の平行ツールパス410と第2の平行ツールパス420との間に十分に収まるように、平行ツールパス430の数を決定することができる。幾つかの実施形態では、適切な分解能を達成するために、約4mm~約8mmのステップ距離SDがユーザ102によって選択される。平行ツールパス410、420、430の各々は、長さLだけ等間隔に離して配置された複数の基準点を含む。
【0057】
第1のツールパス410の基準点402間の長さL(ユーザが入力したツールパス当たりの点の数の結果として)と、生成された平行ツールパス430間のステップ距離SDとが一緒になって、ツールパスの分解能を決定する。長さL及びステップ距離SDのより小さい値は、下側キャンバー表面308を横断するツールパス410、420、430のより微細な分解能及びより正確な近似を提供することを容易にする。したがって、ユーザ102は、好ましくは、入力デバイス126を介して分解能を入力することができ、ユーザの選択に応答して、プロセッサ120は、第1の平行ツールパス410と第2の平行ツールパス420との間に十分に収まるように、生成された平行ツールパス430の数を決定することができる。
【0058】
図9に示すように、アプローチツールパス342及びリトリートツールパス344は、垂直境界356,358に沿って間隔をあけたそれらの基準点402に接線方向に生成することができる。アプローチツールパス342は、ロボットアーム112が適切な向きでワークピースに近づくことを可能にする。同様に、リトリートツールパス344は、ロボットアーム112がワークピースを適切な向きに残すことを可能にする。
【0059】
図10~
図12に示すように、例示的な垂直パス460は、平行なツールパス410、420、430の形成(
図6~
図8に示す)と同様の方法で生成される。特に、第1の垂直ツールパス460は、垂直境界356,358上に又はそれに隣接して生成され、幾つかの実施形態では、第2の垂直ツールパス470は、垂直境界356,358に隣接して生成される。幾つかの実施形態では、下側キャンバー表面308の複雑さに応じて、追加の垂直ツールパスが、ユーザ102によって選択され、形成し得る。
【0060】
図11に示すように、複数の垂直ツールパス480(生成された垂直ツールパス480ともいう)が、プロセッサ120によって、下側キャンバー面308を横断して生成される。垂直ツールパス480は、垂直境界356,358の間に生成され、第1の垂直ツールパス460及び第2の垂直ツールパス470と略平行である。垂直なツールパス460、470及び480の各々は、実質的に等間隔である生成された基準点402を含む。
【0061】
生成された垂直ツールパス480は、プロセッサ120によって補間され、生成された垂直ツールパス480は、互いにステップ距離SDだけ分離される。ステップ距離SDは、複数の垂直ツールパス460、470、480が下側キャンバー面308に実質的に適合することを確実にするために、ユーザ102によって予め定義し得る。ユーザ102は、好ましくは、入力デバイス126を介してステップ距離SDを入力することができ、プロセッサ120は、次いで、第1の垂直ツールパス460と第2の垂直ツールパス470との間に十分に収まるように、生成された垂直ツールパス480の数を決定することができる。幾つかの実施形態では、適切な分解能を達成するために、約4mm~約8mmのステップ距離SDがユーザ102によって選択される。垂直なツールパス460、470、480の各々は、長さLだけ等間隔に離して配置された複数の基準点402を含む。
【0062】
第1の垂直ツールパス460の基準点402間の長さLと、生成された垂直ツールパス480間のステップ距離SDとの組み合わせが、ツールパスの分解能を決定する。一般に、長さL及びステップ距離SDに対してより小さい値を選択することは、第1の垂直ツールパス460と第2の垂直ツールパス470との間の垂直ツールパス460、470、480のより細かい分解能及びより正確な近似を提供することを容易にする。従って、ユーザ102は、好ましくは、入力デバイス126を介して分解能を入力することができ、ユーザの選択に応答して、プロセッサ120は、生成された垂直ツールパス480の数を、350内に十分に収まるように決定する。
【0063】
図12に示すように、アプローチツールパス490及びリトリートツールパス492は、平行境界352,354に沿って間隔をあけたそれらの基準点402に接線方向に生成することができる。アプローチツールパス342は、ロボットアーム112が適切な向きでワークピースに近づくことを可能にする。同様に、リトリートツールパス344は、ロボットアーム112がワークピースを適切な向きに残すことを可能にする。例示的な実施形態では、第1の端部302が基部304から延在するので、リトリートツールパス492は、図に示す通り基部1304の表面307に実質的に適合することができる。
【0064】
図13に示すように、第1の平行ツールパス410及び第2の平行ツールパス420は、垂直ツールパスの生成に使用し得る。第1の平行ツールパス410及び第2の平行ツールパス420が選択され、生成された後(
図13に示すように)、平行基準点(400、401、402)は(
図14に示すように)垂直ツールパス560を形成する。
【0065】
本開示の実施形態は、複雑な形状を有するCADモデルの表面上にロボットツールパスを生成する能力を有しない既存のロボットプラットフォームよりも有利である。ユーザ入力によって1以上のツールパスを定義することにより、プロセッサは、定義されたツールパス間で生成されたツールパスを補間することができる。さらに、本明細書に記載のシステム及び方法により、ユーザは、ツールパスに対して所望の分解能を選択することができる。本明細書に記載のシステム及び方法は、ツールパスで適切にカバーする上で、手動のユーザ入力の量を減らすことを容易にする。
【0066】
さらに、開示された開示は、コンピュータで実施されるプロセス及びそれらのプロセスを実践するための装置の形態で具現化し得る。本開示は、フロッピーディスク、CD-ROM、ハードドライブ又は任意の他のコンピュータ可読記憶媒体などの有形媒体に具現化された命令を含むコンピュータプログラムコードの形態で具体化することもでき、コンピュータプログラムコードがコンピュータにロードされ、コンピュータによって実行されると、コンピュータは、開示を実施するための装置となる。本開示はまた、コンピュータプログラムコードの形態で具体化することもでき、例えば、記憶媒体に格納されるか、コンピュータにロードされ及び/又はコンピュータによって実行されるか又は変調された搬送波であるか否かにかかわらず、光ファイバを介して電気配線又はケーブルなどの何らかの伝送媒体を介して送信されるデータ信号として又は電磁放射を介して、コンピュータプログラムコードがコンピュータにロードされ、コンピュータによって実行されると、コンピュータは開示を実施するための装置となる。汎用マイクロプロセッサに実装する場合、コンピュータプログラムコードセグメントは、特定の論理回路を作成するようにマイクロプロセッサを構成する。
【0067】
本願で開示した方法、システム及び組成物は、本願に記載された特定の実施形態に限定されるものではなく、方法のステップ、システムの構成要素及び/又は組成物の構成要素は、本願に記載の他のステップ及び/又は構成要素とは独立かつ別個に利用し得る。例えば、方法、システム及び組成物は、本願に記載の回転機械での実施だけに限定されるものではない。方法、システム及び組成物は、他の多くの用途に関して実施及び利用し得る。
【0068】
様々な実施形態の特定の特徴が、ある図面には記載され、他の図面には記載されていないこともあるが、これは便宜上のものにすぎない。さらに、上記の説明における「一実施形態」という場合、記載された特徴を備える追加の実施形態の存在を除外するものとして解釈すべきではない。本開示技術の原理に則して、ある図面に記載された特徴を、他の図面に記載された特徴との組合せとして参照及び/又は特許請求の範囲に記載することができる。
【0069】
本明細書では、本発明を最良の形態を含めて開示するとともに、装置又はシステムの製造・使用及び方法の実施を始め、当業者が本発明を実施できるようにするため、例を用いて説明してきた。本開示の特許性を有する範囲は、特許請求の範囲によって規定され、当業者に自明な他の例も包含する。かかる他の例は、特許請求の範囲と文言上の差のない構成要素を有しているか、或いは特許請求の範囲の文言と非本質的な差しかない均等な構成要素を有していれば、特許請求の範囲に記載された技術的範囲に属する。
【0070】
本開示技術の追加の態様を、以下の実施態様項に示す。
【0071】
第1の態様では、コンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成する方法であって、表面が複雑な形状を有しており、当該方法は、CADモデルの表面上に1以上の基準点を定義するステップと、CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成するステップと、各基準点を直線で一つにつないで、直線の合成によって第1のツールパスが形成されるようにするステップと、CADモデルの表面を横断する第2のツールパスを生成するステップと、CADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成するステップとを含む。
【0072】
上記態様において、当該方法は、CADモデルの表面の1以上の角部、CADモデルの表面の1以上の縁部及びCADモデルの表面に沿った複数の点のうちの1以上を選択することによって、第1のツールパス及び第2のツールパスを定義することをさらに含んでおり、第1のツールパス及び第2のツールパスは、実質的に垂直に配向した境界及び実質的に平行に配向した境界の少なくとも一方を定義する。
【0073】
上記いずれかの態様において、当該方法は、第1のツールパスの分解能を選択することをさらに含む。
【0074】
上記いずれかの態様において、分解能を選択することは、一つにつながれる直線の長さによって定義される第1のツールパスの所望の長さを選択することをさらに含む。
【0075】
上記いずれかの態様において、分解能を選択することは、所望のツールパス当たりの点数の値を選択することをさらに含む。
【0076】
上記いずれかの態様において、当該方法は、複数の中間ツールパスを生成する前に、中間ツールパスのステップ距離を選択することをさらに含んでおり、ステップ距離は、隣接するツールパスを隔てる距離として定義される。
【0077】
上記いずれかの態様において、当該方法は、実質的に平行に配向した境界間に複数の平行ツールパスを生成することをさらに含む。
【0078】
上記いずれかの態様において、当該方法は、実質的に垂直に配向した境界間に複数の垂直ツールパスを生成することをさらに含む。
【0079】
上記いずれかの態様において、当該方法は、実質的に垂直に配向した境界又は実質的に平行に配向した境界のうちの1つに沿って位置する基準点に対して接線方向に延在するアプローチツールパスを生成することをさらに含む。
【0080】
上記いずれかの態様において、当該方法は、実質的に垂直に配向した境界及び実質的に平行に配向した境界のうちの1つに沿って位置する基準点に対して接線方向に延在するリトリートツールパスを生成することをさらに含む。
【0081】
上記いずれかの態様において、第1のツールパス及び第2のツールパスが平行ツールパスであり、第1のツールパス及び第2のツールパスの各々は、平行な基準点を含んでおり、この方法は、第1のツールパス及び第2のツールパスの平行な基準点から垂直ツールパスを生成することをさらに含む。
【0082】
第2の態様では、コンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成するためのシステムであって、表面が複雑な形状を有しており、当該システムは、ユーザ入力と、ユーザ入力と、メディア出力。ユーザ入力及びメディア出力に接続されたプロセッサであって、プロセッサは、CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成し、各基準点を直線で一つにつないで直線の合成によって第1のツールパスが形成されるようにし、CADモデルの表面を横断する第2のツールパスを生成し、かつCADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成するようにプログラムされる。
【0083】
上記態様において、第1のツールパス及び第2のツールパスの生成に応答して、プロセッサは、実質的に垂直に配向した境界及び実質的に平行に配向した境界のうちの少なくとも1つを定義するようにプログラムされる。
【0084】
上記いずれかの態様において、ユーザが第1のツールパスの分解能を選択することに応答して、プロセッサは、ツールパス当たり複数の基準点を生成するようにプログラムされ、前記数は選択された分解能に対応する。
【0085】
上記いずれかの態様において、ユーザが中間ツールパスのステップ距離を選択することに応答して、プロセッサは、、第1のツールパスと第2のツールパスの間に生成された複数のツールパスであって、中間ツールパスの各々がステップ距離によって隔てられている、ツールパスを補間するようにプログラムされる。
【0086】
上記いずれかの態様において、プロセッサは、実質的に平行に配向した境界間に複数の平行ツールパスを生成するようにプログラムされる。
【0087】
上記いずれかの態様において、プロセッサは、実質的に垂直に配向した境界間に複数の垂直ツールパスを生成するようにプログラムされる。
【0088】
第3の態様では、コンピュータ支援設計(CAD)モデルの表面を横断するツールパスを生成するためのコンピュータ実装方法であって、表面は複雑な形状を有しており、当該方法は、ユーザによって、CADモデルの表面上の1以上の基準点を定義するステップと、プロセッサによって、CADモデルの表面を横断して複数の実質的に等間隔の基準点を生成するステップと、プロセッサによって、各基準点を直線で一つにつないで、直線の合成によって第1のツールパスが形成されるようにするステップと、ユーザによって、CADモデルの表面を横断する第2のツールパスを生成するステップと、プロセッサによって、CADモデルの表面を横断して第1のツールパスと第2のツールパスの間に線形的に延在する複数の中間ツールパスを生成するステップとを含む。
【0089】
上記態様において、当該方法は、第1のツールパス及び第2のツールパスの生成に応答して、プロセッサによって、実質的に垂直に配向した境界及び実質的に平行に配向した境界のうちの少なくとも1つを、プロセッサによって定義することをさらに含む。
【0090】
上記いずれかの態様において、当該方法は、ユーザによって、第1のツールパスの分解能を選択し、プロセッサによって、ツールパス当たりの基準点の数であって第1のツールパスの分解能に対応する数の基準点を生成することをさらに含む。
【0091】
上記いずれかの態様において、当該方法は、ユーザによって、プロセッサによる前の中間ツールパスのステップ距離、複数の中間ツールパス及びプロセッサによって、CADモデルの表面を横断して多数の生成されたツールパスを生成し、ステップ距離によって隔てられた生成されたツールパスの各々を生成することをさらに含む。
【符号の説明】
【0092】
100 コンピューティングデバイス
102 ユーザ
110 ロボットツールシステム
112 ロボットアーム
114 センサ
120 プロセッサ
122 メモリ
124 メディア出力
126 入力デバイス
【外国語明細書】