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

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

▶ ファナック株式会社の特許一覧

<>
  • 特許-ロボット制御装置及びロボットシステム 図1
  • 特許-ロボット制御装置及びロボットシステム 図2
  • 特許-ロボット制御装置及びロボットシステム 図3
  • 特許-ロボット制御装置及びロボットシステム 図4
  • 特許-ロボット制御装置及びロボットシステム 図5
  • 特許-ロボット制御装置及びロボットシステム 図6
  • 特許-ロボット制御装置及びロボットシステム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】ロボット制御装置及びロボットシステム
(51)【国際特許分類】
   B25J 9/10 20060101AFI20240326BHJP
【FI】
B25J9/10 A
【請求項の数】 5
(21)【出願番号】P 2022572198
(86)(22)【出願日】2021-12-14
(86)【国際出願番号】 JP2021046108
(87)【国際公開番号】W WO2022138337
(87)【国際公開日】2022-06-30
【審査請求日】2023-07-11
(31)【優先権主張番号】P 2020211689
(32)【優先日】2020-12-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】稲垣 聡
(72)【発明者】
【氏名】鈴木 元
【審査官】尾形 元
(56)【参考文献】
【文献】特開2020-179484(JP,A)
【文献】特開2014-14897(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10
(57)【特許請求の範囲】
【請求項1】
ロボットによって移動させられる対象物について作業を行うために、前記作業を行う1又は複数の作業区間を含む移動経路を複数の通過点によって特定する動作プログラムに基づいて前記ロボットの動作を制御するロボット制御装置であって、
前記動作プログラムに基づいて前記ロボットの時刻ごとの状態を指示する指令値を作成する指令値作成部と、
前記指令値に従って前記ロボットを駆動する駆動部と、
前記駆動部により駆動される前記ロボットの時刻ごとの振動量を取得する振動量取得部と、
前記動作プログラムに基づいて、前記振動量取得部が取得した前記振動量の中から、前記作業区間に対応する時刻の前記振動量を抽出する振動量抽出部と、
前記振動量抽出部が抽出した前記振動量に基づいて、前記指令値を補正する指令値補正部と、
を備える、ロボット制御装置。
【請求項2】
前記作業区間の始点及び終点がいずれかの前記通過点によって特定される、請求項1に記載のロボット制御装置。
【請求項3】
前記作業区間の始点及び終点は、前記動作プログラムに記述される前記作業の実行を指示する命令によって特定される、請求項1又は2に記載のロボット制御装置。
【請求項4】
前記振動量抽出部は、前記作業区間の全範囲及びその終点が前記作業区間の始点と一致する所定の設定範囲に属する時刻の前記振動量を抽出する、請求項1から3のいずれかに記載のロボット制御装置。
【請求項5】
請求項1から4のいずれかに記載のロボット制御装置と、
前記ロボット制御装置により制御されるロボットと、
前記ロボットの振動量に関する値を検出する振動検出器と、
を備える、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御装置及びロボットシステムに関する。
【背景技術】
【0002】
例えばロボット溶接システム等、ロボットの先端部に保持される工具、ワーク等の搬送物の位置を代表する基準点を予め定められた軌跡に沿って移動させることで所望の作業を行うシステムが広範に利用されている。このようなロボットシステムでは、所望の軌跡を複数の通過点で表す動作プログラムに従って、ロボットの先端部が複数の通過点を順番に通過するようロボットを動作させる。
【0003】
ロボットは、その機械的構造に僅かではあるが弾性を有するため、その動作に伴って振動を発生する。ロボットの動作を高速化することで作業効率を向上しようとすると、ロボットの振動が大きくなる。そこで、実際のロボットの動作時の振動を測定し、この測定値に基づく機械学習によって、ロボットの振動を抑制できるようロボットの加減速時間を修正することが提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-147197公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
機械学習によってロボットの振動を十分に抑制するためには、ロボットを動作させて実際に発生する振動を確認する工程と、確認された振動を操作するよう指令値を補正する工程とを繰り返し行う必要がある。ロボットが例えば多品種少量生産の製造ラインに用いられる場合等、同じロボットシステムにおいて多様な動作プログラムを実行する場合には、動作プログラムごとに機械学習のための動作を繰り返すことが必要である。振動を許容範囲内とするために必要な機械学習のための繰り返し回数は、ロボットの動作速度を大きくすれば増加する。このため、必要とされる動作プログラム実行回数が少ない場合、ロボットの動作速度の増大による時間短縮を機械学習のために要する時間が相殺してしまう。
【0006】
かかる実情に鑑みて本発明は、少ない回数の動作に基づく機械学習によりロボットの振動を低減できるロボット制御装置及びロボットシステムを提供することを課題とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係るロボット制御装置は、ロボットによって移動させられる対象物について作業を行うために、前記作業を行う1又は複数の作業区間を含む移動経路を複数の通過点によって特定する動作プログラムに基づいて前記ロボットの動作を制御するロボット制御装置であって、前記動作プログラムに基づいて前記ロボットの時刻ごとの状態を指示する指令値を作成する指令値作成部と、前記指令値に従って前記ロボットを駆動する駆動部と、前記駆動部により駆動される前記ロボットの時刻ごとの振動量を取得する振動量取得部と、前記動作プログラムに基づいて、前記振動量取得部が取得した前記振動量の中から、前記作業区間に対応する時刻の前記振動量を抽出する振動量抽出部と、前記振動量抽出部が抽出した前記振動量に基づいて、前記指令値を補正する指令値補正部と、を備える。
【発明の効果】
【0008】
本発明によれば、少ない回数の動作に基づく機械学習により振動を低減できるロボットシステムを提供できる。
【図面の簡単な説明】
【0009】
図1】本発明の一実施形態に係るロボットシステムの構成を示す模式図である。
図2図1のロボットシステムによりスポット溶接を行う場合の対象物の移動経路を示す模式図である。
図3図1のロボットシステムによりレーザ加工を行う場合の対象物の移動経路を示す模式図である。
図4図2の移動経路において振動量が抽出される範囲を示す模式図である。
図5図3の移動経路において振動量が抽出される範囲を示す模式図である。
図6図1のロボットシステムにおける指令値補正の流れを示す制御ブロック図である。
図7図1のロボットシステムにおける対象物の位置の変化を示すグラフである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について、図面を参照しながら説明をする。図1は、本発明の一実施形態に係るロボットシステム1の構成を示す模式図である。
【0011】
本実施形態に係るロボットシステム1は、ロボット10と、ロボット10の先端に保持され、ロボット10によって移動させられる対象物20と、ロボット10の振動量(先端部の理論上の位置と実際の位置との乖離)に関する値を検出する振動検出器30と、ロボット10を制御するロボット制御装置40と、を備える。
【0012】
ロボット10としては、典型的には図示するような垂直多関節型ロボットが用いられる。以下の説明では、ロボット10が垂直多関節型ロボットであるものとして説明するが、ロボット10は、例えばスカラー型ロボット、パラレルリンク型ロボット、直交座標型ロボット等であってもよい。
【0013】
ロボット10は、関節で接続される複数のリンクを含み、ロボット制御装置40から入力される指令値に従って各関節の駆動軸の角度位置を定めることで、対象物20をワールド座標系(通常はロボット10の基部が固定される空間の座標系)上で位置決めする。ロボット10のリンク及び関節の駆動機構は、わずかながら弾性変形し得るため、ロボット10の動作に伴って振動を発生させ得る。ロボット10の振動は、対象物20の振動量を生じる。
【0014】
対象物20としては、例えば加工、測定等各種の作業を行う機器、作業の対象となるワークなどが想定され、それらを保持する保持具であってもよい。図1に一例として図示する対象物20は、ワークを挟み込んで溶接電流を印加することによりスポット溶接を行う溶接ヘッドである。
【0015】
振動検出器30は、ロボット10の先端部又は対象物20のワールド座標系における位置、加速度等、振動量を算出するために利用可能な値を検出する。図示する例では、振動検出器30は、ロボット10の先端部に対象物20に対して相対移動しないよう固定されているが、振動検出器30は、ワールド座標系において不動に配設されてもよい。
【0016】
ロボット制御装置40は、ロボット10によって移動させられる対象物20について作業を行うために、その作業を行う1又は複数の作業区間を含む移動経路を複数の通過点によって特定する動作プログラムに基づいてロボット10の動作を制御する。具体的には、ロボット制御装置40は、動作プログラムに従ってロボット10を動作させるために、ロボット10の各駆動軸に対して駆動電流を供給する。
【0017】
ロボット制御装置40は、例えばメモリ、CPU、入出力インターフェイス等を有する1又は複数のコンピュータ装置に適切な制御プログラムを実行させることにより実現できる。なお、以下に説明するロボット制御装置40の各構成要素は、その機能において類別されるものであって、物理構成及びプログラム構成において明確に区分できるものでなくてもよい。
【0018】
ロボット制御装置40は、プログラム記憶部41と、指令値作成部42と、指令値記憶部43と、駆動部44と、振動量取得部45と、振動量抽出部46と、指令値補正部47と、を備える。
【0019】
プログラム記憶部41は、動作プログラムを記憶する。ロボットシステム1において、例えば図2に示すような移動経路でスポット溶接を行うための動作プログラムは、次のように記述され得る。
【0020】
(スポット溶接プログラム例)
1:カクジク @イチ[1] 100% イチギメ
2:
3:カクジク @イチ[2] 100% ナメラカ50
4:チョクセン @イチ[3] 3000mm/sec イチギメ
5:
6: ガクシュウカイシ[1] タッセイド 0% スポット
7:チョクセン @イチ[4] 2000mm/sec ナメラカ100
: スポット[S=1]
8:
9:チョクセン @イチ[5] 2000mm/sec ナメラカ100
: スポット[S=1]
10:
11:チョクセン @イチ[6] 2000mm/sec ナメラカ100
: スポット[S=1]
12: ガクシュウ オワリ
13:
14:チョクセン @イチ[7] 100mm/sec ナメラカ100
15:カクジク @イチ[1] 100% イチギメ
[オワリ]
【0021】
例示する動作プログラムは、従来と同様に、ロボット10の通過点を指定する命令文と、学習の開始点及び終了点を示す命令文とを含む。ロボット10の通過点を指定する命令文には、対象物20についての作業の実行を指示する命令を記述できる。例示する動作プログラムにおいて、「イチ[n]」は、別途通過点を定義するテーブルにおいてn番目に定義された通過点を示す。実際に対象物について作業を行う作業区間の始点及び終点は、それぞれいずれかの通過点によって特定され得る。なお、「イチ[n]」については、図面上では、簡略化のため「p[n]」と示す。
【0022】
本実施形態のロボット制御装置40では、学習の開始点を示す命令文に作業の種類を記述できるよう構成されている。記述された作業の種類によって、スポット溶接のように単一の通過点で行われる作業であるか、例えばレーザ加工のようにいずれかの通過点で開始され、他の通過点において終了する作業であるか、が判別される。例示する動作プログラムにおいて、第6行の学習の開始点を示す命令文末尾の「スポット」は、作業内容がスポット溶接であり、作業区間が1つの通過点のみ、つまり作業区間の始点と終点とが同一であることを示すスイッチである。上記動作プログラムにおいて、第7行、第9行及び第11行の「スポット[S=1]」は、その行に記述され得る通過点においてスポット溶接を行うべきことを示す。
【0023】
次に、対象物20をワークに連続的にレーザを照射して線状の溝を形成するためのレーザヘッドとし、例えば図3に示すような移動経路でレーザ加工を行う場合の動作プログラムを例示する。
【0024】
(レーザ加工プログラム例)
1 : カクジク イチ[1] 100% イチギメ
2 :
3 : ガクシュウカイシ[1] タッセイド0% レーザカコウ
4 : DO[1] = オン
5 : エンコ イチ[2]
イチ[3] 400mm/s ナメラカ100
6 : エンコ イチ[3]
イチ[4] 400mm/s ナメラカ100
7 : エンコ イチ[4]
イチ[1] 400mm/s イチギメ
8 : DO[1] = オフ
9 :
10 : チョクセン イチ[5] 2000mm/s イチギメ
11 : DO[1] = オン
12 : チョクセン イチ[6] 400mm/s CR0
13 : チョクセン イチ[7] 400mm/s CR0
14 : チョクセン イチ[8] 400mm/s CR0
15 : チョクセン イチ[5] 400mm/s CR0
16 : DO[1] = オフ
17 :
18 :チョクセン イチ[9] 2000mm/s イチギメ
19 : DO[1] = オン
20 : エンコ イチ[10]
イチ[11] 400mm/s ナメラカ100
21 : エンコ イチ[11]
イチ[12] 400mm/s ナメラカ100
22 : エンコ イチ[12]
イチ[9] 400mm/s イチギメ
23 : DO[1] = オフ
24 : ガクシュウ オワリ
[オワリ]
【0025】
例示する動作プログラムにおいて、第3行の学習の開始点を示す命令文末尾の「レーザカコウ」は、作業内容がレーザ加工であり、作業区間がレーザ照射の開始点を示す命令が記載された通過点に始まり、レーザ照射の終了点を示す命令が記載された通過点で終わることを示すスイッチである。上記動作プログラムにおいて、第4行、第11行及び第19行の「DO[1] = オン」は、次の行に記述された通過点においてレーザ照射を開始することを指示し、第8行、第16行及び第23行の「DO[1] =オフ」は、前の行に記述された通過点においてレーザ照射を終了することを指示する命令である。
【0026】
指令値作成部42は、動作プログラムに基づいてロボット10の時刻ごとの状態を指示する指令値を作成する。具体的には、対象物20を動作プログラムに記述される経路に沿って移動させる場合にロボット10の各駆動軸が時刻毎に取るべき位置を算出する。
【0027】
指令値記憶部43は、指令値作成部42が作成した指令値を記憶する。指令値記憶部43に記憶される指令値は、指令値補正部47によって更新され得る。
【0028】
駆動部44は、指令値記憶部43に記憶されている指令値に従ってロボット10を駆動する。具体的には、ロボット10の各駆動軸が指令値により指定される角度位置になるよう、駆動軸の回転速度及びそれに必要な駆動電流を算出し、算出された駆動電流をロボット10の各軸に供給する。
【0029】
振動量取得部45は、振動検出器30の検出値に基づいて、駆動部44により駆動されるロボット10の時刻ごとの振動量を取得する。具体的には、振動検出器30がロボット10の先端部又は対象物20のワールド座標系における位置を検出する場合、振動量取得部45は、振動検出器30の検出値とロボット制御装置40の指令値から算出される位置との差から振動量を算出するよう構成され得る。また、振動検出器30がロボット10の先端部又は対象物20の加速度を検出する場合、振動量取得部45は、振動検出器30の検出値とロボット制御装置40の指令値から算出される加速度との差から振動量を算出するよう構成されてもよい。
【0030】
振動量抽出部46は、動作プログラムに基づいて、振動量取得部45が取得した振動量の中から、作業区間に対応する時刻の振動量を抽出する。ここで、「作業区間に対応する時刻」とは、作業区間の全範囲及びその終点が作業区間の始点と一致する所定の設定範囲、つまり作業区間の直前の設定範囲に属する時刻とすることが好ましい。「設定範囲」は、作業区間の始点におけるロボット10の振動に大きな影響を及ぼすと予想される範囲であり、予め設定される所定の規則に基づいて定められる。具体的には、設定範囲は、例えば一定の時間範囲、一定の移動距離範囲、移動速度に比例する時間範囲等、予想されるロボット10の振動に応じて適宜設定され得る。なお、設定範囲は、「ゼロ」に設定、つまり振動量の抽出範囲を作業区間に一致させるよう設定されてもよい。
【0031】
図4に、図2の移動経路において振動量が抽出される範囲を太線で示し、図5に、図3の移動経路において振動量が抽出される範囲を太線で示す。このように、振動量抽出部46は、対象物20について作業を行う作業区間及びその直前の設定範囲における振動量だけを抽出し、作業区間の直前の設定範囲を除く作業を行わない区間の振動量を無視する。
【0032】
一般に、動作プログラムは、作業区間においては対象物20について作業を正確に行うために対象物20の速度及び加速度を制限するよう作成されるが、作業区間の間ではサイクルタイムを短縮するために速度及び加速度を制限せずに作成される。このような動作プログラムに従うと、作業区間の終点から次の作業区間の始点への移動を開始した直後に、ロボット10の加速度が最大となるのロボット10の弾性変形による振動量が大きくなりやすい。
【0033】
指令値補正部47は、振動量抽出部46が抽出した振動量に基づく機械学習により、ロボット10の振動量が小さくなる指令値を補正する。指令値補正部47は、振動量抽出部46が抽出しなかった時刻の振動量はゼロであるものとして扱う。つまり、指令値補正部47は、作業区間及びその直前の設定範囲における対象物20についての作業の精度に影響し得る振動量だけを小さくするよう指令値を補正する。一方、指令値補正部47は、作業区間の終点から次の作業区間の始点への移動を開始した直後の対象物20についての作業の精度に影響せず、かつ振動量が大きくなりやすい範囲における振動量を補償しない。なお、振動量に基づく機械学習による指令値の補正は、公知の方法により行うことができる。
【0034】
ロボット10の加速度が大きい間の振動を補償すると、ロボット10の加速度が低下したときにオーバーシュートが発生して振動量が大きくなり得る。指令値補正部47は、このようなロボット10の加速度が大きい間の振動を許容するので、作業区間内に振動量補償のオーバーシュートによる振動量の増大が生じることを防止できる。なお、作業区間と次の作業区間との間で作業を行わずに対象物20を移動する間は、ロボット10の実際の位置と動作プログラムによって企図される位置との間に乖離が生じても、作業の結果に影響を及ぼさない。
【0035】
図6に、ロボットシステム1における指令値補正の流れを制御ブロック図で示す。このように、振動検出器30の検出値の一部を振動量抽出部46によってマスキングしてから、指令値補正部47によって指令値を補正することで、少ない回数の動作に基づく機械学習により作業区間におけるロボット10の振動を効果的に低減できる。
【0036】
図7に、ロボットシステム1によるスポット溶接における対象物20の位置の時間変化の一例をグラフに示す。図には、動作プログラムに従う補正前の指令値による位置変化、3回の動作により全区間の振動を軽減するよう補正した指令値による位置変化、及び3回の動作により作業区間及び設定区間だけの振動を軽減するよう補正した指令値による位置変化を示す。この例において、作業区間(スポット溶接を行う通過点)の時刻は1.5秒であり、設定範囲の始点の時刻は0.7秒である。
【0037】
図示するように、振動量抽出部46により作業区間及び設定区間だけの振動量だけを抽出して指令値を補正することによって、スポット溶接を行う時点での振動を大幅に抑制できる。
【0038】
以上、本開示に係るロボットシステムの実施形態について説明したが、本開示の範囲は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本開示に係るロボットシステムから生じる最も好適な効果を列挙したに過ぎず、本開示に係るロボットシステムによる効果は、前述の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0039】
1 ロボットシステム
10 ロボット
20 対象物
30 振動検出器
40 ロボット制御装置
41 プログラム記憶部
42 指令値作成部
43 指令値記憶部
44 駆動部
45 振動量取得部
46 振動量抽出部
47 指令値補正部
図1
図2
図3
図4
図5
図6
図7