JP2018149669A - 学習装置及び学習方法 - Google Patents

学習装置及び学習方法 Download PDF

Info

Publication number
JP2018149669A
JP2018149669A JP2018023612A JP2018023612A JP2018149669A JP 2018149669 A JP2018149669 A JP 2018149669A JP 2018023612 A JP2018023612 A JP 2018023612A JP 2018023612 A JP2018023612 A JP 2018023612A JP 2018149669 A JP2018149669 A JP 2018149669A
Authority
JP
Japan
Prior art keywords
learning
target device
data
remote operation
request
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.)
Granted
Application number
JP2018023612A
Other languages
English (en)
Other versions
JP6900918B2 (ja
Inventor
安藤 丹一
Tanichi Ando
丹一 安藤
光司 滝沢
Koji Takizawa
光司 滝沢
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to PCT/JP2018/008140 priority Critical patent/WO2018168536A1/en
Publication of JP2018149669A publication Critical patent/JP2018149669A/ja
Application granted granted Critical
Publication of JP6900918B2 publication Critical patent/JP6900918B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

【課題】遠隔地に配置された装置に新たな能力を追加するための仕組みを提供する。【解決手段】本発明の一側面に係る学習装置は、機械学習させる対象となる学習対象装置とは遠隔地に配置され、当該学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付部と、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作部と、前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する学習データ収集部と、収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う学習処理部と、を備える。【選択図】図1

Description

本発明は、学習装置及び学習方法に関する。
コンピュータのCPU(Central Processing Unit)、記憶装置、及びネットワークの高度化により、システムで扱うことのできるデータ量が爆発的に増大している。このような膨大な量のデータは、ビッグデータと呼ばれている。更に、それぞれデータソース及び操作対象となる多数の装置が、ネットワークを介して互いに接続されており、これらを統合する仕組みとして、様々なIoT(Internet of Things)システムが開発されている。ビッグデータをIoTシステムで取り扱うことにより、多様な情報処理を実施することができる。しかしながら、新たな情報処理を実施するためには、アプリケーションに新たな能力を付与することになる。近年、その開発量が大幅に増大しており、これによって、アプリケーション開発のリソースが足りない状況になってきている。深層学習(Deep Learning)をはじめとする新たなAI(Artificial Intelligence)技術によって、アプリケーションに新たな能力を獲得させることができれば、このようなリソースの足りない事態を解決することができる。
以前から、ニューラルネットワークを含む人工知能に関する研究は幅広く行われてきた。例えば、画像に写る対象物の認識技術は、多くの改良が行われ、認識率が徐々に向上してきている。特に、深層学習の導入によって、対象物の認識率がここ数年で急速に向上している。深層学習の技術は、画像の認識だけではなく、音声認識、文章の要約、自動翻訳、自動運転、故障予測、センサデータの分析等の幅広い分野で利用されている。この深層学習等の機械学習を利用すれば、機械に新たな能力を獲得させることができる。
例えば、新たな能力を装置に実装する方法に関連する技術として、特許文献1及び2では、プリンタのファームウェアを書き換える技術が提案されている。また、特許文献3及び4では、機械学習に関連する技術が提案されており、特許文献5では、深層学習を利用した文字識別システムが提案されている。
特開2009−134474号公報 特開2007−140952号公報 特開2014−228972号公報 特許第5816771号公報 特開2015− 53008号公報
本件発明者らは、上記のような従来のAI技術について次のような問題があることを見出した。すなわち、従来のAI技術では、新たな能力を追加する対象となるロボット等の装置を手元に用意し、その対象の装置に機械学習の処理を実行させることで、当該対象の装置に新たな能力を獲得させていた。そのため、新たな能力を追加する対象となる装置が遠隔地に配置されている場合には、その装置に新たな能力を追加するのは困難であった。
そこで、本件発明者らは、上記の問題点を解決するため、遠隔操作により機械学習の処理を実行させることで、遠隔地に配置された装置に新たな能力を追加するシステムを構築することを検討した。しかしながら、本件発明者らは、このようなシステムでは、次のような問題点が生じ得ることを見出した。
すなわち、深層学習等の機械学習では、一般的に、学習に利用するデータの量が多く、かつ、繰り返し演算の回数も多いため、大規模なトレーニングシステムが用いられる。つまり、機械学習の処理を実施するためには、相応のマシンパワーが要求される。これに対して、遠隔地に配置された装置は、そのマシンパワーが制限されている場合がある。加えて、遠隔地に配置されているため、その装置のマシンパワーを容易に増設することができない。そのため、マシンパワーの不足により、遠隔地に配置された装置では、新たな能力を獲得するための機械学習の処理を実施することができないという問題点が生じ得ることを本件発明者らは見出した。
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、遠隔地に配置された装置に新たな能力を適切に追加するための技術的な仕組みを提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係る学習装置は、遠隔地に配置され、機械学習される対象となる学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付部と、制御データを前記学習対象装置に送信することで、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作部と、前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する学習データ収集部と、収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う学習処理部と、を備える。
当該構成に係る学習装置は、依頼者からの学習依頼として、機械学習させる対象となる学習対象装置及び当該学習対象装置に獲得させる能力の指定を受け付ける。続いて、学習装置は、指定された学習対象装置を遠隔操作することにより、指定された能力の機械学習に利用するための学習データを収集する。そして、学習装置は、収集した学習データを利用することで、指定された能力を獲得させるように学習器の機械学習を実施する。これによって、指定された能力を学習対象装置に実施させるための学習器を構築することができる。また、当該構成では、遠隔地に配置された学習対象装置には、指定された能力に関連する動作を実行させるに過ぎず、当該能力の機械学習の処理は、学習装置に実行させる。そのため、遠隔地に配置された学習対象装置のマシンパワーが制限されていても、当該学習対象装置に獲得させる能力の機械学習の処理を実施することができる。したがって、当該構成によれば、遠隔地に配置された装置(学習対象装置)に新たな能力を適切に追加するための技術的な仕組みを提供することができる。
なお、「学習対象装置」は、コンピュータにより制御可能な装置であれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習対象装置は、製造ライン、手術等に利用されるロボットシステムであってよい。また、獲得させる対象となる「能力」は、学習対象装置に実装可能なあらゆる能力を含んでよく、例えば、学習対象装置が提供可能な機能、学習対象装置が実行可能な情報処理等である。能力を獲得することには、未実装の新たな機能又は情報処理を学習対象装置が実施可能になること、及び実装済みの機能又は情報処理を学習対象装置がより効率的に実施可能になることが含まれる。更に、「遠隔地に配置される」とは、学習装置と学習対象装置とが物理的に離れていることであり、例えば、壁で隔たれていたり、別々の建物内にそれぞれが配置されるなどして、学習装置の側にいる人から学習対象装置の側にいる人が見えなかったり、直接声が届かないような配置である。また、例えば、学習対象装置は学習の依頼者の工場内に設置され、学習装置は学習依頼を請け負った者の会社の建物内に設置され、それぞれが別々の会社の建物での配置である。学習装置と学習対象装置とが互いに異なる県に配置される等、学習装置を運営する会社所属の技術者が学習対象装置の配置されている場所を訪れるのに比較的に時間がかかるようなケースに本発明は特に効果を発揮する。また、学習装置は、学習対象装置よりもマシンパワーが高くなるように構成されるのが好ましい。マシンパワーは、CPUの処理速度、メモリの容量、メモリの読み出し速度等によって比較されてよい。
上記一側面に係る学習装置は、前記学習対象装置の可動範囲内で、前記学習対象装置の動作を許可する許可範囲を設定する許可範囲設定部と、前記可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する状況取得部と、を更に備えてよく、前記遠隔操作部は、取得した前記状況情報に基づいて、設定された前記許可範囲内で動作するように前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置が動作する範囲を許可範囲内に限定することで、無駄な動作を削減し、機械学習の効率化を図ると共に、学習対象装置の周囲の安全性を確保することができる。
上記一側面に係る学習装置において、前記監視装置は、前記学習対象装置の可動範囲を撮影するように配置された撮影装置であってよく、前記状況情報は、前記撮影装置により撮影された撮影画像であってよい。当該構成によれば、学習対象装置の状況を監視する監視装置を安価に構築することができる。
上記一側面に係る学習装置において、前記遠隔操作部は、設定した許可範囲内に侵入物が侵入した場合に、前記学習対象装置の遠隔操作を一時停止してもよく、許可範囲から侵入物が退去した後に、前記学習対象装置の遠隔操作を再開してもよい。当該構成によれば、許可範囲内の安全性を確保することができる。
上記一側面に係る学習装置において、前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可するために設定されたパスワードの指定を更に受け付けてよく、前記遠隔操作部は、指定された前記パスワードによって前記学習対象装置において認証を受けた後に、前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置を遠隔操作する際のセキュリティを高めることができる。
上記一側面に係る学習装置において、前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可する時間帯の指定を更に受け付けてよく、前記遠隔操作部は、指定された前記時間帯にのみ前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置の遠隔操作を許可する時間帯を限定することができる。これにより、例えば、学習対象装置を利用しない夜間又は早朝の時間帯に、当該学習対象装置の機械学習に利用する学習データを収集するようにすることができる。そのため、学習対象装置の利用効率を高めることができる。
上記一側面に係る学習装置において、前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可する学習期間の指定を更に受け付けてよく、前記遠隔操作部は、指定された前記学習期間内に前記学習対象装置を遠隔操作し、指定された前記学習期間の経過後に、前記学習対象装置の遠隔操作に利用した情報を削除してもよい。当該構成によれば、学習期間を設定することができる。これによって、例えば、学習対象装置を利用しない1週間、2週間等の休業期間に、当該学習対象装置の機械学習に利用する学習データを収集するようにすることができる。
上記一側面に係る学習装置は、前記学習依頼の破棄を受け付ける破棄受付部と、前記学習依頼の破棄を受け付けた場合に、当該学習依頼の破棄を受け付けるまでに収集した前記学習データ及び前記学習対象装置の遠隔操作に利用した情報を含む前記学習依頼に関する情報を削除するデータ削除部と、を更に備えてもよい。当該構成によれば、不要になった機械学習の依頼を破棄することができ、これによって、学習装置のリソースの効率化を図ることができる。
上記一側面に係る学習装置は、前記機械学習が完了した学習済みの前記学習器を前記学習対象装置に装備させることで指定された前記能力を前記学習対象装置に付与するための能力付与データを生成する能力付与データ生成部を更に備えてもよい。当該構成によれば、学習依頼により指定された能力を学習対象装置に付与するための能力付与データを自動的に作成することができる。
なお、能力付与データの形式は、学習依頼で指定された能力を学習対象装置に付与可能な形式であれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習対象装置が所定の学習器を備えている場合には、能力付与データは、その学習器の構成、パラメータ等を示すデータであってよい。また、例えば、学習対象装置がFPGA(field-programmable gate array)を備える場合には、能力付与データは、当該FPGA内で学習済みの学習器を実現するために当該FPGAに書き込まれるデータであってよい。また、例えば、能力付与データは、学習対象装置で実行可能なプログラム、プログラムを修正するパッチデータ等であってよい。
上記一側面に係る学習装置は、生成された前記能力付与データを前記学習対象装置に配信する配信部を更に備えてもよい。当該構成によれば、学習依頼により指定された能力を学習対象装置に自動的に付与することができる。
上記一側面に係る学習装置において、前記学習器は、ニューラルネットワークにより構成されてよい。当該構成によれば、機械学習を実施する学習装置を比較的に簡易に実現することができる。
上記一側面に係る学習装置において、前記学習データ収集部は、指定された前記能力に応じて、達成すべき作業目標を示す目標データを生成してもよく、前記遠隔操作の結果に基づいて、前記目標データにより示される前記作業目標を前記学習対象装置が達成したか否かを判定してもよく、前記作業目標を前記学習対象装置が達成した場合、前記目標データと前記制御データとを組にすることで、前記学習データを生成してもよい。当該構成によれば、指定された能力の機械学習に適した学習データを適切に収集することができる。
また、本発明の一側面に係る学習方法は、コンピュータが、遠隔地に配置され、機械学習させる対象となる学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付ステップと、制御データを前記学習対象装置に送信することで、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作ステップと、前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する収集ステップと、収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う機械学習ステップと、を実行する学習方法である。当該構成によれば、遠隔地に配置された装置に新たな能力を適切に追加するための技術的な仕組みを提供することができる。
上記一側面に係る学習方法において、前記コンピュータが、前記学習対象装置の可動範囲内で、前記学習対象装置の動作を許可する許可範囲を設定する範囲設定ステップと、前記可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する情報取得ステップと、を更に実行してもよく、前記遠隔操作ステップでは、前記コンピュータは、取得した前記状況情報に基づいて、設定された前記許可範囲内で動作するように前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置が動作する範囲を許可範囲内に限定することで、無駄な動作を削減し、機械学習の効率化を図ると共に、学習対象装置の周囲の安全性を確保することができる。
上記一側面に係る学習方法において、前記監視装置は、前記学習対象装置の可動範囲を撮影するように配置された撮影装置であってよく、前記状況情報は、前記撮影装置により撮影された撮影画像であってよい。当該構成によれば、学習対象装置の状況を監視する監視装置を安価に構築することができる。
上記一側面に係る学習方法において、前記遠隔操作ステップでは、前記コンピュータは、設定した許可範囲内に侵入物が侵入した場合に、前記学習対象装置の遠隔操作を一時停止してもよく、許可範囲から侵入物が退去した後に、前記学習対象装置の遠隔操作を再開してもよい。当該構成によれば、許可範囲内の安全性を確保することができる。
上記一側面に係る学習方法において、前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可するために設定されたパスワードの指定を更に受け付けてよく、前記遠隔操作ステップでは、前記コンピュータは、指定された前記パスワードによって前記学習対象装置において認証を受けた後に、前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置を遠隔操作する際のセキュリティを高めることができる。
上記一側面に係る学習方法において、前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可する時間帯の指定を更に受け付けてよく、前記コンピュータは、指定された前記時間帯にのみ前記遠隔操作ステップを実行してもよい。当該構成によれば、学習対象装置の遠隔操作を許可する時間帯を限定することができる。
上記一側面に係る学習方法において、前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可する学習期間の指定を更に受け付けてよく、前記コンピュータは、指定された前記学習期間内に前記遠隔操作ステップを実行し、指定された前記学習期間の経過後に、前記学習対象装置の遠隔操作に利用した情報を削除してもよい。当該構成によれば、学習期間を設定することができる。
上記一側面に係る学習方法において、前記コンピュータが、前記学習依頼の破棄を受け付ける破棄依頼受付ステップと、前記学習依頼の破棄を受け付けた場合に、当該学習依頼の破棄を受け付けるまでに収集した前記学習データ及び前記学習対象装置の遠隔操作に利用した情報を含む前記学習依頼に関する情報を削除する削除ステップと、を更に実行してもよい。当該構成によれば、不要になった機械学習の依頼を破棄することができ、これによって、機械学習を行うシステムのリソースの効率化を図ることができる。
上記一側面に係る学習方法において、前記コンピュータが、前記機械学習が完了した学習済みの前記学習器を前記学習対象装置に装備させることにで指定された前記能力を前記学習対象装置に付与するための能力付与データを生成する生成ステップを更に実行してもよい。当該構成によれば、学習依頼により指定された能力を学習対象装置に付与するための能力付与データを自動的に作成することができる。
上記一側面に係る学習方法において、前記コンピュータが、生成された前記能力付与データを前記学習対象装置に配信する配信ステップを更に備えてもよい。当該構成によれば、学習依頼により指定された能力を学習対象装置に自動的に付与することができる。
上記一側面に係る学習方法において、前記学習器は、ニューラルネットワークにより構成されてよい。当該構成によれば、機械学習を実施する学習装置を比較的に簡易に実現することができる。
上記一側面に係る学習方法において、前記コンピュータは、指定された前記能力に応じて、達成すべき作業目標を示す目標データを生成してもよく、前記遠隔操作の結果に基づいて、前記目標データにより示される前記作業目標を前記学習対象装置が達成したか否かを判定してもよく、前記作業目標を前記学習対象装置が達成した場合、前記目標データと前記制御データとを組にすることで、前記学習データを生成してもよい。当該構成によれば、指定された能力の機械学習に適した学習データを適切に収集することができる。
本発明によれば、遠隔地に配置された装置に新たな能力を追加するための技術的な仕組みを提供することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係るロボットアームシステムのハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係るロボットアームシステムの動作状態の一例を模式的に例示する。 図5は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。 図6は、実施の形態に係るロボットアームシステムのソフトウェア構成の一例を模式的に例示する。 図7は、実施の形態に係る学習装置の処理手順の一例を例示する。 図8は、実施の形態に係るロボットアームシステムの処理手順の一例を例示する。 図9は、変形例に係る学習装置の構成の一例を模式的に例示する。 図10は、変形例に係る学習装置の機械学習実施中における処理手順の一例を例示する。 図11は、変形例に係るロボットアームシステムの一例を模式的に例示する。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。例えば、以下の実施形態では、機械学習させる対象となる学習対象装置の一例として、工場内で所定の作業を行うロボットアームシステムを例示する。しかしながら、本発明の適用対象は、ロボットアームシステムに限定される訳ではなく、学習対象装置は、実施の形態に応じて適宜選択されてよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態に係る学習装置及び学習対象装置の適用場面の一例を模式的に例示する。
図1に示されるとおり、本実施形態に係る学習装置1は、依頼者からの学習依頼に応じて、遠隔地に配置される学習対象装置に指定された新たな能力を獲得するための機械学習を行う情報処理装置である。具体的には、学習装置1は、遠隔地に配置され、機械学習させる対象となる学習対象装置の指定、及び学習対象装置に機械学習により獲得させる能力の指定を学習依頼として依頼者から受け付ける。依頼者は、ユーザ端末4を利用して、ネットワーク10を介して、学習対象装置及び獲得させる能力の指定を行う。
本実施形態では、工場内で所定の作業を行うロボットアームシステム2が、学習装置1の機械学習により当該指定された能力を獲得させる対象となる学習対象装置として指定されたものとする。なお、獲得させる能力は、ロボットアームシステム2に実装可能なあらゆる能力から実施の形態に応じて適宜選択されてよく、例えば、新たな作業を実施する能力、運用中の作業をより効率的に実施する能力等であってよい。
学習装置1は、制御データを送信することで、学習依頼で指定された能力に関連する学習のための動作を実行するように、学習対象装置に指定されたロボットアームシステム2を遠隔操作する。次に、学習装置1は、ロボットアームシステム2の遠隔操作の結果に基づいて、指定された能力の機械学習のための学習データを収集する。そして、学習装置1は、収集した学習データを用いて、指定された能力を獲得させるように学習器(後述するニューラルネットワーク6)の機械学習を行う。これにより、学習装置1は、学習対象装置に指定されたロボットアームシステム2に、学習依頼で指定された能力を実施させるための学習済みの学習器を生成することができる。
また、本実施形態では、遠隔地に配置されたロボットアームシステム2には、指定された能力に関する動作を実行させるに過ぎず、指定された能力を獲得するための機械学習の処理は、学習装置1に実行させる。そのため、遠隔地に配置されたロボットアームシステム2のマシンパワーが制限されていても、当該ロボットアームシステム2に獲得させる能力の機械学習の処理を実施することができる。
したがって、本実施形態によれば、高度なスキルを有する要因及び機械学習に利用する複雑なシステムを持たない一般の企業(依頼者)から学習依頼を受け付け、受け付けた学習依頼に応じて機械学習の実施を行う技術的な仕組みを提供することができる。特に、ロボットアームシステム2のように遠隔地の工場、倉庫等に配置された装置に新たな能力を適切に追加するための技術的な仕組みを提供することができる。
なお、「遠隔地に配置される」とは、学習装置1と学習対象装置とが物理的に離れていることであり、例えば、壁で隔たれていたり、別々の建物内にそれぞれが配置されるなどして、学習装置の側にいる人から学習対象装置の側にいる人が見えなかったり、直接声が届かないような配置である。また、例えば、学習対象装置は学習の依頼者の工場内に設置され、学習装置1は学習依頼を請け負った者の会社の建物内に設置され、それぞれが別々の会社の建物での配置である。したがって、依頼者の利用するユーザ端末4の配置は、実施の形態に応じて適宜選択されてよい。例えば、ユーザ端末4は、学習装置1及びロボットアームシステム2と異なるローカルエリアネットワークに配置され、学習装置1及びロボットアームシステム2とインターネット等のネットワークを介して接続するように配置されてもよい。また、例えば、ユーザ端末4は、学習装置1と同じローカルエリアネットワークに配置されてもよいし、ロボットアームシステム2と同じローカルエリアネットワークに配置されてもよい。更に、学習装置1は、直接入力を受け付けることで、ユーザ端末4を介さず依頼者から学習依頼を受けてもよい。
一方、本実施形態に係るロボットアームシステム2は、依頼者からの学習依頼に応じて指定された能力を獲得するための機械学習を行う上記学習装置1に対して遠隔地に配置され、当該学習装置1の機械学習により指定された能力を獲得させる対象となる学習対象装置の一例である。本実施形態に係るロボットアームシステム2は、所定の作業を実施するロボットアーム30、及びロボットアーム30を制御するロボットコントローラ(RC)20を備えている。また、ロボットコントローラはPLC(programmable logic controller)などでもよい。これにより、ロボットアームシステム2は、指定された能力に関連する動作の実施を指示する遠隔操作の指令を上記学習装置1から受け付け、受け付けた遠隔操作の指令に従って、指定された能力に関連する動作を実行するように構成される。すなわち、ロボットアームシステム2は、RC20によって、学習装置1から指定された動作をロボットアーム30に実行させるように構成される。
また、ロボットアームシステム2は、所定の表示を行うディスプレイ32を備えている。ディスプレイ32は、例えば、ロボットアーム30の近傍等、ロボットアームシステム2の周囲に存在する工場内の作業者が視認可能な場所に配置される。このディスプレイ32は、「表示部」の一例である。本実施形態に係るロボットアームシステム2は、遠隔操作の指令の指令に従って動作を実行している間、学習装置1の遠隔操作による動作中であることをディスプレイ32に表示させるように構成される。
これによって、本実施形態では、ディスプレイ32の表示を通じて、ロボットアームシステム2が学習装置1によって遠隔操作されている最中であることを工場内の作業者等に知らせることができる。したがって、本実施形態によれば、学習装置1による遠隔操作が実施されている間におけるロボットアームシステム2の周囲の安全を確保することができる。
なお、本実施形態では、ロボットアームシステム2は、ロボットアーム30の可動範囲の状況を監視するカメラ31を備えている。カメラ31は、本発明の「監視装置(撮影装置)」の一例である。また、本実施形態では、工場内において、ロボットアームシステム2の他に、オペレータの操作により他律的に又は自律的に移動可能なロボット装置5が作業を行っている。
§2 構成例
[ハードウェア構成]
<学習装置>
次に、図2を用いて、本実施形態に係る学習装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る学習装置1のハードウェア構成の一例を模式的に例示する。
図2に示されるとおり、本実施形態に係る学習装置1は、制御部11、記憶部12、通信インタフェース、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、図2では、通信インタフェースを「通信I/F」と記載している。
制御部11は、CPU、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部12は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成され、制御部11で実行される学習プログラム121、学習器の学習に利用する学習データ122、依頼者に指定された能力をロボットアームシステム2に付与するための能力付与データ123等を記憶する。
学習プログラム121は、学習装置1に後述する機械学習の処理(図7)を実行させるためのプログラムである。学習データ122は、依頼者により指定された能力の機械学習に利用されるデータであり、遠隔操作したロボットアームシステム2から収集される。能力付与データ123は、機械学習の結果により獲得した能力をロボットアームシステム2に付与するためのデータである。詳細は後述する。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワーク10を介した有線又は無線通信を行うためのインタフェースである。学習装置1は、この通信インタフェース13により、ロボットアームシステム2及びユーザ端末4との間でネットワーク10を介してデータ通信を行うことができる。なお、ネットワーク10の種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を介して、学習装置1を操作することができる。
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記学習プログラム121は、この記憶媒体91に記憶されていてもよい。
記憶媒体91は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置1は、この記憶媒体91から、上記学習プログラム121を取得してもよい。
ここで、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
なお、学習装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のプロセッサを含んでもよい。学習装置1は、複数台の情報処理装置で構成されてもよい。また、学習装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。後述する機械学習の処理を実行するため、学習装置1は、ロボットアームシステム2よりもマシンパワーが高くなるように構成されるのが好ましい。なお、マシンパワーは、CPUの処理速度、メモリの記憶容量、メモリの読み出し速度等によって特定されてよい。例えば、学習装置1は、ロボットアームシステム2のRC20よりも高速に動作するCPUを有することで、ロボットアームシステム2よりもマシンパワーが高くなっていてもよい。また、学習装置1とRC20とのCPUの処理速度が同じである場合、学習装置1のRAMが、RC20のRAMよりも大容量又は高速であることで、学習装置1は、ロボットアームシステム2よりもマシンパワーが高くなっていてもよい。
<ロボットアームシステム>
次に、図3及び図4を更に用いて、本実施形態に係るロボットアームシステム2のハードウェア構成の一例について説明する。図3は、本実施形態に係るRC20のハードウェア構成の一例を模式的に例示する。図4は、本実施形態に係るロボットアーム30の動作状態の一例を模式的に例示する。図1及び図3に示されるとおり、本実施形態に係るロボットアームシステム2は、RC20、ロボットアーム30、カメラ31、及びディスプレイ32を備える。以下、各構成要素について説明する。
(RC)
まず、RC20について説明する。本実施形態に係るRC20は、制御部21、記憶部22、外部インタフェース23、及び通信インタフェース24が電気的に接続されたコンピュータである。これにより、RC20は、ロボットアーム30、カメラ31、及びディスプレイ32の動作を制御するように構成される。なお、図3では、外部インタフェース及び通信インタフェースを「外部I/F」及び「通信I/F」と記載している。
制御部21は、CPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、RAM、ROM等で構成され、制御プログラム221等を記憶する。制御プログラム221は、RC20に後述するロボットアーム30の制御処理(図8)を実行させるためのプログラムである。制御部21は、この制御プログラム221を解釈及び実行することで、後述する各ステップの処理を実行するように構成される。
外部インタフェース23は、外部装置と接続するためのインタフェースであり、接続する外部装置に応じて適宜構成される。本実施形態では、RC20は、各外部インタフェース23を介して、ロボットアーム30、カメラ31、及びディスプレイ32に接続する。
通信インタフェース24は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、有線又は無線通信を行うためのインタフェースである。通信インタフェース24は、他の装置と通信を行うように構成された通信部の一例である。RC20は、通信インタフェース24により、遠隔地に配置された学習装置1、及び工場内のロボットアームシステム2の周囲に配置される周辺装置(例えば、自走可能なロボット装置5)との間でデータ通信を行うことができる。
なお、RC20の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。制御部21は、複数のプロセッサを含んでもよい。制御部21は、FPGAにより構成されてもよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。記憶部22は、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置で構成されてもよい。また、RC20は、提供されるサービス専用に設計された情報処理装置の他、制御する対象に応じて、汎用のデスクトップPC、タブレットPC等であってもよい。
(ロボットアーム)
次に、ロボットアーム30について説明する。ロボットアーム30は、所望の作業を実施可能に適宜構成されてよい。図4の例では、ロボットアーム30は、起点となる基台部301、可動軸となる2つの関節部302、骨格を形成する2つのリンク部303、及び先端に取り付けられるエンドエフェクタ304を備えている。
各関節部302は、サーボモータ、ブラシレスモータ等の駆動モータを備えており、各リンク部303を旋回又は回転可能に構成されている。また、各関節部302には、ロータリエンコーダ等の角度を検出可能な角度センサが取り付けられている。これにより、ロボットアーム30は、各関節部302の角度を特定可能に構成されている。
エンドエフェクタ304は、工場内で実施する作業に応じて適宜形成される。このエンドエフェクタ304には、エンドエフェクタ304に作用する力を検出するように構成された力センサが取り付けられていてもよい。これにより、ロボットアーム30は、エンドエフェクタ304に作用する力を検出するように構成可能である。
ロボットアーム30は、各関節部302、各リンク部303及びエンドエフェクタ304に応じて、可動範囲308を有している。すなわち、可動範囲308は、各関節部302を駆動して、エンドエフェクタ304が到達可能な範囲である。本実施形態では、この可動範囲308内に、ロボットアーム30の動作を許可する許可範囲309が設定される。詳細は後述する。
なお、ロボットアーム30の具体的な構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、関節部302及びリンク部303の数は、実施の形態に応じて適宜選択されてよい。また、各関節部302には、上記角度センサの他に、トルクセンサが取り付けられていてもよい。これにより、各関節部302をトルクにより制御することができる。
(ディスプレイ)
本実施形態では、ディスプレイ32は、ロボットアームシステム2(ロボットアーム30)のステータスを表示するのに利用される。そのため、ディスプレイ32は、当該ステータスを表示可能であれば特に限定されなくてもよく、公知の液晶ディスプレイ、タッチパネルディスプレイ等が用いられてよい。
(カメラ)
本実施形態では、カメラ31は、ロボットアームシステム2(ロボットアーム30)の可動範囲308の状況を撮影するように配置される。これにより、カメラ31により撮影された撮影画像には、可動範囲308の状況が映る。この撮影画像は、本発明の「状況情報」の一例である。なお、カメラ31は、所定の場所に固定されてもよいし、モータ等により撮影方向(向き)を変更可能に構成されてもよい。カメラ31には、一般のデジタルカメラ、ビデオカメラ、360度カメラ等が用いられてよいし、可視光撮影用でも赤外光撮影用カメラであってもよい。
<ロボット装置>
ロボット装置5は、例えば、CPU等で構成される制御部、プログラムなどを記憶する記憶部、RC20と通信を行う通信インタフェース、上記ロボットアーム30と同様のロボットアーム、他律的又は自律的に移動するための車輪モジュール等を備える。これにより、ロボット装置5は、工場内を移動し、所定の作業を行うように適宜構成される。なお、ロボット装置5の種類は、特に限定されず、もちろん人型でなくてもよく、工場内で行う作業に応じて適宜選択されてよい。
<ユーザ端末>
ユーザ端末4は、例えば、CPU等で構成される制御部、プログラム等を記憶する記憶部、ネットワークを介した通信を行うための通信インタフェース、及び入出力装置が電気的に接続されたコンピュータである。ユーザ端末4は、学習装置1を運用するサービス提供者に対して依頼者が機械学習の依頼(学習依頼)を行うのに利用される。ユーザ端末4には、例えば、ネットワークに接続可能なデスクトップPC、タブレットPC、スマートフォンを含む携帯電話等が用いられてよい。
[ソフトウェア構成]
<学習装置>
次に、図5を用いて、本実施形態に係る学習装置1のソフトウェア構成の一例を説明する。図5は、本実施形態に係る学習装置1のソフトウェア構成の一例を模式的に例示する。
学習装置1の制御部11は、記憶部12に記憶された学習プログラム121をRAMに展開する。そして、制御部11は、RAMに展開された学習プログラム121をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図5に示されるとおり、本実施形態に係る学習装置1は、ソフトウェアモジュールとして、学習依頼受付部110、許可範囲設定部111、状況取得部112、遠隔操作部113、学習データ収集部114、学習処理部115、能力付与データ生成部116、及び配信部117を備えるコンピュータとして構成される。
学習依頼受付部110は、依頼者から、遠隔地に配置された学習対象装置の指定及び指定された学習対象装置に機械学習により獲得される能力の指定を学習依頼として受け付ける。本実施形態では、依頼者から、ロボットアームシステム2の機械学習の依頼を受け付けたものとする。
許可範囲設定部111は、学習対象装置の可動範囲内で、当該学習対象装置の動作を許可する許可範囲を設定する。本実施形態では、許可範囲設定部111は、上記ロボットアーム30の可動範囲308内において許可範囲309の設定を行う。
状況取得部112は、学習対象装置の可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する。本実施形態では、状況取得部112は、可動範囲308を撮影するように配置されたカメラ31から、当該カメラ31により撮影された撮影画像を状況情報として取得する。
遠隔操作部113は、制御データを学習対象装置に送信することで、学習依頼で指定された能力に関連する動作を実行するように学習対象装置を遠隔操作する。学習データ収集部114は、遠隔操作の結果に基づいて、指定された能力の機械学習のための学習データを収集する。
本実施形態では、遠隔操作部113は、ネットワーク10を介して、所定の動作を指令する制御データをRC20に送信することで、ロボットアームシステム2のロボットアーム30を遠隔操作する。このとき、遠隔操作部113は、カメラ31から取得した撮影画像に基づいて、指定された許可範囲309内で動作するようにロボットアームシステム2を遠隔操作する。そして、学習データ収集部114は、指定された能力に対して達成すべき作業目標を示す目標データ及び当該作業目標を達成するまでの動作過程において得られるセンサデータを入力データとし、当該作業目標を達成するまでの動作過程においてRC20に送信した制御データを教師データとする学習データ122を収集する。
学習処理部115は、収集した学習データを用いて、指定された能力を獲得させるように学習器の機械学習を行う。能力付与データ生成部116は、機械学習が完了した学習済みの学習器を学習対象装置に装備させることで指定された能力を学習対象装置に付与するための能力付与データを作成する。配信部117は、生成した能力付与データを学習対象装置に配信する。
本実施形態では、学習処理部115は、ロボットアームシステム2から収集した学習データ122を用いて、ニューラルネットワーク6の機械学習を行う。能力付与データ生成部116は、学習済みのニューラルネットワーク6をRC20に装備させるための能力付与データ123を生成する。配信部117は、ネットワーク10を介して、生成した能力付与データ123をRC20に配信する。
(学習器)
次に、学習器について説明する。図5に示されるとおり、本実施形態に係る学習器は、ニューラルネットワーク6により構成される。ニューラルネットワーク6は、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層61、中間層(隠れ層)62、及び出力層63を備えている。
なお、図5の例では、ニューラルネットワーク6は、1層の中間層62を備えており、入力層61の出力が中間層62の入力となり、中間層62の出力が出力層63の入力となっている。ただし、中間層62の数は1層に限られなくてもよく、ニューラルネットワーク6は、中間層62を2層以上備えてもよい。
各層61〜63は、1又は複数のニューロンを備えている。例えば、入力層61のニューロンの数は、入力に利用する入力データに応じて設定することができる。中間層62のニューロンの数は、実施の形態に応じて適宜設定することができる。また、出力層63のニューロンの数は、出力する制御データに応じて設定することができる。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。
隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図5の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
学習処理部115は、ニューラルネットワークの学習処理により、収集した学習データ122に含まれる目標データ及びセンサデータを入力すると、制御データを出力値として出力するようにニューラルネットワーク6を構築する。能力付与データ生成部116は、構築したニューラルネットワーク6の構成(例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を含む能力付与データ123を生成する。
<ロボットアームシステム>
次に、図6を用いて、本実施形態に係るロボットアームシステム2のソフトウェア構成の一例を説明する。図6は、本実施形態に係るRC20を含むロボットアームシステム2のソフトウェア構成の一例を模式的に例示する。
RC20の制御部21は、記憶部22に記憶された制御プログラム221をRAMに展開する。そして、制御部21は、RAMに展開された制御プログラム221をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係るRC20を含むロボットアームシステム2は、ソフトウェアモジュールとして、遠隔操作受付部211、動作処理部212、表示制御部213、及び通知部214を備えるコンピュータとして構成される。
遠隔操作受付部211は、指定された能力に関連する学習のための動作の実行を指示する遠隔操作の指令を学習装置1から受け付ける。動作処理部212は、受け付けた遠隔操作の指令に従って、指定された能力に関連する動作を実行する。表示制御部213は、遠隔操作の指令に従って動作を実行している間に、学習装置1の遠隔操作による動作中であることディスプレイ32に表示させる。通知部214は、遠隔操作の指令に従って動作を実行している間に、周辺装置(例えば、ロボット装置5)に対して、学習装置1の遠隔操作による動作中であることを通知する。
<その他>
学習装置1及びロボットアームシステム2(RC20)の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置1及びRC20の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習装置1及びRC20それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[学習装置]
次に、図7を用いて、学習装置1の動作例を説明する。図7は、本実施形態に係る学習装置1の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS101)
ステップS101では、制御部11は、学習依頼受付部110として動作し、依頼者から学習依頼を受け付ける。本ステップS101は、本発明の「学習依頼受付ステップ」の一例である。例えば、依頼者は、ユーザ端末4を操作して、遠隔地に配置され、機械学習させる対象となる学習対象装置の指定、及び学習対象装置に機械学習により獲得させる能力の指定を行う。この学習依頼の入力は、依頼者本人により行われるのではなく、依頼者から依頼内容を聞いた者により行われてもよい。すなわち、依頼内容の入力は、依頼者本人によって実施されなくてもよい。学習対象装置及び獲得対象の能力の指定が完了すると、制御部11は、次のステップS102に処理を進める。
なお、本ステップS101では、学習装置1は、学習対象装置の指定を受け付けることにより、当該学習対象装置の遠隔操作に利用する情報を取得する。例えば、学習装置1は、ロボットアームシステム2が学習対象装置に指定されたことに応じて、ロボットアームシステム2の遠隔操作に利用する情報としてRC20のIPアドレス等を取得する。
また、学習装置1は、学習対象装置の種類に応じて、機械学習により獲得可能な能力の一覧を依頼者に提示することで、機械学習の対象となる能力の指定を受け付けてもよい。機械学習の対象となる能力の一覧は、学習対象装置毎にテンプレートとして予め用意されてもよい。
機械学習の対象となる能力は、学習対象装置に実装可能なあらゆる能力から適宜選択されてよい。例えば、ロボットアーム30が部品の移動、取り付け、加工、バリ取り、はんだ付け、溶接等の作業に利用されている場合、新たな対象物に対して当該作業を実施する能力等が機械学習の対象に指定されてよい。また、それらの作業が既に運用されている場合には、その運用中の当該作業を効率的に実施する能力等が機械学習の対象に指定されてよい。
また、制御部11は、本ステップS101において、機械学習により獲得させる能力の指定と共に、当該能力の達成条件の入力を受け付けてもよい。能力の達成条件とは、学習対象装置に獲得させる能力の付加的な条件であり、例えば、ある指定された作業を何秒以内で行うといった時間条件である。
(ステップS102)
ステップS102では、制御部11は、許可範囲設定部111として動作し、ステップS101で指定された学習対象装置の可動範囲内に、当該学習対象装置の動作を許可する許可範囲を設定する。本ステップS102は、本発明の「範囲設定ステップ」の一例である。本実施形態では、制御部11は、ロボットアーム30の可動範囲308内で、当該ロボットアーム30の動作を許可する許可範囲309を設定する。許可範囲309の設定が完了すると、制御部11は、次のステップS103に処理を進める。
なお、許可範囲309の設定は適宜行われてよい。例えば、制御部11は、オペレータから、許可範囲309の指定を受け付けてもよい。この場合、オペレータは、入力装置14を操作することで、可動範囲308内に許可範囲309を設定する。この際、学習装置1は、可動範囲308の状況を撮影するカメラ31から撮影画像を取得し、取得した撮影画像を出力装置15に出力してもよい。これにより、オペレータは、出力される撮影画像内で、ステップS101で指定された能力に無関係な場所等を省いた上で、許可範囲309を指定することができる。また、カメラ31から取得した撮影画像の画像処理結果に基づいて、許可範囲309をリアルタイムに変更してもよい。例えば、画像処理により可動範囲308内に人又は物体が存在すると判定した場合には、当該人又は物体が存在する部分を範囲から外し、その時点での許可範囲309を設定してもよい。
また、例えば、制御部11は、依頼者から、許可範囲309の指定を受け付けてもよい。この場合、制御部11は、上記ステップS101において、学習依頼と共に、許可範囲309の指定を受け付けてもよい。これにより、制御部11は、依頼者の入力に基づいて、可動範囲308内に許可範囲309を設定することができる。
また、例えば、制御部11は、ステップS101で指定された能力に基づいて、可動範囲308内に許可範囲309を自動的に設定してもよい。この場合、制御部11は、ステップS101で指定された能力の実施に関連する領域を特定し、特定した領域を許可範囲309に設定してもよい。
(ステップS103)
ステップS103では、制御部11は、状況取得部112として動作し、ステップS101で指定された学習対象装置の可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する。本ステップS103は、本発明の「情報取得ステップ」の一例である。本実施形態では、制御部11は、ステップS101で取得した情報を利用してRC20にアクセスして、RC20に接続されたカメラ31を利用して、可動範囲308の状況を撮影する。これにより、制御部11は、可動範囲308の状況を映した撮影画像を状況情報として取得することができる。撮影画像を取得すると、制御部11は、次のステップS104に処理を進める。
(ステップS104)
ステップS104では、制御部11は、遠隔操作部113として動作し、制御データを学習対象装置に送信することで、ステップS101で指定された能力に関連する動作を実行するように学習対象装置を遠隔操作する。本ステップS104は、本発明の「遠隔操作ステップ」の一例である。本実施形態では、制御部11は、ネットワーク10を介して、ステップS101で指定された能力に関連する所定の動作を指令する制御データをRC20に送信する。制御データは、例えば、各関節部302の駆動モータの駆動量を規定する。RC20は、後述するとおり、受信した制御データに基づいて、ロボットアーム30の各関節部302を駆動する。これにより、制御部11は、ロボットアームシステム2を遠隔操作する。ロボットアームシステム2の遠隔操作を行った後、制御部11は、次のステップS105に処理を進める。
遠隔操作による動作の内容は、適宜決定されてよい。例えば、遠隔操作による動作の内容は、オペレータにより決定されてもよい。また、例えば、それぞれロボットアーム30の異なる動作を規定する複数のテンプレートが用意されてもよい。この場合、制御部11は、テンプレートをランダムに選択することで、遠隔操作による動作の内容を決定してもよい。また、制御部11は、繰り返し遠隔操作する間に、動的計画法等の手法を用いて、ステップS101で指定された獲得対象の能力に適するように当該遠隔操作による動作の内容を決定してもよい。更に、制御部11は、当該遠隔操作により、複数の工程を含む一連の動作をロボットアームシステム2に実行させてもよい。
なお、本実施形態では、上記ステップS102では、可動範囲308内に許可範囲309が設定され、かつ、上記ステップS103により、制御部11は、可動範囲308の状況を撮影した撮影画像をカメラ31から取得している。そこで、本ステップS104では、制御部11は、カメラ31から取得した撮影画像に基づいて、設定された許可範囲309内でロボットアーム30が動作するようにロボットアームシステム2を遠隔操作する。すなわち、制御部11は、カメラ31から取得した撮影画像を利用して、ロボットアーム30が許可範囲309の外に出ていないかどうかを確認しながら、ロボットアームシステム2の遠隔操作を行う。
また、制御部11は、許可範囲309内に侵入物(例えば、人、物体等)が侵入したか否かを監視する。許可範囲309内に侵入物が侵入したか否かは、例えば、テンプレートマッチング等の公知の画像処理により判定可能である。制御部11は、許可範囲309内に侵入物が侵入したと判定した場合に、ロボットアームシステム2に対する遠隔操作の指令の送信を一時停止(中断)する。このとき、制御部11は、侵入した侵入物を許可範囲309外に出すためのアナウンス実施の指令をロボットアームシステム2に送信してもよい。そして、許可範囲309から侵入物が退出した後に、制御部11は、ロボットアームシステム2に対する遠隔操作の指令の送信を再開する。これにより、許可範囲309内の安全性を確保することができる。
(ステップS105)
ステップS105では、制御部11は、学習データ収集部114として動作し、ステップS104による遠隔操作の結果に基づいて、指定された能力の機械学習のための学習データ122を収集する。本ステップS105は、本発明の「収集ステップ」の一例である。学習データ122を収集し終えると、制御部11は、次のステップS106に処理を進める。
なお、学習データ122の内容は、学習器の種類、学習対象装置の種類、獲得対象の能力等に応じて適宜決定されてよい。本実施形態では、ニューラルネットワーク6が学習器として用いられ、ロボットアームシステム2が学習対象装置に指定され、ロボットアーム30が新たな作業を実施する又は運用中の作業をより効率的に実施する能力が獲得対象の能力として指定される。また、RC20は、達成すべき目標及び各関節部302の角度センサのセンサデータに基づいて、ロボットアーム30の動作を制御するとする。
この場合、制御部11は、ステップS101で指定された獲得対象の能力に応じて、達成すべき作業目標を示す目標データを作成する。目標データの内容は、実施の形態に応じて適宜決定されてよい。例えば、所定時間内に対象の作業を完遂することに応じて、目標データでは、ロボットアーム30の位置、角度、移動速度等が指定されてよい。また、ロボットアーム30の動作を改善する場合、制御部11は、ロボットアーム30の動作を撮影した撮影画像をカメラ31から取得し、取得した撮影画像を画像解析することで、ロボットアーム30の動作を改善するように、目標データの内容を決定してもよい。
次に、制御部11は、ステップS104の遠隔操作の結果に基づいて、目標データにより示される作業目標をロボットアームシステム2が達成したか否かを判定する。目標データの示す作業目標をロボットアームシステム2が達成した場合、制御部11は、当該作業目標を達成するまでの動作過程において、RC20に送信した制御データを取得する。更に、制御部11は、当該作業目標を達成するまでの動作過程において、各関節部302の角度センサより検出したセンサデータをRC20から取得する。センサデータは、学習対象装置(ロボットアームシステム2)の状態を示す状態データの一例である。センサデータは、制御データにより示される指令によりロボットアーム30を駆動する前に取得されてよい。
そして、制御部11は、制御データを教師データとし、教師データとした制御データによる動作を行う直前に得られたセンサデータ及び目標データを入力データとして、目標データ及びセンサデータと制御データとを紐付けて組にする。これにより、制御部11は、目標データ及びセンサデータを入力データとして含み、かつ制御データを教師データとして含む学習データ122を収集する。すなわち、本ステップS105では、制御部11は、作業目標を達成できなかったときの遠隔操作の結果は無視し、指定された能力を達成したときの遠隔操作の結果から、当該能力の機械学習に利用するための学習データを収集する。
なお、作業目標を達成したか否かは適宜判定されてよい。例えば、制御部11は、遠隔操作の結果の写る撮影画像をカメラ31から取得し、取得した撮影画像を画像解析することで、作業目標を達成したか否かを判定してもよい。また、ロボットアームシステム2及びその周囲に設けられた各種センサ(角度センサ等)により、遠隔操作の結果を得るようにしてもよい。この場合、制御部11は、ロボットアームシステム2及びその周囲に設けられた各種センサ(角度センサ等)の検出結果に基づいて、作業目標を達成したか否かを判定してもよい。また、上記ステップS101において、獲得対象となる能力の指定と共に、当該能力の達成条件の入力を受け付けている場合には、制御部11は、その達成条件を達成したか否かを適宜判定してもよい。
(ステップS106)
ステップS106では、制御部11は、十分な件数の学習データ122を収集したか否かを判定する。十分な件数の学習データ122を収集したと判定した場合には、制御部11は、次のステップS107に処理を進める。他方、十分な件数の学習データ122を収集していないと判定した場合には、制御部11は、ステップS103〜S105の処理を繰り返す。
なお、当該判定は、閾値を利用して行われてよい。すなわち、制御部11は、収集した学習データ122の件数と閾値とを比較することで、十分な件数の学習データ122を収集したか否かを判定してもよい。このとき、閾値は、オペレータにより設定されてもよいし、機械学習の対象となる能力に応じて設定されてもよい。閾値の設定方法は、実施の形態に応じて適宜選択可能である。
(ステップS107)
ステップS107では、制御部11は、機械学習のための遠隔操作が完了したことを示す完了通知をロボットアームシステム2に送信する。完了通知の送信が完了すると、制御部11は、次のステップS108に処理を進める。
(ステップS108)
ステップS108では、制御部11は、学習処理部115として動作し、ステップS105により収集した学習データ122を用いて、指定された能力を獲得させるようにニューラルネットワーク6の機械学習を行う。本ステップS108は、本発明の「機械学習ステップ」の一例である。
具体的には、まず、制御部11は、機械学習の処理対象となるニューラルネットワーク6を用意する。用意するニューラルネットワーク6の構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合には、制御部11は、再学習を行う対象となるニューラルネットワークの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す学習結果データに基づいて、ニューラルネットワーク6を用意してもよい。
次に、制御部11は、ステップS105で収集した学習データ122に含まれる目標データ及びセンサデータを入力データとし、制御データを教師データとして、ニューラルネットワーク6の学習を行う。このニューラルネットワーク6の学習には、勾配降下法、確率的勾配降下法等が用いられてよい。
例えば、制御部11は、学習データ122に含まれる目標データ及びセンサデータを入力層61に入力して、ニューラルネットワーク6の順伝搬方向の演算処理を行う。これにより、制御部11は、ニューラルネットワーク6の出力層63から出力値を得る。次に、制御部11は、出力層63から出力された出力値と学習データ122に含まれる制御データとの誤差を算出する。続いて、制御部11は、誤差逆伝搬法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部11は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
制御部11は、各件の学習データ122について、出力層63から出力される出力値が対応する制御データと一致するまでこの一連の処理を繰り返すことにより、ニューラルネットワーク6の機械学習を行う。これにより、目標データ及びセンサデータを入力すると、対応する制御データを出力する学習済みのニューラルネットワーク6を構築することができる。ニューラルネットワーク6の機械学習が完了すると、制御部11は、次のステップS109に処理を進める。
(ステップS109)
ステップS109では、制御部11は、能力付与データ生成部116として動作し、機械学習が完了した学習済みのニューラルネットワーク6をロボットアームシステム2(RC20)に装備させることで指定された能力をロボットアームシステム2に付与するための能力付与データ123を生成する。本ステップS109は、本発明の「生成ステップ」の一例である。能力付与データ123を生成した後、制御部11は、次のステップS110に処理を進める。
なお、能力付与データ123の形式は、実施の形態に応じて適宜決定されてよい。例えば、RC20が、ニューラルネットワークを用いた演算処理を実施している場合には、制御部11は、ステップS108で構築したニューラルネットワーク6の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す学習結果データを能力付与データ123として生成してもよい。また、例えば、RC20がFPGAを備える場合には、制御部11は、ステップS108で構築したニューラルネットワーク6をFPGA内で実現するために当該FPGAに書き込むデータを能力付与データ123として生成してもよい。また、例えば、制御部11は、ステップS108で構築したニューラルネットワーク6による演算処理をRC20に実行させるためのプログラム又はプログラムを修正するパッチデータを能力付与データ123として生成してもよい。各形式の能力付与データ123は、公知のプログラム自動生成手法等を用いて、自動的に生成されてよい。
(ステップS110)
ステップS110では、配信部117として動作し、ネットワーク10を介して、ステップS109で生成した能力付与データ123をロボットアームシステム2に配信する。本ステップS110は、本発明の「配信ステップ」の一例である。RC20は、受信した能力付与データ123をインストールすることで、ステップS101で指定された能力を獲得することができる。能力付与データ123の配信が完了すると、制御部11は、本動作例に係る処理を終了する。
[ロボットアームシステム]
次に、図8を用いて、ロボットアームシステム2の動作例を説明する。図8は、本実施形態に係るロボットアームシステム2の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS201)
ステップS201では、RC20の制御部21は、遠隔操作受付部211として動作し、指定された能力に関連する動作の実行を指示する遠隔操作の指令を学習装置1から受け付ける。具体的には、制御部21は、上記ステップS104の制御データによる遠隔操作の指令を学習装置1から受け付ける。このとき、制御部21は、複数の動作の実行を指示する複数件の制御データを受信してもよい。制御データを受信すると、制御部21は、次のステップS202に処理を進める。
(ステップS202)
ステップS202では、制御部21は、動作処理部212として動作し、ステップS201で受け付けた遠隔操作の指令に従って、指定された能力に関連する動作を実行する。本実施形態では、制御部21は、制御データに基づいて、各関節部302の駆動モータを駆動することにより、遠隔操作の指令に応じた動作をロボットアーム30に実行させる。本ステップS202によって遠隔操作の指令に従って動作を実行している間に、制御部21は、次のステップS203及びS204を実行する。
なお、上記学習装置1は、許可範囲309内に侵入物が侵入したか否かを監視し、許可範囲309内に侵入物が侵入したと判定した場合に、遠隔操作の実施を一時停止する。この際、制御部21は、侵入した侵入物を許可範囲309外に出すためのアナウンスをディスプレイ32に表示させてもよい。また、RC20がスピーカ(不図示)に接続している場合には、当該アナウンスをスピーカから出力してもよい。制御部21は、学習装置1からの指令に応じて、このアナウンスを実施してもよい。
(ステップS203)
ステップS203では、制御部21は、表示制御部213として動作し、学習装置1の遠隔操作による動作中であることディスプレイ32に表示させる。ディスプレイ32の表示制御が完了すると、制御部21は、次のステップS204に処理を進める。
ここで、ディスプレイ32に表示させる内容は、学習装置1の遠隔操作による動作中であることに関する内容であれば特に限定されなくてもよい。例えば、制御部21は、「遠隔操作による動作中」又は「遠隔操作による学習中」とディスプレイ32に表示してもよい。また、例えば、制御部21は、制御データを参照することで、学習装置1の遠隔操作による動作の内容をディスプレイ32に表示させてもよい。
また、例えば、ステップS201において複数件の制御データを受信した場合、制御部21は、ステップS202により実行中の動作の次に実行する動作の内容をディスプレイ32に表示させてもよい。このとき、制御部21は、次に実行する動作の内容と共に、実行中の動作の内容をディスプレイ32に表示させてもよい。
また、例えば、制御部21は、ステップS202により実行中の動作が危険な動作又は通常よりも高速での動作である場合に、当該実行中の動作が危険な動作又は高速での動作であることをディスプレイ32に表示させてもよい。実行中の動作が危険な動作であることを示す表示内容は、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、「只今実行中の動作は危険」又は「只今実行中の動作は高速での動作」とディスプレイ32に表示させてもよい。また、例えば、制御部21は、実行中の動作が危険な動作であることを示す表示内容として、ロボットアーム30の周囲にいる者に注意喚起を促すメッセージをディスプレイ32に表示させてもよい。
なお、実行中の動作が危険な動作であるか否かを判定する方法は、実施の形態に応じて適宜選択されてよい。例えば、制御部21は、危険な動作を規定した条件に基づいて、ステップS202により実行中の動作が危険な動作であるか否かを判定してもよい。また、例えば、対象の動作が危険であることを示す情報が制御データに含まれていてもよい。この場合、制御部21は、ステップS201で受信した制御データを参照することで、ステップS202により実行中の動作が危険な動作であるか否かを判定することができる。
(ステップS204)
ステップS204では、制御部21は、通知部214として動作し、通信インタフェース24を制御することで、学習装置1の遠隔操作による動作中であることを周辺装置(例えば、ロボット装置5)に通知する。当該通知が完了すると、制御部21は、次のステップS205に処理を進める。
なお、当該通知を受信した周辺装置は、ロボットアームシステム2が学習装置1により遠隔操作されていることを認識することができる。これにより、例えば、ロボットアーム30の遠隔操作による動作を阻害しないようにするため、工場内を移動可能に構成されたロボット装置5が、当該通知を受信したことに応じて、ロボットアーム30の近傍(特に、可動範囲308又は許可範囲309)に近付かないようにすることができる。すなわち、遠隔操作中であることに応じた移動制限を設定し、ロボット装置5が、ロボットアーム30の近傍を避けて移動するようにすることができる。
(ステップS205)
ステップS205では、制御部21は、学習装置1からの遠隔操作が完了したか否かを判定する。本実施形態では、遠隔操作が完了した際に、上記ステップS107により、学習装置1から完了通知が送信される。そのため、制御部21は、完了通知を受信したか否かによって、学習装置1による遠隔操作が完了したか否かを判定する。遠隔操作が完了したと判定した場合、換言すると、学習装置1からの遠隔操作が完了した後、制御部21は、次のステップS206に処理を進める。他方、遠隔操作が完了していないと判定した場合には、制御部21は、ステップS201〜S204の処理を繰り返す。
(ステップS206)
ステップS206では、制御部21は、表示制御部213として動作し、学習装置1の遠隔操作による動作が完了したことをディスプレイ32に表示させる。ディスプレイ32に表示させる内容は、学習装置1の遠隔操作による動作が完了したことに関する内容であれば特に限定されなくてもよい。例えば、制御部21は、「遠隔操作終了」又は「遠隔操作による動作は完了しました」とディスプレイ32に表示させてもよい。これにより、ロボットアームシステム2の周囲に存在する作業者に、学習装置1の遠隔操作による動作が完了し、突然動くことはないことを知らせることができる。当該完了表示が完了すると、制御部21は、次のステップS207に処理を進める。
(ステップS207)
ステップS207では、制御部21は、通知部214として動作し、通信インタフェース24を制御することで、学習装置1の遠隔操作による動作が完了したことを周辺装置(例えば、ロボット装置5)に通知する。当該通知が完了すると、制御部21は、本動作例に係る処理を終了する。
なお、当該通知を受信した周辺装置は、ロボットアームシステム2において学習装置1により遠隔操作が完了したことを認識することができる。これにより、例えば、工場内を移動可能に構成されたロボット装置5が、ロボットアーム30の非動作中には近傍領域(特に、許可範囲309内)に近付いてもよいようにすることができる。すなわち、遠隔操作中であることに応じた移動制限を解除し、ロボット装置5が、ロボットアーム30の近傍を通過してもよいようにすることができる。
[作用・効果]
以上のように、本実施形態に係る学習装置1は、上記ステップS101により、依頼者からの学習依頼として、機械学習させる対象となる学習対象装置及び当該学習対象装置に獲得させる能力の指定を受け付ける。続いて、学習装置1は、上記ステップS104及びS105により、学習対象装置(ロボットアームシステム2)を遠隔操作することで、学習依頼で指定された能力の機械学習に利用するための学習データ122を収集する。そして、学習装置1は、上記ステップS108により、収集した学習データ122を利用して、学習依頼で指定された能力を獲得させるようにニューラルネットワーク6の機械学習を実施する。これによって、学習依頼で指定された能力を学習対象装置に実施させるための学習済みのニューラルネットワーク6を構築することができる。また、遠隔地に配置された学習対象装置(ロボットアームシステム2)には、ステップS201及びS202により、ステップS101で指定された能力に関連する動作を実行させるに過ぎず、ステップS108の機械学習の処理は、学習装置1に実行させる。そのため、遠隔地に配置された学習対象装置のマシンパワーが制限されていても、当該学習対象装置に獲得させる能力の機械学習の処理を実施することができる。したがって、本実施形態によれば、遠隔地に配置された装置に新たな能力を適切に追加するための技術的な仕組みを提供することができる。
また、本実施形態に係る学習装置1は、上記ステップS102により、ロボットアーム30の動作を許可する許可範囲309を可動範囲308内に設定する。また、学習装置1は、上記ステップS103により、可動範囲308の状況を映した撮影画像を取得する。そして、学習装置1は、上記ステップS104において、撮影画像に基づいて、設定した許可範囲309内でロボットアーム30が動作するようにロボットアームシステム2を遠隔操作する。したがって、当該構成によれば、ロボットアーム30が動作する範囲を許可範囲309内に限定することができ、これによって、機械学習に利用する学習データの収集に無駄な動作を削減すると共に、ロボットアームシステム2(ロボットアーム30)の周囲の安全性を確保することができる。
また、本実施形態に係る学習装置1は、上記ステップS109により、能力付与データ123を生成する。そして、学習装置1は、上記ステップS110により、生成した能力付与データ123を学習対象装置(ロボットアームシステム2)に配信する。これによって、学習依頼により指定された能力を学習対象装置に自動的に付与することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態では、学習対象装置の一例として、ロボットアームシステム2を例示した。しかしながら、学習対象装置の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
例えば、学習対象装置は、ロボット装置5のような、倉庫内で移動して、荷物の運搬等の作業を行う作業ロボットであってもよい。この場合、学習依頼では、倉庫内で荷物を効率的に運搬する手順を獲得させる能力として指定することができる。また、作業ロボットの移動可能な範囲が可動範囲となり、許可範囲を設定することで、作業ロボットの移動する範囲を制限することができる。
例えば、学習対象装置は、自動運転可能な車両であってもよい。この場合、学習依頼ではテストコースなどを用いて、依頼者は、道路上で自動運転すること自体を車両に獲得させる能力として指定することができるし、自動運転の動作中の一部の機能として自動駐車すること等を車両に獲得させる能力として指定することもできる。この場合、可動範囲を設定するために、車外を撮影するカメラ及び車外の物体を検出するレーザ等のいずれか又は両方の組合せを用いることができる。なお、遠隔操作に依る動作中であることを表示するディスプレイ等の表示部は、車両の外部に取り付けられていてもよいし、テストコースの所定の場所に配置されていてもよい。
なお、学習対象装置には、一台の装置ではなく、複数台の装置が指定されてもよい。例えば、上記ロボットアームシステム2は、ロボットアーム30を複数備えていてもよい。この場合、学習依頼では、複数台の装置が協働して行う作業を獲得させる能力として指定することができる。
<4.2>
また、上記実施形態では、図5に示されるとおり、ニューラルネットワーク6として、多層構造を有する一般的な順伝播型ニューラルネットワークを用いている。しかしながら、ニューラルネットワーク6の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、入力データとして画像を用いる場合、ニューラルネットワーク6には、畳み込み層及びプーリング層を備える畳み込みニューラルネットワークを用いてもよい。また、例えば、入力データとして時系列データを用いる場合、ニューラルネットワーク6には、中間層から入力層等のように出力側から入力側に再帰する結合を有する再帰型ニューラルネットワークが用いられてもよい。なお、ニューラルネットワーク6の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、及び各ニューロンの伝達関数は、実施の形態に応じて適宜決定されてよい。
<4.3>
また、上記実施形態では、学習器は、ニューラルネットワークにより構成されている。しかしながら、学習器の種類は、ニューラルネットワークに限られなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習器には、サポートベクターマシン、自己組織化マップ、強化学習により学習を行う学習器等が用いられてもよい。なお、強化学習の手法を用いて機械学習を行う場合には、上記ステップS104の遠隔操作を実施している間に、ステップS108の機械学習の処理を実施してもよい。
<4.4>
また、上記実施形態では、可動範囲308の状況を監視する監視装置の一例として、カメラ31が例示されている。しかしながら、監視装置の種類は、撮影装置に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、監視装置は、1又は複数の赤外線センサで構成された、学習対象装置の動作位置(上記実施形態では、ロボットアーム30の位置)を検出する位置検出システムであってもよい。この場合、学習装置1は、上記ステップS103において、位置検出システムの検出結果を示す情報を状況情報として取得することができる。
また、上記実施形態では、カメラ31は、RC20に接続されている。そのため、学習装置1は、ステップS101で指定された学習対象装置の遠隔操作に利用する情報(例えば、IPアドレス)を利用して、RC20を介してカメラ31から撮影画像を取得することができる。しかしながら、学習装置1が状況情報を取得する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、カメラ31がネットワーク10に接続可能である場合、学習装置1は、上記ステップS101において、学習対象装置と同様に、カメラ31へのアクセスに利用する情報(例えば、IPアドレス)を取得してもよい。
なお、ロボットアームシステム2の可動範囲308の監視が不要である場合には、上記学習装置1の処理手順において、上記ステップS102及びS103は省略されてもよい。加えて、学習装置1のソフトウェア構成において、許可範囲設定部111及び状況取得部112は省略されてもよい。また、許可範囲309内の監視が不要な場合、上記学習装置1の処理手順において、遠隔操作を一時停止してから再開するまでの一連の処理は省略されてもよい。
<4.5>
また、上記実施形態に係る学習装置1は、上記ステップS109により、能力付与データ123を生成する。そして、学習装置1は、上記ステップS110により、学習対象装置であるロボットアームシステム2に能力付与データ123を配信する。しかしながら、能力付与データ123の生成方法及び配信方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
例えば、能力付与データ123は、他の情報処理装置又はオペレータにより生成されてよい。この場合、上記学習装置1の処理手順において、ステップS109は省略されてもよい。加えて、学習装置1のソフトウェア構成において、能力付与データ生成部116は省略されてもよい。
また、例えば、能力付与データ123は、CDドライブ、DVDドライブ、フラッシュメモリ等の記憶媒体に格納されてもよい。そして、この能力付与データ123を格納した記憶媒体を依頼者に配布するようにしてもよい。この場合、上記学習装置1の処理手順において、ステップS110は省略されてもよい。加えて、学習装置1のソフトウェア構成において、配信部117は省略されてもよい。
なお、このように記憶媒体により能力付与データ123を配布する場合、依頼者は、受け取った記憶媒体から能力付与データ123を適宜読み出して、ロボットアームシステム2のRC20に読み出した能力付与データ123をインストールする。これによって、能力付与データ123をロボットアームシステム2に適用することができる。
<4.6>
また、上記実施形態では、学習装置1は、1台のコンピュータにより構成されている。しかしながら、学習装置1は、複数台のコンピュータにより構成されてもよい。この場合、学習装置1の一部のソフトウェアモジュールを各コンピュータに実装してもよい。例えば、学習データ収集部114のみを1台のコンピュータに実装してもよい。そして、機械学習の実施に際して、学習データ収集部114を実装したコンピュータを依頼者に貸し出してもよい。これにより、ステップS104における学習データ122の収集処理のリアルタイム性を高めることができる。
<4.7>
また、上記ステップS101では、制御部11は、学習依頼として、学習対象装置(ロボットアームシステム2)において遠隔操作を許可するために設定されたパスワードの指定を更に受け付けてもよい。この場合、上記ステップS104では、制御部11は、指定されたパスワードによってロボットアームシステム2において認証を受けた後に、当該ロボットアームシステム2を遠隔操作するようにしてもよい。これにより、ロボットアームシステム2を遠隔操作する際のセキュリティを高めることができる。
<4.8>
また、上記ステップS101では、制御部11は、学習依頼として、学習対象装置(ロボットアームシステム2)において遠隔操作を許可する時間帯の指定を更に受け付けてもよい。この場合、制御部11は、指定された時間帯にのみ上記ステップS104(ロボットアームシステム2の遠隔操作)を実行するようにしてもよい。これにより、例えば、ロボットアームシステム2を利用しない夜間又は早朝の時間帯に、当該ロボットアームシステム2の機械学習に利用する学習データ122を収集するようにすることができる。そのため、ロボットアームシステム2の利用効率を高めることができる。
<4.9>
また、上記ステップS101では、制御部11は、学習依頼として、学習対象装置(ロボットアームシステム2)において遠隔操作を許可する学習期間の指定を更に受け付けてもよい。この場合、制御部11は、指定された学習期間内に上記ステップS104(ロボットアームシステム2の遠隔操作)を実行し、指定された学習期間の経過後に、ロボットアームシステム2の遠隔操作に利用した情報(例えば、IPアドレス)を削除するようにしてもよい。
<4.10>
また、上記実施形態では、学習装置1は、上記ステップS101により学習依頼を受け付けた後、ステップS108において、受け付けた学習依頼で指定された能力を機械学習により獲得させたニューラルネットワーク6を構築するまで、一連の処理を実行する。しかしながら、学習装置1による学習依頼の処理態様は、このような例に限定されなくてもよい。例えば、学習装置1は、学習依頼の破棄を受け付け可能に構成されてもよい。
図9は、本変形例に係る学習装置1Aのソフトウェア構成の一例を模式的に例示する。図9に示されるとおり、本変形例に係る学習装置1Aは、制御部11により学習プログラム121を実行することで、学習依頼の破棄を受け付ける破棄受付部118、及び学習依頼を受け付けた場合に、学習依頼の破棄を受け付けるまでに収集した学習データ及び学習対象装置の遠隔操作に利用した情報を含む学習依頼に関する情報を削除するデータ削除部119を更に備えるコンピュータとして構成される。なお、学習装置1Aは、この点を除き、上記学習装置1と同様に構成される。
次に、図10を用いて、本変形例に係る学習装置1Aの処理手順の一例について説明する。図10は、上記ステップS102〜S108までの処理を実行している間における学習依頼の破棄受付に係る処理手順の一例を例示する。学習装置1Aの制御部11は、上記ステップS101により学習依頼を受け付けた後、ステップS102の処理を開始すると共に、次のステップS301の処理を開始する。
(ステップS301)
ステップS301では、制御部11は、破棄受付部118として動作し、学習依頼の破棄を受け付ける。本ステップS301は、本発明の「破棄依頼受付ステップ」の一例である。学習依頼の破棄を所望する依頼者は、ユーザ端末4を操作して、ステップS101で行った学習依頼の破棄の要求を学習装置1に対して行う。上記ステップS108の処理を開始するまでに学習依頼の破棄を受け付けた場合には、制御部11は、次のステップS302に処理を進める。他方、上記ステップS108の処理を開始するまでに学習依頼の破棄を受け付けなかった場合には、制御部11は、次のステップS302の処理を省略し、学習依頼の破棄に係る処理を終了する。
(ステップS302)
ステップS302では、制御部11は、データ削除部119として動作し、学習依頼の破棄を受け付けるまでにステップS105により収集した学習データ122及びロボットアームシステム2の遠隔操作に利用した情報(例えば、IPアドレス)を含む学習依頼の関する情報を削除する。本ステップS302は、本発明の「削除ステップ」の一例である。学習依頼に関する情報には、ロボットアームシステム2の遠隔操作に利用した情報の他、例えば、ステップS101で指定された学習依頼の内容を示す情報が含まれる。学習依頼に関連する情報の削除が完了すると、制御部11は、当該学習依頼の破棄に係る処理を終了する。本変形例によれば、不要になった機械学習の依頼を破棄することができ、これによって、学習装置のリソースの効率化を図ることができる。
<4.11>
また、上記実施形態では、制御部21は、ステップS206により、遠隔操作が完了したことをディスプレイ32に表示している。しかしながら、上記ロボットアームシステム2の処理手順において、当該ステップS206の処理は省略されてもよい。
また、上記実施形態では、制御部21は、ステップS204及びS207により、ロボットアームシステム2のステータスを周辺装置に通知している。しかしながら、ロボットアームシステム2の処理手順において、当該ステップS204及びS207のうち少なくとも一方は省略されてもよい。ステップS204及びS207の両方を省略する場合には、ロボットアームシステム2のソフトウェア構成において、通知部214は省略されてもよい。
なお、ステップS203とステップS204とは処理順序が入れ替わってもよい。同様に、ステップS206とステップS207とは処理順序が入れ替わってもよい。
<4.12>
また、上記実施形態では、ロボットアームシステム2のステータスを表示する表示部としてディスプレイ32を利用している。しかしながら、表示部の種類は、ディスプレイに限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、図11に示されるとおり、表示部には、表示灯が用いられてもよい。
図11は、本変形例に係るロボットアームシステム2Bの構成を模式的に例示する。ロボットアームシステム2Bでは、RC20は、外部インタフェース23を介して、表示灯33に接続している。表示灯33は、例えば、LED(light emitting diode)ランプ、ネオンランプ等であってよい。
この場合、上記ステップS203では、制御部21は、第1の表示態様で表示灯33を発光させることで、学習装置1の遠隔操作による動作中であることを表示灯33に表示させてもよい。そして、上記ステップS206では、第1の表示態様とは異なる第2の表示態様で表示灯33を発光させることで、学習装置1の遠隔操作による動作が完了したことを表示灯33に表示させてもよい。
なお、表示態様は、色、点滅速度等の視る者の視覚に影響を与える要素により決定される。例えば、上記ステップS203では、制御部21は、第1の表示形態として表示灯33を赤色に発光させてもよい。そして、上記ステップS206では、制御部21は、第2の表示形態として表示灯33を青色に発光させてもよい。これにより、学習対象装置のステータスを表示する表示部を安価に構成することができる。
<4.13>
また、上記実施形態では、制御部11は、ステップS105において、センサデータ及び目標データと制御データとを組にすることで、学習データ122を生成している。これらのうち、センサデータは、学習対象装置の状態を示す状態データの一例である。しかしながら、状態データの種類は、センサデータに限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、学習対象装置の動作を制御する際に、状態データが不要である場合、当該状態データは、学習データから省略されてもよい。上記実施形態では、制御部11は、ステップS105において、目標データと制御データとを組にすることで、学習データ122を生成してもよい。
1・1A…学習装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
110…学習依頼受付部、111…許可範囲設定部、
112…状況取得部、113…遠隔操作部、
114…学習データ収集部、115…学習処理部、
116…能力付与データ生成部、117…配信部、
118…破棄受付部、119…データ削除部、
121…学習プログラム、122…学習データ、
123…能力付与データ、
2…ロボットアームシステム、
20…RC、
21…制御部、22…記憶部、23…外部インタフェース、
24…通信インタフェース、
211…遠隔操作受付部、212…動作処理部、
213…表示制御部、214…通知部、
221…制御プログラム、
30…ロボットアーム、
301…基台部、302…関節部、
303…リンク部、304…エンドエフェクタ、
308…可動範囲、309…許可範囲、
31…カメラ、32…ディスプレイ、
4…ユーザ端末、5…ロボット装置、
6…ニューラルネットワーク、
61…入力層、62…中間層(隠れ層)、63…出力層

