(57)【特許請求の範囲】
【請求項１】
共通の軸上に配置されることにより互いに重複する可動範囲を有しかつ互いに独立して移動可能な第１の可動部材および第２の可動部材と、これら可動部材を個別に駆動する駆動手段とを備えるロボットの制御装置であって、
上記各駆動手段を制御する制御手段を備え、
上記第１の可動部材および第２の可動部材は、互いに離間した所定位置がそれぞれの可動範囲の原点とされこれら原点間で可動範囲が重複するものであり、
上記制御手段は、各可動部材についてそれぞれ他方側の可動部材の移動を制限するための排他領域を設定する排他領域設定手段と、前記排他領域に基づいて各可動部材の移動を制限する移動規制手段とを有し、
上記排他領域設定手段は、各可動部材についてそれぞれ、次の移動先となる移動目標位置が与えられた状態で、その可動範囲の原点から現在位置までの範囲および当該原点から上記移動目標位置までの範囲のうち何れか大きい範囲を排他領域として設定し、
上記移動規制手段は、両可動部材のうち一方側の可動部材の上記移動目標位置が他方側の可動部材の排他領域内となるという移動規制条件が成立した場合に当該一方側の可動部材を停止させて待機状態にする一方で、上記移動規制条件が成立しない場合又は上記一方側の可動部材の待機状態中、上記他方側の可動部材の排他領域の減少によって上記移動規制条件が解消された場合に上記一方側の可動部材を上記移動目標位置へ移動させる、ことを特徴とするロボットの制御装置。
【請求項２】
エラーを報知するための報知手段をさらに備え、
上記制御手段は、上記両可動部材について共に上記移動規制条件が成立する状態となったときには、両可動部材を停止させるとともにエラーを報知すべく前記駆動手段および報知手段を制御することを特徴とする請求項１に記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いの可動範囲が重複する第１および第２の可動部材を備えたロボットの制御装置に関するものである。
【背景技術】
【０００２】
従来から、互いの可動範囲が重複する２つの可動部材を備えて、各可動部材が個別に駆動されるようになっているロボットがあり、この種のロボットでは、重複する可動範囲内で両可動部材が衝突することを避ける必要があり、そのような衝突防止の機能を有するロボットも種々提案されている。
【０００３】
例えば下記の特許文献１に示された複腕ロボットシステムでは、動作領域（可動範囲）が互いに重複する２つのロボットと、これらのロボットの動作を制御するロボット動作制御手段と、ロボット同士の干渉をチェックする干渉チェック手段とを備え、この干渉チェック手段は、両ロボットが共同作業を行う場合には干渉チェックＯＦＦとして両ロボットが重複する動作領域に入ることを許容し、それ以外の場合は干渉チェックを行うようにしている。
【０００４】
干渉チェックを行う場合の方法としては、例えば、両ロボットの動作領域のうちで互いに重複する一定の領域に一方のロボットが入っているときや入ろうとしているときには、当該領域に他方のロボットが入ることを禁止するようにしている。
【特許文献１】特開平７−２９９７９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のような干渉チェックの方法では、一定の重複する動作領域に両ロボットが同時に入ることが禁止されるので、衝突は確実に回避されるものの、必要以上にロボットの動作が制限される場合があり、改善の余地があった。
【０００６】
本発明はこのような事情に鑑みてなされたものであり、互いの可動範囲が重複する２つの可動部材を備えたロボットにおいて、両可動部材の衝突を確実に防止し、しかも必要以上に各可動部材の動作を制限することがないロボットの制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明のロボットの制御装置は、共通の軸上に配置されることにより互いに重複する可動範囲を有しかつ互いに独立して移動可能な第１の可動部材および第２の可動部材と、これら可動部材を個別に駆動する駆動手段とを備えるロボットの制御装置であって、上記各駆動手段を制御する制御手段を備え、上記第１の可動部材および第２の可動部材は、互いに離間した所定位置がそれぞれの可動範囲の原点とされこれら原点間で可動範囲が重複するものであり、上記制御手段は、各可動部材についてそれぞれ他方側の可動部材の移動を制限するための排他領域を設定する排他領域設定手段と、前記排他領域に基づいて各可動部材の移動を制限する移動規制手段とを有し、上記排他領域設定手段は、各可動部材についてそれぞれ、次の移動先となる移動目標位置が与えられた状態で、その可動範囲の原点から現在位置までの範囲および当該原点から上記移動目標位置までの範囲のうち何れか大きい範囲を排他領域として設定し、上記移動規制手段は、両可動部材のうち一方側の可動部材の上記移動目標位置が他方側の可動部材の排他領域内となるという移動規制条件が成立した場合に当該一方側の可動部材を停止させて待機状態にする一方で、上記移動規制条件が成立しない場合又は上記一方側の可動部材の待機状態中、上記他方側の可動部材の排他領域の減少によって上記移動規制条件が解消された場合に上記一方側の可動部材を上記移動目標位置へ移動させるものである。
【０００８】
この発明によると、一方側の可動部材について移動規制条件が成立すると、当該一方側の可動部材が他方側の可動部材の排他領域内へ移動することが制限されることにより、両可動部材の衝突が防止される。しかも、各可動部材の排他領域が可動部材の現在位置および次の移動先である移動目標位置に応じて変更されるため、例えば可動部材の現在位置および移動目標位置が原点位置に近い場合はそれに応じて排他領域が狭められる。しかも、移動規制条件の成立による一方側の可動部材の待機状態中、他方側の可動部材の排他領域の減少によって当該移動規制条件が解消されると前記一方側の可動部材の移動目標位置への移動が許容されるので、各可動部材の動作が必要以上に制限されることが避けられる。
【０００９】
なお、上記ロボットの制御装置においては、エラーを報知するための報知手段をさらに備え、上記制御手段は、上記両可動部材について共に上記移動規制条件が成立する状態となったときには、両可動部材を停止させるとともにエラーの報知を行うべく前記駆動手段および報知手段を制御するものであるのが好ましい。このようにすれば、両可動部材の移動目標位置が不適切であること等によって両可動部材がともに移動できなくなるデッドロック状態になったときは、警報を発して、移動目標位置の変更等の対応を促すことができる。
【発明の効果】
【００１０】
本発明のロボットの制御装置によると、各可動部材の排他領域が可動部材の現在位置および移動目標位置に応じて変更されるため、両可動部材の衝突を確実に防止しつつ、必要以上に各可動部材の動作を制限することを避けて、効果的に各可動部材を駆動することができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照しながら本発明の好ましい実施の形態について説明する。
【００１２】
図１は本発明が適用されるロボットの一例を示している。図示のロボットは可動部材を一軸方向に直線的に移動される直動型ロボットで、かつ、２つの可動部材が共通の軸上に直線的に配置されたものである。
【００１３】
すなわち、このロボットは、同軸上に配置された第１キャリア（第１の可動部材）１および第２キャリア２（第２の可動部材）を備えている。両キャリア１，２は細長のケーシング３内に位置している。ケーシング３には、両キャリア１，２に共通のレール（図示省略）が設けられ、そのレール上をキャリア１，２が移動し得るようになっている。さらにケーシング３には、両キャリア１，２に共通のボールねじ軸４が上記レールと平行に配置され、ボールねじ軸４の両端はケーシング３の端部に固定されている。
【００１４】
一方、上記両キャリア１，２には、それぞれ、上記ボールねじ軸４に螺合されるナット部材１１，２１と、このナット部材１１，２１を回転駆動する中空モータ１２，２２とが設けられている。上記ナット部材１１，２１は、ベアリング１３，２３を介してキャリア１，２に回転自在に取り付けられるとともに、カップリング１４，２４を介して中空モータ１２，２２に連結されている。そして、中空モータ１２，２２によってナット部材１１，２１が正逆回転駆動されることにより、キャリア１，２がボールねじ軸４に沿った一軸方向（前後方向）に移動するようになっている。上記中空モータ１２，２２およびナット部材１１，２１により、各キャリア１，２を個別に駆動する駆動手段が構成されている。
【００１５】
さらに各キャリア１，２には、位置検出部１５，２５が設けられている。この位置検出部１５，２５は、ナット部材１１，２１または中空モータ１２，２２の回転角を検出することにより、キャリア１，２の上記一軸方向の位置を検出するものであり、レゾルバまたはロータリエンコーダにより構成されている。
【００１６】
なお、上記各キャリア１，２の上面部には、図外の各種ツールが組み付けられるようになっている。
【００１７】
図２はロボットの制御系統を示しており、この図に示すように、当実施形態のロボットは制御手段としてのコントロールユニット３０を備えている。このコントロールユニット３０に、上記各キャリア１，２の位置検出部１５，２５から位置検出信号が入力される一方、コントロールユニット３０から各キャリア１，２のモータ１２，２２に制御信号が出力されるようになっている。さらに、キャリア１，２の移動指令や移動目標位置を入力するためのキーボード等からなる入力手段４０と、エラーを報知するためのブザー、ランプ等からなる報知手段４１がコントロールユニット３０に接続されている。
【００１８】
上記コントロールユニット３０は、第１キャリア１のモータ１２を制御する第１キャリア制御手段３１と、第２キャリア２のモータ２２を制御する第２キャリア制御手段３２とを有するとともに、排他領域設定手段３３および移動規制手段３４を機能的に含んでいる。
【００１９】
排他領域設定手段３３は、各キャリア１，２の現在位置および移動目標位置に応じて排他領域を変更可能に設定するようになっている。また、上記移動規制手段３４は、上記両キャリア１，２のうちのいずれか一方のキャリアの移動目標位置が他方のキャリアの排他領域内となるという移動規制条件が成立した場合に、当該一方の可動部材の移動を制限し、具体的には上記他方のキャリアの移動によって上記移動規制条件が解消されるまで当該一方のキャリアを待機させるようになっている。
【００２０】
上記排他領域設定手段３３および移動規制手段３４の機能を、図３および図４の説明図と、図５〜図８のフローチャートによって説明する。
【００２１】
図３（ａ）は共通の軸上において第１キャリア１が可動範囲Ｌの一端側（左端側）に位置し、第２キャリア２が可動範囲Ｌの他端側（他端側）に位置した状態を示している。この状態での第１キャリア１の位置を第１原点Ｏ１、第２キャリア２の位置を第２原点Ｏ２とする。上記可動範囲Ｌは、第１原点Ｏ１と第２原点Ｏ２との間の範囲であり、両キャリア１，２に共通のものである。
【００２２】
図３（ｂ）は第１キャリア１および第２キャリア２が可動範囲Ｌの途中にある状態を示している。この図において、Ｘ１，Ｘ２は各キャリア１，２の現在位置、Ｐ１，Ｐ２は各キャリア１，２の移動目標位置、Ｈ１，Ｈ２は各キャリア１，２の排他領域であり、これらの位置Ｘ１，Ｘ２，Ｐ１，Ｐ２および領域Ｈ１，Ｈ２は、原点Ｏ１，Ｏ２からの距離で表されている。
【００２３】
図４（ａ）はキャリアの移動が規制される状態、図４（ｂ）は移動の規制が解除される状態をそれぞれ示しており、これらについては後に詳述する。
【００２４】
図５は第１キャリア１の移動指令があったときのコントロールユニット３０の処理を示すフローチャートである。コントロールユニット３０は、入力手段４０によって第１キャリア１の移動指令および移動目標位置Ｐ１の入力操作が行われたときに、ステップＳ１で移動目標位置Ｐ１を入力し、続いてステップＳ２で、第１キャリア１の移動目標位置Ｐ１と第２キャリア２の排他領域Ｈ２とを加えた値が可動範囲Ｌより大きいか否かを判定する。つまり、Ｐ１＋Ｈ２＞Ｌを移動規制条件として、この条件が成立するか否かを判定する。
【００２５】
ここで、上記移動規制条件が成立しない場合（ステップＳ２の判定がＮＯの場合）は、図３（ｂ）に示すように、第１キャリア１の移動目標位置Ｐ１が第２キャリア２の排他領域Ｈ２に入り込まないようになっていることを意味する。この場合は第１キャリア１を移動させることとし、ステップＳ７に移ってそれ以降の処理を行う。
【００２６】
一方、上記移動規制条件が成立した場合（ステップＳ２の判定がＹＥＳの場合）は、図４（ａ）に示すように、第１キャリア１の移動目標位置Ｐ１が第２キャリア２の排他領域Ｈ２に入り込むことを意味する。この場合は、ステップＳ３で第１キャリア１の待機状態判別用のフラッグＦ１を「１」とし、さらにステップＳ４で第２キャリア２の待機状態判別用のフラッグＦ２が「１」か否かを判定する。
【００２７】
ステップＳ４の判定がＮＯの場合（第２キャリア２が待機状態でない場合）は、ステップＳ５，Ｓ６で、Ｐ１＋Ｈ２≦Ｌとなるまで第１キャリア１を待機させる。つまり、図４（ｂ）に示すように、第２キャリア２が第２原点Ｏ２側に移動すると、後述する図８のステップＳ５２の処理で第２キャリア２の移動につれてその排他領域Ｈ２が小さくなっていくので、それによって第１キャリア１の移動目標位置Ｐ１が第２キャリア２の排他領域Ｈ２外となるまで、第１キャリア１を待機させる。なお、待機中は、その旨をディスプレー等の表示手段によって表示するようにしてもよい。
【００２８】
上記ステップＳ２の判定がＮＯの場合や、ステップＳ６での判定がＹＥＳとなったときは、ステップＳ７で上記フラッグＦ１を「０」とし、また、ステップＳ８，Ｓ９で、第１キャリア１の移動目標位置Ｐ１が第１キャリア１の排他領域Ｈ１よりも大きければその移動目標位置Ｐ１を新たな排他領域Ｈ１とする。そして、ステップＳ１０で、第１キャリア１を移動目標位置Ｐ１へ移動させる。
【００２９】
なお、上記ステップＳ４でフラッグＦ２が「１」のときは、第１キャリア１および第２キャリア２がともに待機状態となって、このままでは待機状態が解消されないので、ステップＳ１１で、報知手段４１による報知等のエラー処理を行い、オペレータによる移動目標位置変更等の対応を促す。
【００３０】
図６は第２キャリア２の移動指令があったときのコントロールユニット３０の処理を示すフローチャートである。この処理も、第１キャリア１と第２キャリア２とが入れ替わる点を除けば図５の処理と同様である。
【００３１】
すなわち、コントロールユニット３０は、移動目標位置Ｐ２を入力し（ステップＳ２１）、続いて、Ｐ２＋Ｈ１＞Ｌを第２キャリア２の移動規制条件として、この条件が成立するか否かを判定する（ステップＳ２２）。ステップＳ２２の判定がＹＥＳの場合は、第２キャリア２の待機状態判別用のフラッグＦ２を「１」とし（ステップＳ２３）、さらに第１キャリア１の待機状態判別用のフラッグＦ１が「１」か否かを判定し（ステップＳ２４）、その判定がＮＯの場合は、Ｐ２＋Ｈ１≦Ｌとなるまで第２キャリア２を待機させる（ステップＳ２５，Ｓ２６）。
【００３２】
上記ステップＳ２２の判定がＮＯの場合や、ステップＳ２６での判定がＹＥＳとなったときは、上記フラッグＦ２を「０」とし（ステップＳ２７）、また、第２キャリア２の移動目標位置Ｐ２が第２キャリア２の排他領域Ｈ２よりも大きければその移動目標位置Ｐ２を新たな排他領域Ｈ２とする（ステップＳ２８，Ｓ２９）。そして、第２キャリア２を移動目標位置Ｐ２へ移動させる（ステップＳ３０）。
【００３３】
上記ステップＳ２４でフラッグＦ１が「１」のときは、報知手段４１による報知等のエラー処理を行う（ステップＳ３１）。
【００３４】
図７は周期的に実行される、第１キャリア１の排他領域Ｈ１の変更等の処理を示すフローチャートである。
【００３５】
この処理がスタートすると、コントロールユニット３０は先ずステップＳ４１で、第１キャリア１の現在位置Ｘ１が目標位置Ｐ１より大きいか否かを判定し、この判定がＮＯであればそのまま終了する。なお、この場合には、前述の図５のステップＳ９の処理により、第１キャリア１の移動の際に目標位置Ｐ１が排他領域Ｈ１となる。
【００３６】
ステップＳ４１の判定がＹＥＳの場合は、ステップＳ４２で、現在位置Ｘ１を排他領域Ｈ１とする。従って、現在位置Ｘ１が小さくなる方向（原点Ｏ１に近づく方向）にキャリア１が移動しているときは、その移動に伴って排他領域Ｈ１が変化する。
【００３７】
次にステップＳ４３で、第２キャリア２が待機状態か否かを判定し、その判定がＮＯであればそのまま終了する。
【００３８】
第２キャリア２が待機状態（ステップＳ４３の判定がＹＥＳ）の場合は、ステップＳ４４で、Ｐ２＋Ｈ１≦Ｌとなったか否かを判定し、その判定がＹＥＳになれば、ステップＳ４５で第２キャリア２の移動を許可する。
【００３９】
図８は周期的に実行される、第２キャリア２の排他領域Ｈ２の変更等の処理を示すフローチャートである。この処理も、第１キャリア１と第２キャリア２とが入れ替わる点を除けば図７の処理と同様である。
【００４０】
すなわち、コントロールユニット３０は、第２キャリア２の現在位置Ｘ２が目標位置Ｐ２より大きいか否かを判定し（ステップＳ５１）、この判定がＹＥＳの場合は現在位置Ｘ１を排他領域Ｈ１とする（ステップＳ５２）。次に、第１キャリア１が待機状態か否かを判定し（ステップＳ５３）、待機状態の場合は、Ｐ１＋Ｈ２≦Ｌとなったか否かを判定し（ステップＳ５４）、その判定がＹＥＳになれば、第１キャリア１の移動を許可する（ステップＳ５５）。
【００４１】
以上のような当実施形態のロボットの制御装置によると、図３（ｂ）のようにキャリア１，２の移動目標位置Ｐ１，Ｐ２が他方のキャリアの排他領域Ｈ２，Ｈ１に入り込まない場合は、目標位置へのキャリア１，２の移動（矢印ａ，ｂ）が行われる。
【００４２】
また、一方のキャリア（例えば第１キャリア１）の移動目標位置Ｐ１が他方のキャリア（例えば第２キャリア２）の排他領域Ｈ１内となる場合（図４（ａ）参照）には、当該キャリア１が待機状態とされることにより、両キャリア１，２の衝突が確実に回避される。
【００４３】
この場合、第２キャリア２が第２原点Ｏ２に近づく方向に移動し（矢印ｃ）、それに伴い排他領域Ｈ２が縮小されることにより、移動目標位置Ｐ１が排他領域Ｈ２外になれば、キャリア１の移動（矢印ｄ）が行われる（図４（ａ）参照）。
【００４４】
とくに、排他領域Ｈ１、Ｈ２がキャリア１，２の現在位置Ｘ１，Ｘ２および移動目標位置Ｐ１，Ｐ２に応じて変更され、具体的には、現在位置Ｘ１，Ｘ２より移動目標位置Ｐ１，Ｐ２が大きければ移動の際に移動目標位置Ｐ１，Ｐ２が排他領域Ｈ１、Ｈ２とされ、現在位置Ｘ１，Ｘ２より移動目標位置Ｐ１，Ｐ２が小さければ現在位置Ｘ１，Ｘ２が排他領域Ｈ１、Ｈ２とされることにより、キャリア１，２の衝突が確実に回避されつつ、必要最小限に排他領域Ｈ１、Ｈ２が小さくされるので、不必要にキャリア１，２の駆動が制限されることがない。
【００４５】
なお、本発明の装置の具体的構造は上記実施形態に限定されず、種々変更可能である。
【００４６】
例えば、図示のロボットはキャリア１，２が一軸方向に移動する単軸ロボットであるが、各キャリア１，２に、上記一軸方向と直交する方向に延びる別の単軸ロボットを取り付けることにより、２軸直交ロボットを構成するようにしてもよい。
【００４７】
また、上記実施形態のロボットは駆動系がボールねじタイプであるが、リニアモータを用いて駆動系を構成してもよい。このようにする場合、上記実施形態におけるボールねじ軸の代わり、永久磁石を軸方向に配列したシャフト状のステータ部をケーシング３内に設けるとともに、各キャリア１，２に、上記ステータ部を囲繞するコイルからなる電機子を設け、その電機子に対する通電の制御をキャリア１，２毎に行い得るようにしておけばよい。また、位置検出部としてはリニアスケールを用いればよい。
【図面の簡単な説明】
【００４８】
【図１】本発明が適用されるロボットの一実施形態としての直動型ロボットを示す一部切欠断面図である。
【図２】ロボットの制御系を示すブロック図である。
【図３】ロボットの動作を示す説明図であり、（ａ）は第１，第２のキャリアが原点位置にある状態、（ｂ）は両キャリアが可動範囲の途中にある状態をそれぞれ示している。
【図４】ロボットの動作を示す説明図であり、（ａ）は一方のキャリアの移動が規制される状態、（ｂ）は移動規制が解消された状態をそれぞれ示している。
【図５】第１キャリアの移動指令があったときのコントロールユニットの処理手順を示すフローチャートである。
【図６】第２キャリアの移動指令があったときのコントロールユニットの処理手順を示すフローチャートである。
【図７】周期的に実行される第１キャリアの排他領域変更等の処理手順を示すフローチャートである。
【図８】周期的に実行される第２キャリアの排他領域変更等の処理手順を示すフローチャートである。
【符号の説明】
【００４９】
１    第１キャリア
２    第２キャリア
１２，２２    モータ
３０    コントロールユニット
３３    排他領域設定手段
３４    移動規制手段
【図１】
0004823770.tif 000002
【図２】
0004823770.tif 000003
【図３】
0004823770.tif 000004
【図４】
0004823770.tif 000005
【図５】
0004823770.tif 000006
【図６】
0004823770.tif 000007
【図７】
0004823770.tif 000008
【図８】
0004823770.tif 000009