(57)【要約】【課題】教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させること。【解決手段】教示用手吹きガン２０の動作を検出して生成された手吹き動作データに基づいて塗装用ロボット１の動作制御データを生成する動作制御データ生成方法であって、手吹き動作データは、作業者が教示用手吹きガン２０を用いて塗料の噴射を指示した噴射開始位置Ｐ１、及び、噴射の停止を指示した噴射停止位置Ｐ２を表す噴射位置情報を含み、当該動作制御データ生成方法は、噴射開始位置Ｐ１から噴射停止位置Ｐ２までの噴射区間を塗装用ロボット１の塗装ガン１７が直線又は特定の曲線に沿って移動するように動作制御データを生成する生成工程を含む、ロボットの動作制御データ生成方法。【選択図】図４Ｂ
2018001381.tif 000002
【特許請求の範囲】
【請求項１】
教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する動作制御データ生成方法であって、
前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、
当該動作制御データ生成方法は、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成工程を含む、ロボットの動作制御データ生成方法。
【請求項２】
前記噴射区間を直線に沿って移動させるか又は特定の曲線に沿って移動させるかの指定を受け付ける指定受付工程を含み、
前記生成工程において、前記噴射ガンが前記噴射区間を前記指定受付工程で指定された線に沿って移動するように前記動作制御データを生成する、請求項１に記載のロボットの動作制御データ生成方法。
【請求項３】
前記手吹き動作データは前記教示用手吹きガンの原点位置を表す原点位置情報を含み、
前記生成工程において、前記原点位置から最初の前記噴射開始位置までの噴射停止区間、及び、前の前記噴射区間の前記噴射停止位置から次の前記噴射区間の前記噴射開始位置までの噴射停止区間の少なくとも一方を前記噴射ガンが移動するときに前記ロボットの各軸を並行して動作させるように前記動作制御データを生成する、請求項１又は請求項２に記載のロボットの動作制御データ生成方法。
【請求項４】
前記生成工程において、前記噴射ガンが前記噴射区間を一定速度で移動するように前記動作制御データを生成する、請求項１乃至請求項３のいずれか一項に記載のロボットの動作制御データ生成方法。
【請求項５】
前記手吹き動作データに３以上の前記噴射位置情報が含まれており、それら３以上の前記噴射位置情報が表す前記噴射区間が互いに略平行な場合は、前記生成工程において、当該３以上の噴射区間が等間隔になるように前記噴射位置情報を修正し、修正した前記噴射位置情報に基づいて前記動作制御データを生成する、請求項１乃至請求項４のいずれか一項に記載のロボットの動作制御データ生成方法。
【請求項６】
前記手吹き動作データは前記教示用手吹きガンの向きを表す情報を含み、
前の前記噴射区間の前記噴射停止位置から次の前記噴射区間の前記噴射開始位置までの間に前記教示用手吹きガンの向きが変わった場合は、前記生成工程において、前記噴射ガンが噴射対象物から離間してから向きを変えるように前記動作制御データを生成する、請求項１乃至請求項５のいずれか一項に記載のロボットの動作制御データ生成方法。
【請求項７】
前記生成工程において、前記噴射区間の前に前記噴射ガンを加速するように前記動作制御データを生成する、請求項１乃至請求項６のいずれか一項に記載のロボットの動作制御データ生成方法。
【請求項８】
前記生成工程において、前記噴射区間の後に前記噴射ガンを減速するように前記動作制御データを生成する、請求項１乃至請求項７のいずれか一項に記載のロボットの動作制御データ生成方法。
【請求項９】
教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する動作制御データ生成装置であって、
前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、
当該動作制御データ生成装置は処理部を備え、
前記処理部は、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成処理を実行する、動作制御データ生成装置。
【請求項１０】
教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する処理をコンピュータに実行させる動作制御データ生成プログラムであって、
前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、
当該動作制御データ生成プログラムは、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成処理を前記コンピュータに実行させる、ロボットの動作制御データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動作制御データ生成方法、動作制御データ生成装置、及び、動作制御データ生成プログラムに関する。
【背景技術】
【０００２】
従来、塗装用ロボットなどのように噴射用のガン（以下「噴射ガン」という）を移動させながら対象物に噴射材を噴射するロボットに簡便に動作を教示（所謂ティーチング）する方法として、教示用手吹きガンの動作を検出して手吹き動作データを生成し、生成した手吹き動作データに基づいてロボットの動作制御データを生成する方法が知られている（例えば、特許文献１参照）。
【０００３】
具体的には、特許文献１に記載のロボット３次元位置姿勢教示システムは、６自由度位置姿勢センサを備える操作グリップを作業者が移動させ、その操作グリップの位置姿勢を当該センサによって検出することによってロボットに位置姿勢を教示している。また、特許文献１に記載の操作グリップは開閉スイッチを備えており、作業者が開閉スイッチを操作することによって塗装ガンを作動させるタイミングを教示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２１６１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、一般にロボットを用いて噴射ガンを移動させながら噴射材を噴射する場合は噴射ガンを直線又は特定の曲線に沿って移動させることが多い。その場合、作業者は教示用手吹きガンを用いてロボットに動作を教示するとき教示用手吹きガンを直線又は特定の曲線に沿って移動させることになる。例えば図４Ｂは教示用手吹きガンを直線に沿って移動させた場合の理想的な移動軌跡３０を示しており、図６は曲面を有する立体物３６の表面に噴射材を噴射するときに教示用手吹きガンを円弧（特定の曲線の一例）に沿って移動させた場合の理想的な移動軌跡３０を示している。
【０００６】
ここで、図４Ｂ及び図６において実線３０Ａは移動軌跡３０のうち噴射材が噴射された区間（以下、「噴射区間」という）を示しており、一点鎖線３０Ｂは噴射材が噴射されない状態で噴射ガンが移動した区間（以下、「噴射停止区間」という）を示している。
【０００７】
しかしながら、上述した特許文献１に記載のロボット３次元位置姿勢教示システムによると、例えばロボットの塗装ガンを直線に沿って移動させるために作業者が操作グリップを移動させたとき、実際には図４Ａに示すように噴射区間が真っ直ぐな直線にならず、波打ってしまったりガタついてしまったりする虞がある。このため塗装ガンの移動経路が直線又は円弧と精度よく一致しなくなってしまう虞がある。特定の曲線に沿って移動させる場合も同様である。
【０００８】
本明細書では、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる技術を開示する。
【課題を解決するための手段】
【０００９】
本明細書で開示するロボットの動作制御データ生成方法は、教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する動作制御データ生成方法であって、前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、当該動作制御データ生成方法は、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成工程を含む。
【００１０】
上記の動作制御データ生成方法によると、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる。
【００１１】
また、前記噴射区間を直線に沿って移動させるか又は特定の曲線に沿って移動させるかの指定を受け付ける指定受付工程を含み、前記生成工程において、前記ロボットの噴射ガンが前記噴射区間を前記指定受付工程で指定された線に沿って移動するように前記動作制御データを生成してもよい。
【００１２】
例えば噴射区間を直線に沿って移動させるか又は特定の曲線に沿って移動させるかをコンピュータが判断するようにすると、本来は直線に沿って移動させるべきであるところを曲線に沿って移動させてしまうといった誤りが起きる可能性がある。上記の動作制御データ生成方法によると、直線に沿って移動させるか又は特定の曲線に沿って移動させるかの指定を受け付けるので、そのような誤りを低減することができる。
【００１３】
また、前記手吹き動作データは前記教示用手吹きガンの原点位置を表す原点位置情報を含み、前記生成工程において、前記原点位置から最初の前記噴射開始位置までの噴射停止区間、及び、前の前記噴射区間の前記噴射停止位置から次の前記噴射区間の前記噴射開始位置までの噴射停止区間の少なくとも一方を前記噴射ガンが移動するときに前記ロボットの各軸を並行して動作させるように前記動作制御データを生成してもよい。
【００１４】
上記の動作制御データ生成方法によると、各軸を並行して動作させない場合に比べて噴射ガンを短時間で噴射開始位置まで移動させることができる。これにより、ロボットを用いて塗装する際の生産性を向上させることができる。
【００１５】
また、前記生成工程において、前記噴射ガンが前記噴射区間を一定速度で移動するように前記動作制御データを生成してもよい。
【００１６】
上記の動作制御データ生成方法によると、塗料のムラや垂れが生じてしまうことを抑制することができる。
【００１７】
また、前記手吹き動作データに３以上の前記噴射位置情報が含まれており、それら３以上の前記噴射位置情報が表す前記噴射区間が互いに略平行な場合は、前記生成工程において、当該３以上の噴射区間が等間隔になるように前記噴射位置情報を修正し、修正した前記噴射位置情報に基づいて前記動作制御データを生成してもよい。
【００１８】
上記の動作制御データ生成方法によると、作業者が動作を教示する際に３以上の噴射区間の間隔がばらついてしまってもロボットに塗装させる際には３以上の略平行な噴射区間が等間隔に並ぶように塗装させることができる。
【００１９】
また、前記手吹き動作データは前記教示用手吹きガンの向きを表す情報を含み、前の前記噴射区間の前記噴射停止位置から次の前記噴射区間の前記噴射開始位置までの間に前記教示用手吹きガンの向きが変わった場合は、前記生成工程において、前記ロボットの噴射ガンが噴射対象物から離間してから向きを変えるように前記動作制御データを生成してもよい。
【００２０】
上記の動作制御データ生成方法によると、ロボットの噴射ガンの向きを変える際に噴射ガンが噴射対象物に当たってしまう可能性を低減することができる。
【００２１】
また、前記生成工程において、前記噴射区間の前に前記噴射ガンを加速するように前記動作制御データを生成してもよい。
【００２２】
上記の動作制御データ生成方法によると、噴射ガンが噴射区間を移動するときに一定速度で移動させる場合に、噴射区間に達する前に噴射ガンを一定速度まで加速することができる。
【００２３】
また、前記生成工程において、前記噴射区間の後に前記噴射ガンを減速するように前記動作制御データを生成してもよい。
【００２４】
上記の動作制御データ生成方法によると、噴射区間の後に噴射ガンを減速させることができる。
【００２５】
また、本明細書で開示するロボットの動作制御データ生成装置は、教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する動作制御データ生成装置であって、前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、当該動作制御データ生成装置は処理部を備え、前記処理部は、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成処理を実行する。
【００２６】
上記の動作制御データ生成装置によると、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる。
【００２７】
また、本明細書で開示するロボットの動作制御データ生成プログラムは、教示用手吹きガンの動作を検出して生成された手吹き動作データに基づいてロボットの動作制御データを生成する処理をコンピュータに実行させる動作制御データ生成プログラムであって、前記手吹き動作データは、作業者が前記教示用手吹きガンを用いて噴射材の噴射を指示した噴射開始位置、及び、噴射の停止を指示した噴射停止位置を表す噴射位置情報を含み、当該動作制御データ生成プログラムは、前記噴射開始位置から前記噴射停止位置までの噴射区間を前記ロボットの噴射ガンが直線又は特定の曲線に沿って移動するように前記動作制御データを生成する生成処理を前記コンピュータに実行させる。
【００２８】
上記の動作制御データ生成プログラムによると、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる。
【発明の効果】
【００２９】
本明細書で開示する技術によれば、教示用手吹きガンを用いてロボットに簡便に動作を教示しつつ、噴射区間においてロボットの噴射ガンの移動経路を直線又は特定の曲線に精度よく一致させることができる。
【図面の簡単な説明】
【００３０】
【図１】実施形態１に係るロボット、及び、ティーチング装置の全体構成を示す模式図
【図２】コントローラのブロック図
【図３】動作制御データ生成装置のブロック図
【図４Ａ】手吹き動作データが表す修正前の移動軌跡を示す模式図
【図４Ｂ】修正後の移動軌跡を示す模式図
【図５Ａ】修正前の移動軌跡を示す斜視図
【図５Ｂ】修正前の移動軌跡を示す側面図
【図５Ｃ】修正後の移動軌跡を示す側面図
【図６】曲面を有する立体物の表面を塗装するときに噴射ガンを円弧に沿って移動させた場合の移動軌跡を示す模式図
【図７】実施形態２に係る修正後の移動軌跡を示す模式図
【図８】実施形態３に係る手吹き動作データ、及び、ロボットの噴射ガンの移動経路を示す模式図
【発明を実施するための形態】
【００３１】
＜実施形態１＞
実施形態１を図１ないし図６によって説明する。
【００３２】
（１）塗装用ロボット、及び、ティーチング装置の構成
先ず、図１及び図２を参照して塗装用ロボット１（ロボットの一例）について説明する。図１に示すように、塗装用ロボット１は多軸のマニピュレータ１０、及び、マニピュレータ１０を制御するコントローラ１１を備えている。
【００３３】
マニピュレータ１０は床面に固定される固定ベース１２、鉛直軸回りに回転可能に固定ベース１２に設けられている旋回ベース１３、旋回ベース１３を回転駆動する図示しないモータ、一端側が旋回ベース１３に支持されて軸回りに回転する第１アーム１４、第１アーム１４を回転駆動する図示しないモータ、一端側が第１アーム１４の他端側に支持されて軸回りに回転する第２アーム１５、第２アーム１５を回転駆動する図示しないモータ、第２アーム１５の他端側に設けられ、３自由度（ヨー方向、ロール方向、ピッチ方向）の回転運動が可能な手首部１６、手首部１６の先端側に取り付けられている塗装ガン１７（噴射ガンの一例）などを備えている。
マニピュレータ１０は上述した構成によって合計６自由度を有しており、塗装ガン１７はマニピュレータ１０の動作範囲内であれば任意の位置及び姿勢をとることができる。
【００３４】
図２に示すように、コントローラ１１は制御部１８、記憶部１８Ｄ、及び、インタフェース部１９を備えている。制御部１８はＣＰＵ１８Ａ、ＲＯＭ１８Ｂ、及び、ＲＡＭ１８Ｃを備えている。記憶部１８Ｄにはティーチング装置２によって生成された動作制御データが記憶されており、コントローラ１１はその動作制御データに基づいてマニピュレータ１０の動作を制御する。
【００３５】
次に、図１及び図３を参照してティーチング装置２について説明する。ティーチング装置２は作業者が教示用手吹きガン２０を用いて塗装対象物（噴射対象物の一例）を塗装するときの教示用手吹きガン２０の動作を時系列で検出して手吹き動作データを生成し、生成した手吹き動作データに基づいて塗装用ロボット１の動作制御データを生成する装置である。以降の説明では作業者が教示用手吹きガン２０を用いて塗装対象物を塗装する動作のことを教示動作という。
【００３６】
図１に示すように、ティーチング装置２は教示用手吹きガン２０、教示用手吹きガン２０を撮像する複数のカメラ２１、教示用手吹きガン２０のトリガ２２のオン／オフを検出するトリガセンサ２３、及び、制御装置２４（動作制御データ生成装置及びコンピュータの一例）を備えている。
【００３７】
教示用手吹きガン２０は手吹き塗装ガンに位置及び向きを検出するための複数のマーク２０Ａを貼り付けたものである。教示用手吹きガン２０はホース３１Ａ及び３１Ｂを介して図示しないエア供給装置及び塗料供給装置に接続されている。また、教示用手吹きガン２０はエアの噴射／停止を切り替えるトリガ２２を備えており、トリガ２２が引かれると常閉式の開閉弁が開いてエアとともに塗料（噴射材の一例）が噴射される。
【００３８】
なお、ここでは実際に塗料を噴射可能な手吹き塗装ガンを教示用手吹きガン２０として用いる場合を例に説明するが、教示用手吹きガン２０は塗料を噴射する機能を有していない教示専用の模擬的な手吹き塗装ガンであってもよい。
【００３９】
複数のカメラ２１はマーク２０Ａを撮像して教示用手吹きガン２０のＸＹＺ座標を検出するためのものである。これら複数のカメラ２１はマーク２０Ａを撮像した画像から教示用手吹きガン２０のＸＹＺ座標を特定できる位置関係で配されている。なお、図1ではカメラ２１を３つ示しているが、カメラ２１は３つに限定されるものではない。
【００４０】
トリガセンサ２３はトリガ２２のオン／オフを検出するセンサである。本実施形態に係るトリガセンサ２３は近接センサであり、トリガ２２が引かれるとオンになり、トリガ２２が戻されるとオフになる。なお、トリガセンサ２３は教示用手吹きガン２０にエアを供給するホース３１Ａに取り付けられているエアーフローバルブ４０の開閉を検知することによってトリガ２２のオン／オフを間接的に検出するものであってもよい。
【００４１】
図３に示すように、制御装置２４は処理部２５、記憶部２６、操作部２７、表示部２８、インタフェース部２９などを備えている。処理部２５はＣＰＵ２５Ａ、ＲＯＭ２５Ｂ、及び、ＲＡＭ２５Ｃを備えている。記憶部２６には動作制御データ生成プログラムなどの各種のプログラムが記憶されている。また、記憶部２６には動作制御データ生成プログラムによって生成されるデータなどが記憶される。インタフェース部２９には前述した複数のカメラ２１やトリガセンサ２３が接続されている。
【００４２】
（２）制御装置の処理
制御装置２４の処理部２５（以下、単に制御装置２４という）は、動作制御データ生成プログラムを実行することにより、手吹き動作データを生成する処理、生成した手吹き動作データに基づいて塗装用ロボット１の動作制御データを生成する処理などを実行する。
【００４３】
（２−１）手吹き動作データを生成する処理
手吹き動作データの生成では、初めに制御装置２４のオペレータが操作部２７を操作して制御装置２４に教示動作の開始を通知し、その後に作業者が教示用手吹きガン２０を用いて教示動作を開始するものとする。
制御装置２４は教示動作の開始が通知されると経過時間の計測を開始する。そして、制御装置２４は一定時間間隔で複数のカメラ２１に同時に教示用手吹きガン２０を撮像させ、各カメラ２１によって撮像された画像、その画像を撮像したときの経過時間、トリガセンサ２３がオフからオンに変化した時（すなわち作業者が塗料の噴射を指示した時）の経過時間、トリガセンサ２３がオンからオフに変化した時（すなわち噴射の停止を指示した時）の経過時間などを記憶する。
【００４４】
そして、制御装置２４は複数のカメラ２１によって同時に撮像された複数の画像を一つの画像群とし、各画像群について、その画像群を構成している複数の画像を解析してマーク２０ＡのＸＹＺ方向の位置を認識することにより、教示用手吹きガン２０のＸＹＺ座標を判断する。そして、制御装置２４は判断したＸＹＺ座標を経過時間と対応付けて記憶部２６に記憶する。これにより教示用手吹きガン２０の移動軌跡３０（図４Ａ参照）を経過時間とともに表す移動軌跡データが生成される。移動軌跡データにおいて最初のＸＹＺ座標は原点位置情報の一例である。
【００４５】
また、制御装置２４は、各画像群について、その画像群を構成している複数の画像を解析して複数のマーク２０Ａの相対位置を認識し、その相対位置から教示用手吹きガン２０の向きを判断する。そして、制御装置２４は判断した向きをＸＹＺ座標と対応付けて記憶部２６に記憶する。これにより教示用手吹きガン２０の向きをＸＹＺ座標とともに表す向きデータ（向きを表す情報の一例）が生成される。なお、制御装置２４は判断した向きを経過時間と対応付けて記憶してもよい。
【００４６】
また、制御装置２４は、作業者が塗料の噴射を指示した時の教示用手吹きガン２０のＸＹＺ座標（噴射開始位置Ｐ１）、及び、噴射の停止を指示した時の教示用手吹きガン２０のＸＹＺ座標（噴射停止位置Ｐ２）を記憶部２６に記憶する。これにより、教示用手吹きガン２０の噴射開始位置Ｐ１及び噴射停止位置Ｐ２を表す噴射位置情報が生成される。なお、制御装置２４はＸＹＺ座標に替えて噴射が開始された時の経過時間や噴射が停止された時の経過時間を記憶してもよい。
【００４７】
上述した移動軌跡データ、向きデータ、及び、噴射位置情報は手吹き動作データの一例である。なお、手吹き動作データにはこれらのデータに加えて教示用手吹きガン２０の他の動作を表すデータが含まれてもよい。
【００４８】
（２−２）動作制御データを生成する処理
動作制御データを生成する処理では、制御装置２４は上述した手吹き動作データを修正し、修正した手吹き動作データに基づいて動作制御データを生成する。以下、具体的に説明する。
【００４９】
（２−２−１）噴射区間の移動軌跡の修正
図４Ａに示すように、教示用手吹きガン２０を用いた教示動作では手吹き動作データが表す移動軌跡３０において噴射区間３０Ａが波打ってしまったりガタついてしまったりすることがある。そこで、図４Ｂ又は図６に示すように、制御装置２４は噴射区間３０Ａを直線又は円弧（特定の曲線の一例）に修正する。
【００５０】
具体的には例えば、制御装置２４は手吹き動作データが表す教示用手吹きガン２０の移動軌跡３０、噴射開始位置Ｐ１、及び、噴射停止位置Ｐ２を表示部２８に表示し、オペレータは表示された移動軌跡３０を見て噴射区間３０Ａを直線に修正するか又は円弧に修正するかを判断する。そして、オペレータは操作部２７を操作していずれか判断した形状（直線又は円弧）を指定する。言い換えると、オペレータは噴射区間３０Ａを直線に沿って移動させるか又は円弧に沿って移動させるかを指定する。
【００５１】
オペレータが直線を指定した場合は、制御装置２４は噴射区間３０Ａを噴射開始位置Ｐ１と噴射停止位置Ｐ２とを結ぶ直線（指定された線の一例）に修正する。一方、オペレータが円弧を指定した場合は、制御装置２４は噴射開始位置Ｐ１、噴射停止位置Ｐ２、及び、それらの間にあるＸＹＺ座標から円弧補間などによって円弧（指定された線の一例）のパラメータ（円弧の中心や半径など）を決定し、噴射区間３０Ａをその決定したパラメータの円弧に修正する。
【００５２】
ここで、図４Ａに示す例では噴射区間３０Ａが複数存在している。噴射区間３０Ａが複数存在している場合は、制御装置２４はオペレータが直線を指定した場合は全ての噴射区間３０Ａを直線に修正し、円弧を指定した場合は全ての噴射区間３０Ａを円弧に修正するものとする。
【００５３】
（２−２−２）噴射区間のピッチ修正
図４Ｂに示すように、塗装用ロボット１に塗装対象物を塗装させるとき、３以上の平行な噴射区間３０Ａが等間隔に並ぶように塗装させたい場合がある。しかしながら、図４Ａに示すように、作業者が教示用手吹きガン２０を用いて教示動作を行うとき、３以上の噴射区間３０Ａの間隔が完全に等間隔になるようにすることは一般に困難である。このため、教示用手吹きガン２０の移動軌跡３０においてそれら３以上の噴射区間３０Ａの間隔がばらついてしまう可能性がある。
【００５４】
そこで、制御装置２４は、手吹き動作データが表す移動軌跡３０Ａに３以上の略平行な噴射区間３０Ａが存在しているか否かを判断し、存在していると判断した場合は、図４Ｂに示すように、それら３以上の噴射区間３０Ａの間隔が等間隔になるように移動軌跡３０を修正する。言い換えると、制御装置２４は、手吹き動作データに３以上の噴射位置情報が含まれており、それら３以上の噴射位置情報が表す噴射区間３０Ａが互いに略平行な場合は、それら３以上の噴射区間３０Ａが等間隔になるように噴射位置情報を修正する。本実施形態ではこの修正のことをピッチ修正という。
【００５５】
ここで、２つの噴射区間３０Ａが略平行であるか否かの判断基準は適宜に決定することができる。例えば図４Ａに示すように、ある噴射区間３０Ａの噴射開始位置Ｐ１と別の噴射区間３０Ａの噴射停止位置Ｐ２との間隔をＤａとし、当該ある噴射区間３０Ａの噴射停止位置Ｐ２と当該別の噴射区間３０Ａの噴射開始位置Ｐ１との間隔をＤｂとしたとき、それらの差（＝Ｄａ−Ｄｂ）の絶対値が一定値以下であれば略平行であると判断してもよい。
【００５６】
また、ピッチ修正では、隣り合う２つの噴射区間３０Ａの修正後の間隔Ｈ７（図４Ｂ参照）が、修正前の各噴射区間３０Ａの間隔Ｈ１〜Ｈ６（図４Ａ参照）の平均値になるように修正してもよいし、オペレータが指定した間隔になるように修正してもよい。
【００５７】
また、本実施形態では３以上の噴射区間３０Ａが略平行である場合にピッチ修正を行うが、３以上の噴射区間３０Ａが略平行であり、且つ、概ね等間隔である場合にピッチ修正を行うようにしてもよい。概ね等間隔であるか否かの判断基準は適宜に決定することができる。例えば間隔のばらつきが修正前の各噴射区間３０Ａの間隔Ｈ１〜Ｈ６の平均値の５％以下であれば概ね等間隔であると判断してもよい。
【００５８】
（２−２−３）退避経路の追加
図５Ａ及び図５Ｂでは、塗装対象物３５が立方体状であり、教示用手吹きガン２０を下向きにして塗装対象物３５の上面を塗装した後、塗装対象物３５の角部を中心にして教示用手吹きガン２０を回転させるように教示用手吹きガン２０を移動させることによって教示用手吹きガン２０の向きを後向きに変化させながら塗装対象物３５の前面の噴射開始位置Ｐ１に移動させる場合を示している。この場合、塗装用ロボット１にこの動作をそのまま再現させると塗装ガン１７が塗装対象物３５の角部に当たってしまうことも考えられる。
【００５９】
そこで、図５Ｃに示すように、制御装置２４は、前の噴射区間３０Ａの噴射停止位置Ｐ２から次の噴射区間３０Ａの噴射開始位置Ｐ１までの間に教示用手吹きガン２０の向きが変わった場合は、塗装ガン１７の向きを変える際に塗装ガン１７が塗装対象物３５から離間するように移動軌跡３０を修正する。本実施形態ではこの修正のことを退避経路の追加という。
【００６０】
具体的には例えば、制御装置２４は塗装対象物３５の上面の最後の噴射停止位置Ｐ２で塗装ガン１７が塗装対象物３５から上方向に離間し、その状態で後向きに変化しながら前側に移動し、その後に後側に向かって移動することによって噴射開始位置Ｐ１に位置するように移動軌跡３０を修正する。なお、塗装ガン１７を塗装対象物３５から離間させる距離は制御装置２４が自動で決定してもよいし、オペレータが指定してもよい。
【００６１】
（２−２−４）動作制御データの生成
前述したように制御装置２４は修正した手吹き動作データから動作制御データを生成する。その際に制御装置２４は動作制御データに塗装用ロボット１の塗装ガン１７の移動速度を設定する。以下、具体的に説明する。
【００６２】
教示用手吹きガン２０を用いた手作業での教示では、教示用手吹きガン２０が噴射区間３０Ａを一定速度で移動するとは限らず、速度にばらつきが生じてしまうことがある。教示用手吹きガン２０の速度がばらつくと塗装用ロボット１の塗装ガン１７の速度もばらついてしまうため、塗料のムラや垂れが生じてしまう虞がある。
【００６３】
そこで、制御装置２４は塗装用ロボット１の塗装ガン１７が噴射区間３０Ａを一定速度で移動するように動作制御データを生成する。塗装ガン１７が噴射区間３０Ａを移動する速度は、例えば教示用手吹きガン２０が噴射区間３０Ａを移動したときの平均速度であってもよいし、オペレータが指定した速度であってもよい。
【００６４】
（３）実施形態の効果
以上説明した実施形態１に係る制御装置２４によると、教示用手吹きガン２０を用いて塗装用ロボット１に簡便に動作を教示しつつ、噴射区間３０Ａにおいて塗装用ロボット１の塗装ガン１７の移動経路を直線又は円弧に精度よく一致させることができる。
【００６５】
更に、制御装置２４によると、噴射区間３０Ａを直線に修正するか又は円弧に修正するかの指定を制御装置２４のオペレータから受け付ける。例えば噴射区間３０Ａを直線に修正するか又は円弧に修正するかを制御装置２４が判断するようにすると、本来は直線に修正すべきであるところを円弧に修正してしまうといった誤りが起きる可能性がある。制御装置２４によると、噴射区間３０Ａを直線に修正するか又は円弧に修正するかの指定をオペレータから受け付けるので、そのような誤りを低減することができる。
【００６６】
更に、制御装置２４によると、塗装用ロボット１の塗装ガン１７が噴射区間３０Ａを一定速度で移動するように動作制御データを生成するので、教示用手吹きガン２０が噴射区間３０Ａを移動するときの速度が一定でなくても塗装用ロボット１の塗装ガン１７が噴射区間３０Ａを移動する際には一定速度で移動させることができる。これにより、塗料のムラや垂れが生じてしまうことを抑制することができる。
【００６７】
更に、制御装置２４によると、移動軌跡３０に３以上の略平行な噴射区間３０Ａが存在している場合は、当該３以上の噴射区間３０Ａが等間隔になるように移動軌跡３０を修正するので、作業者が動作を教示する際に３以上の噴射区間３０Ａの間隔がばらついてしまっても塗装用ロボット１に塗装させる際には３以上の略平行な噴射区間３０Ａが等間隔に並ぶように塗装させることができる。
【００６８】
更に、制御装置２４によると、塗装用ロボット１の塗装ガン１７が塗装対象物３５から離間してから向きを変えるように動作制御データを生成するので、塗装ガン１７の向きを変える際に塗装ガン１７が塗装対象物３５に当たってしまう可能性を低減することができる。
【００６９】
＜実施形態２＞
次に、実施形態２を図７によって説明する。
原点位置情報によって表される原点位置から最初の噴射区間３０Ａまでの区間、及び、前の噴射区間３０Ａの噴射停止位置Ｐ２から次の噴射区間３０Ａの噴射開始位置Ｐ１までの区間は、教示用手吹きガン２０が塗料の噴射を停止した状態で移動した噴射停止区間３０Ｂである。生産性を向上させるために噴射停止区間３０Ｂでは塗装用ロボット１の塗装ガン１７を短時間で移動させることが望ましい。
【００７０】
そこで、図７に示すように、実施形態２に係る制御装置２４は、塗装ガン１７が噴射停止区間３０Ｂを移動するとき、次の噴射区間３０Ａの噴射開始位置Ｐ１に達したときに塗装ガン１７の速度が前述した一定速度に達しているという条件の下で、マニピュレータ１０の各軸（すなわち６軸）を並行して動作させるように動作制御データを生成する。なお、塗装ガン１７を短時間で移動させるためには各軸を並行して、且つ、それぞれ極力高速で動作させることが望ましい。
【００７１】
ところで、図７に示すように、マニピュレータ１０の各軸を並行して動作させると噴射停止区間３０Ｂにおいて塗装用ロボット１の塗装ガン１７の移動経路が教示用手吹きガン２０の移動軌跡３０と一致しなくなる可能性がある。しかしながら、一般に塗装ガン１７が噴射停止区間３０Ｂを移動するときの移動経路に制約はないので、教示用手吹きガン２０の移動軌跡３０と一致しなくても問題はないといえる。
【００７２】
以上説明した実施形態２に係る制御装置２４によると、マニピュレータ１０の各軸を並行して動作させない場合に比べて塗装ガン１７を短時間で噴射開始位置Ｐ１まで移動させることができる。これにより、塗装用ロボット１を用いて塗装する際の生産性を向上させることができる。
【００７３】
実施形態２に係る制御装置２４はその他の点において実施形態１に係る制御装置２４と実質的に同一である。
【００７４】
＜実施形態３＞
次に、実施形態３を図８によって説明する。
前述した実施形態１では作業者が塗装用ロボット１に動作を教示するとき教示用手吹きガン２０を用いて実際に塗装対象物３５を塗装する場合を例に説明した。しかしながら、教示用手吹きガン２０を用いた教示方法はこれに限られるものではなく、図８に示すように噴射開始位置Ｐ１や噴射停止位置Ｐ２をポイント指定するといったより簡便な教示方法も可能である。
【００７５】
具体的には例えば、作業者は教示用手吹きガン２０を噴射開始位置Ｐ１に移動させ、その位置でトリガ２２をオンにする。これにより噴射開始位置Ｐ１のＸＹＺ座標が取得される。同様に、作業者は教示用手吹きガン２０を噴射停止位置Ｐ２に移動させ、その位置でトリガ２２をオフにする。これにより噴射停止位置Ｐ２のＸＹＺ座標が取得される。この場合、手吹き動作データには噴射位置情報は含まれるものの、移動軌跡データは含まれないことになる。
【００７６】
そして、制御部２４は、ポイント指定された噴射開始位置Ｐ１から噴射停止位置Ｐ２までの噴射区間３０Ａを、オペレータが指定した線（直線又は円弧）に沿って塗装ガン１７が移動するように動作制御データを生成する。なお、この場合は噴射開始位置Ｐ１と噴射停止位置Ｐ２との間にＸＹＺ座標がないので円弧補間を行うことはできない。このため、この場合は円弧のパラメータ（円弧の中心や半径など）をオペレータが指定してもよい。あるいは、噴射開始位置Ｐ１と噴射停止位置Ｐ２との間に円弧補間を行うためのポイントを教示用手吹きガン２０によってポイント指定してもよい。
【００７７】
ところで、実施形態３においても塗装ガン１７が噴射区間３０Ａを移動するときに塗装ガン１７を一定速度で移動させる。この場合、実施形態１のように手吹き動作データに移動軌跡データが含まれている場合は移動軌跡データから塗装ガン１７の加速を開始する位置（言い換えると加速区間）を特定することができるが、移動軌跡データが含まれていない場合は加速区間を特定することができない。
【００７８】
同様に、実施形態３においても噴射区間３０Ａの後に塗装ガン１７を停止状態まで減速するが、移動軌跡データが含まれていない場合は塗装ガン１７を停止させる位置（言い換えると減速区間）を特定することができない。
【００７９】
そこで、図８に示すように、実施形態３に係る制御装置２４は、噴射区間３０Ａの前に加速区間Ｓ１を追加するとともに、噴射区間３０Ａの後に減速区間Ｓ２を追加する。これにより、噴射区間３０Ａの前に塗装ガン１７を加速するように、且つ、噴射区間３０Ａの後に塗装ガン１７を減速するように動作制御データが生成される。
【００８０】
なお、上述した加速区間Ｓ１の長さは塗装ガン１７の速度が噴射区間３０Ａの略直前で目標速度（噴射区間３０Ａを一定速度で移動させるときの速度）に達する長さであることが望ましい。このようにすると塗装ガン１７が噴射区間３０Ａに達する前に塗装ガン１７を目標速度まで加速できるとともに、塗装ガン１７が目標速度に達した位置から噴射開始位置Ｐ１までの無駄な移動距離を低減することができる。
減速区間Ｓ２の長さについては、本実施形態では加速区間Ｓ１の長さと同じ長さにするものとする。なお、減速区間Ｓ２の長さは必ずしも加速区間Ｓ１の長さと同じでなくてもよい。
【００８１】
以上説明した実施形態３に係る制御装置２４によると、噴射区間の前後に加速区間Ｓ１及び減速区間Ｓ２を設定するので、オペレータが加速区間Ｓ１や減速区間Ｓ２を設定する場合に比べてオペレータの負担を軽減できる。また、オペレータが加速区間Ｓ１や減速区間Ｓ２を設定する場合は無駄な移動距離が少ない適切な長さの加速区間Ｓ１や減速区間Ｓ２を設定することが難しい場合があるが、制御装置２４によるとオペレータが設定する場合に比べて無駄な移動距離が少ない適切な長さの加速区間Ｓ１及び減速区間Ｓ２をより確実に設定することができる。
【００８２】
実施形態３に係る制御装置２４はその他の点において実施形態１あるいは実施形態２に係る制御装置２４と実質的に同一である。
【００８３】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００８４】
（１）上記実施形態では特定の曲線として円弧を例に説明した。一般に塗装ガン１７を円弧以外の曲線に沿って移動させることは稀であるが、必要であれば特定の曲線は円弧以外であってもよい。
また、上記実施形態では特定の曲線が円弧に固定されている場合を例に説明したが、特定の曲線は複数の曲線の中からオペレータが指定した曲線であってもよい。また、オペレータが特定の曲線の形状を任意に設定できるようにしてもよい。
【００８５】
（２）上記実施形態ではオペレータが直線を指定した場合は全ての噴射区間３０Ａを直線に修正し、円弧を指定した場合は全ての噴射区間３０Ａを円弧に修正する場合を例に説明した。これに対し、直線に修正するか円弧に修正するかの指定を噴射区間３０Ａ毎に受け付けてもよい。
また、上記実施形態では直線に修正するか円弧に修正するかをオペレータが指定する場合を例に説明したが、直線に修正するか円弧に修正するかを制御装置２４が自動で判断するようにしてもよい。また、その場合、コンピュータが判断した結果をオペレータが確認し、判断が間違っているようであればオペレータが修正できるようにしてもよい。
【００８６】
（３）上記実施形態ではピッチ修正を行うか否かを制御装置２４が判断する場合を例に説明したが、ピッチ修正を行うか否かをオペレータが指定するようにしてもよい。
【００８７】
（４）上記実施形態では複数のカメラ２１によって教示用手吹きガン２０のＸＹＺ座標や向きを検出する場合を例に説明したが、ＸＹＺ座標や向きを検出する方法は適宜に選択可能である。例えば教示用手吹きガン２０に６自由度位置姿勢センサを取り付け、そのセンサの検出結果からＸＹＺ座標や向きを検出してもよい。また、カメラ２１と６自由度位置姿勢センサとを両方備え、一方の検出結果を他方の検出結果によって補足する構成であってもよい。
【００８８】
（５）上記実施形態では動作制御データ生成プログラムが「手吹き動作データを生成する処理」を実行する場合を例に説明した。しかしながら、動作制御データ生成プログラムは少なくとも「動作制御データを生成する処理」を実行すればよく、「手吹き動作データを生成する処理」は他のプログラムによって実行されてもよい。
【００８９】
（６）上記実施形態では教示用手吹きガン２０が直線又は円弧（特定の曲線）に沿って移動させられる場合を例に説明したが、教示用手吹きガン２０は、曲面が組み合わされた複雑な形状の塗装対象物を塗装する動作を教示することも可能である。ただし、その場合は噴射区間の移動軌跡３０Ａを単純な直線や円弧に修正することはできないので、移動軌跡３０Ａが滑らかになる所謂スムージングだけを行って動作制御データを生成してもよい。
【００９０】
（７）上記実施形態では噴射材として塗料を例に説明したが、噴射材は塗料に限られるものではなく、例えば離型剤や潤滑剤などの液体材料、シーリングなどであってもよい。また、噴射材は塗料などのような液材に限定されるものではなく、例えば粉体であってもよい。
【符号の説明】
【００９１】
１…塗装用ロボット、１７…塗装ガン（噴射ガンの一例）、２０…教示用手吹きガン、２４…制御装置（動作制御データ生成装置及びコンピュータの一例）、２５…処理部、３０…移動軌跡、３０Ａ…噴射区間、３０Ｂ…噴射停止区間、３５…塗装対象物、Ｓ１…加速区間、Ｓ２…減速区間
【図１】
2018001381.tif 000003
【図２】
2018001381.tif 000004
【図３】
2018001381.tif 000005
【図４Ａ】
2018001381.tif 000006
【図４Ｂ】
2018001381.tif 000007
【図５Ａ】
2018001381.tif 000008
【図５Ｂ】
2018001381.tif 000009
【図５Ｃ】
2018001381.tif 000010
【図６】
2018001381.tif 000011
【図７】
2018001381.tif 000012
【図８】
2018001381.tif 000013