(58)【調査した分野】(Int.Cl.,DB名)
前記ロボットが停止または減速している場合のみ、前記指令出力部は前記少なくとも一つの偏差パターンに対応する前記動作指令を出力するようにした請求項1に記載の産業用ロボットシステム。
前記記憶部に記憶された前記複数の偏差パターンは、前記偏差の大きさ、連続する二つの前記偏差のピークの間の時間間隔、前記偏差の方向、前記偏差が作用する期間、単位時間内における前記偏差の変化量、所定時間内に作用した前記偏差の回数のうちの少なくとも一つを含む、請求項4に記載の産業用ロボットシステム。
前記複数の偏差パターンは、前記偏差の大きさ、連続する二つの前記偏差のピークの間の時間間隔、前記偏差の方向、前記偏差が作用する期間、単位時間内における前記偏差の変化量、所定時間内に作用した前記偏差の回数のうちの少なくとも一つを含む、請求項9に記載の制御方法。
【背景技術】
【0002】
一般的な産業用ロボットを用いた製造現場においては、安全柵が、ロボットの作業スペースと人間の作業スペースとを互いに分離している。このため、人間がロボットに接触する事故が回避されている。
【0003】
しかしながら、ロボットの作業スペースと人間の作業スペースとを分離できない製造現場や、ロボットの作業スペースと人間の作業スペースとを分離すると生産性が著しく低下する製造現場がある。そのような製造現場においては、安全柵を必要とすることのないロボットシステムを実用化する必要がある。
【0004】
安全柵を使用しない場合には、ロボットが人間を危険にする可能性が高まる。このため、例えばロボットのパワーを制限することによりロボットが人間に衝突したときの衝撃を小さくしている。あるいは、人間とロボットとが接触したときに、ロボットを停止させる場合もある。
【0005】
このような、安全柵を使用することのないロボットシステムにおける作業例は、以下の通りである。なお、以下の例に示される作業スペースにおいては人間とロボットとが協動して作業するものとする。
(1)ロボットが倉庫から作業スペースまで物品を搬入する。
(2)作業スペースにおいて、ロボットが人間に物品を渡す。
(3)物品を搬入するためにロボットが倉庫まで移動する。
【0006】
従来のロボットシステムにおいては工程(2)から工程(3)に進む際に、スイッチ等でロボット制御装置の外部入力を操作する必要があった。しかしながら、近年では、人間がロボット本体に対して外力を与えることにより、ロボットに動作指令を与えるようにしている。
【0007】
特許文献1においても、マニピュレータに外力を加えることにより、マニピュレータに動作指令を与えることが開示されている。具体的には、特許文献1においては、操作者が特定の規則的なパターンでマニピュレータに力を与えると、そのことがマニピュレータのセンサを通じて認識される。そして、マニピュレータの制御部が、特定の規則的なパターンに応じて定まる動作命令をマニピュレータに出力する。
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1の構成では、ロボットと人間または周辺機器とが意図せずに互いに衝突した場合には、そのことを検出できない。このため、ロボットの動作によって人間が危険になる事態が起こりうる。
【0010】
本発明はこのような事情に鑑みてなされたものであり、人間の安全を確保することのできる産業用ロボットシステムおよびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
前述した目的を達成するために1番目の発明によれば、 ロボットと、該ロボットに作用する外力を検出する力検出部と、前記ロボットの動作に関する情報から前記力検出部に作用する外力を力推定値として推定する力推定部と、前記力検出部の情報から得られる該ロボットに作用する力検出値と前記力推定値との間の偏差を算出する偏差算出部と、前記偏差と第一閾値とを比較する比較部と、前記比較部によって前記偏差が第一閾値よりも大きいと判定された場合には、前記ロボットに対して退避動作指令、停止指令、減速指令、または減速停止指令を出力する指令出力部と、前記偏差の規則性を有する複数の偏差パターンを記憶する記憶部と、具備し、前記偏差が前記少なくとも一つの偏差パターンを含む場合には、前記指令出力部は前記偏差パターンに対応する動作指令を出力
し、前記偏差パターンは、人間が規則的または意図的に前記ロボットに付与する外力のモードである、産業用ロボットシステムが提供される。
2番目の発明によれば、1番目の発明において、前記ロボットが停止または減速している場合のみ、前記指令出力部は前記少なくとも一つの偏差パターンに対応する前記動作指令を出力するようにした。
3番目の発明によれば、1番目または2番目の発明において、前記力検出部は、第一力検出部と、第二力検出部から構成され、前記力推定部は、前記ロボットの動作に関する情報から前記第一力検出部に作用する外力を第一力推定値として推定する第一力推定部と、前記ロボットの動作に関する情報から前記第二力検出部に作用する外力を第二力推定値として推定する第二力推定部とから構成され、前記偏差算出部は、前記第一力検出部の情報から得られる該ロボットに作用する第一力検出値と前記第一力推定値との間の第一偏差を算出する第一偏差算出部と、前記第二力検出部の情報から得られる該ロボットに作用する第二力検出値と前記第二力推定値との間の第二偏差を算出する第二偏差算出部とから構成され、前記比較部は、前記第一偏差と第一閾値とを比較すると共に、前記第一偏差と前記第二偏差とを比較する第一比較部と、前記第二偏差と前記第一閾値とを比較すると共に、前記第二偏差と前記第一偏差とを比較する第二比較部とから構成され、前記指令出力部は、前記第一比較部によって前記第一偏差が前記第一閾値よりも大きいと判定された場合または前記第一偏差と前記第二偏差との間に一定以上差があると判定された場合には、前記ロボットに対して停止指令、減速指令、または減速停止指令を出力する第一指令出力部と、前記第二比較部によって前記第二偏差が前記第一閾値よりも大きいと判定された場合または前記第二偏差と前記第一偏差との間に一定以上差があると判定された場合には、前記ロボットに対して前記停止指令、前記減速指令、または前記減速停止指令を出力する第二指令出力部とから構成される。
4番目の発明によれば、1番目から3番目のいずれかの発明において、さらに、前記ロボットのプログラムと前記ロボットの現在の状況とを比較する第三比較部と、該第三比較部によって前記ロボットのプログラムと前記ロボットの現在の状況とが異なると判定された場合には、前記ロボットに対して前記停止指令、前記減速指令、または前記減速停止指令を出力する第三指令出力部と、偏差についての規則性を有する複数の偏差パターンと該複数の偏差パターンのそれぞれに対応する前記ロボットの動作指令とを関連づけて記憶する記憶部と、偏差が前記第一閾値と該第一閾値よりも小さい第二閾値との間にある場合または偏差が前記第一閾値よりも大きい場合には、偏差と前記記憶部に記憶された前記複数の偏差パターンとを比較する第四比較部と、該第四比較部によって偏差が前記複数の偏差パターンのうちの少なくとも一つの共通の偏差パターンを含むと判定された場合には、該少なくとも一つの偏差パターンに対応する前記ロボットの動作指令を出力する第四指令出力部とを具備する。
5番目の発明によれば、4番目の発明において、前記記憶部に記憶された前記複数の偏差パターンは、前記偏差の大きさ、連続する二つの前記偏差のピークの間の時間間隔、前記偏差の方向、前記偏差が作用する期間、単位時間内における前記偏差の変化量、所定時間内に作用した前記偏差の回数のうちの少なくとも一つを含む。
6番目の発明によれば、力検出部により前記ロボットに作用する外力を検出し、前記ロボットの動作に関する情報から前記力検出部に作用する外力を力推定値として推定し、前記力検出部の情報から得られる該ロボットに作用する力検出値と前記力推定値との間の偏差を算出し、前記偏差と第一閾値とを比較し、前記偏差が第一閾値よりも大きいと判定された場合には、前記ロボットに対して退避動作指令、停止指令、減速指令、または減速停止指令を出力し、前記偏差が記憶部に記憶された複数の偏差パターンのうち、少なくとも一つの偏差パターンを含む場合には、前記偏差パターンに対応する動作指令を出力
し、前記偏差パターンは、人間が規則的または意図的に前記ロボットに付与する外力のモードである、産業用ロボットシステムの制御方法が提供される。
7番目の発明によれば、6番目の発明において、前記ロボットが停止または減速している場合のみ、前記少なくとも一つの偏差パターンに対応する前記動作指令を出力するようにした。
8番目の発明によれば、6番目または7番目の発明において、外力の検出においては、ロボットに取付けられている第一力検出部と第二力検出部により検出し、力推定値の推定においては、前記ロボットの動作に関する情報から前記第一力検出部に作用する外力を第一力推定値として推定し、さらに、前記ロボットの動作に関する情報から前記第二力検出部に作用する外力を第二力推定値として推定し、偏差の算出においては、前記第一力検出部の情報から得られる該ロボットに作用する第一力検出値と前記第一力推定値との間の第一偏差を算出し、さらに、前記第二力検出部の情報から得られる該ロボットに作用する第二力検出値と前記第二力推定値との間の第二偏差を算出し、偏差の比較においては、前記第一偏差と第一閾値とを比較すると共に、前記第一偏差と前記第二偏差とを比較し、さらに、前記第二偏差と前記第一閾値とを比較すると共に、前記第二偏差と前記第一偏差とを比較し、前記第一偏差が第一閾値よりも大きいと判定された場合または前記第一偏差と前記第二偏差との間に一定以上差があると判定された場合には、前記ロボットに対して停止指令、減速指令、または減速停止指令を出力し、前記第二偏差が前記第一閾値よりも大きいと判定された場合または前記第二偏差と前記第一偏差との間に一定以上差があると判定された場合には、前記ロボットに対して前記停止指令、前記減速指令、または前記減速停止指令を出力する。
9番目の発明によれば、6番目から8番目のいずれかの発明において、ロボットのプログラムと前記ロボットの現在の状況とを比較し、前記ロボットのプログラムと前記ロボットの現在の状況とが異なると判定された場合には、前記ロボットに対して前記停止指令、前記減速指令、または前記減速停止指令を出力し、偏差が前記第一閾値より小さくて前記第二閾値よりも大きい場合または偏差が前記第一閾値よりも大きい場合には、前記偏差と前記偏差についての規則性を有する複数の偏差パターンとを比較し、前記偏差が前記複数の偏差パターンのうちの少なくとも一つの共通の偏差パターンを含むと判定された場合には、該少なくとも一つの偏差パターンに対応する前記ロボットの動作指令を出力する。
10番目の発明によれば、9番目の発明において、前記複数の偏差パターンは、前記偏差の大きさ、連続する二つの前記偏差のピークの間の時間間隔、前記偏差の方向、前記偏差が作用する期間、単位時間内における前記偏差の変化量、所定時間内に作用した前記偏差の回数のうちの少なくとも一つを含む。
11番目の発明によれば、1番目の発明において、前記偏差パターンは、外力の大きさ、連続する二つの外力のピークの間の時間間隔、外力が作用する期間、単位時間における外力の変化量、所定時間内に作用した外力の回数のうちの少なくとも一つを含む。
12番目の発明によれば、6番目の発明において、前記偏差パターンは、外力の大きさ、連続する二つの外力のピークの間の時間間隔、外力が作用する期間、単位時間における外力の変化量、所定時間内に作用した外力の回数のうちの少なくとも一つを含む。
【発明の効果】
【0012】
1番目、6番目の発明においては、ロボットと人間または周辺機器とが互いに衝突し第一偏差が第一閾値よりも大きくなった場合に、例えば退避動作を行わせたり、停止および/または減速させられるロボットにおいて、第一偏差が偏差パターンを含む場合に、その偏差パターンに対応した動作指令を出力する。衝突時に人間の安全が確保可能なロボットに対し、ロボットに外力パターンを与えることで直接動作指令を与えることができる。
2番目、7番
目の発明においては、ロボットが停止または減速した場合にのみ、人間は所望の偏差パターンをなす外力をロボットに与えて、偏差パターンに対応する動作指令を出力させられる。このため、人間が所望の偏差パターンをなす外力を与えることにより、ロボットを起動させられる。また、ロボットが一定速度で移動または加速しているときには、人間は、所望の偏差パターンをなす外力を与えられない。従って、人間の安全をさらに確保することができる。
3番目、8番目の発明において、ロボットと人間または周辺機器とが互いに衝突し第一偏差または第二偏差が第一閾値よりも大きくなった場合にロボットを停止および/または減速させることができ、さらに第一力検出部または第二力検出部が故障して第一偏差と第二偏差とが所定量以上異なる場合にも、ロボットを停止および/または減速させられる。このような制御は、第一力推定部に関連づけられた第一指令出力部および第二力推定部に関連づけられた第一指令出力部および第二力推定部に関連づけられた第二指令出力部の両方において行われる。このため、冗長性を確保した状態で、人間等に対する衝突および力検出部の故障を検出して、ロボットを停止および/または原則させられるので、人間の安全を確保することができる。
第一偏差および第二偏差の両方が偏差パターンを含む場合にのみ、その偏差パターンに対応した動作指令を出力し、第一偏差および第二偏差の一方のみが偏差パターンを含む場合および第一偏差および第二偏差の両方が偏差パターンを含まない場合には、動作指令を出力しない。従って、冗長性を確保した状態で、人間等に対する衝突および力検出部の故障を検出してロボットを停止および/または減速させ人間の安全を確保するロボットにおいて、偏差パターンを動作指令としてロボットに与えてもロボットが誤動作する可能性が小さく人間の安全を確保することができる。なお、第一偏差および第二偏差を偏差パターンと比較する場合には、所定時間に亙って記憶された第一偏差および第二偏差を使用してもよい。
4番目、9番目の発明においては、ロボットのプログラムと現在の状況とを比較し、プログラム通りではない場合にもロボットを停止および/または減速させられるので、例えばロボットが暴走した場合にロボットを停止させることができ、さらに人間の安全を確保することができる。
5番目および10番目の発明においては、様々な偏差パターンを採用できるので、緻密な動作指令を出力することができる。
【0013】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれら目的、特徴および利点ならびに他の目的、特徴および利点がさらに明解になるであろう。
【発明を実施するための形態】
【0015】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図1は、本発明の第一の実施形態における産業用ロボットシステムを示す機能ブロック図である。
図1に示される産業用ロボットシステム1は、産業用ロボット10(以下、単に「ロボット10」と呼ぶ)と、該ロボット10を制御するロボット制御装置20とを主に含んでいる。産業用ロボットシステム1においては、協調作業を行うために人間9とロボット10とが互いに近位の位置に在る。
【0016】
図1においては、ロボット10は少なくとも一つの軸のためのサーボモータと、該サーボモータに連動する機構部とを有している。典型的な実施形態においては、ロボット10は六軸垂直多関節ロボットであり、六つの軸のための六つのサーボモータを有している。これらサーボモータのそれぞれには、角度検出器15、例えばエンコーダが備えられている。
図1においては、複数の角度検出器のうちの一つの角度検出器15が代表として示されている。なお、図面には示さないものの、ロボットアームの先端には把持ハンドまたは工具が備えられているものとする。
【0017】
図1に示されるように、床部L上にロボット10のロボット支持部11が配置されている。ロボット支持部11上には、ロボット10の本体が設置されている。そして、第一力センサ12および第二力センサ13がロボット支持部11に互いに隣接して配置されている。これら力センサ12、13は、弾性体に加わる歪み量を歪みゲージにより検出し、三方向の力と三軸回りのトルクを検出することのできる同じタイプの六軸力センサである。第一力センサ12および第二力センサ13は、ロボット支持部11またはロボット10に作用する外力の情報を、例えば外力に応じた抵抗値[Ω]や電圧値[V]、もしくは力[N]としてそれぞれ検出する。
【0018】
これら第一力センサ12および第二力センサ13は、ロボット10の底部に位置するロボット支持部11に取付けられている。このため、ロボット10の姿勢や、外力がロボット10に加わる場所および方向に関わらず、第一力センサ12および第二力センサ13はロボット10に作用する外力を効率的に検出できる。
本実施形態ではロボット10に作用する外力を検出するためにロボット10の底部に位置するロボット支持部11にセンサ12、13が取付けられている。しかしながら、ロボット10に作用する外力を検出できれば、センサ12、13の取付位置は前述したものに限られず、また他の手法で検出してもよい。
【0019】
図1に示されるロボット制御装置20はデジタルコンピュータであり、第一CPU51と第二CPU52とを含んでいる。図示されるように、第一CPU51は、ロボット10の動作に関する情報から第一力センサ12に作用する外力を第一力推定値F1’として公知の手法で推定する第一力推定部21を含んでいる。同様に、第二CPU52は、ロボット10の動作に関する情報から第二力センサ13に作用する外力を第二力推定値F2’として公知の手法で推定する第二力推定部22を含んでいる。
【0020】
第一力センサ12および第二力センサ13に作用する外力はロボット10の動作に関する情報に応じて変化する。そのような情報は、例えばロボット10の質量、ロボット10が把持ハンドを備えている場合には把持されるべきワークの質量、ロボット10の各軸の姿勢および各軸の加速度などである。ロボット10の質量およびワークの質量は既知である。ロボット10の各軸の姿勢および各軸の加速度などは複数の角度検出器15の検出値から求められる。第一力推定部21および第二力推定部22はこのようなロボット10の動作に関する情報に基づいて、第一力推定値F1’および第二力推定値F2’をそれぞれ算出する。
【0021】
さらに、第一CPU51は、第一力検出部12の情報から得られる、ロボット支持部11に作用する第一力検出値F1と第一力推定値F1’との間の第一偏差ΔF1を算出する第一偏差算出部23aを含んでいる。同様に、第二CPU52は、第二力検出部13の情報から得られる、ロボット支持部11に作用する第二力検出値F2と第二力推定値F2’との間の第二偏差ΔF2を算出する第二偏差算出部23bを含んでいる。
【0022】
さらに、第一CPU51は、第一偏差ΔF1と第一閾値Faとを比較すると共に、第一偏差ΔF1と第二偏差ΔF2とを比較する第一比較部31と、第一比較部31によって第一偏差ΔF1が第一閾値Faよりも大きい場合または第一偏差ΔF1と第二偏差ΔF2との間に一定以上差があると判定された場合に、ロボット10に対して停止指令、減速指令、または減速停止指令を出力する第一指令出力部41とを含んでいる。なお、第一閾値Faおよび後述する第二閾値Fbは実験等により予め求められるものとする。
【0023】
同様に、第二CPU52は、第二偏差ΔF2と第一閾値Faとを比較すると共に、第二偏差ΔF2と第一偏差ΔF1とを比較する第二比較部32と、第二比較部32によって第二偏差ΔF2が第一閾値Faよりも大きいと判定された場合または第二偏差ΔFと第一偏差ΔF1との間に一定以上差があると判定された場合には、ロボット10に対して停止指令、減速指令、または減速停止指令を出力する第二指令出力部42とを含んでいる。
【0024】
ロボット制御装置20は、ロボット10のプログラム24とロボット10の現在の状況とを比較する第三比較部33と、第三比較部33によってロボット10のプログラム24とロボット10の現在の状況とが異なると判定された場合には、ロボット10に対して停止指令、減速指令、または減速停止指令を出力する第三指令出力部43とを含んでいる。なお、第一指令出力部41、第二指令出力部42および第三指令出力部43で出力される停止指令、減速指令、または減速停止指令はそれぞれ同様であるものとする。
あるいは、第三比較部33および第三指令出力部43の代わりに、第一CPU51が、ロボット10のプログラム24とロボット10の現在の状況を比較する第三比較部#1と、第三比較部#1によってロボット10のプログラム24とロボット10の現在の状況とが異なると判定された場合にはロボット10に対して停止指令、減速指令、または減速停止指令を出力する第三指令出力部#1との役目を果たしても良い。同様に、第二CPU52が、ロボット10のプログラム24とロボット10の現在の状況を比較する第三比較部#2と、第三比較部#2によってロボット10のプログラム24とロボット10の現在の状況とが異なると判定された場合にはロボット10に対して停止指令、減速指令、または減速停止指令を出力する第三指令出力部#2との役目を果たしても良い。
【0025】
さらに、ロボット制御装置20は、第一偏差ΔF1および第二偏差ΔF2についての規則性を有する複数の偏差パターンと該複数の偏差パターンのそれぞれに対応するロボット10の動作指令とを関連づけて記憶する記憶部25と、第一偏差ΔF1および第二偏差ΔF2の両方が第一閾値Faより小さくて第二閾値Fbよりも大きい場合には、第一偏差ΔF1および第二偏差ΔF2と記憶部25に記憶された複数の偏差パターンとを比較する第四比較部34と、第四比較部34によって第一偏差ΔF1および第二偏差ΔF2の両方が複数の偏差パターンのうちの少なくとも一つの共通の偏差パターンを含むと判定された場合には、該少なくとも一つの偏差パターンに対応するロボット10の動作指令を出力する第四指令出力部44とを含んでいる。
あるいは、第四比較部および第四指令出力部44の代わりに、第一CPU51が、第一偏差ΔF1と記憶部25に記憶された複数の偏差パターンとを比較する第四比較部#1の役目を果たしても良い。同様に、第二CPU52が、第二偏差ΔF2と記憶部25に記憶された複数の偏差パターンとを比較する第四比較部#2の役目を果たしても良い。さらに、第一CPU51および第二CPU52のそれぞれは、第4比較部#1と第4比較部#2とによって第一偏差ΔF1および第二偏差ΔF2の両方が複数の偏差パターンのうちの少なくとも一つの共通の偏差パターンを含むと判定された場合に、該少なくとも一つの偏差パターンに対応するロボット10の動作指令を出力する第四指令出力部#1、#2としての役目を果たしても良い。
【0026】
ここで、偏差パターンとは、人間9がロボット10を規則的または意図的にタップまたは押圧することによりロボット10に付与される外力のモードである。偏差パターンは、外力の大きさ、連続する二つの外力のピークの間の時間間隔、外力の方向、外力が作用する期間、単位時間における外力の変化量、所定時間内に作用した外力の回数のうちの少なくとも一つを含んでいる。
【0027】
図2は偏差、例えば第一偏差ΔF1と時間との関係を示す図である。なお、第二偏差ΔF2も
図2と概ね同様な挙動を示しうる。
図2においては、第一閾値Faも示されている。
図2においては、第一偏差ΔF1の挙動を示す実線B0は、第一閾値Faを越える三つのピークA1、A2、A3を順次含んでいる。
【0028】
図2から分かるように、偏差パターンのうちの外力の大きさは、ピークA1、A2、A3の第一閾値Faからの最大高さを意味している。また、連続する二つの外力のピークの間の時間間隔は、例えば二つのピークA1、A2が第一閾値Faを越え始めたときの時刻t1、t3との間の時間間隔t3−t1を意味する。さらに、外力が作用する期間とは、例えばピークA1が第一閾値Faを越えている間の時間、つまり期間t2−t1を意味する。さらに、単位時間における外力の変化量は、ピークA3を参照して分かるように、或る時刻における実線B0の傾きである。所定時間内に作用した外力の回数は、所定時間において第一閾値Faを越えた回数、つまりピークの数であり、
図2の例においては3回である。また、外力の方向とは、人間9がロボット10に外力を与える方向であり、例えば下方向または上方向などである。
【0029】
本発明においては、このような偏差パターンのそれぞれは、ロボット10の動作指令に予め関連付けられている。従って、人間9が所定の偏差パターンを意図的にロボット10に与えることにより、所望の動作指令を出力させ、ロボット10にその動作を行わせることができる。本発明では、様々な偏差パターンを採用できるので、緻密な動作指令を出力することができるのが分かるであろう。
【0030】
図3Aおよび
図3Bは
図1に示される産業用ロボットシステムの制御方法を示すフローチャートである。
図3Aおよび
図3Bに示される動作は所定の制御周期毎に繰返し行われるものとする。以下、
図1、
図3Aおよび
図3Bを参照しつつ、本発明の産業用ロボットシステム1の制御方法について説明する。
【0031】
図3Aから分かるように、本発明においては、第一CPU51における処理と第二CPU52における処理とが並列して行われるものとする。ステップS11において、第一力センサ12がロボット10に作用する外力の情報を取得する。そして、その情報からロボット支持部11に作用する第一力検出値F1を求める。さらに、ステップS12において、第二力センサ13がロボット10に作用する外力の情報を取得する。そして、その情報からロボット支持部11に作用する第二力検出値F2を求める。
【0032】
そして、ステップS13において、第一力推定部21が第一力センサ12に作用する外力を第一力推定値F1’として推定し、ステップS14において、第二力推定部22が第二力センサ13に作用する外力を第二力推定値F1’として推定する。なお、第一力検出値F1および第二力検出値F2ならびに推定された第一力推定値F1’および第二力推定値F2’は時間に関連づけられて記憶部25に順次記憶されるものとする。
【0033】
さらに、ステップS15においては、第一偏差算出部23aは、第一力検出部12の情報から得られるロボット支持部11に作用する第一力検出値F1から第一力推定値F1’を減算して第一偏差ΔF1を算出する。同様に、ステップS16においては、第二偏差算出部23bは、第二力検出部13の情報から得られるロボット支持部11に作用する第二力検出値F2から第二力推定値F2’を減算して第二偏差ΔF2を算出する。
【0034】
次いで、ステップS17において第一比較部31は、第一偏差ΔF1と第一閾値Faを比較すると共に、第一偏差ΔF1と第二偏差ΔF2とを比較して第一偏差ΔF1と第二偏差ΔF2との間の差が所定量F0以上大きいかを判定する。ここで、
図4は第一偏差と時間との関係を示す図である。
図4に示される第一偏差ΔF1の挙動を示す実線B1は時刻taにおいて、第一閾値Faを越えている。なお、
図4には示さないものの、第二偏差ΔF2も概ね同様な挙動を示しうる。
【0035】
ステップS17において、第一偏差ΔF1が第一閾値Faよりも大きい場合には、例えばロボット10が予期せずに動作して、ロボット10と人間9または周辺機器とが互いに衝突している可能性が高い。また、第一偏差ΔF1と第二偏差ΔF2との間の差が所定量F0以上に大きい場合には、第一力センサ12および第二力センサ13のうちのいずれかが故障している可能性が高い。従って、第一偏差ΔF1が第一閾値Faよりも大きい場合または第一偏差ΔF1と第二偏差ΔF2との間の差が所定量F0以上に大きい場合には、ステップS19に進む。
【0036】
ステップS19においては、第一指令出力部41は、ロボット10に所定の停止指令、所定の減速指令または所定の減速停止指令を出力する。これにより、ロボット10は停止および/または減速するようになり、人間9の安全が確保される。なお、停止指令は、ロボット10の各モータを非励磁状態にする停止指令、またはロボット10の各モータを励磁状態にする停止指令のいずれであってもよい。
【0037】
また、ステップS19においては、停止指令、減速指令または減速停止指令のうちのいずれが出力されてもよく、他のステップにおいても同様である。例えば操作者は、停止指令、減速指令または減速停止指令のうちの所望の指令が出力されるように予め設定できる。あるいは、ロボット10の現在の速度を参照して、速度が上限値よりも大きい場合には減速指令を出力し、速度が下限値よりも小さい場合には停止指令を出力し、速度が上限値と下限値との間にある場合には減速停止指令を出力してもよい。いずれにせよ、ステップS19において、第一指令出力部41は、ロボット10の速度を小さくするための指令を出力するものとする。なお、後述する第二指令出力部42および第三指令出力部43も同様である。
【0038】
また、ステップS18において、第二比較部32は、第二偏差ΔF2と第一閾値Faとを比較すると共に、第二偏差ΔF2と第一偏差ΔF1とを比較して第二偏差ΔF2と第一偏差ΔF1との間の差が所定量以上大きいかを判定する。
【0039】
そして、ステップS18において第二偏差ΔF2が第一閾値Faよりも大きい場合には、例えばロボット10が予期せずに動作して、ロボット10と人間9または周辺機器とが互いに衝突している可能性が高い。また、第二偏差ΔF2と第一偏差ΔF1との間の差が所定量F0以上の差がある場合には、第二力センサ13および第一力センサ12のうちのいずれかが故障している可能性が高い。従って、第二偏差ΔF2が第一閾値Faよりも大きい場合または第二偏差ΔF2と第一偏差ΔF1との間の差が所定量F0以上に大きい場合には、ステップS20に進む。
【0040】
ステップS20においては、第二指令出力部42は、ロボット10に所定の停止指令、所定の減速指令または所定の減速停止指令を前述したように出力する。これにより、ロボット10は停止および/または減速するようになり、人間9の安全が確保される。
【0041】
このように、本発明においては、ロボット10と人間9または周辺機器とが互いに衝突し第一偏差1ΔFまたは第二偏差ΔF2が第一閾値Faよりも大きくなった場合にロボット10を停止および/または減速させられる。さらに第一力検出部12または第二力検出部13が故障して第一偏差ΔF1と第二偏差ΔF2との間の差が所定量F0以上異なる場合にも、ロボット10を停止および/または減速させられる。
【0042】
このような制御は、第一力推定部21に関連づけられた第一指令出力部41を含む第一CPU51および第二力推定部22に関連づけられた第二指令出力部42を含む第二CPU52において並列して行われる。言い換えれば、
図3Aから分かるように、第一CPU1においてステップS11、S13、S15、S17およびS19が行われ、第二CPU52においてステップS12、S14、S16、S18およびS20が行われるようにしている。
【0043】
従って、本発明では二重化されたCPU51、52により前述した制御が行われる。このため、本発明においては、冗長性を確保した状態で、人間9等に対する衝突および力検出部12、13の故障を検出して、ロボット10を停止および/または減速させられる。その結果、人間9の安全を確保することが可能となっている。
【0044】
ここで、本発明においては、ロボット10を停止および/または減速させるために第一偏差Δ1および第二偏差Δ2の両方が第一閾値Faよりも大きいことを要求していない。このため、第一力センサ12および第二力センサ13のうちのいずれか一方が故障したとしても、ロボットを確実に停止または減速させられる。
【0045】
ここで、ロボット10が或る範囲においてのみ動作するようにロボット10の各軸の動作領域がプログラム24によって制限されている場合がある。そのような場合には、ステップS21において、ロボット10の各軸の角度検出器15により検出された値を用いてロボット10の現在位置Pcが算出される。そして、第三比較部33はロボット10のプログラム24を参照して、ロボット10の現在位置Pcがプログラム24で制限された動作領域外か否かを判定する。
【0046】
ロボット10の現在位置Pcが動作領域外である場合にはロボット10が異常状態であると判断できる。このような場合には、ステップS22に進んで、第三指令出力部43は、ロボット10に所定の停止指令、所定の減速指令または所定の減速停止指令を出力する。これにより、ロボット10は停止および/または減速するようになり、人間9の安全が同様に確保される。
【0047】
なお、ステップS21において、ロボット10の現在位置Pcを算出する代わりに、複数の角度検出器15の検出値を用いてロボット10の各軸の動作速度を算出してもよい。この場合には、ロボット10の各軸の動作速度が所定速度より大きい場合に、ロボット10が異常状態であるものと判断する。
【0048】
また、ロボット10の現在位置Pcが動作領域外でない場合にはステップS23に進む。この場合には、ロボット10が正常に動作していると判断できるので、ステップS23においては、第三指令出力部43はロボット10に動作継続指令を出力する。この場合には、プログラム24の記載の通りにロボット10が動作するものとする。
【0049】
次いで、ステップS24に進み、第四比較部34は第一偏差ΔF1が第一閾値Faと第一閾値Faよりも小さい第二閾値Fbとの間にあるか否かを判定すると共に、第二偏差ΔF2が第一閾値Faと第二閾値Fbとの間にあるか否かを判定する。そして、第一偏差ΔF1および第二偏差ΔF2の両方が第一閾値Faと第二閾値Fbとの間にある場合には、ステップS25に進む。これに対し、第一偏差ΔF1および第二偏差ΔF2のうちの少なくとも一方が第一閾値Faと第二閾値Fbとの間に無い場合には、後述する動作指令を出力することなしに処理を終了する。
【0050】
ステップS25においては、第四比較部34は、第一偏差ΔF1および第二偏差ΔF2と記憶部25に記憶された複数の偏差パターンとを比較する。なお、偏差パターンと比較される第一偏差ΔF1および第二偏差ΔF2は必ずしも単一の値である必要はなく、所定の時間間隔に亙って時系列で記憶部25に記憶された複数の値であってもよい。
【0051】
そして、ステップS25において、第一偏差ΔF1および第二偏差ΔF2の両方が共通の少なくとも一つの偏差パターンを含む場合には、例えば人間9がロボット10を手で規則的または意図的に押圧することにより、偏差パターンをなす外力を与えていると判断できる。このような場合には、ステップS26に進み、第四指令出力部44は、前述した偏差パターンに対応する動作指令を出力する。
【0052】
ここで、
図5は第一偏差と時間との関係を示す他の図である。なお、第二偏差ΔF2も
図5に示したのと概ね同様な挙動を示しうる。
図5に示される第一偏差ΔF1の挙動を示す実線B2は時刻tbと時刻tcとの間において、第二閾値Fbよりも大きくて、第一閾値Faよりも小さい。そして、実線B2は時刻tbと時刻tcとの間において三つのピークA1、A2、A3を含んでいる。
【0053】
図5に示される例においては、時刻tbと時刻tcとの間において、三つのピークが出現している。記憶部25において、例えばピークの数が3回である場合に関連付けられている動作指令が記憶されている場合には、第四指令出力部44はその動作指令を出力する。
図5に示される例においては、偏差パターンとして所定時間内に作用した外力の回数が使用されているが、他の偏差パターンを使用してもよい。
【0054】
このように、本発明では、第一偏差Δ1および第二偏差Δ2の両方が共通の偏差パターンを含む場合にのみ、その偏差パターンに対応した動作指令を出力する。これに対し、第一偏差Δ1および第二偏差Δ2の一方のみが偏差パターンを含む場合または第一偏差Δ1および第二偏差Δ2の両方が偏差パターンを含まない場合には、動作指令を出力することなしに、処理を終了する。従って、ロボット10が誤動作する可能性は小さくなり、人間9の安全を確保することができる。
【0055】
また、第四指令出力部44から出力される動作指令は、例えばロボット10が停止または減速している状態から行う所定の動作である。この場合には、ロボット10が停止または減速していると共に第一偏差ΔF1および第二偏差ΔF2の両方が少なくとも一つの共通の偏差パターンを含む場合にのみ、偏差パターンに対応する動作指令を出力させてもよい。この場合には、人間9が停止または減速しているロボット10に対して所望の偏差パターンをなす外力を与えることにより、ロボット10を起動させられる。このため、ロボット10が動作開始することを周囲に知らせるために、音や光を出力する出力部(図示しない)を備えるのが好ましい。また、このような場合には、ロボット10が一定速度で移動または加速しているときに人間9が所望の偏差パターンをなす外力を与えたとしても、動作指令は出力されない。つまり、人間9が移動または加速しているロボット10に所望の偏差パターンをなす外力を与えることがなくなり、結果的に人間9の安全を確保することができる。
【0056】
あるいは、第四指令出力部44から出力される動作指令は、前述したロボット10の停止指令、減速指令または減速停止指令を含んでいても良い。そのような動作指令は、ロボット10が予期せずに動作しているときに人間9が直接的にロボット10を停止等させられるので有利である。言い換えれば、この場合には、第四指令出力部44を、非常停止スイッチとして機能させられる。
【0057】
あるいは、第四指令出力部44から出力される動作指令は、第一閾値Faを、これより小さい他の第一閾値Fa’に所定時間だけ変更する指令であってもよい。ここで、
図6は第一偏差と時間との関係を示すさらに他の図である。
図6においては、第一偏差ΔF1の挙動を示す実線B3が表されている。
図6には示さないものの、第二偏差ΔF2も概ね同様な挙動を示しうる。
【0058】
図6に示される三つのピークを検出した後の時刻tdにおいて、ピークの数が3回である場合に関連付けられた動作指令が出力される。この動作指令は、ロボット10を停止状態から動作開始させる指定である。
【0059】
一般に、ロボット10が動作開始した直後の所定時間内においては、ロボット10と人間9や周辺機器とが互いに衝突するのを高感度で検出するのが好ましい。このため、
図6に示される例における動作指令は、第一閾値Faを第一閾値Fa’まで所定時間だけ低下させる指令をさらに含んでいる。なお、第一閾値Fa’は第二閾値Fbより大きいものとする。
【0060】
このような場合には、ロボット10が動作開始した直後の所定時間内においてのみ、ロボット10と人間9等とが互いに衝突するのを高感度で検出できる。すなわち、この所定時間内に第一閾値Faよりは小さいものの、第一閾値Fa’よりは大きいピークA4が検出された場合に、ロボット10に停止指令、減速指令または減速停止指令を出力し、人間9の安全をさらに確保することができる。また、この所定時間内に人間9が過誤によりロボット10を押圧した場合にも、ロボット10を即座に停止させることも可能である。
【0061】
ところで、
図7は本発明の第二の実施形態に基づく産業用ロボットシステムの制御方法を示すフローチャートの一部分である。第二の実施形態においては、
図3BのステップS24の代わりに
図7のステップS24’が使用され、残りのステップは第一の実施形態と同様である。
【0062】
従って、第二の実施形態における産業用ロボットシステム1について、第一の実施形態との相違点を主に述べる。ステップS24’においては、第四比較部34は、第一偏差ΔF1および第二偏差ΔF2の両方が第一閾値Faよりも大きいか否かのみを判定する。
【0063】
ここで、
図8は第一偏差と時間との関係を示す別の図である。
図8には第一偏差ΔF1の挙動を示す実線B4が表されている。
図8には示さないものの、第二偏差ΔF2も概ね同様な挙動を示しうる。
図8に示されるように第一偏差ΔF1が第一閾値Faよりも大きく、なお且つ第二偏差ΔF2も第一閾値Faよりも大きい場合には、ステップS25に進む。ステップS25においては、第四比較部34は、第一偏差ΔF1および第二偏差ΔF2と記憶部25に記憶された複数の偏差パターンとを比較する。
【0064】
第一偏差ΔF1および第二偏差ΔF2の両方が共通の少なくとも一つの偏差パターンを含む場合には、人間9がロボット10を例えば手で規則的または意図的に押圧することにより、偏差パターンをなす外力を与えていると判断できる。このような場合には、ステップS26に進み、第四指令出力部44は、偏差パターンに対応する動作指令を前述したように出力する。第二の実施形態においては第一の実施形態と同様な効果が得られることに加えて、第二閾値Fbを設定する必要がないので、第一の実施形態よりも簡易であるのが分かるであろう。
【0065】
さらに、図示しない実施形態においては、第一偏差ΔF1および第二偏差ΔF2が複数の共通の偏差パターンを含む場合に、共通の偏差パターンに対応する動作指令を出力しないようにしてもよい。つまり、
図3BのステップS24〜S26および
図7のステップS24’〜S26を省略することも可能である。あるいは、図示しない別の実施形態においては、ステップS21〜ステップS22のみを省略してもよい。
また、
図1に示される第一力検出部12と第二力検出部13とをまとめて力検出部として利用してもよく、第一力検出部12および第二力検出部13をそれぞれ独立した力検出部として利用してもよい。同様に、第一力推定部21と第二力推定部22とをまとめて力推定部として利用しても、これらを独立して利用してもよい。同様に、第一偏差算出部23aと第二偏差算出部23bとをまとめて偏差算出部として利用しても、これらを独立して利用してもよい。同様に、第一比較部31および第二比較部32をまとめて比較部として利用しても、これらを独立して利用してもよい。同様に、第一指令出力部41と第二指令出力部42とをまとめて指令出力部として利用しても、これらを独立して利用してもよい。そのような場合であっても、本発明の範囲に含まれる。
【0066】
典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、前述した変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。また、前述した実施例を適宜組み合わせることは本発明の範囲に含まれる。