JP6857332B2 - 演算装置、演算方法、及びそのプログラム - Google Patents

演算装置、演算方法、及びそのプログラム Download PDF

Info

Publication number
JP6857332B2
JP6857332B2 JP2018045254A JP2018045254A JP6857332B2 JP 6857332 B2 JP6857332 B2 JP 6857332B2 JP 2018045254 A JP2018045254 A JP 2018045254A JP 2018045254 A JP2018045254 A JP 2018045254A JP 6857332 B2 JP6857332 B2 JP 6857332B2
Authority
JP
Japan
Prior art keywords
output
unit
input data
data
calculation unit
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
JP2018045254A
Other languages
English (en)
Other versions
JP2019159767A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2018045254A priority Critical patent/JP6857332B2/ja
Priority to US16/976,468 priority patent/US20210001481A1/en
Priority to PCT/JP2019/009142 priority patent/WO2019176737A1/ja
Priority to CN201980012029.2A priority patent/CN111684474B/zh
Priority to EP19768087.9A priority patent/EP3767555A4/en
Publication of JP2019159767A publication Critical patent/JP2019159767A/ja
Application granted granted Critical
Publication of JP6857332B2 publication Critical patent/JP6857332B2/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • 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/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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

Landscapes

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

Description

本発明は、演算装置、演算方法、及びそのプログラムに関する。
現在、製造ライン等において用いられるロボット等の装置に対してAI技術を用いることで、適切な経路計画の作成、ピックアンドプレイスの動作、欠陥の検出等をより高精度に行うことが可能になってきている。AI技術を用いることで、ロボット等の装置が所定の制御や判定等の演算を行う際の処理能力を学習により向上させることが可能である。
また、特許文献1には、水処理プロセスや化学プロセス等、時間とともに変化する現象を取り扱うプロセスの運転支援を行うにあたり、機械学習によって、制御対象を目標状態とするための制御変数値を求める方法が開示されている。特許文献1に記載された方法では、機械学習によって生成した神経回路モデル(学習済みモデル)に対し、未学習のパターンを入力してプロセスの制御変数値を求めている。
特開平7−319508号公報
しかし、特許文献1に記載されるような従来の方法では、学習が完了して、制御変数値(パラメータ)を獲得するまで学習済みモデルを使用することができないため、実際に必要な制御等の演算を行うまでに時間を要してしまう。また、例えば、欠陥検査における照明条件、機械に所定の作業をさせる場合における機械の温度特性、ロボットハンド周辺の障害物の位置変動等、学習済みモデルを使用する環境が変動すると、未学習のパターンに対して意図しない出力結果が得られることがある。このような環境の変動に対して、適切な出力結果を得るためには、そのような未学習のパターンについて再学習を行い、パラメータを更新する必要がある。その場合にも、再学習が完了するまで学習済みモデルを使用することができなくなる。
他方で、学習済みモデルは、新たなパターンに対する学習を行うことで、未学習のパターンに対して適応することができ、その結果生成されるモデルは、人間が構築したモデルや、学習済みモデルであっても一度構築されて新たなパターンに対する再学習ができないように構成されたモデル(以下「固定化されたモデル」ともいう。)に比べて、例えば実行時の演算時間や出力結果等の点ですぐれている場合がある。ここで、出力結果とは、例えば、欠陥検査の検出精度、機械の動作の滑らかさ、ロボットハンドの関節の最大トルクの低減等をいう。なお、このような課題は、ロボット等の装置にAI技術を適用する場合に特有の課題ではなく、学習によって能力向上を図ることが可能なAI技術一般にも生じ得る。
本発明は、上述した事情を鑑みてなされたものであり、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完する技術を提供することを目的とする。
本発明は、上述した課題を解決するために、以下の構成を採用する。
本発明の一側面に係る演算装置は、入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力する第1演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて所定の処理に関する演算を行い、第2出力を出力する第2演算部と、第1出力と第2出力とを所定の判定基準で比較した比較結果に基づいて、第1出力、第2出力、又は第1及び第2出力を組み合わせた第3出力を出力する比較部と、を備える。上記構成では、演算装置は、2種類の演算部を柔軟に切り替えて利用することによって、未学習の環境においては第2演算部を用いることで学習中でも作業を継続することができる。他方で、学習済みの環境においては第1演算部を用いることで、例えば実行時の演算時間や出力結果、生成コスト等の点でより優位な結果を得ることができる。なお、「未学習の環境」とは、当該環境においては、第1演算部が所定の基準値以上のパフォーマンスで動作できない環境をいう。例えば、第1演算部の学習が完了していない状況や、第1演算部を再学習している状況、第1演算部の出力が意図したものではない状況等である。他方、「学習済みの環境」とは、当該環境においては、第1演算部が所定の基準値以上のパフォーマンスで動作できる環境をいう。例えば、第1演算部の学習が完了している状況等である。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
また、上記演算装置は、第1モデルのパラメータを学習し、学習した当該パラメータを第1モデルに設定する学習部をさらに備えるように構成されてもよい。また、学習部は、第2出力に基づいて第1モデルのパラメータを学習し、学習した当該パラメータを第1モデルに設定するように構成されてもよい。この場合には、演算装置は、第2演算部の演算結果を、第1演算部に設定するパラメータを学習するための学習データに用いることができるため、学習データのバリエーションをより多様化することができる。
また、上記比較部は、学習部において第1モデルのパラメータの学習が完了するまで第2出力を出力するように構成することができる。これによって、未学習の環境においては第2演算部を用いることで学習中でも作業を継続することができる。
また、上記演算装置は、第1演算部が前記入力データに対して学習済みであるか否かを検出し、第1及び第2演算部のうちいずれを利用するかを示す切替情報を生成する環境変動認識部と、切替情報に基づいて、第1及び第2演算部のうちいずれに入力データを入力するかを切り替える切替部と、をさらに備えるように構成してもよい。さらに、上記環境変動認識部は、第1演算部が入力データに対して学習済みであるか否かを、第1演算部が入力データの演算を行う際の条件に変更があるか否かに基づいて判断するように構成されもよい。
本発明の一側面に係る演算装置は、ロボットの初期姿勢と目標姿勢とを含む入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて経路計画を行い、当該経路計画において生成された経路を第1出力として出力する第1演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて経路計画を行い、当該経路計画において生成された経路を第2出力として出力する第2演算部と、第1出力と第2出力とを所定の判定基準で比較した比較結果に基づいて、第1出力、前記第2出力、又は第1及び第2出力を組み合わせた第3出力を出力する比較部と、比較部の出力に応じて、ロボットを初期姿勢から目標姿勢へと制御する制御部と、を備える。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
本発明の一側面に係る演算装置は、ロボットが把持する対象物を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、解析結果を第1出力として出力する第1演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて画像解析を行い、解析結果を第2出力として出力する第2演算部と、第1出力と第2出力とを所定の判定基準で比較した比較結果に基づいて、第1出力、第2出力、又は第1及び第2出力を組み合わせた第3出力を出力する比較部と、比較部の出力に応じて、対象物を把持するように前記ロボットを制御する制御部と、を備える。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
本発明の一側面に係る演算装置は、検査対象を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、前記検査対象における欠陥の有無を判定した結果である判定結果を第1出力として出力する第1演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて画像解析を行い、判定結果を第2出力として出力する第2演算部と、第1出力と第2出力とを所定の判定基準で比較した比較結果に基づいて、第1出力、第2出力、又は第1及び第2出力を組み合わせた第3出力を出力する比較部と、比較部の出力に応じて、検査対象における欠陥の有無を提示する提示部と、を備える。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
本発明の一側面に係る演算装置は、距離が既知である目標物までの測距距離を計測するために、光学計測器が発信した光学信号である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を第1出力として出力する第1演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて測距距離を算出し、目標物までの距離との誤差を第2出力として出力する第2演算部と、第1出力と第2出力とを所定の判定基準で比較した比較結果に基づいて、第1出力、第2出力、又は第1及び第2出力を組み合わせた第3出力を出力する比較部と、比較部の出力に応じて、光学信号が示す測距距離と既知である目標物までの距離との誤差を提示する提示部と、を備える。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
本発明の一側面に係るプログラムは、コンピュータを、入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力する手段、入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて所定の処理に関する演算を行い、第2出力を出力する手段、第1出力と第2出力とを所定の判定基準で比較した比較結果に基づいて、第1出力、第2出力、又は第1及び第2出力を組み合わせた第3出力を出力する手段、として機能させる。これによって、本発明に係るプログラムは、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
本発明の一側面に係る演算方法は、コンピュータが、入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力するステップと、入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて前記所定の処理に関する演算を行い、第2出力を出力するステップと、第1出力と第2出力とを所定の判定基準で比較した比較結果に基づいて、第1出力、第2出力、又は第1及び第2出力を組み合わせた第3出力を出力するステップと、を実行する。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
本発明によれば、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完する技術を提供することができる。
本発明の適用例を示す模式図である。 経路計画の演算方法を説明するための図である。 第1実施形態に係るロボットシステムのシステム構成例を示す模式図である 。 第1実施形態に係る演算装置のハードウェア構成を示す模式図である。 第1実施形態に係る演算装置の機能構成を示す模式図である。 学習データの概要を説明するための図である。 学習データの概要を説明するための図である。 サンプリングを行う領域を区分する学習を行う処理を説明するための図である。 コンフィギュレーション空間に対して領域を設定する処理を説明するための図である。 第1実施形態に係る演算装置の処理の一例を説明するためのフローチャートである。 第3実施形態に係る欠陥判定システムのシステム構成例を示す模式図である 。 第3実施形態に係る演算装置の機能構成を示す模式図である。 第4実施形態に係る演算装置の機能構成を示す模式図である。
以下、本発明の一側面に係る実施の形態(以下「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例 まず、図1を参照しながら、本発明が適用される場面の一例について説明する。図1は本発明に係る演算装置10の構成の一例を示す図である。
詳細については後述するが、本発明に係る演算装置10は、2つの演算部を有している。具体的には、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動するモデル(第1モデル)によって所定の演算を行う演算部(第1演算部113)と、入力データと出力データとの対応関係が固定化されたモデル(第2モデル)によって所定の処理に関する演算を行う演算部(第2演算部120)を有している。ここで、「モデル」とは、入力データと出力データとの関係を規定する関数を含み、ある入力データに対応する出力データを出力するための当該関数が、ソフトウェアもしくはハードウェア、または、これらを組み合わせにより表現されたものをいう。
入力データと出力データとの対応関係は例えば、「パラメータ」によって決定される。「パラメータ」とは、モデルに用いられる関数を決定する数値をいう。具体的には、パラメータは、モデルで表現される関数の組み合わせを決定する数値、関数に含まれる変数、及び、関数に含まれる係数等のうち少なくともいずれか1つである。モデルがニューラルネットワークである場合、パラメータは、ノード間の重み係数及びバイアスに該当し、パラメータである重み係数及びバイアスが学習により変動する(最適化される)ことになる。
すなわち、第1演算部113が演算に用いるモデルとは、学習用データを用いた機械学習を行うことでパラメータが変動し、入力データと出力データとの対応関係が変動するモデルである。第1演算部113は、パラメータが機械学習によって変動する第1モデルを用いて入力データに対する所定の処理に関する演算を行うことで、出力データ(第1出力)を出力する。また、第2演算部120が演算に用いるモデルとは、パラメータが固定化されており、入力データと出力データとの対応関係が変動しないモデルである。第2演算部120は、パラメータが固定化された第2モデルを用いて入力データに対する所定の処理に関する演算を行うことで、出力データ(第2出力)を出力する。
なお、「所定の処理」は、例えば多軸ロボットの経路計画や、ピックアンドプレース動作を行うことをタスクとするロボットの制御、検査対象における欠陥の有無の判定、目標物までの距離を計測する計測器のキャリブレーション等である。
演算装置10に入力データが入力される(STEP1)と、学習状況や周辺環境の変動等によって、入力データが入力される演算部の切り替えが行われる(STEP2)。例えば、第1演算部113に設定するパラメータの学習が未完了である場合や、学習が完了している場合であっても、周辺環境の変動や入力データの種類の変動によって、入力データのパターンが未学習のものとなった場合には、第2演算部120に入力データが入力される。入力データのパターンが未学習であるか否かは、第1演算部113が入力データの演算を行う際の前提条件に変更があるか否かに基づいて判断される。すなわち、入力データの演算を行う際の前提条件に変更がある場合、入力データのパターンに対して未学習であると判断される。また、入力データの演算を行う際の前提条件に変更がない場合、入力データのパターンに対して学習済みである(未学習ではない)と判断される。前提条件に変更がある場合の例としては、例えば、入力データに含まれる障害物の位置が変更された場合、入力データに含まれる背景画像が変更された場合、又は、入力データが測定された環境が変更された場合等が挙げられる。
なお、このとき並行して第1演算部113にも入力データが入力されてもよい。他方で、学習済みの入力データが入力されている場合、第1演算部113に入力データが入力される。
演算装置10の演算結果は、ロボット等の制御対象、演算結果の適否を評価する結果評価主体等である演算結果を利用する対象に対して出力される(STEP3)。ここで、制御対象とは、例えばロボットであり、結果評価主体とは、例えばユーザ又は価装置等である。なお、評価装置を用いる場合、当該評価装置は演算装置10の外部に設けられてもよいし、演算装置10の内部に設けられてもよい。1演算部113及び第2演算部120の両方に入力データが入力されることで、第1演算部113及び第2演算部120の両方から出力データが出力される場合、演算装置10は、第1演算部113の出力データと、第2演算部120の出力データとを所定の判定基準を用いて比較した比較結果に基づいて、第1演算部113の出力データ、第2演算部120の出力データ、又は、第1演算部113の出力データ及び第2演算部120の出力データを組み合わせた出力データを出力する。所定の判定基準は、第1演算部113及び第2演算部120が行う処理時間及び/又は処理精度によって定められる基準である。
演算装置10から出力された演算結果に基づいて制御対象が制御された結果や、演算結果に対して結果評価主体が評価した結果は、演算装置10にフィードバックされ(STEP4)、第1演算部113が有するモデルの学習に用いられる。結果評価主体の評価した結果とは、例えば、ロボットの動作等の演算結果が、ユーザ又は評価装置等の予測より短いか長いかなどに基づいて行われる
このように、本発明に係る演算装置10は、2種類の演算部を柔軟に切り替えて利用することによって、未学習の環境においては第2演算部120を用いることで学習中でも作業を継続することができる。他方で、学習済みの環境においては第1演算部113を用いることで、例えば実行時の演算時間や出力結果、生成コスト等の点でより優位な結果を得ることができる。なお、「未学習の環境」とは、当該環境においては、第1演算部113が所定の基準値以上のパフォーマンスで動作できない環境をいう。例えば、第1演算部113の学習が完了していない状況や、第1演算部113を再学習している状況、第1演算部113の出力が意図したものではない状況等である。他方、「学習済みの環境」とは、当該環境においては、第1演算部113が所定の基準値以上のパフォーマンスで動作できる環境をいう。例えば、第1演算部113の学習が完了している状況等である。
§2 構成例
[第1実施形態]
<1.構成概要>
本実施の形態では、本発明の一例として、複数の駆動軸を有する多軸ロボットの経路計画に対して学習を適用し、経路計画の演算時間を削減するとともに、滑らかで再現性の高い経路を生成する構成について説明する。
多軸ロボットの自動的な経路計画の手法として、後述のように、ランダムサンプリング法の一つである確率的ロードマップ法(Rapidly-Exploring Random Tree:RRT)、ロードマップ法の一つである確率的ロードマップ(Probabilistic Road Map:PRM)等がある。これらの手法は、初期姿勢S、目標姿勢G、作業条件Cが与えられたとき、経路計画の演算を行う空間内にランダムに点を配置し、作業条件を満たす点同士を結ぶことにより、経路を生成するものである。図2は、経路計画の演算を行う空間を構成する複数の次元のうち特定の2つの次元を用いて、初期姿勢S、目標姿勢G、作業条件C、点(×で示す)、点を結んで生成された経路(点線または一点鎖線)で示す図である。なお、点が互いに結ばれて形成されることで生成された経路について、スムージング処理に代表される最適化処理をさらに実行してもよい。ここで、経路計画を行う空間とは、例えば、ロボットが有する駆動軸の個数の次元数を有するコンフィギュレーション空間が挙げられる。
上述した手法は、所定の空間内にランダムに点を配置し、配置された複数の点の中から、ロボットが実行する作業の条件に見合った点を抽出し、次いで、抽出された点を互いに接続することで経路を生成するものである。すなわち、コンフィギュレーション空間に配置した点が、図2に示す障害物と干渉する場合には、当該点を削除し、障害物と干渉しない、すなわち作業条件Cを満たす点を互いに接続して、初期姿勢Sから目標姿勢Gまでの経路を生成するものである。このとき、点を配置する空間内をランダムに全探索するよりも、経路の演算に適した空間内の領域を探索する方が、経路計画の演算時間を削減でき、また、滑らかで再現性の高い経路を演算できる点で好ましい。よって、本構成例では、経路演算を行う空間を、経路の演算に適した領域に区分するように学習を行う。
まず、図3及び図4を参照しながら、本発明が係るロボットシステム1に適用される場合の構成概要について説明する。図3は、本実施形態に係るロボットシステム1の構成の一例を示す図である。同図に示すように、ロボットシステム1は、演算装置10とロボット20とを備える。また、ロボットシステム1は、図3や図4に示すように、撮像装置30、角度検出装置40、入力装置50、出力装置60等を備えてもよい。
演算装置10は、ロボット20が実行する作業の制約について規定した作業条件に基づいて、ロボット20が初期姿勢から目標姿勢に移動する経路を演算する装置である。初期姿勢は、初期位置に置かれている対象物Wをつかむ際のロボット20の姿勢である。目標姿勢は、対象物Wを目標位置に置く際のロボット20の姿勢である。なお、初期姿勢、目標姿勢は、ロボット20が実行する作業内容によって適宜設定されてよい。すなわち、ロボット20の経路を演算するための動作開始時の姿勢を初期姿勢とし、動作終了時の姿勢を目標姿勢とすればよい。例えば、初期姿勢は、経路を演算するときのロボット20の動作開始時の姿勢であってもよく、経路を演算する時点でのロボット20の姿勢(現在姿勢)であってもよい。また、例えば、目標姿勢は、対象物Wを把持していないロボット20が、対象物Wが置かれている位置まで移動する場合における対象物Wをつかむときの姿勢であってよい。
また、作業条件はロボット20が対象物Wを第1の位置から第2の位置に搬送するときの条件を含むことができる。具体的には、作業条件は、搬送するときの条件として、対象物Wの姿勢に関する条件を含んでもよい。この場合、作業条件は、例えば、対象物Wの姿勢を、水平方向に対する所定の角度範囲で表すことができる。作業条件として、対象物Wの姿勢に関する制約が与えられることで、対象物Wが搬送される際に天地が逆転すること等を防ぐことができる。
また、作業条件としてロボット20が配置される環境に関する条件を含んでもよい。環境に関する条件は、例えばロボット20の周辺物(障害物)が存在する領域を示すことができる。この場合、作業条件は、ロボット20の進入が禁止される領域を示すことになる。
なお、作業条件は、上記の例に限定されず、例えば、ロボット20が対象物Wを第1の位置から第2の位置に搬送するときの速度に関する条件を含んでいてもよい。さらに、第1の位置、及び第2の位置は、それぞれ、対象物Wの初期位置、及び目標位置に限定されず、対象物Wの保持を開始してから、対象物Wの保持を終了するまでの間に含まれる任意の位置であってよい。経路を演算するための作業条件は、ロボット20が実行する作業に応じて、適宜設定されてよい。例えば、ロボット20が、ある目標姿勢まで移動するという作業を実行する場合には、作業条件として、目標姿勢まで移動するまでの時間、目標姿勢まで移動するときに生じるロボット20を駆動するアクチュエータに生じる負荷、等の条件であってよい。
本実施形態において、演算された経路は、演算結果の利用対象であるロボット20に対して出力される。ここでは、演算装置10をロボット20と別筐体として構成する例を示すが、これに限定されず、演算装置10とロボット20とが一体化された構成としてもよい。なお、演算結果としての経路は、必ずしも実在のロボット20に対して出力されなくてもよく、例えば、シミュレータに対して出力されるものとしてもよい。一例として、後述する出力装置60に対して、ロボット20の仮想的なモデルと、演算結果としての経路とを出力し、当該出力装置60でロボット20の動作を再現するようにしてもよい。
なお、演算装置10は、後述する、経路の生成及び出力に関する演算処理を実行する演算部、当該演算処理を実行させるための情報(プログラム、条件等を含む)を記憶する揮発性及び/又は不揮発性の記憶装置(記憶部、メモリ等を含む)、当該情報を取得するとともに演算処理の結果を出力するためのインタフェース、を少なくとも備えていればよい。すなわち、演算装置10は、上述の各演算処理を実行する専用又は汎用の情報処理装置であれば足りる。また、ロボットシステム1は、演算装置10に相当する構成を含むものであるから、上述の各演算処理を実行する構成を備える専用又は汎用の情報処理システムであれば足りる。
<2.ハードウェア構成>
図3を参照してロボット20のハードウェア構成について説明する。ロボット20は、例えば、六軸垂直多関節ロボットである。ロボット20は、図3の例に示すように、台座21と、第1リンク22と、第2リンク23と、第3リンク24と、第4リンク25と、第5リンク26と、第6リンク27と、エンドエフェクタ28とを備える。
台座21、第1リンク22〜第6リンク27及びエンドエフェクタ28は、可動軸により一列に接続され、六軸垂直多関節ロボットを構成する。なお、ロボット20は、六軸垂直多関節ロボットに限定されるものではなく、二つ以上の可動軸を有していればよい。ロボット20は、例えば、五軸垂直多関節ロボット又は七軸垂直多関節ロボットでもよい。また、ロボット20はハードウェアで構成される実在のロボットに限らず、シミュレータなどの、仮想的に構成されるロボットでもよい。
エンドエフェクタ28は、対象物Wを把持する機構である。この機構は、対象物Wを把持することができればよく、図3の例に限定されない。例えば、エンドエフェクタ28は、対象物Wを把持する代わりに、対象物Wを吸着する吸着パッド等でもよいし、対象物Wを載置する平面を有する平板状部材でもよい。さらに、エンドエフェクタ28は、対象物Wを吊り下げた状態で把持してもよい。
撮像装置30は、エンドエフェクタ28に把持される対象物Wの画像を撮像するための装置である。撮像装置30は、例えば、カメラである。撮像装置30は、エンドエフェクタ28に把持される対象物Wの画像を演算装置10へ送信し、演算装置10において対象物Wの初期位置や目標位置を算出する。或いは、撮像装置30は、自身が有するプロセッサを使用してエンドエフェクタ28に把持される対象物Wの画像に画像処理を施すことにより対象物Wの初期位置や目標位置を算出し、演算装置10へ送信してもよい。初期位置は、ロボット20により搬送される始点における対象物Wの位置である。目標位置は、ロボット20により搬送される終点における対象物Wの位置である。
なお、初期位置及び目標位置は、それぞれ対象物Wの姿勢に関する情報を含んでいてよい。また、初期位置及び目標位置は、それぞれ、対象物Wを把持するエンドエフェクタ28の位置と姿勢との少なくともいずれかの情報を含んでいてよい。
なお、ロボットシステム1は、角度検出装置40を、撮像装置30に換えて、又は、撮像装置30に加えて有していてもよい。角度検出装置40は、エンドエフェクタ28に把持されている対象物Wの角度を検出する。角度検出装置40は、例えば、加速度センサ、ジャイロセンサである。これらは、例えば、エンドエフェクタ28に取り付けられる。エンドエフェクタ28は、対象物Wを堅く把持している。このため、角度検出装置40は、エンドエフェクタ28の角度を検出することにより、対象物Wの角度を検出することができる。角度検出装置40は、計測した対象物Wの角度を演算装置10へ送信する。なお、角度検出装置40が検出する対象物Wの角度の基準は、特に限定されない。角度検出装置40は、例えば、鉛直方向を基準にする場合、鉛直方向に対するエンドエフェクタ28の角度に基づいて、対象物Wの角度を検出する。
なお、角度検出装置40は、対象物Wに取り付けられていてもよいし、第1リンク22、第2リンク23、第3リンク24、第4リンク25、第5リンク26及びエンドエフェクタ28の少なくとも一つに取り付けられていてもよい。例えば、角度検出装置40が、第4リンク25、第5リンク26及びエンドエフェクタ28各々に取り付けられている場合には、角度検出装置40は、第4リンク25の第3リンク24に対する回転角度、第5リンク26の第4リンク25に対する回転角度及びエンドエフェクタ28の第5リンク26に対する回転角度を計測し、所定の演算処理(例えば、順運動学による演算)を行うことにより、エンドエフェクタ28に把持されている対象物Wの角度を検出する。
図4は、本実施形態における演算装置10のハードウェア構成の一例を示すブロック図である。演算装置10は、ロボット20の経路を演算する装置であり、同図に示すとおり、本実施形態では、外部インタフェース11と、記憶部12と、制御部15とを備える。また、演算装置10は、ドライブ13を備えてもよい。
外部インタフェース11は、外部機器を演算装置に接続するためのインタフェースである。図4に示す例において、外部インタフェース11は、ロボット20、撮像装置30、角度検出装置40、入力装置50及び出力装置60と、演算装置とを電気通信かつ情報通信可能に接続する。外部インタフェース11は、対象物Wの初期位置及び目標位置を取得するための取得部としての機能を有する。外部インタフェース11は、例えば、ユーザ又は評価装置等が入力装置50を使用して入力した対象物Wの初期位置及び目標位置を取得する。例えば評価装置が入力装置50を使用して入力する場合には、3Dセンサ等から出力された結果に基づいて得られた姿勢を入力することが可能である。或いは、外部インタフェース11は、撮像装置30からエンドエフェクタ28に把持された対象物Wの画像を取得する。
外部インタフェース11は、初期位置とともに、又は、初期位置に加えて、初期位置に置かれている対象物Wを掴む際のロボット20の姿勢(初期姿勢)を取得してもよい。また、外部インタフェース11は、目標位置とともに、又は、目標位置に加えて、対象物Wを目標位置に置く際のロボット20の姿勢(目標姿勢)を取得してもよい。また、外部インタフェース11は、角度検出装置40から計測した対象物Wの角度を取得し、記憶部12に格納してもよい。また、外部インタフェース11は、さらに、ロボット20の現在の姿勢(現在姿勢)を取得するように構成されていてもよい。なお、外部インタフェース11が取得するロボット20の姿勢とは、ロボット20の複数の可動軸に対応して設けられ、ロボット20の可動軸の回転角度に関する情報を検出するエンコーダ値であってもよく、演算装置の内部で、取得したエンコーダ値に基づく純運動学計算により算出されてもよい。
一般に、ロボットの姿勢は、コンフィギュレーション空間(Configuration Space)内の点として表現することができる。コンフィギュレーション空間とは、経路計画を行う際に使用されるベクトル空間である。コンフィギュレーション空間に点を置くことをサンプリングということもある。経路計画とは、障害物の位置、スタート及びゴールが与えられたコンフィギュレーション空間内において、スタートからゴールまでを結ぶ経路を生成することである。コンフィギュレーション空間は、ロボットが有する可動軸の数と同数の次元を持つ。コンフィギュレーション空間のある一点は、ロボットが有する可動軸の個数と同じ個数の値により定義され、各可動軸の値は、ロボットの各可動軸周りの回転角度を表す。なお、コンフィギュレーション空間は、ロボットの経路計画の分野においては、関節空間と呼ばれることがある。なお、経路計画を行う空間として実空間に基づく絶対座標空間を用いてもよい。
本実施形態のように、ロボット20として六軸垂直多関節ロボットを用いる場合、コンフィギュレーション空間は、六次元ベクトル空間となる。ロボット20のコンフィギュレーション空間の各可動軸の値は、それぞれ第1リンク22の台座21に対する回転角度、第2リンク23の第1リンク22に対する回転角度、第3リンク24の第2リンク23に対する回転角度、第4リンク25の第3リンク24に対する回転角度、第5リンク26の第4リンク25に対する回転角度及び第6リンク27の第5リンク26に対する回転角度を表す。制御部15は、経路を生成する演算処理において、各可動軸の回転角度に関するデータ(ロボット20に設けられたエンコーダの検出値)を、外部インタフェースを用いて取得し、順運動学に基づいて、ロボット20又はその仮想モデルの位置、姿勢を演算する。また、制御部15は、コンフィギュレーション空間を用いて、ロボット20の初期姿勢を決定する点の各座標の値及びロボット20の目標姿勢を決定する点の各座標の値を演算してよい。なお、制御部15は、外部インタフェース11の取得部としての機能を用いて、コンフィギュレーション空間におけるロボット20の初期姿勢及び/又は目標姿勢を決定するための点の各座標の値を取得してもよい。
また、外部インタフェース11は、後述する第1演算部113及び第2演算部120によって生成された経路をロボット20又は出力装置60へ出力するための出力部としての機能を有する。
記憶部12は、例えば、揮発性メモリ、不揮発性メモリ、ハードディスクドライブ(Hard Disc Drive:HDD)によって構成される。記憶部12には、作業条件の初期値や、経路を使用するロボット20に関する条件(例えば、台座及び各リンクの形状に関する情報、可動軸に関する情報(例えば、回転可能な角度、速度、加速度に関する情報)等である。)、経路を生成するための演算処理を、制御部15に実行させるためのプログラム等が格納されている。
ドライブ13は、演算装置10に挿入された記憶媒体14を駆動する。記憶媒体14に対象物Wの初期位置及び目標位置が記憶されている場合、演算装置10は、記憶媒体14から対象物Wの初期位置及び目標位置を取得してもよい。このとき、ドライブ13は、対象物Wの初期位置及び目標位置を取得するための取得部として機能する。
記憶媒体14は、記憶部12の代わりに、必要なデータを記憶する媒体として用いることができる。また、記憶媒体14は、記憶部12の代わりに、ソフトウェアプログラムを記憶することができる。記憶媒体14は、例えば、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−R、DVD−RW、DVD−RAM、LD、光磁気ディスク、メモリーカードである。
制御部15は、ハードウェアプロセッサとしてのCPU(Central Processing Unit)151と、RAM(Random Access Memory)152と、ROM(Read Only Memory)153とを備える。
CPU151は、記憶部12に格納されたソフトウェアプログラムを読み出して実行するプロセッサである。CPU151は、例えば、記憶部12に格納されたプログラムを読み出し、これらのプログラムをRAM152又はROM153に格納し、これらのプログラムを実行する。CPU151がこれらのプログラムを実行することで、後述する学習部110、第2演算部120、環境変動認識部130、切替部140及び比較部150が実現される。
入力装置50は、ロボットシステム1へ指示や設定を入力するための装置であり、例えば、マウスやキーボードによって構成される。ユーザが入力装置50に対して入力した指示や設定は、演算装置10の制御部15へ送信される。
出力装置60は、例えば、ディスプレイであり、演算装置10が生成した経路をユーザに対して出力する。
なお、演算装置10は、演算処理の結果に基づいて、作業条件を満たす経路を生成するように構成されていればよい。したがって、演算装置10は、作業条件を満たす経路を生成する処理を実行するハードウェアプロセッサと、ハードウェアプロセッサに対して、作業条件を満たす経路を生成する処理を実行させるためのソフトウェアプログラムを格納する揮発性メモリ及び不揮発性メモリの少なくともいずれか一方と、作業条件を外部から取得するための外部インタフェースと、を少なくとも備えてればよい。
<3.演算装置10の機能構成>
次に図5を参照して、演算装置10の機能構成について説明する。図5は本実施形態に係る演算装置10の機能構成の一例を示すブロック図である。図5に示すように演算装置10は、学習部110と、第2演算部120と、環境変動認識部130と、切替部140と、比較部150とを有している。なお、本実施形態では一例として、学習部110と、第2演算部120と、環境変動認識部130と、切替部140と、比較部150とが演算装置10において一体化された例を説明するがこれに限定されない。学習部110と、第2演算部120と、環境変動認識部130と、切替部140と、比較部150とはそれぞれ別筐体として構成されてもよい。例えば、学習部110を、その他の構成と別筐体に構成すると、ある作業を行わせるための演算処理を行う第2演算部120に、同じ作業を行う能力を学習によって獲得する学習部110を後から追加できるように構成できるので好ましい。
学習部110は、機械学習によって、経路計画を行う空間上で経路を生成するための点のサンプリングを行う領域を学習し、学習済みのモデルを用いて経路の生成を行う。図5に示すように学習部110は、状態データベース111と、学習実行部112と、第1演算部113とを有している。
状態データベース111は、学習実行部112が学習を行うための学習データが格納されている。本構成例において、状態データベース111は、経路を構成する点の空間内の座標に関する情報と、経路計画の演算を行ったときの作業条件とを関連付けて、学習データとして保持している。状態データベース111に保持されている学習データの概要を図6および図7に示す。図6は、過去に演算された経路を構成する点を、経路演算を行う空間の次元から特定の2次元を用いた座標上にプロットした模式図である。図7は、学習データの内容の概略を示す表である。図7に示すように、学習データは、過去に演算された経路を構成する点の空間内での座標、および、経路演算を行ったときに使用された作業条件の空間内での座標を示している。ここで作業条件とは、例えば、経路を演算するときの障害物の位置を示し、図7は、空間上で障害物が占める領域を示す座標が記載されている。作業条件が与えられた状態で演算された経路を構成する点は、この作業条件を満たす。したがって、図7に示すように、各点は、障害物が占める領域以外に設けられ、障害物を示す領域の座標と重複しない。
状態データベース111に保持される学習データは、後述する第1演算部113や第2演算部120が行った経路計画に関する情報に基づいて構成されたり、また、第1演算部113や第2演算部120が行った経路計画に関する情報に基づいて更新されたりしてよい。さらに、学習データは、当該経路計画で生成された経路に基づいてロボット20が制御された経路の情報に基づいて構成されたり、ロボット20が通過した実際の経路を示す情報に基づいて更新されたりしてよい。ロボット20が制御された経路の情報は、ロボット20のアクチュエータ(モータ)の駆動量(回転量)を所定の間隔で取得することにより生成すればよい。例えば、経路を演算する空間を構成する次元に対応したモータの回転量を、各モータの回転量を測定するエンコーダにより測定し、経路の情報を生成すればよい。このとき、学習データに含まれる点を示す情報は、過去に演算された経路に基づく情報であって、スムージング処理がされた経路に基づく情報であることが好ましい。
本実施の形態において、学習部111は、生成する経路の探索を行う空間を、経路の演算に適した領域、すなわち、経路を構成する点を探索する領域(サンプリング領域)に区分する学習を行う。すなわち、学習部111は、初期姿勢S、目標姿勢G、作業条件Cを含む入力データとし、経路を構成する点を探索する領域に関する情報を出力データとして出力する学習済みモデルを生成する。第1演算部113は、学習済みモデルを表現するパラメータを用いて、入力データに応じて経路の探索を行う領域を区分し、区分された領域に対して点を探索することで、経路計画の演算を実行する。これにより、第1演算部は、第2演算部と比較して、経路探索にかかる時間を削減することができる。また、第2演算部が生成する経路よりも滑らかで、再現性の高い経路を算出することができる。
学習実行部112は、機械学習によって経路を生成するための点のサンプリング領域を区分する学習を行う。図8に示すように、本構成例において、学習実行部112は、学習データに基づいて、コンフィギュレーション空間内において、サンプリングを行う領域を区分する学習を実行する。すなわち、学習データに基づいて、学習データに含まれる点を複数のカテゴリに分類またはクラスタリングし、分類またはクラスタリングされた各カテゴリに含まれる複数の点を包含するように領域を生成する。図8では、学習データに含まれる点を4つのカテゴリに分け、各カテゴリに含まれる点を包含するようにA1〜A4の領域を生成した場合を示している。分類またはクラスタリングする手法は、既知の手法を用いることが可能である。例えば、クラスタリング手法として、GMM(混合ガウスモデル)やK−means等を用い、学習データに含まれる点を複数のカテゴリに分けることができる。これによって、経路計画を生成する際に、点(ノード)の探索範囲が絞られるため、演算時間を短くすることができる。
なお、学習実行部112による学習は、GMM、K−means法を用いた学習に特に限定されない。例えば、コンフィギュレーション空間を等間隔に分割し、過去の経路計画の演算で設定された点を、作業条件を満たすか否かによらず学習データとして収集する。収集した学習データに基づいて、当間隔に分割された領域毎に、最終的に経路を生成する点として利用された点の出現確率を算出する。学習部111は、この出現確率が高い領域を出力する学習を実行してもよい。このとき、第1演算部113は、出現確率が高い順に、1または複数の点を設定し、経路を生成してよい。
第1演算部113は、学習実行部112が生成した、入力データに応じてコンフィギュレーション空間を経路探索に適した領域に区分する学習済みモデルを用いて経路計画を行う。このとき第1演算部113は、学習実行部112によって生成された学習済みモデルを示す学習済みパラメータを用いて、コンフィギュレーション空間を、経路探索に適した領域に区分する。より具体的には、図9に示すように、第1演算部113は、学習済みパラメータに基づいて、コンフィギュレーション空間に対して領域を設定する。さらに、第1演算部113は、学習済みパラメータを用いて区分されたコンフィギュレーション空間内の領域のそれぞれについて、1または複数の点を設定し、各領域に設定された1または複数の点を、初期姿勢Sとの絶対距離が近い点から順に、目標姿勢Gまで接続することで経路を生成する。ここで、第1演算部113が用いる学習済みモデルに対応する学習済みパラメータは、学習実行部112の学習の進捗状況や、学習に用いた学習データのバリエーションに応じて変動する。第1演算部113は、経路計画に関する情報を後述する比較部150へ出力する。ここで、経路計画に関する情報とは、ロボット20の関節角度の時系列データ等により表現される経路、経路を生成するまでに要した時間、演算時間や、経路生成の成功率、各演算部で演算した経路の滑らかさ、再現率の高さ等をいう。なお、再現率とは、作業条件が同一で、初期姿勢及び目標姿勢が近しい条件での経路計画において、生成された経路のコンフィギュレーション空間上における座標の近さをいう。
なお、第1演算部113が、学習済みモデルによって区分された領域を、経路の演算にどのように利用するかは特に限定されない。例えば、区分された領域の平均の座標を示す点をサンプリングする点としてよい。このとき、区分された領域の平均の座標同士を接続する線分が作業条件を満たすか否かを判別し、作業条件を満たした場合に、入力された初期姿勢および目標姿勢を示す点と当該線分構成する点、との接続の可否を、ダイクストラ法等により判定して、経路を生成してよい。
第2演算部120は、パラメータが固定化されたモデルに基づいて経路計画を行い、ロボット20を制御する。すなわち第2演算部120が経路計画の実行に用いるモデルは機械学習によってパラメータを獲得するモデルではなく、ユーザが事前に設定したアルゴリズム等の非学習のモデルである。例えば第2演算部120は、RRT(Rapidly-Exploring Random Tree)、PRM(Probabilistic Roadmap)、等の手法に基づいて経路計画を行う。第2演算部120は、経路計画に関する情報を後述する比較部150へ出力する。また、第2演算部120が行った経路計画に関する状態データベース111へと格納される。
比較部150は、第1演算部113と第2演算部120とから出力された経路計画に関する情報を比較し、比較結果を切替部140へと出力する。例えば、比較部150は、第1演算部113が出力した第1の経路の長さと、第2演算部120が出力した第2の経路の長さとを比較する。また、例えば、比較部150は、比較結果を生成するための判定基準として、各演算部で経路を演算するのに要した演算時間、経路生成の成功率、各演算部で演算した経路の滑らかさ、再現率の高さ等に基づいて、第1演算部113と第2演算部120とから出力された経路計画に関する情報を比較した比較結果を生成することができる。なお、比較部150は、各演算部が生成した経路に基づいてロボット20の動作をシミュレートした結果を用いて比較結果を生成してもよい。また比較部150は、各演算部によって生成された経路に基づいて実際にロボット20が制御された結果(制御結果)を取得して、比較結果を生成してもよい。
比較部150は、比較結果に基づいて、いずれの演算部が生成した経路を用いるかを選択し、選択した経路を外部インタフェース11を介してロボット20へ出力する。このとき制御部15(図4参照)が出力された経路に基づいてロボット20が動作するように、ロボット20を制御する構成でもよい。
例えば、比較部150は、第1演算部113と第2演算部120とが生成したそれぞれの経路のうち、演算時間が短かった一方の経路や、経路が滑らかの一方の経路をロボット20に対して出力することができる。また、比較部150は、第1演算部113が出力した経路と第2演算部120とが生成した経路を組み合せた経路をロボット20に対して出力することができる。例えば、比較部150は、第1演算部113が生成した第1の経路と第2演算部120とが生成した第2の経路との平均をとった経路を生成したり、第1の経路と第2の経路とのそれぞれを所定の区間に分けた場合において、各区間で相対的に滑らかな経路を接続することで、第1の経路と第2の経路とを組み合わせた経路をロボット20に対して出力することができる。なお、比較部150は、比較結果に基づいて第1演算部113と第2演算部120のいずれかが生成した経路計画をロボット20に出力してもよい。なお、ロボット20へ出力する経路の選択はユーザが手動で行ってもよい。
ロボット20が出力された経路計画に基づいて動作した結果である制御結果は、学習データとして状態データベース111に入力される。
環境変動認識部130は、入力データに基づいて、ロボット20の経路計画を行うにあたり、第1演算部113と第2演算部120との間の優先度を決定するための切替情報を出力する。入力データは、ロボット20の初期姿勢及び目標姿勢の他、障害物の有無等の環境画像データを含む。ここで、障害物の有無等の環境画像データは、ロボット20の経路計画を行うときの作業条件に関連するデータである。環境変動認識部130は、入力データに基づいて、障害物の有無や障害物の位置の変動等を認識し、切替情報を生成する。例えば、環境変動認識部130は障害物の位置が学習部110において学習済みの位置である場合、すなわち、経路の演算を行うときの作業条件の変動がない場合には、第1演算部113を優先的に使用することを示す切替情報を生成し、他方で、障害物の位置が学習部110において未学習の位置である場合、すなわち、経路の演算を行うときの作業条件に変動がある場合には、第2演算部120を優先的に使用することを示す切替情報を生成する。障害物の位置の変動は、例えば、障害物が撮影された画像を入力データとして取得し、今回の入力データの画像と、前回の入力データの画像との差分から、パターンマッチング等の所定の画像処理により、認識することができる。なお、環境変動認識部130は、ユーザの任意の入力に基づいて、切替情報を生成するか否かを切替えられるようにしてもよい。このように、学習部110で学習を行ったときの条件とは異なる条件(未学習のパターン)が入力された場合に、第1演算部113と第2演算部120とのいずれを使用するかを示す切替情報を生成する。
切替部140は、切替情報及び/又は比較結果に対応するように入力データの入力先を、第1演算部113、第2演算部120、及びその両方のうちのいずれかに切り替える。例えば、切替情報において、第1演算部113を優先することが示されている場合には、切替部140は、入力先を第1演算部113に切り替える。また、切替情報において、第1演算部113を優先することが示されている場合であっても、比較結果において、第2演算部120の方が評価が高い場合には、入力先を第1演算部113、及び第2演算部120の両方としてもよい。
さらに、切替部140は、学習部110の学習の進捗状況に応じて、入力先を切り替える構成でもよい。具体的には、学習部110の学習が未完了の場合には、入力先を第2演算部120に切り替えることができる。学習が完了した場合とは、例えば、ユーザが予め設定した経路計画の回数分の学習データを収集したうえで、当該学習データに基づいて、コンフィギュレーション空間が所定の領域に区分された場合において、当該領域の中心の座標の変動が、予め定められた閾値未満に収束した場合等であってもよい。
<4.動作フロー>
図10を用いて、本実施形態に係る演算装置10の処理の流れについて説明する。図10は、演算装置10の処理フローの一例を示すフローチャートである。
まず、演算装置10は、第2演算部120を用いて経路計画を行い(S201),生成された経路に基づいてロボット20の制御を行う(S202)。このとき、第2演算部120が演算した経路計画に関する情報、ロボット20が動作した経路の情報である制御結果の少なくともいずれか一方が、状態データベース111に格納される(S203)。
学習部110では、状態データベース111に格納された経路計画に関する情報や制御結果を学習データとして学習が実行される。学習部110での学習が完了する(S204)まで、演算装置10は、第2演算部120を用いて経路計画を行い続ける。
学習部110での学習が完了する(S204:YES)と、切替部140によって入力データの入力先が第1演算部113に切り替えられ、第1演算部113によって経路計画が行われる(S205)。なお、学習部110での学習が完了するまでの間、切替部140は第1演算部113と第2演算部120との両方に入力データを入力することが好ましい。この場合、比較部150は、第1演算部113と第2演算部120とが行った経路計画に関する情報を比較して比較結果を生成する。切替部140は、生成された比較結果に基づいて、学習部110での学習が完了したか否かを判定し、入力データの入力先の切り替えを行うことができる。
次に演算装置10は、環境変動認識部130において、ロボット20の稼働領域に障害物が置かれたり、その位置が変動する等、環境に変動したか否かを判定する(S206)。環境が変動している場合(S206:YES)には、環境変動認識部130は、第2演算部120を優先度が高いことを示す切替情報を生成する。
切替部140は切替情報に基づいて切替先を選択する(S207)。この場合、切替部140は入力データの入力先として、第1演算部113と第2演算部120との両方を選択することが好ましいが、第2演算部120のみを選択してもよい。
切替部140が入力先を切り替えると、選択された演算部(第2演算部120、または第1演算部113、第2演算部120の両方)において経路計画が行われる(S208)。S206からS208までの処理が、作業が終了する(S209)まで繰り返し実行される。
<5.効果>
このように、本実施形態に係る演算装置10によると、学習によって変動するパラメータを用いるモデルによって経路計画を行う第1演算部113と、固定化されたパラメータを用いるモデルによって経路計画を行う第2演算部120とを柔軟に切り替えて利用することができる。これによって、未学習の環境においては第2演算部120を用いることで学習中でも作業を継続することができる。他方で、学習済みの環境においては第1演算部113を用いることで例えば実行時の演算時間や出力結果、生成コスト等の点でより優位な結果を得ることができる。
[第2実施形態]
第1実施形態では、演算装置10がロボットのモーションプランニングに用いられる例について説明した。しかし、演算装置10が適用される装置は、第1実施形態に示した例に限定されず、種々の装置に適用することができる。本実施形態では、ピックアンドプレース動作を行うことをタスクとする、ロボットの制御に適用する例について説明する。
本実施形態に係るタスクであるピックアンドプレース動作は、ロボット20によって以下の手順で行われる動作をいう。なお、本実施形態では、以下の手順2から4については、ロボット20にあらかじめ動作をプロブラムしておくことで実行される。
1.ワーク形状を認識して把持する。
2.把持したワークを持ち上げる。
3.ワーク形状に応じた所定の位置へ持ち上げたワークを移動させる。
4.ワーク形状ごとに筒内に積み上げる。
演算装置10は、手順1について、例えば撮像装置30(図3参照)によってワークが撮像された対象画像を解析することで、ロボット20に対して、ワークの位置や角度に関する情報を出力する。図5を再度参照して、第2実施形態に係る演算装置10の機能について、第1実施形態との差異点を中心に説明する。
本実施形態では、入力データとして対象画像が与えられる。第1演算部113はDNN(Deep Learning Neural Network)やCNN(Convolution Neural Network)を用いて対象画像の解析(特徴抽出)を行い、ワークの位置や角度を示す検出結果を出力する。学習実行部112においては、状態データベース111に格納された学習データに基づいて、第1演算部113に設定するパラメータの学習を行う。
他方、第2演算部120は、コーナー検出等によって対象画像の特徴抽出を行い、検出結果を出力する。
その他の構成や機能は第1実施形態と同様である。
[第3実施形態]
本実施形態では、演算装置10は、検査対象を撮像して生成される入力画像に対して画像解析を行うことで、検査対象における欠陥の有無を判定する欠陥検査システム2において用いられる。
図11は、本実施形態に係る欠陥検査システム2の適用場面の一例を示す模式図である。図11に示されるとおり、欠陥検査システム2は、例えばベルトコンベア3上を搬送される検査対象であるワーク4を撮像して得られる入力画像に対して画像計測処理を実行することで、ワーク4の外観検査または外観計測を実現する。以下の説明においては、画像計測処理の典型例として、ワーク4表面における欠陥の有無の検査などに適用した例を説明するが、これに限らず、欠陥の種類の特定や外観形状の計測などにも応用が可能である。
ベルトコンベア3の上部には撮像装置30が配置されており、撮像装置30の撮像視野6はベルトコンベア3の所定領域を含むように構成される。撮像装置30の撮像により生成された画像データ(以下、「入力画像」ともいう。)は、演算装置10へ送信される。撮像装置30による撮像は、周期的またはイベント的に実行される。
演算装置10は、上位ネットワーク8を介して、PLC(プログラマブルコントローラ)70およびデータベース装置80などと接続されている。演算装置10における計測結果は、PLC70および/またはデータベース装置80へ送信されてもよい。なお、上位ネットワーク8には、PLC70およびデータベース装置80に加えて、任意の装置が接続されるようにしてもよい。
演算装置10は、処理中の状態や計測結果などを表示するためのディスプレイ104と、ユーザ操作を受付ける入力部としてのキーボード106およびマウス108とが接続されていてもよい。
図12を参照して本実施形態に係る演算装置10の機能構成について第1実施形態との差異点を中心に説明する。本実施形態では、入力データとして入力画像が与えられる。第1演算部113はDNNやCNNを用いて入力画像を解析し、ワーク4における欠陥有無を判定する。学習実行部112は、状態データベース111に格納された学習データに基づいて学習を行うことにより、入力画像から欠陥として検出する特徴をパラメータとして獲得する。獲得したパラメータは、第1演算部113に設定される。
他方、第2演算部120は微分フィルタ等を用いて入力画像から欠陥として検出する特徴を解析することで欠陥の有無を判定する。
また、比較部150は、本実施形態では、比較結果に基づいて、第1演算部113と第2演算部120のうちいずれの判定結果を採用するかを選択し、選択した判定結果を外部インタフェース111を介してユーザ又は評価装置等に提示する。このとき、ユーザ又は評価装置等は比較部150に提示された判定結果の適否を評価し、フィードバックを状態データベース111に格納することが好ましい。例えば、評価装置が、時間計測が可能な場合には、第1演算部113と第2演算部120との処理時間を計測して比較してもよい。また、例えば評価装置が、既存技術により欠陥判定の精度を計測可能である場合には、第1演算部113と第2演算部120との欠陥判定の精度(例えば正答率であってよい)を計測して比較してもよい。
さらに、本実施形態では、環境変動認識部130は、入力データ(入力画像)に基づいて、入力画像における背景画像の変動や照明条件の変動を認識して、切替情報を生成する。
その他の構成や機能は第1実施形態と同様である。
[第4実施形態]
本実施形態では、演算装置10は、目標物までの距離を計測する計測器のキャリブレーションに用いられる。図13は本実施形態に係る演算装置10の機能構成の一例を示す図である。図13を参照して本実施形態に係る演算装置10の機能構成について第1実施形態との差異点を中心に説明する。
本実施形態では、入力データとしてToF(Time of Flight)やLIDAR(Light Detection and Ranging)等の光学計測器が目標物との距離(既知)を測定するために発信した光学信号が与えられる。このとき目標物との距離(目標測距距離)は既知である。演算装置10は、目標測距距離に対する、光学信号に基づいて算出される測距距離のばらつきを算出する。光学計測器は算出されたばらつきに基づいてキャリブレーションを行う。
なお、この光学信号の波形は状態データベース111に学習データとして格納される。
第1演算部113はRNN(Recurrent Neural Network)やCNNを用いて波形の形状を解析し、目標測距距離に対する測距距離の誤差値を判定する。第1演算部113は判定した誤差値を計測結果として比較器150に出力する。
学習実行部112は、状態データベース111に格納された光学信号の波形と、当該波形において第2演算部120が判定した誤差値とを学習データとして学習を行うことにより、波形形状と誤差値との相関関係をパラメータとして獲得する。獲得したパラメータは、第1演算部113に設定される。
他方、第2演算部120はFFT等、既存のキャリブレーションの手法によって、目標測距距離に対する測距距離の誤差を判定する。例えば、第2演算部120は、光学信号からノイズを除去したうえで波形から特徴点を抽出することで、測距距離を算出し、誤差を判定する。第2演算部120は判定した誤差値を計測結果として比較器150に出力する。
比較部150は、第1演算部113が出力した計測結果における、第2演算部120が出力した計測結果に対するずれ幅に基づいて、第1演算部113と第2演算部120のうちいずれの計測結果を採用するかを選択し、選択した計測結果をユーザ又は評価装置等に提示する。例えば、ずれ幅が一定範囲以内である場合には、学習実行部112による学習が完了したと考えられる。この場合、比較部150は、第1演算部113の計測結果をユーザ又は評価装置等に提示する。ユーザ又は評価装置等は比較部150に提示された計測結果の適否を評価し、フィードバックを状態データベース111に格納することが好ましい。
さらに、本実施形態では、環境変動認識部130は、目標測距距離の変動に基づいて、切替情報を生成する。例えば、目標測距距離が変化した場合には、環境変動認識部130は、第2演算部120の優先度が高いことを示す切替情報を生成することが好ましい。
その他の構成や機能は第1実施形態と同様である。
以上、本発明の実施の形態を詳細に説明してきたが、上述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力する第1演算部(113)と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて前記処理に関する演算を行い、第2出力を出力する第2演算部(120)と、
前記第1出力と前記第2出力とを所定の判定基準で比較した結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部(150)と、
を備える演算装置(19)。
(付記2)
前記第1モデルのパラメータを学習し、学習した当該パラメータを前記第1モデルに設定する学習部(110)、
をさらに備える、付記1に記載の演算装置(10)。
(付記3)
前記学習部(110)は、前記第2出力に基づいて前記第1モデルのパラメータを学習し、学習した当該パラメータを前記第1モデルに設定する、
付記2に記載の演算装置(10)。
(付記4)
前記比較部(150)は、
前記学習部(110)において前記第1モデルのパラメータの学習が完了するまで前記第2出力を出力する、
付記3に記載の演算装置(10)。
(付記5)
前記第1演算部(113)が前記入力データに対して学習済みであるか否かを検出し、前記第1及び前記第2演算部(113、120)のうちいずれを利用するかを示す切替情報を生成する環境変動認識部(130)と、
前記切替情報に基づいて、前記第1及び前記第2演算部のうちいずれに前記入力データを入力するかを切り替える切替部(140)と、
をさらに備える付記1乃至4の何れか一項に記載の演算装置(10)。
(付記6)
前記環境変動認識部(130)は、前記第1演算部(113)が前記入力データに対して学習済みであるか否かを、前記第1演算部(113)が前記入力データの演算を行う際の前提条件に変更があるか否かに基づいて判断する、
付記5に記載の演算装置(10)。
(付記7)
ロボット(20)の初期姿勢と目標姿勢とを含む入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて経路計画を行い、当該経路計画において生成された経路を第1出力として出力する第1演算部(113)と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて経路計画を行い、当該経路計画において生成された経路を第2出力として出力する第2演算部(120)と、
前記第1出力と前記第2出力との比較結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部(150)と、
前記比較部(150)の出力に応じて、前記ロボット(20)を前記初期姿勢から前記目標姿勢へと制御する制御部(15)と、
を備える演算装置(10)。
(付記8)
ロボット(20)が把持する対象物(W)を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、解析結果を第1出力として出力する第1演算部(113)と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて画像解析を行い、解析結果を第2出力として出力する第2演算部(120)と、
前記第1出力と前記第2出力とを所定の判定基準で比較した比較結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部(150)と、
前記比較部(150)の出力に応じて、前記対象物(W)を把持するように前記ロボット(20)を制御する制御部(15)と、
を備える演算装置(10)。
(付記9)
検査対象(4)を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、前記検査対象(4)における欠陥の有無を判定した結果である判定結果を第1出力として出力する第1演算部(113)と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて画像解析を行い、判定結果を第2出力として出力する第2演算部(120)と、
前記第1出力と前記第2出力とを所定の判定基準で比較した比較結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部(150)と、
前記比較部(150)の出力に応じて、前記検査対象における欠陥の有無を提示する提示部(150、11)と、
を備える演算装置(10)。
(付記10)
距離が既知である目標物までの測距距離を計測するために、光学計測器が発信した光学信号である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を第1出力として出力する第1演算部(113)と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて測距距離を算出し、前記目標物までの距離との誤差を第2出力として出力する第2演算部(120)と、
前記第1出力と前記第2出力とを所定の判定基準で比較した比較結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部(150)と、
前記比較部(150)の出力に応じて、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を提示する提示部(150、11)と、
を備える演算装置(10)。
(付記11)
コンピュータ(10)を、
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力する手段、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて前記所定の処理に関する演算を行い、第2出力を出力する手段、
前記第1出力と前記第2出力とを所定の判定基準で比較した比較結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する手段、
として機能させるプログラム。
(付記12)
コンピュータ(10)が、
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力するステップと、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて前記所定の処理に関する演算を行い、第2出力を出力するステップと、
前記第1出力と前記第2出力とを所定の判定基準で比較した比較結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力するステップと、
を実行する演算方法。
1 ロボットシステム
2 欠陥検査システム
3 ベルトコンベア
4 ワーク
6 撮像視野
8 上位ネットワーク
9 光学計測システム
10 演算装置
11 外部インタフェース
12 記憶部
13 ドライブ
14 記憶媒体
15 制御部
20 ロボット
21 台座
22 第1リンク
23 第2リンク
24 第3リンク
25 第4リンク
26 第5リンク
27 第6リンク
28 エンドエフェクタ
30 撮像装置
40 角度検出装置
50 入力装置
60 出力装置
80 データベース装置
104 ディスプレイ
106 キーボード
108 マウス
110 学習部
111 状態データベース
111 情報状態データベース
112 学習実行部
113 第1演算部
120 第2演算部
130 環境変動認識部
140 切替部
150 比較部

Claims (11)

  1. 入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力する第1演算部と、
    前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて前記処理に関する演算を行い、第2出力を出力する第2演算部と、
    前記第1出力と前記第2出力とを所定の判定基準で比較した結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部と、
    前記比較した結果に基づいて、前記第1演算部、前記第2演算部、又は、前記第1演算部及び前記第2演算部の双方、のいずれかに、前記入力データの入力先を切り替える切替部と、
    を備える演算装置。
  2. 前記第1モデルのパラメータを学習し、学習した当該パラメータを前記第1モデルに設定する学習部、
    をさらに備える、請求項1に記載の演算装置。
  3. 前記学習部は、前記第2出力に基づいて前記第1モデルのパラメータを学習し、学習した当該パラメータを前記第1モデルに設定する、請求項2に記載の演算装置。
  4. 前記比較部は、
    前記学習部において前記第1モデルのパラメータの学習が完了するまで前記第2出力を出力する、
    請求項3に記載の演算装置。
  5. 前記切替部は、前記入力データに基づいて認識される環境変動、及び、前記比較した結果に基づいて、前記第1演算部、前記第2演算部、又は、前記第1演算部及び前記第2演算部の双方、のいずれかに、前記入力データの入力先を切り替える、
    請求項1乃至4の何れか一項に記載の演算装置。
  6. ロボットの初期姿勢と目標姿勢とを含む入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて経路計画を行い、当該経路計画において生成された経路を第1出力として出力する第1演算部と、
    前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて経路計画を行い、当該経路計画において生成された経路を第2出力として出力する第2演算部と、
    前記第1出力と前記第2出力との比較結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部と、
    前記比較部の出力に応じて、前記ロボットを前記初期姿勢から前記目標姿勢へと制御する制御部と、
    を備える演算装置。
  7. ロボットが把持する対象物を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、解析結果を第1出力として出力する第1演算部と、
    前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて画像解析を行い、解析結果を第2出力として出力する第2演算部と、
    前記第1出力と前記第2出力とを所定の判定基準で比較した結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部と、
    前記比較部の出力に応じて、前記対象物を把持するように前記ロボットを制御する制御部と、
    を備える演算装置。
  8. 検査対象を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、前記検査対象における欠陥の有無を判定した結果である判定結果を第1出力として出力する第1演算部と、
    前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて画像解析を行い、判定結果を第2出力として出力する第2演算部と、
    前記第1出力と前記第2出力とを所定の判定基準で比較した結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部と、
    前記比較部の出力に応じて、前記検査対象における欠陥の有無を提示する提示部と、
    を備える演算装置。
  9. 距離が既知である目標物までの測距距離を計測するために、光学計測器が発信した光学信号である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて画像解析を行い、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を第1出力として出力する第1演算部と、
    前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて測距距離を算出し、前記目標物までの距離との誤差を第2出力として出力する第2演算部と、
    前記第1出力と前記第2出力とを所定の判定基準で比較した結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する比較部と、
    前記比較部の出力に応じて、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を提示する提示部と、
    を備える演算装置。
  10. コンピュータを、
    入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力する手段、
    前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて前記所定の処理に関する演算を行い、第2出力を出力する手段、
    前記第1出力と前記第2出力とを所定の判定基準で比較した比較結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力する手段、
    前記比較した結果に基づいて、前記第1モデルを用いて前記演算を行う第1演算部、前記第2モデルを用いて前記演算を行う第2演算部、又は、前記第1演算部及び前記第2演算部の双方、のいずれかに、前記入力データの入力先を切り替える手段と、
    として機能させるプログラム。
  11. コンピュータが、
    入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第1モデルを用いて所定の処理に関する演算を行い、第1出力を出力するステップと、
    前記入力データに対して、入力データと出力データとの対応関係が固定化された第2モデルを用いて前記所定の処理に関する演算を行い、第2出力を出力するステップと、
    前記第1出力と前記第2出力とを所定の判定基準で比較した結果に基づいて、前記第1出力、前記第2出力、又は前記第1及び前記第2出力を組み合わせた第3出力を出力するステップと、
    前記比較した結果に基づいて、前記第1モデルを用いて前記演算を行う第1演算部、前記第2モデルを用いて前記演算を行う第2演算部、又は、前記第1演算部及び前記第2演算部の双方、のいずれかに、前記入力データの入力先を切り替えるステップと、
    を実行する演算方法。
JP2018045254A 2018-03-13 2018-03-13 演算装置、演算方法、及びそのプログラム Active JP6857332B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018045254A JP6857332B2 (ja) 2018-03-13 2018-03-13 演算装置、演算方法、及びそのプログラム
US16/976,468 US20210001481A1 (en) 2018-03-13 2019-03-07 Calculation device, calculation method, and storage medium
PCT/JP2019/009142 WO2019176737A1 (ja) 2018-03-13 2019-03-07 演算装置、演算方法、及びそのプログラム
CN201980012029.2A CN111684474B (zh) 2018-03-13 2019-03-07 运算装置、运算方法及记录介质
EP19768087.9A EP3767555A4 (en) 2018-03-13 2019-03-07 CALCULATION DEVICE, CALCULATION PROCESS, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018045254A JP6857332B2 (ja) 2018-03-13 2018-03-13 演算装置、演算方法、及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2019159767A JP2019159767A (ja) 2019-09-19
JP6857332B2 true JP6857332B2 (ja) 2021-04-14

Family

ID=67908283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018045254A Active JP6857332B2 (ja) 2018-03-13 2018-03-13 演算装置、演算方法、及びそのプログラム

Country Status (5)

Country Link
US (1) US20210001481A1 (ja)
EP (1) EP3767555A4 (ja)
JP (1) JP6857332B2 (ja)
CN (1) CN111684474B (ja)
WO (1) WO2019176737A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7160118B2 (ja) * 2019-02-08 2022-10-25 日本電気株式会社 制御装置、制御方法、プログラム
AU2020325084A1 (en) * 2019-08-02 2022-02-24 Dextrous Robotics, Inc. Robotic manipulators
KR102110480B1 (ko) * 2020-02-03 2020-05-13 주식회사 이글루시큐리티 비지도 학습 기반의 이상 탐지 방법 및 그 시스템
JP7375587B2 (ja) * 2020-02-05 2023-11-08 株式会社デンソー 軌道生成装置、多リンクシステム、及び軌道生成方法
JP7463777B2 (ja) * 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法
KR102522511B1 (ko) * 2020-09-22 2023-04-17 한국전기연구원 다자유도 로봇 제어방법 및 시스템
KR102432281B1 (ko) * 2020-11-13 2022-08-16 주식회사 플라잎 로봇의 엔드 이펙터의 최적 경로를 도출하는 장치 및 방법
JP2022134604A (ja) * 2021-03-03 2022-09-15 オムロン株式会社 ロボットセルシステム設計装置、方法、及びプログラム
US20230050174A1 (en) * 2021-08-10 2023-02-16 Sean Alexander Cassero Template robotic control plans
US20230302636A1 (en) * 2022-03-23 2023-09-28 Mitsubishi Electric Research Laboratories, Inc. Systems and Methods for Flexible Robotic Manipulation by Fast Online Load Estimation
US11845184B2 (en) 2022-04-18 2023-12-19 Dextrous Robotics, Inc. System and/or method for grasping objects
WO2023223570A1 (ja) * 2022-05-18 2023-11-23 三菱電機株式会社 制御装置、ロボットシステム、学習装置、ロボットの制御方法およびプログラム
WO2023228556A1 (ja) * 2022-05-24 2023-11-30 ソニーグループ株式会社 情報処理装置、及び情報処理方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2533942B2 (ja) 1989-03-13 1996-09-11 株式会社日立製作所 知識抽出方法およびプロセス運転支援システム
JPH05204406A (ja) * 1992-01-28 1993-08-13 Hitachi Ltd プロセス制御装置
JPH06263346A (ja) * 1993-03-16 1994-09-20 Hitachi Ltd エレベータの交通流判定装置
JPH07210209A (ja) * 1994-01-21 1995-08-11 Mazda Motor Corp 神経回路を用いた制御装置
JPH0830327A (ja) * 1994-07-18 1996-02-02 Fujitsu Ltd 能動的環境認識システム
JPH0991036A (ja) * 1995-09-25 1997-04-04 Toshiba Corp プラント監視装置
JP3324434B2 (ja) * 1997-03-26 2002-09-17 株式会社エフ・エフ・シー 換気制御装置
JP2002251597A (ja) * 2001-02-23 2002-09-06 Yamaha Motor Co Ltd 最適解探索装置、最適化アルゴリズムによる制御対象の制御装置及び最適解探索プログラム
JP4427074B2 (ja) * 2007-06-07 2010-03-03 株式会社日立製作所 プラントの制御装置
JP2009116770A (ja) * 2007-11-09 2009-05-28 Sony Corp データ処理装置および方法、プログラム、並びに記録媒体
CN101782976B (zh) * 2010-01-15 2013-04-10 南京邮电大学 一种云计算环境下机器学习自动选择方法
US9080855B2 (en) * 2011-09-23 2015-07-14 Mitutoyo Corporation Method utilizing image correlation to determine position measurements in a machine vision system
WO2016181474A1 (ja) * 2015-05-11 2016-11-17 株式会社東芝 パターン認識装置、パターン認識方法およびプログラム
KR102172277B1 (ko) * 2015-11-12 2020-10-30 딥마인드 테크놀로지스 리미티드 듀얼 심층 신경 네트워크
JP6661398B2 (ja) * 2016-02-03 2020-03-11 キヤノン株式会社 情報処理装置および情報処理方法
JP6625914B2 (ja) * 2016-03-17 2019-12-25 ファナック株式会社 機械学習装置、レーザ加工システムおよび機械学習方法
JP2017174094A (ja) * 2016-03-23 2017-09-28 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
WO2017168865A1 (ja) * 2016-03-28 2017-10-05 ソニー株式会社 情報処理装置及び情報処理方法
JP6752457B2 (ja) * 2016-06-02 2020-09-09 株式会社マーズスピリット 機械学習システム、装置及び情報処理方法
WO2017221856A1 (ja) * 2016-06-21 2017-12-28 日本電気株式会社 分析装置、分析方法、および記憶媒体
CN107704482A (zh) * 2016-08-09 2018-02-16 松下知识产权经营株式会社 方法、装置以及程序
JP6514166B2 (ja) * 2016-09-16 2019-05-15 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP6810505B2 (ja) * 2017-09-19 2021-01-06 富士フイルム株式会社 教師データ作成方法及び装置並びに欠陥検査方法及び装置
JP6695843B2 (ja) * 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム

Also Published As

Publication number Publication date
EP3767555A1 (en) 2021-01-20
JP2019159767A (ja) 2019-09-19
EP3767555A4 (en) 2021-11-24
CN111684474A (zh) 2020-09-18
US20210001481A1 (en) 2021-01-07
WO2019176737A1 (ja) 2019-09-19
CN111684474B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
JP6857332B2 (ja) 演算装置、演算方法、及びそのプログラム
JP7491971B2 (ja) 物体把持方法、物体把持プログラム、物体把持装置、学習方法、学習プログラムおよび学習装置
JP6951659B2 (ja) タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
JP6810087B2 (ja) 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
JP6586532B2 (ja) ロボットの把持のための深層機械学習方法および装置
JP6931457B2 (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
JP6860863B2 (ja) 経路出力方法
JP6904327B2 (ja) 制御装置、制御方法、及び制御プログラム
JP7128736B2 (ja) ロボット制御装置、ロボットシステム及びロボット制御方法
JP6640060B2 (ja) ロボットシステム
Yamaguchi et al. Pouring skills with planning and learning modeled from human demonstrations
CN114102585B (zh) 一种物品抓取规划方法及系统
CN114845844B (zh) 信息处理装置、工件识别装置及工件取出装置
JP2019089157A (ja) 把持方法、把持システム及びプログラム
JP7460366B2 (ja) 訓練データ選別装置、ロボットシステム及び訓練データ選別方法
CN109508707B (zh) 基于单目视觉的机器人稳定抓取物体的抓取点获取方法
WO2021033486A1 (ja) モデル生成装置、モデル生成方法、制御装置及び制御方法
JP7275759B2 (ja) 物体検出方法、物体検出装置およびロボットシステム
JP2020025992A (ja) 制御装置、制御方法、およびプログラム
WO2021033471A1 (ja) 制御装置、制御方法、及び制御プログラム
JP6456557B1 (ja) 把持位置姿勢教示装置、把持位置姿勢教示方法及びロボットシステム
Kamon et al. Learning visually guided grasping: a test case in sensorimotor learning
JP2021035714A (ja) 制御装置、制御方法、及び制御プログラム
RU2745380C1 (ru) Способ и система захвата объектов с помощью роботизированного устройства
WO2021033472A1 (ja) 制御装置、制御方法、及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210304

R150 Certificate of patent or registration of utility model

Ref document number: 6857332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150