(57)【要約】  ロボットシステムの監視装置は、ロボットに働く外力を検出する外力検出部と、ロボットの所定部分が所定エリア内に存在するか否かを判定するエリア判定部と、エリア判定部によりロボットの所定部分が所定エリア内に存在すると判定された場合に、少なくともロボットに働く外力の監視を含む第１の監視基準で衝突を検知するとともに、エリア判定部によりロボットの所定部分が所定エリア内に存在しないと判定された場合に外力の監視を含まない第２の監視基準で衝突を検知する力監視部と、力監視部により衝突が検知された場合にはロボット(２)の停止信号を生成し、これを制御装置に供給する停止信号生成部と、を備える。
2017094240.tif 000002
【特許請求の範囲】
【請求項１】
１以上の関節軸、及び、その関節軸を駆動させるサーボモータを有するロボットと、前記ロボットの動作範囲において所定のエリアを予め設定し、前記ロボットの動作を制御する制御装置と、を備えるロボットシステムの監視装置であって、  前記ロボットに働く外力を検出する外力検出部と、  前記ロボットの前記所定部分が前記所定エリア内に存在するか否かを判定するエリア判定部と、  前記エリア判定部により前記ロボットの前記所定部分が所定エリア内に存在すると判定された場合に、少なくとも前記ロボットに働く外力の監視を含む第１の監視基準で衝突を検知するとともに、前記エリア判定部により前記ロボットの前記所定部分が所定エリア内に存在しないと判定された場合に前記外力の監視を含まない第２の監視基準で衝突を検知する力監視部と、  前記力監視部により衝突が検知された場合には前記ロボットの停止信号を生成し、これを前記制御装置に供給する停止信号生成部と、を備える、  ロボットシステムの監視装置。
【請求項２】
前記力監視部は、前記エリア判定部により前記ロボットの前記所定部分が前記所定エリア内に存在しないと判定された場合には、前記ロボットに働く外力の微分値に比例した衝撃力の監視を含む前記第２の監視基準で衝突を検知する、請求項１に記載のロボットシステムの監視装置。
【請求項３】
前記各サーボモータの回転角度位置を検出する位置センサと、  前記位置センサで検出された前記各サーボモータの回転角度位置に基づいて、前記ロボットの動作速度を演算する速度演算部と、  前記エリア判定部により前記ロボットの前記所定部分が前記所定エリア内に存在すると判定された場合に、前記ロボットの動作速度が第１速度を超えているか否かを監視し、前記エリア判定部により前記ロボットの前記所定部分が前記所定エリア内に存在しないと判定された場合に、前記ロボットの動作速度が前記第１速度よりも高い第２速度を超えているか否かを監視する速度監視部と、を更に備え、  前記停止信号生成部は、前記エリア判定部により前記ロボットの前記所定部分が前記エリア内に存在し、且つ前記速度監視部により前記ロボットの動作速度が前記第１速度を超えていると判定された場合、又は、前記エリア判定部により前記ロボットの前記所定部分が前記エリア内に存在せず、且つ前記速度監視部により前記ロボットの動作速度が前記第２速度を超えていると判定された場合には前記ロボットの停止信号を生成し、これを前記制御装置に供給する、請求項１又は２に記載のロボットシステムの監視装置。
【請求項４】
前記ロボットの動作範囲において予め複数の前記エリアが設定されている、請求項１又は２に記載のロボットシステムの監視装置。
【請求項５】
前記複数の所定エリアにおいては、前記第１監視基準と前記第１速度との少なくとも一方が前記各エリア毎に異なる、請求項４に記載のロボットシステムの監視装置。
【請求項６】
前記各サーボモータに流れる電流値を検出する電流センサを更に備え、  前記外力検出部は、  前記電流センサで検出された前記各サーボモータを流れる電流値をトルク値に変換する電流トルク変換部と、  前記各サーボモータの駆動に必要な駆動トルクを推定する駆動トルク推定部と、  前記電流トルク変換部で変換されたトルク値と前記駆動トルクの推定値との差を外乱トルクとして演算する外乱トルク演算部と、  前記外乱トルク演算部で演算された外乱トルク値を用いて前記ロボットに働く外力を演算する外力演算部と、を備える、請求項１又は２に記載のロボットシステムの監視装置。   
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ロボットシステムの監視装置に関する。
【背景技術】
【０００２】  従来、ロボットを監視するための様々な技術が開発されている。例えば特許文献１及び特許文献２には、ロボットのアームの先端に力センサを設け、力センサで検出された情報に基づいてロボットの異常を監視する技術が開示されている。また、特許文献３及び特許文献４には、ロボットの動作範囲において所定エリアを設定し、所定エリアでロボットの動作速度の異常を監視する技術が開示されている。【０００３】  ところで、近年では、生産性向上の観点から、ロボットと作業者が同じ作業空間内で共同して作業を行うことが提案されている。そのため、安全性の観点から、例えば特許文献５には、ロボットの動作範囲において所定エリアを設定し、所定エリア内に人間が入ったことを検知してロボットを低速で動作させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−２５１３９４号公報
【特許文献２】特開平０７−２２３１９０号公報
【特許文献３】特表２００１−５２５２６３号公報
【特許文献４】特開２００８−０２２５９０号公報
【特許文献５】特表２０１５−５２６３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】  しかし、従来のロボットの監視技術では、衝突を検知する際の監視基準が全エリアで共通であり、必ずしもロボットと作業者の共同作業に最適とは言えないことがあった。このため、人の周囲では低速で作業するようなロボットの監視技術として共同作業に適したものが求められるという課題があった。【０００６】  そこで本発明は、人と共存して作業するロボットシステムの監視装置においてロボットと作業者の共同作業により適した衝突検知をすることを目的とする。
【課題を解決するための手段】
【０００７】  本発明の一態様に係るロボットシステムの監視装置は、１以上の関節軸、及び、その関節軸を駆動させるサーボモータを有するロボットと、前記ロボットの動作範囲において所定のエリアを予め設定し、前記ロボットの動作を制御する制御装置と、を備えるロボットシステムの監視装置であって、前記ロボットに働く外力を検出する外力検出部と、前記ロボットの前記所定部分が前記所定エリア内に存在するか否かを判定するエリア判定部と、前記エリア判定部により前記ロボットの前記所定部分が所定エリア内に存在すると判定された場合に、少なくとも前記ロボットに働く外力の監視を含む第１の監視基準で衝突を検知するとともに、前記エリア判定部により前記ロボットの前記所定部分が所定エリア内に存在しないと判定された場合に前記外力の監視を含まない第２の監視基準で衝突を検知する力監視部と、前記力監視部により衝突が検知された場合には前記ロボットの停止信号を生成し、これを前記制御装置に供給する停止信号生成部と、を備える。【０００８】  上記構成によれば、例えば作業者とロボットとが共存して作業を行うロボットシステムにおいて、ロボットが人と衝突する可能性の高い低速動作エリア（第１速度）と可能性の低い高速動作エリア（第２速度）とで監視基準が異なるので、衝突を適切に検知できる。これにより、衝突を検知した後は、制御装置（例えばロボットコントローラ）によりロボットの動作を停止することができるので、ロボットと作業者の共同作業により適したものとなる。【０００９】  前記力監視部は、前記エリア判定部により前記ロボットの前記所定部分が前記所定エリア内に存在しないと判定された場合には、前記ロボットに働く外力の微分値に比例した衝撃力の監視を含む前記第２の監視基準で衝突を検知してもよい。【００１０】  上記構成によれば、例えば人と衝突する可能性の低い高速動作エリアでロボットが人に衝突したとしても迅速に衝突を検知することができる。これにより、ロボットと作業者の共同作業にさらに適したものとなる。【００１１】  上記ロボットシステムの監視装置は、前記各サーボモータの回転角度位置を検出する位置センサと、前記位置センサで検出された前記各サーボモータの回転角度位置に基づいて、前記ロボットの動作速度を演算する速度演算部と、前記エリア判定部により前記ロボットの前記所定部分が前記所定エリア内に存在すると判定された場合に、前記ロボットの動作速度が第１速度を超えているか否かを監視し、前記エリア判定部により前記ロボットの前記所定部分が前記所定エリア内に存在しないと判定された場合に、前記ロボットの動作速度が前記第１速度よりも高い第２速度を超えているか否かを監視する速度監視部と、を更に備え、前記停止信号生成部は、前記エリア判定部により前記ロボットの前記所定部分が前記エリア内に存在し、且つ前記速度監視部により前記ロボットの動作速度が前記第１速度を超えていると判定された場合、又は、前記エリア判定部により前記ロボットの前記所定部分が前記エリア内に存在せず、且つ前記速度監視部により前記ロボットの動作速度が前記第２速度を超えていると判定された場合には前記ロボットの停止信号を生成し、これを前記制御装置に供給しても��い。【００１２】  上記構成によれば、例えば人と衝突する可能性の低い高速動作エリアでは、ロボットを高速で動作させることにより、その能力を最大限発揮させ、且つ、仮に衝突が検知されたとしても怪我をするリスクが低いような速度で運転されているか否かを監視することができる。一方、人と衝突する可能性の高い低速動作エリアでは、衝突検知から停止までの堕走運転でロボットが衝突した人の部位に押し込まれないような速度で運転されているか否かを監視することができる。つまり、力監視に加えて速度監視により、ロボットとその周辺で作業する作業者の共同作業における利便性が更に向上する。【００１３】  前記ロボットシステムの監視装置は、前記ロボットの動作範囲において予め複数の前記エリアが設定されていてもよい。【００１４】  上記構成によれば、例えば人と衝突する可能性の高い低速動作エリアを、作業エリアの広さや形状に応じて柔軟且つ適切に設定できるので、ロボットとその周辺で作業する作業者の共同作業における利便性が更に向上する。【００１５】  前記複数の所定エリアにおいては、前記第１監視基準と前記第１速度との少なくとも一方が前記各エリア毎に異なってもよい。例えば人と衝突する可能性の高い低速動作エリアでは、衝突検知から停止までの堕走運転でロボットが衝突した人の部位に押し込まれないような速度で運転されるが、監視基準（例えば動作速度や外力の閾値）は衝突するリスクを想定する部位に依存する。例えば衝突するリスクのある部位が手か胴体かで重さや危険度も異なるため、設定すべき速度も異なる。【００１６】  上記構成によれば、監視基準（例えば速度や外力の閾値）が各エリア毎に異なるので、ロボットとその周辺で作業する作業者の共同作業における利便性が更に向上する。【００１７】  上記ロボットシステムの監視装置は、前記各サーボモータに流れる電流値を検出する電流センサを更に備え、前記外力検出部は、前記電流センサで検出された前記各サーボモータを流れる電流値をトルク値に変換する電流トルク変換部と、前記各サーボモータの駆動に必要な駆動トルクを推定する駆動トルク推定部と、前記電流トルク変換部で変換されたトルク値と前記駆動トルクの推定値との差を外乱トルクとして演算する外乱トルク演算部と、前記外乱トルク演算部で演算された外乱トルク値を用いて前記ロボットに働く外力を演算する外力演算部と、を備えてもよい。【００１８】  上記構成によれば、力センサを用いることなく、モータ電流値に基づいてロボットに働く外力を計算するので、安価且つ高精度に衝突を検知することができる。これにより、ロボットとその周辺で作業する作業者の共同作業における利便性が更に向上する。
【発明の効果】
【００１９】  本発明によれば、人と共存して作業するロボットシステムの監視装置においてロボットと作業者の共同作業により適した衝突検知をすることができる。【００２０】  本発明の上記目的、他の目的、特徴、及び利点は、添付図面参照の下、以下の好適な実施態様の詳細な説明から明らかにされる。
【図面の簡単な説明】
【００２１】
【図１】図１は、第１実施形態に係る監視装置を備えるロボットシステムの全体構成を示すブロックダイアグラムである。
【図２】図２は、図１の監視装置の具体的構成を示すブロックダイアグラムである。
【図３】図３は、図１のロボットの関節構造を模式的に示す図である。
【図４】図４は、図３のロボットの構成を示す平面図である。
【図５】図５は、図１の制御装置のロボット制御の流れを示すフローチャートである。
【図６】図６は、図２の監視装置の力監視処理の流れを示すフローチャートである。
【図７】図７は、第２実施形態に係る監視装置の構成を示すブロックダイアグラムである。
【図８】図８は、図７の監視装置の速度監視処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２２】  本発明の実施の形態について、図面を参照しつつ説明する。以下では、全ての図面を通じて同一又は相当する要素には同じ符号を付して、重複する説明は省略する。（第１実施形態）［ロボットシステム］  図１は、第１実施形態に係る監視装置を備えるロボットシステムの全体構成を示すブロックダイアグラムである。図１に示すように、ロボットシステム１は、ロボット２と、制御装置３と、監視装置４を備える。本実施形態のロボットシステム１は、ロボット２と作業者が同じ作業エリアで共同して作業を行うためのものである。このため、ロボットシステム１は、周辺の作業者の安全を確保するために監視装置４を備える。
【００２３】  ロボット２は、１以上の関節軸Ｊと、その関節軸を駆動させるサーボモータＭを備える。各サーボモータＭを駆動する電流を検出する電流センサ５、各サーボモータＭの回転を制動するブレーキ（図示せず）、及び、各サーボモータＭの回転角度位置を検出するエンコーダ等の位置センサＥがそれぞれ設けられる。ここで回転角度位置とは、各サーボモータＭの関節座標系における各関節軸Ｊの角度の位置である（以下では、関節軸角度位置ともいう）。
【００２４】  制御装置３は、ロボット２とケーブルＬ（太字で図示）を介して接続される。ここでケーブルＬは関節軸ＪのサーボモータＭやブレーキ等に電源を供給するための電源ライン、サーボモータＭに取り付けられた位置センサＥからのセンサ信号を受信するための信号ライン等が含まれる。また、制御装置３は監視装置４と通信ケーブル（図示しない）を介して接続される。ここで通信ケーブルは、例えばＲＳ４２２等のシリアル通信用のケーブルである。制御装置３は、通信ケーブルを介して、監視装置４に監視信号を供給するとともに、監視装置４から停止信号を受信したときにはロボット２の動作を停止させる停止機能を備える。
【００２５】  制御装置３は、演算処理器６、サーボアンプ７、メモリ、入出力インタフェース、通信インタフェース等を備えたロボットコントローラである。演算処理器６は、エリア設定部６１と、電流指令値生成部６２と、駆動トルク推定部６３を備える。ここで各部（６１〜６３）は、演算処理器６において、所定のプログラムが実行されることによって、実現される機能ブロックである。エリア設定部６１は、ロボット２の動作範囲において所定のエリアを予め設定する。所定エリアの設定は、例えばロボット２の基準座標系に基づいて設定される。電流指令値生成部６２は、予め定められた位置指令値と位置センサからの関節軸角度位置に基づいて電流指令値を演算し、サーボアンプ７に出力する。サーボアンプ７は、サーボモータＭに対応して設けられ、与えられる電流指令値に基づいて電流を発生し、ケーブルＬを介して発生した電流をサーボモータＭに供給する。つまり、各サーボアンプ７は電流指令値に応じてサーボモータＭの駆動電流を発生する増幅器である。このように制御装置３は、位置指令値に基づいて各関節軸Ｊに設けられたサーボモータＭを位置制御することにより、ロボット２の動作を制御するように構成される。本実施形態では、制御装置３は、ロボット２のエリア制御を行う。具体的には、制御装置３は、ロボット２の所定部分（例えば手先部分）が所定エリア内に存在する場合には、ロボット２の動作速度（最大速度）が第１速度以下になるようにロボット２の動作を制御し、ロボット２の所定部分が所定エリア内に存在しない場合には、ロボット２の動作速度（最大速度）が第１速度よりも高い第２速度以下になるようにロボット２を制御する。
【００２６】  駆動トルク推定部６３は、位置センサＥにより算出された関節軸角度位置から、ロボット２の関節軸ＪのサーボモータＭを駆動するのに必要な駆動トルクを推定する。駆動トルク推定部６３は、本実施形態では、重力トルク、慣性力トルク、及び摩擦力トルクをそれぞれ算出し、これらを加算することにより、駆動トルクの推定値を算出する。ここで重力トルクは各リンクの重量分に打ち勝って姿勢を維持するためのトルクである。慣性力トルクはリンクの慣性分に打ち勝つために必要なトルクである。摩擦力トルクは減速機の摩擦分に打ち勝つために必要なトルクである。この駆動トルク推定値は、電流センサ５で検出されたセンサ電流値及び位置センサＥで検出された関節軸角度位置を含むセンサ信号とともに、監視信号として制御装置３から監視装置４に送信される。［監視装置］  監視装置４は、ロボットシステム１においてロボット２の動作を監視して衝突を検知するように構成される。監視装置４は、制御装置３からロボット２の監視信号を受信し、衝突を検知した場合には、制御装置３に停止信号を供給する。監視装置４は、ロボット２とともに作業を行う作業者の安全性を向上させるために、制御装置３から独立して設けられる。例えば制御装置３と監視装置４は一つの筐体の中に収容される。
【００２７】  監視装置４は、ロボット２に働く外力を検出する外力検出部１０と、位置センサＥで検出された各サーボモータＭの回転角度位置に基づいて、ロボット２の所定部分が所定エリア内に存在するか否かを判定するエリア判定部１１と、エリア判定部１１によりロボット２の所定部分が所定エリア内に存在すると判定された場合に、少なくともロボット２に働く外力の監視を含む第１の監視基準で衝突を検知するとともに、エリア判定部１１によりロボット２の所定部分が所定エリア内に存在しないと判定された場合に外力の監視を含まない第２の監視基準で衝突を検知する力監視部１２と、力監視部１２により衝突が検知された場合にはロボット２の停止信号を生成し、これを制御装置３に供給する停止信号生成部１３と、を備える。ここで監視装置４は、１以上のプロセッサ、メモリ、入出力インタフェース、通信インタフェース等を備えたコンピュータである。監視装置４は、管理者により、衝突検知の際の閾値を任意の値に調整可能な構成を備える。各部（１０〜１３）は、プロセッサにおいて、所定のプログラムが実行されることによって、実現される機能ブロックである。
【００２８】  次に、監視装置４の具体的な構成について図２のブロックダイアグラムを用いて説明する。図２に示すように、外力検出部１０は、電流トルク変換部３０と、外乱トルク演算部３１と、外力演算部３２を備える。電流トルク変換部３０は、電流センサ５で検出された各サーボモータＭを流れるセンサ電流値をトルク値に変換する。ここでは監視信号に含まれるセンサ電流値が、通信ケーブルを介して制御装置３から監視装置４に送信され、電流トルク変換部３０に入力される。電流トルク変換部３０は、入力されたセンサ電流値をトルク値に変換し、これを外乱トルク演算部３１に出力する。外乱トルク演算部３１は、電流トルク変換部３０で変換されたトルク値と駆動トルクの推定値との差を外乱トルクとして演算する。ここで駆動トルク推定値は、駆動トルク推定部６３（図１参照）で演算された後に、監視信号として、通信ケーブルを介して制御装置３から監視装置４に送信され、外乱トルク演算部３１に入力される。尚、本実施形態では、制御装置３が駆動トルク推定部６３を備えたが、監視装置４が駆動トルク推定部６３を備えてもよい。外乱トルク演算部３１は、本実施形態では、加減算器３３を備える。加減算器３３は、電流トルク変換部３０から入力される各サーボモータＭのトルク値から、駆動トルク推定部６３から入力される駆動トルク推定値を減算して外乱トルクを算出し、これを外力演算部３２に出力する。外力演算部３２は、外乱トルク演算部３１で演算された外乱トルク値を用いてロボット２に働く外力を演算し、これを力監視部１２に出力する。
【００２９】  エリア判定部１１は、位置センサＥで検出された各サーボモータＭの回転角度位置に基づいて、ロボット２の所定部分が所定エリア内に存在するか否かを判定する。ここでは監視信号に含まれる各サーボモータＭの回転角度位置が、通信ケーブルを介して制御装置３から監視装置４に送信され、エリア判定部１１に入力される。エリア判定部１１は、各サーボモータＭの回転角度位置及び予め設定された各リンクの長さや形状等の情報に基づいて、ロボット２の３次元モデルを生成する。エリア判定部１１は、ロボット２の３次元モデルの所定部分（例えば手先部分）が所定エリア内に存在するか否かを判定し、判定結果を力監視部１２に出力するように構成されている。
【００３０】  力監視部１２は、エリア内衝突判定部３４と、衝撃力演算部３５と、エリア外衝突判定部３６とを備える。エリア内衝突判定部３４は、エリア判定部１１によりロボット２の所定部分が所定エリア内に存在すると判定された場合に、少なくともロボット２に働く外力の監視を含む第１の監視基準で衝突を検知する。本実施形態では、エリア内衝突判定部３４は、外力演算部３２から入力された外力の値｜ｆｄ｜が予め設定された第１閾値ｆｔｈ１を超えたか否かを判定し、第１閾値ｆｔｈ１を超えたときにロボット２が衝突したと判定して衝突検知信号を生成し、これを停止信号生成部１３に出力するように構成されている。本実施形態では第１閾値ｆｔｈ１は１００Ｎに設定される。第１閾値ｆｔｈ１との比較対象である外力の値｜ｆｄ｜は外力ｆｄのスカラ値である。
【００３１】  衝撃力演算部３５は、ロボット２に働く衝撃力を演算する。本実施形態では、衝撃力演算部３５は、外力演算部３２から入力された外力の値ｆｄの微分値に比例した値ｆ’ｄをロボット２に働く衝撃力として演算し、これをエリア外衝突判定部３６に出力する。エリア外衝突判定部３６は、エリア判定部１１によりロボット２の所定部分が所定エリア内に存在しないと判定された場合には、ロボット２に働く衝撃力の監視を含む第２の監視基準で衝突を検知する。エリア外衝突判定部３６は、衝撃力演算部３５から入力されたロボット２に働く衝撃力の値｜ｆ’ｄ｜が予め設定された第２閾値ｆｔｈ２を超えたか否かを判定し、第２閾値ｆｔｈ２を超えたときにロボット２が衝突したと判定して衝突検知信号を生成し、これを停止信号生成部１３に出力するように構成されている。第２閾値ｆｔｈ２との比較対象である衝撃力の値｜ｆ’ｄ｜は外力ｆ’ｄのスカラ値である。
【００３２】  停止信号生成部１３は、力監視部１２から衝突検知信号が入力された場合にはロボット２の停止信号を生成し、これを制御装置３に出力する。［ロボット］  次に、ロボット２の具体的な構成について図面を用いて説明する。図３は、ロボット２の関節構造を模式的に示す図である。本実施形態のロボット２は同軸双腕型の水平多関節ロボットである。図３に示すように、左アーム２Ｌは、回転関節軸である第１関節軸Ｊ１、第２関節軸Ｊ２及び第３関節軸Ｊ３と、並進（直動）関節軸である第４関節軸Ｊ４を有する。右アーム２Ｒは、回転関節軸である第１関節軸Ｊ１、第２関節軸Ｊ２及び第３関節軸Ｊ３と、並進（直動）関節軸である第４関節軸Ｊ４を有する。
【００３３】  右アーム２Ｒは、支持部材２１Ｒ、第１右リンク２２Ｒ、第２右リンク２３Ｒ、第３右リンク２４Ｒ及び右エンドエフェクタ２５Ｒが関節軸によって連結されて構成される。右アーム２Ｒでは、基台２０の上面に支持部材２１Ｒが設けられ、水平に延在する第１右リンク２２Ｒの一端部が基台２０に鉛直な回転軸線を有する第１関節軸Ｊ１を介して支持部材２１Ｒと連結される。第１右リンク２２Ｒの他端部は、鉛直な回転軸線を有する第２関節軸Ｊ２を介して第２右リンク２３Ｒの一端と連結される。第２右リンク２３Ｒは水平に延在する。第２右リンク２３Ｒの他端部は、鉛直な回転軸線を有する第３関節軸Ｊ３を介して第３右リンク２４Ｒの一端と連結される。第３右リンク２４Ｒは水平に延在する。第３右リンク２４Ｒの他端部には、鉛直な並進方向を有する第４関節軸Ｊ４を介して右エンドエフェクタ２５Ｒが連結される。
【００３４】  左アーム２Ｌは、支持部材２１Ｌ、第１左リンク２２Ｌ、第２左リンク２３Ｌ、第３左リンク２４Ｌ及び左エンドエフェクタ２５Ｌが関節軸によって連結されて構成される。左アーム２Ｌでは、右アーム２Ｒの第１右リンク２２Ｒの上面に支持部材２１Ｌが設けられ、水平に延在する第１左リンク２２Ｌの一端部が鉛直な回転軸線を有する第１関節軸Ｊ１を介して支持部材２１Ｌに連結される。左アーム２Ｌの第１関節軸Ｊ１は、その回転軸線が右アーム２Ｒの第１関節軸Ｊ１の回転軸線と一致するように配置される。第１左リンク２２Ｌの他端部は、鉛直な回転軸線を有する第２関節軸Ｊ２を介して第２左リンク２３Ｌの一端と連結される。第２左リンク２３Ｌは水平に延在する。第２左リンク２３Ｌの他端部は、鉛直な回転軸線を有する第３関節軸Ｊ３を介して第３左リンク２４Ｌの一端と連結される。第３左リンク２４Ｌは水平に延在する。第３左リンク２４Ｌの他端部には、鉛直な並進方向を有する第４関節軸Ｊ４を介して左エンドエフェクタ２５Ｌが連結される。このように、ロボット２の左右のアーム２Ｌ及び２Ｒは、各々が４軸の自由度を有し、各々の先端にはエンドエフェクタが設けられる。
【００３５】  右アーム２Ｒ及び左アーム２Ｌを構成する各関節軸Ｊ１〜Ｊ４は、サーボ機構（図示しない）により駆動される。サーボ機構は、アームを変位駆動するための駆動部と、駆動部の動力をアームに伝達するための伝達機構とを含む。本実施の形態では、駆動部は、例えばサーボモータによって実現される（図１参照）。各サーボモータＭには回転角度位置を検出するエンコーダ等の位置センサＥがそれぞれ設けられる（図１参照）。制御装置３は、サーボモータＭを位置制御することにより、右アーム２Ｒ及び左アーム２Ｌの動作を任意の速度で制御するように構成される。ここで、左アーム２Ｌの第１関節軸Ｊ１は、支持部材２１Ｌ及び右アーム２Ｒの第１右リンク２２Ｒを介して右アーム２Ｒの第１関節軸Ｊ１に回転軸線を共有するように接続されているので、右アーム２Ｒの第１関節軸Ｊ１の回転を相殺するように回転した上で所与の回転を行うよう制御される。
【００３６】  図４は、ロボット２の構成を示す平面図である。図４に示すように、ロボット２の基台２０は、正方形で規定される作業スペース１００の中央に設置される。ロボット２の正面には平面視で矩形の作業台２００が設置される。作業台２００の上には例えば作業対象（ワーク）が配置される。ロボット２の基台２０は作業スペース１００に設けられた壁３００と所定の間隔を空けて設置されている。ロボット２は、作業スペース１００において作業者と同様な作業を行うように設定される。
【００３７】  ロボット２は基準座標系（以下、ベース座標系という）を持っている。この座標系は、例えば、基台２０の設置面と右アーム２Ｒの第１関節軸Ｊ１（図３参照）の回転軸線との交点が原点であり、第１関節軸Ｊ１の回転軸線がＺ軸であり、Ｚ軸に直交する任意の軸がＸ軸であり、Ｚ軸及びＸ軸に直交する軸がＹ軸である。ロボット２の右アーム２Ｒ及び左アーム２Ｌに対する動作範囲は、このベース座標系を基準として設定される。尚、動作範囲は、左アーム２Ｌの第１関節軸Ｊ１及び右アーム２Ｒの第１関節軸Ｊ１を中心とした円形領域である（図示せず）。本実施形態では、ロボット２の動作領域において２つのエリア１００Ａ及び１００Ｂが設定されている。エリア１００Ａは、作業台２００の上面を覆うような所定の３次元空間（平面視で矩形）に設定される。エリア１００Ｂは、壁３００と基台２０の間の所定の３次元空間（平面視で矩形）に設定される。ここでエリア１００Ａ及び１００Ｂは人と衝突する可能性が低い領域として想定される。尚、エリア１００Ａ及び１００Ｂは所定の３次元空間であれば、平面視で曲面の空間でもよい。また、ロボット２の動作範囲内であって、エリア１００Ａ及び１００Ｂ以外の部分がエリア外領域として設定される。ここでエリア外領域は人と衝突する可能性が高い領域として想定される。
【００３８】  制御装置３は、ロボット２の所定部分がエリア１００Ａ及び１００Ｂ内にある場合には第１速度以下の速度でロボット２を動作させる。制御装置３は、ロボット２の所定部分が所定エリア１００Ａ及び１００Ｂに無い場合（エリア外領域に在る場合）は第１速度よりも高い第２速度以下の速度でロボット２を動作させる。本実施形態では、ロボット２の所定部分とは、ロボット２の右エンドエフェクタ２５Ｒ又は左エンドエフェクタ２５ＬのツールセンターポイントＰである（以下、単にツールセンターポイントＰという）。ロボット２を動作させるとは、ロボット２の右アーム２Ｒ又は左アーム２Ｌをそれぞれ動作させることをいう。ここで第１速度は、ＩＳＯ１０２１８−１に低速制御として規定されている２５０ｍｍ／ｓに設定する。第２速度は、例えば８００ｍｍ／ｓに設定する。これにより、エリア１００Ａ及び１００Ｂ内ではロボット２を低速制御しながらも、エリア外領域では可能な限りロボット２を高速で動作させることができる。よって、ロボット２の作業効率が高まる。［ロボットの監視］  次に、ロボットシステム１におけるロボット２の動作監視について図５及び図６のフローチャートも参照しつつ説明する。まず、制御装置３は、ロボット２のエリア制御を実行する（図５のステップＳ５１）。図４に示すように、制御装置３は、ロボット２のツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在する場合には、動作速度が第１速度以下になるようにロボット２のアーム２Ｒ又は２Ｌを制御し、ロボット２のツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在しない場合には、ロボット２の動作速度が第２速度以下になるようにロボット２のアーム２Ｒ又は２Ｌを制御する。
【００３９】  また、制御装置３は、ロボット２の動作を監視するために必要な監視信号を生成する（図５のステップＳ５２）。具体的には、制御装置３は、監視信号として、動作中のロボット２において電流センサ５により各サーボモータＭを流れるセンサ電流値を検出し、位置センサＥにより各サーボモータＭの回転角度位置を検出し、駆動トルク推定部６３により各サーボモータＭを駆動するのに必要な駆動トルク推定値を推定する（図１参照）。次に、制御装置３は、ステップＳ５２で生成した監視信号を所定期間ごとに監視装置４に送信する（図５のステップＳ５３）。ここで監視信号には、動作中のロボット２において電流センサ５で検出された各サーボモータＭを流れるセンサ電流値と、位置センサＥで検出された各サーボモータＭの回転角度位置、及び駆動トルク推定部６３で演算された各サーボモータＭを駆動するのに必要な駆動トルク推定値が含まれる。
【００４０】  一方、監視装置４は、制御装置３から所定期間ごとに送信される監視信号の受信を待機する（図６のステップＳ６１）。監視装置４は、監視信号を受信したときは、外力検出部１０により外力を検出する（図６のステップＳ６２）。具体的には、図２の電流トルク変換部３０により、電流センサ５で検出された各サーボモータＭ１〜Ｍ６を流れるセンサ電流値をトルク値に変換する。電流トルク変換部３０は、入力されたセンサ電流値をトルク値に変換し、これを外乱トルク演算部３１に出力する。次に、図２の外乱トルク演算部３１は、電流トルク変換部３０で変換されたトルク値と駆動トルクの推定値との差を外乱トルクとして演算し、これを外力演算部３２に出力する。次に、図２の外力演算部３２は、外乱トルク演算部３１で演算された外乱トルク値を用いてロボット２に働く外力を演算する。ここでは外力演算部３２は、外乱トルク演算部３１から入力された外乱トルクτｄからロボット２の先端（ツールセンターポイントＰ）に働く外力ｆｄを、仮想仕事の原理によって次式（１）のように求める。
【００４１】            ｆｄ＝（ＡＴ）−１τｄ・・・（１）ここでＡはヤコビ行列であり、ロボット２の座標系と関節座標系との間の微小変位関係を表現した行列である。ヤコビ行列Ａについて、誤差Δｘと関節角差分Δθには式（２）の関係が成立している。
【００４２】            Δｘ＝ＡΔθ・・・・・・（２）  このように外力演算部３２は、式（１）のように外乱トルクτｄにヤコビ行列Ａの転置行列ＡＴの逆行列を乗じることによりロボット２に働く外力ｆｄを算出し、これを力監視部１２に出力する。ここで、式（１）の外力ｆｄはロボット２の先端（ツールセンターポイントＰ）で作用していると想定したときの外力である。外力ｆｄがロボット２の先端以外を作用点としている場合は、外力ｆｄを実際の作用点での外力に座標変換してもよい。
【００４３】  一方、監視装置４（エリア判定部１１）は、位置センサＥで検出された各サーボモータＭの回転角度位置に基づいて、ロボット２のツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在するか否かを判定する（図６のステップＳ６３）。エリア判定部１１は、各サーボモータＭの回転角度位置及び予め設定された各リンクの長さや形状等の情報に基づいて、ロボット２の３次元モデルを生成する。エリア判定部１１は、ロボット２の３次元モデルのツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在するか否かを判定し、判定結果を力監視部１２に出力する。
【００４４】  次に、監視装置４（エリア内衝突判定部３４）は、エリア判定部１１によりロボット２のツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在すると判定された場合に（図６のステップＳ６３でＹＥＳ）、ロボット２に働く外力の監視を含む第１の監視基準で衝突を検知する。本実施形態では、エリア内衝突判定部３４は、外力演算部３２から入力された外力の値ｆｄが予め設定された第１閾値ｆｔｈ１を超えたか否かを判定し、第１閾値ｆｔｈ１を超えたときにロボット２が衝突したと判定して衝突検知信号を生成し、これを停止信号生成部１３に出力する。第１閾値ｆｔｈ１との比較対象である外力の値｜ｆｄ｜は外力ｆｄのスカラ値である。監視装置４は衝突を検知しない場合はステップＳ６１へ戻り、監視信号の受信を待機する。
【００４５】  一方、監視装置４（エリア外衝突判定部３６）は、エリア判定部１１によりロボット２のツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在しないと判定された場合には、ロボット２に働く衝撃力の監視を含む第２の監視基準で衝突を検知する（図６のステップＳ６６）。具体的には、エリア外衝突判定部３６は、衝撃力演算部３５から入力されたロボット２に働く衝撃力の値｜ｆ’ｄ｜が予め設定された第２閾値ｆｔｈ２を超えたか否かを判定し、第２閾値ｆｔｈ２を超えたときにロボット２が衝突したと判定して衝突検知信号を生成し、これを停止信号生成部１３に出力する。第２閾値ｆｔｈ２との比較対象である衝撃力の値｜ｆ’ｄ｜は外力ｆ’ｄのスカラ値である。監視装置４は衝突を検知しない場合はステップＳ６１へ戻り、監視信号の受信を待機する。これにより、高速動作領域としてのエリア外領域でロボット２が人に衝突したとしても迅速に衝突を検知することができる。
【００４６】  次に、監視装置４（停止信号生成部１３）は、力監視部１２から衝突検知信号（外力又は衝撃力）が入力された場合にはロボット２の停止信号を生成し、これを制御装置３に出力する（図６のステップＳ６５）。
【００４７】  制御装置３は、監視装置４から停止信号を受信したとき（図５のステップＳ５４でＹＥＳ）にはロボット２の動作を停止させる（図５のステップＳ５５）。ここでロボット２の停止態様は任意である。例えば動力を遮断することにより即座に停止させてもよいし（いわゆる非常停止）、動力を遮断し且つ減速して停止させてもよいし（いわゆる減速停止）、動力を遮断することなく、減速して停止させてもよい（いわゆる一時停止）。制御装置３は、停止信号を受信しない場合はステップＳ５１へ戻り、ロボット２のエリア制御が継続される。
【００４８】  従って、本実施形態によれば、ロボット２が人と衝突する可能性の高い低速動作領域としてのエリア１００Ａ又は１００Ｂと、衝突の可能性の低い高速動作領域としてのエリア外領域とで監視基準が異なるので、衝突を適切に検知できる。これにより、衝突を検知した後は、制御装置３によりロボットの動作を停止することができるので、ロボット２の周辺で作業する作業者の安全を確保することができる。
【００４９】  また、本実施形態では、ロボットシステム１の監視装置は、ロボット２の動作範囲において予め２つのエリア１００Ａ又は１００Ｂが設定することにより、作業スペース１００の広さや形状に応じて柔軟且つ適切に設定できるので、ロボット２とその周辺で作業する作業者の共同作業における利便性が更に向上する。
【００５０】  尚、本実施形態では、ロボット２の動作範囲において設定された低速動作領域としてのエリア１００Ａ及び１００Ｂではいずれも外力の第１監視基準は同じ値（１００Ｎ）に設定されたが、これに限られない。エリア１００Ａ及び１００Ｂにおいて第１監視基準が各エリア毎に異なってもよい。例えば人と衝突する可能性の高い低速動作エリアでは、衝突検知から停止までの堕走運転でロボットが衝突した人の部位に押し込まれないような速度で運転されるが、監視基準（例えば動作速度や外力の閾値）は衝突するリスクを想定する部位に依存する。例えば衝突するリスクのある部位が手か胴体かで重さや危険度も異なるため、設定すべき速度も異なる。これにより、ロボットとその周辺で作業する作業者の共同作業における利便性が更に向上する。（第２実施形態）  次に、第２実施形態について説明する。以下では、第１実施形態と共通する構成の説明は省略し、相違する構成についてのみ説明する。
【００５１】  図７は、第２実施形態に係る監視装置の構成を示すブロックダイアグラムである。図７に示すように、本実施形態では、第１実施形態（図１）と比較すると、監視装置４Ａが、速度演算部１４と、速度監視部１５とを更に備える点が異なる。
【００５２】  速度演算部１４は、位置センサＥで検出された各サーボモータＭの回転角度位置に基づいて、ロボット２の動作速度を演算する。ここでは監視信号に含まれる各サーボモータＭの回転角度位置が、通信ケーブルを介して制御装置３から監視装置４に送信され、速度演算部１４に入力される。速度演算部１４は、算出結果を速度監視部１５に出力するように構成されている。
【００５３】  速度監視部１５は、エリア判定部１１によりロボット２の所定部分が所定エリア１００Ａ及び１００Ｂ内に存在すると判定された場合に、ロボット２の動作速度が第１速度を超えているか否かを監視し、エリア判定部１１によりロボット２の所定部分が所定エリア１００Ａ及び１００Ｂ内に存在しないと判定された場合に、ロボット２の動作速度が第１速度よりも高い第２速度を超えているか否かを監視する。本実施形態では第１速度は２５０ｍｍ／ｓ、第２速度は８００ｍｍ／ｓに設定される。
【００５４】  停止信号生成部１３は、エリア判定部１１によりロボット２の所定部分がエリア１００Ａ及び１００Ｂ内に存在し、且つ速度監視部１５によりロボット２の動作速度が第１速度を超えていると判定された場合、又は、エリア判定部１１によりロボットの所定部分がエリア１００Ａ及び１００Ｂ内に存在せず、且つ速度監視部１５によりロボット２の動作速度が第２速度を超えていると判定された場合にはロボット２の停止信号を生成し、これを制御装置３に供給する。
【００５５】  図８は、監視装置４Ａの速度監視処理の流れを示すフローチャートである。図８に示すように、監視装置４Ａは、制御装置３から所定期間ごとに送信される監視信号の受信を待機する（図８のステップＳ８１）。監視装置４Ａ（速度演算部１４）は、監視信号を受信したときは、位置センサＥで検出された各サーボモータＭの回転角度位置に基づいて、ロボット２の動作速度を演算する（図８のステップＳ８２）。ここでは監視信号に含まれる各サーボモータＭの回転角度位置が、通信ケーブルを介して制御装置３から監視装置４に送信され、速度演算部１４に入力される。速度演算部１４は、各サーボモータＭの回転角度位置に関する情報から、ベース座標系におけるロボット２のツールセンターポイントＰの位置座標（Ｘ，Ｙ，Ｚ）を算出するとともに、ターポイントＰの速度を算出し、算出結果を速度監視部１５に出力する（図４参照）。
【００５６】  一方、監視装置４Ａ（エリア判定部１１）は、位置センサＥで検出された各サーボモータＭの回転角度位置に基づいて、ロボット２のツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在するか否かを判定する（図８のステップＳ８３）。エリア判定部１１は、各サーボモータＭの回転角度位置及び予め設定された各リンクの長さや形状等の情報に基づいて、ロボット２の３次元モデルを生成する。エリア判定部１１は、ロボット２の３次元モデルのツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在するか否かを判定し、判定結果を速度監視部１５に出力する。
【００５７】  次に、監視装置４（速度監視部１５）は、エリア判定部１１によりロボット２のツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在すると判定された場合に（ステップＳ８３でＹＥＳ）、ロボット２の動作速度が第１速度を超えているか否かを監視する。ここでは第１速度は２５０ｍｍ／ｓである。本実施形態では、速度監視部１５は、速度演算部１４から入力された動作速度Ｖの値が予め設定された第１速度Ｖｔｈ１を超えたか否かを判定し、第１速度Ｖｔｈ１を超えたときにロボット２が異常速度で動作したと判定して異常速度検知信号を生成し、これを停止信号生成部１３に出力する。監視装置４は異常速度を検知しない場合はステップＳ８１へ戻り、監視信号の受信を待機する。
【００５８】  次に、監視装置４（速度監視部１５）は、エリア判定部１１によりロボット２のツールセンターポイントＰがエリア１００Ａ又は１００Ｂ内に存在しないと判定された場合に（ステップＳ８３でＮＯ）、ロボット２の動作速度が第２速度を超えているか否かを監視する。ここで第２速度は８００ｍｍ／ｓである。本実施形態では、速度監視部１５は、速度演算部１４から入力された動作速度Ｖの値が予め設定された第２速度Ｖｔｈ２を超えたか否かを判定し、第２速度Ｖｔｈ２を超えたときにロボット２が異常速度で動作したと判定して異常速度検知信号を生成し、これを停止信号生成部１３に出力する。監視装置４は異常速度を検知しない場合はステップＳ８１へ戻り、監視信号の受信を待機する。
【００５９】  本実施形態によれば、人と衝突する可能性の低い高速動作領域としてのエリア外領域では、ロボット２を高速で動作させることにより、その能力を最大限発揮させ、且つ、仮に衝突が検知されたとしても怪我をするリスクが低いような速度で運転されているか否かを監視することができる。一方、人と衝突する可能性の高い低速動作領域としてのエリア１００Ａ又は１００Ｂでは、衝突検知から停止までの堕走運転でロボットが衝突した人の部位に押し込まれないような速度で運転されているか否かを監視することができる。つまり、力監視に加えて速度監視により、ロボット２とその周辺で作業する作業者の共同作業における利便性が更に向上する。（その他の実施形態）  尚、上記各実施形態の外力検出部は、各サーボモータＭに流れる電流値及び各サーボモータＭの駆動に必要な駆動トルクに基づいてロボット２に働く外力を演算したが、これに限定されることはない。例えばロボット２の先端に力センサを設けることにより、ロボット２に働く外力を検出してもよい。
【００６０】  尚、上記各実施形態のロボット２は、双腕型の水平多関節型ロボットであったが、これに限定されることはない。単腕ロボットでもよいし、垂直多関節型ロボットでもよい。また、各アームは４つの関節軸を備えたが、１つ以上の関節軸であればこれに限定されない。
【００６１】  尚、上記各実施形態では、ロボットシステムの監視装置は、ロボットの動作範囲において予め２つのエリア１００Ａ又は１００Ｂが設定されたが、複数のエリアであれば３つ以上のエリアが設定されてもよい。
【００６２】  尚、上記各実施形態では、ロボット２の動作範囲において設定された低速動作領域としてのエリア１００Ａ及び１００Ｂではいずれも速度の監視基準は同じ値（２５０ｍｍ／ｓ）に設定されたが、これに限られない。エリア１００Ａ及び１００Ｂにおいては、速度の監視基準が異なってもよい。例えば人と衝突する可能性の高い低速動作エリアでは、衝突検知から停止までの堕走運転でロボットが衝突した人の部位に押し込まれないような速度で運転されるが、監視基準（例えば動作速度や外力の閾値）は衝突するリスクを想定する部位に依存する。例えば衝突するリスクのある部位が手か胴体かで重さや危険度も異なるため、設定すべき速度も異なる。これにより、ロボットの周辺で作業する作業者の安全性が更に向上する。
【００６３】  また、上記各実施形態では、力センサを用いることなく、サーボモータＭの電流値に基づいてロボット２に働く外力を計算するので、安価且つ高精度に衝突を検知することができる。これにより、ロボットとその周辺で作業する作業者の共同作業における利便性が更に向上する。
【００６４】  尚、上記各実施形態の監視装置４，４Ａは制御装置３と別々に設けたが、制御装置３に含まれていてもよい。例えば制御装置３の演算処理器６において、監視装置４の各部（１０〜１３）の機能ブロックが実行されるように構成されていてもよい。
【００６５】  上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び機能の双方又は一方の詳細を実質的に変更できる。
【産業上の利用可能性】
【００６６】  本発明は、人と共存して作業するロボットシステムの監視に有用である。
【符号の説明】
【００６７】１  ロボットシステム２  ロボット３  制御装置４  監視装置５  電流センサ６  演算処理器７  サーボアンプ１０  外力検出部１１  エリア判定部１２  力監視部１３  停止信号生成部３０  電流トルク変換部３１  外乱トルク演算部３２  外力演算部３３  加減算器３４  エリア内衝突判定部３５  衝撃力演算部３６  エリア外衝突判定部６１  電流値生成部６２  エリア設定部６３  駆動トルク推定部Ｊ  関節軸Ｍ  サーボモータＥ  エンコーダＬ  電源ライン
【図１】
2017094240.tif 000003
【図２】
2017094240.tif 000004
【図３】
2017094240.tif 000005
【図４】
2017094240.tif 000006
【図５】
2017094240.tif 000007
【図６】
2017094240.tif 000008
【図７】
2017094240.tif 000009
【図８】
2017094240.tif 000010
【国際調査報告】
2017094240.tif 000011
2017094240.tif 000012
2017094240.tif 000013
2017094240.tif 000014