(57)【特許請求の範囲】
【請求項１】
ロボットと前記ロボットを制御する制御装置とを有するロボットシステムであって、
前記制御装置は、
前記ロボットを動作させるためのデータと第１の固有情報とが記憶される脱着可能な第１の記憶部と、
前記データに基づいて前記ロボットの動作を制御する制御部と、を備え、
前記ロボットは、
前記第１の固有情報に対応する第２の固有情報が記憶される第２の記憶部と、
前記制御部による制御によって駆動される駆動部と、を備え、
前記制御部は、前記第２の固有情報を前記ロボットから取得し、該取得された第２の固有情報と、前記第１の記憶部に記憶されている前記第１の固有情報とに基づいて、前記ロボットが前記制御装置に対応するロボットであるか否かを判断する、
ロボットシステム。
【請求項２】
請求項１に記載のロボットシステムであって、
前記制御装置は、固有のセキュリティ識別子をインストールの際に作成する機能を備えるオペレーティングシステムに基づいて動作するものであり、
前記第１の固有情報および前記第２の固有情報の少なくとも一方は、前記セキュリティ識別子である、ロボットシステム。
【請求項３】
請求項１または請求項２に記載のロボットシステムであって、
前記駆動部は、ロータリエンコーダと前記第２の記憶部とを備え、
前記第２の記憶部には、前記第２の固有情報とともに前記ロータリエンコーダに関する情報が記憶される、ロボットシステム。
【請求項４】
請求項３に記載のロボットシステムであって、
前記駆動部を複数備え、該駆動部毎に前記ロータリエンコーダと前記第２の記憶部とが備えられており、
前記第２の固有情報は、前記駆動部の数に応じて分割され、該分割された第２の固有情報が前記各第２の記憶部にそれぞれ記憶される、ロボットシステム。
【請求項５】
請求項４に記載のロボットシステムであって、
前記各第２の記憶部には、前記分割された第２の固有情報に加えて、前記駆動部毎に固有の軸識別子が記憶され、
前記制御部は、前記分割された第２の固有情報と前記軸識別子とを前記各第２の記憶部から取得し、該取得された軸識別子に応じて、前記取得された分割された第２の固有情報の結合を行う、ロボットシステム。
【請求項６】
請求項１から請求項５までのいずれか一項に記載のロボットシステムであって、
前記制御部は、前記ロボットが前記制御装置に対応するロボットではないと判断した場合で、かつ、所定の指令の入力を受け付けた場合に、前記第１の固有情報に対応する第２の固有情報を前記第２の記憶部に強制的に記憶させる、ロボットシステム。
【請求項７】
請求項１に記載のロボットシステムであって、
前記第１の固有情報および前記第２の固有情報の少なくとも一方は、前記制御装置の製造番号、前記ロボットの製造番号、前記第１の記憶部のボリュームシリアル番号、前記駆動部の位置情報、キャリブレーションデータ、および、教示データ、の少なくともいずれか一つを含む、ロボットシステム。
【請求項８】
ロボットを制御する制御装置であって、
前記ロボットを動作させるためのデータと第１の固有情報とが記憶される脱着可能な第１の記憶部と、
前記データに基づいて前記ロボットの動作を制御する制御部と、を備え、
前記ロボットは、
前記第１の固有情報に対応する第２の固有情報が記憶される第２の記憶部と、
前記制御部による制御によって駆動される駆動部と、を備え、
前記制御部は、前記第２の固有情報を前記ロボットから取得し、該取得された第２の固有情報と、前記第１の記憶部に記憶されている前記第１の固有情報とに基づいて、前記ロボットが前記制御装置に対応するロボットであるか否かを判断する、
制御装置。
【請求項９】
制御装置とロボットとの対応関係を判断する方法であって、
前記制御装置は、
前記ロボットを動作させるためのデータと第１の固有情報とが記憶される脱着可能な第１の記憶部と、
前記データに基づいて前記ロボットの動作を制御する制御部と、を備え、
前記ロボットは、
前記第１の固有情報に対応する第２の固有情報が記憶される第２の記憶部と、
前記制御部による制御によって駆動される駆動部と、を備え、
前記制御装置が、前記ロボットから前記第２の固有情報を取得する工程と、
前記制御装置が、取得した前記第２の固有情報と、前記第１の記憶部に記憶されている前記第１の固有情報とに基づいて、前記ロボットが前記制御装置に対応するロボットであるか否かを判断する工程と、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム、制御装置、および、方法に関する。
【背景技術】
【０００２】
産業用のロボットを制御する制御装置には、制御対象のロボットを動作させるためのデータ（以下、「ロボット動作用データ」ともいう）が記憶されている。ロボット動作用データとしては、例えば、教示データやキャリブレーションデータがある。特許文献１には、例えば、サーボモータが備える記憶装置に、サーボコントローラや位置制御コントローラの初期設定に必要な情報を記憶させる技術が開示されている。
【０００３】
従来、ロボット動作用データは、制御装置のメイン基板に直接的に実装されたメモリに記憶されていることが多い。そのため、制御装置が故障した場合には、故障した制御装置のメモリからロボット動作用データをコンピュータや所定の記憶媒体に一旦コピーし、コピーしたロボット動作用データを修理後の制御装置のメモリに転送している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−１９０５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、制御装置のＣＰＵやメイン基板まで故障していると、故障中の制御装置からロボット動作用データをコピーすることは困難である。また、近年、セキュリティ管理のために、製造現場内にコンピュータや記憶媒体を持ち込むことが制限されることがあり、このような制限の下では、コンピュータや記憶媒体を用いて作業を行うことができない場合がある。これらの理由によって、修理後の制御装置に、これまで使用していたロボット動作用データを転送することができなければ、ロボットの再キャリブレーションや教示作業が必要となり、膨大な工数が発生してしまう。
【０００６】
また、複数の制御装置を同時に修理する場合には、修理後に、それぞれの制御装置のロボット動作用データを、対応する制御装置に確実に転送する必要がある。ロボット動作用データが、誤った制御装置に転送されると、ロボットが不測の動作を行う場合があり、そのロボットによって生産される製品の不良率に影響を与えるおそれがあるからである。こうした問題は、故障した制御装置のロボット動作用データを修理後の制御装置に転送する場合に限らず、これまで使用していた制御装置のロボット動作用データを新たな制御装置に転送する場合にも同様に生じ得る問題である。
【０００７】
前述の種々の問題を考慮し、本発明が解決しようとする課題は、これまで使用していた制御装置から新たな制御装置（修理後の制御装置を含む。以下同じ）へのロボット動作用データの移行を適切かつ簡便に行うことが可能な技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００９】
［適用例１］ロボットと前記ロボットを制御する制御装置とを有するロボットシステムであって、前記制御装置は、前記ロボットを動作させるためのデータと第１の固有情報とが記憶される脱着可能な第１の記憶部と、前記データに基づいて前記ロボットの動作を制御する制御部と、を備え、前記ロボットは、前記第１の固有情報に対応する第２の固有情報が記憶される第２の記憶部と、前記制御部による制御によって駆動される駆動部と、を備え、前記制御部は、前記第２の固有情報を前記ロボットから取得し、該取得された第２の固有情報と、前記第１の記憶部に記憶されている前記第１の固有情報とに基づいて、前記ロボットが前記制御装置に対応するロボットであるか否かを判断するロボットシステム。
【００１０】
このような構成であれば、ロボットを動作させるためのデータが、制御装置に着脱可能な第１の記憶部に記憶される。そのため、この第１の記憶部をこれまで使用していた制御装置から取り外して新たな制御装置に装着することにより、ロボットを動作させるためのデータを簡便に移行させることができる。また、本構成では、制御装置の第１の記憶部とロボットの第２の記憶部に、対応する固有情報（第１の固有情報および第２の固有情報）が記憶されている。そのため、制御装置は、これらの固有情報に基づいて、制御装置とロボットとが対応しているか否かを容易に判断することができる。この結果、複数の制御装置が同時に更新されるような場合に第１の記憶部を誤った制御装置に装着しても、ロボットを動作させない制御等を行うことができる。よって、ロボットを動作させるためのデータを、そのロボットに対応した適切な制御装置に移行させることが可能になる。
【００１１】
［適用例２］適用例１に記載のロボットシステムであって、前記制御装置は、固有のセキュリティ識別子をインストールの際に作成する機能を備えるオペレーティングシステムに基づいて動作するものであり、前記第１の固有情報および前記第２の固有情報の少なくとも一方は、前記セキュリティ識別子であるロボットシステム。
【００１２】
このような構成であれば、固有情報を生成するための新たな回路やプログラムを追加する必要がないため、制御装置やロボットの製造コストが上昇することを抑制することができる。
【００１３】
［適用例３］適用例１または適用例２に記載のロボットシステムであって、前記駆動部は、ロータリエンコーダと前記第２の記憶部とを備え、前記第２の記憶部には、前記第２の固有情報とともに前記ロータリエンコーダに関する情報が記憶されるロボットシステム。
【００１４】
このような構成であれば、ロータリエンコーダの角度情報等を記憶するために、ロータリエンコーダに標準的に付属している記憶装置を第２の記憶部として利用することができる。そのため、第２の固有情報を記憶するための専用の記憶装置が不要となり、ロボットの製造コストが上昇することを抑制することができる。
【００１５】
［適用例４］適用例３に記載のロボットシステムであって、前記駆動部を複数備え、該駆動部毎に前記ロータリエンコーダと前記第２の記憶部とが備えられており、前記第２の固有情報は、前記駆動部の数に応じて分割され、該分割された第２の固有情報が前記各第２の記憶部にそれぞれ記憶される、ロボットシステム。
【００１６】
このような構成であれば、複数の第２の記憶部に第２の固有情報が分割して記憶されるため、個々の第２の記憶部の記憶容量を削減することができる。
【００１７】
［適用例５］適用例４に記載のロボットシステムであって、前記各第２の記憶部には、前記分割された第２の固有情報に加えて、前記駆動部毎に固有の軸識別子が記憶され、前記制御部は、前記分割された第２の固有情報と前記軸識別子とを前記各第２の記憶部から取得し、該取得された軸識別子に応じて、前記取得された分割された第２の固有情報の結合を行うロボットシステム。
【００１８】
このような構成であれば、軸識別子を用いることで、第２の固有情報を適切に結合することができる。また、制御装置は、データ量の少ない分割された第２の固有情報を複数の第２の記憶部からそれぞれ取得するため、ロボットや周辺環境から発せられるノイズの影響によって、ロボットから送信される第２の固有情報にエラーが生じることを抑制することができる。
【００１９】
［適用例６］適用例１から適用例５までのいずれかに記載のロボットシステムであって、前記制御部は、前記ロボットが前記制御装置に対応するロボットではないと判断した場合で、かつ、所定の指令の入力を受け付けた場合に、前記第１の固有情報に対応する第２の固有情報を前記第２の記憶部に強制的に記憶させるロボットシステム。
【００２０】
このような構成であれば、制御装置に、対応しないロボットが接続された場合であっても、強制的にそのロボットを制御装置に対応させることができる。そのため、ロボットシステムの構築を柔軟に行うことが可能になる。
【００２１】
［適用例７］適用例１に記載のロボットシステムであって、前記第１の固有情報および前記第２の固有情報の少なくとも一方は、前記制御装置の製造番号、前記ロボットの製造番号、前記第１の記憶部のボリュームシリアル番号、前記駆動部の位置情報、キャリブレーションデータ、および、教示データ、の少なくともいずれか一つを含む、ロボットシステム。
【００２２】
このような構成であっても、固有情報を生成するための新たな回路やプログラムを追加する必要がないため、制御装置やロボットの製造コストが上昇することを抑制することができる。
【００２３】
本発明は、上述したロボットシステムとしての構成のほか、ロボットを制御する制御装置や、制御装置とロボットとの対応関係を判断する方法、ロボットを制御するためのコンピュータプログラムとしても構成することができる。コンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。
【図面の簡単な説明】
【００２４】
【図１】ロボットシステムの概略構成を示す説明図である。
【図２】ロボットおよび制御装置の内部構成を示すブロック図である。
【図３】不揮発性メモリの記憶内容を示す説明図である。
【図４】ロボットおよび制御装置の製造工程の一部を示すフローチャートである。
【図５】ロボット設置場所でユーザによって実施される作業のフローチャートである。
【図６】ロボット設置場所でユーザによって実施される作業のフローチャートである。
【図７】制御装置の修理作業のフローチャートである。
【図８】セキュリティＩＤ登録処理の具体的なフローチャートである。
【図９】電源投入時初期処理の具体的なフローチャートである。
【発明を実施するための形態】
【００２５】
Ａ．システム構成：
図１は、本発明の一実施形態としてのロボットシステム１０の概略構成を示す説明図である。ロボットシステム１０は、多関節型の産業用ロボット１００と、ロボット１００の動作を制御する制御装置２００と、ロボット１００の動作を教示するためのティーチングペンダント３００とを含んでいる。ロボット１００と制御装置２００、および、制御装置２００とティーチングペンダント３００は、所定の接続ケーブルを介してそれぞれ接続されている。
【００２６】
ロボット１００は、ベース部１０１と、水平方向に旋回可能な第１軸によってベース部１０１に支持されたショルダ部１０２と、鉛直方向に旋回可能な第２軸によってショルダ部１０２に下端が支持された下アーム１０３と、鉛直方向に旋回可能な第３軸によって下アーム１０３の先端に支持された上アーム１０４と、鉛直方向に旋回可能な第４軸によって上アーム１０４の先端に支持された手首１０５とを備えている。手首１０５の先端には、手首１０５の円周方向に回転可能な第５軸を有するフランジ部１０６が備えられている。フランジ部１０６には、ワークを取り扱うエンドエフェクタ１０７が取り付けられる。なお、図１には、５つの軸を備えたロボット１００を示したが、軸の数はこれに限らず、他の数であってもよい。各軸は、本願における「駆動部」に相当する。
【００２７】
本実施形態では、制御装置２００およびロボット１００の製造時において、制御装置２００およびロボット１００に、「セキュリティＩＤ」と呼ばれる共通の識別子が記憶される。制御装置２００は、制御装置２００とロボット１００とにそれぞれ記憶されたセキュリティＩＤを照合することで、ロボット１００が制御装置２００に対応するロボットであるか否か、すなわち、正しい組み合わせで接続されているか否かを判断することができる。
【００２８】
セキュリティＩＤは、ロボット１００側においては、各軸に備えられた不揮発性メモリに、各軸に固有の軸ＩＤとともに分割して記憶される。一方、制御装置２００側においては、セキュリティＩＤは、着脱可能な交換用メモリ２７０に、ロボット１００を動作させるためのデータ（以下、「ロボット動作用データ」ともいう）とともに記憶される。ロボット動作用データとしては、例えば、教示データやキャリブレーションデータ（ＣＡＬデータ）がある。教示データとは、ティーチングペンダント３００によって教示されるデータであり、ロボット１００の動作を再現するためのデータである。キャリブレーションデータとは、ロボット１００の各軸の器差を補正するためのデータである。制御装置２００が故障した場合には、故障した制御装置２００から交換用メモリ２７０を取り外し、修理後の制御装置２００にこの交換用メモリ２７０を再度装着することで、セキュリティＩＤとロボット動作用データとを修理後の制御装置２００に移行させることができる。
【００２９】
Ｂ．内部構成：
図２は、ロボット１００および制御装置２００の内部構成を示すブロック図である。制御装置２００は、ＣＰＵ２１０と、固定ＲＯＭ２２０と、ＲＡＭ２３０と、ティーチングペンダント３００が接続されるペンダントインタフェイス２４０と、ロボット１００に備えられたロータリエンコーダ１２０との通信を行うためのエンコーダインタフェイス２５０と、ロボット１００の各軸に備えられたサーボモータ１１０を駆動するための複数の駆動回路２６０と、交換用メモリ２７０が挿入されるメモリスロット２８０と、を備えている。これらの構成要素は所定の内部バス２９０を介して相互に接続されている。
【００３０】
固定ＲＯＭ２２０は、制御装置２００内に固定された記憶装置であり、オペレーティングシステム（ＯＳ）や、後述するセキュリティＩＤ登録処理および電源投入時初期処理を実現するための各種プログラムが記憶される。ＲＡＭ２３０は、ＣＰＵ２１０がオペレーティングシステムやプログラムを実行する際に作業領域として用いられる。本実施形態では、固定ＲＯＭ２２０には、Ｗｉｎｄｏｗｓ（登録商標。以下同じ）、がオペレーティングシステムとしてインストールされる。固定ＲＯＭ２２０としては、例えば、フラッシュＲＯＭを用いることができる。なお、ＣＰＵ２１０は、本願の「制御部」に相当する。
【００３１】
交換用メモリ２７０は、メモリスロット２８０を介して制御装置２００に着脱可能な記憶装置である。交換用メモリ２７０には、メモリスロット２８０を通じて、ＣＰＵ２１０により、セキュリティＩＤ（ＳＩＤ）、教示データ、および、キャリブレーションデータ、が記録される。セキュリティＩＤとは、Ｗｉｎｄｏｗｓが制御装置２００にインストールされる際に生成される制御装置２００に固有の識別子である。交換用メモリ２７０としては、例えば、フラッシュＲＯＭやバッテリバックアップされたＳＲＡＭ等を用いることができる。なお、交換用メモリ２７０は、本願の「第１の記憶部」に相当する。
【００３２】
ロボット１００は、軸毎に、サーボモータ１１０と、サーボモータ１１０の回転角度を検出するロータリエンコーダ１２０と、ロータリエンコーダ１２０に接続された信号処理部１３０と、信号処理部１３０に接続された不揮発性メモリ１５０と、を備えている。
【００３３】
各軸に備えられた不揮発性メモリ１５０は、ロータリエンコーダ１２０に付属する汎用的なメモリであり、例えば、ロータリエンコーダ１２０の角度情報（例えば、多回転情報）が記憶される。この不揮発性メモリ１５０には、制御装置２００から軸毎に一意に割り当てられる軸ＩＤと、制御装置２００から送信される分割されたセキュリティＩＤ（分割ＳＩＤ）とが記憶される。不揮発性メモリ１５０としては、例えば、ＥＥＰＲＯＭを用いることができる。なお、不揮発性メモリ１５０は、本願の「第２の記憶部」に相当する。
【００３４】
各軸に備えられた信号処理部１３０は、シリアル伝送路１６０によってディジーチェーン状に接続されている。シリアル伝送路１６０は、制御装置２００のエンコーダインタフェイス２５０に接続される。各信号処理部１３０は、ロータリエンコーダ１２０から出力された角度信号を、シリアル伝送路１６０を通じて制御装置２００に伝送する。制御装置２００のＣＰＵ２１０は、この角度信号に基づいて、各駆動回路２６０から出力する電力をフィードバック制御し、ロボット１００の各軸を駆動する。
【００３５】
各信号処理部１３０は、角度信号を制御装置２００に送信する際に、角度信号に軸ＩＤを付す。制御装置２００は、この軸ＩＤを識別することで角度信号の送信元を特定する。また、各信号処理部１３０は、シリアル伝送路１６０を通じて軸ＩＤの付された制御信号を制御装置２００から受信することで、自己宛の制御信号を判別することができる。信号処理部１３０は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）によって構成される。
【００３６】
図３は、不揮発性メモリ１５０の記憶内容を示す説明図である。不揮発性メモリ１５０には、バージョン情報、メカ型式、キャリブレーションデータ、許容角度範囲情報、エンコーダ角度情報、が記憶されている。また、不揮発性メモリ１５０には、将来拡張用のリザーブ領域が確保されている。本実施形態では、上述した軸ＩＤと分割シリアルＩＤとは、リザーブ領域内に記憶される。なお、「バージョン情報」は、記憶されているデータの互換性チェックに用いられる情報である。「メカ型式」は、ロボットのタイプ（４軸タイプ、６軸タイプ等）の特定に用いられる情報である。キャリブレーションデータは、交換用メモリ２７０に記憶されるキャリブレーションデータと同様のデータである。許容角度範囲情報は、軸の基準角度からメカニカルエンドまでの有効角度範囲を示す情報である。エンコーダ角度情報は、ロータリエンコーダ１２０の位置情報（多回転位置情報）などを示す情報である。
【００３７】
Ｃ．各種作業工程
図４は、ロボット製造メーカにおけるロボット１００および制御装置２００の製造工程の一部を示すフローチャートである。製造メーカでは、まず、ロボット１００と制御装置２００とが製造される（ステップＳ１０）。ロボット１００と制御装置２００とが製造されると、制御装置２００において、後述するセキュリティＩＤ登録処理が実行される（ステップＳ１２）。このセキュリティＩＤ登録処理では、制御装置２００にオペレーティングシステムがインストールされるとともに、セキュリティＩＤが交換用メモリ２７０に記憶される。
【００３８】
セキュリティＩＤ登録処理が終了すると、ロボット１００と制御装置２００とが所定のケーブルで接続され、後述する電源投入時初期処理が制御装置２００において実行される（ステップＳ１４）。この電源投入時初期処理では、交換用メモリ２７０に記憶されたセキュリティＩＤが、ロボット１００の軸の数に応じて分割され、各軸に備えられた不揮発性メモリ１５０に転送される。また、この電源投入時初期処理では、各軸に対して固有の軸ＩＤが割り当てられる。
【００３９】
電源投入時初期処理が終了すると、ロボット製造メーカは、ステップＳ１４で接続されたロボット１００と制御装置２００とを１組のロボットシステムとしてユーザに出荷する（ステップＳ１６）。
【００４０】
図５および図６は、ロボット１００および制御装置２００の出荷先のロボット設置場所でユーザによって実施される作業のフローチャートである。ユーザは、まず、ティーチングペンダント３００を用いてキャリブレーションおよびティーチングを行う（ステップＳ２０）。そうすると、制御装置２００の交換用メモリ２７０には、セキュリティＩＤに加えて、教示データとキャリブレーションデータとが記憶されることになる。
【００４１】
キャリブレーションおよびティーチングが終了すると、ロボット１００と制御装置２００との運用が開始される（ステップＳ２２）。運用中に、制御装置２００に故障が発生した場合には（ステップＳ２４）、運用は停止され、制御装置２００から交換用メモリ２７０が取り外される（ステップＳ２６）。そして、交換用メモリ２７０の取り外された制御装置２００は、例えば、ロボット製造メーカによって修理される（ステップＳ２８）。
【００４２】
図７は、制御装置２００の修理作業のフローチャートである。修理を行うロボット製造メーカは、故障した制御装置２００を受領すると、制御装置２００の再構築を行う（ステップＳ５０）。本実施形態において再構築とは、故障した部品の修理や交換、新たな制御装置２００への取替え等のことをいう。この再構築作業では、制御装置２００には、新たな交換用メモリが装着される。制御装置２００の再構築が終了すると、制御装置２００の製造時と同様に、後述するセキュリティＩＤ登録処理が実行される（ステップＳ５２）。前述のように、このセキュリティＩＤ登録処理では、制御装置２００にオペレーティングシステムがインストールされるとともに、セキュリティＩＤが交換用メモリ２７０に記憶される。
【００４３】
セキュリティＩＤ登録処理が終了すると、ロボット製造メーカは、交換用メモリ２７０を制御装置２００から取り外し、交換用メモリ２７０が取り外された制御装置２００を、制御装置２００の修理依頼元のユーザに発送する（ステップＳ５６）。以上の手順により、制御装置２００の修理作業は完了する。ステップＳ５４で最終的に交換用メモリ２７０が取り外されるのにもかかわらず、ステップＳ５０の再構築の際に制御装置２００に新たな交換用メモリ２７０を装着するのは、交換用メモリ２７０が装着されない限りセキュリティＩＤ登録処理が完了しないためである。なお、ステップＳ５４において取り外された交換用メモリ２７０は、記憶されたセキュリティＩＤを消去した上で、新たに製造する制御装置２００の交換用メモリ２７０として利用してもよいし、次回の修理作業に再び利用してもよい。また、本実施形態では、上述した一連の修理作業は、ロボット製造メーカで行われることとしたが、他の修理業者において行われるものとしてもよいし、ロボットの設置場所（ユーザ元）で行われることとしてもよい。
【００４４】
修理された制御装置２００を受領すると、ユーザは、図６に示すように、その制御装置２００に、図５のステップＳ２６で取り外しておいた交換用メモリ２７０を再び装着する（ステップＳ３０）。交換用メモリ２７０を再び装着し、制御装置２００の電源をＯＮにすると、制御装置２００において、後述する電源投入時初期処理が実行される（ステップＳ３２）。この電源投入時初期処理では、ロボット１００に記憶されている分割セキュリティＩＤと軸ＩＤとが制御装置２００に読み込まれ、軸ＩＤの順序に応じて分割セキュリティＩＤが結合される。そして、結合されたセキュリティＩＤと、交換用メモリ２７０に記憶されているセキュリティＩＤとが照合される。照合の結果、２つのセキュリティＩＤが一致すれば、制御装置２００にロボット１００が適切に対応していることになるため、ロボット１００および制御装置２００の運用が再開される（ステップＳ３４）。２つのセキュリティＩＤが一致しない場合についての詳細は後述する。
【００４５】
Ｄ．セキュリティＩＤ登録処理：
図８は、制御装置２００の製造時（図４）および修理時（図７）に制御装置２００のＣＰＵ２１０によって実行されるセキュリティＩＤ登録処理の具体的なフローチャートである。このセキュリティＩＤ登録処理の開始にあたり、制御装置２００には、まず、オペレーティングシステムがインストールされる（ステップＳ１００）。インストール中には、オペレーティングシステムの機能によって制御装置２００に固有のセキュリティＩＤが生成され、固定ＲＯＭ２２０に記憶される。
【００４６】
オペレーティングシステムがインストールされると、制御装置２００は、「インストール直後フラグ」がＯＮであるか否かを判断する（ステップＳ１０２）。インストール直後フラグとは、オペレーティングシステムのインストールが完了した直後に、そのオペレーティングシステムの機能によってＯＮにされるフラグである。このインストール直後フラグは、オペレーティングシステムが記憶される固定ＲＯＭ２２０に記録される。インストール直後フラグがＯＦＦの場合、すなわち、インストール直後を経過した再起動時、あるいは、通常の電源投入時には、制御装置２００は、以下で説明するステップＳ１０４〜Ｓ１１０の処理をスキップする。
【００４７】
インストール直後フラグがＯＮであれば、制御装置２００は、オペレーティングシステムの種々のコンフィギュレーション（設定）が完了するまで待機を行う（ステップＳ１０４）。コンフィギュレーションが完了すると、制御装置２００は、固定ＲＯＭ２２０からセキュリティＩＤを取得し（ステップＳ１０６）、そのセキュリティＩＤを交換用メモリ２７０に転送して記憶させ（ステップＳ１０８）、インストール直後フラグをＯＦＦにする（ステップＳ１１０）。以上で説明したセキュリティＩＤ登録処理によれば、オペレーティングシステムのインストールの際に生成されたセキュリティＩＤを、交換用メモリ２７０に記憶させることができる。
【００４８】
Ｅ．電源投入時初期処理：
図９は、制御装置２００の製造時（図４）およびロボットの修理後（図６）に制御装置２００のＣＰＵ２１０によって実行される電源投入時初期処理の具体的なフローチャートである。この電源投入時初期処理が実行されると、まず、制御装置２００は、ロボット１００の信号処理部１３０に所定の制御信号を送信することで、ロボット１００の各軸に備えられた不揮発性メモリ１５０から、軸ＩＤおよび分割セキュリティＩＤを軸毎に取得する（ステップＳ２００）。そして、取得された分割セキュリティＩＤを、対応する軸ＩＤの番号順に結合する（ステップＳ２０２）。
【００４９】
分割セキュリティＩＤを結合すると、制御装置２００は、結合後のセキュリティＩＤを、交換用メモリ２７０に記憶されているセキュリティＩＤと照合する（ステップＳ２０４）。この結果、結合後のセキュリティＩＤと、交換用メモリ２７０に記憶されているセキュリティＩＤとが一致すれば、制御装置２００に、対応する適切なロボット１００が接続されていることになる。そこで、制御装置２００は、各軸にそれぞれ軸ＩＤを割り当て（ステップＳ２０６）、当該電源投入時初期処理を終了する。
【００５０】
ステップＳ２０６における軸ＩＤの割り当ては、ロボット１００の各軸に対して、それぞれ毎回同じ軸ＩＤが割り当てられるように行う。具体的には、例えば、第１軸には、軸ＩＤとして、毎回、「１」を割り当て、第２軸には、軸ＩＤとして、毎回、「２」を割り当てる。軸ＩＤが電源の投入毎に変動すると、各軸を駆動するための教示データも毎回変更する必要があり非効率だからである。制御装置２００は、例えば、ディジーチェーン状に接続された信号処理部１３０のうち、エンコーダインタフェイス２５０に最も近い信号処理部１３０から順に、軸ＩＤを送信することで、各軸に対して、それぞれ、毎回、同じ軸ＩＤを割り当てることができる。このように、２つのセキュリティＩＤが一致した場合において軸ＩＤの割り当てを電源の投入の度に行えば、電源がＯＦＦの際に軸ＩＤが何らかの原因で書き換えられていたり消去されている場合であっても、正常な軸ＩＤを書き込むことが可能になる。
【００５１】
上記ステップＳ２０４において、結合後のセキュリティＩＤと、交換用メモリ２７０に記憶されているセキュリティＩＤとが一致しないと判断された場合には、制御装置２００は、ティーチングペンダント３００や制御装置２００に備えられている表示部に、制御装置２００とロボット１００とが対応していない旨を示すエラーを表示する（ステップＳ２０８）。
【００５２】
エラーを表示すると、制御装置２００は、ティーチングペンダント３００や制御装置２００の操作部を通じて、強制ＩＤ設定指令の受付を行う（ステップＳ２１０）。強制ＩＤ設定指令とは、制御装置２００とロボット１００とが対応していない場合に、強制的に、これらを対応付けるための指令である。この指令は、例えば、管理者権限を有するユーザのみが入力できるものとしてもよいし、ティーチングペンダント３００に予め設定されたパスワードが入力された場合に限り受付を行うこととしてもよい。
【００５３】
強制ＩＤ設定指令が所定期間内に受け付けられなければ（ステップＳ２１２：Ｎｏ）、制御装置２００は、駆動回路２６０を通じたロボット１００への電力の供給を遮断する（ステップＳ２１４）。こうすることで、制御装置２００とロボット１００とが正しい組み合わせでない場合に、ロボット１００が何らかの原因で動作してしまうことを抑制することができる。なお、このとき、制御装置２００は動作させたままであるので、エラーの解析などはそのまま行うことができる。
【００５４】
強制ＩＤ設定指令が所定期間内に受け付けられた場合には（ステップＳ２１２：Ｙｅｓ）、制御装置２００は、交換用メモリ２７０内のセキュリティＩＤを読み込み、これをロボット１００の軸の数で分割することで、分割セキュリティＩＤを生成する。そして、各軸に、軸ＩＤと分割セキュリティＩＤとを送信して、不揮発性メモリ１５０に記憶させる（ステップＳ２１８）。以上で説明した一連の処理により、電源投入時初期処理は終了する。
【００５５】
Ｆ．効果：
以上で説明した本実施形態では、ロボット１００を動作させるための教示データやキャリブレーションデータを、制御装置２００に着脱可能な交換用メモリ２７０に記憶させる。そのため、これまで使用していた交換用メモリ２７０を、修理後の制御装置２００に再度、装着することにより、簡便に、キャリブレーションデータや教示データを修理後の制御装置２００に容易に移行させることができる。よって、再キャリブレーションや、教示作業のやり直しが不要となり、制御装置２００の故障時の作業負担を大幅に軽減することが可能になる。
【００５６】
また、本実施形態では、固有のセキュリティＩＤを、制御装置２００の交換用メモリ２７０とロボット１００とに共通して記憶させ、制御装置２００の電源投入時に、互いのセキュリティＩＤの照合を行う。そのため、例えば、複数の制御装置２００を同時に修理した場合であっても、修理後の制御装置２００とロボット１００とが、正しい組み合わせで接続されていることを的確に確認することができる。この結果、交換用メモリ２７０に記憶された教示データやキャリブレーションデータが、意図しないロボットの制御に用いられることを防止することができ、生産品の不良率が高くなってしまうこと等を抑制することができる。
【００５７】
また、本実施形態では、制御装置２００とロボット１００とに共通して記憶させる識別子として、オペレーティングシステム（Ｗｉｎｄｏｗｓ）のインストール時にそのオペレーティングシステムの機能によって生成されるセキュリティＩＤを用いる。そのため、固有の識別子を生成するための新たな回路やプログラムを用意する必要がない。この結果、制御装置２００やロボット１００の製造コストが上昇してしまうことを抑制することができる。
【００５８】
また、本実施形態では、セキュリティＩＤをロボットに記憶させる際に、セキュリティＩＤを分割し、分割後のセキュリティＩＤ（分割セキュリティＩＤ）を、各軸に備えられた不揮発性メモリ１５０に記憶させる。そのため、個々の不揮発性メモリ１５０の記憶容量を削減することができる。また、セキュリティＩＤが分割されていれば、セキュリティＩＤの照合の際に、ロボット１００から制御装置２００に一度に転送するデータ量が減る。そのため、ロボット１００自体のノイズや周辺環境からのノイズによってデータにエラーが生じることを抑制することができ、セキュリティＩＤの照合を正確に行うことができる。
【００５９】
また、本実施形態では、ロータリエンコーダ１２０に付属する汎用的な不揮発性メモリ１５０にセキュリティＩＤ（より詳しくは、分割セキュリティＩＤ）を記憶させる。そのため、セキュリティＩＤを記憶させるための専用のメモリが不要となり、ロボット１００の製造コストが増加することを抑制することができる。
【００６０】
また、本実施形態では、ロボット１００側のセキュリティＩＤと制御装置２００側のセキュリティＩＤとが対応しない場合であっても、ユーザから強制ＩＤ設定指令を受け付けた場合には、ロボット１００に対して新たなセキュリティＩＤを記憶させる。そのため、例え、制御装置２００とロボット１００とが正常に対応しない場合であっても、ロボットシステムの再構築を柔軟に行うことが可能になる。
【００６１】
Ｇ．変形例：
以上、本発明の一実施形態について説明したが、本発明はこのような実施形態に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよく、その逆もまた可能である。そのほか、以下のような変形も可能である。
【００６２】
・変形例１：
上記実施形態では、セキュリティＩＤをロボット１００に記憶させる際に、セキュリティＩＤを分割し、分割したそれぞれのセキュリティＩＤを各軸の不揮発性メモリ１５０に記憶させている。しかし、セキュリティＩＤを分割することなく、そのまま、ロボット１００の各不揮発性メモリ１５０に同じセキュリティＩＤを記憶させてもよい。この場合、制御装置２００は、例えば、各軸の不揮発性メモリ１５０から、順番にセキュリティＩＤを取得して、１つでも照合が成功した場合に、正しいロボット１００が接続されていると判断してもよい。また、セキュリティＩＤを分割せずに１つの不揮発性メモリ１５０だけに記憶させることとしてもよい。
【００６３】
・変形例２：
上記実施形態では、セキュリティＩＤを分割してロボット１００の各軸の不揮発性メモリ１５０に記憶させている。これに対して、例えば、セキュリティＩＤのビット構成を反転させたり、セキュリティＩＤに予め定められた値を加えたりしてロボット１００に記憶させてもよい。セキュリティＩＤのビット情報を反転させた場合には、例えば、ビット情報を再反転させることで、交換用メモリ２７０に記憶されているセキュリティＩＤとの照合を正しく行うことができる。また、セキュリティＩＤに予め定められた値を加える場合には、その値を照合時にセキュリティＩＤから差し引くことで、交換用メモリ２７０に記憶されているセキュリティＩＤとの照合を正しく行うことができる。つまり、交換用メモリ２７０に記憶されたセキュリティＩＤと、ロボット１００に記憶されたセキュリティＩＤとの対応関係が正しく照合できるのであれば、交換用メモリ２７０に記憶させるセキュリティＩＤと、ロボット１００に記憶させるセキュリティＩＤとは、同一の値でなくてもかまわない。
【００６４】
・変形例３：
上記実施形態では、セキュリティＩＤは、ロータリエンコーダ１２０に付属する汎用的な不揮発性メモリ１５０に記憶される。しかし、セキュリティＩＤは、ロボット１００が備える他のメモリや、セキュリティＩＤを記憶させるための専用メモリに記憶させることとしてもよい。
【００６５】
・変形例４：
上記実施形態では、制御装置２００とロボット１００とが共通して記憶する識別子として、オペレーティングシステムのインストールの際に生成されるセキュリティＩＤを用いている。しかし、制御装置２００とロボット１００とに共通して記憶させる識別子は、セキュリティＩＤに限らず、他の識別子であってもよい。例えば、制御装置２００側に固有の情報である制御装置２００の製造番号（シリアル番号）や、交換用メモリ２７０あるいは固定ＲＯＭ２２０のボリュームシリアル番号、を識別子として用いてもよい。また、ロボット１００側に固有の情報であるロボット１００の製造番号（シリアル番号）やキャリブレーションデータ、エンコーダの角度情報を、識別子として用いてもよい。その他にも、例えば、教示データを識別子として利用してもよく、また、ユーザが任意に定めた固有の識別子を利用してもよい。つまり、制御装置２００とロボット１００との対応関係が確認可能であれば、識別子の形態はセキュリティＩＤに限定されない。
【００６６】
・変形例５：
上記実施形態では、セキュリティＩＤの分割は行うものの、セキュリティＩＤの値自体は変更することなくロボット１００の不揮発性メモリ１５０に記録している。これに対して、例えば、セキュリティＩＤを圧縮して不揮発性メモリ１５０に記録してもよい。また、誤り検出符号や誤り訂正符号を付加して不揮発性メモリ１５０に記録してもよい。セキュリティＩＤを分割する場合には、分割セキュリティＩＤのそれぞれについて圧縮を行ってもよいし、誤り検出符号や誤り訂正符号を付加してもよい。
【００６７】
・変形例６：
上記実施形態では、ロボット１００を動作させるためのデータとして、教示データとキャリブレーションデータとが交換用メモリ２７０に記憶される。しかし、教示データとキャリブレーションデータとは、いずれか一方のみが交換用メモリ２７０に記憶されることとしてもよい。
【００６８】
・変形例７：
上記実施形態では、制御装置２００が故障した際に、交換用メモリ２７０を、修理された制御装置２００に装着する例を示している。これに対して、従前の制御装置２００（例えば、廃棄される制御装置２００や更新される制御装置２００）で使用されていた交換用メモリ２７０を、新たな制御装置２００（例えば、新たに購入した制御装置２００や他のロボットに対して使用していた制御装置２００）に装着することとしてもよい。このような態様であっても、上述した実施形態の効果と同様の効果を奏する。
【符号の説明】
【００６９】
１０…ロボットシステム
１００…ロボット
１０１…ベース部
１０２…ショルダ部
１０３…下アーム
１０４…上アーム
１０５…手首
１０６…フランジ部
１０７…エンドエフェクタ
１１０…サーボモータ
１２０…ロータリエンコーダ
１３０…信号処理部
１５０…不揮発性メモリ
１６０…シリアル伝送路
２００…制御装置
２１０…ＣＰＵ
２２０…固定ＲＯＭ
２３０…ＲＡＭ
２４０…ペンダントインタフェイス
２５０…エンコーダインタフェイス
２６０…駆動回路
２７０…交換用メモリ
２８０…メモリスロット
２９０…内部バス
３００…ティーチングペンダント
【図１】
0005891662.tif 000002
【図２】
0005891662.tif 000003
【図３】
0005891662.tif 000004
【図４】
0005891662.tif 000005
【図５】
0005891662.tif 000006
【図６】
0005891662.tif 000007
【図７】
0005891662.tif 000008
【図８】
0005891662.tif 000009
【図９】
0005891662.tif 000010