JP7260402B2 - ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法 - Google Patents

ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法 Download PDF

Info

Publication number
JP7260402B2
JP7260402B2 JP2019102816A JP2019102816A JP7260402B2 JP 7260402 B2 JP7260402 B2 JP 7260402B2 JP 2019102816 A JP2019102816 A JP 2019102816A JP 2019102816 A JP2019102816 A JP 2019102816A JP 7260402 B2 JP7260402 B2 JP 7260402B2
Authority
JP
Japan
Prior art keywords
learning
cable
robot
data
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019102816A
Other languages
English (en)
Other versions
JP2020196077A (ja
Inventor
真路 溝上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2019102816A priority Critical patent/JP7260402B2/ja
Priority to CN202010461624.9A priority patent/CN112008716A/zh
Priority to DE102020114456.3A priority patent/DE102020114456A1/de
Priority to US16/886,778 priority patent/US11398003B2/en
Publication of JP2020196077A publication Critical patent/JP2020196077A/ja
Application granted granted Critical
Publication of JP7260402B2 publication Critical patent/JP7260402B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットに設けられたケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法に関する。
ロボットに設けられたケーブルを監視する装置が知られている(例えば、特許文献1)。
特開2017-226000号公報
従来、ロボットのケーブルの状態を定量的且つ高精度に評価する技術が求められている。
本開示の一態様において、ロボットに設けられたケーブルの状態を学習する機械学習装置は、ロボットが所定の動作を行っているときにカメラが撮像したケーブルの画像データと、ロボットが所定の動作を行っているときのケーブルの状態を示すデータとを、学習データセットとして取得する学習データ取得部と、学習データセットを用いて、画像データとケーブルの状態との相関性を表す学習モデルを生成する学習部とを備える。
本開示の他の態様において、ロボットに設けられたケーブルの状態を学習する機械学習方法は、プロセッサが、ロボットが所定の動作を行っているときにカメラが撮像したケーブルの画像データと、ロボットが所定の動作を行っているときのケーブルの状態を示すデータとを、学習データセットとして取得し、学習データセットを用いて、画像データとケーブルの状態との相関性を表す学習モデルを生成する。
本開示によれば、ケーブルの画像データとケーブルの状態との相関性を定量的に表すモデルを、容易且つ高精度に求めることができる。
一実施形態に係る機械学習装置のブロック図である。 一実施形態に係るロボットの斜視図である。 一実施形態に係るケーブルの断面図である。 他の実施形態に係るケーブルの断面図である。 さらに他の実施形態に係るケーブルの断面図である。 図2に示す手首部と上腕部との連結部分を拡大した拡大図である。 ロボットが所定の動作を行っているときのケーブルの屈曲状態を説明するための図である。 ロボットが所定の動作を行っているときのケーブルの屈曲状態を説明するための図である。 ロボットが所定の動作を行っているときのケーブルの屈曲状態を説明するための図である。 図1に示す機械学習装置が行う学習サイクルの一例を示すフローチャートである。 ニューロンのモデルを模式的に示す。 多層ニューラルネットワークのモデルを模式的に示す。 一実施形態に係るロボットシステムのブロック図である。 図13に示すロボットシステムの動作フローの一例を示すフローチャートである。 他の実施形態に係るロボットシステムのブロック図である。 図15に示すロボットシステムの動作フローの一例を示すフローチャートである。 一実施形態に係るネットワークシステムのブロック図である。
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1を参照して、一実施形態に係る機械学習装置10について説明する。機械学習装置10は、プロセッサ(CPU、GPU等)、記憶部(ROM、RAM等)、及び入力装置(キーボード、マウス、タッチパネル等)等を有するコンピュータ、又は、コンピュータが実行する、学習アルゴリズム等のソフトウェアから構成され得る。
機械学習装置10は、後述するロボット20に設けられたケーブル22の状態(正常状態、異常状態等)を学習する。以下、図2を参照して、ロボット20について説明する。本実施形態においては、ロボット20は、垂直多関節ロボットであって、ベース部24、旋回胴26、下腕部28、上腕部30、手首部32、及びケーブル22を有する。
ベース部24は、作業セルの床の上に固定される。旋回胴26は、鉛直軸周りに回動可能となるようにベース部24に設けられている。下腕部28は、水平軸周りに回動可能となるように旋回胴26に設けられている。上腕部30は、下腕部28の先端部に回動可能に設けられている。手首部32は、上腕部30の前端部に回動可能に設けられている。
手首部32の先端部には、所定の作業(溶接、ワークハンドリング、加工、塗装等)を行うエンドエフェクタ(溶接トーチ、ロボットハンド、工具、塗料塗布器等。図示せず)が着脱可能に取り付けられる。ロボット20には、複数のサーボモータ(図示せず)が内蔵され、これらサーボモータは、ロボット20の可動要素(すなわち、旋回胴26、下腕部28、上腕部30、手首部32)を駆動する。
ケーブル22は、複数の拘束具34を用いて、ロボット20の各可動要素に敷設されている。各々の拘束具34は、ロボット20の可動要素に所定位置で固定され、その内部にケーブル22を受容する孔を画定する。ケーブル22は、拘束具34の孔に挿通され、拘束具34によって拘束される。ロボット20における拘束具34の固定位置は、ロボット20の種類毎に定められる。
ロボット20が行う作業に応じて、様々な種類のケーブル22が用いられる。図3に、第1の種類のケーブル22Aの断面図を示す。ケーブル22Aは、送給管36、複数の伝送線38、及びシース40を有する。送給管36は、シース40の軸線に沿って延びる円筒状の部材である。送給管36は、ロボット20の作業に用いられる流体又は線材を送給する。
一例として、手首部32に、エンドエフェクタとして溶接トーチが取り付けられて、ロボット20がワークへの溶接作業を行う場合、送給管36は、該溶接トーチに、流体としてのアシストガスを送給する。又は、送給管36は、その内部空間に、線材としての溶接ワイヤを収容し、該溶接ワイヤを溶接トーチへ送給する。また、他の例として、手首部32に工具が取り付けられて、ロボット20がワークへの加工作業を行う場合、送給管36は、該工具に、流体としての圧縮ガスを送給する。
伝送線38は、電気信号を伝送する。例えば、伝送線38は、ロボット20に内蔵されたサーボモータ、又は、手首部32に取り付けられたエンドエフェクタに信号を伝送する。ケーブル22Aにおいては、送給管36及び伝送線38が、シース40の内部でランダムに配置されている。
図4に、第2の種類のケーブル22Bの断面図を示す。ケーブル22Bは、送給管36、計4本の伝送線38、及びシース40を有しており、伝送線38は、送給管36の外周側で該送給管36の周方向へ略等間隔で並ぶように配置されている。このように、ケーブル22Bにおいては、送給管36、伝送線38、及びシース40が、同心状に配置されている。
図5に、第3の種類のケーブル22Cの断面図を示す。ケーブル22Bは、計3本の伝送線38、光ファイバ42、及びシース40を有している。一例として、手首部32に、エンドエフェクタとしてレーザ加工ヘッドが取り付けられて、ロボット20がワークへのレーザ加工作業を行う場合、光ファイバ42は、内部でレーザ光を伝搬させて、レーザ加工ヘッドにレーザ光を供給する。ケーブル22Cにおいては、伝送線38及び光ファイバ42が、シース40の内部でランダムに配置されている。
以上のように、ロボット20においては、複数の種類のケーブル22(22A、22B、22C等)が用いられ得る。ケーブル22の種類は、例えば、用いる線条体(送給管36、伝送線38、光ファイバ42)の種類、線条体の数、シース40内の線条体の配置、シース40の材質、該シース40の内部で複数の線条体を所定の間隔で縛る緊縛線の位置に応じて、分類される。
図2を参照して、カメラ50が、ケーブル22を撮像するために設けられている。カメラ50は、ロボット20が所定の動作を行っているときに、ケーブル22を撮像する。例えば、「所定の動作」は、ロボット20が作業(溶接、ワークハンドリング、加工、塗装等)を行うときのロボット20の一連の動作である。この所定の動作を行う場合、ロボット20は、予め定められたロボットプログラムに従って各可動要素(旋回胴26、下腕部28、上腕部30、手首部32)を動作させ、作業のための一連の動作を行う。
代替的には、「所定の動作」は、ロボット20の第1の要素(すなわち、旋回胴26、下腕部28、上腕部30、又は手首部32)を、第2の要素(ベース部24、旋回胴26、下腕部28、又は上腕部30)に対して、予め定めた第1の位置と第2の位置との間で回動させる動作であってもよい。
カメラ50は、ロボット20が所定の動作を行っているときに、ケーブル22における予め定めた位置を予め定めた視線方向で撮像するように、設置されている。カメラ50は、ロボット20とは別の位置に固定されてもよいし、又は、ロボット20の要素(ベース部24、旋回胴26、下腕部28、又は上腕部30)上に固定されてもよい。なお、本実施形態では、一例として、カメラ50が、手首部32と上腕部30との連結部の近傍位置でケーブル22を撮像するように設置されている場合について、説明する。
ロボット20が所定の動作を行っているときに手首部32が上腕部30に対して回動すると、ケーブル22は、手首部32と上腕部30との連結部の近傍位置で屈曲することになる。図6~図9に、所定の動作時におけるケーブル22の屈曲状態を模式的に示す。例えば、所定の動作の間に、手首部32が上腕部30に対して、図6に示す初期位置から、図7~図9に示す第1の基準位置まで回動したとする。
図6に示す初期位置においては、手首部32の軸線Aと、上腕部30の軸線Aとが、略平行になっている一方、図7~図9に示す第1の基準位置においては、手首部32の軸線Aは、上腕部30の軸線Aに対して、所定の角度θで傾斜している。図7~図9は、所定の動作時に手首部32が上腕部30に対して第1の基準位置に配置されたときのケーブル22の屈曲状態の例を示している。なお、比較のために、図7に示すケーブルの位置を、図8に点線で重ねて表示し、また、図7及び図8に示すケーブルの位置を、図9に点線及び一点鎖線でそれぞれ重ねて表示している。
ケーブル22の拘束位置の誤差、又はロボット20の要素の寸法誤差等に起因して、図7~図9に示すように、同じ種類のケーブル22の間で、手首部32が上腕部30に対して第1の基準位置に配置されたときの該ケーブル22の屈曲の度合いが、異なり得る。
例えば、図7及び図8に示すケーブル22の屈曲の度合いは、許容範囲内であって、ケーブル22の性能(伝送線38の信号伝送性、送給管36の流体流動性、光ファイバ42の光伝搬性、シース40の耐屈曲性等)に影響を与えないと判断される一方、図9に示すケーブル22の屈曲の度合いは、許容範囲外であって、ケーブル22の性能に影響を与えると判断され得る。
機械学習装置10は、ロボット20が所定の動作を行っているときのケーブル22の状態(正常状態、異常状態等)を学習する。図1を参照して、機械学習装置10は、学習データ取得部12、及び学習部14を備える。学習データ取得部12は、ロボット20が所定の動作を行っているときにカメラ50が撮像したケーブル22の画像データDと、ロボット20が所定の動作を行っているときのケーブル22の状態Sを示すデータ(以下、状態データDとする)とを、学習データセットDSとして取得する。
具体的には、カメラ50は、ロボット20が所定の動作を行っているときに、手首部32と上腕部30との連結部の近傍位置で、視線方向VDに沿ってケーブル22を撮像する。カメラ50は、撮像した画像データDを、学習データ取得部12に供給する。一方、ケーブル22の状態データDは、例えば、「正常状態」、「異常状態」等のラベル情報を含む。ここで、正常状態とは、例えば図7及び図8に示すように、ケーブル22の屈曲が許容範囲内となっている状態である。一方、異常状態とは、例えば、図9に示すように、ケーブル22の屈曲が許容範囲外となっている状態である。
なお、状態データDは、「正常状態」及び「異常状態」のいずれか一方のラベル情報のみであってもよいし、「正常状態」のラベル情報と「異常状態」のラベル情報の双方を含んでもよい。また、「正常状態」のラベル情報として、「新品状態」、「中古状態」といった複数のラベル情報を設定してもよい。また、「異常状態」のラベル情報として、「異常状態レベル1」、「異常状態レベル2」、「異常状態レベル3」といったように、異常状態の度合いに応じた複数のラベル情報を設定してもよい。
ケーブル22の状態データD(すなわち、ラベル情報)は、オペレータによって定められる。例えば、オペレータは、カメラ50が撮像した画像データDを目視することによって、ケーブル22の状態S(正常状態、異常状態)を確認し、状態データDを学習データ取得部12に入力する。学習データ取得部12は、カメラ50から取得した画像データDと、オペレータによって定められた状態データDとを、学習データセットDSとして取得する。
学習部14は、画像データD及び状態データDの学習データセットDSを用いて、画像データDとケーブル22の状態Sとの相関性を表す学習モデル(関数)LMを生成する。例えば、学習部14は、教師あり学習を実行することで、学習モデルLMを生成する。この場合、ロボット20は、所定の動作を繰り返し試行し、学習データ取得部12は、ロボット20が所定の動作を実行する毎に、学習データセットDSを教師データとして繰り返し取得する。
学習部14は、教師データとして取得した画像データD(例えば、図7~図9に示すケーブル22の画像データ)と状態データD(正常状態、異常状態等のラベル情報)との相関性を暗示する特徴を識別することで、学習モデルLMを学習していく。このような教師あり学習として、例えば、サポートベクターマシン(SVM)、又は混合ガウスモデル(GMM)といったアルゴリズムを用いることができる。
以下、図10を参照して、機械学習装置10が行う学習サイクルのフローについて説明する。ステップS1において、ロボット20は、所定の動作を行い、カメラ50は、ロボット20が所定の動作を行っているときに、ケーブル22を撮像する。一例として、カメラ50は、ロボット20が所定の動作を行っている間に手首部32が上腕部30に対して図7~図9に示す第1の基準位置に配置された時点τで、ケーブル22を1回だけ撮像する。
他の例として、カメラ50は、ロボット20が所定の動作を行っている間にケーブル22を連続的に撮像(換言すれば、動画撮影)してもよい。この場合、カメラ50は、手首部32の軸線Aが上腕部30の軸線Aに対して所定の角度θ(n=1,2,3,・・・)で傾斜する第nの基準位置に手首部32が上腕部30に対して配置された時点τで、ケーブル22を撮像する。
ステップS2において、学習データ取得部12は、学習データセットDSを取得する。具体的には、学習データ取得部12は、ステップS1でロボット20が所定の動作を行っている間にカメラ50が撮像したケーブル22の画像データDを、該カメラ50から取得する。
また、学習データ取得部12は、ステップS1の実行時におけるケーブル22の状態Sを示すデータ(状態データD)として、正常状態のラベル情報、又は異常状態のラベル情報を取得する。具体的には、オペレータは、カメラ50が撮像したケーブル22の画像データDを目視することで、該ケーブル22が正常状態であるか、又は異常状態であるかを確認する。
そして、オペレータは、機械学習装置10の入力装置を操作して、状態データDとして、正常状態のラベル情報、又は異常状態のラベル情報を入力する。学習データ取得部12は、入力された正常状態のラベル情報、又は異常状態のラベル情報を取得する。このようにして、学習データ取得部12は、ケーブル22の画像データDと状態データDの学習データセットDSを取得し、互いに関連付けて記憶部に記憶する。
ステップS3において、学習部14は、ステップS2で取得した学習データセットDSを用いて、画像データDと状態Sとの相関性を表す学習モデルLMを生成する。具体的には、学習部14は、教師あり学習のアルゴリズム(SVM、GMM等)を実行することによって、学習モデルLMを学習する。そして、フローは、ステップS1に戻る。
このような学習サイクルを実行することによって、学習モデルLMの学習が進行し、学習モデルLMが最適解へ導かれることになる。オペレータは、図10に示す学習サイクルを、複数のロボット20に関して実行する。これにより、より多くの学習データセットDSを取得することができ、学習モデルLMの学習を、より高度に進めることができる。本実施形態によれば、ケーブル22の画像データDとケーブル22の状態Sとの相関性を定量的に表すモデルを、容易且つ正確に求めることができる。
機械学習装置10の他の機能として、ステップS2において、学習データ取得部12は、ケーブル22の種類(第1の種類、第2の種類、・・・第nの種類)のデータ、又は、ロボット20の種類のデータを、学習データセットDSとしてさらに取得してもよい。ケーブル22の種類のデータは、ケーブル22の種類を識別する情報、用いる線条体(送給管36、伝送線38、光ファイバ42)の種類を識別する情報、線条体の数、シース40内の線条体の配置を示す情報、シース40の材質、該シース40の内部で複数の線条体を所定の間隔で縛る緊縛線の位置の情報等を含む。
ケーブル22の種類を識別する情報は、例えば、「第nの種類」といった文字情報であってもよいし、又は、ケーブル製造会社がケーブル毎に付す製品番号であってもよい。また、線条体の種類を識別する情報は、例えば、「送給管」、「伝送線」、「光ファイバ」といった文字情報であってもよい。
また、線条体の配置を示す情報は、例えば、「ランダム配置」、「同心配置」といった文字情報であってもよい。また、シース40の材質は、例えば、「樹脂」、「ゴム」といった文字情報、又は、シース40の材料の製造会社が付す製品番号等であってもよい。また、緊縛線の位置の情報は、例えば、2つの緊縛線の間の平均距離、又は緊縛線の数であってもよい。
また、ロボット20の種類のデータは、ロボット20の種類を識別する情報、敷設されるケーブル22の数、ロボット20における拘束具34の固定位置の情報等を含む。ロボット20の種類を識別する情報は、例えば、「第nの種類」といった文字情報であってもよいし、又は、ロボット製造会社がロボット毎に付す製品番号であってもよい。
一例として、オペレータは、ステップS2において、機械学習装置10の入力装置を操作して、ケーブル22又はロボット20の種類のデータDを入力する。こうして、学習データ取得部12は、学習データセットDSとして、画像データD及び状態データDに加えて、種類のデータDを取得する。そして、ステップS3において、学習部14は、画像データDと状態データDとの相関性に、画像データDと種類のデータDとの関連性を加味して、学習モデルLMを生成する。
ロボット20が所定の動作を実行しているときのケーブル22の屈曲の度合いは、該ケーブル22の種類に応じて異なり得る。例えば、シース40の内部に配線される線条体の数が多くなる程、又は、シース40の材質の可撓性が小さくなる程、ケーブル22は屈曲し難く成り得る。
また、ロボット20が所定の動作を実行しているときのケーブル22の屈曲の度合いは、ロボット20の種類に応じて異なり得る。例えば、ロボット20の種類毎に拘束具34の固定位置が変わるので、その結果、所定の動作時におけるケーブル22の屈曲の度合いが変化し得る。
このように、ケーブル22の屈曲の度合いと、ケーブル22又はロボット20の種類との間には、相関性が存在し得る。したがって、画像データDとケーブル22又はロボット20の種類との関連性を加味して学習モデルLMを生成することにより、ケーブル22又はロボット20の種類に応じた学習モデルLMを取得することができる。
機械学習装置10のさらに他の機能として、ステップS2において、学習データ取得部12は、学習データセットDSとして、画像データD及び状態データDに加えて、ステップS1でロボット20が所定の動作を行っているときの該ロボット20の位置及び姿勢のデータ(以下、位置データDとする)をさらに取得してもよい。
一例として、ステップS1にてカメラ50が時点τでケーブル22を1回だけ撮像した場合、学習データ取得部12は、時点τにおけるロボット20の位置データDを取得する。他の例として、ステップS1にてカメラ50が複数の時点τ(n=1,2,3,・・・)でケーブル22を連続的に撮像(動画撮影)した場合、学習データ取得部12は、複数の時点τの各々におけるロボット20の位置データDを順次取得する。
ロボット20の位置データDは、該ロボット20に内蔵された各サーボモータの回転角度θから求めることができる。したがって、この場合、ロボット20の各サーボモータには、カメラ50の撮像時に回転角度θを検出するセンサ(エンコーダ、ホール素子等)が設けられる。なお、ロボット20の位置データDとして、回転角度θが用いられてもよい。そして、ステップS3において、学習部14は、画像データDと状態データDとの相関性に、画像データDとロボット20の位置及び姿勢との関連性を加味して、学習モデルLMを生成する。
ここで、ロボット20が所定の動作を実行しているときのケーブル22の屈曲の度合いは、該ロボット20の位置及び姿勢(例えば、上腕部30に対する手首部32の角度)に応じて異なり得る。すなわち、ケーブル22の屈曲の度合いと、ロボット20の位置及び姿勢との間には、相関性が存在し得る。したがって、画像データDとロボット20の位置及び姿勢との関連性を加味して学習モデルLMを生成することにより、ロボット20の位置及び姿勢に応じた学習モデルLMを取得することができる。
機械学習装置10のさらに他の機能として、ステップS2において、学習データ取得部12は、ステップS1でロボット20が所定の動作を行っているときの周囲温度Tを、学習データセットDSとしてさらに取得してもよい。したがって、この場合、周囲温度Tを検出するセンサ(温度センサ)が設けられる。
そして、ステップS3において、学習部14は、画像データDと状態データDとの相関性に、画像データDと周囲温度Tとの関連性を加味して、学習モデルLMを生成する。ここで、ロボット20が所定の動作を実行しているときのケーブル22の屈曲の度合と周囲温度Tとの間には、相関性が存在し得る。
具体的には、シース40の材質によって、周囲温度Tが高ければ、シース40の可撓性が増大し、これによりケーブル22が屈曲し易くなり得る一方で、周囲温度Tが低ければ、シース40の可撓性が減退し、これによりケーブル22が屈曲し難くなり得る。したがって、画像データDと周囲温度Tとの関連性を加味して学習モデルLMを生成することにより、周囲温度Tに応じた学習モデルLMを取得することができる。
機械学習装置10のさらに他の機能として、ステップS2において、学習データ取得部12は、ステップS1でロボット20が所定の動作を行っているときの、伝送線38に流れる電流A、又は該伝送線38の抵抗Rを、学習データセットDSとしてさらに取得してもよい。したがって、この場合、所定の動作時に伝送線38の電流A又は抵抗Rを検出するセンサ(電流計、抵抗計等)が設けられる。
そして、ステップS3において、学習部14は、画像データDと状態データDとの相関性に、画像データDと電流A又は抵抗Rとの関連性を加味して、学習モデルLMを生成する。ここで、ロボット20が所定の動作を実行しているときのケーブル22の屈曲の度合いに応じて、電流A又は抵抗Rが変動し得る。例えば、ケーブル22の屈曲の度合いが許容範囲を超えることで伝送線38が部分的に断線し、伝送線38の抵抗Rが増大する一方、電流Aが減少し得る。
このように、ケーブル22の屈曲の度合いと、電流A又は抵抗Rとの間には、相関性が存在し得る。したがって、画像データDと電流A又は抵抗Rとの関連性を加味して学習モデルLMを生成することにより、電流A又は抵抗Rに応じた学習モデルLMを取得することができる。
機械学習装置10のさらに他の機能として、例えば図3に示すケーブル22A又は図4に示すケーブル22Bを用いる場合に、ステップS2において、学習データ取得部12は、ステップS1でロボット20が所定の動作を行っているときの、送給管36内の流体の圧力Pを、学習データセットDSとしてさらに取得してもよい。したがって、この場合、所定の動作時に圧力Pを検出するセンサ(圧力計等)が設けられる。
そして、ステップS3において、学習部14は、画像データDと状態データDとの相関性に、画像データDと圧力Pとの関連性を加味して、学習モデルLMを生成する。ここで、ロボット20が所定の動作を実行しているときのケーブル22の屈曲の度合いは、送給管36内の流体の圧力Pに応じて変化し得る。
具体的には、送給管36内の流体の圧力Pが大きい程、ケーブル22が屈曲し難くなり得る。このように、ケーブル22の屈曲の度合いと圧力Pとの間には、相関性が存在し得る。したがって、画像データDと圧力Pとの関連性を加味して学習モデルLMを生成することにより、圧力Pに応じた学習モデルLMを取得することができる。
機械学習装置10のさらに他の機能として、例えば図5に示すケーブル22Cを用いる場合に、ステップS2において、学習データ取得部12は、ステップS1でロボット20が所定の動作を行っているときの、光ファイバ42内を伝搬する光(例えば、レーザ光)の光学特性OPを、学習データセットDSとしてさらに取得してもよい。光学特性OPは、例えば、光ファイバ42内を伝搬する光(又は、該光の戻り光)の強度、パワー、又は強度分布等を含み得る。したがって、この場合、所定の動作時に光学特性OPを検出するセンサ(光強度計、ビームプロファイラ等)が設けられる。
そして、ステップS3において、学習部14は、画像データDと状態データDとの相関性に、画像データDと光学特性OPとの関連性を加味して、学習モデルLMを生成する。ここで、ロボット20が所定の動作を実行しているときのケーブル22の屈曲の度合いに応じて、光学特性OPが変動し得る。例えば、ケーブル22の屈曲の度合いが許容範囲を超えると、該ケーブル22の屈曲部における漏れ光が増大し、これにより、光(又は戻り光)の強度又はパワーが減少し得る。
このように、ケーブル22の屈曲の度合いと光学特性OPとの間には、相関性が存在し得る。したがって、画像データDと光学特性OPとの関連性を加味して学習モデルLMを生成することにより、光学特性OPに応じた学習モデルLMを取得することができる。
なお、学習部14が実行する学習アルゴリズムは、教師あり学習に限定されず、例えば教師なし学習、強化学習、ニューラルネットワーク等、機械学習として公知の学習アルゴリズムを採用できる。一例として、図11は、ニューロンのモデルを模式的に示す。図12は、図11に示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
図11に示すニューロンは、複数の入力x(図では例として入力x1~x3)に対し結果yを出力する。個々の入力x(x1、x2、x3)にはそれぞれに重みw(w1、w2、w3)が乗算される。入力xと結果yとの関係は、下記の式1で表すことができる。なお、入力x、結果y及び重みwはいずれもベクトルである。また式1において、θはバイアスであり、fは活性化関数である。
Figure 0007260402000001
図11に示す三層のニューラルネットワークは、左側から複数の入力x(図では例として入力x1~入力x3)が入力され、右側から結果y(図では例として結果y1~結果y3)が出力される。図示の例では、入力x1、x2、x3のそれぞれに対応の重み(総称してW1で表す)が乗算されて、個々の入力x1、x2、x3がいずれも3つのニューロンN11、N12、N13に入力されている。
図12では、ニューロンN11~N13の各々の出力を、総称してZ1で表す。Z1は、入力ベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルZ1のそれぞれに対応の重み(総称してW2で表す)が乗算されて、個々の特徴ベクトルZ1がいずれも2つのニューロンN21、N22に入力されている。特徴ベクトルZ1は、重みW1と重みW2との間の特徴を表す。
図12では、ニューロンN21~N22の各々の出力を、総称してZ2で表す。Z2は、特徴ベクトルZ1の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルZ2のそれぞれに対応の重み(総称してW3で表す)が乗算されて、個々の特徴ベクトルZ2がいずれも3つのニューロンN31、N32、N33に入力されている。
特徴ベクトルZ2は、重みW2と重みW3との間の特徴を表す。最後にニューロンN31~N33は、それぞれ結果y1~y3を出力する。機械学習装置10は、学習データセットDSを入力とし、上記したニューラルネットワークに従う多層構造の演算を行うことで、学習モデルLMを学習することができる。
上述した機械学習装置10の構成は、コンピュータのプロセッサが実行する機械学習方法(又はソフトウェア)として記述できる。この機械学習方法は、プロセッサが、ロボット20が所定の動作を行っているときにカメラ50が撮像したケーブル22の画像データDと、該所定の動作を行っているときのケーブル22の状態Sを示すデータDとを学習データセットDSとして取得し、学習データセットDSを用いて、画像データDとケーブル22の状態Sとの相関性を表す学習モデルLMを生成する。
次に、図13を参照して、一実施形態に係るロボットシステム60について説明する。ロボットシステム60は、ロボット20、カメラ50、及び制御装置62を備える。制御装置62は、プロセッサ64、及び記憶部66を有する。プロセッサ64と記憶部66とは、バス68を介して互いに通信可能に接続されている。プロセッサ64は、CPU又はGPU等を含み、記憶部66と通信しつつ各種演算を実行する。制御装置62は、入力装置(キーボード、マウス、タッチパネル等)及び表示装置(LCD、有機EL等)を有するコンピュータから構成されてもよい。
本実施形態においては、機械学習装置10は、ハードウェア又はソフトウェアとして制御装置62に実装されており、プロセッサ64は、機械学習装置10の機能を果たすための各種演算を実行する。すなわち、本実施形態においては、プロセッサ64は、学習データ取得部12及び学習部14として機能する。
記憶部66は、ROM及びRAM等を含み、機械学習装置10が学習した学習モデルLMを予め格納している。本実施形態に係るロボットシステム60は、例えば、該ロボットシステム60を製造する工場、又は、ロボット20によって実際の作業(溶接、ワークハンドリング、加工、塗装等)を行う工場に、設置される。
次に、図14を参照して、ロボットシステム60の動作について説明する。図14に示すフローは、プロセッサ64が、オペレータ、上位コントローラ、又はロボットプログラムから動作開始指令を受け付けたときに、開始する。ステップS11において、プロセッサ64は、ロボット20に所定の動作を実行させる。
一例として、プロセッサ64は、所定の動作として、ロボット20に作業(溶接、ワークハンドリング、加工、塗装等)を行わせるべく、予め定められたロボットプログラムに従って各可動要素(旋回胴26、下腕部28、上腕部30、手首部32)を動作させ、該ロボット20に一連の動作を実行させる。代替的には、プロセッサ64は、所定の動作として、ロボット20の第1の要素(手首部32)を第2の要素(上腕部30)に対して予め定められた第1の位置と第2の位置との間で回動させる動作を実行させる。
ここで、このステップS11でロボット20に実行させる所定の動作は、学習のために上述のステップS1でロボット20が実行した所定の動作と実質同じである。例えば、ステップS11において、プロセッサ64は、上述のステップS1でロボット20を動作させたのと同じロボットプログラムに従って、ロボット20を動作させてもよい。
しかしながら、このステップS11で実行する所定の動作は、ステップS1と完全に同じ条件(エンドエフェクタの種類、ロボット20の位置及び姿勢、ロボット20の移動経路等)の動作に限らず、ケーブル22の屈曲の度合いが同等である限りにおいて、該条件のうちの少なくとも1つがステップS1と異なる動作であってもよい。
ステップS12において、プロセッサ64は、ロボット20が所定の動作を行っているときに、カメラ50によってケーブル22を撮像する。ここで、プロセッサ64は、このステップS12において、上述のステップS1でカメラ50がケーブル22を撮像したときと同じケーブル22の位置を、同じ視線方向VDに沿って、同じタイミングで撮像する。
一例として、上述のステップS1でカメラ50が時点τでケーブル22を1回だけ撮像した場合、このステップS12において、プロセッサ64は、ステップS11の実行中に手首部32が上腕部30に対して第1の基準位置に配置された時点τで、カメラ50によって、手首部32と上腕部30との連結部の近傍位置で視線方向VDに沿ってケーブル22を撮像する。
他の例として、上述のステップS1でカメラ50が複数の時点τ(n=1,2,3,・・・)でケーブル22を連続的に撮像した場合、このステップS12において、プロセッサ64は、ステップS11の実行中に手首部32が上腕部30に対して第nの基準位置に配置された時点τの各々で、カメラ50によって、手首部32と上腕部30との連結部の近傍位置で視線方向VDに沿ってケーブル22を撮像する。カメラ50は、撮像したケーブル22の画像データD’を、プロセッサ64に供給する。
ステップS13において、プロセッサ64は、学習モデルLMに基づいて、ケーブル22の状態Sを判定する。具体的には、プロセッサ64は、ステップS12で取得したケーブル22の画像データD’を、記憶部66に格納している学習モデルLMに入力する。そうすると、学習モデルLMは、入力された画像データD’と相関性を有する状態データD(「正常状態」、「異常状態」等のラベル情報)を推定して出力する。こうして、プロセッサ64は、取得した画像データD’から、ケーブル22の状態Sを判定することができる。
プロセッサ64は、ケーブル22の状態Sが異常状態ではない(又は、正常状態である)場合にNOと判定し、ステップS11で開始した動作を完了させ、図14に示すフローを終了する。一方、プロセッサ64は、ケーブル22の状態Sが異常状態である(又は、正常状態ではない)場合にYESと判定し、ステップS14へ進む。このように、本実施形態においては、プロセッサ64は、ケーブル22の状態Sを判定する状態判定部70(図13)として機能する。
ステップS14において、プロセッサ64は、警告信号を生成する。例えば、プロセッサ64は、「ケーブルの状態に異常が発生している可能性があります」という音声又は画像の信号を生成し、制御装置62に設けられたスピーカ又はディスプレイ(図示せず)を通して出力する。そして、プロセッサ64は、図14に示すフローを終了する。
なお、図10に示す学習サイクルにおいて、学習データセットDSとしてケーブル22又はロボット20の種類のデータDをさらに取得して学習モデルLMの学習を行った場合、ステップS13の前に、オペレータは、制御装置62に設けられた入力装置を操作して、ロボットシステム60のロボット20又はケーブル22の種類のデータD’を入力してもよい。
この場合、ステップS13において、ロボットシステム80のプロセッサ64は、ステップS12で取得したケーブル22の画像データD’と、入力された種類のデータD’とを学習モデルLMに入力する。そうすると、学習モデルLMは、画像データD’と種類のデータD’とから状態データDを推定し、ケーブル22の状態Sを判定する。この構成によれば、ケーブル22の状態Sを、種類のデータD’に対応して、より高精度に判断することができる。
次に、図15を参照して、他の実施形態に係るロボットシステム80について説明する。ロボットシステム80は、上述のロボットシステム60と、センサ82をさらに備える点で、相違する。一例として、図10に示す学習サイクルで学習データセットDSとして位置データDをさらに取得して学習モデルLMの学習を行った場合、センサ82は、ロボットシステム80のロボット20の各サーボモータに内蔵されたエンコーダ又はホール素子等であって、検出値として、該サーボモータの回転角度θ’を検出する。
他の例として、図10に示す学習サイクルで学習データセットDSとして周囲温度Tをさらに取得して学習モデルLMの学習を行った場合、センサ82は、温度センサ等であって、検出値として、ロボットシステム80のロボット20の周囲温度T’を検出する。さらに他の例として、図10に示す学習サイクルで学習データセットDSとして伝送線38の電流A又は抵抗Rをさらに取得して学習モデルLMの学習を行った場合、センサ82は、電流計又は抵抗計等であって、検出値として、ロボットシステム80のケーブル22の伝送線38の電流A’又は抵抗R’を検出する。
さらに他の例として、図10に示す学習サイクルで学習データセットDSとして送給管36内の流体の圧力Pをさらに取得して学習モデルLMの学習を行った場合、センサ82は、圧力計等であって、検出値として、ロボットシステム80のケーブル22の送給管36内の流体の圧力P’を検出する。
さらに他の例として、図10に示す学習サイクルで学習データセットDSとして光学特性OPをさらに取得して学習モデルLMの学習を行った場合、センサ82は、光強度計又はビームプロファイラ等であって、検出値として、ロボットシステム80のケーブル22の光ファイバ42内を伝搬する光の光学特性OP’を検出する。
次に、図16を参照して、ロボットシステム80の動作について説明する。なお、図16に示すフローにおいて、図14に示すフローと同様のプロセスには同じステップ番号を付し、重複する説明を省略する。ステップS21において、ロボットシステム80のプロセッサ64は、ステップS11でロボット20が所定の動作を行っているときに、カメラ50によってケーブル22を撮像する。ここで、プロセッサ64は、このステップS21において、カメラ50に、上述のステップS1でカメラ50がケーブル22を撮像したときと同じケーブル22の位置を、同じ視線方向VDに沿って撮像させる。
一例として、図10に示す学習サイクルで位置データDをさらに取得して学習モデルLMの学習を行った場合、プロセッサ64は、ステップS11でロボット20が所定の動作を実行している間の任意のタイミングで、カメラ50にケーブル22を撮像させる。一方、図10に示す学習サイクルで位置データDを取得していない場合は、上述のステップS12と同様に、学習段階のステップS1でカメラ50がケーブル22を撮像したときと同じタイミングで、カメラ50にケーブル22を撮像させる。
ステップS22において、ロボットシステム80のプロセッサ64は、ステップS11でロボット20が所定の動作を行っているときに、センサ82を動作させて検出値を取得する。一例として、図10に示す学習サイクルで位置データDをさらに取得して学習モデルLMの学習を行った場合、センサ82は、ステップS21でカメラ50がケーブル22を撮像した時点で、検出値として回転角度θ’を検出する。そして、プロセッサ64は、回転角度θ’から、ロボットシステム80のロボット20の位置データD’を取得する。
他の例として、図10に示す学習サイクルで周囲温度Tをさらに取得して学習モデルLMの学習を行った場合、センサ82は、ステップS11の実行中(又は実行前後)に、検出値として周囲温度T’を検出する。さらに他の例として、図10に示す学習サイクルで電流A又は抵抗Rをさらに取得して学習モデルLMの学習を行った場合、センサ82は、ステップS11の実行中に(例えば、ステップS21でカメラ50がケーブル22を撮像した時点で)、検出値として電流A’又は抵抗R’を検出する。
さらに他の例として、図10に示す学習サイクルで圧力Pをさらに取得して学習モデルLMの学習を行った場合、センサ82は、ステップS11の実行中に(例えば、ステップS12でカメラ50がケーブル22を撮像した時点で)、検出値として圧力P’を検出する。さらに他の例として、図10に示す学習サイクルで光学特性OPをさらに取得して学習モデルLMの学習を行った場合、センサ82は、検出値として光学特性OP’を検出する。
ステップS23において、ロボットシステム80のプロセッサ64は、学習モデルLMに基づいて、ケーブル22の状態Sを判定する。一例として、上述のステップS22で位置データD’を取得した場合、プロセッサ64は、ステップS21で取得したケーブル22の画像データD’と、ステップS22で取得した位置データD’とを、記憶部66に格納している学習モデルLMに入力する。
そうすると、学習モデルLMは、画像データD’と位置データD’とから状態データDを推定し、ケーブル22の状態Sを判定する。このように、学習データセットDSとして位置データDを取得して学習モデルLMの学習を行っていた場合、ステップS21で任意のタイミングで撮像した画像データD’を学習モデルLMに入力することで、ケーブル22の状態Sを判断することができる。また、ケーブル22の状態Sを、ロボット20の位置及び姿勢に対応して、より高精度に判断することができる。
また、他の例として、上述のステップS22で周囲温度T’、電流A’、抵抗R’、圧力P’、又は光学特性OP’の検出値を取得した場合、プロセッサ64は、ステップS21で取得したケーブル22の画像データD’と、ステップS22で取得した検出値T’、A’、R’、P’又はOP’とを、学習モデルLMに入力する。
そうすると、学習モデルLMは、画像データD’と該検出値T’、A’、R’、P’又はOP’とから状態データDを推定し、ケーブル22の状態Sを判定する。この構成によれば、ケーブル22の状態Sを、周囲温度T’、電流A’、抵抗R’、圧力P’、又は光学特性OP’に対応して、より高精度に判断することができる。
以上のように、ロボットシステム60及び80においては、プロセッサ64は、ロボット20に所定の動作を行わせたときに、機械学習装置10が学習した学習モデルLMに基づいてケーブル22の状態Sを判定している。この構成によれば、ケーブル22の状態Sに異常が発生しているか否かを、工場等の作業現場で、自動的且つ高精度に判定することができる。
なお、上述のステップS23において、プロセッサ64は、学習モデルLMを用いたケーブル22の状態Sの判定に加えて、センサ82が検出した電流A’若しくは抵抗R’、圧力P’、又は光学特性OP’が、予め定めた許容範囲内に在るか否かをさらに判定してもよい。
そして、プロセッサ64は、電流A’若しくは抵抗R’、圧力P’、又は光学特性OP’が許容範囲外である場合は、仮に学習モデルLMがケーブル22の状態Sを異常状態ではない(又は正常状態である)と判定したとしても、ステップS23でYESと判定し、ステップS14へ進んでもよい。この構成によれば、プロセッサ64は、学習モデルLMによる状態Sの判定に加えて、電流A’若しくは抵抗R’、圧力P’、又は光学特性OPといった検出値から、ケーブル22の異常をより確実に検出できる。
次に、図17を参照して、一実施形態に係るネットワークシステム90について説明する。ネットワークシステム90は、複数の機械学習装置10A、10B、10C、及び10Dと、記憶装置94と、該機械学習装置10A、10B、10C、及び10Dと該記憶装置94とを通信可能に接続するネットワーク92とを備える。
機械学習装置10A、10B、10C、及び10Dの各々は、上述の機械学習装置10と同様の構成を有する。機械学習装置10A、10B、10C、及び10Dは、互いに別々の工場に設置されてもよいし、同じ工場内の別々のラインに設置されてもよい。記憶装置94は、サーバ等を有し、データを記憶することができる。ネットワーク92は、LAN又はインターネット等であって、機械学習装置10A、10B、10C、及び10Dの各々と該記憶装置94との間でデータを双方向に通信させる。
機械学習装置10A、10B、10C、及び10Dの各々は、学習データ取得部12が取得した学習データセットDSを、ネットワーク92を介して記憶装置94に送信する。記憶装置94は、機械学習装置10A、10B、10C、及び10Dの各々から受信した学習データセットDSを記憶する。
また、機械学習装置10A、10B、10C、及び10Dの各々は、記憶装置94に記憶された学習データセットDSを、ネットワーク92を介して記憶装置94から取得する。そして、機械学習装置10A、10B、10C、及び10Dの各々の学習部14は、記憶装置94から取得した学習データセットDSを用いて、学習モデルLMを学習する。
本実施形態によれば、複数の機械学習装置10A、10B、10C、及び10Dで取得した学習データセットDSを記憶装置94に集約し、複数の機械学習装置10A、10B、10C、及び10Dの間で学習データセットDSを共有することができる。この構成によれば、機械学習装置10A、10B、10C、及び10Dは、より多くの学習データセットDSを用いて学習モデルLMの学習を進めることができるので、学習モデルLMの学習を効果的に進めることができる。
なお、学習データ取得部12は、学習データセットDSとして、位置データD、種類のデータD、周囲温度T、電流A又は抵抗R、圧力P、及び光学特性OP’の少なくとも2つ(例えば、全て)をさらに取得してもよい。そして、学習部14は、画像データDと状態データDとの相関性に、位置データD、種類のデータD、周囲温度T、電流A又は抵抗R、圧力P、及び光学特性OP’の少なくとも2つと画像データDとの関連性を加味して、学習モデルLMを生成してもよい。
また、上述のステップS2において、オペレータは、センサを用いて電流A若しくは抵抗R、圧力P、又は光学特性OPを検出し、これら電流A若しくは抵抗R、圧力P、又は光学特性OPに基づいてケーブル22の状態Sを確認し、状態データDを学習データ取得部12に入力してもよい。この場合において、機械学習装置10は、電流A若しくは抵抗R、圧力P、又は光学特性OPが、予め定めた許容範囲内に在るか否かを判定する検出値判定部をさらに備えてもよい。
また、上述のステップS1でカメラ50がケーブル22を所定の期間Δに亘って連続的に撮像(動画撮影)し、一群の画像データDi_1、Di_2、・・・Di_n(nは、正の整数)を取得した場合に、ステップS2において、オペレータは、撮像された一群の画像データDi_1~Di_n(すなわち、期間Δの動画)に対して、1つの状態データD(すなわち、ラベル情報)を付与し、学習データ取得部12に入力してもよい。
この場合、学習データ取得部12は、一群の画像データDi_1~Di_nと、該一群の画像データDi_1~Di_nに付与された1つの状態データDとの学習データセットDSを取得する。そして、学習部14は、一群の画像データDi_1~Di_n及び状態データDの学習データセットDSを用いて、一群の画像データDi_1~Di_nとケーブル22の状態Sとの相関性を表す学習モデルLMを生成する。
そして、上述のステップS12又はS21で、カメラ50は、ステップS1と同じタイミングでケーブル22を期間Δに亘って連続的に撮像(動画撮影)し、一群の画像データDi_1’、Di_2’、・・・Di_n’(nは、正の整数)を取得する。そして、上述のステップS13又はS23で、プロセッサ64は、一群の画像データDi_1’~Di_n’を学習モデルLMに入力し、学習モデルLMは、一群の画像データDi_1’~Di_n’と相関性を有する状態データDを推定して出力する。この構成によれば、ケーブル22の状態Sを、ケーブル22の動画(一群の画像データDi_1’~Di_n’)に基づいて判定できる。
なお、上述の実施形態では、カメラ50が、手首部32と上腕部30との連結部の近傍位置でケーブル22を撮像するように設置されている場合について説明した。しかしながら、これに限らず、カメラ50は、ロボット20が所定の動作を行っているときに屈曲する、ケーブル22の如何なる位置を撮像するように設置されてもよい。また、複数のカメラ50が、ケーブル22の別々の位置を撮像するように設置されてもよい。
なお、ロボット20は、垂直多関節ロボットに限らず、例えば、水平多関節型、パラレルリンク型、ローダ等、可動要素とケーブルを備えるものであれば、如何なるタイプのロボットであってもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
10,10A,10B,10C,10D 機械学習装置
12 学習データ取得部
14 学習部
20 ロボット
22,22A,22B,22C ケーブル
50 カメラ
60,80 ロボットシステム
62 制御装置
64 プロセッサ
82 センサ

Claims (10)

  1. ロボットに設けられたケーブルの屈曲状態を学習する機械学習装置であって、
    前記ロボットが所定の動作を行っているときに該所定の動作に応じて屈曲する前記ケーブルをカメラ撮像した画像データと、前記ロボットが前記所定の動作を行っているときの前記ケーブルの屈曲状態の正常又は異常を示すデータとを、学習データセットとして取得する学習データ取得部と、
    前記学習データセットを用いて、前記画像データと前記ケーブルの屈曲状態との相関性を表す学習モデルを生成する学習部と、を備える、機械学習装置。
  2. 前記学習データ取得部は、前記所定の動作を行っているときの前記ロボットの位置及び姿勢のデータを、前記学習データセットとしてさらに取得し、
    前記学習部は、前記相関性に前記画像データと前記位置及び姿勢との関連性を加味して前記学習モデルを生成する、請求項1に記載の機械学習装置。
  3. 前記学習データ取得部は、前記ケーブル又は前記ロボットの種類のデータを、前記学習データセットとしてさらに取得し、
    前記学習部は、前記相関性に前記画像データと前記種類との関連性を加味して前記学習モデルを生成する、請求項1又は2に記載の機械学習装置。
  4. 前記学習データ取得部は、前記所定の動作時の周囲温度を、前記学習データセットとしてさらに取得し、
    前記学習部は、前記相関性に前記画像データと前記周囲温度との関連性を加味して前記学習モデルを生成する、請求項1~3のいずれか1項に記載の機械学習装置。
  5. 前記ケーブルは、電気信号を伝送する伝送線を有し、
    前記学習データ取得部は、前記伝送線に流れる電流、又は該伝送線の抵抗を、前記学習データセットとしてさらに取得し、
    前記学習部は、前記相関性に前記画像データと前記電流又は前記抵抗との関連性を加味して前記学習モデルを生成する、請求項1~4のいずれか1項に記載の機械学習装置。
  6. 前記ケーブルは、流体を送給する送給管を有し、
    前記学習データ取得部は、前記所定の動作時の前記流体の圧力を、前記学習データセットとしてさらに取得し、
    前記学習部は、前記相関性に前記画像データと前記圧力との関連性を加味して前記学習モデルを生成する、請求項1~5のいずれか1項に記載の機械学習装置。
  7. 前記ケーブルは、光を伝搬する光ファイバを有し、
    前記学習データ取得部は、前記所定の動作時の前記光の光学特性を、前記学習データセットとしてさらに取得し、
    前記学習部は、前記相関性に前記画像データと前記光学特性との関連性を加味して前記学習モデルを生成する、請求項1~6のいずれか1項に記載の機械学習装置。
  8. 前記機械学習装置は、該機械学習装置とネットワークを介して通信可能に接続された記憶装置に前記学習データセットを送信し、該学習データセットを該記憶装置に記憶させる、請求項1~7のいずれか1項に記載の機械学習装置。
  9. ロボットと、
    請求項1~8のいずれか1項に記載の機械学習装置と、
    前記ロボットが前記所定の動作を行っているときに前記ケーブルを撮像し、前記画像データとして前記学習データ取得部に供給するカメラと、
    前記学習部が生成した前記学習モデルに基づいて、前記ロボットが前記所定の動作を行っているときの前記ケーブルの屈曲状態を判定する状態判定部と、を備える、ロボットシステム。
  10. ロボットに設けられたケーブルの屈曲状態を学習する機械学習方法であって、
    プロセッサが、
    前記ロボットが所定の動作を行っているときに該所定の動作に応じて屈曲する前記ケーブルをカメラ撮像した画像データと、前記ロボットが前記所定の動作を行っているときの前記ケーブルの屈曲状態の正常又は異常を示すデータとを、学習データセットとして取得し、
    前記学習データセットを用いて、前記画像データと前記ケーブルの屈曲状態との相関性を表す学習モデルを生成する、機械学習方法。
JP2019102816A 2019-05-31 2019-05-31 ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法 Active JP7260402B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019102816A JP7260402B2 (ja) 2019-05-31 2019-05-31 ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法
CN202010461624.9A CN112008716A (zh) 2019-05-31 2020-05-27 学习线缆的状态的机器学习装置、机器人系统以及机器学习方法
DE102020114456.3A DE102020114456A1 (de) 2019-05-31 2020-05-29 Maschinenlernvorrichtung, Robotersystem und Maschinenlernverfahren zum Lernen eines Zustands eines Kabels
US16/886,778 US11398003B2 (en) 2019-05-31 2020-05-29 Machine learning apparatus, robot system, and machine learning method of learning state of cable

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019102816A JP7260402B2 (ja) 2019-05-31 2019-05-31 ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法

Publications (2)

Publication Number Publication Date
JP2020196077A JP2020196077A (ja) 2020-12-10
JP7260402B2 true JP7260402B2 (ja) 2023-04-18

Family

ID=73507072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019102816A Active JP7260402B2 (ja) 2019-05-31 2019-05-31 ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法

Country Status (4)

Country Link
US (1) US11398003B2 (ja)
JP (1) JP7260402B2 (ja)
CN (1) CN112008716A (ja)
DE (1) DE102020114456A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114518163B (zh) * 2022-02-21 2024-03-19 无边界(苏州)新材料科技有限公司 一种基于Gaussian-LM算法进行全声态光纤监测的方法
CN115796061B (zh) * 2023-02-08 2023-05-05 广东电网有限责任公司中山供电局 考虑负荷波动特性的单芯电缆动态载流量预测方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004074368A (ja) 2002-08-21 2004-03-11 Komatsu Ltd ロボットオフライン教示システムにおけるケーブル表示装置
JP2017033526A (ja) 2015-07-31 2017-02-09 ファナック株式会社 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム
JP2017226000A (ja) 2016-06-23 2017-12-28 株式会社ダイヘン ケーブル監視装置および溶接ロボットシステム
JP2018043338A (ja) 2016-09-16 2018-03-22 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP2018074757A (ja) 2016-10-28 2018-05-10 株式会社東芝 巡視点検システム、情報処理装置、巡視点検制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI257214B (en) * 2004-12-10 2006-06-21 Univ Nat Chiao Tung Brainwave-controlled embedded Internet robot agent architecture
US8855812B2 (en) * 2010-07-23 2014-10-07 Chetan Kapoor System and method for robot safety and collision avoidance
US10254855B2 (en) * 2013-06-04 2019-04-09 Wen-Chieh Geoffrey Lee High resolution and high sensitivity three-dimensional (3D) cursor maneuvering device
US9868211B2 (en) * 2015-04-09 2018-01-16 Irobot Corporation Restricting movement of a mobile robot
KR102023149B1 (ko) * 2016-03-03 2019-11-22 구글 엘엘씨 로봇 파지를 위한 심층 기계 학습 방법 및 장치
EP3458919B1 (en) * 2016-05-19 2022-08-24 Deep Learning Robotics Ltd. Robot assisted object learning vision system
CN108734143A (zh) * 2018-05-28 2018-11-02 江苏迪伦智能科技有限公司 一种巡检机器人的基于双目视觉的输电线路在线检测方法
CN109389180A (zh) * 2018-10-30 2019-02-26 国网四川省电力公司广元供电公司 一款基于深度学习的电力设备图像识别方法及巡查机器人

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004074368A (ja) 2002-08-21 2004-03-11 Komatsu Ltd ロボットオフライン教示システムにおけるケーブル表示装置
JP2017033526A (ja) 2015-07-31 2017-02-09 ファナック株式会社 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム
JP2017226000A (ja) 2016-06-23 2017-12-28 株式会社ダイヘン ケーブル監視装置および溶接ロボットシステム
JP2018043338A (ja) 2016-09-16 2018-03-22 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP2018074757A (ja) 2016-10-28 2018-05-10 株式会社東芝 巡視点検システム、情報処理装置、巡視点検制御プログラム

Also Published As

Publication number Publication date
JP2020196077A (ja) 2020-12-10
DE102020114456A1 (de) 2021-01-21
US11398003B2 (en) 2022-07-26
US20200380634A1 (en) 2020-12-03
CN112008716A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
JP6506245B2 (ja) 組付動作を学習する機械学習装置および部品組付システム
US9898815B2 (en) Fault diagnostic device of robot system for judging fault by camera image
US11712801B2 (en) Machine learning apparatus, robot system, and machine learning method of learning state of tool
JP7260402B2 (ja) ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法
US10603793B2 (en) Work assisting system including machine learning unit
US11144032B2 (en) Time to failure analysis of robotic arm cabling
EP3470182A2 (en) Robot system
JP2005011580A (ja) コネクタ把持装置、同装置を備えたコネクタ検査システム及びコネクタ接続システム
CN101510084B (zh) 用于处理误差可视化表示的系统和方法
JP2020015128A (ja) センシングシステム、作業システム、拡張現実画像の表示方法、拡張現実画像の記憶方法、およびプログラム
CN111745640B (zh) 物体检测方法、物体检测装置以及机器人系统
CN110405729B (zh) 机器人控制装置
KR102139229B1 (ko) 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템
JP2018167334A (ja) 教示装置および教示方法
KR102357168B1 (ko) 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템
US10962957B2 (en) Collision position estimation device and machine learning device
JP2022163719A (ja) 対象物を挿入部に挿入するようにロボットを制御するための装置及び方法
Bury et al. Continuous collision detection for a robotic arm mounted on a cable-driven parallel robot
Süberkrüb et al. Feel the tension: Manipulation of deformable linear objects in environments with fixtures using force information
EP4269049A1 (en) Simulation device and simulation program
JP2005293331A (ja) ロボット付加非剛体物のシミュレーション方法およびロボット付加非剛体物の状態診断方法
JP2020075353A (ja) ロボットシステム
US20240227180A9 (en) Robot system, learning apparatus, information processing apparatus, learned model, control method, information processing method, method for manufacturing product, and recording medium
US20230398688A1 (en) Motion trajectory generation method for robot, motion trajectory generation apparatus for robot, robot system, and program
WO2022158079A1 (ja) 制御装置及び自動作業方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230406

R150 Certificate of patent or registration of utility model

Ref document number: 7260402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150