JP7416267B2 - 調整システム、調整方法および調整プログラム - Google Patents

調整システム、調整方法および調整プログラム Download PDF

Info

Publication number
JP7416267B2
JP7416267B2 JP2022544988A JP2022544988A JP7416267B2 JP 7416267 B2 JP7416267 B2 JP 7416267B2 JP 2022544988 A JP2022544988 A JP 2022544988A JP 2022544988 A JP2022544988 A JP 2022544988A JP 7416267 B2 JP7416267 B2 JP 7416267B2
Authority
JP
Japan
Prior art keywords
cost function
change
performance data
error
adjustment
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
JP2022544988A
Other languages
English (en)
Other versions
JPWO2022044191A5 (ja
JPWO2022044191A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2022044191A1 publication Critical patent/JPWO2022044191A1/ja
Publication of JPWO2022044191A5 publication Critical patent/JPWO2022044191A5/ja
Application granted granted Critical
Publication of JP7416267B2 publication Critical patent/JP7416267B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Description

本発明は、制御対象の機器を含むシステムの制御内容を調整する調整システム、調整方法および調整プログラムに関する。
近年、ロボット制御などにおいて、熟練者の動作を模倣して機器を制御する方法が各種提案されている。例えば、特許文献1には、物体の取り出し位置の選択精度を向上させるための学習モデルを構築する方法が記載されている。特許文献1に記載された方法では、距離画像に対してユーザにより教示された物体の取り出し位置と、その近傍の画像データとを対応付けたマッチング用点群情報に評価値を付与した教師データを用いて教師あり機械学習を行うことで、学習モデルを構築する。
特開2019-109556号公報
特許文献1に記載されたシステムでは、画像処理装置やロボット制御装置が予め行われたキャリブレーションにより、ロボットを制御するための機械座標系と物体の取り出し位置(カメラ座標系)とを対応付けていることを前提としている。そのため、カメラの位置が変更されたり、新規のカメラに変更されたりした場合など、学習時の環境と制御時の環境とが異なると、適切に機器を制御できなくなってしまう可能性がある。
このような状況では、各種センサのパラメータや、制御を行うモデルのパラメータを修正する必要がある。しかし、変更対象のセンサや駆動装置(アクチュエータ)の特性が未知の場合も多いため、変更する際には、装置のパラメータの検証を単体で行う必要が出てくる場合もある。さらに、周辺環境の条件により、装置の特性自体が変化してしまう場合もある。そのため、調整には様々な要因のトレードオフを考慮する必要があるため、パラメータの調整に多くの時間を要してしまうという問題がある。
そこで、本発明は、状況の変化に応じたパラメータの調整を効率化できる調整システム、調整方法および調整プログラムを提供することを目的とする。
本発明による調整システムは、第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付ける入力部と、変更前実績データと変更後実績データとの差分を小さくするように、第一のコスト関数を更新した第二のコスト関数を生成する更新部とを備え、更新部が、機器の変更前後で第一のコスト関数に含まれる機器の出力値に生じる誤差を推定して、第一のコスト関数を更新した第二のコスト関数を生成することを特徴とする。
本発明による調整方法は、第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付け、変更前実績データと変更後実績データとの差分を小さくするように、第一のコスト関数を更新した第二のコスト関数を生成し、第二のコスト関数の生成の際、機器の変更前後で第一のコスト関数に含まれる機器の出力値に生じる誤差を推定して、第一のコスト関数を更新した第二のコスト関数を生成することを特徴とする。
本発明による調整プログラムは、コンピュータに、第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付ける入力処理、および、変更前実績データと変更後実績データとの差分を小さくするように、第一のコスト関数を更新した第二のコスト関数を生成する更新処理を実行させ、更新処理で、機器の変更前後で第一のコスト関数に含まれる機器の出力値に生じる誤差を推定して、第一のコスト関数を更新した第二のコスト関数を生成させることを特徴とする。
本発明によれば、状況の変化に応じたパラメータの調整を効率化できる。
本発明による調整システムの一実施形態の構成例を示すブロック図である。 調整システムの動作例を示すフローチャートである。 調整システムの動作例を示すフローチャートである。 調整システムの他の動作例を示すフローチャートである。 調整システムを用いた設計方法の一例を示す説明図である。 本発明による調整システムの概要を示すブロック図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
以下、本発明の実施形態を図面を参照して説明する。本実施形態では、搭載される機器(例えば、センサ、アクチュエータ等)に変更が行われ、これらの機器の調整や、機器を制御する際に用いるコスト関数(報酬関数)の調整が必要なシステムが存在することを想定する。ここでの変更とは、例えば、センサの機種を変更することや、取付位置や角度などを変更することを含む。以下の説明では、このようなシステムのことを調整対象システムと記す。
調整対象システムの一例として、ロボットアームが挙げられる。ロボットアームには、例えば、対象物までの距離の測定用カメラや、物体を掴む際に用いられる圧力センサ、アームを駆動させるアクチュエータなどが備えられ、これらの制御をするためにコスト関数が用いられる。本実施形態では、このようなカメラや圧力センサ、アクチュエータなどが変更された場合に、調整対象システム全体を考慮してコスト関数を調整する方法を説明する。
ただし、本実施形態の調整対象システムは、ロボットアームに限定されない。例えば、自動で人物の判定を行う装置や、自動運転を行う車両など、様々な分野のシステムが、本実施形態の調整システムの対象となり得る。
図1は、本発明による調整システムの一実施形態の構成例を示すブロック図である。本実施形態の調整システム100は、調整対象システム200に接続され、調整に必要な各種値の情報を通知する。また、調整システム100は、調整対象システム200で測定される実績データを取得する。
以下では、二段階のフェーズ(以下、第一フェーズ、第二フェーズと記す。)を想定する。第一フェーズは、調整対象システム200が備える各種センサの性能が既知の状態で実績データが計測されるフェーズである。第一フェーズで計測される実績データを、変更前実績データと記す。第二フェーズは、調整対象システム200が備える各種センサが変更された状態で実績データが計測されるフェーズである。第二フェーズで計測される実績データを、変更後実績データと記す。
実績データは、センサ等の変更前または変更後の環境において取得される実績値の集合であり、調整対象システム200の動作を示す軌跡データと言うことができる。また、本実施形態では、計測される実績データは、観測された状態および、その状態に対する熟練者等の操作等が行われた行動を含む軌跡データであるとする。すなわち、この実績値は、逆強化学習における状態と行動の系列データということもできる。
例えば、ロボットアームの場合、状態を表わす情報として、カメラ画像や、各アーム関節の座標や軸角度、速度(回転速度)などが挙げられる。また、行動として、アクチュエータにおける各関節の角度や、カメラにおけるアームと対象物の距離などが挙げられる。
また、本実施形態では、変更前実績データが、既知のセンサ等で問題なく稼働している理想の状態の軌跡データであるとし、変更後実績データが、センサ等が変更後(例えば、未知のセンサ等)で、理想の動きを示していない軌跡データであるとする。本実施形態では、変更後実績データを変更前実績データに近づけるようにコスト関数を更新することを目標とする。
調整対象システム200は、制御部210と、センサ211と、アクチュエータ212とを備えている。なお、図1に例示する調整対象システム200が備えるセンサ211およびアクチュエータ212は、変更されるセンサ等の一例であり、変更対象は、センサおよびアクチュエータに限定されない。
制御部210は、制御用のコスト関数を用いて(より具体的には、コスト関数を最適化することで)、調整対象システム200の各種アクチュエータ(図1に示す例では、アクチュエータ212)を制御する。また、制御部210は、予め定められた制御ロジックに基づいて各種アクチュエータを制御してもよい。なお、制御部210は、後述する調整システム100の処理によって得られた変更後の環境に適応した調整値を受け取り、受け取った調整値に基づいて変更されたコスト関数を用いて、調整対象システム200の各種アクチュエータを制御する。
また、制御部210は、コスト関数を用いた制御による各機器からの実績データを取得し、調整システム100に出力する。具体的には、制御部210は、第一フェーズにおいて変更前実績データを生成して調整システム100に出力し、第二フェーズにおいて変更後実績データを生成して調整システム100に出力する。なお、制御部210は、調整システム100とは別の外部ストレージ(図示せず)に実績データを記憶しておいてもよい。
制御部210は、例えば、各種制御ユニットにより実現される。制御部210は、例えば、汎用の各種コンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))により実現されていてもよく、専用の制御ユニット(例えば、自動車の場合におけるECU(Engine Control Unitなど)により実現されていてもよい。
調整システム100は、軌跡データ取得装置10と、学習装置20とを備えている。
軌跡データ取得装置10は、実績データ入力部11と、データ加工処理部12と、実績データ記憶部13とを含む。
実績データ入力部11は、調整対象システム200が生成した実績データの入力を受け付ける。実績データ入力部11は、調整対象システム200から直接実績データの入力を受け付けてもよく、上述する外部ストレージ(図示せず)から実績データを取得して入力してもよい。
データ加工処理部12は、実績データを加工して、後述する学習装置20が学習を行う際に用いることができる形式のデータ(学習データ)を生成する。データ加工処理部12は、学習データの加工に任意の方法を用いることが可能である。学習データの加工方法として、例えば、データ形式の標準化やデータクレンジング、特徴量生成などが挙げられる。なお、学習データに用いられる特徴量(説明変数)は、予め設計され、データ加工処理部12は、入力された実績データに基づいて、設計された特徴量を生成すればよい。
実績データ記憶部13は、変更前実績データ13bおよび変更後実績データ13aを記憶する。なお、実績データ記憶部13は、変更前実績データ13bを加工した学習データや、変更後実績データ13aを加工した学習データを記憶していてもよい。実績データ記憶部13は、例えば、磁気ディスク等により実現される。
学習装置20は、学習データ入力部21と、パラメータ推定処理部22と、出力部23と、パラメータ記憶部24とを含む。
学習データ入力部21は、軌跡データ取得装置10から学習データの入力を受け付ける。学習データ入力部21は、データ加工処理部12が生成した学習データの入力を直接受け付けてもよく、実績データ記憶部13から学習データを取得して入力してもよい。
また、学習データ入力部21が、データ加工処理部12が行うデータ加工処理を行ってもよい。この場合、学習データ入力部21は、軌跡データ取得装置10から変更前実績データおよび変更後実績データの入力を受け付けてもよい。
パラメータ推定処理部22は、入力された学習データを用いて、コスト関数のパラメータを推定する。以下、第一フェーズと第二フェーズに分けて、パラメータ推定処理部22の動作を説明する。
第一フェーズでは、パラメータ推定処理部22は、変更前実績データに基づいて作成された学習データを用いて、コスト関数を学習することで、コスト関数のパラメータを推定する。以下、変更前実績データに基づいて学習されたコスト関数を、変更前コスト関数または第一のコスト関数と記すこともある。
具体的には、第一フェーズでは、パラメータ推定処理部22は、変更前実績データに基づいて作成された学習データを用いて、コスト関数のパラメータとして特徴量の重みを推定する。パラメータ推定処理部22は、機械学習により、例えば、以下に例示する式1のようなコスト関数を生成してもよい。
Figure 0007416267000001
式1で例示するコスト関数は、制御ロジックに影響を与え得る、計測された各センサ出力(または、センサ出力に基づいて算出される特徴量)sと、各センサ出力(または、上記特徴量)の目標値s ̄(sの上付きバー)との差分の総和で表わされるコスト関数である。また、式1において、λは、第一フェーズの学習により推定されるパラメータであり、各特徴量の重みである。
式1で例示するコスト関数は、例えば、アクチュエータ212の制御に用いられるコスト関数であってもよい。
なお、第一フェーズにおいて、パラメータ推定処理部22がコスト関数のパラメータを推定する方法は、特に限定されない。例えば、上述するように、本実施形態の実績データは、理想の状態(動き)を実現する軌跡データであることから、パラメータ推定処理部22は、逆強化学習により、コスト関数のパラメータを推定してもよい。
本実施形態では、パラメータ推定処理部22が、第一フェーズで変更前コスト関数を学習する場合について説明した。ただし、変更前コスト関数は、本実施形態のパラメータ推定処理部22以外の別の手段により予め生成され、後述するパラメータ記憶部24に記憶されていてもよい。この場合、パラメータ推定処理部22は、第一フェーズにてコスト関数を生成しなくてもよい。
次に、第二フェーズでは、機器の変更により、変更前と変更後で機器の出力値に誤差が生じると想定する。そこで、パラメータ推定処理部22は、変更前実績データに変更後実績データを近づけるように(言い換えると、変更前実績データと変更後実績データとの差分を小さくするように)、変更前コスト関数を更新する。以下、このように更新されたコスト関数を、変更後コスト関数または第二のコスト関数と記す。
このとき、パラメータ推定処理部22は、すでに推定されたパラメータ(具体的には、特徴量の重み)を変更せず、機器の変更前後で変更前コスト関数に含まれる機器の出力値(特徴量)に生じる誤差を推定して、変更後コスト関数を生成する。
パラメータ推定処理部22は、例えば、まず、変更により生じる機器のセンサ出力(出力値、または、センサ出力に基づいて算出される特徴量)の誤差を示す変数を、変更前コスト関数に設定したコスト関数(変更後コスト関数)を生成してもよい。そして、パラメータ推定処理部22は、変更前実績データと変更後実績データとの差分を小さくするように変数を更新して誤差を推定することにより、変更後コスト関数を生成してもよい。
例えば、センサの変更により、上記に示す式1におけるセンサ出力sが、誤差であるバイアスε分変化すると想定したとする。すなわち、センサの変更によるセンサ出力をs(sの上付きチルダ)としたとき、もとのセンサ出力sとの関係において、s =s+εになると想定したとする。
このとき、パラメータ推定処理部22は、センサの変更により生じる特徴量のバイアスεを変更前コスト関数に設定した、以下の式2に例示する変更後コスト関数を生成してもよい。
Figure 0007416267000002
そして、パラメータ推定処理部22は、λを固定したまま、変更前実績データと変更後実績データとの差分を小さくするように変更後コスト関数を更新しながらバイアスεを推定する。
パラメータ推定処理部22が、誤差を推定する方法も特に限定されない。パラメータ推定処理部22は、例えば、変更前実績データおよび変更後実績データを用いた逆強化学習の枠組みで、変更前コスト関数を更新した変更後コスト関数を生成することにより誤差を推定してもよい。この場合、パラメータ推定処理部22は、例えば、変更前実績データと変更後実績データとの差分を小さくするようにコスト関数(具体的には、バイアス等の誤差)を更新し、更新されたコスト関数の最適化等により得られる意思決定データと変更前実績データとの差分を小さくするようにコスト関数を更新する処理を繰り返すことで、誤差を推定してもよい。なお、バイアスを更新する方法として、例えば、勾配降下法を用いる方法(バイアスεを微分し、データ間の差分を小さくするようにバイアスを更新する処理を繰り返す)が用いられてもよい。
また、単純な方法として、パラメータ推定処理部22は、例えば、グリッドサーチにより誤差を推定してもよい。ただし、推定するバイアスが多い場合、グリッドサーチでは高コストになってしまうことから、逆強化学習を用いることが、効率化の観点からより好ましい。
なお、本実施形態では、パラメータ推定処理部22が、逆強化学習により、真値とセンサによる測定値との間に生じる誤差として、いわゆるオフセットに相当するバイアスεを推定する方法を説明した。他にも、真値とセンサによる測定値との間に生じる誤差として、いわゆるゲインに相当するパラメータ(以下、倍率パラメータと記す。)が考慮されてもよい。例えば、倍率パラメータをkとしたとき、センサ出力の変化は、s =ksと表わされる。そこで、パラメータ推定処理部22は、上記に示す式2の導出と同様に、s=s /kを上記に示す式1に設定して、変更後コスト関数を生成してもよい。そして、パラメータ推定処理部22は、生成された変更後コスト関数を用いた逆強化学習により、いわゆるゲインに相当する倍率パラメータを誤差として推定してもよい。なお、誤差の推定は、バイアスεと倍率パラメータkのいずれか一方であってもよく、両方であってもよい。
パラメータ記憶部24は、推定された誤差を含む変更後コスト関数を記憶する。また、パラメータ記憶部24は、変更前コスト関数のパラメータの情報を記憶していてもよい。パラメータ記憶部24は、例えば、磁気ディスク等により実現される。
出力部23は、推定された誤差(具体的には、バイアス、倍率パラメータ)を出力する。また、出力部23は、変更後コスト関数そのものを出力してもよい。なお、推定された誤差は、変更前実績データに変更後実績データを近づけるように調整するための値であることから、この誤差のことを調整値と言うことができる。出力部23は、この調整値を、調整対象システム200に出力してもよく、パラメータ記憶部24に記憶させてもよい。
この調整値(または、変更後コスト関数)を受け取った調整対象システム200は、調整後(または、変更後)のコスト関数を用いて、各種アクチュエータを制御する。すなわち、調整対象システム200は、各種アクチュエータ等のパラメータを更新することなく、制御に用いるコスト関数の更新のみで、機器の変更後のキャリブレーションを実現できていると言える。
学習データ入力部21と、パラメータ推定処理部22と、出力部23とは、プログラム(調整プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU、GPU)によって実現される。
例えば、プログラムは、学習装置20の記憶部(図示せず)に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、学習データ入力部21、パラメータ推定処理部22および出力部23として動作してもよい。また、学習データ入力部21、パラメータ推定処理部22および出力部23の各機能がSaaS(Software as a Service )形式で提供されてもよい。
また、学習データ入力部21と、パラメータ推定処理部22と、出力部23とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
また、学習データ入力部21と、パラメータ推定処理部22と、出力部23との各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本実施形態の調整システムの動作を説明する。図2および図3は、本実施形態の調整システム100の動作例を示すフローチャートである。図2は、第一フェーズの動作例を示し、図3は、第二フェーズの動作例を示す。具体的には、図2および図3に例示するフローチャートは、第一フェーズおよび第二フェーズのいずれも、軌跡データ取得装置10が実績データから学習データを生成し、学習装置20がコスト関数の生成または更新を行う動作を示す。
まず、第一フェーズにおいて、実績データ入力部11は、調整対象システム200から、変更前の機器で取得された変更前実績データの入力を受け付ける(ステップS11)。データ加工処理部12は、変更前実績データを加工して学習データを生成し(ステップS12)、生成した学習データを学習装置20に出力する(ステップS13)。
次に、学習データ入力部21は、軌跡データ取得装置10から学習データの入力を受け付ける(ステップS14)。パラメータ推定処理部22は、入力された学習データを用いて、コスト関数を学習することで、変更前コスト関数のパラメータを推定し(ステップS15)、推定した変更前コスト関数のパラメータを調整対象システム200に通知する(ステップS16)。以降、調整対象システム200において、推定された変更前コスト関数を用いて、変更前実績データの取得が行われ、実績データ記憶部13に変更前実績データ13bが記憶される。
次に、第二フェーズにおいて、実績データ入力部11は、調整対象システム200から、変更後の機器で取得された変更後実績データの入力を受け付ける(ステップS21)。データ加工処理部12は、変更後実績データを加工して学習データを生成し(ステップS22)、生成した学習データを学習装置20に出力する(ステップS23)。
次に、学習データ入力部21は、軌跡データ取得装置10から学習データの入力を受け付ける(ステップS24)。パラメータ推定処理部22は、変更前実績データから生成された学習データと変更後実績データから生成された学習データとの差分を小さくするように、変更前コスト関数を更新した変更後コスト関数を生成する(ステップS25)。具体的には、パラメータ推定処理部22は、機器の変更前後で変更前コスト関数に含まれる機器の出力値に生じる誤差を推定して、変更前コスト関数を更新した変更後コスト関数を生成する。そして、出力部23は、推定した誤差である調整値を調整対象システム200に出力する(ステップS26)。
以降、生成された変更後コスト関数を用いて、調整対象システム200での制御が行われる。
次に、学習装置20が直接実績データの入力を受け付け、第二フェーズにおいて変更後コスト関数の学習を行う動作を説明する。図4は、本実施形態の調整システム100の他の動作例を示すフローチャートである。
学習データ入力部21は、変更前実績データおよび変更後実績データの入力を受け付ける(ステップS31)。そして、パラメータ推定処理部22は、変更前実績データと変更後実績データとの差分を小さくするように、変更前コスト関数を更新した変更後コスト関数を生成する(ステップS32)。その際、パラメータ推定処理部22は、機器の変更前後で変更前コスト関数に含まれる機器の出力値に生じる誤差を推定して変更後コスト関数を生成する。以降、生成された変更後コスト関数を用いて、調整対象システム200での制御が行われる。
以上のように、本実施形態では、学習データ入力部21が変更前実績データおよび変更後実績データの入力を受け付け、パラメータ推定処理部22は、変更前実績データと変更後実績データとの差分を小さくするように、変更前コスト関数を更新した変更後コスト関数を生成する。その際、パラメータ推定処理部22が、機器の変更前後で変更前コスト関数に含まれる機器の出力値に生じる誤差を推定して変更後コスト関数を生成する。よって、状況の変化に応じたパラメータの調整を効率化できる。
すなわち、一般的には、機器を変更した場合、変更した機器の性能や、変更に影響する機器の性能に応じて、機器のパラメータや、それらの機器を制御するコスト関数のパラメータを、他のパラメータの影響を考慮しながら変更する必要がある。例えば、一般的な方法では、ロボットアーム等の開発において、センサやアクチュエータの機種の変更や、取り付け位置の変更等が発生するたびに、いくつものパラメータを調整する必要がある。
一方、本実施形態では、パラメータ推定処理部22が、機器の変更に対して推定された誤差を変更前コスト関数に反映することにより変更後コスト関数を生成する。これにより、コスト関数の更新のみで、機器のキャリブレーションの手間を削減できる。
なお、一般的には、各センサの特性が既知の状態であり、かつ、モデル(コスト関数)が未知の状態において、設計開発者がシミュレーションツール等を用いてパラメータを設計し、実際の制御テストにて最適化を行うことで、適切なモデルを作り上げていく。この方法は、いわゆる順問題であるが、センサ特性が未知の問題に対するパラメータ設計は、非常に困難である。
一方、本実施形態の調整システムは、理想の動きから、センサやアクチュエータ、他のパラメータを調整する、いわゆる逆問題を解くことにより、モデルを生成する。そのため、状況の変化に対し、低コストでパラメータ等の調整を行うことが可能になる。
以下、本実施形態の調整システムを用いた設計方法の具体例を説明する。図5は、本実施形態の調整システムを用いた設計方法の一例を示す説明図である。図5では、ロボットアームの理想の動きから、既知のセンサ特性にコスト関数のパラメータを近づけるセンサ設定の方法を例示する。
ステップS51において、学習装置20は、機械学習(例えば、逆強化学習)により、既知のセンサX1の特性に基づいて、ロボットアームY1のコスト関数のパラメータλを推定する。これは、上述する第一フェーズの処理に対応する。図5に例示する黒矢印は、推定されたパラメータλで実現される動きを表わす。なお、λは、行動計画や機器制御ロジックに直接係るパラメータに対応し、例えば、カメラ、ミリ波、レンジファインダのレベルなどである。
その後、調整対象システム200において、特性が未知のセンサX2に変更されると、ステップS52において、学習装置20は、機械学習(例えば、逆強化学習)により、変更されたセンサX2のバイアスε(レンジ、測定間隔等の設定のレベル、など)を推定する。これは、上述する第二フェーズの処理に対応する。これにより、未知のセンサX2の動きが、既知のセンサX1の動きとして担保される。
このように、コスト関数を学習する処理の枠組みにおいてバイアスを推定するため、元のセンサ特性を意識せずに、キャリブレーションを実現することが可能である。これは、複数のセンサを調整する必要がある状況において、特に効果が大きいと言える。また、本実施形態では、良いチューニングを行った結果、後から特性を確認するため、既知のセンサX1の特性と推定されたバイアスεに基づいて、未知のセンサX2の特性を確認することが可能になる。例えば、出力部23が、変更前コスト関数と変更後コスト関数との差分を誤差として出力することで、ユーザは、未知のセンサX2の特性を確認することも可能になる。
次に、本発明の概要を説明する。図6は、本発明による調整システムの概要を示すブロック図である。本発明による調整システム80は、第一のコスト関数(例えば、変更前コスト関数)を用いた制御による、変更前の機器(例えば、センサ211、アクチュエータ212等)で取得された(例えば、熟練者の)変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付ける入力部81(例えば、学習データ入力部21)と、変更前実績データと変更後実績データとの差分を小さくするように、第一のコスト関数を更新した第二のコスト関数(例えば、変更後コスト関数)を生成する更新部82(例えば、パラメータ推定処理部22)とを備えている。
更新部82は、機器の変更前後で第一のコスト関数に含まれる機器の出力値(例えば、特徴量)に生じる誤差を推定して、その第一のコスト関数を更新した第二のコスト関数を生成する。
そのような構成により、状況の変化に応じたパラメータの調整を効率化できる。
また、更新部82は、第一のコスト関数に含まれる機器の出力値の誤差(例えば、バイアス、倍率パラメータなど)を示す変数を設定した第二のコスト関数(例えば、上記に示す式2)を生成し、変更前実績データと変更後実績データとの差分を小さくするように変数を更新して誤差を推定することにより、第二のコスト関数を生成してもよい。
また、更新部82は、変更前実績データおよび変更後実績データを用いた逆強化学習により、第一のコスト関数を更新した第二のコスト関数を生成してもよい。このような構成により、効率的に誤差を推定することが可能になる。
このとき、更新部82は、生成された第二のコスト関数の最適化により得られる意思決定データと変更前実績データとの差分を小さくするように第二のコスト関数を更新する処理を繰り返してもよい。
また、機器の出力値の誤差を示す変数は、バイアスを示す変数(例えば、上記に示す変数ε)および倍率パラメータを示す変数(例えば、上記に示す変数k)のいずれか一方または両方であってもよい。
図7は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、プロセッサ1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。
上述の調整システム80、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラム(調整プログラム)の形式で補助記憶装置1003に記憶されている。プロセッサ1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。
なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read-only memory )、DVD-ROM(Read-only memory)、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行してもよい。
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付ける入力部と、前記変更前実績データと前記変更後実績データとの差分を小さくするように、前記第一のコスト関数を更新した第二のコスト関数を生成する更新部とを備え、前記更新部は、前記機器の変更前後で前記第一のコスト関数に含まれる当該機器の出力値に生じる誤差を推定して、当該第一のコスト関数を更新した第二のコスト関数を生成することを特徴とする調整システム。
(付記2)更新部は、第一のコスト関数に含まれる機器の出力値の誤差を示す変数を設定した第二のコスト関数を生成し、変更前実績データと変更後実績データとの差分を小さくするように前記変数を更新して誤差を推定することにより、第二のコスト関数を生成する付記1記載の調整システム。
(付記3)更新部は、変更前実績データおよび変更後実績データを用いた逆強化学習により、第一のコスト関数を更新した第二のコスト関数を生成する付記1または付記2記載の調整システム。
(付記4)更新部は、生成された第二のコスト関数の最適化により得られる意思決定データと変更前実績データとの差分を小さくするように第二のコスト関数を更新する処理を繰り返す付記3記載の調整システム。
(付記5)機器の出力値の誤差を示す変数は、バイアスを示す変数および倍率パラメータを示す変数のいずれか一方または両方である付記2から付記4のうちのいずれか1つに記載の調整システム。
(付記6)第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付け、前記変更前実績データと前記変更後実績データとの差分を小さくするように、前記第一のコスト関数を更新した第二のコスト関数を生成し、前記第二のコスト関数の生成の際、前記機器の変更前後で前記第一のコスト関数に含まれる当該機器の出力値に生じる誤差を推定して、当該第一のコスト関数を更新した第二のコスト関数を生成することを特徴とする調整方法。
(付記7)第一のコスト関数に含まれる機器の出力値の誤差を示す変数を設定した第二のコスト関数を生成し、変更前実績データと変更後実績データとの差分を小さくするように前記変数を更新して誤差を推定することにより、第二のコスト関数を生成する付記6記載の調整方法。
(付記8)コンピュータに、第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付ける入力処理、および、前記変更前実績データと前記変更後実績データとの差分を小さくするように、前記第一のコスト関数を更新した第二のコスト関数を生成する更新処理を実行させ、前記更新処理で、前記機器の変更前後で前記第一のコスト関数に含まれる当該機器の出力値に生じる誤差を推定して、当該第一のコスト関数を更新した第二のコスト関数を生成させるための調整プログラムを記憶するプログラム記憶媒体。
(付記9)コンピュータに、更新処理で、第一のコスト関数に含まれる機器の出力値の誤差を示す変数を設定した第二のコスト関数を生成させ、変更前実績データと変更後実績データとの差分を小さくするように前記変数を更新して誤差を推定することにより、第二のコスト関数を生成させる ための調整プログラムを記憶する付記8記載のプログラム記憶媒体。
(付記10)コンピュータに、第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付ける入力処理、および、前記変更前実績データと前記変更後実績データとの差分を小さくするように、前記第一のコスト関数を更新した第二のコスト関数を生成する更新処理を実行させ、前記更新処理で、前記機器の変更前後で前記第一のコスト関数に含まれる当該機器の出力値に生じる誤差を推定して、当該第一のコスト関数を更新した第二のコスト関数を生成させるための調整プログラム。
(付記11)コンピュータに、更新処理で、第一のコスト関数に含まれる機器の出力値の誤差を示す変数を設定した第二のコスト関数を生成させ、変更前実績データと変更後実績データとの差分を小さくするように前記変数を更新して誤差を推定することにより、第二のコスト関数を生成させる付記10記載の調整プログラム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 軌跡データ取得装置
11 実績データ入力部
12 データ加工処理部
13 実績データ記憶部
13a 変更前実績データ
13b 変更後実績データ
20 学習装置
21 学習データ入力部
22 パラメータ推定処理部
23 出力部
24 パラメータ記憶部
100 調整システム
200 調整対象システム
210 制御部
211 センサ
212 アクチュエータ

