JP2024001791A - Motor controller and motor control method - Google Patents

Motor controller and motor control method Download PDF

Info

Publication number
JP2024001791A
JP2024001791A JP2022100676A JP2022100676A JP2024001791A JP 2024001791 A JP2024001791 A JP 2024001791A JP 2022100676 A JP2022100676 A JP 2022100676A JP 2022100676 A JP2022100676 A JP 2022100676A JP 2024001791 A JP2024001791 A JP 2024001791A
Authority
JP
Japan
Prior art keywords
command value
axis current
axis
value
motor
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
JP2022100676A
Other languages
Japanese (ja)
Inventor
良祐 山本
Ryosuke Yamamoto
紘義 上田
Hiroyoshi Ueda
敦実 橋本
Atsusane Hashimoto
正義 岩谷
Masayoshi Iwaya
広之 中田
Hiroyuki Nakada
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2022100676A priority Critical patent/JP2024001791A/en
Publication of JP2024001791A publication Critical patent/JP2024001791A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Of Ac Motors In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently perform operation of high speed high load of a plurality of motors in a robot mounting the respective motors.
SOLUTION: A motor controller includes: respective axis current calculation parts which calculate q axis current command value and d axis current command value on the basis of speed command value notified from outside; a voltage command value calculation part calculating a plurality of voltage command values to be value of voltage applied to the plurality of motors on the basis of the q axis current command value and the d axis current command value; an acceleration command value calculation part calculating acceleration command value on the basis of the speed command value; and a d axis current command value limiting part which outputs d axis current command value to be first current limit value or below in a power running state and outputs d axis current command value to be second current limit value or below in a regenerating state on the basis of the speed command value and the acceleration speed command value. A regeneration determination part determines either the power running state or the regenerating state on the basis of a motor state of highest load of the plurality of motors.
SELECTED DRAWING: Figure 2
COPYRIGHT: (C)2024,JPO&INPIT

Description

本開示は、電流ベクトル制御を用いるモータ制御装置およびモータ制御方法に関する。 The present disclosure relates to a motor control device and a motor control method using current vector control.

特許文献1は、q軸電流指令値およびd軸電流指令値に基づいてモータに印加する電圧の電圧指令値を演算する電圧指令値演算部と、電圧指令値に基づいてモータに駆動電力を出力する駆動回路と、弱め界磁制御により電圧指令値を駆動回路に印加可能な最大電圧以下に制限するd軸電流指令値を演算するd軸電流指令値演算部と、d軸電流指令値演算部が演算したd軸電流指令値を制限するd軸電流指令値制限部と、d軸電流指令値制限部によるd軸電流指令値の制限により電圧指令値が最大電圧を超えないようにq軸電流指令値を制限するq軸電流指令値制限部と、を備える、モータ制御装置を開示している。 Patent Document 1 discloses a voltage command value calculation unit that calculates a voltage command value of a voltage to be applied to a motor based on a q-axis current command value and a d-axis current command value, and a voltage command value calculation unit that outputs driving power to the motor based on the voltage command value. a d-axis current command value calculation section that calculates a d-axis current command value that limits the voltage command value to below the maximum voltage that can be applied to the drive circuit by field weakening control; The d-axis current command value limiter limits the d-axis current command value, and the d-axis current command value limiter limits the d-axis current command value so that the voltage command value does not exceed the maximum voltage. A motor control device is disclosed that includes a q-axis current command value limiting section that limits the current command value.

特許文献2は、同期モータを流れる電流をdq軸変換した値に基づいて同期モータに流すべき電流を決定して同期モータを制御する同期モータの制御方法を開示している。この制御方法は、同期モータの端子間電圧が予め定められる最大許容電圧に達するまでは同期モータの出力トルクを示すトルク指令値に応じて、同期モータのq軸電流を示すq軸電流指令値を決定し、同期モータのd軸電流を示すd軸電流指令値をゼロとする。また、この制御方法は、同期モータの端子間電圧が予め定められる最大許容電圧に達した場合にはトルク指令値に応じてq軸電流値を決定するとともに、同期モータの回転速度とトルク指令値とに基づいてd軸電流指令値を決定する。 Patent Document 2 discloses a synchronous motor control method that controls the synchronous motor by determining a current to be passed through the synchronous motor based on a value obtained by converting the current flowing through the synchronous motor into dq axes. In this control method, the q-axis current command value, which indicates the synchronous motor's q-axis current, is set according to the torque command value, which indicates the output torque of the synchronous motor, until the voltage between the terminals of the synchronous motor reaches a predetermined maximum allowable voltage. The d-axis current command value indicating the d-axis current of the synchronous motor is set to zero. In addition, this control method determines the q-axis current value according to the torque command value when the voltage between the terminals of the synchronous motor reaches a predetermined maximum allowable voltage, and also determines the q-axis current value according to the torque command value. The d-axis current command value is determined based on the following.

国際公開第2020/095479号International Publication No. 2020/095479 特開2006-158000号公報Japanese Patent Application Publication No. 2006-158000

本開示は、複数のモータを搭載するロボットにおいて各モータの高速高負荷な動作を効率的に実現するモータ制御装置およびモータ制御方法を提供することを目的とする。 An object of the present disclosure is to provide a motor control device and a motor control method that efficiently realize high-speed, high-load operation of each motor in a robot equipped with a plurality of motors.

本開示は、外部から通知される速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算する各軸電流演算部と、前記q軸電流指令値および前記d軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算する電圧指令値演算部と、前記複数の電圧指令値に基づいて、前記複数のモータに複数の駆動電力をそれぞれ出力する駆動回路と、前記速度指令値に基づいて、加速度指令値を演算する加速度指令値演算部と、前記速度指令値および前記加速度指令値に基づいて、力行状態または回生状態のいずれかを判定する回生判定部と、前記力行状態における前記d軸電流指令値の電流制限値である第1電流制限値と、前記回生状態における前記d軸電流指令値の電流制限値である第2電流制限値と、を記憶する電流制限値記憶部と、前記力行状態において前記第1電流制限値以下となる前記d軸電流指令値を出力し、前記回生状態において前記第2電流制限値以下となる前記d軸電流指令値を出力するd軸電流指令値制限部と、を備え、前記回生判定部は、前記複数のモータのうち最も負荷が高いモータの状態に基づいて、前記力行状態または前記回生状態のいずれかを判定する、モータ制御装置を提供する。 The present disclosure provides an axis current calculation unit that calculates a q-axis current command value and a d-axis current command value based on a speed command value notified from the outside; a voltage command value calculation unit that calculates a plurality of voltage command values, which are voltage values to be applied to each of the plurality of motors, based on the voltage command values; a drive circuit that outputs the respective outputs, an acceleration command value calculation section that calculates an acceleration command value based on the speed command value, and a power running state or a regeneration state based on the speed command value and the acceleration command value. a regeneration determination unit that makes a determination; a first current limit value that is a current limit value of the d-axis current command value in the power running state; and a second current limit value that is a current limit value of the d-axis current command value in the regeneration state. a current limit value storage unit that stores a current limit value, and outputs the d-axis current command value that is equal to or less than the first current limit value in the power running state, and the current command value that is equal to or less than the second current limit value in the regenerative state; a d-axis current command value limiting section that outputs a d-axis current command value, and the regeneration determining section determines whether the motor is in the power running state or the regeneration state based on the state of the motor with the highest load among the plurality of motors. Provided is a motor control device that determines either of the following.

また、本開示は、外部から通知される速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算するステップと、前記速度指令値に基づいて、加速度指令値を演算するステップと、前記速度指令値および前記加速度指令値に基づいて、力行状態または回生状態のいずれかを判定するステップと、前記力行状態において前記d軸電流指令値の電流制限値である第1電流制限値以下となる前記d軸電流指令値を出力し、前記回生状態において前記d軸電流指令値の電流制限値である第2電流制限値以下となる前記d軸電流指令値を出力するステップと、前記q軸電流指令値および前記d軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算するステップと、前記複数の電圧指令値に基づいて、前記複数のモータに複数の駆動電力をそれぞれ出力するステップと、を有し、前記力行状態または前記回生状態のいずれかの判定は、前記複数のモータのうち最も負荷が高いモータの状態に基づいて実行される、モータ制御方法を提供する。 The present disclosure also includes a step of calculating a q-axis current command value and a d-axis current command value based on a speed command value notified from the outside, and a step of calculating an acceleration command value based on the speed command value. , determining either a power running state or a regeneration state based on the speed command value and the acceleration command value, and a first current limit value that is a current limit value of the d-axis current command value or less in the power running state. outputting the d-axis current command value that is equal to or less than a second current limit value that is a current limit value of the d-axis current command value in the regenerative state; a step of calculating a plurality of voltage command values, which are voltage values to be applied to each of the plurality of motors, based on the axis current command value and the d-axis current command value; outputting a plurality of driving powers to each of the motors, and the determination of either the power running state or the regeneration state is performed based on the state of the motor with the highest load among the plurality of motors. A motor control method is provided.

本開示によれば、複数のモータを搭載するロボットにおいて各モータの高速高負荷な動作を効率的に実現できる。 According to the present disclosure, in a robot equipped with a plurality of motors, high-speed, high-load operation of each motor can be efficiently realized.

本実施の形態に係る溶接ロボットシステムのシステム構成例を示す概略図Schematic diagram showing a system configuration example of a welding robot system according to the present embodiment 1つのモータに対応するロボット制御装置の1軸分構成例を示すブロック図Block diagram showing a configuration example for one axis of a robot control device corresponding to one motor PWMインバータ回路の詳細な構成例を示すブロック図Block diagram showing a detailed configuration example of a PWM inverter circuit 電流ベクトル制御部の詳細な構成例を示すブロック図Block diagram showing a detailed configuration example of the current vector control section 1軸分の制御部の詳細な構成例を示すブロック図Block diagram showing a detailed configuration example of the control unit for one axis 力行状態および回生状態におけるモータ速度の時間変化の概略を示す図Diagram showing an outline of changes in motor speed over time in power running state and regeneration state 速度指令および加速度指令の時間変化の一例を示す図Diagram showing an example of time change of speed command and acceleration command 本実施の形態に係るロボット制御装置のd軸電流指令値の電流制限値を決定する動作手順を示すフローチャートFlowchart showing the operation procedure for determining the current limit value of the d-axis current command value of the robot control device according to the present embodiment

(本開示に至る経緯)
一般に、永久磁石同期方式の電動機(モータ)に流す電流を制御する方法として、モータの電流をトルクに寄与するq軸電流とこのq軸に直交するd軸の成分(d軸電流)とに分離して制御するベクトル制御が用いられる。ベクトル制御を行うベクトル制御部は、外部からの指令を受けて、モータに電力を供給するモータ駆動部への指令電圧を計算する。このようなベクトル制御において、外部からの指令の値が大きくなった場合等、この指令電圧がモータ駆動部の供給可能電圧を上回る現象がある。この現象を電圧飽和という。電圧飽和は、モータの回転速度が大きいほど生じやすい。これは、モータ回転中に生じる誘起電圧が回転速度に比例して上昇し、この上昇を供給電圧で補うためにモータの端子間電圧も同様に上昇するためである。また、負荷が大きい場合あるいは電源電圧が低い場合も、供給電圧の余裕が小さくなるため、電圧飽和が生じやすくなる。
(Circumstances leading to this disclosure)
Generally, as a method of controlling the current flowing in a permanent magnet synchronous motor, the motor current is separated into a q-axis current that contributes to torque and a d-axis component (d-axis current) that is perpendicular to the q-axis. Vector control is used. A vector control unit that performs vector control receives an external command and calculates a command voltage to a motor drive unit that supplies electric power to the motor. In such vector control, there is a phenomenon in which the command voltage exceeds the voltage that can be supplied by the motor drive unit, such as when the value of an external command becomes large. This phenomenon is called voltage saturation. Voltage saturation occurs more easily as the rotational speed of the motor increases. This is because the induced voltage generated during motor rotation increases in proportion to the rotation speed, and in order to compensate for this increase with the supply voltage, the voltage between the terminals of the motor also increases. Furthermore, when the load is large or the power supply voltage is low, the supply voltage margin becomes small, making voltage saturation more likely to occur.

