JP2011062794A - Robot system - Google Patents

Robot system Download PDF

Info

Publication number
JP2011062794A
JP2011062794A JP2009217255A JP2009217255A JP2011062794A JP 2011062794 A JP2011062794 A JP 2011062794A JP 2009217255 A JP2009217255 A JP 2009217255A JP 2009217255 A JP2009217255 A JP 2009217255A JP 2011062794 A JP2011062794 A JP 2011062794A
Authority
JP
Japan
Prior art keywords
command
current
speed
control unit
current command
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
JP2009217255A
Other languages
Japanese (ja)
Inventor
Yoshiyuki Okano
義之 岡野
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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2009217255A priority Critical patent/JP2011062794A/en
Publication of JP2011062794A publication Critical patent/JP2011062794A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a robot system allowing a robot to emergency-stop without involving vibratory motion and without imparting damage to mechanical parts regardless of colliding with a foreign object or not. <P>SOLUTION: In an emergency stop mode, a position control unit 31 fixes an outputting speed command vc at zero regardless of a position command pc given by an upper control unit, and does not perform normal position control. A speed control unit 32 computes a computed current command value ic' so as to agree with a speed command vc in which the rotational speed v* of a motor M is fixed to zero, and performs predetermined filter control against the computed current command value ic' so as to limit variation of a current command ic to a predetermined limit value or below. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は、緊急停止指令が入力されることにより、ロボットの動作を直ちに停止させる制御を行うロボットシステムに関する。   The present invention relates to a robot system that performs control to immediately stop the operation of a robot when an emergency stop command is input.

ロボットシステムでは、非常時にロボットのアームの動作を直ちに停止させる緊急停止制御を行うようになっている。この緊急停止制御では、ロボットの各軸を駆動するモータに逆転トルクを発生させつつ、その後の移動軌跡に沿ってアームの動作を停止させる。すなわち、上記緊急停止制御では、現在位置を指令位置に一致させる位置制御を実行しながらロボットの動作を停止させていた。   In the robot system, emergency stop control is performed to immediately stop the operation of the robot arm in an emergency. In this emergency stop control, a reverse torque is generated in the motor that drives each axis of the robot, and the operation of the arm is stopped along the subsequent movement trajectory. That is, in the emergency stop control, the operation of the robot is stopped while performing position control for matching the current position with the command position.

このような緊急停止時には、通常動作における停止時に比べて高い加速度(減速度)での停止動作となる。従って、上記緊急停止制御では、高い加速度により停止動作を行うにもかかわらず位置制御を行うため、ロボットのアームの動きが振動的になる可能性がある。すなわち、ロボットのアームが目標の停止位置を一旦通り過ぎてから再び戻るように停止することがある。このような振動的な動作を、ロボットを操作する者(操作者)が予期することは難しい。このため、緊急停止時の操作者の安全性が低下するおそれがあった。   During such an emergency stop, the stop operation is performed at a higher acceleration (deceleration) than during a normal operation stop. Therefore, in the emergency stop control, since the position control is performed even though the stop operation is performed at a high acceleration, there is a possibility that the movement of the robot arm becomes vibration. That is, the robot arm may stop so as to return after passing once the target stop position. It is difficult for a person (operator) operating the robot to anticipate such a vibrational motion. For this reason, the operator's safety during an emergency stop may be reduced.

また、上記した振動的な動作においてアームの移動方向が反転する瞬間には、大きな逆転トルクが発生してロボットの関節に多大な負荷がかかることになる。このように関節に大きな負荷がかかると、関節を構成する機構部品に損傷を与えたり、それら部品間の締結が緩んだりする可能性がある。ロボットシステムでは、関節部分が正常であることを前提としてモータをフィードバック制御し、ロボットの動作制御を行っているので、関節部分に上記問題が生じると精度のよい動作制御ができない。   Further, at the moment when the moving direction of the arm is reversed in the vibrational operation described above, a large reverse torque is generated and a great load is applied to the joint of the robot. When a large load is applied to the joint in this way, there is a possibility that the mechanical parts constituting the joint may be damaged or the fastening between these parts may be loosened. In the robot system, the feedback control of the motor is performed on the assumption that the joint portion is normal, and the operation control of the robot is performed. Therefore, when the above-described problem occurs in the joint portion, accurate operation control cannot be performed.

これに対し、特許文献1には、ロボットの衝突後の停止制御方法が開示されている。すなわち、特許文献1記載の技術では、ロボットが異物に衝突したことを検出すると、衝突を検知した軸を駆動するサーボモータへの速度指令をゼロにすることで逆転トルクを発生させて、できるだけ短時間でロボットの動作を停止させている。   On the other hand, Patent Document 1 discloses a stop control method after a robot collision. That is, in the technique described in Patent Document 1, when it is detected that the robot has collided with a foreign object, the reverse torque is generated by setting the speed command to the servo motor that drives the shaft that has detected the collision to zero, and as short as possible. The robot operation is stopped in time.

特開平3−281194号公報JP-A-3-281194

特許文献1記載の技術によれば、ロボットが異物に衝突したことで緊急停止を行う必要が生じた場合には、ロボットの動作を短時間で停止させることができる。しかし、このような特許文献1記載の技術をロボットが異物に衝突することなく緊急停止を行う場合に適用すると次のような問題が生じる。   According to the technique described in Patent Document 1, when it is necessary to perform an emergency stop because the robot collides with a foreign object, the operation of the robot can be stopped in a short time. However, when the technique described in Patent Document 1 is applied to an emergency stop without collision of a robot with a foreign object, the following problem occurs.

すなわち、アームが衝突する瞬間にはモータの回転速度はほとんどゼロとなる。従って、衝突した時点から回転速度をゼロに低下させるために発生させる逆転トルクは比較的小さい。このため、逆転トルクによって関節部に加わる負荷も小さい。これに対し、アームが異物に衝突することなく緊急停止をさせる場合には、停止動作を開始する瞬間のモータの回転速度は、それ以前の回転速度とほぼ同じである。従って、停止動作の開始時点から回転速度をゼロに停止させるために発生させる逆転トルクは大きなものとなる。このため、逆転トルクによって関節部に加わる負荷も大きくなってしまう。   That is, at the moment when the arm collides, the rotational speed of the motor becomes almost zero. Therefore, the reverse torque generated to reduce the rotational speed to zero from the time of collision is relatively small. For this reason, the load added to a joint part by reverse rotation torque is also small. On the other hand, when an emergency stop is performed without the arm colliding with a foreign object, the rotational speed of the motor at the moment of starting the stop operation is substantially the same as the previous rotational speed. Accordingly, the reverse torque generated in order to stop the rotation speed to zero from the start time of the stop operation becomes large. For this reason, the load added to a joint part by reverse rotation torque will also become large.

本発明は上記事情に鑑みてなされたものであり、その目的は、異物に衝突したか否かにかかわらず、振動的な動作を伴うことなく且つ機構部品に損傷を与えることなくロボットを緊急停止させることができるロボットシステムを提供することにある。   The present invention has been made in view of the above circumstances, and its purpose is to stop the robot urgently without causing any vibrational action and damaging the mechanical parts regardless of whether or not it collides with a foreign object. An object of the present invention is to provide a robot system that can be used.

請求項1記載の手段によれば、ロボットの動作を最短距離で停止させるように指令する緊急停止指令が入力されていないとき、つまり通常時の動作は次のように行われる。すなわち、位置制御部は、位置検出部により検出されるモータの回転位置を、上位制御部から与えられる位置指令に一致させるように速度指令を出力する位置制御を行う。速度制御部は、速度演算部により演算されるモータの回転速度を、位置制御部から与えられる速度指令に一致させるようにモータに所定のトルクを発生させるための電流指令を出力する速度制御を行う。電流制御部は、電流検出部により検出されるモータに流れる電流を、速度制御部から与えられる電流指令に一致させるようにモータの通電指令を駆動部に対して出力する。このような位置制御、速度制御および電流制御が行われることにより、ロボットの各軸を駆動するモータの駆動がフィードバック制御される。   According to the first aspect of the present invention, when the emergency stop command for instructing the robot operation to be stopped at the shortest distance is not input, that is, the normal operation is performed as follows. That is, the position control unit performs position control that outputs a speed command so that the rotational position of the motor detected by the position detection unit matches the position command given from the host control unit. The speed control unit performs speed control for outputting a current command for causing the motor to generate a predetermined torque so that the rotation speed of the motor calculated by the speed calculation unit matches the speed command given from the position control unit. . The current control unit outputs a motor energization command to the drive unit so that the current flowing through the motor detected by the current detection unit matches the current command supplied from the speed control unit. By performing such position control, speed control, and current control, the drive of the motor that drives each axis of the robot is feedback controlled.

