(57)【特許請求の範囲】
【請求項１】
作業者がロボットを手動で操作する指令を送出する手動操作盤と、
手動操作盤の操作に応じてロボットの動作を制御するロボット制御装置と、
ロボットの動作が可能な動作可能範囲を算出する干渉計算装置とを備え、
前記動作可能範囲は、ロボットの周りに配置されている物とロボットまたはエンドエフェクタが干渉せずにロボットが動ける範囲であり、
干渉計算装置は、現在のロボットの状態を取得するロボット状態取得部と、ロボットまたはエンドエフェクタが周りの物と干渉せずに動作が可能なロボットの位置を現在のロボットの状態から近い順に判定して、前記動作可能範囲を設定する動作範囲設定部と、動作範囲設定部にて設定された動作可能範囲を記憶する記憶部とを含み、
動作範囲設定部は、ロボットが停止している期間中に、手動操作盤において作業者が選択した座標系の移動軸の方向に移動したときにロボットまたはエンドエフェクタが周りの物と干渉せずに動作が可能なロボットの位置を判定する制御を、前記座標系の全ての前記移動軸において、現在の位置から前記移動軸の方向に微小距離ずつ移動させた位置にて繰り返して実施することにより前記動作可能範囲を算出し、
ロボット制御装置は、ロボットの手動の操作が開始されたときに、ロボットが動作する方向を干渉計算装置に送信し、
干渉計算装置は、ロボットが動作する方向において動作が許容される範囲を前記動作可能範囲に基づいて算出し、動作が許容される範囲をロボット制御装置に送信し、
ロボット制御装置は、動作が許容される範囲が予め定められた判定値よりも小さい場合に、ロボットの速度を予め定められた手動操作の速度よりも低くする制御またはロボットを停止させる制御を実施することを特徴とする、ロボットの手動送り装置。
【請求項２】
動作範囲設定部は、ロボットが停止しているときに、ロボットが届く限界の位置である限界位置よりも近い初期位置まで前記動作可能範囲を算出し、
ロボット状態取得部は、ロボットの手動の操作が開始された後に現在のロボットの状態を取得し、動作範囲設定部は、ロボットが動作する方向において、前記初期位置よりも遠い位置まで前記動作可能範囲を算出し、
記憶部は、記憶されている前記動作可能範囲を更新する、請求項１に記載のロボットの手動送り装置。
【請求項３】
ロボットの周りに配置されている物は、動作可能な周辺機器を含み、
干渉計算装置は、周辺機器の状態を取得する周辺状態取得部を含み、
動作範囲設定部は、現在の周辺機器の状態に基づいて前記動作可能範囲を算出し、
記憶部は、記憶されている前記動作可能範囲を更新する、請求項１または２に記載のロボットの手動送り装置。
【請求項４】
周辺状態取得部は、ロボット制御装置と周辺機器との通信信号および周辺機器の状態を検出する検出器の出力信号のうち少なくとも一方に基づいて、周辺機器の状態を取得する、請求項３に記載のロボットの手動送り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの手動送り装置に関する。
【背景技術】
【０００２】
ロボットは、位置および姿勢を変更することにより、ワークを搬送したり、所定の作業を行ったりすることができる。ロボットの周りには、ワークを置く架台や柵などが配置される。ロボットの周りに配置される物は、ロボットが駆動する範囲内に配置される場合がある。そして、ロボットが駆動することにより、ロボットが周りの物と接触する場合がある。すなわち、ロボットが周りの物と干渉する場合がある。
【０００３】
ロボットが周りの物と干渉しないようにするためには、ロボットの動作範囲を制限した動作プログラムを作成することができる。例えば、動作プログラムにてロボットの位置および姿勢を設定するときに、ロボットが周りの物と干渉しないように設定することができる。
【０００４】
特開２０１３−１３６１２３号公報においては、動作プログラムの作成を支援するロボット動作教示支援装置が開示されている。この動作教示支援装置のロボットコントローラは、ロボットの動作および姿勢の将来の位置を算出する。シミュレータは、算出された将来位置でのロボットの動作姿勢を画面に表示し、将来位置でのロボットの干渉の有無を判断することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１３６１２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ロボットは動作プログラムに基づいて自動的に駆動する他に、作業者が手動でロボットを駆動する場合がある。例えば、作業者は、動作プログラムを作成するために、ロボットを駆動してロボットの位置および姿勢を定めた後に、ロボット制御装置が位置および姿勢を記憶する場合がある。ロボット制御装置には、ロボットの位置および姿勢を手動にて変更するために教示操作盤が接続されている。
【０００７】
教示操作盤には、ロボットを駆動する為のボタン等の操作部が配置されている。作業者は、教示操作盤の操作部を操作することにより、ロボットの位置および姿勢を変更することができる。このような作業者の操作は、ジョグ操作と称されている。
【０００８】
ロボットを手動にて操作する場合にも、ロボットが周りの物と干渉する場合がある。従来の技術においては、ロボットを手動で操作する場合に、作業者は、目視によってロボットの周りの物にロボットが干渉するか否かを判定している。このために、作業者は、手動の操作を行うときには、ロボットが周りの物に接触しないように注意をしながら操作を行う必要がある。または、作業者の誤操作や周辺の物に気が付かずに、ロボットが周りの物と干渉する場合がある。
【課題を解決するための手段】
【０００９】
本発明のロボットの手動送り装置は、作業者がロボットを手動で操作する指令を送出する手動操作盤と、手動操作盤の操作に応じてロボットの動作を制御するロボット制御装置と、ロボットの動作が可能な動作可能範囲を算出する干渉計算装置とを備える。動作可能範囲は、ロボットの周りに配置されている物とロボットまたはエンドエフェクタが干渉せずにロボットが動ける範囲である。干渉計算装置は、現在のロボットの状態を取得するロボット状態取得部と、ロボットまたはエンドエフェクタが周りの物と干渉せずに動作が可能なロボットの位置を現在のロボットの状態から近い順に判定して、動作可能範囲を設定する動作範囲設定部とを含む。干渉計算装置は、動作範囲設定部にて設定された動作可能範囲を記憶する記憶部を含む。動作範囲設定部は、ロボットが停止している期間中に、手動操作盤において作業者が選択した座標系の移動軸の方向に移動したときにロボットまたはエンドエフェクタが周りの物と干渉せずに動作が可能なロボットの位置を判定する制御を、座標系の全ての移動軸において、現在の位置から移動軸の方向に微小距離ずつ移動させた位置にて繰り返して実施することにより動作可能範囲を算出する。ロボット制御装置は、ロボットの手動の操作が開始されたときに、ロボットが動作する方向を干渉計算装置に送信する。干渉計算装置は、ロボットが動作する方向において動作が許容される範囲を動作可能範囲に基づいて算出し、動作が許容される範囲をロボット制御装置に送信する。ロボット制御装置は、動作が許容される範囲が予め定められた判定値よりも小さい場合に、ロボットの速度を予め定められた手動操作の速度よりも低くする制御またはロボットを停止させる制御を実施する。
【００１０】
上記発明においては、動作範囲設定部は、ロボットが停止しているときに、ロボットが届く限界の位置である限界位置よりも近い初期位置まで動作可能範囲を算出することができる。ロボット状態取得部は、ロボットの手動の操作が開始された後に、現在のロボットの状態を取得することができる。動作範囲設定部は、ロボットが動作する方向において、初期位置よりも遠い位置まで動作可能範囲を算出し、記憶部は、記憶されている動作可能範囲を更新することができる。
【００１１】
上記発明においては、ロボットの周りに配置されている物は、動作可能な周辺機器を含み、干渉計算装置は、周辺機器の状態を取得する周辺状態取得部を含み、動作範囲設定部は、現在の周辺機器の状態に基づいて動作可能範囲を算出し、記憶部は、記憶されている動作可能範囲を更新することができる。
【００１２】
上記発明においては、周辺状態取得部は、ロボット制御装置と周辺機器との通信信号および周辺機器の状態を検出する検出器の出力信号のうち少なくとも一方に基づいて、周辺機器の状態を取得することができる。
【発明の効果】
【００１３】
本発明によれば、ロボットの周りの物との干渉を回避できるロボットの手動送り装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態におけるロボットシステムの概略図である。
【図２】実施の形態におけるロボット制御装置、ロボットおよびハンドの概略図である。
【図３】実施の形態におけるロボットシステムのブロック図である。
【図４】ロボットおよび周りの物を拡大した概略平面図である。
【図５】実施の形態におけるロボットの手動送り装置の制御のフローチャートである。
【発明を実施するための形態】
【００１５】
図１から図５を参照して、実施の形態におけるロボットの手動送り装置について説明する。ロボットの手動送り装置は、作業者が手動操作盤を操作することにより、ロボットを駆動する装置である。本実施の形態の手動送り装置は、ロボットシステムに配置されている。
【００１６】
図１は、本実施の形態におけるロボットシステムの概略図である。図２に、本実施の形態のロボット、ハンドおよびロボット制御装置の概略図を示す。図１および図２を参照して、本実施の形態のロボットシステムは、ワークＷの搬送を行うロボット１と、ロボット１を制御するロボット制御装置２とを備える。ロボット１には、エンドエフェクタとしてのハンド１７が連結されている。本実施の形態のロボット１は、アーム１２と複数の関節部１３とを含む多関節ロボットである。
【００１７】
ロボット１は、それぞれのアーム１２を駆動するアーム駆動装置を含む。アーム駆動装置は、関節部１３の内部に配置されているアーム駆動モータ１４を含む。アーム駆動モータ１４が駆動することにより、アーム１２を関節部１３にて所望の方向に向けることができる。ロボット１は、アーム１２を支持するベース部１９と、ベース部１９に対して回転する旋回部１１とを備える。ベース部１９は、設置面２０に固定されている。旋回部１１は、鉛直方向に延びる駆動軸の周りに回転する。旋回部１１が回転することにより、アーム１２の向きを変更することができる。アーム駆動装置は、旋回部１１を駆動する駆動モータを含む。
【００１８】
ハンド１７は、ワークＷを把持したり解放したりする機能を有する。ハンド１７は、爪部１７ａを有する。ロボット１は、爪部１７ａを閉じたり開いたりするハンド駆動装置を備える。本実施の形態のハンド駆動装置は、空気圧によりハンド１７を駆動するためのハンド駆動シリンダ１８を含む。なお、エンドエフェクタとしては、この形態に限られず、任意の装置をロボット１に連結することができる。
【００１９】
ロボット１は、駆動軸におけるアーム１２の移動を検出する状態検出器を備える。ロボット制御装置２は、状態検出器の出力により、ロボット１の位置および姿勢を検出する。本実施の形態における状態検出器は、アーム駆動モータ１４に取り付けられた回転位置検出器１５を含む。回転位置検出器１５は、アーム駆動モータ１４が駆動するときの回転位置を検出する。それぞれのアーム駆動モータ１４の回転位置に基づいて、関節部１３におけるアーム１２の姿勢を検出することができる。また、状態検出器は、旋回部１１を駆動する駆動モータに取り付けられた回転位置検出器を含む。旋回部１１の回転位置に基づいて、アーム１２が延びている方向を検出することができる。
【００２０】
本実施の形態のロボットの手動送り装置は、作業者がロボット１を手動で操作する指令を送出する手動操作盤としての教示操作盤３を含む。教示操作盤３は、ロボット制御装置２に接続されている。教示操作盤３は、ロボット制御装置２と通信可能に形成されている。
【００２１】
本実施の形態の教示操作盤３は、教示操作盤３の表示部３３に表示する座標系を選択する座標系選択ボタン３１を含む。作業者が座標系選択ボタン３１を押すことにより、ロボットが駆動しても原点の位置が変化しないロボットの固有のワールド座標系や、ツール先端点を原点としてエンドエフェクタと共に移動するツール座標系等を選択することができる。作業者は、表示部３３に表示される座標値を参考にしながらロボット１を手動で操作することができる。
【００２２】
教示操作盤３は、予め定められた方向にロボット１を駆動できるように形成されている。本実施の形態の教示操作盤３は、選択した座標系において、Ｘ軸方向、Ｙ軸方向およびＺ軸方向にロボット１を動かすことが出来るように形成されている。教示操作盤３は、ロボット１を所望の方向に駆動するためのジョグボタン３２を含む。本実施の形態においては、それぞれの移動軸について、正側に移動させるジョグボタン３２と負側に移動させるジョグボタン３２が配置されている。たとえば、作業者がＸ軸の正側のジョグボタン３２を押すことにより、ロボット１は、選択している座標系においてツール先端点がＸ軸の正側の方向に移動する様に駆動する。
【００２３】
なお、ロボットを手動で操作する手動操作盤としては、教示操作盤に限られず、任意の形態を採用することができる。例えば、手動操作盤がロボット制御装置に内蔵されていても構わない。また、手動操作盤は、ジョグボタンの代わりに、円盤状のつまみを回転させることにより選択した軸の方向にロボットを駆動するジョグダイヤル等を含んでいても構わない。
【００２４】
本実施の形態のロボットシステムは、ロボット１の周りに配置されている物としての架台６および工作機械５を備える。架台６の一部は、後述するように、ロボット１の動作の限界の位置よりも内部の領域に配置されている。また、工作機械５の一部は、ロボット１の動作の限界の位置よりも内部の領域に配置されている。本実施の形態では、架台６および工作機械５は、ロボット１との干渉が生じ得る位置に配置されている。
【００２５】
図３に、本実施の形態におけるロボットシステムのブロック図を示す。図１から図３を参照して、ロボット制御装置２は、バスを介して互いに接続されたＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、およびＲＯＭ（Read Only Memory）等を有する演算処理装置を含む。ロボット制御装置２には、予め入力された動作プログラムに基づいてロボット１を駆動することができる。
【００２６】
ロボット制御装置２は、動作制御部２１を含む。動作制御部２１は、ロボット１およびハンド１７を駆動する動作指令を送出する。動作制御部２１は、ロボット１を駆動するための動作指令をアーム駆動部２２に送出する。アーム駆動部２２は、アーム駆動モータ１４等のモータを駆動する電気回路を含む。アーム駆動部２２は、動作指令に基づいてアーム駆動モータ１４等に電気を供給する。また、動作制御部２１は、ハンド１７を駆動するための動作指令をハンド駆動部２３に送出する。ハンド駆動部２３は、ハンド駆動シリンダ１８に空気を供給するポンプ等を駆動する電気回路を含む。ハンド駆動部２３は、動作指令に基づいてハンド駆動シリンダ１８を駆動するポンプ等に電気を供給する。
【００２７】
図１および図３を参照して、本実施の形態における手動送り装置は、ロボット１の動作が可能な動作可能範囲を算出する干渉計算装置４を備える。ここで、ロボット１の動作可能範囲とは、ロボット１の周りに配置されている物とロボット１またはハンド１７が干渉せずにロボット１が動ける範囲である。
【００２８】
干渉計算装置４は、ＣＰＵおよびＲＡＭ等を含む演算処理装置にて構成されている。干渉計算装置４は、ロボット制御装置２と互いに通信可能に形成されている。ロボット制御装置２と干渉計算装置４との間の通信は、例えばイーサネット（登録商標）などにより実施することができる。なお、ロボット制御装置と干渉計算装置とが１つの演算処理璃装置にて構成されていても構わない。
【００２９】
干渉計算装置４は、任意の情報を記憶する記憶部４４を含む。記憶部４４には、ロボット１およびハンド１７の形状や寸法などのロボット１およびハンド１７に関する情報が予め記憶されている。また、記憶部４４には、ロボット１の周りの物の形状や寸法などのロボット１の周りの物に関する情報が記憶されている。例えば、架台６および工作機械５のの形状は、ロボットの固有のワールド座標系の座標値にて記憶されている。
【００３０】
干渉計算装置４は、現在のロボット１の状態を取得するロボット状態取得部４２を含む。ロボット状態取得部４２は、状態検出器からの信号を、ロボット制御装置２を介して受信する。本実施の形態では、ロボット状態取得部４２は、ロボット１の駆動モータに取り付けられている回転位置検出器１５の信号を取得する。ロボット状態取得部４２は、回転位置検出器１５の出力信号に基づいて、ロボット１の位置および姿勢を算出することができる。なお、ロボット状態取得部４２は、動作制御部２１からアーム駆動部２２に発信される信号を取得して、ロボット１の位置および姿勢を取得しても構わない。
【００３１】
図４に、本実施の形態におけるロボットおよびロボットの周りの物の拡大概略平面図を示す。図４には、現在のロボットの状態におけるツール座標系のＸ軸およびＹ軸が示されている。Ｚ軸は、Ｘ軸およびＹ軸に垂直な方向に延びている。現在のロボット１の状態におけるツール先端点Ｐがツール座標系の原点に相当する。
【００３２】
ロボット１には、ロボット１が届く限界の位置である限界位置７１が設定される。限界位置７１は、例えば、ツール先端点Ｐが最も遠くまで移動できる位置に相当する。限界位置７１の内部の領域では、ロボット１は、任意の位置にツール先端点Ｐを配置することができる。
【００３３】
図４に示す例において、限界位置７１にて設定される領域の内部に架台６の一部および工作機械５の一部が配置されている。このために、ロボット１が駆動すると、ハンド１７やロボット１が架台６または工作機械５と干渉する虞がある。
【００３４】
図３を参照して、干渉計算装置４は、現在のロボット１の状態に基づいて、ロボット１の動作可能範囲を設定する動作範囲設定部４１を含む。本実施の形態における動作範囲設定部４１は、ロボット１が停止している期間中に、動作可能範囲を設定する。動作範囲設定部４１は、動作可能な位置に基づいて動作可能範囲を設定する。
【００３５】
本実施の形態の動作範囲設定部４１は、ロボット１が周りの物（以下、周辺機器と称する）と干渉せずに動作が可能な位置を現在のロボット１の状態から近い順に判定する。例えば、動作範囲設定部４１は、現在のロボット１の位置からＸ軸の正の方向に予め定められた微小距離ＤＬにて移動したときのロボット１の状態を算出する。そして、動作範囲設定部４１は、ロボット１またはハンド１７が周辺機器と干渉するか否かを算出する。例えば、動作範囲設定部４１は、ツール先端点ＰがＸ軸の正側の方向に３ｍｍ移動したときに、工作機械５または架台６と干渉するか否かを計算する。
【００３６】
次に、動作範囲設定部４１は、Ｘ軸の負側の方向、Ｙ軸の正側方向およびＹ軸の負側の方向、およびＺ軸の正側の方向およびＺ軸の負側の方向についても、ロボット１が微小距離にて移動した時にロボット１またはハンド１７が周辺機器と干渉するか否かを算出する。
【００３７】
次に、動作範囲設定部４１は、Ｘ軸の正側の方向に、更に予め定められた微小距離ＤＬにて移動したときに、ロボット１またはハンド１７が周辺機器と干渉するか否かを算出する。すなわち、現在の位置から微小距離ＤＬの２倍の距離にてＸ軸の正側の方向に移動したときに干渉が生じるか否かを算出する。たとえば、動作範囲設定部４１は、ツール先端点ＰがＸ軸の正側の方向に更に３ｍｍ移動したときに、干渉があるか否かを判別する。Ｘ軸の負側の方向、Ｙ軸の正側方向およびＹ軸の負側の方向、およびＺ軸の正側の方向およびＺ軸の負側の方向についても、同様の計算を繰り返す。
【００３８】
このように、それぞれの軸について、現在の位置に近い位置から遠い位置に向かって、ツール先端点Ｐが移動した時に、ロボット１が周辺機器と干渉するか否かを判別する。
【００３９】
この制御は、ロボット１が限界位置７１に到達するまで実施することができる。または、この制御は、それぞれの軸の方向において、ロボット１が移動した時に周辺機器との干渉が生じる距離まで実施することができる。例えば、図４において、ツール先端点ＰがＸ軸の正側の方向に移動した時に、ある程度の距離を移動するとハンド１７が工作機械５に干渉する。動作範囲設定部４１は、干渉が検出された位置より遠くのＸ軸方向の位置については計算を中止する。このように、現在の位置に近い位置から遠い位置に向けて計算することにより、不必要な計算を回避することができる。また、計算時間を短くすることができる。
【００４０】
ところで、ロボット制御装置２は、選定した座標系について、それぞれの軸の周りにハンド１７を回転させる機能を有する場合がある。教示操作盤３のジョグボタン３２には、選定した座標系について、それぞれの軸の周りにハンド１７を回転させるジョグボタンを含む場合がある。このジョグボタンを押すことにより、作業者は、ハンド１７の向きを変更することができる。
【００４１】
ロボット制御装置２が所定の軸の周りにハンド１７を回転させる機能を有する場合には、動作範囲設定部４１は、現在のロボットの位置において、ハンド１７をＸ軸の周りに予め定められた微小角度にて回転したときに干渉が生じるか否かを判別する。回転する方向は、時計回りおよび反時計回りの両方を採用することができる。例えば、動作範囲設定部４１は、Ｘ軸の周りにおいて、ハンド１７を時計回りに３°回転した時に、ロボット１またはハンド１７が周辺機器と干渉するか否かを算出する。動作範囲設定部４１は、Ｘ軸の周りにおいて、ハンド１７を反時計回りに３°回転した時にロボット１またはハンド１７が周辺機器と干渉するか否かを算出する。動作範囲設定部４１は、予め定められた回転角度まで微小角度ごとにハンド１７を回転させて、同様の計算を繰り返す。なお、時計回りに１８０°回転および反時計回りに１８０°回転させても構わない。更に、動作範囲設定部４１は、Ｘ軸と同様に、Ｙ軸の周りおよびＺ軸の周りにハンド１７を回転させた場合についても実施することができる。この制御も、現在のロボットの状態から近い順に判定することができる。
【００４２】
記憶部４４は、動作範囲設定部４１にて判別した位置および姿勢と結果とを記憶する。動作範囲設定部４１は、干渉があるか否かを判別した位置および姿勢と結果とに基づいて、ロボット１の動作可能範囲を設定することができる。動作範囲設定部４１は、干渉が生じない位置および姿勢の範囲を動作可能範囲に設定することができる。ハンド１７の回転動作についても、動作範囲設定部４１は、干渉があるか否かを判別した位置および姿勢と結果とに基づいて、ロボット１の動作可能範囲を設定することができる。
【００４３】
このように、動作範囲設定部４１は、ロボット１の周りの物と干渉せずに動作可能な位置を算出する。動作範囲設定部４１は、動作可能な位置を現在のロボットの状態から近い順に判定することができる。動作範囲設定部４１は、動作可能な位置が配置されている範囲を動作可能範囲に設定することができる。
【００４４】
動作範囲設定部４１は、作業者がジョグボタン３２を押す前に動作可能範囲の計算を実施することができる。また、動作範囲設定部４１は、作業者がジョグボタン３２の押圧を止める度に動作可能範囲の計算を実施することができる。動作可能範囲の計算は、ロボット１が停止する度に実施することができる。作業者がジョグボタン３２を押すことにより、ロボット１の位置および姿勢が変化する。このために、干渉計算装置４は、停止した位置を基準にした動作可能範囲を算出する。
【００４５】
作業者は、教示操作盤３のジョグボタン３２を押すことにより、ロボット１を所望の方向に移動する。例えばＸ軸の正側の方向にロボット１を移動する。ロボット制御装置２の動作制御部２１は、ロボット１が移動する方向を干渉計算装置４に送信する。
【００４６】
干渉計算装置４は、ロボットが動作する方向において動作が許容される範囲を動作制御部２１に送信する。動作が許容される範囲は、動作可能範囲に基づいて設定される。動作制御部２１は、動作が許容される範囲が予め定められた停止判定値よりも小さい場合には、ロボット１を停止させる。停止判定値は、ロボット制御装置２の記憶部４４に予め記憶されている。また、記憶部４４には、停止判定値よりも大きな減速判定値が予め記憶されている。動作制御部２１は、動作が許容される範囲が停止判定値以上であり、減速判定値よりも小さい場合には、ロボットを予め定められた手動操作の速度よりも低い速度で駆動する制御を実施する。
【００４７】
例えば、動作範囲設定部４１は、Ｘ軸の正側の方向に移動する時に、現在のロボット１の位置から許容されるＸ軸の正側の最も遠い位置を動作制御部２１に送信する。動作制御部２１は、移動可能な距離が予め定められた停止判定値未満である場合には、ロボット１を停止させる制御を行う。ロボット１が停止しているときには、ロボット１の停止状態を維持する制御を実施する。動作制御部２１は、移動可能な距離が予め定められた停止判定値以上であり、更に、減速判定値未満である場合には、ロボットを通常の手動操作の速度よりも遅い速度で駆動する制御を行う。
【００４８】
本実施の形態のロボット１の速度を低減する制御またはロボット１を停止する制御は、作業者がジョグボタン３２を押した時に実施することができる。すなわち、ロボット１の手動の操作を開始した時に実施することができる。または、これらの制御は、ロボット１を手動にて操作している期間中に実施することができる。これらの制御を実施することにより、ロボット１を手動で操作している期間中に、ロボット１が周りの物と干渉することを回避することができる。
【００４９】
図４を参照して、干渉計算装置４は、ロボット１の停止期間中に、それぞれの軸についての動作可能範囲の計算を限界位置７１まで実施することが好ましい。ところが、干渉計算装置４が全ての軸について限界位置７１まで動作可能範囲の計算を実施すると時間がかかる場合がある。一方で、ロボット１の停止時間が短いために、干渉計算装置４が限界位置７１まで計算する前にロボット１の駆動が開始する場合がある。干渉計算装置４は、ロボット１の停止期間中に、初期位置まで動作可能範囲を算出する。初期位置は、ロボットが停止しているときに動作可能範囲を算出した位置であり、限界位置よりも現在の位置に近い位置である。
【００５０】
本実施の形態の干渉計算装置４は、ロボット１が動作している期間中にも動作可能範囲を算出し、記憶部４４に記憶されている動作可能範囲を更新する制御を実施する。ロボット状態取得部４２は、ロボット１の手動の操作が開始された後に、現在のロボット１の状態を取得する。動作範囲設定部４１は、ロボット１が動作する方向において、初期位置よりも遠い位置まで動作可能範囲を算出する。
【００５１】
例えば、ハンド１７がＸ軸の正側の方向に移動するように操作している場合には、Ｘ軸の正側の方向において初期位置を超えた位置について、ロボット１が周りの物と干渉せずに動作可能な位置を算出する。この計算も、ロボット１の現在の状態から近い順に実施することができる。記憶部４４は、動作範囲設定部４１が新たに設定した動作可能範囲を記憶する。すなわち、記憶部４４は、動作可能範囲を更新する。
【００５２】
ロボット１の停止時間が短くて動作範囲設定部４１が限界位置７１まで動作可能範囲を算出することができなかった場合に、ロボット１を動かしながら記憶されている動作可能範囲を拡大することができる。または、作業者の指定により、ロボット１の停止期間中に、限界位置７１よりも小さな初期位置までの動作可能範囲を算出する場合がある。この場合にも、記憶されている動作可能範囲を拡大することができる。
【００５３】
更に、ロボット１の周りに配置されている物が動作可能な周辺機器である場合がある。図４を参照して、本実施の形態の工作機械５は、開閉が可能な扉５２を含む。扉５２が開くことにより、ロボット１が工作機械５の内部に侵入することができる。例えば、ロボット１は、工作機械５の筐体の内部に配置されたテーブルの上にワークを配置することができる。扉５２が開いたり閉じたりする状態に応じて、ロボット１の動作可能範囲が変化する。このように、ロボット１の動作可能範囲は、周辺機器の状態に応じて変化する場合がある。
【００５４】
図３を参照して、工作機械５は、工作機械を制御する工作機械制御装置５１を備える。工作機械制御装置５１は、ＣＰＵやＲＡＭ等を含む演算処理装置にて構成されている。ロボット制御装置２および干渉計算装置４と通信できるように形成されている。本実施の形態における干渉計算装置４は、動作可能な周辺機器の状態を取得する周辺状態取得部４３を含む。周辺状態取得部４３は、ロボット１の周りの周辺機器の状態が変化したことを取得する。周辺状態取得部４３は、工作機械制御装置５１の出力により、工作機械５の扉５２の状態を取得する。
【００５５】
動作範囲設定部４１は、周辺状態取得部４３が取得した現在の周辺機器の状態に基づいて動作可能範囲を設定することができる。例えば、工作機械５の扉５２が開いている場合には、扉５２の内部にロボット１が侵入することが許容されるために動作可能範囲が大きくなる。動作範囲設定部４１は、現在の周辺機器の状態に基づいて動作可能範囲を設定する。この制御により、動作範囲設定部４１は、現在の周辺機器の状態に応じて動作可能範囲を変化させることができる。この制御は、ロボット１が停止している期間中に実施することができる。または、この制御は、手動操作を実施している期間中に実施することができる。
【００５６】
本実施の形態の周辺状態取得部４３は、工作機械制御装置５１から出力される扉５２の状態の信号に基づいて周辺機器の状態を取得している。周辺状態取得部４３は、この形態に限られず、ロボット制御装置２とロボット１の周りの周辺機器との通信信号に基づいて周辺機器の状態を取得することができる。周辺状態取得部４３は、ロボット制御装置２の入力信号、出力信号、またはレジスタの値等を検出することができる。例えば、動作制御部２１から工作機械５に送信される扉５２を開く指令の信号に基づいて扉５２の状態を取得することができる。または、工作機械５が扉５２の状態を検出する検出器を含んでいる場合には、周辺状態取得部４３は、検出器の信号に基づいて扉５２の状態を取得することができる。
【００５７】
更に、本実施の形態の周辺状態取得部４３は、ロボット１に取り付けられているエンドエフェクタの状態を取得することができる。本実施の形態のハンド１７は、爪部１７ａが開閉することによりハンド１７の形状が変化する。爪部１７ａが開いた状態における動作可能範囲は、爪部１７ａが閉じた状態における動作可能範囲よりも小さくなる。このために、動作範囲設定部４１は、エンドエフェクタの状態に基づいて、動作可能範囲を設定することができる。この制御により、動作範囲設定部４１は、現在のエンドエフェクタの状態に応じて動作可能範囲を設定することができる。
【００５８】
周辺状態取得部４３は、動作制御部２１から発信されるハンド１７を開閉する信号に基づいてハンド１７の状態を取得することができる。例えば、ワークＷを把持する信号が発信されていない時には、動作範囲設定部４１は、爪部１７ａを閉じた形状に基づいて動作可能範囲を算出することができる。また、ワークＷを把持する信号が発信されているときには、動作範囲設定部４１は、爪部１７ａがワークＷを把持した形状に基づいて動作可能範囲を算出することができる。または、ハンド１７が爪部１７ａの状態を検出する検出器を含んでいる場合には、周辺状態取得部４３は、検出器の信号に基づいてハンド１７の状態を取得することができる。
【００５９】
図５に、本実施の形態におけるロボットの手動送り装置の制御のフローチャートを示す。図５に示す制御は、ロボット１の手動操作の前に開始することができる。また、作業者がジョグボタン３２から手を放して、ロボット１の手動操作を停止したときに実施することができる。
【００６０】
ステップ８１においては、手動操作が実施されているか否かを判別する。すなわち作業者が教示操作盤３のジョグボタン３２を押しているか否かを判別する。ステップ８１において手動操作を実施していない場合には、ステップ８２に移行する。
【００６１】
ステップ８２において、干渉計算装置４は、現在のロボット１の状態を取得する。ステップ８３において、干渉計算装置４は、動作可能範囲を算出して、算出した動作可能範囲を記憶する。この時に、周辺状態取得部４３が周辺機器の状態を取得し、動作範囲設定部４１が周辺機器の状態に基づいて動作可能範囲を設定しても構わない。このように、ロボット１の停止期間中に動作可能範囲を設定する。
【００６２】
ステップ８１において、手動操作を実施している場合には、ステップ８４に移行する。ステップ８４において、ロボット制御装置２の動作制御部２１は、ロボット１の移動方向を干渉計算装置４に送出する。
【００６３】
次に、ステップ８５において、動作範囲設定部４１は、動作可能範囲に基づいて、ロットの移動方向において、動作が許容される範囲を動作制御部２１に送信する。
【００６４】
ステップ８６において、動作制御部２１は、現在のロボット１の位置および姿勢が予め設定された速度にて駆動することが許容される範囲内であるか否かを判別する。ここでは、動作制御部２１は、ロボット１の移動方向において動作が許容される距離が減速判定値未満であるか否かを判別する。
【００６５】
ステップ８６において、現在の位置および姿勢が許容される範囲内である場合には、ステップ８７に移行する。ステップ８７において、干渉計算装置４は、手動操作が完了しているか否かを判定する。本実施の形態では、作業者がジョグボタン３２の押圧を停止したか否かを判定する。ステップ８７において、手動操作が完了している場合には、この制御を終了する。ステップ８７において、手動操作が完了していない場合には、ステップ８８に移行する。
【００６６】
ステップ８８において、周辺状態取得部４３は、現在の周辺機器の状態を取得する。ステップ８９において、ロボット状態取得部４２は、現在のロボット１の状態を取得する。
【００６７】
次に、ステップ９０において、動作範囲設定部４１は、現在のロボット１の状態および周辺機器の状態に基づいて動作可能範囲を算出して、記憶部４４に記憶されている動作可能範囲を更新する。そして、ステップ８５に戻って、同様の制御が実施される。
【００６８】
ステップ８６において、ロボット１の現在の位置および姿勢が許容される範囲内にない場合には、ステップ９１に移行する。
【００６９】
ステップ９１において、現在の位置が減速を実施する範囲内であるか否かを判別する。本実施の形態では、動作制御部２１は、ロボット１の移動方向において動作が許容される距離が停止判定値未満であるか否かを判別する。動作が許容される距離が停止判定値以上である場合には、動作制御部２１は、現在の位置が減速を実施する範囲内であると判別する。この場合には、ステップ９２に移行して、動作制御部２１は、ロボット１の速度を予め定められた手動操作の速度よりも低い速度に設定する。すなわち、動作制御部２１は、ロボット１が動作する速度を低減する制御を実施する。この後に、次に、ステップ８７に移行して、ロボット１の駆動を継続する。
【００７０】
ステップ８５からステップ９２までの制御は、ロボット１が駆動している期間中に繰り返して実施することができる。ステップ８５からステップ９２までの制御は、予め定められた時間間隔ごとに行うことができる。または、ステップ８５からステップ９２までの制御は、ロボット１が予め定められた距離を移動するごとに実施することができる。
【００７１】
ステップ９１において、動作が許容される距離が停止判定値未満である場合に、動作制御部２１は、現在の位置および姿勢がロボット１を停止させる範囲内であると判別することができる。この場合には、ステップ９３に移行して、動作制御部２１は、ロボット１の駆動を禁止する制御を実施する。すなわち、動作制御部２１は、ロボット１を停止する。
【００７２】
なお、ステップ９２またはステップ９３において、ロボットの動作速度を低減した場合やロボットを停止した場合には、例えば、ロボット制御装置２は、表示部に警告を表示する制御を実施することができる。
【００７３】
上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、特許請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【００７４】
１    ロボット
２    ロボット制御装置
３    教示操作盤
４    干渉計算装置
５    工作機械
６    架台
１５    回転位置検出器
１７    ハンド
２１    動作制御部
３２    ジョグボタン
４１    動作範囲設定部
４２    ロボット状態取得部
４３    周辺状態取得部
４４    記憶部
５１    工作機械制御装置
７１    限界位置
【図１】
0006328599.tif 000002
【図２】
0006328599.tif 000003
【図３】
0006328599.tif 000004
【図４】
0006328599.tif 000005
【図５】
0006328599.tif 000006