電圧飽和状態になると、力行動作時はq軸電流を増やせなくなり、トルクが低下したり電流制御器の積分項が飽和(ワインドアップ)したりして静特性あるいは動特性が劣化する。また、回生動作時には、力行動作時に比べてモータの負荷が軽くなるため、より少ない電流で駆動することが可能である。回生動作時では電源電圧側にエネルギーが逆流することにより電源回路に搭載されている電解コンデンサの電圧値が通常時に比べて高くなる。電解コンデンサの電圧値は予め定められている許容値を超えてしまうと壊れるため、回生動作時には、電解コンデンサに蓄積された電力の放電あるいはそのエネルギーを別の用途に活用(例えば他の回路部品への電力供給、抵抗での熱消費)することにより、電解コンデンサ(言い換えると、電源回路)の破壊を防ぐようにしている。このため、電圧飽和を抑制する手段として、負のd軸電流を流すことによって永久磁石による磁束を減磁し、誘起電圧の増加を抑制する弱め界磁制御が用いられる。 When the voltage is saturated, the q-axis current cannot be increased during powering operation, the torque decreases, the integral term of the current controller becomes saturated (windup), and the static or dynamic characteristics deteriorate. Furthermore, during regenerative operation, the load on the motor is lighter than during power operation, so it is possible to drive with less current. During regenerative operation, energy flows backward to the power supply voltage side, so that the voltage value of the electrolytic capacitor installed in the power supply circuit becomes higher than in normal times. If the voltage value of an electrolytic capacitor exceeds a predetermined tolerance, it will break, so during regenerative operation, the power stored in the electrolytic capacitor can be discharged or the energy can be used for other purposes (for example, to other circuit components). power supply and heat dissipation in the resistor) to prevent damage to the electrolytic capacitor (in other words, the power supply circuit). Therefore, as a means for suppressing voltage saturation, field weakening control is used to demagnetize the magnetic flux caused by the permanent magnet by flowing a negative d-axis current to suppress an increase in the induced voltage.

特許文献1では、弱め界磁制御によりモータに印加する電圧の電圧指令値を駆動回路に印加可能な最大電圧以下に制限するためのd軸電流指令値の制限によりq軸電流指令値も制限する構成となっている。このため、モータを高速、高負荷に動作させることの実現が困難となるという課題があった。 Patent Document 1 discloses a configuration in which the q-axis current command value is also limited by limiting the d-axis current command value in order to limit the voltage command value of the voltage applied to the motor to below the maximum voltage that can be applied to the drive circuit by field weakening control. It has become. Therefore, there has been a problem in that it is difficult to operate the motor at high speed and high load.

また、特許文献2では、同期モータの端子間電圧が最大許容電圧に達してモータの回転速度が規定回転速度を超える速度指令値が与えられた場合には、回転速度とトルク指令値とに基づいて、同期モータに流すd軸電流のd軸電流指令値が決定される。このため、同期モータの端子間電圧が最大許容電圧に達するまでの加速中ではd軸電流指令値をゼロとすることで、誘起電圧の増加に拘わらず所望の出力トルクが得られる。しかしながら、加速終了から一定速での動作そして減速期間では、d軸電流指令値がトルク指令値に比例するように演算されるため、d軸電流を流すことによる補償量が低下してしまい、モータを高速、高負荷に動作させることの実現が困難となるという課題があった。 Further, in Patent Document 2, when the voltage between the terminals of the synchronous motor reaches the maximum allowable voltage and a speed command value is given that causes the motor rotation speed to exceed the specified rotation speed, the rotation speed and the torque command value are Then, the d-axis current command value of the d-axis current to be passed through the synchronous motor is determined. Therefore, by setting the d-axis current command value to zero during acceleration until the voltage between the terminals of the synchronous motor reaches the maximum allowable voltage, the desired output torque can be obtained regardless of the increase in the induced voltage. However, during constant speed operation and deceleration after the end of acceleration, the d-axis current command value is calculated to be proportional to the torque command value, so the compensation amount by flowing the d-axis current decreases, and the motor The problem has been that it is difficult to operate the system at high speed and under high load.

そこで、以下の実施の形態では、複数のモータを搭載するロボットにおいて各モータの高速高負荷な動作を効率的に実現するモータ制御装置およびモータ制御方法の例を説明する。 Therefore, in the following embodiments, an example of a motor control device and a motor control method that efficiently realize high-speed, high-load operation of each motor in a robot equipped with a plurality of motors will be described.

以下、適宜図面を参照しながら、本開示に係るモータ制御装置およびモータ制御方法を具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。 DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments specifically disclosing a motor control device and a motor control method according to the present disclosure will be described in detail with reference to the drawings as appropriate. However, more detailed explanation than necessary may be omitted. For example, detailed explanations of well-known matters or redundant explanations of substantially the same configurations may be omitted. This is to avoid unnecessary redundancy in the following description and to facilitate understanding by those skilled in the art. The accompanying drawings and the following description are provided to enable those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter recited in the claims.

まず、図1を参照して、本実施の形態に係る溶接ロボットシステム1000の構成例について説明する。図1は、本実施の形態に係る溶接ロボットシステム1000のシステム構成例を示す概略図である。図1に示すように、溶接ロボットシステム1000は、マニピュレータMC1と、ロボット制御装置100と、を含む。 First, with reference to FIG. 1, a configuration example of a welding robot system 1000 according to the present embodiment will be described. FIG. 1 is a schematic diagram showing an example of a system configuration of a welding robot system 1000 according to the present embodiment. As shown in FIG. 1, welding robot system 1000 includes a manipulator MC1 and a robot control device 100.

図1において、XYZ軸は図1に図示した軸とする。より具体的には、マニピュレータMC1が載置される床面(水平面)と平行に直交する2軸(つまりX軸およびY軸)を定義し、XY平面に垂直な方向(例えばマニピュレータMC1の高さ方向)にZ軸を定義する。マニピュレータMC1の断面が矩形状となる基台部110の長手方向にX軸を定義し、X軸およびZ軸の両方に垂直な方向にY軸を定義する。 In FIG. 1, the XYZ axes are the axes illustrated in FIG. More specifically, two axes (i.e., Define the Z-axis in the direction). The X-axis is defined in the longitudinal direction of the base portion 110, where the cross section of the manipulator MC1 is rectangular, and the Y-axis is defined in the direction perpendicular to both the X-axis and the Z-axis.

マニピュレータMC1は、ロボット制御装置100との間でデータあるいは信号の送受信が可能に接続されている。本実施の形態において、マニピュレータMC1は、その一例として、6軸多関節を有するアーク溶接ロボットである。なお、マニピュレータMC1が行う溶接はアーク溶接に限らなくてもよい。マニピュレータMC1は、基台部110と、ベース部120と、第1アーム130と、第2アーム140と、リスト150と、トーチブラケット160と、これらの構成部品のそれぞれの位置および角度を制御する6つのモータMT1(図2参照)と、溶接トーチTCH1と、を少なくとも備える。 The manipulator MC1 is connected to the robot control device 100 so as to be able to transmit and receive data or signals. In the present embodiment, the manipulator MC1 is, for example, an arc welding robot with six axes and multiple joints. Note that the welding performed by the manipulator MC1 is not limited to arc welding. The manipulator MC1 controls the base section 110, the base section 120, the first arm 130, the second arm 140, the wrist 150, the torch bracket 160, and the positions and angles of these components. The welding torch TCH1 includes at least one motor MT1 (see FIG. 2) and a welding torch TCH1.

基台部110は、床面に固定される。ベース部120は、鉛直方向(Z軸)に延びる旋回軸J1の周りを旋回可能に基台部110に取り付けられている。第1アーム130は、旋回軸J1と直交する略水平方向に延びる旋回軸J2の周りを揺動可能にベース部120に固設される。第2アーム140は、旋回軸J2と平行な方向に延びる旋回軸J3の周りを揺動可能に第1アーム130に固設されている。リスト150は、第2アーム140の長手方向と平行な方向に延びる旋回軸J4の周りを旋回可能に第2アーム140に取り付けられる。トーチブラケット160は、旋回軸J4と直交する方向に延びる旋回軸J5の周りを旋回可能に、かつ旋回軸J5と直交する方向に延びる旋回軸J6の周りを旋回可能にリスト150に固設されている。また、トーチブラケット160の遠位端には溶接トーチTCH1が設けられ、溶接ワイヤ(図示略)が溶接トーチTCH1に挿通され、溶接トーチTCH1の先端部から送給される。ロボット制御装置100は、溶接ワイヤ(図示略)を保持する溶接トーチTCH1を溶接開始位置(始点)に配置し、溶接トーチTCH1から延びる溶接ワイヤ(図示略)を任意の軌跡(溶接線)に沿って移動させるように、基台部110用のモータMT1、ベース部120用のモータMT1、第1アーム130用のモータMT1、第2アーム140用のモータMT1、リスト150用のモータMT1、トーチブラケット160用のモータMT1を制御する。 The base portion 110 is fixed to the floor surface. The base portion 120 is attached to the base portion 110 so as to be pivotable around a pivot axis J1 extending in the vertical direction (Z-axis). The first arm 130 is fixed to the base portion 120 so as to be swingable around a pivot axis J2 extending in a substantially horizontal direction orthogonal to the pivot axis J1. The second arm 140 is fixed to the first arm 130 so as to be swingable around a pivot axis J3 extending in a direction parallel to the pivot axis J2. The wrist 150 is attached to the second arm 140 so as to be pivotable around a pivot axis J4 extending in a direction parallel to the longitudinal direction of the second arm 140. The torch bracket 160 is fixedly attached to the wrist 150 so as to be pivotable around a pivot axis J5 extending in a direction perpendicular to the pivot axis J4 and pivotably around a pivot axis J6 extending in a direction perpendicular to the pivot axis J5. There is. Further, a welding torch TCH1 is provided at the distal end of the torch bracket 160, and a welding wire (not shown) is inserted through the welding torch TCH1 and fed from the tip of the welding torch TCH1. The robot control device 100 places a welding torch TCH1 holding a welding wire (not shown) at a welding start position (starting point), and moves the welding wire (not shown) extending from the welding torch TCH1 along an arbitrary trajectory (welding line). The motor MT1 for the base part 110, the motor MT1 for the base part 120, the motor MT1 for the first arm 130, the motor MT1 for the second arm 140, the motor MT1 for the wrist 150, and the torch bracket. 160 motor MT1 is controlled.

