(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023063179
(43)【公開日】2023-05-09
(54)【発明の名称】超音波機器用駆動装置、学習済モデルの生成方法、学習プログラム、及び学習システム
(51)【国際特許分類】
H02N 2/14 20060101AFI20230427BHJP
G05B 13/02 20060101ALI20230427BHJP
G06N 3/08 20230101ALI20230427BHJP
【FI】
H02N2/14
G05B13/02 L
G06N3/08
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021173528
(22)【出願日】2021-10-22
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100109221
【弁理士】
【氏名又は名称】福田 充広
(74)【代理人】
【識別番号】100171848
【弁理士】
【氏名又は名称】吉田 裕美
(72)【発明者】
【氏名】森田 剛
(72)【発明者】
【氏名】アブドル・ムスタファ
【テーマコード(参考)】
5H004
5H681
【Fターム(参考)】
5H004GA02
5H004GA04
5H004HA08
5H004HB01
5H004HB08
5H004KD31
5H004LA05
5H681AA00
5H681AA04
5H681BB03
5H681BB16
5H681CC07
5H681DD35
5H681DD85
5H681DD87
5H681EE21
5H681EE22
5H681EE23
5H681FF21
5H681FF23
5H681FF24
5H681FF25
5H681FF30
(57)【要約】
【課題】超音波モータのような音波機器を高速で精密に動作させることができる超音波機器用駆動装置を提供すること。
【解決手段】超音波機器用駆動装置100は、超音波モータ10の駆動状態を含む複数の動作状態を計測する状態計測部30と、状態計測部30を用いて深層強化学習された学習部163を含み、状態計測部30が計測した動作状態を学習部163で処理することにより制御信号を生成する監視制御装置60とを備え、学習部163は、与えられた目標状態を実現するように出力状態を決定するように学習している。
【選択図】
図1
【特許請求の範囲】
【請求項1】
超音波機器の駆動状態を含む複数の動作状態を計測する状態計測部と、
前記状態計測部を用いてディープラーニング法により学習した学習部を含み、前記状態計測部が計測した前記動作状態を前記学習部で処理することにより制御信号を生成する監視制御装置と
を備え、
前記学習部は、与えられた目標状態を実現するように出力状態を決定するように学習している、超音波機器用駆動装置。
【請求項2】
前記状態計測部は、前記駆動状態として、前記超音波機器の動作速度を計測する、請求項1に記載の超音波機器用駆動装置。
【請求項3】
前記状態計測部は、前記超音波機器の温度と、前記超音波機器を駆動する周波数とを計測する、請求項1及び2のいずれか一項に記載の超音波機器用駆動装置。
【請求項4】
前記状態計測部は、前記駆動状態として、前記超音波機器に供給される電圧に相当する値を計測する、請求項1~3のいずれか一項に記載の超音波機器用駆動装置。
【請求項5】
前記超音波機器の前記駆動状態を示す状態信号から駆動指令値を差し引いた差異に基づいて、前記超音波機器を動作させる指令信号を生成する制御回路をさらに備え、
前記監視制御装置は、学習した前記学習部によって、制御回路の応答を修正して前記指令信号を補正する、請求項1~4のいずれか一項に記載の超音波機器用駆動装置。
【請求項6】
前記超音波機器は、超音波モータであり、
前記状態計測部は、前記超音波モータに出力する周波数及び電圧振幅の少なくとも一方を前記駆動状態として計測する、請求項1~5のいずれか一項に記載の超音波機器用駆動装置。
【請求項7】
前記学習部は、学習した結果を入力として受け付けて記憶し、前記超音波機器の前記動作状態から前記制御信号を計算する、請求項1~6のいずれか一項に記載の超音波機器用駆動装置。
【請求項8】
前記制御信号は、前記超音波機器の入力電圧状態を与えるものであり、前記監視制御装置の出力状態に対応する、請求項1~7のいずれか一項に記載の超音波機器用駆動装置。
【請求項9】
前記ディープラーニング法は、深層強化学習法である、請求項1~8のいずれか一項に記載の超音波機器用駆動装置。
【請求項10】
超音波機器の入力電圧状態、駆動状態を含む動作状態、及び目標状態を示すデータを入力値として入力する手順と、
前記入力値を学習データとしてディープラーニング法により学習することにより、前記駆動状態及び前記目標状態が入力されたときに、前記超音波機器の前記駆動状態が前記目標状態となるための前記入力電圧状態を算出する計算モデルを生成させる手順と
を含む学習済モデルの生成方法。
【請求項11】
前記入力電圧状態は、前記超音波機器に設けられた電極への入力電圧の位相、周波数、振幅、波形、又は、前記入力電圧の位相、周波数、及び振幅の差であり、
前記駆動状態は、前記超音波機器の結果的な動作速度であり、
前記動作状態のうち前記駆動状態を除いた駆動環境状態は、温度、負荷、負荷トルク、及び内在機構の摩擦係数の少なくとも1つであり、
前記目標状態は、前記超音波機器の目標の動作速度である、請求項9に記載の学習済モデルの生成方法。
【請求項12】
超音波機器を駆動する監視制御装置に適用可能なコンピュータに実行させるプログラムを作成するための学習プログラムであって、
前記超音波機器の入力電圧状態、駆動状態を含む動作状態、及び目標状態を示すデータを入力値として入力する手順と、
前記入力値を学習データとしてディープラーニング法により学習することにより、前記駆動状態及び前記目標状態が入力されたときに、前記超音波機器の前記駆動状態が前記目標状態となるための前記入力電圧状態を算出する計算モデルを生成させる手順と
を実行させる、学習プログラム。
【請求項13】
超音波機器を駆動する監視制御装置に適用可能なコンピュータに実行させるプログラムを作成するための学習システムであって、
前記超音波機器の入力電圧状態、駆動状態を含む動作状態、及び目標状態を示すデータが入力値として入力される入力部と、
前記入力値を学習データとしてディープラーニング法により学習することにより、前記駆動状態及び前記目標状態が入力されたときに、前記超音波機器の前記駆動状態が前記目標状態となるための前記入力電圧状態を算出する計算モデル生成部と
を備える、学習システム。
【請求項14】
超音波機器を駆動する監視制御装置に適用可能なコンピュータに、少なくとも、
前記超音波機器の駆動状態を含む動作状態及び目標状態を示すデータを入力値として受け取る手順と、
前記超音波機器についてディープラーニング法による学習を行うことによって獲得した計算モデルに基づいて、前記超音波機器の前記駆動状態が前記目標状態となるための入力電圧状態を算出する手順と
を実行させる、学習済みプログラム。
【請求項15】
超音波機器を駆動する監視制御装置に適用される学習システムであって、少なくとも、
前記超音波機器についてディープラーニング法による学習を行うことによって獲得した計算モデルに基づいて、前記超音波機器の駆動状態を含む動作状態及び目標状態を示すデータを入力値として入力される入力部と、
前記超音波機器の前記駆動状態が前記目標状態となるための入力電圧状態を算出する算出部と
を備える、学習済みシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、超音波モータその他の超音波機器を動作させるための超音波機器用駆動装置、学習済モデルの生成方法、学習プログラム、及び学習システム等に関し、特にディープニューラルネットワークによる制御機能を組み込んだ超音波機器用駆動装置等に関する。
【背景技術】
【0002】
超音波モータは、単位重量あたりのトルクが大きく、保持力を有するなど多くの利点を有する。超音波モータについては、高速応答性も優れた特長の一つに挙げられるが、現在実用化されている旧来型の駆動ドライバを用いる場合、適切な駆動条件(具体的には駆動周波数)を見出すことが容易でないという問題がある。従来法では、所望の駆動状態を達成するための駆動条件(入力電圧条件)となるまでに時間がかかったり、例えば温度情報のような外乱を入力しておらず、結果として最適な制御ができていない。
【0003】
超音波モータの駆動条件を適切に設定できていない理由として、回転速度、トルク、温度などの多くのパラメータが関連することが挙げられる。また、モータ自体が非線形特性を有すること、例えば駆動周波数と速度の関係に温度を含む強い非線形特性があることから、超音波モータをモデル化することは極めて困難である。
【0004】
超音波モータの駆動については、強化学習法や遺伝的アルゴリズムを用いることが提案されている(特許文献1及び2)。特許文献1では、交流電圧の振幅値の履歴と回転角度の計測値と回転角度の計測値の微分値を用いた評価関数を最適化する強化学習によって制御パラメータの調整を行うことにより、追従誤差を最小とする位置誤差修正速度を算出し、位置誤差修正速度を加算した目標角速度と逆運動モデルとを用いて速度制御電圧指令値を算出する。特許文献2では、超音波モータの制御回路として、同定手法を用いて求められた超音波モータの動特性の変化を反映した伝達関数を有する可変仮想モデル化した内部モデル制御系を取り込んだPID制御回路を用い、或いは、遺伝的アルゴリズム回路による遺伝的アルゴリズムの実行によって決定したニューラルネットワークの出力を上記に限らないPID制御回路の出力の加算点において付加するとしている。
【0005】
上記背景技術の制御方法では、制御動作の精度、安定性、収束特性等が不十分であり、高速の応答性を有しながらも多数のパラメータが関連し強い非線形特性を有する超音波モータを適正に動作させることは容易でない。
【先行技術文献】
【非特許文献】
【0006】
【特許文献1】特開2005-86922号公報
【特許文献2】国際公開第2007/049412号
【発明の概要】
【0007】
本発明は、上記背景技術に鑑みてなされたものであり、超音波モータのような音波機器を高速で精密に動作させることができる超音波機器用駆動装置等を提供することを目的とする。
【0008】
上記した問題を解決するための超音波機器用駆動装置は、超音波機器の駆動状態を含む複数の動作状態を計測する状態計測部と、状態計測部を用いてディープラーニング法により学習した学習部を含み、状態計測部が計測した動作状態を学習部で処理することにより制御信号を生成する監視制御装置とを備え、学習部は、与えられた目標状態を実現するように出力状態を決定するように学習している。ここで、学習に関して、目標状態とは、制御対象である超音波機器について目標とする動作状態であって、例えばトルク、回転速度、効率等に関するものである。また、出力状態とは、制御対象である超音波機器に対して出力として与えられる駆動状態であって、例えば周波数、電圧振幅、位相差等に関するものである。ここで、ディープラーニング法は、例えば深層強化学習に代表されるものであるが、これに限らず、畳み込みニューラルネットワーク(CNN)、回帰型ニューラルネットワーク(RNN)等を利用したものを含む。
【0009】
上記超音波機器用駆動装置では、監視制御装置が状態計測部を用いてディープラーニング法により学習し、与えられた目標状態を実現するように出力状態を決定するように学習した学習部を含むので、ディープラーニング法の利用により、速度や安定性の観点で学習効率が高く、かつ、超音波機器の動作について、より正確で高速の制御が可能になる。
【0010】
具体的な態様において、状態計測部は、駆動状態として、超音波機器の動作速度を計測する。動作速度は、例えば回転速度であり、超音波機器の回転速度の制御が可能になる。
【0011】
具体的な態様において、状態計測部は、超音波機器の温度と、超音波機器を駆動する周波数とを計測する。この場合、超音波機器の温度状態や超音波機器に供給される駆動信号の状態を反映した学習や動作制御が可能になる。
【0012】
具体的な態様において、状態計測部は、駆動状態として、超音波機器に供給される電圧に相当する値を計測する。この場合、エンコーダのように駆動状態の動作速度を直接検出するセンサが不要となり、超音波機器の軽量化やコスト低減を達成することができる。
【0013】
具体的な態様において、超音波機器の駆動状態を示す状態信号から駆動指令値を差し引いた差異に基づいて、超音波機器を動作させる指令信号を生成する制御回路をさらに備え、は、学習した学習部によって、制御回路の応答を修正して指令信号を補正する。この場合、古典的なPID制御に類似する構成となり、既存の装置に組み込みやすくなる。
【0014】
具体的な態様において、超音波機器は、超音波モータであり、状態計測部は、超音波モータに出力する周波数及び電圧振幅の少なくとも一方を駆動状態として計測する。
【0015】
具体的な態様において、学習部は、学習した結果を入力として受け付けて記憶し、超音波機器の動作状態から制御信号を計算する。この場合、外部で学習した結果をダウンロード等によって取得することができ、超音波機器用駆動装置を比較的簡易な構造とすることができる。なお、後述する実施形態欄で説明するように、監視制御装置は、学習を継続しながら制御方法を変化させる学習部を含むものであってもよい。
【0016】
具体的な態様において、制御信号は、超音波機器の入力電圧状態を与えるものであり、監視制御装置の出力状態に対応する。
【0017】
上記した問題を解決するための学習済モデルの生成方法は、超音波機器の入力電圧状態、駆動状態を含む動作状態、及び目標状態を示すデータを入力値として入力する手順と、入力値を学習データとしてディープラーニング法により学習することにより、駆動状態及び目標状態が入力されたときに、超音波機器の駆動状態が目標状態となるための入力電圧状態を算出する計算モデルを生成させる手順とを含む。
【0018】
具体的な態様において、入力電圧状態は、超音波機器に設けられた電極への入力電圧の位相、周波数、振幅、波形、又は、入力電圧の位相、周波数、及び振幅の差であり、駆動状態は、超音波機器の結果的な動作速度であり、動作状態のうち駆動状態を除いた駆動環境状態は、温度、負荷、負荷トルク、及び内在機構の摩擦係数の少なくとも1つであり、目標状態は、超音波機器の目標の動作速度である。なお、内在機構の摩擦係数とは、超音波モータの場合、ステータ及びスライダ間の摩擦係数を意味する。
【0019】
具体的な態様において、ディープラーニング法は、深層強化学習法である。
【0020】
上記した問題を解決するための学習プログラムは、超音波機器を駆動する監視制御装置に適用可能なコンピュータに実行させるプログラムを作成するためのプログラムであって、超音波機器の入力電圧状態、駆動状態を含む動作状態、及び目標状態を示すデータを入力値として入力する手順と、入力値を学習データとしてディープラーニング法により学習することにより、駆動状態及び目標状態が入力されたときに、超音波機器の駆動状態が目標状態となるための入力電圧状態を算出する計算モデルを生成させる手順とを実行させる。
【0021】
上記した問題を解決するための学習システムは、超音波機器を駆動する監視制御装置に適用可能なコンピュータに実行させるプログラムを作成するための学習システムであって、超音波機器の入力電圧状態、駆動状態を含む動作状態、及び目標状態を示すデータが入力値として入力される入力部と、入力値を学習データとしてディープラーニング法により学習することにより、駆動状態及び目標状態が入力されたときに、超音波機器の駆動状態が目標状態となるための入力電圧状態を算出する計算モデル生成部とを備える。
【0022】
上記した問題を解決するための学習済みプログラムは、超音波機器を駆動する監視制御装置に適用可能なコンピュータに、少なくとも、超音波機器の駆動状態を含む動作状態及び目標状態を示すデータを入力値として受け取る手順と、超音波機器についてディープラーニング法による学習を行うことによって獲得した計算モデルに基づいて、超音波機器の駆動状態が目標状態となるための入力電圧状態を算出する手順とを実行させる。
【0023】
上記した問題を解決するための学習済みシステムは、超音波機器を駆動する監視制御装置に適用される学習システムであって、少なくとも、超音波機器についてディープラーニング法による学習を行うことによって獲得した計算モデルに基づいて、超音波機器の駆動状態を含む動作状態及び目標状態を示すデータを入力値として入力される入力部と、超音波機器の駆動状態が目標状態となるための入力電圧状態を算出する算出部とを備える。
【図面の簡単な説明】
【0024】
【
図1】第1実施形態の超音波機器用駆動装置を説明する概念図である。
【
図3】超音波機器用駆動装置の学習を説明する図である。
【
図4】(a)及び(b)は、超音波機器用駆動装置の動作例を示すフローチャートである。
【
図5】第2実施形態の超音波機器用駆動装置を説明する概念図である。
【
図6】超音波機器用駆動装置の変形例を説明する図である。
【
図7】超音波機器用駆動装置の別の変形例を説明する図である。
【
図8】超音波機器用駆動装置の学習を説明する図である。
【
図9】超音波モータのさまざまな温度での速度応答を示すチャートである。
【
図10】(a)は、駆動周波数のスイープダウンに伴う速度応答を示し、(b)は、駆動周波数のスイープアップに伴う速度応答を示す。
【
図11】超音波モータに異なる電圧を印可した場合の温度上昇を示す。
【
図12】(a)は、超音波モータの非線形速度応答をシミュレートした結果を示し、(b)は、速度応答の温度依存性をシミュレートした結果を示す。
【
図14】(a)は、シミュレーションにおけるステップ状のスピードトラッキングを示し、(b)は、ステップ状のスピードトラッキングに際しての、指令周波数に応じた周波数アクションを示し、(c)は、正弦波状のトラッキングを示し、(d)は、正弦波状の場合の指令周波数に応じた周波数アクションを示す。
【
図16】(a)は、実験におけるステップ状のスピードトラッキングを示し、(b)は、ステップ状のスピードトラッキングに際しての、指令周波数に応じた周波数アクションを示し、(c)は、正弦波状のトラッキングを示し、(d)は、正弦波状の場合の指令周波数に応じた周波数アクションを示す。
【
図17】(a)及び(b)は、超音波モータがプルアウト領域で初期化されたときの一定の目標速度への追従を示している。
【
図18】(a)~(c)は、第2実施形態に関連する実験等を説明する図である。
【
図19】(a)~(c)は、変形例に関連する実験等を説明する図である。
【
図20】回転状態信号に対応する監視用のフィードバック電圧を示す。
【発明を実施するための形態】
【0025】
〔第1実施形態〕
以下、図面を参照しつつ、本発明に係る超音波機器用駆動装置、学習済モデルの生成方法、学習プログラム、学習システム等の第1実施形態について説明する。
【0026】
図1は、本実施形態の超音波機器用駆動装置100を含むモータ装置200を説明するブロック図である。超音波機器用駆動装置100は、超音波モータ10を目的の回転速度で動作させる駆動装置であり、状態計測部30と、周波数駆動装置50と、監視制御装置60とを備える。これらのうち、状態計測部30は、超音波モータ10の状態を検出する。周波数駆動装置50は、監視制御装置60からの制御信号である指令信号A1に応じて超音波モータ10を動作させる交流信号である駆動信号A2を生成する。監視制御装置60は、外部から駆動指令値Vrefを受け付けるとともに、状態計測部30による観測結果に基づいて、周波数駆動装置50に対して指令信号(制御信号)A1を出力することにより、周波数駆動装置50を適切に動作させる。
【0027】
駆動対象である超音波モータ10は、公知の超音波機器であり、環状のステータ4上に環状のスライダ2を重ね、これらをケース9内に収納した構造を有する。ステータ4の下面には、超音波振動を発生させる圧電振動子6が接着され、上面には、櫛歯状の溝4aが形成されている。スライダ2は、回転軸RXを介して軸受け8によって回転可能に支持されている。ステータ4下面の圧電振動子6の電極3に所定の高周波電圧信号SGを加えることにより圧電振動子6を励振させると、この振動がステータ4に伝わり、ステータ4上に一方向に進む進行波PWが形成され、ステータ4上の質点は楕円運動RMする。スライダ2はステータ4に所定の圧力で付勢されているので、振動するステータ4と圧接されているスライダ2との間に摩擦力が発生する。スライダ2はこの摩擦力によりステータ4の進行波PWの進行方向とは逆の方向に移動する。つまり、軸受け8に支持されたスライダ2が回転軸RXを中心として回転し、超音波モータ10が回転駆動される。なお、超音波モータ10に付随してエンコーダ装置5が設けられ、ステータ4又は回転軸RXの回転速度を目標状態として検出可能にしている。また、超音波モータ10に付随して温度計7が設けられ、超音波モータ10の全体的な温度を検出している。
【0028】
超音波機器用駆動装置100において、状態計測部30は、AD変換機能を含むデジタル回路で構成され、例えばDSPやマイコンによって実現される。状態計測部30は、周波数駆動装置50の駆動信号A2を電圧値として計測し、この電圧値について例えば周波数f等を計測し、この周波数fを動作状態Sの一要素として監視制御装置60に出力する。なお、周波数fは、観測値に限らず、監視制御装置60から周波数駆動装置50に出力される指令値としてもよい。状態計測部30は、エンコーダ装置5の出力に基づいて超音波モータ10の目標状態である回転速度βを検出し、回転速度βに対応する電圧値である回転状態信号Vを動作状態Sの一要素として監視制御装置60に出力する。回転状態信号Vは、結果的な動作速度であり、目標の動作速度である駆動指令値Vrefと対をなす。状態計測部30は、温度計7の出力に基づいて超音波モータ10の温度Tを検出し、この温度Tを動作状態Sの一要素として監視制御装置60に出力する。
【0029】
周波数駆動装置50は、超音波モータ10を動作させる発振装置であり、既存の超音波モータ10用の電子回路を流用することができる。周波数駆動装置50は、監視制御装置60から出力された指令信号(制御信号)A1に対応する周波数fで交流の駆動信号A2を形成する。駆動信号A2は、圧電振動子6の電極3に印可される高周波電圧信号SGに相当する。周波数駆動装置50は、指令信号A1として、例えば直流電圧信号を受け付ける。
【0030】
監視制御装置60は、コンピュータであり、超音波モータ10の状態を監視しつつ周波数駆動装置50を駆動する指令信号(制御信号)A1を出力する。
【0031】
図2に示すように、監視制御装置60は、プロセッサ61a、メモリ61b、及びインタフェース61cを有する。これらの要素は、バス61qを介して、互いに通信可能に接続されている。プロセッサ61aは、メモリ61bに記憶されているプログラムを読出して実行する。メモリ61bは、プロセッサ61aに読み込まれるオペレーティングシステム、各種プログラム、データ等を記憶する。インタフェース61cは、外部との通信やデータの授受を可能にする。監視制御装置60には、状態計測部30からデータを収集し周波数駆動装置50を駆動するアプリケーションソフトだけでなく、後述するディープラーニング法、より具体的には深層強化学習等の各種処理を実行するアプリケーションソフトも組み込まれている。
【0032】
図1に戻って、監視制御装置60は、
図2に示すコンピュータにインストールされた学習プログラムに従って動作することにより、超音波モータ10の駆動に関して教師なしで深層強化学習を可能にするものであり、深層強化学習に際してエージェントAGとして機能する。監視制御装置60は、ディープラーニングを実行するため、入力部62とニューラルネットワーク63とを含む。入力部62は、状態計測部30から入力された複数の入力値、すなわち周波数f、回転状態信号V、及び温度Tのデータを、外部から入力された駆動指令値Vrefと組み合わせた動作状態を状態信号として出力する。また、入力部62は、超音波モータ10の駆動状態を示す回転状態信号Vから1つの入力値である駆動指令値Vrefを差し引いた差異Verrを出力する。ニューラルネットワーク63は、状態計測部30を用いて深層強化学習した学習部163であり、学習部163は、深層強化学習によってトレーニングされる。ニューラルネットワーク63は、トレーニングの対象として単独で組み込まれるものに限らず、学習目的で2以上組み込まれてもよい。学習部163は、学習よって生成される計算モデルCMでもある。ニューラルネットワーク63自体は、公知のディープニューラルネットワークであり、入力層LIと1以上の中間層LMと出力層LOとを含み、入力層LIは、例えば4つのニューロンNRを含み、中間層LMは、多数のニューロンNRを含み、出力層LOは、1つのニューロンNRを含む。ニューロンNRは、1つ以上の入力を受け取り、それらの重み付け和から活性化関数を通して出力とする。入力層LIに対しては、4つのニューロンNRに対応して、入力部62の出力に対応する複数の動作状態S(f,T,V,Vref)が与えられる。動作状態Sは、エージェントAGにとっての学習データとなっている。出力層LOからは、1つのニューロンNRに対応して、動作又はアクションAが出力される。アクションAは、電圧値としての指令信号A1に対応し、周波数駆動装置50を周波数変化Δfで駆動する。アクションAは、入力電圧状態又は制御信号に相当し、超音波モータ10に設けられた電極3への出力状態である。アクションAは、周波数に限らず、例えば入力電圧の位相、振幅、波形等の情報を含む。
【0033】
なお、監視制御装置60が深層強化学習つまりトレーニングを終了した場合、ニューラルネットワーク63が固定的なものとなる。これにより、駆動指令値Vrefや周波数f等を含む動作状態SからアクションAを高速で計算することができる。学習を終了した監視制御装置60は、学習済みシステムである。
【0034】
なお、監視制御装置は、ニューラルネットワーク63又は学習部163に対して学習を継続するようなものであってもよい。この場合、学習を継続するので、アクションAが連続的に徐々に変化し、制御方法が時々刻々と変化するものとなる。こうすることで、例えば超音波モータ10の摩耗面が変化していく場合にも対応することができる。なお、学習を継続する監視制御装置60は、これまでの学習結果が反映されている観点で学習済みシステムといえる。
【0035】
監視制御装置60は、上位システムやインターネットからオンラインで取得し或いはオンラインで学習を受けたニューラルネットワーク63をオフラインで動作させるようなものであってもよい。その場合、監視制御装置60は、深層強化学習のエージェントとして動作しないので、ニューラルネットワーク63の応答速度が超音波モータ10の応答性に関する要求を満たすものであればよく、比較的低速のコンピュータ等で構成することができる。
【0036】
図3は、
図1に示す超音波機器用駆動装置100の監視制御装置60を事前に学習させる装置を説明する図である。この場合、超音波モータ10に代えて仮想的超音波モータ110が組み込まれている。仮想的超音波モータ110は、コンピュータ又はマイコンで構成され、目的とする超音波モータ10の状態や応答を再現するシミュレーションを実行するアプリケーションソフトの機能によって実現される。仮想的超音波モータ110は、LCR回路を基本とする等価回路モデルによって実現される。仮想的超音波モータ110によって監視制御装置60のニューラルネットワーク63を予め深層強化学習しておけば、仮想的超音波モータ110を実機である超音波モータ10に置き換えた場合の深層強化学習が迅速となり、超音波モータ10の制御のための深層強化学習の信頼性が高まる。仮想的超音波モータ110は、等価回路モデルに限らず、様々なシミュレーションモデルによって実現される。
【0037】
図4(a)は、超音波機器用駆動装置100の学習の動作例を概念的に説明する図である。監視制御装置60のプロセッサ61aは、超音波モータ10について、目標状態Vrefの入力や、例えば温度Tである駆動環境状態の入力を受け付ける(ステップS11)。目標状態や駆動環境状態は、外部からの信号である必要はなく、メモリ61bに予め用意された初期値から選択されるものであってもよい。プロセッサ61aは、目標状態Vrefを実現するような例えば周波数f等を含む入力電圧状態を暫定的に決定し、決定した入力電圧状態に基づいて超音波モータ10を駆動する(ステップS12)。この際、プロセッサ61aは、インタフェース61cを介して、周波数駆動装置50に入力電圧状態を出力する。プロセッサ61aは、超音波モータ10の応答として、状態計測部30からインタフェース61cを介して、駆動状態に相当する回転状態信号V等の動作状態を取得し、回転状態信号Vの差異Verrを算出する(ステップS13)。監視制御装置60のプロセッサ61aは、ステップS13で得た差異Verrに基づいて報酬を計算し、深層強化学習により学習部163を修正する(ステップS14)。この際、報酬の遅れも加味した報酬の累積値が最大となるように、エントロピィにも配慮してポリシィが選択され、そのようなポリシィを実現するものとしてニューラルネットワークが用いられる。なお、上記のような学習過程はエピソードを完了するまで繰り返され、さらに複数のエピソードが繰り返される。初回より後の学習過程では、ステップS12において、目標状態Vrefを実現するような入力電圧状態の決定には、前回までの学習結果が反映される。
【0038】
図4(b)は、超音波機器用駆動装置100の学習済みの動作例を概念的に説明する図である。プロセッサ61aは、超音波モータ10について、目標状態Vrefの入力や、例えば温度Tである駆動環境状態の入力を受け付ける(ステップS21)。目標状態は、外部からの信号である。プロセッサ61aは、目標状態Vrefを実現するような例えば周波数f等を含む入力電圧状態を、超音波モータ10について予め
図4(a)に示すような深層強化学習を行うことによって獲得した計算モデルに基づいて決定し、決定した入力電圧状態に基づいて超音波モータ10を駆動する(ステップS22)。なお、上記のような制御は、目標状態Vrefが与えられる限り繰り返される。
【0039】
上記で説明した第1実施形態の超音波機器用駆動装置100は、超音波モータ10の駆動状態を含む複数の動作状態を計測する状態計測部30と、状態計測部30を用いて深層強化学習した学習部163を含み、状態計測部30が計測した動作状態を学習部163で処理することにより制御信号を生成する監視制御装置60とを備え、学習部163は、与えられた目標状態を実現するように出力状態を決定するように学習している。
【0040】
上記超音波機器用駆動装置では、監視制御装置60が状態計測部30を用いた深層強化学習によって与えられた目標状態を実現するように出力状態を決定するように学習した学習部163を含み、超音波モータ10の制御はマルコフ決定過程としての定式化が可能であるので、速度や安定性の観点で学習効率が高く、かつ、超音波機器の動作について、より正確で高速の制御が可能になる。
【0041】
〔第2実施形態〕
以下、本発明に係る超音波機器用駆動装置等の第2実施形態について説明する。第2実施形態の駆動装置は、第1実施形態の駆動装置を部分的に変更したものであり、同一部分については同一の符号を付して重複説明を省略する。
【0042】
図5は、本実施形態の超音波機器用駆動装置100を含むモータ装置200を説明するブロック図である。超音波機器用駆動装置100は、状態計測部30と、制御回路40と、周波数駆動装置50と、監視制御装置60とを備える。ここで、制御回路40は、超音波モータ10の駆動状態を示す回転状態信号Vから得た差分加算信号A0から操作量に相当する指令信号A1を生成する。監視制御装置60は、制御回路40の応答を修正して指令信号A1を補正する。
【0043】
状態計測部30は、状態計測部30は、エンコーダ装置5の出力に基づいて超音波モータ10の回転速度βを検出し、回転速度βに対応する電圧値である回転状態信号Vを差分加算器81に出力するとともに、この回転状態信号Vを動作状態Sの一要素として監視制御装置60に出力する。なお、状態計測部30は、温度Tや周波数fを動作状態Sの一要素として監視制御装置60に出力し、駆動指令値Vrefを動作状態Sの一要素として監視制御装置60に出力する。
【0044】
制御回路40は、AD変換機能やDA変換機能を含むデジタル回路で構成される。制御回路40は、PID制御器に相当し、超音波モータ10の駆動状態を示す回転状態信号Vから駆動指令値Vrefを差し引いた差異Verr、つまり差分加算信号A0に基づいて、周波数駆動装置50に入力すべき指令信号A1を生成する。この場合、制御回路40は、監視制御装置60の制御下で動作しており、深層強化学習を反映した調整を受け、監視制御装置60による修正が加えられた指令信号A1を出力する。制御回路40は、差異Verrを本来の操作量とするものであるが、監視制御装置60による修正によって比例制御的な要素を組み込んだ高精度の動作特性を示すものとなっている。指令信号A1は、第1実施形態の装置におけるアクションAに相当する入力電圧状態又は制御信号であるが、この場合、指令信号A1は、差分値であり、周波数の差に限らず、例えば入力電圧の位相の差、振幅の差、波形の差等の情報を含む。
【0045】
監視制御装置60は、コンピュータであり、超音波モータ10の状態を監視しつつ制御回路40の動作状態を制御し、修正した指令信号A1を出力させる。監視制御装置60は、ニューラルネットワーク63によって決定された動作又はアクションAtを制御信号として出力する。アクション(制御信号)Atは、指令信号A1に関して電圧補正値ΔV或いはΔfを指定するものであり、周波数駆動装置50に対する周波数補正値Δfに相当する情報である。
【0046】
監視制御装置60は、
図1に示す監視制御装置60と同様に、教師なしで深層強化学習を可能にするが、超音波機器用駆動装置100に差分加算器81や制御回路40を追加したことに対応して、
図1に示す監視制御装置60と異なり、入力部62に相当するものを有していない。
【0047】
図6は、
図1に示す超音波機器用駆動装置100を部分的に変更した変形例を説明する図である。この場合、制御回路140は、周波数駆動装置50の機能を取り込んだものとなっている。このため、制御回路140からは、周波数、電圧振幅、及び位相を要素とする電圧信号が出力されて、超音波モータ10には、これらの状態に基づいた2つの交流電圧が、駆動信号A2として入力される。
【0048】
図7は、
図1に示す超音波機器用駆動装置100の別の変形例を説明する図である。この場合、補正装置160は、深層強化学習が終了したニューラルネットワーク63を組み込んだものとなっている。補正装置160は、深層強化学習のエージェントAGとして動作しないので、ニューラルネットワーク63の応答速度が超音波モータ10の応答性に関する要求を満たすものであれば、比較的低速のコンピュータであってもよい。補正装置160は、オンラインでダウンロード等によって取得し或いはオンラインでクライアントとして学習のトレーニングを受けたニューラルネットワーク63をオフラインで動作させるようなものであってもよい。
【0049】
図8は、
図1に示す超音波機器用駆動装置100の監視制御装置60を事前に学習する方法を説明する図である。この場合、超音波モータ10に代えて仮想的超音波モータ110が組み込まれている。仮想的超音波モータ110は、コンピュータ又はマイコンで構成され、目的とする超音波モータ10の状態や応答を再現するシミュレーションを実行するアプリケーションソフトの機能によって実現される。
【0050】
図5~8に示す差分加算器81については、図示のように独立したものである必要はなく、監視制御装置60の一機能として監視制御装置60に組み込むことができる。或いは、差分加算器81と状態計測部30とを組み合わせたものを観測装置130と呼び、かかる観測装置130を単一のDSPやマイコンによって実現することができる(
図5参照)。
【0051】
〔超音波モータの制御に関する研究結果〕
〔1.概要〕
超音波モータ(USM)10の回転速度の制御(以下、速度制御と称する)は、マルコフ決定過程(MDP)として定式化できるため、深層強化学習(DRL)型のコントローラ(エージェントAG)を適用して、具体的には
図1に示す監視制御装置60を適用して、特定の状態で最適な制御動作を実行することにより、超音波モータのパフォーマンスを最適化できる。エージェントAGは、明示的なモデル定義なしで超音波モータと対話することによってオンラインでトレーニングされ、トレーニングされたエージェントAGは、より高速な応答のため、超音波モータをオフラインで制御することができる。エージェントAGの学習に際して、ソフト・アクタ・クリティック(SAC)の構成が、そのサンプル効率、高速収束、及び安定した学習のために選択された。SACのエージェントAGは、トレーニング時間を短縮するために、最初にシミュレーションでトレーニングされ、次に実験でトレーニングされた。トレーニングを受けたエージェントAGは、速度動作範囲を拡大し、応答時間を最小限に抑え、共振領域周辺の堅牢性を高め、速度ヒステリシスを克服し、温度ドリフト下でのパフォーマンスを安定させることができる。
【0052】
〔2.超音波モータ(USM)の特性評価〕
(2a)実験装置
速度制御の対象として、つまり超音波モータ10として、新生工業社のUSR60モータが使用された。超音波モータは90°の位相差を有する2つの正弦波信号であって、電圧振幅が約300Vppで、駆動周波数が約40kHzの正弦波信号によって駆動される。超音波モータ10を駆動する周波数駆動装置50として、市販のドライバを使用してもよいが、駆動信号の制御性を高めるためにカスタマイズした実験装置を開発した。NF社のWF1968関数発生器を使用して、2つの純粋な正弦波信号を生成し、2台のHSA4052増幅器によって、信号を目的のレベルに増幅した。エンコーダ装置5としてUNIPULSE社のUTM IIIエンコーダを使用し、超音波モータの回転速度を測定し、UNIPULSE社のTM380モニタを介して速度アナログ信号を受信した。超音波モータ内部の温度は、温度計7を構成するモータ内部に取り付けられたkタイプの熱電対を介して推定された。熱電対は、温度測定用にNF社のDM2561Aデジタルマルチメータに接続された。
【0053】
監視制御装置60つまりコンピュータとして、Python環境が使用された。PythonのPyserialライブラリを使用して、コンピュータは、RS232を介して、制御用の周波数駆動装置50を構成するDSPであるDSPACE1104ボードに接続された。この接続を介して、指令された駆動周波数がコンピュータからDSPACE1104ボードに伝達された。指令された周波数は、DSPから関数発生器へのアナログ信号として印加された。アナログ信号を±1Vの間で変化させることにより、周波数変調によって駆動周波数を39~45kHzの間で出力した。同様に、温度測定の場合、PythonのPyVisaライブラリにより、コンピュータとデジタルマルチメータ間の汎用インターフェースバス(GPIB)接続を介した通信が可能になった。
【0054】
(2b)実験評価
上記実験装置を使用して、超音波モータの速度応答の非線形機能を評価した。
図9に、さまざまな温度での速度応答を示す。無負荷で250Vppの電圧振幅の条件下で、様々な温度において、駆動周波数が45~39kHzの間で掃引された。周波数が低くなると、回転速度は連続的な変化率で増加し、その後、主に非線形接触力学に起因するプルアウト(pull-out)現象によって突然停止した。一般に、超音波モータのコントローラは、モータ出力を制限するプルアウト領域を回避するために、駆動周波数に下限を設定する。実験装置において、速度応答は、温度が上昇しても、勾配が比較的小さい低速でほぼ同じであったが、高速では、温度上昇により、低周波数に対する速度応答のドリフトが発生し、ピーク速度がわずかに増加した。
【0055】
速度応答のもう1つの非線形機能は、超音波モータの応答が周波数掃引方向に依存する速度ヒステリシスである。
図10(a)は、駆動周波数のスイープダウンに伴う電圧振幅の増加下での速度応答を示している。振幅の増加に伴い、応答特性のより高い周波数へのわずかなシフト、ゼロ以外の回転速度でのプルアウト、並びに応答の屈曲部(勾配が急激に増加するポイント)の変化があった。さらに、
図10(b)に示すように、駆動周波数がスイープアップされると、電圧振幅が速度応答に影響を与えた。電圧振幅が高い場合、超音波モータは、低い周波数つまりプルイン(pull-in)周波数で、通常の動作を再開する。たとえば、400Vppの電圧振幅は、両掃引方向でほぼ同じ応答を示したため、ヒステリシスが小さくなった。一方、250Vppの電圧振幅では、プルアウト周波数とプルイン周波数との間に大きなギャップがあった。商用ドライバでは、より高い電圧振幅を使用して、プルアウト後でもより一貫した動作を維持するが、このような高振幅は出力の大幅な増加には寄与せず、
図11に示すように、電力損失が大きくなって過熱するため、超音波モータの寿命を短くする。より困難な制御問題を解決し、より高い非線形性を維持する観点で、超音波モータのための強化学習コントローラに対する今回のトレーニング及び評価を通して、電圧振幅を250Vppに設定した。
【0056】
(2c)シミュレーションモデル
提案している強化学習コントローラの有効性を評価するため、実験的評価の前にシミュレーションで評価を行った。超音波モータの動作をシミュレートするために、有限要素法(FEM)、変分法、等価回路モデル(ECM)等、複雑さ及び精度が異なるいくつかのアプローチがある。有限要素法は、高精度のアプローチの1つであり、設計段階で適用することができるが、計算量が多いため、比較的遅くなる傾向がある。一方、変分法は、システムの動作を記述する一連の微分方程式を作成することにより、システムを正確にモデル化できる。変分法では、ある初期条件から始めて定常状態に達するには計算コストがかかり、かつ、定常状態の解を直接解くとモデルの不正確さ及び不安定さを引き起こす複数の解が得られる可能性がある。最後の一般的な取り組み方法は等価回路モデルである。等価回路モデルは、接触力学を電気的にモデル化できないため、精度が低くなる可能性があるが、モータ状態の高速オンライン計算を可能にする。その単純さ、さらには、コントローラの設計に正確なモデルが必要でないため、超音波モータのシミュレーションには等価回路モデルを使用すれば、コントローラの試作が高速化される。圧電リングは、固定子を表すLCR回路に平行な減衰容量(Cd)で表される。固定子は、ピエゾリングでの電気機械的変換を表す結合係数Θの変圧器によって電力が供給される。式(1)は、固定子の等価回路モデルを表す。ここで、L
m、R
m、及びC
mは、それぞれ機械的インダクタンス(質量)、抵抗(減衰)、及び静電容量(逆剛性)を表す。
Agilent社の4294Aインピーダンスアナライザを使用して、ECMパラメータを表1のように推定した。
【表1】
与えられた電圧振幅V
0及び角周波数ω(=2πf)の下で、式(1)を用いて振動振幅ξ
0を解析的に解くことができる。
【0057】
単純化のため、接触力学を無視し、式(2)のように、ロータ速度がステータの最大接線振動速度に等しいと仮定する。ここで、hはステータの高さ、rはステータの半径である。結果として得られる回転速度は、機械的共振周波数
を中心に対称になる。プルアウト現象を導入するために、式(3)のように、駆動周波数がf
out(f
out=f
r)よりも低い場合、回転速度をゼロにする。さらに、速度ヒステリシスは、駆動周波数がf
inより低く(f
in=1.05f
r)、最後の回転速度も式(3)のようにゼロである場合、現在の回転速度をゼロに調整する。
【0058】
温度依存性のモデリングには、2つの実験式を使用して、動作温度に応じてステータのECMパラメータをシフトする必要があった。式(4)は、温度の上昇(静電容量の増加)につれてステータが軟化する剛性を等価的にモデル化したものである。電流温度Tの最低温度Tminからの偏差に応じて、静電容量Cmは初期静電容量Cm0から係数αcだけずれる。同様に、式(5)は、減衰の変化を等価的にモデル化したもので、温度が上昇するにつれて、減衰がわずかに減少し、ピーク速度がわずかに増加する。経験的パラメータαc及びαrは、それぞれ0.0015 1/℃及び0.003 1/℃と仮定された。
【0059】
上記のように設定されたECMを使用して、
図12(a)に示すように超音波モータの非線形速度応答をシミュレートすることができる。また、
図12(b)に示すように、温度依存性をシミュレートした。シミュレーションモデルの結果は実験動作に非常に似ており、これらの正確な一致がなくても、コントローラの設計中又は試作中にシミュレーションから実験への移行が容易になるといえる。
【0060】
〔3.深層強化学習〕
(3a)概要
強化学習は、一般的には、コントローラであるエージェントを環境(plant)と相互作用させ、試行錯誤を通じてそのポリシィ(制御則)を改善するように設定することにより、最適制御戦略の開発に関係する機械学習の一種である(本発明では、エージェントAGとしての監視制御装置60を、超音波モータ等の超音波機器に対する作用とこれからの応答との環境下に置くことで、監視制御装置60の学習部163を、超音波機器について目標状態を実現するように超音波機器に対する出力状態つまりアクションAを決定するものとなるように、トレーニングすることを意味する。)。深層強化学習(DRL)は、モデルのないオフライン計算でより最適な意思決定を提供できるため、無限の計画期間にわたって最適なアクションを実行でき、モデル予測制御(MPC)よりも優れている。電磁モータの速度制御のために深層強化学習が提案され、シミュレーション結果はPIDコントローラと比較して優れた性能を示した。深層強化学習は、ロボットによる手の操作等にも適用されている。強化学習つまりRL問題は、状態(s
t)で実行する最適なアクション(a
t)を定義して、即時の報酬(r
t)だけでなく、期待される報酬(R
t)の合計を最大化する。RL問題の一般的な表現は、マルコフ決定過程(MDP)である。マルコフ決定過程は、将来の状態(s
t+1)と報酬(r
t)が現在の状態とアクションにのみ依存し、他の以前の状態またはアクションには依存しないことを前提としている。マルコフ決定過程に従い、次のシーケンスが得られる(s
t → a
t → r
t(s
t,a
t)→ s
t+1 → a
t+1 → r
t+1(s
t+1,a
t+1) → …)。マルコフの仮定の下で、式(6)のように、状態(s
t)から始まり、アクション(a
t)を実行する、予想される将来の報酬の合計(有限合計または割引無限合計)としてQ値を定義する。Q値は、即時の報酬と割引された予想される将来の報酬との合計として見積もることができる。
割引係数γ[0~1]を使用すると、期待される報酬が有限であることを保証して、無限の時間区間計画(infinite horizon planning)を実行できる。割引係数1は、将来のすべての報酬を等しく考慮するが、割引係数0は、即時の報酬のみを考慮する。アクション(a
t)の選択は、現在のポリシィπ(a
t|s
t)に依存するため、学習の目的は、式(7)のように最適なアクションを選択することにより、このQ関数を最大化するポリシィπを見つけることである。離散的な状態及びアクションについては、Qまたはπの表形式での表現が機能するが、深層強化学習アルゴリズムに帰着する連続的な状態及びアクションのため、ディープニューラルネットワークが選択される。
【0061】
最適なポリシィを見つけるために、さまざまな長所と短所を持つさまざまなモデルフリーアルゴリズムが存在する。深層強化学習に関心を持った最初のアルゴリズムの1つは、ゲーム用の深層Q学習であり、与えられた状態においてすべての離散アクションに期待されるQ値を出力する単一のQネットワークを使用し、最適なアクションがそれらの中から貪欲に選択された。Qベースのアルゴリズムは以前のすべてのデータを使用しポリシィに反しているため、サンプル効率が高いが、間違ったQ関数に収束する可能性があるため、あまり安定していない。より安定した学習を提供する別のアプローチは、近位ポリシィ勾配のようなポリシィ勾配法を使用してポリシィを直接学習することである。この種のアルゴリズムは、ポリシィに基づいて最新のデータのみを使用して学習するため、収束により多くの時間を要しサンプルが非効率になる傾向があるが、ポリシィである真の目的に合わせて最適化されるため、より安定する。両方の長所を生かすために、アクタ・クリティックの手法は、サンプル効率を高めながら、より安定するように開発された。深層決定方策勾配法(DDPG)は、継続的な環境で複雑な運動技能を学習できるようにするアクタ・クリティックなアルゴリズムである。深層決定方策勾配法は、環境とのすべての相互作用(エクスペリエンス)が後で学習するためにエクスペリエンスバッファに保存されるため、サンプル効率が高くなる。深層決定方策勾配法は、2つの主要なネットワークを使用し、1つはQ機能(クリティック)を学習し、もう1つはポリシィ(アクタ)を学習する。深層決定方策勾配法のバリエーションとして、ツイン遅延DDPG(TD3)がある。TD3は、2つのQネットワークを使用して、より保守的なQ推定を提示し、より安定した学習となる。ソフト・アクタ・クリティック(SAC)のアルゴリズムで提案されている深層決定方策勾配法の決定アクションではなく、確率論的アクションを使用することにより、さらなる改善がなされている。ソフト・アクタ・クリティックは、状態が与えられたアクションの平均及び標準偏差を出力する確率論的アクタを使用し、ガウス分布のサンプリングによってアクションが選択される。ソフト・アクタ・クリティックは、式(8)のようにエントロピィ(H)を導入することにより、最適なポリシィを見つけるために変更された目標を使用する。エントロピィ項は、現在の行動にどれほど自信があるかを決定する。

これにより、報酬を最大化し、安定した行動を保証するアクションを見つけるための探索が促進される。深層決定方策勾配法とは異なり、ソフト・アクタ・クリティックはパラメータの初期化に対してより堅牢であり、収束特性が優れている。超音波モータの速度制御用の深層強化学習を実施するために、収束の安定性と優れた探索性との観点で、ソフト・アクタ・クリティックのアルゴリズムが選択された。このアルゴリズムは、速度ノイズが一般的である超音波モータの確率論的な動作にも適している。
【0062】
(3b)超音波モータの速度制御用の深層強化学習
ここ数年の深層強化学習の大きな成功からすれば、超音波モータの制御について現在の課題を克服するために深層強化学習を適用することは将来性があるといえる。手始めに、速度制御に対してそれをテストする。これまでの研究において、速度制御にニューラルネットワークを適用したものがあるが、不安定性と収束の遅さとに悩まされ、即時の速度誤差最小限に抑えることが目的であったため近視眼的になりやすい。一方、ソフト・アクタ・クリティックは、エクスペリエンスバッファ及びQネットワークのおかげでサンプル効率が高く、長期計画で最適な行動を選択する。また、確率論的な性質があるため、信号ノイズに対してより堅牢になる。
【0063】
既述のように、超音波モータの速度応答は、高い非線形性に悩まされ、その動作は、前負荷、負荷トルク、電圧振幅、及び温度を含む動作条件に依存する。ここでは、定電圧振幅とした無負荷動作に焦点を当てることにより、問題を単純化する。250Vppの電圧振幅が印加されるため、かなりのヒステリシスが生じる。超音波モータの速度制御用のソフト・アクタ・クリティックのエージェント(コントローラ)AGを実現するには、入力状態、制御アクション、及び報酬関数を定義する必要がある。状態ベクトルは、マルコフ性が満たされるように選択され、システムは、回転速度について完全に観測可能である。したがって、状態ベクトルには、式(9)のように、駆動周波数(f
t)、モータ温度(T
t)、モータの回転速度(V
rt)、及び目標速度(V
targett:駆動指令値Vrefに対応する目標回転速度)を含めることが望ましい。
式(3)で説明したように、現在の回転速度は、速度ヒステリシスにより、駆動周波数と以前の回転速度とに依存する。その結果、Qネットワーク内の将来の回転速度(報酬)を推定するには、駆動周波数f
tとモータ回転速度V
rtとが必要である。温度変化は、速度応答の変化を引き起こす可能性があり、モータ温度T
tが状態定義に含まれていない場合、最適ではない動作を引き起こす可能性がある。様々な目標速度にとって最適なポリシィを学習するには、目標速度V
targettを状態ベクトルに追加することが望ましい。制御アクション(a
t)は、式(10)のように現在の周波数に適用する周波数のアップデートである。強化学習の最も困難な部分は、学習プロセスとエージェントの最適性とに影響を与える報酬関数の適切な定義である。報酬関数の設計に関する具体的なガイドラインは不明であり、すべての問題に対応できる普遍的な関数は見つかっていない。しかしながら、平均二乗誤差(MSE)又は平均絶対誤差(MAE)は、問題に対する典型的な選択肢であるといえる。位置制御の問題については、二次の誤差又は平方根誤差と比較して絶対誤差が最高のパフォーマンスを発揮することを示唆する文献がある。しかしながら、我々が扱う速度制御の問題については、二乗根誤差の方が応答が速く、定常状態誤差が小さいことがわかった。式(11)は、提案している報酬関数である。報酬は、現在の回転速度(V
rt)と目標速度(V
targett)の間の絶対速度誤差の平方根のマイナス値に等しくなる。さらに、報酬には、極端なアクションにペナルティを課しコントローラの労力を最小限に抑えるための加重(w
a)絶対アクションが含まれる。提案している速度制御の簡略化されたマルコフ決定過程は、
図1に付記したようなものであり、ここで説明しているシミュレーションや実験は、第1実施形態の回路を前提としている。
【0064】
〔4.結果〕
上述したSACエージェントは、表2の設計パラメータを使用して、シミュレーションと実験の両方で実施された。機械学習における一般的な課題は、パラメータの調整である。したがって、これらのパラメータは、エージェントの目的に応じてさらに調整する必要がある場合がある。ReluアクティベーションとAdamオプティマイザとは、一般的なニューラルネットワークの選択肢である。精度を損なうことなく計算の労力を最小限に抑えるために、ネットワークサイズを最適化する必要がある。割引係数γとエントロピー重みαHは、環境の確率論と状態間の長期的な依存性とに依存して最適なアクションの選択に影響を与える可能性がある。アップデートレートεは、ターゲットネットワークがアップデートされるレートを制御する。εが小さいと、学習は遅くなるが安定し、逆にεが大きいほど、学習は速くなるが、不安定になる可能性がある。同様に、学習率Lra及びLraは、ネットワークアップデートのステップ勾配のサイズを制御し、学習速度及び安定性に影響を与える可能性がある。バッチサイズが大きいと、ステップ勾配が安定するが、計算コストが高くなる。現在のパラメータの選択は適切な結果をもたらしているといえるが、パラメータの調整は、将来の課題である。
【表2】
【0065】
学習プロセスの収束を高速化するには、入力状態を正規化する必要がある。ネットワークに供給する前に、ガウス正規化が状態に対して適用された。入力状態変数の範囲は、駆動周波数で、39~45kHz、温度で、20~60℃、回転速度で、0~300rpmであった。学習プロセスをさらに安定させるために、周波数アクションは±2kHzに制限された。
【0066】
(4a)シミュレーション
提案しているソフト・アクタ・クリティック(SAC)エージェントは、〔超音波モータの特性評価〕欄で説明されたシミュレーションモデルを使用して評価された。エージェントは、1000エピソードで、それぞれ30ステップのトレーニングを受けた。各エピソードの開始時に、目標速度V
targetとモータ温度T
tがそれぞれの範囲から均一にサンプリングされ、エピソードの残りを通して一定に保たれた。
図13にシミュレーションの学習曲線を示す。ここで、実線は、アクタ・ニューラルネットワークからの報酬を示し、点線は、クリティック・ニューラルネットワークからの報酬を示し、破線は、両者の平均を示す。ネットワークがランダムな重みで初期化されたため、最初のいくつかのエピソードの報酬は低くなった。エージェントが適切なポリシィを学習すると、報酬は、エピソード200付近でほぼ安定した値に増加した。トレーニングコストが低く、さらなる最適化のため、さらなるトレーニングが実行された。
図13では、平均報酬(5エピソード以上の窓)が、より安定した学習曲線を示すためにプロットされている。期待される報酬は、初期状態が与えられたQネットワークによって期待される報酬である。当初、実際の報酬と期待される報酬との間にはかなりのミスマッチがあったが、その後のエピソードでほぼ同じ値に収束した。これにより、Qネットワークがシステムの動作を正確に予測できることを確認できた。
【0067】
トレーニングの1000エピソードの後、エージェントは、段階的な目標速度と正弦波的に変化する目標速度とを使用して評価された。評価中、ネットワークパラメータは固定され、オンライン最適化は実行されない。結果として、評価プロセスは、トレーニングよりもはるかに高速となる。SACアルゴリズムは時間に依存しないため、横軸はステップとしてラベル付けされる。ハードウェアの電力、アプリケーションの要求、及びシステムの応答性に依存して、ステップは数分の1秒から数秒まで変化する可能性がある。
図14(a)は、50rpmのステップで0~300rpmの間で変化する段階的な目標速度を示している。回転速度は50ステップごとに段階的に変化した。すべての目標速度で約1rpmの誤差が発生するほぼ完全な追従又はトラッキングが達成されている。目標速度と実際の回転速度との間には、常に1サンプル時間の遅延があるため、目標速度がアップデートされると速度誤差は50rpmに跳ね上がるが、応答はほぼ瞬時であり、目標速度に到達するのにほぼ1ステップかかった。
図14(b)は、速度制御の指令周波数とSACエージェントの周波数アクション出力を示している。新しい目標速度が命令されたときを除いて、周波数アクションは常にゼロであった。周波数アクションは必要に応じて最大2kHzに達し、応答時間が大幅に短縮された。低速かつ高駆動周波数では、周波数アクションが高速かつ低駆動周波数の場合よりも高かった。これは、速度応答の非線形性を直接的に示す結果であり、従来の線形コントローラでは補償することができない。
図14(c)に示すように、正弦波状に変化するように命令することにより、さらなる評価が行われた。回転速度は0~300rpmの間で10サイクル変化し、各サイクルは100ステップ続けたものである。この場合も、完全なトレースが実現され、結果として生じる速度誤差は、サンプルの時間遅延によるものである。
図14(d)は、指令速度に応じた周波数アクションの変化を示している。周波数アクションは、非線形な速度応答のために低速で急激に変化した。
【0068】
(4b)実験
シミュレーションでのエージェントの動作達成に続いて、SACエージェントが実験的に実施された。現在の実験装置を使用すると、エージェントの1ステップが約10ミリ秒であることは着目に値する。主な制限要因は、RS232及びGPIB接続を介する通信遅延である。エージェントは、シミュレーションのようにランダムに初期化されず、シミュレーションでトレーニングされたネットワークがネットワークの初期の重みとして使用された。このような初期化により、より高速な学習とより初期の安定した動作が可能になり、完全にランダム性を持たせた場合よりもハードウェアにとって安全になる。エージェントは、500エピソードのトレーニングを受け、
図15に示すように、わずか100エピソードで許容できるパフォーマンスを実現できた。エージェントは、トレーニングの完了後、
図16に示すように実験的に評価された。シミュレーションとは異なり、実験では速度信号にノイズがある。その結果、完全なトラッキングを行っても、速度リップルのために回転速度の誤差は約4rpmとなった。
【0069】
SACエージェントは、即時の報酬を最大化する最適なアクションを実行するだけでなく、即時の報酬に直接寄与しないアクションを実行できるが、期待される報酬を増やすことができる。
図17は、超音波モータがプルアウト領域で初期化されたときの一定の目標速度への追従を示している。PIDのような線形コントローラは、プルアウト領域で操作しても発散するだけである。プルアウト領域を脱出するには、超音波モータが動作を再開し、最適な周波数を指令できるように、駆動周波数をプルイン周波数よりも高くする必要がある。このような軌道計画は、ファジィルール又は教師あり学習手法を用いても実施困難である。モデルの識別とオンライン最適化を犠牲にすることで、モデル予測コントローラを用いた長期的な計画を実現することができる。提案しているSACエージェントは、
図17(a)に示すように、所望のターゲット速度に追従することができる。超音波モータは、超音波モータが動作できない39kHzの駆動周波数で初期化された。エージェントは、周波数をプルイン領域に上げることにより、プルアウト領域を脱出するように周波数アクションを命令した。次に、
図17(b)に示すように、周波数を下げて目標速度を実現した。
【0070】
図18は、
図4に示す第2実施形態の超音波機器用駆動装置100について、評価実験を行った結果を示す。
図18(a)はシミュレーションのトレーニング曲線を示す。
図18(b)及び18(c)は、速度制御に対するSACエージェントの評価を説明するものである。
図18(b)は、実験におけるステップ状のスピードトラッキングを示し、
図18(c)は、正弦波状のスピードトラッキングを示す。第2実施形態の回路構成とした場合も、第1実施形態の回路構成とした場合と同様の結果が得られていることがわかる。
【0071】
以上では、監視制御装置60が監視する動作状態Sとして、周波数f、温度T、回転状態信号V、及び駆動指令値Vrefを設定しているが、動作状態Sとして、上記と異なる要素を追加することができる。また、動作状態Sのうち駆動状態(周波数f、回転状態信号V)を除いた駆動環境状態は、温度Tに限らず、負荷や負荷トルクであってもよい。
【0072】
監視制御装置60が監視する動作状態Sとして、周波数fや温度Tを省略し、回転状態信号V、駆動指令値Vref、超音波モータ10に供給される電圧といった他の入力信号から周波数fや温度Tといった情報を推定することもできる。つまり、超音波機器用駆動装置100をセンサレス又は省センサとすることもできる。
【0073】
図19は、センサレスの超音波機器用駆動装置100について、評価実験を行った結果を示す。
図19(a)はシミュレーションのトレーニング曲線を示し、
図19(b)及び19(c)は、実験におけるステップ状の2パターンのスピードトラッキングを示す。なお、
図20は、回転状態信号Vに対応する監視用のフィードバック電圧を示している。この評価では、超音波機器用駆動装置100が、エンコーダからの角度情報を「無し」にして、その代わりに超音波モータ10から検出される振動振幅情報であるフィードバック電圧を入力として、超音波モータ10の回転速度を制御した。フィードバック電圧は、超音波モータ10の振動信号(圧電素子に駆動電圧とは別に設けられた小さい電極に生じる空の電圧であり、圧電素子が振動すると出力される。)に相当する。フィードバック電圧は、超音波モータ10に供給される電圧に対応する。
【0074】
最近、5G高速通信によるマスター・スレーブ型の遠隔医療手術に注目が集められており、かかる遠隔医療手術において、高速応答する高出力モータの実現が求められている。以上で説明した超音波機器用駆動装置100は、ハプティックデバイスやロボットへの超音波モータへの適応を広げるものであり、遠隔医療手術等に利用される機器に組み込まれることが期待される。
【0075】
本発明は、以上で例示したものに限らず、その概念を逸脱しない範囲で様々に変更した態様を含む。超音波機器用駆動装置100による制御対象には、回転型の超音波モータに限らず、リニア型の超音波モータ、強力超音波振動子等を含めることができる。なお、リニア型の超音波モータの場合、上記において回転速度と表現したものは、直進速度その他のスライド速度となる。
【0076】
以上では、目標状態として超音波モータの回転速度を制御しているが、目標状態は、トルク、効率等であってもよく、この場合、監視制御装置60によって、目標のトルクや効率等を実現するべく、出力状態である周波数、電圧振幅、位相等を最適化するように、学習部163で学習が行われる。
【0077】
なお、監視制御装置60は、狭義のコンピュータに限らず、特に学習済みの学習部163については、マイコン等で構成することができる。つまり、マイコンも広義のコンピュータである。
【符号の説明】
【0078】
2…スライダ、3…電極、4…ステータ、5…エンコーダ装置、6…圧電振動子、7…温度計、10…超音波モータ、30…状態計測部、40,140…制御回路、50…周波数駆動装置、60…監視制御装置、61a…プロセッサ、61b…メモリ、61c…インタフェース、62…入力部、63…ニューラルネットワーク、81…差分加算器、100…超音波機器用駆動装置、110…仮想的超音波モータ、130…観測装置、、、160…補正装置、163…学習部、200…モータ装置、A0…差分加算信号、A1…指令信号、A2…駆動信号、AG…エージェント、A…アクション、CM…計算モデル、RX…回転軸、S…動作状態、V…回転状態信号