(57)【特許請求の範囲】
【請求項１】
複数の回転部及び前記各回転部の回転軸を駆動するモータを有するロボットと、前記回転軸の回転位置情報を検出する回転検出部とを備えるロボットシステムを構成し、前記ロボットを駆動制御するロボット制御装置において、
前記回転位置情報が入力可能に構成され、入力された前記回転位置情報に基づいて前記ロボットの異常の有無を監視する第１監視部及び第２監視部を備え、
前記第１監視部は、１演算周期毎に、入力された前記回転位置情報に基づく複数の処理のそれぞれを予め定められた順序で順次行い、
前記第２監視部は、１演算周期毎に、前記第１監視部が行う前記複数の処理と同じ処理のそれぞれを前記第１監視部が行う予め定められた順序と同じ順序で順次行い、
前記第１監視部は、入力された前記回転位置情報に基づく処理において、自身が行った処理結果と前記第２監視部から取得した処理結果とが互いに異なると判定した場合、前記ロボットシステムに異常が生じていると判定し、
前記第２監視部は、入力された前記回転位置情報に基づく処理において、自身が行った処理結果と前記第１監視部から取得した処理結果とが互いに異なると判定した場合、前記ロボットシステムに異常が生じていると判定し、
前記第１監視部は、前記複数の処理全ての完了前であって前記複数の処理のうち少なくとも１つの特定処理の完了後にパルス信号を出力し、
前記第２監視部は、前記複数の処理全ての完了前であって前記複数の処理のうち少なくとも１つの特定処理の完了後にパルス信号を出力し、
前記第１監視部から出力された前記パルス信号が入力可能に構成され、前記パルス信号が入力される時間間隔が予め定められた第１閾値時間と一致しないと判定した場合、前記第１監視部に異常が生じていると判定する第１診断部と、
前記第２監視部から出力された前記パルス信号が入力可能に構成され、前記パルス信号が入力される時間間隔が予め定められた第２閾値時間と一致しないと判定した場合、前記第２監視部に異常が生じていると判定する第２診断部と、を備えることを特徴とするロボット制御装置。
【請求項２】
前記第１診断部は、前記回転位置情報に基づく処理において前記第１監視部が行った処理結果と前記第２監視部が行った処理結果とが同じになる場合であっても、前記パルス信号が入力される時間間隔が予め定められた前記第１閾値時間と一致しないと判定した場合、前記第１監視部に異常が生じていると判定し、
前記第２診断部は、前記回転位置情報に基づく処理において前記第１監視部が行った処理結果と前記第２監視部が行った処理結果とが同じになる場合であっても、前記パルス信号が入力される時間間隔が予め定められた前記第２閾値時間と一致しないと判定した場合、前記第２監視部に異常が生じていると判定する請求項１に記載のロボット制御装置。
【請求項３】
前記第１監視部は、前記回転位置情報に基づく処理において自身が行った処理結果と前記第２監視部から取得した処理結果との不一致の判定を、前記ロボットが停止状態に維持されている場合に行い、
前記第２監視部は、前記回転位置情報に基づく処理において自身が行った処理結果と前記第１監視部から取得した処理結果との不一致の判定を、前記ロボットが停止状態に維持されている場合に行う請求項１又は２に記載のロボット制御装置。
【請求項４】
前記第１診断部は、前記パルス信号が入力される時間間隔が前記第１閾値時間と一致しないと判定した場合、前記第１監視部の処理時間の異常が生じていると判定し、
前記第２診断部は、前記パルス信号が入力される時間間隔が前記第２閾値時間と一致しないと判定した場合、前記第２監視部の処理時間の異常が生じていると判定する請求項１〜３のいずれか１項に記載のロボット制御装置。
【請求項５】
前記第１監視部及び前記第２監視部のそれぞれは、前記複数の処理のうち複数の特定処理のそれぞれの完了後にパルス信号を出力し、
前記第１監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のうち時間的に隣り合うパルス信号の時間間隔は、互いに異なってかつ予め定められた時間間隔に設定されており、
前記第２監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のうち時間的に隣り合うパルス信号の時間間隔は、互いに異なってかつ予め定められた時間間隔に設定されており、
前記第１診断部は、入力された前記パルス信号の時間間隔の順序が予め定められた時間間隔の順序と一致しないと判定した場合、前記第１監視部において前記複数の処理の順序の入れ替わりが発生していると判定し、
前記第２診断部は、入力された前記パルス信号の時間間隔の順序が予め定められた時間間隔の順序と一致しないと判定した場合、前記第２監視部において前記複数の処理の順序の入れ替わりが発生していると判定する請求項１〜４のいずれか１項に記載のロボット制御装置。
【請求項６】
前記第１監視部及び前記第２監視部のそれぞれは、前記複数の処理のうち複数の特定処理のそれぞれの完了後にパルス信号を出力し、
前記第１監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のそれぞれのパルス数は、互いに異なってかつ予め定められたパルス数に設定されており、
前記第２監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のそれぞれのパルス数は、互いに異なってかつ予め定められたパルス数に設定されており、
前記第１診断部は、入力された前記パルス信号のパルス数の順序が予め定められたパルス数の順序と一致しないと判定した場合、前記第１監視部において前記複数の処理の順序の入れ替わりが発生していると判定し、
前記第２診断部は、入力された前記パルス信号のパルス数の順序が予め定められたパルス数の順序と一致しないと判定した場合、前記第２監視部において前記複数の処理の順序の入れ替わりが発生していると判定する請求項１〜４のいずれか１項に記載のロボット制御装置。
【請求項７】
前記第１監視部及び前記第２監視部のそれぞれは、前記複数の処理のうち複数の特定処理のそれぞれの完了後にパルス信号を出力し、
前記第１監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のそれぞれのパルス幅は、互いに異なってかつ予め定められたパルス幅に設定されており、
前記第２監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のそれぞれのパルス幅は、互いに異なってかつ予め定められたパルス幅に設定されており、
前記第１診断部は、入力された前記パルス信号のパルス幅の順序が予め定められたパルス幅の順序と一致しないと判定した場合、前記第１監視部において前記複数の処理の順序の入れ替わりが発生していると判定し、
前記第２診断部は、入力された前記パルス信号のパルス幅の順序が予め定められたパルス幅の順序と一致しないと判定した場合、前記第２監視部において前記複数の処理の順序の入れ替わりが発生していると判定する請求項１〜４のいずれか１項に記載のロボット制御装置。
【請求項８】
外部電源から電力が供給されることにより動作可能に構成され、前記ロボットの駆動制御用の制御信号を入力として前記モータを駆動する駆動部と、
前記外部電源から前記駆動部を介した前記モータへの電力供給状態を給電許可状態及び給電遮断状態のいずれかに切り替える給電遮断部と、を備え、
前記第１診断部は、前記パルス信号が入力される時間間隔が前記第１閾値時間と一致しないと判定した場合、前記給電許可状態から前記給電遮断状態に切り替えるように前記給電遮断部を切り替え操作し、
前記第２診断部は、前記パルス信号が入力される時間間隔が前記第２閾値時間と一致しないと判定した場合、前記給電許可状態から前記給電遮断状態に切り替えるように前記給電遮断部を切り替え操作する請求項１〜７のいずれか１項に記載のロボット制御装置。
【請求項９】
前記給電遮断部は、前記駆動部と前記外部電源との間の電気的な接続状態を導通状態及び遮断状態のいずれかに切り替える電源遮断部であり、
前記給電許可状態から前記給電遮断状態に切り替えるように前記給電遮断部を切り替え操作することとは、前記電源遮断部の接続状態を前記導通状態から前記遮断状態に切り替えるように前記電源遮断部を切り替え操作することである請求項８に記載のロボット制御装置。
【請求項１０】
前記第１監視部及び前記第２監視部のそれぞれは、前記ロボットが停止状態に維持されている場合において、前記給電許可状態から前記給電遮断状態へと前記給電遮断部を切り替え操作することなく、前記ロボットシステムの異常の有無を監視する請求項８又は９に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の回転部及び前記各回転部の回転軸を駆動するモータを有するロボットと、前記回転軸の回転位置情報を検出する回転検出部とを備えるロボットシステムを構成し、前記ロボットを駆動制御するロボット制御装置に関する。
【背景技術】
【０００２】
この種のロボット制御装置としては、例えば下記特許文献１に見られるように、回転検出部からの回転位置情報に基づいてロボットの異常の有無を監視する監視部を備えるものが知られている。監視部は、ロボットの異常を検知した場合、外部電源からロボットへの給電を遮断する。これにより、ロボットの停止を保証し、ロボットシステムの安全性を高めている。
【０００３】
ところで、製造ラインにおけるロボットの動作領域に作業者が立ち入ることを防止するために、動作領域を安全防護柵で囲う安全対策が従来から講じられている。ここで近年、製品製造の効率化等を図るべく、製造ラインにおいてロボット及び作業者が協調して作業を行うことも考えられている。この場合、例えば安全防護柵を設置しないこともあり得るため、ロボットシステムの安全性を保証できる対策を講じる必要がある。
【０００４】
そこで、この対策として、冗長系の構成を備えるロボット制御装置を採用することも提案されている。詳しくは、この制御装置は、第１監視部及び第２監視部を備えている。各監視部は、入力された回転位置情報に基づいてロボットの異常の有無を監視し、異常ありと判定した場合、ロボットへの給電を遮断する。
【０００５】
第１監視部は、１演算周期毎に、回転位置情報に基づく複数の処理のそれぞれを予め定められた順序で順次行う。第２監視部は、１演算周期毎に、第１監視部が行う複数の処理と同じ処理のそれぞれを第１監視部が行う予め定められた順序と同じ順序で順次行う。そして、第１監視部は、自身が行った処理結果と第２監視部から取得した処理結果とが互いに異なると判定した場合、ロボットシステムに異常が生じていると判定する。第２監視部は、自身が行った処理結果と第１監視部から取得した処理結果とが互いに異なると判定した場合、ロボットシステムに異常が生じていると判定する。以上説明した冗長系の構成により、ロボットシステムの安全性を保証している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５２７１４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、第１，第２監視部のいずれかに異常が生じる場合、異常が生じていない監視部において回転位置情報に基づく正常な処理が行われた結果として得られた処理結果と、異常が生じている監視部において正常な処理が行われていなくて得られた処理結果とが同じになるといった異常が生じることがある。このような異常を上述した冗長系の構成で検知するのは困難である。
【０００８】
本発明は、上記問題を解決するためになされたものであり、回転位置情報に基づく正常な処理が行われた結果として得られた処理結果と、正常な処理が行われていなくて得られた処理結果とが同じになる異常が生じた場合であっても、その異常を検知できるロボット制御装置を提供することを主たる目的とするものである。
【課題を解決するための手段】
【０００９】
第１の発明は、複数の回転部及び前記各回転部の回転軸を駆動するモータを有するロボットと、前記回転軸の回転位置情報を検出する回転検出部とを備えるロボットシステムを構成し、前記ロボットを駆動制御するロボット制御装置において、前記回転位置情報が入力可能に構成され、入力された前記回転位置情報に基づいて前記ロボットの異常の有無を監視する第１監視部及び第２監視部を備え、前記第１監視部は、１演算周期毎に、入力された前記回転位置情報に基づく複数の処理のそれぞれを予め定められた順序で順次行い、前記第２監視部は、１演算周期毎に、前記第１監視部が行う前記複数の処理と同じ処理のそれぞれを前記第１監視部が行う予め定められた順序と同じ順序で順次行い、前記第１監視部は、入力された前記回転位置情報に基づく処理において、自身が行った処理結果と前記第２監視部から取得した処理結果とが互いに異なると判定した場合、前記ロボットシステムに異常が生じていると判定し、前記第２監視部は、入力された前記回転位置情報に基づく処理において、自身が行った処理結果と前記第１監視部から取得した処理結果とが互いに異なると判定した場合、前記ロボットシステムに異常が生じていると判定する。
【００１０】
そして第１の発明は、前記第１監視部は、前記複数の処理のうち少なくとも１つの特定処理の完了後にパルス信号を出力し、前記第２監視部は、前記複数の処理のうち少なくとも１つの特定処理の完了後にパルス信号を出力し、前記第１監視部から出力された前記パルス信号が入力可能に構成され、前記パルス信号が入力される時間間隔が予め定められた第１閾値時間と一致しないと判定した場合、前記第１監視部に異常が生じていると判定する第１診断部と、前記第２監視部から出力された前記パルス信号が入力可能に構成され、前記パルス信号が入力される時間間隔が予め定められた第２閾値時間と一致しないと判定した場合、前記第２監視部に異常が生じていると判定する第２診断部と、を備えることを特徴とする。
【００１１】
第１，第２監視部のいずれかに異常が生じ、回転位置情報に基づく正常な処理が行われた結果として得られた処理結果と、正常な処理が行われていなくて得られた処理結果とが同じになるといった異常が生じることがある。この異常は、具体的には例えば、回転位置情報に基づく正常な処理をした結果、前回と同じ処理結果が得られたのではなく、処理が行われていなくても前回と同じ処理結果となる固着異常である。
【００１２】
第１，第２監視部で処理結果が同じになる場合であっても、第１，第２監視部のいずれかに異常が生じている状態は、本来であれば第１，第２監視部のいずれかに異常が生じているとして検知する必要がある。しかしながら、このような異常を背景技術で説明した冗長系の構成で検知することは困難である。特に、ロボットの停止状態が維持される状況下においては、回転位置情報に基づく処理結果が前回と今回とで同じ結果となるケースも多く、固着異常を検知するのはより困難である。
【００１３】
そこで上記発明において、第１監視部及び第２監視部のそれぞれは、複数の処理のうち少なくとも１つの特定処理の完了後にパルス信号を出力する。第１，第２監視部で処理結果が同じになる場合であっても、第１，第２監視部のいずれかに異常が生じている状態では、異常が生じている監視部において、処理時間が基準となる時間（例えば、設計時に想定した時間）から長くなる又は早くなる等、処理時間が基準となる時間からずれる現象が生じる。この場合、第１監視部から出力されるパルス信号の時間間隔が基準となる時間間隔からずれることとなる。
【００１４】
この点に鑑み上記発明は、第１診断部及び第２診断部を備えている。第１診断部は、第１監視部から出力されたパルス信号が入力可能に構成されている。第１診断部は、パルス信号が入力される時間間隔が予め定められた第１閾値時間と一致しないと判定した場合、第１監視部に異常が生じていると判定する。また、第２診断部は、第２監視部から出力されたパルス信号が入力可能に構成されている。第２診断部は、パルス信号が入力される時間間隔が予め定められた第２閾値時間と一致しないと判定した場合、第２監視部に異常が生じていると判定する。
【００１５】
以上説明した上記発明によれば、各監視部の処理結果が、回転位置情報に基づく正常な処理が行われた結果として得られたものか、正常な処理が行われていなくて得られたものかを識別できる。このため、回転位置情報に基づく正常な処理が行われた結果として得られた処理結果と、正常な処理が行われていなくて得られた処理結果とが同じになる異常が生じた場合であっても、その異常を検知することができる。
【００１６】
なお、各監視部が行う複数の処理のうちどの処理の完了後にパルス信号を出力するかは、第１監視部及び第２監視部のそれぞれで合わせてもよいし、異ならせてもよい。そして、複数の処理のうちどの処理の完了後にパルス信号を出力するかに応じて、第１，第２診断部で用いられる第１，第２閾値時間は、同じ値に設定されたり、異なる値に設定されたりする。
【００１７】
第２の発明は、前記第１監視部は、前記複数の処理全ての完了前であって前記複数の処理のうち少なくとも１つの特定処理の完了後にパルス信号を出力し、前記第２監視部は、前記複数の処理全ての完了前であって前記複数の処理のうち少なくとも１つの特定処理の完了後にパルス信号を出力することを特徴とする。
【００１８】
上記発明によれば、複数の処理全てが完了するまでの途中に第１，第２監視部からパルス信号を出力できるため、複数の処理の途中において処理時間が基準となる時間からずれる異常を検知しやすくできる。さらに上記発明では、複数の処理全ての完了前に第１，第２監視部からパルス信号を出力できるため、処理時間が基準となる時間からずれる異常を迅速に検知できる。
【００１９】
ちなみに、第１診断部としては、具体的には例えば第３の発明のように、前記パルス信号が入力される時間間隔が前記第１閾値時間と一致しないと判定した場合、前記第１監視部の処理時間の異常が生じていると判定する構成を採用することができる。また、第２診断部としては、具体的には例えば第２の発明のように、前記パルス信号が入力される時間間隔が前記第２閾値時間と一致しないと判定した場合、前記第２監視部の処理時間の異常が生じていると判定する構成を採用することができる。
【００２０】
第４の発明は、前記第１監視部及び前記第２監視部のそれぞれは、前記複数の処理のうち複数の特定処理のそれぞれの完了後にパルス信号を出力し、前記第１監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のうち時間的に隣り合うパルス信号の時間間隔は、互いに異なってかつ予め定められた時間間隔に設定されており、前記第２監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のうち時間的に隣り合うパルス信号の時間間隔は、互いに異なってかつ予め定められた時間間隔に設定されており、前記第１診断部は、入力された前記パルス信号の時間間隔の順序が予め定められた時間間隔の順序と一致しないと判定した場合、前記第１監視部において前記複数の処理の順序の入れ替わりが発生していると判定し、前記第２診断部は、入力された前記パルス信号の時間間隔の順序が予め定められた時間間隔の順序と一致しないと判定した場合、前記第２監視部において前記複数の処理の順序の入れ替わりが発生していると判定することを特徴とする。
【００２１】
第１監視部及び第２監視部のいずれかにおいて、複数の処理の順序が入れ替わり、複数の処理の順序が予め定められた順序とは異なるものとなる入れ替わり異常が生じ得る。複数の処理のうちある処理の処理結果がその直後の処理に用いられる場合、入れ替わり異常が生じると、第１，第２監視部が互いに監視し合う処理を実行できなくなる懸念がある。
【００２２】
そこで上記発明において、第１監視部及び第２監視部のそれぞれは、複数の処理のうち複数の特定処理のそれぞれの完了後にパルス信号を出力する。そして、第１監視部に異常が生じていない場合において、複数の特定処理のそれぞれの完了後に出力されるパルス信号のうち時間的に隣り合うパルス信号の時間間隔が、互いに異なってかつ予め定められた時間間隔に設定されている。また、第２監視部に異常が生じていない場合において、複数の特定処理のそれぞれの完了後に出力されるパルス信号のうち時間的に隣り合うパルス信号の時間間隔が、互いに異なってかつ予め定められた時間間隔に設定されている。
【００２３】
このようにパルス信号の時間間隔を設定する場合、入れ替わり異常が生じると、入力されるパルス信号の時間間隔の順序が予め定められた時間間隔の順序とは異なるものとなる。そこで上記発明において、第１診断部は、入力されたパルス信号の時間間隔の順序が予め定められた時間間隔の順序と一致しないと判定した場合、第１監視部において複数の処理の順序の入れ替わりが発生していると判定する。一方、第２診断部は、入力されたパルス信号の時間間隔の順序が予め定められた時間間隔の順序と一致しないと判定した場合、第２監視部において複数の処理の入れ替わりが発生していると判定する。このように上記発明によれば、入れ替わり異常を検知することができる。
【００２４】
なお、複数の特定処理のそれぞれの完了後に出力される最初のパルス信号の時間間隔は、第１監視部及び第２監視部のそれぞれで合わせてもよいし異ならせてもよい。
【００２５】
第５の発明は、前記第１監視部及び前記第２監視部のそれぞれは、前記複数の処理のうち複数の特定処理のそれぞれの完了後にパルス信号を出力し、前記第１監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のそれぞれのパルス数は、互いに異なってかつ予め定められたパルス数に設定されており、前記第２監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のそれぞれのパルス数は、互いに異なってかつ予め定められたパルス数に設定されており、前記第１診断部は、入力された前記パルス信号のパルス数の順序が予め定められたパルス数の順序と一致しないと判定した場合、前記第１監視部において前記複数の処理の順序の入れ替わりが発生していると判定し、前記第２診断部は、入力された前記パルス信号のパルス数の順序が予め定められたパルス数の順序と一致しないと判定した場合、前記第２監視部において前記複数の処理の順序の入れ替わりが発生していると判定することを特徴とする。
【００２６】
第１監視部及び第２監視部のいずれかにおいて、上述した入れ替わり異常が生じ得る。そこで上記発明において、第１監視部及び第２監視部のそれぞれは、複数の処理のうち複数の特定処理のそれぞれの完了後にパルス信号を出力する。そして、第１監視部に異常が生じていない場合において、複数の特定処理のそれぞれの完了後に出力されるパルス信号のパルス数が、互いに異なってかつ予め定められたパルス数に設定されている。また、第２監視部に異常が生じていない場合において、複数の特定処理のそれぞれの完了後に出力されるパルス信号のパルス数が、互いに異なってかつ予め定められたパルス数に設定されている。
【００２７】
このようにパルス信号のパルス数を設定する場合、入れ替わり異常が生じると、入力されるパルス信号のパルス数の順序が予め定められたパルス数の順序とは異なるものとなる。そこで上記発明において、第１診断部は、入力されたパルス信号のパルス数の順序が予め定められたパルス数の順序と一致しないと判定した場合、第１監視部において複数の処理の順序の入れ替わりが発生していると判定する。一方、第２診断部は、入力されたパルス信号のパルス数の順序が予め定められたパルス数の順序と一致しないと判定した場合、第２監視部において複数の処理の順序の入れ替わりが発生していると判定する。
【００２８】
このように上記発明によれば、入れ替わり異常を検知することができる。しかも上記発明によれば、複数の特定処理のそれぞれの完了後に出力される最初のパルス信号の時間間隔が互いに等しく設定されている場合であっても、複数の処理の入れ替わりをパルス数により識別できるため、入れ替わり異常を検知することができる。
【００２９】
なお、複数の特定処理のそれぞれの完了後に出力されるパルス信号のパルス数は、第１監視部及び第２監視部のそれぞれで合わせてもよいし異ならせてもよい。
【００３０】
ここで、第５の発明と同様の効果を奏する構成として、第６の発明を採用することができる。第５の発明は、前記第１監視部及び前記第２監視部のそれぞれは、前記複数の処理のうち複数の特定処理のそれぞれの完了後にパルス信号を出力し、前記第１監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のそれぞれのパルス幅は、互いに異なってかつ予め定められたパルス幅に設定されており、前記第２監視部に異常が生じていない場合において、前記複数の特定処理のそれぞれの完了後に出力される前記パルス信号のそれぞれのパルス幅は、互いに異なってかつ予め定められたパルス幅に設定されており、前記第１診断部は、入力された前記パルス信号のパルス幅の順序が予め定められたパルス幅の順序と一致しないと判定した場合、前記第１監視部において前記複数の処理の順序の入れ替わりが発生していると判定し、前記第２診断部は、入力された前記パルス信号のパルス幅の順序が予め定められたパルス幅の順序と一致しないと判定した場合、前記第２監視部において前記複数の処理の順序の入れ替わりが発生していると判定することを特徴とする。
【００３１】
なお、複数の特定処理のそれぞれの完了後に出力されるパルス信号のパルス幅は、第１監視部及び第２監視部のそれぞれで合わせてもよいし異ならせてもよい。
【００３２】
第７の発明は、外部電源から電力が供給されることにより動作可能に構成され、前記ロボットの駆動制御用の制御信号を入力として前記モータを駆動する駆動部と、前記外部電源から前記駆動部を介した前記モータへの電力供給状態を給電許可状態及び給電遮断状態のいずれかに切り替える給電遮断部と、を備え、前記第１診断部は、前記パルス信号が入力される時間間隔が前記第１閾値時間と一致しないと判定した場合、前記給電許可状態から前記給電遮断状態に切り替えるように前記給電遮断部を切り替え操作し、前記第２診断部は、前記パルス信号が入力される時間間隔が前記第２閾値時間と一致しないと判定した場合、前記給電許可状態から前記給電遮断状態に切り替えるように前記給電遮断部を切り替え操作することを特徴とする。
【００３３】
上記発明によれば、処理時間が基準となる時間からずれる異常が検知された場合、給電遮断部を遮断状態に切り替えることができ、ロボットを動作させないようにすることができる。したがって上記発明によれば、ロボットシステムの安全性を高めることができる。
【００３４】
なお、前記給電遮断部としては、具体的には例えば第８の発明のように、前記駆動部と前記外部電源との間の電気的な接続状態を導通状態及び遮断状態のいずれかに切り替える電源遮断部といった構成を採用することができる。この場合、前記給電許可状態から前記給電遮断状態に切り替えるように前記給電遮断部を切り替え操作することとは、前記電源遮断部の接続状態を前記導通状態から前記遮断状態に切り替えるように前記電源遮断部を切り替え操作することを意味する。
【００３５】
第９の発明は、前記第１監視部及び前記第２監視部のそれぞれは、前記ロボットが停止状態に維持されている場合において、前記給電許可状態から前記給電遮断状態へと前記給電遮断部を切り替え操作することなく、前記ロボットシステムの異常の有無を監視することを特徴とする。
【００３６】
製品製造の効率化等の観点から、外部電源からモータへの給電を遮断することなくロボットを停止状態に維持することも考えられる。ここで、ロボットが停止状態に維持されている場合において、第１，第２監視部のいずれかに異常が生じ、回転位置情報に基づく正常な処理が行われた結果として得られた処理結果と、正常な処理が行われていなくて得られた処理結果とが同じになる異常が生じ得る。ロボットの停止状態が長くなる場合、もう一方の監視部に異常が生じるときには、ロボットシステムの安全性を確保できなくなる懸念がある。
【００３７】
そこで上記発明は、第１，第２監視部からパルス信号を出力する構成、第１診断部及び第２診断部を備えている。これにより、ロボットの停止状態においても、第１，第２監視部のいずれかに異常が生じ、回転位置情報に基づく正常な処理が行われた結果として得られた処理結果と、正常な処理が行われていなくて得られた処理結果とが同じになる異常を検知でき、その異常が検知された場合には外部電源からモータへの給電を遮断できる。
【図面の簡単な説明】
【００３８】
【図１】第１実施形態に係るロボットシステムの概要を示す図。
【図２】セーフティコントローラの構成を示す図。
【図３】第１，第２監視部のパルス信号の出力態様を示す図。
【図４】異常検知処理の手順を示すフローチャート。
【図５】固着異常の検知手法を説明するためのタイムチャート。
【図６】第２実施形態に係る第１，第２監視部のパルス信号の出力態様を示す図。
【図７】入れ替わり異常の検知手法を説明するためのタイムチャート。
【図８】第３実施形態に係る入れ替わり異常の検知手法を説明するためのタイムチャート。
【図９】その他の実施形態に係るセーフティコントローラの構成を示す図。
【発明を実施するための形態】
【００３９】
＜第１実施形態＞
以下、ロボット制御装置を具体化した第１実施形態について、図面を参照しつつ説明する。本実施形態に係るロボットは、例えば産業用ロボットとして機械組立工場などの組立システムにて用いられる。
【００４０】
まず、図１を用いて、本実施形態に係るロボットシステムの概要について説明する。
【００４１】
図１に示すように、ロボットシステムを構成するロボット１０は、複数の回転部と、各回転部を互いに連結する関節とを備えている。本実施形態に係るロボット１０は、６軸の垂直多関節型ロボットとして構成されている。
【００４２】
ロボット１０は、床等に固定される固定部１１と、その固定部１１の上方に設けられる第１回転部１２とを有している。ロボット１０のアームは、第１回転部１２に加え、下アーム１３、上アーム１４、手首部１５、及びハンド部１６を有している。第１回転部１２は、アームの両端部のうちアーム先端部とは反対側の根元部に相当する。第１回転部１２は、鉛直方向に延びる第１軸線Ｊ１を回転中心として水平方向に回転可能になっている。
【００４３】
第１回転部１２には、水平方向に延びる第２軸線Ｊ２を回転中心として、時計回り方向又は反時計回り方向に回転可能に第２回転部としての下アーム１３の下端部が連結されている。下アーム１３の上端部には、上アーム１４が、水平方向に延びる第３軸線Ｊ３を回転中心として、時計回り方向又は反時計回り方向に回転可能に連結されている。上アーム１４は、基端側（回転の際に第３軸線Ｊ３を回転中心とする関節側）と先端側とで２つのアーム部に分割されて構成されており、基端側は第３回転部としての第１上アーム１４Ａ（第３回転部）、先端側は第４回転部としての第２上アーム１４Ｂ（第４回転部）となっている。第２上アーム１４Ｂは、上アーム１４の長手方向に延びる第４軸線Ｊ４を回転中心として、第１上アーム１４Ａに対してねじり方向に回転可能になっている。
【００４４】
第２上アーム１４Ｂの先端部には、第５回転部としての手首部１５が設けられている。手首部１５は、水平方向に延びる第５軸線Ｊ５を回転中心として、第２上アーム１４Ｂに対して回転可能になっている。手首部１５の先端部には、ワークやツール等を取り付けるための第６回転部としてのハンド部１６が設けられている。ハンド部１６は、その中心線である第６軸線Ｊ６を回転中心として、ねじり方向に回転可能になっている。なお、ハンド部１６の中心点であるＴＣＰ（Tool Center Point）が制御点１６ａとして設定されている。
【００４５】
ロボット１０の各回転部は、それぞれに対応して設けられるモータ４１（図２参照）により駆動される。モータ４１は、正逆両方向の回転が可能であり、モータ４１の駆動により原点位置を基準として各回転部が駆動される。
【００４６】
ロボットシステムは、さらに、ロボット１０を制御するコントローラ２０と、コントローラ２０に電気的に接続されたティーチングペンダント３０とを備えている。ティーチングペンダント３０は、ＣＰＵ、ＲＯＭ、及びＲＡＭを含むマイクロコンピュータ、各種の手動操作キー、並びにディスプレイ等を備えている。ペンダント３０は、コントローラ２０と通信可能となっている。オペレータは、ペンダント３０を手動操作して、ロボット１０の動作プログラムの作成、修正、登録、各種パラメータの設定を行うことができる。動作プログラムの修正等を行うティーチングでは、作業において制御点１６ａが通過する教示点を教示する。そして、オペレータは、コントローラ２０を介して、ティーチングされた動作プログラムに基づきロボット１０を動作させることができる。
【００４７】
続いて、図２を用いて、ロボットシステムの電気的構成について説明する。
【００４８】
コントローラ２０は、外部電源４０（商用電源）を電力供給源としてモータ４１を駆動させる駆動部２１を備えている。本実施形態において、駆動部２１は、入力される直流電圧を交流電圧に変換し、３相モータ４１のステータ巻線に印加する３相インバータを含む。インバータは、ハイサイドスイッチとローサイドスイッチとの直列接続体を３つ備えている。なお、モータ４１及び駆動部２１は、ロボット１０の各回転部のそれぞれに対応して個別に設けられている。
【００４９】
コントローラ２０は、外部電源４０から出力された交流電圧に基づいて、駆動部２１に供給する直流電圧を生成する駆動電源生成部２２を備えている。駆動電源生成部２２は、外部電源４０から出力された交流電圧を直流電圧に変換する整流器と、整流器から出力される直流電圧を昇圧するチョッパ方式の昇圧コンバータとを含む。
【００５０】
コントローラ２０は、外部電源４０と駆動電源生成部２２とを接続する電気経路上に設けられた第１電源遮断部２３及び第２電源遮断部２４を備えている。本実施形態では、各電源遮断部２３，２４として、コンタクタ（電磁接触器）を用いている。各電源遮断部２３，２４は、その接続状態が導通状態とされることにより外部電源４０と駆動電源生成部２２との間を電気的に接続し、その接続状態が遮断状態とされることにより外部電源４０と駆動電源生成部２２との間を電気的に遮断する。
【００５１】
コントローラ２０は、モータ４１の駆動制御を行う制御部２５を備えている。制御部２５は、マイクロプロセッサを主体として構成され、また、モータ４１の回転位置情報を検出する回転検出部としてのエンコーダ４２の出力信号を入力可能に構成されている。エンコーダ４２は、各モータ４１に対応して個別に設けられている。制御部２５は、各モータ４１の制御量（例えば回転速度）をその指令値に制御すべく、回転位置情報に基づいて制御信号であるＰＷＭ信号を生成し、駆動部２１に対してＰＷＭ信号を出力する。
【００５２】
コントローラ２０は、ロボット１０の異常の有無を監視する第１監視部２６及び第２監視部２７を備えている。各監視部２６，２７は、エンコーダ４２から出力された回転位置情報を入力可能に構成されている。第１監視部２６は、ロボット１０の異常を検知した場合、導通状態から遮断状態に第１電源遮断部２３を切り替え操作する。第２監視部２７は、ロボット１０の異常を検知した場合、導通状態から遮断状態に第２電源遮断部２４を切り替え操作する。第１電源遮断部２３及び第２電源遮断部２４の少なくとも一方が遮断状態とされることにより、外部電源４０から駆動部２１への給電が遮断され、ロボット１０が停止させられる。
【００５３】
第１監視部２６及び第２監視部２７のそれぞれは、ロボット１０の異常を検知した場合、その旨を制御部２５に通知する。制御部２５は、ロボット１０の異常が通知された場合、駆動部２１に対するＰＷＭ信号の出力を停止する。これにより、ロボット１０の駆動制御を停止させる。
【００５４】
第１，第２監視部２６，２７には、２値の論理信号である安全入力信号が入力される。本実施形態において、安全入力信号は、論理Ｈによって安全である旨を示し、論理Ｌによって安全でない旨を示す。第１，第２監視部２６，２７は、論理Ｈの安全入力信号が入力されることを条件として、制御部２５によるロボット１０の駆動制御を許可する。一方、第１監視部２６は、論理Ｌの安全信号が入力されていると判定した場合、第１電源遮断部２３を遮断状態に切り替え、第２監視部２７は、論理Ｌの安全信号が入力されていると判定した場合、第２電源遮断部２４を遮断状態に切り替える。
【００５５】
なお、安全入力信号の論理がＬになる場合とは、例えば、非常停止スイッチが作業者によって押されたり、ライトカーテンで区画された立入禁止領域に作業者が立ち入ったりする場合である。
【００５６】
第１監視部２６及び第２監視部２７のそれぞれは、自身の処理結果と相手方の処理結果との不一致を検知した場合、第１監視部２６及び第２監視部２７のいずれかに異常が生じている旨判定する。
【００５７】
詳しくは、第１監視部２６は、１演算周期毎に、エンコーダ４２からの回転位置情報に基づく複数の処理のそれぞれを予め定められた順序で順次行う。本実施形態では図３に示すように、第１監視部２６は、１演算周期毎に、安全入力信号及び各回転軸に対応するエンコーダ４２の回転位置情報を取得する取得処理、位置算出処理、速度算出処理、位置監視判定処理、並びに速度監視判定処理の順序でこれら処理を順次行う。
【００５８】
位置算出処理は、エンコーダ４２からの回転位置情報を入力とした順変換処理により、ロボット１０の制御点１６ａの現在位置を算出する処理である。速度算出処理は、位置算出処理により算出された制御点１６ａの現在位置と、１演算周期前に算出された制御点１６ａの位置とに基づいて、制御点１６ａの動作速度を算出する処理である。位置監視判定処理は、位置算出処理により算出された制御点１６ａの現在位置が所定動作領域内にあるか否かを判定する処理である。速度監視判定処理は、速度算出処理により算出された動作速度が規定速度以下であるか否かを判定する処理である。
【００５９】
第２監視部２７は、１演算周期毎に、エンコーダ４２からの回転位置情報に基づく複数の処理のそれぞれを予め定められた順序で順次行う。本実施形態では図３に示すように、第２監視部は、１演算周期毎に、第１監視部と同じように、取得処理、位置算出処理、速度算出処理、位置監視判定処理、並びに速度監視判定処理の順序で、第１監視部２６と同期をとりながらこれら処理を順次行う。本実施形態において、第１監視部２６の１演算周期と第２監視部２７の１演算周期とは同じ周期に設定されている。
【００６０】
第１監視部２６と第２監視部２７とは互いに通信可能に構成されている。第１監視部２６は、図３に示す５つの処理のそれぞれにおいて、自身が行った処理結果と第２監視部２７から取得した処理結果とが互いに異なると判定した場合、第１電源遮断部２３を遮断状態に切り替える。具体的には例えば、第１監視部２６は、取得処理で取得した安全入力信号の論理と、第２監視部２７から取得した安全入力信号の論理とが一致していないと判定した場合、第１電源遮断部２３を遮断状態に切り替える。
【００６１】
第２監視部２７は、図３に示す５つの処理のそれぞれにおいて、自身が行った処理結果と第１監視部２６から取得した処理結果とが互いに異なると判定した場合、第２電源遮断部２４を遮断状態に切り替える。
【００６２】
本実施形態において、第１，第２監視部２６，２７は、ロボット１０が停止状態に維持されている場合において、第１，第２電源遮断部２３，２４を遮断状態に切り替えることなく、ロボット１０が停止状態に維持されていることを監視する停止監視機能を有している。第１，第２監視部２６，２７は、停止監視機能によりロボット１０を監視している場合において、ロボットシステムの異常を検知したとき、第１，第２電源遮断部２３，２４を遮断状態に切り替える。
【００６３】
ここで、停止監視機能によりロボット１０の停止状態が監視されている状況下において、図３に示した回転位置情報に基づく処理が停止し、処理結果が変化せず固着してしまう固着異常が第１，第２監視部２６，２７のいずれかに生じ得る。この場合、ロボット１０が停止状態に置かれているため、エンコーダ４２の回転位置情報に基づく正常な処理が行われた結果として得られた処理結果と、正常な処理が行われていなくて得られた処理結果とが同じになる。具体的には例えば、取得処理により取得されたエンコーダ４２の回転位置情報が、第１監視部２６と第２監視部２７とで同じになる。したがって、ロボット１０を動作させない限りは、固着異常を検知することはできない。
【００６４】
そこで、固着異常を検知すべく、本実施形態に係るコントローラ２０は、図３に示すように、第１，第２監視部２６，２７からパルス信号ＰＳ１，ＰＳ２，ＰＳ３を出力させる構成と、第１診断部２８及び第２診断部２９とを備えている。
【００６５】
第１監視部２６は、１演算周期毎に、５つの処理のうち３つの特定処理のそれぞれの完了後に１つのパルス信号を出力する。本実施形態において、これら特定処理は、取得処理、速度算出処理、及び速度監視判定処理である。また、第１監視部２６に異常が生じていない場合において、３つの特定処理のそれぞれの完了後に出力されるパルス信号のうち時間的に隣り合うパルス信号の時間間隔は、互いに異なってかつ予め定められた時間間隔Ｔα，Ｔβ，Ｔγに設定されている（図５（ａ）参照）。
【００６６】
第２監視部２７は、１演算周期毎に、５つの処理のうち第１監視部２６と同じ３つの特定処理のそれぞれの完了後に１つのパルス信号を出力する。本実施形態において、第２監視部２７から出力されるパルス信号のパルス幅は、第１監視部２６から出力されるパルス信号のパルス幅と同じに設定されている。また、第２監視部２７に異常が生じていない場合において、３つの特定処理のそれぞれの完了後に出力されるパルス信号のうち時間的に隣り合うパルス信号の時間間隔は、互いに異なってかつ予め定められた時間間隔Ｔα，Ｔβ，Ｔγに設定されている。
【００６７】
第１診断部２８は、第１監視部２６からパルス信号が入力される時間間隔が予め定められた第１閾値時間と一致すると判定した場合、第１電源遮断部２３を導通状態に維持する。一方、第１診断部２８は、パルス信号が長期間入力されないと判定した場合、すなわちパルス信号が入力される時間間隔が第１閾値時間と一致しないと判定した場合、導通状態から遮断状態に切り替えるように第１電源遮断部２３を切り替え操作する。
【００６８】
第２診断部２９は、第２監視部２７からパルス信号が入力される時間間隔が予め定められた第２閾値時間と一致すると判定した場合、第２電源遮断部２４を導通状態に維持する。一方、第２診断部２９は、パルス信号が長期間入力されないと判定した場合、導通状態から遮断状態に切り替えるように第２電源遮断部２４を切り替え操作する。これにより、固着異常が生じた場合であっても、固着異常を迅速に検知してロボット１０を動作させないようにする。
【００６９】
図４に、第１，第２診断部２８，２９によって実行される異常診断処理の手順を示す。なお本実施形態において、第１診断部２８における異常診断処理と第２診断部２９における異常診断処理とは同じである。このため本実施形態では、第１診断部２８を例にして説明する。
【００７０】
この一連の処理では、まずステップＳ１０において、第１監視部２６から出力されたパルス信号が入力されたか否かを判定する。本実施形態では、第１監視部２６に異常が生じていない場合、コントローラ２０の起動後、図３に示す取得処理が完了した後に第１監視部２６からパルス信号ＰＳ１が出力され、ステップＳ１０で肯定判定される。
【００７１】
ステップＳ１０において否定判定した場合には、ステップＳ１１に進み、コントローラ２０の起動後、ステップＳ１０において初めて否定判定されたタイミング（基準となるタイミング）から規定時間Ｔｔｈ経過したか否かを判定する。この処理は、固着異常が生じているか否かを判定するための処理である。つまり、コントローラ２０の起動後に固着異常が生じた場合には、取得処理が完了しないため、第１監視部２６からパルス信号ＰＳ１が出力されない。
【００７２】
なお上記規定時間Ｔｔｈは、具体的には例えば、図５（ａ）に示す第１監視部２６に異常が生じていない場合において、各パルス信号ＰＳ１，ＰＳ２，ＰＳ３の３つの時間間隔（Ｔβ＞Ｔα＞Ｔγ）のうち最大となる時間Ｔβ以上の時間に設定されればよい。より具体的には、規定時間Ｔｔｈは、図３に示す５つの処理の合計処理時間である１演算周期以上の時間に設定されればよい。
【００７３】
ステップＳ１１において規定時間Ｔｔｈ経過していないと判定した場合には、ステップＳ１０に戻る。一方、ステップＳ１１において規定時間Ｔｔｈ経過したと判定した場合には、ステップＳ１２に進み、第１監視部２６に固着異常が生じている旨診断する。
【００７４】
ステップＳ１０においてパルス信号が入力されたと判定した場合には、ステップＳ１３に進み、パルス信号が入力されたか否かを判定する。本実施形態では、第１監視部２６に異常が生じていない場合、図３に示す速度算出処理が完了した後に第１監視部２６からパルス信号ＰＳ２が出力されるため、ステップＳ１３で肯定判定される。
【００７５】
ステップＳ１３において否定判定した場合には、ステップＳ１４に進み、ステップＳ１０からステップＳ１３に移行した直後、ステップＳ１３において初めて否定判定されたタイミングから規定時間Ｔｔｈ経過したか否かを判定する。この処理は、固着異常を検知するための処理である。つまり、取得処理の完了後に固着異常が生じた場合には、速度算出処理が完了しないため、第１監視部２６からパルス信号ＰＳ２が出力されない。
【００７６】
ステップＳ１４において規定時間Ｔｔｈ経過していないと判定した場合には、ステップＳ１３に戻る。一方、ステップＳ１４において規定時間Ｔｔｈ経過したと判定した場合には、ステップＳ１２に進む。
【００７７】
ステップＳ１３においてパルス信号が入力されたと判定した場合には、ステップＳ１５に進み、ステップＳ１０で肯定判定されてからステップＳ１３で肯定判定されるまでの時間をカウンタにより計時し、第１時間Ｔ１として算出する。なお本実施形態では、算出した第１時間Ｔ１をコントローラ２０のメモリに記憶させる。
【００７８】
続くステップＳ１６では、第１時間Ｔ１が第１判定時間Ｔαと一致するか否かを判定する。この処理は、第１診断部２８において処理時間の異常が生じているか否かを判定するための処理である。処理時間の異常とは、第１時間Ｔ１が第１判定時間Ｔαに対して過度に長かったり、過度に短かったりする異常のことである。本実施形態では、「Ｔα−Δ≦Ｔ１≦Ｔα＋Δ」が成立すると判定した場合、第１時間Ｔ１が第１判定時間Ｔαと一致すると判定する。ここで、Δは０よりも大きい微小量である。また、第１判定時間Ｔαは、予め定められた値であり、本実施形態では、取得処理が完了してから速度算出処理が完了するまでの時間に設定されている。
【００７９】
ステップＳ１６において一致しないと判定した場合には、ステップＳ１７に進み、処理時間の異常が生じている旨診断する。
【００８０】
ステップＳ１６において一致すると判定した場合には、ステップＳ１８に進み、パルス信号が入力されたか否かを判定する。本実施形態では、第１監視部２６に異常が生じていない場合、図３に示す速度監視判定処理が完了した後に第１監視部２６からパルス信号ＰＳ３が出力されるため、ステップＳ１８で肯定判定される。
【００８１】
ステップＳ１８において否定判定した場合には、ステップＳ１９に進み、ステップＳ１６からステップＳ１８に移行した直後、ステップＳ１８において初めて否定判定されたタイミングから規定時間Ｔｔｈ経過したか否かを判定する。この処理は、固着異常を検知するための処理である。つまり、速度監視判定処理の完了後に固着異常が生じた場合には、速度監視判定処理が完了しないため、第１監視部２６からパルス信号ＰＳ３が出力されない。
【００８２】
ステップＳ１９において規定時間Ｔｔｈ経過していないと判定した場合には、ステップＳ１８に戻る。一方、ステップＳ１９において規定時間Ｔｔｈ経過したと判定した場合には、ステップＳ１２に進む。
【００８３】
ステップＳ１８においてパルス信号が入力されたと判定した場合には、ステップＳ２０に進み、ステップＳ１３で肯定判定されてからステップＳ１８で肯定判定されるまでの時間をカウンタにより計時し、第２時間Ｔ２として算出する。なお本実施形態では、算出した第２時間Ｔ２をコントローラ２０のメモリに記憶させる。
【００８４】
続くステップＳ２１では、第２時間Ｔ２が第２判定時間Ｔβと一致するか否かを判定する。この処理は、第１診断部２８において処理時間の異常が生じているか否かを判定するための処理である。本実施形態では、「Ｔβ−Δ≦Ｔ２≦Ｔβ＋Δ」が成立すると判定した場合、第２時間Ｔ２が第２判定時間Ｔβと一致すると判定する。第２判定時間Ｔβは、予め定められた値であり、本実施形態では、速度算出処理が完了してから速度監視判定処理が完了するまでの時間に設定されている。ステップＳ２１において一致しないと判定した場合には、ステップＳ２２に進み、処理時間の異常が生じている旨診断する。
【００８５】
ステップＳ２１において一致すると判定した場合には、ステップＳ２３に進み、パルス信号が入力されたか否かを判定する。本実施形態では、第１監視部２６に異常が生じていない場合、図３に示す取得処理が完了した後に第１監視部２６からパルス信号ＰＳ１が出力されるため、ステップＳ２３で肯定判定される。
【００８６】
ステップＳ２３において否定判定した場合には、ステップＳ２４に進み、ステップＳ２１からステップＳ２３に移行した直後、ステップＳ２３において初めて否定判定されたタイミングから規定時間Ｔｔｈ経過したか否かを判定する。この処理は、固着異常を検知するための処理である。
【００８７】
ステップＳ２４において規定時間Ｔｔｈ経過していないと判定した場合には、ステップＳ２３に戻る。一方、ステップＳ２４において規定時間Ｔｔｈ経過したと判定した場合には、ステップＳ１２に進む。
【００８８】
ステップＳ２３においてパルス信号が入力されたと判定した場合には、ステップＳ２５に進み、ステップＳ１８で肯定判定されてからステップＳ２２で肯定判定されるまでの時間をカウンタにより計時し、第３時間Ｔ３として算出する。なお本実施形態では、算出した第３時間Ｔ３をコントローラ２０のメモリに記憶させる。
【００８９】
続くステップＳ２６では、第３時間Ｔ３が第３判定時間Ｔγと一致するか否かを判定する。この処理は、処理時間の異常が生じているか否かを判定するための処理である。本実施形態では、「Ｔγ−Δ≦Ｔ３≦Ｔγ＋Δ」が成立すると判定した場合、第３時間Ｔ３が第３判定時間Ｔγと一致すると判定する。第３判定時間Ｔγは、予め定められた値であり、本実施形態では、速度監視判定処理が完了してから取得処理が完了するまでの時間に設定されている。ステップＳ２６において一致しないと判定した場合には、ステップＳ２８に進み、処理時間の異常が生じている旨判定する。
【００９０】
ステップＳ１７，Ｓ２２，Ｓ２８の完了後、ステップＳ２９では、入れ替わり異常が発生しているかを判定する。入れ替わり異常とは、第１監視部２６及び第２監視部２７のいずれかにおいて、図３に示す５つの処理の少なくとも２つの順序が入れ替わり、５つの処理の順序が予め定められた順序とは異なるものとなる異常のことである。詳しくは、第１監視部２６から入力されたパルス信号の時間間隔の順序が予め定められた時間間隔の順序と一致しないと判定した場合、第１監視部２６に入れ替わり異常が生じている旨判定する。具体的には例えば、メモリに記憶された第１，第２，第３時間Ｔ１，Ｔ２，Ｔ３の順序が、第１判定時間Ｔα，Ｔβ，Ｔγの順序と一致しないと判定した場合、第２監視部２６に入れ替わり異常が生じている旨判定する。なお本実施形態では、実際に入れ替わり異常が生じている場合であっても、ステップＳ２９において入れ替わり異常が生じていることを必ずしも判定できるわけではない。
【００９１】
ステップＳ２９又はステップＳ１２の完了後、ステップＳ３０に進み、導通状態から遮断状態に第１電源遮断部２３を切り替え操作する。
【００９２】
なお、ステップＳ２６において一致すると判定した場合には、ステップＳ１３に移行する。そして、ステップＳ１３において否定判定した場合には、ステップＳ１４に進み、ステップＳ２６からステップＳ１３に移行した直後、ステップＳ１３において初めて否定判定されたタイミングから規定時間Ｔｔｈ経過したか否かを判定する。その後ステップＳ１３において肯定判定した場合、ステップＳ１５に進む。ステップＳ１５では、ステップＳ２５で肯定判定されてからステップＳ１３で肯定判定されるまでの時間をカウンタで計時し、第１時間Ｔ１として算出する。
【００９３】
ちなみに本実施形態において、第１診断部２８において用いられる各判定時間Ｔα，Ｔβ，Ｔγが「第１閾値時間」に相当し、第２診断部２９において用いられる各判定時間Ｔα，Ｔβ，Ｔγが「第２閾値時間」に相当する。
【００９４】
図５に、第１監視部２６の正常時及び固着異常時のそれぞれのパルス信号の推移を示す。図５に示す例では、速度算出処理が完了し、パルス信号ＰＳ２が出力された直後において固着異常が生じる。このため、その後第１診断部２８にパルス信号が入力されない。これにより、第１診断部２８により固着異常が生じている旨診断され、第１電源遮断部２３が遮断状態に切り替えられる。
【００９５】
以上詳述した本実施形態は、以下の利点を有する。
【００９６】
第１監視部２６は、１演算周期毎に、取得処理、速度算出処理、及び速度監視判定処理のそれぞれの完了後に１つのパルス信号を出力する。第１監視部２６に異常が生じていない場合において、これら処理のそれぞれの完了後に出力されるパルス信号のうち時間的に隣り合うパルス信号の時間間隔は、互いに異なってかつ予め定められた時間間隔Ｔα，Ｔβ，Ｔγに設定されている。また、第２監視部２７は、１演算周期毎に、取得処理、速度算出処理、及び速度監視判定処理のそれぞれの完了後に１つのパルス信号を出力する。第２監視部２７に異常が生じていない場合において、これら処理のそれぞれの完了後に出力されるパルス信号のうち時間的に隣り合うパルス信号の時間間隔は、互いに異なってかつ予め定められた時間間隔Ｔα，Ｔβ，Ｔγに設定されている。
【００９７】
この構成において、第１，第２診断部２８，２９は、第１，第２監視部２６，２７からパルス信号が入力される各時間間隔Ｔ１，Ｔ２，Ｔ３が予め定められた各判定時間Ｔα，Ｔβ，Ｔγと一致しないと判定した場合、第１，第２監視部２６，２７に処理時間の異常が生じていると判定する。そして第１，第２診断部２８，２９は、導通状態から遮断状態に切り替えるように第１，第２電源遮断部２３，２４を切り替え操作する。これにより、第１監視部２６及び第２監視部２７のいずれかに固着異常等の単一故障が生じた場合であっても、その異常を迅速に検知してロボット１０を動作させないようにできる。
【００９８】
＜第２実施形態＞
以下、第２実施形態について、上記第１実施形態との相違点を中心に図面を参照しつつ説明する。本実施形態において、第１，第２監視部２６，２７は、図６に示すように、１演算周期毎に、５つの処理のそれぞれの完了後にパルス信号を出力する。本実施形態では、取得処理，位置算出処理，速度算出処理，位置監視判定処理，速度監視判定処理のそれぞれの完了後に出力されるパルス信号をＰＳ１，ＰＳ２，ＰＳ３，ＰＳ４，ＰＳ５としている。
【００９９】
第１，第２監視部２６，２７に異常が生じていない場合において、各パルス信号ＰＳ１，ＰＳ２，ＰＳ３，ＰＳ４，ＰＳ５のそれぞれのパルス数は、互いに異なってかつ予め定められたパルス数に設定されている。本実施形態では、図７（ａ）に示すように、各パルス信号ＰＳ１，ＰＳ２，ＰＳ３，ＰＳ４，ＰＳ５のパルス数を１，２，３，４，５つとしている。
【０１００】
また本実施形態において、５つの処理のそれぞれの完了後に出力される最初のパルス信号の時間間隔は、図７（ａ）に示すように、互いに同じであってかつ予め定められた時間間隔ＴＬに設定されている。
【０１０１】
この構成は、パルス信号の出力間隔が互いに等しい場合であっても、入れ替わり異常を検知するために設けられている。図７（ｂ）には、位置監視判定処理と速度監視判定処理とが入れ替わる異常が生じる場合のパルス信号の推移を例示した。この場合、第１監視部２６を例にして説明すると、第１診断部２８に入力されたパルス信号のパルス数の順序「１，２，３，５，４」が予め定められたパルス数の順序「１，２，３，４，５」と一致しない。このため、第１診断部２８には、４つのパルス数を有するパルス信号ＰＳ４が入力されるべき状況において、５つのパルス数を有するパルス信号ＰＳ５が入力される。これにより、第１診断部２８は、入力されたパルス信号のパルス数の順序が予め定められたパルス数の順序と一致しないと判定し、導通状態から遮断状態に切り替えるように第１電源遮断部２３を切り替え操作する。
【０１０２】
このように本実施形態によれば、第１監視部２６や第２監視部２７のそれぞれから出力されるパルス信号の時間間隔が互いに等しい場合であっても、処理の入れ替わりをパルス数により識別できるため、入れ替わり異常を検知することができる。
【０１０３】
ちなみに上記第２実施形態において、第１監視部２６に異常が生じていない場合において、図６に示す５つの処理のそれぞれの完了後に出力される最初のパルス信号のうち、時間的に隣り合うパルス信号の時間間隔を、互いに異なる時間間隔に設定してもよい。この場合、第１監視部２６は、５つの処理のそれぞれの完了後に出力される最初のパルス信号の時間間隔が予め定められた閾値時間と一致しないと判定した場合、処理時間の異常が生じていると判定してもよい。なお、第２監視部２７についても同様である。
【０１０４】
＜第３実施形態＞
以下、第３実施形態について、上記第２実施形態との相違点を中心に図面を参照しつつ説明する。本実施形態では、図８（ａ）に示すように、第１，第２監視部２６，２７に異常が生じていない場合において、各パルス信号ＰＳ１，ＰＳ２，ＰＳ３，ＰＳ４，ＰＳ５のそれぞれのパルス幅は、互いに異なってかつ予め定められたパルス幅に設定されている。本実施形態では、各パルス信号ＰＳ１，ＰＳ２，ＰＳ３，ＰＳ４，ＰＳ５のパルス幅がＷ１，Ｗ２，Ｗ３，Ｗ４，Ｗ５に設定されている。
【０１０５】
図８（ｂ）には、位置監視判定処理と速度監視判定処理とが入れ替わる異常が生じる場合のパルス信号の推移を例示した。この場合、第１監視部２６を例にして説明すると、第１診断部２８に入力されたパルス信号のパルス幅の順序「Ｗ１，Ｗ２，Ｗ３，Ｗ５，Ｗ４」が予め定められたパルス数の順序「Ｗ１，Ｗ２，Ｗ３，Ｗ４，Ｗ５」と一致しない。このため、第１診断部２８には、Ｗ４のパルス幅を有するパルス信号ＰＳ４が入力されるべき状況において、Ｗ５のパルス幅を有するパルス信号ＰＳ５が入力される。これにより、第１診断部２８は、入力されたパルス信号のパルス幅の順序が予め定められたパルス幅の順序と一致しないと判定し、導通状態から遮断状態に切り替えるように第１電源遮断部２３を切り替え操作する。
【０１０６】
以上説明した本実施形態によっても、上記第２実施形態と同様の効果を得ることができる。
【０１０７】
ちなみに上記第３実施形態において、第１監視部２６に異常が生じていない場合において、図６に示す５つの処理のそれぞれの完了後に出力されるパルス信号のうち、時間的に隣り合うパルス信号の時間間隔を、互いに異なる時間間隔に設定してもよい。この場合、第１監視部２６は、５つの処理のそれぞれの完了後に出力されるパルス信号の時間間隔が予め定められた閾値時間と一致しないと判定した場合、処理時間の異常が生じていると判定してもよい。なお、第２監視部２７についても同様である。
【０１０８】
＜その他の実施形態＞
なお、上記各実施形態を以下のように変更して、実施することもできる。
【０１０９】
・上記第１実施形態では、電源遮断部を導通状態から遮断状態に切り替え操作することにより、ロボット１０を動作させないようにしたがこれに限らない。以下、図９を用いて説明する。なお図９において、先の図２に示した構成と同一の構成については、便宜上、同一の符号を付している。
【０１１０】
コントローラ２０は、信号遮断部５０を備えている。信号遮断部５０は、制御部２５と駆動部２１とを接続するＰＷＭ信号伝達用の信号伝達経路上に設けられている。信号遮断部５０は、信号伝達経路上に設けられたバッファＩＣ５０ａ（例えばスリーステートバッファ）と、スイッチ５０ｂとを有している。スイッチ５０ｂは、通電操作されることにより、電源５１とバッファＩＣ５０ａとの間の電気的な接続状態を導通状態及び遮断状態のいずれかに切り替えるものである。スイッチ５０ｂが導通状態とされることにより、信号伝達経路が信号通過可能状態とされる。これにより、制御部２５から出力されたＰＷＭ信号は、バッファＩＣ５０ａを介して駆動部２１に伝達される。一方、スイッチ５０ｂが遮断状態とされることにより、信号伝達経路が信号遮断状態とされる。これにより、制御部２５から出力されたＰＷＭ信号は、バッファＩＣ５０ａを通過することができず、ＰＷＭ信号が駆動部２１に伝達されない。その結果、駆動部２１のインバータを構成する全てのハイサイド，ローサイドスイッチがオフされる。これにより、外部電源４０から駆動部２１を介したモータ４１への給電が遮断される。
【０１１１】
この構成において、第１，第２診断部２８，２９により、スイッチ５０ｂを遮断状態に切り替え操作することにより、信号遮断部５０を信号遮断状態に切り替え、ロボット１０を動作させないようにしてもよい。
【０１１２】
・上記各実施形態において、速度監視判定処理の完了後にパルス信号を出力しなくてもよい。
【０１１３】
・上記第１実施形態において、取得処理、位置算出処理、速度算出処理、位置監視判定処理、及び速度監視判定処理の５つの処理のうちどの処理の完了後にパルス信号を出力するかを、第１監視部２６及び第２監視部２７のそれぞれで異ならせてもよい。この場合、第１診断部２８で用いられる各判定時間と、第２診断部２９で用いられる各判定時間とが異なる値に設定され得る。
【０１１４】
・上記第２実施形態において、上記５つの処理のそれぞれの完了後に出力される最初のパルス信号の時間間隔を、第１監視部２６及び第２監視部２７のそれぞれで異ならせてもよい。
【０１１５】
・上記第２実施形態において、上記５つの処理のそれぞれの完了後に出力されるパルス信号のパルス数を、第１監視部２６及び第２監視部２７のそれぞれで異ならせてもよい。
【０１１６】
・上記第３実施形態において、上記５つの演算処理のそれぞれの完了後に出力されるパルス信号のパルス幅を、第１監視部２６及び第２監視部２７のそれぞれで異ならせてもよい。
【０１１７】
・上記第１実施形態において、第１，第２監視部２６，２７が制御部２５の異常の有無を監視してもよい。この場合、第１，第２監視部２６，２７によって制御部２５の異常が検知された場合、第１，第２監視部２６，２７によって第１，第２電源遮断部２３，２４を遮断状態に切り替え操作すればよい。
【０１１８】
・上記第１実施形態において、電源遮断部を１つにしてもよい。この場合、第１監視部、第２監視部、第１診断部及び第２診断部が共通の電源遮断部を切り替え操作する構成となる。
【０１１９】
・第１，第２電源遮断部２３，２４としては、コンタクタに限らず、例えばＩＧＢＴ等の半導体スイッチであってもよい。
【０１２０】
・上記第１実施形態において、駆動部２１を筐体２０ａに収容してもよい。
【０１２１】
・ロボットとしては、垂直多関節型のものに限らず、例えば水平多関節型のものを採用してもよい。
【符号の説明】
【０１２２】
１０…ロボット、２０…コントローラ、２１…駆動部、２３，２４…第１，第２電源遮断部、２５…制御部、２６，２７…第１，第２監視部、２８，２９…第１，第２診断部、４１…モータ。
【図１】
0006613849.tif 000002
【図２】
0006613849.tif 000003
【図３】
0006613849.tif 000004
【図４】
0006613849.tif 000005
【図５】
0006613849.tif 000006
【図６】
0006613849.tif 000007
【図７】
0006613849.tif 000008
【図８】
0006613849.tif 000009
【図９】
0006613849.tif 000010