JP2017083922A - System parameter identification device, system parameter identification method, and computer program therefor - Google Patents
System parameter identification device, system parameter identification method, and computer program therefor Download PDFInfo
- Publication number
- JP2017083922A JP2017083922A JP2015208362A JP2015208362A JP2017083922A JP 2017083922 A JP2017083922 A JP 2017083922A JP 2015208362 A JP2015208362 A JP 2015208362A JP 2015208362 A JP2015208362 A JP 2015208362A JP 2017083922 A JP2017083922 A JP 2017083922A
- Authority
- JP
- Japan
- Prior art keywords
- state vector
- particle
- parameter
- arbitrary
- value
- 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.)
- Pending
Links
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Complex Calculations (AREA)
- Feedback Control In General (AREA)
Abstract
Description
本明細書に開示する技術は、システムパラメータ同定装置、システムパラメータ同定方法、及びそのためのコンピュータプログラムに関する。詳しくは、制御対象となるシステムが有するパラメータを同定するための技術に関する。 The technology disclosed in this specification relates to a system parameter identification device, a system parameter identification method, and a computer program therefor. Specifically, the present invention relates to a technique for identifying parameters of a system to be controlled.
非特許文献1には、パーティクルフィルタを用いて制御対象となるシステムのパラメータを同定する技術が開示されている。パーティクルフィルタとは、所与の観測値と各パーティクルの推定値に基づいて各パーティクルの重みを求め、その重みに基づいてパーティクルを更新する手順を繰り返すことで、推定したい値を求める公知の手法である。 Non-Patent Document 1 discloses a technique for identifying a parameter of a system to be controlled using a particle filter. The particle filter is a known method for obtaining the value to be estimated by repeating the procedure of obtaining the weight of each particle based on a given observation value and the estimated value of each particle, and updating the particle based on the weight. is there.
非特許文献1では、システムの出力がステップ毎に観測され、パーティクルは、ステップ毎に更新される。即ち、パーティクルの更新周期は、システムの出力のステップ周期と等しい。この場合、各パーティクルの重みは、1個のステップにおける観測値と推定値とに基づいて算出される。このような手法では、実際のパラメータ(以下、真値とも称する)とは異なる値を有するパラメータに対してパーティクルの重みが大きくなる場合がある。このため、真値ではないパラメータを同定することが起こり得ることとなり、真値の同定精度が低い。 In Non-Patent Document 1, the output of the system is observed for each step, and the particles are updated for each step. That is, the particle update period is equal to the step period of the system output. In this case, the weight of each particle is calculated based on the observed value and the estimated value in one step. In such a method, there are cases where the weight of particles increases for parameters having values different from actual parameters (hereinafter also referred to as true values). For this reason, it is possible to identify a parameter that is not a true value, and the accuracy of identifying a true value is low.
本明細書では、パーティクルフィルタを用いて制御対象となるシステムのパラメータを同定するに際して、パラメータの同定精度を向上できる技術を開示する。 The present specification discloses a technique capable of improving parameter identification accuracy when identifying a parameter of a system to be controlled using a particle filter.
本明細書は、パーティクルフィルタを用いて制御対象のシステムのパラメータを同定するシステムパラメータ同定装置を開示する。このシステムパラメータ同定装置は、入力値取得部と、観測値取得部と、第1関数記憶部と、第2関数記憶部と、状態ベクトル算出部と、推定値算出部と、パーティクルフィルタ実行部と、を備える。入力値取得部は、システムへの入力値を、任意の期間においてステップ毎に取得可能である。観測値取得部は、システムからの出力の観測値を、任意の期間においてステップ毎に取得可能である。第1関数記憶部は、任意の期間内の任意のステップにおけるシステムの状態ベクトルを、任意のステップの1つ前のステップにおけるシステムの状態ベクトルに基づいて算出する第1関数を記憶している。システムの状態ベクトルは、システムの状態量と、システムのパラメータと、入力値に関連するシステムノイズとを要素に含んでいる。第2関数記憶部は、任意のステップにおけるシステムの状態ベクトルに基づいて、任意のステップにおけるシステムの出力の推定値を算出する第2関数を記憶している。状態ベクトル算出部は、任意のステップの1つ前のステップにおけるシステムの状態ベクトルを第1関数記憶部に記憶されている第1関数に入力して、任意のステップにおけるシステムの状態ベクトルを算出する。推定値算出部は、任意のステップにおけるシステムの状態ベクトルを第2関数記憶部に記憶されている第2関数に入力して、任意のステップにおけるシステムの出力の推定値を算出する。パーティクルフィルタ実行部は、複数のパーティクルのそれぞれに、システムの状態ベクトルを割り当て、観測値取得部から取得した観測値と、パーティクル毎に推定値算出部から取得した推定値とに基づいて、各パーティクルの重みを算出し、その重みに基づいてパーティクルを更新することでシステムの状態ベクトルを推定してシステムのパラメータを同定する。パーティクルフィルタ実行部では、パーティクルは、任意の期間内の最初のステップからnステップ目毎に(n:2以上の整数)更新され、かつ、各パーティクルの重みは、パーティクルが更新される1個の更新周期内に含まれるn個のステップのうちの少なくとも2個のステップにおいて取得された観測値と推定値とに基づいて算出される。 The present specification discloses a system parameter identification device that identifies a parameter of a system to be controlled using a particle filter. The system parameter identification device includes an input value acquisition unit, an observation value acquisition unit, a first function storage unit, a second function storage unit, a state vector calculation unit, an estimated value calculation unit, a particle filter execution unit, . The input value acquisition unit can acquire an input value to the system for each step in an arbitrary period. The observation value acquisition unit can acquire the observation value of the output from the system for each step in an arbitrary period. The first function storage unit stores a first function that calculates a system state vector at an arbitrary step within an arbitrary period based on a system state vector at a step immediately preceding the arbitrary step. The system state vector includes system state quantities, system parameters, and system noise related to input values. The second function storage unit stores a second function that calculates an estimated value of the output of the system at an arbitrary step based on the state vector of the system at the arbitrary step. The state vector calculation unit inputs the system state vector in the step immediately before the arbitrary step to the first function stored in the first function storage unit, and calculates the system state vector in the arbitrary step. . The estimated value calculating unit inputs a system state vector at an arbitrary step to the second function stored in the second function storage unit, and calculates an estimated value of the system output at the arbitrary step. The particle filter execution unit assigns a system state vector to each of a plurality of particles, and based on the observation values acquired from the observation value acquisition unit and the estimation values acquired from the estimation value calculation unit for each particle, The system state vector is estimated by updating the particles based on the weight and the system parameters are identified. In the particle filter execution unit, the particles are updated every n steps (n: an integer of 2 or more) from the first step in an arbitrary period, and the weight of each particle is the same as that of the particle being updated. It is calculated based on the observed value and the estimated value acquired in at least two of the n steps included in the update period.
上記のシステムパラメータ同定装置では、パーティクルの更新周期が、ステップ周期のn倍(n:2以上の整数)である。そして、各パーティクルの重みは、パーティクルが更新される1個の更新周期内に含まれるn個のステップのうちの少なくとも2個のステップにおいて取得された観測値と推定値とに基づいて算出される。このため、各パーティクルの重みを1個のステップにおける観測値と推定値とに基づいて算出する場合と比較して、真値とは異なるパラメータに対してパーティクルの重みが大きくなってしまうことが起こり難くなる。パーティクルの重みは、より真値に近いパラメータに対して大きくなり易くなる。この結果、制御対象となるシステムのパラメータの同定精度を向上できる。 In the system parameter identification device described above, the particle update period is n times the step period (n is an integer of 2 or more). The weight of each particle is calculated based on the observed value and the estimated value acquired in at least two of the n steps included in one update cycle in which the particle is updated. . For this reason, compared with the case where the weight of each particle is calculated based on the observed value and the estimated value in one step, the particle weight may increase for a parameter different from the true value. It becomes difficult. Particle weights tend to be large for parameters closer to true values. As a result, the identification accuracy of the parameters of the system to be controlled can be improved.
また、本明細書は、パーティクルフィルタを用いて制御対象のシステムのパラメータを同定する新規なシステムパラメータ同定方法を開示する。このシステムパラメータ同定方法は、入力値取得工程と、観測値取得工程と、状態ベクトル算出工程と、推定値算出工程と、パーティクルフィルタ実行工程とを備える。入力値取得工程では、システムへの入力値を、任意の期間においてステップ毎に取得する。観測値取得工程では、システムからの出力の観測値を、任意の期間においてステップ毎に取得する。状態ベクトル算出工程では、システムの状態量と、システムのパラメータと、入力値に関連するシステムノイズとを要素に含む、システムの状態ベクトルであって、任意の期間内の任意のステップにおけるシステムの状態ベクトルを、任意のステップの1つ前のステップにおけるシステムの状態ベクトルに基づいて算出する第1関数に、1つ前のステップにおけるシステムの状態ベクトルを入力して任意のステップにおけるシステムの状態ベクトルを算出する。推定値算出工程では、任意のステップにおけるシステムの状態ベクトルに基づいて任意のステップにおけるシステムの出力の推定値を算出する第2関数に、任意のステップにおけるシステムの状態ベクトルを入力して任意のステップにおけるシステムの出力の推定値を算出する。パーティクルフィルタ実行工程では、複数のパーティクルのそれぞれに、システムの状態ベクトルを割り当て、観測値取得工程で取得した観測値と、パーティクル毎に推定値算出工程で取得した推定値とに基づいて、各パーティクルの重みを算出し、その重みに基づいてパーティクルを更新することでシステムの状態ベクトルを推定してシステムのパラメータを同定する。パーティクルフィルタ実行工程では、パーティクルは、任意の期間内の最初のステップからnステップ目毎に(n:2以上の整数)更新され、かつ、各パーティクルの重みは、パーティクルが更新される1個の更新周期内に含まれるn個のステップのうちの少なくとも2個のステップにおいて取得された観測値と推定値とに基づいて算出される。このシステムパラメータ同定方法によると、制御対象となるシステムのパラメータの同定精度を適切に向上できる。 The present specification also discloses a novel system parameter identification method for identifying parameters of a system to be controlled using a particle filter. This system parameter identification method includes an input value acquisition step, an observation value acquisition step, a state vector calculation step, an estimated value calculation step, and a particle filter execution step. In the input value acquisition process, an input value to the system is acquired for each step in an arbitrary period. In the observation value acquisition step, the observation value of the output from the system is acquired for each step in an arbitrary period. In the state vector calculation process, a system state vector including elements of system state quantities, system parameters, and system noise related to input values, and the state of the system at any step within an arbitrary period The system state vector in an arbitrary step is input by inputting the system state vector in the previous step into a first function that calculates the vector based on the system state vector in the previous step of the arbitrary step. calculate. In the estimated value calculating step, the system state vector at any step is input to the second function that calculates the estimated value of the system output at the arbitrary step based on the system state vector at the arbitrary step. Compute an estimate of the system output at. In the particle filter execution step, a system state vector is assigned to each of a plurality of particles, and each particle is based on the observation value acquired in the observation value acquisition step and the estimation value acquired in the estimation value calculation step for each particle. The system state vector is estimated by updating the particles based on the weight and the system parameters are identified. In the particle filter execution step, particles are updated every n steps (n: an integer of 2 or more) from the first step in an arbitrary period, and the weight of each particle is the same as that of the particle being updated. It is calculated based on the observed value and the estimated value acquired in at least two of the n steps included in the update period. According to this system parameter identification method, the identification accuracy of the parameters of the system to be controlled can be appropriately improved.
また、本明細書は、パーティクルフィルタを用いて制御対象のシステムのパラメータを同定するための新規なコンピュータプログラムを開示する。このコンピュータプログラムは、コンピュータに、入力値取得処理と、観測値取得処理と、状態ベクトル算出処理と、推定値算出処理と、パーティクルフィルタ実行処理と、を実行させる。入力値取得処理では、システムへの入力値を、任意の期間においてステップ毎に取得する。観測値取得処理では、システムからの出力の観測値を、任意の期間においてステップ毎に取得する。状態ベクトル算出処理では、システムの状態量と、システムのパラメータと、入力値に関連するシステムノイズとを要素に含む、システムの状態ベクトルであって、任意の期間内の任意のステップにおけるシステムの状態ベクトルを、任意のステップの1つ前のステップにおけるシステムの状態ベクトルに基づいて算出する第1関数に、1つ前のステップにおけるシステムの状態ベクトルを入力して任意のステップにおけるシステムの状態ベクトルを算出する。推定値算出処理では、任意のステップにおけるシステムの状態ベクトルに基づいて任意のステップにおけるシステムの出力の推定値を算出する第2関数に、任意のステップにおけるシステムの状態ベクトルを入力して任意のステップにおけるシステムの出力の推定値を算出する。パーティクルフィルタ実行処理では、複数のパーティクルのそれぞれに、システムの状態ベクトルを割り当て、観測値取得処理で取得した観測値と、パーティクル毎に推定値算出処理で取得した推定値とに基づいて、各パーティクルの重みを算出し、その重みに基づいてパーティクルを更新することでシステムの状態ベクトルを推定してシステムのパラメータを同定する。パーティクルフィルタ実行処理では、パーティクルは、任意の期間内の最初のステップからnステップ目毎に(n:2以上の整数)更新され、かつ、各パーティクルの重みは、パーティクルが更新される1個の更新周期内に含まれるn個のステップのうちの少なくとも2個のステップにおいて取得された観測値と推定値とに基づいて算出される。このコンピュータプログラムによると、コンピュータに、パラメータを同定するための処理を適切に実行させることができる。 The present specification also discloses a novel computer program for identifying parameters of a system to be controlled using a particle filter. This computer program causes a computer to execute an input value acquisition process, an observation value acquisition process, a state vector calculation process, an estimated value calculation process, and a particle filter execution process. In the input value acquisition process, an input value to the system is acquired for each step in an arbitrary period. In the observation value acquisition process, the observation value of the output from the system is acquired for each step in an arbitrary period. In the state vector calculation process, a system state vector including elements of system state quantities, system parameters, and system noise related to input values, and the state of the system at any step within an arbitrary period The system state vector in an arbitrary step is input by inputting the system state vector in the previous step into a first function that calculates the vector based on the system state vector in the previous step of the arbitrary step. calculate. In the estimated value calculation process, the system state vector at an arbitrary step is input to a second function that calculates an estimated value of the system output at an arbitrary step based on the system state vector at an arbitrary step. Compute an estimate of the system output at. In the particle filter execution processing, a system state vector is assigned to each of a plurality of particles, and each particle is based on the observation value acquired by the observation value acquisition processing and the estimation value acquired by the estimation value calculation processing for each particle. The system state vector is estimated by updating the particles based on the weight and the system parameters are identified. In the particle filter execution processing, the particles are updated every n steps (n: an integer of 2 or more) from the first step in an arbitrary period, and the weight of each particle is the same as that of the particle being updated. It is calculated based on the observed value and the estimated value acquired in at least two of the n steps included in the update period. According to this computer program, it is possible to cause the computer to appropriately execute processing for identifying parameters.
本明細書が開示する技術の詳細、及び、さらなる改良は、発明を実施するための形態及び実施例にて詳しく説明する。 Details of the technology disclosed in this specification and further improvements will be described in detail in the detailed description and examples.
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。 The main features of the embodiments described below are listed. The technical elements described below are independent technical elements and exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. Absent.
(特徴1) 本明細書が開示するシステムパラメータ同定装置は、システムのパラメータにパラメータノイズを付与するノイズ付与部をさらに備えていてもよい。このノイズ付与部は、パーティクルが更新されるステップにおいて、システムのパラメータにパラメータノイズを付与してもよい。この構成によると、パーティクルが局所解(ローカルミニマム)に収束することを抑制でき、同定精度をさらに向上できる。 (Feature 1) The system parameter identification device disclosed in the present specification may further include a noise applying unit that applies parameter noise to the system parameters. The noise adding unit may add parameter noise to the system parameters in the step of updating the particles. According to this configuration, the particles can be prevented from converging on a local solution (local minimum), and the identification accuracy can be further improved.
(特徴2) 本明細書が開示するシステムパラメータ同定装置では、パラメータノイズの分散が可変であってもよい。この構成によると、パーティクルの拡散の度合いを変更できる。 (Feature 2) In the system parameter identification device disclosed in this specification, the variance of the parameter noise may be variable. According to this configuration, the degree of particle diffusion can be changed.
(特徴3) 本明細書が開示するシステムパラメータ同定装置では、任意の期間内においてパーティクルがm回(m:2以上の整数)更新されるとすると、j回目(j:1〜m−1までの任意の整数)に更新されるときのステップで付与されるパラメータノイズの分散が、n・j+1ステップ目からn・j+nステップ目までのn個のステップのうちの少なくとも1個のステップにおいて取得された入力値又は観測値に基づいて決定されてもよい。この構成によると、パーティクルが不要に拡散してしまうことを抑制でき、効率的にパラメータを同定できる。 (Characteristic 3) In the system parameter identification device disclosed in the present specification, if particles are updated m times (m is an integer equal to or greater than 2) within an arbitrary period, the j-th time (j: 1 to m−1). The variance of the parameter noise given in the step at the time of updating to (an arbitrary integer) is obtained in at least one of the n steps from the n · j + 1 step to the n · j + n step. It may be determined based on the input value or the observed value. According to this structure, it can suppress that a particle | grain spread | diffuses unnecessarily and a parameter can be identified efficiently.
(特徴4) 本明細書が開示するシステムパラメータ同定装置では、各パーティクルの重みは、上記少なくとも2個のステップにおける同時確率から算出されてもよい。この構成によると、パーティクルの重みは、より真値に近いパラメータに対して大きくなるため、同定精度をさらに向上できる。 (Feature 4) In the system parameter identification device disclosed in this specification, the weight of each particle may be calculated from the joint probability in the at least two steps. According to this configuration, since the weight of the particle is increased with respect to a parameter closer to the true value, the identification accuracy can be further improved.
(特徴5) システムを制御する制御器が、上記に記載のシステムパラメータ同定装置を備えていてもよい。この制御器の制御パラメータは、パーティクルフィルタ実行部により更新されたパーティクルの分散及び平均に基づいて決定されてもよい。この構成によると、制御パラメータを効率的に決定することができる。 (Feature 5) A controller for controlling the system may include the system parameter identification device described above. The control parameter of this controller may be determined based on the dispersion and average of particles updated by the particle filter execution unit. According to this configuration, the control parameter can be determined efficiently.
図1〜3を参照してシステムパラメータ同定装置10について説明する。同定装置10は、パーティクルフィルタを用いて制御対象となるシステム(例えば、ロボットアーム)のパラメータPを同定する。同定装置10には、システムのパラメータPを同定するための各種処理を実行するコンピュータが搭載されている。コンピュータは、演算処理を行うCPU、演算処理のデータが一時的に記憶されるRAM、及びCPUによって実行される演算プログラムが記憶されたROMを備えている。CPUがROMに記憶された演算プログラムを実行することで、CPUは、後述する状態ベクトル算出部、推定値算出部等として機能する。 The system parameter identification device 10 will be described with reference to FIGS. The identification device 10 identifies a parameter P of a system (for example, a robot arm) to be controlled using a particle filter. The identification device 10 is equipped with a computer that executes various processes for identifying the parameter P of the system. The computer includes a CPU that performs arithmetic processing, a RAM that temporarily stores arithmetic processing data, and a ROM that stores arithmetic programs executed by the CPU. When the CPU executes the arithmetic program stored in the ROM, the CPU functions as a state vector calculation unit, an estimated value calculation unit, and the like, which will be described later.
同定装置10のコンピュータは、入力値取得部12と、観測値取得部14と、第1関数記憶部16と、第2関数記憶部18と、状態ベクトル算出部20と、推定値算出部22と、パーティクルフィルタ実行部24と、分散計算式記憶部26と、ノイズ決定部28と、を備える。 The computer of the identification apparatus 10 includes an input value acquisition unit 12, an observation value acquisition unit 14, a first function storage unit 16, a second function storage unit 18, a state vector calculation unit 20, an estimated value calculation unit 22, , A particle filter execution unit 24, a dispersion calculation formula storage unit 26, and a noise determination unit 28.
同定装置10は、オフラインで使用される。即ち、外部記憶媒体30には、所定期間(t=0〜T)における入力値データ32と観測値データ34とが予め記憶されている。入力値データ32は、システムへの入力値を示す時系列データである。観測値データ34は、入力に対するシステムからの出力の観測値を示す時系列データである。
入力値取得部12は、外部記憶媒体30に記憶されている入力値データ32から、ステップ毎に(即ち、一定の周期で)入力値uを取得する。取得された入力値は、ノイズ決定部28及び状態ベクトル算出部20に出力される。この処理は、CPUで実施される。以下では、kステップ目(k=0〜T/Ts、Ts:ステップ周期)の入力値uをukと表し、他の値の表記についても同様とする。
観測値取得部14は、外部記憶媒体30に記憶されている観測値データ34から、ステップ毎に観測値Yk rを取得する。取得された観測値Yk rは、ノイズ決定部28及びパーティクルフィルタ実行部24に出力される。この処理は、CPUで実施される。なお、入力値取得部12及び観測値取得部14は、所定期間の一部の期間における入力値データ32及び観測値データ34を取得してもよい。
The identification device 10 is used offline. That is, the external storage medium 30 stores in advance input value data 32 and observation value data 34 for a predetermined period (t = 0 to T). The input value data 32 is time series data indicating an input value to the system. The observation value data 34 is time-series data indicating the observation value of the output from the system with respect to the input.
The input value acquisition unit 12 acquires the input value u from the input value data 32 stored in the external storage medium 30 for each step (that is, at a constant cycle). The acquired input value is output to the noise determination unit 28 and the state vector calculation unit 20. This process is performed by the CPU. In the following, the input value u at the k-th step (k = 0 to T / T s , T s : step period) is represented as u k, and the same applies to the notation of other values.
The observation value acquisition unit 14 acquires the observation value Y k r for each step from the observation value data 34 stored in the external storage medium 30. The acquired observation value Y k r is output to the noise determination unit 28 and the particle filter execution unit 24. This process is performed by the CPU. Note that the input value acquisition unit 12 and the observation value acquisition unit 14 may acquire the input value data 32 and the observation value data 34 in a part of a predetermined period.
第1関数記憶部16は、ROMに設けられており、式3で表される第1関数を記憶している。第1関数は、制御対象となるシステムの状態方程式と、隣接ステップ間のパラメータPの関係式を統合した関数であり、詳細には、以下のように定義される。 The first function storage unit 16 is provided in the ROM and stores the first function represented by Expression 3. The first function is a function that integrates the state equation of the system to be controlled and the relational expression of the parameter P between adjacent steps, and is defined in detail as follows.
制御対象となるシステムの状態方程式は、式1によって定義される。
隣接ステップ間のパラメータPの関係式は、式2によって定義される。
式1と式2を統合することにより、式3で表される新たな状態方程式(第1関数)が定義される。
第2関数記憶部18は、ROMに設けられており、式4で表される出力方程式(以下、第2関数とも称する)を記憶している。
状態ベクトル算出部20は、後述するパーティクルフィルタ実行部24で発生させたS個のパーティクルのそれぞれについて、kステップ目における状態ベクトルZk i(i=1〜S)と、入力値取得部12から取得した入力値ukに所定の分散α2を持たせたシステムノイズηkと、ノイズ決定部28から取得したパラメータノイズζkを、第1関数記憶部16に記憶されている第1関数(式3参照)に入力して、k+1ステップ目の状態ベクトルZ(〜)k+1 iを算出する(なお、実際の表記ではチルダ「〜」は文字の上に付される)。状態ベクトル算出部20で算出された状態ベクトルZ(〜)k+1 iは、推定値算出部22に出力される。この処理はCPUで実施される。なお、本実施例では、第1関数に入力して算出された状態ベクトルにはチルダ「〜」を付すことで、パーティクルフィルタ実行部24で推定された状態ベクトルと区別する。 For each of S particles generated by a particle filter execution unit 24 to be described later, the state vector calculation unit 20 determines the state vector Z k i (i = 1 to S) at the k- th step and the input value acquisition unit 12. acquired the system noise eta k which gave a predetermined dispersion alpha 2 to the input values u k and the parameter noise zeta k obtained from the noise determining unit 28, the first function stored in the first function storage section 16 ( Then, the state vector Z (˜) k + 1 i at the ( k + 1 ) th step is calculated (refer to the tilde “˜” in the actual notation). The state vector Z (˜) k + 1 i calculated by the state vector calculation unit 20 is output to the estimated value calculation unit 22. This process is performed by the CPU. In the present embodiment, the state vector calculated by inputting to the first function is distinguished from the state vector estimated by the particle filter execution unit 24 by adding a tilde “˜”.
推定値算出部22は、各パーティクルについて、状態ベクトル算出部20から取得したk+1ステップ目の状態ベクトルZ(〜)k+1 iを、第2関数記憶部18に記憶されている第2関数(式4参照)に入力して、k+1ステップ目のシステムの出力の推定値Y(〜)k+1 iを算出する。このとき、観測ノイズσkはゼロとして推定値Y(〜)k+1 iが算出される。推定値算出部22で算出された推定値Y(〜)k+1 iは、パーティクルフィルタ実行部24に出力される。この処理はCPUで実施される。なお、本実施例では、第2関数に入力して算出された推定値にはチルダ「〜」を付す。 For each particle, the estimated value calculation unit 22 uses the second function (formula 4) stored in the second function storage unit 18 for the k + 1 step state vector Z (˜) k + 1 i acquired from the state vector calculation unit 20. And the estimated value Y (˜) k + 1 i of the system output of the ( k + 1 ) th step is calculated. At this time, the estimated value Y (˜) k + 1 i is calculated with the observation noise σ k being zero. The estimated value Y (˜) k + 1 i calculated by the estimated value calculation unit 22 is output to the particle filter execution unit 24. This process is performed by the CPU. In the present embodiment, a tilde “˜” is added to the estimated value calculated by inputting to the second function.
パーティクルフィルタ実行部24は、最初のステップ(即ち、k=0)において、S個のパーティクルを発生させる。パーティクルは所定の範囲で一様に分布している。ここで、「所定の範囲」とは、同定すべきパラメータPの真値を含む範囲である。各パーティクルには、所定の状態ベクトルZ0 iが割り当てられる。以下では、最初のステップにおける状態ベクトルZ0 iを、初期状態ベクトルとも称する。
また、パーティクルフィルタ実行部24は、最初のステップからnステップ目毎に、パーティクルを更新する。具体的には、パーティクルフィルタ実行部24は、以下の手順でパーティクルを更新する。(1)まず、パーティクルの更新がj回目であるk=n・jステップ目(j=1〜m、m:所定期間T内でパーティクルが更新される回数、n・m=T/Ts)において、観測値取得部14から、j−1回目のパーティクルの更新後に取得されたn個の観測値Yr(即ち、Yn(j−1)+1 rからYn(j−1)+n rまでのn個の観測値Yr)を取得する。また、推定値算出部22から、各パーティクルについて、j−1回目のパーティクルの更新後に取得されたn個の推定値Y(〜)i(即ち、Y(〜)n(j−1)+1 iからY(〜)n(j−1)+n iまでのn個の推定値Y(〜)i)を取得する。(2)次に、これらn個の観測値Yr及び推定値Y(〜)iを次の式5で表される重み計算式に入力して、各パーティクルの重みwiを算出する。
パーティクルフィルタ実行部24で推定された状態ベクトルZn・j iは、状態ベクトル算出部に出力される。これらの処理は、CPUで実施される。
The particle filter execution unit 24 generates S particles in the first step (that is, k = 0). The particles are uniformly distributed within a predetermined range. Here, the “predetermined range” is a range including the true value of the parameter P to be identified. A predetermined state vector Z 0 i is assigned to each particle. Hereinafter, the state vector Z 0 i in the first step is also referred to as an initial state vector.
Further, the particle filter execution unit 24 updates the particles every nth step from the first step. Specifically, the particle filter execution unit 24 updates particles according to the following procedure. (1) First, k = n · j-th step in which particles are updated (j = 1 to m, m: number of times particles are updated within a predetermined period T, n · m = T / T s ) N observation values Y r (that is, Y n (j−1) +1 r to Y n (j−1) + n r ) acquired from the observation value acquisition unit 14 after the j−1th particle update. N observation values Y r ) are obtained. Further, n estimated values Y (˜) i (that is, Y (˜) n (j−1) +1 i acquired after the j−1th update of the particles from the estimated value calculation unit 22 for each particle. acquires Y (~) n (j- 1) + n i to the n-number of estimated values Y (~) i) from. (2) Next, the n observed values Y r and the estimated values Y (˜) i are input to the weight calculation formula expressed by the following formula 5 to calculate the weight w i of each particle.
The state vector Z n · j i estimated by the particle filter execution unit 24 is output to the state vector calculation unit. These processes are performed by the CPU.
分散計算式記憶部26は、ROMに設けられており、パラメータノイズζkの分散β2を記述する計算式を記憶している。この計算式は、入力値u又は観測値Yrの関数であり、パラメータ毎に予め設定されている(後述)。なお、この計算式は、入力値u又は観測値Yrの関数に限られず、入力値u又は観測値Yrから導出される値(例えばYr)の関数であってもよい。 The variance calculation formula storage unit 26 is provided in the ROM, and stores a calculation formula describing the variance β 2 of the parameter noise ζ k . This calculation formula is a function of the input value u or the observed value Yr , and is preset for each parameter (described later). Incidentally, this formula is not limited to the function of the input values u or observed value Y r, may be a function of the value (e.g., Y r) derived from the input value u or observed value Y r.
ノイズ決定部28は、k=n・jステップ目(但し、j≠m)において、入力値取得部12又は観測値取得部14から、j回目のパーティクル更新後の最初のステップからj+1回目のパーティクル更新時のステップまでのn個の入力値u又はn個の観測値Yrを取得する(即ち、un・j+1からun・j+nまでのn個の入力値u又はYn・j+1 rからYn・j+n rまでのn個の観測値Yrを取得する)。そして、分散式記憶部から取得した分散式にn個の入力値u又はn個の観測値Yrから選択された1個の入力値u又は観測値Yrを入力して、分散β2を算出し、k=n・jステップ目のパラメータノイズζn・jを決定する。一方、k=n・j以外のステップでは、上記処理は実行されず、パラメータノイズζは一律にゼロと設定される。このようにして決定されたパラメータノイズζkは、状態ベクトル算出部20に出力される。この処理はCPUで実施される。
上述したことから明らかなように、パーティクルの更新が行われないステップ(k=n・j以外のステップ)では、ζk=0である。即ち、パーティクルの更新が行われないステップでは、Pk+1=Pkが成立する。このため、ノイズ決定部28は、パーティクルの更新を行うステップにおいてのみパラメータノイズを決定し、状態ベクトル算出部20に出力するということもできる。
なお、上記の構成では、ノイズ決定部28はパーティクルの更新を行うステップにおいてのみパラメータノイズを決定したが、この構成に限られない。ノイズ決定部28は、最初のステップ(k=0)においても、パラメータノイズζ0を決定してもよい。この場合、パラメータノイズζ0の分散β2は、k=1〜nステップ目までのn個の入力値u又はn個の観測値Yrから選択された1個の入力値u又は観測値Yrを分散式に入力することにより算出される。なお、ノイズ決定部28が「ノイズ付与部」の一例に相当する。
In the k = n · j-th step (where j ≠ m), the noise determination unit 28 receives the j + 1-th particle from the first step after the j-th particle update from the input value acquisition unit 12 or the observation value acquisition unit 14. Obtain n input values u or n observed values Y r up to the step at the time of update (ie, from n input values u or Y n · j + 1 r from u n · j + 1 to u n · j + n N observation values Yr up to Yn · j + nr are acquired). Then, enter the one input value u or observed value Y r selected from n input values u or n observations Y r in the obtained dispersion equation from the dispersion equation storing section, a dispersion beta 2 The parameter noise ζ n · j at the k = n · j step is determined. On the other hand, in steps other than k = n · j, the above process is not executed, and the parameter noise ζ is uniformly set to zero. The parameter noise ζ k determined in this way is output to the state vector calculation unit 20. This process is performed by the CPU.
As is apparent from the above description, ζ k = 0 in the steps where the particles are not updated (steps other than k = n · j). That is, P k + 1 = P k is established in the step where the particle is not updated. For this reason, the noise determination unit 28 can also determine the parameter noise only in the step of updating the particle and output it to the state vector calculation unit 20.
In the above configuration, the noise determination unit 28 determines the parameter noise only in the step of updating the particles. However, the configuration is not limited to this configuration. The noise determination unit 28 may determine the parameter noise ζ 0 also in the first step (k = 0). In this case, the variance β 2 of the parameter noise ζ 0 is one input value u or observation value Y selected from n input values u or n observation values Y r from k = 1 to n steps. It is calculated by inputting r into the dispersion formula. The noise determining unit 28 corresponds to an example of “noise applying unit”.
次に、図2を参照して同定装置10のコンピュータがシステムのパラメータPを同定する処理について説明する。まず、ステップS2の入力値取得工程では、入力値取得部12が、外部記憶媒体30に記憶されている入力値データ32から、ステップ毎に全期間の入力値ukを取得する。次に、ステップS4の観測値取得工程では、観測値取得部14が、外部記憶媒体30に記憶されている観測値データ34から、ステップ毎に全期間の観測値Yk rを取得する。続いて、ステップS6の初期状態ベクトル決定工程では、パーティクルフィルタ実行部24が、最初のステップ(k=0)においてS個のパーティクルを発生させ、各パーティクルに初期状態ベクトルZ0 i(i=1〜S)を割り当てる。なお、ステップS2〜S6の工程は、順不同である。 Next, a process in which the computer of the identification apparatus 10 identifies the system parameter P will be described with reference to FIG. First, in the input value acquisition process of step S <b> 2, the input value acquisition unit 12 acquires the input value uk for the entire period for each step from the input value data 32 stored in the external storage medium 30. Next, in the observation value acquisition step of step S4, the observation value acquisition unit 14 acquires the observation values Y k r for the entire period from the observation value data 34 stored in the external storage medium 30 for each step. Subsequently, in the initial state vector determination step in step S6, the particle filter execution unit 24 generates S particles in the first step (k = 0), and the initial state vector Z 0 i (i = 1) is generated for each particle. ~ S). Note that the steps S2 to S6 are in no particular order.
続いて、ステップS8の状態ベクトル算出工程では、状態ベクトル算出部20が、ステップS6で割り当てられたパーティクル毎の初期状態ベクトルZ0 iと、システムノイズη0(即ち、平均が入力値u0、分散がα2となるノイズ)と、ζ0=0を第1関数に入力して、状態ベクトルZ(〜)1 iを算出する。次いで、状態ベクトル算出部20は、Z(〜)1 iと、η1と、ζ1=0を第1関数に入力して、Z(〜)2 iを算出する。状態ベクトル算出部20は、この処理をk=nステップ目までn回繰り返して、パーティクル毎にn個の状態ベクトルZ(〜)1 i〜Z(〜)n iを算出する。なお、k=0〜n−1ステップ目までのζkは0である。続いて、ステップS10の推定値算出工程では、推定値算出部22が、ステップS8で算出されたn個の状態ベクトルZ(〜)1 i〜Z(〜)n iを第2関数に入力して、パーティクル毎にn個の推定値Y(〜)1 i〜Y(〜)n iを算出する。 Subsequently, in the state vector calculation step of step S8, the state vector calculation unit 20 performs the initial state vector Z 0 i for each particle assigned in step S6 and the system noise η 0 (that is, the average is the input value u 0 , The noise having variance α 2 ) and ζ 0 = 0 are input to the first function, and the state vector Z (˜) 1 i is calculated. Next, the state vector calculation unit 20 inputs Z (˜) 1 i , η 1 and ζ 1 = 0 to the first function, and calculates Z (˜) 2 i . State vector calculation unit 20, the process is repeated n times until k = n-th step, each particle n states vector Z (~) to calculate a 1 i ~Z (~) n i . Note that ζ k is 0 from k = 0 to the (n−1) th step. Subsequently, the estimated value calculation step of step S10, the estimated value calculating section 22 inputs the n state vector Z calculated in step S8 (~) 1 i ~Z the (~) n i to the second function Te, n pieces of estimated values Y (~) for each particle to calculate the 1 i ~Y (~) n i .
続いて、ステップS12のパーティクルフィルタ実行工程では、1回目のパーティクルの更新を行う。具体的には、パーティクルフィルタ実行部24が、ステップS4で取得した全期間の観測値Yk rのうちの、k=1〜nステップ目までのn個の観測値Y1 r〜Yn rと、ステップS10で取得したn個の推定値Y(〜)1 i〜Y(〜)n iを重み計算式(式5参照)に入力して、各パーティクルの重みwiを算出する。そして、パーティクルフィルタ実行部24は、重みwiに基づいてパーティクルを更新して、パーティクル毎にk=nステップ目の状態ベクトルZn iを推定する。このときのパーティクルの分布により、k=nステップ目のパラメータPが同定される。 Subsequently, in the particle filter execution step in step S12, the first particle update is performed. Specifically, the particle filter execution unit 24, of the observed value Y k r of the total period obtained in step S4, k = n number of observations Y 1 r of 1~n until th step to Y n r If, type acquired n pieces of estimated value Y in step S10 (~) 1 i to Y a (~) n i weight calculation formula (see equation 5), calculates the weight w i of each particle. Then, the particle filter execution unit 24 updates the particles based on the weight w i, estimates the k = n th step of the state vector Z n i for each particle. The parameter P at the k = n step is identified by the particle distribution at this time.
続いて、ステップS14では、パーティクルの更新が最後であるか(即ち、j=mであるか)否かを判定する。パーティクルの更新が最後ではない場合(ステップS14でNO)は、ステップS16に進む。ステップS16の分散決定工程では、ノイズ決定部28が、k=n+1〜2nステップ目までのn個の入力値un+1〜u2n、又は、n個の観測値Yn+1 r〜Y2n r(或いは、入力値uk又は観測値Yk rから導出される値)から選択された1個の入力値uk又は観測値Yk rを、分散計算式記憶部26に記憶されている計算式に入力して分散β2を算出し、k=nステップ目のパラメータノイズζnを決定する。 Subsequently, in step S14, it is determined whether or not the particle update is the last (that is, j = m). If the particle update is not the last time (NO in step S14), the process proceeds to step S16. In the variance determining step of step S16, the noise determining unit 28 performs n input values u n + 1 to u 2n up to k = n + 1 to 2n steps or n observed values Y n + 1 r to Y 2n r (or the input values u k or observed values Y k 1 input values selected from r value derived from) u k or observed values Y k r, the calculation expression stored in the distributed computing equation storing section 26 The variance β 2 is input to calculate the parameter noise ζ n at the k = nth step.
続いて、ステップS18の状態ベクトル算出工程では、状態ベクトル算出部20が、ステップS12で推定されたk=nステップ目の状態ベクトルZn iと、ηnと、ステップS16で決定されたパラメータノイズζnを、第1関数に入力してk=n+1ステップ目の状態ベクトルZ(〜)n+1 iを算出する。ステップS18の処理が終了すると、同定装置10のコンピュータは、ステップS8の処理に戻る。ステップS8では、状態ベクトル算出部20が、k=n+2〜2nステップ目までのn−1個の状態ベクトルZ(〜)n+2 i〜Z(〜)2n iを算出する。続いて、ステップS10では、ステップS18及びステップS8で算出されたn個の状態ベクトルZ(〜)n+1 i〜Z(〜)2n iから、n個の推定値Y(〜)n+1 i〜Y(〜)2n iが算出され、ステップS12では、2回目のパーティクルの更新が行われる。以下、上述した処理を繰り返し、ステップS12でm回目(即ち、最後)のパーティクルの更新が行われてk=n・mステップ目の状態ベクトルZn・m iが推定されると、同定装置10のコンピュータは、ステップS14でYESと判定し、パラメータPの同定処理を終了する。このときのパーティクルの分布により、k=n・mステップ目のパラメータPが同定される。 Subsequently, in the state vector calculation step in step S18, the state vector calculation unit 20 performs the k = n-th state vector Z n i estimated in step S12, η n, and the parameter noise determined in step S16. ζ n is input to the first function to calculate the state vector Z (˜) n + 1 i of the k = n + 1 step. When the process of step S18 ends, the computer of the identification apparatus 10 returns to the process of step S8. In step S <b> 8, the state vector calculation unit 20 calculates n−1 state vectors Z (˜) n + 2 i to Z (˜) 2n i up to k = n + 2 to 2n steps. Subsequently, in step S10, n estimated values Y (to) n + 1 i to Y ((n) are calculated from the n state vectors Z (to) n + 1 i to Z (to) 2n i calculated in steps S18 and S8. ~) 2n i is calculated, in step S12, the second particle update occurs. Thereafter, the above-described processing is repeated, and when the m-th (that is, last) particle update is performed in step S12 and the state vector Z n · m i at the k = n · m step is estimated, the identification apparatus 10 In step S14, the parameter P identification processing ends. The parameter P at the k = n · m step is identified by the particle distribution at this time.
上記の説明から明らかなように、パーティクルが更新されるステップ(k=n・j、j=1〜m)では、状態ベクトルは、状態ベクトル算出部20によって算出される状態ベクトルZ(〜)n iと、パーティクルフィルタ実行部24によって推定される状態ベクトルZn iの2種類が存在する。そして、ステップS18の工程では、第1関数に入力される状態ベクトルとして、後者の状態ベクトルZn iが用いられる。なお、上記のようにパラメータの同定がオフラインで行われる場合は、ステップS16の工程のように都度パラメータノイズζn・jを決定する代わりに、予めm−1個の分散β2を算出してパラメータノイズζn・jを決定しておいてもよい。 As is clear from the above description, in the step of updating the particles (k = n · j, j = 1 to m), the state vector is the state vector Z (˜) n calculated by the state vector calculation unit 20. and i, 2 kinds of state vector Z n i estimated by a particle filter execution unit 24 is present. In the process of step S18, the latter state vector Z n i is used as the state vector input to the first function. When parameter identification is performed off-line as described above, instead of determining the parameter noise ζ n · j each time as in step S16, m−1 variances β 2 are calculated in advance. The parameter noise ζ n · j may be determined.
上記の同定装置10では、パーティクルの更新周期が、ステップ間隔Tsのn倍である。そして、各パーティクルの重みwiは、パーティクルが更新される1個の更新周期内に含まれるn個のステップにおいて取得された観測値Yrと推定値Y(〜)iとに基づいて算出される。このため、各パーティクルの重みを1個のステップにおける観測値Yrと推定値Y(〜)iとに基づいて算出する場合と比較して、パーティクルの重みwiは、より真値に近いパラメータに対して大きくなり易くなる。この結果、制御対象となるシステムのパラメータの同定精度を向上できる。 In the identification device 10 described above, the particle update cycle is n times the step interval T s . Then, the weight w i of each particle is calculated based on the observed value Y r and the estimated value Y (˜) i acquired in n steps included in one update cycle in which the particle is updated. The For this reason, compared with the case where the weight of each particle is calculated based on the observed value Y r and the estimated value Y (˜) i in one step, the particle weight w i is a parameter closer to the true value. It becomes easy to become large. As a result, the identification accuracy of the parameters of the system to be controlled can be improved.
また、上記の同定装置10は、ノイズ決定部28を備える。ノイズ決定部28は、パーティクルが更新されるステップ(k=n・j、但し、j≠m)において、パラメータノイズζを決定して状態ベクトル算出部20に出力する。この構成によると、パーティクルが局所解(ローカルミニマム)に収束することを抑制でき、同定精度をさらに向上できる。 The identification device 10 includes a noise determination unit 28. The noise determination unit 28 determines the parameter noise ζ and outputs it to the state vector calculation unit 20 in the step (k = n · j, where j ≠ m) when the particle is updated. According to this configuration, the particles can be prevented from converging on a local solution (local minimum), and the identification accuracy can be further improved.
また、上記の同定装置10では、ノイズ決定部28はパラメータノイズζの分散β2を、分散計算式記憶部26に記憶されている分散計算式を用いて決定するため、分散β2は可変となる。この構成によると、分散β2に応じてパーティクルの拡散の度合いを変更できる。 Further, in the identification device 10 described above, the noise determination unit 28 determines the variance β 2 of the parameter noise ζ using the variance calculation formula stored in the variance calculation formula storage unit 26, so that the variance β 2 is variable. Become. According to this configuration, to change the degree of diffusion of the particles according to the dispersion beta 2.
特に、上記の同定装置10では、パーティクルのj回目の更新時のステップで第1関数に入力されるパラメータノイズζn・jの分散β2が、k=n・j+1ステップ目からn・j+nステップ目までのn個のステップのうちの1個のステップにおいて取得された入力値u又は観測値Yrに基づいて決定される。この構成によると、パラメータを同定するための情報の多寡に応じて分散β2を決定できる。このため、情報が少ないときに大きな分散β2を設定することに起因してパーティクルが不要に拡散してしまうという事態の発生を抑制でき、効率的にパラメータを同定できる。 In particular, in the identification device 10 described above, the variance β 2 of the parameter noise ζ n · j input to the first function in the step at the j-th update of the particle is the n · j + n step from the k = n · j + 1 step. It is determined based on the input value u or the observed value Y r acquired in one of the n steps up to the eye. According to this configuration, it can be determined a dispersion beta 2 according to amount of information for identifying the parameters. Therefore, information due to that set a large dispersion beta 2 when less can suppress the occurrence of a situation that the particles will be unnecessarily spread, can be efficiently identified parameters.
また、上記の同定装置10では、各パーティクルの重みwiが、n個のステップにおける同時確率から算出される。このため、パーティクルの重みwiは、より真値に近いパラメータに対して大きくなり、同定精度をさらに向上できる。 In the identification device 10 described above, the weight w i of each particle is calculated from the simultaneous probabilities in n steps. For this reason, the weight w i of the particle becomes larger with respect to the parameter closer to the true value, and the identification accuracy can be further improved.
次に、ロボットアームのシミュレーションモデルを用いて同定装置のパラメータ同定精度を検証した具体例について説明する。この具体例では、同定装置は、実験1と、実験1の比較例としての実験2を実施する。実験1では、上述したノイズ決定処理が行われる(即ち、パラメータノイズζの分散β2が可変である)。実験2では、ノイズ決定処理が行われない(即ち、パラメータノイズζの分散β2が定数である)。このロボットアームは、単軸運動モデルであり、ロボットアームの軸を回転軸として回転運動する。同定装置10が同定するロボットアームのパラメータPは、m、φ、γ、d、Jの5個である。mは転がり摩擦のヒステリシスの膨らみを表す係数、φは転がり出し変位領域幅、γはクーロン摩擦力、dは粘性摩擦係数、Jは慣性モーメントを表す。 Next, a specific example in which the parameter identification accuracy of the identification device is verified using a simulation model of the robot arm will be described. In this specific example, the identification apparatus performs Experiment 1 and Experiment 2 as a comparative example of Experiment 1. In Experiment 1, above the noise determination process is performed (i.e., variance beta 2 parameters noise ζ is variable). In Experiment 2, noise determination processing is not performed (that is, the variance β 2 of the parameter noise ζ is a constant). This robot arm is a single-axis motion model, and rotates about the axis of the robot arm as a rotation axis. The robot arm parameters P identified by the identification device 10 are m, φ, γ, d, and J. m is a coefficient representing the swelling of the hysteresis of rolling friction, φ is the rolling displacement area width, γ is the Coulomb friction force, d is the viscous friction coefficient, and J is the moment of inertia.
(実験1)
まず、ロボットアームの状態方程式と、隣接ステップ間のパラメータPの関係式を統合して、ロボットアームの第1関数を求める。ロボットアームの状態方程式は、次の式7で示すロボットアームの運動方程式を以下の手順で離散化することにより求められる。
First, the state equation of the robot arm and the relational expression of the parameter P between adjacent steps are integrated to obtain the first function of the robot arm. The equation of state of the robot arm is obtained by discretizing the equation of motion of the robot arm shown by the following equation 7 in the following procedure.
ここで、上述したように、式7〜9をパーティクルフィルタに実装するためには、これらを離散系に変換する必要がある。離散系に変換するためには、まず、速度反転を判定して、次の式10、11に従って速度反転後のころがり摩擦力νkと速度反転後の移動距離δkを定める。
一方、式7を状態方程式に書き換えると、次の式13となる。
一方、隣接ステップ間のパラメータPの関係式は、式2で示した通りである。但し、Pkは、このロボットアームのシミュレーションモデルで同定すべき5個のパラメータからなる行列であり、次の式17で表される。
式16と式2を統合することにより、式3で表される新たな状態方程式(第1関数)が定義される。但し、Zk=(Xk’T,Pk T)Tとして定義される。faは式16、式2から導出される既知の非線形関数である。 By integrating Expression 16 and Expression 2, a new state equation (first function) represented by Expression 3 is defined. However, it is defined as Z k = (X k ′ T , P k T ) T. f a is a known nonlinear function derived from Equations 16 and 2.
一方、観測量は角度θkであるため、出力方程式(第2関数)は線形となり、次の式18で表される。
図3は、ロボットアームに入力するトルクτ(t)の時系列データを示し、図4は、ロボットアームから出力される角度θ(t)の時系列データを示す。前者が入力値データ32に相当し、後者が観測値データ34に相当する。時系列データの期間TはT=45秒であり、ステップ間隔TsはTs=0.01秒である。同定装置10の入力値取得部12及び観測値取得部14は、時系列データの全期間の入力値及び観測値を取得する。パーティクルは、n=250ステップ目に更新される。即ち、パーティクルの更新周期は2.5秒であり、パーティクルは計18回更新される(j=1〜18)。また、パーティクルの総数SはS=50000とする。また、パラメータの真値は、m=0.8、φ=1.5、γ=5.0、d=2.0、J=4.0に設定されている。 FIG. 3 shows time-series data of torque τ (t) input to the robot arm, and FIG. 4 shows time-series data of angle θ (t) output from the robot arm. The former corresponds to the input value data 32 and the latter corresponds to the observation value data 34. The period T of the time series data is T = 45 seconds, and the step interval T s is T s = 0.01 seconds. The input value acquisition unit 12 and the observation value acquisition unit 14 of the identification device 10 acquire input values and observation values for all periods of time-series data. The particles are updated at the n = 250th step. That is, the particle update cycle is 2.5 seconds, and the particles are updated 18 times in total (j = 1 to 18). The total number S of particles is S = 50000. The true values of the parameters are set to m = 0.8, φ = 1.5, γ = 5.0, d = 2.0, and J = 4.0.
次に、分散計算式記憶部26が記憶している分散計算式について説明する。本モデルでは、同定すべきパラメータが5個あるため、パラメータノイズζkは、各パラメータに対応する5個のパラメータノイズ及び分散を有する。以下では、パラメータmk、φk、γk、dk、Jkに対応するパラメータノイズ及び分散を、それぞれζ1k及びβ1 2、ζ2k及びβ2 2、ζ3k及びβ3 2、ζ4k及びβ4 2、ζ5k及びβ5 2とする。 Next, the variance calculation formula stored in the variance calculation formula storage unit 26 will be described. In this model, since there are five parameters to be identified, the parameter noise ζ k has five parameter noises and variances corresponding to each parameter. In the following, parameter noise and variance corresponding to the parameters m k , φ k , γ k , d k , J k are respectively expressed as ζ 1k and β 1 2 , ζ 2k and β 2 2 , ζ 3k and β 3 2 , ζ. Let 4k and β 4 2 , ζ 5k and β 5 2 .
(分散β1 2、β2 2の分散計算式)
転がり摩擦力vkは、速度反転後に転がり出し変位領域幅φkの距離を移動すると、クーロン摩擦力γと等価となる。このため、転がり摩擦のヒステリシスの膨らみを表す係数mkとφkは、速度反転後にのみ転がり摩擦力vkに影響する同定パラメータである。従って、パラメータmk、φkのパラメータノイズζ1k、ζ2kの分散β1 2、β2 2の分散計算式は、それぞれ次の式19、式20で表される。
Rolling friction force v k, moving distance of the displacement region width phi k out rolling after speed reversal, the Coulomb friction force γ equivalent. For this reason, the coefficients m k and φ k representing the bulge of rolling friction hysteresis are identification parameters that affect the rolling friction force v k only after the speed reversal. Accordingly, the dispersion calculation formulas of the variances β 1 2 and β 2 2 of the parameter noises ζ 1k and ζ 2k of the parameters m k and φ k are expressed by the following formulas 19 and 20, respectively.
(分散β3 2の分散計算式)
パラメータγk(クーロン摩擦力)のパラメータノイズζ3kの分散β3 2の分散計算式は、式21で表される(図5参照)。なお、β3 2 max=2.5×10−3である。k=n・jステップ目の分散β3 2は、k=n・j+1〜n・j+nステップ目までの観測値データθ(t)の最大角速度の絶対値max(|ω|)を式21に入力することにより算出される。ロボットアームの高速回転時はクーロン摩擦力に対して粘性摩擦力が支配的になるため、クーロン摩擦力γkのパラメータノイズζ3kの分散β3 2が小さくなるように設定している。また、ロボットアームの極低速回転時は、速度反転直後である可能性が高いと判断し、この場合も分散β3 2が小さくなるように設定している。
The dispersion calculation formula of the dispersion β 3 2 of the parameter noise ζ 3k of the parameter γ k (Coulomb friction force) is expressed by Equation 21 (see FIG. 5). Note that β 3 2 max = 2.5 × 10 −3 . The variance β 3 2 of the k = n · j step is expressed by the equation 21 in which the absolute value max (| ω |) of the maximum angular velocity of the observation value data θ (t) from the k = n · j + 1 to n · j + n steps Calculated by inputting. Since the viscous friction force is dominant over the Coulomb friction force during high-speed rotation of the robot arm, the variance β 3 2 of the parameter noise ζ 3k of the Coulomb friction force γ k is set to be small. Further, when the robot arm rotates at a very low speed, it is determined that there is a high possibility that it is immediately after the speed reversal, and in this case, the variance β 3 2 is set to be small.
(分散β4 2の分散計算式)
粘性摩擦力は角速度に比例した摩擦力である。このため、角速度が小さいときは、ロボットアームの挙動に対する粘性摩擦力の影響が小さくなり、システム同定が困難となると考えられる。従って、パラメータdk(粘性摩擦係数)のパラメータノイズζ4kの分散β4 2が、最大角速度の絶対値max(|ω|)に比例するように、分散β4 2の分散計算式を次の式22のように定める(図6参照)。なお、β4 2 max=2.5×10−3である。
The viscous frictional force is a frictional force proportional to the angular velocity. For this reason, when the angular velocity is small, it is considered that the influence of the viscous friction force on the behavior of the robot arm becomes small and the system identification becomes difficult. Therefore, the parameter d k parameter noise ζ dispersed beta 4 2 of 4k of (viscous friction coefficient), the absolute value max of the maximum angular velocity (| omega |) in proportion to the variance calculation formula of the dispersing beta 4 2 follows It is determined as shown in Equation 22 (see FIG. 6). Note that β 4 2 max = 2.5 × 10 −3 .
(分散β5 2の分散計算式)
パラメータJk(慣性モーメント)は、ロボットアームが十分な加減速動作をするときにシステム同定が可能である。別言すれば、ロボットアームの定速回転時や停止時には同定ができない。このため、慣性モーメントJkのシステムノイズζ5kの分散β5 2がトルクτ(入力値)に比例するように、分散β5 2の分散計算式を次の式23のように定める(図7参照)。k=n・jステップ目の分散β5 2は、k=n・j+1〜n・j+nステップ目までの入力値データτ(t)の最大トルクの絶対値max(|τ|)を式23に入力することにより算出される。なお、β5 2 max=1.0×10−2である。
The parameter J k (moment of inertia) can be identified by the system when the robot arm performs a sufficient acceleration / deceleration operation. In other words, it cannot be identified when the robot arm rotates at a constant speed or stops. Therefore, dispersion beta 5 2 of system noise zeta 5k moment of inertia J k is in proportion to the torque tau (input value) defines the dispersion equation of dispersing beta 5 2 as the following equation 23 (FIG. 7 reference). The variance β 5 2 at the k = n · j step is expressed in Equation 23 by the absolute value max (| τ |) of the maximum torque of the input value data τ (t) up to the k = n · j + 1 to n · j + n steps. Calculated by inputting. Note that β 5 2 max = 1.0 × 10 −2 .
図8(a)〜(e)は、最初のステップ(k=0)と、パーティクル更新時のステップ(k=n・j(j=1〜17))におけるパラメータノイズζの分散を表す。横軸Nは、最初のステップから数えたときの分散β1 2〜β5 2の個数を表し、縦軸β1 2〜β5 2は分散の値を表す。本実験では、最初のステップにおいてもパラメータノイズζの分散が算出されるため、計18個の分散が算出される。図8(a)〜(e)から明らかなように、分散β1 2〜β5 2は可変である。例えば、図8(a)において、N=1の分散β1 2は、k=0ステップ目のパラメータノイズζ1・0の分散であり、N=18の分散β1 2は、k=250・17ステップ目のパラメータノイズζ1・250・17の分散である。図9(a)〜(e)は、上述した条件で同定装置10がロボットアームのパラメータ同定処理を実行したときの各パラメータのパーティクルの分布を示す。図10において、濃色はパーティクルの数が少ない領域を示し、淡色はパーティクルの数が多い領域を示している。また、破線はパラメータの真値を示し、丸印は、パーティクル更新時のステップにおけるパーティクルの平均値を示す。 8A to 8E show the variance of the parameter noise ζ in the first step (k = 0) and the step (k = n · j (j = 1 to 17)) at the time of particle update. The horizontal axis N represents the number of variances β 1 2 to β 5 2 counted from the first step, and the vertical axis β 1 2 to β 5 2 represents the value of the variance. In this experiment, since the variance of the parameter noise ζ is also calculated in the first step, a total of 18 variances are calculated. As is apparent from FIGS. 8A to 8E, the dispersions β 1 2 to β 5 2 are variable. For example, in FIG. 8A, the variance β 1 2 with N = 1 is the variance of the parameter noise ζ 1 · 0 at the k = 0 step, and the variance β 1 2 with N = 18 is k = 250 · This is the variance of the parameter noise ζ 1, 250, 17 at the 17th step. FIGS. 9A to 9E show the particle distribution of each parameter when the identification device 10 executes the robot arm parameter identification process under the above-described conditions. In FIG. 10, the dark color indicates an area where the number of particles is small, and the light color indicates an area where the number of particles is large. The broken line indicates the true value of the parameter, and the circle indicates the average value of the particles at the step of updating the particles.
(実験2)
図10(a)〜(e)は、各パラメータのパラメータノイズζkの分散β2を定数とした場合の各パラメータのパーティクルの分布を示す。なお、この場合、各パラメータmk、φk、γk、dk、Jkのパラメータノイズζkの分散を、それぞれβ6 2、β7 2、β8 2、β9 2、β10 2とすると、各分散は、β6 2=β1max 2=0.022、β7 2=β2max 2=0.052、β8 2=β3max 2=2.5×10−3、β9 2=β4max 2=2.5×10−3、β10 2=β5max 2=1.0×10−2と設定されている。
(Experiment 2)
FIGS. 10A to 10E show the particle distribution of each parameter when the variance β 2 of the parameter noise ζ k of each parameter is a constant. In this case, the variances of the parameter noises ζ k of the parameters m k , φ k , γ k , d k , and J k are β 6 2 , β 7 2 , β 8 2 , β 9 2 , β 10 2, respectively. Then, each variance is β 6 2 = β 1max 2 = 0.02 2 , β 7 2 = β 2max 2 = 0.05 2 , β 8 2 = β 3max 2 = 2.5 × 10 −3 , β 9 2 = β 4max 2 = 2.5 × 10 −3 and β 10 2 = β 5max 2 = 1.0 × 10 −2 .
表1は、実験1、2を実施したときの最後のパーティクル更新時のステップにおけるパーティクルの平均と分散を各パラメータについて示している。表2は、実験1、2を各10回実施したときの最後のパーティクル更新時のステップにおけるパーティクルの平均の誤差率(%)と分散の平均を各パラメータについて示している。
また、実験1に関して、表1、表2の結果によると、パラメータφ、γ、d、Jの平均の誤差率はいずれも0.5%未満であるのに対し、パラメータmの平均の誤差率は1.829%と他のパラメータと比べてやや大きい。これは、パラメータmの変化に対してθkが不感であることが原因と考えられる。このため、同定結果をセンサレス力制御等の制御に応用する場合には、それほど大きな影響を与えないものと思われる。 Regarding Experiment 1, according to the results of Tables 1 and 2, the average error rate of the parameters φ, γ, d, and J are all less than 0.5%, whereas the average error rate of the parameter m is Is 1.829%, which is slightly larger than other parameters. This is considered to be because θ k is insensitive to the change of the parameter m. For this reason, when the identification result is applied to control such as sensorless force control, it seems that the influence is not so great.
また、図9、10を比較すると、実験2では、実験1よりも、パーティクルの更新を繰り返す過程でパーティクルの平均が真値から大きく逸脱していることが分かる。これは、パラメータを同定するための十分な情報がない場合であっても、一定の分散を有するパラメータノイズζが同定すべきパラメータに与えられるためである。特に、実験2では、パラメータJのパーティクルの平均が、j=13、14で真値から大幅に逸脱している。この原因は、次のように推測される。即ち、図3、4によると、j=13、14のステップ(即ち、t=30〜32.5秒)では、その約7.5秒前から入力トルクτがほぼゼロであり、出力角度θの角加速度がほぼゼロである。このように、ロボットアームの運動が角加速度を殆ど発生しない場合に、実験2のように一定の分散を有するパラメータノイズζをパラメータに与えると、パーティクルが不要に拡散して、真値ではない値にパーティクルが集合してしまうことが原因であると推測される。実験1のように、パラメータを同定するための十分な情報がある場合とない場合でパラメータノイズζの分散β2を可変とすることにより、パーティクルの更新の終了時だけではなく、パーティクルの更新を繰り返す過程においても、高い精度でパラメータを同定できることが分かる。 9 and 10, it can be seen that in Experiment 2, the average of the particles greatly deviates from the true value in the process of repeatedly updating the particles in Experiment 2. This is because even when there is not enough information for identifying a parameter, parameter noise ζ having a certain variance is given to the parameter to be identified. In particular, in Experiment 2, the average of the particles of parameter J deviates significantly from the true value at j = 13 and 14. This cause is presumed as follows. That is, according to FIGS. 3 and 4, in the step of j = 13, 14 (that is, t = 30 to 32.5 seconds), the input torque τ is almost zero from about 7.5 seconds before the output angle θ. The angular acceleration of is almost zero. In this way, when the motion of the robot arm hardly generates angular acceleration, if the parameter noise ζ having a certain variance is given to the parameter as in Experiment 2, the particles are unnecessarily diffused and are not true values. This is presumed to be caused by the aggregation of particles. As in Experiment 1, by changing the variance β 2 of the parameter noise ζ depending on whether or not there is sufficient information for identifying the parameter, not only at the end of the update of the particle but also at the end of the update of the particle. It can be seen that the parameters can be identified with high accuracy even in the process of repetition.
次に、図12を参照して実施例2について説明する。本実施例では、制御器40が、制御対象となるシステム42と通信可能に接続されている。制御器40は、システムパラメータ同定装置44と制御部46を備える。制御部46は、システム42からの制御出力値を目標値に近づけるように、システム42からの制御出力値を用いたフィードバック制御を行うことによってシステム42への制御入力値を決定する。制御部46は、システム42への制御入力値を決定するための制御パラメータを有しており、制御入力値は、制御パラメータに基づいて決定される(後述)。 Next, Example 2 will be described with reference to FIG. In the present embodiment, the controller 40 is communicably connected to the system 42 to be controlled. The controller 40 includes a system parameter identification device 44 and a control unit 46. The control unit 46 determines the control input value to the system 42 by performing feedback control using the control output value from the system 42 so that the control output value from the system 42 approaches the target value. The control unit 46 has a control parameter for determining a control input value to the system 42, and the control input value is determined based on the control parameter (described later).
同定装置44は、実施例1の同定装置10と異なり、システムパラメータをオンラインで同定する。即ち、同定装置44の入力値取得部及び観測値取得部は、システム42の制御入力値及び制御出力値を、システム42の動作中にリアルタイムで取得する。同定装置44は、ノイズ決定処理を実施しない点を除いて、実施例1の同定装置10と同様の処理を実施する。即ち、本実施例では、k=n・jステップ目(j=1〜m−1)におけるシステムパラメータのパラメータノイズζの分散β2は、可変ではなく一定とされる。同定装置44のパーティクルフィルタ実行部24により、k=n・jステップ目(j=1〜m)毎にパーティクルの更新が行われると、更新後のパーティクルの平均及び分散が、制御部46に出力される。 Unlike the identification device 10 of the first embodiment, the identification device 44 identifies system parameters online. That is, the input value acquisition unit and the observation value acquisition unit of the identification device 44 acquire the control input value and the control output value of the system 42 in real time during the operation of the system 42. The identification device 44 performs the same processing as that of the identification device 10 of the first embodiment except that the noise determination processing is not performed. That is, in the present embodiment, the variance β 2 of the parameter noise ζ of the system parameter at the k = n · jth step (j = 1 to m−1) is not variable but constant. When the particle filter execution unit 24 of the identification device 44 updates the particles every k = n · j steps (j = 1 to m), the average and variance of the updated particles are output to the control unit 46. Is done.
本実施例では、制御パラメータを算出するための制御パラメータ計算式が、パーティクルの平均、パーティクルの分散、及び制御出力値と制御入力値との偏差を変数とする関数となるように設計されている。このため、制御部46は、k=n・jステップ目において同定装置44から出力されたパーティクルの平均及び分散と、制御出力値と制御入力値との偏差とを制御パラメータ計算式に入力して、k=n・jステップ目の制御パラメータを算出する。制御部46は、この制御パラメータに基づいて、k=n・j+1ステップ目の制御入力値を決定する。制御器40は、上記の処理をk=n・jステップ目毎に繰り返すことにより、制御パラメータを同定する。 In the present embodiment, the control parameter calculation formula for calculating the control parameter is designed to be a function having the average of particles, the dispersion of particles, and the deviation between the control output value and the control input value as variables. . For this reason, the control unit 46 inputs the average and variance of the particles output from the identification device 44 at the k = n · j step, and the deviation between the control output value and the control input value to the control parameter calculation formula. K = n · jth step control parameters are calculated. Based on this control parameter, the control unit 46 determines the control input value of the k = n · j + 1 step. The controller 40 identifies the control parameter by repeating the above processing every k = n · j steps.
この構成によると、制御器40は、システム42のフィードバック制御とシステムパラメータの同定を同時に行う。制御器40は、同定装置44によるオンラインでのシステムパラメータの同定結果(具体的には、パーティクルの平均及び分散)を利用して、制御パラメータを決定する。この構成によると、制御部46が試行錯誤的に制御パラメータを決定する構成と比較して、効率的に正確な制御パラメータを決定できる。 According to this configuration, the controller 40 simultaneously performs feedback control of the system 42 and identification of system parameters. The controller 40 determines a control parameter by using an online system parameter identification result (specifically, average and dispersion of particles) by the identification device 44. According to this configuration, it is possible to efficiently determine an accurate control parameter as compared with a configuration in which the control unit 46 determines the control parameter by trial and error.
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。 Specific examples of the present invention have been described in detail above, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above.
例えば、同定装置は、各パーティクルの重みwiを、1個の更新周期内に含まれるn個のステップのうちの少なくとも2個のステップにおいて取得された観測値Yrと推定値Y(〜)iとに基づいて算出してもよい。また、各パーティクルの重みwiは、同時確率以外の方法(即ち、式5以外の重み計算式)で求めてもよい。また、分散α2、ρ2は、ステップ毎に変化するように予め設定してもよい。また、パラメータノイズζ及び観測ノイズσの平均はゼロでなくてもよい。また、ノイズ決定部28は、パーティクルが更新される全てのステップにおいてパラメータノイズζを決定する構成でなくてもよい。例えば、ノイズ決定部28は、パーティクルが更新される全てのステップのうち、1つおきのステップにおいて(即ち、周期的に)パラメータノイズζを決定する構成であってもよい。 For example, the identification apparatus sets the weight w i of each particle to the observed value Y r and the estimated value Y (˜) acquired in at least two of the n steps included in one update period. You may calculate based on i . Further, the weight w i of each particle may be obtained by a method other than the joint probability (that is, a weight calculation formula other than Equation 5). The variances α 2 and ρ 2 may be set in advance so as to change at each step. Further, the average of the parameter noise ζ and the observation noise σ may not be zero. Further, the noise determining unit 28 may not be configured to determine the parameter noise ζ in all steps in which particles are updated. For example, the noise determination unit 28 may be configured to determine the parameter noise ζ in every other step (that is, periodically) among all the steps in which particles are updated.
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。 The technical elements described in this specification or the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technology illustrated in the present specification or the drawings achieves a plurality of objects at the same time, and has technical utility by achieving one of the objects.
10:システムパラメータ同定装置、12:入力値取得部、14:観測値取得部、16:第1関数記憶部、18:第2関数記憶部、20:状態ベクトル算出部、22:推定値算出部、24:パーティクルフィルタ実行部、26:分散計算式記憶部、28:ノイズ決定部、30:外部記憶媒体、32:入力値データ、34:観測値データ、40:制御器、44:同定装置 10: system parameter identification device, 12: input value acquisition unit, 14: observation value acquisition unit, 16: first function storage unit, 18: second function storage unit, 20: state vector calculation unit, 22: estimated value calculation unit , 24: particle filter execution unit, 26: dispersion calculation formula storage unit, 28: noise determination unit, 30: external storage medium, 32: input value data, 34: observation value data, 40: controller, 44: identification device
Claims (8)
入力値取得部と、観測値取得部と、第1関数記憶部と、第2関数記憶部と、状態ベクトル算出部と、推定値算出部と、パーティクルフィルタ実行部と、を備えており、
前記入力値取得部は、前記システムへの入力値を、任意の期間においてステップ毎に取得可能であり、
前記観測値取得部は、前記システムからの出力の観測値を、任意の期間においてステップ毎に取得可能であり、
前記第1関数記憶部は、前記任意の期間内の任意のステップにおける前記システムの状態ベクトルを、前記任意のステップの1つ前のステップにおける前記システムの状態ベクトルに基づいて算出する第1関数を記憶しており、前記システムの状態ベクトルは、前記システムの状態量と、前記システムのパラメータと、前記入力値に関連するシステムノイズとを要素に含んでおり、
前記第2関数記憶部は、前記任意のステップにおける前記システムの状態ベクトルに基づいて、前記任意のステップにおける前記システムの出力の推定値を算出する第2関数を記憶しており、
前記状態ベクトル算出部は、前記任意のステップの1つ前のステップにおける前記システムの状態ベクトルを前記第1関数記憶部に記憶されている前記第1関数に入力して、前記任意のステップにおける前記システムの状態ベクトルを算出し、
前記推定値算出部は、前記任意のステップにおける前記システムの状態ベクトルを前記第2関数記憶部に記憶されている前記第2関数に入力して、前記任意のステップにおける前記システムの出力の推定値を算出し、
前記パーティクルフィルタ実行部は、複数のパーティクルのそれぞれに、前記システムの状態ベクトルを割り当て、前記観測値取得部から取得した観測値と、パーティクル毎に前記推定値算出部から取得した推定値とに基づいて、各パーティクルの重みを算出し、その重みに基づいてパーティクルを更新することで前記システムの状態ベクトルを推定して前記システムのパラメータを同定し、
前記パーティクルフィルタ実行部では、
パーティクルは、前記任意の期間内の最初のステップからnステップ目毎に(n:2以上の整数)更新され、
各パーティクルの重みは、パーティクルが更新される1個の更新周期内に含まれるn個のステップのうちの少なくとも2個のステップにおいて取得された観測値と推定値とに基づいて算出される、システムパラメータ同定装置。 A system parameter identification device that identifies a parameter of a system to be controlled using a particle filter,
An input value acquisition unit, an observation value acquisition unit, a first function storage unit, a second function storage unit, a state vector calculation unit, an estimated value calculation unit, and a particle filter execution unit,
The input value acquisition unit can acquire an input value to the system for each step in an arbitrary period,
The observation value acquisition unit can acquire the observation value of the output from the system for each step in an arbitrary period,
The first function storage unit calculates a first function that calculates a state vector of the system at an arbitrary step within the arbitrary period based on a state vector of the system at a step immediately before the arbitrary step. The system state vector includes elements of the system state quantity, the system parameters, and system noise associated with the input value;
The second function storage unit stores a second function for calculating an estimated value of the output of the system in the arbitrary step based on the state vector of the system in the arbitrary step.
The state vector calculation unit inputs the state vector of the system in the step immediately before the arbitrary step to the first function stored in the first function storage unit, and the state vector in the arbitrary step Calculate the system state vector,
The estimated value calculation unit inputs the state vector of the system in the arbitrary step to the second function stored in the second function storage unit, and estimates the output of the system in the arbitrary step To calculate
The particle filter execution unit assigns a state vector of the system to each of a plurality of particles, and is based on an observation value acquired from the observation value acquisition unit and an estimation value acquired from the estimation value calculation unit for each particle. Calculating the weight of each particle, and updating the particles based on the weight to estimate the state vector of the system and identifying the parameters of the system,
In the particle filter execution unit,
The particles are updated every nth step from the first step in the arbitrary period (n: an integer of 2 or more),
The weight of each particle is calculated based on the observed value and the estimated value acquired in at least two of the n steps included in one update cycle in which the particle is updated. Parameter identification device.
前記ノイズ付与部は、パーティクルが更新されるステップにおいて、前記システムのパラメータに前記パラメータノイズを付与する、請求項1に記載のシステムパラメータ同定装置。 It further includes a noise applying unit that adds parameter noise to the parameters of the system,
The system parameter identification device according to claim 1, wherein the noise adding unit adds the parameter noise to a parameter of the system in a step in which particles are updated.
前記制御器の制御パラメータは、前記パーティクルフィルタ実行部により更新されたパーティクルの分散及び平均に基づいて決定される、制御器。 A controller for controlling the system, comprising the system parameter identification device according to claim 1,
The control parameter of the controller is determined based on a dispersion and an average of particles updated by the particle filter execution unit.
入力値取得工程と、観測値取得工程と、状態ベクトル算出工程と、推定値算出工程と、パーティクルフィルタ実行工程と、を備えており、
前記入力値取得工程では、前記システムへの入力値を、任意の期間においてステップ毎に取得し、
前記観測値取得工程では、前記システムの出力の観測値を、任意の期間においてステップ毎に取得し、
前記状態ベクトル算出工程では、前記システムの状態量と、前記システムのパラメータと、入力値に関するシステムノイズとを要素に含む、前記システムの状態ベクトルであって、前記任意の期間内の任意のステップにおける前記システムの状態ベクトルを、前記任意のステップの1つ前のステップにおける前記システムの状態ベクトルに基づいて算出する第1関数に、前記1つ前のステップにおける前記システムの状態ベクトルを入力して前記任意のステップにおける前記システムの状態ベクトルを算出し、
前記推定値算出工程では、前記任意のステップにおける前記システムの状態ベクトルに基づいて前記任意のステップにおける前記システムの出力の推定値を算出する第2関数に、前記任意のステップにおける前記システムの状態ベクトルを入力して前記任意のステップにおける前記システムの出力の推定値を算出し、
前記パーティクルフィルタ実行工程では、複数のパーティクルのそれぞれに、前記システムの状態ベクトルを割り当て、前記観測値取得工程で取得した観測値と、パーティクル毎に前記推定値算出工程で取得した推定値とに基づいて、各パーティクルの重みを算出し、その重みに基づいてパーティクルを更新することで前記システムの状態ベクトルを推定して前記システムのパラメータを同定し、
前記パーティクルフィルタ実行工程では、
パーティクルは、前記任意の期間内の最初のステップからnステップ目毎に(n:2以上の整数)更新され、
各パーティクルの重みは、パーティクルが更新される1個の更新周期内に含まれるn個のステップのうちの少なくとも2個のステップにおいて取得された観測値と推定値とに基づいて算出される、システムパラメータ同定方法。 A system parameter identification method for identifying a parameter of a system to be controlled using a particle filter,
An input value acquisition step, an observation value acquisition step, a state vector calculation step, an estimated value calculation step, and a particle filter execution step,
In the input value acquisition step, an input value to the system is acquired for each step in an arbitrary period,
In the observation value acquisition step, the observation value of the output of the system is acquired for each step in an arbitrary period,
In the state vector calculation step, the state vector of the system, the system state vector including the system state quantity, the system parameter, and the system noise related to the input value as elements, in any step within the arbitrary period The system state vector in the previous step is input to a first function that calculates the system state vector based on the system state vector in the previous step of the arbitrary step. Calculating the state vector of the system at any step;
In the estimated value calculating step, a second function for calculating an estimated value of the output of the system at the arbitrary step based on the state vector of the system at the arbitrary step is used as a second state function of the system at the arbitrary step. To calculate an estimate of the output of the system at the arbitrary step,
In the particle filter execution step, a system state vector is assigned to each of a plurality of particles, and based on the observation value acquired in the observation value acquisition step and the estimation value acquired in the estimation value calculation step for each particle. Calculating the weight of each particle, and updating the particles based on the weight to estimate the state vector of the system and identifying the parameters of the system,
In the particle filter execution step,
The particles are updated every nth step from the first step in the arbitrary period (n: an integer of 2 or more),
The weight of each particle is calculated based on the observed value and the estimated value acquired in at least two of the n steps included in one update cycle in which the particle is updated. Parameter identification method.
コンピュータに、入力値取得処理と、観測値取得処理と、状態ベクトル算出処理と、推定値算出処理と、パーティクルフィルタ実行処理と、を実行させ、
前記入力値取得処理では、前記システムへの入力値を、任意の期間においてステップ毎に取得し、
前記観測値取得処理では、前記システムの出力の観測値を、任意の期間においてステップ毎に取得し、
前記状態ベクトル算出処理では、前記システムの状態量と、前記システムのパラメータと、入力値に関連するシステムノイズとを要素に含む、前記システムの状態ベクトルであって、前記任意の期間内の任意のステップにおける前記システムの状態ベクトルを、前記任意のステップの1つ前のステップにおける前記システムの状態ベクトルに基づいて算出する第1関数に、前記1つ前のステップにおける前記システムの状態ベクトルを入力して前記任意のステップにおける前記システムの状態ベクトルを算出し、
前記推定値算出処理では、前記任意のステップにおける前記システムの状態ベクトルに基づいて前記任意のステップにおける前記システムの出力の推定値を算出する第2関数に、前記任意のステップにおける前記システムの状態ベクトルを入力して前記任意のステップにおける前記システムの出力の推定値を算出し、
前記パーティクルフィルタ実行処理では、複数のパーティクルのそれぞれに、前記システムの状態ベクトルを割り当て、前記観測値取得処理で取得した観測値と、パーティクル毎に前記推定値算出処理で取得した推定値とに基づいて、各パーティクルの重みを算出し、その重みに基づいてパーティクルを更新することで前記システムの状態ベクトルを推定して前記システムのパラメータを同定し、
前記パーティクルフィルタ実行処理では、
パーティクルは、前記任意の期間内の最初のステップからnステップ目毎に(n:2以上の整数)更新され、
各パーティクルの重みは、パーティクルが更新される1個の更新周期内に含まれるn個のステップのうちの少なくとも2個のステップにおいて取得された観測値と推定値とに基づいて算出される、コンピュータプログラム。 A computer program for identifying parameters of a system to be controlled using a particle filter,
Let the computer execute an input value acquisition process, an observation value acquisition process, a state vector calculation process, an estimated value calculation process, and a particle filter execution process,
In the input value acquisition process, an input value to the system is acquired for each step in an arbitrary period,
In the observation value acquisition process, the observation value of the output of the system is acquired for each step in an arbitrary period,
In the state vector calculation process, the state vector of the system, the system state vector including the system state quantity, the system parameter, and the system noise related to the input value as elements, and in an arbitrary period within the arbitrary period The system state vector in the previous step is input to a first function that calculates the state vector of the system in the step based on the state vector of the system in the step immediately before the arbitrary step. And calculating the state vector of the system in the arbitrary step,
In the estimated value calculating process, a second function for calculating an estimated value of the output of the system at the arbitrary step based on the state vector of the system at the arbitrary step is used as a second state function of the system at the arbitrary step. To calculate an estimate of the output of the system at the arbitrary step,
In the particle filter execution process, a state vector of the system is assigned to each of a plurality of particles, and based on the observed value acquired in the observed value acquisition process and the estimated value acquired in the estimated value calculation process for each particle. Calculating the weight of each particle, and updating the particles based on the weight to estimate the state vector of the system and identifying the parameters of the system,
In the particle filter execution process,
The particles are updated every nth step from the first step in the arbitrary period (n: an integer of 2 or more),
The weight of each particle is calculated based on the observed value and the estimated value acquired in at least two of the n steps included in one update cycle in which the particle is updated. program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015208362A JP2017083922A (en) | 2015-10-22 | 2015-10-22 | System parameter identification device, system parameter identification method, and computer program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015208362A JP2017083922A (en) | 2015-10-22 | 2015-10-22 | System parameter identification device, system parameter identification method, and computer program therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017083922A true JP2017083922A (en) | 2017-05-18 |
Family
ID=58713136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015208362A Pending JP2017083922A (en) | 2015-10-22 | 2015-10-22 | System parameter identification device, system parameter identification method, and computer program therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017083922A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220013401A (en) | 2019-07-19 | 2022-02-04 | 미쓰비시덴키 가부시키가이샤 | Parameter identification apparatus, parameter identification method and storage medium |
JP2022520903A (en) * | 2019-03-11 | 2022-04-01 | 三菱電機株式会社 | Model-based control with uncertain motion model |
-
2015
- 2015-10-22 JP JP2015208362A patent/JP2017083922A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022520903A (en) * | 2019-03-11 | 2022-04-01 | 三菱電機株式会社 | Model-based control with uncertain motion model |
JP7224501B2 (en) | 2019-03-11 | 2023-02-17 | 三菱電機株式会社 | Model-based control with uncertain motion model |
KR20220013401A (en) | 2019-07-19 | 2022-02-04 | 미쓰비시덴키 가부시키가이샤 | Parameter identification apparatus, parameter identification method and storage medium |
CN114127643A (en) * | 2019-07-19 | 2022-03-01 | 三菱电机株式会社 | Parameter identification device, parameter identification method, and computer program |
KR102635120B1 (en) | 2019-07-19 | 2024-02-07 | 미쓰비시덴키 가부시키가이샤 | Parameter identification device, parameter identification method, and storage medium |
CN114127643B (en) * | 2019-07-19 | 2024-03-29 | 三菱电机株式会社 | Parameter identification device, parameter identification method, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Krener | The convergence of the extended Kalman filter | |
Piatkowski | GMS friction model approximation | |
CN107592048A (en) | The adaptive chaos control method of fractional order brushless DC motor system | |
JP2017083922A (en) | System parameter identification device, system parameter identification method, and computer program therefor | |
Zhang et al. | Subsystem identification of multivariable feedback and feedforward systems | |
Germani et al. | Observer-based stabilizing control for a class of nonlinear retarded systems | |
JPWO2021131210A1 (en) | Information processing equipment, methods and programs | |
CN111965976A (en) | Robot joint synovial membrane control method and system based on neural network observer | |
Chaudhary et al. | Fractional order fast terminal sliding mode control scheme for tracking control of robot manipulators | |
Song et al. | Nonlinear observer design for Lipschitz nonlinear systems | |
Uddin et al. | Stabilizing two-wheeled robot using linear quadratic regulator and states estimation | |
Markovsky | Comparison of adaptive and model-free methods for dynamic measurement | |
Houimli et al. | An improved polytopic adaptive LPV observer design under actuator fault | |
Yaghmaei et al. | Trajectory tracking of a class of port hamiltonian systems using timed ida-pbc technique | |
RU186950U1 (en) | Control device for electric drive of nonlinear objects based on neural networks | |
Balcerzak et al. | Optimization of the control system parameters with use of the new simple method of the largest Lyapunov exponent estimation | |
Marani et al. | Non-asymptotic neural network-based state and disturbance estimation for a class of nonlinear systems using modulating functions | |
Jahandideh et al. | Use of PSO in parameter estimation of robot dynamics; Part two: Robustness | |
Barseghyan | The control problem for stepwise changing linear systems of loaded differential equations with unseparated multipoint intermediate conditions | |
Chang et al. | Observer-feedback fuzzy control with passivity property for discrete-time affine Takagi-Sugeno fuzzy models | |
Le et al. | An Adaptive Controller with An Orthogonal Neural Network and A Third Order Sliding Mode Observer for Robot Manipulators | |
Samad et al. | Parameter-magnitude based information criterion for identification of linear discrete-time model | |
Subbarao et al. | Reinforcement learning based computational adaptive optimal control and system identification for linear systems | |
Pan et al. | Adaptive tracking control for stochastic mechanical systems with actuator nonlinearities | |
Dogan et al. | Lyapunov-based output feedback learning control of robot manipulators |