JP4930969B2 - Robot controller - Google Patents

Robot controller Download PDF

Info

Publication number
JP4930969B2
JP4930969B2 JP2005334152A JP2005334152A JP4930969B2 JP 4930969 B2 JP4930969 B2 JP 4930969B2 JP 2005334152 A JP2005334152 A JP 2005334152A JP 2005334152 A JP2005334152 A JP 2005334152A JP 4930969 B2 JP4930969 B2 JP 4930969B2
Authority
JP
Japan
Prior art keywords
servo motor
unit
robot
monitoring
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005334152A
Other languages
Japanese (ja)
Other versions
JP2007136617A (en
Inventor
光晴 浜畑
真司 岡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nachi Fujikoshi Corp
Daihen Corp
Original Assignee
Nachi Fujikoshi Corp
Daihen Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nachi Fujikoshi Corp, Daihen Corp filed Critical Nachi Fujikoshi Corp
Priority to JP2005334152A priority Critical patent/JP4930969B2/en
Publication of JP2007136617A publication Critical patent/JP2007136617A/en
Application granted granted Critical
Publication of JP4930969B2 publication Critical patent/JP4930969B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Control Of Electric Motors In General (AREA)
  • Numerical Control (AREA)

Description

本発明は、産業用ロボットの位置、速度、トルクを監視するロボット制御装置に関する。   The present invention relates to a robot control apparatus that monitors the position, speed, and torque of an industrial robot.

一般的に産業用ロボットは、各部の動作の駆動源となるサーボモータと、各サーボモータの動作量を検出するパルスジェネレータ等の位置検出器とを備えている。
そして、従来のロボット制御装置は、前記位置検出器からのデータを読み取ることでロボットの位置や速度を監視していた。
即ち、従来のロボット制御装置は、パルスジェネレータからのパルスを計測するカウンタ回路と、設定されたモータ速度の上限値とカウントパルス数とを比較する比較回路と、比較回路における比較タイミングの異常をチェックするタイミングチェック回路と、サーボモータへの電源の接続又は遮断を切り替えるリレーなどを有し、速度異常或いはタイミング異常などが発生するとサーボモータと電源との接続を遮断していた(例えば、特許文献1参照)。
特開平10−254521号公報
In general, an industrial robot includes a servo motor serving as a drive source for the operation of each unit, and a position detector such as a pulse generator that detects an operation amount of each servo motor.
The conventional robot control apparatus monitors the position and speed of the robot by reading data from the position detector.
That is, the conventional robot control device checks the counter circuit that measures the pulses from the pulse generator, the comparison circuit that compares the upper limit value of the set motor speed with the number of count pulses, and the abnormality of the comparison timing in the comparison circuit. And a relay for switching connection or disconnection of the power supply to the servo motor. When a speed abnormality or a timing abnormality occurs, the connection between the servo motor and the power supply is interrupted (for example, Patent Document 1). reference).
Japanese Patent Laid-Open No. 10-254521

しかしながら、上記従来例では、位置検出器からのパルスの計測及び監視を、単一の系統からなる監視手段で行っているため、当該監視手段に異常を生じた場合、モータの速度が許容される上限値を超える等の異常を検出することができなくなるおそれがあり、ロボットを緊急停止させることができない可能性があるという不都合があった。   However, in the above conventional example, measurement and monitoring of the pulses from the position detector are performed by the monitoring means consisting of a single system, so that when the monitoring means has an abnormality, the motor speed is allowed. There is a possibility that an abnormality such as exceeding the upper limit value cannot be detected, and there is a possibility that the robot cannot be stopped urgently.

本発明は、ロボットの位置、速度、トルクを常に的確に監視することをその目的とする。   An object of the present invention is to always accurately and accurately monitor the position, speed, and torque of a robot.

請求項1記載の発明は、ロボットを駆動するサーボモータをロボットに設けられた位置検出手段からの検出出力に応じて制御するサーボ制御部と、サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、所定の監視条件に応じて切り替え部を通じてサーボモータを停止させる監視部とを備え、監視部は二つの処理演算部を有し、当該各処理演算部は、それぞれ個別に、監視条件として、位置検出手段からの同一の検出出力を適正に受信したか否かを判定すると共に適正に受信していないと判定した場合に切り替え部によりサーボモータに対する電力の供給を遮断する処理を行うと共に、前記監視部の二つの処理演算部は、個別に前記二つの処理演算部が取得した前記検出出力の値が一致するか否かを判定し、一致しないと判定した場合に、個別に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行う、という構成を採っている。 According to the first aspect of the present invention, it is possible to switch between a servo control unit that controls a servo motor that drives the robot in accordance with a detection output from a position detection unit provided in the robot, and supply and interruption of power to the servo motor. A switching unit and a monitoring unit that stops the servo motor through the switching unit according to a predetermined monitoring condition, the monitoring unit has two processing calculation units, and each processing calculation unit is individually monitored condition As well as determining whether or not the same detection output from the position detection means has been properly received, and performing a process of cutting off the power supply to the servo motor by the switching unit when it is determined that it has not been properly received , two processing operation section of the monitoring unit determines whether or not the value of the detection output obtained is the two processing operation section individually match, unmatched when If was boss, it adopts a configuration that performs processing to cut off the power supply to the servo motor by the switching unit individually.

請求項2記載の発明は、ロボットを駆動するサーボモータをロボットに設けられた位置検出手段からの検出出力に応じて制御するサーボ制御部と、サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、所定の監視条件に応じて切り替え部を通じてサーボモータを停止させる監視部とを備え、監視部は二つの処理演算部を有し、当該各処理演算部は、それぞれ個別に、監視条件として、位置検出手段からの同一の検出出力に基づく動作位置が許容動作位置を越えるか否かを判定すると共に許容動作位置を越える場合に切り替え部によりサーボモータに対する電力の供給を遮断する処理を行うと共に、前記監視部の二つの処理演算部は、個別に前記二つの処理演算部が取得した前記動作位置が一致するか否かを判定し、一致しないと判定した場合に、個別に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行う、という構成を採っている。 According to the second aspect of the present invention, the servo control unit that controls the servo motor that drives the robot according to the detection output from the position detection means provided in the robot, and the supply and interruption of power to the servo motor can be switched. A switching unit and a monitoring unit that stops the servo motor through the switching unit according to a predetermined monitoring condition, the monitoring unit has two processing calculation units, and each processing calculation unit is individually monitored condition And determining whether or not the operating position based on the same detection output from the position detecting means exceeds the allowable operating position, and when the operating position exceeds the allowable operating position, the switching unit cuts off the power supply to the servo motor. together, the two processing operation section of the monitoring unit determines whether the operating position acquired said two processing operation section individually match, matching When it is determined that no, adopts a configuration that performs processing to cut off the power supply to the servo motor by the switching unit individually.

請求項3記載の発明は、請求項2記載の発明と同様の構成を備えると共に、各処理演算部は、それぞれ個別に、監視条件として、位置検出手段からの検出出力に基づく動作速度が許容速度を越えるか否かを判定すると共に許容速度を越える場合に切り替え部によりサーボモータに対する電力の供給を遮断する処理を行う、という構成を採っている。   The invention described in claim 3 has the same configuration as that of the invention described in claim 2, and each processing operation unit individually has an operation speed based on a detection output from the position detection means as an allowable speed as a monitoring condition. When the speed exceeds the allowable speed, the switching unit performs a process of cutting off the power supply to the servo motor.

請求項4記載の発明は、ロボットを駆動するサーボモータをロボットに設けられた位置検出手段からの検出出力に応じて制御するサーボ制御部と、サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、所定の監視条件に応じて切り替え部を通じてサーボモータを停止させる監視部とを備え、監視部は二つの処理演算部を有し、当該各処理演算部は、それぞれ個別に、監視条件として、サーボ制御部が制御するサーボアンプによる同一のトルク出力が許容値内を越えるか否かを判定すると共に許容値内を越える場合に切り替え部によりサーボモータに対する電力の供給を遮断する処理を行うと共に、前記監視部の二つの処理演算部は、個別に前記二つの処理演算部が取得した前記トルク出力が一致するか否かを判定し、一致しないと判定した場合に、個別に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行う、という構成を採っている。 According to the fourth aspect of the present invention, the servo control unit that controls the servo motor that drives the robot according to the detection output from the position detection means provided in the robot, and the supply and interruption of power to the servo motor can be switched. A switching unit and a monitoring unit that stops the servo motor through the switching unit according to a predetermined monitoring condition, the monitoring unit has two processing calculation units, and each processing calculation unit is individually monitored condition And determining whether or not the same torque output by the servo amplifier controlled by the servo control unit exceeds the allowable value, and if it exceeds the allowable value, the switching unit cuts off the power supply to the servo motor together, the two processing operation section of the monitoring unit determines whether the torque output of the acquired said two processing operation section individually match one If it is determined not as adopts a configuration that performs processing to cut off the power supply to the servo motor by the switching unit individually.

請求項5記載の発明は、請求項1から4のいずれか一項に記載の発明と同様の構成を備えると共に、各処理演算部に対して処理の不良停止状態の発生を検出するウォッチドッグ回路が各処理演算部ごとに併設され、各処理演算部が、他方の処理演算部の監視回路を通じて不良停止状態を検知すると、切り替え部によりサーボモータに対する電力の供給を遮断する処理を行う、という構成を採っている。 The invention according to claim 5 has a configuration similar to that of the invention according to any one of claims 1 to 4 , and detects a failure stop state of processing for each processing operation unit. Is provided for each processing calculation unit, and when each processing calculation unit detects a failure stop state through the monitoring circuit of the other processing calculation unit, the switching unit performs a process of cutting off the power supply to the servo motor. Is adopted.

