説明

ロボットシステム

【課題】ロボット作業の安全性を高めると共に、工場などでの床スペースを有効活用でき、また、設備を簡易化できるようにする。
【解決手段】ロボットのアーム及び手首に備えたワークやツールを含めたアーム占有領域と、アームが接触してはならない仮想安全防護柵と各軸の動作可能範囲をメモリー上に定義し、次回目標位置への動作指令を実行中にロボットを緊急停止した場合のロボット各軸の惰走角度を実際に測定した惰走量などから推定し、次回目標位置に加算することでロボットの惰走予測位置を求め、惰走予測位置におけるアーム占有領域と仮想安全防護柵とが接触しないか、またロボット各軸位置が動作可能範囲内であるかを確認し、異常が確認された場合に、直ちにロボットの動作を停止する制御を行なう という手順で処理する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット動作範囲を規制するロボットシステムに関する。
【背景技術】
【0002】
ロボット、特に産業用ロボットは自動車の組み立て工場などで広く用いられている。
動作に際し、ロボットアームおよびその手首(そして、手首に備えられたワークやツール)は、制御装置のメモリに記録された作業プログラム(ロボットを動作させ作業を実行するための手順が記述されたもの)により、周辺機器と干渉しないように、また無駄な動きにならないよう、所望の移動軌跡に沿って動作するようにされている。
また、ロボットアームや手首の動作により作業者などを危険に曝すような不測の事態が生じないように、ロボットの前記移動軌跡の外側には所定のマージンをおいて安全防護柵が配置されるのが通常である。
この安全防護柵は、ロボットの最大動作範囲の外部に設けられるものであるが、例えば、小物部品の搬送用途などでは、ロボットの作業のための動作範囲が狭いにもかかわらず、ロボットの最大動作領域の外部に安全防護柵を設けることは、ロボットの占有領域を広く確保することになる。そこで、ロボットの動作範囲をコンピュータによる制御で制限することも行われる。
そこで、ロボット動作を規制するための領域を「仮想安全柵」としてメモリー上に定義し、ワークやツールを含むロボットの一部を内包する3次元空間領域を少なくとも2箇所以上定義し、この3次元空間領域の軌跡計算上での予測位置と仮想安全柵との照合を行い、一部でも仮想安全柵に接する場合に、ロボットを停止させる制御が行われている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−322244号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、軌跡計算上での予測位置が仮想安全柵を越える場合に、ロボットを停止させるものであって、軌跡計算上での予測位置を越えない場合であっても緊急停止などでロボットが停止するとロボットは少なからず惰走するため、実際にロボット停止する位置は、軌跡計算上の位置とは異なっている。したがって、軌跡計算上は仮想安全柵を越えない場合であってもロボットは仮想安全柵を越えてしまうという問題点があった。
また、従来ロボット各軸の範囲制限は、指令値や現在のモータ位置に対して制限されおり、緊急停止等によってロボットが制限範囲を超えてしまう。そのため、メカストッパなどの機械的な装置によって範囲制限を実現しており、設備コストが高くなるという問題点があった。
発明はこのような問題点に鑑みてなされたものであり、仮にロボットが緊急停止された場合に、各軸が惰走した位置が、仮想安全柵に接触する可能性がある場合に、その時点でロボットを停止させ、いかなる場合でもロボットが仮想安全柵に接触する事がないようにする。また、惰走を予測した各軸位置の各軸範囲を監視することによって、ロボット緊急停止した場合でもロボット各軸角度が制限範囲を越えることがないようにする。
これらによって、工場などの床面積や空間を無駄のない状態で有効に活用できるようにした、ロボット動作規制方法とその装置およびそのような装置を備えたロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項1に記載の発明は、ロボットのアーム占有領域と、前記アーム占有領域が接触してはならない仮想安全防護柵とが定義され、
演算周期毎に前記ロボットの先端の目標位置を演算して前記ロボットの各軸の動作指令を生成する時に、
次回の演算周期の前記ロボットの先端の目標位置に基づく前記アーム占有領域が前記仮想安全防護柵に接触しないかを確認し、
接触が確認された場合には、前記ロボットの動作を停止する制御を行ない、
接触が確認されなかった場合には、
次回の演算周期の前記ロボットの先端の目標位置への動作指令に基づく前記ロボットの動作中に前記ロボットを緊急停止した場合の前記ロボットの各軸の惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求めるものである。
また、請求項2に記載の発明は、各軸の惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求め、各軸の前記惰走予測位置における前記アーム占有領域が前記仮想安全防護柵に接触しないかを推定し、
接触が確認された場合には、前記ロボットの動作を停止する制御を行なうものである。
また、請求項3に記載の発明は、前記ロボットの動作中に前記ロボットを緊急停止した場合の前記ロボット各軸の惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の前記推定した惰走角度を次回の演算周期の前記各軸の前記動作指令に加算することで前記ロボットの各軸の惰走予測位置を求め、
各軸の前記惰走予測位置が前記動作可能範囲を越えないか推定し、
各軸の前記惰走予測位置が前記動作可能範囲を越える場合には、前記ロボットの動作を停止する制御を行なうものである。
また、請求項4に記載の発明は、前記ロボットの動作中に前記ロボットを緊急停止した場合の前記ロボット各軸の前記惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の前記実際の惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求め、
各軸の前記惰走予測位置における前記アーム占有領域が前記仮想安全防護柵に接触しないかを推定し、
接触すると判断された場合には、前記ロボットの動作を停止する制御を行なうものである。
また、請求項5に記載の発明は、ロボットの各関節軸の動作可能範囲が定義され、
演算周期毎に前記ロボットの先端の目標位置を演算して前記ロボットの各軸の動作指令を生成する時に、
次回の各軸の動作指令値が前記動作可能範囲を越えないか推定し、
各軸の前記動作指令値が前記動作可能範囲を越える場合には、前記ロボットの動作を停止する制御を行ない、
各軸の前記動作指令値が前記動作可能範囲を越えない場合には、
次回の演算周期の前記ロボット先端の目標位置への動作指令に基づく前記ロボットの動作中に前記ロボットを緊急停止した場合の前記ロボット各軸の惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の前記惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求めるものである。
また、請求項6に記載の発明は、各軸の前記惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求め、各軸の惰走予測位置が前記動作可能範囲を越えないか推定し、
各軸の惰走予測位置が前記動作可能範囲を越える場合には、前記ロボットの動作を停止する制御を行なうものである。
また、請求項7に記載の発明は、複数の関節軸を備えたロボットと、前記ロボットの周辺に配置された安全防護柵をそなえ、前記ロボットは前記安全防護柵の中で作業し、前記作業を行う上で、前記ロボットが前記安全防護柵に接触するか否かの判断する制御装置を備え、前記制御装置により前記ロボットが前記安全防護柵に接触すると判断した場合には、作業を中止するものである。
また、請求項8に記載の発明は、前記制御装置には、前記ロボットの各軸の惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求める機能を備えたものである。
また、請求項9に記載の発明は、前記制御装置には、演算周期毎に前記ロボットの先端の目標位置を演算して前記ロボットの各軸の動作指令を生成する時に、
次回の各軸の動作指令値が前記動作可能範囲を越えないか推定するものである。
【発明の効果】
【0006】
本発明よると、仮にロボットが緊急停止された場合に、各軸が惰走した位置が、仮想安全柵に接触する可能性がある場合に、その時点でロボットを停止させ、いかなる場合でもロボットが仮想安全柵に接触する事がない。
また、惰走を予測した各軸位置の各軸範囲を監視することによって、ロボット緊急停止した場合でもロボット各軸角度が制限範囲を越えることがない。
これらによって、工場などの床面積や空間を無駄のない状態で有効に活用できるものである。
【図面の簡単な説明】
【0007】
【図1】第1実施例のロボット動作規制方法と装置を備えたロボットシステムを示す図
【図2】第1実施例のロボット動作規制方法を示すブロック図
【図3】第1実施例のロボット動作規制方法と装置を備えたロボットの動作を示す図
【図4】第1実施例のロボット動作規制方法のフローチャート
【図5】第1実施例の動作可能領域を定義する方法を示す図
【図6】第2実施例のロボット動作規制方法を示すブロック図
【図7】第2実施例のロボット動作規制方法を示すフローチャート
【図8】第2実施例のロボット各軸動作規制方法と装置を備えたロボットシステムを示す図
【図9】第3実施例のロボット各軸動作規制方法を示すブロック図
【図10】第3実施例のロボット各軸動作規制方法を示すフローチャート
【図11】第4実施例のロボット各軸動作規制方法を示すブロック図
【図12】第4実施例のロボット各軸動作規制方法を示すフローチャート
【発明を実施するための形態】
【0008】
以下、本発明の具体的実施形態について、図に基づいて説明する。
【実施例1】
【0009】
本発明の第1実施形態によるロボット動作規制方法と装置を備えたロボットシステムを図1を用いて説明する。工場のフロアに物理的な安全防護柵10が設けてあり、その中にロボットが設置される。
この例で、ロボット1は基台2と3本のアーム3,4,5を備えている。アーム5には把持装置6を介してツール7が備えられる。ツール7として、アーク溶接用の溶接トーチや、スポット溶接用の溶接ガン、搬送用途におけるハンドなどが取り付けられる。アーム3,4,5はそれぞれ関節8で接続されている。ワーク9は被溶接体や搬送物などである。たとえば、安全防護柵10の中では、ワーク9の溶接を行ったり、搬送物による組立作業を行うのである。
基台2には制御装置20から必要な信号が送られ、所定の作業プログラムに従い、アーム3、4、5は所定の動作を行い、把持装置6またはツール7は所望の軌跡に沿った動作を行う。
制御装置20には教示具21が接続されていて、ロボット1への教示や作業プログラムの書き換えなどを行う。
ロボットを導入し、設置して稼動に先立って、ロボット1の仮想安全防護柵50を設定する。この仮想安全防護柵50の設定は、設置のときのほかに、変更を要する際に随時行われる。仮想安全防護柵50は、多角柱の空間として定義され設定される。設定は教示具21を用いて、多角柱の頂点の座標値を数値入力するか、あるいは教示具21を操作してロボット1の制御点を動作し、多角柱の頂点の位置を指定することによって定義する。また、パソコン等で仮想安全防護柵50を設定したデータを教示具21から制御装置20に取り込むことも可能である。定義された仮想安全防護柵50は、制御装置20のメモリー上に格納される。なお、仮想安全防護柵50は、複数個の領域として定義することも可能であり、また、各仮想安全防護柵について有効や無効を設定できる。
また、ロボット1の各アーム3、4、5やツール7が空間中に占める領域を、アーム占有領域A1、A2、A3、A4、A5、A6として定義する。
まず、アーム3、4、5を、関節をつなぐ直線を軸心とする所定半径の円筒領域として定義し、それぞれA4、A5、A6とする。また、ロボット1の各関節8を内包する領域A1、A2は、関節8の軸上の1点を中心とする所定半径の球として定義する。関節8の軸上の1点は、通常は前記A4、A5、A6の領域を定義する際に使用される「関節8をつなぐ直線」と、関節8の軸線との交点を使用する。さらに、アーム5の先端の把持装置6およびツール7を内包する領域を所定半径の球A3として定義する。これらのアーム占有領域Aないし、A6の定義も、制御装置20のメモリー上に格納される。
いずれのアーム占有領域も、おおよその半径を持つ球および円筒であればよく、より半径の大きな球および円筒として定義する場合には、それだけ検出範囲は広くなるが、上記した仮想安全防護柵50はより広い領域として設定することが必要となり、スペース効率が低下する。あるいはアームの移動に制限を受けるようになる。
制御装置20にて構成されているロボット制御の一実施例を図2にブロック図で示す。教示・操作部201は、教示具21における操作者の操作で、作業プログラムの呼び出し・実行、および教示作業のためのロボット操作を行う。また、教示データ格納エリア202への教示データ(作業プログラムやその他作業に関連する情報)や、パラメータ格納エリア203への各種パラメータ設定なども行う。
パラメータ格納エリア203には、補間演算のために必要なアーム各部の寸法や、ロボット軸動作のために必要な減速比やモータ定数などの関節軸の仕様、および各軸アーム占有領域A1ないしA6の半径及び仮想安全防護柵50を定義するための座標値等も格納される。
操作者が作業プログラムの呼び出し・実行、または教示作業のためのロボット操作を行うと、教示・操作部201は、動作指令生成部204に対して、ロボット動作指令要求を送る。動作指令生成部204は、ロボット動作指令要求に対し、作業プログラムで定められた補間周期毎に次回目標位置算出部206にて算出する。ここで求めた次回目標位置について、仮想安全防護柵接触監視部208にて、仮想安全防護柵に占有領域A1ないしA6が接触するかどうかのチェックを行う。また、次回目標位置に動作している状態で緊急停止をかけられた場合に惰走して停止する位置(惰走予測位置)を、惰走予測位置算出部207によって算出し、求められた惰走予測位置について、仮想安全防護柵接触監視部208にて仮想安全防護柵に占有領域A1ないしA6が接触するかどうかのチェックを行う。次回目標位置算出部206は、算出した位置へ動作するためのロボット各軸の指令値を、駆動部205へ送る。しかし、仮想安全防護柵接触監視部208において、仮想安全防護柵との接触が検知された場合は、停止要求が駆動部205へ送られる。
駆動部205は、ロボット1の各軸を、動作指令生成部204から送られた指令値に動作させるが、停止要求を入信すると、ロボット1の動作を行わず、停止させる。
なお、ロボットの惰走量算出に必要な惰走量情報についても教示データ格納エリア203に格納される。
本発明の実施形態の基本的な考え方について図3を用いてロボット動作を説明する。
ロボット1は、現在位置301から次回目標位置302へ移動しようとしている。ここで、ロボット1に緊急停止をかけると、それぞれの軸はそのときの負荷状況に応じてわずかなりとも惰走して停止する。各軸について惰走角度を予測して、次回目標位置に加算すること、惰走予測位置303を求めることができる。図3(b)において、θs1は、現在位置301における第1軸の304の角度、θe1は、次回目標位置302における第1軸の304の角度を表している、θd1は、次回目標位置302の姿勢における負荷状況に応じて緊急停止した場合の惰走角度を表している。ここで、θe1+θd1を算出することにより、惰走予測位置303を求めることができる。惰走予測位置303において、アーム占有領域を考慮し、これが仮想安全防護柵50に接触する場合には、ロボット1を次回目標位置302へ動作させるよりも先に、ロボット1を停止させることで、惰走しても仮想安全防護柵50に接触することを回避できる。
動作指令生成部204において、仮想安全防護柵に干渉しないように制限されたロボットの動作を実現するためのフローチャートについて図4を用いて説明する。図2から図4を用いて本発明の方法について順を追って説明する。
ここでは、軸数がn個であるロボットについて説明する。基本的には、各ステップにおいて、第1軸から第n軸について同様の処理を繰り返す。各軸の軸番号をあらわす添え字として、iを用いる。
[S01]
ステップS01では、次回目標位置算出部の206において、演算周期毎の次回目標位置(図3の302)を算出する。この次回目標位置とは、ロボット各軸の角度まで求められたものを指す。続いてステップS02に進む
[S02]
ステップS02では、ステップS01で求めた次回目標位置において、アーム占有領域A1ないしA6が、仮想安全防護柵に接触していないかどうかのチェックを行う。このチェックは、仮想安全防護柵接触監視部208において行われる。
ここでの接触監視の具体的な方法については、さまざまな方法があるが、ここでは、仮想安全防護柵の多角柱を構成する線分と、ロボットやツールを内包する球や円筒との接触を監視する方法を使用するものとする。仮想安全防護柵50は、図5に示す線分51から線分57で構成される多角形58に高さを持たせたものとし、各線分51から57とアーム各部との距離を求め、干渉状態にあるかどうかを判断する方法を用いるものである。
なお、仮想安全防護柵50が、複数個の領域で定義されている場合、監視有効が指定されている全ての仮想安全防護柵について同様のチェックを行い、ひとつでも接触している場合には、「接触する」と判定する。
ここで、「接触する」と判定された場合は、ステップ09に進み、動力を切断する。そうでなければ、ステップS03に進む。
[S03]
ステップS03では、現在位置と次回目標位置の差分と、演算周期時間tから、ロボット各軸の速度ωiを求める。この速度算出は、惰走予測位置算出部207にて行われる。例えば、図3における第1軸の速度ω1は、次式で求められる。
【0010】
【数1】