一方、上記緊急停止指令が入力手段を介して入力されたとき、つまり緊急停止時の動作は次のように行われる。すなわち、位置制御部は、上位制御部から与えられる位置指令にかかわらず、出力する速度指令をゼロに固定する。そして、速度制御部は、以下のようなフィルタ制御を行う。このフィルタ制御において、速度制御部は、今回のサンプリング時点において通常時と同様に求めた電流指令である今回電流指令と、前回のサンプリング時点における電流指令である前回電流指令との差を求める。この差は、前回のサンプリング時点から今回のサンプリング時点にかけての電流指令の変化量(増加量または減少量)に相当する。この変化量が予め定められた所定の制限変化量以下である場合には、今回電流指令を電流指令として電流制御部に出力する。また、変化量が制限変化量より大きく、且つ増加量である場合には、前回電流指令に対し、プラスの符号を付した制限変化量を加えたものを電流指令として電流制御部に出力する。また、変化量が制限変化量より大きく、且つ減少量である場合には、前回電流指令に対し、マイナスの符号を付した制限変化量を加えたものを電流指令として電流制御部に出力する。このフィルタ動作は、位置制御部から出力される速度指令がゼロに固定されているため、モータの回転速度がゼロになるまで継続される。   On the other hand, when the emergency stop command is input via the input means, that is, the operation at the time of emergency stop is performed as follows. That is, the position control unit fixes the output speed command to zero regardless of the position command given from the host control unit. The speed control unit performs the following filter control. In this filter control, the speed control unit obtains a difference between the current command that is the current command obtained at the current sampling time as in the normal time and the previous current command that is the current command at the previous sampling time. This difference corresponds to the amount of change (increase or decrease) in the current command from the previous sampling time to the current sampling time. If this change amount is equal to or less than a predetermined limit change amount, the current command is output as a current command to the current control unit. Further, when the change amount is larger than the limit change amount and the increase amount, a value obtained by adding the limit change amount with a plus sign to the previous current command is output to the current control unit as a current command. Further, when the change amount is larger than the limit change amount and the decrease amount, a value obtained by adding the limit change amount with a minus sign to the previous current command is output to the current control unit as a current command. This filter operation is continued until the rotational speed of the motor becomes zero because the speed command output from the position control unit is fixed to zero.

緊急停止時には、上記動作が行われることでモータの駆動を停止する方向に働く電流(逆転トルク)の変化量が所定の制限変化量以下に抑えられる。従って、例えば緊急停止指令が入力された直後などに多大な逆転トルクが発生し、ロボットを構成する機構部品に過大な負担がかかり損傷を与えてしまう事態を未然に防止できる。また、この緊急停止時には、位置制御部から出力される速度指令はゼロに固定されており、通常の位置制御は行われない。このため、速度制御部は、位置制御による制限を受けることなく、回転速度をゼロに収束させるべく速度制御を実行する。従って、振動的な動作を伴うことなく、ロボットを最短距離で緊急停止させることができる。   During an emergency stop, the amount of change in the current (reverse torque) that acts in the direction of stopping the drive of the motor is suppressed by performing the above operation to be equal to or less than a predetermined limit change amount. Therefore, it is possible to prevent a situation in which a great amount of reverse torque is generated immediately after an emergency stop command is input, for example, and an excessive load is applied to the mechanical parts constituting the robot to cause damage. Further, during this emergency stop, the speed command output from the position control unit is fixed to zero, and normal position control is not performed. For this reason, the speed control unit executes speed control so as to converge the rotation speed to zero without being restricted by the position control. Therefore, the robot can be urgently stopped at the shortest distance without accompanying a vibration operation.

本手段によれば、通常、ロボットのモータ制御に用いられる位置制御を実行する位置制御部および速度制御を実行する速度制御部に対し、緊急停止指令が入力されたときの上記制御内容を追加するだけで上記各効果が得られる。このため、既存の緊急停止制御からの修正が容易であり、また、制御部の制御内容を簡素化することができる。   According to this means, the above-described control contents when an emergency stop command is input are added to the position control unit that executes position control and the speed control unit that executes speed control, which are normally used for motor control of the robot. The above-mentioned effects can be obtained only by this. For this reason, the correction from the existing emergency stop control is easy, and the control content of the control unit can be simplified.

本発明の一実施形態を示すロボットシステムの電気構成図The electric block diagram of the robot system which shows one Embodiment of this invention モータ制御の内容を等価的に示すブロック図Block diagram equivalently showing the contents of motor control ロボットシステムの構成を概略的に示す図A diagram schematically showing the configuration of the robot system 割り込み制御の内容を示すフローチャートFlow chart showing the contents of interrupt control 位置制御部の制御内容を示すフローチャートFlow chart showing control contents of position control unit 速度制御部の制御内容を示すフローチャートFlow chart showing control contents of speed control unit 電流制御部の制御内容を示すフローチャートFlow chart showing control contents of current controller フィルタ制御の内容を示すフローチャートFlow chart showing the contents of filter control 緊急停止時における電流指令および電流指令演算値の変化を表す図Diagram showing changes in current command and current command calculation value during emergency stop 緊急停止時における回転速度を表す図Diagram showing rotation speed at emergency stop 緊急停止時における電流指令を表す図Diagram showing current command at emergency stop

以下、本発明の一実施形態について図面を参照しながら説明する。
図3は、一般的な産業用ロボットのシステム構成を示している。この図3に示すロボットシステム1は、ロボット2と、ロボット2を制御するコントローラ3と、コントローラ3に接続されたティーチングペンダント4(入力手段に相当)とから構成されている。
ロボット2は、例えば6軸の垂直多関節型ロボットとして構成されている。ロボット2は、ベース5と、このベース5に水平方向に回転可能に支持されたショルダ部6と、このショルダ部6に上下方向に回転可能に支持された下アーム7と、この下アーム7に上下方向に回転可能に支持された第1の上アーム8と、この第1の上アーム8に捻り回転可能に支持された第2の上アーム9と、この第2の上アーム9に上下方向に回転可能に支持された手首10と、この手首10に捻り回転可能に支持されたフランジ11とから構成されている。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 3 shows a system configuration of a general industrial robot. A robot system 1 shown in FIG. 3 includes a robot 2, a controller 3 that controls the robot 2, and a teaching pendant 4 (corresponding to input means) connected to the controller 3.
The robot 2 is configured as, for example, a 6-axis vertical articulated robot. The robot 2 includes a base 5, a shoulder portion 6 that is rotatably supported by the base 5 in the horizontal direction, a lower arm 7 that is rotatably supported by the shoulder portion 6 in the vertical direction, and a lower arm 7. A first upper arm 8 rotatably supported in the vertical direction, a second upper arm 9 rotatably supported by the first upper arm 8, and a vertical direction on the second upper arm 9 The wrist 10 is rotatably supported on the wrist 10 and the flange 11 is rotatably supported on the wrist 10 by twisting.

ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能し、アーム先端であるフランジ11には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。ロボット2に設けられる複数の軸はそれぞれに対応して設けられるモータ(図1に符号Mを付して示す)により駆動される。各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器(図示せず)が設けられている
ティーチングペンダント4は、例えば使用者が携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状に形成されている。ティーチングペンダント4には、各種のキースイッチ12が設けられており、使用者は、キースイッチ12により種々の入力操作を行う。このキースイッチ12には、後述する緊急停止を指示するための緊急停止スイッチが含まれている。使用者は、この緊急停止スイッチを操作することで、ロボット2の動作(アームの動作)を最短距離で停止させることができるようになっている。ティーチングペンダント4は、ケーブルを経由してコントローラ3に接続され、通信インターフェイスを経由してコントローラ3との間で高速のデータ転送を実行するようになっており、キースイッチ12の操作により入力された操作信号等の情報はティーチングペンダント4からコントローラ3へ送信される。
The base 5, the shoulder portion 6, the lower arm 7, the first upper arm 8, the second upper arm 9, the wrist 10 and the flange 11 function as an arm of the robot 2. Although not, an end effector (hand) is attached. A plurality of axes provided in the robot 2 are driven by motors (indicated by reference numeral M in FIG. 1) provided corresponding to each of the axes. In the vicinity of each motor, a position detector (not shown) for detecting the rotational position of each rotating shaft is provided. The teaching pendant 4 can be operated, for example, carried by the user or held in the hand. For example, it is formed in a thin, substantially rectangular box shape. The teaching pendant 4 is provided with various key switches 12, and the user performs various input operations using the key switches 12. The key switch 12 includes an emergency stop switch for instructing an emergency stop described later. The user can stop the operation of the robot 2 (arm operation) at the shortest distance by operating this emergency stop switch. The teaching pendant 4 is connected to the controller 3 via a cable, and performs high-speed data transfer with the controller 3 via a communication interface. The teaching pendant 4 is input by operating the key switch 12. Information such as operation signals is transmitted from the teaching pendant 4 to the controller 3.

