(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024060200
(43)【公開日】2024-05-02
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
B25J 19/06 20060101AFI20240424BHJP
【FI】
B25J19/06
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022167407
(22)【出願日】2022-10-19
(71)【出願人】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100104433
【弁理士】
【氏名又は名称】宮園 博一
(74)【代理人】
【識別番号】100202728
【弁理士】
【氏名又は名称】三森 智裕
(72)【発明者】
【氏名】田頭 毅
(72)【発明者】
【氏名】荒本 雅夫
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS12
3C707HS27
3C707JS07
3C707KS21
3C707MS14
3C707MS23
(57)【要約】
【課題】互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することが可能なロボットシステムを提供する。
【解決手段】ロボットシステム100は、ロボットと、駆動部12と、ロボットの動作を制御する第1制御部21と、第1制御部21からの指令に基づいて駆動部12に供給される電力を制御する第2制御部22と、を備える。そして、第1制御部21と第2制御部22との各々は、相互に動作状態を監視するとともにロボットの動作の異常を検出し、動作状態およびロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、駆動部12の動作を停止するための停止指令を出力する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ロボットと、
前記ロボットを動作させるための駆動源となる駆動部と、
前記ロボットの動作を制御する第1制御部と、
前記第1制御部からの指令に基づいて前記駆動部に供給される電力を制御する第2制御部と、を備え、
前記第1制御部と前記第2制御部との各々は、
相互に動作状態を監視するとともに前記ロボットの動作の異常を検出し、
前記動作状態および前記ロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、前記駆動部の動作を停止するための停止指令を出力する、ロボットシステム。
【請求項2】
前記第1制御部および前記第2制御部とは別個に設けられ、前記駆動部の動作を停止させる制御を行う停止制御部をさらに備え、
前記第1制御部と前記第2制御部との各々は、前記動作異常が検出された場合に、前記停止制御部に対して前記停止指令を別個に出力する、請求項1に記載のロボットシステム。
【請求項3】
前記駆動部に電力を供給する駆動回路部をさらに備え、
前記停止制御部は、第1停止制御部および第2停止制御部を有し、
前記第1制御部および前記第2制御部の各々は、前記動作異常が検出された場合に、前記第1停止制御部および前記第2停止制御部の各々に対して前記停止指令を出力し、
前記第1停止制御部および前記第2停止制御部の各々は、前記停止指令に基づいて前記駆動回路部の動作を停止させる、請求項2に記載のロボットシステム。
【請求項4】
前記第1停止制御部および前記第2停止制御部の各々は、互いに信号の送受信を行うことによって相互に動作状態を監視する、請求項3に記載のロボットシステム。
【請求項5】
前記駆動部は、電力が供給されることにより回転するサーボモータと、前記サーボモータの回転角を検出する回転角検出部とを含み、
前記第1制御部および前記第2制御部の各々は、前記回転角検出部により検出された前記サーボモータの回転角を示す検出値と、前記第1制御部から前記第2制御部に対して出力された前記駆動部の動作を制御するための指令に基づく指令値とを比較することによって、前記動作異常を別個に検出するとともに、前記動作異常が検出された場合に前記停止指令を別個に出力する、請求項1~4のいずれか1項に記載のロボットシステム。
【請求項6】
前記駆動部の動作を停止するための停止信号を受け付けるための入出力モジュールをさらに備え、
前記入出力モジュールは、受け付けられた前記停止信号に基づいて、異常が検出されたことを示す異常信号を各々が生成する第1信号生成部および第2信号生成部を含み、
前記第1信号生成部および前記第2信号生成部の各々は、前記第1制御部および前記第2制御部の各々に対して生成された前記異常信号を出力する、請求項1~4のいずれか1項に記載のロボットシステム。
【請求項7】
外部装置からの前記駆動部の動作を停止するための停止信号が入力される通信モジュールをさらに備え、
前記第1制御部および前記第2制御部の各々は、前記通信モジュールを介して取得された前記停止信号に基づいて、前記停止指令を出力する、請求項1~4のいずれか1項に記載のロボットシステム。
【請求項8】
前記ロボットは、作業を行うためのエンドエフェクタが取り付けられたロボットアームを含み、
前記駆動部は、前記ロボットアームを動作させ、
前記第1制御部と前記第2制御部との各々は、前記ロボットアームの位置、前記ロボットアームの移動速度、前記エンドエフェクタの向き、および、前記ロボットアームが停止しているか否かの判定のうちの少なくとも2つに基づいて、前記動作異常を検出するとともに、前記動作異常が検出された場合に、前記停止指令を出力する、請求項1~4のいずれか1項に記載のロボットシステム。
【請求項9】
前記駆動部は、電力が供給されることにより回転するサーボモータと、前記サーボモータの回転角を検出する回転角検出部とを含み、
前記ロボットは、作業を行うためのエンドエフェクタが取り付けられたロボットアームを含み、
前記第1制御部および前記第2制御部の各々は、
前記回転角検出部により検出された前記サーボモータの回転角を示す検出値に基づいて、前記駆動部の動作により移動する前記ロボットアームの位置、および、前記ロボットアームの移動速度の少なくとも一方を算出し、
算出された前記ロボットアームの位置、および、前記ロボットアームの移動速度の少なくとも一方の算出結果を互いに出力することによって他方の前記算出結果を取得し、
自身の前記算出結果と取得された他方の前記算出結果とを比較することによって、相互に前記動作状態を監視し、
前記算出結果を比較した結果に基づいて前記動作異常が検出された場合に前記停止指令を出力する、請求項1~4のいずれか1項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
この開示は、ロボットシステムに関し、特に、ロボットの動作を制御する制御部を備えるロボットシステムに関する。
【背景技術】
【0002】
従来、ロボットの動作を制御する制御部を備えるロボットシステムが知られている。たとえば、特許文献1には、産業用ロボットの制御装置が開示されている。この産業用ロボットの制御装置は、メインCPU部とサーボCPU部とを備えている。メインCPU部は、ロボットの速度指令信号を出力する。サーボCPU部は、メインCPU部からの速度指令信号の指示する速度によってロボットの各軸のサーボモータを動作させる。そして、上記特許文献1に記載の産業用ロボットの制御装置では、メインCPU部とサーボCPU部との各々に、比較手段が設けられている。比較手段は、ロボットの各軸のサーボモータの回転量を取得するためのエンコーダからの信号に基づいて算出された実速度と、メインCPU部が指令する指令速度とを比較する。そして、メインCPU部とサーボCPU部との各々において、比較結果が許容値を越えた場合に異常発生処理が実行される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に記載の産業用ロボットの制御装置では、メインCPU部による指令に基づいてサーボCPU部によってサーボモータの回転が制御されるため、メインCPU部に異常が生じた場合には、メインCPU部からサーボCPU部に出力される指令自体が異常となることによりサーボモータの制御が正常に行われないと考えられる。この場合、上記特許文献1のように、メインCPU部からの指令とサーボモータの回転の実速度とを比較した場合にも、ロボットの動作の異常を正確に検出することが困難となる。したがって、互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することが望まれている。
【0005】
この開示は、上記のような課題を解決するためになされたものであり、この開示の1つの目的は、互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することが可能なロボットシステムを提供することである。
【課題を解決するための手段】
【0006】
この開示の一の局面によるロボットシステムは、ロボットと、ロボットを動作させるための駆動源となる駆動部と、ロボットの動作を制御する第1制御部と、第1制御部からの指令に基づいて駆動部に供給される電力を制御する第2制御部と、を備え、第1制御部と第2制御部との各々は、相互に動作状態を監視するとともにロボットの動作の異常を検出し、動作状態およびロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、駆動部の動作を停止するための停止指令を出力する。
【0007】
この開示の一の局面によるロボットシステムは、上記のように、第1制御部と第2制御部との各々は、相互に動作状態を監視するとともにロボットの動作の異常を検出し、動作状態およびロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、駆動部の動作を停止するための停止指令を出力する。これにより、第1制御部と第2制御部との互いに異なる2つの制御部の各々によってロボットの動作を制御する場合に、第1制御部と第2制御部とが相互に動作状態を監視することによって、第1制御部と第2制御部との各々に生じた異常を互いに検出することができる。そのため、互いに異常が生じていないことが確認された第1制御部と第2制御部との各々によって、ロボットの動作の異常を検出することができる。その結果、互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することができる。
【発明の効果】
【0008】
本開示によれば、互いに異なる2つの制御部を用いてロボットの動作を制御する場合に、ロボットの動作の異常を正確に検出することができる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態によるロボットシステムの全体構成を示した模式図である。
【
図2】一実施形態によるロボットシステムの全体構成を示したブロック図である。
【
図3】ロボットコントローラにおける第1制御部、第2制御部、および、停止制御部の配置を説明するための図である。
【
図4】ロボットコントローラにおける第1制御部、第2制御部、および、停止制御部の構成を説明するためのブロック図である。
【
図5】動作異常が検出された場合のロボットシステムの制御方法を説明するためのフローチャート図である。
【発明を実施するための形態】
【0010】
以下、本開示を具体化した本開示の実施形態を図面に基づいて説明する。
【0011】
(ロボットシステムの全体構成)
図1から
図4までを参照して、一実施形態によるロボットシステム100の構成について説明する。
【0012】
図1に示すように、ロボットシステム100は、ロボット10、および、ロボットコントローラ20を備える。ロボットシステム100は、たとえば、ワークWの搬送作業を行う。また、ロボット10は、ロボットアーム11を有する。ロボットアーム11には、搬送の作業を行うエンドエフェクタ15が取り付けられている。エンドエフェクタ15は、たとえば、ワークWを把持するロボットハンドである。ロボット10は、ロボットコントローラ20と接続されており、ロボットコントローラ20による制御により動作する。ロボット10は、たとえば、6軸の垂直多関節ロボットである。
【0013】
図2に示すように、ロボットコントローラ20は、第1制御部21、第2制御部22、停止制御部23、駆動回路部24、入出力モジュール25、および、通信モジュール26を有する。第1制御部21、第2制御部22、停止制御部23、駆動回路部24、入出力モジュール25、および、通信モジュール26は、ロボットコントローラ20の筐体20aの内部に配置されている。筐体20aは、直方体形状を有する。また、ロボットコントローラ20は、外部の停止スイッチ101およびPLC102(Programmable Logic Controller)に接続されている。
【0014】
ロボットアーム11には、駆動部12が配置されている。駆動部12は、ロボット10を動作させるための駆動源となる。すなわち、駆動部12は、ロボットアーム11を動作させる。ロボットアーム11は、駆動部12により回転および移動する。駆動部12は、サーボモータ13とエンコーダ14とを含む。サーボモータ13は電力が供給されることによって回転する。サーボモータ13は、たとえば、三相の交流電力により回転軸が回転する。エンコーダ14は、サーボモータ13の回転角を検出する。そして、エンコーダ14は、検出されたサーボモータ13の回転角を示す検出値を第1制御部21および第2制御部22に出力する。具体的には、エンコーダ14からの検出値を示す信号が第2制御部22に入力される。そして、第2制御部22を介して検出値を示す信号が第1制御部21に入力される。ロボット10のロボットアーム11では、直線状に延びる2つのアーム部が関節部を介して互いに接続されている。また、先端側のアーム部の端部に別個の関節部を介してエンドエフェクタ15が取り付けられている。そして、ロボットアーム11は、基台部に接続されている。ロボットアーム11の基台部側にもさらに別個の関節部が配置されている。駆動部12は、関節部の各々に配置されている。具体的には、6軸の垂直多関節ロボットであるロボット10には、6つの駆動部12が配置されている。なお、エンコーダ14は、回転角検出部の一例である。
【0015】
本実施形態では、第1制御部21は、ロボット10の動作を制御する。具体的には、第1制御部21は、ロボット10の動作の全体を制御するメイン制御部である。第2制御部22は、第1制御部21からの指令に基づいて駆動部12に供給される電力を制御する。すなわち、第2制御部22は、サーボモータ13の動作を制御するサーボ制御部である。停止制御部23は、駆動部12の動作を停止させる制御を行う。停止制御部23は、第1制御部21および第2制御部22とは別個に、第1制御部21および第2制御部22からの信号に基づいて第3者的にロボット10の動作の停止を制御する。第1制御部21、第2制御部22、および、停止制御部23は、後述する記憶部31aに記憶されているプログラムおよびパラメータを用いて制御を行う。第1制御部21、第2制御部22、および、停止制御部23による制御の詳細は後述する。
【0016】
図3に示すように、第1制御部21、第2制御部22、および、停止制御部23の各々は、互いに別個の基板に配置されている。具体的には、第1制御部21は、第1基板31に配置されている。第2制御部22は、第2基板32に配置されている。そして、停止制御部23は、第3基板33に配置されている。第1基板31は、第2基板32および第3基板33の各々と接続されている。
【0017】
第1制御部21は、たとえば、CPU(Central Processing Unit)を含む。また、第2制御部22は、たとえば、第1制御部21と同様に、CPUを含む。第1基板31および第2基板32の各々には、第1制御部21および第2制御部22の他に、図示しない電源用のIC(Integrated Circuit)、および、RAM(Random Access Memory)などの記憶装置が配置されている。また、第1基板31には、記憶部31aが配置されている。記憶部31aは、第1制御部21および第2制御部22において実行されるプログラム、および、パラメータが記憶されている。記憶部31aは、たとえば、CFastなどのフラッシュメモリを含む。また、停止制御部23は、第1停止制御部23aと、第2停止制御部23bとを別個に有する。第1停止制御部23aおよび第2停止制御部23bの各々は、たとえば、CPLD(Complex Programmable Logic Device)を含む。
【0018】
第1制御部21および第2制御部22は、互いに信号の送受信を行う。第1制御部21および第2制御部22は、たとえば、シリアル通信により信号の送受信を行う。また、第1制御部21は、停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々と信号の送受信を行う。そして、第2制御部22は、第1制御部21を介して停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々と信号の送受信を行う。たとえば、第1制御部21は、第1停止制御部23aおよび第2停止制御部23bの各々と16bitのバスによるパラレル通信によって信号の送受信を行う。また、第1制御部21が第2制御部22からシリアル通信により取得した信号を16bitのバスに変換することによって、第2制御部22は、第1制御部21を介して第1停止制御部23aおよび第2停止制御部23bの各々と信号の送受信を行う。
【0019】
また、第1制御部21が配置されている第1基板31は、第2制御部22が配置されている第2基板32に対して、基板の厚み方向に重ねて配置されている。また、停止制御部23が配置されている第3基板33は、第2基板32に対して基板の厚み方向に重ねて配置されており、第1基板31と隣り合うように配置されている。
【0020】
図4に示すように、駆動回路部24は、駆動部12に電力を供給する。具体的には、駆動回路部24は、駆動部12のサーボモータ13に交流電力を供給するインバータ回路を含む。駆動回路部24は、複数のスイッチング素子Swを有する。複数のスイッチング素子Swは、第2制御部22による制御によって、スイッチング動作が制御される。また、駆動回路部24のインバータ回路では、互いに直列に接続されている上アーム側のスイッチング素子Swと下アーム側のスイッチング素子Swとが並列に接続されている。複数のスイッチング素子Swは、三相の交流電力をサーボモータ13に供給するように、駆動部12の1つあたりにおいて、上アーム側のスイッチング素子Swと下アーム側のスイッチング素子Swとを、3つずつ有する。すなわち、駆動回路部24は、複数の駆動部12の各々ごとに電流を供給するように、複数の駆動部12の各々に対応する複数のインバータ回路を有する。
【0021】
図3に示すように、入出力モジュール25は、第1基板31、第2基板32、および、第3基板33とは別個の基板に配置されている。入出力モジュール25は、ロボットコントローラ20の外部からの信号を受け付ける。たとえば、入出力モジュール25には、ロボットコントローラ20の外部の停止スイッチ101が接続される。入出力モジュール25は、ロボットコントローラ20の外部と接続される図示しない接続端子を有する。また、入出力モジュール25は、複数の基板を含む。入出力モジュール25では、1つの基板において、複数の入力と出力とが接続される。また、入出力モジュール25は、第2制御部22の配置されている第2基板32に接続されている。入出力モジュール25からの信号は、第2基板32に入力されることによって、第2制御部22に取得されるとともに、第2制御部22を介して第1制御部21に出力される。これにより、入出力モジュール25からの信号は、第1制御部21および第2制御部22の各々によって取得される。
【0022】
また、入出力モジュール25は、第1信号生成部25a、および、第2信号生成部25bを有する。第1信号生成部25aおよび第2信号生成部25bの各々は、たとえば、FPGA(Field Programmable Gate Array)を含む。第1信号生成部25aおよび第2信号生成部25bの各々は、受け付けられた入力信号を示す信号を第2制御部22に対して出力する。入出力モジュール25では、第1信号生成部25aおよび第2信号生成部25bの各々において、同様の制御処理が実行される。すなわち、入出力モジュール25は、安全機能のために回路構成が冗長化されている。また、入出力モジュール25は、安全機能のために図示しない診断回路を有している。
【0023】
通信モジュール26は、第1基板31に配置されている。通信モジュール26は、ネットワークを介して外部装置と接続される。たとえば、通信モジュール26は、PLC102と通信を行う。通信モジュール26は、たとえば、LAN(Local Area Network)などのネットワークを介してPLC102と信号の送受信を行う。ロボットコントローラ20は、通信モジュール26を介して、安全通信ネットワークによってPLC102と接続されている。通信モジュール26は、ネットワークを介して外部装置と接続される接続端子を有する。また、通信モジュール26は、ネットワークを介してPLC102などの外部装置から入力された信号を第1制御部21に対して出力する。通信モジュール26からの信号は、第1制御部21に取得されるとともに、第1制御部21を介して第2制御部22に出力されることにより、第1制御部21および第2制御部22の各々によって取得される。
【0024】
停止スイッチ101は、作業者による入力操作を受け付ける。具体的には、停止スイッチ101は、ロボット10の動作を停止させるための作業者による停止操作を受け付ける。停止スイッチ101は、作業者による停止操作に基づいて、ロボット10の動作を停止するために、駆動部12の動作を停止させるための停止信号を入出力モジュール25に対して出力する。PLC102は、ロボットコントローラ20と通信を行うセーフティコントローラである。PLC102は、レーザスキャナ、および、ライトカーテンなどの検出装置からの信号に基づいて、ロボット10の動作を停止するために、駆動部12の動作を停止させるための停止信号を通信モジュール26に対してネットワークを介して出力する。
【0025】
(搬送作業時の制御)
第1制御部21は、たとえば、図示しない上位の制御装置からの信号に基づいて、ロボット10の動作を制御する。第1制御部21は、エンドエフェクタ15を含むロボットアーム11を動作させるために、駆動部12の動作を制御するための指令を第2制御部22に出力する。第1制御部21および第2制御部22は、ロボット10の動作を制御することによって、ロボット10によるワークWの搬送作業の制御を行う。
【0026】
たとえば、第1制御部21は、ロボット10によるワークWの搬送作業を行うために、図示しない上位の制御装置からワークWの位置を示す信号を取得する。第1制御部21は、取得された信号に基づいて、エンドエフェクタ15をワークWの位置に移動させるための駆動部12におけるサーボモータ13の回転速度を算出する。そして、第1制御部21は、駆動部12の動作を制御するための指令として、算出された回転速度を示す速度指令を、第2制御部22に対して出力する。第2制御部22は、第1制御部21から取得された速度指令に基づいて、駆動部12に対して入力される電流の具体的な電流値を算出する。そして、第2制御部22は、算出された電流値の電流が駆動部12に供給されるように、駆動回路部24のスイッチング素子Swのゲート端子に入力されるゲート信号を制御することによって、スイッチング素子Swのスイッチング動作を制御する。なお、第2制御部22は、速度指令に基づいて、ロボット10のロボットアーム11に配置されている複数の駆動部12の各々に供給される電流を制御する。
【0027】
(動作異常検出時の制御)
図4に示すように、第1制御部21、第2制御部22、および、停止制御部23は、第1制御部21と第2制御部22との各々の動作状態と、ロボット10の動作との少なくとも一方の異常である動作異常が検出された場合に、ロボット10の動作を停止させる制御を行う。本実施形態では、第1制御部21および第2制御部22の各々が、独立して相互に動作状態を監視するとともにロボット10の動作の異常を検出する。そして、第1制御部21および第2制御部22の各々は、第1制御部21と第2制御部22との各々の動作状態と、ロボット10の動作との少なくとも一方の異常である動作異常が検出された場合に、駆動部12の動作を停止するための停止指令を、停止制御部23に対して別個に出力する。停止制御部23は、第1制御部21および第2制御部22からの停止指令に基づいて、駆動部12の動作を停止させる。
【0028】
第1制御部21および第2制御部22の各々は、動作異常の検出のために、互いに共通の入力を取得するとともに、互いに共通の演算処理を実行することによって、動作異常を検出する。そして、動作異常が検出された場合に、第1停止制御部23aおよび第2停止制御部23bの各々に対して同様の停止指令を出力する。すなわち、第1制御部21および第2制御部22の各々は、動作異常の検出のために、冗長化されている。そして、停止制御部23は、第1制御部21からの停止指令と、第2制御部22からの停止指令との少なくとも一方が入力された場合に、駆動部12の動作を停止させる。
【0029】
〈動作範囲および動作速度の監視〉
第1制御部21および第2制御部22の各々は、動作異常を検出するための監視対象としてロボット10の動作範囲および動作速度を検出する。そして、第1制御部21および第2制御部22の各々は、ロボット10が予め設定されたパラメータの範囲を越えて動作していることを検出した場合に、停止指令を出力する。本実施形態では、第1制御部21および第2制御部22の各々は、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向き、および、ロボットアーム11が停止しているか否かの判定に基づいて、動作異常を検出する。
【0030】
具体的には、第1制御部21および第2制御部22の各々は、エンコーダ14からの検出値に基づいて、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向きを検出する。そして、第1制御部21および第2制御部22の各々は、検出されたロボットアーム11の位置が、予めパラメータとして設定された動作範囲を越えている場合に、ロボット10の動作の異常を検出する。また、第1制御部21および第2制御部22の各々は、検出されたロボットアーム11の移動速度が予めパラメータとして設定されたしきい値の速度よりも大きい場合に、ロボット10の動作の異常を検出する。また、第1制御部21および第2制御部22の各々は、検出されたエンドエフェクタ15の向きが、予めパラメータとして設定された範囲を越えている場合に、ロボット10の動作の異常を検出する。そして、第1制御部21および第2制御部22の各々は、ロボットアーム11の動作を停止させる指令が出力されている場合において、エンコーダ14からの検出値に基づいてロボットアーム11が停止されていないと判定された場合に、ロボット10の動作の異常を検出する。第1制御部21および第2制御部22の各々は、上記のロボット10の動作の異常のいずれかが検出された場合に、ロボットシステム100において動作異常が検出されたとして、停止指令を出力する。
【0031】
〈検出値と指令値との比較〉
また、第1制御部21および第2制御部22の各々は、エンコーダ14により検出されたサーボモータ13の回転角を示す検出値と、第1制御部21から第2制御部22に対して出力された駆動部12の動作を制御するための指令に基づく指令値とを比較することによって、動作異常を別個に検出する。
【0032】
第1制御部21は、第2制御部22に対して出力された駆動部12の動作を制御するための指令に対応する理想的なエンコーダ14の検出値を、指令に基づく指令値として取得する。具体的には、第1制御部21は、第2制御部22に対して出力された速度指令に基づいて、速度指令が示す回転速度によってサーボモータ13が回転した場合におけるエンコーダ14の検出値を、指令に基づく指令値として算出する。すなわち、第1制御部21は、ロボット10の動作が正常である場合に取得される理想的なエンコーダ14の検出値を、指令に基づく指令値として取得する。言い換えれば、第1制御部21は、速度指令を出力するために算出されたサーボモータ13の回転速度における検出値を、指令に基づく回転速度の指令値として取得する。そして、第1制御部21は、取得された指令値を第2制御部22に対して出力する。第1制御部21および第2制御部22の各々は、取得された指令値と、エンコーダ14からの検出値とを比較することによって、指令値と検出値との差分を算出する。そして、第1制御部21および第2制御部22の各々は、算出された差分が、予めパラメータとして設定された所定のしきい値よりも大きい場合に、動作異常を検出する。
【0033】
〈動作状態の相互監視〉
また、本実施形態では、第1制御部21および第2制御部22の各々は、相互に動作状態を監視する。そして、第1制御部21および第2制御部22の各々は、相互に動作状態を監視した結果、動作状態の異常が検出された場合には、動作異常が検出されたとして、停止指令を出力する。
【0034】
具体的には、第1制御部21および第2制御部22の各々は、エンコーダ14からの検出値に基づいて、ロボットアーム11の位置、および、ロボットアーム11の移動速度の両方を算出する。そして、第1制御部21および第2制御部22の各々は、算出されたロボットアーム11の位置、および、ロボットアーム11の移動速度の両方の算出結果を互いに出力することによって、他方の算出結果を取得する。すなわち、第1制御部21は、第2制御部22による算出結果を取得し、第2制御部22は、第1制御部21による算出結果を取得する。そして、第1制御部21および第2制御部22の各々は、自身の算出結果と、取得された他方の算出結果とを比較することによって、相互に動作状態を監視する。第1制御部21および第2制御部22の各々は、算出結果を比較した結果に基づいて動作異常が検出された場合に停止指令を出力する。
【0035】
たとえば、第1制御部21および第2制御部22の各々は、エンコーダ14からの検出値に基づいて、ロボットアーム11の位置として、ロボットアーム11のエンドエフェクタ15が取り付けられるフランジ部分の空間的な位置または角度と移動速度とを算出する。第1制御部21および第2制御部22の各々は、互いの算出結果の差分を比較結果として取得する。第1制御部21および第2制御部22の各々は、取得された差分が予め設定されたパラメータである所定のしきい値よりも大きい場合に、動作異常が生じていると判定する。第1制御部21および第2制御部22の各々は、算出結果を比較した結果に基づいて動作異常が生じていると判定された場合に、動作異常が検出されたとして、停止指令を出力する。
【0036】
〈外部からの停止信号〉
また、第1制御部21および第2制御部22の各々は、外部からの停止信号に基づいて、停止指令を出力する。ロボットコントローラ20において、入出力モジュール25は、駆動部12の動作を停止するための停止信号を受け付ける。具体的には、入出力モジュール25の第1信号生成部25aおよび第2信号生成部25bの各々は、停止スイッチ101に対する停止操作に基づいて受け付けられた停止信号に基づいて、異常が検出されたことを示す異常信号を生成する。そして、第1信号生成部25aおよび第2信号生成部25bの各々は、第1制御部21および第2制御部22の各々に対して生成された異常信号を出力する。第1制御部21および第2制御部22は、第1信号生成部25aおよび第2信号生成部25bからの異常信号が取得された場合に、動作異常が検出されたとして、停止指令を出力する。なお、入出力モジュール25には、複数の装置または機器が接続されてもよい。
【0037】
また、第1制御部21および第2制御部22の各々は、通信モジュール26を介して停止信号が取得された場合に、停止指令を出力する。すなわち、第1制御部21および第2制御部22の各々は、入出力モジュール25とは別個に配置された通信モジュール26を介して停止信号が取得された場合に、停止指令を出力する。たとえば、通信モジュール26は、外部装置であるPLC102からの停止信号がネットワークを介して入力される。第1制御部21および第2制御部22の各々は、通信モジュール26を介して取得されたPLC102からの停止信号に基づいて、動作異常が検出されたとして停止指令を出力する。
【0038】
なお、第1制御部21および第2制御部22の各々に含まれるCPUは、複数のコアを有する。第1制御部21および第2制御部22の各々において、CPUの有する複数のコアのうちの1つのコアが、動作異常を検出する処理を行う。そして、動作異常を検出する処理を行うコアとは異なる残りのコアが、ロボット10による搬送作業の制御などを行う。
【0039】
〈停止制御部による駆動部の動作の停止〉
図4に示すように、第1制御部21および第2制御部22の各々は、動作異常が検出された場合に、停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々に対して停止指令を出力する。そして、第1停止制御部23aおよび第2停止制御部23bの各々は、第1制御部21および第2制御部22からの停止指令に基づいて、駆動部12に電力を供給する駆動回路部24の動作を停止させる。
【0040】
具体的には、第1停止制御部23aおよび第2停止制御部23bの各々は、駆動回路部24を停止させるために、駆動回路部24のスイッチング素子Swの各々のゲート端子に入力されるゲート信号を停止させる。第1停止制御部23aは、上アーム側のスイッチング素子Swの動作を停止するSTO1信号(Safety Torque Off 1 信号)を出力する。第2停止制御部23bは、下アーム側のスイッチング素子Swの動作を停止するSTO2信号(Safety Torque Off 2 信号)を出力する。駆動回路部24では、STO1信号およびSTO2信号によって、それぞれ、上アーム側のスイッチング素子Swおよび下アーム側のスイッチング素子Swのスイッチング動作がオフにされる。すなわち、第1停止制御部23aからSTO1信号が出力された場合には、駆動回路部24の上アーム側のスイッチング素子Swのスイッチング動作がオフにされる。また、第2停止制御部23bからSTO2信号が出力された場合には、駆動回路部24の下アーム側のスイッチング素子Swのスイッチング動作がオフにされる。これにより、STO1信号およびSTO2信号の少なくとも一方が取得された場合に、駆動回路部24から駆動部12に供給される電力が遮断される。このように、停止制御部23も、第1停止制御部23aおよび第2停止制御部23bによって冗長化されている。
【0041】
なお、第1停止制御部23aおよび第2停止制御部23bの各々は、第1制御部21および第2制御部22からの停止指令が取得されていない場合においても、第1制御部21と第2制御部22との動作状態の異常、および、ロボット10の動作の異常の少なくとも一方が検出された場合には、駆動部12の動作を停止させる。たとえば、第1停止制御部23aおよび第2停止制御部23bの各々は、第1制御部21からの信号を監視しており、第1制御部21からの信号に異常が生じた場合には、駆動部12の動作を停止させる。たとえば、第1停止制御部23aおよび第2停止制御部23bの各々は、ウォッチドッグタイマにより第1制御部21からの信号を監視している。第1停止制御部23aおよび第2停止制御部23bの各々は、所定のタイミングごとに第1制御部21から正常な信号が入力されない場合には、第1制御部21に異常が生じているとして駆動部12の動作を停止させる。
【0042】
また、第1停止制御部23aおよび第2停止制御部23bの各々は、互いに信号の送受信を行うことによって相互に動作状態を監視する。具体的には、第1停止制御部23aおよび第2停止制御部23bの各々は、STO1信号およびSTO1信号を互いに出力する。すなわち、第1停止制御部23aからのSTO1信号は、第2停止制御部23bにより取得され、第2停止制御部23bからのSTO2信号は、第1停止制御部23aにより取得される。そして、たとえば、STO1信号またはSTO2信号がハイの状態でスタックしているなどの異常が検出された場合には、第1停止制御部23aおよび第2停止制御部23bの各々は、動作異常が検出されたとして駆動部12の動作を停止させる。
【0043】
また、上記以外にも、停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々は、ロボットコントローラ20の筐体20aの外表面に配置された図示しない停止スイッチにより停止を指示する操作信号が受け付けられた場合、または、筐体20a内の温度の異常が検出された場合などにおいて、動作異常が検出されたとして駆動部12の動作を停止させる。
【0044】
(ロボットシステムの異常検出時における制御方法)
次に、
図5を参照して、動作異常が検出された場合におけるロボットシステム100の制御方法について説明する。この動作異常が検出された場合におけるロボットシステム100の制御方法の処理は、第1制御部21、第2制御部22、および、停止制御部23によって実行される。
【0045】
まず、ステップS1において、第1制御部21および第2制御部22の各々によって、第1制御部21および第2制御部22の各々の動作状態と、ロボット10の動作との少なくとも一方の異常である動作異常が検出される。具体的には、予め記憶部31aに記憶された設定されたパラメータと、複数の駆動部12の各々のエンコーダ14からの検出値とに基づいて、ロボット10の動作範囲および動作速度の監視の制御処理、検出値と駆動部12の動作を制御するための指令に基づく指令値との比較の制御処理、および、第1制御部21および第2制御部22の動作状態の相互監視の制御処理が行われることにより、動作異常が検出される。また、入出力モジュール25、および、通信モジュール26からの入力に基づいて、動作異常が検出される。
【0046】
次に、ステップS2において、第1制御部21および第2制御部22の各々によって、停止制御部23に対して停止指令が出力される。具体的には、第1制御部21および第2制御部22の各々から、同様の停止指令が停止制御部23の第1停止制御部23aおよび第2停止制御部23bの各々に対して出力される。
【0047】
次に、ステップS3において、第1停止制御部23aおよび第2停止制御部23bの各々から、それぞれ、STO1信号およびSTO2信号が駆動回路部24に対して出力されることによって、駆動部12の動作が停止される。
【0048】
なお、ステップS1からステップS3までの制御処理は、ロボット10による作業が行われている最中に、所定のサンプリング周期ごとに繰り返し実行される。
【0049】
[実施形態の効果]
本実施形態では、以下のような効果を得ることができる。
【0050】
ロボットシステム100では、第1制御部21と第2制御部22との各々は、相互に動作状態を監視するとともにロボット10の動作の異常を検出し、動作状態およびロボット10の動作の少なくとも一方の異常である動作異常が検出された場合に、駆動部12の動作を停止するための停止指令を出力する。これにより、第1制御部21と第2制御部22との互いに異なる2つの制御部の各々によってロボット10の動作を制御する場合に、第1制御部21と第2制御部22とが相互に動作状態を監視することによって、第1制御部21と第2制御部22との各々に生じた異常を互いに検出することができる。そのため、互いに異常が生じていないことが確認された第1制御部21と第2制御部22との各々によって、ロボット10の動作の異常を検出することができる。その結果、互いに異なる2つの制御部を用いてロボット10の動作を制御する場合に、ロボット10の動作の異常を正確に検出することができる。
【0051】
ロボットシステム100は、第1制御部21および第2制御部22とは別個に設けられ、駆動部12の動作を停止させる制御を行う停止制御部23を備える。第1制御部21と第2制御部22との各々は、動作異常が検出された場合に、停止制御部23に対して停止指令を別個に出力する。これにより、第1制御部21および第2制御部22の各々から出力された停止指令によって、第1制御部21および第2制御部22とは別個に設けられた停止制御部23が駆動部12の動作を停止することができる。そのため、第1制御部21および第2制御部22の制御処理とは別個に、停止制御部23によって確実に駆動部12の動作を停止させることができる。その結果、ロボット10の動作の異常を正確に検出することができるとともに、異常が検出された場合に駆動部12の動作を確実に停止させることができる。
【0052】
ロボットシステム100は、駆動部12に電力を供給する駆動回路部24を備える。停止制御部23は、第1停止制御部23aおよび第2停止制御部23bを有する。第1制御部21および第2制御部22の各々は、動作異常が検出された場合に第1停止制御部23aおよび第2停止制御部23bの各々に対して停止指令を出力し、第1停止制御部23aおよび第2停止制御部23bの各々は、停止指令に基づいて駆動回路部24の動作を停止させる。これにより、停止制御部23が第1停止制御部23aおよび第2停止制御部23bによって冗長化されているため、停止制御部23の第1停止制御部23aおよび第2停止制御部23bのいずれか一方に異常が生じた場合にも、異常の生じていない他方による制御によって、駆動回路部24の動作を停止することによって駆動部12の動作を停止することができる。そのため、動作異常が生じた場合に駆動部12の動作をより確実に停止することができる。
【0053】
第1停止制御部23aおよび第2停止制御部23bの各々は、互いに信号の送受信を行うことによって相互に動作状態を監視する。これにより、第1停止制御部23aと第2停止制御部23bとのいずれか一方に生じた異常を、他方により検出することができるので、第1停止制御部23aと第2停止制御部23bとのいずれかに異常が生じた状態のまま、ロボット10を動作させることを抑制することができる。
【0054】
駆動部12は、電力が供給されることにより回転するサーボモータ13と、サーボモータ13の回転角を検出するエンコーダ14とを含む。第1制御部21および第2制御部22の各々は、エンコーダ14により検出されたサーボモータ13の回転角を示す検出値と、第1制御部21から第2制御部22に対して出力された駆動部12の動作を制御するための指令に基づく指令値とを比較することによって、動作異常を別個に検出するとともに、動作異常が検出された場合に停止指令を別個に出力する。これにより、相互に動作状態を監視している第1制御部21および第2制御部22の各々によって、サーボモータ13の回転角を示す検出値と、駆動部12の動作を制御するための指令に基づく指令値とを比較するため、互いに異常が生じていないことを確認した状態の第1制御部21および第2制御部22の各々によって、検出値と指令値との比較をより確実に行うことができる。そのため、互いに異なる2つの制御部の各々によってロボット10の動作を制御する場合に、ロボット10の動作の異常をより正確に検出することができる。
【0055】
ロボットシステム100は、駆動部12の動作を停止するための停止信号を受け付けるための入出力モジュール25を備える。入出力モジュール25は、受け付けられた停止信号に基づいて、異常が検出されたことを示す異常信号を各々が生成する第1信号生成部25aおよび第2信号生成部25bを含み、第1信号生成部25aおよび第2信号生成部25bの各々は、第1制御部21および第2制御部22の各々に対して生成された異常信号を出力する。これにより、外部の装置、または、停止スイッチ101などの外部の操作部からの停止信号を、入出力モジュール25を介して取得することができる。そのため、入出力モジュール25において異常信号を出力する第1信号生成部25aと第2信号生成部25bとが冗長化されているため、外部からの停止信号が入出力モジュール25において受け付けられた場合に、第1制御部21および第2制御部22に対して異常信号をより確実に出力することができる。その結果、停止信号が受け付けられた場合に、駆動部12の動作をより確実に停止させることができる。
【0056】
ロボットシステム100は、外部装置からの駆動部12の動作を停止するための停止信号が入力される通信モジュール26を備える。第1制御部21および第2制御部22の各々は、通信モジュール26を介して取得された停止信号に基づいて、停止指令を出力する。これにより、通信モジュール26を介して外部装置から停止信号を取得することができるので、たとえば、ロボット10の作業エリアへの侵入の検出、または、作業エリアに設けられた扉部のロック状態の検出などを行う外部の装置との通信を行うことによって、駆動部12を停止することができる。そのため、ロボットシステム100と、他の製造システムなどを組み合わせて稼働させる場合にも、駆動部12の動作を確実に停止させることができる。
【0057】
ロボット10は、作業を行うためのエンドエフェクタ15が取り付けられたロボットアーム11を含む。駆動部12は、ロボットアーム11を動作させる。第1制御部21と第2制御部22との各々は、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向き、および、ロボットアーム11が停止しているか否かの判定のうちの少なくとも2つに基づいて、動作異常を検出するとともに、動作異常が検出された場合に、停止指令を出力する。これにより、相互に動作状態を監視している第1制御部21および第2制御部22の各々によって、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向き、および、ロボットアーム11が停止しているか否かの判定のうちの少なくとも2つに基づいて、動作異常を検出するため、互いに異常が生じていないことを確認した状態の第1制御部21および第2制御部22の各々によって、複数種類の判定基準によって動作異常をより確実に検出することができる。そのため、互いに異なる2つの制御部を用いてロボット10の動作を制御する場合に、ロボット10の動作の異常をより正確に検出することができる。
【0058】
駆動部12は、電力が供給されることにより回転するサーボモータ13と、サーボモータ13の回転角を検出するエンコーダ14とを含む。ロボット10は、作業を行うためのエンドエフェクタ15が取り付けられたロボットアーム11を含む。第1制御部21および第2制御部22の各々は、エンコーダ14により検出されたサーボモータ13の回転角を示す検出値に基づいて、駆動部12の動作により移動するロボットアーム11の位置、および、ロボットアーム11の移動速度の少なくとも一方を算出し、算出されたロボットアーム11の位置、および、ロボットアーム11の移動速度の少なくとも一方の算出結果を互いに出力することによって他方の算出結果を取得し、自身の算出結果と取得された他方の算出結果とを比較することによって、相互に動作状態を監視し、算出結果を比較した結果に基づいて動作異常が検出された場合に停止指令を出力する。これにより、互いの算出結果同士を比較することによって、第1制御部21および第2制御部22が相互に動作状態の監視を行うことができるとともに、算出結果を比較した結果に基づいて、第1制御部21および第2制御部22のいずれかに異常が生じていると判断された場合には駆動部12の動作を停止することができる。そのため、第1制御部21および第2制御部22の各々による演算処理に異常が生じていないかを相互に監視することができるので、ロボット10の動作の異常をより正確に検出することができる。
【0059】
[変形例]
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更(変形例)が含まれる。
【0060】
たとえば、上記実施形態では、第1制御部21および第2制御部22とは別個に設けられた停止制御部23から、駆動部12の動作を停止させるための信号が駆動回路部24に出力される例を示したが、本開示はこれに限られない。本開示では、停止制御部を設けずに、第1制御部および第2制御部の各々から直接的に駆動部の動作を停止させるための信号が駆動回路部に出力されるようにしてもよい。また、第2制御部22からの停止指令が第1制御部21を介して停止制御部23に入力される例を示したが、第1制御部および第2制御部の両方から直接的に停止制御部に停止指令が出力されるようにしてもよい。
【0061】
また、上記実施形態では、停止制御部23が、2つの第1停止制御部23aおよび第2停止制御部23bにより冗長化されている例を示したが、本開示はこれに限られない。本開示では、停止制御部は冗長化されていなくともよい。また、停止制御部を、3つ以上の演算装置または処理回路によって冗長化するようにしてもよい。
【0062】
また、上記実施形態では、第1制御部21から第2制御部22に対して速度指令を出力するとともに、第1制御部21から出力される速度指令に対応する理想的な検出値が、速度指令に基づく指令値として取得され、速度指令に基づく指令値と、エンコーダ14の検出値とを比較することによって、動作異常が検出される例を示したが、本開示はこれに限られない。本開示では、第1制御部から第2制御部に出力される駆動部の動作を制御するための指令は、回転速度を示す速度指令でなくともよい。駆動部の動作を制御するための指令は、たとえば、サーボモータのトルクの大きさを示すトルク指令であってもよいし、サーボモータの回転数の指令であってもよい。また、速度指令に基づく指令値が第1制御部により取得されて第2制御部に出力される例を示したが、第1制御部および第2制御部の各々によって、指令に基づいて理想的な検出値に対応する指令値が算出されるようにしてもよい。
【0063】
また、上記実施形態では、入出力モジュール25によって、停止スイッチ101からの信号が受け付けられる例を示したが、本開示はこれに限られない。本開示では、入出力モジュールによって、レーザスキャナおよびライトカーテンなどの検出装置、または、ロボットの作業エリアに設けられた扉部のロック状態の検出などを行うスイッチなどからの入力を受け付けるようにしてもよい。また、入出力モジュールを設けないようにしてもよい。
【0064】
また、上記実施形態では、第1制御部21と第2制御部22との各々が、ロボットアーム11の位置、ロボットアーム11の移動速度、エンドエフェクタ15の向き、および、ロボットアーム11が停止しているか否かの判定に基づいて、動作異常を検出する例を示したが、本開示はこれに限られない。本開示では、第1制御部と第2制御部との各々を、ロボットアームの位置、ロボットアームの移動速度、エンドエフェクタの向き、および、ロボットアームが停止しているか否かの判定のうちの少なくとも2つに基づいて、動作異常を検出するようにしてもよい。
【0065】
また、上記実施形態では、第1制御部21と第2制御部22との各々が、算出されたロボットアーム11の位置、および、ロボットアーム11の移動速度の算出結果を互いに出力することによって他方の算出結果を取得し、自身の算出結果と取得された他方の算出結果とを比較することによって、相互に動作状態を監視する例を示したが、本開示はこれに限られない。本開示では、第1制御部と第2制御部との各々を、ロボットアームの位置、および、ロボットアームの移動速度のうちの少なくとも一方の算出結果を比較することによって、相互に動作状態を監視するようにしてもよい。
【0066】
また、上記実施形態では、駆動回路部24のスイッチング素子Swに入力されるゲート信号を停止させてスイッチング動作をオフにすることによって、駆動部12に供給される電力を遮断して駆動部12の動作を停止させる例を示したが、本開示はこれに限られない。本開示では、電磁接触器などの開閉器または遮断器によって、駆動部に供給される電力を遮断することによって駆動部の動作を停止するようにしてもよい。
【0067】
また、上記実施形態では、ワークWの搬送を行う6軸の垂直多関節ロボットであるロボット10の動作の制御を行う例を示したが、本開示はこれに限られない。本開示では、製造または加工を行うロボットの制御を行うようにしてもよい。また、ロボットは、6軸以外の軸数を有する垂直多関節ロボットであってもよいし、半導体基板を搬送するような水平多関節ロボットであってもよい。また、ロボットアームを有さず直動機構によって動作するロボットの制御を行うようにしてもよい。また、第1制御部に対して上位の制御装置からの信号が入力されることによってロボットの動作が制御される例を示したが、記憶部に記憶された予め設定されたパラメータに基づいて、第1制御部から第2制御部に指令が出力されるようにしてもよい。
【0068】
また、上記実施形態では、ロボットアーム11に取り付けられているエンドエフェクタ15がワークWを把持するロボットハンドである例を示したが、本開示はこれに限られない。本開示では、ロボットアームに取り付けられるエンドエフェクタは、塗装ガン、ネジ締めのためのツール、撮像部、または、検出用のセンサなどであってもよい。すなわち、エンドエフェクタを用いてロボットによって行われる作業は、搬送作業のみならず、塗装作業、製造組立作業、撮像作業、または、検査作業などであってもよい。
【0069】
また、上記実施形態では、入出力モジュール25からの信号が、第2制御部22に入力されるとともに第2制御部22を介して第1制御部21に入力され、通信モジュール26からの信号が、第1制御部21に入力されるとともに第1制御部21を介して第2制御部22に入力される例を示したが、本開示はこれに限られない。本開示では、反対に、入出力モジュールからの信号が、第1制御部に入力されるとともに第1制御部を介して第2制御部に入力され、通信モジュールからの信号が、第2制御部に入力されるとともに第2制御部を介して第1制御部に入力されてもよい。また、入出力モジュールからの信号と通信モジュールからの信号の両方が、第1制御部に入力されるとともに、第1制御部を介して第2制御部に入力されてもよいし、両方が第2制御部に入力されるとともに、第2制御部を介して第1制御部に入力されてもよい。また、入出力モジュールおよび通信モジュールの各々からの信号が、第1制御部と第2制御部との両方に直接的に入力されるようにしてもよい。
【0070】
また、上記実施形態では、第1制御部21、第2制御部22、および、停止制御部23の各々が互いに異なる基板に配置されている例を示したが、本開示はこれに限られない。本開示では、第1制御部、第2制御部、および、停止制御部のうちの2つ、または、全てが、共通の基板に配置されていてもよい。また、第2制御部は、複数のサーボモータの各々ごとに、複数の基板の各々に配置されていてもよい。すなわち、複数のサーボモータの個数に対応するように、複数の第2制御部が備えられていてもよい。
【0071】
また、上記実施形態では、第1制御部21、第2制御部22、および、停止制御部23の各々がロボットコントローラ20に配置されている例を示したが、本開示はこれに限られない。本開示では、第2制御部がロボットアーム側に配置されていてもよい。たとえば、第2制御部と駆動回路部とが、ロボットアームに配置されていてもよい。また、第1制御部の実行する処理のうちの一部を、ロボットコントローラの外部のコンピュータなどの制御装置が実行するようにしてもよい。
【0072】
本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路(circuitry)または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に使用される。
【0073】
たとえば、第1制御部および第2制御部の各々は、CPU以外の演算装置または処理回路を含んでいてもよい。また、停止制御部の第1制御部および第2制御部の各々は、CPLD以外の演算装置または処理回路を含んでいてもよい。また、入出力モジュールの第1信号生成部および第2信号生成部の各々は、FPGA以外の演算装置または処理回路を含んでいてもよい。
【0074】
[態様]
上記した例示的な実施形態は、以下の態様の具体例であることが当業者により理解される。
【0075】
(項目1)
ロボットと、
前記ロボットを動作させるための駆動源となる駆動部と、
前記ロボットの動作を制御する第1制御部と、
前記第1制御部からの指令に基づいて前記駆動部に供給される電力を制御する第2制御部と、を備え、
前記第1制御部と前記第2制御部との各々は、
相互に動作状態を監視するとともに前記ロボットの動作の異常を検出し、
前記動作状態および前記ロボットの動作の少なくとも一方の異常である動作異常が検出された場合に、前記駆動部の動作を停止するための停止指令を出力する、ロボットシステム。
【0076】
(項目2)
前記第1制御部および前記第2制御部とは別個に設けられ、前記駆動部の動作を停止させる制御を行う停止制御部をさらに備え、
前記第1制御部と前記第2制御部との各々は、前記動作異常が検出された場合に、前記停止制御部に対して前記停止指令を別個に出力する、項目1に記載のロボットシステム。
【0077】
(項目3)
前記駆動部に電力を供給する駆動回路部をさらに備え、
前記停止制御部は、第1停止制御部および第2停止制御部を有し、
前記第1制御部および前記第2制御部の各々は、前記動作異常が検出された場合に、前記第1停止制御部および前記第2停止制御部の各々に対して前記停止指令を出力し、
前記第1停止制御部および前記第2停止制御部の各々は、前記停止指令に基づいて前記駆動回路部の動作を停止させる、項目2に記載のロボットシステム。
【0078】
(項目4)
前記第1停止制御部および前記第2停止制御部の各々は、互いに信号の送受信を行うことによって相互に動作状態を監視する、項目3に記載のロボットシステム。
【0079】
(項目5)
前記駆動部は、電力が供給されることにより回転するサーボモータと、前記サーボモータの回転角を検出する回転角検出部とを含み、
前記第1制御部および前記第2制御部の各々は、前記回転角検出部により検出された前記サーボモータの回転角を示す検出値と、前記第1制御部から前記第2制御部に対して出力された前記駆動部の動作を制御するための指令に基づく指令値とを比較することによって、前記動作異常を別個に検出するとともに、前記動作異常が検出された場合に前記停止指令を別個に出力する、項目1~4のいずれか1項に記載のロボットシステム。
【0080】
(項目6)
前記駆動部の動作を停止するための停止信号を受け付けるための入出力モジュールをさらに備え、
前記入出力モジュールは、受け付けられた前記停止信号に基づいて、異常が検出されたことを示す異常信号を各々が生成する第1信号生成部および第2信号生成部を含み、
前記第1信号生成部および前記第2信号生成部の各々は、前記第1制御部および前記第2制御部の各々に対して生成された前記異常信号を出力する、項目1~5のいずれか1項に記載のロボットシステム。
【0081】
(項目7)
外部装置からの前記駆動部の動作を停止するための停止信号が入力される通信モジュールをさらに備え、
前記第1制御部および前記第2制御部の各々は、前記通信モジュールを介して取得された前記停止信号に基づいて、前記停止指令を出力する、項目1~6のいずれか1項に記載のロボットシステム。
【0082】
(項目8)
前記ロボットは、作業を行うためのエンドエフェクタが取り付けられたロボットアームを含み、
前記駆動部は、前記ロボットアームを動作させ、
前記第1制御部と前記第2制御部との各々は、前記ロボットアームの位置、前記ロボットアームの移動速度、前記エンドエフェクタの向き、および、前記ロボットアームが停止しているか否かの判定のうちの少なくとも2つに基づいて、前記動作異常を検出するとともに、前記動作異常が検出された場合に、前記停止指令を出力する、項目1~7のいずれか1項に記載のロボットシステム。
【0083】
(項目9)
前記駆動部は、電力が供給されることにより回転するサーボモータと、前記サーボモータの回転角を検出する回転角検出部とを含み、
前記ロボットは、作業を行うためのエンドエフェクタが取り付けられたロボットアームを含み、
前記第1制御部および前記第2制御部の各々は、
前記回転角検出部により検出された前記サーボモータの回転角を示す検出値に基づいて、前記駆動部の動作により移動する前記ロボットアームの位置、および、前記ロボットアームの移動速度の少なくとも一方を算出し、
算出された前記ロボットアームの位置、および、前記ロボットアームの移動速度の少なくとも一方の算出結果を互いに出力することによって他方の前記算出結果を取得し、
自身の前記算出結果と取得された他方の前記算出結果とを比較することによって、相互に前記動作状態を監視し、
前記算出結果を比較した結果に基づいて前記動作異常が検出された場合に前記停止指令を出力する、項目1~8のいずれか1項に記載のロボットシステム。
【符号の説明】
【0084】
10 ロボット
11 ロボットアーム
12 駆動部
13 サーボモータ
14 エンコーダ(回転角検出部)
15 エンドエフェクタ
21 第1制御部
22 第2制御部
23 停止制御部
24 駆動回路部
25 入出力モジュール
26 通信モジュール
100 ロボットシステム