Claims (9)

  1. 第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付ける入力部と、
    前記変更前実績データと前記変更後実績データとの差分を小さくするように、前記第一のコスト関数を更新した第二のコスト関数を生成する更新部とを備え、
    前記更新部は、前記機器の変更前後で前記第一のコスト関数に含まれる当該機器の出力値に生じる誤差を推定して、当該第一のコスト関数を更新した第二のコスト関数を生成する
    ことを特徴とする調整システム。
  2. 更新部は、第一のコスト関数に含まれる機器の出力値の誤差を示す変数を設定した第二のコスト関数を生成し、変更前実績データと変更後実績データとの差分を小さくするように前記変数を更新して誤差を推定することにより、第二のコスト関数を生成する
    請求項1記載の調整システム。
  3. 更新部は、変更前実績データおよび変更後実績データを用いた逆強化学習により、第一のコスト関数を更新した第二のコスト関数を生成する
    請求項1または請求項2記載の調整システム。
  4. 更新部は、生成された第二のコスト関数の最適化により得られる意思決定データと変更前実績データとの差分を小さくするように第二のコスト関数を更新する処理を繰り返す
    請求項3記載の調整システム。
  5. 機器の出力値の誤差を示す変数は、バイアスを示す変数および倍率パラメータを示す変数のいずれか一方または両方である
    請求項2から請求項4のうちのいずれか1項に記載の調整システム。
  6. 第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付け、
    前記変更前実績データと前記変更後実績データとの差分を小さくするように、前記第一のコスト関数を更新した第二のコスト関数を生成し、
    前記第二のコスト関数の生成の際、前記機器の変更前後で前記第一のコスト関数に含まれる当該機器の出力値に生じる誤差を推定して、当該第一のコスト関数を更新した第二のコスト関数を生成する
    ことを特徴とする調整方法。
  7. 第一のコスト関数に含まれる機器の出力値の誤差を示す変数を設定した第二のコスト関数を生成し、変更前実績データと変更後実績データとの差分を小さくするように前記変数を更新して誤差を推定することにより、第二のコスト関数を生成する
    請求項6記載の調整方法。
  8. コンピュータに、
    第一のコスト関数を用いた制御による、変更前の機器で取得された変更前実績データおよび変更後の機器で取得された変更後実績データの入力を受け付ける入力処理、および、
    前記変更前実績データと前記変更後実績データとの差分を小さくするように、前記第一のコスト関数を更新した第二のコスト関数を生成する更新処理を実行させ、
    前記更新処理で、前記機器の変更前後で前記第一のコスト関数に含まれる当該機器の出力値に生じる誤差を推定して、当該第一のコスト関数を更新した第二のコスト関数を生成させる
    ための調整プログラム。
  9. コンピュータに、
    更新処理で、第一のコスト関数に含まれる機器の出力値の誤差を示す変数を設定した第二のコスト関数を生成させ、変更前実績データと変更後実績データとの差分を小さくするように前記変数を更新して誤差を推定することにより、第二のコスト関数を生成させる
    請求項8記載の調整プログラム
