(57)【要約】【課題】監視者が作業環境を確実に監視できる状態でロボット操作〜許可操作に基づく実際のロボット動作が実行されるように制御する。【解決手段】制御装置２０は、ロボット操作装置３、ロボット動作許可装置４からそれぞれ受信した動作信号と許可信号に応じて、ロボット駆動部を介して制御される動作信号の指示に対応したロボットアーム１の動作を許可または禁止する。位置検出装置８によって、作業者（７１）および監視者（７２）の位置を検出する。条件記憶部４３には、作業者および監視者の位置関係と、ロボットアーム１の動作を許可または禁止する制御情報と、を関連づけて格納する。制御装置２０は、許可信号を受信し、作業者および監視者の位置の関係と、ロボットアーム１の動作を許可する制御情報に該当する場合に、許可信号の有効受信と判定し、ロボットアーム１の動作を許可する。【選択図】図３
2016215303.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの動作を制御するロボット駆動部と、
第１の操作者の操作に従って前記ロボットアームの動作を指示する動作信号を送信する第１の操作部と、
第２の操作者の許可操作に従って前記ロボットアームの動作を許可する許可信号を送信する第２の操作部と、
前記動作信号と前記許可信号を受信し、受信した前記動作信号と前記許可信号に応じて、前記ロボット駆動部を介して制御される前記動作信号の指示に対応した前記ロボットアームの動作を許可または禁止する制御装置と、
前記第１の操作者および第２の操作者の位置を検出する位置検出装置と、
前記第１の操作者および第２の操作者の位置関係と、前記ロボットアームの動作を許可または禁止する制御情報と、を関連づけて格納する記憶装置と、
を備え、
前記制御装置は、前記許可信号を受信し、かつ、前記位置検出装置で検出した前記第１の操作者および第２の操作者の位置関係が、前記ロボットアームの動作を許可する制御情報に該当する場合に、許可信号の有効受信と判定する制御部を含み、前記制御部の有効受信判定に基づき、前記ロボット駆動部を介して制御される前記動作信号の指示に対応した前記ロボットアームの動作を許可する制御を行うことを特徴とするロボットシステム。
【請求項２】
請求項１に記載のロボットシステムにおいて、前記制御装置は、前記動作信号を受信した後、所定の猶予時間内に前記有効受信判定が生じることを条件として前記ロボット駆動部を介して制御される前記動作信号の指示に対応した前記ロボットアームの動作を許可することを特徴とするロボットシステム。
【請求項３】
請求項１に記載のロボットシステムにおいて、前記制御装置は、前記第１の操作部より前記ロボットアームの特定のロボット動作を指示する前記動作信号を受信した場合、当該の動作信号を受信した後、前記有効受信判定が生じていなくても直ちに当該の特定のロボット動作を許可し、その後、所定の自由操作時間が経過する前に前記有効受信判定が生じなかった場合、当該の特定のロボット動作を禁止することを特徴とするロボットシステム。
【請求項４】
請求項１から３のいずれか１項に記載のロボットシステムにおいて、前記第２の操作部が前記第１の操作部の操作状態を表示する表示装置を有することを特徴とするロボットシステム。
【請求項５】
請求項１から４のいずれか１項に記載のロボットシステムにおいて、前記制御装置は、前記ロボットアームの動力を有効化する指示に対応する前記動作信号を受信した場合、前記ロボット駆動部を介して当該の動作信号の受信に応じて前記ロボットアームの動力を有効化し、その後、前記ロボットアームの動作がない状態で所定の動力維持時間が経過した場合、前記ロボット駆動部を介して前記ロボットアームの動力を無効化することを特徴とするロボットシステム。
【請求項６】
請求項１から５のいずれか１項に記載のロボットシステムにおいて、前記第１の操作部は前記ロボットアームの可動範囲の内側で操作可能であり、前記第２の操作部は前記可動範囲の外側に配置されることを特徴とするロボットシステム。
【請求項７】
請求項１から６のいずれか１項に記載のロボットシステムにおいて、前記第１の操作部、または前記第２の操作部とともに前記ロボットアームの動作を非常停止させる非常停止操作部が設けられ、前記非常停止操作部が操作された場合、無条件で前記ロボットアームの動作を非常停止させることを特徴とするロボットシステム。
【請求項８】
請求項１から７のいずれか１項に記載のロボットシステムにおいて、前記制御装置が許可信号の前記有効受信判定を必須条件として、前記ロボット駆動部を介して制御される前記動作信号の指示に対応した前記ロボットアームの動作を許可する第１の制御モードと、前記制御装置が許可信号の前記有効受信判定を必須条件とせず、前記動作信号のみの受信に応じて前記動作信号の指示に対応した前記ロボットアームの動作を許可する第２の制御モードと、のいずれかの制御モードによって前記ロボット駆動部を介して前記ロボットアームの動作を制御することを特徴とするロボットシステム。
【請求項９】
請求項８に記載のロボットシステムにおいて、手動操作に応じて前記第１または第２の制御モードを選択する設定手段を有することを特徴とするロボットシステム。
【請求項１０】
請求項８に記載のロボットシステムにおいて、前記第１の操作部の操作モードに応じて前記第１または第２の制御モードが選択することを特徴とするロボットシステム。
【請求項１１】
請求項１から１０のいずれか１項に記載のロボットシステムにおいて、前記位置検出装置は、前記第１の操作者および第２の操作者の作業領域に配置された感圧マットを介して検出した前記第１の操作者および第２の操作者の位置から前記第１の操作者および第２の操作者の位置関係を検出することを特徴とするロボットシステム。
【請求項１２】
請求項１から１０のいずれか１項に記載のロボットシステムにおいて、前記位置検出装置は、前記第１の操作者および第２の操作者の位置をそれぞれ検出する人感センサを備え、前記人感センサを介して検出した前記第１の操作者および第２の操作者の位置から前記第１の操作者および第２の操作者の位置関係を検出することを特徴とするロボットシステム。
【請求項１３】
前記制御装置に請求項１から１２のいずれか１項に記載の制御を行わせることを特徴とするロボットシステムの制御プログラム。
【請求項１４】
請求項１３に記載のロボットシステムの制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１５】
請求項１から１２のいずれか１項に記載のロボットシステムに用いられる監視コンソールであって、前記第２の操作部と、前記許可信号の有効受信を判定する制御部と、を備えたことを特徴とする監視コンソール。
【請求項１６】
ロボットアームの動作を制御するロボット駆動部と、
第１の操作者の操作に従って前記ロボットアームの動作を指示する動作信号を送信する第１の操作部と、
第２の操作者の操作に従って前記ロボットアームの動作を許可する許可信号を送信する第２の操作部と、
前記動作信号と前記許可信号に応じて、前記ロボット駆動部を介して制御される前記動作信号の指示に対応した前記ロボットアームの動作を許可または禁止する制御装置と、
前記第１の操作者および第２の操作者の位置を検出する位置検出装置と、
前記第１の操作者および第２の操作者の位置関係と、前記ロボットアームの動作を許可または禁止する制御情報と、を関連づけて格納する記憶装置と、
を備えたロボットシステムの制御方法において、
前記制御装置が前記第１の操作部から前記動作信号を受信する第１の受信工程と、
前記制御装置が前記第２の操作部から前記許可信号を受信する第２の受信工程と、
前記制御装置が、前記許可信号を受信し、かつ、前記位置検出装置で検出した前記第１の操作者および第２の操作者の位置関係が、前記ロボットアームの動作を許可する制御情報に該当する場合に、許可信号の有効受信と判定し、当該の有効受信判定に基づき、前記ロボット駆動部を介して制御される前記動作信号の指示に対応した前記ロボットアームの動作を許可する制御を行う制御工程と、
を含むことを特徴とするロボットシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームの動作を禁止または許可する制御装置を含むロボットシステム、およびその制御方法に関するものである。
【背景技術】
【０００２】
産業用ロボットなどのロボット装置の教示（プログラミング）では、ロボットアームに新規動作を教示したり、教示済みの動作の一部を修正したりする作業が行われる。従って、教示後の自動運転とは異なり、教示中、あるいは教示した動作の確認を行う際に、作業者がロボットの可動範囲内、例えばロボットアームの各部、あるいは先端部が到達しうる範囲内で作業を行う場合がある。
【０００３】
ロボットアームの教示作業中に、作業者がロボットの可動範囲でロボット操作を行うのは、例えばロボットアームのごく近傍からロボット各部の動作を確認し、所期の動作が行われているかどうか確認する必要があるためである。
【０００４】
このように、作業者がロボットの可動範囲内に入って作業する場合、この可動範囲内は、ロボットと作業者が接触する可能性があり、作業者の保護状態を充分確保する必要がある。
【０００５】
作業者がロボットの可動範囲内で作業を行う場合には、例えば、ロボットの可動範囲外かつ装置を視認可能な位置に監視者を配置することが推奨されている（下記の非特許文献１）。その場合、監視者は、可動範囲内の状況を監視し、異常が発生した際にはロボットの可動範囲外に設置された非常停止スイッチによりロボットを停止し、場合によっては、作業者の救助などを行う。こうした作業ルールによって、作業者ないし関係者の保護状態は形成されるものの、より確実に作業者ないし関係者を保護できるシステムが望まれている。
【０００６】
一方で、ロボット装置によって、ロボット装置の設置環境の（半）自動監視を行うシステムも提案されている（例えば下記の特許文献１）。例えば建物の周りなどを巡回する警備ロボットが異常を検知した際に監視センターにいる監視員にその旨を報知し、異常の対処を促すものである。このような従来技術は、上記のロボットの可動範囲と、可動範囲内の作業者の監視に利用できる可能性がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２４２９６８号公報
【非特許文献】
【０００８】
【非特許文献１】中央労働災害防止協会「産業用ロボットの安全必携」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載の技術では、異常が発生した旨、監視者への報知を行うことになる。従って、このような構成では、監視者が非常停止スイッチをすぐに操作できる状態になければ監視者の対応が遅れる可能性がある。また、作業環境を監視するには、監視ロボットにセンサやカメラなどの手段を設けて異常発生を検出できるようにする必要があり、動作の信頼性を高めるのはそれ程容易ではない。
【００１０】
そもそも、上記のような作業者および監視者の連携作業の方式は、例えば、作業者やロボットの異常に対して速やかに対応できるよう考えられたものである。即ち、作業者および監視者の各々固有の意志や判断に基づき、その両者の連携によって、作業者の保護状態を確保しながら、スムーズにロボット作業を行えるようにすることが目的とされている。従って、特許文献１のような構成でロボット可動範囲の監視処理に自動検出処理などを介在させると、却って作業者および監視者の連携性を低下させるおそれがある。
【００１１】
ここで、作業者および監視者の固有の意志や判断に基づき、両者の連携によってロボット作業を行う手法として、例えば監視者が特定操作を介して作業者のロボット操作ないしそれに対応する動作を許可する方式が考えられる。例えば、作業者がロボット操作を行った時、発光（や音声）表示などによって監視者に報知する。そして、監視者が当該のロボット動作を行っても良いと判断した時に、許可ボタン操作などの特定操作を行い、当該のロボット操作ないしそれに対応する動作を許可する。
【００１２】
このような作業者のロボット操作〜監視者の許可操作のハンドシェイクによって例えば作業者とロボットアームの干渉などの問題を生じることなく、確実に教示作業を進めることができる。しかしながら、このような方式において支障なく確実に教示作業を行えるようにするには、監視者が的確に、また注意深く作業環境を監視していることが担保されなければならない。
【００１３】
例えば、上記のようなロボット操作〜許可操作のハンドシェイク方式では、作業者のロボット操作を発光（や音声）表示などによって監視者に報知する構成が必要と考えられる。しかしながら、このようなロボット操作の報知手段を設ける場合には、例えばロボット操作を報知する発光表示にのみに反応するような作業状況に陥り、作業環境の監視が疎かになる可能性がある。
【００１４】
本発明の課題は、ロボット可動範囲内における作業者の保護状態を確保し、作業者および監視者の操作の連携性を高め、効率よくロボットを用いた作業を行うことができるようにすることにある。例えば、監視者がロボット操作および対応するロボット動作を許可する方式において、監視者が作業環境を確実に監視できる状態でロボット操作〜許可操作に基づく実際のロボット動作が実行されるように制御することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、例えばロボットシステムにおいて、ロボットアームの動作を制御するロボット駆動部と、第１の操作者の操作に従って前記ロボットアームの動作を指示する動作信号を送信する第１の操作部と、第２の操作者の許可操作に従って前記ロボットアームの動作を許可する許可信号を送信する第２の操作部と、前記動作信号と前記許可信号を受信し、受信した前記動作信号と前記許可信号に応じて、前記ロボット駆動部を介して制御される前記動作信号の指示に対応した前記ロボットアームの動作を許可または禁止する制御装置と、前記第１の操作者および第２の操作者の位置を検出する位置検出装置と、前記第１の操作者および第２の操作者の位置関係と、前記ロボットアームの動作を許可または禁止する制御情報と、を関連づけて格納する記憶装置と、を備え、前記制御装置は、前記許可信号を受信した場合、前記位置検出装置で検出した前記第１の操作者および第２の操作者の位置関係が、前記ロボットアームの動作を許可する制御情報に該当する場合に、許可信号の有効受信と判定する制御部を含み、前記制御部の有効受信判定に基づき、前記ロボット駆動部を介して制御される前記動作信号の指示に対応した前記ロボットアームの動作を許可する制御を行う構成を特徴とする。
【発明の効果】
【００１６】
以上の構成によって、作業者と監視者の位置関係が確実に監視者がロボットの可動範囲ないし作業者の状態を監視できる場合にロボットアームの動作を許可する制御を行うことができる。このため、ロボットの可動範囲における作業者の保護状態を確保し、作業者および監視者の操作の連携性を高め、効率よくロボットを用いた作業を行うことができる、という優れた効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明を実施可能なロボットシステムの全体構成を示す説明図である。
【図２】本発明の実施例１に係るロボット操作装置の操作面の一例を示した説明図である。
【図３】本発明の実施例１に係るロボットシステムの機能的な構成を示したブロック図である。
【図４】本発明の実施例１に係る制御信号を示した説明図である。
【図５】本発明の実施例１に係るロボット操作、制御信号およびロボット動作の関係を示したタイミング図である。
【図６】本発明の実施例１に係るロボットシステムの機能的な構成を示したブロック図である。
【図７】本発明の実施例２に係る制御時間を示した説明図である。
【図８】本発明の実施例２に係るロボット操作、制御信号およびロボット動作の関係を示したタイミング図である。
【図９】本発明の実施例２に係るロボット操作、制御信号およびロボット動作の異なる関係を示したタイミング図である。
【図１０】本発明の実施例２に係るロボット操作、制御信号およびロボット動作のさらに異なる関係を示したタイミング図である。
【図１１】本発明の実施例３に係るロボット操作、制御信号およびロボット動作の関係を示したタイミング図である。
【図１２】本発明の実施例３に係るロボット操作、制御信号およびロボット動作のさらに異なる関係を示したタイミング図である。
【図１３】本発明の実施例３に係る制御時間を示した説明図である。
【図１４】図１のロボットシステムの制御系の一例を示したブロック図である。
【図１５】本発明の実施例１における制御手順を示したフローチャート図である。
【図１６】本発明の実施例２における制御手順を示したフローチャート図である。
【図１７】本発明の実施例２における制御手順を示したフローチャート図である。
【図１８】本発明に係るロボットシステムの非常停止制御を示したフローチャート図である。
【図１９】本発明に係るロボットシステムにおいて、許可信号を利用するモード、または同信号を利用しないモードを選択する制御手順を示したフローチャート図である。
【図２０】本発明の実施例１〜５に係るロボットシステムの全体構成を示す説明図である。
【図２１】本発明の実施例５に係るロボットシステムの機能的な構成を示したブロック図である。
【図２２】本発明の実施例１〜５に係る監視者および作業者の作業領域を示す説明図である。
【図２３】（ａ）、（ｂ）は本発明の実施例１〜５に係る条件記憶部のテーブルメモリの異なる構成例をそれぞれ示した説明図である。
【図２４】本発明の実施例１〜５において、許可操作が行われた時に制御装置の制御部が実行する制御手順を示したフローチャート図である。
【発明を実施するための形態】
【００１８】
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【実施例１】
【００１９】
本発明を適用可能なロボットシステムの構成の一例を図１に示す。本実施例のロボットシステムは、ロボットアーム１、ロボット制御装置２、ロボット操作装置３、ロボット動作許可装置４から構成される。
【００２０】
本実施例の場合、ロボット装置は、ロボット操作装置３を操作する作業者（第１の操作者）７１とロボット動作許可装置４を操作する監視者（第２の操作者）７２の少なくとも２人の操作者の連携によって利用される。例えば、本ロボットシステムは、前述のように、作業者７１が可動範囲６内でロボット操作装置３を用いて行うロボットアーム１の教示作業を行う場合、可動範囲６の外側から監視者７２が監視することができるよう構成されている。
【００２１】
ロボット操作装置３は、ティーチングペンダントなどと呼ばれるユーザーインターフェースで、例えばロボットアーム１の可動範囲６内で作業者７１により持ち運び可能に構成される。ロボット動作許可装置４は、可動範囲６の外側に固定的に配置されるか、あるいはロボット操作装置３同様の可搬構成で、可動範囲６の外側を移動可能な監視者７２により操作される。
【００２２】
ロボット制御装置２には、ロボットアーム１、ロボット操作装置３、ロボット動作許可装置４が接続されている。これら各装置間の通信は有線接続（例えば有線シリアルバスやパラレルバスによる有線接続）、あるいは無線接続など任意の通信方式によって行うことができる。例えば、ネットワーク通信方式などを利用する場合、有線接続ではＩＥＥＥ８０２．３、無線接続ではＩＥＥＥ８０２．１１、８０２．１５のような通信方式を利用することができる。
【００２３】
ロボットアーム１は、例えば垂直多関節型や、パラレルリンク型など任意のハードウェアアーキテクチャによって構成することができる。ロボットアーム１に設けられた複数の関節は、例えばサーボモータなどによる駆動源によってそれぞれ駆動される。ロボットアーム１は、ロボット制御装置２からの動作命令を受信し、受信した動作命令に応じて各関節の駆動源を動作させ、動作命令に対応する位置姿勢をとるよう制御される。
【００２４】
ロボット制御装置２は、ロボット操作装置３とロボット動作許可装置４から送信された信号を解釈し、ロボットアーム１に送信する動作命令を生成する。
【００２５】
ロボット操作装置３は、例えばティーチングペンダントなどと呼ばれるユーザーインターフェースであり、作業者７１によって操作される。図２はロボット操作装置３の操作面の構成例を示している。
【００２６】
図２に示すように、ロボット操作装置３は、ＬＣＤパネル（あるいはタッチパネル）などから構成された表示器３１４と、以下に示すようなボタン群を有する。
【００２７】
サーボボタン３１１はロボットアーム１の動力を有効化または無効化するために用いられる。特に、ロボットアーム１の駆動にサーボ制御系が用いられている場合、サーボボタン３１１はロボットアーム１をサーボＯＮ（動力を有効化）、またはサーボＯＦＦ（動力を無効化）するために用いられる。具体的には、サーボボタン３１１の操作によって、ロボットアーム１の各関節を制御するサーボ制御回路にサーボＯＮ（またはサーボＯＦＦ）を指示する動作信号をロボット制御装置２に送信するために用いられる。また、非常停止スイッチ３１３は、非常停止操作部の一例であって、緊急時に直ちにロボットアーム１の動作を停止させる動作信号をロボット制御装置２に送信するために用いられる。
【００２８】
ジョグボタン３１２は、ロボット制御装置２に対してロボットアーム１に指示すべき動作の内容を指示する動作信号を送るために用いられるボタン群であり、ロボットアーム１を動作させる方向や方法ごとにボタンが割り当てられている。例えば、図２の例では、ジョグボタン３１２として、＋Ｘ方向、−Ｘ方向、＋Ｙ方向、−Ｙ方向、＋Ｚ方向、−Ｚ方向のような機能表示を有する（この例では６個の）ボタンが配置されている。この例では、ジョグボタン３１２の各ボタンにロボットアーム１が動作する方向ごとに操作機能が割り当てられている。
【００２９】
また、ロボットアーム１の関節軸ごとにボタンを割り当てるような操作方式を採用することもできる。例えば、ロボットアーム１が６軸ロボットであれば、関節軸ごとの動作方向を割り当てたボタンをジョグボタン３１２として用意してもよい。その場合、ボタンの機能表示は＋Ｊ１、−Ｊ１、＋Ｊ２、−Ｊ２、＋Ｊ３、−Ｊ３、＋Ｊ４、−Ｊ４、＋Ｊ５、−Ｊ５、＋Ｊ６、−Ｊ６のようなものとなる。その他に、ロボットアーム１の基台の回転軸の動作を割り当てることもできる他、ロボット操作装置３に機能切換ボタン（不図示）を備え、この機能切換ボタンによって割り当てる動作指示を切り替えてもよい。
【００３０】
いずれにしても、図２の表示はあくまでも概念的な表示であって、ロボットアーム１を動作させるための動作信号を発生させるためにロボット操作装置３に配置するボタンの構成は当業者が任意に変更してよい。
【００３１】
再び図１において、ロボット動作許可装置４は、作業者７１がロボット操作装置３を用いてロボットアーム１を動作させる際に監視者７２によって操作され、ロボット動作を許可する許可信号をロボット制御装置２に送信するために用いられる。このような作業者７１との連携操作のため、図１のロボット動作許可装置４には、許可ボタン４０およびモニタ表示器７が設けられる。
【００３２】
上記のロボット操作装置３は、作業者７１（第１の操作者）の操作に従ってロボットアーム１の動作を指示する動作信号を送信する第１の操作部を構成する。また、許可ボタン４０およびロボット動作許可装置４が監視者７２（第２の操作者）の操作に従ってロボットアーム１の動作を許可する許可信号を送信する第２の操作部を構成する。
【００３３】
許可ボタン４０は、押しボタンスイッチや、静電スイッチのような、操作している時にＯＮ、操作していないときにＯＦＦとなる操作方式（例えばモーメンタ操作方式）で構成するのが好ましい。モニタ表示器７は、例えば作業者７１がロボット操作装置３で図２に示したようなサーボボタン３１１やジョグボタン３１２の任意の１つを操作した場合に、その操作タイミングによって点灯（ないし点滅）表示するような簡単なインジケータであってよい。あるいは、ロボット操作装置３の操作面を模した表示などを用いて、ロボット操作装置３における操作内容を刻々と表示するような表示方式を用いてもよい。いずれにしても、モニタ表示器７の表示状態は、ロボット操作装置３の操作状態に応じてロボット制御装置２によって制御される。
【００３４】
本実施例のロボット動作許可装置４には、非常停止操作部として非常停止スイッチ５を設けている。この非常停止スイッチ５は、ロボット操作装置３の非常停止スイッチ３１３と同様に緊急時に直ちにロボットアーム１の動作を停止させる動作信号をロボット制御装置２に送信するために用いられる。なお、非常停止スイッチ５は公知の機器配置においても例えばロボットアーム１の可動範囲６の外側などに監視者７２によって操作できるように配置される場合がある。従って、非常停止スイッチ５は必ずしもロボット動作許可装置４の一部として構成する必要はない。その場合、モニタ表示器７と許可ボタン４０を有するロボット動作許可装置４を、（例えば設置済みの）非常停止スイッチ５の近傍に配置するような構成を採用してもよい。ここで、非常停止スイッチ５の「近傍」とは、例えば監視者７２が両手をそれぞれ用いてロボット動作許可装置４と非常停止スイッチ５にアクセスでき、必要なタイミングで許可信号や非常停止を指令する動作信号を速やかに送信できるような配置をいう。
【００３５】
非常停止スイッチ５は、例えばいわゆるキノコ型スイッチの構成であり、一度操作するとボタンが押しこまれ、その操作状態（非常停止の指令状態）が維持される。この非常停止スイッチ５の操作状態が形成されると、ロボット制御装置２は直ちにロボットアーム１の動作を（非常）停止させる。
【００３６】
図１において、ロボットアーム１の可動範囲６は、ロボットアーム１の各部（各関節で接続された各リンク、先端や関節の角部など）が到達しうる範囲を意味する。図１では、可動範囲６は簡単な円形の表示によって示してあるが、実際には３次元の空間範囲に相当する。そして、ロボットアーム１の各部（その先端や関節のような角部）の構成によっては、必ずしも例えば球形の空間範囲とは限らず、複雑な形状となっている場合がある。
【００３７】
いずれにしても、可動範囲６は、ロボットアーム１の任意の部位が物理的に空間を占める場合があり、例えば作業者７１とロボットアーム１が干渉（例えば衝突）するような場合は、その事象はこの可動範囲６の内側で発生する。従って、作業者７１ないし監視者７２（あるいは他の関係者）の保護状態を確保するため、可動範囲６を囲うように不図示の防護柵を設置してもよい。
【００３８】
ここで、作業者７１および監視者７２の役割について説明する。例えばロボットアーム１の教示作業や動作確認を行う際、作業者７１は、ロボット操作装置３を操作してロボットアーム１を動作させる。この時、作業者７１は、このロボット操作装置３の操作を、例えば必要に応じて可動範囲６に出入りしながら、可動範囲６の中または外で行う。可動範囲６の中でロボット操作装置３の操作を行うのは、作業者７１がロボットアーム１のごく近傍から各部の動作を確認し、例えばロボット操作装置３を介した教示操作によって指示した所期の動作が行われているかどうか確認するためである。この時、場合によっては、例えば、作業者７１はロボットアーム１の一部や、ロボットアーム１で操作しているワークなどに手足や顔の一部を近付けるなどして、ロボットアーム１の動作を確認することがある。
【００３９】
一方、監視者７２は、可動範囲６の外で、かつロボットアーム１および作業者７１の状態を視認できる位置で、ロボット動作許可装置４、および非常停止スイッチ５を操作する。ここで、例えば作業者７１がロボット操作装置３でなんらかのロボットアーム１の操作を行い動作信号を発生させたとする。これに同期して、ロボット制御装置２は、監視者７２がその旨を視認できるようモニタ表示器７を作業者７１の操作状態に対応する表示状態に制御する。例えばモニタ表示器７をインジケータランプなどから構成した場合は、ロボット操作装置３におけるボタン操作期間の間、同期してモニタ表示器７を点灯させる。
【００４０】
本実施例では、基本的に、ロボット制御装置２は、作業者７１がロボット操作装置３を操作しても、監視者７２がロボット動作許可装置４の許可ボタン４０を操作して許可信号を発生しない限り、実際にロボットアーム１を動作させないように制御する。ただし、後述するように一部のロボット動作については、作業者７１の操作性（操作感覚）などを考慮して、ロボット制御装置２は、許可ボタン４０の操作を待たずにロボット操作装置３の操作に対応するロボット動作を開始させる制御を行うことができる。
【００４１】
作業者７１がロボット操作装置３を操作し、動作信号を発生させると、上記のようにモニタ表示器７で対応する表示が行われるので、監視者７２は当該の操作を認識できる。ここで、監視者７２は、可動範囲６の外側からロボットアーム１および作業者７１の状態を確認し、ロボットアーム１を動作させてもよい、と判断できた場合に許可ボタン４０を操作してロボット動作許可装置４からロボット制御装置２に許可信号を送信させる。
【００４２】
後述する一部のロボット制御を除けば、動作許可装置４から上記の許可信号を受信することを条件として、ロボット制御装置２はロボット操作装置３の操作に応じて発生された動作信号に対応するロボット動作をロボットアーム１に実行させる。逆にいえば、ロボット制御装置２はロボット操作装置３から動作信号を受信しても、動作信号、および許可信号の双方を受信しなかった場合は、動作信号に対応したロボット動作を禁止するよう制御する。
【００４３】
図１４にロボット制御装置２の制御系の構成例を概略的に示す。この制御系は、汎用マイクロプロセッサなどから成るＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、外部記憶装置２０４、インターフェース２０５、２０７、２０８、ネットワークインターフェース２０６などから構成される。また、後述の経過時間などに係る制御を行うため、制御系にはＲＴＣ２０９（リアルタイムクロック）が設けられている。
【００４４】
ＲＯＭ２０２は、例えば後述するアクセス制御プログラムと制御データを格納するために用いることができる。なお、ＲＯＭ２０２に格納したアクセス制御プログラムと制御データを後から更新（アップデート）できるよう、そのための記憶領域はＥ（Ｅ）ＰＲＯＭなどの記憶デバイスによって構成されていてもよい。ＲＡＭ２０３は、ＤＲＡＭ素子などから構成され、ＣＰＵ２０１が各種の制御、処理を実行するためのワークエリアとして用いられる。後述のロボット制御に係る機能は、ＣＰＵ２０１が本実施例のアクセス制御プログラムを実行することにより実現される。なお、図１４に示したＣＰＵ（２０１）を中心としたハードウェアと同等の構成は、例えばロボット操作装置３の制御系などとしても用いることができる。
【００４５】
外部記憶装置２０４は、例えばＳＳＤやＨＤＤのディスク装置で構成される。外部記憶装置２０４は、ロボット制御プログラムや教示点データ、あるいは後述するアクセス制御プログラムなどをファイル形式で格納することができる。なお、外部記憶装置２０４は、着脱式の各種光ディスクのような記録媒体、あるいは、着脱式のＳＳＤやＨＤＤのディスク装置、着脱式のフラッシュメモリから構成されていてもよい。このような各種の着脱式のコンピュータ読み取り可能な記録媒体は、例えば、本発明の一部を構成するアクセス制御プログラムをＲＯＭ２０２（Ｅ（Ｅ）ＰＲＯＭ領域）にインストールしたりアップデートするために用いることができる。この場合、各種の着脱式のコンピュータ読み取り可能な記録媒体は、本発明を構成する制御プログラムを格納しており、記録媒体それ自体も本発明を構成することになる。
【００４６】
上述のように、ＣＰＵ２０１がＲＯＭ２０２（あるいは外部記憶装置２０４）に格納された各ロボット制御プログラム、ファームウェア、アクセス制御プログラムを実行する。これにより、上述のロボット制御装置２の各機能ブロックが実現される。
【００４７】
また、図１４において、ロボット制御装置２は、インターフェース２０５、２０７、２０８を有し、インターフェース２０５、２０７、２０８を介してそれぞれロボット操作装置３、ロボットアーム１、ロボット動作許可装置４と通信する。これらのインターフェース２０５、２０７、２０８は、上述のような任意の通信インターフェース（例えばパラレルないしシリアル通信インターフェース）により構成される。ＣＰＵ２０１は、ロボット操作装置３の操作からの動作信号、およびロボット動作許可装置４（非常停止スイッチ５）からの許可信号（あるいは非常停止信号）はインターフェース２０７、２０８をそれぞれ介して受信することができる。なお、インターフェース２０７、２０８は、後述の図３、図６などに示した機能構成ではインターフェース２１に対応する。
【００４８】
インターフェース２０５は、後述の図３、図６などに示したインターフェース２３に対応し、ロボットアーム１のロボット駆動部（１１）と通信するために用いられる。ＣＰＵ２０１は、インターフェース２０５を介して所定の信号形式によって制御信号を送信することにより、ロボット操作装置３からの動作信号、あるいは教示済みのロボットプログラムなどに応じたロボット動作をロボットアーム１に実行させることができる。
【００４９】
ネットワークインターフェース（ＮＩＦ）２０６は、他の制御端末（不図示）や、他のロボット制御装置、ネットワーク上のサーバなどと通信するために用いられる。このネットワークインターフェース２０６では、有線、無線接続によるネットワーク通信方式、例えば有線接続ではＩＥＥＥ８０２．３、無線接続ではＩＥＥＥ８０２．１１、８０２．１５のような通信方式を用いることができる。なお、ロボット操作装置３、ロボットアーム１、ロボット動作許可装置４などとの通信は、全てネットワークインターフェース２０６を経由して行うようにしてもよい。
【００５０】
図１のようなロボットシステムを、例えば図１４のような制御系を用いて構成した場合、図３のような機能構成を実施することができる。図３の例では、作業者７１、および監視者７２の（現在の）位置を検出する位置検出装置８が設けられている。そして、ロボット制御装置２は、位置検出装置８の出力に応じて、監視者７２の操作により発生される許可信号の取り扱いを制御する。これにより、作業者７１の操作により発生される動作信号に応じたロボットアーム１の動作を許可または禁止するよう制御する。例えば、監視者７２が、作業者７１ないし可動範囲６内の状況を確実に監視し、把握できるような位置関係にある場合のみ、作業者７１の操作により発生される動作信号に応じたロボットアーム１の動作が行われるよう制御する。
【００５１】
ロボットアーム１、ロボット制御装置２、ロボット操作装置３、ロボット動作許可装置４、および（ロボット動作許可装置４側の）非常停止スイッチ５を機能ブロックとして示してある。図３に示した各機能ブロックは以下のように構成されている。
【００５２】
図３において、ロボット制御装置２は、制御部２２と、インターフェース２１、２３を備えている。インターフェース２１は１ブロックで示してあるが、図１４のインターフェース２０７、２０８に相当し、インターフェース２３は図１４のインターフェース２０５に相当する。
【００５３】
ロボット制御装置２の制御部２２は、機能的にはＣＰＵ２０１のハードウェアおよびソフトウェアにより構成される。例えば、制御部２２は図１４のＣＰＵ２０１のハードウェアと、ＣＰＵ２０１により実行される後述の制御プログラムによって実現される制御の機能表現に相当する。
【００５４】
図３では、ロボット操作装置３の主な機能は、動作信号送信部３１によって示されている。動作信号送信部３１は、図２のサーボボタン３１１やジョグボタン３１２の操作に応じてロボットアーム１の特定のロボット動作（サーボＯＮ／ＯＦＦを含む）を指定する動作信号を発生し、ロボット制御装置２に送信する。
【００５５】
また、ロボット動作許可装置４の主な機能は、許可信号送信部４１によって示されている。図３では、ロボット動作許可装置４側の非常停止スイッチ５の機能はロボット動作許可装置４とは独立した図示になっており、停止信号送信部５１により示されている。許可信号送信部４１は、許可ボタン４０の操作に応じてロボットアーム１のロボット動作を許可する許可信号を送信する。また、停止信号送信部５１は、非常停止スイッチ５の操作に応じてロボットアーム１を非常停止させ信号を発生させる。
【００５６】
ロボットアーム１は、ロボット駆動部１１を有する。ロボット駆動部１１は、ロボット制御装置２から送信されたロボット制御信号に基づき、各関節部の駆動源を制御し、これによりロボットアーム１がロボット制御信号の指令に対応した動作を行うよう制御される。ロボットアーム１の駆動源がサーボモータにより構成される場合、ロボット駆動部１１にはサーボコントローラ（不図示）が設けられる。その場合、ロボット制御信号に応じてロボットアーム１の各関節部の駆動源を制御し、ロボット制御信号の指令に対応した動作が行われるよう制御される。また、たとえば、受信したロボット制御信号がサーボＯＮを指示信号であれば、サーボコントローラはサーボＯＮ状態に制御される。
【００５７】
図３の機能表現に示すように本実施例のロボット装置は、ロボットアーム１の動作を制御するロボット駆動部１１を含む。また、作業者７１（第１の操作者）の操作に従ってロボットアーム１の動作を指示する動作信号を送信する動作信号送信部３１を有する。さらに、監視者７２（第２の操作者）の操作に従ってロボットアーム１の動作を許可する許可信号を送信する許可信号送信部４１を有する。
【００５８】
ロボット制御装置２は、上記の動作信号と許可信号を受信し、受信した動作信号と許可信号の状態に応じて、ロボット駆動部１１を介して制御される上記動作信号の指示に対応したロボットアームの動作を制御する。特に、この制御装置は動作信号送信部３１から動作信号を受信する（第１の受信工程）とともに、許可信号送信部４１から許可信号を受信する（第２の受信工程）。
【００５９】
そして、以下に示す本実施例の基本的な制御方法は、ロボット制御装置２が、上記の動作信号および許可信号の双方を受信しなかった場合、該動作信号の指示に対応したロボットアーム１の動作を禁止する制御工程を含む。
【００６０】
特に、本実施例では、ロボット制御装置２は、ロボット動作許可装置４から許可信号を受信した時、位置検出装置８および条件記憶部４３を用いた制御を行う。
【００６１】
条件記憶部４３（記憶装置）には、作業者７１（第１の操作者）および監視者７２（第２の操作者）の位置関係と、ロボットアーム１の動作を許可または禁止する制御情報と、を関連づけて格納しておく。そして、位置検出装置８によって検出した作業者７１（第１の操作者）および監視者７２（第２の操作者）の位置関係が、条件記憶部４３にロボットアームの動作を許可する制御情報と関連づけられた位置関係に該当する場合、許可信号の有効受信と判定する。この許可信号の有効受信判定に応じて、初めて動作信号の指示に対応したロボットアーム１の動作が許可される。
【００６２】
なお、広義の意味合いにおいては、ロボット制御装置２（特に制御部２２）、およびロボット動作許可装置４は本ロボットシステムの主たる制御装置２０を構成するものである。また、ロボット動作許可装置４は、監視者７２が操作する操作装置としての意味合いを持ち、別名では、監視コンソール、監視ターミナル、などと呼んでも差し支えない。
【００６３】
位置検出装置８は、作業者７１の位置を検出する位置検出部８１、監視者７２の位置を検出する位置検出部８２、これらの位置検出部（８１、８２）の位置情報（位置信号）をそれぞれロボット制御装置２に送信する位置情報送信部８３、８４を含む。
【００６４】
条件記憶部４３には、作業者７１（第１の操作者）および監視者７２（第２の操作者）の位置関係と、ロボットアーム１の動作を許可または禁止する制御情報と、を関連づけて、例えばテーブルメモリの形式で格納しておく。この条件記憶部４３の記憶内容の一例については、後述する。条件記憶部４３は、任意の記憶装置を用いて実装できる。例えば図１４の構成においては、条件記憶部４３はＲＯＭ２０２、ＲＡＭ２０３、外部記憶装置２０４のいずれを用いて構成してもよい。例えば、システムの仕様によっては、条件記憶部４３の記憶内容をＲＯＭ２０２中に固定的にＲＯＭ化しておくことができる。また、条件記憶部４３の記憶内容をファイル形式で外部記憶装置２０４に格納しておき、システム初期化時などに読み出し、ＲＡＭ２０３に展開して利用するようにしてもよい。このような構成により、後のシステム更新などによって条件記憶部４３の記憶内容の変更する必要が生じた場合にも対応できる。
【００６５】
位置検出装置８の位置検出部８１、８２は、例えば図２０に示すように配置することができる。図２０は図１と同等の様式で位置検出部８１、８２の配置形態の一例を示している。図２０の例では、位置検出部８１、８２は、例えば作業者７１および監視者７２の体重などによる変形を介してこれらの現在の位置を検出する感圧マットなどにより構成する。例えば感圧マットなどにより構成された位置検出部８１、８２は、作業者７１および監視者７２の作業領域に敷設（配置）する。例えば、図２０の例では、位置検出部８１は可動範囲６（この例では矩形範囲）の内側に、また位置検出部８２は可動範囲６の外側を取り囲むように配置している。
【００６６】
また、位置検出部８１、８２は、例えば超音波、電磁波、静電容量などの媒体の変化を介して第１の操作者および第２の操作者の位置をそれぞれ検出する人感センサなどから構成することもできる。
【００６７】
ロボットアーム１の可動範囲６は、例えば防護冊や（強化）ガラス（あるいは透明樹脂）板などから成る窓により囲っておくことができる。作業者７１は、ロボット操作装置３を携帯して、可動範囲６の内側の作業を進めやすい位置に自由に移動しながら教示作業を行う。
【００６８】
一方、監視者７２も、それが可搬形態で構成されていれば、ロボット動作許可装置４（監視コンソール）を携帯して可動範囲６を取り囲む外側の範囲を自由に移動しながら監視作業を行うことができる。
【００６９】
作業者７１がロボット操作装置３でロボットアーム１を動作させる操作を行うと、ロボット制御装置２はモニタ表示器７によってその旨を監視者７２に通知する。監視者７２は、作業者７１や可動範囲６内の状況を確認し、当該の動作を行ってよいと判断した場合、許可ボタン４０を操作してロボット制御装置２に許可信号を送信する。
【００７０】
ここで、例えば、本システムの操作規約や装置の取扱マニュアルにおいて、監視者７２は、予め可動範囲６内の状態を目視した上、可動範囲６内の環境に異常が無いことを確認した上で、許可ボタン４０を操作して許可信号を送信することを推奨しておく。
【００７１】
しかしながら、本実施例のようなロボット操作〜許可操作のハンドシェイクによる方式では、モニタ表示器７を設ける方が望ましいが、前述のように監視者７２がただモニタ表示器７の表示に反応するような状況に陥り、監視が疎かになる可能性もある。モニタ表示器７の表示のみを注視し（可動範囲６内の監視なしに）、動作信号受信に相当する表示状態のみに反応して監視者７２が許可ボタン４０の操作を繰り返すような操作状況は決して望ましくない。
【００７２】
そこで、本実施例では、例えば監視者７２が、可動範囲６（のロボットアーム１や作業者７１）の状態が十分に確認できる状態にある場合にのみ、監視者７２の許可ボタン４０の操作に応じて許可信号を送信できるよう制御する。
【００７３】
具体的には、可動範囲６（のロボットアーム１や作業者７１）の状態を十分に確認できるか否かは、例えば、位置検出装置８によって検出した作業者７１ないし監視者７２の（現在の）位置関係を介して検出することができる。そして、監視者７２が許可ボタン４０の操作により送信した場合、ロボット制御装置２は、位置検出装置８によって検出した作業者７１ないし監視者７２の（現在の）位置関係に基づき条件記憶部４３を参照する。そして、両者の位置関係が、例えば可動範囲６（のロボットアーム１や作業者７１）の状態を監視者７２が十分に確認できる位置関係になっている場合にのみ許可信号の「有効受信」事象を生成する。本実施例では、この許可信号の有効受信の事象が生じた場合のみ、ロボット制御装置２が、作業者７１のロボット操作に応じたロボットアーム１の動作を許可する。
【００７４】
条件記憶部４３には、作業者７１（第１の操作者）および監視者７２（第２の操作者）の位置関係と、ロボットアーム１の動作を許可または禁止する制御情報と、を関連づけてメモリテーブルを記憶装置に格納しておく。
【００７５】
例えば作業者７１および監視者７２の位置関係が監視者７２が作業者７１の状態を注意深く確認できるような位置関係（例えば作業者が見える位置関係）には、ロボットアーム１の動作を許可する制御情報を関連づけて記憶させる。逆に、監視者７２が作業者７１の状態を適切に監視できないような位置関係には、ロボットアーム１の動作を禁止する制御情報を関連づけて記憶させる。
【００７６】
そして、作業者７１ないし監視者７２の現在の位置を検出し、両者の位置関係からメモリテーブルの制御情報を参照することにより、その時点においてロボットアーム１の動作を許可してよいか、あるいは禁止すべきかを決定することができる。
【００７７】
位置検出部８１、８２で検出する作業者７１および監視者７２の位置関係と、条件記憶部４３の制御情報の対応例としては、以下のような構成が考えられる。
【００７８】
図２２は、図２０のような位置検出部８１、８２の配置において設定可能な位置検出部８１、８２の検出区画の一例を示している。この例では、位置検出部８１、８２の検出区画は、４つの矩形に分割されている。即ち、位置検出部８１の検出区画は検出区画Ａ、Ｂ、Ｃ、Ｄに分割され、位置検出部８２の検出区画は検出区画Ｅ、Ｆ、Ｇ、Ｈに分割されている。
【００７９】
ここで、図２２のような検出区画配置においては、ロボットアーム１（図２０）の設置位置は、可動範囲６の中心、即ち検出区画Ｅ、Ｆ、Ｇ、Ｈの中心に相当する。このような配置において、例えば作業者７１および監視者７２がそれぞれ４つの検出区画のロボットアーム１の位置を通る対角線上に位置する区画に位置する場合を考える。このような位置関係では、監視者７２はロボットアーム１を視認できても、ロボットアーム１に遮られて作業者７１の状況を充分視認できない可能性がある。
【００８０】
逆に、作業者７１および監視者７２のそれぞれ位置する区画が、上記の４つの検出区画のロボットアーム１の位置を通る対角線上に位置する区画でなければ、監視者７２が作業者７１の状態を注意深く確認できると考えられる。あるいは、より厳格に、監視者７２の作業者７１に対する注視がロボットアーム１によって少しでも遮られることのないようにしたい場合も考えられる。例えば、４分割された区画全体の同じ角部に位置する検出区画、即ち、区画の２辺を介して隣接する検出区画に作業者７１および監視者７２が居る位置関係を監視者７２が作業者７１の状態を注意深く確認できる、とする考えもあり得る。
【００８１】
そこで、この場合、条件記憶部４３に記憶させる内容は、例えば図２３（ａ）、（ｂ）のようなものになる。図２３（ａ）、（ｂ）は、例えばテーブルメモリの形式で条件記憶部４３に記憶させる内容を模式的に示している。図２３（ａ）、（ｂ）の記憶構造は、例えば２次元配列のメモリで、位置検出部８１、８２の検出区画Ｅ、Ｆ、Ｇ、Ｈ、およびＡ、Ｂ、Ｃ、Ｄが特定のメモリアドレス間隔に対応づけられている。従って、ロボット制御装置２の制御部２２は、作業者７１および監視者７２を検出した検出区画Ｅ、Ｆ、Ｇ、Ｈ、およびＡ、Ｂ、Ｃ、Ｄのいずれかの組合せ、即ち両者の「位置関係」に基づき、条件記憶部４３の制御情報の値を参照することができる。
【００８２】
図２３（ａ）の例では、作業者７１および監視者７２のそれぞれ位置する区画が、（区画の１辺を介して）隣接する位置関係について、ロボットアーム１の動作を許可する制御情報（４３０：図中の「○」）を関連づけて記憶させている。図２３（ａ）において、この位置関係に相当する区画の組合せは、図２２との比較から明らかなように、検出区画ＥとＡ、ＥとＢ、ＥとＣ、ＦとＡ、ＦとＢ、ＦとＤ、ＧとＡ、ＧとＣ、ＧとＤ、ＨとＢ、ＨとＢ、ＨとＤである。また、図２３（ａ）では、作業者７１および監視者７２がそれぞれ４つの検出区画の対角線上に位置する区画に居る位置関係に関しては、ロボットアーム１の動作を許可する制御情報（４３１：図中の「Ｘ」）を関連づけて記憶させている。図２３（ａ）において、この位置関係に相当する区画の組合せは、図２２との比較から明らかなように、検出区画ＥとＤ、ＦとＣ、ＧとＢ、ＨとＡである。
【００８３】
図２３（ｂ）の場合は、作業者７１および監視者７２のそれぞれ位置する区画が、区画の２辺を介して隣接する（同じ角部に位置する）位置関係について、ロボットアーム１の動作を許可する制御情報（４３０：図中の「○」）を関連づけて記憶させている。図２３（ａ）において、この位置関係に相当する区画の組合せは、図２２との比較から明らかなように、検出区画ＥとＡ、ＦとＡ、ＦとＢ、ＧとＣ、ＨとＤである。そして、図２３（ｂ）の例では、これ以外の位置関係については、ロボットアーム１の動作を許可する制御情報（４３１：図中の「Ｘ」）を関連づけて記憶させている。図２３（ａ）において、この位置関係に相当する区画の組合せは、図２２との比較から明らかなように、検出区画ＥとＢ、ＥとＣ、ＥとＤ、ＦとＡ、ＦとＣ、ＦとＤ、ＧとＡ、ＧとＢ、ＧとＤ、ＨとＡ、ＨとＢ、ＨとＣである。
【００８４】
図２４は、許可ボタン４０が操作された時に、制御部２２（のＣＰＵ２０１）が位置検出装置８で検出した作業者７１および監視者７２の位置関係に基づき、条件記憶部４３を参照して、ロボット動作を許可または禁止する制御手順の一例を示している。図２４の制御手順はＣＰＵ２０１（図１４）が実行可能な制御プログラムとして記述され、例えばＲＯＭ２０２（同）や外部記憶装置２０４（同）に格納しておくことができる。この点は後述の実施例においても同様である。
【００８５】
なお、図２４では、許可ボタン４０が操作される前の段階、例えば作業者７１がロボット操作装置３を操作して動作信号をロボット制御装置２に送信する段階に関しては図示を省略している。また、ロボット動作（図２４のステップＳ６１４）において、動作信号および許可信号（の有効受信）のタイミングに応じて異なる制御を行うことができるが、これら図２４で省略されている技術内容に関しては後述の実施例で説明する。
【００８６】
図２４の処理は、作業者７１がロボット操作装置３を操作して動作信号をロボット制御装置２に送信すると開始される。ステップＳ６１１において、ＣＰＵ２０１は監視者７２がロボット動作許可装置４の許可ボタン４０を操作されるのを待つ。
【００８７】
ステップＳ６１１からＳ６１２への遷移は、監視者７２がロボット動作許可装置４の許可ボタン４０を操作し、許可信号送信部４１から許可信号が送信されることにより生じる。
【００８８】
ステップＳ６１２において、ＣＰＵは位置検出装置８の位置情報送信部８３、８４から送信される位置検出部８１、８２で検出された作業者７１、および監視者７２の位置情報をインターフェース２１を介して取り込む。そして、作業者７１、および監視者７２の位置関係を判定する。即ち、インターフェース２１を介して取り込んだ作業者７１、および監視者７２の位置情報に基づき条件記憶部４３（図２３（ａ）あるいは（ｂ））を参照する。
【００８９】
ステップＳ６１３では、条件記憶部４３（図２３（ａ）あるいは（ｂ））に作業者７１、および監視者７２の位置関係に関連して、ロボットアーム１の動作を許可する制御情報（４３０：「○」）が格納されているか否かを判定する。このステップＳ６１３が肯定された場合にはステップＳ６１４に進み、否定された場合にはステップＳ６１５のエラー処理に移行する。
【００９０】
上記のように、監視者７２が作業者７１の状態を注意深く確認できると考えられる位置関係については、条件記憶部４３（図２３（ａ）あるいは（ｂ））にロボットアーム１の動作を許可する制御情報（４３０：「○」）が格納されている。従って、条件記憶部４３（図２３（ａ）あるいは（ｂ））の参照の結果、ロボットアーム１の動作を許可する制御情報（４３０：「○」）が格納されている場合、ＣＰＵ２０１はステップＳ６１４において、許可信号の「有効受信」事象を生成する。そして、この許可信号の「有効受信」に基づき、作業者７１がロボット操作装置３から送信した動作信号に対応したロボット動作を許可する。
【００９１】
一方、作業者７１、および監視者７２の位置関係が適切でない場合には、条件記憶部４３（図２３（ａ）あるいは（ｂ））の参照の結果、ロボットアーム１の動作を禁止する制御情報（４３１：「Ｘ」）が読み出される。これにより、制御はステップＳ６１３からＳ６１５のエラー処理に遷移する。
【００９２】
ステップＳ６１５のエラー処理では、可視表示や音声出力によって、例えば監視者７２に対して、監視位置が適切でないこと、あるいはさらに監視者７２の適切な監視位置への移動を促す旨のエラー（ないし警告）情報を出力することができる。このように可視表示や音声出力によってエラー（ないし警告）情報を通知する通知手段は、例えばロボット動作許可装置４の操作面などに配置しておくことができる。あるいは、このようなエラー（ないし警告）情報は、作業者７１が認知できるように構成しておいてもよい。従って、このようなエラー（ないし警告）情報の通知は、可動範囲６や監視者７２の監視範囲が設置される居室内（の例えば壁面の上部など）に配置した表示スクリーンやスピーカを用いて行うようにしてもよい。
【００９３】
以上により、作業者７１と監視者７２の位置関係が、作業者７１ないし可動範囲６内の状況が充分に確認できる位置関係である場合に限り、作業者７１がロボット操作装置３を操作して送信した動作信号に対応したロボット動作を許可することができる。即ち、監視者７２の監視条件を適切にコントロールすることができ、作業者７１は監視者７２の適切な監視の下、確実にロボット操作を行うことができる。
【００９４】
なお、以上では、便宜上、位置検出装置８の検出区画を図２２、図２３に示したような４等分の矩形分割とした例を示した。しかしながら、位置検出装置８の検出区画の分割態様、例えば検出区画の数や形状は、当業者においてシステムの仕様などに応じて任意に変更してよい。また、位置検出装置８は作業者７１および監視者７２の存在する位置のＸＹ座標値を出力できるよう構成されていてもよい。その場合には、条件記憶部４３は、作業者７１および監視者７２の存在するＸＹ座標の値の範囲と、上述の制御情報を関連づけて記憶するテーブルメモリなどとして構成することができる。
【００９５】
また、図２３（ａ）、（ｂ）に示した作業者７１と監視者７２の位置関係の対応も一例に過ぎず、異なるシステムの仕様や作業環境に関する異なる技術思想によって任意に変更してよい。例えば、図２３（ａ）、（ｂ）では、作業者７１と監視者７２が、ロボットアーム１の位置を通る対角線上に位置する場合は、位置関係が適切ではないとして扱っている。しかしながら、ロボットアーム１の姿勢や状態をつぶさに監視できることが第一義であるようなシステム仕様であっても構わない。そのような場合には、図２３（ａ）あるいは（ｂ）において、ロボットアーム１の動作を許可または禁止する制御情報（４３０：「○」または４３１：「Ｘ」）を図示とは逆に配置した構成を採用することもできる。
【００９６】
次に、許可信号の有効受信判定に応じて行うロボット制御の基本構成につき説明する。基本的なハードウェア構成については、以上に説明したものと同様であるものとする。また、以下では煩雑さを避けるため、上述のように作業者７１と監視者７２の位置関係に応じて発生される許可信号の「有効受信」事象については殊更に詳しく言及しない。例えば、以下の説明において、文脈に応じて単に「許可信号を受信した場合」などと記載することがあるが、これは上述のようにして許可信号の「有効受信」判定が発生していることを意味する。この点については、後述の各実施例においても同様である。
【００９７】
図４は、本実施例のロボット制御装置２において用いられる主要な制御状態（ステート）を示している。図４の各状態（２１１〜２１４）は、制御部２２（図３）ないしＣＰＵ２０１（図１４）によって管理されるもので、ロボット操作装置３、ロボット許可信号送信部４１（あるいは非常停止スイッチ５）の操作に応じた値（図４右側）を取る。具体的には、これらの制御ステートは、例えば図１４のＲＡＭ２０３の予め確保された記憶領域（あるいはＣＰＵ２０１のレジスタ）にそれぞれ格納される。なお、理解を容易にするため、図中ではこれらの制御ステートは日本語によって表記してあるが、メモリ上では実際には予め定めた適当なバイナリコードや文字列などによるニーモニックにより表現される。
【００９８】
後述の制御を実現するため、図４では制御部２２（ＣＰＵ２０１）が管理する制御ステートは、例えばロボット操作装置３の信号状態２１１、ロボット動作許可装置４の信号状態２１２、指示内容２１３、サーボ状態２１４から構成される。これらの制御ステートは、例えば以下のように制御される。
【００９９】
ロボット操作装置３の信号状態２１１の制御ステートは、ロボット操作装置３から送信される動作信号の有無に相当する。信号状態２１１は、動作信号の内容に拘らず、動作信号の有無（ロボット操作装置３で操作が行われたか否か）に関する情報（ＯＮ／ＯＦＦ）のみを記憶する。信号状態２１１は、初期状態では信号を受信していない状態を示す値（ＯＦＦ）を持っている。サーボボタン３１１やジョグボタン３１２の操作に応じてロボット操作装置３から動作信号が送信されると、制御部２２（ＣＰＵ２０１）は信号状態２１１を動作信号の受信状態に対応する値（ＯＮ）に更新する。
【０１００】
また、ロボット操作装置３の信号状態２１１の制御ステートは、ロボット操作装置３の動作要求を表わす状態として制御される。上述のように、本実施例では、ロボット操作装置３が動作信号を送信してロボットアーム１の動作を要求すると、そのロボット動作はロボット動作許可装置４からの有効な許可信号の受信によって許可され、実行される制御を基本とする。このため、例えば、許可ボタン４０の操作に応じて許可信号の有効受信事象が生じた場合には、制御部２２（ＣＰＵ２０１）は２１１を信号を受信していない状態を示す値（ＯＦＦ）に戻すよう制御する。
【０１０１】
ロボット動作許可装置４の信号状態２１２の制御ステートは、ロボット動作許可装置４から送信された信号の有無に対応する。信号状態２１２の初期値は信号を受信していない状態を示す値（ＯＦＦ）である。ロボット動作許可装置４で許可ボタン４０が操作され、許可信号の有効受信事象が生じると、制御部２２（ＣＰＵ２０１）はロボット動作許可装置の信号状態２１２を同信号を受信している状態を示す値（ＯＮ）となる。例えば許可ボタン４０が上述のようにモーメンタリ操作方式である場合には、監視者７２が許可ボタン４０の操作をやめると、制御部２２（ＣＰＵ２０１）は許可信号を受信していない状態を示す値（ＯＦＦ）に戻す。このようにロボット動作許可装置４の信号状態２１２の値は、ロボット動作許可装置４の（許可ボタン４０の）操作に同期するよう制御される。
【０１０２】
また、指示内容２１３のステートは、ロボット操作装置３（あるいは非常停止スイッチ５）で行われた（最新の）操作の内容に応じた値を持つよう制御部２２（ＣＰＵ２０１）によって更新される。指示内容２１３の初期値は、指示がない状態を示す値（適当な未定義値）に制御される。ロボット操作装置３でサーボボタン３１１が操作された場合、指示内容２１３の値は「サーボが操作されたことを示す値」（図４では「サーボＯＮ」と表記）に制御される。また、ロボット操作装置３でジョグボタン３１２が操作された場合、指示内容２１３の値は「ジョグボタンが操作されたことを示す値」に制御される。また、ジョグボタン３１２の操作が終了すると、指示内容２１３の値は例えばジョグボタンを押下する前の状態を示す値に制御される。また、指示内容２１３のステートは、非常停止スイッチ５（非常停止スイッチ３１３の場合も同様）が操作されると、強制的に指示内容の値は「非常停止スイッチが操作されたことを示す値」で直ちに上書きされる。指示内容２１３のステートは、基本的にはロボット操作装置３の「指示内容」を格納するために用いるものであるが、非常停止の場合はその操作の性質上、上記のように指示内容２１３の記憶領域を共用するように制御するのはむしろ合理的である。これにより、制御ステートを記憶するためのＲＡＭ２０３などの記憶領域を節減できる。
【０１０３】
さらに、サーボ状態２１４のステートは、制御部２２（ＣＰＵ２０１）によりロボットアーム１のサーボ状態を保持するよう管理される。サーボ状態２１４は、ロボットアーム１がサーボＯＮ状態であれば「サーボＯＮ」、サーボＯＦＦであれば「サーボＯＦＦ」の各値を持つよう制御部２２（ＣＰＵ２０１）により更新される。
【０１０４】
本実施例の制御例を図５および図１５に示す。図１５は例えばＣＰＵ２０１により実行されるロボット制御手順を、また図５は図１５の制御手順により行われるロボット制御のタイミングを示している。図１５の制御手順はＣＰＵ２０１が実行可能な制御プログラムとして記述され、例えばＲＯＭ２０２や外部記憶装置２０４に記憶させておくことができる。
【０１０５】
本実施例のロボット装置はサーボ制御系を用いており、ロボットアーム１に何らかのロボット動作を行わせるには、サーボＯＮの操作が必要である。ここで、ロボットアーム１に行わせるロボット動作は、例えばロボットアーム１の基準部位（例えば先端部）を＋Ｘ方向に動作させるものとする。この操作は、作業者７１がロボット操作装置３のジョグボタン３１２（＋Ｘ）を用いて行う。このジョグ操作に先立って、サーボＯＮの操作は作業者７１がロボット操作装置３のサーボボタン３１１を操作することによって行う。
【０１０６】
さらに、図１５の制御手順は、ロボット操作装置３からロボットアーム１のサーボＯＮ操作、およびジョグ操作のいずれについても、監視者７２の許可操作に応じて上述の許可信号の有効受信事象が生成されていることを必須条件とするよう構成されている。
【０１０７】
図１５の制御ループは、作業者７１のロボット操作装置３によるロボット操作を検出するステップＳ１１１、Ｓ１１４を有する。ステップＳ１１１では、ＣＰＵ２０１は作業者７１がロボット操作装置３のサーボボタン３１１によるサーボＯＮ操作を行ったか否かを判定する。また、ステップＳ１１４では、ＣＰＵ２０１は作業者７１がロボット操作装置３のジョグボタン３１２によりジョグ操作を行ったか否かを判定する。
【０１０８】
作業者７１がロボット操作装置３で上記のいずれかの操作を行うと、各ロボット操作を指令する動作信号がロボット制御装置２に送信される。もし上記の操作がいずれかも行われなかった場合は、ステップＳ１１１、Ｓ１１４をループしつつ待機する。作業者７１がロボット操作装置３で上記のいずれかの操作を行い、各ロボット操作を指令する動作信号がロボット制御装置２に送信されると、ステップＳ１１２またはＳ１１５で監視者７２のロボット動作許可装置４による許可操作の有無を検出する。
【０１０９】
ステップＳ１１２、Ｓ１１５では、ＣＰＵ２０１は監視者７２がロボット動作許可装置４の許可ボタン４０を押下し、許可信号を受信したか否かを判定する。そして、ステップＳ１１２、Ｓ１１５で許可信号を受信している場合に限り、対応するロボットアーム１のロボット駆動部１１に指令を送り、対応するロボット動作（ステップＳ１１３、Ｓ１１６）を実行させる。ここでステップＳ１１３で許可される動作はサーボＯＮ、ステップＳ１１６で許可される動作はジョグ操作によって行われるロボット動作である。
【０１１０】
図１５の制御はステップＳ１１２、Ｓ１１５で許可操作が行われなかった場合はステップＳ１１１、ステップＳ１１４のループに復帰し、ステップＳ１１２、Ｓ１１５で許可操作が行われるのを待ってそれぞれ当該のロボット制御が行われるよう構成されている。
【０１１１】
図１５のような制御手順によって、図５に示すようにロボット制御が実行される。図５の左端部には括弧書きにより上記の構成部材の参照符号を示してある。図５の例では作業者７１はサーボＯＮ操作（Ｓ１）行った後、ジョグ操作（Ｓ４）を実施している。そして、ＣＰＵ２０１は監視者７２が許可ボタン４０を操作して、その結果、許可信号の有効受信が生じる（Ｓ２，Ｓ５）のを条件として、対応するサーボＯＮ（Ｓ３）、および対応するロボット動作（Ｓ６）をロボットアーム１に行わせるよう制御する。
【０１１２】
図４の制御ステートとの関連でより詳細に説明すると、図５の制御は以下のように行われる。
【０１１３】
作業者７１がロボット操作装置３に設けられたサーボボタン３１１を操作する（Ｓ１）と、このロボット操作によって動作信号送信部３１から、インターフェース２１にロボットアーム１の動作を指示する動作信号が送信される。この動作信号を受信すると、ＣＰＵ２０１はロボット操作装置３の信号状態２１１を「ＯＮ」、指示内容２１３を「サーボＯＮ」に更新する。上述のようにこの段階では、まだ実際にはＣＰＵ２０１は対応するサーボＯＮの制御を実行しない。
【０１１４】
上記のロボット操作の様子はロボット動作許可装置４のモニタ表示器７によって同期表示される。このモニタ表示を視認し、あるいはさらに可動範囲６の状況を確認した上で、当該のロボット操作を許可してよいと判断すると、監視者７２はロボット動作許可装置４の許可ボタン４０を操作する（Ｓ２）。これに応じて、許可信号送信部４１からロボットアーム１の動作を許可する許可信号がロボット制御装置２に送信される。
【０１１５】
ＣＰＵ２０１は、この許可信号の受信が、上述のようにして位置検出装置８で検出した作業者７１および監視者７２の位置関係に応じて「有効受信」であるものと判定すると、ロボット動作許可装置４の信号状態２１２の制御ステートを「ＯＮ」に更新する。ここでＣＰＵ２０１はロボット操作装置３の信号状態２１１とロボット動作許可装置４の信号状態２１２が「ＯＮ」であることを確認すると、当該のロボット動作を許可する。ここではロボット操作装置３の信号状態２１１を「ＯＦＦ」に復帰させ、指示内容２１３（サーボＯＮ）をロボットアーム１のロボット駆動部１１に送信する。その後、指示内容２１３を「指示無し」、サーボ状態２１４のステートの値を現在の状態に対応する「ＯＮ」にする。ロボットアーム１のロボット駆動部１１は、上記の制御によりサーボコントローラをサーボＯＮの状態に制御する（Ｓ３）。以上のようにして、ロボット操作装置３からロボットアーム１のサーボをＯＮすることができる。
【０１１６】
続いて、作業者７１は、ロボット操作装置３に設けられたジョグボタン３１２（例えば＋Ｘ）を操作する（Ｓ４）。この操作によって動作信号送信部３１からロボットアーム１の動作を指示する動作信号が送信される。ロボット制御装置２が受信すると、ＣＰＵ２０１はロボット操作装置の信号状態２１１を「ＯＮ」、指示内容２１３を「ジョグ＋Ｘ」にする。上述のようにこの段階では、まだ実際にはＣＰＵ２０１は対応するジョグ動作の制御を実行しない。
【０１１７】
ジョグ操作の様子に関しても、ロボット動作許可装置４のモニタ表示器７によって同期表示が行われる。このモニタ表示を視認し、あるいはさらに可動範囲６の状況を確認した上で、当該のロボット操作を許可してよいと判断すると、監視者７２はロボット動作許可装置４の許可ボタン４０を操作する（Ｓ５）。これに応じて、許可信号送信部４１からロボットアーム１の動作を許可するロボット制御装置２に許可信号が送信される。
【０１１８】
これに応じて、ＣＰＵ２０１が、この許可信号の受信を、上述同様に「有効受信」と判定すると、ロボット動作許可装置４の信号状態２１２を「ＯＮ」にする。そして、ＣＰＵ２０１はロボット操作装置３の信号状態２１１が「ＯＮ」かつ、ロボット動作許可装置４の信号状態２１２が「ＯＮ」かつ、サーボ状態２１４が「ＯＮ」であることを確認すると当該のロボット動作を許可する。ここではロボット操作装置信号状態２１１を「ＯＦＦ」とし、指示内容２１３（ジョグ＋Ｘ）をインターフェース２３を介してロボットアーム１に送信し、指示内容２１３を「指示無し」に復帰させる。これにより、ロボットアーム１のロボット駆動部１１にアームの基準部位を＋Ｘ方向に動かす命令が送信される（Ｓ６）。以上のようにして、ロボット操作装置３のジョグ操作に応じてロボットアーム１を（＋Ｘ方向に）動作させることができる。
【０１１９】
以上のように、本実施例のロボット装置は、ロボットアーム１の動作を制御するロボット駆動部１１を含む。また、作業者７１（第１の操作者）の操作に従ってロボットアーム１の動作を指示する動作信号を送信する動作信号送信部３１を有する。さらに、監視者７２（第２の操作者）の操作に従ってロボットアーム１の動作を許可する許可信号を送信する許可信号送信部４１を有する。
【０１２０】
また、上記のロボット制御装置２ないし制御部２２（具体的にはＣＰＵ２０１のハードウェアおよびソフトウェアにより構成される）は本ロボット装置の主たる制御装置を構成する。この制御装置は、上記の動作信号と許可信号を受信し、受信した動作信号と許可信号の状態に応じて、ロボット駆動部１１を介して制御される上記動作信号の指示に対応したロボットアームの動作を許可または禁止する。
【０１２１】
特に、この制御装置は動作信号送信部３１から動作信号を受信する（第１の受信工程）とともに、許可信号送信部４１から許可信号を受信する（第２の受信工程）。また、この制御装置は許可信号を受信した場合は、位置検出装置８で検出した作業者７１および監視者７２の位置関係に応じて、「有効受信」であったか否かを判定し、許可信号を「有効受信」している場合のみ、動作信号に応じたロボットアームの動作を許可する。
【０１２２】
また、本実施例の基本的な制御方法は、上記の制御装置が、上記の動作信号および（有効な）許可信号の双方を受信しなかった場合、該動作信号の指示に対応したロボットアーム１の動作を禁止する制御工程を含む。
【０１２３】
例えば、本実施例では、作業者７１がロボット操作装置３でロボット操作を行った時、監視者７２当該のロボット操作（動作）を許可してよい、と判断し、許可ボタン４０の操作を行って初めて当該のロボット操作（動作）を実行させるよう制御する。監視者７２は、例えば作業者７１ないし可動範囲６内の状況を確認して、作業者７１の保護状態が保たれている、あるいはさらに非常停止スイッチ５を速やかに操作可能である状態のとき（に限り）、許可ボタン４０操作の判断を下す。
【０１２４】
このため、本実施例によれば、ロボット可動範囲内における作業者の保護状態を確保しつつ、効率よくロボットを用いた作業を行うことができる。また、本実施例では、位置検出装置８で検出した作業者７１および監視者７２の位置関係に応じて許可信号の受信が「有効」であるか否かを判定するようにしている。このため、作業者７１と監視者７２の位置関係が、作業者７１ないし可動範囲６内の状況が充分に確認できる位置関係である場合に限り、作業者７１がロボット操作装置３を操作して送信した動作信号に対応したロボット動作を許可することができる。
【０１２５】
さらに、本実施例では、ロボット動作許可装置４に作業者７１の操作を同期表示するモニタ表示器７を設けているため、作業者および監視者の操作の連携性を高め、効率よくロボットを用いた作業を行うことができる。
【０１２６】
なお、ロボット操作装置３の非常停止スイッチ３１３またはロボット動作許可装置４側の非常停止スイッチ５による非常停止操作は、図１８に示すような制御手順をＣＰＵ２０１が実行すべき割り込みルーチンなどとして用意しておくことにより実現できる。
【０１２７】
図１８のステップＳ４１１は、ロボット操作装置３の非常停止スイッチ３１３またはロボット動作許可装置４側の非常停止スイッチ５による非常停止操作の検出処理を示している。この非常停止操作の検出は例えばハードウェア割り込みなどの形式で実装でき、当該の非常停止操作が行われると割り込みが発生して、ＣＰＵ２０１の制御はステップＳ４１２に遷移する。作業者７１および監視者７２は、いずれも非常停止スイッチ３１３、または５を介してこの非常停止操作を行うことができる。これらの非常停止スイッチの操作が行われると、ロボット操作装置３またはロボット動作許可装置４からロボット制御装置２に非常停止信号が送信される。この割り込み制御は、現在実行されているどのようなロボット制御に対しても優先して無条件で実行される。そして、ステップＳ４１２では、ロボットアーム１のロボット駆動部１１に対して実行中のロボット動作を全て停止させ、サーボＯＦＦ状態とする旨の（非常停止）信号を送信する。
【０１２８】
図１８のような非常停止ルーチンを用意しておくことにより、監視者７２、作業者７１のいずれも緊急事態の発生に応じて非常停止スイッチ３１３、または非常停止スイッチ５を用いてロボットアーム１の動作を無条件で非常停止させることができる。これにより、作業者７１（あるいはさらに監視者７２や関係者）の保護状態を確保することができる。
【実施例２】
【０１２９】
上記の実施例１では、作業者７１がロボット操作装置３でロボット操作を行っても、それによりロボット制御装置２に送信される動作信号に対応するロボット動作は監視者７２が許可ボタン４０によって許可操作を行ったタイミングで初めて発生する。
【０１３０】
即ち、作業者７１のロボット操作に対応する事象（ロボット動作）は、操作後、直ちに実行されることはなく、某かのタイムラグを挟んで発生することになる。サーボボタン３１１によるサーボＯＮのような実際の動きを伴わないロボット操作については、このようなロボット制御でもそれ程問題にならない可能性がある。しかしながら、ロボット操作装置３のジョグ操作のような実際の動きを伴うロボット操作は、例えばロボットアーム１の教示操作中であればなおのこと、実施例１のようなロボット制御は作業者７１に違和感を感じさせる可能性がある。少なくとも、作業者７１の操作感覚としては、ロボット操作に対するロボット動作のレスポンスの遅れ、として知覚されると考えられる。
【０１３１】
そこで、本実施例では、サーボＯＮ操作と、ジョグ操作で（有効な）許可信号の取り扱いを差別化する。即ち、少なくともジョグ操作については（有効な）許可信号（有効な許可操作）を待たずに対応するロボット動作を開始させるよう制御する。ただし監視者７２の許可なくジョグ操作に対応するロボット動作を実行させる訳ではなく、許可信号（許可操作）がなくジョグ操作（動作）を実行できる「自由操作時間」の制限を設ける。そしてこの自由操作時間内に監視者７２の許可操作が行われなかった場合には一旦開始したジョグ操作（動作）を停止させる。
【０１３２】
また、作業者７１のサーボＯＮ操作については、その後行われる監視者７２の許可操作に関して猶予時間を設け、このサーボＯＮ操作後、猶予時間内に監視者７２の許可操作が行われた場合に限りサーボＯＮを実行する。また、サーボＯＮ操作後、猶予時間内に監視者７２の許可操作が行われなかった場合には当該のサーボＯＮ操作を無効とし、サーボＯＮは実行しない。
【０１３３】
上記の自由操作時間と猶予時間の長さについては、それぞれ異なる時間長を採用してもよいが、本実施例では、自由操作時間および猶予時間は同じ１（秒）の設定を用いる。なお、本実施例でいう「自由操作時間」は、その時間内は監視者７２の許可操作を待つ、という意味では猶予時間の１類型と考えることもできる。しかしながら、自由操作時間を作用させるジョグ操作（動作）に関しては、ロボット操作に対応するロボット動作は直ちに開始させる、という点が異なる。このため、本実施例ではサーボＯＮ操作とジョグ操作に作用させる時間に猶予時間、自由操作時間、という異なる用語を用いることにした。
【０１３４】
以下、本実施例の構成および制御につき説明する。なお、以下では上述の実施例と同等の部材には同一の参照符号を付し、その詳細な説明は省略するものとする。
【０１３５】
本実施例の制御を適用可能なロボット装置の構成は実施例１の図１に示したものと同じでよい。また、制御系の構成は図１４に示したものと同じでよい。また、図４に示した制御状態（ステート）も本実施例において同様に用いられる。
【０１３６】
さらに、本実施例においても、許可信号については、位置検出装置８で検出した作業者７１および監視者７２の位置関係に応じて許可信号の受信が「有効」であるか否かを判定する制御を行うことができる。
【０１３７】
図６は本実施例におけるロボット装置を機能表現で示したブロック図である。図６では、位置検出装置８と条件記憶部４３は図３と同様に設けられている。実施例１の図３との差異は、図６のロボット制御装置２のブロック内に時間計測部２４が示されている点である。例えば、この時間計測部２４は、図１４に示した制御系の構成においてはＲＴＣ２０９によって構成することができる。あるいは時間計測部２４はＲＴＣチップのみならず、他の任意のタイマハードウェアで構成することもできる。要は、この時間計測部２４によってＣＰＵ２０１が図７に示すような時間情報を計測することができるよう実装されていればよい。
【０１３８】
図７は、時間計測部２４を用いて計測される時間データを示している。本実施例で用いられる時間データは同図に示すように猶予時間２４１、経過時間２４２、自由操作時間２４３である。
【０１３９】
このうち、猶予時間２４１は、作業者７１がロボット操作装置３でロボット操作（本実施例ではサーボボタン３１１のサーボＯＮ操作）を行った後、ロボット動作許可装置４から許可ボタン４０の操作に応じて送信される許可信号を受け付ける時間である。猶予時間２４１の時間情報は定数値（ただし設定操作によって変更できるようにしてもよい）で、本実施例では１（秒）としている。
【０１４０】
経過時間２４２は、ロボット制御装置２がロボット操作装置３からロボット操作に応じて送信された動作信号を受信してからの経過時間を測定するタイマに相当する。このようなタイマ（経過時間２４２）は例えばＲＴＣ２０９の機能設定により実現でき、経過時間２４２の値は、時間の経過とともに随時更新される。例えば、経過時間２４２には、０．５秒経過した時点では「０．５」、１０秒経過した時点では「１０」のような値が格納されていることになる。
【０１４１】
自由操作時間２４３は、上記のようにロボット動作許可装置４の許可操作を待たず、作業者７１がロボット操作装置３でロボット操作（本実施例ではジョグ操作）を行った後、（ロボット動作許可装置４の許可操作なく）当該のロボット操作を行える時間である。同時にこの自由操作時間２４３は、当該のジョグ操作（ジョグ動作）開始後、ロボット動作許可装置４から許可ボタン４０の操作に応じて送信される許可信号（ないしは上述の許可信号の「有効」受信事象）を受け付ける時間でもある。この自由操作時間２４３の時間情報は定数値（ただし設定操作によって変更できるようにしてもよい）で、本実施例では猶予時間２４１と同じ１（秒）としている。
【０１４２】
次に本実施例のロボット制御について説明する。本実施例においてＣＰＵ２０１（図１４）が実行するロボット制御手順は図１６および図１７に示す通りである。また、作業者７１がロボット操作装置３を用いてロボットアーム１を＋Ｘ方向に動作させる場合の制御例を図８〜図１０に示す。
【０１４３】
図１６は猶予時間２４１（１（秒））を作用させるサーボＯＮ操作に係る制御手順を、図１７は、自由操作時間２４３を作用させるジョグ操作に係る制御手順をそれぞれ示している。
【０１４４】
図１６と図１７の制御は類似しており、制御要素としては経過時間２４２（タイマ）のリセット（Ｓ２１１、Ｓ３１１）ロボット操作装置３におけるサーボＯＮ操作（Ｓ２１２）、またはジョグ操作（Ｓ３１２）を含む。そして、サーボＯＮ操作（Ｓ２１２）、またはジョグ操作（Ｓ３１２）が行われると経過時間２４２（タイマ）をスタートさせる（Ｓ２１３、Ｓ３１３）。
【０１４５】
その後、図１６のサーボＯＮ操作の制御では、猶予時間２４１内にロボット動作許可装置４から（有効な）許可信号が送信されるのを条件（Ｓ２１４）としてサーボＯＮを実行（Ｓ２１５）する。
【０１４６】
これに対して、図１７のジョグ操作の制御では、ロボット動作許可装置４から（有効な）許可信号が送信されるのを待たずに直ちにジョグ操作に対応するジョグ動作をロボットアーム１に実行させる（Ｓ３１３）。そして、自由操作時間２４３内にロボット動作許可装置４から（有効な）許可信号が送信されれば当該のジョグ動作を引き続き実行する（Ｓ３１６〜Ｓ３１５）。また、自由操作時間２４３内に（有効な）許可信号が送信されずに経過時間２４２（タイマ）がタイムアウトした場合には当該のジョグ動作を不許可（禁止）として停止させる（Ｓ３１６〜Ｓ３１７）。
【０１４７】
図１６、図１７のような制御手順により、実行されるロボット制御を図８〜図１０の例によって説明する。
【０１４８】
図８は、猶予時間２４１、自由操作時間２４３内にロボット動作許可装置４から（有効な）許可信号が送信されて、ロボット操作装置３の操作に対応するロボット動作が実行される場合の例を示している。また、図９はサーボＯＮ操作に関してロボット動作許可装置４からの（有効な）許可信号送信が猶予時間２４１に間に合わなかった場合の例を示している。図１０は同様にジョグ操作に関してロボット動作許可装置４からの（有効な）許可信号送信が自由操作時間２４３に間に合わなかった場合の例を示している。
【０１４９】
図８において、作業者７１は、ロボット操作装置３に設けられたサーボボタン３１１を操作する（Ｓ７）。これによりロボット制御装置２にロボットアーム１の動作を指示する信号が送信される。これに応じてＣＰＵ２０１はロボット操作装置３の信号状態２１１（図４）を「ＯＮ」、指示内容２１３を「サーボＯＮ」にする。監視制御部２２は時間計測部２４に、時間の計測を行う命令を送信し、時間計測部２４は、経過時間２４２の値を随時更新する（図１６のタイマスタート）。
【０１５０】
モニタ表示器７の表示などを介して上記のサーボＯＮ操作を監視者７２が認識し、図８の例では猶予時間２４１内にロボット動作許可装置４を操作しており、これにより、ロボット動作許可装置４からロボット制御装置２に許可信号が送信される（Ｓ８）。これに応じて、ＣＰＵ２０１が、上述のようにしてこの許可信号の受信を「有効受信」と判定すると、ロボット動作許可装置４の信号状態２１２を「ＯＮ」に切り替える。ＣＰＵ２０１はロボット動作許可装置４の信号状態２１２が「ＯＮ」になったことを条件としてロボット操作装置信号状態２１１を「ＯＦＦ」、サーボ状態２１４を「ＯＮ」にし、指示内容２１３（サーボＯＮ）をロボットアーム１に送信する。以上のようにして、ロボット操作装置３からロボットアーム１がサーボＯＮされる（Ｓ９）。
【０１５１】
なお、サーボＯＮを有効とした後、時間計測部２４に対して計測を終了する信号を出し（図１６のステップＳ２１１）、経過時間２４２の計測を終了する。これにより経過時間２４２の値は「０」にリセットされる。
【０１５２】
一方、図９のように、サーボＯＮ操作（Ｓ１３）の後、ロボット動作許可装置４の許可操作がなく経過時間２４２が猶予時間２４１より大きい値となった場合、ＣＰＵ２０１はサーボＯＮ操作を許可しない。図９の例では、ロボット動作許可装置４の操作（Ｓ１４）は猶予時間２４１より遅れており、この場合はＣＰＵ２０１はサーボＯＮとせずサーボＯＦＦ状態を維持する。また、時間計測部２４に対して計測を終了する信号を出し、経過時間２４２を０にリセットし時間の計測を終了する（図１６のＳ２１１）。
【０１５３】
以上のようにして、ＣＰＵ２０１は、ロボット操作装置３のサーボＯＮ操作が行われてから一定の猶予時間２４１の内にロボット動作許可装置４の許可操作が行われたときのみ、ロボットアーム１のサーボＯＮに制御する。
【０１５４】
再び図８において、作業者７１は、ロボット操作装置３に設けられたジョグボタン（＋Ｘ）３１２を操作する（Ｓ１０）。本実施例では、ジョグ操作については、直ちに該当のロボット動作を開始させる（Ｓ１２）。ここでは、ロボットアーム１のロボット駆動部１１にロボット操作装置３からの動作信号により指示されたロボット動作を指令する信号を送信する。また、ロボット操作装置３から動作信号を受信すると、ロボット操作装置３の信号状態２１１（図４）を「ＯＮ」、指示内容２１３の値を「ジョグ＋Ｘ」にし、指示内容２１３（ジョグ＋Ｘ）をロボットアーム１に送信する。これによりロボットアーム１は基準部位を＋Ｘ方向にジョグ動作させる。また、指示内容２１３の送信に先立ち（あるいは同時に）、時間計測部２４に、時間の計測を行う命令を送信し、経過時間２４２の値の更新を開始させる（図１７のＳ３１１のタイマスタート）。
【０１５５】
監視者７２は、モニタ表示器７の表示などを介して上記のジョグ操作を認識することができる。例えば、図８の例では自由操作時間２４３内に監視者７２がロボット動作許可装置４で許可操作を行い、許可信号を送信している（Ｓ１１）。そしてロボット制御装置２がこの許可信号を受信し、ＣＰＵ２０１がこの許可信号の受信を「有効受信」と判定すると、ロボット動作許可装置４の信号状態２１２を「ＯＮ」に切り替える。ロボット動作許可装置信号状態２１２が「ＯＮ」に切り替わった場合、ＣＰＵ２０１は経過時間２４２の値を取得し、その値が、自由操作時間２４３内（と同じかそれより小さい値）であれば、当該のジョグ操作を連続的に許可する。例えば、ＣＰＵ２０１は、ロボット操作装置３の信号状態２１１に応じた指示内容２１３（ジョグ＋Ｘ）をロボットアーム１に送信し続ける。
【０１５６】
この場合、ロボット操作装置３のジョグボタン３１２の操作によって、ロボットアーム１のジョグ動作が継続して行われる（Ｓ１２〜）。作業者７１がジョグボタン３１２の操作を終了すると、ロボットアーム１の動作が停止する。
【０１５７】
一方、図１０では、図８と同様にジョグ操作（Ｓ１５）に応じて直ちにロボットアーム１のジョグ動作を開始させている。しかしながら、図１０の例では、ジョグボタン３１２の操作（Ｓ１５）によってロボットアーム１の動作を開始させた後、ロボット動作許可装置４の許可操作（Ｓ１６）は自由操作時間２４３より間に合っていない。この場合、経過時間２４２は自由操作時間２４３より大きい値となっており、ＣＰＵ２０１は図１７の制御により一旦開始させたロボットアーム１のジョグ動作を強制終了させる。ここでは、ロボットアーム１のサーボＯＦＦとし、結果としてロボットアーム１の動作は停止する（Ｓ１７）。また、時間計測部２４に対して計測を終了する信号を出し、経過時間２４２を０にリセットし時間の計測を終了する（図１７のＳ３１１）。
【０１５８】
以上のように、本実施例によれば、作業者７１がロボット操作装置３のロボット操作に対して、監視者７２が逐一、（有効な）許可信号送信することにより当該のロボット動作を実行させる点は上記実施例と同様である。ただし、ジョグ動作のように作業者７１の操作性や操作感覚に影響を与えるロボット操作については、監視者７２の許可操作を待たずに直ちに当該のロボット動作を開始させる。そして、自由操作時間２４３内に許可操作が行なわれれば引き続き当該のロボット動作を継続（許可）し、自由操作時間２４３内に許可操作が行なわれない（間に合わない）場合には当該のロボット動作を停止（それ以上不許可）させる。このため、ジョグ操作などに関して作業者７１がタイムラグを感じさせず、作業者７１の操作性や操作感覚を損なうことなくロボット作業を効率よく実施することができる。
【０１５９】
また、本実施例のようにサーボＯＮに係る猶予時間２４１、ジョグ操作（動作）に係る自由操作時間２４３を設定することにより、監視者７２が許可操作を可及的速やかに実行するのを促す効果がある。例えば、サーボＯＮに係る猶予時間２４１、ジョグ操作（動作）に係る自由操作時間２４３をそれぞれ１秒程度の短時間に設定しておくことにより、監視者７２の作業集中度と許可操作の迅速性を高めることができる可能性がある。例えば、監視者７２は猶予時間２４１や自由操作時間２４３に間に合うように許可操作を行うために、モニタ表示器７の表示と作業者７１および可動範囲６内の状況に集中し、迅速に許可操作に関する判断を下すようになる。
【実施例３】
【０１６０】
上記実施例２のように、例えばＲＴＣ２０９（図１４）のような時間計測部２４（図６）を設けておくことにより、以下に示すようにロボットアーム１の動力維持時間を自動的に管理することもできる。本明細書ではロボットアーム１の制御はサーボ制御系によって行われ、この動力維持時間は例えばサーボＯＮを維持するサーボＯＮ維持時間に該当する。なお、以下の説明では、サーボＯＮの管理に係る制御についてのみ示すが、ジョグ操作（動作）に関しては実施例１および２と同様の制御を行うことができる。
【０１６１】
本実施例のハードウェア的構成や、制御ステートの構成（図４）は上記の実施例２と同じでよい。また、本実施例においても、許可信号については、位置検出装置８で検出した作業者７１および監視者７２の位置関係に応じて許可信号の受信が「有効」であるか否かを判定する制御を行うことができる。
【０１６２】
本実施例のサーボＯＮ状態の管理には、図１３に示すような時間データを用いる。図１３において、猶予時間２４１、および経過時間２４２の用途は上記の実施例２と同様である。本実施例では、これらの時間データに加えてサーボＯＮ維持時間２４４を用いる。
【０１６３】
このサーボＯＮ維持時間２４４は、ロボットアーム１をサーボＯＮに移行させてから、あるいは、ロボット操作装置３によるジョグ操作が終了してから、サーボＯＮを維持する時間を設定する。本実施例では、サーボＯＮに移行させてから、あるいは、ロボット操作装置３によるジョグ操作が終了してからサーボＯＮ維持時間２４４がタイムアウトした場合は、自動的にロボットアーム１をサーボＯＮ状態からサーボＯＦＦ状態に移行させる。
【０１６４】
本実施例のサーボＯＮ状態の管理は単にサーボＯＮ維持時間２４４がタイムアウトしたらサーボＯＦＦに移行させる容易な制御であるため、特にフローチャートは用意していない。以下では、図１１および図１２の例をフローチャート的に用いて制御を説明する。
【０１６５】
図１１および図１２は、作業者７１がロボット操作装置３を用いてロボットアーム１を＋Ｘ方向に動作させる場合の制御例を示している。図１１は作業者７１がロボット操作装置３でサーボＯＮ操作（Ｓ１８）を行なったがその後、ジョグ操作も含め次の操作を何も行わなかった場合の制御を示している。また、図１２は作業者７１がロボット操作装置３のジョグ操作（Ｓ２０）を終えてから次の操作を何も行わなかった場合の制御を示している。
【０１６６】
本実施例では、定数値として猶予時間２４１には１（秒）、サーボＯＮ維持時間２４４には例えば１０（秒）が設定されているものとする。
【０１６７】
図１１の制御では、実施例２と同様の手順でロボットアーム１のサーボＯＮが実施されている（Ｓ１８）。ここでは、猶予時間２４１内に許可操作が行われ、サーボＯＮ状態が形成されている。サーボＯＮする際は、ＣＰＵ２０１がロボットアーム１に指示内容２１３（サーボＯＮ）を送信する。この時、同時に時間計測部２４に対して、サーボＯＮした後経過時間の計測を行う命令を送信する（タイマスタート）。これに応じて時間計測部２４は経過時間２４２の値を随時更新する。
【０１６８】
図１１の例では、サーボＯＮ操作の後、作業者７１は後続の操作を何も行っていない。このため、経過時間２４２の値が、サーボＯＮ維持時間２４４の値より大きくなると、ＣＰＵ２０１は自動的にロボットアーム１にサーボをＯＦＦする命令を送信し、ロボットアーム１をサーボＯＦＦ状態に移行させる（Ｓ１９）。この例のように、ロボットアーム１のサーボがＯＮになってから、ロボット操作装置３のジョグ操作をサーボＯＮ維持時間２４４を超えて行わなかった場合、ロボットアーム１をサーボＯＦＦ状態に移行させる。
【０１６９】
また、本実施例では、同様の時間管理によって、ジョグ操作の後の制御は例えば図１２のように行われる。図１２では、実施例２と同様の手順で、＋Ｘ方向にジョグ操作を行っている（Ｓ２０）。そして、ロボット操作装置３によるジョグ操作を完了するとロボットアーム１の動作もここで終了する。これに呼応して、ＣＰＵ２０１は時間計測部２４に時間計測命令を送信する（タイマスタート）。これに応じて時間計測部２４は経過時間２４２を「０」とした後、その値を随時更新する。そして経過時間２４２の値が、サーボＯＮ維持時間２４４の値より大きくなると、ＣＰＵ２０１はロボットアーム１にサーボをＯＦＦする命令を送信し、ロボットアーム１をサーボＯＦＦ状態に移行させる（Ｓ２１）。このように、ロボットアーム１のサーボがＯＮでロボット操作装置３のジョグ操作が行われた後、サーボＯＮ維持時間２４４だけ後続の操作が何も行われなかったとき、ロボットアーム１をサーボＯＦＦ状態に移行させる。
【０１７０】
以上の制御を行うことにより、一旦ロボットアーム１がサーボＯＮに制御された後、作業者の操作意志がない場合にはロボットアーム１を自動的にサーボＯＦＦ状態に移行させることができる。このようなサーボＯＮ維持時間２４４を用いた自動サーボＯＦＦ制御を行わない場合は、一旦ロボットアーム１がサーボＯＮとされるとその状態が維持されることになる。このサーボＯＮ状態でロボット操作装置３のキーボードにうっかり触れるなどした場合には、ロボットアーム１が予期しない動作を実行してしまう可能性がある。これに対して本実施例のようなサーボＯＮ維持時間２４４を用いた自動サーボＯＦＦ制御を行うことにより、ロボット操作装置３の誤操作などによって不意なロボット動作が開始されるのを防止することができる。一方で、サーボＯＮ維持時間２４４を例えば１０秒程度に設定しておくことにより、この期間であれば再度のサーボＯＮ操作を行うことなく、例えば次のジョグ操作を開始することができる。
【実施例４】
【０１７１】
以上、ロボットアーム１のサーボＯＮ／ＯＦＦ制御と、ジョグ操作（ジョグ動作）を例に、監視者７２の許可操作を条件としてこれらのロボット動作（ロボット制御）を許可（あるいは不許可／禁止）する制御の例を説明した。
【０１７２】
しかしながら、監視者７２の許可操作をロボット動作許可装置４の許可ボタン４０によって行う制御は、ロボット装置の動作について常時行われるよう制御する必要はない。例えば、第１の制御モードとして、上記の許可操作を必須条件としてロボット動作（ロボット制御）を許可／禁止する許可装置使用モードと、当該の許可操作を必要（必須条件）としない第２の制御モードを用意する。そして、第１の制御モードまたは第２の制御モードを以下のようにして選択することができる。なお、以下では煩雑さを避けるため、上記の第１の制御モードまたは第２の制御モードのいずれを選択するかは、第１の制御モードは許可装置使用モードのＯＮ状態、第２の制御モードは許可装置使用モードのＯＦＦ状態に対応づけるものとする。
【０１７３】
許可装置使用モードについて考えられる構成の１つは、例えば、許可装置使用モードを上記のロボット操作装置３からの手動操作に応じてＯＮ／ＯＦＦする構成である。このように手動操作により任意にＯＮ／ＯＦＦ可能な許可装置使用モードを用意しておけば、ロボット装置をより柔軟に運用することができる。例えば作業者７１がどうしても１人で教示作業を実施しなければならないような状況が生じたりしても、許可装置使用モードをＯＦＦすることで対応が可能になる。
【０１７４】
また、上記各実施例において、ジョグ操作（ジョグ動作）を例示しているのは、このロボット操作（動作）では、ジョグボタン（３１１）の連続押しによって、その連続操作中、継続（連続）的にロボットアーム１の動作が生じるからである。このようなロボット操作（動作）では、簡単な操作によりロボットアーム１に大きな運動（移動量）が生じることがあり、特に作業者７１ないし関係者の充分な保護状態が確保できなければならない。従って、上述のように監視者７２の（有効な）許可操作を条件としてジョグ操作に応じたジョグ動作を許可ないし禁止する制御を行うことによって作業者７１ないし関係者の保護状態を充分に確保することができる。
【０１７５】
一方で、ロボット操作装置３では、ジョグ操作のみならずステップ操作（あるいはインチング）のような操作モードが用意され、ボタンを連続操作するジョグ操作モードと切り換え可能に構成される場合がある。このステップ操作（あるいはインチング）モードでは、例えばロボット操作装置３のジョグボタン３１２の１押しで予め定められた微少量だけロボットアーム１を対応する方向に動作させるような制御が行われる。このようなステップ操作（あるいはインチング）モードは、例えばロボットアーム１の教示作業中、アームが初期の目標位置に近付いた時の微調整時などに利用されることがある。
【０１７６】
しかしながら、ロボット操作装置３が上記のステップ操作（インチング）モード設定されている場合は、上記各実施例に示したような監視者７２の許可操作を条件としてロボット動作（ロボット制御）を許可／禁止する制御は必ずしも適していない。例えばロボット操作装置３のステップ操作ごとに、アームを数ｍｍないし数ｃｍ程度ステップ送りするような状況では、そのようなステップ操作ごとに監視者７２の許可操作を必須とする制御では作業性が著しく低下する可能性がある。
【０１７７】
そこで、上記のように許可装置使用モードを用意する構成では、同モードは手動操作によってＯＮ／ＯＦＦするだけではなく、ロボット操作装置３の操作モードによって、自動的にＯＮ／ＯＦＦするよう制御してもよい。ロボット操作装置３の操作モードが例えば上記のジョグ操作ないしステップ操作（インチング）モードのいずれであるかに応じて、自動的にＯＮ／ＯＦＦする。例えば、許可装置使用モードがジョグ操作モードのみで有効となり、ステップ操作（インチング）モードでは無効とするような制御を行うのである。即ち、ロボット装置の制御モード、例えばロボット操作装置３の操作モードに応じて許可装置使用モードを自動的にＯＮ／ＯＦＦする。このような制御によれば、手動操作を行わなくても必要なロボット装置の制御モードにおいて、許可装置使用モードを自動的に有効にでき、操作性を大きく向上することができる。
【０１７８】
図１９は、上記のように許可装置使用モードを使用するか否かを決定するための制御手順の一例を示している。この場合のハードウェア構成などについては、上記の各実施例と同様のものを用いることができ、図１９の制御手順は上述と同様にＣＰＵ２０１の制御プログラムとして用意しておくことができる。
【０１７９】
図１９のステップＳ５１１は、ＣＰＵ２０１が上述の許可装置使用モードを使用するか否かを判定する処理を示している。このステップＳ５１１の判定は、例えば上記のように手動操作によって許可装置使用モードをＯＮ／ＯＦＦする操作が行われたか否かの判定であってよい。また、このステップＳ５１１の判定は、例えば上記のようにロボット操作装置３の操作モードが、許可装置使用モードを有効ないし無効にすべきモードのいずれであるか、の判定であってもよい。この場合、許可装置使用モードを有効にするモードとしては、例えば上記のようにジョグ操作モードが、また、同モードを無効にすべきモードとしてはステップ操作（インチング）モードが考えられる。
【０１８０】
ステップＳ５１１において、ＣＰＵ２０１は上記のような判定処理を行い、許可装置使用モードを有効とする場合にはステップＳ５１２においてロボット動作許可装置４（ないし同装置を用いる許可装置使用モード）をイネーブルする。また、許可装置使用モードを無効とする場合にはステップＳ５１３においてロボット動作許可装置４（ないし同装置を用いる許可装置使用モード）をディスエーブルする。
【０１８１】
以上のような制御を行うことによって、手動の設定操作に応じて、あるいはロボット装置の動作モードに応じて、許可装置使用モードをＯＮ／ＯＦＦすることができ、ロボット操作（動作）に必要に応じて監視者７２の監視／許可操作を介在させることができる。このため、ロボット装置の作業性を損うことなく、また必要に応じて監視者７２の監視／許可操作を介在させ、特に作業者や関係者の保護状態を良好に確保することができる。
【０１８２】
なお、上記の許可装置（ロボット動作許可装置４）使用モードを利用するか否かを選択可能な構成の類型として、許可信号の「有効受信」事象（判定）の生成に作業者７１および監視者７２の位置関係を条件とするか否かをモード設定することも考えられる。
【０１８３】
ここでは、便宜上、このモード設定は位置条件判定モード、と呼ぶ。即ち、位置条件判定モードがＯＮであれば、位置検出装置８と条件記憶部４３を用いて許可信号の「有効受信」事象の生成に、作業者７１および監視者７２の特定の位置関係を条件とする制御をＣＰＵ２０１に行わせる。また、位置条件判定モードがＯＦＦであれば、ＣＰＵ２０１は位置検出装置８と条件記憶部４３を用いた制御を行わない。ロボット動作許可装置４で許可ボタン４０が操作された場合、ＣＰＵ２０１は、例えば、作業者７１および監視者７２の位置関係に拘らず、許可信号の「有効受信」事象を生成する。
【０１８４】
当然ながら、この位置条件判定モードの設定は、上述の許可装置使用モードがＯＮの場合のみ有効なものとして取り扱う。位置条件判定モードを制御するには、図１９と同等の制御手順を用いることができる。即ち、ＣＰＵ２０１に特定の操作に応じて（Ｓ５１１）、位置条件判定モードをイネーブル（Ｓ５１２）または、ディスエーブル（Ｓ５１３）する制御を行わせればよい。
【０１８５】
また、図２４の制御においては、例えばステップＳ６１３において、上記のようにして設定される位置条件判定モードの状態を参照すればよい。例えばステップＳ６１３において、位置条件判定モードがＯＮであれば、実施例１で説明した通りの制御を行う。また、位置条件判定モードがＯＦＦであれば作業者７１と監視者７２の位置条件に拘らずステップＳ６１３からステップＳ６１４に移行して許可信号の「有効受信」事象を生成すればよい。
【実施例５】
【０１８６】
以上の各実施例においては、例えば図３や図６のように、位置検出装置８をロボット制御装置２（のインターフェース２１）に接続し、また、条件記憶部４３がロボット制御装置２がブロック内に設けられているものとして図示した。
【０１８７】
しかしながら、図２１に示すように、位置検出装置８はロボット動作許可装置４（のインターフェース４２）に接続し、また、条件記憶部４３をロボット動作許可装置４内に配置する構成としてもよい。
【０１８８】
以下、図２１の機能構成を参照して本実施例の構成およびロボット制御につき説明する。なお、本実施例において、図２１に示した構成以外については上述の各実施例で示した構成が通用するものとする。
【０１８９】
図２１では、監視コンソール、監視ターミナルなどに相当するロボット動作許可装置４の構成を図３や図６より詳細に示してある。ロボット動作許可装置４は、ロボット制御装置２とともに、前述同様に本ロボットシステムの制御装置２０を構成する。
【０１９０】
ロボット動作許可装置４のインターフェース４２には、上述と同様の位置検出装置８が接続されている。また、上述と同様に構成された許可ボタン４０およびモニタ表示器７はこのインターフェース４２を介して接続されている。また、ロボット制御装置２０とロボット動作許可装置４の通信もインターフェース４２を介して行われる。
【０１９１】
ロボット動作許可装置４の主要な制御部は送信制御部４４であって、この送信制御部４４には上述と同様の構成を有する条件記憶部４３が接続されている。送信制御部４４は、ロボット制御装置２の制御部２２と同様に、例えば図１４に示したようなＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３…を中心とする制御系によって構成することができる。
【０１９２】
一方、ロボット操作装置３は、前述の各実施例と同様に作業者７１（第１の操作者）の操作に従ってロボットアーム１の動作を指示する動作信号を送信する第１の操作部を構成する。作業者７１のロボット操作装置３の操作の状態は、インターフェース４２を介して送信制御部４４に通知され、送信制御部４４は通知されたロボット操作装置３の操作の状態をモニタ表示器７に表示させる。
【０１９３】
前述の実施例と同様に、監視者７２は、モニタ表示器７の表示によって、ロボット操作装置３から動作信号が送信されていることを認識する。そして、前述同様に、可動範囲６内を監視した上、許可ボタン４０の許可操作を行う。
【０１９４】
前述の各実施例では、許可ボタン４０およびロボット動作許可装置４が監視者７２（第２の操作者）の操作に従ってロボットアーム１の動作を許可する許可信号を送信する第２の操作部を構成していた。また、前述の各実施例では、ロボットシステムの制御装置２０は、許可信号の有効受信を判定する制御部を含み、より詳細にはこの許可信号の有効受信を判定する制御部はロボット制御装置の制御部２２によって構成されていた。前述の各実施例では、制御部２２は、許可信号を受信した場合、位置検出装置８で検出した作業者７１（第１の操作者）および監視者７２（第２の操作者）の位置関係に基づき、条件記憶部４３の制御情報を参照する。そして、制御部２２は、作業者７１（第１の操作者）および監視者７２（第２の操作者）の位置関係が条件記憶部４３に格納されているロボットアームの動作を許可する制御情報に該当する場合に、許可信号の有効受信と判定する。
【０１９５】
これに対して、本実施例の場合は、許可ボタン４０（のみ）が、監視者７２（第２の操作者）の操作に従ってロボットアーム１の動作を許可する許可信号を送信する第２の操作部を構成する。
【０１９６】
また、本実施例においても、ロボットシステムの制御装置２０は、許可信号の有効受信を判定する制御部を含むが、より詳細にはこの許可信号の有効受信を判定する制御部はロボット動作許可装置４の送信制御部４４によって構成されている。
【０１９７】
そして、本実施例では、送信制御部４４は、許可ボタン４０から許可信号を受信した場合、位置検出装置８で検出した作業者７１（第１の操作者）および監視者７２（第２の操作者）の位置関係に基づき、条件記憶部４３の制御情報を参照する。そして、送信制御部４４は、作業者７１（第１の操作者）および監視者７２（第２の操作者）の位置関係が条件記憶部４３に格納されているロボットアームの動作を許可する制御情報に該当する場合に、許可信号の有効受信と判定する。
【０１９８】
このように、許可信号の有効受信を判定する（送信）制御部（４４）は、監視コンソール、監視ターミナルなどに相当するロボット動作許可装置４の側に配置できる。許可ボタン４０は、ロボットアーム１の動作を許可する許可信号を送信するための第２の操作部として機能することになる。
【０１９９】
そして、本実施例では、ロボット動作許可装置４には、前述の許可信号送信部４１に相当する構成として有効許可信号送信部４１ａが設けられている。本実施例では、許可ボタン４０（第２の操作部）が操作された時、ロボット動作許可装置４側で許可信号の有効受信を判定し、許可信号の「有効受信」事象が生成された時（のみ）許可信号をロボット制御装置２０に送信する。
【０２００】
本実施例（図２１）の構成においても、許可ボタン４０（第２の操作部）に関するロボット動作許可装置４の送信制御部４４の制御は、例えば図２４に示した制御手順により実現できる。また、条件記憶部４３の制御情報の構成は、図２３（ａ）、（ｂ）に示した前述の構成と同じでよい。
【０２０１】
例えば実施例１と同様に許可ボタン４０（第２の操作部）が操作された時（図２４のＳ６１１）、ロボット動作許可装置４の送信制御部４４は、位置検出装置８で検出した作業者７１と監視者７２の位置から条件記憶部４３を参照する。そして、作業者７１と監視者７２の位置関係と制御情報の関係を検出する（Ｓ６１２）。ここで、条件記憶部４３の参照の結果、作業者７１と監視者７２の位置関係が、可動範囲６内の状況が充分に確認できる位置関係である場合に限り、許可ボタン４０（第２の操作部）からの許可信号の「有効受信」事象が生成される（Ｓ６１３〜Ｓ６１４）。また、条件記憶部４３の参照の結果、作業者７１と監視者７２の位置関係が適切でなければ、上述の各種通知手段を用いてエラー処理（Ｓ６１５）を行う。
【０２０２】
以上のようにして、本実施例においても、ロボット動作許可装置４からロボット制御装置２０に（有効）許可信号が送信され、作業者７１がロボット操作装置３を操作して送信した動作信号に対応したロボット動作を許可することができる。即ち、本実施例においても、前述同様に、監視者７２の監視条件を適切にコントロールすることができ、作業者７１は監視者７２の適切な監視の下、確実にロボット操作を行うことができる。
【０２０３】
（変形例など）
以上の実施例によって示した種々の構成は、相互に矛盾しない限り任意の組合せで実施することができる。
【０２０４】
本発明は、上述の実施例の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０２０５】
１…ロボット、２…ロボット制御装置、３…ロボット操作装置、４…ロボット動作許可装置、５…非常停止スイッチ、６…可動範囲、１１…ロボット駆動部、２１…信号記憶部、２２…監視制御部、２４…時間計測部、３１…動作信号送信部、４０…許可ボタン、４１…許可信号送信部、５１…停止信号送信部、７１…作業者、７２…監視者、２１１…ロボット操作装置信号状態、２１２…ロボット動作許可装置信号状態、２１３…指示内容、２１４…サーボ状態、２４１…猶予時間、２４２…経過時間、２４３…サーボＯＮ維持時間、３１１…サーボボタン、３１２…ジョグボタン。
【図１】
2016215303.tif 000003
【図２】
2016215303.tif 000004
【図３】
2016215303.tif 000005
【図４】
2016215303.tif 000006
【図５】
2016215303.tif 000007
【図６】
2016215303.tif 000008
【図７】
2016215303.tif 000009
【図８】
2016215303.tif 000010
【図９】
2016215303.tif 000011
【図１０】
2016215303.tif 000012
【図１１】
2016215303.tif 000013
【図１２】
2016215303.tif 000014
【図１３】
2016215303.tif 000015
【図１４】
2016215303.tif 000016
【図１５】
2016215303.tif 000017
【図１６】
2016215303.tif 000018
【図１７】
2016215303.tif 000019
【図１８】
2016215303.tif 000020
【図１９】
2016215303.tif 000021
【図２０】
2016215303.tif 000022
【図２１】
2016215303.tif 000023
【図２２】
2016215303.tif 000024
【図２３】
2016215303.tif 000025
【図２４】
2016215303.tif 000026