図1は、ロボットシステム1の電気構成を概略的に示すブロック図である。ロボット2には、各軸をそれぞれ駆動するための複数のモータM(図1では1つのみ示す)が設けられている。モータMはブラシレスDCモータである。コントローラ3には、交流電源21より供給される交流を整流および平滑して出力する直流電源装置22、モータMを駆動するインバータ装置23、電流検出部24、位置検出部25およびこれら各装置の制御などを行う制御部26が設けられている。   FIG. 1 is a block diagram schematically showing an electrical configuration of the robot system 1. The robot 2 is provided with a plurality of motors M (only one is shown in FIG. 1) for driving each axis. The motor M is a brushless DC motor. The controller 3 includes a direct current power supply device 22 that rectifies and smoothes alternating current supplied from the alternating current power supply 21, an inverter device 23 that drives the motor M, a current detection unit 24, a position detection unit 25, and controls of these devices. A control unit 26 for performing the above and the like is provided.

直流電源装置22は、整流回路27と平滑用のコンデンサ28とから構成されている。整流回路27は、ダイオードをブリッジの形態に接続してなる周知構成のものである。例えば3相200Vの交流電源21の各相出力は、整流回路27の交流入力端子に接続されている。整流回路27の直流出力端子は、それぞれ直流電源線29、30に接続されている。これら直流電源線29、30間にはコンデンサ28が接続されている。   The DC power supply device 22 includes a rectifier circuit 27 and a smoothing capacitor 28. The rectifier circuit 27 has a known configuration in which a diode is connected in the form of a bridge. For example, each phase output of the 3-phase 200 V AC power supply 21 is connected to the AC input terminal of the rectifier circuit 27. The DC output terminals of the rectifier circuit 27 are connected to DC power supply lines 29 and 30, respectively. A capacitor 28 is connected between the DC power supply lines 29 and 30.

インバータ装置23(駆動部に相当))は、直流電源線29、30間に6つのスイッチング素子例えばIGBT(図1には2つのみ示す)を三相フルブリッジ接続して構成されたインバータ主回路と、その駆動回路とを6組備えている(図1には1組のみ示す)。IGBTのコレクタ・エミッタ間には還流ダイオードが接続されている。また、IGBTのゲートには、駆動回路からゲート信号が与えられている。駆動回路は、制御部26から与えられる指令信号(通電指令Sc)に基づいてパルス幅変調されたゲート信号を出力して各IGBTを駆動する。   The inverter device 23 (corresponding to the drive unit)) is an inverter main circuit configured by connecting six switching elements, for example, IGBTs (only two are shown in FIG. 1) between the DC power supply lines 29 and 30 in a three-phase full bridge. And 6 sets of the drive circuits (only one set is shown in FIG. 1). A free-wheeling diode is connected between the collector and emitter of the IGBT. The gate signal is given to the gate of the IGBT from the drive circuit. The drive circuit drives each IGBT by outputting a gate signal that is pulse-width modulated based on a command signal (energization command Sc) given from the control unit 26.

制御部26は、CPU、ROM、RAM、I/Oなどを備えたマイクロコンピュータを主体として構成されている。電流検出部24は、モータMに流れる電流を検出する電流検出器(図示せず)からの検出信号を制御部26に入力可能なデータに変換して出力する。位置検出部25は、モータMの回転位置を検出する位置検出器(図示せず)からの検出信号を制御部26に入力可能なデータに変換して出力する。制御部26は、電流検出部24から出力されるデータを元にモータMに流れる電流の値を取得するとともに、位置検出部25から出力されるデータを元にモータMの回転位置および回転速度を取得する。詳細は後述するが、制御部26は、このようにして取得した電流値、回転位置および回転速度を用いてインバータ装置23によるモータMの駆動をフィードバック制御する。   The control unit 26 is configured mainly with a microcomputer including a CPU, a ROM, a RAM, an I / O, and the like. The current detector 24 converts a detection signal from a current detector (not shown) that detects a current flowing through the motor M into data that can be input to the controller 26 and outputs the data. The position detector 25 converts a detection signal from a position detector (not shown) that detects the rotational position of the motor M into data that can be input to the controller 26 and outputs the data. The control unit 26 acquires the value of the current flowing through the motor M based on the data output from the current detection unit 24, and determines the rotational position and rotational speed of the motor M based on the data output from the position detection unit 25. get. Although details will be described later, the control unit 26 performs feedback control of the driving of the motor M by the inverter device 23 using the current value, the rotation position, and the rotation speed acquired in this way.

図2は、ロボットシステム1におけるモータ制御の内容を等価的に示したブロック図である。この図2に示すように、制御部26は、位置制御部31、速度制御部32および電流制御部33を備えている。なお、図2では、1つのモータMの制御に係る構成のみを示しているが、実際には全てのモータMのそれぞれに対応して同様の構成が設けられている。さて、一般に産業用のロボットは、予めティーチングなどを実施することにより作成される所定の動作プログラムに従って動作するようになっている。図示しない上位制御部は、その動作プログラムを解釈し、ロボット2に動作プログラムに従った動作を行わせるように各モータMを制御するための指令値(位置指令pc)を位置制御部31に出力する。   FIG. 2 is a block diagram equivalently showing the contents of motor control in the robot system 1. As shown in FIG. 2, the control unit 26 includes a position control unit 31, a speed control unit 32, and a current control unit 33. In FIG. 2, only the configuration related to the control of one motor M is shown, but actually the same configuration is provided corresponding to each of all the motors M. In general, an industrial robot operates according to a predetermined operation program created by performing teaching or the like in advance. A host control unit (not shown) interprets the operation program and outputs a command value (position command pc) for controlling each motor M to cause the robot 2 to perform an operation according to the operation program to the position control unit 31. To do.

位置制御部31は、上位制御部から与えられる位置指令pc(モータMの回転位置の指令値)に対する現在の回転位置p*の偏差を求める減算器34と、この減算器34の出力(偏差)をゼロに近づけるように速度指令vcを出力する位置制御アンプ35とから構成されている。この位置制御アンプ35のゲインはKpとなっている。   The position control unit 31 includes a subtractor 34 for obtaining a deviation of the current rotational position p * with respect to a position command pc (command value of the rotational position of the motor M) given from the host control unit, and an output (deviation) of the subtractor 34. And a position control amplifier 35 that outputs a speed command vc so as to approach zero. The gain of the position control amplifier 35 is Kp.

速度制御部32は、微分器36、減算器37、速度制御アンプ38、フィルタ39およびリミッタ40により構成されている。微分器36(速度演算部に相当)は、現在の回転位置p*を微分して現在の回転速度v*に変換する。減算器37は、速度指令vcに対する現在の回転速度v*の偏差を求める。速度制御アンプ38は、この減算器37の出力(偏差)をゼロに近づけるように電流指令演算値ic’を出力する。この速度制御アンプ38のゲインはKvとなっている。フィルタ39は、速度制御アンプ38の出力信号に対し、所定のフィルタ制御(詳細は後述する)を行う。   The speed control unit 32 includes a differentiator 36, a subtractor 37, a speed control amplifier 38, a filter 39, and a limiter 40. The differentiator 36 (corresponding to a speed calculation unit) differentiates the current rotational position p * and converts it to the current rotational speed v *. The subtractor 37 obtains the deviation of the current rotational speed v * from the speed command vc. The speed control amplifier 38 outputs a current command calculation value ic 'so that the output (deviation) of the subtractor 37 approaches zero. The gain of this speed control amplifier 38 is Kv. The filter 39 performs predetermined filter control (details will be described later) on the output signal of the speed control amplifier 38.