Claims (17)

  1. 遠隔地に配置され、機械学習される対象となる学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付部と、
    制御データを前記学習対象装置に送信することで、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作部と、
    前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する学習データ収集部と、
    収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う学習処理部と、
    を備える、
    学習装置。
  2. 前記学習対象装置の可動範囲内で、前記学習対象装置の動作を許可する許可範囲を設定する許可範囲設定部と、
    前記可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する状況取得部と、
    を更に備え、
    前記遠隔操作部は、取得した前記状況情報に基づいて、設定された前記許可範囲内で動作するように前記学習対象装置を遠隔操作する、
    請求項1に記載の学習装置。
  3. 前記監視装置は、前記学習対象装置の可動範囲を撮影するように配置された撮影装置であり、
    前記状況情報は、前記撮影装置により撮影された撮影画像である、
    請求項2に記載の学習装置。
  4. 前記遠隔操作部は、設定した許可範囲内に侵入物が侵入した場合に、前記学習対象装置の遠隔操作を一時停止し、許可範囲から侵入物が退去した後に、前記学習対象装置の遠隔操作を再開する、
    請求項2又は3に記載の学習装置。
  5. 前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可するために設定されたパスワードの指定を更に受け付け、
    前記遠隔操作部は、指定された前記パスワードによって前記学習対象装置において認証を受けた後に、前記学習対象装置を遠隔操作する、
    請求項1から4のいずれか1項に記載の学習装置。
  6. 前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可する学習期間の指定を更に受け付け、
    前記遠隔操作部は、指定された前記学習期間内に前記学習対象装置を遠隔操作し、指定された前記学習期間の経過後に、前記学習対象装置の遠隔操作に利用した情報を削除する、
    請求項1から5のいずれか1項に記載の学習装置。
  7. 前記学習依頼の破棄を受け付ける破棄受付部と、
    前記学習依頼の破棄を受け付けた場合に、当該学習依頼の破棄を受け付けるまでに収集した前記学習データ及び前記学習対象装置の遠隔操作に利用した情報を含む前記学習依頼に関する情報を削除するデータ削除部と、
    を更に備える、
    請求項1から6のいずれか1項に記載の学習装置。
  8. 前記学習データ収集部は、
    指定された前記能力に応じて、達成すべき作業目標を示す目標データを生成し、
    前記遠隔操作の結果に基づいて、前記目標データにより示される前記作業目標を前記学習対象装置が達成したか否かを判定し、
    前記作業目標を前記学習対象装置が達成した場合、前記目標データと前記制御データとを組にすることで、前記学習データを生成する、
    請求項1から7のいずれか1項に記載の学習装置。
  9. 前記学習対象装置よりもマシンパワーが高くなるように構成される、
    請求項1から8のいずれか1項に記載の学習装置。
  10. コンピュータが、
    遠隔地に配置され、機械学習させる対象となる学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付ステップと
    制御データを前記学習対象装置に送信することで、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作ステップと、
    前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する収集ステップと、
    収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う機械学習ステップと、
    を実行する、
    学習方法。
  11. 前記コンピュータが、
    前記学習対象装置の可動範囲内で、前記学習対象装置の動作を許可する許可範囲を設定する範囲設定ステップと、
    前記可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する情報取得ステップと、
    を更に実行し、
    前記遠隔操作ステップでは、前記コンピュータは、取得した前記状況情報に基づいて、設定された前記許可範囲内で動作するように前記学習対象装置を遠隔操作する、
    請求項10に記載の学習方法。
  12. 前記監視装置は、前記学習対象装置の可動範囲を撮影するように配置された撮影装置であり、
    前記状況情報は、前記撮影装置により撮影された撮影画像である、
    請求項11に記載の学習方法。
  13. 前記遠隔操作ステップでは、前記コンピュータは、設定した許可範囲内に侵入物が侵入した場合に、前記学習対象装置の遠隔操作を一時停止し、許可範囲から侵入物が退去した後に、前記学習対象装置の遠隔操作を再開する、
    請求項11又は12に記載の学習方法。
  14. 前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可するために設定されたパスワードの指定を更に受け付け、
    前記遠隔操作ステップでは、前記コンピュータは、指定された前記パスワードによって前記学習対象装置において認証を受けた後に、前記学習対象装置を遠隔操作する、
    請求項10から13のいずれか1項に記載の学習方法。
  15. 前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可する学習期間の指定を更に受け付け、
    前記コンピュータは、指定された前記学習期間内に前記遠隔操作ステップを実行し、指定された前記学習期間の経過後に、前記学習対象装置の遠隔操作に利用した情報を削除する、
    請求項10から14のいずれか1項に記載の学習方法。
  16. 前記コンピュータが、
    前記学習依頼の破棄を受け付ける破棄依頼受付ステップと、
    前記学習依頼の破棄を受け付けた場合に、当該学習依頼の破棄を受け付けるまでに収集した前記学習データ及び前記学習対象装置の遠隔操作に利用した情報を含む前記学習依頼に関する情報を削除する削除ステップと、
    を更に実行する、
    請求項10から15のいずれか1項に記載の学習方法。
  17. 前記コンピュータは、
    指定された前記能力に応じて、達成すべき作業目標を示す目標データを生成し、
    前記遠隔操作の結果に基づいて、前記目標データにより示される前記作業目標を前記学習対象装置が達成したか否かを判定し、
    前記作業目標を前記学習対象装置が達成した場合、前記目標データと前記制御データとを組にすることで、前記学習データを生成する、
    請求項10から16のいずれか1項に記載の学習方法。
