JP2014136260A - Control device - Google Patents

Control device Download PDF

Info

Publication number
JP2014136260A
JP2014136260A JP2013004255A JP2013004255A JP2014136260A JP 2014136260 A JP2014136260 A JP 2014136260A JP 2013004255 A JP2013004255 A JP 2013004255A JP 2013004255 A JP2013004255 A JP 2013004255A JP 2014136260 A JP2014136260 A JP 2014136260A
Authority
JP
Japan
Prior art keywords
speed
transmission error
motor
command
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013004255A
Other languages
Japanese (ja)
Inventor
Yasuyuki Sato
康之 佐藤
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.)
Daihen Corp
Original Assignee
Daihen Corp
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 Daihen Corp filed Critical Daihen Corp
Priority to JP2013004255A priority Critical patent/JP2014136260A/en
Publication of JP2014136260A publication Critical patent/JP2014136260A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a control device capable of compensating for an angular transmission error without the need to adjust each robot and without using an external sensor.SOLUTION: A speed-command generation unit 12 generates a speed command using a present position of a motor and a position command. A speed calculation unit 15 calculates a present speed of the motor. A current command generation unit 13 generates a current command using the present speed of the motor and the speed command. An adaptive estimation unit 16 generates an angular transmission error by adaptively estimating a frequency, an amplitude, and a phase of a periodic function indicating the angular transmission error of a reduction gear. An error compensation unit 18 generates a compensated current command that compensates for an angular transmission error component of the reduction gear from the current command. A torque command generation unit 14 generates a torque command using the present current and the compensated current command, and outputs the torque command to the motor. By so configuring, it is unnecessary to adjust an individual robot and to provide an external sensor when compensating for the angular transmission error.

Description

本発明は、減速機の角度伝達誤差を補償する制御装置に関する。   The present invention relates to a control device that compensates for an angle transmission error of a reduction gear.

アーク溶接ロボット等のマニピュレータの先端を直線動作させた際に周期的な振動が発生し、制御の精度に悪影響を及ぼすことがある。その振動は、マニピュレータの各軸に設けられた減速機の角度伝達誤差に起因すると考えられている。そのような角度伝達誤差を補償する方法として、角度伝達誤差を数式でモデル化し、補償する方法が知られている。その方法として、例えば、特許文献1には、角度伝達誤差を正弦波でモデル化し、その振幅と位相をモータへのトルク指令値、モータ角度指令、ロボットの手先位置から同定する方法が記載されている。また、特許文献2には、モータの回転方向とロボットの負荷重量を考慮して角度伝達誤差補正量を決定する方法が記載されている。また、特許文献3には、角度伝達誤差を、減速機のギア比変動、ギアの摩擦、ギア出力角変動の3つの要素でモデル化し、それらを考慮した制御系設計法が記載されている。   When the tip of a manipulator such as an arc welding robot is moved linearly, periodic vibration may occur, which may adversely affect control accuracy. The vibration is considered to be caused by an angle transmission error of a speed reducer provided on each axis of the manipulator. As a method for compensating for such an angle transmission error, a method is known in which the angle transmission error is modeled by a mathematical expression and compensated. For example, Patent Document 1 describes a method in which an angle transmission error is modeled as a sine wave, and its amplitude and phase are identified from a torque command value to a motor, a motor angle command, and a hand position of the robot. Yes. Patent Document 2 describes a method of determining an angle transmission error correction amount in consideration of the rotation direction of a motor and the load weight of a robot. Patent Document 3 describes a control system design method in which an angle transmission error is modeled by three elements of a gear ratio variation of a reduction gear, a gear friction, and a gear output angle variation, and these are taken into consideration.

また、角度伝達誤差を補償するための他の方法として、角度伝達誤差の実測値を用いて補償を行う方法も知られている。その方法として、特許文献4には、減速時における減速機の動力伝達特性を記憶し、その情報をモータへの入力トルクに反映することで誤差を補償する方法が記載されている。   In addition, as another method for compensating for the angle transmission error, a method of performing compensation using an actually measured value of the angle transmission error is also known. As the method, Patent Document 4 describes a method of compensating for errors by storing the power transmission characteristics of the speed reducer during deceleration and reflecting the information on the input torque to the motor.

特開2011−212823号公報JP 2011-212823 A 特開2010−149203号公報JP 2010-149203 A 特開平10−243676号公報JP-A-10-243676 特開平1−210643号公報Japanese Patent Laid-Open No. 1-210443

特許文献4に記載されている実測値を用いるアプローチでは、ロボットごと、または減速機単体ごとの動力伝達特性の実測値が必要であるため、データ測定のコストが大きく、現実的でないという問題がある。   The approach using the actual measurement values described in Patent Document 4 requires the actual measurement values of the power transmission characteristics for each robot or each speed reducer, so that there is a problem that the cost of data measurement is large and not practical. .

一方、特許文献1〜3に記載されているモデル化のアプローチでは、実測値を用いるよりもデータ測定にかかるコストは少なくなる。しかしながら、数式モデルが複雑になりすぎるという問題や、個体ごとのパラメータ同定作業に時間がかかるという問題がある。具体的には、特許文献1では、角度伝達誤差を正弦波でモデル化しているが、その振幅と位相を同定するために、ロボットの手先位置を計測するための外界センサが必要である。また、ロボットの個体ごとに測定を行う必要があることから、パラメータ同定のコストが大きいという問題もある。また、特許文献2には、ロボットの負荷重量とモータ回転方向の変化による角度伝達誤差のうねり振幅の変化を補正する方法が記載されている。この方法では、負荷重量と振幅の関係のマップを作るため、複数の負荷重量パターンでロボットを動作させる必要があり、パラメータ同定のコストが大きいという問題がある。また、特許文献3では、角度伝達誤差を3つの要素に分け、それぞれを数式でモデル化しているが、モデルが複雑であるために同定が容易ではない。また、うねりの振幅が変化することを考慮していないモデルとなっており、十分な補正効果が得られない可能性があるという問題がある。   On the other hand, with the modeling approaches described in Patent Documents 1 to 3, the cost for data measurement is less than that using measured values. However, there are problems that the mathematical formula model becomes too complicated and that parameter identification work for each individual takes time. Specifically, in Patent Document 1, the angle transmission error is modeled as a sine wave, but in order to identify the amplitude and phase, an external sensor for measuring the hand position of the robot is necessary. In addition, since it is necessary to perform measurement for each individual robot, there is a problem that the cost of parameter identification is high. Patent Document 2 describes a method of correcting a change in the undulation amplitude of an angle transmission error due to a change in the load weight of the robot and the motor rotation direction. In this method, since the map of the relationship between the load weight and the amplitude is created, it is necessary to operate the robot with a plurality of load weight patterns, and there is a problem that the cost of parameter identification is high. In Patent Document 3, the angle transmission error is divided into three elements, and each is modeled by a mathematical formula. However, identification is not easy because the model is complicated. Further, the model does not take into consideration that the amplitude of the swell changes, and there is a problem that a sufficient correction effect may not be obtained.

本発明は、上記課題を解決するためになされたものであり、ロボット個体ごとの調整を必要とせず、外界センサを用いずに角度伝達誤差を補償することができる制御装置を提供することを目的とする。   The present invention has been made to solve the above-described problem, and an object of the present invention is to provide a control device that does not require adjustment for each robot and can compensate for an angle transmission error without using an external sensor. And

