(57)【特許請求の範囲】
【請求項１】
動作可能な範囲である可動限界内で動作するアームを含むロボットであって、
前記アームは、追従領域内で、搬送装置により搬送されるワークを追従し、
前記可動限界は、前記搬送装置上に、前記搬送装置が前記ワークを搬送する方向であるワーク搬送方向の上流側の上流可動限界と、前記ワーク搬送方向の下流側の下流可動限界とを有し、
前記追従領域は、前記搬送装置の側線と前記上流可動限界と前記下流可動限界とによって囲まれる領域よりも小さく、
前記側線と前記上流可動限界と前記下流可動限界とによって囲まれる領域内であって、前記追従領域より前記ワーク搬送方向の下流側において、前記アームは、前記ワークを追従しない、
ことを特徴とするロボット。
【請求項２】
ワークを搬送する搬送装置と、
動作可能な範囲である可動限界内で動作するアームを含むロボットと、を含み、
前記アームは、追従領域内で、前記搬送装置により搬送される前記ワークを追従し、
前記可動限界は、前記搬送装置上に、前記搬送装置が前記ワークを搬送する方向であるワーク搬送方向の上流側の上流可動限界と、前記ワーク搬送方向の下流側の下流可動限界とを有し、
前記追従領域は、前記搬送装置の側線と前記上流可動限界と前記下流可動限界とによって囲まれる領域よりも小さく、
前記側線と前記上流可動限界と前記下流可動限界とによって囲まれる領域内であって、前記追従領域より前記ワーク搬送方向の下流側において、前記アームは、前記ワークを追従しない、
ことを特徴とするロボットシステム。
【請求項３】
動作可能な範囲である可動限界内で動作するアームを含むロボットを動作させる制御装置であって、
前記アームに、追従領域内で、搬送装置により搬送されるワークを追従させ、
前記可動限界は、前記搬送装置上に、前記搬送装置が前記ワークを搬送する方向であるワーク搬送方向の上流側の上流可動限界と、前記ワーク搬送方向の下流側の下流可動限界とを有し、
前記追従領域は、前記搬送装置の側線と前記上流可動限界と前記下流可動限界とによって囲まれる領域よりも小さく、
前記側線と前記上流可動限界と前記下流可動限界とによって囲まれる領域内であって、前記追従領域より前記ワーク搬送方向の下流側において、前記アームに、前記ワークを追従させない、
ことを特徴とする制御装置。
【請求項４】
動作可能な範囲である可動限界内で動作するアームを含むロボットを動作させる追従方法であって、
前記アームに、追従領域内で、搬送装置により搬送されるワークを追従させ、
前記可動限界は、前記搬送装置上に、前記搬送装置が前記ワークを搬送する方向であるワーク搬送方向の上流側の上流可動限界と、前記ワーク搬送方向の下流側の下流可動限界とを有し、
前記追従領域は、前記搬送装置の側線と前記上流可動限界と前記下流可動限界とによって囲まれる領域よりも小さく、
前記側線と前記上流可動限界と前記下流可動限界とによって囲まれる領域内であって、前記追従領域より前記ワーク搬送方向の下流側において、前記アームに、前記ワークを追従させない、
ことを特徴とする追従方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は搬送装置によって搬送されるワークを追跡し、該ワークに対して所定の処理を行うロボットを制御する制御装置、及び該制御装置を有するロボット、及び該ロボットを含んで構成されるロボットシステム、及び該制御装置に適用されてロボットをワークに追従させるロボットの追従方法に関する。
【背景技術】
【０００２】
従来、特許文献１に記載されているシステムのように、コンベヤー等の搬送装置によって搬送されるワークを追跡し、そのワークに対してロボットを追従させつつ各種の処理を行うロボットシステムが知られている。また、この種のロボットシステムは、複数のワークを処理対象とすることが一般的であり、ワークの位置検出にカメラと画像処理装置を用いることによってコンベヤー上に離散して配置された各ワークの位置を把握するようにしているものが多い。ただし、このようなシステムにあっては、コンベヤーによる移動に伴ってワークの位置が変化するため、ワークの現在位置の把握には、例えば、画像処理により取得された位置をコンベヤーの搬送量により補正するなど、その都度のワークの位置をコンベヤーの搬送量に基づき逐次補正することも欠かせない。すなわち同システムでは、搬送方向に対する各ワークの現在位置を逐次監視、補正しつつ、コンベヤーの搬送方向に直交する境界線上に設定されているロボットの追従領域を越えてそれらのワークが搬送されたことを検出する。そして、この検出されたワークにロボットを追従させることにより、同ワークに対して予め定められている所定の処理を施すようにしている。
【０００３】
ところで、このようなロボットシステムに採用されるロボットとしては、例えば特許文献２に記載されているように、複数のアームが水平関節を介して順番に連結されるスカラーロボットなどのいわゆる多関節型ロボットが用いられることも多い。そして、この特許文献２に記載のロボットシステムでも、ワークにロボットが追従して作業することのできる追従領域（コンベヤー同期可能エリア）を、ワークを撮像する視覚センサーの撮像領域に準ずるかたちでコンベヤーの搬送方向に直交する方向に区切るように設けている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１１１６０７号公報
【特許文献２】特開２００７−１５０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１や特許文献２に記載のロボットシステムのように、ロボットの追従領域をコンベヤーの搬送方向に直交するかたちで設けて同搬送方向に対するワークの位置を監視するようにすれば、ロボットの追従領域へワークが移動したことを容易に検出することができるようにはなる。一方、ロボットの追従領域の境界を上述のようにコンベヤーの搬送方向に対して直交するように設定することが必ずしも望ましいとは限らず、同境界をコンベヤーの搬送方向に直交するように設定することで追従領域を狭めてしまうおそれもある。
【０００６】
また、スカラーロボットなどの多関節型ロボットは、その基台部を中心にその先端の作業端が旋回する動作特性を有している。そこで追従領域を、このようなロボット自身の動作特性を考慮しつつ、当該ロボットの可動限界を有効に利用することができるように設定することも重要な課題となっている。
【０００７】
本発明は、このような実情に鑑みてなされたものであり、その目的は、移動するワークに追従して作業するロボットのワークへの追従能力を高めて、当該ロボットの可動限界の有効利用を図ることのできる制御装置、及びロボット、及びロボットシステム、及びロボットの追従方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の制御装置は、搬送装置により搬送されるワークに対し追従動作を行うロボットの制御を行う制御装置であって、前記制御装置は、前記ロボットが前記ワークに対し前記追従動作を行う追従領域を設定する追従領域設定部を有し、前記追従領域は、前記搬送装置上に設定された第１境界および第２境界を有し、前記第１境界および前記第２境界の少なくとも一方のうち少なくとも一部は、前記搬送装置がワークを搬送する方向であるワーク搬送方向に対して非直交であることを要旨とする。
【０００９】
このような構成によれば、追従領域の第１境界および第２境界の少なくとも一方を搬送装置がワークを搬送する方向であるワーク搬送方向に対して非直交に設定するので、ワーク搬送方向に制約されることのない高い自由度のもとで追従領域を設定することができるようになる。これにより、ロボットの動作特性など各種制約にも対応した追従領域の設定も可能となる。例えば、ワークへの追従能力の高い追従領域を設定すれば、この設定された追従領域に基づいてワークにロボットを好適に追従させることができる。なお、追従動作とは、搬送装置によって搬送されるワークの搬送速度を考慮してワークにロボットを接近させることを意味する。
【００１０】
この制御装置は、前記第１境界は、前記追従領域と、前記追従領域より前記ワーク搬送方向の上流側にあるワークに対して前記ロボットが追従動作を行わない第１非追従領域との境界であり、前記第２境界は、前記追従領域と、前記追従領域より前記ワーク搬送方向の下流側にあるワークに対して前記ロボットが追従動作を行わない第２非追従領域との境界であることを要旨とする。
【００１１】
この構成によるように、追従領域は、ワーク搬送方向の上流側にあってワークにロボットを追従させない非追従領域との間を第１境界にて、ワーク搬送方向の下流側にある同様の非追従領域との間を第２境界で区画されるようになる。
【００１２】
この制御装置は、前記第１境界および前記第２境界の少なくとも一方は、第１の直線と、前記第１の直線と連続する第２の直線を有し、前記第１の直線と前記第２の直線のなす角度は１８０°でないことを要旨とする。
【００１３】
このような構成によれば、第１の直線と第２の直線の組み合わせにより設定される第１境界および第２境界の少なくとも一方の形状の自由度が高められる。また直線の組み合わせである境界はその設定も容易である。
【００１４】
この制御装置は、前記第１境界および前記第２境界の少なくとも一方は、１つの直線からなることを要旨とする。
このような構成によれば、１つの直線からなる第１境界および第２境界の少なくとも一方の設定が極めて容易になる。
【００１５】
この制御装置は、前記第１境界および前記第２境界の少なくとも一方は、教示された少なくとも２つの点を含むように設定されることを要旨とする。
このような構成によれば、教示された２つの点を含むように第１境界および第２境界の少なくとも一方を設定することができる。すなわち教示された点を結ぶことなどにより任意の形状の境界を設定することができるようになる。なお、点の教示には、ロボットの先
端を移動させてティーチングする方法や、ロボットの可動限界と搬送装置の配置位置とから算出する方法、もしくは指示点の座標そのものを設定する方法などを適用することができる。
【００１６】
この制御装置は、前記ロボットは可動限界を有し、前記可動限界は前記搬送装置上に、前記ワーク搬送方向の上流側の上流可動限界と、前記ワーク搬送方向の下流側の下流可動限界とを有し、前記上流可動限界と前記第１境界と前記搬送装置の幅方向の端部の線とに囲まれる領域の面積と、前記下流可動限界と前記第２境界と前記搬送装置の幅方向の端部の線とに囲まれる領域の面積とが異なることを要旨とする。
【００１７】
このような構成によれば、可動限界に対して第１境界と第２境界とをそれぞれ各別に設定することができるようになる。例えば、第１境界をロボットの可動限界に近い位置に設けることにより、移動してくるワークに対してロボットの可動限界に近い位置から作業できるようになる。また、第２境界をロボットの可動限界に到達する前にワークへの追従が可能な位置に設定することで、ワークへ追従する前にロボットがその可動限界に到達することを防ぐことができるようになる。
【００１８】
本発明のロボットは、搬送装置上に設定された第１境界および第２境界を有する追従領域においてワークを追従する追従動作を行うロボットであって、前記第１境界および第２境界の少なくとも一方のうち少なくとも一部は前記搬送装置がワークを搬送する方向であるワーク搬送方向に対して非直交である前記追従領域において、ワークを追従することを要旨とする。
【００１９】
このような構成によれば、追従領域の第１境界および第２境界の少なくとも一方が搬送装置がワークを搬送する方向であるワーク搬送方向に対して非直交に設定されるので、ワーク搬送方向に制約されない高い自由度の追従領域が設定されるようになる。これにより、ロボットに、その動作特性など各種制約にも対応した追従領域を設定することが可能となる。例えば、ワークへの追従能力の高い追従領域を設定すれば、この設定された追従領域に基づいてワークにロボットが好適に追従することができる。
【００２０】
このロボットは、前記第１境界は、前記追従領域と、前記追従領域より前記ワーク搬送方向の上流側にあるワークに対して前記ロボットが追従動作を行わない第１非追従領域との境界であり、前記第２境界は、前記追従領域と、前記追従領域より前記ワーク搬送方向の下流側にあるワークに対して前記ロボットが追従動作を行わない第２非追従領域との境界であることを要旨とする。
【００２１】
この構成によるように、追従領域は、ワーク搬送方向の上流側にあってロボットがワークに追従しない非追従領域との間を第１境界にて、ワーク搬送方向の下流側にある同様の非追従領域との間を第２境界で区画されるようになる。
【００２２】
このロボットは、前記第１境界および前記第２境界の少なくとも一方は、第１の直線と、前記第１の直線と連続する第２の直線を有し、前記第１の直線と前記第２の直線のなす角度は１８０°でないことを要旨とする。
【００２３】
このような構成によれば、第１の直線と第２の直線の組み合わせにより設定される第１境界および第２境界の少なくとも一方の形状の自由度が高められる。また直線の組み合わせである境界はその設定も容易である。
【００２４】
このロボットは、前記第１境界および前記第２境界の少なくとも一方は、１つの直線からなることを要旨とする。
このような構成によれば、１つの直線からなる第１境界および第２境界の少なくとも一方のロボットへの設定が極めて容易になる。
【００２５】
このロボットは、前記第１境界および前記第２境界の少なくとも一方は、教示された少なくとも２つの点を含むように設定されることを要旨とする。
このような構成によれば、ロボットには教示された２つの点を含むように第１境界および第２境界の少なくとも一方を設定することができる。すなわち教示した点を結ばせることで任意の形状の境界を設定することができるようになる。なお、点の教示には、ロボットの先端を移動させてティーチングする方法や、ロボットの可動限界と搬送装置の配置位置とから算出する方法、もしくは指示点の座標そのものを設定する方法などを適用することができる。
【００２６】
このロボットは、前記ロボットは可動限界を有し、前記可動限界は前記搬送装置上に、前記ワーク搬送方向の上流側の上流可動限界と、前記ワーク搬送方向の下流側の下流可動限界とを有し、前記上流可動限界と前記第１境界と前記搬送装置の幅方向の端部の線とに囲まれる領域の面積と、前記下流可動限界と前記第２境界と前記搬送装置の幅方向の端部の線とに囲まれる領域の面積とが異なることを要旨とする。
【００２７】
このような構成によれば、ロボットはその可動限界に対して第１境界と第２境界とをそれぞれ各別に設定することができるようになる。例えば、第１境界をロボットの可動限界に近い位置に設けることにより、移動してくるワークに対してロボットは可動限界に近い位置から作業できるようになる。また、第２境界をロボットの可動限界に到達する前にワークへの追従が可能な位置に設定することで、ワークに追従する前にロボットがその可動限界に到達することを防ぐことができるようになる。
【００２８】
本発明のロボットシステムは、搬送装置と、前記搬送装置により搬送されるワークと、前記搬送装置上のワークの位置を検出する位置検出装置と、前記搬送装置が前記ワークを搬送した搬送量を検出する搬送量検出装置と、上記記載のロボットとを備えたことを要旨とする。
【００２９】
このような構成によれば、カメラなどの画像処理装置からなる位置検出装置にて検出された搬送装置に搬送されるワークの位置と、エンコーダーなどの搬送量検出装置にて検出された搬送装置の搬送量とに基づいてワークの現在位置を逐次追跡（トラッキング）するロボットシステムに上述のロボットが適用される。これにより、ロボットにはトラッキングされたワークに対する追従能力の高い追従領域が設定され、この設定された追従領域に基づいてロボットによるワークへの追従が好適に行なわれるシステムが構成されるようになる。
【００３０】
本発明のロボットの追従方法は、ロボットが搬送装置上のワークに対し追従動作を行う追従領域を設定する追従領域設定工程と、画像認識手段によってワークの初期位置を認識するワーク初期位置認識工程と、搬送中のワークの位置を逐次計算するワーク位置計算工程と、前記ワークが前記追従領域に進入することを判定するワーク進入判定工程と、前記追従領域に進入したワークに対し、ロボットが追従動作を行う追従工程とを有することを要旨とする。
【００３１】
このような方法によれば、逐次計算されるワークの位置に基づいて設定された追従領域にワークが進入したことを判定し、進入の判定されたワークに対してロボットを追従動作させるようにする。これにより、設定された追従領域に進入したワークにロボットを追従させることができるようになる。
【図面の簡単な説明】
【００３２】
【図１】本発明にかかるロボットシステムの第１の実施形態についてその斜視構造を示す斜視図。
【図２】同実施形態のロボットシステムの構成を機能ブロックにて示すブロック図。
【図３】同実施形態のロボットシステムに設定されるロボットの追従領域を模式的に示す模式図。
【図４】同実施形態のロボットシステムにロボットの追従領域を規定する指示点を設定する際の態様を示す状態図。
【図５】同実施形態のロボットシステムにロボットの追従領域を設定する際の工程を示すフローチャート。
【図６】同実施形態のロボットシステムにて搬送されるワークに対して同システムのロボットが追従して作業を行なう際の工程を示すフローチャート。
【図７】本発明にかかるロボットシステムの第２の実施形態についてそれに設定されるロボットの追従領域について示す模式図。
【図８】本発明にかかるロボットシステムの第３の実施形態についてそれに設定されるロボットの追従領域について示す模式図。
【図９】本発明にかかるロボットシステムの第４の実施形態についてそれに設定されるロボットの追従領域について示す模式図。
【発明を実施するための形態】
【００３３】
（第１の実施形態）
以下、本発明を具体化したロボットシステムの第１の実施形態について図に従って説明する。図１は、ロボットシステムの概略構成を斜視にて示す図であり、図２は、ロボットシステムの機能の構成を機能ブロックにて示すブロック図である。
【００３４】
図１に示すように、ロボットシステムには、ワークＷを搬送するコンベヤー１と、コンベヤー１に搬送されるワークＷを撮像するカメラ２と、当該コンベヤー１の搬送量を測定するエンコーダー３と、ワークＷに対して所定の作業を行なうロボット４とが設けられている。また、ロボットシステムには、ロボット４を制御するロボットコントローラー５が設けられており、このロボットコントローラー５には、ロボット４とともに上述したカメラ２及びエンコーダー３が接続されている。なお、本実施形態のように、ロボット４の可動限界内には、ワークＷやツールを載置させることのできる作業台６などがシステム構成などに応じて適宜設置される。
【００３５】
コンベヤー１は、被搬送物を搬送方向Ｃｖ（ワーク搬送方向）へ所定の速度で移動させるものであり、その上面に載置されている複数のワークＷをそれぞれ所定の速度で搬送方向Ｃｖへ移動させる。なお、本実施形態では、搬送方向ＣｖをＸ軸方向とし、搬送方向Ｃｖに直交するとともにコンベヤー１に平行な方向（幅方向）をＹ軸方向としている。また、コンベヤー１に垂直な方向（上下方向）をＺ軸方向とし、Ｚ軸を中心としてのＸ軸方向に対する角度をずれ角度としている。すなわち、コンベヤー１に載置されたワークＷは、コンベヤー１による搬送に伴って、Ｘ軸方向に対する位置は搬送方向Ｃｖへ変化される一方、Ｙ軸方向に対する位置は維持される。
【００３６】
カメラ２は、コンベヤー１の一部を撮像範囲に含むように当該コンベヤー１の上方に配置されており、コンベヤー１に載置されたワークＷを撮像可能になっている。カメラ２の撮像範囲は、Ｘ軸方向とＹ軸方向に沿う略矩形状に設けられている。この撮像範囲は、コンベヤー１の搬送方向ＣｖたるＸ軸方向には予め定められた長さを有し、Ｙ軸方向にはコンベヤー１の幅を含む長さを有するように設定されている。これにより、カメラ２は、コンベヤー１が搬送方向Ｃｖに移動するとき、コンベヤー１が撮像範囲の長さと同じ距離だけ移動する毎にコンベヤー１の上面を撮像することで、コンベヤー１の上面をそこに載置
されているワークＷとともにもれなく撮像することができる。
【００３７】
エンコーダー３は、コンベヤー１の搬送方向Ｃｖへの移動量（ワークＷの搬送量）を逐次測定する。これにより、例えばカメラ２の撮像範囲にあったワークＷについて、その撮像後の位置をその撮像後に測定された搬送量にて補正することにより、Ｘ軸方向に対する現在位置を算出することができるようになる。
【００３８】
ロボット４は、いわゆるスカラーロボットであって、垂直軸を有する関節により連結される２本の水平アームからなり、連結された２本の水平アームを支持する基台部に第１関節が設けれ、２本の水平アームの間に第２関節が設けられている。各関節には当該関節を駆動させるモーター４ａ（図２参照）がそれぞれ設けられている。ロボット４は、その基台部がコンベヤー１の一側に設置されており、２本の水平アームの先端にある作業部Ｐ０の可動限界ＲＡ（図３参照）にコンベヤー１の幅を含むようになっている。なお、ロボット４の各関節は水平アームを旋回運動させることから、アーム先端の作業部Ｐ０の可動限界ＲＡの境界は円弧状に形成されるようになっている。
【００３９】
作業部Ｐ０は、コンベヤー１に対して上下動可能になっているとともに、ワークＷの把持装置やワークＷの加工装置などの各種ツールの取り付けが可能となっている。これにより、ロボット４は、ツールの設置された作業部Ｐ０をコンベヤー１上に配置させて下降させることにより、作業部Ｐ０を介してコンベヤー１によって搬送されているワークＷに所定の作業をすることができるようになっている。また、作業部Ｐ０を上昇させておくことによって、作業部Ｐ０をコンベヤー１上のワークＷに干渉させることなく移動させることができるようになっている。
【００４０】
ロボットコントローラー５は、ロボット４を駆動制御する制御装置であり、ロボット４が目標位置に移動する位置決め動作を制御したり、ロボット４が移動しているワークＷに追従する追従動作を制御したりする。すなわち、ロボットコントローラー５は、ロボット４を目標位置まで移動させるための軌道を算出し、算出された軌道に沿うようにロボット４を駆動制御する。このようなことにより、具体的には、コンベヤー１により搬送方向Ｃｖへ所定の速度で搬送されているワークＷに対してロボット４を近接させるように追従させることができる。
【００４１】
ロボットコントローラー５には、予めもしくは逐次、ロボット４の駆動に必要とされる各種データが設定されたり、入力されたりするようになっており、ロボットコントローラー５は、そのように設定や入力された各種データに基づいてロボット４を駆動制御するための各種データを設定したり演算したりする。各種データは、例えばユーザーインターフェース装置から設定されたり、ロボットシステムに設置される各種センサーから入力されるようになっている。なお本実施形態では、ロボットコントローラー５には予め、ロボット４の構造や動作特性などを示すロボットデータや、コンベヤー１とロボット４の相対位置関係やコンベヤー１とカメラ２の相対位置関係を示す各種位置データ、及びワークの種類や形状を示すワークデータなどが設定されている。そして、これらロボットデータ、各種位置データ及びワークデータがロボット４の駆動制御に用いられる。
【００４２】
より具体的には、ロボットコントローラー５は、ロボット４の各関節の角度を調整して作業部Ｐ０を所定の軌道により移動させて、当該作業部Ｐ０を目標位置に移動させたり、所定の速度で移動させたりする。例えば、ロボットコントローラー５は、ロボット４を駆動制御して、ロボット４の作業部Ｐ０をコンベヤー１に搬送されるワークＷの中心位置Ｐ１に移動させ当該中心位置Ｐ１に近接した状態となるように追従させる。そして、作業部Ｐ０の把持装置にワークＷを把持させて作業台６の配置位置Ｐ２まで移動させ、ワークＷを配置位置Ｐ２に載置させるようになっている。
【００４３】
すなわち、ロボットコントローラー５は、中央演算処理装置（ＣＰＵ）、記憶装置（不揮発性メモリ、揮発性メモリなど）を有するマイクロコンピュータを中心に構成されており、メモリに格納されている各種データ及びプログラムに基づいて各種制御を実行する。
【００４４】
図２に示すように、本実施形態では、ロボットコントローラー５は、ユーザープログラムを記憶するユーザープログラム記憶部１１を記憶装置に備え、該ユーザープログラム記憶部１１に記憶されたユーザープログラムを実行するユーザープログラム実行部１２をＣＰＵに備えている。また、カメラ２により認識されたワークＷの初期位置が格納されるワーク位置記憶部１３を記憶装置に備え、該ワーク位置記憶部１３のワークＷの現在位置をコンベヤー１の移動量に基づいて算出させるワーク位置更新部１４をＣＰＵに備えている。さらに、追従領域が設定される追従領域設定部１５を記憶装置に備え、作業部Ｐ０の軌道（各関節の角度）を生成し、これをモーター指令値（パルス）に変換して後述のモーター制御部１８に出力する追従指令値生成部１６をＣＰＵに備えている。またさらに、追従領域とワークＷの位置関係などから作業対象となるワークＷを検出する作業対象検出部１７をＣＰＵに備え、追従指令値生成部１６からのモーター指令値に従って各関節のモーター４ａを制御するモーター制御部１８をＣＰＵに備えている。
【００４５】
ユーザープログラム記憶部１１のユーザープログラムは、作業対象のワークＷに追従するようにロボット４の作業部Ｐ０を移動させるために必要な座標系の変換などの各種処理を実行するプログラムである。また、作業対象検出部１７が作業対象として検出したワークＷを作業対象リストに登録させ、作業対象検出部１７が作業対象外として検出したり、作業の終了により作業対象外となったワークＷを作業対象リストから削除させる。さらに、所定の条件に基づいて作業対象リストから作業対象とするワークＷを選択するなどの処理を実行するプログラムである。
【００４６】
ユーザープログラム実行部１２は、ユーザープログラムを実行する。ユーザープログラム実行部１２は、作業対象リストを管理しており、作業対象検出部１７の検出結果から作業対象として検出されたワークＷを作業対象リストに登録する。一方、追従指令値生成部１６の処理結果や作業対象検出部１７の検出結果から作業対象外として検出されたワークＷを作業対象リストから削除する。また、作業対象リストに登録されたワークＷから所定の条件に応じて作業対象とするワークＷを選択して、その選択されたワークＷの情報等を追従指令値生成部１６に伝達する。さらに、ユーザープログラム実行部１２は、選択されたワークＷにロボット４を追従等させるために必要な情報を算出して、その算出データを追従指令値生成部１６に伝達する。
【００４７】
ワーク位置更新部１４は、カメラ２が撮影したコンベヤー１上のワークＷの撮影画像からワークＷの初期位置（Ｘ軸方向の座標、Ｙ軸方向の座標、ずれ角度など）を求めて（ワーク初期位置認識工程）その初期位置の情報をワーク位置記憶部１３に格納する。一方、ワーク位置更新部１４は、エンコーダー３から入力されるコンベヤーパルスの積算によるコンベヤーパルス数に基づいてコンベヤー１によるワークＷの搬送量（Ｘ軸方向の量）を算出する。そして、ワークＷの撮影時（初期位置）のコンベヤーパルス数と現在のコンベヤーパルス数との差を求め、このパルス数の差と、予め設定された単位コンベヤーパルスあたりの搬送量との積によりワークＷの初期位置に対する搬送量を求める。ワーク位置更新部１４は、ワーク位置記憶部１３に記憶されている撮影時に算出されたワークＷの初期位置（Ｘ軸方向の座標）に、上述のようにして算出したワークＷの搬送量を加算することなどにより、ワークＷの現在位置を逐次計算できるようにしている（ワーク位置計算工程）。ここで、ワーク位置更新部１４は、ワークＷのＸ軸方向の座標を逐次計算できるようにするが、ワークＷの座標はコンベヤー１による搬送によってはＹ軸方向の座標、Ｚ軸方向の座標及びずれ角度は変化しないため、Ｙ軸方向の座標、Ｚ軸方向の座標及びずれ角度
を更新させるための処理を行なわない。このようにして、逐次計算により現時点におけるワークＷの現在位置（Ｘ軸方向の座標、Ｙ軸方向の座標、ずれ角度）が求められるようになる。
【００４８】
追従指令値生成部１６は、作業対象であるワークＷに対する軌道を生成するとともに、当該軌道をロボット４が追従するための各関節の関節角度を計算する。なお、本実施形態では、軌道は、コンベヤー１の搬送量（コンベヤ１の速度）を考慮して生成される。追従指令値生成部１６は、ロボット４を軌道に沿わせるための各関節の関節角度を、モーター制御部１８によるモーター４ａの制御周期に応じたサンプリングタイム毎の目標関節角度としてモーター制御部１８に出力する。このように、追従指令値生成部１６は、軌道を生成し、その軌道に沿うための目標関節角度をサンプリングタイム周期で繰り返し算出する。なお、ワークＷへの処理を終了した場合や、作業対象検出部１７が作業対象外として検出したりした場合、当該ワークに対する計算処理を終了する。このとき、処理の終了されたワークＷの情報は、当該ワークが作業対象外であるものとしてユーザープログラム実行部１２に伝達されて作業対象リストから当該ワークＷが削除される。
【００４９】
追従領域設定部１５には、ロボット４がワークＷに対して追従動作を開始できる追従領域が、当該追従領域を設定するための追従領域設定工程により設定される。本実施形態では、追従領域は、予め定められた複数の指示点が所定の順序で直線的に結ばれることなどにより区画され、各指示点は、追従領域設定工程において、ロボット４の作業部Ｐ０を実際に移動させた位置（点）が教示されるティーチングによりロボット４の可動限界ＲＡ内に設定される。このティーチングにより、ロボット４には、当該指示点に作業部Ｐ０を配置させるときの各関節の角度が記憶される。このことにより、追従領域に含まれない領域は、ロボットがワークに対して追従を行なわない非追従領域とされ、コンベヤー１上には、追従領域を非追従領域に対して区画する境界が当該追従領域の縁に沿って形成される。
【００５０】
作業対象検出部１７は、所定の実行周期で、ワークＷの現在位置と、追従領域設定部１５の追従領域とを比較する。そして、ワークＷの現在位置が追従領域内に到達（進入）したとき当該ワークＷを作業対象として検出す（ワーク進入判定工程）とともに、ワークＷが追従領域内から逸脱したことによりワークＷの現在位置が追従領域内に含まれなくなるとき当該ワークＷを作業対象外として検出する。そして、検出された結果をユーザープログラム実行部１２や追従指令値生成部１６に伝達する。すなわち、ワークＷが追従領域内に到達したとき作業対象としてユーザープログラム実行部１２に伝達されて作業対象リストに当該ワークＷが登録される。また、ワークＷが追従領域内から逸脱したとき作業対象外としてユーザープログラム実行部１２に伝達されて作業対象リストから当該ワークＷが削除される。
【００５１】
次に、追従領域とその設定方法について図に従って説明する。
図３は、追従領域を模式的に示す模式図であり、図４は、追従領域を規定する指示点を設定する態様を示す状態図であり、図５は、指示点を設定する工程の手順を示すフローチャートである。
【００５２】
図３に示すように、追従領域は、ロボット４の可動限界ＲＡ内にあって、コンベヤー１を横切るようにコンベヤー１の搬送方向Ｃｖの上流側に設けられる第１境界ＢＬ１と、コンベヤー１を横切るようにコンベヤー１の搬送方向Ｃｖの下流側に設けられる第２境界ＢＬ２と、コンベヤー１の各側線１ａ，１ｂとによって囲まれる範囲として設定される。コンベヤー１の各側線１ａ，１ｂはそれぞれ、コンベヤーの幅方向の一端部を含みコンベヤーの搬送方向Ｃｖに延びる線である。第１境界ＢＬ１は、ワークＷがコンベヤー１に搬送されながら追従領域に入るときに通過する入側の境界線であり、第２境界ＢＬ２は、ワークＷがコンベヤー１に搬送されながら追従領域から出るときに通過する出側の境界線であ
る。このことから本実施形態では、第１境界ＢＬ１よりも上流（図３において左方向）をロボット４がワークＷに対して追従を行なわない第１非追従領域とし、第２境界ＢＬ２よりも下流（図３において右方向）をロボット４がワークＷに対して追従を行なわない第２非追従領域としている。なお、コンベヤー１の各側線１ａ，１ｂはコンベヤー１の搬送方向Ｃｖと一致するので、コンベヤー１によって搬送方向Ｃｖに搬送されるワークＷはこれを通過することはない。
【００５３】
第１境界ＢＬ１は、コンベヤー１の側線１ｂとロボット４の搬送方向Ｃｖ上流側の可動限界ＲＡとが交差する指示点Ｐ１１と、コンベヤー１の側線１ａとロボット４の搬送方向Ｃｖ上流側の可動限界ＲＡとが交差する指示点Ｐ１２とを結ぶ直線として設定される。本実施形態では、可動限界ＲＡの上流側であって、コンベヤー１の各側線１ａ，１ｂとの交差により区分される部分を、すなわち、各指示点Ｐ１１，Ｐ１２とを結ぶ可動限界ＲＡの円弧部分を、上流可動限界とする。上流可動限界に重なる各指示点Ｐ１１，Ｐ１２は、Ｘ軸方向の座標が相違することとなることからこれらを結ぶ第１境界ＢＬ１は、Ｙ軸方向に傾きを有するようになりコンベヤー１の搬送方向Ｃｖに非直交に設定される。また、第１境界ＢＬ１は、指示点Ｐ１１と指示点Ｐ１２とでは、ロボット４の上流可動限界と一致し、コンベヤー１の幅方向の中心線１ｃの位置にあっても、円弧状の可動限界ＲＡに対して直線状の境界線を設定する場合に生じる最小の離間距離である距離Ｓ１０だけしか離れていない位置を追従領域に含むことができるようになる。このように、第１境界ＢＬ１を、第１境界ＢＬ１と、上流可動限界と、各側線１ａ，１ｂとにより区画され、可動限界ＲＡに含まれるもののロボット４による追従動作が行なわれない領域の面積を小さくするように設定することで、ロボット４の可動限界ＲＡが有効利用されるようにもなる。
【００５４】
第２境界ＢＬ２は、２つの指定端点Ｐ３１と指定端点Ｐ３２を結ぶ直線として設定されている。指定端点Ｐ３１は、コンベヤー１の側線１ｂとロボット４の搬送方向Ｃｖ下流側の可動限界ＲＡとが交差する指示点Ｐ２１が当該可動限界ＲＡ内に距離Ｓ２１だけ移動した点として設定されている。また、指定端点Ｐ３２は、コンベヤー１の側線１ａと同可動限界ＲＡとが交差する指示点Ｐ２２が当該可動限界ＲＡ内に距離Ｓ２２だけ移動した点として設定されている。本実施形態では、可動限界ＲＡの下流側であって、コンベヤー１の各側線１ａ，１ｂとの交差により区分される部分を、すなわち、各指示点Ｐ２１，Ｐ２２とを結ぶ可動限界ＲＡの円弧部分を、下流可動限界とする。また本実施形態では、各距離Ｓ２１，Ｓ２２は略等しい長さに設定されており、各指定端点Ｐ３１，Ｐ３２は、先の各指示点Ｐ１１，Ｐ１２の場合と同様に、Ｘ軸方向の座標が相違することとなることからこれらを結ぶ第２境界ＢＬ２は、Ｙ軸方向に傾きを有するようになりコンベヤー１の搬送方向Ｃｖに非直交に設定される。
【００５５】
各距離Ｓ２１，Ｓ２２は、その位置において搬送方向Ｃｖに搬送されているワークＷに対してロボット４が追従及び作業などの処理を開始しても、当該処理を可動限界ＲＡ内で終了することができる距離である。すなわち、各距離Ｓ２１，Ｓ２２は、ロボット４の可動限界ＲＡ内の位置と、当該位置から下流可動限界との間に予め設定される距離である。このことから、距離Ｓ２１，Ｓ２２は、コンベヤー１の速度や、ワークＷへのロボット４の追従能力や、ロボット４の作業内容などによって、適宜変更される値であり、それら値は、ロボット４の動作から測定されたり、演算式やシミュレーションなどから算出されるなどして設定される。すなわち、第２境界ＢＬ２は、指定端点Ｐ３１や指定端点Ｐ３２では、ロボット４の可動限界ＲＡの境界との間に、ロボット４の追従と作業に最小限必要とされる距離Ｓ２１と距離Ｓ２２に一致する距離を有している。また、コンベヤー１の幅方向の中心線１ｃの位置にあっても、上述の距離Ｓ２１や距離Ｓ２２に、円弧状の可動限界ＲＡに対して直線状の境界線を設定する場合に生じる最小の離間距離（例えば、前述の距離Ｓ１０）を加えた距離Ｓ２０だけしか離れていない位置とすることができる。これにより、第２境界ＢＬ２を、第２境界ＢＬ２と、下流可動限界と、各側線１ａ，１ｂとにより
区画され、可動限界ＲＡに含まれるもののロボット４による追従動作が行なわれない領域の面積を小さくするように設定することで、ロボット４の可動限界ＲＡが有効利用されるようになる。なお、本実施形態では、各距離Ｓ２１，Ｓ２２は等距離に設定されているが、これらの各距離Ｓ２１，Ｓ２２は、その条件に応じて各別の距離に設定されるものであるから相違してもよい。
【００５６】
ところで、本実施形態では、各指示点Ｐ１１，Ｐ１２，Ｐ２１，Ｐ２２はロボット４の作業部Ｐ０を当該位置に実際に移動させる教示（ティーチング）によってロボットコントローラー５に設定されるようになっている。すなわち、図４に示すように、第１境界ＢＬ１の指示点Ｐ１１は、ロボット４の作業部Ｐ０がコンベヤー１の側線１ｂと当該ロボット４の上流可動限界との交点まで、例えば手動で移動されることによって設定される。同様に、第１境界ＢＬ１の指示点Ｐ１２は、ロボット４の作業部Ｐ０がコンベヤー１の側線１ａと当該ロボット４の上流可動限界との交点まで、例えば手動で移動されることによって設定される。
【００５７】
ここでティーチング処理について詳述する。ティーチングが開始されると、図５に示すように、ロボット４が第１境界ＢＬ１の始点となる指示点Ｐ１１に移動され（ステップＳ１０）、ロボットコントローラー５には当該指示点Ｐ１１が始点として設定される（ステップＳ１１）。そして次に、第１境界ＢＬ１の終点となる指示点Ｐ１２にロボット４が移動され（ステップＳ１２）、ロボットコントローラー５は、この点が中間点であるか否かについてユーザーの操作等に基づいて判断する（ステップＳ１３）。本実施形態のように中間点がないか、中間点の設定が終わると、この点は中間点ではないと判断されて（ステップＳ１３でＮＯ）、この点が終点として設定される（ステップＳ１５）。一方、例えば、中間点がある場合、この点が中間点であると判断されると（ステップＳ１３でＹＥＳ）、ロボットコントローラー５はこの点を中間点と設定して（ステップＳ１４）、ステップＳ１２に戻り、次の点が設定されるようにする。
【００５８】
終点の設定が終了すると、ロボットコントローラー５は、設定された始点、終点及び中間点に基づいて境界線を設定する（ステップＳ１６）。すなわち、本実施形態では、上流側の境界線であることから、始点としての指示点Ｐ１１と終点としての指示点Ｐ１２とを結ぶ線からなる第１境界ＢＬ１が設定される。
【００５９】
また、第２境界ＢＬ２の指示点Ｐ２１は、ロボット４の作業部Ｐ０がコンベヤー１の側線１ｂと当該ロボット４の下流可動限界との交点まで、例えば手動により移動されることによって設定される。同様に、第２境界ＢＬ２の指示点Ｐ２２は、ロボット４の作業部Ｐ０がコンベヤー１の側線１ａと当該ロボット４の下流可動限界との交差点まで、例えば手動により移動されることによって設定される。これにより、指示点Ｐ２１に基づく指定端点Ｐ３１と、指示点Ｐ２２に基づく指定端点Ｐ３２とが設定されるようになる。
【００６０】
ここでティーチング処理について詳述する。図５に示すように、第２境界ＢＬ２のためのティーチングが開始されると、第１境界ＢＬ１と同様に、ロボットコントローラー５には、ロボット４の始点（指示点Ｐ２１）と終点（指示点Ｐ２２）とがそれぞれ設定される（ステップＳ１０〜Ｓ１５）。終点の設定が終了すると、ロボットコントローラー５は、下流側の境界線の場合、始点（指示点Ｓ２１）と終点（指示点Ｓ２２）とをそれぞれ搬送方向Ｃｖとは逆の方向に予め設定されている距離Ｓ２１，Ｓ２２だけ移動させた指定端点Ｐ３１と指定端点Ｐ３２とをそれぞれ始点と終点とする第２境界ＢＬ２を設定する。
【００６１】
次に、ロボットシステムによるワークＷへのロボット４の追従工程について図を参照して説明する。図６は、ワークＷに対するロボット４の追従工程を示すフローチャートである。なお、この工程は、終了されたときには定期的に実行が開始されるようになっている
。
【００６２】
図６に示すように、ロボットコントローラー５は、ワーク位置更新部１４等を通じてワークＷの現在位置を取得し（ステップＳ２０）、追従領域に入っているワークＷがあるか否かを判断する（ステップＳ２１）。追従領域に入っているワークＷがないと判断された場合（ステップＳ２１でＮＯ）、ロボット４による追従工程は終了される。
【００６３】
一方、追従領域に入っているワークＷがあると判断される場合（ステップＳ２１でＹＥＳ）、ロボットコントローラー５は、作業対象検出部１７が追従領域への到達を検出したワークＷをユーザープログラム実行部１２にて作業対象リストに登録する（ステップＳ２２）。そして、ロボットコントローラー５は、ユーザープログラム実行部１２にて作業対象リストの中から所定の条件に基づいて作業対象となるワークＷを選択し（ステップＳ２３）、当該選択されたワークＷに対する軌道などを追従指令値生成部１６にて生成する。追従指令値生成部１６にて生成された軌道に基づいてモーター制御部１８を介してロボット４が駆動制御されてワークＷへの追従及び作業が行なわれる（ステップＳ２４）。選択されたワークＷに対する追従及び作業が終了すると、ロボットコントローラー５は、当該ワークＷを作業対象リストから削除してから（ステップＳ２５）、作業対象リストに他のワークＷが登録されているか否かを判定する（ステップＳ２６）。作業対象リストに他のワークＷが登録されていると判定される場合（ステップＳ２６でＹＥＳ）、ステップＳ２３に戻り、作業対象を選択するとともに同選択（ステップＳ２３）以下の処理を繰り返えす。一方、作業対象リストにワークＷが登録されていないと判定される場合（ステップＳ２６でＮＯ）、ロボットコントローラー５は、ワークＷに対するロボット４の追従及び作業を終了する。
【００６４】
以上説明したように、本実施形態のロボットシステムによれば、以下に列記するような効果が得られるようになる。
（１）追従領域の第１境界ＢＬ１および第２境界ＢＬ２をワークＷの搬送方向（コンベヤー１の搬送方向Ｃｖ）に対して非直交に設定した。これにより、ワークＷの搬送方向Ｃｖに制約されることのない高い自由度のもとで追従領域を設定することができるようになる。また、ワークへの追従能力の高い追従領域の設定もできるようになり、このように設定された追従領域に基づいてワークＷにロボット４を好適に追従させることができるようになる。
【００６５】
（２）追従領域を、上流側にあってはワークＷにロボット４を追従させない非追従領域と第１境界ＢＬ１にて区画でき、下流側にあっては同様の非追従領域と第２境界ＢＬ２で区画できるようになる。
【００６６】
（３）第１境界ＢＬ１や第２境界ＢＬ２をそれぞれ一つの直線のみからなるものとして設定した。これにより、境界の設定を極めて容易に行えるようになる。
（４）第１境界は２つの指示点Ｐ１１，Ｐ１２を含むように、第２境界は２つの指示点Ｐ２１，Ｐ２２に基づいて設定される２つの指定端点Ｐ３１，Ｐ３２を含むように設定した。すなわち教示された点を結ぶことなどにより任意の形状の境界を設定することができるようにもなる。なお、点の教示には、ロボット４の先端を移動させてティーチングする方法や、ロボット４の可動限界ＲＡとコンベヤー１の配置位置とから算出する方法、もしくは指示点の座標そのものを設定する方法などを適用することができる。
【００６７】
（５）可動限界ＲＡに対して、第１境界ＢＬ１や第２境界ＢＬ２を高い自由度で設定できるようにした。例えば、第１境界ＢＬ１をロボット４の可動限界ＲＡに近い位置に設けることにより、移動してくるワークＷに対してロボットの可動限界ＲＡに近い位置から作業できるようになる。また、第２境界ＢＬ２をロボット４の可動限界ＲＡに到達する前に
ワークＷへの追従が可能な位置に設定することで、ワークＷへ追従する前にロボット４がその可動限界ＲＡに到達することを防ぐことができるようになる。
【００６８】
（６）旋回アームの旋回軌道に基づき制約される動作特性を有する多関節型ロボットであるスカラーロボット（ロボット４）に対しても、当該ロボット４の動作特性に適応するとともにコンベヤー側による制約を考慮した追従領域を設定することができるようになる。
【００６９】
（７）カメラ２やロボットコントローラー５などからなる位置検出装置にて検出されたワークＷの位置と、エンコーダー３などの搬送量検出装置にて検出されたコンベヤー１の搬送量とに基づいてワークＷの現在位置を逐次追跡（トラッキング）するロボットシステムにも上述のロボット４を適用した。これにより、ロボット４にはトラッキングされたワークＷに対して追跡能力の高い追従領域が設定され、この設定された追従領域に基づいてワークＷに対するロボット４の追従が好適に行なわれるシステムが構成されるようになる。
【００７０】
（８）逐次計算されるワークＷの位置に基づいて、追従領域にワークＷが進入したことを判定し、進入の判定されたワークＷに対してロボット４を追従動作させるようにした。これにより、任意に設定された追従領域であれ、当該追従領域に進入したワークＷにロボット４を追従させることができるようになる。
【００７１】
（第２の実施形態）
以下、本発明を具体化したロボットシステムの第２の実施形態について図７に従って説明する。図７は、ロボットシステムに設定される追従領域について模式的に示した図である。なお、本実施形態のロボットシステムは、第１の実施形態のロボットシステムと追従領域が相違するものの、その他の構成については同様であることから、以下では主に相違点についての説明をし、第１の実施形態と同様の構成については、説明の便宜上、同一の符号を付し、その説明を省略する。
【００７２】
図７に示すように、追従領域は、ロボット４の可動限界ＲＡ内にあって、コンベヤー１の搬送方向Ｃｖの上流側に設けられる第１境界ＢＬ１０と、コンベヤー１の搬送方向Ｃｖの下流側に設けられる第２境界ＢＬ２０と、コンベヤー１の各側線１ａ，１ｂとによって囲まれる範囲に設定されている。すなわち第１境界ＢＬ１０は、ワークＷがコンベヤー１に搬送されながら追従領域に入るときに通過する入側の境界線であり、第２境界ＢＬ２０は、ワークＷがコンベヤー１に搬送されながら追従領域から出るときに通過する出側の境界線である。
【００７３】
第１境界ＢＬ１０は、３つの指示点Ｐ１１，Ｐ１３，Ｐ１２を結ぶ２つの直線の組み合わせ、すなわち、２つの指示点Ｐ１１，Ｐ１３を結ぶ第１の直線ＢＬ１Ａと、２つの指示点Ｐ１３，Ｐ１２を結ぶ第２の直線ＢＬ１Ｂとの組み合わされた線として設定されている。先の第１の実施形態と同様に、指示点Ｐ１１は、コンベヤー１の側線１ｂとロボット４の上流可動限界とが交差する点であり、指示点Ｐ１２は、コンベヤー１の側線１ａとロボット４の上流可動限界とが交差する点である。指示点Ｐ１３は、コンベヤー１の幅方向の中心線１ｃとロボット４の上流可動限界とが交差する点である。コンベヤー１上に重なる可動限界ＲＡの円弧状の境界に基づく各指示点Ｐ１１，Ｐ１３，Ｐ１２は、Ｘ軸方向の座標が相違することとなることからこれらを結ぶ第１境界ＢＬ１０は、Ｙ軸方向に傾きを有するようになりコンベヤー１の搬送方向Ｃｖに非直交に設定される。また、第１境界ＢＬ１０は、各指示点Ｐ１１，Ｐ１３，Ｐ１２においてロボット４の可動限界ＲＡの境界と一致する。すなわち、コンベヤー１の中心線１ｃの位置にあっても、上流可動限界に一致するため、円弧状の可動限界ＲＡと各直線ＢＬ１Ａ，ＢＬ１Ｂとの間に生じる離間距離を短
くすることができるようになる。第１境界ＢＬ１０を２つの直線ＢＬ１Ａ，ＢＬ１Ｂの組み合わせとすることで円弧状の可動限界ＲＡに対する離間距離を小さくすることができる。このように、第１境界ＢＬ１０は、ロボット４の可動限界ＲＡが有効利用されるようにも設定される。また、円弧状の可動限界ＲＡの一部である上流可動限界に内接するかたちに設けられる連続した２つの直線ＢＬ１Ａ，ＢＬ１Ｂであれば、それら直線ＢＬ１Ａ，ＢＬ１Ｂのなす角度は自ずと１８０°ではない角度となる。
【００７４】
第２境界ＢＬ２０は、３つの指定端点Ｐ３１，Ｐ３３，Ｐ３２を結ぶ２つの直線の組み合わせ、すなわち、２つの指定端点Ｐ３１，Ｐ３３を結ぶ第１の直線ＢＬ２Ａと、２つの指定端点Ｐ３３，Ｐ３２を結ぶ第２の直線ＢＬ２Ｂとの組み合わされた線として設定されている。指定端点Ｐ３１は、先の第１の実施形態と同様に、コンベヤー１の側線１ｂとロボット４の下流可動限界とが交差する指示点Ｐ２１が可動限界ＲＡ内に距離Ｓ２１だけ移動した点として設定されている。また、指定端点Ｐ３２も、先の第１の実施形態と同様に、コンベヤー１の側線１ａと下流可動限界とが交差する指示点Ｐ２２が可動限界ＲＡ内に距離Ｓ２２だけ移動した点として設定されている。さらに、指定端点Ｐ３３は、コンベヤー１の中心線１ｃとロボット４の下流可動限界とが交差する指示点Ｐ２３が可動限界ＲＡ内に距離Ｓ２３だけ移動した点として設定されている。本実施形態では、各距離Ｓ２１，Ｓ２２，Ｓ２３は略等しい長さに設定されており、各指定端点Ｐ３１，Ｐ３３，Ｐ３２は、先の各指示点Ｐ１１，Ｐ１２，Ｐ１３の場合と同様に、Ｘ軸方向の座標が相違することとなることからこれらを結ぶ第２境界ＢＬ２０は、Ｙ軸方向に傾きを有し、コンベヤー１の搬送方向Ｃｖに非直交に設定される。
【００７５】
距離Ｓ２３は、先の第１の実施形態で説明した距離Ｓ２１，Ｓ２２と同様に、その位置において搬送方向Ｃｖに搬送されているワークＷに対してロボット４が追従及び作業などの処理を開始しても、当該処理を可動限界ＲＡ内で終了することができる距離である。すなわち、各距離Ｓ２１，Ｓ２２，Ｓ２３は、ロボット４の可動限界ＲＡ内の位置と、当該位置から下流可動限界との間に予め設定される距離である。このことから、距離Ｓ２３は、距離Ｓ２１，Ｓ２２と同様に、コンベヤー１の速度や、ワークＷへのロボット４の追従能力や、ロボット４の作業内容などによって、適宜変更される値であり、それら値は、ロボット４の動作から測定されたり、演算式やシミュレーションなどから算出されるなどして設定される。すなわち、第２境界ＢＬ２０は、各指定端点Ｐ３１，Ｐ３２，Ｐ３３では、ロボット４の下流可動限界との間に、ロボット４の追従と作業に最小限必要とされる距離Ｓ２１，Ｓ２２，Ｓ２３に一致する距離を有している。このように、２つの直線ＢＬ２Ａ，ＢＬ２Ｂからなる第２境界ＢＬ２０は下流可動限界に対する離間距離が小さくなる。これにより、第２境界ＢＬ２０は、ロボット４の可動限界ＲＡが有効利用されるよう設定される。また、円弧状の可動限界ＲＡの一部である下流可動限界上の各指示点Ｐ２１，Ｐ２３，Ｐ２２から等しく離間した指定端点Ｐ３１，Ｐ３３，Ｐ３２を端点とする連続した２つの直線ＢＬ２Ａ，ＢＬ２Ｂであれば、それら直線ＢＬ２Ａ，ＢＬ２Ｂのなす角度は自ずと１８０°ではない角度となる。
【００７６】
なお、本実施形態では、各距離Ｓ２１，Ｓ２２，Ｓ２３は等距離に設定されているが、これらの各距離Ｓ２１，Ｓ２２，Ｓ２３は、その条件に応じて各別の距離に設定されるものであるから相違してもよい。
【００７７】
ところで、本実施形態でも、先の第１の実施形態と同様に、各指示点Ｐ１１，Ｐ１２，Ｐ１３，Ｐ２１，Ｐ２２，Ｐ２３はロボット４の作業部Ｐ０を当該位置に実際に移動させる教示（ティーチング）によってロボットコントローラー５に設定されるようになっている。すなわち、指示点Ｐ１１と指示点Ｐ１２とは、先の第１の実施形態と同様に設定され、指示点Ｐ１３は、ロボット４の作業部Ｐ０がコンベヤー１の中心線１ｃと当該ロボット４の上流可動限界との交点まで移動されることによって設定される。これにより、本実施
形態では、始点としての指示点Ｐ１１と、中間点としての指示点Ｐ１３と、終点としての指示点Ｐ１２とが設定され、それら指示点Ｐ１１，Ｐ１２，Ｐ１３を結ぶ２つの直線ＢＬ１Ａ，ＢＬ１Ｂからなる第１境界ＢＬ１０が設定される。
【００７８】
また、指示点Ｐ２１と指示点Ｐ２２は、先の第１の実施形態と同様に設定され、指示点Ｐ２３は、ロボット４の作業部Ｐ０がコンベヤー１の中心線１ｃと当該ロボット４の下流可動限界との交差まで移動されることによって設定される。これにより、指示点Ｐ２１に基づく始点としての指定端点Ｐ３１、指示点Ｐ２３に基づく中間点としての指定端点Ｐ３３、指示点Ｐ２２に基づく終点としての指定端点Ｐ３２とが設定され、それら指定端点Ｐ３１，Ｐ３２，Ｐ３３を結ぶ２つの直線ＢＬ２Ａ，ＢＬ２Ｂからなる第２境界ＢＬ２０が設定される。
【００７９】
以上説明したように、本実施形態によっても先の第１の実施形態の前記（１）及び（８）の効果と同等もしくはそれに準じた効果が得られるとともに、以下に列記するような効果が得られるようになる。
【００８０】
（９）第１境界ＢＬ１０を第１の直線ＢＬ１Ａと第２の直線ＢＬ１Ｂの組み合わせ、第２境界ＢＬ２０を第１の直線ＢＬ２Ａと第２の直線ＢＬ２Ｂの組み合わせにより設定した。これにより、第１境界ＢＬ１０や第２境界ＢＬ２０の形状の自由度が高められ、ロボット４の動作特性など各種制約にも対応した追従領域の設定も可能となる。また直線の組み合わせである境界はその設定も容易である。
【００８１】
（１０）すなわち、第１境界ＢＬ１０を３つの指示点Ｐ１１〜Ｐ１３を結んだ線により定め、第２境界ＢＬ２０を３つの指示点Ｐ２１〜Ｐ２３に基づいて設定された指定端点Ｐ３１〜Ｐ３３を結んだ線により定めた。これにより、任意の形状を有する境界であれその設定が容易とされるようになるので、追従領域を高い自由度のもとで設定することができるようになる。
【００８２】
（第３の実施形態）
以下、本発明を具体化したロボットシステムの第３の実施形態について図８に従って説明する。図８は、ロボットシステムに設定される追従領域について模式的に示した図である。なお、本実施形態のロボットシステムは、第１の実施形態のロボットシステムと追従領域が相違するものの、その他の構成については同様であることから、以下では主に相違点についての説明をし、第１の実施形態と同様の構成については、説明の便宜上、同一の符号を付し、その説明を省略する。
【００８３】
図８に示すように、本実施形態では、ロボット４の可動限界ＲＡ内にロボット４との相対位置が変化しない作業用トレイＴＲが設けられており、ロボット４の作業部Ｐ０は、作業用トレイＴＲの領域において当該作業用トレイＴＲに干渉する。そこで、追従領域は、作業用トレイＴＲを避けるように設定される。すなわち、追従領域は、作業用トレイＴＲを避けるようにコンベヤー１の搬送方向Ｃｖの上流側に設けられる第１境界ＢＬ１１と、コンベヤー１の搬送方向Ｃｖの下流側に設けられる第２境界ＢＬ２１と、コンベヤー１の各側線１ａ，１ｂとによって囲まれる範囲に設定されている。なお、第１境界ＢＬ１１は、ワークＷがコンベヤー１に搬送されながら追従領域に入るときに通過する入側の境界線であり、第２境界ＢＬ２１は、ワークＷがコンベヤー１に搬送されながら追従領域から出るときに通過する出側の境界線である。
【００８４】
第１境界ＢＬ１１は、作業用トレイＴＲを含まないように指示された、２つの指示点Ｐ１４，Ｐ１５を結ぶ直線として設定されている。指示点Ｐ１４は、コンベヤー１の側線１ｂと交差するロボット４の可動限界ＲＡ内の搬送方向Ｃｖ上流側の任意の点であり、指示
点Ｐ１５は、コンベヤー１の側線１ａと交差するとともに、指示点Ｐ１４を通る線が作業用トレイＴＲに重ならないようなる位置に設定された点である。本実施形態では、各指示点Ｐ１４，Ｐ１５を、Ｙ軸方向の座標が相違するように設定するようにし、これらを結ぶ第１境界ＢＬ１１が、外側の可動限界ＲＡの境界に沿うＹ軸方向への傾きを有するようにしている。この傾きにより、第１境界ＢＬ１１はコンベヤー１の搬送方向Ｃｖに非直交になる。また、この第１境界ＢＬ１１のＹ軸方向の傾きを、ロボット４の可動限界ＲＡの境界に沿わせることにより、作業用トレイＴＲを回避する直線の境界線としては、ロボット４の可動限界ＲＡをもっとも有効利用するように設定することができる。すなわち、円弧状の可動限界ＲＡの一部である上流可動限界に直線状の境界線を設定する場合に生じる離間距離を、作業用トレイＴＲを回避しつつ短くすることができる。なお、図８に示すように、指示点Ｐ１６，Ｐ１７を結ぶ第１境界ＢＬ１２のように、可動限界ＲＡの境界に対する角度を多少変化させることなどにより、コンベヤー１の側線１ｂ側の指示点Ｐ１６を上流可動限界に近づけて追従領域が拡がるようにしてもよい。
【００８５】
ところで、本実施形態では、各指示点Ｐ１４，Ｐ１５，Ｐ２４，Ｐ２５は、先の第１の実施形態と同様に、ロボット４の作業部Ｐ０を当該位置に実際に移動させる教示（ティーチング）によってロボットコントローラー５に設定される。なお、説明の便宜上、その詳細な説明については省略する。
【００８６】
すなわち、本実施形態では、第２境界ＢＬ２１は、２つの指示点Ｐ２４，Ｐ２５を結ぶ直線として設定されている。指示点Ｐ２４は、コンベヤー１の側線１ｂと交差するロボット４の搬送方向Ｃｖ下流側の可動限界ＲＡ内の任意の点として設定され、指示点Ｐ２５は、コンベヤー１の側線１ａと交差するロボット４の搬送方向Ｃｖ下流側の可動限界ＲＡ内の任意の点として設定されている。なお、指示点Ｐ２４，Ｐ２５は、下流可動限界に対して、その位置において搬送方向Ｃｖに搬送されているワークＷに対してロボット４が追従及び作業などの処理を開始しても、当該処理を可動限界ＲＡ内で終了するために最小限必要とされる距離だけ離れた位置とされている。このため、指示点Ｐ２４，Ｐ２５は、Ｙ軸方向に対して傾きを有する下流可動限界から同様の距離だけ離れた位置に設定されている。このことにより、各指示点Ｐ２４，Ｐ２５は、Ｘ軸方向の座標が相違することとなることからこれらを結ぶ第２境界ＢＬ２１はＹ軸方向に傾きを有することでコンベヤー１の搬送方向Ｃｖに非直交に設定される。これによっても、第２境界ＢＬ２１は、下流可動限界から最小限必要とされる距離程度しか離間しないので、ロボット４の可動限界ＲＡを有効利用するように設定することができる。なお、本実施形態では、各指示点Ｐ２４，Ｐ２５は下流可動限界から等距離に設定されているが、この距離は、コンベヤー１の速度や、ワークＷへのロボット４の追従能力や、ロボット４の作業内容などの条件に応じて各別に設定されるものであるから相違してもよい。
【００８７】
以上説明したように、本実施形態によっても先の第１の実施形態の前記（１）及び（８）の効果と同等もしくはそれに準じた効果が得られるとともに、以下に列記するような効果が得られるようになる。
【００８８】
（１１）可動限界ＲＡ内にある作業用トレイＴＲを避けるように、第１境界ＢＬ１１を設定した。これによっても、境界の設定自由度がより高められ、追従領域の設定の自由度も自ずと向上されるようになる。
【００８９】
（１２）指示点Ｐ１４，Ｐ１５などを可動限界ＲＡ内に設けた。これにより、指示点の設定可能位置が拡げられ、指示点に基づいて形成される境界の設定自由度が高められるようになる。
【００９０】
（１３）第２境界ＢＬ２１を規定する指示点Ｐ２４，Ｐ２５を直接指定した。これによ
り、境界の設定態様が拡がり、追従領域の設定自由度も高められる。
（第４の実施形態）
以下、本発明を具体化したロボットシステムの第４の実施形態について図９に従って説明する。図９は、ロボットシステムに設定される追従領域について模式的に示した図である。なお、本実施形態のロボットシステムは、第１の実施形態のロボットシステムと追従領域が相違するものの、その他の構成については同様であることから、以下では主に相違点についての説明をし、第１の実施形態と同様の構成については、説明の便宜上、同一の符号を付し、その説明を省略する。
【００９１】
図９に示すように、本実施形態では、本実施形態では、ロボット４の可動限界ＲＡ内にロボット４との相対位置が変化しない作業用トレイＴＲが設けられており、ロボット４の作業部Ｐ０は作業用トレイＴＲの領域において当該作業用トレイＴＲに干渉する。そこで、追従領域は、作業用トレイＴＲを避けるように設定される。すなわち、追従領域は、作業用トレイＴＲを避けるようにコンベヤー１の搬送方向Ｃｖの上流側に設けられる第１境界ＢＬ１３と、コンベヤー１の搬送方向Ｃｖの下流側に設けられる第２境界ＢＬ２と、コンベヤー１の各側線１ａ，１ｂとによって囲まれる範囲に設定されている。なお、第１境界ＢＬ１３は、ワークＷがコンベヤー１に搬送されながら追従領域に入るときに通過する入側の境界線である。
【００９２】
第１境界ＢＬ１３は、作業用トレイＴＲを含まないように指示された、４つの指示点Ｐ１１，Ｐ１８，Ｐ１９，Ｐ１９Ａを結ぶ３つの直線の組み合わせにより設定されている。すなわち、第１境界ＢＬ１３は、２つの指示点Ｐ１１，Ｐ１８を結ぶ直線ＢＬ１Ｃと、２つの指示点Ｐ１８，Ｐ１９を結ぶ直線ＢＬ１Ｄと、２つの指示点Ｐ１９，Ｐ１９Ａを結ぶ直線ＢＬ１Ｅとの組み合わされた線として設定されている。指示点Ｐ１１は、コンベヤー１の側線１ｂとロボット４の可動限界ＲＡ内の搬送方向Ｃｖ上流側とが交差する点であり、指示点Ｐ１８は、ロボット４の上流可動限界とコンベヤー１に突出した作業用トレイＴＲのＸ軸方向に沿う辺のＹ軸座標とが交差する点である。また、指示点Ｐ１９は、前述の作業用トレイＴＲのＸ軸方向に沿う辺と、当該作業用トレイＴＲの下流側のＹ軸方向に沿う辺との交点に対応する点であり、指示点Ｐ１９Ａは、前述の作業用トレイＴＲの下流側のＹ軸方向に沿う辺と、コンベヤー１の側線１ａとが交差する点である。このように、４つの指示点Ｐ１１，Ｐ１８，Ｐ１９，Ｐ１９Ａを設定することより、これらを結び形成される第１境界ＢＬ１３は、作業用トレイＴＲを避けるように設定される。本実施形態では、各指示点Ｐ１１，Ｐ１８，Ｐ１９は、Ｘ軸方向の座標が相違するように設定されることからこれらを結ぶ第１境界ＢＬ１３は、その一部である直線ＢＬ１Ｃや直線ＢＬ１ＤがＹ軸方向に傾きを有し、コンベヤー１の搬送方向Ｃｖに非直交に設定される。また、指示点Ｐ１１と指示点Ｐ１８とはロボット４の上流可動限界に一致するため、作業用トレイＴＲを回避する直線の境界線としては、ロボット４の可動限界ＲＡを有効利用することができるように設定される。すなわち、円弧状の可動限界ＲＡに直線状の境界線を設定する場合に生じる離間距離を、作業用トレイＴＲを回避しつつ短くすることができるようになる。これにより、第１境界ＢＬ１３（直線ＢＬ１Ｃ）と円弧状の可動限界ＲＡとの離間距離を短くすることができる。
【００９３】
ところで、本実施形態でも、各指示点Ｐ１１，Ｐ１８，Ｐ１９，Ｐ１９Ａは、先の第１の実施形態と同様に、ロボット４の作業部Ｐ０を当該位置に実際に移動させる教示（ティーチング）によってロボットコントローラー５に設定される。なお、説明の便宜上、その詳細な説明については省略する。
【００９４】
以上説明したように、本実施形態によっても先の第１の実施形態の前記（１）及び（８）の効果と同等もしくはそれに準じた効果が得られるとともに、以下に列記するような効果が得られるようになる。
【００９５】
（１４）第１境界ＢＬ１３を４つの指示点Ｐ１１，Ｐ１８，Ｐ１９，Ｐ１９Ａを結んだ３つの直線ＢＬ１Ｃ，ＢＬ１Ｄ，ＢＬ１Ｅにより規定した。これによっても、境界の設定自由度がまた一層高められ、追従領域の設定の自由度も自ずと向上されるようになる。
【００９６】
（１５）可動限界ＲＡ内にある作業用トレイＴＲを、同作業用トレイＴＲの辺に沿いつつ避けるような複雑な形状に、第１境界ＢＬ１３を設定した。これにより、設置環境に応じた追従領域の設定がより一層好適に行えるようになる。
【００９７】
なお、上記各実施形態は、例えば以下のような態様にて実施することもできる。
・上記各実施形態では、ＣＰＵにユーザープログラム実行部１２と、ワーク位置更新部１４と、追従指令値生成部１６と、作業対象検出部１７と、モーター制御部１８とが設けられる場合について例示した。しかしこれに限らず、ユーザープログラム実行部や、ワーク位置更新部や、追従指令値生成部や、作業対象検出部やモーター制御部は、それを処理されるのであれば、ＣＰＵ以外の処理装置に設けられ、そこで処理されてもよい。また、複数のＣＰＵなどの処理装置に、ユーザープログラム実行部や、ワーク位置更新部や、追従指令値生成部や、作業対象検出部やモーター制御部が分散されていてもよい。さらに、ユーザープログラム実行部、ワーク位置更新部、追従指令値生成部、作業対象検出部及びモーター制御部における各処理が、それぞれ複数のＣＰＵなどの処理装置により処理されてもよい。
【００９８】
・上記各実施形態では、記憶装置にユーザープログラム記憶部１１と、ワーク位置記憶部１３と、追従領域設定部１５とが設けられる場合について例示した。しかしこれに限らず、ユーザープログラム記憶部や、ワーク位置記憶部や、追従領域設定部は必要な情報が保持されるのであれば、その他の記憶装置に設けられてもよいし、これらが複数の記憶装置に分散して設けられてもよいし、各記憶部が複数の記憶装置に分散して設けられてもよい。
【００９９】
・上記各実施形態では、ロボットコントローラー５にモーター制御部１８が設けられている場合について例示した。しかしこれに限らず、ロボットコントローラーによる制御ができるのであれば、モーター制御部はロボットコントローラーに対して独立していてもよい。この場合、追従指令値生成部からのモーター指令値を受けたモーター制御部が同モーター指令値に従って各関節のモーターを制御するようにする。
【０１００】
・上記各実施形態では、各指示点Ｐ１１〜Ｐ１９，Ｐ１９Ａ，Ｐ２１〜Ｐ２４が手動のティーチングにより設定される場合について例示した。しかしこれに限らず、各指示点は、ロボットの先端位置（作業部）とコンベヤーの幅等とを検出可能なセンサーなどを用いることなどにより、ロボットの先端を自動的にティーチングさせて定めるようにして設定してもよい。
【０１０１】
・上記各実施形態では、各指示点Ｐ１１〜Ｐ１９，Ｐ１９Ａ，Ｐ２１〜Ｐ２４がティーチングにより設定される場合について例示した。しかしこれに限らず、各指示点は、ロボットの可動限界とコンベヤーの配置位置などから演算により算出されるようにしてもよいし、当該指示点の座標そのものが直接設定されるようにしてもよい。
【０１０２】
・上記第１、第２、第４実施形態では、各指定端点Ｐ３１〜Ｐ３３は、ティーチングされた指示点Ｐ２１〜Ｐ２３から算出される場合について例示した。しかしこれに限らず、各指定端点は、ティーチングにより設定されてもよい。
【０１０３】
・上記第１、第２、第４実施形態では、第２境界ＢＬ２，ＢＬ２０は各指定端点Ｐ３１
〜Ｐ３３を結んで設定される場合について例示した。しかしこれに限らず、第２境界は、指示点を結んで生成された線をＸ軸方向に所定の距離移動させるようにして設定してもよい。これによっても、指定端点を用いた場合と同様の第２境界を設定することができる。
【０１０４】
・上記第１、第２、第４の実施形態では、対応する第１境界ＢＬ１，ＢＬ１０，ＢＬ１３に、ロボット４の可動限界ＲＡの境界と一致する指示点Ｐ１１，Ｐ１２，Ｐ１３，Ｐ１８などが含まれる場合について例示した。しかしこれに限らず、第１境界は、指示点を含まなくてもよい。例えば、ロボットの可動限界の境界近傍では、ロボットの動作自由度が低いような場合、第１境界を指示点よりもロボットの可動限界の内側に、予め設定された所定の距離だけ離間されるように設定されてもよい。
【０１０５】
・上記各実施形態では、複数の指示点が直線で結ばれることにより追従領域が規定される場合について例示した。しかしこれに限らず、複数の指示点は、曲線などにより結ばれてもよい。曲線により結ぶ場合は、演算処理等が増加するが、これによっても、追従領域の設定の自由度を高く維持することができる。
【０１０６】
・上記各実施形態では、第１境界ＢＬ１（ＢＬ１０，ＢＬ１１，ＢＬ１２，ＢＬ１３）と、第２境界ＢＬ２（ＢＬ２０，ＢＬ２１）がともにワークＷの搬送方向Ｃｖに非直交な部分を有する場合について例示した。しかしこれに限らず、第１境界及び第２境界のいずれか一方にワークの搬送方向に非直交な部分が含まれていてもよい。すなわち、第１境界または第２境界がワークの搬送方向に直交するかたちに設定されていてもよい。
【０１０７】
・上記各実施形態では、ロボット４がスカラーロボットである場合について例示した。しかし、これに限らず、ロボットとしてはどのようなロボットでもよいが、特に旋回アームを有する、六軸ロボットなどのロボットでもよい。
【符号の説明】
【０１０８】
１…搬送装置としてのコンベヤー、２…位置検出装置及び画像認識手段を構成するカメラ、３…搬送量検出装置としてのエンコーダー、４…ロボット、４ａ…モーター、５…位置検出装置及び画像認識手段を構成するロボットコントローラー、６…作業台、１１…ユーザープログラム記憶部、１２…ユーザープログラム実行部、１３…ワーク位置記憶部、１４…ワーク位置更新部、１５…追従領域設定部、１６…追従指令値生成部、１７…作業対象検出部、１８…モーター制御部、Ｗ…ワーク、Ｐ０…作業部、ＴＲ…作業用トレイ、ＢＬ１，ＢＬ１０，ＢＬ１１，ＢＬ１２，ＢＬ１３…第１境界、ＢＬ１Ａ，ＢＬ２Ａ…第１の直線、ＢＬ１Ｂ，ＢＬ２Ｂ…第２の直線、ＢＬ２，ＢＬ２０，ＢＬ２１…第２境界、Ｐ１１〜Ｐ１９，Ｐ１９Ａ，Ｐ２１〜Ｐ２５…指示点、Ｐ３１〜Ｐ３３…指定端点。
【図１】
0005446887.tif 000002
【図２】
0005446887.tif 000003
【図３】
0005446887.tif 000004
【図４】
0005446887.tif 000005
【図５】
0005446887.tif 000006
【図６】
0005446887.tif 000007
【図７】
0005446887.tif 000008
【図８】
0005446887.tif 000009
【図９】
0005446887.tif 000010