JP2022544988A 2020-08-27 2020-08-27 調整システム、調整方法および調整プログラム Active JP7416267B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/032340 WO2022044191A1 (ja) 2020-08-27 2020-08-27 調整システム、調整方法および調整プログラム

Publications (3)

Publication Number Publication Date
JPWO2022044191A1 JPWO2022044191A1 (ja) 2022-03-03
JPWO2022044191A5 JPWO2022044191A5 (ja) 2023-05-09
JP7416267B2 true JP7416267B2 (ja) 2024-01-17

Family

ID=80352885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022544988A Active JP7416267B2 (ja) 2020-08-27 2020-08-27 調整システム、調整方法および調整プログラム

Country Status (3)

Country Link
US (1) US20230333518A1 (ja)
JP (1) JP7416267B2 (ja)
WO (1) WO2022044191A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7313310B2 (ja) * 2020-03-31 2023-07-24 日本碍子株式会社 セラミックス製の柱状ハニカム構造体の検査方法及び検査装置
US11941357B2 (en) * 2021-06-23 2024-03-26 Optum Technology, Inc. Machine learning techniques for word-based text similarity determinations
US11989240B2 (en) 2022-06-22 2024-05-21 Optum Services (Ireland) Limited Natural language processing machine learning frameworks trained using multi-task training routines

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016522940A (ja) 2013-05-08 2016-08-04 ヴィジレント コーポレイションVigilent Corporation 環境に管理されるシステムにおける影響の学習

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016522940A (ja) 2013-05-08 2016-08-04 ヴィジレント コーポレイションVigilent Corporation 環境に管理されるシステムにおける影響の学習

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
江藤 力 ほか,熟練者の意思決定を模倣する意図学習技術,NEC技報,日本電気株式会社,2019年,第72巻,第1号,p.95-98,ISSN 0285-4139