請求項1記載の発明では、サーボ制御部の動作制御によりロボットのサーボモータが駆動を行い、これに伴い位置検出部はサーボモータの駆動に伴い変化する動作位置(サーボモータにより変化するロボットの各部の位置、角度、位置変化量又は角度変化量等)を検出する。
そして、各処理演算部は、位置検出部から送信された検出信号に付された内容の確認用のコードを読み取り、コードの示す内容と受信した内容との一致判定をそれぞれが個別に行い、いずれか一方の処理演算部のみが不一致と判定した場合でもサーボモータが停止される。
つまり、サーボモータの動作の監視が二つの処理演算部により二系統で行われるので、いずれか一方が故障や不良を生じても、他方の処理演算部がサーボモータを停止させることができ、位置検出部から正しく検出出力が伝わらないことによる異常動作をより確実に防止することが可能となる。
さらに、請求項1記載の発明では、二つの処理演算部が、算出或いは外部からの入力により、位置検出手段からの検出出力を取得した場合に、各々が取得した監視対象の値の比較を行い、一致しない場合にサーボモータが停止される。
つまり、各処理演算部が取得する位置検出手段からの検出出力の不一致を監視することで、情報伝達系統の異常やいずれか一方の処理演算部の故障を検知することができ、監視部の異常によるサーボモータの異常動作をより確実に防止することが可能となる。
なお、監視対象の値の一致の判断はいずれか一方の処理演算部が行っても良いし、双方の処理演算部が行っても良い。
According to the first aspect of the present invention, the servo motor of the robot is driven by the operation control of the servo control unit, and the position detection unit is moved along with the driving of the servo motor (according to this, each part of the robot changed by the servo motor). Position, angle, position change amount or angle change amount).
Each processing calculation unit reads the code for confirming the content attached to the detection signal transmitted from the position detection unit, and individually performs a match determination between the content indicated by the code and the received content. Even when only one of the processing calculation units determines that they do not match, the servo motor is stopped.
In other words, since the operation of the servo motor is monitored in two systems by the two processing operation units, even if one of them malfunctions or malfunctions, the other processing operation unit can stop the servo motor, It is possible to more reliably prevent abnormal operation due to the fact that the detection output is not properly transmitted from the detection unit.
Further, in the first aspect of the invention, when the two processing operation units acquire the detection output from the position detection means by calculation or input from the outside, they compare the acquired monitoring target values. If they do not match, the servo motor is stopped.
In other words, by monitoring the mismatch in detection output from the position detection means acquired by each processing calculation unit, it is possible to detect an abnormality in the information transmission system or a failure in one of the processing calculation units. It is possible to more reliably prevent abnormal operation of the servo motor due to.
It should be noted that the determination of the coincidence of the values to be monitored may be performed by either one of the processing calculation units or both of the processing calculation units.

請求項2記載の発明では、サーボ制御部の動作制御によりロボットのサーボモータが駆動を行い、これに伴い位置検出部はサーボモータの駆動に伴い変化する動作位置(サーボモータにより変化するロボットの各部の位置、角度、位置変化量又は角度変化量等)を検出する。
そして、各処理演算部は、検出された動作位置が予め設定された許容動作位置内か否かの判定をそれぞれが個別に行い、いずれか一方の処理演算部のみが許容動作位置外と判定した場合でもサーボモータが停止される。
つまり、サーボモータの動作の監視が二つの処理演算部により二系統で行われるので、いずれか一方が故障や不良を生じても、他方の処理演算部がサーボモータを停止させることができ、許容動作位置を超える異常動作をより確実に防止することが可能となる。
なお、許容動作位置とは、サーボモータの仕様や特性等のロボットの内的要因で定まるものでも良いし、作動時の接触防止など周囲環境やロボットの外的要因で定まるものであっても良い。
さらに、請求項2記載の発明では、二つの処理演算部が、算出或いは外部からの入力により、動作位置を取得した場合に、各々が取得した動作位置の比較を行い、一致しない場合にサーボモータが停止される。
つまり、各処理演算部が取得する動作位置の不一致を監視することで、情報伝達系統の異常やいずれか一方の処理演算部の故障を検知することができ、監視部の異常によるサーボモータの異常動作をより確実に防止することが可能となる。
なお、監視対象の値の一致の判断はいずれか一方の処理演算部が行っても良いし、双方の処理演算部が行っても良い。
According to the second aspect of the present invention, the servo motor of the robot is driven by the operation control of the servo control unit, and the position detection unit accordingly changes the operation position that changes as the servo motor is driven (each part of the robot that is changed by the servo motor). Position, angle, position change amount or angle change amount).
Each processing calculation unit individually determines whether or not the detected operation position is within a preset allowable operation position, and only one of the processing calculation units determines that it is outside the allowable operation position. Even if the servo motor is stopped.
In other words, since the operation of the servo motor is monitored in two systems by two processing operation units, even if one of them malfunctions or malfunctions, the other processing operation unit can stop the servo motor. It is possible to more reliably prevent an abnormal operation exceeding the operating position.
The allowable operation position may be determined by the internal factors of the robot such as the specifications and characteristics of the servo motor, or may be determined by the surrounding environment such as contact prevention during operation or external factors of the robot. .
Further, in the invention according to claim 2, when the two processing operation units acquire the operation position by calculation or input from the outside, each of the operation positions is compared. Is stopped.
In other words, by monitoring the disagreement of the operation position acquired by each processing operation unit, it is possible to detect an abnormality in the information transmission system or a failure in one of the processing operation units. It becomes possible to prevent the operation more reliably.
It should be noted that the determination of the coincidence of the values to be monitored may be performed by either one of the processing calculation units or both of the processing calculation units.

請求項3記載の発明では、位置検出部の検出出力からサーボモータの駆動に伴うロボットの各部の動作速度が求められると、各処理演算部は、動作速度が許容速度内か否かの判定をそれぞれが個別に行い、いずれか一方の処理演算部のみが許容速度範囲外と判定した場合でもサーボモータが停止される。
つまり、サーボモータの速度の監視が二つの処理演算部により二系統で行われるので、いずれか一方が故障や不良を生じても、他方の処理演算部がサーボモータを停止させることができ、許容速度を超える異常動作をより確実に防止することが可能となる。
In the invention according to claim 3, when the operation speed of each part of the robot accompanying the drive of the servo motor is obtained from the detection output of the position detection part, each processing calculation part determines whether or not the operation speed is within the allowable speed. Each is performed individually, and the servo motor is stopped even when only one of the processing calculation units determines that it is out of the allowable speed range.
In other words, the servo motor speed is monitored in two systems by two processing operation units, so that if one of them fails or malfunctions, the other processing operation unit can stop the servo motor. It is possible to more reliably prevent abnormal operation exceeding the speed.

請求項4記載の発明では、サーボアンプからサーボモータの駆動に伴うロボットの各部のトルク出力が求められると、各処理演算部は、トルク出力が許容値を越えるか否かの判定をそれぞれが個別に行い、いずれか一方の処理演算部のみが許容値を越えると判定した場合でもサーボモータが停止される。
つまり、サーボモータのトルク出力の監視が二つの処理演算部により二系統で行われるので、いずれか一方が故障や不良を生じても、他方の処理演算部がサーボモータを停止させることができ、許容トルク値を超える異常動作をより確実に防止することが可能となる。
さらに、請求項4記載の発明では、二つの処理演算部が、算出或いは外部からの入力により、トルク出力を取得した場合に、各々が取得したトルク出力の比較を行い、一致しない場合にサーボモータが停止される。
つまり、各処理演算部が取得するトルク出力の不一致を監視することで、情報伝達系統の異常やいずれか一方の処理演算部の故障を検知することができ、監視部の異常によるサーボモータの異常動作をより確実に防止することが可能となる。
なお、監視対象の値の一致の判断はいずれか一方の処理演算部が行っても良いし、双方の処理演算部が行っても良い。
In the invention according to claim 4, when the torque output of each part of the robot accompanying the drive of the servo motor is obtained from the servo amplifier, each processing calculation part individually determines whether or not the torque output exceeds the allowable value. The servo motor is stopped even when only one of the processing calculation units determines that the allowable value is exceeded.
In other words, since the torque output of the servo motor is monitored in two systems by the two processing calculation units, even if one of them malfunctions or malfunctions, the other processing calculation unit can stop the servo motor, It is possible to more reliably prevent an abnormal operation exceeding the allowable torque value.
Further, in the invention according to claim 4, when the two processing operation units acquire the torque output by calculation or input from the outside, each of them compares the acquired torque output. Is stopped.
In other words, by monitoring the mismatch in torque output obtained by each processing operation unit, it is possible to detect an abnormality in the information transmission system or a failure in one of the processing operation units. It becomes possible to prevent the operation more reliably.
It should be noted that the determination of the coincidence of the values to be monitored may be performed by either one of the processing calculation units or both of the processing calculation units.

請求項5記載の発明では、各処理演算部ごとに設けられたウォッチドッグ回路が、処理演算部の不良停止状態の検知を行う。不良停止状態とは、処理演算部が処理を実行すべき際に処理を行わなくなった状態をいう。
そして、いずれか一方の処理演算部が他方の処理演算部を監視するウォッチドッグ回路を通じて不良停止状態の発生を検知すると、サーボモータを停止させる。
これにより、いずれか一方の処理演算部が不良停止して、残り一方の処理演算部のみによるサーボモータの監視状態が回避され、二系統による監視状態でのみサーボモータを駆動させることができ、サーボモータの異常動作をより確実に防止することが可能となる。
In a fifth aspect of the present invention, a watchdog circuit provided for each processing arithmetic unit detects a failure stop state of the processing arithmetic unit. The defective stop state refers to a state in which processing is not performed when the processing calculation unit should execute processing.
When one of the processing calculation units detects the occurrence of a defective stop state through a watchdog circuit that monitors the other processing calculation unit, the servo motor is stopped.
As a result, one of the processing operation units stops defectively, the monitoring state of the servo motor by only the remaining one processing operation unit is avoided, and the servo motor can be driven only in the monitoring state by two systems. It becomes possible to prevent abnormal operation of the motor more reliably.

(発明の実施形態の全体構成)
本発明の実施の形態を図1乃至図6に基づいて説明する。図1は、本発明の実施形態の概略構成図である。
上記実施形態では、作業目的に応じたツール115を先端部で保持すると共に当該ツール115を任意の位置に移動させ或いは任意の向きに向ける動作を行うロボット110の動作制御を行うロボット制御装置100を示している。
(Overall configuration of the embodiment of the invention)
An embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a schematic configuration diagram of an embodiment of the present invention.
In the above embodiment, the robot control device 100 that controls the operation of the robot 110 that holds the tool 115 according to the work purpose at the tip and moves the tool 115 to an arbitrary position or directs the tool 115 to an arbitrary direction. Show.

(ロボット)
制御対象となるロボット110は、土台となるベース111と、複数の関節113で連結された複数のアーム112と、各関節113ごとに設けられた駆動源としてのサーボモータ116と、各サーボモータの軸角度をそれぞれ検出する位置検出手段としてのエンコーダ117とを備えている。そして、連結されたアーム112の最先端部にはロボット110の用途に応じたツール115(例えば溶接ガンやハンド等)が装備される。
上記各関節113は、アーム112の一端部を揺動可能として他端部を軸支する揺動関節と、アーム112自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、本実施形態におけるロボット110はいわゆる多関節型ロボットに相当する。
また、ロボット110は、六つの関節113を具備しており、その先端部のツール115を任意の位置に位置決めし任意の姿勢を取らせることが可能となっている。
(robot)
The robot 110 to be controlled includes a base 111 as a base, a plurality of arms 112 connected by a plurality of joints 113, a servo motor 116 as a drive source provided for each joint 113, and a servo motor of each servo motor. And an encoder 117 as position detecting means for detecting each shaft angle. And the tool 115 (for example, a welding gun, a hand, etc.) according to the use of the robot 110 is equipped in the most advanced part of the connected arm 112.
Each of the joints 113 is one of a swing joint that supports one end of the arm 112 so that the other end can swing, and a rotary joint that supports the arm 112 so that the arm 112 itself can rotate about its longitudinal direction. Consists of That is, the robot 110 in this embodiment corresponds to a so-called articulated robot.
The robot 110 includes six joints 113, and the tool 115 at the tip of the robot 110 can be positioned at an arbitrary position and can take an arbitrary posture.