【0011】
ここでθs1とθe1は、図3において説明した値が用いられる。
[S04]
ステップS04では、惰走予測位置算出部207において、次回目標位置におけるロボット各軸の惰走量を算出する。ロボットの惰走量は、アームの質量や動作速度、または使用している減速機やブレーキの種類によって変化する。そこで、予め実際のロボットシステムを使用して、少なくとも最大負荷を把持し最大負荷姿勢で、各軸最大速度ωiMAXでロボットを緊急停止させた場合の実機惰走量θDiMAXを測定しておき、その情報をパラメータ格納エリア203に記憶する。
各軸の速度ωiと実機惰走量θDiMAXから、以下の式にて第1軸の速度ω1における可変惰走角度θds1を算出する。
【0012】
【数2】

【0013】
また、ロボット停止までにリレーなどの遅れ時間がある場合には、固定遅れ時間tdと各軸速度ωiから以下の式で固定遅れによる固定遅れ惰走量を計算する。
【0014】
【数3】

【0015】
よって、惰走予測量θd1は、可変惰走量θds1と固定遅れ惰走量θdf1を加算することによって求まる。
【0016】
【数4】

【0017】
[S05]
ステップS05では、ステップ04で求めた、各軸の惰走角度を現在位置に加算することで、「各軸惰走予測角度」を算出する。
[S06]
ステップS06では、ステップS05で計算された、「各軸惰走予測角度」を使用して順変換を行うことによって「惰走予測位置」を算出する。つまりここで求めた惰走予測位置は、次回目標位置にて、ロボット1に緊急停止がかけられた場合にロボット1が行き着くと予想される位置である。
[S07]
ステップS07では、惰走予測位置303が、仮想安全防護柵に接触するかどうかのチェックを行う。チェック方法は、ステップS02と同様であり、このチェックは仮想安全防護柵接触監視部208において行われる。
ここで「接触する」と判断された場合には、ステップS09に進み、動力を停止する。そうでなければステップS08に進む。
[S08]
ステップS08では、次回目標位置算出部206が算出した次回目標位置に動作するための動作指令を駆動部205へ出力し、ロボット1を動作させる。
[S09]
ステップS09では、仮想安全防護柵接触監視部208が、駆動部205に対して、停止要求を送る。この停止要求で駆動部205はロボット1の動作を停止させる。また、停止理由をメッセージとして教示具21にディスプレイに表示する。
このような手順を取ることにより、仮に緊急停止が起こって、ロボット1が惰走したとしても、ロボット1が仮想安全防護柵に接触または超えることがなくなる。
【実施例2】
【0018】
実施例1におけるロボット動作規制方法は、ロボットの制御を行う制御プログラムで構成されるが、安全性及び信頼性がより高められるために、仮想安全防護柵への接触を監視して、接触時にロボット動作を停止させる制御を行うための装置を、独立させて設けるものである。
実施例2の構成として図6を用いて、前記の監視及び停止制御を行う装置を独立させた場合の実施形態を説明する。
図6は、図2のシステムに対し、動作領域監視装置601を追加した構成となっている。動作領域監視装置601は、駆動部205より、定められた監視周期毎に各軸モータ位置605から、ロボットの現在位置(ワーク又はツールの位置、)を求め、このロボットの現在位置に対し、仮想安全防護柵接触監視部504にて、仮想安全防護柵への接触をチェックする。また、現在位置検出部602で読み取ったモータ位置605情報を元に、惰走予測位置算出部603において、この時点で緊急停止をかけられた場合に惰走して停止する位置を算出する。この惰走予測位置に対し、仮想安全防護柵接触監視部604にて、仮想安全防護柵への接触をチェックする。
仮想安全防護柵接触監視部604は、仮想安全防護柵との接触を検知すると、駆動部205に対して、例えば駆動電源遮断信号などの緊急停止指令606を出力する。
図7は、図6のシステム構成において、仮想安全防護柵に干渉しないようにロボットの動作を制限することを実現するためのフローチャートである。図6および図7を用いて実施例2の方法について順を追って説明する。
[S101]
ステップS101で、現在位置検出部602にてロボットの各軸のモータ位置605を読み込む、次に読み込んだ各モータ位置605からロボットの現在位置を求める。以降で行う処理のために、各軸モータの現在位置(現在位置)は、前回読み込んだ前回の位置とともに記憶しておく。続いてステップS102に進む。
[S102]
ステップS102では、仮想安全防護柵接触監視部604にて、ステップS101で求めたロボットの現在位置において、図1に示すアーム占有領域A1ないしA6が、仮想安全防護柵50に接触していないかどうかのチェックを行う。具体的な接触監視の方法は、実施例1の図4のフローチャートのステップS02で行っていたのと同様の方法が適用できる。ここで「接触する」と判断された場合は、ステップS108に進み、動力を遮断する。
[S103]
ステップS103では、各軸のモータの前回位置と現在位置の差分と、監視周期時間から、ロボットの各軸速度ωiを求める。iは各軸の軸番号をあらわす添字である。続いてステップS104に進む
[S104]
ステップS104では、各軸モータの現在位置からロボットに緊急停止した場合の、各軸惰走角度を計算する。これらの算出は、惰走予測位置算出部603にて行われる。算出方法は、実施例1の図4のステップS04と同じである。続いてステップS105に進む。
[S105]
ステップS105では、各軸モータの現在位置に、ステップS104で求めた各軸の惰走角度を加算して、「惰走予測角度」を算出する。これらの算出は、惰走予測位置算出部603にて行われる。算出方法は、実施例1の図4のステップS05と同じである。続いてステップS106に進む
[S106]
ステップS106では、ステップS105で計算された、「各軸惰走予測角度」を使用して順変換を行うことによって「惰走予測位置」を算出する。つまりここで求めた惰走予測位置は、次回目標位置にて、ロボット1に緊急停止がかけられた場合にロボット1が行き着くと予想される位置である。
[S107]
ステップS107では、惰走予測位置が、仮想安全防護柵に侵入するかどうかのチェックを行う。チェックの方法は、ステップS102と同じである。ここで「接触する」と判断された場合には、ステップ108に進み、動力を遮断する。。そうでなければ、今回の監視周期における監視処理は終了する。
[S108]
ステップS108では、駆動部205に対して、緊急停止を要求する。このような構成及び手順をとることにより、仮に動作指令生成部が故障して、ロボットに以上な指令が送信された場合でも、惰走位置が仮想安全防護柵に入り込まないうちにロボットを停止させることができる。
【実施例3】
【0019】
実施例1、実施例2に記載したロボット動作規制方法は、惰走量を予測して、ロボットが仮想的な安全防護柵外へ接触することを防ぐものである。この考え方は、ロボット各軸の範囲規制にも適用できる。
【0020】
本発明の第3の実施形態によるロボット動作規制方法と装置方法を備えたロボットのシステムを図8を用いて説明する。一般的なロボットの各軸には、メカストッパなどの機械的安全装置が取り付けられ、ロボットの各軸の動作を制限している。これに対し、メカストッパの代替として、各軸動作可能範囲60を定義し、監視することでメカストッパの削減が可能となる。
本発明の第3の実施形態の他の構成として図9に示し、前記の監視及び停止制御を行う装置において各軸の動作規制行う場合の実施形態を説明する図である。
図9は、図2のシステムに対し、各軸動作範囲規制監視部901を追加した構成となっている。
次回目標位置算出部206にて算出する。ここで求めた次回目標位置について、各軸動作範囲規制監視部901にて、各軸動作可能範囲60を超えて動作するかどうかのチェックを行う。また、次回目標位置に動作している状態で緊急停止をかけられた場合には、惰走して停止する各軸角度(惰走予測角度)を、惰走予測位置算出部207によって算出し、求められた惰走予測位置について、各軸動作範囲規制監視部901にて各軸動作可能範囲60を超えて動作するかどうかのチェックを行う。次回目標位置算出部206は、算出した位置へ動作するためのロボット各軸の指令値を、駆動部205へ送る、しかし、各軸動作範囲規制監視部901において、各軸動作可能範囲60を超えて動作することが検知された場合は、停止要求が駆動部205へ送られる。
駆動部205は、ロボット1の各軸を、動作指令生成部204から送られた指令値に動作させるが、停止要求を入信すると、ロボット1の動作を行わず、駆動電源を遮断して停止させる。
なお、ロボットの各軸動作可能範囲60についても教示データ格納エリア203に格納される。
ロボット1の各軸動作可能範囲60は、ロボットを導入し、設置して稼動に先立って設定する。この各軸動作可能範囲60の設定は、設置のときのほかに、変更を要する際に随時行われる。各軸動作可能範囲60は、各軸の最大動作角度と最小動作角度として定義され設定される。設定は教示具21を用いて、各軸動作可能範囲60を数値入力するか、あるいは教示具21を操作してロボット1の制御点を動作し、各軸の現在角度を指定することによって定義する。また、パソコン等で各軸動作可能範囲60を設定したデータを教示具21から制御装置20に取り込むことも可能である。定義された各軸動作可能範囲60は、制御装置20のメモリー上に格納される。なお、各軸動作可能範囲60は、複数種類を定義することも可能である。
図10は、図9のシステム構成において、各軸動作可能範囲を超えることがないようにロボットの動作を制限することを実現するためのフローチャートである。図9および図10を用いて実施例3の方法について順を追って説明する。
【0021】
[S201]
ステップS201では、次回目標位置算出部の206において、演算周期毎の次回目標位置(図3の302)を算出する。この次回目標位置とは、ロボット各軸の角度まで求められたものを指す。続いてステップS202に進む
[S202]
ステップS202では、ステップS201で求めた次回目標位置において、各軸現在位置が、各軸動作可能範囲の範囲内であるかのチェックを行う。このチェックは各軸動作範囲規制監視部901にて行われる。現在位置が各軸動作可能範囲最大値よりも大きい、もしくは最小値よりも小さければ範囲異常と判断する。範囲異常と判断した場合には、ステップ208に進み、動力を遮断する。そうでなければステップS203に進む
なお、各軸動作可能範囲が、複数個の領域で定義されている場合、監視有効とされている各軸動作可能範囲について同様のチェックを行い、ひとつでも接触している場合には、「範囲異常」と判定する。
ここで、「範囲異常」と判定された場合は、ステップ208に進み、動力を遮断する。そうでなければ、ステップS203に進む。
[S203]
ステップS203では、現在位置と次回目標位置の差分と、演算周期時間tから、ロボット各軸の速度ωiを求める。この速度算出方法は実施例1のステップS03と同じである。
[S204]
ステップS204では、惰走予測位置算出部207において、次回目標位置におけるロボット各軸の惰走量を算出する。算出方法は、実施例1のステップS04と同じである。
[S205]
ステップS205では、ステップS204で求めた各軸の惰走角度を現在位置に加算することで、「各軸惰走予測角度」を算出する。
[S206]
ステップS206では、「各軸惰走予測角度」が、各軸動作可能範囲の範囲内であるかのチェックを行う。チェック方法は、ステップS202と同様であり、このチェックはこのチェックは各軸動作範囲規制監視部901にて行われる。
ここで「範囲異常」と判断された場合には、ステップS208に進み、動力を遮断する。そうでなければステップS207に進む。
[S207]
ステップS207では、次回目標位置算出部206が算出した次回目標位置に動作するための動作指令を駆動部205へ出力し、ロボット1を動作させる。
[S208]
ステップS208では、各軸動作範囲規制監視部901が、駆動部205に対して、停止要求を送る。この停止要求で駆動部205はロボット1の動作を停止させる。また、停止理由をメッセージとして教示具21にディスプレイに表示する。
このような手順を取ることにより、仮に緊急停止が起こって、ロボット1が惰走したとしても、ロボット1が各軸動作可能範囲を超えることがなくなる。
【実施例4】
【0022】
実施例3のロボット動作規制方法は、ロボットの制御を行う制御プログラムで構成されるが、安全性及び信頼性を高めるために、仮想安全防護柵への接触を監視して、接触時にロボット動作を停止させる制御を行うための装置を、独立させて設けることもできる。
実施例4の構成として図11に示し、前記の監視及び停止制御を行う装置において各軸の動作規制行う場合の実施形態を説明する。
図11は、図6のシステムに対し、各軸動作範囲規制監視部1101を追加した構成となっている。
動作領域監視装置601は、駆動部205より、定められた監視周期毎に各軸モータ位置605から、ロボットの現在位置(ワーク又はツールの位置、)を求め、このロボットの現在位置に対し、各軸動作範囲規制監視部1101にて、各軸動作可能範囲を超えて動作するかどうかのチェックを行う。また、現在位置検出部602で読み取ったモータ位置605情報を元に、惰走予測位置算出部603において、この時点で緊急停止をかけられた場合に惰走して停止する各軸角度を算出する。この惰走予測角度に対し、各軸動作範囲規制監視部1101にて、各軸動作可能範囲を超えて動作するかどうかのチェックを行う。
各軸動作範囲規制監視部1101は、各軸の動作範囲異常を検知すると、駆動部205に対して、例えば駆動電源遮断信号などの緊急停止指令606を出力する。
図12は、図11のシステム構成において、各軸動作可能範囲を超えることがないようにロボットの動作を制限することを実現するためのフローチャートである。この図を用いて本発明の方法を順を追って説明する。
【0023】
[S301]
ステップS301で、現在位置検出部602にてロボットの各軸のモータ位置605を読み込む、次に読み込んだ各モータ位置605からロボットの現在位置を求める。以降で行う処理のために、各軸モータの現在位置(現在位置)は、前回読み込んだ前回の位置とともに記憶しておく。続いてステップS302に進む。
【0024】

