(57)【要約】【課題】外力を推定する推定器内の設計変数を適切に設定可能な技術を提供する。【解決手段】更新方法は、制御対象に作用する外力が既知の特定状態に制御対象があることを判別すること（Ｓ１１０）と、制御対象が特定状態にあると判別されている期間に推定器が制御入力及び制御出力に基づき推定する外力と、既知の外力との誤差を低減する設計変数の値を学習値として算出すること（Ｓ２１０）と、推定器内の設計変数の値を、算出された学習値に更新すること（Ｓ２４０）と、を含む。推定器は、制御対象への制御入力及び制御対象からの制御出力に基づき、制御対象に作用する外力を推定するように構成される。【選択図】図５
2020087342.tif 000002
【特許請求の範囲】
【請求項１】
制御対象への制御入力及び前記制御対象からの制御出力に基づき、前記制御対象に作用する外力を推定する推定器内の設計変数の値を更新する更新方法であって、
前記制御対象に作用する外力が既知の状態である特定状態に前記制御対象があることを判別することと、
前記制御対象が前記特定状態にあると判別されている期間に前記推定器が前記制御入力及び前記制御出力に基づき推定する外力と、前記既知の外力との誤差を低減する前記設計変数の値を学習値として算出することと、
前記推定器内の前記設計変数の値を、前記算出された学習値に更新することと、を含む更新方法。
【請求項２】
請求項１記載の更新方法であって、
前記特定状態は、前記外力がゼロである状態に対応し、
前記算出することは、前記期間に前記推定器が前記制御入力及び前記制御出力に基づき推定する外力を低減する前記設計変数の学習値を算出することを含む更新方法。
【請求項３】
請求項１又は請求項２記載の更新方法であって、
前記推定器は、前記外力の推定のために前記制御対象に対応する剛体モデル、粘性摩擦モデル、及びクーロン摩擦モデルを含み、前記更新される前記設計変数は、前記剛体モデルを定義するイナーシャ、前記粘性摩擦モデルを定義する粘性摩擦係数、及び前記クーロン摩擦モデルを定義するクーロン摩擦を含む更新方法。
【請求項４】
請求項１〜請求項３のいずれか一項記載の更新方法であって、
前記更新することは、前記算出された学習値が所定範囲内にあるときには、前記設計変数の値を、前記算出された学習値に更新し、前記算出された学習値が所定範囲外にあるときには、前記設計変数の値を初期値に戻すことを含む更新方法。
【請求項５】
請求項１〜請求項４のいずれか一項記載の更新方法であって、
前記制御対象は、力学的作用により被作用体を移動させる機構であり、
前記判別することは、前記被作用体が前記制御対象に接触又は近接している状態をセンサが検知していないことを条件に、前記制御対象が前記特定状態にあると判別することを含む更新方法。
【請求項６】
請求項１〜請求項４のいずれか一項記載の更新方法であって、
前記制御対象は、モータ及び前記モータにより駆動されるローラを備え、前記ローラの回転によりシートを下流に搬送する搬送システムであり、
前記判別することは、前記ローラの上流に設けられたセンサが前記シートを検知していないことを条件に、前記制御対象が前記特定状態にあると判別することを含む更新方法。
【請求項７】
請求項１〜請求項６のいずれか一項記載の更新方法であって、
前記算出することは、逐次最小二乗法により、前記誤差を最小化する前記設計変数の値を算出するように、前記期間に前記設計変数の学習値を繰返し算出することを含み、
前記更新することは、前記学習値が算出される度に、前記推定器内の前記設計変数の値を前記算出された学習値に更新することを含む更新方法。
【請求項８】
制御対象への制御入力及び前記制御対象からの制御出力に基づき、前記制御対象に作用する外力を推定する推定器、における設計変数の値を更新するためのコンピュータプログラムであって、
前記制御対象に作用する外力が既知の状態である特定状態に前記制御対象があることを判別することと、
前記制御対象が前記特定状態にあると判別されている期間に前記推定器が前記制御入力及び前記制御出力に基づき推定する外力と、前記既知の外力との誤差を低減する前記設計変数の値を学習値として算出することと、
前記推定器内の前記設計変数の値を、前記算出された学習値に更新することと、をコンピュータに実行させるためのコンピュータプログラム。
【請求項９】
制御対象を制御する制御器と、
前記制御器による前記制御対象への制御入力及び前記制御対象からの制御出力に基づき、前記制御対象に作用する外力を推定するように構成される推定器と、
前記推定器内の設計変数の値を更新するように構成される更新器と、
を含み、
前記更新器は、
前記制御対象に作用する外力が既知の状態である特定状態に前記制御対象があることを判別し、
前記制御対象が前記特定状態にあると判別されている期間に前記推定器が前記制御入力及び前記制御出力に基づき推定する外力と、前記既知の外力との誤差を低減する前記設計変数の値を学習値として算出し、
前記推定器内の前記設計変数の値を、前記算出された学習値に更新する制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、更新方法、コンピュータプログラム、及び制御システムに関する。
【背景技術】
【０００２】
従来、制御対象の逆モデルを用いて制御出力の観測値に対する制御入力を演算し、当該演算した制御入力と、制御入力の観測値との誤差に基づき、逆モデルのパラメータを推定する技術が知られている（例えば特許文献１参照）。
【０００３】
逆モデルのパラメータが現実の制御対象に合致するとき、上述の誤差は、制御対象に作用する外力の大きさに対応する。従って、パラメータの高精度な推定は、外力を推定する推定器の推定精度向上に役立つ。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−７２１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の推定技術では、逆モデルのパラメータを推定するために、制御対象に対して特別な駆動指令を入力する。具体的に、特許文献１では、正弦波指令を入力することにより、制御対象を動作させて、逆モデルのパラメータ（具体的には、イナーシャ及び摩擦）を推定する。このような動作は、制御対象の故障及び不調の原因となりうる。
【０００６】
従って、本開示の一側面によれば、特別な駆動指令なしに、外力推定器内の設計変数を適切に設定可能な技術を提供できることが望ましい。
【課題を解決するための手段】
【０００７】
本開示の一側面によれば、推定器内の設計変数の値を更新する更新方法が提供される。推定器は、制御対象への制御入力及び制御対象からの制御出力に基づき、制御対象に作用する外力を推定するように構成される。
【０００８】
更新方法は、制御対象に作用する外力が既知の状態である特定状態に制御対象があることを判別することと、制御対象が特定状態にあると判別されている期間に推定器が制御入力及び制御出力に基づき推定する外力と、既知の外力との誤差を低減する設計変数の値を学習値として算出することと、推定器内の設計変数の値を、算出された学習値に更新することと、を含む。
【０００９】
この方法によれば、従来技術のように特別な駆動指令を入力する必要なしに、既知の外力が作用する状態で観測された制御対象の挙動、具体的には制御入力及び制御出力に基づき、推定器の設計変数を適切に更新することができる。従って、本開示の一側面によれば、従来よりも優れた設計変数の更新方法を提供することができる。
【００１０】
本開示の一側面によれば、制御対象への制御入力及び制御対象からの制御出力に基づき、制御対象に作用する外力を推定する推定器、における設計変数の値を更新するためのコンピュータプログラムが提供されてもよい。コンピュータプログラムは、制御対象に作用する外力が既知の状態である特定状態に制御対象があることを判別することと、制御対象が特定状態にあると判別されている期間に推定器が制御入力及び制御出力に基づき推定する外力と、既知の外力との誤差を低減する設計変数の値を学習値として算出することと、推定器内の設計変数の値を、算出された学習値に更新することと、をコンピュータに実行させるためのコンピュータプログラムであってもよい。
【００１１】
本開示の一側面によれば、制御対象を制御する制御器と、制御器による制御対象への制御入力及び制御対象からの制御出力に基づき、制御対象に作用する外力を推定するように構成される推定器と、推定器内の設計変数の値を更新するように構成される更新器と、を含む制御システムが提供されてもよい。更新器は、制御対象に作用する外力が既知の状態である特定状態に制御対象があることを判別し、制御対象が特定状態にあると判別されている期間に推定器が制御入力及び制御出力に基づき推定する外力と、既知の外力との誤差を低減する設計変数の値を学習値として算出し、推定器内の設計変数の値を、算出された学習値に更新するように構成されてもよい。
【図面の簡単な説明】
【００１２】
【図１】制御システム及び制御対象システムの構成を表すブロック図である。
【図２】制御システムの詳細構成を表すブロック図である。
【図３】推定器の構成を表すブロック図である。
【図４】切替器が実行する処理を表すフローチャートである。
【図５】更新器が実行する処理を表すフローチャートである。
【図６】制御対象システムの第一の具体例を示す図である。
【図７】制御対象システムの第二の具体例を示す図である。
【図８】実験により得られたイナーシャ、粘性摩擦係数、及びクーロン摩擦の学習値を真値と共に表すグラフである。
【図９】実験により得られた外力推定値を真値と共に表すグラフである。
【発明を実施するための形態】
【００１３】
以下に本開示の例示的実施形態を、図面を参照しながら説明する。
図１に示す本実施形態の制御システム１０は、制御対象システム５０が備える機械５１の力学的な状態を制御するように構成される。この制御システム１０は、計測システム７０により計測された機械５１の状態に関する物理量ｙと、物理量ｙに対する目標値ｒとに基づき、制御対象システム５０に対する制御入力ｕを演算し、機械５１の状態を制御する。
【００１４】
制御対象システム５０は、機械５１と共に、モータ５３と、駆動回路５５と、センサ５７とを備える。モータ５３は、直流モータであり、制御入力ｕは、モータ５３の駆動電流である。
【００１５】
駆動回路５５は、制御システム１０からの制御入力ｕに基づき、対応する駆動電流をモータ５３に印加するように構成される。機械５１は、モータ５３からの動力を受けて変位する。機械５１の例には、モータ５３により駆動されるロボットの関節機構や、インクジェットプリンタにおけるシート搬送機構が含まれる。ここでいう変位には、機械５１の直線運動による位置変化及び回転運動による角度変化が含まれる。
【００１６】
計測システム７０は、物理量ｙの一つとして、機械５１の変位に関する速度（即ち、単位時間当たりの変位量）、又は、その速度と比例関係にあるモータ５３の速度を計測する。以下では、この物理量ｙのことを制御出力ｙとも表現する。
【００１７】
制御システム１０は、図２に示すように、指令器２１と、制御器２３と、推定器２５と、更新器２７と、切替器２９と、を備える。一例によれば、制御システム１０は、指令器２１と、制御器２３と、推定器２５と、更新器２７と、切替器２９と、を専用回路として備えることができる。
【００１８】
別例によれば、制御システム１０は、図１に示すようにプロセッサ１１及びメモリ１３を備えてもよく、指令器２１と、制御器２３と、推定器２５と、更新器２７と、切替器２９としての機能は、メモリ１３に記憶されたコンピュータプログラムをプロセッサ１１が実行することにより少なくとも部分的に実現されてもよい。
【００１９】
指令器２１は、制御出力ｙに関する目標値ｒを制御器２３に入力するように構成される。制御器２３は、計測システム７０により計測された制御出力ｙと指令器２１からの目標値ｒとに基づき、所定の伝達関数により制御入力ｕを演算し、演算された制御入力ｕを、制御対象システム５０に入力するように構成されるフィードバック制御器である。制御器２３は、偏差（ｒ−ｙ）を低減する方向の制御入力ｕを演算することができる。
【００２０】
推定器２５は、制御器２３からの制御入力ｕと、計測システム７０からの計測された制御出力ｙとに基づき、制御対象システム５０に作用する外力を推定し、外力推定値Ｅを出力するように構成される。
【００２１】
制御対象システム５０が、外部物体から力学的作用を受けると、制御対象システム５０には、外力が生じる。推定器２５は、この外力を推定する。外力推定値Ｅは、例えば異常検知や制御入力ｕの補正に用いられる。
【００２２】
図３に示す推定器２５は、制御対象システム５０の伝達モデルに対応する逆モデル２５０と、ローパスフィルタ２５４，２５５，２５６と、減算器２５８，２５９と、を備える。ここで言う制御対象システム５０の伝達モデルは、制御対象システム５０の運動をモデル化することにより導出される制御入力ｕから制御出力ｙへの伝達関数Ｈに対応する（ｙ＝Ｈｕ）。逆モデル２５０は、関係式ｕ＝Ｈ-1ｙに従う、この伝達関数Ｈの逆モデルＨ-1である。
【００２３】
逆モデル２５０は、具体的に、制御対象システム５０の剛体逆モデル２５１と、摩擦モデル２５２とを備える。摩擦モデル２５２は、粘性摩擦モデル２５２Ａと、クーロン摩擦モデル２５２Ｂとを備える。
【００２４】
剛体逆モデル２５１及び摩擦モデル２５２は、計測システム７０により計測された制御出力ｙを、ローパスフィルタ２５４，２５５を介して受けて、計測された制御出力ｙに対応する理論上の制御入力ｕ１，ｕ２，ｕ３を演算するように構成される。
【００２５】
具体的に、剛体逆モデル２５１は、制御対象システム５０の剛体モデルに対応する逆モデルであり、制御対象システム５０のイナーシャＪ及び制御出力ｙに基づき、制御対象システム５０の剛体運動に関係した制御入力ｕ１を演算する。
【００２６】
粘性摩擦モデル２５２Ａは、制御対象システム５０の粘性摩擦係数Ｄに基づき、制御対象システム５０の粘性摩擦に関係した制御入力ｕ２を演算し、クーロン摩擦モデル２５２Ｂは、制御対象システム５０のクーロン摩擦ｆｃに基づき、制御対象システム５０のクーロン摩擦に関係した制御入力ｕ３を演算する。摩擦モデル２５２は、演算された制御入力ｕ２と制御入力ｕ３との合計（ｕ２＋ｕ３）を、減算器２５９に入力される。
【００２７】
減算器２５８は、制御器２３からの制御入力ｕを、ローパスフィルタ２５６を介して受けて、制御入力ｕと制御入力ｕ１との差分ｕ−ｕ１を算出する。減算器２５９は、この差分ｕ−ｕ１から更に制御入力（ｕ２＋ｕ３）を減算して、外力推定値Ｅ＝ｕ−ｕ１−ｕ２−ｕ３を算出する。
【００２８】
モータ５３から生じるトルクは、モータ５３の駆動電流、換言すれば制御入力ｕに比例する。従って、制御器２３から制御対象システム５０への制御入力ｕと、逆モデル２５０に基づき算出される制御入力（ｕ１＋ｕ２＋ｕ３）との差分（ｕ−ｕ１−ｕ２−ｕ３）は、制御対象システム５０に作用した外力、即ち、反力として作用した外乱成分に対応する。
【００２９】
剛体の運動モデルは、剛体に加えられるトルクτ、剛体のイナーシャＪ及び回転速度v、並びに、剛体に作用する摩擦に関する粘性摩擦係数Ｄ及びクーロン摩擦ｆｃを用いて次式（１）により表される。関数ｓｉｇｎ（）は、符号関数である。
【００３０】
【数１】
2020087342.tif 000003
【００３１】
従って、外力推定値Ｅは、モータ５３の速度に対応する制御出力ｙに基づき、次式（２）に従って算出可能である。次式に含まれるｓは、ラプラス演算子である。
【００３２】
【数２】
2020087342.tif 000004
【００３３】
推定器２５は、ローパスフィルタ２５４，２５５，２５６により高周波成分が除去された制御入力ｕ及び制御出力ｙに基づき、上式（２）に従って、外力推定値Ｅを演算する。
【００３４】
式（２）に含まれるイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃは、推定器２５の設計変数に対応する。推定器２５は、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃとして、現実の制御対象システム５０に適合するイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃが設定されることで、高精度に外力推定値Ｅを演算することが可能である。
【００３５】
更新器２７は、制御対象システム５０のイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを学習して、推定器２５の設計変数ρを更新することにより、推定器２５の推定精度を維持又は向上させるように動作する。ここでいう設計変数ρは、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの組合せρ＝（Ｊ，Ｄ，ｆｃ）に対応する。
【００３６】
切替器２９は、図４に示す処理を繰返し実行することにより、制御対象システム５０に作用する外力が既知である特定状態に制御対象システム５０があると判別したときに、更新器２７にイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを学習させるように更新器２７を制御する。
【００３７】
具体的には、切替器２９は、制御対象システム５０に外力が作用していない特定状態に制御対象システム５０があると判別したときに、更新器２７にイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを学習させるように更新器２７を制御する。
【００３８】
切替器２９は、図４に示す処理を開始すると、制御対象システム５０に含まれるセンサ５７の出力に基づき、制御対象システム５０が特定状態にあるかを判別する（Ｓ１１０）。センサ５７は、制御対象システム５０が特定状態にあることを検知するために制御対象システム５０に配置される。
【００３９】
切替器２９は、制御対象システム５０が特定状態にあると判別すると（Ｓ１１０でＹｅｓ）、更新器２７に変数ａ＝１を設定し、更新器２７による学習を許可する（Ｓ１２０）。変数ａは、設計変数ρの学習許可フラグに対応する。
【００４０】
一方、切替器２９は、制御対象システム５０が特定状態にないと判別すると（Ｓ１１０でＮｏ）、更新器２７に変数ａ＝０を設定して、更新器２７による学習を禁止する（Ｓ１３０）。
【００４１】
切替部２９は、上述のＳ１１０−Ｓ１３０の処理を繰返し実行することにより、制御対象システム５０が特定状態にあるか否かに応じて、更新器２７によるイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの学習を許可／禁止する。
【００４２】
更新器２７は、切替器２９とは並列に動作し、図５に示す処理を繰返し実行することにより、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを学習し、推定器２５内の設計変数ρの値を更新するように動作する。
【００４３】
図５に示す処理を開始すると、更新器２７は、ＲＬＳ演算処理を実行する（Ｓ２１０）。ＲＬＳ演算処理は、制御器２３から制御対象システム５０への制御入力ｕ及び計測システム７０により計測された制御出力ｙに基づき、逐次最小二乗（ＲＬＳ）法により、推定器２５の外力推定値Ｅの現実の外力に対する誤差を最小化するイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの値を、学習値として算出する処理である。
【００４４】
更新器２７は、具体的には、式（３）に従って、誤差を最小化するイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの値ρ（ｋ）を、学習値として算出する（Ｓ２１０）。
【００４５】
【数３】
2020087342.tif 000005
【００４６】
ここで、上付きＴは、転置記号を表す。即ち、θT（ｋ）は、θ（ｋ）の転置行列である。λは、忘却係数に対応し、０より大きく１以下の値で設計者により定められる。ａは、上述した学習許可フラグに対応し、０又は１を採る。
【００４７】
ｘ（ｋ）は、時刻ｋにおける制御入力ｕに対応する（ｘ（ｋ）＝ｕ）。時刻ｋは、ＲＬＳ演算処理の実行時刻に対応し、時刻ｋ−１は、ＲＬＳ演算処理の前回実行時刻に対応する。θ（ｋ）は、時刻ｋにおける制御出力ｙ及びその時間微分ｄｙ／ｄｔを含む次のベクトルで定義される。
【００４８】
【数４】
2020087342.tif 000006
【００４９】
同様に、ρ（ｋ）は、時刻ｋにおけるイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを含む次のベクトルで定義される。
【００５０】
【数５】
2020087342.tif 000007
【００５１】
イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの同定は、外力推定値Ｅと現実の外力Ｆとの間の二乗誤差に対応する評価関数Ｑ（ρ）の値を最小化する問題を解くことにより実現できる。
【００５２】
【数６】
2020087342.tif 000008
【００５３】
ここで、外力推定値Ｅ（ρ）は、次のように表すことができる。
【００５４】
【数７】
2020087342.tif 000009
【００５５】
従って、外力がゼロ（Ｆ＝０）であるときには、次の評価関数Ｑ（ρ）を最小化するρを求めることにより、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを同定することができる。
【００５６】
【数８】
2020087342.tif 000010
【００５７】
この最小化問題は、上述した式（３）を用いて、逐次最小二乗法により解くことができる。Ｓ２１０における学習処理は、このように逐次最小二乗法により、外力推定値Ｅと現実の外力との誤差を最小にするイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを学習値として算出することで、制御対象システム５０におけるイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを同定する処理である。
【００５８】
Ｓ２１０では、具体的に、変数ａ＝１であるときに、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの学習値が、制御入力ｕ及び制御出力ｙに基づき有効に算出される。変数ａ＝０であるときには、有効な学習動作が行われず、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの学習値は、前回値と同一値に形式的に算出される。
【００５９】
Ｓ２１０での処理を終えると、更新器２７は、ａ＝１であるか否かを判断し（Ｓ２２０）、ａ＝１ではないと判断すると（Ｓ２２０でＮｏ）、推定器２５の設計変数ρを更新することなく、図５に示す処理を一旦終了する。
【００６０】
一方、更新器２７は、ａ＝１であると判断すると（Ｓ２２０でＹｅｓ）、Ｓ２１０で算出された学習値ρ（ｋ）が規定範囲内にあるか否かを判断する（Ｓ２３０）。規定範囲は、予め定められたイナーシャJの正常範囲、粘性摩擦係数Ｄの正常範囲、及びクーロン摩擦ｆｃの正常範囲の組み合わせで定義される。
【００６１】
更新器２７は、Ｓ２１０で算出されたイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの学習値が全て正常範囲内にある場合、学習値ρ（ｋ）が規定範囲内にあると判断し、それ以外の場合には、学習値ρ（ｋ）が規定範囲内にはないと判断する。
【００６２】
更新器２７は、学習値ρ（ｋ）が規定範囲内にあると判断すると（Ｓ２３０でＹｅｓ）、Ｓ２１０で算出された学習値ρ（ｋ）に、推定器２５の設計変数ρを更新することで、推定器２５の逆モデル２５０を更新する（Ｓ２４０）。
【００６３】
即ち、更新器２７は、推定器２５における逆モデル２５０のイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの組合せを、Ｓ２１０で算出された学習値ρ（ｋ）に更新する（Ｓ２４０）。その後、図５に示す処理を一旦終了する。
【００６４】
この他、更新器２７は、Ｓ２３０で学習値ρ（ｋ）が規定範囲外にあると判断すると（Ｓ２３０でＮｏ）、推定器２５における逆モデル２５０のイナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを、予め定められた初期値に戻して（Ｓ２５０）、図５に示す処理を一旦終了する。
【００６５】
更新器２７は、上述したＳ２１０〜Ｓ２５０の処理を繰返し実行することにより、制御対象システム５０が特定状態であるときに、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを学習し、学習値が規定範囲内にあれば、推定器２５の設計変数ρを学習値に更新する。
【００６６】
ここで、本実施形態の制御システム１０が適用される制御対象システム５０の具体例を説明する。制御対象システム５０の第一具体例は、図６に示すように、モータ５３により駆動されるロボットアーム１００である。
【００６７】
ロボットアーム１００は、モータ５３からの動力を受けて、物体を把持し、移動させる。この場合、センサ５７は、ロボットアーム１００により把持される物体を撮影映像から検知する画像センサ１１０であり得る。
【００６８】
制御システム１０は、上記特定状態として、画像センサ１１０からの出力信号に基づき、ロボットアーム１００が物体を把持していない状態を判別し、ロボットアーム１００が物体を把持していない状態にあるときのみに、変数ａ＝１に設定して、更新器２７に推定器２５の設計変数ρを学習更新させることができる。
【００６９】
制御対象システム５０の第二具体例は、図７に示すように、シート２４０を、シート搬送方向の上流に配置されたローラ２１１，２１２と、下流に配置されたローラ２２１，２２２との回転により、上流から下流に搬送するシート搬送システム２００である。
【００７０】
モータ５３は、図示しない動力伝達機構を介してローラ２１１，２２１と接続され、ローラ２１１，２２１を回転させる。シート搬送システム２００は、ローラ２１１，２２１の回転により、シート２４０に力学的作用を及ぼし、シート２４０を下流に搬送する。
【００７１】
この場合のセンサ５７は、シート搬送システム２００の上流、具体的には、ローラ２１１の上流に配置されたシート検出センサ２３０であり得る。シート検出センサ２３０は、ローラ２１１に近接又は接触するシート２４０を検知し、シート２４０の有無に応じて出力信号のオン／オフを切り替えるように構成され得る。
【００７２】
このシート搬送システム２００では、外部から供給される物体であるシート２４０からの力学的作用により外力を受ける。換言すれば、シート２４０が上流から供給されていない状態では、基本的にシート搬送システム２００に、外力は作用しない。
【００７３】
従って、制御システム１０は、シート検出センサ２３０によりシート２４０が検出されていないときに、制御対象システム５０が特定状態であると判別して、ａ＝１に設定し、それ以外の場合には、ａ＝０に設定して、更新器２７の学習及び更新動作を制御する。
【００７４】
このシート搬送システム２００に本実施形態の制御システム１０を適用した実験により得られた、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃの学習値を、真値と共に図８に示す。図８において、真値は実線で示され、学習値は、破線で示される。更に、この学習値を用いて推定器２５の設計変数ρを更新した場合の、外力推定値Ｅを、外力の真値と共に図９に示す。図９において、真値は実線で示され、外力推定値Ｅは、破線で示される。
【００７５】
この実験では、シート検出センサ２３０の出力に基づき、外力がゼロである期間に、変数ａが値１に切り替えられ、学習動作が行われている。この例から理解できるように、本実施形態によれば、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃが精度よく学習され、推定器２５による外力の推定精度が向上する。
【００７６】
以上に説明した本実施形態の制御システム１０によれば、センサ５７を用いて、制御対象システム５０が、そこに外力が作用しない特定状態にあるときに、推定器２５の設計変数ρの学習動作を有効にし、推定器２５の外力推定値Ｅを最小化する方向への設計変数ρの学習を逐次最小二乗法により実現する。一方、制御対象システム５０が特定状態にないときには、学習動作を実質的に実行しない。
【００７７】
推定器２５を設ける環境では、多くの場合、推定器２５と同等以上の精度で外力の大きさを検出する力センサを設けることはない。このような力センサを設ければ、推定器２５が不要になるためである。
【００７８】
一方、推定器２５における設計変数ρの学習においては、未知の外力が誤学習に繋がる。本実施形態では、このような誤学習を、上述の力センサとは別のセンサ５７を用いて外力がゼロであると判別される状態で選択的に学習動作を有効することにより抑える。
【００７９】
従って、本実施形態によれば、高精度な力センサの導入なしに、高精度に外力を推定可能な推定器２５、及び、それを備える制御システム１０を提供することができる。特に、本実施形態によれば、簡易なセンサ、又は、制御対象システム５０に他の目的で設けられるセンサを利用して、制御対象システム５０に外力が作用している状態であるか否かを判別して、学習動作のオン／オフを切り替えることができる。従って、低コストに、優れた制御システム１０及び推定器２５を提供可能である。
【００８０】
更に言えば、本実施形態では、外力推定のために、従来の正弦波指令のような特殊信号を制御対象システム５０に入力して、制御対象システム５０に、故障及び不調の原因となりうる特殊な動作を実行させる必要がない。
【００８１】
このように、本実施形態の制御システム１０は、故障及び不調の原因になり得る特殊動作なしに、高精度に、イナーシャＪ、粘性摩擦係数Ｄ、及びクーロン摩擦ｆｃを学習／同定して、この結果を、推定器２５における外力の推定精度の向上及び維持に役立てることができる。
【００８２】
本実施形態によれば更に、学習値が規定範囲外であるときには、学習値を推定器２５に反映させることなく、推定器２５の設計変数を初期値に戻すことも有意義である。想定外の要因により、センサ５７を用いて判別した特定状態が、実際には、外力が作用した状態である可能性がある。この想定外の外力が作用している状態での学習動作により計算された学習値が推定器２５に反映されると、推定器２５による外力の推定精度が大きく低下する可能性がある。
【００８３】
本実施形態によれば、推定器２５の設計変数を初期値に戻すことで、誤学習が推定器２５に及ぼす影響を抑えることができるので、上述した要因により外力の推定精度が低下するのを抑制することができる。
【００８４】
本開示が、上述した実施形態に限定されるものではなく、種々の形態を採る得ることも言うまでもない。例えば、上述の制御システム１０は、ロボットアーム１００やシート搬送システム２００以外の様々な制御対象システム５０に適用され得る。また、本開示の技術は、フォードフォワード制御系にも適用できる。
【００８５】
上記実施形態では、外力がゼロである状態で更新器２７における学習及び更新動作を有効にしたが、外力がゼロ以外の既知の特定状態で、ａ＝１に設定し、更新器２７における学習及び更新動作を有効にし、それ以外の状態で、ａ＝０に設定し、更新器２７における学習及び更新動作を無効にするように、制御システム１０は動作してもよい。この場合には、式（３）に含まれるε（ｋ）を、既知の外力の値Ｆ０を用いて、ε（ｋ）−Ｆ０に置き換えて、ρ（ｋ）を算出すればよい。
【００８６】
この他、上記実施形態における１つの構成要素が有する機能は、複数の構成要素に分散して設けられてもよい。複数の構成要素が有する機能は、１つの構成要素に統合されてもよい。上記実施形態の構成の一部は、省略されてもよい。上記実施形態の構成の少なくとも一部は、他の上記実施形態の構成に対して付加又は置換されてもよい。特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【００８７】
１０…制御システム、１１…プロセッサ、１３…メモリ、２１…指令器、２３…制御器、２５…推定器、２７…更新器、２９…切替器、５０…制御対象システム、５１…機械、５３…モータ、５５…駆動回路、５７…センサ、７０…計測システム、２５０…逆モデル、２５１…剛体逆モデル、２５２…摩擦モデル、２５２Ａ…粘性摩擦モデル、２５２Ｂ…クーロン摩擦モデル、２５４，２５５，２５６…ローパスフィルタ、２５８，２５９…減算器。
【図１】
2020087342.tif 000011
【図２】
2020087342.tif 000012
【図３】
2020087342.tif 000013
【図４】
2020087342.tif 000014
【図５】
2020087342.tif 000015
【図６】
2020087342.tif 000016
【図７】
2020087342.tif 000017
【図８】
2020087342.tif 000018
【図９】
2020087342.tif 000019