ロボット制御装置100は、マニピュレータMC1との間でデータあるいは信号の送受信が可能に接続されている。ロボット制御装置100は、ティーチペンダント(図示略)により入力された各種の情報に基づいて生成されたマニピュレータMC1の溶接用教示プログラムに従って、溶接中にマニピュレータMC1の駆動を制御する。なお、マニピュレータMC1の溶接用教示プログラムは、溶接トーチTCH1を用いて溶接される各溶接区間に関する情報(例えば、溶接区間の開始点、終了点等)、溶接を実行するための各種動作(例えば、空走、アプローチ、リトラクト、回避等)を実行するための溶接トーチTCH1の位置、距離、角度(姿勢)、動作速度等の情報、溶接条件等の情報等を含んで生成される。 The robot control device 100 is connected to the manipulator MC1 so as to be able to transmit and receive data or signals. The robot control device 100 controls the driving of the manipulator MC1 during welding according to a welding teaching program for the manipulator MC1 generated based on various information inputted by a teach pendant (not shown). The welding teaching program of the manipulator MC1 includes information regarding each welding section to be welded using the welding torch TCH1 (for example, the start point and end point of the welding section, etc.), various operations for performing welding (for example, It is generated including information such as the position, distance, angle (posture), operating speed, etc. of the welding torch TCH1 for executing (dry run, approach, retract, avoidance, etc.), information such as welding conditions, etc.

また、モータ制御装置の一例としてのロボット制御装置100は、マニピュレータMC1に搭載されている複数のモータMT1(図2参照)の駆動を制御するための動作を実行する。ここで、複数のモータMT1は、基台部110用のモータMT1、ベース部120用のモータMT1、第1アーム130用のモータMT1、第2アーム140用のモータMT1、リスト150用のモータMT1、トーチブラケット160用のモータMT1である。本実施の形態では、ロボット制御装置100は、モータMT1の回転制御を行うために、モータMT1の回転子が保持する永久磁石の磁極位置方向に対応するd軸と、このd軸に直交するq軸とからなるdq軸座標系に基づく電流ベクトル制御を利用する。より具体的には、まず、d軸においては、入力をd軸電流値としてd軸電圧指令を生成するような電流ベクトル制御に基づく電流制御としている。一方、q軸においては、入力を回転速度としてq軸電圧指令を生成するような速度制御に基づく電圧制御としたことを特徴としている。 Furthermore, the robot control device 100, which is an example of a motor control device, executes operations for controlling the driving of a plurality of motors MT1 (see FIG. 2) mounted on the manipulator MC1. Here, the plurality of motors MT1 include a motor MT1 for the base section 110, a motor MT1 for the base section 120, a motor MT1 for the first arm 130, a motor MT1 for the second arm 140, and a motor MT1 for the wrist 150. , a motor MT1 for the torch bracket 160. In this embodiment, in order to control the rotation of motor MT1, robot control device 100 has a d-axis that corresponds to the magnetic pole position direction of a permanent magnet held by the rotor of motor MT1, and a q-axis that is orthogonal to this d-axis. Current vector control based on a dq-axis coordinate system consisting of axes is used. More specifically, first, on the d-axis, current control is performed based on current vector control in which a d-axis voltage command is generated using an input as a d-axis current value. On the other hand, the q-axis is characterized by voltage control based on speed control that generates a q-axis voltage command using the rotational speed as the input.

以下、図2以降の図面を参照して、電流ベクトル制御を利用するロボット制御装置100の詳細な構成について説明する。 The detailed configuration of the robot control device 100 that uses current vector control will be described below with reference to the drawings from FIG. 2 onwards.

次に、図2を参照して、ロボット制御装置100の内部構成について説明する。図2は、1つのモータMT1に対応するロボット制御装置100の1軸分構成例を示すブロック図である。つまり図2では、マニピュレータMC1に搭載されている6つのモータMT1のそれぞれを制御するための1軸分(つまり1つのモータMT1)に対応するロボット制御装置100-1の構成のみを図示している。従って、ロボット制御装置100は、図1に示す6つのモータMT1のそれぞれを制御する場合、図2に示すロボット制御装置100-1の構成を6つ備える。 Next, with reference to FIG. 2, the internal configuration of the robot control device 100 will be described. FIG. 2 is a block diagram showing an example of the configuration of one axis of the robot control device 100 corresponding to one motor MT1. In other words, FIG. 2 shows only the configuration of the robot control device 100-1 corresponding to one axis (that is, one motor MT1) for controlling each of the six motors MT1 mounted on the manipulator MC1. . Therefore, when controlling each of the six motors MT1 shown in FIG. 1, the robot control device 100 includes six configurations of the robot control device 100-1 shown in FIG. 2.

ロボット制御装置100-1は、PWM(Pulse Width Modulation)インバータ回路10と、電流検出部DT1,DT2と、電流ベクトル制御部20と、制御部30と、回転速度算出部40と、を少なくとも含む。ロボット制御装置100-1は、モータMT1を外部からの速度指令および速度FB(Feedback)に従って駆動するため、モータMT1の電流に関して、ロータ磁束方向であるd軸成分とこのd軸に直交するq軸のq軸成分とに分離して制御するベクトル制御を使用する。なお、モータMT1とモータMT1が有するエンコーダEN1とは、ロボット制御装置100-1に含まれない。 The robot control device 100-1 includes at least a PWM (Pulse Width Modulation) inverter circuit 10, current detection sections DT1 and DT2, a current vector control section 20, a control section 30, and a rotation speed calculation section 40. Since the robot control device 100-1 drives the motor MT1 according to an external speed command and speed FB (Feedback), the robot control device 100-1 has a d-axis component in the rotor magnetic flux direction and a q-axis perpendicular to the d-axis with respect to the current of the motor MT1. Vector control is used to control the q-axis component and the q-axis component separately. Note that the motor MT1 and the encoder EN1 included in the motor MT1 are not included in the robot control device 100-1.

モータMT1は、例えば永久磁石型同期モータ(PMSM:Permanent Magnet Synchronous Motor)等のブラシレスモータであり、シャフトを中心とした回転可能であって永久磁石(図示略)を保持した回転子(ロータ)と、3相分の巻線をステータコアに巻回した3相のコイルを含む固定子(ステータ)とを有する。回転子が固定子に対向するように回転自在に配置されている。モータMT1では、U相、V相、W相のそれぞれの巻線(コイル)にロボット制御装置100-1から互いに120度位相が異なる交流電力が印加されることで、モータMT1の回転子がシャフトを中心に回転動作する。図2では、U相、V相、W相とする3相の交流電力でモータMT1が駆動される構成例を挙げている。 The motor MT1 is, for example, a brushless motor such as a permanent magnet synchronous motor (PMSM), and includes a rotor that can rotate around a shaft and holds a permanent magnet (not shown). , and a stator (stator) including a three-phase coil in which three-phase windings are wound around a stator core. A rotor is rotatably arranged to face the stator. In the motor MT1, alternating current power having phases different by 120 degrees from each other is applied from the robot control device 100-1 to the windings (coils) of the U-phase, V-phase, and W-phase, so that the rotor of the motor MT1 rotates around the shaft. It rotates around the center. FIG. 2 shows a configuration example in which the motor MT1 is driven by three-phase alternating current power including U-phase, V-phase, and W-phase.

エンコーダEN1は、モータMT1に取り付けられている。エンコーダEN1は、モータMT1の回転子(図示略)の回転位置に応じた信号を電流ベクトル制御部20に出力する。このように、エンコーダEN1は、モータMT1の回転子の回転位置を電気角として検出する。なお、回転子の回転位置または回転速度を推定によって検出できる場合には、エンコーダEN1の構成は省略してもよい。また、エンコーダEN1の代わりに、モータMT1の回転位置を検出可能なホール素子が回転子の近辺に配置されても構わない。この場合、ホール素子により検出された位置情報を示す信号がフィードバック信号として制御部30および電流ベクトル制御部20のそれぞれに入力される。 Encoder EN1 is attached to motor MT1. Encoder EN1 outputs a signal corresponding to the rotational position of a rotor (not shown) of motor MT1 to current vector control section 20. In this way, encoder EN1 detects the rotational position of the rotor of motor MT1 as an electrical angle. Note that if the rotational position or rotational speed of the rotor can be detected by estimation, the configuration of the encoder EN1 may be omitted. Further, instead of the encoder EN1, a Hall element capable of detecting the rotational position of the motor MT1 may be arranged near the rotor. In this case, a signal indicating position information detected by the Hall element is input as a feedback signal to each of the control section 30 and the current vector control section 20.

PWMインバータ回路10は、電流ベクトル制御部20からのモータMT1のU相、V相、W相に与える3相電圧指令であるPWM指令に従って、電源電圧Vdcからの直流電圧をモータMT1の各相(U相、V相、W相)に実際に印加する交流電圧に変換するための電力変換の処理を行う。PWMインバータ回路10の構成例については、図3を参照して後述する。 The PWM inverter circuit 10 converts the DC voltage from the power supply voltage Vdc into each phase ( Power conversion processing is performed to convert the voltage into AC voltage that is actually applied to the U-phase, V-phase, and W-phase. A configuration example of the PWM inverter circuit 10 will be described later with reference to FIG. 3.

電流検出部DT1は、モータMT1のU相の巻線に流れる相電流i(電機子電流)を検出し、検出した相電流iの電流値をU相電流FB(Feedback)として電流ベクトル制御部20に入力する。 The current detection unit DT1 detects the phase current i u (armature current) flowing in the U-phase winding of the motor MT1, and performs current vector control using the current value of the detected phase current i u as the U-phase current FB (Feedback). 20.

電流検出部DT2は、モータMT1のV相の巻線に流れる相電流i(電機子電流)を検出し、検出した相電流iの電流値をV相電流FB(Feedback)として電流ベクトル制御部20に入力する。 The current detection unit DT2 detects the phase current i v (armature current) flowing in the V-phase winding of the motor MT1, and performs current vector control using the current value of the detected phase current i v as the V-phase current FB (Feedback). 20.

電流ベクトル制御部20は、モータMT1の界磁方向であるd軸とこのd軸に直交する方向であるq軸とのそれぞれへの電圧指令(後述するq軸電圧指令v 、d軸電圧指令v )を、モータMT1のU相、V相、W相に与える3相電圧指令(PWM指令)に変換する2相-3相変換の処理を行う。また、電流ベクトル制御部20は、制御部30からのd軸電流指令i の値とd軸電流値との誤差がゼロになるようにd軸電圧指令v を生成し、同様に、制御部30からのq軸電流指令i の値とq軸電流値との誤差がゼロになるようにq軸電圧指令v を生成する。さらに、電流ベクトル制御部20は、電流検出部DT1により検出されたU相の実際の電流値と電流検出部DT2により検出されたV相の実際の電流値とエンコーダEN1により検出された電気角(言い換えると、回転子の回転位置)とに基づいてd軸電流値、q軸電流値を演算する処理を行う。電流ベクトル制御部20の構成例については、図4を参照して後述する。 The current vector control unit 20 issues voltage commands to each of the d-axis, which is the field direction of the motor MT1, and the q-axis, which is the direction perpendicular to the d-axis (q-axis voltage command v q * , d-axis voltage, which will be described later). A two-phase to three-phase conversion process is performed to convert the command v d * ) into a three-phase voltage command (PWM command) to be applied to the U-phase, V-phase, and W-phase of the motor MT1. Further, the current vector control unit 20 generates a d-axis voltage command v d * so that the error between the value of the d-axis current command i d * from the control unit 30 and the d-axis current value becomes zero, and similarly , the q-axis voltage command v q * is generated so that the error between the value of the q-axis current command i q * from the control unit 30 and the q-axis current value becomes zero. Further, the current vector control unit 20 controls the actual current value of the U phase detected by the current detection unit DT1, the actual current value of the V phase detected by the current detection unit DT2, and the electrical angle ( In other words, processing is performed to calculate the d-axis current value and the q-axis current value based on the rotational position of the rotor. A configuration example of the current vector control section 20 will be described later with reference to FIG. 4.

制御部30は、少なくとも外部からの速度指令および回転速度算出部40からの速度FB(Feedback)に基づいて、q軸電流指令i およびd軸電流指令i を生成する。特に、制御部30は、d軸電流指令i について、外部からの速度指令および回転速度算出部40からの速度FBとモータMT1の状態(例えば力行状態または回生状態のいずれか)とに基づいて、d軸電流指令i を生成する。詳細は後述するが、モータMT1の状態は、6軸多関節を有するアーク溶接ロボットであるマニピュレータMC1の各軸に対応するモータMT1の状態に基づいて判定される。制御部30の構成例については、図5を参照して後述する。 The control unit 30 generates a q-axis current command i q * and a d-axis current command i d * based on at least a speed command from the outside and a speed FB (Feedback) from the rotation speed calculation unit 40. In particular, the control unit 30 determines the d-axis current command i d * based on the speed command from the outside, the speed FB from the rotational speed calculation unit 40, and the state of the motor MT1 (for example, either the power running state or the regenerative state). Then, a d-axis current command i d * is generated. Although details will be described later, the state of the motor MT1 is determined based on the state of the motor MT1 corresponding to each axis of the manipulator MC1, which is an arc welding robot having six axes and multiple joints. A configuration example of the control unit 30 will be described later with reference to FIG. 5.

回転速度算出部40は、エンコーダEN1により検出された電気角(言い換えると、回転子の回転位置)の単位時間当たりの変化量からモータMT1の回転子の回転速度を算出し、速度FB(Feedback)として制御部30に出力する。 The rotational speed calculation unit 40 calculates the rotational speed of the rotor of the motor MT1 from the amount of change per unit time in the electrical angle (in other words, the rotational position of the rotor) detected by the encoder EN1, and calculates the rotational speed of the rotor of the motor MT1 as the speed FB (Feedback). It is output to the control unit 30 as

次に、図3を参照して、PWMインバータ回路10の内部構成について説明する。図3は、PWMインバータ回路10の詳細な構成例を示すブロック図である。PWMインバータ回路10は、6つのスイッチング素子111,121,131,141,151,161を含む。 Next, with reference to FIG. 3, the internal configuration of the PWM inverter circuit 10 will be described. FIG. 3 is a block diagram showing a detailed configuration example of the PWM inverter circuit 10. PWM inverter circuit 10 includes six switching elements 111, 121, 131, 141, 151, and 161.

スイッチング素子111には還流ダイオード112が並列に設けられ、スイッチング素子121には還流ダイオード122が並列に設けられ、スイッチング素子131には還流ダイオード132が並列に設けられ、スイッチング素子141には還流ダイオード142が並列に設けられ、スイッチング素子151には還流ダイオード152が並列に設けられ、スイッチング素子161には還流ダイオード162が並列に設けられている。スイッチング素子111~161のそれぞれは、例えばIGBT(Insulated Gate Bipolar Transistor)であるが、IGBTに限定されなくてよい。PWMインバータ回路10では、スイッチング素子111のエミッタとスイッチング素子141のコレクタとの相互接続点がモータMT1の3相のうちいずれか(例えばU相)の巻線に接続され、スイッチング素子121のエミッタとスイッチング素子151のコレクタとの相互接続点がモータMT1の3相のうちいずれか(例えばV相)の巻線に接続され、スイッチング素子131のエミッタとスイッチング素子161のコレクタとの相互接続点がモータMT1の3相のうちいずれか(例えばW相)の巻線に接続されている。 A free wheel diode 112 is provided in parallel to the switching element 111, a free wheel diode 122 is provided in parallel to the switching element 121, a free wheel diode 132 is provided in parallel to the switching element 131, and a free wheel diode 142 is provided in the switching element 141. are provided in parallel, a free wheel diode 152 is provided in parallel to the switching element 151, and a free wheel diode 162 is provided in parallel to the switching element 161. Each of the switching elements 111 to 161 is, for example, an IGBT (Insulated Gate Bipolar Transistor), but is not limited to an IGBT. In the PWM inverter circuit 10, the interconnection point between the emitter of the switching element 111 and the collector of the switching element 141 is connected to the winding of one of the three phases (for example, U phase) of the motor MT1, and the emitter of the switching element 121 and The interconnection point with the collector of the switching element 151 is connected to the winding of one of the three phases (for example, V phase) of the motor MT1, and the interconnection point between the emitter of the switching element 131 and the collector of the switching element 161 is connected to the winding of one of the three phases (for example, V phase) of the motor MT1. It is connected to the winding of one of the three phases (for example, W phase) of MT1.

PWMインバータ回路10は、電源正極側のスイッチング素子と電源負極側のスイッチング素子とをペアにしてU相、V相、W相の3相に備え、U相、V相、W相のそれぞれの交流電圧を出力するスイッチング回路である。PWMインバータ回路10は、スイッチング素子111~161のそれぞれのゲートに電流ベクトル制御部20からの駆動信号(つまりPWM指令)を入力してスイッチング素子111~161のそれぞれを順序よくオンオフすることにより、印加されている直流電源(電源電圧Vdc)を3相の交流電圧(U相出力、V相出力、W相出力)に変換してモータMT1のトルクおよび回転速度を制御する。例えばU相出力から電流検出部DT1により検出された電流(U相電流FB)は、電流ベクトル制御部20に入力(フィードバック)され、同様に、V相出力から電流検出部DT2により検出された電流(V相電流FB)は、電流ベクトル制御部20に入力(フィードバック)される。 The PWM inverter circuit 10 has a pair of switching elements on the positive side of the power supply and a switching element on the negative side of the power supply for three phases, U-phase, V-phase, and W-phase. This is a switching circuit that outputs voltage. The PWM inverter circuit 10 inputs a drive signal (that is, a PWM command) from the current vector control unit 20 to the gates of each of the switching elements 111 to 161, and turns each of the switching elements 111 to 161 on and off in order, thereby generating an applied signal. The torque and rotational speed of motor MT1 are controlled by converting the DC power supply (power supply voltage Vdc) into three-phase AC voltage (U-phase output, V-phase output, W-phase output). For example, the current detected by the current detection unit DT1 from the U-phase output (U-phase current FB) is input (feedback) to the current vector control unit 20, and similarly, the current detected by the current detection unit DT2 from the V-phase output is input (feedback) to the current vector control unit 20. (V-phase current FB) is input (feedback) to the current vector control unit 20.

次に、図4を参照して、電流ベクトル制御部20の内部構成について説明する。図4は、電流ベクトル制御部20の詳細な構成例を示すブロック図である。電流ベクトル制御部20は、d-q変換部21と、q軸電流制御部22と、d軸電流制御部23と、逆d-q変換部24と、を少なくとも含む。 Next, the internal configuration of the current vector control section 20 will be described with reference to FIG. 4. FIG. 4 is a block diagram showing a detailed configuration example of the current vector control section 20. As shown in FIG. The current vector control section 20 includes at least a dq conversion section 21, a q-axis current control section 22, a d-axis current control section 23, and an inverse dq conversion section 24.

d-q変換部21は、電流検出部DT1,DT2により検出された各相電流i、i(U相電流FB、V相電流FB)と、エンコーダEN1により検出された回転子(図示略)の電気角とから、d軸およびq軸の検出電流であるd軸電流iおよびq軸電流iを算出する。q軸電流iは、q軸電流FBとしてq軸電流制御部22に入力される。d軸電流iは、d軸電流FBとしてd軸電流制御部23に入力される。 The dq conversion unit 21 converts each phase current i u , i v (U-phase current FB, V-phase current FB) detected by the current detection units DT1, DT2 and a rotor (not shown) detected by the encoder EN1. ), the d-axis current i d and the q-axis current i q , which are the d-axis and q-axis detection currents, are calculated. The q-axis current iq is input to the q-axis current control section 22 as a q-axis current FB. The d-axis current i d is input to the d-axis current control section 23 as a d-axis current FB.

q軸電流制御部22は、制御部30からのq軸電流の目標値であるq軸電流指令i の値とd-q変換部21からのq軸電流iとの差分である誤差がゼロとなるようにq軸電圧指令v を生成する。例えば、q軸電流制御部22は、q軸電流指令i の値とq軸電流iの値との差分に対して比例積分処理を行い、その比例積分の結果をq軸電圧指令v とする。 The q-axis current control unit 22 generates an error that is the difference between the value of the q-axis current command i q *, which is the target value of the q-axis current from the control unit 30, and the q-axis current i q from the dq conversion unit 21. A q-axis voltage command v q * is generated so that the voltage becomes zero. For example, the q-axis current control unit 22 performs proportional integration processing on the difference between the value of the q-axis current command i q * and the value of the q-axis current i q , and uses the result of the proportional integration as the q-axis voltage command v. Let q * .

d軸電流制御部23は、制御部30からのd軸電流の目標値であるd軸電流指令i の値とd-q変換部21からのd軸電流iとの差分である誤差がゼロとなるようにd軸電圧指令v を生成する。例えば、d軸電流制御部23は、d軸電流指令i の値とd軸電流iの値との差分に対して比例積分処理を行い、その比例積分の結果をd軸電圧指令v とする。 The d-axis current control unit 23 generates an error that is the difference between the value of the d-axis current command i d *, which is the target value of the d-axis current from the control unit 30, and the d-axis current i d from the dq conversion unit 21. A d-axis voltage command v d * is generated so that the voltage becomes zero. For example, the d-axis current control unit 23 performs proportional integration processing on the difference between the value of the d-axis current command i d * and the value of the d-axis current i d , and uses the result of the proportional integration as the d-axis voltage command v Let it be d * .

逆d-q変換部24は、q軸電流制御部22からのq軸電圧指令v とd軸電流制御部23からのd軸電圧指令v と、エンコーダEN1により検出された回転子(図示略)の電気角とから、モータMT1の各相に与える駆動電圧に対応するPWM指令である電圧指令v 、v 、v を算出し、PWMインバータ回路10に出力する。 The inverse dq conversion unit 24 converts the q-axis voltage command v q * from the q-axis current control unit 22, the d-axis voltage command v d * from the d-axis current control unit 23, and the rotor signal detected by the encoder EN1. (not shown), voltage commands v u * , v v * , v w * , which are PWM commands corresponding to the drive voltage applied to each phase of the motor MT1, are calculated and output to the PWM inverter circuit 10. .

次に、図5を参照して、1軸分の制御部30の内部構成について説明する。図5は、1軸分の制御部30の詳細な構成例を示すブロック図である。制御部30は、PI(Proportional Integral)制御部31と、q軸電流指令リミッタ32と、加速度指令算出部33と、回生判定部34と、全軸回生判定部35と、弱め界磁制御部36と、d軸電流指令リミッタ37と、を含む。 Next, with reference to FIG. 5, the internal configuration of the control unit 30 for one axis will be described. FIG. 5 is a block diagram showing a detailed configuration example of the control unit 30 for one axis. The control unit 30 includes a PI (Proportional Integral) control unit 31, a q-axis current command limiter 32, an acceleration command calculation unit 33, a regeneration determination unit 34, an all-axis regeneration determination unit 35, a field weakening control unit 36, d-axis current command limiter 37.

PI制御部31は、外部からのモータMT1の速度指令の値と回転速度算出部40により算出されたモータMT1の回転子の回転速度のフィードバック値との差分(偏差)に基づいてPI制御を実行する。例えば、PI制御部31は、PI制御として、比例項として差分を定数倍した項と、積分項として差分を積分した値を定数倍した値との加算演算を行う。PI制御部31は、このPI制御を行うことにより、q軸電流指令i を生成してq軸電流指令リミッタ32に出力する。 The PI control unit 31 executes PI control based on the difference (deviation) between the value of the speed command for the motor MT1 from the outside and the feedback value of the rotational speed of the rotor of the motor MT1 calculated by the rotational speed calculation unit 40. do. For example, as PI control, the PI control unit 31 performs an addition operation of a term obtained by multiplying the difference by a constant as a proportional term and a value obtained by multiplying the value obtained by integrating the difference by a constant as an integral term. By performing this PI control, the PI control unit 31 generates a q-axis current command i q * and outputs it to the q-axis current command limiter 32 .

q軸電流指令リミッタ32は、モータMT1の回転速度限界値に対応する既定のq軸電流限界値を保持している。q軸電流指令リミッタ32は、PI制御部31により生成されたq軸電流指令i の値がこのq軸電流限界値を超えると判定した場合には、q軸電流指令i の値をq軸電流限界値とするq軸電流指令i を生成して電流ベクトル制御部20に出力する。このq軸電流指令i は、電流ベクトル制御部20のq軸電流制御部22に入力される。 The q-axis current command limiter 32 holds a predetermined q-axis current limit value corresponding to the rotational speed limit value of the motor MT1. When the q-axis current command limiter 32 determines that the value of the q-axis current command i q * generated by the PI control unit 31 exceeds the q-axis current limit value, the q-axis current command limiter 32 changes the value of the q-axis current command i q * A q-axis current command i q * with q-axis current limit value is generated and output to the current vector control unit 20 . This q-axis current command i q * is input to the q-axis current control section 22 of the current vector control section 20 .

加速度指令算出部33は、外部からのモータMT1の速度指令の値に時間微分の処理を施すことにより加速度指令を算出して回生判定部34に出力する。なお、時間微分の処理において高周波成分の量子化誤差等の影響によるノイズ成分を抑圧するために、加速度指令算出部33はその抑圧用のフィルタFL1を備えてもよい。 The acceleration command calculation unit 33 calculates an acceleration command by performing time differentiation on the value of the speed command for the motor MT1 from the outside, and outputs the acceleration command to the regeneration determination unit 34. Note that in order to suppress noise components due to the influence of quantization errors of high frequency components in the time differentiation process, the acceleration command calculation unit 33 may include a filter FL1 for suppressing noise components.

回生判定部34は、加速度指令算出部33からの加速度指令と外部からのモータMT1の速度指令とに基づいてモータMT1の状態を判定し、その判定結果を回生情報として自軸用の制御部30の全軸回生判定部35ならびに1つ以上の他軸用の制御部30の全軸回生判定部35にも出力する。モータMT1の状態判定に関して、具体的には、回生判定部34は、一定期間分(図7参照)の加速度指令と速度指令との符号が同一であると判定した場合には、モータMT1は力行状態であると判定する。一方、回生判定部34は、一定期間分(図7参照)の加速度指令と速度指令との符号が異なると判定した場合には、モータMT1は回生状態であると判定する。一定期間分(図7参照)の加速度指令と速度指令との符号については、図7を参照して後述する。 The regeneration determination unit 34 determines the state of the motor MT1 based on the acceleration command from the acceleration command calculation unit 33 and the speed command of the motor MT1 from the outside, and uses the determination result as regeneration information to control the self-axis control unit 30. It is also output to the all-axis regeneration determining section 35 of the control section 30 for one or more other axes. Regarding the state determination of the motor MT1, specifically, if the regeneration determining unit 34 determines that the signs of the acceleration command and the speed command for a certain period (see FIG. 7) are the same, the motor MT1 is in power running. It is determined that the condition is the same. On the other hand, if the regeneration determination unit 34 determines that the signs of the acceleration command and the speed command for a certain period (see FIG. 7) are different, the regeneration determination unit 34 determines that the motor MT1 is in the regeneration state. The codes of the acceleration command and speed command for a certain period (see FIG. 7) will be described later with reference to FIG.

全軸回生判定部35は、自軸用の制御部30の回生判定部34からの回生情報と1つ以上の他軸用の回生判定部34からの回生情報とを用いて、複数のモータMT1の中で最も負荷が高いモータMT1の状態に基づいて、マニピュレータMC1全体において回生状態であるか力行状態であるかを判定する。例えばマニピュレータMC1が図1に示す6軸多関節型のロボットである場合、全軸回生判定部35は、合計6軸分(つまり6つ)の回生判定部34からの回生情報を取得しており、軸ごとの回生情報に所定の重み付けを施し、その重み付け後の回生情報(回生判定値)が所定の閾値より大きい場合にマニピュレータMC1全体において回生状態であると判定する。全軸回生判定部35は、判定結果に対応する信号を生成してd軸電流指令リミッタ37に出力する。 The all-axis regeneration determination unit 35 uses regeneration information from the regeneration determination unit 34 of the control unit 30 for its own axis and regeneration information from the regeneration determination unit 34 for one or more other axes to determine whether the multiple motors MT1 It is determined whether the entire manipulator MC1 is in a regenerative state or a power running state based on the state of the motor MT1 which has the highest load among them. For example, if the manipulator MC1 is a 6-axis articulated robot shown in FIG. , predetermined weighting is applied to the regeneration information for each axis, and when the weighted regeneration information (regeneration determination value) is larger than a predetermined threshold value, it is determined that the entire manipulator MC1 is in the regeneration state. The all-axis regeneration determination unit 35 generates a signal corresponding to the determination result and outputs it to the d-axis current command limiter 37.

ここで、回生判定値と重み付けについて簡単に説明する。 Here, the regeneration determination value and weighting will be briefly explained.

1つの軸に対応する回生判定部34からの回生情報は1あるいは0となる。例えば回生情報が1であれば回生状態であることを示し、回生情報が0であれば力行状態であることを示す。全軸回生判定部35は、回生判定値を次の(式1)に従って算出する。各軸目の重み付け係数は、例えばマニピュレータMC1の構造に照らしてその大小が予め決定されている。例えば図1に示すマニピュレータMC1の場合、2軸目>3軸目>1軸目>4軸目>5軸目>6軸目のように負荷がかかるため、(2軸目の重み付け係数)>(3軸目の重み付け係数)>(1軸目の重み付け係数)>(4軸目の重み付け係数)>(5軸目の重み付け係数)>(6軸目の重み付け係数)となる。重み付け係数は、モータの負荷が最も高いモータに対応する重み付け係数が最も大きな値となり、モータの負荷が最も低いモータに対応する重み付け係数が最も小さい値となる。 The regeneration information from the regeneration determination unit 34 corresponding to one axis is 1 or 0. For example, if the regeneration information is 1, it indicates that the vehicle is in the regeneration state, and if the regeneration information is 0, it indicates that the vehicle is in the power running state. The all-axis regeneration determination unit 35 calculates a regeneration determination value according to the following (Formula 1). The magnitude of the weighting coefficient for each axis is determined in advance, for example, in light of the structure of the manipulator MC1. For example, in the case of the manipulator MC1 shown in Fig. 1, the load is applied as follows: 2nd axis > 3rd axis > 1st axis > 4th axis > 5th axis > 6th axis, so (weighting coefficient of 2nd axis) > (3rd axis weighting coefficient)>(1st axis weighting coefficient)>(4th axis weighting coefficient)>(5th axis weighting coefficient)>(6th axis weighting coefficient). Regarding the weighting coefficients, the weighting coefficient corresponding to the motor with the highest motor load has the largest value, and the weighting coefficient corresponding to the motor with the lowest motor load has the smallest value.

回生判定値=(1軸目の重み付け係数)×(1軸目の回生情報)
+(2軸目の重み付け係数)×(2軸目の回生情報)
+(3軸目の重み付け係数)×(3軸目の回生情報)
+(4軸目の重み付け係数)×(4軸目の回生情報)
+(5軸目の重み付け係数)×(5軸目の回生情報)
+(6軸目の重み付け係数)×(6軸目の回生情報)・・・(式1)
Regeneration judgment value = (1st axis weighting coefficient) x (1st axis regeneration information)
+ (2nd axis weighting coefficient) × (2nd axis regeneration information)
+ (3rd axis weighting coefficient) × (3rd axis regeneration information)
+ (4th axis weighting coefficient) × (4th axis regeneration information)
+ (5th axis weighting coefficient) × (5th axis regeneration information)
+ (6th axis weighting coefficient) × (6th axis regeneration information) (Formula 1)

全軸回生判定部35は、上述した(式1)により得た回生判定値が所定の閾値より大きいと判定した場合に、マニピュレータMC1全体において回生状態であると判定する。一方、全軸回生判定部35は、上述した算出式により得た回生判定値が所定の閾値以下であると判定した場合に、マニピュレータMC1全体において力行状態であると判定する。 The all-axis regeneration determination unit 35 determines that the entire manipulator MC1 is in the regeneration state when determining that the regeneration determination value obtained by the above-mentioned (Formula 1) is larger than a predetermined threshold value. On the other hand, when the all-axis regeneration determination unit 35 determines that the regeneration determination value obtained by the above-mentioned calculation formula is less than or equal to a predetermined threshold value, it determines that the entire manipulator MC1 is in the power running state.

弱め界磁制御部36は、回転速度算出部40により算出されたモータMT1の回転子の回転速度のフィードバック値と弱め界磁制御部36が予め保持している所定値との差分(偏差)に基づいてPI制御を実行する。例えば、弱め界磁制御部36は、PI制御として、比例項として差分を定数倍した項と、積分項として差分を積分した値を定数倍した値との加算演算を行う。弱め界磁制御部36は、このPI制御を行うことにより、d軸電流指令i を生成してd軸電流指令リミッタ37に出力する。 The field weakening control unit 36 performs PI control based on the difference (deviation) between the feedback value of the rotation speed of the rotor of the motor MT1 calculated by the rotation speed calculation unit 40 and a predetermined value held in advance by the field weakening control unit 36. Execute. For example, as PI control, the field weakening control unit 36 performs an addition operation of a term obtained by multiplying the difference by a constant as a proportional term and a value obtained by multiplying the value obtained by integrating the difference by a constant as an integral term. By performing this PI control, the field weakening control unit 36 generates a d-axis current command i d * and outputs it to the d-axis current command limiter 37 .

d軸電流指令リミッタ37は、電流制限値記憶部M1を保持する。電流制限値記憶部M1は、回生時d軸電流リミット371と力行時d軸電流リミット372とを保持する記憶素子(例えばROM(Read Only Memory)等のメモリ)である。d軸電流指令リミッタ37は、全軸回生判定部35からの信号に基づいて、マニピュレータMX1全体の状態(つまり回生状態または力行状態)に対応するd軸電流リミットを選択する。d軸電流指令リミッタ37は、全軸回生判定部35からの信号に基づいて選択した回生時d軸電流リミット371あるいは力行時d軸電流リミット372と、弱め界磁制御部36からのd軸電流指令i とを比較する。d軸電流指令リミッタ37は、弱め界磁制御部36からのd軸電流指令i が回生時d軸電流リミット371あるいは力行時d軸電流リミット372を超えると判定した場合に、d軸電流指令i を回生時d軸電流リミット371あるいは力行時d軸電流リミット372に制限したd軸電流指令i を生成して電流ベクトル制御部20に出力する。このd軸電流指令i は、電流ベクトル制御部20のd軸電流制御部23に入力される。 The d-axis current command limiter 37 holds a current limit value storage section M1. The current limit value storage unit M1 is a storage element (for example, a memory such as a ROM (Read Only Memory)) that holds a d-axis current limit 371 during regeneration and a d-axis current limit 372 during power running. The d-axis current command limiter 37 selects the d-axis current limit corresponding to the overall state of the manipulator MX1 (that is, the regenerative state or the power running state) based on the signal from the all-axis regeneration determining section 35. The d-axis current command limiter 37 selects a regeneration d-axis current limit 371 or a power running d-axis current limit 372 selected based on the signal from the all-axis regeneration determination unit 35 and a d-axis current command i from the field weakening control unit 36. Compare with d * . The d-axis current command limiter 37 sets the d-axis current command i when it is determined that the d-axis current command i d * from the field weakening control unit 36 exceeds the d-axis current limit 371 during regeneration or the d-axis current limit 372 during power running. A d -axis current command i d * in which d * is limited to the d-axis current limit 371 during regeneration or the d-axis current limit 372 during power running is generated and output to the current vector control unit 20. This d-axis current command i d * is input to the d-axis current control section 23 of the current vector control section 20 .

次に、図6および図7を参照して、モータMT1の状態(つまり、力行状態または回生状態)の時間変化について説明する。図6は、力行状態および回生状態におけるモータ速度の時間変化の概略を示す図である。図7は、速度指令および加速度指令の時間変化の一例を示す図である。図6の上段のグラフにおいて、横軸は時間を示し、縦軸はモータ速度(つまり、モータMT1の回転速度)を示す。 Next, with reference to FIGS. 6 and 7, changes over time in the state of motor MT1 (that is, power running state or regenerative state) will be described. FIG. 6 is a diagram schematically showing changes in motor speed over time in a power running state and a regenerative state. FIG. 7 is a diagram illustrating an example of changes over time in speed commands and acceleration commands. In the upper graph of FIG. 6, the horizontal axis indicates time, and the vertical axis indicates motor speed (that is, rotational speed of motor MT1).

図6に示すように、モータMT1の回転速度が時間とともに増加(上昇)する間、PWMインバータ回路10は、電源電圧Vdcを使用し、この電源電圧Vdcに基づいてU相、V相、W相の各交流電圧をモータMT1に供給(印加)するので、電圧が減ることになる。従って、モータMT1の回転速度が時間とともに増加(上昇)する間、モータMT1の状態は力行状態となる。 As shown in FIG. 6, while the rotational speed of the motor MT1 increases (rises) over time, the PWM inverter circuit 10 uses the power supply voltage Vdc, and based on this power supply voltage Vdc, the U-phase, V-phase, and W-phase Since each AC voltage is supplied (applied) to the motor MT1, the voltage decreases. Therefore, while the rotational speed of the motor MT1 increases (rises) over time, the state of the motor MT1 is in the power running state.

一方、モータMT1の回転速度が時間とともに減少(下降)する間、モータMT1のU相、V相、W相のそれぞれからPWMインバータ回路10を介して直流に変換された電圧が電源電圧Vdc側に戻されるため、電圧が増えることになる。従って、モータMT1の回転速度が時間とともに減少(下降)する間、モータMT1の状態は回生状態となる。 On the other hand, while the rotational speed of the motor MT1 decreases (falls) over time, the voltages converted to direct current from each of the U-phase, V-phase, and W-phase of the motor MT1 via the PWM inverter circuit 10 are applied to the power supply voltage Vdc side. Since the voltage is returned, the voltage will increase. Therefore, while the rotational speed of the motor MT1 decreases (falls) over time, the state of the motor MT1 is in the regenerative state.

図7の横軸は時間を示し、縦軸の一方(紙面左側)は外部からの速度指令の値を示し、縦軸の他方(紙面右側)は加速度指令算出部33により算出された加速度指令の値を示す。図7に示すように、期間PR1における速度指令の特性Y1と加速度指令の特性Y2とは一定時間以上その符号が異なっている。例えば期間PR1では、加速度指令はマイナスの定常値でほぼ安定して推移しているが、速度指令は時間ごとにプラス方向の値からゼロとなるように減少するように推移している。 The horizontal axis in FIG. 7 shows time, one of the vertical axes (on the left side of the paper) shows the value of the speed command from the outside, and the other vertical axis (on the right side of the paper) shows the value of the acceleration command calculated by the acceleration command calculating section 33. Show value. As shown in FIG. 7, the characteristic Y1 of the speed command and the characteristic Y2 of the acceleration command in the period PR1 have different signs for a certain period of time or more. For example, in period PR1, the acceleration command is almost stable at a negative steady value, but the speed command is decreasing from a positive value to zero over time.

同様に、期間PR2における速度指令の特性Y1と加速度指令の特性Y2とも一定時間以上その符号が異なっている。例えば期間PR2では、加速度指令はプラスの定常値でほぼ安定して推移しているが、速度指令は時間ごとにマイナス方向の値からゼロとなるように減少するように推移している。 Similarly, the characteristic Y1 of the speed command and the characteristic Y2 of the acceleration command in the period PR2 have different signs for a certain period of time or more. For example, in period PR2, the acceleration command is almost stable at a positive steady value, but the speed command is decreasing from a negative value to zero over time.

このように、回生判定部34は、速度指令の特性Y1と加速度指令の特性Y2とにおいて一定時間以上符号が異なる期間が存在すると判定した場合には、その期間は回生状態であると判定する。つまり、図7の例では、回生判定部34は、期間PR1,PR2のそれぞれにおいて、モータMT1の状態は回生状態であると判定する。 In this way, when the regeneration determination unit 34 determines that there is a period in which the signs of the characteristic Y1 of the speed command and the characteristic Y2 of the acceleration command are different for a certain period of time or more, the regeneration determining unit 34 determines that the period is in a regenerative state. That is, in the example of FIG. 7, the regeneration determination unit 34 determines that the state of the motor MT1 is in the regeneration state in each of the periods PR1 and PR2.

次に、図8を参照して、本実施の形態に係るロボット制御装置100のd軸電流指令値の電流制限値の決定手順について説明する。図8は、本実施の形態に係るロボット制御装置のd軸電流指令値の電流制限値を決定する動作手順を示すフローチャートである。ここでいうd軸電流指令値の電流制限値とは、回生時d軸電流リミット371、力行時d軸電流リミット372である。図8に示すフローチャートは、例えば6軸多関節型のロボットの各軸に対応して設けられる6つの制御部30のそれぞれによって実行される。 Next, with reference to FIG. 8, a procedure for determining the current limit value of the d-axis current command value of the robot control device 100 according to the present embodiment will be described. FIG. 8 is a flowchart showing the operation procedure for determining the current limit value of the d-axis current command value of the robot control device according to the present embodiment. The current limit value of the d-axis current command value referred to here is the d-axis current limit 371 during regeneration and the d-axis current limit 372 during power running. The flowchart shown in FIG. 8 is executed, for example, by each of six control units 30 provided corresponding to each axis of a six-axis articulated robot.

図8において、1軸目の制御部30は、加速度指令算出部33からの加速度指令と外部からのモータMT1の速度指令とを一定期間分取得し、その一定期間分のそれぞれの符号を判定する(ステップSt11)。1軸目の制御部30は、ステップSt11において加速度指令と速度指令とがその一定期間において同符号であると判定した場合(ステップSt11、同符号)、1軸目のモータMT1の状態は力行状態である旨の情報(つまり、回生情報=0)を生成する(ステップSt21)。一方、1軸目の制御部30は、ステップSt11において加速度指令と速度指令とがその一定期間において異符号であると判定した場合(ステップSt11、異符号)、1軸目のモータMT1の状態は回生状態である旨の情報(つまり、回生情報=1)を生成する(ステップSt31)。さらに、1軸目の制御部30は、1軸目に対応する予め定められた重み付け係数α1を選択する(ステップSt41)。 In FIG. 8, the first axis control unit 30 acquires the acceleration command from the acceleration command calculation unit 33 and the speed command of the motor MT1 from the outside for a certain period of time, and determines the sign of each of the certain period of time. (Step St11). If the control unit 30 of the first axis determines in step St11 that the acceleration command and the speed command have the same sign during the certain period (step St11, same sign), the state of the motor MT1 of the first axis is a power running state. information indicating that the regeneration information is 0 (that is, regeneration information = 0) is generated (step St21). On the other hand, if the control unit 30 of the first axis determines in step St11 that the acceleration command and the speed command have different signs during the certain period (step St11, different signs), the state of the motor MT1 of the first axis is Information indicating that it is in a regenerative state (that is, regenerative information=1) is generated (step St31). Further, the first axis control unit 30 selects a predetermined weighting coefficient α1 corresponding to the first axis (Step St41).

同様にして、6軸目の制御部30は、加速度指令算出部33からの加速度指令と外部からのモータMT1の速度指令とを一定期間分取得し、その一定期間分のそれぞれの符号を判定する(ステップSt16)。1軸目の制御部30は、ステップSt16において加速度指令と速度指令とがその一定期間において同符号であると判定した場合(ステップSt16、同符号)、6軸目のモータMT1の状態は力行状態である旨の情報(つまり、回生情報=0)を生成する(ステップSt26)。一方、6軸目の制御部30は、ステップSt16において加速度指令と速度指令とがその一定期間において異符号であると判定した場合(ステップSt16、異符号)、6軸目のモータMT1の状態は回生状態である旨の情報(つまり、回生情報=1)を生成する(ステップSt36)。さらに、6軸目の制御部30は、6軸目に対応する予め定められた重み付け係数α6を選択する(ステップSt46)。 Similarly, the sixth axis control unit 30 obtains the acceleration command from the acceleration command calculation unit 33 and the speed command of the motor MT1 from the outside for a certain period of time, and determines the sign of each of the certain period of time. (Step St16). If the control unit 30 of the first axis determines in step St16 that the acceleration command and the speed command have the same sign during the certain period (step St16, same sign), the state of the motor MT1 of the sixth axis is a power running state. information indicating that the regeneration information is 0 (that is, regeneration information = 0) is generated (step St26). On the other hand, if the control unit 30 of the sixth axis determines in step St16 that the acceleration command and the speed command have different signs during the certain period (step St16, different signs), the state of the motor MT1 of the sixth axis is Information indicating that it is in a regenerative state (that is, regenerative information=1) is generated (step St36). Further, the sixth axis control unit 30 selects a predetermined weighting coefficient α6 corresponding to the sixth axis (Step St46).

ステップSt5以降の処理は、1軸目から6軸目のそれぞれの制御部30において並行して実行される。ここでは説明の都合上、1軸目の制御部30が行うことを例示して説明するが、2軸目から6軸目の制御部30のそれぞれも同様にステップSt5以降の処理を実行する。 The processes after step St5 are executed in parallel in each of the control units 30 for the first to sixth axes. For convenience of explanation, what the control unit 30 for the first axis performs will be described as an example, but each of the control units 30 for the second to sixth axes similarly executes the processes from step St5 onwards.

1軸目の制御部30は、自軸の制御部30がステップSt41で選択した重み付け係数α1および回生情報と、他軸(つまり、2軸目から6軸目まで)のそれぞれの制御部30が選択した重み付け係数および回生情報とを取得する。1軸目の制御部30は、自軸の制御部30がステップSt41で選択した重み付け係数α1および回生情報の積算結果と、他軸(つまり、2軸目から6軸目まで)のそれぞれの制御部30が選択した重み付け係数および回生情報の積算結果とを加算することにより回生判定値を算出する(ステップSt5、(式1)参照)。 The control unit 30 of the first axis uses the weighting coefficient α1 and regeneration information selected by the control unit 30 of the own axis in step St41, and the control units 30 of each of the other axes (that is, the second to sixth axes). Obtain the selected weighting coefficient and regeneration information. The control unit 30 of the first axis uses the weighting coefficient α1 selected in step St41 by the control unit 30 of the own axis and the integration result of the regeneration information, and controls each of the other axes (that is, the second to sixth axes). A regeneration determination value is calculated by adding the weighting coefficient selected by the unit 30 and the integration result of the regeneration information (see step St5, (Equation 1)).

1軸目の制御部30は、ステップSt5で算出した回生判定値が所定の閾値より大きいと判定した場合に(ステップSt6、閾値より大)、マニピュレータMC1全体において回生状態であると判定する。この場合、1軸目の制御部30は、回生時d軸電流リミット371を選択する(ステップSt7)。1軸目の制御部30は、回生時d軸電流リミット371と弱め界磁制御部36からのd軸電流指令i との比較結果に応じたd軸電流指令i を生成して電流ベクトル制御部20に出力する。 When the first-axis control unit 30 determines that the regeneration determination value calculated in step St5 is greater than a predetermined threshold value (step St6, greater than the threshold value), the first-axis control unit 30 determines that the entire manipulator MC1 is in a regenerative state. In this case, the first axis control unit 30 selects the d-axis current limit 371 during regeneration (step St7). The first axis control unit 30 generates a d-axis current command i d * according to the comparison result between the d-axis current limit 371 during regeneration and the d-axis current command i d * from the field weakening control unit 36, and generates a current vector. It is output to the control section 20.

一方、1軸目の制御部30は、ステップSt5で算出した回生判定値が所定の閾値以下であると判定した場合に(ステップSt6、閾値以下)、マニピュレータMC1全体において力行状態であると判定する。この場合、1軸目の制御部30は、力行時d軸電流リミット372を選択する(ステップSt8)。1軸目の制御部30は、力行時d軸電流リミット372と弱め界磁制御部36からのd軸電流指令i との比較結果に応じたd軸電流指令i を生成して電流ベクトル制御部20に出力する。 On the other hand, when the first-axis control unit 30 determines that the regeneration determination value calculated in step St5 is less than or equal to the predetermined threshold value (step St6, less than the threshold value), the first-axis control unit 30 determines that the entire manipulator MC1 is in the power running state. . In this case, the first axis control unit 30 selects the d-axis current limit 372 during power running (Step St8). The first axis control unit 30 generates a d-axis current command i d * according to the comparison result between the d-axis current limit 372 during power running and the d-axis current command i d * from the field weakening control unit 36, and generates a current vector. It is output to the control section 20.

以上により、本実施の形態に係るロボット制御装置100は、外部から通知されるモータMT1の速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算する各軸電流演算部(例えば制御部30)と、q軸電流指令値およびd軸電流指令値に基づいて、複数のモータMT1にそれぞれ印加する電圧の値である複数の電圧指令値を演算する電圧指令値演算部(例えばq軸電流制御部22、d軸電流制御部23)と、複数の電圧指令値に基づいて、複数のモータに複数の駆動電力をそれぞれ出力する駆動回路(例えばPWMインバータ回路10)と、速度指令値に基づいて、加速度指令値を演算する加速度指令値演算部(例えば加速度指令算出部33)と、速度指令値および速度指令値に基づいて、力行状態または回生状態のいずれかを判定する回生判定部34と、力行状態におけるd軸電流指令値の電流制限値である第1電流制限値(例えば力行時d軸電流リミット372)と、回生状態におけるd軸電流指令値の電流制限値である第2電流制限値(例えば回生時d軸電流リミット371)と、を記憶する電流制限値記憶部M1と、力行状態において第1電流制限値以下となるd軸電流指令値を出力し、回生状態において第2電流制限値以下となるd軸電流指令値を出力するd軸電流指令値制限部(例えばd軸電流指令リミッタ37)と、を備える。回生判定部(例えば全軸回生判定部35)は、複数のモータのうち最も負荷が高いモータの状態に基づいて、力行状態または回生状態のいずれかを判定する。 As described above, the robot control device 100 according to the present embodiment has each axis current calculation unit (for example, control unit 30), and a voltage command value calculation unit (for example, q axis current control section 22, d-axis current control section 23), a drive circuit (for example, PWM inverter circuit 10) that outputs a plurality of drive powers to a plurality of motors based on a plurality of voltage command values, and a speed command value. an acceleration command value calculation unit (for example, acceleration command calculation unit 33) that calculates an acceleration command value based on the speed command value and a regeneration determination unit that determines either the power running state or the regeneration state based on the speed command value and the speed command value. 34, a first current limit value that is the current limit value of the d-axis current command value in the power running state (for example, the d-axis current limit 372 during power running), and a second current limit value that is the current limit value of the d-axis current command value in the regenerative state. A current limit value storage M1 that stores a current limit value (for example, the d-axis current limit 371 during regeneration), and outputs a d-axis current command value that is equal to or less than the first current limit value in the power running state, and A d-axis current command value limiting section (for example, a d-axis current command limiter 37) that outputs a d-axis current command value that is equal to or less than two current limit values is provided. The regeneration determination unit (for example, the all-axis regeneration determination unit 35) determines either the power running state or the regeneration state based on the state of the motor with the highest load among the plurality of motors.

また、本実施の形態に係るロボット制御装置100によるモータ制御方法は、外部から通知される速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算するステップと、速度指令値に基づいて、加速度指令値を演算するステップと、速度指令値および加速度指令値に基づいて、力行状態または回生状態のいずれかを判定するステップと、力行状態においてd軸電流指令値の電流制限値である第1電流制限値(例えば力行時d軸電流リミット372)以下となるd軸電流指令値を出力し、回生状態においてd軸電流指令値の電流制限値である第2電流制限値(例えば回生時d軸電流リミット371)以下となるd軸電流指令値を出力するステップと、q軸電流指令値およびd軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算するステップと、複数の電圧指令値に基づいて、複数のモータに複数の駆動電力をそれぞれ出力するステップと、を有する。力行状態または回生状態のいずれかの判定は、複数のモータMT1のうち最も負荷が高いモータの状態に基づいて実行される。 Further, the motor control method by the robot control device 100 according to the present embodiment includes the steps of calculating the q-axis current command value and the d-axis current command value based on the speed command value notified from the outside, and the step of calculating the q-axis current command value and the d-axis current command value based on the speed command value notified from the outside. a step of calculating an acceleration command value based on the speed command value and an acceleration command value, a step of determining either the power running state or the regeneration state based on the speed command value and the acceleration command value, and a step of calculating the current limit value of the d-axis current command value in the power running state. A d-axis current command value that is less than or equal to a certain first current limit value (for example, the d-axis current limit 372 during power running) is output, and a second current limit value that is the current limit value of the d-axis current command value in the regenerative state (for example, regenerative a step of outputting a d-axis current command value that is equal to or less than the d-axis current limit 371); and a step of outputting a d-axis current command value that is less than or equal to The method includes a step of calculating a voltage command value, and a step of outputting a plurality of drive powers to the plurality of motors based on the plurality of voltage command values. The determination of whether the motor is in the power running state or the regenerative state is performed based on the state of the motor with the highest load among the plurality of motors MT1.

モータMT1を高速かつ高負荷(言い換えると、高トルク)で動作させるためには、高速動作時のモータMT1に発生する誘起電圧成分の影響を低減させる必要がある。そのために、従来技術ではd軸電流(言い換えると、無効電流)を流すことでモータ駆動成分であるq軸電流の成分を確保することで実現している。しかしながら、d軸電流が大きくなると、モータMT1に流れる電流が多くなり、その結果モータMT1自身が発熱してしまう。また、モータMT1等のサーボモータはエンコーダEN1を搭載しているためにモータ発熱の影響を受けるため、なるべく発熱を抑えることが望ましい。以上のことからd軸電流分をうまく確保しながらも、モータMT1の発熱を抑えることが求められる。 In order to operate the motor MT1 at high speed and high load (in other words, high torque), it is necessary to reduce the influence of the induced voltage component generated in the motor MT1 during high-speed operation. To achieve this, in the prior art, a d-axis current (in other words, a reactive current) is passed to ensure a q-axis current component, which is a motor drive component. However, when the d-axis current increases, the current flowing through the motor MT1 increases, and as a result, the motor MT1 itself generates heat. Further, since the servo motor such as the motor MT1 is equipped with the encoder EN1 and is affected by the heat generated by the motor, it is desirable to suppress the heat generated as much as possible. From the above, it is required to suppress the heat generation of the motor MT1 while properly securing the d-axis current.

高速かつ高負荷(言い換えると、高トルク)でd軸電流を多く流さないといけない場面は、力行状態(つまり、モータMT1の回転方向と電流方向とが同じ)の場合であり、回生状態(つまり、モータMT1の回転方向と電流方向とが異なる)ではd軸電流をそこまで流す必要なく動作が可能である。ところが、マニピュレータMC1のような複数の軸(例えば6軸)で動作する場合には、各軸毎にモータMT1にかかる負荷の大きさが異なるので必要となるd軸電流成分も異なってくる。 Scenes where a large amount of d-axis current must flow at high speed and high load (in other words, high torque) are in the power running state (in other words, the direction of rotation of motor MT1 and the current direction are the same), and in the regenerative state (in other words, , the rotational direction of the motor MT1 is different from the current direction), the operation is possible without the need to flow the d-axis current to that extent. However, when the manipulator MC1 operates with a plurality of axes (for example, six axes), the magnitude of the load applied to the motor MT1 differs for each axis, so the required d-axis current component also differs.

そこで、本実施の形態によれば、ロボット制御装置100は、複数のモータMT1の中で最も負荷が高い軸に対応するモータMT1の状態が力行状態か回生状態かを判定することにより、マニピュレータMC1として回生状態とみなす場合にはd軸電流指令値を制限することによりモータMT1の発熱を低減させる。これにより、ロボット制御装置100は、マニピュレータMC1のように複数のモータMT1を搭載するロボットにおいて、力行状態と回生状態との状態に応じてd軸電流指令値の電流制限値を選択でき、いずれの状態においても各モータの高速高負荷な動作を効率的に実現することができる。 Therefore, according to the present embodiment, the robot control device 100 controls the manipulator MC1 by determining whether the state of the motor MT1 corresponding to the axis with the highest load among the plurality of motors MT1 is the power running state or the regeneration state. When the motor MT1 is considered to be in a regenerative state, the heat generation of the motor MT1 is reduced by limiting the d-axis current command value. As a result, the robot control device 100 can select the current limit value of the d-axis current command value according to the power running state and the regeneration state in a robot equipped with a plurality of motors MT1 such as the manipulator MC1. Even in this state, high-speed, high-load operation of each motor can be efficiently realized.

また、回生判定部(例えば全軸回生判定部35)は、複数のモータMT1のそれぞれに対応する複数の回生判定値に基づいて、力行状態または回生状態のいずれかを判定する。これにより、ロボット制御装置100は、1つの軸に対応するモータMT1だけでなくマニピュレータMC1が搭載する複数のモータMT1のそれぞれに対応して算出される回生判定値を用いることにより、力行状態または回生状態を的確に判定できる。 Further, the regeneration determination section (for example, the all-axis regeneration determination section 35) determines either the power running state or the regeneration state based on a plurality of regeneration determination values corresponding to each of the plurality of motors MT1. As a result, the robot control device 100 can change the power running state or Condition can be determined accurately.

また、回生判定部(例えば全軸回生判定部35)は、複数の回生判定値のそれぞれについて重み付けを行い、重み付けした複数の回生判定値に基づいて、力行状態または回生状態のいずれかを判定する。これにより、ロボット制御装置100は、マニピュレータMC1が搭載する複数のモータMT1のそれぞれの中で負荷が高いモータ、負荷が低いモータ等のようにモータMTの負荷の影響を考慮して適切に重み付けを施して負荷が最も高いモータの状態に合わせるようにマニピュレータMC1全体としての力行状態または回生状態を高精度に判定できる。 Further, the regeneration determination unit (for example, the all-axis regeneration determination unit 35) weights each of the plurality of regeneration determination values, and determines either the power running state or the regeneration state based on the weighted plurality of regeneration determination values. . As a result, the robot control device 100 appropriately weights the motors MT in consideration of the influence of the load on the motors MT, such as a motor with a high load and a motor with a low load among the plurality of motors MT1 mounted on the manipulator MC1. The power running state or regeneration state of the manipulator MC1 as a whole can be determined with high precision so as to match the state of the motor with the highest load.

以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。 Although various embodiments have been described above with reference to the drawings, it goes without saying that the present disclosure is not limited to such examples. It is clear that those skilled in the art can come up with various changes, modifications, substitutions, additions, deletions, and equivalents within the scope of the claims, and It is understood that it naturally falls within the technical scope of the present disclosure. Further, each of the constituent elements in the various embodiments described above may be arbitrarily combined without departing from the spirit of the invention.

本開示は、複数のモータを搭載するロボットにおいて各モータの高速高負荷な動作を効率的に実現するモータ制御装置およびモータ制御方法として有用である。 The present disclosure is useful as a motor control device and a motor control method that efficiently realize high-speed, high-load operation of each motor in a robot equipped with a plurality of motors.

10 PWMインバータ回路
20 電流ベクトル制御部
21 d-q変換部
22 q軸電流制御部
23 d軸電流制御部
24 逆d-q変換部
30 制御部
31 PI制御部
32 q軸電流指令リミッタ
33 加速度指令算出部
34 回生判定部
35 全軸回生判定部
36 弱め界磁制御部
37 d軸電流指令リミッタ
40 回転速度算出部
100 ロボット制御装置
371 回生時d軸電流リミット
372 力行時d軸電流リミット
1000 溶接ロボットシステム
DT1、DT2 電流検出部
EN1 エンコーダ
M1 電流制限値記憶部
MC1 マニピュレータ
MT1 モータ
10 PWM inverter circuit 20 current vector control section 21 d-q conversion section 22 q-axis current control section 23 d-axis current control section 24 inverse d-q conversion section 30 control section 31 PI control section 32 q-axis current command limiter 33 acceleration command Calculation unit 34 Regeneration determination unit 35 All-axis regeneration determination unit 36 Field weakening control unit 37 d-axis current command limiter 40 Rotation speed calculation unit 100 Robot control device 371 d-axis current limit during regeneration 372 d-axis current limit during power running 1000 Welding robot system DT1 , DT2 Current detection section EN1 Encoder M1 Current limit value storage section MC1 Manipulator MT1 Motor

Claims (4)

外部から通知される速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算する各軸電流演算部と、
前記q軸電流指令値および前記d軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算する電圧指令値演算部と、
前記複数の電圧指令値に基づいて、前記複数のモータに複数の駆動電力をそれぞれ出力する駆動回路と、
前記速度指令値に基づいて、加速度指令値を演算する加速度指令値演算部と、
前記速度指令値および前記加速度指令値に基づいて、力行状態または回生状態のいずれかを判定する回生判定部と、
前記力行状態における前記d軸電流指令値の電流制限値である第1電流制限値と、前記回生状態における前記d軸電流指令値の電流制限値である第2電流制限値と、を記憶する電流制限値記憶部と、
前記力行状態において前記第1電流制限値以下となる前記d軸電流指令値を出力し、前記回生状態において前記第2電流制限値以下となる前記d軸電流指令値を出力するd軸電流指令値制限部と、を備え、
前記回生判定部は、前記複数のモータのうち最も負荷が高いモータの状態に基づいて、前記力行状態または前記回生状態のいずれかを判定する、
モータ制御装置。
each axis current calculation unit that calculates a q-axis current command value and a d-axis current command value based on a speed command value notified from the outside;
a voltage command value calculation unit that calculates a plurality of voltage command values, which are values of voltages to be respectively applied to the plurality of motors, based on the q-axis current command value and the d-axis current command value;
a drive circuit that outputs a plurality of drive powers to the plurality of motors based on the plurality of voltage command values;
an acceleration command value calculation unit that calculates an acceleration command value based on the speed command value;
a regeneration determination unit that determines either a power running state or a regeneration state based on the speed command value and the acceleration command value;
A current that stores a first current limit value that is a current limit value of the d-axis current command value in the power running state, and a second current limit value that is a current limit value of the d-axis current command value in the regeneration state. a limit value storage section;
a d-axis current command value that outputs the d-axis current command value that is less than or equal to the first current limit value in the power running state, and outputs the d-axis current command value that is less than or equal to the second current limit value in the regenerative state; a restriction part;
The regeneration determination unit determines either the power running state or the regeneration state based on the state of the motor with the highest load among the plurality of motors.
Motor control device.
前記回生判定部は、前記複数のモータのそれぞれに対応する複数の回生判定値に基づいて、前記力行状態または前記回生状態のいずれかを判定する、
請求項1に記載のモータ制御装置。
The regeneration determination unit determines either the power running state or the regeneration state based on a plurality of regeneration determination values corresponding to each of the plurality of motors.
The motor control device according to claim 1.
前記回生判定部は、前記複数の回生判定値のそれぞれについて重み付けを行い、重み付けした前記複数の回生判定値に基づいて、前記力行状態または前記回生状態のいずれかを判定する、
請求項2に記載のモータ制御装置。
The regeneration determination unit weights each of the plurality of regeneration determination values, and determines either the power running state or the regeneration state based on the weighted plurality of regeneration determination values.
The motor control device according to claim 2.
外部から通知される速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算するステップと、
前記速度指令値に基づいて、加速度指令値を演算するステップと、
前記速度指令値および前記加速度指令値に基づいて、力行状態または回生状態のいずれかを判定するステップと、
前記力行状態において前記d軸電流指令値の電流制限値である第1電流制限値以下となる前記d軸電流指令値を出力し、前記回生状態において前記d軸電流指令値の電流制限値である第2電流制限値以下となる前記d軸電流指令値を出力するステップと、
前記q軸電流指令値および前記d軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算するステップと、
前記複数の電圧指令値に基づいて、前記複数のモータに複数の駆動電力をそれぞれ出力するステップと、を有し、
前記力行状態または前記回生状態のいずれかの判定は、前記複数のモータのうち最も負荷が高いモータの状態に基づいて実行される、
モータ制御方法。
calculating a q-axis current command value and a d-axis current command value based on a speed command value notified from the outside;
calculating an acceleration command value based on the speed command value;
determining either a power running state or a regeneration state based on the speed command value and the acceleration command value;
Outputting the d-axis current command value that is less than or equal to a first current limit value that is a current limit value of the d-axis current command value in the power running state, and outputting the d-axis current command value that is a current limit value of the d-axis current command value in the regeneration state. outputting the d-axis current command value that is equal to or less than a second current limit value;
calculating a plurality of voltage command values, which are voltage values to be applied to the plurality of motors, based on the q-axis current command value and the d-axis current command value;
outputting a plurality of driving powers to the plurality of motors based on the plurality of voltage command values, respectively;
The determination of either the power running state or the regeneration state is performed based on the state of the motor with the highest load among the plurality of motors.
Motor control method.
JP2022100676A 2022-06-22 2022-06-22 Motor controller and motor control method Pending JP2024001791A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022100676A JP2024001791A (en) 2022-06-22 2022-06-22 Motor controller and motor control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022100676A JP2024001791A (en) 2022-06-22 2022-06-22 Motor controller and motor control method

Publications (1)

Publication Number Publication Date
JP2024001791A true JP2024001791A (en) 2024-01-10

Family

ID=89455186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022100676A Pending JP2024001791A (en) 2022-06-22 2022-06-22 Motor controller and motor control method

Country Status (1)

Country Link
JP (1) JP2024001791A (en)

Similar Documents

Publication Publication Date Title
JP5382069B2 (en) Inverter device and electric motor drive system
JP5957704B2 (en) Electric motor control device
Stojan et al. Novel field-weakening control scheme for permanent-magnet synchronous machines based on voltage angle control
JP4007345B2 (en) Electric drive control device, electric drive control method, and program
JP4715576B2 (en) Electric drive control device and electric drive control method
JP5549751B1 (en) Inverter device, control method for inverter device, and motor drive system
JP2007089248A (en) Driver of electric motor
JP4462207B2 (en) Electric drive control device and electric drive control method
JP2007259551A (en) Controller of motor
JP2006014539A (en) Motor drive controller, control method and program
JP6046446B2 (en) Vector control device, motor control device using the same, and air conditioner
JP2009017706A (en) Motor controller and motor control method
JP2010200430A (en) Drive controller for motors
JP2010268579A (en) Permanent magnet synchronous electric motor system and magnetic field control method therefor
JP4522273B2 (en) Motor control device and motor drive system having the same
JP6998717B2 (en) Variable magnetic force motor control method and control device
JP2007274843A (en) Unit and method for electromotive drive control
JP2010239790A (en) Rotary electric machine controller
JP2006304462A (en) Motor drive system and control method for permanent magnet motor
JPH08275599A (en) Control method for permanent magnet synchronous motor
JP5212594B2 (en) Control device for permanent magnet type synchronous motor
JP2007135345A (en) Magnet motor controller
JP5908205B2 (en) Rotation sensorless control device
JP2015165757A (en) Inverter controller and control method
JP2009225500A (en) Motor driving unit and its control method