JP7270580B2 - ロボットの制御装置、制御方法、及びプログラム - Google Patents

ロボットの制御装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP7270580B2
JP7270580B2 JP2020109801A JP2020109801A JP7270580B2 JP 7270580 B2 JP7270580 B2 JP 7270580B2 JP 2020109801 A JP2020109801 A JP 2020109801A JP 2020109801 A JP2020109801 A JP 2020109801A JP 7270580 B2 JP7270580 B2 JP 7270580B2
Authority
JP
Japan
Prior art keywords
value
force
robot
hand
target
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.)
Active
Application number
JP2020109801A
Other languages
English (en)
Other versions
JP2021091079A (ja
Inventor
敬之 西
研介 原田
ベルトランエルナンデス クリスティアンカミロ
慎市 菊池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujifilm Corp filed Critical Fujifilm Corp
Publication of JP2021091079A publication Critical patent/JP2021091079A/ja
Application granted granted Critical
Publication of JP7270580B2 publication Critical patent/JP7270580B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Description

本開示の技術は、ロボットの制御装置、制御方法、及びプログラムに関する。
従来、部品等のワークを把持して作業を行う多関節ロボットの制御において、ロボットに関節を駆動するための関節指令値を与え、関節の位置及び速度の実測値と関節指令値との偏差に基づいてフィードバック制御を行うことが行われている。
しかし、このようなフィードバック制御では、制御対象であるロボットの特性値(負荷又は外乱など)などが変化した場合には、制御プログラムのパラメータを変更してロボットの手先の軌道を変更する必要がある。
このような制御プログラムの開発には多大なコストがかかることから、近年、ニューラルネットワークを用いた強化学習によりロボットが自ら軌道の探索を行い、目標位置までの最適な軌道を学習する手法が開発されている(例えば、特許文献1参照)。
また、近年、ロボットが把持したワークなどが物体と接触しながら目標位置へと移動する動作を自動的に学習する手法が開発されている(例えば、非特許文献1参照)。非特許文献1では、最適な軌道を学習するための強化学習に、ガイデッド・ポリシー・サーチ(以下、GPS(Guided Policy Search)という。)と呼ばれる手法が用いられている。GPSは、複雑な非線形の方策(ポリシー)であるニューラルネットワークでは直接学習を行わずに、簡素な線形の方策(例えば、線形ガウスモデル)を補助的に用いてニューラルネットワークの学習を行う方法である。これにより、学習時間が短縮される。
特開平10-111701号公報
S. Levine, N. Wagener, P. Abbeel, "Learning Contact-Rich Manipulation Skills with Guided Policy Search," in International Conference on Robotics and Automation (ICRA), 2015
しかしながら、物体との接触を伴う組立作業等に関わる制御においては、学習動作中における接触による破損のリスク、又は接触による学習の継続性などが問題となっていた。
一方、物体の接触を伴う動作制御においては、力情報と位置情報を同時に制御する制御則が存在する。この制御則では指令値は予め設定する必要があるため、最適な動作を生成する指令値をプログラムする必要があり、設計コストがかかってしまう。さらに、複雑な動作生成を行うには、ステップごとに細かく位置や力の指令値を与える必要がある。
特許文献1には、力センサを用いることが記載されているが、この力センサは、ロボットの手先位置の推定に補足的に用いられるものである。また、非特許文献1には、力の制御に関する具体的な記載はない。したがって、特許文献1及び非特許文献1に記載の強化学習を用いた方法において、手先の位置に関する制御と力に関する制御とを両立させることについては考慮されていない。
本開示の技術は、手先の位置に関する制御と力に関する制御とを両立させることを可能とするロボットの制御装置、制御方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、本開示のロボットの制御装置は、ロボットの関節を駆動するための関節指令値を一定のサイクルごとに与えてロボットを作動させるプロセッサを有するロボットの制御装置であって、プロセッサは、関節の位置、関節の速度、及びロボットの手先にかかる力を含むセンシング情報と、手先の位置及び力との関係を学習した学習済みモデルに基づいて、サイクルごとに手先の位置目標値及び力目標値を生成し、位置目標値とセンシング情報に基づく手先の位置との偏差を表す位置偏差値と、力目標値とセンシング情報に基づく手先にかかる力との偏差を表す力偏差値とのそれぞれに補償変換を施した値の線形和を算出し、かつ線形和を制御偏差値として現サイクルの関節指令値に対してフィードバックを行うことにより、次サイクルの関節指令値を生成する。
プロセッサは、位置偏差値と力偏差値とのそれぞれに微分補償変換を施した値の線形和を算出することが好ましい。
プロセッサは、位置偏差値に微分補償変換を施した値と、力偏差値に積分補償変換を施した値との線形和を算出することも好ましい。
プロセッサは、手先の初期位置、最終目標位置、及び最終力目標値を含むタスクを与え、サイクルごとに関節指令値を生成し、かつセンシング情報を取得することにより学習を行い、学習済みモデルを更新することが好ましい。
プロセッサは、学習済みモデルに代えて、センシング情報と手先の位置及び力との関係を、確率分布によって表現した確率分布モデルによって位置目標値及び力目標値を生成し、関節指令値に基づいてロボットを制御することにより、サイクルごとにセンシング情報を収集し、収集されたセンシング情報と位置目標値及び力目標値との関係を学習することにより確率分布モデル及び学習済みモデルを更新することが好ましい。
プロセッサは、最終目標位置及び最終力目標値への到達度を表すコストを最小化するように確率分布モデルを更新することが好ましい。
プロセッサは、更新された確率分布モデルを用いて学習済みモデルを更新することが好ましい。
確率分布モデルは、線形ガウスモデルであることが好ましい。
学習済みモデルは、ニューラルネットワークであることが好ましい。
位置偏差値に補償変換を施した値をp’err、力偏差値に補償変換を施した値をf’err、線形和をpstepとした場合に、「pstep=γp’err+(1-γ)f’err」の関係(ここで、0≦γ<≦1)を有することが好ましい。
プロセッサは、手先にかかる力に応じて係数γを、サイクルごとに変化させることが好ましい。
学習済みモデルは、サイクルごとの係数γの関係をさらに記憶しており、プロセッサは、係数γに基づいて線形和pstepを算出することが好ましい。
本開示のロボットの制御方法は、ロボットの関節を駆動するための関節指令値を一定のサイクルごとに与えてロボットを作動させるロボットの制御方法であって、関節の位置、関節の速度、及びロボットの手先にかかる力を含むセンシング情報と、手先の位置及び力との関係を学習した学習済みモデルに基づいて、サイクルごとに手先の位置目標値及び力目標値を生成する目標値生成ステップと、位置目標値とセンシング情報に基づく手先の位置との偏差を表す位置偏差値と、力目標値とセンシング情報に基づく手先にかかる力との偏差を表す力偏差値とのそれぞれに補償変換を施した値の線形和を算出し、かつ線形和を制御偏差値として現サイクルの関節指令値に対してフィードバックを行うことにより、次サイクルの関節指令値を生成する制御ステップと、を有する。
本開示のプログラムは、ロボットの関節を駆動するための関節指令値を一定のサイクルごとに与えてロボットを作動させる制御をコンピュータに作動させるプログラムであって、関節の位置、関節の速度、及びロボットの手先にかかる力を含むセンシング情報と、手先の位置及び力との関係を学習した学習済みモデルに基づいて、サイクルごとに手先の位置目標値及び力目標値を生成する目標値生成ステップと、位置目標値とセンシング情報に基づく手先の位置との偏差を表す位置偏差値と、力目標値とセンシング情報に基づく手先にかかる力との偏差を表す力偏差値とのそれぞれに補償変換を施した値の線形和を算出し、かつ線形和を制御偏差値として現サイクルの関節指令値に対してフィードバックを行うことにより、次サイクルの関節指令値を生成する制御ステップと、をコンピュータに作動させる。
本開示の技術によれば、手先の位置に関する制御と力に関する制御とを両立させることを可能とするロボットアームの制御装置、制御方法、及びプログラムを提供することができる。
ロボットシステムを示す斜視図である。 力覚センサの概略斜視図である。 コンピュータの構成を示すブロック図である。 制御装置の機能的な構成を示すブロック図である。 ロボットの動作を説明する模式図である。 手先の軌道を示す概念図である。 目標値生成部及び制御部の構成を示すブロック図である。 学習済みモデルを表すニューラルネットワークの一例である。 学習アルゴリズムを示すフローチャートである。 軌道サンプルを収集する処理の流れを示す模式図である。 確率分布モデルによる状態遷移について説明する図である。 ダイナミクスフィッティングの処理の流れを示す模式図である。 ダイナミクスについて説明する図である。 ダイナミクスフィッティングについて説明する図である。 学習済みモデルの更新処理の流れを示す模式図である。 確率分布モデルの更新処理の流れを示す模式図である。 軌道の最適化について説明する図である。 繰り返し処理の流れを示す模式図である。 ゲイン係数の設定処理を示すフローチャートである。 変形例に係る目標値生成部及び制御部の構成を示すブロック図である。 第2実施形態に係る目標値生成部及び制御部の構成を示すブロック図である。 学習回数に対するコスト値の変化を表すグラフである。
[第1実施形態]
以下、本開示の一実施形態であるロボットシステムについて説明する。図1において、ロボットシステム1は、複数の関節11Aを有する多関節ロボット(以下、単にロボットという。)10と、ロボット10の制御装置20とを備える。ロボット10としては、例えば、ユニバーサルロボット社製の多関節ロボットが用いられる。制御装置20としては、パーソナルコンピュータなどの情報処理装置が用いられる。
ロボット10は、例えば、アーム11と、アーム11を支持する基台12とを有する。アーム11の先端部分には、ワークWを把持する、又はワークWが取り付けられる手先13が設けられている。ワークWは、例えば、棒状の部材である。
アーム11は、6軸の多関節アームである。アーム11には、基台12側から順に第1駆動軸C1、第2駆動軸C2、第3駆動軸C3、第4駆動軸C4、第5駆動軸C5、及び第6駆動軸C6が設けられている。各駆動軸は関節11Aにより構成されている。各関節11Aは、各関節11Aに設けられた駆動モータ15(図4参照)により駆動される。各関節11Aには、関節11Aの位置及び速度を検出するエンコーダ16(図4参照)が設けられている。
ロボット10は、各駆動モータにより各関節11Aを駆動することによって、アーム11を把持した手先13を移動させ、手先13の位置及び速度を自由に変更することができる。具体的には、本開示の技術では、互いに直交するX軸方向、Y軸方向、及びZ軸方向と、X軸回りのRx方向、Y軸回りのRy方向、及びZ軸回りのRz方向との6軸方向へ手先13の位置を変更することが可能である。
アーム11の手先13には、力覚センサ14が内蔵されている。力覚センサ14は、例えば、歪ゲージを用いた6軸の力センサである。力覚センサ14は、手先13に加わる力とモーメント(トルク)の大きさと方向を検出する。力覚センサ14は、例えば図2に示すように、力Fx,Fy,Fz、及びモーメントMx,My,Mzを示す信号を生成して出力する。なお、本開示では、力Fx,Fy,Fz、及びモーメントMx,My,Mzをまとめて力という。
なお、アーム11の軸数は6軸に限られない。例えば、アーム11の軸数を、4軸、5軸、又は7軸以上としてもよい。また、力覚センサ14が検出する力の軸数についても6軸には限られない。力覚センサ14は、例えば力Fx,Fy,Fzを検出する3軸の力センサであってもよい。
アーム11の各関節11Aを制御するための関節指令値は、基台12を介して制御装置20から入力される。また、力覚センサ14により検出される力の検出値は、基台12を介して制御装置20に入力される。
制御装置20は、コンピュータにより構成されている。図3において、制御装置20を構成するコンピュータは、例えば、ストレージデバイス200、メモリ201、CPU(Central Processing Unit)202、通信部203、ディスプレイ204、及び入力デバイス205を備えている。これらはバスライン206を介して相互接続されている。CPU202は、本開示の技術に係るプロセッサの一例である。
ストレージデバイス200は、コンピュータに内蔵された、若しくはケーブル、ネットワークを通じて接続されたハードディスクドライブである。ストレージデバイス200は、ハードディスクドライブを複数台連装したディスクアレイであってもよい。ストレージデバイス200には、オペレーティングシステム等の制御プログラム、各種アプリケーションプログラム、これらのプログラムに付随する各種データ等が記憶されている。なお、ハードディスクドライブに代えて、あるいは加えて、ソリッドステートドライブを用いてもよい。
メモリ201は、CPU202が処理を実行するためのワークメモリである。CPU202は、ストレージデバイス200に記憶されたプログラムをメモリ201へロードし、プログラムにしたがった処理を実行することにより、コンピュータの各部を統括的に制御する。
通信部203は、ロボット10と制御装置20とを接続するインターフェースである。ディスプレイ204は各種画面を表示する表示装置である。コンピュータは、各種画面を通じて、入力デバイス205からの操作指示の入力を受け付ける。入力デバイス205は、キーボード、マウス、タッチパネル等である。
次に、制御装置20の機能的な構成について説明する。図4において、制御装置20は、目標値生成部30と、制御部31と、手先位置算出部32と、学習部33と、パラメータ設定部34とを有する。これらの機能部は、コンピュータのストレージデバイス200に格納されたプログラムと、プログラムが動作させるハードウェア資源とに基づいて実現される。
なお、図4には、一組の駆動モータ15及びエンコーダ16が示されているが、実際には、駆動モータ15及びエンコーダ16は、関節11Aごとに設けられている。以下では、説明の簡略化のために、1つの関節11Aに設けられた一組の駆動モータ15及びエンコーダ16を対象として説明する。駆動モータ15は、例えばサーボモータである。エンコーダ16は、例えばロータリエンコーダである。エンコーダ16は、関節11Aの位置及び速度を検出する。関節11Aの速度は、関節11Aの角速度である。
目標値生成部30は、ロボット10の各関節11Aに設けられたエンコーダ16から制御装置20に入力される関節11Aの位置q及び速度ωと、ロボット10の手先13に設けられた力覚センサ14から制御装置20に入力される力fを一定のサイクルごとに取得する。位置q、速度ω、及び力fは、ある時刻tに取得されたセンシング情報である。なお、力覚センサ14が力に加えてモーメントを検出するセンサである場合には、力fには、モーメントの検出値も含まれる。
目標値生成部30は、ニューラルネットワークにより構成された学習済みモデルTMを保持している。なお、本開示では、学習済みモデルTMとは、1つ以上の教師データに基づく学習が行われたモデルをいい、教師データに対する適合性が不十分である学習不足の状態のモデルも含めて学習済みモデルという。
目標値生成部30は、現在のサイクル(時刻t)で取得された位置q、速度ω、及び力fを含むセンシング情報を入力として、次のサイクル(時刻t+1)における手先13の位置目標値pref t+1と力目標値fref t+1とを出力する。
位置q、速度ω、及び力fを含むセンシング情報は、ロボット10の時刻tにおける状態を表す情報であるため、これを状態sと表記する。また、位置目標値pref t+1と力目標値fref t+1は、次のサイクルでロボット10が取るべき行動に相当し、かつ状態sに対応する行動であるため、これを行動aと表記する。
学習済みモデルTMには、各サイクルにおける状態sと制御入力aとの関係を表す学習結果が記憶されている。目標値生成部30は、ロボット10の運用時において、学習済みモデルTMに基づき、一定のサイクルごとに状態sに対応する行動aを制御入力として制御部31に入力する。
手先位置算出部32は、一定のサイクルごとにエンコーダ16から制御装置20に入力される関節11Aの位置qを取得して、手先13の位置pを算出する。具体的には、手先位置算出部32は、ロボット10の各関節11Aのエンコーダ16から関節11Aの位置qを取得して、アーム11の姿勢を推測することにより手先13の位置pを求める。手先位置算出部32は、算出した手先13の位置pを制御部31に入力する。
制御部31は、目標値生成部30から一定のサイクルごとに入力される行動aのほかに、手先位置算出部32から入力される手先13の位置pと、力覚センサ14から制御装置20に入力される力fを一定のサイクルごとに取得する。詳しくは後述するが、制御部31は、位置目標値pref t+1と手先13の位置pとの偏差を表す位置偏差値と、力目標値fref t+1と力fとの偏差を表す力偏差値とのそれぞれに微分補償変換を施した値の線形和を算出する。そして、制御部31は、算出した線形和を制御偏差値として現サイクルの関節指令値(位置q)に対してフィードバックを行うことにより、次サイクルの関節指令値(位置qt+1)を生成する。
学習部33は、目標値生成部30に記憶された学習済みモデルTMを更新する処理を行う。学習部33は、手先13の初期位置及び最終目標位置を含むタスクに基づいてロボット10を動作させた場合における行動aと状態sとの関係に基づいて強化学習を行うことにより、学習済みモデルTMを更新する。また、詳しくは後述するが、本実施形態では、学習部33は、GPS法により効率よく強化学習を行う。なお、学習部33は、GPS法に限られず、一般的な強化学習アルゴリズムを用いてもよい。学習部33は、例えば、SAC(Soft Actor Critic)法を用いることも可能である。
パラメータ設定部34は、学習部33が強化学習を行う際に必要なパラメータを設定可能である。パラメータ設定部34は、例えば、入力デバイス205により構成されている。パラメータには、手先13の初期位置及び最終目標位置のほかに、ロボット10が一回の動作を実行する時間T、サンプルデータの取得時にロボット10が動作を実行する繰り返し回数I、及び学習済みモデルTMの更新回数Kが含まれる。また、パラメータには、上述のサイクル周期S、強化学習に使用するコスト関数を規定する規定値、及び上述の線形和を算出する際のゲイン係数γが含まれる。
図5は、ロボット10が実行する一回の動作を模式的に示している。図5では、ロボット10の手先13が把持した棒状のワークWを、目標物40に形成された穴41に挿入する動作を示している。図5中の破線は初期位置を示しており、実線は最終目標位置を示している。ロボット10は、学習が未熟である場合には、ワークWが目標物40の穴41以外の箇所と接触しながら、穴41が存在する目標位置へとワークWを移動させる動作を行う。ロボット10は、学習が進むに連れて、ワークWが目標物40の穴41以外の箇所と接触する回数が減少する。最終的に、ロボット10は、ワークWを穴41に挿入するために最適な手先13の軌道を学習する。
図6は、ロボット10が実行する一回の動作における手先13の軌道を概念的に表している。軌道のサンプルτ(以下、軌道サンプルτという。)は、1≦t≦Tの期間内における状態sと行動aとの集合であり、τ={s,a,・・・,s,a}と表される。
次に、目標値生成部30及び制御部31のより詳細な構成について説明する。図7において、目標値生成部30は、学習済みモデル記憶部301と、確率分布モデル記憶部302と、モデル切り替え部303とを有する。学習済みモデル記憶部301は、ニューラルネットワークにより構成された学習済みモデルTMを記憶している。確率分布モデル記憶部302は、線形ガウスモデル等の確率分布モデルSMを記憶している。
モデル切り替え部303は、状態sに対応する行動aを生成するためのモデルを切り替える。具体的には、モデル切り替え部303は、ロボット10の運用時には、学習済みモデル記憶部301に記憶された学習済みモデルTMを選択する。また、モデル切り替え部303は、学習時には、確率分布モデル記憶部302に記憶された確率分布モデルSMを選択する。
制御部31は、第1偏差算出部311Aと、第2偏差算出部311Bと、位置制御部312Aと、力制御部312Bと、線形加算部313と、逆運動学演算部314と、指令値生成部315とを有する。
第1偏差算出部311Aは、目標値生成部30から入力される位置目標値pref t+1と、センシング情報に含まれる手先13の位置pとの偏差(pref t+1-p)を表す位置偏差値perrを算出して位置制御部312Aへ出力する。第2偏差算出部311Bは、目標値生成部30から入力される力目標値fref t+1と、センシング情報に含まれる手先の力fとの偏差(fref t+1-f)を表す力偏差値ferrを算出して力制御部312Bへ出力する。
位置制御部312A及び力制御部312Bは、それぞれ伝達関数で表現される制御器である。位置制御部312Aは、位置偏差値perrに対して「Kpp+Kdps」を伝達関数とするラプラス変換を行うことにより、微分補償変換が施された位置偏差値p’errを生成する。同様に、力制御部312Bは、力偏差値ferrに対して「Kpf+Kdfs」を伝達関数とするラプラス変換を行うことにより、微分補償変換が施された力偏差値f’errを生成する。ここで、Kpp及びKpf比例ゲインであり、Kdp及びKdfは微分ゲインである。また、sは、ラプラス変数であって、時間に関する微分を表す。
第1偏差算出部311A及び位置制御部312Aによる処理と、第2偏差算出部311B及び力制御部312Bによる処理とは、それぞれ、いわゆるPD(Proportional-Differential)制御で用いられる処理に相当する。
線形加算部313は、微分補償変換が施された位置偏差値p’err及び力偏差値f’errを、下式(1)に基づいて線形加算して、線形和pstepを算出する。
Figure 0007270580000001
ここで、ゲイン係数γは、0≦γ≦1を満たす値である。なお、ゲイン係数γは、座標軸ごとに異なった値であってもよい。例えば、簡単化のため、制御装置20がロボット10を、X軸方向、Y軸方向、及びRx方向にのみ制御する場合に、各軸方向のゲイン係数γを、例えば、順に「0.9」、「0.9」、及び「0.0」とする。また、ゲイン係数γは、学習時と運用時とにおいて同一の値を用いる。
逆運動学演算部314は、線形加算部313により算出された線形和pstepに基づいて逆運動学演算を行うことにより求まるロボット10の姿勢から各関節11Aの変位量qerrを算出する。変位量qerrは、時刻tの関節11Aの位置を基準として、時刻t+1に取るべき関節11Aの位置までの変位量を表す。
指令値生成部315は、センシング情報に含まれる時刻tにおける関節11Aの位置qに対して、逆運動学演算部314により算出された変位量qerrを加算することにより、時刻t+1に取るべき関節11Aの位置qt+1に対応する関節指令値を出力する。この関節指令値は、駆動モータ15に入力される。
このように、制御部31により、現サイクル(時刻t)の関節指令値に対して変位量qerrがフィードバックされ、次サイクル(時刻t+1)用の新たな関節指令値が駆動モータ15に対して出力される。
学習済みモデルTMは、ロボット10を確率分布モデルSMに基づいて動作させた場合に収集される軌道サンプルτを教師データとし、未学習の学習モデルを用いて機械学習を行うことにより算出されたものである。
図8は、学習済みモデル記憶部301に記憶される学習済みモデルTMを表すニューラルネットワークの一例である。ニューラルネットワークは、市販のニューラルネットワーク・フィッティング・アプリケーションを用いて構築することができる。例えば、MathWorks社製のMatlab Neural Fitting toolを用いてニューラルネットワークを構築することができる。なお、ニューラルネットワーク・フィッティング・アプリケーションとして、R言語上で動作可能なRStudio社製のkerasパッケージ等を用いることも可能である。
図8に示すように、ニューラルネットワークで構成される学習済みモデルTMは、例えば、入力層L1、中間層L2、及び出力層L3の層構造を有する。入力層L1は、状態sを表すセンシング情報が入力されるノードを含む。出力層L3は、行動aを表す目標値(位置目標値pref t+1及び力目標値fref t+1)が出力されるノードを含む。L2は、中間層(隠れ層)である。中間層L2の数は1に限られず、適宜変更可能である。
入力層L1と中間層L2との間、及び中間層L2と出力層L3との間は、重みパラメータθにより関連付けられる。以下、ニューラルネットワークで構成される学習済みモデルTMを、πθ(a|s)と表現する。πθ(a|s)は、状態sを条件とした場合に取るべき行動aを表す方策(ポリシー)であって、状態sに対する行動aの確率的な分布を表す。πθ(a|s)は、複雑な非線形の方策である。
学習済みモデルTMの最適化は、コストl(s,a)の期待値Eπθ[l(τ)]に関して重みパラメータθを最適化することに相当する。ここで、τは、図6に示す軌道を表している。
期待値Eπθ[l(τ)]は、下式(2)で表される。
Figure 0007270580000002
コストl(s,a)の表現は、ロボット10が実行するタスクによって異なる。図5に示すように、ロボット10がワークWを穴41に挿入するタスクを実行する場合には、コストl(s,a)は、目標物への到達度を表すように記述される。コストl(s,a)は、例えば、下式(3)で表される。
Figure 0007270580000003
ここで、pは、状態sにおける手先13の位置を表す。pは、手先13の最終目標位置を表している。w及びwは、重み係数である。また、l12(z)は、lノルムとlノルムとの和に対応し、下式(4)で表される。
Figure 0007270580000004
確率分布モデル記憶部302に記憶された確率分布モデルSMを、時間変化を含む線形ガウスモデルとし、p(a|s)と表現する。p(a|s)は、状態sを条件とした場合に取るべき行動aを表す方策であって、状態sに対する行動aの確率的な分布を表す。p(a|s)は、簡素な線形の方策であって、下式(5)で表される。
Figure 0007270580000005
ここで、N(μ,Σ)はガウス関数(正規分布関数)であり、μは平均、Σは分散を表している。
学習済みモデルTM及び確率分布モデルSMともに方策であるが、本開示では、確率分布モデルSMは、学習済みモデルTMの最適化を適正な方向へ導くガイドとして補助的に用いるものである。このため、以下では、学習済みモデルTMを表すπθ(a|s)を方策という。
学習部33は、複雑な方策であるπθ(a|s)では直接学習(重みパラメータθの最適化)を行わずに、簡素なp(a|s)を用いて得られる軌道サンプルに基づいてπθ(a|s)の学習を行うとともに、軌道を最適化してp(a|s)を更新する。
次に、学習部33が実行する学習アルゴリズム(ポリシーサーチ)の詳細について、図9に示すフローチャート及び図10~図18に示す補足図を参照しながら説明する。
まず、学習部33は、学習の繰り返し回数をカウントする繰り返しパラメータkを「1」に設定する(ステップS10)。次に、学習部33は、軌道サンプルを取得するためのロボット10の動作回数をカウントする繰り返しパラメータiを「1」に設定する(ステップS11)。
次に、学習部33は、モデル切り替え部303により確率分布モデル記憶部302に記憶された確率分布モデルSM(p(a|s))が選択された状態で、ロボット10に所定の動作(タスク)を実行させ、軌道サンプルτを収集する(ステップS12)。図10は、軌道サンプルτを収集する処理の流れを概念的に示している。図11に示すように、目標値生成部30は、p(a|s)に基づき、状態sに対応する行動aを出力して次の状態sに遷移し、状態sに対応する行動aを出力して次の状態sに遷移するという処理を時間Tが経過するまで繰り返す。
なお、タスクの条件等は予めパラメータ設定部34により設定されている。例えば、T=7.5sec、I=3、K=10、及びS=0.05secと設定されている。Tは、ロボット10が一回の動作(タスク)を実行する時間である。Iは、軌道サンプルτの取得回数である。Kは、学習済みモデルTMの更新回数である。Sは、サイクル周期である。この場合、1タスクにおいて150ステップの行動が行われる。
また、上式(3)で示したコストl(s,a)を規定するパラメータがパラメータ設定部34により予め設定されている。例えば、l=1.0、l=0.001、α=5×10-5、w=10.0、及びw=1×10-4と設定されている。
学習部33は、ロボット10の1回の動作に対して軌道サンプルτを収集するたびに、繰り返しパラメータiがIであるか否かを判定する(ステップS13)。学習部33は、繰り返しパラメータiがIでない場合には(ステップS13:NO)、繰り返しパラメータiに1を加算し(ステップS14)、処理をステップS12に戻す。学習部33は、繰り返しパラメータiがIである場合には(ステップS13:YES)、処理をステップS15に移行する。
ステップS15において、学習部33は、収集された軌道サンプルτのデータセット{τ}に、線形ガウシアンで表されるダイナミクスp(st+1|s,a)をフィッティングするダイナミクスフィッティングを行う。図12は、ダイナミクスフィッティングの処理の流れを概念的に示している。図13に示すように、ダイナミクスp(st+1|s,a)は、状態sに対して取った行動aにより状態st+1に遷移する確率を表す。
ダイナミクスp(st+1|s,a)は、ガウス関数N(μ,Σ)を用いて下式(6)で表される。
Figure 0007270580000006
ダイナミクスp(st+1|s,a)は、時間変化を含む線形ガウシアンダイナミックスである。図14は、軌道サンプルτのデータセット{τ}にダイナミクスp(st+1|s,a)をフィッティングしたグラフを例示している。
次に、学習部33は、GPS法によって学習済みモデルTM(πθ(a|s))を更新する(ステップS16)。学習済みモデルTMの更新は、方策と軌道を一致させるKL(Kullback-Leibler)ダイバージェンスによる拘束条件の下で、価値最適化問題を解くことに相当する。この価値最適化問題は、下式(7)で表される。
Figure 0007270580000007
ここで、p(τ)は軌道分布を表す関数であり、下式(8)で表される。
Figure 0007270580000008
仮に、πθ(a|s)がp(a|s)に完全に一致した場合には、上式(2)で表される期待値Eπθ[l(τ)]が最小化される。上式(7)をラグランジュの未定乗数法により変形すると、下式(9)で表されるラグラジアンL(θ,p,λ)GPSの最小化問題となる。
Figure 0007270580000009
ラグラジアンL(θ,p,λ)GPSを、双対変数λを用いて重みパラメータθに関して最小化することによりπθ(a|s)が最適化される。これは、下式(10)で表される双対変数λにより重み付けられたKLダイバージェンスの和SKLを重みパラメータθに関して最小化することに相当する。
Figure 0007270580000010
ステップS16において、学習部33は、軌道サンプルτのデータセット{τ}を用いて、KLダイバージェンスの和SKLを重みパラメータθに関して最小化し、和SKLが最小化されたθを用いて学習済みモデルTM(πθ(a|s))を更新する。図15は、学習済みモデルTMの更新処理の流れを概念的に示している。
次に、学習部33は、軌道の最適化を行うことにより、確率分布モデルSM(p(a|s))を更新する(ステップS17)。
軌道の最適化は、上式(9)で表されるラグラジアンL(θ,p,λ)GPSを軌道分布p(τ)に関して最小化することに相当する。また、軌道の最適化は、軌道分布p(τ)の前回のp(τ)preからの乖離率を所定値以内に拘束する条件の下で、下式(11)のようにコストl(s,a)の期待値を最小化することに相当する。
Figure 0007270580000011
上式(9)で表されるラグラジアンL(θ,p,λ)GPSに、上式(11)の軌道の拘束条件を付加することにより、軌道の最適化において最小化すべきラグラジアンL(p)GPSは、下式(12)で表される。
Figure 0007270580000012
学習部33は、ラグラジアンL(p)GPSの最小化問題を、LQG(Linear Quadratic Gaussian)問題として解くことにより、新たな確率分布モデルSM(p(a|s))を求める。図16は、確率分布モデルSMの更新処理の流れを概念的に示している。
図17に示すように、確率分布モデルSM(p(a|s))は、積算コストが最も小さくなる最適な軌道を取るように更新される。
次に、学習部33は、双対変数λの調整を行う(ステップS18)。具体的には、学習部33は、双対変数λを、αDKL(p(s)πθ(a|s)||p(s,a))だけインクリメントする。
そして、学習部33は、繰り返しパラメータkがKであるか否かを判定する(ステップS19)。学習部33は、繰り返しパラメータkがKでない場合には(ステップS19:NO)、繰り返しパラメータkに1を加算し(ステップS20)、処理をステップS11に戻す。一方、学習部33は、繰り返しパラメータkがKである場合には(ステップS19:YES)、学習動作を終了する。図18は、繰り返し処理の流れを概念的に示している。
以上のように、学習部33が実行する学習アルゴリズムによれば、学習済みモデルTM(πθ(a|s))を用いてロボット10を実行させることなく、学習済みモデルTMの更新を行うことができる。最終的に更新された学習済みモデルTMが目標値生成部30の学習済みモデル記憶部301に記憶されて、モデル切り替え部303により選択される。これにより、最終的に更新された学習済みモデルTMがロボット10の運用に用いられる。
上記実施形態では、目標値生成部30は、サイクルごとに手先13の位置目標値pref t+1及び力目標値fref t+1を生成する。制御部31は、位置目標値pref t+1とセンシング情報に基づく手先13の位置pとの偏差を表す位置偏差値perrと、力目標値fref t+1とセンシング情報に基づく手先13にかかる力fとの偏差を表す力偏差値ferrとを求める。そして、制御部31は、位置偏差値perrと力偏差値ferrとのそれぞれに微分補償変換を施した値の線形和を算出し、算出した線形和を制御偏差値として現サイクルの関節指令値に対してフィードバックする。
このように、本開示の技術によれば、手先の位置に関する制御と力に関する制御とを両立させることが可能となる。本開示の技術によれば、物体との接触を伴う組立作業等に関わる制御においては、学習動作中における接触による破損のリスク、又は接触による学習の継続性などの問題を解決することができる。
また、上記実施形態では、学習部33は、目標値生成部30の学習済みモデルに代えて、センシング情報と手先13の位置p及び力fとの関係を、確率分布によって表現した確率分布モデルSMによって位置目標値pref t+1及び力目標値fref t+1を生成する。そして、学習部33は、制御部31により生成された関節指令値に基づいてロボット10を制御することにより、サイクルごとにセンシング情報を収集し、収集されたセンシング情報と位置目標値pref t+1及び力目標値fref t+1との関係を学習することにより確率分布モデルSM及び学習済みモデルTMを更新する。
このように、本開示の技術によれば、複雑な学習済みモデルTMでは直接学習を行わずに、簡素な確率分布モデルSMを補助的に用いて学習を行うので、学習時間を短縮することが可能となる。
<変形例>
次に、上記実施形態の変形例について説明する。上記実施形態では、学習時にロボット10に動作させるタスクを、初期位置及び最終目標位置を含むものとしているが、さらに最終力目標値を含むものとすることも好ましい。この場合、コストl(st,at)は、例えば、上式(3)に代えて、下式(13)で表される。
Figure 0007270580000013
ここで、ftfは、タスクの最終時刻における力fの値を表す。fは、手先13の最終力目標値を表している。wは、重み係数である。その他の変数については、上式(3)で説明した変数と同様である。
このように、上式(13)で表されるコストl(st,at)を用いることにより、最終力目標値を含むより精度の高い学習を行うことが可能となる。
また、上記実施形態では、線形加算部313は、ゲイン係数γを固定値としているが、力fの値に応じて変化させることも好ましい。線形加算部313は、例えば、図19に示す制御をサイクルごとに行う。線形加算部313は、サイクルごとに力覚センサ14から力fを取得し(ステップS30)、取得した力fが0より大きいか否かを判定する(ステップS31)。
線形加算部313は、力fが0より大きい場合には(ステップS31:YES)、ゲイン係数γを、0より大きく、かつ1より小さい値(例えば、0.5)に設定する(ステップS32)。一方、線形加算部313は、力fが0である場合には(ステップS31:NO)、ゲイン係数γを1に設定する(ステップS33)。
次に、線形加算部313は、ロボット10の動作を終了する際に生成される終了信号を受信したかを判定し(ステップS34)、終了信号を受信していない場合には(ステップS34:NO)、ステップS30へ処理を戻し、次サイクルにおける力fを取得する。一方、線形加算部313は、終了信号を受信した場合には(ステップS34:YES)、処理を終了する。
以上の制御によれば、f=0、すなわち手先13が物体と接触していな場合には、γ=1とされることにより、力偏差値f’errは位置偏差値p’errに加算されず、位置偏差値p’errのみが制御に用いられる。一方、f>0、すなわち手先13が物体と接触している場合には、1<γ<1とされることにより、位置偏差値p’errに力偏差値f’errが加算されて制御が行われる。このように、手先13が物体と接触していな場合に位置制御のみを行い、手先13が物体と接触している場合に位置及び力の制御を行うことで、目標値への収束性が高く、かつより短時間での動作が可能となる。
なお、ステップS32において設定するゲイン係数γは、固定値に限られず、力fの値に応じて変化させてもよい。例えば、力fが閾値以下である場合には、γ=0.5とし、力fが閾値より大きい場合にγ=0.8とする。
さらに、ゲイン係数γを学習済みモデルTMに基づいてサイクルごとに決定することにより、ゲイン係数γを動的に変化させることも好ましい。この場合、例えば、図20に示すように目標値生成部30及び制御部31を構成する。目標値生成部30の学習済みモデル記憶部301に記憶された学習済みモデルTMは、ゲイン係数γのサイクルごとの関係を記憶している。具体的には、学習済みモデルTMは、あるサイクル(時刻t)におけるゲイン係数γと、次のサイクル(時刻t+1)におけるゲイン係数γt+1との関係を記憶している。
すなわち、本変形例では、図20に示すように、現サイクルにおけるゲイン係数γを状態sに含め、学習済みモデルTMが出力する次サイクルにおけるゲイン係数γt+1を行動aに含める。目標値生成部30から出力されるゲイン係数γt+1は、制御部31の線形加算部313に入力される。線形加算部313は、上式(1)に代えて、下式(14)に基づいて、位置偏差値p’errと力偏差値f’errとの線形加算を行う。
Figure 0007270580000014
このように、ゲイン係数γを状態sに含む学習済みモデルTMの学習は、学習部33により、上記実施形態と同様の方法で実行される。
[第2実施形態]
次に、第2実施形態に係るロボットシステムについて説明する。本実施形態のロボットシステムは、制御部31の機能が第1実施形態とは異なる。図21に示すように、制御部31には、パラメータ生成部304から制御部31に各種のパラメータが供給される。パラメータ生成部304は、目標値生成部30に設けられている。
本実施形態では、位置制御部312Aは、位置偏差値perrに対して「Kpp+Kdps」を伝達関数とするラプラス変換を行うことにより、微分補償変換が施された位置偏差値p’errを生成する。ここで、Kppは比例ゲインであり、Kdpは微分ゲインである。また、sは、ラプラス変数であって、時間に関する微分を表す。すなわち、本実施形態の位置制御部312Aは、第1実施形態の位置制御部312Aと同様の構成である。
本実施形態では、力制御部312Bは、力偏差値ferrに対して「Kpf+Kif/s」を伝達関数とするラプラス変換を行うことにより、積分補償変換が施された力偏差値f’errを生成する。ここで、Kpfは比例ゲインであり、Kifは積分ゲインである。すなわち、第1実施形態の位置制御部312Aは微分補償変換を行うのに対して、本実施形態の位置制御部312Aは積分補償変換を行う。
本実施形態では、第1偏差算出部311A及び位置制御部312Aによる処理は、PD制御で用いられる処理に相当する。また、第2偏差算出部311B及び力制御部312Bによる処理は、PI(Proportional-Integral)制御で用いられる処理に相当する。
パラメータ生成部304は、比例ゲインKpp及び微分ゲインKdpをサイクルごとに生成して位置制御部312Aに供給する。また、パラメータ生成部304は、比例ゲインKpf及び積分ゲインKifをサイクルごとに生成して力制御部312Bに供給する。
さらに、パラメータ生成部304は、ゲイン係数γをサイクルごとに生成して線形加算部313に供給する。ゲイン係数γは、上記変形例と同様の手法で生成される。
パラメータ生成部304は、比例ゲインKpp及びKpfと、ゲイン係数γとを、学習済みモデル記憶部301に記憶された学習済みモデルTMに基づいて求める。学習済みモデルTMは、前述の位置目標値pref t+1及び力目標値fref t+1に加えて、比例ゲインKpp及びKpfと、ゲイン係数γとの3種のパラメータをサイクルごとに出力する。
また、パラメータ生成部304は、学習済みモデルTMに基づいて求めた比例ゲインKpp及びKpfを用い、下式(15)及び(16)に基づいて、微分ゲインKdp及び積分ゲインKifを求める。
Figure 0007270580000015

Figure 0007270580000016
また、本実施形態では、例えば、上式(3)に代えて、下式(17)で表されるコストl(st,at)を用いて学習済みモデルTMの最適化を行う。
Figure 0007270580000017
上式(17)は、上式(3)の右辺に、力fに関する項と、時間tに関する項と、タスクの成否κに関する項とを追加したものである。力fは、前述の手先13にかかる力fである。時間tは、タスクが開始されてからの経過時間である。成否κは、タスクが成功したか否かを表すパラメータである。
第2実施形態に係るロボットシステムのその他の構成は、第1実施形態に係るロボットシステム1の構成と同様である。
[実施例]
次に、第2実施形態に係るロボットシステムの実施例について説明する。ロボット10(図1参照)として、ユニバーサルロボット社製の多関節ロボット(モデル:UR3e)を用いる。また、制御装置20として、CPU(Intel(登録商標) i9-9900k)及びGPU(Nvidia(登録商標) RTX-2800 Super)が内蔵されたコンピュータを用いる。GPUは、Graphics Processing Unitの略称である。
また、ワークW(図5参照)を四角柱の棒状の部材とし、目標物40の穴41を矩形状とする。そして、ワークWと穴41とのクリアランスを1mmとする。
また、本実施例では、パラメータ設定部34に設定するタスクの条件を、T=10sec、I=3、K=20、及びS=0.05secとする。
本実施例では、パラメータ生成部304は、比例ゲインKpp及びKpfと、ゲイン係数γとの3種のパラメータについて機械学習を行う。また、ロボット10のアーム11(図1参照)は、前述のように6軸方向へ手先13の位置を変更することが可能であり、6次元の自由度を有する。したがって、本実施例において、機械学習するパラメータ数は、18である。
また、本実施例では、目標値生成部30は、6次元の位置目標値pref t+1と、6次元の力目標値fref t+1との合計12次元の目標値に加えて、5種のパラメータ(Kpp,Kpf,Kdp,Kif,γ)を出力する。
図22は、ワークWを穴41に挿入するタスクを上記の条件で実行した結果得られたコストl(st,at)の値(以下、コスト値という。)の推移を表す。図22に示すグラフの横軸は、繰り返しパラメータkで表される学習回数を表している。以下、学習回数kという。
図22中の実線はコスト値の平均値を表し、破線はコスト値のばらつきを表す。コスト値の平均値は、各学習回数kにおいてロボット10が動作を繰り返すことにより得られるI個のコスト値を平均した値である。コスト値のばらつきは、各学習回数kにおいてロボット10が動作を繰り返すことにより得られるI個のコスト値のばらつきである。
図22に示すように、学習回数kの増加にしたがって、コスト値の平均値が減少するとともに、コスト値のばらつきが低減した。したがって、本実施例により、学習回数kの増加にしたがってロボット10の動作性能が向上することが確認された。
上記各実施形態において、例えば、目標値生成部30、制御部31、手先位置算出部32、及び学習部33、制御部31に含まれる第1偏差算出部311A、第2偏差算出部311B、位置制御部312A、力制御部312B、線形加算部313、逆運動学演算部314、及び指令値生成部315などの各種の処理を実行する処理部(Processing Unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(Processor)を用いることができる。
各種のプロセッサには、上述したように、ソフトウェア(作動プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPU202に加えて、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるPLD(Programmable Logic Device)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせ、及び/又は、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
さらに、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子等の回路素子を組み合わせた電気回路(circuitry)を用いることができる。
本開示の技術は、上述の種々の実施形態と種々の変形例を適宜組み合わせることも可能である。また、上記各実施形態に限らず、要旨を逸脱しない限り種々の構成を採用し得ることはもちろんである。さらに、本開示の技術は、プログラムに加えて、プログラムを非一時的に記憶する記憶媒体にもおよぶ。
以上に示した記載内容及び図示内容は、本開示の技術に係る部分についての詳細な説明であり、本開示の技術の一例に過ぎない。例えば、上記の構成、機能、作用、及び効果に関する説明は、本開示の技術に係る部分の構成、機能、作用、及び効果の一例に関する説明である。よって、本開示の技術の主旨を逸脱しない範囲内において、以上に示した記載内容及び図示内容に対して、不要な部分を削除したり、新たな要素を追加したり、置き換えたりしてもよいことはいうまでもない。また、錯綜を回避し、本開示の技術に係る部分の理解を容易にするために、以上に示した記載内容及び図示内容では、本開示の技術の実施を可能にする上で特に説明を要しない技術常識等に関する説明は省略されている。

本明細書において、「A及び/又はB」は、「A及びBのうちの少なくとも1つ」と同義である。つまり、「A及び/又はB」は、Aだけであってもよいし、Bだけであってもよいし、A及びBの組み合わせであってもよい、という意味である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
10 ロボット
11 アーム
12 基台
13 手先
14 力覚センサ
15 駆動モータ
16 エンコーダ
20 制御装置
30 目標値生成部
31 制御部
32 手先位置算出部
33 学習部
34 パラメータ設定部
40 目標物
41 穴
200 ストレージデバイス
201 メモリ
203 通信部
204 ディスプレイ
205 入力デバイス
206 バスライン
301 モデル記憶部
302 確率分布モデル記憶部
303 モデル切り替え部
304 パラメータ生成部
311A 第1偏差算出部
311B 第2偏差算出部
312A 位置制御部
312B 力制御部
313 線形加算部
314 逆運動学演算部
315 指令値生成部
γ ゲイン係数
θ 重みパラメータ
C1 第1駆動軸
C2 第2駆動軸
C3 第3駆動軸
C4 第4駆動軸
C5 第5駆動軸
C6 第6駆動軸
L1 入力層
L2 中間層
L3 出力層
SM 確率分布モデル
TM 学習済みモデル
W ワーク

Claims (14)

  1. ロボットの関節を駆動するための関節指令値を一定のサイクルごとに与えてロボットを作動させるプロセッサを有するロボットの制御装置であって、
    前記プロセッサは、
    前記関節の位置、前記関節の速度、及び前記ロボットの手先にかかる力を含むセンシング情報と、次サイクルの前記手先の位置と前記手先にかかる力の目標値である前記手先の位置目標値及び力目標値との関係を学習した学習済みモデルに基づいて、前記サイクルごとに前記位置目標値及び前記力目標値を生成し、
    前記位置目標値と前記センシング情報に基づく前記手先の位置との偏差を表す位置偏差値と、前記力目標値と前記センシング情報に基づく前記手先にかかる力との偏差を表す力偏差値とのそれぞれに補償変換を施した値の線形和を算出し、かつ前記線形和を制御偏差値として現サイクルの前記関節指令値に対してフィードバックを行うことにより、次サイクルの前記関節指令値を生成する、
    ロボットの制御装置。
  2. 前記プロセッサは、
    前記位置偏差値と前記力偏差値とのそれぞれに微分補償変換を施した値の線形和を算出する、
    請求項1に記載のロボットの制御装置。
  3. 前記プロセッサは、
    前記位置偏差値に微分補償変換を施した値と、前記力偏差値に積分補償変換を施した値との線形和を算出する、
    請求項1に記載のロボットの制御装置。
  4. 前記プロセッサは、
    前記手先の初期位置、最終目標位置、及び最終力目標値を含むタスクを与え、前記サイクルごとに前記関節指令値を生成し、かつ前記センシング情報を取得することにより学習を行い、前記学習済みモデルを更新する、
    請求項1から請求項3のうちいずれか1項に記載のロボットの制御装置。
  5. 前記プロセッサは、
    前記学習済みモデルに代えて、前記センシング情報と前記手先の位置及び力との関係を、確率分布によって表現した確率分布モデルによって前記位置目標値及び前記力目標値を生成し、
    前記関節指令値に基づいて前記ロボットを制御することにより、前記サイクルごとに前記センシング情報を収集し、
    収集された前記センシング情報と前記位置目標値及び前記力目標値との関係を学習することにより前記確率分布モデル及び前記学習済みモデルを更新する、
    請求項4に記載のロボットの制御装置。
  6. 前記プロセッサは、前記最終目標位置及び前記最終力目標値への到達度を表すコストを最小化するように前記確率分布モデルを更新する、
    請求項5に記載のロボットの制御装置。
  7. 前記プロセッサは、更新された前記確率分布モデルを用いて前記学習済みモデルを更新する、
    請求項6に記載のロボットの制御装置。
  8. 前記確率分布モデルは、線形ガウスモデルである、
    請求項7に記載のロボットの制御装置。
  9. 前記学習済みモデルは、ニューラルネットワークである、
    請求項1から請求項8のうちいずれか1項に記載のロボットの制御装置。
  10. 前記位置偏差値に補償変換を施した値をp’err、前記力偏差値に補償変換を施した値をf’err、前記線形和をpstepとした場合に、「pstep=γp’err+(1-γ)f’err」の関係(ここで、0<γ≦1)を有する、
    請求項1から請求項9のうちいずれか1項に記載のロボットの制御装置。
  11. 前記プロセッサは、前記手先にかかる力に応じて係数γを、前記サイクルごとに変化させる、
    請求項10に記載のロボットの制御装置。
  12. 前記学習済みモデルは、サイクルごとの前記係数γの関係をさらに記憶しており、
    前記プロセッサは、前記係数γに基づいて線形和pstepを算出する、
    請求項11に記載のロボットの制御装置。
  13. ロボットの関節を駆動するための関節指令値を一定のサイクルごとに与えてロボットを作動させるロボットの制御方法であって、
    前記関節の位置、前記関節の速度、及び前記ロボットの手先にかかる力を含むセンシング情報と、次サイクルの前記手先の位置と前記手先にかかる力の目標値である前記手先の位置目標値及び力目標値との関係を学習した学習済みモデルに基づいて、前記サイクルごとに前記位置目標値及び前記力目標値を生成する目標値生成ステップと、
    前記位置目標値と前記センシング情報に基づく前記手先の位置との偏差を表す位置偏差値と、前記力目標値と前記センシング情報に基づく前記手先にかかる力との偏差を表す力偏差値とのそれぞれに補償変換を施した値の線形和を算出し、かつ前記線形和を制御偏差値として現サイクルの前記関節指令値に対してフィードバックを行うことにより、次サイクルの前記関節指令値を生成する制御ステップと、
    を有するロボットの制御方法。
  14. ロボットの関節を駆動するための関節指令値を一定のサイクルごとに与えてロボットを作動させる制御をコンピュータに作動させるプログラムであって、
    前記関節の位置、前記関節の速度、及び前記ロボットの手先にかかる力を含むセンシング情報と、次サイクルの前記手先の位置と前記手先にかかる力の目標値である前記手先の位置目標値及び力目標値との関係を学習した学習済みモデルに基づいて、前記サイクルごとに前記位置目標値及び前記力目標値を生成する目標値生成ステップと、
    前記位置目標値と前記センシング情報に基づく前記手先の位置との偏差を表す位置偏差値と、前記力目標値と前記センシング情報に基づく前記手先にかかる力との偏差を表す力偏差値とのそれぞれに補償変換を施した値の線形和を算出し、かつ前記線形和を制御偏差値として現サイクルの前記関節指令値に対してフィードバックを行うことにより、次サイクルの前記関節指令値を生成する制御ステップと、
    をコンピュータに作動させるプログラム。
JP2020109801A 2019-12-10 2020-06-25 ロボットの制御装置、制御方法、及びプログラム Active JP7270580B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019222997 2019-12-10
JP2019222997 2019-12-10

Publications (2)

Publication Number Publication Date
JP2021091079A JP2021091079A (ja) 2021-06-17
JP7270580B2 true JP7270580B2 (ja) 2023-05-10

Family

ID=76311352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020109801A Active JP7270580B2 (ja) 2019-12-10 2020-06-25 ロボットの制御装置、制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7270580B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116079737A (zh) * 2023-02-23 2023-05-09 南京邮电大学 基于分层强化学习的机械臂复杂操作技能学习方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100145509A1 (en) 2008-12-10 2010-06-10 George Zhang Method And System For In-Production Optimization of The Parameters Of A Robot Used for Assembly
JP2019005834A (ja) 2017-06-22 2019-01-17 株式会社デンソー 学習システム及び学習方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09123078A (ja) * 1995-11-01 1997-05-13 Ricoh Co Ltd ロボット装置
JPH09258814A (ja) * 1996-03-22 1997-10-03 Kayaba Ind Co Ltd 組み立てロボットの位置決め制御装置及び位置決め制御方法
JPH10111701A (ja) * 1996-10-05 1998-04-28 Ricoh Co Ltd 学習型自動セル装置と学習方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100145509A1 (en) 2008-12-10 2010-06-10 George Zhang Method And System For In-Production Optimization of The Parameters Of A Robot Used for Assembly
JP2019005834A (ja) 2017-06-22 2019-01-17 株式会社デンソー 学習システム及び学習方法

Also Published As

Publication number Publication date
JP2021091079A (ja) 2021-06-17

Similar Documents

Publication Publication Date Title
WO2022088593A1 (zh) 机械臂的控制方法、装置及人机协同模型的训练方法
JP4735795B2 (ja) 冗長マニピュレータの制御方法
US20070083290A1 (en) Apparatus and method for computing operational-space physical quantity
JP5011525B2 (ja) 逐次検索法による6自由度ロボットアームの逆運動学、およびそれを使用するロボットのシステム、制御方法、プログラム
CN110103225B (zh) 一种数据驱动的机械臂重复运动控制方法与装置
Feng et al. Inverse kinematic solution for robot manipulator based on electromagnetism-like and modified DFP algorithms
Rubio et al. Optimal time trajectories for industrial robots with torque, power, jerk and energy consumed constraints
JP7295421B2 (ja) 制御装置及び制御方法
Jiao et al. Adaptive hybrid impedance control for dual-arm cooperative manipulation with object uncertainties
CN112338913B (zh) 一种多关节柔性机械臂的轨迹跟踪控制方法及***
JP7270580B2 (ja) ロボットの制御装置、制御方法、及びプログラム
Mazare et al. Adaptive variable impedance control for a modular soft robot manipulator in configuration space
EP4019208A1 (en) Control device, control method, and control program
JP7263987B2 (ja) 制御装置、制御方法、及び制御プログラム
Izadbakhsh et al. Superiority of q-Chlodowsky operators versus fuzzy systems and neural networks: Application to adaptive impedance control of electrical manipulators
Pomares et al. Dynamic visual servo control of a 4-axis joint tool to track image trajectories during machining complex shapes
EP4205916A1 (en) Learning device, learning method, learning program, control device, control method, and control program
EP2359989B1 (en) Robot control with bootstrapping inverse kinematics
JP7391635B2 (ja) 制御システム
Nagata et al. Neural network-based inverse kinematics for an industrial robot and its learning method
JP7028196B2 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP6895086B2 (ja) ロボットの制御装置、制御方法及びプログラム
Kirchoff et al. A saturation-type robust controller for modular manipulators arms
Zhang et al. An online prediction and compensation method for robot position errors embedded with error-motion correlation
Toner et al. Probabilistically safe mobile manipulation in an unmodeled environment with automated feedback tuning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230425

R150 Certificate of patent or registration of utility model

Ref document number: 7270580

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150