(57)【特許請求の範囲】
【請求項１】
ロボット教示用のＧＵＩプログラムが実行されるときの第１作業レベルを設定する設定手段、及びＧＵＩ画面データを生成するＧＵＩプログラム実行手段を含むコントローラであって、複数の可搬式操作部と排他的に共有されるセッションを有し、前記複数の可搬式操作部のうち前記コントローラに接続された可搬式操作部に対応するセッション上で前記ＧＵＩプログラムを実行するとき、前記第１作業レベルに応じて前記ＧＵＩ画面データを生成するコントローラと、前記ＧＵＩ画面データに基づいてＧＵＩ画面を表示する表示手段、及び前記コントローラと非接続状態において単独での作業が可能なプログラムを実行するプログラム実行手段を含む可搬式操作部とを備えたロボット制御システムであって、
前記可搬式操作部は、前記プログラム実行手段の第２作業レベルに関するレベル指示関連データを入力するレベル指示関連データ入力手段を備え、前記プログラム実行手段は、前記コントローラと非接続状態において単独で作業する際に、前記レベル指示関連データの入力に基づく第２作業レベルに従い前記プログラムを実行し、
前記設定手段は、前記コントローラと前記可搬式操作部との通信が接続又は遮断したときに、前記第１作業レベルを最低レベルに設定する第１手段と、前記可搬式操作部からレベル指示関連データを取得したとき、前記レベル指示関連データに基づいて、前記第１手段により最低レベルに設定された第１作業レベルを変更する第３手段とを含み、
前記第３手段は、前記第１作業レベルを、前記可搬式操作部と接続される直前の非接続状態における前記プログラム実行手段の第２作業レベルと一致させることを特徴とするロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ティーチペンダントとロボット制御装置（以下、制御装置と称す）とを、ネットワークや非有線通信手段を介して接続するロボット制御システムに関する。
【背景技術】
【０００２】
従来、特許文献１に開示されるように、分散コンピューティング環境におけるオブジェクト間のインタラクティブ通信のためのシステム、その方法及びインタラクティブ分散コンポーネントオブジェクトモデルが提案されている。特許文献１において提案されているリモートデスクトップ（以下、ＲＤＰと称す）は、ホストコンピュータ（以下、ホストと称す）上で動作するリモートオブジェクトを、クライアント端末からネットワークを介して遠隔操作するシステムである。この機能は、オペレーティングシステム（ＯＳ）、又は専用のプログラムによって提供される。このため、ホスト上で動作するプログラムは、直接操作や遠隔操作を意識することなく設計可能である。この技術により、ホスト上で動作するプログラムを、クライアント端末からネットワークを介して容易に遠隔操作することができる。【０００３】
ティーチペンダント（以下、ＴＰと称す）は、ロボットに関する作業を行うための端末である。ロボットに関する作業は、ロボットの状態を監視するといった簡単な作業から、ロボットを操作するといった熟練度を要する作業に至るまで、多岐に渡る。【０００４】
図９に示すように、ＴＰの機能として、例えば、ロボットの状態の監視、及びロボットに関する作業のための簡単な設定や高度な設定等がある。ＴＰには、これら全ての機能が備えられている。これらの機能は、ＴＰのＧＵＩ（graphical user interface）プログラムを操作することで使用できる。このように、ＧＵＩプログラムには全ての機能が備えられているが、安全を考慮すれば、使用できる機能を、作業者の権限、即ち、作業者の作業レベルに応じて制限する必要がある。例えば、使用できる機能を制限するため、ＧＵＩプログラムが作業レベルに応じてパスワード制限を行う方法が挙げられる。図９は、ロボットの状態の監視を初心者が利用できる機能として制限し、ロボットに関する作業のための簡単な設定を熟練作業者が利用できる機能として制限し、ロボットに関する作業のための高度な設定を管理者が利用できる機能として制限する例を示している。【０００５】
一般的なＲＤＰによれば、ホスト上の仮想的なワークスペース（以下、セッションと称す）上での作業をクライアント端末から行えるようにした機能である。ＲＤＰは、ホスト側でユーザである作業者を管理する。そして、許可された作業者のみが、クライアント端末からＲＤＰホストに接続することができる。図１０に示すように、作業者Ａ，Ｃは、作業者名パスワードを各端末１，２から入力し、ＲＤＰホストに接続する。作業者Ａ．Ｃは、入力されたパスワードが認証されない限り、ＲＤＰホストに接続することができない。【０００６】
ＲＤＰホストへ接続した作業者には、ワークスペースに対する操作が許可される。これにより、その作業者は、ワークスペースに用意されている全てのプログラムを使用することができる。つまり、一般的なＲＤＰシステムでは、ワークスペースに対する接続認証のみを行えばよく、プログラムに含まれる個々の機能の使用可否については関与しない。【０００７】
図１０に示すように、ＲＤＰホストにおいて作業者ごとに複数のセッションを設けることにより、複数の作業者が一つのＲＤＰホストを共有することができる。また、作業の多くは、ホストＰＣ内で完結する。このため、複数の作業者により、一つのＲＤＰホストを同時に使用することも可能である。【０００８】
図１１に示すように、ＲＤＰを用いたＴＰとは、既存のＴＰをネットワーク化するための方法である。つまり、ロボット制御装置にＲＤＰホストの機能を付加し、ＴＰにＲＤＰクライアントの機能を付加することで、ＴＰのネットワーク化を実現することができる。【０００９】
しかしながら、ＴＰによる作業では、ロボットの動作を伴うため、作業に用いるセッション３は１つしか存在しない。また、同時に作業できるのは一人だけである。このため、作業者Ａが端末１で作業しているとき、作業者Ｃが端末２で作業しようとする場合、作業者Ｃは、作業者Ａの作業が終了するまで待たなければならない。このように、ＴＰによる作業の場合、１つのセッション３が、複数の作業者によって排他的に共有されている。同様に、ロボットによる作業を行うためセッション３上で動作するＧＵＩプログラム４についても、複数の作業者によって排他的に共有されている。【００１０】
これに対し、ＴＰは、１つのプログラムに全ての機能を備えている。また、これらの機能は、権限が同一でない複数の作業者によって共有されている。このような理由から、プログラムにより、作業者の権限に応じて、プログラムに含まれる個々の機能を制限する必要がある。このように、ＲＤＰをＴＰに適用する場合、ＲＤＰの作業者を管理するのみでは十分でない。よって、下記のような問題が発生する虞がある。【００１１】
第１に、作業者のミスに伴い、危険な状況が発生する虞がある。具体的には、
（１−１）管理者権限を有する作業者が作業セッションに接続し、ＧＵＩプログラムの作業レベルを上げた後、作業レベルを元に戻さずに、作業セッションとの接続を切断することがある。
（１−２）管理者権限の無い別の作業者が（１−１）の状態で作業セッションに接続したとき、ＧＵＩプログラムの作業レベルが高い状態に設定されている。
（１−３）このため、管理者権限を持たない作業者が管理権限を有する者と同じ機能を使用できてしまうといった問題が生じる。【００１２】
第２に、ＴＰの高機能化に伴い、作業が煩雑になる。具体的には、
（２−１）ＴＰは、単なるロボット操作用の端末としてではなく、より高機能化した総合情報端末として用いられる。このため、ＴＰには、例えば、ＲＤＰホストである制御装置と接続していない状態であってもＴＰ単独でのサービスを使用可能なＧＵＩプログラム等が実装されている。
（２−２）ＴＰのＧＵＩプログラムには、制御装置のＧＵＩプログラムと同様に、安全を考慮して、パスワード入力による作業レベルの管理、即ち、作業者の権限に応じて、使用できる機能を制限する必要がある。
（２−３）しかしながら、このようにすると、作業者は、ＴＰ単独での作業後に制御装置の作業セッションに接続して作業する場合、同じＴＰを用いて作業するにもかかわらず、上記の各作業の開始時にその都度パスワードを入力しなければならない。【００１３】
なお、本出願人は、ＲＤＰをＴＰに適用する発明を特願２００７−０９１２５１号において開示している。
【特許文献１】特開２００２−４１３０９号公報
【発明の開示】
【００１４】
本発明の目的は、ＲＤＰを適用した可搬式操作部とロボットを制御するコントローラとの間の通信を切断又は接続したとき、常に、コントローラのＧＵＩプログラムの作業レベルを最低レベルに下げることにより、ＧＵＩプログラムの作業レベルを安全に管理することのできるロボット制御システムを提供することにある。
【００１５】
本発明の他の目的は、可搬式操作部単独での作業レベルを設定した後にコントローラに接続して作業を開始するとき、可搬式操作部の作業レベルをＧＵＩプログラムの作業レベルに自動的に反映させることにより、ＧＵＩプログラムの作業レベルを安全に管理することのできるロボット制御システムを提供することにある。
【００２０】
上記の問題点を解決するため、本発明によれば、ロボット教示用のＧＵＩプログラムが実行されるときの第１作業レベルを設定する設定手段、及びＧＵＩ画面データを生成するＧＵＩプログラム実行手段を含むコントローラであって、複数の可搬式操作部と排他的に共有されるセッションを有し、複数の可搬式操作部のうちコントローラに接続された可搬式操作部に対応するセッション上でＧＵＩプログラムを実行するとき、第１作業レベルに応じてＧＵＩ画面データを生成するコントローラと、ＧＵＩ画面データに基づいてＧＵＩ画面を表示する表示手段、及びコントローラと非接続状態において単独での作業が可能なプログラムを実行するプログラム実行手段を含む可搬式操作部とを備えたロボット制御システムが提供される。可搬式操作部は、プログラム実行手段の第２作業レベルに関するレベル指示関連データを入力するレベル指示関連データ入力手段を備え、プログラム実行手段は、コントローラと非接続状態において単独で作業する際に、レベル指示関連データの入力に基づく第２作業レベルに従いプログラムを実行し、設定手段は、コントローラと可搬式操作部との通信が接続又は遮断したときに、第１作業レベルを最低レベルに設定する第１手段と、可搬式操作部からレベル指示関連データを取得したとき、レベル指示関連データに基づいて、第１手段により最低レベルに設定された第１作業レベルを変更する第３手段とを含む。
【００２１】
この構成によれば、可搬式操作部単独での作業レベルを設定した後にコントローラに接続して作業を開始する場合、可搬式操作部の作業レベルがＧＵＩプログラムの作業レベルに自動的に反映される。このため、作業者は、簡単な操作で、ＧＵＩプログラムの作業レベルを設定することができる。又、ＧＵＩプログラムの作業レベルを安全に管理することもできる。
【００２２】
上記のロボット制御システムにおいて、第３手段は、第１作業レベルを、可搬式操作部と接続される直前の非接続状態におけるプログラム実行手段の第２作業レベルと一致させる。
【００２３】
この構成によれば、ＧＵＩプログラムの第１作業レベルを、可搬式操作部に接続される直前の非接続状態におけるプログラム実行手段の第２作業レベルに一致させる。これにより、作業者は、ＧＵＩプログラムの作業レベルを、可搬式操作部単独で実行されるプログラムと同じ作業レベルにして作業することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１実施形態に係るロボット制御システムのコントローラ及びティーチペンダントのブロック図。
【図２】ティーチペンダントがコントローラにＲＤＰ接続されるときのフローチャート。
【図３】作業レベル管理プログラムのフローチャート。
【図４】ティーチペンダントがコントローラからＲＤＰ切断されるときのフローチャート。
【図５】第１実施形態の変形例に係るティーチペンダントがコントローラにＲＤＰ接続されるときのフローチャート。
【図６】本発明の第２実施形態に係るロボット制御システムのコントローラ及びティーチペンダントのブロック図。
【図７】第２作業レベルを変更するときのフローチャート。
【図８】ティーチペンダントがコントローラにＲＤＰ接続されるとき、及び第１作業レベルが変更されるときのフローチャート。
【図９】ＴＰの利用者と使用可能な機能との関係を示す説明図。
【図１０】一般的なＲＤＰシステムの作業者管理のための構成を説明する模式図。
【図１１】ロボット制御における作業者管理のための構成を説明する模式図。
【発明を実施するための最良の形態】
【００２５】
（第１実施形態）
以下、本発明のロボット制御システムを、ティーチペンダント１０とコントローラ２０との間の通信が無線ＬＡＮ（ローカルエリアネットワーク）を介して行われるロボット制御システム３０に具体化した第１実施形態について、図１〜図４を参照して説明する。第１実施形態において、コントローラ２０に対して複数のティーチペンダント１０が接続可能である。説明の便宜上、図１は、１つのティーチペンダント１０のみを示している。ロボット制御システム３０において、コントローラ２０が制御するロボットＲは溶接ロボットである。なお、ロボットは、溶接ロボット以外にも、例えば、搬送ロボット等の他のロボットであってもよい。【００２６】
（１．ティーチペンダント１０）
図１に示すように、可搬操作部としてのティーチペンダント１０は、ＣＰＵ（中央処理装置）１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスク１４、ＬＡＮＩ／Ｆとしての無線ＬＡＮＩ／Ｆ１５、キーボード１６、及び液晶ディスプレイ１７等を備えている。これらは、バス１９を介して、互いに接続されている。【００２７】
ＲＯＭ１２には、ティーチペンダント１０によるロボットの操作やティーチペンダント１０からの通信を実行するためのＲＤＰクライアントプログラム１２ａが格納されている。ＲＯＭ１２が格納するプログラムには、例えば、ＧＵＩ表示処理プログラム１２ｂ、通信処理プログラム１２ｃ、接続／切断処理プログラム１２ｄが含まれる。ＧＵＩ表示処理プログラム１２ｂは、コントローラ２０から取得したＧＵＩ画面データを液晶ディスプレイ１７に表示制御する。ＲＯＭ１２には、ＣＰＵ１１をパソコンとして機能させるための各種プログラムが格納されている。ＲＡＭ１３は、ＣＰＵ１１のワーキングエリアとして用いられる。ＲＡＭ１３には、計算途中のデータが一時的に格納される。ハードディスク１４には、制御プログラムの実行変数が格納されている。無線ＬＡＮＩ／Ｆ１５は、コントローラ２０との接続に使用される通信機である。キーボード１６は、ティーチペンダント１０の操作者がロボットを操作するためのデータを入力するためのインターフェイスとして用いられる。液晶ディスプレイ１７は、ティーチペンダント１０の作業者がロボットの操作条件や動作状態を確認するための表示機として使用される。【００２８】
第１実施形態において、キーボード１６は入力手段に相当し、液晶ディスプレイ１７は表示手段に相当し、無線ＬＡＮＩ／Ｆ１５は第１通信手段に相当する。
（２．コントローラ）
ロボット制御装置としてのコントローラ２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスク２４、無線ＬＡＮＩ／Ｆ２５、タイマ２６、サーボドライバ２７、ビデオＲＡＭ（図示せず）等を備えている。これらは、バス３１を介して、互いに接続されている。ＲＯＭ２２には、ロボットＲの動作を制御するための制御プログラムとその制御定数、ＧＵＩプログラム２２ａ、ＲＤＰホストプログラム２２ｂ等の各種プログラムが格納されている。ＧＵＩプログラム２２ａには、作業レベル管理プログラム２２ｆが含まれている。ＲＤＰホストプログラム２２ｂには、画面監視処理プログラム２２ｃ、通信処理プログラム２２ｄ、接続／切断処理プログラム２２ｅ等が含まれている。ＲＡＭ２３は、ＣＰＵ２１のワーキングエリアとして用いられる。ＲＡＭ２３には、計算途中のデータが一時的に格納される。ハードディスク２４には、作業レベルパラメータに関連付けられたパスワード、及び現在の作業レベルパラメータ等が格納されている。パスワードは、ロボットＲの作業が教示されたデータ、制御プログラムの実行条件、各種の制御変数、作業レベル別に設定されている。コントローラ２０は、ハードディスク２４に代えて、半導体メモリ等の記憶装置を備えてもよい。第１実施形態において、ハードディスク２４は第１記憶手段に相当する。【００２９】
無線ＬＡＮＩ／Ｆ２５は、ティーチペンダント１０との接続に使用される通信機である。サーボドライバ２７は、ロボットＲの各関節を駆動するモータ（図示せず）に接続されており、モータに流れる電流を制御する。タイマ２６は、定期時刻ごとに同期信号を発生する。同期信号は、サーボドライバ２７への指令値の更新タイミングとして使用される。ビデオＲＡＭ（図示せず）には、ティーチペンダント１０の液晶ディスプレイ１７に表示するＧＵＩ画面のデータが一時的に保存される。【００３０】
第１実施形態において、ティーチペンダント１０の無線ＬＡＮＩ／Ｆ１５、及びコントローラ２０の無線ＬＡＮＩ／Ｆ２５によって、無線ＬＡＮからなるネットワーク手段が構成されている。無線ＬＡＮでは、通信パケットにより、無線ＬＡＮＩ／Ｆ１５，２５間の交信が行われている。第１実施形態において、無線ＬＡＮＩ／Ｆ２５は第２通信手段に相当する。又、コントローラ２０のＣＰＵ２１は、第１手段及び第２手段を含む設定手段、及びＧＵＩプログラム実行手段に相当する。【００３１】
次に、第１実施形態のロボット制御システム３０の作用について図２〜図４を参照して説明する。
（１）ティーチペンダント１０によるＲＤＰ接続
図２に示すように、ティーチペンダント１０のＣＰＵ１１は、作業者によるキーボード１６の操作により、「ＲＤＰ接続処理」の開始を検知する。すると、ＣＰＵ１１は、ＲＤＰクライアントプログラム１２ａの接続／切断処理プログラム１２ｄのうち、「接続」機能を実行する（Ｓ１０）。「接続」機能が実行されると、ＣＰＵ１１は、ティーチペンダント１０の無線ＬＡＮＩ／Ｆ１５を介して、ＲＤＰ接続されたコントローラ２０に「ＲＤＰ接続要求」を送る。【００３２】
コントローラ２０は、ティーチペンダント１０からの「ＲＤＰ接続要求」を受け取ると、ＲＤＰホストプログラム２２ｂの接続／切断処理プログラム２２ｅのうち、「接続」機能を実行する。こうして、「接続」機能が実行されると、ＣＰＵ２１は、「ＲＤＰ接続要求」の内容を参照し（Ｓ２０）、その内容に問題が無ければ、コントローラ２０の無線ＬＡＮＩ／Ｆ２５を介して、ティーチペンダント１０に「ＲＤＰ接続許可」を送る。【００３３】
ティーチペンダント１０とコントローラ２０との交信は、無線ＬＡＮＩ／Ｆ１５，２５を介して行われる。以下、説明の便宜上、「無線ＬＡＮＩ／Ｆ１５，２５を介して」の文言を省略して、単に、ティーチペンダント１０（又はコントローラ２０）から送る（又は受け取る）等の表現を用いる。【００３４】
ティーチペンダント１０が「ＲＤＰ接続許可」を受け取った時点で、「ＲＤＰ接続の確立」が完了する。「ＲＤＰ接続の確立」の完了後は、ＲＤＰ機能により、ティーチペンダント１０によるコントローラ２０のＧＵＩプログラム２２ａの操作が可能となる。【００３５】
こうして、一旦、ティーチペンダント１０とコントローラ２０とがＲＤＰ接続されると、コントローラ２０のＣＰＵ２１は、ＲＡＭ２３における仮想的なワークスペース（セッション）上で、ＧＵＩプログラムの作業を行う。このセッションは、ティーチペンダント１０とは別のティーチペンダントに対しても共有される。しかしながら、コントローラ２０がティーチペンダント１０とＲＤＰ接続すると、このセッションは、ＲＤＰ接続されたティーチペンダント１０以外のティーチペンダントに対しては排他的となる。【００３６】
（２）ティーチペンダント１０によるＧＵＩプログラム２２ａの作業レベルの変更
初期状態では、コントローラ２０のＧＵＩプログラム２２ａの作業レベルパラメータが最低レベルに設定されている。ここで、作業レベルの変更について説明する。【００３７】
作業レベルとしては、例えば、作業レベル「１」、作業レベル「２」、作業レベル「３」の順に、最低レベルから最高レベルまで設定されている。作業レベル「１」は、ロボットに教示する初心者のためのレベルであり、最低レベルに相当する。作業レベル「２」は、ロボットに教示する上級作業者のためのレベルである。作業レベル「２」は、初心者が教示できないこともロボットに教示できるレベルである。作業レベル「３」は、管理者のためのレベルである。作業レベル「３」は、上級作業者には許容されていない内容を含む全ての項目に関しロボットに教示できるレベルである。【００３８】
作業レベル「２」、及び作業レベル「３」への変更を行う場合、作業者には、作業レベル「２」、及び作業レベル「３」に応じたパスワードの入力が求められる。作業者は、例えば、作業レベル「２」への変更の際に「fghij」を入力し、作業レベル「３」への変更の際に「kimno」を入力する。パスワードは、これらの例示に限定されない。第１実施形態において、作業レベルの数を３つに限定したが、２つ、或いは４つ以上に変更してもよい。レベルを変更する場合、各レベルにパスワードをそれぞれ関連付ければよい。第１実施形態において、パスワードはレベル指示関連データに相当する。【００３９】
上述したように、初期状態で、ＧＵＩプログラム２２ａの作業レベルパラメータは最低レベルに設定されている。このため、作業者が初心者である場合は、ＧＵＩプログラム２２ａの作業レベルを変更する必要はない。従って、作業者が初心者の場合、作業者には、ティーチペンダント１０にＲＤＰ接続されたコントローラ２０との間でパスワードの入力が求められることはない。よって、作業者は、パスワードを入力することなく、液晶ディスプレイ１７に表示されたＧＵＩ画面を見て、教示作業を行うことができる。【００４０】
この場合、コントローラ２０では、作業レベルが最低レベルに設定された状態で、ＧＵＩプログラムが実行される。これにより、ＧＵＩ画面データが生成されて、そのＧＵＩ画面データがティーチペンダント１０に送られる。この結果、ＧＵＩプログラムの機能が最低レベルに設定されたときのＧＵＩ画面データに基づいて、ティーチペンダント１０の液晶ディスプレイ１７にＧＵＩ画面が表示される。そして、液晶ディスプレイ１７に表示されたＧＵＩ画面により提供される範囲内で、作業者によって、ロボットＲに教示するための教示データが、ティーチペンダント１０からコントローラ２０に送られる。コントローラ２０は、ティーチペンダント１０からの教示データに基づいてロボットＲを制御する。【００４１】
作業者が初心者でない場合、即ち、上級作業者又は管理者は、作業レベルの変更のため、要求する作業レベルに応じて、パスワードをキーボード１６から入力する。ティーチペンダント１０において、作業レベルの変更のためのパスワードが入力されると、コントローラ２０のＣＰＵ２１は、ティーチペンダント１０から作業レベルの変更を示す信号を受け取る。これにより、ＣＰＵ２１は、ティーチペンダント１０を持つ作業者が「作業レベルの変更」を開始したことを検知する。すると、ＣＰＵ２１は、ＧＵＩプログラム２２ａの作業レベル管理プログラム２２ｆを実行する。以下、作業レベル管理プログラム２２ｆの実行により実現される機能を「作業レベル管理」機能と称す。【００４２】
図３は、作業レベル管理プログラム２２ｆのフローチャートを示す。図３に示すように、「作業レベル管理」機能を実現するＣＰＵ２１は、ティーチペンダント１０を持つ作業者によりパスワードが入力されたことを検知すると、そのパスワードを取得する（Ｓ５０）。そして、ＣＰＵ２１は、取得したパスワードとコントローラ２０のハードディスク２４に格納された「パスワード」とを照合する（Ｓ６０）。ＣＰＵ２１は、取得したパスワードとハードディスク２４に格納されたパスワードとが一致した場合、そのパスワードと関連づけられた作業レベルパラメータに基づいて、ＧＵＩプログラム２２ａの作業レベルを設定する（Ｓ７０）。そして、ＣＰＵ２１は、ハードディスク２４に格納された作業レベルパラメータに対し、新たに設定された作業レベルパラメータを上書きし、これを登録する。【００４３】
この結果、ＣＰＵ２１は、上書きされた作業レベルパラメータに応じて、ＧＵＩプログラム２２ａに含まれる機能について使用できる範囲を変更し、「作業レベル変更許可」をティーチペンダント１０に送る。ティーチペンダント１０のＣＰＵ１１は、コントローラ２０から「作業レベル変更許可」を受け取ると、ＲＤＰ機能によって、ティーチペンダント１０からコントローラ２０のＧＵＩプログラムを操作することが可能となる。【００４４】
こうして、ＧＵＩプログラム２２ａの作業レベルが変更されると、変更された作業レベルに応じて、ＧＵＩプログラム２２ａの機能が変更される。そして、変更された機能の範囲内で、ＧＵＩプログラム２２ａが実行される。これにより、ＧＵＩ画面データが生成されて、そのＧＵＩ画面データがティーチペンダント１０に送られる。この結果、ＧＵＩプログラムの機能が拡張されたＧＵＩ画面データに基づいて、ティーチペンダント１０の液晶ディスプレイ１７にＧＵＩ画面が表示される。そして、ＧＵＩ画面により提供される範囲内で、ロボットに教示するための教示データが、ティーチペンダント１０からコントローラ２０に送られる。コントローラ２０は、ティーチペンダント１０からの教示データに基づいてロボットＲを制御する。【００４５】
（３）ティーチペンダント１０によるＲＤＰ切断
次に、ＲＤＰ接続の切断処理について説明する。
ティーチペンダント１０のＣＰＵ１１は、作業者によるキーボード１６の操作によって、「ＲＤＰ切断処理」が開始されたことを検知する。すると、ＣＰＵ１１は、図４に示すように、ＲＤＰクライアントプログラム１２ａの接続／切断処理プログラム１２ｄのうち、「切断」機能を実行する（Ｓ１００）。「切断」機能が実行されると、ＣＰＵ１１は、ティーチペンダント１０から、ＲＤＰ接続されたコントローラ２０に「ＲＤＰ切断要求」を送る。【００４６】
ティーチペンダント１０から「ＲＤＰ切断要求」を受け取ると、コントローラ２０は、ＲＤＰホストプログラム２２ｂの接続／切断処理プログラム２２ｅのうち、「切断」機能を実行する。「切断」機能が実行されると、ＣＰＵ２１は、「ＲＤＰ切断要求」の内容を参照し（Ｓ１１０）、その内容に問題が無ければ、ティーチペンダント１０に「ＲＤＰ切断許可」を送る。ティーチペンダント１０が「ＲＤＰ切断許可」を受け取ったとき、「ＲＤＰ接続の切断」が完了する。「ＲＤＰ接続の切断」が完了すると、作業者は、ティーチペンダント１０からコントローラ２０を操作することはできない。【００４７】
（４）コントローラ２０によるＧＵＩプログラム２２ａの作業レベルのリセット
接続／切断処理プログラム２２ｅのうち「切断」機能が実行されると、ＣＰＵ２１は、「ＲＤＰ接続の切断」の完了後、作業レベル管理プログラム２２ｆを実行する。そして、ＣＰＵ２１は、ＧＵＩプログラムの作業レベルパラメータを最低レベルに戻す。ＣＰＵ２１は、コントローラ２０のハードディスク２４の作業レベルパラメータを最低レベルに上書きし、これを登録する（Ｓ１２０）。【００４８】
こうして、以上の４つのステップを経て、ティーチペンダント１０の作業者のロボットＲに関する作業が行われる。これにより、ロボットＲに関する作業は、常に、最低レベルの作業レベルから開始される。このため、従来課題であった第１の課題である「作業者の運用ミスに伴う危険な状況の発生」を確実に回避することができる。【００４９】
第１実施形態によれば、以下のような効果を得ることができる。
（１）ロボット制御システム３０のコントローラ２０は、ロボット教示用のＧＵＩプログラム実行時の作業レベルを設定するＣＰＵ２１を備える。コントローラ２０は、複数の可搬式操作部と排他的に共有されるセッションを備えることができる。ＣＰＵ２１は、コントローラ２０に接続されたティーチペンダント１０とのセッション上でＧＵＩプログラム２２ａを実行する際、設定された作業レベルに応じてＧＵＩ画面データを生成する。【００５０】
一方、ティーチペンダント１０は、ロボット教示用のＧＵＩプログラム実行時の作業レベルを特定するパスワードを入力するためのキーボード１６を備える。又、ティーチペンダント１０は、ロボット教示用のＧＵＩ画面データに基づいてＧＵＩ画面を表示する液晶ディスプレイ１７を備える。【００５１】
ＣＰＵ２１は、ティーチペンダント１０との通信が遮断されたとき、作業レベルを最低レベルに設定する第１手段として機能する。又、ＣＰＵ２１は、ティーチペンダント１０からパスワードを取得した際に、最低レベルに設定された作業レベルをパスワードに基づいてＧＵＩプログラム２２ａの作業レベルを変更する第２手段としても機能する。【００５２】
この結果、ティーチペンダント１０とコントローラ２０と間のＲＤＰ接続が切断されると、常に、コントローラ２０のＧＵＩプログラム２２ａの作業レベルが最低レベルに下げられる。これにより、ＧＵＩプログラム２２ａの作業レベルを安全に管理することができる。【００５３】
（２）コントローラ２０には、レベル指示関連データとしてのパスワードと作業レベルパラメータとを関連付けて記憶するハードディスク２４を備えている。又、ＣＰＵ２１は、ティーチペンダント１０からパスワードを取得した際、ハードディスク２４に記憶されるとともにパスワードに関連付けられた作業レベルパラメータに従って、ＧＵＩプログラム２２ａの作業レベルを設定する。この結果、ＣＰＵ２１は、パスワードを知っている作業者に応じて機能が拡張又は制限されたＧＵＩプログラム２２ａを実行することができる。従って、ＧＵＩプログラム２２ａの作業レベルを安全に管理することができる。【００５４】
（第１実施形態の変形例）
第１実施形態では、ティーチペンダント１０とコントローラ２０との間のＲＤＰ接続が切断されると、常に、コントローラ２０のＧＵＩプログラム２２ａの作業レベルが最低レベルに下げられていた。これに代えて、ティーチペンダント１０とコントローラ２０との間のＲＤＴ接続時に、常に、ＧＵＩプログラム２２ａの作業レベルを最低レベルに下げるようにしてもよい。例えば、図５に示すように、ティーチペンダント１０とコントローラ２０とがＲＤＰ接続する際、コントローラ２０から「ＲＤＰ接続許可」がティーチペンダント１０に送られた後、Ｓ３０において、コントローラ２０は、ＧＵＩプログラム２２ａの作業レベルを最低レベルに下げる。この場合、図４のフローチャートにおけるＳ１２０の処理が省略される。この変形例によれば、ティーチペンダント１０とコントローラ２０との間のＲＤＰ接続時に、常に、コントローラ２０のＧＵＩプログラム２２ａの作業レベルが最低レベルに下げられるため、ＧＵＩプログラム２２ａの作業レベルを安全に管理することができる。【００５５】
この場合も、作業者は、最低レベルから作業を開始することができるため、第１の課題である「作業者の運用ミスに伴う危険な状況の発生」を回避することができる。
（第２実施形態）
次に、第２実施形態を図６〜図８を参照して説明する。【００５６】
第２実施形態において、第１実施形態と同一又は類似の構成については、同一符号を付して、その説明を省略する。
第２実施形態において、第１実施形態を構成するティーチペンダント１０のＲＯＭ１２には、ティーチペンダント１０からのロボットＲの操作や通信を実行するためのＲＤＰクライアントプログラム１２ａの他に、第２作業レベル管理プログラム１２ｅが格納されている。又、ティーチペンダント１０のハードディスク１４には、ＣＰＵ１１が使用する各種の制御プログラムの実行変数、作業レベル別に設定されたパスワード、及びティーチペンダント１０単独で作業する場合の現在の作業レベルパラメータ等が格納されている。なお、ここで言う作業レベルとは、ティーチペンダント１０単独で作業する場合の作業レベルを意味する。ハードディスク１４は、半導体メモリ等の他の書き換え可能な記憶装置であってもよい。第２実施形態において、ハードディスク１４は第２記憶手段に相当する。【００５７】
以下、ティーチペンダント１０単独で作業する場合の作業レベルと、第１実施形態で説明したＧＵＩプログラムの作業レベルとを区別するため、ティーチペンダント１０単独で作業する場合に用いられるプログラムの作業レベルを第２作業レベルと称し、ＧＵＩプログラムの作業レベルを第１作業レベルと称す。【００５８】
第２実施形態では、コントローラ２０とＲＤＰ接続されていない非接続状態で、作業者がティーチペンダント１０単独で作業する場合の第２作業レベルを、パスワードの入力の有無に応じて変更することができる。【００５９】
例えば、ティーチペンダント１０単独で作業する場合として、ＣＰＵ１１のパソコン機能を発揮するため、ＲＯＭ１２に格納された各種プログラムを使用して、新たなプログラムを作成する場合等の作業が挙げられる。そのときの作業レベル、即ち、第２作業レベルを、パスワードの有無によって変えることができる。第２実施形態において、コントローラ２０のＣＰＵ２１は、第１手段と第３手段を含む設定手段、並びに、ＧＵＩプログラム実行手段に相当する。又、ティーチペンダント１０のＣＰＵ１１はプログラム実行手段に相当し、液晶ディスプレイ１７は表示手段に相当し、キーボード１６はレベル指示関連データ入力手段に相当する。【００６０】
次に、第２実施形態のロボット制御システム３０の作用について図７及び図８を参照して説明する。
（１）ティーチペンダント１０による第２作業レベルの変更
図７に示すように、ティーチペンダント１０のＣＰＵ１１は、作業者によるキーボード１６の操作により「第２作業レベルの変更」が開始されたことを検知する。すると、ＣＰＵ１１は、ティーチペンダント１０のＲＯＭ１２に格納された第２作業レベル管理プログラム１２ｅを実行する。第２作業レベル管理プログラム１２ｅを実行するＣＰＵ１１は、作業者によりパスワードが入力されたことを検知すると、そのパスワードを取得する（Ｓ２００）。そして、ＣＰＵ１１は、ティーチペンダント１０のハードディスク１４に格納された「パスワード」を参照（Ｓ２１０）する。ＣＰＵ１１は、取得したパスワードとハードディスク１４に格納されたパスワードとが合致する場合、そのパスワードと関連付けられた「第２作業レベル」に応じて、ティーチペンダント１０単独で作業する場合の「第２作業レベル」を設定する。そして、ＣＰＵ１１は、ティーチペンダント１０のハードディスク１４に格納された第２作業レベルパラメータに対し、新たに設定された第２作業レベルパラメータを上書きし、これを登録する。【００６１】
ここで、第２作業レベルについて説明する。
第２作業レベルは、例えば、第２作業レベル「１」、第２作業レベル「２」、第２作業レベル「３」の順に、最低レベルから最高レベルまで設定されている。第２作業レベル「１」は、初心者がティーチペンダント１０単独で作業する場合のレベルであり、最低レベルに相当する。第２作業レベル「２」は、上級作業者がティーチペンダント１０単独で作業する場合のレベルであり、初心者が作業できない項目を含むレベルである。第２作業レベル「３」は、管理者のためのレベルであり、初心者や上級作業者に許容された項目のみならず、上級作業者にも許容されていない項目を含む全ての作業を行えるレベルである。【００６２】
第２作業レベル「１」から第２作業レベル「２」又は第２作業レベル「３」への変更を行う場合、作業者には、第２作業レベル「２」、及び第２作業レベル「３」に応じたパスワードの入力が求められる。作業者は、例えば、第２作業レベル「２」への変更の際に「fghij」を入力し、第２作業レベル「３」への変更に「kimno」を入力する。パスワードは、これらの例示に限定されない。第２実施形態において、第２作業レベルの数を３つに限定したが、２つ、或いは４つ以上に変更してもよい。レベルを変更する場合、各レベルにパスワードをそれぞれ関連付ければよい。【００６３】
ティーチペンダント１０単独で作業するときの各種制御プログラムの第２作業レベルパラメータは、初期状態で、最低レベルに設定されている。このため、作業者が初心者である場合は、ティーチペンダント１０の制御プログラムの第２作業レベルを変更する必要はない。【００６４】
従って、初心者がティーチペンダント１０単独で作業する場合、作業者には、パスワードの入力が求められることはない。よって、作業者は、液晶ディスプレイ１７に表示された上記の制御プログラムにより生成される画面を見て作業する。この場合、ティーチペンダント１０では、第２作業レベルが最低レベルに設定された状態で、各種の制御プログラムが実行される。作業者が初心者でない場合、即ち、上級作業者又は管理者は、作業レベルの変更のため、要求する第２作業レベルに応じて、パスワードをキーボード１６から入力する。【００６５】
（２）ティーチペンダント１０によるＲＤＰ接続
ティーチペンダント１０によるＲＤＰ接続は、以下の点を除き、第１実施形態と略同じである。【００６６】
ティーチペンダント１０は、図８に示すように、「ＲＤＰ接続許可」をコントローラ２０から受け取り「ＲＤＰ接続の確立」が完了した段階で、ＲＤＰ機能によるティーチペンダント１０からのコントローラ２０のＧＵＩプログラム２２ａの操作を可能としない。【００６７】
（３）ティーチペンダント１０によるＧＵＩプログラム２２ａの第１作業レベルの変更
ティーチペンダント１０のＣＰＵ１１は、「ＲＤＰ接続許可」を受け取り「ＲＤＰ接続の確立」が完了した後、ハードディスク１４に格納された現在の第２作業レベルパラメータを参照する（Ｓ２４０）。そして、ＣＰＵ１１は、コントローラ２０に「作業レベル設定要求」を送る。【００６８】
「作業レベル設定要求」には、ティーチペンダント１０の現在の第２作業レベルパラメータ、又は現在の第２作業レベルと関連付けられたパスワードが含まれている。このため、パスワードが作業者により入力されていた場合、現在の第２作業レベルパラメータ、又はその第２作業レベルパラメータに関連付けられたパスワードが、ティーチペンダント１０からコントローラ２０に送付される。操作者が初心者である場合、パスワードが入力されていないため、現在の第２作業レベルパラメータが、ティーチペンダント１０からコントローラ２０に送られる。これに代えて、操作者が初心者、上級操作者、管理者である否かを問わず、ハードディスク１４に格納された現在の第２作業レベルパラメータをコントローラ２０に送付するようにしてもよい。【００６９】
ＣＰＵ２１は、Ｓ２５０において、ティーチペンダント１０からの「作業レベル設定要求」を参照する。ＣＰＵ２１は、ティーチペンダント１０から送付されたパスワード又は第２作業レベルパラメータを取得すると共に、取得したパスワード又は第２作業レベルパラメータとハードディスク２４に格納された「パスワード」又は「第１作業レベルパラメータ」とをそれぞれ照合する。【００７０】
ここで、ハードディスク２４が格納するパスワード及び第１作業レベルパラメータの関係は、ティーチペンダント１０からのパスワード及び第２作業レベルパラメータと同様に関連付けられている。さらに、第２作業レベルパラメータが送付されてきたときのため、第２作業レベルパラメータとハードディスク２４に格納されたパスワード（或いは第１作業レベルパラメータ）とが関連付けられている。【００７１】
照合の結果、問題がなければ、ＣＰＵ２１は、そのパスワードと関連付けられた第１作業レベルパラメータ（或いは、第２作業レベルと関連した第１作業レベルパラメータ）に基づき、ＧＵＩプログラム２２ａの第１作業レベルを設定する。そして、ＣＰＵ２１は、コントローラ２０のハードディスク２４に格納された第１作業レベルパラメータに対し、新たに設定した第１作業レベルパラメータを上書きし、これを登録する。ここで、問題が無いとは、取得したパスワードとハードディスク２４に格納したパスワードとが一致した場合、或いは、第２作業レベルパラメータと関連付けられたパスワード（或いは、第１作業レベルパラメータ）が存在していた場合である。【００７２】
この結果、ＧＵＩプログラム２２ａを実行するＣＰＵ２１は、上書きされた第１作業レベルパラメータに応じて、ＧＵＩプログラム２２ａに含まれる機能の使用制限の範囲を変更する。第２実施形態において、第２作業レベルパラメータ及びパスワードはレベル指示関連データに相当する。こうして、ＧＵＩプログラム２２ａの第１作業レベルが変更される。即ち、第２実施形態において、第１作業レベルが第２作業レベルと一致する。【００７３】
この後、ＣＰＵ２１は、「作業レベル変更許可」をティーチペンダント１０に送る。ティーチペンダント１０のＣＰＵ１１は、「作業レベル変更許可」を受け取ると、ＧＵＩプログラムの作業レベル操作可能処理を行う。これにより、ＲＤＰ機能によるティーチペンダント１０からコントローラ２０のＧＵＩプログラム操作が可能となる（Ｓ２６０）。【００７４】
一方、コントローラ２０では、新たに設定した第１作業レベルに応じて、ＧＵＩプログラム２２ａの機能が拡張されると共に、その拡張された機能の範囲内でＧＵＩプログラム２２ａが実行される。これにより、ＧＵＩ画面データが生成されて、そのＧＵＩ画面データがティーチペンダント１０に送られる。【００７５】
この結果、ＧＵＩプログラムの機能が拡張されたＧＵＩ画面データに基づいて、ティーチペンダント１０の液晶ディスプレイ１７にＧＵＩ画面が表示される。そして、ＧＵＩ画面により提供される範囲内で、ロボットに教示するための教示データが、ティーチペンダント１０からコントローラ２０に送られる。コントローラ２０は、ティーチペンダント１０からの教示データに基づいてロボットＲを制御する。【００７６】
（４）ティーチペンダント１０によるＲＤＰ切断
ティーチペンダント１０によるＲＤＰ切断は、第１実施形態と同じであるため、説明を省略する（図４参照）。又、ＲＤＰ切断の完了後、第１実施形態と同様に、ＣＰＵ２１は、ＧＵＩプログラム２２ａの作業レベル管理プログラム２２ｆを実行する。そして、ＣＰＵ２１は、ＧＵＩプログラムの作業レベルパラメータを最低レベルに戻す。そして、ＣＰＵ２１は、ハードディスク２４に格納された作業レベルパラメータを最低レベルに上書きし、これを登録する。【００７７】
こうして、以上の４つのステップを経て、作業者のロボットＲに関する作業が行われる。このため、ロボットに関する作業は、常に、ティーチペンダント１０で管理する作業レベルに合わせて開始される。このため、第１の課題である「作業者の運用ミスに伴う危険な状況の発生」、及び第２の課題である「高機能化に伴う、作業の煩雑さ」等を回避することができる。【００７８】
第２実施形態によれば、以下のような効果を得ることができる。
（１）第２実施形態において、ティーチペンダント１０は、ＣＰＵ１１の第２作業レベルに関するパスワードを入力するためのキーボード１６を備える。そして、コントローラ２０と非接続状態においてティーチペンダント１０単独で作業する場合、ＣＰＵ１１は、パスワードの入力に基づく第２作業レベルでプログラムを実行する。又、コントローラ２０のＣＰＵ２１は、ティーチペンダント１０との通信が遮断されたとき、第１作業レベルを最低レベルに設定する第１手段として機能する。又、ＣＰＵ２１は、ティーチペンダント１０からパスワード又は第２作業レベルパラメータを取得した際、最低レベルにされた第２作業レベルをパスワード又は第２作業レベルパラメータに基づいて変更する第３手段としても機能する。【００７９】
この結果、ティーチペンダント１０単独で作業した後にコントローラ２０に接続して作業する場合、ティーチペンダント１０の第２作業レベルが、自動的に、コントローラ２０のＧＵＩプログラム２２ａの作業レベルに反映される。このため、作業者は、簡単な操作で、ＧＵＩプログラム２２ａの作業レベルを設定することができる。又、ＧＵＩプログラムの作業レベルを安全に管理できることもできる。【００８０】
（２）第２実施形態において、ＣＰＵ２１は、ＧＵＩプログラム２２ａの第１作業レベルを、ティーチペンダント１０と接続される直前のＣＰＵ１１の第２作業レベルと一致させる。この結果、作業者は、ＧＵＩプログラム２２ａの第１作業レベルを、ティーチペンダント１０単独で実行されるプログラムと同じ作業レベルにして作業することができる。【００８１】
なお、本発明の第２実施形態は以下のように変更してもよい。
第１実施形態において、無線ＬＡＮを用いてネットワークを構成したが、無線ＬＡＮに代えて有線ＬＡＮを用いてもよい。又は、ティーチペンダント１０と複数のコントローラとの間を無線で通信してもよい。又、無線に代えて、赤外線通信、光通信、又は磁気通信等のワイヤレス伝送方式の非有線通信手段を用いてもよい。【００８２】
第１及び第２実施形態において、表示手段としての液晶ディスプレイ１７を、プラズマディスプレイ、有機ＥＬディスプレイ、又はＣＲＴディスプレイに変更してもよい。
第１実施形態において、レベル指示関連データとしてパスワードを入力したが、これに代えて、数字や記号の組み合わせを入力してもよい。又、作業者のユーザＩＤは、作業レベルパラメータと関連付けたレベル指示関連データであってもよい。【００８３】
第２実施形態のＳ２５０において、第１作業レベルを第２作業レベルと一致させていたが、必ずしも一致させる必要はなく、第２作業レベルと第１作業レベルとを対応させればよい。この場合、第２作業レベルと対応した第１作業レベルに変更される。【００８４】
第２実施形態において、ティーチペンダント１０とコントローラ２０との通信が遮断されたとき、第１作業レベルを最低レベルに戻していたが、これに代えて、ティーチペンダント１０との接続を完了したとき、即ち、「ＲＤＰ接続許可」がコントローラ２０からティーチペンダント１０に送られた後に、第１作業レベルを最低レベルに戻すようにしてもよい。
【図１】
0005474765.tif 000002
【図２】
0005474765.tif 000003
【図３】
0005474765.tif 000004
【図４】
0005474765.tif 000005
【図５】
0005474765.tif 000006
【図６】
0005474765.tif 000007
【図７】
0005474765.tif 000008
【図８】
0005474765.tif 000009
【図９】
0005474765.tif 000010
【図１０】
0005474765.tif 000011
【図１１】
0005474765.tif 000012