JP2023007691A - ロボットの制御パラメーターを設定する方法,ロボットシステム、及び、コンピュータープログラム - Google Patents
ロボットの制御パラメーターを設定する方法,ロボットシステム、及び、コンピュータープログラム Download PDFInfo
- Publication number
- JP2023007691A JP2023007691A JP2021110694A JP2021110694A JP2023007691A JP 2023007691 A JP2023007691 A JP 2023007691A JP 2021110694 A JP2021110694 A JP 2021110694A JP 2021110694 A JP2021110694 A JP 2021110694A JP 2023007691 A JP2023007691 A JP 2023007691A
- Authority
- JP
- Japan
- Prior art keywords
- value
- constraint
- objective function
- robot
- values
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4083—Adapting programme, configuration
-
- 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
- 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/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35356—Data handling
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
【課題】ロボットの制御パラメーターを適切に設定できる技術を提供する。【解決手段】本開示の方法は、(a)目的関数と制約条件の設定を受け付ける工程と、(b)制御パラメーターの候補値を用いてロボットに作業を実行させて、目的関数用の性能指標値と制約評価値とを測定する工程と、(c)目的関数の値を用いて最適化処理を実行することによって、制御パラメーターの次の候補値を探索する工程と、(d)上記工程(b),(c)を繰り返すことによって、複数の候補値について目的関数の値と制約評価値とを求める工程と、(e)複数の候補値のそれぞれについて、目的関数の値と制約評価値とを示す相関図を含む処理結果を表示する工程と、を含む。【選択図】図3
Description
本開示は、ロボットの制御パラメーターを設定する方法,ロボットシステム、及び、コンピュータープログラムに関する。
特許文献1には、サーボモーターを制御するサーボ制御装置に対して、機械学習を行って制御パラメーターを設定する機械学習装置が開示されている。この機械学習装置は、サーボデータを用いて計算された評価関数値を複数取得し、取得した複数の評価関数値を出力する。制御パラメーターは、これらの複数の評価関数値に応じて設定される。
しかしながら、ロボットは、サーボモーターに比べて動作や制御内容が複雑なので、ロボットの制御パラメーターを適切に設定するのが困難であるという問題があった。
本開示の第1の形態によれば、ロボットの制御パラメーターを設定する方法が提供される。この方法は、(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける工程と、(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための性能指標値と、前記制約条件に関する制約評価値と、を測定する工程と、(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する工程と、(d)前記工程(b)と前記工程(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める工程と、(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する工程と、を含む。
本開示の第2の形態によれば、ロボットシステムが提供される。このロボットシステムは、ロボットと、前記ロボットの制御による作業において、特定の性能指標値と特定の制約評価値を検出するセンサー類と、前記ロボットの制御パラメーターを設定する処理を実行するパラメーター設定部と、を備える。前記パラメーター設定部は、(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける処理と、(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための前記性能指標値と、前記制約条件に関する前記制約評価値と、を測定する処理と、(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する処理と、(d)前記処理(b)と前記処理(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める処理と、(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する処理と、を実行する。
本開示の第3の形態によれば、ロボットの制御パラメーターを設定する処理をプロセッサーに実行させるコンピュータープログラムが提供される。このコンピュータープログラムは、(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける処理と、(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための性能指標値と、前記制約条件に関する制約評価値と、を測定する処理と、(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する処理と、(d)前記処理(b)と前記処理(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める処理と、(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する処理と、を前記プロセッサーに実行させる。
図1は、実施形態におけるロボット制御システムの一例を示す説明図である。このロボット制御システムは、ロボット100と、ロボット100を制御する制御装置200と、情報処理装置300と、を備える。ロボット100は、架台500上に設置されている。情報処理装置300は、例えばパーソナルコンピューターである。
ロボット100は、基台110と、ロボットアーム120と、を備えている。ロボットアーム120の先端部には、エンドエフェクター150が装着されている。また、ロボットアーム120の手先には、振動センサー410と力センサー420が設置されている。本開示において、「ロボットアーム120の手先」とは、ロボットアーム120の先端からエンドエフェクター150までの部分を意味する。
ロボットアーム120は、4つの関節J1~J4で順次接続されている。「関節(joint)」を「軸(axis)」とも呼ぶ。ロボットアーム120の先端部の近傍には、ロボット100の制御点としてのTCP(Tool Center Point)が設定されている。「制御点」とは、ロボットアーム120を制御する基準となる点である。TCPは、任意の位置に設定することが可能である。ロボット100の制御は、このTCPの位置と姿勢を制御することを意味する。本実施形態では、ロボットアーム120が4つの関節J1~J4を有する4軸ロボットを例示しているが、1個以上の関節を有する任意のアーム機構を有するロボットを用いることが可能である。また、本実施形態のロボット100は、水平多関節ロボットであるが、垂直多関節ロボットを使用してもよい。
振動センサー410は、ロボット100の振動を検出可能なセンサーである。一般に、振動は、位置と速度と加速度のいずれかの時系列的な変化を測定することによって検出することができる。振動センサー410としては、例えば、位置センサーや、ジャイロセンサー、加速度センサー、慣性計測装置(Inertial Measurement Unit)などを使用することができる。なお、ロボットアーム120の手先以外の位置に振動センサー410を設置してもよい。例えば、架台500の振動が最適化処理の制約条件となる場合には、架台500に振動センサーを設置してもよい。なお、振動を制約条件としない場合には、振動センサー410は省略可能である。
力センサー420は、エンドエフェクター150に掛かる力を検出するセンサーである。力センサー420としては、単軸方向の力を検出可能なロードセルや、複数の軸方向の力成分を検出可能な力覚センサーやトルクセンサーを利用可能である。本実施形態では、力センサー420として、6軸の力覚センサーを用いている。6軸の力覚センサーは、固有のセンサー座標系において互いに直交する3個の検出軸に平行な力の大きさと、3個の検出軸まわりのトルクの大きさとを検出する。なお、力センサー420は、ロボットアーム120の手先以外の位置に設けるようにしてもよく、例えば、関節J1~J4のうちの1つ以上の関節に設けるようにしてもよい。
本実施形態において、ロボット100は、第1ワークWK1を第2ワークWK2の孔HLに嵌め込むことによって、2つのワークWK1,WK2を組み立てる作業を実行する。この作業では、力センサー420で検出される力を用いた力制御が実行される。なお、力制御を利用しない場合には、力センサー420は省略可能である。
図2は、情報処理装置300の機能を示すブロック図である。情報処理装置300は、プロセッサー310と、メモリー320と、インターフェイス回路330と、インターフェイス回路330に接続された入力デバイス340及び表示部350と、を有している。インターフェイス回路330には、更に、制御装置200が接続されている。ロボット100のセンサー類400の計測結果は、制御装置200を介して情報処理装置300に供給される。
センサー類(sensors)400は、図1で説明した振動センサー410及び力センサー420の他に、ロボット100の各関節に設けられたモーターの電流を測定する電流センサー430と、各関節の動作位置を検出する関節エンコーダー440とを含んでいる。センサー類400の少なくとも一部は、後述する動作パラメーターの最適化処理に使用される性能指標値や制約評価値を求めるために利用される。
プロセッサー310は、ロボット100の制御パラメーターを設定するパラメーター設定部311としての機能を有する。パラメーター設定部311は、動作実行部312とパラメーター探索部314の機能を含む。動作実行部312は、ロボット制御プログラムに従ってロボット100に作業を実行させる。パラメーター探索部314は、ロボット100の制御パラメーターを探索する処理を実行する。パラメーター設定部311の機能は、メモリー320に格納されたコンピュータープログラムをプロセッサー310が実行することによって実現される。但し、パラメーター設定部311の機能の一部又は全部をハードウェア回路で実現してもよい。
メモリー320には、パラメーター初期値IPと、探索条件SCと、最適化結果ORと、ロボット制御プログラムRPが格納される。パラメーター初期値IPは、制御パラメーターの初期値である。探索条件SCは、最適化処理において制御パラメーターの探索を行う際の条件である。最適化結果ORは、制御パラメーターの最適化処理の結果である。ロボット制御プログラムRPは、ロボット100を動作させる複数の命令で構成される。
図3は、制御パラメーターの設定処理の手順を示すフローチャートである。ステップS110では、作業者が、制御パラメーターの設定対象とする作業と、評価用動作とを選択し、パラメーター探索部314がその選択を受け付ける。本実施形態では、図1に示した2つのワークWK1,WK2の嵌め込み作業が選択される。ロボット制御プログラムRPは、この作業の動作を記述したプログラムである。
評価用動作は、最適化処理の目的関数や制約条件を評価する対象となる動作を意味する。本実施形態では、評価用動作として、例えば以下の5つの動作を使用する。
(1)動作M1:エンドエフェクター150を第1ワークWK1の上方に移動させた後、第1ワークWK1の位置に下降させる。
(2)動作M2:エンドエフェクター150で第1ワークWK1を把持する。
(3)動作M3:把持した第1ワークWK1を上昇させ、水平に移動して第2ワークWK2の上方に移動させた後、第2ワークWK2の直上まで下降させる。
(4)動作M4:第1ワークWK1を第2ワークWK2に嵌合する。
(5)動作M5:第1ワークWK1を解放して、エンドエフェクター150を上方に待避させる。
なお、評価用動作としては、これらの例よりも更に細かく分割したものを使用しても良い。例えば、上記動作M3において、移動時に手先を90度回転させたようなアーチ動作をさせる場合には、上記動作M3を、上昇時の動作と、水平移動時の動作と、下降時の動作と、の3つに分割することによって、それぞれの動作における性能指標値や特性値をそれぞれ評価することが可能となる。但し、作業の全体を複数の評価用動作に分けることなく、作業の全体に対する目的関数や制約条件のみを使用するようにしてもよい。
(1)動作M1:エンドエフェクター150を第1ワークWK1の上方に移動させた後、第1ワークWK1の位置に下降させる。
(2)動作M2:エンドエフェクター150で第1ワークWK1を把持する。
(3)動作M3:把持した第1ワークWK1を上昇させ、水平に移動して第2ワークWK2の上方に移動させた後、第2ワークWK2の直上まで下降させる。
(4)動作M4:第1ワークWK1を第2ワークWK2に嵌合する。
(5)動作M5:第1ワークWK1を解放して、エンドエフェクター150を上方に待避させる。
なお、評価用動作としては、これらの例よりも更に細かく分割したものを使用しても良い。例えば、上記動作M3において、移動時に手先を90度回転させたようなアーチ動作をさせる場合には、上記動作M3を、上昇時の動作と、水平移動時の動作と、下降時の動作と、の3つに分割することによって、それぞれの動作における性能指標値や特性値をそれぞれ評価することが可能となる。但し、作業の全体を複数の評価用動作に分けることなく、作業の全体に対する目的関数や制約条件のみを使用するようにしてもよい。
ステップS120では、作業者が、制御パラメーターの最適化処理における探索条件を設定し、パラメーター探索部314がその設定を受け付ける。探索条件としては、目的関数と、制約条件と、制御パラメーターの探索範囲と、制御パラメーターの初期値とが設定される。
<目的関数>
本実施形態では、目的関数yとして、次式で与えられる複数の評価用動作の平均速度を使用する。
y=(d1/t1+ d2/t2+…+ dN/tN)/N (E1)
ここで、diはi番目の評価用動作における制御点TCPの移動距離、tiはi番目の評価用動作の所要時間、Nは評価用動作の数である。Nは、1以上の任意の整数である。
上記目的関数yは大きい方が好ましいので、最適化処理では、目的関数yを増大させるように制御パラメーターの候補値が探索される。なお、目的関数の指標値としては、上述した平均速度以外の任意の指標値を使用することが可能であり、例えば、作業のタクトタイムを目的関数の指標値として使用してもよい。タクトタイムを目的関数とする場合には、目的関数が小さい方が好ましいので、目的関数を減少させるように制御パラメーターの候補値が探索される。
本実施形態では、目的関数yとして、次式で与えられる複数の評価用動作の平均速度を使用する。
y=(d1/t1+ d2/t2+…+ dN/tN)/N (E1)
ここで、diはi番目の評価用動作における制御点TCPの移動距離、tiはi番目の評価用動作の所要時間、Nは評価用動作の数である。Nは、1以上の任意の整数である。
上記目的関数yは大きい方が好ましいので、最適化処理では、目的関数yを増大させるように制御パラメーターの候補値が探索される。なお、目的関数の指標値としては、上述した平均速度以外の任意の指標値を使用することが可能であり、例えば、作業のタクトタイムを目的関数の指標値として使用してもよい。タクトタイムを目的関数とする場合には、目的関数が小さい方が好ましいので、目的関数を減少させるように制御パラメーターの候補値が探索される。
<制約条件>
制約条件としては、例えば、以下のような各種の制約評価値(Constraint Evaluation)のうちの1つ以上に関する条件を使用することができる。
(1)オーバーシュート量:目標位置に到達する際の位置のオーバーシュート量である。
このオーバーシュート量は、振動センサー410と関節エンコーダー440の測定結果から算出される。
(2)ピークトルク:ロボットアーム120の各軸のモーターのピークトルクである。
ピークトルクは、電流センサー430の測定結果から算出される。
(3)最大合成力:力センサー420で測定された3軸方向の力の合成力の最大値である。
(4)減速機の寿命予測値:ロボットアーム120の各軸に設けられた減速機の寿命の予測値である。
この寿命予測値は、振動センサー410や関節エンコーダー440の測定結果から算出される。
制約条件としては、例えば、以下のような各種の制約評価値(Constraint Evaluation)のうちの1つ以上に関する条件を使用することができる。
(1)オーバーシュート量:目標位置に到達する際の位置のオーバーシュート量である。
このオーバーシュート量は、振動センサー410と関節エンコーダー440の測定結果から算出される。
(2)ピークトルク:ロボットアーム120の各軸のモーターのピークトルクである。
ピークトルクは、電流センサー430の測定結果から算出される。
(3)最大合成力:力センサー420で測定された3軸方向の力の合成力の最大値である。
(4)減速機の寿命予測値:ロボットアーム120の各軸に設けられた減速機の寿命の予測値である。
この寿命予測値は、振動センサー410や関節エンコーダー440の測定結果から算出される。
本実施形態では、主として、オーバーシュート量を制約評価値とし、その上限値を制約条件として設定する場合を想定する。ただし、1つ以上の制約評価値に関する制約条件を設定しても良い。本開示において、「制約評価値」とは、制約条件の対象となる特定の性能指標値であって、センサー類400の測定結果から得られる値を意味する。制約条件は、制約評価値の種類と、制約評価値の上限値又は下限値によって設定される。
<制御パラメーターとその探索範囲及び初期値>
最適化処理では、例えば、以下の制御パラメーターのうちの1つ以上を探索の対象とすることができる。
(1)ロボットアーム120の各軸の最大加速度(Max Acceleration)
(2)ロボットアーム120の各軸の最大減速度(Max Deceleration)
(3)力制御における仮想質量係数、仮想粘性係数、及び、仮想弾性係数などの係数
最適化処理では、例えば、以下の制御パラメーターのうちの1つ以上を探索の対象とすることができる。
(1)ロボットアーム120の各軸の最大加速度(Max Acceleration)
(2)ロボットアーム120の各軸の最大減速度(Max Deceleration)
(3)力制御における仮想質量係数、仮想粘性係数、及び、仮想弾性係数などの係数
本実施形態では、各軸の最大加速度と最大減速度を最適化処理の対象とする場合を想定する。制御パラメーターの探索範囲及び初期値は、経験的に決定されたものが使用される。
ステップS130では、パラメーター探索部314が、設定された探索条件に従って制御パラメーターの最適化処理を実行する。
図4は、ステップS130における最適化処理の詳細手順を示すフローチャートである。ステップS210では、パラメーター探索部314が、制御パラメーターの候補値を探索する。この探索は、例えば、CMA-ES(Covariance Matrix Adaptation Evolution Strategy)などの最適化アルゴリズムを用いて実行される。なお、ステップS210が最初に実行される際には、制御パラメーターの候補値として、ステップS120で設定された初期値が使用される。
ステップS220では、パラメーター探索部314が、ステップS210で選択された制御パラメーターの候補値を、ロボット制御プログラムRPに設定する。ステップS230では、動作実行部312が、ロボット制御プログラムRPに従って、上述した複数の評価用動作M1~M5を含む作業を実行する。これらの動作中には、センサー類400の測定値が取得される。また、制約条件の対象となる制約評価値も算出される。本実施形態では、制約評価値として、オーバーシュート量が求められる。
ステップS240では、パラメーター探索部314が、ステップS230で得られた測定結果から、上述した目的関数yの値を算出する。ステップS250では、パラメーター探索部314が、制約評価値と目的関数yの値に応じて制御パラメーターの最適値を確認する。すなわち、制約評価値が制約条件を満たしており、かつ、目的関数yの値が今までの最良値すなわち最大値である場合には、今回の候補値が新たな最適値として更新される。一方、制約評価値が制約条件を満たしていないか、又は、目的関数yの値が今までの最良値でない場合には、以前の最適値がそのまま維持される。
ステップS260では、パラメーター探索部314が、探索終了条件が成立したか否かを判定する。探索終了条件としては、制約条件を満たしているという第1条件と、目的関数yが予め設定された目標値に達しているという第2条件、の両方が成立しているという条件を用いることができる。また、第1条件と第2条件の両方が成立していなくても、探索回数が予め設定された上限値に達した場合には、探索終了条件が成立したものと見なすようにしても良い。探索終了条件が成立していない場合には、ステップS210に戻って上述した処理が再度実行される。一方、探索終了条件が成立した場合には、図4の最適化処理が終了する。
図4におけるステップS210~S250の1回の探索処理を「イテレーション」と呼ぶ。通常は、探索終了条件が成立するまでには多数のイテレーションが実行される。1回のイテレーションは、制御パラメーターの1つの候補値に対応付けられる。そこで、以下の説明では、「イテレーション」という語句と、「制御パラメーターの候補値」又は「解」という語句が、ほぼ同じ意味で使用される。
こうして最適化処理が終了すると、図3のステップS140に進む。ステップS140では、パラメーター探索部314が、最適化処理の処理結果を表示部350に表示することによって、作業者に提示する。
図5は、最適化処理の処理結果の表示例を示す説明図である。図5には、以下の4つのウィンドウW1~W4がグラフィックス表示されている。
(1)目的関数の履歴を表示する第1ウィンドウW1
(2)目的関数と制約評価値に関する相関図を示す第2ウィンドウW2
(3)制約評価値と限界値のグラフを示す第3ウィンドウW3
(4)イテレーション結果リストを示す第4ウィンドウW4
これらの4つのウィンドウW1~W4の詳細は、それぞれ以下の通りである。
(1)目的関数の履歴を表示する第1ウィンドウW1
(2)目的関数と制約評価値に関する相関図を示す第2ウィンドウW2
(3)制約評価値と限界値のグラフを示す第3ウィンドウW3
(4)イテレーション結果リストを示す第4ウィンドウW4
これらの4つのウィンドウW1~W4の詳細は、それぞれ以下の通りである。
図6は、第1ウィンドウW1に表示される目的関数の履歴の表示例を示す説明図である。図6の横軸はイテレーションの序数、縦軸は目的関数の値である。図6には、各イテレーションで得られた目的関数の値が、以下の3種類の解に区別した状態でプロットされている。
(1)最適解(Best):制約条件を満たし、かつ、それまでのイテレーションのうちで目的関数が最良となったイテレーションを示す。本実施形態では、上述した(E1)式で与えられる平均速度を目的関数として使用するので、「目的関数が最良」とは、目的関数が最大値であることを意味する。
(2)好適解(Feasible):制約条件を満たしているが、それまでのイテレーションのうちで目的関数が最良ではないイテレーションを示す。
(3)不適解(Non-feasible):制約条件を満たしていないイテレーションを示す。
(1)最適解(Best):制約条件を満たし、かつ、それまでのイテレーションのうちで目的関数が最良となったイテレーションを示す。本実施形態では、上述した(E1)式で与えられる平均速度を目的関数として使用するので、「目的関数が最良」とは、目的関数が最大値であることを意味する。
(2)好適解(Feasible):制約条件を満たしているが、それまでのイテレーションのうちで目的関数が最良ではないイテレーションを示す。
(3)不適解(Non-feasible):制約条件を満たしていないイテレーションを示す。
図6の例では、5つの最適解BS1~BS5が表示されている。最適解の目標関数は次第に良化するので、通常は最後の最適解BS5が最も良好な解である。但し、他の最適解BS1~BS4や好適解も採用可能なので、最終候補として使用することができる。作業者は、このような目的関数の履歴図を、満足できる解が得られているか否かを判断するための判断材料として使用することが可能である。
図7は、図5の第2ウィンドウW2に表示される目的関数と制約条件に関する相関図の表示例を示す説明図である。図7の横軸は、制約評価値としての最大オーバーシュート量(Max Overshoot)、又は、最大オーバーシュート超過量(Max Overshoot Exceedance)であり、縦軸は目的関数の値である。
最大オーバーシュート量MOと最大オーバーシュート超過量MOEは、それぞれ次式に従って算出される。
MO = max{OSi} (E2)
MOE = max{OSi - Thi} (E3)
ここで、OSiはi番目の評価用動作Miにおけるオーバーシュート量の測定値、Thiはi番目の評価用動作Miにおけるオーバーシュート量の上限値、max{ }はカッコ内の最大値を取る演算である。最大オーバーシュート量MOは、複数の評価用動作Miについてのオーバーシュート量OSiの最大値である。最大オーバーシュート超過量MOEは、複数の評価用動作Miについてのオーバーシュート量OSiと上限値Thiの差分(OSi - Thi)のうちの最大値である。
MO = max{OSi} (E2)
MOE = max{OSi - Thi} (E3)
ここで、OSiはi番目の評価用動作Miにおけるオーバーシュート量の測定値、Thiはi番目の評価用動作Miにおけるオーバーシュート量の上限値、max{ }はカッコ内の最大値を取る演算である。最大オーバーシュート量MOは、複数の評価用動作Miについてのオーバーシュート量OSiの最大値である。最大オーバーシュート超過量MOEは、複数の評価用動作Miについてのオーバーシュート量OSiと上限値Thiの差分(OSi - Thi)のうちの最大値である。
最大オーバーシュート超過量MOEが0以下である解は制約条件を満たしており、最大オーバーシュート超過量MOEが0を超える解は制約条件を満たさない。なお、図7は、複数の評価用動作Miにおけるオーバーシュート量の上限値Thiが一定の場合を想定しており、この場合には、最大オーバーシュート量MOの横軸と、最大オーバーシュート超過量MOEの横軸の両方を示すことができる。後述するように、個々の評価用動作Miにおけるオーバーシュート量の上限値Thiは個別に設定可能である。上限値Thiが一定でない場合には、図7の横軸として、最大オーバーシュート超過量MOEのみが使用される。
なお、制約条件が複数存在する場合には、図7の相関図の横軸の項目として、複数の制約条件のうちの任意の1つを作業者が選択できるように相関図が構成されていることが好ましい。このような選択を行うために、例えばドロップダウンリストなどを用いることが可能である。
図7の相関図では、更に、パレート最適曲線(Pareto Front)も描かれている。このパレート最適曲線は、目的関数と共に制約評価値も目的関数の一種と見なし、多目的最適化を行ったものと考えたときの複数の最適解を示す曲線である。作業者は、このパレート最適曲線を参考として、適切な解を検討することができる。但し、パレート最適曲線の表示は省略してもよい。
図7の相関図において、作業者が1つの点を選択してクリックすると、その点における処理結果の詳細が画面に表示される。
図8は、作業者が最適解BS5を選択したときに表示される処理結果の例を示す説明図である。この例では、最適解BS5を作業者が選択したときに、そのイテレーション番号と、目的関数の値と、制約評価値とが、吹出しBL又は小ウィンドウに表示される。従って、作業者は、個々の解における目的関数や制約評価値を個別に確認することが可能である。なお、ウィンドウW2において1つの点が選択されたときには、図5の第4ウィンドウW4で表示されるイテレーション結果リストにおいて、選択された点に対応するイテレーションの結果が、他のイテレーション結果と区別可能な態様で表示されることが好ましい。区別可能な表示態様としては、例えば、ハイライト表示や、文字の色を変更した表示等を利用できる。
図9は、図5の第3ウィンドウW3に表示される制約評価値と限界値のグラフの表示例を示す説明図である。ここでは、個々の評価用動作M1,M2…に関して、制約評価値のストリップチャートSCと、制約評価値の上限値を設定するためのスライダーSLとが示されている。ストリップチャートSCは、個々の評価用動作M1,M2…におけるオーバーシュート量の履歴を、すべてのイテレーションにわたって表示したグラフである。但し、プロット点を上下に多少ずらして描画することによって、多数のイテレーションの履歴が存在することが理解できるように工夫されている。このストリップチャートSCには、制約評価値の上限値を示すラインも表示されている。従って、作業者は、どの評価用動作において制約評価値がその上限値に近づいたり超過したりしているのかを認識することができる。ストリップチャートSCに描かれている制約評価値は、個々の評価用動作におけるオーバーシュート量であり、上限値も、個々の評価用動作に対して設定された値である。スライダーSLには、制約評価値の上限値の値が表示されている。作業者は、スライダーSLを用いて、個々の評価用動作に対して個別に制約評価値の上限値を設定することが可能である。
なお、ストリップチャートSCの代わりに、バイオリン図などの他の形式のグラフを用いて、個々の評価用動作における制約評価値の履歴を表示するようにしてもよい。また、スライダーSLの代わりに、入力フィールドなどの他の変更操作部を用いて制約評価値の上限値を設定するようにしてもよい。また、制約評価値の上限値は、個々の評価用動作に対して個別に設定せず、すべての評価用動作に対して同一の値を適用するようにしてもよい。但し、個々の評価用動作に対して個別に制約評価値の上限値を設定すれば、より適切な制御パラメーターを得ることができる。なお、制約条件としては、上限値の代わりに下限値が使用される場合がある。一般に、制約条件は、制約評価値に対する制限値によって規定されるので、変更操作部は、制約評価値に対する制限値を変更する操作を作業者が行えるように構成される。
図10は、図5の第4ウィンドウW4に表示されるイテレーション結果リストの表示例を示す説明図である。このイテレーション結果リストには、イテレーション番号と、目的関数の値と、制約評価値と、最適化対象の制御パラメーターの候補値とが含まれている。図10では、制御パラメーターの候補値として、J1軸とJ2軸に関する最大加速度と最大限速度のみが例示されているが、通常は、これら以外の制御パラメーターの候補値も表示される。作業者は、イテレーション結果リストを観察することによって、個々のイテレーションにおける最適化処理の結果の詳細を確認することが可能である。
図3のステップS140における最適化結果の表示は、図5に例示したウィンドウW1~W4以外の他の形式で行うようにしてもよい。この場合にも、複数のイテレーションのそれぞれ、すなわち、制御パラメーターの複数の候補値のそれぞれについて、目的関数の値と制約評価値とを示す相関図を含むように、その処理結果を表示部350に表示することが好ましい。こうすれば、作業者がこの処理結果の表示を観察し、そのうちの適切な候補値を制御パラメーターの設定値として採用できる。
ステップS150では、作業者が、それまでの最適化処理の結果から、制御パラメーターの設定値を決定するか否かを判断する。例えば、図7や図8に示した第2ウィンドウW2を観察すると、5つの最適解BS1~BS5と複数の好適解が、採用可能な解として存在することが分かる。作業者は、これらの解を参考にして、制御パラメーターの設定値を決定することが可能である。例えば、図8において最適解BS5を選択した状態で、作業者が設定ボタンBT1をクリックすると、これに応じて、パラメーター設定部311がその最適解BS5における制御パラメーターの候補値を、制御パラメーターの設定値として採用する。この際、下位の桁の数字は重要性が低いので、丸め処理を行っても良い。なお、ステップS150における判断は、最終候補における目標関数と制約条件が、作業者の望む目標仕様を満足しているか否かに応じて行われるようにしてもよい。この目標仕様は、例えば、目的関数である平均速度の目標下限値と、制約評価値であるオーバーシュート量の目標上限値である。
作業者が制御パラメーターの設定値を決定すると、図3の処理は終了する。一方、今までの最適化処理結果から制御パラメーターの設定値を決定できない場合には、ステップS160に進む。ステップS160では、作業者が、制約条件を変更すると、パラメーター探索部314がその変更を受け付ける。制約条件は、評価用動作毎に個別に行うことができる。例えば、図9に示した第3ウィンドウW3を観察すると、第2の評価用動作M2において、制約評価値が上限値をわずかに超えている解がいくつか存在することが理解できる。このとき、作業者は、この評価用動作M2における制約評価値の上限値を変更すれば、実際にイテレーションを再度実行することなく、好適解又は最適解を増やすことができる。
図11は、第3ウィンドウW3を用いた評価用動作毎の制約条件の変更例を示す説明図である。この例では、第2の評価用動作M2において、スライダーSLを用いて、制約評価値の上限値が0.15から0.20に変更されている。また、この変更に応じて、制約評価値のストリップチャートSCにおいて、制約評価値の上限値を示すラインの位置が変更されている。
制約条件が変更されると、図3のステップS170に進み、パラメーター探索部314が、制約条件の変更に応じて最適化処理の処理結果を再計算し、作業者に提示する。この再計算では、実際にイテレーションを実行することなく、それまでに得られていた最適化処理結果のうち、制約条件を満たしていなかった不適解の一部が、好適解又は最適解に変更される。
図12は、制約条件の変更に応じた最適化処理結果の変化の例を示す説明図である。この例では、第2ウィンドウW2に示される相関図において、制約評価値の上限値が図7から変更されており、これに応じて4つの不適解が好適解に変更され、更に1つの不適解が最適解BS6に変更されている。これらの追加された好適解や最適解BS6は、制御パラメーターの設定値を決定するための候補とすることができる。
図3のステップS180では、ステップS150と同様に、作業者が、再提示された最適化処理の結果から、制御パラメーターの設定値を決定するか否かを判断する。制御パラメーターの設定値が決定されると、図3の処理は終了する。一方、制御パラメーターの設定値を決定できない場合には、ステップS190に進む。なお、「制御パラメーターの設定値を決定できない場合」とは、制御パラメーターの複数の候補値の中に、制約評価値が制約条件を満足するとともに目的関数の値が目標値に達している候補値が存在しない場合である。
ステップS190では、ステップS130における最適化処理を再度実行するために、パラメーター探索部314が、作業者に、制約条件の変更案を提示する。このステップS190は、例えば、作業者が、図11の第3ウィンドウW3において、「提案を取得」(Get Proposal)ボタンBT2をクリックすることによって開始される。制約条件の変更案は、以下で説明するような探索範囲の変化予測に応じて作成される。
図13は、制約条件の変更による探索範囲の変化の例を示す説明図である。横軸は第1の制御パラメーターの候補値、縦軸は第2の制御パラメーターの候補値である。本実施形態では、CMA-ESのような世代ベースの進化戦略に基づく最適化アルゴリズムを用いている。このような最適化アルゴリズムでは、ある世代で生成した個体のうち、適合度が上位の個体の方向へ、次の世代の個体生成分布が更新されてゆく。本実施形態では、「個体」は、制御パラメーターの候補値であり、「適合度が高い個体」は、制約条件を満たし、かつ、目的関数が良好な解である。以下の説明では、適合度が上位の個体を、単に「上位個体」とも呼ぶ。
図13では、当初設定した制約条件を適用した場合に、第1世代の探索範囲における上位個体が”Best”と表記されている。また、第1世代において、制約条件を変更して最適化処理結果を再計算すると、”Revied Best”とし表記した個体が、上位個体として追加されている。第2世代の探索範囲は、第1世代における上位個体が多く存在する方向に設定されるので、制約条件を変更すると第2世代の探索範囲も”Original Second Generation”から”Revised Second Generation”に変更される。このとき、制約条件を再設定してステップS130における最適化処理を再度実行すると、未探索だった領域へ探索が進むことが予測され、新しい解が得られる可能ある。そこで、ステップS190では、パラメーター探索部314がこのような予測に基づいて、作業者に、制約条件の変更案を提示する。
図14は、制約条件の変更の提案を行うウィンドウW5の例を示す説明図である。ここでは、評価用動作毎に、現状の制約評価値の上限値と、提案される制約評価値の上限値とが、それぞれスライダーSLの形式の変更操作部を用いて示されている。具体的には、評価用動作M3について、制約評価値の上限値が、0.15から0.20に変更する案が提示されている。なお、ウィンドウW5に、「変更案では新しい解が得られる可能性があります」等の解説を表示するようにしてもよい。また、この変更案は、作業者によって更に修正することも可能である。一方、制約評価値の上限値を変更しても新しい解が得られない可能性がある場合には、図14に例示したような変更案を表示せず、例えば「制約条件を変更しても同様の解しか得られない可能性があります」等の説明を作業者に提示するようにしてもよい。
図3のステップS200において、作業者は、この提案を参考にして、制約条件を変更する。例えば、作業者が、ウィンドウW5に設けられた変更ボタンBT3をクリックすると、制約条件の変更案の内容がパラメーター探索部314によって受け付けられて、ステップS200からステップS130に戻り、ステップS130以降の処理が再度実行される。このように、制約条件を変更して、制御パラメーターの最適化処理を再度実行すれば、さらに適切な解が得られる可能性がある。
なお、ステップS190,S200の処理は、図3のステップS130~S150の処理を1回実行した後であれば、任意のタイミングで実行することが可能である。例えば、ステップS190,S200の処理を、ステップS130~S150の処理を1回実行した直後に実行してもよく、或いは、ステップS160~S180の処理を2回以上繰り返した後に実行してもよい。
また、上述したステップS190を省略し、ステップS200において、例えば図9や図11に示した第3ウィンドウを用いて作業者が制約条件を変更して、ステップS130における最適化処理を再実行するようにしてもよい。但し、ステップS190において作業者に制約条件の変更案を提示するようにすれば、作業者が提示された制約条件の変更案を確認してから、制約条件の変更と最適化処理の再実行を開始できるという利点がある。
以上のように、上記実施形態では、制御パラメーターの複数のイテレーションで使用された複数の候補値について、目的関数の値と制約評価値とを示す相関図を含む処理結果を表示するので、この処理結果の表示に従って、適切な候補値を制御パラメーターの設定値として決定できる。
・他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
(1)ロボットの制御パラメーターを設定する方法が提供される。この方法は、(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける工程と、(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための性能指標値と、前記制約条件に関する制約評価値と、を測定する工程と、(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する工程と、(d)前記工程(b)と前記工程(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める工程と、(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する工程と、を含む。
この方法によれば、制御パラメーターの複数の候補値について、目的関数の値と制約評価値とを示す相関図を含む処理結果を表示するので、この処理結果の表示に従って、適切な候補値を制御パラメーターの設定値として決定できる。
この方法によれば、制御パラメーターの複数の候補値について、目的関数の値と制約評価値とを示す相関図を含む処理結果を表示するので、この処理結果の表示に従って、適切な候補値を制御パラメーターの設定値として決定できる。
(2)上記方法において、前記工程(e)は、(i)前記制約条件の変更を受け付ける工程と、(ii)前記変更に応じて前記処理結果を修正して、前記修正後の処理結果を再表示する工程と、を含むのとしてもよい。
この方法によれば、制約条件を変更することによって、更に良い候補値が出現する可能性があるので、作業を再度実行しなくても適切な制御パラメーターを設定できる。
この方法によれば、制約条件を変更することによって、更に良い候補値が出現する可能性があるので、作業を再度実行しなくても適切な制御パラメーターを設定できる。
(3)上記方法において、前記作業は、複数の動作を含み、前記制約条件の変更は、前記複数の動作のうちから選択された少なくとも1つ動作について実行されるのとしてもよい。
この方法によれば、作業を構成する複数の動作のそれぞれについて制約条件を変更できるので、特定の動作についてのみ制約条件が満足されていなかった場合に、その状態を解消できる。
この方法によれば、作業を構成する複数の動作のそれぞれについて制約条件を変更できるので、特定の動作についてのみ制約条件が満足されていなかった場合に、その状態を解消できる。
(4)上記方法において、前記工程(i)は、前記複数の動作のうちの各動作について、前記制約評価値の履歴と前記制約評価値の限界値との関係を表示したグラフと、各動作に対する前記限界値を変更するための変更操作部と、を表示する工程と、前記変更操作部を用いた操作に応じて、前記少なくとも1つの動作についての前記制約条件の変更を受け付ける工程と、を含むのとしてもよい。
この方法によれば、制約評価値の履歴と制約評価値の限界値との関係を表示したグラフと、各動作に対する限界値を変更するための変更操作部とを表示するので、作業者が、各動作に対する制約評価値の限界値を容易に変更できる。
この方法によれば、制約評価値の履歴と制約評価値の限界値との関係を表示したグラフと、各動作に対する限界値を変更するための変更操作部とを表示するので、作業者が、各動作に対する制約評価値の限界値を容易に変更できる。
(5)上記方法は、更に、前記最適化処理の前記制約条件を変更して、前記工程(b)~(e)を再度実行する工程、を含むのとしてもよい。
この方法によれば、制約条件を変更して、制御パラメーターの最適化処理を再度実行できる。
この方法によれば、制約条件を変更して、制御パラメーターの最適化処理を再度実行できる。
(6)上記方法において、前記最適化処理の前記制約条件を変更する前に、前記制約条件の変更案を表示する工程と、前記変更案に関する指示を受け付け、当該指示に応じて前記制約条件の変更を実行する工程と、を含むものとしてもよい。
この方法によれば、作業者が提示された制約条件の変更案を確認してから、制約条件の変更と最適化処理の再実行を開始できる。
この方法によれば、作業者が提示された制約条件の変更案を確認してから、制約条件の変更と最適化処理の再実行を開始できる。
(7)本開示の第2の形態によれば、ロボットシステムが提供される。このロボットシステムは、ロボットシステムが提供される。このロボットシステムは、ロボットと、前記ロボットの制御による作業において、特定の性能指標値と特定の制約評価値を検出するセンサー類と、前記ロボットの制御パラメーターを設定する処理を実行するパラメーター設定部と、を備える。前記パラメーター設定部は、(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける処理と、(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための前記性能指標値と、前記制約条件に関する前記制約評価値と、を測定する処理と、(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する処理と、(d)前記処理(b)と前記処理(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める処理と、(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する処理と、を実行する。
(8)本開示の第3の形態によれば、ロボットの制御パラメーターを設定する処理をプロセッサーに実行させるコンピュータープログラムが提供される。このコンピュータープログラムは、(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける処理と、(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための性能指標値と、前記制約条件に関する制約評価値と、を測定する処理と、(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する処理と、(d)前記処理(b)と前記処理(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める処理と、(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する処理と、を前記プロセッサーに実行させる。
本開示は、上記以外の種々の形態で実現することも可能である。例えば、ロボットとロボット制御装置とを備えたロボットシステム、ロボット制御装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)等の形態で実現することができる。
100…ロボット、110…基台、120…ロボットアーム、150…エンドエフェクター、200…制御装置、300…情報処理装置、310…プロセッサー、311…パラメーター設定部、312…動作実行部、314…パラメーター探索部、320…メモリー、330…インターフェイス回路、340…入力デバイス、350…表示部、400…センセー類、410…振動センサー、420…力センサー、430…電流センサー、440…関節エンコーダー、500…架台
Claims (8)
- ロボットの制御パラメーターを設定する方法であって、
(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける工程と、
(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための性能指標値と、前記制約条件に関する制約評価値と、を測定する工程と、
(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する工程と、
(d)前記工程(b)と前記工程(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める工程と、
(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する工程と、
を含む、方法。 - 請求項1に記載の方法であって、
前記工程(e)は、
(i)前記制約条件の変更を受け付ける工程と、
(ii)前記変更に応じて前記処理結果を修正して、前記修正後の処理結果を再表示する工程と、
を含む、方法。 - 請求項2に記載の方法であって、
前記作業は、複数の動作を含み、
前記制約条件の変更は、前記複数の動作のうちから選択された少なくとも1つ動作について実行される、方法。 - 請求項3に記載の方法であって、
前記工程(i)は、
前記複数の動作のうちの各動作について、前記制約評価値の履歴と前記制約評価値の限界値との関係を表示したグラフと、各動作に対する前記限界値を変更するための変更操作部と、を表示する工程と、
前記変更操作部を用いた操作に応じて、前記少なくとも1つの動作についての前記制約条件の変更を受け付ける工程と、
を含む、方法。 - 請求項1~4のいずれか一項に記載の方法であって、更に、
前記最適化処理の前記制約条件を変更して、前記工程(b)~(e)を再度実行する工程、を含む、方法。 - 請求項5に記載の方法であって、
前記最適化処理の前記制約条件を変更する前に、前記制約条件の変更案を表示する工程と、
前記変更案に関する指示を受け付け、当該指示に応じて前記制約条件の変更を実行する工程と、
を含む、方法。 - ロボットシステムであって、
ロボットと、
前記ロボットの制御による作業において、特定の性能指標値と特定の制約評価値を検出するセンサー類と、
前記ロボットの制御パラメーターを設定する処理を実行するパラメーター設定部と、
を備え、
前記パラメーター設定部は、
(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける処理と、
(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための前記性能指標値と、前記制約条件に関する前記制約評価値と、を測定する処理と、
(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する処理と、
(d)前記処理(b)と前記処理(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める処理と、
(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する処理と、
を実行する、ロボットシステム。 - ロボットの制御パラメーターを設定する処理をプロセッサーに実行させるコンピュータープログラムであって、
(a)前記制御パラメーターの最適化処理に使用する目的関数と制約条件の設定を受け付ける処理と、
(b)前記制御パラメーターの候補値を用いて前記ロボットに作業を実行させ、前記作業中に、前記目的関数を求めるための性能指標値と、前記制約条件に関する制約評価値と、を測定する処理と、
(c)前記性能指標値から求められる前記目的関数の値を用いて前記最適化処理を実行することによって、前記制御パラメーターの次の候補値を探索する処理と、
(d)前記処理(b)と前記処理(c)を繰り返すことによって、複数の前記候補値について前記目的関数の値と前記制約評価値とを求める処理と、
(e)前記複数の前記候補値のそれぞれについて、前記目的関数の値と前記制約評価値とを示す相関図を含む処理結果を表示する処理と、
を前記プロセッサーに実行させるコンピュータープログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021110694A JP2023007691A (ja) | 2021-07-02 | 2021-07-02 | ロボットの制御パラメーターを設定する方法,ロボットシステム、及び、コンピュータープログラム |
CN202210760761.1A CN115562168A (zh) | 2021-07-02 | 2022-06-30 | 设定机器人的控制参数的方法、机器人系统及计算机程序 |
US17/856,196 US20230001578A1 (en) | 2021-07-02 | 2022-07-01 | Method Of Setting Control Parameter Of Robot, Robot System, And Computer Program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021110694A JP2023007691A (ja) | 2021-07-02 | 2021-07-02 | ロボットの制御パラメーターを設定する方法,ロボットシステム、及び、コンピュータープログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023007691A true JP2023007691A (ja) | 2023-01-19 |
Family
ID=84737290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021110694A Pending JP2023007691A (ja) | 2021-07-02 | 2021-07-02 | ロボットの制御パラメーターを設定する方法,ロボットシステム、及び、コンピュータープログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230001578A1 (ja) |
JP (1) | JP2023007691A (ja) |
CN (1) | CN115562168A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7454006B2 (ja) | 2022-02-22 | 2024-03-21 | 株式会社Screenホールディングス | 制御パラメータ調整方法、プログラムおよび記録媒体 |
-
2021
- 2021-07-02 JP JP2021110694A patent/JP2023007691A/ja active Pending
-
2022
- 2022-06-30 CN CN202210760761.1A patent/CN115562168A/zh active Pending
- 2022-07-01 US US17/856,196 patent/US20230001578A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7454006B2 (ja) | 2022-02-22 | 2024-03-21 | 株式会社Screenホールディングス | 制御パラメータ調整方法、プログラムおよび記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
US20230001578A1 (en) | 2023-01-05 |
CN115562168A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190143518A1 (en) | Robot trajectory generation method, robot trajectory generation apparatus, product fabrication method, recording medium, program, and robot system | |
JP4137909B2 (ja) | ロボットプログラム補正装置 | |
JP2016027951A (ja) | ロボット装置の制御方法、およびロボット装置 | |
JP2019018272A (ja) | モーション生成方法、モーション生成装置、システム及びコンピュータプログラム | |
JP2019135076A (ja) | 軌道生成方法および軌道生成装置 | |
WO2024016534A1 (zh) | 一种机器人机械臂伺服系统整体性能调优方法 | |
JP5137537B2 (ja) | ロボットの作業動作最適化装置 | |
CN112601863A (zh) | 工程机械和评价装置 | |
JP2023007691A (ja) | ロボットの制御パラメーターを設定する方法,ロボットシステム、及び、コンピュータープログラム | |
JP2014065098A (ja) | ロボット装置及び多関節ロボットの軌道シミュレーション装置並びに軌道生成方法 | |
JPH08257958A (ja) | 多関節マニピュレータの柔軟性設定方法および制御装置 | |
JP2019188545A (ja) | ロボット制御装置 | |
JP2020044590A (ja) | ロボット装置 | |
WO2022172812A1 (ja) | ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
US20220410386A1 (en) | Method Of Setting Force Control Parameter In Work Of Robot, Robot System, And Computer Program | |
KR102618327B1 (ko) | 로봇아암 관절마찰 추정장치 및 추정방법 | |
JP2020110884A (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
JP7436675B2 (ja) | ロボット制御装置 | |
JP7479205B2 (ja) | ロボットシステム、制御装置、及び制御方法 | |
WO2017026045A1 (ja) | ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム | |
JP6743431B2 (ja) | 制御装置、及びロボットシステム | |
US20230001574A1 (en) | Operation Parameter Adjusting Method And Operation Parameter Adjusting Device For Adjusting Operation Parameters Of Robot | |
JP2022039292A (ja) | 動作パラメーターの調整方法、及び、ロボットシステム | |
JP2021037594A (ja) | ロボットシミュレーション装置 | |
JP7415100B1 (ja) | パラメータ調整装置およびパラメータ調整方法 |