JP7505695B2 - Motor Control Device - Google Patents

Motor Control Device Download PDF

Info

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
Application number
JP2020202880A
Other languages
Japanese (ja)
Other versions
JP2022090463A (en
Inventor
武之 河田
将哉 木村
英俊 池田
秀之 増井
潤 丸田
滉稀 中根
夏樹 藤井
秀司 梶田
昭太郎 赤穂
英樹 麻生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Mitsubishi Electric Corp
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, National Institute of Advanced Industrial Science and Technology AIST filed Critical Mitsubishi Electric Corp
Priority to JP2020202880A priority Critical patent/JP7505695B2/en
Publication of JP2022090463A publication Critical patent/JP2022090463A/en
Application granted granted Critical
Publication of JP7505695B2 publication Critical patent/JP7505695B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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, Patent Document 1 discloses a technology for estimating parameters of a friction model capable of estimating nonlinear friction such as the Stribeck effect, by using an optimization method or machine learning method aimed at minimizing the position deviation, which is the difference between the position command and the position feedback, for the friction model. That is, in Patent Document 1, friction compensation is performed based on a nonlinear friction model using a Stribeck curve. This friction model is defined as a parametric friction model, and the parameters are identified based on data from the actual machine to obtain the friction model.

特開2019-185742号公報JP 2019-185742 A

特許文献1で摩擦補償に用いられる摩擦モデルは、いくつかの曲線式を組合せたパラメトリックモデルで定義される。つまり、これらの摩擦モデルによって表現できる摩擦の自由度は、予め定められたパラメータの数に限られることとなる。しかしながら、実機の摩擦の特性は機械の個体差にも依存して千差万別である。このため、予め定められたパラメータの数の自由度しか有していないような摩擦モデルでは、複雑な摩擦特性を表現することができず、機械ごとに異なる摩擦を高精度に表現することは難しい。このため、特許文献1に記載の技術を用いて摩擦補償を実施しても摩擦を相殺することができず軌跡誤差を生じてしまうという問題があった。 The friction model used for friction compensation in Patent Document 1 is defined as a parametric model that combines several curve equations. In other words, the degree of freedom of friction that can be expressed by these friction models is limited to a predetermined number of parameters. However, the friction characteristics of actual machines vary widely depending on individual differences in the machines. For this reason, a friction model that only has the degree of freedom of a predetermined number of parameters cannot express complex friction characteristics, and it is difficult to express the different friction for each machine with high accuracy. For this reason, even if friction compensation is performed using the technology described in Patent Document 1, there is a problem in that friction cannot be offset and trajectory errors occur.

また、特許文献1に記載の技術では、パラメトリックな非線形の摩擦モデルのパラメータを最適化計算によって同定する必要があるため、非線形最適化問題の求解を行う必要がある。このためには、実機データに基づいて数値的な繰り返し計算を行わざるを得ず、膨大な計算時間が要求され、摩擦モデルを効率的に得ることができない。つまり、従来の技術では、摩擦特性を高精度に模擬する摩擦モデルを効率的に得ることができない、すなわち軌跡制御を高精度化するための調整を効率良く行うことができないという問題があった。 In addition, in the technology described in Patent Document 1, the parameters of a parametric nonlinear friction model must be identified by optimization calculations, and therefore a nonlinear optimization problem must be solved. This requires repeated numerical calculations based on actual machine data, which requires a huge amount of calculation time and makes it impossible to efficiently obtain a friction model. In other words, with conventional technology, there was a problem in that it was impossible to efficiently obtain a friction model that accurately simulates friction characteristics, i.e., it was impossible to efficiently perform adjustments to improve the accuracy of trajectory control.

本開示は、上記に鑑みてなされたものであって、軌跡制御を高精度化するための摩擦補償の調整を従来に比して効率的に行うことができるモータ制御装置を得ることを目的とする。 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.

実施の形態1によるモータ制御装置の構成の一例を模式的に示すブロック図FIG. 1 is a block diagram illustrating an example of a configuration of a motor control device according to a first embodiment. 実施の形態1によるモータ制御装置が制御するモータと駆動対象である対象機械の一例を模式的に示す斜視図FIG. 1 is a perspective view showing an example of a motor controlled by a motor control device according to a first embodiment and a target machine that is a driven target; 決定木で表現された摩擦モデルの一例を示す図A diagram showing an example of a friction model expressed as a decision tree. 実施の形態1によるモータ制御装置の構成の他の例を模式的に示すブロック図FIG. 1 is a block diagram illustrating another example of the configuration of a motor control device according to a first embodiment. 実施の形態1によるモータ制御装置の特徴量学習部で軌跡制御データの次元圧縮に用いるオートエンコーダの一例を示す図FIG. 1 is a diagram showing an example of an autoencoder used for dimensional compression of trajectory control data in a feature amount learning unit of a motor control device according to embodiment 1; 実施の形態1によるモータ制御装置の構成の他の例を模式的に示すブロック図FIG. 1 is a block diagram illustrating another example of the configuration of a motor control device according to a first embodiment. 実施の形態2による学習部の出力として得られる、ガウス過程回帰で表現された摩擦モデルの一例を示す図FIG. 13 is a diagram showing an example of a friction model expressed by Gaussian process regression, which is obtained as an output of a learning unit according to the second embodiment; 実施の形態2によるモータ制御装置の構成の一例を模式的に示すブロック図FIG. 11 is a block diagram illustrating an example of the configuration of a motor control device according to a second embodiment. k-means法で求めた代表点の一例を示す図A diagram showing an example of representative points obtained using the k-means method

以下に、本開示の実施の形態に係るモータ制御装置を図面に基づいて詳細に説明する。 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の制御によって動作する。
Embodiment 1.
1 is a block diagram showing a schematic example of the configuration of a motor control device according to embodiment 1. The motor control device 10 is connected to a motor 20 that drives a target machine 30, which is a machine to be controlled, and controls the motor 20. The motor 20 is mechanically connected to the target machine 30. As a result, the target machine 30 operates due to the control of the motor 20 by the motor control device 10.

図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 embodiment 1 and a target machine that is the object to be driven. Here, the target machine 30 is a ball screw device. The ball screw device has a ball screw 31, a table 32, and a coupling 33.

モータ20は、カップリング33を介してボールねじ31に接続される。ボールねじ31は、モータ20の回転運動を直動運動に変換する。ボールねじ31にはテーブル32が備え付けられており、テーブル32は、直動運動をする。モータ20は、第1方向と、第1方向とは逆方向の第2方向と、の間で回転方向を切り換え可能である。モータ20は、位置検出器21を有する。位置検出器21は、モータ20の位置を検出し、モータ20の位置をモータ制御装置10に出力する。以下では、モータ20の位置は、モータ位置と称される。 The motor 20 is connected to a ball screw 31 via a coupling 33. The ball screw 31 converts the rotational motion of the motor 20 into linear motion. A table 32 is attached to the ball screw 31, and the table 32 performs linear motion. The motor 20 can switch its rotation direction between a first direction and a second direction opposite to the first direction. The motor 20 has a position detector 21. The position detector 21 detects the position of the motor 20 and outputs the position of the motor 20 to the motor control device 10. Hereinafter, the position of the motor 20 is referred to as the motor position.

実施の形態1では、対象機械30がボールねじ装置である場合を例示したが、これに限定されない。つまり、モータ制御装置10は、ガイド機構をはじめとする機械要素部品以外にも、モータ20によって駆動される対象機械30について広く適用される。対象機械30の例としては、さらに、垂直多関節ロボット、NC(Numerical Control)、工作機械、実装機などを挙げることができる。 In the first embodiment, the target machine 30 is a ball screw device, but the present invention is not limited to this. In other words, the motor control device 10 is widely applicable to target machines 30 driven by a motor 20, in addition to machine components such as guide mechanisms. Further examples of the target machine 30 include vertical articulated robots, NC (Numerical Control), machine tools, and mounting machines.

図1に戻り、モータ制御装置10は、モデル速度算出部1と、フィードバック制御部2と、摩擦補償トルク算出部3と、加算器4と、電流制御部5と、データ保持部6と、学習部7と、を備える。 Returning to FIG. 1, the motor control device 10 includes a model speed calculation unit 1, a feedback control unit 2, a friction compensation torque calculation unit 3, an adder 4, a current control unit 5, a data retention unit 6, and a learning unit 7.

モデル速度算出部1は、位置指令を入力としてモデル速度を出力とする。位置指令は、コントローラ、NC装置などの指令値生成装置から入力される。モデル速度は、モータ20の目標速度を示す値として、位置指令を時間微分してフィルタを適用することで得られるものとする。この微分処理は、離散時間系においては差分処理に置き換えられ、現在のモータ指令と1サンプル前のモータ指令との差を制御処理周期で除した値が、近似的な微分値として使用される。また、位置指令はモータ20の回転位置の目標値とするが、単位換算をすることによってテーブル32の並進位置の目標値を位置指令としてもよい。 The model speed calculation unit 1 receives a position command as input and outputs a model speed. The position command is input from a command value generating device such as a controller or NC device. The model speed is a value indicating the target speed of the motor 20, which is obtained by time-differentiating the position command and applying a filter. This differentiation process is replaced by difference processing in a discrete-time system, and the value obtained by dividing the difference between the current motor command and the motor command one sample before by the control processing cycle is used as an approximate differential value. The position command is the target value for the rotational position of the motor 20, but the target value for the translational position of the table 32 may also be used as the position command by performing unit conversion.

フィードバック制御部2は、位置指令およびモータ位置を受け取り、第1トルク指令を出力する。モータ位置は、モータ20の位置検出器21から入力される。フィードバック制御部2は、位置指令とモータ位置との偏差である位置偏差を小さくするように、比例制御または積分制御の位置制御処理を行い、位置偏差を小さくするような第1トルク指令を出力する。ここで、モータ位置は、テーブル32の位置を直接リニアスケールなどのセンサで読み取った値であってもよい。なお、フィードバック制御部2は、モータ位置を位置指令に追従させるものであれば、どのようなものであってもよい。例えば、2自由度制御を行うような構成としてもよい。 The feedback control unit 2 receives a position command and a motor position, and outputs a first torque command. The motor position is input from a position detector 21 of the motor 20. The feedback control unit 2 performs a position control process of proportional control or integral control so as to reduce the position deviation, which is the deviation between the position command and the motor position, and outputs a first torque command that reduces the position deviation. Here, the motor position may be a value obtained by directly reading the position of the table 32 with a sensor such as a linear scale. The feedback control unit 2 may be any type that causes the motor position to follow the position command. For example, it may be configured to perform two-degree-of-freedom control.

摩擦補償トルク算出部3は、モデル速度算出部1からモデル速度を受け取り、学習部7から摩擦モデルを受け取り、摩擦補償トルクを出力する。摩擦補償トルクは、モデル速度を入力として与えた際の摩擦モデルの出力値である。摩擦モデルは、関数のパラメータ個数が学習データによって変化するノンパラメトリックな関数である。すなわち、摩擦モデルは、パラメータの個数が可変である。摩擦補償トルクは、軌跡誤差の原因となる摩擦外乱の影響を小さくするように、摩擦トルクをフィードフォワードで補償する。なお、ここではモデル速度を入力としているが、モータ位置から得られるモータ速度を代表として、位置、速度または加速度に関する任意のデータを用いることができる。ただし、モデル速度を摩擦モデルの入力として用いることで、外乱に影響されにくくすることができる。このようなノンパラメトリックな関数として、例えば、決定木による表現が挙げられる。 The friction compensation torque calculation unit 3 receives the model speed from the model speed calculation unit 1, receives the friction model from the learning unit 7, and outputs the friction compensation torque. The friction compensation torque is the output value of the friction model when the model speed is given as an input. The friction model is a non-parametric function in which the number of parameters of the function changes depending on the learning data. In other words, the friction model has a variable number of parameters. The friction compensation torque compensates for the friction torque in a feedforward manner so as to reduce the influence of friction disturbances that cause trajectory errors. Note that although the model speed is used as the input here, any data related to position, speed, or acceleration can be used, with the motor speed obtained from the motor position being representative. However, by using the model speed as the input for the friction model, it is possible to make it less susceptible to disturbances. An example of such a non-parametric function is a representation using a decision tree.

図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 torque calculation unit 3 traces the nodes using a conditional expression including the model speed and the learned threshold value, which is a parameter, and outputs the average value of this friction torque for the training data in the leaf as the friction compensation torque. Note that, in the conditional expression used for each node branch in the friction model, the input is the model speed in Figure 3, but is not limited to the model speed, and any data related to position, speed, or acceleration can be used, such as the motor speed used when learning the friction model in the learning unit 7 described later. In addition, when an ensemble method such as a random forest or gradient boosting decision tree that contains multiple decision trees is used for the friction model, the average value of the results of these decision trees is output as the friction compensation torque, and the number of parameters is the number of thresholds included in all the trees.

図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 motor 20 so that the motor torque follows the second torque command.

データ保持部6は、モータ20の位置検出器21で検出されたモータ位置とモータ20に供給される電流の値である電流値とを受け取り、軌跡制御データおよび補助入力データを出力する。この例では、軌跡制御データは、モータ位置を微分したモータ速度と、トルク情報である電流値と、を含むデータセットである。データ保持部6は、制御周期毎に取得されるモータ位置および電流値に対し、軌跡制御データのサンプリングと保持とを行う。データ保持部6は、モータ速度の正負の符号が切り替わる前と後とにおける軌跡制御データが含まれるように軌跡制御データをサンプリングする。すなわち、データ保持部6は、第1方向および第2方向の間で回転方向が切り替わる前と後とにおける軌跡制御データをサンプリングし、保持する。また、モータ速度の代わりにモデル速度を軌跡制御データとしてもよく、外乱の影響が無視できる環境では、摩擦補償トルク算出部3で算出される摩擦補償トルクの精度が改善する場合がある。 The data storage unit 6 receives the motor position detected by the position detector 21 of the motor 20 and the current value, which is the value of the current supplied to the motor 20, and outputs trajectory control data and auxiliary input data. In this example, the trajectory control data is a data set including the motor speed, which is the derivative of the motor position, and the current value, which is torque information. The data storage unit 6 samples and stores the trajectory control data for the motor position and the current value acquired for each control period. The data storage unit 6 samples the trajectory control data so that the trajectory control data is included before and after the positive/negative sign of the motor speed is switched. In other words, the data storage unit 6 samples and stores the trajectory control data before and after the rotation direction is switched between the first direction and the second direction. In addition, the model speed may be used as the trajectory control data instead of the motor speed, and in an environment where the influence of disturbances can be ignored, the accuracy of the friction compensation torque calculated by the friction compensation torque calculation unit 3 may be improved.

補助入力データは、保持されている軌跡制御データを代表する部分データである。一例では、データ保持部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 motor 20 or the target machine 30. The target state data is data predicting a state including the operation of the motor 20, data indicating a state including the result of the operation of the motor 20, or data indicating a state including the result of the operation of the target machine 30 driven by the motor 20. Examples of target state data include motor speed, command position, motor position, motor acceleration, model speed, model acceleration, table position obtained from a sensor, table speed, table acceleration, or motor temperature, and includes one or more of these. Here, the model acceleration is a predicted value of the acceleration of the motor 20 based on a position command. The friction torque inclusive data is data observed including friction torque. Examples of friction torque inclusive data are a current value, a force, or a torque value obtained from a torque sensor. Therefore, the data holding unit 6 may sample and hold any of the above-mentioned data as trajectory control data in addition to the motor speed and current value used in this example. Furthermore, for the trajectory control data calculated by differentiation, values obtained by applying a filter process before or after the differentiation process may be used.

学習部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 motor 20 and the motor acceleration from the actual torque obtained by converting the current value of the trajectory control data into units. In addition, the input of the friction model can be the target state data. In other words, the input of the friction model can be the target state data of any trajectory control data or auxiliary input data stored in the data storage unit 6 regarding the position, speed, or acceleration, represented by the motor speed or model speed included in the trajectory control data. In other words, the friction model expresses the relationship between the target state data and the friction compensation torque. The friction model can also be updated at any timing. In addition, the learning unit 7 can sequentially update the friction model during the execution of trajectory control using the trajectory control data or the auxiliary input data. The learning unit 7 determines the number of parameters of the friction model by updating the friction model. In this way, the parameters and the number of parameters of the friction model can be dynamically adjusted. In addition, by replacing the trajectory control data with auxiliary input data, the number of parameters in the friction model can be reduced, and the learning and inference of the friction compensation torque can be accelerated, making it possible to more efficiently adjust the friction compensation.

学習部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).

