IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社安川電機の特許一覧

特開2023-66236異常推定システム、異常推定方法、及びプログラム
<>
  • 特開-異常推定システム、異常推定方法、及びプログラム 図1
  • 特開-異常推定システム、異常推定方法、及びプログラム 図2
  • 特開-異常推定システム、異常推定方法、及びプログラム 図3
  • 特開-異常推定システム、異常推定方法、及びプログラム 図4
  • 特開-異常推定システム、異常推定方法、及びプログラム 図5
  • 特開-異常推定システム、異常推定方法、及びプログラム 図6
  • 特開-異常推定システム、異常推定方法、及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023066236
(43)【公開日】2023-05-15
(54)【発明の名称】異常推定システム、異常推定方法、及びプログラム
(51)【国際特許分類】
   G05B 19/418 20060101AFI20230508BHJP
   B23K 31/00 20060101ALN20230508BHJP
【FI】
G05B19/418 Z
B23K31/00 M
【審査請求】有
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2021176841
(22)【出願日】2021-10-28
(71)【出願人】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】合屋 昌弘
(72)【発明者】
【氏名】豊田 晃平
【テーマコード(参考)】
3C100
【Fターム(参考)】
3C100AA29
3C100AA56
3C100AA62
3C100BB13
3C100BB15
3C100BB19
3C100BB27
3C100BB33
3C100EE02
(57)【要約】
【課題】異常の推定精度を高める。
【解決手段】異常推定システム(S)は、作業の対象となる対象物を押し付けるための治具を制御する産業装置(30)を有する。取得部(303)は、治具により対象物が押し付けられた後の複数の時点の各々において計測された、産業装置(30)の動作に関する動作データを取得する。推定部(304)は、取得部(303)により取得された動作データに基づいて、異常を推定する。
【選択図】図3
【特許請求の範囲】
【請求項1】
作業の対象となる対象物を押し付けるための治具を制御する産業装置と、
前記治具により前記対象物が押し付けられた後の複数の時点の各々において計測された、前記産業装置の動作に関する動作データを取得する取得部と、
前記取得部により取得された動作データに基づいて、異常を推定する推定部と、
を有する異常推定システム。
【請求項2】
前記治具が前記対象物から離れた時点において計測された前記動作データを取得する第1取得部と、
前記第1取得部により取得された動作データに基づいて、前記異常を推定する第1推定部と、
を有する請求項1に記載の異常推定システム。
【請求項3】
第1事象が発生した第1時点と、第2事象が発生した第2時点と、の各々における計測結果を含む前記動作データを取得する第2取得部と、
前記第2取得部により取得された動作データに基づいて、前記異常を推定する第2推定部と、
を有する請求項1又は2に記載の異常推定システム。
【請求項4】
前記治具が前記対象物に接触することである前記第1事象が発生した前記第1時点と、前記治具が前記対象物から離れることである前記第2事象が発生した前記第2時点と、の各々における計測結果を含む前記動作データを取得する第3取得部と、
前記第3取得部により取得された動作データに基づいて、前記異常を推定する第3推定部と、
を有する請求項3に記載の異常推定システム。
【請求項5】
前記治具が前記対象物に接触した位置と、前記治具が前記対象物から離れた位置と、を示す前記動作データを取得する第4取得部と、
前記第4取得部により取得された動作データに基づいて、前記異常を推定する第4推定部と、
を有する請求項4に記載の異常推定システム。
【請求項6】
前記産業装置の正常時の動作に関する正常時データに基づいて、前記異常を推定する第5推定部を有する、
請求項1~5の何れかに記載の異常推定システム。
【請求項7】
前記取得部により取得された動作データに基づいて、前記対象物に発生した異常を推定する第6推定部と、
請求項1~6の何れかに記載の異常推定システム。
【請求項8】
前記対象物に発生した異常として、前記対象物の幅に関する前記異常を推定する第7推定部を有する、
請求項7に記載の異常推定システム。
【請求項9】
前記取得部により取得された動作データに基づいて、前記作業に関する所定の装置に関する異常を推定する第8推定部を有する、
請求項1~8の何れかに記載の異常推定システム。
【請求項10】
前記異常の推定結果に基づいて、前記作業の前工程に関する前工程データを解析する前工程解析部を有する、
請求項1~9の何れかに記載の異常推定システム。
【請求項11】
前記異常の推定結果に基づいて、前記作業の前工程及び後工程の少なくとも一方を制御する工程制御部を有する、
請求項1~10の何れかに記載の異常推定システム。
【請求項12】
前記異常の推定結果に基づいて、前記作業を制御する作業制御部を有する、
請求項1~11の何れかに記載の異常推定システム。
【請求項13】
過去に実行された前記異常の推定結果と、過去に前記作業が行われた対象物の検査結果と、が学習された学習モデルに基づいて、前記異常の推定で利用されるパラメータを決定する決定部と、
前記パラメータに基づいて、前記異常を推定する第9推定部と、
を有する請求項1~12の何れかに記載の異常推定システム。
【請求項14】
前記対象物は、複数の前記治具により押し付けられ、
前記複数の治具の各々に対応する前記動作データを取得する第5取得部と、
前記第5取得部により取得された動作データに基づいて、前記異常を推定する第10推定部と、
を有する請求項1~13の何れかに記載の異常推定システム。
【請求項15】
複数の前記対象物の各々に対応する前記動作データを取得する第6取得部と、
前記第6取得部により取得された動作データに基づいて、前記異常を推定する第11推定部と、
を有する請求項1~14の何れかに記載の異常推定システム。
【請求項16】
前記対象物を識別可能な対象物識別情報と、前記異常の推定結果と、を関連付けてデータベースに登録する登録部を有する、
請求項1~15の何れかに記載の異常推定システム。
【請求項17】
前記異常として、サイクルタイムの変動を推定する第12推定部を有する、
請求項1~16の何れかに記載の異常推定システム。
【請求項18】
複数種類の前記動作データを取得する第7取得部と、
前記第7取得部により取得された動作データに基づいて、前記異常を推定する第13推定部と、
を有する請求項1~17の何れかに記載の異常推定システム。
【請求項19】
前記動作データとして、トルクに関するトルクデータを取得する第8取得部と、
前記第8取得部により取得されたトルクデータに基づいて、前記異常を推定する第14推定部と、
を有する請求項1~18の何れかに記載の異常推定システム。
【請求項20】
作業の対象となる対象物を押し付けるための治具を制御し、
前記治具により前記対象物が押し付けられた後の複数の時点の各々において計測された、前記産業装置の動作に関する動作データを取得し、
前記動作データに基づいて、異常を推定する、
異常推定方法。
【請求項21】
作業の対象となる対象物を押し付けるための治具により前記対象物が押し付けられた後の複数の時点の各々において計測された、前記産業装置の動作に関する動作データを取得する取得部、
前記取得部により取得された動作データに基づいて、異常を推定する推定部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、異常推定システム、異常推定方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、複数の組立部品を組み付けるメインボディ組立工程において、ワーク位置決め装置の各ロケータにつき、それの目標進出位置と実進出位置との差に基づいて、メインボディの精度を検知することが記載されている。特許文献1には、各ロケータが最終位置決め位置に到達するまでの間及び到達した時に、ロケータが組立部品から受ける反力を測定することによって、不具合を検知することも記載されている。
【0003】
特許文献2には、自動車の車体を組み立てる工程において、ボディサイドの位置決め時の押し込み力を計測することが記載されている。特許文献2には、押し込み力が所定範囲外の場合に、位置不良の態様ごとに用意した押し込み力の分布パターンと、実際に計測した分布パターンと、を比較することによって、組付け位置が不良の部品を推定することも記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許平1-233989号公報
【特許文献2】特公平7-108674号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の目的の1つは、例えば、異常の推定精度を高めることである。
【課題を解決するための手段】
【0006】
本開示の一側面に係る異常推定システムは、作業の対象となる対象物を押し付けるための治具を制御する産業装置と、前記治具により前記対象物が押し付けられた後の複数の時点の各々において計測された、前記産業装置の動作に関する動作データを取得する取得部と、前記取得部により取得された動作データに基づいて、異常を推定する推定部と、を有する。
【発明の効果】
【0007】
本開示によれば、例えば、異常の推定精度が高まる。
【図面の簡単な説明】
【0008】
図1】異常推定システムの全体構成の一例を示す図である。
図2】治具により対象物が押し付けられる様子の一例を示す図である。
図3】異常推定システムで実現される機能の一例を示す機能ブロック図である。
図4】動作データの一例を示す図である。
図5】異常推定システムで実行される処理の一例を示す図である。
図6】変形例における異常推定システムの全体構成の一例を示す図である。
図7】変形例における機能ブロックの一例を示す図である。
【発明を実施するための形態】
【0009】
[1.異常推定システムの全体構成]
本開示に係る異常推定システムの実施形態の一例を説明する。図1は、異常推定システムの全体構成の一例を示す図である。例えば、上位コントローラ10、ロボットコントローラ20、及びモータコントローラ30の各々は、産業用ネットワーク等の任意のネットワークに接続される。異常推定システムSは、後述の産業装置を含めばよく、異常推定システムSに含まれる装置は、図1の例に限られない。
【0010】
上位コントローラ10は、ロボットコントローラ20及びモータコントローラ30の各々を制御する装置である。例えば、上位コントローラ10は、PLC(Programmable Logic Controller)、ラインと呼ばれる単位を管理するコントローラ、又はラインよりも小さいセルと呼ばれる単位を管理するコントローラである。CPU11は、少なくとも1つのプロセッサを含む。記憶部12は、揮発性メモリと、不揮発性メモリと、の少なくとも一方を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
【0011】
ロボットコントローラ20は、ロボット24を制御する装置である。CPU21、記憶部22、及び通信部23の物理的構成は、それぞれCPU11、記憶部12、及び通信部13と同様であってよい。本実施形態では、ロボット24が溶接ロボットである場合を説明するが、ロボット24は、任意の種類であってよく、溶接ロボットに限られない。例えば、ロボット24は、塗装ロボット、搬送ロボット、ピッキングロボット、又は組立ロボットであってもよい。
【0012】
モータコントローラ30は、作業の対象となる対象物を押し付けるための治具34を制御する産業装置の一例である。このため、モータコントローラ30と記載した箇所は、産業装置と読み替えることができる。産業装置は、治具34を制御可能な装置であればよく、モータコントローラ30に限られない。例えば、産業装置は、数値制御装置、マシンコントローラ、PLC、ラインを管理するコントローラ、又は先述のセルを管理するコントローラであってもよい。CPU31、記憶部32、及び通信部33の物理的構成は、それぞれCPU11、記憶部12、及び通信部13と同様であってよい。
【0013】
作業とは、対象物に対して行われる行為である。本実施形態のロボット24が行う溶接作業は、作業の一例でもある。ロボット24が行う作業自体は、任意の作業であってよく、溶接作業に限られない。例えば、塗装、切断、又は成型といった溶接作業以外の加工が作業に相当してもよい。例えば、熱処理、組立、検査、計測、又は搬送が作業に相当してもよい。
【0014】
対象物とは、作業の対象となる物である。対象物は、ワークと呼ばれることもある。本実施形態では、溶接対象の部品が対象物に相当する場合を説明するが、対象物自体は、任意の物であってよく、溶接対象の部品に限られない。例えば、対象物は、最終的な製品であってもよいし、部品を製造するための材料であってもよい。対象物は、工業製品に限られず、食料品又は衣料品といった任意の物であってよい。
【0015】
治具34は、モータコントローラ30により制御されるモータを含む。例えば、治具34は、モータが回転することにより移動する治具クランプ34Aと、対象物を固定するための固定側の部材34Bと、を含む。本実施形態では、ボールねじを利用した溶接治具が治具34に相当する場合を説明するが、治具34自体は、公知の種々の治具を利用可能である。例えば、治具34は、ボールねじ以外の機構を利用した溶接治具であってもよい。例えば、治具34は、切断治具、曲げ治具、圧入治具、熱処理治具、塗装治具、組立治具、検査治具、又は計測治具であってもよい。
【0016】
モータコントローラ30には、センサ35が接続される。センサ35自体は、任意の種類のものを利用可能であり、例えば、トルクセンサ、モータエンコーダ、位置センサ、角度センサ、ビジョンセンサ、モーションセンサ、赤外線センサ、超音波センサ、又は温度センサといったセンサが接続されていてもよい。上位コントローラ10又はロボットコントローラ20にもこれらの任意のセンサが接続されてよい。例えば、センサ35は、治具34又は対象物の状態を検出する。本実施形態では、センサ35がトルクセンサ及び位置センサを含み、トルクデータ及び位置データが取得される場合を説明する。
【0017】
なお、各装置に記憶されるプログラム又はデータは、ネットワークを介して供給されてもよい。また、各装置の物理的構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、メモリカードスロット)や外部機器と接続するための入出力部(例えば、USB端子)が含まれてもよい。この場合、情報記憶媒体に記憶されたプログラム又はデータが、読取部又は入出力部を介して供給されてもよい。例えば、FPGA又はASICといった他の回路が各装置に含まれてもよい。本実施形態では、CPU11,21,31がcircuitryと呼ばれる構成に相当する場合を説明するが、FPGA又はASICといった他の回路がcircuitryに相当してもよい。
【0018】
[2.異常推定システムの概要]
図2は、治具34により対象物が押し付けられる様子の一例を示す図である。図2の下方向の矢印は、時間軸である。例えば、治具34は、治具クランプ34Aと、固定側の部材34Bと、を含む。図2の例では、対象物1及び対象物2が接合するように溶接作業が行われる。対象物1は、治具34の固定側の部材34Bに予め固定されている。治具クランプ34Aにより対象物2が対象物1に押し付けられた状態で、溶接作業が行われる。
【0019】
本実施形態では、溶接作業は、周期的に行われる。ある対象物1及び対象物2に対する溶接作業が完了すると、次の対象物1及び対象物2に対する溶接作業が行われる。図2では、ある周期において溶接作業が行われる様子が示されている。例えば、ある周期の開始直後の時点T1では、治具クランプ34Aは、原点位置P0にある。原点位置P0は、治具クランプ34Aの初期位置である。原点位置P0にある治具クランプ34Aと、固定側の部材34Bと、の間に対象物1及び対象物2が配置される。時点T1では、対象物2は、治具クランプ34Aに触れていない。図1では、時点T1における対象物1及び対象物2の間に空間をあけているが、時点T1において対象物1及び対象物2は互いに触れていてもよい。
【0020】
本実施形態における位置は、対象物2の押し込み方向における位置を意味する。図2の例であれば、対象物2が横方向に押し込まれるので、横方向の位置が、本実施形態における位置に相当する。即ち、治具クランプ34Aの移動方向における位置が、本実施形態における位置に相当する。例えば、原点位置P0を基準とした座標によって位置が表現される。本実施形態のような1次元的な情報ではなく、2次元又は3次元的な情報であってもよい。即ち、平面における2次元的な位置、又は、空間における3次元的な位置であってもよい。
【0021】
例えば、上位コントローラ10は、モータコントローラ30に、治具クランプ34Aの移動を開始させるための移動指令を送信する。モータコントローラ30は、移動指令を受信すると、治具クランプ34Aが対象物2に向けた移動を開始するように、治具34を制御する。治具クランプ34Aは、原点位置P0から移動を開始して徐々に対象物2に近づく。治具クランプ34Aが位置P1で対象物2に触れると(図2の時点T2)、対象物2の押し込みが開始される。
【0022】
治具クランプ34Aは、対象物2に触れたまま対象物2を押し込む。対象物2は、治具クランプ34Aにより押し込まれて、徐々に対象物1に近づく。対象物2が対象物1に触れると、対象物1及び対象物2が互いにしっかりと固定されるように更に押し込まれる。対象物2の押し込みが完了すると(図2の時点T3)、モータコントローラ30から上位コントローラ10に、対象物2の固定が完了したことを示す固定完了通知が送信される。図2では、対象物2の固定が完了した位置をP3とする。
【0023】
上位コントローラ10は、モータコントローラ30から固定完了通知を受信すると、ロボットコントローラ20に、溶接作業を開始することを示す作業開始指令を送信する。ロボットコントローラ20は、作業開始指令を受信すると、対象物1及び対象物2に対する溶接作業を開始するように、ロボット24を制御する。ロボットコントローラ20は、溶接作業が完了すると、上位コントローラ10に、溶接作業が完了したことを示す作業完了通知が送信される。
【0024】
上位コントローラ10は、作業完了通知を受信すると、モータコントローラ30に、対象物2から離れる方向(即ち、原点位置P0に戻る方向)への移動を開始させるための移動指令を送信する。モータコントローラ30は、溶接作業が完了して移動指令を受信すると、治具クランプ34Aが対象物2から離れる方向への移動を開始するように、治具34を制御する(図2の時点T4)。対象物2は、ある程度の力で押し付けられているので、治具クランプ34Aが移動を開始しても、すぐには対象物2から離れない。
【0025】
治具クランプ34Aが対象物2から離れる方向への移動を続けると、治具クランプ34Aは、位置P2において対象物2から離れる(図2の時点T5)。位置P1及び位置P2の差は、溶接された対象物1及び対象物2を押し付ける力が無くなった場合の膨らみの幅である。図2では、時点T5における対象物1及び対象物2の間に空間を設けているが、溶接作業により対象物1及び対象物2は接合されているので、実際には、対象物1及び対象物2の間に空間がないものとする。治具クランプ34Aは、対象物2から離れる方向に移動を続けて、原点位置P0に到達すると停止する(図2の時点T6)。
【0026】
本実施形態では、図2の流れにより、対象物1及び対象物2に対する溶接作業が行われる。例えば、溶接作業中又はその前後に何らかの異常が発生すると、トルクデータ又は位置データに何らかの特徴が表れることがある。例えば、溶接作業前の対象物2の表面に、対象物1とうまく接合しないような凹凸がある場合、治具クランプ34Aが対象物2に触れる位置P1が通常とは異なることがある。例えば、溶接作業中に対象物2が過度に膨張すると、治具クランプ34Aが対象物2から離れる位置P2が通常の位置とは異なることがある。そこで、本実施形態の異常推定システムSは、図2の期間に取得されたトルクデータ及び位置データに基づいて、異常を推定するようにしている。以降、異常推定システムSの詳細を説明する。
【0027】
[3.異常推定システムで実現される機能]
図3は、異常推定システムSで実現される機能の一例を示す機能ブロック図である。
【0028】
[3-1.上位コントローラで実現される機能]
データ記憶部100は、記憶部12を主として実現される。送信部101及び受信部102の各々は、CPU11を主として実現される。
【0029】
[データ記憶部]
データ記憶部100は、ロボットコントローラ20及びモータコントローラ30の各々を制御するために必要なデータを記憶する。例えば、データ記憶部100は、ロボットコントローラ20を制御するための制御プログラムと、この制御プログラムにより参照されるパラメータと、を記憶する。制御プログラムは、任意の言語で作成可能であり、例えば、ロボット言語又はラダー言語により作成されてよい。この点は、他の制御プログラムも同様である。ロボットコントローラ20を制御するための制御プログラムには、ロボットコントローラ20に指令を送信する処理が含まれる。例えば、モータコントローラ30を制御するための制御プログラムと、この制御プログラムにより参照されるパラメータと、を記憶する。この制御プログラムには、モータコントローラ30に指令を送信する処理が含まれる。
【0030】
[送信部]
送信部101は、ロボットコントローラ20を制御するための制御プログラム及びパラメータに基づいて、ロボットコントローラ20に、所定の動作をさせるための指令を送信する。先述した作業開始指令は、送信部101が送信する指令の一例である。送信部101が送信する指令自体は、任意の指令であってよく、例えば、ロボット24を所定位置に移動させる指令、所定のジョブを呼び出す指令、ロボットコントローラ20を起動させる指令、トレースデータを要求する指令、又はパラメータを設定する指令であってもよい。本実施形態の指令が任意の指令であってよい点は、他の指令も同様である。送信部101は、モータコントローラ30を制御するための制御プログラム及びパラメータに基づいて、モータコントローラ30に、所定の動作をさせるための指令を送信する。先述した移動指令は、送信部101が送信する指令の一例である。
【0031】
[受信部]
受信部102は、ロボットコントローラ20及びモータコントローラ30の各々から、指令に応じた応答を受信する。応答は、指令の実行結果を含む。応答は、任意のデータをふくんでよく、例えば、後述の動作データを含んでもよい。例えば、送信部101は、ロボットコントローラ20からの応答が受信されると、送信部101は、ロボットコントローラ20に、次の指令を送信する。次の指令は、ロボットコントローラ20を制御するための制御プログラムに含まれている。例えば、送信部101は、モータコントローラ30からの応答が受信されると、送信部101は、モータコントローラ30に、次の指令を送信する。次の指令は、モータコントローラ30を制御するための制御プログラムに含まれている。先述した固定完了通知及び作業完了通知は、受信部102が受信する応答の一例である。
【0032】
[1-3-2.ロボットコントローラで実現される機能]
データ記憶部200は、記憶部22を主として実現される。送信部201及び受信部202の各々は、CPU21を主として実現される。
【0033】
[データ記憶部]
データ記憶部200は、ロボット24を制御するために必要なデータを記憶する。例えば、データ記憶部200は、ロボット24を制御するためのロボット制御プログラムと、ロボット制御プログラムにより参照されるロボットパラメータと、を記憶する。本実施形態では、ロボット24により溶接作業が行われるので、ロボット制御プログラムには、ロボット24が行う溶接作業の手順を示す処理が含まれている。ロボットパラメータは、ロボット24の目標位置と、溶接作業における出力又は時間と、を示す。データ記憶部200は、ロボット24が行う作業に応じたロボット制御プログラム及びロボットパラメータを記憶すればよい。
【0034】
[送信部]
送信部201は、上位コントローラ10に、上位コントローラ10からの指令に応じた応答を送信する。例えば、送信部201は、上位コントローラ10から受信した作業開始指令が示す作業が完了した場合に、上位コントローラ10に、応答として作業完了通知を送信する。
【0035】
[受信部]
受信部202は、上位コントローラ10から、ロボットコントローラ20の動作に関する指令を受信する。例えば、受信部202は、上位コントローラ10から、作業開始指令を受信する。
【0036】
[1-3-3.モータコントローラで実現される機能]
データ記憶部300は、記憶部32を主として実現される。送信部301、受信部302、取得部303、及び推定部304の各々は、CPU31を主として実現される。
【0037】
[データ記憶部]
データ記憶部300は、治具34を制御するために必要なデータを記憶する。例えば、データ記憶部300は、治具34を制御するための治具制御プログラムと、治具制御プログラムにより参照される治具パラメータと、を記憶する。本実施形態では、治具クランプ34Aが固定側の部材34Bの方向に移動するので、治具制御プログラムには、治具クランプ34Aの移動の手順を示す処理が含まれている。治具34の制御は、移動に限られず、治具34の動作に関する何らかの制御であればよい。例えば、対象物2を固定するために締め付けが必要な治具34であれば、治具34の締め付けを行うことが制御に相当してもよい。例えば、対象物2を固定するための穴に部材を通す必要がある治具であれば、穴に部材を通すことが制御に相当してもよい。治具パラメータは、治具クランプ34Aの移動速度と、治具クランプ34Aの押し付け力と、を示す。データ記憶部300は、治具34の種類に応じた治具制御プログラム及び治具パラメータを記憶すればよい。
【0038】
[送信部]
送信部301は、上位コントローラ10に、上位コントローラ10からの指令に応じた応答を送信する。例えば、送信部301は、上位コントローラ10から受信した移動指令が示す移動が完了した場合に、上位コントローラ10に、応答として、固定完了通知又は移動完了通知を送信する。
【0039】
[受信部]
受信部302は、上位コントローラ10から、ロボットコントローラ20の動作に関する指令を受信する。例えば、受信部302は、上位コントローラ10から、移動指令を受信する。
【0040】
[取得部]
取得部303は、治具34により対象物2が押し付けられた後の複数の時点の各々において計測された、モータコントローラ30の動作に関する動作データを取得する。
【0041】
治具34により対象物2が押し付けられるとは、対象物2に触れた治具34により対象物2に力が加わることである。治具34が対象物2に触れた瞬間も何らかの力が対象物2に加わるので、治具34が対象物2に触れることも治具34により対象物2が押し付けられることに相当する。治具34により対象物2が押し付けられた後とは、治具34により対象物2が押し付けられた時点、又は、この時点よりも後の時点である。図2の例であれば、時点T2は、治具34により対象物2が押し付けられた後の一例である。時点T2よりも後の時点(例えば、時点T3~T6)も、治具34により対象物2が押し付けられた後に相当する。
【0042】
治具34により対象物2が押し付けられた後の複数の時点とは、治具34により対象物2が押し付けられた後における互いに異なる2以上の時点である。この複数の時点には、治具34が対象物2に触れた時点T2(即ち、治具34が対象物2に触れた瞬間)が含まれてもよい。例えば、この複数の時点は、治具34が対象物2に触れた時点T2と、当該時点T2よりも後の時点と、を含む。例えば、この複数の時点は、治具34が対象物2に触れた時点T2ではなく、治具34が対象物2に触れた時点よりも後の2以上の時点であってもよい。例えば、溶接作業中の複数の時点であってもよいし、溶接作業が完了してから治具34が対象物2から離れる時点T5までの間の複数の時点であってもよい。
【0043】
動作データは、モータコントローラ30の動作に関する何らかのデータであればよい。例えば、動作データは、センサ35により検出されたデータと、モータコントローラ30の内部処理を示すデータと、の少なくとも一方を含む。本実施形態では、センサ35に含まれるトルクセンサにより検出されたトルクデータと、センサ35に含まれる位置センサにより検出された位置データと、が動作データに相当する場合を説明する。
【0044】
図4は、動作データの一例を示す図である。図4の実線は、トルクデータである。図4の破線は、位置データである。トルクデータ及び位置データは、同じタイムスタンプを有するものとする。図4のように、動作データには、治具クランプ34Aが対象物2に触れる前の時点が含まれてもよい。例えば、取得部303は、ある周期が開始するとトルク値の取得を開始し、この周期が終了するまでのトルク値の取得を継続する。取得部303は、ある周期における開始時点から終了時点までのトルク値を動作データして取得する。動作データには、動作データの取得対象となった期間におけるトルク値の時系列的な変化が示されている。トルク値は、正規化されてもよい。
【0045】
位置データには、治具クランプ34Aの位置(例えば、治具クランプ34Aが対象物2に触れる面)の時系列的な変化が示される。位置データは、センサ35に含まれる位置センサの検出信号に基づいて取得される。例えば、モータエンコーダにより検出されたモータの回転量に基づいて、位置データが取得されもよい。例えば、モーションセンサにより検出された移動量に基づいて、位置データが取得されもよい。例えば、ビジョンセンサにより取得された画像が解析されることによって、位置データが取得されてもよい。なお、動作データは、任意のデータであってよく、トルクデータ及び位置データに限られない。例えば、動作データは、モータの回転方向、モータの速度、モータの角度、又は治具クランプ34Aによる対象物2への押し付け圧力であってもよい。
【0046】
例えば、取得部303は、第1取得部303A、第2取得部303B、第3取得部303C、第4取得部303D、第7取得部303G、及び第8取得部303Hを含む。第5取得部303E及び第6取得部303Fは、後述の変形例で説明する。取得部303は、第1取得部303A~第8取得部303Hのうちの何れかだけを含んでもよいし、第1取得部303A~第8取得部303Hの任意の組み合わせを含んでもよい。取得部303は、第1取得部303A~第8取得部303Hの何れも含まなくてもよい。
【0047】
第1取得部303Aは、治具34が対象物2から離れた時点T5において計測された動作データを取得する。時点T5は、治具34が対象物2に触れた状態から、治具34が対象物2に触れなくなった状態に変化した時点である。例えば、第1取得部303Aは、ある期間に計測された動作データの中から、時点T5における計測結果を取得する。治具34が対象物2から離れる場合、トルク値が特定の特徴を示すことがあるので、第1取得部303Aは、動作データが当該特徴を示した時点を、時点T5として推定する。第1取得部303Aは、当該推定された時点T5における計測結果を取得する。第1取得部303Aは、時点T5を含む期間における計測結果を取得してもよい。
【0048】
例えば、図4のように、第1取得部303Aは、トルク値が低く、かつ、トルク値の変化がない又は小さい状態から、トルク値の増加量が閾値以上になった場合に、治具34が対象物2から離れた時点T5であると推定する。第1取得部303Aは、動作データの中から、当該推定された時点T5におけるトルク値を取得する。時点T5の推定方法は、上記の例に限られず、任意の方法であってよい。例えば、第1取得部303Aは、動作データの取得を開始してから所定時間後の時点を、時点T5として推定してもよい。他にも例えば、第1取得部303Aは、上位コントローラ10から溶接作業が完了した旨の通知を受信してから所定時間後の時点を、時点T5として推定してもよい。
【0049】
第2取得部303Bは、第1事象が発生した第1時点と、第2事象が発生した第2時点と、の各々における計測結果を含む動作データを取得する。第1事象及び第2事象は、異常を推定するうえで重要な要素になる事象である。本実施形態では、第1事象が、治具34が対象物2に接触することであり、第2事象が、治具34が対象物2から離れることである場合を説明する。このため、本実施形態では、第2取得部303Bの処理は、この後に説明する第3取得部303Cの処理と同様である。
【0050】
第3取得部303Cは、治具34が対象物2に接触することである第1事象が発生した時点T2と、治具34が対象物2から離れることである第2事象が発生した時点T5と、の各々における計測結果を含む動作データを取得する。時点T2は、第1時点の一例であり、時点T5は、第2時点の一例である。このため、時点T2と記載した箇所は、第1時点と読み替えることができ、時点T5と記載した箇所は、第2時点と読み替えることができる。
【0051】
例えば、第3取得部303Cは、ある期間に計測された動作データの中から、時点T2における計測結果と、時点T5における計測結果と、を取得する。治具34が対象物2に接触した場合、トルク値が特定の第1特徴を示し、治具34が対象物2から離れる場合、トルク値が特定の第2特徴を示すことがあるので、第3取得部303Cは、動作データが当該第1特徴を示した時点を、時点T2として推定し、動作データが当該第2特徴を示した時点を、時点T5として推定する。第3取得部303Cは、当該推定された時点T2及び時点T5の各々における計測結果を取得する。第3取得部303Cは、時点T2及び時点T5の各々を含む期間における計測結果を取得してもよい。時点T5の推定方法は、第2取得部303Bの処理で説明した通りなので、ここでは、時点T2の推定方法を説明する。
【0052】
例えば、図4のように、第3取得部303Cは、トルク値が一定程度あり、かつ、トルク値の変化がない又は小さい状態から、トルク値の増加量が閾値以上になった場合に、治具34が対象物2に接触した時点T2であると推定する。第3取得部303Cは、動作データの中から、当該推定された時点T2におけるトルク値を取得する。時点T2の推定方法は、上記の例に限られず、任意の方法であってよい。例えば、第3取得部303Cは、動作データの取得を開始してから所定時間後の時点を、時点T2として推定してもよい。他にも例えば、第3取得部303Cは、治具クランプ34Aが移動を開始してから一定距離進んだ時点を、時点T2として推定してもよい。
【0053】
なお、第1事象及び第2事象は、本実施形態の例に限られない。例えば、第1事象は、治具34が対象物2に触れることではなく、治具クランプ34Aが移動を開始することであってもよいし、治具クランプ34Aが原点位置P0から所定距離だけ進むことであってもよい。例えば、第1事象は、治具34が対象物2に触れた後に、トルク値が閾値以上になることであってもよいし、トルク値の変化がない又は小さい状態になることであってもよい。例えば、第1事象は、溶接作業が開始されることであってもよいし、溶接作業が終了することであってもよい。例えば、第1事象は、溶接作業の完了後に、治具クランプ34Aが移動を開始することであってもよい。
【0054】
例えば、第2事象は、第1事象よりも後に発生しうる事象であればよい。例えば、第2事象は、治具34が対象物2から離れることではなく、治具クランプ34Aが原点位置P0から所定距離だけ進むことであってもよい。例えば、第2事象は、治具34が対象物2に触れることであってもよい。例えば、第2事象は、治具34が対象物2に触れた後に、トルク値が閾値以上になることであってもよいし、トルク値の変化がない又は小さい状態になることであってもよい。例えば、第2事象は、溶接作業が開始されることであってもよいし、溶接作業が終了することであってもよい。例えば、第2事象は、溶接作業の完了後に、治具クランプ34Aが移動を開始することであってもよい。
【0055】
第4取得部303Dは、治具34が対象物2に接触した位置P1と、治具34が対象物2から離れた位置P2と、を示す動作データを取得する。治具34が対象物2に接触した位置P1は、治具34が対象物2に接触した時点T2の位置を意味してもよいし、その前後の時点の位置を意味してもよい。即ち、治具34が対象物2に接触した位置P1は、治具34が対象物2に接触した瞬間に限られず、時間的に多少前後した時点の位置であってもよい。
【0056】
同様に、治具34が対象物2から離れた位置P2は、治具34が対象物2から離れた時点T5の位置を意味してもよいし、その前後の時点の位置を意味してもよい。即ち、治具34が対象物2から離れた位置P2は、治具34が対象物2から離れた瞬間に限られず、時間的に多少前後した時点の位置であってもよい。なお、位置の意味は、先述したように、治具クランプ34Aの移動方向の位置である。位置は、地球上の絶対的な位置を意味してもよいし、治具クランプ34Aの原点位置P0等の基準となる位置に対する相対位置を意味してもよい。
【0057】
例えば、第4取得部303Dは、センサ35により検出された位置データのうち、時点T2における治具クランプ34Aの位置P1と、時点T5における治具クランプ34Aの位置P2と、を取得する。時点T2及び時点T5の特定方法は、先述した通りである。位置P1及び位置P2は、位置データにおける時点T2及び時点T5の値である。このため、本実施形態では、トルクデータは時点T2及び時点T5を特定するために用いられ、位置データは、位置P1及び位置P2を特定するために用いられる。
【0058】
第7取得部303Gは、複数種類の動作データを取得する。例えば、第7取得部303Gは、複数種類の動作データとして、トルクデータ及び位置データを取得する。第7取得部303Gは、トルクデータ及び位置データ以外の動作データを取得してもよい。例えば、第7取得部303Gは、動作データとしては、先述したトルクセンサ及び位置センサ以外のセンサ35で検出された動作データを取得してもよいし、センサ35により検出された動作データではなく、モータコントローラ30の内部処理を示す動作データを取得してもよい。第7取得部303は、3種類以上の動作データを取得してもよい。
【0059】
第8取得部303Hは、動作データとして、トルクに関するトルクデータを取得する。第8取得部303Hは、トルクセンサであるセンサ35の検出結果に基づいて、トルクデータを取得する。例えば、第8取得部303Hは、トルク値の時系列的な変化を示すトルクデータを取得する。
【0060】
[推定部]
推定部304は、取得部303により取得された動作データに基づいて、異常を推定する。異常は、異常推定システムSにおいて発生しうる異常である。異常を推定するとは、異常の発生を判定すること、又は、異常の疑いを示すスコアを計算することである。本実施形態では、対象物1又は対象物2の異常が推定される場合を説明するが、推定部304が推定する異常は、任意の種類であってよく、対象物1又は対象物2の異常に限られない。例えば、推定部304は、治具34の異常、モータコントローラ30の異常、センサ35の異常、ロボットコントローラ20の異常、ロボット24の異常、上位コントローラ10の異常、その他の周辺機器の異常、又はこれらの複数の異常であってもよい。
【0061】
推定部304は、予め定められた推定方法に基づいて、動作データから異常を推定する。本実施形態では、異常の推定対象となる動作データと、正常時に計測された正常時データと、を比較する方法を推定方法として説明するが、異常の推定方法自体は、種々の方法を利用可能である。例えば、異常の推定方法は、動作データに含まれる値を解析する解析的手法であってもよい。解析的手法では、動作データに含まれる値を閾値と比較したり、動作データに含まれる値の変化量を閾値と比較したりすることによって、異常が推定される。例えば、動作データに含まれる値又はその変化量が閾値以上になった時点が1つでもある場合、又は、この時点が所定数以上ある場合に異常が推定される。
【0062】
他にも例えば、異常の推定方法は、学習モデルを利用した機械学習手法であってもよい。機械学習手法の場合、教師有り学習又は教師無し学習の何れが利用されてもよい。機械学習自体は、公知の種々の手法を利用可能であり、例えば、畳み込みニューラルネットワーク、再帰的ニューラルネットワーク、又は深層学習を利用可能である。学習モデルには、過去に計測された動作データと、当該動作データが異常であるか否かを示す情報と、のペアを含む訓練データが学習されているものとする。畳み込みニューラルネットワークの場合、動作データは、波形を示す画像として入力されてもよい。例えば、推定部304は、取得部303により取得された動作データを、学習済みの学習モデルに入力する。学習モデルは、入力された動作データに基づいて特徴量を計算し、当該計算された特徴量に基づいて、異常の推定結果を出力する。学習モデルは、異常の有無ではなく、異常の疑いを示すスコア(異常の蓋然性)を出力してもよい。
【0063】
例えば、推定部304は、第1推定部304A、第2推定部304B、第3推定部304C、第4推定部304D、第5推定部304E、第6推定部304F、第7推定部304G、第13推定部304M、及び第14推定部304Nを含む。第8推定部304H~第12推定部304Lは、後述の変形例で説明する。推定部304は、第1推定部304A~第14推定部304Nのうちの何れかだけを含んでもよいし、第1推定部304A~第14推定部304Nの任意の組み合わせを含んでもよい。推定部304は、第1推定部304A~第14推定部304Nの何れも含まなくてもよい。
【0064】
第1推定部304Aは、第1取得部303Aにより取得された動作データに基づいて、異常を推定する。例えば、第1推定部304Aは、治具34が対象物2から離れた時点T5において計測された動作データと、この時点T5における正常値を示す正常時データと、のずれが閾値以上ではない場合には、異常ではないと推定し、このずれが閾値以上である場合に、異常であると推定する。なお、第1推定部304Aは、正常時データを利用するのではなく、第1取得部303Aにより取得された動作データに含まれる値を解析的手法で解析したり、機械学習手法を利用したりすることによって、異常を推定してもよい。
【0065】
第2推定部304Bは、第2取得部303Bにより取得された動作データに基づいて、異常を推定する。例えば、第2推定部304Bは、第1事象が発生した第1時点と、第2事象が発生した第2時点と、の各々における計測結果を含む動作データと、これらの時点における計測結果の正常値を示す正常時データと、のずれが閾値以上ではない場合には、異常ではないと推定し、このずれが閾値以上である場合に、異常であると推定する。なお、第2推定部304Bは、正常時データを利用するのではなく、第2取得部303Bにより取得された動作データに含まれる値を解析的手法で解析したり、機械学習手法を利用したりすることによって、異常を推定してもよい。
【0066】
第3推定部304Cは、第3取得部303Cにより取得された動作データに基づいて、異常を推定する。例えば、第3推定部304Cは、治具34が対象物2に接触した時点T2と、治具34が対象物2から離れた時点T5と、の各々における計測結果を含む動作データと、これらの時点における計測結果の正常値を示す正常時データと、のずれが閾値以上ではない場合には、異常ではないと推定し、このずれが閾値以上である場合に、異常であると推定する。なお、第3推定部304Cは、正常時データを利用するのではなく、第3取得部303Cにより取得された動作データに含まれる値を解析的手法で解析したり、機械学習手法を利用したりすることによって、異常を推定してもよい。
【0067】
第4推定部304Dは、第4取得部303Dにより取得された動作データに基づいて、異常を推定する。例えば、第4推定部304Bは、治具34が対象物2に接触した位置P1と、治具34が対象物2から離れた位置P2と、を示す動作データと、これらの位置の正常値を示す正常時データと、のずれが閾値以上ではない場合には、異常ではないと推定し、このずれが閾値以上である場合に、異常であると推定する。なお、第4推定部304Dは、正常時データを利用するのではなく、第4取得部303Dにより取得された動作データに含まれる値を解析的手法で解析したり、機械学習手法を利用したりすることによって、異常を推定してもよい。
【0068】
第5推定部304Eは、モータコントローラ30の正常時の動作に関する正常時データに基づいて、異常を推定する。正常時データは、データ記憶部300に予め記憶されているものとする。正常時データは、試験用の対象物を利用して計測された動作データであってもよいし、過去に異常が推定されなかった動作データであってもよい。他にも例えば、正常時データは、過去の複数の動作データの平均であってもよい。第5推定部304Eは、取得部303により取得された動作データと、正常時データと、のずれが閾値以上ではない場合には、異常ではないと推定し、このずれが閾値以上である場合に、異常であると推定する。ずれは、任意の指標を利用して計算可能であり、例えば、ずれの計算対象となる個々の時点の値の差の合計であってもよいし、何らかの重み係数を利用した合計であってもよい。他にも例えば、ずれは、ずれの計算対象となる個々の時点の値の平均値であってもよいし、何らかの重み係数を利用した加重平均であってもよい。
【0069】
第6推定部304Fは、取得部303により取得された動作データに基づいて、対象物(例えば、対象物1及び対象物2の少なくとも一方。以降、これらの少なくとも一方を意味する場合には、対象物の符号を省略する)に発生した異常を推定する。本実施形態では、対象物に発生した異常が対象物の幅に関する異常である場合を説明する。このため、本実施形態では、第6取得部304Fの処理は、この後に説明する第7取得部304Gの処理と同様である。
【0070】
第7推定部304Gは、対象物に発生した異常として、対象物の幅に関する異常を推定する。対象物の幅は、治具34の移動方向における幅である。幅は、対象物の一端から、当該一端に対応する他端までの距離である。当該他端は、当該一端と反対側の端部である。図2の例であれば、対象物の水平方向の幅が対象物の幅に相当する。幅は、厚みということもできる。例えば、第7推定部304Gは、治具34が対象物2に触れた位置P1と、正常時における位置P1と、の差に基づいて、溶接作業前の対象物の幅の異常を推定してもよい。例えば、第7推定部304Gは、治具34が対象物2から離れた位置P2と、正常時における位置P2と、の差に基づいて、溶接作業後の対象物の幅の異常を推定してもよい。
【0071】
第13推定部304Mは、第7取得部303Gにより取得された動作データに基づいて、異常を推定する。例えば、第13推定部304Mは、トルクデータ及び位置データに基づいて、異常を推定する。例えば、第13推定部304Mは、トルクデータ及び位置データに基づいて推定された位置P1及び位置P2に基づいて、異常を推定する。第13推定部304Mは、これらの位置P1及び位置P2と、正常時における位置P1及び位置P2と、のずれが閾値未満の場合には、異常ではないと推定し、このずれが閾値以上である場合に、異常であると推定する。
【0072】
第14推定部304Nは、第8取得部303Hにより取得されたトルクデータに基づいて、異常を推定する。例えば、第14推定部304Nは、トルクデータが示す値と、正常時の値と、のずれが閾値未満の場合には、異常ではないと推定し、このずれが閾値以上である場合に、異常であると推定する。他にも例えば、第14推定部304Nは、トルクデータに基づいて推定した時点T2及び時点T5と、正常時の時点T2及び時点T5と、のずれが閾値未満の場合には、異常ではないと推定し、このずれが閾値以上である場合に、異常であると推定する。なお、この場合の時点T2及び時点T5は、ある周期の開始時点からの経過時間を示してもよい。正常時であれば治具クランプ34Aが対象物2に触れるはずの時点T2からのずれが大きい場合には、異常になる。正常時であれば治具クランプ34Aが対象物2から離れるはずの時点T5からのずれが大きい場合には、異常になる。
【0073】
[4.異常推定システムで実行される処理]
図5は、異常推定システムSで実行される処理の一例を示す図である。CPU11,21,31がそれぞれ記憶部12,22,32に記憶された制御プログラムを実行することによって、図5の処理が実行される。図5の処理は、図3の機能ブロックにより実行される処理の一例である。
【0074】
図5に示すように、上位コントローラ10は、モータコントローラ30に、対象物2に向けて治具34が移動するように移動指令を送信する(S1)。モータコントローラ30は、移動指令を受信すると、対象物2に向けた治具34の移動を開始させ(S2)、動作データの取得も開始する(S3)。S3では、モータコントローラ30は、センサ35の検出信号に基づいて、トルク値及び位置を連続的に取得し、動作データとして時系列的に記録する。以降、本処理が終了するまでの間、トルク値及び位置の取得が継続される。モータコントローラ30は、治具34を移動させて対象物1及び対象物2の固定が完了すると(S4)、上位コントローラ10に、対象物2の固定が完了したことを示す固定完了通知を送信する(S5)。対象物1及び対象物2の固定完了は、トルク値等によって判定されるようにしてもよいし、固定完了を検知するセンサ35が存在してもよい。
【0075】
上位コントローラ10は、固定完了通知を受信すると、ロボットコントローラ20に、溶接作業を開始する旨の作業開始指令を送信する(S6)。ロボットコントローラ20は、作業開始指令を受信すると、ロボット24に溶接作業を開始させる(S7)。モータコントローラ30は、溶接作業中も対象物1及び対象物2が固定するように治具34を制御し、動作データの取得も継続する。溶接作業中に対象物1及び対象物2が膨らむことがあるので、モータコントローラ30は、この膨らみを抑え込むように治具34を制御してもよい。ロボットコントローラ20は、溶接作業が完了すると、上位コントローラ10に、溶接作業が完了したことを示す作業完了通知を送信する(S8)。
【0076】
上位コントローラ10は、作業完了通知を受信すると、モータコントローラ30に、対象物2から離れる方向に治具34を移動するように移動指令を送信する(S9)。モータコントローラ30は、移動指令を受信すると、この方向に治具34の移動を開始する(S10)。モータコントローラ30は、動作データの取得も継続する。モータコントローラ30は、治具34が原点位置P0に到達すると、上位コントローラ10に、治具34が原点位置P0に到達したことを示す移動完了通知を送信する(S11)。上位コントローラ10は、移動完了通知を受信すると、次の対象物2がセットされるのを待機する。
【0077】
モータコントローラ30は、動作データに基づいて、異常を推定する(S12)。S12では、先述したような種々の異常推定が可能である。モータコントローラ30は、異常が推定された場合、所定のアラートを出力し、本処理は終了する。異常が推定された場合には、次の対象物に対する溶接作業が行われないようにしてもよい。異常が推定されない場合、アラートが出力されることなく本処理は終了し、次の対象物2がセットされた場合に、S1の処理から再度実行される。なお、動作データに基づく異常推定は、毎周期実行される必要はなく、複数周期の動作データがまとめて解析されてもよい。
【0078】
本実施形態の異常推定システムSによれば、治具34により対象物2が押し付けられた後の複数の時点の各々において計測された動作データに基づいて異常を推定することによって、対象物2が押し付けられた後の複数の時点の各々における計測結果を利用できるので、異常推定システムSにおける異常の推定精度が高まる。例えば、対象物への作業中における計測結果を利用することによって、作業中に発生した異常を推定できる。例えば、対象物2が治具34から離れる時における計測結果を利用することによって、対象物の幅等の情報をより正確に推定できるので、対象物2に発生した異常を精度よく推定できる。
【0079】
また、異常推定システムSは、治具34が対象物2から離れた時点T5において計測された動作データに基づいて異常を推定することによって、治具34が対象物2から離れた時点T5の計測結果を利用できるので、異常推定システムSにおける異常の推定精度が高まる。例えば、治具34が対象物2から離れた時点T5の計測結果に基づいて対象物の幅等の情報を正確に特定して異常を推定できる。
【0080】
また、異常推定システムSは、第1事象が発生した第1時点と、第2事象が発生した第2時点と、の各々における計測結果を含む動作データに基づいて異常を推定することによって、異常を推定する際に重要な事象が発生した時点の計測結果を利用できるので、異常推定システムSにおける異常の推定精度が高まる。例えば、異常を推定する際にあまり重要ではない時点の計測結果を異常の推定で利用しないようにすれば、ノイズとなる情報が減るので、異常の推定精度が高まる。異常を推定する際にあまり重要ではない時点の計測結果を取得しないようにすれば、重要ではない情報を計測しないので、異常推定システムSの処理負荷が軽減する。
【0081】
また、異常推定システムSは、治具34が対象物2に接触した時点T2と、治具34が対象物2から離れた時点T5と、の各々における計測結果を含む動作データに基づいて異常を推定することによって、異常を推定する際に特に重要な事象が発生した時点の計測結果を利用できるので、異常推定システムSにおける異常の推定精度が高まる。例えば、異常を推定する際にあまり重要ではない時点の計測結果を異常の推定で利用しないようにすれば、ノイズとなる情報が減るので、異常の推定精度が高まる。異常を推定する際にあまり重要ではない時点の計測結果を取得しないようにすれば、重要ではない情報を計測しないので、異常推定システムSの処理負荷が軽減する。
【0082】
また、異常推定システムSは、治具34が対象物2に接触した位置P1と、治具34が対象物2から離れた位置P2と、を示す動作データに基づいて異常を推定することによって、異常推定システムSにおける異常の推定精度が高まる。例えば、これらの位置に基づいて、対象物2の幅の異常を推定できる。
【0083】
また、異常推定システムSは、モータコントローラ30の正常時の動作に関する正常時データに基づいて異常を推定することによって、異常推定システムSにおける異常の推定精度が高まる。より簡易な処理によって異常を推定できるので、異常推定システムSの処理負荷が軽減する。
【0084】
また、異常推定システムSは、対象物に発生した異常の推定精度が高まる。例えば、対象物の品質を評価できる。
【0085】
また、異常推定システムSは、対象物の幅に関する異常を推定できる。例えば、対象物に対する作業により発生した膨らみやへこみを推定できる。
【0086】
また、異常推定システムSは、トルクデータを利用することによって、異常推定システムSにおける異常の推定精度が高まる。
【0087】
また、異常推定システムSは、複数種類の動作データに基づいて異常を推定することによって、複数種類の動作データを総合的に考慮できるので、異常推定システムSにおける異常の推定精度が高まる。
【0088】
[5.変形例]
本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0089】
図6は、変形例における異常推定システムSの全体構成の一例を示す図である。変形例では、変形例2で説明する前工程装置40、変形例3で説明する後工程装置50、及び変形例5で説明する検査装置60が上位コントローラ10に接続される。CPU41,51,61、記憶部42,52,62、及び通信部43,53,63の物理的構成は、それぞれCPU11、記憶部12、及び通信部13と同様であってよい。
【0090】
図7は、変形例における機能ブロックの一例を示す図である。変形例では、取得部303は、第5取得部303E及び第6取得部303Fを含む。推定部304は、第8推定部304H~第12推定部304Lを含む。前工程解析部103、工程制御部104、及び登録部105は、CPU11を主として実現される。作業制御部305及び決定部306は、CPU31を主として実現される。
【0091】
[5-1.変形例1]
例えば、異常推定システムSにおいて異常の推定対象となるのは、対象物に限られない。溶接作業に関する所定の装置の異常が推定されてもよい。所定の装置とは、溶接作業に何らかの関係がある装置である。変形例1では、モータコントローラ30が所定の装置に相当する場合を説明する。このため、変形例1でモータコントローラ30と記載した箇所は、所定の装置と読み替えることができる。
【0092】
変形例1の異常推定システムSは、取得部303により取得された動作データに基づいて、モータコントローラ30に関する異常を推定する第8推定部304Hを含む。第8推定部304Hは、モータコントローラ30が実行する内部処理の異常を推定してもよいし、モータコントローラ30が制御する治具34の異常を推定してもよい。
【0093】
例えば、第8推定部304Hは、取得部303により取得された動作データと、モータコントローラ30が正常に動作する時の正常時データと、のずれが閾値未満の場合には、異常が発生したと推定せず、このずれが閾値以上の場合に、異常が発生したと推定する。第8推定部304Hは、動作データ及び正常時データのずれの大きさ及びタイミングの少なくとも一方に基づいて、異常の種類を推定してもよい。この場合、ずれの大きさ及びタイミングの少なくとも一方と、異常の種類と、の関係が予めデータ記憶部300に記憶されているものとする。第8推定部304Hは、動作データ及び正常時データのずれに関連付けられた種類の異常が発生したことを推定する。
【0094】
なお、実施形態で説明した推定部304と同様に、第8推定部304Hによる異常の推定方法は、正常時データを利用した方法に限られない。例えば、第8推定部304Hは、解析的手法に基づいて、モータコントローラ30に関する異常を推定してもよい。第8推定部304Hは、動作データが示す値の変化量に基づいて、モータコントローラ30に関する異常を推定する。例えば、第8推定部304Hは、変化量が閾値以上の時点が所定時点以上存在する場合に、モータコントローラ30に異常が発生したと推定する。
【0095】
他にも例えば、第8推定部304Hは、機械学習手法に基づいて、モータコントローラ30に関する異常を推定してもよい。この場合、訓練用に取得された動作データと、モータコントローラ30の異常に関する情報(例えば、異常の有無及び種類の少なくとも一方)と、の関係を示す訓練データが学習モデルに学習されているものとする。第8推定部304Hは、学習モデルに動作データを入力し、学習モデルから出力されたモータコントローラ30の異常の推定結果を取得してもよい。
【0096】
なお、変形例1で異常の推定対象となる所定の装置は、任意の装置であってよく、モータコントローラ30に限られない。例えば、所定の装置は、上位コントローラ10、ロボットコントローラ20、ロボット24、治具34、又はセンサ35であってもよい。他にも例えば、所定の装置は、溶接作業よりも前の工程を行う装置であってもよいし、溶接作業よりも後の工程を行う装置であってもよい。例えば、第8推定部304Hは、治具34の異常として、治具クランプ34A及び固定側の部材34Bの少なくとも一方の劣化具合を推定してもよい。
【0097】
変形例1によれば、対象物に対する作業に関するモータコントローラ30等の所定の装置に関する異常の推定精度が高まる。例えば、モータコントローラ30等の所定の装置に突発的に発生した異常や経年劣化による異常を推定できる。
【0098】
[5-2.変形例2]
例えば、推定部304による異常の推定結果に基づいて、溶接作業の前工程で得られたデータを解析してもよい。変形例2の異常推定システムSは、異常の推定結果に基づいて、溶接作業の前工程に関する前工程データを解析する前工程解析部103を含む。前工程は、溶接作業よりも前に行われる工程である。前工程は、溶接作業の1つ前の工程であってもよいし、溶接作業の2つ以上前の工程であってもよい。
【0099】
変形例2では、溶接作業の前に、対象物1及び対象物2に対する塗装が行われるものとする。このため、塗装工程が前工程に相当する。前工程は、任意の工程であってよく、塗装工程に限られない。例えば、塗装工程の前に、対象物1及び対象物2の組立工程が行われる場合には、組立工程も溶接作業の前に行われるので前工程に相当する。他にも例えば、搬送工程、計測工程、又は検査工程といった工程が前工程に相当してもよい。
【0100】
前工程データは、前工程における動作データである。変形例2では、前工程が塗装工程なので、塗装工程における動作データが前工程データに相当する。動作データという言葉の意味自体は、実施形態で説明した通りである。例えば、前工程データは、前工程装置40に接続されたトルクセンサに基づくトルクデータであってもよい。
【0101】
前工程データは、前工程装置40により取得される。前工程装置40は、前工程を行う装置である。変形例2では、前工程が塗装工程なので、塗装ロボットを制御するロボットコントローラが前工程装置40に相当する場合を説明する。前工程装置40は、任意の装置であってよく、例えば、モータコントローラ又は数値制御装置であってもよい。
【0102】
前工程解析部103は、推定部304により異常が推定された場合に、前工程データを解析し、溶接工程における異常の原因が前工程であるか否かを判定する。例えば、前工程解析部103は、前工程データと、前工程の正常時の正常時データと、のずれが閾値未満の場合に、溶接工程における異常の原因が前工程ではないと判定し、このずれが閾値以上の場合に、溶接工程における異常の原因が前工程であると判定する。
【0103】
なお、前工程データの解析方法は、任意の方法を利用可能であり、正常時データを利用した方法に限られない。例えば、前工程解析部103は、解析的手法に基づいて、前工程データを解析してもよい。前工程解析部103は、前工程データが示す値の変化量に基づいて、溶接工程における異常の原因が前工程であるか否かを判定してもよい。例えば、前工程解析部103は、変化量が閾値以上の時点が所定時点以上存在する場合に、溶接工程における異常の原因が前工程であると判定する。
【0104】
例えば、前工程解析部103は、機械学習手法に基づいて、前工程データを解析してもよい。この場合、訓練用に取得された前工程データと、溶接工程における異常の原因が前工程であるか否かを示す情報と、の関係を示す訓練データが学習モデルに学習されているものとする。前工程解析部103は、学習モデルに前工程データを入力し、学習モデルから出力された異常の原因の判定結果を取得してもよい。
【0105】
変形例2によれば、異常の推定結果に基づいて、作業の前工程に関する前工程データを解析することによって、異常の推定精度が高まる。例えば、異常が発生した要因が前工程のこともあるので、異常が発生した要因を精度よく推定できる。
【0106】
[5-3.変形例3]
例えば、推定部304による異常の推定結果を、溶接作業の前工程及び後工程の少なくとも一方の制御に利用してもよい。変形例3の異常推定システムSは、異常の推定結果に基づいて、作業の前工程及び後工程の少なくとも一方を制御する工程制御部104を含む。後工程は、溶接作業よりも後に行われる工程である。後工程は、溶接作業の1つ後の工程であってもよいし、溶接作業の2つ以上後の工程であってもよい。
【0107】
変形例3では、溶接作業の後に、互いに接合された対象物1及び対象物2と、他の対象物と、の組み立てが行われるものとする。このため、組立工程が後工程に相当する。後工程は、任意の工程であってよく、組立工程に限られない。例えば、組立工程の後に、組立後の対象物(対象物1、対象物2、及び他の対象物が組み立てられた物)の検査工程が行われる場合には、検査工程も溶接作業の後に行われるので後工程に相当する。他にも例えば、搬送工程、計測工程、又は検査工程といった工程が後工程に相当してもよい。
【0108】
変形例3では、工程制御部104が前工程及び後工程の両方を制御する場合を説明するが、工程制御部104は、前工程又は後工程の何れか一方のみを制御してもよい。また、変形例3では、工程制御部104が上位コントローラ10で実現され、推定部304がモータコントローラ30で実現されるので、上位コントローラ10は、モータコントローラ30から推定部304の推定結果を取得するものとする。
【0109】
例えば、工程制御部104は、ある対象物で異常が推定された場合に、次の対象物に対する前工程で異常が発生しないように、前工程を制御する。例えば、溶接作業で異常が発生した原因として、前工程である塗装工程における過度な塗装が原因だったと推定された場合には、工程制御部104は、塗装工程における塗装の時間が少なくなるように、前工程を制御する。他にも例えば、工程制御部104は、塗装工程で利用される塗料が減るように、前工程を制御する。例えば、工程制御部104は、ある対象物で異常が推定された場合に、この対象物に発生した異常を打ち消すように、後工程を制御する。例えば、工程制御部104は、溶接作業で対象物の幅に異常が発生した場合に、後工程である組立工程において、この幅に合うようなサイズの他の対象物と組み立てられるように、後工程を制御する。
【0110】
変形例3によれば、異常の推定結果に基づいて、前工程及び後工程の少なくとも一方を制御することによって、前工程及び後工程の少なくとも一方精度が高まる。例えば、ある対象物で異常が発生した場合に、次の対象物ではその異常が発生しないように前工程を制御することによって、次の対象物の品質が高まる。例えば、異常が発生したとしても、その異常を打ち消すように後工程を制御することによって、対象物の品質が高まる。
【0111】
[5-4.変形例4]
例えば、変形例3では、推定部304による異常の推定結果が、溶接作業の前工程及び後工程の少なくとも一方の制御に利用される場合を説明したが、この推定結果は、実行中の溶接作業の制御に利用してもよいし、次以降の溶接作業に利用してもよい。変形例4の異常推定システムSは、異常の推定結果に基づいて、作業を制御する作業制御部305を含む。
【0112】
例えば、作業制御部305は、ある対象物の溶接作業中に異常が推定された場合に、この対象物に発生した異常を打ち消すように、実行中の溶接作業を制御する。例えば、実行中の溶接作業で対象物の幅に異常が発生した場合に、実行中の溶接作業で対象物があまり膨らまないように溶接の温度を制御する。例えば、作業制御部305は、ある対象物の溶接作業中に異常が推定された場合に、次の対象物に対する溶接作業で異常が発生しないように、次の溶接作業を制御してもよい。例えば、溶接作業が完了した対象物の幅に異常が発生した場合に、次の溶接作業では対象物があまり膨らまないように溶接の幅が小さくなるように、次の溶接作業を制御してもよい。
【0113】
変形例4によれば、異常の推定結果に基づいて、対象物に対する作業を制御することによって、対象物の品質が高まる。例えば、対象物に対する作業中に異常が発生したとしても、その異常を打ち消すような作業をすることによって、対象物の品質が高まる。
【0114】
[5-5.変形例5]
例えば、異常の推定で利用されるパラメータの適否は、人手で判定することが難しいことがあるので、機械学習を利用して、このパラメータの適否が判定されてもよい。パラメータは、正常時データを利用した異常推定における閾値、解析的手法における閾値、又は機械学習手法における学習モデルの係数である。変形例5の異常推定システムSは、過去に実行された異常の推定結果と、過去に溶接作業が行われた対象物の検査結果と、が学習された学習モデルに基づいて、異常の推定で利用されるパラメータを決定する決定部306を含む。
【0115】
溶接作業が行われた対象物の検査は、検査装置60により行われる。検査装置60は、任意の検査を実行可能であり、例えば、サイズ、形状、強度、色合い、又はこれらの組み合わせを検査する。検査装置60は、上位コントローラ10に検査結果を送信する。検査結果は、異常の有無だけではなく、正常値からどの程度離れているか、又は、正常と判定される上限値にどの程度近いかといった情報を含んでもよい。
【0116】
学習モデルには、訓練用に実行された異常の推定結果と、訓練用の対象物の検査結果と、を含む訓練データが学習されている。この学習モデルは、異常を推定するための学習モデルではなく、異常推定で利用されるパラメータの適否を判定するためのモデルである。例えば、学習モデルは、異常の推定結果が入力されると、検査結果が出力されるものであってもよい。この場合、検査装置60で実際の検査を行うことなく、現状の推定結果が正しいか否かを学習モデルで推定できる。
【0117】
異常の推定結果が正しいと推定されなくなった場合には、パラメータを変更する必要があるといった判定が可能になる。この場合、決定部306は、現状のパラメータを所定値だけ変化させるようにしてもよい。例えば、決定部306は、自動的にパラメータを決定する学習モデルを利用して、現状の動作データに応じたパラメータを決定してもよい。例えば、決定部306は、異常の推定結果が正しくなくなった割合に応じて、パラメータの変化量を決定してもよい。
【0118】
変形例5の異常推定システムSは、決定部306により決定されたパラメータに基づいて、異常を推定する第9推定部304Iを含む。第9推定部304Iは、異常推定で利用するパラメータを、決定部306により決定されたパラメータに差し替える。パラメータが差し替えられる点で実施形態とは異なるが、異常の推定方法自体は、実施形態で説明した通りである。
【0119】
変形例5によれば、過去に実行された異常の推定結果と、過去に作業が行われた対象物の検査結果と、が学習された学習モデルに基づいて、異常の推定で利用されるパラメータを決定することによって、異常の推定精度が高まる。例えば、異常の推定で利用されるパラメータの一例である閾値は、ユーザが適否を判定することが難しい。この点、学習モデルを利用してパラメータの適否を推定することによって、異常推定において適切な閾値とすることができる。
【0120】
[5-6.変形例6]
例えば、対象物2は、複数の治具34により押し付けられてもよい。変形例6では、治具34ごとに、当該治具34を制御するモータコントローラ30が用意される場合を説明するが、1台のモータコントローラ30が複数の治具34を制御してもよい。個々のモータコントローラ30の構成は、実施形態で説明したモータコントローラ30と同様であってよい。
【0121】
変形例6の異常推定システムSは、複数の治具34の各々に対応する動作データを取得する第5取得部303Eを含む。個々の動作データの内容は、実施形態で説明した動作データと同様である。変形例6では、第5取得部303Eは、複数の治具34に対応する複数のモータコントローラ30の各々から動作データを取得する。
【0122】
変形例6の異常推定システムSは、第5取得部303Eにより取得された動作データに基づいて、異常を推定する第10推定部304Jを含む。第10推定部304Jは、複数の治具34に対応する複数の動作データを総合的に考慮して、異常を推定する。例えば、第10推定部304Jは、実施形態と同様にして個々の動作データに基づいて異常を推定し、所定数以上の治具34で異常が推定された場合に、最終的に異常が発生した推定してもよい。
【0123】
他にも例えば、第10推定部304Jは、ある治具34に対応する動作データで異常が推定されたが、他の治具34に対応する動作データで、当該異常を打ち消すような傾向がみられた場合に、異常が発生したと推定しないようにしてもよい。より具体的には、第10推定部304Jは、ある治具に対応する動作データに基づいて、対象物2の所定の箇所に正常範囲を超える厚みが発生したが、他の箇所に、この厚みを打ち消すようなへこみが存在する場合には、異常が発生したと推定しないようにしてもよい。
【0124】
なお、変形例6では、複数の治具34が同時に対象物2を押し付ける場合を説明したが、複数の治具34が交代で対象物2を押し付けてもよい。この場合にも、第10推定部304Jは、個々の治具34に対応する動作データに基づいて、異常を推定すればよい。
【0125】
変形例6によれば、複数の治具34の各々に対応する動作データに基づいて異常を推定することによって、複数の治具34の状態を総合的に考慮して異常を推定できるので、異常推定システムSにおける異常の推定精度が高まる。例えば、ある1つの治具34だけであれば異常となる場合でも、この異常を打ち消すような推定結果が他の治具34から得られた場合には正常とすることができる。
【0126】
[5-7.変形例7]
例えば、ある1つ対象物ではなく、複数の対象物の各々の動作データが総合的に考慮されて異常が推定されてもよい。変形例7の異常推定システムSは、複数の対象物の各々に対応する動作データを取得する第6取得部303Fを含む。個々の動作データの内容は、実施形態で説明した通りである。例えば、第6取得部303Fは、ある対象物に対する溶接作業が行われた場合に、この対象物に対応する動作データを取得し、次の対象物に対する溶接作業が行われた場合に、次の対象物に対応する動作データを取得する、といったように、対象物に対する溶接作業が行われるたびに次々と動作データを取得する。
【0127】
変形例7の異常推定システムSは、第6取得部303Fにより取得された動作データに基づいて、異常を推定する第11推定部304Kを含む。例えば、第11推定部304Kは、複数の対象物にまたがる動作データの時系列的な変化に基づいて、異常を推定する。第11推定部304Kは、ある対象物に対応する動作データで異常が発生し、かつ、その前後の対象物に対応する動作データは正常の範囲内だった場合には、対象物に異常が発生したと推定する。第11推定部304は、ある対象物に対応する動作データで異常が発生し、かつ、それよりも前の対象物に対応する動作データで徐々に異常に近づいた場合には、モータコントローラ30又は治具34といった所定の装置の異常が発生したと推定する。
【0128】
変形例7によれば、複数の対象物の各々に対応する動作データに基づいて異常を推定することによって、例えば、複数の対象物の状態を総合的に考慮できるので、異常推定システムSにおける異常の推定精度が高まる。例えば、動作データが突発的に異常になったのか、それとも動作データが徐々に異常に近づいたのか、によって異常の原因を推定できるようになる。例えば、ある対象物で異常が発生していたとしても、この異常を打ち消すような推定結果が他の対象物から得られた場合には正常とすることもできる。
【0129】
[5-8.変形例8]
例えば、変形例8の異常推定システムSは、対象物を識別可能な対象物識別情報と、異常の推定結果と、を関連付けてデータベースに登録する登録部105を有してもよい。対象物識別情報は、ある期間に生産された対象物を一意に識別可能な情報である。例えば、対象物識別情報は、対象物に付与された対象物IDである。対象物が最終的な製品の場合には、製品のシリアル番号が対象物識別情報に相当する。対象物識別情報に関連付けられる異常の推定結果は、異常の有無だけではなく、異常の疑いを示す確率であってもよい。対象物識別情報及び異常の推定結果が関連付けられるデータベースは、データ記憶部100に記憶されるものとする。
【0130】
変形例8によれば、対象物を識別可能な対象物識別情報と、異常の推定結果と、を関連付けてデータベースに登録することによって、対象物のトレーサビリティを担保できる。
【0131】
[5-9.変形例9]
例えば、変形例9の異常推定システムSは、異常として、サイクルタイムの変動を推定する第12推定部304Lを有してもよい。サイクルタイムは、周期的に行われる作業に要した時間である。例えば、第12推定部304Lは、溶接作業に要したサイクルタイムが正常値の範囲内であるか否かを判定する。ある周期において図2のような流れで溶接作業が行われる場合、治具クランプ34Aが移動を開始した時点T1から治具クランプ34Aが原点位置P0に戻るまでの時点T6までの期間をサイクルタイムとしてもよい。サイクルタイムは、時点T1~時点T6までの期間に限られず、動作データから何らかの事象を検知可能な複数の時点の間の期間であればよい。例えば、時点T2~時点T5までをサイクルタイムとしてもよい。
【0132】
変形例9によれば、サイクルタイムの変動の推定精度が高まる。
【0133】
[5-10.その他変形例]
例えば、上記変形例を組み合わせてもよい。
【0134】
例えば、上記説明した各機能は、異常推定システムSにおける任意の装置で実現されるようにすればよい。上位コントローラ10に含まれるものとして説明した機能がロボットコントローラ20又はモータコントローラ30により実現されてもよい。ロボットコントローラ20に含まれるものとして説明した機能が上位コントローラ10又はモータコントローラ30により実現されてもよい。
【0135】
例えば、モータコントローラ30に含まれるものとして説明した機能が上位コントローラ10又はロボットコントローラ20により実現されてもよい。上位コントローラ10は、モータコントローラ20の動作データを取得して異常を推定してもよい。即ち、上位コントローラ10により取得部303及び推定部304が実現されてもよい。ある1つの装置で実現されるものとして説明した機能は、複数の装置で分担されてもよい。
【符号の説明】
【0136】
S 異常推定システム、10 上位コントローラ、11,21,31,41,51,61 CPU、12,22,32,42,52,61 記憶部、13,23,33,43,53,63 通信部、20 ロボットコントローラ、24 ロボット、30 モータコントローラ、34 治具、34A 治具クランプ、34B 固定側の部材、35 センサ、40 前工程装置、50 後工程装置、60 検査装置、T1,T2,T3,T4,T5,T6 時点、100 データ記憶部、101 送信部、102 受信部、103 前工程解析部、104 工程制御部、105 登録部、200 データ記憶部、201 送信部、202 受信部、300 データ記憶部、301 送信部、302 受信部、303 取得部、304 推定部、305 作業制御部、306 決定部。
図1
図2
図3
図4
図5
図6
図7