JP2018023612A 2017-03-14 2018-02-14 学習装置及び学習方法 Active JP6900918B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/008140 WO2018168536A1 (en) 2017-03-14 2018-03-02 Learning apparatus and learning method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017048320 2017-03-14
JP2017048320 2017-03-14

Publications (2)

Publication Number Publication Date
JP2018149669A true JP2018149669A (ja) 2018-09-27
JP6900918B2 JP6900918B2 (ja) 2021-07-07

Family

ID=63680875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018023612A Active JP6900918B2 (ja) 2017-03-14 2018-02-14 学習装置及び学習方法

Country Status (1)

Country Link
JP (1) JP6900918B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020078852A (ja) * 2018-11-14 2020-05-28 旭鉄工株式会社 学習システム、及びロボット位置調整システム
JP2022013477A (ja) * 2020-07-01 2022-01-18 清一 安川 次世代人工知能とロボット(パラレルリンク(ロボティック・ポッド)など)を組み合わせた次世代ロボット
WO2022080006A1 (ja) * 2020-10-12 2022-04-21 東京ロボティクス株式会社 ロボットシステム、その制御方法及びプログラム並びにシステム
WO2022264493A1 (ja) 2021-06-15 2022-12-22 パナソニックIpマネジメント株式会社 情報生成方法、情報生成装置及びプログラム
WO2023276250A1 (ja) 2021-06-28 2023-01-05 パナソニックIpマネジメント株式会社 情報出力方法、移動体制御システム及びプログラム
US11681397B2 (en) 2020-06-08 2023-06-20 Seiko Epson Corportation Position detection system, position detection apparatus, and position detection method
WO2023145709A1 (ja) * 2022-01-28 2023-08-03 パナソニックIpマネジメント株式会社 情報出力方法、情報出力装置及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002254373A (ja) * 2001-02-27 2002-09-10 Casio Comput Co Ltd ロボット遠隔制御システム、ロボット制御装置、及び、記録媒体
US20150217455A1 (en) * 2014-02-04 2015-08-06 Microsoft Corporation Controlling a robot in the presence of a moving object
JP2015150657A (ja) * 2014-02-17 2015-08-24 ファナック株式会社 搬送対象物の落下事故を防止するロボットシステム
US20150283702A1 (en) * 2014-04-03 2015-10-08 Brain Corporation Learning apparatus and methods for control of robotic devices via spoofing
US20160075015A1 (en) * 2014-09-17 2016-03-17 Brain Corporation Apparatus and methods for remotely controlling robotic devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002254373A (ja) * 2001-02-27 2002-09-10 Casio Comput Co Ltd ロボット遠隔制御システム、ロボット制御装置、及び、記録媒体
US20150217455A1 (en) * 2014-02-04 2015-08-06 Microsoft Corporation Controlling a robot in the presence of a moving object
JP2015150657A (ja) * 2014-02-17 2015-08-24 ファナック株式会社 搬送対象物の落下事故を防止するロボットシステム
US20150283702A1 (en) * 2014-04-03 2015-10-08 Brain Corporation Learning apparatus and methods for control of robotic devices via spoofing
US20160075015A1 (en) * 2014-09-17 2016-03-17 Brain Corporation Apparatus and methods for remotely controlling robotic devices

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020078852A (ja) * 2018-11-14 2020-05-28 旭鉄工株式会社 学習システム、及びロボット位置調整システム
JP7207704B2 (ja) 2018-11-14 2023-01-18 旭鉄工株式会社 学習システム、及びロボット位置調整システム
US11681397B2 (en) 2020-06-08 2023-06-20 Seiko Epson Corportation Position detection system, position detection apparatus, and position detection method
JP2022013477A (ja) * 2020-07-01 2022-01-18 清一 安川 次世代人工知能とロボット(パラレルリンク(ロボティック・ポッド)など)を組み合わせた次世代ロボット
WO2022080006A1 (ja) * 2020-10-12 2022-04-21 東京ロボティクス株式会社 ロボットシステム、その制御方法及びプログラム並びにシステム
WO2022264493A1 (ja) 2021-06-15 2022-12-22 パナソニックIpマネジメント株式会社 情報生成方法、情報生成装置及びプログラム
WO2023276250A1 (ja) 2021-06-28 2023-01-05 パナソニックIpマネジメント株式会社 情報出力方法、移動体制御システム及びプログラム
WO2023145709A1 (ja) * 2022-01-28 2023-08-03 パナソニックIpマネジメント株式会社 情報出力方法、情報出力装置及びプログラム

