説明

ロボット制御装置

【課題】ロボットに対する外力を高感度で検出して、ロボットを高精度で停止させる。
【解決手段】プログラムに含まれる指定速度を指定速度以下に調節する指定速度調節手段(23)を有するロボット制御装置(10)が、ロボット(1)の手首に装着された力センサ(2)の検出値に基づいて前記ロボットの移動を停止する移動停止命令を解読する解読手段(38)と、指定速度調節手段を作用させずにプログラムの指定速度で、プログラムの指定方向にロボットを移動させる移動指令を作る移動指令手段(36)と、ロボットの移動開始時における力センサの検出値を基準値として、基準値からの変化分を力現在値として算出する力算出手段(31)と、ロボットが移動している間、力算出手段により所定周期で繰返し算出された力現在値を所定の力指定値と比較する比較手段(32)とを含む。力現在値が力指定値以上である場合は、移動指令手段はロボットを停止させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業用ロボットなどのロボットを制御するロボット制御装置に関する。特に、本発明は、ロボットの移動時に、ロボットの手首に装着された力センサの力検出値に基づいてロボットの移動を停止するロボット制御装置に関する。
【背景技術】
【0002】
一般にロボット制御装置は、ロボットのハンドがその移動時に他の対象物に接触して外力を受けたことを検出した場合には、ロボットの移動を停止させている。例えば特許文献1には、直交型ロボットの手首に装着された力センサの検出値が閾値以上になった場合に、ロボットを停止することが開示されている。
【0003】
また、特許文献2は、力センサを装着したロボットにおいて力センサ検出情報のフィードバック制御による力制御を行い、移動命令において力フィードバックを停止して、力センサ出力が閾値を超えたときに接触が生じたと認識してロボットの動作を停止させることを開示している。
【0004】
さらに、特許文献3には、手首に装着した力センサの検出値をリセットし、以後の検出値を基準値と比較することによりエンドエフェクタが被工作物に接触したことを判断し、接触が生じた場合にはロボットを停止させて、座標値を読取る手法が開示されている。
【0005】
さらに、特許文献4には、力センサを装着したロボットによって力センサ検出値と許容基準との関係を評価し、力センサ検出値が許容基準を超えた場合には、衝突が生じたものと判断してロボットの移動を緊急に停止することが開示されている。
【特許文献1】特開平7−24665号公報
【特許文献2】特開平3−49886号公報
【特許文献3】特開平8−39467号公報
【特許文献4】特開平8−241107号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
一般的にロボットにより組立作業を行う場合には、多関節ロボットのハンドにより把持した部品を自由な姿勢で配置すると共に、力センサなどを用いて接触状態を検出してロボットの移動を停止することが望まれている。
【0007】
しかしながら、力センサを用いた力制御技術においては、力検出値によるフィードバック制御が基本的な構成である。この場合には、ロボット手先の把持機構、把持機構に把持された物体の剛性、および把持機構と物体との間の接触状態などがフィードバックループに含まれるので、これらはフィードバック制御系の安定性および応答特性に多大な影響を与える。
【0008】
従って、ロボット手先の把持機構、把持機構に把持された物体の剛性、および把持機構と物体との間の接触状態などのそれぞれの状態に応じて、特性パラメータ、例えばフィードバック制御系のゲインなどを調整する必要があり、ロボットの使用が難しくなるという問題があった。また、フィードバック制御では振動およびオーバーシュートが発生しやすいので、ゲインをあまり高く設定できず、その結果、応答速度が遅くなるという問題があった。
【0009】
また、特許文献1においては、手首の姿勢を変化させて手首の重力軸の方向が変化すると、ハンドおよび把持したワークの重力による力の方向が変化し、このことに対応して、力センサからの力検出値が変化する。この力検出値の変化と、ハンドに加わった外力による力検出値の変化とを区別できないので、直交型ロボットを用いた制御方法を垂直多関節型ロボットに適用すると、手首の姿勢変化によって力検出値が変化して誤動作するという問題があった。このような問題は、特許文献2の場合においても同様に生じうる。
【0010】
また、特許文献3において接触が生じた場合にはロボットを停止させているものの、実際にはロボットは即時に停止することができず、通常はロボットは移動速度に依存した距離を惰走して停止する。産業用ロボットは、安全を確保するためにロボットの教示作業および試運転を行う場合には、ロボット制御装置の操作パネルなどからオーバライドの設定操作をして、プログラムで指定された移動速度を必ず低下させて行う。このため、特許文献3においてロボットの教示作業および試運転を行う場合には、プログラムで指定された移動速度を低下させた状態でロボットを動作させるので、移動速度の変化に応じて接触停止位置が変化するという問題があった。
【0011】
また、特許文献4においては、力検出値はロボットの移動時に常に監視され、衝突を検出するのに使用される。ただし、この力検出値は、ロボットの移動に伴って発生する慣性力および遠心力、ならびに手首の姿勢変化に伴って発生する重力軸変化による力成分の変化の影響を受ける。このため、許容基準が比較的小さく設定される場合には、ロボットが誤動作するという問題があった。
【0012】
ところで、ロボットの関節を駆動するサーボモータによって外乱付加を検出し、衝突または過負荷が検出された場合にはロボットの移動を緊急に停止する技術、ならびにロボットのハンドに取付けられたタッチセンサの信号に基づいてロボットの移動を停止する技術も提案されている。
【0013】
しかしながら、サーボモータを利用する技術は、ロボットの関節部に掛かる負荷を検出しているので検出感度が低く、またタッチセンサを利用する技術においては、タッチセンサがワークと干渉するという問題、およびロボットのハンドに加えられた力を検出できないという問題がある。
【0014】
本発明はこのような事情に鑑みてなされたものであり、ロボットのハンドまたはハンドが把持したワークに加えられた外力を高感度で検出すると共に、ロボットを高精度で停止させることのできるロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
前述した目的を達成するために1番目の発明によれば、ロボット指令プログラムに含まれる指定速度を該指定速度以下に調節する指定速度調節手段を有するロボット制御装置において、ロボットの手首に装着された力センサの力検出値に基づいて前記ロボットの移動を停止する移動停止命令を解読する解読手段と、該解読手段により前記移動停止命令を解読した場合、前記プログラムに含まれる指定方向に、前記指定速度調節手段を作用させずに前記プログラムに含まれる前記指定速度により前記ロボットを移動させる指令を生成する移動指令手段と、前記ロボットの移動開始時における前記力センサの力検出値を基準値として、該基準値からの力検出値の変化分を力現在値として算出する力算出手段と、前記ロボットが移動している間、前記力算出手段により所定周期で繰返し算出された力現在値を所定の力指定値と比較する比較手段と、を具備し、該比較手段により前記力現在値が前記力指定値以上であると判定された場合には、前記移動指令手段は、前記ロボットを停止させるようになっており、さらに、前記ロボットの停止位置を読出す停止位置読出手段と、を備えたロボット制御装置が提供される。
【0016】
通常、力検出により移動指令を停止した場合には、ロボットはサーボ制御系の追従遅れ量の分だけ行き過ぎて停止する。そして、サーボ制御系の追従遅れ量は移動速度におおよそ比例するので、移動速度が変化すると行き過ぎ量が変わり、従って、停止位置が変化する。これに対し、1番目の発明においては、力センサの力検出値に基づいてロボットの移動を停止する移動停止命令を実行する際は、指定速度調節手段により調節された調節後指定速度を使用せず、調節前の指定速度を使用しているので、移動速度が一定となり、停止位置が変化するのを防止できる。このため、ロボット試運転中などにおいてロボットの動作確認のために指定速度が調節されている場合であっても、力検出によるロボットの停止位置は影響を受けず、停止位置の繰返し精度を高めることができる。なお、移動速度を一定にすることでロボット試運転などの際の安全性が脅かされる可能性が考えられるが、この移動停止命令で使う指定速度は非常に小さいので、安全性に問題は発生しない。
【0017】
2番目の発明によれば、1番目の発明において、さらに、前記ロボットの移動開始時における前記力センサの最新の力検出値を前記基準値として採用するか、または以前に設定された前記基準値を変更することなしに使用し続けるか、を切換える切換手段を備えた。
すなわち2番目の発明においては、移動開始時に基準値の更新を行わず、以前に採用された基準値をそのまま使うことが望まれる場合に有利である。
【0018】
3番目の発明によれば、1番目または2番目の発明において、前記力現在値が前記力指定値以上になることなしに前記ロボットの移動量が所定の制限移動量に達した場合には、前記ロボットを停止させて、ロボットの移動量についての所定の処理を実行するようにした。
すなわち3番目の発明においては、ロボットのハンドが想定した対象物に接触しないなどの場合に有利である。なお、3番目の発明におけるロボットの移動量についての所定の処理は、ロボットが対象物に接触しないなどの場合に行われる予め設定された処理である。
【0019】
4番目の発明によれば、ロボット指令プログラムに含まれる指定速度を該指定速度以下に調節する指定速度調節手段を有するロボット制御装置において、ロボットの手首に装着された力センサの力検出値に基づいて前記ロボットの移動を停止する力制限付き移動命令を解読する解読手段と、該解読手段により前記力制限付き移動命令を解読した場合、前記プログラムに含まれる指定位置に、前記指定速度調節手段を作用させずに前記プログラムに含まれる前記指定速度により前記ロボットを移動させる指令を生成する移動指令手段と、前記ロボットの移動開始時における前記力センサの力検出値を基準値として、該基準値からの力検出値の変化分を力現在値として算出する力算出手段と、前記ロボットが移動している間、前記力算出手段により所定周期で繰返し算出された力現在値を所定の力指定値と比較する比較手段と、を具備し、該比較手段により前記力現在値が前記力指定値以上であると判定された場合には、前記移動指令手段は、前記ロボットを停止させると共に、前記ロボットに対して所定の処理が実行されるようになっており、前記力現在値が前記力指定値以上になることなしに前記ロボットが前記指定位置に達した場合には、前記移動指令手段は、前記ロボットを停止させると共に、前記プログラムにおける前記ロボットの本来の処理が続行されるようにした、ロボット制御装置が提供される。
【0020】
すなわち4番目の発明においては、指定速度調節手段により調節された調節後指定速度を使用せず、調節前の指定速度を使用しているので、移動速度が一定となり、停止位置が変化するのを防止できる。このため、ロボット試運転中などにおいてロボットの動作確認のために指定速度が調節されている場合であっても、力検出によるロボットの停止位置は影響を受けず、停止位置の繰返し精度を高めることができる。さらに、4番目の発明においては、ロボットを指定位置に向かって移動させているので、移動途中でロボットが障害物に接触した場合に有利である。なお、4番目の発明における所定の処理は、例えばロボットが障害物に接触した場合に対する対処プログラムである。
【0021】
5番目の発明によれば、1番目または4番目のいずれかの発明において、前記比較手段により力現在値が前記力指定値以上であると判定されて前記ロボットを停止させた場合には、前記ロボットの停止位置を所定の許容範囲と比較し、前記ロボットの停止位置が所定の許容範囲から外れている場合には、前記許容範囲についての所定の処理を実行するようにした。
すなわち5番目の発明においては、ロボットの停止位置が許容範囲から外れているか否かを判断することにより、ロボットにより実行された作業が正常に終了したか否かを判定することができる。なお、5番目の発明における許容範囲についての所定の処理は、例えばリトライのためのプログラムである。
【発明を実施するための最良の形態】
【0022】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図1は本発明に基づくロボット制御装置とロボットとを示す全体構成図である。図1には、多関節型ロボット1が示されている。図示されるように、ロボット1の手首には、六軸力センサ2が装着されており、ワークの把持などを行うハンド5が力センサ2の先端側に装着されている。
【0023】
図1に示されるような多関節型ロボット1は手首の姿勢を自由に変化させられ、それにより、ハンド5により把持されたワークを所望の向きに配置することが可能である。六軸力センサ2はロボット1の手首における直交3軸(X、Y、Z)方向の力と、各軸回りのモーメント(Mx、My、Mz)を検出できる。力センサ2の検出感度は比較的高く、例えば最小検出値は10gf以下である。力センサ2は、把持機構を備えた通常のハンド5の先端部、または把持したワーク(図示しない)に加わったあらゆる方向の小さな力であっても検出できる。なお、本発明においては、タッチセンサなどの追加の機構をハンド5の先端に取付ける必要はない。
【0024】
図1に示されるように、ロボット1はロボット制御装置10に接続されている。このため、力センサ2もロボット1を通じてロボット制御装置10に接続されている。
【0025】
図2は本発明に基づくロボット制御装置の機能ブロック図である。図2に示されるように、ロボット制御装置10は指令制御部21、サーボ制御部22および操作パネル23を主に含んでいる。また、図面には示さないものの、ロボット制御装置10はロボット指令プログラムならびに後述する計算結果および各閾値を記憶する記憶部(図示しない)を含んでいる。なお、ロボット指令プログラムは、ロボット1の動作を指定する命令文を含み、動作を指定する命令文はロボット1の指定位置と指定速度とを含んでいる。
【0026】
ロボット制御装置10の指令制御部21は、記憶部に記憶されたロボット指令プログラムを解読してプログラム命令に対応した各種処理を実行し、ロボット1の移動指令をサーボ制御部22に出力する。
【0027】
また、図2に示されるように指令制御部21は、解読手段38と移動指令手段36と力算出手段31と比較手段32と停止位置読出手段33と切換手段34とを含んでいる。解読手段38は、ロボット指令プログラムを解読し、それが何の命令であるか識別する。移動指令手段36は、解読手段38で解読した命令に対応して、ロボット1の移動経路を算出し、その移動経路に沿って制御周期毎にロボットの移動指令を分配更新し、それをロボットの各関節の移動指令に変換してサーボ制御部に出力する。また、移動指令手段36は、操作パネル23からオーバライド値を読み取りロボット1の移動速度を調節すると共に、比較手段32の判定結果によって移動指令を停止するなどの処理を実行する。力算出手段31は、力センサ2からの信号を読取って、作業に適した座標系に変換した力検出値PDを算出すると共に、力検出値PDから基準値PSを差し引いて力現在値PCを算出する。
【0028】
指令制御部21の比較手段32は、力算出手段31によって算出された力現在値PCを記憶部内の所定の力指定値P0と比較し、判定結果を出力する。指令制御部21の停止位置読出手段33は、比較手段32の判定結果により移動指令手段36が移動指令を停止した時、停止位置を読み出して記憶する。
【0029】
指令制御部21の切換手段34は、基準値PSを最新の力検出値PDに置き換えるか、または従来の基準値PSをそのまま使用するかを切換えるのに使用される。
【0030】
サーボ制御部22は、指令制御部21から送られた移動指令に追従するようにロボット1の各関節を駆動するモータをサーボ制御し、移動速度に概ね比例した追従遅れを伴って移動指令に追従させる。
【0031】
操作パネル23は、ロボット1のロボット指令プログラムの実行開始、一時中断などの制御に加えて、ロボット1の移動速度を調節することもできる。具体的には、操作パネル23はオーバライド値ORを零%から100%の範囲で選択できるようになっている。そして、選択されたオーバライド値ORに基づいて、指令制御部21は、ロボット指令プログラムで指定された指定速度に対して、ロボット1の移動速度を後述するように小さくなるよう調節する。
【0032】
オーバライド値ORを用いたロボット1の移動速度の低減は、例えばロボット1の試運転の際に安全の確認のために行われる。すなわち、ロボット指令プログラムを新しく作成した場合などには、衝突の防止またはロボット1の細かい動作の確認のためにロボット1の移動速度を例えば20%まで低減させてロボット1を動作させ、安全が確認された後に、実際の移動速度に戻すようにしている。このオーバライド機能は、ロボット指令プログラムを変更することなく移動速度を低下できるので、ロボット制御装置には必須の機能であり、ロボットの移動を指定する命令文に対して、一般的には例外なくこのオーバライド機能が作用する。
【0033】
はじめに、図8を参照して、通常の移動命令の際のロボット制御装置の動作内容について説明する。図8に示されるフローチャート180は、指令制御部21がロボット指令プログラムを解読し、ロボット指令プログラム内に移動命令があった場合に実施される。
【0034】
すなわち、ステップ181において通常の移動命令を開始すると、ステップ182において指令制御部21は操作パネル23のオーバライド値ORを所定の制御周期毎に読取る。次いで、ステップ183において、ロボット指令プログラム内の指定速度にオーバライド値ORを乗算して、実指令速度を算出する。ステップ184においては、ロボット指令プログラム内の指定位置に向けて所定の制御周期毎に実指令速度で移動指令位置を更新し、それをサーボ制御部22に出力する。
【0035】
次いで、ステップ185、186から分かるように、移動指令位置が指定位置に到達するまで所定の制御周期毎に処理を繰返す。そして、移動指令位置が指定位置に到達した場合には、移動指令を停止して処理を終了する。この場合には、ステップ187に示されるように、本来の次のプログラム命令に進む。ロボット制御装置10は通常は以上のように動作し、本発明においても移動命令の際には、オーバライド値ORに基づいて実指令速度が設定される。
【0036】
図3は、本発明の第一の実施形態に基づくロボット制御装置の移動停止命令の際の動作を示すフローチャートである。本発明において指令制御部21により解読されたロボット指令プログラムの命令文が移動停止命令である場合には、図3に示されるフローチャート130がロボット制御装置10によって実行される。
【0037】
フローチャート130のステップ101において力検出による移動停止命令が開始されると、切換手段34は、力センサ2により検出された最新の力検出値PDを基準値PSとして設定する(ステップ102)。このため、本発明においては、移動開始時におけるロボット1の手首がどのような姿勢であっても、移動開始時における手首の姿勢を基準として以後の力変化を検出することが可能となる。
【0038】
移動開始時にハンド5が作業台などの固定部(図示しない)に接触していない場合には、移動開始時における力センサ2の力検出値PDは、ハンド5および把持したワーク(図示しない)の重力による力成分、力センサ2のオフセット誤差(荷重無しの時にゼロにならない検出誤差)成分、および温度変化などによるドリフト誤差成分の和で構成される。本発明においては、力検出値PDを基準値PSとして設定するので、力現在値PCは前述した成分の全てがキャンセルされている。従って、移動中にハンド5の姿勢を大幅に変化しないようにすれば、重力による力成分はほとんど変化しない。さらに、移動速度を小さく指定した場合には発生する慣性力も比較的小さい。このため、本発明においては、移動開始以後にハンド5に加わった力を非常に感度良く検出することができる。
【0039】
次いで、フローチャート130のステップ103において力算出手段31は、所定の制御周期、例えば8ms毎に、力センサ検出値PDから基準値PSを減算して力現在値PCを算出する。力現在値PCを算出する周期は、ロボットの移動指令の分配周期と同期していることが好ましく、これにより、以下の作業をより正確に行うことが可能となる。
【0040】
続くステップ104においては、比較手段32が、力現在値PCと力指定値P0とを比較する。力指定値P0は予め定められていて記憶部に記憶されているものとする。力現在値PCが力指定値P0より小さい場合には、オーバライド設定される前の指定速度で指定方向に移動指令を更新してサーボ制御部22に出力して(ステップ107)、ステップ103に戻る。一方、力現在値PCが力指定値P0以上である場合には移動指令を停止し、停止位置読出手段37によって停止位置を読み出してレジスタなどにセットし(ステップ105)、次のプログラム命令に進む(ステップ106)。
【0041】
通常、力検出により移動指令を停止した場合には、ロボットはサーボ制御系の追従遅れ量の分だけ行き過ぎて停止する。そして、サーボ制御系の追従遅れ量は移動速度に概ね比例するので、移動速度が変化すると行き過ぎ量が変わり、従って、停止位置が変化する事態が生じうる。
【0042】
これに対し、本発明においては、力検出による移動停止命令を実行している間は、移動速度に対するオーバライドの設定を無視し、常に指定された速度、例えば10mm/秒で移動させている。つまり、本発明において移動指令を停止する場合(ステップ105)には、オーバライド設定される前の指定速度を使用しているので、移動速度が一定となり、従って、停止位置が変化するのを防止することが可能となる。すなわち、本発明においては、ロボット1の試運転中などにおいてロボット1の動作確認のためにオーバライド値ORが設定されている場合であっても、力検出によるロボットの停止位置は影響を受けず、停止位置の繰返し精度を高めることが可能となる。
【0043】
また、図3等から分かるように、本発明においては力検出値PDについてフィードバック制御を行っていない。従って、制御系が不安定になることはなく、力フィードバック制御系においてしばしば発生する応答遅れも生じない。
【0044】
図4は、本発明の第二の実施形態に基づくロボット制御装置の移動停止命令の際の動作を示すフローチャートである。図4および後述する図5から図7に示されるフローチャートにおける、既に説明したステップ(参照符号が同一のステップ)については、明細書の記載を簡潔にする目的で、再度の説明を省略する。
【0045】
図4に示されるフローチャート140においては、移動停止命令を開始した(ステップ101)後で、力検出による移動停止命令に基準値PSを更新する指定があるか否かを判定する(ステップ101a)。そのような指定がある場合には、切換手段34により、前述したように最新の力検出値PDを基準値PSとして設定する。一方、そのような指定が無い場合には、従来設定された基準値PSがそのまま使用され、ステップ103に戻る。
【0046】
図4に示されるこのような処理は、例えば押し釦スイッチの動作試験において行われる。具体的には、押し釦スイッチの動作試験の最初の命令においては、移動開始時に基準値PSを更新して、力指定値P0を比較的小さく設定し、ロボット1のハンド5が押し釦の表面に接触したことを検出して移動指令を停止する。次の命令においては、基準値PSの更新を行うことなしに力指定値P0を比較的大きく設定し、押し釦がその終端まで達したことを検出して移動指令を停止する。そして、力指定値P0が比較的大きい場合と比較的小さい場合とにおけるそれぞれの停止位置をチェックすることにより、押し釦スイッチの動作が正常であるか否かを判断することができる。このように、切換手段34による基準値PSの切換(更新)は、押し釦スイッチの動作を確認するような場合に特に有利である。
【0047】
図5は、本発明の第三の実施形態に基づくロボット制御装置の移動停止命令の際の動作を示すフローチャートである。図5に示されるフローチャート150は、例えばロボット1のハンド5が想定した対象物に接触しないなどの場合に実行される。
【0048】
具体的には、フローチャート150のステップ107において指定方向に指定速度で移動する際には、ロボット1の移動量Lを記憶する。次いで、ステップ108において、移動量Lを所定の制限移動量L0と比較する。なお、所定の制限移動量は予めロボット制御装置10の記憶部に記憶されているものとする。
【0049】
移動量Lが所定の制限移動量L0よりも大きくない場合には、ステップ103に戻って処理を繰返す。一方、移動量Lが所定の制限移動量L0以上である場合、すなわちステップ104において力現在値PCが力指定値P0より小さいと判定されていて(ステップ104)、移動量Lが所定の制限移動量L0以上である場合には、移動を停止して、予め設定された分岐先にジャンプして所定の処理を実行する(ステップ109)。この場合における所定の処理は、ロボットが対象物に接触しないなどの場合に行われる予め設定された処理である。
【0050】
図6は、本発明の第四の実施形態に基づくロボット制御装置の力制限付き移動命令の際の動作を示すフローチャートである。図6に示される実施形態は、指令制御部21により解読されたロボット指令プログラム内の力制限付き移動命令を実施する場合に実行される。
【0051】
図6に示されるフローチャート160のステップ101’において力制限付き移動命令が開始された後、ステップ102〜ステップ104が前述したように行われる。ただし、ステップ104において力現在値PCが力指定値P0以上である場合には、移動指令を停止し、所定の分岐先にプログラムの実行をジャンプする(ステップ105’、ステップ106’)。
【0052】
一方、ステップ104において力現在値PCが力指定値P0よりも小さい場合には、指定位置に向けて指定速度で更新した移動指令をサーボ制御部に出力する(ステップ107’)。この場合には、オーバライド設定される前の指定速度が使用される。次いで、ステップ108’においては、移動指令位置が指定位置に到達したか否かが判定される。
【0053】
図示されるように、移動指令位置が指定位置に到達していない場合にはステップ103に戻って処理を繰返す。一方、移動指令位置が指定位置に到達した場合には、移動を停止して本来の次のプログラム命令に進む(ステップ108a、ステップ109’)。本発明においては、ステップ108aにおいて移動を停止させるまで、移動速度に対するオーバライドの設定を無視し、オーバライド設定される前の指定速度でロボット1を移動させるようにしている。
【0054】
図3におけるステップ107の場合とは異なり、図6に示されるステップ107’においては、ロボット1は指定方向ではなく指定位置へ向けて移動される。図6に示される手法は、例えばロボット1がその移動途中で障害物に接触した場合に用いられる。従って、ロボット1のハンド5またはワークなどが破損するのを防止すると共に、ロボット1が障害物に接触したことを検出して、それに対処するプログラムへジャンプ(ステップ106’)させられる。
【0055】
図6に示される実施形態においては、移動方向ではなくて、移動先の位置(指定位置)を指定している(ステップ107’)。このため、本実施形態においては、ロボット1をより自由な位置に移動させられる。なお、この場合においても、接触により移動指令を停止するときには、ロボット1はサーボ制御系の追従遅れ量の分だけ行き過ぎて停止し、その追従遅れ量は移動速度に比例する。従って、接触による停止位置のばらつきを小さく抑えるために、ロボット1の移動速度には、オーバライド設定される前の指定速度が使用される。
【0056】
図7は、本発明の第五の実施形態に基づくロボット制御装置の移動停止命令の際の動作を示すフローチャートである。図7に示されるフローチャート170のステップ105において移動指令を停止させるときに、停止位置読出手段37によって読出された停止位置が所定の許容範囲内に在るか否かを判定する(ステップ110)。
【0057】
停止位置が所定の許容範囲内に在る場合には、次のプログラム命令に進む(ステップ111)。一方、停止位置が所定の許容範囲から逸脱している場合には、ステップ112に進んで、設定された分岐先へジャンプする。
【0058】
このように図7に示されるフローチャート170においては、停止位置が所定の許容範囲内に在るか否かを判定することにより、実行中の作業が正常に終了したかどうかを判断することが可能である。このような判定は、例えば、ロボット1がコネクタプラグ(オス)をコネクタソケット(メス)に挿入する場合に有用である。すなわち、コネクタプラグがコネクタソケットの入口または途中で停止した場合と、コネクタプラグをコネクタソケットに最後まで挿入させられた場合とでは、ロボット1の停止位置が異なる。従って、停止位置を通じて、コネクタプラグをコネクタソケットに適切に挿入させられたか否かを判定することが可能になる。なお、コネクタプラグの挿入に失敗した場合には、所定の分岐先にジャンプして、エラー処理のためのプログラムを実行するようにすればよい(ステップ112)。
【0059】
図7に示される実施形態において、力指定値P0を非常に小さく設定した場合には、ハンド5の先端部またはハンド5により把持されたワーク(図示しない)が、固定対象物(図示しない)に触れたときの位置を検出することができる。また、力指定値P0をある程度大きく設定した場合には、ロボット1は固定対象物を比較的強い力で押して停止するので、部品の押し当てなどの作業を行うこともできる。さらに、この場合には、対象物を押す力を制限できるので、例えばコネクタプラグの挿入が失敗した場合であっても、ハンド5またはワークが破損するのを防止できる。
【0060】
さらに、力現在値PCが力指定値P0以上になったことを検出してロボットの移動指令を停止した場合には(ステップ104、105)、ロボット1はサーボ制御系の追従遅れ量の分だけ行き過ぎて停止する。ロボット1のアームまたはハンド5などには、行き過ぎ量に比例してたわみが発生し、停止状態でロボット1は対象物に対して力指定値P0よりも大きな力を発生する。従って、力現在値PCが力指定値P0以上になって移動指令を停止した後で、適切な量だけ逆方向への移動指令を直ちに実行すれば、この力を早急に小さくできる。このような逆方向への移動指令を行うか否か、および逆方向への移動量はプログラム上で指定できるようにするのが望ましい。
【0061】
なお、図面を参照して説明した実施形態においては、力現在値PCは、直交3軸X,Y,Zの力成分および各軸回りのモーメント3成分の合計6成分を標準とするが、力現在値PCが3軸力成分のみ、またはロボットの移動方向の力成分のみ、または各軸回りのモーメント3成分のみであってもよい。力現在値PCの各軸成分は、作業座標系に変換されたものであることが望ましく、それにより、各種判定作業を迅速に行うことが可能となる。
以上の説明では、力指定値や制限移動量を予め記憶部に設定しているとしたが、これらをロボット指令プログラムで指定できるようにすることが望ましく、それによって条件が異なる各種動作への対応が容易になる。
また、力指定値は、力成分でもモーメント成分でも指定できることが望ましく、力成分で指定された場合は力現在値PCの直交3軸力成分と比較することとし、モーメント成分で指定された場合は力現在値PCの各軸回りのモーメント3成分と比較することとする。
【図面の簡単な説明】
【0062】
【図1】本発明に基づくロボット制御装置とロボットとを示す全体構成図である。
【図2】本発明に基づくロボット制御装置の機能ブロック図である。
【図3】本発明の第一の実施形態に基づくロボット制御装置の移動停止命令の際の動作を示すフローチャートである。
【図4】本発明の第二の実施形態に基づくロボット制御装置の移動停止命令の際の動作を示すフローチャートである。
【図5】本発明の第三の実施形態に基づくロボット制御装置の移動停止命令の際の動作を示すフローチャートである。
【図6】本発明の第四の実施形態に基づくロボット制御装置の力制限付き移動命令の際の動作を示すフローチャートである。
【図7】本発明の第五の実施形態に基づくロボット制御装置の移動停止命令の際の動作を示すフローチャートである。
【図8】通常の場合における移動命令の際の動作を示すフローチャートである。
【符号の説明】
【0063】
1 ロボット
2 力センサ
5 ハンド
10 ロボット制御装置
21 指令制御部
22 サーボ制御部
23 操作パネル(指定速度調節手段)
31 力算出手段
32 比較手段
33 停止位置読出手段
34 切換手段
36 移動指令手段
38 解読手段
L 移動量
L0 制限移動量
OR オーバライド値
P0 力指定値
PC 力現在値
PD 力検出値
PS 基準値

