(57)【要約】ロボットアームの形状や姿勢および負荷条件が変化した場合でも、ブレーキ解除時のアームの関節移動速度が一定値以内になるように、位置検出器によりロボットアームの関節移動位置を検出し、関節移動位置および経過時間の変化量から関節移動速度を演算して許容移動速度と比較してブレーキの解除・ロックを制御するように構成した。従って、ブレーキ解除によるアームの移動作業を一人で行うことが可能となり、安全性の高いロボットを得ることができる。
2003086718.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチとを備えたロボットにおいて、
上記解除スイッチからの指令があった場合に、上記位置検出器からの位置変化量と経過時間をもとに移動速度を演算するとともに、予め指定された許容移動速度と比較して、上記移動速度が大きい場合はブレーキをロックし、上記移動速度が小さい場合はブレーキを解除するように構成したことを特徴とするロボット。
【請求項２】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチとを備えたロボットにおいて、
上記解除スイッチからの指令があった場合に、上記位置検出器の変化量から制御プログラム実行周期内の移動量を求め、予め指定された許容移動量と比較して、上記移動量が大きい場合はブレーキをロックし、上記移動量が小さい場合はブレーキを解除するように構成したことを特徴とするロボット。
【請求項３】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチと、
上記解除スイッチによるサーボ制御停止時に、上記駆動装置を回転させ、上記ロボットアームを移動させるかどうかを切り換える補助回転スイッチとを備えたロボットにおいて、
上記解除スイッチからの指令があった場合で、かつ、上記補助回転スイッチがロボットアームを移動するように切り換えられた場合に、上記位置検出器からの位置変化量と経過時間をもとに移動速度を演算して、予め指定された許容移動速度と比較して、上記移動速度が大きい場合はブレーキをロックし、上記移動速度が小さい場合はブレーキを解除するとともに上記駆動装置を所定のトルクで移動させるように構成したことを特徴とするロボット。
【請求項４】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチと、
上記解除スイッチによるサーボ制御停止時に、上記駆動装置を回転させ、上記ロボットアームを移動させるかどうかを切り換える補助回転スイッチとを備えたロボットにおいて、
上記解除スイッチからの指令があった場合で、かつ、上記補助回転スイッチがロボットアームを移動するように切り換えられた場合に、上記位置検出器の変化量から制御プログラム実行周期内の移動量を求め、予め指定された許容移動量と比較して、上記移動量が大きい場合はブレーキをロックし、上記移動量が小さい場合はブレーキを解除するように構成したことを特徴とするロボット。
【請求項５】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチとを備えたロボットにおいて、
上記解除スイッチからの指令があった場合に、予め設定されたロボット部位までの距離と、位置検出器からの位置変化量と経過時間より求めた移動速度から、上記ロボット部位における移動速度を演算し、予め設定された許容移動速度と比較して、上記移動速度が大きい場合はブレーキをロックし、上記移動速度が小さい場合はブレーキを解除するように構成したことを特徴とするロボット。
【請求項６】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチとを備えたロボットにおいて、
上記解除スイッチからの指令があった場合に、予め設定されたロボット部位までの距離と、制御プログラム実行周期内の位置検出器からの位置変化量から、上記ロボット部位における移動量を演算し、予め設定された許容移動量と比較して、上記移動量が大きい場合はブレーキをロックし、上記移動量が小さい場合はブレーキを解除するように構成したことを特徴とするロボット。
【請求項７】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチとを備えたロボットにおいて、
上記解除スイッチからの指令があった場合に、上記アームの長さおよびその姿勢を表す上記位置検出器からの現在位置および位置変化量と経過時間より求めたアーム先端部の作業点の移動速度と、予め設定された許容移動速度と比較して、上記移動速度が上記許容移動速度よりも大きい場合はブレーキをロックし、上記移動速度が上記許容移動速度よりも小さい場合はブレーキを解除するように構成したことを特徴とするロボット。
【請求項８】
上記許容移動速度として上限値と下限値とを設け、上記移動速度が上記許容移動速度の上限値よりも大きい場合はブレーキをロックし、上記移動速度が上記許容移動速度の下限値よりも小さい場合はブレーキを解除し、上記移動速度が上記許容移動速度の上限値と下限値の間の場合は前回のブレーキ処理を継続するように構成したことを特徴とする請求項１、請求項３、請求項５および請求項７に記載のロボット。
【請求項９】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチとを備えたロボットにおいて、
上記解除スイッチからの指令があった場合に、上記アームの長さおよびその姿勢を表す上記位置検出器からの現在位置および位置変化量と経過時間より求めたアーム先端部の作業点の移動量と、予め設定された許容移動量と比較して、上記移動量が上記許容移動量よりも大きい場合はブレーキをロックし、上記移動量が上記許容移動量よりも小さい場合はブレーキを解除するように構成したことを特徴とするロボット。
【請求項１０】
上記許容移動量として上限値と下限値とを設け、上記移動量が上記許容移動量の上限値よりも大きい場合はブレーキをロックし、上記移動量が上記許容移動量の下限値よりも小さい場合はブレーキを解除し、上記移動量が上記許容移動量の上限値と下限値の間の場合は前回のブレーキ処理を継続するように構成したことを特徴とする請求項２、請求項４、請求項６および請求項９に記載のロボット。
【請求項１１】
ロボットアームを移動駆動するための駆動装置と、
上記ロボットアームの位置を検出する位置検出器と、
上記ロボットアームの静止姿勢を維持するためのブレーキ装置と、
サーボ制御停止とし、上記ブレーキ装置を解除するための解除スイッチとを備えたロボットにおいて、
予め上記ロボットアームの位置および負荷条件に応じたブレーキ解除時間とブレーキロック時間を記憶させておいて、上記ロボットアームの現在位置と予め設定された負荷条件から、上記記憶されたブレーキ解除時間とブレーキロック時間を読み出し、読み出したブレーキ解除時間に基づいてブレーキを解除し、読み出したブレーキロック時間に基づいてブレーキをロックするようにしたことを特徴とするロボット。
【発明の詳細な説明】
技術分野
この発明は、サーボ系を制御停止の状態として、ロボットアームのブレーキ解除を行うロボットの制御装置の改良に関するものである。
背景技術
ロボットは、省力化・省人化のための搬送や組立用の装置として確固たる地位を築いており、自動車産業、家電産業、半導体産業等の製造産業の分野において多用されてきた。特に、ブレーキ解除の技術は、ロボットのアームを運搬時の姿勢まで移動させることにより梱包容積の減少に効果があり、また、ストローク範囲外への移動により制御が不能になった場合の復帰操作に効果があって、ロボットの基本的な技術となっている。
図１６は、日本国特許公開平１１−１７９６９１号公報に示され、ブレーキ解除を行うための従来の産業用ロボット制御装置ブロック図、図１７はブレーキ制御のフローチャート、図１８はブレーキ動作を示す状態図である。
以下、構成について説明する。図において１はロボット本体で、一関節当たり、１１のモータ、１２の位置検出器、１３のブレーキの組を有している。２は制御装置で、動作プログラムによりロボット本体１を駆動制御するもので、２１の中央処理装置、２３のサーボ制御部、２４のサーボアンプ部、２５のブレーキ制御部、２６のブレーキ駆動部を有している。３は手動操作装置で、作業者がロボット制御に必要な指令を与えるものである。
制御装置２の中の中央処理装置２１は、ロボット本体１の位置制御や各種機能の指令を制御プログラムに基づいて生成する部分である。サーボ制御部２３、サーボアンプ部２４、モータ１１は、サーボ制御系を構成するものである。サーボ系の制御時には移動または停止に関する指令がサーボ制御部２３に与えられ、さらにサーボアンプ部２４にその指令が引き渡され、最終的にモータ１１にはロボットアーム（図示せず）を駆動する回転力が発生し、移動指令が無い場合、ロボットアームの自重とバランスし停止する。また移動指令があった場合は、ロボットアームの自重を相殺するよりも大きな回転力が発生して、ロボットアームは移動するように構成される。
また、モータ１１には位置検出器１２が取付けられる。位置検出器１２はロボットアームのサーボ制御位置を認識するもので、実際にはモータ１１の回転角度を検出して、サーボ制御部２３とサーボアンプ部２４にその出力信号をフィードバックし、その結果、ロボットアームは常に操作部３からの位置指令値を維持するように構成される。ブレーキ１３は、モータ１１の軸と一体、またはロボットアームとの間に取付けられる。２７はブレーキ解除時間設定部、２８はブレーキロック時間設定部である。ブレーキ解除時間設定部２７およびブレーキロック時間設定部２８は、ロボット制御装置のパラメータとして中央処理装置２１のメモリ（図示せず）に割り当てられて、作業者により手動操作装置３等から変更ができるように構成される。ブレーキ駆動部２６は、ブレーキ制御部２５からの出力信号によりブレーキ１３を実際に解除またはロックするように駆動させるものである。ブレーキ１３の解除指令は，手動操作装置３にある解除操作スイッチ（図示せず）を押すことにより発生するように構成される。
次に動作を説明する。まず、ステップＳ７１において中央処理装置２１は手動操作装置３の解除操作スイッチの作動状態を判断する。ブレーキ解除指令の解除操作スイッチが「ＯＮ」の場合に、ステップＳ７２へと進み中央処理装置２１はサーボ系の制御停止処理を行う。すなわち、ブレーキ１３のロック動作が行われ、サーボ制御部２３、サーボアンプ部２４およびモータ１１への信号出力は停止され、ロボットアームはブレーキ１３により停止する。次にステップＳ７３においてブレーキ制御部２５は、ブレーキ解除時間設定部２７から解除時間データを読み出し、ブレーキ１３を解除時間データに応じた時間のみ解除するようにブレーキ駆動部２６に信号を出力する。解除時間経過後はステップＳ７４に進み、ブレーキ制御部２５はブレーキロック時間設定部２８からロック時間データを読み出し、ブレーキ１３をロック時間データに応じた時間のみロックするようにブレーキ駆動部２６に信号を出力する。ロック時間経過後はステップＳ７１の解除操作スイッチの作動状態判断に戻る。この結果、図１８に示すように手動操作装置３の解除操作スイッチを作業者が押し続けている間、ブレーキ１３の解除とロック動作が、それぞれの時間データに基づいて行われる。
また、解除操作スイッチが押されていない（ＯＦＦ）場合、ステップＳ７５の処理に進みサーボ系の制御中かを判断する処理が行われ、その後ステップＳ７１に戻る。その結果、サーボ系の制御中は常にブレーキ１３は解除された状態が続く。また、ステップＳ７５においてサーボ制御動作中以外の状態の場合は、ステップＳ７７のブレーキ１３をロックする処理が行われ、後に、ステップＳ７１の解除操作スイッチの作動状態判断へと戻る。
以上説明したように従来のロボットは、ブレーキ解除時間とロック時間を予め設定しておき、この設定時間に基づいてブレーキ１３のロックと解除のシーケンスを繰り返すため、ブレーキ解除時のアームの移動速度は、その重量と姿勢および負荷などに大きく依存する。
例えば、アームの重量や負荷などを合成した重心が、ブレーキを開放しようとする関節の回転中心から見てほぼ水平位置にある場合は、関節回りのモーメントが最大となり、その結果、回転加速度も最大となってブレーキを解除したときにアームの移動速度は急激に増加する。
また、重心が関節の回転中心から見てほぼ垂直位置にある場合は、関節回りのモーメントがゼロに近くなり、ブレーキを解除しても、関節部の摩擦の存在によって作業者が力を加えないと、アームが移動を開始しない状態もある。
このように従来のロボットでは、アームの重量と姿勢および負荷条件などにより、ブレーキを解除した場合のアーム移動速度が急激に変化するため、ブレーキのロックと解除の時間設定を、作業者がアームの移動を監視しながら調整する必要があった。
また、ブレーキを解除した場合にアームが移動しない状態では、作業者が手でアームに力を加えて移動させるなどの操作が必要であり、さらに解除操作スイッチの操作も行う必要があって、１人で作業を行うことは困難であった。
発明の開示
この発明は、以上説明した問題点を解決するためになされたもので、ロボットアームの形状や姿勢および負荷条件が変化した場合でも、ブレーキ解除時のアームの移動速度や、制御プログラム実行周期内のアームの移動量が一定値以内になるように、ブレーキを制御することにより、アームの高速移動を抑制することが可能なロボットを得ることを目的としている。
さらに、この発明は、ロボットアームの形状や姿勢および負荷条件が変化した場合でも、ブレーキ解除時のアームの移動速度や制御プログラム実行周期内のアームの移動量が、上限値と下限値の間となるようにブレーキ制御することにより、アームの高速移動を抑制することが可能なロボットを得ることを目的としている。
さらに、この発明は、多関節ロボッットのようにロボットアームの姿勢により関節回りの回転モーメントが不足してアームが移動しない場合や、直交型ロボットの移動軸がほぼ水平に配置されていてブレーキを解除したとしても重力によりアームが移動しない場合にも、アームの移動が可能なロボットを得ることを目的とし、アーム等の自重で移動を開始した後であっても移動速度や制御プログラム実行周期内のアームの移動量が一定値に到達した場合には、ブレーキ制御を行ってアームの高速移動を抑制するロボットを得ることを目的としている。
さらに、この発明は、ロボットアームの姿勢および負荷条件に応じたブレーキ解除時間とブレーキロック時間を記憶させておいて、姿勢と負荷条件から最適のブレーキ解除時間とブレーキロック時間を読み出し、それらの時間に基づいて、ブレーキを制御することにより、アームの高速移動を抑制することが可能なロボットを得ることを目的としている。
また、ロボット先端部位の作業点の移動速度や制御プログラム実行周期内の作業点の移動量を所定値に制御することができるロボットを得ることを目的としている。
この発明に係るロボットは、サーボ系を制御停止の状態として、ロボットアームのブレーキ解除を行う場合に、位置検出器によりロボットアームの位置を検出し、移動位置および経過時間の変化量からアームの実移動速度を演算し、この実移動速度と許容移動速度とを比較して、ブレーキのロック信号または解除信号を駆動装置に送り、その結果、ブレーキの解除またはロックを行って、ロボットアームの移動速度を所定値以内に制御するようにしたものである。
さらに、この発明に係るロボットは、アームの移動速度の上限値と下限値を設定し、実移動速度が上限値を超えた場合にブレーキをロックし、下限値を下回った場合にブレーキを解除するようにし、ロボットアームの移動速度を上限値と下限値の間で制御するようにしたものである。
また、この発明に係るロボットは、ブレーキ解除を行う場合に、位置検出器によりロボットアームの移動位置を検出し、ブレーキ解除プログラムの実行周期中に移動するアームの移動量を求め、この移動量と設定移動量と比較してブレーキのロックおよび解除を制御するようにしたものである。
また、この発明に係るロボットは、モータ駆動補助スイッチを設け、「ＯＮ」の場合にブレーキを解除し、アームの許容移動速度に到達するまでモータを所定の方向に回転駆動させ、その後はロボットアームの移動速度を所定値以内に制御するようにしたものである。
この発明は、ロボットアームの形状や姿勢および負荷条件に応じたブレーキ解除時間とブレーキロック時間を予め記憶させておいて、姿勢と負荷条件から最適のブレーキ解除時間とブレーキロック時間を読み出し、それらの時間に基づいてブレーキを制御するようにしたものである。
また、設定されたロボット部位までの距離とアームの実移動速度から、ロボット部位の移動速度を演算し、許容移動速度と比較した結果によりブレーキの解除またはロックを行って、ロボットアームの移動速度を制御するようにしたものである。
この発明に係るロボットは以上のように構成されており、ロボットの負荷条件や姿勢が変化してもブレーキ解除時のアームの移動速度を正確に制御でき安全性の高いロボットを得ることができる。さらに、姿勢によりブレーキを解除してもアームが移動しない場合には、アームが移動する程度の回転トルクでアームを移動するように構成したので、１人でブレーキ解除操作が可能なロボットを得ることができる効果を奏する。
発明を実施するための最良の形態
実施の形態１．
図１は一般的なロボットの構成を示す図、図２はこの発明の実施の形態１であるロボットのブロック図である。図３は制御プログラム中のブレーキ解除処理を示すフローチャート、図４はブレーキロック・解除処理を行うサブプログラムのフローチャートを示す。図５はブレーキ解除スイッチの状態とブレーキ信号とアーム移動速度の関係を示す動作説明図である。
まず、構成について説明すると、１はロボット本体、２はロボットの各種制御を行う制御装置、３はロボットの操作を行うための手動操作装置である。
１１はロボットのアームや支柱を駆動するモータ、１２はモータ１１の軸に設けられ、アームの姿勢位置を検出するための位置検出器である。１３はモータ１１の軸に設けられてロボット電源が切られた場合にアームの重力による移動を防止するためのブレーキである。以上で説明したモータ１１、位置検出器１２、ブレーキ１３は従来例と同一のものである。
２１は、ロボットの動作プログラムを解析処理してロボット本体１のアーム等の姿勢制御や、ブレーキ解除制御処理をはじめとする各種処理を行うための中央処理装置である。中央処理装置２１は、記憶装置２２内の制御プログラムに基づいて１秒間に数十回程度、周期にして数十ミリ秒の間隔毎に、制御プログラムと呼ばれる一連の位置制御や入出力処理を繰り返すように構成される。制御プログラムの実行中に、中央処理装置２１がブレーキ１３を解除するための解除操作スイッチの「ＯＮ」を検出すると、記憶装置２２内のブレーキフラグＦｂのデータを「１」とし、さらに前回位置データＸｐを「０」とするように構成され、一方、ブレーキ解除指令が無くなるとブレーキフラグＦｂのデータを「０」とするように構成されている。そして、ブレーキフラグＦｂが「１」の場合に、図３に示すブレーキ解除処理のサブプログラムの処理を開始するように構成されている。
２２は記憶装置で、動作プログラム、ロボットの制御に関する各種パラメータ、制御装置２内での処理を行う制御プログラムとそのサブプログラム、および、この発明のブレーキ解除処理を行うためのパラメータを記憶するものである。ブレーキ解除処理を行うためのパラメータとしては、アーム等の現在の位置と時間を表す現在位置データＸｃと現在時間データＴｃ、前回処理を行った時の位置と時間を表す前回位置データＸｐと前回時間データＴｐ、およびアーム等の許容移動速度データＶｓと実移動速度データＶａが割り当てられる。
２３は中央処理装置２１からの移動指令によりロボットへの位置制御信号を発生するサーボ制御部、２４はサーボ制御部２３からの制御信号によりモータ１１を駆動するサーボアンプ部である。２５はブレーキの解除制御信号を生成するブレーキ制御部、２６はブレーキ制御部２５からの制御信号によりブレーキ１３に駆動エネルギを供給するブレーキ駆動部である。
なお、図２では説明を簡単にするために、モータ１１、位置検出器１２、ブレーキ１３、サーボアンプ部２４およびブレーキ駆動部２６の各１組を記載しているが、実際にはロボット本体１の所有する駆動部の数に応じた複数組のものが設けられるのは言うまでもない。
３は手動操作装置で、動作プログラムと各種パラメータの入力や、この発明におけるブレーキ解除処理を指令するためのキースイッチ類と、現在位置表示などを行う表示装置が設けられている。なお、ここでは図示しないが、手動操作装置３の入力や表示機能は、制御装置２の中にも併せて設けられる場合がある。
次に動作について図３から図５を用いて説明する。
作業者は、ブレーキ解除指令の前に手動操作装置３のキースイッチを操作し、アームの許容移動速度データＶｓを記憶装置２２に記憶させておく。
まず図３の制御プログラムのステップＳ３１において中央処理装置２１は、解除操作スイッチが「ＯＮ」であることを検出すると、ステップＳ３２の処理に進む。ステップＳ３２ではサーボ制御部２３からサーボアンプ部２４への出力信号を停止し、モータ１１への出力を禁止する。ただし、位置検出器１２の位置検出動作は行われていて、アームの位置はサーボ制御部２３を経由して記憶部２２に現在位置データＸｃ等として記憶される。
次にステップＳ３３に進むが、以前に解除操作スイッチが「ＯＦＦ」の状態であったときに、ステップＳ３６においてブレーキフラグＦｂが「０」に設定されているので、初回だけはステップＳ３４の処理に進む。ステップＳ３４で中央処理装置２１は、ブレーキフラグＦｂのデータを「１」とし、前回位置データＸｐを「０」とする。次にステップＳ３５に進み、図４のブレーキ解除用のサブプログラムを呼び出す。このようにして、解除操作スイッチが「ＯＮ」である期間は、常に図４のサブプログラムが呼び出されてブレーキ解除処理が行われる。
なおステップＳ３１において、中央処理装置２１が解除操作スイッチの状態が「ＯＦＦ」であることを検出した場合は、ステップＳ３６に進み、ブレーキフラグＦｂを「０」とし、サーボ制御部２３からサーボアンプ部２４への出力信号を送り、ブレーキ１１を解除して通常のサーボ系を制御状態としてから、図３のブレーキ解除処理プログラムを抜ける。
次に、図４で示されるブレーキ解除のサブプログラムが呼び出されたときの処理について説明する。
ステップＳ４１において、まず前回位置データＸｐが「０」であるかをチェックし、「０」である場合、言い換えると解除操作スイッチが「ＯＦＦ」から「ＯＮ」に切換わった最初の処理には、ステップＳ４４に進み、前回位置データＸｐを現在位置データＸｃに、そして前回時間データＴｐを現在時間データＴｃに書換える。それからステップＳ４６に進みブレーキ解除処理が行われる。ブレーキ解除処理は、その指令が中央処理装置２１から、ブレーキ制御部２５を通してブレーキ駆動部２６に送られ、最終、ブレーキ１３を解除するための駆動エネルギがブレーキ駆動部２６から供給されて行われる。ステップＳ４６のブレーキ解除処理が終わると一旦サブプログラムを抜ける。
制御プログラムの中から、次のブレーキ解除処理のサブプログラムが処理される場合について説明する。ステップＳ３１で解除操作スイッチが「ＯＮ」のまま継続されていれば、ステップＳ３２に進みサーボ系の制御停止処理が行われる。次のステップＳ３３では、前回実行された制御プログラムのブレーキ解除処理のステップＳ３４で、ブレーキフラグＦｂが「１」と設定されているので、２度目以降はステップＳ３５に進んで、図４のブレーキ解除処理のサブプログラムが呼び出される。
２度目以降のサブプログラム呼び出しのステップＳ４１では、前回位置データＸｐに前回処理したときの現在位置データＸｃが代入されているので前回位置データＸｐは「０」ではなくステップＳ４２に進む。ステップＳ４２では、前回処理した時点から今回処理した時点までの移動量ΔＸおよび経過時間ΔＴと実移動速度データＶａを以下の式から求める。
ΔＸ＝Ｘｃ−Ｘｐ
ΔＴ＝Ｔｃ−Ｔｐ
Ｖａ＝ΔＸ／ΔＴ
上記演算が終了した後は、次回のサブプログラムが呼び出された場合の移動量と速度を演算するために
Ｘｐ＝Ｘｃ
Ｔｐ＝Ｔｃ
と現在データを代入しておく。
次にステップＳ４３に進み、実移動速度データＶａが許容移動速度データＶｓよりも大きい場合は、ステップＳ４５に進みブレーキをロックするように、一方、実移動速度データＶａが許容移動速度データＶｓよりも小さい場合はステップＳ４６に進みブレーキ１３を解除するように制御が行われる。
以上説明した処理は図５の動作説明図に示すように行われる。まず、解除操作スイッチが「ＯＮ」となった場合に、アーム自重により移動を始めて許容移動速度データＶｓに到達するまでの間ブレーキ１３が解除される。
なお、図においてアームの移動速度を直線で近似して示しているが、ブレーキ１３が解除されたときのアーム移動速度が増加する割合はアームの姿勢により変化し、また、ブレーキ１３がロックされて移動速度が減少する割合はブレーキ１３の制止力とアーム等の慣性で決まる。
許容移動速度データＶｓに到達した後は、許容移動速度データＶｓの付近でブレーキ１３のロックと解除処理が繰り返し行われる。解除操作スイッチが「ＯＦＦ」となった場合は、直ちにサーボ系の制御状態に戻り、ブレーキ１１の解除が行われ、現在位置データＸｃでアームが停止するようにサーボ位置制御が行われる。
以上説明したように、ブレーキ解除処理を行う場合に、アームの移動速度が許容移動速度に制限され、高速にアームが移動しないので、安全性の高いロボットを得ることができる。
実施の形態２．
実施の形態２は、実移動速度を上限許容移動速度および下限許容移動速度と比較し、上限値を超えた場合にブレーキロック処理を行い、下限値を下回ったときにブレーキ解除処理を行い、上限値と下限値の中間の場合は前回の処理を継続するようにしたもので、構成は実施の形態１と同一である。
実施の形態２における制御プログラムは実施の形態１における図３のフローチャートと同一で、サブプログラムのフローチャートは図６で示すように実施の形態１と比較し一部の処理が異なる。なお、実施の形態１の図４と同一の処理であるステップは同じステップ番号を用いている。図７は実施の形態２におけるブレーキ解除スイッチの状態とブレーキ信号とアーム移動速度の関係を示す動作説明図である。
以下、実施の形態１と異なる部分を、フローチャートを用いて説明する。なお、ブレーキ解除処理の起動に当たり、上限許容移動速度データＶＳＨおよび下限許容移動速度データＶＳＬは、予め作業者が手動操作装置３から記憶部２２に入力しておくものとする。
ステップＳ４２で実移動速度データＶａを求めた後、ステップＳ５１に進み、実移動速度データＶａと下限許容移動速度データＶＳＬを比較し、実移動速度データＶａが小さい場合は、ステップＳ４６に進みブレーキ解除処理を行う。また実移動速度データＶａが大きい場合は、ステップＳ５２に進む。ステップＳ５２では、実移動速度データＶａと上限許容移動速度データＶＳＨを比較し、実移動速度データＶａが大きい場合は、ステップＳ４５に進みブレーキロック処理を行う。また実移動速度データＶａが小さい場合は、このサブプログラムを抜けるため前回処理したステップＳ４５のブレーキロック処理またはステップＳ４６のブレーキ解除処理が継続される。
実施の形態２は、実施の形態１に比較して、ブレーキロックおよびブレーキ解除の処理間隔が図７で示すように大きくなって、ブレーキ１３のロックと解除のチャタリングの頻度を減少させることができる。
実施の形態３．
実施の形態３は、サーボ系を制御停止の状態として、ロボットアームのブレーキ解除を行う場合に、位置検出器によりロボットアームの移動位置を検出し、ブレーキ解除プログラムの実行周期中に移動したアーム移動量を求め、このアーム移動量と設定移動量と比較してブレーキのロックおよび解除を制御するようにしたもので、構成は実施の形態１と同一である。
実施の形態３における制御プログラムは実施の形態１における図３のフローチャートと同一で、サブプログラムのフローチャートは図８で示すように実施の形態１と比較して一部の処理が異なっている。なお、実施の形態１の図４と同一の処理であるステップは同じステップ番号を用いている。
以下、ブレーキ解除用のサブプログラム中の異なる部分について説明する。
解除操作スイッチが「ＯＦＦ」から「ＯＮ」に切り換えられた最初のサブプログラムの呼び出しでは、前回位置データＸｐが「０」に設定されているので、ステップＳ４１からステップＳ５５に進む。ステップＳ５５では、前回位置データＸｐに現在位置データＸｃを代入し、ステップＳ４６に進みブレーキ解除処理を行ってサブプログラムを抜ける。
２回目以降のサブプログラムの呼び出しでは、前回位置データＸｐとして、前回処理時の現在位置データＸｃがステップＳ５５において代入されているため、ステップＳ４１の判断はステップＳ５３に進む。ステップＳ５３では、実移動量ΔＸを現在位置データＸｃと前回位置データＸｐとの差から求める。そしてステップＳ５４において、実移動量ΔＸと設定移動量Ｘｓとを比較して、実移動量ΔＸが大きい場合はステップＳ４５のブレーキロック処理が行われ、実移動量ΔＸが小さい場合はステップＳ４６のブレーキ解除処理が行われる。
以上説明したように、解除操作スイッチが「ＯＮ」の場合には、アームが自重により移動を始めて、制御プログラムの実行処理１回当たりの実移動量ΔＸが設定移動量Ｘｓに到達するまでの間、ブレーキ１３が解除される。その後、設定移動量Ｘｓを基準にブレーキ１３のロックと解除処理が行われる。解除操作スイッチが「ＯＦＦ」となった場合は、直ちにサーボ系の制御状態に戻り、ブレーキ１１の解除が行われ、現在位置データＸｃでアームが停止するようにサーボ位置制御が行われる。
実施の形態３では、制御プログラムの実行が１秒間に数十回程度、周期にして数十ミリ秒の間隔毎に行われ、経過時間ΔＴがほぼ一定の時間間隔となることを利用しているので、中央処理装置２１による経過時間ΔＴの演算処理を省略できる。
また、設定移動量Ｘｓを直接パラメータとして設定するだけでなく、許容移動速度データＶｓを入力することにより、中央処理装置２１により設定移動量Ｘｓを求めて記憶部２２に記憶させるように構成することも可能である。さらに、位置検出器１２からサーボ制御部２３へ送られる位置信号であるパルス数を設定移動量Ｘｓの代わりに用いるように構成することも可能である。
実施の形態４．
実施の形態４は、多関節ロボットのようにロボット本体１のアームの姿勢や負荷などを合成した重心が関節から見てほぼ垂直位置にあって、関節回りのモーメントがゼロ付近であった場合や、直交型ロボットの移動軸がほぼ水平に配置されていてアームが移動しない場合に、ブレーキ１３を解除しても、作業者が力を加えないとアームが移動を開始しない現象を回避するためのもので、モータ補助回転スイッチが「ＯＮ」の場合にアームの実移動速度データＶａが許容移動速度データＶｓになるまで、モータ１１の回転動作を行わせるようにしたものである。
実施の形態４における制御プログラムは、実施の形態１における図３のフローチャートと同一で、サブプログラムのフローチャートが図９で示すように実施の形態１と比較し一部の処理が異なる。なお、実施の形態１と同一の処理であるステップは同じステップ番号を用いている。
以下、ブレーキ解除用のサブプログラム内の異なる部分について説明する。
２回目以降のサブプログラムの呼び出しでは、前回位置データＸｐが「０」以外の値が代入されているため、ステップＳ４１の判断はステップＳ４２に進む。ステップＳ４２では、前回処理した時点から今回処理した時点までの移動量ΔＸおよび経過時間ΔＴと実移動速度データＶａを以下の式から求める。
ΔＸ＝Ｘｃ−Ｘｐ
ΔＴ＝Ｔｃ−Ｔｐ
Ｖａ＝ΔＸ／ΔＴ
上記演算が終了した後は、次回のサブプログラムが呼び出された場合の移動量と速度を演算するために
Ｘｐ＝Ｘｃ
Ｔｐ＝Ｔｃ
と現在データを代入しておく。
次にステップＳ４３に進み、実移動速度データＶａが許容移動速度データＶｓよりも大きい場合は、ステップＳ４５に進みブレーキロック処理を行った後、サブプログラムを抜ける。実移動速度データＶａが許容移動速度データＶｓよりも小さい場合はステップＳ５６に進む。モータ補助回転スイッチが「ＯＮ」であればステップＳ５７に進み、ブレーキ解除処理の後、モータ１１にはアームが移動する程度の一定トルクが加えられた後、サブプログラムを抜ける。また、ステップＳ５６においてモータ補助回転スイッチが「ＯＦＦ」であればステップＳ４６に進み、ブレーキ解除処理を実行してサブプログラムを抜ける。
以上説明したように、モータ補助回転スイッチが「ＯＮ」の場合には、アームが自重により自走を始めて許容移動速度データＶｓに到達するまでの間、モータ１１によるアームの補助移動動作が行われる。また、モータ補助回転スイッチが「ＯＦＦ」でアームが停止した状態が続く場合であっても、作業者が力を加えてアームを任意に移動させることもできる。
なお、モータ１１に加える補助移動用のトルクは、アームが移動を開始する程度の一定トルクで制御するように構成すれば、誤操作により作業者がストロークエンドまでモータ１１を回転させたとしても、ロボット本体１が機械的に破損することは無い。
実施の形態５．
実施の形態５は、実施の形態１と同様に、位置検出器によりロボットアームの移動位置を検出し、移動位置および経過時間の変化量からアームの実移動速度を演算する。ただし、実施の形態５は、実移動速度とアーム先端部の作業点との距離からアーム先端部の作業点の移動速度を求め、それを許容移動速度と比較して、アーム先端部の作業点の移動速度が大きい場合にブレーキロック処理を行い、小さい場合にブレーキ解除処理を行うようにした点で異なっている。
従って、実施の形態５における制御プログラムは、実施の形態１における図３のフローチャートと同一で、サブプログラムのフローチャートは図１０で示すように実施の形態１と比較し一部の処理が異なる。
図１１および図１２は、ロボット本体１において、ブレーキ解除を行う関節部Ｘ１からアーム先端部の作業点（Ａ点で示す）までの距離Ｌを説明する説明図である。Ｘ１、Ｘ２、Ｘ３は、それぞれの関節部座標データ、Ｌ１、Ｌ２、Ｌ３は、第１アーム１４、第２アーム１５、手首軸１６の関節間の距離または関節と作業点間の距離を示す。θ１は第１アーム１４と水平面とのなす角度、θ２、０３は各関節部のアーム間のなす角度を表している。１７は負荷、１８はロボット支柱、Ｗは負荷の重量である。
以下、実施の形態１と異なる処理を、フローチャートを用いて説明する。なお、ブレーキ解除処理の起動に当たり、許容移動速度データＶｓ、先端部あるいは負荷の中心までの距離Ｌは、予め作業者が手動操作装置３から記憶部２２に入力しておくものとする。
まず、図１０で示されるフローチャートの２度目のサブプログラム呼び出しのステップＳ４１では、実施の形態１と同様に、前回位置データＸｐに前回処理したときの現在位置データＸｃが代入されているので前回位置データＸｐは「０」ではなくステップＳ５８に進む。ステップＳ５８では、前回処理した時点から今回処理した時点までの移動量ΔＸおよび経過時間ΔＴと実移動速度データＶａと移動速度データＶを以下の式から求める。
ΔＸ＝Ｘｃ−Ｘｐ
ΔＴ＝Ｔｃ−Ｔｐ
Ｖａ＝ΔＸ／ΔＴ
Ｖ  ＝Ｖａ×Ｌ
上記演算が終了した後は、次回のサブプログラムが呼び出された場合の移動量と速度を演算するために
Ｘｐ＝Ｘｃ
Ｔｐ＝Ｔｃ
と現在データを代入しておく。
次にステップＳ５９に進み、移動速度データＶが許容移動度データＶｓよりも大きい場合は、ステップＳ４５に進みブレーキをロックするように、一方、移動速度データＶが許容移動速度データＶｓよりも小さい場合はステップＳ４６に進みブレーキ１３を解除するように制御が行われる。
以上の説明では、作業者が距離Ｌを入力する場合について述べたが、距離Ｌを関節間の距離Ｌ１、Ｌ２、Ｌ３、各関節間のなす角度θ１、θ２、θ３から演算により求めるように構成すれば、作業者の距離Ｌの入力作業を省略できる。
実施の形態６．
実施の形態６は、ロボット本体１のアーム姿勢および負荷状態とブレーキ解除処理のロック時間および解除時間とを関連付けて記憶部２２に記憶し、記憶したロック時間と解除時間に従ってブレーキ１３を制御するようにしたものである。
図１３は実施の形態６であるブレーキ解除用の制御プログラムのフローチャート、図１４は多関節ロボットの関節部の状態を説明する外形図、図１５は記憶部２２に記憶させるロック時間と解除時間の表を示す。
図１４は、実施の形態６の各種パラメータを説明するためのロボット本体１の外形図を示し、１４は第１アーム、１５は第２アーム、１６は手首軸である。１７は負荷でロボットにおいては搬送物に相当する。１８は支柱で第１アーム１４を回転支持するものである。
Ｘ１は、支柱１８と第１アームとの関節部が角度θ１で示される状態のときの、制御装置２で管理される関節座標データを表す。具体的な座標設定としてはθ１＝Ｘ１としても良いが、θ１＝Ｘ１＋αの関係式で表される。なお、αは一般にストロークエンドを「０」と規定する場合が多い。同様に、Ｘ２は、第１アーム１４と第２アーム１５との関節部が角度θ２で示される状態のときの座標データ、Ｘ３は第２アーム１５と手首軸１６との関節部が角度θ３で示される状態のときの座標データを表す。
図１５の表は、アームの姿勢を表す第１関節の座標データＸ１をＡ１からＦ１までの５区分に、また第２関節の回転位置Ｘ２をＡ２〜Ｅ２までの４区分に、第３関節の回転位置Ｘ３をＡ３〜Ｃ３までの２区分に分割し、さらに、負荷１７の荷重Ｗを０、２、４ｋｇの３区分に分割して、各区分に最適なブレーキの解除時間ＴＢＲｎとロック時間ＴＢＬｎのデータが関連付けられている。これらの表のデータは記憶部２２に関連付けて記憶されて、第１関節から第３関節までの位置データＸ１、Ｘ２、Ｘ３と荷重Ｗの入力データとから、ブレーキの解除時間ＴＢＲｎとロック時間ＴＢＬｎが、中央処理装置２１によって容易に検索・読み出し可能に構成されている。
次に動作について図１３のフローチャートを用いて説明する。
制御プログラム中のブレーキ解除プログラムが呼び出されると、ステップＳ６１で解除操作スイッチの状態を判断し、「ＯＦＦ」であればステップＳ６９に進み、設定ブレーキロック時間ＴＢＬと設定ブレーキ解除時間ＴＢＲに「−１」を設定しブレーキ解除処理を抜ける。ステップＳ６１で解除操作スイッチが「ＯＮ」である場合には、ステップＳ６２に進み、サーボアンプ部２４からモータ１１への出力を停止するサーボ出力停止処理が行われる。次にステップＳ６３に進み、設定ブレーキロック時間ＴＢＬと設定ブレーキ解除時間ＴＢＲの値が共にマイナスかどうかを判断する。解除操作スイッチが「ＯＦＦ」から「ＯＮ」に切り換えられた直後は、共にマイナスであるためステップＳ６４に進み、各関節の現在位置Ｘ１、Ｘ２、Ｘ３と入力された負荷情報Ｗに基づき、最も近い条件の設定ブレーキロック時間ＴＢＬｎと設定ブレーキ解除時間ＴＢＲｎを読み出し、
ＴＢＬ＝ＴＢＬｎ
ＴＢＲ＝ＴＢＲｎ
のように設定する。
次にステップＳ６８に進みブレーキ解除処理が行われ、設定ブレーキ解除時間ＴＢＲから次回処理までに要する時間ΔＴを減算してブレーキ解除処理プログラムを抜ける。ステップＳ６８のブレーキ解除処理は設定ブレーキ解除時間ＴＢＲが経過するまで繰り返される。ステップＳ６５で設定ブレーキ解除時間ＴＢＲがマイナス、すなわちブレーキ解除処理が終わった後は、ステップＳ６６に進み、ブレーキロック時間ＴＢＬが経過するまでステップＳ６７のブレーキロック処理が繰り返される。
ステップＳ６８のブレーキ解除処理とステップＳ６７のブレーキロック処理の１サイクルが完了すると、再度、ステップＳ６４に進み、各関節の現在位置と入力された負荷情報に基づき、新しい設定ブレーキロック時間ＴＢＬと設定ブレーキ解除時間ＴＢＲを読み出して、ブレーキ解除処理が繰り返し行われる。
以上説明したように、ロボット本体１の各関節の現在位置の座標値と入力された負荷から、記憶部２２に記憶された最適な設定ブレーキロック時間ＴＢＬｎと設定ブレーキ解除時間ＴＢＲｎを呼び出してブレーキ解除処理を行うので、実施の形態１や実施の形態３のように、現在位置データＸｃ、前回位置データＸｐ、現在時間データＴｃ、前回時間データＴｐなどから実回転速度データＶａを求めるなどの演算を行わなくて済み、処理を簡略化できる。
なお、ブレーキの解除・ロック制御を行うにあたり、移動速度を許容移動速度で比較したり、あるいは、制御プログラム実行周期内の移動量を許容移動量と比較したり、また、許容移動速度あるいは許容移動量に上限値と下限値を設けて比較したりする技術を、以上で説明した各実施の形態において、適宜入れ替えたり、または、２つ以上を組合せて用いることもできる。
産業上の利用可能性
以上のように、この発明に係るロボットは、ブレーキ解除を行ってアームをストローク範囲外へ移動、あるいは、ストローク範囲外から範囲内に移動するのに適している。
【図面の簡単な説明】
図１は、一般的なロボットの構成を示す説明図である。
図２は、この発明の実施の形態を示すブロック図である。
図３は、制御プログラム中のブレーキ解除処理を示すフローチャートである。
図４は、実施の形態１のブレーキ解除処理を示すサブプログラムのフローチャートである。
図５は、実施の形態１の動作説明図である。
図６は、実施の形態２のブレーキ解除処理を示すサブプログラムのフローチャートである。
図７は、実施の形態２の動作説明図である。
図８は、実施の形態３のブレーキ解除処理を示すサブプログラムのフローチャートである。
図９は、実施の形態４のブレーキ解除処理を示すサブプログラムのフローチャートである。
図１０は、実施の形態５のブレーキ解除処理を示すサブプログラムのフローチャートである。
図１１は、実施の形態５のロボットにおけるアーム先端部あるいは負荷までの距離Ｌを説明する説明図である。
図１２は、実施の形態５のロボットにおけるアーム先端部あるいは負荷までの距離Ｌを説明する説明図である。
図１３は、実施の形態６に関するブレーキ解除用制御プログラムのフローチャートである。
図１４は、多関節ロボットの関節部の状態を説明する外形図である。
図１５は、実施の形態６の記憶部２２に記憶させるロック時間と解除時間の表である。
図１６は、従来のブレーキ解除を行う産業用ロボット制御装置のブロック図である。
図１７は、従来のブレーキ解除処理を示すプログラムのフローチャートである。
図１８は、従来のブレーキ動作を示す状態図である。
【図１】
2003086718.tif 000003
【図２】
2003086718.tif 000004
【図３】
2003086718.tif 000005
【図４】
2003086718.tif 000006
【図５】
2003086718.tif 000007
【図６】
2003086718.tif 000008
【図７】
2003086718.tif 000009
【図８】
2003086718.tif 000010
【図９】
2003086718.tif 000011
【図１０】
2003086718.tif 000012
【図１１】
2003086718.tif 000013
【図１２】
2003086718.tif 000014
【図１３】
2003086718.tif 000015
【図１４】
2003086718.tif 000016
【図１５】
2003086718.tif 000017
【図１６】
2003086718.tif 000018
【図１７】
2003086718.tif 000019
【図１８】
2003086718.tif 000020
【国際調査報告】
2003086718.tif 000021
2003086718.tif 000022