JP7505695B2 - Motor Control Device - Google Patents
Motor Control Device Download PDFInfo
- Publication number
- JP7505695B2 JP7505695B2 JP2020202880A JP2020202880A JP7505695B2 JP 7505695 B2 JP7505695 B2 JP 7505695B2 JP 2020202880 A JP2020202880 A JP 2020202880A JP 2020202880 A JP2020202880 A JP 2020202880A JP 7505695 B2 JP7505695 B2 JP 7505695B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- friction
- motor
- trajectory control
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 claims description 39
- 238000013500 data storage Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 31
- 238000003066 decision tree Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 23
- 230000001133 acceleration Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000005070 sampling Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000032683 aging Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004069 differentiation Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000012535 impurity Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000002939 conjugate gradient method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000001050 lubricating effect Effects 0.000 description 1
- 239000010687 lubricating oil Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
- Feedback Control In General (AREA)
Description
本開示は、制御対象について軌跡制御を行うモータ制御装置に関する。 This disclosure relates to a motor control device that performs trajectory control of a control target.
工作機械およびロボットをはじめとする機械を駆動するモータ制御装置では、機械を指令通りに駆動するために軌跡制御が行われる。軌跡制御を行う際には機械に加わる摩擦力の影響により生じる軌跡誤差をいかに補償するかが課題となる。そこで、機械に加わる摩擦力を模する摩擦モデルを用いて計算された、摩擦力と相殺するようなトルクを、モータのトルク指令に印加することで摩擦力の影響を低減する補償方法が知られている。 In motor control devices that drive machines such as machine tools and robots, trajectory control is performed to drive the machine according to commands. When performing trajectory control, a challenge is how to compensate for trajectory errors that occur due to the effects of frictional forces acting on the machine. A compensation method is known that reduces the effects of frictional forces by applying a torque to the motor torque command that offsets the frictional forces, calculated using a friction model that mimics the frictional forces acting on the machine.
このとき、摩擦モデルが精確であればあるほど摩擦力の影響を低減した高精度な軌跡制御が可能となる。最も単純な摩擦モデルは、モータ速度と摩擦とが比例関係となるような線形の摩擦モデルであるが、これでは摩擦力の高精度な模擬が困難な場合がある。例えば実機においては機械とモータとがボールねじまたは減速機といった機械要素部品を介して接続されている。これらの機械要素部品のもつ軸受および潤滑油の影響は、摩擦においてモータ速度に対する非線形な成分として表れる。このような非線形性を持つ摩擦をモデル化するために、複数のパラメータを持つ関数として摩擦モデルを定義し、これらのパラメータを実機のデータに基づいて同定する技術が知られている。 At this time, the more accurate the friction model, the more accurate trajectory control that reduces the effects of frictional forces will be possible. The simplest friction model is a linear friction model in which the motor speed and friction are proportional, but this can make it difficult to simulate frictional forces with high accuracy. For example, in an actual machine, the machine and motor are connected via machine components such as a ball screw or a reducer. The effects of the bearings and lubricating oil of these machine components appear as nonlinear components in friction with respect to the motor speed. In order to model friction with this kind of nonlinearity, a technique is known that defines a friction model as a function with multiple parameters and identifies these parameters based on data from the actual machine.
例えば、特許文献1には、ストライベック効果をはじめとする非線形な摩擦を推定可能な摩擦モデルに対し、位置指令と位置フィードバックとの差分である位置偏差の最小化を目的とした最適化手法または機械学習手法を用いることで、摩擦モデルが持つパラメータを推定する技術が開示されている。すなわち、特許文献1では、ストライベック曲線を用いた非線形な摩擦モデルに基づいて摩擦補償が行われる。この摩擦モデルはパラメトリックな摩擦モデルとして定義されており、このパラメータを実機のデータに基づいて同定することで摩擦モデルが得られる。
For example,
特許文献1で摩擦補償に用いられる摩擦モデルは、いくつかの曲線式を組合せたパラメトリックモデルで定義される。つまり、これらの摩擦モデルによって表現できる摩擦の自由度は、予め定められたパラメータの数に限られることとなる。しかしながら、実機の摩擦の特性は機械の個体差にも依存して千差万別である。このため、予め定められたパラメータの数の自由度しか有していないような摩擦モデルでは、複雑な摩擦特性を表現することができず、機械ごとに異なる摩擦を高精度に表現することは難しい。このため、特許文献1に記載の技術を用いて摩擦補償を実施しても摩擦を相殺することができず軌跡誤差を生じてしまうという問題があった。
The friction model used for friction compensation in
また、特許文献1に記載の技術では、パラメトリックな非線形の摩擦モデルのパラメータを最適化計算によって同定する必要があるため、非線形最適化問題の求解を行う必要がある。このためには、実機データに基づいて数値的な繰り返し計算を行わざるを得ず、膨大な計算時間が要求され、摩擦モデルを効率的に得ることができない。つまり、従来の技術では、摩擦特性を高精度に模擬する摩擦モデルを効率的に得ることができない、すなわち軌跡制御を高精度化するための調整を効率良く行うことができないという問題があった。
In addition, in the technology described in
本開示は、上記に鑑みてなされたものであって、軌跡制御を高精度化するための摩擦補償の調整を従来に比して効率的に行うことができるモータ制御装置を得ることを目的とする。 The present disclosure has been made in consideration of the above, and aims to provide a motor control device that can adjust friction compensation to improve the accuracy of trajectory control more efficiently than conventional methods.
上述した課題を解決し、目的を達成するために、本開示に係るモータ制御装置は、位置指令に基づいてモータを駆動し、モータに機械的に接続された制御対象が移動する軌跡を制御する軌跡制御を繰り返し実行するモータ制御装置であって、フィードバック制御部と、摩擦補償トルク算出部と、加算器と、電流制御部と、データ保持部と、学習部と、を備える。フィードバック制御部は、位置指令とモータの位置とに基づくフィードバック制御によってモータのトルクの指令である第1トルク指令を算出する。摩擦補償トルク算出部は、パラメータの個数が可変の摩擦モデルによって、摩擦を考慮した第1トルク指令に対する補正である摩擦補償トルクを出力として算出する。加算器は、第1トルク指令と摩擦補償トルクとを加算して第2トルク指令を算出する。電流制御部は、第2トルク指令に追従するようにモータに電流を与える。データ保持部は、摩擦補償トルクを用いた軌跡制御の実行中にサンプリングしたモータまたは制御対象の動作を含む状態に関するデータである対象状態データと、摩擦トルクを包含して観測されるデータである摩擦トルク包含データと、を含む軌跡制御データを保持する。学習部は、軌跡制御の実行中にサンプリングした軌跡制御データに基づいて、対象状態データと摩擦補償トルクとの関係を学習した結果であり、使用する学習データである軌跡制御データによってパラメータの数が変化する関数である摩擦モデルを更新し、摩擦モデルのパラメータの数を決定する。 In order to solve the above-mentioned problems and achieve the object, a motor control device according to the present disclosure is a motor control device that drives a motor based on a position command and repeatedly executes trajectory control to control a trajectory along which a control target mechanically connected to the motor moves, and includes a feedback control unit, a friction compensation torque calculation unit, an adder, a current control unit, a data holding unit, and a learning unit. The feedback control unit calculates a first torque command that is a command for the torque of the motor by feedback control based on the position command and the position of the motor. The friction compensation torque calculation unit calculates, as an output, a friction compensation torque that is a correction to the first torque command that takes friction into account, using a friction model with a variable number of parameters. The adder calculates a second torque command by adding the first torque command and the friction compensation torque. The current control unit applies a current to the motor so as to follow the second torque command. The data holding unit holds trajectory control data that includes object state data that is data related to a state including the operation of the motor or the control target sampled during execution of trajectory control using the friction compensation torque, and friction torque inclusive data that is data observed including the friction torque. The learning unit is the result of learning the relationship between the target state data and the friction compensation torque based on the trajectory control data sampled during execution of the trajectory control , and updates the friction model, which is a function in which the number of parameters changes depending on the trajectory control data, which is the learning data used, and determines the number of parameters of the friction model.
本開示によれば、軌跡制御を高精度化するための摩擦補償の調整を従来に比して効率的に行うことができるという効果を奏する。 The present disclosure has the advantage that it is possible to adjust friction compensation to improve the accuracy of trajectory control more efficiently than in the past.
以下に、本開示の実施の形態に係るモータ制御装置を図面に基づいて詳細に説明する。 Below, a motor control device according to an embodiment of the present disclosure is described in detail with reference to the drawings.
実施の形態1.
図1は、実施の形態1によるモータ制御装置の構成の一例を模式的に示すブロック図である。モータ制御装置10は、制御対象の機械である対象機械30を駆動するモータ20に接続され、モータ20を制御する。モータ20は、対象機械30に機械的に接続される。これによって、対象機械30は、モータ制御装置10によるモータ20の制御によって動作する。
1 is a block diagram showing a schematic example of the configuration of a motor control device according to
図2は、実施の形態1によるモータ制御装置が制御するモータと駆動対象である対象機械の一例を模式的に示す斜視図である。ここでは、対象機械30が、ボールねじ装置である場合を例に挙げる。ボールねじ装置は、ボールねじ31と、テーブル32と、カップリング33と、を有する。
Figure 2 is a perspective view showing a schematic example of a motor controlled by the motor control device according to
モータ20は、カップリング33を介してボールねじ31に接続される。ボールねじ31は、モータ20の回転運動を直動運動に変換する。ボールねじ31にはテーブル32が備え付けられており、テーブル32は、直動運動をする。モータ20は、第1方向と、第1方向とは逆方向の第2方向と、の間で回転方向を切り換え可能である。モータ20は、位置検出器21を有する。位置検出器21は、モータ20の位置を検出し、モータ20の位置をモータ制御装置10に出力する。以下では、モータ20の位置は、モータ位置と称される。
The
実施の形態1では、対象機械30がボールねじ装置である場合を例示したが、これに限定されない。つまり、モータ制御装置10は、ガイド機構をはじめとする機械要素部品以外にも、モータ20によって駆動される対象機械30について広く適用される。対象機械30の例としては、さらに、垂直多関節ロボット、NC(Numerical Control)、工作機械、実装機などを挙げることができる。
In the first embodiment, the
図1に戻り、モータ制御装置10は、モデル速度算出部1と、フィードバック制御部2と、摩擦補償トルク算出部3と、加算器4と、電流制御部5と、データ保持部6と、学習部7と、を備える。
Returning to FIG. 1, the motor control device 10 includes a model
モデル速度算出部1は、位置指令を入力としてモデル速度を出力とする。位置指令は、コントローラ、NC装置などの指令値生成装置から入力される。モデル速度は、モータ20の目標速度を示す値として、位置指令を時間微分してフィルタを適用することで得られるものとする。この微分処理は、離散時間系においては差分処理に置き換えられ、現在のモータ指令と1サンプル前のモータ指令との差を制御処理周期で除した値が、近似的な微分値として使用される。また、位置指令はモータ20の回転位置の目標値とするが、単位換算をすることによってテーブル32の並進位置の目標値を位置指令としてもよい。
The model
フィードバック制御部2は、位置指令およびモータ位置を受け取り、第1トルク指令を出力する。モータ位置は、モータ20の位置検出器21から入力される。フィードバック制御部2は、位置指令とモータ位置との偏差である位置偏差を小さくするように、比例制御または積分制御の位置制御処理を行い、位置偏差を小さくするような第1トルク指令を出力する。ここで、モータ位置は、テーブル32の位置を直接リニアスケールなどのセンサで読み取った値であってもよい。なお、フィードバック制御部2は、モータ位置を位置指令に追従させるものであれば、どのようなものであってもよい。例えば、2自由度制御を行うような構成としてもよい。
The
摩擦補償トルク算出部3は、モデル速度算出部1からモデル速度を受け取り、学習部7から摩擦モデルを受け取り、摩擦補償トルクを出力する。摩擦補償トルクは、モデル速度を入力として与えた際の摩擦モデルの出力値である。摩擦モデルは、関数のパラメータ個数が学習データによって変化するノンパラメトリックな関数である。すなわち、摩擦モデルは、パラメータの個数が可変である。摩擦補償トルクは、軌跡誤差の原因となる摩擦外乱の影響を小さくするように、摩擦トルクをフィードフォワードで補償する。なお、ここではモデル速度を入力としているが、モータ位置から得られるモータ速度を代表として、位置、速度または加速度に関する任意のデータを用いることができる。ただし、モデル速度を摩擦モデルの入力として用いることで、外乱に影響されにくくすることができる。このようなノンパラメトリックな関数として、例えば、決定木による表現が挙げられる。
The friction compensation
図3は、決定木で表現された摩擦モデルの一例を示す図である。決定木は、TrueまたはFalseで分岐する条件式で構成された階層的な木構造を学習しており、ある入力に対する出力の予測は、入力の値に基づいてノードをたどり、この入力が属する葉の中にある訓練データの平均値となる。図3では、親ノードから分岐される2つの子ノードのうち、左側の子ノードがTrueである場合を示し、右側の子ノードがFalseである場合を示している。実際に、図3に示される摩擦モデルでは、摩擦補償トルク算出部3は、モデル速度とパラメータである学習済みの閾値とを含む条件式によってノードをたどり、葉の中にある訓練データについて、この摩擦トルクの平均値を摩擦補償トルクとして出力する。なお、摩擦モデルにおけるそれぞれのノード分岐に用いる条件式で、図3では入力がモデル速度とされているが、モデル速度に限定されるものではなく、後述の学習部7で摩擦モデルの学習時に用いたモータ速度を代表として、位置、速度または加速度に関する任意のデータを用いることができる。また、決定木を複数含むランダムフォレストまたは勾配ブースティング決定木をはじめとするアンサンブル法を摩擦モデルに用いる場合には、これらの決定木の結果を平均した値が摩擦補償トルクとして出力され、パラメータ数は木全てに含まれる閾値の数となる。
Figure 3 is a diagram showing an example of a friction model expressed by a decision tree. The decision tree learns a hierarchical tree structure composed of conditional expressions that branch into True or False, and the prediction of the output for a certain input is made by tracing the nodes based on the value of the input, and the average value of the training data in the leaf to which this input belongs. In Figure 3, of the two child nodes branched from the parent node, the left child node is True, and the right child node is False. In fact, in the friction model shown in Figure 3, the friction compensation
図1に戻り、加算器4は、第1トルク指令と摩擦補償トルクとの和を計算し、計算した結果を第2トルク指令として出力する。 Returning to FIG. 1, adder 4 calculates the sum of the first torque command and the friction compensation torque, and outputs the calculated result as the second torque command.
電流制御部5は、モータトルクが第2トルク指令に追従するように、モータ20に電流を供給する。
The current control unit 5 supplies current to the
データ保持部6は、モータ20の位置検出器21で検出されたモータ位置とモータ20に供給される電流の値である電流値とを受け取り、軌跡制御データおよび補助入力データを出力する。この例では、軌跡制御データは、モータ位置を微分したモータ速度と、トルク情報である電流値と、を含むデータセットである。データ保持部6は、制御周期毎に取得されるモータ位置および電流値に対し、軌跡制御データのサンプリングと保持とを行う。データ保持部6は、モータ速度の正負の符号が切り替わる前と後とにおける軌跡制御データが含まれるように軌跡制御データをサンプリングする。すなわち、データ保持部6は、第1方向および第2方向の間で回転方向が切り替わる前と後とにおける軌跡制御データをサンプリングし、保持する。また、モータ速度の代わりにモデル速度を軌跡制御データとしてもよく、外乱の影響が無視できる環境では、摩擦補償トルク算出部3で算出される摩擦補償トルクの精度が改善する場合がある。
The data storage unit 6 receives the motor position detected by the
補助入力データは、保持されている軌跡制御データを代表する部分データである。一例では、データ保持部6は、軌跡制御データをクラスタリングし、クラスタリングされた複数の軌跡制御データを代表する部分データを補助入力データとする。複数の軌跡制御データを補助入力データで置き換えることで、軌跡制御データの数を削減し、軌跡制御データを圧縮することができる。このように、複数の軌跡制御データを補助入力データに置き換えることにより、摩擦モデルの持つパラメータ数を低減し、摩擦補償トルクの学習と推論とが高速化され、摩擦補償の調整を効率化することができる。 The auxiliary input data is partial data representative of the retained trajectory control data. In one example, the data retaining unit 6 clusters the trajectory control data, and the partial data representative of the clustered plurality of trajectory control data is set as the auxiliary input data. By replacing the plurality of trajectory control data with the auxiliary input data, the number of trajectory control data can be reduced, and the trajectory control data can be compressed. In this way, by replacing the plurality of trajectory control data with the auxiliary input data, the number of parameters of the friction model can be reduced, the learning and inference of the friction compensation torque can be accelerated, and the adjustment of the friction compensation can be made more efficient.
なお、軌跡制御データは、対象状態データと、摩擦トルク包含データと、を含むデータセットとすることができる。対象状態データは、モータ20または対象機械30である制御対象の動作を含む状態に関するデータである。対象状態データは、モータ20の動作を含む状態を予測するデータ、モータ20の動作の結果を含む状態を示すデータまたはモータ20によって駆動される対象機械30の動作の結果を含む状態を示すデータである。対象状態データの一例は、モータ速度、指令位置、モータ位置、モータ加速度、モデル速度、モデル加速度、センサから得られたテーブル位置、テーブル速度、テーブル加速度またはモータ温度であり、これらを1つ以上含むものである。ここで、モデル加速度は、位置指令に基づいたモータ20の加速度の予測値である。摩擦トルク包含データは、摩擦トルクを包含して観測されるデータである。摩擦トルク包含データの一例は、電流値、力またはトルクセンサから得られるトルクの値である。そのため、データ保持部6は、軌跡制御データとして、この例で使用されるモータ速度および電流値以外にも、上記した任意のデータをサンプリングおよび保持してもよい。そして、微分によって算出される軌跡制御データについては、微分処理の前または後にフィルタ処理を適用して得た値を用いてもよい。
The trajectory control data can be a data set including target state data and friction torque inclusive data. The target state data is data related to a state including the operation of the control target, which is the
学習部7は、軌跡制御データおよび補助入力データの少なくとも一方を入力とし、摩擦トルクを教師あり学習でモデル化し、この結果を摩擦モデルとして出力する。ここで、摩擦トルクは、軌跡制御データの電流値を単位換算した実トルクから、モータ20に接続された負荷の慣性モーメントとモータ加速度との積で表される慣性トルクを減ずることで算出される。また、摩擦モデルの入力については、対象状態データとすることができる。つまり、摩擦モデルの入力については、軌跡制御データに含まれるモータ速度またはモデル速度を代表として、位置、速度または加速度に関する、データ保持部6で保持している任意の軌跡制御データまたは補助入力データの対象状態データを用いることができる。つまり、摩擦モデルは、対象状態データと摩擦補償トルクとの関係を表現したものである。そして、摩擦モデルの更新も任意のタイミングで行うことができる。また、学習部7は、軌跡制御データまたは補助入力データを用いた軌跡制御の実行中に、摩擦モデルを逐次更新することができる。学習部7は、摩擦モデルを更新することで、摩擦モデルのパラメータの数を決定する。このように摩擦モデルのパラメータおよびパラメータの数を動的に調整することができる。また、軌跡制御データを補助入力データに置き換えることにより、摩擦モデルの持つパラメータ数を低減し、摩擦補償トルクの学習と推論とを高速化することで、摩擦補償の調整を効率化することができる。
The learning unit 7 inputs at least one of the trajectory control data and the auxiliary input data, models the friction torque by supervised learning, and outputs the result as a friction model. Here, the friction torque is calculated by subtracting the inertia torque expressed as the product of the moment of inertia of the load connected to the
学習部7は、決定木の学習において、次式(1)に示される目的関数IGを最大化するように、ノード分割を行う。 When learning a decision tree, the learning unit 7 splits nodes so as to maximize the objective function IG shown in the following equation (1).
ここで、Dpは親データセットであり、fは特徴量数であり、Dleftは親ノードから見た左の子ノードであり、Drightは親ノードから見た右の子ノードである。また、Npは親ノードDpに含まれるデータ数であり、Nleftは左の子ノードDleftに含まれるデータ数であり、Nrightは右の子ノードDrightに含まれるデータ数であり、Iは不純度指標である。Iの不純度指標については、実施の形態1では摩擦トルクに対する回帰問題を扱うため、次式(2)に示される平均二乗誤差(Mean Squared Error)を用いることができる。 Here, Dp is the parent data set, f is the number of features, Dleft is the left child node as viewed from the parent node, and Dright is the right child node as viewed from the parent node. Np is the number of data included in the parent node Dp , Nleft is the number of data included in the left child node Dleft, Nright is the number of data included in the right child node Dright, and I is the impurity index. As for the impurity index of I, since the first embodiment deals with a regression problem for friction torque, the mean squared error shown in the following formula (2) can be used.
ここで、yiおよびyt(ハット)は、それぞれノードDtにおける各サンプルの値およびこれらの平均値であり、Ntは、ノードDtにおけるサンプル数である。すなわち、学習部7は、親ノードの分散から2つの子ノードの分散の和を引いた目的関数が最大となるように分岐を生成する。 where yi and yt (hat) are the values of each sample in node Dt and their average value, respectively, and Nt is the number of samples in node Dt . That is, the learning unit 7 generates branches so as to maximize the objective function obtained by subtracting the sum of the variances of the two child nodes from the variance of the parent node.
決定木は、使用する軌跡制御データまたは補助入力データの種類によって変化し、また使用する軌跡制御データまたは補助入力データによっても変化する。この結果、入力の判定に使用する閾値の数であるパラメータ数も変化することになる。 The decision tree changes depending on the type of trajectory control data or auxiliary input data used, and also changes depending on the trajectory control data or auxiliary input data used. As a result, the number of parameters, which is the number of thresholds used to determine the input, also changes.
なお、摩擦モデルには、決定木単体による表現のみならず、決定木を複数含むランダムフォレストまたは勾配ブースティング決定木をはじめとするアンサンブル法が用いられてもよい。また、学習部7は、構築過程で木の生成を早めに止める事前枝刈りと、木を構築後に情報の少ないノードを削除する事後枝刈りと、のどちらか、またはその両方を決定木に対して適用してもよい。 The friction model may be expressed not only by a single decision tree, but also by an ensemble method such as a random forest or gradient boosting decision tree that includes multiple decision trees. The learning unit 7 may also apply to the decision tree either or both of pre-pruning, which stops the generation of the tree early in the construction process, and post-pruning, which deletes nodes with little information after the tree is constructed.
以上のように、実施の形態1によるモータ制御装置10では、フィードバック制御部2は、位置指令とモータ位置とに基づくフィードバック制御によりモータ20のトルクの指令である第1トルク指令を算出する。摩擦補償トルク算出部3は、パラメータの個数が可変の摩擦モデルによって、摩擦を考慮した第1トルク指令に対する補正である摩擦補償トルクを出力として算出する。加算器4は、第1トルク指令と摩擦補償トルクとを加算して第2トルク指令を算出する。電流制御部5は、第2トルク指令に追従するようにモータ20に電流を与える。データ保持部6は、摩擦補償トルクを用いた軌跡制御の実行中におけるモータ速度またはモデル速度とトルク情報とを含む軌跡制御データを保持する。学習部7は、データ保持部6の軌跡制御データに基づいて、摩擦モデルを更新し、摩擦モデルのパラメータの数を決定する。
As described above, in the motor control device 10 according to the first embodiment, the
これによって、摩擦補償トルクを用いた軌跡制御の実行中にサンプリングした軌跡制御データが摩擦モデルの構築に用いられる。この結果、位置指令の変更または経年劣化による制御対象の特性変化などに応じて、摩擦モデルのパラメータおよびパラメータ数を動的に調整することが可能となる。 As a result, trajectory control data sampled during execution of trajectory control using friction compensation torque is used to construct a friction model. As a result, it becomes possible to dynamically adjust the parameters and number of parameters of the friction model in response to changes in the position command or changes in the characteristics of the controlled object due to aging.
ボールねじ装置のような対象機械30にかかる摩擦は、一般的に、静止した物体の間にはたらくクーロン摩擦、および潤滑液が押し出される動きに対して働く粘性摩擦によって表される。クーロン摩擦と粘性摩擦とは、それぞれゼロ速度のモータ速度における一定閾値以下の駆動力との釣り合いと、モータ速度に対する比例関係と、で表現される。しかし、モータ速度の正負の符号が切り替わる前と後とにおいては、スティックスリップ現象に代表されるモータ速度以外の荷重条件などに依存する、非線形な摩擦が生ずることが知られている。
The friction acting on the
そこで、対象機械30の軸の運動方向反転時に象限突起として生じる軌跡誤差について、摩擦トルクと相関を持つモータ加速度を軌跡制御データとして併用することで、摩擦外乱の影響を精度よく補償可能な摩擦モデルを学習することができる。ただし、モータ加速度は、摩擦トルクに対してゼロ速度近傍で多くの変曲点を持つ。このため、モータ速度とモータ加速度との2変数を入力に持つ多項式で摩擦モデルを表現しようとすると、式が複雑化して、摩擦モデルのパラメータ同定が困難なものとなる。しかし、実施の形態1では、摩擦モデルとして決定木を使用する。決定木では、これらモータ加速度を条件分岐式に用いることによって、容易に摩擦モデルの入力とすることが可能である。このように、摩擦モデルの入力としてモータ加速度を併用することで、より精度よく摩擦を補正することができる。
Therefore, by using the motor acceleration, which is correlated with the friction torque, as trajectory control data for the trajectory error that occurs as a quadrant protrusion when the axis of the
上記した説明では、軌跡制御データの数、すなわちサンプル数については特に限定されていなかった。一例では、データ保持部6は、新たに取得された軌跡制御データと過去に取得されて保持されている軌跡制御データとの中から取捨選択をすることによって、保持される軌跡制御データの数を所定値に保つ機能を有していてもよい。ここで、軌跡制御データの数の取捨選択は、軌跡制御データの中から軌跡制御データの分布に基づいて行われてもよいし、学習部7で算出された摩擦トルクと摩擦補償トルクとの差である推定誤差に基づいて行われてもよい。このように、学習に使用する軌跡制御データを適切に選ぶことで、摩擦モデルの持つパラメータ数を低減し、摩擦補償トルクの学習と推論とを高速化することで、摩擦補償の調整が効率化できる。 In the above description, the number of trajectory control data, i.e., the number of samples, was not particularly limited. In one example, the data storage unit 6 may have a function of keeping the number of stored trajectory control data at a predetermined value by selecting between newly acquired trajectory control data and previously acquired and stored trajectory control data. Here, the selection of the number of trajectory control data may be performed based on the distribution of trajectory control data from among the trajectory control data, or may be performed based on the estimation error, which is the difference between the friction torque and the friction compensation torque calculated by the learning unit 7. In this way, by appropriately selecting the trajectory control data to be used for learning, the number of parameters of the friction model can be reduced, and the learning and inference of the friction compensation torque can be accelerated, thereby making it possible to efficiently adjust the friction compensation.
また、学習部7は、補助入力データを軌跡制御データと併用して、あるいは補助入力データのみを入力として、摩擦モデルを更新してもよい。そして、決定木では、データセットの分割前後で不純度指標の1つであるエントロピーの減少幅が最大となるように分割が行われる。このため、決定木では、親子ノード間のエントロピーの減少幅および決定木における根に近いノードの分岐条件式を参照することで、特徴量の重要度を算出することができるという特徴を備える。すなわち、軌跡制御データおよび補助入力データの種類のそれぞれに対して、摩擦補償トルクの推論精度に対する寄与率を算出することができる。この場合、補助入力データは、データ保持部6で保持されている軌跡制御データおよびこれらの寄与率を基に算出および選定される。参照された元の軌跡制御データをよりデータ数の少ない補助入力データで置き換えることで、摩擦モデルの持つパラメータ数を低減することができ、摩擦補償トルクの学習と推論とを高速化することができる。この結果、従来に比して、摩擦補償の調整の効率化が可能となる。 The learning unit 7 may update the friction model by using the auxiliary input data together with the trajectory control data, or by inputting only the auxiliary input data. In the decision tree, the data set is divided so that the reduction in entropy, which is one of the impurity indices, is maximized before and after the division. For this reason, the decision tree has a feature that the importance of the feature can be calculated by referring to the reduction in entropy between parent and child nodes and the branching condition equation of the node close to the root in the decision tree. That is, the contribution rate to the inference accuracy of the friction compensation torque can be calculated for each type of trajectory control data and auxiliary input data. In this case, the auxiliary input data is calculated and selected based on the trajectory control data stored in the data storage unit 6 and their contribution rates. By replacing the original trajectory control data referred to with auxiliary input data with a smaller number of data, the number of parameters of the friction model can be reduced, and the learning and inference of the friction compensation torque can be accelerated. As a result, the friction compensation can be adjusted more efficiently than before.
ここで、補助入力データ生成時に参照される軌跡制御データについては、数および種類の組み合わせに限定はなく、位置、速度または加速度に関する任意の軌跡制御データを選択することができる。さらに、データ保持部6に保持されている軌跡制御データに既知のフィルタまたは関数を適用した出力を用いて、新たな補助入力データを生成してもよいし、あるいはARX(Auto-Regressive eXogenous input)モデルなどの自己回帰モデルの出力を用いて、新たな補助入力データを生成してもよい。この他に、主成分分析またはオートエンコーダをはじめとする特徴量を学習する学習器を用意しておき、学習器で得られた特徴量を新たな補助入力データの種類として利用することも有効である。 Here, there is no limit to the number and type of trajectory control data referenced when generating auxiliary input data, and any trajectory control data related to position, speed, or acceleration can be selected. Furthermore, new auxiliary input data may be generated using the output obtained by applying a known filter or function to the trajectory control data stored in the data storage unit 6, or new auxiliary input data may be generated using the output of an autoregressive model such as an ARX (Auto-Regressive eXogenous input) model. In addition, it is also effective to prepare a learning device that learns features such as principal component analysis or an autoencoder, and use the features obtained by the learning device as the type of new auxiliary input data.
図4は、実施の形態1によるモータ制御装置の構成の他の例を模式的に示すブロック図である。なお、図1と同一の構成要素には同一の符号を付して、その説明を省略する。モータ制御装置10aは、図1のモータ制御装置10の構成に、特徴量学習部8aをさらに備える。特徴量学習部8aは、軌跡制御データを入力とした教師なし学習を行い、データ保持部6における補助入力データを生成する。特徴量学習部8aは、生成した補助入力データをデータ保持部6に出力する。
Figure 4 is a block diagram showing a schematic diagram of another example of the configuration of the motor control device according to the first embodiment. The same components as those in Figure 1 are given the same reference numerals and their description will be omitted. The motor control device 10a further includes a
図5は、実施の形態1によるモータ制御装置の特徴量学習部で軌跡制御データの次元圧縮に用いるオートエンコーダの一例を示す図である。一例では、特徴量学習部8aは、軌跡制御データが多次元である場合に、軌跡制御データを圧縮して別の特徴量に次元を下げ、全部のサンプルについて変換する。具体的には、特徴量学習部8aは、図5に示されるように、入力したデータの次元数を圧縮するエンコーダ210、およびそれらを復元して出力するデコーダ220を組み合わせたニューラルネットワーク200に対し、異なる種類の第1軌跡制御データおよび第2軌跡制御データを入出力の両方に設定して学習を行う。そして、エンコーダで生成された第3軌跡制御データからデコーダによって第1軌跡制御データおよび第2軌跡制御データを復元できる場合に、特徴量学習部8aは、第3軌跡制御データをデータ保持部6に補助入力データとして出力する。この場合、複数の種類の軌跡制御データが1つの補助入力データに置き換えられることになる。つまり、軌跡制御データの種類を削減することができる。
FIG. 5 is a diagram showing an example of an autoencoder used for dimensional compression of trajectory control data in the feature learning unit of the motor control device according to the first embodiment. In one example, when the trajectory control data is multidimensional, the
一例では、特徴量学習部8aは、データ保持部6で保持される軌跡制御データの種類と異なる種類の軌跡制御データを補助入力データとしてデータ保持部6に出力する。特徴量学習部8aは、データ保持部6の軌跡制御データと補助入力データとを合わせて入力とした教師なし学習を行い、摩擦モデルの作成により有効な補助入力データを生成する。このとき、学習部7は、前回の摩擦モデルの推定で使用した軌跡制御データまたは補助入力データとは異なる軌跡制御データまたは補助入力データを使用して摩擦モデルを推定することもある。この結果、学習部7で生成される摩擦モデルは、前回の摩擦モデルとは異なる入力を有し、異なるパラメータ数を持つこともある。
In one example, the
また、軌跡制御データの取捨選択について、寄与率の低い軌跡制御データをデータ保持部6から除外することによっても、摩擦モデルの持つパラメータ数を低減することができる。この場合には、摩擦補償トルクの推定精度を維持したまま、学習と推論とを高速化することが可能となる。したがって、学習時間が短時間化されることによって、従来に比して摩擦補償の調整が効率化される。 In addition, when selecting trajectory control data, the number of parameters in the friction model can also be reduced by excluding trajectory control data with a low contribution rate from the data storage unit 6. In this case, it is possible to speed up learning and inference while maintaining the estimation accuracy of the friction compensation torque. Therefore, by shortening the learning time, the adjustment of friction compensation can be made more efficient than before.
データ保持部6から軌跡制御データを除外する際の基準については、除外候補の軌跡制御データそのものの寄与率だけでなく、その軌跡制御データが元となっている補助入力データの寄与率を用いてもよい。これによって、補助入力データの生成にも摩擦補償トルクの推定精度にも影響が小さい軌跡制御データのみを、効率的にデータ保持部6から削除することができる。 The criteria for excluding trajectory control data from the data storage unit 6 may be based not only on the contribution rate of the trajectory control data itself that is the candidate for exclusion, but also on the contribution rate of the auxiliary input data on which the trajectory control data is based. This makes it possible to efficiently delete from the data storage unit 6 only trajectory control data that has little effect on the generation of auxiliary input data and on the estimation accuracy of the friction compensation torque.
図6は、実施の形態1によるモータ制御装置の構成の他の例を模式的に示すブロック図である。なお、図1と同一の構成要素には同一の符号を付して、その説明を省略する。モータ制御装置10bは、図1のモータ制御装置10の構成に、特徴量選択部8bをさらに備える。モータ制御装置10bの学習部7は、摩擦モデルの各入力の寄与率を示す評価値を特徴量選択部8bに出力する。特徴量選択部8bは、学習部7で算出された寄与率に応じて、データ保持部6における軌跡制御データおよび補助入力データの種類を取捨選択する。データ保持部6は、特徴量選択部8bでの取捨選択の結果にしたがって、軌跡制御データおよび補助入力データを学習部7に出力する。この評価値を学習部7で利用することで、摩擦モデルの学習に適切な軌跡制御データを選択することができる。
Figure 6 is a block diagram showing a schematic diagram of another example of the configuration of the motor control device according to the first embodiment. The same components as those in Figure 1 are given the same reference numerals, and their description will be omitted. The
一例として、第1軌跡制御データおよび第2軌跡制御データから、第1軌跡制御データおよび第2軌跡制御データを代表する第3軌跡制御データが出てきた場合で、第1軌跡制御データおよび第2軌跡制御データが摩擦の推定に寄与しない場合を考える。このような場合に、特徴量選択部8bは、第1軌跡制御データおよび第2軌跡制御データを削除し、第3軌跡制御データに対応する補助入力データを残すようにデータ保持部6に指示する。データ保持部6は、特徴量選択部8bからの指示に従って、第3軌跡制御データに対応する補助入力データを残し、第1軌跡制御データおよび第2軌跡制御データを削除する。これによって、データ保持部6が保持するデータ数を低減することができる。
As an example, consider a case where third trajectory control data representative of the first trajectory control data and the second trajectory control data is produced from the first trajectory control data and the second trajectory control data, but the first trajectory control data and the second trajectory control data do not contribute to the estimation of friction. In such a case, the feature
また、摩擦モデルの持つパラメータ数を低減するため、サンプリングする軌跡制御データを適切に選択することも重要である。そこで、対象機械30の繰り返し精度が高い場合には、既に保持されている軌跡制御データとの距離に応じたサンプリングをすることで、保持される軌跡制御データの数を所定値に保つことができる。さらに、特定の動作パターンで摩擦補償トルクの推定精度が要求される場合においては、その動作パターンに対応する軌跡制御データをより多く保持するように、予め軌跡制御データに応じたサンプリング確率を設定することが望ましい。すなわち、実施の形態1においては、モータ速度の正負の符号が切り替わる前と後とにおける軌跡制御データが多く含まれるようにサンプリングを行うことで、対象機械30の軸の運動方向反転時に象限突起として生じる軌跡誤差について、より精度よく補正することができる。また、ゼロ速度近傍の摩擦補償トルクの推定精度を保ちながら、摩擦モデルの学習および推論を高速化することが可能となる。したがって、学習時間が短時間化され、摩擦補償の調整が効率化される。
In addition, in order to reduce the number of parameters of the friction model, it is also important to appropriately select the trajectory control data to be sampled. Therefore, when the repeatability of the
また、前述の通り、摩擦モデルの更新は任意のタイミングで行ってよい。ただし、対象機械30の経年劣化による特性変化などを考慮すると、サーボ制御周期間隔で軌跡制御データのサンプリングを行い、逐次学習することが望ましい。決定木では、過学習を抑えるために、木の深さの制限をはじめとする事前枝刈りまたは決定木を複数用意するアンサンブル法を用いることが一般的である。実施の形態1の摩擦モデルの学習時においても、これらを適用することで学習データに対する依存度を減らし、位置指令または摩擦特性の変化に対する汎化が可能となる。逐次学習時においても、このような摩擦モデルに用いる木の数または木の深さといったハイパーパラメータを軌跡制御データおよび補助入力データの変更に合わせて調整してもよい。これによって、摩擦モデルの汎化性能を向上することができ、学習していない位置指令または突発的な摩擦特性の変化に対しても、推定精度の劣化を防ぐことが可能となる。
As described above, the friction model may be updated at any timing. However, taking into consideration changes in characteristics due to aging of the
このように、実施の形態1によるモータ制御装置10,10a,10bは、学習部7において、決定木により表現された高精度かつノンパラメトリックな摩擦モデルを学習し、摩擦補償トルク算出部3でこの摩擦モデルを用いて、摩擦補償トルクを算出する。この摩擦モデルの学習に用いる軌跡制御データは、データ保持部6において摩擦補償トルクを用いた軌跡制御の実行中にサンプリングされるため、位置指令または摩擦特性の変化に対して学習用の動作を別途行う必要がなく、摩擦モデルの調整にかかる時間を大幅に削減することができる。同様に、位置指令の変更または経年劣化による制御対象の特性変化などに応じて、軌跡制御データから摩擦モデルのパラメータおよびパラメータの数を動的に調整できるため、軌跡誤差が減少するように摩擦モデルを軌跡制御の実行中に逐次更新することが可能となる。したがって、実施の形態1によれば、軌跡制御を高精度化するための摩擦補償の調整を従来に比して効率的に行うことができるという効果が得られる。
In this way, the
実施の形態2.
実施の形態1では、学習部7において、摩擦モデルが決定木により表現され、摩擦補償トルク算出部3において、摩擦モデルを用いて摩擦外乱のフィードフォワード補正を行うモータ制御装置10,10a,10bについての説明を行った。これに対して、実施の形態2によるモータ制御装置では、関数のパラメータの数が学習データによって変化するノンパラメトリックな摩擦モデルが、ガウス過程回帰によって表現される場合を示す。
In the first embodiment,
実施の形態2によるモータ制御装置は、実施の形態1の図1と同様の構成を有するが、摩擦補償トルク算出部3および学習部7の機能が実施の形態1とは異なる。以下では、摩擦補償トルク算出部3および学習部7における実施の形態1との違いについて説明する。また、摩擦補償トルク算出部3および学習部7以外の構成については実施の形態1と同様であるので、説明を省略する。
The motor control device according to the second embodiment has a configuration similar to that shown in FIG. 1 of the first embodiment, but the functions of the friction compensation
図7は、実施の形態2による学習部の出力として得られる、ガウス過程回帰で表現された摩擦モデルの一例を示す図である。図7において、横軸は、速度を示し、縦軸は、摩擦を示している。実施の形態2の摩擦補償トルク算出部3において、ガウス過程回帰で表現された摩擦モデルは、データ保持部6で保持された軌跡制御データおよび補助入力データの少なくともいずれか一方に基づいて構成される関数である。このときガウス過程回帰で表現された摩擦モデルは、データ数と同数のパラメータを有するため、データ点数がパラメータ数となる。ガウス過程回帰で表現された摩擦モデルは、各データと入力のモータ速度との距離に応じて、摩擦補償トルクを出力する。
Figure 7 is a diagram showing an example of a friction model expressed by Gaussian process regression obtained as an output of the learning unit according to
このとき、摩擦補償トルクの予測分布についても、ガウス分布の分散として同時に算出される。ただし、ここで用いる距離はカーネル関数kによって算出され、具体的に、xnとxn’との2点間の距離は、一般的に次式(3)に示されるガウスカーネルを用いて表現される。なお、xnおよびxn’はベクトルである。 At this time, the predicted distribution of the friction compensation torque is also calculated at the same time as the variance of the Gaussian distribution. However, the distance used here is calculated by the kernel function k, and specifically, the distance between two points x n and x n ' is generally expressed by using the Gaussian kernel shown in the following formula (3). Note that x n and x n ' are vectors.
ここで、θ1およびθ2は学習部7で設定されるハイパーパラメータである。ただし、カーネル関数は、ガウスカーネルに限定されず、線形カーネル、指数カーネル、周期カーネル、またはMaternカーネルを用いてもよく、さらに、これらの和または積からなる組み合わせで構成されたカーネル関数を用いてもよい。同時に、観測された電流値および算出された摩擦トルクに観測ノイズが含まれているものと考え、観測ノイズの平均が0であり、分散がσ2である次式(4)に示されるガウス分布に従っているものとして、次式(5)に示されるようにカーネル関数kにノイズ項を追加したものを用いてもよい。
Here, θ 1 and θ 2 are hyperparameters set by the learning unit 7. However, the kernel function is not limited to the Gaussian kernel, and a linear kernel, an exponential kernel, a periodic kernel, or a Matern kernel may be used, and further, a kernel function formed by a combination of the sum or product of these may be used. At the same time, it is possible to use a kernel function k with a noise term added thereto as shown in the following formula (5), assuming that the observed current value and the calculated friction torque contain observation noise, and that the observation noise follows a Gaussian distribution shown in the following formula (4) in which the average of the observation noise is 0 and the variance is
ここで、デルタ関数δ(xn,xn’)は、同じ軌跡制御データおよび補助入力データの間で距離計算を行うn=n’のときに1を返し、それ以外は0を返す関数である。 Here, the delta function δ(x n , x n ' ) is a function that returns 1 when n=n', which is the distance calculation between the same trajectory control data and auxiliary input data, and returns 0 otherwise.
学習部7は、軌跡制御データおよび補助入力データの少なくともいずれか一方を入力とし、摩擦モデルのカーネル関数におけるハイパーパラメータを推定し、ハイパーパラメータ同定後の摩擦モデルを出力する。ここで、ハイパーパラメータは、軌跡制御データおよび補助入力データからなるXと、ハイパーパラメータをまとめたθ=(θ1,θ2,σ2)と、に対する摩擦トルクyの尤度関数p(y|X,θ)が最大となるように推定される。ここで、尤度関数が最大となるようなハイパーパラメータθの同定方法として、θ空間のグリッド探索もしくはMCMC(Markov Chain Monte Carlo methods)法を用いた探索手法、または最急降下法、共役勾配法もしくは準ニュートン法をはじめとする勾配法を用いることができる。なお、X,yおよびハイパーパラメータをまとめたθはベクトルである。 The learning unit 7 receives at least one of the trajectory control data and the auxiliary input data, estimates hyperparameters in the kernel function of the friction model, and outputs the friction model after the hyperparameters are identified. Here, the hyperparameters are estimated so that the likelihood function p(y|X, θ) of the friction torque y for X consisting of the trajectory control data and the auxiliary input data and θ=(θ 1 , θ 2 , σ 2 ) that is a compilation of the hyperparameters is maximized. Here, as a method for identifying the hyperparameter θ that maximizes the likelihood function, a search method using a grid search in the θ space or an MCMC (Markov Chain Monte Carlo method), or a gradient method such as the steepest descent method, the conjugate gradient method, or the quasi-Newton method can be used. Here, θ, which is a compilation of X, y, and the hyperparameters, is a vector.
このように、ガウス過程回帰を用いた摩擦モデルを用いることで、摩擦補償トルクの分散を同時に算出することができる。したがって、実施の形態1の図5における摩擦モデルの入力の種類に対して算出される寄与率とは異なり、摩擦モデルの出力の精度を示す評価値である分散を基にデータ保持部6の軌跡制御データを取捨選択することによって、摩擦補償トルクの推定精度を維持したまま摩擦モデルの持つパラメータ数を低減し、学習および推論を高速化することが可能となる。つまり、学習時間が短時間化され、摩擦補償の調整が効率化される。
In this way, by using a friction model using Gaussian process regression, the variance of the friction compensation torque can be calculated simultaneously. Therefore, unlike the contribution rate calculated for the type of input to the friction model in FIG. 5 of
図8は、実施の形態2によるモータ制御装置の構成の一例を模式的に示すブロック図である。なお、図1および図6と同一の構成要素には同一の符号を付して、その説明を省略する。実施の形態2のモータ制御装置10cでは、学習部7は、出力の精度を示す評価値である分散を特徴量選択部8cに出力する。また、特徴量選択部8cは、学習部7で算出された評価値である分散に応じて、データ保持部6における軌跡制御データおよび補助入力データの種類を取捨選択する。なお、特徴量選択部8cにおける軌跡制御データおよび補助入力データの種類の取捨選択の方法は、実施の形態1の図6で説明したものと同様である。ただし、上記したように、寄与率ではなく、出力の分散を用いる点が図6のモータ制御装置10bとは異なっている。この評価値を学習部7で利用することで、摩擦モデルの学習に適切な軌跡制御データを選択することができる。
Figure 8 is a block diagram showing a schematic example of the configuration of a motor control device according to the second embodiment. The same components as those in Figures 1 and 6 are given the same reference numerals, and their description will be omitted. In the motor control device 10c of the second embodiment, the learning unit 7 outputs the variance, which is an evaluation value indicating the accuracy of the output, to the feature quantity selection unit 8c. The feature quantity selection unit 8c selects the types of trajectory control data and auxiliary input data in the data storage unit 6 according to the variance, which is the evaluation value calculated by the learning unit 7. The method of selecting the types of trajectory control data and auxiliary input data in the feature quantity selection unit 8c is the same as that described in Figure 6 of the first embodiment. However, as described above, the
また、ガウス過程回帰を用いた摩擦モデルは、保持している軌跡制御データの構成する特徴量空間において、複数の軌跡制御データを代表する代表点を適切に配置することで、これらの代表点を補助入力データとして元の軌跡制御データを置き換えることができる。これによって、摩擦モデルのパラメータ数を低減でき、メモリ消費量と摩擦補償トルクの計算コストを低減することが可能となる。補助入力データとして、保持している軌跡制御データから無作為に一定割合を選び出した部分データを用いてもよく、その他には、k-means法をはじめとするクラスタリング手法で求めた代表点、または特徴量空間に格子点状に配置した代表点を用いてもよい。 In addition, a friction model using Gaussian process regression can replace the original trajectory control data by appropriately arranging representative points representing multiple trajectory control data in the feature space consisting of the retained trajectory control data, and using these representative points as auxiliary input data. This reduces the number of parameters in the friction model, making it possible to reduce memory consumption and the calculation costs of the friction compensation torque. As auxiliary input data, partial data randomly selected at a certain percentage from the retained trajectory control data can be used, or representative points obtained by a clustering method such as the k-means method, or representative points arranged in a lattice pattern in the feature space can be used.
図9は、k-means法で求めた代表点の一例を示す図である。図9において、横軸は、主成分分析で得られる特徴量である軌跡制御データの第1種類における規格化した値を示しており、縦軸は、主成分分析で得られる特徴量である軌跡制御データの第2種類における規格化した値を示している。図9において、星印「*」が、軌跡制御データの第1種類および第2種類で表される座標上における軌跡制御データを示している。図9には、k-means法でクラスタリングした結果が示されている。ここでは、軌跡制御データを6個のクラスタに分けることができ、それぞれのクラスタについて、クラスタに含まれる軌跡制御データを代表する点である補助入力データが丸印「○」で示されている。このように、各クラスタについて複数の軌跡制御データを1つの補助入力データで置き換えることができるので、データ数を削減することが可能となる。 Figure 9 is a diagram showing an example of representative points obtained by the k-means method. In Figure 9, the horizontal axis shows the normalized values of the first type of trajectory control data, which is a feature obtained by principal component analysis, and the vertical axis shows the normalized values of the second type of trajectory control data, which is a feature obtained by principal component analysis. In Figure 9, the star symbol "*" indicates the trajectory control data on the coordinates represented by the first and second types of trajectory control data. Figure 9 shows the results of clustering by the k-means method. Here, the trajectory control data can be divided into six clusters, and for each cluster, auxiliary input data, which is a point representative of the trajectory control data included in the cluster, is shown by a circle symbol "○". In this way, since multiple trajectory control data can be replaced with one auxiliary input data for each cluster, it is possible to reduce the number of data.
また、実施の形態1と同様に、データ保持部6において、すでに保持されている軌跡制御データとの距離などに応じたサンプリングをすることで、保持される軌跡制御データの数を所定値に保ち、学習部7における摩擦モデルの学習および推論を高速化することが可能となる。この結果、学習時間が短時間化され、摩擦補償の調整が効率化される。このとき、摩擦補償トルクの分散をサンプリングの基準として併用することで、摩擦補償トルクの推定精度向上に資する軌跡制御データをより効率的にサンプリングすることが可能となる。さらに、実施の形態1と同様に、摩擦モデルにおける入力は、モデル速度に限定されるものではなく、学習部7で摩擦モデルの学習時に用いたモータ速度を代表として、位置、速度または加速度に関する任意のデータを用いることができる。 Also, as in the first embodiment, the data storage unit 6 performs sampling according to the distance from the already stored trajectory control data, thereby keeping the number of stored trajectory control data at a predetermined value, and it is possible to speed up the learning and inference of the friction model in the learning unit 7. As a result, the learning time is shortened and the adjustment of the friction compensation is made more efficient. At this time, by also using the variance of the friction compensation torque as a sampling criterion, it is possible to more efficiently sample the trajectory control data that contributes to improving the estimation accuracy of the friction compensation torque. Furthermore, as in the first embodiment, the input in the friction model is not limited to the model speed, and any data related to position, speed, or acceleration can be used, with the motor speed used when learning the friction model in the learning unit 7 being representative.
以上のように、実施の形態2によるモータ制御装置10cは、学習部7においてガウス過程回帰により表現された摩擦モデルを生成し、摩擦補償トルク算出部3においてガウス過程回帰により表現された摩擦モデルを用いて摩擦補償トルクを算出する。これによって、摩擦補償トルクの分散を利用したサンプリングの効率化、摩擦モデルの計算コストおよびメモリの削減を実現することができ、摩擦による軌跡誤差を高速かつ高精度に補償することができる。
As described above, the motor control device 10c according to the second embodiment generates a friction model expressed by Gaussian process regression in the learning unit 7, and calculates the friction compensation torque using the friction model expressed by Gaussian process regression in the friction compensation
ここで、モータ制御装置10,10a,10b,10cのハードウェア構成について説明する。モータ制御装置10,10a,10b,10cの各部は回路により実現される。電流制御部5は、交流電力を直流電力に変換するコンバータ回路、または直流電力を所望の交流電力に変換するインバータ回路を備えることにより電流指令に追従するようにモータ20へ電流を供給する。モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、データ保持部6、学習部7、特徴量学習部8aおよび特徴量選択部8b,8cは、処理回路により実現される。処理回路は、プロセッサを備える回路であってもよいし、専用ハードウェアであってもよい。
Here, the hardware configuration of the
処理回路がプロセッサを備える回路である場合、処理回路は例えプロセッサとメモリで構成される制御回路である。モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、データ保持部6、学習部7、特徴量学習部8aおよび特徴量選択部8b,8cが制御回路によって実現される場合、プロセッサが、メモリに格納されたプログラムを読み出して実行することにより、これらが実現される。すなわち、モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、データ保持部6、学習部7、特徴量学習部8aおよび特徴量選択部8b,8cが制御回路によって実現される場合、これらの機能は、ソフトウェアであるプログラムを用いて実現される。メモリはプロセッサの作業領域としても使用される。プロセッサは、CPU(Central Processing Unit)等である。メモリは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の不揮発性または揮発性の半導体メモリ、磁気ディスク等が該当する。
When the processing circuit is a circuit equipped with a processor, the processing circuit is, for example, a control circuit composed of a processor and a memory. When the model
モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、データ保持部6、学習部7、特徴量学習部8aおよび特徴量選択部8b,8cが専用ハードウェアである場合、処理回路は、例えば、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)である。なお、モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、データ保持部6、学習部7、特徴量学習部8aおよび特徴量選択部8b,8cは、プロセッサを備える処理回路および専用ハードウェアを組み合わせて実現されてもよい。モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、データ保持部6、学習部7、特徴量学習部8aおよび特徴量選択部8b,8cは、複数の処理回路により実現されてもよい。
When the model
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or the embodiments may be combined with each other. In addition, parts of the configurations may be omitted or modified without departing from the spirit of the invention.
1 モデル速度算出部、2 フィードバック制御部、3 摩擦補償トルク算出部、4 加算器、5 電流制御部、6 データ保持部、7 学習部、8a 特徴量学習部、8b,8c 特徴量選択部、10,10a,10b,10c モータ制御装置、20 モータ、21 位置検出器、30 対象機械、32 テーブル、33 カップリング。 1 Model speed calculation unit, 2 Feedback control unit, 3 Friction compensation torque calculation unit, 4 Adder, 5 Current control unit, 6 Data storage unit, 7 Learning unit, 8a Feature learning unit, 8b, 8c Feature selection unit, 10, 10a, 10b, 10c Motor control device, 20 Motor, 21 Position detector, 30 Target machine, 32 Table, 33 Coupling.
Claims (11)
前記位置指令と前記モータの位置とに基づくフィードバック制御によって前記モータのトルクの指令である第1トルク指令を算出するフィードバック制御部と、
パラメータの個数が可変の摩擦モデルによって、摩擦を考慮した前記第1トルク指令に対する補正である摩擦補償トルクを出力として算出する摩擦補償トルク算出部と、
前記第1トルク指令と前記摩擦補償トルクとを加算して第2トルク指令を算出する加算器と、
前記第2トルク指令に追従するように前記モータに電流を与える電流制御部と、
前記摩擦補償トルクを用いた前記軌跡制御の実行中にサンプリングした前記モータまたは前記制御対象の動作を含む状態に関するデータである対象状態データと、摩擦トルクを包含して観測されるデータである摩擦トルク包含データと、を含む軌跡制御データを保持するデータ保持部と、
前記軌跡制御の実行中にサンプリングした前記軌跡制御データに基づいて、前記対象状態データと前記摩擦補償トルクとの関係を学習した結果であり、使用する学習データである前記軌跡制御データによってパラメータの数が変化する関数である前記摩擦モデルを更新し、前記摩擦モデルの前記パラメータの数を決定する学習部と、
を備えることを特徴とするモータ制御装置。 A motor control device that drives a motor based on a position command and repeatedly executes trajectory control to control a trajectory of a control target mechanically connected to the motor,
a feedback control unit that calculates a first torque command, which is a command for a torque of the motor, by feedback control based on the position command and a position of the motor;
a friction compensation torque calculation unit that calculates, as an output, a friction compensation torque that is a correction to the first torque command in consideration of friction using a friction model having a variable number of parameters;
an adder that calculates a second torque command by adding the first torque command and the friction compensation torque;
a current control unit that applies a current to the motor so as to follow the second torque command;
a data storage unit that stores trajectory control data including: object state data, which is data relating to a state including an operation of the motor or the object to be controlled sampled during execution of the trajectory control using the friction compensation torque; and friction torque inclusive data, which is data observed including friction torque;
a learning unit which updates the friction model, which is a function whose number of parameters changes depending on the trajectory control data that is learning data to be used, and determines the number of parameters of the friction model, the learning unit being a result of learning a relationship between the target state data and the friction compensation torque based on the trajectory control data sampled during execution of the trajectory control;
A motor control device comprising:
前記データ保持部は、前記第1方向および前記第2方向の間で回転方向が切り替わる前と後とにおける前記軌跡制御データを保持することを特徴とする請求項1から4のいずれか1つに記載のモータ制御装置。 the motor is capable of switching a rotation direction between a first direction and a second direction opposite to the first direction,
5. The motor control device according to claim 1, wherein the data storage unit stores the trajectory control data before and after a rotation direction is switched between the first direction and the second direction.
前記摩擦モデルは、前記位置指令に基づいた前記モータの加速度の予測値であるモデル加速度を入力として前記摩擦補償トルクを出力として算出することを特徴とする請求項6に記載のモータ制御装置。 the data storage unit stores the trajectory control data including an acceleration of the motor;
7. The motor control device according to claim 6, wherein the friction model receives as input a model acceleration that is a predicted value of acceleration of the motor based on the position command and calculates as an output the friction compensation torque.
前記学習部は、前記摩擦モデルの各入力の寄与率または出力の精度を示す評価値を前記特徴量選択部に出力し、
前記特徴量選択部は、前記評価値に応じて前記軌跡制御データおよび前記補助入力データの種類の選択を行うことを特徴とする請求項3または4に記載のモータ制御装置。 a feature amount selection unit that selects a type of the trajectory control data and the auxiliary input data stored in the data storage unit,
the learning unit outputs an evaluation value indicating a contribution rate of each input of the friction model or an accuracy of an output of the friction model to the feature quantity selection unit;
5. The motor control device according to claim 3, wherein the feature amount selection unit selects the type of the trajectory control data and the auxiliary input data in accordance with the evaluation value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020202880A JP7505695B2 (en) | 2020-12-07 | 2020-12-07 | Motor Control Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020202880A JP7505695B2 (en) | 2020-12-07 | 2020-12-07 | Motor Control Device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022090463A JP2022090463A (en) | 2022-06-17 |
JP7505695B2 true JP7505695B2 (en) | 2024-06-25 |
Family
ID=81992857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020202880A Active JP7505695B2 (en) | 2020-12-07 | 2020-12-07 | Motor Control Device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7505695B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7343735B1 (en) * | 2023-04-07 | 2023-09-12 | ファナック株式会社 | Processing simulation device and processing simulation method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014512529A (en) | 2011-03-29 | 2014-05-22 | ヘキサゴン・テクノロジー・センター・ゲーエムベーハー | Coordinate measuring machine |
WO2014122822A1 (en) | 2013-02-07 | 2014-08-14 | 三菱電機株式会社 | Servo control device |
JP2018153901A (en) | 2017-03-21 | 2018-10-04 | ファナック株式会社 | Machine learning device and thermal displacement correction device |
JP2019185742A (en) | 2018-04-17 | 2019-10-24 | ファナック株式会社 | Controller and control method |
JP6664561B1 (en) | 2018-10-12 | 2020-03-13 | 三菱電機株式会社 | Positioning control device and positioning method |
JP6695534B1 (en) | 2019-09-27 | 2020-05-20 | AI inside株式会社 | Information processing system, information processing method, and information processing program |
WO2020213062A1 (en) | 2019-04-16 | 2020-10-22 | 三菱電機株式会社 | Motor control device |
-
2020
- 2020-12-07 JP JP2020202880A patent/JP7505695B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014512529A (en) | 2011-03-29 | 2014-05-22 | ヘキサゴン・テクノロジー・センター・ゲーエムベーハー | Coordinate measuring machine |
WO2014122822A1 (en) | 2013-02-07 | 2014-08-14 | 三菱電機株式会社 | Servo control device |
JP2018153901A (en) | 2017-03-21 | 2018-10-04 | ファナック株式会社 | Machine learning device and thermal displacement correction device |
JP2019185742A (en) | 2018-04-17 | 2019-10-24 | ファナック株式会社 | Controller and control method |
JP6664561B1 (en) | 2018-10-12 | 2020-03-13 | 三菱電機株式会社 | Positioning control device and positioning method |
WO2020213062A1 (en) | 2019-04-16 | 2020-10-22 | 三菱電機株式会社 | Motor control device |
JP6695534B1 (en) | 2019-09-27 | 2020-05-20 | AI inside株式会社 | Information processing system, information processing method, and information processing program |
Also Published As
Publication number | Publication date |
---|---|
JP2022090463A (en) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Kernel-based least squares policy iteration for reinforcement learning | |
EP3424650B1 (en) | A method and apparatus for performing control of a movement of a robot arm | |
CN113748597B (en) | Motor control device | |
JP7505695B2 (en) | Motor Control Device | |
Abuhasel et al. | Adaptive RCMAC neural network dynamic surface control for permanent-magnet synchronous motors driven two-axis XY table | |
Caarls et al. | Parallel online temporal difference learning for motor control | |
CN117097227B (en) | Speed regulation control method and related device for motor | |
CN116679621B (en) | Multi-axis synchronous motion control system and control method thereof | |
CN114193458B (en) | Robot control method based on Gaussian process online learning | |
WO2022162740A1 (en) | Numerical control device | |
JP2023113133A (en) | Method for controlling robot device | |
CN114619440B (en) | Method for correcting friction model, robot and computer readable storage medium | |
JP2024044583A (en) | Plant response estimation device, plant response estimation method, and program | |
CN115741692A (en) | High-precision control method and system for hydraulic mechanical arm based on data driving | |
CN110788859B (en) | Controller parameter universe self-adaptive adjustment system | |
Wang et al. | Support vector networks in adaptive friction compensation | |
JP2023051040A (en) | Motor control device and motor control method | |
CN118238156B (en) | Tool motion control method and related device of five-axis machining robot | |
Robbel | Active learning in motor control | |
US20230359154A1 (en) | Method and control device for controlling a machine | |
JP6800384B1 (en) | Positioning control device and positioning method | |
CN117506935B (en) | Robot control method, system, equipment and medium based on dynamic compensation | |
Mahmoudkhani et al. | A new iterative identification algorithm for estimating the lugre friction model parameters | |
WO2021245916A1 (en) | Servo control device | |
Zhang et al. | An off-policy least square algorithms with eligibility trace based on importance reweighting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20201209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20201209 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230516 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240604 |