(57)【要約】【課題】オフライン及びオンラインにおいて、作業対象ワークの周縁部にシーラーを塗布するための産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得る。【解決手段】ワークモデルの３次元座標データを読み込み、前記読込んだワークモデルの３次元座標データ上で産業用ロボットの動作点の位置を示す３次元座標データを設定し、前記設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録する。【選択図】    図１
2004243215.tif 000002
【特許請求の範囲】
【請求項１】
作業対象ワークの周縁部にシーラーを塗布するための産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るシーラー塗布装置のロボットティーチング方法において、
ワークモデルの３次元座標データを読み込む読込工程と、
前記読込んだワークモデルの３次元座標データ上で産業用ロボットの動作点の位置を示す３次元座標データを設定する設定工程と、
前記設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録する登録工程とを含むことを特徴とするシーラー塗布装置のロボットティーチング方法。
【請求項２】
作業対象ワークの周縁部にシーラーを塗布するための産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るシーラー塗布装置のロボットティーチング方法において、
任意の位置及び姿勢で作業対象ワークを作業用治具に設置する設置工程と、
前記設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業用ロボットの動作点の位置を示す３次元座標データを実測して取得するデータ取得工程と、
前記データ取得工程で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求める行列演算工程と、
前記剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの位置，姿勢のデータに変換するデータ変換工程と、
前記変換したワークモデルの３次元座標データと前記実測した３次元座標データとを登録する登録工程とを含むことを特徴とするシーラー塗布装置のロボットティーチング方法。
【請求項３】
作業対象ワークの周縁部にシーラーを塗布するための産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るシーラー塗布装置のロボットティーチング方法において、
任意の位置及び姿勢で作業対象ワークを作業用治具に設置する設置工程と、
前記設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業用ロボットの動作点の位置を示す３次元座標データを実測して取得するデータ取得工程と、
前記データ取得工程で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列の逆行列を求める逆行列演算工程と、
前記剛体変換行列の逆行列により前記実測した作業対象ワークの３次元座標データを、ワークモデルの３次元座標データ上のデータに変換するデータ変換工程と、
前記変換した作業対象ワークの３次元座標データと前記実測した３次元座標データとを登録する登録工程とを含むことを特徴とするシーラー塗布装置のロボットティーチング方法。
【請求項４】
請求項１，２又は３のいずれかｌ項に記載のシーラー塗布装置のロボットティーチング方法において、
さらに、ロボット動作点位置ずれ補正工程を有し、
当該ロボット動作点位置ずれ補正工程は、
前記ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を設定する動作点設定工程と、
前記補正対象となる産業用ロボットの動作点を囲む、前記ワークモデルの３次元座標データ上の計測点を求める第１の計測点演算工程と、
前記ワークモデルの３次元座標データ上の前記計測点に対応する、前記作業対象ワークの３次元座標データ上での計測点を演算する第２の計測点演算工程と、
前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点に対応して、前記作業対象ワークの３次元座標データで形成される面上に補正後の産業用ロボットの動作点を設定する動作点補正工程とを含むことを特徴とするシーラー塗布装置のロボットティーチング方法。
【請求項５】
請求項４に記載のシーラー塗布装置のロボットティーチング方法において、
前記ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を少なくとも３点以上設定することを特徴とするシーラー塗布装置のロボットティーチング方法。
【請求項６】
請求項４に記載のシーラー塗布装置のロボットティーチング方法において、
前記動作点補正工程は、前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点を通る補正線を求め、前記補正線が前記作業対象ワークの３次元座標データで形成される面と交叉する点を補正後の産業用ロボットの動作点として補正することを特徴とするシーラー塗布装置のロボットティーチング方法。
【請求項７】
請求項６に記載のシーラー塗布装置のロボットティーチング方法において、
前記補正線は、前記ワークモデルの３次元座標データ上の計測点から決まる面に対して、産業用ロボットの動作点を補正する方向への角度をもつ姿勢に設定されることを特徴とするシーラー塗布装置のロボットティーチング方法。
【請求項８】
作業対象ワークの周縁部にシーラーを産業用ロボットにより塗布するためのシーラー塗布装置において、
前記産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るためのティーチングデータ作成手段を付加しており、
当該ティーチングデータ作成手段は、
ワークモデルの３次元座標データを読み込む読込手段と、
前記読込んだワークモデルの３次元座標データ上に、産業用ロボットの動作点の位置を示す３次元座標データを設定する設定手段と、
前記設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録する記憶手段とを含むことを特徴とするシーラー塗布装置。
【請求項９】
作業対象ワークの周縁部にシーラーを産業用ロボットにより塗布するためのシーラー塗布装置において、
前記産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るためのティーチングデータ作成手段を付加しており、
当該ティーチングデータ作成手段は、
任意の位置及び姿勢で作業用治具に設置される作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業用ロボットの動作点の位置を示す３次元座標データを実測して取得するデータ取得手段と、
前記データ取得手段で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求める行列演算手段と、
前記剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの位置，姿勢のデータに変換するデータ変換手段と、
前記変換したワークモデルの３次元座標データと前記実測した３次元座標データとを登録する記憶手段とを含むことを特徴とするシーラー塗布装置。
【請求項１０】
作業対象ワークの周縁部にシーラーを産業用ロボットにより塗布するためのシーラー塗布装置において、
前記産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るためのティーチングデータ作成手段を付加しており、
当該ティーチングデータ作成手段は、
任意の位置及び姿勢で作業用治具に設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業用ロボットの動作点の位置を示す３次元座標データを実測して取得するデータ取得手段と、
前記データ取得手段で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列の逆行列を求める逆行列演算手段と、
前記剛体変換行列の逆行列により前記実測した作業対象ワークの３次元座標データを、ワークモデルの３次元座標データ上のデータに変換するデータ変換手段と、
前記変換した作業対象ワークの３次元座標データとワークモデルの３次元座標データとを登録する記憶手段とを含むことを特徴とするシーラー塗布装置。
【請求項１１】
請求項８，９又は１０のいずれか１項に記載のシーラー塗布装置において、
さらに、ロボット動作点位置ずれ補正手段を有し、
当該ロボット動作点位置ずれ補正手段は、
前記ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を設定する動作点設定手段と、
補正対象となる産業用ロボットの動作点を囲む、前記ワークモデルの３次元座標データ上の計測点を求める第１の計測点演算手段と、
前記ワークモデルの３次元座標データ上の計測点に対応する、前記作業対象ワークの３次元座標データ上での計測点を演算する第２の計測点演算手段と、
前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点に対応して、前記作業対象ワークの３次元座標データで形成される面上に補正後の産業用ロボットの動作点を設定する動作点補正手段とを含むことを特徴とするシーラー塗布装置。
【請求項１２】
請求項１１に記載のシーラー塗布装置において、
前記ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を少なくとも３点以上設定したものであることを特徴とするシーラー塗布装置。
【請求項１３】
請求項１１に記載のシーラー塗布装置において、
前記動作点補正手段は、
前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点を通る補正線を求め、前記補正線が前記作業対象ワークの３次元座標データで形成される面と交叉する点を補正後の産業用ロボットの動作点として補正するものであることを特徴とするシーラー塗布装置。
【請求項１４】
請求項１３に記載のシーラー塗布装置において、
前記補正線は、前記ワークモデルの３次元座標データ上の計測点から決まる面に対して、産業用ロボットの動作点を補正する方向への角度をもつ姿勢に設定されるものであることを特徴とするシーラー塗布装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自動車のウインドガラス等を始めとする作業対象ワークの周縁部にシーラーを塗布するためのシーラー塗布装置及び、作業対象ワークの周縁部にシーラーを塗布するための産業用ロボットを動作制御させるのに必要な動作軌道用ティーチングデータを得るシーラー装置のロボットティーチング方法に関する。
【０００２】
【従来の技術】
ウインドガラス等のワークにシーラーを塗布する作業を自動化するためには、予め、作業対象ワークを作業用治具に取り付けて固定した状態で産業用ロボットを手動操作し、シーラー供給装置の先端をワークの外周部に沿って移動させながら要所要所でティーチング（教示）操作を行うことによって、コンピュータシステムに産業用ロボットの移動軌跡座標を記憶させておく必要がある。
【０００３】
そして、生産ラインにおける実際のシーラーの塗布作業は、コンピュータシステムがプレイバックモードの処理で前述の移動軌跡座標に沿って産業用ロボットを駆動制御することにより達成される。
【０００４】
従って、ティーチング操作の場合とプレイバックモードの場合で産業用ロボットに対するワークの位置や姿勢に変化が生じていると、ティーチング操作が適切で、かつ、教示された動作を産業用ロボットが的確に再現したとしても、作業対象ワークと産業用ロボットとの相対的な位置関係の変化のために、シーラー供給装置の先端が作業対象ワークの外周部に倣って的確に移動しなくなるといった問題が発生する。
【０００５】
【発明が解決しようとする課題】
従来、この種の問題を解決するためには、ワークの位置や姿勢を常に一定の状態に保持する必要があり、この目的を達成するため、例えば、図１７に示されるような作業用治具１００が提案されている。
【０００６】
この作業用治具１００は、作業対象ワークとなる複数種のウインドウガラス１０１ａ，１０１ｂを移送するためのパレット１０２と、パレット１０２上の任意位置に設けられる複数種のステイ１０３ａ，１０３ｂとによって構成され、各ステイ１０３ａ，１０３ｂの先端部には先細りのテーパ状の縮径部が形成されている。
【０００７】
つまり、種類の異なるステイ１０３ａ，１０３ｂは、種類の異なるウインドウガラス１０１ａ，１０１ｂにそれぞれ外接する状態にパレット１０２上に設けられ、そのテーパ状の縮径部でウインドウガラス１０１ａ，１０１ｂの外接部を支えることによってウインドウガラス１０１ａ，１０１ｂの位置と姿勢とを正しい状態に規制しようとするものである。
【０００８】
図１７に示す従来技術では、塗布ガン１０４ａをウインドウ１０１ａ，１０１ｂの周縁部のシーラー塗布部に沿って実際に移動させることにより、産業用ロボット１０５の動作点情報をティーチングデータとして取得し、この取得したティーチングデータに基いて産業用ロボット１０５を動作させ塗布ガン１０４ａにてシーラーをウインドウ１０１ａ，１０１ｂの周縁部に塗布している。
【０００９】
上述したように、図１７に示す従来例では、産業用ロボット１０５を動作させるために必要な動作軌跡用ティーチングデータを取得させる際には、作業治具に設置された作業対象ワーク上に産業用ロボットを手動で移動させてティーチングデータを取得する、いわゆるオンラインティーチング法により、産業用ロボットのティーチングデータの作成が行われている。
【００１０】
前記オンラインティーチング法によるティーチングデータを取得した後は、そのデータを用いて連続してシーラー塗布作業が行われるため、連続供給される作業対象ワークに形状のバラツキがあると、統一した規格の作業用治具に作業対象ワークを設置したとしても、前記バラツキが原因となって塗布ガンと作業対象ワークとの間の隙間寸法にバラツキが生じ、塗布ガンと作業対象ワークとの接触，シーラーの浮き等により、作業対象ワークへの損傷，塗布不良等が発生してしまうという問題があった。
【００１１】
また、産業用ロボットの動作軌跡用ティーチングデータを取得する場合には、常に作業用治具に対する作業対象ワークの取付位置，姿勢を同じになるようにする必要があるため、オンラインティーチングを行う作業が煩雑になるという問題がある。
【００１２】
そこで、特許文献１には、シーラー供給装置１０４の先端とウインドガラス１０１ａ，１０１ｂとの離間距離を測定して補正を行うことにより、そのギャップ寸法を一定化する技術が提案されているが、このような技術では、前述した問題のうち、単純な上下位置の変動にしか対処することができない。
【００１３】
また、特許文献２には、作業対象ワークをカメラで撮像し、その３次元画像データでティーチングデータを補正する技術が開示されているが、この技術では、オンラインティーチングを対象とするものである。そのため、オフラインティーチングでのティーチングデータの取得をすることが不可能であり、産業用ロボットを動作させるために必要な動作軌跡用ティーチングデータの取得方法がオンラインティーチングのみに限定されてしまうこととなり、汎用性に欠けるという課題が残されている。
【００１４】
また、特許文献３には、教示（ティーチング）作業を短時間で行うことが可能なロボットの教示装置が開示されている。この技術は、作業対象ワークの作業線上にマーキングを施し、このマーキングをＣＣＤカメラにより撮像し、その画像データに基いてティーチングデータを得るものであるから、種類の異なる作業対象ワーク毎にマーキングを施す必要があり、作業が煩雑となる。
【００１５】
【特許文献１】特開平１０−２１１４５８号
【特許文献２】
特開２００１−９０５号
【特許文献３】
特開平５−１０８１３１号
【００１６】
【発明の目的】
本発明の目的は、前記従来技術の課題を解決し、オンライン及びオフラインでのティーチングデータの取得作業を行うことができ、更には、作業対象ワークの形状のバラツキに対してティーチングデータを補正することができるシーラー塗布装置のロボットティーチング方法及びシーラー塗布装置を提供することにある。
【００１７】
【課題を解決するための手段】
前記目的を解決するため、本発明に係るシーラー装置のロボットティーチング方法は、作業対象ワークの周縁部にシーラーを塗布するための産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るシーラー塗布装置のロボットティーチング方法において、ワークモデルの３次元座標データを読み込む読込工程と、前記読込んだワークモデルの３次元座標データ上に、産業用ロボットの動作点の位置を示す３次元座標データを設定する設定工程と、前記設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録する登録工程とを含むという構成を採っている。
【００１８】
本発明に係るシーラー塗布装置のロボットティーチング方法においては、先ずワークモデルの３次元座標データを読込み、その読込んだワークモデルの３次元座標データ上に、産業用ロボットの動作点の位置を示す３次元座標データを設定し、その設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録する。
【００１９】
したがって、本発明によれば、産業用ロボットを作業対象ワークの形状に倣って移動させる作業を必要とせず、産業用ロボットの動作軌跡用ティーチングデータの取得をオフラインで行うことができる。
【００２０】
さらに本発明は、作業対象ワークの周縁部にシーラーを塗布するための産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るシーラー塗布装置のロボットティーチング方法において、任意の位置及び姿勢で作業対象ワークを作業用治具に設置する設置工程と、その設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業用ロボットの動作点の位置を示す３次元座標データを実測して取得するデータ取得工程と、データ取得工程で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求める演算工程と、その剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの３次元座標データに変換するデータ変換工程と、その変換したワークモデルの３次元座標データと前記実測した作業対象ワークの３次元座標データとを登録する登録工程とを含むという構成を採っている。
【００２１】
上述した本発明においては、先ずシーラー塗布ラインの任意の位置及び姿勢で作業対象ワークを作業用治具に設置し、その設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業用ロボットの動作点の位置を示す３次元座標データを実測して取得する。次に、データ取得工程で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求める。次で、その剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの３次元座標データに変換し、その変換したワークモデルの３次元座標データと前記実測した作業対象ワークの３次元座標データとを登録する。
【００２２】
したがって、シーラー塗布ラインの任意の位置及び姿勢で作業対象ワークを作業用治具に設置し、その設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させてティーチングデータを取得するため、実際のシーラー塗布ラインにおいてオンラインでティーチングデータを取得することができる。
【００２３】
なお、上述した構成では、剛体変換行列によりワークモデルの３次元座標データを、実測した作業対象ワークの３次元座標データに変換したが、これに限定されるものではなく、前記剛体変換行列の逆行列を求め、その逆行列により実測した作業対象ワークの３次元座標データを、ワークモデルの３次元座標データ上のデータに変換するようにしてもよいものである。
【００２４】
上述した構成では、作業対象ワークの形状にバラツキがあるときにも、例えば、そのバラツキが公差範囲などの場合には産業用ロボットと作業対象ワークとの接触等を回避することができるが、前記接触等の問題を確実に解決する必要がある場合がある。この場合には、本発明に係るシーラー塗布装置のロボットティーチング方法においては、さらにロボット動作点位置ずれ補正工程を備えるようにしている。このロボット動作点位置ずれ補正工程は、ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を設定する動作点設定工程と、前記補正対象となる産業用ロボットの動作点を囲む、前記ワークモデルの３次元座標データ上の計測点を求める第１の計測点演算工程と、前記ワークモデルの３次元座標データ上の計測点に対応する、前記作業対象ワークの３次元座標データ上での計測点を演算する第２の計測点演算工程と、前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点に対応して、前記作業対象ワークの３次元座標データで形成される面上に補正後の産業用ロボットの動作点を設定する動作点補正工程とを含むという構成を採っている。
【００２５】
なお、前記ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を少なくとも３点以上設定することが望ましいものである。また、前記動作点補正工程は、前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点を通る補正線を求め、前記補正線が前記作業対象ワークの３次元座標データで形成される面と交叉する点を補正後の産業用ロボットの動作点として補正するという構成にすることが望ましいものである。この場合、補正線は、前記ワークモデルの３次元座標データ上の計測点から決まる面に対して、産業用ロボットの動作点を補正する方向への角度をもつ姿勢に設定することが望ましいものである。
【００２６】
上述したように、ロボット動作点位置ずれ補正工程では、先ず、ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を設定し、補正対象となる産業用ロボットの動作点を囲む、前記ワークモデルの３次元座標データ上の計測点を求める。次に、前記ワークモデルの３次元座標データ上の計測点に対応する、前記作業対象ワークの３次元座標データ上での計測点を演算し、前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点に対応して、前記作業対象ワークの３次元座漂データで形成される面上に補正後の産業用ロボットの動作点を設定する。
【００２７】
したがって、産業用ロボットの動作軌跡用ティーチングデータに対して、作業対象ワーク毎の形状のバラツキ（微小変形）を補正することができ、作業ワーク毎に形状のバラツキがあっても、その形状のバラツキを補正して確実に塗布動作を行うことができる。
【００２８】
さらに、作業対象ワークの周縁部にシーラーを産業用ロボットにより塗布するためのシーラー塗布装置は、一般的にはコンピュータを用いて構築されるものであり、そのコンピュータを用いて上述したシーラー装置のロボットティーチング方法を実施することが可能である。そこで、本発明は、オフラインでの産業用ロボットの動作軌跡用ティーチングデータをシーラー塗布装置の利用により取得することを可能とするために、シーラー塗布装置に、産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るためのティーチングデータ作成手段を備えている。このティーチングデータ作成手段は、ワークモデルの３次元座標データを読み込む読込手段と、前記読込んだワークモデルの３次元座標データ上に、産業用ロボットの動作点の位置を示す３次元座標データを設定する設定手段と、前記設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録する記憶手段とを含むという構成を採っている。
【００２９】
また本発明は、オフラインでの産業用ロボットの動作軌跡用ティーチングデータをシーラー塗布装置の利用により取得することを可能とするために、シーラー塗布装置に、産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るためのティーチングデータ作成手段を備えている。このティーチングデータ作成手段は、任意の位置及び姿勢で作業用治具に設置される作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業ロボットの動作点の位置を示す３次元座標データを実測して取得するデータ取得手段と、前記データ取得手段で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求める行列演算手段と、前記剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの３次元座標データに変換するデータ変換手段と、前記変換したワークモデルの３次元座標データと前記実測した作業対象ワークの３次元座標データとを登録する記憶手段とを含むという構成を採っている。この場合、上述したデータ変換手段に代えて、剛体変換行列の逆行列により実測した作業対象ワークの３次元座標データを、ワークモデルの３次元座標データ上のデータに変換するデータ変換手段を用いてもよいものである。
【００３０】
本発明によれば、オンラインやオフラインのいずれの場合にも、シーラー塗布装置に備えられたティーチングデータ作成手段を使って、ティーチングデータの取得作業を行う。
【００３１】
さらに、ロボット動作点位置ずれ補正手段を有することが望ましいものである。当該ロボット動作点位置ずれ補正手段は、前記ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を設定する動作点設定手段と、前記補正対象となる産業用ロボットの動作点を囲む、前記ワークモデルの３次元座標データ上の計測点を求める第１の計測点演算手段と、前記ワークモデルの３次元座標データ上の計測点に対応する、前記作業対象ワークの３次元座標データ上での計測点を演算する第２の計測点演算手段と、前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点に対応して、前記作業対象ワークの３次元座標データで形成される面上に補正後の産業用ロボットの動作点を設定する動作点補正手段とを含む構成にすることが望ましいものである。
【００３２】
したがって、シーラー塗布装置において、産業用ロボットの動作軌跡用ティーチングデータに対して、作業対象ワーク毎の形状のバラツキ（微小変形）を前記ロボット動作点位置ずれ補正手段により補正することができ、作業対象ワーク毎に形状のバラツキがあっても、その形状のバラツキを補正して確実にシーラー塗布動作を行うことができる。
【００３３】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態の幾つかについて説明する。図１は本発明を適用した一実施形態のシーラー塗布装置の主要な構成要素について示した機能ブロック図である。
【００３４】
この実施形態のシーラー塗布装置１は基本的構成として、産業用ロボット１０５と、当該産業用ロボット１０５を駆動制御するロボット制御装置５と、シーラー供給装置１０４と、作業対象ワークとなるウインドガラス１０１を保持するための作業用治具３と、この作業用治具３によって保持されたウインドガラス１０１（１０１ａ，１０１ｂ）を撮影するためのステレオカメラ４と、ロボット制御装置５及びステレオカメラ４を駆動制御する制御装置６とを備えている。
【００３５】
次に、各構成要素について簡単に説明する。産業用ロボットｌ０５は３以上の自由度、具体的にいえば、空間内で上下，左右，前後の各方向に複合的に移動できるだけの自由度を有している。この産業用ロボット１０５は、制御装置６からの駆動制御指令を受けるロボット制御装置５により駆動制御され、ウインドウガラス１０１の表面に対してシーラー供給装置１０４の塗布ガン１０４ａを直交させた姿勢に保持して当該塗布ガン１０４ａを移動させながらシーラーの塗布作業を行うようになっている。この実施形態に係る産業用ロボット１０５は、ウインドガラス１０１の表面にシーラー供給装置１０４の塗布ガン１０４ａを直交させた状態で当該塗布ガン１０４ａを移動させながらシーラーの塗布作業を行うため、ウインドウガラス１０１の曲面に対しても塗布ガン１０４ａを直交姿勢に保持する必要がある関係で傾斜制御が可能な多関節型の産業用ロボット１０５を利用しているが、この構成のものに限定されるものではない。
【００３６】
シーラー供給装置１０４は、その塗布ガン１０４ａが産業用ロボット１０５の先端部にアタッチメントとして装着されており、外部（例えばホストコンピュータ）からのオン・オフ指令に基いて塗布ガン１０４ａからのシーラーの送出をオン・オフ制御するようになっている。
【００３７】
ステレオカメラ４は、異なった視点から３次元空間中のウインドガラス１０１を撮影して各カメラの位置関係と画像点の対応関係から撮影対象の形状を復元するためのもので、最低でも２つのカメラユニットを備えている。本実施形態においては、撮影対象物となるウインドガラス１０１が比較的扁平であって撮影時に死角が生じにくいことを前提とし、３つのカメラユニット４ａ，４ｂ，４ｃを備えたステレオカメラ４を用いており、そのステレオカメラ４の３つのカメラユニット４ａ，４ｂ，４ｃを平面上でＴ字型に配備している。なお、撮影対象のワークの形状が扁平でなく立体的な場合には、複数のカメラユニットを、＋またはＸ字型の５眼、或いは格子状の９眼等の態様で配備したステレオカメラ４を用いてもよいものである。ステレオカメラ４は制御装置６からの指令で画像を取込み、撮影した画像のデータを制御装置６に転送する。
【００３８】
ステレオカメラ４を構成するカメラユニット４ａ，４ｂ，４ｃで撮影された視点の異なる３つの画像の一例を図７に示す。
【００３９】
作業用治具３は、ウインドガラス１０１を移送するためのパレット１０２と、パレット１０２上の中央部に立設された柱状のステイ２２と、ステイ２２の先端部に固設されたワーク保持部２３とを有している。ワーク保持部２３は、ウインドウガラス１０１との間に発生させる吸盤の負圧により当該ウインドウガラス１０１を吸着する、あるいは、真空装置で発生させる負圧を利用してウインドウガラス１０１を吸着するように構成することができる。
【００４０】
ワーク保持部２３は、セッティングされたウインドガラス１０１の姿勢を保持する機能を有すれば十分であり、ウインドガラス１０１の取り付け姿勢を補正して一様とするための機能が要求されることはない。つまり、ウインドガラス１０１をどのような姿勢で作業用治具３に取り付けるかは、ウインドウガラス１０１の表裏を反転するといった極端な姿勢変更を行わない限り、完全に自由である。但し、ワーク保持部２３は、ウインドガラス１０１が一旦セッティングした後に、そのウインドウガラス１０１の姿勢を取り付け時の状態のままに保持する機能が要求される。
【００４１】
また図１に示されるように、シーラー塗布装置１の塗布ラインに沿って設置されたベルトコンベア１０７の近傍には、このベルトコンベア１０７で次々と搬送されてくるパレット１０２の位置を検出するための定位置検出センサ１０８が設けられており、この定位置検出センサ１０８からの信号も後述の制御装置６の外部信号入出力装置６ａを介して記憶装置６ｅに一時的に記憶されるようになっている。
【００４２】
制御装置６は、ロボット制御装置５とステレオカメラ４とを駆動制御するコンピュータシステムから構成されるものであり、その具体例を図２に示す。
【００４３】
図１の制御装置６は図２に示すように、外部信号入出力装置６ａと、画像入力装置６ｂと、通信装置６ｃと、入出力装置６ｄと、記憶装置６ｅと、演算装置６ｆとを有している。
【００４４】
外部信号入出力装置６ａは、図示しないホストコンピュータ或いはライン制御装置等に接続され、ホストコンピュータ等との間に信号の授受を行うようになっている。このホストコンピュータは、シーラー供給装置１０４にデータ転送を行い、当該シーラー供給装置１０４によるシーラー供給の制御を行う。また外部信号入出力装置６ａは、図示しない前記ホストコンピュータから動作プログラムの実行スケジュール等を受け取る場合もある。
【００４５】
画像入力装置６ｂはステレオカメラ４に接続され、ステレオカメラ４で撮像された作業対象ワークの画像データを当該ステオカメラ４から受け取り、これを記憶装置６ｅに出力するようになっている。また通信装置６ｃは、ロボット制御装置５に接続されて当該ロボット制御装置５と制御装置６との間にデータ転送を行うようになっている。また入出力装置６ｄは、キーボード，マウス，モニタ等を含んでおり、シーラー塗布装置１の制御に必要なデータの入力を行うとともに、シーラー塗布装置１の動作状態等をモニタに出力するようになっている。
【００４６】
記憶装置６ｅは、演算装置６ｆが演算処理を行うのに必要な各種のデータを格納している。これらの各種のデータには、産業用ロボット１０５の直線補間，円弧補間等の動作やティーチング操作等に必要とされる基本的な制御プログラムのデータ，ユーザがＡＰＴ文（Ａｕｔｏｍａｔｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｔｏｏｌ）等を利用して作成した産業用ロボット１０５のための動作プログラムのデータ，ステレオカメラ４に取り込まれる画像の解析や行列の演算に用いられるアプリケーションプログラムのデータ等が含まれる。
【００４７】
記憶装置６ｅは、更にステレオカメラ４からの画像データを記憶するフレームメモリとしての機能を備えており、記憶装置６ｅは、このフレームメモリ機能を使って、図８に示すように６４０ドット×４８０ドットの３組の画素データを２５６階調の濃度で記憶するようにしている。なお、記憶装置６ｅのフレームメモリ機能に必要な解像度や階調等の画素の記憶条件については、必要とされる分解能等に応じて適宜に決めるようになっている。
【００４８】
演算装置６ｆは、記憶装置６ｅに記憶されたプログラムを使ってシーラー塗布装置１の駆動制御に必要な演算処理を行うようになっている。
【００４９】
さらに本発明に係るシーラー塗布装置１は、産業用ロボット１０５を動作させるのに必要な動作軌跡用ティーチングデータを得るためのティーチングデータ作成手段を付加している。このティーチングデータ作成手段は、オフラインでの動作軌跡用ティーチングデータを作成する機能と、オンラインでの動作軌跡用ティーチングデータを作成する機能とを併せ持っている。
【００５０】
オフラインでの動作軌跡用ティーチングデータを作成するティーチングデータ作成手段は、ワークモデルの３次元座標データを読み込む読込手段と、当該読込んだワークモデルの３次元座標データ上に、産業用ロボットの動作点の位置を示す３次元座標データを設定する設定手段と、当該設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録する記憶手段とを含む構成になっている。ここに、ワークモデルの３次元座標データは、各種のウインドガラス１０１の設計上の３次元形状データ（図１０参照）を意味するものである。以下、ワークモデルの３次元座標データという語句は、上述した３次元形状データを意味するものとする。
【００５１】
本発明においてオフラインでの動作軌跡用ティーチングデータを作成するティーチングデータ作成手段を構築するにあたっては、制御装置６がコンピュータシステムから構成されていることに注目して、ワークモデルの３次元座標データを読み込む読込手段と、当該読込んだワークモデルの３次元座標データ上に、産業用ロボットの動作点の位置を示す３次元座標データを設定する設定手段とを制御装置６の演算装置６ｆにより構成し、当該演算装置６ｆは記憶装置６ｅに記憶されている動作プログラムに基づくソフトウェア処理により、前記読込手段と前記設定手段との機能を実行するようになっている。また前記記憶手段として、制御装置６の記憶装置６ｅを用いている。
【００５２】
さらに、オンラインでの動作軌跡用ティーチングデータを作成するティーチングデータ作成手段は、任意の位置及び姿勢で作業用治具３に設置される作業対象ワーク（図１の実施形態では、ウインドウガラス１０１）上のシーラー塗布箇所に産業用ロボット１０５（特にシーラー供給装置１０４の塗布ガン１０４ａ）を移動させて、当該作業対象ワーク上での産業用ロボット１０５の動作点の位置を示す３次元座標データを実測して取得するデータ取得手段と、当該データ取得手段で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求める行列演算手段と、当該剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの位置，姿勢のデータに変換するデータ変換手段と、当該変換したワークモデルの３次元座標データと前記実測した３次元座標データとを登録する記憶手段とを含む構成になっている。
【００５３】
本発明においてオンラインでの動作軌跡用ティーチングデータを作成するティーチングデータ作成手段を構築するにあたっても上述したオフラインのティーチングデータ作成手段と同様に、制御装置６及びロボット制御装置５がコンピュータシステムから構成されていることに注目している。しかも、ロボット制御装置５は、制御装置６から出力されるロボットティーチングデータに基づいて産業用ロボット１０５を駆動制御する機能と、産業用ロボット１０５を産業対象ワーク上のシーラー塗布個所に移動させたときに当該作業対象ワーク上での産業用ロボット１０５の動作点の位置を示す３次元データを実測する機能とを備えていることに注目して、任意の位置及び姿勢で作業用治具３に設置される作業対象ワーク上のシーラー塗布箇所に産業用ロボット１０５を移動させて、当該作業対象ワーク上での産業用ロボット１０５の動作点の位置を示す３次元座標データを実測して取得するデータ取得手段は、ロボット制御装置５の前記実測機能を利用して当該ロボット制御装置５により構成し、データ取得手段としてのロボット制御装置５で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求める行列演算手段と、当該剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの位置，姿勢のデータに変換するデータ変換手段とは、制御装置６の演算装置６ｆにより構成し、演算装置６ｆは記憶装置６ｅに記憶されている動作プログラムに基づくソフトウェア処理により、前記行列演算手段と前記データ変換手段との機能を実行するようになっている。また前記変換したワークモデルの３次元座標データと前記実測した３次元座標データとを登録する記憶手段は、制御装置６の記憶装置６ｅにより構成している。
【００５４】
なお、上述したオンラインでのティーチングデータ作成手段の構成では、剛体変換行列によりワークモデルの３次元座標データを、実測した作業対象ワークの３次元座標データに変換したが、これに限定されるものではなく、前記剛体変換行列の逆行列を求め、その逆行列により実測した作業対象ワークの３次元座標データを、ワークモデルの３次元座標データ上のデータに変換するようにしてもよいものである。この場合のオンラインでの動作軌跡用ティーチングデータを作成するティーチングデータ作成手段は、任意の位置及び姿勢で作業用治具に設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業用ロボットの動作点の位置を示す３次元座標データを実測して取得するデータ取得手段と、前記データ取得手段で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列の逆行列を求める逆行列演算手段と、前記剛体変換行列の逆行列により前記実測した作業対象ワークの３次元座標データを、ワークモデルの３次元座標データ上のデータに変換するデータ変換手段と、前記変換した作業対象ワークの３次元座標データとワークモデルの３次元座標データとを登録する記憶手段とを含む構成になっている。この場合においても、これらの機能を実行するために制御装置６及びロボット制御装置５を流用しており、前記データ取得手段はロボット制御装置５により構成し、前記逆行列演算手段とデータ変換手段とは、記憶装置６ｅに記憶されている動作プログラムに基づくソフトウェア処理により前記逆行列演算手段と前記データ変換手段との機能を実行する制御装置６の演算装置６ｆにより構成される。また前記記憶手段は、制御装置６の記憶装置６ｅにより構成される。
【００５５】
次に、作業対象ワークの周縁部にシーラーを塗布するための産業用ロボットを動作させるのに必要な動作軌跡用ティーチングデータをオフラインで得るシーラー塗布装置のロボットティーチング方法について説明する。このロボットティーチング方法は、ワークモデルの３次元座標データを読み込み（図５のステップＳ１）、その読込んだワークモデルの３次元座標データ上で産業用ロボットの動作点の位置を示す３次元座標データを設定し（図５のステップＳ２）、次いで、前記設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録（図５のステップＳ３）する工程を含んでいる。このロボットティーチング方法を図５，図１０及び図１１に基づいて具体的に説明する。
【００５６】
記憶装置６ｅに記憶される設計上のウインドガラス１０１の３次元形状データ（ワークモデルの３次元形状データ）と、この３次元形状データに対応して設定される、シーラー供給装置１０４に備えられた塗布ガン１０４ａの複数の移動軌跡座標との対応関係の一例を図１１の概念図を用いて説明する。
【００５７】
図１１に示される符号２１の部分が、図１０に示す設計上のウインドガラス１０１の３次元形状データ（ワークモデルの３次元形状データ）である。ＣＡＤを利用した設計作業では、直線，円弧，ベジェ曲線等のベクトルデータを利用して製品の形状を決定するため、このＣＡＤによる３次元形状データを自動プログラミング装置等で産業用ロボット１０５のプログラミング言語（ＡＰＴ文等）に変換する際にオフセット量Ｄ及び設定間隔Ｓ（図１１参照）を決めておけば、産業用ロボット１０５による移動軌跡、つまり、シーラー供給装置１０４に備えた塗布ガン１０４ａの移動軌跡座標Ｑ１〜Ｑｎは、産業用ロボットのティーチング（教示）操作を行うことなく記憶手段としての記憶装置６ｅに予め記憶させることが可能である。
【００５８】
そこで、オフラインにより産業用ロボット１０５のティーチングデータを取得する際には、制御装置６の入出力装置６ｄから演算装置６ｆにティーチングデータの取得指令を入力すると、読込手段としての演算装置６ｆは、先ず記憶装置６ｅに記憶されている図１０に示すワークモデルの３次元形状データを読出す（図５のステップＳ１）。そして、演算装置６ｆは図１１に示すように、読み出した前記ワークモデルの３次元形状データ上に、前記予め設定されたオフセット量Ｄと設定間隔Ｓに基づいて産業用ロボット１０５による塗布ガン１０４ａの移動軌跡座標Ｑ１〜Ｑｎ（産業用ロボットの動作点の位置を示す３次元座標データ）を設定する（図５のステップＳ２）。この場合、産業用ロボット１０５のティーチングデータを取得させる際に、産業用ロボット１０５の駆動速度データ，塗布ガン１０４ａのオン・オフ制御データ等を同時に設定するようにしてもよいものである。
【００５９】
次に、演算装置６は、図１１に示す前記設定した３次元座標データを、産業用ロボット１０５を動作させるのに必要な動作軌跡用ティーチングデータとして記憶装置６ｅに記憶させる（図５のステップＳ３）。演算装置６ｆは、入出力装置６ｄから産業用ロボット１０５による塗布ガン１０４ａの駆動開始指令が入力すると、記憶装置６ｅに記憶させた前記産業用ロボット１０５の動作点の位置を示す３次元座標データ（駆動制御指令）を読出し、このデータをロボット制御装置５に出力する。
【００６０】
次に、オンラインで産業用ロボット１０５を動作させるのに必要な動作軌跡用ティーチングデータを得る際の動作について説明する。先ず、図６のステップＳ４に示すように、任意の位置及び姿勢で作業対象ワーク（ウインドウガラス１０１）を作業用治具３に設置する。次に、図６のステップＳ５に示すように、前記設置された作業対象ワーク１０１上のシーラー塗布箇所に産業用ロボット１０５を移動させて、当該作業対象ワーク１０１上での産業用ロボット１０５の動作点の位置を示す３次元座標データをロボット制御装置５により実測して取得する。次いで図６のステップＳ６に示すように、前記取得された作業対象ワークの３次元座標データに基づいて制御装置６の演算装置６ｆは、作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求める。次に、図６のステップＳ７に示すように、制御装置６の演算装置６ｆは、前記剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの位置，姿勢のデータに変換する。次に図６のステップＳ８に示しように、制御装置６の演算装置６ｆは、前記変換したワークモデルの３次元座標データと前記実測した３次元座標データとを記憶装置６ｅに記憶登録する。
【００６１】
前記剛体変換行列は、基本的には図１２及び図１３に示す剛体変換行列と同じである。図１２の場合は、ロボット動作点の座標を変換しているが、これと同様に、認識により剛体変換行列を求め（図６のステップＳ５）、得られた剛体変換行列によってワークモデルの３次元座標データを作業対象ワークの３次元座標データに変換している（図６のステップＳ７）。ワークモデルの３次元座標データは、図１２において、モデルを示す点線上に一定間隔で３次元座標点が並んでいる。この点群を剛体変換行列によって、作業ワークを示す実線上の３次元座標データに変換する（図１３の式と同じ）。ここに、ワークの位置、姿勢の認識とは、モデルデータに対する剛体変換行列を求めることを意味する。これは、段落番号
【００６１】，
【００６２】で求めた３次元形状データの実測値の個々の点は誤差、バラツキがあるため、そのままでは作業対象ワークの３次元座標データとして使用できない。そこで、個々のバラツキを剛体変換行列で吸収して、モデルデータを剛体変換行列で変換した結果を作業対象ワークの３次元座標データとする。ただし、ここで言う誤差、バラツキは段落番号
【００６３】の位置ずれの補正で言う形状のバラツキよりも小さいものである。
【００６２】
なお、前記データ取得工程で取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列の逆行列を求め、この逆行列演算工程で求めた前記剛体変換行列の逆行列により前記実測した作業対象ワークの３次元座標データを、ワークモデルの３次元座標データ上のデータに変換するようにしてもよいものである。
【００６３】
前記処理において取得した産業用ロボットのティーチングデータの一部を修正（変更，追加，削除）する場合には、オンラインによる産業用ロボットのティーチングデータ作成時と同等に任意の位置及び姿勢で作業対象ワーク（ウインドウガラス１０１）を作業用治具３に設置し、そのときの作業対象ワークの位置，姿勢を産業用ロボット１０５とロボット制御装置５を使って認識して剛体変換行列を求める。次に、修正した作業対象ワーク上の点の位置に産業用ロボットを移動させ、修正後の３次元座標データを取得する。上述したようにモデルデータを変換するか、或いは産業用ロボット１０５の３次元座標データを変換するかのいずれかの処理を行い、モデルデータと産業用ロボットのティーチングデータを更新する。
【００６４】
次に図３に基づいて、ステレオカメラ４を用いた作業対象ワークの認識処理について説明する。この場合、制御装置６は、ステレオカメラ４を駆動制御する数値制御機構部としての機能を実行することとなる。この数値制御機構部は図２に示す、演算装置６ｆと記憶装置６ｅと入出力装置６ｄと画像入力装置６ｃとにより構成される。この数値制御機構部の記憶装置６ｅは、画像処理に必要なシステムプログラム，画像の解析や剛体変換行列や剛体変換行列の逆行列等の演算に用いられるアプリケーションプログラムを記憶し、かつ演算処理過程におけるデータを一時的に記憶するようになっている。また演算装置６ｆは、前記画像の解析や剛体変換行列や剛体変換行列の逆行列等の演算処理等を行うようになっている。
【００６５】
通信装置６ｂは、数値制御機構部の演算装置６ｆとステレオカメラ４とを接続し、その相互間でデータ転送を行うようになっている。ステレオカメラ４の３つのカメラユニット４ａ，４ｂ，４ｃで撮影された画像データは、この通信装置６を介して記憶装置６ｅに送られる。
【００６６】
記憶装置６ｅ内におけるデータ配列の一例を図８に示す。この実施形態では、６４０ドット×４８０ドットの３組の画素データを２５６階調の濃度で記憶するようにしているが、解像度や階調等の画素の記憶条件については、必要とされる分解能等に応じて適宜に決めるものとする。
【００６７】
前記演算装置６ｆは、図３のステップＳ９に示すようにステレオカメラ４を制御して作業用治具３に設置されたウインドウガラス１０１の画像を取り込み、図３のステップＳ１０に示すように、これを記憶装置６ｅに記憶させる。次に演算装置６ｆは、記憶装置６ｅにインストールされているアプリケーションプログラム、例えば、一般的に使われている線分情報をもとにしたステレオ法等により作業対象ワークの３次元形状データを求める形状認識用のアプリケーションプログラム、及びカメラユニット４ａ，４ｂ、４ｃで撮像した３組の画像データを記憶装置６ｅからそれぞれ読み出し、これらの画像データを画像処理する。具体的には、図７に示すように視点の異なる３つのカメラユニット４ａ，４ｂ，４ｃから取り込まれて記憶装置６ｅに記憶されている画像データのうち１つの画像データに対して、エッジの抽出，領域分割を行い、領域の境界線を特徴点で線分に分割し、２次元の線分データ群を得る。得られた線分データ群の各線分データをもとにして、残りの各画像データに対してエピポーラ線上で線分データのステレオ対応候補を探索する。対応する線分データが見つかった場合に、対となる線分データから３次元形状データを求める。この処理を全ての線分データに対して行うことにより、実測したウインドガラス１０１の３次元形状データを求める（図３のステップＳ１１）。
【００６８】
さらに演算装置６ｆは、ステップＳ１１にて求められたウインドガラス１０１の３次元形状データ（実測データ）と、記憶装置６ｅに予め記憶されているワークモデルの３次元形状データ２１（図１０参照）とを比較し、前記演算処理による３次元形状データに最も近似するワークモデルの３次元形状データ２１を選択する作業対象ワーク特定機能を実行する。この機能は、記憶装置６ｅに記憶されている形状同定用のアプリケーションプログラムを起動することによって実現する。この形状を同定するための手法としては、例えば、前記演算処理によって求められた３次元形状データの線分データとワークモデルの３次元形状データの線分データとの一致度とを比較する手法がある。具体的に説明すると、前記演算処理による３次元形状データのうちの任意の線分データに対して、記憶装置６ｅに予め登録されているワークモデルの３次元形状データの全線分データとの組み合わせについて特徴点の一致度を計算して、閾値以上の組み合わせを抽出する。そして、抽出された線分データの各組み合わせに対して、隣の線分データ同士で一致度を計算して、閾値以上の組み合わせを抽出する。これらの処理を繰り返して線分データの組み合わせを絞り込むことにより、ステップＳ１１による３次元形状データとワークモデルの３次元形状データとの相関を求める。以上の処理を、記憶装置６ｅに記憶されている複数のワークモデルの３次元形状データ２１に対して行い、最も高い相関が得られた３次元形状データを、前記演算処理による３次元形状データ（実測データ）に最も近似するワークモデルの３次元形状データ２１として設定する。
【００６９】
この実施形態では、作業対象となる種々のウインドガラス１０１の３次元形状データ２１が全て記憶装置６ｅに記憶されており、また、未知の形状のウインドガラス１０１が作業用治具３に取り付けられるということもないため、形状の同定が不能となるような問題は発生しない。
【００７０】
次に、演算装置６は、ステップＳ１１の処理で求められた作業対象ワーク（ウインドウガラス１０１）の３次元形状データ２４とステップＳ１２の処理で特定された設計上の３次元形状データ２１とに基いて、図１２に示されるように、ワークモデルの３次元形状データ２１を作業ワーク対象の３次元形状データ２４に写像するための剛体変換行列〔Ｍ〕を求める（ステップＳ１３）。具体的には、作業ワーク対象の３次元形状データ２４の線分データ等の特徴点群とワークモデルの３次元形状データ２１の特徴点群との組み合わせを求め、最小二乗法等により最も誤差が小さくなるような行列を求めて変換行列〔Ｍ〕とする。
【００７１】
次に、図４を参照して、演算装置６の処理動作及びロボット制御装置５による産業用ロボット１０５の駆動制御について説明する。
【００７２】
まず、ベルトコンベア１０７に載ったパレット１０２が図１の定位置に到達すると、定位置検出センサ１０８が作動してベルトコンベア１０７を停止させ、同時に、この定位置検出センサ１０８からの立ち上がり信号が、制御装置６の外部信号入出力装置６ａを介して制御装置６に入力される。
【００７３】
制御装置６の演算装置６ｆは、ステップａ１の判定処理で立ち上がり信号の入力を検出し、ステレオカメラ４を作動させて画像の取込みを行い（図４のステップＳ１４）、３つのカメラユニット４ａ，４ｂ，４ｃで撮影された３組の画像を記憶装置６ｅに一時記憶させる。
【００７４】
次いで、図４のステップＳ１５において、図３に示す認識処理が実行される。具体的には、演算装置６は、形状認識用のアプリケーションプログラムを記憶装置６ｅから読み込んで起動し、かつ記憶装置６ｅに読み込まれているカメラユニット４ａ，４ｂ，４ｃの３組の画像データを分析し、作業用治具３で保持されているウインドガラス１０１の３次元形状データを求める。この３次元形状データは、空間内の座標のうちウインドガラス１０１の内部と表面に位置する座標のデータであるから、実質的には、作業用治具３で保持されているウインドガラス１０１の３次元形状の他、その位置および姿勢を表すデータでもある。
【００７５】
形状認識によって得られたウインドガラス１０１の３次元形状データ２４の一例を図９に示す。
【００７６】
次いで、演算装置６ｆは、形状同定用のアプリケーションプログラムを記憶装置６ｅから読み込んで起動し、ステップＳ１５の処理で求められた３次元形状データ２４（図９参照）と、記憶装置６ｅに予め記憶されている複数の３次元形状データ２１（図１０参照）とを比較し、ステップＳ１５の処理で求められた３次元形状データ２４に最も近似する設計上の３次元形状データ２１を特定する。
【００７７】
この実施形態では、作業対象となる種々のウインドガラス１０１の３次元形状データ２１が全て記憶装置６ｅに記憶されており、また、未知の形状のウインドガラス１０１が作業用治具３に取り付けられるということもないため、形状の同定が不能となるような問題は発生しない。
【００７８】
そこで、演算装置６は、ステップＳ１５の処理で求められた作業対象の３次元形状データ２４と前記特定された設計上の３次元形状データ２１とに基いて、図１４に示されるように、ワークモデルの３次元形状データ２１を作業ワーク対象の３次元形状データ２４に写像するための剛体変換行列〔Ｍ〕を求める。具体的には、作業ワーク対象の３次元形状データ２４の線分データ等の特徴点群とワークモデルの３次元形状データ２１の特徴点群との組み合わせを求め、最小二乗法等により最も誤差が小さくなるような行列を求めて変換行列〔Ｍ〕とする。
【００７９】
図１２および図１４に示されるように、ワークモデル（設計上）の３次元形状データ２１上の点Ｑ（ｘｑ，ｙｑ，ｚｑ）が作業ワーク対象の３次元形状データ２４上で点Ｐ（ｘｐ，ｙｐ，ｚｐ）に対応するとするなら、（ｘｑ，ｙｑ，ｚｑ，１）を（ｘｐ，ｙｐ，ｚｐ，１）に変換する行列〔Ｍ〕が剛体変換行列であり、この剛体変換行列は、３次元空間中の平行移動と回転移動とによって点（ｘｑ，ｙｑ，ｚｑ）を点（ｘｐ，ｙｐ，ｚｐ）の位置に移動させる行列である。
【００８０】
次に、図４のステップＳ１６に示すように演算装置６は、前記処理で特定された設計上の３次元形状データ２１に対応して設定されている、シーラー供給装置１０４に備えられた塗布ガン１０４ａの複数の移動軌跡座標Ｑ１〜Ｑｎ（図１１参照；産業用ロボットの動作制御用ティーチングデータ）の値を個々に記憶装置６ｅから読み込み、剛体変換行列〔Ｍ〕に（ｘｑ，ｙｑ，ｚｑ，１）を乗じて、作業ワーク対象の３次元形状データ２４に対する位置関係が設計上の３次元形状データ２１に対する移動軌跡座標Ｑ（ｘｑ，ｙｑ，ｚｑ）の関係と同値となる移動軌跡座標Ｐ（ｘｐ，ｙｐ，ｚｐ）の値を求め、この値（ｘｐ，ｙｐ，ｚｐ）を駆動制御上の最終的な移動目標位置Ｐとして記憶する。
【００８１】
次いで、演算装置６は、現時点で読み出されている移動軌跡座標Ｑが、設計上の３次元形状データ２１に対応して記憶装置６ｅに設定されている最後の移動軌跡座標であるか否かを判定する。そして、ここで読み出されている移動軌跡座標Ｑが最後の移動軌跡座標でなければ、移動軌跡座標読出指標の値をインクリメントしながら前記と同様にして処理を繰り返し実行し、設計上の３次元形状データ２１に対応して記憶装置６ｅに設定されている移動軌跡座標Ｑ１〜Ｑｎの全て（図１１参照）に対して駆動制御上の最終的な移動軌跡座標Ｐ１〜Ｐｎの値を求める。演算装置６ｆは、これらの移動軌跡座標Ｐ１〜Ｐｎを、ロボット制御装置５の動作用テーチングデータとして記憶装置６ｅに記憶させる（ステップＳ１６）。
【００８２】
さらに本発明に係る作業対象ワークの周縁部にシーラーを産業用ロボットにより塗布するためのシーラー塗布装置は、ロボット動作点位置ずれ補正手段を有している。このロボット動作点位置ずれ補正手段は、前記ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を設定する動作点設定手段と、補正対象となる産業用ロボットの動作点を囲む、前記ワークモデルの３次元座標データ上の計測点を求める第１の計測点演算手段と、前記ワークモデルの３次元座標データ上の計測点に対応する、前記作業対象ワークの３次元座標データ上での計測点を演算する第２の計測点演算手段と、前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点に対応して、前記作業対象ワークの３次元座標データで形成される面上に補正後の産業用ロボットの動作点を設定する動作点補正手段とを含む構成になっている。なお、前記ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点を少なくとも３点以上設定することが望ましいものである。
【００８３】
前記動作点補正手段は、前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点を通る補正線を求め、前記補正線が前記作業対象ワークの３次元座標データで形成される面と交叉する点を補正後の産業用ロボットの動作点として補正するように構成されている。なお、前記補正線は、前記ワークモデルの３次元座標データ上の計測点から決まる面に対して、産業用ロボットの動作点を補正する方向への角度をもつ姿勢に設定されるものである。
【００８４】
次にロボット動作点位置ずれ補正処理について具体的に説明する。図１４のステップＳ１８において、図１５に実線で示すワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための動作点Ｘを設定する。動作点Ｘとしては、ワークモデルの３次元形状を構成する直線や曲線の端点，中心点等を用いる。その理由は、これらの座標値であれば、ワークモデルの３次元座標データから自動的に求めることができるからである。
【００８５】
次に図１４のステップＳ１９において、図１５及び図１６に示すように補正対象となる産業用ロボットの動作点Ｘを囲む、図１５の実線で示すワークモデルの３次元座標データ上の計測点４点（ａ１，ｂ１，ｂ２，ａ２）を求める。これらの計測点は、ワークモデルの３次元座標データ上に４点求めたが、これに限定されるものではなく、後述の面を決められる少なくとも３点を求めればよいものである。
【００８６】
次に図１４のステップＳ２０において、図１５の実線で示すワークモデルの３次元座標データ上の計測点（ａ１，ｂ１，ｂ２，ａ２）に対応する、作業対象ワークの３次元座標データ（産業用ロボットの動作制御用ティーチングデータ）上での点（ａ１´，ｂ１´，ｂ２´，ａ２´）を求める。
【００８７】
次に図１４のステップＳ２１において、図１５の実線で示すワークモデルの３次元座標データ上の計測点（ａ１，ｂ１，ｂ２，ａ２）から決まる面上の産業用ロボットの動作点Ｘを通る補正線Ｌを求める。なお、前記補正線Ｌは、ワークモデルの３次元座標データ上の計測点から決まる面に対して、産業用ロボットの動作点を補正する方向への角度をもつ姿勢に設定されるものであり、実施形態では面に対して９０度の角度をもつ垂線として設定しているが、これに限定されるものではない。
【００８８】
次に図１４のステップＳ２２において、補正線Ｌが前記作業対象ワークの３次元座標データ、特に計測点（ａ１´，ｂ１´，ｂ２´，ａ２´）で形成される面と交叉する点を補正後の産業用ロボットの動作点Ｘ´として補正する。
【００８９】
図１４の処理フローに基づいて、図４のステップＳ１７におけるロボットの動作軌跡の計算による産業用ロボットの駆動制御データに対してロボット動作点位置ずれ補正の処理が終了すると、制御装置６からロボット制御装置５にロボットの駆動制御指令が出力され、図４のステップＳ１７において産業用ロボット１０５が作業対象ワーク（ウインドウガラス１０１）上の塗布箇所に塗布ガン１０４ａを移動させ、塗布ガン１０４ａからシーラーを塗布してシーラーの塗布動作が実行される。
【００９０】
そして、演算装置６ｆは、１枚のウインドガラス１０１に対するシーラーの塗布に必要とされる全ての処理を終了し、制御装置６からロボット制御装置５に次のデータが入力されるのを待つ初期の待機状態に復帰する。
【００９１】
その後、ベルトコンベア１０７に送りが掛けられ、次の作業対象であるウインドガラス１０１をセッティングしたパレット１０２が定位置に達すると、定位置検出センサ１０８が再び立ち上がり信号を送出し、前記と同様にして制御装置６側の処理とロボット制御装置５側の処理が繰り返し実行され、次の作業対象であるウインドガラス１０１の形状とその時点でのウインドガラス１０１の位置および姿勢に最適化された移動軌跡座標Ｐ１〜Ｐｎに沿ったシーラーの塗布作業が前記と同様の処理手順で繰り返し実行されることになる。
【００９２】
【発明の効果】
以上説明したように本発明は、ワークモデルの３次元座標データを読込み、その読込んだワークモデルの３次元座標データ上に、産業用ロボットの動作点の位置を示す３次元座標データを設定し、その設定された３次元座標データを前記動作軌跡用ティーチングデータとして登録するため、産業用ロボットを作業対象ワークの形状に倣って移動させる作業を必要とせず、産業用ロボットの動作軌跡用ティーチングデータの取得をオフラインで行うことができる。
【００９３】
さらに本発明は、任意の位置及び姿勢で作業対象ワークを作業用治具に設置し、その設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させて、当該作業対象ワーク上での産業用ロボットの動作点の位置を示す３次元座標データを実測して取得し、その取得された作業対象ワークの３次元座標データに基づいて作業対象ワークの位置，姿勢を認識してワークモデルからの剛体変換行列を求め、その剛体変換行列によりワークモデルの３次元座標データを、前記実測した作業対象ワークの３次元座標データに変換する、或いは剛体変換行列の逆行列を求め、その逆行列により実測した作業対象ワークの３次元座標データを、ワークモデルの３次元座標データ上のデータに変換し、その変換したワークモデルの３次元座標データと前記実測した作業対象ワークの３次元座標データとを登録するため、シーラー塗布ラインの任意の位置及び姿勢で作業対象ワークを作業用治具に設置し、その設置された作業対象ワーク上のシーラー塗布箇所に産業用ロボットを移動させてティーチングデータを取得するため、実際のシーラー塗布ラインにおいてオンラインでティーチングデータを取得することができる。
【００９４】
さらに本発明は、ワークモデルの３次元座標データ上に、産業用ロボットの動作点を補正するための計測点を設定し、補正対象となる産業用ロボットの動作点を囲む、前記ワークモデルの３次元座標データ上の前記計測点を求め、前記ワークモデルの３次元座標データ上の前記計測点に対応する、前記作業対象ワークの３次元座標データ上での点を演算し、前記ワークモデルの３次元座標データ上の計測点から決まる面上の産業用ロボットの動作点に対応して、前記作業対象ワークの３次元座標データで形成される面上に補正後の産業用ロボットの動作点を設定するため、産業用ロボットの動作軌跡用ティーチングデータに対して、作業対象ワーク毎の形状のバラツキ（微小変形）を補正することができ、作業ワーク毎に形状のバラツキがあっても、その形状のバラツキを補正して確実に塗布動作を行うことができる。
【００９５】
さらに、本発明は、オフラインでの産業用ロボットの動作軌跡用ティーチングデータをシーラー塗布装置の利用により取得することを可能とするために、シーラー塗布装置に、産業用ロボットを動作制御するのに必要な動作軌跡用ティーチングデータを得るためのティーチングデータ作成手段を備えているため、オンラインやオフラインのいずれの場合にも、シーラー塗布装置に備えられたティーチングデータ作成手段を使って、ティーチングデータの取得作業を行うことができる。
【００９６】
さらに、シーラー塗布装置において、産業用ロボットの動作軌跡用ティーチングデータに対して、作業対象ワーク毎の形状のバラツキ（微小変形）を補正することができ、作業対象ワーク毎に形状のバラツキがあっても、その形状のバラツキを補正して確実に塗布動作を行うことができる。
【図面の簡単な説明】
【図１】本発明を適用した一実施形態のシーラー塗布装置の主要な構成要素について示した機能ブロック図である。
【図２】コンピュータシステムの一部を構成する制御装置の構成の概略について示した機能ブロック図である。
【図３】本発明においてステレオカメラを用いて作業対象ワークを認識する動作を示すフローチャートである。
【図４】本発明におけるシーラー塗布装置の全体動作を示すフローチャートである。
【図５】本発明において、オフラインでの産業用ロボットのテーチングデータを作成する工程を示すフローチャートである。
【図６】本発明において、オンラインでの産業用ロボットのテーチングデータを作成する工程を示すフローチャートである。
【図７】ステレオカメラを構成する各カメラユニットで撮影された視点の異なる３つの画像の一例を示した概念図である。
【図８】記憶装置内のフレームメモリ機能におけるデータ配列の一例を示した概念図である。
【図９】作業用治具で保持されているウインドガラスを示す３次元形状データの一例を示した概念図である。
【図１０】ワークモデルの３次元形状データを示す図である。
【図１１】ワークモデルの３次元形状データ上に塗布軌跡を設定した例を示す図である。
【図１２】設計上の３次元形状データを作業対象の３次元形状データに写像するための剛体変換行列の作用について示した概念図である。
【図１３】設計上の３次元形状データを作業対象の３次元形状データに写像するための剛体変換行列について示した図である。
【図１４】本発明における動作点の位置ずれを補正する方法を示すフローチャートである。
【図１５】本発明において、補正後動作点の計算例を示す図である。
【図１６】本発明における位置ずれ補正用計測点の設定例を示す図である。
【図１７】従来型のシーラー塗布装置を利用したシーラーの塗布作業について示した概念図である。
【符号の説明】
１  シーラー塗布装置
３  作業用治具
４ａ，４ｂ，４ｃ  カメラユニット
４  ステオカメラ
５  ロボット制御装置
６  制御装置
１０１  ウインドウガラス
ｌ０５  産業用ロボット
Ｘ  ロボット動作位置ずれ補正用動作点
Ｘ´  補正後の動作点
Ｌ  補正線
【図１】
2004243215.tif 000003
【図２】
2004243215.tif 000004
【図３】
2004243215.tif 000005
【図４】
2004243215.tif 000006
【図５】
2004243215.tif 000007
【図６】
2004243215.tif 000008
【図７】
2004243215.tif 000009
【図８】
2004243215.tif 000010
【図９】
2004243215.tif 000011
【図１０】
2004243215.tif 000012
【図１１】
2004243215.tif 000013
【図１２】
2004243215.tif 000014
【図１３】
2004243215.tif 000015
【図１４】
2004243215.tif 000016
【図１５】
2004243215.tif 000017
【図１６】
2004243215.tif 000018
【図１７】
2004243215.tif 000019