上記目的を達成するため、本発明による制御装置は、減速機を介してモータによって駆動される関節によって連結された複数のアームを有するマニピュレータを制御する制御装置であって、モータの現在位置と、モータの位置指令とを用いて速度指令を生成する速度指令生成部と、モータの現在位置から、モータの現在速度を算出する速度算出部と、速度算出部が算出した現在速度と、速度指令とを用いて電流指令を生成する電流指令生成部と、速度算出部が算出した現在速度を用いて、減速機の角度伝達誤差を示す周期的な関数の周期・振幅・位相を適応的に推定することによって、角度伝達誤差を生成する適応推定部と、適応推定部が生成した角度伝達誤差を用いて、電流指令から減速機の角度伝達誤差成分を補償した電流指令を生成する誤差補償部と、モータの現在電流と、誤差補償部が生成した電流指令とを用いてトルク指令を生成し、モータに出力するトルク指令生成部と、を備えたものである。
このような構成により、減速機の角度伝達誤差を振幅・周波数・位相が未知の周期的な関数でモデル化することによって、モータの速度を用いるだけで適応的に未知パラメータを推定でき、角度伝達誤差を補償することができる。その結果、ロボット個体ごとの調整を必要とせず、また外界センサを用いずに角度伝達誤差を補償することができる。また、従来の数式モデルを用いたアプローチで問題となっていたパラメータの同定コストを低減させることができる。
In order to achieve the above object, a control device according to the present invention is a control device that controls a manipulator having a plurality of arms connected by joints driven by a motor via a speed reducer, and a current position of the motor; A speed command generation unit that generates a speed command using the motor position command, a speed calculation unit that calculates the current speed of the motor from the current position of the motor, a current speed calculated by the speed calculation unit, and a speed command The current command generation unit that generates a current command using the current speed and the current speed calculated by the speed calculation unit are used to adaptively estimate the period, amplitude, and phase of a periodic function that indicates the angular transmission error of the reducer. By using the adaptive estimation unit that generates the angle transmission error and the angle transmission error generated by the adaptive estimation unit, a current command that compensates for the angular transmission error component of the reducer is generated from the current command. An error compensating unit, and the current current of the motor, generates a torque command by using the current command error compensation unit is generated, but with the torque command generator outputting a motor.
With this configuration, by modeling the angular transmission error of the speed reducer with a periodic function whose amplitude, frequency, and phase are unknown, the unknown parameters can be estimated adaptively using only the motor speed, and the angular transmission The error can be compensated. As a result, the angle transmission error can be compensated without requiring adjustment for each robot and without using an external sensor. In addition, it is possible to reduce the identification cost of parameters, which has been a problem with the conventional approach using a mathematical model.

また、本発明による制御装置では、周期的な関数は、三角関数であってもよい。
このような構成により、周期的な関数の解析が容易となる。
In the control device according to the present invention, the periodic function may be a trigonometric function.
Such a configuration facilitates analysis of a periodic function.

また、本発明による制御装置では、適応推定部は、モータの速度と、位相の余弦値とを乗算する第1の乗算器と、モータの速度と、位相の正弦値の負値とを乗算する第2の乗算器と、第1及び第2の乗算器の乗算結果を各要素に有するベクトルに、モータの軸に関する伝達関数に対応する伝達関数行列に応じた演算を行うことによって、振幅及び周波数を各要素に有するベクトルを生成する行列乗算器と、行列乗算器が生成した周波数を積分した位相を算出する積分器と、積分器が算出した位相の余弦値を算出し、第1の乗算器に入力する余弦算出器と、積分器が算出した位相の正弦値の負値を算出し、第2の乗算器に入力する正弦算出器と、行列乗算器が生成した振幅と、余弦算出器が算出した余弦値とを乗算することによって角度伝達誤差を生成する第3の乗算器と、を備えてもよい。
このような構成により、行列乗算器等を用いることによって、適応的に未知パラメータを推定することができる。
In the control device according to the present invention, the adaptive estimation unit multiplies the first multiplier that multiplies the motor speed by the cosine value of the phase, the motor speed, and the negative value of the sine value of the phase. Amplitude and frequency are obtained by performing an operation according to a transfer function matrix corresponding to a transfer function related to a motor axis on a vector having each element of the multiplication result of the second multiplier and the first and second multipliers. A matrix multiplier for generating a vector having each element as an element, an integrator for calculating a phase obtained by integrating the frequency generated by the matrix multiplier, a cosine value of the phase calculated by the integrator, and a first multiplier The cosine calculator that is input to the negative value of the sine value of the phase calculated by the integrator, the sine calculator that is input to the second multiplier, the amplitude generated by the matrix multiplier, and the cosine calculator The angle transmission error is calculated by multiplying the calculated cosine value. A third multiplier for generating a may be provided.
With such a configuration, the unknown parameter can be adaptively estimated by using a matrix multiplier or the like.

また、本発明による制御装置では、適応推定部が生成した角度伝達誤差に0より大きく1以下のパラメータを乗算することによって、角度伝達誤差を変更する変更部をさらに備え、誤差補償部は、電流指令から、変更部による変更後の角度伝達誤差成分を補償した電流指令を生成してもよい。
このような構成により、変更部が用いるパラメータを適切に設定することによって、角度伝達誤差の効果的な補償を実現することができるようになる。
The control apparatus according to the present invention further includes a changing unit that changes the angle transmission error by multiplying the angle transmission error generated by the adaptive estimation unit by a parameter that is greater than 0 and equal to or less than 1, and the error compensation unit includes a current A current command that compensates for the angle transmission error component after the change by the changing unit may be generated from the command.
With such a configuration, it is possible to effectively compensate for the angle transmission error by appropriately setting parameters used by the changing unit.

本発明による制御装置によれば、ロボット個体ごとの調整を必要とせず、外界センサを用いないで、角度伝達誤差の補償を行うことができる。   According to the control device of the present invention, it is possible to compensate for the angle transmission error without requiring adjustment for each robot and without using an external sensor.

本発明の実施の形態1による産業用ロボットの構成を示すブロック図The block diagram which shows the structure of the industrial robot by Embodiment 1 of this invention. 同実施の形態による適応推定部の構成を示すブロック図The block diagram which shows the structure of the adaptive estimation part by the embodiment 同実施の形態による制御装置の動作を示すフローチャートThe flowchart which shows operation | movement of the control apparatus by the embodiment

以下、本発明による制御装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。   Hereinafter, a control device according to the present invention will be described using embodiments. In the following embodiments, components and steps denoted by the same reference numerals are the same or equivalent, and repetitive description may be omitted.

(実施の形態1)
本発明の実施の形態1による制御装置について、図面を参照しながら説明する。本実施の形態による制御装置は、角度伝達誤差を周期的な関数でモデル化し、その関数の振幅・周波数・位相を適応的に推定することによって、角度伝達誤差を補償するものである。
(Embodiment 1)
A control apparatus according to Embodiment 1 of the present invention will be described with reference to the drawings. The control device according to the present embodiment compensates the angle transmission error by modeling the angle transmission error with a periodic function and adaptively estimating the amplitude, frequency, and phase of the function.

図1は、本実施の形態による産業用ロボット100の構成を示すブロック図である。本実施の形態による産業用ロボット100は、制御装置1と、マニピュレータ2とを備える。制御装置1は、モータによって駆動される関節によって連結された複数のアームを有するマニピュレータ2を制御する。そのマニピュレータ2において、各モータとアームとは減速機を介して接続されている。また、直列に接続されたアームの先端に、手先効果器(エンドエフェクタ)が設けられていてもよい。マニピュレータ2は、例えば、垂直多関節ロボットのマニピュレータであってもよく、水平多関節ロボットのマニピュレータであってもよい。また、そのマニピュレータ2の軸数は問わない。また、制御装置1は、ティーチングプレイバック方式によりマニピュレータ2を制御してもよく、または、自律方式によりマニピュレータ2を制御してもよい。本実施の形態による産業用ロボット100は、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、あるいは、その他の用途のロボットであってもよい。   FIG. 1 is a block diagram showing a configuration of an industrial robot 100 according to the present embodiment. The industrial robot 100 according to the present embodiment includes a control device 1 and a manipulator 2. The control device 1 controls a manipulator 2 having a plurality of arms connected by a joint driven by a motor. In the manipulator 2, each motor and the arm are connected via a speed reducer. A hand effector (end effector) may be provided at the tip of the arm connected in series. The manipulator 2 may be, for example, a manipulator of a vertical articulated robot or a manipulator of a horizontal articulated robot. The number of axes of the manipulator 2 is not limited. Moreover, the control apparatus 1 may control the manipulator 2 by a teaching playback system, or may control the manipulator 2 by an autonomous system. The industrial robot 100 according to the present embodiment may be, for example, a transfer robot, a welding robot, an assembly robot, a painting robot, or other uses. It may be a robot.

