(ロボット制御システムの構成)
本発明のロボット制御システムの実施形態を説明する。先ず、ロボット制御システムの概要について説明する。
図1に示すように、ロボット制御システムのロボット制御装置RC1は、ロボットR1の動作を制御するものであり、コンピュータや各種のモジュールが内蔵されている。また、ロボット制御装置RC1は無線通信機能を有する。図1に示すように、ロボット制御装置RC1には、有線でロボットR1が接続されている。ロボットR1は、例えば、サーボモータによって駆動される複数のアームを有し、その先端のアームに溶接トーチが搭載された多関節型の溶接ロボットである。そして、ロボットR1は、ロボット制御装置RC1からの信号によってアーム等の動作が制御される。
図1に示すように、ロボット制御システムは、ロボット制御装置RC1及びロボットR1と同一構成のロボット制御装置RC2及びロボットR2を含んで構成されている。そして、ロボット制御システムは、ロボットR1、R2の動作を制御するのに必要なデータをロボット制御装置RC1、RC2に送信する無線ティーチペンダントTPを含んで構成されている。無線ティーチペンダントTPは、ロボット制御装置RC1、RC2に対して無線通信で信号を送受信する。本実施形態では、無線ティーチペンダントTPが可搬式操作装置を構成し、ロボット制御装置RC1、RC2が機械制御装置を構成する。
次に、ロボット制御システムを構成する各装置の電気的構成について説明する。なお、ロボット制御装置RC1、RC2は、いずれも同一の構成であるため、以下の説明ではロボット制御装置RC1を代表して説明する。
図2に示すように、無線ティーチペンダントTPには、演算処理や通信処理等を実行するティーチペンダント制御部11(以下、TP制御部11と略記する。)が内蔵されている。TP制御部11は、中央演算装置(CPU)として機能し、各種のプログラムを実行する。無線ティーチペンダントTPには、TP制御部11がプログラム等を実行するに際してデータが一時的に格納される揮発性のRAM12が内蔵されている。
図2に示すように、無線ティーチペンダントTPには、TP制御部11が実行するプログラム等が格納される不揮発性の記憶部13が内蔵されている。また、記憶部13には、無線通信の接続相手先の候補として登録ロボット制御装置に関する情報が記憶されている。本実施形態では、登録ロボット制御装置に関する情報として、例えば、ロボット制御装置RC1、RC2に付された名称と、ロボット制御装置RC1、RC2それぞれに特有のネットワーク情報(SSID(Service Set Identifier))とが関連付けられた情報が記憶部13に記憶されている。
図2に示すように、無線ティーチペンダントTPには、時間を計測するためのタイマ14が設けられている。タイマ14は、TP制御部11からの指示に基づいて、カウント値をカウントアップする。また、タイマ14は、TP制御部11からの指示に基づいて、カウントアップしたカウント値をクリアして初期値に戻す。
図2に示すように、無線ティーチペンダントTPには、グラフィカルユーザインタフェース画面(以下、GUI画面と略記する。)を表示するためのディスプレイ15が設けられている。また、ディスプレイ15は、タッチパネル(タッチディスプレイ)であり、ロボット制御装置RC1、RC2にデータを入力するための入力部としても機能する。例えば、図5(a)に示すように、ディスプレイ15上に表示されるGUI画面には、複数(図5(a)においては3つ)のアイコン15a〜15c、無線ティーチペンダントTPの状態を示すステータス表示領域15d、ロボットR1、R2の状態を示す制御情報表示領域15eなどが含まれる。アイコン15a〜15cはソフトウェアキーとして機能し、各アイコン15a〜15cにはそれぞれ特定の「機能A」〜「機能C」のアプリケーションが割り当てられている。これらGUI画面上の各アイコン15a〜15cを触れることにより無線ティーチペンダントTPにおいて対応するアプリケーションが実行される。つまり、各アイコン15a〜15cは、特定のアプリケーションを実行するためのショートカットキーとして機能する。ステータス表示領域15dには、例えば、無線ティーチペンダントTPがロボット制御装置RC1、RC2と無線通信する際の電波強度を示すアイコンや、無線ティーチペンダントTPのバッテリの残量を示すアイコンなどが表示される。制御情報表示領域15eには、操作対象となっているロボットR1、R2に設定されている各種の数値やこの数値を変更するためのソフトウェアキー(図5(a)においてはこれらの図示を省略している)などが表示される。
図2に示すように、無線ティーチペンダントTPには、データを入力するためのキーボード16が設けられている。キーボード16は、例えば、ディスプレイ15上で表示されている選択位置(カーソル位置)を移動させるための矢印キー、文字情報を入力するための文字キー、無線ティーチペンダントTPにおける特定の機能を実行させるためのファンクションキーなどである。無線ティーチペンダントTPには、音声を発生するブザー17が内蔵されている。ブザー17は、TP制御部11からの指示に基づいて警告音を発生する。
図2に示すように、無線ティーチペンダントTPには、ロボット制御装置RC1、RC2と無線通信を行うための無線送受信機18が内蔵されている。無線送受信機18は、電波を送受信するためのアンテナ、及びそのアンテナによる無線通信を制御するための通信モジュールを備え、無線LAN規格(IEEE802.11規格)による無線通信を行う。
図2に示すように、TP制御部11、RAM12、記憶部13、タイマ14、ディスプレイ15、キーボード16、ブザー17、無線送受信機18等は、無線ティーチペンダントTP内部のバス19によって電気的に接続されており、バス19を介して情報をやり取りする。
図2に示すように、無線ティーチペンダントTPには、ロボットR1、R2への電力供給を許可するためのイネーブルスイッチ21が搭載されている。イネーブルスイッチ21は、例えば3ポジションスイッチであり、TP制御部11によって操作位置が監視されている。このイネーブルスイッチ21が操作されて特定のポジションに位置すると、無線ティーチペンダントTPは、ロボット制御装置RC1、RC2に対してイネーブル信号を送信する。そして、イネーブル信号を受信したロボット制御装置RC1、RC2においては対応するロボットR1、R2への駆動電力の供給が許容される。また、無線ティーチペンダントTPには、ロボットR1、R2を非常停止させるための非常停止スイッチ22が搭載されている。非常停止スイッチ22は、例えば押ボタンスイッチであり、TP制御部11によって押下操作されたか否かが監視されている。この非常停止スイッチ22が操作されると、無線ティーチペンダントTPは、ロボット制御装置RC1、RC2に対して非常停止信号を送信する。非常停止信号を受信したロボット制御装置RC1、RC2は、対応するロボットR1、R2に対する駆動電力の供給を停止する。
図2に示すように、無線ティーチペンダントTPの記憶部には、カスタマイズ情報が記憶されている。例えば、図5(a)に示すように、カスタマイズ情報には、ディスプレイ15に表示されるGUI画面上の各アイコン15a〜15c、ステータス表示領域15d、制御情報表示領域15eの設定情報などが含まれる。各アイコン15a〜15cの設定情報は、例えばアイコンの画像、位置、大きさ、割り当てられているアプリケーションの名称等である。ステータス表示領域15dの設定情報は、例えばステータス表示領域15dに表示するアイコンの種類やその表示色などである。制御情報表示領域15eの設定情報は、例えば、背景色、表示される数値等の文字フォントや色などである。また、カスタマイズ情報には、ディスプレイ15に表示されるGUI画面上の各アイコン15a〜15c等をソフトウェアキーとして機能させるための設定情報が含まれる。
図2に示すように、無線ティーチペンダントTPの記憶部には、パスワード照会情報が記憶されている。パスワード照会情報は、無線ティーチペンダントTPを操作する際の権限レベルとその権限レベルにアクセスするために必要なパスワードとを関連づけたものである。この実施形態では、権限レベルとして、ロボットR1、R2の状態確認に関する機能の実行のみが許可された「ゲストレベル」、ゲストレベルに加えてユーザインタフェースのカスタマイズ処理が許可された「使用者レベル」、使用者レベルに加えてロボットR1、R2の操作に関する機能の実行が許可された「操作者レベル」、すべての機能の実行が許可された「管理者レベル」が設定されている。そして、「ゲストレベル」は、パスワードの入力が不要な権限レベルであり、他の3つの権限レベルは、それぞれ対応するパスワードの入力が必要な権限レベルである。
図2に示すように、ロボット制御装置RC1には、ロボットの制御処理や通信処理等を実行するロボット制御部31が内蔵されている。ロボット制御部31は、中央演算装置(CPU)として機能し、各種のプログラムを実行する。ロボット制御装置RC1には、ロボット制御部31がプログラム等を実行するに際してデータが一時的に格納される揮発性のRAM32、ロボット制御部31が実行するプログラム等が格納される不揮発性の記憶部33が内蔵されている。
図2に示すように、ロボット制御装置RC1には、時間を計測するためのタイマ34が設けられている。タイマ34は、ロボット制御部31からの指令に基づいて、カウント値をカウントアップする。また、タイマ34は、ロボット制御部31からの指令に基づいて、カウントアップしたカウント値をクリアして初期値に戻す。
図2に示すように、ロボット制御装置RC1には、無線ティーチペンダントTPと無線通信を行うための無線送受信機38が内蔵されている。無線送受信機38は、電波を送受信するためのアンテナ、及びそのアンテナによる無線通信を制御するための通信モジュールを備え、無線LAN規格(IEEE802.11規格)による無線通信を行う。
図2に示すように、ロボット制御部31、RAM32、記憶部33、タイマ34、無線送受信機38等は、ロボット制御装置RC1内部のバス39によって電気的に接続されており、バス39を介して情報をやり取りする。
図2に示すように、ロボット制御装置RC1には、外部入力装置として操作ボックスOPが有線で接続されている。操作ボックスOPには、例えば、押ボタンスイッチとして非常停止スイッチが搭載されており、ロボット制御装置RC1のロボット制御部31によって押下操作されたか否かが監視されている。操作ボックスOPの非常停止スイッチが操作されると、ロボット制御装置RC1はロボットR1に対する駆動電力の供給を停止する。
図2に示すように、ロボット制御装置RC1の記憶部33には、初期設定のユーザインタフェースを無線ティーチペンダントTPに反映させるための初期設定反映情報が記憶されている。この実施形態では、初期設定反映情報は、初期設定のGUI画面の画像情報やそのGUI画面上における各アイコンをソフトウェアキーとして機能させるための設定情報が含まれる。
(ユーザインタフェースのカスタマイズ処理)
次に、ロボット制御システムにおけるユーザインタフェースのカスタマイズ処理について、図3に従って説明する。なお、以下の説明では、無線ティーチペンダントTP及びロボット制御装置RC1との間の処理に関して説明するが、ロボット制御装置RC2の場合でも同様である。
無線ティーチペンダントTPの電源がオンにされると、無線ティーチペンダントTPにおけるステップST11の処理が開始される。図3に示すように、ステップST11では、無線ティーチペンダントTPのTP制御部11は、記憶部13に記憶されている登録ロボット制御装置に関する情報を読み出し、ディスプレイ15上に選択可能に表示させる。本実施形態では、ロボット制御装置RC1、RC2の名称及びネットワーク情報を選択可能にディスプレイ15に表示させる。その後、無線ティーチペンダントTPの処理は、ステップST12に移行する。
ステップST12では、TP制御部11は、ディスプレイ15に表示させたロボット制御装置RC1、RC2のいずれかが選択されたか否かを判断する。操作者が無線ティーチペンダントTPのディスプレイ15やキーボード16を操作せず、いずれのロボット制御装置RC1、RC2も選択されていない場合(ステップST12においてNO)には、引き続きロボット制御装置RC1、RC2が選択されるのを待機する。操作者が無線ティーチペンダントTPのディスプレイ15上の表示を確認し、ディスプレイ15やキーボード16を操作していずれかのロボット制御装置RC1、RC2を選択した場合(ステップST12においてYES)には、無線ティーチペンダントTPの処理は、ステップST13に移行する。なお、以下の説明では、ロボット制御装置RC1が選択されたものとする。
ステップST13では、無線ティーチペンダントTPは、ステップST12において選択されたロボット制御装置RC1宛に、無線通信の接続の確立を要求する旨を示す接続確立要求信号を送信する。その後のステップST14では、無線ティーチペンダントTPのTP制御部11は、タイマ14にカウント値のクリア(初期化)を指示する。その上で、TP制御部11は、タイマ14にカウント値のカウントアップを指示する。ステップST14の処理が終了すると、無線ティーチペンダントTPの処理はステップST15に移行する。
一方、図3に示すように、ロボット制御装置RC1、RC2は、無線ティーチペンダントTPとの間で無線通信の接続が確立されていない状態においては、無線ティーチペンダントTPからの接続確立要求信号の受信を待機している。そして、ステップST31では、ロボット制御装置RC1は、無線ティーチペンダントTPからの接続確立要求信号を受信する。その後、ロボット制御装置RC1の処理は、ステップST32に移行する。
ステップST32では、ロボット制御装置RC1のロボット制御部31は、ロボット制御装置RC1が無線通信の接続が可能な状態であるか否かを判断する。例えば、ロボット制御部31は、ロボット制御装置RC1の一部の構成が正常に機能していない場合には、無線通信の接続ができない(ステップST32においてNO)と判断し、処理を終了する。例えば、ロボット制御部31は、ロボット制御装置RC1及びロボットR1が正常に機能している場合には、無線通信の接続が可能である(ステップST32においてYES)と判断する。無線通信の接続が可能であると判断した場合、ロボット制御装置RC1の処理は、ステップST33に移行する。
ステップST33では、ロボット制御装置RC1は、接続確立要求信号の送信元の無線ティーチペンダントTPに対して、接続許可信号を送信する。その後、ロボット制御装置RC1の処理は、ステップST34に移行する。ステップST34では、ロボット制御装置RC1は、接続許可信号の送信先の無線ティーチペンダントTPとの間で、無線通信の接続の確立に必要な各種の情報を送受信した上で、無線ティーチペンダントTPに対する無線通信の接続が確立される。
無線ティーチペンダントTPの処理は、タイマ14にカウントアップを指示した後(ステップST14)、ステップST15に移行している。ステップST15では、無線ティーチペンダントTPのTP制御部11は、接続確立要求信号を送信したロボット制御装置RC1からの接続許可信号を、一定時間内に受信したか否かを判断する。具体的には、TP制御部11は、接続許可信号を受信しないままタイマ14のカウント値が所定値に達した場合に、一定時間内に接続許可信号を受信しなかった(ステップST15においてNO)と判断する。このとき、無線ティーチペンダントTPの処理は、ステップST16に移行する。
ステップST16では、TP制御部11は、選択されたロボット制御装置RC1に対する無線通信の接続確立ができなかった旨の警告表示を、ディスプレイ15に表示させる。また、それと同時に、TP制御部11は、ブザー17を作動させることにより、警告する。その後、無線ティーチペンダントTPの一連の処理は終了する。
ステップST15において、TP制御部11は、タイマ14のカウント値が所定値に達する前に接続許可信号を受信した場合、一定時間内に接続許可信号を受信した(ステップST15においてYES)と判断する。その後のステップST17では、無線ティーチペンダントTPは、無線通信の接続の確立に必要な各種の情報をロボット制御装置RC1との間でやり取りする。その上で、無線ティーチペンダントTPとロボット制御装置RC1との間で、無線通信の接続が確立される。
図3に示すように、無線ティーチペンダントTPとロボット制御装置RC1との間で無線通信の接続が確立すると、無線ティーチペンダントTP及びロボット制御装置RC1の処理は、ユーザインタフェース設定処理に移行する。このユーザインタフェース設定処理における一連の処理内容については後述する。
ユーザインタフェース設定処理が終了すると、無線ティーチペンダントTPの処理はステップST18に移行する。ステップST18では、無線ティーチペンダントTPのTP制御部11は、カスタマイズモードか否かを判断する。具体的には、TP制御部11は、「使用者レベル」、「操作者レベル」及び「管理者レベル」のいずれかの権限レベルにアクセスされている状態であるかを判断する。その上で、TP制御部11は、ディスプレイ15上に表示されているGUI画面のアイコンが操作されたり、キーボード16が操作されたりすることにより、カスタマイズモードへ移行されたか否かを判断する。カスタマイズモードへ移行されていない場合(ステップST18においてNO)、無線ティーチペンダントTPにおける一連の処理は終了する。カスタマイズモードへ移行された場合(ステップST18においてYES)、無線ティーチペンダントTPの処理は、ステップST19に移行する。なお、「ゲストレベル」でアクセスしている場合には、ユーザインタフェースのカスタマイズ処理の実行は許可されていないので、カスタマイズモードへ移行されたと判断されることはない。
ステップST19では、無線ティーチペンダントTPは、無線通信の接続相手のロボット制御装置RC1に、ユーザインタフェースのカスタマイズ情報を送信する。例えば、GUI画面において、アイコンの位置及び大きさを変更したとする。このとき、無線ティーチペンダントTPは、変更後のアイコンの位置及び大きさを示す設定情報をカスタマイズ情報として無線通信の接続相手のロボット制御装置RC1に送信する。また、例えば、GUI画面においてアイコンに割り当てているアプリケーションを変更したとする。このとき、無線ティーチペンダントTPは、そのアイコンと新たに割り当てたアプリケーションの名称とを関連付けた情報をカスタマイズ情報として無線通信の接続相手のロボット制御装置RC1に送信する。カスタマイズ情報を送信した後、無線ティーチペンダントTPの処理は、ステップST20に移行する。
一方、ユーザインタフェース設定処理が終了した後、ロボット制御装置RC1は、カスタマイズ情報の受信を待機した状態にある。そして、ロボット制御装置RC1は、ステップST35において、無線通信の接続相手の無線ティーチペンダントTPからカスタマイズ情報を受信する。その後、ロボット制御装置RC1の処理は、ステップST36に移行する。
ステップST36では、ロボット制御装置RC1のロボット制御部31は、カスタマイズ情報に基づいて、無線ティーチペンダントTPのディスプレイ15に、ユーザインタフェースを反映させるための設定反映情報を生成し、送信する。具体的には、例えば、カスタマイズ情報に、アイコンの位置及び大きさを示す設定情報が含まれているとする。この場合、ロボット制御部31は、その設定情報に従ってアイコンの位置及び大きさを変更した新たなGUI画面の画像情報を生成する。また、例えば、カスタマイズ情報に、アイコンと割り当てたアプリケーションの名称とが関連付けられた設定情報が含まれているとする。この場合、ロボット制御部31は、その設定情報に従って、アイコンの画像を、割り当てた新たなアプリケーションに対応するアイコン画像に変更した新たなGUI画面の画像情報を生成する。また、ロボット制御部31は、割り当てたアプリケーションを実行するためのソフトウェアキーとしてアイコンを機能させるための設定情報を生成する。そして、ロボット制御装置RC1は、生成したGUI画面の画像情報やソフトウェアキーの設定情報を、接続相手の無線ティーチペンダントTPに設定反映情報として送信する。その後、ロボット制御装置RC1の処理は、ステップST37に移行する。
一方、無線ティーチペンダントTPは、カスタマイズ情報を送信した(ステップST19)後、ステップST20の処理に移行している。ステップST20では、無線ティーチペンダントTPは、接続相手のロボット制御装置RC1から設定反映情報として、GUI画面の画像情報及びソフトウェアキーの設定情報を受信する。その後、無線ティーチペンダントTPの処理は、ステップST21に移行する。
ステップST21では、無線ティーチペンダントTPのTP制御部11は、設定反映情報として受信したGUI画面の画像情報に基づいて、カスタマイズ後のGUI画面をディスプレイ15に表示させる。このようにカスタマイズ後のGUI画面がディスプレイ15に表示されることで、操作者は、自身が行ったカスタマイズが無線ティーチペンダントTPのユーザインタフェースとして適用された状態を確認することができる。なお、この時点では、設定反映情報として受信したソフトウェアキーの設定情報を無線ティーチペンダントTPには反映しない。その後、無線ティーチペンダントTPの処理は、ステップST22に移行する。
ステップST22では、無線ティーチペンダントTPのTP制御部11は、カスタマイズモードが終了されたか否かを判断する。具体的には、TP制御部11は、ディスプレイ15上に表示されているGUI画面のアイコンが操作されたり、キーボード16が操作されたりすることにより、カスタマイズモードが終了されたか否かを判断する。カスタマイズモードが終了されていない場合(ステップST22においてNO)、無線ティーチペンダントTPの処理はステップST19に戻り、カスタマイズモードが続行する。カスタマイズモードが終了された場合(ステップST22においてYES)、無線ティーチペンダントTPの処理は、ステップST23に移行する。
ステップST23では、無線ティーチペンダントTPは、カスタマイズモードが終了したことを示すカスタマイズモード終了信号を、接続相手のロボット制御装置RC1に送信する。その後のステップST24では、今回のカスタマイズモードでのユーザインタフェースの変更を確定し、設定反映情報として受信したソフトウェアキーの設定情報に基づいて、カスタマイズ後のGUI画面上の各アイコンをソフトウェアキーとして機能させる。なお、ステップST21において、既にカスタマイズ後のGUI画面がディスプレイ15に表示されている。したがって、このステップST23の時点において、GUI画面及びソフトウェアキーのカスタマイズ設定の両方が、ユーザインタフェースとして無線ティーチペンダントTPに適用されることになる。そして、適用したユーザインタフェースのカスタマイズ情報を、無線ティーチペンダントTPの記憶部13に記憶する。カスタマイズ情報が無線ティーチペンダントTPの記憶部13に記憶された後、無線ティーチペンダントTPの一連の処理は終了する。
一方、ロボット制御装置RC1は、ステップST37において、接続相手の無線ティーチペンダントTPが送信したカスタマイズモード終了信号を受信する。その後、ロボット制御装置RC1における一連の処理は終了する。
(ユーザインタフェース設定処理)
次に、ロボット制御システムにおけるユーザインタフェース設定処理を図4に従って説明する。なお、このユーザインタフェース設定処理に先立って、無線ティーチペンダントTPとロボット制御装置RC1との間で無線通信の接続が確立されたことがあり、且つ、図3に示すステップST19〜ステップST24の処理が行われて無線ティーチペンダントTPの記憶部13にカスタマイズ情報が記憶されているものとする。
ロボット制御装置RC1は、無線通信の接続が確立されると(図3におけるステップST34の後)、ユーザインタフェース設定処理のステップST61の処理を行う。ステップST61では、ロボット制御装置RC1のロボット制御部31は、タイマ34にカウント値のクリア(初期化)を指示する。その上で、ロボット制御部31は、タイマ34のカウントアップを指示する。ステップST61の処理が終了すると、ロボット制御装置RC1の処理はステップST62に移行する。
ステップST62では、ロボット制御装置RC1のロボット制御部31は、無線ティーチペンダントTPにアクセスする権限レベルとして、「ゲストレベル」を設定する。そして、ロボット制御部31は、記憶部33に記憶されている初期設定反映情報を、設定反映情報として接続相手の無線ティーチペンダントTPに送信する。その後、ロボット制御装置RC1の処理は、ステップST63に移行する。
一方、無線ティーチペンダントTPは、無線通信の接続が確立されると(図3におけるステップST17の後)、ユーザインタフェース設定処理のステップST41の処理を行う。ステップST41では、無線ティーチペンダントTPのTP制御部11は、タイマ14にカウント値のクリア(初期化)を指示する。その上で、TP制御部11は、タイマ14のカウントアップを指示する。ステップST41の処理が終了すると、無線ティーチペンダントTPの処理は、ステップST42に移行する。
ステップST42では、無線ティーチペンダントTPは、接続相手のロボット制御装置RC1が送信した設定反映情報としての初期設定反映情報を受信する。その後のステップST43では、無線ティーチペンダントTPのTP制御部11は、初期設定反映情報に基づいて初期設定のユーザインタフェースを適用する。すなわち、本実施形態では、無線ティーチペンダントTPとロボット制御装置RC1との間の無線通信の接続が確立された際、一旦、初期設定のユーザインタフェースが無線ティーチペンダントTPに適用される。そして、その後のステップST44の処理では、無線ティーチペンダントTPのTP制御部11は、カスタマイズ設定を反映するか否かの選択肢を、ディスプレイ15に表示させる。
ステップST45では、無線ティーチペンダントTPのTP制御部11は、カスタマイズ設定を反映するか否かを判断する。具体的には、ステップST44の処理でディスプレイ15に表示された選択肢を見た操作者が、ディスプレイ15やキーボード16を操作することによりどちらの選択肢を選択したかを判断する。カスタマイズ設定を反映しない選択肢が選択された場合(ステップST45においてNO)、無線ティーチペンダントTPにおけるユーザインタフェース設定処理は終了する。すなわち、初期設定のユーザインタフェースが無線ティーチペンダントTPに適用されたままであり、カスタマイズ設定のユーザインタフェースは無線ティーチペンダントTPには反映されない。カスタマイズ設定を反映する選択肢が選択された場合(ステップST45においてYES)、無線ティーチペンダントTPの処理は、ステップST46に移行する。
ステップST46では、無線ティーチペンダントTPのTP制御部11は、ディスプレイ15にパスワードの入力を要求する旨の表示を表示させる。その後のステップST47では、無線ティーチペンダントTPのTP制御部11は、ディスプレイ15やキーボード16が操作されることにより、パスワードが入力されたか否かを判断する。パスワードが入力されていない場合(ステップST47においてNO)、無線ティーチペンダントTPの処理は、ステップST51に移行する。
ステップST51では、無線ティーチペンダントTPのTP制御部11は、ロボット制御装置RC1との間で無線通信の接続が確立されてタイマ14がカウントアップしてから(ステップST41)、一定時間(例えば数十秒)が経過したか否かを判断する。具体的には、無線ティーチペンダントTPのTP制御部11は、タイマ14のカウント値が所定値に達したか否かを判断する。カウント値が所定値に達していない(ステップST51においてNO)場合、無線ティーチペンダントTPの処理はステップST47に戻り、引き続き、パスワードの入力を待機する。カウント値が所定値に達した(ステップST51においてYES)場合、無線ティーチペンダントTPにおけるユーザインタフェース設定処理は終了する。したがって、この場合には、初期設定のユーザインタフェースが無線ティーチペンダントTPに適用されたままであり、カスタマイズ設定のユーザインタフェースは無線ティーチペンダントTPには反映されない。
ステップST47の処理において、パスワードが入力されたと判断された(ステップST47においてYES)場合、無線ティーチペンダントTPの処理は、ステップST48に移行する。ステップST48では、無線ティーチペンダントTPのTP制御部11は、入力されたパスワードに対応する権限レベルを判断する。本実施形態では、「使用者レベル」、「操作者レベル」及び「管理者レベル」のうちのどの権限レベルであるか判断する。そして、無線ティーチペンダントTPは、記憶部13に記憶されているカスタマイズ情報と権限レベルを示す権限情報とを、接続相手のロボット制御装置RC1に送信する。その後、無線ティーチペンダントTPの処理は、ステップST49に移行する。
一方、ロボット制御装置RC1の処理は、初期設定反映情報を設定反映情報として送信した(ステップST62)後、ステップST63に移行している。ステップST63では、ロボット制御装置RC1のロボット制御部31は、接続相手の無線ティーチペンダントTPがステップST48において送信したカスタマイズ情報及び権限情報を受信したか否かを判断する。カスタマイズ情報及び権限情報を受信していない(ステップST63においてNO)場合、ロボット制御装置RC1の処理は、ステップST65に移行する。
ステップST65では、ロボット制御装置RC1のロボット制御部31は、無線ティーチペンダントTPとの間で無線通信の接続が確立されてタイマ34がカウントアップしてから(ステップST61)、一定時間(例えば数十秒)が経過したか否かを判断する。具体的には、ロボット制御装置RC1のロボット制御部31は、タイマ34のカウント値が所定値に達したか否かを判断する。カウント値が所定値に達していない場合(ステップST65においてNO)、ロボット制御装置RC1の処理はステップST63へ戻り、引き続きカスタマイズ情報及び権限情報の受信を待機する。カウント値が所定値に達した場合(ステップST65においてYES)、ロボット制御装置RC1は、カスタマイズ情報及び権限情報に基づく設定反映情報を生成・送信しないと判断し、一連の処理を終了する。
なお、このステップST65において経過したか否かが判断される「一定時間」と、無線ティーチペンダントTPのステップST51において経過したか否かが判断される「一定時間」とは同じ時間に設定されている。したがって、ロボット制御装置RC1がステップST65を経てユーザインタフェース設定処理を終了するタイミングと、無線ティーチペンダントTPがステップST51を経てユーザインタフェース設定処理を終了するタイミングとはほぼ同時である。
ステップST63においてカスタマイズ情報及び権限情報を受信した(ステップST63においてYES)場合、ロボット制御装置RC1の処理は、ステップST64に移行する。ステップST64では、ロボット制御装置RC1のロボット制御部31は、受信した権限情報に基づいて、無線ティーチペンダントTPにアクセスする権限レベルを「使用者レベル」、「操作者レベル」及び「管理者レベル」のいずれかに設定する。その上で、ロボット制御部31は、受信したカスタマイズ情報及び権限情報に基づいて、GUI画面の画像情報、及びGUI画面上の各アイコンをソフトウェキーとして機能させるための設定情報を含む設定反映情報を生成する。そして、ロボット制御装置RC1は、生成した設定反映情報を接続相手の無線ティーチペンダントTPに送信する。なお、カスタマイズ情報及び権限情報に基づく設定反映情報の生成態様については、後述する。設定反映情報を送信すると、ロボット制御装置RC1の一連の処理は終了する。
一方、無線ティーチペンダントTPの処理は、カスタマイズ情報及び権限情報を送信した(ステップST48)後、ステップST49に移行している。ステップST49では、無線ティーチペンダントTPは、ステップST64においてロボット制御装置RC1が送信したカスタマイズ情報及び権限情報に基づく設定反映情報を受信する。その後のステップST50では、無線ティーチペンダントTPのTP制御部11は、受信した設定反映情報に基づいて、カスタマイズ設定のユーザインタフェースを適用する。カスタマイズ設定のユーザインタフェースが適用された後、無線ティーチペンダントTPにおける一連の処理は終了する。
(ロボット制御システムの動作・作用)
次に、ロボット制御システムの動作・作用の例を説明する。
先ず、無線ティーチペンダントTPを操作する操作者が同一人物であり、無線ティーチペンダントTPとロボット制御装置RC1との無線通信の接続を確立し、その後、無線ティーチペンダントTPとロボット制御装置RC2との無線通信の接続を確立する場合について説明する。
操作者が無線ティーチペンダントTPとロボット制御装置RC1との無線通信の接続を確立すると、図4に示す一連のユーザインタフェース設定処理が実行される。このユーザインタフェース設定処理において、操作者がカスタマイズ設定を反映しない旨の操作を行うと、無線ティーチペンダントTPには、初期設定のユーザインタフェースが適用されたままとなる。このとき、無線ティーチペンダントTPのディスプレイ15に、図5(a)に示す初期設定のGUI画面が表示される。この初期設定のGUI画面上においては、アイコン15a〜15cが表示されており、これらアイコン15a〜15cは、「機能A」〜「機能C」の各アプリケーションを実行するためのショートカットキーとして機能している。なお、これら「機能A」〜「機能C」の各アプリケーションは、すべての権限レベルにおいて実行が許可されたアプリケーションである。
次いで、無線ティーチペンダントTPの操作者が無線ティーチペンダントTPにパスワードを入力して「管理者レベル」でアクセスする。すると、無線ティーチペンダントTPにおいてカスタマイズ処理の実行が許容される。そして、無線ティーチペンダントTPの操作者が、GUI画面上における各アイコンの設定をカスタマイズする。具体的には、図5(a)及び(b)に示すように、アイコン15aの位置とアイコン15bの位置を入れ替える。また、アイコン15cのサイズを大きくする。また、新たに、アイコン15y及びアイコン15xを追加し、これらのアイコン15y、15xに「機能Y」及び「機能X」の各アプリケーションをそれぞれ割り当てる。これらのカスタマイズ処理が終了すると、各アイコンの変更に関する情報がカスタマイズ情報として無線ティーチペンダントTPに記憶される。
その後、操作者が無線ティーチペンダントTPとロボット制御装置RC1との無線通信の接続を解除し、新たに、無線ティーチペンダントTPとロボット制御装置RC2との間で無線通信の接続を確立する。このとき、図4に示す一連のユーザインタフェース設定処理が実行される。このユーザインタフェース設定処理において、無線ティーチペンダントTPの操作者がカスタマイズ設定を反映する旨の操作を行うと、パスワードの入力を求められる。そして、操作者が「管理者レベル」に対応するパスワードを入力すると、無線ティーチペンダントTPに記憶されているカスタマイズ情報と「管理者レベル」を示す権限情報とが、無線ティーチペンダントTPからロボット制御装置RC2に送信される。
カスタマイズ情報及び権限情報を受信したロボット制御装置RC2は、これらに基づいてGUI画面の画像情報などの設定反映情報を生成し、無線ティーチペンダントTPに送信する。そして、無線ティーチペンダントTPでは、設定反映情報に基づくGUI画面がディスプレイ15に表示される。ここで、ロボット制御装置RC2が送信した設定反映情報は、カスタマイズ情報に基づくものである。したがって、無線ティーチペンダントTPのディスプレイ15に表示されるGUI画面は、無線ティーチペンダントTPの無線通信の接続相手がロボット制御装置RC1であったときにカスタマイズしたGUI画面(図5(b)に示すカスタマイズGUI画面)である。すなわち、無線ティーチペンダントTPの無線通信の接続相手をロボット制御装置RC1からロボット制御装置RC2に変更したときでも、操作者は、カスタマイズ処理を最初から繰り返すことなく、カスタマイズしたGUI画面を無線ティーチペンダントTPのディスプレイ15に適用できる。
次に、「管理者レベル」の権限レベルを持つ「管理者」が、無線ティーチペンダントTPのGUI画面のカスタマイズ処理を行い、その後、「操作者レベル」の権限レベルを持つ「操作者」が同一の無線ティーチペンダントTPを用いて、ロボット制御装置RC1に無線通信の接続の確立を行った場合について説明する。
上述した例と同様に、無線ティーチペンダントTPのディスプレイ15に、図5(a)に示す初期設定のGUI画面が表示されている状態で、無線ティーチペンダントTPを操作する「管理者」が無線ティーチペンダントTPにパスワードを入力して「管理者レベル」でアクセスする。すると、無線ティーチペンダントTPにおいてカスタマイズ処理の実行が許容される。そして、無線ティーチペンダントTPを操作する「管理者」が、GUI画面上における各アイコンの設定をカスタマイズする。具体的には、図5(a)及び(b)に示すように、アイコン15aの位置とアイコン15bの位置を入れ替える。また、アイコン15cのサイズを大きくする。また、新たに、アイコン15y及びアイコン15xを追加し、これらのアイコン15y、15xに「機能Y」及び「機能X」のアプリケーションを割り当てる。これらのカスタマイズが終了すると、各アイコンの変更に関する情報がカスタマイズ情報として無線ティーチペンダントTPに記憶される。
ここで、「機能Y」のアプリケーションは、「ゲストレベル」を除く、「使用者レベル」、「操作者レベル」及び「管理者レベル」の権限レベルに対して実行が許可されたアプリケーションであり、「機能X」のアプリケーションは「管理者レベル」の権限レベルに対してのみ実行が許可されたアプリケーションであるものとする。
その後、「管理者」が無線ティーチペンダントTPとロボット制御装置RC1との無線通信の接続を解除し、その無線ティーチペンダントTPを「操作者」に貸与する。そして、「操作者」が無線ティーチペンダントTPとロボット制御装置RC1との無線通信の接続を確立する。すると、図4に示す一連のユーザインタフェース設定処理が実行される。このユーザインタフェース設定処理において、無線ティーチペンダントTPを操作する「操作者」がカスタマイズ設定を反映する旨の操作を行うと、パスワードの入力を求められる。このとき、「操作者」は「操作者レベル」の権限レベルを持つため、「操作者レベル」に対応するパスワードを入力する。そして、無線ティーチペンダントTPに記憶されているカスタマイズ情報と「操作者レベル」を示す権限情報とが、無線ティーチペンダントTPからロボット制御装置RC1に送信される。
カスタマイズ情報及び権限情報を受信したロボット制御装置RC1は、これらに基づいてGUI画面の画像情報などの設定反映情報を生成する。ここで、カスタマイズ情報には、新たに追加するアイコン15yに「機能Y」のアプリケーションを割り当てる旨の情報が含まれている。また、新たに追加するアイコン15xに「機能X」のアプリケーションを割り当てる旨の情報が含まれている。これら「機能Y」及び「機能X」のアプリケーションとロボット制御装置RC1が受信した権限情報との対応関係を判断する。具体的には、「操作者レベル」の権限レベルには、「機能Y」のアプリケーションの実行は許可されているが、「機能X」のアプリケーションの実行は許可されていない。そこで、ロボット制御装置RC1は、GUI画面上におけるアイコン15xがショートカットキーとして機能しないようにソフトウェアキーの設定情報を生成する。また、GUI画面の画像情報を生成するにあたって、図5(c)に示すように、アイコン15xのアイコンの画像を、ソフトウェアキーとしての機能が設定されていないことを示す画像に再構成する。例えば、アイコン15xのアイコンの画像のみを白黒画像にしたり、無効化を示す特定の画像を重畳表示したりする(図5(c)においては網掛け画像を重畳表示する例を示している。)。そして、ロボット制御装置RC1は、上記のようにして生成したソフトウェアキーの設定情報やGUI画面の画像情報を含む設定反映情報を無線ティーチペンダントTPに送信する。
そして、無線ティーチペンダントTPでは、ロボット制御装置RC1が送信した設定反映情報に基づくGUI画面がディスプレイ15に表示される。このGUI画面上においては、アイコン15aの位置とアイコン15bの位置との入れ替え、アイコン15cのサイズ変更、アイコン15yの追加等のカスタマイズは反映されている。その一方で、アイコン15xの追加は反映されているものの、このアイコン15xにおいては「機能X」のアプリケーションのショートカットキーとしての機能は無効化されている。したがって、「操作者レベル」の権限レベルを持つ「操作者」は、「管理者」がカスタマイズしたユーザインタフェースを反映したとしても、実行が許可されていない「機能X」のアプリケーションを実行することはできない。
(実施形態の特徴)
上記実施形態のロボット制御システムの特徴をその効果とともに記載する。
(1)上記実施形態では、無線通信の接続相手先のロボット制御装置RC1、RC2が切り換えられても、過去にカスタマイズしたユーザインタフェースを、無線ティーチペンダントTPのユーザインタフェースとして反映することができる。したがって、無線通信の接続相手先のロボット制御装置RC1、RC2が切り換えられても、無線ティーチペンダントTPにおいて同一のユーザインタフェースを保持することができ、無線ティーチペンダントTPにおけるユーザインタフェースの操作性が向上する。
(2)上記実施形態では、無線ティーチペンダントTPとロボット制御装置RC1、RC2の間で無線通信の接続が確立された際、先ず、初期設定のユーザインタフェースが無線ティーチペンダントTPに適用される。したがって、無線ティーチペンダントTPに何らのユーザインタフェースも設定されておらず、データを入力することができない期間を最小限に短くできる。
(3)上記実施形態では、無線ティーチペンダントTPとロボット制御装置RC1、RC2との間で無線通信の接続が確立されてから一定時間が経過すると、ロボット制御装置RC1、RC2のロボット制御部31は、カスタマイズ情報及び権限情報に基づく設定反映情報の生成・送信を行わないと判断する。つまり、無線通信の接続が確立されてから一定時間が経過すると、ユーザインタフェース設定処理を終了して、初期設定のユーザインタフェースが無線ティーチペンダントTPに適用されたままの状態にする。したがって、カスタマイズ情報がロボット制御装置RC1、RC2に受信されないことに起因して、ユーザインタフェース設定処理が終了しないままの状態になり、ロボットR1、R2の操作ができないといった事態の発生を抑制できる。
(4)上記実施形態では、カスタマイズ情報と共に権限情報が入力された場合には、カスタマイズ情報だけでなく権限情報にも基づいて、設定反映情報が生成される。したがって、カスタマイズされたユーザインタフェースを無線ティーチペンダントTPに反映させる際、権限情報で示される権限レベルに応じて適切な設定反映情報が生成される。
(5)特に、上記実施形態では、GUI画面におけるアイコンに、上位の権限レベルの者でしか実行が許可されていないアプリケーションを割り当てるカスタマイズを行い、その後、下位の権限レベルの者がユーザインタフェース反映処理を行った場合、そのアイコンのソフトウェアキーのとしての機能を無効化する。したがって、上位の権限レベルの者がカスタマイズしたユーザインタフェースの設定を下位の権限レベルの者が無線ティーチペンダントTPに反映することにより、下位の権限レベルの者が実行できるはずのないアプリケーションが実行できてしまう、といった事態は発生しない。
(6)上記実施形態では、カスタマイズ情報として、アイコンの画像、位置、大きさ、割り当てられている機能の名称等を無線ティーチペンダントTPの記憶部13に記憶した。これらカスタマイズ情報は、設定反映情報に含まれるGUI画面の画像情報等に比べて、容量の小さな情報である。したがって、無線ティーチペンダントTPの記憶部13として過度に容量の大きなものを採用する必要がない。また、無線ティーチペンダントTPでは、GUI画面の画像情報等の設定反映情報の生成処理は行われない。したがって、無線ティーチペンダントTPのTP制御部11として、過度に処理速度の大きなもの(CPU)を採用する必要がない。
(変更例)
上記実施形態は、以下のように変更してもよい。また、各変更例を適宜組み合わせて適用してもよい。
・ 上記実施形態における一連のユーザインタフェース設定処理に関する技術の適用範囲は、上記実施形態で例示したロボット制御システムに限らない。例えば、ロボットR1、R2として溶接ロボットではなく、搬送ロボットや検査用のロボットを適用してもよい。さらに、制御装置によって制御される機械であればロボットでなくともよく、半自動の溶接機械や、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ等の各種の機械であってもよい。また、ロボット制御システム及びロボットの組の数は複数であれば2組に限らない。なお、機械制御システムにおける機械の種類に応じて、機械を制御するための機械制御装置や無線ティーチペンダントTPに内蔵される電気的構成(モジュール)を一部省略、追加するなど、適宜変更してもよい。
・ 無線ティーチペンダントTPとロボット制御装置RC1、RC2が無線通信を行うロボット制御システムではなく、ティーチペンダントとロボット制御装置RC1、RC2が有線通信を行うロボット制御システムに、上記実施形態の一連のユーザインタフェース設定処理に関する技術を適用してもよい。この場合、ティーチペンダントとロボット制御装置RC1、RC2とを繋ぐケーブルを脱着可能として、ティーチペンダントの接続相手を切り換え可能とする必要がある。
・ カスタマイズ情報は、無線ティーチペンダントTPのディスプレイ15に表示されるGUI画面に関するカスタマイズ情報に限らない。例えば、キーボード16におけるファンクションキーとそのファンクションキーに割り当てられている機能との対応関係を示すキーバインド情報をカスタマイズ情報としてもよい。また、無線ティーチペンダントTPのブザー17が発する音の種類(メロディ)を指定する情報をカスタマイズ情報としてもよい。すなわち、操作者からの何らかの入力を受け付ける入力部や操作者の知覚に訴える出力部に関する設定情報であれば、どのような情報であってもカスタマイズ情報として採用できる。
・ ロボット制御装置RC1、RC2の記憶部33に初期設定反映情報を記憶するのに代えて、最後に入力されたカスタマイズ情報に基づいて生成された設定反映情報を記憶するようにしてもよい。また、初期設定反映情報及びカスタマイズ情報に基づいて生成された設定反映情報の両方を記憶するなど複数の設定反映情報を記憶してもよい。この場合、例えば図4に示すステップST41の後に、無線ティーチペンダントTPにおいていずれの設定反映情報を適用するのかを選択させる処理を追加し、ステップST62に代えて選択された設定反映情報を送信するように変更することが考えられる。また、必要に応じて、設定反映情報を適用するのかを選択させた後に、権限レベルを設定するためのパスワードの入力を要求するようにしてもよい。
・ ロボット制御装置RC1、RC2の記憶部33に初期設定反映情報を記憶するのに代えて、無線ティーチペンダントTPの記憶部に初期設定反映情報を記憶してもよい。この場合、図4に示すステップST42及びステップST62の処理は省略される。
・ カスタマイズ設定を反映する際(図4のステップST45においてYES)、パスワードの入力に関する処理を省略してもよい。具体的には、図4のステップST46及びステップST47の処理が省略される。この場合、ステップST48における権限情報の送信を省略することになる。また、この変更例の場合、ロボット制御装置RC1、RC2において設定反映情報を生成する際に、権限レベルは考慮されないことになる。
・ 上記実施形態では、ユーザインタフェース設定処理において、下位の権限レベルのパスワードが入力された場合に、アイコンの画像をソフトウェアキーとしての機能が設定されていないことを示す画像に再構成した。これに代えて、アイコンの画像そのものを表示しないようにしてもよい。
・ 上記実施形態では、ユーザインタフェース設定処理において、下位の権限レベルのパスワードが入力された場合にもカスタマイズ情報に基づく設定反映情報を生成するようにしたが、これを変更してもよい。例えば、カスタマイズ情報に基づく設定反映情報に、入力されたパスワードに対応する権限レベルでは実行できないアプリケーションが含まれている場合、設定反映情報を生成、送信せず、ユーザインタフェース設定処理を終了してもよい。この場合、無線ティーチペンダントTPは初期設定のユーザインタフェースが適用されたままである。
・ パスワードの入力要求を表示する処理(図4におけるステップST46)及びその後のパスワードが入力されたか否かを判断する処理(図4におけるステップST47)のタイミングを変更してもよい。例えば、図3に示すロボット制御装置が選択されたか否かの判断(ステップST12)の直後でもよいし、無線通信の接続が確立した(ステップST17、ステップST34)直後でもよい。
・ ロボット制御装置RC1、RC2におけるユーザインタフェース設定処理において、無線ティーチペンダントTPに対する無線通信の接続が確立してからの時間をカウントしないようにしてもよい。この場合、図4におけるステップST61及びステップST65の処理が省略される。そして、ステップST63において、カスタマイズ情報及び権限情報が受信されていないと判断された場合に、引き続きカスタマイズ情報及び権限情報が受信されるのを待機し続けることになる。
・ ユーザインタフェース設定処理が実行されるタイミングは、無線通信の接続が確立した(ステップST17、ステップST34)直後に限らない。例えば、無線ティーチペンダントTPのディスプレイ15に表示されるGUI画面上において、ユーザインタフェース設定処理を実行するためのアイコンを表示しておき、このアイコンを操作することにより任意のタイミングでユーザインタフェース設定処理が実行されるようにしてもよい。
・ 無線ティーチペンダントTPの記憶部13に記憶されるカスタマイズ情報は、1つでも複数でもよい。なお、カスタマイズ情報を複数記憶する場合は、カスタマイズ情報と例えばそのカスタマイズ情報を記憶した日時情報等を関連付けて記憶することにより、どのカスタマイズ情報であるかを特定できるようにする。その上で、ロボット制御装置RC1、RC2に送信するに際して、無線ティーチペンダントTPのディスプレイ15に各カスタマイズ情報を選択可能に表示することが考えられる。また、例えばカスタマイズ情報とカスタマイズ処理を行うに際して入力されたパスワードを関連づけて記憶しておく。そして、ユーザインタフェース設定処理においてパスワードが入力されたときに、そのパスワードに対応するカスタマイズ情報を自動的に送信するようにしてもよい。
・ 上記実施形態では、権限情報として権限レベルを示す情報を送信したが、例えば入力されたパスワードを権限情報として送信してもよい。この場合、ロボット制御装置RC1、RC2において、そのパスワードがどの権限レベルに対応するものであるかの照合を行う。