(ロボット制御装置)
ロボット制御装置100は、ティーチング或いはプログラミングにより設定されたロボットの教示動作データに従ってロボットの制御指令を出力する位置制御部10と、位置制御部10からの制御指令に従ってロボット110の各サーボモータ116の制御を行うサーボアンプ20と、電源から各サーボモータ116への電力の供給と遮断とを切り替え可能な切り替え部としてのマグネットスイッチ31,32と、ロボット110の制御情報を監視して所定条件に応じて各マグネットスイッチ31,32を通じてサーボモータ116を停止させる監視部50と、監視部50により異常検知が行われた場合にオペレータに異常発生を報知するための報知部33とを備えている。
(Robot controller)
The robot controller 100 outputs a robot control command in accordance with robot teaching operation data set by teaching or programming, and controls each servo motor 116 of the robot 110 in accordance with the control command from the position controller 10. The servo amplifier 20 that performs the switching, the magnet switches 31 and 32 as switching units capable of switching between power supply to the servomotors 116 from the power source and the cutoff, and the control information of the robot 110 are monitored and in accordance with predetermined conditions. A monitoring unit 50 for stopping the servo motor 116 through the magnet switches 31 and 32 and a notification unit 33 for notifying the operator of the occurrence of an abnormality when the abnormality detection is performed by the monitoring unit 50 are provided.

(位置制御部)
位置制御部10は、ロボット110の動作制御を行うために各サーボモータ116に対する制御指令を生成するための各種の処理プログラム及び各種のデータが記憶されたメモリと、処理プログラムを実行するCPUと、サーボアンプ20との指令やデータの送受信を行うためのインターフェイスとを主に備えている。
(Position control unit)
The position control unit 10 includes various processing programs for generating control commands for the servo motors 116 for controlling the operation of the robot 110, a memory storing various data, a CPU for executing the processing programs, It mainly includes an interface for transmitting and receiving commands and data to and from the servo amplifier 20.

上記メモリには、ロボット110の各種の処理プログラムの他、設定されたロボットの教示動作データ、ロボット110に関する各種のパラメータ(各部の寸法、重量、イナーシャ、エンコーダ117の出力コードと当該出力コードが示す関節角度(角度位置)との対応関係を示すテーブル、ロボットの各関節113における関節角度の上限値、下限値(許容動作位置)、各関節113の関節動作速度の上限値(許容速度)、各関節113のトルクの上限値(許容値)等)が記憶されている。
上記教示動作データは、ロボット110が所定の動作を実行するための制御指令であり、例えば、事前にロボット110に目的となる動作(ティーチング)を行わせ、当該動作軌跡の各点で関節角度のサンプリングを行い、その実行動作を再現するために演算により求められた移動軌跡のデータである。
位置制御部10のCPUは、ロボット110の制御の際には、上記教示動作データに基づいて、サーボアンプ20に対して各サーボモータの位置指令を所定の周期で順番に出力する。
なお、上記教示動作データは、ティーチングに限らず、記録メディアの読み出し装置、オペレータによる入力装置又は外部に対する通信手段によりロボット制御装置100の外部からを取得される場合もある。
In the memory, in addition to various processing programs of the robot 110, set robot teaching operation data, various parameters related to the robot 110 (size, weight, inertia, output code of the encoder 117 and the output code are shown) Table showing correspondence relationship with joint angle (angular position), upper limit value and lower limit value (allowable operation position) of joint angle at each joint 113 of robot, upper limit value (allowable speed) of joint operation speed of each joint 113, The upper limit value (allowable value) of the torque of the joint 113 is stored.
The teaching motion data is a control command for the robot 110 to execute a predetermined motion. For example, the robot 110 performs a target motion (teaching) in advance, and the joint angle at each point of the motion trajectory is determined. This is data of a movement locus obtained by calculation in order to perform sampling and reproduce the execution operation.
When the robot 110 is controlled, the CPU of the position control unit 10 sequentially outputs position commands of the servo motors to the servo amplifier 20 in a predetermined cycle based on the teaching operation data.
Note that the teaching operation data is not limited to teaching, but may be acquired from the outside of the robot control apparatus 100 by a recording medium reading device, an input device by an operator, or external communication means.

また、メモリ内の各種のパラメータである各部の寸法、重量、イナーシャ、エンコーダ117の出力コードと当該出力コードが示す関節角度との対応関係を示すテーブル、ロボットの各関節113における関節角度の上限値、下限値、各関節113の関節動作速度の上限値、各関節113のトルクの上限値等のデータは、監視部50に出力される。その際、CPUは、各データについて所定のデータ単位ごとにCRCコード(Cyclic Redundancy Check)を生成し、これを添付して監視部50に送信する。   Also, various parameters in the memory, such as dimensions, weights, inertias, a table indicating the correspondence between the output code of the encoder 117 and the joint angle indicated by the output code, and the upper limit value of the joint angle at each joint 113 of the robot The data such as the lower limit value, the upper limit value of the joint operation speed of each joint 113, and the upper limit value of the torque of each joint 113 are output to the monitoring unit 50. At that time, the CPU generates a CRC code (Cyclic Redundancy Check) for each predetermined data unit for each data, and attaches this to the monitoring unit 50.

(サーボアンプ)
サーボアンプ20は、ロボット110の各関節113のエンコーダ117から回転角度位置の検出信号を受信する受信回路と、各サーボモータ116に対する制御信号と帰還信号の送受信を行うモータ制御回路とを備えている。そして、サーボアンプ20は、位置制御部10から入力される位置指令と各エンコーダ117の検出信号と各サーボモータ116からの帰還信号とに基づいて、各サーボモータ116の位置、速度、トルクについてフィードバック制御を行う。
なお、このサーボアンプ20と位置制御部10とが、サーボモータ116をエンコーダ117からの検出出力に応じて制御するサーボ制御部として機能する。
(servo amplifier)
The servo amplifier 20 includes a receiving circuit that receives a rotation angle position detection signal from the encoder 117 of each joint 113 of the robot 110 and a motor control circuit that transmits and receives a control signal and a feedback signal to each servo motor 116. . The servo amplifier 20 provides feedback on the position, speed, and torque of each servo motor 116 based on the position command input from the position control unit 10, the detection signal of each encoder 117, and the feedback signal from each servo motor 116. Take control.
The servo amplifier 20 and the position control unit 10 function as a servo control unit that controls the servo motor 116 in accordance with the detection output from the encoder 117.

(報知部)
報知部33は、後述する監視部50の処理において異常を検知したときに、その異常をオペレータに報知するための表示手段である。具体的には、異常発生を表示するモニタ、報知ランプ又は警報機等が報知部33として使用される。
(Notification part)
The notification unit 33 is a display unit for notifying an operator of an abnormality when an abnormality is detected in the processing of the monitoring unit 50 described later. Specifically, a monitor, a notification lamp, an alarm device, or the like that displays the occurrence of abnormality is used as the notification unit 33.

(監視部)
図2は監視部50のより詳細な構成を示すブロック図である。即ち、この監視部50は、後述する各種の処理を実行する二つの処理演算部としての第一及び第二のCPU51,52と、ロボット110の各エンコーダ117から各種信号を受信すると共に各CPU51,52からの各種コマンド及びデータを送信する送受信回路53と、各サーボモータ116から帰還信号の受信を行うトルク検出回路54と、第一と第二のCPU51,52の演算処理の実行状態を個別に監視するウォッチドッグ回路55,56とを備えている。
(Monitoring Department)
FIG. 2 is a block diagram showing a more detailed configuration of the monitoring unit 50. That is, the monitoring unit 50 receives various signals from the first and second CPUs 51 and 52 serving as two processing operation units that execute various processes described later, and the encoders 117 of the robot 110, and each CPU 51, The transmission / reception circuit 53 for transmitting various commands and data from 52, the torque detection circuit 54 for receiving feedback signals from each servo motor 116, and the execution states of the arithmetic processing of the first and second CPUs 51 and 52 are individually described. And watchdog circuits 55 and 56 for monitoring.

上記各CPU51,52は、それぞれ内部メモリ57,58を有しており、各内部メモリ57,58は、CPU51,52がそれぞれ実行する処理プログラムを記憶すると共に各処理における作業領域として機能する。
また、第一のCPU51と第二のCPU52とは、それぞれのデータの送受信を行う通信手段であるバスにより互いに接続されている。
なお、各CPU51,52が行う処理の詳細については、図3〜図6のフローチャートにより後述することとする。
The CPUs 51 and 52 have internal memories 57 and 58, respectively. The internal memories 57 and 58 store processing programs executed by the CPUs 51 and 52 and function as work areas in the respective processes.
The first CPU 51 and the second CPU 52 are connected to each other by a bus that is a communication unit that transmits and receives data.
Details of processing performed by the CPUs 51 and 52 will be described later with reference to flowcharts of FIGS.

送受信回路53は、第一のCPU51からの指令に従い、エンコーダ117に対する検出信号出力の要求コマンドと当該要求コマンドを一意に識別するためのシーケンス番号データとをエンコーダ117に送信する。このシーケンス番号は、周期的に行われる位置データの要求コマンド出力のたびに順次1ずつ加算されて付加されるので、各要求コマンドごとに重複するシーケンス番号が付加されないようになっている。
一方、エンコーダ117は、シーケンス番号が付加された要求コマンドを受けると同じシーケンス番号を付加して検出した位置データの返信を行う。これにより、送受信回路53では、位置データに付加されたシーケンス番号を参照することで、いずれの要求コマンドに対する検出位置データなのかを識別することができる。また、シーケンス番号の不一致により、エンコーダ117の異常を検知することが可能となっている。
The transmission / reception circuit 53 transmits a detection signal output request command to the encoder 117 and sequence number data for uniquely identifying the request command to the encoder 117 in accordance with a command from the first CPU 51. Since this sequence number is incremented and added one by one every time a position data request command is periodically output, duplicate sequence numbers are not added to each request command.
On the other hand, when the encoder 117 receives the request command to which the sequence number is added, it returns the detected position data by adding the same sequence number. As a result, the transmission / reception circuit 53 can identify which request command is the detected position data by referring to the sequence number added to the position data. Further, it is possible to detect an abnormality of the encoder 117 due to the mismatch of the sequence numbers.