[S302]
ステップS302では、各軸動作範囲監視部1101にて、ステップS301で求めたロボットの現在位置において、各軸現在位置が、各軸動作可能範囲の範囲内であるかのチェックを行う。現在位置が各軸動作可能範囲最大値よりも大きい、もしくは最小値よりも小さければ「範囲異常」と判断する。範囲異常と判断した場合には、ステップ307に進み、動力を遮断する。そうでなければステップS303に進む。
[S303]
ステップS303では、各軸のモータの前回位置と現在位置の差分と、監視周期時間から、ロボットの各軸速度ωiを求める。iは各軸の軸番号をあらわす添字である。続いてステップS304に進む。
[S304]
ステップS304では、各軸モータの現在位置からロボットに緊急停止を変えた場合の、各軸惰走角度を計算する。これらの算出は、惰走予測位置算出部603にて行われる。算出方法は、図4のステップS04と同じである。続いてステップS305に進む。
[S305]
ステップS305では、各軸モータの現在位置に、ステップS304で求めた各軸の惰走角度を加算した、「各軸惰走予測角度」を計算する。これらの算出は、惰走予測位置算出部603にて行われる。算出方法は、図4のステップS05と同じである。続いてステップS306に進む。
[S306]
ステップS306では、「各軸惰走予測角度」が、各軸動作可能範囲の範囲内であるかのチェックを行う。チェックの方法は、ステップS302と同じである。ここで「範囲異常」と判断された場合には、ステップ307に進み、動力を遮断する。そうでなければ、今回の監視周期における監視処理は終了する。
[S307]
ステップS307では、駆動部205に対して、緊急停止を要求する。このような構成及び手順をとることにより、仮に動作指令生成部が故障して、ロボットに異常な指令が送信された場合でも、惰走位置が各軸動作可能範囲を超えて動作することなくロボットを停止させることができる。
本実施形態においては、安全柵の変わりになる動作監視について説明してきたが、一例に過ぎず、ロボットが生活空間に移動しながら動作する場合にも実施形態の考え方は適用でき、産業用ロボットに限定されるものではない。
【符号の説明】
【0025】
1 ロボット
2 本体
3、4、5 アーム
6 把持装置
7 ツール
8 関節
9 ワーク
10 物理的な安全防護柵
20 制御装置
21 教示具
50 仮想安全防護柵
51 仮想安全防護柵を構成する線分(1)
52 仮想安全防護柵を構成する線分(2)
53 仮想安全防護柵を構成する線分(3)
54 仮想安全防護柵を構成する線分(4)
55 仮想安全防護柵を構成する線分(5)
56 仮想安全防護柵を構成する線分(6)
57 仮想安全防護柵を構成する線分(7)
58 仮想安全防護柵を構成する線分(8)
59 仮想安全防護柵を構成する多角形
60 各軸動作可能範囲
201 教示・操作部
202 教示データ格納エリア
203 パラメータ格納エリア
204 動作指令生成部
205 駆動部
206 次回目標位置算出部
207、603 惰走予測位置算出部
208、604 仮想安全柵接触監視部
301 現在位置
302 次回目標位置
303 惰走予測位置
304 第1軸
601 動作領域監視装置
602 現在位置検出部
604 動作領域監視装置
605 モータ位置
606 緊急停止指令
901、1101 各軸動作範囲規制監視部
A1、A2、A3、A4、A5、A6 アーム占有領域

