(57)【要約】【課題】サーボ制御部の異常を迅速かつ的確に検出すること。【解決手段】監視部７は、二つの演算処理部１０，１１を有し、各演算処理部は、制御情報からロボットの位置を推測する位置推測手段１０，１１と、他の演算処理部における推測されたロボットの推測位置を取得する推測位置取得手段１０，１１と、推測したロボットの推測位置と取得したロボットの推測位置とが一致するか否かを判断する推測位置一致判断手段１０，１１と、ロボットの推測位置が一致すると判断された場合に、推測位置と検出されたロボットの現在位置との差を算出する位置差算出手段１０，１１と、算出された位置の差が所定値以上である場合又はロボットの推測位置が一致しないと判断された場合に、切り替え部５，６によりサーボモータに対する電力の供給を遮断する電力遮断手段１０，１１と、を備える。【選択図】図２
2007265103.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを駆動するサーボモータを前記ロボットに設けられた位置検出手段からの検出出力に応じて制御するサーボ制御部と、
前記サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、
所定の監視条件に応じて前記切り替え部を通じて前記サーボモータを停止させる監視部と、を備え、
前記監視部は、二つの演算処理部と、前記サーボ制御部からの前記ロボットに対する制御情報を受信する制御情報受信手段と、前記制御情報受信手段により受信した制御情報を一方又は双方の演算処理部に送信する制御情報送信手段と、を有し、
各演算処理部は、
受信した制御情報からロボットの位置を推測する位置推測手段と、
他の演算処理部における前記位置推測手段により推測されたロボットの推測位置を取得する推測位置取得手段と、
前記位置推測手段により推測したロボットの推測位置と前記推測位置取得手段により取得したロボットの推測位置とが一致するか否かを判断する推測位置一致判断手段と、
前記推測位置一致判断手段によりロボットの推測位置が一致すると判断された場合に、前記推測位置と前記位置検出手段により検出されたロボットの現在位置との差を算出する位置差算出手段と、
前記位置差算出手段により算出された位置の差が所定値以上である場合又は前記推測位置一致判断手段によりロボットの推測位置が一致しないと判断された場合に、前記切り替え部により前記サーボモータに対する電力の供給を遮断する電力遮断手段と、
を有することを特徴とするロボット制御装置。
【請求項２】
各演算処理部は、
受信した制御情報が異常であるか否かを判断する制御情報異常判断手段と、
他の演算処理部において受信した制御情報を取得する制御情報取得手段と、
受信した制御情報と前記制御情報取得手段により取得した制御情報とが一致するか否かを判断する制御情報一致判断手段と、
前記制御情報異常判断手段により受信した制御情報が異常であると判断された場合又は前記制御情報一致判断手段により制御情報が一致しないと判断された場合に、制御情報の受信エラーである旨をユーザに報知する報知手段と、
を有することを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記監視部は、前記位置検出手段により検出されたロボットの現在位置情報を受信する現在位置情報受信手段と、前記現在位置情報受信手段により受信したロボットの現在位置情報を一方又は双方の演算処理部に送信する現在位置情報送信手段と、を有し、
各演算処理部は、
受信したロボットの現在位置情報が異常であるか否かを判断する現在位置情報異常判断手段と、
他の演算処理部において受信したロボットの現在位置情報を取得する現在位置情報取得手段と、
受信したロボットの現在位置情報と前記現在位置情報取得手段により取得したロボットの現在位置情報とが一致するか否かを判断する現在位置情報一致判断手段と、を有し、
前記電力遮断手段は、前記現在位置情報異常判断手段により受信したロボットの現在位置情報が異常であると判断された場合又は前記現在位置情報一致判断手段によりロボットの現在位置情報が一致しないと判断された場合に、前記切り替え部により前記サーボモータに対する電力の供給を遮断することを特徴とする請求項１又は２に記載のロボット制御装置。
【請求項４】
前記サーボ制御部と前記監視部を別個に構成したことを特徴とする請求項１〜３のいずれか一項に記載のロボット制御装置。
【請求項５】
各演算処理部に対して処理の不良停止状態の発生を検出するウォッチドッグ回路が各演算処理部ごとに設けられ、
各演算処理部が、他の演算処理部の監視回路を通じて不良停止状態を検知すると、当該他の演算処理部が不良停止状態である旨をユーザに報知することを特徴とする請求項１〜４のいずれか一項に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置に関する。
【背景技術】
【０００２】
一般的に産業用ロボットは、ロボット本体にサーボモータが取り付けられ、このサーボモータに位置検出器が取り付けられて構成されている。ロボットの位置は、位置検出器により検出されたロボットの位置情報に基づいてサーボ制御部により制御されている。従って、ロボットに精度の高い動作を実現させるためには、サーボ制御部の信頼性の確保が重要である。
そのため、サーボ制御部からのロボットへの指令位置と、位置検出器から検出されるロボットの現在位置を比較することで、サーボ制御部を診断し、サーボ制御部の監視が行われている（例えば、特許文献１参照。）。
【特許文献１】特開平８−１３７５２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、サーボ制御においては、指令位置に対して現在位置が追従動作するフィードバック制御が行われており、低速動作時は指令位置と現在位置が一致する状態で動作している。しかし、高速動作時においては、その差、いわゆるサーボ遅れが顕著に見られる。このような場合、上述した特許文献１に記載の発明では、指令位置と現在位置を比較しているために、サーボ遅れが発生すると異常を検出するまでの時間がかかる場合や、さらには、検出できない場合がある。
【０００４】
本発明は、上記課題を解決するためになされたものであり、サーボ制御部の異常を迅速かつ的確に検出することができるロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、ロボット制御装置において、ロボットを駆動するサーボモータを前記ロボットに設けられた位置検出手段からの検出出力に応じて制御するサーボ制御部と、前記サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、所定の監視条件に応じて前記切り替え部を通じて前記サーボモータを停止させる監視部と、を備え、前記監視部は、二つの演算処理部と、前記サーボ制御部からの前記ロボットに対する制御情報を受信する制御情報受信手段と、前記制御情報受信手段により受信した制御情報を一方又は双方の演算処理部に送信する制御情報送信手段と、を有し、各演算処理部は、受信した制御情報からロボットの位置を推測する位置推測手段と、他の演算処理部における前記位置推測手段により推測されたロボットの推測位置を取得する推測位置取得手段と、前記位置推測手段により推測したロボットの推測位置と前記推測位置取得手段により取得したロボットの推測位置とが一致するか否かを判断する推測位置一致判断手段と、前記推測位置一致判断手段によりロボットの推測位置が一致すると判断された場合に、前記推測位置と前記位置検出手段により検出されたロボットの現在位置との差を算出する位置差算出手段と、前記位置差算出手段により算出された位置の差が所定値以上である場合又は前記推測位置一致判断手段によりロボットの推測位置が一致しないと判断された場合に、前記切り替え部により前記サーボモータに対する電力の供給を遮断する電力遮断手段と、を有することを特徴とする。
ここで、制御情報とは、ロボットへの指令位置やサーボゲインに関する情報である。
【０００６】
請求項２に記載の発明は、請求項１に記載のロボット制御装置において、各演算処理部は、受信した制御情報が異常であるか否かを判断する制御情報異常判断手段と、他の演算処理部において受信した制御情報を取得する制御情報取得手段と、受信した制御情報と前記制御情報取得手段により取得した制御情報とが一致するか否かを判断する制御情報一致判断手段と、前記制御情報異常判断手段により受信した制御情報が異常であると判断された場合又は前記制御情報一致判断手段により制御情報が一致しないと判断された場合に、制御情報の受信エラーである旨をユーザに報知する報知手段と、を有することを特徴とする。
【０００７】
請求項３に記載の発明は、請求項１又は２に記載のロボット制御装置において、前記監視部は、前記位置検出手段により検出されたロボットの現在位置情報を受信する現在位置情報受信手段と、前記現在位置情報受信手段により受信したロボットの現在位置情報を一方又は双方の演算処理部に送信する現在位置情報送信手段と、を有し、各演算処理部は、受信したロボットの現在位置情報が異常であるか否かを判断する現在位置情報異常判断手段と、他の演算処理部において受信したロボットの現在位置情報を取得する現在位置情報取得手段と、受信したロボットの現在位置情報と前記現在位置情報取得手段により取得したロボットの現在位置情報とが一致するか否かを判断する現在位置情報一致判断手段と、を有し、前記電力遮断手段は、前記現在位置情報異常判断手段により受信したロボットの現在位置情報が異常であると判断された場合又は前記現在位置情報一致判断手段によりロボットの現在位置情報が一致しないと判断された場合に、前記切り替え部により前記サーボモータに対する電力の供給を遮断することを特徴とする。
【０００８】
請求項４に記載の発明は、請求項１〜３のいずれか一項に記載のロボット制御装置において、前記サーボ制御部と前記監視部を別個に構成したことを特徴とする。
【０００９】
請求項５に記載の発明は、請求項１〜４のいずれか一項に記載のロボット制御装置において、各演算処理部に対して処理の不良停止状態の発生を検出するウォッチドッグ回路が各演算処理部ごとに設けられ、各演算処理部が、他の演算処理部の監視回路を通じて不良停止状態を検知すると、当該他の演算処理部が不良停止状態である旨をユーザに報知することを特徴とする。
【発明の効果】
【００１０】
請求項１に記載の発明では、制御情報受信手段は、サーボ制御部からのロボットに対する制御情報を受信し、制御情報送信手段は、受信した制御情報を一方又は双方の演算処理部に送信する。
各演算処理部は、位置推測手段が、受信した制御情報からロボットの位置を推測し、推測位置取得手段により、他の演算処理部における位置推測手段により推測されたロボットの推測位置を取得する。各演算処理部は、推測位置一致判断手段が、位置推測手段により推測したロボットの推測位置と推測位置取得手段により取得したロボットの推測位置とが一致するか否かを判断する。
次いで、位置差算出手段により、推測位置一致判断手段によりロボットの推測位置が一致すると判断された場合に、推測位置と位置検出手段により検出されたロボットの現在位置との差を算出する。
そして、電力遮断手段は、位置差算出手段により算出された位置の差が所定値以上である場合又は推測位置一致判断手段によりロボットの推測位置が一致しないと判断された場合に、切り替え部によりサーボモータに対する電力の供給を遮断する。
【００１１】
これにより、各演算処理部は、サーボ制御部から受信した制御情報に基づいて、サーボ遅れ等も考慮した状態でロボットの位置を推測し、位置検出手段から検出されるロボットの現在位置と比較して、その位置の差に応じてサーボモータの駆動を停止させることができるので、サーボ制御部の異常を迅速かつ的確に検出することができ、監視部の信頼性を向上させることができる。
また、二つの演算処理部により互いに推測したロボットの現在位置が一致するか否かを判断しているので、監視部の信頼性を向上させることができる。
【００１２】
請求項２に記載の発明では、制御情報異常判断手段は、受信した制御情報が異常であるか否かを判断し、制御情報が異常であると判断された場合には、報知手段が制御情報の受信エラーである旨をユーザに報知する。制御情報取得手段は他の演算処理部において受信した制御情報を取得し、制御情報一致判断手段は、受信した制御情報と制御情報取得手段により取得した制御情報とが一致するか否かを判断する。そして、制御情報一致判断手段により制御情報が一致しないと判断された場合には、報知手段は制御情報の受信エラーである旨をユーザに報知する。
【００１３】
これにより、制御情報を受信した段階で異常がある場合には、処理を進めることなく即座に異常をユーザに報知し、さらに、各演算処理部が互いの制御情報を相互に比較して異常の有無を判断しているので、サーボ制御部の異常を迅速かつ的確に検出することができ、監視部の信頼性を向上させることができる。
また、二つの演算処理部により互いに受信した制御情報の異常の有無を判断しているので、監視部の信頼性を向上させることができる。
【００１４】
請求項３に記載の発明では、現在位置情報受信手段は、位置検出手段により検出されたロボットの現在位置情報を受信し、現在位置情報送信手段は、受信したロボットの現在位置情報を一方又は双方の演算処理部に送信する。
各演算処理部は、現在位置情報異常判断手段が、受信したロボットの現在位置情報が異常であるか否かを判断し、受信したロボットの現在位置情報が異常であると判断した場合には、電力遮断手段が、切り替え部によりサーボモータに対する電力の供給を遮断する。
次いで、現在位置情報取得手段が他の演算処理部において受信したロボットの現在位置情報を取得する。各演算処理部は、現在位置情報一致判断手段が、受信したロボットの現在位置情報と現在位置情報取得手段により取得したロボットの現在位置情報とが一致するか否かを判断する。ここで、現在位置情報一致判断手段によりロボットの現在位置情報が一致しないと判断された場合には、電力遮断手段が、切り替え部によりサーボモータに対する電力の供給を遮断する。
【００１５】
これにより、ロボットの現在位置情報を受信した段階で異常がある場合には、処理を進めることなく即座に異常をユーザに報知し、さらに、各演算処理部が互いのロボットの現在位置情報を相互に比較して異常の有無を判断しているので、サーボ制御部の異常を迅速かつ的確に検出することができ、監視部の信頼性を向上させることができる。
また、二つの演算処理部により互いに受信したロボットの現在位置情報の異常の有無を判断しているので、監視部の信頼性を向上させることができる。
【００１６】
請求項４に記載の発明では、サーボ制御部と監視部を別個に構成することにより、ロボットの制御と監視を並列処理することができるため、サーボ制御部の処理の負荷を軽減することができるとともに、各部の処理を高速化することができる。
【００１７】
請求項５に記載の発明では、各演算処理部ごとに設けられたウォッチドッグ回路が、演算処理部の不良停止状態の検知を行う。ここで、不良停止状態とは、演算処理部が処理を実行すべき際に処理を行わなくなった状態をいう。
そして、いずれかいずれかの演算処理部が他の演算処理部を監視するウォッチドッグ回路を通じて不良停止状態の発生を検知すると、演算処理部はサーボモータを停止させる。
これにより、いずれかの演算処理部が不良停止して、残り一方の演算処理部のみによるサーボモータの監視状態が回避され、二系統による監視状態でのみサーボモータを駆動させることができ、サーボモータの異常動作をより確実に防止することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して、本発明に係るロボット制御装置の最良の形態について詳細に説明する。なお、本実施形態においては、スポット溶接ガンを備える溶接ロボットの制御装置を例に挙げて説明する。
【００１９】
〔ロボット及びロボット制御装置の構成〕
＜ロボット＞
図１に示すように、ロボット制御装置１による対象となるロボット２は、土台となるベース２１と、複数の関節２３で連結された複数のアーム２２と、各関節２３ごとに設けられた駆動源としてのサーボモータ２４と、各サーボモータ２４の軸角度をそれぞれ検出する位置検出手段としてのエンコーダ２５と、を備えている。そして、連結されたアーム２２の最先端部にはロボット２の用途に応じたツール２６（例えば溶接ガンやハンド等）が装備されている。
各関節２３は、アーム２２の一端部を揺動可能として他端部を軸支する揺動関節と、アーム２２自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、本実施形態におけるロボット２はいわゆる多関節型ロボットに相当する。
また、ロボット２は、六つの関節２３を備えており、その先端部のツール２６を任意の位置に位置決めし、任意の姿勢を取らせることが可能となっている。
【００２０】
＜ロボット制御装置＞
ロボット制御装置１は、ティーチング或いはプログラミングにより設定されたロボット２の教示動作データに従って、ロボット２の制御指令を出力する位置制御部３と、位置制御部３からの制御指令に従ってロボット２の各サーボモータ２４の制御を行うサーボアンプ４と、電源から各サーボモータ２４への電力の供給と遮断とを切り替え可能な切り替え部としてのマグネットスイッチ５，６と、ロボット２の制御情報を監視して所定条件に応じて各マグネットスイッチ５，６を通じてサーボモータ２４を停止させる監視部７と、監視部７により異常検知が行われた場合にオペレータに異常発生を報知するための報知部８と、を備えている。ここで、位置制御部３、サーボアンプ４、監視部７は、それぞれ別個に構成されている。
【００２１】
（位置制御部）
位置制御部３は、ロボット２の動作制御を行うために各サーボモータ２４に対する制御指令を生成するための各種の処理プログラム及び各種のデータが記憶されたメモリと、処理プログラムを実行するＣＰＵと、サーボアンプ４との指令やデータの送受信を行うためのインターフェイスとを主に備えている。
【００２２】
メモリには、ロボット２の各種の処理プログラムの他、設定されたロボットの教示動作データ、ロボット２に関する各種の制御情報（各部の寸法、重量、イナーシャ、エンコーダ２５の出力コードと当該出力コードが示す関節角度（角度位置）との対応関係を示すテーブル、ロボットの各関節２３における関節角度の上限値、下限値（許容動作位置）、各関節２３の関節動作速度の上限値（許容速度）、各関節２３のトルクの上限値（許容値）、指令位置、サーボゲイン等）が記憶されている。
教示動作データは、ロボット２が所定の動作を実行するための制御指令であり、例えば、事前にロボット２に目的となる動作（ティーチング）を行わせ、当該動作軌跡の各点で関節角度のサンプリングを行い、その実行動作を再現するために演算により求められた移動軌跡のデータである。
位置制御部３のＣＰＵは、ロボット２の制御の際には、教示動作データに基づいて、サーボアンプ４に対して各サーボモータ２４の位置指令を所定の周期で順番に出力する。
なお、教示動作データは、ティーチングに限らず、記録メディアの読み出し装置、オペレータによる入力装置又は外部に対する通信手段によりロボット制御装置１の外部から取得される場合もある。
【００２３】
また、メモリ内の各種の制御情報である各部の寸法、重量、イナーシャ、エンコーダ２５の出力コードと当該出力コードが示す関節角度との対応関係を示すテーブル、ロボットの各関節２３における関節角度の上限値、下限値、各関節２３の関節動作速度の上限値、各関節２３のトルクの上限値等のデータ、そして、ロボット２への指令位置やサーボゲイン等は、監視部７に出力される。その際、ＣＰＵは、各データについて所定のデータ単位ごとにＣＲＣコード（Cyclic Redundancy Check）を生成し、これを添付して監視部７に送信する。
【００２４】
（サーボアンプ）
サーボアンプ４は、ロボット２の各関節２３のエンコーダ２５から回転角度位置の検出信号を受信する受信回路と、各サーボモータ２４に対する制御信号と帰還信号の送受信を行うモータ制御回路とを備えている。そして、サーボアンプ４は、位置制御部３から入力される指令位置と各エンコーダ２５の検出信号と各サーボモータ２４からの帰還信号とに基づいて、各サーボモータ２４の位置、速度、トルクについてフィードバック制御を行う。なお、このサーボアンプ４と位置制御部３とが、サーボモータ２４をエンコーダ２５からの検出出力に応じて制御するサーボ制御部として機能する。
【００２５】
（監視部）
図２は、監視部７の構成を示すブロック図である。監視部７は、後述する各種の処理を実行する二つの演算処理部としての第一及び第二のＣＰＵ１０，１１と、ロボット２の各エンコーダ２５からロボット２の現在位置情報を受信する現在位置情報受信手段としてのエンコーダデータ受信回路１２と、サーボ制御部を構成する位置制御部３からロボット２への指令位置及びサーボゲインを含む制御情報を受信するとともに制御情報受信手段としての制御情報受信回路１３と、第一と第二のＣＰＵ１０，１１の演算処理の実行状態を個別に監視するウォッチドッグ回路１７，１８と、を備えている。
【００２６】
（各ＣＰＵの機能）
各ＣＰＵ１０，１１は、それぞれ内部メモリ１５，１６を有しており、各内部メモリ１５，１６は、ＣＰＵ１０，１１がそれぞれ実行する処理プログラムを記憶すると共に各処理における作業領域として機能する。
また、第一のＣＰＵ１０と第二のＣＰＵ１１とは、それぞれのデータの送受信を行う通信手段であるバスにより互いに接続されている。
【００２７】
第一のＣＰＵ１０及び第二のＣＰＵ１１は、受信した制御情報からロボット２の位置を推測する位置推測手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、他のＣＰＵ１０，１１において推測されたロボット２の推測位置を取得する推測位置取得手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、推測したロボット２の推測位置と取得したロボット２の推測位置とが一致するか否かを判断する推測位置一致判断手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、ロボット２の推測位置が一致すると判断された場合に、推測位置とエンコーダ２５により検出されたロボット２の現在位置との差を算出する位置差算出手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、算出された位置の差が所定値以上である場合又はロボット２の推測位置が一致しないと判断された場合に、マグネットスイッチ５，６によりサーボモータ２４に対する電力の供給を遮断する電力遮断手段として機能する。
【００２８】
第一のＣＰＵ１０及び第二のＣＰＵ１１は、受信した制御情報が異常であるか否かを判断する制御情報異常判断手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、他のＣＰＵ１０，１１において受信した制御情報を取得する制御情報取得手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、受信した制御情報と取得した制御情報とが一致するか否かを判断する制御情報一致判断手段として機能する。
【００２９】
第一のＣＰＵ１０及び第二のＣＰＵ１１は、受信したロボット２の現在位置情報が異常であるか否かを判断する現在位置情報異常判断手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、他のＣＰＵ１０，１１において受信したロボット２の現在位置情報を取得する現在位置情報取得手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、受信したロボット２の現在位置情報と取得したロボット２の現在位置情報とが一致するか否かを判断する現在位置情報一致判断手段として機能する。
第一のＣＰＵ１０及び第二のＣＰＵ１１は、受信したロボット２の現在位置情報が異常であると判断された場合、又は、受信したロボット２の現在位置情報と取得したロボット２の現在位置情報とが一致しないと判断された場合に、マグネットスイッチ５，６によりサーボモータ２４に対する電力の供給を遮断する電力遮断手段として機能する。
【００３０】
（エンコーダデータ受信回路）
エンコーダデータ受信回路１２は、第一のＣＰＵ１０からの指令に従い、エンコーダ２５に対する検出信号出力の要求コマンドと当該要求コマンドを一意に識別するためのシーケンス番号データとをエンコーダ２５に送信する。このシーケンス番号は、周期的に行われる位置データの要求コマンド出力のたびに順次1ずつ加算されて付加されるので、各要求コマンドごとに重複するシーケンス番号が付加されないようになっている。
一方、エンコーダ２５は、シーケンス番号が付加された要求コマンドを受けると同じシーケンス番号を付加して検出したロボットの現在の位置に関する現在位置情報の返信を行う。これにより、エンコーダデータ受信回路１２では、現在位置情報に付加されたシーケンス番号を参照することで、いずれの要求コマンドに対する現在位置情報なのかを識別することができる。また、シーケンス番号の不一致により、エンコーダ２５の異常を検知することが可能となっている。また、エンコーダデータ受信回路１２は、エンコーダ２５から受信した現在位置情報を第一のＣＰＵ１０に送信する現在位置情報送信手段としても機能する。
【００３１】
（制御情報受信回路）
制御情報受信回路１３は、サーボアンプ４からのサーボモータ２４への指令位置及びサーボゲインを、位置制御部３を介して受信し、受信した指令位置及びサーボゲインを第一のＣＰＵ１０に送信する。すなわち、制御情報受信回路１３は、制御情報送信手段としても機能する。
【００３２】
（ウォッチドッグ回路）
ウォッチドッグ回路１７は第一のＣＰＵ１０を監視し、ウォッチドッグ回路１８は第二のＣＰＵ１１の監視を行う。
即ち、各ウォッチドッグ回路１７，１８は、ロボット２の制御実行時において、それぞれが監視対象とするＣＰＵ１０，１１に対して周期的にウォッチドッグ要求信号を出力し、これに対して各ＣＰＵ１０，１１が所定期間内に応答信号を返信しないときには、監視対象であるＣＰＵ１０，１１が停止しているものとして、タイムアップ信号を監視対象ではないＣＰＵ１０，１１に出力する機能を有している。
【００３３】
（報知部）
報知部８は、監視部７の処理において異常を検知したときに、その異常をオペレータに報知するための表示手段である。具体的には、異常発生を表示するモニタ、報知ランプ又は警報機等が報知部８として使用される。
報知部８は、各ＣＰＵ１０，１１が、他のウォッチドッグ回路１７，１８を通じて不良停止状態を検知すると、当該他のＣＰＵ１０，１１が不良停止状態である旨をユーザに報知する。
報知部８は、第一のＣＰＵ１０及び第二のＣＰＵ１１により、受信した制御情報が異常であると判断された場合、又は、受信した制御情報と取得した制御情報とが一致するか否かを判断した際に制御情報が一致しないと判断された場合に、制御情報の受信エラーである旨をユーザに報知する報知手段として機能する。
【００３４】
〔制御情報の受信処理〕
図３は、監視部７の各ＣＰＵ１０，１１が行うロボット制御における制御情報（主に指令位置、サーボゲイン）の受信処理を示したものである。
最初に、第一のＣＰＵ１０は、制御情報受信回路１３を介して位置制御部３のＣＰＵに対して制御情報の要求を行い、その結果、位置制御部３から制御情報を受信する（ステップＳ１０１）。
【００３５】
このとき、位置制御部３のＣＰＵは制御情報について所定のデータ単位でＣＲＣコードを付与して送信する。これに対して、第一のＣＰＵ１０は受信した制御情報について位置制御部３と同じ条件でＣＲＣコードを生成すると共に、位置制御部３で生成されたＣＲＣコードと一致するか否かの判断を行う（ステップＳ１０２）。
このＣＲＣコードは、生成する元となるデータが1ビットでも異なればコードも変化してしまう性質があるので、上記処理において送信前の制御情報が何らかの異常により送信後に異なる制御情報に変化し或いは破損したかを判断することができる。
【００３６】
そして、第一のＣＰＵ１０が、ＣＲＣコードが一致しない（ＣＲＣコード異常）と判断した場合（ステップＳ１０２：ＹＥＳ）、第一のＣＰＵ１０は報知部８に対して制御情報の受信エラーを示す異常報知表示を行うように制御する（ステップＳ１０３）。異常報知後は第一及び第二のＣＰＵ１０，１１は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
一方、第一のＣＰＵ１０が、ＣＲＣコードが一致した（ＣＲＣコード正常）と判断した場合（ステップＳ１０２：ＮＯ）、第一のＣＰＵ１０は、内部メモリ１５に受信した制御情報を格納し（ステップＳ１０４）、さらに、第二のＣＰＵ１１に対して受信した制御情報とそのＣＲＣコードを送信する（ステップＳ１０５）。
【００３７】
第一のＣＰＵ１０からの制御情報とＣＲＣコードを受信すると、第二のＣＰＵ１１は、受信した制御情報について位置制御部３と同じ条件でＣＲＣコードを生成すると共に、受信した制御情報のＣＲＣコードと一致するか否かの判断を行う（ステップＳ１０６）。
そして、第二のＣＰＵ１１が、ＣＲＣコードが一致しない（ＣＲＣコード異常）と判断した場合（ステップＳ１０６：ＹＥＳ）、第二のＣＰＵ１１は報知部８に対して制御情報の受信エラーを示す異常報知表示を行うように制御する（ステップＳ１０７）。このときも、異常報知後は第一及び第二のＣＰＵ１０，１１は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
一方、第二のＣＰＵ１１が、ＣＲＣコードが一致した（ＣＲＣコード正常）と判断した場合（ステップＳ１０６：ＹＥＳ）、第二のＣＰＵ１１は、内部メモリ１６に受信した制御情報を格納する（ステップＳ１０８）。
【００３８】
また、第一のＣＰＵ１０は、制御情報を内部メモリ１５に格納後、バスを介して第二のＣＰＵ１１に送信した制御情報との相互比較を行い（ステップＳ１０９）、第二のＣＰＵ１１は、制御情報を内部メモリ１６に格納後、バスを介して第一のＣＰＵ１１が保有する制御情報との相互比較を行う（ステップＳ１１０）。
【００３９】
そして、第一のＣＰＵ１０は、自己の制御情報と第二のＣＰＵ１１の制御情報とが一致するか否かを判断し（ステップＳ１１１）、第一のＣＰＵ１０が一致すると判断した場合（ステップＳ１１１：ＹＥＳ）、これをもって本処理を終了する。一方、第一のＣＰＵ１０が一致しないと判断した場合（ステップＳ１１１：ＮＯ）、第一のＣＰＵ１０は、報知部８に対して制御情報の受信エラーを示す異常報知表示を行うように制御する（ステップＳ１１３）。このときも、異常報知後は第一及び第二のＣＰＵ１０，１１は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
【００４０】
また、同様にして、第二のＣＰＵ１１は、自己の制御情報と第一のＣＰＵ１０の制御情報とが一致するか否かを判断し（ステップＳ１１２）、第二のＣＰＵ１１が一致すると判断した場合（ステップＳ１１２：ＹＥＳ）、これをもって本処理を終了する。一方、第二のＣＰＵ１１が一致しないと判断した場合（ステップＳ１１２：ＮＯ）、第二のＣＰＵ１１は、報知部８に対して制御情報の受信エラーを示す異常報知表示を行うように制御する（ステップＳ１１４）。このときも、異常報知後は第一及び第二のＣＰＵ１０，１１は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
【００４１】
〔ロボットの現在位置情報の受信処理〕
図４は、監視部７の各ＣＰＵ１０，１１が行うロボット２の現在位置情報の受信処理を示したものである。
【００４２】
最初に、第一のＣＰＵ１０は、エンコーダデータ受信回路１２を介してエンコーダ２５に対して現在の検出角度位置を示す現在位置情報の要求コマンドを送信する。このとき、要求コマンドは、当該コマンドを一意に識別するためのシーケンス番号データを付加されてエンコーダ２５に送信される。その結果、エンコーダデータ受信回路１２から現在位置情報を受信する（ステップＳ２０１）。
【００４３】
このとき、エンコーダ２５は制御情報について所定のデータ単位でＣＲＣコードを付与して送信する。これに対して、第一のＣＰＵ１０は受信した現在位置情報についてエンコーダ２５と同じ条件でＣＲＣコードを生成すると共に、エンコーダ２５で生成されたＣＲＣコードと一致するか否かの判断を行う（ステップＳ２０２）。
このＣＲＣコードは、生成する元となるデータが1ビットでも異なればコードも変化してしまう性質があるので、上記処理において送信前の制御情報が何らかの異常により送信後に異なる制御情報に変化し或いは破損したかを判断することができる。
【００４４】
そして、第一のＣＰＵ１０が、ＣＲＣコードが一致しない（ＣＲＣコード異常）と判断した場合（ステップＳ２０２：ＹＥＳ）、第一のＣＰＵ１０はマグネットスイッチ５に切替信号を出力し、全てのサーボモータ２４への通電を遮断して、ロボット２を停止させる（ステップＳ２０３）。一方、第一のＣＰＵ１０が、ＣＲＣコードが一致した（ＣＲＣコード正常）と判断した場合（ステップＳ２０２：ＮＯ）、第一のＣＰＵ１０は、第二のＣＰＵ１１に対して受信した現在位置情報とそのＣＲＣコードを送信する（ステップＳ２０４）。
そして、第一のＣＰＵ１０からの現在位置情報とＣＲＣコードを受信すると、第二のＣＰＵ１１は、受信した現在位置情報についてエンコーダ２５と同じ条件でＣＲＣコードを生成すると共に、当該生成したＣＲＣコードと受信したＣＲＣコードとが一致するか否かの判断を行う（ステップＳ２０５）。
そして、第二のＣＰＵ１１が、ＣＲＣコードが一致しない（ＣＲＣコード異常）と判断した場合（ステップＳ２０５：ＹＥＳ）、第二のＣＰＵ１１はマグネットスイッチ６に切替信号を出力し、全てのサーボモータ２４への通電を遮断して、ロボット２を停止させる（ステップＳ２０６）。
【００４５】
一方、第一のＣＰＵ１０は、現在位置情報を第二のＣＰＵ１１に送信後、上述したステップＳ１０４の処理（図３）で位置制御部３から受信して内部メモリ１５に格納した制御情報に含まれるエンコーダ２５の出力コードと当該出力コードが示す検出角度位置との対応関係を示すテーブルを参照して、エンコーダ２５の位置データを関節角度（角度位置）に変換すると共に内部メモリ１５に記憶する（ステップＳ２０７）。
また、第二のＣＰＵ１１も、現在位置情報のＣＲＣコードに異常がない場合に、上述したステップＳ１０８の処理（図３）で内部メモリ１６に格納した制御情報中のエンコーダ２５の出力コードと関節角度との対応テーブルから、エンコーダ２５の位置データを関節角度に変換すると共に内部メモリ１６に記憶する（ステップＳ２０８）。
【００４６】
そして、第一のＣＰＵ１０は、関節角度の算出後、バスを介して、第二のＣＰＵ１１が算出した関節角度との相互比較を行い（ステップＳ２０９）、第一のＣＰＵ１０で求めた関節角度と第二のＣＰＵ１１で求めた関節角度とが一致するか否かを判断する（ステップＳ２１０）。
そして、第一のＣＰＵ１０が、相互の関節角度が一致しないと判断した場合（ステップＳ２１０：ＮＯ）、第一のＣＰＵ１０は、マグネットスイッチ５に切替信号を出力し、全てのサーボモータ２４への通電を遮断して、ロボット２を停止させる（ステップＳ２１１）。
また、第一のＣＰＵ１０が、相互の関節角度が一致すると判断した場合（ステップＳ２１０：ＹＥＳ）、第一のＣＰＵ１０は、位置監視処理（ステップＳ２１２）、ＣＰＵの相互監視処理（ステップＳ２１３）を行った後に、本処理を終了する。
【００４７】
一方、第二のＣＰＵ１１は、関節角度の算出後、バスを介して、第一のＣＰＵ１０が算出した関節角度との相互比較を行い（ステップＳ２１４）、第二のＣＰＵ１１で求めた関節角度と第一のＣＰＵ１０で求めた関節角度とが一致するか否かを判断する（ステップＳ２１５）。
そして、第二のＣＰＵ１１が、相互の関節角度が一致しないと判断した場合（ステップＳ２１５：ＮＯ）、第二のＣＰＵ１１は、マグネットスイッチ６に切替信号を出力し、全てのサーボモータ２４への通電を遮断して、ロボット２を停止させる（ステップＳ２１６）。
また、第二のＣＰＵ１１が、相互の関節角度が一致すると判断した場合（ステップＳ２１５：ＹＥＳ）、第二のＣＰＵ１１は、位置監視処理（ステップＳ２１７）、ＣＰＵの相互監視処理（ステップＳ２１８）を行った後に、本処理を終了する。
【００４８】
〔監視部における位置監視処理〕
図５は、監視部７の各ＣＰＵ１０，１１が行うロボット２の位置監視処理を示したものである。
まず、第一のＣＰＵ１０は、位置制御部３から受信した制御情報におけるロボット２への指令位置、サーボゲインからロボット２の現在位置を推測する（ステップＳ３０１）。また、第二のＣＰＵ１１も、第一のＣＰＵ１０から受信した制御情報におけるロボット２への指令位置、サーボゲインからロボット２の現在位置を推測する（ステップＳ３０２）。
【００４９】
そして、第一のＣＰＵ１０は、ロボット２の現在位置を推測した後、バスを介して、第二のＣＰＵ１１で推測したロボット２の現在位置との相互比較を行い（ステップＳ３０３）、第一のＣＰＵ１０で推測したロボット２の現在位置と第二のＣＰＵ１１で推測したロボット２の現在位置とが一致するか否かの判断を行う（ステップＳ３０４）。
同様に、第二のＣＰＵ１１は、ロボット２の現在位置を推測した後、バスを介して、第一のＣＰＵ１０が推測したロボット２の現在位置との相互比較を行い（ステップＳ３０５）、第二のＣＰＵ１１で推測したロボット２の現在位置と第一のＣＰＵ１０で推測したロボット２の現在位置とが一致するか否かの判断を行う（ステップＳ３０６）。
【００５０】
そして、第一のＣＰＵ１０が、相互の推測位置が一致しないと判断した場合（ステップＳ３０４：ＮＯ）、第一のＣＰＵ１０は、マグネットスイッチ５に切替信号を出力し、全てのサーボモータ２４への通電を遮断して、ロボット２を停止させる（ステップＳ３０７）。
同様に、第二のＣＰＵ１１が、相互の推測位置が一致しないと判断した場合（ステップＳ３０６：ＮＯ）、第二のＣＰＵ１１は、マグネットスイッチ６に切替信号を出力し、全てのサーボモータ２４への通電を遮断して、ロボット２を停止させる（ステップＳ３０８）。
【００５１】
一方、第一のＣＰＵ１０が、相互の推測位置が一致したと判断した場合（ステップＳ３０４：ＹＥＳ）、第一のＣＰＵ１０は、エンコーダデータ受信回路１２を介してエンコーダ２５から受信したロボット２の現在位置と、ステップＳ３０１で推測したロボット２の推測位置との差分を算出し、その差分が内部メモリ１５に格納していた所定の閾値未満であるか（許容される位置差の限界を超えていないか否か）否かを判断する（ステップＳ３０９）。
同様に、第二のＣＰＵ１１が、相互の推測位置が一致したと判断した場合（ステップＳ３０６：ＹＥＳ）、第二のＣＰＵ１１は、第一のＣＰＵ１０から受信したロボット２の現在位置と、ステップＳ３０２で推測したロボット２の推測位置との差分を算出し、その差分が内部メモリ１６に格納していた所定の閾値未満であるか（許容される位置差の限界を超えていないか否か）否かを判断する（ステップＳ３１０）。
【００５２】
そして、第一のＣＰＵ１０が、ロボット２の現在位置と推測位置との差分値が閾値以上であったと判断した場合（ステップＳ３０９：ＮＯ）、第一のＣＰＵ１０は、マグネットスイッチ５に切替信号を出力し、ロボット２を停止させる（ステップＳ３１１）。また、第一のＣＰＵ１０が、ロボット２の現在位置と推測位置との差分値が閾値未満であったと判断した場合（ステップＳ３０９：ＹＥＳ）、第一のＣＰＵ１０は、本処理を終了させる。
同様に、第二のＣＰＵ１１が、ロボット２の現在位置と推測位置との差分値が閾値以上であったと判断した場合（ステップＳ３１０：ＮＯ）、第二のＣＰＵ１１は、マグネットスイッチ６に切替信号を出力し、ロボット２を停止させる（ステップＳ３１２）。また、第二のＣＰＵ１１が、ロボット２の現在位置と推測位置との差分値が閾値未満であったと判断した場合（ステップＳ３１０：ＹＥＳ）、第二のＣＰＵ１１は、本処理を終了させる。
【００５３】
〔監視部におけるＣＰＵの相互監視処理〕
サーボモータ制御の監視処理において、ロボットの位置監視処理が終了すると、最後にＣＰＵの相互監視処理が実行される。
かかる処理では、第一のＣＰＵ１０が、第二のＣＰＵ１１の監視を行っているウォッチドッグ回路１８にアクセスし、第二のＣＰＵ１１の停止状態を示すエラー信号を出力しているかを判断する。その結果、ウォッチドッグ回路１８がエラー信号を出力している場合に、第一のＣＰＵ１０は、マグネットスイッチ５に切替信号を出力し、ロボット２を停止させる。また、ウォッチドッグ回路１８がタイムアップ信号を出力していない場合には、第一のＣＰＵ１０はＣＰＵの相互監視処理を終了する。
一方、第二のＣＰＵ１１が、第一のＣＰＵ１０の監視を行っているウォッチドッグ回路１７にアクセスし、第一のＣＰＵ１０の停止状態を示すエラー信号を出力しているかを判断する。その結果、ウォッチドッグ回路１７がエラー信号を出力している場合に、第二のＣＰＵ１１は、マグネットスイッチ６に切替信号を出力し、ロボット２を停止させる。また、ウォッチドッグ回路１７がタイムアップ信号を出力していない場合には、第二のＣＰＵ１１はＣＰＵの相互監視処理を終了する。
【００５４】
〔ロボット制御装置の全体的な動作〕
上記構成により、ロボット制御装置１の位置制御部３は、教示動作データに基づく動作を行うように制御指令を順番に出力し、サーボアンプ４を介してロボット２の各関節２３のサーボモータ２４の動作制御を行う。このとき、サーボアンプ４では、各関節２３のエンコーダ２５からの検出信号に基づいてフィードバック制御が実行される。
【００５５】
一方、監視部７は、ロボット２の動作開始前に、ロボット制御における各種の制御情報を位置制御部３から取得し、ロボット２の動作制御の際には、所定のサンプリング間隔で、各エンコーダ２５から現在位置情報（関節角度）の受信を行う。そして、データ受信の異常の発生、関節角度、動作速度、トルクの異常の発生、各ＣＰＵ１０，１１の異常の発生の監視がロボット２の動作中においてサンプリング間隔で繰り返し実行される。
【００５６】
〔実施形態の効果〕
以上のように、ロボット制御装置１では、制御情報受信回路１３は、位置制御部３からのロボット２に対する制御情報（指令位置、サーボゲイン）を受信し、受信した制御情報を第一のＣＰＵ１０に送信する。
各ＣＰＵ１０，１１は、受信した制御情報からロボット２の位置を推測し、他のＣＰＵ１０，１１において推測されたロボット２の推測位置を取得する。各ＣＰＵ１０，１１は、推測したロボット２の推測位置と他のＣＰＵ１０，１１から取得したロボット２の推測位置とが一致するか否かを判断する。
次いで、各ＣＰＵ１０，１１は、ロボット２の推測位置が一致すると判断した場合に、各ＣＰＵ１０，１１により推測された推測位置とエンコーダ２５により検出されたロボット２の現在位置との差を算出する。
そして、各ＣＰＵ１０，１１は、算出された位置の差が所定値以上である場合又はロボット２の推測位置が一致しないと判断された場合に、マグネットスイッチ５，６によりサーボモータ２４に対する電力の供給を遮断する。
【００５７】
これにより、各ＣＰＵ１０，１１は、位置制御部３から受信した制御情報に基づいて、サーボ遅れ等も考慮した状態でロボット２の位置を推測し、エンコーダ２５から検出されるロボット２の現在位置と比較して、その位置の差に応じてサーボモータ２４の駆動を停止させることができるので、位置制御部３及びサーボアンプ４の異常を迅速かつ的確に検出することができ、監視部７の信頼性を向上させることができる。
また、二つのＣＰＵ１０，１１により互いに推測したロボット２の現在位置が一致するか否かを判断しているので、監視部７の信頼性を向上させることができる。
【００５８】
また、各ＣＰＵ１０，１１は、受信した制御情報が異常であるか否かを判断し、制御情報が異常であると判断された場合には、報知部８が制御情報の受信エラーである旨をユーザに報知する。各ＣＰＵ１０，１１は、他のＣＰＵ１０，１１において受信した制御情報を取得し、受信した制御情報と取得した制御情報とが一致するか否かを判断する。そして、各ＣＰＵ１０，１１により制御情報が一致しないと判断された場合には、報知部８は制御情報の受信エラーである旨をユーザに報知する。
【００５９】
これにより、制御情報を受信した段階で異常がある場合には、処理を進めることなく即座に異常をユーザに報知し、さらに、各ＣＰＵ１０，１１が互いの制御情報を相互に比較して異常の有無を判断しているので、位置制御部３及びサーボアンプ４の異常を迅速かつ的確に検出することができ、監視部７の信頼性を向上させることができる。
また、二つのＣＰＵ１０，１１により互いに受信した制御情報の異常の有無を判断しているので、監視部７の信頼性を向上させることができる。
【００６０】
また、エンコーダデータ受信回路１２は、エンコーダ２５により検出されたロボット２５の現在位置情報を受信し、受信したロボット２の現在位置情報を第一のＣＰＵ１０に送信する。
各ＣＰＵ１０，１１は、受信したロボット２の現在位置情報が異常であるか否かを判断し、受信したロボット２の現在位置情報が異常であると判断した場合には、各ＣＰＵ１０，１１が、マグネットスイッチ５，６によりサーボモータ２４に対する電力の供給を遮断する。
次いで、各ＣＰＵ１０，１１が他のＣＰＵ１０，１１において受信したロボット２の現在位置情報を取得する。各ＣＰＵ１０，１１は、受信したロボット２の現在位置情報と取得したロボット２の現在位置情報とが一致するか否かを判断する。ここで、各ＣＰＵ１０，１１によりロボット２の現在位置情報が一致しないと判断された場合には、各ＣＰＵ１０，１１が、マグネットスイッチ５，６によりサーボモータ２４に対する電力の供給を遮断する。
【００６１】
これにより、ロボット２の現在位置情報を受信した段階で異常がある場合には、処理を進めることなく即座に異常をユーザに報知し、さらに、各ＣＰＵ１０，１１が互いのロボット２の現在位置情報を相互に比較して異常の有無を判断しているので、位置制御部３及びサーボアンプ４の異常を迅速かつ的確に検出することができ、監視部７の信頼性を向上させることができる。
また、二つのＣＰＵ１０，１１により互いに受信したロボット２の現在位置情報の異常の有無を判断しているので、監視部７の信頼性を向上させることができる。
【００６２】
また、位置制御部３とサーボアンプ４と監視部７を別個に構成することにより、ロボット２の制御と監視を並列処理することができるため、各部の処理の負荷を軽減することができるとともに、一つの処理回路で処理する場合に比べて各部の処理を高速化することができる。
【００６３】
また、各ＣＰＵ１０，１１ごとに設けられたウォッチドッグ回路１７，１８が、各ＣＰＵ１０，１１の不良停止状態の検知を行う。そして、いずれかのＣＰＵ１０，１１が他のＣＰＵ１０，１１を監視するウォッチドッグ回路１７，１８を通じて不良停止状態の発生を検知すると、各ＣＰＵ１０，１１はサーボモータ２４を停止させる。
これにより、いずれかのＣＰＵ１０，１１が不良停止して、残り一方のＣＰＵ１０，１１のみによるサーボモータ２４の監視状態が回避され、二系統による監視状態でのみサーボモータ２４を駆動させることができ、サーボモータ２４の異常動作をより確実に防止することができる。
【００６４】
また、サーボ制御が正常に動作していることを確認するだけでなく、サーボアンプ４に含まれる診断回路や診断ソフトウェアを安価に実現することができる。
また、サーボアンプ４の監視だけでなく、エンコーダ２５をも含めた監視になるため、装置全体の信頼性を向上させることができる。
【００６５】
〔その他〕
上記構成では、図１において、サーボモータ２４及びエンコーダ２５が一組しか図示されていないが、これらは各関節２３ごとに設けられている。従って、監視部７は、図３〜図５に示す全ての処理を、タイミングをずらして各サーボモータ２４ごとに実行していることはいうまでもない。
【００６６】
また、上記構成では、監視部７の第二のＣＰＵ１１が各エンコーダ２５からの現在位置情報を第一のＣＰＵ１０を介して受信する構成となっているが、第二のＣＰＵ１１が第一のＣＰＵ１０を介することなくエンコーダ２５から直接受信する構成としても良い。その場合、第二のＣＰＵ１１もエンコーダ２５からの現在位置情報に対してＣＲＣコードによる確認処理を実行することが望ましい。
【００６７】
また、制御対象となるロボットは回動、回転関節のみを有するものに限られず、例えば直動式の関節を有するロボットを制御対象としても良い。その場合、関節角度ではなく、現在位置情報から直進方向の移動量を求め、これを監視する構成とすることが望ましい。
【００６８】
また、ロボット２の制御精度を向上させるため、図５における位置監視処理において、推測位置と現在位置が一致しない限りサーボモータ２４を停止させる構成としてもよい。
また、マグネットスイッチ５，６を切ることで異常を通知することができるようにしたが、位置制御部３に対して異常を通知するようにしてもよい。
【００６９】
また、上記構成では、各演算処理を二つのＣＰＵ１０，１１により行っていたが、ＣＰＵの数は三つ以上であってもよい。これにより、ロボット２の位置監視のレベルを向上させることができる。
【図面の簡単な説明】
【００７０】
【図１】ロボット及びロボット制御装置の全体構成図。
【図２】図１における監視部の構成を示すブロック図。
【図３】監視部の各ＣＰＵが行うロボットの制御情報の受信処理のフローチャート。
【図４】監視部の各ＣＰＵが行うロボットの現在位置情報の受信処理のフローチャート。
【図５】監視部の各ＣＰＵが行うロボットの位置監視処理のフローチャート。
【符号の説明】
【００７１】
１  ロボット制御装置
２  ロボット
３  位置制御部（サーボ制御部）
４  サーボアンプ（サーボ制御部）
５  マグネットスイッチ（切り替え部）
６  マグネットスイッチ（切り替え部）
７  監視部
８  報知部（報知手段）
１０  第一のＣＰＵ（演算処理部、位置推測手段、推測位置取得手段、推測位置一致判断手段、位置差算出手段、電力遮断手段、制御情報異常判断手段、制御情報取得手段、制御情報一致判断手段、現在位置情報異常判断手段、現在位置情報取得手段、現在位置情報一致判断手段）
１１  第二のＣＰＵ（演算処理部、位置推測手段、推測位置取得手段、推測位置一致判断手段、位置差算出手段、電力遮断手段、制御情報異常判断手段、制御情報取得手段、制御情報一致判断手段、現在位置情報異常判断手段、現在位置情報取得手段、現在位置情報一致判断手段）
１２  エンコーダデータ受信回路（現在位置情報受信手段、現在位置情報送信手段）
１３  制御情報受信回路（制御情報受信手段、制御情報送信手段）
１７  ウォッチドッグ回路
１８  ウォッチドッグ回路
２４  サーボモータ
２５  エンコーダ（位置検出手段）
【図１】
2007265103.tif 000003
【図２】
2007265103.tif 000004
【図３】
2007265103.tif 000005
【図４】
2007265103.tif 000006
【図５】
2007265103.tif 000007