トルク検出回路54は、サーボアンプ20においてサーボモータ116に通電される電流値の検出を行い、これに基づくサーボモータ116のトルク値を求めて第一のCPU51に出力を行う。   The torque detection circuit 54 detects a current value supplied to the servo motor 116 in the servo amplifier 20, obtains a torque value of the servo motor 116 based on the detected current value, and outputs it to the first CPU 51.

ウォッチドッグ回路55は第一のCPU51を監視し、ウォッチドッグ回路56は第二のCPU52の監視を行う。
即ち、各ウォッチドッグ回路55,56は、ロボット110の制御実行時において、それぞれが監視対象とするCPU51,52に対して周期的にウォッチドッグ要求信号を出力し、これに対して各CPU51,52が所定期間内に応答信号を返信しないときには、監視対象であるCPU51,52が停止しているものとして、タイムアップ信号を監視対象ではないCPU52,51に出力する機能を有している。
The watchdog circuit 55 monitors the first CPU 51, and the watchdog circuit 56 monitors the second CPU 52.
That is, the watchdog circuits 55 and 56 periodically output a watchdog request signal to the CPUs 51 and 52 to be monitored when the robot 110 is controlled. Has a function of outputting a time-up signal to the non-monitoring CPUs 52 and 51, assuming that the monitoring CPUs 51 and 52 are stopped when no response signal is returned within a predetermined period.

(監視部におけるパラメータ送信監視処理)
図3は監視部50の各CPU51,52が行うロボット制御における各種のパラメータ(各部の寸法、重量、イナーシャ、エンコーダ117の出力コードと当該出力コードが示す関節角度の対応関係を示すテーブル、ロボットの各関節113における関節角度の上限値、下限値、各関節113の関節動作速度の上限値、各関節113のトルクの上限値等)の送信監視処理を示している。
監視部50は、ロボット110の動作開始前に、予め後述する監視処理を行うための各種パラメータを位置制御部10から送信される。
(Parameter transmission monitoring process in the monitoring unit)
FIG. 3 shows various parameters in the robot control performed by the CPUs 51 and 52 of the monitoring unit 50 (sizes, weights, inertias of the respective units, a table showing the correspondence relationship between the output code of the encoder 117 and the joint angle indicated by the output code, The transmission monitoring processing of the joint angle upper limit value and lower limit value of each joint 113, the upper limit value of the joint operation speed of each joint 113, the upper limit value of the torque of each joint 113, and the like is shown.
Before the operation of the robot 110 is started, the monitoring unit 50 transmits various parameters for performing a monitoring process, which will be described later, from the position control unit 10 in advance.

まず、第一のCPU51は、位置制御部10のCPUに対してパラメータの要求を行い、その結果、位置制御部10から各種のパラメータを受信する(ステップS101)。   First, the first CPU 51 requests a parameter to the CPU of the position control unit 10, and as a result, receives various parameters from the position control unit 10 (step S101).

このとき、位置制御部10のCPUは各パラメータについて所定のデータ単位でCRCコードを付与して送信する。これに対して、第一のCPUは受信したパラメータデータについて位置制御部10と同じ条件でCRCコードを生成すると共に、位置制御部10で生成されたCRCコードと一致するか判定を行う(ステップS102)。
このCRCコードは、生成する元となるデータが1ビットでも異なればコードも変化してしまう性質があるので、上記処理において送信前のパラメータのデータが何らかの異常により送信後に異なるデータに変化し或いは破損したかを判定することができる。
At this time, the CPU of the position control unit 10 assigns and transmits a CRC code for each parameter in a predetermined data unit. On the other hand, the first CPU generates a CRC code for the received parameter data under the same conditions as the position control unit 10 and determines whether or not it matches the CRC code generated by the position control unit 10 (step S102). ).
This CRC code has the property that if the data to be generated is different even by 1 bit, the code will also change. Therefore, in the above processing, the parameter data before transmission changes to different data after transmission due to some abnormality or is damaged. Can be determined.

そして、CRCコードが一致しない場合には、第一のCPU51は報知部33に対してパラメータの受信エラーを示す異常報知表示を行うように制御する(ステップS103)。異常報知後は第一及び第二のCPU51、52は他の処理を行わず、電源を再投入しない限り復旧しない状態となる。
一方、CRCコードが一致した場合には、第一のCPU51は、内部メモリ57に受信した各種パラメータのデータを格納し(ステップS104)、さらに、第二のCPU52に対して受信した各種パラメータのデータとそのCRCコードを送信する(ステップS105)。
If the CRC codes do not match, the first CPU 51 controls the notification unit 33 to perform an abnormality notification display indicating a parameter reception error (step S103). After the abnormality notification, the first and second CPUs 51 and 52 do not perform other processes and are not restored unless the power is turned on again.
On the other hand, if the CRC codes match, the first CPU 51 stores the various parameter data received in the internal memory 57 (step S104), and further receives the various parameter data received by the second CPU 52. The CRC code is transmitted (step S105).

第一のCPU51からの各種パラメータのデータとCRCコードを受信すると、第二のCPU52は、受信したパラメータデータについて位置制御部10と同じ条件でCRCコードを生成すると共に、受信データのCRCコードと一致するか判定を行う(ステップS106)。
そして、CRCコードが一致しない場合には、第二のCPU52は報知部33に対してパラメータの受信エラーを示す異常報知表示を行うように制御する(ステップS107)。このときも、異常報知後は第一及び第二のCPU51、52は他の処理を行わず、電源を再投入しない限り復旧しない状態となる。
一方、CRCコードが一致した場合には、第二のCPU52は、内部メモリ58に受信した各種パラメータのデータを格納する(ステップS108)。
When receiving the data of various parameters and the CRC code from the first CPU 51, the second CPU 52 generates a CRC code for the received parameter data under the same conditions as the position control unit 10 and matches the CRC code of the received data. It is determined whether or not to perform (step S106).
If the CRC codes do not match, the second CPU 52 controls the notification unit 33 to perform an abnormality notification display indicating a parameter reception error (step S107). Also at this time, after notifying the abnormality, the first and second CPUs 51 and 52 do not perform other processes and are not restored unless the power is turned on again.
On the other hand, if the CRC codes match, the second CPU 52 stores the received data of various parameters in the internal memory 58 (step S108).

また、第一のCPU51は、パラメータデータを内部メモリ57に格納後、バスを介して第二のCPU52に送信したパラメータデータとの相互比較を行い(ステップS109)、第二のCPU52は、パラメータデータを内部メモリ58に格納後、バスを介して第一のCPU51が保有するパラメータデータとの相互比較を行う(ステップS110)。   The first CPU 51 stores the parameter data in the internal memory 57 and then performs a mutual comparison with the parameter data transmitted to the second CPU 52 via the bus (step S109). The second CPU 52 Is stored in the internal memory 58 and then compared with the parameter data held by the first CPU 51 via the bus (step S110).

そして、第一のCPU51は自己のパラメータデータと第二のCPU52のパラメータデータとの一致を判定し(ステップS111)、一致する場合にはパラメータ送信監視処理を終了し、一致しない場合には、第一のCPU51は報知部33に対してパラメータの受信エラーを示す異常報知表示を行うように制御する(ステップS113)。このときも、異常報知後は第一及び第二のCPU51、52は他の処理を行わず、電源を再投入しない限り復旧しない状態となる。   Then, the first CPU 51 determines whether the parameter data of its own and the parameter data of the second CPU 52 match (step S111). If they match, the parameter transmission monitoring process is terminated. The one CPU 51 controls the notification unit 33 to perform an abnormality notification display indicating a parameter reception error (step S113). Also at this time, after notifying the abnormality, the first and second CPUs 51 and 52 do not perform other processes and are not restored unless the power is turned on again.

また、同様にして、第二のCPU52は自己のパラメータデータと第一のCPU51のパラメータデータとの一致を判定し(ステップS112)、一致する場合にはパラメータ送信監視処理を終了し、一致しない場合には、第二のCPU52は報知部33に対してパラメータの受信エラーを示す異常報知表示を行うように制御する(ステップS114)。このときも、異常報知後は第一及び第二のCPU51、52は他の処理を行わず、電源を再投入しない限り復旧しない状態となる。   Similarly, the second CPU 52 determines whether the own parameter data matches the parameter data of the first CPU 51 (step S112). If they match, the parameter transmission monitoring process ends, and if they do not match. The second CPU 52 controls the notification unit 33 to perform an abnormality notification display indicating a parameter reception error (step S114). Also at this time, after notifying the abnormality, the first and second CPUs 51 and 52 do not perform other processes and are not restored unless the power is turned on again.

(監視部におけるモータ制御監視処理)
図4は監視部50の各CPU51,52が行うロボット制御におけるサーボモータ制御の監視処理を示している。この処理はロボット110の動作制御時において、各CPU51,52のサンプリング周期に応じて定期的に実行される。
(Motor control monitoring process in the monitoring unit)
FIG. 4 shows a monitoring process of servo motor control in the robot control performed by the CPUs 51 and 52 of the monitoring unit 50. This process is periodically executed according to the sampling period of each of the CPUs 51 and 52 when controlling the operation of the robot 110.

まず、第一のCPU51は、送受信回路53を介してエンコーダ117に対して現在の検出角度位置を示す位置データの要求コマンドを送信する(ステップS201)。このとき、要求コマンドは、当該コマンドを一意に識別するためのシーケンス番号データを付加されてエンコーダ117に送信される。   First, the first CPU 51 transmits a request command for position data indicating the current detected angle position to the encoder 117 via the transmission / reception circuit 53 (step S201). At this time, sequence number data for uniquely identifying the command is added to the request command and transmitted to the encoder 117.

エンコーダ117は、要求コマンドを受信すると、エンコーダ117の現在の位置データを第一のCPU51へ返信する。このとき、エンコーダ117は要求コマンドに付加されたシーケンス番号と同じシーケンス番号のデータを付加して返信を行う。また、エンコーダ117は、前述したパラメータデータの送信エラーの判定に用いられたCRCコードと同じように、位置データについて所定のデータ単位でCRCコードを生成し、位置データに付与して送信する。   Upon receiving the request command, the encoder 117 returns the current position data of the encoder 117 to the first CPU 51. At this time, the encoder 117 replies with the data having the same sequence number as the sequence number added to the request command. In addition, the encoder 117 generates a CRC code in a predetermined data unit for the position data, and transmits the position data by adding it to the position data, similarly to the CRC code used for the determination of the transmission error of the parameter data described above.