【特許請求の範囲】
【請求項1】
ロボットのアーム占有領域と、前記アーム占有領域が接触してはならない仮想安全防護柵とが定義され、
演算周期毎に前記ロボットの先端の目標位置を演算して前記ロボットの各軸の動作指令を生成する時に、
次回の演算周期の前記ロボットの先端の目標位置に基づく前記アーム占有領域が前記仮想安全防護柵に接触しないかを確認し、
接触が確認された場合には、前記ロボットの動作を停止する制御を行ない、
接触が確認されなかった場合には、
次回の演算周期の前記ロボットの先端の目標位置への動作指令に基づく前記ロボットの動作中に前記ロボットを緊急停止した場合の前記ロボットの各軸の惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求める








ことを特徴とするロボットシステム。

【請求項2】
各軸の惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求め、各軸の前記惰走予測位置における前記アーム占有領域が前記仮想安全防護柵に接触しないかを推定し、
接触が確認された場合には、前記ロボットの動作を停止する制御を行なうことを特徴する請求項1記載のロボットシステム。






【請求項3】
前記ロボットの動作中に前記ロボットを緊急停止した場合の前記ロボット各軸の惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の前記推定した惰走角度を次回の演算周期の前記各軸の前記動作指令に加算することで前記ロボットの各軸の惰走予測位置を求め、
各軸の前記惰走予測位置が前記動作可能範囲を越えないか推定し、
各軸の前記惰走予測位置が前記動作可能範囲を越える場合には、前記ロボットの動作を停止する制御を行なうことを特徴とする請求項1記載のロボットシステム。