Figure 0007505695000001
Figure 0007505695000001

ここで、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.

Figure 0007505695000002
Figure 0007505695000002

ここで、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 feedback control unit 2 calculates the first torque command, which is a command for the torque of the motor 20, by feedback control based on the position command and the motor position. The friction compensation torque calculation unit 3 calculates, as an output, a friction compensation torque, which is a correction to the first torque command taking friction into account, by a friction model with a variable number of parameters. The adder 4 calculates a second torque command by adding the first torque command and the friction compensation torque. The current control unit 5 applies a current to the motor 20 so as to follow the second torque command. The data holding unit 6 holds trajectory control data including the motor speed or model speed and torque information during the execution of trajectory control using the friction compensation torque. The learning unit 7 updates the friction model based on the trajectory control data in the data holding unit 6 and determines the number of parameters of the friction model.

これによって、摩擦補償トルクを用いた軌跡制御の実行中にサンプリングした軌跡制御データが摩擦モデルの構築に用いられる。この結果、位置指令の変更または経年劣化による制御対象の特性変化などに応じて、摩擦モデルのパラメータおよびパラメータ数を動的に調整することが可能となる。 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 target machine 30, such as a ball screw device, is generally represented by Coulomb friction acting between stationary objects, and viscous friction acting against the movement of the lubricating fluid being pushed out. Coulomb friction and viscous friction are respectively represented by the balance with the driving force below a certain threshold at a motor speed of zero speed, and the proportional relationship to the motor speed. However, it is known that nonlinear friction occurs before and after the motor speed switches from positive to negative, which depends on load conditions other than the motor speed, such as the stick-slip phenomenon.

