(57)【要約】【課題】比較的少ないリソースで予知保全を実現する技術を提供する。【解決手段】制御システム１は、ワーク１５５を加工するための複数の可動部の動作を監視するものであり、複数の可動部に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御する制御装置１００と、ワーク１５５を検査する検査装置２００とを備え、制御装置１００は、検査装置２００の検査結果と複数の可動部に対する指令値とに基づき、複数の可動部のうち、検査結果の異常原因となった可動部を特定する特定部１６０と、特定部１６０によって特定された検査結果の異常原因となった可動部に関するデータを収集して保存する保存部１７０とを含む。【選択図】図１
2020024484.tif 000002
【特許請求の範囲】
【請求項１】
対象物に所定の処理を施すための複数の可動部の動作を監視する制御システムであって、
前記複数の可動部に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御する制御装置と、
前記対象物を検査する検査装置とを備え、
前記制御装置は、
前記検査装置の検査結果と前記複数の可動部に対する前記指令値とに基づき、前記複数の可動部のうち、前記検査結果の異常原因となった可動部を特定する特定部と、
前記特定部によって特定された前記検査結果の異常原因となった可動部に関するデータを収集して保存する保存部とを含む、制御システム。
【請求項２】
前記特定部は、前記検査結果の異常原因となった可動部に加えて、当該可動部の動作期間を特定し、
前記保存部は、前記特定部によって特定された前記動作期間において、前記検査結果の異常原因となった可動部に関するデータを収集して保存する、請求項１に記載の制御システム。
【請求項３】
前記複数の可動部は、複数のロボットのいずれかに含まれる可動軸であり、
前記特定部は、前記複数のロボットのうち、前記検査結果の異常原因となったロボットを特定し、
前記保存部は、前記特定部によって特定された前記検査結果の異常原因となったロボットに含まれる前記可動軸に関するデータを収集して保存する、請求項１または請求項２に記載の制御システム。
【請求項４】
前記保存部は、前記検査結果の異常原因となったロボットに含まれる前記可動軸のうち、トルク値が異常である可動軸のデータを収集して保存する、請求項３に記載の制御システム。
【請求項５】
前記複数の可動部は、複数のロボットのいずれかに含まれるエンドエフェクタであり、
前記特定部は、前記複数のロボットのうち、前記検査結果の異常原因となったロボットを特定し、
前記保存部は、前記特定部によって特定された前記検査結果の異常原因となったロボットに含まれる前記エンドエフェクタに関するデータを収集して保存する、請求項１〜請求項４のいずれか１項に記載の制御システム。
【請求項６】
前記複数の可動部は、前記対象物に前記所定の処理を施すロボットの周辺装置であり、
前記特定部は、前記検査結果の異常原因となった前記周辺装置を特定し、
前記保存部は、前記特定部によって特定された前記検査結果の異常原因となった前記周辺装置に関するデータを収集して保存する、請求項１〜請求項５のいずれか１項に記載の制御システム。
【請求項７】
対象物に所定の処理を施すための複数の可動部に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御するとともに当該動作を監視する制御装置であって、
前記対象物を検査する検査装置の検査結果と前記複数の可動部に対する前記指令値とに基づき、前記複数の可動部のうち、前記検査結果の異常原因となった可動部を特定する特定部と、
前記特定部によって特定された前記検査結果の異常原因となった可動部に関するデータを収集して保存する保存部とを備える、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物に所定の処理を施すための複数の可動部の動作を監視する制御システム、および対象物に所定の処理を施すための複数の可動部に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御するとともに当該動作を監視する制御装置に関する。
【背景技術】
【０００２】
近年、様々な生産現場において、ロボットなどの機械や装置に対する予知保全により設備稼働率を向上させたいというニーズが存在する。予知保全とは、機械や装置に生じる何らかの異常の予兆を検知することで、設備を停止しなければならない状態になる前に、整備や交換などの保守作業を行うような保全形態を意味する。
【０００３】
生産現場の管理者の経験や知見に頼ってこのような予知保全を実現しようとした場合には、管理者の能力に応じて予知保全の実現度合にばらつきが生じる。
【０００４】
また、管理者の経験や知見に頼ることなく予知保全を実現するための仕組みとして、機械や装置に関するデータを収集することで、機械や装置の異常の予兆を検知する技術も提案されている。
【０００５】
たとえば、特開平０７−０４３３５２号公報（特許文献１）は、性状が正常なものと異常なものとに分けられた診断対象群に対して複数の診断用パラメータに関する値を測定し、この測定値に統計的処理を施し、この処理結果から有効なパラメータと予測される診断用パラメータを抽出し、抽出した有効な診断用パラメータについての測定値に基づいて判定レベルを決定し、さらに、有効パラメータの組み合わせ並びに判定レベルを目標正解率が得られるまで逐次更新する方法を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０７−０４３３５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の特開平０７−０４３３５２号公報に開示される技術では、診断対象群に関する測定値に統計的処理を施すことによって、正常、異常の判定正解率を高めることができるが、統計的処理を施すためには膨大なリソースが必要となる。
【０００８】
本発明は、比較的少ないリソースで予知保全を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本開示の一例に従えば、対象物に所定の処理を施すための複数の可動部の動作を監視する制御システムが提供される。制御システムは、複数の可動部に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御する制御装置と、対象物を検査する検査装置とを備え、制御装置は、検査装置の検査結果と複数の可動部に対する指令値とに基づき、複数の可動部のうち、検査結果の異常原因となった可動部を特定する特定部と、特定部によって特定された検査結果の異常原因となった可動部に関するデータを収集して保存する保存部とを含む。
【００１０】
この開示によれば、複数の可動部の全てについてデータが収集されるのではなく、異常原因となった可動部に限ってデータが収集されるため、予知保全を実現するためのリソースを少なくすることができる。さらに、複数の可動部の全てについてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【００１１】
上述の開示において、特定部は、検査結果の異常原因となった可動部に加えて、当該可動部の動作期間を特定し、保存部は、特定部によって特定された動作期間において、検査結果の異常原因となった可動部に関するデータを収集して保存する。
【００１２】
この開示によれば、複数の可動部における全ての動作期間についてデータが収集されるのではなく、異常原因となった可動部の動作期間に限ってデータが収集されるため、予知保全を実現するためのリソースを少なくすることができる。さらに、複数の可動部における全ての動作期間についてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【００１３】
上述の開示において、複数の可動部は、複数のロボットのいずれかに含まれる可動軸であり、特定部は、複数のロボットのうち、検査結果の異常原因となったロボットを特定し、保存部は、特定部によって特定された検査結果の異常原因となったロボットに含まれる可動軸に関するデータを収集して保存する。
【００１４】
この開示によれば、複数のロボットの全てについてデータが収集されるのではなく、異常原因となったロボットに限ってデータが収集されるため、予知保全を実現するためのリソースを少なくすることができる。さらに、複数のロボットの全てについてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【００１５】
上述の開示において、保存部は、検査結果の異常原因となったロボットに含まれる可動軸のうち、トルク値が異常である可動軸のデータを収集して保存する。
【００１６】
この開示によれば、異常原因となったロボットに含まれる可動軸の全てについてデータが収集されるのではなく、トルク値が異常である可動軸に限ってデータが収集されるため、予知保全を実現するためのリソースを少なくすることができる。さらに、異常原因となったロボットに含まれる可動軸の全てについてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【００１７】
上述の開示において、複数の可動部は、複数のロボットのいずれかに含まれるエンドエフェクタであり、特定部は、複数のロボットのうち、検査結果の異常原因となったロボットを特定し、保存部は、特定部によって特定された検査結果の異常原因となったロボットに含まれるエンドエフェクタに関するデータを収集して保存する。
【００１８】
この開示によれば、複数のロボットの全てについてエンドエフェクタのデータが収集されるのではなく、異常原因となったロボットに限ってエンドエフェクタのデータが収集されるため、予知保全を実現するためのリソースを少なくすることができる。さらに、複数のロボットの全てについてエンドエフェクタのデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【００１９】
上述の開示において、複数の可動部は、対象物に前記所定の処理を施すロボットの周辺装置であり、特定部は、検査結果の異常原因となった周辺装置を特定し、保存部は、特定部によって特定された検査結果の異常原因となった周辺装置に関するデータを収集して保存する。
【００２０】
この開示によれば、ロボットおよび周辺装置の全てについてデータが収集されるのではなく、異常原因となった周辺装置に限ってデータが収集されるため、予知保全を実現するためのリソースを少なくすることができる。さらに、ロボットおよび周辺装置の全てについてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【００２１】
本開示の別の一例に従えば、対象物に所定の処理を施すための複数の可動部に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御するとともに当該動作を監視する制御装置が提供される。制御装置は、対象物を検査する検査装置の検査結果と複数の可動部に対する指令値とに基づき、複数の可動部のうち、検査結果の異常原因となった可動部を特定する特定部と、特定部によって特定された検査結果の異常原因となった可動部に関するデータを収集して保存する保存部とを備える。
【００２２】
この開示によれば、複数の可動部の全てについてデータが収集されるのではなく、異常原因となった可動部に限ってデータが収集されるため、予知保全を実現するためのリソースを少なくすることができる。さらに、複数の可動部の全てについてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【発明の効果】
【００２３】
本発明によれば、比較的少ないリソースで予知保全を実現することができる。
【図面の簡単な説明】
【００２４】
【図１】本実施の形態に係る制御システムの適用例を説明するための模式図である。
【図２】本実施の形態に係る制御システムにおける処理内容の具体例を説明するための模式図である。
【図３】本実施の形態に係る制御システムの全体構成例を説明するための模式図である。
【図４】本実施の形態に係る制御装置のハードウェア構成例を説明するためのブロック図である。
【図５】本実施の形態に係る検査装置のハードウェア構成例を説明するためのブロック図である。
【図６】本実施の形態に係る制御装置が実行するシミュレーション処理を示すフローチャートである。
【図７】本実施の形態に係る検査装置が実行するスコア算出処理を示すフローチャートである。
【図８】本実施の形態に係る制御装置が実行する原因箇所特定処理を示すフローチャートである。
【図９】本実施の形態に係る制御装置が実行するデータ保存処理を示すフローチャートである。
【図１０】第１の変形例に係る制御システムの適用例を説明するための模式図である。
【図１１】第２の変形例に係る制御システムの適用例を説明するための模式図である。
【発明を実施するための形態】
【００２５】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２６】
＜Ａ．適用例＞
まず、図１および図２を参照して、本発明が適用される場面の一例について説明する。図１は、本実施の形態に係る制御システム１の適用例を説明するための模式図である。図２は、本実施の形態に係る制御システム１における処理内容の具体例を説明するための模式図である。
【００２７】
本実施の形態に係る制御システム１は、工業製品の生産現場などに適用され、対象物に所定の処理を施すための複数の可動部の動作を監視する。図１に示されるように、本実施の形態において、対象物としては、ワーク１５５を例示する。複数の可動部としては、ロボット５５０ａ（ロボットａと称する）およびロボット５５０ｂ（ロボットｂと称する）のそれぞれが有する複数の可動軸、およびロボットａ，ｂにおけるアームの先端に設けられたエンドエフェクタを例示する。なお、複数の可動部は、ロボットの可動軸やエンドエフェクタに限らず、ロボットの周辺装置（たとえば、ＸＹステージ）など、制御装置からの指令値に基づき動作するものであれば、いずれのものであってもよい。複数の可動軸およびエンドエフェクタについては図３で後述する。また、周辺装置（たとえば、ＸＹステージ）の例については図１０で後述する。
【００２８】
対象物に対して施される所定の処理としては、製造品を製造する際に行われる少なくとも一部の処理や工程が挙げられる。たとえば、図１においては、所定の処理として、ロボットがワーク１５５を加工する処理を例示する。なお、所定の処理は、加工に限らず、完成品や部品の組立であってもよい。組立の例については図１１で後述する。
【００２９】
制御システム１は、ロボットａおよびロボットｂのそれぞれにおける複数の可動部に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御する制御装置１００と、ワーク１５５を検査する検査装置２００とを備える。本実施の形態において、制御装置１００としては、ＰＬＣ（プログラマブルコントローラ）を例示する。検査装置２００としては、カメラ１５０を用いてワーク１５５を撮影し、撮影によって取得したカメラ画像を用いてワーク１５５を検査する画像センサを例示する。なお、検査装置２００は、画像センサに限らず、光を検出することでワーク１５５を検査する光センサ、温度を検出することでワーク１５５を検査する温度センサ、電流や抵抗値を検出することでワーク１５５を検査する電流センサなど、何らかの検出データに基づきワーク１５５を検査するものであればいずれのものであってもよい。
【００３０】
図１に示されるように、切削加工前のワーク１５５は、コンベア８００によって搬送され、制御装置１００の制御に基づきロボットａおよびロボットｂによって切削加工される。ワーク１５５においては、切削加工されることで、十字型の凸部が形成される。その後、切削加工されたワーク１５５は、再びコンベア８００によって搬送され、カメラ１５０によってその切削加工部位が撮影される。カメラ１５０による撮影によって取得されたカメラ画像は、検査装置２００に取り込まれる。
【００３１】
検査装置２００は、取得したカメラ画像と予め登録されているモデル画像とをパターンマッチングなどによって比較することで、ワーク１５５における切削加工部位（たとえば、十字型の凸部）の外観検査を行う。そして、検査装置２００は、外観検査の結果としてワーク座標系のスコアを抽出し、そのデータを制御装置１００に送信する。
【００３２】
スコアの抽出に関して、図２を参照しながら説明する。図２（ａ）に示されるように、カメラ画像には、切削加工されたワーク１５５の表面が表されている。一方、図２（ｂ）に示されるように、予め登録されているモデル画像には、切削加工によって得られるべき目標とするワークの表面が表されている。この例では、カメラ画像によって表わされた切削加工部位（十字型の凸部）の一部Ａの形状と、モデル画像によって表わされた切削加工部位（十字型の凸部）の一部Ｂの形状とが、大きく異なっている。
【００３３】
検査装置２００は、カメラ画像とモデル画像とをパターンマッチングなどの画像処理によって比較することで、両画像における切削加工部位の一致度合を算出する。これにより、カメラ座標系における各座標での一致度合を表す指標としてスコアが算出される。なお、カメラ座標系とは、カメラ画像に対して一意に定められた座標系である。そして、検査装置２００は、カメラ座標系における各座標でのスコアを、ワーク座標系における各座標でのスコアに変換することで、図２（ｃ）に示されるように、ワーク座標系のスコアを抽出する。なお、ワーク座標系とは、ワーク１５５に対して一意に定められた座標系である。
【００３４】
ワーク座標系においては、横軸がＸ軸、縦軸がＹ軸として定められている。Ｘ軸においては、ワーク座標系の左から右に向かって等間隔にＸ１，Ｘ２，Ｘ３，…Ｘｎが定められている。Ｙ軸においては、ワーク座標系の上から下に向かって等間隔にＹ１，Ｙ２，Ｙ３，…Ｙｎが定められている。ワーク座標系における各座標においては、カメラ画像とモデル画像との比較に基づき算出されたスコアが抽出される。この例では、スコアが低ければ低いほどカメラ画像とモデル画像との一致度合が高く、一方、スコアが高ければ高いほどカメラ画像とモデル画像との一致度合が低く設定されている。
【００３５】
たとえば、座標（Ｘ１，Ｙ１）におけるスコアは０、座標（Ｘ１，Ｙ２）におけるスコアは０、座標（Ｘｎ，Ｙ１）におけるスコアは０、座標（Ｘｎ，Ｙｎ）におけるスコアは０であり、これらの座標においては、カメラ画像とモデル画像とが完全に一致する。また、座標（Ｘａ，Ｙａ）におけるスコアは１であり、この座標においては、カメラ画像とモデル画像とが概ね一致する。
【００３６】
一方、座標（Ｘｂ，Ｙｂ）におけるスコアは４、座標（Ｘｃ，Ｙｃ）におけるスコアは８、座標（Ｘｄ，Ｙｄ）におけるスコアは６であり、これらの座標においては、カメラ画像とモデル画像との一致度合が低い。これは、前述したように、カメラ画像によって表わされた切削加工部位の一部Ａの形状と、モデル画像によって表わされた切削加工部位の一部Ｂの形状とが、大きく異なっているためである。検査装置２００は、各座標におけるスコアのうち、閾値を超えたスコアを異常値であると算出する。たとえば、スコアの閾値が３に設定されている場合、座標（Ｘｂ，Ｙｂ）におけるスコアは４、座標（Ｘｃ，Ｙｃ）におけるスコアは８、座標（Ｘｄ，Ｙｄ）におけるスコアは６のそれぞれは、異常値となる。
【００３７】
図１に戻り、前述したようにして抽出されたワーク座標系のスコアは、検査装置２００から制御装置１００に送信される。制御装置１００は、検査装置２００の検査結果と複数の可動部に対する指令値とに基づき、複数の可動部のうち、検査結果の異常原因となった可動部を特定する特定部１６０を含む。検査結果としては、前述したワーク座標系のスコアを例示する。また、複数の可動部に対する指令値としては、各ロボットａ，ｂにおける可動部の移動経路を定義したシミュレーション値を例示する。シミュレーション値は、生産現場の管理者などによって予め登録される。
【００３８】
制御装置１００の特定部１６０は、検査装置２００から取得したワーク座標系のスコアと、シミュレーション値とを比較することで、スコアが異常値となった座標に対応するワーク１５５の位置を加工した可動部を特定する。
【００３９】
さらに、制御装置１００は、特定部１６０によって特定された検査結果の異常原因となった可動部に関するデータを収集して保存する保存部１７０を含む。
【００４０】
データの保存に関して、再び図２を参照しながら説明する。制御装置１００は、図２（ｃ）に示すワーク座標系のスコアと、図２（ｄ）に示すシミュレーション値との比較によって検査結果の異常原因となった可動部を特定する。たとえば、制御装置１００は、複数のロボットａ，ｂのうち、ロボットａにおける可動部が異常であると特定し、さらに、ロボットａにおける可動部の動作期間を特定する。
【００４１】
たとえば、図２（ｅ）に示されるように、制御装置１００は、異常原因となったロボットａにおける可動部１〜可動部６の動作期間として、ｔ２〜ｔ３を特定する。そして、制御装置１００は、動作期間を特定した後の各制御周期において、ｔ２〜ｔ３の期間でロボットａにおける可動部１〜可動部６の動作に関するデータを取得してメモリなどに保存する。
【００４２】
このようにして収集されたデータは、予知保全の実現に用いられる。たとえば、生産現場の管理者などは、加工後のワーク製品に異常の予兆があった場合に、自身の経験や知見に極力頼ることなく、収集されたデータに基づき異常の原因となった可動部を特定することができる。また、管理者などは、収集されたデータに基づき異常の予兆の原因を追究することで、設備を停止しなければならない状態になる前に、整備や交換などの保守作業を行うことができる。
【００４３】
また、複数の可動部の全てについてデータが収集されるのではなく、異常原因となった可動部に限ってデータが収集されるため、予知保全を実現するためのリソースを少なくすることができる。さらに、複数の可動部の全てについてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【００４４】
＜Ｂ．制御システムの全体構成例＞
次に、本実施の形態に係る制御装置１００を含む制御システム１の全体構成例について説明する。図３は、本実施の形態に係る制御システム１の全体構成例を説明するための模式図である。
【００４５】
制御装置１００は、各種の設備や装置などの制御対象を制御する産業用コントローラに相当する。制御装置１００は、制御演算を実行する一種のコンピュータであり、典型的には、ＰＬＣ（プログラマブルコントローラ）として具現化されている。制御装置１００には、フィールドネットワーク２を介してフィールドデバイス５００に接続されている。制御装置１００は、フィールドネットワーク２を介して、１または複数のフィールドデバイス５００との間でデータを遣り取りする。
【００４６】
制御装置１００において実行される制御演算は、フィールドデバイス５００において収集または生成されたデータ（入力データ）を収集する処理（入力処理）、フィールドデバイス５００に対する指令値などのデータ（出力データ）を生成する処理（演算処理）、生成した出力データを対象のフィールドデバイス５００へ送信する処理（出力処理）などを含む。
【００４７】
フィールドネットワーク２は、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。データの到達時間が保証される点において、ＥｔｈｅｒＣＡＴ（登録商標）が好ましい。
【００４８】
フィールドネットワーク２には、任意のフィールドデバイス５００を接続することができる。フィールドデバイス５００は、フィールド側にあるロボットやコンベアなどに対して何らかの物理的な作用を与えるアクチュエータ、および、フィールドとの間で情報を遣り取りする入出力装置などを含む。
【００４９】
フィールドネットワーク２を介して、制御装置１００とフィールドデバイス５００との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数１００μｓｅｃオーダ〜数１０ｍｓｅｃオーダのごく短い周期で更新されることになる。
【００５０】
図３に示す構成例においては、制御装置１００は、ロボット５５０を制御する。ロボット５５０は、前述した図１に示すロボットａやロボットｂに対応する。
【００５１】
前述したように、本実施の形態において、ロボット５５０は、切削加工を行う加工装置である。具体的には、ロボット５５０は、第１アーム５５１、第２アーム５５２、第３アーム５５３、および第４アーム５５４によって構成されるアームと、アームの先端に設けられたエンドエフェクタ５５５と、エンドエフェクタ５５５に装着されたドリル５５６とを備える。
【００５２】
第１アーム５５１は、可動軸５５０＿１を介して土台５５７に接続されており、土台５５７に対して可動軸５５０＿１の回転軸回りに可動する。第２アーム５５２は、可動軸５５０＿２を介して第１アーム５５１に接続されており、第１アーム５５１に対して可動軸５５０＿２の回転軸回りに可動する。第３アーム５５３は、可動軸５５０＿３を介して第２アーム５５２に接続されており、第２アーム５５２に対して可動軸５５０＿３の回転軸回りに可動する。第４アーム５５４は、可動軸５５０＿４を介して第３アーム５５３に接続されており、第３アーム５５３に対して可動軸５５０＿４の回転軸回りに可動する。エンドエフェクタ５５５は、可動軸５５０＿５を介して第４アーム５５４に接続されており、第４アーム５５４に対して可動軸５５０＿５の回転軸回りに可動する。ドリル５５６は、可動軸５５０＿６を介してエンドエフェクタ５５５に接続されており、エンドエフェクタ５５５に対して可動軸５５０＿６の回転軸回りに可動する。
【００５３】
ロボット５５０は、制御装置１００からの指令値に従って駆動される。図４に示す構成例においては、フィールドデバイス５００は、複数のサーボドライバ５２０＿１〜５２０＿６と、複数のサーボドライバ５２０＿１〜５２０＿６のそれぞれに接続された複数のサーボモータ５２２＿１〜５２２＿６とを含む。
【００５４】
サーボドライバ５２０＿１〜５２０＿６は、制御装置１００からの指令値（たとえば、位置指令値や速度指令値など）に従って、サーボモータ５２２＿１〜５２２＿６のうちの対応するサーボモータを駆動する。サーボモータ５２２＿１が駆動すると、可動軸５５０＿１が回転する。サーボモータ５２２＿２が駆動すると、可動軸５５０＿２が回転する。サーボモータ５２２＿３が駆動すると、可動軸５５０＿３が回転する。サーボモータ５２２＿４が駆動すると、可動軸５５０＿４が回転する。サーボモータ５２２＿５が駆動すると、可動軸５５０＿５が回転する。サーボモータ５２２＿６が駆動すると、可動軸５５０＿６が回転する。
【００５５】
このように構成されたロボット５５０においては、各可動軸５５０＿１〜５５０＿５が回転することによって、各アーム５５１〜５５４によって構成されたアームが所定の動作範囲内で動作し、それによってアームの先端に設けられたエンドエフェクタ５５５がワーク１５５における加工位置に移動する。そして、可動軸５５０＿６が回転することによって、エンドエフェクタ５５５の先端に装着されたドリル５５６が回転して、ワーク１５５が切削加工される。
【００５６】
上述した可動軸５５０＿１〜５５０＿６およびエンドエフェクタ５５５は、「可動部」の一例である。
【００５７】
なお、ロボット５５０は、切削加工に限らず、旋盤加工、フライス盤、放電加工などの任意の加工装置であってもよい。また、ロボット５５０は、搬送されるワーク１５５に対して部品を組み付ける組付装置であってもよい。
【００５８】
制御装置１００には、フィールドネットワーク２を介して、検査装置２００が接続されている。
【００５９】
検査装置２００には、連続的に搬入されるワーク１５５を撮影するカメラ１５０が接続されている。カメラ１５０は、主たる構成要素として、レンズや絞りなどの光学系と、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどの受光素子とを含む。検査装置２００は、工業製品の生産ラインなどにおいて、制御装置１００の制御によってワーク１５５を照明しながらカメラ１５０で撮影し、得られた撮影画像を用いてワーク１５５の外観検査を行う画像センサである。
【００６０】
制御装置１００は、上位ネットワーク６を介して、他の装置にも接続されている。上位ネットワーク６には、一般的なネットワークプロトコルであるイーサネット（登録商標）やＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）が採用されてもよい。より具体的には、上位ネットワーク６には、１または複数のサーバ装置３００および１または複数の表示装置４００が接続されてもよい。
【００６１】
サーバ装置３００としては、データベースシステム、製造実行システム（ＭＥＳ：Manufacturing Execution System）などが想定される。製造実行システムは、制御対象の製造装置や設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、出荷情報などを扱うこともできる。これに限らず、情報系サービスを提供する装置を上位ネットワーク６に接続するようにしてもよい。情報系サービスとしては、制御対象の製造装置や設備からの情報を取得して、マクロ的またはミクロ的な分析などを行う処理が想定される。たとえば、制御対象の製造装置や設備からの情報に含まれる何らかの特徴的な傾向を抽出するデータマイニングや、制御対象の設備や機械からの情報に基づく機械学習を行うための機械学習ツールなどが想定される。
【００６２】
表示装置４００は、ユーザからの操作を受けて、制御装置１００に対してユーザ操作に応じたコマンドなどを出力するとともに、制御装置１００での演算結果などをグラフィカルに表示する。
【００６３】
制御装置１００には、サポート装置６００が接続可能になっている。サポート装置６００は、制御装置１００が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置６００は、制御装置１００で実行される制御プログラム３０の開発環境（プログラム作成編集ツール、パーサ、コンパイラなど）、制御装置１００および制御装置１００に接続される各種デバイスの構成情報（コンフィギュレーション）を設定するための設定環境、生成した制御プログラム３０を制御装置１００へ出力する機能、制御装置１００上で実行される制御プログラム３０などをオンラインで修正・変更する機能などを提供する。本実施の形態においては、管理者などは、サポート装置６００を用いてロボット５５０における可動部の移動経路を定義したシミュレーション値を登録可能である。
【００６４】
図３に示される制御システム１においては、制御装置１００、サポート装置６００、および表示装置４００がそれぞれ別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成を採用してもよい。
【００６５】
＜Ｃ．制御装置１００のハードウェア構成例＞
次に、本実施の形態に係る制御装置１００のハードウェア構成例について説明する。図４は、本実施の形態に係る制御装置１００のハードウェア構成例を説明するためのブロック図である。
【００６６】
図４に示されるように、制御装置１００は、ＣＰＵユニットと称される演算処理部であり、プロセッサ１０２と、チップセット１０４と、主メモリ１０６と、ストレージ１０８と、上位ネットワークコントローラ１１０と、検査装置インターフェイス１１２と、サポート装置インターフェイス１１７と、メモリカードインターフェイス１１４と、内部バスコントローラ１２０と、フィールドネットワークコントローラ１３０とを含む。
【００６７】
プロセッサ１０２は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）などで構成される。プロセッサ１０２としては、複数のコアを有する構成を採用してもよいし、プロセッサ１０２を複数配置してもよい。チップセット１０４は、プロセッサ１０２および周辺エレメントを制御することで、制御装置１００における全体としての処理を実現する。
【００６８】
主メモリ１０６は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置などで構成される。図１に示された保存部１７０によるデータの保存先としては、典型的には、主メモリ１０６が指定される。
【００６９】
ストレージ１０８は、たとえば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの不揮発性記憶装置などで構成される。プロセッサ１０２は、ストレージ１０８に格納された各種プログラムを読み出して、主メモリ１０６に展開して実行することで、制御対象に応じた制御、および、各種処理を実現する。ストレージ１０８には、基本的な機能を実現するためのシステムプログラム３４に加えて、制御対象の製造装置や設備に応じて作成される制御プログラム３０が格納される。
【００７０】
上位ネットワークコントローラ１１０は、上位ネットワーク６を介して、サーバ装置３００や表示装置４００などとの間のデータの遣り取りを制御する。検査装置インターフェイス１１２は、検査装置２００との間のデータの遣り取りを制御する。サポート装置インターフェイス１１７は、サポート装置６００との間のデータの遣り取りを制御する。なお、サポート装置６００は、ＵＳＢ接続を介して制御装置１００との間で通信可能であるものであってもよいし、ＥｔｈｅｒＮｅｔ（イーサネット）通信によって制御装置１００との間で通信可能であってもよい。
【００７１】
メモリカードインターフェイス１１４は、メモリカード１１６が着脱可能に構成されており、メモリカード１１６に対してデータを書き込み、メモリカード１１６から各種データ（ユーザプログラムやトレースデータなど）を読み出すことが可能になっている。
【００７２】
内部バスコントローラ１２０は、制御装置１００に装着されるＩ／Ｏユニット１２２との間のデータの遣り取りを制御する。フィールドネットワークコントローラ１３０は、フィールドネットワーク２を介したフィールドデバイスとの間のデータの遣り取りを制御する。
【００７３】
図４には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、制御装置１００の主要部を、汎用的なアーキテクチャに従うハードウェア（たとえば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００７４】
＜Ｄ．検査装置２００のハードウェア構成例＞
次に、本実施の形態に係る検査装置２００のハードウェア構成例について説明する。図５は、本実施の形態に係る検査装置２００のハードウェア構成例を説明するためのブロック図である。
【００７５】
図５に示されるように、検査装置２００は、プロセッサ２１０と、メモリ２１２と、システムコントローラ２１６と、Ｉ／Ｏ（Input Output）コントローラ２１８と、ハードディスク２２０と、カメラインターフェイス２２２と、制御装置インターフェイス２２６と、メモリカードインターフェイス２３０とを含む。これらの各部は、システムコントローラ２１６を中心として、互いにデータ通信可能に接続される。
【００７６】
プロセッサ２１０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）などで構成される。プロセッサ２１０は、システムコントローラ２１６との間でプログラム（コード）などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
【００７７】
システムコントローラ２１６は、プロセッサ２１０、メモリ２１２、およびＩ／Ｏコントローラ２１８とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、検査装置２００全体の処理を司る。
【００７８】
メモリ２１２は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置などで構成される。メモリ２１２は、ハードディスク２２０から読み出されたプログラム、またはカメラ１５０によって取得されたカメラ画像のデータなどを保持する。また、メモリ２１２は、外観検査において用いるモデル画像のデータなどを保持する。
【００７９】
Ｉ／Ｏコントローラ２１８は、制御装置１００に接続される記録媒体または外部機器との間のデータ交換を制御する。より具体的には、Ｉ／Ｏコントローラ２１８は、ハードディスク２２０と、カメラインターフェイス２２２と、制御装置インターフェイス２２６と、メモリカードインターフェイス２３０とに接続される。
【００８０】
ハードディスク２２０は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ２１０で実行されるアルゴリズムなどの制御プログラムに加えて、各種設定値などが格納される。本実施の形態においては、ハードディスク２２０にインストールされる制御プログラムとして、ワーク１５５の撮影画像を取得するためにカメラ１５０を制御する際に実行されるプログラムと、取得した撮影画像を用いてワーク１５５の外観検査を行う際に実行されるプログラムとが挙げられる。これらの制御プログラムは、メモリカード２３６などに格納された状態で流通する。なお、ハードディスク２２０に代えて、フラッシュメモリなどの半導体記憶装置やＤＶＤ−ＲＡＭ（Digital Versatile Disk Random Access Memory）などの光学記憶装置を採用してもよい。
【００８１】
カメラインターフェイス２２２は、ワーク１５５を撮影することでカメラ画像を取得し、プロセッサ２１０とカメラ１５０との間のデータ伝送を仲介する。カメラインターフェイス２２２は、カメラ１５０からのカメラ画像のデータを一時的に蓄積するための画像バッファ２２２ａを含む。
【００８２】
制御装置インターフェイス２２６は、プロセッサ２１０と制御装置１００との間のデータ伝送を仲介する。
【００８３】
メモリカードインターフェイス２３０は、プロセッサ２１０と記録媒体であるメモリカード２３６との間のデータ伝送を仲介する。メモリカード２３６には、検査装置２００で実行されるプログラムなどが格納された状態で流通し、メモリカードインターフェイス２３０は、このメモリカード２３６からプログラムを読み出す。メモリカード２３６は、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）などの磁気記録媒体、またはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体などからなる。あるいは、配信サーバなどからダウンロードしたプログラムを検査装置２００にインストールしてもよい。なお、代替的に、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【００８４】
＜Ｅ．制御装置１００のシミュレーション処理＞
図６は、本実施の形態に係る制御装置１００が実行するシミュレーション処理を示すフローチャートである。制御装置１００は、管理者などの操作に基づきシミュレーション処理を実行することで、ロボット５５０における可動部の移動経路を定義したシミュレーション値を記憶する。
【００８５】
図６に示されるように、制御装置１００は、管理者などの操作に基づきシミュレーションを開始する（Ｓ２）。制御装置１００は、シミュレーションを開始すると、まず可動部の移動開始位置を設定する（Ｓ４）。可動部の移動開始位置は、管理者などによって指定される。その後、制御装置１００は、設定した可動部の移動開始位置を計算開始位置として設定する（Ｓ６）。
【００８６】
次に、制御装置１００は、目標位置を設定する（Ｓ８）。可動部の目標位置は、管理者などによって指定される。制御装置１００は、可動部の移動方法およびパラメータを設定する（Ｓ１０）。可動部の移動方法およびパラメータは、管理者などによって指定される。制御装置１００は、Ｓ１０で設定した移動方法およびパラメータに基づき、Ｓ６で設定した計算開始位置と、Ｓ８で設定した目標位置との間の移動経路を計算する（Ｓ１２）。
【００８７】
制御装置１００は、管理者などの操作によって移動経路が確定したか否かを判定する（Ｓ１４）。制御装置１００は、移動経路が確定しない場合（Ｓ１４でＮＯ）、再びＳ８以降の処理を実行する。制御装置１００は、移動経路が確定した場合（Ｓ１４でＹＥＳ）、確定した移動経路をワーク座標系の座標値に変換する（Ｓ１６）。そして、制御装置１００は、ワーク座標系の座標値に変換した移動経路をシミュレーション値として記憶する（Ｓ１８）。
【００８８】
制御装置１００は、シミュレーション値の許容範囲を設定する（Ｓ２０）。つまり、制御装置１００は、ロボット５５０の速度変更またはロボット５５０に対する教示点の微調整により移動経路にずれが生じ得ることを考慮して、シミュレーション値にある程度の幅を持たせて、その範囲内もロボット５５０の担当範囲とする。シミュレーション値の許容範囲は、管理者などによって指定される。その後、制御装置１００は、シミュレーションを終了し（Ｓ２２）、本処理を終了する。
【００８９】
＜Ｆ．検査装置２００のスコア算出処理＞
図７は、本実施の形態に係る検査装置２００が実行するスコア算出処理を示すフローチャートである。検査装置２００は、ワーク１５５を撮影するごとにスコア算出処理を実行することで、外観検査の結果としてワーク座標系のスコアを算出する。
【００９０】
図７に示されるように、検査装置２００は、カメラ１５０でワーク１５５の切削加工部位を撮影することによってカメラ画像を取得する（Ｓ３２）。検査装置２００は、取得したカメラ画像を予め登録されているモデル画像と比較する（Ｓ３４）。
【００９１】
検査装置２００は、カメラ画像とモデル画像との比較に基づき、ワーク座標系のスコアを算出する（Ｓ３６）。検査装置２００は、算出したワーク座標系のスコアを制御装置１００に出力する（Ｓ３８）。その後、検査装置２００は、本処理を終了する。
【００９２】
＜Ｇ．制御装置１００の原因箇所特定処理＞
図８は、本実施の形態に係る制御装置１００が実行する原因箇所特定処理を示すフローチャートである。制御装置１００は、原因箇所特定処理を実行することで、外観検査の結果の異常原因となった可動部を特定する。
【００９３】
図８に示されるように、制御装置１００は、検査装置２００から出力されたワーク座標系のスコアを取得する（Ｓ５２）。制御装置１００は、取得したワーク座標系のスコアをシミュレーション値と比較する（Ｓ５４）。
【００９４】
制御装置１００は、スコアが異常値となった座標に対応するワーク１５５の位置を加工したロボット、およびその動作期間を特定する（Ｓ５６）。たとえば、制御装置１００は、複数のロボット５５０のうち、異常の原因となったロボット５５０を特定する。さらに、制御装置１００は、異常の原因となったロボット５５０の動作期間を特定する。その後、制御装置１００は、本処理を終了する。
【００９５】
＜Ｈ．制御装置１００のデータ保存処理＞
図９は、本実施の形態に係る制御装置１００が実行するデータ保存処理を示すフローチャートである。制御装置１００は、データ保存処理を実行することで、データの保存対象を決定する。
【００９６】
図９に示されるように、制御装置１００は、異常の原因となったロボット５５０のデータを呼び出す（Ｓ７２）。制御装置１００は、異常の原因となったロボット５５０に含まれるエンドエフェクタ５５５の電流値を予め登録していた理想値と比較する（Ｓ７４）。
【００９７】
制御装置１００は、エンドエフェクタ５５５の電流値と理想値との比較に基づき、エンドエフェクタ５５５の電流値が異常であるか否かを判定する（Ｓ７６）。制御装置１００は、エンドエフェクタ５５５の電流値が異常である場合（Ｓ７６でＹＥＳ）、エンドエフェクタ５５５の電流値を次回以降のデータ保存対象として登録する（Ｓ７８）。これにより、その後の各制御周期において、上述した図８のＳ５６で特定された動作期間でエンドエフェクタ５５５の電流値が主メモリ１０６などに保存される。
【００９８】
一方、制御装置１００は、エンドエフェクタ５５５の電流値が異常でない場合（Ｓ７６でＮＯ）、異常の原因となったロボット５５０に含まれる全ての可動軸５５０＿１〜５５０＿６のうちから一の可動軸を選択する（Ｓ８０）。制御装置１００は、選択した一の可動軸のトルク値を予め登録していた理想値と比較する（Ｓ８２）。
【００９９】
制御装置１００は、全ての可動軸５５０＿１〜５５０＿６についてトルク値と理想値とを比較したか否かを判定する（Ｓ８４）。制御装置１００は、未だ全ての可動軸５５０＿１〜５５０＿６についてトルク値と理想値とを比較していない場合（Ｓ８４でＮＯ）、再びＳ８０以降の処理を実行する。
【０１００】
一方、制御装置１００は、全ての可動軸５５０＿１〜５５０＿６についてトルク値と理想値とを比較した場合（Ｓ８４でＹＥＳ）、比較結果に基づき、いずれかの可動軸のトルク値が異常であるか否かを判定する（Ｓ８６）。制御装置１００は、いずれかの可動軸のトルク値が異常である場合（Ｓ８６でＹＥＳ）、異常が生じている可動軸のトルク値を次回以降のデータ保存対象として登録する（Ｓ８８）。これにより、その後の各制御周期において、上述した図８のＳ５６で特定された動作期間で可動軸のトルク値が主メモリ１０６などに保存される。
【０１０１】
一方、制御装置１００は、いずれの可動軸のトルク値も異常でない場合（Ｓ８６でＮＯ）、異常の原因となったロボット５５０に含まれるその他の構成について異常の有無を判定する（Ｓ９０）。その他の構成としては、各アーム５５１〜５５４、ドリル５５６、各サーボモータ５２２＿１〜５２２＿６などが挙げられる。たとえば、制御装置１００は、各サーボモータ５２２＿１〜５２２＿６のブレーキ摩耗について異常の有無を判定する。
【０１０２】
制御装置１００は、その他の構成が異常である場合（Ｓ９２でＹＥＳ）、異常が生じているその他の構成に関するデータを次回以降のデータ保存対象として登録する（Ｓ９４）。これにより、その後の各制御周期において、上述した図８のＳ５６で特定された動作期間でその他の構成に関するデータが主メモリ１０６などに保存される。
【０１０３】
制御装置１００は、その他の構成が異常でない場合（Ｓ９２でＮＯ）、Ｓ７８、Ｓ８８、またはＳ９４の後、本処理を終了する。
【０１０４】
＜Ｉ．作用効果＞
以上のように、本実施の形態に係る制御システム１において、制御装置１００は、検査装置２００による外観検査の結果に基づき、異常の原因となったロボット５５０を特定するとともに、特定したロボット５５０に含まれる可動部（たとえば、可動軸５５０＿１〜５５０＿６，エンドエフェクタ５５５）のうち、異常の原因となった可動部を特定する。そして、制御装置１００は、複数のロボット５５０の全てについて全ての可動部のデータを収集するのではなく、異常原因となったロボット５５０における異常原因となった可動部に限って、次回以降の制御周期ごとにデータを収集する。これにより、予知保全を実現するためのリソースを少なくすることができる。さらに、複数の可動部の全てについてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【０１０５】
本実施の形態に係る制御システム１において、制御装置１００は、検査装置２００による外観検査の結果に基づき、異常の原因となったロボット５５０の動作期間を特定する。そして、制御装置１００は、異常の原因となったロボット５５０における全ての動作期間についてデータを収集するのではなく、異常の原因となったロボット５５０の動作期間に限って、次回以降の制御周期ごとにデータを収集する。これにより、予知保全を実現するためのリソースを少なくすることができる。さらに、複数の可動部における全ての動作期間についてデータを収集する場合に比べて、効率的に予知保全を実現することができる。
【０１０６】
このようにして、検査装置２００による外観検査の結果に基づき、制御装置１００によって異常の原因となったロボット５５０、およびその可動部を特定して、特定した可動部に限ってデータを収集するようにすることで、生産現場の管理者などの経験や知見に極力頼ることなく予知保全を実現することができ、しかも、予知保全のためのリソースも比較的少なくすることができる。
【０１０７】
＜Ｊ．変形例＞
本実施の形態においては、検査装置２００によって、カメラ座標系におけるスコアがワーク座標系におけるスコアに変換された上で、ワーク座標系におけるスコアが制御装置１００に出力されるものであったが、検査装置２００からカメラ座標系におけるスコアが制御装置１００に出力され、制御装置１００によってカメラ座標系におけるスコアがワーク座標系におけるスコアに変換されてもよい。
【０１０８】
本実施の形態においては、ワーク座標系における各座標についてのスコアが制御装置１００に出力されたが、閾値を超えて異常と判断されたスコアのみについて、ワーク座標系におけるスコアが制御装置１００に出力されてもよい。
【０１０９】
制御装置１００は、異常の原因となったロボット５５０に含まれる可動部の全てについて、次回以降の制御周期ごとにデータを収集するものであってもよいが、やはり本実施の形態のように、異常の原因となったロボット５５０に含まれる可動部のうち、異常の原因となった可動部に限って次回以降の制御周期ごとにデータを収集する方が、予知保全を実現するためのリソースをより少なくすることができる。
【０１１０】
本実施の形態においては、予め登録していたシミュレーション値に従った経路でロボット５５０が動作するものであったが、予め設定していたパラメータに基づき制御周期ごとにロボット５５０に対する指令値が動的に変化することでロボット５５０が動作するものであってもよい。この場合、制御装置１００は、ワーク座標系におけるスコアと比較する対象として、予め登録していたシミュレーション値の代わりに、ロボット５５０が動作してきた経路に基づき算出されたロボット５５０の動作データを用いてもよい。
【０１１１】
制御装置１００は、特定した異常の原因となったロボット５５０および当該ロボット５５０の可動部について、異常の原因に基づき動作速度を制限したり、動作を停止したりしてもよい。たとえば、可動軸５５０＿１〜５５０＿６のうち、可動軸５５０＿１のトルク値が異常である場合、当該トルク値に基づいて可動軸５５０＿１の動作速度を制限したり、動作を停止したりしてもよい。あるいは、エンドエフェクタ５５５の電流値が異常である場合、当該電流値に基づいてエンドエフェクタ５５５の動作速度を制限したり、動作を停止したりしてもよい。
【０１１２】
本実施の形態においては、カメラ１５０とロボット５５０とが別体であったが、たとえば、エンドエフェクタ５５５など、ロボット５５０の手先にカメラ１５０が取り付けられていてもよい。
【０１１３】
本実施の形態においては、制御装置１００は、図９に示されるデータ保存処理において、データの保存対象として、エンドエフェクタ５５５を可動軸やその他の構成よりも優先的に異常であるか否かを判定し、異常である場合に、エンドエフェクタ５５５のみをデータの保存対象としていた。これは、エンドエフェクタ５５５が可動軸やその他の構成よりも異常原因に関連する可能性が高いからである。しかし、このような例に限らず、制御装置１００は、可動軸やその他の構成を、エンドエフェクタ５５５よりも優先的に異常であるか否かを判定し、異常である場合に、可動軸やその他の構成のみをデータの保存対象としていてもよい。あるいは、制御装置１００は、エンドエフェクタ５５５、可動軸、およびその他の構成のいずれにおいても異常であるか否かを判定し、異常である場合に、異常であった部位のデータをデータの保存対象としていてもよい。
【０１１４】
図１０は、第１の変形例に係る制御システム１０００の適用例を説明するための模式図である。図１０に示されるように、制御システム１０００は、ロボットａ，ｂの他に、可動部として、ロボットａ，ｂにおける処理をサポートする周辺装置を備える。たとえば、図１０に示される例では、周辺装置として、Ｘ方向およびＹ方向に移動することでワーク１５５の位置を変化させるＸＹステージ８１０が例示されている。コンベア８００ａによって搬送されたワーク１５５は、ＸＹステージ８１０によって位置を変化しつつロボットａ，ｂによって加工され、その後、コンベア８００ｂによってカメラ１５０の方へと搬送される。
【０１１５】
制御システム１０００は、ロボットａ，ｂに加えてＸＹステージ８１０に対して指令値を与えることでこれらの可動部を制御する制御装置１１００と、ワーク１５５を検査する検査装置１２００とを備える。検査装置１２００は、ＸＹステージ８１０およびロボットａ，ｂによって処理されたワーク１５５の外観を検査する。制御装置１１００は、検査装置１２００の検査結果とＸＹステージ８１０およびロボットａ，ｂに対する指令値とに基づき、検査結果の異常原因となった可動部を特定する。
【０１１６】
たとえば、制御装置１１００は、検査装置１２００によって抽出されたワーク座標系のスコアとシミュレーション値とに基づき、異常が発生した加工時間帯が分かる場合、その時間帯にＸＹステージ８１０が動作していなければ、ロボットａ，ｂに異常原因があると予測でき、その時間帯にＸＹステージ８１０が動作していれば、ロボットａ，ｂに加えてＸＹステージ８１０も異常原因が存在する可能性があると予測できる。そして、制御装置１１００は、異常原因となった可能性のある箇所を特定すると、異常原因となったＸＹステージ８１０やロボットａ，ｂに関するデータを収集して保存することで、予知保全に役立てることができる。
【０１１７】
このように、制御装置１１００によって、異常の原因としてＸＹステージ８１０などの周辺装置を特定し、その周辺装置のデータを収集するものであってもよい。なお、周辺装置は、ＸＹステージ８１０に限らず、その他、ロボットａ，ｂにおける処理をサポートする装置であればいずれのものであってもよい。
【０１１８】
図１１は、第２の変形例に係る制御システム２０００の適用例を説明するための模式図である。上述した例においては、ロボットａ，ｂによってワーク１５５を加工する例を挙げたが、ロボットａ，ｂによって完成品や部品を組み立てる例についても本開示を適用できる。
【０１１９】
たとえば、制御システム２０００においては、ロボットａによって部品１５５ａが取り出されて、コンベア８００に載せられる。そして、ロボットｂによって部品１５５ｂが取り出されて、部品１５５ａに取り付けられる。このようにして、ロボットａ，ｂによって、部品１５５ａと部品１５５ｂとが取り付けられることで組立品１５５０が組み立てられる。組立品１５５０は、コンベア８００によってカメラ１５０の方へと搬送される。
【０１２０】
制御システム２０００は、ロボットａ，ｂに対して指令値を与えることで複数の可動部を制御する制御装置２１００と、組立品１５５０を検査する検査装置２２００とを備える。検査装置２２００は、ロボットａ，ｂによって処理された組立品１５５０の外観を検査する。たとえば、検査装置２２００は、部品１５５ｂの取り付け具合、または傷や汚れの有無を検査する。制御装置２１００は、検査装置２２００の検査結果とロボットａ，ｂに対する指令値とに基づき、検査結果の異常原因となった可動部を特定する。
【０１２１】
このように、検査装置２２００によって、組立品１５５０を検査し、その検査結果から、異常となった組立品１５５０を組み立てたロボットａ，ｂにおける可動部を特定するものであってもよい。
【０１２２】
＜Ｋ．付記＞
以上のように、本実施の形態では以下のような開示を含む。
【０１２３】
（構成１）
対象物（１５５）を加工するための複数の可動部（５５０＿１〜５５０＿６，５５５）の動作を監視する制御システム（１）であって、
前記複数の可動部に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御する制御装置（１００）と、
前記対象物を検査する検査装置（２００）とを備え、
前記制御装置は、
前記検査装置の検査結果と前記複数の可動部に対する前記指令値とに基づき、前記複数の可動部のうち、前記検査結果の異常原因となった可動部を特定する特定部（１６０）と、
前記特定部によって特定された前記検査結果の異常原因となった可動部に関するデータを収集して保存する保存部（１７０）とを含む、制御システム。
【０１２４】
（構成２）
前記特定部は、前記検査結果の異常原因となった可動部に加えて、当該可動部の動作期間を特定し、
前記保存部は、前記特定部によって特定された前記動作期間において、前記検査結果の異常原因となった可動部に関するデータを収集して保存する、構成１に記載の制御システム。
【０１２５】
（構成３）
前記複数の可動部は、複数のロボット（５５０）のいずれかに含まれる可動軸（５５０＿１〜５５０＿６）であり、
前記特定部は、前記複数のロボットのうち、前記検査結果の異常原因となったロボットを特定し、
前記保存部は、前記特定部によって特定された前記検査結果の異常原因となったロボットに含まれる前記可動軸に関するデータを収集して保存する、構成１または構成２に記載の制御システム。
【０１２６】
（構成４）
前記保存部は、前記検査結果の異常原因となったロボットに含まれる前記可動軸のうち、トルク値が異常である可動軸のデータを収集して保存する、構成３に記載の制御システム。
【０１２７】
（構成５）
前記複数の可動部は、複数のロボットのいずれかに含まれるエンドエフェクタ（５５５）であり、
前記特定部は、前記複数のロボットのうち、前記検査結果の異常原因となったロボットを特定し、
前記保存部は、前記特定部によって特定された前記検査結果の異常原因となったロボットに含まれる前記エンドエフェクタに関するデータを収集して保存する、構成１〜構成４のいずれかに記載の制御システム。
【０１２８】
（構成６）
前記複数の可動部は、前記対象物に前記所定の処理を施すロボットの周辺装置（８１０）であり、
前記特定部は、前記検査結果の異常原因となった前記周辺装置を特定し、
前記保存部は、前記特定部によって特定された前記検査結果の異常原因となった前記周辺装置に関するデータを収集して保存する、構成１〜構成５のいずれかに記載の制御システム。
【０１２９】
（構成７）
対象物（１５５）を加工するための複数の可動部（５５０＿１〜５５０＿６，５５５）に対して指令値を与えることで当該複数の可動部の動作を制御周期ごとに制御するとともに当該動作を監視する制御装置（１００）であって、
前記対象物を検査する検査装置（２００）の検査結果と前記複数の可動部に対する前記指令値とに基づき、前記複数の可動部のうち、前記検査結果の異常原因となった可動部を特定する特定部（１６０）と、
前記特定部によって特定された前記検査結果の異常原因となった可動部に関するデータを収集して保存する保存部（１７０）とを備える、制御装置。
【０１３０】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組み合わせても、実施することが意図される。
【符号の説明】
【０１３１】
１，１０００，２０００  制御システム、２  フィールドネットワーク、６  上位ネットワーク、３０  制御プログラム、３４  システムプログラム、１００，１１００，２１００  制御装置、１０２，２１０  プロセッサ、１０４  チップセット、１０６  主メモリ、１０８  ストレージ、１１０  上位ネットワークコントローラ、１１２  検査装置インターフェイス、１１４，２３０  メモリカードインターフェイス、１１６，２３６  メモリカード、１１７  サポート装置インターフェイス、１２０  内部バスコントローラ、１２２  Ｉ／Ｏユニット、１３０  フィールドネットワークコントローラ、１５０  カメラ、１５５  ワーク、１５５ａ  部品ａ、１５５ｂ  部品ｂ、１６０  特定部、１７０  保存部、２００，１２００，２２００  検査装置、２１２  メモリ、２１６  システムコントローラ、２１８  コントローラ、２２０  ハードディスク、２２２  カメラインターフェイス、２２２ａ  画像バッファ、２２６  制御装置インターフェイス、３００  サーバ装置、４００  表示装置、５００  フィールドデバイス、５２０  サーボドライバ、５２２  サーボモータ、５５０，５５０ａ，５５０ｂ  ロボット、５５０＿１，５５０＿２，５５０＿３，５５０＿４，５５０＿５，５５０＿６  可動軸、５５１  第１アーム、５５２  第２アーム、５５３  第３アーム、５５４  第４アーム、５５５  エンドエフェクタ、５５６  ドリル、５５７  土台、６００  サポート装置、８００，８００ａ，８００ｂ  コンベア、８１０  ＸＹステージ、１５５０  組立品。
【図１】
2020024484.tif 000003
【図２】
2020024484.tif 000004
【図３】
2020024484.tif 000005
【図４】
2020024484.tif 000006
【図５】
2020024484.tif 000007
【図６】
2020024484.tif 000008
【図７】
2020024484.tif 000009
【図８】
2020024484.tif 000010
【図９】
2020024484.tif 000011
【図１０】
2020024484.tif 000012
【図１１】
2020024484.tif 000013