Also Published As

Publication number Publication date
WO2022044191A1 (ja) 2022-03-03
JPWO2022044191A1 (ja) 2022-03-03
US20230333518A1 (en) 2023-10-19

Similar Documents

Publication Publication Date Title
JP7416267B2 (ja) 調整システム、調整方法および調整プログラム
JP6359182B2 (ja) 機械の動作を制御するための方法およびシステム
JP6513015B2 (ja) 機械の動作を制御する方法、および機械の動作を反復的に制御する制御システム
US20200409823A1 (en) Method and apparatus for optimal distribution of test cases among different testing platforms
US20090051310A1 (en) Closed Loop Stepper Motor Control
JP2018151899A (ja) 制御装置、制御プログラムおよび制御システム
KR102038703B1 (ko) 동적 전이 앙상블 모형을 통한 실시간 다변량 시계열 예측방법 및 그 시스템
WO2018143019A1 (ja) 情報処理装置、情報処理方法およびプログラム記録媒体
JP2009277226A (ja) プロセスモデルの状態量のリアルタイム計算方法およびシミュレータ
US11619929B2 (en) Automatic operation control method and system
US20200362889A1 (en) Control mapping for hydraulic machines
KR20070099330A (ko) 로봇 및 산출된 공분산을 이용한 로봇의 위치 추정 방법
Miller et al. 23 Real-Time Simulation of Physical Systems Using Simscape™
US11238201B2 (en) Pre-step co-simulation method and device
JP2021051462A (ja) 情報処理装置及びプログラム
CN111095133B (zh) 一种用于在目标现场设备上部署和执行自适应自学习控制程序的方法和系统
US20190361421A1 (en) Servo control device
JP7036128B2 (ja) 制御装置、制御方法およびプログラム
US11416371B2 (en) Method and apparatus for evaluating and selecting signal comparison metrics
WO2021006332A1 (ja) 情報処理装置、プログラム、及び算出方法
US20130125087A1 (en) Method For Estimating Resource Consumption In The Generation Of A Control Device Program Code
WO2020246531A1 (ja) 情報処理装置、プログラム、及び算出方法
JP7013296B2 (ja) パラメータ同定装置及びその方法並びにプログラム
CN114690630A (zh) 神经网络控制器与基于模型的控制器相组合的车辆控制
US20220331955A1 (en) Robotics control system and method for training said robotics control system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231218

R151 Written notification of patent or utility model registration

Ref document number: 7416267

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151