そこで、対象機械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 target machine 30 reverses its direction of motion, a friction model that can accurately compensate for the effects of friction disturbances can be learned. However, the motor acceleration has many inflection points near zero speed with respect to the friction torque. For this reason, if an attempt is made to express the friction model with a polynomial that has two variables, the motor speed and the motor acceleration, as inputs, the equation becomes complicated, making it difficult to identify the parameters of the friction model. However, in the first embodiment, a decision tree is used as the friction model. In the decision tree, these motor accelerations can be easily used as inputs to the friction model by using them in a conditional branching formula. In this way, by using the motor acceleration as an input to the friction model, friction can be corrected more accurately.

上記した説明では、軌跡制御データの数、すなわちサンプル数については特に限定されていなかった。一例では、データ保持部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 feature learning unit 8a in addition to the configuration of the motor control device 10 in Figure 1. The feature learning unit 8a performs unsupervised learning using the trajectory control data as input, and generates auxiliary input data in the data storage unit 6. The feature learning unit 8a outputs the generated auxiliary input data to the data storage unit 6.

図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 feature learning unit 8a compresses the trajectory control data to reduce the dimension to another feature, and converts all samples. Specifically, as shown in FIG. 5, the feature learning unit 8a performs learning by setting different types of first trajectory control data and second trajectory control data to both input and output for a neural network 200 that combines an encoder 210 that compresses the number of dimensions of input data and a decoder 220 that restores and outputs them. Then, when the first trajectory control data and the second trajectory control data can be restored by the decoder from the third trajectory control data generated by the encoder, the feature learning unit 8a outputs the third trajectory control data to the data holding unit 6 as auxiliary input data. In this case, multiple types of trajectory control data are replaced with one auxiliary input data. In other words, the types of trajectory control data can be reduced.