そして、これにより、エンコーダ117から位置データを受信すると(ステップS202)、第一のCPU51は、受信した位置データに付加されたシーケンス番号が要求コマンドのシーケンス番号と一致するか判定を行う(ステップS203)。
かかるシーケンス番号判定により、エンコーダ117から返信された位置データが第一のCPU51からの要求コマンドに対して行われたものか識別することができる。例えば、返信されたシーケンス番号が以前の要求コマンドのシーケンス番号のものである場合には、前回の要求コマンドに対する返信が遅れたか、或いは、エンコーダ117が検出を停止してしまっている等の異常が発生していると判断することができる。
Then, when position data is received from the encoder 117 (step S202), the first CPU 51 determines whether the sequence number added to the received position data matches the sequence number of the request command (step S203). ).
With this sequence number determination, it is possible to identify whether the position data returned from the encoder 117 has been issued in response to a request command from the first CPU 51. For example, when the returned sequence number is that of the previous request command, there is an abnormality such as a delay in replying to the previous request command or the detection of the encoder 117 being stopped. It can be determined that it has occurred.

従って、返信位置データに付加されたシーケンス番号が要求コマンドのシーケンス番号と一致しない状態が一定期間続いたときには、第一のCPU51は、マグネットスイッチ31に切替信号を出力し、サーボモータ116への通電を遮断させる(ステップS204)。
なお、マグネットスイッチ31は、複数あるサーボモータ116の全ての通電を遮断する。これにより、ロボット110は動作を停止する。
Therefore, when the sequence number added to the reply position data does not coincide with the sequence number of the request command for a certain period, the first CPU 51 outputs a switching signal to the magnet switch 31 and energizes the servo motor 116. Is blocked (step S204).
The magnet switch 31 cuts off all energization of the plurality of servo motors 116. As a result, the robot 110 stops operating.

一方、シーケンス番号が一致する場合は、第一のCPU51は受信した位置データについてエンコーダ117と同じ条件でCRCコードを生成すると共に、エンコーダ117で生成されたCRCコードと一致するか判定を行う(ステップS205)。
そして、CRCコードが一致しない場合には、送受信回路53に異常が発生しているか送受信回路53と第一のCPU51との間の回路に異常が生じているものとして、マグネットスイッチ31に切替信号を出力し、全てのサーボモータ116への通電を遮断して、ロボット110を停止させる(ステップS206)。
On the other hand, if the sequence numbers match, the first CPU 51 generates a CRC code for the received position data under the same conditions as the encoder 117, and determines whether it matches the CRC code generated by the encoder 117 (step). S205).
If the CRC codes do not match, it is assumed that an abnormality has occurred in the transmission / reception circuit 53 or an abnormality has occurred in the circuit between the transmission / reception circuit 53 and the first CPU 51, and a switching signal is sent to the magnet switch 31. The power is output, the power supply to all the servo motors 116 is cut off, and the robot 110 is stopped (step S206).

一方、CRCコードが一致した場合には、第一のCPU51は、第二のCPU52に対して受信した位置データとそのCRCコードを送信する(ステップS207)。
そして、第一のCPU51からの位置データとCRCコードを受信すると、第二のCPU52は、受信した位置データについてエンコーダ117と同じ条件でCRCコードを生成すると共に、当該生成したCRCコードと受信したCRCコードとが一致するか判定を行う(ステップS208)。
そして、CRCコードが一致しない場合には、第一のCPU51と第二のCPU52の通信手段であるバスか通信処理を行うソフトウェアに異常を生じているものとして第二のCPU52はマグネットスイッチ32に切替信号を出力し、全てのサーボモータ116への通電を遮断して、ロボット110を停止させる(ステップS209)。
On the other hand, if the CRC codes match, the first CPU 51 transmits the received position data and the CRC code to the second CPU 52 (step S207).
When the position data and CRC code from the first CPU 51 are received, the second CPU 52 generates a CRC code for the received position data under the same conditions as the encoder 117, and the generated CRC code and the received CRC. It is determined whether the code matches (step S208).
If the CRC codes do not match, the second CPU 52 switches to the magnet switch 32 on the assumption that an abnormality has occurred in the bus that is the communication means of the first CPU 51 and the second CPU 52 or software that performs communication processing. A signal is output, the power supply to all the servo motors 116 is cut off, and the robot 110 is stopped (step S209).

一方、第一のCPU51は、位置データを第二のCPU52に送信後、前述したステップS104の処理(図3)で位置制御部10から受信して内部メモリ57に格納したパラメータに含まれるエンコーダ117の出力コードと当該出力コードが示す検出角度位置との対応関係を示すテーブルを参照して、エンコーダ117の位置データを関節角度(角度位置)に変換すると共に内部メモリ57に記憶する(ステップS210)。
また、第二のCPU52も、位置データのCRCコードに異常がない場合に、前述したステップS108の処理(図3)で内部メモリ58に格納したパラメータ中のエンコーダ117の出力コードと関節角度との対応テーブルから、エンコーダ117の位置データを関節角度に変換すると共に内部メモリ58に記憶する(ステップS211)。
On the other hand, the first CPU 51 transmits the position data to the second CPU 52, and then receives the encoder 117 included in the parameters received from the position control unit 10 and stored in the internal memory 57 in the process of step S104 (FIG. 3) described above. The position data of the encoder 117 is converted into a joint angle (angular position) and stored in the internal memory 57 with reference to a table indicating the correspondence relationship between the output code and the detected angle position indicated by the output code (step S210). .
Further, when there is no abnormality in the CRC code of the position data, the second CPU 52 also calculates the relationship between the output code of the encoder 117 and the joint angle in the parameter stored in the internal memory 58 in the process of step S108 described above (FIG. 3). From the correspondence table, the position data of the encoder 117 is converted into a joint angle and stored in the internal memory 58 (step S211).

そして、第一のCPU51は、関節角度の算出後、バスを介して、第二のCPU52が算出した関節角度との相互比較を行い(ステップS212)、第一のCPU51で求めた関節角度と第二のCPU52で求めた関節角度との一致を判定する(ステップS214)。
そして、相互の関節角度が一致しない場合には、第一のCPU51は、マグネットスイッチ31に切替信号を出力し、全てのサーボモータ116への通電を遮断して、ロボット110を停止させる(ステップS216)。
また、相互の関節角度が一致する場合には、第一のCPU51は、位置・速度監視処理、トルク監視処理、CPUの相互監視処理(いずれも詳細は後述する)を実行した後に、モータ制御監視処理を終了する。
Then, after calculating the joint angle, the first CPU 51 performs a mutual comparison with the joint angle calculated by the second CPU 52 via the bus (step S212). The coincidence with the joint angle obtained by the second CPU 52 is determined (step S214).
If the joint angles do not coincide with each other, the first CPU 51 outputs a switching signal to the magnet switch 31, cuts off the power to all the servo motors 116, and stops the robot 110 (step S216). ).
If the joint angles coincide with each other, the first CPU 51 performs motor control monitoring after executing position / speed monitoring processing, torque monitoring processing, and CPU mutual monitoring processing (all of which will be described later). End the process.

一方、第二のCPU52は、関節角度の算出後、バスを介して、第一のCPU51が算出した関節角度との相互比較を行い(ステップS213)、第二のCPU52で求めた関節角度と第一のCPU51で求めた関節角度との一致判定を行う(ステップS215)。
そして、相互の関節角度が一致しない場合には、第二のCPU52は、マグネットスイッチ32に切替信号を出力し、全てのサーボモータ116への通電を遮断して、ロボット110を停止させる(ステップS217)。
また、相互の関節角度が一致する場合には、第二のCPU52は、位置・速度監視処理、トルク監視処理、CPUの相互監視処理(いずれも詳細は後述する)を実行した後に、モータ制御監視処理を終了する。
On the other hand, after calculating the joint angle, the second CPU 52 performs a mutual comparison with the joint angle calculated by the first CPU 51 via the bus (step S213). The coincidence with the joint angle obtained by one CPU 51 is determined (step S215).
If the joint angles do not coincide with each other, the second CPU 52 outputs a switching signal to the magnet switch 32, cuts off power to all the servo motors 116, and stops the robot 110 (step S217). ).
When the mutual joint angles coincide with each other, the second CPU 52 performs motor control monitoring after executing position / speed monitoring processing, torque monitoring processing, and CPU mutual monitoring processing (all of which will be described in detail later). The process ends.

(監視部における位置・速度監視処理)
図5は監視部50の各CPU51,52が行うサーボモータ制御の監視処理の中で行われる位置・速度監視処理を示している。
まず、第一のCPU51は自己の演算により求められた関節角度が、第二のCPU52で求めた関節角度と一致する場合(図4のステップS214参照)に、その演算関節角度の値を、内部メモリ57に格納していたパラメータに含まれる関節角度の動作上限値と比較する(ステップS301)。
同様に、第二のCPU52は、自己の演算により求められた関節角度が、第一のCPU51で求めた関節角度と一致する場合(図4のステップS215参照)に、演算関節角度の値を、内部メモリ58に格納していたパラメータに含まれる関節角度の動作上限値と比較する(ステップS302)。
(Position / speed monitoring process in the monitoring unit)
FIG. 5 shows the position / speed monitoring process performed in the servo motor control monitoring process performed by the CPUs 51 and 52 of the monitoring unit 50.
First, when the joint angle obtained by the first CPU 51 coincides with the joint angle obtained by the second CPU 52 (see step S214 in FIG. 4), the value of the calculated joint angle is set as an internal value. It is compared with the upper limit value of the joint angle included in the parameter stored in the memory 57 (step S301).
Similarly, the second CPU 52 determines the value of the calculated joint angle when the joint angle obtained by its own calculation matches the joint angle obtained by the first CPU 51 (see step S215 in FIG. 4). The motion angle is compared with the upper limit value of the joint angle included in the parameter stored in the internal memory 58 (step S302).

そして、第一のCPU51は、関節角度の値が動作上限値を超えていた場合に、マグネットスイッチ31に切替信号を出力し、ロボット110を停止させる(ステップS303)。
同様に、第二のCPU52は、関節角度の値が動作上限値を超えていた場合に、マグネットスイッチ32に切替信号を出力し、ロボット110を停止させる(ステップS304)。
Then, when the value of the joint angle exceeds the operation upper limit value, the first CPU 51 outputs a switching signal to the magnet switch 31 and stops the robot 110 (step S303).
Similarly, when the value of the joint angle exceeds the operation upper limit value, the second CPU 52 outputs a switching signal to the magnet switch 32 and stops the robot 110 (step S304).

一方、第一のCPU51は、演算関節角度の値が動作上限値を超えていない場合には、その演算関節角度の値を、内部メモリ57に格納していたパラメータに含まれる関節角度の動作下限値と比較する(ステップS305)。
同様に、第二のCPU52は、演算関節角度の値が動作上限値を超えていない場合には、その演算関節角度の値を、内部メモリ58に格納していたパラメータに含まれる関節角度の動作下限値と比較する(ステップS306)。
On the other hand, when the value of the calculated joint angle does not exceed the operation upper limit value, the first CPU 51 sets the value of the calculated joint angle as the operation lower limit of the joint angle included in the parameter stored in the internal memory 57. The value is compared (step S305).
Similarly, when the value of the calculated joint angle does not exceed the operation upper limit value, the second CPU 52 operates the operation of the joint angle included in the parameter stored in the internal memory 58 when the calculated upper joint angle value is not exceeded. Compare with the lower limit value (step S306).

