以下、図面を参照して一実施形態について説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
図1に示される塗装設備1は、塗装対象物(以下、「ワークW」という。)に対する塗装作業の少なくとも一部を自動実行するための設備である。塗装設備1は、塗装作業に加えて、塗装の作業結果の記録及び監視を実行してもよい。ワークWは、いずれの工業製品又はその一部であってもよく、具体例としては、自動車のボディ及び携帯電話のケース等が挙げられる。塗装設備1は、塗装システム2と、制御システム4(塗装制御システム)とを備える。
[塗装システム]
塗装システム2は、ワークWに対する塗装を実行するシステムである。塗装システム2は、ロボット10と、塗装装置40とを備える。ロボット10及び塗装装置40の一部の機器は、塗装作業を行うために区画された領域(塗装ブース内)に配置されていてもよい。
ロボット10は、例えば6軸の垂直多関節ロボットであり、基部11と、旋回部12と、第1アーム13と、第2アーム14と、手首部15と、アクチュエータ31,32,33,34,35,36とを有する。
基部11は、床面又は直動機構を有する台座等に固定されてもよく、上記塗装ブースを形成する側壁又は天井に設置されてもよい。なお、ロボット10が、ワークWの姿勢を調節しつつ、ワークWを保持する保持部を含んでもよく、基部11は、その保持部に設けられてもよい。旋回部12は基部11上に設けられており、鉛直な軸線Ax1まわりに回転可能である。すなわちロボット10は、軸線Ax1まわりに旋回部12を回転可能とする関節21を有する。
第1アーム13は、旋回部12から延出しており、軸線Ax1に交差(例えば直交)する軸線Ax2まわりに回転可能である。すなわちロボット10は、軸線Ax2まわりに第1アーム13を回転可能とする関節22を有する。なお、ここでの交差は、所謂立体交差のように互いにねじれの関係にある状態での交差を含む。以下においても同様である。
第2アーム14は、第1アーム13の先端部から延出しており、軸線Ax1に交差(例えば直交)する軸線Ax3まわりに回転可能である。すなわちロボット10は、軸線Ax3まわりに第2アーム14を回転可能とする関節23を有する。軸線Ax3は軸線Ax2と平行であってもよい。第2アーム14の先端部は、第2アーム14の延出方向に沿って軸線Ax3に交差(例えば直交)する軸線Ax4まわりに回転可能である。すなわちロボット10は、軸線Ax4まわりに第2アーム14の先端部を回転可能とする関節24を有する。
手首部15は、第2アーム14の先端部から延出しており、軸線Ax4に交差(例えば直交)する軸線Ax5まわりに回転可能である。すなわちロボット10は、軸線Ax5まわりに手首部15を回転可能とする関節25を有する。手首部15の先端部には動作対象のツールが設けられており、当該ツールは、手首部15の延出方向に沿って軸線Ax5に交差(例えば直交)する軸線Ax6まわりに回転可能である。すなわちロボット10は、軸線Ax6まわりに動作対象のツールを回転可能とする関節26を有する。動作対象のツールは、塗料を吐出するガンとして機能する後述の塗装機器42である。
アクチュエータ31,32,33,34,35,36は、関節21,22,23,24,25,26をそれぞれ駆動する。例えばアクチュエータ31は軸線Ax1まわりに旋回部12を回転させ、アクチュエータ32は軸線Ax2まわりに第1アーム13を回転させ、アクチュエータ33は軸線Ax3まわりに第2アーム14を回転させる。アクチュエータ34は軸線Ax4まわりに第2アーム14の先端部を回転させ、アクチュエータ35は軸線Ax5まわりに手首部15を回転させ、アクチュエータ36は軸線Ax6まわりに動作対象のツールを回転させる。
なお、ロボット10は、動作対象のツールの位置及び姿勢(ワークWに対する位置及び姿勢)を所望の範囲で変更し得る限りいかようにも構成可能である。例えばロボット10は、上述した6軸の垂直多関節ロボットに冗長軸を追加した7軸の垂直多関節ロボットであってもよい。
塗装装置40は、ロボット10と連動してワークWに塗料を供給する装置である。塗装装置40は、いかなる方式で塗料を吐出してもよく、その具体例としては、スプレーガンを用いる方式、ベルカップ(回転霧化頭)を有する所謂ベルガンを用いる方式、及び塗料カートリッジが装着されるベルガンを用いる方式等が挙げられる。塗装装置40は、例えば、塗装機器42と、駆動用機器44と、周辺機器46とを有する。
塗装機器42は、塗料を吐出する塗装ガンである。塗装機器42は、ロボット10の手首部15の先端に取り付けられている。これにより、塗装機器42のワークWに対する位置及び姿勢が、ロボット10の動作によって変更される。塗装機器42がベルガンである場合、塗装機器42は、例えば、ベルカップと、ベルカップを回転させるエア駆動のモータとを含む。
駆動用機器44は、塗料が吐出されるように塗装機器42を駆動する機器である。塗装装置40は、複数の駆動用機器44を有してもよい。複数の駆動用機器44は、例えば、塗料を塗装機器42に供給する機器、塗装機器42の塗料を吐出させるための流体を供給する機器、モータにエアを供給する機器、及び塗装機器42及びワークWの少なくとも一方に電圧を印加する機器を含む。駆動用機器44の一部は、塗装ブース内に設けられてもよく、例えば、ロボット10のアームに設けられてもよい。駆動用機器44の他の一部は、塗装ブース外に設けられてもよい。
周辺機器46は、塗装機器42及び駆動用機器44による塗装作業を補助するための機器である。塗装装置40は、複数の周辺機器46を有してもよい。複数の周辺機器46は、例えば、カートリッジベルガンに装着されるカートリッジを搬送する機器、塗装ブース内の温度又は湿度を調節する機器、及び塗装ブース内の気流を調節する機器を含む。
塗装機器42、駆動用機器44、及び周辺機器46は、制御システム4によって制御対象となる各種の機器を有する。制御対象となる機器には、少なくとも、制御システム4による動作指令に基づき動作する機器が含まれる。制御対象となる機器には、制御システム4にセンサ値を出力する機器、及び制御システム4による動作指令に基づき制御を実行する機器用コントローラが含まれてもよい。本開示では、制御システム4によって制御対象となる機器を総称して「構成機器50」と表記する。すなわち、塗装装置40は、複数の構成機器50を有する。
構成機器50の具体例としては、バルブ、電空レギュレータ、サーボモータ、電圧を印加する電源を制御するコントローラ、圧力センサ、回転センサ(ファイバセンサ)、及び流量センサが挙げられる。バルブは、ソレノイドバルブ又はエアオペレーションバルブであってもよく、その具体例としては、塗料の吐出状態(オン・オフ)を切り替えるバルブ、エア等の流体の供給状態(オン・オフ)を切り替えるバルブが挙げられる。バルブは、例えば、開状態(閉状態)への遷移を示す制御指令値に応じて、開状態(閉状態)に遷移する。電空レギュレータは、例えば、制御指令値に応じて、ベルガン内のモータを回転させるためのエアの圧力を調節する。塗装装置40は、同種の複数の構成機器50を有してもよく、それらの構成機器50が異なる用途に用いられてもよい。以上の構成機器50は、一例であり、制御システム4によって制御対象となるものであれば、いかなる種類の機器であってもよい。
[制御システム]
制御システム4は、ワークWに対して塗装を実行するように塗装システム2を制御し、塗装システム2による塗装作業の結果を記録及び監視するシステムである。制御システム4は、図1に示されるように、例えば、ロボット制御装置60と、塗装制御装置70と、設定装置80と、監視装置90とを備える。塗装制御装置70には、ロボット制御装置60、設定装置80、及び監視装置90が通信可能に接続されている。以下、それぞれの装置の詳細について説明する。
(ロボット制御装置)
ロボット制御装置60は、ロボット10を制御するコントローラである。ロボット制御装置60は、塗装装置40により吐出される塗料がワークWに付着するようにロボット10を制御する。ロボット制御装置60は、機能上の構成(以下、「機能モジュール」という。)として、例えば、図2に示されるように、動作制御部112と、指令送信部114とを有する。これらの機能モジュールが実行する処理は、ロボット制御装置60が実行する処理に相当する。
動作制御部112は、塗装装置40の塗装機器42が吐出する塗料がワークWに供給されるように(付着するように)、ワークWに対する塗装機器42の位置及び姿勢を変更させる。一例では、ワークWには、塗料が付着される領域の軌跡を表す複数の塗装経路(塗装パス)が予め設定されている。動作制御部112は、塗装機器42から吐出される塗料の付着領域が塗装経路に沿って移動するように、塗装機器42の位置及び姿勢を変更させる。詳細には、動作制御部112は、塗装経路に沿って塗料が供給されるように定められた塗装機器42の目標位置及び目標姿勢に基づき、逆運動学演算によりアクチュエータ31~36の目標角度を算出する。そして、動作制御部112は、アクチュエータ31~36の角度が算出した目標角度に追従するように各アクチュエータを制御する。
指令送信部114は、塗装制御装置70に対して吐出指令を送信する。例えば、一の塗装経路において塗装を開始する際に(直前に)、指令送信部114は、吐出の開始を示す指令を塗装制御装置70に送信する。一の塗装経路に対する塗装が開始され、その塗装を終了させる前に、指令送信部114は、吐出の停止を示す指令を塗装制御装置70に送信する。吐出指令には、塗装に使用する色を示す情報、及び塗料の吐出量のレベルを示す情報の少なくとも一方が含まれてもよい。
(塗装制御装置)
塗装制御装置70は、塗装装置40を制御するコントローラである。塗装制御装置70は、複数種類の塗装装置40を制御することが可能となるように構成されている。複数種類の塗装装置40は、互いに異なる構成機器50を有する。すなわち、一の種類の塗装装置40が有する複数の構成機器50は、他の種類の塗装装置40が有する複数の構成機器50と異なっている。一例では、複数種類の塗装システム2では、少なくとも塗装機器42の種別が互いに異なっており、異なる方式で塗装が実行される。
以下では、塗装制御装置70が3種類の塗装装置40を制御可能な場合を例示し、3種類の塗装装置40それぞれを、塗装装置40A、塗装装置40B、及び塗装装置40Cと表記する。塗装装置40A、塗装装置40B、及び塗装装置40Cは、互いに異なる種類の装置である。塗装装置40Aが有する複数の構成機器50(以下、「構成機器50A」という。)は、塗装装置40Bが有する複数の構成機器50(以下、「構成機器50B」という。」と異なっている。塗装装置40Aが有する複数の構成機器50Aは、塗装装置40Cが有する複数の構成機器50(以下、「構成機器50C」という。)と異なっている。本開示において、複数の構成機器が塗装装置の間で互いに異なる場合には、複数の構成機器の全てが異なる場合と、複数の構成機器の一部が異なる場合とが含まれる。
塗装制御装置70は、使用する装置(制御対象の塗装装置)の情報、及び、その装置に応じた設定情報を設定装置80から取得し、それらの情報に基づいて、制御対象の塗装装置を制御する。塗装制御装置70は、例えば、機能モジュールとして、動作制御部122と、複数の送信データ格納部124と、複数の受信データ格納部126と、設定受信部128と、設定保持部132と、ロボット情報取得部134と、データ処理部136とを有する。これらの機能モジュールが実行する処理は、塗装制御装置70が実行する処理に相当する。なお、図2では、複数の送信データ格納部124のうちの一つの送信データ格納部124が示され、複数の受信データ格納部126のうちの一つの受信データ格納部126が示されている。
動作制御部122は、設定装置80によって設定された情報に基づいて、複数種類の塗装装置40のうちの制御対象の一の塗装装置40(以下、「制御対象装置」という。)を制御する。制御対象装置は、設定装置80によって指令された塗装装置40であり、実際に動作させる対象の種別の塗装装置40である。動作制御部122は、例えば、設定装置80によって設定された1以上の制御プログラムに従って、制御対象装置を制御する。動作制御部122は、塗装機器42の位置及び姿勢を変更するロボット10を制御するロボット制御装置60(指令送信部114)からの吐出指令に応じて、ロボット10と連動するように塗装機器42を制御する。
複数の送信データ格納部124は、制御対象装置への送信データを格納する(一時的に保持する)。複数の送信データ格納部124には、動作制御部122から構成機器50への制御指令値が送信データとして格納される。具体的には、設定装置80によって設定された情報に基づいて、複数の送信データ格納部124には、制御対象装置が有する複数の構成機器50(制御指令値が送信される複数の構成機器50)がそれぞれ割り付けられている。すなわち、一の送信データ格納部124には、いずれかの構成機器50が割り付けられおり、その構成機器50への制御指令値が格納される。送信データ格納部124に格納された送信データは、制御対象装置の対応する構成機器50に送信される。
複数の受信データ格納部126は、制御対象装置からの受信データを格納する(一時的に保持する)。複数の受信データ格納部126には、構成機器50から取得されるセンサ値が受信データとして格納される。具体例には、設定装置80によって設定された情報に基づいて、複数の受信データ格納部126には、制御対象装置が有する複数の構成機器50(センサ値を出力する複数の構成機器50)がそれぞれ割り付けられている。すなわち、一の受信データ格納部126には、いずれかの構成機器50が割り付けられており、その構成機器50からのセンサ値が格納される。制御対象装置の構成機器50から出力されたセンサ値は、対応する受信データ格納部126に送信される。
以上の送信データ格納部124及び受信データ格納部126は、制御対象装置との間でデータの送信と受信とを行う通信部として機能する。動作制御部122は、制御対象装置を制御する際に、制御指令値を送信データ格納部124に書き込み、センサ値を受信データ格納部126から読み出す。具体的には、動作制御部122は、制御対象装置の一の構成機器50に制御指令値を出力する際に、その構成機器50に割り付けられた送信データ格納部124に制御指令値を書き込む。動作制御部122は、制御対象装置の一の構成機器50からセンサ値を受信する際に、その構成機器50に割り付けられた受信データ格納部126からセンサ値を読み込む。
設定受信部128は、複数種類の塗装装置40のうちのいずれが制御対象装置に指定されたかを示す指定情報と、設定装置80によって設定された設定情報とを設定装置80から取得する。設定情報は、複数の送信データ格納部124のうちの制御対象装置が有する各構成機器50への制御指令値を書き込む格納部を示す情報を含む。設定情報は、複数の受信データ格納部126のうちの制御対象装置が有する各構成機器50からのセンサ値を読み出す格納部を示す情報を含む。設定情報は、データの取得(収集)を行う対象の項目(以下、「対象データ項目」という。)を示す情報を含む。設定情報は、ユーザによって設定されたパラメータの値を含む。設定情報は、制御対象装置に応じて設定された1以上の制御プログラムを含んでもよい。設定保持部132は、設定装置80から取得した指定情報及び設定情報を保持する。
ロボット情報取得部134は、制御対象装置の塗装機器42と連動するロボット10の動作状態を示すデータ(以下、「ロボットデータ」という。)をロボット制御装置60から取得する。ロボット情報取得部134は、所定の周期ごとに、当該周期におけるロボット10の動作状態を示すロボットデータを、ロボット制御装置60の動作制御部112から取得してもよい。ロボット情報取得部134は、一つの塗装経路に塗装が実行される度に、当該塗装経路に対する塗装を実行した際のロボット10の動作状態を示すロボットデータを、ロボット制御装置60の動作制御部112から取得してもよい。
データ処理部136は、制御対象装置の塗装機器42の動作状態を示すデータ(以下、「塗装データ」という。)と、ロボット情報取得部134が取得したロボットデータとを対応付けて記憶部に記憶させる。塗装データは、設定情報によって示される対象データ項目に対応するデータを含んでもよい。データ処理部136によってデータが記憶される記憶部は、塗装制御装置70の内部に設けられてもよく、塗装制御装置70の外部に設けられてもよい。一例では、データ処理部136は、塗装データとロボットデータとを対応付けたうえで、それらのデータを監視装置90が有する記憶部(後述の記憶部162)に記憶させる。
データ処理部136は、所定の周期ごとに、当該周期においてロボット情報取得部134が得たロボットデータと、当該周期における塗装機器42の動作状態を示す塗装データとを、その周期におけるデータとして対応付けてもよい。データ処理部136は、一つの塗装経路に塗装が実行される度に、当該塗装経路についてのロボットデータと、当該塗装経路に対する塗装を実行した際の塗装機器42の動作状態を示す塗装データとを、その塗装経路に対する塗装実行時のデータとして対応付けてもよい。
(設定装置)
設定装置80は、ユーザ入力に基づき、塗装制御装置70による制御についての各種設定を行うコンピュータである。ユーザは、塗装制御装置70によって制御対象装置を制御させてワークWに対する塗装を実行する前に、設定装置80を用いて制御のための各種設定を行う。制御システム4は、設定装置80に接続された入力デバイス82及びモニタ84を有してもよい。
入力デバイス82は、設定装置80(コンピュータ本体)に情報を入力するための装置である。より詳細には、入力デバイス82は、ユーザによる設定を示す入力情報を設定装置80に入力する。入力デバイス82は、所望の情報を入力可能であればいかなるものであってもよく、その具体例としてはキーボード、操作パネル、及びマウス等が挙げられる。
モニタ84は、設定装置80(コンピュータ本体)から出力された情報を表示するための装置である。モニタ84に設定装置80からの情報が表示されることで、ユーザがその情報を確認できる。モニタ84は、画面上に情報の表示が可能なものであればいかなるものであってもよく、その具体例としては液晶パネル等が挙げられる。なお、設定装置80、入力デバイス82、及びモニタ84が、一つのコンピュータ装置を構成してもよい。
設定装置80は、例えば、機能モジュールとして、装置指定部142と、パラメータ設定部144と、対応情報保持部146と、画像生成部148と、実行プログラム設定部152と、プログラム保持部154と、設定送信部156とを有する。これらの機能モジュールが実行する処理は、設定装置80が実行する処理に相当する。
装置指定部142は、複数種類の塗装装置40のうちのいずれを使用するのかを示すユーザ入力に基づいて、複数種類の塗装装置40のいずれか1つを制御対象装置に指定する。一例では、装置指定部142は、塗装装置40Aを使用することを示すユーザ入力があると、塗装装置40Aを制御対象装置に指定する。同様に、装置指定部142は、塗装装置40B(塗装装置40C)を使用することを示すユーザ入力があると、塗装装置40B(塗装装置40C)を制御対象装置に指定する。装置指定部142は、モニタ84上に表示される画像(以下、「入力画像300」という。)へのユーザ入力に基づき、制御対象装置を指定してもよい。
パラメータ設定部144は、装置指定部142による指定結果に応じてユーザが設定可能なパラメータを特定する。以下では、ユーザが設定可能であると特定されたパラメータを「設定パラメータ」と称する。パラメータ設定部144は、制御対象装置に指令された装置に応じて複数の設定パラメータを特定してもよい。設定パラメータは、制御対象装置を制御するための種々の条件等を定める変数であり、値(引数)の設定が可能となっている。設定パラメータの値は、物理量であってもよく、アドレス(番地)であってもよく、カテゴリ又はグループを示す項番であってもよい。
制御対象装置が異なると、ユーザが設定可能である設定パラメータも異なる。すなわち、塗装装置40Aに応じた設定パラメータが存在し、塗装装置40Bに応じた設定パラメータが存在し、塗装装置40Cに応じた設定パラメータが存在する。パラメータ設定部144は、複数種類の塗装装置40それぞれと設定可能なパラメータとが予め対応付けられた対応情報を参照することで、装置指定部142による指定結果に応じた設定パラメータを特定してもよい。
パラメータ設定部144は、パラメータの設定値を示すユーザ入力に基づいて、制御対象装置の指定に応じて特定された設定パラメータの値を設定する。パラメータ設定部144は、モニタ84上に表示される入力画像300へのユーザ入力に基づいて、設定パラメータの値を設定してもよい。パラメータ設定部144は、対象データ項目を設定する項目設定部としても機能する。パラメータ設定部144(項目設定部)は、装置指定部142による指定結果に応じてユーザが選択可能な複数種類のデータ項目を特定する。パラメータ設定部144(項目設定部)は、データを取得する対象を示すユーザ入力に基づいて、複数種類のデータ項目からデータの取得を行う対象データ項目を設定する。
対応情報保持部146は、上記対応情報を保持する。対応情報保持部146が保持する対応情報は、塗装装置40Aに応じて設定可能なパラメータと、塗装装置40Bに応じて設定可能なパラメータと、塗装装置40Cに応じて設定可能なパラメータとが予め定められたテーブルであってもよい。
画像生成部148は、ユーザ入力を受け付けるための入力画像300をモニタ84上に生成する(表示させる)。画像生成部148は、装置指定部142による指定結果に応じて、設定パラメータの値を入力するための入力画像300を生成してもよい。画像生成部148は、例えば、制御対象装置の指定結果によって、表示内容が異なる入力画像300を生成する。一例では、画像生成部148は、塗装装置40Aに応じた設定パラメータの値が入力可能な入力画像300を生成し、塗装装置40Bに応じた設定パラメータの値が入力可能な入力画像300を生成する。また、画像生成部148は、塗装装置40Cに応じた設定パラメータの値が入力可能な入力画像300を生成する。
実行プログラム設定部152は、装置指定部142による指定結果とパラメータ設定部144による設定結果とに基づいて、1以上の制御プログラムを設定する。実行プログラム設定部152は、例えば、複数種類の塗装装置40について予め設定された複数の基本プログラムから、指定された塗装装置40に応じた基本プログラムを取得する。そして、実行プログラム設定部152は、パラメータ設定部144による設定結果に基づいて、指定された塗装装置40に応じた基本プログラムを修正することで、1以上の制御プログラムを設定する。
一例では、基本プログラムごとに、制御対象装置が有し、制御対象となる構成機器50が定められている。また、基本プログラムでは、各構成機器50に対する制御内容の大枠(主要な内容)が規定されている。例えば、基本プログラムでは、各種の制御内容が定められており、どの構成機器50からセンサ値を取得するか、いずれの構成機器50に制御指令値を送信するか、ロボット制御装置60から吐出指令を受けた際に、どの構成機器50を制御するか等が定められている。基本プログラムには、ユーザによって設定可能なパラメータ(上記設定パラメータの一部)が含まれていてもよい。この場合、基本プログラムごとに、制御対象の装置が異なるので、その基本プログラム上で設定可能なパラメータも異なっている。
実行プログラム設定部152は、パラメータ設定部144による設定結果(設定結果の一部)を、制御対象装置に応じた基本プログラムに反映させることで、1以上の制御プログラムを生成してもよい。又は、実行プログラム設定部152は、パラメータ設定部144による設定結果に応じて、基本プログラムに含まれるサブルーチンを選択又は生成することで、1以上の制御プログラムを生成してもよい。
プログラム保持部154は、複数種類の塗装装置40にそれぞれ対応付けられた複数の基本プログラムを保持する。プログラム保持部154は、例えば、塗装装置40Aに対応付けられた基本プログラム、塗装装置40Bに対応付けられた基本プログラム、及び塗装装置40Cに対応付けられた基本プログラムを保持する。これらの基本プログラムは、設定装置80による設定段階の前に予め作成されていてもよい。あるいは、プログラム保持部154は、設定装置80による設定段階で(各種パラメータの設定作業の直前に)作成された基本プログラムを保持してもよい。この場合、プログラム保持部154は、1種類の塗装装置40(制御対象装置)に応じた基本プログラムを保持し、他の種類の塗装装置40に応じた基本プログラムを保持しなくてもよい。
設定送信部156は、装置指定部142による指定結果とパラメータ設定部144による設定結果とを塗装制御装置70に送信する。設定送信部156は、例えば、装置指定部142によって指定された対象制御装置を示す指定情報と、パラメータ設定部144によって設定された設定パラメータの設定を示す設定情報とを、塗装制御装置70の設定受信部128に送信する。設定送信部156は、実行プログラム設定部152によって設定された1以上の制御プログラムを設定受信部128に送信してもよい。設定送信部156は、ユーザからの送信指示に基づいて、これらの情報を設定受信部128に送信してもよい。
設定送信部156が、指定情報及び設定情報を設定受信部128に送信することで、塗装制御装置70の設定が完了する。塗装制御装置70の動作制御部122は、少なくともパラメータ設定部144による設定結果に基づいて、指定情報によって示される制御対象装置を制御する。動作制御部122は、実行プログラム設定部152によって設定された1以上の制御プログラムに従って制御対象装置を制御してもよい。1以上の制御プログラムにはパラメータ設定部144による設定結果が反映されているので、1以上の制御プログラムに従って制御対象装置を制御することは、その設定結果に基づき制御対象装置を制御することに相当する。
監視装置90は、塗装制御装置70から情報を取得することで、塗装装置40による塗装作業の結果を記録し、塗装装置40の塗装機器42による塗装の状態(品質)を監視するコンピュータである。監視装置90は、例えば、機能モジュールとして、記憶部162と、状態判定部164と、位置推定部166と、報知部168と、データ蓄積部172と、入力情報取得部174と、アルゴリズム構築部176と、アルゴリズム保持部178とを有する。これらの機能モジュールが実行する処理は、監視装置90が実行する処理に相当する。
記憶部162は、塗装機器42の動作状態を示す塗装データと、ロボット10の動作状態を示すロボットデータとが対応付けられたデータ(以下、「対応データ」という。)を記憶する。記憶部162は、データ処理部136から送信される対応データを記憶する。記憶部162に記憶されている対応データでは、所定の周期ごとに又は塗装経路ごとに、塗装データとロボットデータとが互いに対応付けられている。
状態判定部164は、記憶部162に記憶された塗装データ及びロボットデータの少なくとも一方に基づいて、塗装機器42による塗装の状態が正常であるか否かを判定する。状態判定部164は、例えば、塗装データとロボットデータとに基づいて、塗装機器42から供給された塗料のワークW上の状態が正常であるか否かを判定する。状態判定部164は、対応データにおいて周期ごとの塗装データとロボットデータとに基づいて、その周期での塗装の状態が正常であるか否かを判定してもよい。状態判定部164は、対応データにおいて塗装経路ごとの塗装データとロボットデータとに基づいて、その塗装経路での塗装の状態が正常であるか否かを判定してもよい。
一例では、状態判定部164は、塗装データ及びロボットデータの少なくとも一方を示すデータ(以下、「動作データ」という。)の入力に応じて、塗装機器42による塗装の状態が正常であるか否かの判定結果を出力する判定アルゴリズムを用いて、塗装の状態が正常であるか否かを判定してもよい。判定アルゴリズムは、動作データに含まれる各データと閾値との比較結果に応じた判定結果を出力するように構築されていてもよい。判定アルゴリズムは、動作データに含まれる各種データを入力データとして、当該入力データに応じた判定結果を出力データとして出力するように機械学習により構築された判定モデルであってもよい。なお、動作データは、塗装データとロボットデータとの両方を含むデータであってもよい。
位置推定部166は、状態判定部164が塗装機器42による塗装の状態が正常ではないと判定した場合に、記憶部162に記憶されたロボットデータに基づいて、塗装機器42による塗装の状態が正常ではないと推定されるワークW上の位置を算出する。本開示において、ワークW上の塗装の状態が正常ではないと判定することは、塗装の状態(塗装の品質)が異常であると判定することに相当する。
位置推定部166は、ロボットデータに基づいて、異常であると判定されたときの、塗装機器42からのワークWへの塗料の付着領域の位置を算出する。塗装機器42のワークWに対する位置及び姿勢に応じて、その時のワークW上の塗料の付着領域の位置は定まるので、位置推定部166は、ロボットデータ(アクチュエータ31~36の動作指令又は動作結果)から付着領域の位置を算出することができる。
報知部168は、状態判定部164による判定結果と、位置推定部166による推定結果とを報知する。報知部168は、状態判定部164によって塗装の状態が異常であると判定された場合に、塗装の状態が異常であることを示す情報と、位置推定部166が推定(算出)した位置を示す情報とを報知する。監視装置90には、不図示のモニタが接続されていてもよく、報知部168は、そのモニタ上に、塗装の状態が異常であることを示す情報と、位置推定部166が推定した位置を示す情報とを表示してもよい。
データ蓄積部172は、塗装データ及びロボットデータの少なくとも一方を示す動作データと、当該動作データに基づく塗装機器42による塗装の状態(の評価結果)とを対応付けた実績情報を蓄積する。データ蓄積部172は、判定アルゴリズムを構築する段階(フェーズ)において実績情報を蓄積する。動作データに基づく塗装機器42による塗装の状態は、ワークW上の塗装の状態の評価結果であり、ユーザにより評価される。例えば、動作データに基づく塗装機器42による塗装の状態は、ユーザにより正常又は異常のいずれか一方に評価(分類)されている。データ蓄積部172は、複数のワークWに対する塗装を実行して得られる塗装データ及びロボットデータ及びユーザによる評価結果から、上記実績情報を蓄積してもよい。
入力情報取得部174は、塗装機器42による塗装の実際の状態について、ユーザによる評価結果を取得する。監視装置90は、不図示の入力デバイスが接続されていてもよく、入力情報取得部174は、その入力デバイスからの入力情報に基づいて、ワークW上の塗装の実際の状態についての評価結果を取得する。
アルゴリズム構築部176は、データ蓄積部172が蓄積した上記実績情報に基づいて判定アルゴリズムを構築する。アルゴリズム構築部176は、実績情報を学習データとして機械学習を行うことで、動作データの入力応じて塗装の状態が正常か否かの判定結果を出力する判定モデルを構築してもよい。アルゴリズム構築部176は、制御対象装置ごとに、その装置に応じた判定アルゴリズム(判定モデル)を構築してもよい。アルゴリズム保持部178は、アルゴリズム構築部176が構築した判定アルゴリズムを保持する。
図3には、ロボット制御装置60、塗装制御装置70、設定装置80、及び監視装置90それぞれのハードウェア構成の一例が示されている。ロボット制御装置60は、回路210を備える。回路210は、少なくとも1つのプロセッサ212と、メモリ214と、ストレージ216と、ドライバ218と、通信ポート219とを含む。ストレージ216は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばフラッシュメモリ)である。
メモリ214は、ストレージ216からロードしたプログラム及びプロセッサ212による演算結果等を一時的に記憶する。プロセッサ212は、メモリ214と協働して上記プログラムを実行することで、ロボット制御装置60の各機能モジュールを構成する。ドライバ218は、プロセッサ212からの指令に応じてアクチュエータ31~36に駆動電力を出力する。通信ポート219は、プロセッサ212からの指令に応じて、塗装制御装置70との間で無線、有線、又はネットワーク回線を介して通信を行う。
塗装制御装置70は、回路220を備える。回路220は、少なくとも1つのプロセッサ222と、メモリ224と、ストレージ226と、入出力ポート228と、通信ポート229と、タイマ232とを含む。ストレージ226は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばフラッシュメモリ)である。ストレージ226は、ロボット制御装置60からの指令に応じてロボット10と連動するように、塗装機器42を制御することと、塗装機器42と連動するロボット10の動作状態を示すロボットデータをロボット制御装置60から取得することと、塗装機器42の動作状態を示す塗装データと、取得したロボットデータとを対応付けて記憶部に記憶させることとを、コンピュータに実行させるためのプログラムを記憶している。
メモリ224は、ストレージ226からロードしたプログラム及びプロセッサ222による演算結果等を一時的に記憶する。プロセッサ222は、メモリ224及び入出力ポート228と協働して上記プログラムを実行することで、塗装制御装置70の各機能モジュールを構成する。入出力ポート228は、プロセッサ222からの指令に応じて塗装装置40の複数の構成機器50等との間で電気信号の入出力を行う。入出力ポート228は、構成機器50との間で電気信号の入出力を行うための複数のレジスタ(入出力レジスタ)を含んでもよい。複数の入出力レジスタは、各構成機器50との間で送受信を行うデータを一時的に保持し、上述の複数の送信データ格納部124及び複数の受信データ格納部126を構成してもよい。
通信ポート229は、プロセッサ222からの指令に応じて、ロボット制御装置60、設定装置80、及び監視装置90それぞれとの間で無線、有線、又はネットワーク回線を介して通信を行う。タイマ232は、プロセッサ222からの指令により所定周期のクロックパルスをカウントして経過時間を計測する。
設定装置80は、回路240を備える。回路240は、一つ又は複数のプロセッサ242と、メモリ244と、ストレージ246と、入出力ポート248と、通信ポート249とを含む。ストレージ246は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばフラッシュメモリ)である。ストレージ246は、複数種類の塗装装置40のうちのいずれを使用するのかを示すユーザ入力に基づいて、複数種類の塗装装置40のいずれか1つを制御対象装置に指定することと、制御対象装置の指定結果に応じてユーザが設定可能な設定パラメータを特定し、パラメータの設定値を示すユーザ入力に基づいて設定パラメータの値を設定することと、制御対象装置の指定結果と設定パラメータの設定結果とを塗装制御装置70に送信することと、をコンピュータに実行させるためのプログラムを記憶している。
メモリ244は、ストレージ246からロードしたプログラム及びプロセッサ242による演算結果等を一時的に記憶する。プロセッサ242は、メモリ244と協働して上記プログラムを実行することで、設定装置80の各機能モジュールを構成する。入出力ポート248は、プロセッサ242からの指令に応じて入力デバイス82及びモニタ84等との間で電気信号の入出力を行う。通信ポート249は、プロセッサ242からの指令に応じて、塗装制御装置70との間で無線、有線、又はネットワーク回線を介して通信を行う。
監視装置90は、回路260を備える。回路260は、少なくとも1つのプロセッサ262と、メモリ264と、ストレージ266と、入出力ポート268と、通信ポート269とを含む。ストレージ266は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばフラッシュメモリ)である。
メモリ264は、ストレージ266からロードしたプログラム及びプロセッサ262による演算結果等を一時的に記憶する。プロセッサ262は、メモリ264と協働して上記プログラムを実行することで、監視装置90の機能モジュールを構成する。入出力ポート268は、プロセッサ262からの指令に応じて監視装置90用の入力デバイス及びモニタ等との間で電気信号の入出力を行う。通信ポート269は、プロセッサ262からの指令に応じて、塗装制御装置70との間で無線、有線、又はネットワーク回線を介して通信を行う。
なお、回路210、回路220、回路240、及び回路260のうちの少なくとも一つの回路は、必ずしもプログラムにより各機能を構成するものに限られない。例えば、上記少なくとも一つの回路は、専用の論理回路又はこれを集積したASIC(Application Specific Integrated Circuit)により少なくとも一部の機能を構成してもよい。
[塗装制御装置の設定方法]
続いて、塗装制御装置70の設定方法の一例として、設定装置80によって実行される一連の処理について説明する。この一連の処理は、少なくとも、複数種類の塗装装置40のうちのいずれを使用するのかを示すユーザ入力に基づいて、複数種類の塗装装置40のいずれか1つを制御対象装置に指定することと、制御対象装置の指定結果に応じてユーザが設定可能な設定パラメータを特定し、パラメータの設定値を示すユーザ入力に基づいて設定パラメータの値を設定することと、制御対象装置の指定結果と設定パラメータの設定結果とを、塗装制御装置70に送信することとを含む。
図4は、設定装置80によって実行される一連の処理を示すシーケンス図である。この一連の処理では、ユーザからの設定開始の要求を受け付けると(ステップS01)、設定装置80がステップS02を実行する。ステップS02では、例えば、画像生成部148が、ユーザ入力を受け付けるための入力画像300をモニタ84上に生成する(表示させる)。図5には、モニタ84上に表示される入力画像300の一例が示されている。
入力画像300は、各種の設定画面を切り替えるための複数のタブを含む。図5には、タブの一つであるシステム設定用のタブ302aが選択された状態(又は初期状態)の入力画像300が示されている。タブ302aが選択された状態の入力画像300では、使用する塗装装置40の種別を選択するための選択画像310が表示される。
次に、使用する装置のユーザによる選択結果を受け付けると(ステップS03)、設定装置80は、ステップS04を実行する。ステップS04では、例えば、装置指定部142が、選択画像310においてプルダウン形式で示される複数種類の塗装装置40からユーザの操作によって選択された装置(種別)を、対象制御装置に指定する。
次に、設定装置80は、ステップS05を実行する。ステップS05では、例えば、パラメータ設定部144が、ステップS04で指定された対象制御装置の種別に応じて、ユーザによる設定が可能な設定パラメータを特定する。一例では、パラメータ設定部144は、対応情報保持部146が保持する対応情報(対応テーブル)を参照することで、ステップS04で指定された対象制御装置の種別に応じた設定パラメータを特定する。そして、画像生成部148は、設定パラメータの特定結果に応じて、特定された設定パラメータの設定が可能となるように入力画像300の表示内容を切り替える。
設定パラメータには、各種のパラメータが含まれる。設定パラメータには、例えば、通信パラメータが含まれる。通信パラメータは、対象制御装置との間の接続状態を設定するパラメータであり、送信パラメータと受信パラメータとを含む。送信パラメータは、複数の送信データ格納部124のうちの制御対象装置が有する構成機器50への制御指令値を書き込む格納部を特定するためのパラメータである。受信パラメータは、複数の受信データ格納部126のうちの制御対象装置が有する構成機器50からのセンサ値を読み出す格納部を特定するためのパラメータである。
一例では、タブ302aが選択された状態の入力画像300には、通信パラメータを設定するための入出力設定画像320が含まれている。入出力設定画像320は、指定された制御対象装置が有する構成機器の一覧と、アドレス(通信パラメータの設定値)を入力する欄とを含む。画像生成部148は、選択画像310において選択される塗装装置40の種別に応じて入出力設定画像320の表示内容を切り替える。塗装装置40Aが選択(指定)された場合の入出力設定画像320の表示内容は、塗装装置40B(塗装装置40C)が選択された場合の入出力設定画像320の表示内容と異なる。
図6(a)には、塗装装置40Aが選択された場合の入出力設定画像320の一例が示されており、図6(b)には、塗装装置40Bが選択された場合の入出力設定画像320の一例が示されている。塗装装置40Aと塗装装置40Bとの間では、それらの装置が有する複数の構成機器50が異なるので、構成機器の一覧に表示されている機器が互いに異なっている。この場合、ユーザは、設定装置80を操作することで、塗装装置40Aを使用する際には、塗装装置40Aが有する複数の構成機器50Aについての入出力の設定が可能となり、塗装装置40Bを使用する際には、塗装装置40Bが有する複数の構成機器50Bについての入出力の設定が可能となる。
次に、ユーザからの設定値の入力を受け付けると(ステップS06)、設定装置80は、ステップS07を実行する。ステップS07では、パラメータ設定部144が、パラメータの設定値を示すユーザ入力に基づいて設定パラメータの設定し、その設定情報が保持される。パラメータ設定部144は、入出力設定画像320に表示されている各構成機器50についてのアドレスの入力情報に基づいて、上記通信パラメータを設定してもよい。
一例では、ユーザは、使用する予定の塗装装置40と塗装制御装置70との間の接続状態及び通信仕様を設定前に把握している。すなわち、ユーザは、使用予定の塗装装置40が有する各構成機器50が、どの入出力レジスタを介して塗装制御装置70と通信可能であるかを設定前に把握している。図6(a)及び図6(b)に示されるように、ユーザは、入出力設定画像320において、通信パラメータの設定値として、各構成機器50に対応する入出力レジスタのアドレスを入力する。これにより、各構成機器50に対して入出力レジスタが割り付けられる。
塗装装置40Aが選択された場合と、塗装装置40Bが選択された場合とで、異なる構成機器に対して、同じ入出力レジスタのアドレスが設定されている。すなわち、使用する塗装装置40の種別が異なっても、少なくとも一部の入出力レジスタについて共通に使用することができ、複数種類の塗装装置40の制御が可能となっている。なお、ユーザは、各構成機器50に対応するアドレスの設定に代えて、各構成機器50について、構成機器50の通信仕様、先頭アドレス、及びデータサイズを通信パラメータとして設定してもよい。
ステップS06,S07において設定される設定パラメータは、上記通信パラメータに限られない。設定パラメータには、例えば、動作パラメータが含まれる。動作パラメータは、制御対象装置が有する構成機器50の動作を規定するためのパラメータである。動作パラメータは、例えば、上述した基本プログラムにおいて設定値の変更が可能な動作を規定する。動作パラメータは、制御対象装置の塗装機器42から吐出される塗料の吐出条件を含んでもよい。また、動作パラメータは、制御対象装置の塗装機器42が吐出可能な塗料の色ごとの吐出条件を含んでもよい。吐出条件は、例えば、塗料の吐出量である。
図7には、動作パラメータの設定用のタブ302bが選択された状態の入力画像300の一例が示されている。タブ302bが選択された状態の入力画像300では、設定する動作パラメータを選択するための項目選択画像330と、動作パラメータの値を入力するための動作設定画像340とが含まれる。項目選択画像330では、制御対象装置に応じた複数種の動作パラメータが選択可能である。すなわち、塗装装置40Aが指定された際の項目選択画像330で選択可能な動作パラメータは、塗装装置40B(塗装装置40C)が指定された際の項目選択画像330で選択可能な動作パラメータと異なる。
図7に示される例では、項目選択画像330において指定された動作パラメータ(項目)によって、動作設定画像340が入れ替えられる。ユーザが項目選択画像330において「吐出量(レベル1)」を選択した際には、ユーザは、動作設定画像340においてレベル1についての吐出量を動作パラメータとして設定できる。ユーザは、塗料の色ごとに吐出量を動作パラメータとして設定できる。なお、レベル1は、吐出量のレベルを表しており、ロボット制御装置60からの吐出指令に含まれる吐出レベルに対応する。例えば、ロボット制御装置60から、吐出レベルがレベル1である吐出指令を受けた際には、そのレベル1について設定した吐出量で塗料が吐出されるように制御対象装置が制御される。
設定パラメータには、異常検知パラメータが含まれる。異常検知パラメータは、制御対象装置の異常を検知するレベルを定めるためのパラメータである。一例では、ユーザは、構成機器50の一つである圧力センサによる圧力の検出値が低下したことを検知する閾値を、異常検知パラメータの値として設定する。ユーザは、構成機器50の一つであるモータの回転数が上限又は下限に達したことを検知する閾値を、異常検知パラメータの値として設定する。
図示は省略されているが、異常検知を設定するためのタブ302cが選択された入力画像300では、異常検知パラメータの設定が可能な設定画像が表示される。この設定画像では、制御対象装置に応じた複数種の異常検知パラメータ(項目)の設定が可能である。すなわち、塗装装置40Aが指定された際の設定画像で設定可能な異常検知パラメータは、塗装装置40B(塗装装置40C)が指定された際の設定画像で設定可能な異常検知パラメータと異なる。
ステップS06,S07では、設定パラメータに加えて、塗装データとして収集を行う対象データ項目の設定が行われる。図8には、対象データ項目を設定するためのタブ302dが選択された状態の入力画像300の一例が示されている。タブ302dが選択された状態の入力画像300では、対象データ項目を設定するための収集設定画像370が表示される。
収集設定画像370では、制御対象装置に応じた複数種のデータ項目(データ項目の一覧)が表示され、それらの複数種のデータ項目のいずれを対象データ項目にするかの設定が可能となっている。すなわち、制御対象装置に応じた選択可能なデータ項目の一覧が表示される。塗装装置40Aが指定された際の収集設定画像370で表示される複数種のデータ項目は、塗装装置40B(塗装装置40C)が指定された際の収集設定画像370で表示される複数種のデータ項目と異なる。
ユーザは、収集設定画像370で表示されている複数種のデータ項目それぞれを、データ収集の対象にするか否かを設定する。図8に示される例では、「収集(Y/N)」の欄において、「Y」が入力されたデータ項目が対象データ項目に設定され、「N」が入力されたデータ項目がデータの収集が継続されないデータ項目に設定される。パラメータ設定部144(項目設定部)は、収集設定画像370へのユーザからの入力に基づいて、データの取得を継続して監視装置90に送信する対象データ項目を設定する。
図4に戻り、ユーザからのアップロードの要求を受け付けると(ステップS08)、設定装置80は、ステップS09を実行する。図5に示されるように、タブ302aが選択された入力画像300には、アップロードの要求を受けるためのボタン390が含まれる。例えば、ユーザがボタン390を選択(クリック)することで、設定装置80は、アップロードの要求を受ける。
ステップS09では、例えば、実行プログラム設定部152が、ステップS03,S04での制御対象装置の指定結果と、ステップS06,S07での設定パラメータの設定結果とに基づいて、1以上の制御プログラムを設定する。一例では、実行プログラム設定部152は、複数種類の塗装装置40について予め設定された複数の基本プログラムから、制御対象装置の指定結果に応じた基本プログラムを取得する。そして、実行プログラム設定部152は、動作パラメータ及び異常検知パラメータの設定結果に応じて、取得した基本プログラムを修正することで(例えば、基本プログラムにおいて引数を設定することで)、1以上の制御プログラムを設定する。
次に、設定装置80は、ステップS10を実行する。ステップS10では、例えば、設定送信部156が、各種の設定情報を塗装制御装置70に送信する。一例では、設定送信部156は、S02,S03での制御対象装置の指定結果、ステップS06,S07での設定パラメータの設定結果、及びステップS09で設定した1以上の制御プログラムを、塗装制御装置70の設定受信部128に送信する。
各種の設定情報の送信を受けると、塗装制御装置70は、ステップS11を実行する。ステップS11では、例えば、塗装制御装置70の設定保持部132が、ステップS10で受信した各種の設定情報を保持する。以上の一連の処理により、塗装制御装置70は、設定装置80によって設定された設定情報に従った制御対象装置に対する制御の実行が可能な状態となる。
[塗装制御装置による制御方法]
続いて、塗装制御装置70による制御対象装置に対する制御方法の一例として、設定装置80による設定後に塗装制御装置70によって実行される一連の処理について説明する。この一連の処理は、少なくとも、ロボット制御装置60からの吐出指令に応じてロボット10と連動するように制御対象装置の塗装機器42を制御することと、ロボット10の動作状態を示すロボットデータをロボット制御装置60から取得することと、塗装機器42の動作状態を示す塗装データと、取得したロボットデータとを対応付けて記憶部に記憶させることとを含む。
図9は、一つの塗装経路(塗装パス)に対する塗装を実行する際の塗装制御装置70によって実行される一連の処理を示すフローチャートである。この一連の処理では、塗装制御装置70が、最初にステップS21を実行する。ステップS21では、例えば、塗装制御装置70の動作制御部122が、ロボット制御装置60の指令送信部114から吐出開始の指令を受けるまで待機する。ロボット制御装置60の指令送信部114は、塗装対象の経路の開始位置に対応する位置に塗装機器42を配置した後に、吐出開始の指令を塗装制御装置70に送信してもよい。ロボット制御装置60から送信される吐出開始の指令には、吐出させる塗料の色を示す情報、及び、塗料の吐出量のレベルを示す情報が含まれてもよい。
次に、塗装制御装置70は、ステップS22を実行する。ステップS22では、例えば、動作制御部122が、制御対象装置の塗装機器42からの塗料の吐出が開始されるように、制御対象装置のいくつかの構成機器50を制御する。動作制御部122は、ステップS22の開始後、ステップS21で取得した吐出指令、設定された1以上の制御プログラム、及び設定パラメータの設定値に従って、制御対象装置のいくつかの構成機器50を制御する。
動作制御部112は、制御対象装置の構成機器50を動作させる際に、複数の送信データ格納部124のうちの送信パラメータによって設定された値によって特定される格納部(例えば、その構成機器50に対応付けられた入出力レジスタ)に制御指令値を書き込むことを実行する。動作制御部112は、制御対象装置の構成機器50からセンサ値を取得する際に、複数の受信データ格納部126のうちの受信パラメータによって設定された値によって特定される格納部(例えば、その構成機器50に対応付けられた入出力レジスタ)からセンサ値を読み出すことを実行する。
動作制御部112は、制御対象装置を制御する際に、動作パラメータに設定された値に従って制御対象装置が有する構成機器50を動作させることを実行する。動作制御部122は、例えば、動作パラメータとして設定された吐出条件に従って、塗装機器42から塗料が吐出されるように制御対象装置が有する構成機器50を動作させる。
動作制御部122は、ステップS22の開始後、制御対象装置の動作状態の監視を継続してもよい。動作制御部122は、例えば、制御対象装置を制御する際に、異常検知パラメータに設定された値に従って制御対象装置の異常を検知する。一例では、動作制御部122は、異常検知の判定を行うセンサ値が、異常検知パラメータとして設定された閾値を超えた場合又は下回った場合に、制御対象装置の動作状態が異常であると検知する。
ステップS22の開始後、ロボット制御装置60は、対象の塗装経路に沿って塗料が供給されるように制御対象装置の塗装機器42の位置及び姿勢をアクチュエータ31~36により変更させる。この際、動作制御部122は、制御対象装置の塗装機器42からの塗料の吐出を継続させているので、ロボット10及び塗装機器42が連動して対象の塗装経路に対して塗料を供給する。
次に、塗装制御装置70は、ステップS23,S24を実行する。ステップS23では、例えば、塗装制御装置70の動作制御部122が、ロボット制御装置60の指令送信部114から吐出停止の指令を受けるまで待機する。ロボット制御装置60の指令送信部114は、塗装対象の経路の終了位置に対応する位置に塗装機器42が配置される際に、吐出停止の指令を塗装制御装置70に送信する。ステップS24では、例えば、動作制御部122が、制御対象装置の塗装機器42からの塗料の吐出が停止されるように、制御対象装置のいくつかの構成機器50を制御する。
ステップS25では、例えば、ロボット情報取得部134が、対象の塗装経路でのロボット10の動作状態を示すロボットデータをロボット制御装置60から取得する。ロボットデータは、塗装機器42と連動した際のロボット10に含まれる装置(例えば、アクチュエータ31~36)の動作指令を示すデータを含んでもよい。ロボットデータは、塗装機器42と連動した際のロボット10に含まれる装置(例えば、アクチュエータ31~36)の動作結果を示すデータを含んでもよい。
動作指令は、例えば、塗装機器42の目標位置及び目標姿勢に対応するアクチュエータ31~36の目標角度、及び塗装機器42の目標速度を含む。動作結果は、塗装機器42の位置及び姿勢に対応するアクチュエータ31~36の角度の検出値、及び塗装機器42の移動速度を含む。ロボット情報取得部134は、塗装対象のワークWの種別を示すワーク情報をロボット制御装置60から取得してもよい。ロボット情報取得部134は、ワーク情報に加えて又は代えて、ワークWの個体(ID)を示す情報、及び塗装経路を特定する情報の少なくとも一方をロボット制御装置60から取得してもよい。
次に、塗装制御装置70は、ステップS26を実行する。ステップS26では、例えば、データ処理部136が、ステップS21~S23において塗料の吐出を実行した際の塗装機器42の動作状態を示す塗装データと、ステップS25において取得したロボットデータとを対応付けて、監視装置90の記憶部162に記憶させる。データ処理部136は、ロボットデータに加えて、上記ワーク情報、ワークWの個体情報、及び塗装経路の特定情報の少なくとも1つを塗装データに更に対応付けて記憶部162に記憶させてもよい。
データ処理部136は、設定装置80によって設定された対象データ項目に対応するデータ(その対象データ項目について取得したデータ)を含む塗装データをロボットデータと対応付けたうえで記憶部162に送信してもよい。以上により、一つの塗装経路での一連の処理が終了する。塗装制御装置70は、同じワークWにおける他の塗装経路に対する塗料の供給を行う際に、及び他のワークWにおける各塗装経路に対する塗料の供給を行う際に、ステップS21~S26の一連の処理を同様に実行してもよい。
[監視装置による監視方法]
続いて、監視装置90による制御対象装置の実行結果の監視方法の一例として、塗料の供給後に監視装置90によって実行される一連の処理について説明する。図10は、一つの塗装経路(塗装パス)に対する塗装が実行された後に、監視装置90によって実行される一連の処理を示すフローチャートである。
この一連の処理では、監視装置90が、最初にステップS31を実行する。ステップS31では、例えば、状態判定部164が、一つの塗装経路についての対応データ(塗装データとロボットデータとが対応付けられたデータ)が記憶部162に記憶されるまで待機する。
次に、監視装置90は、ステップS32を実行する。ステップS32では、例えば、状態判定部164が、ステップS31の直前に記憶部162に記憶された塗装データとロボットデータとに基づいて、塗装の状態が正常であるか否かを判定する。一例では、状態判定部164は、アルゴリズム保持部178に保持された判定アルゴリズムに、塗装データ及びロボットデータを入力し、判定アルゴリズムからの出力結果を得ることで、塗装の状態が正常であるか否かを判定する。
次に、監視装置90は、ステップS33を実行する。ステップS33では、例えば、位置推定部166(又は報知部168)が、ステップS32での判定結果が異常であるか否かを判断する。ステップS33において、判定結果が異常であると判断された場合(ステップS33:YES)、監視装置90は、ステップS34,S35を実行する。
ステップS34では、例えば、位置推定部166が、ステップS32の直前に記憶部162に記憶されたロボットデータに基づいて、制御対象装置の塗装機器42による塗装の状態が異常であると推定される位置(ワークWにおける位置)を算出する。一例では、位置推定部166は、ロボットデータに対応付けられた塗装経路を示す情報によって、塗装の状態が異常であると推定される塗装経路の位置を算出する。又は、位置推定部166は、ロボットデータに基づいて、塗装経路上での塗料の状態の異常箇所を推定する。位置推定部166は、異常と推定される位置を算出する際に、ワークWの種別を示すワーク情報を利用してもよい。
ステップS35では、例えば、報知部168が、ワークW上の塗装の状態が異常であることを示す情報と、ステップS34で算出された推定位置を示す情報とを報知する。報知部168は、これらの情報を、監視装置90に接続されたモニタ上に表示してもよい。これにより、ユーザ(作業員)は、ワークWに対する塗装作業において異常が発生した可能性があること、及び、異常が生じたとされる位置を把握することができる。監視装置90によって異常が検知された後に、作業員による塗装の補修、又はロボット10及び塗装装置40による塗装の再実行又は補修が実行されてもよい。
一方、ステップS33において、塗装の状態が正常であると判断された場合(ステップS33:NO)、監視装置90は、ステップS34,S35を実行しない。以上により、一つの塗装経路での一連の処理が終了する。監視装置90は、同じワークWにおける他の塗装経路に対する塗料の供給が行われた際に、及び他のワークWにおける各塗装経路に対する塗料の供給が行われた際に、ステップS31~S35の一連の処理を同様に実行してもよい。監視装置90は、一つのワークWについての全ての塗装作業が完了した後に、各塗装経路についてステップS31~S35の一連の処理を実行してもよく、所定の周期ごとにステップS31~S35の一連の処理を実行してもよい。
図4、図9及び図10にそれぞれ示される上述の一連の処理は一例であり、適宜変更可能である。上記一連の処理において、塗装制御装置70、設定装置80、及び監視装置90のそれぞれは、一のステップと次のステップとを並列に実行してもよく、上述した例とは異なる順序で各ステップを実行してもよい。塗装制御装置70、設定装置80、及び監視装置90のそれぞれは、いずれかのステップを省略してもよく、いずれかのステップにおいて上述の例とは異なる処理を実行してもよい。
制御システム4の上記構成は一例であり、塗装制御装置70は、設定装置80が有する機能モジュールの少なくとも一部を有していてもよい。例えば、図11に示されるように、設定装置80が、実行プログラム設定部152及びプログラム保持部154を有さずに、塗装制御装置70が実行プログラム設定部152及びプログラム保持部154を有してもよい。
図11に示される例では、塗装制御装置70の設定受信部128が、設定送信部156から制御対象装置の指定情報と設定パラメータの設定情報とを受けると、実行プログラム設定部152が、これらの指定情報及び設定情報に基づいて1以上の制御プログラムを設定する。例えば、図4に示される一連の処理において、ステップS08のアップロードの要求の後に、設定情報の送信を含むステップS10が実行される。その後、塗装制御装置70が有する実行プログラム設定部152によって、制御プログラムの設定を含むステップS09が実行される。なお、ステップS08のアップロードの要求前に、設定装置80は、ステップS04での制御対象装置の指定に応じて、設定に必要な情報を塗装制御装置70に要求することで、設定パラメータ等のユーザが設定可能な項目を示す情報を取得してもよい。
図5~図8に示される入力画像300は一例であり、設定すべき内容に応じて適宜変更可能である。基本プログラムに設定がない構成機器50(例えば、周辺機器46を構成する機器)が接続されてもよく、その場合に、設定装置80において当該構成機器50に対する制御を規定するプログラムが作製されてもよい。設定装置80は、ロボット制御装置60によるロボット10の制御内容を設定可能であってもよい。上述の例では、塗装方式が異なる複数種類の塗装装置40が示されているが、複数種類の塗装装置40は、同じ塗装方式で異なる品番(型式)の少なくとも2種類の塗装装置40を含んでもよい。
[実施形態の効果]
以上の実施形態に係る塗装制御装置70は、塗装機器42の位置及び姿勢を変更するロボット10を制御するロボット制御装置60からの指令に応じてロボット10と連動するように、塗装機器42を制御する動作制御部122と、塗装機器42と連動するロボット10の動作状態を示すロボットデータをロボット制御装置60から取得するロボット情報取得部134と、塗装機器42の動作状態を示す塗装データと、ロボット情報取得部134が取得したロボットデータとを対応付けて記憶部に記憶させるデータ処理部136と、を備える。
塗装制御装置70は、制御対象である塗装機器42を制御する際に塗装に関する種々の塗装データを利用する。そのため、塗装データにロボットデータを対応付けて記憶させる際に、塗装データをロボット制御装置に送信してロボット制御装置が対応付けるよりも、塗装を実行した際のロボットの動作に関するデータをロボット制御装置から取得したほうが、データの受け渡しが簡素化される。また、塗装制御装置70は、塗装制御装置70及びロボット制御装置60が個別に別の装置にデータを送信し、その別の装置がデータを対応付けるよりも、塗装機器42を制御した際のロボット10のロボットデータを取得すれば容易に対応付けすることができる。従って、塗装データにロボットデータを対応付けて記憶させる際のデータ処理の効率化に有用である。
以上の実施形態に係る塗装制御装置70は、互いに異なる構成機器50を有する複数種類の塗装装置40のうちのいずれが制御対象装置に指定されたかを示す指定情報と、指定情報に基づき特定された複数種類のデータ項目のうちの、データの取得を行う対象データ項目を示す設定情報とを取得する設定受信部128を更に備えてもよい。データ処理部136は、設定情報によって示される対象データ項目に対応するデータを含む塗装データと、ロボットデータとを対応付けて記憶部に記憶させてもよい。この場合、設定されたデータ項目について塗装データを収集できるので、異なる種別の塗装装置40の間で、使用する種別に応じて収集する塗装データを変えることができる。従って、塗装制御装置の汎用化に有用である。
以上の実施形態において、ロボットデータは、塗装機器42と連動した際のロボット10に含まれる装置の動作指令を示すデータを含んでもよい。この場合、記憶したロボットデータによって、塗装データが得られた際のロボットの動作を把握することが可能となる。
以上の実施形態に係る塗装制御装置70において、ロボット情報取得部134は、塗装対象のワークWの種別を示すワーク情報をロボット制御装置60から取得してもよい。データ処理部136は、塗装データにワーク情報を更に対応付けて記憶部に記憶させてもよい。記憶したデータによって、塗装データが得られた際のワークの種別を把握することが可能となる。
以上の実施形態に係る制御システム4は、塗装制御装置70と、ロボット制御装置60と、記憶部162を有し、記憶部162に記憶された塗装データとロボットデータとに基づいて、塗装機器42による塗装の状態を監視する監視装置90と、を備える。この場合、塗装機器42の動作状態及びロボット10の動作状態を示すデータからワークW上の塗装の状態が監視されるので、塗装品質の安定化に有用である。
以上の実施形態に係る制御システム4において、監視装置90は、記憶部162に記憶された塗装データ及びロボットデータの少なくとも一方に基づいて、塗装機器42による塗装の状態が正常であるか否かを判定する状態判定部164を更に有してもよい。この場合、塗装機器42の動作状態及びロボット10の動作状態を示すデータからワークW上の塗装の状態が正常であるか否かの判定が行われるので、塗装品質の安定化に更に有用である。
以上の実施形態に係る制御システム4において、監視装置90は、状態判定部164が塗装機器42による塗装の状態が正常ではないと判定した場合に、記憶部162に記憶されたロボットデータに基づいて、塗装機器42による塗装の状態が正常ではないと推定されるワークW上の位置を算出する位置推定部166と、状態判定部164による判定結果と、位置推定部166による推定結果とを報知する報知部168とを更に有してもよい。この場合、塗装が実行された後のワークW上において、塗装が異常である箇所の早期発見に有用である。
以上の実施形態に係る制御システム4において、監視装置90は、塗装データ及びロボットデータの少なくとも一方を示す動作データと、当該動作データに基づく塗装機器42による塗装の状態とを対応付けた実績情報を蓄積するデータ蓄積部172と、データ蓄積部172が蓄積した実績情報に基づいて、動作データの入力に応じて塗装機器42による塗装の状態が正常であるか否かの判定結果を出力する判定アルゴリズムを構築するアルゴリズム構築部176とを更に有してもよい。この場合、過去の実績情報に基づき塗装状態の判定が行われることで、判定の高精度化に有用である。
以上の実施形態に係る設定装置80は、互いに異なる構成機器50を有する複数種類の塗装装置40のうちのいずれを使用するのかを示すユーザ入力に基づいて、複数種類の塗装装置40のいずれか1つを制御対象装置に指定する装置指定部142と、装置指定部142による指定結果に応じてユーザが選択可能な複数種類のデータ項目を特定し、データを取得する対象を示すユーザ入力に基づいて、複数種類のデータ項目からデータの取得を行う対象データ項目を設定する項目設定部(パラメータ設定部144)と、装置指定部142による指定結果と項目設定部による設定結果とを、複数種類の塗装装置40の制御が可能な塗装制御装置70に送信する設定送信部156と、を備える。この設定装置80では、制御対象装置の指定結果に応じて選択可能なデータ項目が特定され、そのデータ項目からデータ取得の対象となる項目が設定される。そのため、ユーザは、異なる種別の塗装装置の間で、同様の手順でデータ収集の内容を設定することができる。従って、データ収集のための設定作業の簡素化に有用である。