一例では、特徴量学習部8aは、データ保持部6で保持される軌跡制御データの種類と異なる種類の軌跡制御データを補助入力データとしてデータ保持部6に出力する。特徴量学習部8aは、データ保持部6の軌跡制御データと補助入力データとを合わせて入力とした教師なし学習を行い、摩擦モデルの作成により有効な補助入力データを生成する。このとき、学習部7は、前回の摩擦モデルの推定で使用した軌跡制御データまたは補助入力データとは異なる軌跡制御データまたは補助入力データを使用して摩擦モデルを推定することもある。この結果、学習部7で生成される摩擦モデルは、前回の摩擦モデルとは異なる入力を有し、異なるパラメータ数を持つこともある。 In one example, the feature learning unit 8a outputs a type of trajectory control data different from the type of trajectory control data held in the data holding unit 6 as auxiliary input data to the data holding unit 6. The feature learning unit 8a performs unsupervised learning using the trajectory control data and auxiliary input data in the data holding unit 6 as input, and generates effective auxiliary input data by creating a friction model. At this time, the learning unit 7 may estimate the friction model using trajectory control data or auxiliary input data different from the trajectory control data or auxiliary input data used in the previous estimation of the friction model. As a result, the friction model generated by the learning unit 7 may have a different input from the previous friction model and may have a different number of parameters.

