(57)【要約】【課題】角度センサに異常が生じた場合において、サーボモータと減速機との接続部分への負担を抑制しつつ、ダイナミックブレーキと機械ブレーキとを用いて速やかにサーボモータを停止させる。【解決手段】ロボット制御装置２００は、角度センサ１６０の異常が検出された場合において、推定された回転速度においてダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、機械ブレーキ１５０を作動させたと仮定した場合に該機械ブレーキ１５０によって生じる制動トルクとのトルク合計値が、所定のトルク上限値を超える場合に、機械ブレーキを作動させずにダイナミックブレーキを作動させる第１の制動処理を実行し、トルク合計値が前記トルク上限値以下の場合には、ダイナミックブレーキおよび機械ブレーキを作動させる第２の制動処理を実行する。【選択図】図２
2012055981.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータと前記サーボモータの回転角度を検出する角度センサと前記サーボモータを停止させるための機械ブレーキとを備えるロボットを制御するためのロボット制御装置であって、
前記角度センサから前記回転角度を取得し、該取得された回転角度に応じて前記サーボモータの駆動をフィードバック制御する駆動制御部と、
前記サーボモータの電気的変量に基づいて、前記サーボモータの回転速度を推定する推定部と、
前記角度センサの異常の有無を検出する異常検出部と、
前記サーボモータに対するダイナミックブレーキの作動を制御するダイナミックブレーキ制御部と、
前記角度センサの異常が検出された場合において、前記推定された回転速度において前記ダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、前記機械ブレーキを作動させたと仮定した場合に該機械ブレーキによって生じる制動トルクとのトルク合計値が、所定のトルク上限値を超える場合に、前記機械ブレーキを作動させずに前記ダイナミックブレーキを作動させる第１の制動処理を実行し、前記トルク合計値が前記トルク上限値以下の場合には、前記ダイナミックブレーキおよび前記機械ブレーキを作動させる第２の制動処理を実行する異常停止制御部と、
を備えるロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置であって、
前記異常停止制御部は、前記トルク合計値が前記トルク上限値を超える回転速度の範囲を予め記憶しており、前記推定された回転速度が前記範囲に入る場合に、前記第１の制動処理を実行し、前記推定された回転速度が前記範囲に入らない場合に、前記第２の制動処理を実行する、ロボット制御装置。
【請求項３】
請求項２に記載のロボット制御装置であって、
前記異常停止制御部は、前記推定された回転速度が前記範囲を超える回転速度の場合において、前記推定された回転速度が前記範囲内の回転速度にまで低下する見込みの時間を推定し、該推定された時間が、前記機械ブレーキの作動および解除に必要な時間よりも短い場合には、前記第２の制動処理の実行を取りやめ、前記第１の制動処理を実行する、ロボット制御装置。
【請求項４】
請求項２または請求項３に記載のロボット制御装置であって、
前記異常停止制御部は、前記推定された回転速度が前記範囲内の回転速度の場合において、前記推定された回転速度が前記範囲よりも低い回転速度にまで低下する見込みの時間を推定し、該推定された時間が、前記機械ブレーキの作動に必要な時間よりも短くなった場合に、前記機械ブレーキの作動を開始させる、ロボット制御装置。
【請求項５】
請求項１から請求項４までのいずれか一項に記載のロボット制御装置であって、
前記トルク上限値は、前記サーボモータが接続される減速機が耐え得るトルクに基づいて予め定められている、ロボット制御装置。
【請求項６】
サーボモータと前記サーボモータの回転角度を検出する角度センサと前記サーボモータを停止させるための機械ブレーキとを備えるロボットの制御方法であって、
（ａ）前記角度センサから前記回転角度を取得し、該取得された回転角度に応じて前記サーボモータの駆動をフィードバック制御する工程と、
（ｂ）前記角度センサの異常の有無を検出する工程と、
（ｃ）前記角度センサの異常が検出された場合において、前記サーボモータの電気的変量に基づいて、前記サーボモータの回転速度を推定する工程と、
（ｄ）前記推定された回転速度において前記サーボモータにダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、前記機械ブレーキを作動させたと仮定した場合に該機械ブレーキによって生じる制動トルクとのトルク合計値が、所定のトルク上限値を超える場合に、前記機械ブレーキを作動させずに前記ダイナミックブレーキを作動させる第１の制動処理を実行する工程と、
（ｅ）前記トルク合計値が前記トルク上限値以下の場合に、前記ダイナミックブレーキおよび前記機械ブレーキを作動させる第２の制動処理を実行する工程と、
を備える制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータを備えたロボットを制御する技術に関するものであり、特に、サーボモータに接続された角度センサに異常が生じた場合に、サーボモータを停止させる技術に関する。
【背景技術】
【０００２】
ロボットの軸を駆動するサーボモータには、回転角度をフィードバック制御するために、ロータリエンコーダやレゾルバといった角度センサが取り付けられている。この角度センサに故障が生じたり、角度センサと制御装置とを接続する信号線に断線が生じると、ロボットの軸を正確に駆動することができなくなる。
【０００３】
そこで、このような異常が生じた場合には、ロボットの不測の動作を抑制するため、サーボモータを速やかに停止させることが好ましい。サーボモータを停止させるには、ダイナミックブレーキなどの発電制動によって停止させる方法や、軸の停止位置を保持するための機械ブレーキによって停止させる方法がある（例えば、特許文献１参照）。サーボモータをより早く停止させるためには、例えば、ダイナミックブレーキと機械ブレーキとを併用して同時に作動させることも可能である。
【０００４】
しかし、ダイナミックブレーキと機械ブレーキとを単純に同時に作動させると、サーボモータの回転速度によっては、これらのブレーキの制動トルクの合算値が増大し、サーボモータと減速機との接続部分に必要以上の負担が掛かる可能性があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３４９４６８５号公報
【特許文献２】特許第２８５６２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の問題を考慮し、本発明が解決しようとする課題は、角度センサに異常が生じた場合において、サーボモータと減速機との接続部分への負担を抑制しつつ、ダイナミックブレーキと機械ブレーキとを用いて速やかにサーボモータを停止させる技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００８】
［適用例１］サーボモータと前記サーボモータの回転角度を検出する角度センサと前記サーボモータを停止させるための機械ブレーキとを備えるロボットを制御するためのロボット制御装置であって、前記角度センサから前記回転角度を取得し、該取得された回転角度に応じて前記サーボモータの駆動をフィードバック制御する駆動制御部と、前記サーボモータの電気的変量に基づいて、前記サーボモータの回転速度を推定する推定部と、前記角度センサの異常の有無を検出する異常検出部と、前記サーボモータに対するダイナミックブレーキの作動を制御するダイナミックブレーキ制御部と、前記角度センサの異常が検出された場合において、前記推定された回転速度において前記ダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、前記機械ブレーキを作動させたと仮定した場合に該機械ブレーキによって生じる制動トルクとのトルク合計値が、所定のトルク上限値を超える場合に、前記機械ブレーキを作動させずに前記ダイナミックブレーキを作動させる第１の制動処理を実行し、前記トルク合計値が前記トルク上限値以下の場合には、前記ダイナミックブレーキおよび前記機械ブレーキを作動させる第２の制動処理を実行する異常停止制御部と、を備えるロボット制御装置。
【０００９】
上記構成によれば、角度センサの異常が検出された場合において、推定された回転速度においてダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、機械ブレーキを作動させたと仮定した場合に該機械ブレーキによって生じる制動トルクとのトルク合計値が所定のトルク上限値を超える場合には、機械ブレーキを作動させずにダイナミックブレーキを作動させ、トルク合計値が前記トルク上限値以下の場合には、ダイナミックブレーキおよび機械ブレーキを作動させる。そのため、角度センサに異常が生じた場合において、サーボモータと減速機との接続部分等への負担を抑制しつつ、ダイナミックブレーキと機械ブレーキとを用いて速やかにサーボモータを停止させることが可能になる。
【００１０】
［適用例２］適用例１に記載のロボット制御装置であって、前記異常停止制御部は、前記仮想制動トルク合計値が前記トルク上限値を超える回転速度の範囲を予め記憶しており、前記推定された回転速度が前記範囲に入る場合に、前記第１の制動処理を実行し、前記推定された回転速度が前記範囲に入らない場合に、前記第２の制動処理を実行する、ロボット制御装置。
【００１１】
このような構成であれば、推定された回転速度と予め記憶された回転速度の範囲とを対比することで、第１の制動処理を実行するか第２の制動処理を実行するかを容易に決定することが可能になる。
【００１２】
［適用例３］適用例２に記載のロボット制御装置であって、前記異常停止制御部は、前記推定された回転速度が前記範囲を超える回転速度の場合において、前記推定された回転速度が前記範囲内の回転速度にまで低下する見込みの時間を推定し、該推定された時間が、前記機械ブレーキの作動および解除に必要な時間よりも短い場合には、前記第２の制動処理の実行を取りやめ、前記第１の制動処理を実行する、ロボット制御装置。
【００１３】
このような構成であれば、機械ブレーキの作動および解除のために必要な時間を考慮して、第２の制動処理から第１の制動処理に制動処理の実行を切り換えることができるので、回転速度が高い速度から低い速度に低下する際に、一時的にトルク合計値がトルク上限値を超えてしまうことを抑制することができる。
【００１４】
［適用例４］適用例２または適用例３に記載のロボット制御装置であって、前記異常停止制御部は、前記推定された回転速度が前記範囲内の回転速度の場合において、前記推定された回転速度が前記範囲よりも低い回転速度にまで低下する見込みの時間を推定し、該推定された時間が、前記機械ブレーキの作動に必要な時間よりも短くなった場合に、前記機械ブレーキの作動を開始させる、ロボット制御装置。
【００１５】
このような構成であれば、第１の制動処理から第２の制動処理に制動処理を移行させる際に、機械ブレーキが実際に作動するために必要な時間を考慮して、機械ブレーキの作動をタイミング良く開始させることができる。そのため、回転速度が前述の範囲よりも低くなる際に、機械ブレーキとダイナミックブレーキの両方の制動トルクをトルク上限値まで最大限働かせることができる。
【００１６】
［適用例５］適用例１から適用例４までのいずれか一項に記載のロボット制御装置であって、前記トルク上限値は、前記サーボモータが接続される減速機が耐え得るトルクに基づいて予め定められている、ロボット制御装置。
【００１７】
減速機が耐え得るトルクとは、例えば、サーボモータと減速機との接続部分に存在するギアにズレが生じないトルクである。このような構成であれば、サーボモータと減速機とが係合するギアにすべりが生じることを抑制することが可能になる。よって、例えば、角度センサの異常状態が回復し、再度、ロボットを作動させる場合において、再キャリブレーションを行うことが不要となり、速やかに作業を再開させることが可能になる。
【００１８】
本発明は、上述したロボット制御装置としての構成のほか、例えば、ロボットの制御方法や、ロボットを制御するためのコンピュータプログラムとしても構成することができる。コンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。
【図面の簡単な説明】
【００１９】
【図１】ロボット制御装置を含むロボットシステムの概略構成を示す説明図である。
【図２】ロボット本体およびロボット制御装置の内部構成を示すブロック図である。
【図３】ダイナミックブレーキの制動トルクの変動特性を例示するグラフである。
【図４】異常停止処理のフローチャートである。
【図５】第１の閾値および第２の閾値の例を示す説明図である。
【図６】第２実施例において実行される異常停止処理のフローチャートである。
【図７】第２実施例において実行される異常停止処理のフローチャートである。
【図８】速度低下時間および機械ブレーキ応答時間の例を示す説明図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を図面を参照しつつ実施例に基づき説明する。
Ａ．第１実施例：
（Ａ１）ロボットシステムの概略構成：
図１は、本発明の実施例としてのロボット制御装置２００を含むロボットシステム１０の概略構成を示す説明図である。ロボットシステム１０は、多関節型の産業用ロボットとして構成されたロボット本体１００と、ロボット本体１００を制御するロボット制御装置２００と、ロボット制御装置２００に接続され、ロボット本体１００の動作をプログラムするためのティーチングペンダント３００とを有している。
【００２１】
ロボット本体１００は、例えば、工場内等に固定されるベース部１０１と、水平方向に旋回可能な軸によってベース部１０１に支持されたショルダ部１０２と、鉛直方向に旋回可能な軸によってショルダ部１０２に下端が支持された下アーム１０３と、鉛直方向に旋回可能な軸によって下アーム１０３の先端に略中央部が支持された上アーム１０４と、鉛直方向に旋回可能な軸によって上アーム１０４の先端に支持された手首１０５とを備えている。手首１０５の先端には、手首１０５の円周方向に回転可能なフランジ部１０６が備えられている。フランジ部１０６には、例えば、ワークを把持するハンド（図示せず）が取り付けられる。
【００２２】
上述したロボット本体１００の各パーツを接続する関節部分には、軸を駆動させるためのサーボモータや減速機が備えられ、また、サーボモータの回転角度や回転速度を検出するための角度センサが組み込まれている。本実施例のロボット制御装置２００は、角度センサに異常が生じた場合に、サーボモータを迅速に停止させるための機能（以下、緊急停止機能ともいう）を備えている。以下、この緊急停止機能を実現するための構成および処理について詳細に説明する。
【００２３】
（Ａ２）ロボット本体およびロボット制御装置の内部構成：
図２は、ロボット本体１００およびロボット制御装置２００の内部構成を示すブロック図である。ロボット本体１００は、三相交流式のブラシレスＤＣモータとして構成されたサーボモータ１１０と、サーボモータ１１０の回転軸に接続されたロータリエンコーダ１６２と、サーボモータ１１０の動力を関節やハンドに伝達するための減速機１７０と、サーボモータ１１０の回転位置を機械的に保持する機械ブレーキ１５０と、を備えている。
【００２４】
ロータリエンコーダ１６２には角度変換器１６４が接続されている。角度変換器１６４は、ロータリエンコーダ１６２から、サーボモータ１１０の回転に応じた信号を入力し、この信号に基づいてサーボモータ１１０の回転角度を表す角度情報を生成する。角度変換器１６４によって生成された角度情報は、ロボット制御装置２００に入力され、後述するフィードバック制御を行うための帰還信号として用いられる。以下の説明では、ロータリエンコーダ１６２と角度変換器１６４とを含めて、「角度センサ１６０」と呼ぶ。なお、本実施例では、サーボモータ１１０の回転角度をロータリエンコーダ１６２によって検出することとしたが、レゾルバを用いて検出することとしてもよい。
【００２５】
ロボット制御装置２００は、ロボット本体１００のサーボモータ１１０に三相交流電力を供給するインバータ１２０と、駆動制御部２１１からの指令に基づいてインバータ１２０のスイッチング制御を行う駆動回路１４０と、インバータ１２０とサーボモータ１１０との間に流れる電流の電流値を検出する電流検出器１３０と、を備えている。また、ロボット制御装置２００は、ＣＰＵ２１０とＲＯＭ２３０とＲＡＭ２４０とを備えている。ＣＰＵ２１０は、ＲＯＭ２３０に記憶された所定の制御プログラム２３５をＲＡＭ２４０にロードして実行することで、駆動制御部２１１、異常検出部２１２、異常停止制御部２１３、回転速度推定部２１４、ダイナミックブレーキ制御部２１６、および、機械ブレーキ制御部２１７として機能する。
【００２６】
駆動制御部２１１は、ＲＡＭ２４０に記憶された軌跡データ２４５に基づいて、サーボモータ１１０を駆動するためのパルス信号を駆動回路１４０に出力する。このとき、駆動制御部２１１は、ロボット本体１００の角度センサ１６０から角度情報を取得し、この角度情報に基づいて、サーボモータ１１０の駆動をフィードバック制御する。駆動回路１４０は、駆動制御部２１１から入力したパルス信号に基づいて、インバータ１２０を駆動し、サーボモータ１１０を回転させる。
【００２７】
異常検出部２１２は、角度センサ１６０に異常が生じたか否かを検出する。異常検出部２１２は、例えば、ロボット本体１００とロボット制御装置２００との間の信号線の断線などによって角度センサ１６０から角度情報を取得できない場合や、駆動制御部２１１が出力する指令値とは大きく異なる回転角度や回転速度が取得された場合、あるいは、角度センサ１６０からエラー信号を受信した場合に、角度センサ１６０に異常が生じたと判断する。
【００２８】
異常停止制御部２１３は、異常検出部２１２によって角度センサ１６０の異常が検出された場合に、サーボモータ１１０を緊急停止するための異常停止処理を実行する。異常停止処理の詳細については後述する。
【００２９】
ダイナミックブレーキ制御部２１６は、異常停止制御部２１３からの指令に応じて、サーボモータ１１０にダイナミックブレーキ（短絡ブレーキともいう）を作動させる。具体的には、ダイナミックブレーキ制御部２１６は、駆動回路１４０を通じてインバータ１２０のスイッチング素子を制御し、サーボモータ１１０の端子間を強制的に短絡させる。そうすると、サーボモータ１１０の回転エネルギがサーボモータ１１０自体の発熱により消費されるため、サーボモータ１１０を停止させることができる。
【００３０】
図３は、ダイナミックブレーキの制動トルクの変動特性を例示するグラフである。このグラフの横軸はサーボモータ１１０の回転速度を示し、縦軸はその回転速度に応じたダイナミックブレーキの制動トルクを示している。このグラフに示すように、一般的に、ロボット用のサーボモータ１１０に作動させるダイナミックブレーキの制動トルクは、サーボモータ１１０の回転速度が上昇するに連れ高くなり、ある回転速度（図３の場合には、約８００ｒｐｍ）を超えると、徐々に低くなる特性を有する。
【００３１】
機械ブレーキ制御部２１７（図２）は、異常停止制御部２１３からの指令に応じて、ロボット本体１００の機械ブレーキ１５０を作動させる。機械ブレーキ制御部２１７は、また、異常停止制御部２１３からの指令とは関係なく、ロボットシステム１０の電源オフ時にも機械ブレーキ１５０を作動させてサーボモータ１１０の回転位置を保持させる機能を有する。
【００３２】
回転速度推定部２１４は、ダイナミックブレーキ制御部２１６によってダイナミックブレーキが作動された際に、電流検出器１３０から電流値を取得し、この電流値に応じて、サーボモータ１１０の回転速度を推定する。このとき、電流検出器１３０から取得する電流値のことを、ダイナミックブレーキ電流値という。サーボモータ１１０の回転速度は、ダイナミックブレーキ電流値とサーボモータ１１０の回転速度との関係が予め記録されたマップやテーブルを参照することで推定することができる。なお、サーボモータ１１０の回転速度は、その他にも、サーボモータ１１０の電圧変化など、サーボモータ１１０の回転に伴って生じる他の電気的変量に基づいて推定することも可能である。また、サーボモータ１１０の回転角度（電気角）をダイナミックブレーキ電流値から推定し、以下に示す式（１）のように、推定された回転角度の一定時間内における変化量を計算することで、回転速度を推定することも可能である。
回転速度＝（ｎ−１時の回転角度−ｎ時の回転角度）／一定時間  ・・・（１）
【００３３】
なお、図２には、一つの関節部分についてのロボット本体１００の内部構成とロボット制御装置２００の内部構成を示したが、他の関節部分も同様の内部構成を備えている。なお、ＣＰＵ２１０とＲＯＭ２３０とＲＡＭ２４０とは、１つのロボット制御装置２００につき１組備えられており、ＣＰＵ２１０が実現する各機能部２１１〜２１７が関節毎に備えられている。
【００３４】
（Ａ３）異常停止処理：
図４は、ロボット制御装置２００の異常停止制御部２１３が上述した緊急停止機能を実現するために実行する異常停止処理のフローチャートである。この異常停止処理は、異常検出部２１２によって角度センサ１６０の異常が検出された場合に実行される処理である。
【００３５】
この異常停止処理が開始されると、まず、異常停止制御部２１３は、回転速度推定部２１４から推定された回転速度の取得を開始する（ステップＳ１００）。そして、異常停止制御部２１３は、この推定値が、第１の閾値Ｔｈ１と第２の閾値Ｔｈ２との間の範囲に含まれるか否かを判断する（ステップＳ１０５）。
【００３６】
図５は、第１の閾値Ｔｈ１および第２の閾値Ｔｈ２の例を示す説明図である。この図５には、サーボモータ１１０の回転速度に応じたダイナミックブレーキの制動トルク（図３参照）を示すとともに、ダイナミックブレーキと機械ブレーキ１５０とを同時に作動させたと仮定した場合における両者の制動トルクの合計値をサーボモータ１１０の回転速度に応じて示している。また、図５には、太い横線により、減速機１７０が耐え得るトルク上限値ＴＬを示している。このトルク上限値ＴＬは、サーボモータ１１０の急激なブレーキングによって、サーボモータ１１０の回転軸と減速機１７０の締結部（ギア）とにすべりが生じない制動トルクの上限値を表している。
【００３７】
第１の閾値Ｔｈ１と第２の閾値Ｔｈ２とは、それぞれ、ダイナミックブレーキと機械ブレーキ１５０の制動トルクの合計値が、トルク上限値ＴＬに一致する回転速度に設定されている。つまり、サーボモータ１１０の回転速度が第１の閾値Ｔｈ１と第２の閾値Ｔｈ２との間の範囲に含まれる場合には、ダイナミックブレーキと機械ブレーキ１５０とを両方作動させると、その制動トルクの合計値は、減速機１７０が許容可能なトルク上限値ＴＬを超えることになる。これに対して、サーボモータ１１０の回転速度が、第２の閾値Ｔｈ２以上、あるいは、第１の閾値Ｔｈ１以下の場合には、ダイナミックブレーキと機械ブレーキとを両方作動させたとしても、その制動トルクの合計値は、減速機１７０が許容可能なトルク上限値ＴＬ以下となる。
【００３８】
上記ステップＳ１０５において、回転速度の推定値が、第１の閾値Ｔｈ１と第２の閾値Ｔｈ２との間の範囲に含まれると判断された場合には、異常停止制御部２１３は、ダイナミックブレーキ制御部２１６を制御して、ダイナミックブレーキのみを作動させる第１制動処理を実行する（ステップＳ１１０）。これに対して、回転速度の推定値が、第１の閾値Ｔｈ１以下、あるいは、第２の閾値以上、と判断された場合には、異常停止制御部２１３は、ダイナミックブレーキ制御部２１６と機械ブレーキ制御部２１７とを制御して、ダイナミックブレーキと機械ブレーキ１５０との両方を作動させる第２制動処理を実行する（ステップＳ１１５）。
【００３９】
異常停止制御部２１３は、以上のようにして第１制動処理または第２制動処理を実行すると、サーボモータ１１０が停止したか否かを判断する（ステップＳ１２０）。サーボモータ１１０が停止したか否かは、回転速度推定部２１４によって推定された回転速度がゼロになった場合に、サーボモータ１１０が停止したと判断することができる。サーボモータ１１０が停止していないと判断した場合には、異常停止制御部２１３は、処理をステップＳ１０５に戻して、上述した一連の処理を繰り返し実行する。一方、サーボモータ１１０が停止したと判断すると、異常停止制御部２１３は、当該異常停止処理を終了する。以上で説明した異常停止処理によれば、例えば、角度センサ１６０に異常が発生した時点においてサーボモータ１１０の回転速度が３０００回転であったとすると、図６中に一点鎖線で示したようなトルク変動で、サーボモータ１１０に対するブレーキングが行われることになる。
【００４０】
以上で説明した本実施例のロボット制御装置２００によれば、角度センサ１６０に異常が発生した場合において、ダイナミックブレーキおよび機械ブレーキ１５０を同時に作動させてもその制動トルクの合計値が、減速機１７０が許容可能なトルク上限値ＴＬを上回らない場合には、両方のブレーキを同時に作動させる。一方、これらのブレーキを同時に作動させた場合にその制動トルクの合計値が、減速機１７０が許容可能なトルク上限値ＴＬを上回る場合には、ダイナミックブレーキのみを作動させる。そのため、減速機１７０に必要以上の負担を掛けることなく、サーボモータ１１０を速やかに停止させることが可能になる。また、上記のようにダイナミックブレーキおよび機械ブレーキ１５０を制御することで、減速機１７０に必要以上の負担が掛かかることを抑制することができるため、サーボモータ１１０の緊急停止に伴い減速機１７０内のギアにズレが生じることが抑制される。そのため、ロボットシステム１０の再運転時に回転角度の再キャリブレーションを行う必要がなく、速やかに作業を再開させることが可能になる。なお、機械ブレーキ１５０は、基本的に、ロボット本体１００の静止状態における姿勢を保持するためのブレーキであるため、制動力はそれほど強くはない。一方、ダイナミックブレーキは、両ブレーキの制動トルクの合計値がトルク上限値ＴＬを超えるような回転速度（第２の閾値Ｔｈ２）にまでサーボモータ１１０の回転速度が低下した場合には、その制動トルクが上昇する特性を有する（図５参照）。そのため、機械ブレーキ１５０を解除して一時的に全体の制動力が低下しても、ダイナミックブレーキの制動力が、元の制動力（両ブレーキの制動トルク合計値）に近い値まで戻ることが期待できる。よって、一時的に機械ブレーキ１５０を解除したとしても、ダイナミックブレーキの制動力が十分にあるため、サーボモータ１１０を減速させるための制動力が決定的に不足することはない。
【００４１】
また、本実施例では、ダイナミックブレーキおよび機械ブレーキ１５０を同時に作動させた場合にその制動トルクの合計値が、減速機１７０が許容可能なトルク上限値ＴＬを上回るような場合には、機械ブレーキ１５０ではなくダイナミックブレーキを作動させる。そのため、このような状況においてもダイナミックブレーキ電流値に基づきサーボモータ１１０の回転速度を精度良く推定することができる。この結果、回転速度の低下によって、機械ブレーキ１５０が作動可能となるタイミングを正確に求めることができるので、サーボモータ１１０の回転速度が低下した際に、ダイナミックブレーキだけではなく機械ブレーキ１５０を同時に作動させることができ、回転速度が低い場合に制動トルクが弱くなるダイナミックブレーキの制動トルク特性を機械ブレーキ１５０の制動トルクによって補償することが可能になる。
【００４２】
また、本実施例では、ダイナミックブレーキおよび機械ブレーキ１５０を同時に作動させるとその制動トルクの合計値が、減速機１７０が許容可能なトルク上限値ＴＬを上回るような場合には、単純に機械ブレーキ１５０の作動を停止させてダイナミックブレーキのみによる制動を行う。そのため、各軸毎に新たにダイナミックブレーキ抵抗を追加して制動トルクの合計値を抑制するといった対策や、制動トルクの弱い機械ブレーキを導入しつつ各アームの停止位置の保持力を確保するといった対策を行う必要がない。そのため、ロボット本体１００のコストアップやサイズアップを伴うことなく緊急停止時における制動トルクを容易に制御することができる。
【００４３】
また、本実施例では、特別なハードウェアを新たにロボット本体１００に新たに組み込むことなく、ＣＰＵ２１０が実現する機能によって、上述した異常停止処理を実行することができる。そのため、既に生産設備に配置されている既存のロボットシステムに対しても、上述した緊急停止機能を容易に付加することが可能になる。
【００４４】
Ｂ．第２実施例：
上述した第１実施例では、推定されたサーボモータ１１０の回転速度が第１の閾値Ｔｈ１と第２の閾値Ｔｈ２との間の範囲に含まれるか否かに応じて、ダイナミックブレーキと機械ブレーキ１５０の制御を行った。これに対して、第２実施例では、更に、機械ブレーキ１５０が機械的に作動する時間を考慮してダイナミックブレーキと機械ブレーキの制御を行う。なお、本実施例の装置構成は第１実施例と同様である。
【００４５】
図６および図７は、第２実施例において実行される異常停止処理のフローチャートである。以下、この異常停止処理について図８を参照しつつ説明する。図８は、後述する速度低下時間および機械ブレーキ応答時間の例を示す説明図である。本実施例において、この異常停止処理が実行されると、まず、異常停止制御部２１３は、回転速度推定部２１４から推定された回転速度の取得を開始する（ステップＳ２００）。そして、この推定値が、第２の閾値Ｔｈ２よりも大きいか否かを判断する（ステップＳ２０５）。
【００４６】
推定値が第２の閾値Ｔｈ２よりも大きい場合には、異常停止制御部２１３は、回転速度が第２の閾値Ｔｈ２にまで低下するまでの時間ＤＴ１（図８参照）を推定する（ステップＳ２１０）。この時間ＤＴ１（以下、「速度低下時間ＤＴ１」という）は、例えば、現在の回転速度とアームやワークのイナーシャとの関係に基づいて算出することができる。異常停止制御部２１３は、速度低下時間ＤＴ１を推定すると、その速度低下時間ＤＴ１と、機械ブレーキ１５０が機械的に作動および解除されるために必要な時間（以下、「機械ブレーキ応答時間ｘ」という。図８参照）とを対比し、推定された速度低下時間ＤＴ１の方が、機械ブレーキ応答時間ｘよりも短いか否かを判断する（ステップＳ２１５）。機械ブレーキ応答時間ｘは、例えば、機械ブレーキ１５０を作動および解除する時間を実際に測定することで予め設定することができる。
【００４７】
機械ブレーキ応答時間ｘよりも速度低下時間ＤＴ１の方が短い場合には、現在の回転速度で機械ブレーキ１５０を作動させたとしても、回転速度が第２の閾値Ｔｈ２まで低下するまでに機械ブレーキ１５０の解除が間に合わないことになる。つまり、回転速度が第２の閾値Ｔｈ２より低下した直後において、ダイナミックブレーキと機械ブレーキ１５０との両者が一時的に作動した状態になる可能性がある。そこで、異常停止制御部２１３は、推定された速度低下時間ＤＴ１よりも機械ブレーキ応答時間ｘが長い時間である場合には、推定された回転速度が第２の閾値Ｔｈ２を超えている場合であっても、ダイナミックブレーキのみを作動させる第１の制動処理を実行する（ステップＳ２２０）。これに対して、機械ブレーキ応答時間ｘの方が速度低下時間ＤＴ１よりも短い時間である場合には、速度低下時間ＤＴ１に余裕があることになるため、異常停止制御部２１３は、ダイナミックブレーキと機械ブレーキ１５０とを同時に作動させる第２の制動処理を実行する（ステップＳ２２５）。
【００４８】
以降、異常停止制御部２１３は、推定された回転速度が第２の閾値Ｔｈ２以下になるまで、上述したステップＳ２０５〜ステップＳ２２５の処理を繰り返す。そして、ステップＳ２０５において、推定された回転速度が第２の閾値Ｔｈ２以下であると判断されると、異常停止制御部２１３は、推定された回転速度が第１の閾値Ｔｈ１よりも大きいか否かを判断する（ステップＳ２３０）。推定された回転速度が第１の閾値Ｔｈ１よりも大きければ（つまり、推定された回転速度が第１の閾値Ｔｈ１と第２の閾値Ｔｈ２の範囲内であれば）、異常停止制御部２１３は、回転速度が第１の閾値Ｔｈ１にまで低下するまでの時間ＤＴ２（図８参照）を推定する（ステップＳ２３５）。この時間ＤＴ２（以下、「速度低下時間ＤＴ２」という）も、速度低下時間ＤＴ１と同様に、例えば、現在の回転速度とアームやワークのイナーシャとの関係に基づいて算出することができる。異常停止制御部２１３は、速度低下時間Ｄ２を推定すると、その速度低下時間Ｄ２と、機械ブレーキ１５０が機械的に作動されるために必要な時間（以下、「機械ブレーキ応答時間ｙ」という。図８参照）とを対比し、推定された速度低下時間ＤＴ２の方が、機械ブレーキ応答時間ｙよりも短いか否かを判断する（ステップＳ２４０）。機械ブレーキ応答時間ｙは、例えば、機械ブレーキ１５０に作動開始指令を与えてから実際に制動トルクが働くまでの時間を測定することで予め設定することができる。
【００４９】
機械ブレーキ応答時間ｙよりも速度低下時間ＤＴ２の方が短くなった場合には、異常停止制御部２１３は、機械ブレーキ制御部２１７に対して、機械ブレーキ１５０の作動開始指令を与える（ステップＳ２４５）。こうすることで、回転速度が第１の閾値Ｔｈ１まで到達するのと同時に、タイミング良く機械ブレーキ１５０の制動トルクを働かせることができる。一方、機械ブレーキ応答時間ｙよりも速度低下時間ＤＴ２の方が長い場合には、異常停止制御部２１３は、ダイナミックブレーキのみを作動させる第１の制動処理を実行する（ステップＳ２５０）。なお、上記ステップＳ２３０において、推定された回転速度が第１の閾値Ｔｈ１よりも小さいと判断されれば、異常停止制御部２１３は、ダイナミックブレーキと機械ブレーキ１５０の両者を作動させる第２の制動処理を実行する（ステップＳ２５５）。異常停止制御部２１３は、上述したステップＳ２３０〜Ｓ２５５の処理を、サーボモータ１１０が停止したと判断されるまで繰り返し実行する（ステップＳ２６０）。
【００５０】
以上で説明した第２実施例の異常停止処理によれば、第１実施例と同様の効果を得られるほか、回転速度が第２の閾値Ｔｈ２よりも低くなる際に、機械ブレーキ１５０が実際に作動および解除する時間を考慮して、第２の制動処理から第１の制動処理への切り換えを行うことができる。そのため、推定された回転速度が第２の閾値Ｔｈ２以下になった直後に、機械ブレーキ１５０とダイナミックブレーキとの両方が作動状態になることを抑制することができる。また、本実施例によれば、第１の制動処理から第２の制動処理への切り換えの際に、機械ブレーキ１５０が実際に作動する時間を考慮して、機械ブレーキ１５０に作動開始指令を与えることができる。そのため、推定された回転速度が第１の閾値Ｔｈ１よりも低くなる際に、タイミング良く、機械ブレーキ１５０の制動トルクを働かせることができる。この結果、回転速度が第１の閾値Ｔｈ１よりも低下した際に、トルク上限値までの範囲を目一杯使用して、機械ブレーキ１５０とダイナミックブレーキの両方の制動トルクを働かせることができる。なお、機械ブレーキ応答時間ｘと速度低下時間ＤＴ１とに基づく処理と、機械ブレーキ応答時間ｙと速度低下時間ＤＴ２とに基づく処理は、いずれか一方を省略することも可能である。
【００５１】
Ｃ．変形例：
以上、本発明のいくつかの実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよく、その逆も可能である。そのほか、例えば、以下のような変形が可能である。
【００５２】
上記実施例では、推定した回転速度と予め定められた閾値（回転速度）とを比較して第１の制動処理と第２の制動処理とのどちらを実行するかを判断した。これに対して、回転速度を推定してその回転速度に対応した制動トルクを求め、その制動トルクと予め定められた閾値（トルク）とを比較して第１の制動処理と第２の制動処理とのどちらを実行するかを判断してもよい。
【００５３】
上記実施例では、推定された回転速度が第１の閾値Ｔｈ１と第２の閾値Ｔｈ２との間の範囲内では、機械ブレーキを全く用いないこととした。これに対して、例えば、ダイナミックブレーキを作動させると共に、機械ブレーキを時分割的に作動させることで、制動トルクの時間的な平均値がトルク上限値ＴＬを超えないように制御を行ってもよい。
【符号の説明】
【００５４】
１０…ロボットシステム
１００…ロボット本体
１０１…ベース部
１０２…ショルダ部
１０３…下アーム
１０４…上アーム
１０５…手首
１０６…フランジ部
１１０…サーボモータ
１２０…インバータ
１３０…電流検出器
１４０…駆動回路
１５０…機械ブレーキ
１６０…角度センサ
１６２…ロータリエンコーダ
１６４…角度変換器
１７０…減速機
２００…ロボット制御装置
２１０…ＣＰＵ
２１１…駆動制御部
２１２…異常検出部
２１３…異常停止制御部
２１４…回転速度推定部
２１６…ダイナミックブレーキ制御部
２１７…機械ブレーキ制御部
２３０…ＲＯＭ
２３５…制御プログラム
２４０…ＲＡＭ
２４５…軌跡データ
３００…ティーチングペンダント
【図１】
2012055981.tif 000003
【図２】
2012055981.tif 000004
【図３】
2012055981.tif 000005
【図４】
2012055981.tif 000006
【図５】
2012055981.tif 000007
【図６】
2012055981.tif 000008
【図７】
2012055981.tif 000009
【図８】
2012055981.tif 000010