(57)【要約】【課題】機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完する技術を提供する。【解決手段】入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力する第１演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて所定の処理に関する演算を行い、第２出力を出力する第２演算部と、第１出力と第２出力とを所定の判定基準で比較した比較結果に基づいて、第１出力、第２出力、又は第１及び第２出力を組み合わせた第３出力を出力する比較部と、を備える。【選択図】図５
2019159767.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力する第１演算部と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて前記処理に関する演算を行い、第２出力を出力する第２演算部と、
前記第１出力と前記第２出力とを所定の判定基準で比較した結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部と、
を備える演算装置。
【請求項２】
前記第１モデルのパラメータを学習し、学習した当該パラメータを前記第１モデルに設定する学習部、
をさらに備える、請求項１に記載の演算装置。
【請求項３】
前記学習部は、前記第２出力に基づいて前記第１モデルのパラメータを学習し、学習した当該パラメータを前記第１モデルに設定する、請求項２に記載の演算装置。
【請求項４】
前記比較部は、
前記学習部において前記第１モデルのパラメータの学習が完了するまで前記第２出力を出力する、
請求項３に記載の演算装置。
【請求項５】
前記第１演算部が前記入力データに対して学習済みであるか否かを検出し、前記第１及び前記第２演算部のうちいずれを利用するかを示す切替情報を生成する環境変動認識部と、
前記切替情報に基づいて、前記第１及び前記第２演算部のうちいずれに前記入力データを入力するかを切り替える切替部と、
をさらに備える請求項１乃至４の何れか一項に記載の演算装置。
【請求項６】
前記環境変動認識部は、前記第１演算部が前記入力データに対して学習済みであるか否かを、前記第１演算部が前記入力データの演算を行う際の前提条件に変更があるか否かに基づいて判断する、
請求項５に記載の演算装置。
【請求項７】
ロボットの初期姿勢と目標姿勢とを含む入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて経路計画を行い、当該経路計画において生成された経路を第１出力として出力する第１演算部と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて経路計画を行い、当該経路計画において生成された経路を第２出力として出力する第２演算部と、
前記第１出力と前記第２出力との比較結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部と、
前記比較部の出力に応じて、前記ロボットを前記初期姿勢から前記目標姿勢へと制御する制御部と、
を備える演算装置。
【請求項８】
ロボットが把持する対象物を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、解析結果を第１出力として出力する第１演算部と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて画像解析を行い、解析結果を第２出力として出力する第２演算部と、
前記第１出力と前記第２出力とを所定の判定基準で比較した結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部と、
前記比較部の出力に応じて、前記対象物を把持するように前記ロボットを制御する制御部と、
を備える演算装置。
【請求項９】
検査対象を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、前記検査対象における欠陥の有無を判定した結果である判定結果を第１出力として出力する第１演算部と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて画像解析を行い、判定結果を第２出力として出力する第２演算部と、
前記第１出力と前記第２出力とを所定の判定基準で比較した結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部と、
前記比較部の出力に応じて、前記検査対象における欠陥の有無を提示する提示部と、
を備える演算装置。
【請求項１０】
距離が既知である目標物までの測距距離を計測するために、光学計測器が発信した光学信号である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を第１出力として出力する第１演算部と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて測距距離を算出し、前記目標物までの距離との誤差を第２出力として出力する第２演算部と、
前記第１出力と前記第２出力とを所定の判定基準で比較した結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部と、
前記比較部の出力に応じて、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を提示する提示部と、
を備える演算装置。
【請求項１１】
コンピュータを、
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力する手段、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて前記所定の処理に関する演算を行い、第２出力を出力する手段、
前記第１出力と前記第２出力とを所定の判定基準で比較した比較結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する手段、
として機能させるプログラム。
【請求項１２】
コンピュータが、
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力するステップと、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて前記所定の処理に関する演算を行い、第２出力を出力するステップと、
前記第１出力と前記第２出力とを所定の判定基準で比較した結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力するステップと、
を実行する演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算装置、演算方法、及びそのプログラムに関する。
【背景技術】
【０００２】
現在、製造ライン等において用いられるロボット等の装置に対してＡＩ技術を用いることで、適切な経路計画の作成、ピックアンドプレイスの動作、欠陥の検出等をより高精度に行うことが可能になってきている。ＡＩ技術を用いることで、ロボット等の装置が所定の制御や判定等の演算を行う際の処理能力を学習により向上させることが可能である。
【０００３】
また、特許文献１には、水処理プロセスや化学プロセス等、時間とともに変化する現象を取り扱うプロセスの運転支援を行うにあたり、機械学習によって、制御対象を目標状態とするための制御変数値を求める方法が開示されている。特許文献１に記載された方法では、機械学習によって生成した神経回路モデル（学習済みモデル）に対し、未学習のパターンを入力してプロセスの制御変数値を求めている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３１９５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載されるような従来の方法では、学習が完了して、制御変数値（パラメータ）を獲得するまで学習済みモデルを使用することができないため、実際に必要な制御等の演算を行うまでに時間を要してしまう。また、例えば、欠陥検査における照明条件、機械に所定の作業をさせる場合における機械の温度特性、ロボットハンド周辺の障害物の位置変動等、学習済みモデルを使用する環境が変動すると、未学習のパターンに対して意図しない出力結果が得られることがある。このような環境の変動に対して、適切な出力結果を得るためには、そのような未学習のパターンについて再学習を行い、パラメータを更新する必要がある。その場合にも、再学習が完了するまで学習済みモデルを使用することができなくなる。
【０００６】
他方で、学習済みモデルは、新たなパターンに対する学習を行うことで、未学習のパターンに対して適応することができ、その結果生成されるモデルは、人間が構築したモデルや、学習済みモデルであっても一度構築されて新たなパターンに対する再学習ができないように構成されたモデル（以下「固定化されたモデル」ともいう。）に比べて、例えば実行時の演算時間や出力結果等の点ですぐれている場合がある。ここで、出力結果とは、例えば、欠陥検査の検出精度、機械の動作の滑らかさ、ロボットハンドの関節の最大トルクの低減等をいう。なお、このような課題は、ロボット等の装置にＡＩ技術を適用する場合に特有の課題ではなく、学習によって能力向上を図ることが可能なＡＩ技術一般にも生じ得る。
【０００７】
本発明は、上述した事情を鑑みてなされたものであり、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上述した課題を解決するために、以下の構成を採用する。
本発明の一側面に係る演算装置は、入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力する第１演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて所定の処理に関する演算を行い、第２出力を出力する第２演算部と、第１出力と第２出力とを所定の判定基準で比較した比較結果に基づいて、第１出力、第２出力、又は第１及び第２出力を組み合わせた第３出力を出力する比較部と、を備える。上記構成では、演算装置は、２種類の演算部を柔軟に切り替えて利用することによって、未学習の環境においては第２演算部を用いることで学習中でも作業を継続することができる。他方で、学習済みの環境においては第１演算部を用いることで、例えば実行時の演算時間や出力結果、生成コスト等の点でより優位な結果を得ることができる。なお、「未学習の環境」とは、当該環境においては、第１演算部が所定の基準値以上のパフォーマンスで動作できない環境をいう。例えば、第１演算部の学習が完了していない状況や、第１演算部を再学習している状況、第１演算部の出力が意図したものではない状況等である。他方、「学習済みの環境」とは、当該環境においては、第１演算部が所定の基準値以上のパフォーマンスで動作できる環境をいう。例えば、第１演算部の学習が完了している状況等である。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
【０００９】
また、上記演算装置は、第１モデルのパラメータを学習し、学習した当該パラメータを第１モデルに設定する学習部をさらに備えるように構成されてもよい。また、学習部は、第２出力に基づいて第１モデルのパラメータを学習し、学習した当該パラメータを第１モデルに設定するように構成されてもよい。この場合には、演算装置は、第２演算部の演算結果を、第１演算部に設定するパラメータを学習するための学習データに用いることができるため、学習データのバリエーションをより多様化することができる。
【００１０】
また、上記比較部は、学習部において第１モデルのパラメータの学習が完了するまで第２出力を出力するように構成することができる。これによって、未学習の環境においては第２演算部を用いることで学習中でも作業を継続することができる。
【００１１】
また、上記演算装置は、第１演算部が前記入力データに対して学習済みであるか否かを検出し、第１及び第２演算部のうちいずれを利用するかを示す切替情報を生成する環境変動認識部と、切替情報に基づいて、第１及び第２演算部のうちいずれに入力データを入力するかを切り替える切替部と、をさらに備えるように構成してもよい。さらに、上記環境変動認識部は、第１演算部が入力データに対して学習済みであるか否かを、第１演算部が入力データの演算を行う際の条件に変更があるか否かに基づいて判断するように構成されもよい。
【００１２】
本発明の一側面に係る演算装置は、ロボットの初期姿勢と目標姿勢とを含む入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて経路計画を行い、当該経路計画において生成された経路を第１出力として出力する第１演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて経路計画を行い、当該経路計画において生成された経路を第２出力として出力する第２演算部と、第１出力と第２出力とを所定の判定基準で比較した比較結果に基づいて、第１出力、前記第２出力、又は第１及び第２出力を組み合わせた第３出力を出力する比較部と、比較部の出力に応じて、ロボットを初期姿勢から目標姿勢へと制御する制御部と、を備える。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
【００１３】
本発明の一側面に係る演算装置は、ロボットが把持する対象物を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、解析結果を第１出力として出力する第１演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて画像解析を行い、解析結果を第２出力として出力する第２演算部と、第１出力と第２出力とを所定の判定基準で比較した比較結果に基づいて、第１出力、第２出力、又は第１及び第２出力を組み合わせた第３出力を出力する比較部と、比較部の出力に応じて、対象物を把持するように前記ロボットを制御する制御部と、を備える。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
【００１４】
本発明の一側面に係る演算装置は、検査対象を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、前記検査対象における欠陥の有無を判定した結果である判定結果を第１出力として出力する第１演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて画像解析を行い、判定結果を第２出力として出力する第２演算部と、第１出力と第２出力とを所定の判定基準で比較した比較結果に基づいて、第１出力、第２出力、又は第１及び第２出力を組み合わせた第３出力を出力する比較部と、比較部の出力に応じて、検査対象における欠陥の有無を提示する提示部と、を備える。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
【００１５】
本発明の一側面に係る演算装置は、距離が既知である目標物までの測距距離を計測するために、光学計測器が発信した光学信号である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を第１出力として出力する第１演算部と、入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて測距距離を算出し、目標物までの距離との誤差を第２出力として出力する第２演算部と、第１出力と第２出力とを所定の判定基準で比較した比較結果に基づいて、第１出力、第２出力、又は第１及び第２出力を組み合わせた第３出力を出力する比較部と、比較部の出力に応じて、光学信号が示す測距距離と既知である目標物までの距離との誤差を提示する提示部と、を備える。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
【００１６】
本発明の一側面に係るプログラムは、コンピュータを、入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力する手段、入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて所定の処理に関する演算を行い、第２出力を出力する手段、第１出力と第２出力とを所定の判定基準で比較した比較結果に基づいて、第１出力、第２出力、又は第１及び第２出力を組み合わせた第３出力を出力する手段、として機能させる。これによって、本発明に係るプログラムは、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
【００１７】
本発明の一側面に係る演算方法は、コンピュータが、入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力するステップと、入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて前記所定の処理に関する演算を行い、第２出力を出力するステップと、第１出力と第２出力とを所定の判定基準で比較した比較結果に基づいて、第１出力、第２出力、又は第１及び第２出力を組み合わせた第３出力を出力するステップと、を実行する。これによって、本発明に係る演算装置は、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完することができる。
【発明の効果】
【００１８】
本発明によれば、機械学習によってパラメータが変動するモデルと、パラメータが固定化されたモデルの特徴を相互に補完する技術を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の適用例を示す模式図である。
【図２】経路計画の演算方法を説明するための図である。
【図３】第１実施形態に係るロボットシステムのシステム構成例を示す模式図である    。
【図４】第１実施形態に係る演算装置のハードウェア構成を示す模式図である。
【図５】第１実施形態に係る演算装置の機能構成を示す模式図である。
【図６】学習データの概要を説明するための図である。
【図７】学習データの概要を説明するための図である。
【図８】サンプリングを行う領域を区分する学習を行う処理を説明するための図である。
【図９】コンフィギュレーション空間に対して領域を設定する処理を説明するための図である。
【図１０】第１実施形態に係る演算装置の処理の一例を説明するためのフローチャートである。
【図１１】第３実施形態に係る欠陥判定システムのシステム構成例を示す模式図である    。
【図１２】第３実施形態に係る演算装置の機能構成を示す模式図である。
【図１３】第４実施形態に係る演算装置の機能構成を示す模式図である。
【発明を実施するための形態】
【００２０】
以下、本発明の一側面に係る実施の形態（以下「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００２１】
§１  適用例  まず、図１を参照しながら、本発明が適用される場面の一例について説明する。図１は本発明に係る演算装置１０の構成の一例を示す図である。
【００２２】
詳細については後述するが、本発明に係る演算装置１０は、２つの演算部を有している。具体的には、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動するモデル（第１モデル）によって所定の演算を行う演算部（第１演算部１１３）と、入力データと出力データとの対応関係が固定化されたモデル（第２モデル）によって所定の処理に関する演算を行う演算部（第２演算部１２０）を有している。ここで、「モデル」とは、入力データと出力データとの関係を規定する関数を含み、ある入力データに対応する出力データを出力するための当該関数が、ソフトウェアもしくはハードウェア、または、これらを組み合わせにより表現されたものをいう。
入力データと出力データとの対応関係は例えば、「パラメータ」によって決定される。「パラメータ」とは、モデルに用いられる関数を決定する数値をいう。具体的には、パラメータは、モデルで表現される関数の組み合わせを決定する数値、関数に含まれる変数、及び、関数に含まれる係数等のうち少なくともいずれか１つである。モデルがニューラルネットワークである場合、パラメータは、ノード間の重み係数及びバイアスに該当し、パラメータである重み係数及びバイアスが学習により変動する（最適化される）ことになる。
すなわち、第１演算部１１３が演算に用いるモデルとは、学習用データを用いた機械学習を行うことでパラメータが変動し、入力データと出力データとの対応関係が変動するモデルである。第１演算部１１３は、パラメータが機械学習によって変動する第１モデルを用いて入力データに対する所定の処理に関する演算を行うことで、出力データ（第１出力）を出力する。また、第２演算部１２０が演算に用いるモデルとは、パラメータが固定化されており、入力データと出力データとの対応関係が変動しないモデルである。第２演算部１２０は、パラメータが固定化された第２モデルを用いて入力データに対する所定の処理に関する演算を行うことで、出力データ（第２出力）を出力する。
なお、「所定の処理」は、例えば多軸ロボットの経路計画や、ピックアンドプレース動作を行うことをタスクとするロボットの制御、検査対象における欠陥の有無の判定、目標物までの距離を計測する計測器のキャリブレーション等である。
【００２３】
演算装置１０に入力データが入力される（ＳＴＥＰ１）と、学習状況や周辺環境の変動等によって、入力データが入力される演算部の切り替えが行われる（ＳＴＥＰ２）。例えば、第１演算部１１３に設定するパラメータの学習が未完了である場合や、学習が完了している場合であっても、周辺環境の変動や入力データの種類の変動によって、入力データのパターンが未学習のものとなった場合には、第２演算部１２０に入力データが入力される。入力データのパターンが未学習であるか否かは、第１演算部１１３が入力データの演算を行う際の前提条件に変更があるか否かに基づいて判断される。すなわち、入力データの演算を行う際の前提条件に変更がある場合、入力データのパターンに対して未学習であると判断される。また、入力データの演算を行う際の前提条件に変更がない場合、入力データのパターンに対して学習済みである（未学習ではない）と判断される。前提条件に変更がある場合の例としては、例えば、入力データに含まれる障害物の位置が変更された場合、入力データに含まれる背景画像が変更された場合、又は、入力データが測定された環境が変更された場合等が挙げられる。
なお、このとき並行して第１演算部１１３にも入力データが入力されてもよい。他方で、学習済みの入力データが入力されている場合、第１演算部１１３に入力データが入力される。
【００２４】
演算装置１０の演算結果は、ロボット等の制御対象、演算結果の適否を評価する結果評価主体等である演算結果を利用する対象に対して出力される（ＳＴＥＰ３）。ここで、制御対象とは、例えばロボットであり、結果評価主体とは、例えばユーザ又は価装置等である。なお、評価装置を用いる場合、当該評価装置は演算装置１０の外部に設けられてもよいし、演算装置１０の内部に設けられてもよい。１演算部１１３及び第２演算部１２０の両方に入力データが入力されることで、第１演算部１１３及び第２演算部１２０の両方から出力データが出力される場合、演算装置１０は、第１演算部１１３の出力データと、第２演算部１２０の出力データとを所定の判定基準を用いて比較した比較結果に基づいて、第１演算部１１３の出力データ、第２演算部１２０の出力データ、又は、第１演算部１１３の出力データ及び第２演算部１２０の出力データを組み合わせた出力データを出力する。所定の判定基準は、第１演算部１１３及び第２演算部１２０が行う処理時間及び／又は処理精度によって定められる基準である。
演算装置１０から出力された演算結果に基づいて制御対象が制御された結果や、演算結果に対して結果評価主体が評価した結果は、演算装置１０にフィードバックされ（ＳＴＥＰ４）、第１演算部１１３が有するモデルの学習に用いられる。結果評価主体の評価した結果とは、例えば、ロボットの動作等の演算結果が、ユーザ又は評価装置等の予測より短いか長いかなどに基づいて行われる
【００２５】
このように、本発明に係る演算装置１０は、２種類の演算部を柔軟に切り替えて利用することによって、未学習の環境においては第２演算部１２０を用いることで学習中でも作業を継続することができる。他方で、学習済みの環境においては第１演算部１１３を用いることで、例えば実行時の演算時間や出力結果、生成コスト等の点でより優位な結果を得ることができる。なお、「未学習の環境」とは、当該環境においては、第１演算部１１３が所定の基準値以上のパフォーマンスで動作できない環境をいう。例えば、第１演算部１１３の学習が完了していない状況や、第１演算部１１３を再学習している状況、第１演算部１１３の出力が意図したものではない状況等である。他方、「学習済みの環境」とは、当該環境においては、第１演算部１１３が所定の基準値以上のパフォーマンスで動作できる環境をいう。例えば、第１演算部１１３の学習が完了している状況等である。
【００２６】
§２  構成例
[第１実施形態]
＜１．構成概要＞
本実施の形態では、本発明の一例として、複数の駆動軸を有する多軸ロボットの経路計画に対して学習を適用し、経路計画の演算時間を削減するとともに、滑らかで再現性の高い経路を生成する構成について説明する。
多軸ロボットの自動的な経路計画の手法として、後述のように、ランダムサンプリング法の一つである確率的ロードマップ法（Rapidly-Exploring Random Tree：ＲＲＴ）、ロードマップ法の一つである確率的ロードマップ（Probabilistic Road Map：ＰＲＭ）等がある。これらの手法は、初期姿勢Ｓ、目標姿勢Ｇ、作業条件Ｃが与えられたとき、経路計画の演算を行う空間内にランダムに点を配置し、作業条件を満たす点同士を結ぶことにより、経路を生成するものである。図２は、経路計画の演算を行う空間を構成する複数の次元のうち特定の２つの次元を用いて、初期姿勢Ｓ、目標姿勢Ｇ、作業条件Ｃ、点（×で示す）、点を結んで生成された経路（点線または一点鎖線）で示す図である。なお、点が互いに結ばれて形成されることで生成された経路について、スムージング処理に代表される最適化処理をさらに実行してもよい。ここで、経路計画を行う空間とは、例えば、ロボットが有する駆動軸の個数の次元数を有するコンフィギュレーション空間が挙げられる。
上述した手法は、所定の空間内にランダムに点を配置し、配置された複数の点の中から、ロボットが実行する作業の条件に見合った点を抽出し、次いで、抽出された点を互いに接続することで経路を生成するものである。すなわち、コンフィギュレーション空間に配置した点が、図２に示す障害物と干渉する場合には、当該点を削除し、障害物と干渉しない、すなわち作業条件Ｃを満たす点を互いに接続して、初期姿勢Ｓから目標姿勢Ｇまでの経路を生成するものである。このとき、点を配置する空間内をランダムに全探索するよりも、経路の演算に適した空間内の領域を探索する方が、経路計画の演算時間を削減でき、また、滑らかで再現性の高い経路を演算できる点で好ましい。よって、本構成例では、経路演算を行う空間を、経路の演算に適した領域に区分するように学習を行う。
【００２７】
まず、図３及び図４を参照しながら、本発明が係るロボットシステム１に適用される場合の構成概要について説明する。図３は、本実施形態に係るロボットシステム１の構成の一例を示す図である。同図に示すように、ロボットシステム１は、演算装置１０とロボット２０とを備える。また、ロボットシステム１は、図３や図４に示すように、撮像装置３０、角度検出装置４０、入力装置５０、出力装置６０等を備えてもよい。
【００２８】
演算装置１０は、ロボット２０が実行する作業の制約について規定した作業条件に基づいて、ロボット２０が初期姿勢から目標姿勢に移動する経路を演算する装置である。初期姿勢は、初期位置に置かれている対象物Ｗをつかむ際のロボット２０の姿勢である。目標姿勢は、対象物Ｗを目標位置に置く際のロボット２０の姿勢である。なお、初期姿勢、目標姿勢は、ロボット２０が実行する作業内容によって適宜設定されてよい。すなわち、ロボット２０の経路を演算するための動作開始時の姿勢を初期姿勢とし、動作終了時の姿勢を目標姿勢とすればよい。例えば、初期姿勢は、経路を演算するときのロボット２０の動作開始時の姿勢であってもよく、経路を演算する時点でのロボット２０の姿勢（現在姿勢）であってもよい。また、例えば、目標姿勢は、対象物Ｗを把持していないロボット２０が、対象物Ｗが置かれている位置まで移動する場合における対象物Ｗをつかむときの姿勢であってよい。
【００２９】
また、作業条件はロボット２０が対象物Ｗを第１の位置から第２の位置に搬送するときの条件を含むことができる。具体的には、作業条件は、搬送するときの条件として、対象物Ｗの姿勢に関する条件を含んでもよい。この場合、作業条件は、例えば、対象物Ｗの姿勢を、水平方向に対する所定の角度範囲で表すことができる。作業条件として、対象物Ｗの姿勢に関する制約が与えられることで、対象物Ｗが搬送される際に天地が逆転すること等を防ぐことができる。
【００３０】
また、作業条件としてロボット２０が配置される環境に関する条件を含んでもよい。環境に関する条件は、例えばロボット２０の周辺物（障害物）が存在する領域を示すことができる。この場合、作業条件は、ロボット２０の進入が禁止される領域を示すことになる。
【００３１】
なお、作業条件は、上記の例に限定されず、例えば、ロボット２０が対象物Ｗを第１の位置から第２の位置に搬送するときの速度に関する条件を含んでいてもよい。さらに、第１の位置、及び第２の位置は、それぞれ、対象物Ｗの初期位置、及び目標位置に限定されず、対象物Ｗの保持を開始してから、対象物Ｗの保持を終了するまでの間に含まれる任意の位置であってよい。経路を演算するための作業条件は、ロボット２０が実行する作業に応じて、適宜設定されてよい。例えば、ロボット２０が、ある目標姿勢まで移動するという作業を実行する場合には、作業条件として、目標姿勢まで移動するまでの時間、目標姿勢まで移動するときに生じるロボット２０を駆動するアクチュエータに生じる負荷、等の条件であってよい。
【００３２】
本実施形態において、演算された経路は、演算結果の利用対象であるロボット２０に対して出力される。ここでは、演算装置１０をロボット２０と別筐体として構成する例を示すが、これに限定されず、演算装置１０とロボット２０とが一体化された構成としてもよい。なお、演算結果としての経路は、必ずしも実在のロボット２０に対して出力されなくてもよく、例えば、シミュレータに対して出力されるものとしてもよい。一例として、後述する出力装置６０に対して、ロボット２０の仮想的なモデルと、演算結果としての経路とを出力し、当該出力装置６０でロボット２０の動作を再現するようにしてもよい。
【００３３】
なお、演算装置１０は、後述する、経路の生成及び出力に関する演算処理を実行する演算部、当該演算処理を実行させるための情報（プログラム、条件等を含む）を記憶する揮発性及び／又は不揮発性の記憶装置（記憶部、メモリ等を含む）、当該情報を取得するとともに演算処理の結果を出力するためのインタフェース、を少なくとも備えていればよい。すなわち、演算装置１０は、上述の各演算処理を実行する専用又は汎用の情報処理装置であれば足りる。また、ロボットシステム１は、演算装置１０に相当する構成を含むものであるから、上述の各演算処理を実行する構成を備える専用又は汎用の情報処理システムであれば足りる。
【００３４】
＜２．ハードウェア構成＞
図３を参照してロボット２０のハードウェア構成について説明する。ロボット２０は、例えば、六軸垂直多関節ロボットである。ロボット２０は、図３の例に示すように、台座２１と、第１リンク２２と、第２リンク２３と、第３リンク２４と、第４リンク２５と、第５リンク２６と、第６リンク２７と、エンドエフェクタ２８とを備える。
【００３５】
台座２１、第１リンク２２〜第６リンク２７及びエンドエフェクタ２８は、可動軸により一列に接続され、六軸垂直多関節ロボットを構成する。なお、ロボット２０は、六軸垂直多関節ロボットに限定されるものではなく、二つ以上の可動軸を有していればよい。ロボット２０は、例えば、五軸垂直多関節ロボット又は七軸垂直多関節ロボットでもよい。また、ロボット２０はハードウェアで構成される実在のロボットに限らず、シミュレータなどの、仮想的に構成されるロボットでもよい。
【００３６】
エンドエフェクタ２８は、対象物Ｗを把持する機構である。この機構は、対象物Ｗを把持することができればよく、図３の例に限定されない。例えば、エンドエフェクタ２８は、対象物Ｗを把持する代わりに、対象物Ｗを吸着する吸着パッド等でもよいし、対象物Ｗを載置する平面を有する平板状部材でもよい。さらに、エンドエフェクタ２８は、対象物Ｗを吊り下げた状態で把持してもよい。
【００３７】
撮像装置３０は、エンドエフェクタ２８に把持される対象物Ｗの画像を撮像するための装置である。撮像装置３０は、例えば、カメラである。撮像装置３０は、エンドエフェクタ２８に把持される対象物Ｗの画像を演算装置１０へ送信し、演算装置１０において対象物Ｗの初期位置や目標位置を算出する。或いは、撮像装置３０は、自身が有するプロセッサを使用してエンドエフェクタ２８に把持される対象物Ｗの画像に画像処理を施すことにより対象物Ｗの初期位置や目標位置を算出し、演算装置１０へ送信してもよい。初期位置は、ロボット２０により搬送される始点における対象物Ｗの位置である。目標位置は、ロボット２０により搬送される終点における対象物Ｗの位置である。
【００３８】
なお、初期位置及び目標位置は、それぞれ対象物Ｗの姿勢に関する情報を含んでいてよい。また、初期位置及び目標位置は、それぞれ、対象物Ｗを把持するエンドエフェクタ２８の位置と姿勢との少なくともいずれかの情報を含んでいてよい。
【００３９】
なお、ロボットシステム１は、角度検出装置４０を、撮像装置３０に換えて、又は、撮像装置３０に加えて有していてもよい。角度検出装置４０は、エンドエフェクタ２８に把持されている対象物Ｗの角度を検出する。角度検出装置４０は、例えば、加速度センサ、ジャイロセンサである。これらは、例えば、エンドエフェクタ２８に取り付けられる。エンドエフェクタ２８は、対象物Ｗを堅く把持している。このため、角度検出装置４０は、エンドエフェクタ２８の角度を検出することにより、対象物Ｗの角度を検出することができる。角度検出装置４０は、計測した対象物Ｗの角度を演算装置１０へ送信する。なお、角度検出装置４０が検出する対象物Ｗの角度の基準は、特に限定されない。角度検出装置４０は、例えば、鉛直方向を基準にする場合、鉛直方向に対するエンドエフェクタ２８の角度に基づいて、対象物Ｗの角度を検出する。
【００４０】
なお、角度検出装置４０は、対象物Ｗに取り付けられていてもよいし、第１リンク２２、第２リンク２３、第３リンク２４、第４リンク２５、第５リンク２６及びエンドエフェクタ２８の少なくとも一つに取り付けられていてもよい。例えば、角度検出装置４０が、第４リンク２５、第５リンク２６及びエンドエフェクタ２８各々に取り付けられている場合には、角度検出装置４０は、第４リンク２５の第３リンク２４に対する回転角度、第５リンク２６の第４リンク２５に対する回転角度及びエンドエフェクタ２８の第５リンク２６に対する回転角度を計測し、所定の演算処理（例えば、順運動学による演算）を行うことにより、エンドエフェクタ２８に把持されている対象物Ｗの角度を検出する。
【００４１】
図４は、本実施形態における演算装置１０のハードウェア構成の一例を示すブロック図である。演算装置１０は、ロボット２０の経路を演算する装置であり、同図に示すとおり、本実施形態では、外部インタフェース１１と、記憶部１２と、制御部１５とを備える。また、演算装置１０は、ドライブ１３を備えてもよい。
【００４２】
外部インタフェース１１は、外部機器を演算装置に接続するためのインタフェースである。図４に示す例において、外部インタフェース１１は、ロボット２０、撮像装置３０、角度検出装置４０、入力装置５０及び出力装置６０と、演算装置とを電気通信かつ情報通信可能に接続する。外部インタフェース１１は、対象物Ｗの初期位置及び目標位置を取得するための取得部としての機能を有する。外部インタフェース１１は、例えば、ユーザ又は評価装置等が入力装置５０を使用して入力した対象物Ｗの初期位置及び目標位置を取得する。例えば評価装置が入力装置５０を使用して入力する場合には、３Ｄセンサ等から出力された結果に基づいて得られた姿勢を入力することが可能である。或いは、外部インタフェース１１は、撮像装置３０からエンドエフェクタ２８に把持された対象物Ｗの画像を取得する。
【００４３】
外部インタフェース１１は、初期位置とともに、又は、初期位置に加えて、初期位置に置かれている対象物Ｗを掴む際のロボット２０の姿勢（初期姿勢）を取得してもよい。また、外部インタフェース１１は、目標位置とともに、又は、目標位置に加えて、対象物Ｗを目標位置に置く際のロボット２０の姿勢（目標姿勢）を取得してもよい。また、外部インタフェース１１は、角度検出装置４０から計測した対象物Ｗの角度を取得し、記憶部１２に格納してもよい。また、外部インタフェース１１は、さらに、ロボット２０の現在の姿勢（現在姿勢）を取得するように構成されていてもよい。なお、外部インタフェース１１が取得するロボット２０の姿勢とは、ロボット２０の複数の可動軸に対応して設けられ、ロボット２０の可動軸の回転角度に関する情報を検出するエンコーダ値であってもよく、演算装置の内部で、取得したエンコーダ値に基づく純運動学計算により算出されてもよい。
【００４４】
一般に、ロボットの姿勢は、コンフィギュレーション空間（Configuration  Space）内の点として表現することができる。コンフィギュレーション空間とは、経路計画を行う際に使用されるベクトル空間である。コンフィギュレーション空間に点を置くことをサンプリングということもある。経路計画とは、障害物の位置、スタート及びゴールが与えられたコンフィギュレーション空間内において、スタートからゴールまでを結ぶ経路を生成することである。コンフィギュレーション空間は、ロボットが有する可動軸の数と同数の次元を持つ。コンフィギュレーション空間のある一点は、ロボットが有する可動軸の個数と同じ個数の値により定義され、各可動軸の値は、ロボットの各可動軸周りの回転角度を表す。なお、コンフィギュレーション空間は、ロボットの経路計画の分野においては、関節空間と呼ばれることがある。なお、経路計画を行う空間として実空間に基づく絶対座標空間を用いてもよい。
【００４５】
本実施形態のように、ロボット２０として六軸垂直多関節ロボットを用いる場合、コンフィギュレーション空間は、六次元ベクトル空間となる。ロボット２０のコンフィギュレーション空間の各可動軸の値は、それぞれ第１リンク２２の台座２１に対する回転角度、第２リンク２３の第１リンク２２に対する回転角度、第３リンク２４の第２リンク２３に対する回転角度、第４リンク２５の第３リンク２４に対する回転角度、第５リンク２６の第４リンク２５に対する回転角度及び第６リンク２７の第５リンク２６に対する回転角度を表す。制御部１５は、経路を生成する演算処理において、各可動軸の回転角度に関するデータ（ロボット２０に設けられたエンコーダの検出値）を、外部インタフェースを用いて取得し、順運動学に基づいて、ロボット２０又はその仮想モデルの位置、姿勢を演算する。また、制御部１５は、コンフィギュレーション空間を用いて、ロボット２０の初期姿勢を決定する点の各座標の値及びロボット２０の目標姿勢を決定する点の各座標の値を演算してよい。なお、制御部１５は、外部インタフェース１１の取得部としての機能を用いて、コンフィギュレーション空間におけるロボット２０の初期姿勢及び／又は目標姿勢を決定するための点の各座標の値を取得してもよい。
【００４６】
また、外部インタフェース１１は、後述する第１演算部１１３及び第２演算部１２０によって生成された経路をロボット２０又は出力装置６０へ出力するための出力部としての機能を有する。
【００４７】
記憶部１２は、例えば、揮発性メモリ、不揮発性メモリ、ハードディスクドライブ（Hard  Disc  Drive：ＨＤＤ）によって構成される。記憶部１２には、作業条件の初期値や、経路を使用するロボット２０に関する条件（例えば、台座及び各リンクの形状に関する情報、可動軸に関する情報（例えば、回転可能な角度、速度、加速度に関する情報）等である。）、経路を生成するための演算処理を、制御部１５に実行させるためのプログラム等が格納されている。
【００４８】
ドライブ１３は、演算装置１０に挿入された記憶媒体１４を駆動する。記憶媒体１４に対象物Ｗの初期位置及び目標位置が記憶されている場合、演算装置１０は、記憶媒体１４から対象物Ｗの初期位置及び目標位置を取得してもよい。このとき、ドライブ１３は、対象物Ｗの初期位置及び目標位置を取得するための取得部として機能する。
【００４９】
記憶媒体１４は、記憶部１２の代わりに、必要なデータを記憶する媒体として用いることができる。また、記憶媒体１４は、記憶部１２の代わりに、ソフトウェアプログラムを記憶することができる。記憶媒体１４は、例えば、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＬＤ、光磁気ディスク、メモリーカードである。
【００５０】
制御部１５は、ハードウェアプロセッサとしてのＣＰＵ（Central  Processing  Unit）１５１と、ＲＡＭ（Random  Access  Memory）１５２と、ＲＯＭ（Read  Only  Memory）１５３とを備える。
【００５１】
ＣＰＵ１５１は、記憶部１２に格納されたソフトウェアプログラムを読み出して実行するプロセッサである。ＣＰＵ１５１は、例えば、記憶部１２に格納されたプログラムを読み出し、これらのプログラムをＲＡＭ１５２又はＲＯＭ１５３に格納し、これらのプログラムを実行する。ＣＰＵ１５１がこれらのプログラムを実行することで、後述する学習部１１０、第２演算部１２０、環境変動認識部１３０、切替部１４０及び比較部１５０が実現される。
【００５２】
入力装置５０は、ロボットシステム１へ指示や設定を入力するための装置であり、例えば、マウスやキーボードによって構成される。ユーザが入力装置５０に対して入力した指示や設定は、演算装置１０の制御部１５へ送信される。
【００５３】
出力装置６０は、例えば、ディスプレイであり、演算装置１０が生成した経路をユーザに対して出力する。
【００５４】
なお、演算装置１０は、演算処理の結果に基づいて、作業条件を満たす経路を生成するように構成されていればよい。したがって、演算装置１０は、作業条件を満たす経路を生成する処理を実行するハードウェアプロセッサと、ハードウェアプロセッサに対して、作業条件を満たす経路を生成する処理を実行させるためのソフトウェアプログラムを格納する揮発性メモリ及び不揮発性メモリの少なくともいずれか一方と、作業条件を外部から取得するための外部インタフェースと、を少なくとも備えてればよい。
【００５５】
＜３．演算装置１０の機能構成＞
次に図５を参照して、演算装置１０の機能構成について説明する。図５は本実施形態に係る演算装置１０の機能構成の一例を示すブロック図である。図５に示すように演算装置１０は、学習部１１０と、第２演算部１２０と、環境変動認識部１３０と、切替部１４０と、比較部１５０とを有している。なお、本実施形態では一例として、学習部１１０と、第２演算部１２０と、環境変動認識部１３０と、切替部１４０と、比較部１５０とが演算装置１０において一体化された例を説明するがこれに限定されない。学習部１１０と、第２演算部１２０と、環境変動認識部１３０と、切替部１４０と、比較部１５０とはそれぞれ別筐体として構成されてもよい。例えば、学習部１１０を、その他の構成と別筐体に構成すると、ある作業を行わせるための演算処理を行う第２演算部１２０に、同じ作業を行う能力を学習によって獲得する学習部１１０を後から追加できるように構成できるので好ましい。
【００５６】
学習部１１０は、機械学習によって、経路計画を行う空間上で経路を生成するための点のサンプリングを行う領域を学習し、学習済みのモデルを用いて経路の生成を行う。図５に示すように学習部１１０は、状態データベース１１１と、学習実行部１１２と、第１演算部１１３とを有している。
【００５７】
状態データベース１１１は、学習実行部１１２が学習を行うための学習データが格納されている。本構成例において、状態データベース１１１は、経路を構成する点の空間内の座標に関する情報と、経路計画の演算を行ったときの作業条件とを関連付けて、学習データとして保持している。状態データベース１１１に保持されている学習データの概要を図６および図７に示す。図６は、過去に演算された経路を構成する点を、経路演算を行う空間の次元から特定の２次元を用いた座標上にプロットした模式図である。図７は、学習データの内容の概略を示す表である。図７に示すように、学習データは、過去に演算された経路を構成する点の空間内での座標、および、経路演算を行ったときに使用された作業条件の空間内での座標を示している。ここで作業条件とは、例えば、経路を演算するときの障害物の位置を示し、図７は、空間上で障害物が占める領域を示す座標が記載されている。作業条件が与えられた状態で演算された経路を構成する点は、この作業条件を満たす。したがって、図７に示すように、各点は、障害物が占める領域以外に設けられ、障害物を示す領域の座標と重複しない。
状態データベース１１１に保持される学習データは、後述する第１演算部１１３や第２演算部１２０が行った経路計画に関する情報に基づいて構成されたり、また、第１演算部１１３や第２演算部１２０が行った経路計画に関する情報に基づいて更新されたりしてよい。さらに、学習データは、当該経路計画で生成された経路に基づいてロボット２０が制御された経路の情報に基づいて構成されたり、ロボット２０が通過した実際の経路を示す情報に基づいて更新されたりしてよい。ロボット２０が制御された経路の情報は、ロボット２０のアクチュエータ（モータ）の駆動量（回転量）を所定の間隔で取得することにより生成すればよい。例えば、経路を演算する空間を構成する次元に対応したモータの回転量を、各モータの回転量を測定するエンコーダにより測定し、経路の情報を生成すればよい。このとき、学習データに含まれる点を示す情報は、過去に演算された経路に基づく情報であって、スムージング処理がされた経路に基づく情報であることが好ましい。
【００５８】
本実施の形態において、学習部１１１は、生成する経路の探索を行う空間を、経路の演算に適した領域、すなわち、経路を構成する点を探索する領域（サンプリング領域）に区分する学習を行う。すなわち、学習部１１１は、初期姿勢Ｓ、目標姿勢Ｇ、作業条件Ｃを含む入力データとし、経路を構成する点を探索する領域に関する情報を出力データとして出力する学習済みモデルを生成する。第１演算部１１３は、学習済みモデルを表現するパラメータを用いて、入力データに応じて経路の探索を行う領域を区分し、区分された領域に対して点を探索することで、経路計画の演算を実行する。これにより、第１演算部は、第２演算部と比較して、経路探索にかかる時間を削減することができる。また、第２演算部が生成する経路よりも滑らかで、再現性の高い経路を算出することができる。
【００５９】
学習実行部１１２は、機械学習によって経路を生成するための点のサンプリング領域を区分する学習を行う。図８に示すように、本構成例において、学習実行部１１２は、学習データに基づいて、コンフィギュレーション空間内において、サンプリングを行う領域を区分する学習を実行する。すなわち、学習データに基づいて、学習データに含まれる点を複数のカテゴリに分類またはクラスタリングし、分類またはクラスタリングされた各カテゴリに含まれる複数の点を包含するように領域を生成する。図８では、学習データに含まれる点を４つのカテゴリに分け、各カテゴリに含まれる点を包含するようにＡ１〜Ａ４の領域を生成した場合を示している。分類またはクラスタリングする手法は、既知の手法を用いることが可能である。例えば、クラスタリング手法として、ＧＭＭ（混合ガウスモデル）やＫ−ｍｅａｎｓ等を用い、学習データに含まれる点を複数のカテゴリに分けることができる。これによって、経路計画を生成する際に、点（ノード）の探索範囲が絞られるため、演算時間を短くすることができる。
【００６０】
なお、学習実行部１１２による学習は、ＧＭＭ、Ｋ−ｍｅａｎｓ法を用いた学習に特に限定されない。例えば、コンフィギュレーション空間を等間隔に分割し、過去の経路計画の演算で設定された点を、作業条件を満たすか否かによらず学習データとして収集する。収集した学習データに基づいて、当間隔に分割された領域毎に、最終的に経路を生成する点として利用された点の出現確率を算出する。学習部１１１は、この出現確率が高い領域を出力する学習を実行してもよい。このとき、第１演算部１１３は、出現確率が高い順に、１または複数の点を設定し、経路を生成してよい。
【００６１】
第１演算部１１３は、学習実行部１１２が生成した、入力データに応じてコンフィギュレーション空間を経路探索に適した領域に区分する学習済みモデルを用いて経路計画を行う。このとき第１演算部１１３は、学習実行部１１２によって生成された学習済みモデルを示す学習済みパラメータを用いて、コンフィギュレーション空間を、経路探索に適した領域に区分する。より具体的には、図９に示すように、第１演算部１１３は、学習済みパラメータに基づいて、コンフィギュレーション空間に対して領域を設定する。さらに、第１演算部１１３は、学習済みパラメータを用いて区分されたコンフィギュレーション空間内の領域のそれぞれについて、１または複数の点を設定し、各領域に設定された１または複数の点を、初期姿勢Ｓとの絶対距離が近い点から順に、目標姿勢Ｇまで接続することで経路を生成する。ここで、第１演算部１１３が用いる学習済みモデルに対応する学習済みパラメータは、学習実行部１１２の学習の進捗状況や、学習に用いた学習データのバリエーションに応じて変動する。第１演算部１１３は、経路計画に関する情報を後述する比較部１５０へ出力する。ここで、経路計画に関する情報とは、ロボット２０の関節角度の時系列データ等により表現される経路、経路を生成するまでに要した時間、演算時間や、経路生成の成功率、各演算部で演算した経路の滑らかさ、再現率の高さ等をいう。なお、再現率とは、作業条件が同一で、初期姿勢及び目標姿勢が近しい条件での経路計画において、生成された経路のコンフィギュレーション空間上における座標の近さをいう。
なお、第１演算部１１３が、学習済みモデルによって区分された領域を、経路の演算にどのように利用するかは特に限定されない。例えば、区分された領域の平均の座標を示す点をサンプリングする点としてよい。このとき、区分された領域の平均の座標同士を接続する線分が作業条件を満たすか否かを判別し、作業条件を満たした場合に、入力された初期姿勢および目標姿勢を示す点と当該線分構成する点、との接続の可否を、ダイクストラ法等により判定して、経路を生成してよい。
【００６２】
第２演算部１２０は、パラメータが固定化されたモデルに基づいて経路計画を行い、ロボット２０を制御する。すなわち第２演算部１２０が経路計画の実行に用いるモデルは機械学習によってパラメータを獲得するモデルではなく、ユーザが事前に設定したアルゴリズム等の非学習のモデルである。例えば第２演算部１２０は、ＲＲＴ（Rapidly-Exploring Random Tree）、ＰＲＭ（Probabilistic Roadmap）、等の手法に基づいて経路計画を行う。第２演算部１２０は、経路計画に関する情報を後述する比較部１５０へ出力する。また、第２演算部１２０が行った経路計画に関する状態データベース１１１へと格納される。  
【００６３】
比較部１５０は、第１演算部１１３と第２演算部１２０とから出力された経路計画に関する情報を比較し、比較結果を切替部１４０へと出力する。例えば、比較部１５０は、第１演算部１１３が出力した第１の経路の長さと、第２演算部１２０が出力した第２の経路の長さとを比較する。また、例えば、比較部１５０は、比較結果を生成するための判定基準として、各演算部で経路を演算するのに要した演算時間、経路生成の成功率、各演算部で演算した経路の滑らかさ、再現率の高さ等に基づいて、第１演算部１１３と第２演算部１２０とから出力された経路計画に関する情報を比較した比較結果を生成することができる。なお、比較部１５０は、各演算部が生成した経路に基づいてロボット２０の動作をシミュレートした結果を用いて比較結果を生成してもよい。また比較部１５０は、各演算部によって生成された経路に基づいて実際にロボット２０が制御された結果（制御結果）を取得して、比較結果を生成してもよい。
【００６４】
比較部１５０は、比較結果に基づいて、いずれの演算部が生成した経路を用いるかを選択し、選択した経路を外部インタフェース１１を介してロボット２０へ出力する。このとき制御部１５（図４参照）が出力された経路に基づいてロボット２０が動作するように、ロボット２０を制御する構成でもよい。
【００６５】
例えば、比較部１５０は、第１演算部１１３と第２演算部１２０とが生成したそれぞれの経路のうち、演算時間が短かった一方の経路や、経路が滑らかの一方の経路をロボット２０に対して出力することができる。また、比較部１５０は、第１演算部１１３が出力した経路と第２演算部１２０とが生成した経路を組み合せた経路をロボット２０に対して出力することができる。例えば、比較部１５０は、第１演算部１１３が生成した第１の経路と第２演算部１２０とが生成した第２の経路との平均をとった経路を生成したり、第１の経路と第２の経路とのそれぞれを所定の区間に分けた場合において、各区間で相対的に滑らかな経路を接続することで、第１の経路と第２の経路とを組み合わせた経路をロボット２０に対して出力することができる。なお、比較部１５０は、比較結果に基づいて第１演算部１１３と第２演算部１２０のいずれかが生成した経路計画をロボット２０に出力してもよい。なお、ロボット２０へ出力する経路の選択はユーザが手動で行ってもよい。
【００６６】
ロボット２０が出力された経路計画に基づいて動作した結果である制御結果は、学習データとして状態データベース１１１に入力される。
【００６７】
環境変動認識部１３０は、入力データに基づいて、ロボット２０の経路計画を行うにあたり、第１演算部１１３と第２演算部１２０との間の優先度を決定するための切替情報を出力する。入力データは、ロボット２０の初期姿勢及び目標姿勢の他、障害物の有無等の環境画像データを含む。ここで、障害物の有無等の環境画像データは、ロボット２０の経路計画を行うときの作業条件に関連するデータである。環境変動認識部１３０は、入力データに基づいて、障害物の有無や障害物の位置の変動等を認識し、切替情報を生成する。例えば、環境変動認識部１３０は障害物の位置が学習部１１０において学習済みの位置である場合、すなわち、経路の演算を行うときの作業条件の変動がない場合には、第１演算部１１３を優先的に使用することを示す切替情報を生成し、他方で、障害物の位置が学習部１１０において未学習の位置である場合、すなわち、経路の演算を行うときの作業条件に変動がある場合には、第２演算部１２０を優先的に使用することを示す切替情報を生成する。障害物の位置の変動は、例えば、障害物が撮影された画像を入力データとして取得し、今回の入力データの画像と、前回の入力データの画像との差分から、パターンマッチング等の所定の画像処理により、認識することができる。なお、環境変動認識部１３０は、ユーザの任意の入力に基づいて、切替情報を生成するか否かを切替えられるようにしてもよい。このように、学習部１１０で学習を行ったときの条件とは異なる条件（未学習のパターン）が入力された場合に、第１演算部１１３と第２演算部１２０とのいずれを使用するかを示す切替情報を生成する。
【００６８】
切替部１４０は、切替情報及び／又は比較結果に対応するように入力データの入力先を、第１演算部１１３、第２演算部１２０、及びその両方のうちのいずれかに切り替える。例えば、切替情報において、第１演算部１１３を優先することが示されている場合には、切替部１４０は、入力先を第１演算部１１３に切り替える。また、切替情報において、第１演算部１１３を優先することが示されている場合であっても、比較結果において、第２演算部１２０の方が評価が高い場合には、入力先を第１演算部１１３、及び第２演算部１２０の両方としてもよい。
【００６９】
さらに、切替部１４０は、学習部１１０の学習の進捗状況に応じて、入力先を切り替える構成でもよい。具体的には、学習部１１０の学習が未完了の場合には、入力先を第２演算部１２０に切り替えることができる。学習が完了した場合とは、例えば、ユーザが予め設定した経路計画の回数分の学習データを収集したうえで、当該学習データに基づいて、コンフィギュレーション空間が所定の領域に区分された場合において、当該領域の中心の座標の変動が、予め定められた閾値未満に収束した場合等であってもよい。
【００７０】
＜４．動作フロー＞
図１０を用いて、本実施形態に係る演算装置１０の処理の流れについて説明する。図１０は、演算装置１０の処理フローの一例を示すフローチャートである。
【００７１】
まず、演算装置１０は、第２演算部１２０を用いて経路計画を行い（Ｓ２０１），生成された経路に基づいてロボット２０の制御を行う（Ｓ２０２）。このとき、第２演算部１２０が演算した経路計画に関する情報、ロボット２０が動作した経路の情報である制御結果の少なくともいずれか一方が、状態データベース１１１に格納される（Ｓ２０３）。
【００７２】
学習部１１０では、状態データベース１１１に格納された経路計画に関する情報や制御結果を学習データとして学習が実行される。学習部１１０での学習が完了する（Ｓ２０４）まで、演算装置１０は、第２演算部１２０を用いて経路計画を行い続ける。
【００７３】
学習部１１０での学習が完了する（Ｓ２０４：ＹＥＳ）と、切替部１４０によって入力データの入力先が第１演算部１１３に切り替えられ、第１演算部１１３によって経路計画が行われる（Ｓ２０５）。なお、学習部１１０での学習が完了するまでの間、切替部１４０は第１演算部１１３と第２演算部１２０との両方に入力データを入力することが好ましい。この場合、比較部１５０は、第１演算部１１３と第２演算部１２０とが行った経路計画に関する情報を比較して比較結果を生成する。切替部１４０は、生成された比較結果に基づいて、学習部１１０での学習が完了したか否かを判定し、入力データの入力先の切り替えを行うことができる。
【００７４】
次に演算装置１０は、環境変動認識部１３０において、ロボット２０の稼働領域に障害物が置かれたり、その位置が変動する等、環境に変動したか否かを判定する（Ｓ２０６）。環境が変動している場合（Ｓ２０６：ＹＥＳ）には、環境変動認識部１３０は、第２演算部１２０を優先度が高いことを示す切替情報を生成する。
【００７５】
切替部１４０は切替情報に基づいて切替先を選択する（Ｓ２０７）。この場合、切替部１４０は入力データの入力先として、第１演算部１１３と第２演算部１２０との両方を選択することが好ましいが、第２演算部１２０のみを選択してもよい。
【００７６】
切替部１４０が入力先を切り替えると、選択された演算部（第２演算部１２０、または第１演算部１１３、第２演算部１２０の両方）において経路計画が行われる（Ｓ２０８）。Ｓ２０６からＳ２０８までの処理が、作業が終了する（Ｓ２０９）まで繰り返し実行される。
【００７７】
＜５．効果＞
このように、本実施形態に係る演算装置１０によると、学習によって変動するパラメータを用いるモデルによって経路計画を行う第１演算部１１３と、固定化されたパラメータを用いるモデルによって経路計画を行う第２演算部１２０とを柔軟に切り替えて利用することができる。これによって、未学習の環境においては第２演算部１２０を用いることで学習中でも作業を継続することができる。他方で、学習済みの環境においては第１演算部１１３を用いることで例えば実行時の演算時間や出力結果、生成コスト等の点でより優位な結果を得ることができる。
【００７８】
[第２実施形態]
第１実施形態では、演算装置１０がロボットのモーションプランニングに用いられる例について説明した。しかし、演算装置１０が適用される装置は、第１実施形態に示した例に限定されず、種々の装置に適用することができる。本実施形態では、ピックアンドプレース動作を行うことをタスクとする、ロボットの制御に適用する例について説明する。
【００７９】
本実施形態に係るタスクであるピックアンドプレース動作は、ロボット２０によって以下の手順で行われる動作をいう。なお、本実施形態では、以下の手順２から４については、ロボット２０にあらかじめ動作をプロブラムしておくことで実行される。
１．ワーク形状を認識して把持する。
２．把持したワークを持ち上げる。
３．ワーク形状に応じた所定の位置へ持ち上げたワークを移動させる。
４．ワーク形状ごとに筒内に積み上げる。
【００８０】
演算装置１０は、手順１について、例えば撮像装置３０（図３参照）によってワークが撮像された対象画像を解析することで、ロボット２０に対して、ワークの位置や角度に関する情報を出力する。図５を再度参照して、第２実施形態に係る演算装置１０の機能について、第１実施形態との差異点を中心に説明する。
【００８１】
本実施形態では、入力データとして対象画像が与えられる。第１演算部１１３はＤＮＮ（Deep Learning Neural Network）やＣＮＮ（Convolution Neural Network）を用いて対象画像の解析（特徴抽出）を行い、ワークの位置や角度を示す検出結果を出力する。学習実行部１１２においては、状態データベース１１１に格納された学習データに基づいて、第１演算部１１３に設定するパラメータの学習を行う。
【００８２】
他方、第２演算部１２０は、コーナー検出等によって対象画像の特徴抽出を行い、検出結果を出力する。
その他の構成や機能は第１実施形態と同様である。
【００８３】
[第３実施形態]
本実施形態では、演算装置１０は、検査対象を撮像して生成される入力画像に対して画像解析を行うことで、検査対象における欠陥の有無を判定する欠陥検査システム２において用いられる。
【００８４】
図１１は、本実施形態に係る欠陥検査システム２の適用場面の一例を示す模式図である。図１１に示されるとおり、欠陥検査システム２は、例えばベルトコンベア３上を搬送される検査対象であるワーク４を撮像して得られる入力画像に対して画像計測処理を実行することで、ワーク４の外観検査または外観計測を実現する。以下の説明においては、画像計測処理の典型例として、ワーク４表面における欠陥の有無の検査などに適用した例を説明するが、これに限らず、欠陥の種類の特定や外観形状の計測などにも応用が可能である。
【００８５】
ベルトコンベア３の上部には撮像装置３０が配置されており、撮像装置３０の撮像視野６はベルトコンベア３の所定領域を含むように構成される。撮像装置３０の撮像により生成された画像データ（以下、「入力画像」ともいう。）は、演算装置１０へ送信される。撮像装置３０による撮像は、周期的またはイベント的に実行される。
【００８６】
演算装置１０は、上位ネットワーク８を介して、ＰＬＣ（プログラマブルコントローラ）７０およびデータベース装置８０などと接続されている。演算装置１０における計測結果は、ＰＬＣ７０および／またはデータベース装置８０へ送信されてもよい。なお、上位ネットワーク８には、ＰＬＣ７０およびデータベース装置８０に加えて、任意の装置が接続されるようにしてもよい。
【００８７】
演算装置１０は、処理中の状態や計測結果などを表示するためのディスプレイ１０４と、ユーザ操作を受付ける入力部としてのキーボード１０６およびマウス１０８とが接続されていてもよい。
【００８８】
図１２を参照して本実施形態に係る演算装置１０の機能構成について第１実施形態との差異点を中心に説明する。本実施形態では、入力データとして入力画像が与えられる。第１演算部１１３はＤＮＮやＣＮＮを用いて入力画像を解析し、ワーク４における欠陥有無を判定する。学習実行部１１２は、状態データベース１１１に格納された学習データに基づいて学習を行うことにより、入力画像から欠陥として検出する特徴をパラメータとして獲得する。獲得したパラメータは、第１演算部１１３に設定される。
【００８９】
他方、第２演算部１２０は微分フィルタ等を用いて入力画像から欠陥として検出する特徴を解析することで欠陥の有無を判定する。
【００９０】
また、比較部１５０は、本実施形態では、比較結果に基づいて、第１演算部１１３と第２演算部１２０のうちいずれの判定結果を採用するかを選択し、選択した判定結果を外部インタフェース１１１を介してユーザ又は評価装置等に提示する。このとき、ユーザ又は評価装置等は比較部１５０に提示された判定結果の適否を評価し、フィードバックを状態データベース１１１に格納することが好ましい。例えば、評価装置が、時間計測が可能な場合には、第１演算部１１３と第２演算部１２０との処理時間を計測して比較してもよい。また、例えば評価装置が、既存技術により欠陥判定の精度を計測可能である場合には、第１演算部１１３と第２演算部１２０との欠陥判定の精度（例えば正答率であってよい）を計測して比較してもよい。
【００９１】
さらに、本実施形態では、環境変動認識部１３０は、入力データ（入力画像）に基づいて、入力画像における背景画像の変動や照明条件の変動を認識して、切替情報を生成する。
その他の構成や機能は第１実施形態と同様である。
【００９２】
[第４実施形態]
本実施形態では、演算装置１０は、目標物までの距離を計測する計測器のキャリブレーションに用いられる。図１３は本実施形態に係る演算装置１０の機能構成の一例を示す図である。図１３を参照して本実施形態に係る演算装置１０の機能構成について第１実施形態との差異点を中心に説明する。
【００９３】
本実施形態では、入力データとしてＴｏＦ(Time of Flight)やＬＩＤＡＲ（Light Detection and Ranging）等の光学計測器が目標物との距離（既知）を測定するために発信した光学信号が与えられる。このとき目標物との距離（目標測距距離）は既知である。演算装置１０は、目標測距距離に対する、光学信号に基づいて算出される測距距離のばらつきを算出する。光学計測器は算出されたばらつきに基づいてキャリブレーションを行う。
なお、この光学信号の波形は状態データベース１１１に学習データとして格納される。
【００９４】
第１演算部１１３はＲＮＮ（Recurrent Neural Network）やＣＮＮを用いて波形の形状を解析し、目標測距距離に対する測距距離の誤差値を判定する。第１演算部１１３は判定した誤差値を計測結果として比較器１５０に出力する。
【００９５】
学習実行部１１２は、状態データベース１１１に格納された光学信号の波形と、当該波形において第２演算部１２０が判定した誤差値とを学習データとして学習を行うことにより、波形形状と誤差値との相関関係をパラメータとして獲得する。獲得したパラメータは、第１演算部１１３に設定される。
【００９６】
他方、第２演算部１２０はＦＦＴ等、既存のキャリブレーションの手法によって、目標測距距離に対する測距距離の誤差を判定する。例えば、第２演算部１２０は、光学信号からノイズを除去したうえで波形から特徴点を抽出することで、測距距離を算出し、誤差を判定する。第２演算部１２０は判定した誤差値を計測結果として比較器１５０に出力する。
【００９７】
比較部１５０は、第１演算部１１３が出力した計測結果における、第２演算部１２０が出力した計測結果に対するずれ幅に基づいて、第１演算部１１３と第２演算部１２０のうちいずれの計測結果を採用するかを選択し、選択した計測結果をユーザ又は評価装置等に提示する。例えば、ずれ幅が一定範囲以内である場合には、学習実行部１１２による学習が完了したと考えられる。この場合、比較部１５０は、第１演算部１１３の計測結果をユーザ又は評価装置等に提示する。ユーザ又は評価装置等は比較部１５０に提示された計測結果の適否を評価し、フィードバックを状態データベース１１１に格納することが好ましい。
【００９８】
さらに、本実施形態では、環境変動認識部１３０は、目標測距距離の変動に基づいて、切替情報を生成する。例えば、目標測距距離が変化した場合には、環境変動認識部１３０は、第２演算部１２０の優先度が高いことを示す切替情報を生成することが好ましい。
その他の構成や機能は第１実施形態と同様である。
【００９９】
以上、本発明の実施の形態を詳細に説明してきたが、上述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力する第１演算部（１１３）と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて前記処理に関する演算を行い、第２出力を出力する第２演算部（１２０）と、
前記第１出力と前記第２出力とを所定の判定基準で比較した結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部（１５０）と、
を備える演算装置（１９）。
（付記２）
前記第１モデルのパラメータを学習し、学習した当該パラメータを前記第１モデルに設定する学習部（１１０）、
をさらに備える、付記１に記載の演算装置（１０）。
（付記３）
前記学習部（１１０）は、前記第２出力に基づいて前記第１モデルのパラメータを学習し、学習した当該パラメータを前記第１モデルに設定する、
付記２に記載の演算装置（１０）。
（付記４）
前記比較部（１５０）は、
前記学習部（１１０）において前記第１モデルのパラメータの学習が完了するまで前記第２出力を出力する、
付記３に記載の演算装置（１０）。
（付記５）
前記第１演算部（１１３）が前記入力データに対して学習済みであるか否かを検出し、前記第１及び前記第２演算部（１１３、１２０）のうちいずれを利用するかを示す切替情報を生成する環境変動認識部（１３０）と、
前記切替情報に基づいて、前記第１及び前記第２演算部のうちいずれに前記入力データを入力するかを切り替える切替部（１４０）と、
をさらに備える付記１乃至４の何れか一項に記載の演算装置（１０）。
（付記６）
前記環境変動認識部（１３０）は、前記第１演算部（１１３）が前記入力データに対して学習済みであるか否かを、前記第１演算部（１１３）が前記入力データの演算を行う際の前提条件に変更があるか否かに基づいて判断する、
付記５に記載の演算装置（１０）。
（付記７）
ロボット（２０）の初期姿勢と目標姿勢とを含む入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて経路計画を行い、当該経路計画において生成された経路を第１出力として出力する第１演算部（１１３）と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて経路計画を行い、当該経路計画において生成された経路を第２出力として出力する第２演算部（１２０）と、
前記第１出力と前記第２出力との比較結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部（１５０）と、
前記比較部（１５０）の出力に応じて、前記ロボット（２０）を前記初期姿勢から前記目標姿勢へと制御する制御部（１５）と、
を備える演算装置（１０）。
（付記８）
ロボット（２０）が把持する対象物（Ｗ）を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、解析結果を第１出力として出力する第１演算部（１１３）と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて画像解析を行い、解析結果を第２出力として出力する第２演算部（１２０）と、
前記第１出力と前記第２出力とを所定の判定基準で比較した比較結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部（１５０）と、
前記比較部（１５０）の出力に応じて、前記対象物（Ｗ）を把持するように前記ロボット（２０）を制御する制御部（１５）と、
を備える演算装置（１０）。
（付記９）
検査対象（４）を撮像した画像である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、前記検査対象（４）における欠陥の有無を判定した結果である判定結果を第１出力として出力する第１演算部（１１３）と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて画像解析を行い、判定結果を第２出力として出力する第２演算部（１２０）と、
前記第１出力と前記第２出力とを所定の判定基準で比較した比較結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部（１５０）と、
前記比較部（１５０）の出力に応じて、前記検査対象における欠陥の有無を提示する提示部（１５０、１１）と、
を備える演算装置（１０）。
（付記１０）
距離が既知である目標物までの測距距離を計測するために、光学計測器が発信した光学信号である入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて画像解析を行い、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を第１出力として出力する第１演算部（１１３）と、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて測距距離を算出し、前記目標物までの距離との誤差を第２出力として出力する第２演算部（１２０）と、
前記第１出力と前記第２出力とを所定の判定基準で比較した比較結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する比較部（１５０）と、
前記比較部（１５０）の出力に応じて、光学信号が示す測距距離と既知である前記目標物までの距離との誤差を提示する提示部（１５０、１１）と、
を備える演算装置（１０）。
（付記１１）
コンピュータ（１０）を、
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力する手段、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて前記所定の処理に関する演算を行い、第２出力を出力する手段、
前記第１出力と前記第２出力とを所定の判定基準で比較した比較結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力する手段、
として機能させるプログラム。
（付記１２）
コンピュータ（１０）が、
入力データに対して、学習用データを用いた機械学習を行うことで、入力データと出力データとの対応関係が変動する第１モデルを用いて所定の処理に関する演算を行い、第１出力を出力するステップと、
前記入力データに対して、入力データと出力データとの対応関係が固定化された第２モデルを用いて前記所定の処理に関する演算を行い、第２出力を出力するステップと、
前記第１出力と前記第２出力とを所定の判定基準で比較した比較結果に基づいて、前記第１出力、前記第２出力、又は前記第１及び前記第２出力を組み合わせた第３出力を出力するステップと、
を実行する演算方法。
【符号の説明】
【０１００】
１  ロボットシステム
２  欠陥検査システム
３  ベルトコンベア
４  ワーク
６  撮像視野
８  上位ネットワーク
９  光学計測システム
１０  演算装置
１１  外部インタフェース
１２  記憶部
１３  ドライブ
１４  記憶媒体
１５  制御部
２０  ロボット
２１  台座
２２  第１リンク
２３  第２リンク
２４  第３リンク
２５  第４リンク
２６  第５リンク
２７  第６リンク
２８  エンドエフェクタ
３０  撮像装置
４０  角度検出装置
５０  入力装置
６０  出力装置
８０  データベース装置
１０４  ディスプレイ
１０６  キーボード
１０８  マウス
１１０  学習部
１１１  状態データベース
１１１  情報状態データベース
１１２  学習実行部
１１３  第１演算部
１２０  第２演算部
１３０  環境変動認識部
１４０  切替部
１５０  比較部
【図１】
2019159767.tif 000003
【図２】
2019159767.tif 000004
【図３】
2019159767.tif 000005
【図４】
2019159767.tif 000006
【図５】
2019159767.tif 000007
【図６】
2019159767.tif 000008
【図７】
2019159767.tif 000009
【図８】
2019159767.tif 000010
【図９】
2019159767.tif 000011
【図１０】
2019159767.tif 000012
【図１１】
2019159767.tif 000013
【図１２】
2019159767.tif 000014
【図１３】
2019159767.tif 000015