JP2022054043A - ロボットの制御パラメーターに関する表示を行う方法、プログラム、および情報処理装置 - Google Patents
ロボットの制御パラメーターに関する表示を行う方法、プログラム、および情報処理装置 Download PDFInfo
- Publication number
- JP2022054043A JP2022054043A JP2020161005A JP2020161005A JP2022054043A JP 2022054043 A JP2022054043 A JP 2022054043A JP 2020161005 A JP2020161005 A JP 2020161005A JP 2020161005 A JP2020161005 A JP 2020161005A JP 2022054043 A JP2022054043 A JP 2022054043A
- Authority
- JP
- Japan
- Prior art keywords
- index
- value
- parameter
- parameter set
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1651—Programme controls characterised by the control loop acceleration, rate control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Tourism & Hospitality (AREA)
- Evolutionary Computation (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
【課題】複数の評価指標について満足しうる値を実現できるようにパラメーターを設定する。【解決手段】(a)第1、第2指標を決定する。(b)あるパラメーターセットでロボットを動作させた場合の第1、第2指標の値を取得する。(c)第1、第2指標を含む関数を目的関数とする多目的最適化手法で、新たなパラメーターセットを決定する。(d)新たなパラメーターセットを使用した場合の第1、第2指標の値を取得する。(e)工程(c)、(d)を繰り返し、複数のパラメーターセットおよびその第1、第2指標の値を取得する。(f)複数のパラメーターセットのうち2以上につき、第1、第2指標の値に基づく表示を行う。第1パラメーターセットの第1指標の値は、第2パラメーターセットの第1指標の値よりも優れている。第2パラメーターセットの第2指標の値は、第1パラメーターセットの第2指標の値よりも優れている。【選択図】図11
Description
本開示は、ロボットの制御パラメーターに関する表示を行う方法、プログラム、および情報処理装置に関する。
従来、ロボットの制御パラメーターを設定する技術が存在する。特許文献1の技術においては、サーバコンピューターは、「動作時間短縮の優先」、「軌跡精度の優先」、「エネルギー消費量最小化の優先」などの最適化の目的に応じた複数の調整用パラメーターを導出する。計算された調整用パラメーターのそれぞれについて、最適化の効果が算出される。オペレーターは、それらの最適化の効果を確認し、いずれの調整用パラメーターを導入するか選択する。ロボット制御盤は、現状の調整用パラメーターのデータを、サーバコンピューターから受信した調整用パラメーターのデータに変更する。
特許文献1に記載された技術においては、それぞれ一つの目的に沿って最適化された複数の調整用パラメーターがオペレーターに提示され、オペレーターは、その中の1つの調整用パラメーターを選択する。
しかし、実際にロボットの動作を制御するパラメーターを設定する場合には、動作時間と軌跡精度など、トレードオフ関係にある複数の評価指標について、いずれも満足しうる値を実現できるように、パラメーターが設定される。このため、特許文献1の技術を使用した場合には、以下のような課題が生じる。たとえば、「動作時間短縮の優先」を最適化の目的として得られたパラメーターAについては、「軌跡精度」の値が、ユーザーにとって許容範囲外である場合がある。一方、「軌跡精度の優先」を最適化の目的として得られたパラメーターBについては、「動作時間」の値が、ユーザーにとって許容範囲外である場合がある。すなわち、特許文献1の技術においては、複数の評価指標について、いずれも満足しうる値を実現できるパラメーターが得られない可能性がある。
また、以下のような事態が生じる可能性もある。ユーザーは、当初は、「動作時間」を最優先の評価指標として考えていた。しかし、「動作時間短縮の優先」を最適化の目的として得られたパラメーターAについては、「動作時間」の値は十分、満足しうるものであったが、「軌跡精度」の値が、ユーザーにとって許容範囲外であった。一方、「軌跡精度」を最適化の目的として得られたパラメーターBについては、「動作時間」の値は、パラメーターAの「動作時間」の値よりも劣るものの、ユーザーにとって許容範囲内であった。また、「軌跡精度」の値も十分、満足しうるものであった。このため、ユーザーは、当初、最優先の評価指標として考えていた「動作時間」ではなく、「軌跡精度」を最適化の目的として得られたパラメーターBを採用した。すなわち、最終的に採用するパラメーターを決定する過程において、目的の変更を要する場合があり、手順が煩雑となる。
本願の発明者は、特許文献1の技術を改変して、複数の評価指標の重みづけ和を最適化の目的として最適化を行い、パラメーターの組を導出させる態様について、検討した。そのような態様によれば、一つの目的についての最適化処理によって、複数の評価指標についていずれも満足しうるパラメーターが得られるかもしれない。しかし、複数の評価指標の重みづけ和を得るために、複数の評価指標について、あらかじめ適切な重みを決定することは、容易ではない。
本開示の一形態によれば、ロボットのパラメーターに関する表示を行う方法が提供される。この方法は、(a)ロボットの制御結果を評価するための第1指標と第2指標を決定する工程と、(b)前記ロボットを制御するためのあるパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する工程と、(c)前記パラメーターセットならびに取得された前記第1指標の値および前記第2指標の値に基づいて、前記第1指標および前記第2指標を含む関数を目的関数とする多目的最適化手法を用いて、新たなパラメーターセットを決定する工程と、(d)前記新たなパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する工程と、(e)前記工程(c)および(d)を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する工程と、(f)前記複数のパラメーターセットのうちの2以上のパラメーターセットについて、それぞれの前記第1指標の値および前記第2指標の値に基づく表示を表示部に行う工程であって、前記2以上のパラメーターセットは、第1パラメーターセットと第2パラメーターセットを含み、前記第1パラメーターセットと前記第2パラメーターセットは、前記第1パラメーターセットの前記第1指標の値が、前記第2パラメーターセットの前記第1指標の値よりも優れていることと、前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れていることと、の少なくとも一方を満たす、工程と、を含む。
A.実施形態1:
A1.ロボットシステムの構成:
図1は、本開示の一実施形態のロボットシステムを示す説明図である。本開示の一実施形態としてのロボットシステムは、ロボット1~3と、制御装置40と、設定装置600を備えている。
A1.ロボットシステムの構成:
図1は、本開示の一実施形態のロボットシステムを示す説明図である。本開示の一実施形態としてのロボットシステムは、ロボット1~3と、制御装置40と、設定装置600を備えている。
制御装置40は、ロボット1~3を制御する。制御装置40は、ケーブルにより、ロボット1~3と通信可能に接続されている。制御装置40は、プロセッサーであるCPUと、RAMと、ROMと、を備えている。制御装置40のCPUは、ROMに記憶されたコンピュータープログラムをRAMにロードして実行することによって、ロボットを動作させる。
設定装置600は、ロボット1~3の動作を規定する動作プログラムを生成し、動作プログラムのパラメーターを設定する。設定装置600は、ケーブルにより、制御装置40と通信可能に接続されている。設定装置600によって生成された動作プログラムが、制御装置40に送信される。制御装置40は、設定装置600から受信した動作プログラムにしたがってロボット1~3を動作させる。設定装置600の構成については、後に説明する。
ロボット1~3は、教示を行うことにより各種作業が可能となる汎用ロボットである。より具体的には、ロボット1~3は、アームAに各種のエンドエフェクターを装着して使用される単腕ロボットである。ロボット1~3は、それぞれ異なるエンドエフェクター21,22,23を備える6軸ロボットである。本実施形態において、ロボット1~3においてアームAや軸の構成は等しい。
ロボット3を例に、ロボット1~3の構成を説明する。ロボット3は、基台Tと、6個のアーム部材A1~A6と、6個の関節J1~J6を備える。基台Tは作業台に固定されている。基台Tならびに6個のアーム部材A1~A6は、関節J1~J6によって連結されている。本実施形態において、関節J2、J3、J5は曲げ関節である。関節J1、J4、J6はねじり関節である。各関節J1~J6における回転軸を、本明細書において「作動軸」とも呼ぶ。
アームAにおいて先端に位置するアーム部材A6には、エンドエフェクターが装着されている。ロボット1~3は、6軸のアームAを駆動させることによって、エンドエフェクターをあらかじめ定められた範囲内の任意の位置に配置し、任意の姿勢、すなわち角度を持たせることができる。
ロボット1~3には、互いに異なるエンドエフェクターが取り付けられている。ロボット1に取りつけられているエンドエフェクターは、撮像部21である。撮像部21は、視野内の画像を撮像することができる。撮像部21は、露光時間と絞りを調整可能な機構を備えている。ロボット2に取りつけられているエンドエフェクターは、照明部22である。照明部22は、照射範囲に光を照射することができる。照明部22は、明るさを調整可能な機構を備えている。以下、撮像部21および照明部22を「光学系」とも呼ぶ。ロボット3に取り付けられているエンドエフェクターは、グリッパー23である。グリッパー23は、対象物Wを把持することができる。
本実施形態においては、ロボット1~3が備えるエンドエフェクターに対して相対的に固定された位置が、ツールセンターポイント(TCP)として定義される。TCPの位置はエンドエフェクターの基準の位置となる。TCPを原点として、TCP座標系が定義される。TCP座標系は、エンドエフェクターに対して相対的に固定された3次元直交座標系である。
アームAにおいて先端に位置するアーム部材A6には、エンドエフェクターとともに加速度センサーS1が装着されている。加速度センサーS1は、互いに垂直な3軸の方向についての加速度、ならびにそれらの軸周りの角速度の情報を取得することができる。それらの情報に基づいて、制御装置40は、エンドエフェクターの傾き、エンドエフェクターの速さおよび向きを含む移動速度、ならびにエンドエフェクターの現在位置を認識する。
ロボット1~3が設置された空間を規定する座標系を、本明細書において、「ロボット座標系」という。ロボット座標系は、水平面上において互いに直交するx軸とy軸と、鉛直上向きを正方向とするz軸とによって規定される3次元の直交座標系である(図1の上段左部参照)。z軸における負の方向は重力方向と一致する。x,y,z方向の位置により3次元空間における任意の位置を表現できる。x軸周りの回転角をRxで表し、y軸周りの回転角をRyで表し、z軸周りの回転角をRzで表す。Rx,Ry,Rz方向の回転角により3次元空間における任意の姿勢を表現できる。以下、「位置」と表記した場合、姿勢も意味し得る。
本実施形態において各座標系の関係はあらかじめ定義されている。その結果、各座標系における座標の値は、互いに変換可能である。すなわち、TCP座標系、センサー座標系、およびロボット座標系における位置やベクトルは、互いに変換可能である。ここでは技術の理解を容易にするため、制御装置40が、TCPの位置をロボット座標系で制御するものとして説明をする。
A2.ロボットの制御:
(1)ロボットの構成と制御装置の機能:
図2は、制御装置40の機能ブロックと、ロボット1~3と、光学系20との関係を示すブロック図である。ロボット1~3は、それぞれアクチュエーターとしてのモーターM1~M6と、センサーとしてのエンコーダーE1~E6とを備える。
(1)ロボットの構成と制御装置の機能:
図2は、制御装置40の機能ブロックと、ロボット1~3と、光学系20との関係を示すブロック図である。ロボット1~3は、それぞれアクチュエーターとしてのモーターM1~M6と、センサーとしてのエンコーダーE1~E6とを備える。
モーターM1~M6は、それぞれ関節J1~J6を駆動する。ロボットのアームAの制御は、具体的には、モーターM1~M6を制御することにより行われる。各モーターM1~M6に電力を供給する電源線には、それぞれ電流計が備えられている。制御装置40は、それらの電流計を介して、各モーターM1~M6に供給された電流を計測することができる。エンコーダーE1~E6は、それぞれモーターM1~M6の回転角度を検出する。
制御装置40は、記憶部44を備える。制御装置40は、検出部42、および制御部43として機能する。
検出部42は、光学系20を構成する撮像部21と照明部22とに接続されている。検出部42は、対象物を検出し、対象物の位置および姿勢を特定する。制御部43は、ロボット1~3のエンドエフェクターの位置制御を行う。以下で、エンドエフェクターの位置制御について、説明する。
(2)ロボットのエンドエフェクターの位置制御:
制御部43においては、モーターM1~M6の回転角度の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1が、図示しない記憶媒体に記憶されている(図2の中段右部参照)。制御部43においては、さらに、座標系同士の対応関係U2が、図示しない記憶媒体に記憶されている。なお、対応関係U1,U2は記憶部44に記憶されていてもよい。
制御部43においては、モーターM1~M6の回転角度の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1が、図示しない記憶媒体に記憶されている(図2の中段右部参照)。制御部43においては、さらに、座標系同士の対応関係U2が、図示しない記憶媒体に記憶されている。なお、対応関係U1,U2は記憶部44に記憶されていてもよい。
制御部43は、対応関係U2に基づいて、任意の座標系におけるベクトルを、他の座標系におけるベクトルに変換することができる。たとえば、制御部43は、加速度センサーS1の出力に基づいて、センサー座標系でのロボット1~3の加速度を取得し、ロボット座標系におけるTCPの加速度に変換することができる。
制御部43は、アームAを駆動することによって、ロボット1~3の各部位の位置を制御する。制御部43は、機能部としての位置制御部43aおよびサーボ43dを備えている(図2中段参照)。
(i)サーボ43dにおける処理:
サーボ43dは、サーボ制御を実行する。より具体的には、サーボ43dは、エンコーダーE1~E6の出力が示すモーターM1~M6の回転角度Daと、制御目標である目標角度Dtと、を一致させるフィードバック制御を実行する。サーボ43dは、回転角度Daと目標角度Dtとの偏差De、その偏差Deの積分、およびその偏差Deの微分を使用して、位置についてのPID制御を実行する。図2において、比例ゲインKpp、積分ゲインKpi、微分ゲインKpdを示す(図2の中段左部参照)。
サーボ43dは、サーボ制御を実行する。より具体的には、サーボ43dは、エンコーダーE1~E6の出力が示すモーターM1~M6の回転角度Daと、制御目標である目標角度Dtと、を一致させるフィードバック制御を実行する。サーボ43dは、回転角度Daと目標角度Dtとの偏差De、その偏差Deの積分、およびその偏差Deの微分を使用して、位置についてのPID制御を実行する。図2において、比例ゲインKpp、積分ゲインKpi、微分ゲインKpdを示す(図2の中段左部参照)。
サーボ43dは、上記Kpp,Kpi,Kpdを使用した位置についてのPID制御の出力と、回転角度Daの微分との偏差、その偏差の積分、その偏差の微分を使用して、速度についてのPID制御を実行する。図2において、比例ゲインKvp、積分ゲインKvi、微分ゲインKvdを示す(図2の中段左部参照)。
以上の処理の結果、制御量Dcが決定される。制御量Dcは、モーターM1~M6のそれぞれについて決定される。制御部43は、各モーターM1~M6の制御量Dcで、各モーターM1~M6を制御する。制御部43がモーターM1~M6を制御する信号は、PWM(Pulse Width Modulation)変調された信号である。なお、サーボ43dが使用するサーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdは、変更されることができるパラメーターである。以下で、位置制御部43aにおける処理を説明する前に、ロボット1~3のパラメーターについて説明する。
(ii)ロボットのパラメーター:
記憶部44には、各種のパラメーター44aと、ロボット1~3を制御するためのロボットプログラム44bと、が記憶されている(図2の中段左部参照)。ロボットプログラム44bは、主に、ロボット1~3が実施する作業のシーケンス、すなわち、動作の順序を示す。ロボットプログラム44bは、あらかじめ定義されたコマンドの組み合わせによって記述される。パラメーター44aは、各動作を実現するために必要とされる具体的な値である。パラメーター44aは、各コマンドの引数として記述される。サーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdは、パラメーター44aの一部である。
記憶部44には、各種のパラメーター44aと、ロボット1~3を制御するためのロボットプログラム44bと、が記憶されている(図2の中段左部参照)。ロボットプログラム44bは、主に、ロボット1~3が実施する作業のシーケンス、すなわち、動作の順序を示す。ロボットプログラム44bは、あらかじめ定義されたコマンドの組み合わせによって記述される。パラメーター44aは、各動作を実現するために必要とされる具体的な値である。パラメーター44aは、各コマンドの引数として記述される。サーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdは、パラメーター44aの一部である。
本実施形態において、パラメーター44aおよびロボットプログラム44bは、ロボットに対する教示によって生成され、記憶部44に記憶される。記憶部44に記憶されたパラメーター44aおよびロボットプログラム44bは、設定装置600によって修正され得る(図2の下段右部参照)。
図3は、動作パラメーター44cを示す図である。動作パラメーター44cは、パラメーター44aの一部を構成する。パラメーター44aは、動作パラメーター44cのほか、光学パラメーター44dを含む。光学パラメーター44dは、ロボット1の撮像部21とロボット2の照明部22を制御するためのパラメーターである。動作パラメーター44cは、ロボット1~3の動作に関するパラメーターである。動作パラメーター44cは、位置制御において参照される。ロボット1~3による一連の作業は複数の動作に分けられる。各動作を実施する際の動作パラメーター44cが、教示によって生成される。
動作パラメーター44cには、各動作における「始点」と「終点」を示すパラメーターが含まれる。始点と終点は、種々の座標系で定義されてよい。本実施形態においては、制御対象のロボットのTCPの「始点」および「終点」は、ロボット座標系で定義される。ロボット座標系の各軸についての並進位置と回転位置とが定義される。
動作パラメーター44cには、複数の動作におけるTCPの「加減速特性」が含まれている。加減速特性によって、ロボット1~3のTCPが各動作の始点から終点まで移動する際の、各時刻におけるTCPの速度が規定される。
図4は、加減速特性にしたがって制御されるTCPの速度の例を示す図である。図4においては、始点におけるTCPの移動開始時刻t1からTCPが終点に到達する時刻t4までの各時刻において、TCPの速度Vが規定されている。図4の例においては、時刻t1~t2までの期間においてTCPは目標加速度で加速し、時刻t2~t3の期間において一定の速度を保ち、時刻t3~t4までの期間においてTCPは目標加速度で減速する。本実施形態では、加速時の目標加速度の絶対値の大きさと、減速時の目標加速度の絶対値の大きさは、同じであるものとする。
加減速特性も種々の座標系で定義されてよい。本実施形態においては、加減速特性によって記述される速度は、制御対象のロボットのTCPについての速度である。このTCPの速度は、ロボット座標系で定義される。すなわち、ロボット座標系の各軸についての並進速度と回転速度(角速度)とが定義される。
ロボット1~3において、ある関節から先のロボットの構成部分の形状は、その先にある関節の角度によって変化しうる。このため、ロボット1~3のある関節から先のイナーシャ、すなわち慣性モーメントは、その先にある関節の角度によって変化しうる。たとえば、6個のアーム部材A1~A6が一列にならぶ姿勢を取ったとき、関節J1を基準とする回転のイナーシャは最大となる(図1参照)。このとき、6個のアーム部材A1~A6の全体の重心は、もっとも関節J1から遠い位置にある。一方、6個のアーム部材A1~A6の全体の重心がもっとも関節J1に近づく姿勢をアームAがとったとき、関節J1を基準とする回転のイナーシャは最小となる。モーターが実現しうる加速度は、モーターが動かす対象物のイナーシャによって変化する。このため、各関節を駆動するモーターに指示される加速度は、それぞれの関節から先のイナーシャに応じて、決定される(図4のt1~t2、t3~t4参照)。TCPの加速度は、以下のように定められる。
図5は、TCPの加減速特性に含まれるTCPの基準目標加速度Astと、イナーシャIの関係を示すグラフである。各関節J1~J6について、動作パラメーター44cの一つとして、制限最大加速度a0が定められている。制限最大加速度a0は、その関節から先のロボットの構成のイナーシャIが最大値Imaxであるときに、モーターが定常的に実現しうる加速度である。また、各関節J1~J6について、動作パラメーター44cの一つとして、上限最大加速度a1が定められている。上限最大加速度a1は、その関節から先のロボットの構成のイナーシャIが所定値Ith以下であるときに、モーターが定常的に実現しうる加速度である。イナーシャIthは、その関節から先のロボットの構成のイナーシャの最小値Iminと最大値Imaxとの間の値である。なお、制限最大加速度a0および上限最大加速度a1は、ロボットが、あらかじめ定められた定格負荷を保持していることを前提として、決定される。
図5から分かるように、その関節から先のイナーシャが所定値Ith以下であるとき、基準目標加速度Astは、一定値a1となる。その関節から先のイナーシャが所定値Ithより大きいとき、基準目標加速度Astは、傾きbで、イナーシャに対して直線的に減少する。すなわち、bは、基準目標加速度Astの変化率である。
b={(a0-a1)/(Imax-Ith)} ・・・ (Eq1)
b={(a0-a1)/(Imax-Ith)} ・・・ (Eq1)
さらに、基準目標加速度Astは、ロボットが保持している負荷の大きさに応じて補正される。TCPの目標加速度Atは、基準目標加速度Astに負荷補正係数CLを掛けることによって得られる(図4のt1~t2、t3~t4参照)。
At=CL×Ast ・・・ (Eq2)
At=CL×Ast ・・・ (Eq2)
負荷補正係数CLは、たとえば、以下の式で定められる。ロボットが保持している負荷wが定格負荷w0のとき、c=1である。ロボットが保持している負荷wが定格負荷w0より大きいとき、c<1である。ロボットが保持している負荷wが定格負荷w0より小さいとき、c>1である。
c={-(w-w0)/(wmax-wmin)}+1
=d×(w-w0)+1
ここで、wは、ロボットが保持している負荷の大きさである。
w0は、基準となる定格負荷である。
wmaxは、ロボットが保持し得る負荷の最大値である。
wminは、ロボットが保持し得る負荷の最小値である。
d={-1/(wmax-wmin)}
c={-(w-w0)/(wmax-wmin)}+1
=d×(w-w0)+1
ここで、wは、ロボットが保持している負荷の大きさである。
w0は、基準となる定格負荷である。
wmaxは、ロボットが保持し得る負荷の最大値である。
wminは、ロボットが保持し得る負荷の最小値である。
d={-1/(wmax-wmin)}
動作パラメーター44cの一部としての加減速特性のパラメーターには、制限最大加速度a0、上限最大加速度a1、基準目標加速度Astの傾きb、負荷補正係数CLの傾きdが含まれる(図3参照)。これらのパラメーターを後述する処理によって最適化することにより、作動軸の加減速の変化を、動作ごとに自動的に設定することができる。
動作パラメーター44cには、サーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdが含まれている(図3参照)。制御部43は、サーボ43dが適用するサーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdが、動作パラメーター44cとして記憶されている値になるように、調整する。本実施形態においてサーボゲインの値は、動作ごとに定められる。ただし、後述の最適化等において、サーボゲインはより短い期間ごとに定められてもよい。
(iii)位置制御部43aにおける処理:
位置制御部43aは、位置の制御を実行する。より具体的には、制御部43は、目標位置から線形演算で導出する回転角度で、モーターM1~M6を制御する。目標位置から線形演算で導出する回転角度でモーターM1~M6を制御するモードを、本明細書において「位置制御モード」という。
位置制御部43aは、位置の制御を実行する。より具体的には、制御部43は、目標位置から線形演算で導出する回転角度で、モーターM1~M6を制御する。目標位置から線形演算で導出する回転角度でモーターM1~M6を制御するモードを、本明細書において「位置制御モード」という。
位置制御モードで制御を行う場合、位置制御部43aは、微小動作ごとの目標位置Ltを決定する。微小動作ごとの目標位置Ltが得られると、制御部43は、目標位置Ltと対応関係U1に基づいて、ロボット座標系を規定する各軸の方向の動作位置を、各モーターM1~M6の目標の回転角度である目標角度Dtに変換する(図2の中段右部参照)。
サーボ43dは、パラメーター44aを参照してサーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdを取得し、目標角度Dtに基づいて、制御量Dcを導出する(図2の中段左部参照)。制御量Dcは、モーターM1~M6のそれぞれについて特定され、各モーターM1~M6の制御量DcでモーターM1~M6のそれぞれが制御される。この結果、各動作において、TCPは、微小動作ごとの目標位置Ltを経由し、加減速特性に従って始点から終点まで移動する。
A3.設定装置の構成:
図6は、設定装置600の構成を示すブロック図である。設定装置600は、ロボット1~3の動作を規定する動作プログラムを生成する(図1の下段右部参照)。技術の理解を容易にするため、図6においては、ロボット1~3のうち、ロボット3のみを示す。
図6は、設定装置600の構成を示すブロック図である。設定装置600は、ロボット1~3の動作を規定する動作プログラムを生成する(図1の下段右部参照)。技術の理解を容易にするため、図6においては、ロボット1~3のうち、ロボット3のみを示す。
設定装置600は、出力装置として機能するディスプレイ602と、入力装置として機能するキーボード604およびマウス605と、を備えたコンピューターである。設定装置600は、さらに、プロセッサーであるCPU610と、RAM630と、ROM640と、を備えている。CPU610は、記憶媒体に記憶されたコンピュータープログラムをRAM630にロードして実行することによって、パラメーターの最適化処理を含む様々な機能を実現する。設定装置600は、インターフェイスを介して、ロボット3の加速度センサーS1および制御装置40に接続されている。
A4.パラメーターの最適化処理:
(1)パラメーターの最適化処理の流れ:
図7は、ロボットのパラメーターを最適化する処理を示すフローチャートである。本実施形態においては、ロボット1~3の運用に先立って、動作パラメーター44cのうちの加減速特性を表すパラメーターとサーボゲインを表すパラメーターが最適化される(図3参照)。これらのパラメーターの組を、本明細書において「パラメーターセット」と呼ぶ。図7の処理は、設定装置600のCPU610(図1の下段右部および図6参照)によって実行される。
(1)パラメーターの最適化処理の流れ:
図7は、ロボットのパラメーターを最適化する処理を示すフローチャートである。本実施形態においては、ロボット1~3の運用に先立って、動作パラメーター44cのうちの加減速特性を表すパラメーターとサーボゲインを表すパラメーターが最適化される(図3参照)。これらのパラメーターの組を、本明細書において「パラメーターセット」と呼ぶ。図7の処理は、設定装置600のCPU610(図1の下段右部および図6参照)によって実行される。
ステップS200においては、CPU610は、ユーザーからの指示に応じて、加減速特性とサーボゲインを最適化する動作を決定する。ここでは、ロボット3のグリッパー23で保持している対象物Wをある地点から他の地点まで移動させる動作が、最適化する動作として決定されたものとする(図1参照)。
ステップS205においては、CPU610は、ロボット3の制御結果を評価するための第1指標と第2指標を決定する。第1指標と第2指標は、以下の指標の中から決定される。
(I-1)動作時間:
動作時間は、動作の開始から終了までの所要時間である。ある制御において、動作時間が短いほど、その制御の評価は高い。動作時間は、動作の開始時および終了時のTCPの目標位置と、エンコーダーE1~E6(図2上段参照)から得られるTCPの各時刻の位置に基づいて、決定することができる。動作時間を計測するCPU610の機能部を、図6において、「動作時間計測部613a」として示す。
動作時間は、動作の開始から終了までの所要時間である。ある制御において、動作時間が短いほど、その制御の評価は高い。動作時間は、動作の開始時および終了時のTCPの目標位置と、エンコーダーE1~E6(図2上段参照)から得られるTCPの各時刻の位置に基づいて、決定することができる。動作時間を計測するCPU610の機能部を、図6において、「動作時間計測部613a」として示す。
(I-2)オーバーシュート量:
オーバーシュート量は、動作の終了時におけるTCPの位置ずれの最大値である。ある制御において、オーバーシュート量が小さいほど、その制御の評価は高い。
オーバーシュート量は、動作の終了時におけるTCPの位置ずれの最大値である。ある制御において、オーバーシュート量が小さいほど、その制御の評価は高い。
図8は、動作の終了時におけるTCPの位置を示すグラフである。オーバーシュート量OSは、ロボットのTCPの目標位置Ltと、オーバーシュートLmaxと、のずれとして計測される。TCPの位置ずれは、動作の終了時のTCPの目標位置Ltと、エンコーダーE1~E6(図2上段参照)から得られる動作の終了時前後のTCPの位置Lと、ロボットのアームの先端に設けられている加速度センサーS1の出力と、に基づいて、決定することができる。オーバーシュート量を計測するCPU610の機能部を、図6において、「オーバーシュート量計測部613b」として示す。
(I-3)動作の終了後の振動量:
振動量は、動作の終了後におけるTCPの位置ずれが、あらかじめ定められた値Lpm未満となる時刻Tsまでの、目標位置からの行き過ぎ量の絶対値の合計で評価される。ある制御において、動作の終了後の振動量が小さいほど、その制御の評価は高い。振動量を計測するCPU610の機能部を、図6において、「振動量計測部613c」として示す。
振動量は、動作の終了後におけるTCPの位置ずれが、あらかじめ定められた値Lpm未満となる時刻Tsまでの、目標位置からの行き過ぎ量の絶対値の合計で評価される。ある制御において、動作の終了後の振動量が小さいほど、その制御の評価は高い。振動量を計測するCPU610の機能部を、図6において、「振動量計測部613c」として示す。
(I-4)騒音レベル:
騒音レベルは、ロボットが動作を実行する際に発生する音の大きさである。ある制御において、騒音レベルが小さいほど、その制御の評価は高い。
騒音レベルは、ロボットが動作を実行する際に発生する音の大きさである。ある制御において、騒音レベルが小さいほど、その制御の評価は高い。
図9は、ロボットが動作を実行する際に発生する音の大きさ(dB)を、横軸を周波数として表したグラフである。騒音レベルは、以下のように決定することができる。すなわち、各ロボットの近傍に設けられたマイクによって、音を収集し、あらかじめ定められた周波数帯Rtに含まれる音の大きさ(エネルギー量)に基づいて、騒音レベルを決定することができる。「音の大きさ」の評価指標を定めることにより、ユーザーに取って不快な音を抑制するように、パラメーターを設定することができる。騒音レベルを計測するCPU610の機能部を、図6において、「騒音レベル計測部613d」として示す。
(I-5)推定寿命:
推定寿命Lは、以下の式(Eq3)に従って計算される。ある制御において、推定寿命が大きいほど、その制御の評価は高い。
推定寿命を計算するCPU610の機能部を、図6において、「推定寿命計算部613e」として示す。
推定寿命Lは、以下の式(Eq3)に従って計算される。ある制御において、推定寿命が大きいほど、その制御の評価は高い。
(I-6)トルク割合:
各モーターのトルク割合は、[動作中に出力軸に与えられたトルクの平均値]/「許容トルクの値」で得られる。「許容トルク」は、モーターが出力軸に連続的に与えることができるトルクである。「許容トルク」は、モーターごとに定められている。「動作中に出力軸に与えられたトルクの平均値」は、モーターM1~M6に流れる電流を計測する電流計の出力に基づいて、決定することができる。ある制御において、トルク割合が小さいほど、その制御の評価は高い。トルク割合を計算するCPU610の機能部を、図6において、「トルク割合計算部613f」として示す。
各モーターのトルク割合は、[動作中に出力軸に与えられたトルクの平均値]/「許容トルクの値」で得られる。「許容トルク」は、モーターが出力軸に連続的に与えることができるトルクである。「許容トルク」は、モーターごとに定められている。「動作中に出力軸に与えられたトルクの平均値」は、モーターM1~M6に流れる電流を計測する電流計の出力に基づいて、決定することができる。ある制御において、トルク割合が小さいほど、その制御の評価は高い。トルク割合を計算するCPU610の機能部を、図6において、「トルク割合計算部613f」として示す。
図10は、図7のステップS205において、設定装置600のディスプレイ602に表示されるユーザーインターフェイス画面I211を示す図である。ユーザーインターフェイス画面I211は、ボタンB11~B15と、選択窓D11,D12と、を含む。
ユーザーインターフェイス画面I211においては、ロボット3の制御結果を評価するための3個以上の指標がディスプレイ602に表示される。より具体的には、動作時間が上段に表示され、オーバーシュート量、振動量、騒音レベル、推定寿命、およびトルク割合が、下段に表示される。オーバーシュート量、振動量、騒音レベル、推定寿命、およびトルク割合は、それらの評価が高いほど、動作時間が長くなる傾向を有する指標である。すなわち、オーバーシュート量、振動量、騒音レベル、推定寿命、およびトルク割合と、動作時間とは、互いにトレードオフの関係にある指標である。
ユーザーは、選択窓D11において、「1」または「2」を選択することができる。動作時間を第1指標として選択する場合には、ユーザーは、選択窓D11において、「1」を選択する。動作時間を第2指標として選択する場合には、ユーザーは、選択窓D11において、「2」を選択する。
本実施形態において、騒音レベルを選択するためのボタンB13は、選択できないように設定されている。ユーザーは、ユーザーインターフェイス画面I211において、ボタンB11,B12,B14,B15のいずれか一つを選択することにより、オーバーシュート量、振動量、推定寿命、およびトルク割合の中から一つの指標を選択することができる。
ユーザーは、選択窓D12において、「1」または「2」を選択することができる。ボタンB11~B15で選択した指標を第1指標として選択する場合には、ユーザーは、選択窓D12において、「1」を選択する。ボタンB11~B15で選択した指標を第2指標として選択する場合には、ユーザーは、選択窓D11において、「2」を選択する。
選択窓D11において「1」が選択された場合には、選択窓D12において、自動的に「2」が選択される。選択窓D11において「2」が選択された場合には、選択窓D12において、自動的に「1」が選択される。選択窓D12において「1」が選択された場合には、選択窓D11において、自動的に「2」が選択される。選択窓D12において「2」が選択された場合には、選択窓D11において、自動的に「1」が選択される。
CPU610は、ユーザーからの指示に応じて、ユーザーインターフェイス画面I211に表示されている3個以上の指標の中から第1指標と第2指標を決定する。図10の例では、動作時間が、パラメーターセットの評価に使用される第1指標として選択され、オーバーシュート量が、パラメーターセットの評価に使用される第2指標として選択されている。このため、動作時間が、第1指標として決定され、オーバーシュート量が、第2指標として決定される。ステップS205の処理を実現するCPU610の機能部を、図6において、「指標決定部612a」として示す。
このような処理を行うことにより、ユーザーの意向を反映した性能を実現できるパラメーターセットを、後のステップS250において、ユーザーに対して提示することができる。
図7のステップS210においては、評価するパラメーターセットの具体的な値が決定される。評価するパラメーターは、本実施形態においては、制限最大加速度a0、上限最大加速度a1、基準目標加速度Astの傾きb、負荷補正係数CLの傾きd、サーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdの具体的な値の組み合わせである(図2の中段左部、ならびに図3、図5参照)。本実施形態では、ステップS210において、これらのパラメーターセットの具体的な値が、ベイズ最適化処理により決定される。ただし、最初にステップS210が実行される際には、あらかじめ定められており、制御装置40の記憶部44に記憶されているパラメーターセットの値が、採用される。ステップS210の処理を実現するCPU610の機能部を、図6において、「新パラメーター決定部612b」として示す。
ステップS220においては、ステップS210で決定されたパラメーターセットにしたがって、ステップS200で決定された動作が実行される。そして、ステップS210で決定されたパラメーターセットにしたがって実行された動作が、評価される。具体的には、ステップS210で決定されたロボット3を制御するためのパラメーターセットを使用してロボット3を動作させた場合の、第1指標である動作時間OTの値および第2指標であるオーバーシュート量OSの値が取得される。ステップS220においてロボットに動作を実行させるCPU610の機能部を、図6において、「動作実行部611」として示す。ステップS220においてロボットの動作を評価して第1指標および第2指標を取得するCPU610の機能部を、図6において、「評価部613」として示す。「評価部613」は、「動作時間計測部613a」および「オーバーシュート量計測部613b」を含む。
ステップS230においては、直前のステップS220で評価されたパラメーターセット、ならびにその第1指標の値および第2指標の値が、RAM630に記憶される。まず、直前のステップS220で評価されたパラメーターセットが、パレート解であるか否かが判定される。それまでにステップS210で決定されステップS220で評価されたパラメーターセットの中に、第1指標と第2指標の両方について、直前のステップS220で評価されたパラメーターセットよりも優れたものがない場合、直前のステップS220で評価されたパラメーターセットは、「パレート解」である。直前のステップS220で評価されたパラメーターセットは、「パレート解である」または「パレート解ではない」という属性の情報とともに、RAM630に記憶される。また、それまでにRAM630に記憶されたパラメーターセットであって、新たにRAM630に記憶されたパラメーターセットよりも、第1指標と第2指標の両方について、劣っているパラメーターセットについては、その属性は、「パレート解ではない」に変更される。
ステップS240においては、最適化の終了条件が満たされるか否かが判定される。具体的には、あらかじめ定められた回数だけステップS210~S230の処理が実行されたか否かが判定される。本実施形態において、あらかじめ定められた回数は、3以上の数である。あらかじめ定められた回数だけステップS210~S230の処理が実行された場合には、最適化の終了条件が満たされると判定される。最適化の終了条件が満たされない場合には、処理の繰り返し回数のカウントが増やされて、処理はS210に戻る。最適化の終了条件が満たされる場合には、処理はS250に進む。
ステップS240に続いて実行されるステップS210においては、それまでにステップS210で決定されたパラメーターセットならびにそれらの第1指標の値および第2指標の値に基づいて、ベイズ最適化により、新たなパラメーターセットが取得される。その後、ステップS220,S230では、新たなパラメーターセットを使用してロボット3を動作させた場合の第1指標の値および第2指標の値が取得される。
ステップS210,S220,S230の処理は、ステップS240の条件が満たされるまで、繰り返し実行される。その結果、複数のパラメーターセット、および、それら複数のパラメーターセットのそれぞれの第1指標の値および第2指標の値が取得される。新パラメーター決定部612bおよび評価部613を使用して、ステップS210~S240の処理を実現するCPU610の機能部を、図6において、「パラメーター取得部612c」として示す。また、CPU610の機能部である指標決定部612a、新パラメーター決定部612b、パラメーター取得部612cをまとめて、「パラメーター探索部612」として示す。
図7のステップS250においては、CPU610は、RAM630に記憶されているパラメーターセットについて、それぞれの第1指標の値および第2指標の値に基づく表示をディスプレイ602に行う(図1の下段右部参照)。
図11は、ステップS250において示されるユーザーインターフェイス画面I251を示す図である。ユーザーインターフェイス画面I251は、グラフI251gと、ボタンB51,B52と、を含む。
グラフI251gは、第1指標である動作時間OTを横軸とし、第2指標であるオーバーシュート量OSを縦軸とするグラフである。グラフI251gには、RAM630に記憶されているパラメーターセットに対応する点が、表示される。パレート解ではないパラメーターセットを表す点は、xで表示される。パレート解であるパラメーターセットを表す点は、白抜きの丸で表示される。縦軸または横軸に平行な破線で、パレート解であるパラメーターセットを表す白抜きの丸が接続される。
グラフI251gにおいて、パレート解であるパラメーターセットPS1~PS5を表す白抜きの丸は、ボタンとして機能する。パレート解であるパラメーターセットPS1~PS5を表すボタンは、いずれか一つのみが選択されることができる。
このような表示を行うことにより、ユーザーは、複数のパラメーターセットPS1~PS5の動作時間OTの値およびオーバーシュート量OSの値に基づく丸の表示に基づいて、複数のパラメーターセットPS1~PS5の中から、第1指標である動作時間OTおよび第2指標であるオーバーシュート量OSについて、いずれも満足しうる値を実現できるパラメーターセットを選択することができる。このため、動作時間OTの値およびオーバーシュート量OSの値について、妥当な数値をあらかじめ想定できないユーザーも、適切にパラメーターセットを決定することができる。
すなわち、ユーザーは、グラフI251gの表示の相対位置に基づいて、複数のパラメーターセットのそれぞれの特性を容易に理解することができる。このため、ユーザーは、動作時間OTおよびオーバーシュート量OSについて、いずれも満足しうる値を実現できるパラメーターセットを、容易に選択することができる。
グラフI251gに白抜きの丸で表示される複数のパラメーターセットPS1~PS5の表示は、たとえば、パラメーターセットPS1を表す表示と、パラメーターセットPS5を表す表示と、を含む。パラメーターセットPS1の動作時間OTの値は、パラメーターセットPS5の動作時間OTの値よりも小さい。パラメーターセットPS5のオーバーシュート量OSの値は、パラメーターセットPS1のオーバーシュート量OSの値よりも小さい。
このため、グラフI251gにより、ユーザーは、動作時間OTについて優れた性能を発揮するパラメーターセットPS1と、オーバーシュート量OSについて優れた性能を発揮するパラメーターセットPS5と、に基づく表示を見て、パラメーターセットを選択することができる。
また、グラフI251gに白抜きの丸で表示されるパラメーターセットPS1~PS5は、RAM630に記憶されているパラメーターセットのうちのパレート解である3以上のパラメーターセットによって構成される。すなわち、ディスプレイ602のグラフI251gにおいては、最良の動作時間OTの値を有するパラメーターセットPS1および最良のオーバーシュート量OSの値を有するパラメーターセットPS5以外のパラメーターセットPS2~PS4に基づく表示が、行われる。このため、ユーザーは、ディスプレイ602における表示に基づいて、最良の動作時間OTの値を有するパラメーターセットPS1および最良のオーバーシュート量OSの値を有するパラメーターセットPS5以外のパラメーターセットPS2~PS4を、選択することができる。その結果、最良の動作時間OTの値を有するパラメーターセットPS1および最良のオーバーシュート量OSの値を有するパラメーターセットPS5のみに基づく表示がディスプレイ602に行われる態様に比べて、動作時間OTおよびオーバーシュート量OSについて、いずれも満足しうる値を実現できるパラメーターセットをユーザーが選択することができる可能性が高い。
ユーザーインターフェイス画面I251において、ボタンB51は、パレート解のパラメーターセットPS1~PS5のうち、白抜きの丸のボタンで選択されたパラメーターセットを、確定するためのボタンである。ボタンB52は、白抜きの丸のボタンで選択されたパラメーターセットを、キャンセルするためのボタンである。ステップS250の処理を実現するCPU610の機能部を、図6において、「表示制御部614」として示す。
図7のステップS260においては、CPU610は、ユーザーから、複数のパラメーターセットPS1~PS5のうち一つのパラメーターセットを指定する指示を、受け取る。具体的には、ユーザーは、グラフI251gにおいて、パラメーターセットPS1~PS5を表す白抜きの丸のうちの一つを選択し、ボタンB51をマウス605でクリックすることにより、パラメーターセットを指定する。その後、処理は終了する。
その後、指定されたパラメーターセットが設定装置600から制御装置40に送信され、記憶部44に記憶される(図2参照)。ロボット3は、そのパラメーターセットのパラメーター44aと、ロボットプログラム44bと、によって、制御される。
このような構成とすることにより、ロボットの制御に使用するパラメーターセットとして、ユーザーの意向を反映した一つのパラメーターセットを、決定することができる。
(2)パラメーターセットの決定方法:
図7のステップS210においては、それまでにステップS210で決定されたパラメーターセットならびにそれらの第1指標の値および第2指標の値に基づいて、ベイズ最適化により、新たなパラメーターセットが取得される。
図7のステップS210においては、それまでにステップS210で決定されたパラメーターセットならびにそれらの第1指標の値および第2指標の値に基づいて、ベイズ最適化により、新たなパラメーターセットが取得される。
ベイズ最適化は、m次元の入力xに応じて出力yを与えるブラックボックス関数が、ガウス過程(Gaussian Process:GP)に従うものと仮定して、出力yを最大化する入力xを探索する方法である。ブラックボックス関数がガウス過程に従うと仮定して処理を行うことにより、目的関数の観測値が他の分布に従うという仮定を置く態様に比べて、簡易な処理で、様々な目的関数に対して高度に適合する最適化を行うことができる。
目的関数y=f(x):m次元ベクトルである入力x(x∈Rm)で決まるスカラー値y(y∈R)を与えるブラックボックス関数。mは、1以上の整数。
目的関数y=f(x):m次元ベクトルである入力x(x∈Rm)で決まるスカラー値y(y∈R)を与えるブラックボックス関数。mは、1以上の整数。
本実施形態において、m次元の入力xは、制限最大加速度a0、上限最大加速度a1、基準目標加速度Astの傾きb、負荷補正係数CLの傾きd、サーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdの具体的な値の組み合わせであるパラメーターセットである(図2の中段左部、ならびに図3、図5参照)。
図12は、図7のステップS210におけるベイズ最適化の目的関数空間を示す図である。本実施形態において、目的関数空間は、第1指標である動作時間OTを横軸とし、第2指標であるオーバーシュート量OSを縦軸とする2次元の空間である。目的関数y=f(x)は、参照点RPとそれまでに得られたパレート解によって定められるパレート超体積のうち、オーバーシュート量OSがL1とL2の間にある部分の超体積である。L1は、オーバーシュート量の許容範囲の上限である。L2は、オーバーシュート量の許容範囲の下限である。L1,L2は、あらかじめ定められ、制御装置40の記憶部44に記憶されている(図2の下段左部参照)。
yが最大となるxを求める最適化は、以下の式で表される。
観測される出力として、観測ノイズεを加算した形式のものを使用する。
出力の観測値yj=f(xj)+ε
出力の観測値yj=f(xj)+ε
n組の入力xに対するn個の出力yの組を、観測値の組(x1:n,y1:n)とする。
必須ではないが、ガウス過程が観測結果によりフィットするようにハイパーパラメーターは調整され得る。
獲得関数(Acquired Function:AF)は、未観測の入力xに対する評価値を示す関数である。獲得関数が最も高い入力xが次の入力として選択される。獲得関数として、たとえば、次の関数AF1(x)やAF2(x)が使用され得る。
式(5)の右辺の「±」において、「+」が使用されるときは「信頼限界上限(UCB)」による獲得関数であり、「-」が使用されるときは「信頼限界下限(LCB)」による獲得関数である。
図7のステップS210においては、獲得関数AF(x)(式(4)および式(5)参照)が最大となる入力xが求められる。得られたxを次の入力xi+1とする。
このような処理を行うことにより、図12に示す、参照点RPとパレート解によって定められるパレート超体積のうち、オーバーシュート量OSがL1とL1の間にある部分の超体積を、理論的最適解である複数のパラメーターセットが得られた場合に近い程度まで大きくすることができる複数のパラメーターセットを、効率的に得ることができる。
本実施形態における設定装置600を、「情報処理装置」とも呼ぶ。パラメーターセットPS1を、「第1パラメーターセット」とも呼ぶ。パラメーターセットPS5を、「第2パラメーターセット」とも呼ぶ。最初に実行されるステップS220の処理を、「第1評価処理」とも呼ぶ。ステップS240の処理を経た後に実行されるステップS220の処理を、「第2評価処理」とも呼ぶ。ステップS220の処理を最初に実行する評価部613を、「第1評価部」とも呼ぶ。ステップS240の処理を経た後にステップS220の処理を実行する評価部613を、「第2評価部」とも呼ぶ。ステップS250の処理を「表示処理」とも呼ぶ。
B.実施形態2:
実施形態2においては、図7のステップS250における表示の態様が実施形態1とは異なる(図11参照)。実施形態2の他の点は、実施形態1と同じである。
実施形態2においては、図7のステップS250における表示の態様が実施形態1とは異なる(図11参照)。実施形態2の他の点は、実施形態1と同じである。
図13は、図7のステップS250において示されるユーザーインターフェイス画面I252を示す図である。ユーザーインターフェイス画面I252は、リストI252tと、ボタンB21~B25,B56,B57と、を含む。
実施形態2のステップS250においては、パレート解である複数のパラメーターセットPS1~PS5にそれぞれ対応する項L21~L25を含むリストI252tが表示される。パレート解ではないパラメーターセットに対応する項は、リストI252tに含まれない(図11のx参照)。
パラメーターセットPS1~PS5に対応する項L21~L25は、それぞれ、第1指標である動作時間OTの値および第2指標であるオーバーシュート量OSの値を含む。リストI252tにおいて、各項L21~L25は、動作時間OTの値の順に並べられている。図13の例では、動作時間OTの値が小さい順、すなわち、動作時間OTの値が優れている順に、上から下に向かって各項L21~L25が並べられている。
このような表示態様とすることにより、ユーザーは、各項L21~L25のリストI252tにおける表示位置に基づいて、パラメーターセットPS1~PS5の中から、パラメーターセットを容易に選択することができる。
また、各項L21~L25の左から2列目に表示されているPS1~PS5が含む数字は、動作時間OTの順位を表している。最も優れた動作時間OTを有するパラメーターセットが、PS1として表示されている。最も劣っている動作時間OTを有するパラメーターセットが、PS5として表示されている。すなわち、リストI252tにおいて、各項L21~L25は、パラメーターセットPS1~PS5のそれぞれの第1指標の順位の表示を含んで表されている。
ボタンB21~B25は、パレート解であるパラメーターセットを選択するためのボタンである。ボタンB21~B25は、いずれか一つのみが選択されることができる。
ボタンB56は、パレート解のパラメーターセットPS1~PS5のうち、ボタンB21~B25で選択されたパラメーターセットを、確定するためのボタンである。ボタンB57は、ボタンB21~B25で選択されたパラメーターセットを、キャンセルするためのボタンである。
このような表示態様とすることにより、ユーザーは、リスト中の指標の順位を参考にして、パラメーターセットPS1~PS5の中から、パラメーターセットを容易に選択することができる。
C.実施形態3:
実施形態3においては、図7のステップS250における表示の態様が実施形態1とは異なる(図11参照)。実施形態3の他の点は、実施形態1と同じである。
実施形態3においては、図7のステップS250における表示の態様が実施形態1とは異なる(図11参照)。実施形態3の他の点は、実施形態1と同じである。
図14は、図7のステップS250において示されるユーザーインターフェイス画面I253を示す図である。ユーザーインターフェイス画面I253は、グラフI253gと、ボタンB51,B52と、を含む。
ボタンB51,B52の機能は、それぞれ、第1実施形態におけるユーザーインターフェイス画面I251のボタンB51,B52と同じである(図11参照)。
グラフI253gには、RAM630に記憶されているパラメーターセットを表す点が、表示される。パレート解ではないパラメーターセットを表す点は、xで表示される。パレート解であるパラメーターセットを表す点の一部は、白抜きの丸で表示される。パレート解であるパラメーターセットを表す点の他の一部は、黒い丸で表示される。
グラフI253gにおいて、白抜きの丸で表示される複数のパラメーターセットPS1~PS4は、パレート解であるパラメーターセットのうち、第2指標であるオーバーシュート量OSの許容範囲内に設けられた複数の区間SS1~SS4について、それぞれ一つずつ選択されたパレート解であるパラメーターセットである。グラフI253gにおいて、黒い丸で表示されるパラメーターセットは、パレート解であるパラメーターセットのうち、区間SS1~SS4について、選択されなかったパレート解であるパラメーターセットである。区間SS1~SS4は、第2指標であるオーバーシュート量OSの許容範囲内に同一の幅で設けられた連続する区間である。本実施形態においては、選択されたパラメーターセットPS1~PS4は、区間SS1~SS4のそれぞれにおいて、区間の中間値に最も近いオーバーシュート量OSを有するパラメーターセットである。グラフI253gの他の点は、グラフI251gと同じである。
このような表示態様とすれば、第2指標であるオーバーシュート量OSについて、代表的なパラメーターセットPS1~PS4が、他のパレート解であるパラメーターセットと区別されて、ユーザーに提示される。このため、パレート解である複数のパラメーターセットに対応するすべての表示が区別なしにディスプレイ602に行われる態様に比べて、ディスプレイ602における表示を把握しやすくできる。よって、ユーザーは、ディスプレイ602における表示に基づいて、制御パラメーターを容易に選択することができる。
D.実施形態4:
実施形態4においては、図7のステップS250における表示の態様が実施形態2とは異なる(図13参照)。実施形態4の他の点は、実施形態2と同じである。
実施形態4においては、図7のステップS250における表示の態様が実施形態2とは異なる(図13参照)。実施形態4の他の点は、実施形態2と同じである。
図15は、図7のステップS250において示されるユーザーインターフェイス画面I254を示す図である。ユーザーインターフェイス画面I254は、リストI254tと、ボタンB41~B44,B56,B57と、を含む。
ボタンB56,B57の機能は、それぞれ、第2実施形態におけるユーザーインターフェイス画面I252のボタンB56,B57と同じである(図13参照)。
実施形態4のステップS250においては、パレート解である複数のパラメーターセットPS1~PS4にそれぞれ対応する項L41~L44を含むリストI254tが表示される。パレート解ではないパラメーターセットに対応する項は、リストI254tに含まれない。
リストI254tにおいて表示される項L41~L44に対応するパラメーターセットPS1~PS4は、第2指標であるオーバーシュート量OSについて設けられた複数の区間SS1~SS4について、それぞれ一つずつ選択されたパレート解であるパラメーターセットである。本実施形態においては、パラメーターセットPS1~PS4は、区間SS1~SS4において、区間の中間値に最も近いオーバーシュート量OSを有するパラメーターセットである(図14参照)。パレート解であるパラメーターセットのうち、区間SS1~SS4について、選択されなかったパレート解であるパラメーターセットに対応する項は、リストI254tに含まれない。リストI254tの他の点は、リストI252tと同じである。
このような表示態様とすることにより、第2指標であるオーバーシュート量OSについて、代表的なパラメーターセットがユーザーに提示される。このため、複数のパラメーターセットに対応するすべての表示がディスプレイ602に行われる態様に比べて、ディスプレイ602における表示を簡潔にできる。よって、ユーザーは、ディスプレイ602における表示に基づいて、制御パラメーターを容易に選択することができる。
E.実施形態5:
実施形態5においては、図7のステップS250以降の処理が実施形態1とは異なる。実施形態5の他の点は、実施形態1と同じである。
実施形態5においては、図7のステップS250以降の処理が実施形態1とは異なる。実施形態5の他の点は、実施形態1と同じである。
図16は、図7のステップS240までの処理で得られたパラメーターセットの特性を示すグラフである。図16に示すグラフには、RAM630に記憶されているパラメーターセットを表す点が、表示されている。パレート解ではないパラメーターセットを表す点は、xで表示されている。区間SS1~SS4について、それぞれ一つずつ選択されたパレート解であるパラメーターセットが、白抜きの丸で表示される。他のパレート解であるパラメーターセットを表す点は、黒い丸で表示される。図17に示されるように、ステップS240までの処理で得られたパラメーターセットは、区間SS3に属するパレート解を含んでいない。
図17は、実施形態5において、ロボットのパラメーターを最適化する処理を示すフローチャートである。図16のステップS200~S240の処理は、実施形態1における図7のステップS200~S240の処理と同じである。
図18は、図17のステップS250において示されるユーザーインターフェイス画面I255を示す図である。ユーザーインターフェイス画面I255は、リストI255tと、ボタンB61~B64,B56~B58と、を含む。リストI255tは、パレート解である複数のパラメーターセットPS1~PS4にそれぞれ対応する項L61~L64を含む。項L61~L64の構成は、図13に示すリストI252tの項L21~L25と同じである。ボタンB61~B64の機能は、ユーザーインターフェイス画面I252のボタンB21~B25と同じである。ボタンB56,B57の機能は、ユーザーインターフェイス画面I252のボタンB56~B57と同じである。
実施形態5のユーザーインターフェイス画面I255においては、第2指標についてあらかじめ定められた区間の中にパレート解を含まない区間がある場合には、ボタンB58とともに、その区間を明示する「OS XXmm~XXmmの解が少ないです 探索範囲を変更して再探索しますか?」という表示がなされる(図17の下段参照)。第2指標についてあらかじめ定められた区間の中にパレート解を含まない区間がない場合には、そのような表示およびボタンB58は、表示されない。
ユーザーは、解が少ない区間についての再探索を希望する場合には、ボタンB58を押して、再探索を指示する。一方、ユーザーは、表示されたパラメーターセットPS1~PS4の中からパラメーターセットを選択する場合には、ボタンB61~B64のいずれかを選択し、ボタンB56を押す。
図17のステップS270においては、CPU610は、あらかじめ定められた時間内に、ユーザーから、ユーザーインターフェイス画面I255で提示した複数のパラメーターセットのうち一つのパラメーターセットを指定する指示を、受け取ったか否かを判定する。判定結果がYesである場合は、処理は終了する。その後、指定されたパラメーターセットが設定装置600から制御装置40に送信され、記憶部44に記憶される(図2参照)。一方、判定結果がNoである場合は、処理はステップS280に進む。
ステップS280においては、CPU610は、あらかじめ定められた時間内に、ユーザーから、再探索の指示を受け取ったか否かを判定する(図18のB58参照)。判定結果がNoである場合は、処理はステップS270に戻る。判定結果がYesである場合は、処理は、ステップS210に戻る。
ステップS280の処理の後に実行される場合には、ステップS210,S220は、第2指標であるオーバーシュート量OSについて、直前のステップS280の処理より前に行われたステップS210,S220の処理に比べて、より狭い範囲について、繰り返し実行される。具体的には、パレート解が存在しなかった第2指標の区間について、ステップS210~S230の処理が繰り返し実行される。その結果、複数のパラメーターセット、および、それら複数のパラメーターセットのそれぞれの動作時間OTの値およびオーバーシュート量OSの値が取得される。ステップS280を経てステップS210~S240の処理を実現するCPU610の機能部を、図6において、「再探索部612d」として破線で示す。
以降の処理は、すでに説明したとおりである。たとえば、ステップS250においては、得られた複数のパラメーターセット、および、複数のパラメーターセットのそれぞれの動作時間OTの値およびオーバーシュート量OSに基づいて、ディスプレイ602に表示が行われる(図18および図13参照)。
このような処理を行うことにより、ユーザーは、ステップS250において、複数のパラメーターセットの動作時間OTの値およびオーバーシュート量OSの値に基づく表示を見た後、それが希望に沿っていない場合には、より希望に添ったパラメーターセットを探索させることができる(図17参照)。
F.実施形態6:
実施形態6においては、ロボット3には、センサーとして、アーム部材A6の先端に設けられた加速度センサーS1以外に、加速度センサーS2とマイクロフォンS3が、設けられている。また、実施形態6においては、図7のステップS205,S210,S230の処理内容が第1実施形態とは異なる。実施形態6の他の点は、実施形態1と同じである。
実施形態6においては、ロボット3には、センサーとして、アーム部材A6の先端に設けられた加速度センサーS1以外に、加速度センサーS2とマイクロフォンS3が、設けられている。また、実施形態6においては、図7のステップS205,S210,S230の処理内容が第1実施形態とは異なる。実施形態6の他の点は、実施形態1と同じである。
図19は、実施形態6における設定装置600およびロボット3の構成を示すブロック図である。実施形態6において、加速度センサーS2およびマイクロフォンS3が、ロボット3の基台Tに設けられている。加速度センサーS2の機能は、加速度センサーS1と同じである。加速度センサーS2から得られる情報に基づいて、制御装置40は、ロボット3の基台Tの振動を計測することができる(図8参照)。マイクロフォンS3は、周辺の音を収集することができる。マイクロフォンS3から得られる情報に基づいて、制御装置40は、ロボット3の周辺の騒音レベルを計測することができる(図9参照)。その結果、実施形態6においては、ロボット3の基台Tの振動量と、ロボット3の基台Tの周辺の騒音レベルを、第1指標または第2指標として、選択することができる。
図20は、図7のステップS205において、設定装置600のディスプレイ602に表示されるユーザーインターフェイス画面I212を示す図である。ユーザーインターフェイス画面I212は、ボタンB11~B16と、選択窓D11,D12と、を含む。ボタンB16は、ロボット3の基台Tの振動量である「環境振動量」を、制御を評価する指標として選択するためのボタンである。ボタンB11~B15の機能は、それぞれ第1実施形態のユーザーインターフェイス画面I212におけるボタンB11~B15の機能と同様である。
ただし、実施形態6においては、ボタンB11~B16は、それらのうちの2個以上が同時に選択可能であるように構成されている。実施形態6においては、ボタンB11~B16は、初期状態において、すべてが選択されている。ユーザーは、ユーザーインターフェイス画面I212において、ボタンB11~B16をオンまたはオフにすることにより、オーバーシュート量、振動量、騒音レベル、推定寿命、トルク割合、環境振動量の中から任意のものを選択し、またはその選択を解除することができる。
選択窓D11,D12の機能は、それぞれ第1実施形態におけるユーザーインターフェイス画面I211における選択窓D11,D12の機能と同じである(図10参照)。
本実施形態において、図7のステップS210の処理における目的関数空間は、動作時間OTと、ボタンB11~B15によって選択された1以上の指標と、による多次元の空間である。目的関数y=f(x)は、参照点RPとそれまでに得られたパレート解によって定められるパレート超体積のうち、オーバーシュート量OSがL1とL2の間にある部分の超体積である(図12参照)。このような処理を行うことにより、図7のステップS210において、3以上の指標について最適化処理を行って、次のパラメーターセットを決定することができる。
図7のステップS220の処理は、第1実施形態におけるステップS220の処理と同じである。ただし、ユーザーインターフェイス画面I212のボタンB11~B16によって選択されたすべての指標について、測定が行われる(図20参照)。
ステップS230においては、直前のステップS220で評価されたパラメーターセット、ならびにその第1指標の値および第2指標の値のすべてが、RAM630に記憶される。
ステップS250の処理は、第1実施形態におけるステップS250の処理と同じである。ただし、設定装置600のディスプレイ602に表示されるパレート解は、ボタンB11~B16によって選択されたすべての指標について、最適化処理が行われて得られたパラメーターセットである(図11参照)。このような処理を行うことにより、ユーザーは、3以上の指標についていずれも最適化処理が行われたパラメーターセットを選択することができる。
G.他の実施形態:
G1.他の実施形態1:
(1)上記実施形態では、対象物Wをロボット3のグリッパー23でピックアップする処理を例にして、動作パラメーター44cの最適化について説明した(図1および図3参照)。しかし。ただし、パラメーターが最適化される処理は、ピックアップ処理における動作パラメーター44cに限定されず、他にも種々の処理に適用可能である。たとえば、パラメーターが最適化される処理は、撮像部21を配置する処理や、照明部22を配置する処理に適用可能である。また、パラメーターが最適化される処理は、ネジ締め、挿入、ドリルによる穴あけ、バリ取り、研磨、組み立て、製品チェック等印も適用可能である。
G1.他の実施形態1:
(1)上記実施形態では、対象物Wをロボット3のグリッパー23でピックアップする処理を例にして、動作パラメーター44cの最適化について説明した(図1および図3参照)。しかし。ただし、パラメーターが最適化される処理は、ピックアップ処理における動作パラメーター44cに限定されず、他にも種々の処理に適用可能である。たとえば、パラメーターが最適化される処理は、撮像部21を配置する処理や、照明部22を配置する処理に適用可能である。また、パラメーターが最適化される処理は、ネジ締め、挿入、ドリルによる穴あけ、バリ取り、研磨、組み立て、製品チェック等印も適用可能である。
(2)本明細書では、技術内容の説明において、便宜的に「複数組の入力パラメーター」と記載している。しかし、制約関数や目的関数の平均および分布を推定する入力パラメーターが、連続値である場合も、本明細書における「複数組の入力パラメーター」に含まれるものとする。
(3)上記実施形態においては、最適化される動作パラメーター44cには、制限最大加速度a0、上限最大加速度a1、基準目標加速度Astの傾きb、負荷補正係数CLの傾きdが含まれる(図4および図5参照)。しかし、最適化される動作パラメーター44cは、これらの動作パラメーター44c以外の動作パラメーター44c、たとえば、動作の始点や終点を表すパラメーターやサーボゲインを表すパラメーター、さらには、光学パラメーターや力制御パラメーターなどのパラメーターとすることもできる(図3参照)。
(4)上記実施形態においては、最適化されるパラメーターは、垂直多関節型ロボットの動作を制御するためのパラメーターである(図1および図3参照)。しかし、最適化されるパラメーターは、水平多関節ロボット、直行ロボットなど他のロボットの動作を制御するためのパラメーターとすることもできる。たとえば、最適化されるパラメーターは、7個以上の作動軸を含むロボットの動作や、双腕ロボットなどの複腕ロボットの動作を制御するためのパラメーターとすることもできる。一般的に、7個以上の作動軸を含むロボットや、複腕ロボットは、他のロボットに比べて負荷が大きい。このため、そのようなロボットの動作を制御するためのパラメーターを最適化する場合には、目標関数に「ロボットが動作を行う際に要する駆動力」を含むことが望ましい。
(5)上記実施形態1においては、参照点RPとそれまでに得られたパレート解によって定められるパレート超体積のうち、第2指標であるオーバーシュート量OSがL1とL2の間にある部分の超体積を目的関数として、最適化処理が行われる。しかし、目的関数を規定するL1,L2は、第1指標について定められてもよい。また、そのようなL1,L2を定めず、参照点RPとそれまでに得られたパレート解によって定められるパレート超体積全体を、目的関数とすることもできる。
(6)上記実施形態1においては、参照点RPとそれまでに得られたパレート解によって定められるパレート超体積のうち、第2指標であるオーバーシュート量OSがL1とL2の間にある部分の超体積を目的関数として、最適化処理が行われる。しかし、最適化処理の目的関数は、目的関数空間における参照点から各解に対応する点までの距離の最大値など、第1指標および第2指標を含む他の関数とすることができる。
(7)上記実施形態においては、ある入力に対する目的関数の未観測の出力および制約関数の未観測の出力が、それぞれガウス分布にしたがうという仮定の下に、最適化が行われる。しかし、目的関数の出力および制約関数の出力が統計的分布にしたがうという推定は、三角分布、ガンマ分布、ワイブル分布など、ガウス分布以外の統計的分布を使用して行われてもよい。また、目的関数の未観測の出力と、制約関数の未観測の出力とが、互いに異なる統計的分布にしたがうという推定の下で処理を行うこともできる。
なお、本明細書において、「統計的分布」とは、有限個の統計パラメーターによって全体を規定することができる分布を意味する。
(8)実施形態6において、目的関数空間は、動作時間OTと、ボタンB11~B15によって選択された1以上の指標と、による多次元の空間である。目的関数y=f(x)は、参照点RPとそれまでに得られたパレート解によって定められるパレート超体積のうち、オーバーシュート量OSがL1とL2の間にある部分の超体積である(図12、および図20参照)。しかし、3以上の指標について最適化を行う際には、1以上の指標をペナルティ関数として目的関数に含ませることにより、その指標を考慮することもできる。
(9)上記実施形態においては、ベイズ最適化により、目的関数についての入力パラメーターの最適化を行った(図7のS210、および図12参照)。しかし、複数の指標に関する入力パラメーターの多目的最適化手法は、NSGA-II(Non dominated-Sorting Genetic Algorithm - II)、NSGA-III(Non dominated-Sorting Genetic Algorithm - III)など、他の最適化アルゴリズムによって行われることもできる。
(10)上記実施形態においては、ステップS220において、実際にロボット3を、パラメーターセットを使用して動作させて、第1指標および第2指標の値を測定している(図7および図17参照)。しかし、ロボットの残留振動を再現できるシミュレーターを使用してシミュレーションを行い、パラメーターセットによる制御の評価を行ってもよい。
(11)上記実施形態2においては、パレート解である複数のパラメーターセットPS1~PS5にそれぞれ対応する項L21~L25を含むリストI252tが表示される。リストI252tにおいて、動作時間OTの値が優れている順に上から下に向かって各項L21~L25が並べられている(図13参照)。しかし、リストにおいては、第1指標の値が優れている順に下から上に向かって各項が表示されてもよい。また、第2指標の値が優れている順に上から下に向かって、または下から上に向かって、各項が表示されてもよい。
(12)上記実施形態6においては、ステップS250の処理は、第1実施形態におけるステップS250の処理と同じである。すなわち、グラフI251gを含むユーザーインターフェイス画面I251がディスプレイ602に表示される(図11参照)。しかし、上記実施形態6において、表示されるグラフの縦軸と横軸を、ユーザーの指示に応じて定めることができる態様とすることもできる。
(13)上記実施形態においては、ステップS250の処理において、グラフまたはリストが表示される(図11、図13~図15、および図18参照)。しかし、ステップS250の処理において、グラフおよびリストの両方が同時に、または切り替えによって表示されてもよい。また、グラフの縦軸と横軸を交換できるようなユーザーインターフェイスを備えてもよい。
(14)上記実施形態5においては、再探索の指示を受け取った後に実行されるステップS210,S220において、第2指標であるオーバーシュート量OSについて、直前のステップS280の処理より前に行われたステップS210,S220の処理に比べて、より狭い範囲について、繰り返し実行される(図17参照)。しかし、そのような再探索は、第2指標のより狭い範囲について、行われてもよい。
(15)上記実施形態5においては、再探索の指示を受け取った後に実行されるステップS210,S220において、第2指標であるオーバーシュート量OSについて、直前のステップS280の処理より前に行われたステップS210,S220の処理に比べて、より狭い範囲について、繰り返し実行される(図17参照)。具体的には、パレート解が存在しなかった区間について、ステップS210~S230の処理が繰り返し実行される(図14参照)。しかし、再探索の範囲を、ユーザーが指定できる態様とすることもできる。
G2.他の実施形態2:
上記実施形態1においては、図7のステップS260において、CPU610は、ユーザーから、複数のパラメーターセットPS1~PS5のうち一つのパラメーターセットを指定する指示を、受け取る。しかし、あらかじめ定められた時間、ユーザーからの指示がない場合には、CPU610がパレート解であるパラメーターセットの一つを選択し、制御装置40に送信することとしてもよい。
上記実施形態1においては、図7のステップS260において、CPU610は、ユーザーから、複数のパラメーターセットPS1~PS5のうち一つのパラメーターセットを指定する指示を、受け取る。しかし、あらかじめ定められた時間、ユーザーからの指示がない場合には、CPU610がパレート解であるパラメーターセットの一つを選択し、制御装置40に送信することとしてもよい。
G3.他の実施形態3:
上記実施形態1においては、ユーザーインターフェイス画面I211において、ロボット3の制御結果を評価するための3個以上の指標がディスプレイ602に表示される(図10参照)。しかし、表示部に表示される指標は、動作時間とオーバーシュート量など、2個であってもよい。
上記実施形態1においては、ユーザーインターフェイス画面I211において、ロボット3の制御結果を評価するための3個以上の指標がディスプレイ602に表示される(図10参照)。しかし、表示部に表示される指標は、動作時間とオーバーシュート量など、2個であってもよい。
G4.他の実施形態4:
上記実施形態1においては、パラメーターセットPS1の動作時間OTの値は、パラメーターセットPS5の動作時間OTの値よりも小さい。パラメーターセットPS5のオーバーシュート量OSの値は、パラメーターセットPS1のオーバーシュート量OSの値よりも小さい(図11参照)。しかし、2以上のパラメーターセットについて、それぞれの第1指標の値および第2指標の値に基づく表示を表示部に行う際には、第1指標の値と第2指標の値の一方が同じパラメーターセットを含む複数のパラメーターセットが表示されてもよい。
上記実施形態1においては、パラメーターセットPS1の動作時間OTの値は、パラメーターセットPS5の動作時間OTの値よりも小さい。パラメーターセットPS5のオーバーシュート量OSの値は、パラメーターセットPS1のオーバーシュート量OSの値よりも小さい(図11参照)。しかし、2以上のパラメーターセットについて、それぞれの第1指標の値および第2指標の値に基づく表示を表示部に行う際には、第1指標の値と第2指標の値の一方が同じパラメーターセットを含む複数のパラメーターセットが表示されてもよい。
G5.他の実施形態5:
上記実施形態1においては、第1指標である動作時間OTを横軸とし、第2指標であるオーバーシュート量OSを縦軸とするグラフI251gが、ディスプレイ602に表示される。しかし、実施形態2,4,5のように、表が示されてもよい(図13、図15、および図18参照)。また、表の形式ではなく、第1指標の値と第2指標の値が、各パラメーターセットについて、枠を有さないリストの形式で示されてもよい。
上記実施形態1においては、第1指標である動作時間OTを横軸とし、第2指標であるオーバーシュート量OSを縦軸とするグラフI251gが、ディスプレイ602に表示される。しかし、実施形態2,4,5のように、表が示されてもよい(図13、図15、および図18参照)。また、表の形式ではなく、第1指標の値と第2指標の値が、各パラメーターセットについて、枠を有さないリストの形式で示されてもよい。
G6.他の実施形態6:
上記実施形態2においては、パレート解である複数のパラメーターセットPS1~PS5にそれぞれ対応する項L21~L25を含むリストI252tが表示される。リストI252tにおいて、動作時間OTの値が優れている順に各項L21~L25が並べられている(図13参照)。しかし、各項は、たとえば、第1指標と第2指標を2軸とする空間における原点からの距離や、参照点RPからの距離など、他の基準に沿って、並べられて表示されてもよい。また、実施形態1,3のように、グラフが示されてもよい(図11、および図14参照)。
上記実施形態2においては、パレート解である複数のパラメーターセットPS1~PS5にそれぞれ対応する項L21~L25を含むリストI252tが表示される。リストI252tにおいて、動作時間OTの値が優れている順に各項L21~L25が並べられている(図13参照)。しかし、各項は、たとえば、第1指標と第2指標を2軸とする空間における原点からの距離や、参照点RPからの距離など、他の基準に沿って、並べられて表示されてもよい。また、実施形態1,3のように、グラフが示されてもよい(図11、および図14参照)。
G7.他の実施形態7:
上記実施形態2のリストI252tにおいては、各項L21~L25の左から2列目に表示されているPS1~PS5が含む数字は、動作時間OTの順位を表している(図13参照)。しかし、表示されるリストは、そのような順位を含まないものであってもよい。
上記実施形態2のリストI252tにおいては、各項L21~L25の左から2列目に表示されているPS1~PS5が含む数字は、動作時間OTの順位を表している(図13参照)。しかし、表示されるリストは、そのような順位を含まないものであってもよい。
G8.他の実施形態8:
上記実施形態3においては、グラフI253gにおいて、白抜きの丸で表示される複数のパラメーターセットPS1~PS4は、パレート解であるパラメーターセットのうち、第2指標であるオーバーシュート量OSの許容範囲内に同一の幅で設けられた複数の区間SS1~SS4について、それぞれ一つずつ選択されたパレート解であるパラメーターセットである。しかし、グラフまたはリストにおいて、すべてのパレート解であるパラメーターセットに対応する表示が示されてもよい。
上記実施形態3においては、グラフI253gにおいて、白抜きの丸で表示される複数のパラメーターセットPS1~PS4は、パレート解であるパラメーターセットのうち、第2指標であるオーバーシュート量OSの許容範囲内に同一の幅で設けられた複数の区間SS1~SS4について、それぞれ一つずつ選択されたパレート解であるパラメーターセットである。しかし、グラフまたはリストにおいて、すべてのパレート解であるパラメーターセットに対応する表示が示されてもよい。
G9.他の実施形態9:
上記実施形態5においては、再探索の指示を受け取った後に実行されるステップS210,S220において、オーバーシュート量OSについて、直前のステップS280の処理より前に行われたステップS210,S220の処理に比べて、より狭い範囲について、繰り返し実行される(図17参照)。しかし、そのような再探索の指示を受け付けない実施形態1~4のような態様とすることもできる(図7参照)。
上記実施形態5においては、再探索の指示を受け取った後に実行されるステップS210,S220において、オーバーシュート量OSについて、直前のステップS280の処理より前に行われたステップS210,S220の処理に比べて、より狭い範囲について、繰り返し実行される(図17参照)。しかし、そのような再探索の指示を受け付けない実施形態1~4のような態様とすることもできる(図7参照)。
G10.他の実施形態10:
上記実施形態5においては、ステップS240においては、あらかじめ定められた回数だけステップS210~S230の処理が実行されたかが判定される。実施形態1において、あらかじめ定められた回数は、3以上の数である(図7参照)。そして、グラフI251gに白抜きの丸で表示されるパラメーターセットPS1~PS5は、RAM630に記憶されているパラメーターセットのうちのパレート解である3以上のパラメーターセットによって構成される。しかし、ステップS210~S230の処理で決定されるパラメーターセットの数は、2であってもよい。また、ステップS210~S230の処理で決定されるパラメーターセットの数は、5個、10個、100個など、他の数であってもよい。ステップS240において判定される繰り返し回数の閾値は、求めるパラメーターセットの数に応じて定めることができる。
上記実施形態5においては、ステップS240においては、あらかじめ定められた回数だけステップS210~S230の処理が実行されたかが判定される。実施形態1において、あらかじめ定められた回数は、3以上の数である(図7参照)。そして、グラフI251gに白抜きの丸で表示されるパラメーターセットPS1~PS5は、RAM630に記憶されているパラメーターセットのうちのパレート解である3以上のパラメーターセットによって構成される。しかし、ステップS210~S230の処理で決定されるパラメーターセットの数は、2であってもよい。また、ステップS210~S230の処理で決定されるパラメーターセットの数は、5個、10個、100個など、他の数であってもよい。ステップS240において判定される繰り返し回数の閾値は、求めるパラメーターセットの数に応じて定めることができる。
また、たとえば、第2指標の範囲を限定して再探索を行う場合には、再探索を行った結果得られた、第1指標を最小にする一つの解パラメーターセットの表示のみを、示してもよい(図17のS280参照)。同様に、第1指標の範囲を限定して再探索を行う場合には、再探索を行った結果得られた、第2指標を最小にする一つの解パラメーターセットの表示のみを、示してもよい。
H.さらに他の実施形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
(1)本開示の一形態によれば、ロボットのパラメーターに関する表示を行う方法が提供される。この方法は、(a)ロボットの制御結果を評価するための第1指標と第2指標を決定する工程と、(b)前記ロボットを制御するためのあるパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する工程と、(c)前記パラメーターセットならびに取得された前記第1指標の値および前記第2指標の値に基づいて、前記第1指標および前記第2指標を含む関数を目的関数とする多目的最適化手法を用いて、新たなパラメーターセットを決定する工程と、(d)前記新たなパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する工程と、(e)前記工程(c)および(d)を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する工程と、(f)前記複数のパラメーターセットのうちの2以上のパラメーターセットについて、それぞれの前記第1指標の値および前記第2指標の値に基づく表示を表示部に行う工程であって、前記2以上のパラメーターセットは、第1パラメーターセットと第2パラメーターセットを含み、前記第1パラメーターセットと前記第2パラメーターセットは、前記第1パラメーターセットの前記第1指標の値が、前記第2パラメーターセットの前記第1指標の値よりも優れていることと、
前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れていることと、の少なくとも一方を満たす、工程と、を含む。
このような態様とすれば、ユーザーは、2以上のパラメーターセットの第1指標の値および第2指標の値に基づく表示に基づいて、2以上のパラメーターセットの中から、第1指標および第2指標について、いずれも満足しうる値を実現できるパラメーターセットを選択することができる。
前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れていることと、の少なくとも一方を満たす、工程と、を含む。
このような態様とすれば、ユーザーは、2以上のパラメーターセットの第1指標の値および第2指標の値に基づく表示に基づいて、2以上のパラメーターセットの中から、第1指標および第2指標について、いずれも満足しうる値を実現できるパラメーターセットを選択することができる。
(2)上記方法は、さらに、(g)ユーザーから、前記2以上のパラメーターセットのうち一つのパラメーターセットを指定する指示を、受け取る工程を含む、態様とすることができる。
このような態様とすれば、ユーザーの意向を反映した一つのパラメーターセットを、決定することができる。
このような態様とすれば、ユーザーの意向を反映した一つのパラメーターセットを、決定することができる。
(3)上記方法は、前記工程(a)が、前記ロボットの制御結果を評価するための3個以上の指標を前記表示部に表示する工程と、ユーザーからの指示に応じて、前記3個以上の指標の中から前記第1指標と前記第2指標を決定する工程と、を含む、態様とすることができる。
このような態様とすれば、ユーザーの意向を反映した性能を実現できるパラメーターセットを、工程(f)において、ユーザーに対して提示することができる。
このような態様とすれば、ユーザーの意向を反映した性能を実現できるパラメーターセットを、工程(f)において、ユーザーに対して提示することができる。
(4)上記方法は、前記第1パラメーターセットの前記第1指標の値が、前記第2パラメーターセットの前記第1指標の値よりも優れており、前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れている、態様とすることができる。
このような態様とすれば、ユーザーは、第1指標について優れた性能を発揮するパラメーターセットと、第2指標について優れた性能を発揮するパラメーターセットと、に基づく表示を見て、パラメーターセットを選択することができる。
このような態様とすれば、ユーザーは、第1指標について優れた性能を発揮するパラメーターセットと、第2指標について優れた性能を発揮するパラメーターセットと、に基づく表示を見て、パラメーターセットを選択することができる。
(5)上記方法は、前記工程(f)が、前記2以上のパラメーターセットの前記第1指標の値および前記第2指標の値に基づいて、前記表示部にグラフを表示する工程を含む、態様とすることができる。
このような態様とすれば、ユーザーは、グラフの表示に基づいて、2以上のパラメーターセットのそれぞれの特性を容易に理解することができる。このため、2以上のパラメーターセットの中から、第1指標および第2指標について、いずれも満足しうる値を実現できるパラメーターセットを、容易に選択することができる。
このような態様とすれば、ユーザーは、グラフの表示に基づいて、2以上のパラメーターセットのそれぞれの特性を容易に理解することができる。このため、2以上のパラメーターセットの中から、第1指標および第2指標について、いずれも満足しうる値を実現できるパラメーターセットを、容易に選択することができる。
(6)上記方法は、前記工程(f)が、前記2以上のパラメーターセットにそれぞれ対応する項であって、前記第1指標の値および前記第2指標の値を含む項を含み、前記各項が、前記第1指標の値または前記第2指標の値の順に並べられているリストを表示する工程を含む、態様とすることができる。
このような態様とすれば、ユーザーは、各項のリストにおける表示位置に基づいて、2以上のパラメーターセットの中から、パラメーターセットを容易に選択することができる。
このような態様とすれば、ユーザーは、各項のリストにおける表示位置に基づいて、2以上のパラメーターセットの中から、パラメーターセットを容易に選択することができる。
(7)上記方法は、前記各項が、前記2以上のパラメーターセットのそれぞれの前記第1指標の順位と、前記2以上のパラメーターセットのそれぞれの前記第2指標の順位と、の少なくとも一方を含む、態様とすることができる。
このような態様とすれば、ユーザーは、表中の指標の順位を参考にして、2以上のパラメーターセットの中から、パラメーターセットを容易に選択することができる。
このような態様とすれば、ユーザーは、表中の指標の順位を参考にして、2以上のパラメーターセットの中から、パラメーターセットを容易に選択することができる。
(8)上記方法は、前記2以上のパラメーターセットは、前記第1指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセット、または前記第2指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセットによって構成されている、態様とすることができる。
このような態様とすれば、第1指標または第2指標について、代表的なパラメーターセットがユーザーに提示される。このため、複数のパラメーターセットに対応するすべての表示が表示部に行われる態様に比べて、表示部における表示を簡潔にできる。よって、ユーザーは、表示部における表示に基づいて、パラメーターを容易に選択することができる。
このような態様とすれば、第1指標または第2指標について、代表的なパラメーターセットがユーザーに提示される。このため、複数のパラメーターセットに対応するすべての表示が表示部に行われる態様に比べて、表示部における表示を簡潔にできる。よって、ユーザーは、表示部における表示に基づいて、パラメーターを容易に選択することができる。
(9)上記方法は、さらに、(h)前記工程(f)の後、ユーザーからの再探索の指示に応じて、パラメーターセットの前記第1指標と前記第2指標との少なくとも一方について、それまでに行われた前記工程(c)および(d)の処理に比べてより狭い範囲について、前記工程(c)および(d)を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する工程と、(i)前記工程(h)で得られた複数のパラメーターセットについて、前記工程(f)を実行する工程と、を含む、態様とすることができる。
このような態様とすれば、ユーザーは、工程(f)による、2以上のパラメーターセットの第1指標の値および第2指標の値に基づく表示を見た後、より希望に添ったパラメーターセットを探索させることができる。
このような態様とすれば、ユーザーは、工程(f)による、2以上のパラメーターセットの第1指標の値および第2指標の値に基づく表示を見た後、より希望に添ったパラメーターセットを探索させることができる。
(10)上記方法は、前記2以上のパラメーターセットは、前記複数のパラメーターセットのうちのパレート解である3以上のパラメーターセットによって構成される、態様とすることができる。
このような態様においては、最良の第1指標の値を有するパラメーターセットおよび最良の第2指標の値を有するパラメーターセット以外のパラメーターセットに基づく表示が、表示部に行われる。このため、ユーザーは、表示部における表示に基づいて、最良の第1指標の値を有するパラメーターセットおよび最良の第2指標の値を有するパラメーターセット以外のパラメーターセットを、選択することができる。このため、最良の第1指標の値を有するパラメーターセットおよび最良の第2指標の値を有するパラメーターセットのみに基づく表示が、表示部に行われる態様に比べて、第1指標および第2指標について、いずれも満足しうる値を実現できるパラメーターセットをユーザーが選択することができる可能性が高い。
このような態様においては、最良の第1指標の値を有するパラメーターセットおよび最良の第2指標の値を有するパラメーターセット以外のパラメーターセットに基づく表示が、表示部に行われる。このため、ユーザーは、表示部における表示に基づいて、最良の第1指標の値を有するパラメーターセットおよび最良の第2指標の値を有するパラメーターセット以外のパラメーターセットを、選択することができる。このため、最良の第1指標の値を有するパラメーターセットおよび最良の第2指標の値を有するパラメーターセットのみに基づく表示が、表示部に行われる態様に比べて、第1指標および第2指標について、いずれも満足しうる値を実現できるパラメーターセットをユーザーが選択することができる可能性が高い。
(11)本開示の他の形態によれば、コンピューターに、ロボットのパラメーターに関する表示を行わせるためのプログラムが提供される。このプログラムは、ロボットの制御結果を評価するための第1指標と第2指標を決定する第1機能と、前記ロボットを制御するためのあるパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する第2機能と、前記パラメーターセットならびに取得された前記第1指標の値および前記第2指標の値に基づいて、前記第1指標および前記第2指標を含む関数を目的関数とする多目的最適化手法を用いて、新たなパラメーターセットを決定する第3機能と、前記新たなパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する第4機能と、前記新たなパラメーターセットを決定する機能および前記第1指標の値および前記第2指標の値を取得する機能と、を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する第5機能と、前記複数のパラメーターセットのうちの2以上のパラメーターセットについて、それぞれの前記第1指標の値および前記第2指標の値に基づく表示を表示部に行う機能であって、前記2以上のパラメーターセットは、第1パラメーターセットと第2パラメーターセットを含み、前記第1パラメーターセットと前記第2パラメーターセットは、前記第1パラメーターセットの前記第1指標の値が、前記第2パラメーターセットの前記第1指標の値よりも優れていることと、前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れていることと、の少なくとも一方を満たす、第6機能と、を前記コンピューターに実現させる。
(12)上記形態のプログラムは、前記第1機能が、前記ロボットの制御結果を評価するための3個以上の指標を前記表示部に表示する機能と、ユーザーからの指示に応じて、前記3個以上の指標の中から前記第1指標と前記第2指標を決定する機能と、を含む、態様とすることができる。
(13)上記形態のプログラムは、前記第6機能が、前記2以上のパラメーターセットの前記第1指標の値および前記第2指標の値に基づいて、前記表示部にグラフを表示する機能を含む、態様とすることができる。
(14)上記形態のプログラムは、前記2以上のパラメーターセットが、前記第1指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセット、または前記第2指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセットによって構成されている、態様とすることができる。
(15)上記形態のプログラムは、さらに、前記第6機能を実行した後、ユーザーからの再探索の指示に応じて、パラメーターセットの前記第1指標と前記第2指標との少なくとも一方について、それまでに行われた前記第3機能および前記第4機能の処理に比べてより狭い範囲について、前記第3機能および前記第4機能の処理を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する第7機能と、前記第7機能の処理で得られた複数のパラメーターセットについて、前記第6機能を実行する第8機能と、を前記コンピューターに実現させる態様とすることができる。
(16)本開示の他の形態によれば、ロボットのパラメーターに関する表示を行う情報処理装置が提供される。この情報処理装置は、ロボットの制御結果を評価するための第1指標と第2指標を決定する指標決定部と、前記ロボットを制御するためのあるパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する第1評価処理を実行する第1評価部と、前記パラメーターセットならびに取得された前記第1指標の値および前記第2指標の値に基づいて、前記第1指標および前記第2指標を含む関数を目的関数とする多目的最適化手法を用いて、新たなパラメーターセットを決定する新パラメーター決定処理を実行する新パラメーター決定部と、前記新たなパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する第2評価処理を実行する第2評価部と、前記新パラメーター決定部による前記新パラメーター決定処理と、前記第2評価部による前記第2評価処理と、を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得するパラメーター取得部と、前記複数のパラメーターセットのうちの2以上のパラメーターセットについて、それぞれの前記第1指標の値および前記第2指標の値に基づく表示を表示部に行う表示処理を実行する表示制御部であって、前記2以上のパラメーターセットは、第1パラメーターセットと第2パラメーターセットを含み、前記第1パラメーターセットと前記第2パラメーターセットは、前記第1パラメーターセットの前記第1指標の値が、前記第2パラメーターセットの前記第1指標の値よりも優れていることと、前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れていることと、の少なくとも一方を満たす、表示制御部と、を備える。
(17)上記形態の情報処理装置は、前記指標決定部が、前記ロボットの制御結果を評価するための3個以上の指標を前記表示部に表示する処理と、ユーザーからの指示に応じて、前記3個以上の指標の中から前記第1指標と前記第2指標を決定する処理と、を実行する、態様とすることができる。
(18)上記形態の情報処理装置は、前記表示制御部は、前記2以上のパラメーターセットの前記第1指標の値および前記第2指標の値に基づいて、前記表示部にグラフを表示する、態様とすることができる。
(19)上記形態の情報処理装置は、前記2以上のパラメーターセットが、前記第1指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセット、または前記第2指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセットによって構成されている、態様とすることができる。
(20)上記形態の情報処理装置は、さらに、前記表示制御部による前記表示処理の後、ユーザーからの再探索の指示に応じて、パラメーターセットの前記第1指標と前記第2指標との少なくとも一方について、それまでに行われた前記新パラメーター決定部による前記新パラメーター決定処理および第2評価部による前記第2評価処理に比べてより狭い範囲について、前記新パラメーター決定部による前記新パラメーター決定処理および第2評価部による前記第2評価処理を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する再探索部を備え、前記表示制御部は、前記再探索部によって得られた複数のパラメーターセットについて、前記表示処理を実行する、態様とすることができる。
本開示は、上記以外の種々の形態で実現することも可能である。例えば、ロボットシステムの制御装置、その制御装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体等の形態で実現することができる。
A…アーム、A1~A6…アーム部材、Ast…基準目標加速度、B11~B16…ボタン、B21~B25…ボタン、B41~B44…ボタン、B51…決定ボタン、B52…キャンセルボタン、B56…決定ボタン、B57…キャンセルボタン、B58…再探索ボタン、B61~B64…ボタン、D11…選択窓、D12…選択窓、Da…回転角度、Dc…制御量、De…偏差、Dt…目標角度、E1~E6…エンコーダー、I…イナーシャ、I211…ユーザーインターフェイス画面、I212…ユーザーインターフェイス画面、I251…ユーザーインターフェイス画面、I251g…グラフ、I252…ユーザーインターフェイス画面、I252t…リスト、I253…ユーザーインターフェイス画面、I253g…グラフ、I254…ユーザーインターフェイス画面、I254t…リスト、I255…ユーザーインターフェイス画面、I255t…リスト、Imax…イナーシャの最大値、Imin…イナーシャの最小値、Ith…イナーシャの閾値、J1~J6…関節、Kpd…微分ゲイン、Kpi…積分ゲイン、Kpp…比例ゲイン、Kvd…微分ゲイン、Kvi…積分ゲイン、Kvp…比例ゲイン、L…位置、L1…オーバーシュート量の許容範囲の上限、L2…オーバーシュート量の許容範囲の下限、L21~L25…項、L41~L44…項、L61~L64…項、Lmax…オーバーシュート、Lpm…TCPの位置ずれの閾値、Lt…目標位置、M1~M6…モーター、OS…オーバーシュート量、OT…動作時間、PS1~PS5…パラメーターセット、RP…参照点、Rt…周波数帯、S1…加速度センサー、S2…加速度センサー、S3…マイクロフォン、SS1~SS4…区間、T…基台、TCP…ツールセンターポイント、Ts…整定時間、U1…座標系の対応関係、U2…座標系の対応関係、V…TCPの速度、W…対象物、a0…制限最大加速度、a1…上限最大加速度、b…基準目標加速度の傾き、t1~t4…時刻、1…ロボット、2…ロボット、3…ロボット、20…光学系、21…撮像部、22…照明部、23…グリッパー、40…制御装置、42…検出部、43…制御部、43a…位置制御部、43d…サーボ、44…記憶部、44a…パラメーター、44b…ロボットプログラム、44c…動作パラメーター、44d…光学パラメーター、600…設定装置、602…ディスプレイ、604…キーボード、605…マウス、610…CPU、611…動作実行部、612…パラメーター探索部、612a…指標決定部、612b…新パラメーター決定部、612c…パラメーター取得部、612d…再探索部、613…評価部、613a…動作時間計測部、613b…オーバーシュート量計測部、613c…振動量計測部、613d…騒音レベル計測部、613e…推定寿命計算部、613f…トルク割合計算部、614…表示制御部、630…RAM、640…ROM
Claims (20)
- ロボットのパラメーターに関する表示を行う方法であって、
(a)ロボットの制御結果を評価するための第1指標と第2指標を決定する工程と、
(b)前記ロボットを制御するためのあるパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する工程と、
(c)前記パラメーターセットならびに取得された前記第1指標の値および前記第2指標の値に基づいて、前記第1指標および前記第2指標を含む関数を目的関数とする多目的最適化手法を用いて、新たなパラメーターセットを決定する工程と、
(d)前記新たなパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する工程と、
(e)前記工程(c)および(d)を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する工程と、
(f)前記複数のパラメーターセットのうちの2以上のパラメーターセットについて、それぞれの前記第1指標の値および前記第2指標の値に基づく表示を表示部に行う工程であって、
前記2以上のパラメーターセットは、第1パラメーターセットと第2パラメーターセットを含み、
前記第1パラメーターセットと前記第2パラメーターセットは、
前記第1パラメーターセットの前記第1指標の値が、前記第2パラメーターセットの前記第1指標の値よりも優れていることと、
前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れていることと、の少なくとも一方を満たす、工程と、を含む、方法。 - 請求項1に記載の方法であって、さらに、
(g)ユーザーから、前記2以上のパラメーターセットのうち一つのパラメーターセットを指定する指示を、受け取る工程を含む、方法。 - 請求項1または2に記載の方法であって、
前記工程(a)は、
前記ロボットの制御結果を評価するための3個以上の指標を前記表示部に表示する工程と、
ユーザーからの指示に応じて、前記3個以上の指標の中から前記第1指標と前記第2指標を決定する工程と、を含む、方法。 - 請求項1から3のいずれか1項に記載の方法であって、
前記第1パラメーターセットの前記第1指標の値は、前記第2パラメーターセットの前記第1指標の値よりも優れており、
前記第2パラメーターセットの前記第2指標の値は、前記第1パラメーターセットの前記第2指標の値よりも優れている、方法。 - 請求項1から4のいずれか1項に記載の方法であって、
前記工程(f)は、前記2以上のパラメーターセットの前記第1指標の値および前記第2指標の値に基づいて、前記表示部にグラフを表示する工程を含む、方法。 - 請求項1から5のいずれか1項に記載の方法であって、
前記工程(f)は、前記2以上のパラメーターセットにそれぞれ対応する項であって、前記第1指標の値および前記第2指標の値を含む項を含み、前記各項が、前記第1指標の値または前記第2指標の値の順に並べられているリストを表示する工程を含む、方法。 - 請求項6に記載の方法であって、
前記各項は、前記2以上のパラメーターセットのそれぞれの前記第1指標の順位と、前記2以上のパラメーターセットのそれぞれの前記第2指標の順位と、の少なくとも一方を含む、方法。 - 請求項1から7のいずれか1項に記載の方法であって、
前記2以上のパラメーターセットは、前記第1指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセット、または前記第2指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセットによって構成されている、方法。 - 請求項1から8のいずれか1項に記載の方法であって、さらに、
(h)前記工程(f)の後、ユーザーからの再探索の指示に応じて、パラメーターセットの前記第1指標と前記第2指標との少なくとも一方について、それまでに行われた前記工程(c)および(d)の処理に比べてより狭い範囲について、前記工程(c)および(d)を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する工程と、
(i)前記工程(h)で得られた複数のパラメーターセットについて、前記工程(f)を実行する工程と、を含む、方法。 - 請求項1から9のいずれか1項に記載の方法であって、
前記2以上のパラメーターセットは、前記複数のパラメーターセットのうちのパレート解である3以上のパラメーターセットによって構成される、方法。 - コンピューターに、ロボットのパラメーターに関する表示を行わせるためのプログラムであって、
ロボットの制御結果を評価するための第1指標と第2指標を決定する第1機能と、
前記ロボットを制御するためのあるパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する第2機能と、
前記パラメーターセットならびに取得された前記第1指標の値および前記第2指標の値に基づいて、前記第1指標および前記第2指標を含む関数を目的関数とする多目的最適化手法を用いて、新たなパラメーターセットを決定する第3機能と、
前記新たなパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する第4機能と、
前記新たなパラメーターセットを決定する機能および前記第1指標の値および前記第2指標の値を取得する機能と、を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する第5機能と、
前記複数のパラメーターセットのうちの2以上のパラメーターセットについて、それぞれの前記第1指標の値および前記第2指標の値に基づく表示を表示部に行う機能であって、
前記2以上のパラメーターセットは、第1パラメーターセットと第2パラメーターセットを含み、
前記第1パラメーターセットと前記第2パラメーターセットは、
前記第1パラメーターセットの前記第1指標の値が、前記第2パラメーターセットの前記第1指標の値よりも優れていることと、
前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れていることと、の少なくとも一方を満たす、第6機能と、
を前記コンピューターに実現させるためのプログラム。 - 請求項11に記載のプログラムであって、
前記第1機能は、
前記ロボットの制御結果を評価するための3個以上の指標を前記表示部に表示する機能と、
ユーザーからの指示に応じて、前記3個以上の指標の中から前記第1指標と前記第2指標を決定する機能と、を含む、プログラム。 - 請求項11または12に記載のプログラムであって、
前記第6機能は、前記2以上のパラメーターセットの前記第1指標の値および前記第2指標の値に基づいて、前記表示部にグラフを表示する機能を含む、プログラム。 - 請求項11から13のいずれか1項に記載のプログラムであって、
前記2以上のパラメーターセットは、前記第1指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセット、または前記第2指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセットによって構成されている、プログラム。 - 請求項11から14のいずれか1項に記載のプログラムであって、さらに、
前記第6機能を実行した後、ユーザーからの再探索の指示に応じて、パラメーターセットの前記第1指標と前記第2指標との少なくとも一方について、それまでに行われた前記第3機能および前記第4機能の処理に比べてより狭い範囲について、前記第3機能および前記第4機能の処理を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する第7機能と、
前記第7機能の処理で得られた複数のパラメーターセットについて、前記第6機能を実行する第8機能と、
を前記コンピューターに実現させる、プログラム。 - ロボットのパラメーターに関する表示を行う情報処理装置であって、
ロボットの制御結果を評価するための第1指標と第2指標を決定する指標決定部と、
前記ロボットを制御するためのあるパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する第1評価処理を実行する第1評価部と、
前記パラメーターセットならびに取得された前記第1指標の値および前記第2指標の値に基づいて、前記第1指標および前記第2指標を含む関数を目的関数とする多目的最適化手法を用いて、新たなパラメーターセットを決定する新パラメーター決定処理を実行する新パラメーター決定部と、
前記新たなパラメーターセットを使用して前記ロボットを動作させた場合の前記第1指標の値および前記第2指標の値を取得する第2評価処理を実行する第2評価部と、
前記新パラメーター決定部による前記新パラメーター決定処理と、前記第2評価部による前記第2評価処理と、を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得するパラメーター取得部と、
前記複数のパラメーターセットのうちの2以上のパラメーターセットについて、それぞれの前記第1指標の値および前記第2指標の値に基づく表示を表示部に行う表示処理を実行する表示制御部であって、
前記2以上のパラメーターセットは、第1パラメーターセットと第2パラメーターセットを含み、
前記第1パラメーターセットと前記第2パラメーターセットは、
前記第1パラメーターセットの前記第1指標の値が、前記第2パラメーターセットの前記第1指標の値よりも優れていることと、
前記第2パラメーターセットの前記第2指標の値が、前記第1パラメーターセットの前記第2指標の値よりも優れていることと、の少なくとも一方を満たす、表示制御部と、を備える、情報処理装置。 - 請求項16に記載の情報処理装置であって、
前記指標決定部は、
前記ロボットの制御結果を評価するための3個以上の指標を前記表示部に表示する処理と、
ユーザーからの指示に応じて、前記3個以上の指標の中から前記第1指標と前記第2指標を決定する処理と、を実行する、情報処理装置。 - 請求項16または17に記載の情報処理装置であって、
前記表示制御部は、前記2以上のパラメーターセットの前記第1指標の値および前記第2指標の値に基づいて、前記表示部にグラフを表示する、情報処理装置。 - 請求項16から18のいずれか1項に記載の情報処理装置であって、
前記2以上のパラメーターセットは、前記第1指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセット、または前記第2指標について設けられた複数の区間について、それぞれ一つずつ選択されたパレート解であるパラメーターセットによって構成されている、情報処理装置。 - 請求項16から19のいずれか1項に記載の情報処理装置であって、さらに、
前記表示制御部による前記表示処理の後、ユーザーからの再探索の指示に応じて、パラメーターセットの前記第1指標と前記第2指標との少なくとも一方について、それまでに行われた前記新パラメーター決定部による前記新パラメーター決定処理および第2評価部による前記第2評価処理に比べてより狭い範囲について、前記新パラメーター決定部による前記新パラメーター決定処理および第2評価部による前記第2評価処理を繰り返し実行して、複数のパラメーターセット、ならびに、前記複数のパラメーターセットのそれぞれの前記第1指標の値および前記第2指標の値を取得する再探索部を備え、
前記表示制御部は、前記再探索部によって得られた複数のパラメーターセットについて、前記表示処理を実行する、情報処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020161005A JP2022054043A (ja) | 2020-09-25 | 2020-09-25 | ロボットの制御パラメーターに関する表示を行う方法、プログラム、および情報処理装置 |
CN202111109609.9A CN114248267B (zh) | 2020-09-25 | 2021-09-22 | 参数显示方法、存储介质及信息处理装置 |
US17/482,457 US20220101213A1 (en) | 2020-09-25 | 2021-09-23 | Method of performing display with respect to control parameters for robot, program, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020161005A JP2022054043A (ja) | 2020-09-25 | 2020-09-25 | ロボットの制御パラメーターに関する表示を行う方法、プログラム、および情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022054043A true JP2022054043A (ja) | 2022-04-06 |
Family
ID=80790117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020161005A Pending JP2022054043A (ja) | 2020-09-25 | 2020-09-25 | ロボットの制御パラメーターに関する表示を行う方法、プログラム、および情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220101213A1 (ja) |
JP (1) | JP2022054043A (ja) |
CN (1) | CN114248267B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024004171A1 (ja) * | 2022-06-30 | 2024-01-04 | ファナック株式会社 | ロボット制御装置及びロボット制御システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600149B2 (en) * | 2010-07-15 | 2017-03-21 | Nec Corporation | Display processing system, display processing method, and information storage medium |
DE112012006178B4 (de) * | 2012-04-02 | 2019-04-25 | Mitsubishi Electric Corporation | Parametereinstellvorrichtung |
JP6803570B2 (ja) * | 2016-09-08 | 2020-12-23 | パナソニックIpマネジメント株式会社 | カメラパラメタセット算出装置、カメラパラメタセット算出方法、および、プログラム |
CN107718017B (zh) * | 2017-10-24 | 2019-11-08 | 北京镁伽机器人科技有限公司 | 运动部件的参数显示方法、介质、运动控制部件和机器人 |
CN111344120B (zh) * | 2017-11-14 | 2023-04-07 | 三菱电机株式会社 | 机器人的动作调整装置、动作控制系统及机器人系统 |
JP2019113985A (ja) * | 2017-12-22 | 2019-07-11 | セイコーエプソン株式会社 | 最適化方法、制御装置、およびロボット |
CN109605367B (zh) * | 2018-11-13 | 2021-01-26 | 上海鲸鱼机器人科技有限公司 | 一种机器人编程方法、装置及设备、存储介质 |
-
2020
- 2020-09-25 JP JP2020161005A patent/JP2022054043A/ja active Pending
-
2021
- 2021-09-22 CN CN202111109609.9A patent/CN114248267B/zh active Active
- 2021-09-23 US US17/482,457 patent/US20220101213A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024004171A1 (ja) * | 2022-06-30 | 2024-01-04 | ファナック株式会社 | ロボット制御装置及びロボット制御システム |
Also Published As
Publication number | Publication date |
---|---|
CN114248267A (zh) | 2022-03-29 |
CN114248267B (zh) | 2023-06-02 |
US20220101213A1 (en) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114474039B (zh) | 支持机器人的参数集的调整的方法以及信息处理装置 | |
Muller | Internal preload control of redundantly actuated parallel manipulators—its application to backlash avoiding control | |
US7912584B2 (en) | Power consumption estimation apparatus | |
CN109848983A (zh) | 一种高顺应性人引导机器人协同作业的方法 | |
Forrest-Barlach et al. | Inverse dynamics position control of a compliant manipulator | |
US8406921B2 (en) | Method and device for controlling a manipulator | |
CN106625684B (zh) | 一种用于机器人耦合动态特性分析与控制的系统和方法 | |
CN111230882B (zh) | 水果分拣并联机器人夹持机构的自适应变阻抗控制方法 | |
KR20220155921A (ko) | 로봇 디바이스를 제어하기 위한 방법 | |
SE516720C2 (sv) | Utrustning för styrning av en industrirobot och förfarande för programmering och/eller justering av robotens rörelse | |
Sun | Kinematics model identification and motion control of robot based on fast learning neural network | |
CN114248267B (zh) | 参数显示方法、存储介质及信息处理装置 | |
JP2019111604A (ja) | 制御装置、ロボット、およびロボットシステム | |
JP2019113985A (ja) | 最適化方法、制御装置、およびロボット | |
CN116392253A (zh) | 一种应用于手术机器人的主动摆位方法及系统 | |
CN114211502B (zh) | 机器人负载识别方法及识别装置 | |
CN115179290A (zh) | 一种机械臂及其轨迹控制方法与装置 | |
CN114367974B (zh) | 调整机器人的参数集的方法、记录介质及信息处理装置 | |
CN111203883B (zh) | 面向机器人电子元器件装配的自学习模型预测控制方法 | |
JP2020121358A (ja) | 学習制御装置、ロボット制御装置およびロボット | |
Li | Visual Calibration, Identification and Control of 6-RSS Parallel Robots | |
US20230001574A1 (en) | Operation Parameter Adjusting Method And Operation Parameter Adjusting Device For Adjusting Operation Parameters Of Robot | |
Lei et al. | Vision-based position/impedance control for robotic assembly task | |
CN111687833B (zh) | 机械手逆优先级阻抗控制系统及控制方法 | |
WO2023165177A1 (zh) | 构建机器人的控制器的方法、机器人的运动控制方法、装置以及机器人 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210913 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20211108 |