(57)【要約】      （修正有）【課題】ロボットのプログラミング方法を、使用が容易で直感的に理解でき、教示過程に掛かる時間を短縮できるものに改良する。【解決手段】多数のウェイポイントにより画定されるロボットパスを辿りながら対象物に対して１処理過程を実行する器具を有するロボットのプログラミング方法を提供する。当該方法は、器具とロボットパスの構成データ及びロボットに対する対象物の位置と方向を含む構成データを取得する過程と、対象物に対する器具の位置と対象物に対する作業項目の位置情報を含み、対象物に対する処理過程を画定するウェイポイントを取得する過程と、ウェイポイントの位置を調整するための距離を取得する過程と、そのウェイポイントを修正するべきか否かを決定する過程と、距離及びウェイポイントの情報により取得したウェイポイントを修正する過程と、修正されたウェイポイントと取得した構成データにより実際のロボットパスを生成する過程とを含む。【選択図】図６
2004213672.tif 000002
【特許請求の範囲】
【請求項１】
複数のウェイポイントにより画定されるロボットパスを辿りながら対象物に対して処理を実行するための器具を有する工業ロボットのプログラミング方法であって、
−  器具の構成データ、ロボットパスの構成データ、及びロボットに対する対象物の位置と方向に関する情報を含む構成データを取得する過程と、
−  対象物に対する器具の所望の位置と、対象物に対する処理作業項目の所望の位置とに関する情報を含み、対象物に対する処理を画定する一連のウェイポイントを取得する過程と、
−  ウェイポイントの位置を調整するための少なくとも１つの距離を取得する過程と、
−  取得したウェイポイントに関する情報に基づき、取得したウェイポイントを修正するべきか否かを決定する過程と、
−  前記決定、取得した距離、及び取得したウェイポイントに関する情報に基づいて取得した一連のウェイポイントを修正することにより、修正された一連のウェイポイントを生成する過程と、
−  修正された一連のウェイポイントと取得した構成データに基づいて実際のロボットパスを生成する過程と
からなる方法。
【請求項２】
一連のウェイポイントを取得する過程が、
−  対象物上、又は対象物近傍の点を指す指示部材の位置に関する情報を取得する過程と、
−  登録信号を受信すると、指示部材が現在指し示す点をウェイポイントとして保存する過程と、
−  処理作業項目に関する情報を取得する過程と、
−  処理作業項目に関する情報をウェイポイントの位置と共に保存する過程と、
−  前記取得した情報に基づいて対象物に対するポイントの位置を決定する過程と
を含む、請求項１に記載の方法。
【請求項３】
前記ウェイポイントの修正を１組の所定の規則に基づいて実行する、請求項１または２に記載の方法。
【請求項４】
前記決定する過程が、
−  ウェイポイントが特定の処理作業項目を含むかどうかを決定する過程と、
−  該ウェイポイントが特定の処理作業項目を含む場合にウェイポイントを修正する過程と
を含む、請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
ウェイポイントが処理作業項目「処理実行」および「処理停止」のいずれかを含む場合にウェイポイントを修正すると判断する、請求項４に記載の方法。
【請求項６】
ウェイポイントを修正する過程が、前記一連のウェイポイントに新規ウェイポイントを加える過程と、前記距離および取得したウェイポイントに基づいて該新規ウェイポイントの位置を決定する過程とを含む、請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
前記取得する距離が、ウェイポイントにおける器具の所望の速度によって決まるポイント延長距離であり、新規ウェイポイントの位置を該ポイント延長距離に基づいて決定する、請求項６に記載の方法。
【請求項８】
ウェイポイントの位置を、現在のウェイポイントの位置と、直前のウェイポイントの位置または次のウェイポイントの位置とに基づいて決定する、請求項６または７に記載の方法。
【請求項９】
ウェイポイントの新規位置を決定する過程が、
−  現在のウェイポイントの位置と、直前のウェイポイントの位置または次のウェイポイントの位置とに基づき、処理作業項目に応じて、方向を決定する過程と、
−  方向を決定する過程において取得したウェイポイントの位置に、ポイント延長距離を加えることにより該新規位置を取得する過程と
を含む、請求項４ないし８のいずれか１項に記載の方法。
【請求項１０】
ウェイポイントを修正する過程が、前記取得した位置と取得したウェイポイントに基づいて処理作業項目の新規位置を決定する過程と、作業項目を該新規位置に移動する過程とを含む、請求項２ないし９のいずれか１項に記載の方法。
【請求項１１】
前記ウェイポイントの位置を調整するための距離が、器具速度と作業項目に関する遅延時間によって決まる作業延長距離であり、処理作業項目の新規位置を該作業延長距離に基づいて決定する、請求項１０に記載の方法。
【請求項１２】
処理作業項目の新規位置を決定する過程が、
−  現在のウェイポイントの位置と直前のウェイポイント位置、または現在のウェイポイントの位置と次のウェイポイントの位置に基づき、処理作業項目に応じて、方向を決定する過程と、
−  該決定された方向に向く現在のウェイポイントの位置に、作業延長距離を加えることにより該新規位置を取得する過程と
を含む、請求項１１に記載の方法。
【請求項１３】
前記ロボットパスの構成データがロボットパス上の２つの直線部分を結ぶカーブの大きさを含み、器具の構成データが器具中心点の定義を含む、請求項１ないし１２のいずれか１項に記載の方法。
【請求項１４】
ロボットパスを生成する過程が、ウェイポイントと構成データに基づいてロボットプログラムコードを生成する過程を含む、請求項１ないし１３のいずれか１項に記載の方法。
【請求項１５】
ウェイポイントが器具の方向に関する情報を含み、要求に応じて直近のウェイポイントの方向を取得したウェイポイントにコピーすることを含む、請求項１ないし１４のいずれか１項に記載の方法。
【請求項１６】
所得したウェイポイントを第１ウェイポイントリストに保存することと、修正した一連のウェイポイントを第２ウェイポイントリストに保存することとを含む、請求項１ないし１５のいずれか１項に記載の方法。
【請求項１７】
コンピュータの内蔵メモリに直接ロードすることができるコンピュータプログラム製品であって、該製品がコンピュータ上で実行されると、請求項１ないし１６のいずれか１項に記載の過程を行うためのソフトウェアコード部を含む、コンピュータプログラム製品。
【請求項１８】
プログラムを記録したコンピュータで読取可能な媒体であって、該プログラムがコンピュータ上で実行されると、該プログラムがコンピュータに請求項１ないし１６のいずれか１項に記載の過程を行わせる、コンピュータで読取可能な媒体。
【請求項１９】
複数のウェイポイントにより画定されるロボットパスをたどりながら対象物に対して処理を実行するための器具を有する工業ロボットのプログラミングを行うシステムであって、
−  構成データ、器具速度、および、対象物に対する器具の所望の位置と、対象物に対する処理作業項目の所望の位置とに関する情報を含み、対象物に対する処理を画定する一連のウェイポイントを取得するための情報取得手段と、
−  取得した情報を保存する記憶装置と
を備え、
−  ウェイポイントに関して取得した情報に基づいて取得したウェイポイントを修正するべきか否かを決定する手段と、
−  前記決定、ウェイポイントの位置を調整するための距離、及びウェイポイントに関して取得した情報に基づいて、取得した一連のウェイポイントを修正することにより、修正された一連のウェイポイントを生成する手段と、
−  修正された一連のウェイポイント、器具速度、および取得された構成データに基づいて、実際のロボットパスを生成するロボットパス生成器と
をさらに備えることを特徴とするシステム。
【請求項２０】
対象物上、または対象物近傍の点を示すのに適した指示部材と、対象物に対する前記位置を決定する位置決定手段と、作動すると点をウェイポイントとして保存する作動部材とをさらに備えることを特徴とする、請求項１９に記載のシステム。
【請求項２１】
生成されたロボットパスに基づいてロボットプログラミングコードを生成するロボットプログラミングコード生成器を備えることを特徴とする、請求項２０または２１に記載のシステム。
【請求項２２】
前記情報取得手段がウェイポイントにおける器具の方向に関する情報を受信するのに適しており、システムが１ウェイポイントの方向に関する情報を別のウェイポイントにコピーする手段を備えることを特徴とする、請求項１９ないし２１のいずれか１項に記載のシステム。
【請求項２３】
塗装作業への請求項１ないし１６のいずれか１項に記載の方法の使用法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数のウェイポイントにより画定されるロボットのパスを進みながら対象物に対して１処理過程を実行するための器具を有する工業ロボットのプログラミング方法に関する。当該処理は、塗装、グレージング、サンディング、研磨、研削、溶接等の、工業ロボットによって通常行われる任意の表面処理作業である。本発明は、ロボットへの塗装教示に関連する用途に特に適している。
【０００２】
本発明は、さらに、コンピュータの内蔵メモリに直接ロードすることができるコンピュータプログラム製品であって、該製品がコンピュータ上で実行されると、本発明による方法の各過程を行うためのソフトウェアコード部を含むコンピュータプログラム製品に関するものである。
【０００３】
本発明は、さらに、プログラムを記録したコンピュータで読取可能な媒体であって、該プログラムがコンピュータ上で実行されると、コンピュータに本発明による方法の各過程を行わせるコンピュータで読取可能な媒体に関するものである。
【０００４】
本発明は、さらに、工業ロボットのプログラミングに関して使用されるシステムであって、構成データ、器具速度、及び対象物に対する器具の所望の位置と対象物に対する処理作業項目の所望の位置とに関する情報を含む一連のウェイポイントに関する情報の取得手段と、取得した情報を格納する記憶装置を備えるシステムに関するものである。
【背景技術】
【０００５】
対象物の表面を処理するためにロボットが使用されることが多い。現行の技術では、ロボットに一連のウェイポイントを教えることによってロボットのプログラミングを行う。ウェイポイントは、対象物を処理する際にロボットが辿るべきパスを形成している。ウェイポイントには、３次元位置情報と３次元方向情報が含まれる。ロボットは、プログラミングの際に望ましい動作パスに沿って複数のウェイポイントを通過するように導かれることによってタスクの実行方法を教わる。反復１回目でウェイポイントが特定され、２回目で、ブラシの種類や塗装色等の、処理に関する情報がウェイポイントに追加される。次いで特定されたウェイポイントと処理情報に基づいてロボットプログラムが生成される。ロボットプログラムはロボットの制御装置内のメモリに保存される。その後、ロボットプログラムを抽出し、必要であればロボットが処理を実行した後で最適化する。このプログラミング方法は特許文献１に開示されている。
【０００６】
一般的に、ロボットは、人間の操作者が移動プログラミングユニット、いわゆるティーチペンダントを使用してロボットをパス上の所望の位置に連れてまわることによってタスクの実行方法をプログラミングされるのである。ティーチペンダントを使用するプログラミング方法で一般に使用されているものが、特許文献１に開示されている。工業ロボットは、通常、例えば溶接器具または塗装器具等の処理を行うための器具を有するエンドエフェクタを搭載している。パスをプログラミングする際に、操作者はパス上の各ウェイポイントにおいてエンドエフェクタの位置および向きを決定する必要がある。実際に見せることによる教示方法には、プログラミングする際に操作者の潜在的な処理知識を間接的に利用するという利点がある。従来型のマニュアルによる教示方法は、処理を最適に制御するのが困難であることが多い。これは、ロボットプログラムが実行される以前に操作者がフィードバック情報を何も持っていないためである。
【０００７】
あるいは、対象物の３次元ＣＡＤモデルが存在する場合、コンピュータ分野の熟練者が、いわゆるオフラインプログラミングによって、ロボットシミュレーションシステム内でウェイポイントを教示することも可能である。ＣＡＤ方式は高価で、必ずしも直感的に使用できるものではない。ＣＡＤシステムには、コンピュータ科学に関する知識を持つようにロボットをプログラミングする操作者が必要である。そのような人材は、通常、処理に関する知識を殆ど又は全く持たない。いずれにしろ、教示作業は時間が掛かり、煩わしく、間違い易く、ほとんどの場合許容できるプログラムが得られるまで繰返し行う必要がある。
【０００８】
工業ロボットをプログラミングするための従来の方法は皆、実際の対象物に対する正確なロボットパスを示すことに焦点を当てている。操作者は、対象物に集中することではなく、正確なロボットパスと、このパス上における処理作業項目を教示する。
【特許文献１】米国特許第５３２７０５８号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、使用が容易で直感的に理解でき、教示過程に掛かる時間を短縮できる、新規の工業ロボットプログラミング方式を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一態様では、冒頭に記した方法により、本発明の課題を達成する。当該方法は、器具の構成データ、ロボットパスの構成データ、及びロボットに対する対象物の位置と方向に関する情報を含む構成データを取得する過程と、対象物に対する器具の所望の位置と対象物に対する作業項目の所望の位置とに関する情報を含み、対象物に対する処理を画定する一連のウェイポイントを取得する過程と、ウェイポイントの位置を調整するための少なくとも１つの距離を取得する過程と、取得したウェイポイントについての情報に基づいて取得したウェイポイントを修正するべきか否かを自動的に決定する過程と、前記決定、取得した距離、及び取得したウェイポイントに関する情報に基づいて取得した一連のウェイポイントを修正することにより、修正された一連のウェイポイントを自動的に生成する過程と、修正された一連のウェイポイントと取得した構成データに基づいて実際のロボットパスを自動的に生成する過程とからなる。
【００１１】
少なくとも１つのコンピュータにより、操作者の入力に基づいて完全なロボットパスを自動的に生成する。操作者は、対象物に直接関連する位置、方向及び作業を示すウェイポイントを教示する。操作者はロボットプログラムで実行される特定の順にウェイポイントを入力する。対象物表面以外にも存在する完全なロボットパスを操作者が登録しなければならない今日のプログラミング方法と違い、操作者は対象物の表面に直接入力作業を行うだけでよい。操作者は、実際のロボットパス（表面からどれくらいの距離でロボットがパスをスタートする、又は処理を開始しなければならないか）を考慮する必要がない。よって、プログラミングは、より直感的に理解でき、ロボットパスではなく処理と対象物に焦点を当てたものとなる。さらに、ロボットパスを獲得するまでに行う必要のある反復回数が減少するため、プログラミングに掛かる総時間が短縮される。本発明による方法はロボットのオフラインプログラミングに適している。
【００１２】
本発明の１実施形態では、一連のウェイポイントを取得する過程は、対象物上、又は対象物近傍の点を指す指示部材の位置に関する情報を取得する過程と、保存信号を受信すると、指示部材が現在指し示す点をウェイポイントとして保存する過程と、作業項目に関する情報を取得する過程と、作業項目に関する情報をウェイポイントの位置と一緒に保存する過程と、前記取得した情報に基づいて対象物に対する点の位置を決定する過程とをさらに含む。指示部材を使用して対象物の表面を指し示すことにより、操作者は、自分自身がペイントスプレーヤやブラシ等の器具を使用して対象物表面を手動で処理するのと同様にして、１回でロボットパスを教示することができる。1回でウェイポイントを教示することができるため、総プログラミング時間が短縮される。
【００１３】
本発明の１実施形態では、前記ウェイポイントを修正する過程は、所定の規則に基づいて行われる。特定の処理のためにロボットパスを生成する時、プログラミング作業の間に複数の予防策を取る必要がある。これらの予防策を必ず取るために、所定の規則に基づいてウェイポイントを修正する。
【００１４】
本発明の１実施形態では、決定する過程は、ウェイポイントが特定の作業項目を含んでいるかを判断し、含んでいる場合、該ウェイポイントを修正するべきかどうかを決定することを含む。通常、ウェイポイントが特定の作業項目を含んでいない場合はウェイポイントを修正しない。特定の作業項目を含む点のみが修正される可能性を有する。例えば、ウェイポイントが作業項目「処理実行」又は「処理停止」を含む場合、ウェイポイントは修正される場合がある。
【００１５】
塗装に関連して考慮しなければならない問題は、塗装を開始する際には、実際の塗装位置の少し手前で塗装を開始しなければならないことである。これは、塗装開始命令が発せられてから塗料が対象物に付着するまでに遅延があるため、及びペイントスプレーヤが塗装方向に速度ベクトルを有するためである。同様に、塗装終了位置より少し手前で塗装を終了させる必要がある。ここでも、ペイントスプレーヤは塗装方向に速度ベクトルを有し、「塗装終了」命令が発せられてから塗装が終了するまでに遅延がある。
【００１６】
考慮しなければならない別の問題は、塗装の質を確実に高めるためには、ペイントスプレーヤの速度ベクトルが塗装作業全体を通じて一定でなければならない点である。これを達成するために、塗装開始前に、正確な方向に向けて、ペイントスプレーヤの速度を所望の速度まで加速させ、その後塗装を終了する塗装終了位置までペイントスプレーヤの速度を維持する必要がある。その後も、ペイントスプレーヤを遅延分に相当する距離だけ同じ方向に維持する必要がある。通常、操作者は、塗装開始地点においてペイントスプレーヤが所望の速度に到達するように、塗装方向において塗装が必要な部分の手前の位置を決定することによりこの問題を解決する。
【００１７】
本発明による方法の利点は、操作者が上述の問題にわずらわされずに済むことである。操作者は、対象物上の処理開始点と終了点を決定するだけでよい。
【００１８】
本発明の１実施形態では、ウェイポイントの位置を調整するために取得する距離は、器具の速度によって決まるポイント延長距離である。ポイント延長距離とは、処理を開始する前に器具を確実に所望の速度まで加速するために、取得したウェイポイントを移動させなければならない距離、及び処理終了後に器具が減速するのに必要な距離である。ポイント延長距離は、操作者によりシステムに供給されるか、又は取得した器具の速度に基づいてシステムにより計算される。いずれの場合も、ポイント延長距離はウェイポイントにおける所望の器具速度により決まる。
【００１９】
本発明の１実施形態では、ウェイポイントを修正する過程は、一連のウェイポイントに新規ウェイポイントを加えることと、前記ポイント延長距離と取得したウェイポイントに基づいて新規ウェイポイントの位置を決定することを含む。好適には、ウェイポイントの新規位置の決定は、現在のウェイポイントの位置と直前のウェイポイントの位置に基づき、又は、現在のウェイポイントの位置と次のウェイポイントの位置に基づき、作業項目に応じた方向を決定することと、決定された方向を向く取得したウェイポイントの位置にポイント延長距離を加えることにより新規位置を取得することとを含む。
【００２０】
例えば、操作者が塗装を開始すべき特定のウェイポイントを有する場合、つまり、ウェイポイントが１つの位置と「処理実行」という処理作業項目を含む場合、該特定のウェイポイントにおいて所望の速度を有するようにペイントスプレーヤを確実に加速するために、該特定のウェイポイントの手前に新規ウェイポイントを追加しなければならない。新規ウェイポイントは、現在のウェイポイントから次のウェイポイントへと向かうパスの進行方向において後方に、ポイント延長距離と等しい距離を置いて配置される。作業項目が「処理停止」である場合、新規ウェイポイントは、直前のウェイポイントから現在の特定のウェイポイントへと向かうパスの進行方向において前方に、ポイント延長距離と等しい距離を置いて配置される。
【００２１】
本発明の１実施形態では、ウェイポイントの位置を調整するための距離を取得する過程は、器具速度と作業項目に関する遅延時間によって決まる作業延長距離を取得することを含む。作業延長距離は、操作者によって供給されても、器具速度と遅延時間に基づいてシステムにより計算されてもよい。ウェイポイントを修正する過程は、前記作業延長距離と取得したウェイポイントに基づいて作業項目の新規位置を決定することと、作業項目を新規位置へ移すことを含む。例えば、操作者が、塗料の付着が開始されるべき位置を有するウェイポイントを特定し、正確に該特定の位置で塗装が開始されると仮定した場合、塗料の付着が開始されるのは、ペイントスプレーヤの速度と塗装の遅延によって決まる、該特定の位置より一定の距離だけ後方の位置である。よって、器具速度と処理の遅延により、作業項目は必ずしも特定のウェイポイントで実行されない。従って、特定のウェイポイントの位置を修正しなければならない。作業が行われる正確な位置は、システムにより自動的に計算され、特定のウェイポイントは該位置へと移される。
【００２２】
本発明の１実施形態では、作業項目の新規位置を決定する過程は、現在のウェイポイントの位置と直前のウェイポイントの位置に基づき、又は現在のウェイポイントの位置と次のウェイポイントの位置に基づき、作業項目に応じた方向を決定することと、決定された方向を向く取得したウェイポイントの位置に作業延長距離を加えることにより新規位置を取得することとを含む。ウェイポイントを、直前のウェイポイントから現在のウェイポイントへ向かう方向において前方に移さねばならないか、それとも現在のウェイポイントから次のウェイポイントへ向かう方向において後方に移さねばならないかは、作業項目によって決まる。ポイントを移動させなければならない距離は、ポイント延長距離に等しい。
【００２３】
本発明の１実施形態では、生成されたロボットパスに基づいてロボットプログラムコードを自動的に生成する。
【００２４】
好適には、ウェイポイントは器具の方向に関する情報も含む。本発明の１実施形態では、当該方法は、最後のウェイポイントの方向を必要に応じて取得したウェイポイントにコピーすることを含む。対象物を塗装する際は、ウェイポイントからウェイポイントまで、ペイントスプレーヤが同じ方向を向いていなければならない場合が多い。従って、ウェイポイントの最終有効方向を現在の特定のウェイポイントにコピーできることは有利である。
【００２５】
本発明の１実施形態では、当該方法は、取得したウェイポイントを第一ウェイポイントリストに保存することと、修正した一連のウェイポイントを第二ウェイポイントリストに保存することとを含む。これは、操作者が後になって新規ウェイポイントを削除、変更又は追加することを所望した場合、操作者が特定したポイントを呼び戻すためである。操作者が後でウェイポイントを編集したいと思った場合、ロボットパスの少なくとも一部を再度生成する必要があり、前記所定の規則に基づいてウェイポイントを再度修正する必要がある。
【００２６】
本発明のさらに別の実施態様は、コンピュータの内蔵メモリに直接ロードすることができるコンピュータプログラム製品であって、該製品がコンピュータ上で実行されると、本発明による方法の各過程を行うためのソフトウェアコード部を含むコンピュータプログラム製品により本発明の目的を達成する。コンピュータプログラム製品は、コンピュータで読取可能な媒体、又はインターネットなどのネットワークを通じて提供される。
【００２７】
本発明のさらに別の実施態様は、プログラムを記録したコンピュータで読取可能な媒体であって、該プログラムがコンピュータ上で実行されると、コンピュータに本発明による方法の各過程を行わせるコンピュータで読取可能な媒体により本発明の目的を達成する。
【００２８】
本発明のまた別の実施態様は、冒頭に記したシステムにより本発明の課題を達成する。該システムは、ウェイポイントに関して取得した情報に基づいて取得したウェイポイントを修正するべきか否かを決定する手段と、前記決定、ウェイポイントの位置を調整するための距離、及びウェイポイントに関して取得した情報に基づいて、取得した一連のウェイポイントを修正することにより、修正された一連のウェイポイントを生成する手段と、修正された一連のウェイポイント、器具速度、及び取得した構成データに基づいて、実際のロボットパスを生成するロボットパス生成器とを備えることを特徴とする。
【発明を実施するための最良の形態】
【００２９】
本発明の複数の実施例、及び添付図面により、本発明を以下に詳述する。
【実施例１】
【００３０】
図１には、本発明による工業ロボットをプログラミングするために使用されるシステムが示してある。システムは、ロボットに対象物３の処理方法を教示するために人間の操作者２が使用する指示部材１を有する。指示部材は、処理器具自体であっても、対象物の処理を教示する目的に特別に作成された装置であってもよい。指示部材は、例えばペン形状の装置であるか、またはペイントスプレーヤまたはペイントブラシ等の処理器具とすることができる。
【００３１】
操作者は指示部材１を手に持ち、パスに含ませたいポイントを指し、そのポイントにおける処理工具の望ましい向きに指示部材を向ける。操作者が作動部材を作動すると、登録信号が発生し、ポイントが登録される。システムが登録信号を受信すると、そのポイントをウェイポイントとして保存する。指示部材の位置と方向は、例えば画像認識により決定される。或いは、指示装置により多数の異なる方法で位置と方向を生成することができる。例えば、指示部材はその先端の位置と方向を与える機械的デジタル化アームであってもよく、または指示部材に位置と方向を決定するためのセンサを内蔵してもよい。センサおよび位置・方向決定技術の例として、加速度計、ジャイロ、磁気追随装置、超音波、レーザ技術、視覚的追随システム、および全地球位置発見システム（ＧＰＳ）が挙げられる。
【００３２】
指示部材１は、操作者とシステムとの間のインタラクション用に設計されたインタラクション手段を備えている。インタラクション手段の１つは、作動すると、１地点をウェイポイントとして登録するための登録信号を生成する。別のインタラクション手段は、ウェイポイント間で処理を行うか行わないかを示すために使用される。例えば、処理が塗装である場合、インタラクション手段は塗装を行うか行わないかを示す。システムはまた、ブラシの種類および色の種類など、処理に関する情報をシステムに入力するための手段を備える。或いは、処理情報に基づいて処理を「実行」または「停止」と規定することができる。ロボットへの教示を行う際、操作者は対象物の表面にウェイポイントを登録し、併せてウェイポイントに関する処理関連情報を登録する。登録したウェイポイントの各々に関し、操作者は処理を実行するのか停止するのかを示す。
【００３３】
指示部材１の位置と方向に関する情報、および処理データはプロセッサとメモリを含むコンピュータ４に転送される。インタラクション手段の出力は、有線または無線で指示部材１からコンピュータ４に転送される。コンピュータ４のプロセッサは本発明によるロボットパス生成アルゴリズムを動作させるために使用され、メモリは取得したウェイポイントとアルゴリズムのプログラム指示を保存するために使用される。
【００３４】
教示は、特定の順序で与えられた複数のウェイポイントを特定し、対象物に対する処理を説明することにより、処理実行方法をロボットに教示することを含む。例えば、ウェイポイントは対象物表面への塗装を説明する。操作者は対象物表面に対して特定の順序でウェイポイントを教示する。この順序は、ロボットパスの自動生成に適したものである。１ウェイポイントは、該地点における処理器具の望ましい位置と方向、および処理に関するデータを含む。該ウェイポイントは、登録された位置と方向、または、登録された位置と、最後に登録された方向のコピーとを含む。操作者がパスを教示するときは、まずロボットパスの開始地点を特定する。開始地点は対象物から一定の距離だけ離間して位置している。次いで操作者は対象物表面上の地点の特定を開始する。
【００３５】
操作者は、対象物上、または対象物近傍に少なくとも３点を特定し、１平面を規定することもできる。この平面上に位置するウェイポイントは、この平面に対して予め定められた角度の方向データとプログラムされた器具速度ベクトルを自動的に受信する。
【００３６】
ロボットパスを特定する際、操作者が指示部材を所望のウェイポイントに置くと、指示部材の位置と方向が対象物座標系に対して自動的に計算される。操作者は望ましいブラシの種類を設定するために作動部材を使用する。操作者は作動部材の１つを使用して所望の地点をウェイポイントリストに保存することを指定する。この実施例では、２つの操作が可能である。ボタンを長時間押し続けると、位置と方向の両方が登録される。ボタンを押してすぐに離すと、位置だけが登録される。方向については、ウェイポイントリストにおける直近の有効方向がコピーされる。
【００３７】
プログラミング開始前に、システム内に何らかの構成データを特定しなければならない。これら構成データにより、システムはユーザが指定したウェイポイントに基づいて実際のロボットウェイポイントを計算することができる。操作者がシステムに構成データを供給するか、または構成データの一部を予めシステムに保存する。構成データは、ロボット器具の定義、ロボットの座標系に対する対象物座標系の定義、ロボットパスの構成データ、器具速度およびその他関連データを含む。ロボット器具の定義は、ロボット中心点（ＴＣＰ）と、例えば関連する塗装色について使用可能なブラシの種類のリストを含む。一般に、ブラシの種類とは塗料流および気流パラメータからなる。ブラシの種類は指標ブラシテーブルに保存される。ブラシ種類の１または複数を、一般に塗料流がゼロであることを意味する「処理停止」と定義することができる。
【００３８】
ロボットパスの構成データは搬送領域と塗装領域を含む。搬送領域は、処理「停止」時の、パスの２つの直線部分を結ぶカーブの大きさである。塗装領域は処理「実行」時の、パスの２つの直線部分を結ぶカーブの大きさである。操作者はまた、所望の器具速度に関する情報をシステムに供給しなければならない。器具速度は、処理「停止」時の器具速度である搬送速度と、処理「実行」時の器具速度である処理速度を含む。
【００３９】
ウェイポイントを修正するためには、ポイント延長距離と作業延長距離が必要である。ポイント延長距離は、処理の実行または停止の前および後に、ウェイポイントを延長する距離である。処理実行前に所望の器具速度まで器具を加速するため、または処理停止後に器具を減速するため、ポイント延長距離の大きさを推定する。作業延長距離は、器具速度による作業延長と、器具を作動または停止してから処理が開始または終了するまでの遅延時間とにより作業を延長する距離である。本実施例では、操作者がポイント延長距離と作業延長距離をシステムに供給する。別の実施例では、システムに供給された１または複数の遅延時間と指定された器具速度とに基づき、システムがポイント延長距離と作業延長距離を計算する。
【００４０】
或いは、構成データの一部を操作者が指定した各ウェイポイントに入力することができる。これにより、プログラミングの際に特定のウェイポイントにおける塗装速度、搬送速度、塗装領域および搬送領域などのパラメータを操作者が調整することができる。
【００４１】
図２はロボットパスに関連する構成データを図示したものである。ウェイポイントＡ，Ｂ，Ｃ，Ｄ，Ｅが操作者により特定されている。Ａ地点は開始地点であり、この地点において処理は「停止」している。ウェイポイントＢで処理が開始される。ウェイポイントＣおよびＤには同一の処理データ、例えば同じブラシ種類と同じ色が指定されている。ウェイポイントＥで処理が停止される。Ａ地点とＢ地点の間では処理が停止されているので、この間の速度は搬送速度ｖ１であり、カーブ５で速度ｖ２がロボットコントローラに指定され、それによりＢ地点でロボット器具は所望の速度ｖ２に到達する。ウェイポイントＢとＥの間では処理が実行されているので、この間の速度は処理速度ｖ２である。ロボットパスを生成するとき、生成されるパスはウェイポイントを結ぶ直線だけではない。パスがウェイポイントで方向を変える際、指定された器具速度を維持するために器具はカーブ５，６を辿らなければならない。カーブの大きさは処理が実行中であるか停止されているかによって決まる。処理が停止されているとき、処理領域はカーブ５の大きさである。処理が実行中であるとき、搬送領域はカーブ６の大きさである。ポイント延長距離Ｄ１は、処理実行の前に、および処理停止の後に、器具を望ましい速度まで加速または減速し、且つ正しい方向に向けるため、処理を実行または停止する前および後にウェイポイントを延長するべき距離である。
【００４２】
実際のロボットウェイポイントは、後述する一組の規則に従って取得した一連のウェイポイントと構成データに基づいて生成される。さらに詳細には、直前、現在および次の指定ウェイポイントに基づいて新規の修正された一連のウェイポイントが計算される。本発明では、処理が停止されており、その位置と方向が指定されている開始地点が存在するものとみなす。図３は、操作者が指定したウェイポイントを修正するためにシステムが行う動作を図解したものである。黒の点は操作者が指定したウェイポイント７，１０，１２，１４を示す。白の点はシステムにより位置を修正されたウェイポイント９，１１を示す。×印８，１３はシステムにより追加された新規ウェイポイントを示す。
【００４３】
操作者が指定したウェイポイント７，１０，１２，１４は１つの独立したウェイポイントリスト（ｗ．ｐ．ｌ．）に保存される。これは、操作者が後にウェイポイントを削除、編集、追加したいと思ったときにユーザが指定した地点を記憶するために行われる。場合によっては、その新規の位置は後続のウェイポイントによって決定されるため、ウェイポイントを直接修正できない。このような場合、該地点はウェイティングリスト（ｗ．ｌ．）に保存される。ロボットパスの生成に使用されるウェイポイント７，８，９，１１，１３，１４はパスリスト（ｐ．ｌ．）に保存される。
【００４４】
以下、図３を参照してウェイポイント生成規則について説明する。操作者が指定したウェイポイントは、受信された後は常にウェイポイントリストに保存される。登録された各ウェイポイントは、該ウェイポイントと次のウェイポイントの間で処理が実行されるか停止されるかに関する情報を含む。操作者がウェイポイント１４に「処理停止」を指定し、最後の指定ウェイポイント１２にも「処理停止」が指定されている場合、ウェイポイントは修正なしでパスリストに保存される。操作者がウェイポイント１０に「処理実行」を指定し、直前のウェイポイント７に「処理停止」が指定されている場合、パスリストに新規ウェイポイント８が追加される。新規ウェイポイント８は、取得済みのポイント延長距離Ｄ１と等しい距離を置いて、現在のウェイポイント１０から次のウェイポイント１２に向かう方向において後方に配置される。新規ウェイポイント８はパスリストに保存される。ウェイポイント１０は「処理実行」という作業項目を表す。指定したウェイポイントで処理を開始することを達成するため、ウェイポイント１０の位置を移動しなければならない。処理実行に関する遅延時間と器具速度を補償するため、該ウェイポイントはウェイポイント１０からウェイポイント１２に向かう方向に向かって後方に移動される。ウェイポイント１０は作業延長距離Ｄ２と等しい距離だけ移動される。修正されたウェイポイントに関連して「処理実行」という作業項目が生成される。修正されたウェイポイント９はパスリストに保存される。
【００４５】
操作者がウェイポイント１２に「処理停止」を指定し、直前のウェイポイント１０に「処理実行」が指定されている場合、新規ウェイポイント１３がパスリストに追加される。新規ウェイポイント１３は、ポイント延長距離Ｄ１を置いて、直前のウェイポイント１０から現在のウェイポイント１２に向かう方向において前方に配置される。ウェイポイント１２は「処理停止」という作業項目を表す。指定したウェイポイントで処理を停止することを達成するため、ウェイポイント１２の位置を移動しなければならない。処理停止に関する遅延時間と器具速度を補償するため、該ウェイポイントは直前のウェイポイント１０から現在のウェイポイント１２に向かう方向において後方に移動される。ウェイポイント１２は作業延長距離Ｄ２と等しい距離だけ移動される。修正されたウェイポイントに関連して「処理停止」という作業項目が生成される。修正されたウェイポイント１１はパスリストに保存される。操作者がウェイポイントに処理実行を指定し、直前のウェイポイントにも塗装実行が指定されている場合、取得されたウェイポイントは修正なしでパスリストに保存される。
【００４６】
遅延時間が小さい場合、補償の必要はない。以下の実施例では、処理実行または停止に関する遅延時間によりウェイポイントは修正されない。作業項目を表すウェイポイントは初めに取得された位置でパスリストに保存される。
【００４７】
図４は、塗装を行う場合について説明した規則に従ってどのようにウェイポイントが追加および修正されるかを示す実施例である。黒い点は操作者が指定したウェイポイントＡないしＬを示す。×印はシステムによって追加された新規ウェイポイントＢ＿新規ないしＫ＿新規を表す。ウェイポイントの番号は選択されたブラシ番号を表す。ブラシ番号「０」は「停止」と規定されている。ブラシ番号「１」、「２」および「３」は「実行」と規定される。塗装が実行に指定されている場合には塗装された状態が示され、該示された塗装状態は特定されたブラシの幅によって決まっている。システムが実行する動作と動作の結果を次の表に示す。
【００４８】
2004213672.tif 000003
2004213672.tif 000004
【００４９】
すべてのウェイポイントの取得と修正の終了後、パスリストに保存された修正された一連のウェイポイントと、搬送速度、塗装速度、搬送領域、塗装領域およびブラシリスト等の構成データとに基づいて、実際のロボットパスが生成される。ロボットパス生成作業により、ロボットの動きについてのロボット指令を含むロボットコードが生成される。パスは、位置、方向および処理データを有する複数のウェイポイントと、特定の作業項目を表す複数のウェイポイントとを含む。パスリスト中のウェイポイントの各々はそれに関連するブラシ部材を有する。
【００５０】
ロボットコード生成器はパスリスト中のウェイポイントと構成データを入力とし、特定のロボットコントローラに正しい統語論を有するロボットプログラムを生成する。ロボットコード生成器は、当業者に周知のいかなる種類のロボットコードコントローラでもよい。ロボットプログラム生成器のタスクは、指定された処理領域と搬送領域に基づいて正確な位置にウェイポイントを配置すること、正しい統語論を生成すること、およびロボットへの入力をプログラミング言語に翻訳することである。生成されたロボットコードはロボットがプログラムを実行できるようにロボットコントローラにダウンロードされるか、またはロボットプログラムが異なる対象物のシーケンスを含む場合にはモジュールとしてのより大きなロボットプログラムに統合される。
【００５１】
後述では、パスリスト中のウェイポイントに基づいてどのようにロボットコードが生成されるかについて説明する。適切な「動作」指令は、指定の方向に向く器具をそなえる指定位置への線形運動を意味する。適切な指令は、現在の処理情報に基づいて生成される。コード生成が開始される前に、デフォルト処理パラメータがシステムに読み込まれ、パスリストに指定されたすべての位置と方向が対象物座標系からロボット座標システムに変換される。その後、デフォルト処理パラメータを有するパスリスト中の第一ウェイポイントに動作指令が生成される。第一ウェイポイントに指定された処理情報により、パスリスト中の次のウェイポイントに動作指令が生成される。この最後の段階がパスリストの終了まで、パスリスト中のすべてのウェイポイントで繰り返される。図４に示すウェイポイントＡ−Ｇに生成されるプログラムコードの例を以下に示す。
例：
ｐ．ｌ．＝「Ａ、Ｂ＿新規、Ｅｖ＿Ｂ、Ｅｖ＿Ｃ、Ｃ＿新規、Ｄ＿新規、Ｅｖ＿Ｄ、Ｅ、Ｅｖ＿Ｆ、Ｆ＿新規、Ｇ」
Ａに移動、デフォルト処理パラメータ
Ｂ＿新規に移動
Ｅｖ＿ＢおよびＥｖ＿Ｃの作業項目を有するＣ＿新規に移動
Ｄ＿新規に移動
Ｅｖ＿Ｄの作業項目を有するＥに移動
Ｅｖ＿Ｆの作業項目を有するＦ＿新規に移動
Ｇに移動
【００５２】
生成されたロボットコードがロボットコントローラに入力される。図５は生成されたロボット指令に基づいて生成された実際のロボットパスを示す。
【００５３】
図６および７は、本発明の１実施例による方法とコンピュータプログラム製品を図解するフローチャートである。フローチャートの各ブロックはコンピュータプログラム指令により実行可能なものである。ブロック２０では、構成データをシステムに読み込み、保存する。ブロック２１では、システムは新規ウェイポイントが指定されるのを待つ。新規ウェイポイントが指定されると、ブロック２２で位置と処理に関する情報を取得する。ブロック２３では、取得したウェイポイントが方向に関する情報を含むかどうかを観察する。ウェイポイントが方向に関する情報を含まない場合、方向は保存された直近のウェイポイントからコピーされる（ブロック２４）。方向に関する情報を含む場合、指示部材から方向が取得される（ブロック２５）。必要であれば、ブロック２６でウェイポイントを修正する。ウェイポイントの修正について図７に示すフローチャートにより詳細に説明する。すべてのウェイポイントを受信し、必要に応じて修正した後、構成データと修正された一連のウェイポイントに基づいてロボットコードが生成される（ブロック２８）。ブロック２９で、生成したロボットコードを検証し、不正確な場合は修正する。
【００５４】
図７のフローチャートは、ウェイポイントの修正をさらに詳細に説明したものである。まず、取得したウェイポイントを修正するべきか否かを判断する。該判断は、ウェイポイントが特定の処理作業項目を含むかどうかに基づいて行われる。本実施例では、処理作業項目「塗装実行」または「塗装停止」を含むウェイポイントのみが修正される。それ以外のすべてのウェイポイントは受信時の状態のまま保存される。ウェイポイントが作業項目「塗装実行」を有しているかどうかの決定は、現在および直前のウェイポイントにおけるブラシの状態に基づいて行われる。現在のウェイポイントのブラシ状態が「実行」であり、直前のウェイポイントのブラシ状態が「停止」である場合、ウェイポイントは作業項目「塗装実行」を有し、修正対象となる（ブロック３０，３２）。ウェイポイントと追加される新規ウェイポイントの新規位置を決定するためには、次のウェイポイントの位置が必要である。次のウェイポイントを受信するまで、現在のウェイポイントをウェイティングリストに保存する（ブロック３６）。
【００５５】
ウェイポイントが作業項目を含まない場合、つまり現在のブラシ状態が「実行」であって直前のブラシ状態が「実行」である場合か、または現在のブラシ状態が「停止」であって直前のブラシ状態が「停止」である場合、現在のウェイポイントを修正なしでパスリストに保存する（ブロック３８，３９）。現在および直前のウェイポイントのブラシ状態が「実行」であり、ウェイティングリスト中に待ち状態のウェイポイントが存在する場合（ブロック３０，３２，４２）、ウェイティングリスト中のウェイポイントの位置を、直前のウェイポイントから現在のウェイポイントに向う方向において後方に、ポイント延長距離に等しい距離だけ移す（ブロック４４）。新規ウェイポイントをパスリストに保存する（ブロック４５）。作業項目「塗装実行」が生成され、ウェイポイントの新規位置がポイント延長距離と直前および現在のウェイポイントに基づいて決定される（ブロック４６）。新規作業項目をウェイポイントとしてパスリストに保存する（ブロック４７）。現在のウェイポイントをパスリストに保存する（ブロック４８）。ウェイティングリストをクリアする（ブロック４９）。
【００５６】
現在のウェイポイントのブラシ状態が「停止」であって直前のウェイポイントのブラシ状態が「実行」である場合、該ウェイポイントは作業項目「塗装停止」を有し、修正対象となる（ブロック３０，３４）。ウェイティングリストに待ち状態のウェイポイントが存在しない場合（ブロック５０）、作業項目「塗装停止」が生成され、該作業項目の位置は、直前のウェイポイントから現在のウェイポイントに向かうベクトルに沿って前方へ、現在のウェイポイントの位置を作業延長距離だけ移動することにより調整される（ブロック５１）。新規作業項目をパスリストに保存する（ブロック５２）。同じ方向を有する新規ウェイポイントが追加され、その新規位置は、直前のウェイポイントから現在のウェイポイントへ向かうベクトルに沿って前方へ、現在のウェイポイントの位置を、ポイント延長距離と等しい距離だけ移動することによって得られる（ブロック５３）。新規ウェイポイントをパスリストに保存する（ブロック５４）。
【００５７】
現在のウェイポイントのブラシ状態が「停止」であって直前のウェイポイントのブラシ状態が「実行」であり、且つウェイティングリスト中にウェイポイントが存在する場合（３０，３４，５０）、ウェイティングリスト中のウェイポイントを、直前のウェイポイントと現在のウェイポイントの位置により決定されるベクトルに沿って後方へ、ポイント延長距離と等しい距離だけ移動する（ブロック５６）。新規ウェイポイントをパスリストに保存する（ブロック５７）。作業項目「塗装停止」が生成され、該生成された作業項目の新規位置が決定される（ブロック５８）。新規作業項目をパスリストに保存する（ブロック５９）。生成された作業項目「塗装停止」の位置は、現在のウェイポイントを作業延長距離に等しい距離だけ後方に移した位置に基づいている（ブロック６０）。新規作業項目をパスリストに保存する（ブロック６１）。新規ウェイポイントを生成し、直前のウェイポイントから現在のウェイポイントへ向かう方向において前方へ、現在のウェイポイントをポイント延長距離に等しい距離だけ移動させた位置に配置する（ブロック６２）。新規ウェイポイントをパスリストに保存する（ブロック６３）。ブロック６４でウェイティングリストをクリアする。
【００５８】
ロボットパス生成が完了した後は、ユーザによるロボットパスの編集が可能になる。操作者は、システムに保存されている連続するウェイポイント間、或いはウェイポイントのリストの最初または最後に新規ウェイポイントを追加できる。加えて、操作者は、ウェイポイントの位置、方向、または処理設定の編集や、ウェイポイントの削除を実行できる。操作者がウェイポイントを削除するときは、以下の段階を踏まねばならない。即ち、ウェイポイントリスト中の選択した位置へ行き、パスリストから対応するウェイポイントを削除し、ウェイポイントリスト中の直前のウェイポイントおよび次のウェイポイントに対応するウェイポイントをパスリストから削除し、ウェイポイントリスト中の直前のウェイポイントおよび次のウェイポイントに対応する新規ウェイポイントを計算および生成し、ウェイポイントリストからウェイポイントを削除する。
【００５９】
操作者が新規ウェイポイントを追加するときは、以下の段階を踏まねばならない。即ち、ウェイポイントリストの指定された位置に新規ウェイポイントを加え、ウェイポイントリスト中の直前のウェイポイントおよび次のウェイポイントに対応するパスリスト中のウェイポイントを削除し、ウェイポイントリスト中の直前、現在および次のウェイポイントに対応する新規ウェイポイントを計算および生成する。操作者がウェイポイントを編集するときは、以下の段階を踏まねばならない。即ち、ウェイポイントリスト中の選択した位置へ行き、ウェイポイントデータを新規データで置換し、ウェイポイントリスト中の直前、現在および次のウェイポイントに対応するパスリスト中のウェイポイントを削除し、ウェイポイントリスト中の直前、現在および次のウェイポイントに対応する新規ウェイポイントを計算および生成する。このように、先述の規則に従ってウェイポイントを追加、削除および編集することが可能である。
【産業上の利用可能性】
【００６０】
本発明による方法は、オフラインプログラミング法、つまりロボットおよびロボットコントローラ外部で使用できる方法である。
【００６１】
本発明は本明細書に開示した実施例に限定されるものではなく、請求の範囲に規定された範囲内で変更および修正が可能である。例えば、ＣＡＤアプリケーション等の外部システム、またはウェイポイントと処理情報を保存するデータベースからウェイポイントをコンピュータにロードすることができる。
【図面の簡単な説明】
【００６２】
【図１】操作者が指示部材を使用して対象物上の一連のウェイポイントを教示する様子を示す。
【図２】パスに関連して取得されたロボットパスと構成データを図解している。
【図３】本発明による方法により修正された一連のウェイポイントの一例である。
【図４】本発明による方法により修正された一連のウェイポイントの別の例である。
【図５】図４に示す修正された一連のウェイポイントに基づいて生成されたロボットパスを示す。
【図６】本発明による方法の一実施例のフローチャートである。
【図７】本発明による方法の一実施例のフローチャートである。
【符号の説明】
【００６３】
１    指示部材
２    操作者
３    対象物
４    コンピュータ
５、６    カーブ
７、１０、１２、１４    操作者が指定したウェイポイント
８、１３    新規に追加されたウェイポイント
９、１１    位置を修正されたウェイポイント
【図１】
2004213672.tif 000005
【図２】
2004213672.tif 000006
【図３】
2004213672.tif 000007
【図４】
2004213672.tif 000008
【図５】
2004213672.tif 000009
【図６】
2004213672.tif 000010
【図７】
2004213672.tif 000011