JP2007301680A - ロボットアーム診断装置 - Google Patents
ロボットアーム診断装置 Download PDFInfo
- Publication number
- JP2007301680A JP2007301680A JP2006132830A JP2006132830A JP2007301680A JP 2007301680 A JP2007301680 A JP 2007301680A JP 2006132830 A JP2006132830 A JP 2006132830A JP 2006132830 A JP2006132830 A JP 2006132830A JP 2007301680 A JP2007301680 A JP 2007301680A
- Authority
- JP
- Japan
- Prior art keywords
- torque
- servo motor
- estimated
- position information
- command position
- 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.)
- Withdrawn
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P70/00—Climate change mitigation technologies in the production process for final industrial or consumer products
- Y02P70/10—Greenhouse gas [GHG] capture, material saving, heat recovery or other energy efficient measures, e.g. motor control, characterised by manufacturing processes, e.g. for rolling metal or metal working
Abstract
【課題】ロボットアームの異常をより正確に検出することを可能とする。
【解決手段】駆動電流から実際の駆動トルクを算出するトルク算出手段10,11と、指令位置情報から駆動トルクを算出するとともに、トルク変動パラメータにより駆動トルクを補正して駆動トルクを推測するトルク推測手段10,11と、他の演算処理部10,11において推測された推測トルクを取得する推測トルク取得手段10,11と、推測した推測トルクと取得した推測トルクとの一致判断を行う推測トルク一致判断手段10,11と、推測トルクが一致すると判断された場合に、推測トルクと算出された実際の駆動トルクとの差を算出するトルク差算出手段10,11と、算出されたトルクの差が所定値以上である場合又は推測トルクが一致しないと判断された場合に、切り替え部18,19によりサーボモータ24への電力供給を遮断する電力遮断手段10,11と、を有する。
【選択図】図1
【解決手段】駆動電流から実際の駆動トルクを算出するトルク算出手段10,11と、指令位置情報から駆動トルクを算出するとともに、トルク変動パラメータにより駆動トルクを補正して駆動トルクを推測するトルク推測手段10,11と、他の演算処理部10,11において推測された推測トルクを取得する推測トルク取得手段10,11と、推測した推測トルクと取得した推測トルクとの一致判断を行う推測トルク一致判断手段10,11と、推測トルクが一致すると判断された場合に、推測トルクと算出された実際の駆動トルクとの差を算出するトルク差算出手段10,11と、算出されたトルクの差が所定値以上である場合又は推測トルクが一致しないと判断された場合に、切り替え部18,19によりサーボモータ24への電力供給を遮断する電力遮断手段10,11と、を有する。
【選択図】図1
Description
本発明は、複数のロボットアームを有するロボットにおけるロボットアームの異常を診断するロボットアーム診断装置に関する。
一般的に、複数のロボットアームを備える産業用ロボットは、各ロボットアームに当該ロボットアームを駆動させるサーボモータが取り付けられ、このサーボモータにエンコーダやレゾルバ等の位置検出器が取り付けられて構成されている。サーボモータはサーボ制御部により制御されており、サーボ制御においては、ロボットアームへの指令位置に対して現在位置が追従動作するフィードバック制御が行われており、ロボットアームの位置を監視することでロボットアームの異常を検出することができる。
ロボットアームの異常を検出するものとして、例えば、サーボ制御部からのロボットアームへの指令位置と、位置検出器から検出されたロボットアームの現在位置とを比較することで、ロボットアームの異常を検出するという提案がなされている(例えば、特許文献1参照。)。
特開2005−186183号公報
ロボットアームの異常を検出するものとして、例えば、サーボ制御部からのロボットアームへの指令位置と、位置検出器から検出されたロボットアームの現在位置とを比較することで、ロボットアームの異常を検出するという提案がなされている(例えば、特許文献1参照。)。
しかしながら、一般的な産業用ロボットにおいては、サーボモータの出力軸には回転減速機、ロボットアームが機械要素として設けられており、エンコーダやレゾルバ等の位置検出器からの現在位置に関するデータだけではロボットアーム先端の状態を監視することができない。
上記の特許文献1では、サーボ制御部からの指令位置と位置検出器からの現在位置とを比較しているため、サーボモータの出力軸の故障、減速機の故障、ロボットアームで発生する異常を検出することができない。具体的には、ロボットアームが折れている場合であっても、サーボ制御部からの指令位置と位置検出器からの現在位置は一致するため、ロボットアームの異常を検出することができない。
上記の特許文献1では、サーボ制御部からの指令位置と位置検出器からの現在位置とを比較しているため、サーボモータの出力軸の故障、減速機の故障、ロボットアームで発生する異常を検出することができない。具体的には、ロボットアームが折れている場合であっても、サーボ制御部からの指令位置と位置検出器からの現在位置は一致するため、ロボットアームの異常を検出することができない。
本発明は、上記課題を解決するためになされたものであり、ロボットアームの異常をより正確に検出することを可能としたロボットアーム診断装置を提供することを目的とする。
請求項1に記載の発明は、ロボットアームの位置を検出する位置検出手段からの検出出力に応じてサーボ制御部により制御されるサーボモータを駆動源とするロボットアームの異常を診断するロボットアーム診断装置において、前記サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、前記サーボモータの駆動電流を検出する電流検出手段と、二つの演算処理部と、前記サーボモータの駆動トルクに影響を与えるトルク変動パラメータを記憶する記憶手段と、前記サーボ制御部からの前記ロボットアームに対する指令位置情報を受信する制御情報受信手段と、前記制御情報受信手段により受信した指令位置情報及び前記記憶手段に記憶されたトルク変動パラメータを一方又は双方の演算処理部に送信する制御情報送信手段と、を有し、各演算処理部は、前記電流検出手段により検出された前記サーボモータの駆動電流から当該サーボモータの実際の駆動トルクを算出するトルク算出手段と、前記制御情報受信手段により受信した指令位置情報から前記サーボモータの駆動トルクを算出するとともに、前記記憶手段に記憶された前記トルク変動パラメータにより算出された駆動トルクを補正して当該サーボモータが発揮する駆動トルクを推測するトルク推測手段と、他の演算処理部における前記トルク推測手段により推測された前記サーボモータの推測トルクを取得する推測トルク取得手段と、前記トルク推測手段により推測した前記サーボモータの推測トルクと前記推測トルク取得手段により取得した推測トルクとが一致するか否かを判断する推測トルク一致判断手段と、前記推測トルク一致判断手段により前記サーボモータの推測トルクが一致すると判断された場合に、前記推測トルクと前記トルク算出手段により算出された前記サーボモータの実際の駆動トルクとの差を算出するトルク差算出手段と、前記トルク差算出手段により算出されたトルクの差が所定値以上である場合又は前記推測トルク一致判断手段により前記サーボモータの推測トルクが一致しないと判断された場合に、前記切り替え部により前記サーボモータに対する電力の供給を遮断する電力遮断手段と、を有することを特徴とする。
ここで、指令位置情報とは、サーボ制御部からサーボモータに送信される駆動信号であり、ロボットアームを目標とする位置まで動かすために必要なサーボモータの駆動量に関する信号の情報をいう。
また、トルク変動パラメータとは、サーボゲイン、ロボットアームの重量、ロボットアームの重心、ロボットアームの先端に設けられたツールの重量等のサーボモータの駆動トルクに影響を与えるパラメータをいう。
ここで、指令位置情報とは、サーボ制御部からサーボモータに送信される駆動信号であり、ロボットアームを目標とする位置まで動かすために必要なサーボモータの駆動量に関する信号の情報をいう。
また、トルク変動パラメータとは、サーボゲイン、ロボットアームの重量、ロボットアームの重心、ロボットアームの先端に設けられたツールの重量等のサーボモータの駆動トルクに影響を与えるパラメータをいう。
請求項2に記載の発明は、請求項1に記載のロボットアーム診断装置において、各演算処理部は、受信した指令位置情報が異常であるか否かを判断する指令位置情報異常判断手段と、他の演算処理部において受信した指令位置情報を取得する指令位置情報取得手段と、受信した指令位置情報と前記指令位置情報取得手段により取得した指令位置情報とが一致するか否かを判断する指令位置情報一致判断手段と、前記指令位置情報異常判断手段によって受信した指令位置情報が異常であると判断された場合又は前記指令位置情報一致判断手段によって指令位置情報が一致しないと判断された場合に、指令位置情報の受信エラーである旨をユーザに報知する報知手段と、を有することを特徴とする。
請求項3に記載の発明は、請求項1又は2に記載のロボットアーム診断装置において、前記サーボ制御部と別個に構成したことを特徴とする。
請求項1に記載の発明では、ロボットアームは、位置検出手段からの検出出力に応じてサーボ制御部に制御されるサーボモータの駆動により動作する。
このようなロボットアームの動作時に、電流検出手段は、サーボモータの駆動電流を検出し、トルク算出手段は、電流検出手段により検出されたサーボモータの駆動電流からサーボモータの実際の駆動トルクを算出する。
そして、トルク推測手段は、制御情報受信手段により受信した指令位置情報からサーボモータの駆動トルクを算出するとともに、記憶手段に記憶されたトルク変動パラメータにより、算出された駆動トルクを補正してサーボモータが発揮する駆動トルクを推測する。
このようなロボットアームの動作時に、電流検出手段は、サーボモータの駆動電流を検出し、トルク算出手段は、電流検出手段により検出されたサーボモータの駆動電流からサーボモータの実際の駆動トルクを算出する。
そして、トルク推測手段は、制御情報受信手段により受信した指令位置情報からサーボモータの駆動トルクを算出するとともに、記憶手段に記憶されたトルク変動パラメータにより、算出された駆動トルクを補正してサーボモータが発揮する駆動トルクを推測する。
ここで、二つの演算処理部は、推測トルク取得手段によってそれぞれ他の演算処理部におけるトルク推測手段により推測されたサーボモータの推測トルクを取得する。
そして、推測トルク一致判断手段は、トルク推測手段により推測したサーボモータの推測トルクと推測トルク取得手段により取得した推測トルクとが一致するか否かを判断する。ここで、推測トルク一致判断手段によりサーボモータの推測トルクが一致しないと判断された場合には、電力遮断手段は、切り替え部によりサーボモータに対する電力の供給を遮断する。
そして、推測トルク一致判断手段は、トルク推測手段により推測したサーボモータの推測トルクと推測トルク取得手段により取得した推測トルクとが一致するか否かを判断する。ここで、推測トルク一致判断手段によりサーボモータの推測トルクが一致しないと判断された場合には、電力遮断手段は、切り替え部によりサーボモータに対する電力の供給を遮断する。
一方、推測トルク一致判断手段によりサーボモータの推測トルクが一致すると判断された場合には、トルク差算出手段は、推測トルクとトルク算出手段により算出されたサーボモータの実際の駆動トルクとの差を算出する。ここで、トルク差算出手段により算出されたトルクの差が所定値以上である場合には、電力遮断手段は、切り替え部によりサーボモータに対する電力の供給を遮断する。
これにより、各演算処理部は、サーボ制御部から受信した指令位置情報に基づいて、トルク変動パラメータも考慮した状態でサーボモータの駆動トルクを推測し、実際にサーボモータに接続された電流検出手段から検出された電流値に基づいて算出されたサーボモータの駆動トルクと比較して、そのトルクの差に応じてロボットアームが異常であると診断してサーボモータの駆動を停止させることができる。よって、従来は位置検出器がサーボモータの出力軸に設けられていることにより、サーボモータの出力軸の故障、減速機の故障、ロボットアームで発生する異常を検出することができなかったが、これらの異常もサーボモータのトルクの変動により検出することができるようになるので、ロボットアームの異常をより確実かつ正確に検出することができる。
また、二つの演算処理部により互いに推測したサーボモータの駆動トルクが一致するか否かを判断しているので、ロボットアーム診断装置の信頼性を向上させることができる。
また、二つの演算処理部により互いに推測したサーボモータの駆動トルクが一致するか否かを判断しているので、ロボットアーム診断装置の信頼性を向上させることができる。
請求項2に記載の発明では、指令位置情報異常判断手段は、受信した指令位置情報が異常であるか否かを判断し、指令位置情報が異常であると判断された場合には、報知手段が指令位置情報の受信エラーである旨をユーザに報知する。指令位置情報取得手段は他の演算処理部において受信した指令位置情報を取得し、指令位置情報一致判断手段は、受信した指令位置情報と指令位置情報取得手段により取得した指令位置情報とが一致するか否かを判断する。そして、指令位置情報一致判断手段により指令位置情報が一致しないと判断された場合には、報知手段は指令位置情報の受信エラーである旨をユーザに報知する。
これにより、指令位置情報を受信した段階で異常がある場合には、処理を進めることなく即座に異常をユーザに報知し、さらに、各演算処理部が互いの指令位置情報を相互に比較して異常の有無を判断しているので、サーボ制御部の異常を迅速かつ的確に検出することができ、ロボットアーム診断装置の信頼性を向上させることができる。
また、二つの演算処理部により互いに受信した指令位置情報の異常の有無を判断しているので、ロボットアーム診断装置の信頼性を向上させることができる。
また、二つの演算処理部により互いに受信した指令位置情報の異常の有無を判断しているので、ロボットアーム診断装置の信頼性を向上させることができる。
請求項3に記載の発明では、ロボットアーム診断装置をサーボ制御部と別個に構成することにより、ロボットアーム診断装置及びサーボ制御部にかかる演算処理負担を減らすことができる。
以下、図面を参照して、本発明に係るロボットアーム診断装置の最良の形態について詳細に説明する。なお、本実施形態においては、スポット溶接ガンを備える溶接ロボットにおけるロボットアームの診断装置を例に挙げて説明する。
<ロボット>
図1に示すように、ロボットアーム診断装置1による診断対象となるロボット2は、土台となるベース21と、複数の関節23で連結された複数のロボットアーム22と、それぞれの関節23ごとに設けられた駆動源としてのサーボモータ24と、各サーボモータ24の軸角度、すなわちロボットアーム22の位置をそれぞれ検出する位置検出手段としてのエンコーダ25と、を備えている。そして、連結されたロボットアーム22の最先端部にはロボット2の用途に応じたツール26(例えば溶接ガンやハンド等)が装備されている。
各関節23は、ロボットアーム22の一端部を揺動可能として他端部を軸支する揺動関節と、ロボットアーム22自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、本実施形態におけるロボット2はいわゆる多関節型ロボットに相当する。
また、ロボット2は、例えば、六つの関節23を備えており、その先端部のツール26を任意の位置に位置決めし、任意の姿勢を取らせることが可能となっている。
図1に示すように、ロボットアーム診断装置1による診断対象となるロボット2は、土台となるベース21と、複数の関節23で連結された複数のロボットアーム22と、それぞれの関節23ごとに設けられた駆動源としてのサーボモータ24と、各サーボモータ24の軸角度、すなわちロボットアーム22の位置をそれぞれ検出する位置検出手段としてのエンコーダ25と、を備えている。そして、連結されたロボットアーム22の最先端部にはロボット2の用途に応じたツール26(例えば溶接ガンやハンド等)が装備されている。
各関節23は、ロボットアーム22の一端部を揺動可能として他端部を軸支する揺動関節と、ロボットアーム22自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、本実施形態におけるロボット2はいわゆる多関節型ロボットに相当する。
また、ロボット2は、例えば、六つの関節23を備えており、その先端部のツール26を任意の位置に位置決めし、任意の姿勢を取らせることが可能となっている。
<ロボット制御装置>
図1に示すように、ロボット2には、当該ロボット2の駆動制御を行うロボット制御装置3に接続され、ロボット制御装置3から送信される指令信号によりその駆動が制御される。
ロボット制御装置3は、ティーチング或いはプログラミングにより設定されたロボット2の教示動作データに従って、ロボット2の制御指令を出力する位置制御部4と、位置制御部4からの制御指令に従ってロボット2の各サーボモータ24の制御を行うサーボアンプ5と、を備えている。
図1に示すように、ロボット2には、当該ロボット2の駆動制御を行うロボット制御装置3に接続され、ロボット制御装置3から送信される指令信号によりその駆動が制御される。
ロボット制御装置3は、ティーチング或いはプログラミングにより設定されたロボット2の教示動作データに従って、ロボット2の制御指令を出力する位置制御部4と、位置制御部4からの制御指令に従ってロボット2の各サーボモータ24の制御を行うサーボアンプ5と、を備えている。
(位置制御部)
位置制御部4は、ロボット2の動作制御を行うために各サーボモータ24に対する制御指令を生成するための各種の処理プログラム及び各種のデータが記憶されたメモリ41と、処理プログラムを実行するCPUと、サーボアンプ5との指令やデータの送受信を行うためのインターフェイスとを主に備えている。
位置制御部4は、ロボット2の動作制御を行うために各サーボモータ24に対する制御指令を生成するための各種の処理プログラム及び各種のデータが記憶されたメモリ41と、処理プログラムを実行するCPUと、サーボアンプ5との指令やデータの送受信を行うためのインターフェイスとを主に備えている。
メモリ41には、ロボット2の各種の処理プログラムの他、設定されたロボットの教示動作データ、ロボット2に関する各種の制御情報(各部の寸法、重量、イナーシャ、エンコーダ25の出力コードと当該出力コードが示す関節角度(角度位置)との対応関係を示すテーブル、ロボットの各関節23における関節角度の上限値、下限値(許容動作位置)、各関節23の関節動作速度の上限値(許容速度)、各関節23のトルクの上限値(許容値)、指令位置等)が記憶されている。さらに、メモリ41には、サーボゲイン、ロボットアーム22の重量、ロボットアーム22の重心、ツール26の重量、ツール26の重心等のようにサーボモータ24の駆動トルクに影響を与えるトルク変動パラメータが記憶されている。すなわち、このメモリ41は記憶手段として機能する。
教示動作データは、ロボット2が所定の動作を実行するための制御指令であり、例えば、事前にロボット2に目的となる動作(ティーチング)を行わせ、当該動作軌跡の各点で関節角度のサンプリングを行い、その実行動作を再現するために演算により求められた移動軌跡のデータである。
位置制御部4のCPUは、ロボット2の制御の際には、教示動作データに基づいて、サーボアンプ5に対して各サーボモータ24の指令位置を所定の周期で順番に出力する。
なお、教示動作データは、ティーチングに限らず、記録メディアの読み出し装置、オペレータによる入力装置又は外部に対する通信手段によりロボット制御装置3の外部から取得される場合もある。
教示動作データは、ロボット2が所定の動作を実行するための制御指令であり、例えば、事前にロボット2に目的となる動作(ティーチング)を行わせ、当該動作軌跡の各点で関節角度のサンプリングを行い、その実行動作を再現するために演算により求められた移動軌跡のデータである。
位置制御部4のCPUは、ロボット2の制御の際には、教示動作データに基づいて、サーボアンプ5に対して各サーボモータ24の指令位置を所定の周期で順番に出力する。
なお、教示動作データは、ティーチングに限らず、記録メディアの読み出し装置、オペレータによる入力装置又は外部に対する通信手段によりロボット制御装置3の外部から取得される場合もある。
また、メモリ41内の各種の制御情報である各部の寸法、重量、イナーシャ、エンコーダ25の出力コードと当該出力コードが示す関節角度との対応関係を示すテーブル、ロボットの各関節23における関節角度の上限値、下限値、各関節23の関節動作速度の上限値、各関節23のトルクの上限値等のデータ、そして、ロボット2への指令位置やトルク変動パラメータ等は、ロボットアーム診断装置1に出力される。その際、CPUは、各データについて所定のデータ単位ごとにCRCコード(Cyclic Redundancy Check)を生成し、これを添付してロボットアーム診断装置1に送信する。
(サーボアンプ)
サーボアンプ5は、ロボット2の各関節23のエンコーダ25から回転角度位置の検出信号を受信する受信回路と、各サーボモータ24に対する制御信号と帰還信号の送受信を行うモータ制御回路とを備えている。そして、サーボアンプ5は、位置制御部4から入力される指令位置と各エンコーダ25の検出信号と各サーボモータ24からの帰還信号とに基づいて、各サーボモータ24の位置、速度、トルクについてフィードバック制御を行う。なお、このサーボアンプ5と上述の位置制御部4とが、サーボモータ24をエンコーダ25からの検出出力に応じて制御するサーボ制御部として機能する。
サーボアンプ5は、ロボット2の各関節23のエンコーダ25から回転角度位置の検出信号を受信する受信回路と、各サーボモータ24に対する制御信号と帰還信号の送受信を行うモータ制御回路とを備えている。そして、サーボアンプ5は、位置制御部4から入力される指令位置と各エンコーダ25の検出信号と各サーボモータ24からの帰還信号とに基づいて、各サーボモータ24の位置、速度、トルクについてフィードバック制御を行う。なお、このサーボアンプ5と上述の位置制御部4とが、サーボモータ24をエンコーダ25からの検出出力に応じて制御するサーボ制御部として機能する。
<ロボットアーム診断装置>
図1に示すように、ロボットアーム診断装置1は、ロボットアーム22の異常を診断するものであり、後述する各種の処理を実行する二つの演算処理部としての第一のCPU10及び第二のCPU11と、サーボ制御部を構成する位置制御部4からロボット2への指令位置及びサーボゲイン、ロボットアーム22の重量、ロボットアーム22の重心、ロボットアーム22の先端に設けられたツール26の重量等のサーボモータ24の駆動トルクに影響を与えるトルク変動パラメータを含む制御情報を受信する制御情報受信手段としての制御情報受信回路13と、サーボモータ24とサーボアンプ5とを接続する配線上に設けられ、サーボモータ24の駆動電流を検出する電流検出手段としての電流計14,15と、電流計14,15にて検出された電流に関するデータを第一のCPU10及び第二のCPU11にて演算処理するためにデータ変換を行うADコンバータ16,17と、電源から各サーボモータ24への電力の供給と遮断とを切り替え可能な切り替え部としてのマグネットスイッチ18,19と、第一と第二のCPU10,11の演算処理の実行状態を個別に監視するウォッチドッグ回路30,31と、異常検知が行われた場合にオペレータに異常発生を報知するための報知部32と、を備えている。
ここで、ロボットアーム診断装置1、位置制御部4、サーボアンプ5は、それぞれ別個に構成されている。
図1に示すように、ロボットアーム診断装置1は、ロボットアーム22の異常を診断するものであり、後述する各種の処理を実行する二つの演算処理部としての第一のCPU10及び第二のCPU11と、サーボ制御部を構成する位置制御部4からロボット2への指令位置及びサーボゲイン、ロボットアーム22の重量、ロボットアーム22の重心、ロボットアーム22の先端に設けられたツール26の重量等のサーボモータ24の駆動トルクに影響を与えるトルク変動パラメータを含む制御情報を受信する制御情報受信手段としての制御情報受信回路13と、サーボモータ24とサーボアンプ5とを接続する配線上に設けられ、サーボモータ24の駆動電流を検出する電流検出手段としての電流計14,15と、電流計14,15にて検出された電流に関するデータを第一のCPU10及び第二のCPU11にて演算処理するためにデータ変換を行うADコンバータ16,17と、電源から各サーボモータ24への電力の供給と遮断とを切り替え可能な切り替え部としてのマグネットスイッチ18,19と、第一と第二のCPU10,11の演算処理の実行状態を個別に監視するウォッチドッグ回路30,31と、異常検知が行われた場合にオペレータに異常発生を報知するための報知部32と、を備えている。
ここで、ロボットアーム診断装置1、位置制御部4、サーボアンプ5は、それぞれ別個に構成されている。
(各CPUの機能)
各CPU10,11は、それぞれ内部メモリ35,36を有しており、各内部メモリ35,36は、CPU10,11がそれぞれ実行する処理プログラムを記憶すると共に各処理における作業領域として機能する。
また、第一のCPU10と第二のCPU11とは、それぞれのデータの送受信を行う通信手段であるバスにより互いに接続されている。
各CPU10,11は、それぞれ内部メモリ35,36を有しており、各内部メモリ35,36は、CPU10,11がそれぞれ実行する処理プログラムを記憶すると共に各処理における作業領域として機能する。
また、第一のCPU10と第二のCPU11とは、それぞれのデータの送受信を行う通信手段であるバスにより互いに接続されている。
第一のCPU10及び第二のCPU11は、電流計14,15により検出されたサーボモータ24の駆動電流から当該サーボモータ24の実際の駆動トルクを算出するトルク算出手段として機能する。
第一のCPU10及び第二のCPU11は、制御情報受信回路13により受信した指令位置情報からサーボモータ24の駆動トルクを算出するとともに、メモリ41に記憶されたトルク変動パラメータにより算出された駆動トルクを補正して当該サーボモータ24が発揮する駆動トルクを推測するトルク推測手段として機能する。なお、指令位置情報からの駆動トルクの算出は、公知のNewton-Euler法を用いて算出するが、もちろんその他の方法により算出してもよい。
第一のCPU10及び第二のCPU11は、他のCPUにおいて推測されたサーボモータ24の推測トルクを取得する推測トルク取得手段として機能する。
第一のCPU10及び第二のCPU11は、推測したサーボモータ24の推測トルクと取得した推測トルクとが一致するか否かを判断する推測トルク一致判断手段として機能する。
第一のCPU10及び第二のCPU11は、制御情報受信回路13により受信した指令位置情報からサーボモータ24の駆動トルクを算出するとともに、メモリ41に記憶されたトルク変動パラメータにより算出された駆動トルクを補正して当該サーボモータ24が発揮する駆動トルクを推測するトルク推測手段として機能する。なお、指令位置情報からの駆動トルクの算出は、公知のNewton-Euler法を用いて算出するが、もちろんその他の方法により算出してもよい。
第一のCPU10及び第二のCPU11は、他のCPUにおいて推測されたサーボモータ24の推測トルクを取得する推測トルク取得手段として機能する。
第一のCPU10及び第二のCPU11は、推測したサーボモータ24の推測トルクと取得した推測トルクとが一致するか否かを判断する推測トルク一致判断手段として機能する。
第一のCPU10及び第二のCPU11は、サーボモータ24の推測トルクが一致すると判断された場合に、推測トルクと電流計14,15の電流値から算出されたサーボモータ24の実際の駆動トルクとの差を算出するトルク差算出手段として機能する。
第一のCPU10及び第二のCPU11は、算出されたトルクの差が所定値以上である場合又はサーボモータ24の推測トルクが一致しないと判断された場合に、マグネットスイッチ18,19によりサーボモータ24に対する電力の供給を遮断する電力遮断手段として機能する。
第一のCPU10及び第二のCPU11は、受信した指令位置情報が異常であるか否かを判断する指令位置情報異常判断手段として機能する。
第一のCPU10及び第二のCPU11は、他のCPUにおいて受信した指令位置情報を取得する指令位置情報取得手段として機能する。
第一のCPU10及び第二のCPU11は、受信した指令位置情報と取得した指令位置情報とが一致するか否かを判断する指令位置情報一致判断手段として機能する。
第一のCPU10及び第二のCPU11は、算出されたトルクの差が所定値以上である場合又はサーボモータ24の推測トルクが一致しないと判断された場合に、マグネットスイッチ18,19によりサーボモータ24に対する電力の供給を遮断する電力遮断手段として機能する。
第一のCPU10及び第二のCPU11は、受信した指令位置情報が異常であるか否かを判断する指令位置情報異常判断手段として機能する。
第一のCPU10及び第二のCPU11は、他のCPUにおいて受信した指令位置情報を取得する指令位置情報取得手段として機能する。
第一のCPU10及び第二のCPU11は、受信した指令位置情報と取得した指令位置情報とが一致するか否かを判断する指令位置情報一致判断手段として機能する。
(制御情報受信回路)
制御情報受信回路13は、サーボアンプ5からのサーボモータ24への指令位置及びトルク変動パラメータを、位置制御部4を介して受信し、受信した指令位置及びトルク変動パラメータを第一のCPU10に送信する。すなわち、制御情報受信回路13は、制御情報送信手段としても機能する。
制御情報受信回路13は、サーボアンプ5からのサーボモータ24への指令位置及びトルク変動パラメータを、位置制御部4を介して受信し、受信した指令位置及びトルク変動パラメータを第一のCPU10に送信する。すなわち、制御情報受信回路13は、制御情報送信手段としても機能する。
(電流計及びADコンバータ)
電流計14,15は、各サーボモータ24に二つずつ設けられ、各電流計14,15にはそれぞれ検出された電流値データをCPU10,11で処理するためのデータに変換するADコンバータ16,17が接続されている。電流計14にて検出された電流値データはADコンバータ16にて変換され、第一のCPU10に送られる。電流計15にて検出された電流値データはADコンバータ17にて変換され、第二のCPU11に送られる。
電流計14,15は、各サーボモータ24に二つずつ設けられ、各電流計14,15にはそれぞれ検出された電流値データをCPU10,11で処理するためのデータに変換するADコンバータ16,17が接続されている。電流計14にて検出された電流値データはADコンバータ16にて変換され、第一のCPU10に送られる。電流計15にて検出された電流値データはADコンバータ17にて変換され、第二のCPU11に送られる。
(ウォッチドッグ回路)
ウォッチドッグ回路30は第一のCPU10を監視し、ウォッチドッグ回路31は第二のCPU11の監視を行う。
すなわち、各ウォッチドッグ回路30,31は、ロボット2の制御実行時において、それぞれが監視対象とするCPU10,11に対して周期的にウォッチドッグ要求信号を出力し、これに対して各CPU10,11が所定期間内に応答信号を返信しないときには、監視対象であるCPU10,11が停止しているものとして、タイムアップ信号を監視対象ではないCPU10,11に出力する機能を有している。
ウォッチドッグ回路30は第一のCPU10を監視し、ウォッチドッグ回路31は第二のCPU11の監視を行う。
すなわち、各ウォッチドッグ回路30,31は、ロボット2の制御実行時において、それぞれが監視対象とするCPU10,11に対して周期的にウォッチドッグ要求信号を出力し、これに対して各CPU10,11が所定期間内に応答信号を返信しないときには、監視対象であるCPU10,11が停止しているものとして、タイムアップ信号を監視対象ではないCPU10,11に出力する機能を有している。
(報知部)
報知部32は、処理において異常を検知したときに、その異常をオペレータに報知するための報知手段として機能する。具体的には、異常発生を表示するモニタ、報知ランプ又は警報機等が報知部32として使用される。
報知部32は、各CPU10,11が、他のウォッチドッグ回路30,31を通じて不良停止状態を検知すると、当該他のCPU10,11が不良停止状態である旨をユーザに報知する。
報知部32は、第一のCPU10及び第二のCPU11により、受信した指令位置情報が異常であると判断された場合、又は、受信した指令位置情報と取得した指令位置情報とが一致するか否かを判断した際に指令位置情報が一致しないと判断された場合に、指令位置情報の受信エラーである旨をユーザに報知する。
報知部32は、処理において異常を検知したときに、その異常をオペレータに報知するための報知手段として機能する。具体的には、異常発生を表示するモニタ、報知ランプ又は警報機等が報知部32として使用される。
報知部32は、各CPU10,11が、他のウォッチドッグ回路30,31を通じて不良停止状態を検知すると、当該他のCPU10,11が不良停止状態である旨をユーザに報知する。
報知部32は、第一のCPU10及び第二のCPU11により、受信した指令位置情報が異常であると判断された場合、又は、受信した指令位置情報と取得した指令位置情報とが一致するか否かを判断した際に指令位置情報が一致しないと判断された場合に、指令位置情報の受信エラーである旨をユーザに報知する。
<制御情報の受信処理>
図2は、ロボットアーム診断装置1の各CPU10,11が行うロボット制御における制御情報の受信処理を示したものである。
最初に、第一のCPU10は、制御情報受信回路13を介して位置制御部4のCPUに対して制御情報の要求を行い、その結果、位置制御部4から制御情報を受信する(ステップS101)。
図2は、ロボットアーム診断装置1の各CPU10,11が行うロボット制御における制御情報の受信処理を示したものである。
最初に、第一のCPU10は、制御情報受信回路13を介して位置制御部4のCPUに対して制御情報の要求を行い、その結果、位置制御部4から制御情報を受信する(ステップS101)。
このとき、位置制御部4のCPUは制御情報について所定のデータ単位でCRCコードを付与して送信する。これに対して、第一のCPU10は受信した制御情報について位置制御部3と同じ条件でCRCコードを生成すると共に、位置制御部4で生成されたCRCコードと一致するか否かの判断を行う(ステップS102)。
このCRCコードは、生成する元となるデータが1ビットでも異なればコードも変化してしまう性質があるので、上記処理において送信前の制御情報が何らかの異常により送信後に異なる制御情報に変化し或いは破損したかを判断することができる。
このCRCコードは、生成する元となるデータが1ビットでも異なればコードも変化してしまう性質があるので、上記処理において送信前の制御情報が何らかの異常により送信後に異なる制御情報に変化し或いは破損したかを判断することができる。
そして、第一のCPU10が、CRCコードが一致しない(CRCコード異常)と判断した場合(ステップS102:YES)、第一のCPU10は報知部32に対して制御情報の受信エラーを示す異常報知表示を行うように制御する(ステップS103)。異常報知後は第一及び第二のCPU10,11は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
一方、第一のCPU10が、CRCコードが一致した(CRCコード正常)と判断した場合(ステップS102:NO)、第一のCPU10は、内部メモリ35に受信した制御情報を格納し(ステップS104)、さらに、第二のCPU11に対して受信した制御情報とそのCRCコードを送信する(ステップS105)。
一方、第一のCPU10が、CRCコードが一致した(CRCコード正常)と判断した場合(ステップS102:NO)、第一のCPU10は、内部メモリ35に受信した制御情報を格納し(ステップS104)、さらに、第二のCPU11に対して受信した制御情報とそのCRCコードを送信する(ステップS105)。
第一のCPU10からの制御情報とCRCコードを受信すると、第二のCPU11は、受信した制御情報について位置制御部4と同じ条件でCRCコードを生成すると共に、受信した制御情報のCRCコードと一致するか否かの判断を行う(ステップS106)。
そして、第二のCPU11が、CRCコードが一致しない(CRCコード異常)と判断した場合(ステップS106:YES)、第二のCPU11は報知部32に対して制御情報の受信エラーを示す異常報知表示を行うように制御する(ステップS107)。このときも、異常報知後は第一及び第二のCPU10,11は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
一方、第二のCPU11が、CRCコードが一致した(CRCコード正常)と判断した場合(ステップS106:YES)、第二のCPU11は、内部メモリ36に受信した制御情報を格納する(ステップS108)。
そして、第二のCPU11が、CRCコードが一致しない(CRCコード異常)と判断した場合(ステップS106:YES)、第二のCPU11は報知部32に対して制御情報の受信エラーを示す異常報知表示を行うように制御する(ステップS107)。このときも、異常報知後は第一及び第二のCPU10,11は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
一方、第二のCPU11が、CRCコードが一致した(CRCコード正常)と判断した場合(ステップS106:YES)、第二のCPU11は、内部メモリ36に受信した制御情報を格納する(ステップS108)。
また、第一のCPU10は、制御情報を内部メモリ35に格納後、バスを介して第二のCPU11に送信した制御情報との相互比較を行い(ステップS109)、第二のCPU11は、制御情報を内部メモリ36に格納後、バスを介して第一のCPU11が保有する制御情報との相互比較を行う(ステップS110)。
そして、第一のCPU10は、自己の制御情報と第二のCPU11の制御情報とが一致するか否かを判断し(ステップS111)、第一のCPU10が一致すると判断した場合(ステップS111:YES)、これをもって本処理を終了する。一方、第一のCPU10が一致しないと判断した場合(ステップS111:NO)、第一のCPU10は、報知部32に対して制御情報の受信エラーを示す異常報知表示を行うように制御する(ステップS113)。このときも、異常報知後は第一及び第二のCPU10,11は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
また、同様にして、第二のCPU11は、自己の制御情報と第一のCPU10の制御情報とが一致するか否かを判断し(ステップS112)、第二のCPU11が一致すると判断した場合(ステップS112:YES)、これをもって本処理を終了する。一方、第二のCPU11が一致しないと判断した場合(ステップS112:NO)、第二のCPU11は、報知部32に対して制御情報の受信エラーを示す異常報知表示を行うように制御する(ステップS114)。このときも、異常報知後は第一及び第二のCPU10,11は他の処理を行わず、故障要因を排除して電源を再投入しない限り復旧しない状態となる。
<ロボットアームの診断処理>
図3は、ロボットアーム診断装置1の各CPU10,11が行うロボットアーム22の診断処理を示したフローチャートである。
第一のCPU10は、電流計14にて検出された電流値のデータをADコンバータ16によって演算処理可能なデータに変換する(ステップS201)。また、第二のCPU11も、電流計15にて検出された電流値のデータをADコンバータ17によって演算処理可能なデータに変換する(ステップS202)。
次いで、第一のCPU10は、AD変換された電流値のデータを、バスを介して第二のCPU11に送信する(ステップS203)。また、第二のCPU11も、AD変換された電流値のデータを、バスを介して第一のCPU10に送信する(ステップS204)。
次いで、第一のCPU10は、自らAD変換した電流値のデータ及び第二のCPU11から受信したAD変換された電流値のデータに基づいて、サーボモータ24の実際の駆動トルクを算出する(ステップS205)。また、第二のCPU11も、自らAD変換した電流値のデータ及び第一のCPU10から受信したAD変換された電流値のデータに基づいて、サーボモータ24の実際の駆動トルクを算出する(ステップS206)。
図3は、ロボットアーム診断装置1の各CPU10,11が行うロボットアーム22の診断処理を示したフローチャートである。
第一のCPU10は、電流計14にて検出された電流値のデータをADコンバータ16によって演算処理可能なデータに変換する(ステップS201)。また、第二のCPU11も、電流計15にて検出された電流値のデータをADコンバータ17によって演算処理可能なデータに変換する(ステップS202)。
次いで、第一のCPU10は、AD変換された電流値のデータを、バスを介して第二のCPU11に送信する(ステップS203)。また、第二のCPU11も、AD変換された電流値のデータを、バスを介して第一のCPU10に送信する(ステップS204)。
次いで、第一のCPU10は、自らAD変換した電流値のデータ及び第二のCPU11から受信したAD変換された電流値のデータに基づいて、サーボモータ24の実際の駆動トルクを算出する(ステップS205)。また、第二のCPU11も、自らAD変換した電流値のデータ及び第一のCPU10から受信したAD変換された電流値のデータに基づいて、サーボモータ24の実際の駆動トルクを算出する(ステップS206)。
次いで、第一のCPU10は、位置制御部4から受信した制御情報のうち、指令位置情報に基づいてサーボモータ24の駆動トルクを推測する(ステップS207)。ここで、駆動トルクの推測にあたっては、上述したように公知のNewton-Euler法を用いて算出する。また、第二のCPU11も、第一のCPU10から受信した制御情報のうち、指令位置情報に基づいてサーボモータ24の駆動トルクを推測する(ステップS208)。
次いで、第一のCPU10は、ステップS207で推測された駆動トルクをより現実のトルク値に近づけるため、位置制御部4から受信した制御情報のうち、トルク変動パラメータに基づいて、ステップS207で推測された駆動トルクを補正する(ステップS209)。また、第二のCPU11も、ステップS208で推測された駆動トルクをより現実のトルク値に近づけるため、位置制御部4から受信した制御情報のうち、トルク変動パラメータに基づいて、ステップS208で推測された駆動トルクを補正する(ステップS210)。
次いで、第一のCPU10は、ステップS207で推測された駆動トルクをより現実のトルク値に近づけるため、位置制御部4から受信した制御情報のうち、トルク変動パラメータに基づいて、ステップS207で推測された駆動トルクを補正する(ステップS209)。また、第二のCPU11も、ステップS208で推測された駆動トルクをより現実のトルク値に近づけるため、位置制御部4から受信した制御情報のうち、トルク変動パラメータに基づいて、ステップS208で推測された駆動トルクを補正する(ステップS210)。
次いで、第一のCPU10は、サーボモータ24の駆動トルクを推測した後、バスを介して、第二のCPU11で推測したサーボモータ24の駆動トルクとの相互比較を行い(ステップS211)、第一のCPU10で推測したサーボモータ24の駆動トルクと第二のCPU11で推測したサーボモータ24の駆動トルクとが一致するか否かの判断を行う(ステップS213)。
同様に、第二のCPU11は、サーボモータ24の駆動トルクを推測した後、バスを介して、第一のCPU10が推測したサーボモータ24の駆動トルクとの相互比較を行い(ステップS212)、第二のCPU11で推測したサーボモータ24の駆動トルクと第一のCPU10で推測したサーボモータ24の駆動トルクとが一致するか否かの判断を行う(ステップS214)。
同様に、第二のCPU11は、サーボモータ24の駆動トルクを推測した後、バスを介して、第一のCPU10が推測したサーボモータ24の駆動トルクとの相互比較を行い(ステップS212)、第二のCPU11で推測したサーボモータ24の駆動トルクと第一のCPU10で推測したサーボモータ24の駆動トルクとが一致するか否かの判断を行う(ステップS214)。
そして、第一のCPU10が、相互の推測トルクが一致しないと判断した場合(ステップS213:NO)、第一のCPU10は、マグネットスイッチ18に切替信号を出力し、全てのサーボモータ24への通電を遮断して、ロボット2の駆動を停止させる(ステップS215)。
同様に、第二のCPU11が、相互の推測トルクが一致しないと判断した場合(ステップS214:NO)、第二のCPU11は、マグネットスイッチ19に切替信号を出力し、全てのサーボモータ24への通電を遮断して、ロボット2を停止させる(ステップS216)。
同様に、第二のCPU11が、相互の推測トルクが一致しないと判断した場合(ステップS214:NO)、第二のCPU11は、マグネットスイッチ19に切替信号を出力し、全てのサーボモータ24への通電を遮断して、ロボット2を停止させる(ステップS216)。
一方、第一のCPU10が、相互の推測トルクが一致したと判断した場合(ステップS213:YES)、第一のCPU10は、ステップS205にて算出されたサーボモータ24の実際の駆動トルクとステップS207、S209にて推測、補正された推測トルクとの差分を算出し、その差分が内部メモリ35に格納していた所定の閾値未満であるか(許容されるトルク差の限界を超えていないか否か)否かを判断する(ステップS217)。
同様に、第二のCPU11が、相互の推測トルクが一致したと判断した場合(ステップS214:YES)、第二のCPU11は、ステップS206にて算出されたサーボモータ24の実際の駆動トルクとステップS208、S210にて推測、補正された推測トルクとの差分を算出し、その差分が内部メモリ36に格納していた所定の閾値未満であるか(許容される位置差の限界を超えていないか否か)否かを判断する(ステップS218)。
同様に、第二のCPU11が、相互の推測トルクが一致したと判断した場合(ステップS214:YES)、第二のCPU11は、ステップS206にて算出されたサーボモータ24の実際の駆動トルクとステップS208、S210にて推測、補正された推測トルクとの差分を算出し、その差分が内部メモリ36に格納していた所定の閾値未満であるか(許容される位置差の限界を超えていないか否か)否かを判断する(ステップS218)。
そして、第一のCPU10が、実際の駆動トルクと推測トルクとの差分値が所定の閾値以上であったと判断した場合(ステップS217:NO)、第一のCPU10は、マグネットスイッチ18に切替信号を出力し、ロボット2を停止させる(ステップS219)。また、第一のCPU10が、実際の駆動トルクと推測トルクとの差分値が所定の閾値未満であったと判断した場合(ステップS217:YES)、第一のCPU10は、本処理を終了させる。
同様に、第二のCPU11が、実際の駆動トルクと推測トルクとの差分値が所定の閾値以上であったと判断した場合(ステップS218:NO)、第二のCPU11は、マグネットスイッチ19に切替信号を出力し、ロボット2を停止させる(ステップS220)。また、第二のCPU11が、実際の駆動トルクと推測トルクとの差分値が閾値未満であったと判断した場合(ステップS218:YES)、第二のCPU11は、本処理を終了させる。
同様に、第二のCPU11が、実際の駆動トルクと推測トルクとの差分値が所定の閾値以上であったと判断した場合(ステップS218:NO)、第二のCPU11は、マグネットスイッチ19に切替信号を出力し、ロボット2を停止させる(ステップS220)。また、第二のCPU11が、実際の駆動トルクと推測トルクとの差分値が閾値未満であったと判断した場合(ステップS218:YES)、第二のCPU11は、本処理を終了させる。
<実施形態の効果>
以上のように、ロボットアーム診断装置1によれば、ロボットアーム22は、エンコーダ25からの検出出力に応じてロボット制御装置3に制御されるサーボモータ24の駆動により動作する。
このようなロボットアーム22の動作時に、電流計14,15は、サーボモータ24の駆動電流を検出し、各CPU10,11は、電流計14,15により検出されたサーボモータ24の駆動電流からサーボモータ24の実際の駆動トルクを算出する。
そして、各CPU10,11は、制御情報受信回路13により受信した指令位置情報からサーボモータ24の駆動トルクを算出するとともに、メモリ41に記憶されたトルク変動パラメータにより、算出された駆動トルクを補正してサーボモータ24が発揮する駆動トルクを推測する。
以上のように、ロボットアーム診断装置1によれば、ロボットアーム22は、エンコーダ25からの検出出力に応じてロボット制御装置3に制御されるサーボモータ24の駆動により動作する。
このようなロボットアーム22の動作時に、電流計14,15は、サーボモータ24の駆動電流を検出し、各CPU10,11は、電流計14,15により検出されたサーボモータ24の駆動電流からサーボモータ24の実際の駆動トルクを算出する。
そして、各CPU10,11は、制御情報受信回路13により受信した指令位置情報からサーボモータ24の駆動トルクを算出するとともに、メモリ41に記憶されたトルク変動パラメータにより、算出された駆動トルクを補正してサーボモータ24が発揮する駆動トルクを推測する。
ここで、各CPU10,11は、それぞれ他のCPU10,11において推測されたサーボモータ24の推測トルクを取得する。
そして、各CPU10,11は、推測したサーボモータ24の推測トルクと取得した推測トルクとが一致するか否かを判断する。ここで、サーボモータ24の推測トルクが一致しないと判断された場合には、各CPU10,11は、マグネットスイッチ18,19によりサーボモータ24に対する電力の供給を遮断する。
そして、各CPU10,11は、推測したサーボモータ24の推測トルクと取得した推測トルクとが一致するか否かを判断する。ここで、サーボモータ24の推測トルクが一致しないと判断された場合には、各CPU10,11は、マグネットスイッチ18,19によりサーボモータ24に対する電力の供給を遮断する。
一方、各CPU10,11によりサーボモータ24の推測トルクが一致すると判断された場合には、各CPU10,11は、推測トルクと算出されたサーボモータ24の実際の駆動トルクとの差を算出する。ここで、算出されたトルクの差が内部メモリ35,36に記憶された所定の閾値以上である場合には、各CPU10,11は、マグネットスイッチ18,19によりサーボモータ24に対する電力の供給を遮断する。
これにより、各CPU10,11は、位置制御部4から受信した指令位置情報に基づいて、トルク変動パラメータも考慮した状態でサーボモータ24の駆動トルクを推測し、実際にサーボモータ24に接続された電流計14,15から検出された電流値に基づいて算出されたサーボモータ24の駆動トルクと比較して、そのトルクの差に応じてロボットアーム22が異常であると診断してサーボモータ24の駆動を停止させることができる。よって、従来はエンコーダ25がサーボモータ24の出力軸に設けられていることにより、サーボモータ24の出力軸の故障、減速機の故障、ロボットアーム22で発生する異常を検出することができなかったが、これらの異常もサーボモータ24のトルクの変動により検出することができるようになるので、ロボットアーム22の異常をより確実かつ正確に検出することができる。
また、各CPU10,11により互いに推測したサーボモータ24の駆動トルクが一致するか否かを判断しているので、ロボットアーム診断装置1の信頼性を向上させることができる。
また、ロボット2が周辺機器に干渉したり作業者に不意に接触したりした場合にも、推測したトルクと駆動トルクに差が発生し、異常を検出することができる。
また、各CPU10,11により互いに推測したサーボモータ24の駆動トルクが一致するか否かを判断しているので、ロボットアーム診断装置1の信頼性を向上させることができる。
また、ロボット2が周辺機器に干渉したり作業者に不意に接触したりした場合にも、推測したトルクと駆動トルクに差が発生し、異常を検出することができる。
また、各CPU10,11は、受信した指令位置情報が異常であるか否かを判断し、指令位置情報が異常であると判断された場合には、報知部32が指令位置情報の受信エラーである旨をユーザに報知する。各CPU10,11は他のCPU10,11において受信した指令位置情報を取得し、各CPU10,11は、受信した指令位置情報と取得した指令位置情報とが一致するか否かを判断する。そして、各CPU10,11は、指令位置情報が一致しないと判断した場合には、報知部32は指令位置情報の受信エラーである旨をユーザに報知する。
これにより、指令位置情報を受信した段階で異常がある場合には、処理を進めることなく即座に異常をユーザに報知し、さらに、各CPU10,11が互いの指令位置情報を相互に比較して異常の有無を判断しているので、ロボット制御装置3の異常を迅速かつ的確に検出することができ、ロボットアーム診断装置1の信頼性を向上させることができる。
また、各CPU10,11により互いに受信した指令位置情報の異常の有無を判断しているので、ロボットアーム診断装置1の信頼性を向上させることができる。
また、各CPU10,11により互いに受信した指令位置情報の異常の有無を判断しているので、ロボットアーム診断装置1の信頼性を向上させることができる。
また、ロボットアーム診断装置1をロボット制御装置3と別個に構成することにより、ロボットアーム診断装置1及びロボット制御装置3にかかる演算処理負担を減らすことができる。
<その他>
上記構成では、図1において、サーボモータ24及びエンコーダ25が一組しか図示されていないが、これらは各関節23に設けられている。従って、ロボットアーム診断装置1は、図2、図3に示す全ての処理を、タイミングをずらして各サーボモータ24ごとに実行していることはいうまでもない。
上記構成では、図1において、サーボモータ24及びエンコーダ25が一組しか図示されていないが、これらは各関節23に設けられている。従って、ロボットアーム診断装置1は、図2、図3に示す全ての処理を、タイミングをずらして各サーボモータ24ごとに実行していることはいうまでもない。
また、上記構成では、第二のCPU11が位置制御部4からの制御情報(指令位置情報及びトルク変動パラメータ)を第一のCPU10を介して受信する構成となっているが、第二のCPU11が第一のCPU10を介することなく位置制御部4から直接受信する構成としても良い。その場合、第二のCPU11も位置制御部4からの制御情報に対してCRCコードによる確認処理を実行することが望ましい。
また、ロボット2の制御精度を向上させるため、図3におけるロボットアーム22の診断処理において、実際の駆動トルクと推測トルクが一致しない限りサーボモータ24を停止させる構成としてもよい。
また、マグネットスイッチ18,19を切ることで異常を通知することができるようにしたが、位置制御部4に対して異常を通知するようにしてもよい。
また、マグネットスイッチ18,19を切ることで異常を通知することができるようにしたが、位置制御部4に対して異常を通知するようにしてもよい。
また、上記構成では、各演算処理を二つのCPU10,11により行っていたが、CPUの数は三つ以上であってもよい。これにより、ロボットアーム22の診断処理のレベルを向上させることができる。
1 ロボットアーム診断装置
2 ロボット
3 ロボット制御装置
4 位置制御部(サーボ制御部)
5 サーボアンプ(サーボ制御部)
10 第一のCPU(トルク算出手段、トルク推測手段、推測トルク取得手段、推測トルク一致判断手段、トルク差算出手段、電力遮断手段、指令位置情報異常判断手段、指令位置情報取得手段、指令位置情報一致判断手段)
11 第二のCPU(トルク算出手段、トルク推測手段、推測トルク取得手段、推測トルク一致判断手段、トルク差算出手段、電力遮断手段、指令位置情報異常判断手段、指令位置情報取得手段、指令位置情報一致判断手段)
13 制御情報受信回路(制御情報受信手段、制御情報送信手段)
14 電流計(電流検出手段)
15 電流計(電流検出手段)
18 マグネットスイッチ(切り替え部)
19 マグネットスイッチ(切り替え部)
22 ロボットアーム
24 サーボモータ
25 エンコーダ(位置検出手段)
30 ウォッチドッグ回路
31 ウォッチドッグ回路
32 報知部(報知手段)
41 メモリ(記憶手段)
2 ロボット
3 ロボット制御装置
4 位置制御部(サーボ制御部)
5 サーボアンプ(サーボ制御部)
10 第一のCPU(トルク算出手段、トルク推測手段、推測トルク取得手段、推測トルク一致判断手段、トルク差算出手段、電力遮断手段、指令位置情報異常判断手段、指令位置情報取得手段、指令位置情報一致判断手段)
11 第二のCPU(トルク算出手段、トルク推測手段、推測トルク取得手段、推測トルク一致判断手段、トルク差算出手段、電力遮断手段、指令位置情報異常判断手段、指令位置情報取得手段、指令位置情報一致判断手段)
13 制御情報受信回路(制御情報受信手段、制御情報送信手段)
14 電流計(電流検出手段)
15 電流計(電流検出手段)
18 マグネットスイッチ(切り替え部)
19 マグネットスイッチ(切り替え部)
22 ロボットアーム
24 サーボモータ
25 エンコーダ(位置検出手段)
30 ウォッチドッグ回路
31 ウォッチドッグ回路
32 報知部(報知手段)
41 メモリ(記憶手段)
Claims (3)
- ロボットアームの位置を検出する位置検出手段からの検出出力に応じてサーボ制御部により制御されるサーボモータを駆動源とするロボットアームの異常を診断するロボットアーム診断装置において、
前記サーボモータに対する電力の供給と遮断とを切り替え可能な切り替え部と、
前記サーボモータの駆動電流を検出する電流検出手段と、
二つの演算処理部と、
前記サーボモータの駆動トルクに影響を与えるトルク変動パラメータを記憶する記憶手段と、
前記サーボ制御部からの前記ロボットアームに対する指令位置情報を受信する制御情報受信手段と、
前記制御情報受信手段により受信した指令位置情報及び前記記憶手段に記憶されたトルク変動パラメータを一方又は双方の演算処理部に送信する制御情報送信手段と、を有し、
各演算処理部は、
前記電流検出手段により検出された前記サーボモータの駆動電流から当該サーボモータの実際の駆動トルクを算出するトルク算出手段と、
前記制御情報受信手段により受信した指令位置情報から前記サーボモータの駆動トルクを算出するとともに、前記記憶手段に記憶された前記トルク変動パラメータにより算出された駆動トルクを補正して当該サーボモータが発揮する駆動トルクを推測するトルク推測手段と、
他の演算処理部における前記トルク推測手段により推測された前記サーボモータの推測トルクを取得する推測トルク取得手段と、
前記トルク推測手段により推測した前記サーボモータの推測トルクと前記推測トルク取得手段により取得した推測トルクとが一致するか否かを判断する推測トルク一致判断手段と、
前記推測トルク一致判断手段により前記サーボモータの推測トルクが一致すると判断された場合に、前記推測トルクと前記トルク算出手段により算出された前記サーボモータの実際の駆動トルクとの差を算出するトルク差算出手段と、
前記トルク差算出手段により算出されたトルクの差が所定値以上である場合又は前記推測トルク一致判断手段により前記サーボモータの推測トルクが一致しないと判断された場合に、前記切り替え部により前記サーボモータに対する電力の供給を遮断する電力遮断手段と、
を有することを特徴とするロボットアーム診断装置。 - 各演算処理部は、
受信した指令位置情報が異常であるか否かを判断する指令位置情報異常判断手段と、
他の演算処理部において受信した指令位置情報を取得する指令位置情報取得手段と、
受信した指令位置情報と前記指令位置情報取得手段により取得した指令位置情報とが一致するか否かを判断する指令位置情報一致判断手段と、
前記指令位置情報異常判断手段によって受信した指令位置情報が異常であると判断された場合又は前記指令位置情報一致判断手段によって指令位置情報が一致しないと判断された場合に、指令位置情報の受信エラーである旨をユーザに報知する報知手段と、
を有することを特徴とする請求項1に記載のロボットアーム診断装置。 - 前記サーボ制御部と別個に構成したことを特徴とする請求項1又は2に記載のロボットアーム診断装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006132830A JP2007301680A (ja) | 2006-05-11 | 2006-05-11 | ロボットアーム診断装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006132830A JP2007301680A (ja) | 2006-05-11 | 2006-05-11 | ロボットアーム診断装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007301680A true JP2007301680A (ja) | 2007-11-22 |
Family
ID=38836064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006132830A Withdrawn JP2007301680A (ja) | 2006-05-11 | 2006-05-11 | ロボットアーム診断装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007301680A (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009255237A (ja) * | 2008-04-18 | 2009-11-05 | Nachi Fujikoshi Corp | 産業用ロボットの出力トルク制限回路 |
JP2012190413A (ja) * | 2011-03-14 | 2012-10-04 | Denso Wave Inc | ロボットのコントローラ |
JP2012192519A (ja) * | 2012-07-13 | 2012-10-11 | Nachi Fujikoshi Corp | 産業用ロボットの出力トルク制限回路 |
CN102975194A (zh) * | 2011-09-06 | 2013-03-20 | 株式会社安川电机 | 并联连杆机器人及其控制方法、和并联连杆机器人系统 |
KR101474765B1 (ko) * | 2008-12-05 | 2014-12-22 | 삼성전자 주식회사 | 로봇 팔 및 그 제어방법 |
US9348331B2 (en) | 2013-06-20 | 2016-05-24 | Canon Kabushiki Kaisha | Robot apparatus and speed reducer state diagnosing method |
KR20160135560A (ko) * | 2015-05-18 | 2016-11-28 | 국방과학연구소 | 구동장치의 불균형 토크 보상 제어장치 및 방법 |
WO2017051866A1 (ja) * | 2015-09-25 | 2017-03-30 | Ntn株式会社 | リンク作動装置の診断装置 |
JP2017110802A (ja) * | 2015-09-25 | 2017-06-22 | Ntn株式会社 | リンク作動装置の診断装置 |
JP2018524185A (ja) * | 2015-05-21 | 2018-08-30 | カスタニエンバウム ジーエムビーエイチ | アクチュエータ駆動ロボットジョイントの開ループ/閉ループ制御のための方法および装置 |
CN114659688A (zh) * | 2020-12-22 | 2022-06-24 | 达明机器人股份有限公司 | 双回路力矩感知系统及其感知方法 |
CN114927289A (zh) * | 2022-04-29 | 2022-08-19 | 南京尤欧电子有限公司 | 一种高效率线束缠胶带工作站及其方法 |
-
2006
- 2006-05-11 JP JP2006132830A patent/JP2007301680A/ja not_active Withdrawn
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009255237A (ja) * | 2008-04-18 | 2009-11-05 | Nachi Fujikoshi Corp | 産業用ロボットの出力トルク制限回路 |
KR101474765B1 (ko) * | 2008-12-05 | 2014-12-22 | 삼성전자 주식회사 | 로봇 팔 및 그 제어방법 |
JP2012190413A (ja) * | 2011-03-14 | 2012-10-04 | Denso Wave Inc | ロボットのコントローラ |
CN102975194A (zh) * | 2011-09-06 | 2013-03-20 | 株式会社安川电机 | 并联连杆机器人及其控制方法、和并联连杆机器人系统 |
JP2013052501A (ja) * | 2011-09-06 | 2013-03-21 | Yaskawa Electric Corp | パラレルリンクロボット、パラレルリンクロボットシステムおよびパラレルリンクロボットの制御方法 |
US8948915B2 (en) | 2011-09-06 | 2015-02-03 | Kabushiki Kaisha Yaskawa Denki | Parallel link robot, parallel link robot system, and method of controlling parallel link robot |
JP2012192519A (ja) * | 2012-07-13 | 2012-10-11 | Nachi Fujikoshi Corp | 産業用ロボットの出力トルク制限回路 |
US9348331B2 (en) | 2013-06-20 | 2016-05-24 | Canon Kabushiki Kaisha | Robot apparatus and speed reducer state diagnosing method |
KR20160135560A (ko) * | 2015-05-18 | 2016-11-28 | 국방과학연구소 | 구동장치의 불균형 토크 보상 제어장치 및 방법 |
KR101689627B1 (ko) | 2015-05-18 | 2016-12-26 | 국방과학연구소 | 구동장치의 불균형 토크 보상 제어장치 및 방법 |
JP2018524185A (ja) * | 2015-05-21 | 2018-08-30 | カスタニエンバウム ジーエムビーエイチ | アクチュエータ駆動ロボットジョイントの開ループ/閉ループ制御のための方法および装置 |
WO2017051866A1 (ja) * | 2015-09-25 | 2017-03-30 | Ntn株式会社 | リンク作動装置の診断装置 |
JP2017110802A (ja) * | 2015-09-25 | 2017-06-22 | Ntn株式会社 | リンク作動装置の診断装置 |
CN108136587A (zh) * | 2015-09-25 | 2018-06-08 | Ntn株式会社 | 连杆操作装置的诊断装置 |
US10828779B2 (en) | 2015-09-25 | 2020-11-10 | Ntn Corporation | Diagnostic device for link actuation device |
CN108136587B (zh) * | 2015-09-25 | 2021-12-14 | Ntn株式会社 | 连杆操作装置的诊断装置 |
CN114659688A (zh) * | 2020-12-22 | 2022-06-24 | 达明机器人股份有限公司 | 双回路力矩感知系统及其感知方法 |
CN114927289A (zh) * | 2022-04-29 | 2022-08-19 | 南京尤欧电子有限公司 | 一种高效率线束缠胶带工作站及其方法 |
CN114927289B (zh) * | 2022-04-29 | 2023-06-02 | 南京尤欧电子有限公司 | 一种高效率线束缠胶带工作站及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007301680A (ja) | ロボットアーム診断装置 | |
JP4930969B2 (ja) | ロボット制御装置 | |
JP2007301691A (ja) | ロボット制御装置 | |
US7145306B2 (en) | Method, system, and program for controlling moving body | |
EP1449615B1 (en) | Numerical control unit for detection of abnormal load on an electric motor | |
US20200173814A1 (en) | Encoder abnormality detection method | |
US9889881B2 (en) | Control apparatus and control method of on-vehicle electronic equipment | |
JP2008290184A (ja) | 校正ロボットシステム及び距離センサの校正方法 | |
JP2007535414A (ja) | ねじ込み接続を形成するための方法及び装置 | |
JP2007283448A (ja) | ロボット制御装置 | |
JP2007219991A (ja) | 異常負荷検出装置 | |
JP2012171071A (ja) | ロボットのねじ締め作業異常検知方法 | |
EP3647891B1 (en) | Feed shaft and worm gear abnormality determination system | |
JP6544291B2 (ja) | 関節駆動ロボットの異常診断方法及び異常診断装置 | |
CN111032294A (zh) | 控制器的信息发送方法以及编码器的异常检测方法 | |
JP6607098B2 (ja) | 速度監視装置と速度監視方法 | |
JP6858353B2 (ja) | ロボット制御装置、異常診断方法、及び異常診断プログラム | |
JP2007265103A (ja) | ロボット制御装置 | |
JP2013144325A (ja) | ロボット装置、故障検出方法 | |
JP6839369B2 (ja) | ロボットシステム | |
JP7110843B2 (ja) | 異常判定装置及び異常判定方法 | |
JP2017170471A (ja) | 溶接ロボット機構 | |
JP4168816B2 (ja) | ロボットの制御装置 | |
CN114851186A (zh) | 机器人控制装置及机器人系统 | |
KR101421997B1 (ko) | 임베디드 시스템 및 그 고장 검출 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090804 |