リミッタ40は、フィルタ39の出力信号が所定の上限値および下限値を超えないように制限を与えるリミッタ制御を行う。すなわち、リミッタ40は、フィルタ39の出力信号を上限値および下限値でクリップさせる。なお、これら上限値および下限値は、これらを超える電流がモータMに流れると故障が生じる可能性があるという値であり、モータMの回路定数などに基づいて定められている。リミッタ40は、フィルタ39の出力信号に上記制限を与えた信号を電流指令icとして出力する。   The limiter 40 performs limiter control for limiting the output signal of the filter 39 so that it does not exceed a predetermined upper limit value and lower limit value. That is, the limiter 40 clips the output signal of the filter 39 with the upper limit value and the lower limit value. The upper limit value and the lower limit value are values that may cause a failure if a current exceeding these values flows in the motor M, and are determined based on circuit constants of the motor M and the like. The limiter 40 outputs a signal obtained by giving the above limitation to the output signal of the filter 39 as a current command ic.

電流制御部33は、電流指令icに対する現在のモータMに流れる電流i*の偏差を求める減算器41と、この減算器41の出力(偏差)をゼロに近づけるようにインバータ装置23に対する指令信号(通電指令Sc)を出力する電流制御アンプ42とから構成されている。この電流制御アンプ42のゲインはKiとなっている。このような構成により、制御部26は、電流フィードバック制御、速度フィードバック制御および位置フィードバック制御を行い、モータMの駆動をフィードバック制御してロボット2のアームの動作制御を行う。   The current control unit 33 obtains a deviation of the current i * flowing through the current motor M with respect to the current command ic, and a command signal for the inverter device 23 so that the output (deviation) of the subtractor 41 approaches zero. The current control amplifier 42 is configured to output an energization command Sc). The gain of the current control amplifier 42 is Ki. With such a configuration, the control unit 26 performs current feedback control, speed feedback control, and position feedback control, and controls the operation of the arm of the robot 2 by feedback controlling the driving of the motor M.

次に、上記構成の作用について図4〜図11も参照して説明する。
本実施形態では、通常時(通常モード)と緊急停止時(緊急停止モード)とにおいて、制御部26によるモータMの制御動作が変化するようになっている。これら通常モードおよび緊急停止モードは、緊急停止フラグFlgの状態に応じて切り替えられる。この緊急停止フラグFlgは、システムの起動時にリセット(Flg=0)されている。そして、緊急停止フラグFlgは、図4に示す割り込み制御が実行されることでセット(Flg=1)される(図4のステップA1)。
Next, the operation of the above configuration will be described with reference to FIGS.
In the present embodiment, the control operation of the motor M by the control unit 26 changes between the normal time (normal mode) and the emergency stop (emergency stop mode). These normal mode and emergency stop mode are switched according to the state of the emergency stop flag Flg. The emergency stop flag Flg is reset (Flg = 0) when the system is started. The emergency stop flag Flg is set (Flg = 1) by executing the interrupt control shown in FIG. 4 (step A1 in FIG. 4).

この割り込み制御は、ロボット2の動作を緊急停止させるための指令(緊急停止指令)が入力されると実行されるもので、例えばティーチングペンダント4の緊急停止スイッチが操作されたときや、制御部26において何らかの異常(故障)が発生し、以後ロボット2を正常に動作させることが困難であると判断されたときなどに実行される。この割り込み制御が行われて緊急停止フラグFlgがセットされると、モータMの駆動制御によりアームの動作が停止され(詳細は後述する)、その後、インバータ装置23への直流電源の供給が停止される。続いて、モータMの回転軸をロックするブレーキが作動され、その後、上位制御部からの動作プログラムに基づく指令値の出力が停止されるようになっている。   This interrupt control is executed when a command for urgently stopping the operation of the robot 2 (emergency stop command) is input. For example, when the emergency stop switch of the teaching pendant 4 is operated, the control unit 26 This process is executed when it is determined that it is difficult to operate the robot 2 normally. When this interrupt control is performed and the emergency stop flag Flg is set, the operation of the arm is stopped by the drive control of the motor M (details will be described later), and then the supply of DC power to the inverter device 23 is stopped. The Subsequently, a brake that locks the rotating shaft of the motor M is activated, and thereafter, output of a command value based on an operation program from the host control unit is stopped.

最初に、通常モードにおける制御部26によるモータMの制御動作について説明する。通常モードでは、制御部26は、位置フィードバック制御、速度フィードバック制御および電流フィードバック制御を行ってモータMの駆動を制御する。すなわち、位置制御部31は、所定の位置制御周期(例えば500μs)毎に起動し、起動する度に図5のフローチャートに示された内容の制御を実行する。位置制御部31は、最初のステップB1では、モータMの現在の回転位置p*を取得する。続くステップB2では、緊急停止フラグFlgがセットされているか否かを判断する。   First, the control operation of the motor M by the control unit 26 in the normal mode will be described. In the normal mode, the control unit 26 controls the driving of the motor M by performing position feedback control, speed feedback control, and current feedback control. That is, the position control unit 31 is activated every predetermined position control cycle (for example, 500 μs), and executes the control of the contents shown in the flowchart of FIG. 5 each time it is activated. The position control unit 31 acquires the current rotational position p * of the motor M in the first step B1. In the subsequent step B2, it is determined whether or not the emergency stop flag Flg is set.

この場合、緊急停止指令が与えられていないため、緊急停止フラグFlgはリセット(Flg=0)されている(ステップB2で「NO」)。このため、ステップB3をスキップしてステップB4に進み、位置指令pc、回転位置p*および位置ゲインKpを用い、下記(1)式のように速度指令vcを演算する。
vc=Kp×(pc−p*) …(1)
続くステップB5において、上記(1)式に基づいて算出された速度指令vcを速度制御部32に出力して制御を終了する(エンド)。
In this case, since the emergency stop command is not given, the emergency stop flag Flg is reset (Flg = 0) (“NO” in step B2). For this reason, step B3 is skipped and it progresses to step B4, and speed command vc is calculated like following (1) Formula using position command pc, rotation position p *, and position gain Kp.
vc = Kp × (pc−p *) (1)
In the following step B5, the speed command vc calculated based on the above equation (1) is output to the speed control unit 32, and the control is ended (END).

速度制御部32は、所定の速度制御周期(サンプリング周期に相当するものであり、例えば250μs)毎に起動し、起動する度に図6のフローチャートに示された内容の制御を実行する。速度制御部32は、最初のステップC1では、モータMの現在の回転速度v*を取得する。続くステップC2では、速度指令vc、回転速度v*および速度ゲインKvを用い、下記(2)式のように電流指令演算値ic’を演算する。
ic’=Kv×(vc−v*) …(2)
The speed control unit 32 is activated every predetermined speed control period (corresponding to a sampling period, for example, 250 μs), and executes the control of the contents shown in the flowchart of FIG. 6 each time it is activated. In the first step C1, the speed control unit 32 acquires the current rotational speed v * of the motor M. In the subsequent step C2, the current command calculation value ic ′ is calculated using the speed command vc, the rotation speed v *, and the speed gain Kv as shown in the following equation (2).
ic ′ = Kv × (vc−v *) (2)

この場合、緊急停止指令が与えられていないため、緊急停止フラグFlgはリセット(Flg=0)されている(ステップC3で「NO」)。このため、ステップC4のフィルタ制御は行わずにステップC5に進む。
ステップC5では、上記(2)式に基づいて算出された電流指令演算値ic’に対して所定の制限を与えるリミッタ制御を行う。続くステップC6では、ステップC5にて制限が与えられた電流指令演算値ic’を、電流指令icとして電流制御部33に出力して制御を終了する(エンド)。
In this case, since the emergency stop command is not given, the emergency stop flag Flg is reset (Flg = 0) (“NO” in step C3). For this reason, the process proceeds to step C5 without performing the filter control in step C4.
In step C5, limiter control for giving a predetermined limit to the current command calculation value ic ′ calculated based on the above equation (2) is performed. In the subsequent step C6, the current command calculation value ic ′ restricted in step C5 is output to the current control unit 33 as the current command ic, and the control is terminated (END).