そして、第一のCPU51は、演算関節角度の値が動作下限値に満たない場合に、マグネットスイッチ31に切替信号を出力し、ロボット110を停止させる(ステップS307)。
同様に、第二のCPU52は、演算関節角度の値が動作下限値に満たない場合に、マグネットスイッチ32に切替信号を出力し、ロボット110を停止させる(ステップS308)。
Then, the first CPU 51 outputs a switching signal to the magnet switch 31 to stop the robot 110 when the value of the calculated joint angle is less than the operation lower limit value (step S307).
Similarly, when the value of the calculated joint angle is less than the operation lower limit value, the second CPU 52 outputs a switching signal to the magnet switch 32 and stops the robot 110 (step S308).

また、第一のCPU51は、演算関節角度の値が動作下限値以上の場合には、前回の処理で内部メモリ57に記憶された関節角度との差分を求め、前回の処理からの経過時間と差分とから関節動作速度を算出する(ステップS309)。
同様に、第二のCPU52は、演算関節角度の値が動作下限値以上の場合には、前回の処理で内部メモリ58に記憶された関節角度との差分を求め、前回の処理からの経過時間と差分とから関節動作速度を算出する(ステップS310)。
Further, when the value of the calculated joint angle is equal to or greater than the operation lower limit value, the first CPU 51 obtains a difference from the joint angle stored in the internal memory 57 in the previous process, and determines the elapsed time from the previous process. The joint operation speed is calculated from the difference (step S309).
Similarly, when the value of the calculated joint angle is equal to or greater than the operation lower limit value, the second CPU 52 obtains the difference from the joint angle stored in the internal memory 58 in the previous process, and the elapsed time from the previous process Then, the joint operation speed is calculated from the difference (step S310).

そして、第一のCPU51は、関節動作速度の算出後、バスを介して、第二のCPU52で算出した関節動作速度との相互比較を行い(ステップS311)、第一のCPU51で求めた関節動作速度と第二のCPU52で求めた関節動作速度との一致判定を行う(ステップS313)。
同様に、第二のCPU52は、関節動作速度の算出後、バスを介して、第一のCPU51が算出した関節動作速度との相互比較を行い(ステップS312)、第二のCPU52で求めた関節動作速度と第一のCPU51で求めた関節動作速度との一致判定を行う(ステップS314)。
Then, after calculating the joint motion speed, the first CPU 51 performs a mutual comparison with the joint motion speed calculated by the second CPU 52 via the bus (step S311), and the joint motion determined by the first CPU 51. The coincidence between the speed and the joint operation speed obtained by the second CPU 52 is determined (step S313).
Similarly, after calculating the joint operation speed, the second CPU 52 performs a mutual comparison with the joint operation speed calculated by the first CPU 51 via the bus (step S312), and the joint obtained by the second CPU 52 is calculated. It is determined whether or not the operation speed matches the joint operation speed obtained by the first CPU 51 (step S314).

そして、相互の関節動作速度が一致しない場合には、第一のCPU51は、マグネットスイッチ31に切替信号を出力し、全てのサーボモータ116への通電を遮断して、ロボット110を停止させる(ステップS315)。
同様に、相互の関節動作速度が一致しない場合には、第二のCPU52は、マグネットスイッチ32に切替信号を出力し、全てのサーボモータ116への通電を遮断して、ロボット110を停止させる(ステップS316)。
If the joint operation speeds do not coincide with each other, the first CPU 51 outputs a switching signal to the magnet switch 31 to cut off the energization of all the servo motors 116 and stop the robot 110 (step). S315).
Similarly, if the joint operation speeds do not match, the second CPU 52 outputs a switching signal to the magnet switch 32, cuts off the energization to all the servo motors 116, and stops the robot 110 ( Step S316).

一方、相互の関節動作速度が一致した場合には、第一のCPU51は関節動作速度の値を、内部メモリ57に格納していたパラメータに含まれる関節動作速度の上限値と比較する(ステップS317)。
同様に、相互の関節動作速度が一致した場合には、第二のCPU52は関節動作速度の値を、内部メモリ58に格納していたパラメータに含まれる関節動作速度の上限値と比較する(ステップS318)。
On the other hand, when the mutual joint motion speeds match, the first CPU 51 compares the joint motion speed value with the upper limit value of the joint motion speed included in the parameter stored in the internal memory 57 (step S317). ).
Similarly, when the joint motion speeds match each other, the second CPU 52 compares the joint motion speed value with the upper limit value of the joint motion speed included in the parameter stored in the internal memory 58 (step). S318).

そして、第一のCPU51は、関節動作速度の値が上限値を超えていた場合に、マグネットスイッチ31に切替信号を出力し、ロボット110を停止させる(ステップS319)。また、関節動作速度の値が上限値を超えていない場合には、第一のCPU51は位置・速度監視処理を終了する。
同様に、第二のCPU52は、関節動作速度の値が上限値を超えていた場合に、マグネットスイッチ32に切替信号を出力し、ロボット110を停止させる(ステップS320)。また、関節動作速度の値が上限値を超えていない場合には、第二のCPU52は位置・速度監視処理を終了する。
Then, when the value of the joint operation speed exceeds the upper limit value, the first CPU 51 outputs a switching signal to the magnet switch 31 and stops the robot 110 (step S319). On the other hand, when the value of the joint operation speed does not exceed the upper limit value, the first CPU 51 ends the position / speed monitoring process.
Similarly, when the value of the joint operation speed exceeds the upper limit value, the second CPU 52 outputs a switching signal to the magnet switch 32 and stops the robot 110 (step S320). On the other hand, when the value of the joint operation speed does not exceed the upper limit value, the second CPU 52 ends the position / speed monitoring process.

(監視部におけるトルク監視処理)
図6は監視部50の各CPU51,52が行うサーボモータ制御の監視処理の中で行われるトルク監視処理を示している。
まず、第一のCPU51は、位置・速度監視処理の後に、トルク検出回路54を通じてサーボアンプ20で制御されているサーボモータ116のトルクを検出する(ステップS401)。
そして、検出されたサーボモータ116のトルクデータを第一のCPU51はバスを介して第二のCPU51に送信する(ステップS402,S403)。
(Torque monitoring process in the monitoring unit)
FIG. 6 shows a torque monitoring process performed in the servo motor control monitoring process performed by the CPUs 51 and 52 of the monitoring unit 50.
First, the first CPU 51 detects the torque of the servo motor 116 controlled by the servo amplifier 20 through the torque detection circuit 54 after the position / speed monitoring process (step S401).
Then, the first CPU 51 transmits the detected torque data of the servo motor 116 to the second CPU 51 via the bus (steps S402 and S403).

そして、第一のCPU51は、トルクデータの送信後、バスを介して、第二のCPU52が受信したトルクデータとの相互比較を行い(ステップS404)、第一のCPU51の送信前のトルクデータと第二のCPU52に送信されたトルクデータとの一致判定を行う(ステップS406)。
同様に、第二のCPU52は、トルクデータの受信後、バスを介して、第一のCPU51の保有するトルクデータとの相互比較を行い(ステップS405)、第一のCPU51の送信前のトルクデータと第二のCPU52が受信したトルクデータとの一致判定を行う(ステップS407)。
Then, after transmitting the torque data, the first CPU 51 performs a mutual comparison with the torque data received by the second CPU 52 via the bus (step S404), and the first CPU 51 transmits the torque data before transmission. A match determination with the torque data transmitted to the second CPU 52 is performed (step S406).
Similarly, after receiving the torque data, the second CPU 52 performs a mutual comparison with the torque data held by the first CPU 51 via the bus (step S405), and the torque data before transmission of the first CPU 51. Is matched with the torque data received by the second CPU 52 (step S407).

そして、相互のトルクデータの示す値が一致しない場合には、第一のCPU51は、マグネットスイッチ31に切替信号を出力し、全てのサーボモータ116への通電を遮断して、ロボット110を停止させる(ステップS408)。
同様に、相互のトルクデータの示す値が一致しない場合には、第二のCPU52は、マグネットスイッチ32に切替信号を出力し、全てのサーボモータ116への通電を遮断して、ロボット110を停止させる(ステップS409)。
If the values indicated by the torque data do not match, the first CPU 51 outputs a switching signal to the magnet switch 31 to cut off the energization of all the servo motors 116 and stop the robot 110. (Step S408).
Similarly, if the values indicated by the torque data do not match, the second CPU 52 outputs a switching signal to the magnet switch 32, cuts off the power to all the servo motors 116, and stops the robot 110. (Step S409).

一方、相互のトルクデータの示す値が一致した場合には、第一のCPU51はトルクデータの示す値を、内部メモリ57に格納していたパラメータに含まれるトルクの上限値と比較する(ステップS410)。
同様に、相互のトルクデータの示す値が一致した場合には、第二のCPU52はトルクデータの示す値を、内部メモリ58に格納していたパラメータに含まれるトルクの上限値と比較する(ステップS411)。
On the other hand, when the values indicated by the mutual torque data match, the first CPU 51 compares the value indicated by the torque data with the upper limit value of the torque included in the parameter stored in the internal memory 57 (step S410). ).
Similarly, when the values indicated by the mutual torque data match, the second CPU 52 compares the value indicated by the torque data with the upper limit value of the torque included in the parameter stored in the internal memory 58 (step). S411).

そして、第一のCPU51は、トルクデータの示す値が上限値を超えていた場合に、マグネットスイッチ31に切替信号を出力し、ロボット110を停止させる(ステップS412)。また、トルクデータの示す値が上限値を超えていない場合には、第一のCPU51はトルク監視処理を終了する。
同様に、第二のCPU52は、トルクデータの示す値が上限値を超えていた場合に、マグネットスイッチ32に切替信号を出力し、ロボット110を停止させる(ステップS413)。また、トルクデータの示す値が上限値を超えていない場合には、第二のCPU52はトルク監視処理を終了する。
Then, when the value indicated by the torque data exceeds the upper limit value, the first CPU 51 outputs a switching signal to the magnet switch 31 and stops the robot 110 (step S412). When the value indicated by the torque data does not exceed the upper limit value, the first CPU 51 ends the torque monitoring process.
Similarly, when the value indicated by the torque data exceeds the upper limit value, the second CPU 52 outputs a switching signal to the magnet switch 32 and stops the robot 110 (step S413). When the value indicated by the torque data does not exceed the upper limit value, the second CPU 52 ends the torque monitoring process.

