(57)【要約】      （修正有）【課題】工業ロボットが処理すべき対象物上またはその周辺に位置する複数のウェイポイントを有するパスをロボットに教示するように、該ロボットをプログラミングするための方法およびシステムの提供。【解決手段】システムは、対象物に対するパス上のウェイポイントに関する情報を取得するための手段と、取得された情報を保存するための記憶装置１６と、ウェイポイントに関する情報とロボットのモデルに基づいてロボットのパスのシミュレーションを行うためのシミュレーション装置１８と、シミュレーションによるロボットのパスの図形表現を生成するための図形生成装置２３と、該対象物とともに該対象物上に投影された状態で該ロボットパスの図形表現を含むビューを表示するための表示装置１２とを具備する。【選択図】図２
2004209641.tif 000002
【特許請求の範囲】
【請求項１】
工業ロボットが処理すべき対象物（３）上またはその周辺に位置する複数のウェイポイントを有するパスを該ロボットに教示するように、該ロボットをプログラミングするための方法であって、
−該対象物に対するウェイポイントの相対位置に関する情報を取得し、
−該ウェイポイントの相対位置に関する情報を保存し、
−該ウェイポイントに関して受取った情報と、該ロボットのモデルに基づいてロボットパスのシミュレーションを行い、
−該シミュレーションによるロボットパスに基づいて該ロボットパスを表す図形表現を生成し、
−該対象物とともに、該対象物上に投影された状態で該ロボットパスの図形表現を含むビューを表示する過程を有することを特徴とする方法。
【請求項２】
−ウェイポイント上の工具の向きに関する情報を取得し、
−ウェイポイント上の工具の向きの図形表現を生成する過程をさらに有する請求項１に記載の方法。
【請求項３】
−前記ロボットパス上で前記ロボットが行うべき処理に関する情報を取得し、
−前記ウェイポイントに関する情報、前記処理に関する情報および処理のモデルに基づいて処理の結果のシミュレーションを行い、
−該シミュレーションによる処理の結果を表す図形表現を生成し、
−該シミュレーションによる処理の結果の図形表現を、該対象物上に投影された状態で示すビューを表示する過程をさらに有する請求項１または２に記載の方法。
【請求項４】
−前記処理を行うために使用すべき工具と、ウェイポイント上での該工具の向きに関する情報を取得し、
−該工具によって行われる処理のシミュレーションを行い、
−前記ウェイポイントの位置と、該工具の向きに関する情報に基づいて、該工具が該ロボットパスに沿って処理を行っている様子を表す図形表現を生成し、
−該工具によって行われる処理を表す図形表現に基づいて、該工具が該ロボットパスに沿って処理を行っている様子を示すビューを表示する過程をさらに有する請求項３に記載の方法。
【請求項５】
−１つまたは複数の所定の品質パラメータおよび前記処理のモデルに基づいて処理の結果の品質のシミュレーションを行い、
−該シミュレーションによる処理の結果の品質を表す図形表現を生成し、
−該シミュレーションによる処理の結果の品質の図形表現に基づいてビューを表示する過程をさらに有する請求項３または４に記載の方法。
【請求項６】
−前記処理の結果の品質のシミュレーションに基づいて、結果の品質が１つまたは複数の品質条件を満たすか否かを推定し、
−該処理の品質が該品質条件を満たさないと推定された場合に、前記図形表現を、操作者に対する視覚的な警告を組込んだ状態で生成する過程をさらに有する請求項５に記載の方法。
【請求項７】
前記ビューが、時間の関数として表示され、ロボットの動作をリアルタイムに比例した速度で示すものである請求項１ないし６のうちいずれか１項に記載の方法。
【請求項８】
−前記ビューの望ましい表示速度に関する情報を受取り、
−該望ましい表示速度に従って該ビューを表示する過程をさらに有する請求項７に記載の方法。
【請求項９】
ロボットパス上のポイントが、ロボットの動作範囲内にあるか否かを求め、そのポイントがロボットの動作範囲外に位置する場合に操作者に知らせる過程をさらに有する請求項１ないし８のうちいずれか１項に記載の方法。
【請求項１０】
前記対象物を表す画像を取得し、該対象物の画像に対して前記図形表現を登録することで合成強化現実画像を生成し、該合成強化現実画像に基づいて前記ビューを表示する過程をさらに有する請求項１ないし９のうちいずれか１項に記載の方法。
【請求項１１】
前記対象物の画像が、カメラ（８）によって取得されたものである請求項１０に記載の方法。
【請求項１２】
前記対象物に対するウェイポイントの相対位置に関する情報を取得し、保存する過程が、
−該対象物上またはその周辺のポイントを指示する指示部材（１）の位置に関する情報を取得し、
−該情報に基づいて該対象物に相対する該ポイントの相対位置を求め、
−記録信号を受取ると、該指示部材が現在指示しているポイントをウェイポイントとして保存する過程を有する請求項１ないし１１のうちいずれか１項に記載の方法。
【請求項１３】
前記対象物に対する表示部材の位置に関する情報を取得し、該対象物に対する該表示部材の相対位置に従って前記ビューを表示する過程をさらに有する請求項１ないし１２のうちいずれか１項に記載の方法。
【請求項１４】
コンピュータの内蔵メモリに直接ロードすることができるコンピュータプログラム製品であって、該製品がコンピュータ上で実行されたとき、前記請求項１ないし１３のうちいずれか１項に記載の方法を実行するためのソフトウェアコード部分を含むことを特徴とするコンピュータプログラム製品。
【請求項１５】
コンピュータによって読取可能な媒体であって、コンピュータ上で実行されたとき、該コンピュータに前記請求項１ないし１３のうちいずれか１項に記載の方法を実行させるプログラムを記録した媒体。
【請求項１６】
工業ロボットが処理すべき対象物（３）上またはその周辺に位置する複数のウェイポイントを有するパスを該ロボットに教示するように、該ロボットをプログラミングするためのシステムであって、
−該対象物に対するパス上のウェイポイントに関する情報を取するための情報取得手段（１０）、
−取得した情報を保存するための記憶装置（１６）、
−図形表現を生成するための図形生成装置（２３）、および
−該対象物とともに、該図形生成装置によって生成された図形表現を含むビューを表示するための表示部材（１２、６４）を具備し、
さらに、該ウェイポイントに関する情報と、該ロボットのモデルに基づいてロボットパスのシミュレーションを行うためのシミュレーション装置（１８）を具備し、該図形生成装置（２３）が該シミュレーションによるロボットパスの図形表現を生成し、該表示部材（１２）が該対象物とともに該対象物（３）上に投影された状態で該ロボットパスの図形表現を含むビューを表示することを特徴とするシステム。
【請求項１７】
前記情報取得手段（１０）が、前記ロボットパス上で前記ロボットが行うべき処理に関する情報を取得し、前記システムが、前記ウェイポイントに関する情報、前記処理に関する情報および処理のモデルに基づいて処理の結果のシミュレーションを行うための第２のシミュレーション装置（２２）を具備し、前記図形生成装置（２）が、該シミュレーションによる処理の結果の図形表現を生成することを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記情報取得手段（１）が、前記処理を行うために使用すべき工具と、ウェイポイント上での該工具の向きに関する情報を取得し、前記第２のシミュレーション装置（２２）が、該工具によって行われる処理のシミュレーションを行い、前記図形生成装置（２３）が、取得した情報に基づいて、ロボットパスに沿って工具が処理を行う様子を表す図形表現を生成することを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記ロボットのモデルに基づいて、ウェイポイントが前記ロボットの動作範囲内にあるか否かを求め、ウェイポイントが指定された動作範囲外にある場合に操作者に知らせる到達性装置（２０）を具備することを特徴とする請求項１６ないし１８のうちいずれか１項によるシステム。
【請求項２０】
前記対象物上またはその周辺のポイントを指示する支持部材（１）、該対象物に対する該ポイントの相対位置を求める位置決定手段（１４）、および、作動されるとそのポイントをウェイポイントとして保存する作動部材をさらに具備することを特徴とする請求項１６ないし１９のうちいずれか１項に記載のシステム。
【請求項２１】
前記対象物の画像を供給するためのカメラ（８）を具備し、前記表示部材（１２）が、シミュレーションによるロボットパスと該対象物の画像を含む生成された図形表現に基づいてビューを表示することを特徴とする請求項１６ないし２０のうちいずれか１項に記載のシステム。
【請求項２２】
合成強化現実画像を作成するために前記対象物の画像に対して前記生成された図形表現を登録する登録装置（２５）を具備し、前記表示部材（１２）が、合成強化現実画像を表示することを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記表示部材（１２）が、前記ビューを、時間の関数として、前記ロボットがパス上を移動する時の実際の時間に比例した速度で表示することを特徴とする請求項１６ないし２２のうちいずれか１項に記載のシステム。
【請求項２４】
前記システムが、前記ロボットがパス上を移動する時の実際の時間に従ったビューの望ましい表示速度に関する情報を受取り、表示部材（１２）が、該望ましい速度に従ってビューを表示することを特徴とする請求項２３によるシステム。
【請求項２５】
前記システムが、前記対象物（３）に対する前記表示部材（１２）の相対位置に関する情報を供給するための対象物追随装置（２４）を具備し、該対象物（３）に対する該表示部材の相対位置に従って前記ビューを表示することを特徴とする請求項１６ないし２４のうちいずれか１項に記載のシステム。
【請求項２６】
前記表示部材（６４）および前記カメラ（８）を含む携帯表示装置（６２）を具備することを特徴とする請求項２１に記載のシステム。
【請求項２７】
前記携帯表示装置が、利用者がその表示画面を介して直接その反対側を覗き込んでいるように見える構造を有することを特徴とする請求項２６に記載のシステム。
【請求項２８】
請求項１ないし１３のうちいずれか１項に記載の方法の、塗装処理のための使用。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工業ロボットのプログラミングに関連する方法であって、ロボットの処理対象物上またはその周辺に位置する複数のウェイポイントからなるパスをロボットに教示する方法に関するものである。対象物への処理は、例えば塗装、グレージング、サンディング、研磨、研削、溶接、採集、ピックアンドプレイス、組立等の工業ロボットによって通常行われる任意の表面処理作業である。
【０００２】
本発明は、さらに、コンピュータの内蔵メモリに直接ロードすることができるコンピュータプログラム製品であって、該製品がコンピュータ上で実行されると、本発明による方法の各過程を行うためのソフトウェアコード部を含むコンピュータプログラム製品に関するものである。
【０００３】
本発明は、さらに、プログラムを記録したコンピュータで読取可能な媒体であって、該プログラムがコンピュータ上で実行されると、コンピュータに本発明による方法の各過程を行わせるコンピュータで読取可能な媒体に関するものである。
【０００４】
本発明は、さらに、本発明による方法の塗装作業への使用に関するものである。
【０００５】
本発明は、さらに、工業ロボットのプログラミングに関連して使用されるシステムであって、対象物に対するパスのウェイポイントに関する情報を取得するための情報取得手段と、取得された情報を格納するための記憶装置と、図形表現を生成するための図形生成装置と、対象物とともに図形生成装置によって生成された図形表現を含むビューを表示するための表示装置とを具備するシステムに関するものである。
【背景技術】
【０００６】
対象物の表面を処理するためにロボットが使用されることが多い。現行の技術では、ロボットに一連のウェイポイントを教えることによってロボットのプログラミングを行う。ウェイポイントは、対象物を処理する際にロボットが辿るべきパスを形成している。ウェイポイントには、３次元位置情報と３次元向き情報が含まれる。ロボットは、プログラミングの際に望ましい動作パスに沿って複数のウェイポイントを通過するように導かれることによってタスクの実行方法を学習する。このウェイポイントは、ロボット制御ユニットのメモリ内に、指令として保存される。ロボットが作動中にプログラムの指令を実行することによって、ロボットが望むように動く。
【０００７】
一般的に、ロボットは、人間の操作者が移動プログラミングユニット、いわゆるティーチペンダントを使用してロボットをパス上の所望の位置に連れて周ることによってタスクの実行方法がプログラミングされるのである。工業ロボットは、通常、例えば溶接工具または塗装工具等の処理を行うための工具を有するエンドエフェクタを搭載している。パスをプログラミングする際に、操作者はパス上の各ウェイポイントにおいてエンドエフェクタの位置および向きを決定する必要がある。あるいは、対象物の３次元ＣＡＤモデルが存在する場合、コンピュータ分野の熟練者が、いわゆるオフラインプログラミングによって、ロボットシミュレーションシステム内でウェイポイントを教示することも可能である。ＣＡＤ方式に基づく既存の方法として、完全に仮想の世界、すなわち現実世界と対象物を表す擬似表現内の視覚フィードバックを用いたものもある。
【０００８】
いずれであれ、教示作業は時間が掛かり、煩わしく、間違い易く、ほとんどの場合では許容できるプログラムが得られるまで幾度も繰返し行う必要がある。ＣＡＤ方式は高価であり、対象物の３次元ＣＡＤモデルが必要であり、必ずしも使い勝手がよいわけではない。ＣＡＤシステムは複雑であるため、ロボットをプログラミングする操作者がコンピュータの分野に熟知している必要がある。しかし、そのような人材は、作業側の知識を有しないことが多い。手動の教示方法については、作業の制御を最適化することが難しいが、操作者の有する作業に関する潜在知識を間接的に利用することが可能になるといった利点がある。手動の教示方法のさらなる欠点として、操作者が、プログラミングの結果を視覚的に示した視覚的フィードバックを使用できない。操作者は、許容できるプログラムが得られるまで試行錯誤を繰返すことになる。例えば、ロボットに対象物の塗装処理を教えたいとき、対象物の表面全体をある色で覆いたい場合、操作者は、その後にプログラムを実行してみなければ表面の一部が塗装されていないままであることが分からない。従って、ここでは塗装処理である作業の品質が満足できる程度になるまで何度も繰返す必要がある。
【０００９】
特許文献１に、工業ロボットを教示するための改善された方法が記載されている。この方法は、ロボットが作動する前に、その作業による結果を操作者への視覚的フィードバックで示す過程を含む。視覚的フィードバックは、実際の対象物とともに示される。この方法によると、ロボットとその周囲の状況をＣＣＤカメラで検出し、操作者がティーチペンダントによってロボット操作情報を入力し、入力情報に基づいてロボットの操作後の結果を推定し、推定された操作を画像として表示される情報に変換し、カメラに関連する情報と推定情報とに基づいてロボットの応答に関する画像情報を生成し、ＣＣＤカメラによって検出された画像情報とロボットの応答に関する画像に基づいて推定応答を合成し、ロボットとその周囲とともにロボットの推定応答を含むビューを表示する。従って、この方法は、ロボットによって実行される次の作業を示すが、操作者のプログラミングに関する視覚的フィードバックを提供するものではない。
【特許文献１】特開平１０−１１１２２号公報
【発明の開示】
【００１０】
本発明の目的は、教示処理のために必要な教示時間を軽減し、処理結果の品質を向上する新規の工業ロボットプログラミング方式を提供することにある。
【００１１】
本発明の一側面によると、この目的は、上述の方法であって、該対象物に対するウェイポイントの相対位置に関する情報を取得し、該ウェイポイントの相対位置に関する情報を保存し、該ウェイポイントに関して受取った情報と、該ロボットのモデルに基づいてロボットパスのシミュレーションを行い、該シミュレーションによるロボットパスに基づいて該ロボットパスを表す図形表現を生成し、対象物とともに、該対象物上に投影された状態で該ロボットパスの図形表現を含むビューを表示する過程を有する方法によって果たすことができる。この方法は、現実の処理対象物に相対してロボットパスを視覚化することで教示処理を改善する。
【００１２】
勿論、ロボットが、操作者によって指定されたウェイポイント間を単に直線で結んだパスに従って工具を移動させると効率が悪い。効率の良いロボットプログラムを実現するためには、工具が指定されたウェイポイントを適切な速度と方向で通過するようなロボットパスを作成する必要がある。ロボットパスは、指定されたウェイポイントとロボットのモデルに基づいてロボットパスのシミュレーションを行うパスシミュレータによって生成される。このように生成されたロボットパスを表すコンピュータ生成情報は、現実の対象物上また現実の対象物の画像上に投影された状態で表示される。従って、操作者が特定の対象物に対して新しいロボットプログラムを作成したいとき、拡張された視覚的フィードバックを利用することができる。プログラミングの結果を確認するためにロボットプログラムを実際に実行する必要がない。よって、試運転の繰返し回数が少なくなり、教示時間が短縮される。この方法は、特にオフラインプログラミングに適している。この方法のさらなる利点として、生成された図形が現実の対象物上または現実の対象物の画像上に投影されるため、対象物の３次元ＣＡＤモデルを準備する必要がない。従来の方法に比べて、操作者が初回の運転から高品質のロボットプログラムを得ることができるため、プログラミング時間を大幅に短縮することができる。
【００１３】
本発明のさらなる実施形態によると、方法は、前記対象物に対する表示部材の位置に関する情報を取得し、該対象物に対する該表示部材の相対位置に従って前記ビューを表示する過程をさらに有するものである。好ましくは、表示部材の向きも取得し、該ビューは該対象物に対する該表示部材の相対位置および向きに従って表示される。従って、表示部材に表示されるビューは、対象物に対するその相対位置および向きによるものである。よって、操作者は、現実の対象物の周囲を移動しながら、異なる視点から現実の対象物上で教示内容による結果を確認することができる。
【００１４】
本発明のさらなる実施形態によると、方法は、ウェイポイント上の工具の向きに関する情報を取得し、ウェイポイント上の工具の向きの図形表現を生成する過程をさらに有する。ロボットのプログラミング中、操作者はロボットに工具の向きを教示する必要がある。操作者がウェイポイントにおける工具の向きを確認できると、プログラミングがさらに楽になる。
【００１５】
本発明のさらなる実施形態によると、方法は、前記ロボットパス上で前記ロボットが行うべき処理に関する情報を取得し、前記ウェイポイントに関する情報、前記処理に関する情報および処理のモデルに基づいて処理の結果のシミュレーションを行い、該シミュレーションによる処理の結果を表す図形表現を生成し、該シミュレーションによる処理の結果の図形表現を、該対象物上に投影された状態で示すビューを表示する過程をさらに有する。取得される情報は、例えば塗装処理の場合は使用すべきブラシ等の工具の設定に関する情報である。従って、操作者が、選択された工具の設定によって望ましい結果が得られるか予想することができる。ロボットによって行われる処理の最終結果は、実際の作業環境内で操作者に提示される。塗装処理の例では、対象物の表面上に塗装処理の結果が表示される。この方法によって、ロボットプログラムを実行したり、処理を開始したりすることなく、操作者がプログラミング処理の結果を確認することができる。操作者が、ロボットパス、処理の結果または同時にロボットパスと処理の結果を見るかを選択できることが好ましい。
【００１６】
ロボットパスおよび／または処理結果を、操作者が新しいロボットプログラムを教示している際中に表示しても、ロボットパスおよび／または処理結果を、操作者が教示作業を終了した後で時間を関数として表示してもよいが、これはロボットプログラムが生成され、ロボット制御装置にダウンロードされる前に表示してもよい。いずれの場合であっても、操作者は、新しいロボットプログラムを実際に実行せずにシミュレーションによるロボットプログラムの結果を確認することができる。
【００１７】
時間の関数としてロボットの処理を表示する場合、その方法は、シミュレーションの停止、一時停止、再生および逆再生機能を有する。
【００１８】
本発明のさらなる実施形態によると、方法は、前記処理を行うために使用すべき工具と、ウェイポイント上での該工具の向きに関する情報を取得し、該工具によって行われる処理のシミュレーションを行い、ウェイポイントの位置と、該工具の向きに関する情報に基づいて、該工具が該ロボットパスに沿って処理を行っている様子を表す図形表現を生成し、該工具によって行われる処理を表す図形表現に基づいて、該工具が該ロボットパスに沿って処理を行っている様子を示すビューを表示する過程を有する。処理が例えば塗装処理である場合、ロボットパスに沿って移動し、塗装処理を行っている仮想の塗料スプレーヤとともに、対象物に塗布されている塗料が表示される。このように処理を行っている工具を表示することによって、操作者が教示されたロボットプログラムを確認することができる。
【００１９】
本発明のさらなる実施形態によると、ロボットパスおよび／または処理結果のビューを、時間の関数として、リアルタイムに比例した速度で示すものである。リアルタイムとは、処理を行う際にロボットがパス上を移動するために必要な実際の時間である。好ましい実施形態によると、方法は、前記ビューの望ましい表示速度に関する情報を受取り、該望ましい表示速度に従って該ビューを表示する過程をさらに有する。速度は、リアルタイムに従って変更されることが好ましい。操作者にとって、リアルタイムの速度が速すぎて、速度を落としたい場合もある。本発明のこの実施形態によって、操作者は表示速度を変更することが可能である。
【００２０】
本発明のさらなる実施形態によると、方法は、処理が対象物に対してその前面か裏面から表示されるかによって異なる図形表現を生成する過程を有する。従って、操作者が簡単に前面と裏面を識別することができる。例えば、レンダリングされた塗料のストロークは、表側と裏側を識別して表示され、裏側には透明な図形が使用される。その結果、例えば塗装のストロークの裏側が見えるとき、塗料のストロークの生成等の図形処理情報をオフに設定することが可能になる。
【００２１】
本発明のさらなる実施形態によると、方法は、１つまたは複数の所定の品質パラメータおよび処理のモデルに基づいて処理の結果の品質のシミュレーションを行い、該シミュレーションによる処理の結果の品質を表す図形表現を生成し、該シミュレーションによる処理の結果の品質の図形表現に基づいてビューを表示する過程を有する。方法は、好ましくは、前記処理の結果の品質のシミュレーションに基づいて、結果の品質が１つまたは複数の品質条件を満たすか否かを推定し、該処理の品質が該品質条件を満たさないと推定された場合に、前記図形表現を、操作者に対する視覚的な警告を組込んだ状態で生成する過程をさらに有する。塗料処理において、品質パラメータは、例えば、塗料ストローク間の重複度、塗料が塗装されていない対象物の部分、塗料の厚さ、塗料の幅および塗料のたれ性等である。従って、塗料が垂れていなかったり、対象物を完全に覆っていない場合、その様子は生成された図形によって確認することができる。この実施形態によると、操作者は、実際の処理を行わずに、高品質のロボットプログラムを作成することができる。
【００２２】
本発明のさらなる実施形態によると、方法は、ロボットパス上のポイントが、ロボットの動作範囲内にあるか否かを求め、そのポイントがロボットの動作範囲外に位置する場合に操作者に知らせる過程を有する。そのポイントがロボットの動作範囲内か動作範囲外に位置するかはロボットのモデルに基づいて決定される。操作者が新しいウェイポイントを特定したり、保存されたウェイポイントを編集したりするとき、そのウェイポイントがロボットの動作範囲内にあることが重要である。指定されたウェイポイントが動作範囲外にある場合、操作者に知らされる。また、シミュレータによって生成されたロボットパスの一部が動作範囲外であるかを確認することも可能である。あるポイントがロボットの特異点に相当する場合、それは動作範囲外にあることになる。
【００２３】
本発明のさらなる実施形態によると、方法は、前記対象物を表す画像を取得し、該対象物の画像に対して前記図形表現を登録することで合成強化現実画像を生成し、該合成強化現実画像に基づいて前記ビューを表示する過程をさらに有する。対象物の画像はカメラによって取得されるものであることが好ましい。強化現実システムとは、コンピュータによって生成された物体を、現実世界における利用者の空間と合成するシステムである。本実施形態によると、ウェイポイントおよびパスを示すコンピュータ生成図形が、現実の対象物の画像と合成される。あるいは、ウェイポイントおよびパスを示すコンピュータ生成図形は、操作者が装着するシースルー眼鏡上に表示される。生成された図形は、操作者がウェイポイントおよびパスを現実世界および対象物上に投影された状態で見えるように眼鏡に投影される。適切な図形の登録を行うために、表示装置の投射面の対象物座標系におけるポーズを得るために追随システムが使用される。
【００２４】
本発明のさらなる実施形態によると、方法は、該対象物上またはその周辺のポイントを指示する指示部材の位置に関する情報を取得し、該情報に基づいて該対象物の座標系に相対する該ポイントの相対位置を求め、記録信号を受取ると、該指示部材が現在指示しているポイントの相対位置に関する情報を保存する過程を有する。従って、操作者は、対象物の周囲を移動しながら、支持部材を使用してウェイポイントを指示することができる。操作者は、コンピュータに関する専門知識を必要とせず、ロボットの教示作業には、処理に関する知識および経験を使用する。
【００２５】
本発明のさらなる側面によると、本発明の目的を、コンピュータの内蔵メモリに直接ロードすることができるコンピュータプログラム製品であって、該プログラムがコンピュータ上で実行されたとき、本発明の方法を実行するためのソフトウェアコードを含むコンピュータプログラム製品によって果たすことができる。コンピュータプログラム製品は、コンピュータで読取可能な媒体上であるいはインターネット等のネットワークを介して提供することができる。
【００２６】
本発明のさらなる側面によると、本発明の目的を、コンピュータによって読取可能な媒体であって、コンピュータ上で実行されたとき、該コンピュータに本発明の方法を実行させるプログラムを記録した媒体によって果たすことができる。
【００２７】
本発明のさらなる側面によると、本発明の目的を、上述のシステムであって、さらに、該ウェイポイントに関する情報と、該ロボットのモデルに基づいてロボットパスのシミュレーションを行うためのシミュレーション装置を具備し、該図形生成装置が好ましくは処理に関する情報とともに、該シミュレーションによるロボットパスの図形表現を生成し、該表示部材が該対象物とともに該対象物上に投影された状態で該ロボットパスの図形表現を含むビューを表示することを特徴とするシステムによって果たすことができる。
【００２８】
本発明のさらなる実施形態によると、システムは、該表示部材とカメラとを有する携帯表示装置を具備する。携帯表示装置は、利用者がその表示画面を介して直接その反対側へと覗き込んでいるように見える構造を有することが好ましい。携帯表示装置は、利用者がコンピュータで生成された情報を頻繁に確認する必要がある場合に有用である。
【発明を実施するための最良の形態】
【００２９】
図１には、本発明による工業ロボットをプログラミングするために使用されるシステムが示してある。システムは、ロボットに対象物３の処理方法を教示するために人間の操作者２が使用するポインティング部材１を有する。ポインティング部材は、処理工具自体であっても、対象物の処理を教示する目的に特別に生成された装置であってもよい。教示内容は、特定の順序に示される、対象物３上またはその近傍に位置する複数のウェイポイントを教示するものである。各ウェイポイントは、対象物３上またはその周辺にあるポイントの位置と、塗装用のブラシ等の処理工具のそのポイントにおける向きと、処理に関するデータとを含む。
【００３０】
操作者は、指示部材１を手に持ち、パスに含ませたいポイントを指し、そのポイントにおける処理工具の望ましい向きに指示部材を向ける。操作者が作動部材を作動すると、記録信号が発生し、ポイントが記録される。システムが記録信号を受信すると、そのポイントをウェイポイントとして保存する。指示部材１には、指示マーカと呼ばれる少なくとも１つのマーカ５が設けてある。指示マーカ５は、対象物に対する指示部材１の位置と向きを求めるために使用される。また、指示装置は、固定座標系に対する指示装置の位置と向きを得ることができる慣性センサ、ジャイロ、磁気追随装置、レーザ追随システムおよび超音波追随装置等によって、様々な方法で位置と向きを求めることができる。
【００３１】
システムは画像認識に基づき、対象物に対する位置が固定された基準マーカ６を少なくとも１つ必要とする。基準マーカ６の役目は、画像認識アルゴリズムのための基準点を形成することであり、この基準点を元にコンピュータ上で画像が生成される。システムは、さらに、カメラユニット８を含む。カメラユニット８は、光学カメラと、リアルタイムの画像データをシステムに供給する画像取込部とを具備する。カメラは、空間的に固定されていても、移動可能のものであってもよい。例えば、カメラを操作者の頭部または身体のその他の個所に取り付けることができる。この実施形態では、カメラは操作者が装着する眼鏡に取り付けられる。あらゆる種類のカメラが使用可能であるが、位置と向きの精度によってカメラの種類が決定される。例えば、ウェブカメラ、ビデオカメラまたはＣＣＤカメラを使用することができる。他の実施形態では、複数のカメラを使用することができる。例えば、２つのカメラを使用して、ステレオカメラとして立体画像が得られるように配置することができる。
【００３２】
カメラは、プロセッサを含むコンピュータ１０に転送されるアナログまたはディジタルビデオ信号を供給する。コンピュータ１０のプロセッサは、対象物に対する指示部材１の位置と向きを求めるための画像認識アルゴリズムを実行し、操作者によって示されたウェイポイントの図形表現を生成するためのアルゴリズムを実行し、ウェイポイントの図形をカメラによる画像と合成して合成強化現実画像を生成し、ロボットパスとプロセスの結果のシミュレーションを実行するために使用される。
【００３３】
システムは、さらに、操作者に対してコンピュータによって生成された図形が表示される図形表示部材１２を具備する。図形表示部材１２は、カメラのビューをコンピュータ生成画像と合成して視覚化する。この実施形態では、操作者は、カメラが取り付けられた頭部装着グラフィックディスプレイ１２を含む頭部装着ユニットを着けている。頭部装着ユニットは、操作者の室内の位置に対してコンピュータ生成情報が投影された装着可能な眼鏡である。表示される視点は、表示部材の対象物に対する位置によって決定する。ディスプレイの対象物に対する位置は、ディスプレイ上に搭載されたカメラの画像と対象物に設けられたマーカ（図示せず）、あるいは、慣性センサ、ジャイロ、磁気追随装置、レーザ追随システム、超音波追随装置または視覚特徴追随装置等のその他の追随システムに基づく画像認識によって得られる。また、頭部装着ディスプレイを使用することができる。この実施形態では、カメラが表示装置に搭載されており、操作者と視点が同じである。コンピュータによって生成された情報は、操作者に表示される前にカメラ画像とともに登録される。さらなる実施形態によると、表示部材は、例えば、携帯情報端末（ＰＤＡ）のスクリーンやノートパソコンのスクリーン等の携帯スクリーンである。ＰＤＡの場合、操作者はプログラミングを行う間にもＰＤＡを持っており、プログラミングの結果がＰＤＡスクリーンに表示される。表示部材は、単一の画像あるいは立体画像を表示する。
【００３４】
指示部材１は、操作者とシステムとの間のインタラクション用に設計されたプッシュボタン等の複数のインタラクション手段を有する。１つのインタラクション手段は、作動するとポイントをウェイポイントとして記録するための記録信号を発生する作動部材を有する。また、ウェイポイント間の処理のオン／オフを示すために第２のインタラクション部材が使用される。例えば、処理が塗装である場合、インタラクション手段は塗装処理のオン／オフを示す。さらに、システムに処理に関する情報を入力するための第３のインタラクション手段が設けてある。例えば、塗装作業の場合、ロボット制御部に記憶されたブラシに関する１つまたは複数のオプションを選択することができる。例えば研磨処理等の他の作業において、オプションは研磨ブラシの配置に関するものである。
【００３５】
指示部材１の先端４の位置と向きを求めるために、マーカ５と先端４の相対位置を知る必要がある。画像認識アルゴリズムは指示マーカ５を認識する。基準マーカ座標系における指示部材の先端の位置と指示部材の本体の向きは、マーカ５、６を認識することで求められる。この認識は、画像認識アルゴリズムによって学習される既知のパターンに対するマーカ上のパターンの寸法と角度に基づいている。位置は、３次元座標系で［ｘ、ｙ、ｚ］として表される。向きは、例えば、３次元座標系における回転行列［３×３の行列］として表される。
【００３６】
ロボットを教育するとき、操作者は対象物の処理中に通過すべきウェイポイントを記録し、さらにインタラクション手段を使用してウェイポイントに対する処理関連情報を記録する。指示部材の位置とともに、その向きも記録され、記録された向きはロボットの工具の向きに相当する。従って、記録された一連のウェイポイントは、ロボットプログラムにおけるロボットバスの基礎となる。
【００３７】
図２は、本発明の実施形態によるシステムを示すブロック図である。システムは、操作者によって教示されたウェイポイントの位置および向きを求める追随システム１４を有する。追随ユニットは、固定対象座標系に対してポーズ情報（３ＤＯＦ位置および３ＤＯＦ向き）を指定することを可能にする。この実施形態において、位置および向きは、画像認識によって求められる。他の追随ユニットの例として、超音波追随システム、磁気追随システム、加速度計およびジャイロを使用する慣性航法に基づく追随システム、機械アーム、視覚や光学に基づくシステムおよび上述の技術を組合わせたハイブリッドシステム等がある。この実施形態において、追随ユニット１４への入力データはカメラユニット８からのビデオ信号と、記録信号や処理関連情報等の指示部材１の作動部材の情報である。あるいは、ウェイポイントは例えばＣＡＤアプリケーションやウェイポイントおよび処理情報が保存されたデータベース等の外部システムからシステム内にロードされるものであってもよい。
【００３８】
システムは、さらに、追随システムによって指定されたウェイポイントに基づいて処理関連情報が付随する一連のポイントをロボットパス上に生成するポイント生成部１５を有する。塗装処理の場合、ポイントデータは、通常、ブラシの位置および向き、ファンに関する記述、塗料の色、塗装のオン／オフ等を含む。ポイント生成部は、ブラシの数や設定パラメータ等の処理関連情報によって、操作者が指定したウェイポイントを変更する。ポイント生成部の入力は、ウェイポイントとともに追随ユニット１４から供給されるそれに付随する処理情報である。ポイント生成部１５からの出力は、処理に特有の情報を有する一連の変更ウェイポイントである。ポイント生成部は、さらに、操作者によって既に指定されたウェイポイントに新しいウェイポイントも加える。ポイント生成部が生成する一連のウェイポイントは、システム情報を保存するためにも使用される記憶ユニット１６に保存される。
【００３９】
ロボットパスシミュレータ１８は、ポイント生成部１５が生成するウェイポイントおよび処理情報のリストに基づいて実際のロボットパスのシミュレーションを行う。ロボットパスシミュレータは、ロボットおよびロボットの制御システムのモデルを含んでいる。ロボットパスシミュレータは、ウェイポイント、処理情報およびロボットとロボット制御システムのモデルに基づいて実際のロボットパスを生成する。生成されたロボットパスは、リアルタイムで、すなわち時間の関数として、ロボットの行動を視覚化し、実際のロボットパスを追跡して視覚化するために使用される。ロボットパスシミュレータへの入力は、ポイント生成部およびロボット設定データからの一連のウェイポイントである。ロボットパスシミュレータの出力は、工具の位置および向きを含む実際のロボットパスである。
【００４０】
到達性ユニット２０は、ロボットのエンドエフェクタがポイントに届くか否かを確認する。到達性ユニット２０は、ポイントがロボットの動作範囲内にあるかとともにポイントが特異点であるかを確認する。操作者が新しいウェイポイントを指定したり保存されたウェイポイントを編集するとき、ウェイポイントとともにウェイポイント間のパスに到達可能であることが重要である。到達不可能なウェイポイントまたはパスを指定すると、不可能なポイントまたはパスを専用の色、パターンまたはアニメーションで示すなどして操作者に視覚的なメッセージを送る。システムのある実施形態によると、操作者によって指定されたウェイポイントの到達性が確認される。システムの他の実施形態によると、パスシミュレータ１８が生成する実際のロボットパスの到達性が確認される。これは、指定されたウェイポイント自体が到達可能でありながら、ウェイポイント間のパスが、例えば特異点や到達性の制限等によって不可能であることが考えられるため、有益である。到達性は、ロボットパスシミュレータ１８によって使用されるものと同一のロボットおよびロボット制御部のモデルに基づいて計算される。この計算は、対象物座標系に対するロボットの位置に関する知識があるから可能である。特異点は、ロボット制御部のモデルによって検出することができる。
【００４１】
処理シミュレータ２２はウェイポイント、ポイント生成部１５の処理情報、実際のロボットパスおよび処理のモデルに基づいて処理の結果のシミュレーションを行う。従って、シミュレーションはシミュレーションが行われる処理に依存する。処理シミュレータは、シミュレーションを行う処理のモデルを使用する。処理シミュレータは複数種の処理モデルを含むことも可能である。例えば、塗装処理のモデルと、粉砕処理のモデルと、溶接処理のモデルを含むものであってもよい。例えば、塗装処理のモデルは、塗装処理のシミュレーションを行う数学モデルと対象物の表面における塗装結果のシミュレーションを行うニューラルネットワークモデルとを含むものである。例えば、シミュレーションによるブラシのストロークの幅は、ブラシの数と工具の中央点（ＴＣＰ）から対象物までの距離によって計算される。ＴＣＰから対象物までの距離は固定されおり、指示部材によって指定される。
【００４２】
処理シミュレータ２２は、さらに、１つまたは複数の所定の品質パラメータに基づいて処理の品質を計算する。塗装処理における重要な品質パラメータの例として、ストロークの重複、対象物の塗料が塗布されていない部分、塗料の厚さ、塗料の幅および塗料の滴下等がある。品質シミュレーションは、上述の処理のモデルに基づくものである。塗装作業において、塗装処理のモデルは、ブラシや塗料の種類、湿度および温度等の様々なシステムおよび環境パラメータ下で得られた複数のサンプルからパラメータ化されたものであってもよい。このデータに基づいて、処理のモデルが生成され、塗料の厚さおよび／またはストローク幅が計算される。これらの特性を計算するために、対象物のモデルが必要となる可能性がある。このような対象物モデルは、様々な方法で得られる。例えば、ＣＡＤモデルの使用や、自動検査で対象物の３次元モデルを作成する光学システムや、対象物上のポイントを特定する追随ユニットを使用し、対象物の簡素化３次元モデルを生成することによって実現できる。塗装のストロークが重複する場合、処理の結果を考慮すべきである。対象物の３次元モデルが存在する場合、塗装のストローク幅が、実際の対象物上と同様に表示される。
【００４３】
処理の品質のシミュレーションに基づいて、結果の品質が１つまたは複数の所定の品質条件を満たすか否かの予想が行われる。品質条件とは、例えば、塗料の厚さの最低および最高値や２つの塗装ストローク間の重複の間隔等である。予想によって、処理品質が品質条件を満たしていない場合、操作者への視覚的警告を含む画像が生成される。塗装処理において、塗装処理は、例えば処理結果が品質条件を満たすか否かによって、異なる色や異なるパターンで塗料の厚さを示したり、シミュレーションによる塗料の厚さは色、色の強さまたは色の飽和レベル等の画像特徴によて塗装のストロークに沿って連続的に示すことができる。
【００４４】
図形生成部２３はロボットパスシミュレータによるロボットパスに関する情報と処理シミュレータ２２による処理に関する情報に基づいて表示すべき仮想情報の３次元図形表現を生成する。図形生成部２３はシミュレーションされたロボットパスの図形表現とともに処理の結果のシミュレーションの図形表現を生成する。さらに、図形生成部２３は、シミュレーションされたロボットパスに沿って処理を行う工具の図形表現を生成する。図形表現は、対象物座標系に対して指定された３次元図形要素を示すものである。システムは、さらに、生成された図形表現をカメラユニット８から受取った対象物の画像に登録し、複合強化現実画像を生成する登録ユニット２５を含む。登録ユニット２５への入力は、図形生成部２３からの図形表現、カメラユニット８からのビデオ信号および対象物追随ユニット２４からの表示装置の位置である。登録ユニット２５の出力は、表示部材１２に表示される合成強化現実画像である。
【００４５】
図形生成部２３、登録ユニット２５およびカメラユニット８は図形レンダリングシステムを形成し、取り込まれた現実世界の画像をコンピュータ生成画像と合成したビデオシースルーディスプレイを形成するように構築された図形レンダリングシステムを構成する。あるいは、図形レンダリングシステムは、コンピュータ生成画像のみがレンダリングされる光学シースルーディスプレイ用に構築されていてもよい。さらに、図形レンダリングシステムは、単一カメラシステム用に構成されていてもよいが、若干異なった位置から現実世界の画像を取り込む２つのカメラを有するステレオスコープカメラシステムであれば、現実世界の３次元表現が得られる。図形レンダリングシステムによってレンダリングされた図形は、グラフィックディスプレイ１２上に操作者に対して表示される。従って、このシステムは、特定の処理をシミュレーションするコンピュータ由来の情報を処理すべき実際の対象物に直接および／または間接的に投影する。この情報は、操作者によって教示されたロボットパスおよび処理関連情報を表すものである。
【００４６】
システムは、さらに、対象物とディスプレイ部材１２との間の位置関係を示す情報を供給する対象物追随ユニット２４を含むものであってもよい。この情報は、登録ユニット２５に入力される。対象物の追随処理は、好ましくは、ウェイポイント追随ユニットと同じ追随方法に基づくものであり、同様の追随装置を使用する。この実施形態において、対象物の追随処理は、カメラユニット８による画像の画像認識に基づくものである。対象物追随ユニットは、さらに、上述の追随システムのいずれの例によるものであってもよい。対象物追随ユニットは、携帯ディスプレイ部材や操作者が装着するディスプレイ部材等、表示されるビューが対象物に対する操作者の位置に依存する場合に必要になる。これによって、操作者が実際の対象物の周囲を自由に移動し、教示した結果を実際の対象物上で直接確認することが可能になる。
【００４７】
次に、塗装処理に関連して操作者に提示される情報の例を挙げる。処理のシミュレーションの結果を示す図形表現が、パスに沿った工具の指示方向に対して垂直に、すなわちＴＣＰに対して垂直に表示される。例えば、塗装のストロークは、ブラシのパスに沿った方向に対して垂直にレンダリングされるべきである。
【００４８】
異物や対象物自体によって隠れている図形は、例えば異なる色や透明な図形を使用するなどして異なる方法でレンダリングされるべきである。あるいは、その図形をレンダリングしないようにしてもよい。本発明による方法は、生成された図形の一部が隠れているかを求め、隠れているか否かを考慮して図形表現を生成する過程を含む。コンピュータ生成画像の要素が対象物または操作者の手や指示部材等のその他の物体によって隠されているとき、操作者が図形内の関係が把握できるようにそれに重なる画像をレンダリングしないか、異なる方法でレンダリングされる。
【００４９】
図形生成部は、処理の結果が対象物の前面から表示されているか裏面から表示されているかによって異なった図形表現を生成するように構成されている。例えば、レンダリングされた塗装ストロークは、操作者が前と後を識別できるように前面と裏面を有することが好ましい。利用者は、塗装のストロークを、実際のシミュレーションによる塗装幅で表すか、単色の線分として表すかを選択することができる。例えば、パスの幅が、塗料が塗装されるときの塗装ストロークを表す。
【００５０】
操作者によって指定された各ウェイポイントに対して、特定のブラシ数が表示される。ブラシのリストは、プログラミング処理の前に決定されており、互いに適合された３つまたは４つのパラメータからなる。通常のパラメータとして、ファンの幅、塗料の流量、噴霧処理の空気の流量、形状空気流量、高電圧レベル、塗料の種類および塗料の色等である。最終的な目的は、所定の塗装速度で最大値と最小値との間の均一な塗料の厚さが得られる特定幅のブラシを使用することである。少なくとも１つの特定のブラシを、塗料流量、ファン幅および空気流量が「０」であり、あるいは塗料流量が「０」であり、その他のブラシパラメータが「０」であるものとし、「塗料オフ」として定義することが好ましい。
【００５１】
本発明のある実施形態によると、該当する工具の図形表現を、リアルタイムで生成されたロボットパス上を移動するように示すことができる。プログラム内に指定されている場合、操作者がリアルタイムでロボットプログラムの結果を確認できるように、必要な処理情報をロボットパス上に重ねて表示することができる。表示の速度は、図形の設定内に規定されており、実際の表示の際に変更することができる。操作者は、リアルタイムに対して、シミュレーションが行われるべき速度を指定することができる。例えば、操作者は、シミュレーションをスローで表示することを選択することができる。また、シミュレーションの表示の停止、一時停止、逆再生および再生が可能である。
【００５２】
図形表示部材上に図形がどのように表示されるかを設定することも可能である。例えば、操作者は、１つまたはは複数の図形記述を選択したり、選択解除することができる。
【００５３】
図３は、ディスプレイに示されるビューの例である。このビューは、対象物３と、対象物上に投影された記録されたウェイポイント３０、３２とウェイポイント間のパスの図形表現と、パス情報を含む。操作者によって教示される各ウェイポイント３０、３２は点として表示される。各点には、例えばブラシ数等、そのウェイポイントに関する処理情報が設けてある。表示されるブラシ数が「０」である場合、塗装処理がオフである。シミュレーションによるロボットパス３４はウェイポイント３０、３２間の線として表示されている。生成されたパスが、ウェイポイントを結ぶ直線ではないことに注意されたい。ロボットパスシミュレータは、工具が好ましい速度と方向でウェイポイントを通過するようにロボットパスを生成し、その場合、角を有するパスより滑らかな曲線が好ましい。
【００５４】
操作者によって指定される各ウェイポイントに対して、工具の向きに関する情報が表示される。これは、ｘ、ｙおよびｚ方向を示す小さな八角形座標系で示される。各方向が特定の色で表現されることが好ましい。図形生成部は、さらに、表示されたロボットパスに矢印を追加することによってロボットの移動方向を示す図形も生成する。２つの連続するウェイポイント３２、３６との間で塗装処理がオンである場合、２つのウェイポイント間の塗装ストロークが見えるように表示される。このビューは、ロボットパスとそれによって得られる塗装結果のシミュレーションを示す。
【００５５】
図４ａおよび４ｂは、本発明の実施形態による方法およびコンピュータプログラム製品を示すフロー図である。フロー図の各ブロックが、コンピュータプログラムによる指令で実行され得ることが理解されるであろう。システムには、プログラミングモード、シミュレーションモードおよび編集モードの３つの動作モードがある。システムの動作モードは、操作者によって選択される。このプログラミングモードで、利用者はウェイポイントを指定し、処理に関する情報を入力する。シミュレーションモードにおいて、ロボットパスおよび／または処理のシミュレーションが行われ、操作者に対して表示される。ウェイポイントが操作者によって指定された後、あるいはロボットプログラムが記憶装置からコンピュータのメモリ内にロードされた後、利用者はシステムを編集モードに設定することができる。編集モードでは、保存されたウェイポイントを削除し、保存されたウェイポイントの位置を変更し、保存されたウェイポイントの向きを変更し、保存されたウェイポイントのブラシ数等の処理関連データを変更することができる。
【００５６】
図４ａには、システムがプログラミングモードに設定されたときの方法を示す。ブロック３０において、カメラユニット８からビデオ信号の連続ストリームが受信される。得られた画像は対象物とマーカを含む。ブロック３２において、システムが操作者から記録信号を受信し、画像認識処理用の画像が取り込まれる。操作者によって指定された処理情報が受信され、保存される。ブロック３４において、画像認識処理によってマーカが認識され、対象物の位置に対する指部材の位置および向きが計算され、その結果が保存される。ブロック３６において、操作者がウェイポイントを記録したら、ポイント生成部がパス上のポイントのリストを生成する。ブロック３８において、リスト内のポイントが到達可能であるか否か、すなわちロボットの動作範囲内にあり、特異点ではないことを確認する。ブロック４０において、ポイントが動作範囲外に位置するか、特異点である場合、ブロック４２においてそれを操作者に知らせる。操作者がウェイポイントを記録し終わると、シミュレーションモードに切り換えることができる。
【００５７】
図４ｂには、シミュレーションモードにおける方法が示してある。シミュレーションを開始する前、操作者はシミュレーションの対象を指定する。ロボットパスのみをシミュレーションするのか、ロボットパスと処理を両方ともシミュレーションするかを選択することができる。ブロック５０において、プログラミングモードで決定したウェイポイントのリストとそれに関連する処理情報と、ロボットのモデル、ロボット制御部のモデルおよび処理のモデルに基づいてシミュレーションが行われる。シミュレーションは、操作者が確認したい内容に関する選択に依存する。ブロック５２において、ロボットパスおよび／またはシミュレーションに基づく処理の結果を示す図形表現が生成される。ブロック５４に示すように、対象物の画像に生成された図形表現を登録して、受信されたビデオ信号を生成された図形と組合わせることで、合成強化現実画像を生成する。ブロック５６において、このように合成されたビデオ信号および図形が表示される。生成された図形は、例えば、処理のオン／オフ等を示す。ディスプレイは、カメラのビューを生成された図形と合成して表示する。
【００５８】
本発明による方法を実施するために使用されるソフトウェアは、部分的には当業者に周知のソフトウェアを元にしたものである。例えば、位置と向きは、基準マーカに対する指示マーカの位置および向きに基づいてＡＲＴｏｏｌＫｉｔで生成されるものであってもよい。ＡＲＴｏｏｌＫｉｔは、ワシントン大学と広島大学で開発された、精確なコンピュータ上の視覚に基づいた追随方法を使用して構築された強化現実アプリケーションを可能にしたオープンソースソフトウェアライブラリーである。アプリケーションのインタフェースとして、ＯｐｅｎＧＬ等のソフトウェアを使用することができる。ＯｐｅｎＧＬは、モデリング修正、色、照明および陰影機能を含む２次元および３次元機能のライブラリーを提供するものである。ＭｉｃｒｏｓｏｆｔＶｉｓｉｏｎＳＤＫは、コンピュータ上での画像処理や分析を行うプログラムを書くためのライブラリーである。強化現実ソフトウェアは、点や線等の図形を描き、位置や向きを異なる座標系間で変換し、位置および向きのシーケンスを抽出／生成し、処理関連情報を取り込み、色分けされた点や異なる幅や向きを有する塗装のストロークを表す線等の高度の図形を描くためのアルゴリズムを含むものである。
【００５９】
本発明による方法は、オフラインプログラミング方法であり、ロボットおよびロボット制御部以外でも使用することができる。
【００６０】
本発明は、ここに開示された実施形態に限定されるわけではなく、上述の請求の範囲内で様々な変形や変更が可能である。例えば、本発明は、合成ビデオ画像を使用する強化現実システムに制限されるものではなく、使用者に対してコンピュータで生成された図形のみが提示され、この図形を背景にして現実世界が見える透明なレンズ上に投影されるシースルー強化現実システムに用いることもできる。２つのシステムの唯一の相違点は、カメラ画像と使用者の実際の現実世界への視点との間の差に対する修正としてカメラの座標を眼の座標に変換するところにある。いずれの場合にも、コンピュータ上で生成された図形が現実世界の対象物に登録される。シースルー方式の場合、コンピュータ生成画像が、ビデオ画像内で合成されるのではなく、使用者が現実世界における対象物と組合わせて見るのである。
【００６１】
また、ウェイポイントは、例えばＣＡＤアプリケーション等の外部システムからシステム内にロードされるか、保存されたウェイポイントおよび処理情報のデータベースからロードされ得る。
【００６２】
ある実施形態において、システムは携帯強化現実表示装置を含むものである。操作者は、コンピュータ生成画像を現実世界上に重ね合わせて表示する携帯表示装置を携帯する。コンピュータ生成画像は、例えば、プログラミングされたロボットパス、処理特有情報、目標点およびイベント等の処理関連情報を示すものであってもよい。システムに対して処理関連情報を示すために、操作者の手の動きを読取るジェスチャ認識システムやポイントアンドインタラクト装置等を使用することができる。
【００６３】
コンピュータで生成された情報は、ロボットのプログラミング用の操作者入力を表す。操作者は、新しいロボットプログラムを設計中にその結果を見るために携帯ＡＲディスプレイを使用する。携帯ティスプレイは、ディスプレイの視野に統一されたカメラを有する。カメラは、現実世界を示す現行のビデオを取り込む。システムは、このビデオを操作者の入力を表すコンピュータ生成画像と同期化して合成し、携帯ＡＲディスプレイに表示する。操作者は、環境内で携帯ＡＲディスプレイを自由に移動させることができ、これによって操作者は、コンピュータ生成画像を重ね合わせた状態で異なる観点から対象物を含む現場を見ることができる。操作者は、設計されたロボットプログラムを実際の対象物とともに見るために、携帯ＡＲディスプレイの中を「覗き込む」のである。
【００６４】
図５には、この実施形態によるシステムが示してある。システムは、世界座標系６０に対する位置および向きを求めるための追随システムを有する携帯インタラクション／指示装置１を具備する。また、システムは、世界座標系に対して手または指の位置および向きを認識し、決定するための認識システムを含むジェスチャ認識システムを有するものであってもよい。システムは、さらに、例えば超小型ＰＣまたはＰＤＡ（携帯情報端末）等の携帯表示装置６２を含む。この表示装置は、表示部材６４と、表示装置６４に搭載または統一された環境を示す画像のストリームを取り込むためのカメラ８を具備する。カメラ８は、表示装置６４に対して固定された位置に搭載される。表示装置は、カメラのビュー軸に沿って、カメラの写真面上に位置する。
【００６５】
システムは、さらに、表示装置の位置および向きを求めるための追随システム６６を具備する。追随システムは、好ましくは、表示装置上に搭載されている。また、システムは、さらに、現実世界の表現に重ね合わせたコンピュータ生成画像情報による強化現実表現を生成するためのシステムを有する。操作者２の動きは、ディスプレイ追随システム６６を介して検出される。
【００６６】
装着可能なコンピュータ６８は、カメラ８からのビデオストリームとコンピュータ生成画像とに基づいて強化現実環境を生成するために必要なソフトウェアを搭載している。装着可能コンピュータ６８は、さらに、例えばロボットプログラムを設計し、到達性の確認を行うなど、所望のタスクまたは処理を実行するために必要なソフトウェアを有する。さらに、装着可能コンピュータは強化現実ビューを得るための図形を生成する。最後に、装着可能コンピュータは情報を保存したり、以前に保存された情報を再生するための記憶媒体を有する。インタラクション／指示装置１から装着可能コンピュータ６８への情報の通信は、有線または無線のリンクによって行われる。操作者は、環境の強化現実ビューを表示する表示装置６２を携帯する。表示装置は、ビデオシースルー形式のものである。
【００６７】
ビデオシースルーは、携帯ＡＲ表示装置上に強化現実世界を生成し、表示するために使用される。表示装置に統合されたカメラによって、現実世界の現行のビデオストリームが取り込まれる。カメラは、表示に対して、利用者が表示装置を「覗き込んだ」場合と同じビューを提供するように表示に対して位置する。この現行のビデオストリームは、コンピュータ生成画像と合成することによって、表示装置でリアルタイムで表示される。さらなる機能として、実際のカメラの焦点距離による出力のカメラのズームを有する。これにより、システムは、ズームした場合にコンピュータ生成画像を適切に表示することができる。カメラは、さらに、追随システムとして視覚に基づく追随処理を行う場合、視覚追随処理に使用することもできる。
【図面の簡単な説明】
【００６８】
【図１】図１は、本発明の実施形態による工業ロボットをプログラミングするためのシステムを示す斜視図である。
【図２】図２は、本発明の実施形態によるシステムを示すブロック図である。
【図３】図３は、実際の対象物に投影したロボットパスとパス情報を示す図形表現を含む強化現実ビューの例を示す斜視図である。
【図４】図４ａおよび４ｂは、本発明の実施形態による、工業ロボットにパスを教示するための方法を示すフロー図である。
【図５】図５は、携帯表示装置を含む本発明の実施形態を示す斜視図である。
【符号の説明】
【００６９】
１        指示部材
２        操作者
３        対象物
４        指示部材の先端
５        指示マーカ
６        基準マーカ
８        カメラ
１０      コンピュータ
１２      図形表示部材
３０      ウェイポイント
３２      ウェイポイント
３４      ロボットパス
３６      ウェイポイント
６０      世界座標系
６２      携帯表示装置
６４      表示部材
６６      追随システム
６８      装着可能コンピュータ
【図１】
2004209641.tif 000003
【図２】
2004209641.tif 000004
【図３】
2004209641.tif 000005
【図４】
2004209641.tif 000006
【図５】
2004209641.tif 000007