図1で示されるように、制御装置1は、位置指令生成部11と、速度指令生成部12と、電流指令生成部13と、トルク指令生成部14と、速度算出部15と、適応推定部16と、変更部17と、誤差補償部18とを備える。   As shown in FIG. 1, the control device 1 includes a position command generation unit 11, a speed command generation unit 12, a current command generation unit 13, a torque command generation unit 14, a speed calculation unit 15, and an adaptive estimation unit. 16, a change unit 17, and an error compensation unit 18.

位置指令生成部11は、モータの位置指令を生成し、速度指令生成部12に渡す。位置指令生成部11は、例えば、教示情報等を用いることによって、モータの位置を算出し、その位置を示す位置指令を速度指令生成部12に渡してもよい。なお、モータの位置は、厳密にはモータの角度であってもよい。   The position command generator 11 generates a motor position command and passes it to the speed command generator 12. The position command generation unit 11 may calculate the position of the motor by using, for example, teaching information and pass the position command indicating the position to the speed command generation unit 12. The position of the motor may be strictly the angle of the motor.

速度指令生成部12は、モータの現在位置と、そのモータの位置指令とを用いて速度指令を生成する。その位置指令は、前述のように、位置指令生成部11によって生成されたものである。速度指令生成部12は、例えば、マニピュレータ2のモータの位置検出器から現在位置を受け取ってもよい。その位置検出器は、例えば、エンコーダであってもよい。   The speed command generation unit 12 generates a speed command using the current position of the motor and the position command of the motor. The position command is generated by the position command generation unit 11 as described above. The speed command generation unit 12 may receive the current position from, for example, a motor position detector of the manipulator 2. The position detector may be an encoder, for example.

電流指令生成部13は、速度算出部15が算出したモータの現在速度と、そのモータについて速度指令生成部12が生成した速度指令とを用いて電流指令を生成する。なお、モータの速度は、厳密にはモータの回転速度、すなわち、角速度であってもよい。   The current command generation unit 13 generates a current command using the current speed of the motor calculated by the speed calculation unit 15 and the speed command generated by the speed command generation unit 12 for the motor. Strictly speaking, the motor speed may be the rotational speed of the motor, that is, the angular speed.

トルク指令生成部14は、モータの現在電流と、そのモータについて誤差補償部18が生成した電流指令とを用いてトルク指令を生成し、そのモータに出力する。その結果、そのモータは、トルク指令に応じたトルクとなるように動作することになる。トルク指令生成部14は、例えば、モータの電流を検出する電流検出器から現在電流を受け取ってもよい。
なお、速度指令生成部12、電流指令生成部13、トルク指令生成部14によるフィードバック制御処理は、サーボコントローラの処理としてすでに公知のものであり、その詳細な説明を省略する。そのサーボコントローラでは、例えば、一般的なPID制御等が行われる。
The torque command generator 14 generates a torque command using the current current of the motor and the current command generated by the error compensator 18 for the motor, and outputs the torque command to the motor. As a result, the motor operates to have a torque according to the torque command. For example, the torque command generator 14 may receive the current from a current detector that detects the current of the motor.
The feedback control process by the speed command generation unit 12, the current command generation unit 13, and the torque command generation unit 14 is already known as a servo controller process, and detailed description thereof is omitted. In the servo controller, for example, general PID control or the like is performed.

速度算出部15は、モータの現在位置から、モータの現在速度を算出する。具体的には、速度算出部15は、モータの現在位置を時間微分することによって、モータの現在速度を算出してもよい。そのモータの現在速度は、電流指令生成部13において用いられるため、速度算出部15は、電流指令生成部13が電流指令を生成する周期と同じ周期か、または、それよりも短い周期で現在速度を算出することが好適である。   The speed calculation unit 15 calculates the current speed of the motor from the current position of the motor. Specifically, the speed calculator 15 may calculate the current speed of the motor by differentiating the current position of the motor with respect to time. Since the current speed of the motor is used in the current command generation unit 13, the speed calculation unit 15 is equal to or shorter than the cycle in which the current command generation unit 13 generates the current command. Is preferably calculated.

適応推定部16は、速度算出部15が算出した現在速度を用いて、減速機の角度伝達誤差を示す周期的な関数の周期・振幅・位相を適応的に推定することによって、角度伝達誤差を生成する。すなわち、角度伝達誤差を周期的な関数でモデル化しており、この適応推定部16では、その関数の未知パラメータである周期・振幅・位相を適応的に推定することになる。その関数は、三角関数であってもよく、のこぎり波であってもよく、三角波であってもよく、矩形波であってもよく、その他の周期的な関数であってもよい。本実施の形態では、この関数が三角関数である場合、すなわち、角度伝達誤差が三角関数でモデル化される場合について主に説明する。なお、適応推定部16が推定した角度伝達誤差は、電流指令生成部13が生成した電流指令に対する補償を行うために用いられるため、適応推定部16は、電流指令生成部13が電流指令を生成する周期と同じ周期か、または、それよりも短い周期で角度伝達誤差を推定することが好適である。   The adaptive estimation unit 16 uses the current speed calculated by the speed calculation unit 15 to adaptively estimate the period, amplitude, and phase of a periodic function indicating the angle transmission error of the speed reducer, thereby reducing the angle transmission error. Generate. That is, the angle transmission error is modeled by a periodic function, and the adaptive estimation unit 16 adaptively estimates the period, amplitude, and phase, which are unknown parameters of the function. The function may be a trigonometric function, a sawtooth wave, a triangular wave, a rectangular wave, or another periodic function. In the present embodiment, the case where this function is a trigonometric function, that is, the case where the angle transmission error is modeled by a trigonometric function will be mainly described. Since the angle transmission error estimated by the adaptive estimation unit 16 is used to compensate for the current command generated by the current command generation unit 13, the adaptive estimation unit 16 generates the current command by the current command generation unit 13. It is preferable to estimate the angle transmission error with the same period as the period to be performed or with a period shorter than that.

図2は、適応推定部16の詳細な構成の一例を示すブロック図である。適応推定部16は、第1の乗算器21と、第2の乗算器22と、行列乗算器23と、積分器24と、余弦算出器25と、正弦算出器26と、第3の乗算器27とを備える。   FIG. 2 is a block diagram illustrating an example of a detailed configuration of the adaptive estimation unit 16. The adaptive estimator 16 includes a first multiplier 21, a second multiplier 22, a matrix multiplier 23, an integrator 24, a cosine calculator 25, a sine calculator 26, and a third multiplier. 27.

第1の乗算器21は、モータの速度ωと、余弦算出器25で算出される、位相αの余弦値「cos(α)」とを乗算する。その乗算結果であるy=ω×cos(α)は、行列乗算器23に入力される。
第2の乗算器22は、モータの速度ωと、正弦算出器26で算出される、位相αの正弦値の負値「−sin(α)」とを乗算する。その乗算結果であるy=−ω×sin(α)は、行列乗算器23に入力される。
First multiplier 21 multiplies the speed omega M of the motor is calculated by the cosine calculator 25, the cosine of the phase alpha and "cos (alpha)". The multiplication result y 1 = ω M × cos (α) is input to the matrix multiplier 23.
Second multiplier 22 multiplies the speed omega M of the motor is calculated by a sine calculator 26, the negative value of the sine of the phase alpha and "-sin (alpha)". The multiplication result y 2 = −ω M × sin (α) is input to the matrix multiplier 23.

