JP2020032481A - ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム - Google Patents

ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム Download PDF

Info

Publication number
JP2020032481A
JP2020032481A JP2018159740A JP2018159740A JP2020032481A JP 2020032481 A JP2020032481 A JP 2020032481A JP 2018159740 A JP2018159740 A JP 2018159740A JP 2018159740 A JP2018159740 A JP 2018159740A JP 2020032481 A JP2020032481 A JP 2020032481A
Authority
JP
Japan
Prior art keywords
robot arm
physical parameter
path
robot
control
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.)
Granted
Application number
JP2018159740A
Other languages
English (en)
Other versions
JP7199178B2 (ja
Inventor
準治 大明
Junji Oaki
準治 大明
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018159740A priority Critical patent/JP7199178B2/ja
Priority to US16/287,197 priority patent/US11179851B2/en
Publication of JP2020032481A publication Critical patent/JP2020032481A/ja
Application granted granted Critical
Publication of JP7199178B2 publication Critical patent/JP7199178B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

【課題】追従誤差を低減することができるロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラムを提供すること。【解決手段】ログ取得部は、ロボットアームの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを取得する。第1の調整部は、前記ログ取得部により取得された前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を調整するように前記ロボットアームの動作を計算するための第1物理パラメータを調整する。第2の調整部は、前記第1の調整部により調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算し、計算結果に基づいて、前記ロボットアームのフィードフォワード制御に用いられる第2物理パラメータを調整する。【選択図】図1

Description

本発明の実施形態は、ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラムに関する。
生産などの現場で用いられるような、ロボットアームの先端を所望の経路に追従させる軌道追従制御において、精度の良い追従性能を得るには、正確な動力学モデルの同定に基づくモデルベースト制御が必要である。しかしながら、一般には、正確な動力学モデルを同定することは困難である。
これに対して、ロボットアーム先端の軌道追従制御において、正確な動力学モデルを必要としない、繰り返し学習制御を用いてロボットアームを制御するというアプローチも考えられている。例えば、精度の良い追従性能を得るために付加されるフィードフォワード制御の入力を生成するために、ロボットを繰り返し動作させながら、適切な制御パラメータを獲得する技術が知られている。しかしながら、ロボットアームに危険が及ばないように、安全なパラメータを選択しながら繰り返し動作させることは、手間がかかる上に、ロボットアームのメカニズムの摩耗を招く。そのため、ロボットアーム先端の軌道追従制御において、計算機シミュレーションを用いてオフラインでの繰り返し学習を行うような制御が望まれている。
近年、計算機能力が向上しているため、ロボットアームの動力学モデルに基づくシミュレータを構築し、オフラインでの繰り返し学習を行ったロボットアーム先端の軌道追従制御を行うことが可能となっている。例えば、エンドトゥエンドの深層学習を用いてロボットアーム先端の軌道のマニピュレーションスキルを獲得することが行われている。
これは、報酬ベースの強化学習であり、教師なし学習の枠組みで構築される軌道追従制御である。上記のようなあらかじめ経路が与えられた軌道追従制御のような教師あり学習の枠組みに用いるオフラインシミュレータは精度が必要となる。そのため、ロボットアーム先端の軌道追従制御においては正確な動力学モデルを同定することが必要となっていた。
特開2013−041478号公報
本発明が解決しようとする課題は、ロボットアーム先端の軌道追従制御において、追従誤差を低減することができるロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラムを提供することである。
実施形態のロボット制御装置は、ログ取得部と、第1の調整部と、第2の調整部とを持つ。ログ取得部は、ロボットアームの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを取得する。第1の調整部は、前記ログ取得部により取得された前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を低減するように前記ロボットアームの動作を計算するための第1物理パラメータを調整する。第2の調整部は、前記第1の調整部により調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算し、計算結果に基づいて、前記ロボットアームのフィードフォワード制御に用いられる第2物理パラメータを調整する。
第1の実施形態のロボット制御装置の構成の一例を示すブロック図。 第1の実施形態のロボット制御装置の構成の一例を示す図。 水平面におけるロボットアームの先端の軌道の一例を示す図。 フィードバックに基づいてロボットアームを制御するロボット制御装置の構成の一例を示すブロック図。 フィードバックに基づいたロボットアームの動力学モデルによる処理を行うシミュレータの一例を示すブロック図。 動力学モデルの物理パラメータの最適化(第1の最適化)の処理を行う制御装置13の一例を示すブロック図。 図3(d)に示される円軌道における第1の最適化の前後の動作軌跡の一例を示す図。 フィードフォワード制御用の逆動力学モデルの物理パラメータの最適化を行うシミュレータの構成の一例を示すブロック図。 図3(d)の円軌道における第2の最適化の前後の動作軌跡の一例を示す図。 PID制御に基づくフィードバックと逆動力学モデルに基づくフィードフォワードを組み合わせたロボット制御装置の一例を示すブロック図。 学習前のロボットアームの動作と学習後のロボットアームの動作との比較結果の一例を示す図。 ロボット制御装置において実行される処理の流れの一例を示すフローチャート。 第2の実施形態の学習前のロボットアームの動作と学習後のロボットアームの動作との比較結果の一例を示す図。 第3の実施形態の図3(a)、(b)、(c)、(d)の各動作において、初期同定値から第1の最適化および2の最適化で得られた物理パラメータの一例を示す図。
以下、実施形態のロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラムを、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態のロボット制御装置Sの構成の一例を示すブロック図である。ロボット制御装置Sは、2リンク(2軸)のロボットアームAと、制御装置13とを備える。ロボットアームAは、制御装置13により制御される。
制御装置13は、例えば、フィードバック制御部14と、ログ取得部15と、逆座標変換部16と、フィードフォワード制御部17シミュレータ20と、記憶部30とを備える。
フィードバック制御部14、逆座標変換部16、フィードフォワード制御部17、シミュレータ20の各機能部のうち一部または全部は、CPU(Central Processing Unit)等のプロセッサがプログラム(ソフトウェア)を実行することで実現される。また、これらの各機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェアによって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリ、ROM(Read Only Memory)、RAM(Random Access Memory)などで構成される記憶部30に格納されていてもよいし、DVDやCD−ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることで記憶部30にインストールされてもよい。
フィードバック制御部14は、例えば、モータ回転角度を検出するエンコーダ信号をフィードバックするPID(比例・積分・微分)制御を行うPID制御器である。フィードバック制御部14は、モータMの角度を検出するエンコーダの出力値に基づいてPID制御を行う。フィードバック制御部14は、与えられた経路を実現するために、各軸のモータMの回転角度の目標値となるようにモータMを制御してロボットアームAが目標値軌道への追従するための制御を行う。
ログ取得部15は、ロボットアームAの経路追従時の動作データを取得する。ログ取得部15は、例えば、モータ電流指令値とエンコーダ値を時系列で監視し、動作データを取得する。ログ取得部15は、記憶部30に記憶された動作データを読み出してもよい。
逆座標変換部16は、ロボットアームAの目標値軌道を演算する。2リンクのロボットアームAの目標値軌道は、2次元平面内の軌道であるため、逆座標変換部16は、直角座標系での直線や円の軌道に基づいて、公知の逆座標変換の演算によって、各軸の回転角度の軌道として演算する(図3参照)。
ただし、目標値軌道は時間軸で指定されているので、回転角度だけでなく、回転角速度や回転角加速度軌道も陰に指定されている。ただし、フィードバック制御部14の演算では、回転角度目標値軌道だけが用いられる。
フィードフォワード制御部17は、フィードフォワード制御用の逆動力学モデルに適用される、最適化された物理パラメータを用いてロボットアームAの各モータをフィードフォワード制御する。フィードフォワード制御部17の処理については後述する。
シミュレータ20は、ロボットアームAの動作を計算するための動力学モデルおよび逆動力学モデルを動作させて動力学モデルおよび逆動力学モデルに含まれる物理パラメータを最適化する。シミュレータ20の処理については後述する。
記憶部30には、例えば、フィードバック制御に用いられる動力学モデルに含まれる物理パラメータが記憶される。また、記憶部30には、例えば、フィードフォワード制御に用いられる逆動力学モデルに含まれる物理パラメータが記憶される。記憶部30は、例えば、HDD、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM、またはRAM等の記憶装置を備える。
図2は、第1の実施形態のロボット制御装置Sの構成の一例を示す図である。ロボットアームは、第1リンクと第2リンクとを備える。第1リンク3は、基端3aが床面などに固定された基台1に対して回転自在に支持されているアームである。第1リンク3は、例えば、第1モータ4が駆動源となって第1減速機5で減速されて基台1に対して鉛直方向に沿った第1軸2回りに回転する。第1リンク3の基台1に対する回転角は、第1エンコーダ6により検出される。
第2リンク8は、基端8aが第1リンク3の先端3bにおいて第1リンク3に対して回転自在に支持されているアームである。第2リンク8は、例えば、第2モータ9が駆動源となって第2減速機10で減速されて第1リンク3に対して鉛直方向に沿った第2軸7周りに回転する。第2リンク8の第1リンク3に対する回転角は、第2エンコーダ11により検出される。このような構成により、ロボットアームAは、制御装置13により制御されて第2リンク8の先端8bを水平面の可動範囲内において任意の軌道に沿って動作する。
図3は、水平面におけるロボットアームAの先端8bの軌道の一例を示す図である。経路に追従させるロボットアームAの対象部位は、ロボットアームAの先端であるが、他の部位であってもよい。ロボットアームAの先端の軌道は、例えば、所定の2次元平面において任意図形で構成される経路が与えられている。任意図形で構成される経路は、任意図形を直線や円弧などの類型化された基本図形で表される経路セグメント毎に分割して、経路セグメント毎に計算された制御値に基づいてロボットアームAの制御が行われる。
図4は、フィードバックに基づいてロボットアームAを制御するロボット制御装置の構成の一例を示すブロック図である。ロボットアームAは、各軸を駆動するモータM、減速機GおよびリンクLで構成される。モータMは、例えば、上記のように第1モータ4と第2モータ9とを含む。減速機Gは、例えば、上記のように第1減速機5と第2減速機10とを含む。リンクLは、例えば、上記のように第1リンクと第2リンクとを含む。
図5は、フィードバックに基づいたロボットアームAの動力学モデルによる処理を行うシミュレータ20の一例を示すブロック図である。シミュレータ20は、例えば、パーソナルコンピュータなどの計算機上に実現される。シミュレータ20は、例えば、制御装置13において実行されるものであってもよい。シミュレータ20において、ロボットアームAの実機を稼働させる代わりに以下に示す動力学モデル21が実行される。動力学モデル21は、ロボットアームAの動作を計算するモデルである。動力学モデル21は、シミュレータ20において、ロボットアームAの実機を計算機上の仮想的なモデルで置き換えたものである。
動力学モデルでは、例えば、ロボットアームAを、弾性関節(各軸の減速機をバネ要素)を持つ多リンク機構として2階の微分方程式で記述する。2リンクロボットアームの動力学モデルは非線形であり、次のようなモータ側とリンク側の2組の式が与えられる。
Figure 2020032481
ただし、
Figure 2020032481
である。
ここで、α、β、γをリンクの長さや重心位置、質量、慣性より構成されるパラメータとすると、リンク慣性行列は、次式のように表される。
Figure 2020032481
パラメータα、β、γの詳細は、次式である。
Figure 2020032481
ただし、
Figure 2020032481
である。
遠心トルク・コリオリトルクベクトルについては、次式が与えられる。
Figure 2020032481
式(1)〜(4)で現れる、各部の慣性モーメントや摩擦係数、バネ係数などの物理パラメータ(2リンクのロボットアームAでは15個)はあらかじめ同定しておく必要がある。この時点での、物理パラメータの初期同定誤差は、後述の第1の最適化によって回復することができるものである。
本実施形態では、弾性関節モデル、すなわち、各軸の減速機においてバネ係数を1つ持つモデルを用いているが、軸ねじれ(モータ回転角度とリンク回転角度がねじれること)に起因するロボットアームAの振動を抑制する制御系を設計することを意図したものではない。そのため、本実施形態では、剛体関節モデルより多くの物理パラメータを用いて実機に近い挙動を動力学モデル21が適用されたシミュレータ20で再現することを意図したものである。
本実施形態では、PID制御器を用いたフィードバック制御部14において、軸ねじれを陽にフィードバックするなどの振動抑制制御系を併用することも可能である。フィードバック制御部14は、次式に基づいて、フィードバック制御のための演算を行う。
Figure 2020032481
ただし、
Figure 2020032481
であり、シミュレータ20では、ロボットアームAの実機と同じ制御ゲインが設定される。
図6は、動力学モデル21の物理パラメータの最適化(第1の最適化)の処理を行う制御装置13の一例を示すブロック図である。第1の調整部22は、シミュレータ20における動力学モデル21に対して、ログ取得部15に記録された時系列の動作データを用いた2乗規範に基づく評価関数を用いて経路とロボットアームAの先端の位置との追従誤差を最小とするように物理パラメータ(上述した15個)の最適化を行う。
以下、図3(d)に示される円軌道を例にとって、第1の最適化について説明する。図7は、図3(d)に示される円軌道における第1の最適化の前後の動作軌跡の一例を示す図である。図7(a)の上段のグラフには、目標値である円軌道の経路が破線で示されている。
X=0[mm]、Y=0[mm]の位置に設置されている全長800[mm]の2リンクのロボットアームAを制御して、ロボットアームAの先端がX=600[mm]、Y=0[mm]を起点とし、左回りに直径10[mm]の円の軌道を約0.4秒で描かせる実験を実機およびシミュレータにより行う。
図7(a)の上段のグラフには、ロボットアームAの実機で描いた軌道が1点鎖線で示されている。同図から明らかなように軌跡は円ではなく卵形になっている。これは、ロボットアームAの制御において、PID制御器によるフィードバック制御だけでは上記のように設定された円軌道に追従できないことを示している。
図7(a)の上段のグラフには、動力学モデル21に基づくシミュレータ20(図5参照)で描かれた軌跡が実線で示されている。この場合も同様に卵形の軌跡となっているが、ロボットアームAの実機の軌跡と比して誤差が生じている。これは、シミュレータ20で設定された動力学モデルが21完全にロボットアームAの実機を表現していないことを意味する。そもそも、式(1)〜(4)に示される動力学モデル21が近似モデルであり、当然、物理パラメータの同定誤差が存在する。
そこで、シミュレータ20に円軌道を描かせた時に、ロボットアームAの実機の軌跡に一致するように動力学モデル21の物理パラメータ(15個)を最適化する処理を行わせる。
第1の調整部22は、ログ取得部15で記録したロボットアームAの実機の動作データとシミュレータ20の動作データを用いて、非線形最小2乗法に基づく物理パラメータの最適化を行う。この最適化の評価関数は、次式のような2乗規範で与える。
Figure 2020032481
ここで、右辺第1、2項は、ロボットアームAの実機とシミュレータ20で設定される各軸のモータ回転角度の誤差の2乗を表し、右辺第3、4項は、電流指令値の誤差の2乗を表している。右辺第1、2項のrは、単位系が異なるモータ回転角度と電流指令値のオーダを調整するために導入した重みである。式(6)で与えられる2乗規範の評価関数は、公知の数値解法である非線形最小2乗法(例えば、Levenberg-Marquardt法)で最小化できる。第1の調整部22は、評価関数を用いて物理パラメータ15個を探索する。すなわち、第1の調整部22は、評価関数を用いてオフラインでの繰り返し学習制御をすることによって、各軸のモータMの回転角度の誤差を最小化することができる。
第1の調整部22において実行される第1の最適化によって、図7(b)の上段のように1点鎖線のロボットアームAの実機と実線のシミュレータ20の軌跡が一致するようになる。つまり、図3(d)の円軌道については、実機を動作させることなく、オフラインのシミュレータ20で再現できることになる。
図7(a)の下段は、第1の最適化前のロボットアーム実機とシミュレータの軌跡の半径方向の誤差であり、図7(b)の下段は、第1の最適化後の誤差である。後者は前者に比較して、誤差のピーク値が約1/10になっていることがわかる。
PID制御器に基づくフィードバック制御だけでは、図7のような円軌道に追従できないので、逆動力学モデルに基づくフィードフォワード制御を導入する。しかしながら、弾性関節に基づく動力学モデルの式(1)を逆転すること(電流指令値u=の形で表すこと)は、高次微分が必要になるので実装が複雑になる。そこで、フィードフォワード制御を簡略化するために剛体関節に基づく動力学モデルを導出する。式(1)で
[θ=Nθ
と置くと、
Figure 2020032481
が導かれる。ここでM、c、Dは、
Figure 2020032481
であり、それぞれモータ回転角度だけで表現した剛体関節モデルとしての慣性行列、遠心トルク・コリオリトルクベクトル、粘性摩擦行列である。
M、c内のパラメータ4個をm、m、m、m、D内のパラメータ2個をd1、d2と表現しておく。よって、簡略化した動力学モデルの物理パラメータの数は、クーロン摩擦トルクfM1、fM2の2つと合わせて8個になり、簡略化前の動力学モデルである式(1)の物理パラメータ15個の約半分になる。本実施形態の動作では、簡略化によるロボットアームの振動が問題になることはない。
式(7)を用いれば、剛体関節で簡略化した逆動力学モデルに基づくフィードフォワード制御は、モータ回転角度での目標値θMRを用いて次式で与えられる。
Figure 2020032481
このτFFを式(5)で与えられるフィードバック制御であるPID制御の右辺に加えることによって、フィードフォワード付きPID制御が実現できる。
このように、フィードフォワード制御では、回転角度目標値θMRだけでなく、回転角速度目標値θ’MRと回転角加速度目標値θ”MRも用いるので、目標値軌道への追従性を向上させることができる。
図8は、フィードフォワード制御用の逆動力学モデルの物理パラメータの最適化を行うシミュレータ20の構成の一例を示すブロック図である。シミュレータ20には、フィードフォワード制御用の逆動力学モデルの物理パラメータの最適化を行うために、第2の調整部23と、フィードフォワード制御部17と、順座標変換部25とが追加されている。第2の調整部23は、後述のように、逆動力学モデルの物理パラメータの最適化を行う。順座標変換部25は、モータ回転角度を順座標変換してロボットアーム先端の直角座標系での座標値x、yを算出する。
図9は、図3(d)の円軌道における第2の最適化の前後の動作軌跡の一例を示す図である。図9(a)の上段の実線は、フィードフォワード付きPID制御を用いた場合の動力学モデルに基づくシミュレータ20で描いた円軌道の軌跡である。このシミュレータ20では、既に最適化した物理パラメータ15個を用いた動力学モデル21を用いており、さらに、最適化した物理パラメータから算出したパラメータ8個を用いたフィードフォワード制御部17が付加されている。
図9(a)の上段に示されるように、破線で示した目標値である円軌道の経路からの誤差が図7に比較して減少しており、フィードフォワード制御の効果がわかる。しかし、まだ、円軌道の経路の左上の部分の軌跡で誤差が残っている。
第2の調整部23は、図6で最適化した物理パラメータ15個を用いた動力学モデル21に基づいて、順座標変換部25により算出されたロボットアーム先端の直角座標系での座標値x、yと、目標値である円軌道の直角座標系での座標値x、yとを用いて非線形最小2乗法に基づくフィードフォワード制御用の逆動力学モデルの物理パラメータ8個の最適化を行う。この最適化の評価関数は、次式(10)で与えられる。
Figure 2020032481
ここで、右辺第1項は、円軌道のX軸方向の誤差の2乗、第2項は、円軌道のY軸方向の誤差の2乗を表している。
第2の調整部23は、式(10)で与えられる2乗規範の評価関数を用いて、非線形最小2乗法に基づいて、逆動力学モデルの物理パラメータ8個を探索する。すなわち、第2の調整部23は、オフラインでの繰り返し学習制御をすることによって、逆動力学モデルの物理パラメータ8個を算出し、ロボットアームAの制御誤差を最小化することができる。
第2の調整部23により実行される第2の最適化によって、図9(a)の上段では左上に誤差が残っていたフィードフォワード付きPID制御のシミュレータの円軌道の軌跡が、図9(b)の上段では大きく改善されていることがわかる。図9(a)の下段は、第2の最適化前の円軌道の軌跡の半径方向の誤差であり、第9(b)の下段は、第2の最適化後の誤差である。後者は前者に比較して、誤差のピーク値が1/2以下になっていることがわかる。
図10は、PID制御に基づくフィードバックと逆動力学モデルに基づくフィードフォワードを組み合わせたロボット制御装置Sの一例を示すブロック図である。フィードバック制御部14は、第1の調整部22により最適化された動力学モデルの物理パラメータを用いて経路におけるモータMの制御値を算出する。
図11は、学習前のロボットアームAの動作と学習後のロボットアームAの動作との比較結果の一例を示す図である。図11(a)には、第1の最適化および2の最適化前のPID制御のみにより制御された学習前のロボットアームAの実機の円軌道動作における軌跡(上段)と半径方向の誤差(下段)が示されている。
図11(b)には、第1の最適化後及び第2の最適化後にフィードフォワード制御が付加された学習後のロボットアームAの実機の円軌道動作における軌跡(上段)と半径方向の誤差(下段)が示されている。学習後のロボットアームAの実機の円軌道動作では、最適化された物理パラメータ8個によるフィードフォワード制御が実現されている。
上述したように、まず1回目のロボットアームAの実機を円軌道を描くように動作させた際の動作データを用いて、シミュレータ20は、動力学モデルを用いたオフラインでの2回の最適化を行う。すなわち、シミュレータ20による2回の最適化による繰り返し学習制御を実行すれば、制御装置13による2回目のロボットアームAの実機の円軌道を描く動作では、誤差が大きく改善されることは明らかである。
次に、ロボット制御装置Sにおいて実行される処理の流れについて説明する。図12は、ロボット制御装置Sにおいて実行される処理の流れの一例を示すフローチャートである。
ログ取得部15は、ロボットアームAをフィードバック制御により経路に追従させた際の動作データを取得する(ステップS100)。このとき、ログ取得部15は、モータMのエンコーダの出力値や制御値を監視して動作データを取得してもよいし、記憶部30に記憶された動作データを取得してもよい。
第1の調整部22は、動作データとロボットアームAの動力学モデルを用いたシミュレーションによるロボットアームAの先端の軌跡との間の追従誤差を最小とするように動力学モデルに含まれる第1物理パラメータを最適化する(ステップS102)。第1の調整部22は、最適化した第1物理パラメータの計算結果を記憶部30に記憶する。
第2の調整部23は、記憶部30に記憶された最適化した第1物理パラメータの計算結果を読み出し、最適化された第1物理パラメータが適用されたロボットアームAの動力学モデルに基づいて、ロボットアームAの先端を経路に追従させた軌跡を計算する(ステップS104)。このとき、第2の調整部23は、記憶部30に計算結果を記憶する。
第2の調整部23は、記憶部30に記憶された計算結果に基づいて、フィードフォワード制御に用いられる第2物理パラメータを最適化する(ステップS106)。このとき、第2の調整部23は、記憶部30に最適化した第2物理パラメータの計算結果を記憶する。
以上説明した第1の実施形態のロボット制御装置、ロボット制御のパラメータ調整方法およびプログラムによれば、任意図形で構成される経路が与えられたロボットアーム先端の軌道追従制御において、追従誤差を低減することができる。ロボット制御装置によれば、ロボットアームを1回動作させた学習用の動作データを取得することで、追従誤差を低減するためのフィードフォワード制御のための物理パラメータを最適化することができる。
(第2の実施形態)
次に、第2の実施形態では、図3(b)で示されるY軸方向の直線軌道動作について説明する。2リンクのロボットアームAの先端によって、X=600[mm]、Y=500[mm]を起点とし、X=600[mm]、Y=−500[mm]を終点として約1.4秒で直線の軌道を描く場合について説明する。
図13は、第2の実施形態の学習前のロボットアームAの動作と学習後のロボットアームAの動作との比較結果の一例を示す図である。図13の上段には、第1の最適化および2の最適化前のPID制御のみにより制御された学習前のロボットアームAの実機の直線動作における軌跡が示されている。図13の下段には、第1の最適化後及び第2の最適化後にフィードフォワード制御が付加された学習後のロボットアームAの実機の直線軌道動作における軌跡が示されている。
上述したように、まず1回目のロボットアームAの実機が直線軌道を描くように動作させた際の動作データを用いて、シミュレータ20は、動力学モデルを用いたオフラインでの2回の最適化を行う。すなわち、シミュレータ20による2回の最適化による繰り返し学習制御を実行すれば、制御装置13による2回目のロボットアームAの実機の直線軌道を描く動作において、追従誤差を大きく低減することができる。
上述した第1の実施形態および第2の実施形態を適用すれば、図3(a)で示されるX軸方向の直線軌道動作や、図4(c)で示される直径100[mm]の円軌道動作においても、上述した繰り返し学習制御を実行することにより同様な学習効果が得られる。
(第3の実施形態)
図14は、第3の実施形態の図3(a)、(b)、(c)、(d)の各動作において、初期同定値から第1の最適化および2の最適化で得られた物理パラメータの一例を示す図である。図14(a)には、第1の最適化で得られた物理パラメータ15個が示されている。図14(b)には、第2の最適化で得られたフィードフォワード用物理パラメータ8個が示されている。動力学モデル用やフィードフォワード用の物理パラメータにおいて、本来、慣性モーメントなどは不変のものであるが、各動作において全て異なる値で同定されている。この理由として、式(1)の動力学モデルは、あくまでも近似モデルであるので、シミュレータ20では、物理パラメータの自由度を用いて、各動作データにフィッティングしているためである。
任意図形で構成される経路が与えられたロボットアームの軌道追従制御においては、シミュレータ20において任意図形を直線や円弧の類型化された経路セグメントに分割し、セグメント毎に上述した2回の最適化を行ってフィードフォワードの逆動力学モデルに含まれる物理パラメータを設定する。
そして、フィードフォワード制御部17は、逆動力学モデルに含まれる物理パラメータを経路セグメント毎に対応して切り替えてフィードフォワード制御を実行する。これにより、ロボット制御装置Sによれば、ロボットアームAに設定された経路が任意図形で構成されていても経路全体で追従誤差が低減された良好な軌道追従特性が得られる。
以上説明した第3の実施形態のロボット制御装置、ロボット制御のパラメータ調整方法、およびプログラムによれば、ニューラルネットワークのようなブラックボックスモデルとは異なり、動力学モデルに基づいているため、経路追従の速度だけが変わるようなケースでも、物理パラメータを流用して運用できる。
以上説明した実施形態のロボット制御装置Sは、例えば、ロボットアームAのキャリブレーションに適用される。作業者は、例えば、ロボットアームAにシミュレータ20がインストールされた制御装置13を接続してロボットアームAを動作させ、動作データに基づいて繰り返し学習制御を行ってロボットアームAの動作を最適化する。また、シミュレータ20は、制御装置13と別体の端末装置に構成されていてもよい。例えば、シミュレータ20がインストールされた端末装置により、ロボットアームAを動作させ、動作データに基づいて各物理パラメータを調整し、調整した物理パラメータのデータを制御装置13に出力するようにしてもよい。
上記実施形態では、制御装置13をロボットアームAと別体の装置として説明したが、制御装置13は、ロボットアームAに内蔵されているものであってもよい。
以上説明した少なくともひとつの実施形態によれば、ロボットアームAの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを取得するログ取得部15と、ログ取得部15により取得された動作データに基づいて、経路と対象部位の位置との追従誤差を低減するようにロボットアームの動作を計算するための第1物理パラメータを調整する第1の調整部22と、前記第1の調整部により調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算し、計算結果に基づいて、前記ロボットアームのフィードフォワード制御に用いられる第2物理パラメータを調整する第2の調整部23と、を持つことにより、任意図形で構成される経路が与えられたロボットアーム先端の軌道追従制御において、追従誤差を低減することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…基台、2…第1軸、3…第1リンク、4…第1モータ、5…第1減速機、6…第1エンコーダ、7…第2軸、8…第2リンク、9…第2モータ、10…第2減速機、11…第2エンコーダ、12…負荷、13…制御装置、14…フィードバック制御部、15…ログ取得部、16…逆座標変換部、17…フィードフォワード制御部、20…シミュレータ、21…ロボットアームの動力学モデル、22…第1の調整部、23…第2の調整部、25…順座標変換部、30…記憶部、A…ロボットアーム、M…モータ、G…減速機、L…リンク、S…ロボット制御装置

Claims (10)

  1. ロボットアームの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを取得するログ取得部と、
    前記ログ取得部により取得された前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を低減するように前記ロボットアームの動作を計算するための第1物理パラメータを調整する第1の調整部と、
    前記第1の調整部により調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算し、計算結果に基づいて、前記ロボットアームのフィードフォワード制御に用いられる第2物理パラメータを調整する第2の調整部と、を備える、
    ロボット制御装置。
  2. 前記第1の調整部は、前記ログ取得部により取得された前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を最小とするように前記ロボットアームの動作を計算するための動力学モデルに含まれる前記第1物理パラメータを最適化する、
    請求項1に記載のロボット制御装置。
  3. 前記第2の調整部は、前記第1の調整部により調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算し、計算結果と逆動力学モデルとに基づいて、前記ロボットアームのフィードフォワード制御に用いられる前記第2物理パラメータを最適化する、
    請求項1または2に記載のロボット制御装置。
  4. 前記第1の調整部は、類型化された基本図形で表される経路セグメント毎に前記ロボットアームの動作を計算するための動力学モデルに含まれる前記第1物理パラメータを最適化し、
    前記第2の調整部は、前記経路セグメント毎に前記フィードフォワード制御に用いられる前記第2物理パラメータを最適化する、
    請求項1から3のうちいずれか1項に記載のロボット制御装置。
  5. 前記フィードフォワード制御に用いられる前記第2物理パラメータを前記経路セグメント毎に切り替えてフィードフォワード制御を実行するフィードフォワード制御部を更に備える、
    請求項4に記載のロボット制御装置。
  6. ロボットアームの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを取得するログ取得部と、
    前記ログ取得部により取得された前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を低減するように前記ロボットアームの動作を計算するための第1物理パラメータを調整する第1の調整部と、
    前記第1の調整部により調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算し、計算結果に基づいて、前記ロボットアームのフィードフォワード制御に用いられる第2物理パラメータを調整する第2の調整部と、
    前記フィードフォワード制御に用いられる前記第2物理パラメータを類型化された基本図形で表される経路セグメント毎に切り替えてフィードフォワード制御を実行するフィードフォワード制御部と、を備える、
    ロボット制御装置。
  7. 複数の可動軸により可動する複数のアームを備えるロボットアームと、
    ロボットアームの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを取得するログ取得部と、
    前記ログ取得部により取得された前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を低減するように前記ロボットアームの動作を計算するための第1物理パラメータを調整する第1の調整部と、
    前記第1の調整部により調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算し、計算結果に基づいて、前記ロボットアームのフィードフォワード制御に用いられる第2物理パラメータを調整する第2の調整部と、を備える、
    ロボット装置。
  8. コンピュータが、
    ロボットアームの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを取得し、
    前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を低減するように前記ロボットアームの動作を計算するための第1物理パラメータを調整し、
    調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算し、
    計算結果により得られた前記経路への追従誤差を低減するようにフィードフォワード制御に用いられる第2物理パラメータを調整する、
    ロボット制御のパラメータ調整方法。
  9. コンピュータが、
    ロボットアームの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを記憶部から取得し、
    前記動作データを前記記憶部から読み出して、前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を低減するように前記ロボットアームの動作を計算するための第1物理パラメータを調整した第1計算結果を前記記憶部に記憶させ、
    前記第1計算結果を前記記憶部から読み出して、前記第1計算結果により調整された前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算した第2計算結果を前記記憶部に記憶させ、
    前記第2計算結果を前記記憶部から読み出して、前記第2計算結果に基づいて、前記ロボットアームのフィードフォワード制御に用いられる第2物理パラメータを調整した第3計算結果を前記記憶部に記憶させる、
    ロボット制御のパラメータ調整方法。
  10. コンピュータに、
    ロボットアームの対象部位をフィードバック制御によって所定の経路に追従させた際の動作データを取得させ、
    前記動作データに基づいて、前記経路と前記対象部位の位置との追従誤差を低減するように前記ロボットアームの動作を計算するための第1物理パラメータを調整させ、
    前記第1物理パラメータに基づいて、前記ロボットアームを前記経路に追従させた軌道を計算させ、
    計算結果に基づいて、前記ロボットアームのフィードフォワード制御に用いられる第2物理パラメータを最適化させる、
    プログラム。
JP2018159740A 2018-08-28 2018-08-28 ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム Active JP7199178B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018159740A JP7199178B2 (ja) 2018-08-28 2018-08-28 ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム
US16/287,197 US11179851B2 (en) 2018-08-28 2019-02-27 Robot control device, robot control parameter adjustment method, and non-transitory storage medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018159740A JP7199178B2 (ja) 2018-08-28 2018-08-28 ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020032481A true JP2020032481A (ja) 2020-03-05
JP7199178B2 JP7199178B2 (ja) 2023-01-05

Family

ID=69641940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018159740A Active JP7199178B2 (ja) 2018-08-28 2018-08-28 ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム

Country Status (2)

Country Link
US (1) US11179851B2 (ja)
JP (1) JP7199178B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112518744A (zh) * 2020-11-24 2021-03-19 五邑大学 机器人轨迹规划方法、装置、机器人
KR102659118B1 (ko) * 2023-12-29 2024-04-19 한국전자기술연구원 자산관리쉘을 활용한 디지털 트윈 기반 로봇 프로그래밍 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020192614A (ja) * 2019-05-24 2020-12-03 京セラドキュメントソリューションズ株式会社 ロボット装置及び把持方法
DE102019135810B3 (de) * 2019-12-27 2020-10-29 Franka Emika Gmbh Erzeugung eines Steuerprogramms für einen Robotermanipulator
US11691283B2 (en) * 2020-05-27 2023-07-04 Intrinsic Innovation Llc Robot control parameter interpolation
US11772265B2 (en) * 2020-08-20 2023-10-03 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling movement of a robot
CN112327938B (zh) * 2020-10-13 2021-11-02 华中科技大学 一种基于数据驱动的机器人近零跟随误差控制方法
CN112232350B (zh) * 2020-10-27 2022-04-19 广东技术师范大学 基于强化学习的水田机器人机械腿长度调整方法与系统
CN112975983B (zh) * 2021-03-16 2022-04-01 上海三一重机股份有限公司 作业机械的动臂矫正方法及装置
US11724390B2 (en) 2021-03-29 2023-08-15 Samsung Electronics Co., Ltd. Systems and methods for automated preloading of actuators
US11712804B2 (en) 2021-03-29 2023-08-01 Samsung Electronics Co., Ltd. Systems and methods for adaptive robotic motion control
US11731279B2 (en) * 2021-04-13 2023-08-22 Samsung Electronics Co., Ltd. Systems and methods for automated tuning of robotics systems
US12011832B2 (en) 2021-04-30 2024-06-18 Intrinsic Innovation Llc Real-time robotics control framework
US11992948B2 (en) * 2021-04-30 2024-05-28 Intrinsic Innovation Llc Real-time robotics control framework
CN117549316B (zh) * 2024-01-12 2024-03-12 唐山先河智能机器有限公司 多轴机械臂控制方法及主从控制系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05277976A (ja) * 1992-03-31 1993-10-26 Nippon Telegr & Teleph Corp <Ntt> 動力学モデルパラメータ同定装置
JPH06320451A (ja) * 1993-04-26 1994-11-22 Sanyo Electric Co Ltd マニピュレータ制御方法
JP2015030076A (ja) * 2013-08-05 2015-02-16 株式会社東芝 ロボット制御装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860215A (en) * 1987-04-06 1989-08-22 California Institute Of Technology Method and apparatus for adaptive force and position control of manipulators
SE509443C2 (sv) * 1997-05-15 1999-01-25 Asea Brown Boveri Förfarande för övervakning av en manipulators rörelsestyrning
SE0001312D0 (sv) * 2000-04-10 2000-04-10 Abb Ab Industrirobot
JP5383756B2 (ja) 2011-08-17 2014-01-08 ファナック株式会社 学習制御機能を備えたロボット
US8886359B2 (en) 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
US9226796B2 (en) * 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
US9008840B1 (en) * 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
EP3112096B1 (en) * 2014-02-28 2020-10-14 Sony Corporation Robot arm apparatus, calibration method, and program
CN106233214B (zh) * 2014-04-22 2019-04-12 Abb瑞士股份有限公司 补偿机器人运动偏差

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05277976A (ja) * 1992-03-31 1993-10-26 Nippon Telegr & Teleph Corp <Ntt> 動力学モデルパラメータ同定装置
JPH06320451A (ja) * 1993-04-26 1994-11-22 Sanyo Electric Co Ltd マニピュレータ制御方法
JP2015030076A (ja) * 2013-08-05 2015-02-16 株式会社東芝 ロボット制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
浅田 稔 MINORU ASADA: "運動学習から行動学習・認知発達へ From Motor Learning to Behavior Learning and Cognitive Development", 日本ロボット学会誌 JOURNAL OF THE ROBOTICS SOCIETY OF JAPAN, vol. 第22巻 第2号, JPN6021038724, 15 March 2004 (2004-03-15), JP, pages 150 - 155, ISSN: 0004607574 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112518744A (zh) * 2020-11-24 2021-03-19 五邑大学 机器人轨迹规划方法、装置、机器人
KR102659118B1 (ko) * 2023-12-29 2024-04-19 한국전자기술연구원 자산관리쉘을 활용한 디지털 트윈 기반 로봇 프로그래밍 방법

Also Published As

Publication number Publication date
JP7199178B2 (ja) 2023-01-05
US20200070346A1 (en) 2020-03-05
US11179851B2 (en) 2021-11-23

Similar Documents

Publication Publication Date Title
JP7199178B2 (ja) ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム
US10261497B2 (en) Machine tool for generating optimum acceleration/deceleration
US10564619B2 (en) Machine learning device, servo control device, servo control system, and machine learning method
US9421687B2 (en) Robot control apparatus and robot control method
CN103492133B (zh) 具有运动冗余臂的工业机器人和用于控制该机器人的方法
JP6490131B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
US10331104B2 (en) Machine tool, simulation apparatus, and machine learning device
JP6717768B2 (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
KR102003216B1 (ko) 로봇을 위한 모터 제어 및/또는 조정
WO2019239553A1 (ja) 機械学習装置、補正パラメータ調整装置および機械学習方法
EP3795307A1 (en) Improvements related to generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
US20160158936A1 (en) Collision avoidance method, control device, and program
CN109760040B (zh) 干扰判定方法、干扰判定系统以及存储介质
CN112218744A (zh) 学习多足机器人的敏捷运动的系统和方法
WO2020149021A1 (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
JP6841801B2 (ja) 機械学習装置、制御システム及び機械学習方法
US20150051735A1 (en) Control apparatus of robot, robot, and program thereof
JP4269150B2 (ja) ロボット制御装置
JP6021478B2 (ja) ロボット制御装置、及びロボット制御方法
JP6180688B1 (ja) 数値制御装置
WO2020149020A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP7166488B1 (ja) 数値制御装置、加工システム、数値制御方法および加工方法
JP2019181664A (ja) ロボットの制御装置およびロボットの制御方法
CN113474130B (zh) 利用机器人执行预先设定的任务的方法和系统
KR102079122B1 (ko) 로봇을 위한 동역학 시뮬레이션 기반 제어 프레임 워크

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220513

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220907

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220907

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220914

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220920

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: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221220

R151 Written notification of patent or utility model registration

Ref document number: 7199178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151