電流制御部33は、所定の電流制御周期(例えば50μs)毎に起動し、起動する度に図7のフローチャートに示された内容の制御を実行する。電流制御部33は、最初のステップD1では、モータMに流れる電流i*を取得する。続くステップD2では、電流指令ic、電流i*および電流ゲインKiを用い、下記(3)式のように通電指令Scを演算する。
Sc=Ki×(ic−i*) …(3)
続くステップD3において、上記(3)式に基づいて算出された通電指令Scをインバータ装置23に出力して制御を終了する(エンド)。
The current control unit 33 is activated every predetermined current control cycle (for example, 50 μs), and executes the control of the contents shown in the flowchart of FIG. 7 each time it is activated. In the first step D1, the current control unit 33 acquires the current i * flowing through the motor M. In the subsequent step D2, the energization command Sc is calculated using the current command ic, the current i *, and the current gain Ki as shown in the following equation (3).
Sc = Ki × (ic−i *) (3)
In subsequent step D3, the energization command Sc calculated based on the above equation (3) is output to the inverter device 23, and the control is terminated (END).

続いて、緊急停止モードにおける制御部26によるモータMの制御動作について説明する。以下では、緊急停止モードでの位置制御部31および速度制御部32の動作について通常モードの場合とは異なる部分を主体に説明する。なお、電流制御部33は、緊急停止モードにおいても通常モードの場合と同様の制御を行うので説明を省略する。   Subsequently, the control operation of the motor M by the control unit 26 in the emergency stop mode will be described. Hereinafter, the operations of the position control unit 31 and the speed control unit 32 in the emergency stop mode will be described mainly with respect to portions different from those in the normal mode. Note that the current control unit 33 performs the same control as in the normal mode even in the emergency stop mode, and a description thereof will be omitted.

緊急停止モードでは、位置制御部31は、上位制御部から与えられる位置指令pcにかかわらず速度指令vcをゼロに固定する。すなわち、この場合、緊急停止フラグFlgがセット(Flg=1)されている(ステップB2で「YES」)ため、ステップB3に進み、位置ゲインKpをゼロにする(Kp=0)。これにより、続くステップB4で求められる速度指令vcがゼロに固定される。そして、ステップB5において、ゼロに固定された速度指令vcを速度制御部32に出力する。   In the emergency stop mode, the position control unit 31 fixes the speed command vc to zero regardless of the position command pc given from the host control unit. That is, in this case, since the emergency stop flag Flg is set (Flg = 1) (“YES” in step B2), the process proceeds to step B3 and the position gain Kp is set to zero (Kp = 0). As a result, the speed command vc obtained in the subsequent step B4 is fixed to zero. In step B5, the speed command vc fixed to zero is output to the speed control unit 32.

緊急停止モードでは、速度制御部32は、電流指令演算値ic’に対してフィルタ制御を行う。すなわち、この場合、緊急停止フラグFlgがセット(Flg=1)されている(ステップC3で「YES」)ため、ステップC4に進みフィルタ制御を実行する。このフィルタ制御の内容は図8に示すものである。まず、最初のステップE1では、前回の速度制御起動時点(1速度制御周期前の時点)から今回の速度制御起動時点(現時点)にかけての電流指令演算値ic’の変化量a(増加量または減少量、傾き)を求める。すなわち、ステップE1では、今回の速度制御起動時にステップC2で演算された電流指令演算値ic’(今回電流指令に相当するものであり、以下ic’(n)と表す)と、前回の速度制御起動時にリミッタ40に出力された電流指令ic(前回電流指令に相当するものであり、以下ic(n−1)と表す)とを用い、下記(4)式のように変化量aを演算する。
a=ic’(n)−ic(n−1) …(4)
In the emergency stop mode, the speed control unit 32 performs filter control on the current command calculation value ic ′. That is, in this case, since the emergency stop flag Flg is set (Flg = 1) (“YES” in step C3), the process proceeds to step C4 and the filter control is executed. The contents of this filter control are shown in FIG. First, in the first step E1, the change amount a (increase or decrease) of the current command calculation value ic ′ from the previous speed control start time (time before one speed control cycle) to the current speed control start time (current time). Volume, slope). That is, in step E1, the current command calculation value ic ′ calculated in step C2 when the current speed control is activated (corresponding to the current current command, hereinafter referred to as ic ′ (n) ) and the previous speed control. Using the current command ic (corresponding to the previous current command, hereinafter referred to as ic (n-1)) output to the limiter 40 at the time of start-up, the change amount a is calculated as in the following equation (4). .
a = ic ′ (n) −ic (n−1) (4)

続くステップE2では、変化量aの絶対値|a|が、制限値alim(制限変化量に相当)を超えているか否かを判断する。変化量aの絶対値|a|が制限値alim以下である場合(ステップE2で「NO」)、ステップE3〜E5をスキップしてステップE6に進む。そして、ステップE6において、今回の電流指令演算値ic’(n)をそのままリミッタ40に出力し、制御を終了する(リターン)。 In the subsequent step E2, it is determined whether or not the absolute value | a | of the change amount a exceeds the limit value alim (corresponding to the limit change amount). If the absolute value | a | of the change amount a is equal to or less than the limit value alim (“NO” in step E2), the process skips steps E3 to E5 and proceeds to step E6. In step E6, the current command calculation value ic ′ (n) is output to the limiter 40 as it is, and the control is terminated (return).

一方、変化量aの絶対値|a|が制限値alimを超えている場合(ステップE2で「YES」)、ステップE3に進む。ステップE3では、変化量aの極性、つまり変化量aが増加量(増加方向の傾き、右肩上がりの傾き)であるのか、減少量(減少方向の傾き、右肩下がりの傾き)であるのかを判断する。変化量aが増加量である場合(YES)にはステップE4に進み、減少量である場合(NO)にはステップE5に進む。   On the other hand, if the absolute value | a | of the change amount a exceeds the limit value alim (“YES” in step E2), the process proceeds to step E3. In step E3, the polarity of the change amount a, that is, whether the change amount a is an increase amount (inclination in an increasing direction, an upward slope) or a decrease amount (inclination in a decreasing direction, an upward slope). Judging. If the change amount a is an increase amount (YES), the process proceeds to step E4. If the change amount a is a decrease amount (NO), the process proceeds to step E5.

ステップE4では、前回の電流指令ic(n−1)に対し、プラスの符号を付した制限値alimを加えたもの(ic(n−1)+alim)を今回の電流指令演算値ic’(n)とする。ステップE5では、前回の電流指令ic(n−1)に対し、マイナスの符号を付した制限値alimを加えたもの(ic(n−1)−alim)を今回の電流指令演算値ic’(n)とする。続くステップE6では、ステップE5において求められた電流指令演算値ic’(n)をリミッタ40に出力し、制御を終了する(リターン)。 In step E4, the current command calculation value ic ′ (n ) obtained by adding the limit value alim with a plus sign to the previous current command ic (n−1) (ic (n−1) + alim). ) . In step E5, the current command calculation value ic ' ( ) obtained by adding the limit value alim with a minus sign to the previous current command ic (n-1) (ic (n-1) -alim). n) . In the subsequent step E6, the current command calculation value ic ′ (n) obtained in step E5 is output to the limiter 40, and the control is terminated (return).

このようなフィルタ制御が行われることより、緊急停止時において速度制御部32から出力される電流指令icの前回から今回にかけての変化量(増減量)が制限値alim以下に抑えられる。なお、制限値alimは、緊急停止時においてロボット2を構成する機構部品に過大な負担がかからないように電流指令icの変化量を制限できる値に設定すればよい。例えば、事前にロボット2の可動部に加速度計を取り付けた状態で緊急停止させる実験を、電流指令icの変化量を段階的に変化させて行う。そして、実際に機構部品に異常が生じたときの加速度の計測値から機構部に過大な負担がかかる電流(トルク)の変化量の限界値を求め、その限界値に基づいて制限値alimを設定すればよい。   By performing such filter control, the amount of change (increase / decrease amount) from the previous time to the current time of the current command ic output from the speed control unit 32 at the time of an emergency stop is suppressed to the limit value alim or less. Note that the limit value alim may be set to a value that can limit the amount of change in the current command ic so that an excessive burden is not placed on the mechanical components constituting the robot 2 during an emergency stop. For example, an experiment in which an emergency stop is performed with an accelerometer attached to the movable part of the robot 2 in advance is performed by changing the amount of change in the current command ic stepwise. Then, a limit value of the amount of change in current (torque) that causes an excessive load on the mechanism part is obtained from the measured acceleration value when an abnormality actually occurs in the mechanical component, and the limit value alim is set based on the limit value. do it.