また、軌跡制御データの取捨選択について、寄与率の低い軌跡制御データをデータ保持部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 motor control device 10b further includes a feature quantity selection unit 8b in addition to the configuration of the motor control device 10 in Figure 1. The learning unit 7 of the motor control device 10b outputs an evaluation value indicating the contribution rate of each input of the friction model to the feature quantity selection unit 8b. The feature quantity selection unit 8b selects the type of trajectory control data and auxiliary input data in the data storage unit 6 according to the contribution rate calculated by the learning unit 7. The data storage unit 6 outputs the trajectory control data and auxiliary input data to the learning unit 7 according to the result of the selection by the feature quantity selection unit 8b. By using this evaluation value in the learning unit 7, it is possible to select trajectory control data appropriate for learning the friction model.

一例として、第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 quantity selection unit 8b instructs the data storage unit 6 to delete the first trajectory control data and the second trajectory control data, and to leave the auxiliary input data corresponding to the third trajectory control data. In accordance with the instruction from the feature quantity selection unit 8b, the data storage unit 6 leaves the auxiliary input data corresponding to the third trajectory control data, and deletes the first trajectory control data and the second trajectory control data. This makes it possible to reduce the amount of data stored in the data storage unit 6.

また、摩擦モデルの持つパラメータ数を低減するため、サンプリングする軌跡制御データを適切に選択することも重要である。そこで、対象機械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 target machine 30 is high, the number of trajectory control data to be stored can be maintained at a predetermined value by sampling according to the distance from the trajectory control data already stored. Furthermore, when a specific operation pattern requires estimation accuracy of the friction compensation torque, it is desirable to set a sampling probability according to the trajectory control data in advance so that more trajectory control data corresponding to that operation pattern is stored. That is, in the first embodiment, by sampling so that more trajectory control data is included before and after the positive/negative sign of the motor speed is switched, it is possible to more accurately correct the trajectory error that occurs as a quadrant protrusion when the axis of the target machine 30 reverses its motion direction. In addition, it is possible to speed up the learning and inference of the friction model while maintaining the estimation accuracy of the friction compensation torque near zero speed. Therefore, the learning time is shortened and the adjustment of the friction compensation is made more efficient.

