説明

ロボット制御装置およびロボット制御方法

【課題】角度センサに異常が生じた場合において、サーボモータと減速機との接続部分への負担を抑制しつつ、ダイナミックブレーキと機械ブレーキとを用いて速やかにサーボモータを停止させる。
【解決手段】ロボット制御装置200は、角度センサ160の異常が検出された場合において、推定された回転速度においてダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、機械ブレーキ150を作動させたと仮定した場合に該機械ブレーキ150によって生じる制動トルクとのトルク合計値が、所定のトルク上限値を超える場合に、機械ブレーキを作動させずにダイナミックブレーキを作動させる第1の制動処理を実行し、トルク合計値が前記トルク上限値以下の場合には、ダイナミックブレーキおよび機械ブレーキを作動させる第2の制動処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーボモータを備えたロボットを制御する技術に関するものであり、特に、サーボモータに接続された角度センサに異常が生じた場合に、サーボモータを停止させる技術に関する。
【背景技術】
【0002】
ロボットの軸を駆動するサーボモータには、回転角度をフィードバック制御するために、ロータリエンコーダやレゾルバといった角度センサが取り付けられている。この角度センサに故障が生じたり、角度センサと制御装置とを接続する信号線に断線が生じると、ロボットの軸を正確に駆動することができなくなる。
【0003】
そこで、このような異常が生じた場合には、ロボットの不測の動作を抑制するため、サーボモータを速やかに停止させることが好ましい。サーボモータを停止させるには、ダイナミックブレーキなどの発電制動によって停止させる方法や、軸の停止位置を保持するための機械ブレーキによって停止させる方法がある(例えば、特許文献1参照)。サーボモータをより早く停止させるためには、例えば、ダイナミックブレーキと機械ブレーキとを併用して同時に作動させることも可能である。
【0004】
しかし、ダイナミックブレーキと機械ブレーキとを単純に同時に作動させると、サーボモータの回転速度によっては、これらのブレーキの制動トルクの合算値が増大し、サーボモータと減速機との接続部分に必要以上の負担が掛かる可能性があった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3494685号公報
【特許文献2】特許第2856253号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の問題を考慮し、本発明が解決しようとする課題は、角度センサに異常が生じた場合において、サーボモータと減速機との接続部分への負担を抑制しつつ、ダイナミックブレーキと機械ブレーキとを用いて速やかにサーボモータを停止させる技術を提供することである。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0008】
[適用例1]サーボモータと前記サーボモータの回転角度を検出する角度センサと前記サーボモータを停止させるための機械ブレーキとを備えるロボットを制御するためのロボット制御装置であって、前記角度センサから前記回転角度を取得し、該取得された回転角度に応じて前記サーボモータの駆動をフィードバック制御する駆動制御部と、前記サーボモータの電気的変量に基づいて、前記サーボモータの回転速度を推定する推定部と、前記角度センサの異常の有無を検出する異常検出部と、前記サーボモータに対するダイナミックブレーキの作動を制御するダイナミックブレーキ制御部と、前記角度センサの異常が検出された場合において、前記推定された回転速度において前記ダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、前記機械ブレーキを作動させたと仮定した場合に該機械ブレーキによって生じる制動トルクとのトルク合計値が、所定のトルク上限値を超える場合に、前記機械ブレーキを作動させずに前記ダイナミックブレーキを作動させる第1の制動処理を実行し、前記トルク合計値が前記トルク上限値以下の場合には、前記ダイナミックブレーキおよび前記機械ブレーキを作動させる第2の制動処理を実行する異常停止制御部と、を備えるロボット制御装置。
【0009】
上記構成によれば、角度センサの異常が検出された場合において、推定された回転速度においてダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、機械ブレーキを作動させたと仮定した場合に該機械ブレーキによって生じる制動トルクとのトルク合計値が所定のトルク上限値を超える場合には、機械ブレーキを作動させずにダイナミックブレーキを作動させ、トルク合計値が前記トルク上限値以下の場合には、ダイナミックブレーキおよび機械ブレーキを作動させる。そのため、角度センサに異常が生じた場合において、サーボモータと減速機との接続部分等への負担を抑制しつつ、ダイナミックブレーキと機械ブレーキとを用いて速やかにサーボモータを停止させることが可能になる。
【0010】
[適用例2]適用例1に記載のロボット制御装置であって、前記異常停止制御部は、前記仮想制動トルク合計値が前記トルク上限値を超える回転速度の範囲を予め記憶しており、前記推定された回転速度が前記範囲に入る場合に、前記第1の制動処理を実行し、前記推定された回転速度が前記範囲に入らない場合に、前記第2の制動処理を実行する、ロボット制御装置。
【0011】
このような構成であれば、推定された回転速度と予め記憶された回転速度の範囲とを対比することで、第1の制動処理を実行するか第2の制動処理を実行するかを容易に決定することが可能になる。
【0012】
[適用例3]適用例2に記載のロボット制御装置であって、前記異常停止制御部は、前記推定された回転速度が前記範囲を超える回転速度の場合において、前記推定された回転速度が前記範囲内の回転速度にまで低下する見込みの時間を推定し、該推定された時間が、前記機械ブレーキの作動および解除に必要な時間よりも短い場合には、前記第2の制動処理の実行を取りやめ、前記第1の制動処理を実行する、ロボット制御装置。
【0013】
このような構成であれば、機械ブレーキの作動および解除のために必要な時間を考慮して、第2の制動処理から第1の制動処理に制動処理の実行を切り換えることができるので、回転速度が高い速度から低い速度に低下する際に、一時的にトルク合計値がトルク上限値を超えてしまうことを抑制することができる。
【0014】
[適用例4]適用例2または適用例3に記載のロボット制御装置であって、前記異常停止制御部は、前記推定された回転速度が前記範囲内の回転速度の場合において、前記推定された回転速度が前記範囲よりも低い回転速度にまで低下する見込みの時間を推定し、該推定された時間が、前記機械ブレーキの作動に必要な時間よりも短くなった場合に、前記機械ブレーキの作動を開始させる、ロボット制御装置。
【0015】
このような構成であれば、第1の制動処理から第2の制動処理に制動処理を移行させる際に、機械ブレーキが実際に作動するために必要な時間を考慮して、機械ブレーキの作動をタイミング良く開始させることができる。そのため、回転速度が前述の範囲よりも低くなる際に、機械ブレーキとダイナミックブレーキの両方の制動トルクをトルク上限値まで最大限働かせることができる。
【0016】
[適用例5]適用例1から適用例4までのいずれか一項に記載のロボット制御装置であって、前記トルク上限値は、前記サーボモータが接続される減速機が耐え得るトルクに基づいて予め定められている、ロボット制御装置。
【0017】
減速機が耐え得るトルクとは、例えば、サーボモータと減速機との接続部分に存在するギアにズレが生じないトルクである。このような構成であれば、サーボモータと減速機とが係合するギアにすべりが生じることを抑制することが可能になる。よって、例えば、角度センサの異常状態が回復し、再度、ロボットを作動させる場合において、再キャリブレーションを行うことが不要となり、速やかに作業を再開させることが可能になる。
【0018】
本発明は、上述したロボット制御装置としての構成のほか、例えば、ロボットの制御方法や、ロボットを制御するためのコンピュータプログラムとしても構成することができる。コンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。
【図面の簡単な説明】
【0019】
【図1】ロボット制御装置を含むロボットシステムの概略構成を示す説明図である。
【図2】ロボット本体およびロボット制御装置の内部構成を示すブロック図である。
【図3】ダイナミックブレーキの制動トルクの変動特性を例示するグラフである。
【図4】異常停止処理のフローチャートである。
【図5】第1の閾値および第2の閾値の例を示す説明図である。
【図6】第2実施例において実行される異常停止処理のフローチャートである。
【図7】第2実施例において実行される異常停止処理のフローチャートである。
【図8】速度低下時間および機械ブレーキ応答時間の例を示す説明図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態を図面を参照しつつ実施例に基づき説明する。
A.第1実施例:
(A1)ロボットシステムの概略構成:
図1は、本発明の実施例としてのロボット制御装置200を含むロボットシステム10の概略構成を示す説明図である。ロボットシステム10は、多関節型の産業用ロボットとして構成されたロボット本体100と、ロボット本体100を制御するロボット制御装置200と、ロボット制御装置200に接続され、ロボット本体100の動作をプログラムするためのティーチングペンダント300とを有している。
【0021】
ロボット本体100は、例えば、工場内等に固定されるベース部101と、水平方向に旋回可能な軸によってベース部101に支持されたショルダ部102と、鉛直方向に旋回可能な軸によってショルダ部102に下端が支持された下アーム103と、鉛直方向に旋回可能な軸によって下アーム103の先端に略中央部が支持された上アーム104と、鉛直方向に旋回可能な軸によって上アーム104の先端に支持された手首105とを備えている。手首105の先端には、手首105の円周方向に回転可能なフランジ部106が備えられている。フランジ部106には、例えば、ワークを把持するハンド(図示せず)が取り付けられる。
【0022】
上述したロボット本体100の各パーツを接続する関節部分には、軸を駆動させるためのサーボモータや減速機が備えられ、また、サーボモータの回転角度や回転速度を検出するための角度センサが組み込まれている。本実施例のロボット制御装置200は、角度センサに異常が生じた場合に、サーボモータを迅速に停止させるための機能(以下、緊急停止機能ともいう)を備えている。以下、この緊急停止機能を実現するための構成および処理について詳細に説明する。
【0023】
(A2)ロボット本体およびロボット制御装置の内部構成:
図2は、ロボット本体100およびロボット制御装置200の内部構成を示すブロック図である。ロボット本体100は、三相交流式のブラシレスDCモータとして構成されたサーボモータ110と、サーボモータ110の回転軸に接続されたロータリエンコーダ162と、サーボモータ110の動力を関節やハンドに伝達するための減速機170と、サーボモータ110の回転位置を機械的に保持する機械ブレーキ150と、を備えている。
【0024】
ロータリエンコーダ162には角度変換器164が接続されている。角度変換器164は、ロータリエンコーダ162から、サーボモータ110の回転に応じた信号を入力し、この信号に基づいてサーボモータ110の回転角度を表す角度情報を生成する。角度変換器164によって生成された角度情報は、ロボット制御装置200に入力され、後述するフィードバック制御を行うための帰還信号として用いられる。以下の説明では、ロータリエンコーダ162と角度変換器164とを含めて、「角度センサ160」と呼ぶ。なお、本実施例では、サーボモータ110の回転角度をロータリエンコーダ162によって検出することとしたが、レゾルバを用いて検出することとしてもよい。
【0025】
ロボット制御装置200は、ロボット本体100のサーボモータ110に三相交流電力を供給するインバータ120と、駆動制御部211からの指令に基づいてインバータ120のスイッチング制御を行う駆動回路140と、インバータ120とサーボモータ110との間に流れる電流の電流値を検出する電流検出器130と、を備えている。また、ロボット制御装置200は、CPU210とROM230とRAM240とを備えている。CPU210は、ROM230に記憶された所定の制御プログラム235をRAM240にロードして実行することで、駆動制御部211、異常検出部212、異常停止制御部213、回転速度推定部214、ダイナミックブレーキ制御部216、および、機械ブレーキ制御部217として機能する。
【0026】
駆動制御部211は、RAM240に記憶された軌跡データ245に基づいて、サーボモータ110を駆動するためのパルス信号を駆動回路140に出力する。このとき、駆動制御部211は、ロボット本体100の角度センサ160から角度情報を取得し、この角度情報に基づいて、サーボモータ110の駆動をフィードバック制御する。駆動回路140は、駆動制御部211から入力したパルス信号に基づいて、インバータ120を駆動し、サーボモータ110を回転させる。
【0027】
異常検出部212は、角度センサ160に異常が生じたか否かを検出する。異常検出部212は、例えば、ロボット本体100とロボット制御装置200との間の信号線の断線などによって角度センサ160から角度情報を取得できない場合や、駆動制御部211が出力する指令値とは大きく異なる回転角度や回転速度が取得された場合、あるいは、角度センサ160からエラー信号を受信した場合に、角度センサ160に異常が生じたと判断する。
【0028】
異常停止制御部213は、異常検出部212によって角度センサ160の異常が検出された場合に、サーボモータ110を緊急停止するための異常停止処理を実行する。異常停止処理の詳細については後述する。
【0029】
ダイナミックブレーキ制御部216は、異常停止制御部213からの指令に応じて、サーボモータ110にダイナミックブレーキ(短絡ブレーキともいう)を作動させる。具体的には、ダイナミックブレーキ制御部216は、駆動回路140を通じてインバータ120のスイッチング素子を制御し、サーボモータ110の端子間を強制的に短絡させる。そうすると、サーボモータ110の回転エネルギがサーボモータ110自体の発熱により消費されるため、サーボモータ110を停止させることができる。
【0030】
図3は、ダイナミックブレーキの制動トルクの変動特性を例示するグラフである。このグラフの横軸はサーボモータ110の回転速度を示し、縦軸はその回転速度に応じたダイナミックブレーキの制動トルクを示している。このグラフに示すように、一般的に、ロボット用のサーボモータ110に作動させるダイナミックブレーキの制動トルクは、サーボモータ110の回転速度が上昇するに連れ高くなり、ある回転速度(図3の場合には、約800rpm)を超えると、徐々に低くなる特性を有する。
【0031】
機械ブレーキ制御部217(図2)は、異常停止制御部213からの指令に応じて、ロボット本体100の機械ブレーキ150を作動させる。機械ブレーキ制御部217は、また、異常停止制御部213からの指令とは関係なく、ロボットシステム10の電源オフ時にも機械ブレーキ150を作動させてサーボモータ110の回転位置を保持させる機能を有する。
【0032】
回転速度推定部214は、ダイナミックブレーキ制御部216によってダイナミックブレーキが作動された際に、電流検出器130から電流値を取得し、この電流値に応じて、サーボモータ110の回転速度を推定する。このとき、電流検出器130から取得する電流値のことを、ダイナミックブレーキ電流値という。サーボモータ110の回転速度は、ダイナミックブレーキ電流値とサーボモータ110の回転速度との関係が予め記録されたマップやテーブルを参照することで推定することができる。なお、サーボモータ110の回転速度は、その他にも、サーボモータ110の電圧変化など、サーボモータ110の回転に伴って生じる他の電気的変量に基づいて推定することも可能である。また、サーボモータ110の回転角度(電気角)をダイナミックブレーキ電流値から推定し、以下に示す式(1)のように、推定された回転角度の一定時間内における変化量を計算することで、回転速度を推定することも可能である。
回転速度=(n−1時の回転角度−n時の回転角度)/一定時間 ・・・(1)
【0033】
なお、図2には、一つの関節部分についてのロボット本体100の内部構成とロボット制御装置200の内部構成を示したが、他の関節部分も同様の内部構成を備えている。なお、CPU210とROM230とRAM240とは、1つのロボット制御装置200につき1組備えられており、CPU210が実現する各機能部211〜217が関節毎に備えられている。
【0034】
(A3)異常停止処理:
図4は、ロボット制御装置200の異常停止制御部213が上述した緊急停止機能を実現するために実行する異常停止処理のフローチャートである。この異常停止処理は、異常検出部212によって角度センサ160の異常が検出された場合に実行される処理である。
【0035】
この異常停止処理が開始されると、まず、異常停止制御部213は、回転速度推定部214から推定された回転速度の取得を開始する(ステップS100)。そして、異常停止制御部213は、この推定値が、第1の閾値Th1と第2の閾値Th2との間の範囲に含まれるか否かを判断する(ステップS105)。
【0036】
図5は、第1の閾値Th1および第2の閾値Th2の例を示す説明図である。この図5には、サーボモータ110の回転速度に応じたダイナミックブレーキの制動トルク(図3参照)を示すとともに、ダイナミックブレーキと機械ブレーキ150とを同時に作動させたと仮定した場合における両者の制動トルクの合計値をサーボモータ110の回転速度に応じて示している。また、図5には、太い横線により、減速機170が耐え得るトルク上限値TLを示している。このトルク上限値TLは、サーボモータ110の急激なブレーキングによって、サーボモータ110の回転軸と減速機170の締結部(ギア)とにすべりが生じない制動トルクの上限値を表している。
【0037】
第1の閾値Th1と第2の閾値Th2とは、それぞれ、ダイナミックブレーキと機械ブレーキ150の制動トルクの合計値が、トルク上限値TLに一致する回転速度に設定されている。つまり、サーボモータ110の回転速度が第1の閾値Th1と第2の閾値Th2との間の範囲に含まれる場合には、ダイナミックブレーキと機械ブレーキ150とを両方作動させると、その制動トルクの合計値は、減速機170が許容可能なトルク上限値TLを超えることになる。これに対して、サーボモータ110の回転速度が、第2の閾値Th2以上、あるいは、第1の閾値Th1以下の場合には、ダイナミックブレーキと機械ブレーキとを両方作動させたとしても、その制動トルクの合計値は、減速機170が許容可能なトルク上限値TL以下となる。
【0038】
上記ステップS105において、回転速度の推定値が、第1の閾値Th1と第2の閾値Th2との間の範囲に含まれると判断された場合には、異常停止制御部213は、ダイナミックブレーキ制御部216を制御して、ダイナミックブレーキのみを作動させる第1制動処理を実行する(ステップS110)。これに対して、回転速度の推定値が、第1の閾値Th1以下、あるいは、第2の閾値以上、と判断された場合には、異常停止制御部213は、ダイナミックブレーキ制御部216と機械ブレーキ制御部217とを制御して、ダイナミックブレーキと機械ブレーキ150との両方を作動させる第2制動処理を実行する(ステップS115)。
【0039】
異常停止制御部213は、以上のようにして第1制動処理または第2制動処理を実行すると、サーボモータ110が停止したか否かを判断する(ステップS120)。サーボモータ110が停止したか否かは、回転速度推定部214によって推定された回転速度がゼロになった場合に、サーボモータ110が停止したと判断することができる。サーボモータ110が停止していないと判断した場合には、異常停止制御部213は、処理をステップS105に戻して、上述した一連の処理を繰り返し実行する。一方、サーボモータ110が停止したと判断すると、異常停止制御部213は、当該異常停止処理を終了する。以上で説明した異常停止処理によれば、例えば、角度センサ160に異常が発生した時点においてサーボモータ110の回転速度が3000回転であったとすると、図6中に一点鎖線で示したようなトルク変動で、サーボモータ110に対するブレーキングが行われることになる。
【0040】
以上で説明した本実施例のロボット制御装置200によれば、角度センサ160に異常が発生した場合において、ダイナミックブレーキおよび機械ブレーキ150を同時に作動させてもその制動トルクの合計値が、減速機170が許容可能なトルク上限値TLを上回らない場合には、両方のブレーキを同時に作動させる。一方、これらのブレーキを同時に作動させた場合にその制動トルクの合計値が、減速機170が許容可能なトルク上限値TLを上回る場合には、ダイナミックブレーキのみを作動させる。そのため、減速機170に必要以上の負担を掛けることなく、サーボモータ110を速やかに停止させることが可能になる。また、上記のようにダイナミックブレーキおよび機械ブレーキ150を制御することで、減速機170に必要以上の負担が掛かかることを抑制することができるため、サーボモータ110の緊急停止に伴い減速機170内のギアにズレが生じることが抑制される。そのため、ロボットシステム10の再運転時に回転角度の再キャリブレーションを行う必要がなく、速やかに作業を再開させることが可能になる。なお、機械ブレーキ150は、基本的に、ロボット本体100の静止状態における姿勢を保持するためのブレーキであるため、制動力はそれほど強くはない。一方、ダイナミックブレーキは、両ブレーキの制動トルクの合計値がトルク上限値TLを超えるような回転速度(第2の閾値Th2)にまでサーボモータ110の回転速度が低下した場合には、その制動トルクが上昇する特性を有する(図5参照)。そのため、機械ブレーキ150を解除して一時的に全体の制動力が低下しても、ダイナミックブレーキの制動力が、元の制動力(両ブレーキの制動トルク合計値)に近い値まで戻ることが期待できる。よって、一時的に機械ブレーキ150を解除したとしても、ダイナミックブレーキの制動力が十分にあるため、サーボモータ110を減速させるための制動力が決定的に不足することはない。
【0041】
また、本実施例では、ダイナミックブレーキおよび機械ブレーキ150を同時に作動させた場合にその制動トルクの合計値が、減速機170が許容可能なトルク上限値TLを上回るような場合には、機械ブレーキ150ではなくダイナミックブレーキを作動させる。そのため、このような状況においてもダイナミックブレーキ電流値に基づきサーボモータ110の回転速度を精度良く推定することができる。この結果、回転速度の低下によって、機械ブレーキ150が作動可能となるタイミングを正確に求めることができるので、サーボモータ110の回転速度が低下した際に、ダイナミックブレーキだけではなく機械ブレーキ150を同時に作動させることができ、回転速度が低い場合に制動トルクが弱くなるダイナミックブレーキの制動トルク特性を機械ブレーキ150の制動トルクによって補償することが可能になる。
【0042】
また、本実施例では、ダイナミックブレーキおよび機械ブレーキ150を同時に作動させるとその制動トルクの合計値が、減速機170が許容可能なトルク上限値TLを上回るような場合には、単純に機械ブレーキ150の作動を停止させてダイナミックブレーキのみによる制動を行う。そのため、各軸毎に新たにダイナミックブレーキ抵抗を追加して制動トルクの合計値を抑制するといった対策や、制動トルクの弱い機械ブレーキを導入しつつ各アームの停止位置の保持力を確保するといった対策を行う必要がない。そのため、ロボット本体100のコストアップやサイズアップを伴うことなく緊急停止時における制動トルクを容易に制御することができる。
【0043】
また、本実施例では、特別なハードウェアを新たにロボット本体100に新たに組み込むことなく、CPU210が実現する機能によって、上述した異常停止処理を実行することができる。そのため、既に生産設備に配置されている既存のロボットシステムに対しても、上述した緊急停止機能を容易に付加することが可能になる。
【0044】
B.第2実施例:
上述した第1実施例では、推定されたサーボモータ110の回転速度が第1の閾値Th1と第2の閾値Th2との間の範囲に含まれるか否かに応じて、ダイナミックブレーキと機械ブレーキ150の制御を行った。これに対して、第2実施例では、更に、機械ブレーキ150が機械的に作動する時間を考慮してダイナミックブレーキと機械ブレーキの制御を行う。なお、本実施例の装置構成は第1実施例と同様である。
【0045】
図6および図7は、第2実施例において実行される異常停止処理のフローチャートである。以下、この異常停止処理について図8を参照しつつ説明する。図8は、後述する速度低下時間および機械ブレーキ応答時間の例を示す説明図である。本実施例において、この異常停止処理が実行されると、まず、異常停止制御部213は、回転速度推定部214から推定された回転速度の取得を開始する(ステップS200)。そして、この推定値が、第2の閾値Th2よりも大きいか否かを判断する(ステップS205)。
【0046】
推定値が第2の閾値Th2よりも大きい場合には、異常停止制御部213は、回転速度が第2の閾値Th2にまで低下するまでの時間DT1(図8参照)を推定する(ステップS210)。この時間DT1(以下、「速度低下時間DT1」という)は、例えば、現在の回転速度とアームやワークのイナーシャとの関係に基づいて算出することができる。異常停止制御部213は、速度低下時間DT1を推定すると、その速度低下時間DT1と、機械ブレーキ150が機械的に作動および解除されるために必要な時間(以下、「機械ブレーキ応答時間x」という。図8参照)とを対比し、推定された速度低下時間DT1の方が、機械ブレーキ応答時間xよりも短いか否かを判断する(ステップS215)。機械ブレーキ応答時間xは、例えば、機械ブレーキ150を作動および解除する時間を実際に測定することで予め設定することができる。
【0047】
機械ブレーキ応答時間xよりも速度低下時間DT1の方が短い場合には、現在の回転速度で機械ブレーキ150を作動させたとしても、回転速度が第2の閾値Th2まで低下するまでに機械ブレーキ150の解除が間に合わないことになる。つまり、回転速度が第2の閾値Th2より低下した直後において、ダイナミックブレーキと機械ブレーキ150との両者が一時的に作動した状態になる可能性がある。そこで、異常停止制御部213は、推定された速度低下時間DT1よりも機械ブレーキ応答時間xが長い時間である場合には、推定された回転速度が第2の閾値Th2を超えている場合であっても、ダイナミックブレーキのみを作動させる第1の制動処理を実行する(ステップS220)。これに対して、機械ブレーキ応答時間xの方が速度低下時間DT1よりも短い時間である場合には、速度低下時間DT1に余裕があることになるため、異常停止制御部213は、ダイナミックブレーキと機械ブレーキ150とを同時に作動させる第2の制動処理を実行する(ステップS225)。
【0048】
以降、異常停止制御部213は、推定された回転速度が第2の閾値Th2以下になるまで、上述したステップS205〜ステップS225の処理を繰り返す。そして、ステップS205において、推定された回転速度が第2の閾値Th2以下であると判断されると、異常停止制御部213は、推定された回転速度が第1の閾値Th1よりも大きいか否かを判断する(ステップS230)。推定された回転速度が第1の閾値Th1よりも大きければ(つまり、推定された回転速度が第1の閾値Th1と第2の閾値Th2の範囲内であれば)、異常停止制御部213は、回転速度が第1の閾値Th1にまで低下するまでの時間DT2(図8参照)を推定する(ステップS235)。この時間DT2(以下、「速度低下時間DT2」という)も、速度低下時間DT1と同様に、例えば、現在の回転速度とアームやワークのイナーシャとの関係に基づいて算出することができる。異常停止制御部213は、速度低下時間D2を推定すると、その速度低下時間D2と、機械ブレーキ150が機械的に作動されるために必要な時間(以下、「機械ブレーキ応答時間y」という。図8参照)とを対比し、推定された速度低下時間DT2の方が、機械ブレーキ応答時間yよりも短いか否かを判断する(ステップS240)。機械ブレーキ応答時間yは、例えば、機械ブレーキ150に作動開始指令を与えてから実際に制動トルクが働くまでの時間を測定することで予め設定することができる。
【0049】
機械ブレーキ応答時間yよりも速度低下時間DT2の方が短くなった場合には、異常停止制御部213は、機械ブレーキ制御部217に対して、機械ブレーキ150の作動開始指令を与える(ステップS245)。こうすることで、回転速度が第1の閾値Th1まで到達するのと同時に、タイミング良く機械ブレーキ150の制動トルクを働かせることができる。一方、機械ブレーキ応答時間yよりも速度低下時間DT2の方が長い場合には、異常停止制御部213は、ダイナミックブレーキのみを作動させる第1の制動処理を実行する(ステップS250)。なお、上記ステップS230において、推定された回転速度が第1の閾値Th1よりも小さいと判断されれば、異常停止制御部213は、ダイナミックブレーキと機械ブレーキ150の両者を作動させる第2の制動処理を実行する(ステップS255)。異常停止制御部213は、上述したステップS230〜S255の処理を、サーボモータ110が停止したと判断されるまで繰り返し実行する(ステップS260)。
【0050】
以上で説明した第2実施例の異常停止処理によれば、第1実施例と同様の効果を得られるほか、回転速度が第2の閾値Th2よりも低くなる際に、機械ブレーキ150が実際に作動および解除する時間を考慮して、第2の制動処理から第1の制動処理への切り換えを行うことができる。そのため、推定された回転速度が第2の閾値Th2以下になった直後に、機械ブレーキ150とダイナミックブレーキとの両方が作動状態になることを抑制することができる。また、本実施例によれば、第1の制動処理から第2の制動処理への切り換えの際に、機械ブレーキ150が実際に作動する時間を考慮して、機械ブレーキ150に作動開始指令を与えることができる。そのため、推定された回転速度が第1の閾値Th1よりも低くなる際に、タイミング良く、機械ブレーキ150の制動トルクを働かせることができる。この結果、回転速度が第1の閾値Th1よりも低下した際に、トルク上限値までの範囲を目一杯使用して、機械ブレーキ150とダイナミックブレーキの両方の制動トルクを働かせることができる。なお、機械ブレーキ応答時間xと速度低下時間DT1とに基づく処理と、機械ブレーキ応答時間yと速度低下時間DT2とに基づく処理は、いずれか一方を省略することも可能である。
【0051】
C.変形例:
以上、本発明のいくつかの実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよく、その逆も可能である。そのほか、例えば、以下のような変形が可能である。
【0052】
上記実施例では、推定した回転速度と予め定められた閾値(回転速度)とを比較して第1の制動処理と第2の制動処理とのどちらを実行するかを判断した。これに対して、回転速度を推定してその回転速度に対応した制動トルクを求め、その制動トルクと予め定められた閾値(トルク)とを比較して第1の制動処理と第2の制動処理とのどちらを実行するかを判断してもよい。
【0053】
上記実施例では、推定された回転速度が第1の閾値Th1と第2の閾値Th2との間の範囲内では、機械ブレーキを全く用いないこととした。これに対して、例えば、ダイナミックブレーキを作動させると共に、機械ブレーキを時分割的に作動させることで、制動トルクの時間的な平均値がトルク上限値TLを超えないように制御を行ってもよい。
【符号の説明】
【0054】
10…ロボットシステム
100…ロボット本体
101…ベース部
102…ショルダ部
103…下アーム
104…上アーム
105…手首
106…フランジ部
110…サーボモータ
120…インバータ
130…電流検出器
140…駆動回路
150…機械ブレーキ
160…角度センサ
162…ロータリエンコーダ
164…角度変換器
170…減速機
200…ロボット制御装置
210…CPU
211…駆動制御部
212…異常検出部
213…異常停止制御部
214…回転速度推定部
216…ダイナミックブレーキ制御部
217…機械ブレーキ制御部
230…ROM
235…制御プログラム
240…RAM
245…軌跡データ
300…ティーチングペンダント