行列乗算器23は、第1及び第2の乗算器22の乗算結果y,yを各要素に有するベクトル(yに、モータの軸に関する伝達関数P(s)に対応する伝達関数行列C(s)に応じた演算を行うことによって、振幅θ及び周波数θを各要素に有するベクトル(θ θを生成する。その振幅θは、第3の乗算器27に入力される。また、その周波数θは、積分器24に入力される。なお、モータの軸に関する伝達関数P(s)、及びそれに対応する伝達関数行列C(s)については後述する。 The matrix multiplier 23 corresponds to a vector (y 1 y 2 ) t having the multiplication results y 1 and y 2 of the first and second multipliers 22 as elements, and a transfer function P (s) related to the motor axis. The vector (θ 1 θ 2 ) t having the amplitude θ 1 and the frequency θ 2 in each element is generated by performing an operation according to the transfer function matrix C (s) to be performed. The amplitude θ 1 is input to the third multiplier 27. The frequency θ 2 is input to the integrator 24. The transfer function P (s) related to the motor shaft and the transfer function matrix C (s) corresponding thereto will be described later.

積分器24は、行列乗算器23が生成した周波数θを積分する。その積分結果は、位相αである。すなわち、積分器24は、周波数θを積分して位相αを算出することになる。 The integrator 24 integrates the frequency θ 2 generated by the matrix multiplier 23. The integration result is the phase α. That is, the integrator 24 will calculate the phase α by integrating the frequency theta 2.

余弦算出器25は、積分器24が算出した位相αの余弦値cos(α)を算出し、第1の乗算器21に入力する。また、その余弦値「cos(α)」は、第3の乗算器27にも入力される。
正弦算出器26は、積分器24が算出した位相αの正弦値の負値「−sin(α)」を算出し、第2の乗算器22に入力する。
The cosine calculator 25 calculates the cosine value cos (α) of the phase α calculated by the integrator 24 and inputs it to the first multiplier 21. The cosine value “cos (α)” is also input to the third multiplier 27.
The sine calculator 26 calculates the negative value “−sin (α)” of the sine value of the phase α calculated by the integrator 24, and inputs it to the second multiplier 22.

第3の乗算器27は、行列乗算器23が生成した振幅θと、余弦算出器25が算出した余弦値cos(α)とを乗算することによって角度伝達誤差dest=θ×cos(α)を生成する。この角度伝達誤差destが、最終的に適応推定された角度伝達誤差となる。 The third multiplier 27 multiplies the amplitude θ 1 generated by the matrix multiplier 23 and the cosine value cos (α) calculated by the cosine calculator 25 to thereby give an angle transmission error d est = θ 1 × cos ( α) is generated. This angle transmission error d est is an angle transmission error that is finally adaptively estimated.

変更部17は、適応推定部16が生成した角度伝達誤差dest(t)に0より大きく1以下のパラメータcを乗算することによって、角度伝達誤差を変更する。この角度伝達誤差の変更は、角度伝達誤差の補償の程度を調整するために行われる。したがって、このパラメータの値cは、ユーザ等が任意に設定できるように変更可能になっていることが好適である。なお、そのパラメータcは、0より大きく1未満のパラメータであってもよく、0以上、1以下のパラメータであってもよい。なお、パラメータcが1を含む場合には、この変更部17による変更は、恒等変換を含むことになる。変更部17による変更後の角度伝達誤差が、フィードフォワード補償量として用いられることになる。 The changing unit 17 changes the angle transmission error by multiplying the angle transmission error d est (t) generated by the adaptive estimation unit 16 by a parameter c that is greater than 0 and equal to or less than 1. The change of the angle transmission error is performed in order to adjust the degree of compensation of the angle transmission error. Therefore, it is preferable that the value c of this parameter can be changed so that the user can arbitrarily set it. The parameter c may be a parameter greater than 0 and less than 1, or a parameter greater than or equal to 0 and less than or equal to 1. When the parameter c includes 1, the change by the change unit 17 includes identity conversion. The angle transmission error after the change by the changing unit 17 is used as the feedforward compensation amount.

誤差補償部18は、適応推定部16が生成し、変更部17によって変更された角度伝達誤差c×dest(t)を用いて、電流指令から減速機の角度伝達誤差成分を補償した電流指令を生成する。これにより、フィードフォワード的に角度伝達誤差を補償することができる。ここで、角度伝達誤差成分を補償するとは、その補償後の電流指令に応じたトルク指令によってモータが回転し、その回転が角度伝達誤差を有する減速機を介してアームに伝えられることによって、結果として、その減速機の角度伝達誤差が相殺されるようにすることである。したがって、この角度伝達誤差成分の補償された電流指令を用いることによって、角度伝達誤差に起因するマニピュレータ2の先端の振動がなくなるか、または低減されることになる。誤差補償部18は、例えば、電流指令生成部13が生成した電流指定に対して、変更後の角度伝達誤差を加算する加算器や、変更後の角度伝達誤差を減算する減算器であってもよい。本実施の形態では、誤差補償部18が加算器である場合について主に説明する。 The error compensator 18 uses the angle transmission error c × d est (t) generated by the adaptive estimator 16 and changed by the changing unit 17, and compensates for the angular transmission error component of the reduction gear from the current command. Is generated. Thereby, the angle transmission error can be compensated in a feed-forward manner. Here, the compensation of the angle transmission error component means that the motor is rotated by a torque command corresponding to the compensated current command, and the rotation is transmitted to the arm via the speed reducer having the angle transmission error. In other words, the angle transmission error of the speed reducer is canceled out. Therefore, by using the current command compensated for the angle transmission error component, the vibration of the tip of the manipulator 2 due to the angle transmission error is eliminated or reduced. The error compensator 18 may be, for example, an adder that adds the changed angle transmission error or a subtracter that subtracts the changed angle transmission error to the current designation generated by the current command generator 13. Good. In the present embodiment, the case where the error compensator 18 is an adder will be mainly described.

なお、図1では、マニピュレータ2に一のトルク指令を出力し、マニピュレータ2から一の現在位置や現在電流を受け取る場合について示しているが、これは説明の便宜のためであり、制御装置1は、マニピュレータ2が有する軸数、すなわちモータの数だけトルク指令を出力し、その数だけ現在位置や現在電流を受け取ってもよい。すなわち、制御装置1の処理は、モータごとに行われてもよい。   1 shows a case where one torque command is output to the manipulator 2 and one current position or current is received from the manipulator 2, but this is for convenience of explanation, and the control device 1 The torque command may be output by the number of axes of the manipulator 2, that is, the number of motors, and the current position and current may be received by that number. That is, the process of the control device 1 may be performed for each motor.

ここで、適応推定部16による適応推定の処理について説明する。
マニピュレータの1軸モデルとして、次の伝達関数P(s)を考える。
ω(s)=P(s)τ(s)
ここで、ω(s)は、モータの回転角速度ω(t)のラプラス変換であり、τ(s)は、入力トルクτ(t)のラプラス変換であり、伝達関数P(s)は、次式のようになる。なお、この伝達関数P(s)は、マニピュレータの1軸モデルの伝達関数として、すでに知られているものである。

Figure 2014136260
Here, the adaptive estimation processing by the adaptive estimation unit 16 will be described.
Consider the following transfer function P (s) as a uniaxial model of a manipulator.
ω M (s) = P (s) τ (s)
Here, ω M (s) is the Laplace transform of the rotational angular velocity ω M (t) of the motor, τ (s) is the Laplace transform of the input torque τ (t), and the transfer function P (s) is The following equation is obtained. This transfer function P (s) is already known as a transfer function of a uniaxial model of a manipulator.
Figure 2014136260

なお、標準的なロボット制御において、トルクτ及び角速度ωは取得可能な量であり、上記式中の各パラメータは次の通りであり、既知である。
:負荷慣性モーメント
:負荷側換算のモータの慣性モーメント
N:減速比
:ダンピング係数(減衰比)
:ばね定数
In standard robot control, torque τ and angular velocity ω M are acquirable quantities, and each parameter in the above formula is as follows.
J L : Load inertia moment J M : Load inertia moment of motor N: Reduction ratio D 0 : Damping coefficient (damping ratio)
K 0 : Spring constant

上記式は、減速機の剛性を考慮した2慣性モデルであるが、角度伝達誤差を考慮していない。角度伝達誤差を考慮すると、制御対象のモデルは次式のようになる。
ω(s)=P(s)(τ(s)−d(s))
ここで、d(s)は、角度伝達誤差d(t)のラプラス変換である。本実施の形態では、その角度伝達誤差d(t)が、周期的な関数である三角関数で示されるものとする。すなわち、角度伝達誤差d(t)は、次式のように示されるものとする。

Figure 2014136260
The above equation is a two-inertia model that takes into account the rigidity of the speed reducer, but does not consider the angle transmission error. When the angle transmission error is taken into consideration, the model to be controlled is as follows.
ω M (s) = P (s) (τ (s) −d (s))
Here, d (s) is Laplace transform of the angle transmission error d (t). In the present embodiment, the angular transmission error d (t) is represented by a trigonometric function that is a periodic function. That is, it is assumed that the angle transmission error d (t) is expressed by the following equation.
Figure 2014136260

ただし、θは、三角関数の振幅であり、ωは、周波数であり、α(0)は、位相であり、それらが未知のパラメータである。なお、その周波数は、厳密には角周波数である。また、α(0)を位相と呼ぶこともあり、α(t)=ω×t+α(0)を位相と呼ぶこともある。 Where θ d is the amplitude of the trigonometric function, ω d is the frequency, α d (0) is the phase, and these are unknown parameters. The frequency is strictly an angular frequency. In addition, α d (0) may be referred to as a phase, and α d (t) = ω d × t + α d (0) may be referred to as a phase.

以降の説明では、角度伝達誤差d(t)の影響で速度ωに現れる振動を打ち消すように入力トルクτ(t)に関する補償を行う方法について、図2を用いて説明する。図2から分かるように、角度伝達誤差d(t)を適応的に推定するために必要な外部入力は、モータの角速度ω(t)のみである。したがって、適応推定部16では、外界センサを用いないで、角度伝達誤差を推定することが可能となる。 The following description of a method for compensating for the input torque tau (t) to cancel the vibrations appearing on the velocity omega M under the influence of the angular transmission error d (t), will be described with reference to FIG. As can be seen from FIG. 2, the only external input required to adaptively estimate the angular transmission error d (t) is the angular velocity ω M (t) of the motor. Therefore, the adaptive estimation unit 16 can estimate the angle transmission error without using an external sensor.

図2において、角度伝達誤差の推定値dest(t)は、次式で示されるようになる。

Figure 2014136260
ここで、θ(t)、θ(t)、α(t)は、それぞれ角度伝達誤差d(t)の振幅θ、周波数ω、位相α(t)=ω×t+α(0)の推定値である。これらの推定値が真値に近づいていくことにより、角度伝達誤差の推定値dest(t)が、より正確な値となる。したがって、そのdest(t)を用いて、入力トルクτ(t)に対する角度伝達誤差の影響を打ち消すことによって、角度伝達誤差の補償を実現することができる。そのため、ロボットの個体ごと、または減速機ごとのパラメータ調整を行うことなく、適応推定処理のみによって、角度伝達誤差を補償することができるようになる。 In FIG. 2, the estimated value d est (t) of the angle transmission error is represented by the following equation.
Figure 2014136260
Here, θ 1 (t), θ 2 (t), and α (t) are the amplitude θ d , frequency ω d , and phase α d (t) = ω d × t + α d of the angle transmission error d (t), respectively. This is an estimated value of (0). As these estimated values approach the true value, the estimated value d est (t) of the angle transmission error becomes a more accurate value. Therefore, compensation of the angle transmission error can be realized by using d dest (t) to cancel the influence of the angle transmission error on the input torque τ (t). Therefore, the angle transmission error can be compensated only by the adaptive estimation process without adjusting the parameters for each robot or each speed reducer.

図2で示される適応推定部16におけるパラメータの更新処理は、次のように行われる。まず、システムの出力である角速度ω(t)を用いて、第1及び第2の乗算器21,22において、次式のように内部信号y(t)、y(t)を生成する。
(t)=ω(t)×cos(α(t))
(t)=−ω(t)×sin(α(t))
The parameter update process in the adaptive estimation unit 16 shown in FIG. 2 is performed as follows. First, using the angular velocity ω M (t) that is the output of the system, the first and second multipliers 21 and 22 generate internal signals y 1 (t) and y 2 (t) as follows: To do.
y 1 (t) = ω M (t) × cos (α (t))
y 2 (t) = − ω M (t) × sin (α (t))

その後、行列乗算器23において、y(t)、y(t)を各要素とするベクトル(y(t) y(t))に、伝達関数行列C(s)に応じた演算を行うことによって、振幅θ及び周波数θを各要素とするベクトル(θ(t) θ(t))を生成する。すなわち、次式のようになる。
(θ(t) θ(t))=C(s)×(y(t) y(t))
Thereafter, in the matrix multiplier 23, a vector (y 1 (t) y 2 (t)) t having y 1 (t) and y 2 (t) as elements is set in accordance with the transfer function matrix C (s). By performing the calculation, a vector (θ 1 (t) θ 2 (t)) t having the amplitude θ 1 and the frequency θ 2 as elements is generated. That is, the following equation is obtained.
1 (t) θ 2 (t)) t = C (s) × (y 1 (t) y 2 (t)) t

ただし、C(s)は、時間軸上のものではなく、ラプラス変換されたものであるため、(y(t) y(t))の各要素に対しては、伝達関数行列C(s)に応じた演算、すなわち伝達関数行列C(s)の各要素に応じた演算が行われることになる。その演算は、例えば、積分であってもよく、フィルタリングであってもよく、その他の演算であってもよい。例えば、C(s)のある要素に「1/s」が含まれる場合には、その要素に応じた演算として、積分を行ってもよい。その伝達関数行列C(s)は、次式によって示される。
C(s)=C(s)G−1(θ
ここで、C(s)、G(θ)は、次のように示される。

Figure 2014136260
However, since C (s) is not Laplace-transformed but is Laplace transformed, for each element of (y 1 (t) y 2 (t)) t , the transfer function matrix C An operation according to (s), that is, an operation according to each element of the transfer function matrix C (s) is performed. The calculation may be, for example, integration, filtering, or other calculation. For example, when “1 / s” is included in an element of C (s), integration may be performed as an operation corresponding to the element. The transfer function matrix C (s) is expressed by the following equation.
C (s) = C 1 (s) G −12 )
Here, C 1 (s) and G (θ 2 ) are expressed as follows.
Figure 2014136260

なお、g,g,a,bは、それぞれ0より大きい実数の設計パラメータであり、適応推定部16を含む閉ループ系の極を望ましい位置に配置するように設計されることが好適である。すなわち、それらの設計パラメータは、適応推定の収束が早くなるように設計されることが好適である。また、P(s)は、モータの軸に関する前述の伝達関数であり、P(θ)、P(θ)等については、次の通りである。次式において、Re[]、及びIm[]は、それぞれ複素関数の実部と虚部とを示すものである。また、P(θ)、P(θ)で用いるθについては、一回前の演算で算出されたθを用いるものとする。
(θ)=Re[P(jθ)]
(θ)=Im[P(jθ)]
Note that g 1 , g 2 , a, and b are real design parameters larger than 0, respectively, and are preferably designed so that the poles of the closed-loop system including the adaptive estimation unit 16 are arranged at desired positions. . That is, it is preferable that these design parameters are designed so that the convergence of the adaptive estimation becomes faster. Also, P (s) is the transfer function of the above with respect to the axis of the motor, for P R (θ 2), P I (θ 2) or the like, is as follows. In the following equation, Re [] and Im [] indicate the real part and imaginary part of the complex function, respectively. Also, P R2), for use theta 2 is at P I2), and those using theta 2 which are calculated at the previous one.
P R2 ) = Re [P (jθ 2 )]
P I2 ) = Im [P (jθ 2 )]