【特許請求の範囲】
【請求項1】
ロボット指令プログラムに含まれる指定速度を該指定速度以下に調節する指定速度調節手段を有するロボット制御装置において、ロボットの手首に装着された力センサの力検出値に基づいて前記ロボットの移動を停止する移動停止命令を解読する解読手段と、
該解読手段により前記移動停止命令を解読した場合、前記プログラムに含まれる指定方向に、前記指定速度調節手段を作用させずに前記プログラムに含まれる前記指定速度により前記ロボットを移動させる指令を生成する移動指令手段と、
前記ロボットの移動開始時における前記力センサの力検出値を基準値として、該基準値からの力検出値の変化分を力現在値として算出する力算出手段と、
前記ロボットが移動している間、前記力算出手段により所定周期で繰返し算出された力現在値を所定の力指定値と比較する比較手段と、を具備し、
該比較手段により前記力現在値が前記力指定値以上であると判定された場合には、前記移動指令手段は、前記ロボットを停止させるようになっており、
さらに、
前記ロボットの停止位置を読出す停止位置読出手段と、を備えたロボット制御装置。
【請求項2】
さらに、前記ロボットの移動開始時における前記力センサの最新の力検出値を前記基準値として採用するか、または以前に設定された前記基準値を変更することなしに使用し続けるか、を切換える切換手段を備えた、請求項1に記載のロボット制御装置。
【請求項3】
前記力現在値が前記力指定値以上になることなしに前記ロボットの移動量が所定の制限移動量に達した場合には、前記ロボットを停止させて、ロボットの移動量についての所定の処理を実行するようにした請求項1または2に記載のロボット制御装置。
【請求項4】
ロボット指令プログラムに含まれる指定速度を該指定速度以下に調節する指定速度調節手段を有するロボット制御装置において、ロボットの手首に装着された力センサの力検出値に基づいて前記ロボットの移動を停止する力制限付き移動命令を解読する解読手段と、
該解読手段により前記力制限付き移動命令を解読した場合、前記プログラムに含まれる指定位置に、前記指定速度調節手段を作用させずに前記プログラムに含まれる前記指定速度により前記ロボットを移動させる指令を生成する移動指令手段と、
前記ロボットの移動開始時における前記力センサの力検出値を基準値として、該基準値からの力検出値の変化分を力現在値として算出する力算出手段と、
前記ロボットが移動している間、前記力算出手段により所定周期で繰返し算出された力現在値を所定の力指定値と比較する比較手段と、を具備し、
該比較手段により前記力現在値が前記力指定値以上であると判定された場合には、前記移動指令手段は、前記ロボットを停止させると共に、前記ロボットに対して所定の処理が実行されるようになっており、
前記力現在値が前記力指定値以上になることなしに前記ロボットが前記指定位置に達した場合には、前記移動指令手段は、前記ロボットを停止させると共に、前記プログラムにおける前記ロボットの本来の処理が続行されるようにした、ロボット制御装置。
【請求項5】
前記比較手段により力現在値が前記力指定値以上であると判定されて前記ロボットを停止させた場合には、前記ロボットの停止位置を所定の許容範囲と比較し、前記ロボットの停止位置が所定の許容範囲から外れている場合には、前記許容範囲についての所定の処理を実行するようにした、請求項1または4に記載のロボット制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−188722(P2008−188722A)
【公開日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2007−26773(P2007−26773)
【出願日】平成19年2月6日(2007.2.6)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】