(57)【要約】【課題】所定の軌跡から離脱したロボットの可動部が元の軌跡に復帰するまでの間に障害物と接触したとしても、それによる被害を軽減できるロボット制御装置を提供する。【解決手段】本発明のロボット制御装置ＲＣは、ロボットＲの可動部３１が所定の軌跡Ｔ上を移動するようにロボットＲの動作を制御する移動制御部４１と、軌跡Ｔ上を移動する可動部３１が軌跡Ｔから離脱した場合に、可動部３１が軌跡Ｔに復帰するようにロボットＲの動作を制御する復帰制御部４２と、を有する。上記の復帰制御部４２は、ロボットＲを駆動する複数の駆動装置Ｍ１〜Ｍｎのうちの少なくとも１つが発生する力（駆動トルク又は駆動力）を所定の上限値以下に制限するように構成される。【選択図】図３
2016064479.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの可動部が所定の軌跡上を移動するように前記ロボットの動作を制御する移動制御部と、
前記軌跡上を移動する前記可動部が前記軌跡から離脱した場合に、前記可動部が前記軌跡に復帰するように前記ロボットの動作を制御する復帰制御部と、を有し、
前記復帰制御部は、前記ロボットを駆動する複数の駆動装置のうちの少なくとも１つが発生する力を所定の上限値以下に制限する、ロボット制御装置。
【請求項２】
前記復帰制御部は、前記可動部が前記軌跡から離脱する前に通過した経路の終点を、前記可動部が復帰する前記軌跡上の目的地として設定する、請求項１に記載のロボット制御装置。
【請求項３】
前記復帰制御部は、前記軌跡の始点を、前記可動部が復帰する前記軌跡上の目的地として設定する、請求項１に記載のロボット制御装置。
【請求項４】
前記復帰制御部は、前記少なくとも１つの駆動装置に対する力の指令値を所定の範囲内に制限する指令制限部を有する、請求項１または２に記載のロボット制御装置。
【請求項５】
前記復帰制御部は、前記少なくとも１つの駆動装置に加わる負荷を検出又は推定するとともに、検出又は推定した前記負荷が所定の閾値を超えたら前記ロボットの動作を停止する停止制御部を有する、請求項１または２に記載のロボット制御装置。
【請求項６】
前記復帰制御部は、前記少なくとも１つの駆動装置のフィードバック制御に用いる位置ループ及び速度ループのいずれか一方又は両方のループゲインとして、前記移動制御部よりも小さい値を設定する、請求項１〜４のいずれか１つに記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットの動作を制御するロボット制御装置に関し、特に、所定の軌跡から離脱した可動部が元の軌跡に復帰するようにロボットの動作を制御する手段を備えたロボット制御装置に関する。
【背景技術】
【０００２】
垂直多関節ロボット及び水平多関節ロボット等の産業用ロボットの制御装置は、ロボットの可動部（例えば、アームの先端に取り付けられたエンドエフェクタ）が所定の軌跡上を移動するようにロボットの動作を制御する。また、産業用ロボットの制御装置の中には、ロボットの可動部が何らかの障害物に接触した結果として非常停止した場合に、可動部が元の軌跡上の再開位置に復帰するようにロボットの動作を制御するものが存在する。このような制御装置が特許文献１〜４に例示されている。
【０００３】
特に、特許文献２〜４には、ロボットの可動部が非常停止した場合に、可動部が元の軌跡上の再開位置まで低速で移動するようにロボットの動作を制御する制御装置が提案されている。このように可動部を低速で移動させることによって、ロボットの周囲で作業するオペレータの安全を確保することができる。ところが、ロボットの可動部が再開位置まで低速で移動しても、万一の衝突時に深刻な被害が発生することが避けられない。例えば、サーボモータの駆動トルクが大きい場合には、ロボットの可動部から衝突対象（例えば、オペレータ又は障害物等）に大きな衝撃力が加わるので、オペレータが負傷したり、ロボットの可動部又は障害物が損傷したりする虞がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−２６２９８５号公報
【特許文献２】特開平２−７６６９１号公報
【特許文献３】特開平５−１００７３２号公報
【特許文献４】特開平８−３０５４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
所定の軌跡から離脱したロボットの可動部が元の軌跡に復帰するまでの間に障害物と衝突したとしても、それによる被害を軽減できるロボット制御装置が求められている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、ロボットの可動部が所定の軌跡上を移動するようにロボットの動作を制御する移動制御部と、軌跡上を移動する可動部が軌跡から離脱した場合に、可動部が軌跡に復帰するようにロボットの動作を制御する復帰制御部と、を有し、復帰制御部は、ロボットを駆動する複数の駆動装置のうちの少なくとも１つが発生する力を所定の上限値以下に制限する、ロボット制御装置が提供される。
本発明の第２の態様によれば、第１の態様において、復帰制御部は、可動部が軌跡から離脱する前に通過した経路の終点を、可動部が復帰する軌跡上の目的地として設定する、ロボット制御装置が提供される。
本発明の第３の態様によれば、第１の態様において、復帰制御部は、軌跡の始点を、可動部が復帰する軌跡上の目的地として設定する、ロボット制御装置が提供される。
本発明の第４の態様によれば、第１又は第２の態様において、復帰制御部は、少なくとも１つの駆動装置に対する力の指令値を所定の範囲内に制限する指令制限部を有する、ロボット制御装置を提供する。
本発明の第５の態様によれば、第１又は第２の態様において、復帰制御部は、少なくとも１つの駆動装置に加わる負荷を検出又は推定するとともに、検出又は推定した負荷が所定の閾値を超えたらロボットの動作を停止する停止制御部を有する、ロボット制御装置を提供する。
本発明の第６の態様によれば、第１〜第４の態様のいずれか１つにおいて、復帰制御部は、少なくとも１つの駆動装置のフィードバック制御に用いる位置ループ及び速度ループのいずれか一方又は両方のループゲインとして、移動制御部よりも小さい値を設定する、ロボット制御装置が提供される。
【発明の効果】
【０００７】
本発明の第１〜第３の態様によれば、所定の軌跡から離脱したロボットの可動部が元の軌跡に復帰するまでの間に、ロボットの駆動装置の発生する力が所定の上限値以下に制限される。よって、第１〜第３の態様によれば、可動部が元の軌跡に復帰するまでの間に障害物と接触したとしても、それにより可動部及び障害部が受ける損傷を軽減することができる。特に、第２の態様によれば、可動部が軌跡から離脱する前に通過した経路の終点が軌跡動作の目的地として指定されている場合に、可動部と障害物の接触による両者の損傷を軽減することができる。特に、第３の態様によれば、軌跡の始点が復帰動作の目的地として指定されている場合に、可動部と障害物の接触による両者の損傷を軽減することができる。
本発明の第４の態様によれば、ロボットの駆動装置に対する力の指令値が所定の範囲内に制限される結果として、駆動装置が発生する力が所定の上限値以下に制限される。これは例えば駆動装置に対するトルク指令をクランプすることによって実現される。よって、第４の態様によれば、複雑な周辺機器等を用いなくても、可動部と障害物の接触による両者の損傷を軽減することができる。
本発明の第５の態様によれば、ロボットの駆動装置に加わる負荷が所定の閾値を超えた時点でロボットが停止されるので、可動部と障害物の接触による両者の損傷を軽減できるとともに、その後に両者の損傷が悪化するのを防止できる。
本発明の第６の態様によれば、復帰動作の間に使用される位置ループゲイン及び速度ループゲインのいずれか一方又は両方が、通常の移動動作の間に使用される値よりも小さくされる。よって、第６の態様によれば、復帰動作の間はロボットの駆動装置に対する力の指令値が比較的小さくされるので、可動部と障害物の接触による両者の損傷をより一層軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の１つの実施形態のロボット制御装置を含むロボットシステムの構成を示すブロック図である。
【図２】図１中の１つのデジタルサーボ回路の機能ブロック図である。
【図３】図１中のロボット制御装置の構成要素が協働して発揮する機能を概念的に示すブロック図である。
【図４】図３中のロボットの移動動作に用いられるプログラムを示す概略図である。
【図５】図３中のロボットの移動動作について説明するための概略図である。
【図６】ロボットの可動部の軌跡上に障害物が存在する事例について説明するための、図５と同様の概略図である。
【図７】ロボットの可動部が停止する原因となった事象を除去する手順について説明するための、図５及び図６と同様の概略図である。
【図８】図３中のロボットの復帰動作について説明するための概略図である。
【図９】ロボットの復帰動作の変形例について説明するために、図８と同様の概略図である。
【図１０】図１のロボットシステムによって提供される復帰動作用の設定画面を示す概略図である。
【図１１】本実施形態のロボット制御装置が移動動作用のプログラムを実行する手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を、図面を参照して詳細に説明する。各図面において、同様の構成要素には同様の符号が付与されている。なお、以下に記載される内容は、特許請求の範囲に記載される発明の技術的範囲や用語の意義等を限定するものではない。
【００１０】
図１〜図１１を参照して、本発明の１つの実施形態のロボット制御装置について説明する。図１は、本実施形態の例示的なロボット制御装置ＲＣを含むロボットシステムの構成を示すブロック図である。図１のように、本例のロボット制御装置ＲＣは、教示操作盤ＴＰ及びロボット機構部ＲＭのそれぞれに接続されている。先ず、図１中のロボット機構部ＲＭについて説明する。図１のように、本例のロボット駆動部ＲＭは、ロボットの駆動力を発生させる複数の駆動装置Ｍ１〜Ｍｎと、駆動装置Ｍ１〜Ｍｎのそれぞれの可動子の位置を検出する検出器Ｅ１〜Ｅｎと、を含んでいる。より具体的に、本例のロボットは、典型的な垂直多関節ロボットであり、複数の関節軸を有している。そして、本例の駆動装置Ｍ１〜Ｍｎは、複数の関節軸のそれぞれを駆動する回転モータであり、本例の検出装置Ｅ１〜Ｅｎは、駆動装置Ｍ１〜Ｍｎのそれぞれの回転軸の位置を検出する回転エンコーダである。このようにロボット機構部ＲＭは、ロボットの軸数と等しい個数の駆動装置Ｍ１〜Ｍｎ及び検出器Ｅ１〜Ｅｎを有している。ロボットの軸数は例えば６である。
【００１１】
続いて図１中のロボット制御装置ＲＣについて説明する。図１のように、本例のロボット制御装置ＲＣは、装置全体を制御するホストＣＰＵ１１を含んでいる。また、本例のロボット制御装置ＲＣは、種々のシステムプログラムが記憶されているＲＯＭ１２ａと、ホストＣＰＵ１１が種々のデータを一時的に記憶するのに使用されるＲＡＭ１２ｂと、ロボットＲの動作内容に関する種々のプログラム及び関連する設定値等が格納される不揮発性メモリ１２ｃと、を含んでいる。図１のように、ホストＣＰＵ１１には、複数の共有ＲＡＭ１３１〜１３ｎが接続されており、複数の共有ＲＡＭ１３１〜１３ｎのそれぞれには、複数のデジタルサーボ回路Ｃ１〜Ｃｎが接続されている。複数の共有ＲＡＭ１３１〜１３ｎは、ホストＣＰＵ１１から出力される移動指令又は制御信号をデジタルサーボ回路Ｃ１〜Ｃｎのそれぞれのプロセッサに引き渡す役割を果たすとともに、デジタルサーボ回路Ｃ１〜Ｃｎのそれぞれのプロセッサからの信号をホストＣＰＵ１１に引き渡す役割を果たす。従って、図１には示されないものの、複数のデジタルサーボ回路Ｃ１〜Ｃｎのそれぞれは、プロセッサ、ＲＯＭ、及びＲＡＭ等を含んでいる。図１のように、共有ＲＡＭ１３１〜１３ｎ及びデジタルサーボ回路Ｃ１〜Ｃｎの個数はロボットの軸数と等しい。
【００１２】
続いて、図１中の教示操作盤ＴＰについて説明する。図１のように、本例の教示操作盤ＴＰは、種々の情報をオペレータに表示する液晶ディスプレイ１４と、種々の指令をオペレータから受け付けるキーボード１５と、を有している。本例の教示操作盤ＴＰは、オペレータが上述したプログラムにおけるデータの入力及び変更、並びに関連する設定値の入力及び変更を行うのに使用される。さらに、本例の教示操作盤ＴＰは、オペレータがロボットに対する直接的な操作指令、すなわち、手動送り操作の操作指令を行うのにも使用される。
【００１３】
続いて、図１中の複数のデジタルサーボ回路Ｃ１〜Ｃｎの機能について説明する。これらデジタルサーボ回路Ｃ１〜Ｃｎは同様の機能を有するので、以下では１つのデジタルサーボ回路Ｃ１の機能のみについて説明する。図２は、図１中の１つのデジタルサーボ回路Ｃ１の機能ブロック図である。図２のように、本例のデジタルサーボ回路Ｃ１は、先ず、目標位置と位置フィードバックとの間の偏差に位置ループゲインを掛けて速度指令を生成し、次いで、速度指令と位置フィードバックの微分との間の偏差に速度ループゲインを掛けてトルク指令を生成する。このようにして生成されたトルク指令はトルク制限のブロック１６に送信される。
【００１４】
そして、トルク制限のブロック１６は、生成されたトルク指令に対するトルク制限の処理を実行する。例えば、トルク制限のブロック１６は、ロボット制御装置ＲＣからモータＭ１に供給可能な最大の電流値が駆動装置Ｍ１の許容電流値よりも大きい場合に、駆動装置Ｍ１を保護するためにトルク指令をクランプする処理を実行する。ここでいう駆動装置Ｍ１の許容電流値は、モータＭ１が耐えられる最大の電流値である。上記の処理では、トルク指令が、駆動装置Ｍ１の許容電流値に相当する値でクランプされる。また、トルク制限のブロック１６は、トルク指令を任意の上限値又は下限値でクランプする処理、並びにトルク指令を任意の上限値及び下限値でクランプする処理を実行することもできる。トルク制限の処理後のトルク指令は、電流制御のブロック１７に送信され、そこで電流に変換される。その結果、トルク制限の処理後のトルク指令に相当する電流が駆動装置Ｍ１に供給されるので、駆動装置Ｍ１が処理後のトルク指令に従って駆動トルクを発生させる。
【００１５】
続いて、上述したロボット制御装置ＲＣの構成要素が協働して発揮する機能について説明する。図３は、図１中のロボット制御装置ＲＣの構成要素が協働して発揮する機能を概念的に示すブロック図である。便宜上、図３には、ロボット機構部ＲＭを有するロボットＲの概略図が、ロボット制御装置ＲＣのブロック図と一緒に示されている。図３のように、本例のロボットＲは、複数の関節軸を有するアーム３０と、アーム３０の所定の箇所に取り付けられた可動部３１と、を備えている。より具体的に、本例の可動部３１は、アーム３０の先端に取り付けられたエンドエフェクタである。また、本例のロボットＲの駆動装置Ｍ１〜Ｍｎの回転軸には、それらに加わる負荷を検出する複数の力センサＳ１〜Ｓｎが取り付けられている。より具体的に、本例の力センサＳ１〜Ｓｎは、ロボットＲの駆動装置Ｍ１〜Ｍｎの回転軸、すなわち、ロボットＲの関節軸に加わる負荷トルクを検出するトルクセンサである。本例の力センサＳ１〜Ｓｎが検出した負荷は後述する移動制御部４１及び復帰制御部４２に送信される。
【００１６】
引き続き図３を参照すると、本例のロボット制御装置ＲＣでは、ホストＣＰＵ１１及びデジタルサーボ回路Ｃ１〜Ｃｎ等の構成要素が互いに協働して、移動制御部４１及び復帰制御部４２としての機能を発揮する。これらの機能について以下に順に説明する。先ず、本例の移動制御部４１は、ＲＯＭ１２ａ又は不揮発性メモリ１２ｃ内のプログラムに従って、ロボットＲの可動部３１が所定の軌跡上を移動するようにロボットＲの動作を制御する。移動制御部４１によって制御されるロボットＲの動作を以下では「移動動作」と称する。
【００１７】
図４は、図３中のロボットＲの移動動作に用いられるプログラムＡを示す概略図である。なお、図４には、例示的なプログラムＡが教示操作盤ＴＰの液晶ディスプレイ１４に表示された状態を示している。図４のように、本例のプログラムＡには、ロボットＲの可動部３１を所定の位置（点Ｐ１及び点Ｐ３）に向かって移動させる命令文が記述されている。このプログラムＡを開始するために、オペレータは教示操作盤ＴＰのキーボード１５を用いて所定の開始信号２１をロボット制御装置ＲＣに入力する。再び図３を参照すると、本例の移動制御部４１は、停止制御部４１１を含んでいる。本例の停止制御部４１１は、上記の力センサＳ１〜Ｓｎが検出した負荷が所定の閾値を超えたらロボットＲを非常停止させる機能を有する。
【００１８】
図５は、図３中のロボットＲの移動動作について説明するための概略図である。図５のように、本例の移動動作は、ロボットＲの可動部３１を点Ｐ１からＰ３まで軌跡Ｔ上を移動させる動作である。つまり、点Ｐ１は軌跡Ｔの始点であり、点Ｐ３は軌跡Ｔの終点である。本例の移動動作では、先ず、ロボット制御装置ＲＣの移動制御部４１からプログラムＡの１行面の「点Ｐ１へ移動」の指令が発行される（図４を参照）。その結果、ロボットＲの可動部３１が現在位置から点Ｐ１に向かって移動する。次いで、ロボット制御装置ＲＣの移動制御部４１からプログラムＡの３行目の「点Ｐ３へ移動」の指令が発行される（図４を参照）。その結果、ロボットＲの可動部３１が点Ｐ１から点Ｐ３に向かって軌跡Ｔ上を移動する。図５の例では、軌跡Ｔの近くに２つの物体Ｏ１，Ｏ２が置かれているものの、それら物体Ｏ１，Ｏ２は軌跡Ｔを塞いでいない。つまり、可動部３１の軌跡Ｔ上に障害物は存在しないので、可動部３１は軌跡Ｔを通って点Ｐ３に到達することができる。
【００１９】
ここで、可動部３１の軌跡Ｔ上に何らかの障害物が存在する場合について説明する。図６は、可動部３１の軌跡Ｔ上に障害物が存在する事例について説明するための、図５と同様の概略図である。図６の例では、図５中の物体Ｏ１が軌跡Ｔを塞ぐように移動されている。そのため、軌跡Ｔ上を移動する可動部３１は、点Ｐ３に到達する前に物体Ｏ１に接触して物体Ｏ１から反力を受ける。その際に、上記の力センサＳ１〜Ｓｎが検出した負荷が所定の閾値（ｘ１）を超えたら、移動制御部４１の停止制御部４１１がロボットＲの動作を停止させる。この閾値（ｘ１）を以下では移動動作用の閾値と称する。或いは、可動部３１と物体Ｏ１の接触に気付いたオペレータが所定の停止信号２２をロボット制御装置ＲＣに入力することによってロボットＲの動作を停止させてもよい。この停止信号２２は、上記の開始信号２１と同様に、教示操作盤ＴＰのキーボード１５を介して入力される（図１及び図３を参照）。上記の停止信号２２に従って停止した可動部３１の位置が、図６中の点Ｐ２で表されている。
【００２０】
このように可動部３１が移動動作の途中で停止したら、ロボットＲの移動動作を再開する前に、可動部３１が停止する原因となった事象を除去する必要がある。図７は、ロボットＲの可動部３１が停止する原因となった事象を除去する手順について説明するための、図５及び図６と同様の概略図である。図７の例では、先ず、オペレータが、教示操作盤ＴＰを用いたロボットＲの手動送り操作によって、可動部３１を軌跡Ｔから離脱させる。その結果、可動部３１は、軌跡Ｔ上の点Ｐ２から軌跡Ｔの外側の点Ｐ４に退避する。可動部３１が点Ｐ２から点Ｐ４に退避する経路が、図７中の矢印Ａ７０で表されている。次いで、オペレータが、可動部３１の停止の原因となった物体Ｏ１を移動させる。これにより物体Ｏ１が可動部３１の軌跡Ｔから除去される。上記の手順に従って、ロボットＲの移動動作を再開する準備が整えられる。そして、上記の手順が完了したら、ロボット制御装置ＲＣの復帰制御部４２がロボットＲの可動部３１を軌跡Ｔに復帰させる。なお、図７の例では、可動部３１がオペレータの手動送り操作によって軌跡Ｔから離脱しているものの、可動部３１が障害物との接触後の慣性運動によって軌跡Ｔから離脱する場合もある。
【００２１】
再び図３を参照して、本例の復帰制御部４２について説明する。本例の復帰制御部４２は、軌跡Ｔ上を移動する可動部３１が終点Ｐ３に到達する前に軌跡Ｔから離脱した場合に、可動部３１が軌跡Ｔに復帰するようにロボットＲの動作を制御する。復帰制御部４２によって制御されるロボットＲの動作を以下では「復帰動作」と称する。図８は、図３中のロボットＲの復帰動作について説明するための概略図である。上述した通り、ロボットＲの復帰動作が開始される前に、ロボットＲの可動部３１はオペレータの手動送り操作又は慣性運動によって軌跡Ｔ上の点Ｐ２から離脱して点Ｐ４に退避している。図８中の矢印Ａ８０で表されるように、本例の復帰動作は、可動部３１を点Ｐ４から点Ｐ２まで移動させる動作である。つまり、図８の例では、可動部３１が軌跡Ｔから離脱する前に通過した経路の終点（点Ｐ２）が、復帰動作の目的地として設定されている。より具体的に、本例の復帰動作では、ロボット制御装置ＲＣの復帰制御部４２から点Ｐ２への移動の指令が発行される。そして、当該指令に従って可動部３１が点Ｐ２に到達したら（すなわち、復帰動作が完了したら）、ロボット制御装置ＲＣの移動制御部４１からプログラムＡの３行目の「点Ｐ３へ移動」の指令が再び発行される（図４を参照）。これによりロボットＲの移動動作が再開される。なお、図９には、ロボットＲの復帰動作の変形例が示されている。この変形例については後述する。
【００２２】
図７と図８を比較すると分かるように、再開動作による可動部３１の移動経路は、オペレータの手動送り操作又は慣性運動による可動部３１の移動経路と一致しているとは限らない（図中の矢印Ａ７０，Ａ８０を参照）。よって、図８のように、復帰動作による移動経路が物体Ｏ２で塞がれている場合には、可動部３１が目的地（Ｐ２）に到達する前に物体Ｏ２に接触することになる。その際に、特許文献２〜４に記載の従来技術を用いて可動部３１を低速で移動させても、以下に説明する理由により、可動部３１から物体Ｏ２に大きな力が加わるので、物体Ｏ２及び可動部３１が大きな損傷を受けることになる。すなわち、可動部３１が物体Ｏ２に接触している間は、ロボットＲの関節軸が回転できないので、検出器Ｅ１〜Ｅｎからデジタルサーボ回路Ｃ１〜Ｃｎへの位置フィードバックは一定のままである。よって、可動部３１が物体Ｏ２に接触している間は、位置フィードバックの微分である速度フィードバックがゼロのままである。ところが、その間も点Ｐ２への移動の指令は発行され続けるので、駆動装置Ｍ１〜Ｍｎの目標位置と位置フィードバックとの間の偏差は増加し続ける。そして、速度フィードバックがゼロである間は、上記の偏差に位置ループゲイン及び速度ループゲインを掛けることによってトルク指令が求められるので（図２を参照）、上記の偏差が増加するのに伴い、駆動装置Ｍ１〜Ｍｎの駆動トルクも増加する。このように、可動部３１が物体Ｏ２に接触している間は、駆動装置Ｍ１〜Ｍｎの駆動トルクが増加し続けるので、可動部３１から物体Ｏ２に加わる力も増加し続ける。
【００２３】
上記の理由により生じる物体Ｏ２及び可動部３１の損傷を軽減するために、本例の復帰制御部４２は、複数の駆動装置Ｍ１〜Ｍｎの少なくとも１つが発生する力（すなわち、駆動トルク）を所定の上限値以下に制限する機能を有している。より具体的に、本例の復帰制御部４２は、駆動装置Ｍ１〜Ｍｎが発生する駆動トルクを所定の上限値以下に制限するための手段として、指令制限部４３及び停止制御部４４を備えている（図３を参照）。これらの機能について以下に詳細に説明する。先ず、本例の指令制限部４３は、複数の駆動装置Ｍ１〜Ｍｎが発生する力の指令値を所定の範囲内に制限する機能を有する。より具体的に、本例の指令制限部４３は、複数の駆動装置Ｍ１〜Ｍｎに対するトルク指令を所定の範囲内に制限する機能を有する。この機能は、例えば、デジタルサーボ回路Ｃ１〜Ｃｎにおけるトルク制限のブロック１６が、トルク指令を所定の上限値及び下限値でクランプすることによって実現される。なお、トルク指令のクランプの上限値及び下限値は、例えば、予め用意された復帰動作用の設定画面でオペレータによって指定される。
【００２４】
図１０は、図１のロボットシステムによって提供される復帰動作用の設定画面Ｕを示す概略図である。この設定画面Ｕは、例えば、教示操作盤ＴＰの液晶ディスプレイ１４に表示される。本例の設定画面Ｕでは、オペレータが「トルク」列に所望の値を入力することによって、復帰動作開始時の駆動トルクからのトレランスをｋｇｆｃｍの単位で指定することができる。図１０のように、本例の設定画面Ｕの「トルク」列には、複数の関節軸Ｊ１〜Ｊ６のそれぞれについて所望の値を入力することができる。なお、復帰動作開始時の駆動トルクは、ロボット機構部ＲＭを重力に対抗して支持するのに必要な駆動トルクに相当する。オペレータが設定画面Ｕの「トルク」列に入力した値は、先ず、不揮発性メモリ１２ｃに格納され、次いで、ホストＣＰＵ１１によって共有ＲＡＭ１３１〜１３ｎ経由でデジタルサーボ回路Ｃ１〜Ｃｎのトルク制限のブロック１６に設定される。これにより、デジタルサーボ回路Ｃ１〜Ｃｎで生成されるトルク指令が「復帰動作開始時の駆動トルク−入力値」から「復帰動作時の駆動トルク＋入力値」までの範囲に制限されるので、駆動装置Ｍ１〜Ｍｎが発生する駆動トルクが所定の上限値以下に制限されることになる。このときの駆動トルクの上限値は「復帰動作開始時の駆動トルク＋入力値」である。
【００２５】
続いて、本例の停止制御部４４は、駆動装置Ｍ１〜Ｍｎに加わる負荷が所定の閾値を超えたらロボットＲの復帰動作を即座に停止する機能を有する。図３のように、本例の停止制御部４４は、負荷特定部４４１と、閾値判定部４４２と、を含んでいる。本例の負荷特定部４４１は、上記の力センサＳ１〜Ｓｎを用いて駆動装置Ｍ１〜Ｍｎに加わる負荷を検出する。ただし、負荷特定部４４１は、種々の公知手法を用いて駆動装置Ｍ１〜Ｍｎに加わる負荷を推定してもよい。また、本例の閾値判定部４４２は、負荷特定部４４１が検出又は推定した負荷が所定の閾値を超えるかどうかを判定する。そして、本例の停止制御部４４は、負荷特定部４４１が検出又は推定した負荷が所定の閾値を超えたらロボットＲの復帰動作を即座に停止する。閾値判定部４４２の判定に用いられる閾値は、例えば、上記の設定画面Ｕでオペレータによって指定される。以下では、閾値判定部４４２の判定に用いられる閾値（ｘ２）を、上述した移動動作用の閾値（ｘ１）と区別して、復帰動作時の閾値（ｘ２）と称する。
【００２６】
再び図１０を参照すると、本例の設定画面Ｕでは、オペレータが「衝突」列に所望の値を入力することによって、移動動作用の閾値（ｘ１）に対する復帰動作用の閾値（ｘ２）の割合（ｘ２／ｘ１）を百分率で指定することができる。なお、移動動作用の閾値（ｘ１）は、ＲＯＭ１２ａ又は不揮発性メモリ１２ｃ等に予め格納されている。図１０のように、本例の設定画面Ｕの「衝突」列には、複数の関節軸Ｊ１〜Ｊ６のそれぞれについて所望の値を入力することができる。そして、複数の関節軸Ｊ１〜Ｊ６に加わる負荷が復帰動作用の閾値（ｘ２）を超えたらロボットＲの復帰動作が即座に停止されるので、結果的に、駆動装置Ｍ１〜Ｍｎが発生する駆動トルクが所定の上限値以下に制限されることになる。このときの駆動トルクの上限値は復帰動作用の閾値（ｘ２）である。
【００２７】
再び図３を参照すると、本例の復帰制御部４２は、ゲイン変更部４５をさらに含んでいる。本例のゲイン変更部４５は、駆動装置Ｍ１〜Ｍｎのフィードバック制御に用いられるループゲイン、すなわち、デジタルサーボ回路Ｃ１〜Ｃｎに設定されたループゲインを変更する機能を有する。特に、本例のゲイン変更部４５は、ロボットＲの復帰動作に用いられるループゲインとして、ロボットＲの移動動作に用いられるループゲインよりも小さい値を設定する。この機能は、例えば、ホストＣＰＵ１１が、不揮発性メモリ１２ｃに格納された復帰動作用のループゲインを、共有ＲＡＭ１３１〜１３ｎ経由でデジタルサーボ回路Ｃ１〜Ｃｎに設定することによって実現される。復帰動作用のループゲインは、例えば、上記の設定画面Ｕでオペレータによって指定される。なお、移動動作用のループゲインは、ＲＯＭ１２ａ又は不揮発性メモリ１２ｃ等に予め格納されている。
【００２８】
再び図１０を参照すると、本例の設定画面Ｕでは、オペレータが「剛性」欄の「位置」列に所望の値を入力することによって、移動動作用の位置ループゲインに対する復帰動作用の位置ループゲインの割合を百分率で指定することができる。同様に、本例の設定画面では、オペレータが「剛性」欄の「速度」列に所望の値を入力することによって、移動動作用の速度ループゲインに対する復帰動作用の速度ループゲインの割合を百分率で指定することができる。図１０のように、本例の設定画面Ｕの「位置」及び「速度」の列には、複数の関節軸Ｊ１〜Ｊ６のそれぞれについて、１００％よりも小さい所望の値を入力することができる。これにより、復帰動作用の位置ループゲイン及び速度ループゲインが、移動動作用の位置ループゲイン及び速度ループゲインよりも小さくなる。図２から分かるように、デジタルサーボ回路Ｃ１〜Ｃｎが生成するトルク指令は、位置ループゲイン及び速度ループゲインに比例する。よって、位置ループゲイン及び速度ループゲインが小さくなるのに伴い、デジタルサーボ回路Ｃ１〜Ｃｎが生成するトルク指令も小さくなり、結果的に、駆動装置Ｍ１〜Ｍｎが発生する駆動トルクが減少する。
【００２９】
続いて、上述したロボットＲの復帰動作の変形例について説明する。図９は、図３中のロボットＲの復帰動作の変形例について説明するための、図８と同様の概略図である。図８の例と同様に、ロボットＲの復帰動作が開始される前に、ロボットＲの可動部３１はオペレータの手動送り操作又は慣性運動によって軌跡Ｔから離脱して点Ｐ４に退避している。図９中の矢印Ａ９１及びＡ９２で表されるように、本例の復帰動作は、可動部３１を点Ｐ４から点Ｐ１まで点Ｐ５を経由して移動させる動作である。つまり、図９の例では、軌跡Ｔの始点Ｐ１が復帰動作の目的地として設定されており、かつ、軌跡Ｔの外側の点Ｐ５が中継点として設定されている。なお、上記の中継点Ｐ５は、オペレータによって予め指定されている。
【００３０】
図８の例と同様に、本例の復帰動作においても、再開動作による可動部３１の移動経路は、手動送り操作又は慣性運動による可動部３１の移動経路と一致していない。よって、図９のように、矢印Ａ９１で表される可動部３１の移動経路が物体Ｏ３で塞がれている場合には、可動部３１が中継点Ｐ５に到達する前に物体Ｏ３に接触することになる。ところが、可動部３１が矢印Ａ９１の経路上を移動する間も、復帰制御部４２によって駆動装置Ｍ１〜Ｍｎの駆動トルクが所定の上限値以下に制限されるので、可動部３１と物体Ｏ３の接触による両者の損傷を軽減することができる。なお、ロボットＲの復帰動作における可動部３１の目的地が図８及び図９の例に限定されることはなく、軌跡Ｔ上の任意の点が可動部３１の目的地として設定されうる。
【００３１】
次に、本実施形態のロボット制御装置ＲＣを含むロボットシステムの動作の概要について説明する。図１１は、本実施形態のロボット制御装置ＲＣが移動動作用のプログラムＡを実行する手順を示すフローチャートである。図１１のように、先ず、ステップＳ１では、ロボット制御装置ＲＣが、上記の開始信号２１が発行されたかどうかを判定する。上述した通り、開始信号２１は例えば教示操作盤ＴＰからロボット制御装置ＲＣに送信される。ここで、開始信号２１が発行された場合には（ステップＳ１のＹＥＳ）、ロボット制御装置ＲＣが、ロボットＲが復帰動作中であるかどうかさらに判定する（ステップＳ３）。他方、開始信号２１が発行されていない場合には（ステップＳ１のＮＯ）、ロボット制御装置ＲＣが、手動送りの操作指令に従ってロボットＲの動作を制御し（ステップＳ２）、手動送りの操作指令が完了したらステップＳ３の判定を実行する。上述した通り、ロボットＲの手動送りの操作指令は、教示操作盤ＴＰによってオペレータから受け付けられる。
【００３２】
そして、ステップＳ３でロボットＲが復帰動作中であると判定された場合には（ステップＳ３のＹＥＳ）、ロボット制御装置ＲＣは後述するステップＳ４に進む。ここで、ロボットＲが復帰動作中であることは、ロボットＲの可動部３１が移動動作中に障害物と接触して非常停止し、さらに、手動送り操作又は慣性運動によって軌跡Ｔから離脱したことを意味する（図７を参照）。他方、ステップＳ３でロボットＲが復帰動作中ではないと判定された場合には（ステップＳ３のＮＯ）、ロボット制御装置ＲＣが、プログラムＡの実行すべき行を１行目に設定する（ステップＳ７）。その結果、ステップＳ８ではプログラムＡが１行目から開始される（図４を参照）。このように、本例のロボット制御装置ＲＣは、教示操作盤ＴＰ等からの開始信号２１の有無を監視し（ステップＳ１）、開始信号２１を受信した時点でロボットＲの復帰動作が進行中でなければ、プログラムＡを１行目から開始する（ステップＳ８）。
【００３３】
引き続き図１１を参照すると、ステップＳ４では、ロボット制御装置ＲＣがトルク制限処理を有効にする。ここでいうトルク制限処理は、図１０の設定画面Ｕで選択された設定内容に従って駆動装置Ｍ１〜Ｍｎの駆動トルクを上限値以下に制限する処理である。次いで、ステップＳ５では、ロボット制御装置ＲＣが、図８又は図９に示した手順で、ロボットＲの復帰動作を実行する。これによりロボットＲの可動部３１が上述した退避後の位置（例えば図８中の点Ｐ４）から復帰動作の目標位置（例えば図８中の点Ｐ２）に向かって移動する。その際に、可動部３１は任意の中継点を経由して目標位置に向かう場合もある（図９を参照）。ステップＳ５の復帰動作中に可動部３１が障害物と接触したとしても、ステップＳ４でトルク制限処理が有効にされているので、可動部３１及び障害物が大きな損傷を受けることはない。次いで、ステップＳ６では、ロボット制御装置ＲＣがトルク制限処理を無効にする。次いで、ステップＳ８では、ロボット制御装置ＲＣがプログラムＡを再開する。より具体的に、ステップＳ６に続けて実行されるステップＳ８では、プログラムＡが、ロボットＲの非常停止の時点で実行されていた行から再開される。
【００３４】
以上のように、本実施形態のロボット制御装置ＲＣでは、ロボットＲの復帰動作を制御する復帰制御部４２によって、駆動装置Ｍ１〜Ｍｎの駆動トルクが所定の上限値以下に制限される。よって、本実施形態のロボット制御装置ＲＣによれば、可動部３１が軌跡Ｔ上の目的地に復帰するまでの間に障害物と接触したとしても、それにより可動部３１及び障害部が受ける損傷を軽減することができる。このような効果は、軌跡Ｔ上の目的地として、可動部３１が軌跡Ｔから離脱する前に通過した経路の終点Ｐ２が設定されている場合だけでなく、軌跡Ｔ上の目的地として始点Ｐ１が設定されている場合にも達成される。
【００３５】
また、本実施形態のロボット制御装置ＲＣでは、例えば、復帰制御部４２の指令制限部４３が駆動装置Ｍ１〜Ｍｎに対するトルク指令をクランプすることによって、駆動装置Ｍ１〜Ｍｎの駆動トルクを所定の上限値以下に制限している。よって、本実施形態のロボット制御装置ＲＣによれば、複雑な周辺機器等を用いなくても、可動部３１と障害物の接触による両者の損傷を軽減することができる。また、本実施形態のロボット制御装置ＲＣでは、例えば、復帰制御部４２の停止制御部４４が、駆動装置Ｍ１〜Ｍｎの負荷が所定の閾値（ｘ２）を超えた時点でロボットＲの復帰動作を停止することによって、駆動装置Ｍ１〜Ｍｎの駆動トルクを所定の上限値以下に制限している。よって、本実施形態のロボット制御装置ＲＣによれば、可動部３１と障害物の接触による両者の損傷を軽減できるとともに、その後に両者の損傷が悪化するのを防止できる。
【００３６】
さらに、本実施形態のロボット制御装置ＲＣでは、復帰制御部４２のゲイン変更部４５がデジタルサーボ回路Ｃ１〜Ｃｎに設定されたループゲインの値を変更することによって、ロボットＲの復帰動作に使用される位置ループゲイン及び速度ループゲインのいずれか一方又は両方の値が、ロボットＲの移動動作に使用される値よりも小さくされる。よって、本実施形態のロボット制御装置ＲＣによれば、ロボットＲの復帰動作中は、駆動装置Ｍ１〜Ｍｎに対する駆動トルクの指令値が比較的小さくされるので、可動部３１と障害物の接触による両者の損傷をより一層軽減することができる。
【００３７】
本発明は、上記実施形態のみに限定されるものではなく、特許請求の範囲に記載された範囲内で種々改変されうる。例えば、上記実施形態では、ロボットＲとして垂直多関節ロボットを例示したが、本発明のロボット制御装置ＲＣが制御するロボットＲは、エンドエフェクタ等の可動部３１に所定の軌跡Ｔ上を移動させることができるロボットであれば如何なるものであってもよい。例えば、ロボット制御装置ＲＣが制御するロボットＲは、水平多関節ロボット又は直交ロボット等であってもよい。そして、ロボットＲを駆動する駆動装置Ｍ１〜Ｍｎは、上記実施形態で例示した回転モータではなく、直線運動する可動子を有するリニアモータであってもよい。その場合に、ロボット制御装置ＲＣの復帰制御部４２は、駆動装置Ｍ１〜Ｍｎの駆動トルクではなく駆動力を所定の上限値以下に制限することになる。また、上記実施形態に記載されたロボットシステムの各装置の機能及び構造とは一例にすぎず、本発明の効果を達成するために多様な機能及び構造等が採用されうる。
【符号の説明】
【００３８】
１１    ホストＣＰＵ
１２ａ    ＲＯＭ
１２ｂ    ＲＡＭ
１２ｃ    不揮発性メモリ
１３ｎ    共有ＲＡＭ
１４    液晶ディスプレイ
１５    キーボード
１６    トルク制限のブロック
１７    電流制御のブロック
２１    開始信号
２２    停止信号
３０    アーム
３１    可動部
４１    移動制御部
４１１    停止制御部
４２    復帰制御部
４３    指令制限部
４４    停止制御部
４４１    負荷特定部
４４２    閾値判定部
４５    ゲイン変更部
Ａ    プログラム
Ｃｎ    デジタルサーボ回路
Ｅｎ    検出器
Ｍｎ    駆動装置
Ｏ１    物体
Ｏ２    物体
Ｏ３    物体
Ｐ１    点
Ｐ２    点
Ｐ３    点
Ｐ４    点
Ｐ５    点
Ｒ    ロボット
ＲＣ    ロボット制御装置
Ｓｎ    力センサ
Ｔ    軌跡
Ｕ    設定画面
【図１】
2016064479.tif 000003
【図２】
2016064479.tif 000004
【図３】
2016064479.tif 000005
【図４】
2016064479.tif 000006
【図５】
2016064479.tif 000007
【図６】
2016064479.tif 000008
【図７】
2016064479.tif 000009
【図８】
2016064479.tif 000010
【図９】
2016064479.tif 000011
【図１０】
2016064479.tif 000012
【図１１】
2016064479.tif 000013