【請求項4】
前記ロボットの動作中に前記ロボットを緊急停止した場合の前記ロボット各軸の前記惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の前記実際の惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求め、
各軸の前記惰走予測位置における前記アーム占有領域が前記仮想安全防護柵に接触しないかを推定し、
接触すると判断された場合には、前記ロボットの動作を停止する制御を行なうことを特徴とする請求項1記載のロボットシステム。
【請求項5】
ロボットの各関節軸の動作可能範囲が定義され、
演算周期毎に前記ロボットの先端の目標位置を演算して前記ロボットの各軸の動作指令を生成する時に、
次回の各軸の動作指令値が前記動作可能範囲を越えないか推定し、
各軸の前記動作指令値が前記動作可能範囲を越える場合には、前記ロボットの動作を停止する制御を行ない、
各軸の前記動作指令値が前記動作可能範囲を越えない場合には、
次回の演算周期の前記ロボット先端の目標位置への動作指令に基づく前記ロボットの動作中に前記ロボットを緊急停止した場合の前記ロボット各軸の惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の前記惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求めることを特徴とするロボットシステム。
【請求項6】
各軸の前記惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求め、各軸の惰走予測位置が前記動作可能範囲を越えないか推定し、
各軸の惰走予測位置が前記動作可能範囲を越える場合には、前記ロボットの動作を停止する制御を行なうことを特徴とする請求項5記載のロボットシステム。
【請求項7】
複数の関節軸を備えたロボットと、前記ロボットの周辺に配置された安全防護柵をそなえ、前記ロボットは前記安全防護柵の中で作業し、前記作業を行う上で、前記ロボットが前記安全防護柵に接触するか否かの判断する制御装置を備え、前記制御装置により前記ロボットが前記安全防護柵に接触すると判断した場合には、作業を中止するロボットシステムを用いた製造方法。
【請求項8】
前記制御装置には、前記ロボットの各軸の惰走角度を予め測定した実際の惰走角度と機械的な遅れ時間から推定し、
各軸の惰走角度を次回の演算周期の前記各軸の動作指令に加算することで前記ロボットの各軸の惰走予測位置を求める機能を備えたことを特徴とする請求項7記載のロボットシステムを用いた製造方法。
【請求項9】
前記制御装置には、演算周期毎に前記ロボットの先端の目標位置を演算して前記ロボットの各軸の動作指令を生成する時に、
次回の各軸の動作指令値が前記動作可能範囲を越えないか推定することを特徴とする請求項7記載のロボットシステムを用いた製造方法。







【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−212831(P2011−212831A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−247097(P2010−247097)
【出願日】平成22年11月4日(2010.11.4)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】