続いて、緊急停止時において速度制御部32から出力される電流指令icがどのように変化するかについて図9も参照しながら説明する。なお、図9では、電流指令icを実線で示し、電流指令演算値ic’を破線で示し、変化量aの制限値alimを二点鎖線で示し、リミッタ40の下限値を一点鎖線で示している。また、図9では、中央の実線(電流指令=0を示す実線)を挟んで、上側がモータMを正転方向(所定のアーム動作を行わせるための回転方向)に回転させる電流(トルク)であり、下側がモータMを逆転方向(所定のアーム動作を停止させるための回転方向)に回転させる電流(トルク)である。なお、図9中に示す時刻t0〜t18は、いずれも速度制御部32が起動される時点(サンプリング時点に相当)を表している。また、図9では、時刻t0〜t1の間に緊急停止指令が入力され、時刻t18の時点でアームの動作が停止される場合を想定している。   Next, how the current command ic output from the speed control unit 32 changes during an emergency stop will be described with reference to FIG. In FIG. 9, the current command ic is indicated by a solid line, the current command calculation value ic ′ is indicated by a broken line, the limit value alim of the change amount a is indicated by a two-dot chain line, and the lower limit value of the limiter 40 is indicated by a one-dot chain line. Yes. In FIG. 9, the current (torque) that rotates the motor M in the forward rotation direction (rotation direction for performing a predetermined arm operation) on the upper side across the central solid line (solid line indicating current command = 0). The lower side is a current (torque) that rotates the motor M in the reverse rotation direction (rotation direction for stopping a predetermined arm operation). Note that times t0 to t18 shown in FIG. 9 each represent a point in time when the speed controller 32 is activated (corresponding to a sampling point). In FIG. 9, it is assumed that an emergency stop command is input between times t0 and t1, and the arm operation is stopped at time t18.

緊急停止指令が入力された後、最初に速度制御部32が起動する時刻t1では、モータMを正転方向に回転する所定の回転速度v*を一気にゼロにすべく、時刻t1〜t2の間の電流指令演算値ic’は、右肩下がりに急激に変化する。しかし、この電流指令演算値ic’の変化量a(傾き)は、制限値alimよりも大きい。従って、時刻t1〜t2の間の電流指令icは、その変化量(傾き)が制限値alimに一致するように制限される。   After the emergency stop command is input, at the time t1 when the speed control unit 32 is first activated, the time between t1 and t2 is set so that the predetermined rotational speed v * for rotating the motor M in the normal rotation direction is zero at a stroke. Current command calculation value ic ′ of the current value changes rapidly downward. However, the change amount a (slope) of the current command calculation value ic ′ is larger than the limit value alim. Therefore, the current command ic between the times t1 and t2 is limited so that the amount of change (slope) matches the limit value alim.

これにより、時刻t1〜t2の間において発生する正転方向の電流(トルク)が緩やかに減少され、回転速度v*も緩やかに低下する。このため、続く時刻t2〜t3の間の電流指令演算値ic’の変化量aは、若干小さくなる。しかし、その変化量が未だ制限値alimより大きいため、時刻t2〜t3の間の電流指令icについても、変化量が制限値alimに一致するように制限される。時刻t3〜t4の間および時刻t4〜t5の間についても、上記同様に、電流指令icの変化量が制限値alimに一致するように制限される。   As a result, the current (torque) in the forward rotation direction generated between the times t1 and t2 is gradually decreased, and the rotational speed v * is also gradually decreased. For this reason, the change amount “a” of the current command calculation value ic ′ between the subsequent times t2 and t3 is slightly reduced. However, since the amount of change is still larger than the limit value alim, the current command ic between times t2 and t3 is also limited so that the amount of change matches the limit value alim. In the same manner as described above, the change amount of the current command ic is also limited between the time t3 and t4 and between the time t4 and t5 so as to coincide with the limit value alim.

続く時刻t5〜t6の間、時刻t6〜t7の間および時刻t7〜t8の間では、演算された電流指令演算値ic’の変化量aは制限値alim以下になる。従って、これらの間では、演算された電流指令演算値ic’がそのまま電流指令icとして出力される。このようにして、電流指令icは、その変化量(傾き)が制限値alim以下となるように、時刻t1の時点の値から緩やかに低下していき、時刻t8の時点で下限値に達する。   During the subsequent times t5 to t6, between times t6 and t7, and between times t7 and t8, the change amount a of the calculated current command calculated value ic 'is not more than the limit value alim. Therefore, between these, the calculated current command calculation value ic 'is output as it is as the current command ic. In this way, the current command ic gradually decreases from the value at the time t1 so that the amount of change (slope) becomes equal to or less than the limit value alim, and reaches the lower limit at the time t8.

電流指令演算値ic’および電流指令icは、下限値に達した後(時刻t8〜t10の間)は、リミッタ制御によりその下限値を超えて低下することなくその値が維持される。その後、時刻t10〜時刻t18の間は、電流指令演算値ic’が右肩上がりに緩やかに変化する。この間の電流指令演算値ic’の変化量aについても制限値alim以下となっているので、電流指令演算値ic’がそのまま電流指令icとして出力される。その後、時刻t18の時点において、アームの動作が停止されることで回転速度v*が速度指令vc(=0)と等しくなり、電流指令icがゼロになる。   After reaching the lower limit value (between times t8 and t10), the current command calculation value ic 'and the current command ic are maintained without being reduced beyond the lower limit value by the limiter control. Thereafter, during the period from time t10 to time t18, the current command calculation value ic ′ gradually changes to the right. Since the change amount a of the current command calculation value ic ′ during this period is also equal to or less than the limit value alim, the current command calculation value ic ′ is output as it is as the current command ic. Thereafter, at time t18, the arm operation is stopped, so that the rotational speed v * becomes equal to the speed command vc (= 0), and the current command ic becomes zero.

以上説明したように、本実施形態によれば次のような効果が得られる。
緊急停止モードでは、位置制御部31は、上位制御部から与えられる位置指令pcにかかわらず速度指令vcをゼロに固定し、通常の位置制御は行わない。このため、本実施形態によれば、緊急停止時にも通常の位置制御を行いながらアームの動作を停止させていた従来技術と比較し、次のような優れた効果を奏する。図10は、緊急停止時のモータMの回転速度の変化について本実施形態と従来技術とを比較したものである。図10では、本実施形態における回転速度を実線で示し、従来技術における回転速度を破線で示している。なお、図10では、時刻taの時点で緊急停止指令が入力された場合を想定している。
As described above, according to the present embodiment, the following effects can be obtained.
In the emergency stop mode, the position control unit 31 fixes the speed command vc to zero regardless of the position command pc given from the host control unit, and does not perform normal position control. For this reason, according to the present embodiment, the following excellent effects can be obtained as compared with the conventional technique in which the operation of the arm is stopped while performing normal position control even at the time of emergency stop. FIG. 10 is a comparison between the present embodiment and the prior art regarding changes in the rotational speed of the motor M during an emergency stop. In FIG. 10, the rotational speed in the present embodiment is indicated by a solid line, and the rotational speed in the conventional technique is indicated by a broken line. In FIG. 10, it is assumed that an emergency stop command is input at time ta.