なお、ここでは、ベクトル(y(t) y(t))と伝達関数行列C(s)とを掛け合わせたのに等しい演算を行う場合について説明したが、結果が同じになるのであれば、y(t)やy(t)、θ(t)やθ(t)をベクトルの各要素として取り扱わなくてもよく、伝達関数行列C(s)を、行列として取り扱わなくてもよいことは言うまでもない。 Here, a case has been described in which an operation that is equal to the multiplication of the vector (y 1 (t) y 2 (t)) t and the transfer function matrix C (s) is performed, but the result is the same. If present, y 1 (t), y 2 (t), θ 1 (t), and θ 2 (t) may not be treated as vector elements, and the transfer function matrix C (s) is treated as a matrix. It goes without saying that it is not necessary.

位相の推定値α(t)は、θ(t)を積分器24で積分することによって得られる。また、余弦算出器25において、その位相の推定値α(t)の余弦値cos(α(t))が算出され、正弦算出器26において、その位相の推定値α(t)の正弦値の負値−sin(α(t))が算出され、それらを用いて内部信号y(t)、y(t)が更新される。最後に、第3の乗算器27において、余弦算出器25で算出された余弦値cos(α(t))と、行列乗算器23で得られた振幅θとが乗算されることによって、角度伝達誤差の推定値
est(t)=θ×cos(α(t))
が算出され、変更部17に渡される。このようにして、適応推定部16では、三角関数で示される角度伝達誤差d(t)の振幅θ(t)、周期θ(t)、位相α(t)がそれぞれ適応的に推定されることになる。
The estimated value α (t) of the phase is obtained by integrating θ 2 (t) with the integrator 24. The cosine calculator 25 calculates a cosine value cos (α (t)) of the estimated value α (t) of the phase, and the sine calculator 26 calculates the sine value of the estimated value α (t) of the phase. A negative value −sin (α (t)) is calculated, and the internal signals y 1 (t) and y 2 (t) are updated using them. Finally, the third multiplier 27 multiplies the cosine value cos (α (t)) calculated by the cosine calculator 25 and the amplitude θ 1 obtained by the matrix multiplier 23 to thereby obtain the angle. Estimated value of transmission error d est (t) = θ 1 × cos (α (t))
Is calculated and passed to the changing unit 17. In this way, the adaptive estimation unit 16 adaptively estimates the amplitude θ 1 (t), the period θ 2 (t), and the phase α (t) of the angle transmission error d (t) indicated by the trigonometric function. Will be.