また、前述の通り、摩擦モデルの更新は任意のタイミングで行ってよい。ただし、対象機械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 target machine 30, it is desirable to sample the trajectory control data at servo control cycle intervals and sequentially learn. In the decision tree, in order to suppress overlearning, it is common to use an ensemble method that prepares multiple decision trees or pre-pruning, including limiting the tree depth. Even when learning the friction model of the first embodiment, applying these methods reduces the dependency on the learning data and enables generalization to changes in the position command or friction characteristics. Even during sequential learning, hyperparameters such as the number of trees or tree depth used in such a friction model may be adjusted in accordance with changes in the trajectory control data and auxiliary input data. This can improve the generalization performance of the friction model, and it is possible to prevent deterioration of the estimation accuracy even for unlearned position commands or sudden changes in friction characteristics.

このように、実施の形態1によるモータ制御装置10,10a,10bは、学習部7において、決定木により表現された高精度かつノンパラメトリックな摩擦モデルを学習し、摩擦補償トルク算出部3でこの摩擦モデルを用いて、摩擦補償トルクを算出する。この摩擦モデルの学習に用いる軌跡制御データは、データ保持部6において摩擦補償トルクを用いた軌跡制御の実行中にサンプリングされるため、位置指令または摩擦特性の変化に対して学習用の動作を別途行う必要がなく、摩擦モデルの調整にかかる時間を大幅に削減することができる。同様に、位置指令の変更または経年劣化による制御対象の特性変化などに応じて、軌跡制御データから摩擦モデルのパラメータおよびパラメータの数を動的に調整できるため、軌跡誤差が減少するように摩擦モデルを軌跡制御の実行中に逐次更新することが可能となる。したがって、実施の形態1によれば、軌跡制御を高精度化するための摩擦補償の調整を従来に比して効率的に行うことができるという効果が得られる。 In this way, the motor control devices 10, 10a, and 10b according to the first embodiment learn a highly accurate and non-parametric friction model expressed by a decision tree in the learning unit 7, and calculate the friction compensation torque using this friction model in the friction compensation torque calculation unit 3. The trajectory control data used to learn this friction model is sampled in the data storage unit 6 while trajectory control using the friction compensation torque is being performed, so that there is no need to perform a separate learning operation for changes in the position command or friction characteristics, and the time required for adjusting the friction model can be significantly reduced. Similarly, the parameters and the number of parameters of the friction model can be dynamically adjusted from the trajectory control data in response to changes in the position command or changes in the characteristics of the controlled object due to aging, so that the friction model can be updated sequentially during the execution of the trajectory control so as to reduce the trajectory error. Therefore, according to the first embodiment, it is possible to obtain the effect that the adjustment of the friction compensation for improving the accuracy of the trajectory control can be performed more efficiently than before.

