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

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

▶ セイコーエプソン株式会社の特許一覧

特許7548036動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム
<>
  • 特許-動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム 図1
  • 特許-動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム 図2
  • 特許-動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム 図3
  • 特許-動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム 図4
  • 特許-動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20240903BHJP
【FI】
B25J13/00 Z
【請求項の数】 8
(21)【出願番号】P 2021014204
(22)【出願日】2021-02-01
(65)【公開番号】P2022117612
(43)【公開日】2022-08-12
【審査請求日】2024-01-11
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】天▲羽▼ 俊輔
(72)【発明者】
【氏名】溝部 公威
【審査官】國武 史帆
(56)【参考文献】
【文献】特開2019-98439(JP,A)
【文献】特開2020-179484(JP,A)
【文献】国際公開第2017/175340(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
ロボットアームを有するロボットが実行する動作の動作パラメーターを調整する動作パラメーター調整方法であって、
第1動作パラメーターに設定して前記ロボットアームに前記動作を行わせた場合の、前記ロボットアームの動作条件に関する第1情報を取得する第1情報取得ステップと、
前記第1情報および前記ロボットの属性に関する第2情報を入力とし、前記ロボットアームの振動推定値に関する第3情報を出力とする振動推定モデルに、前記第1情報および前記第2情報を入力し、出力される前記第3情報を取得する第3情報取得ステップと、
前記第1情報、前記第2情報および前記第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を有し、
取得した前記第2動作パラメーターを前記第1動作パラメーターとして、前記第1情報取得ステップ、前記第3情報取得ステップおよび前記第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得することを特徴とする動作パラメーター調整方法。
【請求項2】
前記第1動作パラメーターは、前記ロボットアームの制御点の速度、前記ロボットアームの制御点の加速度、前記ロボットアームに加わる力のうちの少なくとも1つを含む請求項1に記載の動作パラメーター調整方法。
【請求項3】
前記第1情報は、前記ロボットアームの制御点の速度に関する情報、または、前記ロボットアームの制御点の加速度に関する情報を含む請求項1または2に記載の動作パラメーター調整方法。
【請求項4】
前記第3情報は、前記ロボットアームを駆動させた際に生じる振動の最大振幅、整定時間を含む請求項1ないし3のいずれか1項に記載の動作パラメーター調整方法。
【請求項5】
前記第3情報取得ステップおよび前記第2動作パラメーター取得ステップを、予め定められた回数繰り返し実行し、最後に取得した前記第2動作パラメーターを前記作業動作パラメーターに設定する請求項1ないし4のいずれか1項に記載の動作パラメーター調整方法。
【請求項6】
前記第3情報取得ステップおよび前記第2動作パラメーター取得ステップを、予め定められた回数繰り返し実行し、取得した前記第2動作パラメーターが収束した際、最後に取得した前記第2動作パラメーターを前記作業動作パラメーターに設定する請求項1ないし5のいずれか1項に記載の動作パラメーター調整方法。
【請求項7】
ロボットアームを有するロボットが実行する動作の動作パラメーターを調整するための動作パラメーター調整プログラムであって、
第1動作パラメーターに設定して前記ロボットアームに前記動作を行わせた場合の、前記ロボットアームの動作条件に関する第1情報を取得する第1情報取得ステップと、
前記第1情報および前記ロボットの属性に関する第2情報を入力とし、前記ロボットアームの振動推定値に関する第3情報を出力とする振動推定モデルに、前記第1情報および前記第2情報を入力し、出力される前記第3情報を取得する第3情報取得ステップと、
前記第1情報、前記第2情報および前記第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を実行し、
取得した前記第2動作パラメーターを前記第1動作パラメーターとして、前記第1情報取得ステップ、前記第3情報取得ステップおよび前記第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得するためのものであることを特徴とする動作パラメーター調整プログラム。
【請求項8】
ロボットアームを有するロボットと、前記ロボットが実行する動作の動作パラメーターを調整する動作パラメーター調整装置と、を備えるロボットシステムであって、
前記動作パラメーター調整装置は、
第1動作パラメーターに設定して前記ロボットアームに前記動作を行わせた場合の、前記ロボットアームの動作条件に関する第1情報を取得する第1情報取得ステップと、
前記第1情報および前記ロボットの属性に関する第2情報を入力とし、前記ロボットアームの振動推定値に関する第3情報を出力とする振動推定モデルに、前記第1情報および前記第2情報を入力し、出力される前記第3情報を取得する第3情報取得ステップと、
前記第1情報、前記第2情報および前記第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を実行し、
取得した前記第2動作パラメーターを前記第1動作パラメーターとして、前記第1情報取得ステップ、前記第3情報取得ステップおよび前記第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得することを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステムに関する。
【背景技術】
【0002】
近年、工場では人件費の高騰や人材不足により、各種ロボットによって、人手で行われてきた作業の自動化が加速している。ロボットに所定の作業を行わせるためには、ロボットの動作条件、すなわち、動作パラメーターを設定する。
【0003】
例えば、特許文献1に記載されているロボットの制御システムでは、ロボットを動作させ、ロボットに設けられた加速度センサーが出力する情報に基づいて振動を計測する。そして、機械学習を用いて、振動が低減される動作パラメーターを取得する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-118353号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の方法では、ロボットに加速度センサーを設ける必要があり、簡単な構成で適正な動作パラメーターを設定することができなかった。
【課題を解決するための手段】
【0006】
本発明の動作パラメーター調整方法は、ロボットアームを有するロボットが実行する動作の動作パラメーターを調整する動作パラメーター調整方法であって、
第1動作パラメーターに設定して前記ロボットアームに前記動作を行わせた場合の、前記ロボットアームの動作条件に関する第1情報を取得する第1情報取得ステップと、
前記第1情報および前記ロボットの属性に関する第2情報を入力とし、前記ロボットアームの振動推定値に関する第3情報を出力とする振動推定モデルに、前記第1情報および前記第2情報を入力し、出力される前記第3情報を取得する第3情報取得ステップと、
前記第1情報、前記第2情報および前記第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を有し、
取得した前記第2動作パラメーターを前記第1動作パラメーターとして、前記第1情報取得ステップ、前記第3情報取得ステップおよび前記第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得することを特徴とする。
【0007】
本発明の動作パラメーター調整プログラムは、ロボットアームを有するロボットが実行する動作の動作パラメーターを調整するための動作パラメーター調整プログラムであって、
第1動作パラメーターに設定して前記ロボットアームに前記動作を行わせた場合の、前記ロボットアームの動作条件に関する第1情報を取得する第1情報取得ステップと、
前記第1情報および前記ロボットの属性に関する第2情報を入力とし、前記ロボットアームの振動推定値に関する第3情報を出力とする振動推定モデルに、前記第1情報および前記第2情報を入力し、出力される前記第3情報を取得する第3情報取得ステップと、
前記第1情報、前記第2情報および前記第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を実行し、
取得した前記第2動作パラメーターを前記第1動作パラメーターとして、前記第1情報取得ステップ、前記第3情報取得ステップおよび前記第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得するためのものであることを特徴とする。
【0008】
本発明のロボットシステムは、ロボットアームを有するロボットと、前記ロボットが実行する動作の動作パラメーターを調整する動作パラメーター調整装置と、を備えるロボットシステムであって、
前記動作パラメーター調整装置は、
第1動作パラメーターに設定して前記ロボットアームに前記動作を行わせた場合の、前記ロボットアームの動作条件に関する第1情報を取得する第1情報取得ステップと、
前記第1情報および前記ロボットの属性に関する第2情報を入力とし、前記ロボットアームの振動推定値に関する第3情報を出力とする振動推定モデルに、前記第1情報および前記第2情報を入力し、出力される前記第3情報を取得する第3情報取得ステップと、
前記第1情報、前記第2情報および前記第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を実行し、
取得した前記第2動作パラメーターを前記第1動作パラメーターとして、前記第1情報取得ステップ、前記第3情報取得ステップおよび前記第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得することを特徴とする。
【図面の簡単な説明】
【0009】
図1図1は、第1実施形態のロボットシステムの全体構成を示す図である。
図2図2は、図1に示すロボットシステムのブロック図である。
図3図3は、図1に示す動作パラメーター調整装置のブロック図である。
図4図4は、図3に示す振動推定モデルの構成例の一例であり、ニューラルネットワークの模式図である。
図5図5は、図1に示すロボットシステムが行う制御動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
<第1実施形態>
図1は、第1実施形態のロボットシステムの全体構成を示す図である。図2は、図1に示すロボットシステムのブロック図である。図3は、図1に示す動作パラメーター調整装置のブロック図である。図4は、図3に示す振動推定モデルの構成例の一例であり、ニューラルネットワークの模式図である。図5は、図1に示すロボットシステムが行う制御動作の一例を示すフローチャートである。
【0011】
以下、本発明の動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。なお、以下では、説明の便宜上、ロボットアームについては、図1中の基台11側を「基端」、その反対側、すなわち、エンドエフェクター20側を「先端」とも言う。
【0012】
図1に示すように、ロボットシステム100は、ロボット1と、ロボット1を制御する制御装置3と、教示装置4と、動作パラメーター調整装置5と、を備える。
【0013】
まず、ロボット1について説明する。
図1に示すロボット1は、本実施形態では単腕の6軸垂直多関節ロボットであり、基台11と、ロボットアーム10と、を有する。また、ロボットアーム10の先端部にエンドエフェクター20を装着することができる。エンドエフェクター20は、ロボット1の構成要件であってもよく、ロボット1の構成要件でなくてもよい。
【0014】
なお、ロボット1は、図示の構成に限定されず、例えば、双腕型の多関節ロボットであってもよい。また、ロボット1は、水平多関節ロボットであってもよい。
【0015】
基台11は、ロボットアーム10を下側から駆動可能に支持する支持体であり、例えば工場内の床に固定されている。ロボット1は、基台11が中継ケーブルを介して制御装置3と電気的に接続されている。なお、ロボット1と制御装置3との接続は、図1に示す構成のように有線による接続に限定されず、例えば、無線による接続であってもよく、さらには、インターネットのようなネットワークを介して接続されていてもよい。
【0016】
本実施形態では、ロボットアーム10は、第1アーム12と、第2アーム13と、第3アーム14と、第4アーム15と、第5アーム16と、第6アーム17とを有し、これらのアームが基台11側からこの順に連結されている。なお、ロボットアーム10が有するアームの数は、6つに限定されず、例えば、1つ、2つ、3つ、4つ、5つまたは7つ以上であってもよい。また、各アームの全長等の大きさは、それぞれ、特に限定されず、適宜設定可能である。
【0017】
基台11と第1アーム12とは、関節171を介して連結されている。そして、第1アーム12は、基台11に対し、鉛直方向と平行な第1回動軸を回動中心とし、その第1回動軸回りに回動可能となっている。第1回動軸は、基台11が固定される床の法線と一致している。
【0018】
第1アーム12と第2アーム13とは、関節172を介して連結されている。そして、第2アーム13は、第1アーム12に対し、水平方向と平行な第2回動軸を回動中心として回動可能となっている。第2回動軸は、第1回動軸に直交する軸と平行である。
【0019】
第2アーム13と第3アーム14とは、関節173を介して連結されている。そして、第3アーム14は、第2アーム13に対して水平方向と平行な第3回動軸を回動中心として回動可能となっている。第3回動軸は、第2回動軸と平行である。
【0020】
第3アーム14と第4アーム15とは、関節174を介して連結されている。そして、第4アーム15は、第3アーム14に対し、第3アーム14の中心軸方向と平行な第4回動軸を回動中心として回動可能となっている。第4回動軸は、第3回動軸と直交している。
【0021】
第4アーム15と第5アーム16とは、関節175を介して連結されている。そして、第5アーム16は、第4アーム15に対して第5回動軸を回動中心として回動可能となっている。第5回動軸は、第4回動軸と直交している。
【0022】
第5アーム16と第6アーム17とは、関節176を介して連結されている。そして、第6アーム17は、第5アーム16に対して第6回動軸を回動中心として回動可能となっている。第6回動軸は、第5回動軸と直交している。
【0023】
また、第6アーム17は、ロボットアーム10の中で最も先端側に位置するロボット先端部となっている。この第6アーム17は、ロボットアーム10の駆動により、エンドエフェクター20ごと回動することができる。
【0024】
ロボット1は、駆動部としてのモーターM1、モーターM2、モーターM3、モーターM4、モーターM5およびモーターM6と、エンコーダーE1、エンコーダーE2、エンコーダーE3、エンコーダーE4、エンコーダーE5およびエンコーダーE6とを備える。モーターM1は、関節171に内蔵され、基台11と第1アーム12とを相対的に回転させる。モーターM2は、関節172に内蔵され、第1アーム12と第2アーム13とを相対的に回転させる。モーターM3は、関節173に内蔵され、第2アーム13と第3アーム14とを相対的に回転させる。モーターM4は、関節174に内蔵され、第3アーム14と第4アーム15とを相対的に回転させる。モーターM5は、関節175に内蔵され、第4アーム15と第5アーム16とを相対的に回転させる。モーターM6は、関節176に内蔵され、第5アーム16と第6アーム17とを相対的に回転させる。
【0025】
また、エンコーダーE1は、関節171に内蔵され、モーターM1の位置を検出する。エンコーダーE2は、関節172に内蔵され、モーターM2の位置を検出する。エンコーダーE3は、関節173に内蔵され、モーターM3の位置を検出する。エンコーダーE4は、関節174に内蔵され、モーターM4の位置を検出する。エンコーダーE5は、第5アーム16に内蔵され、モーターM5の位置を検出する。エンコーダーE6は、第6アーム17に内蔵され、モーターM6の位置を検出する。
【0026】
エンコーダーE1~E6は、制御装置3と電気的に接続されており、モーターM1~モーターM6の位置情報、すなわち、回転量が制御装置3に電気信号として送信される。そして、この情報に基づいて、制御装置3は、モーターM1~モーターM6を、モータードライバーD1~モータードライバーD6を介して駆動させる。すなわち、ロボットアーム10を制御するということは、モーターM1~モーターM6を制御することである。
【0027】
また、ロボット1では、ロボットアーム10に、力を検出する力検出部19が着脱自在に設置される。そして、ロボットアーム10は、力検出部19が設置された状態で駆動することができる。力検出部19は、本実施形態では、6軸力覚センサーである。また、後述するように、力検出部19は、互いに直交する3つの検出軸上の力の大きさと、当該3つの検出軸まわりのトルクの大きさとを検出するトルクセンサーである。また、力検出部19は、6軸力覚センサーに限定されず、他の構成のものであってもよい。
【0028】
力検出部19には、エンドエフェクター20を着脱可能に装着することができる。エンドエフェクター20は、本実施形態では、互いに接近離間可能な一対の爪部を有し、各爪部によりワークを把持、解除するハンドで構成される。なお、エンドエフェクター20としては、図示の構成に限定されず、吸引によりワークを把持するハンドであってもよい。また、エンドエフェクター20としては、例えば、研磨機、研削機、切削機や、ドライバー、レンチ等の工具であってもよい。
【0029】
また、ロボット座標系において、エンドエフェクター20の先端には、制御点であるツールセンターポイントTCPが設定される。ロボットシステム100では、ツールセンターポイントTCPの位置をロボット座標系で把握しておくことにより、ツールセンターポイントTCPを制御の基準とすることができる。
【0030】
次に、制御装置3および教示装置4について説明する。
図1に示すように、制御装置3は、本実施形態では、ロボット1と離れた位置に設置されている。ただし、この構成に限定されず、基台11に内蔵されていてもよい。また、制御装置3は、ロボット1の駆動を制御する機能を有し、前述したロボット1の各部と電気的に接続されている。制御装置3は、制御部31と、記憶部32と、通信部33と、を有する。これらの各部は、例えばバスを介して相互に通信可能に接続されている。
【0031】
制御部31は、例えば、CPU(Central Processing Unit)で構成され、記憶部32に記憶されている動作プログラム等の各種プログラムを読み出し、実行する。制御部31で生成された信号は、通信部33を介してロボット1の各部に送信される。これにより、ロボットアーム10が所定の作業を所定の条件で実行したりすることができる。記憶部32は、制御部31が実行可能な各種プログラム等を保存する。記憶部32としては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。通信部33は、例えば有線LAN(Local Area Network)、無線LAN等の外部インターフェースを用いて教示装置4や、動作パラメーター調整装置5との間で信号の送受信を行う。
【0032】
図1および図2に示すように、教示装置4は、表示部41を有し、ロボットアーム10に対して動作プログラムを作成、入力したりする機能を有する。教示装置4としては、特に限定されず、例えば、タブレット、パソコン、スマートフォン、ティーチングペンダント等が挙げられる。
【0033】
次に、動作パラメーター調整装置5について説明する。
図1図3に示す動作パラメーター調整装置5は、ロボットアーム10の動作パラメーターを設定する装置である。動作パラメーターとは、ロボットアーム10が動作を行う際の動作条件のことであり、例えば、ツールセンターポイントTCPの速度、ツールセンターポイントTCPの加速度、ツールセンターポイントTCPの経路、ロボットアーム10に加わる力、モーターM1~モーターM6の位置ゲイン、速度ゲイン等の設定条件等が挙げられる。また、ツールセンターポイントTCPの速度、ツールセンターポイントTCPの加速度、ツールセンターポイントTCPの経路は、モーターM1~モーターM6への経時的な通電条件により規定される。
【0034】
なお、動作パラメーター調整装置5は、図1に示すように、制御装置3や教示装置4と別体で構成されていてもよく、制御装置3や教示装置4に組み込まれていてもよい。動作パラメーター調整装置5が制御装置3や教示装置4と別体で構成されている場合、例えば、イーサネット(登録商標)等の通信回線を介したネットワーク上のサーバーに設けてもよい。
【0035】
図3に示すように、動作パラメーター調整装置5は、動作情報生成部51と、振動推定部52と、適正化部53と、記憶部54と、通信部56と、を有する。なお、図3では、「A」は、第1情報を示しており、「B」は、第2情報を示しており、「C」は、第3情報を示しており、「D」は、作業時間を示しており、「E」は、第2動作パラメーターを示している。
【0036】
動作情報生成部51は、例えば、CPUで構成され、記憶部54に記憶されている動作パラメーター設定プログラム等の各種プログラムを読み出し、実行する。具体的には、受け取った動作パラメーター、または、記憶部54から読み出した動作パラメーターで評価動作を実行したときの動作条件に関する第1情報を取得する。
【0037】
第1情報は、作業時間に関する情報、ロボットアーム10の位置および姿勢に関する情報、ツールセンターポイントTCPの速度に関する情報、ツールセンターポイントTCPの加速度に関する情報、ワークの重量、ロボットアーム10に加わる力等の作業条件等を含む。なお、動作情報生成部51が生成するこれらの情報は経時的な情報であることが好ましい。
【0038】
動作情報生成部51は、ロボットアーム10を実際に駆動させて上記情報を取得するものであってもよく、シミュレーターを用いて上記情報を取得するものであってもよい。
第1情報は、第1動作パラメーターと同じ条件であってもよく、異なっていてもよい。
【0039】
振動推定部52は、例えば、CPUで構成され、記憶部54に記憶されている動作パラメーター設定プログラム等の各種プログラムを読み出し、実行する。具体的には、振動推定部52は、動作情報生成部51から受け取った第1情報と、ロボット1の属性に関する第2情報を、記憶部54に記憶されている振動推定モデル55に入力し、振動推定モデル55からの出力である第3情報を得る。
【0040】
第2情報は、ロボット1の属性に関する情報であり、ロボット1の型番、製造番号、製造年月日、製造場所等に関する情報である。すなわち、第2情報は、ロボットアーム10がどのような構造であるか、どのような要素部品が使用されているか、どの程度劣化しているか等を特定する情報である。上記要素部品としては、減速機、エンコーダー、モーター、ベルト、プーリー、ベアリング等が挙げられる。
【0041】
このような第2情報は、例えば、図示しない入力装置や、教示装置4等を用いて作業者が入力する構成であってもよく、制御装置3または教示装置4に記憶されている第2情報を読み出す構成であってもよい。
【0042】
第3情報は、振動推定値に関する情報であり、例えば、ロボットアーム10に加わる振動の最大振幅、ロボットアーム10に加わる振動の平均振幅、ロボットアーム10が停止してから振動が収まるまでの整定時間、振動の時系列データ等が挙げられる。
【0043】
振動推定モデル55は、機械学習により生成されたものである。機械学習により振動推定モデル55を生成するということは、入力データから反復的に学習し、各入力データから読み取れる特徴、傾向等を見出し、その結果を新たな入力データに当てはめて予測しつつ、振動推定モデル55を生成することを言う。
【0044】
具体的には、振動推定モデル55とは、入力値を受け取り、評価、判定を行い、その結果を出力値として出力するもののことを言う。入力値は、第1情報、第2情報のことを言い、出力値とは、ロボットアーム10の振動推定値のことを言う。
【0045】
振動推定モデル55は、図示しない振動モデル生成部によって生成されたものであり、例えば、図4に示すようなニューラルネットワークを使用して構築することができる。具体的には、振動モデル生成部は、入力層と、中間層と、出力層と、を有する構成とすることができる。各情報が、隣り合う層の情報と、ネットワークでつながり、より大きなネットワークが展開される。また、中間層は、図示の構成では、1層であるが、複数層有しているのが好ましい。これにより、中間層の各層において、情報の重要性に重み付けを行うことができ、さらに正確な振動推定値を出力することができる。
【0046】
また、ニューラルネットワークとしては、リカレント型のニューラルネットワークを適用することができる。リカレントニューラルネットワークでは、時系列情報が回帰的に保持されるため、時間軸に沿って展開すると一般的なニューラルネットワークとみなすことができる。また、前回の時刻の中間層と、今回の時刻の入力と合わせて学習に用いることで、時系列情報を考慮したネットワーク構造とすることができる。
【0047】
なお、振動モデル生成部における学習法としては、教師あり学習や、教師なし学習や、これらを組み合わせた学習法が挙げられる。教師あり学習の場合、入力値と出力値のデータの組を大量に準備しておき、振動モデル生成部に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、すなわち、その関係性を帰納的に獲得することができる。教師なし学習の場合、出力値、または、その合否結果を入力値に反映できるように学習が行われる。よって、振動推定値の正しい値に関する情報が与えられなくても、再構築された出力と入力との乖離から異常を検知することができる。その結果、振動推定値を明確に検知することができる。リカレント型のニューラルネットワークでは、通常のニューラルネットワークと異なって、時間を遡るように誤差が伝搬されるため、バックプロパゲーションスルータイム(BPTT)法で学習が行われる。
【0048】
適正化部53は、例えば、CPUで構成され、記憶部54に記憶されている動作パラメーター設定プログラム等の各種プログラムを読み出し、実行する。具体的には、適正化部53は、動作情報生成部51から、作業時間に関する情報を受け取るとともに、振動推定部52から第1情報、第2情報および第3情報を受け取る。
【0049】
適正化部53は、例えば、最適化アルゴリズムを用い、作業時間を目的関数、振動推定値を制約条件として、目的関数を最小化するような動作パラメーターを探索する。これにより、作業時間を短縮しつつ、振動を低減することができるような動作パラメーターを求める。最適化アルゴリズムとしては、特に限定されないが、例えば、遺伝的アルゴリズム(Genetic Algorithms)、差分進化(Differential Evolution)、粒子群最適化(Particle Swarm Optimization)、および分布推定アルゴリズム(Estimation of Distribution Algorithm)が挙げられる。
【0050】
このような適正化部53は、より好ましい動作パラメーター、すなわち、ツールセンターポイントTCPの速度、ツールセンターポイントTCPの加速度、ツールセンターポイントTCPの経路、モーターM1~モーターM6の位置ゲイン、速度ゲイン等の設定条件を取得し、再度、動作情報生成部51により好ましい動作パラメーターの情報を送信する。
【0051】
そして、上記を繰り返すことにより、より適正な動作パラメーターを取得することができる。なお、これらの動作パラメーターのうち、最も好ましい動作パラメーターを作業動作パラメーターに設定し、作業動作パラメーターの情報を、通信部56を介して制御装置3または教示装置4に送信して、作業を行う。
【0052】
例えば、複数回取得した動作パラメーターを比較して最適な動作パラメーターを作業動作パラメーターに設定してもよく、最後に取得した動作パラメーターを作業動作パラメーターに設定してもよい。このことに関しては、後に詳述する。
【0053】
記憶部54は、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。記憶部54には、動作パラメーター設定プログラム等の各種プログラムや、振動推定モデル55等が記憶されている。また、目的とする作業動作パラメーター等が記憶される。
【0054】
通信部56は、例えば有線LAN(Local Area Network)、無線LAN等の外部インターフェースを用いて制御装置3や教示装置4との間で信号の送受信を行う。
【0055】
次に、ロボットシステム100が行う制御動作の一例について、図5に示すフローチャートに基づいて説明する。
【0056】
まず、ステップS101において、第1情報および第2情報を取得する。すなわち、振動推定部52が、動作情報生成部51から第1情報を受け取るとともに、通信部56から第2情報を受け取る。
【0057】
具体的には、動作情報生成部51が、任意の初期動作パラメーターである第1動作パラメーターに設定してロボットアーム10に任意の動作を行わせた場合の第1情報を取得し、第1情報を振動推定部52に送信する。また、通信部56が、例えば、作業者が図示しない入力装置を用いて入力されたロボット1の属性に関する第2情報を振動推定部52に送信する。第1動作パラメーターは、予め設定されており、その情報は、記憶部54に記憶されている。
このようなステップS101は、第1情報を取得する第1情報取得ステップである。
【0058】
次いで、ステップS102において、振動推定部52が振動推定モデル55に第1情報および第2情報を入力し、第3情報を取得する。そして、振動推定部52が、適正化部53に、第1情報、第2情報および第3情報を送信する。すなわち、振動推定部52が、入力情報と出力情報とを適正化部53に送信する。
このようなステップS102は、第3情報を取得する第3情報取得ステップである。
【0059】
次いで、ステップS103において、適正化部53が適正化処理を行い、第2動作パラメーターを取得する。この際、適正化部53は、作業時間を目的関数として、目的関数を最小化し、かつ、振動が低減されるような動作パラメーターを求める。本ステップで求めた動作パラメーターを第2動作パラメーターと言う。このように、本ステップでは、ステップS101で用いた第1動作パラメーターよりも作業時間が短くなるような第2動作パラメーターを求める。
【0060】
このようなステップS103は、第2動作パラメーターを取得する第2動作パラメーター取得ステップである。
【0061】
次いで、ステップS104において、終了するか否かを判断する。すなわち、ステップS103で求めた第2動作パラメーターを、目的とする作業動作パラメーターに設定するか否かを判断する。本ステップにおける判断は、後述するような判断方法Aまたは判断方法Bを用いることができる。
【0062】
ステップS104において、終了しないと判断した場合、ステップS101に戻り、第1動作パラメーターを用いずにステップS103で取得した第2動作パラメーターを用いて、ロボットアーム10に任意の動作を行わせた場合の第1情報を取得する。そして、ステップS102およびステップS103を行う。
【0063】
このように、ステップS104で終了すると判断するまで、ステップS103で取得した第2動作パラメーターをステップS101における第1動作パラメーターとして、ステップS101、ステップS102およびステップS103を繰り返し実行する。そして、ステップS104において、終了すると判断した場合、ステップS105において、最新の第2動作パラメーターを作業動作パラメーターに設定する。すなわち、最新の第2動作パラメーターを作業動作パラメーターとして記憶部54に記憶する。
【0064】
ここで、判断方法Aおよび判断方法Bについて説明する。
判断方法Aは、予め決められた回数、ステップS101~ステップS103を繰り返し実行する方法である。ステップS104では、繰り返し実行した回数が所定回数に達した場合、終了すると判断する。そして、最新の第2動作パラメーター、すなわち、最後に取得した第2動作パラメーターを作業動作パラメーターに設定する。
【0065】
このように、動作パラメーター調整方法は、第3情報取得ステップであるステップS102および第2動作パラメーター取得ステップを、予め定められた回数繰り返し実行し、最後に取得した第2動作パラメーターを作業動作パラメーターに設定する。これにより、必要以上に処理に時間をかけることなく、より作業時間が短くなる作業動作パラメーターを設定することができる。
【0066】
判断方法Bは、ステップS101~ステップS103を繰り返し実行し、第2動作パラメーターが収束したと判断した場合、終了すると判断する方法である。すなわち、n回目に取得した第2動作パラメーターを、n-1回目に取得した第2動作パラメーターと比較していき、乖離の程度が所定範囲内となった場合に、n回目のステップS104において、終了すると判断する。
【0067】
なお、「乖離の程度が所定範囲内となる」とは、動作パラメーターの各要素、すなわち、ツールセンターポイントTCPの速度、ツールセンターポイントTCPの加速度、ツールセンターポイントTCPの経路、モーターM1~モーターM6の位置ゲイン、速度ゲイン等の設定条件のうちの少なくとも1つを前回のものと比べたとき、差が予め定められた範囲内となることである。
【0068】
このように、第3情報取得ステップおよび第2動作パラメーター取得ステップを、予め定められた回数繰り返し実行し、取得した第2動作パラメーターが収束した際、最後に取得した第2動作パラメーターを作業動作パラメーターに設定する。これにより、作業時間が短く、より適正な作業動作パラメーターを設定することができる。
【0069】
このようなステップS101~ステップS105を経ることにより、適正な作業動作パラメーターを設定することができる。そして、この作業動作パラメーターを用いて作業を行うことにより、迅速な作業を実行することができる。
【0070】
このように、本発明の動作パラメーター調整方法は、ロボットアーム10を有するロボット1が実行する動作の動作パラメーターを調整する動作パラメーター調整方法である。また、動作パラメーター調整方法は、第1動作パラメーターに設定してロボットアーム10に動作を行わせた場合の、ロボットアーム10の動作条件に関する第1情報を取得する第1情報取得ステップと、第1情報およびロボット1の属性に関する第2情報を入力とし、ロボットアーム10の振動推定値に関する第3情報を出力とする振動推定モデル55に、第1情報および第2情報を入力し、出力される第3情報を取得する第3情報取得ステップと、第1情報、第2情報および第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を有し、取得した第2動作パラメーターを第1動作パラメーターとして、第1情報取得ステップ、第3情報取得ステップおよび第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得する。このような方法によれば、振動を検出する振動測定器をロボット1に設けなくても、振動に関する情報を取得し、それに基づいて適正な動作パラメーターを設定することができる。
【0071】
また、第1動作パラメーターは、ロボットアーム10の制御点であるツールセンターポイントTCPの速度、ロボットアーム10の制御点であるツールセンターポイントTCPの加速度、ロボットアーム10に加わる力のうちの少なくとも1つを含む。これにより、正確かつ多彩な第1情報を取得することができ、作業時間を正確に取得することができる。
【0072】
また、第1情報は、ロボットアーム10の制御点であるツールセンターポイントTCPの速度に関する情報、または、ツールセンターポイントTCPの加速度に関する情報を含む。このような第1情報を振動推定モデル55に入力することにより、より正確な第3情報を取得することができる。
【0073】
また、第3情報は、ロボットアーム10を駆動させた際に生じる振動の最大振幅、整定時間を含む。これにより、正確な振動推定値を取得することができ、より適正な作業動作パラメーターを取得することができる。
【0074】
また、本発明の動作パラメーター調整プログラムは、ロボットアーム10を有するロボット1が実行する動作の動作パラメーターを調整するための動作パラメーター調整プログラムである。また、動作パラメーター調整プログラムは、第1動作パラメーターに設定してロボットアーム10に動作を行わせた場合の、ロボットアーム10の動作条件に関する第1情報を取得する第1情報取得ステップと、第1情報およびロボット1の属性に関する第2情報を入力とし、ロボットアーム10の振動推定値に関する第3情報を出力とする振動推定モデル55に、第1情報および第2情報を入力し、出力される第3情報を取得する第3情報取得ステップと、第1情報、第2情報および第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を実行し、取得した第2動作パラメーターを第1動作パラメーターとして、第1情報取得ステップ、第3情報取得ステップおよび第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得するためのものである。このようなプログラムを実行することにより、振動を検出する振動測定器をロボット1に設けなくても、振動に関する情報を取得し、それに基づいて適正な動作パラメーターを設定することができる。
【0075】
なお、本発明の動作パラメーター調整プログラムは、記憶部54に記憶されたものであってもよいし、例えばCD-ROM等の記録媒体に格納されていてもよく、ネットワーク等を介して接続可能な記憶装置に記憶されたものであってもよい。
【0076】
また、本発明のロボットシステム100は、ロボットアーム10を有するロボット1と、ロボット1が実行する動作の動作パラメーターを調整する動作パラメーター調整装置5と、を備える。また、動作パラメーター調整装置5は、第1動作パラメーターに設定してロボットアーム10に動作を行わせた場合の、ロボットアーム10の動作条件に関する第1情報を取得する第1情報取得ステップと、第1情報およびロボット1の属性に関する第2情報を入力とし、ロボットアーム10の振動推定値に関する第3情報を出力とする振動推定モデル55に、第1情報および第2情報を入力し、出力される第3情報を取得する第3情報取得ステップと、第1情報、第2情報および第3情報を用いて、作業時間が短くなるような第2動作パラメーターを取得する第2動作パラメーター取得ステップと、を実行し、取得した第2動作パラメーターを第1動作パラメーターとして、第1情報取得ステップ、第3情報取得ステップおよび第2動作パラメーター取得ステップを繰り返し実行して、目的とする作業動作パラメーターを取得する。このようなロボットシステム100によれば、振動を検出する振動測定器をロボット1に設けなくても、振動に関する情報を取得し、それに基づいて適正な動作パラメーターを設定することができる。
【0077】
以上、本発明の動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステムを図示の実施形態について説明したが、本発明は、これに限定されるものではない。また、動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステムの各工程、各部は、同様の機能を発揮し得る任意の工程、構造物と置換することができる。また、任意の工程、構造体が付加されていてもよい。
【符号の説明】
【0078】
1…ロボット、3…制御装置、4…教示装置、5…動作パラメーター調整装置、10…ロボットアーム、11…基台、12…第1アーム、13…第2アーム、14…第3アーム、15…第4アーム、16…第5アーム、17…第6アーム、19…力検出部、20…エンドエフェクター、31…制御部、32…記憶部、33…通信部、41…表示部、51…動作情報生成部、52…振動推定部、53…適正化部、54…記憶部、55…振動推定モデル、56…通信部、100…ロボットシステム、171…関節、172…関節、173…関節、174…関節、175…関節、176…関節、D1…モータードライバー、D2…モータードライバー、D3…モータードライバー、D4…モータードライバー、D5…モータードライバー、D6…モータードライバー、E1…エンコーダー、E2…エンコーダー、E3…エンコーダー、E4…エンコーダー、E5…エンコーダー、E6…エンコーダー、M1…モーター、M2…モーター、M3…モーター、M4…モーター、M5…モーター、M6…モーター、TCP…ツールセンターポイント
図1
図2
図3
図4
図5