ここで、適応推定の処理の詳細については、例えば、次の文献に記載されているため、そのような文献を参照されたい。
文献:M.Bodson、S.Douglas、「Adaptive Algorithms for the Rejection of Sinusoidal Disturbances with Unknown Frequency」、Automatica、vol.33、no.12、p.2213−2221,1997年
Here, the details of the adaptive estimation process are described in, for example, the following document, so refer to such document.
Literature: M.M. Bodson, S.M. Douglas, "Adaptive Algorithms for the Rejection of Sinoidal Distillates with Unknown Frequency", Automatica, vol. 33, no. 12, p. 2213-2221, 1997

なお、パラメータ推定値θ(t),θ(t),α(t)の初期値については、インプットギア歯数などの機械的な定数の情報を用い、また同定実験を行うことによって決定してもよい。厳密には減速機やロボットごとの個体差が存在するが、適応推定によって補償することができるため、個体ごとに同定実験を行う必要はない。 Note that the initial values of the parameter estimated values θ 1 (t), θ 2 (t), and α (t) are determined by using information on mechanical constants such as the number of input gear teeth and performing an identification experiment. May be. Strictly speaking, there are individual differences for each reducer and robot, but since it can be compensated by adaptive estimation, it is not necessary to perform an identification experiment for each individual.

次に、制御装置1の動作について図3のフローチャートを用いて説明する。なお、このフローチャートでは、電流指令生成部13、速度算出部15、適応推定部16、変更部17、誤差補償部18の動作についてのみ説明する。   Next, operation | movement of the control apparatus 1 is demonstrated using the flowchart of FIG. In this flowchart, only operations of the current command generation unit 13, the speed calculation unit 15, the adaptive estimation unit 16, the change unit 17, and the error compensation unit 18 will be described.

(ステップS101)電流指令生成部13は、電流指令を生成するかどうか判断する。そして、電流指令を生成する場合には、ステップS102に進み、そうでない場合には、電流指令を生成すると判断するまでステップS101の処理を繰り返す。なお、電流指令生成部13は、例えば、あらかじめ決められた時間間隔ごとに、電流指令を生成すると判断してもよい。   (Step S101) The current command generator 13 determines whether to generate a current command. If a current command is generated, the process proceeds to step S102. If not, the process of step S101 is repeated until it is determined that a current command is generated. The current command generation unit 13 may determine to generate a current command, for example, at predetermined time intervals.

(ステップS102)速度算出部15は、モータの現在位置を用いて、そのモータの現在速度を算出する。   (Step S102) The speed calculation unit 15 calculates the current speed of the motor using the current position of the motor.

(ステップS103)電流指令生成部13は、速度算出部15が算出したモータの現在速度と、速度指令生成部12が生成した速度指令とを用いて、電流指令を生成する。   (Step S <b> 103) The current command generation unit 13 generates a current command using the current motor speed calculated by the speed calculation unit 15 and the speed command generated by the speed command generation unit 12.

(ステップS104)適応推定部16は、速度算出部15が算出したモータの現在速度を用いて、角度伝達誤差dest(t)を推定する。 (Step S104) The adaptive estimation unit 16 estimates the angle transmission error d est (t) using the current speed of the motor calculated by the speed calculation unit 15.

(ステップS105)変更部17は、あらかじめ設定されているパラメータ値cを、推定された角度伝達誤差dest(t)に掛けることによって、角度伝達誤差を変更する。 (Step S105) The changing unit 17 changes the angle transmission error by multiplying the parameter value c set in advance by the estimated angle transmission error d est (t).

(ステップS106)誤差補償部18は、電流指令生成部13が生成した電流指令と、変更部17によって変更された角度伝達誤差とを用いて、角度伝達誤差成分を補償した電流指令を生成する。そして、ステップS101に戻る。   (Step S106) The error compensator 18 generates a current command in which the angle transmission error component is compensated using the current command generated by the current command generator 13 and the angle transmission error changed by the changing unit 17. Then, the process returns to step S101.

なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図3のフローチャートでは、電流指令の生成と、その電流指令に対する角度伝達誤差の補償との処理のみを示しているが、速度指令の生成やトルク指令の生成等のその他の処理は、サーボコントローラ等の処理としてすでに公知であり、その詳細な説明を省略する。   In the flowchart of FIG. 3, the process ends when the power is turned off or the process is terminated. In the flowchart of FIG. 3, only the process of generating the current command and compensating for the angle transmission error with respect to the current command is shown, but other processes such as the generation of the speed command and the generation of the torque command are performed by the servo. Since it is already known as processing of the controller and the like, detailed description thereof is omitted.

以上のように、本実施の形態による制御装置1によれば、適応推定部16によって角度伝達誤差を適応的に推定し、その推定結果を用いることによって、角度伝達誤差を補償することができる。その結果、マニピュレータ2の先端を直線動作させる際に起こりうる周期的な振動を抑えることができ、より精度の高い軌跡制御を行うことができる。また、その適応推定において、ロボットごとや減速機ごとなどの実測が必要ないため、データ測定コストを低減することができるメリットもある。また、適応推定部16は、モータの角速度のみを用いて角度伝達誤差を推定するため、外界センサを用いる必要がないというメリットもある。また、複雑なモデルを用いていないため、角度伝達誤差の推定が容易となる。   As described above, according to the control device 1 according to the present embodiment, the angle transmission error can be compensated by adaptively estimating the angle transmission error by the adaptive estimation unit 16 and using the estimation result. As a result, it is possible to suppress periodic vibration that may occur when the tip of the manipulator 2 is linearly operated, and to perform more accurate trajectory control. In addition, since the adaptive estimation does not require actual measurement for each robot or each speed reducer, there is an advantage that the data measurement cost can be reduced. Further, since the adaptive estimation unit 16 estimates the angle transmission error using only the angular velocity of the motor, there is an advantage that it is not necessary to use an external sensor. Further, since a complicated model is not used, it is easy to estimate the angle transmission error.

なお、本実施の形態では、適応推定部16の構成として、図2に示されるものを一例として示したが、適応推定部16は、それに限定されるものではない。モータの角速度を用いて角度伝達誤差を適応的に推定することができるものであれば、他の構成であってもよい。   In the present embodiment, the configuration shown in FIG. 2 is shown as an example of the configuration of the adaptive estimation unit 16, but the adaptive estimation unit 16 is not limited thereto. Other configurations may be used as long as the angular transmission error can be adaptively estimated using the angular velocity of the motor.