(監視部におけるCPUの相互監視処理)
サーボモータ制御の監視処理において、トルク監視処理が終了すると、最後にCPUの相互監視処理が実行される。
かかる処理では、第一のCPU51が、第二のCPU52の監視を行っているウォッチドッグ回路56にアクセスし、第二のCPU52の停止状態を示すエラー信号を出力しているかを判定する。その結果、ウォッチドッグ回路56がエラー信号を出力している場合に、第一のCPU51は、マグネットスイッチ31に切替信号を出力し、ロボット110を停止させる。また、ウォッチドッグ回路56がタイムアップ信号を出力していない場合には、第一のCPU51はCPUの相互監視処理を終了する。
一方、第二のCPU52が、第一のCPU51の監視を行っているウォッチドッグ回路55にアクセスし、第一のCPU51の停止状態を示すエラー信号を出力しているかを判定する。その結果、ウォッチドッグ回路55がエラー信号を出力している場合に、第二のCPU52は、マグネットスイッチ32に切替信号を出力し、ロボット110を停止させる。また、ウォッチドッグ回路55がタイムアップ信号を出力していない場合には、第二のCPU52はCPUの相互監視処理を終了する。
(Mutual monitoring processing of CPUs in the monitoring unit)
In the servo motor control monitoring process, when the torque monitoring process ends, the CPU mutual monitoring process is finally executed.
In this process, the first CPU 51 accesses the watch dog circuit 56 that is monitoring the second CPU 52 and determines whether an error signal indicating the stop state of the second CPU 52 is output. As a result, when the watchdog circuit 56 outputs an error signal, the first CPU 51 outputs a switching signal to the magnet switch 31 to stop the robot 110. If the watchdog circuit 56 does not output a time-up signal, the first CPU 51 ends the mutual monitoring process of the CPUs.
On the other hand, the second CPU 52 accesses the watch dog circuit 55 that monitors the first CPU 51, and determines whether an error signal indicating the stop state of the first CPU 51 is output. As a result, when the watchdog circuit 55 outputs an error signal, the second CPU 52 outputs a switching signal to the magnet switch 32 to stop the robot 110. On the other hand, when the watchdog circuit 55 does not output the time-up signal, the second CPU 52 ends the mutual monitoring process of the CPUs.

(ロボット制御装置の全体的な動作)
上記構成により、ロボット制御装置100の位置制御部10は、教示動作データに基づく動作を行うように制御指令を順番に出力し、サーボアンプ20を介してロボット110の各関節113のサーボモータ116の動作制御を行う。このとき、サーボアンプ20では、各関節113のエンコーダ117からの検出信号に基づいてフィードバック制御が実行される。
(Overall operation of robot controller)
With the above configuration, the position control unit 10 of the robot control device 100 sequentially outputs a control command so as to perform an operation based on the teaching operation data, and the servo motor 116 of each joint 113 of the robot 110 via the servo amplifier 20. Perform motion control. At this time, the servo amplifier 20 performs feedback control based on the detection signal from the encoder 117 of each joint 113.

一方、監視部50は、ロボット110の動作開始前に、ロボット制御における各種のパラメータを位置制御部から取得し、ロボット110の動作制御の際には、所定のサンプリング間隔で、各エンコーダ117から関節角度(位置データ)の受信を行う。そして、データ受信の異常の発生、関節角度、動作速度、トルクの異常の発生、各CPU51,52の異常の発生の監視がロボット110の動作中においてサンプリング間隔で繰り返し実行される。   On the other hand, the monitoring unit 50 acquires various parameters in the robot control from the position control unit before the operation of the robot 110 starts. When the operation of the robot 110 is controlled, the monitoring unit 50 receives the joint from each encoder 117 at a predetermined sampling interval. Receives angle (position data). Then, occurrence of data reception abnormality, joint angle, operation speed, occurrence of torque abnormality, and monitoring of occurrence of abnormality of each of the CPUs 51 and 52 are repeatedly executed at a sampling interval during the operation of the robot 110.

(実施形態の効果)
以上のように、ロボット制御装置100では、監視部50の二つのCPU51,52のそれぞれが、位置制御部から取得したロボット制御における各種のパラメータをCRCコードを用いてデータの破損確認を行うと共に、二つのCPU51,52が相互の各パラメータの一致確認を行うため、エンコーダから各CPU51,52まで伝達されるまでの過程での位置データの異常の発生が厳重に監視され、異常のあるパラメータに基づくロボット110の誤動作の発生を効果的に抑制することが可能となる。
(Effect of embodiment)
As described above, in the robot control device 100, each of the two CPUs 51 and 52 of the monitoring unit 50 performs data damage confirmation on the various parameters in the robot control acquired from the position control unit using the CRC code. Since the two CPUs 51 and 52 confirm each other's respective parameters, occurrence of an abnormality in the position data in the process until it is transmitted from the encoder to each of the CPUs 51 and 52 is strictly monitored and is based on the parameter having the abnormality. The occurrence of malfunction of the robot 110 can be effectively suppressed.

また、監視部50の第一のCPU51が、各エンコーダ117からの位置データの受信に際し、シーケンス番号による要求コマンドとの一致の確認が行われるため、エンコーダ117の異常により誤った位置データに基づくロボット110の誤動作の発生を効果的に抑制することが可能となる。
さらに、エンコーダ117からの位置データに対してCRCコードを用いて、データの破損確認を二つのCPU51,52でそれぞれが行い、さらには、二つのCPU51,52が相互の位置データの一致確認を行うため、エンコーダから各CPU51,52まで伝達されるまでの過程での位置データの異常の発生が厳重に監視され、異常のある位置データに基づくロボット110の誤動作の発生をより効果的に抑制することが可能となる。
Further, when the first CPU 51 of the monitoring unit 50 receives the position data from each encoder 117, the matching with the request command by the sequence number is confirmed, so that the robot based on the wrong position data due to the abnormality of the encoder 117 The occurrence of malfunctions 110 can be effectively suppressed.
Furthermore, using the CRC code for the position data from the encoder 117, the two CPUs 51 and 52 perform data damage confirmation, respectively. Further, the two CPUs 51 and 52 confirm the mutual position data. Therefore, occurrence of position data abnormality in the process from the encoder to each CPU 51, 52 is strictly monitored, and the malfunction of the robot 110 based on the position data having abnormality is more effectively suppressed. Is possible.

また、エンコーダ117からの位置データに基づいて各CPU51,52が求め或いは取得した各関節の関節角度、動作速度、サーボモータ116のトルクについて、各CPU51,52の相互間で一致確認が行われ、さらには、関節角度、動作速度、トルクのそれぞれに設定された上限値を越えるか(或いは下限値を下回るか)否かの判定が二つのCPU51,52により行われるので、それぞれの監視が二系統で行われることとなり、いずれか一方のCPUが故障や不良を生じても、他方のCPUがサーボモータ116を停止させることができ、関節角度、動作速度、トルクのそれぞれが許容値を超える異常動作をより確実に防止することが可能となる。   Further, the CPU 51, 52 confirms the coincidence of the joint angle, the operation speed, and the torque of the servo motor 116 obtained or obtained by the CPUs 51, 52 based on the position data from the encoder 117, Furthermore, since it is determined by the two CPUs 51 and 52 whether or not the upper limit value set for each of the joint angle, the operation speed, and the torque is exceeded (or lower than the lower limit value), each of the two systems is monitored. Even if one of the CPUs fails or malfunctions, the other CPU can stop the servo motor 116, and the joint angle, operating speed, and torque exceed the allowable values. Can be more reliably prevented.

また、監視部50には、各CPU51,52を個別に監視するウォッチドッグ回路55,56が設けられているので、いずれか一方のCPUが不慮の停止状態に陥っても、他方のCPUが速やかにこれを検出し、ロボットの動作制御の監視が単一系統に陥る状態を回避し、常に二系統による監視状態でのみ各サーボモータ116を駆動させることができ、ロボットの異常動作をより確実に防止することが可能となる。   In addition, since the monitoring unit 50 is provided with watchdog circuits 55 and 56 that individually monitor the CPUs 51 and 52, even if one of the CPUs enters an unexpected stop state, the other CPU quickly Therefore, it is possible to avoid the situation where the monitoring of the robot operation control falls into a single system, and to always drive each servo motor 116 only in the monitoring state of the two systems, and to ensure the abnormal operation of the robot more reliably. It becomes possible to prevent.

(その他)
上記構成では、図1において、サーボモータ116及びエンコーダ117が一組しか図示されていないが、これらは各関節113ごとに設けられている。従って、監視部50は、図3から図6に示す全ての処理を、タイミングをずらして各サーボモータ116ごとに実行していることはいうまでもない。
(Other)
In the above configuration, only one set of the servo motor 116 and the encoder 117 is illustrated in FIG. 1, but these are provided for each joint 113. Therefore, it goes without saying that the monitoring unit 50 executes all the processes shown in FIGS. 3 to 6 for each servo motor 116 at different timings.

また、上記構成では、監視部50の第二のCPU52が各エンコーダ117からの位置データを第一のCPU51を介して受信する構成となっているが、第二のCPU52が第一のCPU51を介することなくエンコーダ117から直接受信する構成としても良い。その場合、第二のCPU52もエンコーダ117からの位置データに対してシーケンス番号による確認処理を実行することが望ましい。   In the above configuration, the second CPU 52 of the monitoring unit 50 receives the position data from each encoder 117 via the first CPU 51, but the second CPU 52 passes through the first CPU 51. It is good also as a structure which receives directly from the encoder 117, without. In that case, it is desirable that the second CPU 52 also executes the confirmation process by the sequence number for the position data from the encoder 117.

また、制御対象となるロボットは回動、回転関節のみを有するものに限られず、例えば直動式の関節を有するロボットを制御対象としても良い。その場合、関節角度ではなく、位置データから直進方向の移動量を求め、これを監視する構成とすることが望ましい。   Further, the robot to be controlled is not limited to the one having only the rotating and rotating joints. For example, a robot having a direct acting joint may be used as the control target. In that case, it is desirable to obtain a movement amount in the straight direction from the position data, not the joint angle, and monitor this.

本発明の実施形態たるロボット制御装置の全体構成図である。1 is an overall configuration diagram of a robot control apparatus according to an embodiment of the present invention. 図1に開示した監視部のより詳細なブロック図である。FIG. 2 is a more detailed block diagram of a monitoring unit disclosed in FIG. 1. 監視部の各CPUが行う各種のパラメータの送信監視処理のフローチャートを示す。5 shows a flowchart of various parameter transmission monitoring processing performed by each CPU of the monitoring unit. 監視部の各CPUが行うサーボモータ制御の監視処理のフローチャートを示す。The flowchart of the monitoring process of the servomotor control which each CPU of a monitoring part performs is shown. 監視部の各CPUが行うの監視処理中で行われる位置・速度監視処理のフローチャートを示す。6 is a flowchart of a position / speed monitoring process performed during the monitoring process performed by each CPU of the monitoring unit. 監視部の各CPUが行うの監視処理中で行われるトルク監視処理のフローチャートを示す。The flowchart of the torque monitoring process performed in the monitoring process which each CPU of a monitoring part performs is shown.

