IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特許7305950更新方法、コンピュータプログラム、及び制御システム
<>
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図1
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図2
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図3
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図4
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図5
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図6
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図7
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図8
  • 特許-更新方法、コンピュータプログラム、及び制御システム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-03
(45)【発行日】2023-07-11
(54)【発明の名称】更新方法、コンピュータプログラム、及び制御システム
(51)【国際特許分類】
   G05B 13/02 20060101AFI20230704BHJP
【FI】
G05B13/02 C
【請求項の数】 9
(21)【出願番号】P 2018225744
(22)【出願日】2018-11-30
(65)【公開番号】P2020087342
(43)【公開日】2020-06-04
【審査請求日】2021-11-19
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】▲高▼橋 英輔
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2011-072178(JP,A)
【文献】特開2015-089579(JP,A)
【文献】特開昭62-229402(JP,A)
【文献】特開2014-197319(JP,A)
【文献】特開平08-249031(JP,A)
【文献】特開2015-015844(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
制御対象への制御入力及び前記制御対象からの制御出力に基づき、前記制御対象に作用する外力を推定する推定器内の設計変数の値を更新する更新方法であって、
前記制御対象に作用する外力が既知の状態である特定状態に前記制御対象があることを判別することと、
前記制御対象が前記特定状態にあると判別されている期間に前記推定器が前記制御入力及び前記制御出力に基づき推定する外力と、前記既知の外力との誤差を低減する前記設計変数の値を学習値として算出することと、
前記推定器内の前記設計変数の値を、前記算出された学習値に更新することと、を含む更新方法。
【請求項2】
請求項1記載の更新方法であって、
前記特定状態は、前記外力がゼロである状態に対応し、
前記算出することは、前記期間に前記推定器が前記制御入力及び前記制御出力に基づき推定する外力を低減する前記設計変数の学習値を算出することを含む更新方法。
【請求項3】
請求項1又は請求項2記載の更新方法であって、
前記推定器は、前記外力の推定のために前記制御対象に対応する剛体モデル、粘性摩擦モデル、及びクーロン摩擦モデルを含み、前記更新される前記設計変数は、前記剛体モデルを定義するイナーシャ、前記粘性摩擦モデルを定義する粘性摩擦係数、及び前記クーロン摩擦モデルを定義するクーロン摩擦を含む更新方法。
【請求項4】
請求項1~請求項3のいずれか一項記載の更新方法であって、
前記更新することは、前記算出された学習値が所定範囲内にあるときには、前記設計変数の値を、前記算出された学習値に更新し、前記算出された学習値が所定範囲外にあるときには、前記設計変数の値を初期値に戻すことを含む更新方法。
【請求項5】
請求項1~請求項4のいずれか一項記載の更新方法であって、
前記制御対象は、力学的作用により被作用体を移動させる機構であり、
前記判別することは、前記被作用体が前記制御対象に接触又は近接している状態をセンサが検知していないことを条件に、前記制御対象が前記特定状態にあると判別することを含む更新方法。
【請求項6】
請求項1~請求項4のいずれか一項記載の更新方法であって、
前記制御対象は、モータ及び前記モータにより駆動されるローラを備え、前記ローラの回転によりシートを下流に搬送する搬送システムであり、
前記判別することは、前記ローラの上流に設けられたセンサが前記シートを検知していないことを条件に、前記制御対象が前記特定状態にあると判別することを含む更新方法。
【請求項7】
請求項1~請求項6のいずれか一項記載の更新方法であって、
前記算出することは、逐次最小二乗法により、前記誤差を最小化する前記設計変数の値を算出するように、前記期間に前記設計変数の学習値を繰返し算出することを含み、
前記更新することは、前記学習値が算出される度に、前記推定器内の前記設計変数の値を前記算出された学習値に更新することを含む更新方法。
【請求項8】
制御対象への制御入力及び前記制御対象からの制御出力に基づき、前記制御対象に作用する外力を推定する推定器、における設計変数の値を更新するためのコンピュータプログラムであって、
前記制御対象に作用する外力が既知の状態である特定状態に前記制御対象があることを判別することと、
前記制御対象が前記特定状態にあると判別されている期間に前記推定器が前記制御入力及び前記制御出力に基づき推定する外力と、前記既知の外力との誤差を低減する前記設計変数の値を学習値として算出することと、
前記推定器内の前記設計変数の値を、前記算出された学習値に更新することと、をコンピュータに実行させるためのコンピュータプログラム。
【請求項9】
制御対象を制御する制御器と、
前記制御器による前記制御対象への制御入力及び前記制御対象からの制御出力に基づき、前記制御対象に作用する外力を推定するように構成される推定器と、
前記推定器内の設計変数の値を更新するように構成される更新器と、
を含み、
前記更新器は、
前記制御対象に作用する外力が既知の状態である特定状態に前記制御対象があることを判別し、
前記制御対象が前記特定状態にあると判別されている期間に前記推定器が前記制御入力及び前記制御出力に基づき推定する外力と、前記既知の外力との誤差を低減する前記設計変数の値を学習値として算出し、
前記推定器内の前記設計変数の値を、前記算出された学習値に更新する制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、更新方法、コンピュータプログラム、及び制御システムに関する。
【背景技術】
【0002】
従来、制御対象の逆モデルを用いて制御出力の観測値に対する制御入力を演算し、当該演算した制御入力と、制御入力の観測値との誤差に基づき、逆モデルのパラメータを推定する技術が知られている(例えば特許文献1参照)。
【0003】
逆モデルのパラメータが現実の制御対象に合致するとき、上述の誤差は、制御対象に作用する外力の大きさに対応する。従って、パラメータの高精度な推定は、外力を推定する推定器の推定精度向上に役立つ。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2011-72178号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の推定技術では、逆モデルのパラメータを推定するために、制御対象に対して特別な駆動指令を入力する。具体的に、特許文献1では、正弦波指令を入力することにより、制御対象を動作させて、逆モデルのパラメータ(具体的には、イナーシャ及び摩擦)を推定する。このような動作は、制御対象の故障及び不調の原因となりうる。
【0006】
従って、本開示の一側面によれば、特別な駆動指令なしに、外力推定器内の設計変数を適切に設定可能な技術を提供できることが望ましい。
【課題を解決するための手段】
【0007】
本開示の一側面によれば、推定器内の設計変数の値を更新する更新方法が提供される。推定器は、制御対象への制御入力及び制御対象からの制御出力に基づき、制御対象に作用する外力を推定するように構成される。
【0008】
更新方法は、制御対象に作用する外力が既知の状態である特定状態に制御対象があることを判別することと、制御対象が特定状態にあると判別されている期間に推定器が制御入力及び制御出力に基づき推定する外力と、既知の外力との誤差を低減する設計変数の値を学習値として算出することと、推定器内の設計変数の値を、算出された学習値に更新することと、を含む。
【0009】
この方法によれば、従来技術のように特別な駆動指令を入力する必要なしに、既知の外力が作用する状態で観測された制御対象の挙動、具体的には制御入力及び制御出力に基づき、推定器の設計変数を適切に更新することができる。従って、本開示の一側面によれば、従来よりも優れた設計変数の更新方法を提供することができる。
【0010】
本開示の一側面によれば、制御対象への制御入力及び制御対象からの制御出力に基づき、制御対象に作用する外力を推定する推定器、における設計変数の値を更新するためのコンピュータプログラムが提供されてもよい。コンピュータプログラムは、制御対象に作用する外力が既知の状態である特定状態に制御対象があることを判別することと、制御対象が特定状態にあると判別されている期間に推定器が制御入力及び制御出力に基づき推定する外力と、既知の外力との誤差を低減する設計変数の値を学習値として算出することと、推定器内の設計変数の値を、算出された学習値に更新することと、をコンピュータに実行させるためのコンピュータプログラムであってもよい。
【0011】
本開示の一側面によれば、制御対象を制御する制御器と、制御器による制御対象への制御入力及び制御対象からの制御出力に基づき、制御対象に作用する外力を推定するように構成される推定器と、推定器内の設計変数の値を更新するように構成される更新器と、を含む制御システムが提供されてもよい。更新器は、制御対象に作用する外力が既知の状態である特定状態に制御対象があることを判別し、制御対象が特定状態にあると判別されている期間に推定器が制御入力及び制御出力に基づき推定する外力と、既知の外力との誤差を低減する設計変数の値を学習値として算出し、推定器内の設計変数の値を、算出された学習値に更新するように構成されてもよい。
【図面の簡単な説明】
【0012】
図1】制御システム及び制御対象システムの構成を表すブロック図である。
図2】制御システムの詳細構成を表すブロック図である。
図3】推定器の構成を表すブロック図である。
図4】切替器が実行する処理を表すフローチャートである。
図5】更新器が実行する処理を表すフローチャートである。
図6】制御対象システムの第一の具体例を示す図である。
図7】制御対象システムの第二の具体例を示す図である。
図8】実験により得られたイナーシャ、粘性摩擦係数、及びクーロン摩擦の学習値を真値と共に表すグラフである。
図9】実験により得られた外力推定値を真値と共に表すグラフである。
【発明を実施するための形態】
【0013】
以下に本開示の例示的実施形態を、図面を参照しながら説明する。
図1に示す本実施形態の制御システム10は、制御対象システム50が備える機械51の力学的な状態を制御するように構成される。この制御システム10は、計測システム70により計測された機械51の状態に関する物理量yと、物理量yに対する目標値rとに基づき、制御対象システム50に対する制御入力uを演算し、機械51の状態を制御する。
【0014】
制御対象システム50は、機械51と共に、モータ53と、駆動回路55と、センサ57とを備える。モータ53は、直流モータであり、制御入力uは、モータ53の駆動電流である。
【0015】
駆動回路55は、制御システム10からの制御入力uに基づき、対応する駆動電流をモータ53に印加するように構成される。機械51は、モータ53からの動力を受けて変位する。機械51の例には、モータ53により駆動されるロボットの関節機構や、インクジェットプリンタにおけるシート搬送機構が含まれる。ここでいう変位には、機械51の直線運動による位置変化及び回転運動による角度変化が含まれる。
【0016】
計測システム70は、物理量yの一つとして、機械51の変位に関する速度(即ち、単位時間当たりの変位量)、又は、その速度と比例関係にあるモータ53の速度を計測する。以下では、この物理量yのことを制御出力yとも表現する。
【0017】
制御システム10は、図2に示すように、指令器21と、制御器23と、推定器25と、更新器27と、切替器29と、を備える。一例によれば、制御システム10は、指令器21と、制御器23と、推定器25と、更新器27と、切替器29と、を専用回路として備えることができる。
【0018】
別例によれば、制御システム10は、図1に示すようにプロセッサ11及びメモリ13を備えてもよく、指令器21と、制御器23と、推定器25と、更新器27と、切替器29としての機能は、メモリ13に記憶されたコンピュータプログラムをプロセッサ11が実行することにより少なくとも部分的に実現されてもよい。
【0019】
指令器21は、制御出力yに関する目標値rを制御器23に入力するように構成される。制御器23は、計測システム70により計測された制御出力yと指令器21からの目標値rとに基づき、所定の伝達関数により制御入力uを演算し、演算された制御入力uを、制御対象システム50に入力するように構成されるフィードバック制御器である。制御器23は、偏差(r-y)を低減する方向の制御入力uを演算することができる。
【0020】
推定器25は、制御器23からの制御入力uと、計測システム70からの計測された制御出力yとに基づき、制御対象システム50に作用する外力を推定し、外力推定値Eを出力するように構成される。
【0021】
制御対象システム50が、外部物体から力学的作用を受けると、制御対象システム50には、外力が生じる。推定器25は、この外力を推定する。外力推定値Eは、例えば異常検知や制御入力uの補正に用いられる。
【0022】
図3に示す推定器25は、制御対象システム50の伝達モデルに対応する逆モデル250と、ローパスフィルタ254,255,256と、減算器258,259と、を備える。ここで言う制御対象システム50の伝達モデルは、制御対象システム50の運動をモデル化することにより導出される制御入力uから制御出力yへの伝達関数Hに対応する(y=Hu)。逆モデル250は、関係式u=H-1yに従う、この伝達関数Hの逆モデルH-1である。
【0023】
逆モデル250は、具体的に、制御対象システム50の剛体逆モデル251と、摩擦モデル252とを備える。摩擦モデル252は、粘性摩擦モデル252Aと、クーロン摩擦モデル252Bとを備える。
【0024】
剛体逆モデル251及び摩擦モデル252は、計測システム70により計測された制御出力yを、ローパスフィルタ254,255を介して受けて、計測された制御出力yに対応する理論上の制御入力u1,u2,u3を演算するように構成される。
【0025】
具体的に、剛体逆モデル251は、制御対象システム50の剛体モデルに対応する逆モデルであり、制御対象システム50のイナーシャJ及び制御出力yに基づき、制御対象システム50の剛体運動に関係した制御入力u1を演算する。
【0026】
粘性摩擦モデル252Aは、制御対象システム50の粘性摩擦係数Dに基づき、制御対象システム50の粘性摩擦に関係した制御入力u2を演算し、クーロン摩擦モデル252Bは、制御対象システム50のクーロン摩擦fcに基づき、制御対象システム50のクーロン摩擦に関係した制御入力u3を演算する。摩擦モデル252は、演算された制御入力u2と制御入力u3との合計(u2+u3)を、減算器259に入力される。
【0027】
減算器258は、制御器23からの制御入力uを、ローパスフィルタ256を介して受けて、制御入力uと制御入力u1との差分u-u1を算出する。減算器259は、この差分u-u1から更に制御入力(u2+u3)を減算して、外力推定値E=u-u1-u2-u3を算出する。
【0028】
モータ53から生じるトルクは、モータ53の駆動電流、換言すれば制御入力uに比例する。従って、制御器23から制御対象システム50への制御入力uと、逆モデル250に基づき算出される制御入力(u1+u2+u3)との差分(u-u1-u2-u3)は、制御対象システム50に作用した外力、即ち、反力として作用した外乱成分に対応する。
【0029】
剛体の運動モデルは、剛体に加えられるトルクτ、剛体のイナーシャJ及び回転速度v、並びに、剛体に作用する摩擦に関する粘性摩擦係数D及びクーロン摩擦fcを用いて次式(1)により表される。関数sign()は、符号関数である。
【0030】
【数1】
【0031】
従って、外力推定値Eは、モータ53の速度に対応する制御出力yに基づき、次式(2)に従って算出可能である。次式に含まれるsは、ラプラス演算子である。
【0032】
【数2】
【0033】
推定器25は、ローパスフィルタ254,255,256により高周波成分が除去された制御入力u及び制御出力yに基づき、上式(2)に従って、外力推定値Eを演算する。
【0034】
式(2)に含まれるイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcは、推定器25の設計変数に対応する。推定器25は、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcとして、現実の制御対象システム50に適合するイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcが設定されることで、高精度に外力推定値Eを演算することが可能である。
【0035】
更新器27は、制御対象システム50のイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを学習して、推定器25の設計変数ρを更新することにより、推定器25の推定精度を維持又は向上させるように動作する。ここでいう設計変数ρは、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの組合せρ=(J,D,fc)に対応する。
【0036】
切替器29は、図4に示す処理を繰返し実行することにより、制御対象システム50に作用する外力が既知である特定状態に制御対象システム50があると判別したときに、更新器27にイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを学習させるように更新器27を制御する。
【0037】
具体的には、切替器29は、制御対象システム50に外力が作用していない特定状態に制御対象システム50があると判別したときに、更新器27にイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを学習させるように更新器27を制御する。
【0038】
切替器29は、図4に示す処理を開始すると、制御対象システム50に含まれるセンサ57の出力に基づき、制御対象システム50が特定状態にあるかを判別する(S110)。センサ57は、制御対象システム50が特定状態にあることを検知するために制御対象システム50に配置される。
【0039】
切替器29は、制御対象システム50が特定状態にあると判別すると(S110でYes)、更新器27に変数a=1を設定し、更新器27による学習を許可する(S120)。変数aは、設計変数ρの学習許可フラグに対応する。
【0040】
一方、切替器29は、制御対象システム50が特定状態にないと判別すると(S110でNo)、更新器27に変数a=0を設定して、更新器27による学習を禁止する(S130)。
【0041】
切替部29は、上述のS110-S130の処理を繰返し実行することにより、制御対象システム50が特定状態にあるか否かに応じて、更新器27によるイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの学習を許可/禁止する。
【0042】
更新器27は、切替器29とは並列に動作し、図5に示す処理を繰返し実行することにより、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを学習し、推定器25内の設計変数ρの値を更新するように動作する。
【0043】
図5に示す処理を開始すると、更新器27は、RLS演算処理を実行する(S210)。RLS演算処理は、制御器23から制御対象システム50への制御入力u及び計測システム70により計測された制御出力yに基づき、逐次最小二乗(RLS)法により、推定器25の外力推定値Eの現実の外力に対する誤差を最小化するイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの値を、学習値として算出する処理である。
【0044】
更新器27は、具体的には、式(3)に従って、誤差を最小化するイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの値ρ(k)を、学習値として算出する(S210)。
【0045】
【数3】
【0046】
ここで、上付きTは、転置記号を表す。即ち、θT(k)は、θ(k)の転置行列である。λは、忘却係数に対応し、0より大きく1以下の値で設計者により定められる。aは、上述した学習許可フラグに対応し、0又は1を採る。
【0047】
x(k)は、時刻kにおける制御入力uに対応する(x(k)=u)。時刻kは、RLS演算処理の実行時刻に対応し、時刻k-1は、RLS演算処理の前回実行時刻に対応する。θ(k)は、時刻kにおける制御出力y及びその時間微分dy/dtを含む次のベクトルで定義される。
【0048】
【数4】
【0049】
同様に、ρ(k)は、時刻kにおけるイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを含む次のベクトルで定義される。
【0050】
【数5】
【0051】
イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの同定は、外力推定値Eと現実の外力Fとの間の二乗誤差に対応する評価関数Q(ρ)の値を最小化する問題を解くことにより実現できる。
【0052】
【数6】
【0053】
ここで、外力推定値E(ρ)は、次のように表すことができる。
【0054】
【数7】
【0055】
従って、外力がゼロ(F=0)であるときには、次の評価関数Q(ρ)を最小化するρを求めることにより、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを同定することができる。
【0056】
【数8】
【0057】
この最小化問題は、上述した式(3)を用いて、逐次最小二乗法により解くことができる。S210における学習処理は、このように逐次最小二乗法により、外力推定値Eと現実の外力との誤差を最小にするイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを学習値として算出することで、制御対象システム50におけるイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを同定する処理である。
【0058】
S210では、具体的に、変数a=1であるときに、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの学習値が、制御入力u及び制御出力yに基づき有効に算出される。変数a=0であるときには、有効な学習動作が行われず、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの学習値は、前回値と同一値に形式的に算出される。
【0059】
S210での処理を終えると、更新器27は、a=1であるか否かを判断し(S220)、a=1ではないと判断すると(S220でNo)、推定器25の設計変数ρを更新することなく、図5に示す処理を一旦終了する。
【0060】
一方、更新器27は、a=1であると判断すると(S220でYes)、S210で算出された学習値ρ(k)が規定範囲内にあるか否かを判断する(S230)。規定範囲は、予め定められたイナーシャJの正常範囲、粘性摩擦係数Dの正常範囲、及びクーロン摩擦fcの正常範囲の組み合わせで定義される。
【0061】
更新器27は、S210で算出されたイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの学習値が全て正常範囲内にある場合、学習値ρ(k)が規定範囲内にあると判断し、それ以外の場合には、学習値ρ(k)が規定範囲内にはないと判断する。
【0062】
更新器27は、学習値ρ(k)が規定範囲内にあると判断すると(S230でYes)、S210で算出された学習値ρ(k)に、推定器25の設計変数ρを更新することで、推定器25の逆モデル250を更新する(S240)。
【0063】
即ち、更新器27は、推定器25における逆モデル250のイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの組合せを、S210で算出された学習値ρ(k)に更新する(S240)。その後、図5に示す処理を一旦終了する。
【0064】
この他、更新器27は、S230で学習値ρ(k)が規定範囲外にあると判断すると(S230でNo)、推定器25における逆モデル250のイナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを、予め定められた初期値に戻して(S250)、図5に示す処理を一旦終了する。
【0065】
更新器27は、上述したS210~S250の処理を繰返し実行することにより、制御対象システム50が特定状態であるときに、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを学習し、学習値が規定範囲内にあれば、推定器25の設計変数ρを学習値に更新する。
【0066】
ここで、本実施形態の制御システム10が適用される制御対象システム50の具体例を説明する。制御対象システム50の第一具体例は、図6に示すように、モータ53により駆動されるロボットアーム100である。
【0067】
ロボットアーム100は、モータ53からの動力を受けて、物体を把持し、移動させる。この場合、センサ57は、ロボットアーム100により把持される物体を撮影映像から検知する画像センサ110であり得る。
【0068】
制御システム10は、上記特定状態として、画像センサ110からの出力信号に基づき、ロボットアーム100が物体を把持していない状態を判別し、ロボットアーム100が物体を把持していない状態にあるときのみに、変数a=1に設定して、更新器27に推定器25の設計変数ρを学習更新させることができる。
【0069】
制御対象システム50の第二具体例は、図7に示すように、シート240を、シート搬送方向の上流に配置されたローラ211,212と、下流に配置されたローラ221,222との回転により、上流から下流に搬送するシート搬送システム200である。
【0070】
モータ53は、図示しない動力伝達機構を介してローラ211,221と接続され、ローラ211,221を回転させる。シート搬送システム200は、ローラ211,221の回転により、シート240に力学的作用を及ぼし、シート240を下流に搬送する。
【0071】
この場合のセンサ57は、シート搬送システム200の上流、具体的には、ローラ211の上流に配置されたシート検出センサ230であり得る。シート検出センサ230は、ローラ211に近接又は接触するシート240を検知し、シート240の有無に応じて出力信号のオン/オフを切り替えるように構成され得る。
【0072】
このシート搬送システム200では、外部から供給される物体であるシート240からの力学的作用により外力を受ける。換言すれば、シート240が上流から供給されていない状態では、基本的にシート搬送システム200に、外力は作用しない。
【0073】
従って、制御システム10は、シート検出センサ230によりシート240が検出されていないときに、制御対象システム50が特定状態であると判別して、a=1に設定し、それ以外の場合には、a=0に設定して、更新器27の学習及び更新動作を制御する。
【0074】
このシート搬送システム200に本実施形態の制御システム10を適用した実験により得られた、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcの学習値を、真値と共に図8に示す。図8において、真値は実線で示され、学習値は、破線で示される。更に、この学習値を用いて推定器25の設計変数ρを更新した場合の、外力推定値Eを、外力の真値と共に図9に示す。図9において、真値は実線で示され、外力推定値Eは、破線で示される。
【0075】
この実験では、シート検出センサ230の出力に基づき、外力がゼロである期間に、変数aが値1に切り替えられ、学習動作が行われている。この例から理解できるように、本実施形態によれば、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcが精度よく学習され、推定器25による外力の推定精度が向上する。
【0076】
以上に説明した本実施形態の制御システム10によれば、センサ57を用いて、制御対象システム50が、そこに外力が作用しない特定状態にあるときに、推定器25の設計変数ρの学習動作を有効にし、推定器25の外力推定値Eを最小化する方向への設計変数ρの学習を逐次最小二乗法により実現する。一方、制御対象システム50が特定状態にないときには、学習動作を実質的に実行しない。
【0077】
推定器25を設ける環境では、多くの場合、推定器25と同等以上の精度で外力の大きさを検出する力センサを設けることはない。このような力センサを設ければ、推定器25が不要になるためである。
【0078】
一方、推定器25における設計変数ρの学習においては、未知の外力が誤学習に繋がる。本実施形態では、このような誤学習を、上述の力センサとは別のセンサ57を用いて外力がゼロであると判別される状態で選択的に学習動作を有効することにより抑える。
【0079】
従って、本実施形態によれば、高精度な力センサの導入なしに、高精度に外力を推定可能な推定器25、及び、それを備える制御システム10を提供することができる。特に、本実施形態によれば、簡易なセンサ、又は、制御対象システム50に他の目的で設けられるセンサを利用して、制御対象システム50に外力が作用している状態であるか否かを判別して、学習動作のオン/オフを切り替えることができる。従って、低コストに、優れた制御システム10及び推定器25を提供可能である。
【0080】
更に言えば、本実施形態では、外力推定のために、従来の正弦波指令のような特殊信号を制御対象システム50に入力して、制御対象システム50に、故障及び不調の原因となりうる特殊な動作を実行させる必要がない。
【0081】
このように、本実施形態の制御システム10は、故障及び不調の原因になり得る特殊動作なしに、高精度に、イナーシャJ、粘性摩擦係数D、及びクーロン摩擦fcを学習/同定して、この結果を、推定器25における外力の推定精度の向上及び維持に役立てることができる。
【0082】
本実施形態によれば更に、学習値が規定範囲外であるときには、学習値を推定器25に反映させることなく、推定器25の設計変数を初期値に戻すことも有意義である。想定外の要因により、センサ57を用いて判別した特定状態が、実際には、外力が作用した状態である可能性がある。この想定外の外力が作用している状態での学習動作により計算された学習値が推定器25に反映されると、推定器25による外力の推定精度が大きく低下する可能性がある。
【0083】
本実施形態によれば、推定器25の設計変数を初期値に戻すことで、誤学習が推定器25に及ぼす影響を抑えることができるので、上述した要因により外力の推定精度が低下するのを抑制することができる。
【0084】
本開示が、上述した実施形態に限定されるものではなく、種々の形態を採る得ることも言うまでもない。例えば、上述の制御システム10は、ロボットアーム100やシート搬送システム200以外の様々な制御対象システム50に適用され得る。また、本開示の技術は、フォードフォワード制御系にも適用できる。
【0085】
上記実施形態では、外力がゼロである状態で更新器27における学習及び更新動作を有効にしたが、外力がゼロ以外の既知の特定状態で、a=1に設定し、更新器27における学習及び更新動作を有効にし、それ以外の状態で、a=0に設定し、更新器27における学習及び更新動作を無効にするように、制御システム10は動作してもよい。この場合には、式(3)に含まれるε(k)を、既知の外力の値F0を用いて、ε(k)-F0に置き換えて、ρ(k)を算出すればよい。
【0086】
この他、上記実施形態における1つの構成要素が有する機能は、複数の構成要素に分散して設けられてもよい。複数の構成要素が有する機能は、1つの構成要素に統合されてもよい。上記実施形態の構成の一部は、省略されてもよい。上記実施形態の構成の少なくとも一部は、他の上記実施形態の構成に対して付加又は置換されてもよい。特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【0087】
10…制御システム、11…プロセッサ、13…メモリ、21…指令器、23…制御器、25…推定器、27…更新器、29…切替器、50…制御対象システム、51…機械、53…モータ、55…駆動回路、57…センサ、70…計測システム、250…逆モデル、251…剛体逆モデル、252…摩擦モデル、252A…粘性摩擦モデル、252B…クーロン摩擦モデル、254,255,256…ローパスフィルタ、258,259…減算器。
図1
図2
図3
図4
図5
図6
図7
図8
図9