また、本実施の形態では、制御装置1が変更部17を備える場合について説明したが、そうでなくてもよい。制御装置1は、変更部17を備えていなくてもよい。その場合には、誤差補償部18は、適応推定部16が推定した角度伝達誤差そのものを用いて、電流指令生成部13が生成した電流指令から減速機の角度伝達誤差成分を補償した電流指令を生成してもよい。   Moreover, although this Embodiment demonstrated the case where the control apparatus 1 was provided with the change part 17, it may not be so. The control device 1 may not include the changing unit 17. In that case, the error compensator 18 uses the angle transmission error itself estimated by the adaptive estimator 16 to generate a current command that compensates for the angular transmission error component of the reduction gear from the current command generated by the current command generator 13. It may be generated.

また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。   In the above embodiment, each process or each function may be realized by centralized processing by a single device or a single system, or may be distributedly processed by a plurality of devices or a plurality of systems. It may be realized by doing.

また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。   In the above embodiment, the information exchange between the components is performed by one component when, for example, the two components that exchange the information are physically different from each other. It may be performed by outputting information and receiving information by the other component, or when two components that exchange information are physically the same, one component May be performed by moving from the phase of the process corresponding to to the phase of the process corresponding to the other component.

また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス、設定値、パラメータ等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。   In the above embodiment, information related to processing executed by each component, for example, information received, acquired, selected, generated, transmitted, or received by each component In addition, information such as threshold values, mathematical formulas, addresses, setting values, parameters, and the like used by each component in processing may be temporarily or over a long period of time on a recording medium (not shown) even if not specified in the above description. It may be held. Further, the storage of information in the recording medium (not shown) may be performed by each component or a storage unit (not shown). Further, reading of information from the recording medium (not shown) may be performed by each component or a reading unit (not shown).

また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値、パラメータ等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。   Further, in the above embodiment, information used by each component, for example, information such as threshold values and addresses used by each component in processing, various setting values, parameters, etc. may be changed by the user However, even if it is not specified in the above description, the user may be able to change the information as appropriate, or it may not be. If the information can be changed by the user, the change is realized by, for example, a not-shown receiving unit that receives a change instruction from the user and a changing unit (not shown) that changes the information in accordance with the change instruction. May be. The change instruction received by the receiving unit (not shown) may be received from an input device, information received via a communication line, or information read from a predetermined recording medium, for example. .

また、上記実施の形態において、制御装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。   Moreover, in the said embodiment, when two or more components contained in the control apparatus 1 have a communication device, an input device, etc., two or more components may have a physically single device. Alternatively, it may have a separate device.

また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体に記録されたプログラムが読み出されることによって実行されてもよい。また、そのプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。   In the above embodiment, each component may be configured by dedicated hardware, or a component that can be realized by software may be realized by executing a program. For example, each component can be realized by a program execution unit such as a CPU reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory. At the time of execution, the program execution unit may execute the program while accessing the storage unit or the recording medium. The program may be executed by being downloaded from a server or the like, or may be executed by reading a program recorded on a predetermined recording medium. The program may be used as a program constituting a program product. Further, the computer that executes the program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.

また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。   Further, the present invention is not limited to the above-described embodiment, and various modifications are possible, and it goes without saying that these are also included in the scope of the present invention.

以上より、本発明による制御装置によれば、ロボット個体ごとの調整を必要とせず、外界センサを用いないで角度伝達誤差の補償を行うことができ、マニピュレータの制御装置として有用である。   As described above, the control device according to the present invention does not require adjustment for each robot, can compensate for the angle transmission error without using an external sensor, and is useful as a manipulator control device.

1 制御装置
2 マニピュレータ
11 位置指令生成部
12 速度指令生成部
13 電流指令生成部
14 トルク指令生成部
15 速度算出部
16 適応推定部
17 変更部
18 誤差補償部
21 第1の乗算器
22 第2の乗算器
23 行列乗算器
24 積分器
25 余弦算出器
26 正弦算出器
27 第3の乗算器
DESCRIPTION OF SYMBOLS 1 Control apparatus 2 Manipulator 11 Position command generation part 12 Speed command generation part 13 Current command generation part 14 Torque command generation part 15 Speed calculation part 16 Adaptive estimation part 17 Change part 18 Error compensation part 21 1st multiplier 22 2nd multiplier Multiplier 23 Matrix multiplier 24 Integrator 25 Cosine calculator 26 Sine calculator 27 Third multiplier

Claims (4)

減速機を介してモータによって駆動される関節によって連結された複数のアームを有するマニピュレータを制御する制御装置であって、
前記モータの現在位置と、当該モータの位置指令とを用いて速度指令を生成する速度指令生成部と、
前記モータの現在位置から、当該モータの現在速度を算出する速度算出部と、
前記速度算出部が算出した現在速度と、前記速度指令とを用いて電流指令を生成する電流指令生成部と、
前記速度算出部が算出した現在速度を用いて、前記減速機の角度伝達誤差を示す周期的な関数の周期・振幅・位相を適応的に推定することによって、当該角度伝達誤差を生成する適応推定部と、
前記適応推定部が生成した角度伝達誤差を用いて、前記電流指令から前記減速機の角度伝達誤差成分を補償した電流指令を生成する誤差補償部と、
前記モータの現在電流と、前記誤差補償部が生成した電流指令とを用いてトルク指令を生成し、前記モータに出力するトルク指令生成部と、を備えた制御装置。
A control device for controlling a manipulator having a plurality of arms connected by a joint driven by a motor via a speed reducer,
A speed command generation unit that generates a speed command using the current position of the motor and the position command of the motor;
A speed calculator that calculates the current speed of the motor from the current position of the motor;
A current command generation unit that generates a current command using the current speed calculated by the speed calculation unit and the speed command;
Adaptive estimation that generates the angular transmission error by adaptively estimating the period, amplitude, and phase of a periodic function indicating the angular transmission error of the speed reducer using the current speed calculated by the speed calculation unit And
An error compensation unit that generates a current command that compensates an angle transmission error component of the reduction gear from the current command using the angle transmission error generated by the adaptive estimation unit;
A control device comprising: a torque command generation unit that generates a torque command using the current current of the motor and the current command generated by the error compensation unit and outputs the torque command to the motor.
前記周期的な関数は、三角関数である、請求項1記載の制御装置。 The control device according to claim 1, wherein the periodic function is a trigonometric function. 前記適応推定部は、
前記モータの速度と、位相の余弦値とを乗算する第1の乗算器と、
前記モータの速度と、位相の正弦値の負値とを乗算する第2の乗算器と、
前記第1及び第2の乗算器の乗算結果を各要素に有するベクトルに、前記モータの軸に関する伝達関数に対応する伝達関数行列に応じた演算を行うことによって、前記振幅及び前記周波数を各要素に有するベクトルを生成する行列乗算器と、
前記行列乗算器が生成した周波数を積分した位相を算出する積分器と、
前記積分器が算出した位相の余弦値を算出し、前記第1の乗算器に入力する余弦算出器と、
前記積分器が算出した位相の正弦値の負値を算出し、前記第2の乗算器に入力する正弦算出器と、
前記行列乗算器が生成した振幅と、前記余弦算出器が算出した余弦値とを乗算することによって角度伝達誤差を生成する第3の乗算器と、を備えた、請求項2記載の制御装置。
The adaptive estimation unit includes:
A first multiplier for multiplying the speed of the motor by the cosine value of the phase;
A second multiplier that multiplies the speed of the motor by the negative value of the sine value of the phase;
By performing an operation according to a transfer function matrix corresponding to a transfer function relating to the motor axis, on the vector having the multiplication results of the first and second multipliers in each element, the amplitude and the frequency are changed to each element. A matrix multiplier for generating a vector having
An integrator for calculating a phase obtained by integrating the frequency generated by the matrix multiplier;
A cosine calculator for calculating a cosine value of the phase calculated by the integrator and inputting the cosine value to the first multiplier;
A sine calculator that calculates a negative value of the sine value of the phase calculated by the integrator and inputs the second value to the second multiplier;
The control device according to claim 2, further comprising: a third multiplier that generates an angle transmission error by multiplying the amplitude generated by the matrix multiplier and the cosine value calculated by the cosine calculator.
前記適応推定部が生成した角度伝達誤差に0より大きく1以下のパラメータを乗算することによって、前記角度伝達誤差を変更する変更部をさらに備え、
前記誤差補償部は、前記電流指令から、前記変更部による変更後の角度伝達誤差成分を補償した電流指令を生成する、請求項1から請求項3のいずれか記載の制御装置。
A change unit that changes the angle transmission error by multiplying the angle transmission error generated by the adaptive estimation unit by a parameter that is greater than 0 and less than or equal to 1;
4. The control device according to claim 1, wherein the error compensator generates a current command in which an angle transmission error component after the change by the changing unit is compensated from the current command. 5.
JP2013004255A 2013-01-15 2013-01-15 Control device Pending JP2014136260A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013004255A JP2014136260A (en) 2013-01-15 2013-01-15 Control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013004255A JP2014136260A (en) 2013-01-15 2013-01-15 Control device

