JP2018065221A - 機械学習により外力の検出精度を向上させた人協調ロボットシステム - Google Patents

機械学習により外力の検出精度を向上させた人協調ロボットシステム Download PDF

Info

Publication number
JP2018065221A
JP2018065221A JP2016205481A JP2016205481A JP2018065221A JP 2018065221 A JP2018065221 A JP 2018065221A JP 2016205481 A JP2016205481 A JP 2016205481A JP 2016205481 A JP2016205481 A JP 2016205481A JP 2018065221 A JP2018065221 A JP 2018065221A
Authority
JP
Japan
Prior art keywords
force
cooperative robot
human
human cooperative
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.)
Granted
Application number
JP2016205481A
Other languages
English (en)
Other versions
JP6431017B2 (ja
Inventor
精吾 高橋
Seigo Takahashi
精吾 高橋
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2016205481A priority Critical patent/JP6431017B2/ja
Priority to US15/782,371 priority patent/US10324425B2/en
Priority to DE102017009471.3A priority patent/DE102017009471B4/de
Priority to CN201710978862.5A priority patent/CN107962558B/zh
Publication of JP2018065221A publication Critical patent/JP2018065221A/ja
Application granted granted Critical
Publication of JP6431017B2 publication Critical patent/JP6431017B2/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/06Programme-controlled manipulators characterised by multi-articulated arms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L25/00Testing or calibrating of apparatus for measuring force, torque, work, mechanical power, or mechanical efficiency
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36489Position and force
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39164Embodied evolution, evolutionary robots with basic ann learn by interactions with each other
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39165Evolution, best performing control strategy is transmitted to other robots
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40202Human robot coexistence

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Manipulator (AREA)

Abstract

【課題】外力の検出精度を向上させることができる人協調ロボットシステムの提供を図る。
【解決手段】人協調ロボット1を含み、力を検出する機能を有する人協調ロボットシステム100であって、前記力を算出するためのデータに基づいて得られる計算データを入力とし、前記人協調ロボットに外部から加えられる第1力成分、前記人協調ロボットの動作によって生じる第2力成分、および、ノイズに分類される第3力成分を出力とし、予め取得した前記入力と正解ラベルを組にした教師ありデータを用いて学習を行う学習部31を備え、前記教師ありデータの正解ラベルを、前記人協調ロボットに外部から力を作用させること、前記人協調ロボットに複数の経路で動作を行わせること、および、前記人協調ロボットにノイズを作用させることによって取得し、前記学習部が出力する、前記第1力成分に基づいて、前記人協調ロボットの動作を制御する。
【選択図】図1

Description

本発明は、機械学習により外力の検出精度を向上させた人協調ロボットシステムに関する。
従来、ロボットシステムでは、ロボットが動作している期間中、人の安全を確保するために、人がロボットの作業領域に入れないように安全対策が講じられていた。例えば、ロボットの周りには安全柵が設置され、ロボットの動作期間中には安全柵の内部に人が入ることが禁じられていた。
近年では、人とロボットが協働(協調)して作業を行うロボット(人協調ロボット)が研究および開発され、実用化に至っている。このような人協調ロボット(人協調ロボットシステム)では、例えば、ロボットの周りに安全柵を設けない状態で、ロボットと人(作業者,ユーザ)が1つの作業を協調して行うようになっている。
ところで、人協調ロボットにおいて重要なことは、ロボットが人(人間)と接触した際に、予め定められた力以上の力を人間に与えることなく、停止や回避および退避を行うことである。また、人間と協調(協働)作業を行う場合にも、人間が作用する力を正確に知ることで、より精度の高い作業を行うことができるようになる。すなわち、外力の検出精度(検出能力)が向上することは、人協調ロボットの能力が向上することにつながる。
一方、外力以外の力を、外力と誤って認識した場合、例えば、外来ノイズや周囲の振動などを外力と誤って認識した場合には、ロボットの誤停止や誤動作が生じる虞がある。従って、内力やノイズから外力を正確に分離することが、外力の検出精度を向上させてロボットの能力を向上させることにもなる。
ここで、検出する力としては、主として、外力,内力およびノイズの3つの成分に分けることができる。まず、外力は、外部からロボットに与えられる力であり、主に、人がロボットに作用する力である。また、内力は、ロボットの動作によって発生する力であり、自らの動作による振動成分も含まれる。そして、ノイズは、電気的ノイズや周囲の振動によって発生する検出する必要のない外力成分である。
外力の算出方法としては、例えば、力センサが検出した力から、ロボットの動作指令値などから算出した理論的な内力を差し引いて求めることができる。しかしながら、この場合、外力には、ノイズが含まれる。また、ロボット自身の動作による振動によって発生する力が力センサで検出されるため、算出した外力には、ロボットの振動によって発生する力が含まれることになる。
ここで、ロボットは、例えば、外力が所定の閾値を超えると停止するようになっている。そして、上述したように、算出した外力には、ノイズやロボットの振動によって発生する力が含まれるため、例えば、ロボットの誤停止が発生する虞がある。
ところで、従来、J1ベース(J1軸の基部)に設置した力センサにより、XYZ方向の力とモーメントを検出し、その検出されたXYZ方向の力とモーメントを利用してロボット(人協調ロボット)を制御するシステムが提案されている(例えば、特許文献1参照)。また、従来、音声における機械学習による信号の分離方法を適用し、音響信号をシーン毎に分類する分類精度を向上させることが可能な信号分類装置も提案されている(例えば、特許文献2参照)。
欧州特許出願公開第2324967号明細書 特許第5356527号公報
上述したように、従来、J1ベースに設置した力センサにより検出されたXYZ方向の力とモーメントを利用してロボットを制御するシステム、並びに、機械学習を適用して音響信号の分類精度を向上させた信号分類装置が提案されている。
また、人協調ロボットシステムにおいて、算出した外力には、ノイズやロボットの振動によって発生する力が含まれるため、外力の検出精度が低下することになり、例えば、ロボットの誤停止を招く虞があった。
本発明の目的は、上述した課題に鑑み、外力の検出精度を向上させることができる人協調ロボットシステムの提供にある。
本発明に係る第1実施形態によれば、人とロボットが協調して作業を行う人協調ロボットを含み、力を検出する機能を有する人協調ロボットシステムであって、前記力を算出するためのセンシングデータ、前記人協調ロボットを制御する制御ソフトウェアの内部データ、並びに、前記センシングデータおよび前記内部データの一方のデータに基づいて得られる計算データを入力とし、前記人協調ロボットに外部から加えられる第1力成分、前記人協調ロボットの動作によって生じる第2力成分、および、ノイズに分類される第3力成分を出力とし、予め取得した前記入力と正解ラベルを組にした教師ありデータを用いて学習を行う学習部を備え、前記教師ありデータの正解ラベルを、前記人協調ロボットに外部から力を作用させること、前記人協調ロボットに複数の経路で動作を行わせること、および、前記人協調ロボットにノイズを作用させることによって取得し、前記学習部が出力する、前記第1力成分に基づいて、前記人協調ロボットの動作を制御する人協調ロボットシステムが提供される。
前記第1力成分の教師ありデータは、複数の姿勢において停止した前記人協調ロボットに対して、複数の大きさと複数の方向の力を前記人協調ロボットの複数の部位に対して作用させ、前記作用させた力と前記学習部への入力とを組にして収集することができる。前記第2力成分の教師ありデータは、前記人協調ロボットに複数種類のワークを把持させると共に、前記人協調ロボットに複数経路の動作を行わせることにより生じる力成分と前記学習部への入力を組にして収集することができる。前記第3力成分の教師ありデータは、複数の姿勢において停止した前記人協調ロボットに対してノイズ源を作用させ、該ノイズ源によって生じる第4力成分と前記学習部への入力を組にして収集することができる。
前記第1力成分および前記第2力成分の少なくとも一方を教示することができるモードが用意されていてもよい。前記人協調ロボットは、収集された前記教師ありデータのモデル集合の中から前記学習部に学習させるモデル要素を選択する機能、或いは、記録された力のモデル集合の中から、アプリケーションに応じて使用する力のモデル要素を推奨する機能を有することができる。前記学習部は、前記検出した力の特徴量を抽出するためにオンライン学習を行い、抽出された前記特徴量に基づいて、前記第1力成分、前記第2力成分および前記第3力成分に分離することができる。前記人協調ロボットは、前記人と作業領域を共有しない非協調動作モードに設定することができ、前記非協調動作モードにおいて、前記学習部は、前記第1力成分の正解ラベルを『0』に設定してオンライン学習を行ってもよい。
前記人協調ロボットの制御装置は、分離された前記第1力成分が所定の閾値を超えた場合に、前記人協調ロボットを停止する機能を有し、前記人協調ロボットの停止後、前記第1力成分を前記学習部が誤検出して停止したことを示す第1入力信号が入力された場合には、前記人協調ロボットが停止する直前の入力データと、前記所定の閾値より小さい所定の値に設定した外力の正解ラベルとを組にして、前記学習部のオンライン学習を行うことができる。前記人協調ロボットの制御装置は、分離した前記第1力成分が所定の閾値を超えた場合に、前記人協調ロボットを停止する機能を有し、前記人協調ロボットの停止後、前記第1力成分を前記学習部が正しく検出して停止したことを示す第2入力信号が入力された場合には、前記人協調ロボットが停止する直前の前記学習部への入力信号と出力信号を教師ありデータとしてメモリに格納し、以降のオンライン学習に、前記メモリに格納した前記教師ありデータを使用することもできる。前記第1入力信号および前記第2入力信号は、前記人協調ロボットの動作再開信号を兼ねてもよい。前記第2入力信号は、前記人により、或いは、前記人協調ロボットを撮影可能なカメラによる画像認識結果または近接センサの信号を使用して生成されてもよい。
前記人協調ロボットシステムは、分離した前記第1力成分が所定の閾値を超えた場合に、前記人協調ロボットを停止する機能、並びに、前記人が前記人協調ロボットに外力を加えて止める際に緊急度の大きい力のパターンを検出する機能を有し、前記緊急度の大きい力のパターンが検出された場合には、前記緊急度の大きい力のパターンが検出される直前の入力データと、前記所定の閾値より大きい所定の値に設定した外力の正解ラベルとを組にして、前記学習部のオンライン学習を行うことができる。前記人協調ロボットは、複数台設けられ、複数台の前記人協調ロボットのそれぞれが個別に学習を行い、それぞれの前記人協調ロボットにより個別に行われた複数の学習結果を、複数台の前記人協調ロボットがネットワークを介して相互に交換または共有することができる。前記第1力成分は、前記人が前記人協調ロボットに加える外力であり、前記第2力成分は、前記人協調ロボットの動作によって生じる内力であり、前記第3力成分は、前記人協調ロボットに対するノイズであり、若しくは、前記人協調ロボットは、教示された動作プログラムの1サイクル間に、前記人協調ロボットの検出した力のログを保存し、さらに、複数回の前記サイクルについて検出した力のログを保存し、複数回の前記サイクルにおいて検出した力のログを合成、或いは、信号処理することで、前記人協調ロボットの動作によって生じる力成分を抽出し、抽出された前記人協調ロボットの動作によって生じる力成分を正解ラベルとして設定して、前記学習部のオンライン学習を行うことができる。
本発明に係る人協調ロボットシステムによれば、外力の検出精度を向上させることができるという効果を奏する。
図1は、本発明の一実施形態に係るロボットシステムを示すブロック図である。 図2は、図1に示すロボットシステムにおける機械学習装置により分離された力の各成分を概念的に示す図である。 図3は、各力成分と入力信号の特徴量との関係の例を示す図である。 図4は、各種力のモデル集合を説明するための図(その1)である。 図5は、各種力のモデル集合を説明するための図(その2)である。 図6は、各種力のモデル集合を説明するための図(その3)である。 図7は、力モデルの選択機能の一例を説明するための図である。 図8は、特徴量を抽出するために教師なし学習用のニューラルネットワークを利用する一例を説明するための図である。 図9は、ロボットの非協調動作モードの一例を説明するための図である。 図10は、図1に示すロボットシステムの変形例を示すブロック図である。 図11は、図10に示すロボットシステムにおいてロボットが停止した後の処理を説明するための図(その1)である。 図12は、図10に示すロボットシステムにおいてロボットが停止した後の処理を説明するための図(その2)である。 図13は、図1に示すロボットシステムのさらなる変形例を示すブロック図である。 図14は、図13に示すロボットシステムにおいてロボットを緊急停止した後の処理を説明するための図である。 図15は、本発明の一実施形態に係るロボットシステムにおいて正解ラベルの求め方の一例を説明するための図(その1)である。 図16は、本発明の一実施形態に係るロボットシステムにおいて正解ラベルの求め方の一例を説明するための図(その2)である。 図17は、関連技術としてのロボットシステムの一例を示すブロック図である。
まず、ロボットシステムの実施例を詳述する前に、人協調ロボットシステムの一例およびその課題を、図17を参照して説明する。図17は、関連技術としての人協調ロボットシステムの一例を示すブロック図である。図17において、参照符号200は人協調ロボットシステムを示し、201は人協調ロボット(ロボット)を示し、そして、200は制御装置を示す。
図17に示されるように、人協調ロボットシステム200は、例えば、人(作業者,ユーザ:図示しない)とロボットが協調(協働)して作業を行うロボット201、および、ロボット201を制御する制御装置202を含む。制御装置202は、サーボ制御部221,力制御部222,閾値設定部223,力(合力)変換部224,力(内力)変換部225および加算部226を含む。
サーボ制御部221は、ロボット201の複数のモータを制御するもので、各モータに対してモータ動力を与えてサーボ制御を行う。サーボ制御部221には、例えば、ロボット201のエンコーダ出力,力制御部222の出力信号および閾値設定部からの停止指令なども入力される。合力変換部224は、例えば、ロボット201のJ1ベースに設置した力センサからの信号を合力に変換して加算部226に出力し、内力変換部225は、ロボット201のエンコーダ出力を内力に変換して加算部226に出力する。
ここで、外力は、外部からロボットに与えられる力であり、主に、人がロボットに作用する力である。また、内力は、ロボットの動作によって発生する力であり、ロボット201自身の動作による振動成分も含まれる。合力は、外力,内力およびノイズが合算された力である。なお、ノイズは、電気的ノイズや周囲の振動によって発生する検出する必要のない外力成分と考えることができる。また、合力変換部224の入力信号は、ロボット201のJ1ベースに設置した力センサからの信号に限定されず、ロボット201の各軸または所定個所に設けられた力を算出するためのセンシングデータ(例えば、歪みゲージデータなど)であってもよい。
加算(減算)部226は、合力変換部224の出力(合力)から、内力変換部225の出力(内力)を減算して外力を求め、その外力を力制御部222および閾値設定部223に出力する。力制御部222は、加算部226から供給された外力に基づいて、フィードバック制御を行うための信号をサーボ制御部221に出力し、サーボ制御部221は、上述した他の信号も受け取って、ロボット201の各モータに動力を与える。ここで、閾値設定部223には、所定の閾値が設定され、例えば、加算部226からの外力がその所定の閾値を超えた場合に、サーボ制御部221に停止指令を出力して、ロボット201を停止させるようになっている。
図17に示すロボットシステム(人協調ロボットシステム)200において、外力は、例えば、力センサが検出した力(合力)から、ロボットの動作指令値などから算出した理論的な内力を差し引いて求めるようになっている。しかしながら、この場合、外力には、ノイズが含まれ、また、合力(外力)には、例えば、ロボットの振動によって発生する力が含まれることになる。
すなわち、人協調ロボットシステム200において、加算部226から出力される外力には、ノイズやロボット201の振動などによって発生する力が含まれるため、外力の検出精度が低下することになる。また、閾値設定部223は、加算部226から出力される外力が所定の閾値を超えると、ロボット201を停止する指令を出力するため、ロボットの誤停止を招く虞もある。
以下、本発明に係る人協調ロボットシステムの実施例を、添付図面を参照して詳述する。図1は、本発明の一実施形態に係るロボットシステムを示すブロック図である。図1において、参照符号100は人協調ロボットシステムを示し、1は人協調ロボット(ロボット)を示し、2は制御装置を示し、そして、3は機械学習装置を示す。
図1に示されるように、本実施形態の人協調ロボットシステム100は、例えば、人(作業者,ユーザ:図示しない)とロボットが協調(協働)して作業を行うロボット1、ロボット1を制御する制御装置2、および、制御装置2に対して機械学習を適用して分離した外力を与える機械学習装置3を含む。制御装置2は、サーボ制御部21,力制御部22および閾値設定部23を含む。サーボ制御部21は、ロボット1の複数のモータを制御するもので、各モータに対してモータ動力を与えてサーボ制御を行う。サーボ制御部21には、例えば、ロボット1のエンコーダ出力,力制御部22の出力信号および閾値設定部からの停止指令なども入力される。
機械学習装置3は、学習部31,表示部32,各種力(外力,ロボットの振動を含んだ内力およびノイズ)の集合モデル33,力(合力)変換部34および論理内力算出部35を含む。なお、図1において、機械学習装置3には、学習部31の他に、表示部32,各種力の集合モデル33,合力変換部34および論理内力算出部35が設けられているが、機械学習装置3の外部に設けてもよく、また、各種力の集合モデル33も外部から与えるように構成することもできる。さらに、機械学習装置3は、制御装置2に内蔵することも可能であり、或いは、通信回線を介して、フォグサーバまたはクラウドサーに設けることもできる。
論理内力算出部35は、サーボ制御部21から、例えば、教示プログラム,動作指令値,エンコーダ出力値(位置情報),速度,ワークの形状およびワークの重さなどの各種情報(データ)を受け取り、ロボットの動作によって発生する内力を算出して学習部31に出力する。合力変換部34は、ロボット1から、力を算出するためのセンシングデータ(例えば、歪みゲージデータなど)を受け取り、合力を算出して学習部31に出力する。なお、学習部31には、例えば、サーボ制御部21からの教示プログラム,動作指令値,エンコーダ出力値(位置情報),速度,ワークの形状およびワークの重さなどの各種データ、並びに、ロボット1からのセンシングデータも入力されている。
ここで、合力変換部34に入力されるセンシングデータとしては、ロボット1のJ1ベースに設置した力センサからの信号、或いは、ロボット1の各軸または所定個所に設けられた力を算出するためのセンサからのデータであってもよい。また、合力は、例えば、[合力]=[外力]+[内力(ロボットの振動を含んだ内力)]+[ノイズ]として表すことができる。
学習部31は、例えば、教師あり学習を実行するもので、外部から教師ありデータを受け取って学習を行う。ここで、教師ありデータとしては、例えば、各種力(外力,ロボットの振動を含んだ内力およびノイズ)のモデル集合33が対応する。なお、モデルについては、後に詳述する。
学習部31により分離された外力は、制御装置2における力制御部22および閾値設定部23に出力される。さらに、図1に示す例では、学習部31により分離された外力,内力およびノイズが表示部32に出力され、表示部32において所定の表示が行われるようになっている。なお、表示部32における外力,内力およびノイズの表示は、様々な表示手法が適用可能であるが、例えば、アラームを発するなどの表示以外の手法を適用してもよい。なお、表示部32は、必ずしも設けなくてもよいが、前述したように、機械学習装置3の外部、或いは、制御装置2に設けることもできる。
力制御部22は、学習部31(機械学習装置3)から出力される、分離した外力を受け取り、その分離した外力基づいてフィードバック制御を行うための信号をサーボ制御部21に出力する。また、閾値設定部23には、所定の閾値が設定され、例えば、機械学習装置3から出力される、分離した外力がその所定の閾値を超えた場合に、サーボ制御部21に停止指令を出力して、ロボット201を停止させるようになっている。
図2は、図1に示すロボットシステムにおける機械学習装置により分離された力の各成分を概念的に示す図である。ここで、図2(a)は、検出した力成分(合力:合力変換部34の出力)L1を示す図であり、図2(b)は、分離した外力(学習部31から力制御部22,閾値設定部23および表示部32に出力される外力)L1をL0と共に示す図である。また、図2(c)は、分離した内力(学習部31から表示部32に出力される内力)L2をL0と共に示す図であり、図2(d)は、分離したノイズ(学習部31からから表示部32に出力されるノイズ)L3をL0と共に示す図である。
図2(a)〜図2(d)に示されるように、図1に示すロボットシステム100の機械学習装置3により、図2(a)に示すような合力L1は、図2(b)に示すような外力L1,図2(c)に示すような内力L2および図2(d)に示すようなノイズL3に分離することが可能なのが分かる。
上述した人協調ロボットシステム100において、機械学習装置3は、例えば、汎用の計算機若しくはプロセッサを用いてもよいが、GPGPU(General-Purpose computing on Graphics Processing Units)や大規模PCクラスターなどを適用すると、より高速に処理することが可能である。また、機械学習装置3は、前述したように、ロボット制御装置(制御装置2)に組み込むことも可能であり、さらに、イーサネット(登録商標)などの通信回線を介したネットワーク上のサーバに設けることもできる。
また、学習部31は、一例としてニューラルネットワークを使用して構築することができる。さらに、例えば、入力と外力の分離結果を予め実験によって収集しておく。そして、その入力と結果のデータの組を大量に準備しておき、学習部31に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、すなわち、その関係性を帰納的に獲得する教師なし学習を行うこともできる。なお、本実施形態においては、例えば、時間的相関がある時系列データをモデル化するために、リカレント型と呼ばれるニューラルネットワークを適用するのも有用である。
さらに、例えば、センサデータは、学習部31に入力する前に、或いは、学習部31の1つ機能として、信号処理による前処理を行ってもよい。特に、力成分を分離する上で有用な方法として、FFT(Fast Fourier Transform)などによる周波数領域への変換が挙げられる。そのようなデータの特徴量を、機械学習装置の設計者が、機械学習装置3に組み込んでもよい。また、教示プログラムや動作指令値は、ロボット1の理論的な内力を求めるだけなく、力の特徴量とロボット1の姿勢の相関関係を学習するためにも用いることができる。
このように、本実施形態のロボットシステム(人協調ロボットシステム)100は、人とロボットが協調して作業を行う人協調ロボット1を含み、力を検出する機能を有する。機械学習装置3の学習部31は、力を算出するためのセンシングデータ、人協調ロボットを制御する制御ソフトウェアの内部データ、並びに、センシングデータおよび内部データの一方のデータに基づいて得られる計算データを入力とし、人協調ロボットに外部から加えられる第1力成分、人協調ロボットの動作によって生じる第2力成分、および、ノイズに分類される第3力成分を出力とし、予め取得した入力と正解ラベルを組にした教師ありデータを用いて学習を行う。ここで、教師ありデータの正解ラベルを、人協調ロボットに外部から力を作用させること、人協調ロボットに複数の経路で動作を行わせること、および、人協調ロボットにノイズを作用させることによって取得し、学習部31が出力する。そして、人協調ロボット1に対する第1力成分(人が人協調ロボットに加える外力)に基づいて、人協調ロボットの動作を制御する。これにより、例えば、ロボットの振動を含んだ内力とノイズとを分離した外力を精度よく検出することが可能になる。
図3は、各力成分と入力信号の特徴量との関係の例を示す図である。一般的に、各力成分と入力信号の特徴量との間には、図3に示すような関係がある。すなわち、外力に関して、周波数は相対的に低く、ロボットの姿勢や速度との相関性は小さく、一定時間ごとには発生しない。また、ロボットの振動を含んだ内力に関して、周波数は相対的に中程度で、ロボットの姿勢や速度との相関性は大きく、一定時間ごとには発生しない。さらに、ノイズに関して、周波数は相対的に高く、ロボットの姿勢や速度との相関性は中程度で、一定時間ごとに発する場合がある。このような、関係性については、学習部31が学習によって自動的に獲得してもよいが、例えば、機械学習装置3の設計者によって関係を明示的に組み込むことも可能である。
学習部31からの出力信号(分離した外力,内力およびノイズ:分離結果)の後処理について、本実施形態の説明では、力の分離結果は、直接ニューラルネットワークの出力結果として説明する。ただし、他の実施例として、学習部31の出力結果は、数種類の周波数と強度の組で与えられ、その結果に基づいた適応ノッチフィルタを、センサの検出した合力に作用させることにより外力を分離することも可能である。
次に、学習部31に与える各種力(外力,ロボットの振動を含んだ内力およびノイズ)のモデル集合33について、外力モデル,ロボットの振動を含んだ内力モデルおよびノイズモデルを説明する。図4〜図6は、各種力のモデル集合を説明するための図であり、図4は、外力モデルを説明するためのものである。また、図5は、ロボットの振動を含んだ内力モデル(内力モデル)を説明するためのものであり、図6は、ノイズモデルを説明するためのものである。
まず、外力モデルについては、図4に示されるように、ニューラルネットワークの入力Xとして、例えば、センサデータ,動作指令(なし),ロボット姿勢,ワーク(なし)および力計算値を与え、出力Y(5)として、外力を得る。ここで、ロボットに作用させた力=外力、かつ、ロボットの振動を含んだ内力=0、ノイズ=0として、正解ラベルを作成する。入力Xと正解ラベルの組を教師ありデータとして複数準備する。
A.外力モデル
特に、人間がロボットに力を作用させる状況を場合分けし、それぞれのパターンの力を予め力のモデルとしてモデル化しておく。
・機械や壁と衝突する際の力のモデル
・人が作業をしているときに、ロボットが近づいてきて、不意にぶつかるときの力のモデル
・人がロボットと周辺の装置に挟み込まれた時の力のモデル
・ワークを車のボディにねじ止めする際に加わるドライバの押しつけや振動などの力のモデル
・細長いワークをロボットと作業者が支える時に作用する力のモデル
次に、モデル化した外力を発生させることのできる治具などを作成し、停止したロボットに作用させる。力のモデルに応じて、ロボットの姿勢は複数のパターンとし、かつ、ロボットの複数の部位に力を作用させる。このとき、例えば、ロボット201の各軸または所定個所に力センサを設け、力が作用された部位を認識可能とするのが好ましい。さらに、センサデータ,計算された合力およびロボット姿勢を入力とし、作用させた力を外力とし、ロボットの振動を含んだ内力とノイズは『0』として、正解ラベルを作成する。そして、入力と正解ラベルの組を教師ありデータとして複数準備して、機械学習を行う。なお、「作用させた力」は、入力の力計算値を使用してもよい。
また、内力モデルについては、図5に示されるように、ニューラルネットワークの入力Xとして、例えば、センサデータ,動作指令,位置・速度,ワーク種類および力計算値を与え、出力Y(5)として、ロボットの振動を含んだ内力を得る。ここで、ロボットの振動を含んだ内力=「力計算値」、外力=0、ノイズ=0として、正解ラベルを作成する。入力Xと正解ラベルの組を教師ありデータとして複数準備する。
B.内力モデル
ロボットの動作によって生じる力は、ロボットが持つワークの重さや重心位置が正確にわかっていれば、ロボットの動作指令値からロボット自身の加速度を算出することができ、そこから動作指令値に基づく理論的な内力を算出することができる。しかしながら、ロボットの動作がロボット自身(特に、ハンド部)を揺らすことにより、振動が発生することがある。このロボットの振動による力についても、力センサが検出することになるため、振動による力成分を動作指令値から算出することは、困難なものとなっている。
そこで、本実施形態では、ロボットの振動を含んだ内力についても、外力モデルと同様に、前もって様々な動作を行わせ、ロボットの振動を含んだ内力モデルを作成する。また、複数のワークを持たせて動作を行わせることで、ワークを持った状態でのロボットの振動を含んだ内力モデルを作成することができる。なお、ロボットの振動を含む内力のモデルはロボットの機種ごとに異なる。
上述したロボットの振動を含む内力の測定時の問題としては、内力をロードセルなどのロボットシステムの外部機器で力を測定することが難しい点があげられる。その代わりに、学習部の前処理部で、算出された理論的な合力を、ロボットの振動を含む内力の正解ラベルとして学習を行う。すなわち、算出された理論的な合力=ロボットの振動を含む内力、外力=0、ノイズ=0として、正解ラベルを作成する。入力と正解ラベルの組を教師ありデータとして複数準備して、機械学習を行う。
さらに、ノイズモデルについては、図6に示されるように、ニューラルネットワークの入力Xとして、例えば、センサデータ,動作指令(なし),ロボット姿勢,ワーク種類および力計算値を与え、出力Y(5)として、ノイズを得る。ここで、ノイズ=「力計算値」、外力=0、ロボットの振動を含んだ内力=0として、正解ラベルを作成する。入力Xと正解ラベルの組を教師ありデータとして複数準備する。
C.ノイズモデル
ノイズは様々な種類に分類される。
・外部振動によるもののうち、周期的なノイズ/非周期的なノイズ
・電気的なノイズによるもののうち、周期的なノイズ/非周期的なノイズ
モデル例
・フォークリフトが近くを通る際の振動
・インパルス的に加わる周辺機器の瞬間的な振動
・ロボットに風が加わる場合の力の誤検出
ノイズについても、上述した外力モデルおよびロボットの振動を含んだ内力モデルと同様に、前もってロボットに様々なノイズを作用させて、モデルを作成する。停止したロボットに対して、ノイズを作用させる。また、複数のロボット姿勢において、ノイズを作用させる。ノイズによる力成分の測定時の問題として、ノイズによる力成分をロードセルなどのロボットシステムの外部機器で力を測定することが難しい点があげられる。その代わりに、学習部の前処理部で、算出された理論的な合力を、ノイズの正解ラベルとして学習を行う。すなわち、算出された合力=ノイズ、外力=0、ロボットの振動を含む内力=0として、正解ラベルを作成する。入力と正解ラベルの組を教師ありデータとして複数準備して、機械学習を行う。
なお、前述したニューラルネットワークを示す図4〜図6における出力Y(5)は、外力,ロボットの振動を含んだ内力およびノイズごとに分割して記載しているが、それらを結合したものが実際のニューラックネットワークになる。ここで、ニューラルネットワークに入力される力と、出力する各力成分には、以下の制約がある。
[算出された合力(入力部)]=[外力]+[ロボットの振動を含んだ内力]+[ノイズ]
なお、ノイズ(第3力成分)の教師ありデータは、例えば、複数の姿勢において停止したロボット1に対してノイズ源(図示しない)を作用させ、そのノイズ源によって生じる力の成分(第4力成分)と学習部31への入力を組にして収集する。また、ノイズの教師ありデータは、他の様々な手法を適用して収集することもできるのはいうまでもない。
次に、外力,ノイズのユーザ(人,作業者)による教示モードについて説明する。外力とノイズに関しては、ユーザによって教示することができる教示モードを設けることができる。この教示モードでは、例えば、どのような種類の力であるかを示す名前を教示前に設定し、ロボットを停止した状態で、教示を開始する。ロボットの姿勢は、できるだけ多い方が、学習結果が良好になると考えられるので、姿勢を変えて同じ力を与えるといった教示を繰り返す。この作業はインタラクティブなガイダンス機能によって行われてもよい。このように、例えば、ロボット1に外部から加えられる外力(人がロボットに加える外力:第1力成分)、および、ロボット1の動作によって生じる内力(第2力成分)の少なくとも一方を教示することができるモードを用意することによって、ユーザの環境に応じた力のモデルによる学習が可能になる。
図7は、力モデルの選択機能の一例を説明するための図であり、ユーザ(人)が人協調ロボット1と協調して、タイヤ搬送,ソファー取付,溶接,バリ取りおよびネジ締めといった作業(アプリケーション)を行う場合において、タイヤ搬送に注目して力モデルの選択機能を説明するためのものである。まず、力モデルを大別すると、上述した「外力」,「内力(ロボットの振動を含んだ内力)」および「ノイズ」に分けられる。「外力」は、小分類として、例えば、「人の衝突」,「人の挟まれ」および「人がワークの取付作業」に分けられる。「内力」は、小分類として、例えば、「動作速度」,「動作範囲」および「ワーク種類」に分けられ、「ノイズ」は、小分類として、例えば、「フォークリフトの振動」,「周辺機器の周期的振動」および「電気的ノイズ」に分けられる。
このとき、アプリケーションとしてタイヤ搬送を行う場合、例えば、「外力」の小分類として「人の衝突」および「人の挟まれ」を選択し、「内力」の小分類として「動作速度」,「動作範囲」および「ワーク種類」を選択し、そして、「ノイズ」の小分類として「フォークリフトの振動」および「電気的ノイズ」を選択する。ここで、協調(協働)ロボット1(人協調ロボットシステム100)は、登録した力のモデルの中から、使用するモデルをユーザが選択することができ、さらに、アプリケーションに応じて、力モデルの外力/内力/ノイズの各推奨モデルを、ロボット教示者(ユーザ,人)にリコメンドする機能を有することができる。
すなわち、ロボット1(ロボットシステム100)に対して、収集された教師ありデータのモデル集合の中から学習部31に学習させるモデル要素を選択する機能、或いは、記録された力のモデル集合の中から、アプリケーションに応じて使用する力のモデル要素を推奨する機能を持たせる。これにより、ユーザのアプリケーションに応じた力のモデルによる学習が可能になり、さらに、ユーザのアプリケーションに応じた力のモデルが容易に選択することが可能になる。
図8は、特徴量を抽出するために教師なし学習用のニューラルネットワークを利用する一例を説明するための図である。図8に示されるように、本実施例の機械学習装置3は、特徴量抽出用ニューラルネットワーク(教師なし学習/オンライン学習)3aおよび力分離用ニューラルネットワーク(教師あり学習)3bを含み、特徴量抽出用ニューラルネットワーク3aにより得られた特徴量を、力分離用ニューラルネットワーク3bに与えるようになっている。
図8に示されるように、本実施例では、特徴量の抽出のために、教師なし学習用のニューラルネットワーク3aを準備する。教師なし学習とは、入力データのみを大量に学習部に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形などを行う学習手法である。それらのデータセットにある特徴の似た者同士をクラスタリングすることなどができる。
ここで、教師なし学習は、教師出力データがなくてもよいので、ロボットの実稼働時に、常時リアルタイムに学習することができる。学習用データとして、次々に新しいサンプルが与えられ、新しい学習用データサンプルが与えられる度に、学習の更新を行うことができる。この学習手法はオンライン学習と呼ばれ、学習を継続しながら、学習結果を利用することができる。すなわち、学習部31は、検出した力の特徴量を抽出するためにオンライン学習を行い、抽出された特徴量に基づいて、外力(第1力成分)、内力(第2力成分)およびノイズ(第3力成分)に分離することができる。
また、他の実施例としては、教師なし学習と教師あり学習との中間的な問題設定として、半教師あり学習と呼ばれるものがあり、これを学習に用いてもよい。ここで、半教師あり学習とは、一部のみ入力と出力のデータの組が存在し、それ以外は、入力のみのデータである場合に使われる学習手法である。
図9は、ロボットの非協調動作モードの一例を説明するための図である。図9に示されるように、ニューラルネットワークの入力Xとして、例えば、センサデータ,動作指令値,位置・速度,ワーク種類および力計算値を与え、出力Y(5)として、外力を得る。ここで、非協調動作モード(非協調動作モード時)は、例えば、常に、出力Y(5)=0という正解ラベルを用いてオンライン学習を行うことができる。
すなわち、人協調ロボット1は、作業者(人)と作業領域を共有しない非協調動作モードに設定することができるようになっている。具体的には、ロボット1が動作を行う安全柵内から作業者が出たことを示す信号や、スキャナセンサによって人がロボット1の近くにいないことを信号として制御装置(ロボット制御装置)2に入力することで、非協調動作モードに設定することができる。
この非協調動作モードには、例えば、ニューラルネットワークで構成された学習部31は、ロボットの外部から加えられる力成分の正解ラベルを『0』に設定してオンライン学習を行う。すなわち、ロボット1は、人と作業領域を共有しない非協調動作モードに設定することができ、非協調動作モードにおいて、学習部31は、外力(第1力成分)の正解ラベルを『0』に設定してオンライン学習を行う。これにより、ニューラルネットワークの重みづけWを逐次更新することができ、その結果として、外力を分離する精度を高めることが可能になる。
図10は、図1に示すロボットシステムの変形例を示すブロック図であり、図11および図12は、図10に示すロボットシステムにおいてロボットが停止した後の処理を説明するための図である。ここで、図11は、ロボットが停止した後の処理を説明するためのフローチャートであり、図12は、そのときのニューラルネットワークのオンライン学習を説明するための図である。
図10と、前述した図1の比較から明らかなように、本変形例のロボットシステムでは、ロボットが停止した後の復帰処理を行うための2つのスイッチ(動作再開ボタン)SW1およびSW2が設けられている。ここで、動作再開ボタンSW1は、ロボットが誤停止した後の動作再開ボタンであり、動作再開ボタンSW2は、ロボットが正常停止した後の動作再開ボタンである。なお、これら2つの動作再開ボタンSW1およびSW2の出力は、サーボ制御部21および学習部31に入力されている。
図11に示されるように、ステップST1において、外力が閾値を超えたためにロボットが停止したとき、ロボットが正常停止したと判定した場合には、ステップST2に進んで、「正常に外力を検知できて止まった」ことを示すボタンを押して動作を再開、すなわち、ロボット正常停止後の動作再開ボタンSW2をONする。次に、ステップST3に進んで、ロボット停止直前の学習部の入力データと出力データの組を、将来の教示データとしてメモリに格納して、ステップST6に進んで、ロボット動作を再開する。
また、ステップST1において、外力が閾値を超えたためにロボットが停止したとき、ロボットが誤停止したと判定した場合には、ステップST4に進んで、「外力が加わらないのに止まった」ことを示すボタンを押して動作再開、すなわち、ロボット誤停止後の動作再開ボタンSW1をONする。次に、ステップST5に進んで、ロボット停止直前の学習部の入力データに対して、閾値から所定の値を差し引いた外力を正解ラベルとして設定し、オンライン学習を行う。そして、新たに設定された正解ラベルによるオンライン学習の結果に基づいて、ステップST6に進んで、ロボット動作を再開する。
このように、ロボット1の制御装置2は、分離された外力(第1力成分)が所定の閾値を超えた場合に、ロボット1を停止する機能を有し、そのロボットの停止後、外力を学習部31が誤検出して停止したことを示す信号(第1入力信号)が入力された場合には、ロボットが停止する直前の入力データと、閾値より小さい所定の値に設定した外力の正解ラベルとを組にして、学習部のオンライン学習を行う。これにより、外力の分離に誤りがあって、誤停止した際には、例えば、誤停止したことをユーザが入力することで、オンラインの教師あり学習を行って、外力分離能力の改善を図ることができる。
また、ロボット1の制御装置2は、分離された外力(第1力成分)が所定の閾値を超えた場合に、ロボット1を停止する機能を有し、そのロボットの停止後、外力を学習部31が正しく検出して停止したことを示す信号(第2入力信号)が入力された場合には、ロボットが停止する直前の学習部31への入力信号と出力信号を教師ありデータとしてメモリ(図示しないが、例えば、学習部31に内蔵したメモリ、または、制御装置2に設けられたメモリなど)に格納し、以降のオンライン学習に、そのメモリに格納した教師ありデータを使用する。これにより、例えば、外力の分離が正常に停止したことをユーザが入力した場合、その時のデータを教師ありデータとして格納し、将来、このデータを用いて教師あり学習を行うことにより、外力分離能力の改善を図ることができる。
ここで、第1入力信号および第2入力信号は、ロボット1の動作再開信号を兼ねるように構成してもよい。これにより、人間(ユーザ)による判断と、ロボット再開を同時に行うことができ、ユーザの負担を減らすことが可能になる。なお、ロボットが正常停止したか誤停止したかの判定は、ユーザ(人)が行うこともできるが、例えば、所定の条件に基づいて、機械学習装置3または制御装置2が自動的に行うこともできる。すなわち、第2入力信号は、例えば、ロボットを撮影可能なカメラ(図示しない)による画像認識結果、または、近接センサ(図示しない)の信号などを使用して生成することもできる。これにより、人間による判断を自動化することが可能になる。
図12に示されるように、ニューラルネットワークの入力Xとして、例えば、センサデータ,動作指令値,位置・速度,ワーク種類および力計算値を与え、出力Y(5)として、外力を得る。ここで、ロボットが停止する直前の入力Xに対して、正解ラベルY(5)=N−αを設定して、オンライン学習を行う。なお、Nは、閾値を示し、αは、システムが定める正の値を示す。すなわち、上述したように、閾値Nから所定の値αを差し引いた外力を正解ラベルとして設定し、オンライン学習を行う。
図13は、図1に示すロボットシステムのさらなる変形例を示すブロック図である。図14は、図13に示すロボットシステムにおいてロボットを緊急停止した後の処理を説明するための図であり、そのときのニューラルネットワークのオンライン学習を説明するための図である。
図13と、前述した図1の比較から明らかなように、本さらなる変形例のロボットシステムでは、機械学習装置3に対して、緊急度の大きい力のパターン検出部36を設け、緊急度の大きい力のパターンを検出したときに、その緊急度の大きい力のパターン検出信号をサーボ制御部21に入力して、ロボット1を緊急停止するようになっている。
図14に示されるように、ニューラルネットワークの入力Xとして、例えば、センサデータ,動作指令値,位置・速度,ワーク種類および力計算値を与え、出力Y(5)として、外力を得る。ここで、緊急度の大きい力のパターンが検出された場合、その直前の入力データXに対して、正解ラベルY(5)=N+βを設定して、オンライン学習を行う。なお、Nは、閾値を示し、βは、システムが定める正の値を示す。すなわち、閾値Nから所定の値βを加えた外力を正解ラベルとして設定し、オンライン学習を行う。
ところで、図13および図14を参照して説明したロボットシステムにおいて、例えば、外力が正常に検出されず、期待したロボット停止が発生しない場合に対する作業者の反応(ロボットを強く引っ張るなど)を、特徴的な「緊急度の大きい」力パターンとして、力の波形を機械学習装置3に記憶させておくのが好ましい。このパターンの検出のために、理論的な内力を差し引く、或いは、周波数成分の算出をするなど数値演算を行ってもよい。若しくは、検出した力から外力を分離する学習部と、他の学習部に予め学習させておくこともできる。
この「緊急度の大きい」力のパターンが検出された場合には、外力の分離がうまくいっていないと解釈できるため、「緊急度の大きい」力のパターンが検出される直前の入力データに対して、上述したように、外力の正解ラベルを閾値+β(βはシステムが定める正の値)に設定して、オンライン学習を行う。この学習によって、これ以降、同様の状況がロボットシステムで発生した場合には、「緊急度の大きい」力のパターンが発生する前に、外力検出の閾値によって、ロボットが停止できる可能性を向上させることができる。
すなわち、ロボットシステム100は、分離した外力(第1力成分)が所定の閾値を超えた場合に、ロボット1を停止する機能、並びに、ユーザがロボット1に外力を加えて止める際に緊急度の大きい力のパターンを検出する機能を有し、緊急度の大きい力のパターンが検出された場合には、その急度の大きい力のパターンが検出される直前の入力データと、閾値より大きい所定の値に設定した外力の正解ラベルとを組にして、学習部31のオンライン学習を行う。これにより、外力の分離に誤りがあり、外力を加えても停止しない場合の対策として、緊急度の大きい力のパターンを検出する機能を備えておき、緊急度の大きい力のパターンが検出された場合には、オンラインの教師あり学習を行って、外力分離能力の改善を図ることが可能になる。
ここで、例えば、ロボット1を複数台設け、その複数台のロボット1のそれぞれが個別に学習を行い、それぞれのロボット1により個別に行われた複数の学習結果を、複数台のロボット1がネットワーク(通信回線)を介して相互に交換または共有するように構成してもよい。
図15および図16は、本発明の一実施形態に係るロボットシステムにおいて正解ラベルの求め方の一例を説明するための図である。ここで、図15は、正解ラベルの求め方の一例を説明するためのフローチャートであり、図16は、そのときのニューラルネットワークのオンライン学習を説明するための図である。
図15に示されるように、テップST11において、動作プログラムの1サイクルについて、力を測定してログを保存し、ステップST12に進み、複数回のサイクルについてログを保存する。さらに、ステップST13に進んで、合成或いは信号処理を行う。次に、ステップST14において、ロボットの振動を含んだ内力を抽出し、さらに、ステップST15に進んで、正解ラベルとして使用する。
図16に示されるように、ニューラルネットワークの入力Xとして、例えば、センサデータ,動作指令値,位置・速度,ワーク種類および力計算値を与え、出力Y(5)として、ロボットの振動を含んだ内力を得る。ここで、複数回サイクルから抽出したロボットの振動を含んだ内力の値を、出力Y(5)の正解ラベルに設定して、オンライン学習を行う。
ここで、図15および図16を参照して説明したロボットシステムにおいて、例えば、外力による停止やノイズの影響は、複数回のサイクルをログして平均化などの処理をすることで、影響を低減することができる。そのようにして得られたロボットの振動を含んだ内力データを正解ラベルに設定することで、ロボットの振動を含んだ内力についてオンライン学習を行うことが可能になる。ただし、ワーク種類が変わったり、ワークの把持位置が変わり重心位置が変わったりする場合には、1サイクルでの平均処理が意味をなさないため、そのような変更があった場合には、それまでの正解ラベルを破棄して、改めて複数回のサイクルをログする必要がある。
すなわち、ロボット1は、教示された動作プログラムの1サイクル間に、ロボット1の検出した力のログを保存し、さらに、複数回のサイクルについて検出した力のログを保存し、その複数回のサイクルにおいて検出した力のログを合成、或いは、信号処理することで、ロボット1の動作によって生じる力成分を抽出し、その抽出された人協調ロボットの動作によって生じる力成分を正解ラベルとして設定して、学習部31のオンライン学習を行う。これにより、ロボットが検出する力からロボットの振動を含んだ内力を分離する能力を高めることができ、それに伴って、外力を分離する精度も向上させることが可能になる。
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
1,201 人協調ロボット(ロボット)
2,202 制御装置
3 機械学習装置
21,221 サーボ制御部
22,222 力制御部
23,223 閾値設定部
31 学習部
32 表示部
33 各種力(外力)のモデル集合
34,224 力(合力)変換部
35 論理内力算出部
36 緊急度の大きい力のパターン検出部
225 力(内力)変換部
226 加算器(減算器)
100,200 人協調ロボットシステム(ロボットシステム)
まず、ロボットシステムの実施例を詳述する前に、人協調ロボットシステムの一例およびその課題を、図17を参照して説明する。図17は、関連技術としての人協調ロボットシステムの一例を示すブロック図である。図17において、参照符号200は人協調ロボットシステムを示し、201は人協調ロボット(ロボット)を示し、そして、202は制御装置を示す。
力制御部22は、学習部31(機械学習装置3)から出力される、分離した外力を受け取り、その分離した外力基づいてフィードバック制御を行うための信号をサーボ制御部21に出力する。また、閾値設定部23には、所定の閾値が設定され、例えば、機械学習装置3から出力される、分離した外力がその所定の閾値を超えた場合に、サーボ制御部21に停止指令を出力して、ロボットを停止させるようになっている。
図2は、図1に示すロボットシステムにおける機械学習装置により分離された力の各成分を概念的に示す図である。ここで、図2(a)は、検出した力成分(合力:合力変換部34の出力)L0を示す図であり、図2(b)は、分離した外力(学習部31から力制御部22,閾値設定部23および表示部32に出力される外力)L1をL0と共に示す図である。また、図2(c)は、分離した内力(学習部31から表示部32に出力される内力)L2をL0と共に示す図であり、図2(d)は、分離したノイズ(学習部31からから表示部32に出力されるノイズ)L3をL0と共に示す図である。
図2(a)〜図2(d)に示されるように、図1に示すロボットシステム100の機械学習装置3により、図2(a)に示すような合力L0は、図2(b)に示すような外力L1,図2(c)に示すような内力L2および図2(d)に示すようなノイズL3に分離することが可能なのが分かる。

Claims (15)

  1. 人とロボットが協調して作業を行う人協調ロボットを含み、力を検出する機能を有する人協調ロボットシステムであって、
    前記力を算出するためのセンシングデータ、前記人協調ロボットを制御する制御ソフトウェアの内部データ、並びに、前記センシングデータおよび前記内部データの一方のデータに基づいて得られる計算データを入力とし、
    前記人協調ロボットに外部から加えられる第1力成分、前記人協調ロボットの動作によって生じる第2力成分、および、ノイズに分類される第3力成分を出力とし、
    予め取得した前記入力と正解ラベルを組にした教師ありデータを用いて学習を行う学習部を備え、
    前記教師ありデータの正解ラベルを、前記人協調ロボットに外部から力を作用させること、前記人協調ロボットに複数の経路で動作を行わせること、および、前記人協調ロボットにノイズを作用させることによって取得し、
    前記学習部が出力する、前記第1力成分に基づいて、前記人協調ロボットの動作を制御する、
    ことを特徴とする人協調ロボットシステム。
  2. 前記第1力成分の教師ありデータは、複数の姿勢において停止した前記人協調ロボットに対して、複数の大きさと複数の方向の力を前記人協調ロボットの複数の部位に対して作用させ、前記作用させた力と前記学習部への入力とを組にして収集する、
    ことを特徴とする請求項1に記載の人協調ロボットシステム。
  3. 前記第2力成分の教師ありデータは、前記人協調ロボットに複数種類のワークを把持させると共に、前記人協調ロボットに複数経路の動作を行わせることにより生じる力成分と前記学習部への入力を組にして収集する、
    ことを特徴とする請求項1または請求項2に記載の人協調ロボットシステム。
  4. 前記第3力成分の教師ありデータは、複数の姿勢において停止した前記人協調ロボットに対してノイズ源を作用させ、該ノイズ源によって生じる第4力成分と前記学習部への入力を組にして収集する、
    ことを特徴とする請求項1乃至請求項3のいずれか1項に記載の人協調ロボットシステム。
  5. 前記第1力成分および前記第2力成分の少なくとも一方を教示することができるモードが用意されている、
    ことを特徴とする請求項2乃至請求項4のいずれか1項に記載の人協調ロボットシステム。
  6. 前記人協調ロボットは、
    収集された前記教師ありデータのモデル集合の中から前記学習部に学習させるモデル要素を選択する機能、或いは、
    記録された力のモデル集合の中から、アプリケーションに応じて使用する力のモデル要素を推奨する機能を有する、
    ことを特徴とする請求項2乃至請求項5のいずれか1項に記載の人協調ロボットシステム。
  7. 前記学習部は、前記検出した力の特徴量を抽出するためにオンライン学習を行い、抽出された前記特徴量に基づいて、前記第1力成分、前記第2力成分および前記第3力成分に分離する、
    ことを特徴とする請求項1乃至請求項6のいずれか1項に記載の人協調ロボットシステム。
  8. 前記人協調ロボットは、前記人と作業領域を共有しない非協調動作モードに設定することができ、前記非協調動作モードにおいて、前記学習部は、前記第1力成分の正解ラベルを『0』に設定してオンライン学習を行う、
    ことを特徴とする請求項1乃至請求項7のいずれか1項に記載の人協調ロボットシステム。
  9. 前記人協調ロボットの制御装置は、
    分離された前記第1力成分が所定の閾値を超えた場合に、前記人協調ロボットを停止する機能を有し、
    前記人協調ロボットの停止後、前記第1力成分を前記学習部が誤検出して停止したことを示す第1入力信号が入力された場合には、前記人協調ロボットが停止する直前の入力データと、前記所定の閾値より小さい所定の値に設定した外力の正解ラベルとを組にして、前記学習部のオンライン学習を行う、
    ことを特徴とする請求項1乃至請求項8のいずれか1項に記載の人協調ロボットシステム。
  10. 前記人協調ロボットの制御装置は、
    分離した前記第1力成分が所定の閾値を超えた場合に、前記人協調ロボットを停止する機能を有し、
    前記人協調ロボットの停止後、前記第1力成分を前記学習部が正しく検出して停止したことを示す第2入力信号が入力された場合には、前記人協調ロボットが停止する直前の前記学習部への入力信号と出力信号を教師ありデータとしてメモリに格納し、以降のオンライン学習に、前記メモリに格納した前記教師ありデータを使用する、
    ことを特徴とする請求項1乃至請求項9のいずれか1項に記載の人協調ロボットシステム。
  11. 前記第1入力信号および前記第2入力信号は、前記人協調ロボットの動作再開信号を兼ねている、
    ことを特徴とする請求項10に記載の人協調ロボットシステム。
  12. 前記第2入力信号は、前記人により、或いは、前記人協調ロボットを撮影可能なカメラによる画像認識結果または近接センサの信号を使用して生成される、
    ことを特徴とする請求項10または請求項11に記載の人協調ロボットシステム。
  13. 前記人協調ロボットシステムは、
    分離した前記第1力成分が所定の閾値を超えた場合に、前記人協調ロボットを停止する機能、並びに、前記人が前記人協調ロボットに外力を加えて止める際に緊急度の大きい力のパターンを検出する機能を有し、
    前記緊急度の大きい力のパターンが検出された場合には、前記緊急度の大きい力のパターンが検出される直前の入力データと、前記所定の閾値より大きい所定の値に設定した外力の正解ラベルとを組にして、前記学習部のオンライン学習を行う、
    ことを特徴とする請求項1乃至請求項12のいずれか1項に記載の人協調ロボットシステム。
  14. 前記人協調ロボットは、複数台設けられ、
    複数台の前記人協調ロボットのそれぞれが個別に学習を行い、
    それぞれの前記人協調ロボットにより個別に行われた複数の学習結果を、複数台の前記人協調ロボットがネットワークを介して相互に交換または共有する、
    ことを特徴とする請求項1乃至請求項13のいずれか1項に記載の人協調ロボットシステム。
  15. 前記第1力成分は、前記人が前記人協調ロボットに加える外力であり、
    前記第2力成分は、前記人協調ロボットの動作によって生じる内力であり、
    前記第3力成分は、前記人協調ロボットに対するノイズであり、若しくは、
    前記人協調ロボットは、
    教示された動作プログラムの1サイクル間に、前記人協調ロボットの検出した力のログを保存し、
    さらに、複数回の前記サイクルについて検出した力のログを保存し、
    複数回の前記サイクルにおいて検出した力のログを合成、或いは、信号処理することで、前記人協調ロボットの動作によって生じる力成分を抽出し、
    抽出された前記人協調ロボットの動作によって生じる力成分を正解ラベルとして設定して、前記学習部のオンライン学習を行う、
    ことを特徴とする請求項1乃至請求項14のいずれか1項に記載の人協調ロボットシステム。
JP2016205481A 2016-10-19 2016-10-19 機械学習により外力の検出精度を向上させた人協調ロボットシステム Active JP6431017B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016205481A JP6431017B2 (ja) 2016-10-19 2016-10-19 機械学習により外力の検出精度を向上させた人協調ロボットシステム
US15/782,371 US10324425B2 (en) 2016-10-19 2017-10-12 Human collaborative robot system having improved external force detection accuracy by machine learning
DE102017009471.3A DE102017009471B4 (de) 2016-10-19 2017-10-12 Humankollaboratives Robotersytem mit verbesserter Genauigkeit der Erfassng einer äußeren Kraft durch maschinelles Lernen
CN201710978862.5A CN107962558B (zh) 2016-10-19 2017-10-19 通过机器学习提高了外力的检测精度的人协作机器人系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016205481A JP6431017B2 (ja) 2016-10-19 2016-10-19 機械学習により外力の検出精度を向上させた人協調ロボットシステム

Publications (2)

Publication Number Publication Date
JP2018065221A true JP2018065221A (ja) 2018-04-26
JP6431017B2 JP6431017B2 (ja) 2018-11-28

Family

ID=61764982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016205481A Active JP6431017B2 (ja) 2016-10-19 2016-10-19 機械学習により外力の検出精度を向上させた人協調ロボットシステム

Country Status (4)

Country Link
US (1) US10324425B2 (ja)
JP (1) JP6431017B2 (ja)
CN (1) CN107962558B (ja)
DE (1) DE102017009471B4 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020026344A1 (ja) * 2018-07-31 2020-02-06 日産自動車株式会社 異常判定装置及び異常判定方法
JP6685483B1 (ja) * 2019-09-05 2020-04-22 三菱電機株式会社 ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法
KR20200042265A (ko) * 2018-10-15 2020-04-23 호남대학교 산학협력단 로봇 제어 시스템 및 이를 이용한 로봇 제어 방법
CN111360875A (zh) * 2018-12-25 2020-07-03 沈阳新松机器人自动化股份有限公司 协作机器人补偿参数的检测方法、装置及协作机器人
JPWO2021009976A1 (ja) * 2019-07-18 2021-01-21
WO2021060104A1 (ja) * 2019-09-24 2021-04-01 ソニー株式会社 情報処理装置、情報処理システム及び情報処理方法
JP7098080B1 (ja) * 2021-09-08 2022-07-08 三菱電機株式会社 ロボット制御装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9314924B1 (en) * 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US10888996B2 (en) * 2015-04-03 2021-01-12 Think Surgical, Inc. Robotic system with intuitive motion control
JP6392910B2 (ja) * 2017-01-13 2018-09-19 ファナック株式会社 ロボットの安全確保動作機能を備えた人間協働ロボットシステム
US10222862B2 (en) * 2017-06-05 2019-03-05 Lenovo (Singapore) Pte. Ltd. Method to sense force exertion on handheld device for behavior setting and input for quick response
JP7427358B2 (ja) * 2017-07-20 2024-02-05 キヤノン株式会社 ロボットシステム、物品の製造方法、制御方法、制御プログラム、および記録媒体
US11054811B2 (en) * 2017-11-03 2021-07-06 Drishti Technologies, Inc. Systems and methods for line balancing
JP7039389B2 (ja) * 2018-05-25 2022-03-22 川崎重工業株式会社 ロボットシステム及びロボット制御方法
KR102403073B1 (ko) * 2018-05-25 2022-05-30 카와사키 주코교 카부시키가이샤 로봇 시스템 및 추가 학습 방법
US11179846B2 (en) * 2018-07-24 2021-11-23 Yan Yufik Method and systems for enhancing collaboration between robots and human operators
DE102019006725B4 (de) * 2018-10-02 2023-06-01 Fanuc Corporation Steuereinrichtung und Steuersystem
US10332367B1 (en) * 2018-10-17 2019-06-25 Capital One Services, Llc Systems and methods for using haptic vibration for inter device communication
JP6940542B2 (ja) * 2019-03-14 2021-09-29 ファナック株式会社 把持力調整装置及び把持力調整システム
EP3747604B1 (en) * 2019-06-07 2022-01-26 Robert Bosch GmbH Robot device controller, robot device arrangement and method for controlling a robot device
JP2021015573A (ja) * 2019-07-16 2021-02-12 ファナック株式会社 異常判定装置及び異常判定システム
JP7405575B2 (ja) * 2019-11-19 2023-12-26 ファナック株式会社 ロボットの制御装置、ロボットの制御方法、および協働作業ユニット
DE102020200165B4 (de) * 2020-01-09 2022-05-19 Robert Bosch Gesellschaft mit beschränkter Haftung Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102021204697B4 (de) 2021-05-10 2023-06-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
CN114789444B (zh) * 2022-05-05 2022-12-16 山东省人工智能研究院 一种基于深度强化学习和阻抗控制的柔顺人机接触方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319558A (ja) * 1994-05-26 1995-12-08 Matsushita Electric Works Ltd 力制御装置における力の検出方法
JP2016153156A (ja) * 2015-02-20 2016-08-25 ファナック株式会社 外力に応じてロボットを退避動作させる人間協調ロボットシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5356527A (en) 1976-10-30 1978-05-23 Keiko Morimura Slideedown groove device joined to reinforced concrete slide and method of sliding down the same by man or thing
JP4648486B2 (ja) 2009-01-26 2011-03-09 ファナック株式会社 人間とロボットとの協調動作領域を有する生産システム
WO2011033597A1 (ja) 2009-09-19 2011-03-24 株式会社 東芝 信号分類装置
DE102009047033A1 (de) 2009-11-24 2011-05-26 Robert Bosch Gmbh System und Verfahren zur Kollisionserkennung bei Fertigungs- oder Montageautomaten
DE102012007242A1 (de) 2012-03-09 2013-09-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur sicheren Mensch-Roboter-Kooperation
WO2014036549A2 (en) 2012-08-31 2014-03-06 Rethink Robotics, Inc. Systems and methods for safe robot operation
JP5931167B1 (ja) 2014-12-11 2016-06-08 ファナック株式会社 人間協調型ロボットシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319558A (ja) * 1994-05-26 1995-12-08 Matsushita Electric Works Ltd 力制御装置における力の検出方法
JP2016153156A (ja) * 2015-02-20 2016-08-25 ファナック株式会社 外力に応じてロボットを退避動作させる人間協調ロボットシステム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020026344A1 (ja) * 2018-07-31 2021-08-02 日産自動車株式会社 異常判定装置及び異常判定方法
US11433539B2 (en) 2018-07-31 2022-09-06 Nissan Motor Co., Ltd. Abnormality determination device and abnormality determination method
WO2020026344A1 (ja) * 2018-07-31 2020-02-06 日産自動車株式会社 異常判定装置及び異常判定方法
KR20200042265A (ko) * 2018-10-15 2020-04-23 호남대학교 산학협력단 로봇 제어 시스템 및 이를 이용한 로봇 제어 방법
KR102131097B1 (ko) 2018-10-15 2020-07-07 호남대학교 산학협력단 로봇 제어 시스템 및 이를 이용한 로봇 제어 방법
CN111360875A (zh) * 2018-12-25 2020-07-03 沈阳新松机器人自动化股份有限公司 协作机器人补偿参数的检测方法、装置及协作机器人
WO2021009976A1 (ja) * 2019-07-18 2021-01-21 株式会社安川電機 制御システム、制御装置及び制御方法
JPWO2021009976A1 (ja) * 2019-07-18 2021-01-21
US11750133B2 (en) 2019-07-18 2023-09-05 Kabushiki Kaisha Yaskawa Denki External force estimation during motor control
WO2021044583A1 (ja) * 2019-09-05 2021-03-11 三菱電機株式会社 ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法
CN114340855A (zh) * 2019-09-05 2022-04-12 三菱电机株式会社 机器人行动计划系统、机器人系统、机器人作业验证系统及机器人行动计划方法
JP6685483B1 (ja) * 2019-09-05 2020-04-22 三菱電機株式会社 ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法
CN114340855B (zh) * 2019-09-05 2024-05-07 三菱电机株式会社 机器人行动计划系统、机器人系统、机器人作业验证系统及机器人行动计划方法
WO2021060104A1 (ja) * 2019-09-24 2021-04-01 ソニー株式会社 情報処理装置、情報処理システム及び情報処理方法
JP7098080B1 (ja) * 2021-09-08 2022-07-08 三菱電機株式会社 ロボット制御装置

Also Published As

Publication number Publication date
CN107962558A (zh) 2018-04-27
DE102017009471A1 (de) 2018-04-19
US20180107174A1 (en) 2018-04-19
CN107962558B (zh) 2019-07-19
US10324425B2 (en) 2019-06-18
JP6431017B2 (ja) 2018-11-28
DE102017009471B4 (de) 2019-09-19

Similar Documents

Publication Publication Date Title
JP6431017B2 (ja) 機械学習により外力の検出精度を向上させた人協調ロボットシステム
JP6572265B2 (ja) 制御装置及び機械学習装置
Park et al. Learning-based real-time detection of robot collisions without joint torque sensors
JP6494331B2 (ja) ロボット制御装置およびロボット制御方法
US10730183B2 (en) Learning device, controller, and control system
US9221170B2 (en) Method and apparatus for controlling a robotic device via wearable sensors
JP6444851B2 (ja) ノイズの発生原因を検出する学習機能を有する制御装置
JP6783713B2 (ja) 人行動推定システム
CN106020116A (zh) 具有对机器人进行异常诊断的功能的机器人控制装置
EP3759558B1 (en) Intelligent audio analytic apparatus (iaaa) and method for space system
CN110231803B (zh) 碰撞位置推定装置以及机器学习装置
US11580784B2 (en) Model learning device, model learning method, and recording medium
CN113365788A (zh) 作业判别装置及作业判别方法
JPWO2020031718A1 (ja) 制御装置、制御方法、およびプログラム
US9868213B2 (en) Incidental robot-human contact detection
CN110678821B (zh) 处理装置、处理方法和程序
Pan et al. Cognitive acoustic analytics service for Internet of Things
JP6603260B2 (ja) 数値制御装置
JP7367226B2 (ja) 音波分離ニューラルネットワークを用いた製造自動化
JP2020107248A (ja) 異常判定装置および異常判定方法
JP7401280B2 (ja) 作業工程判別装置及び作業工程判別システム
US11318606B2 (en) Controlling an automation assembly
JP4894618B2 (ja) 設計分析装置
WO2022054292A1 (ja) ロボット制御装置
JP2022077227A (ja) 異常判定プログラム、異常判定方法および異常判定装置

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181101

R150 Certificate of patent or registration of utility model

Ref document number: 6431017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150