(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-14
(45)【発行日】2025-03-25
(54)【発明の名称】制御装置、ロボットシステム、学習装置、ロボットの制御方法、プログラムおよび第1補正モデル
(51)【国際特許分類】
B25J 9/22 20060101AFI20250317BHJP
【FI】
B25J9/22 A
(21)【出願番号】P 2024521536
(86)(22)【出願日】2022-09-22
(86)【国際出願番号】 JP2022035317
(87)【国際公開番号】W WO2023223570
(87)【国際公開日】2023-11-23
【審査請求日】2024-06-20
(31)【優先権主張番号】P 2022081457
(32)【優先日】2022-05-18
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100131152
【氏名又は名称】八島 耕司
(74)【代理人】
【識別番号】100147924
【氏名又は名称】美恵 英樹
(74)【代理人】
【識別番号】100148149
【氏名又は名称】渡邉 幸男
(74)【代理人】
【識別番号】100181618
【氏名又は名称】宮脇 良平
(74)【代理人】
【識別番号】100174388
【氏名又は名称】龍竹 史朗
(72)【発明者】
【氏名】細川 義浩
(72)【発明者】
【氏名】雨森 弘記
(72)【発明者】
【氏名】松永 沙織
(72)【発明者】
【氏名】廣岡 隆孝
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2019-159767(JP,A)
【文献】特開2019-166626(JP,A)
【文献】特開2020-078859(JP,A)
【文献】特開2020-194432(JP,A)
【文献】特開2021-049609(JP,A)
【文献】米国特許出願公開第2013/0151442(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10-13/00
G05B 19/4155-19/42
(57)【特許請求の範囲】
【請求項1】
ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む前記ロボットの動作用軌跡を表す動作データおよび、前記ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データのいずれかのデータを取得するデータ取得部と、
前記データ取得部が取得した前記動作データおよび前記第1学習用データのいずれかの前記データに基づいて前記ロボットを制御するロボット制御部と、
前記データ取得部が取得した前記第1学習用データに基づいて前記ロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の第1理想軌跡に対する幾何学的変形を求め、求めた前記幾何学的変形と前記第1学習用データの前記動作データに基づいて、求めた前記幾何学的変形を小さくするための、前記動作データを補正する第1補正モデルを生成する第1学習部と、
を備え、
前記ロボット制御部は、前記データ取得部が取得した前記動作データに基づいて前記ロボットを制御する場合に、前記第1補正モデルを用いて前記動作データを補正することにより、補正動作データを算出し、算出した前記補正動作データにより前記ロボットを制御する、
制御装置。
【請求項2】
第1学習用データは、前記ロボットの第1学習用軌跡を表す前記データのほかに、前記第1学習用軌跡を幾何学的に変形させた少なくとも1つの変形軌跡を表す少なくとも1つのデータを含み、
前記第1学習部は、第1補正モデルを、前記第1学習用軌跡、前記少なくとも1つの変形軌跡それぞれに対して生成し、
前記ロボット制御部は、前記データ取得部が取得した前記動作データに基づいて前記ロボットを制御する場合に、前記動作データによって表される前記動作用軌跡が、前記第1学習用軌跡、前記少なくとも1つの変形軌跡のいずれの軌跡に近似するかを判定し、近似すると判定された軌跡に対応する前記第1補正モデルを用いて前記動作データを補正することにより、補正動作データを算出する、
請求項1に記載の制御装置。
【請求項3】
前記第1学習部が求める前記幾何学的変形は、前記第1理想軌跡を回転、拡大、縮小若しくは並進させたときに得られる変形である、または、前記第1理想軌跡の回転、拡大、縮小若しくは並進の組み合わせにより得られる変形である、
請求項1または2に記載の制御装置。
【請求項4】
前記動作データを補正する第2補正モデルを生成する第2学習部をさらに備え、
前記データ取得部は、前記動作データ、前記第1学習用データおよび、前記動作用軌跡を表す第2学習用データの少なくとも1つのデータを取得し、
前記ロボット制御部は、前記データ取得部が取得した前記動作データ、前記第1学習用データおよび前記第2学習用データの少なくとも1つの前記データに基づいて前記ロボットを制御し、
前記第2学習部は、前記データ取得部が取得した前記第2学習用データに基づいて前記ロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第2軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第2理想軌跡のデータから、前記第2理想軌跡の各部分に対する前記第2軌跡の各部分の位置ずれを求め、求めた前記位置ずれと前記第2学習用データに基づいて、求めた前記位置ずれを小さくするための前記第2補正モデルを生成し、
前記ロボット制御部は、前記データ取得部が取得した前記動作データに基づいて前記ロボットを制御する場合に、前記第1補正モデルを用いて前記動作データを補正した後、前記第2補正モデルを用いて補正した前記動作データをさらに補正することにより、補正動作データを算出し、算出した前記補正動作データにより前記ロボットを制御する、
請求項1
または2に記載の制御装置。
【請求項5】
前記第2学習部は、最適化アルゴリズムを用いて前記第2補正モデルを生成する、
請求項4に記載の制御装置。
【請求項6】
ロボットと、
請求項
1に記載の制御装置と、
を備える、
ロボットシステム。
【請求項7】
第1撮像装置と、
該第1撮像装置が撮像した画像を解析する画像解析装置と、
をさらに備え、
前記ロボットは、工具を有し、
前記第1撮像装置は、前記工具により加工されるワークを撮像し、
前記画像解析装置は、前記第1撮像装置が撮像した画像から前記ワークの特徴部を抽出し、前記第1撮像装置の位置情報と抽出した前記特徴部の画像内位置から、前記動作データを算出し、
前記データ取得部は、前記画像解析装置から前記動作データを取得する、
請求項6に記載のロボットシステム。
【請求項8】
前記ロボットの前記第1軌跡を測定する測定器をさらに備え、
前記第1学習部は、前記測定器から前記第1軌跡を取得する、
請求項6または7に記載のロボットシステム。
【請求項9】
前記ロボットは、複数のリンクと、該リンクそれぞれを回動させる原動機と、備え、
前記測定器は、前記原動機それぞれの回転位置を検出するエンコーダと、該エンコーダが検出した回転位置により、前記ロボットの前記第1軌跡を算出する第1軌跡算出部と、を有する、
請求項8に記載のロボットシステム。
【請求項10】
前記測定器は、前記ロボットを撮像する第2撮像装置と、該第2撮像装置が撮像した画像と該第2撮像装置の位置情報から前記ロボットの前記第1軌跡を算出する第2軌跡算出部と、を有する、
請求項8に記載のロボットシステム。
【請求項11】
前記動作データが格納された記憶装置をさらに備え、
前記データ取得部は、前記記憶装置から前記動作データを取得する、
請求項6
または7に記載のロボットシステム。
【請求項12】
前記記憶装置には、前記第1学習用データがさらに格納され、
前記データ取得部は、前記記憶装置から前記第1学習用データを取得する、
請求項11に記載のロボットシステム。
【請求項13】
前記動作データが入力される入力装置を有する操作端末をさらに備え、
前記データ取得部は、前記操作端末から前記動作データを取得する、
請求項6
または7に記載のロボットシステム。
【請求項14】
ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む前記ロボットの動作用軌跡を表す動作データを取得するデータ取得部と、
前記データ取得部が取得した前記動作データに基づいて前記ロボットを制御するロボット制御部と、
を備える制御装置の前記動作データを補正するための第1補正モデルを生成する学習装置であって、
前記ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データを前記データ取得部が取得し、前記データ取得部が取得した前記第1学習用データに基づいて前記ロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の第1理想軌跡に対する幾何学的変形を求め、求めた前記幾何学的変形と前記第1学習用データの前記動作データに基づいて、求めた前記幾何学的変形を小さくするための、前記動作データを補正する第1補正モデルを生成する第1学習部を備える、
学習装置。
【請求項15】
第1学習用データは、前記ロボットの第1学習用軌跡を表す前記データのほかに、前記第1学習用軌跡を幾何学的に変形させた少なくとも1つの変形軌跡を表す少なくとも1つのデータを含み、
前記第1学習部は、第1補正モデルを、前記第1学習用軌跡、前記少なくとも1つの変形軌跡それぞれに対して生成する、
請求項14に記載の学習装置。
【請求項16】
前記第1補正モデルを生成するステップで前記幾何学的変形は、前記第1理想軌跡を回転、拡大、縮小若しくは並進させたときに得られる変形である、または、前記第1理想軌跡の回転、拡大、縮小若しくは並進の組み合わせにより得られる変形である、
請求項14または15に記載の学習装置。
【請求項17】
前記動作データを補正するための第2補正モデルを生成するための第2学習部をさらに備え、
前記第2学習部は、前記動作用軌跡を表す第2学習用データを前記データ取得部が取得し、前記データ取得部が取得した前記第2学習用データに基づいて前記ロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第2軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第2理想軌跡のデータから、前記第2理想軌跡の各部分に対する前記第2軌跡の各部分の位置ずれを求め、求めた前記位置ずれと前記第2学習用データに基づいて、求めた前記位置ずれを小さくするための前記第2補正モデルを生成する、
請求項14
または1
5に記載の学習装置。
【請求項18】
前記第2学習部は、最適化アルゴリズムを用いて前記第2補正モデルを生成する、
請求項17に記載の学習装置。
【請求項19】
ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データに基づいて前記ロボットを制御し、そのときの前記ロボットの実際の軌跡である第1軌跡を測定するステップと、
前記第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の前記第1理想軌跡に対する幾何学的変形を求め、求めた前記幾何学的変形と前記第1学習用データに基づいて、求めた前記幾何学的変形を小さくするための第1補正モデルを生成するステップと、
前記第1補正モデルを用いて、前記ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む動作データを補正することにより、補正動作データを算出するステップと、
前記補正動作データを算出するステップで算出した前記補正動作データにより前記ロボットを制御するステップと、
を備えるロボットの制御方法。
【請求項20】
前記第1補正モデルを生成するステップで前記幾何学的変形は、前記第1理想軌跡を回転、拡大、縮小若しくは並進させたときに得られる変形である、または、前記第1理想軌跡の回転、拡大、縮小若しくは並進の組み合わせにより得られる変形である、
請求項19に記載のロボットの制御方法。
【請求項21】
動作用軌跡を表す第2学習用データに基づいて前記ロボットを制御し、そのときの前記ロボットの実際の軌跡である第2軌跡を測定するステップと、
前記第2軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第2理想軌跡のデータから、前記第2理想軌跡の各部分に対する前記第2軌跡の各部分の位置ずれを求め、求めた前記位置ずれと前記第2学習用データに基づいて、求めた前記位置ずれを小さくするための第2補正モデルを生成するステップと、
を備え、
前記補正動作データを算出するステップでは、前記第1補正モデルを用いて、前記ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む動作データを補正した後、前記第2補正モデルを用いて補正した前記動作データをさらに補正することにより、補正動作データを算出する、
請求項19または20に記載のロボットの制御方法。
【請求項22】
ロボットを制御するコンピュータに、
前記ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データに基づいて前記ロボットを制御し、そのときの前記ロボットの実際の軌跡である第1軌跡を測定するステップと、
前記第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の前記第1理想軌跡に対する幾何学的変形を求め、求めた前記幾何学的変形と前記第1学習用データに基づいて、求めた前記幾何学的変形を小さくするための第1補正モデルを生成するステップと、
前記第1補正モデルを用いて、前記ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む動作データを補正することにより、補正動作データを算出するステップと、
前記補正動作データを算出するステップで算出した前記補正動作データにより前記ロボットを制御するステップと、
を実行させるためのプログラム。
【請求項23】
ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む前記ロボットの動作用軌跡を表す動作データを補正する機能をコンピュータに実現させるための第1補正モデルであって、
前記動作データを補正する機能は、
前記ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データに基づいてロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の前記第1理想軌跡に対する幾何学的変形を求める機能と、
求めた前記幾何学的変形と前記第1学習用データの前記動作データに基づいて、求めた前記幾何学的変形を小さくする機能と、
を有する、第1補正モデル。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は制御装置、ロボットシステム、学習装置、ロボットの制御方法、プログラムおよび第1補正モデルに関する。
【背景技術】
【0002】
ロボットには、様々な動作を可能とするため、複数のリンクと、リンク同士を接続する複数の関節と、を備え、関節それぞれを駆動するサーボモータが制御されることにより、所望の動作を行うものがある。このようなロボットでは、サーボモータ同士の間で指令に対する遅れに差が生じてしまうと、ロボットの動作が目標の動作からずれてしまう。例えば、複数のリンクのうち、先端にある先端リンクの軌跡が目標の軌跡からずれてしまうことがある。そこで、ロボットの実際の軌跡を理想軌跡に近づける技術が開発されている。
【0003】
例えば、特許文献1には、ロボットの実際の軌跡を測定し、実際の軌跡と目標とする軌跡との距離である軌跡誤差に基づいて、誤差を最小化する教示点を算出するロボットに位置を教示する教示装置が開示されている。特許文献1に記載の教示装置は、教示点に基づいてロボットを制御することにより、軌跡誤差を小さくする。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の教示装置は、軌跡誤差が許容値以下となるまで、教示点の算出とその教示点に基づいたロボットの制御とを繰り返す。目標とする軌跡が複雑になると、教示点の数が増加し、その結果、軌跡誤差が許容値以下に収束するまでにかかる時間が長くなる。これにより、教示装置では、ロボットの実際の軌跡を目標とする軌跡に近づけることが難しくなる。この結果、ロボットを高い精度で動作させることが難しくなってしまう。
【0006】
また、ロボットを高い精度で動作させることが難しくなる結果、ロボットの管理が難しくなってしまう。
【0007】
本開示は上記の課題を解決するためになされたもので、ロボットを高い精度で動作させることができると共に、ロボットの管理が容易な制御装置、ロボットシステム、学習装置、ロボットの制御方法、プログラムおよび第1補正モデルを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の目的を達成するため、本開示に係る制御装置は、データ取得部と、ロボット制御部と、第1学習部と、を備える。データ取得部は、ロボットが動作を開始する動作開始点とロボットが動作を終了する動作終了点とを少なくとも含むロボットの動作用軌跡を表す動作データおよび、ロボットが動作を開始する第1学習用動作開始点とロボットが動作を終了する第1学習用動作終了点とを少なくとも含むロボットの第1学習用軌跡を表すデータを有する第1学習用データのいずれかのデータを取得する。ロボット制御部は、データ取得部が取得した動作データおよび第1学習用データのいずれかのデータに基づいてロボットを制御する。第1学習部は、データ取得部が取得した第1学習用データに基づいてロボット制御部がロボットを制御した場合の、ロボットの実際の軌跡である第1軌跡のデータとロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、第1軌跡の第1理想軌跡に対する幾何学的変形を求め、求めた幾何学的変形と第1学習用データの動作データに基づいて、求めた幾何学的変形を小さくするための、動作データを補正する第1補正モデルを生成する。そして、ロボット制御部は、データ取得部が取得した動作データに基づいてロボットを制御する場合に、第1補正モデルを用いて動作データを補正することにより、補正動作データを算出し、算出した補正動作データによりロボットを制御する。
【発明の効果】
【0009】
本開示の構成によれば、ロボット制御部は、データ取得部が取得した動作データに基づいてロボットを制御する場合に、第1学習部が生成した、幾何学的変形を小さくするための第1補正モデルを用いて動作データを補正することにより、補正動作データを算出し、算出した補正動作データによりロボットを制御する。このため、制御装置は、ロボットを高い精度で動作させることができる。また、ロボットを高い精度で動作させることができる結果、ロボットの管理が容易である。
【図面の簡単な説明】
【0010】
【
図1】本開示の実施の形態1に係る制御装置が制御するロボットの斜視図
【
図2】本開示の実施の形態1に係る制御装置が制御するロボットの側面図
【
図3】本開示の実施の形態1に係る制御装置のハードウエア構成図
【
図4】本開示の実施の形態1に係る制御装置のブロック図
【
図5】本開示の実施の形態1に係る制御装置が行う学習処理のフローチャート
【
図6】本開示の実施の形態1に係る制御装置が行う学習処理が備える第1処理のフローチャート
【
図7】本開示の実施の形態1に係る制御装置が行う学習処理が備える第1処理で使用される第1学習用データの一例を示す図
【
図8】本開示の実施の形態1に係る制御装置が行う学習処理が備える第1処理で使用される第1学習用データで表される軌跡を示す概念図
【
図9】本開示の実施の形態1に係る制御装置が行う学習処理が備える第2処理のフローチャート
【
図10】本開示の実施の形態1に係る制御装置が行う学習処理が備える第2処理で使用される第2学習用データの一例を示す図
【
図11A】本開示の実施の形態1に係る制御装置が行う学習処理が備える第2処理で取得されたロボッの実際の軌跡と理想軌跡を示す概念図
【
図11B】本開示の実施の形態1に係る制御装置が行う学習処理が備える第2処理で求める補正軌跡の誤差と実際の軌跡の誤差と関係を示す概念図
【
図11C】本開示の実施の形態1に係る制御装置が行う学習処理が備える第2処理で求める補正軌跡の誤差の分布と実際の軌跡の誤差の分布を示す概念図
【
図11D】本開示の実施の形態1に係る制御装置が行う学習処理が備える第2処理で求める補正軌跡の概念図
【
図11E】本開示の実施の形態1に係る制御装置が行う学習処理が備える第2処理で求める補正軌跡を用いてロボットを動作させたときの実際の軌跡を示す概念図
【
図12】本開示の実施の形態1に係る制御装置が行う運用処理のフローチャート
【
図13】本開示の実施の形態2に係る制御装置が行う学習処理が備える第2処理で用いる実際の軌跡の誤差の分布を示す概念図
【発明を実施するための形態】
【0011】
以下、本開示の実施の形態1に係る制御装置、ロボットシステム、学習装置、ロボットの制御方法、プログラムおよび第1補正モデルについて図面を参照して詳細に説明する。なお、図中、同一又は同等の部分には同一の符号を付す。また、図に示す直交座標系XYZにおいて、ロボットが有するベースの軸線を鉛直方向に向け、固定部の板面を水平方向に平行にしたときの、鉛直方向がZ軸、水平方向がXY平面である。
【0012】
(実施の形態1)
実施の形態1に係る制御装置は、ロボットをより高精度に制御するため、運用前に、ロボットの実際の軌跡の、理想軌跡に対する幾何学的ずれを補正する学習処理を行う。以下、制御装置の対象が、垂直多関節型のロボットである場合を例に、制御装置の構成について説明する。まず、
図1および
図2を参照して、制御対象の垂直多関節型のロボットの構成について説明する。
【0013】
図1は、実施の形態1に係る制御装置が制御するロボット10の斜視図である。
図2は、ロボット10の側面図である。
【0014】
図1および
図2に示すように、ロボット10は、それぞれがリンクとして機能するベース110、第1アーム120、第2アーム130、第3アーム140、第4アーム150、第5アーム160およびフランジ170を備える。
【0015】
ベース110は、円柱状に形成され、その円柱の軸線AX1を鉛直方向、すなわちZ方向に向けている。そして、ベース110の-Z端には平板状の固定部180が設けられている。また、固定部180は、水平面、すなわち、XY平面に平行な面を有する設置箇所に固定されている。その結果、ベース110は、固定部180を介して設置箇所に固定されている。一方、ベース110の+Z端は、第1アーム120に連結されている。
【0016】
第1アーム120は、Z方向に延びる上記の軸線AX1の周りに回転可能な状態でベース110に取り付けられている。また、第2アーム130は、第1アーム120に連結され、水平方向へ延びる軸線AX2の周りに回転可能である。第3アーム140は、第2アーム130に連結され、水平方向へ延びる軸線AX3の周りに回転可能である。第4アーム150は、第3アーム140に連結され、水平方向へ延びる軸線AX4の周りに回転可能である。第5アーム160は、第4アーム150に連結され、水平方向へ延びる軸線AX5の周りに回転可能である。フランジ170は、第5アーム160に連結され、軸線AX5から軸線AX5を中心とする円の半径方向へ延在する軸線AX6の周りに回転可能である。さらに、フランジ170には、切削工具、研削工具等の加工用の工具が取り付け可能である。
【0017】
ロボット10は、上述した構成を備えることにより、軸線AX1-AX6に対応する6つの関節を有する。そして、ロボット10は、
図1および
図2には示さないが、軸線AX1-AX6周りに第1アーム120-第5アーム160およびフランジ170を回転させるため、関節それぞれにモータM1-M6をそれぞれ備える。ロボット10は、モータM1-M6それぞれが所望の回転量だけ回転することにより、所望の位置にフランジ170を移動させる。例えば、ロボット10は、フランジ170に工具が取り付けられた場合に、その工具を所望の位置に移動させる。そして、ロボット10は、モータM1-M6それぞれの回転量を時間の経過と共に変化させることにより、フランジ170を特定の動作開始点から特定の動作終了点までに至る所望の軌跡に沿って移動させる。
【0018】
しかしながら、モータM1-M6は、制御装置からの指令に対して遅れて動作する。このような動作の遅れがモータM1-M6それぞれで相違すると、フランジ170の軌跡、すなわちロボット10の軌跡が理想軌跡からずれてしまうことがある。
【0019】
そこで、制御装置は、ロボット10を実際に動作させる運用の前に、ロボット10の実際の軌跡の理想軌跡に対する幾何学的ずれを補正するための学習処理を行う。そして、制御装置は、その後、その学習処理に基づいて、ロボット10を実際に動作させる運用処理を行う。
【0020】
ここで、本明細書では、理想軌跡に対する実際の軌跡のずれを補正するデータを生成する処理のことを学習処理というものとする。なお、この学習処理は、いわゆるロボットティーチングの一種であることからティーチング処理と呼ばれ、また、学習処理に用いられる学習用データは、ティーチング用データと呼ばれるものである。
【0021】
次に、
図3-
図4を参照して、このような学習処理および運用処理を行う制御装置の構成について説明する。
【0022】
図3は、実施の形態1に係る制御装置1のハードウエア構成図である。
図4は、制御装置1のブロック図である。なお、
図3および
図4では、理解を容易にするため、ロボット10と制御装置1により構成されるロボットシステム100の全体の構成を示している。
【0023】
図3に示すように、制御装置1は、プロセッサ31、メモリ32およびインターフェース33を備える。そして、プロセッサ31、メモリ32およびインターフェース33は、バス34により接続されている。
【0024】
インターフェース33は、プロセッサ31およびメモリ32を外部装置に接続し、外部装置との通信を可能にする。詳細には、インターフェース33は、図示しない無線モジュールに接続されている。その結果、プロセッサ31およびメモリ32は、
図3に示すように、インターネットを介して、操作端末20と通信可能である。また、インターフェース33は、ロボット10に備えられるモータM1-M6とエンコーダE1-E6に接続されている。
【0025】
モータM1-M6それぞれは、
図1および
図2に示す軸線AX1-AX6それぞれの周りに、第1アーム120、第2アーム130、第3アーム140、第4アーム150、第5アーム160およびフランジ170それぞれを回転させるために設けられている。そして、それら第1アーム120、第2アーム130、第3アーム140、第4アーム150、第5アーム160およびフランジ170の回転位置を制御するため、モータM1-M6それぞれには、サーボモータが使用されている。モータM1-M6それぞれは、回転することにより、上述したロボット10の関節を動かす。
【0026】
一方、エンコーダE1-E6それぞれは、それらモータM1-M6それぞれのシャフトの回転量、詳細には、シャフトの回転位置を検出する。これにより、エンコーダE1-E6それぞれは、上述した関節の動きを検出する。
【0027】
図3に戻って、インターフェース33は、モータM1-M6およびエンコーダE1-E6が接続されることにより、これらの装置とプロセッサ31およびメモリ32とのデータの送受信を可能にする。
【0028】
プロセッサ31およびメモリ32は、コンピュータを構成する。そして、制御装置1は、プロセッサ31がメモリ32に記憶された各種プログラムを読み出して実行することにより、ロボット10のモータM1-M6とエンコーダE1-E6を制御する各種処理を行う。
【0029】
例えば、制御装置1は、メモリ32に記憶された学習プログラムが読み出されて実行されることにより、上述したロボット10の実際の軌跡のずれを補正するための学習処理を行う。また、制御装置1は、メモリ32に記憶された運用プログラムが読み出されて実行されることにより、学習処理に基づくロボット10の運用処理を行う。制御装置1は、これら学習処理と運用処理を行うため、
図4に示すソフトウェアとして構成される機能ブロックを備える。詳細には、制御装置1は、データ取得部11、軌跡決定部12、制御部13、第1学習部14、第2学習部15および軌跡取得部16を備える。続いて、これらの構成について説明する。
【0030】
なお、制御装置1には、上述した学習処理を行うため、操作端末20が備える入力装置から学習指令が入力される。または、上述した運用処理を行うため、入力装置から運用指令が入力される。以下、学習指令が入力され学習処理を行うときを学習処理時、運用指令が入力され運用処理を行うときを運用処理時というものとする。
【0031】
データ取得部11は、学習処理時に、第1学習用データ記憶部17と第2学習用データ記憶部18から動作データを取得する。
【0032】
詳細には、第1学習用データ記憶部17には、学習処理時に用いるロボット10の動作データを含む第1学習用データが格納されている。また、第2学習用データ記憶部18には、学習処理時に用いる、もう一つの動作データを含む第2学習用データが格納されている。データ取得部11は、学習処理時に、第1学習用データ記憶部17または第2学習用データ記憶部18から第1学習用データまたは第2学習用データを読み出し、これらのデータに含まれる動作データを取得する。
【0033】
また、上述した操作端末20の入力装置から入力される運用指令には動作データが含まれている。データ取得部11は、運用処理時に、入力された運用指令から動作データを取得する。
【0034】
ここで、動作データとは、ロボット10が動作を開始する動作開始点とロボット10が動作を終了する動作終了点とを少なくとも含むロボット10の動作用軌跡を表すデータのことである。詳細には、動作データは、ロボット10が備えるフランジ170の、動作開始点の座標と動作終了点の座標を少なくとも含み、それらの間でフランジ170が通過すべき中間点の座標を含むデータのことである。なお、動作データは、駆動条件とも呼ばれるデータである。
【0035】
データ取得部11は、動作データを取得すると、取得した動作データを軌跡決定部12に送信する。
【0036】
軌跡決定部12は、データ取得部11から受信した動作データに基づいてロボット10の軌跡、すなわち、フランジ170の軌跡を決定する。
【0037】
詳細には、軌跡決定部12は、学習処理時に、第1学習用データまたは第2学習用データに含まれるデータ取得部11から受信した動作データに基づいてフランジ170の軌跡を決定する。そして、軌跡決定部12は、決定した軌跡のデータを制御部13に送信する。
【0038】
軌跡決定部12は、運用処理時に、学習済みデータ記憶部19の第1補正モデルおよび第2補正モデルを用いてフランジ170の軌跡を決定する。詳細には、学習済みデータ記憶部19には、第1学習部14および第2学習部15が生成した、後述する第1補正モデルおよび第2補正モデルが格納されている。軌跡決定部12は、運用処理時に、学習済みデータ記憶部19から第1補正モデルおよび第2補正モデルを読み出し、読み出した第1補正モデルおよび第2補正モデルを用いて、データ取得部11から受信した動作データを補正して、フランジ170の軌跡を決定する。これにより、軌跡決定部12は、運用処理時に発生しているフランジ170の実際の軌跡の理想軌跡からのずれを補正する。軌跡決定部12は、決定した軌跡のデータを制御部13に送信する。
【0039】
制御部13は、軌跡決定部12から受信した軌跡のデータに基づいてロボット10が備えるモータM1-M6それぞれを回転させる。これにより、制御部13は、学習処理時に、第1学習用データまたは第2学習用データの動作データに基づいた動作をロボット10に行わせる。また、制御部13は、運用処理時に、ずれが補正された軌跡のデータに基づいた動作をロボット10に行わせる。
【0040】
一方、第1学習部14は、学習処理時に、制御部13へ指令を送ることにより、ロボット10に第1学習用データの動作データに基づいた動作を行わせる。その一方で、第1学習部14は、学習処理時に、軌跡取得部16へ指令を送ることにより、軌跡取得部16に、ロボット10が実行する動作により生成される軌跡のデータを取得させる。
【0041】
軌跡取得部16は、第1学習部14からの指令により、ロボット10が備えるエンコーダE1-E6から、エンコーダE1-E6それぞれが検出したモータM1-M6それぞれの回転位置を取得する。そして、軌跡取得部16は、第1学習部14からの指令の間、それらモータM1-M6それぞれの回転位置を取得する。軌跡取得部16は、取得したモータM1-M6の回転位置を用いてロボット10のフランジ170の位置を求め、さらに、フランジ170の実際の軌跡を求める。軌跡取得部16は、求めた実際の軌跡のデータを第1学習部14に送信する。
【0042】
第1学習部14は、軌跡決定部12から受信した軌跡のデータを理想軌跡のデータとする。そして、第1学習部14は、学習処理時に、その理想軌跡のデータと軌跡取得部16から受信した実際の軌跡のデータとを比較し、実際の軌跡の理想軌跡に対する幾何学的変形を求める。
【0043】
詳細な内容は後述するが、第1学習部14は、実際の軌跡が理想軌跡に対してどのように幾何学的変形をしているか、例えば、並進、回転、拡大、縮小等の幾何学的変換が施された変形をしているかを求める。そして、第1学習部14は、求めた幾何学的変形のデータを、実際の軌跡を補正する第1補正モデルとして学習済みデータ記憶部19に格納する。
【0044】
これに対して、第2学習部15は、学習処理時の第1学習部14の学習が終了した後に、制御部13へ指令を送ることにより、第2学習用データに含まれる動作データから決定された軌跡の動作をロボット10に実行させる。そして、第2学習部15は、第1学習部14の場合と同様に、軌跡取得部16へ指令を送ることにより、軌跡取得部16に、ロボット10が実行する動作により行われる軌跡のデータを取得させる。
【0045】
第2学習部15は、軌跡取得部16から実際の軌跡のデータを得る。さらに、第2学習部15は、軌跡決定部12から受信した軌跡のデータを理想軌跡のデータとする。そして、第2学習部15は、理想軌跡のデータと実際の軌跡のデータとを比較し、実際の軌跡の各部分の、理想軌跡の各部分に対する位置ずれを求める。詳細な内容は後述するが、第2学習部15は、求めた位置ずれのデータを、実際の軌跡を補正する第2補正モデルとして学習済みデータ記憶部19に格納する。
【0046】
上述したように、軌跡決定部12は、運用処理時に、学習済みデータ記憶部19に格納された第1補正モデルおよび第2補正モデルを用いて、入力装置から入力された動作データを補正して、ロボット10の軌跡を決定する。そして、制御部13は、その補正された動作データから導き出される軌跡に基づいて、モータM1-M6それぞれを回転させる。これにより、制御装置1は、ロボット10の実際の軌跡を理想軌跡に近づける。その結果、制御装置1は、実際の軌跡の理想軌跡からのずれを修正する。
【0047】
【0048】
図5は、制御装置1が行う学習処理のフローチャートである。
図6は、学習処理が備える第1処理のフローチャートである。
図7は、第1処理で使用される第1学習用データ27の一例を示す図である。
図8は、第1学習用データ27で表される軌跡を示す概念図である。
図9は、学習処理が備える第2処理のフローチャートである。
図10は、第2処理で使用される第2学習用データ28の一例を示す図である。
【0049】
まず、ユーザーは、操作端末20の入力装置から学習指令を入力する。制御装置1では、学習指令が入力されると、プロセッサ31がメモリ32に記憶された学習プログラムを読み出して実行する。その結果、学習処理のフローが開始される。
【0050】
学習処理のフローが開始されると、
図5に示すように、まず、第1処理が行われる(ステップS1)。
【0051】
その第1処理では、
図6に示すように、はじめに、データ取得部11が第1学習用データ27の取得を行う(ステップS11)。
【0052】
詳細には、データ取得部11は、第1学習用データ記憶部17に格納された、ロボット10の動作データを含む第1学習用データ27を読み出す。
【0053】
その第1学習用データ27では、
図7に示すように動作開始点、動作終了点、中間点で表される軌跡を形成するための駆動条件、すなわち動作データと、その軌跡の幾何学的変形条件とが対応付けられている。そして、幾何学的変形条件は、並進、Z軸回転、拡大縮小等の条件で示されている。
【0054】
ここで、Z軸回転とはZ軸の周りに軌跡を回転させる幾何学的変換のことである。また、軌跡の幾何学的変形とは、軌跡を並進、回転、拡大縮小等の幾何学的変換をして変形させることである。
【0055】
さらに詳細に、
図7および
図8に示す場合を例に、第1学習用データ27を説明すると、No.0は、XYZ座標表示で、動作開始点(0,0,0)から中間点(50,0,0)・・・の複数の中間点を経て、動作開始点と同じ位置の動作終了点(0,0,0)に戻る軌跡を示している。No.1は、No.0の軌跡を基本軌跡というものとすると、その基本軌跡をY方向に5だけ並進させた軌跡を示している。No.2は、基本軌跡をX方向に1、Y方向に3並進させ、かつ105%拡大した軌跡を示している。No.3は、基本軌跡をX方向に2、Y方向に4並進させ、かつ5°だけZ軸回転させ、かつ110%拡大した軌跡を示している。このように、第1学習用データ27では、軌跡のデータと軌跡の幾何学的変形条件とが対応付けられている。
【0056】
データ取得部11は、このような第1学習用データ27を読み出す。そして、データ取得部11は、読み出した第1学習用データ27の基本軌跡と対応付けられた幾何学的変形条件から、各軌跡の座標データを算出する。これにより、データ取得部11は、各軌跡を実現するロボット10の動作データを得る。
【0057】
続いて、
図6に示すように、軌跡決定部12が第1学習用軌跡の決定を行う(ステップS12)。詳細には、軌跡決定部12は、データ取得部11が取得した第1学習用データ27の軌跡と対応付けられた幾何学的変形条件から、各軌跡の座標データを求める。そして、軌跡決定部12は、求めた複数の軌跡から1つの軌跡を選択し、その軌跡を第1学習用軌跡とする。これにより、軌跡決定部12は、ロボット10に動作させるための第1学習用軌跡を決定する。
【0058】
次に、ロボット10による第1学習用軌跡の実行とロボット10の実際の軌跡の取得が行われる(ステップS13)。詳細には、軌跡決定部12が決定した第1学習用軌跡で制御部13がロボット10を動作させる。そして、軌跡取得部16が、そのロボット10の実際の軌跡のデータを取得する。具体的には、軌跡取得部16は、計時部を備えるところ、その計時部で計時して、ロボット10の動作中、一定時間の経過毎にロボット10が備えるエンコーダE1-E6から、エンコーダE1-E6それぞれが検出したモータM1-M6それぞれのシャフトの回転位置を取得する。軌跡取得部16は、取得したモータM1-M6のシャフトの回転位置を用いてロボット10の各時間でのフランジ170の位置を求める。さらに、軌跡取得部16は、求めたフランジ170の位置からフランジ170の実際の軌跡を求める。これにより、軌跡取得部16は、ロボット10の実際の軌跡を取得する。
【0059】
軌跡取得部16がロボット10の実際の軌跡を取得すると、第1学習部14が、その軌跡のデータを用いて幾何学的変形データの算出を行う(ステップS14)。詳細には、第1学習部14は、軌跡決定部12が決定した第1学習用軌跡を理想軌跡とし、その理想軌跡のデータと軌跡取得部16が取得した実際の軌跡のデータとを比較し、実際の軌跡が理想軌跡に対してどのように幾何学的変形をしているかを求める。例えば、第1学習部14は、実際の軌跡が理想軌跡に対してどの程度並進しているか、または、どの程度回転しているか、どの程度拡大または縮小しているか等を求める。
【0060】
次に、第1学習部14は、全ての動作データにつき幾何学的変形データの算出をしたかの判定を行う(ステップS15)。詳細には、上述したように、ステップS11で、データ取得部11が第1学習用データ27に含まれる全ての動作データを得ている。第1学習部14は、データ取得部11から、全ての動作データを得て、その全ての動作データについて、ステップS14の幾何学的変形データの算出を行っているか否かを判定する。
【0061】
第1学習部14が全ての動作データにつき幾何学的変形データの算出をしていないと判定した場合(ステップS15のNo)、ステップS12に戻る。そして、軌跡決定部12は、ステップS12で求めた複数の軌跡のうちの残りの軌跡から新たな1つの軌跡を選択し、その軌跡を第1学習用軌跡とする。これにより、軌跡決定部12は、新たな第1学習用軌跡を決定する。そして、ステップS12-S15を繰り返す。これにより、ステップS12で求めた複数の軌跡全てに対して、幾何学的変形データの算出を行う。
【0062】
一方、第1学習部14は、全ての動作データにつき幾何学的変形データの算出をしていると判定した場合(ステップS15のYes)、第1補正モデルの生成を行う(ステップS16)。詳細には、第1学習部14は、求めた幾何学的変形それぞれのデータと第1学習用データ27の軌跡それぞれとが対応付けられたテーブルを、実際の軌跡を補正するための第1補正モデルとして学習済みデータ記憶部19に格納する。これにより、第1学習部14は、第1補正モデルの生成を行う。
【0063】
ここで、第1学習部14は、それぞれの軌跡の幾何学的変形のデータ毎に第1補正モデルを生成してもよいし、全ての軌跡の幾何学的変形のデータに対して1つの第1補正モデルを生成してもよい。
【0064】
第1学習部14が第1補正モデルを生成すると、第1処理のフローが終了する。
【0065】
図5に戻って、ステップS1の第1処理に続いて、第2処理が行われる(ステップS2)。
【0066】
その第2処理では、
図9に示すように、まず、データ取得部11が第2学習用データ28の取得を行う(ステップS21)。
【0067】
詳細には、データ取得部11は、第2学習用データ記憶部18に格納された第2学習用データ28を読み出す。その第2学習用データ28には、
図10に示すように、第1学習用データ27の基本軌跡に相当する軌跡の駆動条件が示されている。具体的には、第2学習用データ28には、第1学習用データ27のNo.0の軌跡に相当する軌跡の動作開始点、動作終了点、それらの間の中間点の座標が示されている。データ取得部11は、このような第2学習用データ28を読み出す。
【0068】
続いて、軌跡決定部12が第2学習用軌跡の決定を行う(ステップS22)。後述するように、第2処理では、ロボット10の実際の軌跡の各部分の誤差を算出し、その誤差から補正軌跡を算出する(ステップS24)。第2学習用軌跡の決定では、ステップS21で読み出された第2学習用データ28の軌跡に対してステップS24の補正軌跡がまだ算出されていない場合、軌跡決定部12は、読み出された第2学習用データ28の軌跡を第2学習用軌跡とする。また、軌跡決定部12は、ステップS21で読み出された第2学習用データ28の軌跡に対してステップS24の補正軌跡が既に算出されている場合、その補正軌跡を第2学習用軌跡とする。軌跡決定部12は、このような方法で、第2学習用軌跡を決定する。
【0069】
第2学習用軌跡の決定後、ロボット10による第2学習用軌跡の実行とロボット10の実際の軌跡の取得が行われる(ステップS23)。この処理では、実行される軌跡が第2学習用軌跡である点で第1処理のステップS13と異なるだけのため、説明を省略する。
【0070】
ステップS23のロボット10の実際の軌跡を取得するステップが終了すると、第2学習部15がロボット10の実際の軌跡の各部分の誤差の算出と誤差からの補正軌跡の算出を行う(ステップS24)。
【0071】
ここで、ステップS24の誤差の算出と誤差からの補正軌跡の算出について、
図11A-
図11Eを参照して詳細に説明する。
【0072】
図11Aは、学習処理が備える第2処理で取得されたロボット10の実際の軌跡41と理想軌跡42を示す概念図である。
図11Bは、第2処理で求める補正軌跡43の誤差44と実際の軌跡41の誤差45と関係を示す概念図である。
図11Cは、第2処理で求める補正軌跡43の誤差44の分布と実際の軌跡41の誤差45の分布を示す概念図である。
図11Dは、補正軌跡43の概念図である。
図11Eは、その補正軌跡43を用いてロボット10を動作させたときの実際の軌跡46を示す概念図である。
【0073】
図11Aに示すように、ステップS23で取得された実際の軌跡41の各部分は、一般的には、理想軌跡42の各部分から位置がずれていることが多い。第2学習部15では、その位置ずれを補正するため、第2学習部15が実際の軌跡41の各部分の誤差から、補正軌跡43の各部分の誤差を求め、求めた誤差と理想軌跡42の各部分の位置から、補正軌跡43を算出する。
【0074】
詳細には、第2学習部15は、
図11Bに示す各部分の誤差44が、言い換えると各ポイントの誤差44が-κEをとなる補正軌跡43を求める。ここで、Eは、実際の軌跡41の、補正軌跡43に対応するポイントの誤差45である。κは、0よりも大きく1よりも小さい数値をとる係数であり、演算で補正軌跡43が発散することを防ぐために設けられた係数である。
【0075】
このような演算によって、第2学習部15は、
図11Cに示す誤差44の分布を有する、
図11Dに示す補正軌跡43を得る。
【0076】
補正軌跡43の算出が完了すると、
図9に示すように、第2学習部15は、実際の軌跡41の誤差45が許容値以下かどうかを判定する(ステップS25)。詳細には、第2学習部15は、実際の軌跡41の各ポイントの誤差45のうち、最も大きい誤差45が許容値以下かどうかを判定する。これにより、第2学習部15は、補正軌跡43を用いて補正しなくとも、第2学習用データ28の軌跡データのままでよいかどうかを判定する。
【0077】
実際の軌跡41の誤差45が許容値を超えると判定した場合(ステップS25のNo)、さらに、第2学習部15は、誤差45が許容値を超えるというエラーの回数をカウントし(ステップS26)、カウントされたエラーの回数が設定値以下であるかどうかを判定する(ステップS27)。そして、第2学習部15は、エラーの回数が設定値を超えると判定した場合(ステップS27のNo)、演算が発散してしまうエラー状態であると扱い、第2処理を終了させる。この場合、第2学習部15は、操作端末20が備える図示しない表示装置にエラーを表示する。
【0078】
一方、第2学習部15は、エラーの回数が設定値以下であると判定した場合(ステップS27のYes)、まだ演算が発散していないと扱い、ステップS22へ戻る。そのステップS22では、軌跡決定部12は、ステップS24で求めた補正軌跡43のデータを第2学習用データ28とする。そして、第2学習部15は、ステップS23-S27までを繰り返して、ステップS21で読み出された第2学習用データ28の軌跡を補正していく。これにより、第2学習部15は、例えば、
図11Eに示すように、補正軌跡43を用いてロボット10を動作させたときの実際の軌跡46を理想軌跡42に近似させていく。そして、第2学習部15は、誤差45が許容値以下となる補正軌跡43を求める。
【0079】
図9に示すステップS25に戻って、第2学習部15は、実際の軌跡41の誤差45が許容値以下であると判定された場合(ステップS25のYes)、第2補正モデルを生成する(ステップS28)。詳細には、学習処理では、ステップS24を実行した回数だけ補正軌跡43を算出しているが、第2学習部15は、それら算出した補正軌跡43から、ステップS21で取得した第2学習用データ28の理想軌跡42を補正するデータを求め、求めた補正データを第2補正モデルとする。これにより、第2学習部15は、理想軌跡42の各ポイントに対する実際の軌跡41の位置ずれと理想軌跡42とに基づいた第2補正モデルを生成する。そして、第2学習部15は、生成した第2補正モデルを学習済みデータ記憶部19に格納する。
【0080】
第2補正モデルの生成が終了すると、第2学習部15は、第2処理を終了させる。
【0081】
続いて、
図12を参照して、第1補正モデルと第2補正モデルを用いた運用処理について説明する。
【0082】
図12は、制御装置1が行う運用処理のフローチャートである。
【0083】
まず、ユーザーは、操作端末20が備える入力装置から運用指令を入力する。制御装置1では、運用指令が入力されると、プロセッサ31がメモリ32に記憶された運用プログラムを読み出して実行し、その結果、運用処理のフローが開始される。
【0084】
その運用処理では、まず、
図12に示すように、データ取得部11がロボット10の動作データの取得を行う(ステップS31)。その動作データの取得は、例えば、操作端末20が備える入力装置からロボット10を動作させたい動作データが入力され、データ取得部11がその動作データを取得することにより、行われる。
【0085】
このときの動作データは、その動作データでロボット10が理想的に動作したと想定したときの理想軌跡42が、予め制御装置1が学習した第1学習用データ27に含まれる基本軌跡と近似していることが望ましい。このような動作データであれば、第1学習部14と第2学習部15の学習結果により、ロボット10の軌跡の精度を高めることができるからである。
【0086】
なお、動作データの取得は、図示しない記憶装置に予め動作データを記憶させておき、データ取得部11がその動作データを読み出すことにより行われてもよい。この場合、図示しない記憶装置は、第1学習用データ記憶部17、第2学習用データ記憶部18または学習済みデータ記憶部19であってもよい。
【0087】
または、動作データの取得は、ロボットシステム100が、撮像装置と、撮像装置が撮像した画像データを解析する画像解析装置とを備え、ロボット10のフランジ170に取り付けられた工具が加工するワークを撮像装置が撮像し、撮像装置の画像から画像解析装置がワークの位置を求めて、動作データを生成することにより、行われてもよい。この場合、画像解析装置は、ワークの特徴部を抽出し、抽出された特徴部の画像内位置と撮像装置のワークに対する位置から動作データをするとよい。
【0088】
次に、ステップS31の動作データの取得が行われると、軌跡決定部12が学習処理で用いた第1学習用データ27に含まれる軌跡のうちの、どの軌跡に動作データの軌跡が近似するかを算出する(ステップS32)。
【0089】
図7に示す例で説明すると、第1学習用データ27には、
図7に示すように、No.0からNo.3までの軌跡が格納されている。
図7に示すこれらの軌跡をA0、A1、A2、A3、理想軌跡42をBとし、第1補正モデルの幾何学的変形のデータが幾何学的変換を行う写像f0、f1、f2、f0を表すものであるとする場合に、それら写像f0、f1、f2、f0は、
f0: A0→B、f1: A1→B、f2: A2→B、f3: A3→B
と表すことができる。一方、動作データの軌跡をCとする場合に、その軌跡Cを理想軌跡42のBとするには、
g:C→B
となる写像gを求めればよい。従って、動作データの軌跡Cが、第1学習用データ27の軌跡A0、A1、A2、A3、のいずれに最も近似しているかが判明すれば、その軌跡に対応する写像f0、f1、f2、f0が写像gに近似することがわかる。
【0090】
そこで、
図12に示すステップS32では、ステップS31で取得した動作データの軌跡が第1学習用データ27に含まれる軌跡のどの軌跡に近似するか、上記の例の場合、動作データの軌跡が軌跡A0、A1、A2、A3のいずれの軌跡に近似するかを軌跡決定部12が求める。例えば、軌跡決定部12は、フィッティングにより、第1学習用データ27に含まれる軌跡のどの軌跡に近似するかを求める。
【0091】
軌跡決定部12は、近似する軌跡を求めると、続いて、学習済みデータ記憶部19から第1補正モデルを読み出す。そして、軌跡決定部12は、読み出した第1補正モデル内の近似する軌跡に対応付けられた幾何学的変形データを求める(ステップS33)。
【0092】
上述した理想軌跡42は、ロボット10のフランジ170に加工用の工具が取り付けられた場合の、その工具を加工対象物の加工形状、例えば、製品、部品等の加工形状に沿って移動させるための軌跡である。学習済みデータ記憶部19には、実験により求められた、その加工対象物の公差に起因して発生すると予測される軌跡の幾何学的変形のデータが格納されている。軌跡決定部12は、幾何学的変形データを求めた後、求めた幾何学的変形データが、ロボット10の加工対象物の公差に起因する幾何学的変形を許容できるかどうかを判定する(ステップS34)。すなわち、軌跡決定部12は、ロボット10の加工対象物の公差に起因する幾何学的変形を補正するデータを想定した場合に、そのデータよりも求めた幾何学的変形データが大きい補正であるかどうかを判定する。
【0093】
軌跡決定部12は、求めた幾何学的変形データがロボット10の加工対象物の公差に起因する幾何学的変形を許容できないと判定した場合(ステップS34のNo)、求めた幾何学的変形データでは、ロボット10の加工対象物の公差に起因する幾何学的変形すら補正できないことから、すなわち、加工対象物の設計値からのばらつきに相当する幾何学的変形すら補正できないことから、十分な補正データがないものと扱って運用処理を終了させる。そして、軌跡決定部12は、操作端末20が備える表示装置にエラーを表示する。
【0094】
一方、軌跡決定部12は、求めた幾何学的変形データがロボット10の加工対象物の公差に起因する幾何学的変形を許容できると判定した場合(ステップS34のYes)、第1補正モデルによる動作データの補正を行う(ステップS35)。詳細には、軌跡決定部12は、第1補正モデルの求めた幾何学的変形データを用いてステップS31で取得した動作データを補正する。
【0095】
続いて、軌跡決定部12は、第2補正モデルによる動作データの補正を行う(ステップS36)。すなわち、軌跡決定部12は、第2補正モデルを用いてステップS31で取得した動作データを補正する。
【0096】
第2補正モデルによる動作データの補正が終わると、制御部13が補正された動作データでロボット10の駆動を行う(ステップS37)。詳細には、制御部13は、補正された動作データから導き出される軌跡に基づいて、モータM1-M6それぞれを回転させる。これにより、制御装置1では、ロボット10の実際の軌跡41が理想軌跡42に近づき、実際の軌跡41の理想軌跡42からのずれが修正される。その結果、ロボット10が高精度に動作する。
【0097】
ロボット10の動作が終了すると、制御部13は、運用処理を終了させる。
【0098】
なお、実施の形態1で説明した軌跡決定部12と制御部13は、本開示でいうところのロボット制御部の一例である。モータM1-M6は、本開示でいうところの原動機の一例である。学習プログラムと運用プログラムは、本開示でいうところのプログラムの一例である。軌跡取得部16の、エンコーダE1-E6が検出したモータM1-M6の回転位置からロボット10の軌跡を算出する部分は、本開示でいうところの第1軌跡算出部の一例である。
【0099】
また、
図7を用いて説明した基本軌跡は、本開示でいうところの動作用軌跡の一例である。また、
図7を用いて説明した第1学習用データ27の各軌跡の動作開始点、動作終了点と各軌跡は、本開示でいうところの第1学習用動作開始点、第1学習用動作終了点、第1学習用軌跡の一例である。第1学習用データ27が有する基本軌跡を幾何学的変形させた軌跡は、本開示でいうところの変形軌跡の一例である。
【0100】
以上のように、実施の形態1に係る制御装置1では、第1学習部14が生成した、幾何学的変形を小さくするための第1補正モデルを用いて、軌跡決定部12が補正動作データを算出する。また、制御装置1では、制御部13が算出した補正動作データによりロボットを制御する。このため、ロボット10の軌跡の幾何学的変形が小さくなる。その結果、制御装置1は、ロボット10を高い精度で動作させることができる。
【0101】
また、制御装置1では、第2学習部15が生成した、軌跡の各部分の位置ずれを小さくするための第1補正モデルを用いて、軌跡決定部12が動作データを補正する。このため、ロボット10の軌跡の各部分の変形が小さくなる。その結果、制御装置1は、ロボット10を高い精度で動作させることができる。
【0102】
なお、ロボット10にプロセッサ、インターフェースが設けられている旨の説明はしていないが、ロボット10がプロセッサ、インターフェースを備えてもよい。そして、インターフェースに通信モジュールが接続され、ロボット10が制御装置1とネットワーク、例えば、インターネットを介して通信してもよい。
【0103】
また、上記の実施の形態1の第1学習用データ27では、軌跡を形成するための動作データと、その軌跡の幾何学的変形条件とが対応付けられているが、その幾何学的変形条件は、ロボット10の加工対象物の公差に起因して発生すると予測される軌跡の幾何学的変形よりも大きい条件であることが望ましい。そのような幾何学的変形条件であれば、加工対象物の公差に起因する軌跡のずれを修正できるからである。
【0104】
(実施の形態2)
実施の形態1では、ステップS24で定数-κを乗じたときの各部分の誤差44であるEがロボット10の実際の軌跡41の各部分の誤差45の大きさとなる補正軌跡43を第2学習部15が求めることにより、第2補正モデルを生成する。しかし、第2学習部15は、これに限定されない。第2学習部15は、データ取得部11が取得した第2学習用データ28に基づいて制御部13がロボット10を制御した場合の、ロボット10の実際の軌跡41である第2軌跡のデータとロボット10が動作すべき理想軌跡42である第2理想軌跡のデータから、理想軌跡42の各部分に対する実際の軌跡41の各部分の位置ずれを求め、求めた位置ずれと第2学習用データ28に基づいて、求めた位置ずれを小さくするための第2補正モデルを生成すればよい。このため、この条件を満たす限りにおいて、位置ずれを求める手法、換言すると、第2補正モデルの生成方法は、任意である。
【0105】
実施の形態2では、第2学習部15は、最適化アルゴリズムを用いて、補正軌跡43を求めることにより、第2補正モデルを生成する。以下、
図13を参照して、実施の形態2に係る制御装置1が行う学習処理が備える第2処理について説明する。実施の形態2では、実施の形態1と異なる構成を中心に説明する。
【0106】
実施の形態2に係る制御装置1は、実施の形態1で説明した学習処理の第1処理と第2処理を行う。そして、その第2処理では、制御装置1が備える第2学習部15が、ステップS24で、ロボット10の実際の軌跡41の各部分の誤差45、すなわち、各ポイントの誤差45を算出し、最適化アルゴリズムを用いて、その誤差45からの補正軌跡43を算出する。さらに、第2学習部15は、補正軌跡43から第2補正モデルを生成する。
【0107】
図13は、第2処理で用いる実際の軌跡41の誤差45の分布を示す概念図である。
【0108】
詳細には、第2学習部15は、ステップS23で軌跡取得部16が取得した、実際の軌跡41の各ポイントP
1、P
2、P
3・・・P
Mの、理想の軌跡41の各ポイントに対する誤差45のうち、
図13に示すように、誤差45が大きい順に、ポイントP
1、P
2、P
3・・・P
Nを選択する。
【0109】
ここで、Nは、実際の軌跡41のサンプル数Mよりも小さい、予め定めた自然数である。なお、
図13では、N=3である例を示している。
【0110】
続いて、第2学習部15は、評価関数を定める。例えば、第2学習部15は、実際の軌跡41の各ポイントP1、P2、P3・・・PNの誤差45の値がG1、G2、G3・・・GNであり、評価関数がfである場合に、評価関数fを以下の数式(1)で定める。
f=G1+G2+G3+・・・+GN ・・・数式(1)
【0111】
次に、第2学習部15は、最適化アルゴリズムを用いて、評価関数fが小さくなるポイントP1、P2、P3・・・PNを探索する。最適化アルゴリズムには、例えば、ベイズ最適化または、粒子群最適化のアルゴリズムを用いるとよい。そして、最適化アルゴリズムとしてベイズ最適化のアルゴリズムを用いる場合、上述したNは、1以上10以下であることが望ましい。或いは、最適化アルゴリズムとして粒子群最適化のアルゴリズムを用いる場合、Nは、10以上であることが望ましい。
【0112】
第2学習部15は、評価関数fが小さくなるポイントP1、P2、P3・・・PNを探索すると、それらポイントP1、P2、P3・・・PNから補正軌跡43を求める。そして、実施の形態1で説明したステップS28の具体的な手法によって、求めた補正軌跡43から第2補正モデルを生成する。
【0113】
なお、評価関数は、実際の軌跡41の各ポイントP1、P2、P3・・・PNの誤差45の値から得られる誤差のグラフを誤差が0の線の回りに回転させることにより得られる立体の体積を表す関数であってもよい。
【0114】
以上のように、実施の形態2に係る制御装置1では、第2学習部15が最適化アルゴリズムを用いることにより、補正軌跡43を求めて第2補正モデルを生成する。その結果、実施の形態1で第2補正モデルを生成する場合と比較して、より少ない試行回数で第2補正モデルを生成することができる。
【0115】
なお、実際の軌跡41の各部分の誤差45を算出して補正軌跡43を求めるときに各部分の誤差45の分布の特徴部分を検出し、その特徴部分を用いて補正軌跡43を求めてもよい。例えば、実際の軌跡41の各部分の誤差45の分布をグラフ化したときのピーク部を検出し、機械学習のベイズ最適化の手法により、ピーク部が小さくなる補正軌跡43を求めてもよい。このような手法によれば、算出時間をより短くすることができるからである。
【0116】
以上、本開示の実施の形態1に係る制御装置1、ロボットシステム100、学習装置、ロボット10の制御方法、プログラムおよび第1補正モデルについて説明したが、制御装置1、ロボットシステム100、学習装置、ロボット10の制御方法、プログラムおよび第1補正モデルは、これに限定されない。
【0117】
例えば、実施の形態1、2では、第2学習部15が、実際の軌跡41の各部分と理想軌跡42の各部分の位置ずれを軌跡全体について均一に算出している。しかし、制御装置、ロボットシステム、学習装置、ロボットの制御方法およびプログラムは、これに限定されない。
【0118】
実施の形態1、2では、制御装置1が第1学習部14と第2学習部15を備えているが、制御装置1はこれに限定されない。制御装置1は、第1学習部14を備えるが、第2学習部15を備えない形態であってもよい。この場合、制御部13は、データ取得部11が取得した動作データに基づいてロボット10を制御する場合に、第1補正モデルを用いて動作データを補正することにより、補正動作データを算出し、算出した補正動作データによりロボット10を制御すればよい。このような形態であっても、ロボット10の軌跡の幾何学的変形を小さくして、ロボット10を高い精度で動作させることができるからである。
【0119】
実施の形態1、2では、ロボット10の軌跡をエンコーダE1-E6が測定している。しかし、ロボット10の軌跡の測定装置はこれに限定されない。ロボットシステム100では、ロボット10の軌跡を測定する測定器が備えられ、第1学習部14がその測定器からロボット10の軌跡を取得するとよい。従って、この条件を満たすものであれば、具体的な測定器は、エンコーダE1-E6に限られない。その測定器は、ロボット10を撮像する撮像装置と、その撮像装置が撮像した画像とその撮像装置の位置情報からロボット10の軌跡を算出する軌跡算出部とを有していてもよい。
【0120】
なお、実施の形態1で、ロボットシステム100が動作データの取得のために撮像装置を設けてもよい旨を説明したが、その撮像装置は、第1撮像装置と呼ばれてもよい。上記のロボット10の軌跡を測定する測定器としての撮像装置は、第2撮像装置と呼ばれてもよい。また、上述した軌跡算出部は、上記の撮像装置が撮像した画像とその撮像装置の位置情報からロボット10の軌跡を算出するが、その軌跡算出部は、軌跡取得部16の、エンコーダE1-E6が検出したモータM1-M6の回転位置からロボット10の軌跡を算出する部分を第1軌跡算出部と呼ぶ場合に、第2軌跡算出部と呼ばれてもよい。
【0121】
実施の形態1、2では、第1学習用データ27が、1つの基本軌跡とその基本軌跡を幾何学的変形させた複数の軌跡のデータである。しかし、第1学習用データ27は、これに限定されず、基本軌跡の数と基本軌跡を幾何学的変形させた軌跡の数は任意である。例えば、基本軌跡は、複数個であってもよい。さらに、基本軌跡を幾何学的変形させた軌跡の数は、実施の形態で例示された数よりも多くてもよいし、その数よりも少なくてもよい。
【0122】
実施の形態1、2では、ロボット10が垂直多関節型のロボットである。しかし、本開示は、ロボット全般に適用可能である。ロボット10は、例えば、水平多関節ロボットであってもよい。また、ロボット10は、単軸直動ユニットが組み合わせられた直交ロボットであってもよい。
【0123】
実施の形態1、2では、ロボット10の軌跡、詳細には、フランジ170の軌跡がXYZ直交座標系で定義されているが、円筒座標系で定義されてもよい。
【0124】
なお、上記実施形態では、運用プログラムと学習プログラムがメモリ32に格納されているが、運用プログラムと学習プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な非一時的な記録媒体に格納されて配布されてもよい。この場合、その記録媒体に格納された運用プログラムと学習プログラムがコンピュータにインストールされることにより、運用処理と学習処理を実行する制御装置1が構成されてもよい。
【0125】
また、運用プログラムまたは学習プログラムは、インターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納され、運用プログラムまたは学習プログラムが、例えば、搬送波に重畳されて、ダウンロードされてもよい。また、通信ネットワークを介して運用プログラムまたは学習プログラムが転送されながら起動実行されることによっても、上述した運用処理と学習処理が達成されてもよい。さらに、運用プログラムまたは学習プログラムの全部又は一部をサーバ装置上で実行させ、それら処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述した運用処理または学習処理が達成されてもよい。
【0126】
また、運用処理または学習処理を、各OS(Operating System)が分担して実現する場合、又は、OSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみが媒体に格納されて配布されてもよく、また、ダウンロードされてもよい。また、制御装置1の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウエアによって実現されてもよい。
【0127】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施形態および変形が可能とされるものである。また、上述した実施形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内およびそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
(付記1)
ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む前記ロボットの動作用軌跡を表す動作データおよび、前記ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データのいずれかのデータを取得するデータ取得部と、
前記データ取得部が取得した前記動作データおよび前記第1学習用データのいずれかの前記データに基づいて前記ロボットを制御するロボット制御部と、
前記データ取得部が取得した前記第1学習用データに基づいて前記ロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の第1理想軌跡に対する幾何学的変形を求め、求めた前記幾何学的変形と前記第1学習用データの前記動作データに基づいて、求めた前記幾何学的変形を小さくするための、前記動作データを補正する第1補正モデルを生成する第1学習部と、
を備え、
前記ロボット制御部は、前記データ取得部が取得した前記動作データに基づいて前記ロボットを制御する場合に、前記第1補正モデルを用いて前記動作データを補正することにより、補正動作データを算出し、算出した前記補正動作データにより前記ロボットを制御する、
制御装置。
(付記2)
第1学習用データは、前記ロボットの第1学習用軌跡を表す前記データのほかに、前記第1学習用軌跡を幾何学的に変形させた少なくとも1つの変形軌跡を表す少なくとも1つのデータを含み、
前記第1学習部は、第1補正モデルを、前記第1学習用軌跡、前記少なくとも1つの変形軌跡それぞれに対して生成し、
前記ロボット制御部は、前記データ取得部が取得した前記動作データに基づいて前記ロボットを制御する場合に、前記動作データによって表される前記動作用軌跡が、前記第1学習用軌跡、前記少なくとも1つの変形軌跡のいずれの軌跡に近似するかを判定し、近似すると判定された軌跡に対応する前記第1補正モデルを用いて前記動作データを補正することにより、補正動作データを算出する、
付記1に記載の制御装置。
(付記3)
前記第1学習部が求める前記幾何学的変形は、前記第1理想軌跡を回転、拡大、縮小若しくは並進させたときに得られる変形である、または、前記第1理想軌跡の回転、拡大、縮小若しくは並進の組み合わせにより得られる変形である、
付記1または2に記載の制御装置。
(付記4)
前記動作データを補正する第2補正モデルを生成する第2学習部をさらに備え、
前記データ取得部は、前記動作データ、前記第1学習用データおよび、前記動作用軌跡を表す第2学習用データの少なくとも1つのデータを取得し、
前記ロボット制御部は、前記データ取得部が取得した前記動作データ、前記第1学習用データおよび前記第2学習用データの少なくとも1つの前記データに基づいて前記ロボットを制御し、
前記第2学習部は、前記データ取得部が取得した前記第2学習用データに基づいて前記ロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第2軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第2理想軌跡のデータから、前記第2理想軌跡の各部分に対する前記第2軌跡の各部分の位置ずれを求め、求めた前記位置ずれと前記第2学習用データに基づいて、求めた前記位置ずれを小さくするための前記第2補正モデルを生成し、
前記ロボット制御部は、前記データ取得部が取得した前記動作データに基づいて前記ロボットを制御する場合に、前記第1補正モデルを用いて前記動作データを補正した後、前記第2補正モデルを用いて補正した前記動作データをさらに補正することにより、補正動作データを算出し、算出した前記補正動作データにより前記ロボットを制御する、
付記1から3のいずれか1つに記載の制御装置。
(付記5)
前記第2学習部は、最適化アルゴリズムを用いて前記第2補正モデルを生成する、
付記4に記載の制御装置。
(付記6)
ロボットと、
付記1から5のいずれか1つに記載の制御装置と、
を備える、
ロボットシステム。
(付記7)
第1撮像装置と、
該第1撮像装置が撮像した画像を解析する画像解析装置と、
をさらに備え、
前記ロボットは、工具を有し、
前記第1撮像装置は、前記工具により加工されるワークを撮像し、
前記画像解析装置は、前記第1撮像装置が撮像した画像から前記ワークの特徴部を抽出し、前記第1撮像装置の位置情報と抽出した前記特徴部の画像内位置から、前記動作データを算出し、
前記データ取得部は、前記画像解析装置から前記動作データを取得する、
付記6に記載のロボットシステム。
(付記8)
前記ロボットの前記第1軌跡を測定する測定器をさらに備え、
前記第1学習部は、前記測定器から前記第1軌跡を取得する、
付記6または7に記載のロボットシステム。
(付記9)
前記ロボットは、複数のリンクと、該リンクそれぞれを回動させる原動機と、備え、
前記測定器は、前記原動機それぞれの回転位置を検出するエンコーダと、該エンコーダが検出した回転位置により、前記ロボットの前記第1軌跡を算出する第1軌跡算出部と、を有する、
付記8に記載のロボットシステム。
(付記10)
前記測定器は、前記ロボットを撮像する第2撮像装置と、該第2撮像装置が撮像した画像と該第2撮像装置の位置情報から前記ロボットの前記第1軌跡を算出する第2軌跡算出部と、を有する、
付記8に記載のロボットシステム。
(付記11)
前記動作データが格納された記憶装置をさらに備え、
前記データ取得部は、前記記憶装置から前記動作データを取得する、
付記6から10のいずれか1つに記載のロボットシステム。
(付記12)
前記記憶装置には、前記第1学習用データがさらに格納され、
前記データ取得部は、前記記憶装置から前記第1学習用データを取得する、
付記11に記載のロボットシステム。
(付記13)
前記動作データが入力される入力装置を有する操作端末をさらに備え、
前記データ取得部は、前記操作端末から前記動作データを取得する、
付記6から12のいずれか1つに記載のロボットシステム。
(付記14)
ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む前記ロボットの動作用軌跡を表す動作データを取得するデータ取得部と、
前記データ取得部が取得した前記動作データに基づいて前記ロボットを制御するロボット制御部と、
を備える制御装置の前記動作データを補正するための第1補正モデルを生成する学習装置であって、
前記ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データを前記データ取得部が取得し、前記データ取得部が取得した前記第1学習用データに基づいて前記ロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の第1理想軌跡に対する幾何学的変形を求め、求めた前記幾何学的変形と前記第1学習用データの前記動作データに基づいて、求めた前記幾何学的変形を小さくするための、前記動作データを補正する第1補正モデルを生成する第1学習部を備える、
学習装置。
(付記15)
第1学習用データは、前記ロボットの第1学習用軌跡を表す前記データのほかに、前記第1学習用軌跡を幾何学的に変形させた少なくとも1つの変形軌跡を表す少なくとも1つのデータを含み、
前記第1学習部は、第1補正モデルを、前記第1学習用軌跡、前記少なくとも1つの変形軌跡それぞれに対して生成する、
付記14に記載の学習装置。
(付記16)
前記第1補正モデルを生成するステップで前記幾何学的変形は、前記第1理想軌跡を回転、拡大、縮小若しくは並進させたときに得られる変形である、または、前記第1理想軌跡の回転、拡大、縮小若しくは並進の組み合わせにより得られる変形である、
付記14または15に記載の学習装置。
(付記17)
前記動作データを補正するための第2補正モデルを生成するための第2学習部をさらに備え、
前記第2学習部は、前記動作用軌跡を表す第2学習用データを前記データ取得部が取得し、前記データ取得部が取得した前記第2学習用データに基づいて前記ロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第2軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第2理想軌跡のデータから、前記第2理想軌跡の各部分に対する前記第2軌跡の各部分の位置ずれを求め、求めた前記位置ずれと前記第2学習用データに基づいて、求めた前記位置ずれを小さくするための前記第2補正モデルを生成する、
付記14から16のいずれか1つに記載の学習装置。
(付記18)
前記第2学習部は、最適化アルゴリズムを用いて前記第2補正モデルを生成する、
付記17に記載の学習装置。
(付記19)
ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データに基づいて前記ロボットを制御し、そのときの前記ロボットの実際の軌跡である第1軌跡を測定するステップと、
前記第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の前記第1理想軌跡に対する幾何学的変形を求め、求めた前記幾何学的変形と前記第1学習用データに基づいて、求めた前記幾何学的変形を小さくするための第1補正モデルを生成するステップと、
前記第1補正モデルを用いて、前記ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む動作データを補正することにより、補正動作データを算出するステップと、
前記補正動作データを算出するステップで算出した前記補正動作データにより前記ロボットを制御するステップと、
を備えるロボットの制御方法。
(付記20)
前記第1補正モデルを生成するステップで前記幾何学的変形は、前記第1理想軌跡を回転、拡大、縮小若しくは並進させたときに得られる変形である、または、前記第1理想軌跡の回転、拡大、縮小若しくは並進の組み合わせにより得られる変形である、
付記19に記載のロボットの制御方法。
(付記21)
動作用軌跡を表す第2学習用データに基づいて前記ロボットを制御し、そのときの前記ロボットの実際の軌跡である第2軌跡を測定するステップと、
前記第2軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第2理想軌跡のデータから、前記第2理想軌跡の各部分に対する前記第2軌跡の各部分の位置ずれを求め、求めた前記位置ずれと前記第2学習用データに基づいて、求めた前記位置ずれを小さくするための第2補正モデルを生成するステップと、
を備え、
前記補正動作データを算出するステップでは、前記第1補正モデルを用いて、前記ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む動作データを補正した後、前記第2補正モデルを用いて補正した前記動作データをさらに補正することにより、補正動作データを算出する、
付記19または20に記載のロボットの制御方法。
(付記22)
ロボットを制御するコンピュータに、
前記ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データに基づいて前記ロボットを制御し、そのときの前記ロボットの実際の軌跡である第1軌跡を測定するステップと、
前記第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の前記第1理想軌跡に対する幾何学的変形を求め、求めた前記幾何学的変形と前記第1学習用データに基づいて、求めた前記幾何学的変形を小さくするための第1補正モデルを生成するステップと、
前記第1補正モデルを用いて、前記ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む動作データを補正することにより、補正動作データを算出するステップと、
前記補正動作データを算出するステップで算出した前記補正動作データにより前記ロボットを制御するステップと、
を実行させるためのプログラム。
(付記23)
ロボットが動作を開始する動作開始点と前記ロボットが動作を終了する動作終了点とを少なくとも含む前記ロボットの動作用軌跡を表す動作データを補正する機能をコンピュータに実現させるための第1補正モデルであって、
前記動作データを補正する機能は、
前記ロボットが動作を開始する第1学習用動作開始点と前記ロボットが動作を終了する第1学習用動作終了点とを少なくとも含む前記ロボットの第1学習用軌跡を表すデータを有する第1学習用データに基づいてロボット制御部が前記ロボットを制御した場合の、前記ロボットの実際の軌跡である第1軌跡のデータと前記ロボットが動作すべき理想的な軌跡である第1理想軌跡のデータから、前記第1軌跡の前記第1理想軌跡に対する幾何学的変形を求める機能と、
求めた前記幾何学的変形と前記第1学習用データの前記動作データに基づいて、求めた前記幾何学的変形を小さくする機能と、
を有する、第1補正モデル。
【0128】
本出願は、2022年5月18日に出願された日本国特許出願特願2022-81457号に基づく。本明細書中に日本国特許出願特願2022-81457号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【符号の説明】
【0129】
1 制御装置、10 ロボット、11 データ取得部、12 軌跡決定部、13 制御部、14 第1学習部、15 第2学習部、16 軌跡取得部、17 第1学習用データ記憶部、18 第2学習用データ記憶部、19 学習済みデータ記憶部、20 操作端末、27 第1学習用データ、28 第2学習用データ、31 プロセッサ、32 メモリ、33 インターフェース、34 バス、41 実際の軌跡、42 理想軌跡、43 補正軌跡、44,45 誤差、46 実際の軌跡、100 ロボットシステム、110 ベース、120 第1アーム、130 第2アーム、140 第3アーム、150 第4アーム、160 第5アーム、170 フランジ、180 固定部、AX1-AX6 軸線、E1-E6 エンコーダ、M1-M6 モータ、P1,P2,P3 ポイント。