(58)【調査した分野】(Int.Cl.,DB名)
教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する処理をコンピュータに実行させる動作制御データ生成プログラムであって、
前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、
当該動作制御データ生成プログラムは、
前記手吹き動作データが生成された後に、前記噴射開始位置から前記噴射停止位置までの噴射区間を直線に沿って移動させるか又は特定の曲線に沿って移動させるかの指定を受け付ける指定受付処理と、
前記ロボットの噴射ガンが前記噴射区間を前記指定受付処理で指定された線に沿って移動するように前記動作制御データを生成する生成処理と、
を前記コンピュータに実行させる、ロボットの動作制御データ生成プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、一般にロボットを用いて噴射ガンを移動させながら噴射材を噴射する場合は噴射ガンを直線又は特定の曲線に沿って移動させることが多い。その場合、作業者は教示用手吹きガンを用いてロボットに動作を教示するとき教示用手吹きガンを直線又は特定の曲線に沿って移動させることになる。例えば
図4Bは教示用手吹きガンを直線に沿って移動させた場合の理想的な移動軌跡30を示しており、
図6は曲面を有する立体物36の表面に噴射材を噴射するときに教示用手吹きガンを円弧(特定の曲線の一例)に沿って移動させた場合の理想的な移動軌跡30を示している。
【0006】
ここで、
図4B及び
図6において実線30Aは移動軌跡30のうち噴射材が噴射された区間(以下、「噴射区間」という)を示しており、一点鎖線30Bは噴射材が噴射されない状態で噴射ガンが移動した区間(以下、「噴射停止区間」という)を示している。
【0007】
しかしながら、上述した特許文献1に記載のロボット3次元位置姿勢教示システムによると、例えばロボットの塗装ガンを直線に沿って移動させるために作業者が操作グリップを移動させたとき、実際には
図4Aに示すように噴射区間が真っ直ぐな直線にならず、波打ってしまったりガタついてしまったりする虞がある。このため塗装ガンの移動経路が直線又は円弧と精度よく一致しなくなってしまう虞がある。特定の曲線に沿って移動させる場合も同様である。
【0008】
本明細書では、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる技術を開示する。
【課題を解決するための手段】
【0009】
本明細書で開示するロボットの動作制御データ生成方法は、教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する動作制御データ生成方法であって、前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、当該動作制御データ生成方法は、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成工程を含む。
【0010】
上記の動作制御データ生成方法によると、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる。
【0011】
また、前記噴射区間を直線に沿って移動させるか又は特定の曲線に沿って移動させるかの指定を受け付ける指定受付工程を含み、前記生成工程において、前記ロボットの噴射ガンが前記噴射区間を前記指定受付工程で指定された線に沿って移動するように前記動作制御データを生成してもよい。
【0012】
例えば噴射区間を直線に沿って移動させるか又は特定の曲線に沿って移動させるかをコンピュータが判断するようにすると、本来は直線に沿って移動させるべきであるところを曲線に沿って移動させてしまうといった誤りが起きる可能性がある。上記の動作制御データ生成方法によると、直線に沿って移動させるか又は特定の曲線に沿って移動させるかの指定を受け付けるので、そのような誤りを低減することができる。
【0013】
また、前記手吹き動作データは前記教示用手吹きガンの原点位置を表す原点位置情報を含み、前記生成工程において、前記原点位置から最初の前記噴射開始位置までの噴射停止区間、及び、前の前記噴射区間の前記噴射停止位置から次の前記噴射区間の前記噴射開始位置までの噴射停止区間の少なくとも一方を前記噴射ガンが移動するときに前記ロボットの各軸を並行して動作させるように前記動作制御データを生成してもよい。
【0014】
上記の動作制御データ生成方法によると、各軸を並行して動作させない場合に比べて噴射ガンを短時間で噴射開始位置まで移動させることができる。これにより、ロボットを用いて塗装する際の生産性を向上させることができる。
【0015】
また、前記生成工程において、前記噴射ガンが前記噴射区間を一定速度で移動するように前記動作制御データを生成してもよい。
【0016】
上記の動作制御データ生成方法によると、塗料のムラや垂れが生じてしまうことを抑制することができる。
【0017】
また、前記手吹き動作データに3以上の前記噴射位置情報が含まれており、それら3以上の前記噴射位置情報が表す前記噴射区間が互いに略平行な場合は、前記生成工程において、当該3以上の噴射区間が等間隔になるように前記噴射位置情報を修正し、修正した前記噴射位置情報に基づいて前記動作制御データを生成してもよい。
【0018】
上記の動作制御データ生成方法によると、作業者が動作を教示する際に3以上の噴射区間の間隔がばらついてしまってもロボットに塗装させる際には3以上の略平行な噴射区間が等間隔に並ぶように塗装させることができる。
【0019】
また、前記手吹き動作データは前記教示用手吹きガンの向きを表す情報を含み、前の前記噴射区間の前記噴射停止位置から次の前記噴射区間の前記噴射開始位置までの間に前記教示用手吹きガンの向きが変わった場合は、前記生成工程において、前記ロボットの噴射ガンが噴射対象物から離間してから向きを変えるように前記動作制御データを生成してもよい。
【0020】
上記の動作制御データ生成方法によると、ロボットの噴射ガンの向きを変える際に噴射ガンが噴射対象物に当たってしまう可能性を低減することができる。
【0021】
また、前記生成工程において、前記噴射区間の前に前記噴射ガンを加速するように前記動作制御データを生成してもよい。
【0022】
上記の動作制御データ生成方法によると、噴射ガンが噴射区間を移動するときに一定速度で移動させる場合に、噴射区間に達する前に噴射ガンを一定速度まで加速することができる。
【0023】
また、前記生成工程において、前記噴射区間の後に前記噴射ガンを減速するように前記動作制御データを生成してもよい。
【0024】
上記の動作制御データ生成方法によると、噴射区間の後に噴射ガンを減速させることができる。
【0025】
また、本明細書で開示するロボットの動作制御データ生成装置は、教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する動作制御データ生成装置であって、前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、当該動作制御データ生成装置は処理部を備え、前記処理部は、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成処理を実行する。
【0026】
上記の動作制御データ生成装置によると、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる。
【0027】
また、本明細書で開示するロボットの動作制御データ生成プログラムは、教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する処理をコンピュータに実行させる動作制御データ生成プログラムであって、前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、当該動作制御データ生成プログラムは、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成処理を前記コンピュータに実行させる。
【0028】
上記の動作制御データ生成プログラムによると、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる。
【発明の効果】
【0029】
本明細書で開示する技術によれば、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる。
【発明を実施するための形態】
【0031】
<実施形態1>
実施形態1を
図1ないし
図6によって説明する。
【0032】
(1)塗装用ロボット、及び、ティーチング装置の構成
先ず、
図1及び
図2を参照して塗装用ロボット1(ロボットの一例)について説明する。
図1に示すように、塗装用ロボット1は多軸のマニピュレータ10、及び、マニピュレータ10を制御するコントローラ11を備えている。
【0033】
マニピュレータ10は床面に固定される固定ベース12、鉛直軸回りに回転可能に固定ベース12に設けられている旋回ベース13、旋回ベース13を回転駆動する図示しないモータ、一端側が旋回ベース13に支持されて軸回りに回転する第1アーム14、第1アーム14を回転駆動する図示しないモータ、一端側が第1アーム14の他端側に支持されて軸回りに回転する第2アーム15、第2アーム15を回転駆動する図示しないモータ、第2アーム15の他端側に設けられ、3自由度(ヨー方向、ロール方向、ピッチ方向)の回転運動が可能な手首部16、手首部16の先端側に取り付けられている塗装ガン17(噴射ガンの一例)などを備えている。
マニピュレータ10は上述した構成によって合計6自由度を有しており、塗装ガン17はマニピュレータ10の動作範囲内であれば任意の位置及び姿勢をとることができる。
【0034】
図2に示すように、コントローラ11は制御部18、記憶部18D、及び、インタフェース部19を備えている。制御部18はCPU18A、ROM18B、及び、RAM18Cを備えている。記憶部18Dにはティーチング装置2によって生成された動作制御データが記憶されており、コントローラ11はその動作制御データに基づいてマニピュレータ10の動作を制御する。
【0035】
次に、
図1及び
図3を参照してティーチング装置2について説明する。ティーチング装置2は作業者が教示用手吹きガン20を用いて塗装対象物(噴射対象物の一例)を塗装するときの教示用手吹きガン20の動作を時系列で検出して手吹き動作データを生成し、生成した手吹き動作データに基づいて塗装用ロボット1の動作制御データを生成する装置である。以降の説明では作業者が教示用手吹きガン20を用いて塗装対象物を塗装する動作のことを教示動作という。
【0036】
図1に示すように、ティーチング装置2は教示用手吹きガン20、教示用手吹きガン20を撮像する複数のカメラ21、教示用手吹きガン20のトリガ22のオン/オフを検出するトリガセンサ23、及び、制御装置24(動作制御データ生成装置及びコンピュータの一例)を備えている。
【0037】
教示用手吹きガン20は手吹き塗装ガンに位置及び向きを検出するための複数のマーク20Aを貼り付けたものである。教示用手吹きガン20はホース31A及び31Bを介して図示しないエア供給装置及び塗料供給装置に接続されている。また、教示用手吹きガン20はエアの噴射/停止を切り替えるトリガ22を備えており、トリガ22が引かれると常閉式の開閉弁が開いてエアとともに塗料(噴射材の一例)が噴射される。
【0038】
なお、ここでは実際に塗料を噴射可能な手吹き塗装ガンを教示用手吹きガン20として用いる場合を例に説明するが、教示用手吹きガン20は塗料を噴射する機能を有していない教示専用の模擬的な手吹き塗装ガンであってもよい。
【0039】
複数のカメラ21はマーク20Aを撮像して教示用手吹きガン20のXYZ座標を検出するためのものである。これら複数のカメラ21はマーク20Aを撮像した画像から教示用手吹きガン20のXYZ座標を特定できる位置関係で配されている。なお、
図1ではカメラ21を3つ示しているが、カメラ21は3つに限定されるものではない。
【0040】
トリガセンサ23はトリガ22のオン/オフを検出するセンサである。本実施形態に係るトリガセンサ23は近接センサであり、トリガ22が引かれるとオンになり、トリガ22が戻されるとオフになる。なお、トリガセンサ23は教示用手吹きガン20にエアを供給するホース31Aに取り付けられているエアーフローバルブ40の開閉を検知することによってトリガ22のオン/オフを間接的に検出するものであってもよい。
【0041】
図3に示すように、制御装置24は処理部25、記憶部26、操作部27、表示部28、インタフェース部29などを備えている。処理部25はCPU25A、ROM25B、及び、RAM25Cを備えている。記憶部26には動作制御データ生成プログラムなどの各種のプログラムが記憶されている。また、記憶部26には動作制御データ生成プログラムによって生成されるデータなどが記憶される。インタフェース部29には前述した複数のカメラ21やトリガセンサ23が接続されている。
【0042】
(2)制御装置の処理
制御装置24の処理部25(以下、単に制御装置24という)は、動作制御データ生成プログラムを実行することにより、手吹き動作データを生成する処理、生成した手吹き動作データに基づいて塗装用ロボット1の動作制御データを生成する処理などを実行する。
【0043】
(2−1)手吹き動作データを生成する処理
手吹き動作データの生成では、初めに制御装置24のオペレータが操作部27を操作して制御装置24に教示動作の開始を通知し、その後に作業者が教示用手吹きガン20を用いて教示動作を開始するものとする。
制御装置24は教示動作の開始が通知されると経過時間の計測を開始する。そして、制御装置24は一定時間間隔で複数のカメラ21に同時に教示用手吹きガン20を撮像させ、各カメラ21によって撮像された画像、その画像を撮像したときの経過時間、トリガセンサ23がオフからオンに変化した時(すなわち作業者が塗料の噴射を指示した時)の経過時間、トリガセンサ23がオンからオフに変化した時(すなわち噴射の停止を指示した時)の経過時間などを記憶する。
【0044】
そして、制御装置24は複数のカメラ21によって同時に撮像された複数の画像を一つの画像群とし、各画像群について、その画像群を構成している複数の画像を解析してマーク20AのXYZ方向の位置を認識することにより、教示用手吹きガン20のXYZ座標を判断する。そして、制御装置24は判断したXYZ座標を経過時間と対応付けて記憶部26に記憶する。これにより教示用手吹きガン20の移動軌跡30(
図4A参照)を経過時間とともに表す移動軌跡データが生成される。移動軌跡データにおいて最初のXYZ座標は原点位置情報の一例である。
【0045】
また、制御装置24は、各画像群について、その画像群を構成している複数の画像を解析して複数のマーク20Aの相対位置を認識し、その相対位置から教示用手吹きガン20の向きを判断する。そして、制御装置24は判断した向きをXYZ座標と対応付けて記憶部26に記憶する。これにより教示用手吹きガン20の向きをXYZ座標とともに表す向きデータ(向きを表す情報の一例)が生成される。なお、制御装置24は判断した向きを経過時間と対応付けて記憶してもよい。
【0046】
また、制御装置24は、作業者が塗料の噴射を指示した時の教示用手吹きガン20のXYZ座標(噴射開始位置P1)、及び、噴射の停止を指示した時の教示用手吹きガン20のXYZ座標(噴射停止位置P2)を記憶部26に記憶する。これにより、教示用手吹きガン20の噴射開始位置P1及び噴射停止位置P2を表す噴射位置情報が生成される。なお、制御装置24はXYZ座標に替えて噴射が開始された時の経過時間や噴射が停止された時の経過時間を記憶してもよい。
【0047】
上述した移動軌跡データ、向きデータ、及び、噴射位置情報は手吹き動作データの一例である。なお、手吹き動作データにはこれらのデータに加えて教示用手吹きガン20の他の動作を表すデータが含まれてもよい。
【0048】
(2−2)動作制御データを生成する処理
動作制御データを生成する処理では、制御装置24は上述した手吹き動作データを修正し、修正した手吹き動作データに基づいて動作制御データを生成する。以下、具体的に説明する。
【0049】
(2−2−1)噴射区間の移動軌跡の修正
図4Aに示すように、教示用手吹きガン20を用いた教示動作では手吹き動作データが表す移動軌跡30において噴射区間30Aが波打ってしまったりガタついてしまったりすることがある。そこで、
図4B又は
図6に示すように、制御装置24は噴射区間30Aを直線又は円弧(特定の曲線の一例)に修正する。
【0050】
具体的には例えば、制御装置24は手吹き動作データが表す教示用手吹きガン20の移動軌跡30、噴射開始位置P1、及び、噴射停止位置P2を表示部28に表示し、オペレータは表示された移動軌跡30を見て噴射区間30Aを直線に修正するか又は円弧に修正するかを判断する。そして、オペレータは操作部27を操作していずれか判断した形状(直線又は円弧)を指定する。言い換えると、オペレータは噴射区間30Aを直線に沿って移動させるか又は円弧に沿って移動させるかを指定する。
【0051】
オペレータが直線を指定した場合は、制御装置24は噴射区間30Aを噴射開始位置P1と噴射停止位置P2とを結ぶ直線(指定された線の一例)に修正する。一方、オペレータが円弧を指定した場合は、制御装置24は噴射開始位置P1、噴射停止位置P2、及び、それらの間にあるXYZ座標から円弧補間などによって円弧(指定された線の一例)のパラメータ(円弧の中心や半径など)を決定し、噴射区間30Aをその決定したパラメータの円弧に修正する。
【0052】
ここで、
図4Aに示す例では噴射区間30Aが複数存在している。噴射区間30Aが複数存在している場合は、制御装置24はオペレータが直線を指定した場合は全ての噴射区間30Aを直線に修正し、円弧を指定した場合は全ての噴射区間30Aを円弧に修正するものとする。
【0053】
(2−2−2)噴射区間のピッチ修正
図4Bに示すように、塗装用ロボット1に塗装対象物を塗装させるとき、3以上の平行な噴射区間30Aが等間隔に並ぶように塗装させたい場合がある。しかしながら、
図4Aに示すように、作業者が教示用手吹きガン20を用いて教示動作を行うとき、3以上の噴射区間30Aの間隔が完全に等間隔になるようにすることは一般に困難である。このため、教示用手吹きガン20の移動軌跡30においてそれら3以上の噴射区間30Aの間隔がばらついてしまう可能性がある。
【0054】
そこで、制御装置24は、手吹き動作データが表す移動軌跡30Aに3以上の略平行な噴射区間30Aが存在しているか否かを判断し、存在していると判断した場合は、
図4Bに示すように、それら3以上の噴射区間30Aの間隔が等間隔になるように移動軌跡30を修正する。言い換えると、制御装置24は、手吹き動作データに3以上の噴射位置情報が含まれており、それら3以上の噴射位置情報が表す噴射区間30Aが互いに略平行な場合は、それら3以上の噴射区間30Aが等間隔になるように噴射位置情報を修正する。本実施形態ではこの修正のことをピッチ修正という。
【0055】
ここで、2つの噴射区間30Aが略平行であるか否かの判断基準は適宜に決定することができる。例えば
図4Aに示すように、ある噴射区間30Aの噴射開始位置P1と別の噴射区間30Aの噴射停止位置P2との間隔をDaとし、当該ある噴射区間30Aの噴射停止位置P2と当該別の噴射区間30Aの噴射開始位置P1との間隔をDbとしたとき、それらの差(=Da−Db)の絶対値が一定値以下であれば略平行であると判断してもよい。
【0056】
また、ピッチ修正では、隣り合う2つの噴射区間30Aの修正後の間隔H7(
図4B参照)が、修正前の各噴射区間30Aの間隔H1〜H6(
図4A参照)の平均値になるように修正してもよいし、オペレータが指定した間隔になるように修正してもよい。
【0057】
また、本実施形態では3以上の噴射区間30Aが略平行である場合にピッチ修正を行うが、3以上の噴射区間30Aが略平行であり、且つ、概ね等間隔である場合にピッチ修正を行うようにしてもよい。概ね等間隔であるか否かの判断基準は適宜に決定することができる。例えば間隔のばらつきが修正前の各噴射区間30Aの間隔H1〜H6の平均値の5%以下であれば概ね等間隔であると判断してもよい。
【0058】
(2−2−3)退避経路の追加
図5A及び
図5Bでは、塗装対象物35が立方体状であり、教示用手吹きガン20を下向きにして塗装対象物35の上面を塗装した後、塗装対象物35の角部を中心にして教示用手吹きガン20を回転させるように教示用手吹きガン20を移動させることによって教示用手吹きガン20の向きを後向きに変化させながら塗装対象物35の前面の噴射開始位置P1に移動させる場合を示している。この場合、塗装用ロボット1にこの動作をそのまま再現させると塗装ガン17が塗装対象物35の角部に当たってしまうことも考えられる。
【0059】
そこで、
図5Cに示すように、制御装置24は、前の噴射区間30Aの噴射停止位置P2から次の噴射区間30Aの噴射開始位置P1までの間に教示用手吹きガン20の向きが変わった場合は、塗装ガン17の向きを変える際に塗装ガン17が塗装対象物35から離間するように移動軌跡30を修正する。本実施形態ではこの修正のことを退避経路の追加という。
【0060】
具体的には例えば、制御装置24は塗装対象物35の上面の最後の噴射停止位置P2で塗装ガン17が塗装対象物35から上方向に離間し、その状態で後向きに変化しながら前側に移動し、その後に後側に向かって移動することによって噴射開始位置P1に位置するように移動軌跡30を修正する。なお、塗装ガン17を塗装対象物35から離間させる距離は制御装置24が自動で決定してもよいし、オペレータが指定してもよい。
【0061】
(2−2−4)動作制御データの生成
前述したように制御装置24は修正した手吹き動作データから動作制御データを生成する。その際に制御装置24は動作制御データに塗装用ロボット1の塗装ガン17の移動速度を設定する。以下、具体的に説明する。
【0062】
教示用手吹きガン20を用いた手作業での教示では、教示用手吹きガン20が噴射区間30Aを一定速度で移動するとは限らず、速度にばらつきが生じてしまうことがある。教示用手吹きガン20の速度がばらつくと塗装用ロボット1の塗装ガン17の速度もばらついてしまうため、塗料のムラや垂れが生じてしまう虞がある。
【0063】
そこで、制御装置24は塗装用ロボット1の塗装ガン17が噴射区間30Aを一定速度で移動するように動作制御データを生成する。塗装ガン17が噴射区間30Aを移動する速度は、例えば教示用手吹きガン20が噴射区間30Aを移動したときの平均速度であってもよいし、オペレータが指定した速度であってもよい。
【0064】
(3)実施形態の効果
以上説明した実施形態1に係る制御装置24によると、教示用手吹きガン20を用いて塗装用ロボット1に簡便に動作を教示しつつ、噴射区間30Aにおいて塗装用ロボット1の塗装ガン17の移動経路を直線又は円弧に精度よく一致させることができる。
【0065】
更に、制御装置24によると、噴射区間30Aを直線に修正するか又は円弧に修正するかの指定を制御装置24のオペレータから受け付ける。例えば噴射区間30Aを直線に修正するか又は円弧に修正するかを制御装置24が判断するようにすると、本来は直線に修正すべきであるところを円弧に修正してしまうといった誤りが起きる可能性がある。制御装置24によると、噴射区間30Aを直線に修正するか又は円弧に修正するかの指定をオペレータから受け付けるので、そのような誤りを低減することができる。
【0066】
更に、制御装置24によると、塗装用ロボット1の塗装ガン17が噴射区間30Aを一定速度で移動するように動作制御データを生成するので、教示用手吹きガン20が噴射区間30Aを移動するときの速度が一定でなくても塗装用ロボット1の塗装ガン17が噴射区間30Aを移動する際には一定速度で移動させることができる。これにより、塗料のムラや垂れが生じてしまうことを抑制することができる。
【0067】
更に、制御装置24によると、移動軌跡30に3以上の略平行な噴射区間30Aが存在している場合は、当該3以上の噴射区間30Aが等間隔になるように移動軌跡30を修正するので、作業者が動作を教示する際に3以上の噴射区間30Aの間隔がばらついてしまっても塗装用ロボット1に塗装させる際には3以上の略平行な噴射区間30Aが等間隔に並ぶように塗装させることができる。
【0068】
更に、制御装置24によると、塗装用ロボット1の塗装ガン17が塗装対象物35から離間してから向きを変えるように動作制御データを生成するので、塗装ガン17の向きを変える際に塗装ガン17が塗装対象物35に当たってしまう可能性を低減することができる。
【0069】
<実施形態2>
次に、実施形態2を
図7によって説明する。
原点位置情報によって表される原点位置から最初の噴射区間30Aまでの区間、及び、前の噴射区間30Aの噴射停止位置P2から次の噴射区間30Aの噴射開始位置P1までの区間は、教示用手吹きガン20が塗料の噴射を停止した状態で移動した噴射停止区間30Bである。生産性を向上させるために噴射停止区間30Bでは塗装用ロボット1の塗装ガン17を短時間で移動させることが望ましい。
【0070】
そこで、
図7に示すように、実施形態2に係る制御装置24は、塗装ガン17が噴射停止区間30Bを移動するとき、次の噴射区間30Aの噴射開始位置P1に達したときに塗装ガン17の速度が前述した一定速度に達しているという条件の下で、マニピュレータ10の各軸(すなわち6軸)を並行して動作させるように動作制御データを生成する。なお、塗装ガン17を短時間で移動させるためには各軸を並行して、且つ、それぞれ極力高速で動作させることが望ましい。
【0071】
ところで、
図7に示すように、マニピュレータ10の各軸を並行して動作させると噴射停止区間30Bにおいて塗装用ロボット1の塗装ガン17の移動経路が教示用手吹きガン20の移動軌跡30と一致しなくなる可能性がある。しかしながら、一般に塗装ガン17が噴射停止区間30Bを移動するときの移動経路に制約はないので、教示用手吹きガン20の移動軌跡30と一致しなくても問題はないといえる。
【0072】
以上説明した実施形態2に係る制御装置24によると、マニピュレータ10の各軸を並行して動作させない場合に比べて塗装ガン17を短時間で噴射開始位置P1まで移動させることができる。これにより、塗装用ロボット1を用いて塗装する際の生産性を向上させることができる。
【0073】
実施形態2に係る制御装置24はその他の点において実施形態1に係る制御装置24と実質的に同一である。
【0074】
<実施形態3>
次に、実施形態3を
図8によって説明する。
前述した実施形態1では作業者が塗装用ロボット1に動作を教示するとき教示用手吹きガン20を用いて実際に塗装対象物35を塗装する場合を例に説明した。しかしながら、教示用手吹きガン20を用いた教示方法はこれに限られるものではなく、
図8に示すように噴射開始位置P1や噴射停止位置P2をポイント指定するといったより簡便な教示方法も可能である。
【0075】
具体的には例えば、作業者は教示用手吹きガン20を噴射開始位置P1に移動させ、その位置でトリガ22をオンにする。これにより噴射開始位置P1のXYZ座標が取得される。同様に、作業者は教示用手吹きガン20を噴射停止位置P2に移動させ、その位置でトリガ22をオフにする。これにより噴射停止位置P2のXYZ座標が取得される。この場合、手吹き動作データには噴射位置情報は含まれるものの、移動軌跡データは含まれないことになる。
【0076】
そして、制御部24は、ポイント指定された噴射開始位置P1から噴射停止位置P2までの噴射区間30Aを、オペレータが指定した線(直線又は円弧)に沿って塗装ガン17が移動するように動作制御データを生成する。なお、この場合は噴射開始位置P1と噴射停止位置P2との間にXYZ座標がないので円弧補間を行うことはできない。このため、この場合は円弧のパラメータ(円弧の中心や半径など)をオペレータが指定してもよい。あるいは、噴射開始位置P1と噴射停止位置P2との間に円弧補間を行うためのポイントを教示用手吹きガン20によってポイント指定してもよい。
【0077】
ところで、実施形態3においても塗装ガン17が噴射区間30Aを移動するときに塗装ガン17を一定速度で移動させる。この場合、実施形態1のように手吹き動作データに移動軌跡データが含まれている場合は移動軌跡データから塗装ガン17の加速を開始する位置(言い換えると加速区間)を特定することができるが、移動軌跡データが含まれていない場合は加速区間を特定することができない。
【0078】
同様に、実施形態3においても噴射区間30Aの後に塗装ガン17を停止状態まで減速するが、移動軌跡データが含まれていない場合は塗装ガン17を停止させる位置(言い換えると減速区間)を特定することができない。
【0079】
そこで、
図8に示すように、実施形態3に係る制御装置24は、噴射区間30Aの前に加速区間S1を追加するとともに、噴射区間30Aの後に減速区間S2を追加する。これにより、噴射区間30Aの前に塗装ガン17を加速するように、且つ、噴射区間30Aの後に塗装ガン17を減速するように動作制御データが生成される。
【0080】
なお、上述した加速区間S1の長さは塗装ガン17の速度が噴射区間30Aの略直前で目標速度(噴射区間30Aを一定速度で移動させるときの速度)に達する長さであることが望ましい。このようにすると塗装ガン17が噴射区間30Aに達する前に塗装ガン17を目標速度まで加速できるとともに、塗装ガン17が目標速度に達した位置から噴射開始位置P1までの無駄な移動距離を低減することができる。
減速区間S2の長さについては、本実施形態では加速区間S1の長さと同じ長さにするものとする。なお、減速区間S2の長さは必ずしも加速区間S1の長さと同じでなくてもよい。
【0081】
以上説明した実施形態3に係る制御装置24によると、噴射区間の前後に加速区間S1及び減速区間S2を設定するので、オペレータが加速区間S1や減速区間S2を設定する場合に比べてオペレータの負担を軽減できる。また、オペレータが加速区間S1や減速区間S2を設定する場合は無駄な移動距離が少ない適切な長さの加速区間S1や減速区間S2を設定することが難しい場合があるが、制御装置24によるとオペレータが設定する場合に比べて無駄な移動距離が少ない適切な長さの加速区間S1及び減速区間S2をより確実に設定することができる。
【0082】
実施形態3に係る制御装置24はその他の点において実施形態1あるいは実施形態2に係る制御装置24と実質的に同一である。
【0083】
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【0084】
(1)上記実施形態では特定の曲線として円弧を例に説明した。一般に塗装ガン17を円弧以外の曲線に沿って移動させることは稀であるが、必要であれば特定の曲線は円弧以外であってもよい。
また、上記実施形態では特定の曲線が円弧に固定されている場合を例に説明したが、特定の曲線は複数の曲線の中からオペレータが指定した曲線であってもよい。また、オペレータが特定の曲線の形状を任意に設定できるようにしてもよい。
【0085】
(2)上記実施形態ではオペレータが直線を指定した場合は全ての噴射区間30Aを直線に修正し、円弧を指定した場合は全ての噴射区間30Aを円弧に修正する場合を例に説明した。これに対し、直線に修正するか円弧に修正するかの指定を噴射区間30A毎に受け付けてもよい。
また、上記実施形態では直線に修正するか円弧に修正するかをオペレータが指定する場合を例に説明したが、直線に修正するか円弧に修正するかを制御装置24が自動で判断するようにしてもよい。また、その場合、コンピュータが判断した結果をオペレータが確認し、判断が間違っているようであればオペレータが修正できるようにしてもよい。
【0086】
(3)上記実施形態ではピッチ修正を行うか否かを制御装置24が判断する場合を例に説明したが、ピッチ修正を行うか否かをオペレータが指定するようにしてもよい。
【0087】
(4)上記実施形態では複数のカメラ21によって教示用手吹きガン20のXYZ座標や向きを検出する場合を例に説明したが、XYZ座標や向きを検出する方法は適宜に選択可能である。例えば教示用手吹きガン20に6自由度位置姿勢センサを取り付け、そのセンサの検出結果からXYZ座標や向きを検出してもよい。また、カメラ21と6自由度位置姿勢センサとを両方備え、一方の検出結果を他方の検出結果によって補足する構成であってもよい。
【0088】
(5)上記実施形態では動作制御データ生成プログラムが「手吹き動作データを生成する処理」を実行する場合を例に説明した。しかしながら、動作制御データ生成プログラムは少なくとも「動作制御データを生成する処理」を実行すればよく、「手吹き動作データを生成する処理」は他のプログラムによって実行されてもよい。
【0089】
(6)上記実施形態では教示用手吹きガン20が直線又は円弧(特定の曲線)に沿って移動させられる場合を例に説明したが、教示用手吹きガン20は、曲面が組み合わされた複雑な形状の塗装対象物を塗装する動作を教示することも可能である。ただし、その場合は噴射区間の移動軌跡30Aを単純な直線や円弧に修正することはできないので、移動軌跡30Aが滑らかになる所謂スムージングだけを行って動作制御データを生成してもよい。
【0090】
(7)上記実施形態では噴射材として塗料を例に説明したが、噴射材は塗料に限られるものではなく、例えば離型剤や潤滑剤などの液体材料、シーリングなどであってもよい。また、噴射材は塗料などのような液材に限定されるものではなく、例えば粉体であってもよい。