(57)【要約】      （修正有）【課題】ロボットのケーブルの状態を定量的且つ高精度に評価する技術を提供する。【解決手段】ロボットに設けられたケーブルの状態を学習する機械学習装置１０は、ロボットが所定の動作を行っているときにカメラが撮像したケーブルの画像データと、ロボットが所定の動作を行っているときのケーブルの状態を示すデータとを、学習データセットとして取得する学習データ取得部１２と、学習データセットを用いて、画像データとケーブルの状態との相関性を表す学習モデルを生成する学習部１４とを備える。【選択図】図１
2020196077.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに設けられたケーブルの状態を学習する機械学習装置であって、
前記ロボットが所定の動作を行っているときにカメラが撮像した前記ケーブルの画像データと、前記ロボットが前記所定の動作を行っているときの前記ケーブルの状態を示すデータとを、学習データセットとして取得する学習データ取得部と、
前記学習データセットを用いて、前記画像データと前記ケーブルの状態との相関性を表す学習モデルを生成する学習部と、を備える、機械学習装置。
【請求項２】
前記学習データ取得部は、前記所定の動作を行っているときの前記ロボットの位置及び姿勢のデータを、前記学習データセットとしてさらに取得し、
前記学習部は、前記相関性に前記画像データと前記位置及び姿勢との関連性を加味して前記学習モデルを生成する、請求項１に記載の機械学習装置。
【請求項３】
前記学習データ取得部は、前記ケーブル又は前記ロボットの種類のデータを、前記学習データセットとしてさらに取得し、
前記学習部は、前記相関性に前記画像データと前記種類との関連性を加味して前記学習モデルを生成する、請求項１又は２に記載の機械学習装置。
【請求項４】
前記学習データ取得部は、前記所定の動作時の周囲温度を、前記学習データセットとしてさらに取得し、
前記学習部は、前記相関性に前記画像データと前記周囲温度との関連性を加味して前記学習モデルを生成する、請求項１〜３のいずれか１項に記載の機械学習装置。
【請求項５】
前記ケーブルは、電気信号を伝送する伝送線を有し、
前記学習データ取得部は、前記伝送線に流れる電流、又は該伝送線の抵抗を、前記学習データセットとしてさらに取得し、
前記学習部は、前記相関性に前記画像データと前記電流又は前記抵抗との関連性を加味して前記学習モデルを生成する、請求項１〜４のいずれか１項に記載の機械学習装置。
【請求項６】
前記ケーブルは、流体を送給する送給管を有し、
前記学習データ取得部は、前記所定の動作時の前記流体の圧力を、前記学習データセットとしてさらに取得し、
前記学習部は、前記相関性に前記画像データと前記圧力との関連性を加味して前記学習モデルを生成する、請求項１〜５のいずれか１項に記載の機械学習装置。
【請求項７】
前記ケーブルは、光を伝搬する光ファイバを有し、
前記学習データ取得部は、前記所定の動作時の前記光の光学特性を、前記学習データセットとしてさらに取得し、
前記学習部は、前記相関性に前記画像データと前記光学特性との関連性を加味して前記学習モデルを生成する、請求項１〜６のいずれか１項に記載の機械学習装置。
【請求項８】
前記機械学習装置は、該機械学習装置とネットワークを介して通信可能に接続された記憶装置に前記学習データセットを送信し、該学習データセットを該記憶装置に記憶させる、請求項１〜７のいずれか１項に記載の機械学習装置。
【請求項９】
ロボットと、
請求項１〜８のいずれか１項に記載の機械学習装置と、
前記ロボットが前記所定の動作を行っているときに前記ケーブルを撮像し、前記画像データとして前記学習データ取得部に供給するカメラと、
前記学習部が生成した前記学習モデルに基づいて、前記ロボットが前記所定の動作を行っているときの前記ケーブルの状態を判定する状態判定部と、を備える、ロボットシステム。
【請求項１０】
ロボットに設けられたケーブルの状態を学習する機械学習方法であって、
プロセッサが、
前記ロボットが所定の動作を行っているときにカメラが撮像した前記ケーブルの画像データと、前記ロボットが前記所定の動作を行っているときの前記ケーブルの状態を示すデータとを、学習データセットとして取得し、
前記学習データセットを用いて、前記画像データと前記ケーブルの状態との相関性を表す学習モデルを生成する、機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに設けられたケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法に関する。
【背景技術】
【０００２】
ロボットに設けられたケーブルを監視する装置が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２２６０００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、ロボットのケーブルの状態を定量的且つ高精度に評価する技術が求められている。
【課題を解決するための手段】
【０００５】
本開示の一態様において、ロボットに設けられたケーブルの状態を学習する機械学習装置は、ロボットが所定の動作を行っているときにカメラが撮像したケーブルの画像データと、ロボットが所定の動作を行っているときのケーブルの状態を示すデータとを、学習データセットとして取得する学習データ取得部と、学習データセットを用いて、画像データとケーブルの状態との相関性を表す学習モデルを生成する学習部とを備える。
【０００６】
本開示の他の態様において、ロボットに設けられたケーブルの状態を学習する機械学習方法は、プロセッサが、ロボットが所定の動作を行っているときにカメラが撮像したケーブルの画像データと、ロボットが所定の動作を行っているときのケーブルの状態を示すデータとを、学習データセットとして取得し、学習データセットを用いて、画像データとケーブルの状態との相関性を表す学習モデルを生成する。
【発明の効果】
【０００７】
本開示によれば、ケーブルの画像データとケーブルの状態との相関性を定量的に表すモデルを、容易且つ高精度に求めることができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る機械学習装置のブロック図である。
【図２】一実施形態に係るロボットの斜視図である。
【図３】一実施形態に係るケーブルの断面図である。
【図４】他の実施形態に係るケーブルの断面図である。
【図５】さらに他の実施形態に係るケーブルの断面図である。
【図６】図２に示す手首部と上腕部との連結部分を拡大した拡大図である。
【図７】ロボットが所定の動作を行っているときのケーブルの屈曲状態を説明するための図である。
【図８】ロボットが所定の動作を行っているときのケーブルの屈曲状態を説明するための図である。
【図９】ロボットが所定の動作を行っているときのケーブルの屈曲状態を説明するための図である。
【図１０】図１に示す機械学習装置が行う学習サイクルの一例を示すフローチャートである。
【図１１】ニューロンのモデルを模式的に示す。
【図１２】多層ニューラルネットワークのモデルを模式的に示す。
【図１３】一実施形態に係るロボットシステムのブロック図である。
【図１４】図１３に示すロボットシステムの動作フローの一例を示すフローチャートである。
【図１５】他の実施形態に係るロボットシステムのブロック図である。
【図１６】図１５に示すロボットシステムの動作フローの一例を示すフローチャートである。
【図１７】一実施形態に係るネットワークシステムのブロック図である。
【発明を実施するための形態】
【０００９】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図１を参照して、一実施形態に係る機械学習装置１０について説明する。機械学習装置１０は、プロセッサ（ＣＰＵ、ＧＰＵ等）、記憶部（ＲＯＭ、ＲＡＭ等）、及び入力装置（キーボード、マウス、タッチパネル等）等を有するコンピュータ、又は、コンピュータが実行する、学習アルゴリズム等のソフトウェアから構成され得る。
【００１０】
機械学習装置１０は、後述するロボット２０に設けられたケーブル２２の状態（正常状態、異常状態等）を学習する。以下、図２を参照して、ロボット２０について説明する。本実施形態においては、ロボット２０は、垂直多関節ロボットであって、ベース部２４、旋回胴２６、下腕部２８、上腕部３０、手首部３２、及びケーブル２２を有する。
【００１１】
ベース部２４は、作業セルの床の上に固定される。旋回胴２６は、鉛直軸周りに回動可能となるようにベース部２４に設けられている。下腕部２８は、水平軸周りに回動可能となるように旋回胴２６に設けられている。上腕部３０は、下腕部２８の先端部に回動可能に設けられている。手首部３２は、上腕部３０の前端部に回動可能に設けられている。
【００１２】
手首部３２の先端部には、所定の作業（溶接、ワークハンドリング、加工、塗装等）を行うエンドエフェクタ（溶接トーチ、ロボットハンド、工具、塗料塗布器等。図示せず）が着脱可能に取り付けられる。ロボット２０には、複数のサーボモータ（図示せず）が内蔵され、これらサーボモータは、ロボット２０の可動要素（すなわち、旋回胴２６、下腕部２８、上腕部３０、手首部３２）を駆動する。
【００１３】
ケーブル２２は、複数の拘束具３４を用いて、ロボット２０の各可動要素に敷設されている。各々の拘束具３４は、ロボット２０の可動要素に所定位置で固定され、その内部にケーブル２２を受容する孔を画定する。ケーブル２２は、拘束具３４の孔に挿通され、拘束具３４によって拘束される。ロボット２０における拘束具３４の固定位置は、ロボット２０の種類毎に定められる。
【００１４】
ロボット２０が行う作業に応じて、様々な種類のケーブル２２が用いられる。図３に、第１の種類のケーブル２２Ａの断面図を示す。ケーブル２２Ａは、送給管３６、複数の伝送線３８、及びシース４０を有する。送給管３６は、シース４０の軸線に沿って延びる円筒状の部材である。送給管３６は、ロボット２０の作業に用いられる流体又は線材を送給する。
【００１５】
一例として、手首部３２に、エンドエフェクタとして溶接トーチが取り付けられて、ロボット２０がワークへの溶接作業を行う場合、送給管３６は、該溶接トーチに、流体としてのアシストガスを送給する。又は、送給管３６は、その内部空間に、線材としての溶接ワイヤを収容し、該溶接ワイヤを溶接トーチへ送給する。また、他の例として、手首部３２に工具が取り付けられて、ロボット２０がワークへの加工作業を行う場合、送給管３６は、該工具に、流体としての圧縮ガスを送給する。
【００１６】
伝送線３８は、電気信号を伝送する。例えば、伝送線３８は、ロボット２０に内蔵されたサーボモータ、又は、手首部３２に取り付けられたエンドエフェクタに信号を伝送する。ケーブル２２Ａにおいては、送給管３６及び伝送線３８が、シース４０の内部でランダムに配置されている。
【００１７】
図４に、第２の種類のケーブル２２Ｂの断面図を示す。ケーブル２２Ｂは、送給管３６、計４本の伝送線３８、及びシース４０を有しており、伝送線３８は、送給管３６の外周側で該送給管３６の周方向へ略等間隔で並ぶように配置されている。このように、ケーブル２２Ｂにおいては、送給管３６、伝送線３８、及びシース４０が、同心状に配置されている。
【００１８】
図５に、第３の種類のケーブル２２Ｃの断面図を示す。ケーブル２２Ｂは、計３本の伝送線３８、光ファイバ４２、及びシース４０を有している。一例として、手首部３２に、エンドエフェクタとしてレーザ加工ヘッドが取り付けられて、ロボット２０がワークへのレーザ加工作業を行う場合、光ファイバ４２は、内部でレーザ光を伝搬させて、レーザ加工ヘッドにレーザ光を供給する。ケーブル２２Ｃにおいては、伝送線３８及び光ファイバ４２が、シース４０の内部でランダムに配置されている。
【００１９】
以上のように、ロボット２０においては、複数の種類のケーブル２２（２２Ａ、２２Ｂ、２２Ｃ等）が用いられ得る。ケーブル２２の種類は、例えば、用いる線条体（送給管３６、伝送線３８、光ファイバ４２）の種類、線条体の数、シース４０内の線条体の配置、シース４０の材質、該シース４０の内部で複数の線条体を所定の間隔で縛る緊縛線の位置に応じて、分類される。
【００２０】
図２を参照して、カメラ５０が、ケーブル２２を撮像するために設けられている。カメラ５０は、ロボット２０が所定の動作を行っているときに、ケーブル２２を撮像する。例えば、「所定の動作」は、ロボット２０が作業（溶接、ワークハンドリング、加工、塗装等）を行うときのロボット２０の一連の動作である。この所定の動作を行う場合、ロボット２０は、予め定められたロボットプログラムに従って各可動要素（旋回胴２６、下腕部２８、上腕部３０、手首部３２）を動作させ、作業のための一連の動作を行う。
【００２１】
代替的には、「所定の動作」は、ロボット２０の第１の要素（すなわち、旋回胴２６、下腕部２８、上腕部３０、又は手首部３２）を、第２の要素（ベース部２４、旋回胴２６、下腕部２８、又は上腕部３０）に対して、予め定めた第１の位置と第２の位置との間で回動させる動作であってもよい。
【００２２】
カメラ５０は、ロボット２０が所定の動作を行っているときに、ケーブル２２における予め定めた位置を予め定めた視線方向で撮像するように、設置されている。カメラ５０は、ロボット２０とは別の位置に固定されてもよいし、又は、ロボット２０の要素（ベース部２４、旋回胴２６、下腕部２８、又は上腕部３０）上に固定されてもよい。なお、本実施形態では、一例として、カメラ５０が、手首部３２と上腕部３０との連結部の近傍位置でケーブル２２を撮像するように設置されている場合について、説明する。
【００２３】
ロボット２０が所定の動作を行っているときに手首部３２が上腕部３０に対して回動すると、ケーブル２２は、手首部３２と上腕部３０との連結部の近傍位置で屈曲することになる。図６〜図９に、所定の動作時におけるケーブル２２の屈曲状態を模式的に示す。例えば、所定の動作の間に、手首部３２が上腕部３０に対して、図６に示す初期位置から、図７〜図９に示す第１の基準位置まで回動したとする。
【００２４】
図６に示す初期位置においては、手首部３２の軸線Ａ１と、上腕部３０の軸線Ａ２とが、略平行になっている一方、図７〜図９に示す第１の基準位置においては、手首部３２の軸線Ａ１は、上腕部３０の軸線Ａ２に対して、所定の角度θ１で傾斜している。図７〜図９は、所定の動作時に手首部３２が上腕部３０に対して第１の基準位置に配置されたときのケーブル２２の屈曲状態の例を示している。なお、比較のために、図７に示すケーブルの位置を、図８に点線で重ねて表示し、また、図７及び図８に示すケーブルの位置を、図９に点線及び一点鎖線でそれぞれ重ねて表示している。
【００２５】
ケーブル２２の拘束位置の誤差、又はロボット２０の要素の寸法誤差等に起因して、図７〜図９に示すように、同じ種類のケーブル２２の間で、手首部３２が上腕部３０に対して第１の基準位置に配置されたときの該ケーブル２２の屈曲の度合いが、異なり得る。
【００２６】
例えば、図７及び図８に示すケーブル２２の屈曲の度合いは、許容範囲内であって、ケーブル２２の性能（伝送線３８の信号伝送性、送給管３６の流体流動性、光ファイバ４２の光伝搬性、シース４０の耐屈曲性等）に影響を与えないと判断される一方、図９に示すケーブル２２の屈曲の度合いは、許容範囲外であって、ケーブル２２の性能に影響を与えると判断され得る。
【００２７】
機械学習装置１０は、ロボット２０が所定の動作を行っているときのケーブル２２の状態（正常状態、異常状態等）を学習する。図１を参照して、機械学習装置１０は、学習データ取得部１２、及び学習部１４を備える。学習データ取得部１２は、ロボット２０が所定の動作を行っているときにカメラ５０が撮像したケーブル２２の画像データＤｉと、ロボット２０が所定の動作を行っているときのケーブル２２の状態Ｓを示すデータ（以下、状態データＤｓとする）とを、学習データセットＤＳとして取得する。
【００２８】
具体的には、カメラ５０は、ロボット２０が所定の動作を行っているときに、手首部３２と上腕部３０との連結部の近傍位置で、視線方向ＶＤに沿ってケーブル２２を撮像する。カメラ５０は、撮像した画像データＤｉを、学習データ取得部１２に供給する。一方、ケーブル２２の状態データＤｓは、例えば、「正常状態」、「異常状態」等のラベル情報を含む。ここで、正常状態とは、例えば図７及び図８に示すように、ケーブル２２の屈曲が許容範囲内となっている状態である。一方、異常状態とは、例えば、図９に示すように、ケーブル２２の屈曲が許容範囲外となっている状態である。
【００２９】
なお、状態データＤｓは、「正常状態」及び「異常状態」のいずれか一方のラベル情報のみであってもよいし、「正常状態」のラベル情報と「異常状態」のラベル情報の双方を含んでもよい。また、「正常状態」のラベル情報として、「新品状態」、「中古状態」といった複数のラベル情報を設定してもよい。また、「異常状態」のラベル情報として、「異常状態レベル１」、「異常状態レベル２」、「異常状態レベル３」といったように、異常状態の度合いに応じた複数のラベル情報を設定してもよい。
【００３０】
ケーブル２２の状態データＤｓ（すなわち、ラベル情報）は、オペレータによって定められる。例えば、オペレータは、カメラ５０が撮像した画像データＤｉを目視することによって、ケーブル２２の状態Ｓ（正常状態、異常状態）を確認し、状態データＤｓを学習データ取得部１２に入力する。学習データ取得部１２は、カメラ５０から取得した画像データＤｉと、オペレータによって定められた状態データＤｓとを、学習データセットＤＳとして取得する。
【００３１】
学習部１４は、画像データＤｉ及び状態データＤｓの学習データセットＤＳを用いて、画像データＤｉとケーブル２２の状態Ｓとの相関性を表す学習モデル（関数）ＬＭを生成する。例えば、学習部１４は、教師あり学習を実行することで、学習モデルＬＭを生成する。この場合、ロボット２０は、所定の動作を繰り返し試行し、学習データ取得部１２は、ロボット２０が所定の動作を実行する毎に、学習データセットＤＳを教師データとして繰り返し取得する。
【００３２】
学習部１４は、教師データとして取得した画像データＤｉ（例えば、図７〜図９に示すケーブル２２の画像データ）と状態データＤｓ（正常状態、異常状態等のラベル情報）との相関性を暗示する特徴を識別することで、学習モデルＬＭを学習していく。このような教師あり学習として、例えば、サポートベクターマシン（ＳＶＭ）、又は混合ガウスモデル（ＧＭＭ）といったアルゴリズムを用いることができる。
【００３３】
以下、図１０を参照して、機械学習装置１０が行う学習サイクルのフローについて説明する。ステップＳ１において、ロボット２０は、所定の動作を行い、カメラ５０は、ロボット２０が所定の動作を行っているときに、ケーブル２２を撮像する。一例として、カメラ５０は、ロボット２０が所定の動作を行っている間に手首部３２が上腕部３０に対して図７〜図９に示す第１の基準位置に配置された時点τ１で、ケーブル２２を１回だけ撮像する。
【００３４】
他の例として、カメラ５０は、ロボット２０が所定の動作を行っている間にケーブル２２を連続的に撮像（換言すれば、動画撮影）してもよい。この場合、カメラ５０は、手首部３２の軸線Ａ１が上腕部３０の軸線Ａ２に対して所定の角度θｎ（ｎ＝１，２，３，・・・）で傾斜する第ｎの基準位置に手首部３２が上腕部３０に対して配置された時点τｎで、ケーブル２２を撮像する。
【００３５】
ステップＳ２において、学習データ取得部１２は、学習データセットＤＳを取得する。具体的には、学習データ取得部１２は、ステップＳ１でロボット２０が所定の動作を行っている間にカメラ５０が撮像したケーブル２２の画像データＤｉを、該カメラ５０から取得する。
【００３６】
また、学習データ取得部１２は、ステップＳ１の実行時におけるケーブル２２の状態Ｓを示すデータ（状態データＤｓ）として、正常状態のラベル情報、又は異常状態のラベル情報を取得する。具体的には、オペレータは、カメラ５０が撮像したケーブル２２の画像データＤｉを目視することで、該ケーブル２２が正常状態であるか、又は異常状態であるかを確認する。
【００３７】
そして、オペレータは、機械学習装置１０の入力装置を操作して、状態データＤｓとして、正常状態のラベル情報、又は異常状態のラベル情報を入力する。学習データ取得部１２は、入力された正常状態のラベル情報、又は異常状態のラベル情報を取得する。このようにして、学習データ取得部１２は、ケーブル２２の画像データＤｉと状態データＤｓの学習データセットＤＳを取得し、互いに関連付けて記憶部に記憶する。
【００３８】
ステップＳ３において、学習部１４は、ステップＳ２で取得した学習データセットＤＳを用いて、画像データＤｉと状態Ｓとの相関性を表す学習モデルＬＭを生成する。具体的には、学習部１４は、教師あり学習のアルゴリズム（ＳＶＭ、ＧＭＭ等）を実行することによって、学習モデルＬＭを学習する。そして、フローは、ステップＳ１に戻る。
【００３９】
このような学習サイクルを実行することによって、学習モデルＬＭの学習が進行し、学習モデルＬＭが最適解へ導かれることになる。オペレータは、図１０に示す学習サイクルを、複数のロボット２０に関して実行する。これにより、より多くの学習データセットＤＳを取得することができ、学習モデルＬＭの学習を、より高度に進めることができる。本実施形態によれば、ケーブル２２の画像データＤｉとケーブル２２の状態Ｓとの相関性を定量的に表すモデルを、容易且つ正確に求めることができる。
【００４０】
機械学習装置１０の他の機能として、ステップＳ２において、学習データ取得部１２は、ケーブル２２の種類（第１の種類、第２の種類、・・・第ｎの種類）のデータ、又は、ロボット２０の種類のデータを、学習データセットＤＳとしてさらに取得してもよい。ケーブル２２の種類のデータは、ケーブル２２の種類を識別する情報、用いる線条体（送給管３６、伝送線３８、光ファイバ４２）の種類を識別する情報、線条体の数、シース４０内の線条体の配置を示す情報、シース４０の材質、該シース４０の内部で複数の線条体を所定の間隔で縛る緊縛線の位置の情報等を含む。
【００４１】
ケーブル２２の種類を識別する情報は、例えば、「第ｎの種類」といった文字情報であってもよいし、又は、ケーブル製造会社がケーブル毎に付す製品番号であってもよい。また、線条体の種類を識別する情報は、例えば、「送給管」、「伝送線」、「光ファイバ」といった文字情報であってもよい。
【００４２】
また、線条体の配置を示す情報は、例えば、「ランダム配置」、「同心配置」といった文字情報であってもよい。また、シース４０の材質は、例えば、「樹脂」、「ゴム」といった文字情報、又は、シース４０の材料の製造会社が付す製品番号等であってもよい。また、緊縛線の位置の情報は、例えば、２つの緊縛線の間の平均距離、又は緊縛線の数であってもよい。
【００４３】
また、ロボット２０の種類のデータは、ロボット２０の種類を識別する情報、敷設されるケーブル２２の数、ロボット２０における拘束具３４の固定位置の情報等を含む。ロボット２０の種類を識別する情報は、例えば、「第ｎの種類」といった文字情報であってもよいし、又は、ロボット製造会社がロボット毎に付す製品番号であってもよい。
【００４４】
一例として、オペレータは、ステップＳ２において、機械学習装置１０の入力装置を操作して、ケーブル２２又はロボット２０の種類のデータＤｔを入力する。こうして、学習データ取得部１２は、学習データセットＤＳとして、画像データＤｉ及び状態データＤｓに加えて、種類のデータＤｔを取得する。そして、ステップＳ３において、学習部１４は、画像データＤｉと状態データＤｓとの相関性に、画像データＤｉと種類のデータＤｔとの関連性を加味して、学習モデルＬＭを生成する。
【００４５】
ロボット２０が所定の動作を実行しているときのケーブル２２の屈曲の度合いは、該ケーブル２２の種類に応じて異なり得る。例えば、シース４０の内部に配線される線条体の数が多くなる程、又は、シース４０の材質の可撓性が小さくなる程、ケーブル２２は屈曲し難く成り得る。
【００４６】
また、ロボット２０が所定の動作を実行しているときのケーブル２２の屈曲の度合いは、ロボット２０の種類に応じて異なり得る。例えば、ロボット２０の種類毎に拘束具３４の固定位置が変わるので、その結果、所定の動作時におけるケーブル２２の屈曲の度合いが変化し得る。
【００４７】
このように、ケーブル２２の屈曲の度合いと、ケーブル２２又はロボット２０の種類との間には、相関性が存在し得る。したがって、画像データＤｉとケーブル２２又はロボット２０の種類との関連性を加味して学習モデルＬＭを生成することにより、ケーブル２２又はロボット２０の種類に応じた学習モデルＬＭを取得することができる。
【００４８】
機械学習装置１０のさらに他の機能として、ステップＳ２において、学習データ取得部１２は、学習データセットＤＳとして、画像データＤｉ及び状態データＤｓに加えて、ステップＳ１でロボット２０が所定の動作を行っているときの該ロボット２０の位置及び姿勢のデータ（以下、位置データＤｐとする）をさらに取得してもよい。
【００４９】
一例として、ステップＳ１にてカメラ５０が時点τ１でケーブル２２を１回だけ撮像した場合、学習データ取得部１２は、時点τ１におけるロボット２０の位置データＤｐを取得する。他の例として、ステップＳ１にてカメラ５０が複数の時点τｎ（ｎ＝１，２，３，・・・）でケーブル２２を連続的に撮像（動画撮影）した場合、学習データ取得部１２は、複数の時点τｎの各々におけるロボット２０の位置データＤｐを順次取得する。
【００５０】
ロボット２０の位置データＤｐは、該ロボット２０に内蔵された各サーボモータの回転角度θから求めることができる。したがって、この場合、ロボット２０の各サーボモータには、カメラ５０の撮像時に回転角度θを検出するセンサ（エンコーダ、ホール素子等）が設けられる。なお、ロボット２０の位置データＤｐとして、回転角度θが用いられてもよい。そして、ステップＳ３において、学習部１４は、画像データＤｉと状態データＤｓとの相関性に、画像データＤｉとロボット２０の位置及び姿勢との関連性を加味して、学習モデルＬＭを生成する。
【００５１】
ここで、ロボット２０が所定の動作を実行しているときのケーブル２２の屈曲の度合いは、該ロボット２０の位置及び姿勢（例えば、上腕部３０に対する手首部３２の角度）に応じて異なり得る。すなわち、ケーブル２２の屈曲の度合いと、ロボット２０の位置及び姿勢との間には、相関性が存在し得る。したがって、画像データＤｉとロボット２０の位置及び姿勢との関連性を加味して学習モデルＬＭを生成することにより、ロボット２０の位置及び姿勢に応じた学習モデルＬＭを取得することができる。
【００５２】
機械学習装置１０のさらに他の機能として、ステップＳ２において、学習データ取得部１２は、ステップＳ１でロボット２０が所定の動作を行っているときの周囲温度Ｔを、学習データセットＤＳとしてさらに取得してもよい。したがって、この場合、周囲温度Ｔを検出するセンサ（温度センサ）が設けられる。
【００５３】
そして、ステップＳ３において、学習部１４は、画像データＤｉと状態データＤｓとの相関性に、画像データＤｉと周囲温度Ｔとの関連性を加味して、学習モデルＬＭを生成する。ここで、ロボット２０が所定の動作を実行しているときのケーブル２２の屈曲の度合と周囲温度Ｔとの間には、相関性が存在し得る。
【００５４】
具体的には、シース４０の材質によって、周囲温度Ｔが高ければ、シース４０の可撓性が増大し、これによりケーブル２２が屈曲し易くなり得る一方で、周囲温度Ｔが低ければ、シース４０の可撓性が減退し、これによりケーブル２２が屈曲し難くなり得る。したがって、画像データＤｉと周囲温度Ｔとの関連性を加味して学習モデルＬＭを生成することにより、周囲温度Ｔに応じた学習モデルＬＭを取得することができる。
【００５５】
機械学習装置１０のさらに他の機能として、ステップＳ２において、学習データ取得部１２は、ステップＳ１でロボット２０が所定の動作を行っているときの、伝送線３８に流れる電流Ａ、又は該伝送線３８の抵抗Ｒを、学習データセットＤＳとしてさらに取得してもよい。したがって、この場合、所定の動作時に伝送線３８の電流Ａ又は抵抗Ｒを検出するセンサ（電流計、抵抗計等）が設けられる。
【００５６】
そして、ステップＳ３において、学習部１４は、画像データＤｉと状態データＤｓとの相関性に、画像データＤｉと電流Ａ又は抵抗Ｒとの関連性を加味して、学習モデルＬＭを生成する。ここで、ロボット２０が所定の動作を実行しているときのケーブル２２の屈曲の度合いに応じて、電流Ａ又は抵抗Ｒが変動し得る。例えば、ケーブル２２の屈曲の度合いが許容範囲を超えることで伝送線３８が部分的に断線し、伝送線３８の抵抗Ｒが増大する一方、電流Ａが減少し得る。
【００５７】
このように、ケーブル２２の屈曲の度合いと、電流Ａ又は抵抗Ｒとの間には、相関性が存在し得る。したがって、画像データＤｉと電流Ａ又は抵抗Ｒとの関連性を加味して学習モデルＬＭを生成することにより、電流Ａ又は抵抗Ｒに応じた学習モデルＬＭを取得することができる。
【００５８】
機械学習装置１０のさらに他の機能として、例えば図３に示すケーブル２２Ａ又は図４に示すケーブル２２Ｂを用いる場合に、ステップＳ２において、学習データ取得部１２は、ステップＳ１でロボット２０が所定の動作を行っているときの、送給管３６内の流体の圧力Ｐを、学習データセットＤＳとしてさらに取得してもよい。したがって、この場合、所定の動作時に圧力Ｐを検出するセンサ（圧力計等）が設けられる。
【００５９】
そして、ステップＳ３において、学習部１４は、画像データＤｉと状態データＤｓとの相関性に、画像データＤｉと圧力Ｐとの関連性を加味して、学習モデルＬＭを生成する。ここで、ロボット２０が所定の動作を実行しているときのケーブル２２の屈曲の度合いは、送給管３６内の流体の圧力Ｐに応じて変化し得る。
【００６０】
具体的には、送給管３６内の流体の圧力Ｐが大きい程、ケーブル２２が屈曲し難くなり得る。このように、ケーブル２２の屈曲の度合いと圧力Ｐとの間には、相関性が存在し得る。したがって、画像データＤｉと圧力Ｐとの関連性を加味して学習モデルＬＭを生成することにより、圧力Ｐに応じた学習モデルＬＭを取得することができる。
【００６１】
機械学習装置１０のさらに他の機能として、例えば図５に示すケーブル２２Ｃを用いる場合に、ステップＳ２において、学習データ取得部１２は、ステップＳ１でロボット２０が所定の動作を行っているときの、光ファイバ４２内を伝搬する光（例えば、レーザ光）の光学特性ＯＰを、学習データセットＤＳとしてさらに取得してもよい。光学特性ＯＰは、例えば、光ファイバ４２内を伝搬する光（又は、該光の戻り光）の強度、パワー、又は強度分布等を含み得る。したがって、この場合、所定の動作時に光学特性ＯＰを検出するセンサ（光強度計、ビームプロファイラ等）が設けられる。
【００６２】
そして、ステップＳ３において、学習部１４は、画像データＤｉと状態データＤｓとの相関性に、画像データＤｉと光学特性ＯＰとの関連性を加味して、学習モデルＬＭを生成する。ここで、ロボット２０が所定の動作を実行しているときのケーブル２２の屈曲の度合いに応じて、光学特性ＯＰが変動し得る。例えば、ケーブル２２の屈曲の度合いが許容範囲を超えると、該ケーブル２２の屈曲部における漏れ光が増大し、これにより、光（又は戻り光）の強度又はパワーが減少し得る。
【００６３】
このように、ケーブル２２の屈曲の度合いと光学特性ＯＰとの間には、相関性が存在し得る。したがって、画像データＤｉと光学特性ＯＰとの関連性を加味して学習モデルＬＭを生成することにより、光学特性ＯＰに応じた学習モデルＬＭを取得することができる。
【００６４】
なお、学習部１４が実行する学習アルゴリズムは、教師あり学習に限定されず、例えば教師なし学習、強化学習、ニューラルネットワーク等、機械学習として公知の学習アルゴリズムを採用できる。一例として、図１１は、ニューロンのモデルを模式的に示す。図１２は、図１１に示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００６５】
図１１に示すニューロンは、複数の入力ｘ（図では例として入力ｘ１〜ｘ３）に対し結果ｙを出力する。個々の入力ｘ（ｘ１、ｘ２、ｘ３）にはそれぞれに重みｗ（ｗ１、ｗ２、ｗ３）が乗算される。入力ｘと結果ｙとの関係は、下記の式１で表すことができる。なお、入力ｘ、結果ｙ及び重みｗはいずれもベクトルである。また式１において、θはバイアスであり、ｆｋは活性化関数である。
【００６６】
【数１】
2020196077.tif 000003
【００６７】
図１１に示す三層のニューラルネットワークは、左側から複数の入力ｘ（図では例として入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（図では例として結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してＷ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００６８】
図１２では、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してＺ１で表す。Ｚ１は、入力ベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルＺ１のそれぞれに対応の重み（総称してＷ２で表す）が乗算されて、個々の特徴ベクトルＺ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルＺ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００６９】
図１２では、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してＺ２で表す。Ｚ２は、特徴ベクトルＺ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルＺ２のそれぞれに対応の重み（総称してＷ３で表す）が乗算されて、個々の特徴ベクトルＺ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。
【００７０】
特徴ベクトルＺ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。機械学習装置１０は、学習データセットＤＳを入力とし、上記したニューラルネットワークに従う多層構造の演算を行うことで、学習モデルＬＭを学習することができる。
【００７１】
上述した機械学習装置１０の構成は、コンピュータのプロセッサが実行する機械学習方法（又はソフトウェア）として記述できる。この機械学習方法は、プロセッサが、ロボット２０が所定の動作を行っているときにカメラ５０が撮像したケーブル２２の画像データＤｉと、該所定の動作を行っているときのケーブル２２の状態Ｓを示すデータＤｓとを学習データセットＤＳとして取得し、学習データセットＤＳを用いて、画像データＤｉとケーブル２２の状態Ｓとの相関性を表す学習モデルＬＭを生成する。
【００７２】
次に、図１３を参照して、一実施形態に係るロボットシステム６０について説明する。ロボットシステム６０は、ロボット２０、カメラ５０、及び制御装置６２を備える。制御装置６２は、プロセッサ６４、及び記憶部６６を有する。プロセッサ６４と記憶部６６とは、バス６８を介して互いに通信可能に接続されている。プロセッサ６４は、ＣＰＵ又はＧＰＵ等を含み、記憶部６６と通信しつつ各種演算を実行する。制御装置６２は、入力装置（キーボード、マウス、タッチパネル等）及び表示装置（ＬＣＤ、有機ＥＬ等）を有するコンピュータから構成されてもよい。
【００７３】
本実施形態においては、機械学習装置１０は、ハードウェア又はソフトウェアとして制御装置６２に実装されており、プロセッサ６４は、機械学習装置１０の機能を果たすための各種演算を実行する。すなわち、本実施形態においては、プロセッサ６４は、学習データ取得部１２及び学習部１４として機能する。
【００７４】
記憶部６６は、ＲＯＭ及びＲＡＭ等を含み、機械学習装置１０が学習した学習モデルＬＭを予め格納している。本実施形態に係るロボットシステム６０は、例えば、該ロボットシステム６０を製造する工場、又は、ロボット２０によって実際の作業（溶接、ワークハンドリング、加工、塗装等）を行う工場に、設置される。
【００７５】
次に、図１４を参照して、ロボットシステム６０の動作について説明する。図１４に示すフローは、プロセッサ６４が、オペレータ、上位コントローラ、又はロボットプログラムから動作開始指令を受け付けたときに、開始する。ステップＳ１１において、プロセッサ６４は、ロボット２０に所定の動作を実行させる。
【００７６】
一例として、プロセッサ６４は、所定の動作として、ロボット２０に作業（溶接、ワークハンドリング、加工、塗装等）を行わせるべく、予め定められたロボットプログラムに従って各可動要素（旋回胴２６、下腕部２８、上腕部３０、手首部３２）を動作させ、該ロボット２０に一連の動作を実行させる。代替的には、プロセッサ６４は、所定の動作として、ロボット２０の第１の要素（手首部３２）を第２の要素（上腕部３０）に対して予め定められた第１の位置と第２の位置との間で回動させる動作を実行させる。
【００７７】
ここで、このステップＳ１１でロボット２０に実行させる所定の動作は、学習のために上述のステップＳ１でロボット２０が実行した所定の動作と実質同じである。例えば、ステップＳ１１において、プロセッサ６４は、上述のステップＳ１でロボット２０を動作させたのと同じロボットプログラムに従って、ロボット２０を動作させてもよい。
【００７８】
しかしながら、このステップＳ１１で実行する所定の動作は、ステップＳ１と完全に同じ条件（エンドエフェクタの種類、ロボット２０の位置及び姿勢、ロボット２０の移動経路等）の動作に限らず、ケーブル２２の屈曲の度合いが同等である限りにおいて、該条件のうちの少なくとも１つがステップＳ１と異なる動作であってもよい。
【００７９】
ステップＳ１２において、プロセッサ６４は、ロボット２０が所定の動作を行っているときに、カメラ５０によってケーブル２２を撮像する。ここで、プロセッサ６４は、このステップＳ１２において、上述のステップＳ１でカメラ５０がケーブル２２を撮像したときと同じケーブル２２の位置を、同じ視線方向ＶＤに沿って、同じタイミングで撮像する。
【００８０】
一例として、上述のステップＳ１でカメラ５０が時点τ１でケーブル２２を１回だけ撮像した場合、このステップＳ１２において、プロセッサ６４は、ステップＳ１１の実行中に手首部３２が上腕部３０に対して第１の基準位置に配置された時点τ１で、カメラ５０によって、手首部３２と上腕部３０との連結部の近傍位置で視線方向ＶＤに沿ってケーブル２２を撮像する。
【００８１】
他の例として、上述のステップＳ１でカメラ５０が複数の時点τｎ（ｎ＝１，２，３，・・・）でケーブル２２を連続的に撮像した場合、このステップＳ１２において、プロセッサ６４は、ステップＳ１１の実行中に手首部３２が上腕部３０に対して第ｎの基準位置に配置された時点τｎの各々で、カメラ５０によって、手首部３２と上腕部３０との連結部の近傍位置で視線方向ＶＤに沿ってケーブル２２を撮像する。カメラ５０は、撮像したケーブル２２の画像データＤｉ’を、プロセッサ６４に供給する。
【００８２】
ステップＳ１３において、プロセッサ６４は、学習モデルＬＭに基づいて、ケーブル２２の状態Ｓを判定する。具体的には、プロセッサ６４は、ステップＳ１２で取得したケーブル２２の画像データＤｉ’を、記憶部６６に格納している学習モデルＬＭに入力する。そうすると、学習モデルＬＭは、入力された画像データＤｉ’と相関性を有する状態データＤｓ（「正常状態」、「異常状態」等のラベル情報）を推定して出力する。こうして、プロセッサ６４は、取得した画像データＤｉ’から、ケーブル２２の状態Ｓを判定することができる。
【００８３】
プロセッサ６４は、ケーブル２２の状態Ｓが異常状態ではない（又は、正常状態である）場合にＮＯと判定し、ステップＳ１１で開始した動作を完了させ、図１４に示すフローを終了する。一方、プロセッサ６４は、ケーブル２２の状態Ｓが異常状態である（又は、正常状態ではない）場合にＹＥＳと判定し、ステップＳ１４へ進む。このように、本実施形態においては、プロセッサ６４は、ケーブル２２の状態Ｓを判定する状態判定部７０（図１３）として機能する。
【００８４】
ステップＳ１４において、プロセッサ６４は、警告信号を生成する。例えば、プロセッサ６４は、「ケーブルの状態に異常が発生している可能性があります」という音声又は画像の信号を生成し、制御装置６２に設けられたスピーカ又はディスプレイ（図示せず）を通して出力する。そして、プロセッサ６４は、図１４に示すフローを終了する。
【００８５】
なお、図１０に示す学習サイクルにおいて、学習データセットＤＳとしてケーブル２２又はロボット２０の種類のデータＤｔをさらに取得して学習モデルＬＭの学習を行った場合、ステップＳ１３の前に、オペレータは、制御装置６２に設けられた入力装置を操作して、ロボットシステム６０のロボット２０又はケーブル２２の種類のデータＤｔ’を入力してもよい。
【００８６】
この場合、ステップＳ１３において、ロボットシステム８０のプロセッサ６４は、ステップＳ１２で取得したケーブル２２の画像データＤｉ’と、入力された種類のデータＤｔ’とを学習モデルＬＭに入力する。そうすると、学習モデルＬＭは、画像データＤｉ’と種類のデータＤｔ’とから状態データＤｓを推定し、ケーブル２２の状態Ｓを判定する。この構成によれば、ケーブル２２の状態Ｓを、種類のデータＤｔ’に対応して、より高精度に判断することができる。
【００８７】
次に、図１５を参照して、他の実施形態に係るロボットシステム８０について説明する。ロボットシステム８０は、上述のロボットシステム６０と、センサ８２をさらに備える点で、相違する。一例として、図１０に示す学習サイクルで学習データセットＤＳとして位置データＤｐをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、ロボットシステム８０のロボット２０の各サーボモータに内蔵されたエンコーダ又はホール素子等であって、検出値として、該サーボモータの回転角度θ’を検出する。
【００８８】
他の例として、図１０に示す学習サイクルで学習データセットＤＳとして周囲温度Ｔをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、温度センサ等であって、検出値として、ロボットシステム８０のロボット２０の周囲温度Ｔ’を検出する。さらに他の例として、図１０に示す学習サイクルで学習データセットＤＳとして伝送線３８の電流Ａ又は抵抗Ｒをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、電流計又は抵抗計等であって、検出値として、ロボットシステム８０のケーブル２２の伝送線３８の電流Ａ’又は抵抗Ｒ’を検出する。
【００８９】
さらに他の例として、図１０に示す学習サイクルで学習データセットＤＳとして送給管３６内の流体の圧力Ｐをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、圧力計等であって、検出値として、ロボットシステム８０のケーブル２２の送給管３６内の流体の圧力Ｐ’を検出する。
【００９０】
さらに他の例として、図１０に示す学習サイクルで学習データセットＤＳとして光学特性ＯＰをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、光強度計又はビームプロファイラ等であって、検出値として、ロボットシステム８０のケーブル２２の光ファイバ４２内を伝搬する光の光学特性ＯＰ’を検出する。
【００９１】
次に、図１６を参照して、ロボットシステム８０の動作について説明する。なお、図１６に示すフローにおいて、図１４に示すフローと同様のプロセスには同じステップ番号を付し、重複する説明を省略する。ステップＳ２１において、ロボットシステム８０のプロセッサ６４は、ステップＳ１１でロボット２０が所定の動作を行っているときに、カメラ５０によってケーブル２２を撮像する。ここで、プロセッサ６４は、このステップＳ２１において、カメラ５０に、上述のステップＳ１でカメラ５０がケーブル２２を撮像したときと同じケーブル２２の位置を、同じ視線方向ＶＤに沿って撮像させる。
【００９２】
一例として、図１０に示す学習サイクルで位置データＤｐをさらに取得して学習モデルＬＭの学習を行った場合、プロセッサ６４は、ステップＳ１１でロボット２０が所定の動作を実行している間の任意のタイミングで、カメラ５０にケーブル２２を撮像させる。一方、図１０に示す学習サイクルで位置データＤｐを取得していない場合は、上述のステップＳ１２と同様に、学習段階のステップＳ１でカメラ５０がケーブル２２を撮像したときと同じタイミングで、カメラ５０にケーブル２２を撮像させる。
【００９３】
ステップＳ２２において、ロボットシステム８０のプロセッサ６４は、ステップＳ１１でロボット２０が所定の動作を行っているときに、センサ８２を動作させて検出値を取得する。一例として、図１０に示す学習サイクルで位置データＤｐをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、ステップＳ２１でカメラ５０がケーブル２２を撮像した時点で、検出値として回転角度θ’を検出する。そして、プロセッサ６４は、回転角度θ’から、ロボットシステム８０のロボット２０の位置データＤｐ’を取得する。
【００９４】
他の例として、図１０に示す学習サイクルで周囲温度Ｔをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、ステップＳ１１の実行中（又は実行前後）に、検出値として周囲温度Ｔ’を検出する。さらに他の例として、図１０に示す学習サイクルで電流Ａ又は抵抗Ｒをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、ステップＳ１１の実行中に（例えば、ステップＳ２１でカメラ５０がケーブル２２を撮像した時点で）、検出値として電流Ａ’又は抵抗Ｒ’を検出する。
【００９５】
さらに他の例として、図１０に示す学習サイクルで圧力Ｐをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、ステップＳ１１の実行中に（例えば、ステップＳ１２でカメラ５０がケーブル２２を撮像した時点で）、検出値として圧力Ｐ’を検出する。さらに他の例として、図１０に示す学習サイクルで光学特性ＯＰをさらに取得して学習モデルＬＭの学習を行った場合、センサ８２は、検出値として光学特性ＯＰ’を検出する。
【００９６】
ステップＳ２３において、ロボットシステム８０のプロセッサ６４は、学習モデルＬＭに基づいて、ケーブル２２の状態Ｓを判定する。一例として、上述のステップＳ２２で位置データＤｐ’を取得した場合、プロセッサ６４は、ステップＳ２１で取得したケーブル２２の画像データＤｉ’と、ステップＳ２２で取得した位置データＤｐ’とを、記憶部６６に格納している学習モデルＬＭに入力する。
【００９７】
そうすると、学習モデルＬＭは、画像データＤｉ’と位置データＤｐ’とから状態データＤｓを推定し、ケーブル２２の状態Ｓを判定する。このように、学習データセットＤＳとして位置データＤｐを取得して学習モデルＬＭの学習を行っていた場合、ステップＳ２１で任意のタイミングで撮像した画像データＤｉ’を学習モデルＬＭに入力することで、ケーブル２２の状態Ｓを判断することができる。また、ケーブル２２の状態Ｓを、ロボット２０の位置及び姿勢に対応して、より高精度に判断することができる。
【００９８】
また、他の例として、上述のステップＳ２２で周囲温度Ｔ’、電流Ａ’、抵抗Ｒ’、圧力Ｐ’、又は光学特性ＯＰ’の検出値を取得した場合、プロセッサ６４は、ステップＳ２１で取得したケーブル２２の画像データＤｉ’と、ステップＳ２２で取得した検出値Ｔ’、Ａ’、Ｒ’、Ｐ’又はＯＰ’とを、学習モデルＬＭに入力する。
【００９９】
そうすると、学習モデルＬＭは、画像データＤｉ’と該検出値Ｔ’、Ａ’、Ｒ’、Ｐ’又はＯＰ’とから状態データＤｓを推定し、ケーブル２２の状態Ｓを判定する。この構成によれば、ケーブル２２の状態Ｓを、周囲温度Ｔ’、電流Ａ’、抵抗Ｒ’、圧力Ｐ’、又は光学特性ＯＰ’に対応して、より高精度に判断することができる。
【０１００】
以上のように、ロボットシステム６０及び８０においては、プロセッサ６４は、ロボット２０に所定の動作を行わせたときに、機械学習装置１０が学習した学習モデルＬＭに基づいてケーブル２２の状態Ｓを判定している。この構成によれば、ケーブル２２の状態Ｓに異常が発生しているか否かを、工場等の作業現場で、自動的且つ高精度に判定することができる。
【０１０１】
なお、上述のステップＳ２３において、プロセッサ６４は、学習モデルＬＭを用いたケーブル２２の状態Ｓの判定に加えて、センサ８２が検出した電流Ａ’若しくは抵抗Ｒ’、圧力Ｐ’、又は光学特性ＯＰ’が、予め定めた許容範囲内に在るか否かをさらに判定してもよい。
【０１０２】
そして、プロセッサ６４は、電流Ａ’若しくは抵抗Ｒ’、圧力Ｐ’、又は光学特性ＯＰ’が許容範囲外である場合は、仮に学習モデルＬＭがケーブル２２の状態Ｓを異常状態ではない（又は正常状態である）と判定したとしても、ステップＳ２３でＹＥＳと判定し、ステップＳ１４へ進んでもよい。この構成によれば、プロセッサ６４は、学習モデルＬＭによる状態Ｓの判定に加えて、電流Ａ’若しくは抵抗Ｒ’、圧力Ｐ’、又は光学特性ＯＰといった検出値から、ケーブル２２の異常をより確実に検出できる。
【０１０３】
次に、図１７を参照して、一実施形態に係るネットワークシステム９０について説明する。ネットワークシステム９０は、複数の機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄと、記憶装置９４と、該機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄと該記憶装置９４とを通信可能に接続するネットワーク９２とを備える。
【０１０４】
機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄの各々は、上述の機械学習装置１０と同様の構成を有する。機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄは、互いに別々の工場に設置されてもよいし、同じ工場内の別々のラインに設置されてもよい。記憶装置９４は、サーバ等を有し、データを記憶することができる。ネットワーク９２は、ＬＡＮ又はインターネット等であって、機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄの各々と該記憶装置９４との間でデータを双方向に通信させる。
【０１０５】
機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄの各々は、学習データ取得部１２が取得した学習データセットＤＳを、ネットワーク９２を介して記憶装置９４に送信する。記憶装置９４は、機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄの各々から受信した学習データセットＤＳを記憶する。
【０１０６】
また、機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄの各々は、記憶装置９４に記憶された学習データセットＤＳを、ネットワーク９２を介して記憶装置９４から取得する。そして、機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄの各々の学習部１４は、記憶装置９４から取得した学習データセットＤＳを用いて、学習モデルＬＭを学習する。
【０１０７】
本実施形態によれば、複数の機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄで取得した学習データセットＤＳを記憶装置９４に集約し、複数の機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄの間で学習データセットＤＳを共有することができる。この構成によれば、機械学習装置１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄは、より多くの学習データセットＤＳを用いて学習モデルＬＭの学習を進めることができるので、学習モデルＬＭの学習を効果的に進めることができる。
【０１０８】
なお、学習データ取得部１２は、学習データセットＤＳとして、位置データＤｐ、種類のデータＤｔ、周囲温度Ｔ、電流Ａ又は抵抗Ｒ、圧力Ｐ、及び光学特性ＯＰ’の少なくとも２つ（例えば、全て）をさらに取得してもよい。そして、学習部１４は、画像データＤｉと状態データＤｓとの相関性に、位置データＤｐ、種類のデータＤｔ、周囲温度Ｔ、電流Ａ又は抵抗Ｒ、圧力Ｐ、及び光学特性ＯＰ’の少なくとも２つと画像データＤｉとの関連性を加味して、学習モデルＬＭを生成してもよい。
【０１０９】
また、上述のステップＳ２において、オペレータは、センサを用いて電流Ａ若しくは抵抗Ｒ、圧力Ｐ、又は光学特性ＯＰを検出し、これら電流Ａ若しくは抵抗Ｒ、圧力Ｐ、又は光学特性ＯＰに基づいてケーブル２２の状態Ｓを確認し、状態データＤｓを学習データ取得部１２に入力してもよい。この場合において、機械学習装置１０は、電流Ａ若しくは抵抗Ｒ、圧力Ｐ、又は光学特性ＯＰが、予め定めた許容範囲内に在るか否かを判定する検出値判定部をさらに備えてもよい。
【０１１０】
また、上述のステップＳ１でカメラ５０がケーブル２２を所定の期間Δに亘って連続的に撮像（動画撮影）し、一群の画像データＤｉ_１、Ｄｉ_２、・・・Ｄｉ_ｎ（ｎは、正の整数）を取得した場合に、ステップＳ２において、オペレータは、撮像された一群の画像データＤｉ_１〜Ｄｉ_ｎ（すなわち、期間Δの動画）に対して、１つの状態データＤｓ（すなわち、ラベル情報）を付与し、学習データ取得部１２に入力してもよい。
【０１１１】
この場合、学習データ取得部１２は、一群の画像データＤｉ_１〜Ｄｉ_ｎと、該一群の画像データＤｉ_１〜Ｄｉ_ｎに付与された１つの状態データＤｓとの学習データセットＤＳを取得する。そして、学習部１４は、一群の画像データＤｉ_１〜Ｄｉ_ｎ及び状態データＤｓの学習データセットＤＳを用いて、一群の画像データＤｉ_１〜Ｄｉ_ｎとケーブル２２の状態Ｓとの相関性を表す学習モデルＬＭを生成する。
【０１１２】
そして、上述のステップＳ１２又はＳ２１で、カメラ５０は、ステップＳ１と同じタイミングでケーブル２２を期間Δに亘って連続的に撮像（動画撮影）し、一群の画像データＤｉ_１’、Ｄｉ_２’、・・・Ｄｉ_ｎ’（ｎは、正の整数）を取得する。そして、上述のステップＳ１３又はＳ２３で、プロセッサ６４は、一群の画像データＤｉ_１’〜Ｄｉ_ｎ’を学習モデルＬＭに入力し、学習モデルＬＭは、一群の画像データＤｉ_１’〜Ｄｉ_ｎ’と相関性を有する状態データＤｓを推定して出力する。この構成によれば、ケーブル２２の状態Ｓを、ケーブル２２の動画（一群の画像データＤｉ_１’〜Ｄｉ_ｎ’）に基づいて判定できる。
【０１１３】
なお、上述の実施形態では、カメラ５０が、手首部３２と上腕部３０との連結部の近傍位置でケーブル２２を撮像するように設置されている場合について説明した。しかしながら、これに限らず、カメラ５０は、ロボット２０が所定の動作を行っているときに屈曲する、ケーブル２２の如何なる位置を撮像するように設置されてもよい。また、複数のカメラ５０が、ケーブル２２の別々の位置を撮像するように設置されてもよい。
【０１１４】
なお、ロボット２０は、垂直多関節ロボットに限らず、例えば、水平多関節型、パラレルリンク型、ローダ等、可動要素とケーブルを備えるものであれば、如何なるタイプのロボットであってもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【０１１５】
１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ    機械学習装置
１２    学習データ取得部
１４    学習部
２０    ロボット
２２，２２Ａ，２２Ｂ，２２Ｃ    ケーブル
５０    カメラ
６０，８０    ロボットシステム
６２    制御装置
６４    プロセッサ
８２    センサ
【図１】
2020196077.tif 000004
【図２】
2020196077.tif 000005
【図３】
2020196077.tif 000006
【図４】
2020196077.tif 000007
【図５】
2020196077.tif 000008
【図６】
2020196077.tif 000009
【図７】
2020196077.tif 000010
【図８】
2020196077.tif 000011
【図９】
2020196077.tif 000012
【図１０】
2020196077.tif 000013
【図１１】
2020196077.tif 000014
【図１２】
2020196077.tif 000015
【図１３】
2020196077.tif 000016
【図１４】
2020196077.tif 000017
【図１５】
2020196077.tif 000018
【図１６】
2020196077.tif 000019
【図１７】
2020196077.tif 000020