符号の説明Explanation of symbols

10 位置制御部(サーボ制御部)
20 サーボアンプ(サーボ制御部)
31,32 マグネットスイッチ(切り替え部)
50 監視部
51 第一のCPU(処理演算部)
52 第二のCPU(処理演算部)
100 ロボット制御装置
110 ロボット
116 サーボモータ
117 エンコーダ
10 Position controller (servo controller)
20 Servo amplifier (servo controller)
31, 32 Magnet switch (switching part)
50 Monitoring Unit 51 First CPU (Processing Operation Unit)
52 Second CPU (Processing Operation Unit)
100 Robot Control Device 110 Robot 116 Servo Motor 117 Encoder

Claims (5)

ロボットを駆動するサーボモータを前記ロボットに設けられた位置検出手段からの検出出力に応じて制御するサーボ制御部と、
前記サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、
所定の監視条件に応じて前記切り替え部を通じてサーボモータを停止させる監視部とを備え、
前記監視部は二つの処理演算部を有し、
当該各処理演算部は、それぞれ個別に、前記監視条件として、前記位置検出手段からの同一の検出出力を適正に受信したか否かを判定すると共に適正に受信していないと判定した場合に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行うと共に、
前記監視部の二つの処理演算部は、個別に前記二つの処理演算部が取得した前記検出出力の値が一致するか否かを判定し、一致しないと判定した場合に、個別に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行うことを特徴とするロボット制御装置。
A servo control unit for controlling a servo motor for driving the robot according to a detection output from a position detection means provided in the robot;
A switching unit capable of switching between supply and interruption of power to the servo motor;
A monitoring unit that stops the servo motor through the switching unit according to a predetermined monitoring condition,
The monitoring unit has two processing calculation units,
Each of the processing calculation units individually determines whether or not the same detection output from the position detection unit has been properly received as the monitoring condition and determines that it has not been properly received. While performing the process of cutting off the supply of power to the servo motor by the switching unit,
The two processing operation units of the monitoring unit individually determine whether or not the detection output values acquired by the two processing operation units match each other, and when determining that they do not match, individually the switching unit A robot control apparatus that performs a process of shutting off the supply of power to the servo motor.
ロボットを駆動するサーボモータを前記ロボットに設けられた位置検出手段からの検出出力に応じて制御するサーボ制御部と、
前記サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、
所定の監視条件に応じて前記切り替え部を通じてサーボモータを停止させる監視部とを備え、
前記監視部は二つの処理演算部を有し、
当該各処理演算部は、それぞれ個別に、前記監視条件として、前記位置検出手段からの同一の検出出力に基づく動作位置が許容動作位置を越えるか否かを判定すると共に許容動作位置を越える場合に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行うと共に、
前記監視部の二つの処理演算部は、個別に前記二つの処理演算部が取得した前記動作位置が一致するか否かを判定し、一致しないと判定した場合に、個別に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行うことを特徴とするロボット制御装置。
A servo control unit for controlling a servo motor for driving the robot according to a detection output from a position detection means provided in the robot;
A switching unit capable of switching between supply and interruption of power to the servo motor;
A monitoring unit that stops the servo motor through the switching unit according to a predetermined monitoring condition,
The monitoring unit has two processing calculation units,
Each processing calculation unit individually determines whether the operation position based on the same detection output from the position detection unit exceeds the allowable operation position and exceeds the allowable operation position as the monitoring condition. While performing the process of cutting off the power supply to the servo motor by the switching unit,
The two processing calculation units of the monitoring unit individually determine whether or not the operation positions acquired by the two processing calculation units match each other, and when determining that they do not match, individually by the switching unit A robot control device that performs a process of cutting off power supply to a servo motor.
前記各処理演算部は、それぞれ個別に、前記監視条件として、前記位置検出手段からの検出出力に基づく動作速度が許容速度を越えるか否かを判定すると共に許容速度を越える場合に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行うことを特徴とする請求項2記載のロボット制御装置。   Each of the processing calculation units individually determines whether the operation speed based on the detection output from the position detection unit exceeds the allowable speed as the monitoring condition, and if the operation speed exceeds the allowable speed, The robot control apparatus according to claim 2, wherein a process of cutting off power supply to the servo motor is performed. ロボットを駆動するサーボモータを前記ロボットに設けられた位置検出手段からの検出出力に応じて制御するサーボ制御部と、
前記サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、
所定の監視条件に応じて前記切り替え部を通じてサーボモータを停止させる監視部とを備え、
前記監視部は二つの処理演算部を有し、
当該各処理演算部は、それぞれ個別に、前記監視条件として、前記サーボ制御部が制御するサーボアンプによる同一のトルク出力が許容値内を越えるか否かを判定すると共に許容値内を越える場合に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行うと共に、
前記監視部の二つの処理演算部は、個別に前記二つの処理演算部が取得した前記トルク出力が一致するか否かを判定し、一致しないと判定した場合に、個別に前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行うことを特徴とするロボット制御装置。
A servo control unit for controlling a servo motor for driving the robot according to a detection output from a position detection means provided in the robot;
A switching unit capable of switching between supply and interruption of power to the servo motor;
A monitoring unit that stops the servo motor through the switching unit according to a predetermined monitoring condition,
The monitoring unit has two processing calculation units,
Each processing calculation unit individually determines whether the same torque output by the servo amplifier controlled by the servo control unit exceeds the allowable value and exceeds the allowable value as the monitoring condition. While performing the process of cutting off the power supply to the servo motor by the switching unit,
The two processing calculation units of the monitoring unit individually determine whether or not the torque outputs acquired by the two processing calculation units match, and when determining that they do not match, individually by the switching unit A robot control device that performs a process of cutting off power supply to a servo motor.
前記各処理演算部に対して処理の不良停止状態の発生を検出するウォッチドッグ回路が前記各処理演算部ごとに併設され、
前記各処理演算部が、他方の処理演算部の監視回路を通じて不良停止状態を検知すると、前記切り替え部により前記サーボモータに対する電力の供給を遮断する処理を行うことを特徴とする請求項1から4のいずれか一項に記載のロボット制御装置。
A watchdog circuit that detects the occurrence of a process failure stop state for each of the processing arithmetic units is provided for each of the processing arithmetic units,
5. The process according to claim 1, wherein when each of the processing arithmetic units detects a failure stop state through a monitoring circuit of the other processing arithmetic unit, the switching unit performs a process of cutting off power supply to the servo motor. The robot control device according to any one of the above.
JP2005334152A 2005-11-18 2005-11-18 Robot controller Active JP4930969B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005334152A JP4930969B2 (en) 2005-11-18 2005-11-18 Robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005334152A JP4930969B2 (en) 2005-11-18 2005-11-18 Robot controller

Publications (2)

Publication Number Publication Date
JP2007136617A JP2007136617A (en) 2007-06-07
JP4930969B2 true JP4930969B2 (en) 2012-05-16

Family

ID=38200081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005334152A Active JP4930969B2 (en) 2005-11-18 2005-11-18 Robot controller

Country Status (1)

Country Link
JP (1) JP4930969B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5435621B2 (en) * 2009-03-31 2014-03-05 独立行政法人産業技術総合研究所 SAFETY CONTROL DEVICE, ROBOT, SYSTEM, PROGRAM, AND RECORDING MEDIUM
EP2721375B1 (en) 2011-06-20 2017-12-06 Sew-Eurodrive GmbH & Co. KG Method and device for the cyclic digital transmission of a position value of a moving object with inertial mass
JP6140112B2 (en) * 2014-07-17 2017-05-31 ファナック株式会社 Robot control system with stop function
KR101551292B1 (en) 2015-08-11 2015-09-10 대진 시스템(주) Dual Control and Instrumentation Systems
JP6641921B2 (en) * 2015-11-24 2020-02-05 株式会社デンソーウェーブ Robot controller
JP6641922B2 (en) * 2015-11-24 2020-02-05 株式会社デンソーウェーブ Robot controller
JP6613849B2 (en) * 2015-11-26 2019-12-04 株式会社デンソーウェーブ Robot controller
JP6658056B2 (en) * 2016-02-17 2020-03-04 富士電機株式会社 Power converter
JP6607098B2 (en) * 2016-03-15 2019-11-20 ブラザー工業株式会社 Speed monitoring device and speed monitoring method
JP7141232B2 (en) * 2018-04-06 2022-09-22 川崎重工業株式会社 robot controller
JP7173765B2 (en) * 2018-06-25 2022-11-16 川崎重工業株式会社 robot control system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6025693A (en) * 1983-07-25 1985-02-08 株式会社日立製作所 Monitor device for robot
JPH0540510A (en) * 1991-08-07 1993-02-19 Mitsubishi Electric Corp Controller
JP3114579B2 (en) * 1995-08-30 2000-12-04 松下電器産業株式会社 Industrial robot and its control device
JP3950832B2 (en) * 2002-10-08 2007-08-01 ファナック株式会社 Robot controller
JP3944156B2 (en) * 2003-12-03 2007-07-11 ファナック株式会社 Emergency stop circuit
JP4292404B2 (en) * 2004-01-07 2009-07-08 株式会社安川電機 Drive shaft operation system

Also Published As

Publication number Publication date
JP2007136617A (en) 2007-06-07

Similar Documents

Publication Publication Date Title
JP4930969B2 (en) Robot controller
JP2007301680A (en) Robot arm diagnosis device
JP2007301691A (en) Robot control device
JP2007283448A (en) Robot control device
US9266240B2 (en) Robot
JP6607098B2 (en) Speed monitoring device and speed monitoring method
US20190001504A1 (en) Method For Detecting A Collision Of A Robot Arm With An Object, And A Robot With A Robot Arm
JP2010238174A (en) Positioning device and positioning method
EP0428748A1 (en) Method of preventing erroneous projection of laser beam in a laser robot
JP2006095672A (en) Control method for moving body, control system, and control program
WO2019063228A1 (en) Security tracking system, apparatus, method, storage medium and security system
JP2007265103A (en) Robot controller
EP3647891B1 (en) Feed shaft and worm gear abnormality determination system
CN112677178A (en) Robot
JP2013144325A (en) Robot apparatus, and failure detection method
CN110579192B (en) Position measuring device and method for operating a position measuring device
US20220161433A1 (en) Extendable safety system for robot system
JPH08286701A (en) Multi-robot control method and system
CN114851186A (en) Robot control device and robot system
JP2010249585A (en) Device and method for identifying current position
US7873484B2 (en) Method for reliable position monitoring
JP4577607B2 (en) Robot control device and robot system
JP3010107B2 (en) Encoder system
US20230415335A1 (en) Robot system, method for controlling robot system, method for manufacturing product using robot system, control program, and recording medium
JP2020098487A (en) Machine control device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120208

R150 Certificate of patent or registration of utility model

Ref document number: 4930969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350