(57)【要約】      （修正有）【課題】ロボットに取り付けられているツールを正確に識別することが可能なロボット制御装置を提供する。【解決手段】ロボット制御装置は、可動部３１と可動部３１の位置を検出する位置検出器３３とを有する第１のツール３がロボットから取り外されたとき、または可動部３１が特定の位置に移動したときの位置検出器３３によって検出された可動部３１の位置を表す第１の値を記憶する記憶部３４と、可動部３１と可動部３１の位置を検出する位置検出器３３とを有する第２のツール３がロボットに取り付けられたとき、または第２のツール３がロボットに取り付けられてから可動部３１がその特定の位置に移動したときの位置検出器３３によって検出された可動部３１の位置を表す第２の値と記憶部３４に記憶されている第１の値との差に基づいて所定の処理を行う制御部３５とを有する。【選択図】図２
2020082211.tif 000002
【特許請求の範囲】
【請求項１】
第１の可動部と前記第１の可動部の位置を検出する第１の位置検出器とを有する第１のツールがロボットから取り外されたとき、または前記第１の可動部が特定の位置に移動したときの前記第１の位置検出器によって検出された前記第１の可動部の位置を表す第１の値を記憶する記憶部と、
第２の可動部と前記第２の可動部の位置を検出する第２の位置検出器とを有する第２のツールが前記ロボットに取り付けられたとき、または前記第２のツールが前記ロボットに取り付けられてから前記第２の可動部が前記特定の位置に移動したときの前記第２の位置検出器によって検出された前記第２の可動部の位置を表す第２の値と前記記憶部に記憶されている前記第１の値との差に基づいて所定の処理を行う制御部と、
を有するロボット制御装置。
【請求項２】
前記制御部は、前記所定の処理として、前記第２の値と前記記憶部に記憶されている前記第１の値との差が所定の閾値未満となる場合、前記第２のツールが前記第１のツールと同一であると識別するか、同一であると報知する、あるいは、
前記第２のツールが前記ロボットに取り付けられてから前記第２の可動部が前記特定の位置に移動したときの前記第２の値と前記記憶部に記憶されている前記第１の値との差が所定の閾値未満となる場合、前記第２のツールが前記第１のツールと同一であると識別するか、同一であると報知する処理を行う、請求項１に記載のロボット制御装置。
【請求項３】
可動部と前記可動部の位置を検出する位置検出器とを有するツールがロボットから取り外されたとき、または前記可動部が特定の位置に移動したときの前記位置検出器によって検出された前記可動部の位置を表す第１の値を記憶する記憶部と、
前記位置検出器によって検出された前記可動部の現在の位置を表す第２の値と前記記憶部に記憶されている前記第１の値との差に基づいて前記ツールの取り外し可否を判定するか、
前記可動部が前記特定の位置にあるときの前記第２の値と前記記憶部に記憶されている前記第１の値との差に基づいて前記ツールの取り外し可否を判定する取り外し可否判定部と、
を有するロボット制御装置。
【請求項４】
少なくとも一つのツールと、
前記少なくとも一つのツールを着脱可能な着脱装置を有するロボットと、
前記ロボットを制御する制御装置とを有するロボットシステムであって、
前記少なくとも一つのツールは、
可動部と、
前記可動部の位置を検出する位置検出器とを有し、
前記制御装置は、
前記少なくとも一つのツールの何れかがロボットから取り外されたとき、または前記少なくとも一つのツールの何れかの前記可動部が特定の位置に移動したときの前記位置検出器によって検出された前記可動部の位置を表す第１の値を記憶する記憶部と、
前記少なくとも一つのツールの何れかが前記ロボットに取り付けられたとき、または前記少なくとも一つのツールの何れかが前記ロボットに取り付けられてから前記可動部が前記特定の位置に移動したときの前記位置検出器によって検出された前記可動部の位置を表す第２の値と前記記憶部に記憶されている前記第１の値との差に基づいて所定の処理を行う制御部と、
を有するロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ツールを着脱可能なロボットの制御装置、及び、そのような制御装置を含むロボットシステムに関する。
【背景技術】
【０００２】
様々な種類の工具の何れかを取り付けることが可能なロボットにおいて、工具交換時の安全性を向上させる技術が提案されている（例えば、特許文献１を参照）。例えば、この技術では、ロボット制御装置から出力され、ロボット制御装置が管理上使用する現在の工具を示す第１工具識別情報と、ロボットに取り付けられた工具を検出してその工具を識別するための第２工具識別情報とが比較される。そして第１工具識別情報と第２工具識別情報とが不一致と判断されている期間において、ロボットの教示基準点の位置座標が所定領域の外部に存在するようになった時、ロボットを安全な状態にするための非常停止信号が出力される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８４０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記の技術では、第１工具識別情報が誤って入力された場合、あるいは、第２工具識別情報を検出する装置の故障などにより、第２工具識別情報が誤って検出された場合、第１工具識別情報で特定される工具と、ロボットに実際に取り付けられている工具とが異なっているにもかかわらず、それらの工具が同じものであると誤って判定されるおそれがある。
【０００５】
一つの側面では、ロボットに取り付けられているツールを正確に識別することが可能なロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの実施形態によれば、ロボット制御装置が提供される。このロボット制御装置は、第１の可動部と第１の可動部の位置を検出する第１の位置検出器とを有する第１のツールがロボットから取り外されたとき、または第１の可動部が特定の位置に移動したときの第１の位置検出器によって検出された第１の可動部の位置を表す第１の値を記憶する記憶部と、第２の可動部と第２の可動部の位置を検出する第２の位置検出器とを有する第２のツールがロボットに取り付けられたとき、または第２のツールがロボットに取り付けられてから第２の可動部がその特定の位置に移動したときの第２の位置検出器によって検出された第２の可動部の位置を表す第２の値と記憶部に記憶されている第１の値との差に基づいて所定の処理を行う制御部とを有する。
【０００７】
他の実施形態によれば、ロボット制御装置が提供される。このロボット制御装置は、可動部と可動部の位置を検出する位置検出器とを有するツールがロボットから取り外されたとき、または可動部が特定の位置に移動したときの位置検出器によって検出された可動部の位置を表す第１の値を記憶する記憶部と、位置検出器によって検出された可動部の現在の位置を表す第２の値と記憶部に記憶されている第１の値との差に基づいてツールの取り外し可否を判定するか、可動部が特定の位置にあるときの第２の値と記憶部に記憶されている第１の値との差に基づいてツールの取り外し可否を判定する取り外し可否判定部とを有する。
【０００８】
さらに他の実施形態によれば、少なくとも一つのツールと、少なくとも一つのツールを着脱可能な着脱装置を有するロボットと、そのロボットを制御する制御装置とを有するロボットシステムが提供される。このロボットシステムにおいて、少なくとも一つのツールは、可動部と、可動部の位置を検出する位置検出器とを有する。制御装置は、少なくとも一つのツールの何れかがロボットから取り外されたとき、または少なくとも一つのツールの何れかの可動部が特定の位置に移動したときの位置検出器によって検出された可動部の位置を表す第１の値を記憶する記憶部と、少なくとも一つのツールの何れかがロボットに取り付けられたとき、または少なくとも一つのツールの何れかがロボットに取り付けられてから可動部がその特定の位置に移動したときの位置検出器によって検出された可動部の位置を表す第２の値と記憶部に記憶されている第１の値との差に基づいて所定の処理を行う制御部とを有する。
【発明の効果】
【０００９】
一つの側面によれば、ロボットに取り付けられているツールを正確に識別することができる。
【図面の簡単な説明】
【００１０】
【図１】一つの実施形態によるロボットシステムの概略構成図である。
【図２】ツールの概略構成図である。
【図３Ａ】制御装置の概略構成図である。
【図３Ｂ】制御装置のプロセッサの機能ブロック図である。
【図４】取り外し可否判定処理の動作フローチャートである。
【図５】メモリに記憶される取り外し計数値の一例を示す図である。
【図６】識別処理の動作フローチャートである。
【図７】変形例による、メモリに記憶される取り外し計数値の他の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図を参照しつつ、ロボットの制御装置、及び、そのような制御装置を含むロボットシステムについて説明する。この制御装置による制御対象となるロボットは、複数のツールを交互に着脱することが可能となっている。複数のツールのそれぞれは、モータといった、動力を発する動力部とその動力部により駆動される可動部とを有する、いわゆるサーボツールと呼ばれるツールである。このツールは、さらに、エンコーダといった、可動部の位置を検出する位置検出部を有し、ロボットから取り外された時の位置に可動部を保持することが可能となっている。そして制御装置は、ロボットに装着済みのツールがそのロボットから取り外されるときに、そのツールの可動部の位置と、既に可動部の位置が記憶されている他のツール（以下、説明の便宜上、登録されたツールあるいは登録ツールと呼ぶことが有る）の可動部の位置との差が所定の閾値以上となっているときにのみ、そのツールを取り外し可能とするとともに、そのツールが取り外されたときの可動部の位置を記憶する。またツールも、取り外し時の位置にて可動部を保持する。そして制御装置は、次に何れかのツールがロボットに取り付けられるとき、その取り付けられるツールの可動部の位置と登録された何れかのツールについての記憶されている可動部の位置との差が所定の閾値未満である場合、取り付けられるツールは、その登録されたツールと同一であると識別するといった処理を実行し、一方、登録された何れのツールについても差が所定の閾値以上となる場合、取り付けられるツールは、登録されたツールの何れとも異なるツールであると判定してその判定結果に応じた処理を実行する。これにより、この制御装置は、ロボットに装着されるツールの識別情報が入力されなくても、ロボットから取り外した時の可動部の位置により、ツールを識別することができる。そのため、この制御装置は、ロボットに装着されているツールを正確に識別できる。
【００１２】
図１は、一つの実施形態による、ロボットシステム１の概略構成図である。ロボットシステム１は、ロボット２と、ロボット２に取り付けることが可能な複数のツール３と、ロボット２を制御する制御装置４とを有する。なお、図１では、複数のツール３のうち、ロボット２に装着された一つのツールのみが代表して図示される。
【００１３】
ロボット２は、少なくとも一つの軸を有する機構部２ａを有し、その少なくとも一つの軸のそれぞれが、サーボモータ（図示せず）によって駆動されることで、機構部２ａの位置及び姿勢が変化する。そして機構部２ａの先端には、複数のツール３のうちの一つを着脱可能なツール着脱装置２ｂが設けられる。そして複数のツール３の何れかが、ツール着脱装置２ｂを介してロボット２に取り付けられる。なお、ツール着脱装置２ｂが設けられる位置は、機構部２ａの先端でなくてもよく、ロボット２の仕様に応じて機構部２ａの何れかの位置に設けられればよい。
【００１４】
ツール着脱装置２ｂは、複数のツール３のうちの一つを取り付けるための取り付け機構（図示せず）を有する。作業者がツール着脱装置２ｂに複数のツール３の何れか（以下、作業対象ツールと呼ぶ）を取り付ける操作を行うと、その取り付け機構により作業対象ツールが固定され、作業対象ツールがツール着脱装置２ｂから外れないようにロックされる。そしてツール着脱装置２ｂは、制御装置４と接続される動力線６及び信号線７を作業対象ツールに接続する。したがって、ツール着脱装置２ｂを介してロボット２に取り付けられた作業対象ツールと制御装置４とは、動力線６及び信号線７を介して互いに接続される。そして作業対象ツールが有する可動部の位置を表す情報など、作業対象ツールの動作状態を表す信号が、信号線７を介して制御装置４へ送信される。また、作業対象ツールを駆動するための電力は、制御装置４から動力線６を介して作業対象ツールへ供給される。
【００１５】
また、ツール着脱装置２ｂは、制御装置４から信号線５を介して作業対象ツールを取り外す制御信号を受信すると、作業対象ツールと動力線６及び信号線７とを切り離すとともに、取り付け機構によるロックを解除して、作業対象ツールを取り外し可能とする。
【００１６】
さらに、ツール着脱装置２ｂは、動力線６の電流を測定するための電流計（図示せず）または動力線６の電圧を測定するための電圧計（図示せず）を有していてもよい。そしてツール着脱装置２ｂは、一定周期ごと、あるいは、制御装置４からの問い合わせに応じて、測定された電流値または電圧値を表す信号を、信号線５を介して制御装置４へ出力してもよい。
【００１７】
さらにまた、ツール着脱装置２ｂは、取り付けられた作業対象ツールを識別するための装置を有していてもよい。例えば、ツール着脱装置２ｂは、ツールの番号を設定してそのツール番号を出力するツール識別装置をツール着脱装置２ｂのツールに取り付ける側に備えていてもよい。ツール着脱装置２ｂは、ツール識別装置のツール番号を、信号線５を介して制御装置４へ出力する。
【００１８】
図２は、複数のツール３のうちの一つの概略構成図である。なお、複数のツール３のそれぞれは、図２に示される構成を有するので、以下では、一つのツールについてのみ説明する。ツール３は、可動部３１と、モータ３２と、エンコーダ３３とを有する。エンコーダ３３は、記憶部３４と、制御部３５と、絶対位置検出部３６とを有する。ツール３は、さらに、バッテリ（図示せず）及びブレーキ機構（図示せず）を有していてもよい。
【００１９】
可動部３１は、例えば、ロボット２による作業対象物を把持するハンド、あるいは、作業対象物を加工する溶接ガンといった、作業対象物に対して何らかの操作を行う部材である。可動部３１は、例えば、モータ３２の回転軸に直接あるいはギヤなどを介して間接的に取り付けられ、モータ３２により駆動されてその位置を変化させる。そして可動部３１は、ツール３がツール着脱装置２ｂから取り外されるときに、移動しないようにブレーキ機構によりロックされる。ブレーキ機構によるロックは、ツール３が再度ツール着脱装置２ｂに取り付けられ、電力供給を受けると解除される。
【００２０】
モータ３２は、動力部の一例であり、動力線６からの電力供給に応じて回転し、可動部３１を駆動する。
【００２１】
エンコーダ３３は、位置検出器の一例であり、例えば、モータ３２の回転軸、あるいは、モータ３２の回転軸とギヤにて接続される回転軸に取り付けられ、モータ３２の回転量を検出することで、可動部３１の位置を検出する。本実施形態では、エンコーダ３３は、原点からの回転角度に応じたパルス計数値を出力するアブソリュート型のロータリーエンコーダとすることができる。そしてエンコーダ３３は、エンコーダ３３が取り付けられた回転軸の原点からの回転角度を表すパルス計数値を制御装置４へ出力する。
【００２２】
記憶部３４は、例えば、揮発性の読み書き可能な半導体メモリを有する。そして記憶部３４は、可動部の位置を表す値を記憶する。上記のように、本実施形態では、エンコーダ３３はアブソリュート型のロータリーエンコーダであるため、記憶部３４は、エンコーダ３３が取り付けられた回転軸の原点からの回転数（以下、単にエンコーダ３３の回転数と呼ぶことがある）を記憶し、１回転以内の絶対位置情報（すなわち、１回転以内の原点からの回転角度）については記憶しなくてもよい。
【００２３】
記憶部３４は、例えば、バッテリ（図示せず）から供給される電力により、記憶部３４に書き込まれた情報を保持し続ける。したがって、ツール３がロボット２から取り外されても、記憶部３４は、エンコーダ３３の回転数を保持し続けることができる。
【００２４】
なお、記憶部３４は、不揮発性の読み書き可能な半導体メモリを有していてもよい。この場合には、ツール３がロボット２から取り外されて、制御装置４から電力供給を受けられなくなっても、記憶部３４に書き込まれた情報は保持され続けるので、ツール３はバッテリを有していなくてもよい。
【００２５】
制御装置４は、ツール３がロボット２に取り付けられている間、動力線６を介して電力を供給することでモータ３２を駆動する。また制御部３５は、絶対位置検出部３６から受信した信号に応じて、原点からのエンコーダ３３の回転数を計数し、その計数結果を記憶部３４に書き込む。例えば、制御部３５は、モータ３２が所定の向き（例えば、時計回り）に回転している場合に、１回転以内の基準となる絶対位置(例えば、ゼロ位置)を受信する度に、エンコーダ３３の回転数を１増やす。逆に、制御部３５は、モータ３２が所定の向きと逆の向き（例えば、反時計回り）に回転している場合に、１回転以内の基準となる絶対位置を絶対位置検出部３６から受信する度に、エンコーダ３３の回転数を１減らす。
【００２６】
さらに、制御部３５は、制御装置４から可動部３１の位置を問い合わせる信号を受信すると、記憶部３４からエンコーダ３３の回転数を読み込み、その回転数にエンコーダ３３の１回転に相当するパルス数を乗じた値に、絶対位置検出部３６から受信した、１回転以内の絶対位置を表すパルス数を加算して得られるパルス計数値を、可動部３１の位置を表す情報として算出する。そして制御部３５は、そのパルス計数値を、信号線７を介して制御装置４へ出力する。なお、エンコーダ３３が、モータ３２の回転軸とギヤを介して接続される回転軸に取り付けられる場合には、読み込んだ回転数にギヤ比を乗じて得られる値を用いてパルス計数値を算出してもよい。
【００２７】
なお、エンコーダ３３の１回転に相当するパルス数が数百〜数千以上となるような場合には、ツール着脱装置２ｂからの取り外し時において、可動部３１の位置を、ツールごとに異なる回転角度に相当する位置とすることが容易となる。そこで制御部３５は、絶対位置検出部３６から受信した、１回転以内の絶対位置を表すパルス数そのものを、可動部３１の位置を表すパルス計数値として、信号線７を介して制御装置４へ出力してもよい。
【００２８】
絶対位置検出部３６は、例えば、モータ３２の回転軸に取り付けられる円盤状の部材と、その円盤状の部材を挟んで互いに対向するように取り付けられるＬＥＤといった複数の光源とフォトダイオードといった複数の受光素子とを有する。円盤状の部材には、原点からの所定の回転角度ごとに、複数の光源と受光素子との間に、その回転角度を表す複数のスリットが形成される。したがって、絶対位置検出部３６は、対応する光源からの光を受光できた受光素子の組み合わせに基づいて、原点からの回転角度、すなわち、１回転以内の絶対位置を検出できる。
【００２９】
また、エンコーダ３３は、所定角度回転する度にパルスを出力するインクリメンタル型のロータリーエンコーダであってもよい。この場合には、エンコーダ３３は、絶対位置検出部３６の代わりにパルス検出部を有し、制御部３５は、可動部３１が原点に位置しているときから可動部３１の現在位置まで可動部３１が移動する間にパルス検出部から受信したパルスの総数をパルス計数値として記憶部３４に記憶すればよい。そして制御部３５は、制御装置４から可動部３１の位置の問い合わせを受けたときには、記憶部３４に記憶されているパルス計数値を、信号線７を介して制御装置４へ出力すればよい。なお、パルス検出部は、例えば、モータ３２の回転軸に取り付けられる円盤状の部材と、その円盤状の部材を挟んで互いに対向するように取り付けられるＬＥＤといった光源とフォトダイオードといった受光素子とを有する。円盤状の部材には、原点からの所定の回転角度ごとに、光源と受光素子との間にスリットが形成される。そのため、パルス検出部は、モータ３２の回転軸が所定の回転角度回転する度に、受光素子がスリットを介して光源からの光を受光することでパルスを出力する。
【００３０】
制御装置４は、例えば、ロボット２の動作を指定するプログラムに従って、あるいは、作業者の指示に従って、ロボット２のそれぞれの軸を駆動するサーボモータを制御することで、ロボット２の位置及び姿勢を制御する。また制御装置４は、複数のツール３のうち、動力線６及び信号線７を介して、ツール着脱装置２ｂに取り付けられた作業対象ツールと接続される。そして制御装置４は、動力線６及び信号線７を介して作業対象ツールを制御する。
【００３１】
図３Ａは、制御装置４の概略構成及び制御装置が有するプロセッサの機能ブロックを示す図である。制御装置４は、通信インターフェース４１と、駆動回路４２と、メモリ４３と、プロセッサ４４とを有する。さらに、制御装置４は、タッチパネルといったユーザインターフェース（図示せず）を有していてもよい。
【００３２】
通信インターフェース４１は、通信部の一例であり、例えば、制御装置４を信号線５及び信号線７と接続するための通信インターフェース及び信号線５及び信号線７を介した信号の送受信に関する処理を実行するための回路などを含む。そして通信インターフェース４１は、例えば、ツール３から、ツール着脱装置２ｂ及び信号線７を介して、可動部３１の位置を表すパルス計数値などを受信する。また、通信インターフェース４１は、プロセッサ４４から受信した、ツール３を取り外す制御信号を、信号線５を介してツール着脱装置２ｂへ出力する。
【００３３】
駆動回路４２は、動力線６を介してツール３と接続され、プロセッサ４４による制御に従って、ツール３が有するモータ３２に生じさせるトルク、回転方向あるいは回転速度に応じた電力を、動力線６を介してツール３へ供給する。
【００３４】
メモリ４３は、記憶部の一例であり、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。さらに、メモリ４３は、半導体メモリカード、ハードディスク、あるいは光記憶媒体といった記憶媒体及びその記憶媒体にアクセスする装置を有していてもよい。
【００３５】
メモリ４３は、制御装置４のプロセッサ４４で実行される、ロボット２の制御用の各種コンピュータプログラムなどを記憶する。また、メモリ４３は、プロセッサ４４で実行される、ツール３の取り外し可否判定及びツール３の識別に関する処理用のコンピュータプログラムを記憶する。さらに、メモリ４３は、ツール３の取り外し可否判定及びツール３の識別に関する処理で利用される各種の情報、例えば、登録されたツールの取り外し時の可動部３１の位置を表すパルス計数値及び取り外し可否判定処理または識別処理用の閾値などを記憶する。
【００３６】
プロセッサ４４は、制御部の一例であり、例えば、Central Processing Unit(CPU)及びその周辺回路を有する。さらにプロセッサ４４は、数値演算用のプロセッサを有していてもよい。そしてプロセッサ４４は、ロボットシステム１全体を制御する。またプロセッサ４４は、ツール３の取り外し可否判定及びツール３の識別に関する処理を実行する。
【００３７】
図３Ｂは、プロセッサ４４の機能ブロック図である。図３Ｂに示されるように、プロセッサ４４は、取り外し可否判定部５１と、識別部５２とを有する。プロセッサ４４が有するこれらの各部は、例えば、プロセッサ４４上で実行されるコンピュータプログラムにより実現される機能モジュールである。あるいは、これらの各部は、プロセッサ４４の一部に実装される専用の演算回路として実装されてもよい。
【００３８】
取り外し可否判定部５１は、プロセッサ４４上で実行されるコンピュータプログラムにより、ツール着脱装置２ｂに取り付けられた作業対象ツールを取り外すことが指示されると、あるいは、ユーザインターフェースを介して作業者によりツール着脱装置２ｂに取り付けられた作業対象ツールを取り外すことが指示されると、作業対象ツールを取り外すことが可能か否かを判定する。
【００３９】
図４は、取り外し可否判定処理の動作フローチャートである。取り外し可否判定部５１は、作業対象ツールの取り外しを指示される度に、以下の動作フローチャートに従って取り外し可否判定処理を実行する。
【００４０】
取り外し可否判定部５１は、通信インターフェース４１及び信号線７を介して作業対象ツールへ現在の可動部３１の位置を問い合わせる（ステップＳ１０１）。そして取り外し可否判定部５１は、作業対象ツールから信号線７及び通信インターフェース４１を介して可動部３１の位置を表すパルス計数値を受信する。
【００４１】
パルス計数値を受信すると、取り外し可否判定部５１は、メモリ４３に記憶されている、登録されたツールのそれぞれについて、その登録されたツールがツール着脱装置２ｂから取り外された時のパルス計数値（以下、説明の便宜上、取り外し計数値と呼ぶ）と受信したパルス計数値間の差が第１の閾値Th1以上か否か判定する（ステップＳ１０２）。
【００４２】
登録されたツールの何れかについて、取り外し計数値と受信したパルス計数値間の差が第１の閾値Th1未満であれば（ステップＳ１０２−Ｎｏ）、取り外し可否判定部５１は、作業者に取り外しが不可能な位置であることを、ユーザインターフェースを介して通知する。この場合、作業者は、ユーザインターフェースを介して、可動部の位置を移動させた後、再度取り外しの指示をすればよい。または、取り外し可否判定部５１は、メモリ４３に記憶されている全てのパルス計数値との差が閾値Th1以上となるパルス計数値となるように作業対象ツールの記憶部３４に記憶されたエンコーダ３３の原点からの回転数に任意の回転数を加算または減算してもよい。そして取り外し可否判定部５１は、可動部の基準位置（例えば、原点となるゼロ度位置）に対応するパルス計数値に、その任意の回転数分のパルス数を加算または減算した値を、可動部の基準位置に対応する新たなパルス計数値として設定し直し、現在の取り外し位置に対応するパルス計数値とメモリ４３に記憶されているパルス計数値との差が閾値Th1未満にならないようにしてもよい。あるいはまた、取り外し可否判定部５１は、駆動回路４２及び動力線６を介して、作業対象ツールへ電力を供給し、所定量だけ可動部３１を移動させてもよい（ステップＳ１０３）。これにより、可動部が自動で取り外し可能な位置に移動するため、作業者は、取り外しが可能な位置を知ることができ、その位置で再度取り外し指示を出して、ツールを取り外せる。なお、所定量は、予め設定された値、あるいは、メモリ４３に記憶されている全ての取り外し計数値と受信したパルス計数値との差が第１の閾値Th1以上となる値とすることができる。
【００４３】
取り外し可否判定部５１は、所定量だけ可動部３１を移動させる電力を作業対象ツールへ供給してから所定時間が経過した後、ステップＳ１０１以降の処理を再度実行する。なお、所定時間は、例えば、可動部３１が所定量移動するのに十分な時間に設定されればよい。
【００４４】
一方、登録されたツールのそれぞれについて、取り外し計数値と受信したパルス計数値間の差が第１の閾値Th1以上であれば（ステップＳ１０２−Ｙｅｓ）、取り外し可否判定部５１は、作業対象ツールを取り外し可能と判定する。そして取り外し可否判定部５１は、受信したパルス計数値を、現時点でツール着脱装置２ｂに取り付けられている作業対象ツールの取り外し計数値としてメモリ４３に記憶することで、作業対象ツールを新たに登録する（ステップＳ１０４）。そして取り外し可否判定部５１は、作業対象ツールを取り外し可能とする制御信号を、通信インターフェース４１及び信号線５を介してツール着脱装置２ｂへ出力する（ステップＳ１０５）。なお、取り外し可否判定部５１は、信号線７を介して作業対象ツールからの信号を受信できなくなり、かつ、電流計または電圧計により測定された、動力線６の電流値または電圧値が所定の閾値未満となった場合に、作業対象ツールが取り外されたと判定することができる。そして取り外し可否判定部５１は、取り外し可否判定処理を終了する。
【００４５】
以上により、登録されたツールごとに、異なる取り外し計数値がメモリ４３に記憶されることになる。そのため、制御装置４は、ツール着脱装置２ｂから、取り付けられているツール３の識別情報を受信しなくても、取り外し計数値によってツール３を識別することができる。
【００４６】
図５は、メモリ４３に記憶される取り外し計数値の一例を示す図である。表５００に示されるように、ツールごとに、異なる取り外し計数値が記録される。なお、表５００では、ツールの番号が記載されているが、このツールの番号は、説明の便宜上示されるものであり、メモリ４３には記憶されなくてもよい。あるいは、取り外し可否判定部５１が、メモリ４３に取り外し計数値を書き込む際に、個々の取り外し計数値に対して一意な番号をその取り外し計数値とともにメモリ４３に書き込んでもよい。その際、取り付けられた作業対象ツールの識別信号をツール着脱装置２ｂが出力する場合には、取り外し可否判定部５１は、作業対象ツールの識別信号で表された識別番号を、取り外し計数値とともにメモリ４３に書き込んでもよい。
【００４７】
識別部５２は、複数のツール３の何れかがツール着脱装置２ｂに取り付けられるときに、その取り付けられる作業対象ツールを識別する。
【００４８】
図６は、識別処理の動作フローチャートである。識別部５２は、ツール３の取り付けを指示される度に、以下の動作フローチャートに従って識別処理を実行する。
識別部５２は、通信インターフェース４１及び信号線７を介して、ツール着脱装置２ｂに取り付けられた作業対象ツールへ現在の可動部３１の位置を問い合わせる（ステップＳ２０１）。そして識別部５２は、作業対象ツールから信号線７及び通信インターフェース４１を介して可動部３１の位置を表すパルス計数値を受信する。
【００４９】
パルス計数値を受信すると、識別部５２は、登録されたツールのそれぞれについての取り外し計数値をメモリ４３から読み込み、登録されたツールごとに読み込んだ取り外し計数値と受信したパルス計数値間の差を算出し、その差の最小値を求める（ステップＳ２０２）。
【００５０】
識別部５２は、差の最小値が第２の閾値Th2未満か否か判定する（ステップＳ２０３）。差の最小値が第２の閾値Th2未満であれば（ステップＳ２０３−Ｙｅｓ）、識別部５２は、作業対象ツールを、差が最小値となる取り外し計数値に対応する登録ツールであると判定する（ステップＳ２０４）。この場合、識別部５２は、作業対象ツールが登録ツールと同一であることを、ユーザインターフェースを介して作業者に報知してもよい。さらに、識別部５２は、ロボット２または作業対象ツールを動作可能にしてもよい。
【００５１】
一方、差の最小値が第２の閾値Th2以上であれば（ステップＳ２０３−Ｎｏ）、識別部５２は、作業対象ツールを、登録されたツールの何れとも異なると判定する（ステップＳ２０５）。この場合には、識別部５２は、作業対象ツールが登録されたツールの何れとも異なることを、ユーザインターフェースを介して作業者に報知してもよい。さらに、識別部５２は、ロボット２または作業対象ツールを動作させないようにしてもよい。この場合、作業者がユーザインターフェースを介して可動部３１の基準位置に相当するパルス計数値を登録すると、識別部５２は、ロボット２または作業対象ツールを動作可能としてもよい。
【００５２】
ステップＳ２０４またはＳ２０５の後、識別部５２は、識別処理を終了する。
【００５３】
なお、第２の閾値Th2は、例えば、ツール３がツール着脱装置２ｂから取り外される際に、ブレーキ機構にて可動部３１がロックされるまでの間における、可動部３１の最大移動量に相当する値とすることができる。また、第１の閾値Th1は、例えば、第２の閾値Th2に所定のマージンを加えた値とすることができる。
【００５４】
また、識別部５２により、ツール着脱装置２ｂに取り付けられた作業対象ツールが、登録されたツールの何れかと同一であると判定された場合、取り外し可否判定部５１は、メモリ４３に記憶されたその作業対象ツールの取り外し計数値を削除するか、その作業対象ツールが再度取り外されるときにおいて、同一と判定された登録ツールについての取り外し計数値をステップＳ１０２の処理の対象外としてもよい。さらに、識別部５２により、ツール着脱装置２ｂに取り付けられた作業対象ツールが、登録されたツールの何れかと同一であると判定された場合、取り外し可否判定部５１は、その作業対象ツールが取り外されるときにおいて、同一と判定された登録ツールについての取り外し計数値で指定される位置へ可動部３１を移動させる電力を、駆動回路４２及び動力線６を介して、ツール着脱装置２ｂに取り付けられた作業対象ツールへ供給してもよい。これにより、制御装置４は、ツール着脱装置２ｂに対して着脱が複数回繰り返されるツールについては、ツール着脱装置２ｂから取り外す度に同じ位置に可動部３１を移動させることができる。
【００５５】
なお、ツール着脱装置２ｂに取り付けられた作業対象ツールの制御部３５が、所定の周期ごとにパルス計数値を出力する場合、あるいは、制御装置４からの制御に従って可動部３１を目的位置まで移動させる度にパルス計数値を出力する場合には、図４におけるステップＳ１０１、及び、図６におけるステップＳ２０１において、プロセッサ４４は、可動部の位置を問い合わせなくてもよい。
【００５６】
以上に説明してきたように、この制御装置は、ロボットのツール着脱装置に取り付けられたツールを取り外す際、ツールごとにそのツールの可動部の位置が異なるように制御する。そしてこの制御装置は、ツール着脱装置にツールが取り付けられる際に、そのツールの可動部の位置と過去にツール着脱装置に取り付けられた他のツールの可動部の位置とを比較することで、取り付けられるツールを識別できる。そのため、この制御装置は、ツール着脱装置から、取り付けられるツールの識別情報を受信しなくても、そのツールを識別できる。したがって、この制御装置は、ロボットに取り付けられているツールを正確に識別することができる。またこれにより、制御装置が識別しているツールと実際にツール着脱装置に取り付けられているツールとが異なることが防止されるので、想定外のツールの動作によって危険が生じることが抑制される。
【００５７】
なお、変形例によれば、ツール３は、可動部を駆動する複数のモータ、及び、モータごとに設けられる複数のエンコーダを有していてもよい。なお、複数のモータは、一つの可動部の異なる部分を駆動するものであってよく、あるいは、複数の可動部のうちの互いに異なるものを駆動してもよい。この場合には、ツール着脱装置２ｂに取り付けられた作業対象ツールは、制御装置４から可動部の位置の問い合わせを受けると、エンコーダごとのパルス計数値を、可動部の位置を表す信号として、信号線７を介して制御装置４へ送信してもよい。そして制御装置４のプロセッサ４４の取り外し可否判定部５１は、受信したエンコーダごとのパルス計数値を、メモリ４３に記憶されている、登録されたツールのエンコーダごとの取り外し計数値と比較してもよい。そして取り外し可否判定部５１は、受信したエンコーダごとのパルス計数値のうちの少なくとも一つについて、登録されたツールの何れについても、取り外し計数値との差が第１の閾値以上であれば、作業対象ツールをツール着脱装置２ｂから取り外し可能と判定してもよい。そして取り外し可否判定部５１は、作業対象ツールから受信した各エンコーダのパルス計数値を、その作業対象ツールについての取り外し計数値としてメモリ４３に記憶してもよい。この場合、識別部５２は、ツール着脱装置２ｂから一旦取り外された作業対象ツールが再度ツール着脱装置２ｂに取り付けられる時、作業対象ツールから受信した各エンコーダのそれぞれのパルス計数値を、メモリ４３に記憶されているそれぞれの登録されたツールの各エンコーダの取り外し計数値と比較する。そして識別部５２は、何れのパルス計数値についても取り外し計数値との差が第２の閾値未満となる場合に、作業対象ツールは、それら取り外し計数値の組に対応する登録ツールであると判定すればよい。また、識別部５２は、何れのパルス計数値についても差が第２の閾値未満となる取り外し計数値の組がメモリ４３に記憶されていなければ、作業対象ツールは、登録されたツールの何れとも異なると判定すればよい。
【００５８】
図７は、この変形例による、メモリ４３に記憶される取り外し計数値の他の一例を示す図である。この変形例では、表７００に示されるように、登録されたツールごとに、二つ以上の取り外し計数値の組が記録される。例えば、ツール１については、取り外し計数値’1234567’と’2345678’とが記憶されている。また、ツール２については、取り外し計数値’3456789’と’4567890’とが記憶されている。また、第１及び第２の閾値がそれぞれ10であるとする。この場合、ツール着脱装置２ｂに取り付けられている作業対象ツールを取り外す場合において、制御装置４が作業対象ツールから受信したパルス計数値が’1234567’と’4567890’である場合、ツール１とツール２の何れについても、少なくとも一方のパルス計数値と取り外し計数値間の差が第１の閾値以上となるため、取り外し可否判定部５１は、作業対象ツールを取り外し可能と判定する。一方、制御装置４が作業対象ツールから受信したパルス計数値が’1234569’と’2345677’である場合、ツール１に対して、何れのパルス計数値についても取り外し計数値との差が第１の閾値未満となるため、取り外し可否判定部５１は、作業対象ツールを取り外し不可と判定する。そして取り外し可否判定部５１は、作業対象ツールに対して、少なくとも一方のモータを回転して可動部を移動させるよう指示する。
【００５９】
また、作業対象ツールをツール着脱装置２ｂに取り付ける場合において、制御装置４が作業対象ツールから受信したパルス計数値が’1234567’と’4567890’である場合、ツール１とツール２の何れについても、少なくとも一方のパルス計数値と取り外し計数値間の差が第２の閾値以上となるため、識別部５２は、作業対象ツールをツール１及びツール２の何れでもないと判定する。一方、制御装置４が作業対象ツールから受信したパルス計数値が’1234569’と’2345677’である場合、ツール１に対して、何れのパルス計数値についても取り外し計数値との差が第２の閾値未満となるため、識別部５２は、作業対象ツールはツール１であると判定する。
【００６０】
この変形例によれば、ツールの識別に複数のパルス計数値が用いられるので、制御装置は、ツールを識別することがより正確となる。
【００６１】
なお、取り外し可否判定部５１は、受信したエンコーダごとのパルス計数値の何れについても、登録されたツールのそれぞれに対して、取り外し計数値との差が第１の閾値以上となる場合に限り、作業対象ツールをツール着脱装置２ｂから取り外し可能と判定してもよい。
【００６２】
あるいは、ツール３が複数のモータ及び複数のエンコーダを有する場合であっても、取り外し可否判定部５１は、複数のエンコーダのうちの何れか一つについてのパルス計数値のみを、取り外し可否判定処理に利用してもよい。同様に、識別部５２も、複数のエンコーダのうちの何れか一つについてのパルス計数値のみを、識別処理に利用してもよい。この場合、ツール着脱装置２ｂからツールが取り外された時に、複数のモータのうち、ブレーキ機構により回転がロックされるモータの回転数を検知するためのエンコーダについてのパルス計数値が取り外し可否判定処理及び識別処理で利用されることが好ましい。
【００６３】
あるいはまた、作業対象ツールの制御部３５は、制御装置４から、可動部の位置の問い合わせを受けると、各エンコーダのパルス計数値の合計を算出し、その合計を、信号線７を介して制御装置４へ出力してもよい。そして取り外し可否判定部５１は、各エンコーダのパルス計数値の合計を一つのパルス計数値として、取り外し可否判定処理に用いてもよい。同様に、識別部５２は、各エンコーダのパルス計数値の合計を一つのパルス計数値として、識別処理に用いてもよい。この場合、ツールによってエンコーダの数が異なる場合でも、制御装置４は、上記の実施形態と同様の処理を行うことで、取り外しの可否、及び、ツールの識別を行うことができる。
【００６４】
また上記の実施形態または変形例において、作業対象ツールがブレーキ機構を有さず、作業対象ツールがツール着脱装置２ｂから取り外されると、可動部３１が動いてしまう場合、取り外し可否判定部５１及び識別部５２は、後述する処理によって可動部３１が移動する特定の位置におけるパルス計数値を、取り外し可否判定処理及び識別処理に利用してもよい。
【００６５】
この場合、作業対象ツールが最初にツール着脱装置２ｂに取り付けられたあとに、作業対象ツールの取り外し可否を判定するため、可動部３１の動作を指定するプログラムに従って、あるいは、作業者の指示に従って、取り外し可否判定部５１は、作業対象ツールのモータ３２を所定の方向へ回転させる。そして取り外し可否判定部５１は、可動部３１が作業対象ツールに設けられた参照点に達したときのパルス計数値を作業対象ツールから受信して、受信したパルス計数値に基づいて取り外し可否判定処理を実行すればよい。この取り外し可否判定処理のステップＳ１０１は、可動部３１が参照点に達したことを検知すると、作業対象ツールの制御部３５がパルス計数値を取り外し可否判定部５１に出力する処理に代わる。また、ステップＳ１０３では、取り外し可否判定部５１は、可動部を所定量だけ移動させるのではなく、作業者に取り外しが不可能な参照点であることを、ユーザインターフェースを介して通知する。この場合、作業者は、ツールの参照点の位置を変更した後、作業対象ツールの取り外し可否判定を再度指示すればよい。または、取り外し可否判定部５１は、メモリ４３に記憶されている全てのパルス計数値との差が閾値Th1以上となるパルス計数値となるように作業対象ツールの記憶部３４に記憶されたエンコーダ３３の原点からの回転数に任意の回転数を加算または減算してもよい。ステップＳ１０５は、別途ツール取り外しの指示がプログラムまたは作業者から行われた場合に実行される。なお、この参照点は、可動部の特定の位置の一例であり、作業対象ツールに取り付けられたリミットスイッチまたは可動部の動作範囲の端の位置等である。可動部３１が参照点に到達したことは、リミットスイッチからの信号または可動部が動作範囲の端に達した時のモータ３２の接触トルクで検知できる。また、取り外しの可否判定を作業対象ツールの取り付け時に行っているので、ツール着脱装置２ｂからの作業対象ツールの取り外しの際には、可動部３１がどの位置にあっても作業対象ツールを取り外せる。なお、取り外し可否判定はツールを初めて取り付ける時に１度だけ実行すればよい。
【００６６】
作業対象ツールがツール着脱装置２ｂに再度取り付けられる時には、識別部５２は、モータ３２を所定の方向へ回転させるため、駆動回路４２及び動力線６を介して作業対象ツールへ電力を供給し、可動部３１が参照点に達したときのパルス計数値を受信して、上記の実施形態と同様の識別処理を実行すればよい。
以上により、ツールがブレーキ機構を有さない場合でも、制御装置は、ロボットに取り付けられたツールを識別することができる。
【００６７】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００６８】
１    ロボットシステム
２    ロボット
３    ツール
３１    可動部
３２    モータ
３３    エンコーダ
３４    記憶部
３５    制御部
３６    絶対位置検出部
４    制御装置
４１    通信インターフェース
４２    駆動回路
４３    メモリ
４４    プロセッサ
５１    取り外し可否判定部
５２    識別部
５、７    信号線
６    動力線
【図１】
2020082211.tif 000003
【図２】
2020082211.tif 000004
【図３Ａ】
2020082211.tif 000005
【図３Ｂ】
2020082211.tif 000006
【図４】
2020082211.tif 000007
【図５】
2020082211.tif 000008
【図６】
2020082211.tif 000009
【図７】
2020082211.tif 000010