実施の形態2.
実施の形態1では、学習部7において、摩擦モデルが決定木により表現され、摩擦補償トルク算出部3において、摩擦モデルを用いて摩擦外乱のフィードフォワード補正を行うモータ制御装置10,10a,10bについての説明を行った。これに対して、実施の形態2によるモータ制御装置では、関数のパラメータの数が学習データによって変化するノンパラメトリックな摩擦モデルが、ガウス過程回帰によって表現される場合を示す。
Embodiment 2.
In the first embodiment, motor control devices 10, 10a, and 10b have been described in which a friction model is expressed by a decision tree in learning unit 7, and feedforward correction of friction disturbance is performed using the friction model in friction compensation torque calculation unit 3. In contrast, the motor control device according to the second embodiment shows a case in which a nonparametric friction model in which the number of function parameters changes depending on learning data is expressed by Gaussian process regression.

実施の形態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 torque calculation unit 3 and the learning unit 7 are different from those of the first embodiment. The following describes the differences from the first embodiment in the friction compensation torque calculation unit 3 and the learning unit 7. The configuration other than the friction compensation torque calculation unit 3 and the learning unit 7 is the same as that of the first embodiment, so the description will be omitted.

図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 embodiment 2. In Figure 7, the horizontal axis indicates speed, and the vertical axis indicates friction. In the friction compensation torque calculation unit 3 of embodiment 2, the friction model expressed by Gaussian process regression is a function configured based on at least one of the trajectory control data and the auxiliary input data stored in the data storage unit 6. In this case, the friction model expressed by Gaussian process regression has parameters in the same number as the number of data, so the number of data points is the number of parameters. The friction model expressed by Gaussian process regression outputs a friction compensation torque according to the distance between each data and the input motor speed.

このとき、摩擦補償トルクの予測分布についても、ガウス分布の分散として同時に算出される。ただし、ここで用いる距離はカーネル関数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.

Figure 0007505695000003
Figure 0007505695000003

ここで、θ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 σ 2.

Figure 0007505695000004
Figure 0007505695000004

Figure 0007505695000005
Figure 0007505695000005

ここで、デルタ関数δ(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 embodiment 1, by selecting the trajectory control data in the data storage unit 6 based on the variance, which is an evaluation value that indicates the accuracy of the output of the friction model, it is possible to reduce the number of parameters in the friction model while maintaining the estimation accuracy of the friction compensation torque, and to speed up learning and inference. In other words, the learning time is shortened, and the adjustment of friction compensation is made more efficient.

図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 motor control device 10b of Figure 6 differs in that the variance of the output is used instead of the contribution rate. By using this evaluation value in the learning unit 7, it is possible to select trajectory control data appropriate for learning the friction model.

また、ガウス過程回帰を用いた摩擦モデルは、保持している軌跡制御データの構成する特徴量空間において、複数の軌跡制御データを代表する代表点を適切に配置することで、これらの代表点を補助入力データとして元の軌跡制御データを置き換えることができる。これによって、摩擦モデルのパラメータ数を低減でき、メモリ消費量と摩擦補償トルクの計算コストを低減することが可能となる。補助入力データとして、保持している軌跡制御データから無作為に一定割合を選び出した部分データを用いてもよく、その他には、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 torque calculation unit 3. This makes it possible to improve the efficiency of sampling by utilizing the variance of the friction compensation torque, reduce the calculation cost and memory of the friction model, and compensate for trajectory errors due to friction quickly and with high accuracy.

ここで、モータ制御装置10,10a,10b,10cのハードウェア構成について説明する。モータ制御装置10,10a,10b,10cの各部は回路により実現される。電流制御部5は、交流電力を直流電力に変換するコンバータ回路、または直流電力を所望の交流電力に変換するインバータ回路を備えることにより電流指令に追従するようにモータ20へ電流を供給する。モデル速度算出部1、フィードバック制御部2、摩擦補償トルク算出部3、データ保持部6、学習部7、特徴量学習部8aおよび特徴量選択部8b,8cは、処理回路により実現される。処理回路は、プロセッサを備える回路であってもよいし、専用ハードウェアであってもよい。 Here, the hardware configuration of the motor control devices 10, 10a, 10b, and 10c will be described. Each part of the motor control devices 10, 10a, 10b, and 10c is realized by a circuit. The current control unit 5 is equipped with a converter circuit that converts AC power to DC power, or an inverter circuit that converts DC power to the desired AC power, and supplies a current to the motor 20 so as to follow the current command. The model speed calculation unit 1, the feedback control unit 2, the friction compensation torque calculation unit 3, the data retention unit 6, the learning unit 7, the feature learning unit 8a, and the feature selection units 8b and 8c are realized by a processing circuit. The processing circuit may be a circuit equipped with a processor, or may be dedicated hardware.

処理回路がプロセッサを備える回路である場合、処理回路は例えプロセッサとメモリで構成される制御回路である。モデル速度算出部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 speed calculation unit 1, the feedback control unit 2, the friction compensation torque calculation unit 3, the data storage unit 6, the learning unit 7, the feature learning unit 8a, and the feature selection units 8b and 8c are realized by a control circuit, the processor reads out and executes a program stored in the memory to realize these. In other words, when the model speed calculation unit 1, the feedback control unit 2, the friction compensation torque calculation unit 3, the data storage unit 6, the learning unit 7, the feature learning unit 8a, and the feature selection units 8b and 8c are realized by a control circuit, these functions are realized using a program that is software. The memory is also used as a working area for the processor. The processor is a CPU (Central Processing Unit) or the like. The memory is, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), a non-volatile or volatile semiconductor memory such as a flash memory, a magnetic disk, etc.