【特許請求の範囲】
【請求項1】
サーボモータと前記サーボモータの回転角度を検出する角度センサと前記サーボモータを停止させるための機械ブレーキとを備えるロボットを制御するためのロボット制御装置であって、
前記角度センサから前記回転角度を取得し、該取得された回転角度に応じて前記サーボモータの駆動をフィードバック制御する駆動制御部と、
前記サーボモータの電気的変量に基づいて、前記サーボモータの回転速度を推定する推定部と、
前記角度センサの異常の有無を検出する異常検出部と、
前記サーボモータに対するダイナミックブレーキの作動を制御するダイナミックブレーキ制御部と、
前記角度センサの異常が検出された場合において、前記推定された回転速度において前記ダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、前記機械ブレーキを作動させたと仮定した場合に該機械ブレーキによって生じる制動トルクとのトルク合計値が、所定のトルク上限値を超える場合に、前記機械ブレーキを作動させずに前記ダイナミックブレーキを作動させる第1の制動処理を実行し、前記トルク合計値が前記トルク上限値以下の場合には、前記ダイナミックブレーキおよび前記機械ブレーキを作動させる第2の制動処理を実行する異常停止制御部と、
を備えるロボット制御装置。
【請求項2】
請求項1に記載のロボット制御装置であって、
前記異常停止制御部は、前記トルク合計値が前記トルク上限値を超える回転速度の範囲を予め記憶しており、前記推定された回転速度が前記範囲に入る場合に、前記第1の制動処理を実行し、前記推定された回転速度が前記範囲に入らない場合に、前記第2の制動処理を実行する、ロボット制御装置。
【請求項3】
請求項2に記載のロボット制御装置であって、
前記異常停止制御部は、前記推定された回転速度が前記範囲を超える回転速度の場合において、前記推定された回転速度が前記範囲内の回転速度にまで低下する見込みの時間を推定し、該推定された時間が、前記機械ブレーキの作動および解除に必要な時間よりも短い場合には、前記第2の制動処理の実行を取りやめ、前記第1の制動処理を実行する、ロボット制御装置。
【請求項4】
請求項2または請求項3に記載のロボット制御装置であって、
前記異常停止制御部は、前記推定された回転速度が前記範囲内の回転速度の場合において、前記推定された回転速度が前記範囲よりも低い回転速度にまで低下する見込みの時間を推定し、該推定された時間が、前記機械ブレーキの作動に必要な時間よりも短くなった場合に、前記機械ブレーキの作動を開始させる、ロボット制御装置。
【請求項5】
請求項1から請求項4までのいずれか一項に記載のロボット制御装置であって、
前記トルク上限値は、前記サーボモータが接続される減速機が耐え得るトルクに基づいて予め定められている、ロボット制御装置。
【請求項6】
サーボモータと前記サーボモータの回転角度を検出する角度センサと前記サーボモータを停止させるための機械ブレーキとを備えるロボットの制御方法であって、
(a)前記角度センサから前記回転角度を取得し、該取得された回転角度に応じて前記サーボモータの駆動をフィードバック制御する工程と、
(b)前記角度センサの異常の有無を検出する工程と、
(c)前記角度センサの異常が検出された場合において、前記サーボモータの電気的変量に基づいて、前記サーボモータの回転速度を推定する工程と、
(d)前記推定された回転速度において前記サーボモータにダイナミックブレーキを作動させたと仮定した場合に該ダイナミックブレーキによって生じる制動トルクと、前記機械ブレーキを作動させたと仮定した場合に該機械ブレーキによって生じる制動トルクとのトルク合計値が、所定のトルク上限値を超える場合に、前記機械ブレーキを作動させずに前記ダイナミックブレーキを作動させる第1の制動処理を実行する工程と、
(e)前記トルク合計値が前記トルク上限値以下の場合に、前記ダイナミックブレーキおよび前記機械ブレーキを作動させる第2の制動処理を実行する工程と、
を備える制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−55981(P2012−55981A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−198803(P2010−198803)
【出願日】平成22年9月6日(2010.9.6)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】