Publications (1)

Publication Number Publication Date
JP2014136260A true JP2014136260A (en) 2014-07-28

Family

ID=51414087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013004255A Pending JP2014136260A (en) 2013-01-15 2013-01-15 Control device

Country Status (1)

Country Link
JP (1) JP2014136260A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018212307A1 (en) * 2017-05-18 2018-11-22 川崎重工業株式会社 Speed reducer angular transmission error identification system and speed reducer angular transmission error identification method
WO2018212305A1 (en) * 2017-05-18 2018-11-22 川崎重工業株式会社 Motor control system, method for controlling motor control system, and robot system
WO2018225689A1 (en) * 2017-06-05 2018-12-13 川崎重工業株式会社 Angular transmission error identifying system, angular transmission error identifying method, and robot system
WO2018235812A1 (en) * 2017-06-21 2018-12-27 川崎重工業株式会社 Robot system and method for controlling robot system
CN110597178A (en) * 2019-09-20 2019-12-20 广州市信息工程职业学校(广州市信息工程高级职业技术学校) Control method and device of spinning equipment
WO2020009237A1 (en) * 2018-07-06 2020-01-09 川崎重工業株式会社 Robot system and robot system control method
JP2020011367A (en) * 2018-07-06 2020-01-23 川崎重工業株式会社 Robot system and robot system control method
CN111590568A (en) * 2020-05-14 2020-08-28 平安科技(深圳)有限公司 Robot arm signal processing method and device, computer equipment and storage medium
JP2020188650A (en) * 2019-05-17 2020-11-19 三菱電機エンジニアリング株式会社 Conveyance control device
WO2021245884A1 (en) * 2020-06-04 2021-12-09 国立大学法人大阪大学 Actuator unit and link mechanism having same
WO2023222208A1 (en) * 2022-05-17 2023-11-23 Abb Schweiz Ag Reducing kinematic error

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018212307A1 (en) * 2017-05-18 2018-11-22 川崎重工業株式会社 Speed reducer angular transmission error identification system and speed reducer angular transmission error identification method
JP7117827B2 (en) 2017-05-18 2022-08-15 川崎重工業株式会社 MOTOR CONTROL SYSTEM, CONTROL METHOD FOR MOTOR CONTROL SYSTEM, AND ROBOT SYSTEM
JP2018192578A (en) * 2017-05-18 2018-12-06 川崎重工業株式会社 Speed reducer angular transmission error identification system and speed reducer angular transmission error identification method
JP2018196266A (en) * 2017-05-18 2018-12-06 川崎重工業株式会社 Motor control system, control method for motor control system, and robot system
CN110651427B (en) * 2017-05-18 2023-08-29 川崎重工业株式会社 Motor control system, control method of motor control system, and robot system
WO2018212305A1 (en) * 2017-05-18 2018-11-22 川崎重工業株式会社 Motor control system, method for controlling motor control system, and robot system
EP3627693A4 (en) * 2017-05-18 2021-01-27 Kawasaki Jukogyo Kabushiki Kaisha Motor control system, method for controlling motor control system, and robot system
CN110651427A (en) * 2017-05-18 2020-01-03 川崎重工业株式会社 Motor control system, control method of motor control system, and robot system
US10919150B2 (en) 2017-05-18 2021-02-16 Kawasaki Jukogyo Kabushiki Kaisha Motor control system, control method for motor control system, and robot system
JP2018202554A (en) * 2017-06-05 2018-12-27 川崎重工業株式会社 Angular transmission error identification system, angular transmission error identification method and robot system
WO2018225689A1 (en) * 2017-06-05 2018-12-13 川崎重工業株式会社 Angular transmission error identifying system, angular transmission error identifying method, and robot system
CN110709213B (en) * 2017-06-05 2022-06-21 川崎重工业株式会社 Angle transfer error identification system, angle transfer error identification method, and robot system
CN110709213A (en) * 2017-06-05 2020-01-17 川崎重工业株式会社 Angle transfer error identification system, angle transfer error identification method, and robot system
WO2018235812A1 (en) * 2017-06-21 2018-12-27 川崎重工業株式会社 Robot system and method for controlling robot system
US11559891B2 (en) 2017-06-21 2023-01-24 Kawasaki Jukogyo Kabushiki Kaisha Robot system and method for controlling robot system
JP2019005821A (en) * 2017-06-21 2019-01-17 川崎重工業株式会社 Robot system and control method of robot system
JP7121599B2 (en) 2018-07-06 2022-08-18 川崎重工業株式会社 ROBOT SYSTEM AND ROBOT SYSTEM CONTROL METHOD
CN112584989A (en) * 2018-07-06 2021-03-30 川崎重工业株式会社 Robot system and control method for robot system
JP2020011367A (en) * 2018-07-06 2020-01-23 川崎重工業株式会社 Robot system and robot system control method
WO2020009237A1 (en) * 2018-07-06 2020-01-09 川崎重工業株式会社 Robot system and robot system control method
CN112584989B (en) * 2018-07-06 2023-08-18 川崎重工业株式会社 Robot system and control method for robot system
JP2020188650A (en) * 2019-05-17 2020-11-19 三菱電機エンジニアリング株式会社 Conveyance control device
JP7272860B2 (en) 2019-05-17 2023-05-12 三菱電機エンジニアリング株式会社 Conveyor control device
CN110597178A (en) * 2019-09-20 2019-12-20 广州市信息工程职业学校(广州市信息工程高级职业技术学校) Control method and device of spinning equipment
CN111590568A (en) * 2020-05-14 2020-08-28 平安科技(深圳)有限公司 Robot arm signal processing method and device, computer equipment and storage medium
CN111590568B (en) * 2020-05-14 2023-05-16 平安科技(深圳)有限公司 Method and device for processing signals of robot arm, computer equipment and storage medium
WO2021245884A1 (en) * 2020-06-04 2021-12-09 国立大学法人大阪大学 Actuator unit and link mechanism having same
WO2023222208A1 (en) * 2022-05-17 2023-11-23 Abb Schweiz Ag Reducing kinematic error

Similar Documents

Publication Publication Date Title
JP2014136260A (en) Control device
CN110799309B (en) Vibration control of a system with configuration dependent dynamics
RU2487796C2 (en) Controlling movement of robot resilient structures
JP5209810B1 (en) Motor control device with function to estimate inertia, friction coefficient and spring constant at the same time
Zhu et al. Velocity estimation by using position and acceleration sensors
US10481566B2 (en) Machine learning device, servo control device, servo control system and machine learning method
CN109799701B (en) Industrial robot vibration suppression method
JP5269158B2 (en) Control method and control apparatus
JP2018151899A (en) Control device, control program, and control system
JP2018196266A (en) Motor control system, control method for motor control system, and robot system
CN111033396A (en) Method for setting control parameters for model predictive control
JP6245858B2 (en) Control device
CN110955192B (en) Servo control device, robot, and servo control method
JP5441944B2 (en) Motor control device
JP5283804B1 (en) Servo control device
WO2018209860A1 (en) Decoupling control method and device, robot and storage medium
JP2006293624A (en) Multiaxis controller
JP3936242B2 (en) Gain setting method, controller validity verification method and robot control method in servo motor controller
JP2005275588A (en) Motor controller control parameter sensitivity analyzing device
JP7120821B2 (en) Control device, control method and program
JP2014117787A (en) Controller
JPH07121239A (en) Control method for robot device
EP3598248B1 (en) Control system
JPWO2018073873A1 (en) Servo control device
JP4038659B2 (en) Servo control device