モデル速度算出部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 speed calculation unit 1, the feedback control unit 2, the friction compensation torque calculation unit 3, the data storage unit 6, the learning unit 7, the feature learning unit 8a, and the feature selection units 8b and 8c are dedicated hardware, the processing circuit is, for example, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). Note that the model speed calculation unit 1, the feedback control unit 2, the friction compensation torque calculation unit 3, the data storage unit 6, the learning unit 7, the feature learning unit 8a, and the feature selection units 8b and 8c may be realized by combining a processing circuit having a processor and dedicated hardware. The model speed calculation unit 1, the feedback control unit 2, the friction compensation torque calculation unit 3, the data storage unit 6, the learning unit 7, the feature learning unit 8a, and the feature selection units 8b and 8c may be realized by multiple processing circuits.

以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 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に記載のモータ制御装置。 The motor control device according to claim 1, characterized in that the data storage unit selects and discards the trajectory control data based on at least one of the distribution of the trajectory control data and the estimation error of the friction compensation torque. 前記データ保持部は、保持されている複数の前記軌跡制御データを代表する補助入力データを生成し、保持されている複数の前記軌跡制御データを前記補助入力データで置き換えることを特徴とする請求項1に記載のモータ制御装置。 The motor control device according to claim 1, characterized in that the data storage unit generates auxiliary input data representative of the plurality of trajectory control data stored, and replaces the plurality of trajectory control data stored with the auxiliary input data. 前記学習部は、前記補助入力データおよび前記軌跡制御データのうち少なくともいずれか一方に基づいて前記摩擦モデルを更新することを特徴とする請求項3に記載のモータ制御装置。 The motor control device according to claim 3, characterized in that the learning unit updates the friction model based on at least one of the auxiliary input data and the trajectory control data. 前記モータは、第1方向と、前記第1方向とは逆方向の第2方向と、の間で回転方向を切り替え可能であり、
前記データ保持部は、前記第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.
記摩擦補償トルク算出部は、前記摩擦モデルに基づき、前記対象状態データを入力として前記摩擦補償トルクを算出することを特徴とする請求項1から5のいずれか1つに記載のモータ制御装置。 6. The motor control device according to claim 1, wherein the friction compensation torque calculation unit calculates the friction compensation torque based on the friction model and the target state data as an input. 前記データ保持部は、前記モータの速度および前記位置指令に基づいた前記モータの速度の予測値であるモデル速度のいずれか一方を含む前記軌跡制御データを保持することを特徴とする請求項6に記載のモータ制御装置。 The motor control device according to claim 6, characterized in that the data storage unit stores the trajectory control data including either the motor speed or a model speed that is a predicted value of the motor speed based on the position command. 前記摩擦モデルは、前記モータの速度および前記位置指令に基づいた前記モータの速度の予測値であるモデル速度のいずれか一方を入力として前記摩擦補償トルクを出力として算出することを特徴とする請求項6に記載のモータ制御装置。 The motor control device according to claim 6, characterized in that the friction model calculates the friction compensation torque as an output using either the motor speed or a model speed, which is a predicted value of the motor speed based on the position command, as an input. 前記データ保持部は、前記モータの加速度を含む前記軌跡制御データを保持し、
前記摩擦モデルは、前記位置指令に基づいた前記モータの加速度の予測値であるモデル加速度を入力として前記摩擦補償トルクを出力として算出することを特徴とする請求項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.
前記摩擦モデルは、決定木またはガウス過程回帰によって表現されることを特徴とする請求項1から10のいずれか1つに記載のモータ制御装置。 The motor control device according to any one of claims 1 to 10, characterized in that the friction model is represented by a decision tree or Gaussian process regression.
JP2020202880A 2020-12-07 2020-12-07 Motor Control Device Active JP7505695B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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