以下、本発明の複数の実施形態について説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
(第1実施形態)
本発明の第1実施形態について図1〜図15を参照しながら説明する。
図1及び図2は、第1実施形態によるロボットシステムの一例を示している。図1に示すように、ロボットシステム10は、ロボット21と、ロボットコントローラ22と、ロボットの安全装置30と、を備えている。ロボット21は、例えば一般的な多軸駆動型のロボットである。ロボットコントローラ22は、ロボット21の駆動を制御するものであり、通信ケーブルを介してロボット21に接続されている。ロボットコントローラ22は、例えばロボットコントローラ22内に予め記憶されている自動プログラムを起動することにより、ロボット21を自動動作させる制御を行う。ロボットコントローラ22は、ロボット21の種類や設置環境等に応じて、ロボット21の最大速度を定義することができる。この場合、ロボット21の最大速度とは、ロボットコントローラ22の処理によってロボット21が出すことができる最大の速度である。
ロボットの安全装置30は、検知装置40と、安全制御装置50と、を有している。検知装置40と安全制御装置50とは、通信ケーブルによって接続されている。安全制御装置50は、ロボットコントローラ22に内蔵されている。安全制御装置50は、検知装置40の検出結果に基づいて、ロボット21の最大速度を制限するものである。この場合、ロボットコントローラ22で定義されているロボット21の最大速度は、検知装置40の検出結果に基づき、安全制御装置50によって更新される。
検知装置40は、例えばレーザスキャナと称される光学的距離測定装置であり、検索領域内における対象物の存在を検知するエリアセンサとして機能する。検知装置40は、図1に示すように、例えば自己の設置位置を基準点Oとし、その基準点Oを基準にして大きさの異なる複数の検索領域60を設定可能である。検知装置40は、レーザ光を照射し、対象物90に反射された反射光を検出することで、検索領域60内に存在する作業者等の対象物90を検知することができる。すなわち、検索領域60は、検知装置40が対象物90の存在を検知するように設定された仮想的な領域である。
次に、検知装置40及び安全制御装置50の電気的構成について、図2を参照して説明する。まず、検知装置40の電気的構成について説明する。検知装置40は、照射部41と、受光部42と、を有している。照射部41は、レーザ光を照射する。受光部42は、照射部41から照射され対象物90で反射されたレーザ光を受光する。また、検知装置40は、制御部43と、距離測定処理部44と、検索領域設定処理部45と、切替処理部46と、検知信号生成処理部47と、検知信号出力部48と、切替信号入力部49と、を有している。
制御部43は、例えばCPUや、ROM、RAM、及び書き換え可能なフラッシュメモリ等の記憶媒体を有するマイクロコンピュータを主体に構成されており、検知装置40の全体を制御する。制御部43は、ROMに記憶されているコンピュータプログラムをCPUで実行することにより、距離測定処理部44、検索領域設定処理部45、切替処理部46、及び検知信号生成処理部47等を、ソフトウェアによって仮想的に実現する。なお、距離測定処理部44、検索領域設定処理部45、切替処理部46、及び検知信号生成処理部47は、例えば制御部43と一体又は別体の集積回路としてハードウェア的に実現してもよい。
距離測定処理部44は、距離測定処理を行うことができる。距離測定処理は、照射部41から照射されて対象物90で反射されたレーザ光が受光部42で検出されるまでの時間に基づいて、基準点Oから対象物90までの距離を測定する処理である。この場合、対象物90がレーザ光の届く範囲内に存在していれば、距離測定処理部44は、対象物90が検索領域60内にあるか否かに関わらず、基準点Oから対象物90までの距離を計測することができる。そして、制御部43は、距離測定処理部44が、基準点Oから対象物90までの距離を計測した場合、その距離値を制御部43内のRAMに記憶させる。
検索領域設定処理部45は、検索領域設定処理を行うことができる。検索領域設定処理は、基準点Oを基準にして、大きさや形状が異なる複数の検索領域60を設定する処理である。この場合、検索領域設定処理は、任意の2つの検索領域60のうち大きい方の検索領域が小さい方の検索領域を全て含むように、検索領域60を設定する処理を含んでいる。ユーザは、検索領域設定処理部45の作用により、検索領域60の大きさや形状、数を任意に設定することができる。本実施形態の場合、検索領域60は、図1に示すように、例えば扇状に形成されて大きさが段階的に異なる4つの検索領域61〜64に設定されている。なお、以下の説明において、複数の検索領域61〜64のうちいずれか1つを特定せずに任意の検索領域を示す場合には、単に検索領域60と称する。
各検索領域61〜64のうち最も小さい検索領域を第1検索領域61とする。つまり、第1検索領域61は、各検索領域61〜64の中で最も小さい最小検索領域である。また、各検索領域61〜64のうち最も大きい検索領域を第4検索領域64とする。つまり、第4検索領域64は、各検索領域61〜64の中で最も大きい最大検索領域である。そして、第1検索領域61よりも大きく、かつ、第4検索領域64よりも小さい検索領域を、小さいものから順に第2検索領域62、第3検索領域63とする。
この場合、第4検索領域64は、第4検索領域64よりも小さい他の検索領域61〜63を全て含んでいる。第3検索領域63は、第3検索領域63よりも小さい他の検索領域61、62を全て含んでいる。そして、第2検索領域62は、第2検索領域62よりも小さい他の検索領域61を全て含んでいる。また、例えば図3に示すように、第1検索領域61の半径を第1距離L1とし、第2検索領域62の半径を第2距離L2とする。そして、第3検索領域63の半径を第3距離L3とし、第4検索領域64の半径を第4距離L4とする。
図2に示す切替処理部46は、切替処理を行うことができる。切替処理は、安全制御装置50から送信される切替信号に基づいて、検索領域61〜64を択一的に切り替える処理である。安全制御装置50から送信される切替信号は、切替信号入力部49に入力される。本実施形態の場合、図13に示すように、切替信号は「ch(N)」で示されている。この場合、Nは、1〜4の整数であり、第1検索領域61〜第4検索領域64に対応している。すなわち、ch(1)は第1検索領域61の切替信号を示し、ch(2)は第2検索領域62の切替信号を示し、ch(3)は第3検索領域63の切替信号を示し、ch(4)は第4検索領域64の切替信号を示している。なお、本実施形態では、第1検索領域61の切替信号を第1切替信号ch(1)と称し、第2検索領域62の切替信号を第2切替信号ch(2)と称し、第3検索領域63の切替信号を第3切替信号ch(3)と称し、第4検索領域64の切替信号を第4切替信号ch(4)と称する。
各切替信号ch(N)は、「ON」又は「OFF」のいずれか一方の値を取る。この場合、各切替信号ch(1)〜ch(4)の中で、「ON」の値は1つのみとする。例えば、第1切替信号ch(1)が「ON」である場合、他の切替信号ch(2)〜ch(4)は「OFF」となる。この場合、検知装置40は、第1検索領域61内において、対象物90を検索する。第2切替信号ch(2)が「ON」である場合、他の切替信号ch(1)、ch(3)、ch(4)は「OFF」となる。この場合、検知装置40は、第2検索領域62内において、対象物90を検索する。
また、第3切替信号ch(3)が「ON」である場合、他の切替信号ch(1)、ch(2)、ch(4)は「OFF」となる。この場合、検知装置40は、第3検索領域63内において、対象物90を検索する。そして、第4切替信号ch(4)が「ON」である場合、他の切替信号ch(1)〜ch(3)は「OFF」となる。この場合、検知装置40は、第4検索領域64内において、対象物90を検索する。
検知信号生成処理部47は、検知信号を生成する検知信号生成処理を行うことができる。検知信号は、検索領域61〜64のうち切替信号ch(N)が「ON」となっている検索領域60内に、対象物90が存在しているか否かを示す信号である。切替信号ch(N)が「ON」となっている検索領域60(以下、現在の検索領域60と称する)の内側に対象物90が検知された場合、検知信号は検知状態を示す。一方、現在の検索領域60の内側に対象物90が検知されない場合、検知信号は非検知状態を示す。検知信号は、図13に示すように、「有」又は「無」のうちいずれか一方の値を取る。この場合、検知信号が「有」であれば、検知状態を示し、検知信号が「無」であれば、非検知状態を示している。
図2に示すように、検知信号出力部48及び切替信号入力部49は、検知装置40の外部の機器この場合安全制御装置50と接続されて信号の送受信を行うための入出力部、いわゆるI/Oである。検知信号出力部48は、検知信号生成処理部47で生成された検知信号を、安全制御装置50に対して出力する。切替信号入力部49は、安全制御装置50から出力された切替信号ch(N)を受け付ける。
次に、安全制御装置50の電気的構成について説明する。安全制御装置50は、制御部51と、距離推定処理部52と、制限信号生成処理部53と、切替信号生成処理部54と、を有している。制御部51は、例えばCPUや、ROM、RAM、及び書き換え可能なフラッシュメモリ等の記憶媒体を有するマイクロコンピュータを主体に構成されており、安全制御装置50の全体を制御する。制御部51は、ROMに記憶されているコンピュータプログラムをCPUで実行することにより、距離推定処理部52、制限信号生成処理部53、及び切替信号生成処理部54等を、ソフトウェアによって仮想的に実現する。なお、これら距離推定処理部52、制限信号生成処理部53、及び切替信号生成処理部54等は、例えば制御部51と一体又は別体の集積回路としてハードウェア的に実現してもよい。
距離推定処理部52は、距離推定処理を行うことができる。距離推定処理は、隣接する2つの検索領域60についての検知信号を比較し、その2つの検知信号の組み合わせに応じて、基準点Oから対象物90までの距離すなわち対象物90の位置を推定する処理である。具体的には、距離推定処理部52は、隣接する2つの検索領域60のうち大きい方の検索領域60についての検知信号が検知状態つまり「有」であり、かつ、小さい方の検索領域60についての検知信号が非検知状態つまり「無」である場合に、大きい方の検索領域60の内側でかつ小さい方の検索領域60の外側に対象物90が存在していると判断して、対象物90の位置を推定する。
例えば図3に示すように、対象物90が第4検索領域64の外側に位置している場合について見る。この場合、切替信号ch(1)〜ch(4)のいずれが「ON」になっても、検知信号は「無」を示す。つまり、切替信号ch(4)が「ON」のときに検知信号が「無」を示した場合には、最大検索領域64の内側に対象物90が存在していないことがわかる。したがって、切替信号ch(4)が「ON」のときの検知信号が「無」つまり非検知状態であれば、距離推定処理部52は、最大検索領域64の内側に対象物90が存在していないと判断する。そしてこの場合、距離推定処理部52は、基準点Oから対象物90までの距離を、第4距離L4より大きい値であると推定する。
また、例えば図4に示すように、対象物90が第4検索領域64の内側でかつ第3検索領域63の外側に位置している場合について見る。この場合、切替信号ch(4)が「ON」のときには、検知信号は「有」を示す。一方、切替信号ch(1)〜ch(3)のいずれかがが「ON」のときには、検知信号は「無」を示す。つまり、切替信号ch(3)が「ON」のときに検知信号が「無」を示した場合には、第3検索領域63の内側に対象物90が存在していないことがわかる。
したがって、切替信号ch(4)が「ON」のときの検知信号が「有」つまり検知状態であり、かつ、切替信号ch(3)が「ON」のときの検知信号が「無」つまり非検知状態であれば、距離推定処理部52は、第4検索領域64の内側でかつ第3検索領域63の外側に対象物90が存在していると判断する。そしてこの場合、距離推定処理部52は、基準点Oから対象物90までの距離を、第3距離L3よりも大きくかつ第4距離L4以下の値であると推定する。
同様に、例えば図5に示すように、対象物90が第3検索領域63の内側でかつ第2検索領域62の外側に位置している場合について見る。この場合、切替信号ch(3)、ch(4)のいずれかが「ON」のときには、検知信号は「有」を示す。つまり、切替信号ch(3)が「ON」のときに検知信号が「有」を示した場合には、第3検索領域63の内側に対象物90が存在していることがわかる。一方、切替信号ch(1)、ch(2)のいずれかがが「ON」のときには、検知信号は「無」を示す。つまり、切替信号ch(2)が「ON」のときに検知信号が「無」を示した場合には、第2検索領域62の内側に対象物90が存在していないことがわかる。
したがって、切替信号ch(3)が「ON」のときの検知信号が「有」つまり検知状態であり、かつ、切替信号ch(2)が「ON」のときの検知信号が「無」つまり非検知状態であれば、距離推定処理部52は、第3検索領域63の内側でかつ第2検索領域62の外側に対象物90が位置していると判断する。そしてこの場合、距離推定処理部52は、基準点Oから対象物90までの距離を、第2距離L2よりも大きくかつ第3距離L3以下の値であると推定する。
同様に、例えば図6に示すように、対象物90が第2検索領域62の内側でかつ第1検索領域61の外側に位置している場合について見る。この場合、切替信号ch(2)〜ch(4)のいずれかが「ON」のときには、検知信号は「有」を示す。つまり、切替信号ch(2)が「ON」のときに検知信号が「有」を示した場合には、第2検索領域62の内側に対象物90が存在していることがわかる。一方、切替信号ch(1)が「ON」のときには、検知信号は「無」を示す。つまり、切替信号ch(1)が「ON」のときに検知信号が「無」を示した場合には、第1検索領域61の内側に対象物90が存在していないことがわかる。
したがって、切替信号ch(2)が「ON」のときの検知信号が「有」つまり検知状態であり、かつ、切替信号ch(1)が「ON」のときの検知信号が「無」つまり非検知状態であれば、距離推定処理部52は、第2検索領域62の内側でかつ第1検索領域61の外側に対象物90が位置していると判断する。そしてこの場合、距離推定処理部52は、基準点Oから対象物90までの距離を、第1距離L1よりも大きくかつ第2距離L2以下の値であると推定する。
そして、例えば図7に示すように、対象物90が第1検索領域61の内側に位置している場合について見る。この場合、切替信号ch(1)〜ch(4)のいずれが「ON」になっても、検知信号は「有」を示す。つまり、切替信号ch(1)が「ON」のときに検知信号が「有」を示した場合には、第1検索領域61の内側に対象物90が存在していることがわかる。したがって、切替信号ch(1)が「ON」のときの検知信号が「有」つまり検知状態であれば、距離推定処理部52は、第1検索領域61つまり最小検索領域61内に対象物90が位置していると判断する。そしてこの場合、距離推定処理部52は、基準点Oから対象物90までの距離を、第1距離L1以下の値であると推定する。
図2に示す制限信号生成処理部53は、制限信号生成処理を行うことができる。制限信号生成処理は、距離推定処理部52で推定された対象物90の推定位置、すなわち基準点Oから対象物90までの推定距離Lに応じて、ロボット21の最大速度を制限する制限信号を生成する処理である。本実施形態では、対象物90が最大検索領域64内に存在していない場合の最大速度を100%とする。そして、制限信号生成処理部53は、対象物90が基準点Oつまりロボット21に近づくほど、ロボット21の最大速度を減少させるような制限信号を生成する。なお、推定距離Lに応じて設定されるロボット21の最大速度は、ロボット21の種類や設置環境等によって決定される値であり、本実施形態のものに限られない。
例えば図3に示すように、最大検索領域64の内側に対象物90が存在していない場合、距離推定処理部52は、基準点Oから対象物90までの距離Lを、第4距離L4より大きい値であると推定する。この場合、制限信号生成処理部53は、図12に示すように、ロボット21の最大速度を100%にするための制限信号を生成する。つまりこの場合、ロボット21の最大速度は制限されない。
また、例えば図4に示すように、第4検索領域64の内側でかつ第3検索領域63の外側に対象物90が存在している場合、距離推定処理部52は、基準点Oから対象物90までの距離Lを、第3距離L3よりも大きくかつ第4距離L4以下の値であると推定する。この場合、制限信号生成処理部53は、図12に示すように、ロボット21の最大速度を60%にするための制限信号を生成する。したがって、第4検索領域64の内側でかつ第3検索領域63の外側に対象物90が存在している場合、ロボット21の最大速度は60%に制限される。
同様に、例えば図5に示すように、第3検索領域63の内側でかつ第2検索領域62の外側に対象物90が存在している場合、距離推定処理部52は、基準点Oから対象物90までの距離Lを、第2距離L2よりも大きくかつ第3距離L3以下の値であると推定する。この場合、制限信号生成処理部53は、図12に示すように、ロボット21の最大速度を40%にするための制限信号を生成する。したがって、第3検索領域63の内側でかつ第2検索領域62の外側に対象物90が存在している場合、ロボット21の最大速度は40%に制限される。
同様に、例えば図6に示すように、第2検索領域62の内側でかつ第1検索領域61の外側に対象物90が存在している場合、距離推定処理部52は、基準点Oから対象物90までの距離Lを、第1距離L1よりも大きくかつ第2距離L2以下の値であると推定する。この場合、制限信号生成処理部53は、図12に示すように、ロボット21の最大速度を20%にするための制限信号を生成する。したがって、第2検索領域62の内側でかつ第1検索領域61の外側に対象物90が存在している場合、ロボット21の最大速度は20%に制限される。
そして、例えば図7に示すように、第1検索領域61の内側に対象物90が存在している場合、距離推定処理部52は、基準点Oから対象物90までの距離Lを、第1距離L1以下の値であると推定する。この場合、制限信号生成処理部53は、図12に示すように、ロボット21の最大速度を0%にするための制限信号を生成する。したがって、第1検索領域61の内側に対象物90が存在している場合、ロボット21は停止状態となり、ロボット21の動作が禁止される。
図2に示す切替信号生成処理部54は、切替信号生成処理を行うことができる。切替信号生成処理は、検知装置40による検索領域60を切り替えるための切替信号ch(N)を生成する処理である。すなわち、切替信号生成処理部54は、各検索領域61〜64に対応した各切替信号ch(N)についてのON又はOFFを決定する。
本実施形態において、切替信号生成処理部54は、検知信号入力部56に入力された検知信号が検知状態つまり「有」であった場合で、かつ現在の検索領域60が最小検索領域61以外つまり第2検索領域62、第3検索領域63、又は第4検索領域64のいずれかである場合には、検索領域60を現在の検索領域60に隣接しかつ現在の検索領域60よりも小さい検索領域60に切り替えるための切替信号を生成する処理を行う。この処理により、例えば図3〜図7の順で示すように対象物90が基準点Oに接近する場合に、検索領域60は、対象物90の移動に追従するように、第4検索領域64から第1検索領域61の順に基準点Oに向かって縮むように小さくなる。
具体的には、例えば図3に示すように、最大検索領域64内に対象物90が存在していない場合、図13の期間A1で示すように、第4切替信号ch(4)のON状態が維持されることで、現在の検索領域60が第4検索領域64に維持されている。このとき、図4に示すように対象物90が第4検索領域64の内側に侵入すると、図13の期間A2の初期に示すように、検知信号入力部56に入力される検知信号が検知状態つまり「有」になる。ここで、第4検索領域64は、最小検索領域61以外の検索領域に該当する。したがって、切替信号生成処理部54は、現在の検索領域である第4検索領域64に隣接し、かつ第4検索領域64よりも小さい第3検索領域63に切り替えるための切替信号を生成する。つまり、図13の期間A2に示すように、第4切替信号ch(4)がONのときに検知信号が検知状態を示した場合、切替信号生成処理部54は、第4切替信号ch(4)をOFFにするとともに第3切替信号ch(3)をONにする。
第3切替信号ch(3)がONになると、現在の検索領域60は、第3検索領域63に切り替わる。このとき、図5に示すように対象物90が第3検索領域63の内側に侵入すると、図13の期間A3の初期に示すように、検知信号入力部56に入力される検知信号が検知状態つまり「有」になる。ここで、第3検索領域63は、最小検索領域61以外の検索領域に該当する。したがって、切替信号生成処理部54は、現在の検索領域である第3検索領域63に隣接し、かつ第3検索領域63よりも小さい第4検索領域64に切り替えるための切替信号を生成する。つまり、図13の期間A3に示すように、第3切替信号ch(3)がONのときに検知信号が検知状態を示した場合、切替信号生成処理部54は、第3切替信号ch(3)をOFFにするとともに第2切替信号ch(2)をONにする。
第2切替信号ch(2)がONになると、現在の検索領域60は、第2検索領域62に切り替わる。このとき、図6に示すように対象物90が第2検索領域62の内側に侵入すると、図13の期間A4の初期に示すように、検知信号入力部56に入力される検知信号が検知状態つまり「有」になる。ここで、第2検索領域62は、最小検索領域61以外の検索領域に該当する。したがって、切替信号生成処理部54は、現在の検索領域である第2検索領域62に隣接し、かつ第2検索領域62よりも小さい第1検索領域61に切り替えるための切替信号を生成する。つまり、図13の期間A4に示すように、第2切替信号ch(2)がONのときに検知信号が検知状態を示した場合、切替信号生成処理部54は、第2切替信号ch(2)をOFFにするとともに第1切替信号ch(1)をONにする。
そして、第1切替信号ch(1)がONになると、現在の検索領域60は、第1検索領域61に切り替わる。このとき、図7に示すように対象物90が第1検索領域61の内側に侵入すると、図13の期間A5の初期に示すように、検知信号入力部56に入力される検知信号が検知状態つまり「有」になる。ここで、第1検索領域61は、最小検索領域61に該当する。この場合、切替信号生成処理部54は、図13の期間A5で示すように、検知信号が非検知状態になるまで、第1切替信号ch(1)をONの状態に維持、つまり第1検索領域61内における検索を維持する。
また、本実施形態において、切替信号生成処理部54は、検知信号入力部56に入力された検知信号が非検知状態つまり「無」であった場合で、かつ現在の検索領域60が最大検索領域64以外つまり第1検索領域61、第2検索領域62、又は第3検索領域63のいずれかである場合には、検索領域60を現在の検索領域60に隣接しかつ現在の検索領域60よりも大きい検索領域60に切り替えるための切替信号を生成する処理を行う。この処理により、例えば図8〜図11の順で示すように対象物90が基準点Oから遠ざかる場合に、検索領域60は、対象物90の移動に追従するように、第1検索領域61から第4検索領域64の順に基準点Oとは反対方向へ向かって広がるように大きくなる。
具体的には、例えば図7に示すように、最小検索領域61内に対象物90が存在している場合、図13の期間A5に示すように、第1切替信号ch(1)のON状態が維持されて、現在の検索領域60が第1検索領域61に維持されている。このとき、図8に示すように対象物90が第1検索領域61の外側へ出ると、図13の期間B1の初期に示すように、検知信号入力部56に入力される検知信号が非検知状態つまり「無」になる。ここで、第1検索領域61は、最大検索領域64以外の検索領域に該当する。したがって、切替信号生成処理部54は、現在の検索領域である第1検索領域61に隣接し、かつ第1検索領域61よりも大きい第2検索領域62に切り替えるための切替信号を生成する。つまり、図13の期間B1に示すように、第1切替信号ch(1)がONのときに検知信号が非検知状態を示した場合、切替信号生成処理部54は、第1切替信号ch(1)をOFFにするとともに第2切替信号ch(2)をONにする。
第2切替信号ch(2)がONになると、現在の検索領域60は、第2検索領域62に切り替わる。このとき、図9に示すように対象物90が第2検索領域62の外側へ出ると、図13の期間B2の初期に示すように、検知信号入力部56に入力される検知信号が非検知状態つまり「無」になる。ここで、第2検索領域62は、最大検索領域64以外の検索領域に該当する。したがって、切替信号生成処理部54は、現在の検索領域である第2検索領域62に隣接し、かつ第2検索領域62よりも大きい第3検索領域63に切り替えるための切替信号を生成する。つまり、図13の期間B2に示すように、第2切替信号ch(2)がONのときに検知信号が非検知状態を示した場合、切替信号生成処理部54は、第2切替信号ch(2)をOFFにするとともに第3切替信号ch(3)をONにする。
第3切替信号ch(3)がONになると、現在の検索領域60は、第3検索領域63に切り替わる。このとき、図10に示すように対象物90が第3検索領域63の外側へ出ると、図13の期間B3の初期に示すように、検知信号入力部56に入力される検知信号が非検知状態つまり「無」になる。ここで、第3検索領域63は、最大検索領域64以外の検索領域に該当する。したがって、切替信号生成処理部54は、現在の検索領域である第3検索領域63に隣接し、かつ第3検索領域63よりも大きい第4検索領域64に切り替えるための切替信号を生成する。つまり、図13の期間B3に示すように、第3切替信号ch(3)がONのときに検知信号が非検知状態を示した場合、切替信号生成処理部54は、第3切替信号ch(3)をOFFにするとともに第4切替信号ch(4)をONにする。
第4切替信号ch(4)がONになると、現在の検索領域60は、第4検索領域64に切り替わる。このとき、図11に示すように対象物90が第4検索領域64の外側へ出ると、図13の期間B4の初期に示すように、検知信号入力部56に入力される検知信号が非検知状態つまり「無」になる。ここで、第4検索領域64は、最大検索領域64の検索領域に該当する。この場合、図13の期間B4に示すように、切替信号生成処理部54は、検知信号が検知状態になるまで、第4切替信号ch(4)をONの状態に維持、つまり第4検索領域64内における検索を維持する。
図2に示す切替信号出力部55及び検知信号入力部56は、安全制御装置50の外部の機器この場合検知装置40と接続されて信号の送受信を行う入出力部、いわゆるI/Oである。切替信号出力部55は、切替信号生成処理部54で生成された各切替信号ch(N)を、検知装置40の切替信号入力部49へ出力する。検知信号入力部56は、検知装置40の検知信号出力部48から出力された検知信号を受け付ける。
更新部57は、更新処理を行うことができる。更新処理は、制限信号生成処理部53で生成された制限信号をロボットコントローラ22に送信し、ロボットコントローラ22で定義されているロボット21の最大速度を、制限信号に基づいて更新する処理である。この更新処理により、ロボット21の最大速度が制限される。なお、更新処理におけるロボット21の最大速度を更新する処理は、ロボットコントローラ22自身が行ってもよい。例えば、更新部57が、制限信号生成処理部53で生成した制限信号を、ロボットコントローラ22に送信し、ロボットコントローラ22が、安全制御装置50から受信した制限信号に基づいて、ロボット21の最大速度の定義を更新するようにしてもよい。
ロボットの安全装置10は、検知装置40と安全制御装置50との協働により、検索領域60内の対象物90を検索し、基準点Oから対象物90までの距離Lを推定する。次に、主に安全制御装置50の制御部51で行われる制御内容について、図14及び図15も参照して説明する。なお、以下の説明において、距離推定処理部52、制限信号生成処理部53、及び切替信号生成処理部54が行う処理は、全て制御部51が行う処理として説明する。
制御部51は、図14の制御を開始すると(スタート)、まずステップS11において、整数Nを最大値maxに設定する。最大値maxは、検知装置40が有する検索領域の数であり、2以上の整数である。本実施形態の場合、検知装置40は、第1検索領域61〜第4検索領域64の4つの検索領域を有している。そのため、本実施形態では、最大値max=4となる。また、整数Nは、最大値max以下の整数である。本実施形態の場合、整数Nは、1〜4のいずれかの整数であり、第1検索領域61〜第4検索領域64に対応している。
基準点Oから対象物90までの距離Lつまり対象物の位置によって、ステップS12以降の経路が異なる。まず、例えば図3又は図11に示すように、最大検索領域64内に対象物90が存在していない場合の制御内容について説明する。この場合、制御部51は、図14のステップS12〜S15、及び図15のステップS23、S24を繰り返す。すなわち、図14の制御を開始すると、ステップS11において整数N=4に設定される。そして、制御部51は、ステップS12において、第4切替信号ch(4)をONにするとともに、第1切替信号ch(1)、第2切替信号ch(2)、及び第3切替信号ch(3)をそれぞれOFFにする。
ステップS12で生成された各切替信号ch(1)〜ch(4)は、切替信号出力部55から出力される。検知装置40は、切替信号入力部49に入力された各切替信号ch(1)〜ch(4)に基づいて検索領域60を切り替える。この場合、検知装置40は、ONとなった切替信号ch(4)に対応する第4検索領域64について、対象物90を検知する。そして、検知装置40は、その検知結果を、検知信号として安全制御装置50へ出力する。
制御部51は、ステップS13において、検知装置40から受信した検知信号の検知結果を判断する。この場合、図3に示すように、第4検索領域64内に対象物90が存在していない。したがって、図13の期間A1又は期間B4で示すように、第4検索領域64についての検知信号が非検知状態つまり「無」となり(図14のステップS13でNO)、制御部51は、ステップS14へ移行する。
制御部51は、ステップS14において、整数Nが最大値maxであるか否かを判断する。つまり、制御部51は、ステップS14において、現在の検索領域60が、最大検索領域この場合第4検索領域64であるか否かを判断する。この場合、整数N=最大値maxであるため(ステップS14でYES)、制御部51は、ステップS15へ移行し、最大検索領域64内に対象物90が存在していないと判断する。そして、制御部51は、図15のステップS23の制限信号生成処理、及びステップS24の更新処理を行う。
制御部51は、ステップS23において、対象物90の検知位置に応じて制限信号を生成する。この場合、最大検索領域64内に対象物90が存在してないため、制御部51は、ロボット21の最大速度を100%にするための制限信号を生成する。そして、制御部51は、ステップS24において制限信号をロボットコントローラ22に送信し、ロボット21の最大速度の定義を100%に更新する。その後、制御部51は、図14のステップS12へ移行する。これにより、最大検索領域64内に対象物90が侵入するまで、ステップS11〜S15、S23、S24が繰り返される。
次に、図4〜図7に示すように、対象物90が最大検索領域60内に侵入して基準点Oに近づく場合の制御内容について説明する。図14のステップS13において、整数N=4である場合において、図4に示すように第4検索領域64内に対象物90が侵入すると、検知装置40は、第4検索領域64内の対象物90を検知し、検知状態の検知信号つまり「有」を出力する。これにより、第4検索領域64についての検知信号が検知状態つまり「有」となり(ステップS13でYES)、制御部51は、ステップS16へ移行する。
制御部51は、ステップS16において、整数Nが1であるか否かを判断する。つまり、制御部51は、ステップS16において、現在の検索領域60が、最小検索領域この場合第1検索領域61であるか否かを判断する。この場合、整数N=4であるため(ステップS16でNO)、制御部51は、ステップS21へ移行する。
制御部51は、ステップS21において、切替信号ch(N−1)をONにするとともに、他の切替信号をOFFにする。この場合、制御部51は、第3切替信号ch(3)をONにするとともに、第1切替信号ch(1)、第2切替信号ch(2)、及び第4切替信号ch(4)をそれぞれOFFにする。そして、各切替信号ch(1)〜ch(4)は、検知装置40へ送信される。これにより、検索領域60が、現在の検索領域である第4検索領域64に隣接し、かつ、この第4検索領域64よりも小さい第3検索領域63に切り替わる。
制御部51は、ステップS18において、検知装置40から受信した検知信号の検知結果を判断する。この場合、図4に示すように、対象物90が第3検索領域63の外側に位置していれば、図13の期間A2又は期間B3で示すように、第3検索領域63についての検知信号が非検知状態つまり「無」となり(ステップS18でNO)、制御部51は、ステップS19へ移行する。そして、制御部51は、ステップS19において、対象物90が、第N領域内でかつ第N−1領域外に位置していると判断する。例えば整数N=4である場合、制御部51は、ステップS19において、対象物90が、第4検索領域64の内側でかつ第3検索領域63の外側に位置していると判断する。
換言すれば、例えば図13の期間A2で示すように、隣接する2つの検索領域である第4検索領域64と第3検索領域63とのうち、大きい方の検索領域である第4検索領域64についての検知信号が検知状態であり(N=4の場合にステップS13でYES)、かつ、小さい方の検索領域である第3検索領域63についての検知信号が非検知状態である場合(N=4の場合にステップS18でNO)、制御部51は、第4検索領域64の内側でかつ第3検索領域63の外側に対象物90が存在していると推定する。
その後、制御部51は、図15のステップS23において、対象物90の検知位置に応じて制限信号を生成する。この場合、基準点Oから対象物90までの距離Lは、第3距離L3よりも大きくかつ第4距離L4以下であると推定されるため、制御部51は、ロボット21の最大速度を60%にするための制限信号を生成する。そして、制御部51は、ステップS24において制限信号をロボットコントローラ22に送信し、ロボット21の最大速度の定義を60%に更新する。その後、制御部51は、図14のステップS12へ移行する。
この場合、例えば対象物90が図4に示す状態から移動しなければ、つまり隣接する2つの検索領域60内に留まっていれば、制御部51は、ステップS12、S13、S16、S17、S18、S19、S23、S24を繰り返す。これにより、対象物90が第3検索領域63の内側へ侵入するまで(ステップS18でYES)、第4検索領域64と第3検索領域63との比較が行われる。
次に、例えば対象物90が図5に示すように基準点O側へ移動して第3検索領域63内に侵入していた場合について説明する。この場合、図13の期間A3で示すように、第3検索領域63についての検知信号が検知状態つまり「有」となるため(ステップS18でYES)、制御部51は、ステップS20へ移行する。そして、制御部51は、整数Nを1減算した後、ステップS12へ移行する。これにより、整数N=4であれば、整数N=3に変更される。その後、再度ステップS12以降の処理が実行されることで、第3検索領域63と第2検索領域62の検知信号が対比される。
対象物90が基準点Oに近づく場合、整数Nが1になるまで、上述の処理が繰り返される。これにより、検索領域60が、対象物90の移動に追従して小さくなるように切り替わる。そして、例えば図7に示すように、対象物90が基準点Oに接近して第1検索領域61内に侵入した場合、整数N=1になる。すると、制御部51は、ステップS12において、第1切替信号ch(1)をONにするとともに、第2切替信号ch(2)、第3切替信号ch(3)、及び第4切替信号ch(4)をそれぞれOFFにする。この場合、図13の期間A5で示すように、整数N=1のときに、第1検索領域61についての検知信号が検知状態つまり「有」となる(図14のステップS13でYES)。したがって、制御部51は、ステップS16へ移行する。
そして、現在の検索領域が最小検索領域61である場合、整数N=1であるため(ステップS16でYES)、制御部51は、ステップS21へ移行する。そして、制御部51は、ステップS21において、対象物90が、第1検索領域61内に位置していると判断する。つまり、最小検索領域61についての検知信号が検知状態であれば(N=1の場合にステップS13でYES)、制御部51は、最小検索領域61の内側に対象物90が存在していると推定する。
その後、制御部51は、図15のステップS23において、対象物90の検知位置に応じて制限信号を生成する。この場合、基準点Oから対象物90までの距離Lは、第1距離L1以下であると推定されるため、制御部51は、ロボット21の最大速度を0%にするための制限信号を生成する。そして、制御部51は、ステップS24において制限信号をロボットコントローラ22に送信し、ロボット21の最大速度の定義を0%に更新する。つまり、この場合、ロボット21の動作が禁止される。その後、制御部51は、図14のステップS12へ移行する。そして、例えば図8に示すように対象物90が最小検索領域61の外側へ出るまで、制御部51は、整数N=1を維持した状態で、図14のステップS12、S13、S16、S21、S23、S24を繰り返す。
次に、図8〜11に示すように、対象物90が基準点Oから遠ざかる場合の制御内容について説明する。図14のステップS13において、整数N=1である場合、図8に示すように第1検索領域61の外側へ対象物90が移動すると、図13の期間B1に示すように、第1検索領域61についての検知信号が非検知状態つまり「無」となる(図14のステップS13でNO)。この場合、制御部51は、ステップS14へ移行する。そして、この場合、整数N=1であるため(ステップS14でNO)、制御部51は、ステップS22へ移行する。そして、制御部51は、整数Nを1加算した後、ステップS12へ移行する。この場合、整数N=1であれば、整数N=2に変更される。その後、再度ステップS12以降の処理が実行されることで、第2検索領域62と第1検索領域61の検知信号が対比される。
対象物90が基準点Oから遠ざかる場合、整数Nが4になるまで、上述の処理が繰り返される。これにより、検索領域60が、対象物90の移動に追従して大きくなるように切り替わる。そして、例えば図11に示すように、対象物90が最大検索領域64の外側へ出ると、制御部51は、図14のステップS12〜S15、及び図15のステップS23、S24を繰り返し、整数N=4にした状態で、検索領域60を最大検索領域64に維持する。このようにして、一連の処理が行われる。
このように、本実施形態のロボットの安全装置10によれば、安全制御装置50は、隣接する2つの検索領域60のうち大きい方の検索領域60についての検知信号が検知状態であり、かつ、小さい方の検索領域60についての検知信号が非検知状態である場合に、大きい方の検索領域60の内側でかつ小さい方の検索領域60の外側に対象物90が存在していると判断して、対象物90の位置を推定する。すなわち、安全制御装置50は、複数の検索領域60のうち、隣接する2つの検索領域60であって、検知状態となった検索領域60と非検知状態となった検索領域60との間に対象物90が存在していると判断して、基準点Oから対象物90までの距離Lを推定する。
これによれば、安全制御装置50は、検索領域60を切り替えるための切替信号ch(N)を検知装置40へ送信するとともに、検索領域60内における対象物の有無を示す検知信号を検知装置40から受信することで、対象物90の位置を推定することができる。つまり、検知装置40は、基準点Oと対象物90との距離Lを示す距離値を、安全制御装置50へ直接送信する必要がない。したがって、ロボットの安全装置10は、装置間で距離値を通信する際に必要なIEC61508やICE61496等の規格に適合した専用の通信モジュールを用いることなく、基準点Oから対象物90までの距離Lを推定することができる。
すなわち、対象物90の有無を示す検知信号は、「有」又は「無」による2値で表されるものであるため、比較的高いノイズ耐性を有している。そのため、本実施形態の安全装置30のように、検知信号による通信は、IEC61508等の機能安全規格やICE61496等の光学センサの規格においては、専用の通信モジュールを用いていない通信であっても安全であることが認められる。そして、本実施形態の安全装置30は、検知装置40で計測した基準点Oから対象物90までの距離値を直接用いなくても、検索領域60内における対象物90の有無を示す検知信号によって、基準点Oから対象物90までの距離を推定することができる。したがって、この安全装置30によれば、検知装置40と安全制御装置50との間の通信において、規格に適合した専用の通信モジュールを用いなくても、当該通信モジュールを用いた場合と同等の信頼性を得ることができる。
また、検知装置40は、基準点Oを基準にして大きさの異なる複数の検索領域61〜64を設定可能である。そして、検知装置40は、切替信号入力部49に入力された切替信号ch(N)のON/OFFに基づいて検索領域61〜64を切り替える。これによれば、検知装置40から距離値を受信せずに対象物90の位置を推定するために、複数台の検知装置40を用いる必要が無い。つまり、安全装置30によれば、複数台の検知装置40を用いたものと同等の機能を1台の検知装置40によって実現することができる。したがって、本実施形態の構成によれば、複数の検知装置40を同時に動作させることが前提の構成に比べて、安全に対する信頼性を向上させることができる。
また、安全制御装置50の制御部51は、検知信号入力部56に入力された検知信号が検知状態であった場合でかつ現在の検索領域60が最小検索領域61以外である場合には、検索領域60を現在の検索領域60に隣接しかつ現在の検索領域60よりも小さい検索領域60に切り替えるための切替信号を生成する。また、制御部51は、検知信号入力部56に入力された検知信号が非検知状態であった場合でかつ現在の検索領域60が最大検索領域64以外である場合には、検索領域60を現在の検索領域60に隣接しかつ現在の検索領域60よりも大きい検索領域60に切り替えるための切替信号を生成する。
これによれば、対象物90が最大検索領域64内で移動する場合であっても、検索領域60は、対象物90の移動に追従して小さく又は大きくなるように切り替わる。また、対象物90が最大検索領域64内のある位置で停止している場合、検索領域60は、隣接する2つの検索領域60のうち検知状態となる検索領域60と非検知状態となる検索領域60との間で交互に切り替わる。例えば、対象物90が、図4又は図10に示すように、第4検索領域64の内側でかつ第3検索領域63の外側で停止している場合、検索領域60は、図13の期間A2又は期間B3に示すように、検知状態となる第4検索領域64と非検知状態となる第3検索領域63との間で交互に切り替わる。このため、本実施形態によれば、検知装置40は、全ての検索領域61〜64について常に検索を行っておく必要がない。したがって、ロボットの安全装置10は、全ての検索領域61〜64について常に検索を行っておく場合に比べて、対象物90の検索に要する処理時間を短縮することができる。
すなわち、例えば検索領域60の数を増やして、隣接する検索領域60間の距離を短くすることで、基準点Oから対象物90までの距離Lの推定精度を向上させることができる。しかし、常に全ての検索領域60について検索を行うと、対象物90の検索に要する処理時間が増大する。これに対し、本実施形態によれば、検知装置40は、全ての検索領域61〜64についての検索を常に行っておくことなく、基準点Oから対象物90までの距離Lを推定することができる。したがって、本構成によれば、検索領域60の数を増やして推定距離Lの精度を向上させた場合であっても、処理時間の増大を抑制することができる。
(第2実施形態)
次に、第2実施形態について図16及び図17を参照して説明する。本実施形態では、検索領域60の切替方法つまり切替信号生成処理部54で行われる処理の内容が、上記第1実施形態と異なる。すなわち、上記第1実施形態では、対象物90の移動に追従するように検索領域60を切り替えるため、対象物90の位置によっては切替信号ch(N)がONにならない場合があった。一方、本実施形態では、対象物90の位置に関わらず、全ての切替信号ch(N)を一定周期でONにする。
具体的には、本実施形態において、切替信号生成処理部54は、検索領域60が順次小さくなるように又は検索領域60が順次大きくなるように、切替信号ch(N)を一定周期で生成する。これにより、検知装置40と安全制御装置50とを同期させる。図16は、検索領域60が、第4検索領域64から第1検索領域61へ向かって順次小さくなる場合を示している。制御部51は、例えば図16に示すように、一定周期のパルス信号に合わせて、第4切替信号ch(4)〜第1切替信号ch(1)のONとOFFを順次切り替えていく。パルス信号は、安全制御装置50の内部で生成されるものであってもよいし、安全制御装置50の外部から安全制御装置50に入力されるものであってもよい。
ここで、図16の各期間C1〜C5で示すように、第4切替信号ch(4)〜第1切替信号ch(1)がそれぞれ1回ずつONとなる期間を、安全装置10が行う処理の1周期とする。例えば図3又は11に示すように、対象物90が第4検索領域64の外側に位置している場合、1周期における検知信号は、図16の期間C1で示すように、常に非検知状態つまり「無」となる。したがって、1周期における検知信号が常に非検知状態である場合、制御部51は、第4検索領域64内に対象物90が存在していないと判断する。この場合、制御部51は、基準点Oから対象物90までの距離Lが第4距離L4以上であると推定する。
次に、例えば図4又は図10に示すように、対象物90が第4検索領域64の内側でかつ第3検索領域63の外側に位置している場合、1周期における検知信号は、図16の期間C2で示すように、第4切替信号ch(4)がONのときに検知状態つまり「有」になり、第3切替信号ch(3)がONのときに非検知状態つまり「無」になる。したがって、1周期における検知信号が、第4切替信号ch(4)がONのときに検知状態つまり「有」になり、第3切替信号ch(3)がONのときに非検知状態つまり「無」になった場合、制御部51は、第4検索領域64の内側でかつ第3検索領域63の外側に対象物90が存在していると判断する。この場合、制御部51は、基準点Oから対象物90までの距離Lが第3距離L3より大きくかつ第4距離L4以下であると推定する。
また、例えば図5又は図9に示すように、対象物90が第3検索領域63の内側でかつ第2検索領域62の外側に位置している場合、1周期における検知信号は、図16の期間C3で示すように、第3切替信号ch(3)がONのときに検知状態つまり「有」になり、第2切替信号ch(2)がONのときに非検知状態つまり「無」になる。したがって、1周期における検知信号が、第3切替信号ch(3)がONのときに検知状態つまり「有」になり、第2切替信号ch(2)がONのときに非検知状態つまり「無」になった場合、制御部51は、第3検索領域63の内側でかつ第2検索領域62の外側に対象物90が存在していると判断する。この場合、制御部51は、基準点Oから対象物90までの距離Lが第2距離L2より大きくかつ第3距離L3以下であると推定する。
また、例えば図6又は図8に示すように、対象物90が第2検索領域62の内側でかつ第1検索領域61の外側に位置している場合、1周期における検知信号は、図16の期間C4で示すように、第2切替信号ch(2)がONのときに検知状態つまり「有」になり、第1切替信号ch(1)がONのときに非検知状態つまり「無」になる。したがって、1周期における検知信号が、第2切替信号ch(2)がONのときに検知状態つまり「有」になり、第1切替信号ch(1)がONのときに非検知状態つまり「無」になった場合、制御部51は、第2検索領域62の内側でかつ第1検索領域61の外側に対象物90が存在していると判断する。この場合、制御部51は、基準点Oから対象物90までの距離Lが第1距離L1より大きくかつ第2距離L2以下であると推定する。
そして、例えば図7に示すように、対象物90が第1検索領域61の内側に位置している場合、1周期における検知信号は、図16の期間C5で示すように、第1切替信号ch(1)がONのときに検知状態つまり「有」になる。したがって、1周期における検知信号が、第1切替信号ch(1)がONのときに検知状態つまり「有」になった場合、制御部51は、第1検索領域61の内側に対象物90が存在していると判断する。この場合、制御部51は、基準点Oから対象物90までの距離Lが第1距離L1以下であると推定する。
本実施形態によれば、検知装置40は、対象物90の位置や数に関わらず、全ての検索領域61〜64について一定周期で検索を行う。ここで、最大検索領域64内に複数の対象物が同時に存在している場合、隣接する2つの検索領域60のうち検知状態となる検索領域60と非検知状態となる検索領域60の組み合わせは、基準点Oに最も近い対象物90のものとなる。
例えば図17に示すように、最大検索領域64内に2つの対象物91、92が存在している場合について見る。対象物91は、第1検索領域61の外側でかつ第2検索領域62の内側に位置している。対象物92は、第3検索領域63の外側でかつ第4検索領域64の内側に位置している。この場合、1周期における検知信号は、図16の期間C4に示すように、第4切替信号ch(4)、第3切替信号ch(3)、及び第2切替信号ch(2)がそれぞれONのときに検知状態になり、第1切替信号ch(1)がONのときに非検知状態になる。そして、距離推定処理部52は、隣接する2つの検索領域60のうち検知状態となる第2検索領域62と非検知状態となる第1検索領域61との組み合わせにより、対象物92よりも基準点Oに近い対象物91についての距離Lを推定する。つまり、この場合、距離推定処理部52は、2つの対象物91、92のうち、基準点Oに最も近い方の対象物91について距離Lを推定する。
このように、本実施形態によれば、最大検索領域64内に複数の対象物が同時に存在している場合、距離推定処理部52は、複数の対象物のうち基準点Oに最も近い対象物についての距離Lを推定する。したがって、最大検索領域64内に複数の対象物が存在する場合であっても、基準点Oに最も近い対象物についての距離Lが推定されるため、更なる安全性の向上が図られる。
(その他の実施形態)
なお、本発明の実施形態は、上記しかつ図面に記載した各実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲において適宜変更することができる。本発明の実施形態は、例えば次のような変形または拡張が可能である。
ロボット21は、多軸型に限られない。また、ロボット21は、特定の位置に固定されたものではなく、例えば自律して移動可能なものであってもよい。
検知装置40は、レーザスキャナつまり光学的距離測定装置に限られず、例えば超音波型のセンサ等であってもよい。
検索領域60は、円弧状に限られず、ロボット21の周囲の環境に応じて、例えば多角形や、円弧と多角形との組み合わせ等に設定してもよい。また、検索領域60は、2次元的つまり平面的であってもよいし、3次元的つまり立体的であってもよい。
検知装置40と基準点Oとは必ずしも一致している必要はない。例えば、検索領域60内における任意の点を基準点Oとして設定してもよい。これによれば、検知装置40を、ロボット21から離れた位置に設置することができる。