この図10に示すように、従来技術の場合、時刻taの時点で緊急停止指令が入力された後、所定の制御遅れ時間だけ経過した時刻tbの時点からモータMの回転速度が低下する。この際、緊急停止であるため、通常動作時と比べて高い減速度(加速度)で速度が低下する。ここで、ロボット2の姿勢や把持している物体の重量によっては、この加速度がモータMの出力に対して過大となる場合がある。このような場合には、回転速度v*をゼロに合わせることができずにオーバーシュートしてしまう(図10の時刻tc〜tdの間)。さらに、このときも位置制御が行われているため、回転位置p*を位置指令pcに合わせるべく回転速度v*を再び上昇させる。このような動作が、回転位置p*が位置指令pcに等しくなるまで繰り返されることで回転速度v*が振動的になる(時刻tc〜te)。その結果、緊急停止時におけるアームの動きが振動的になってしまう。   As shown in FIG. 10, in the case of the prior art, after the emergency stop command is input at the time ta, the rotational speed of the motor M decreases from the time tb when a predetermined control delay time has elapsed. At this time, since it is an emergency stop, the speed is reduced at a higher deceleration (acceleration) than in the normal operation. Here, the acceleration may be excessive with respect to the output of the motor M depending on the posture of the robot 2 and the weight of the object being held. In such a case, the rotational speed v * cannot be adjusted to zero and overshoot occurs (between times tc and td in FIG. 10). Further, since the position control is also performed at this time, the rotational speed v * is increased again to match the rotational position p * with the position command pc. Such an operation is repeated until the rotational position p * becomes equal to the position command pc, whereby the rotational speed v * becomes oscillating (time tc to te). As a result, the movement of the arm during an emergency stop becomes vibrational.

これに対し、本実施形態の場合、時刻taの時点で緊急停止指令が入力された後、所定の制御遅れ時間だけ経過した時刻tbの時点からモータMの回転速度が低下する点は従来技術と同じである。しかし、位置制御部31は、速度指令vcをゼロに固定して通常の位置制御を行わないので、速度制御部32は、位置制御による制限を受けることなく、回転速度v*をゼロに収束させるべく速度制御を実行する。その結果、回転速度v*は、振動的になることなく、時刻tb〜時刻tfの間に緩やかに低下し、アームの動作を最短距離で停止させることができる。   On the other hand, in the case of this embodiment, after the emergency stop command is input at the time ta, the rotational speed of the motor M decreases from the time tb when the predetermined control delay time has elapsed. The same. However, since the position control unit 31 does not perform normal position control by fixing the speed command vc to zero, the speed control unit 32 converges the rotational speed v * to zero without being restricted by position control. Execute speed control as much as possible. As a result, the rotation speed v * does not vibrate, but gently decreases between time tb and time tf, and the arm operation can be stopped at the shortest distance.

また、緊急停止モードでは、速度制御部32は、ゼロに固定された速度指令vcと回転速度v*との差に基づいて演算される電流指令演算値ic’に対しフィルタ制御を行い、電流指令icの傾きを所定の制限値alim以下に制限する。このため、本実施形態によれば、緊急停止時に速度指令vcをゼロに固定するだけでは得られない次のような優れた効果を奏する。図11では、本実施形態における電流指令icを実線で示し、フィルタ制御を行わない場合における電流指令icを破線で示している。なお、図11において、本実施形態に係る部分については図9と同じとなっている。   In the emergency stop mode, the speed control unit 32 performs filter control on the current command calculation value ic ′ calculated based on the difference between the speed command vc fixed to zero and the rotation speed v *, and the current command The slope of ic is limited to a predetermined limit value alim or less. For this reason, according to the present embodiment, the following excellent effects that cannot be obtained only by fixing the speed command vc to zero during an emergency stop are obtained. In FIG. 11, the current command ic in the present embodiment is indicated by a solid line, and the current command ic when the filter control is not performed is indicated by a broken line. In FIG. 11, the parts according to this embodiment are the same as those in FIG. 9.

この図9に示すように、フィルタ制御を行わない場合、緊急停止指令が入力された後の最初の制御起動時(時刻t1)に回転速度v*を一気にゼロにすべく、電流指令icが反転方向(逆転方向)に急激に変化する。すなわち、緊急停止指令が入力された直後において多大な逆転トルクが発生する(時刻t1〜t2)。この電流(トルク)の大きな変化は、躍度(加加速度)が大きいことになる。その結果、ロボット2を構成する機構部品に過大な負担がかかり損傷を与えてしまう危険性がある。   As shown in FIG. 9, when the filter control is not performed, the current command ic is inverted so that the rotation speed v * is zero at a stroke when the control is first activated (time t1) after the emergency stop command is input. Changes rapidly in the direction (reverse direction). That is, a great amount of reverse torque is generated immediately after the emergency stop command is input (time t1 to t2). This large change in current (torque) results in a high jerk (jerk). As a result, there is a risk that the mechanical parts constituting the robot 2 are overloaded and damaged.

これに対し、本実施形態の場合、緊急停止指令が入力された後の最初の制御起動時(時刻t1)から電流指令演算値ic’に対しフィルタ制御を行い、電流指令icの傾きを所定の制限値alim以下に制限する。すなわち、モータMの駆動を停止する方向に働く電流(逆転トルク)の変化量が所定の制限値以下に抑えられる。このため、本実施形態によれば、緊急停止する際に機構部品に過大な負担をかけることがなくなるため、関節を構成する機構部品に損傷を与えたり、それら部品間の締結が緩んだりすることがない。従って、緊急停止した後にロボット2を再度起動する際、関節部分に問題がないので動作制御の精度が低下することがない。   On the other hand, in the case of the present embodiment, filter control is performed on the current command calculation value ic ′ from the time of the first control activation (time t1) after the emergency stop command is input, and the slope of the current command ic is set to a predetermined value. Limit to a limit value alim or less. That is, the amount of change in the current (reverse torque) acting in the direction of stopping the driving of the motor M is suppressed to a predetermined limit value or less. For this reason, according to the present embodiment, when an emergency stop is performed, an excessive load is not applied to the mechanical parts, so that the mechanical parts constituting the joint are damaged or the fastening between the parts is loosened. There is no. Therefore, when the robot 2 is restarted after an emergency stop, there is no problem in the joint portion, so that the accuracy of operation control is not lowered.

また、ロボットシステム1では、一般にロボット2のモータMの制御に用いられる位置制御部31および速度制御部32に対し、緊急停止指令が入力されたときの上記制御内容(速度指令vcをゼロに固定するとともに電流指令演算値ic’に対しフィルタ制御を行う)を追加するだけで上記各効果が得られる。このため、既存の緊急停止制御からの修正が容易であり、また、制御部26の制御内容を簡素化することができる。   In the robot system 1, the above control contents (speed command vc is fixed to zero) when an emergency stop command is input to the position control unit 31 and the speed control unit 32 that are generally used for controlling the motor M of the robot 2. In addition, the above-described effects can be obtained simply by adding a filter control to the current command calculation value ic ′. For this reason, the correction from the existing emergency stop control is easy, and the control content of the control unit 26 can be simplified.

なお、本発明は上記し且つ図面に記載した実施形態に限定されるものではなく、次のような変形または拡張が可能である。
速度制御部32におけるリミッタ40は必要に応じて設ければよい。リミッタ40を省略する場合にはフィルタ39の出力信号が電流指令icとなる。
電流指令演算値ic’の変化量aが増加量である場合、それまでの期間に回転速度v*が十分に低下されていることが多く、そのときの変化量aは制限値alim以下である可能性が高い。このような場合には、図8に示すフィルタ制御におけるステップE4は省略してもよい。すなわち、変化量aが増加量である場合(ステップE3で「YES」)には、ステップE6に進み、今回の電流指令演算値ic’(n)をそのまま電流指令icとしてリミッタ40に出力してもよい。
上記実施形態では、本発明を6軸の垂直多関節型のロボット2に適用した例を説明したが、本発明は、各軸をモータにより駆動する構成のロボット全般に適用可能である。
The present invention is not limited to the embodiment described above and illustrated in the drawings, and the following modifications or expansions are possible.
The limiter 40 in the speed control unit 32 may be provided as necessary. When the limiter 40 is omitted, the output signal of the filter 39 is the current command ic.
When the change amount a of the current command calculation value ic ′ is an increase amount, the rotational speed v * is often sufficiently reduced during the period up to that time, and the change amount a at that time is equal to or less than the limit value alim. Probability is high. In such a case, step E4 in the filter control shown in FIG. 8 may be omitted. That is, when the change amount a is an increase amount (“YES” in step E3), the process proceeds to step E6, and the current command calculation value ic ′ (n) of this time is directly output to the limiter 40 as the current command ic. Also good.
In the above-described embodiment, the example in which the present invention is applied to the six-axis vertical articulated robot 2 has been described. However, the present invention can be applied to all robots configured to drive each axis by a motor.

