(57)【要約】【課題】ロボット作業の安全性を高めると共に、工場などでの床スペースを有効活用できるようにする。【解決手段】動作中のロボット１の手首５に備えたワークやツール７を含めた移動軌跡を内包する仮想安全柵５０をメモリー上に定義する。ワークやツールを含むロボットの一部を内包する３次元空間領域Ｓを少なくとも２箇所（Ｓ１〜Ｓ３）以上定義する。定義された３次元空間領域の軌跡計算上での予測位置と仮想安全柵５０との照合を行い、定義された３次元空間領域のいずれか１つの軌跡計算上での予測位置が仮想安全柵５０内に含まれる場合に、ロボットアーム３，４の移動を停止する制御を行う。【選択図】  図１
2004322244.tif 000002
【特許請求の範囲】
【請求項１】
動作中のロボットの手首に備えたワークやツールを含めた移動軌跡を内包する仮想安全柵をメモリー上に定義し、前記ワークやツールを含むロボットの一部を内包する３次元空間領域を少なくとも２箇所以上定義し、前記定義された３次元空間領域の軌跡計算上での予測位置と前記仮想安全柵との照合を行い、前記定義された３次元空間領域のいずれか１つの軌跡計算上での予測位置の少なくとも一部が前記仮想安全柵に含まれる場合に、少なくとも当該１箇所の３次元空間領域を含むアームの移動を停止する制御を行うことを特徴とするロボット動作規制方法。
【請求項２】
前記３次元空間領域の定義を、点の集合による定義、直線の集合による定義、または包絡球による定義のいずれで行うことを特徴とする請求項１に記載のロボット動作規制方法。
【請求項３】
動作中のロボットの手首に備えたワークやツールを含めた移動軌跡を内包する仮想安全柵をメモリー上に定義する手段と、前記ワークやツールを含むロボットの一部を内包する３次元空間領域を少なくとも２箇所以上定義する手段と、前記定義された各３次元空間領域の移動軌跡上での予測位置を計算する手段と、該各３次元空間領域の予測位置と前記仮想安全柵との照合を行う手段と、前記定義された３次元空間領域のいずれか１つの軌跡計算上での予測位置の少なくとも一部が前記仮想安全柵に含まれるか否かを判定する手段と、含まれる場合に少なくとも当該１箇所の３次元空間領域を含むアームの移動を停止制御する制御手段、とを少なくとも備えることを特徴とするロボット動作規制装置。
【請求項４】
前記３次元空間領域の定義を、点の集合による定義、直線の集合による定義、または包絡球による定義のいずれで行うことを特徴とする請求項２に記載のロボット動作規制装置。
【請求項５】
請求項３または４に記載のロボット動作規制装置を制御装置の一部に持つロボット。
【請求項６】
１つの制御装置と、該制御装置で制御される２つ以上の請求項５に記載されるロボットとを備えており、そこにおいて、各ロボットにおける前記仮想安全柵をメモリー上に定義する手段は、そのマージン幅を可変とされていることを特徴とするロボット。
【請求項７】
ロボットを一度動作させて、ロボットの手首に備えたワークやツールを含めた１箇所または複数箇所の移動軌跡を各ステップごとに参照値として取得し、該参照値にマージンを付加して各ステップでの境界値を設定し、次回以降のロボットの動作中に各ステップでのいずれかの実測値が上記対応する境界値内かどうかを判定し、いずれかの実測値が対応する境界値を越えた場合には、ロボットアームの移動を停止する制御を行うことを特徴とするロボット動作規制方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボット動作規制方法とその装置および当該ロボット動作規制装置を備えたロボット装置に関する。
【０００２】
【従来の技術】
ロボット、特に産業用ロボットは自動車の組み立て工場などで広く用いられている。動作に際し、ロボットアームおよびその手首（そして、手首に備えられたワークやツール）は、制御装置に内蔵した予め定められたプログラムにより、周辺機器と緩衝しないように、また無駄な移動距離がでないように、所要軌跡に沿って移動するようにされている。また、アームや手首の移動により作業者などに不測の事態が生じないように、ロボットの前記移動軌跡の外側には所要のマージンをおいて安全柵が配置されるのが通常である。
【０００３】
ロボットの作動範囲をコンピュータによる制御で制限することも行われる。例えば、特許文献１（特開昭６４−１６３９５号公報）には、設定した動作禁止領域に演算されたアーム先端の移動位置（３次元的なロボット座標位置）が含まれるかどうかを所定周期ごとに判別し、含まれると判別された場合に、ロボットの動作を停止するようにした産業用ロボット制御装置が記載されている。特許文献２（特開平８−１０８３８３号公報）には、アームに手首関節を備えるロボットにおいて、手首関節を中心にして把持物体を回転したときにできる包絡球を求めておき、包絡球が移動するときに障害物との接触の有無を判定し、接触すると判定される場合には、包絡球が障害物と接触しない新たな経路を求めるようにした制御装置が記載されている。
【０００４】
上記特許文献１および特許文献２に記載の制御方法を用いることにより、ロボットは、アーム先端に取り付けたワークやツールなどが設定した動作禁止領域（障害物）に実際に接する前に、危険情報を知ることができるので、より安全なロボット操作が可能となる。特に、教示時やプログラム修正時などのように、あるいは、外乱（ノイズ）により、予め設定したプロラムによる軌跡以外の軌跡をアームが移動するような場合に、作業者を傷付けたり、アーム先端が周辺機器と接触する事態が生じるのを効果的に回避することができる。
【０００５】
【特許文献１】
特開昭６４−１６３９５号公報
【特許文献２】
特開平８−１０８３８３号公報
【０００６】
【発明が解決しようとする課題】
ロボットがあるプログラムに従い動作するときに、その関節やアーム先端に取り付けたワークやツールは、それぞれある一定の三次元的な移動範囲を持つ。当該ロボット操作において、それぞれの三次元的移動範囲は必須のものであり、前記動作禁止領域はその外側に所定のマージン（安全領域）を取って設定される。特許文献１に記載の方法は、アーム先端の移動位置（３次元的なロボット座標位置）が動作禁止領域に接するかどうかを判断するようにしており、アーム先端の三次元的移動範囲と動作禁止領域との接触の有無は判定できるとしても、ロボットの関節や手首部分が動作禁止領域と接触するかどうかを把握することができない。そのために、関節部分や手首部分でのいわゆる肘打ち現象が生じるのを効果的に回避するのは容易でない。
【０００７】
特許文献２に記載の方法は、手首関節を中心にして把持物体を回転したときにできる包絡球を求めておき、その包絡球が障害物（動作禁止領域と同義ととらえることができる）と接触するかどうかの判定であり、特許文献１と比較してより安全サイドに向いた停止制御が可能となると考えられる。しかし、ここで形成される包絡球の半径は、「手首関節を中心にして把持物体を回転したときにできる包絡球」の１個のみであり、大きな半径を持つ包絡球となることから、前記所要の三次元的移動範囲を確保した状態で動作禁止領域を設定しようとすると、ロボットから相当離れた位置に動作禁止領域が設定されることとなり、工場などでの限られた床面積を考慮するとスペースに無駄が生じているといえる。工場でのライン設計を省スペース化する観点からも、より改善されたロボット動作規制方法が求められている。また、ここでも、ロボットの関節部分の移動領域などは考慮されていない。
【０００８】
本発明は、上記のような事情に鑑みてなされたものであり、ロボット動作を規制するための動作禁止領域（本発明で、その境界を「仮想安全柵」と言うこととする）を設定するに際して、ロボットの関節、手首、手首に把持するワークやツールなどのロボット動作に必要なそれぞれの三次元的移動範囲を確保した状態で、従来法による場合よりも狭い範囲に「仮想安全柵」を設定できるようにし、それにより工場などの床面積や空間を無駄のない状態で有効に活用できるようにした、ロボット動作規制方法とその装置、およびそのような装置を備えたロボット装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の課題を解決するための第１の発明は、動作中のロボットの手首に備えたワークやツールを含めた移動軌跡を要用のマージンを有して内包する仮想安全柵をメモリー上に定義し、前記ワークやツールを含むロボットの一部を内包する３次元空間領域を少なくとも２箇所以上定義し、前記定義された３次元空間領域の軌跡計算上での予測位置と前記仮想安全柵との照合を行い、前記定義された３次元空間領域のいずれか１つの軌跡計算上での予測位置の少なくとも一部が前記仮想安全柵に接する場合に、少なくとも当該１箇所の３次元空間領域を含むアームの移動を停止する制御を行うことを特徴とするロボット動作規制方法である。
【００１０】
上記発明による方法では、ワークやツールを含むロボットの一部を内包する３次元空間領域を少なくとも２箇所以上定義する。定義する３次元空間領域の対象となるロボットの一部としては、ロボット本体の関節や手首、手首に備えられたワークやツールなどが挙げられる。実際のロボットの動作環境や制御装置の処理能力などを考慮して適宜選択する。ワークやツールは全体を１つの３次元空間領域として定義してもよく、複数個の３次元空間領域に分割して定義してもよい。ワークやツールの大きさを考慮して選択する。
【００１１】
上記発明において、２箇所以上の部分を３次元空間領域として定義し、そのいずれかの軌跡計算上での予測位置の一部が仮想安全柵を越える場合に、少なくとも当該１箇所の３次元空間領域を含むアームの移動を停止する制御を行うようにしている。２箇所以上の部分を３次元空間領域として定義したことにより、１つの３次元空間領域のみで上記制御を行う場合よりも、より安全サイドのロボット動作規制が可能となり、また、仮想安全柵もより精緻にかつより狭い範囲として設定することができる。逆に、予め仮想安全柵がある範囲のものとして定義される場合には、その仮想安全柵内の領域をより有効にロボットの移動軌跡として利用することができる。それにより、工場などでの床面積および空間を有効利用することが可能となる。
【００１２】
定義する３次元空間領域の数が多いほど、仮想安全柵をより狭い範囲として定義できる。制御装置の処理能力やロボットの実際の動作環境などを考慮して適宜設定する。ワークやツールが大形の場合には、それを複数に分割し、それぞれに３次元空間領域を定義することにより、仮想安全柵をより狭く設定することが可能となる。
【００１３】
教示時などにおいて動作環境を変更したとき、あるいは外乱が生じたとき、ロボットアームは、例えば、Ａ点からＸ点へと従前のプログラムにない軌跡で移動する。そのときに、コンピュータの先読み（軌跡計算）によりＸ点への新たな移動軌跡が計算され、その予測位置で前記いずれか３次元空間領域がロボット自身の持つ「仮想安全柵」に接すると判断された場合に、ロボットアーム（少なくとも当該１箇所の３次元空間領域を含むアーム）の停止制御が行われる。ロボットの高速化と大形化により、アームや手首部分が大きな慣性を持って移動するようになり、惰送、制動のための時間（距離）が必要となるが、先読みによりロボット自体が仮想安全柵よりも所定距離前方位置を制動開始位置として認識できるので、安全に停止が可能となる。
【００１４】
本発明において、仮想安全柵は、制御装置の処理能力を考慮して、直線の集合として、曲線の集合として、あるいは直線と曲線の集合として、任意に設定すればよい。実際には、工場での物理的な完全柵の内側になるようにメモリー上に仮想安全柵を定義することが望ましく、より安全性の高いロボットの動作規制が得られる。仮想安全柵の広さ、すなわち、動作中のロボットの手首に備えたワークやツールを含めた移動軌跡に対するマージン幅はなくてもよいが、より高い安全性を考慮すると、ある幅のマージンを設定することは好ましい。このマージン幅はプログラムの書き換えにより変更できるようにすることもできる。マージン幅を広く取ることにより、ロボットアームの移動の自由度は大きくなるが、それだけ広い物理的空間が必要となる。マージン幅を狭く設定することにより、無駄な空間をより少なくすることができる。しかし、ロボットアームの移動の自由度は小さくなり、安全性は向上する一方において、アームに対して停止制御がかかる回数が多くなる。ロボットの実動作環境を考慮して適宜幅のマージンを設定すればよい。
【００１５】
本発明において、前記３次元空間領域を定義する方法は任意であり、点の集合による定義、直線の集合による定義、または包絡球による定義などのいずれで行うこともできる。１つのロボットで複数個の３次元空間領域を定義するのに、すべて同じ手法によってもよく、異なった手法を併用して定義してもよい。すべてを包絡球で定義することは、包絡球は中心点と半径により定義可能であり、データ量を小さくできることから、好ましい。
【００１６】
本発明は、また、上記の方法を実施する装置として、動作中のロボットの手首に備えたワークやツールを含めた移動軌跡を内包する仮想安全柵をメモリー上に定義する手段と、前記ワークやツールを含むロボットの一部を内包する３次元空間領域を少なくとも２箇所以上定義する手段と、前記定義された各３次元空間領域の移動軌跡上での予測位置を計算する手段と、該各３次元空間領域の予測位置と前記仮想安全柵との照合を行う手段と、前記定義された３次元空間領域のいずれか１つの軌跡計算上での予測位置の少なくとも一部が前記仮想安全柵に含まれるか否かを判別する手段と、含まれている場合に少なくとも当該１箇所の３次元空間領域を含むアームの移動を停止する制御手段、とを少なくとも備えることを特徴とするロボット動作規制装置、をも開示する。これらの手段はすべてロボット本体の制御装置の中に組み込むことができる。
【００１７】
本発明は、さらに、上記のロボット動作規制装置を制御装置の一部に持つロボットをも開示する。このロボットは単独で動作制御されるようにして、必要な場合には複数個がフロアに配置される。本発明によるロボット動作規制装置を備えることにより、仮想安全柵を狭い領域として定義できるので、従来よりも近接して複数のロボットを配置しても安全性は確保できる。それにより、フロアの有効活用が可能となる。
【００１８】
本発明によるロボット動作規制装置では、前記のように、仮想安全柵の領域をどの程度の広さに設定するか（マージンをどの程度とるか）により、ロボットアームの移動の自由度が変化する。このことを有効に利用したロボット装置として、本発明は、１つの制御装置と、該制御装置で制御される２つ以上の上記ロボットとを備えており、そこにおいて、各ロボットにおける前記仮想安全柵をメモリー上に定義する手段は、そのマージン幅を可変とされていることを特徴とするロボット装置、をも開示する。
【００１９】
上記ロボット装置では、運転に当たり、複数個のロボットのうち、実際に動作するロボットにおける仮想安全柵のマージン幅を実作業に支障がない幅として定義し、他のロボット、すなわち作動を行わないロボットの仮想安全柵のマージン幅を極端に狭い幅として定義しておく。マージン幅の狭い仮想安全柵を備えたロボットが外乱など何らかの理由により、予期しない動作をしたとしても、仮想安全柵が狭いことから、すぐに停止制御が働くこととなり、暴走して作業者や周辺機器に接触するようなことは確実に回避される。もちろん、実作業を行うロボットは所期の動作を確実に遂行する。上記のように、このロボット装置はソフトウエア上でロボットの安全動作を確保できるので、１つの制御装置のものと複数個のロボットを配置しても、支障のない運転を行うことができる。
【００２０】
本発明は、さらに、ロボットを一度動作させて、ロボットの手首に備えたワークやツールを含めた１箇所または複数箇所の移動軌跡を各ステップごとに参照値として取得し、該参照値にマージンを付加して各ステップでの境界値を設定し、次回以降のロボットの動作中に各ステップでのいずれかの実測値が上記対応する境界値内かどうかを判定し、いずれかの実測値が対応する境界値を越えた場合には、ロボットアームの移動を停止する制御を行うことを特徴とするロボット動作規制方法、をも開示する。
【００２１】
ここでは、前記境界値が上記した「仮想安全柵」に相当する。この方法でも、マージン幅をどの程度に設定するかにより、ロボットアームの移動の自由度を調整することができるので、わずかな位置や姿勢のずれも許されない環境でロボットの動作を行うことが求められるような場合に、この方法は有効となる。複数箇所の移動軌跡を各ステップごとに参照値として取得することにより、より安全サイドの向いたロボット動作規制を行うことが可能となる。
【００２２】
【発明の実施の形態】
図１は、本発明によるロボット動作規制方法と装置方法を備えたロボットの動作を説明する図である。工場のフロアに物理的な安全柵１０が設けてあり、その中にロボット１が配置される。この例で、ロボット１は、本体２と２本のアーム３、４を備え、アーム４の先端には手首５が取り付けてある。手首５には把持装置６を介して溶接ガンがツール７としてが備えられる。アーム３とアーム４は関節８で接続している。９は床に置かれたワークとしての被溶接体である。ロボット本体２には制御装置（ＣＰＵ）２０から必要な信号が送られ、所定のプログラムに従い、アーム３、４や手首５は所定の軌跡に沿って反復した移動を行う。制御装置（ＣＰＵ）２０は教示具２１を備えており、ロボットへの教示やプログラムの書き換えを行う。教示具２１はディスプレー２２と入力部２３とを有し、ディスプレー２２にはロボット１の動作状態などが表示される。
【００２３】
ロボット１の操作に当たり、図２に示すように、仮想安全柵設定手段ａにより仮想安全柵５０を定義し、仮想安全柵設定記憶手段ｂはそれを制御装置２０のメモリー上に格納する。実際は、工場内での限られた床スペース内に所要台数のロボット１を設置することが前提となり、その前提のもとに前記物理的な安全柵１０が構築され、その内側に仮想安全柵５０がそれぞれのロボットについて設定され、それをメモリーに記憶させる手順が普通である。その場合に、その仮想安全柵５０内に、動作中のロボットの手首に備えたワークやツールを含めた移動軌跡が内包されるように、ロボットアームの移動軌跡が教示される。しかし、ロボットアームの移動軌跡を先ず設定しておき、それを内包するようにして仮想安全柵５０を定義することもできる。この例では、４本の直線５１〜５４により仮想安全柵５０を定義しているが、曲線あるいは直線と曲線の組み合わせで定義することもできる。
【００２４】
次に、３次元空間領域設定手段ｃは、ロボット１の一部である、関節８、手首５、および溶接ガンであるツール７を内包する３つの３次元空間領域Ｓ１，Ｓ２，Ｓ３を、例えば、すべて球として定義し、３次元空間領域ｄはそれを制御装置２０のメモリー上に格納する。具体的には、関節８を内包する３次元空間領域Ｓ１は、関節８の折曲中心を中心とし、所定半径を持つ球として定義し、手首５を内包する３次元空間領域Ｓ２は、手首５の中心軸線上に中心をおき、半径が手首５の長さのほぼ１／２である球として定義し、ツール７を内包する３次元空間領域Ｓ３は、溶接ガンの中心軸線上に中心をおき、半径が把持装置６と溶接ガン７を含む長さのほぼ１／２である球として定義する。なお、いずれの３次元空間領域もおおよそ上記したような中心と半径を持つ球であればよく、より半径の大きな球として定義する場合には、それだけ安全率は高くなるが、上記した仮想安全柵５０はより広い領域として設定する（あるいは、各部分の移動範囲をより狭くプログラムする）ことが必要となり、スペース効率が低下する（あるいはアームの移動に制限を受けるようになる）。
【００２５】
予め設定したプログラムに従ってロボットを動かす。図３のフローに示すように、制御装置は３次元空間領域Ｓ１〜Ｓ３の動作計算（軌道計算）を開始する（ステップ３０１）。計算に基づき動作予測位置（先読み位置）を算出する（ステップ３０２）。照合手段ｅは一定周期で軌跡計算上での予測位置と前記メモリーに格納してある仮想安全柵との照合を行い、判定手段ｆは前記定義された３次元空間領域Ｓ１〜Ｓ３のいずれか１つの予測位置の少なくとも一部が仮想安全柵５０を越えたかどうかの判定を行う（ステップ３０３）。上記したようにして仮想安全柵５０は定義されており、予め設定したプログラムに従ってロボットが動作する限りでは、３次元空間領域Ｓ１〜Ｓ３のいずれもが仮想安全柵５０を越えることはなく、所定の動作が反復して繰り返される。
【００２６】
ロボットの仕事内容を変更するときなどに、教示具２１からロボット１（制御装置３０）へ新たなデータが教示される。それにより、新たな目標位置が設定されて、再び前記ステップ３０１〜ステップ３０３の処理が進行する。このときに、安全上の理由から、先に設定した仮想安全柵５０の定義はそのまま残される。その状態で、新たな目標位置に向けての動作予測位置（先読み位置）が算出されるので、その予測位置が仮想安全柵５０を越えることが起こり得る。判定手段ｆが越えると判定したときに、制御装置の停止制御手段ｇが停止制御を開始する（ステップ３０４）、必要な場合には、例えば教示具２１のディスプレー２２に停止メッセージが表示される（ステップ３０５）。
【００２７】
この例において、ロボット１の３箇所について３次元空間領域Ｓ１〜Ｓ３が設定されており、そのいずれかの予測位置が仮想安全柵５０を越えると判定されたときに、停止制御が開始するので、高い安全性が確保される。また、この例のようにアームの関節８に３次元空間領域Ｓ１を設定したことにより、いわゆるひじ打ち現象が生じるのも回避できる。さらに、複数個の３次元空間領域でもって仮想安全柵との接触を検知するので、１つ１つの３次元空間領域は比較的狭いものとして設定することができ、結果として、ロボットの移動軌跡と仮想安全柵との間のマージンを狭くすることが可能となる。予め仮想安全柵を設定する場合には、同じ床面積により多くの台数のロボットを設置することが可能となる。
【００２８】
図４は、上記停止制御を実際のロボットに即して説明するものであり、溶接ガンとしてのツール７には３次元空間領域Ｓ３が定義されており、メモリーには仮想安全柵５０が格納されている。Ｘ点に向けての動作計算を開始し（ステップ３０１）、動作予測位置の算出が進行する（ステップ３０２）と、３次元空間領域Ｓ３の予測軌跡が仮想安全柵５０に接する状態となることが瞬時に判断され（ステップ３０３）、直ちに、すなわち仮想安全柵の位置よりも十分に手前の位置で停止制御が開始する。そのために、慣性力を考慮しても仮想安全柵の前の位置でアームを停止させることができる。
【００２９】
図５は前記した３次元空間領域を定義する場合の他の例を示している。この例示は、手首５には大きな把持装置６が取り付けてあり、該把持装置６は車のボディのような大きなワーク７１を把持している。このワーク７１を内包する３次元空間領域である球Ｓ３１は半径の大きなものとなり、周囲のスペース効率の向上にはあまり寄与しない。そのような場合には、ワーク７１自体を複数個（図示の例では２個）に分割して複数個（２個）の半径の小さい球Ｓ３２、Ｓ３３で全体を内包するようにする。それにより高いスペース効率を維持することができる。
【００３０】
図６は、本発明によるロボット装置の他の例を示している。この例では、１つの制御装置２０に上記した２つのロボット１、１Ａが接続しており、ソフトウエア上で切り換えて、２つのロボットを個別に操作するようになっている。ここにおいて、各ロボット１、１Ａにおける前記仮想安全柵をメモリー上に定義する手段は、そのマージン幅を可変とされており、２個のロボット１、１Ａのうち、実際に動作する一方のロボット１における仮想安全柵のマージン幅を実作業に支障がない幅として定義し、他のロボット１Ａ、すなわち動作を停止しているロボット１Ａの仮想安全柵のマージン幅を極端に狭い幅として定義する。
【００３１】
このようにすることにより、本来は非動作であるロボット１Ａが外乱などの何らかの理由により、予期しない動作をしたとしても、仮想安全柵が狭いことから、そのロボットにはすぐに停止制御が働くこととなり、暴走して作業者や周辺機器に接触するようなことを確実に回避できる。もちろん、実作業を行うロボット１は正常に動作を確実に遂行する。
【００３２】
図７は本発明の他の態様を説明する図であり、図８はそのフローである。図７において、６１は点Ａから点Ｂまでロボットを一度動作させたときの移動軌跡であり、ａ１，ａ２・・ａｎは移動軌跡６１での任意の点である。ロボットを作動させ（ステップ８０１）、ａ１，ａ２・・ａｎの動作位置情報、姿勢情報などの参照値ａ１ｐ，ａ２ｐ・・ａｎｐを適宜の座標値として取得してメモリーに登録する（ステップ８０２）（図９も参照）。次に、各参照値に対して所要幅のマージンｋを入力・保管する（ステップ８０３）。例えば、参照値ａ１ｐでの座標値ｘ，ｙ，ｚをｐｘ，ｐｙ，ｐｚとすれば、ｐｘ±ｋ，ｐｙ±ｋ，ｐｚ±ｋが、マージンを持った範囲（上記した「仮想安全柵」）となる。
【００３３】
次回以降のロボット動作において、前記点ａ１，ａ２・・ａｎでの実測値ａ１Ｐ，ａ２Ｐ・・ａｎＰを取得し（ステップ８０４）、それを各点での参照値ａ１ｐ，ａ２ｐ・・ａｎｐと比較する（ステップ８０５，８０６）。例えば、点ａ１での実測値ａ１Ｐの座標値ｘ，ｙ，ｚをＰｘ，Ｐｙ，Ｐｚとすれば、Ｐｘとｐｘ±ｋの比較，Ｐｙとｐｙ±ｋの比較，Ｐｚとｐｚ±ｋの比較をそれぞれ行う。そして、図９に示すように、マージンｋを持った範囲（「仮想安全柵」）を越えていない場合には、アームの移動を継続して、次の点ａ２おいて同じように実測値と参照値との比較を行う。以下、これを繰り返す。いずれかの点において、実測値がマージンｋを持った範囲（「仮想安全柵」）を越える場合には、制御装置は停止制御を行う（ステップ８０７）
図９に示す例では、点ａ３において、実測値と参照値の差の絶対値がマージンｋに等しいかそれよりも大きくなっており、この時点で、制御装置は停止制御を開始する。
【００３４】
この方法でも、マージン幅ｋをどの程度に設定するかにより、ロボットアームの移動の自由度を調整できるので、わずかな位置や姿勢のずれも許されない環境でロボット動作を行うことが求められるような場合に、この方法は有効となる。また、上記の方法において、点Ａから点Ｂまでのロボットを一度動作させたときの移動軌跡として、ロボットの手首に備えたワークやツールをも含めた３次元空間領域としての移動空間から２箇所以上のポイントを抽出し、当該２箇所以上のポイントのそれぞれについて前記「移動軌跡」を設定し、各移動軌跡についてそれぞれ参照値を取得し、かつ次回以降においては、それぞれについて実測値を取得して比較を行うようにすることにより、より安全サイドに向いたロボット動作規制を行うことが可能となる。
【００３５】
本発明において、制御装置が保持するデータは、仮想安全柵に関するデータ、ロボットアームの移動に係るプログラムデータ、システムパラメータに係るデータに大別することができる。この種のロボットを用いた作業においては、常時各データをバックアップすることが望まれ、かつ、プログラムデータとシステムパラメータに係るデータは現場において書き換える必要性もでてくる。しかし、仮想安全柵に関するデータは安全管理上、安易に作業現場で安易に書き換えることは許されない。そのことから、仮想安全柵に関するデータと、ロボットアームの移動に係るプログラムデータおよびシステムパラメータに係るデータとを異なる領域に格納すると共に、仮想安全柵に関するデータについてはパスワードを入力しないと書き換えができないようにしておくデータ管理方法を採用することは有効である。
【００３６】
さらに、前記した教示具２１のディスプレー２２に、当該ロボット周辺の設備配置、仮想安全柵５０、ロボット自体、ワークやツールなどを可視化して表示し、かつ、ロボットの動作に合わせてその軌跡が連続して表示されるようにすることは、ロボット作業の安全性向上の観点から、特に推奨される。
【００３７】
【発明の効果】
本発明の第１の態様によれば、ロボットの関節、手首、手首に把持するワークやツールなどの少なくとも２箇所以上に、それを内包する３次元空間領域を定義し、そのいずれか１つが、ロボット動作を規制するための仮想安全柵に接したかどうかを判定して、ロボットアームの停止制御を行うようにしたことにより、仮想安全柵領域を従来のものと比較して狭い領域に設定することが可能となり、工場などの床面積や空間を無駄のない状態で有効に活用することができる。また、軌跡計算上での予測位置と前記仮想安全柵との照合を行い、接するとの判定がされたときには直ちにアームの移動を停止する制御を行うようにしたので、大形あるいは高速化したロボットであっても、仮想安全柵の手前で安全にアームを停止させることができる。それにより、より安全なロボットの運転が可能となる。
【００３８】
本発明の第２の態様によれば、実際にロボットを動作させて、その移動軌跡から複数点の参照値を取得し、それに任意幅のマージンを付加して仮想安全柵とし、次回以降の動作において得られる各点での実測値が仮想安全柵を越えるかどうかにより、移動停止制御を行うものであり、前記と同様な作用効果を達成することができる。特に、マージン幅を狭く設定することにより、少しの位置・姿勢ずれも検出できる検出能が期待できる。
【図面の簡単な説明】
【図１】本発明によるロボット動作規制方法と装置方法を備えたロボットの動作を説明する図。
【図２】本発明によるロボット動作規制装置のブロック図。
【図３】本発明のロボット動作規制方法を説明するフロー。
【図４】本発明による停止制御を実際のロボットに即して説明する図。
【図５】３次元空間領域を定義する場合の他の例を示す図。
【図６】本発明によるロボット装置の他の例を示す図。
【図７】本発明のさらに他の態様を説明する図。
【図８】図７に示す態様でのフローを示す図。
【図９】図７に示す態様でのデータテーブルなどを示す図。
【符号の説明】
１…ロボット、１０…物理的な安全柵、２…本体、３、４…アーム、５…手首、６…把持装置、７…ツール、８…関節、９…ワーク、２０…制御装置（ＣＰＵ）、２１…教示具、２２…ディスプレー、２３…入力部、５０…仮想安全柵、Ｓ…３次元空間領域
【図１】
2004322244.tif 000003
【図２】
2004322244.tif 000004
【図３】
2004322244.tif 000005
【図４】
2004322244.tif 000006
【図５】
2004322244.tif 000007
【図６】
2004322244.tif 000008
【図７】
2004322244.tif 000009
【図８】
2004322244.tif 000010
【図９】
2004322244.tif 000011