Also Published As

Publication number Publication date
JP6900918B2 (ja) 2021-07-07

Similar Documents

Publication Publication Date Title
JP2018149669A (ja) 学習装置及び学習方法
US10507577B2 (en) Methods and systems for generating instructions for a robotic system to carry out a task
US10555152B2 (en) Drone-to-drone information exchange
US9399290B2 (en) Enhancing sensor data by coordinating and/or correlating data attributes
US9751212B1 (en) Adapting object handover from robot to human using perceptual affordances
US20220171907A1 (en) Creation of digital twin of the interaction among parts of the physical system
CN111512255B (zh) 多设备机器人控制
US11971709B2 (en) Learning device, control device, learning method, and recording medium
JP2019191748A (ja) 生産性向上支援システムおよび生産性向上支援プログラム
Singh et al. Wi-Fi surveillance bot with real time audio & video streaming through Android mobile
JP7027601B2 (ja) ロボット制御装置、ロボット制御方法及びロボット
Fawzi et al. Embedded real-time video surveillance system based on multi-sensor and visual tracking
US20240069550A1 (en) Method for processing abnormality of material pushing robot, device, server, and storage medium
KR20120067649A (ko) 군집 로봇의 상태 관리 장치 및 방법
JP6897593B2 (ja) 学習対象装置及び動作方法
KR102085168B1 (ko) 인체추적 기반 위험지역 안전관리 방법 및 장치
WO2018168537A1 (en) Learning target apparatus and operating method
EP4209849A1 (en) Telepresence robots having cognitive navigation capabilit
JP7097207B2 (ja) 建造物管理システム、学習装置、位置判定装置、及び位置判定方法
JP2020042787A (ja) 自動運転支援方法、運転機器、支援機器及びコンピュータ読み取り可能な記憶媒体
US11650583B2 (en) Systems and methods for remote viewing of self-driving vehicles
WO2018168536A1 (en) Learning apparatus and learning method
Warabino et al. Proposals and evaluations of robotic attendance at on-site network maintenance works
Warabino et al. Robotic Assistance Operation for Effective On-site Network Maintenance Works
KR102138006B1 (ko) 보안 로봇 제어 방법 및 그 방법을 지원하는 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210317

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: 20210518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210531

R150 Certificate of patent or registration of utility model

Ref document number: 6900918

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250