IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社不二越の特許一覧

<>
  • 特開-ロボット制御システム 図1
  • 特開-ロボット制御システム 図2
  • 特開-ロボット制御システム 図3
  • 特開-ロボット制御システム 図4
  • 特開-ロボット制御システム 図5
  • 特開-ロボット制御システム 図6
  • 特開-ロボット制御システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024054926
(43)【公開日】2024-04-18
(54)【発明の名称】ロボット制御システム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20240411BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022161394
(22)【出願日】2022-10-06
(71)【出願人】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100176072
【弁理士】
【氏名又は名称】小林 功
(74)【代理人】
【識別番号】100169225
【弁理士】
【氏名又は名称】山野 明
(72)【発明者】
【氏名】梅村 将太
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS06
3C707AS12
3C707AS13
3C707AS14
3C707BS10
3C707HS27
3C707HT21
3C707JS03
3C707JS07
3C707KS21
3C707KV01
3C707KX10
3C707LS14
3C707LT11
3C707LV02
3C707MS14
3C707MS28
(57)【要約】
【課題】複数のロボットが長時間稼働している間に複数のロボットの間に生じるロボットの動作量のズレを抑制できるロボット制御システムを提供する。
【解決手段】ロボット制御システムは、少なくとも1つの一方のロボットと、一方のロボットと協調動作する他方のロボットと、一方のロボットを動作制御するとともに、一方のロボットの動作量を測定し、測定した動作量を出力する一方の制御装置と、一方のロボットの動作量を一方の制御装置から取得し、且つ、他方のロボットの動作量を測定し、取得した一方のロボットの動作量及び測定した他方のロボットの動作量に基づいて他方のロボットの動作の補正量を決定し、決定した補正量に基づいて他方のロボットの動作を制御する他の制御装置とを備える。
【選択図】図4
【特許請求の範囲】
【請求項1】
少なくとも1つの一方のロボットと、
前記一方のロボットと協調動作する他方のロボットと、
前記一方のロボットを動作制御するとともに、前記一方のロボットの動作量を測定し、測定した動作量を出力する一方の制御装置と、
前記一方のロボットの動作量を前記一方の制御装置から取得し、且つ、前記他方のロボットの動作量を測定し、取得した前記一方のロボットの動作量及び測定した前記他方のロボットの動作量に基づいて前記他方のロボットの動作の補正量を決定し、決定した前記補正量に基づいて前記他方のロボットの動作を制御する他の制御装置と、
を備えることを特徴とするロボット制御システム。
【請求項2】
前記他方の制御装置は、前記他方のロボットの動作量と前記一方のロボットの動作量との関係が所定条件を満たすか否かを判定し、当該判定が肯定判定である場合に前記補正量を決定することを特徴とする請求項1に記載のロボット制御システム。
【請求項3】
前記所定条件は、前記他方のロボットと前記一方のロボットとの動作量の差が所定範囲外であるか否かであり、
前記他方の制御装置は、前記差を算出し、前記判定が肯定判定である場合に前記他方のロボットの動作量が前記一方のロボットの動作量に近づくように前記補正量を決定することを特徴とする請求項2に記載のロボット制御システム。
【請求項4】
前記所定条件は、前記他方のロボットと前記一方のロボットとの動作量の差が所定範囲外であり、かつ前記一方のロボットの動作量が前記他方のロボットの動作量より基準値に近いか否かであり、
前記他方の制御装置は、前記差を算出し、前記判定が肯定判定である場合に前記他方のロボットの動作量が前記一方のロボットの動作量に近づくように前記補正量を決定することを特徴とする請求項2に記載のロボット制御システム。
【請求項5】
前記他方の制御装置は、前記他方のロボットの動作量と前記基準値との差を算出し、当該算出の結果が許容範囲外であるか否かを判定し、当該判定が肯定判定である場合に前記他方のロボットの動作を停止するように前記他方のロボットを制御することを特徴とする請求項4に記載のロボット制御システム。
【請求項6】
前記一方のロボットは、複数からなり、
前記所定条件は、前記他方のロボットの動作量と複数の前記一方のロボットの動作量の中央値との差が所定範囲外であるか否かであり、
前記他方の制御装置は、前記中央値及び前記差を算出し、前記判定が肯定判定である場合に前記他方のロボットの動作量が前記中央値に近づくように前記補正量を決定することを特徴とする請求項2に記載のロボット制御システム。
【請求項7】
前記他方のロボットは、減速機を有し、
前記他方の制御装置は、前記減速機におけるバックラッシの量を予め記憶し、取得した前記一方のロボットの動作量、測定した前記他方のロボットの動作量及び記憶している前記バックラッシの量に基づいて前記補正量を決定することを特徴とする請求項1に記載のロボット制御システム。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のロボットに対するロボット制御システムに関する。
【背景技術】
【0002】
従来から、ロボットと、当該ロボットを制御する制御装置とを備えるロボット制御システムが知られている。また、少なくとも1つの制御装置を用いて複数のロボットの動作制御を行うロボット制御システムも周知である。
【0003】
これに関し、特許文献1には、緩やかな加速レートで複数のモータを始動し、複数の機械軸のそれぞれに備えた複数のエンコーダから出力されるパルス信号と、複数のエンコーダから出力される複数の機械軸の原点検出信号とに基づいて、複数の機械軸の相互の位相が一定の関係となるように複数のモータをそれぞれ加速又は減速して原点合わせを行い、その後複数のモータを通常の運転速度まで加速するように複数の機械(ロボット)を制御するロボット制御システムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3580050号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、機械軸の位相が一定の関係になるように原点合わせ(補正)を、ロボットが通常の運転速度で動作する前に行っている。したがって、特許文献1に記載の技術では、ロボットが通常の運転速度で動作した後においては、複数のロボットが長時間稼働している間に複数のロボットの間においてロボットの動作量のズレが生じるという問題があった。
【0006】
本発明はこのような問題に鑑みてなされたものであり、その目的は、複数のロボットが長時間稼働している間に複数のロボットの間に生じるロボットの動作量のズレを抑制できるロボット制御システムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のロボット制御システムは、少なくとも1つの一方のロボットと、前記一方のロボットと協調動作する他方のロボットと、前記一方のロボットを動作制御するとともに、前記一方のロボットの動作量を測定し、測定した動作量を出力する一方の制御装置と、前記一方のロボットの動作量を前記一方の制御装置から取得し、且つ、前記他方のロボットの動作量を測定し、取得した前記一方のロボットの動作量及び測定した前記他方のロボットの動作量に基づいて前記他方のロボットの動作の補正量を決定し、決定した前記補正量に基づいて前記他方のロボットの動作を制御する他の制御装置と、を備える。
【0008】
また、前記他方の制御装置は、前記他方のロボットの動作量と前記一方のロボットの動作量との関係が所定条件を満たすか否かを判定し、当該判定が肯定判定である場合に前記補正量を決定する。
【0009】
また、前記所定条件は、前記他方のロボットと前記一方のロボットとの動作量の差が所定範囲外であるか否かであり、前記他方の制御装置は、前記差を算出し、前記判定が肯定判定である場合に前記他方のロボットの動作量が前記一方のロボットの動作量に近づくように前記補正量を決定する。
【0010】
また、前記所定条件は、前記他方のロボットと前記一方のロボットとの動作量の差が所定範囲外であり、かつ前記一方のロボットの動作量が前記他方のロボットの動作量より基準値に近いか否かであり、前記他方の制御装置は、前記差を算出し、前記判定が肯定判定である場合に前記他方のロボットの動作量が前記一方のロボットの動作量に近づくように前記補正量を決定する。
【0011】
また、前記他方の制御装置は、前記他方のロボットの動作量と前記基準値との差を算出し、当該算出の結果が許容範囲外であるか否かを判定し、当該判定が肯定判定である場合に前記他方のロボットの動作を停止するように前記他方のロボットを制御する。
【0012】
また、前記一方のロボットは、複数からなり、前記所定条件は、前記他方のロボットの動作量と複数の前記一方のロボットの動作量の中央値との差が所定範囲外であるか否かであり、前記他方の制御装置は、前記中央値及び前記差を算出し、前記判定が肯定判定である場合に前記他方のロボットの動作量が前記中央値に近づくように前記補正量を決定する。
【0013】
また、前記他方のロボットは、減速機を有し、前記他方の制御装置は、前記減速機におけるバックラッシの量を予め記憶し、取得した前記一方のロボットの動作量、測定した前記他方のロボットの動作量及び記憶している前記バックラッシの量に基づいて前記補正量を決定する。
【発明の効果】
【0014】
本発明によれば、ロボット制御システムは、複数のロボットが長時間稼働している間に複数のロボットの間に生じるロボットの動作量のズレを抑制できる。
【図面の簡単な説明】
【0015】
図1】第一実施形態に係るロボット制御システムの構成を概略的に示す図である。
図2図1に示す各制御装置のハードウェア構成の一例を示す図である。
図3図1に示すロボット制御システムにおけるロボットの構成、及び制御装置の機能的構成を概略的に示す図である。
図4図1に示すロボット制御システムの一連の処理の流れを示すフローチャートの一例である。
図5図1に示すロボット制御システムの一連の処理の流れを示すフローチャートの他の例である。
図6】第二実施形態に係るロボット制御システムの構成を概略的に示す図である。
図7図6に示すロボット制御システムの一連の処理の流れを示すフローチャートの一例である。
【発明を実施するための形態】
【0016】
以下、添付図面を参照しながら本発明の複数の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素及びステップに対しては可能な限り同一の符号を付して重複する説明は省略する。
【0017】
―――第一実施形態―――
まず、第一実施形態について説明する。
【0018】
<全体構成>
図1は、第一実施形態に係るロボット制御システム1Aの構成を概略的に示す図である。図1に示すように、ロボット制御システム1Aは、例えば、制御装置10Aと、制御装置10Bと、ロボット20Aと、ロボット20Bと、を含んで主要部が構成される。
【0019】
ロボット20Aは、制御装置10Aの動作制御に従ってロボット20Bと協調動作するロボットであり、ワーク30に対して所定の作業を行う。協調動作とは、所定の作業を実行するにあたって、他のロボットと同期して動作することである。ロボット20Aは、例えば、多関節型アームを有し、多関節型アームによってワーク30に対して把持や移動、回転などを行う。
【0020】
ロボット20Bは、制御装置10Bの動作制御に従ってロボット20Aと協調動作するロボットであり、例えば、ワーク30に対してロボット20Aとは異なる所定の作業を行う。ロボット20Bは、例えば、多関節型アームを有し、多関節型アームによってワーク30に対して切削やネジ締め、ワーク30の物理的特性の測定、物質の注入又は塗布、加熱などを行う。
【0021】
制御装置10Aは、制御装置10Bと通信可能であり、ロボット20Aの動作を制御する装置である。具体的には、制御装置10Aは、ロボット20Bの動作量を制御装置10Bから取得し、且つ、ロボット20Aの動作量を測定する。そして、制御装置10Aは、取得したロボット20Bの動作量及び測定したロボット20Aの動作量に基づいてロボット20Aの動作の補正量を決定し、決定した補正量に基づいてロボット20Aの動作を制御する。
【0022】
制御装置10Bは、制御装置10Aと通信可能であり、ロボット20Bの動作を制御する装置である。制御装置10Bは、動作を制御するロボットが異なる点を除いて、制御装置10Aと同じ機能を有する。具体的には、制御装置10Bは、ロボット20Aの動作量を制御装置10Aから取得し、且つ、ロボット20Bの動作量を測定する。また、制御装置10Bは、取得したロボット20Aの動作量及び測定したロボット20Bの動作量に基づいてロボット20Bの動作の補正量を決定し、決定した補正量に基づいてロボット20Bの動作を制御する。
【0023】
<ハードウェア構成>
図2は、図1に示す各制御装置10A及び10Bのハードウェア構成の一例を示す図である。図2に示すように、制御装置10Aは、例えば、記憶装置100と、CPU(Central Processing Unit)110と、メモリ120と、通信装置130とを含んで主要部が構成される。なお、制御装置10Bのハードウェア構成については、制御装置10Aと同じであるため、その説明を省略する。
【0024】
記憶装置100は、ハードディスク等で構成される。この記憶装置100は、CPU110における処理の実行に必要な各種プログラムや各種の情報、及び処理結果の情報を記憶する。
【0025】
CPU110は、メモリ120或いは記憶装置100等に格納された所定のプログラムを実行することにより、各種の機能手段として機能する。この機能手段の詳細については後述する。
【0026】
メモリ120は、所定のプログラムや、CPU110が所定のプログラムを実行する際に必要なデータなどを一時的に記憶する。
【0027】
通信装置130は、外部の装置と通信するための通信インターフェース等で構成される。通信装置130は、例えば、制御装置10Aとロボット20Aとの間や、制御装置10Aと10Bとの間で各種の情報を送受信する。
【0028】
なお、制御装置10Aは、専用又は汎用のコンピュータなどの情報処理装置を用いて実現することができる。また、制御装置10Aは、単一の情報処理装置より構成されるものであっても、複数の情報処理装置より構成されるものであってもよい。また、図2は、制御装置10Aが有する主要なハードウェア構成の一部を示しているに過ぎず、制御装置10Aは、コンピュータが一般的に備える他の構成を備えても良い。
【0029】
<機能手段>
図3は、図1に示すロボット制御システム1Aにおけるロボット20A及び20Bの構成、及び制御装置10A及び10Bの機能的構成の一例を示す図である。図3に示すように、ロボット20Aは、例えば、原動機201と、減速機202と、検出部203とを含んで構成される。また、制御装置10Aは、例えば、機能的構成として、測定部11と、出力部12と、取得部13と、補正部14と、制御部15と、記憶部16と、を含んで構成される。記憶部16以外の機能手段は、CPU110がプログラムをメモリ120上に展開して実行することにより実現される。記憶部16は、記憶装置100又は/及びメモリ120により実現される。なお、ロボット20Bの構成については、ロボット20Aと略同じであるため、その説明を省略する。また、制御装置10Bの機能的構成については、制御装置10Aと同じであるため、その説明を省略する。
【0030】
まず、ロボット20Aの機能手段について説明する。原動機201は、例えばモータであり、ロボット20Aの多関節型アームの関節部を含む各所に設けられる。原動機201は、制御装置10Aの動作制御によって回動又は停止し、シャフトなどの伝達機構を介して、当該回動及び回動の停止をロボット20Aの関節部に設けられている減速機202に伝達する。
【0031】
減速機202は、例えば、歯車を有するギヤであり、ロボット20Aの多関節型アームの関節部を含む各所に設けられる。減速機202は、伝達される回動の回動速度を減速機202毎の変換比率で変換し、変換した回動をシャフトなどの伝達機構を介して別の減速機202や回動可能な部材に伝達する。また、減速機202は、その構造や製造バラツキなどによって、減速機202毎に異なるバックラッシの量を特性として有している。バックラッシの量とは、減速機202における歯車間にある隙間の量である。
【0032】
検出部203は、例えば、関節部の回動の角度を信号として検出するエンコーダであり、ロボット20Aの多関節型アームの関節部に設けられている。検出部203は、関節部の回動の角度を検出し、検出した角度の情報を含む信号を制御装置10Aに出力する。
【0033】
続いて、制御装置10Aの機能手段について説明する。測定部11は、ロボット20Aの動作量を測定する。具体的には、測定部11は、ロボット20Aの検出部203から送信される信号を受信し、当該信号から当該角度に関する情報を抽出することによって、ロボット20Aの動作量を測定する。また、測定部11は、測定した動作量を出力部12及び補正部14に送信する。
【0034】
出力部12は、測定部11が測定したロボット20Aの動作量を制御装置10Bに出力する。
【0035】
取得部13は、制御装置10Bにおける出力部12から送信されるロボット20Bの動作量を取得する。取得部13は、取得したロボット20Bの動作量を補正部14に送信する。
【0036】
補正部14は、測定部11が測定したロボット20Aの動作量、及び取得部13が取得したロボット20Bの動作量に基づいて、ロボット20Aの動作の補正量を決定する。補正部14は、決定したロボット20Aの動作の補正量を制御部15に送信する。なお、補正部14は、ロボット20Aの動作の補正量の決定にあたって、記憶部16からロボット20Aの動作の補正量の決定に必要なデータを適宜参照し、動作の補正量の決定に用いる。
【0037】
制御部15は、補正部14が決定したロボット20Aの動作の補正量に基づいてロボット20Aの動作を制御する。具体的には、制御部15は、補正部14が決定したロボット20Aの動作の補正量に基づいて、ロボット20Aの関節部を動作させる動作量を増減させるようにロボット20Aの動作に関する命令を修正し、修正した命令をロボット20Aの原動機201に送信することによって、ロボット20Aの動作を制御する。なお、補正部14が決定したロボット20Aの動作の補正量がゼロ又は略ゼロに近い値である場合は、ロボット20Aの動作に関する命令を修正せず、命令をそのままロボット20Aの原動機201に送信する。
【0038】
記憶部16は、補正部14がロボット20Aの動作の補正量を決定するにあたって必要になる各種の値を記憶する。具体的には、記憶部16は、ロボット20Aの各関節部におけるバックラッシの量や、ロボット20Aの動作量を補正するか否かを決定するために用いる基準値や所定範囲、ロボット20Aの動作を停止させるか否かを決定するために用いる許容範囲などを記憶する。
【0039】
<一連の処理の流れの一例>
図4は、図1に示すロボット制御システム1Aの一連の処理の流れを示すフローチャートの一例である。なお、図4では、他方のロボットがロボット20A、一方のロボットがロボット20B、他方の制御装置が制御装置10A、一方の制御装置が制御装置10Bにそれぞれ対応するがこれに限られるものではない。例えば、他方のロボットがロボット20B、一方のロボットがロボット20A、他方の制御装置が制御装置10B、一方の制御装置が制御装置10Aにそれぞれ対応しても良い。また、以下の処理の順番及び内容は適宜変更することができる。
【0040】
(ステップSP10)
制御装置10Aは、測定部11によって、ロボット20Aの検出部203から送信されるロボット20Aの関節部における回動の角度の情報を含む信号を受信し、当該信号から当該回動の角度に関する情報を抽出することによって、ロボット20Aの動作量を測定する。また、制御装置10Aは、測定部11によって、測定した動作量を出力部12及び補正部14に送信する。そして、処理は、ステップSP12の処理に移行する。
【0041】
(ステップSP12)
制御装置10Aは、出力部12を介して、測定部11が測定した測定結果、すなわちロボット20Aの動作量を制御装置10Bの取得部13に出力する。そして、処理は、ステップSP14の処理に移行する。
【0042】
(ステップSP14)
制御装置10Aは、取得部13によって、制御装置10Bの出力部12から送信されるロボット20Bの動作量を取得する。そして、処理は、ステップSP16の処理に移行する。
【0043】
(ステップSP16)
制御装置10Aは、補正部14によって、測定部11が測定したロボット20Aの動作量及び取得部13が取得したロボット20Bの動作量の差を算出する。そして、処理は、ステップSP18の処理に移行する。
【0044】
(ステップSP18)
制御装置10Aは、補正部14によって、ロボット20Aの動作量と少なくとも一つ以上のロボット20Bの動作量との関係が所定条件を満たすか否かを判定する。そして、当該判定が肯定判定である場合、処理はステップSP22の処理に移行し、当該判定が否定判定である場合、処理はステップSP20の処理に移行する。より具体的には、制御装置10Aは、補正部14によって、ロボット20A及びロボット20Bの動作量の差が所定範囲外であるか否かを判定する。すなわち、図4に示す一連の処理において、所定条件は、ロボット20A及びロボット20Bの動作量の差が所定範囲外であるか否かである。所定範囲は、下限値以上かつ上限値未満の範囲のことであり、予め記憶部16に記憶されている。
【0045】
(ステップSP20)
制御装置10Aは、制御部15によってロボット20Aの動作を制御する。具体的には、制御装置10Aは、ロボット20Aについて予め定められている動作量分だけロボット20Aが動作するように制御する。そして、図4に示す一連の処理は、終了する。
【0046】
(ステップSP22)
制御装置10Aは、補正部14によって、ロボット20Aの動作の補正量を決定する。具体的には、制御装置10Aは、補正部14によって、ロボット20Aの動作量がロボット20Bの動作量に近づくようにロボット20Aの動作の補正量を決定する。一例を挙げると、制御装置10Aは、補正部14によって、ロボット20Aの動作量からロボット20Bの動作量を減算する。さらに、制御装置10Aは、当該減算の結果が正の値である場合、補正部14によって、当該減算の結果の半分の値だけ動作量が減るようにロボット20Aの動作の補正量を決定し、当該減算の結果が負の値である場合、補正部14によって、当該減算の結果の半分の値だけ動作量が増すようにロボット20Aの動作の補正量を決定する。そして、処理は、ステップSP24の処理に移行する。
【0047】
(ステップSP24)
制御装置10Aは、補正部14が決定したロボット20Aの動作の補正量に基づいて、制御部15によってロボット20Aを制御する。具体的には、制御装置10Aは、補正部14が決定したロボット20Aの動作の補正量の分だけ、ロボット20Aについて予め定められている動作量を増減させ、増減させた動作量分だけロボット20Aが動作するように制御する。そして、図4に示す一連の処理は、終了する。
【0048】
<効果>
以上、本実施形態では、ロボット制御システム1Aは、制御装置10A(他方の制御装置)が、測定したロボット20A(他方のロボット)の動作量と制御装置10B(一方の制御装置)から取得したロボット20B(一方のロボット)の動作量とに基づいて、ロボット20A(他方のロボット)の動作の補正量を決定する。したがって、ロボット制御システム1Aは、複数のロボット20A及び20Bが長時間稼働している間に複数のロボット20Aと20Bとの間に生じるロボット20Aとロボット20Bとの動作量のズレを抑制できる。
【0049】
また、ロボット制御システム1Aは、制御装置10A(他方の制御装置)が、測定したロボット20A(他方のロボット)の動作量と制御装置10B(一方の制御装置)から取得したロボット20B(一方のロボット)の動作量との関係が所定条件を満たすか否かを判定し、当該判定が肯定判定である場合にロボット20A(他方のロボット)の動作の補正量を決定する。したがって、ロボット制御システム1Aは、複数のロボット20Aとロボット20Bとの間に生じる動作量にズレが生じているか否かを判定でき、当該ズレが発生している場合に当該ズレを抑制し、当該ズレが発生していない場合はズレの抑制を行わないことができる。
【0050】
また、ロボット制御システム1Aは、制御装置10A(他方の制御装置)が、ロボット20Aとロボット20Bとの動作量の差を算出し、当該差が所定範囲外であるか否かを判定する。さらに、ロボット制御システム1Aは、制御装置10A(他方の制御装置)が、当該判定が肯定判定である場合にロボット20A(他方のロボット)の動作量がロボット20B(一方のロボット)の動作量に近づくようにロボット20A(他方のロボット)の動作の補正量を決定する。したがって、ロボット制御システム1Aは、ロボット20Aとロボット20Bとの動作量の差が所定範囲内に収まるように、ロボット20Aの動作量を補正できる。
【0051】
<一連の処理の流れの他の例>
なお、以下、続いて、ロボット制御システム1Aの一連の処理の流れの他の変形例について説明する。図5は、図1に示すロボット制御システム1Aの一連の処理の流れを示すフローチャートの他の例である。なお、図5においても、一方のロボット、他方のロボット、一方の制御装置、他方の制御装置の定義は、図4と同じである。また、以下の処理の順番及び内容は適宜変更することができる。
【0052】
(ステップSP40)
制御装置10Aは、測定部11によって、ロボット20Aの検出部203から送信されるロボット20Aの関節部における回動の角度の情報を含む信号を受信し、当該信号から当該回動の角度に関する情報を抽出することによって、ロボット20Aの動作量を測定する。また、制御装置10Aは、測定部11によって、測定した動作量を出力部12及び補正部14に送信する。そして、処理は、ステップSP42の処理に移行する。
【0053】
(ステップSP42)
制御装置10Aは、補正部14によって、ロボット20Aの動作量と基準値との差を算出する。ここで、基準値は、記憶部16に予め記憶されており、ロボット20Aが協調動作を開始した時刻を基点としたある時刻におけるロボット20Aの動作量の基準として用いられる値である。そして、処理は、ステップSP44の処理に移行する。
【0054】
(ステップSP44)
制御装置10Aは、補正部14によって、ロボット20Aの動作量と基準値との差が許容範囲外であるか否かを判定する。ここで、許容範囲は、記憶部16に予め記憶されており、ロボット20Aの動作量が基準値に対してどの程度離れても良いかを示す範囲である。そして、当該判定が肯定判定である場合、処理はステップSP46の処理に移行し、当該判定が否定判定である場合、処理はステップSP50の処理に移行する。
【0055】
(ステップSP46)
制御装置10Aは、制御部15によって、ロボット20Aの動作を停止するようにロボット20Aの動作を制御する。そして、処理は、ステップSP48の処理に移行する。
【0056】
(ステップSP48)
制御装置10Aは、出力部12によって、ロボット20Aの動作を停止させたことを示すアラートを制御装置10Bに出力する。そして、図5に示す一連の処理は、終了する。
【0057】
(ステップSP50)
制御装置10Aは、出力部12を介して、測定部11が測定した測定結果、すなわちロボット20Aの動作量を制御装置10Bの取得部13に出力する。そして、処理は、ステップSP52の処理に移行する。
【0058】
(ステップSP52)
制御装置10Aは、取得部13によって、制御装置10Bの出力部12から送信されるロボット20Bの動作量を取得する。そして、処理は、ステップSP54の処理に移行する。
【0059】
(ステップSP54)
制御装置10Aは、補正部14によって、測定部11が測定したロボット20Aの動作量及び取得部13が取得したロボット20Bの動作量の差を算出する。そして、処理は、ステップSP56の処理に移行する。
【0060】
(ステップSP56)
制御装置10Aは、補正部14によって、ロボット20Aの動作量と少なくとも一つ以上のロボット20Bの動作量との関係が所定条件を満たすか否かを判定する。そして、当該判定が肯定判定である場合、処理はステップSP60の処理に移行し、当該判定が否定判定である場合、処理はステップSP58の処理に移行する。より具体的には、制御装置10Aは、補正部14によって、ロボット20A及びロボット20Bの動作量の差が所定範囲外であるか否かを判定する。
【0061】
(ステップSP58)
制御装置10Aは、制御部15によってロボット20Aの動作を制御する。具体的には、制御装置10Aは、ロボット20Aについて予め定められている動作量分だけロボット20Aが動作するように制御する。そして、図5に示す一連の処理は、終了する。
【0062】
(ステップSP60)
制御装置10Aは、補正部14によって、ロボット20Bの動作量がロボット20Aの動作量より基準値に近いか否かを判定する。そして、当該判定が肯定判定である場合、処理はステップSP58の処理に移行し、当該判定が否定判定である場合、処理はステップSP62の処理に移行する。より具体的には、制御装置10Aは、補正部14によって、ロボット20Bに関する基準値及びロボット20Bの動作量の差と、ロボット20Aに関する基準値及びロボット20Aの動作量の差を算出する。さらに、制御装置10Aは、ロボット20Bに関する基準値及びロボット20Aの動作量の差がロボット20Aに関する基準値及びロボット20Aの動作量の差よりも小さいか否かを判定する。
【0063】
(ステップSP62)
制御装置10Aは、補正部14によって、ロボット20Aの動作の補正量を決定する。具体的には、制御装置10Aは、補正部14によって、ロボット20Aの動作量がロボット20Bの動作量に近づくようにロボット20Aの動作の補正量を決定する。一例を挙げると、制御装置10Aは、補正部14によって、ロボット20Aの動作量からロボット20Bの動作量を減算する。さらに、制御装置10Aは、当該減算の結果が正の値である場合、補正部14によって、当該減算結果の値だけ動作量が減るようにロボット20Aの動作の補正量を決定し、当該減算の結果が負の値である場合、補正部14によって、当該減算結果の値だけ動作量が増すようにロボット20Aの動作の補正量を決定する。そして、処理は、ステップSP64の処理に移行する。
【0064】
(ステップSP64)
制御装置10Aは、補正部14が決定したロボット20Aの動作の補正量に基づいて、制御部15によってロボット20Aを制御する。具体的には、制御装置10Aは、補正部14が決定したロボット20Aの動作の補正量の分だけ、ロボット20Aについて予め定められている動作量を増減させ、増減させた動作量分だけロボット20Aが動作するように制御する。そして、図5に示す一連の処理は、終了する。
【0065】
<効果>
以上、本変形例では、ロボット制御システム1Aは、制御装置10A(他方の制御装置)が、ロボット20A及び20Bの動作量の差が所定範囲外であり、かつロボット20B(一方のロボット)の動作量がロボット20A(他方のロボット)の動作量より基準値に近いか否かを判定し、当該判定が肯定判定である場合にロボット20A(他方のロボット)の動作の補正量を決定する。したがって、ロボット制御システム1Aは、制御装置10Aがロボット20Aの動作量がロボット20Bの動作量よりも基準値から離れている場合のみロボット20Aの動作を補正するため、複数のロボット20A及び20Bが長時間稼働している間に複数のロボット20Aとロボット20Bとの間に生じるロボット20Aとロボット20Bとの動作量のズレをより高精度に抑制できる。
【0066】
また、ロボット制御システム1Aは、制御装置10A(他方の制御装置)が、ロボット20A(他方のロボット)の動作量と基準値との差を算出し、当該算出の結果が許容範囲外であるか否かを判定し、当該判定が肯定判定である場合にロボット20Aの動作を停止させる。したがって、ロボット制御システム1Aは、ロボット20Aの動作量が基準値に対して逸脱している場合に、ロボット20Aの動作を制限できる。
【0067】
―――第二実施形態―――
続いて、第二実施形態について説明する。
【0068】
<全体構成>
図6は、第二実施形態に係るロボット制御システム1Bの構成を概略的に示す図である。図1に示すように、ロボット制御システム1Bは、例えば、複数の制御装置10A~10Zと、複数のロボット20A~20Zとを含んで構成される。
【0069】
ロボット20A~20Zは、ロボット20A~20Zの間で互いに協調動作するロボットである。ロボット20A~20Zは、それぞれ異なる動作を行うが、これに限られるものではなく、同じ動作を行っても良い。
【0070】
制御装置10A~10Zは、それぞれロボット20A~20Bのうち対応する一つの動作を制御する。また、制御装置10A~10Zは、互いに通信可能に接続される。制御装置10A~10Zは、動作を制御するロボットが異なる点を除いて、それぞれ同じ機能を有する。
【0071】
<一連の処理の流れの一例>
以上、ロボット制御システム1Bの全体構成について説明した。次に、ロボット制御システム1Bの一連の処理の流れについて詳しく説明する。図7は、図6に示すロボット制御システム1Bの一連の処理の流れを示すフローチャートの一例である。なお、図7では、他方のロボットがロボット20A、複数の一方のロボットがロボット20B~20Z、他方の制御装置が制御装置10A、複数の一方の制御装置が制御装置10B~10Zにそれぞれ対応するがこれに限られるものではない。例えば、他方のロボットがロボット20B~20Zのうちいずれかである場合、複数の一方のロボットは、他方のロボット以外の複数のロボットであっても良い。また、他方の制御装置が制御装置10B~10Zのうちのいずれかである場合、複数の一方の制御装置は、他方の制御装置を以外の複数の制御装置10Aであっても良い。また、以下の処理の順番及び内容は適宜変更することができる。
【0072】
(ステップSP80)
制御装置10Aは、測定部11によって、ロボット20Aの検出部203から送信されるロボット20Aの関節部における回動の角度の情報を含む信号を受信し、当該信号から当該回動の角度に関する情報を抽出することによって、ロボット20Aの動作量を測定する。また、制御装置10Aは、測定部11によって、測定した動作量を出力部12及び補正部14に送信する。そして、処理は、ステップSP82の処理に移行する。
【0073】
(ステップSP82)
制御装置10Aは、出力部12を介して、測定部11が測定した測定結果、すなわちロボット20Aの動作量を制御装置10B~10Zの取得部13に出力する。そして、処理は、ステップSP84の処理に移行する。
【0074】
(ステップSP84)
制御装置10Aは、取得部13によって、制御装置10B~10Zの出力部12から送信される複数のロボット20B~20Zの動作量を取得する。そして、処理は、ステップSP86の処理に移行する。
【0075】
(ステップSP86)
制御装置10Aは、補正部14によって、取得部13が取得したロボット20B~20Zの動作量の中央値を算出する。そして、処理は、ステップSP88の処理に移行する。
【0076】
(ステップSP88)
制御装置10Aは、補正部14によって、測定部11が測定したロボット20Aの動作量及びロボット20B~20Zの動作量の中央値の差を算出する。そして、処理は、ステップSP90の処理に移行する。
【0077】
(ステップSP90)
制御装置10Aは、補正部14によって、ロボット20Aの動作量と複数のロボット20B~20Zの動作量との関係が所定条件を満たすか否かを判定する。そして、当該判定が肯定判定である場合、処理はステップSP94の処理に移行し、当該判定が否定判定である場合、処理はステップSP92の処理に移行する。より具体的には、制御装置10Aは、補正部14によって、ロボット20Aの動作量及びロボット20B~20Zの動作量の中央値の差が所定範囲外であるか否かを判定する。すなわち、図7に示す一連の処理において、所定条件は、ロボット20Aの動作量及びロボット20B~20Zの動作量の中央値の差が所定範囲外であるか否かである。
【0078】
(ステップSP92)
制御装置10Aは、制御部15によってロボット20Aの動作を制御する。具体的には、制御装置10Aは、ロボット20Aについて予め定められている動作量分だけロボット20Aが動作するように制御する。そして、図7に示す一連の処理は、終了する。
【0079】
(ステップSP94)
制御装置10Aは、補正部14によって、ロボット20Aの動作の補正量を決定する。具体的には、制御装置10Aは、補正部14によって、ロボット20Aの動作量がロボット20B~20Zの動作量の中央値に近づくようにロボット20Aの動作の補正量を決定する。一例を挙げると、制御装置10Aは、補正部14によって、ロボット20Aの動作量からロボット20B~20Zの中央値の動作量を減算する。さらに、制御装置10Aは、当該減算の結果が正の値である場合、補正部14によって、当該減算の結果の値だけ動作量が減るようにロボット20Aの動作の補正量を決定し、当該減算の結果が負の値である場合、補正部14によって、当該減算の結果の値だけ動作量が増すようにロボット20Aの動作の補正量を決定する。そして、処理は、ステップSP96の処理に移行する。
【0080】
(ステップSP96)
制御装置10Aは、補正部14が決定したロボット20Aの動作の補正量に基づいて、制御部15によってロボット20Aを制御する。具体的には、制御装置10Aは、補正部14が決定したロボット20Aの動作の補正量の分だけ、ロボット20Aの動作量を増減させた上で、ロボット20Aの動作を制御する。そして、図7に示す一連の処理は、終了する。
【0081】
<効果>
以上、第二実施形態では、ロボット制御システム1Bは、制御装置10A(他の制御装置)が、ロボット20A(他方のロボット)の動作量と、ロボット20B~20Z(複数の一方のロボット)の動作量の中央値とに基づいてロボット20Aの動作の補正量を決定する。したがって、ロボット制御システム1Bは、3台以上のロボット20A~20Zが長時間稼働している間に複数のロボット20A~20Zの間に生じるロボット20A~20Zの間の動作量のズレを抑制できる。
【0082】
<変形例>
なお、本発明は上記の実施形態に限定されるものではない。すなわち、上記の実施形態に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。また、上記実施形態及び後述する変形例が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。
【0083】
例えば、第一実施形態では、ロボット制御システム1Aは、制御装置10Aが、取得部13が取得したロボット20Bの動作量及び測定部11が測定したロボット20Aの動作量に基づいてロボット20Aの動作の補正量を決定するが、これに限られるものではない。ロボット制御システム1Aは、制御装置10A(他方の制御装置)が、記憶部16に予めロボット20A(他方のロボット)の減速機202におけるバックラッシの量を記憶しても良い。さらに、ロボット制御システム1Aは、制御装置10A(他方の制御装置)が、取得したロボット20B(一方のロボット)の動作量、測定したロボット20A(他方のロボット)の動作量及び記憶しているバックラッシの量に基づいて、ロボット20A(他方のロボット)の動作の補正量を決定しても良い。
【0084】
具体的には、ロボット制御システム1Aにおける制御装置10Aは、補正部14によって、ロボット20A及びロボット20Bの動作量の差が所定範囲外であるか否かを判定する。制御装置10Aが、ロボット20A及びロボット20Bの動作量の差が所定範囲外であると判定する場合、制御装置10Aは、補正部14によって、ロボット20Aの動作量からロボット20Bの動作量を減算する。さらに、制御装置10Aは、当該減算の結果が正の値である場合、補正部14によって、記憶部16に記憶しているバックラッシの量に所定係数を乗じた値だけ動作量を減らすことによって、当該減算結果の値だけ動作量が増すようにロボット20Aの動作の補正量を決定し、当該減算の結果が負の値である場合、記憶部16に記憶しているバックラッシの量に所定係数を乗じた値だけさらに動作させることによって、当該減算結果の値だけ動作量が減るようにロボット20Aの動作の補正量を決定する。
【0085】
この構成によれば、ロボット制御システム1Aは、ロボット20Aのバックラッシの量に応じて、複数のロボット20A及び20Bが長時間稼働している間に複数のロボット20A及び20Bの間に生じるロボットの動作量のズレを抑制できる。
【0086】
また、第二実施形態では、ロボット制御システム1Bにおける制御装置10Aは、補正部14によって、ロボット20Aの動作量及びロボット20B~20Zの動作量の中央値の差が所定範囲外であるか否かを判定するが、これに限られるものではない。第二実施形態において、制御装置10Aは、ロボット20Aの動作量及びロボット20B~20Zの動作量の平均値や最頻値の差が所定範囲外であるか否かを判定しても良い。
【0087】
この構成によれば、ロボット制御システム1Bは、3台以上のロボット20A~20Zが長時間稼働している間に複数のロボット20A~20Zの間に生じるロボット20A~20Zの間の動作量のズレを抑制できる。
【符号の説明】
【0088】
1A…ロボット制御システム、1B…ロボット制御システム、10A…制御装置(一方の制御装置、他方の制御装置)、10B…制御装置(一方の制御装置、他方の制御装置)、20A…ロボット(一方のロボット、他方のロボット)、20B…ロボット(一方のロボット、他方のロボット)、202…減速機


図1
図2
図3
図4
図5
図6
図7