ロボット制御システム
【課題】
1台の可搬式操作部を複数のコントローラにつなぎ換えて使用する場合、操作者のミスにより意図せぬロボットと接続してしまい、意図せぬロボットを操作してしまうことを防止する。
【解決手段】
ロボット制御システム30では、ロボットRには、ロボット個体別IDが表示されている。ティーチペンダント10には、ロボット個体別IDを入力するキーボード16と、キーボード16により入力されたロボット個体別IDを無線LANに出力するCPU11を備える。コントローラ20は、送信されたロボット個体別IDが、該コントローラ20が制御するロボットのロボット個体別ID(識別情報)と一致する場合に、該ロボットを駆動する駆動源の電力供給をモータ運転許可承認メッセージにて許可する。
1台の可搬式操作部を複数のコントローラにつなぎ換えて使用する場合、操作者のミスにより意図せぬロボットと接続してしまい、意図せぬロボットを操作してしまうことを防止する。
【解決手段】
ロボット制御システム30では、ロボットRには、ロボット個体別IDが表示されている。ティーチペンダント10には、ロボット個体別IDを入力するキーボード16と、キーボード16により入力されたロボット個体別IDを無線LANに出力するCPU11を備える。コントローラ20は、送信されたロボット個体別IDが、該コントローラ20が制御するロボットのロボット個体別ID(識別情報)と一致する場合に、該ロボットを駆動する駆動源の電力供給をモータ運転許可承認メッセージにて許可する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ティーチペンダント(以下、TPという)とロボットコントローラ(以下、コントローラという)とが、無線LANや有線LAN等で接続される際、TPの接続により意図せぬロボットを誤操作してしまうことを防止するロボット制御システムに関する。
【背景技術】
【0002】
従来から、コントローラ(ロボット制御装置)とロボットマニピュレータが一対一で対応しているシステムが提案されている。例えば、この技術は特許文献1において従来技術として取り挙げられている。この種のシステムの場合、TPとコントローラ、ロボットマニピュレータは常に一対になっている。このため、仮にこのシステムが複数台並んだ生産ラインを考えた場合、各TPで動作するロボットマニピュレータは確定されていることから、特定のTPによる操作によって、該TPと一対一で対応しているマニピュレータ以外の他のマニピュレータが意図せずして動いてしまうことはない。
【0003】
特許文献1では、この従来技術に対して、1台の制御装置(コントローラ)で2台以上のロボットの教示プログラムを記憶し、2台以上のロボットの該教示プログラムの再生運転を制御するシステムが提案されている。このシステムでは、コントローラにおいて、教示プログラム記憶部の教示プログラム識別部に、ロボット識別部と作業識別部とが設けられ、教示プログラムの選択手段にロボット選択手段と作業選択手段とが設けられている。そして、該ロボット選択手段により教示プログラムが選択された場合には、選択されたロボットの全作業プログラムが選択されるとともに、該作業選択手段により、教示プログラムが選択された場合には、選択された作業の全ロボットの該プログラムが選択される。そして、該ロボット選択手段及び作業選択手段の両方が選択された場合には、選択された作業ロボットの選択された作業プログラムが選択できるようにされている。
【0004】
このシステムの場合、例えば1つのロボットで作成された教示プログラムが他のロボットで再生されてしまうことがないため、該他のロボットが予期せぬ動作に至ることはない。
【0005】
又、特許文献2では、一台のコントローラに対して複数のTPが接続できるように複数のコネクタボックスを有するロボット制御装置が提案されている。このロボット制御装置は、接続されている複数のTPから情報が出力されているときにはそのいずれか一つの情報を受け入れると共にコントローラからの情報を複数のTPに対等に入力する制限手段と、前記コントローラと前記TPとの間で授受される信号を一時記憶するバッファとを有する。
【0006】
特許文献2では、接続されている複数のTPから情報が出力されているときには、その情報はそれぞれ異なるデータバッファに一旦ストアされ、排他的論理素子を介してコントローラがそのいずれか一つの情報を受け入れるようにされている。上記構成によれば、複数のTPから単一のコントローラに情報が出力されたときに、データバッファに一次記憶してデータの衝突の回避を図ることにより、一方のTPを操作している操作者の指令により、他方のTPを操作している操作者にとってロボットマニピュレータが予期せぬ動きをして、該操作者に危険が及ばないようにしている。
【0007】
特許文献3では、通電状態でTPのコネクタの抜き差しを行ってもロボットが停止することなく、しかも数多くのロボットを制御する上位の制御装置によって制御される全てのロボットが停止しないロボット制御装置が提案されている。この特許文献3では明記されていないものの、一台のTPを複数のコントローラに使い回すことができる可能性が示唆されている。
【0008】
上記特許文献1〜3に記載の従来技術では下記のようにまとめることができる。
1)コントローラとTPが一対一で、かつ一台のコントローラに対して複数のロボットマニピュレータが接続される場合、操作者が予期せぬロボットマニピュレータを操作してしまう危険性については、従来技術では既に考慮がなされている(特許文献1,特許文献2)。
【0009】
2)一台のTPを複数のコントローラに使い回すことができる可能性が示唆されている(特許文献2,特許文献3)。
なお、上記1)2)から推測される、複数のコントローラ及び複数のロボットマニピュレータに対して一台のTPを使い回したりする場合、操作者が意図しないロボットマニピュレータを誤って操作してしまう問題については、上記従来技術では、考慮されていない。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平5−119827号公報、「産業用ロボットの作業プログラム選択方法」
【特許文献2】特許第2884912、「ロボット制御装置」
【特許文献3】特開2003−136447号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
ところで、近年、ネットワーク技術や、非有線通信技術が発達し、又、USB(Universal Serial Bus)や、IEEE1394(Institute of Electrical and Electronic Engineers 1394 )等に見られるように、電源が入った状態でケーブルの挿抜や接続できる電気的通信手段が確立してきている。例えば、図28(a)は、1台のティーチペンダントTPと、ロボットを制御する複数のコントローラC10〜C12とが無線を介して交信を行う場合を示している。又、図28(b)は、同じく1台のTPとロボットを制御する複数のコントローラC20〜C22とがLAN(ローカルエリアネットワーク)を介して交信を行う場合を示している。なお、LAN(ローカルエリアネットワーク)には有線LAN及び無線LANを含む。このような技術状況において、1台のTPを、ロボットが稼働状態の複数台のコントローラにつなぎ換えて使用する場合が考えられる。この利点には、以下のものがある。
【0012】
1) TPの数を減らす事による省スペース化
2) TPの数を減らす事によるコスト削減
3) TPを非有線化にした場合は、ケーブルレスによる作業性の向上
4) TPを非有線化にした場合は、断線がなくなるための信頼性向上
ところが、その際に一番問題になるのが、操作者の安全の確保である。仮に、複数台のコントローラから所望の接続先であるコントローラを選択できない場合には、意図せぬコントローラにTPが接続されてしまい、TPからの操作により意図せぬロボットを動作させてしまう可能性があり、操作者の安全が確保できない問題がある。
【0013】
本発明の目的は、1台の可搬式操作部を、複数のコントローラにつなぎ換えて使用する場合、操作者のミスにより意図せぬロボットと接続してしまい、意図せぬロボットを操作してしまうことを防止するロボット制御システムを提供することにある。
【課題を解決するための手段】
【0014】
上記問題点を解決するために、請求項1に記載の発明は、可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、前記ロボットには、ロボット個体別IDが表示されており、前記可搬式操作部には、ロボット個体別IDを入力する入力手段と、該入力手段により入力されたロボット個体別IDを前記ネットワーク手段、或いは前記非有線通信手段に出力する出力手段を備え、前記コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御するロボットの識別情報と一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とするロボット制御システムを要旨とするものである。
【0015】
なお、非有線通信とは、無線通信(通信媒体:電波)、赤外線通信、光通信、或いは磁気通信を含み、いずれもワイヤレスで行う伝送方式のことをいう。
請求項2の発明は、請求項1において、前記コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御するロボットの識別情報と一致するか否かを判別し、前記ロボット個体別IDを送信した可搬式操作部に対してその判別結果を送信し、前記可搬式操作部には、該判別結果を表示する判別結果表示手段を備えたことを特徴とする。
【0016】
請求項3の発明は、可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、前記ロボットには、該ロボット固有の点滅パターンでコントローラにより点滅御される表示灯が備えられており、前記可搬式操作部には、前記点滅パターンを入力可能な入力手段と、該入力手段により入力された点滅パターンを前記ネットワーク手段、或いは前記非有線通信手段に出力する出力手段を備え、前記コントローラは、前記送信された点滅パターンが、該コントローラが制御する表示灯の点滅パターンと一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とするロボット制御システムを要旨とするものである。
【0017】
請求項4の発明は、請求項1乃至請求項3のいずれか1項において、前記コントローラのうち少なくとも1つのコントローラは、複数のロボットを制御することが可能であり、該コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御する複数のロボットの識別情報と一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とする。
【0018】
請求項5の発明は、可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、前記コントローラには、前記可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して受信した情報に含まれる認証対象データと、コントローラの記憶手段に格納された認証基礎データとが一致するか否かを判定し、一致した一台の可搬式操作部に対してのみ該コントローラを操作する権限を付与する認証手段を設けたことを特徴とするロボット制御システムを要旨とするものである。
【発明の効果】
【0019】
以上詳述したように、請求項1乃至請求項5の発明によれば、1台の可搬式操作部を、複数のコントローラにつなぎ換えて使用する場合、操作者のミスにより意図せぬロボットと接続してしまい、意図せぬロボットを操作してしまうことを防止することができる。
【0020】
また、請求項1の発明は、操作者が操作対象として認識しているロボットと、操作者の操作によって実際に動作するロボットが一致している場合に限り、ロボットのアームを駆動するモータへの動力の供給が可能になり、操作者が意図していないロボットを動作させてしまうことを、事前に回避することが可能となる。
【0021】
請求項2の発明は、可搬式操作部から送信されたロボット個体別IDがコントローラが制御するロボットの識別情報と一致するか否かの判別結果が、判別結果表示手段により表示されるため、操作者は、その判別結果を容易に知ることができる。この結果、操作者は、判別結果の表示によってさらに、操作者が意図していないロボットを動作させてしまうことを、事前に回避することが可能となる。
【0022】
請求項3の発明によれば、請求項1と同様の効果を奏する。
請求項4の発明によれば、1台のコントローラに複数台のロボットが接続される接続形態においても、可搬式操作部、コントローラ、ロボットの接続確認をロボット毎に認証することができるため、操作者が操作対象を誤ることを回避することができる。
【0023】
請求項5の発明によれば、可搬式操作部とコントローラ間の通信が、ネットワーク手段や非有線通信手段を経由して行われる環境において、コントローラとの通信が可能な複数の可搬式操作部が存在しても、任意の可搬式操作部、任意のコントローラとの問に、一対一の接続関係が確立される。そして、接続関係が確立した可搬式操作部からの指示によってのみ、同コントローラを操作することができることにより、同コントローラから操作権限を与えられていない可搬式操作部を持つ操作者の介入を遮断することが可能となり、操作者の安全性を確保することができる。
【図面の簡単な説明】
【0024】
【図1】参考例1のロボット制御システムのコントローラとティーチペンダントのブロック回路図。
【図2】同じくCPU11が実行する接続先検索処理のフローチャート。
【図3】同じくコントローラIDをコントローラ20A〜20Cに記名した状態を表す説明図。
【図4】参考例2のロボット制御システムのコントローラとティーチペンダントのブロック回路図。
【図5】(a)はCPU11が実行するSWの状態変化監視処理プログラムのフローチャート、(b)はCPU11が実行する表示状態切替通知処理プログラムのフローチャート。
【図6】同じく該CPU21が実行する確認表示灯On/Off処理プログラムのフローチャート。
【図7】本発明の第1実施形態のロボット制御システムのコントローラのブロック回路図。
【図8】同じくCPU11が実行する第1モータ運転許可管理処理プログラムのフローチャート。
【図9】同じくCPU21が実行するID認証処理プログラムのフローチャート。
【図10】同じくモータ運転許可要求メッセージの説明図。
【図11】同じくモータ運転許可承認メッセージの説明図。
【図12】同じくCPU11が実行する第2モータ運転許可管理処理プログラムのフローチャート。
【図13】第2実施形態のロボット制御システムのコントローラのブロック回路図。
【図14】同じくCPU11が実行する第2モータ運転許可管理処理プログラムのフローチャート。
【図15】同じくCPU21が実行するID認証処理プログラムのフローチャート。
【図16】(a)〜(c)は認証用点滅パターンと入力パターンの例を示す説明図。
【図17】同じくモータ運転許可要求メッセージの説明図。
【図18】同じくモータ運転許可承認メッセージの説明図。
【図19】第3実施形態のロボット制御システムのコントローラのブロック回路図。
【図20】同じく認証IDリスト249の説明図。
【図21】第4実施形態のロボット制御システムのコントローラのブロック回路図。
【図22】複数のティーチペンダントからコントローラが操作されていまう例の説明図。
【図23】CPU11が実行するスイッチ監視処理プログラムのフローチャート
【図24】CPU21が実行するTPID認証処理プログラム226のフローチャート。
【図25】接続要求時のティーチペンダントとコントローラの説明図。
【図26】(a)は接続認証要求メッセージの説明図、(b)は、接続認証要求メッセージの説明図、(c)は、切断要求メッセージの説明図、(d)は切断要求メッセージの説明図。
【図27】第4実施形態のCPU11が実行するコントローラ接続処理プログラムのフローチャート。
【図28】(a)は無線LANにティーチペンダントとコントローラが接続される接続形態を表す説明図、(b)は有線LANにティーチペンダントとコントローラが接続される接続形態を表す説明図。
【発明を実施するための形態】
【0025】
(参考例1)
まず、教示装置である可搬式操作部としてのティーチペンダント10と複数のコントローラ20A〜20Cとが無線LANを介して通信を行うロボット制御システム30の参考例1を図1及び図2を参照して説明する。このロボット制御システム30のコントローラ20A〜20Cがそれぞれ制御するロボットR1〜R3は、例えば溶接ロボットである、なお、ロボットは、溶接ロボットに限定されるものではなく、例えば搬送ロボット等の他のロボットであってもよい。なお、各コントローラの構成は同じであるため、コントローラ20Aの構成について以下では説明し、他のコントローラの説明を省略する。
【0026】
なお、説明の便宜上、以下の説明ではコントローラ20A〜20Cのいずれかを特定しない場合には、コントローラには20の符号を付す。同様に、ロボットR1〜R3のいずれかを特定しない場合には、ロボットにはRの符号を付す。
【0027】
(1. ティーチペンダント10)
図1に示すように可搬式操作部としてのティーチペンダント10はCPU11、ROM12、RAM13、ハードディスク14、LANI/F15、キーボード16(図3参照)、液晶ディスプレイ17(図3参照)及び有線・無線変換器18の各部を備えているとともに各部はバス19を介して接続されている。
【0028】
ティーチペンダント10のROM12には、ティーチペンダント10からのロボットR1の操作やティーチペンダント10との通信を実行するための各種制御プログラムとその制御定数が格納される。RAM13は、CPU11のワーキングエリアとして用いられ、計算途中のデータが一時的に格納される。ハードディスク14には、各種制御プログラムの実行変数等が格納される。例えば、ティーチペンダント10のアドレス(TPIP140)や、ティーチペンダント10の識別情報(TPID141)等が格納されている。LANI/F15はコントローラ20との接続に使用される通信機である。有線・無線変換器18は、LANI/F15を介して出力されたデータを無線で送信したり、コントローラ20から無線送信されたデータを受信してLANI/F15に該データを出力する。
【0029】
本参考例1のCPU11は、返信要求手段、及び接続構築手段に相当する。又、キーボード16は選択操作手段に相当する。液晶ディスプレイ17は、表示手段に相当する。
(2. コントローラ20A)
コントローラ20Aは、CPU21、ROM22、RAM23、ハードディスク24、LANI/F25、タイマ26、サーボドライバ27及び有線・無線変換器28の各部を備えているとともに各部はバス29を介して接続されている。前記ROM22には、該コントローラ20Aが制御対象とするロボットR1の動作制御を実行するための制御プログラムとその制御定数や、例えば、自身のID通知を行うためのID通知処理プログラム220等の各種プログラムが格納される。なお、図1では、説明の便宜上、ID通知処理プログラム220のみが図示されている。RAM23は、CPU21のワーキングエリアとして用いられ、計算途中のデータが一時的に格納される。ハードディスク24には、ロボットR1の作業が教示されたデータや、制御プログラムの実行条件、ならびに各種の制御変数が格納される。なお、ハードディスク24に代えて、他の書換可能な記憶装置であってもよい。LANI/F25は、ティーチペンダント10との接続に使用される通信機である。サーボドライバ27は、ロボットR1の各関節を駆動する図示しないモータに接続され、該モータに通電させる電流を制御する。タイマ26は、定期時刻ごとに同期信号を発生する。該同期信号は、サーボドライバ27への指令値の更新タイミングに使用される。
【0030】
本参考例1では、ティーチペンダント10のLANI/F15、有線・無線変換器18、コントローラ20AのLANI/F25、有線・無線変換器28とにより、無線LANからなるネットワーク手段が構成されている。なお、無線LANでは通信パケットによりLANI/F15,25間の交信が行われている。なお、本参考例1を含めた以下の各参考例、並びに実施形態では、各種メッセージが作成されて交信相手に送信されるが、特段に説明が無くても通信パケットとして各種メッセージが作成されている。
【0031】
(参考例1の作用)
さて、上記のように構成されたロボット制御システム30において、ティーチペンダント10がコントローラ20のいずれかに接続する際の作用を説明する。本参考例1では、ティーチペンダント10から接続先をサーチする際、下記の順序で行われる。
【0032】
1)ティーチペンダント10によるコントローラのサーチ
ティーチペンダント10のCPU11は、ティーチペンダント10の操作者によるキーボード操作により、「コントローラへの接続処理」が開始されたことを検知すると、ROM12に格納された接続先検索処理プログラム121を実行する。図2はCPU11が実行する接続先検索処理プログラム121のフローチャートである。
【0033】
CPU11は、ティーチペンダント10の無線LANを介して自身と接続可能なコントローラ20A〜20Cを全てサーチする(図2のS1参照)。なお、以下では、本参考例1、及び他の参考例、並びに下記の実施形態において、説明の便宜上、ティーチペンダント10とコントローラ20とは、LANI/F15,25、及び有線・無線変換器18、28による無線LANを介して交信(送信、受信を含む)することを、単に無線LANを介して送信、受信、発行、或いは通知する等という。
【0034】
具体的には、CPU11は、全コントローラ20に対して、アドレスであるコントローラIPの要求コマンド及び送信元情報として自身のTPIP140を含む通信パケットを作成して無線LANを介して発行する。一方、各コントローラ20は、それに対しハードディスク24に格納している自身のコントローラIP242及び送信先情報として前記ティーチペンダントのTPIP140を含む通信パケットを作成して無線LANを介して送信する。なお、IPはIP(Internet Protocol)アドレスを意味する。
【0035】
ティーチペンダント10のCPU11は、サーチしたコントローラ20のアドレス(コントローラIP242)をハードディスク14のコントローラアドレスリスト142に保存にする。なお、このとき、CPU11はネットワーク上に接続されている全ての装置のノードのアドレスをコントローラアドレスリスト142に格納しても良い。
【0036】
なお、多くのコントローラが存在する場合は、接続が許容されるコントローラをハードディスク14の接続許可コントローラアドレスリスト143に操作者が予め設定しておき、接続許可コントローラアドレスリスト143と合致するものだけをコントローラアドレスリスト142に格納するようにしてもよい。このようにすると、処理時間の短縮ならびにユーザの接続先確認作業の簡素化が可能となる。
【0037】
2) ティーチペンダント10によるコントローラIDの取得
次に、CPU11は、コントローラアドレスリスト142から順次アドレスをピックアップし、アドレス毎に、送信先情報として該アドレス、送信元情報として自身のTPIP140及びコントローラIDの返信を要求するコマンドを含む通信パケットを作成して無線LANを介して発行する。コントローラIDは、コントローラ毎に設けられた固有の識別情報であって、コントローラ識別情報に相当する。
【0038】
該当する送信先情報のアドレスを持つコントローラのCPU21がコマンドを受け取ると、ID通知処理プログラム220に従って該CPU21は、自身のコントローラID241及び送信先情報として前記ティーチペンダントのTPIP140を含む通信パケットを作成する。コントローラID241は、ハードディスク24に予め格納されている。
【0039】
そして、CPU21は該通信パケットをコマンド発行元のティーチペンダント10に対して無線LANを介して返信する。ティーチペンダント10のCPU11は、返信されたコントローラIDを、ティーチペンダント10に接続可能なコントローラのコントローラIDとして、ハードディスク14のコントローラIDリスト144に保存する(図2のS2参照)。
【0040】
3) ティーチペンダント10によるコントローラIDの表示
次にCPU11は、図2のS3において、ROM12に格納された接続先表示処理プログラム122を実行する。すなわち、CPU11は、ハードディスク14のコントローラIDリスト144の内容を、例えば図3に示すようにティーチペンダント10の液晶ディスプレイ17に表示する。なお、この表示は、アルファベットや漢字・ひらがな・カナを使用したコントローラIDにてロボットの個体識別を行う方が、単に数字の羅列となるアドレスで検索するより、安全かつ確実になるのは言うまでも無い。又、コントローラIDを図3に示すようにコントローラ20A〜20CあるいはロボットRの本体部に記名しておけば、更に識別の確実性や安全性を向上できる。
【0041】
4) ティーチペンダント10によるコントローラIDの選択
次に、CPU11は、S4において、ROM12に格納された接続先選択処理プログラム123を実行する。すなわち、S4において、CPU11は操作者がキーボード16のキー入力を待つ。そして、CPU11はキー入力により液晶ディスプレイ17に表示されたコントローラIDから任意の1つを選択して確定させたことを検知すると、S4の判定を「YES」とする。続いて、CPU11は、選択されたコントローラIDに該当するコントローラアドレスを、自ティーチペンダント10の接続先コントローラアドレスである接続先コントローラIP145としてハードディスク14に登録する(S5)。
【0042】
5) ティーチペンダント10による自ID番号の通知
次に、CPU11は、S6において、選択された接続先コントローラに対して、自身のアドレスを通知するように、送信先情報である該接続先コントローラアドレスとして接続先コントローラIP145及び送信元情報を兼用する自身のアドレス(TPIP140)を含む通信パケットを作成して無線LANを介して発行する。
【0043】
通知を受けたコントローラは、接続先のティーチペンダント10として通知されたアドレス(TPIP140)を接続先TPIP243としてコントローラ20のハードディスク24に保管する。
【0044】
上記のようにして、ティーチペンダント10とコントローラ20の双方が互いのアドレス(TPIP,コントローラIP)を確認し合うことにより接続関係が確立される。このことにより、複数のティーチペンダント10や複数のコントローラが混在する場合でも、ティーチペンダント10からの操作で安全かつ確実にティーチペンダント10とコントローラの接続処理が可能となる。
【0045】
さて、参考例1によれば、以下のような特徴がある。
参考例1のロボット制御システム30では、ティーチペンダント10(可搬式操作部)と、無線LAN(非有線通信手段)を介して情報を送受信する複数のコントローラ20A〜20Cと、該コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットR1〜R3を備える。
【0046】
又、ティーチペンダント10はコントローラ20に対してコントローラID(コントローラ識別情報)の返信を要求するCPU11(返信要求手段)を備えるとともに、前記返信の要求に応じてコントローラ20から返信されたコントローラIDを表示する液晶ディスプレイ17(表示手段)を有する。又、ティーチペンダント10のCPU11(接続構築手段)は、液晶ディスプレイ17により表示されたコントローラIDをキーボード16(選択操作手段)の操作により選択すると、選択されたコントローラIDを有するコントローラと接続関係を構築する。
【0047】
この結果、参考例1では、1台のティーチペンダント10を、複数のコントローラにつなぎ換えて使用する場合、操作者のミスにより意図せぬロボットと接続してしまい、意図せぬロボットを操作してしまうことを防止することができる。
【0048】
(参考例2)
次に、参考例2を図4〜図6を参照して説明する。
参考例2のロボット制御システム30において、ティーチペンダント10には、参考例1の構成に加えてさらにタイマ50及び入出力ポート51を介して接続先確認スイッチ(以下、接続先確認SW52という)の開閉作動を監視するための回路が設けられている。タイマ50は定期時刻ごとに同期信号を発生する。そして、該同期信号はティーチペンダント10で実施される定期的な演算のタイミングとして使用される。CPU11は、入出力ポート51を介して接続先確認SW52のオンオフ操作の監視が可能である。接続先確認SW52は、接続先確認操作手段に相当する。
【0049】
又、参考例2のロボット制御システム30において、コントローラ20には、参考例1の構成に加えてさらに、接続先確認表示灯55の点灯回路54が設けられている。点灯回路54はコントローラ20が制御するロボットRに設けられた接続先確認表示灯55を点灯するためのものであり、点灯回路54に設けられた接点54aをCPU21が入出力ポート53を介してオンオフ制御することにより、接続先確認表示灯55の点灯及び消灯が可能である。接点54aは、例えば、スイッチングトランジスタからなる。
【0050】
(参考例2の作用)
さて、上記のように構成されたロボット制御システム30の作用を図5(a)、(b)及び図6のフローチャートを参照しながら説明する。
【0051】
なお、このフローチャートに示される処理は、各CPUにおいて、所定の制御周期毎(例えば、0.1sec毎)に、すなわち、定期的に実行される。
1) 接続先確認SW52の状態変化監視処理
ティーチペンダント10のCPU11は、タイマ50により定期的な演算タイミングの通知を受けると、ROM12に格納したSWの状態変化監視処理プログラム124を実行する。図5(a)はSWの状態変化監視処理プログラム124のフローチャートである。
【0052】
CPU11はS11において、入出力ポート51を介して、接続先確認SW52が"開","閉"のどちらの状態にあるか、すなわち、操作者により接続先確認SW52がオン操作されたか否かを監視する。なお、本参考例2では、接続先確認SW52は非操作時には"閉"であるが、逆の"開"であってもよい。ティーチペンダント10のハードディスク14には、前回監視したときの接続先確認SW52の"開"又は"閉"の状態がSW状態データ146(すなわち、前回の監視の結果)として保管されている。そして、CPU11は前回の監視の結果と、今回の監視の結果を比較することにより状態が変化したことを検知する(S12)。SW状態データ146は確認操作情報に相当する。
【0053】
仮に、接続先確認SW52の状態に変化があったとき(すなわち、S12の判定が「YES」のとき)には、CPU11はROM12に格納された表示状態切替通知処理プログラム125を実行するとともに、ハードディスク14のSW状態データ146を今回の監視結果に更新する。又、接続先確認SW52の状態に変化がないとき(すなわち、S12の判定が「NO」のとき)には、CPU11はこのプログラムを一旦終了する。
【0054】
このようにティーチペンダント10のタイマ50より送られてくるSWの状態変化監視処理プログラム124の実行タイミングは、通常0.1sec程度の間隔でサイクリックに発生するため、操作者が接続先確認SW52の"開","閉"を繰り返す度に、SW状態の変化を検知し、表示状態切替通知処理の実行を行うことが可能となる。
【0055】
2) 表示状態切替通知処理
次に、S13で実行される表示状態切替通知処理について説明する。
表示状態切替通知処理プログラム125がCPU11にて実行されると、CPU11は、LANI/F15を介して、「確認表示灯の切替命令」を接続先のコントローラ20に対して発行する(図5(b)のS20参照)。この「確認表示灯の切替命令」には、ハードディスク14に保管されているSW状態データ146をパラメータとして付加する。なお、接続先のコントローラ20のアドレスは、接続先コントローラIP145として予めティーチペンダント10のハードディスク14に格納されているため、この「確認表示灯の切替命令」も、接続先コントローラIP145で指定されたコントローラ20に対して発行される。
【0056】
3) 確認表示灯のON/OFF処理
次に、コントローラ側での処理を説明する。
前記「確認表示灯の切替命令」を受け取った該当アドレスを持つコントローラ20のCPU21は「確認表示灯の切替命令」を受け取ると、ROM22に格納した確認表示灯On/Off処理プログラム222を起動し、当該命令にパラメータとして格納されているSW状態データ146を解析する(図6のS30)。そして、CPU21は、SW状態データ146が"閉"のとき(S31において、「YES」の判定のとき)には、接続先確認表示灯55への電力供給を制御する接点54aを"閉"にし、接続先確認表示灯55を点灯させる(S32)。逆に、CPU21はSW状態データ146が"開"のときには、接続先確認表示灯55への電力供給を制御する接点54aも"開"にし、接続先確認表示灯55を消灯させる(S33)。
【0057】
さて、参考例2によれば、以下のような特徴がある。
参考例2では、ティーチペンダント10(可搬式操作部)は接続先確認SW52の確認操作を検出し、無線LANを介してティーチペンダント10と接続関係が構築されているコントローラ20に対してSW状態データ146(確認操作情報)を送信するCPU11(確認操作検出手段)を備える。
【0058】
そして、コントローラ20は、SW状態データ146を受信し、送信されたSW状態データ146が自分に関係する場合には、制御対象のロボットRが備える接続先確認表示灯55を点灯するようにした。
【0059】
このためワイヤレス化されたティーチペンダント10を持つ操作者が、接続先のコントローラ20を確認するためのスイッチである接続先確認SW52を押したとき(閉)のみ、ティーチペンダント10の接続先のコントローラ20に取り付けられた接続先確認表示灯55が点灯する。又、操作者がティーチペンダント10の接続先確認SW52を開放操作したとき(開)のみ、ティーチペンダント10の接続先のコントローラ20に取り付けられた接続先確認表示灯55が消灯する。
【0060】
この結果、ティーチペンダント10を持つ操作者は、自らが持つティーチペンダント10と接続関係にあるコントローラ20を容易に目視で特定することが可能になる。従って、複数のティーチペンダント10やコントローラ20が混在する場合でも、ティーチペンダント10からの操作で安全かつ確実にティーチペンダント10とコントローラ20の接続関係を確認することが可能となる。
【0061】
(第1実施形態)
次に、本発明を具体化した第1実施形態を図7〜11を参照して説明する。
第1実施形態のロボット制御システム30において、ティーチペンダント10には、参考例1のティーチペンダント10の構成に加えて、モータ運転許可スイッチ56及びモータ運転スイッチ57が設けられているところが異なっている。コントローラ20のハード構成は参考例1と同様である。モータ運転スイッチ57は操作者によりロボットアームを駆動するモータ(図示しない)への電力供給を操作するためものである。又、モータ運転許可スイッチ56は、コントローラ20に対してロボットのモータ運転許可を得るために操作するためのものである。なお、第1実施形態において、キーボード16は入力手段に相当する。ティーチペンダント10のCPU11は出力手段に相当する。液晶ディスプレイ17は判別結果表示手段に相当する。
【0062】
(第1実施形態の作用)
そして、第1実施形態は、ティーチペンダント10のCPU11と、コントローラ20のCPU21が下記の処理を行うところが異なっている。
【0063】
1) モータ運転許可要求メッセージの通知処理
ティーチペンダント10のCPU11は、図示しないタイマの同期信号によって所定の制御周期毎(例えば、0.1sec毎)に、すなわち、定期的にROM12に格納されたスイッチ監視処理プログラム126を実行する。そして、操作者が、ティーチペンダント10のモータ運転許可スイッチ56を押すと、CPU11は、スイッチ監視処理プログラム126に従いROM12に格納された第1モータ運転許可管理処理プログラム127Aを起動し、操作者に対しIDの入力を促す旨の表示を液晶ディスプレイ17にて行う(図8参照)。そして、ロボット個体別IDの入力がキーボード16により行われたか否かを待つ(S40)。
【0064】
ここで、操作者は、ロボットRの本体部に明記されているロボット個体別IDを目視にて確認し、ティーチペンダント10のキーボード操作にて、該ロボット個体別IDを入力する。なお、ロボット個体別IDはロボットを識別するためのロボット毎に付与された固有のIDである。
【0065】
操作者がロボット個体別IDの入力操作を完了すると、CPU11は、接続先コントローラに対して、無線LANを介してモータ運転許可要求メッセージを通知する。モータ運転許可要求メッセージには、図10に示すようにモータ運転許可要求メッセージを識別するためのメッセージID180、送信元のTPID141、接続先コントローラID148(すなわち、送信先コントローラID)、及び認証ID149が含まれている。なお、認証ID149は、操作者が入力したロボット個体別IDである。
【0066】
なお、TPID141や、接続先コントローラID148は、操作者によりキーボード入力されハードディスク14に格納され、前記モータ運転許可要求メッセージ作成時にCPU11により読み出されて利用される。
【0067】
2) コントローラ20によるロボット個体別IDの認証処理
無線LANを介して、接続先コントローラID148と一致するコントローラ20のCPU21は、前記モータ運転許可要求メッセージを受信すると、モータ運転許可要求メッセージ内の送信元のTPID141をハードディスク24に接続先TPID246として格納するとともにROM22に格納されたID認証処理プログラム223を起動する。
【0068】
図9はID認証処理プログラム223のフローチャートである。
CPU21はハードディスク24から認証ID247を読み出す(S50)。この認証ID247は、予め当該コントローラ20に接続されているロボットRに付与されたロボット個体別IDである。そして、CPU21はモータ運転許可要求メッセージに含まれる認証ID149とハードディスク24から読み出した認証ID247が一致、すなわち、両ロボット個体別IDが一致するか否かを判断する(S51)。
【0069】
CPU21は認証ID149と認証ID247が一致したことを確認した場合(S51において「YES」の判定のとき)は、当該モータ運転許可要求メッセージに含まれる送信元のTPID141を、ハードディスク24に操作許可TPID248として保存する(S52)。
【0070】
なお、操作許可TPID248の初期値は、ロボットが存在しないことを意味する初期値ID(例:−1)が設定されている。そして、モータ運転許可要求メッセージに含まれる認証ID149と、認証ID247とが一致しない場合(S51において「NO」の判定のとき)は、操作許可TPID248には、前記初期値IDが保持される(S56)。
【0071】
3) コントローラ20によるティーチペンダント10へのモータ運転許可承認メッセージの通知
そして、CPU21は、認証ID149と認証ID247とが一致している場合、モータ運転許可要求メッセージを送信したティーチペンダント10に通知するために図11に示すようにモータ運転許可承認メッセージを作成する(S53)。具体的にはCPU21はハードディスク24内のコントローラID241、接続先TPID246、及び認証ID247を読み込みしてそれぞれを送信元のコントローラID、送信先TPID182、ロボット個体別ID183とし、これらにメッセージを識別するためのメッセージID181を付加してモータ運転許可承認メッセージとする。ここで作成されたモータ運転許可承認メッセージは、ロボット個体別ID183が認証ID247のロボット個体別IDとなっているため、操作者が入力したロボット個体別IDに対応したロボットが有る旨のメッセージとなる。
【0072】
一方、上記2)において、操作者が入力したロボット個体別IDである認証ID149と認証ID247とが一致していない場合、CPU21は、モータ運転許可要求メッセージを送信したティーチペンダント10に通知するために図11に示すようにモータ運転許可承認メッセージを作成する(S57)。具体的には、CPU21はハードディスク24内のコントローラID241、及び接続先TPID246を読み込みしてそれぞれを送信元のコントローラID、送信先TPID182とする。さらに、CPU21は、ロボット個体別ID183には、初期値ID(例:−1)を設定し、これらのデータにメッセージを識別するためのメッセージID181を付加してモータ運転許可承認メッセージとする。ここで作成されたモータ運転許可承認メッセージは、ロボット個体別ID183に初期値が設定されているため、操作者が入力したロボット個体別IDに対応したロボットが無い旨のメッセージとなる。
【0073】
そして、CPU21はS53又はS57で作成したモータ運転許可承認メッセージを無線LANを介してティーチペンダント10に通知する。
4) ティーチペンダント10及びコントローラ20における当該ロボットのモータ運転の許可
コントローラ20のCPU21は、ROM22に格納されたモータ運転制御処埋プログラム224を起動し(S55)、操作許可TPID248に初期値以外のIDが保存されていることが確認できた場合、モータ運転禁止状態からモータ運転許可状態への状態遷移を行う。
【0074】
一方、ティーチペンダント10のCPU11は、コントローラ20からモータ運転許可承認メッセージを受信すると、ROM12に格納した第2モータ運転許可管理処理プログラム127Bを起動する(図12参照)。そして、CPU11はモータ運転許可承認メッセージに含まれているロボット個体別ID183をハードディスク14にモータ運転許可ロボットID147として保存する(S58)。
【0075】
又、CPU11はこの処理とは別に、受信したモータ運転許可承認メッセージに基づき操作者が入力したロボット個体別IDに対応するロボットが当該コントローラ20に接続されているか否かの判定結果を操作者に知らせるための処理を行う。
【0076】
具体的には、保存されたモータ運転許可ロボットID147が、初期値の場合には、CPU11は液晶ディスプレイ17に操作者が入力したロボット個体別IDに対応するロボットが無い旨を表示し、初期値でない場合には液晶ディスプレイ17に該ロボットが有る旨を表示する。又は、CPU11はティーチペンダント10上の表示灯(図示しない)の点灯状態を、モータ運転許可ロボットID147が初期値か否かに応じて変更する。このことによって、操作者が操作対象として認識しているロボットが、実際の制御対象のロボットであるか否かを操作者に対して知らせる。
【0077】
この後、モータ運転許可承認メッセージにより、コントローラ20から運転許可が得られていれば(ロボット個体別ID183が初期値でない場合)、モータ運転スイッチ57を操作者がオン操作すると、この操作に基づく指示がCPU11から無線LANを介してコントローラ20に通知される。そして、コントローラ20の制御によりロボットRのロボットアームの図示しないモータに対して電力供給がされる。
【0078】
さて、第1実施形態によれば、以下のような特徴がある。
(1) 第1実施形態のロボット制御システム30では、ロボットRには、ロボット個体別IDが表示されている。又、ティーチペンダント10(可搬式操作部)には、ロボット個体別IDを入力するキーボード16(入力手段)と、キーボード16により入力されたロボット個体別IDを無線LANに出力するCPU11を備える。又、コントローラ20は、送信されたロボット個体別IDが、該コントローラ20が制御するロボットのロボット個体別ID(識別情報)と一致する場合に、該ロボットを駆動する駆動源の電力供給をモータ運転許可承認メッセージにて許可するようにした。
【0079】
すなわち、操作者が入力したロボット個体別IDに該当するロボットが、当該コントローラ20に接続されている場合、モータ運転許可ロボットID147には、初期値ID以外のロボット個体別IDが保存される。又、操作者が入力したロボット個体別IDに対応するロボットが、当該コントローラ20に接続されていない場合、モータ運転許可ロボットID147には、初期値IDが保持されるようにした。
【0080】
したがって、ティーチペンダント10のCPU11は、モータ運転許可ロボットID147に保存された内容から、操作者が操作対象として認識しているロボットが、実際の制御対象のロボットであるか否かを知ることができる。
【0081】
(2) 又、第1実施形態では、コントローラ20のCPU21は、操作許可TPID248に保存された内容に基づいて接続されたロボットを操作対象として正しく認識している操作者が把持しているティーチペンダント10を特定することができる。
【0082】
(3) 第1実施形態では、コントローラ20は、ティーチペンダント10から送信されたロボット個体別IDが、コントローラ20が制御するロボットの識別情報と一致するか否かを判別し、前記ロボット個体別IDを送信したティーチペンダント10に対してその判別結果を送信するようにした。そして、ティーチペンダント10には、該判別結果を表示する液晶ディスプレイ17(判別結果表示手段)を備えるようにした。
【0083】
この結果、第1実施形態では、ティーチペンダント10から送信されたロボット個体別IDがコントローラ20が制御するロボットのロボット個体別ID(識別情報)と一致するか否かの判別結果が、液晶ディスプレイ17により表示されるため、操作者は、その判別結果を容易に知ることができる。この結果、操作者は前記判別結果の表示によってさらに、操作者が意図していないロボットを動作させてしまうことを事前に回避することが可能となる。
【0084】
(4) 第1実施形態では、以上の1)〜4)により、操作者が操作対象として認識しているロボットと、操作者の操作によって実際に動作するロボットが一致している場合に限り、ロボットのロボットアームを駆動するモータへの動力の供給が可能になり、操作者が意図していないロボットを動作させてしまうことを、事前に回避することが可能となる。
【0085】
(第2実施形態)
次に第2実施形態を図13〜18を参照して説明する。
第2実施形態のロボット制御システム30のハード構成は、第1実施形態のロボット制御システム30のハード構成に対して、参考例2と同様の入出力ポート53、点灯回路54、接点54a及び表示灯55Aがコントローラ20に付加された構成であることが異なっている。表示灯55Aはコントローラ20が制御するロボットRに付設されているとともに、参考例2の接続先確認表示灯55と同様に接点54aのオンオフ作動により、点灯消灯が可能である。
【0086】
(第2実施形態の作用)
さて、上記のように構成されたロボット制御システム30の作用を説明する。
1) ティーチペンダント10によるコントローラ20へのモータ運転許可の通知
ティーチペンダント10のCPU11は、図示しないタイマの同期信号によって所定の制御周期毎(例えば、0.1sec毎)に、すなわち、定期的にROM12に格納されたスイッチ監視処理プログラム126Aを実行する。
【0087】
そして、操作者が、ティーチペンダント10のモータ運転許可スイッチ56を押すと、CPU11は、スイッチ監視処理プログラム126Aに従いROM12に格納された第1モータ運転許可管理処理プログラム127A1を起動する(図14参照)。そして、CPU11は、各コントローラ20に対して、無線LANを介して「点灯要求」を行ない(S60)、操作者に対しIDの入力を促す旨の表示を液晶ディスプレイ17にて行うとともに、点滅パターン入力がキーボード16により行われたか否かを待つ(S61)。
【0088】
一方、各コントローラ20に対する「点灯要求」をコントローラ20のCPU21が無線LANを介して受信すると、該CPU21はROM22に格納された表示灯制御処理プログラム225を起動する。そして、CPU21は表示灯制御処理プログラム225に従って予めハードディスク24に認証1D247として登録されているロボット個体別IDを認証用点滅パターンに変換し、その変換結果に従って接点54aのオンオフ制御を行うことによりロボットに設置された表示灯55Aを点滅させる。このロボット個体別IDは、このコントローラ20に接続された制御対象のロボットを識別するためにロボット毎に付与された固有のIDである。
【0089】
前記ロボット個体別IDを認証用点滅パターンに変換する具体例が、図16(a)〜(c)に1サイクル分それぞれ示されている。図16(a)〜(c)の例では、CPU21は予め16ビットの16進数で付与されたロボット個体別IDを、一旦、2進数に変換し、次に、2進数表記の"1"を表示灯の点灯指令、2進数表記の"0"を表示灯の消灯指令に変換している。
【0090】
図16(a)の例では、ロボット個体別ID(16進数表記で"AA00")が"1010101000000000"の2進数に変換される。そして、この2進数表記されたものが1サイクル分の認証用点滅パターンとして、左からの順で2進数表記の"1"に対応して表示灯55Aが一定時間t1で点灯され、2進数表記の"0"に対応して一定時間t2(=t1)で消灯される。この一定時間t1,t2とは、人間の目で点灯消灯が十分に観察できる時間幅である。図16(b)の例では、ロボット個体別ID(16進数表記で"F500")が"1111010100000000"の2進数に変換され、この2進数表記されたものが認証用点滅パターンとなる。図16(c)の例では、ロボット個体別ID(16進数表記で"D580")が"1101010110000000"の2進数に変換され、この2進数表記されたものが認証用点滅パターンとなる。
【0091】
これらの例に示すように、本実施形態では、1サイクルの後半部分では、長い消灯時間があるため、操作者はこの長い消灯時間後に始まる最初の点滅から、認証用点滅パターンの開始点を知ることができる。これらの1サイクル分の認証用点滅パターンがどのロボット個体別IDであるかを操作者は予め学習しておいたり、或いは、このパターンと対応するロボット個体別IDを記載したパターン表(図示しない)を操作者が見ることにより、ロボット個体別IDをキーボード操作によりティーチペンダント10に入力することができる。
【0092】
上記のようにして、操作者は、ロボットRの本体部に明記されているロボット個体別IDを目視にて確認し、ティーチペンダント10のキーボード操作にて、該ロボット個体別IDを入力する。
【0093】
操作者がロボット個体別IDの入力操作を完了すると、CPU11は入力された結果を数値化する(S62)。この数値化されたものを以下、入力パターンという。操作者が入力した結果を数値化する具体例としては、まず、CPU11はティーチペンダント10の任意のキーの押下状態を一定周期毎に監視し、任意のキーが押されている場合を"1"、同キーが離されている状態を"0"としてRAM13に記録し、次に記録された"1"と"0"を2進数とみなして数値化する方法がある。
【0094】
次に、ティーチペンダント10のCPU11は、接続先のコントローラ20に対して、モータ運転許可要求メッセージを通知する(S63)。図17に示すようにこのモータ運転許可要求メッセージの構成は、認証ID以外は第1実施形態と同様である。本実施形態の認証ID149Aは、操作者がキー入力した入力操作を、S62において数値化された入力パターンである。
【0095】
2) コントローラによる入力パターンの認証
コントローラ20のCPU21はティーチペンダント10からモータ運転許可要求メッセージを無線LANを介して受信すると、該メッセージ内の送信元のTPID141をハードディスク24に接続先TPID246として格納するとともにROM22に格納されたID認証処理プログラム223Aを起動する。
【0096】
図15はID認証処理プログラム223Aのフローチャートである。
CPU21はハードディスク24から認証ID247を読み出す(S50)。この認証ID247は、予め当該コントローラ20に接続されているロボットRに付与されたロボット個体別IDである。
【0097】
そして、CPU21はモータ運転許可要求メッセージに含まれる認証ID149A(入力パターン)とハードディスク24から読み出した認証ID247が一致、すなわち、両ロボット個体別IDが一致するか否かを判断する(S51A)。
【0098】
CPU21は認証ID149Aと認証ID247が一致したことを確認した場合(S51Aにおいて「YES」の判定のとき)は、当該モータ運転許可要求メッセージに含まれる送信元のTPID141を、ハードディスク24に操作許可TPID248として保存する(S52)。
【0099】
なお、操作許可TPID248の初期値は、ロボットが存在しないことを意味する初期値ID(例:FFFF)が設定されている。そして、モータ運転許可要求メッセージに含まれる認証ID149Aと、認証ID247とが一致しない場合(S51Aにおいて「NO」の判定のとき)は、操作許可TPID248には、前記初期値IDが保持される(S56)。
【0100】
3) コントローラ20によるティーチペンダント10へのモータ運転許可承認メッセージの通知
そして、CPU21は、認証ID149Aと認証ID247とが一致している場合、モータ運転許可要求メッセージを送信したティーチペンダント10に通知するために図18に示すようにモータ運転許可承認メッセージを作成する(S53A)。
【0101】
具体的にはCPU21はハードディスク24内のコントローラID241、接続先TPID246、及び認証ID247を読み込みしてそれぞれを送信元のコントローラID、送信先TPID182、入力パターン250とし、これらにメッセージID181を付加してモータ運転許可承認メッセージとする。ここで作成されたモータ運転許可承認メッセージは、入力パターン250が認証ID247のロボット個体別IDとなっているため、操作者が入力したロボット個体別IDに対応したロボットが有る旨のメッセージとなる。
【0102】
一方、上記2)において、操作者が入力したロボット個体別IDである認証ID149Aと認証ID247とが一致していない場合、CPU21は、モータ運転許可要求メッセージを送信したティーチペンダント10に通知するために図18に示すようにモータ運転許可承認メッセージを作成する(S57A)。
【0103】
具体的には、CPU21はハードディスク24内のコントローラID241、及び接続先TPID246を読み込みしてそれぞれを送信元のコントローラID、送信先TPID182とする。さらに、CPU21は、入力パターン250には、ロボットが存在しないことを意味する初期値ID(例:FFFF)を設定し、これらのデータにメッセージID181を付加してモータ運転許可承認メッセージとする。ここで作成されたモータ運転許可承認メッセージは、入力パターン250に初期値が設定されているため、操作者が入力したロボット個体別IDに対応したロボットが無い旨のメッセージとなる。
【0104】
そして、CPU21はS53A又はS57Aで作成したモータ運転許可承認メッセージを無線LANを介してティーチペンダント10に通知する。
4) ティーチペンダント10及びコントローラ20における当該ロボットのモータ運転の許可
コントローラ20のCPU21はS55では第1実施形態のS55(図9参照)と同様の処理を行うため説明を省略する。
【0105】
一方、ティーチペンダント10は、コントローラ20からモータ運転許可承認メッセージを受信すると、ROM12に格納した第2モータ運転許可管理処理プログラム127B1を起動する。そして、CPU11はモータ運転許可承認メッセージに含まれている入力パターン250をハードディスク14にモータ運転許可ロボットID147として保存する。
【0106】
又、CPU11はこの処理とは別に、受信したモータ運転許可承認メッセージに基づき操作者が入力したロボット個体別IDに対応するロボットが当該コントローラ20に接続されているか否かの判定結果を操作者に知らせるための処理を行う。この処理は、第1実施形態と同様であるため、説明を省略する。
【0107】
そして、モータ運転許可承認メッセージにより、コントローラ20から運転許可が得られていれば(入力パターン250が初期値でない場合)、モータ運転スイッチ57を操作者がオン操作すると、この操作に基づく指示がCPU11から無線LANを介してコントローラ20に通知される。そして、コントローラ20の制御によりロボットRのロボットアームの図示しないモータに対して電力供給がされる。
【0108】
さて、第2実施形態によれば、以下のような特徴がある。
(1) 第2実施形態では、ロボットRには、該ロボット固有の認証用点滅パターン(点滅パターン)でコントローラ20により点滅制御される表示灯55Aが備えられている。そして、ティーチペンダント10(可搬式操作部)には、前記点滅パターンを入力可能なキーボード16(入力手段)と、キーボード16により入力された点滅パターンを無線LANに出力するCPU11(出力手段)を備える。一方、コントローラ20は、前記送信された点滅パターンが、コントローラ20が制御する表示灯55Aの点滅パターンと一致する場合に、ロボットRを駆動するモータ(駆動源)の電力供給を許可するようにした。このように構成しているため、第2実施形態は請求項7の(1)と同様の効果を奏する。
【0109】
(2) 第2実施形態も第1実施形態と同様に第1実施形態の(2)〜(4)の作用効果を実現することができる。
(第3実施形態)
次に、第3実施形態を図19及び図20を参照して説明する。第3実施形態は、第1実施形態を変形したものである。なお、第1実施形態と同一又は相当する構成については、同一符号を付す。第3実施形態では、図19に示すように1台のコントローラ20Aに、複数台のロボットR1a〜R1cが接続されていることと、ハードディスク24内に第1実施形態の認証ID247の代わりに認証IDリスト249が格納されているところが第1実施形態と異なっている。なお、図19において、コントローラ20A以外のコントローラ20B等のロボットについては説明の便宜上、図示されていない。又、ロボットR1a〜R1cの本体部に対してそれぞれロボット個体別IDが明記されている。
【0110】
図20に示すように認証IDリスト249には、当該コントローラ20Aに接続されているロボットR1a〜R1c毎に、認証ID247Aと操作許可TPID248Aを登録することができる。認証IDリスト249の認証ID247Aには、第1実施形態と同様に、あらかじめ、当該コントローラ20Aに接続されているロボットに付与されたロボット個体別IDが登録されている。又、認証IDリスト249の操作許可TPID248Aには、初期値として、ロボットが存在しないことを意味する初期値ID(例:−1)が設定されている。
【0111】
(第3実施形態の作用)
第3実施形態は、第1実施形態と一部が異なるだけであるため、異なる作用を中心に説明する。
【0112】
ティーチペンダント10から第1実施形態と同様にモータ運転許可要求メッセージを受信したコントローラ20Aは、ID認証処理プログラム223を起動する。そして、CPU21は認証IDリスト249を検索し、モータ運転許可要求メッセージ中の認証ID149(図10参照)が、認証IDリスト249内に存在することが確認できた場合、該メッセージ中の送信元のTPID141を認証IDリスト249内の該当する操作許可TPID248Aに登録保存する。
【0113】
さて、第3実施形態によれば、以下のような特徴がある。
第3実施形態では、このように、認証IDリスト249を導入したため、1台のコントローラ20Aに複数台のロボットRb1〜Rb3が接続される接続形態においても、ティーチペンダント10、コントローラ、ロボットの接続確認をロボット毎に認証することができるため、操作者が操作対象を誤ることを回避することができる。
【0114】
(第4実施形態)
次に、第4実施形態を図21、図22、図23〜26を参照して説明する。
第4実施形態のロボット制御システム30のハード構成は、第1実施形態(図7参照)の構成中、モータ運転許可スイッチ56及びモータ運転スイッチ57の図示が省略されているところが異なっている。本実施形態のCPU21は認証手段に相当する。
【0115】
(第4実施形態の作用)
さて、上記のように構成されたロボット制御システム30の作用を説明する。本実施形態では、コントローラ20とティーチペンダント10との通信が無線LANを経由して行われる。そして、一台のコントローラ20との通信が可能な複数のティーチペンダント10等がネットワーク内に存在する環境において、ティーチペンダント10等とコントローラ20との間で、一対一の接続関係を確立するために、以下の4つのステップが実行される。
【0116】
1) ティーチペンダント10によるコントローラ20への接続認証要求メッセージの通知
第4実施形態では、図示しないタイマの同期信号によって所定の制御周期毎(例えば、0.1sec毎)に、すなわち、定期的にROM12に格納された図示しないスイッチ監
視処理プログラムがCPU11により実行されている。このようにコントローラ20から操作権限を取得していないティーチペンダント10では、コントローラ接続処理が、操作者からの接続要求待ちの状態にある。具体的には、ティーチペンダント10は操作者からのキーボード入力を待つ状態にある。図23は本実施形態のスイッチ監視処理プログラムのフローチャートである。この状態では、CPU11がスイッチ監視処理プログラムを実行することにり、操作者に対しユーザID、パスワード、コントローラIDの入力を促す旨の表示が図25に示すように液晶ディスプレイ17にて行われる。
【0117】
そして、操作者Hが任意のコントローラを操作したい場合、操作者Hはティーチペンダント10の液晶ディスプレイ17に表示する内容にしたがって、操作を行いたいコントローラに付与されているコントローラID、操作者のユーザID、操作者Hのパスワードをキーボード16の操作によって入力する(S70)。操作者Hの入力操作が完了すると、CPU11はコントローラ20に対して、無線LANを介して接続認証要求メッセージを通知する(S71)。この接続認証要求メッセージには、図26(a)に示すように該メッセージを識別するためのメッセージID184、送信元のTPID141、ユーザID190、及びパスワード191が含まれている。
【0118】
なお、接続認証要求メッセージの送信元のTPID141には、操作者がキーボード操作を行ったティーチペンダント10のMACアドレス(Media Access Control address)130が格納されている。又、接続認証要求メッセージの送信元のユーザID190、及びパスワード191には操作者Hが入力した文字列情報をASCIIコードに変換したものが、それぞれ格納されている。MACアドレス130は、ティーチペンダント10のROM12に格納され、前記メッセージ作成の際に読み出される。なお、MACアドレス130に代えて、ティーチペンダント10に固有のアドレスがROM12に格納され、このアドレスが送信元のTPID141として使用されるようにしてもよい。このようにティーチペンダント10に固有のアドレスにより、ティーチペンダント10を一意的に特定することができる。
【0119】
2) コントローラ20による接続要求元のティーチペンダント10の認証
コントローラ20のCPU21は、ティーチペンダント10から接続認証要求メッセージを無線LANを介して受信すると、ROM22に格納されたTPID認証処理プログラム226を起動し(図24参照)、ハードディスク24内にある操作許可TPID248に格納されている情報を取得する(S80)。初期状態、すなわち、当該コントローラ20を操作することができる権限を付与されたティーチペンダントが存在しない状態においては、操作許可TPID248には、初期値(例:0)が格納されている。すなわち、CPU21によるTPID認証処理は、操作許可TPID248に格納されている情報から、自身を操作する権限を付与されたティーチペンダントの有無を認識することができる(S81)。
【0120】
CPU21は自身を操作することができる権限が付与されたティーチペンダントが存在しないことを認識すると(S81の判定が「YES」)、前記接続認証要求メッセージの送信元のTPID141に格納されているMACアドレス130をハードディスク24に操作許可TPID248として格納する。次に、CPU21は、接続認証要求メッセージのユーザID190、及びパスワード191を、ハードディスク24に認証ユーザID252及び認証パスワード253として格納する(S83)。
【0121】
3) コントローラ20による接続元のティーチペンダント10への接続認証承認メッセージの通知
次に、CPU21は、S84又はS86において、図26(b)に示すように接続認証承認メッセージの作成を行う。接続認証承認メッセージには、接続認証承認メッセージを識別するためのメッセージID185と、送信元のコントローラIDが含まれている。この場合、コントローラ接続認証済みのティーチペンダントが存在しない場合(S81の判定が「YES」)、S84においては、CPU21は、接続認証承認メッセージの送信元コントローラID186として当該コントローラのMACアドレス228を格納する。
【0122】
これに対し、S81において、既にコントローラ接続認証済みのTPが存在した場合(S81の判定が「NO」)、S86においては、CPU21は、接続認証承認メッセージの送信元コントローラID186として初期値(例:0)を格納する。そして、CPU21は、接続要求元のティーチペンダント10の認証結果を、接続認証承認メッセージとして、接続要求元のティーチペンダント10に通知する(S85)。
【0123】
4) ティーチペンダント10によるコントローラ20からの認証結果の格納
ティーチペンダント10のCPU11は、ROM12に格納された送受信処理プログラムをその時々に実行処理するとともに、コントローラ20から接続認証承認メッセージを受信すると、ROM12に格納されたコントローラ接続処理プログラム128を起動する(図27参照)。CPU11は、接続認証承認メッセージの送信元コントローラID186に格納されている内容を、ハードディスク14に接続先コントローラID148として格納する(S90)。次に、CPU11は、接続先コントローラID148に格納した内容を読み込み、接続認証の結果を検査する(S91)。
【0124】
さて、本実施形態では、ティーチペンダント10とコントローラ20のそれぞれのROM12,22には送受信処理プログラム129,227が格納されている。そして、該プログラムが実行されることにより、無線LANを経由してティーチペンダンが発行する各種通信メッセージ(接続認証要求メッセージも含む)や、コントローラ20が発行する各種通信メッセージが送受信される。そして、これらのメッセージ中の送信元のTPID141や送信元コントローラID186に自身のMACアドレスがそれぞれ格納される。
【0125】
そして、コントローラ20のCPU21は、送受信処理プログラム227を実行することにより、接続認証要求メッセージ以外の通信メッセージに対し該通信メッセージに含まれる送信元のTPID141(MACアドレス)と前記操作許可TPID248(MACアドレス)とが一致しているか否かの判断を行う。ここで、操作許可TPID248(MACアドレス)は、認証基礎データに相当する。又、通信メッセージに含まれる送信元のTPID141(MACアドレス)は認証対象データに相当する。この場合、CPU21は、MACアドレス同士が一致している場合にのみ、すなわち、ハードディスク24に操作許可TPID248として格納されているMACアドレス130を持つティーチペンダント10からの通信についてのみ応答を行う。受信した通信メッセージがロボットを操作するためのものである場合には、この通信メッセージによって、コントローラ20がロボットRを駆動制御することになる。
【0126】
なお、例外的に接続認証要求メッセージをコントローラ20が受信したときには、CPU21は、前述したようにTPID認証処理プログラム226を実行処理することにより、該接続認証要求メッセージを送信したティーチペンダントに対して交信を行う。
【0127】
そして、ティーチペンダント10のCPU11は、送受信処理プログラム129を実行することによりコントローラ20との接続関係が確立している場合に限って、操作者Hの操作を、接続先のコントローラ20に通知するようにしている。又、CPU11は送受信処理プログラム129により、同様に、接続先のコントローラ20から受信した通信だけを受信し、ネットワーク上に存在する別コントローラからの通信に対しては、応答しないように、送受信データに対して、フィルタリングを行う。
【0128】
又、CPU11は、コントローラ接続処理プログラム128を実行することにより、接続先コントローラID148に格納されている内容を参照して、液晶ディスプレイ17に接続認証の結果を出力し、接続要求を行った操作者Hに、接続要求の結果を知らしめる。
【0129】
さて、第4実施形態によれば、以下のような特徴がある。
(1) ティーチペンダント10からの接続認証が承認されている場合、接続認証承認メッセージの送信元コントローラID186には、接続先コントローラのMACアドレス228が格納され、接続認証が却下されている場合、接続認証承認メッセージの送信元コントローラID186には、初期値(例:0)が格納される。すなわち、ティーチペンダント10は、ハードディスク14にある接続先コントローラID148の内容から、接続認証の結果を知ることができる。
【0130】
(2) 以上のように、ティーチペンダント10とコントローラが接続されているネットワーク内に、該コントローラとの通信が可能なティーチペンダントが複数ある環境においても、ティーチペンダントとコントローラとの間で、一対一の接続関係を確立することが可能となる。又、任意のティーチペンダントと接続関係を確立したコントローラに対して、新たに別のティーチペンダントから接続関係を確立することができないため、ネットワークに接続されているティーチペンダントからの指示によって、ロボットが意図しない動作を行うことが回避できる。
【0131】
(3) 又、第4実施形態では操作者Hのキーボード入力によってユーザIDとパスワードが入力され、接続先のコントローラに対して接続認証要求メッセージ以外のメッセージを発行した際、該メッセージには、TPID141、ユーザID190、パスワード191が含まれる。そして、該コントローラ20のCPU21は認証手段として該メッセージに含まれるTPID141(MACアドレス)に基づいてティーチペンダント10(可搬式操作部)の認証を行うようにしている。
【0132】
この結果、該ティーチペンダント10のTPID141を格納して接続先コントローラが認証した唯一のティーチペンダント10に対して、同コントローラ20を操作する権限を与えることが可能となる。
【0133】
そして、コントローラ20が接続されたネットワーク上に同コントローラ20と通信可能なティーチペンダントが複数存在する環境においても、コントローラを操作することができるティーチペンダントを一台に限定することができる。この結果、操作者Hが操作対象として認識しているロボットが、別の操作者の操作によって動作してしまうことを、事前に回避することが可能となる。
【0134】
具体例を示すと、図22に示すように操作者AがティーチペンダントTPAを操作して、コントローラCAで制御されるロボットRAを動作させている環境を考える。コントローラCA及びティーチペンダントTPAと同じネットワークに接続されているティーチペンダントTPB,TPCを持つ操作者B,Cからの指示によって、ロボットRAが動作してしまうと、ロボットRAは、操作者Aの意図とは異なる動作を行うことになり、大変、危険な状態となってしまう。第4実施形態によれば、このような状態となることが回避できる。
【0135】
なお、本発明の実施形態は以下のように変更してもよい。
○ 前記各実施形態では、ティーチペンダント10・コントローラ20間を、無線LANによるネットワーク手段にて構築したが、有線LANによって構築してもよい。
【0136】
○ 前記各実施形態では、ティーチペンダント10・コントローラ20間の通信を無線通信で行うようにしたが、無線方式に限らず、赤外線通信、光通信、或いは磁気通信で行うようにしてもよい。
【0137】
○ 前記各実施形態では、ティーチペンダント10と複数のコントローラ20間を無線LANによりネットワーク手段を構築したが、単に無線でティーチペンダント10と複数のコントローラ20間を交信可能としてもよい。又、無線に換えて、赤外線通信、光通信、或いは磁気通信で行うようにしても良い。
【0138】
○ 参考例1では、表示手段を液晶ディスプレイ17にて構成したが、液晶ディスプレイ17に限定されるものではない。プラズマディスプレイや、有機ELディスプレイや、CRTディスプレイとしてもよい。
【0139】
○ 参考例1では、選択操作手段をキーボード16としたが、キーボード16に限定されるものではなく、マウス等のポインタや、液晶ディスプレイ17上の画面に設けられたタッチパネルであってもよい。
【0140】
○ 参考例2の接続先確認表示灯55や、第1実施形態の表示灯55Aは、ロボットRに付設するように設けているが、各ロボットを制御対象とするコントローラ20に付設するように設けても良い。
【0141】
○ 第3実施形態は、第1実施形態の変形例として構成したが、第2実施形態において、1つ又は複数のコントローラがそれぞれ複数のロボットを制御することを可能とし、該コントローラのハードディスク24に認証IDリスト249を設けるようにしてもよい。
【符号の説明】
【0142】
10…ティーチペンダント(可搬式操作部)、20…コントローラ、
11…CPU(返信要求手段、接続構築手段、確認操作検出手段、出力手段、認証手段)、16…キーボード(選択操作手段、入力手段)、
17…液晶ディスプレイ(表示手段、判別結果表示手段)、
24…ハードディスク(記憶手段)。
【技術分野】
【0001】
本発明は、ティーチペンダント(以下、TPという)とロボットコントローラ(以下、コントローラという)とが、無線LANや有線LAN等で接続される際、TPの接続により意図せぬロボットを誤操作してしまうことを防止するロボット制御システムに関する。
【背景技術】
【0002】
従来から、コントローラ(ロボット制御装置)とロボットマニピュレータが一対一で対応しているシステムが提案されている。例えば、この技術は特許文献1において従来技術として取り挙げられている。この種のシステムの場合、TPとコントローラ、ロボットマニピュレータは常に一対になっている。このため、仮にこのシステムが複数台並んだ生産ラインを考えた場合、各TPで動作するロボットマニピュレータは確定されていることから、特定のTPによる操作によって、該TPと一対一で対応しているマニピュレータ以外の他のマニピュレータが意図せずして動いてしまうことはない。
【0003】
特許文献1では、この従来技術に対して、1台の制御装置(コントローラ)で2台以上のロボットの教示プログラムを記憶し、2台以上のロボットの該教示プログラムの再生運転を制御するシステムが提案されている。このシステムでは、コントローラにおいて、教示プログラム記憶部の教示プログラム識別部に、ロボット識別部と作業識別部とが設けられ、教示プログラムの選択手段にロボット選択手段と作業選択手段とが設けられている。そして、該ロボット選択手段により教示プログラムが選択された場合には、選択されたロボットの全作業プログラムが選択されるとともに、該作業選択手段により、教示プログラムが選択された場合には、選択された作業の全ロボットの該プログラムが選択される。そして、該ロボット選択手段及び作業選択手段の両方が選択された場合には、選択された作業ロボットの選択された作業プログラムが選択できるようにされている。
【0004】
このシステムの場合、例えば1つのロボットで作成された教示プログラムが他のロボットで再生されてしまうことがないため、該他のロボットが予期せぬ動作に至ることはない。
【0005】
又、特許文献2では、一台のコントローラに対して複数のTPが接続できるように複数のコネクタボックスを有するロボット制御装置が提案されている。このロボット制御装置は、接続されている複数のTPから情報が出力されているときにはそのいずれか一つの情報を受け入れると共にコントローラからの情報を複数のTPに対等に入力する制限手段と、前記コントローラと前記TPとの間で授受される信号を一時記憶するバッファとを有する。
【0006】
特許文献2では、接続されている複数のTPから情報が出力されているときには、その情報はそれぞれ異なるデータバッファに一旦ストアされ、排他的論理素子を介してコントローラがそのいずれか一つの情報を受け入れるようにされている。上記構成によれば、複数のTPから単一のコントローラに情報が出力されたときに、データバッファに一次記憶してデータの衝突の回避を図ることにより、一方のTPを操作している操作者の指令により、他方のTPを操作している操作者にとってロボットマニピュレータが予期せぬ動きをして、該操作者に危険が及ばないようにしている。
【0007】
特許文献3では、通電状態でTPのコネクタの抜き差しを行ってもロボットが停止することなく、しかも数多くのロボットを制御する上位の制御装置によって制御される全てのロボットが停止しないロボット制御装置が提案されている。この特許文献3では明記されていないものの、一台のTPを複数のコントローラに使い回すことができる可能性が示唆されている。
【0008】
上記特許文献1〜3に記載の従来技術では下記のようにまとめることができる。
1)コントローラとTPが一対一で、かつ一台のコントローラに対して複数のロボットマニピュレータが接続される場合、操作者が予期せぬロボットマニピュレータを操作してしまう危険性については、従来技術では既に考慮がなされている(特許文献1,特許文献2)。
【0009】
2)一台のTPを複数のコントローラに使い回すことができる可能性が示唆されている(特許文献2,特許文献3)。
なお、上記1)2)から推測される、複数のコントローラ及び複数のロボットマニピュレータに対して一台のTPを使い回したりする場合、操作者が意図しないロボットマニピュレータを誤って操作してしまう問題については、上記従来技術では、考慮されていない。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平5−119827号公報、「産業用ロボットの作業プログラム選択方法」
【特許文献2】特許第2884912、「ロボット制御装置」
【特許文献3】特開2003−136447号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
ところで、近年、ネットワーク技術や、非有線通信技術が発達し、又、USB(Universal Serial Bus)や、IEEE1394(Institute of Electrical and Electronic Engineers 1394 )等に見られるように、電源が入った状態でケーブルの挿抜や接続できる電気的通信手段が確立してきている。例えば、図28(a)は、1台のティーチペンダントTPと、ロボットを制御する複数のコントローラC10〜C12とが無線を介して交信を行う場合を示している。又、図28(b)は、同じく1台のTPとロボットを制御する複数のコントローラC20〜C22とがLAN(ローカルエリアネットワーク)を介して交信を行う場合を示している。なお、LAN(ローカルエリアネットワーク)には有線LAN及び無線LANを含む。このような技術状況において、1台のTPを、ロボットが稼働状態の複数台のコントローラにつなぎ換えて使用する場合が考えられる。この利点には、以下のものがある。
【0012】
1) TPの数を減らす事による省スペース化
2) TPの数を減らす事によるコスト削減
3) TPを非有線化にした場合は、ケーブルレスによる作業性の向上
4) TPを非有線化にした場合は、断線がなくなるための信頼性向上
ところが、その際に一番問題になるのが、操作者の安全の確保である。仮に、複数台のコントローラから所望の接続先であるコントローラを選択できない場合には、意図せぬコントローラにTPが接続されてしまい、TPからの操作により意図せぬロボットを動作させてしまう可能性があり、操作者の安全が確保できない問題がある。
【0013】
本発明の目的は、1台の可搬式操作部を、複数のコントローラにつなぎ換えて使用する場合、操作者のミスにより意図せぬロボットと接続してしまい、意図せぬロボットを操作してしまうことを防止するロボット制御システムを提供することにある。
【課題を解決するための手段】
【0014】
上記問題点を解決するために、請求項1に記載の発明は、可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、前記ロボットには、ロボット個体別IDが表示されており、前記可搬式操作部には、ロボット個体別IDを入力する入力手段と、該入力手段により入力されたロボット個体別IDを前記ネットワーク手段、或いは前記非有線通信手段に出力する出力手段を備え、前記コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御するロボットの識別情報と一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とするロボット制御システムを要旨とするものである。
【0015】
なお、非有線通信とは、無線通信(通信媒体:電波)、赤外線通信、光通信、或いは磁気通信を含み、いずれもワイヤレスで行う伝送方式のことをいう。
請求項2の発明は、請求項1において、前記コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御するロボットの識別情報と一致するか否かを判別し、前記ロボット個体別IDを送信した可搬式操作部に対してその判別結果を送信し、前記可搬式操作部には、該判別結果を表示する判別結果表示手段を備えたことを特徴とする。
【0016】
請求項3の発明は、可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、前記ロボットには、該ロボット固有の点滅パターンでコントローラにより点滅御される表示灯が備えられており、前記可搬式操作部には、前記点滅パターンを入力可能な入力手段と、該入力手段により入力された点滅パターンを前記ネットワーク手段、或いは前記非有線通信手段に出力する出力手段を備え、前記コントローラは、前記送信された点滅パターンが、該コントローラが制御する表示灯の点滅パターンと一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とするロボット制御システムを要旨とするものである。
【0017】
請求項4の発明は、請求項1乃至請求項3のいずれか1項において、前記コントローラのうち少なくとも1つのコントローラは、複数のロボットを制御することが可能であり、該コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御する複数のロボットの識別情報と一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とする。
【0018】
請求項5の発明は、可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、前記コントローラには、前記可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して受信した情報に含まれる認証対象データと、コントローラの記憶手段に格納された認証基礎データとが一致するか否かを判定し、一致した一台の可搬式操作部に対してのみ該コントローラを操作する権限を付与する認証手段を設けたことを特徴とするロボット制御システムを要旨とするものである。
【発明の効果】
【0019】
以上詳述したように、請求項1乃至請求項5の発明によれば、1台の可搬式操作部を、複数のコントローラにつなぎ換えて使用する場合、操作者のミスにより意図せぬロボットと接続してしまい、意図せぬロボットを操作してしまうことを防止することができる。
【0020】
また、請求項1の発明は、操作者が操作対象として認識しているロボットと、操作者の操作によって実際に動作するロボットが一致している場合に限り、ロボットのアームを駆動するモータへの動力の供給が可能になり、操作者が意図していないロボットを動作させてしまうことを、事前に回避することが可能となる。
【0021】
請求項2の発明は、可搬式操作部から送信されたロボット個体別IDがコントローラが制御するロボットの識別情報と一致するか否かの判別結果が、判別結果表示手段により表示されるため、操作者は、その判別結果を容易に知ることができる。この結果、操作者は、判別結果の表示によってさらに、操作者が意図していないロボットを動作させてしまうことを、事前に回避することが可能となる。
【0022】
請求項3の発明によれば、請求項1と同様の効果を奏する。
請求項4の発明によれば、1台のコントローラに複数台のロボットが接続される接続形態においても、可搬式操作部、コントローラ、ロボットの接続確認をロボット毎に認証することができるため、操作者が操作対象を誤ることを回避することができる。
【0023】
請求項5の発明によれば、可搬式操作部とコントローラ間の通信が、ネットワーク手段や非有線通信手段を経由して行われる環境において、コントローラとの通信が可能な複数の可搬式操作部が存在しても、任意の可搬式操作部、任意のコントローラとの問に、一対一の接続関係が確立される。そして、接続関係が確立した可搬式操作部からの指示によってのみ、同コントローラを操作することができることにより、同コントローラから操作権限を与えられていない可搬式操作部を持つ操作者の介入を遮断することが可能となり、操作者の安全性を確保することができる。
【図面の簡単な説明】
【0024】
【図1】参考例1のロボット制御システムのコントローラとティーチペンダントのブロック回路図。
【図2】同じくCPU11が実行する接続先検索処理のフローチャート。
【図3】同じくコントローラIDをコントローラ20A〜20Cに記名した状態を表す説明図。
【図4】参考例2のロボット制御システムのコントローラとティーチペンダントのブロック回路図。
【図5】(a)はCPU11が実行するSWの状態変化監視処理プログラムのフローチャート、(b)はCPU11が実行する表示状態切替通知処理プログラムのフローチャート。
【図6】同じく該CPU21が実行する確認表示灯On/Off処理プログラムのフローチャート。
【図7】本発明の第1実施形態のロボット制御システムのコントローラのブロック回路図。
【図8】同じくCPU11が実行する第1モータ運転許可管理処理プログラムのフローチャート。
【図9】同じくCPU21が実行するID認証処理プログラムのフローチャート。
【図10】同じくモータ運転許可要求メッセージの説明図。
【図11】同じくモータ運転許可承認メッセージの説明図。
【図12】同じくCPU11が実行する第2モータ運転許可管理処理プログラムのフローチャート。
【図13】第2実施形態のロボット制御システムのコントローラのブロック回路図。
【図14】同じくCPU11が実行する第2モータ運転許可管理処理プログラムのフローチャート。
【図15】同じくCPU21が実行するID認証処理プログラムのフローチャート。
【図16】(a)〜(c)は認証用点滅パターンと入力パターンの例を示す説明図。
【図17】同じくモータ運転許可要求メッセージの説明図。
【図18】同じくモータ運転許可承認メッセージの説明図。
【図19】第3実施形態のロボット制御システムのコントローラのブロック回路図。
【図20】同じく認証IDリスト249の説明図。
【図21】第4実施形態のロボット制御システムのコントローラのブロック回路図。
【図22】複数のティーチペンダントからコントローラが操作されていまう例の説明図。
【図23】CPU11が実行するスイッチ監視処理プログラムのフローチャート
【図24】CPU21が実行するTPID認証処理プログラム226のフローチャート。
【図25】接続要求時のティーチペンダントとコントローラの説明図。
【図26】(a)は接続認証要求メッセージの説明図、(b)は、接続認証要求メッセージの説明図、(c)は、切断要求メッセージの説明図、(d)は切断要求メッセージの説明図。
【図27】第4実施形態のCPU11が実行するコントローラ接続処理プログラムのフローチャート。
【図28】(a)は無線LANにティーチペンダントとコントローラが接続される接続形態を表す説明図、(b)は有線LANにティーチペンダントとコントローラが接続される接続形態を表す説明図。
【発明を実施するための形態】
【0025】
(参考例1)
まず、教示装置である可搬式操作部としてのティーチペンダント10と複数のコントローラ20A〜20Cとが無線LANを介して通信を行うロボット制御システム30の参考例1を図1及び図2を参照して説明する。このロボット制御システム30のコントローラ20A〜20Cがそれぞれ制御するロボットR1〜R3は、例えば溶接ロボットである、なお、ロボットは、溶接ロボットに限定されるものではなく、例えば搬送ロボット等の他のロボットであってもよい。なお、各コントローラの構成は同じであるため、コントローラ20Aの構成について以下では説明し、他のコントローラの説明を省略する。
【0026】
なお、説明の便宜上、以下の説明ではコントローラ20A〜20Cのいずれかを特定しない場合には、コントローラには20の符号を付す。同様に、ロボットR1〜R3のいずれかを特定しない場合には、ロボットにはRの符号を付す。
【0027】
(1. ティーチペンダント10)
図1に示すように可搬式操作部としてのティーチペンダント10はCPU11、ROM12、RAM13、ハードディスク14、LANI/F15、キーボード16(図3参照)、液晶ディスプレイ17(図3参照)及び有線・無線変換器18の各部を備えているとともに各部はバス19を介して接続されている。
【0028】
ティーチペンダント10のROM12には、ティーチペンダント10からのロボットR1の操作やティーチペンダント10との通信を実行するための各種制御プログラムとその制御定数が格納される。RAM13は、CPU11のワーキングエリアとして用いられ、計算途中のデータが一時的に格納される。ハードディスク14には、各種制御プログラムの実行変数等が格納される。例えば、ティーチペンダント10のアドレス(TPIP140)や、ティーチペンダント10の識別情報(TPID141)等が格納されている。LANI/F15はコントローラ20との接続に使用される通信機である。有線・無線変換器18は、LANI/F15を介して出力されたデータを無線で送信したり、コントローラ20から無線送信されたデータを受信してLANI/F15に該データを出力する。
【0029】
本参考例1のCPU11は、返信要求手段、及び接続構築手段に相当する。又、キーボード16は選択操作手段に相当する。液晶ディスプレイ17は、表示手段に相当する。
(2. コントローラ20A)
コントローラ20Aは、CPU21、ROM22、RAM23、ハードディスク24、LANI/F25、タイマ26、サーボドライバ27及び有線・無線変換器28の各部を備えているとともに各部はバス29を介して接続されている。前記ROM22には、該コントローラ20Aが制御対象とするロボットR1の動作制御を実行するための制御プログラムとその制御定数や、例えば、自身のID通知を行うためのID通知処理プログラム220等の各種プログラムが格納される。なお、図1では、説明の便宜上、ID通知処理プログラム220のみが図示されている。RAM23は、CPU21のワーキングエリアとして用いられ、計算途中のデータが一時的に格納される。ハードディスク24には、ロボットR1の作業が教示されたデータや、制御プログラムの実行条件、ならびに各種の制御変数が格納される。なお、ハードディスク24に代えて、他の書換可能な記憶装置であってもよい。LANI/F25は、ティーチペンダント10との接続に使用される通信機である。サーボドライバ27は、ロボットR1の各関節を駆動する図示しないモータに接続され、該モータに通電させる電流を制御する。タイマ26は、定期時刻ごとに同期信号を発生する。該同期信号は、サーボドライバ27への指令値の更新タイミングに使用される。
【0030】
本参考例1では、ティーチペンダント10のLANI/F15、有線・無線変換器18、コントローラ20AのLANI/F25、有線・無線変換器28とにより、無線LANからなるネットワーク手段が構成されている。なお、無線LANでは通信パケットによりLANI/F15,25間の交信が行われている。なお、本参考例1を含めた以下の各参考例、並びに実施形態では、各種メッセージが作成されて交信相手に送信されるが、特段に説明が無くても通信パケットとして各種メッセージが作成されている。
【0031】
(参考例1の作用)
さて、上記のように構成されたロボット制御システム30において、ティーチペンダント10がコントローラ20のいずれかに接続する際の作用を説明する。本参考例1では、ティーチペンダント10から接続先をサーチする際、下記の順序で行われる。
【0032】
1)ティーチペンダント10によるコントローラのサーチ
ティーチペンダント10のCPU11は、ティーチペンダント10の操作者によるキーボード操作により、「コントローラへの接続処理」が開始されたことを検知すると、ROM12に格納された接続先検索処理プログラム121を実行する。図2はCPU11が実行する接続先検索処理プログラム121のフローチャートである。
【0033】
CPU11は、ティーチペンダント10の無線LANを介して自身と接続可能なコントローラ20A〜20Cを全てサーチする(図2のS1参照)。なお、以下では、本参考例1、及び他の参考例、並びに下記の実施形態において、説明の便宜上、ティーチペンダント10とコントローラ20とは、LANI/F15,25、及び有線・無線変換器18、28による無線LANを介して交信(送信、受信を含む)することを、単に無線LANを介して送信、受信、発行、或いは通知する等という。
【0034】
具体的には、CPU11は、全コントローラ20に対して、アドレスであるコントローラIPの要求コマンド及び送信元情報として自身のTPIP140を含む通信パケットを作成して無線LANを介して発行する。一方、各コントローラ20は、それに対しハードディスク24に格納している自身のコントローラIP242及び送信先情報として前記ティーチペンダントのTPIP140を含む通信パケットを作成して無線LANを介して送信する。なお、IPはIP(Internet Protocol)アドレスを意味する。
【0035】
ティーチペンダント10のCPU11は、サーチしたコントローラ20のアドレス(コントローラIP242)をハードディスク14のコントローラアドレスリスト142に保存にする。なお、このとき、CPU11はネットワーク上に接続されている全ての装置のノードのアドレスをコントローラアドレスリスト142に格納しても良い。
【0036】
なお、多くのコントローラが存在する場合は、接続が許容されるコントローラをハードディスク14の接続許可コントローラアドレスリスト143に操作者が予め設定しておき、接続許可コントローラアドレスリスト143と合致するものだけをコントローラアドレスリスト142に格納するようにしてもよい。このようにすると、処理時間の短縮ならびにユーザの接続先確認作業の簡素化が可能となる。
【0037】
2) ティーチペンダント10によるコントローラIDの取得
次に、CPU11は、コントローラアドレスリスト142から順次アドレスをピックアップし、アドレス毎に、送信先情報として該アドレス、送信元情報として自身のTPIP140及びコントローラIDの返信を要求するコマンドを含む通信パケットを作成して無線LANを介して発行する。コントローラIDは、コントローラ毎に設けられた固有の識別情報であって、コントローラ識別情報に相当する。
【0038】
該当する送信先情報のアドレスを持つコントローラのCPU21がコマンドを受け取ると、ID通知処理プログラム220に従って該CPU21は、自身のコントローラID241及び送信先情報として前記ティーチペンダントのTPIP140を含む通信パケットを作成する。コントローラID241は、ハードディスク24に予め格納されている。
【0039】
そして、CPU21は該通信パケットをコマンド発行元のティーチペンダント10に対して無線LANを介して返信する。ティーチペンダント10のCPU11は、返信されたコントローラIDを、ティーチペンダント10に接続可能なコントローラのコントローラIDとして、ハードディスク14のコントローラIDリスト144に保存する(図2のS2参照)。
【0040】
3) ティーチペンダント10によるコントローラIDの表示
次にCPU11は、図2のS3において、ROM12に格納された接続先表示処理プログラム122を実行する。すなわち、CPU11は、ハードディスク14のコントローラIDリスト144の内容を、例えば図3に示すようにティーチペンダント10の液晶ディスプレイ17に表示する。なお、この表示は、アルファベットや漢字・ひらがな・カナを使用したコントローラIDにてロボットの個体識別を行う方が、単に数字の羅列となるアドレスで検索するより、安全かつ確実になるのは言うまでも無い。又、コントローラIDを図3に示すようにコントローラ20A〜20CあるいはロボットRの本体部に記名しておけば、更に識別の確実性や安全性を向上できる。
【0041】
4) ティーチペンダント10によるコントローラIDの選択
次に、CPU11は、S4において、ROM12に格納された接続先選択処理プログラム123を実行する。すなわち、S4において、CPU11は操作者がキーボード16のキー入力を待つ。そして、CPU11はキー入力により液晶ディスプレイ17に表示されたコントローラIDから任意の1つを選択して確定させたことを検知すると、S4の判定を「YES」とする。続いて、CPU11は、選択されたコントローラIDに該当するコントローラアドレスを、自ティーチペンダント10の接続先コントローラアドレスである接続先コントローラIP145としてハードディスク14に登録する(S5)。
【0042】
5) ティーチペンダント10による自ID番号の通知
次に、CPU11は、S6において、選択された接続先コントローラに対して、自身のアドレスを通知するように、送信先情報である該接続先コントローラアドレスとして接続先コントローラIP145及び送信元情報を兼用する自身のアドレス(TPIP140)を含む通信パケットを作成して無線LANを介して発行する。
【0043】
通知を受けたコントローラは、接続先のティーチペンダント10として通知されたアドレス(TPIP140)を接続先TPIP243としてコントローラ20のハードディスク24に保管する。
【0044】
上記のようにして、ティーチペンダント10とコントローラ20の双方が互いのアドレス(TPIP,コントローラIP)を確認し合うことにより接続関係が確立される。このことにより、複数のティーチペンダント10や複数のコントローラが混在する場合でも、ティーチペンダント10からの操作で安全かつ確実にティーチペンダント10とコントローラの接続処理が可能となる。
【0045】
さて、参考例1によれば、以下のような特徴がある。
参考例1のロボット制御システム30では、ティーチペンダント10(可搬式操作部)と、無線LAN(非有線通信手段)を介して情報を送受信する複数のコントローラ20A〜20Cと、該コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットR1〜R3を備える。
【0046】
又、ティーチペンダント10はコントローラ20に対してコントローラID(コントローラ識別情報)の返信を要求するCPU11(返信要求手段)を備えるとともに、前記返信の要求に応じてコントローラ20から返信されたコントローラIDを表示する液晶ディスプレイ17(表示手段)を有する。又、ティーチペンダント10のCPU11(接続構築手段)は、液晶ディスプレイ17により表示されたコントローラIDをキーボード16(選択操作手段)の操作により選択すると、選択されたコントローラIDを有するコントローラと接続関係を構築する。
【0047】
この結果、参考例1では、1台のティーチペンダント10を、複数のコントローラにつなぎ換えて使用する場合、操作者のミスにより意図せぬロボットと接続してしまい、意図せぬロボットを操作してしまうことを防止することができる。
【0048】
(参考例2)
次に、参考例2を図4〜図6を参照して説明する。
参考例2のロボット制御システム30において、ティーチペンダント10には、参考例1の構成に加えてさらにタイマ50及び入出力ポート51を介して接続先確認スイッチ(以下、接続先確認SW52という)の開閉作動を監視するための回路が設けられている。タイマ50は定期時刻ごとに同期信号を発生する。そして、該同期信号はティーチペンダント10で実施される定期的な演算のタイミングとして使用される。CPU11は、入出力ポート51を介して接続先確認SW52のオンオフ操作の監視が可能である。接続先確認SW52は、接続先確認操作手段に相当する。
【0049】
又、参考例2のロボット制御システム30において、コントローラ20には、参考例1の構成に加えてさらに、接続先確認表示灯55の点灯回路54が設けられている。点灯回路54はコントローラ20が制御するロボットRに設けられた接続先確認表示灯55を点灯するためのものであり、点灯回路54に設けられた接点54aをCPU21が入出力ポート53を介してオンオフ制御することにより、接続先確認表示灯55の点灯及び消灯が可能である。接点54aは、例えば、スイッチングトランジスタからなる。
【0050】
(参考例2の作用)
さて、上記のように構成されたロボット制御システム30の作用を図5(a)、(b)及び図6のフローチャートを参照しながら説明する。
【0051】
なお、このフローチャートに示される処理は、各CPUにおいて、所定の制御周期毎(例えば、0.1sec毎)に、すなわち、定期的に実行される。
1) 接続先確認SW52の状態変化監視処理
ティーチペンダント10のCPU11は、タイマ50により定期的な演算タイミングの通知を受けると、ROM12に格納したSWの状態変化監視処理プログラム124を実行する。図5(a)はSWの状態変化監視処理プログラム124のフローチャートである。
【0052】
CPU11はS11において、入出力ポート51を介して、接続先確認SW52が"開","閉"のどちらの状態にあるか、すなわち、操作者により接続先確認SW52がオン操作されたか否かを監視する。なお、本参考例2では、接続先確認SW52は非操作時には"閉"であるが、逆の"開"であってもよい。ティーチペンダント10のハードディスク14には、前回監視したときの接続先確認SW52の"開"又は"閉"の状態がSW状態データ146(すなわち、前回の監視の結果)として保管されている。そして、CPU11は前回の監視の結果と、今回の監視の結果を比較することにより状態が変化したことを検知する(S12)。SW状態データ146は確認操作情報に相当する。
【0053】
仮に、接続先確認SW52の状態に変化があったとき(すなわち、S12の判定が「YES」のとき)には、CPU11はROM12に格納された表示状態切替通知処理プログラム125を実行するとともに、ハードディスク14のSW状態データ146を今回の監視結果に更新する。又、接続先確認SW52の状態に変化がないとき(すなわち、S12の判定が「NO」のとき)には、CPU11はこのプログラムを一旦終了する。
【0054】
このようにティーチペンダント10のタイマ50より送られてくるSWの状態変化監視処理プログラム124の実行タイミングは、通常0.1sec程度の間隔でサイクリックに発生するため、操作者が接続先確認SW52の"開","閉"を繰り返す度に、SW状態の変化を検知し、表示状態切替通知処理の実行を行うことが可能となる。
【0055】
2) 表示状態切替通知処理
次に、S13で実行される表示状態切替通知処理について説明する。
表示状態切替通知処理プログラム125がCPU11にて実行されると、CPU11は、LANI/F15を介して、「確認表示灯の切替命令」を接続先のコントローラ20に対して発行する(図5(b)のS20参照)。この「確認表示灯の切替命令」には、ハードディスク14に保管されているSW状態データ146をパラメータとして付加する。なお、接続先のコントローラ20のアドレスは、接続先コントローラIP145として予めティーチペンダント10のハードディスク14に格納されているため、この「確認表示灯の切替命令」も、接続先コントローラIP145で指定されたコントローラ20に対して発行される。
【0056】
3) 確認表示灯のON/OFF処理
次に、コントローラ側での処理を説明する。
前記「確認表示灯の切替命令」を受け取った該当アドレスを持つコントローラ20のCPU21は「確認表示灯の切替命令」を受け取ると、ROM22に格納した確認表示灯On/Off処理プログラム222を起動し、当該命令にパラメータとして格納されているSW状態データ146を解析する(図6のS30)。そして、CPU21は、SW状態データ146が"閉"のとき(S31において、「YES」の判定のとき)には、接続先確認表示灯55への電力供給を制御する接点54aを"閉"にし、接続先確認表示灯55を点灯させる(S32)。逆に、CPU21はSW状態データ146が"開"のときには、接続先確認表示灯55への電力供給を制御する接点54aも"開"にし、接続先確認表示灯55を消灯させる(S33)。
【0057】
さて、参考例2によれば、以下のような特徴がある。
参考例2では、ティーチペンダント10(可搬式操作部)は接続先確認SW52の確認操作を検出し、無線LANを介してティーチペンダント10と接続関係が構築されているコントローラ20に対してSW状態データ146(確認操作情報)を送信するCPU11(確認操作検出手段)を備える。
【0058】
そして、コントローラ20は、SW状態データ146を受信し、送信されたSW状態データ146が自分に関係する場合には、制御対象のロボットRが備える接続先確認表示灯55を点灯するようにした。
【0059】
このためワイヤレス化されたティーチペンダント10を持つ操作者が、接続先のコントローラ20を確認するためのスイッチである接続先確認SW52を押したとき(閉)のみ、ティーチペンダント10の接続先のコントローラ20に取り付けられた接続先確認表示灯55が点灯する。又、操作者がティーチペンダント10の接続先確認SW52を開放操作したとき(開)のみ、ティーチペンダント10の接続先のコントローラ20に取り付けられた接続先確認表示灯55が消灯する。
【0060】
この結果、ティーチペンダント10を持つ操作者は、自らが持つティーチペンダント10と接続関係にあるコントローラ20を容易に目視で特定することが可能になる。従って、複数のティーチペンダント10やコントローラ20が混在する場合でも、ティーチペンダント10からの操作で安全かつ確実にティーチペンダント10とコントローラ20の接続関係を確認することが可能となる。
【0061】
(第1実施形態)
次に、本発明を具体化した第1実施形態を図7〜11を参照して説明する。
第1実施形態のロボット制御システム30において、ティーチペンダント10には、参考例1のティーチペンダント10の構成に加えて、モータ運転許可スイッチ56及びモータ運転スイッチ57が設けられているところが異なっている。コントローラ20のハード構成は参考例1と同様である。モータ運転スイッチ57は操作者によりロボットアームを駆動するモータ(図示しない)への電力供給を操作するためものである。又、モータ運転許可スイッチ56は、コントローラ20に対してロボットのモータ運転許可を得るために操作するためのものである。なお、第1実施形態において、キーボード16は入力手段に相当する。ティーチペンダント10のCPU11は出力手段に相当する。液晶ディスプレイ17は判別結果表示手段に相当する。
【0062】
(第1実施形態の作用)
そして、第1実施形態は、ティーチペンダント10のCPU11と、コントローラ20のCPU21が下記の処理を行うところが異なっている。
【0063】
1) モータ運転許可要求メッセージの通知処理
ティーチペンダント10のCPU11は、図示しないタイマの同期信号によって所定の制御周期毎(例えば、0.1sec毎)に、すなわち、定期的にROM12に格納されたスイッチ監視処理プログラム126を実行する。そして、操作者が、ティーチペンダント10のモータ運転許可スイッチ56を押すと、CPU11は、スイッチ監視処理プログラム126に従いROM12に格納された第1モータ運転許可管理処理プログラム127Aを起動し、操作者に対しIDの入力を促す旨の表示を液晶ディスプレイ17にて行う(図8参照)。そして、ロボット個体別IDの入力がキーボード16により行われたか否かを待つ(S40)。
【0064】
ここで、操作者は、ロボットRの本体部に明記されているロボット個体別IDを目視にて確認し、ティーチペンダント10のキーボード操作にて、該ロボット個体別IDを入力する。なお、ロボット個体別IDはロボットを識別するためのロボット毎に付与された固有のIDである。
【0065】
操作者がロボット個体別IDの入力操作を完了すると、CPU11は、接続先コントローラに対して、無線LANを介してモータ運転許可要求メッセージを通知する。モータ運転許可要求メッセージには、図10に示すようにモータ運転許可要求メッセージを識別するためのメッセージID180、送信元のTPID141、接続先コントローラID148(すなわち、送信先コントローラID)、及び認証ID149が含まれている。なお、認証ID149は、操作者が入力したロボット個体別IDである。
【0066】
なお、TPID141や、接続先コントローラID148は、操作者によりキーボード入力されハードディスク14に格納され、前記モータ運転許可要求メッセージ作成時にCPU11により読み出されて利用される。
【0067】
2) コントローラ20によるロボット個体別IDの認証処理
無線LANを介して、接続先コントローラID148と一致するコントローラ20のCPU21は、前記モータ運転許可要求メッセージを受信すると、モータ運転許可要求メッセージ内の送信元のTPID141をハードディスク24に接続先TPID246として格納するとともにROM22に格納されたID認証処理プログラム223を起動する。
【0068】
図9はID認証処理プログラム223のフローチャートである。
CPU21はハードディスク24から認証ID247を読み出す(S50)。この認証ID247は、予め当該コントローラ20に接続されているロボットRに付与されたロボット個体別IDである。そして、CPU21はモータ運転許可要求メッセージに含まれる認証ID149とハードディスク24から読み出した認証ID247が一致、すなわち、両ロボット個体別IDが一致するか否かを判断する(S51)。
【0069】
CPU21は認証ID149と認証ID247が一致したことを確認した場合(S51において「YES」の判定のとき)は、当該モータ運転許可要求メッセージに含まれる送信元のTPID141を、ハードディスク24に操作許可TPID248として保存する(S52)。
【0070】
なお、操作許可TPID248の初期値は、ロボットが存在しないことを意味する初期値ID(例:−1)が設定されている。そして、モータ運転許可要求メッセージに含まれる認証ID149と、認証ID247とが一致しない場合(S51において「NO」の判定のとき)は、操作許可TPID248には、前記初期値IDが保持される(S56)。
【0071】
3) コントローラ20によるティーチペンダント10へのモータ運転許可承認メッセージの通知
そして、CPU21は、認証ID149と認証ID247とが一致している場合、モータ運転許可要求メッセージを送信したティーチペンダント10に通知するために図11に示すようにモータ運転許可承認メッセージを作成する(S53)。具体的にはCPU21はハードディスク24内のコントローラID241、接続先TPID246、及び認証ID247を読み込みしてそれぞれを送信元のコントローラID、送信先TPID182、ロボット個体別ID183とし、これらにメッセージを識別するためのメッセージID181を付加してモータ運転許可承認メッセージとする。ここで作成されたモータ運転許可承認メッセージは、ロボット個体別ID183が認証ID247のロボット個体別IDとなっているため、操作者が入力したロボット個体別IDに対応したロボットが有る旨のメッセージとなる。
【0072】
一方、上記2)において、操作者が入力したロボット個体別IDである認証ID149と認証ID247とが一致していない場合、CPU21は、モータ運転許可要求メッセージを送信したティーチペンダント10に通知するために図11に示すようにモータ運転許可承認メッセージを作成する(S57)。具体的には、CPU21はハードディスク24内のコントローラID241、及び接続先TPID246を読み込みしてそれぞれを送信元のコントローラID、送信先TPID182とする。さらに、CPU21は、ロボット個体別ID183には、初期値ID(例:−1)を設定し、これらのデータにメッセージを識別するためのメッセージID181を付加してモータ運転許可承認メッセージとする。ここで作成されたモータ運転許可承認メッセージは、ロボット個体別ID183に初期値が設定されているため、操作者が入力したロボット個体別IDに対応したロボットが無い旨のメッセージとなる。
【0073】
そして、CPU21はS53又はS57で作成したモータ運転許可承認メッセージを無線LANを介してティーチペンダント10に通知する。
4) ティーチペンダント10及びコントローラ20における当該ロボットのモータ運転の許可
コントローラ20のCPU21は、ROM22に格納されたモータ運転制御処埋プログラム224を起動し(S55)、操作許可TPID248に初期値以外のIDが保存されていることが確認できた場合、モータ運転禁止状態からモータ運転許可状態への状態遷移を行う。
【0074】
一方、ティーチペンダント10のCPU11は、コントローラ20からモータ運転許可承認メッセージを受信すると、ROM12に格納した第2モータ運転許可管理処理プログラム127Bを起動する(図12参照)。そして、CPU11はモータ運転許可承認メッセージに含まれているロボット個体別ID183をハードディスク14にモータ運転許可ロボットID147として保存する(S58)。
【0075】
又、CPU11はこの処理とは別に、受信したモータ運転許可承認メッセージに基づき操作者が入力したロボット個体別IDに対応するロボットが当該コントローラ20に接続されているか否かの判定結果を操作者に知らせるための処理を行う。
【0076】
具体的には、保存されたモータ運転許可ロボットID147が、初期値の場合には、CPU11は液晶ディスプレイ17に操作者が入力したロボット個体別IDに対応するロボットが無い旨を表示し、初期値でない場合には液晶ディスプレイ17に該ロボットが有る旨を表示する。又は、CPU11はティーチペンダント10上の表示灯(図示しない)の点灯状態を、モータ運転許可ロボットID147が初期値か否かに応じて変更する。このことによって、操作者が操作対象として認識しているロボットが、実際の制御対象のロボットであるか否かを操作者に対して知らせる。
【0077】
この後、モータ運転許可承認メッセージにより、コントローラ20から運転許可が得られていれば(ロボット個体別ID183が初期値でない場合)、モータ運転スイッチ57を操作者がオン操作すると、この操作に基づく指示がCPU11から無線LANを介してコントローラ20に通知される。そして、コントローラ20の制御によりロボットRのロボットアームの図示しないモータに対して電力供給がされる。
【0078】
さて、第1実施形態によれば、以下のような特徴がある。
(1) 第1実施形態のロボット制御システム30では、ロボットRには、ロボット個体別IDが表示されている。又、ティーチペンダント10(可搬式操作部)には、ロボット個体別IDを入力するキーボード16(入力手段)と、キーボード16により入力されたロボット個体別IDを無線LANに出力するCPU11を備える。又、コントローラ20は、送信されたロボット個体別IDが、該コントローラ20が制御するロボットのロボット個体別ID(識別情報)と一致する場合に、該ロボットを駆動する駆動源の電力供給をモータ運転許可承認メッセージにて許可するようにした。
【0079】
すなわち、操作者が入力したロボット個体別IDに該当するロボットが、当該コントローラ20に接続されている場合、モータ運転許可ロボットID147には、初期値ID以外のロボット個体別IDが保存される。又、操作者が入力したロボット個体別IDに対応するロボットが、当該コントローラ20に接続されていない場合、モータ運転許可ロボットID147には、初期値IDが保持されるようにした。
【0080】
したがって、ティーチペンダント10のCPU11は、モータ運転許可ロボットID147に保存された内容から、操作者が操作対象として認識しているロボットが、実際の制御対象のロボットであるか否かを知ることができる。
【0081】
(2) 又、第1実施形態では、コントローラ20のCPU21は、操作許可TPID248に保存された内容に基づいて接続されたロボットを操作対象として正しく認識している操作者が把持しているティーチペンダント10を特定することができる。
【0082】
(3) 第1実施形態では、コントローラ20は、ティーチペンダント10から送信されたロボット個体別IDが、コントローラ20が制御するロボットの識別情報と一致するか否かを判別し、前記ロボット個体別IDを送信したティーチペンダント10に対してその判別結果を送信するようにした。そして、ティーチペンダント10には、該判別結果を表示する液晶ディスプレイ17(判別結果表示手段)を備えるようにした。
【0083】
この結果、第1実施形態では、ティーチペンダント10から送信されたロボット個体別IDがコントローラ20が制御するロボットのロボット個体別ID(識別情報)と一致するか否かの判別結果が、液晶ディスプレイ17により表示されるため、操作者は、その判別結果を容易に知ることができる。この結果、操作者は前記判別結果の表示によってさらに、操作者が意図していないロボットを動作させてしまうことを事前に回避することが可能となる。
【0084】
(4) 第1実施形態では、以上の1)〜4)により、操作者が操作対象として認識しているロボットと、操作者の操作によって実際に動作するロボットが一致している場合に限り、ロボットのロボットアームを駆動するモータへの動力の供給が可能になり、操作者が意図していないロボットを動作させてしまうことを、事前に回避することが可能となる。
【0085】
(第2実施形態)
次に第2実施形態を図13〜18を参照して説明する。
第2実施形態のロボット制御システム30のハード構成は、第1実施形態のロボット制御システム30のハード構成に対して、参考例2と同様の入出力ポート53、点灯回路54、接点54a及び表示灯55Aがコントローラ20に付加された構成であることが異なっている。表示灯55Aはコントローラ20が制御するロボットRに付設されているとともに、参考例2の接続先確認表示灯55と同様に接点54aのオンオフ作動により、点灯消灯が可能である。
【0086】
(第2実施形態の作用)
さて、上記のように構成されたロボット制御システム30の作用を説明する。
1) ティーチペンダント10によるコントローラ20へのモータ運転許可の通知
ティーチペンダント10のCPU11は、図示しないタイマの同期信号によって所定の制御周期毎(例えば、0.1sec毎)に、すなわち、定期的にROM12に格納されたスイッチ監視処理プログラム126Aを実行する。
【0087】
そして、操作者が、ティーチペンダント10のモータ運転許可スイッチ56を押すと、CPU11は、スイッチ監視処理プログラム126Aに従いROM12に格納された第1モータ運転許可管理処理プログラム127A1を起動する(図14参照)。そして、CPU11は、各コントローラ20に対して、無線LANを介して「点灯要求」を行ない(S60)、操作者に対しIDの入力を促す旨の表示を液晶ディスプレイ17にて行うとともに、点滅パターン入力がキーボード16により行われたか否かを待つ(S61)。
【0088】
一方、各コントローラ20に対する「点灯要求」をコントローラ20のCPU21が無線LANを介して受信すると、該CPU21はROM22に格納された表示灯制御処理プログラム225を起動する。そして、CPU21は表示灯制御処理プログラム225に従って予めハードディスク24に認証1D247として登録されているロボット個体別IDを認証用点滅パターンに変換し、その変換結果に従って接点54aのオンオフ制御を行うことによりロボットに設置された表示灯55Aを点滅させる。このロボット個体別IDは、このコントローラ20に接続された制御対象のロボットを識別するためにロボット毎に付与された固有のIDである。
【0089】
前記ロボット個体別IDを認証用点滅パターンに変換する具体例が、図16(a)〜(c)に1サイクル分それぞれ示されている。図16(a)〜(c)の例では、CPU21は予め16ビットの16進数で付与されたロボット個体別IDを、一旦、2進数に変換し、次に、2進数表記の"1"を表示灯の点灯指令、2進数表記の"0"を表示灯の消灯指令に変換している。
【0090】
図16(a)の例では、ロボット個体別ID(16進数表記で"AA00")が"1010101000000000"の2進数に変換される。そして、この2進数表記されたものが1サイクル分の認証用点滅パターンとして、左からの順で2進数表記の"1"に対応して表示灯55Aが一定時間t1で点灯され、2進数表記の"0"に対応して一定時間t2(=t1)で消灯される。この一定時間t1,t2とは、人間の目で点灯消灯が十分に観察できる時間幅である。図16(b)の例では、ロボット個体別ID(16進数表記で"F500")が"1111010100000000"の2進数に変換され、この2進数表記されたものが認証用点滅パターンとなる。図16(c)の例では、ロボット個体別ID(16進数表記で"D580")が"1101010110000000"の2進数に変換され、この2進数表記されたものが認証用点滅パターンとなる。
【0091】
これらの例に示すように、本実施形態では、1サイクルの後半部分では、長い消灯時間があるため、操作者はこの長い消灯時間後に始まる最初の点滅から、認証用点滅パターンの開始点を知ることができる。これらの1サイクル分の認証用点滅パターンがどのロボット個体別IDであるかを操作者は予め学習しておいたり、或いは、このパターンと対応するロボット個体別IDを記載したパターン表(図示しない)を操作者が見ることにより、ロボット個体別IDをキーボード操作によりティーチペンダント10に入力することができる。
【0092】
上記のようにして、操作者は、ロボットRの本体部に明記されているロボット個体別IDを目視にて確認し、ティーチペンダント10のキーボード操作にて、該ロボット個体別IDを入力する。
【0093】
操作者がロボット個体別IDの入力操作を完了すると、CPU11は入力された結果を数値化する(S62)。この数値化されたものを以下、入力パターンという。操作者が入力した結果を数値化する具体例としては、まず、CPU11はティーチペンダント10の任意のキーの押下状態を一定周期毎に監視し、任意のキーが押されている場合を"1"、同キーが離されている状態を"0"としてRAM13に記録し、次に記録された"1"と"0"を2進数とみなして数値化する方法がある。
【0094】
次に、ティーチペンダント10のCPU11は、接続先のコントローラ20に対して、モータ運転許可要求メッセージを通知する(S63)。図17に示すようにこのモータ運転許可要求メッセージの構成は、認証ID以外は第1実施形態と同様である。本実施形態の認証ID149Aは、操作者がキー入力した入力操作を、S62において数値化された入力パターンである。
【0095】
2) コントローラによる入力パターンの認証
コントローラ20のCPU21はティーチペンダント10からモータ運転許可要求メッセージを無線LANを介して受信すると、該メッセージ内の送信元のTPID141をハードディスク24に接続先TPID246として格納するとともにROM22に格納されたID認証処理プログラム223Aを起動する。
【0096】
図15はID認証処理プログラム223Aのフローチャートである。
CPU21はハードディスク24から認証ID247を読み出す(S50)。この認証ID247は、予め当該コントローラ20に接続されているロボットRに付与されたロボット個体別IDである。
【0097】
そして、CPU21はモータ運転許可要求メッセージに含まれる認証ID149A(入力パターン)とハードディスク24から読み出した認証ID247が一致、すなわち、両ロボット個体別IDが一致するか否かを判断する(S51A)。
【0098】
CPU21は認証ID149Aと認証ID247が一致したことを確認した場合(S51Aにおいて「YES」の判定のとき)は、当該モータ運転許可要求メッセージに含まれる送信元のTPID141を、ハードディスク24に操作許可TPID248として保存する(S52)。
【0099】
なお、操作許可TPID248の初期値は、ロボットが存在しないことを意味する初期値ID(例:FFFF)が設定されている。そして、モータ運転許可要求メッセージに含まれる認証ID149Aと、認証ID247とが一致しない場合(S51Aにおいて「NO」の判定のとき)は、操作許可TPID248には、前記初期値IDが保持される(S56)。
【0100】
3) コントローラ20によるティーチペンダント10へのモータ運転許可承認メッセージの通知
そして、CPU21は、認証ID149Aと認証ID247とが一致している場合、モータ運転許可要求メッセージを送信したティーチペンダント10に通知するために図18に示すようにモータ運転許可承認メッセージを作成する(S53A)。
【0101】
具体的にはCPU21はハードディスク24内のコントローラID241、接続先TPID246、及び認証ID247を読み込みしてそれぞれを送信元のコントローラID、送信先TPID182、入力パターン250とし、これらにメッセージID181を付加してモータ運転許可承認メッセージとする。ここで作成されたモータ運転許可承認メッセージは、入力パターン250が認証ID247のロボット個体別IDとなっているため、操作者が入力したロボット個体別IDに対応したロボットが有る旨のメッセージとなる。
【0102】
一方、上記2)において、操作者が入力したロボット個体別IDである認証ID149Aと認証ID247とが一致していない場合、CPU21は、モータ運転許可要求メッセージを送信したティーチペンダント10に通知するために図18に示すようにモータ運転許可承認メッセージを作成する(S57A)。
【0103】
具体的には、CPU21はハードディスク24内のコントローラID241、及び接続先TPID246を読み込みしてそれぞれを送信元のコントローラID、送信先TPID182とする。さらに、CPU21は、入力パターン250には、ロボットが存在しないことを意味する初期値ID(例:FFFF)を設定し、これらのデータにメッセージID181を付加してモータ運転許可承認メッセージとする。ここで作成されたモータ運転許可承認メッセージは、入力パターン250に初期値が設定されているため、操作者が入力したロボット個体別IDに対応したロボットが無い旨のメッセージとなる。
【0104】
そして、CPU21はS53A又はS57Aで作成したモータ運転許可承認メッセージを無線LANを介してティーチペンダント10に通知する。
4) ティーチペンダント10及びコントローラ20における当該ロボットのモータ運転の許可
コントローラ20のCPU21はS55では第1実施形態のS55(図9参照)と同様の処理を行うため説明を省略する。
【0105】
一方、ティーチペンダント10は、コントローラ20からモータ運転許可承認メッセージを受信すると、ROM12に格納した第2モータ運転許可管理処理プログラム127B1を起動する。そして、CPU11はモータ運転許可承認メッセージに含まれている入力パターン250をハードディスク14にモータ運転許可ロボットID147として保存する。
【0106】
又、CPU11はこの処理とは別に、受信したモータ運転許可承認メッセージに基づき操作者が入力したロボット個体別IDに対応するロボットが当該コントローラ20に接続されているか否かの判定結果を操作者に知らせるための処理を行う。この処理は、第1実施形態と同様であるため、説明を省略する。
【0107】
そして、モータ運転許可承認メッセージにより、コントローラ20から運転許可が得られていれば(入力パターン250が初期値でない場合)、モータ運転スイッチ57を操作者がオン操作すると、この操作に基づく指示がCPU11から無線LANを介してコントローラ20に通知される。そして、コントローラ20の制御によりロボットRのロボットアームの図示しないモータに対して電力供給がされる。
【0108】
さて、第2実施形態によれば、以下のような特徴がある。
(1) 第2実施形態では、ロボットRには、該ロボット固有の認証用点滅パターン(点滅パターン)でコントローラ20により点滅制御される表示灯55Aが備えられている。そして、ティーチペンダント10(可搬式操作部)には、前記点滅パターンを入力可能なキーボード16(入力手段)と、キーボード16により入力された点滅パターンを無線LANに出力するCPU11(出力手段)を備える。一方、コントローラ20は、前記送信された点滅パターンが、コントローラ20が制御する表示灯55Aの点滅パターンと一致する場合に、ロボットRを駆動するモータ(駆動源)の電力供給を許可するようにした。このように構成しているため、第2実施形態は請求項7の(1)と同様の効果を奏する。
【0109】
(2) 第2実施形態も第1実施形態と同様に第1実施形態の(2)〜(4)の作用効果を実現することができる。
(第3実施形態)
次に、第3実施形態を図19及び図20を参照して説明する。第3実施形態は、第1実施形態を変形したものである。なお、第1実施形態と同一又は相当する構成については、同一符号を付す。第3実施形態では、図19に示すように1台のコントローラ20Aに、複数台のロボットR1a〜R1cが接続されていることと、ハードディスク24内に第1実施形態の認証ID247の代わりに認証IDリスト249が格納されているところが第1実施形態と異なっている。なお、図19において、コントローラ20A以外のコントローラ20B等のロボットについては説明の便宜上、図示されていない。又、ロボットR1a〜R1cの本体部に対してそれぞれロボット個体別IDが明記されている。
【0110】
図20に示すように認証IDリスト249には、当該コントローラ20Aに接続されているロボットR1a〜R1c毎に、認証ID247Aと操作許可TPID248Aを登録することができる。認証IDリスト249の認証ID247Aには、第1実施形態と同様に、あらかじめ、当該コントローラ20Aに接続されているロボットに付与されたロボット個体別IDが登録されている。又、認証IDリスト249の操作許可TPID248Aには、初期値として、ロボットが存在しないことを意味する初期値ID(例:−1)が設定されている。
【0111】
(第3実施形態の作用)
第3実施形態は、第1実施形態と一部が異なるだけであるため、異なる作用を中心に説明する。
【0112】
ティーチペンダント10から第1実施形態と同様にモータ運転許可要求メッセージを受信したコントローラ20Aは、ID認証処理プログラム223を起動する。そして、CPU21は認証IDリスト249を検索し、モータ運転許可要求メッセージ中の認証ID149(図10参照)が、認証IDリスト249内に存在することが確認できた場合、該メッセージ中の送信元のTPID141を認証IDリスト249内の該当する操作許可TPID248Aに登録保存する。
【0113】
さて、第3実施形態によれば、以下のような特徴がある。
第3実施形態では、このように、認証IDリスト249を導入したため、1台のコントローラ20Aに複数台のロボットRb1〜Rb3が接続される接続形態においても、ティーチペンダント10、コントローラ、ロボットの接続確認をロボット毎に認証することができるため、操作者が操作対象を誤ることを回避することができる。
【0114】
(第4実施形態)
次に、第4実施形態を図21、図22、図23〜26を参照して説明する。
第4実施形態のロボット制御システム30のハード構成は、第1実施形態(図7参照)の構成中、モータ運転許可スイッチ56及びモータ運転スイッチ57の図示が省略されているところが異なっている。本実施形態のCPU21は認証手段に相当する。
【0115】
(第4実施形態の作用)
さて、上記のように構成されたロボット制御システム30の作用を説明する。本実施形態では、コントローラ20とティーチペンダント10との通信が無線LANを経由して行われる。そして、一台のコントローラ20との通信が可能な複数のティーチペンダント10等がネットワーク内に存在する環境において、ティーチペンダント10等とコントローラ20との間で、一対一の接続関係を確立するために、以下の4つのステップが実行される。
【0116】
1) ティーチペンダント10によるコントローラ20への接続認証要求メッセージの通知
第4実施形態では、図示しないタイマの同期信号によって所定の制御周期毎(例えば、0.1sec毎)に、すなわち、定期的にROM12に格納された図示しないスイッチ監
視処理プログラムがCPU11により実行されている。このようにコントローラ20から操作権限を取得していないティーチペンダント10では、コントローラ接続処理が、操作者からの接続要求待ちの状態にある。具体的には、ティーチペンダント10は操作者からのキーボード入力を待つ状態にある。図23は本実施形態のスイッチ監視処理プログラムのフローチャートである。この状態では、CPU11がスイッチ監視処理プログラムを実行することにり、操作者に対しユーザID、パスワード、コントローラIDの入力を促す旨の表示が図25に示すように液晶ディスプレイ17にて行われる。
【0117】
そして、操作者Hが任意のコントローラを操作したい場合、操作者Hはティーチペンダント10の液晶ディスプレイ17に表示する内容にしたがって、操作を行いたいコントローラに付与されているコントローラID、操作者のユーザID、操作者Hのパスワードをキーボード16の操作によって入力する(S70)。操作者Hの入力操作が完了すると、CPU11はコントローラ20に対して、無線LANを介して接続認証要求メッセージを通知する(S71)。この接続認証要求メッセージには、図26(a)に示すように該メッセージを識別するためのメッセージID184、送信元のTPID141、ユーザID190、及びパスワード191が含まれている。
【0118】
なお、接続認証要求メッセージの送信元のTPID141には、操作者がキーボード操作を行ったティーチペンダント10のMACアドレス(Media Access Control address)130が格納されている。又、接続認証要求メッセージの送信元のユーザID190、及びパスワード191には操作者Hが入力した文字列情報をASCIIコードに変換したものが、それぞれ格納されている。MACアドレス130は、ティーチペンダント10のROM12に格納され、前記メッセージ作成の際に読み出される。なお、MACアドレス130に代えて、ティーチペンダント10に固有のアドレスがROM12に格納され、このアドレスが送信元のTPID141として使用されるようにしてもよい。このようにティーチペンダント10に固有のアドレスにより、ティーチペンダント10を一意的に特定することができる。
【0119】
2) コントローラ20による接続要求元のティーチペンダント10の認証
コントローラ20のCPU21は、ティーチペンダント10から接続認証要求メッセージを無線LANを介して受信すると、ROM22に格納されたTPID認証処理プログラム226を起動し(図24参照)、ハードディスク24内にある操作許可TPID248に格納されている情報を取得する(S80)。初期状態、すなわち、当該コントローラ20を操作することができる権限を付与されたティーチペンダントが存在しない状態においては、操作許可TPID248には、初期値(例:0)が格納されている。すなわち、CPU21によるTPID認証処理は、操作許可TPID248に格納されている情報から、自身を操作する権限を付与されたティーチペンダントの有無を認識することができる(S81)。
【0120】
CPU21は自身を操作することができる権限が付与されたティーチペンダントが存在しないことを認識すると(S81の判定が「YES」)、前記接続認証要求メッセージの送信元のTPID141に格納されているMACアドレス130をハードディスク24に操作許可TPID248として格納する。次に、CPU21は、接続認証要求メッセージのユーザID190、及びパスワード191を、ハードディスク24に認証ユーザID252及び認証パスワード253として格納する(S83)。
【0121】
3) コントローラ20による接続元のティーチペンダント10への接続認証承認メッセージの通知
次に、CPU21は、S84又はS86において、図26(b)に示すように接続認証承認メッセージの作成を行う。接続認証承認メッセージには、接続認証承認メッセージを識別するためのメッセージID185と、送信元のコントローラIDが含まれている。この場合、コントローラ接続認証済みのティーチペンダントが存在しない場合(S81の判定が「YES」)、S84においては、CPU21は、接続認証承認メッセージの送信元コントローラID186として当該コントローラのMACアドレス228を格納する。
【0122】
これに対し、S81において、既にコントローラ接続認証済みのTPが存在した場合(S81の判定が「NO」)、S86においては、CPU21は、接続認証承認メッセージの送信元コントローラID186として初期値(例:0)を格納する。そして、CPU21は、接続要求元のティーチペンダント10の認証結果を、接続認証承認メッセージとして、接続要求元のティーチペンダント10に通知する(S85)。
【0123】
4) ティーチペンダント10によるコントローラ20からの認証結果の格納
ティーチペンダント10のCPU11は、ROM12に格納された送受信処理プログラムをその時々に実行処理するとともに、コントローラ20から接続認証承認メッセージを受信すると、ROM12に格納されたコントローラ接続処理プログラム128を起動する(図27参照)。CPU11は、接続認証承認メッセージの送信元コントローラID186に格納されている内容を、ハードディスク14に接続先コントローラID148として格納する(S90)。次に、CPU11は、接続先コントローラID148に格納した内容を読み込み、接続認証の結果を検査する(S91)。
【0124】
さて、本実施形態では、ティーチペンダント10とコントローラ20のそれぞれのROM12,22には送受信処理プログラム129,227が格納されている。そして、該プログラムが実行されることにより、無線LANを経由してティーチペンダンが発行する各種通信メッセージ(接続認証要求メッセージも含む)や、コントローラ20が発行する各種通信メッセージが送受信される。そして、これらのメッセージ中の送信元のTPID141や送信元コントローラID186に自身のMACアドレスがそれぞれ格納される。
【0125】
そして、コントローラ20のCPU21は、送受信処理プログラム227を実行することにより、接続認証要求メッセージ以外の通信メッセージに対し該通信メッセージに含まれる送信元のTPID141(MACアドレス)と前記操作許可TPID248(MACアドレス)とが一致しているか否かの判断を行う。ここで、操作許可TPID248(MACアドレス)は、認証基礎データに相当する。又、通信メッセージに含まれる送信元のTPID141(MACアドレス)は認証対象データに相当する。この場合、CPU21は、MACアドレス同士が一致している場合にのみ、すなわち、ハードディスク24に操作許可TPID248として格納されているMACアドレス130を持つティーチペンダント10からの通信についてのみ応答を行う。受信した通信メッセージがロボットを操作するためのものである場合には、この通信メッセージによって、コントローラ20がロボットRを駆動制御することになる。
【0126】
なお、例外的に接続認証要求メッセージをコントローラ20が受信したときには、CPU21は、前述したようにTPID認証処理プログラム226を実行処理することにより、該接続認証要求メッセージを送信したティーチペンダントに対して交信を行う。
【0127】
そして、ティーチペンダント10のCPU11は、送受信処理プログラム129を実行することによりコントローラ20との接続関係が確立している場合に限って、操作者Hの操作を、接続先のコントローラ20に通知するようにしている。又、CPU11は送受信処理プログラム129により、同様に、接続先のコントローラ20から受信した通信だけを受信し、ネットワーク上に存在する別コントローラからの通信に対しては、応答しないように、送受信データに対して、フィルタリングを行う。
【0128】
又、CPU11は、コントローラ接続処理プログラム128を実行することにより、接続先コントローラID148に格納されている内容を参照して、液晶ディスプレイ17に接続認証の結果を出力し、接続要求を行った操作者Hに、接続要求の結果を知らしめる。
【0129】
さて、第4実施形態によれば、以下のような特徴がある。
(1) ティーチペンダント10からの接続認証が承認されている場合、接続認証承認メッセージの送信元コントローラID186には、接続先コントローラのMACアドレス228が格納され、接続認証が却下されている場合、接続認証承認メッセージの送信元コントローラID186には、初期値(例:0)が格納される。すなわち、ティーチペンダント10は、ハードディスク14にある接続先コントローラID148の内容から、接続認証の結果を知ることができる。
【0130】
(2) 以上のように、ティーチペンダント10とコントローラが接続されているネットワーク内に、該コントローラとの通信が可能なティーチペンダントが複数ある環境においても、ティーチペンダントとコントローラとの間で、一対一の接続関係を確立することが可能となる。又、任意のティーチペンダントと接続関係を確立したコントローラに対して、新たに別のティーチペンダントから接続関係を確立することができないため、ネットワークに接続されているティーチペンダントからの指示によって、ロボットが意図しない動作を行うことが回避できる。
【0131】
(3) 又、第4実施形態では操作者Hのキーボード入力によってユーザIDとパスワードが入力され、接続先のコントローラに対して接続認証要求メッセージ以外のメッセージを発行した際、該メッセージには、TPID141、ユーザID190、パスワード191が含まれる。そして、該コントローラ20のCPU21は認証手段として該メッセージに含まれるTPID141(MACアドレス)に基づいてティーチペンダント10(可搬式操作部)の認証を行うようにしている。
【0132】
この結果、該ティーチペンダント10のTPID141を格納して接続先コントローラが認証した唯一のティーチペンダント10に対して、同コントローラ20を操作する権限を与えることが可能となる。
【0133】
そして、コントローラ20が接続されたネットワーク上に同コントローラ20と通信可能なティーチペンダントが複数存在する環境においても、コントローラを操作することができるティーチペンダントを一台に限定することができる。この結果、操作者Hが操作対象として認識しているロボットが、別の操作者の操作によって動作してしまうことを、事前に回避することが可能となる。
【0134】
具体例を示すと、図22に示すように操作者AがティーチペンダントTPAを操作して、コントローラCAで制御されるロボットRAを動作させている環境を考える。コントローラCA及びティーチペンダントTPAと同じネットワークに接続されているティーチペンダントTPB,TPCを持つ操作者B,Cからの指示によって、ロボットRAが動作してしまうと、ロボットRAは、操作者Aの意図とは異なる動作を行うことになり、大変、危険な状態となってしまう。第4実施形態によれば、このような状態となることが回避できる。
【0135】
なお、本発明の実施形態は以下のように変更してもよい。
○ 前記各実施形態では、ティーチペンダント10・コントローラ20間を、無線LANによるネットワーク手段にて構築したが、有線LANによって構築してもよい。
【0136】
○ 前記各実施形態では、ティーチペンダント10・コントローラ20間の通信を無線通信で行うようにしたが、無線方式に限らず、赤外線通信、光通信、或いは磁気通信で行うようにしてもよい。
【0137】
○ 前記各実施形態では、ティーチペンダント10と複数のコントローラ20間を無線LANによりネットワーク手段を構築したが、単に無線でティーチペンダント10と複数のコントローラ20間を交信可能としてもよい。又、無線に換えて、赤外線通信、光通信、或いは磁気通信で行うようにしても良い。
【0138】
○ 参考例1では、表示手段を液晶ディスプレイ17にて構成したが、液晶ディスプレイ17に限定されるものではない。プラズマディスプレイや、有機ELディスプレイや、CRTディスプレイとしてもよい。
【0139】
○ 参考例1では、選択操作手段をキーボード16としたが、キーボード16に限定されるものではなく、マウス等のポインタや、液晶ディスプレイ17上の画面に設けられたタッチパネルであってもよい。
【0140】
○ 参考例2の接続先確認表示灯55や、第1実施形態の表示灯55Aは、ロボットRに付設するように設けているが、各ロボットを制御対象とするコントローラ20に付設するように設けても良い。
【0141】
○ 第3実施形態は、第1実施形態の変形例として構成したが、第2実施形態において、1つ又は複数のコントローラがそれぞれ複数のロボットを制御することを可能とし、該コントローラのハードディスク24に認証IDリスト249を設けるようにしてもよい。
【符号の説明】
【0142】
10…ティーチペンダント(可搬式操作部)、20…コントローラ、
11…CPU(返信要求手段、接続構築手段、確認操作検出手段、出力手段、認証手段)、16…キーボード(選択操作手段、入力手段)、
17…液晶ディスプレイ(表示手段、判別結果表示手段)、
24…ハードディスク(記憶手段)。
【特許請求の範囲】
【請求項1】
可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、
前記ロボットには、ロボット個体別IDが表示されており、
前記可搬式操作部には、ロボット個体別IDを入力する入力手段と、
該入力手段により入力されたロボット個体別IDを前記ネットワーク手段、或いは前記非有線通信手段に出力する出力手段を備え、
前記コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御するロボットの識別情報と一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とするロボット制御システム。
【請求項2】
前記コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御するロボットの識別情報と一致するか否かを判別し、前記ロボット個体別IDを送信した可搬式操作部に対してその判別結果を送信し、
前記可搬式操作部には、該判別結果を表示する判別結果表示手段を備えたことを特徴とする請求項1に記載のロボット制御システム。
【請求項3】
可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、
前記ロボットには、該ロボット固有の点滅パターンでコントローラにより点滅御される表示灯が備えられており、
前記可搬式操作部には、前記点滅パターンを入力可能な入力手段と、
該入力手段により入力された点滅パターンを前記ネットワーク手段、或いは前記非有線通信手段に出力する出力手段を備え、
前記コントローラは、前記送信された点滅パターンが、該コントローラが制御する表示灯の点滅パターンと一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とするロボット制御システム。
【請求項4】
前記コントローラのうち少なくとも1つのコントローラは、複数のロボットを制御することが可能であり、
該コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御する複数のロボットの識別情報と一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とする請求項1乃至請求項3のいずれか1項に記載のロボット制御システム。
【請求項5】
可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、
前記コントローラには、前記可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して受信した情報に含まれる認証対象データと、コントローラの記憶手段に格納された認証基礎データとが一致するか否かを判定し、一致した一台の可搬式操作部に対してのみ該コントローラを操作する権限を付与する認証手段を設けたことを特徴とするロボット制御システム。
【請求項1】
可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、
前記ロボットには、ロボット個体別IDが表示されており、
前記可搬式操作部には、ロボット個体別IDを入力する入力手段と、
該入力手段により入力されたロボット個体別IDを前記ネットワーク手段、或いは前記非有線通信手段に出力する出力手段を備え、
前記コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御するロボットの識別情報と一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とするロボット制御システム。
【請求項2】
前記コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御するロボットの識別情報と一致するか否かを判別し、前記ロボット個体別IDを送信した可搬式操作部に対してその判別結果を送信し、
前記可搬式操作部には、該判別結果を表示する判別結果表示手段を備えたことを特徴とする請求項1に記載のロボット制御システム。
【請求項3】
可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、
前記ロボットには、該ロボット固有の点滅パターンでコントローラにより点滅御される表示灯が備えられており、
前記可搬式操作部には、前記点滅パターンを入力可能な入力手段と、
該入力手段により入力された点滅パターンを前記ネットワーク手段、或いは前記非有線通信手段に出力する出力手段を備え、
前記コントローラは、前記送信された点滅パターンが、該コントローラが制御する表示灯の点滅パターンと一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とするロボット制御システム。
【請求項4】
前記コントローラのうち少なくとも1つのコントローラは、複数のロボットを制御することが可能であり、
該コントローラは、前記可搬式操作部から送信されたロボット個体別IDが、該コントローラが制御する複数のロボットの識別情報と一致する場合に、該ロボットを駆動する駆動源の電力供給を許可することを特徴とする請求項1乃至請求項3のいずれか1項に記載のロボット制御システム。
【請求項5】
可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して情報を送受信する複数のコントローラと、前記コントローラ毎に接続されるとともに該コントローラにより制御可能なロボットを備えたロボット制御システムにおいて、
前記コントローラには、前記可搬式操作部とネットワーク手段を介して、或いは前記可搬式操作部と非有線通信手段を介して受信した情報に含まれる認証対象データと、コントローラの記憶手段に格納された認証基礎データとが一致するか否かを判定し、一致した一台の可搬式操作部に対してのみ該コントローラを操作する権限を付与する認証手段を設けたことを特徴とするロボット制御システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2011−224776(P2011−224776A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2011−178512(P2011−178512)
【出願日】平成23年8月17日(2011.8.17)
【分割の表示】特願2007−49950(P2007−49950)の分割
【原出願日】平成19年2月28日(2007.2.28)
【出願人】(000000262)株式会社ダイヘン (990)
【出願人】(000005197)株式会社不二越 (625)
【Fターム(参考)】
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願日】平成23年8月17日(2011.8.17)
【分割の表示】特願2007−49950(P2007−49950)の分割
【原出願日】平成19年2月28日(2007.2.28)
【出願人】(000000262)株式会社ダイヘン (990)
【出願人】(000005197)株式会社不二越 (625)
【Fターム(参考)】
[ Back to top ]