(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024147186
(43)【公開日】2024-10-16
(54)【発明の名称】動作プログラム生成装置および動作プログラム生成方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20241008BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023060044
(22)【出願日】2023-04-03
(71)【出願人】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100104433
【弁理士】
【氏名又は名称】宮園 博一
(74)【代理人】
【識別番号】100202728
【弁理士】
【氏名又は名称】三森 智裕
(72)【発明者】
【氏名】菅野 圭介
(72)【発明者】
【氏名】宮崎 利彦
(72)【発明者】
【氏名】吹田 和嗣
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707HS27
3C707LS20
3C707LV02
3C707LV15
3C707MT02
3C707MT04
3C707MT13
(57)【要約】
【課題】ロボットシステムの動作プログラムを、消費電力量の観点から適切かつ高精度に生成することが可能な動作プログラム生成装置を提供する。
【解決手段】この動作プログラム生成装置100は、ロボットシステム200の動作に関する情報の入力を受け付ける入力部20と、入力された動作に関する情報に基づいて仮の動作プログラムを生成する動作プログラム生成部11と、生成された仮の動作プログラムに従って仮想的に動作させた際のロボットシステム200の消費電力量をシミュレーションする消費電力量算出部14と、を備える。入力部20は、消費電力量のシミュレーションの結果に基づくロボットシステム200の動作に関する情報の修正の入力を受け付ける。動作プログラム生成部11は、修正された情報に基づいて、実際の動作プログラムを生成する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ロボットを含む構成機器を複数有するロボットシステムの動作に関する情報の入力を受け付ける入力部と、
入力された動作に関する情報に基づいて仮の動作プログラムを生成する動作プログラム生成部と、
生成された前記仮の動作プログラムに従って前記複数の構成機器を仮想的に動作させた際の前記ロボットシステムの消費電力量をシミュレーションする消費電力量算出部と、を備え、
前記入力部は、消費電力量のシミュレーションの結果に基づく前記ロボットシステムの動作に関する情報の修正の入力を受け付け、
前記動作プログラム生成部は、修正された前記ロボットシステムの動作に関する情報に基づいて、実際の動作プログラムを生成する、動作プログラム生成装置。
【請求項2】
前記動作プログラム生成部は、前記仮の動作プログラムとして、前記構成機器を仮想的に動作させる際の前記構成機器の動作軌跡を生成し、
前記生成された動作軌跡の領域ごとに、前記消費電力量を重視する動作と、前記構成機器の精度を重視する動作と、前記構成機器の動作速度を重視する動作と、のうちのいずれの動作を実行させるかの選択を受け付ける動作選択部を備える、請求項1に記載の動作プログラム生成装置。
【請求項3】
前記消費電力量算出部は、領域ごとに重視する動作が選択された前記動作軌跡に従って前記複数の構成機器を動作させた際の前記ロボットシステムの消費電力量をシミュレーションする、請求項2に記載の動作プログラム生成装置。
【請求項4】
前記入力部は、前記ロボットシステムの動作に関する情報として、前記複数の構成機器のうちの少なくとも1つの構成機器のインターロックの情報の入力を受け付け、
前記消費電力量算出部は、インターロックされる前記構成機器を含む前記ロボットシステムの消費電力量をシミュレーションする、請求項1に記載の動作プログラム生成装置。
【請求項5】
前記入力部は、前記ロボットシステムの動作に関する情報として、前記構成機器の動作時と待機時との情報の入力を受け付け、
前記消費電力量算出部は、動作状態の前記構成機器と待機状態の前記構成機器とを含む前記ロボットシステムの消費電力量をシミュレーションする、請求項1に記載の動作プログラム生成装置。
【請求項6】
前記入力部は、前記ロボットシステムの動作に関する情報として、前記構成機器に対する電源の遮断の情報の入力を受け付け、
前記消費電力量算出部は、前記電源の遮断されている前記構成機器を含む前記ロボットシステムの消費電力量をシミュレーションする、請求項1に記載の動作プログラム生成装置。
【請求項7】
前記消費電力量算出部は、前記構成機器の回生エネルギの差分を含めて前記ロボットシステムの消費電力量をシミュレーションする、請求項1に記載の動作プログラム生成装置。
【請求項8】
前記消費電力量算出部は、前記構成機器の回生エネルギの差分を含めた前記構成機器の消費電力量を時系列でシミュレーションする、請求項7に記載の動作プログラム生成装置。
【請求項9】
前記動作プログラム生成部により生成された前記実際の動作プログラムが記憶される記憶部を備える、請求項1に記載の動作プログラム生成装置。
【請求項10】
生成された前記実際の動作プログラムを、前記ロボットシステムに出力する動作プログラム出力部と、
前記動作プログラム出力部から出力された前記実際の動作プログラムに従って、前記複数の構成機器を実際に動作させた際の実際の消費電力量と、シミュレーションによって算出された消費電力量と、の誤差を算出する誤差算出部と、を備える、請求項1に記載の動作プログラム生成装置。
【請求項11】
前記誤差算出部により算出された前記誤差に基づいて、前記ロボットシステムの消費電力量をシミュレーションする際のシミュレーションモデルに含まれるパラメータを修正するシミュレーションモデル修正部を備える、請求項10に記載の動作プログラム生成装置。
【請求項12】
前記誤差算出部により算出された前記誤差を小さくするように、前記シミュレーションモデルに含まれるパラメータを機械学習により最適化する機械学習部を備える、請求項11に記載の動作プログラム生成装置。
【請求項13】
前記構成機器は、前記ロボットに加えて、加工軸を含む、請求項1に記載の動作プログラム生成装置。
【請求項14】
ロボットを含む構成機器を複数有するロボットシステムの動作に関する情報の入力を受け付けることと、
入力された動作に関する情報に基づいて仮の動作プログラムを生成することと、
生成された前記仮の動作プログラムに従って前記複数の構成機器を仮想的に動作させた際の前記ロボットシステムの消費電力量をシミュレーションすることと、
消費電力量のシミュレーションの結果に基づく前記ロボットシステムの動作に関する情報の修正を受け付けることと、
修正された前記ロボットシステムの動作に関する情報に基づいて、実際の動作プログラムを生成することと、を備える、動作プログラム生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
この開示は、動作プログラム生成装置および動作プログラム生成方法に関する。
【背景技術】
【0002】
従来、ロボットの動作プログラムの生成装置が開示されている。たとえば、特許文献1には、1台のロボットの動作プログラムを修正するプログラム修正装置が開示されている。特許文献1のプログラム修正装置は、動作プログラムに基づいてシミュレーションを実行するシミュレーション部と、シミュレーションを繰り返しながら、あらかじめ定められた評価基準を満たすように動作プログラムを修正するプログラム修正部と、を備える。具体的には、評価基準を満たすように、動作プログラムにおいて、教示点における指令速度および指令加速度が修正される。特許文献1のプログラム修正装置では、評価基準として、たとえば、消費電力が設定される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のプログラム修正装置では、消費電力が所望の消費電力を満たすように、1台のロボットに対する動作プログラムが修正されている。しかしながら、製造業やサービス分野などにおいて、複数台のロボットが協調動作するシステムや、ロボットと加工軸とが協調動作するロボットシステムが導入されている。そこで、ロボットシステムの動作プログラムを、消費電力の観点から適切かつ高精度に生成することが望まれている。
【0005】
この開示は、上記のような課題を解決するためになされたものであり、この開示の1つの目的は、ロボットシステムの動作プログラムを、消費電力量の観点から適切かつ高精度に生成することが可能な動作プログラム生成装置および動作プログラム生成方法を提供することである。
【課題を解決するための手段】
【0006】
この開示の第1の局面による動作プログラム生成装置は、ロボットを含む構成機器を複数有するロボットシステムの動作に関する情報の入力を受け付ける入力部と、入力された動作に関する情報に基づいて仮の動作プログラムを生成する動作プログラム生成部と、生成された仮の動作プログラムに従って複数の構成機器を仮想的に動作させた際のロボットシステムの消費電力量をシミュレーションする消費電力量算出部と、を備え、入力部は、消費電力量のシミュレーションの結果に基づくロボットシステムの動作に関する情報の修正の入力を受け付け、動作プログラム生成部は、修正されたロボットシステムの動作に関する情報に基づいて、実際の動作プログラムを生成する。
【0007】
この開示の第1の局面による動作プログラム生成装置は、上記のように、生成された仮の動作プログラムに従って複数の構成機器を仮想的に動作させた際のロボットシステムの消費電力量をシミュレーションする消費電力量算出部を備える。これにより、ロボットシステムの仮の動作プログラムに基づいて、ロボットシステムの消費電力量の全体をシミュレーションすることができる。そして、入力部は、消費電力量のシミュレーションの結果に基づくロボットシステムの動作に関する情報の修正の入力を受け付け、動作プログラム生成部は、修正されたロボットシステムの動作に関する情報に基づいて、実際の動作プログラムを生成する。これにより、消費電力量のシミュレーションの結果に基づいて修正された適切かつ精度の高い実際の動作プログラムが生成される。その結果、ロボットシステムの動作プログラムを、消費電力量の観点から適切かつ高精度に生成できる。
【0008】
この開示の第2の局面による動作プログラム生成方法は、ロボットを含む構成機器を複数有するロボットシステムの動作に関する情報の入力を受け付けることと、入力された動作に関する情報に基づいて仮の動作プログラムを生成することと、生成された仮の動作プログラムに従って複数の構成機器を仮想的に動作させた際のロボットシステムの消費電力量をシミュレーションすることと、消費電力量のシミュレーションの結果に基づくロボットシステムの動作に関する情報の修正を受け付けることと、修正されたロボットシステムの動作に関する情報に基づいて、実際の動作プログラムを生成することと、を備える。
【0009】
この開示の第2の局面による動作プログラム生成方法は、上記のように、生成された仮の動作プログラムに従って複数の構成機器を仮想的に動作させた際のロボットシステムの消費電力量をシミュレーションすることを備える。これにより、ロボットシステムの仮の動作プログラムに基づいて、ロボットシステムの消費電力量の全体をシミュレーションすることができる。そして、動作プログラム生成方法は、消費電力量のシミュレーションの結果に基づくロボットシステムの動作に関する情報の修正を受け付けることと、修正されたロボットシステムの動作に関する情報に基づいて、実際の動作プログラムを生成することと、を備える。これにより、消費電力量のシミュレーションの結果に基づいて修正された適切かつ精度の高い実際の動作プログラムが生成される。その結果、ロボットシステムの動作プログラムを、消費電力量の観点から適切かつ高精度に生成することが可能な動作プログラム生成方法を提供できる。
【発明の効果】
【0010】
本開示の動作プログラム生成装置および動作プログラム生成方法は、ロボットシステムの動作プログラムを、消費電力量の観点から適切かつ高精度に生成することができる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態による動作プログラム生成装置とロボットシステムとを模式的に示すブロック図である。
【
図2】一実施形態によるロボットおよび加工軸を示す図である。
【
図3】一実施形態による動作プログラム生成装置のブロック図である。
【
図4】一実施形態による動作プログラム生成装置の動作を説明するためのフロー図である。
【発明を実施するための形態】
【0012】
以下、本開示を具体化した本開示の一実施形態を図面に基づいて説明する。
【0013】
図1に示すように、動作プログラム生成装置100は、ロボットシステム200の動作プログラムを生成する装置である。
【0014】
図1に示すように、実際のロボットシステム200は、ロボット220を含む構成機器210を複数有する。本実施形態では、
図2に示すように、構成機器210は、ロボット220に加えて、加工軸230を含む。加工軸230は、たとえば、ロボット220の先端に取り付けられる溶接トーチである。また、ロボット220は、複数台配置されている。加工軸230も、複数のロボット220に対応するように、複数台配置されている。また、ロボットシステム200は、加工軸230に電力を供給する電源231を備えている。また、ロボット220は、溶接トーチなどが取り付けられる産業用ロボットに限られず、介護ロボットなどのサービスロボットであってもよい。また、ロボット220は、複数の関節を有する。複数の関節には、各々、関節を駆動するモータと、モータの回転角度を検出するエンコーダとが配置されている。
【0015】
図1に示すように、ロボットシステム200は、ロボットコントローラ221と、工程制御盤240と、ライン制御盤250と、を備えている。ロボットコントローラ221は、複数のロボット220の各々に対して配置されている。ロボットコントローラ221は、ロボット220の関節に配置されているモータに電力を供給するサーボアンプを含む。工程制御盤240は、複数のロボット220を制御する。ライン制御盤250は、複数の工程制御盤240を制御する。
【0016】
図3に示すように、動作プログラム生成装置100は、制御部10と、入力部20と、表示部30と、記憶部40と、受信部50と、を備えている。制御部10は、動作プログラム生成部11と、動作選択部12と、プログラム動作部13と、消費電力量算出部14と、動作プログラム出力部15と、誤差算出部16と、シミュレーションモデル修正部17と、機械学習部18と、を含む。動作プログラム生成装置100は、たとえば、パーソナルコンピュータである。また、入力部20は、たとえば、キーボードおよびマウスなどである。制御部10は、CPU(Central Processing Unit)、ROM(Read Only Memory)、および、RAM(Random Access Memory)などを含んでいる。
【0017】
表示部30は、たとえば、液晶ディスプレイである。記憶部40は、動作プログラム生成装置100の内部に配置されるハードディスでもよいし、動作プログラム生成装置100とネットワークを介して接続されるサーバでもよい。記憶部40には、ロボット220を動作させた場合のロボット220の消費電力量をシミュレーションするシミュレーションモデルMaと、加工軸230を動作させた場合の加工軸230の消費電力量をシミュレーションするシミュレーションモデルMbと、が記憶されている。受信部50は、ロボットシステム200において測定された電流値などを受信する。受信部50は、たとえば、コネクタなどのインタフェースである。
【0018】
図1に示すように。動作プログラム生成装置100は、実際のロボットシステム200と同様の構成を有するロボットシステム200aを仮想的に生成する。動作プログラム生成装置100は、生成された動作プログラムに基づいて、ロボットシステム200aを仮想的に動作させる。以下、動作プログラム生成装置100の制御部10の動作について説明する。
【0019】
図4に示すように、ステップS1において、入力部20は、構成機器210の作業点の入力を受け付ける。構成機器210の作業点とは、たとえば、ロボット220の位置姿勢のデータである教示点である。ロボット220の位置姿勢のデータとは、ロボット220の各関節の回転角度を含む。また、構成機器210の作業点とは、たとえば、加工軸230が加工を行う位置である。また、入力部20は、構成機器210によって処理されるワークの情報の入力を受け付ける。ワークの情報とは、たとえば、ワークの種類および形状などである。また、入力部20は、ロボットシステム200が配置されている設備のデータを受け付ける。設備のデータとは、構成機器210が配置されている位置、および、構成機器210の動作範囲などである。具体的には、設備のデータは、設備のシステム構成、設備の稼働条件および設備の運用設定情報を含む。設備のシステム構成は、ロボット220、加工軸230、および、その他の周辺機器などの情報などを含む。また、設備の稼働条件は、稼働スケジュール、および、サイクルタイムなどを含む。また、設備の運用設定情報は、例えば、動作モード、環境変化に対する設定情報などを含む。なお、動作モードとは、後述する、消費電力量を重視する動作と、構成機器210の精度を重視する動作と、構成機器210の動作速度を重視する動作などである。また、作業点の入力、ワークの情報の入力および設備のデータの入力は、作業者によって実行される。
【0020】
ステップS2において、入力部20は、ロボット220を含む構成機器210を複数有するロボットシステム200の動作に関する情報の入力を受け付ける。ロボットシステム200の動作に関する情報の入力は、作業者によって行われる。具体的には、本実施形態では、入力部20は、ロボットシステム200の動作に関する情報として、複数の構成機器210のうちの少なくとも1つの構成機器210のインターロックの情報の入力を受け付ける。すなわち、入力部20は、複数のロボット220のうち、一のロボット220が動作している間、他のロボット220が動作させないようにするためのインターロックの情報の入力を受け付ける。たとえば、入力部20は、ロボットシステム200の一連の動作において、インターロックの対象となるロボット220の入力およびインターロックのタイミングの入力を受け付ける。
【0021】
本実施形態では、入力部20は、ロボットシステム200の動作に関する情報として、構成機器210の動作時と待機時との情報の入力を受け付ける。たとえば、入力部20は、ロボットシステム200の一連の動作において、ロボット220が動作状態となる期間と、ロボット220が待機状態となる期間と、の入力を受け付ける。
【0022】
本実施形態では、入力部20は、ロボットシステム200の動作に関する情報として、構成機器210に対する電源の遮断の情報の入力を受け付ける。たとえば、入力部20は、ロボットシステム200の一連の動作において、加工軸230に対する電源231の遮断のタイミングの入力を受け付ける。また、入力部20は、ロボットシステム200の一連の動作において、加工軸230に対する電源231の再投入のタイミングの情報の入力を受け付ける。
【0023】
そして、動作プログラム生成部11は、入力された動作に関する情報に基づいて仮の動作プログラムを生成する。具体的には、動作プログラム生成部11は、仮の動作プログラムとして、構成機器210を仮想的に動作させる際の構成機器210の動作軌跡を生成する。
【0024】
一例として、
図5を参照して、ロボットシステム200が、ロボットA、BおよびCと、加工軸A、BおよびCと、を含む場合の動作軌跡について説明する。ロボットシステム200の一連の動作軌跡として、領域Aでは、ロボットAが教示点A1、A2、およびA3を通過するように移動し、教示点A1、A2、およびA3において、ロボットAに取り付けられる加工軸Aが、溶接の処理を実行する。領域Bおよび領域Cについても同様である。また、領域Aでは、ロボットBおよびロボットCがインターロックされている。また、領域Aでは、ロボットAは、動作状態であり、ロボットBおよびロボットCは待機状態である。また、領域Aでは、ロボットAに取り付けられている加工軸Aの電源231は投入され、ロボットBに取り付けられている加工軸Bの電源231、および、ロボットCに取り付けられている加工軸Cの電源231は遮断されている。仮の動作プログラムには、このようなロボットシステム200の一連の動作が定義されている。なお、加工軸230がスポット溶接を行う場合、スポット溶接の加工圧力の制御は、ロボット220の関節に配置されているサーボモータを制御することにより行われる。また、スポット溶接のための溶接電流の制御は、ロボットコントローラ221により制御される。たとえば、領域Aの加工軸Aがスポット溶接を行う場合、領域Aでの動作に対して、スポット溶接の加工圧力の制御、および、溶接電流の制御が仮の動作プログラムに定義される。
【0025】
ステップS3において、本実施形態では、動作選択部12は、生成された動作軌跡の領域ごとに、消費電力量を重視する動作と、構成機器210の精度を重視する動作と、構成機器210の動作速度を重視する動作と、のうちのいずれの動作を実行させるかの選択を受け付ける。たとえば、作業者が、キーボードおよびマウスなどを操作することにより、いずれかの動作を選択する。また、たとえば、領域Aでは、消費電力量を重視する動作が選択される。領域Bでは、構成機器210の精度を重視する動作が選択される。領域Cでは、構成機器210の動作速度を重視する動作が選択される。ワークを搬送する場合の動作軌跡では、教示点を正確に通過するように精度要求される教示点と、精度に対して裕度をもつ教示点とがある。後者の精度に対して裕度を持つ教示点に対しては、消費電力量を小さくすることを優先する。このように、精度に対して裕度をもつ教示点に対しては、消費電力量を重視する動作が選択される。また、精度要求される教示点では、構成機器210の精度を重視する動作が選択される。この場合、精度に対して裕度を持つ動作に比べて、ロボット220の消費電力量は大きくなる。構成機器210の動作速度を重視する動作では、ロボット220が高速で動作されることにより、ロボット220の消費電力量は大きくなる。たとえば、ロボット220に所定の作業を実行させる場合において、ロボット220の動作時間が最小となるようなロボット220の動作が選択される。また、構成機器210の精度を重視する動作および構成機器210の動作速度を重視する動作の両方が選択された場合のように、動作軌跡の中で精度が要求され、かつ、この教示点を高速で動作する必要がある場合は、ロボット220の能力が最大化される制御が行われる。この結果、ロボット220の消費電力は大きくなるが、このような領域をミニマム化するように動作軌跡を作成することにより、ロボット220の消費電力を低減することができる。なお、ロボット220の動作速度は、教示点における指令速度および指令加速度を調整することにより変更される。
【0026】
また、インターロックされる状態が比較的多く、ロボット22の動作を急激に加減速しても、ロボットシステム200の一連の工程のサイクルタイムが短縮されない場合、構成機器210の消費電力量を重視する動作を選択して、ロボット22の動作をなだらかに加減速するように動作プログラムを修正すればよい。これにより、ロボットシステム200の消費電力量を低減することが可能になる。また、ロボット22を比較的大きく移動させる場合には、構成機器210の精度を重視する動作および構成機器210の動作速度を重視する動作が選択される領域を少なくし、構成機器210の消費電力量を重視する動作が選択される領域を多くして、精度および動作速度と、消費電力量とのバランスをとることが可能になる。また、ロボット22を比較的大きく移動させる場合においては、ロボット22が移動する動作軌跡を最短にするような動作軌跡を生成することが消費電力を低減する観点において効果的である。また、ロボット22のアームが自重方向に動作可能な場合は、回生エネルギが得られるように動作軌跡を生成することが消費電力を低減する観点において効果的である。
【0027】
ステップS4において、プログラム動作部13は、生成された仮の動作プログラムに従って複数の構成機器210を仮想的に動作させる。
【0028】
ステップS5およびステップS6において、本実施形態では、消費電力量算出部14は、生成された仮の動作プログラムに従って複数の構成機器210を仮想的に動作させた際のロボットシステム200の消費電力量をシミュレーションする。具体的には、ステップS5において、消費電力量算出部14は、ロボットシステム200に含まれる複数のロボット220の消費電力量を、シミュレーションモデルMaを用いて個々にシミュレーションする。また、消費電力量算出部14は、ロボットシステム200に含まれる複数の加工軸230の消費電力量を、シミュレーションモデルMbを用いて個々にシミュレーションする。たとえば、消費電力量算出部14は、ロボット220を駆動した際に、モータに流れる電流値、サーボアンプに流れる電流値、および、ロボットコントローラ221に流れる電流値などに基づいて、ロボット220の消費電力量をシミュレーションする。また、消費電力量算出部14は、ロボットコントローラ221が制御する溶接トーチなどの加工軸230に供給する電源231の消費電力量をシミュレーションする。また、シミュレーションモデルMaおよびMbには、消費電力量をシミュレーションするためのパラメータが含まれている。シミュレーションモデルMaおよびMbに含まれるパラメータは、たとえば、モータに指令される指令速度に対して消費される電力量を演算する際に使用されるゲインや、モータに指令される指令加速度に対して消費される電力量を演算する際に使用されるゲインなどである。また、算出された複数の構成機器210の各々の消費電力量が表示部30に表示される。
【0029】
本実施形態では、消費電力量算出部14は、領域ごとに重視する動作が選択された動作軌跡に従って複数の構成機器210を動作させた際のロボットシステム200の消費電力量をシミュレーションする。
図5に示す例では、領域Aでは、ロボット220が消費電力量を重視する動作を行うものとして、消費電力量がシミュレーションされる。また、各領域A、BおよびCを通過したときの通算の消費電力をミニマム化するように、各領域A、BおよびCに適した動作がシミュレーションの結果に基づいて選択される。
【0030】
本実施形態では、消費電力量算出部14は、インターロックされる構成機器210を含むロボットシステム200の消費電力量をシミュレーションする。
図5に示す例では、領域Aでは、ロボットBおよびCがインターロックされているとして、消費電力量がシミュレーションされる。なお、
図5に示す例では、各領域内で動作するロボット220の消費電力をシミュレーションにより推定しているが、インターロックされ待機しているロボット220の消費電力もシミュレーションにより推定し、必要に応じてロボット220に機械的ブレーキをかけて待機しているロボット220の姿勢を保持するためのエネルギをミニマム化するシミュレーションも可能である。
【0031】
本実施形態では、消費電力量算出部14は、動作状態の構成機器210と待機状態の構成機器210とを含むロボットシステム200の消費電力量をシミュレーションする。
図5に示す例では、領域Aでは、ロボットAは動作状態として消費電力量がシミュレーションされ、ロボットBおよびCは待機状態として消費電力量がシミュレーションされる。
【0032】
本実施形態では、消費電力量算出部14は、電源の遮断されている構成機器210を含むロボットシステム200の消費電力量をシミュレーションする。
図5に示す例では、領域Aでは、加工軸Aは、電源Aが投入されているとし消費電力量がシミュレーションされ、加工軸Bおよび加工軸Cの各々の電源は遮断されているとして、消費電力量がシミュレーションされる。
【0033】
また、本実施形態では、消費電力量算出部14は、構成機器210の回生エネルギの差分を含めた構成機器210の消費電力量を時系列でシミュレーションする。構成機器210の消費電力量、および、回生エネルギは、時々刻々変化している。消費電力量算出部14は、時々刻々変化している、回生エネルギの差分を含めた消費電力量を時系列で算出する。また、消費電力量算出部14は、関節に配置されたモータの加速度の時間的変化、関節に配置されたモータの速度の時間的変化、加速度の最大値、速度の最大値、加速度の平均値、速度の平均値、および、消費電力量の累積値を、時系列でシミュレーションする。
【0034】
ステップS6において、消費電力量算出部14は、ロボットシステム200に含まれる複数の構成機器210の消費電力量を合算することにより、ロボットシステム200の消費電力量を算出する。また、算出されたロボットシステム200の消費電力量が表示部30に表示される。
【0035】
ステップS7において、作業者は、算出された複数の構成機器210の各々の消費電力量、および、ロボットシステム200の消費電力量が、適切であるか否かを判断する。作業者が適切でないと判断した場合、入力部20を用いて、適切でないとの情報が入力される。この場合、ステップS2に戻る。すなわち、本実施形態では、入力部20は、消費電力量のシミュレーションの結果に基づくロボットシステム200の動作に関する情報の修正の入力を受け付ける。具体的には、消費電力量算出部14によってシミュレーションされたロボットシステム200の消費電力量のシミュレーション結果が、表示部30に表示される。作業者は、表示部30に表示されたシミュレーション結果に基づいて、ロボットシステム200の動作に関する情報を再入力する。たとえば、作業者は、ロボットシステム200の消費電力量がより小さくなるように、インターロックの情報、動作時と待機時との情報、電源の遮断の情報、各動作領域における重視する動作などを修正する。動作プログラム生成部11は、修正されたロボットシステム200の動作に関する情報に基づいて、仮の動作プログラムを修正する。消費電力量算出部14は、修正された仮の動作プログラムに従ってロボットシステム200の消費電力量をシミュレーションする。
【0036】
ステップS7において、作業者が適切であると判断した場合、入力部20を用いて、適切であるとの情報が入力される。動作プログラム生成部11は、修正されたロボットシステム200の動作に関する情報に基づいて、実際の動作プログラムを生成する。
【0037】
また、本実施形態では、記憶部40は、動作プログラム生成部11により生成された実際の動作プログラムを記憶する。すなわち、仮の動作プログラムが修正されて、ロボットシステム200の消費電力量のシミュレーション結果が、作業者にとって許容できるものとなった場合、仮の動作プログラムが実際の動作プログラムとして記憶部40に記憶される。そして、ステップS8に進む。
【0038】
ステップS8において、本実施形態では、動作プログラム出力部15は、生成された実際の動作プログラムを、ロボットシステム200に出力する。たとえば、動作プログラム出力部15は、入力部20を用いた作業者の操作に基づいて、実際の動作プログラムを、ロボットシステム200に出力する。また、動作プログラム出力部15は、ロボットシステム200のライン制御盤250に実際の動作プログラムを出力する。これにより、実際の動作プログラムに従ってロボットシステム200が動作する。
【0039】
ステップS9において、制御部10は、構成機器210の消費電力量、構成機器210の精度および構成機器210の動作速度を監視する。たとえば、複数の構成機器210の各々に電流計が配置されており、受信部50は、電流計によって検出された電流の測定値を受信する。制御部10において、受信部50によって受信された電流値に基づいて実際の消費電力量が算出される。また、構成機器210は、構成機器210自身が消費した電力量のデータを有している場合がある。この構成機器210が有している消費電力量に基づいて、複数の構成機器210を実際に動作させた際の実際の消費電力量が取得されてもよい。また、構成機器210には、モータの回転角度を検出するエンコーダが配置されている。受信部50は、エンコーダによって検出されたモータの回転角度を受信する。制御部10において、受信部50によって受信されたモータの回転角度に基づいて、構成機器210の精度および構成機器210の動作速度が算出される。
【0040】
ステップS10において、本実施形態では、誤差算出部16は、動作プログラム出力部15から出力された実際の動作プログラムに従って、複数の構成機器210を実際に動作させた際の実際の消費電力量と、シミュレーションによって算出された消費電力量と、の誤差を算出する。
【0041】
ステップS11において、作業者は、誤差算出部16により算出された誤差が、適切であるか否かを判断する。誤差は、たとえば、表示部30に表示される。作業者が適切でないと判断した場合、入力部20を用いて、適切でないとの情報が入力される。この場合、ステップS12に進む。作業者が適切であると判断した場合、入力部20を用いて、適切であるとの情報が入力される。この場合、動作プログラム生成装置100の動作は終了する。
【0042】
ステップS12において、本実施形態では、シミュレーションモデル修正部17は、誤差算出部16により算出された誤差に基づいて、ロボットシステム200の消費電力量をシミュレーションする際のシミュレーションモデルMaおよびMbに含まれるパラメータを修正する。シミュレーションモデル修正部17は、シミュレーションモデルMaおよびMbに含まれる、モータに指令される指令速度に対して消費される電力量を演算する際のゲインや、モータに指令される指令加速度に対して消費される電力量を演算する際のゲインなどを修正する。シミュレーションモデル修正部17は、たとえば、フィードバック制御により、シミュレーションモデルMaおよびMbに含まれるパラメータを修正する。
【0043】
本実施形態では、ステップS13において、機械学習部18は、誤差算出部16により算出された誤差を小さくするように、シミュレーションモデルMaおよびMbに含まれるパラメータを機械学習により最適化する。たとえば、シミュレーションモデルMaおよびMbに含まれるパラメータの修正が複数回繰り返し行われることにより、パラメータと誤差とが機械学習部18により学習される。そして、機械学習部18は、誤差算出部16によって算出される誤差が最小化されるように、機械学習によりパラメータを最適化する。たとえば、機械学習部18は、誤差算出部16によって算出される誤差が予め定められた閾値よりも小さくなるように、パラメータを決定する。そして、動作プログラム生成装置100の動作は終了する。
【0044】
なお、シミュレーションモデルMaおよびMbのパラメータが修正された後、ステップS5に戻って、ロボットシステム200の消費電力量が再度シミュレーションされてもよい。
【0045】
[本実施形態の効果]
動作プログラム生成装置100は、生成された仮の動作プログラムに従って複数の構成機器210を仮想的に動作させた際のロボットシステム200の消費電力量をシミュレーションする消費電力量算出部14を備える。これにより、ロボットシステム200の仮の動作プログラムに基づいて、ロボットシステム200の消費電力量の全体をシミュレーションすることができる。そして、入力部20は、消費電力量のシミュレーションの結果に基づくロボットシステム200の動作に関する情報の修正の入力を受け付け、動作プログラム生成部11は、修正されたロボットシステム200の動作に関する情報に基づいて、実際の動作プログラムを生成する。これにより、消費電力量のシミュレーションの結果に基づいて修正された適切かつ精度の高い実際の動作プログラムが生成される。その結果、ロボットシステム200の動作プログラムを、消費電力量の観点から適切かつ高精度に生成できる。
【0046】
動作プログラム生成部11は、仮の動作プログラムとして、構成機器210を仮想的に動作させる際の構成機器210の動作軌跡を生成する。動作プログラム生成装置100は、生成された動作軌跡の領域ごとに、消費電力量を重視する動作と、構成機器210の精度を重視する動作と、構成機器210の動作速度を重視する動作と、のうちのいずれの動作を実行させるかの選択を受け付ける動作選択部12を備える。これにより、動作軌跡の領域ごとに重視する動作を異ならせることができる。その結果、全ての動作軌跡において、消費電力量のみの観点から動作プログラムを生成する場合に比べて、より適切に動作プログラムを生成できる。
【0047】
消費電力量算出部14は、領域ごとに重視する動作が選択された動作軌跡に従って複数の構成機器210を動作させた際のロボットシステム200の消費電力量をシミュレーションする。これにより、動作軌跡の領域ごとに重視する動作が異なるロボットシステム200の消費電力量をシミュレーションできる。
【0048】
入力部20は、ロボットシステム200の動作に関する情報として、複数の構成機器210のうちの少なくとも1つの構成機器210のインターロックの情報の入力を受け付け、消費電力量算出部14は、インターロックされる構成機器210を含むロボットシステム200の消費電力量をシミュレーションする。ここで、複数の構成機器210が一斉に動作する場合、インターロックにより構成機器210の動作停止および動作開始が頻繁に繰り返されることが想定される。そこで、入力部20がインターロックの情報の入力を受け付けることにより、インターロックによる構成機器210の停止状態が最小化し、構成機器210の停止時間および構成機器210の加減速の回数を最小化するように、動作プログラムを修正することができる。その結果、ロボットシステム200全体の消費電力量の最小化を実現しながら、ロボットシステム200の処理能力の最適化を図ることができる。
【0049】
入力部20は、ロボットシステム200の動作に関する情報として、構成機器210の動作時と待機時との情報の入力を受け付け、消費電力量算出部14は、動作状態の構成機器210と待機状態の構成機器210とを含むロボットシステム200の消費電力量をシミュレーションする。ここで、ロボットシステム200の動作中においては、構成機器210が動作状態になる場合と、待機状態になる場合とがある。構成機器210の動作状態の消費電力量と待機状態の消費電力量とは、互いに異なる。そこで、入力部20が構成機器210の動作時と待機時との情報の入力を受け付けることにより、ロボットシステム200の動作プログラムを、消費電力量の観点からより適切に生成できる。
【0050】
入力部20は、ロボットシステム200の動作に関する情報として、構成機器210に対する電源の遮断の情報の入力を受け付け、消費電力量算出部14は、電源の遮断されている構成機器210を含むロボットシステム200の消費電力量をシミュレーションする。ここで、ロボットシステム200の動作中においては、構成機器210に対する電源を遮断してもよい場合がある。そこで、入力部20が構成機器210に対する電源の遮断の情報の入力を受け付けることにより、ロボットシステム200の動作プログラムを、消費電力の観点からより適切に生成できる。
【0051】
消費電力量算出部14は、構成機器210の回生エネルギの差分を含めてロボットシステム200の消費電力量をシミュレーションする。たとえば、構成機器210としてのロボット220の関節にはモータが配置されている。関節の回転の減速時には、モータによって回生エネルギが発電される。この回生エネルギをモータの駆動の電力として使用される場合がある。そこで、消費電力量算出部14が、構成機器210の回生エネルギの差分を含めてロボットシステム200の消費電力量をシミュレーションすることにより、回生エネルギを使用するロボット220に対して、正確に消費電力量を算出することができる。
【0052】
消費電力量算出部14は、構成機器210の回生エネルギの差分を含めた構成機器210の消費電力量を時系列でシミュレーションする。これにより、時々刻々変化する消費電力量をシミュレーションにより把握することができるので、ロボットシステム200の動作プログラムを、消費電力量の観点からより適切に生成できる。
【0053】
動作プログラム生成装置100は、動作プログラム生成部11により生成された実際の動作プログラムが記憶される記憶部40を備える。これにより、実際のロボットシステム200を、記憶部40に記憶されている動作プログラムに従って動作させることができる。
【0054】
動作プログラム生成装置100は、生成された実際の動作プログラムを、ロボットシステム200に出力する動作プログラム出力部15と、動作プログラム出力部15から出力された実際の動作プログラムに従って、複数の構成機器210を実際に動作させた際の実際の消費電力量と、シミュレーションによって算出された消費電力量と、の誤差を算出する誤差算出部16と、を備える。これにより、作業者は、誤差に基づいて、シミュレーションの正確さを判定することができる。
【0055】
動作プログラム生成装置100は、誤差算出部16により算出された誤差に基づいて、ロボットシステム200の消費電力量をシミュレーションする際のシミュレーションモデルMaおよびMbに含まれるパラメータを修正するシミュレーションモデル修正部17を備える。これにより、シミュレーションモデルMaおよびMbをより正確に修正することができる。
【0056】
動作プログラム生成装置100は、誤差算出部16により算出された誤差を小さくするように、シミュレーションモデルMaおよびMbに含まれるパラメータを機械学習により最適化する機械学習部18を備える。これにより、シミュレーションモデルMaおよびMbに含まれるパラメータが比較的多い場合など、人手によってパラメータの調整が困難な場合でも、機械学習によりパラメータを適切に調整することができる。
【0057】
構成機器210は、ロボット220に加えて、加工軸230を含む。これにより、ロボット220に加えて、加工軸230を含むロボットシステム200の動作プログラムを、消費電力量の観点から適切に生成できる。
【0058】
[変形例]
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更(変形例)が含まれる。
【0059】
上記実施形態では、動作選択部12が、消費電力量を重視する動作と、構成機器210の精度を重視する動作と、構成機器210の動作速度を重視する動作と、のうちのいずれの動作を実行させるかの選択を受け付ける例を示したが、本開示はこれに限られない。たとえば、動作選択部12が、消費電力量を重視する動作と、構成機器210の精度を重視する動作および構成機器210の動作速度を重視する動作のうちの一方と、を受け付けてもよい。
【0060】
上記実施形態では、入力部20が、構成機器210のインターロックの情報、構成機器210の動作時と待機時との情報、および、構成機器210に対する電源の遮断の情報の入力を受け付ける例を示したが、本開示はこれに限られない。たとえば、入力部20が、これらの情報のうちの1つのみまたは2つのみを受け付けてもよい。
【0061】
上記実施形態では、消費電力量算出部14が、構成機器210の回生エネルギの差分を含めてロボットシステム200の消費電力量をシミュレーションする例を示したが、本開示はこれに限られない。たとえば、消費電力量算出部14が、構成機器210の回生エネルギの差分を考慮しないでロボットシステム200の消費電力量をシミュレーションしてもよい。
【0062】
上記実施形態では、誤差算出部16により算出された、実際の消費電力量とシミュレーションによって算出された消費電力量との誤差に基づいて、シミュレーションモデル修正部17がシミュレーションモデルMaおよびMbに含まれるパラメータを修正する例を示したが、本開示はこれに限られない。たとえば、動作プログラム生成装置100が、誤差算出部16およびシミュレーションモデル修正部17を備えていなくてもよい。この場合、シミュレーションモデルMaおよびMbに含まれるパラメータは修正されない。
【0063】
上記実施形態では、ロボットシステム200に、ロボット220および加工軸230が含まれる例を示したが、本開示はこれに限られない。ロボットシステム200に、加工軸230が含まれずに、複数のロボット220が含まれているロボットシステム200に本開示を適用することも可能である。
【0064】
上記実施形態では、ステップS7において、作業者が、算出された複数の構成機器210の各々の消費電力量、および、ロボットシステム200の消費電力量が、適切でないと判断した場合、ステップS2において、作業者が、入力部20を用いて、修正された、ロボットシステム200の動作に関する情報を入力する例を示したが、本開示はこれに限られない。たとえば、算出された複数の構成機器210の各々の消費電力量、および、ロボットシステム200の消費電力量が、適切でない場合、機械学習などにより、ロボットシステム200の動作に関する情報が最適化されてもよい。
【0065】
上記実施形態では、ステップS1において、作業点の入力、ワークの情報の入力および設備のデータの入力が作業者によって行われる例を示したが、本開示はこれに限られない。たとえば、機械学習によって、作業点、ワークの情報および設備のデータが最適化されてもよい。
【0066】
本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に使用される。
【0067】
[態様]
上記した例示的な実施形態は、以下の態様の具体例であることが当業者により理解される。
【0068】
(項目1)
ロボットを含む構成機器を複数有するロボットシステムの動作に関する情報の入力を受け付ける入力部と、
入力された動作に関する情報に基づいて仮の動作プログラムを生成する動作プログラム生成部と、
生成された前記仮の動作プログラムに従って前記複数の構成機器を仮想的に動作させた際の前記ロボットシステムの消費電力量をシミュレーションする消費電力量算出部と、を備え、
前記入力部は、消費電力量のシミュレーションの結果に基づく前記ロボットシステムの動作に関する情報の修正の入力を受け付け、
前記動作プログラム生成部は、修正された前記ロボットシステムの動作に関する情報に基づいて、実際の動作プログラムを生成する、動作プログラム生成装置。
【0069】
(項目2)
前記動作プログラム生成部は、前記仮の動作プログラムとして、前記構成機器を仮想的に動作させる際の前記構成機器の動作軌跡を生成し、
前記生成された動作軌跡の領域ごとに、前記消費電力量を重視する動作と、前記構成機器の精度を重視する動作と、前記構成機器の動作速度を重視する動作と、のうちのいずれの動作を実行させるかの選択を受け付ける動作選択部を備える、項目1に記載の動作プログラム生成装置。
【0070】
(項目3)
前記消費電力量算出部は、領域ごとに重視する動作が選択された前記動作軌跡に従って前記複数の構成機器を動作させた際の前記ロボットシステムの消費電力量をシミュレーションする、項目2に記載の動作プログラム生成装置。
【0071】
(項目4)
前記入力部は、前記ロボットシステムの動作に関する情報として、前記複数の構成機器のうちの少なくとも1つの構成機器のインターロックの情報の入力を受け付け、
前記消費電力量算出部は、インターロックされる前記構成機器を含む前記ロボットシステムの消費電力量をシミュレーションする、項目1から項目3までのいずれか1項に記載の動作プログラム生成装置。
【0072】
(項目5)
前記入力部は、前記ロボットシステムの動作に関する情報として、前記構成機器の動作時と待機時との情報の入力を受け付け、
前記消費電力量算出部は、動作状態の前記構成機器と待機状態の前記構成機器とを含む前記ロボットシステムの消費電力量をシミュレーションする、項目1から項目4までのいずれか1項に記載の動作プログラム生成装置。
【0073】
(項目6)
前記入力部は、前記ロボットシステムの動作に関する情報として、前記構成機器に対する電源の遮断の情報の入力を受け付け、
前記消費電力量算出部は、前記電源の遮断されている前記構成機器を含む前記ロボットシステムの消費電力量をシミュレーションする、項目1から項目5までのいずれか1項に記載の動作プログラム生成装置。
【0074】
(項目7)
前記消費電力量算出部は、前記構成機器の回生エネルギの差分を含めて前記ロボットシステムの消費電力量をシミュレーションする、項目1から項目6までのいずれか1項に記載の動作プログラム生成装置。
【0075】
(項目8)
前記消費電力量算出部は、前記構成機器の回生エネルギの差分を含めた前記構成機器の消費電力量を時系列でシミュレーションする、項目7に記載の動作プログラム生成装置。
【0076】
(項目9)
前記動作プログラム生成部により生成された前記実際の動作プログラムが記憶される記憶部を備える、項目1から項目8までのいずれか1項に記載の動作プログラム生成装置。
【0077】
(項目10)
生成された前記実際の動作プログラムを、前記ロボットシステムに出力する動作プログラム出力部と、
前記動作プログラム出力部から出力された前記実際の動作プログラムに従って、前記複数の構成機器を実際に動作させた際の実際の消費電力量と、シミュレーションによって算出された消費電力量と、の誤差を算出する誤差算出部と、を備える、項目1から項目9までのいずれか1項に記載の動作プログラム生成装置。
【0078】
(項目11)
前記誤差算出部により算出された前記誤差に基づいて、前記ロボットシステムの消費電力量をシミュレーションする際のシミュレーションモデルに含まれるパラメータを修正するシミュレーションモデル修正部を備える、項目10に記載の動作プログラム生成装置。
【0079】
(項目12)
前記誤差算出部により算出された前記誤差を小さくするように、前記シミュレーションモデルに含まれるパラメータを機械学習により最適化する機械学習部を備える、項目11に記載の動作プログラム生成装置。
【0080】
(項目13)
前記構成機器は、前記ロボットに加えて、加工軸を含む、項目1から項目12までのいずれか1項に記載の動作プログラム生成装置。
【0081】
(項目14)
ロボットを含む構成機器を複数有するロボットシステムの動作に関する情報の入力を受け付けることと、
入力された動作に関する情報に基づいて仮の動作プログラムを生成することと、
生成された前記仮の動作プログラムに従って前記複数の構成機器を仮想的に動作させた際の前記ロボットシステムの消費電力量をシミュレーションすることと、
消費電力量のシミュレーションの結果に基づく前記ロボットシステムの動作に関する情報の修正を受け付けることと、
修正された前記ロボットシステムの動作に関する情報に基づいて、実際の動作プログラムを生成することと、を備える、動作プログラム生成方法。
【符号の説明】
【0082】
11 動作プログラム生成部
12 動作選択部
14 消費電力量算出部
15 動作プログラム出力部
16 誤差算出部
17 シミュレーションモデル修正部
18 機械学習部
20 入力部
40 記憶部
100 動作プログラム生成装置
200 ロボットシステム
210 構成機器
220 ロボット
230 加工軸
231 電源
Ma、Mb シミュレーションモデル