図面中、1はロボットシステム、2はロボット、4はティーチングペンダント(入力手段)、23はインバータ装置(駆動部)、24は電流検出部、25は位置検出部、26は制御部、31は位置制御部、32は速度制御部、33は電流制御部、36は微分器(速度演算部)、Mはモータを示す。   In the drawings, 1 is a robot system, 2 is a robot, 4 is a teaching pendant (input means), 23 is an inverter device (drive unit), 24 is a current detection unit, 25 is a position detection unit, 26 is a control unit, and 31 is a position. A control unit, 32 is a speed control unit, 33 is a current control unit, 36 is a differentiator (speed calculation unit), and M is a motor.

Claims (1)

ロボットの各軸を駆動するためのモータと、
前記モータに通電を行い駆動する駆動部と、
前記駆動部による前記モータの駆動を制御する制御部と、
前記ロボットの動作を最短距離で停止させるように指令する緊急停止指令を入力する入力手段と、
前記モータの回転位置を検出する位置検出部と、
前記位置検出部により検出された前記回転位置を用いて前記モータの回転速度を演算する速度演算部と、
前記モータに流れる電流を検出する電流検出部とを備え
前記制御部は、
前記位置検出部により検出される前記回転位置を上位制御部から与えられる位置指令に一致させるように速度指令を出力する位置制御を行う位置制御部と、
前記速度演算部により演算される前記回転速度を前記位置制御部から与えられる速度指令に一致させるように前記モータに所定のトルクを発生させるための電流指令を出力する速度制御を行う速度制御部と、
前記電流検出部により検出される前記電流を前記速度制御部から与えられる電流指令に一致させるように前記モータの通電指令を前記駆動部に対して出力する電流制御を行う電流制御部とを備え、
前記位置制御部は、前記緊急停止指令が入力されると、前記上位制御部から与えられる回転位置指令にかかわらず前記速度指令をゼロに固定し、
前記速度制御部は、
所定のサンプリング周期毎に前記速度制御を実行し、
前記緊急停止指令が入力されると、今回のサンプリング時点における電流指令である今回電流指令と前回のサンプリング時点における電流指令である前回電流指令との差から前回のサンプリング時点から今回のサンプリング時点までの電流指令の変化量を求め、前記変化量が予め定められた所定の制限変化量以下である場合には前記今回電流指令を電流指令として出力し、前記変化量が前記制限変化量より大きく且つ増加量である場合には、前記前回電流指令に対しプラスの符号を付した前記制限変化量を加えたものを電流指令として出力し、前記変化量が前記制限変化量より大きく且つ減少量である場合には、前記前回電流指令に対しマイナスの符号を付した前記制限変化量を加えたものを電流指令として出力するフィルタ制御を行うことを特徴とするロボットシステム。
A motor for driving each axis of the robot;
A drive unit for energizing and driving the motor;
A control unit that controls driving of the motor by the driving unit;
An input means for inputting an emergency stop command for commanding to stop the operation of the robot at the shortest distance;
A position detector for detecting the rotational position of the motor;
A speed calculator that calculates the rotational speed of the motor using the rotational position detected by the position detector;
A current detection unit that detects a current flowing through the motor;
A position control unit that performs position control to output a speed command so that the rotational position detected by the position detection unit matches a position command given from a host control unit;
A speed control unit that performs speed control for outputting a current command for causing the motor to generate a predetermined torque so that the rotation speed calculated by the speed calculation unit matches a speed command given from the position control unit; ,
A current control unit that performs current control to output an energization command of the motor to the drive unit so as to match the current detected by the current detection unit with a current command given from the speed control unit;
When the emergency stop command is input, the position control unit fixes the speed command to zero regardless of the rotational position command given from the host control unit,
The speed controller is
The speed control is executed every predetermined sampling period,
When the emergency stop command is input, the difference between the current command that is the current command at the current sampling time and the previous current command that is the current command at the previous sampling time is from the previous sampling time to the current sampling time. A change amount of the current command is obtained, and when the change amount is equal to or less than a predetermined limit change amount, the current command is output as a current command, and the change amount is larger than the limit change amount and increased. If it is an amount, the current command is the sum of the previous current command plus the limit change with a plus sign, and the change is greater than the limit change and a decrease Filter control for outputting as a current command a value obtained by adding the limit change amount with a minus sign to the previous current command. Robot system according to claim.
JP2009217255A 2009-09-18 2009-09-18 Robot system Pending JP2011062794A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009217255A JP2011062794A (en) 2009-09-18 2009-09-18 Robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009217255A JP2011062794A (en) 2009-09-18 2009-09-18 Robot system

Publications (1)

Publication Number Publication Date
JP2011062794A true JP2011062794A (en) 2011-03-31

Family

ID=43949601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009217255A Pending JP2011062794A (en) 2009-09-18 2009-09-18 Robot system

Country Status (1)

Country Link
JP (1) JP2011062794A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9548168B2 (en) 2013-07-26 2017-01-17 Seiko Epson Corporation Robot and emergency stop method of robot
CN112428301A (en) * 2020-09-28 2021-03-02 重庆瑞普机器人研究院有限责任公司 Emergency brake impact force calculation method of mobile robot

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03281194A (en) * 1990-03-29 1991-12-11 Fanuc Ltd Stop control method for industrial robot
JPH04113402A (en) * 1990-09-04 1992-04-14 Nec Corp Control system for emergency stop of motor
JPH05250022A (en) * 1992-02-12 1993-09-28 Nec Corp Control system for motor
JPH07143780A (en) * 1993-11-17 1995-06-02 Fanuc Ltd Emergency stop system
JP2005059171A (en) * 2003-08-18 2005-03-10 Kawasaki Heavy Ind Ltd Controlling method and controller of driving means
JP2008201500A (en) * 2007-02-19 2008-09-04 Mitsubishi Heavy Ind Ltd Stop control device and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03281194A (en) * 1990-03-29 1991-12-11 Fanuc Ltd Stop control method for industrial robot
JPH04113402A (en) * 1990-09-04 1992-04-14 Nec Corp Control system for emergency stop of motor
JPH05250022A (en) * 1992-02-12 1993-09-28 Nec Corp Control system for motor
JPH07143780A (en) * 1993-11-17 1995-06-02 Fanuc Ltd Emergency stop system
JP2005059171A (en) * 2003-08-18 2005-03-10 Kawasaki Heavy Ind Ltd Controlling method and controller of driving means
JP2008201500A (en) * 2007-02-19 2008-09-04 Mitsubishi Heavy Ind Ltd Stop control device and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9548168B2 (en) 2013-07-26 2017-01-17 Seiko Epson Corporation Robot and emergency stop method of robot
CN112428301A (en) * 2020-09-28 2021-03-02 重庆瑞普机器人研究院有限责任公司 Emergency brake impact force calculation method of mobile robot
CN112428301B (en) * 2020-09-28 2023-09-26 重庆瑞普机器人研究院有限责任公司 Method for calculating sudden braking impact force of mobile robot

Similar Documents

Publication Publication Date Title
US9893674B2 (en) Motor control device including torque command limit unit
CN102208888B (en) Motor driving system, motor controller, and safety function expander
JP3900789B2 (en) Motor speed / acceleration determination method, acceleration / deceleration generation method, acceleration / deceleration control method, acceleration / deceleration control device, and motor control device
JP6922486B2 (en) Robot control device
US9102058B2 (en) Method and apparatus for implementing a manipulator process
JP5540753B2 (en) Robot system
WO2003086718A1 (en) Robot
JP2015015844A (en) Motor control device having feed forward control
JP5698777B2 (en) Motor control device for generating preload torque value according to motor acceleration
JP2001022424A (en) Speed control method of robot driving motor
US7888893B2 (en) Control apparatus and method for linear synchronous motor
CN108604878B (en) Motor control device
JP5471636B2 (en) Robot system
JP5593968B2 (en) Robot system
JP2011062794A (en) Robot system
JP5633623B2 (en) Robot system
JP5620452B2 (en) Motor control device for controlling a plurality of motors for driving one driven body
CN114731124A (en) Method, robot and computer program product for brake control of at least one servomotor
JP6476635B2 (en) Robot control apparatus and control method
CN105892331A (en) Grasping force estimation and control method for motor-driven manipulator
JP2009038942A (en) Load inertia identification method and servo motor controller
JP2016005296A (en) Control method of motor drive device, motor drive device and robot device
JP5527127B2 (en) Robot system
JP7392503B2 (en) Control device and disconnection detection method
JP5879870B2 (en) Robot system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131126