(57)【要約】【課題】ロボットにかかる負荷が変動する場合に、ロボットの速度が変動する場合であっても、精度よくロボットにかかる外力を検出する。【解決手段】ロボット２と、制御部４と、ロボットに加わる力の大きさを検出するセンサ３と、検出された力の大きさに基づいて、ロボットにより実施される作業においてロボットに作用する負荷とは異なる外力が作用したか否かを判定する判定部６と、外力が作用していない状態で、作業を実施させるために実行される動作プログラムに含まれる１以上の動作命令を実行したときにセンサにより検出される力の大きさを動作命令に対応づけて記憶する記憶部５とを備え、判定部が、外力が作用する可能性のある状態で、制御部により動作プログラムの動作命令が実行されたとき、動作命令に対応づけて記憶部に記憶されている力の大きさと、センサにより検出された力の大きさとに基づいて、外力の有無を判定するロボットシステム１を提供する。【選択図】図１
2018176398.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、
該ロボットを制御する制御部と、
前記ロボットに加わる力の大きさを検出するセンサと、
該センサにより検出された前記力の大きさに基づいて、前記ロボットにより実施される作業において前記ロボットに作用する負荷とは異なる外力が作用したか否かを判定する判定部とを備え、
前記制御部が、前記外力が作用していない状態で、前記作業を実施させるために実行される動作プログラムに含まれる１以上の動作命令を実行したときに前記センサにより検出される前記力の大きさを前記動作命令に対応づけて記憶する記憶部を備え、
前記判定部が、前記外力が作用する可能性のある状態で、前記制御部により前記動作プログラムの前記動作命令が実行されたとき、該動作命令に対応づけて前記記憶部に記憶されている前記力の大きさと、前記センサにより検出された前記力の大きさとに基づいて、前記外力の有無を判定するロボットシステム。
【請求項２】
前記動作プログラムが、前記動作命令に対応して負荷状態記憶命令を含み、
前記記憶部が、前記負荷状態記憶命令が実行されたときに前記センサにより検出された前記力の大きさを記憶する請求項１に記載のロボットシステム。
【請求項３】
前記動作プログラムが、前記動作命令の前後に負荷状態記憶命令を含み、
前記記憶部が、前記動作命令の前後の前記負荷状態記憶命令が実行されたときに前記センサにより検出された前記力の大きさの平均値を記憶する請求項１に記載のロボットシステム。
【請求項４】
前記負荷状態記憶命令が発せられる位置を含む前記ロボットの動作領域を判定領域として設定する判定領域設定部を備え、
前記判定部は、前記ロボットの位置が前記判定領域設定部により設定された前記判定領域外に配置されたときに、前記センサにより検出された前記力の大きさを前記外力と判定する請求項２または請求項３に記載のロボットシステム。
【請求項５】
前記負荷状態記憶命令が発せられる位置を含む前記ロボットの動作領域を判定領域として設定する判定領域設定部を備え、
前記制御部は、前記ロボットの位置が前記判定領域設定部により設定された前記判定領域外に配置されたときに、前記ロボットを停止させる請求項２または請求項３に記載のロボットシステム。
【請求項６】
前記判定領域設定部は、前記記憶部に前記力の大きさを記憶するときに、前記判定領域を設定する請求項４または請求項５に記載のロボットシステム。
【請求項７】
前記判定部が、所定の閾値以上の前記外力が作用したと判定した場合に、前記制御部が前記ロボットの動作を停止する請求項１から請求項６のいずれかに記載のロボットシステム。
【請求項８】
前記判定部が、所定の閾値以上の前記外力が作用したと判定した場合に、その旨を報知する報知部を備える請求項１から請求項７のいずれかに記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムに関するものである。
【背景技術】
【０００２】
従来、ロボットにかかる負荷が変動するロボットシステムにおいて、ロボットに作業者等が接触したことを検出するために、負荷の大きさを検出するセンサを設け、ロボットを動作させたときにセンサにより検出された値を時系列に記憶しておくロボットシステムが知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５５２２４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のロボットシステムは、時系列に検出されたセンサの検出値を規範データとして、実際の動作時にセンサによる検出値と規範データとを比較することによりロボットの状態を判定するものであるため、ロボットの動作速度が変動する場合には、規範データの時間軸と実際の動作の時間軸とがずれてしまい、精度よく判定することができないという不都合がある。
【０００５】
本発明は上述した事情に鑑みてなされたものであって、ロボットにかかる負荷が変動する場合に、ロボットの速度が変動する場合であっても、精度よくロボットにかかる外力を検出することができるロボットシステムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、ロボットと、該ロボットを制御する制御部と、前記ロボットに加わる力の大きさを検出するセンサと、該センサにより検出された前記力の大きさに基づいて、前記ロボットにより実施される作業において前記ロボットに作用する負荷とは異なる外力が作用したか否かを判定する判定部とを備え、前記制御部が、前記外力が作用していない状態で、前記作業を実施させるために実行される動作プログラムに含まれる１以上の動作命令を実行したときに前記センサにより検出される前記力の大きさを前記動作命令に対応づけて記憶する記憶部を備え、前記判定部が、前記外力が作用する可能性のある状態で、前記制御部により前記動作プログラムの前記動作命令が実行されたとき、該動作命令に対応づけて前記記憶部に記憶されている前記力の大きさと、前記センサにより検出された前記力の大きさとに基づいて、前記外力の有無を判定するロボットシステムを提供する。
【０００７】
本態様によれば、ロボットに作業を実施させるために実行される動作プログラムの１以上の動作命令が、外力が作用していない状態で実行されることにより、センサにより検出された力の大きさが動作命令に対応づけて記憶部に記憶される。そして、外力が作用する可能性のある状態で動作プログラムの動作命令が実行されるときに、判定部により当該動作命令に対応する力の大きさが記憶部から読み出されるとともに、その時点でセンサにより検出されている力の大きさとに基づいて外力の有無が判定される。
【０００８】
これにより、ロボットにかかる負荷が変動する場合であっても、各時点での外力を伴わない負荷の大きさと外力を伴う負荷の大きさとを比較して外力の有無を精度よく判定することができる。この場合において、各動作命令が実行される際にセンサによって検出された力の大きさが記憶部に記憶されているので、ロボットの動作速度が変化しても比較対象の力の大きさの時間軸がずれることがなく、精度よく外力を検出することができる。
【０００９】
上記態様においては、前記動作プログラムが、前記動作命令に対応して負荷状態記憶命令を含み、前記記憶部が、前記負荷状態記憶命令が実行されたときに前記センサにより検出された前記力の大きさを記憶してもよい。
このようにすることで、外力が作用していない状態で動作プログラムが実行されると、動作命令によってロボットが動作させられるとともに動作命令に対応して動作プログラム内に含まれている負荷状態記憶命令が実行され、そのときにセンサにより検出されている力の大きさが記憶部に記憶される。
【００１０】
また、上記態様においては、前記動作プログラムが、前記動作命令の前後に負荷状態記憶命令を含み、前記記憶部が、前記動作命令の前後の前記負荷状態記憶命令が実行されたときに前記センサにより検出された前記力の大きさの平均値を記憶してもよい。
このようにすることで、外力が作用していない状態で動作プログラムが実行されると、動作命令によってロボットが動作させられるとともに動作命令の前後に動作プログラム内に含まれている負荷状態記憶命令が実行され、各負荷状態記憶命令の実行時にセンサにより検出されていた力の大きさの平均値が記憶部に記憶される。動作命令による動作の前後において負荷が大きく変化する場合に、平均値を用いることで、ロボットに加わる外力の検出精度を向上することができる。
【００１１】
また、上記態様においては、前記負荷状態記憶命令が発せられる位置を含む前記ロボットの動作領域を判定領域として設定する判定領域設定部を備え、前記判定部は、前記ロボットの位置が前記判定領域設定部により設定された前記判定領域外に配置されたときに、前記センサにより検出された前記力の大きさを前記外力と判定してもよい。
このようにすることで、動作命令と記憶部に記憶されている力の大きさとが対応しない場合に、記憶されている力の大きさを使用して外力を計算すると、逆に誤差が増えるので、記憶部に記憶されている力の大きさを外力の検出に利用する動作領域を判定領域として限定し、ロボットに加わる外力の検出精度を向上することができる。
【００１２】
また、上記態様においては、前記負荷状態記憶命令が発せられる位置を含む前記ロボットの動作領域を判定領域として設定する判定領域設定部を備え、前記制御部は、前記ロボットの位置が前記判定領域設定部により設定された前記判定領域外に配置されたときに、前記ロボットを停止させてもよい。
このようにすることで、動作命令と記憶部に記憶されている力の大きさとが対応しない場合に、記憶されている力の大きさを使用して外力を計算すると、逆に誤差が増えるので、ロボットを停止させることで、外力を精度よく検出できない状態でロボットが動作することを防止することができる。
【００１３】
また、上記態様においては、前記判定領域設定部は、前記記憶部に前記力の大きさを記憶するときに、前記判定領域を設定してもよい。
このようにすることで、記憶部に記憶した力の大きさを利用して外力の検出を行う判定領域を簡易に設定することができる。
【００１４】
また、上記態様においては、前記判定部が、所定の閾値以上の前記外力が作用したと判定した場合に、前記制御部が前記ロボットの動作を停止してもよい。
また、前記判定部が、所定の閾値以上の前記外力が作用したと判定した場合に、その旨を報知する報知部を備えていてもよい。
【発明の効果】
【００１５】
本発明によれば、ロボットにかかる負荷が変動する場合に、ロボットの速度が変動する場合であっても、精度よくロボットにかかる外力を検出することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るロボットシステムを示す模式的な全体構成図である。
【図２】図１のロボットシステムに用いられる動作プログラムの一例を示す図である。
【図３】図１のロボットシステムによる動作の一例であって（ａ）床面に配置されたケーブルを把持している状態、（ｂ）ケーブルを半分持ち上げた状態、（ｃ）ケーブルを全部持ち上げた状態をそれぞれ示す図である。
【図４】図３の動作時にセンサにより検出された力の大きさの時系列変化を示す図である。
【図５】図４の力の大きさと記憶部に記憶された力の大きさとの差分を示す図である。
【図６】図４の変形例を示す図である。
【図７】図５の変形例を示す図である。
【図８】図１のロボットシステムに設定された判定領域を説明する図である。
【発明を実施するための形態】
【００１７】
本発明の一実施形態に係るロボットシステム１について、図面を参照して以下に説明する。
本実施形態に係るロボットシステム１は、安全柵なしに人間とロボット２とが作業エリアを共有して稼働するシステムであって、図１に示されるように、ロボット２と、該ロボット２に作用する力（直交する３軸方向の力および３軸回りのモーメント）の大きさを検出する力センサ（センサ）３と、ロボット２を制御する制御部４と、力センサ３により検出された力の大きさを記憶する記憶部５と、該記憶部５に記憶された力の大きさおよび力センサ３により検出された力の大きさに基づいてロボット２に作用する外力の有無を判定する判定部６とを備えている。
【００１８】
ロボット２は、図１に示す例では直立多関節型ロボットを示しているが、他の任意の形態のロボット２を採用してもよい。
力センサ３は、ロボット２を搭載し、ロボット２にかかる負荷を含む力の大きさを検出するようになっている。ロボット２の先端のエンドエフェクタがワークを把持するハンド７である場合、ハンド７によって把持されたワーク等の重量からなる負荷に加えて、人間等がロボット２に接触した場合に人間等からロボット２に作用する外力を検出することができるようになっている。
【００１９】
制御部４は、プロセッサ（図示略）およびメモリ（図示略）を備え、予め教示された動作プログラムを実行することにより、動作プログラムに含まれている複数の動作命令に従ってロボット２を動作させるようになっている。動作命令には教示点への移動命令等が含まれる。
本実施形態においては、制御部４は、記憶モードおよび実行モードの２つのモードを切り替えて、同一の動作プログラムを実行することができるようになっている。
【００２０】
また、本実施形態においては、動作プログラムに、図２に示されるように複数の動作命令Ａ，Ｂ，Ｃの他、複数の負荷状態命令（負荷状態記憶命令）Ａ１，Ｂ１，Ｃ１が含まれている。負荷状態命令Ａ１，Ｂ１，Ｃ１は、動作プログラム内の複数箇所に挿入されることにより、近接する動作命令Ａ，Ｂ，Ｃに対応して実行されるようになっている。すなわち、動作命令Ａ，Ｂ，Ｃの前後に負荷状態命令Ａ１，Ｂ１，Ｃ１を配置しておくことにより、動作命令Ａ，Ｂ，Ｃによるロボット２の動作の直前および直後に実行されるようになっている。
【００２１】
また、負荷状態命令Ａ１，Ｂ１，Ｃ１は、制御部４が記憶モードでロボット２を制御する際には、力センサ３により検出された力の大きさを記憶部５に記憶する命令として機能し、制御部４が実行モードでロボット２を制御する際には、当該負荷状態命令Ａ１，Ｂ１，Ｃ１が実行された時点において記憶部５に記憶されている力の大きさを用いて外力の有無を判定部６に判定させる命令として機能するようになっている。
【００２２】
記憶部５は、メモリであり、動作プログラムに含まれている複数の負荷状態命令Ａ１，Ｂ１，Ｃ１の実行時に力センサ３により検出された力の大きさを負荷状態命令Ａ１，Ｂ１，Ｃ１に対応づけて、すなわち、負荷状態命令Ａ１，Ｂ１，Ｃ１に対応する動作命令Ａ，Ｂ，Ｃに対応づけて記憶するようになっている。
【００２３】
判定部６は、プロセッサであり、制御部４が実行モードでロボット２を制御させる際に、負荷状態命令Ａ１，Ｂ１，Ｃ１の実行により、当該負荷状態命令Ａ１，Ｂ１，Ｃ１に対応づけて記憶部５に記憶されている力の大きさと、負荷状態命令Ａ１，Ｂ１，Ｃ１が実行された時点で力センサ３により検出された力の大きさとの差分を算出し、差分が所定の閾値を超えた場合に外力が作用していると判定するようになっている。
制御部４は、判定部６により、外力が作用していると判定された場合にはロボット２を停止するようになっている。
【００２４】
このように構成された本実施形態に係るロボットシステム１の作用について以下に説明する。
本実施形態に係るロボットシステム１によれば、操作者は通常の教示操作を行って、動作プログラムを作成する。動作プログラムの作成にあたって、教示点の座標の教示とともに当該教示点への移動、ハンド７の作動等の動作命令Ａ，Ｂ，Ｃを記述する際に、負荷状態命令Ａ１，Ｂ１，Ｃ１を動作命令Ａ，Ｂ，Ｃの前、後あるいは前後に挿入する。
【００２５】
そして、まず、記憶モードに設定して動作プログラムを実行する。このとき、ロボット２に対して人間や他の物体が接触しない環境下で実行する。これにより、ロボット２が、動作命令Ａ，Ｂ，Ｃに従って、教示された複数の教示点に移動しながらハンド７を作動させてワークの把持やハンドリングを行い、この際に、負荷状態命令Ａ１，Ｂ１，Ｃ１が実行されると、その時点で力センサ３により検出されている力の大きさが記憶部５に記憶されていく。
【００２６】
例えば、図３（ａ）から図３（ｃ）に示されるように、ケーブルＷのような長尺のワークをハンドリングする場合を例に挙げて説明する。この場合には、ロボット２にかかる負荷は、図４に示されるように、ケーブルＷの持ち上げ量に従って徐々に変動していく。
【００２７】
ケーブルＷの重量を１０ｋｇとすると、図３（ａ）に示される状態では力センサ３により０ｋｇ、図３（ｂ）に示される状態では力センサ３により５ｋｇ、図３（ｃ）に示される状態では、力センサ３により１０ｋｇと検出される。これら図３（ａ）から図３（ｃ）の状態の各時点で負荷状態命令Ａ１，Ｂ１，Ｃ１が実行されることにより、各時点で力センサ３により検出された力の大きさが記憶部５に記憶される。
【００２８】
記憶モードによる一連の動作プログラムが終了した後に、実行モードに切り替えて、動作プログラムを実行する。これにより、ロボット２は、動作命令Ａ，Ｂ，Ｃに従って、記憶モードにおける動作と同様の動作を繰り返す。この際に、負荷状態命令Ａ１，Ｂ１，Ｃ１が実行されると、その時点で記憶部５に記憶された力の大きさが記憶部５から読み出される。
【００２９】
そして、判定部６において、力センサ３により検出されている力の大きさから、読み出された力の大きさが減算され差分が算出され、差分が所定の閾値より大きいか否か、すなわち、所定以上の外力が作用しているか否かが判定される。例えば、上記例においては、外力は図５に示されるように変動する。負荷状態命令Ａ１，Ｂ１，Ｃ１の設定数を増やすことにより、誤差を低減して外力を精度よく検出することができる。判定部６において、外力が作用していると判定された場合には、制御部４によりロボット２の動作が停止させられる。
【００３０】
この場合において、本実施形態に係るロボットシステム１によれば、ロボット２にかかる負荷が記憶モードにおいて動作プログラム内の動作命令Ａ，Ｂ，Ｃに対応づけられて記憶部５に記憶されるので、実行モードにおいて検出された力の大きさが、記憶部５に記憶されている力の大きさと比較され、その差分によって、外力が作用していることを精度よく検出することができる。特に、上記説明のケーブルＷのような長尺のワークを徐々に持ち上げる動作のように、負荷が徐々に変動していく場合においても、外力が作用していることを精度よく検出することができるという利点がある。
【００３１】
また、ロボット２にかかる負荷を動作命令Ａ，Ｂ，Ｃに対応づけて記憶することで、ロボット２の動作速度が変更されても、力センサ３により検出されるタイミングと記憶部５に記憶されるタイミングとが時間軸方向にずれることがない。したがって、外力を経時的に記憶しておく従来の方法と比較して、ロボット２の動作速度が変動しても、外力が作用していることを精度よく検出することができるという利点がある。
【００３２】
なお、本実施形態に係るロボットシステム１においては、記憶モードにおいて負荷状態命令Ａ１，Ｂ１，Ｃ１が実行された際に力センサ３により検出された力の大きさが動作命令Ａ，Ｂ，Ｃに対応づけられて、自動的に記憶部５に記憶されることとしたが、これに代えて、負荷状態命令Ａ１，Ｂ１，Ｃ１を用いることなく、操作者が適切な値を入力してもよい。
例えば、ロボット２を教示する際に使用する教示操作盤には、力センサ３により検出された力（直交する３軸方向の力および３軸回りのモーメント）の大きさが表示され、操作者は、動作プログラムの動作命令Ａが実行されているときの力の大きさを確認し、適切な値を動作命令Ａに対応する力の大きさとして入力すればよい。
【００３３】
また、記憶モードにおいて動作プログラムを実行させながら負荷状態命令Ａ１，Ｂ１，Ｃ１を実行することで、負荷状態命令Ａ１，Ｂ１，Ｃ１に対応づけて力センサ３により検出された力の大きさを記憶することとしたが、負荷状態命令Ａ１，Ｂ１，Ｃ１を挿入することなく、他の動作命令Ａ，Ｂ，Ｃに対応づけて力の大きさを記憶しておくことにしてもよい。
【００３４】
また、上記実施形態においては、判定部６が、記憶部５に記憶された負荷状態命令Ａ１，Ｂ１，Ｃ１の実行時の力センサ３による検出値と、力センサ３により検出されている検出値との差分を算出して外力の有無を判定した。これに代えて、判定部６による各動作命令Ａ，Ｂ，Ｃの間の判定が、動作命令Ａ，Ｂ，Ｃの前後の負荷状態命令Ａ１，Ｂ１，Ｃ１に対応づけて記憶部５に記憶されている力センサ３による検出値の平均値との差分に基づいて行われることにしてもよい。
【００３５】
すなわち、上記例では、判定部６は、図６に示される平均値を用いることにより、図７に示されるように、外力を算出することができる。これにより、誤差をさらに低減して精度よく外力を検出することができる。
【００３６】
また、本実施形態においては、図８に示されるように、所定の領域（ロボット２の動作領域）を判定領域Ｘとして設定する判定領域設定部（図示略）を備えていてもよい。そして、判定部６はロボット２の位置が判定領域設定部により設定された判定領域Ｘ外に配置されたときに、力センサ３により検出された力の大きさを外力と判定することにしてもよい。
【００３７】
教示や操作ミスによって負荷状態命令Ａ１，Ｂ１，Ｃ１が実行されて記憶された力の大きさが他の動作において使用される場合には外力を適切に検出できないため、判定領域Ｘ外においては記憶された力の大きさを使用しないことにして、外力の検出精度を向上することができる。
【００３８】
また、この場合には、ロボット２が判定領域Ｘ外に配置されたときに制御部４がロボット２を停止させることにしてもよいし、その旨を報知することにしてもよい。また、判定領域Ｘは、記憶モードにおける動作プログラムの実行時にロボット２の動作した領域が自動的に設定されるようにしてもよい。
【００３９】
また、本実施形態においては、判定部６により算出された外力が所定の閾値を超えた場合にロボット２を停止させることとしたが、これに代えて、あるいはこれに加えて、その旨を報知する報知部（図示略）を備えていてもよい。ロボット２への物体の接触を報知することで、操作者を含む周囲の作業者に接触状態を認識させることができる。
【００４０】
また、本実施形態においては、制御部４の外部に判定部６および記憶部５を配置したが、これに限定されるものではなく、制御部４内のプロセッサおよびメモリを判定部６および記憶部５として利用してもよいことは言うまでもない。
【符号の説明】
【００４１】
１  ロボットシステム
２  ロボット
３  力センサ（センサ）
４  制御部
５  記憶部
６  判定部
Ａ，Ｂ，Ｃ  動作命令
Ａ１，Ｂ１，Ｃ１  負荷状態命令（負荷状態記憶命令）
Ｘ  判定領域
【図１】
2018176398.tif 000003
【図２】
2018176398.tif 000004
【図３】
2018176398.tif 000005
【図４】
2018176398.tif 000006
【図５】
2018176398.tif 000007
【図６】
2018176398.tif 000008
【図７】
2018176398.tif 000009
【図８】
2018176398.tif 000010