JP2022122670A - Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program - Google Patents

Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program Download PDF

Info

Publication number
JP2022122670A
JP2022122670A JP2021020049A JP2021020049A JP2022122670A JP 2022122670 A JP2022122670 A JP 2022122670A JP 2021020049 A JP2021020049 A JP 2021020049A JP 2021020049 A JP2021020049 A JP 2021020049A JP 2022122670 A JP2022122670 A JP 2022122670A
Authority
JP
Japan
Prior art keywords
external force
model
robot
predicted value
hostile
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021020049A
Other languages
Japanese (ja)
Inventor
政志 ▲濱▼屋
Masaya Hamaya
一敏 田中
Kazutoshi Tanaka
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2021020049A priority Critical patent/JP2022122670A/en
Priority to CN202280012144.1A priority patent/CN116867620A/en
Priority to US18/274,206 priority patent/US20240083023A1/en
Priority to PCT/JP2022/003877 priority patent/WO2022172812A1/en
Priority to EP22752640.7A priority patent/EP4292778A1/en
Publication of JP2022122670A publication Critical patent/JP2022122670A/en
Pending legal-status Critical Current

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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • 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

Abstract

To enable a robot model to learn efficiently through machine learning.SOLUTION: A robot control device 40 is configured to: acquire an actual value of a position attitude of a robot 10 and an actual value of external force applied to the robot 10, and executes a robot model LM including a state transition model for calculating a prediction value of the position attitude of the robot 10 and an external force model for calculating a prediction value of the external force applied to the robot 10, on the basis of an actual value of the position attitude at a certain time and an action command which can be given to the robot 10; calculate a reward on the basis of an error of the position attitude and the prediction value of the external force; generate a plurality of action command candidates and give them to the robot model LM, for each control period; determine an action command that maximizes the reward on the basis of rewards calculated in correspondence with the plurality of action command candidates respectively; and update the external model so as to minimize an error between the prediction value of the external force calculated using the external force model according to the determined action command and the actual value of the external force corresponding to the prediction value of the external force.SELECTED DRAWING: Figure 1

Description

開示の技術は、ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラムに関する。 The disclosed technology relates to a robot model learning device, a robot model machine learning method, a robot model machine learning program, a robot control device, a robot control method, and a robot control program.

ロボットが作業を達成するために必要な制御則を自動で獲得するために、機械学習によりロボットモデルを学習することが行われている。 Machine learning is used to learn a robot model in order to automatically acquire the control law necessary for a robot to accomplish a task.

例えば特許文献1には、マニピュレータに掛かる力とモーメントを検出する機能を備えた産業用ロボットを制御する制御装置であって、前記産業用ロボットを制御指令に基づいて制御する制御部と、前記産業用ロボットのマニピュレータに掛かる力及びモーメントの少なくともいずれかを取得データとして取得するデータ取得部と、前記取得データに基づいて、前記マニピュレータに掛かる力に係る情報を含む力状態データ、及び前記マニピュレータに係る制御指令の調整行動を示す制御指令調整データを、状態データとして生成する前処理部と、を備え、前記状態データに基づいて、前記マニピュレータに係る制御指令の調整行動に係る機械学習の処理を実行する技術が開示されている。 For example, Patent Literature 1 discloses a control device for controlling an industrial robot having a function of detecting force and moment applied to a manipulator, comprising a control unit for controlling the industrial robot based on a control command; a data acquisition unit that acquires at least one of a force and a moment applied to a manipulator of a robot for use as acquired data; force state data including information related to the force applied to the manipulator based on the acquired data; a preprocessing unit that generates control command adjustment data indicating control command adjustment behavior as state data, and executes machine learning processing related to the control command adjustment behavior of the manipulator based on the state data. A technique for doing so is disclosed.

特開2020-055095号公報JP 2020-055095 A

しかしながら、ロボットモデルを機械学習により学習する際のパラメータの設定及び報酬関数の設計は難しく、効率良く学習するのは困難である。 However, it is difficult to set parameters and design a reward function when learning a robot model by machine learning, and it is difficult to learn efficiently.

開示の技術は、上記の点に鑑みてなされたものであり、ロボットモデルを機械学習により学習する際に、効率良く学習することができるロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラムを提供することを目的とする。 The disclosed technique has been made in view of the above points, and provides a robot model learning apparatus, a robot model machine learning method, and a robot model that enable efficient learning when a robot model is learned by machine learning. machine learning program, robot control device, robot control method, and robot control program.

開示の第1態様は、ロボットモデルの学習装置であって、ロボットの位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得する取得部と、ある時間における前記位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルと、前記ロボットモデルを実行するモデル実行部と、前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の誤差及び前記外力の予測値に基づいて報酬を算出する報酬算出部と、制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補のそれぞれに対応して前記報酬算出部が算出する報酬に基づいて報酬を最大化する行動指令を決定する行動決定部と、決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する外力モデル更新部と、を備える。 A first aspect of the disclosure is a robot model learning apparatus comprising: an acquisition unit that acquires actual values of the position and orientation of a robot and actual values of an external force applied to the robot; A robot model that includes a state transition model that calculates a predicted value of the position and orientation of the robot at the next time based on an action command that can be given to the robot, and an external force model that calculates a predicted value of an external force applied to the robot. a model execution unit that executes the robot model; and a reward calculation unit that calculates a reward based on the error between the predicted value of the position and orientation and the target value of the position and orientation to be reached, and the predicted value of the external force. generating a plurality of candidates for the action command in each control cycle and giving them to the robot model; between an action determination unit that determines an action command to be converted, the predicted value of the external force calculated by the external force model based on the determined action command, and the actual value of the external force corresponding to the predicted value of the external force and an external force model updating unit that updates the external force model so that the difference between is reduced.

上記第1態様において、決定された前記行動指令に基づいて前記状態遷移モデルが算出した前記位置姿勢の予測値と、当該位置姿勢の予測値に対応する前記位置姿勢の実績値との間の誤差が小さくなるように前記状態遷移モデルを更新する状態遷移モデル更新部と、を備えた構成としてもよい。 In the first aspect, an error between the predicted value of the position and orientation calculated by the state transition model based on the determined action command and the actual value of the position and orientation corresponding to the predicted value of the position and orientation. and a state transition model updating unit that updates the state transition model so that

上記第1態様において、前記報酬算出部は、前記外力が前記誤差の拡大を抑制する外力である修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出するようにしてもよい。 In the first aspect, when the external force is a corrected external force that suppresses the expansion of the error, the remuneration calculation unit calculates the remuneration using a predicted value of the corrected external force as a factor for decreasing the remuneration. may be calculated.

上記第1態様において、前記報酬算出部は、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出するようにしてもよい。 In the first aspect, when the external force is a hostile external force that suppresses reduction of the error, the reward calculation unit calculates the reward using the predicted value of the hostile external force as a factor for increasing the reward. may be calculated.

上記第1態様において、前記報酬算出部は、前記外力が前記誤差の拡大を抑制する修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出するようにしてもよい。 In the first aspect, the remuneration calculation unit calculates the remuneration by calculation using a predicted value of the corrected external force as a reduction factor of the remuneration when the external force is a corrected external force that suppresses the expansion of the error. , when the external force is a hostile external force that suppresses the reduction of the error, the reward may be calculated by calculation using a predicted value of the hostile external force as an increase factor of the reward.

上記第1態様において、前記報酬算出部は、タスク実行中における前記修正外力の予測値に基づく前記報酬の減少量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなり、タスク実行中における前記敵対外力の予測値に基づく前記報酬の増加量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなる計算により前記報酬を算出するようにしてもよい。 In the first aspect, the reward calculation unit makes the range of change in the amount of decrease in the reward based on the predicted value of the corrected external force during task execution smaller than the range of change in the amount of decrease in the reward based on the error, and the task The remuneration may be calculated by a calculation in which a change range of the increase amount of the remuneration based on the predicted value of the hostile external force during execution is smaller than a change range of the remuneration based on the error.

上記第1態様において、前記外力モデルは、前記外力が前記修正外力である場合において、前記修正外力の予測値を出力する修正外力モデルと、前記外力が前記敵対外力である場合において、前記敵対外力の予測値を出力する敵対外力モデルとを含み、前記外力モデル更新部は、前記外力が前記修正外力である場合において、前記決定された行動指令に基づいて前記修正外力モデルが算出した前記修正外力の予測値と前記外力の実績値との差異が小さくなるように前記修正外力モデルを更新する修正外力モデル更新部と、前記外力が前記敵対外力である場合において、前記決定された行動指令に基づいて前記敵対外力モデルが算出した前記敵対外力の予測値と前記外力の実績値との差異が小さくなるように前記敵対外力モデルを更新する敵対外力モデル更新部とを含む構成としてもよい。 In the first aspect, the external force model includes a corrected external force model that outputs a predicted value of the corrected external force when the external force is the corrected external force, and the hostile external force when the external force is the hostile external force. and a hostile external force model that outputs a predicted value of the corrected external force calculated by the corrected external force model based on the determined action command when the external force is the corrected external force. and a modified external force model updating unit that updates the modified external force model so that the difference between the predicted value of the external force and the actual value of the external force becomes smaller; and a hostile external force model updating unit that updates the hostile external force model so that the difference between the predicted value of the hostile external force calculated by the hostile external force model and the actual value of the external force becomes smaller.

上記第1態様において、前記ロボットモデルは、前記修正外力モデル及び前記敵対外力モデルを備えた統合外力モデルを含み、前記修正外力モデル及び前記敵対外力モデルはニューラルネットワークであり、前記敵対外力モデルの1又は複数の中間層及び出力層のうちの少なくとも1つの層は、前記修正外力モデルの対応する層の前段の層の出力をプログレッシブニューラルネットワークの手法により統合し、前記敵対外力モデルは、外力の予測値及び当該外力が修正外力か敵対外力かの識別情報を出力し、前記統合外力モデルは、前記敵対外力モデルの出力を自身の出力とし、前記報酬算出部は、前記識別情報が修正外力を示す場合には前記外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記識別情報が敵対外力を示す場合には前記外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出するようにしてもよい。 In the first aspect, the robot model includes an integrated external force model comprising the corrected external force model and the hostile external force model, the corrected external force model and the hostile external force model are neural networks, and one of the hostile external force models Alternatively, at least one layer of a plurality of intermediate layers and output layers integrates outputs of layers preceding the corresponding layer of the modified external force model by a progressive neural network technique, and the hostile external force model predicts an external force. A value and identification information indicating whether the external force is a corrected external force or a hostile external force, the integrated external force model uses the output of the hostile external force model as its own output, and the reward calculation unit determines that the identification information indicates the corrected external force. If the identification information indicates a hostile external force, the reward is calculated using the predicted value of the external force as a factor to decrease the reward, and if the identification information indicates a hostile external force, a calculation using the predicted value of the external force as a factor to increase the reward The reward may be calculated.

上記第1態様において、前記外力が前記修正外力であるか前記敵対外力であるかの指定を受け付ける受け付け部をさらに備え、前記指定が前記修正外力である場合は前記修正外力モデル更新部の動作を有効化し、前記指定が前記敵対外力である場合は前記敵対外力モデル更新部の動作を有効化する学習制御部をさらに備えた構成としてもよい。 In the above first aspect, further comprising a receiving unit that receives a designation as to whether the external force is the corrected external force or the hostile external force, and if the designation is the corrected external force, causes the corrected external force model updating unit to operate. The configuration may further include a learning control unit that validates and validates the operation of the hostile external force model updating unit when the designation is the hostile external force.

上記第1態様において、前記位置姿勢の実績値及び前記外力の実績値に基づき前記外力が前記修正外力であるか前記敵対外力であるかを判別し、前記判別の結果が前記修正外力である場合は前記修正外力モデル更新部の動作を有効化し、前記判別の結果が前記敵対外力である場合は前記敵対外力モデル更新部の動作を有効化する学習制御部をさらに備える構成としてもよい。 In the first aspect, when it is determined whether the external force is the corrected external force or the hostile external force based on the actual values of the position and orientation and the actual values of the external force, and the result of the determination is the corrected external force. may further include a learning control unit that validates the operation of the corrected external force model updating unit, and validates the operation of the hostile external force model updating unit when the determination result is the hostile external force.

開示の第2態様は、ロボットモデルの機械学習方法であって、ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを用意し、制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する。 A second aspect of the disclosure is a machine learning method for a robot model, which is based on the actual values of the position and orientation of the robot at a certain time and the action command that can be given to the robot, and the position and orientation of the robot at the next time. and an external force model for calculating the predicted value of the external force applied to the robot are prepared. is obtained, and a plurality of candidates for the action command are generated and given to the robot model for each control cycle, and a plurality of candidates calculated by the state transition model corresponding to the plurality of candidates for the action command are obtained. based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between the predicted values of the position and orientation and the target values of the position and orientation to be reached and the plurality of candidates of the action command; Then, an action command that maximizes the reward is determined based on a plurality of rewards calculated corresponding to the plurality of candidates for the action command, and the external force model calculates the action command based on the determined action command. The external force model is updated so that the difference between the predicted value of the external force and the actual value of the external force corresponding to the predicted value of the external force is reduced.

上記第2態様において、さらに、決定された前記行動指令に基づいて前記状態遷移モデルが算出した前記位置姿勢の予測値と、当該位置姿勢の予測値に対応する前記位置姿勢の実績値との間の誤差が小さくなるように前記状態遷移モデルを更新するようにしてもよい。 In the second aspect, further, a difference between the position/orientation predicted value calculated by the state transition model based on the determined action command and the position/orientation actual value corresponding to the position/orientation predicted value The state transition model may be updated so that the error of is reduced.

上記第2態様において、前記外力が前記誤差の拡大を抑制する外力である修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出するようにしてもよい。 In the second aspect, when the external force is a corrected external force that suppresses the expansion of the error, the reward is calculated by calculation using a predicted value of the corrected external force as a factor for reducing the reward. good too.

上記第2態様において、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出するようにしてもよい。 In the second aspect, when the external force is a hostile external force that suppresses reduction of the error, the reward is calculated by calculation using the predicted value of the hostile external force as a factor for increasing the reward. good too.

上記第2態様において、前記外力が前記誤差の拡大を抑制する修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出するようにしてもよい。 In the second aspect, when the external force is a corrected external force that suppresses the expansion of the error, the reward is calculated by calculation using the predicted value of the corrected external force as a factor for reducing the reward, and the external force is the error , the reward may be calculated by calculation using the predicted value of the hostile external force as a factor for increasing the reward.

上記第2態様において、前記外力モデルは、前記外力が前記修正外力である場合において、前記修正外力の予測値を出力する修正外力モデルと、前記外力が前記敵対外力である場合において、前記敵対外力の予測値を出力する敵対外力モデルとを含み、前記外力が前記修正外力である場合において、前記決定された行動指令に基づいて前記修正外力モデルが算出した前記修正外力の予測値と前記外力の実績値との差異が小さくなるように前記修正外力モデルを更新し、前記外力が前記敵対外力である場合において、前記決定された行動指令に基づいて前記敵対外力モデルが算出した前記敵対外力の予測値と前記外力の実績値との差異が小さくなるように前記敵対外力モデルを更新するようにしてもよい。 In the second aspect, the external force model includes a corrected external force model that outputs a predicted value of the corrected external force when the external force is the corrected external force, and the hostile external force when the external force is the hostile external force. and a hostile external force model that outputs a predicted value of the external force, and when the external force is the corrected external force, the predicted value of the corrected external force calculated by the corrected external force model based on the determined action command and the external force Updating the modified external force model so that the difference from the actual value is reduced, and predicting the hostile external force calculated by the hostile external force model based on the determined action command when the external force is the hostile external force. The hostile external force model may be updated so that the difference between the value and the actual value of the external force becomes smaller.

上記第2態様において、前記誤差が拡大しつつある場合に、前記ロボットに対して前記修正外力を加え、前記誤差が縮小しつつある場合に、前記ロボットに対して前記敵対外力を加えるようにしてもよい。 In the second aspect, the correction external force is applied to the robot when the error is increasing, and the hostile external force is applied to the robot when the error is decreasing. good too.

開示の第3態様は、ロボットモデルの機械学習プログラムであって、ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを機械学習するための機械学習プログラムであって、制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する、各処理をコンピュータに行わせる。 A third aspect of the disclosure is a machine learning program for a robot model, which is based on the actual values of the position and orientation of the robot at a certain time and the action command that can be given to the robot, and the position and orientation of the robot at the next time. A machine learning program for machine learning a robot model including a state transition model for calculating a predicted value of and an external force model for calculating a predicted value of an external force applied to the robot, the machine learning program for machine learning the position and orientation of the robot at each control cycle A performance value and a performance value of the external force applied to the robot are obtained, a plurality of candidates for the action command are generated for each control cycle, and given to the robot model, and the plurality of candidates for the action command are obtained. Calculated by the external force model corresponding to a plurality of errors between the plurality of predicted values of the position and orientation calculated by the state transition model and the target values of the position and orientation to be reached, and the plurality of candidates for the action command. determining an action command that maximizes the reward based on a plurality of rewards calculated corresponding to the plurality of candidates for the action command based on the plurality of predicted values of the external force; updating the external force model so that the difference between the predicted value of the external force calculated by the external force model based on the external force model and the actual value of the external force corresponding to the predicted value of the external force is reduced; let it happen

開示の第4態様は、ロボット制御装置であって、ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを実行するモデル実行部と、前記ロボットの位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得する取得部と、前記ロボットモデルにより算出された位置姿勢の予測値と到達すべき位置姿勢の目標値との間の誤差及び前記ロボットモデルにより算出された外力の予測値に基づいて報酬を算出する報酬算出部と、制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補のそれぞれに対応して前記報酬算出部が算出する報酬に基づいて報酬を最大化する行動指令を決定する行動決定部と、を備える。 A fourth aspect of the disclosure is a robot control device, which predicts the position and orientation of the robot at the next time based on the actual values of the position and orientation of the robot at a certain time and the action command that can be given to the robot. and an external force model for calculating a predicted value of the external force applied to the robot; a model execution unit that executes a robot model; an acquisition unit that acquires a value, and a reward based on the error between the predicted value of the position and orientation calculated by the robot model and the target value of the position and orientation to be reached, and the predicted value of the external force calculated by the robot model. and a reward calculation unit that calculates a plurality of candidates for the action command for each control cycle, and provides the plurality of candidates for the action command to the robot model, and the reward calculation unit calculates each of the plurality of candidates for the action command. a behavior determination unit that determines a behavior directive that maximizes the reward based on the reward.

開示の第5態様は、ロボット制御方法であって、ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを用意し、制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、決定された前記行動指令に基づいて前記ロボットを制御する。 A fifth aspect of the disclosure is a robot control method, which predicts the position and orientation of the robot at the next time based on the actual values of the position and orientation of the robot at a certain time and the action command that can be given to the robot. and an external force model for calculating a predicted value of the external force applied to the robot are prepared, and in each control cycle, the actual values of the position and orientation and the actual values of the external force applied to the robot are prepared. is obtained, and a plurality of candidates for the action command are generated and given to the robot model for each control cycle, and a plurality of the positions and orientations calculated by the state transition model corresponding to the plurality of candidates for the action command are obtained. based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between the predicted value of and the target value of the position and orientation to be reached, and the plurality of candidates for the action command, An action command that maximizes the reward is determined based on a plurality of rewards calculated corresponding to the plurality of action command candidates, and the robot is controlled based on the determined action command.

開示の第6態様は、ロボット制御プログラムであって、ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを用いて前記ロボットを制御するためのプログラムであって、制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、決定された前記行動指令に基づいて前記ロボットを制御する、各処理をコンピュータに行わせる。 A sixth aspect of the disclosure is a robot control program, which predicts the position and orientation of the robot at the next time based on the actual values of the position and orientation of the robot at a certain time and the action command that can be given to the robot. and an external force model for calculating a predicted value of an external force applied to the robot, the program for controlling the robot using a robot model, wherein the position and orientation results are obtained in each control cycle values and actual values of the external force applied to the robot, generate a plurality of candidates for the action command for each control cycle, and give the candidates to the robot model; The plurality of errors calculated by the external force model corresponding to the plurality of candidates for the action command and the plurality of errors between the plurality of predicted values of the position and orientation calculated by the transition model and the target values of the position and orientation to be reached. Based on the predicted value of the external force of, based on a plurality of rewards calculated corresponding to the plurality of candidates for the action command, determine an action command that maximizes the reward, and based on the determined action command A computer is caused to perform each process to control the robot by using a computer.

開示の技術によれば、ロボットモデルを機械学習により学習する際に、効率良く学習することができる。 According to the disclosed technology, it is possible to learn efficiently when learning a robot model by machine learning.

第1実施形態に係るロボットシステムの構成図である。1 is a configuration diagram of a robot system according to a first embodiment; FIG. (A)はロボット10の概略構成を示す図、(B)はロボットのアームの先端側を拡大した図である。(A) is a diagram showing a schematic configuration of the robot 10, and (B) is an enlarged diagram of the tip side of the arm of the robot. 修正外力及び敵対外力について説明するための図である。It is a figure for demonstrating corrected external force and hostile external force. ロボット制御装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of a robot control apparatus. ロボットモデルの構成図である。1 is a configuration diagram of a robot model; FIG. 変形例に係るロボットモデルの構成図である。FIG. 11 is a configuration diagram of a robot model according to a modified example; 変形例に係るロボットモデルの構成図である。FIG. 11 is a configuration diagram of a robot model according to a modified example; 統合外力モデルの構成図である。It is a block diagram of an integrated external force model. 第1実施形態に係る学習処理のフローチャートである。4 is a flowchart of learning processing according to the first embodiment; 第2実施形態に係る学習処理のフローチャートである。9 is a flowchart of learning processing according to the second embodiment; 第3実施形態に係るロボットシステムの構成図である。FIG. 11 is a configuration diagram of a robot system according to a third embodiment; 第3実施形態に係る学習処理のフローチャートである。10 is a flowchart of learning processing according to the third embodiment; (A)は位置誤差についての学習曲線を示すグラフ、(B)は外力についての学習曲線を示すグラフである。(A) is a graph showing a learning curve for position error, and (B) is a graph showing a learning curve for external force. (A)は異なる摩擦におけるタスクの成功回数を表すグラフ、(B)は異なるペグの質量におけるタスクの成功回数を表すグラフである。(A) is a graph representing the number of task successes at different frictions, and (B) is a graph representing the number of task successes at different peg masses. 異なるペグの材質におけるタスクの成功回数を表すグラフである。FIG. 11 is a graph representing the number of task successes for different peg materials; FIG.

以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。 An example of embodiments of the technology disclosed herein will be described below with reference to the drawings. In each drawing, the same or equivalent components and portions are given the same reference numerals. Also, the dimensional ratios in the drawings may be exaggerated for convenience of explanation, and may differ from the actual ratios.

<第1実施形態> <First Embodiment>

図1は、本実施形態に係るロボットシステム1の構成を示す。ロボットシステム1は、ロボット10、状態観測センサ20、触覚センサ30A、30B、ロボット制御装置40、表示装置50、及び入力装置60を有する。 FIG. 1 shows the configuration of a robot system 1 according to this embodiment. The robot system 1 has a robot 10 , a state observation sensor 20 , tactile sensors 30A and 30B, a robot control device 40 , a display device 50 and an input device 60 .

(ロボット) (robot)

図2(A)、(B)は、ロボット10の概略構成を示す図である。本実施形態におけるロボット10は、6軸垂直多関節ロボットであり、アーム11の先端11aに柔軟部13を介してグリッパ(ハンド)12が設けられる。ロボット10は、グリッパ12によって部品(例えばペグ)を把持して穴に嵌め込む嵌め込み作業を行う。なお、ロボット10は、本実施形態では現実のロボットであるが、シミュレーションにおける仮想のロボットでもよい。 2A and 2B are diagrams showing a schematic configuration of the robot 10. FIG. The robot 10 in this embodiment is a 6-axis vertical articulated robot, and a gripper (hand) 12 is provided at the tip 11 a of an arm 11 via a flexible portion 13 . The robot 10 performs a fitting operation in which a part (for example, a peg) is gripped by the gripper 12 and fitted into a hole. Although the robot 10 is a real robot in this embodiment, it may be a virtual robot in a simulation.

図2(A)に示すように、ロボット10は、関節J1~J6を備えた6自由度のアーム11を有する。各関節J1~J6は、図示しないモータによりリンク同士を矢印C1~C6の方向に回転可能に接続する。ここでは、垂直多関節ロボットを例に挙げたが、水平多関節ロボット(スカラーロボット)であってもよい。また、6軸ロボットを例に挙げたが、5軸や7軸などその他の自由度の多関節ロボットであってもよく、パラレルリンクロボットであってもよい。 As shown in FIG. 2A, the robot 10 has an arm 11 with six degrees of freedom and joints J1 to J6. The joints J1 to J6 connect the links so as to be rotatable in the directions of arrows C1 to C6 by motors (not shown). Here, a vertical articulated robot is taken as an example, but a horizontal articulated robot (scalar robot) may be used. Also, although a 6-axis robot has been exemplified, a multi-joint robot with other degrees of freedom such as a 5-axis or 7-axis robot, or a parallel link robot may be used.

グリッパ12は、1組の挟持部12aを有し、挟持部12aを制御して部品を挟持する。グリッパ12は、柔軟部13を介してアーム11の先端11aと接続され、アーム11の移動に伴って移動する。本実施形態では、柔軟部13は各バネの基部が正三角形の各頂点になる位置関係に配置された3つのバネ13a~13cにより構成されるが、バネの数はいくつであってもよい。また、柔軟部13は、位置の変動に対して復元力を生じて、柔軟性が得られる機構であればその他の機構であってもよい。例えば、柔軟部13は、バネやゴムのような弾性体、ダンパ、空気圧または液圧シリンダなどであってもよい。柔軟部13は、受動要素によって構成されることが好ましい。柔軟部13により、アーム11の先端11aとグリッパ12は、水平方向および垂直方向に、5mm以上、好ましくは1cm以上、更に好ましくは2cm以上、相対移動可能に構成される。 The gripper 12 has a pair of gripping portions 12a, and grips the component by controlling the gripping portions 12a. The gripper 12 is connected to the tip 11a of the arm 11 via the flexible portion 13 and moves as the arm 11 moves. In this embodiment, the flexible portion 13 is composed of three springs 13a to 13c arranged in a positional relationship such that the base of each spring is at each vertex of an equilateral triangle, but the number of springs may be any number. Also, the flexible portion 13 may be any other mechanism as long as it is a mechanism that generates a restoring force against positional fluctuations and obtains flexibility. For example, the flexible part 13 may be an elastic body such as a spring or rubber, a damper, a pneumatic or hydraulic cylinder, or the like. The flexible portion 13 is preferably constituted by passive elements. The flexible portion 13 allows the distal end 11a of the arm 11 and the gripper 12 to move relative to each other horizontally and vertically by 5 mm or more, preferably 1 cm or more, more preferably 2 cm or more.

グリッパ12がアーム11に対して柔軟な状態と固定された状態とを切り替えられるような機構を設けてもよい。 A mechanism may be provided to switch the gripper 12 between a flexible state and a fixed state with respect to the arm 11 .

また、ここではアーム11の先端11aとグリッパ12の間に柔軟部13を設ける構成を例示したが、グリッパ12の途中(例えば、指関節の場所または指の柱状部分の途中)、アームの途中(例えば、関節J1~J6のいずれかの場所またはアームの柱状部分の途中)に設けられてもよい。また、柔軟部13は、これらのうちの複数の箇所に設けられてもよい。 In addition, although the configuration in which the flexible portion 13 is provided between the tip 11a of the arm 11 and the gripper 12 is illustrated here, the flexible portion 13 is provided in the middle of the gripper 12 (for example, in the middle of the finger joint or in the middle of the columnar portion of the finger), in the middle of the arm ( For example, it may be provided at any of the joints J1 to J6 or in the middle of the columnar portion of the arm). Also, the flexible portion 13 may be provided at a plurality of these locations.

ロボットシステム1は、上記のように柔軟部13を備えるロボット10の制御を行うためのロボットモデルを、機械学習(例えばモデルベース強化学習)を用いて獲得する。ロボット10は柔軟部13を有しているため、把持した部品を環境に接触させても安全であり、また、制御周期が遅くても嵌め込み作業などを実現可能である。一方、柔軟部13によってグリッパ12および部品の位置が不確定となるため、解析的なロボットモデルを得ることは困難である。そこで、本実施形態では機械学習を用いてロボットモデルを獲得する。 The robot system 1 uses machine learning (for example, model-based reinforcement learning) to acquire a robot model for controlling the robot 10 having the flexible part 13 as described above. Since the robot 10 has the flexible part 13, it is safe to bring the gripped part into contact with the environment, and even if the control cycle is slow, it is possible to perform fitting work. On the other hand, it is difficult to obtain an analytical robot model because the positions of the gripper 12 and parts are uncertain due to the flexible portion 13 . Therefore, in this embodiment, machine learning is used to acquire a robot model.

(状態観測センサ) (state observation sensor)

状態観測センサ20は、ロボット10の状態としてグリッパ12の位置姿勢を観測し、観測した位置姿勢を実績値として出力する。状態観測センサ20としては、例えば、ロボット10の関節のエンコーダ、視覚センサ(カメラ)、モーションキャプチャ等が用いられる。モーションキャプチャ用のマーカーがグリッパ12に取り付けられている場合には、グリッパ12の位置姿勢が特定でき、グリッパ12の位置姿勢から部品(作業対象物)の姿勢が推定できる。 The state observation sensor 20 observes the position and orientation of the gripper 12 as the state of the robot 10 and outputs the observed position and orientation as actual values. As the state observation sensor 20, for example, a joint encoder of the robot 10, a visual sensor (camera), a motion capture, or the like is used. When a motion capture marker is attached to the gripper 12 , the position and orientation of the gripper 12 can be identified, and the orientation of the component (workpiece) can be estimated from the position and orientation of the gripper 12 .

また、視覚センサによっても、グリッパ12自体やグリッパ12が把持している部品の位置姿勢をロボット10の状態として検出できる。グリッパ12とアーム11との間が柔軟部である場合、アーム11に対するグリッパ12の変位を検出する変位センサによってもアーム11に対するグリッパ12の位置姿勢を特定することができる。 Also, the position and orientation of the gripper 12 itself and the part gripped by the gripper 12 can be detected as the state of the robot 10 by the visual sensor. If the flexible portion is between the gripper 12 and the arm 11 , the position and orientation of the gripper 12 with respect to the arm 11 can also be identified by a displacement sensor that detects the displacement of the gripper 12 with respect to the arm 11 .

(触覚センサ) (tactile sensor)

図2では図示は省略したが、図3に示すように、グリッパ12のグリッパ本体12bには、触覚センサ30A、30Bが取り付けられている。 Although not shown in FIG. 2, tactile sensors 30A and 30B are attached to the gripper body 12b of the gripper 12 as shown in FIG.

触覚センサ30A、30Bは、一例として1組の挟持部12aが対向する方向に沿った位置に設けられている。触覚センサ30A、30Bは、一例として3軸又は6軸の力を検出するセンサであり、自身に加えられる外力の大きさと方向を検出することができる。ユーザーは、触覚センサ30A、30Bの両方に手(指)が接触するようにグリッパ本体12bを掴んでグリッパ12を動かすことによりグリッパ12に外力を加える。 As an example, the tactile sensors 30A and 30B are provided at positions along the direction in which the pair of holding portions 12a face each other. The tactile sensors 30A and 30B are, for example, sensors that detect three-axis or six-axis forces, and can detect the magnitude and direction of an external force applied to them. The user applies an external force to the gripper 12 by gripping the gripper main body 12b and moving the gripper 12 so that the hands (fingers) are in contact with both the tactile sensors 30A and 30B.

外力としては、ロボット10が実行するタスク(作業)が成功するように修正(advisory)する修正外力と、タスクが失敗するように敵対(adversarial)する敵対外力と、がある。修正外力とは、ロボットモデルが予測するロボット10の位置姿勢の予測値とロボット10が到達すべき位置姿勢の目標値との間の誤差の拡大を抑制する外力である。また、敵対外力とは、ロボットモデルが予測するロボット10の位置姿勢の予測値とロボット10が到達すべき位置姿勢の目標値との間の誤差の拡大を縮小する外力である。 The external force includes a corrective external force that is advisory so that the task (work) executed by the robot 10 will succeed, and an adversarial external force that is adversarial so that the task will fail. The corrected external force is an external force that suppresses the expansion of the error between the predicted value of the position and orientation of the robot 10 predicted by the robot model and the target value of the position and orientation that the robot 10 should reach. The hostile external force is an external force that reduces the expansion of the error between the predicted value of the position and orientation of the robot 10 predicted by the robot model and the target value of the position and orientation that the robot 10 should reach.

具体的には、ロボット10が実行するタスクが、図3に示すようにペグ70を台72に設けられた穴74に挿入するタスクである場合において、ペグ70を穴74に挿入するには、矢印A方向にペグ70を動かす必要がある。この場合、ペグ70を穴74に挿入するというタスクを成功させるための正しい方向である矢印A方向に加える外力が修正外力である。一方、タスクを失敗させる方向であって矢印A方向と反対方向である矢印B方向に加える外力が敵対外力である。 Specifically, when the task to be executed by the robot 10 is to insert the peg 70 into the hole 74 provided in the table 72 as shown in FIG. It is necessary to move peg 70 in the direction of arrow A. In this case, the force applied in the direction of arrow A, which is the correct direction for successfully completing the task of inserting peg 70 into hole 74, is the corrected force. On the other hand, the external force applied in the direction of arrow B, which is the direction that causes the task to fail and is opposite to the direction of arrow A, is the hostile external force.

図3の場合、ユーザーがグリッパ12を掴んで矢印A方向に修正外力を加えると、触覚センサ30Bよりも触覚センサ30Aによって検出される力が大きくなり、修正外力が加わっていると判定できる。一方、矢印B方向に敵対外力を加えると、触覚センサ30Aよりも触覚センサ30Bによって検出される力が大きくなり、敵対外力が加わっていると判定できる。 In the case of FIG. 3, when the user grips the gripper 12 and applies a corrective external force in the direction of arrow A, the force detected by the tactile sensor 30A becomes larger than that detected by the tactile sensor 30B, and it can be determined that the corrective external force is applied. On the other hand, when a hostile external force is applied in the direction of arrow B, the force detected by the tactile sensor 30B is greater than that detected by the tactile sensor 30A, and it can be determined that a hostile external force is being applied.

なお、本実施形態では、グリッパ本体12bに2つの触覚センサ30A、30Bが設けられた場合について説明するが、これに限られない。例えば3つ以上の触覚センサをグリッパ本体12bの周囲に等間隔で設けても良い。触覚センサを3つ以上設けてそれらの検出結果を総合すれば少なくともグリッパ12の軸に垂直な面内での外力の方向がわかる場合は、各触覚センサは外力の大きさだけを検出するものであってもよい。 In this embodiment, the case where the gripper main body 12b is provided with the two tactile sensors 30A and 30B will be described, but the present invention is not limited to this. For example, three or more tactile sensors may be provided at equal intervals around the gripper body 12b. If three or more tactile sensors are provided and their detection results are combined to at least determine the direction of the external force in the plane perpendicular to the axis of the gripper 12, each tactile sensor detects only the magnitude of the external force. There may be.

(ロボット制御装置) (robot controller)

ロボット制御装置40は、機械学習によりロボットモデルを学習する学習装置として機能する。また、ロボット制御装置40は、学習済みのロボットモデルを用いてロボット10を制御する制御装置としても機能する。 The robot control device 40 functions as a learning device that learns a robot model by machine learning. The robot control device 40 also functions as a control device that controls the robot 10 using a learned robot model.

図4は、本実施形態に係るロボット制御装置のハードウェア構成を示すブロック図である。図4に示すように、ロボット制御装置40は、一般的なコンピュータ(情報処理装置)と同様の構成であり、CPU(Central Processing Unit)40A、ROM(Read Only Memory)40B、RAM(Random Access Memory)40C、ストレージ40D、キーボード40E、マウス40F、モニタ40G、及び通信インタフェース40Hを有する。各構成は、バス40Iを介して相互に通信可能に接続されている。 FIG. 4 is a block diagram showing the hardware configuration of the robot control device according to this embodiment. As shown in FIG. 4, the robot control device 40 has the same configuration as a general computer (information processing device), and includes a CPU (Central Processing Unit) 40A, a ROM (Read Only Memory) 40B, a RAM (Random Access Memory). ) 40C, storage 40D, keyboard 40E, mouse 40F, monitor 40G, and communication interface 40H. Each component is communicatively connected to each other via a bus 40I.

本実施形態では、ROM40B又はストレージ40Dには、ロボットモデルを機械学習するためのプログラム及びロボット制御プログラムが格納されている。CPU40Aは、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU40Aは、ROM40B又はストレージ40Dからプログラムを読み出し、RAM40Cを作業領域としてプログラムを実行する。CPU40Aは、ROM40B又はストレージ40Dに記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。ROM42は、各種プログラム及び各種データを格納する。RAM40Cは、作業領域として一時的にプログラム又はデータを記憶する。ストレージ40Dは、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリにより構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。キーボード40E及びマウス40Fは入力装置60の一例であり、各種の入力を行うために使用される。モニタ40Gは、例えば、液晶ディスプレイであり、表示装置50の一例である。モニタ40Gは、タッチパネル方式を採用して、入力装置60として機能してもよい。通信インタフェース40Hは、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。 In this embodiment, the ROM 40B or the storage 40D stores a program for machine learning a robot model and a robot control program. The CPU 40A is a central processing unit that executes various programs and controls each configuration. That is, the CPU 40A reads a program from the ROM 40B or the storage 40D and executes the program using the RAM 40C as a work area. The CPU 40A performs control of the above components and various arithmetic processing according to programs recorded in the ROM 40B or the storage 40D. The ROM 42 stores various programs and various data. The RAM 40C temporarily stores programs or data as a work area. The storage 40D is configured by a HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory, and stores various programs including an operating system and various data. The keyboard 40E and mouse 40F are examples of the input device 60 and are used for various inputs. The monitor 40G is, for example, a liquid crystal display, and is an example of the display device 50. FIG. The monitor 40G may employ a touch panel system and function as the input device 60 . The communication interface 40H is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, or Wi-Fi (registered trademark), for example.

次に、ロボット制御装置40の機能構成について説明する。 Next, the functional configuration of the robot control device 40 will be described.

図1に示すように、ロボット制御装置40は、その機能構成として、取得部41、モデル実行部42、報酬算出部43、行動決定部44、外力モデル更新部45、学習制御部46、及びユーザーインターフェース(UI)制御部47を有する。各機能構成は、CPU40AがROM40Bまたはストレージ40Dに記憶された機械学習プログラムを読み出して、RAM40Cに展開して実行することにより実現される。なお、一部または全部の機能は専用のハードウェア装置によって実現されても構わない。 As shown in FIG. 1, the robot control device 40 includes an acquisition unit 41, a model execution unit 42, a reward calculation unit 43, an action determination unit 44, an external force model update unit 45, a learning control unit 46, and a user It has an interface (UI) control unit 47 . Each functional configuration is realized by CPU 40A reading a machine learning program stored in ROM 40B or storage 40D, developing it in RAM 40C, and executing it. Some or all of the functions may be realized by a dedicated hardware device.

取得部41は、ロボット10の位置姿勢の実績値及びロボット10に加えられる外力の実績値を取得する。ロボット10の位置姿勢とは、一例としてロボット10のエンドエフェクタとしてのグリッパ12の位置姿勢である。ロボット10に加えられる外力は、一例としてロボット10のエンドエフェクタとしてのグリッパ12に加えられる外力である。外力の実績値は、触覚センサ30A、30Bにより計測される。なお、ロボット10が、どの部分がエンドエフェクタであるかを特定しにくいようなロボットの場合には、操作対象物に対する影響が生じるロボットの箇所という観点で適宜位置姿勢を計測する箇所や外力を加える箇所を特定すればよい。 The acquisition unit 41 acquires the actual values of the position and orientation of the robot 10 and the actual values of the external force applied to the robot 10 . The position and orientation of the robot 10 are, for example, the position and orientation of the gripper 12 as an end effector of the robot 10 . The external force applied to the robot 10 is, for example, an external force applied to the gripper 12 as an end effector of the robot 10 . Actual values of the external force are measured by the tactile sensors 30A and 30B. In the case where the robot 10 is such that it is difficult to identify which part is the end effector, the position and orientation of the robot may be measured and an external force may be applied to the part of the robot that affects the object to be manipulated. The location should be specified.

本実施形態では、アーム11の先端11aに柔軟部13を介してグリッパ12が設けられた構成であるため、グリッパ12に外力が加えられたときに物理的に柔軟に変位できるか、または外力に応じて制御により変位できる構成が好ましい。なお、柔軟性を有しない硬いロボットに手で外力を加えることによっても開示の技術は適用可能である。 In this embodiment, the gripper 12 is provided at the tip 11a of the arm 11 via the flexible portion 13. Therefore, when an external force is applied to the gripper 12, the gripper 12 can be physically flexibly displaced. A configuration that can be displaced by control in response is preferred. The technology disclosed herein can also be applied by manually applying an external force to a rigid robot that does not have flexibility.

ロボット10の位置姿勢は、本実施形態では位置3自由度、姿勢3自由度の最大計6自由度の値で表されるが、ロボット10の可動自由度に応じてより少ない自由度であってもよい。例えばエンドエフェクタの姿勢変化が生じないロボットの場合には、「位置姿勢」は位置3自由度のみでよい。 In the present embodiment, the position and orientation of the robot 10 are represented by values of a maximum of six degrees of freedom, ie, three degrees of freedom of position and three degrees of freedom of orientation. good too. For example, in the case of a robot in which the posture of the end effector does not change, the "position and posture" may be only three degrees of freedom.

モデル実行部42は、ロボットモデルLMを実行する。 The model execution unit 42 executes the robot model LM.

ロボットモデルLMは、図5に示すように、ある時間における位置姿勢の実績値(計測値)及びロボット10に与えることができる行動指令(候補値又は決定値)に基づき、その次の時間におけるロボット10の位置姿勢の予測値を算出する状態遷移モデルDM及びロボット10に加えられる外力の予測値を算出する外力モデルEMを含む。 As shown in FIG. 5, the robot model LM is based on actual values (measured values) of the position and orientation at a certain time and action commands (candidate values or determined values) that can be given to the robot 10, and the robot model at the next time. A state transition model DM for calculating predicted values of the position and orientation of robot 10 and an external force model EM for calculating predicted values of external force applied to robot 10 are included.

なお、ロボットモデルLMが「に基づき」(=入力する)、「算出する」(=出力する)というのは、モデル実行部42がモデルを実行する際に、入力データを用いてモデルを実行する、モデルを実行することにより出力データを算出(生成)することをいう。 The robot model LM is “based on” (=input) and “calculated” (=output) when the model execution unit 42 executes the model using input data. , to calculate (generate) output data by executing a model.

外力モデルEMは、修正外力の予測値を出力する修正外力モデルEM1及び敵対外力の予測値を出力する敵対外力モデルEM2を含む。 The external force model EM includes a modified external force model EM1 that outputs predicted values of corrected external forces and a hostile external force model EM2 that outputs predicted values of hostile external forces.

報酬算出部43は、位置姿勢の予測値と到達すべき位置姿勢の目標値との間の誤差及び外力の予測値に基づいて報酬を算出する。到達すべき位置姿勢とは、タスク完了時に到達すべき位置姿勢でもよいし、タスク完了前の中間目標としての位置姿勢でもよい。 The reward calculation unit 43 calculates a reward based on the error between the position/orientation predicted value and the position/orientation target value to be reached and the external force predicted value. The position/orientation to be reached may be the position/orientation to be reached when the task is completed, or may be the position/orientation as an intermediate target before the task is completed.

報酬算出部43は、外力が誤差の拡大を抑制する外力である修正外力である場合において、修正外力の予測値を報酬の減少要因とする計算により報酬を算出する。 When the external force is a corrected external force that suppresses the spread of the error, the remuneration calculation unit 43 calculates the remuneration by calculation using the predicted value of the corrected external force as a reduction factor of the remuneration.

誤差の拡大を抑制する外力である修正外力とは、位置姿勢の誤差が拡大していく場面で拡大の速さを鈍らせるような外力であり、誤差の拡大を縮小に転じさせる外力でなくてもよい。 A corrective external force, which is an external force that suppresses the expansion of an error, is an external force that slows down the speed of expansion when the position and orientation error expands, not an external force that turns the expansion of the error into a contraction. good too.

修正外力の予測値を報酬の減少要因とする計算とは、修正外力の予測値を0にして計算した場合の報酬にくらべて外力モデルが算出した修正外力の予測値を用いて計算した場合の報酬の方が小さいことを意味する。なお、減少は時間的な減少を意味するものではなく、修正外力モデルEM1が算出した修正外力の予測値を計算に用いていても報酬が時間の経過に従い減少するとは限らない。 Calculation using the predicted value of the corrected external force as a factor for decreasing the reward means that the reward calculated using the predicted value of the corrected external force calculated by the external force model is higher than the reward when the calculated value is calculated with the predicted value of the corrected external force set to 0. means less reward. Decrease does not mean temporal decrease, and even if the predicted value of the corrected external force calculated by the corrected external force model EM1 is used for calculation, the reward does not necessarily decrease with the lapse of time.

位置姿勢の誤差が拡大していく場合でも、位置姿勢の誤差が大きいとき(例えば図3においてペグ70が穴74から大きく離間しているとき)に修正外力を加えるのが好ましく、位置姿勢の誤差が小さいとき(ペグ70が穴74付近にあるとき)は修正外力を加えなくてもよい。また、位置姿勢の誤差が大きいときに、位置姿勢の誤差が拡大していく速さが大きいほど大きな修正外力を加えることが好ましい。 Even if the position and orientation error increases, it is preferable to apply the correction external force when the position and orientation error is large (for example, when the peg 70 is far away from the hole 74 in FIG. 3). is small (when the peg 70 is near the hole 74), no correction external force need be applied. Further, when the position/orientation error is large, it is preferable to apply a larger correction external force as the speed at which the position/orientation error increases increases.

また、報酬算出部43は、タスク実行中における修正外力の予測値に基づく報酬の減少量の変化の幅が誤差に基づく報酬の変化の幅よりも小さくなる計算により報酬を算出する。 In addition, the reward calculation unit 43 calculates the reward by performing a calculation such that the amount of change in the amount of decrease in the reward based on the predicted value of the corrected external force during task execution is smaller than the width of change in the reward based on the error.

また、報酬算出部43は、外力が誤差の縮小を抑制する外力である敵対外力である場合において、敵対外力の予測値を報酬の増加要因とする計算により報酬を算出する。 Further, when the external force is a hostile external force that suppresses the reduction of the error, the remuneration calculation unit 43 calculates the remuneration by calculation using the predicted value of the hostile external force as a factor for increasing the remuneration.

誤差の縮小を抑制する外力である敵対外力とは、位置姿勢の誤差が縮小していく場面で縮小の速さを鈍らせるような外力であり、誤差の縮小を拡大に転じさせる外力でなくてもよい。 A hostile external force, which is an external force that suppresses the reduction of the error, is an external force that slows down the speed of reduction when the position and orientation error is reduced, not an external force that turns the reduction of the error into an increase. good too.

敵対外力の予測値を報酬の増加要因とする計算とは、敵対外力の予測値を0にして計算した場合の報酬にくらべて敵対外力モデルが算出した敵対外力の予測値を用いて計算した場合の報酬の方が大きいことを意味する。なお、増加は時間的な増加を意味するものではなく、敵対外力モデルEM2が算出した敵対外力の予測値を計算に用いていても報酬が時間の経過に従い増加するとは限らない。 Calculations that use the predicted value of hostile external force as a factor to increase the reward are those calculated using the predicted value of hostile external force calculated by the hostile external force model compared to the reward when the predicted value of hostile external force is set to 0. This means that the reward for Note that the increase does not mean a temporal increase, and even if the predicted value of the hostile external force calculated by the hostile external force model EM2 is used for calculation, the reward does not necessarily increase over time.

位置姿勢の誤差が縮小していく場合でも、位置姿勢の誤差が小さいとき(例えば図3においてペグ70が穴74付近にあるとき)に敵対外力を加えるのが好ましく、位置姿勢の誤差が大きいときは敵対外力を加えなくてもよい。また、位置姿勢の誤差が小さいときに、位置姿勢の誤差が縮小していく速さが大きいほど大きな敵対外力を加えることが好ましい。 Even if the position and orientation error is reduced, it is preferable to apply the hostile external force when the position and orientation error is small (for example, when the peg 70 is near the hole 74 in FIG. 3), and when the position and orientation error is large. does not have to apply a hostile external force. Further, when the position and orientation error is small, it is preferable to apply a larger hostile external force as the speed of reduction of the position and orientation error increases.

また、報酬算出部43は、タスク実行中における敵対外力の予測値に基づく報酬の増加量の変化の幅が誤差に基づく報酬の変化の幅よりも小さくなる計算により報酬を算出する。 Further, the reward calculation unit 43 calculates the reward by performing a calculation such that the amount of change in the amount of increase in the reward based on the predicted value of the hostile external force during execution of the task is smaller than the width of change in the reward based on the error.

行動決定部44は、制御周期毎に、行動指令の複数の候補を生成してロボットモデルLMに与え、行動指令の複数の候補のそれぞれに対応して報酬算出部43が算出する報酬に基づいて報酬を最大化する行動指令を決定する。 The action determining unit 44 generates a plurality of action command candidates for each control cycle and gives them to the robot model LM. Determine the behavioral directive that maximizes reward.

行動指令とは、本実施形態では速度指令であるが、位置指令、トルク指令、速度、位置、トルクの組み合わせ指令等でもよい。また、行動指令は、複数の時間にわたる行動指令の系列であってもよい。また、行動指令の複数の候補は、行動指令の複数の系列の候補であってもよい。 The action command is a speed command in this embodiment, but may be a position command, a torque command, a combination command of speed, position, torque, or the like. Also, the action command may be a sequence of action commands over multiple times. Also, the plurality of candidates for action commands may be candidates for a plurality of series of action commands.

報酬を最大化するとは、限られた時間内で探索した結果として最大化されていればよく、報酬がその状況における真の最大値になっている必要はない。 Maximizing the reward only needs to be maximized as a result of searching within a limited time, and the reward does not have to be the true maximum value in the situation.

外力モデル更新部45は、決定された行動指令に基づいて外力モデルが算出した外力の予測値と、当該外力の予測値に対応する外力の実績値との間の差異が小さくなるように外力モデルを更新する。 The external force model updating unit 45 updates the external force model so that the difference between the predicted value of the external force calculated by the external force model based on the determined action command and the actual value of the external force corresponding to the predicted value of the external force becomes small. to update.

外力モデル更新部45は、修正外力モデル更新部45A及び敵対外力モデル更新部45Bを含む。 The external force model updater 45 includes a corrected external force model updater 45A and a hostile external force model updater 45B.

修正外力モデル更新部45Aは、行動決定部44で決定された行動指令に基づいて修正外力モデルEM1が算出した修正外力の予測値と修正外力の実績値との間の差異が小さくなるように修正外力モデルEM1を更新する。 The corrected external force model updating unit 45A corrects so that the difference between the predicted value of the corrected external force calculated by the corrected external force model EM1 based on the action command determined by the action determination unit 44 and the actual value of the corrected external force becomes smaller. Update the external force model EM1.

敵対外力モデル更新部45Bは、行動決定部44で決定された行動指令に基づいて敵対外力モデルEM2が算出した敵対外力の予測値と敵対外力の実績値との間の差異が小さくなるように敵対外力モデルEM2を更新する。 The hostile external force model updating unit 45B adjusts the hostile force so that the difference between the predicted value of the hostile external force calculated by the hostile external force model EM2 based on the action command determined by the action determining unit 44 and the actual value of the hostile external force becomes small. Update the external force model EM2.

学習制御部46は、位置姿勢の実績値及び外力の実績値に基づき外力が修正外力であるか敵対外力であるかを判別し、判別の結果が修正外力である場合は修正外力モデル更新部の動作を有効化し、判別の結果が敵対外力である場合は敵対外力モデル更新部45Bの動作を有効化する。さらに、判別の結果が修正外力でない場合は修正外力モデル更新部45Aの動作を無効化し、判別の結果が敵対外力でない場合は敵対外力モデル更新部45Bの動作を無効化する。 The learning control unit 46 determines whether the external force is the corrected external force or the hostile external force based on the actual values of the position and orientation and the actual values of the external force. The operation is validated, and if the determination result is hostile external force, the operation of the hostile external force model updating unit 45B is validated. Furthermore, if the determination result is not the corrected external force, the operation of the corrected external force model updating unit 45A is invalidated, and if the determination result is not the hostile external force, the operation of the hostile external force model updating unit 45B is invalidated.

なお、本実施形態では、学習制御部46が、位置姿勢の実績値及び外力の実績値に基づき外力が修正外力であるか敵対外力であるかを自動で判別する場合について説明するが、学習制御部46が、外力が修正外力であるか敵対外力であるかの指定を受け付ける受け付け部をさらに備えた構成としてもよい。 In this embodiment, the learning control unit 46 automatically determines whether the external force is a corrected external force or a hostile external force based on the actual values of the position and orientation and the actual values of the external force. The unit 46 may further include a receiving unit that receives designation as to whether the external force is the corrected external force or the hostile external force.

この場合、ユーザーは、入力装置60を操作して、グリッパ12に加える外力が修正外力であるか敵対外力であるかを指定してグリッパ12に外力を加える。 In this case, the user operates the input device 60 to specify whether the external force applied to the gripper 12 is a corrected external force or a hostile external force, and applies the external force to the gripper 12 .

そして、学習制御部46は、指定が修正外力である場合は修正外力モデル更新部45Aの動作を有効化し、指定が敵対外力である場合は敵対外力モデル更新部45Bの動作を有効化する。さらに、指定が修正外力でない場合は修正外力モデル更新部45Aの動作を無効化し、指定が敵対外力でない場合は敵対外力モデル更新部45Bの動作を無効化する。 Then, the learning control unit 46 validates the operation of the corrected external force model updating unit 45A when the designation is the corrected external force, and validates the operation of the hostile external force model updating unit 45B when the designation is the hostile external force. Furthermore, if the specified external force is not corrected, the operation of the corrected external force model updating unit 45A is invalidated, and if the specified external force is not the hostile external force, the operation of the hostile external force model updating unit 45B is invalidated.

なお、図5の例では、状態遷移モデルDM、修正外力モデルEM1、及び敵対外力モデルEM2がそれぞれ独立したモデルであるが、ロボットモデルLMの構成はこれに限られない。例えば図6に示すロボットモデルLM1のように、共用部CM、状態遷移モデル固有部DMa、修正外力モデル固有部EM1a、及び敵対外力モデル固有部EM2aで構成されてもよい。この場合、共用部CMは、状態遷移モデルDM、修正外力モデルEM1、及び敵対外力モデルEM2に共通の処理を行う。修正外力モデル固有部EM1aは、修正外力モデルEM1に固有の処理を行う。敵対外力モデル固有部EM2aは、敵対外力モデルEM2に固有の処理を行う。 In the example of FIG. 5, the state transition model DM, the corrected external force model EM1, and the hostile external force model EM2 are independent models, but the configuration of the robot model LM is not limited to this. For example, like the robot model LM1 shown in FIG. 6, it may be composed of a common part CM, a state transition model specific part DMa, a corrected external force model specific part EM1a, and an enemy external force model specific part EM2a. In this case, the common part CM performs common processing for the state transition model DM, the corrected external force model EM1, and the hostile external force model EM2. The corrected external force model specific part EM1a performs processing specific to the corrected external force model EM1. The hostile external force model specific part EM2a performs processing specific to the hostile external force model EM2.

また、図7に示すロボットモデルLM2のように、図5の修正外力モデルEM1及び敵対外力モデルEM2を備えた統合外力モデルIMを含む構成としてもよい。この場合、統合外力モデルIMは、外力の予測値を出力すると共に、外力が修正外力であるか敵対外力であるかを識別するための識別情報を出力する。 Also, like the robot model LM2 shown in FIG. 7, the configuration may include an integrated external force model IM including the corrected external force model EM1 and the hostile external force model EM2 shown in FIG. In this case, the integrated external force model IM outputs a predicted value of the external force and also outputs identification information for identifying whether the external force is a corrected external force or a hostile external force.

統合外力モデルIMは、プログレッシブニューラルネットワークの手法により修正外力モデルEM1及び敵対外力モデルEM2を統合したものであってもよい。この場合、修正外力モデルEM1及び敵対外力モデルはニューラルネットワークで構成する。そして、敵対外力モデルEM2の1又は複数の中間層及び出力層のうちの少なくとも1つの層は、修正外力モデルEM1の対応する層の前段の層の出力をプログレッシブニューラルネットワーク(PNN:Progressive Neural Network)の手法により統合する。 The integrated external force model IM may be obtained by integrating the corrected external force model EM1 and the hostile external force model EM2 by a progressive neural network technique. In this case, the modified external force model EM1 and the hostile external force model are configured by neural networks. Then, at least one of the one or more intermediate layers and the output layer of the hostile external force model EM2 converts the output of the layer preceding the corresponding layer of the modified external force model EM1 into a progressive neural network (PNN). integrated by the method of

図8の例では、敵対外力モデルEM2の出力層OUT2には、修正外力モデルEM1の対応する出力層OUT1の前段の層である中間層MID2Aの出力が入力されている。また、敵対外力モデルEM2の中間層MID2Bには、修正外力モデルEM1の対応する中間層MID2Aの前段の層である中間層MID1Aの出力が入力されている。 In the example of FIG. 8, the output layer OUT2 of the hostile external force model EM2 is supplied with the output of the intermediate layer MID2A, which is the preceding layer of the corresponding output layer OUT1 of the corrected external force model EM1. Also, the intermediate layer MID2B of the hostile external force model EM2 receives the output of the intermediate layer MID1A, which is the layer preceding the corresponding intermediate layer MID2A of the modified external force model EM1.

このような統合外力モデルIMに対して、まず、修正外力モデルEM1の機械学習を行い、次に、敵対外力モデルEM2の機械学習を行う。修正外力を加えて修正外力モデルEM1の学習を行っている間は、修正外力の実績値に対する修正外力の予測値の誤差が小さくなるように修正外力モデルEM1の各層間の重みパラメータを更新し、敵対外力モデルEM2は更新しない。修正外力モデルEM1の1つの層(例えばMID1A)から次の層(MID2A)に至る経路の重みパラメータと同じ層(MID1A)から敵対外力モデルの層(MID2B)に至る経路の重みパラメータとは常に同じ値にする。敵対外力モデルEM2の1つの層(例えばMID2B)は、その層への修正外力モデルの層(例えばMID1A)からの重み付けられた入力と敵対外力モデルEM2の前段の層(MID1B)からの重み付けられた入力との和を敵対外力モデルEM2の後段の層(OUT2)への出力とする。修正外力モデルEM1の学習が終了した後、敵対外力を加えて敵対外力モデルEM2の学習を行っている間は、敵対外力の実績値に対する敵対外力の予測値の誤差が小さくなるように敵対外力モデルEM2の各層間の重みパラメータを更新し、修正外力モデルEM1は更新しない。敵対外力モデルEM2の学習が終了した後の運用フェーズにおいては、敵対外力モデルEM2の出力を外力の予測値として使用し、修正外力モデルEM1の出力は使用しない。このようにして外力の機械学習をすることにより、修正外力モデルEM1と敵対外力モデルEM2とを統合したモデルでありながら、先に行う修正外力についての学習結果を壊すことなく敵対外力についての学習を行うことができる。 Machine learning of the modified external force model EM1 is first performed on such integrated external force model IM, and then machine learning of the hostile external force model EM2 is performed. While learning the modified external force model EM1 by applying the modified external force, update the weight parameter between each layer of the modified external force model EM1 so that the error of the predicted value of the modified external force with respect to the actual value of the modified external force becomes small, The hostile external force model EM2 is not updated. Same as the weight parameter of the path from one layer (for example, MID1A) of the modified external force model EM1 to the next layer (MID2A) The weight parameter of the path from the layer (MID1A) to the layer (MID2B) of the hostile external force model is always the same value. One layer of the hostile external force model EM2 (e.g., MID2B) is composed of the weighted inputs from the modified external force model layer (e.g., MID1A) to that layer and the weighted inputs from the preceding layer (MID1B) of the hostile external force model EM2. The sum with the input is taken as the output to the subsequent layer (OUT2) of the hostile external force model EM2. After the learning of the modified external force model EM1 is completed, while the hostile external force is added and the hostile external force model EM2 is being learned, the hostile external force model is modified so that the error in the predicted value of the hostile external force with respect to the actual value of the hostile external force is reduced. The weight parameter between each layer of EM2 is updated, but the modified external force model EM1 is not updated. In the operation phase after the end of the learning of the hostile external force model EM2, the output of the hostile external force model EM2 is used as the external force prediction value, and the output of the corrected external force model EM1 is not used. By machine-learning the external force in this way, the model that integrates the corrected external force model EM1 and the hostile external force model EM2 can learn the hostile external force without destroying the learning result of the corrected external force performed previously. It can be carried out.

統合外力モデルIMは、図示しない識別部により外力の予測値が修正外力の予測値であるか敵対外力の予測値であるかを識別し、識別結果を識別情報として出力する。この場合、報酬算出部43は、識別情報が、修正外力の予測値であることを示す場合には外力の予測値を報酬の減少要因とする計算により報酬を算出し、識別情報が、敵対外力の予測値であることを示す場合には外力の予測値を報酬の増加要因とする計算により報酬を算出する。 The integrated external force model IM identifies whether the predicted value of the external force is the predicted value of the corrected external force or the predicted value of the hostile external force by an identification unit (not shown), and outputs the identification result as identification information. In this case, if the identification information indicates that the predicted value of the modified external force , the reward is calculated using the predicted value of the external force as a factor for increasing the reward.

なお、プログレッシブニューラルネットワークの手法とは、例えば下記参考文献に記載された手法をいう。 It should be noted that the progressive neural network technique refers to, for example, the technique described in the following references.

(参考文献)Rusu et al., “Progressive neural networks,” arXiv preprint arXiv:1606.04671, 2016. (Reference) Rusu et al., “Progressive neural networks,” arXiv preprint arXiv:1606.04671, 2016.

また、プログレッシブニューラルネットワークに関しては、下記の参考記事がある。 In addition, there are the following reference articles regarding progressive neural networks.

(参考記事)複数のゲームにおけるcontinual learning
https://wba-initiative.org/wp-content/uploads/2015/05/20161008-hack2-noguchi.pdf
(Reference article) Continuous learning in multiple games
https://wba-initiative.org/wp-content/uploads/2015/05/20161008-hack2-noguchi.pdf

(ロボットモデルの学習処理) (Learning process of robot model)

図9は、機械学習を用いてロボットモデルLMを学習する機械学習処理の流れを示すフローチャートである。図9の機械学習処理は、CPU40AがROM40Bまたはストレージ40Dに記憶された機械学習プログラムを読み出して、RAM40Cに展開して実行される。 FIG. 9 is a flow chart showing the flow of machine learning processing for learning the robot model LM using machine learning. The machine learning process of FIG. 9 is executed by the CPU 40A reading a machine learning program stored in the ROM 40B or the storage 40D, developing it in the RAM 40C.

以下で説明するステップS100~ステップS108の処理は、制御周期に従って一定の時間間隔で実行される。制御周期は、ステップS100~ステップS108の処理を実行可能な時間に設定される。 The processes of steps S100 to S108, which will be described below, are executed at regular time intervals according to the control cycle. The control cycle is set to a time during which the processes of steps S100 to S108 can be executed.

ステップS100では、CPU40Aが、前回の制御周期を開始してから制御周期の長さに相当する所定時間が経過するまで待機する処理を行う。なお、ステップS100の処理を省略し、前の制御周期の処理が完了したら直ぐに次の制御周期の処理が開始されるようにしてもよい。 In step S100, the CPU 40A waits until a predetermined time corresponding to the length of the control cycle has elapsed since the previous control cycle was started. It should be noted that the process of step S100 may be omitted, and the process of the next control period may be started immediately after the process of the previous control period is completed.

ステップS101では、CPU40Aが、状態観測センサ20からロボット10の位置姿勢の実績値(計測値)を取得すると共に、触覚センサ30A、30Bから外力の実績値(計測値)を取得する。 In step S101, the CPU 40A acquires actual values (measured values) of the position and orientation of the robot 10 from the state observation sensor 20, and acquires actual values (measured values) of the external force from the tactile sensors 30A and 30B.

ステップS102では、CPU40Aが、取得部41として、ステップS101で取得した位置姿勢の実績値が予め定めた終了条件を充足するか否かを判定する。ここで、終了条件を充足する場合とは、例えば位置姿勢の実績値と到達すべき位置姿勢の目標値との誤差が規定値以内の場合である。到達すべき位置姿勢とは、本実施形態の場合はロボット10がペグ70を穴74に挿入できたときのロボット10の位置姿勢である。 In step S102, the CPU 40A, as the acquiring unit 41, determines whether or not the actual values of the position and orientation acquired in step S101 satisfy a predetermined end condition. Here, the case where the end condition is satisfied is, for example, the case where the error between the actual value of the position and orientation and the target value of the position and orientation to be reached is within a specified value. The position and orientation to be reached is the position and orientation of the robot 10 when the robot 10 can insert the peg 70 into the hole 74 in this embodiment.

ステップS102の判定が肯定判定の場合は、本ルーチンを終了する。一方、ステップS102の判定が否定判定の場合は、ステップS103へ移行する。 If the determination in step S102 is affirmative, the routine ends. On the other hand, if the determination in step S102 is negative, the process proceeds to step S103.

ステップS103では、CPU40Aが、外力モデル更新部45として、外力モデルEMを更新する。具体的には、まずステップS101で取得した位置姿勢の実績値及び外力の実績値に基づき外力が修正外力であるか敵対外力であるかを判別する。例えば、位置姿勢の実績値と到達すべき位置姿勢の目標値との誤差が拡大しているときに誤差の拡大を抑制するような方向の力として検出された外力は修正外力と判別し、誤差が縮小しているときに誤差の縮小を抑制するような方向の力として検出された外力は敵対外力と判別することができるが、判別方法はこれに限られるものではない。 In step S103, the CPU 40A, as the external force model updating unit 45, updates the external force model EM. Specifically, first, it is determined whether the external force is a corrected external force or a hostile external force based on the actual values of the position and orientation and the actual values of the external force acquired in step S101. For example, when the error between the position/orientation actual value and the position/orientation target value to be reached is increasing, an external force detected as a force in a direction that suppresses the increase of the error is determined as a corrected external force, and the error An external force detected as a force in a direction that suppresses the reduction of the error when is shrinking can be discriminated as a hostile external force, but the discriminating method is not limited to this.

そして、判別された外力が修正外力である場合は、決定された行動指令に基づいて修正外力モデルEM1が算出した修正外力の予測値と修正外力の実績値との間の差異が小さくなるように修正外力モデルEM1の修正外力モデルパラメータを更新する。 When the determined external force is the corrected external force, the difference between the predicted value of the corrected external force calculated by the corrected external force model EM1 based on the determined action command and the actual value of the corrected external force is reduced. The corrected external force model parameters of the corrected external force model EM1 are updated.

一方、判別された外力が敵対外力である場合は、決定された行動指令に基づいて敵対外力モデルEM2が算出した敵対外力の予測値と敵対外力の実績値との間の差異が小さくなるように敵対外力モデルEM2の敵対外力モデルパラメータを更新する。 On the other hand, when the determined external force is a hostile external force, the difference between the predicted value of the hostile external force calculated by the hostile external force model EM2 based on the determined action command and the actual value of the hostile external force is reduced. Update the hostile external force model parameters of the hostile external force model EM2.

ステップS104では、CPU40Aが、行動決定部44として、ロボット10に対する行動指令(又は行動指令系列)の複数の候補を生成する。本実施形態では、例えばn個(例えば300個)の速度指令値候補をランダムに生成し、行動指令の候補値としてモデル実行部42に出力する。 In step S<b>104 , the CPU 40</b>A, as the action determination unit 44 , generates a plurality of candidates for the action command (or action command series) for the robot 10 . In this embodiment, for example, n (eg, 300) speed command value candidates are randomly generated and output to the model execution unit 42 as action command candidate values.

ステップS105では、CPU40Aが、モデル実行部42として、ステップS104で生成した行動指令の複数の候補のそれぞれについて位置姿勢の予測値及び外力の予測値を算出する。具体的には、位置姿勢の実績値及びn個の行動指令の候補値をロボットモデルLMに入力し、それぞれ行動指令の候補値に対応する位置姿勢の予測値、及び修正外力の予測値又は敵対外力の予測値を算出する。 In step S105, the CPU 40A, as the model execution unit 42, calculates predicted values of the position and orientation and predicted values of the external force for each of the plurality of action command candidates generated in step S104. Specifically, actual position and orientation values and n candidate values for action commands are input to the robot model LM. Calculate the predicted value of the external force.

ステップS106では、CPU40Aが、報酬算出部43として、n個の行動指令の候補値に対応する位置姿勢の予測値及び修正外力の組毎に、報酬を算出する。すなわち、n個の報酬を算出する。 In step S106, the CPU 40A, as the reward calculation unit 43, calculates a reward for each set of the position/orientation predicted value and the corrected external force corresponding to the n candidate values of the action command. That is, n rewards are calculated.

外力が修正外力の場合の報酬r1は、下記(1)式を用いて算出することができる。 The reward r1 when the external force is the corrected external force can be calculated using the following formula (1).

Figure 2022122670000002
・・・(1)
Figure 2022122670000002
... (1)

ここで、rは、位置姿勢の予測値と到達すべき位置姿勢の目標値との誤差である。s1は修正外力である。α1は重みであり、予め設定される。α1は、タスク実行中における修正外力の予測値に基づく報酬r1の減少量の変化の幅が、位置姿勢の予測値と到達すべき位置姿勢の目標値との誤差に基づく報酬r1の変化の幅よりも小さくなるように設定される。 Here, r R is the error between the position/orientation predicted value and the position/orientation target value to be reached. s1 H is the corrected external force. α1 is a weight and is set in advance. α1 is the width of change in the amount of decrease in reward r1 based on the predicted value of the corrected external force during task execution, and the width of change in reward r1 based on the error between the predicted value of the position and orientation and the target value of the position and orientation to be reached. is set to be less than

一方、外力が敵対外力の場合の報酬r2は、下記(2)式を用いて算出することができる。 On the other hand, the reward r2 when the external force is a hostile external force can be calculated using the following equation (2).

Figure 2022122670000003
・・・(2)
Figure 2022122670000003
... (2)

ここで、s2は敵対外力である。α2は重みであり、予め設定される。α2は、タスク実行中における敵対外力の予測値に基づく報酬r2の増加量の変化の幅が、位置姿勢の予測値と到達すべき位置姿勢の目標値との誤差に基づく報酬r2の変化の幅よりも小さくなるように設定される。 where s2 H is the hostile external force. α2 is a weight and is set in advance. α2 is the width of change in the amount of increase in reward r2 based on the predicted value of hostile external force during task execution, and the width of change in reward r2 based on the error between the predicted value of position and orientation and the target value of position and orientation to be reached. is set to be less than

上記(1)、(2)式に示すように、外力が同じ場合において、位置姿勢の予測値と到達すべき位置姿勢の目標値との誤差が大きいほど報酬は小さくなる。また、上記(1)式に示すように、誤差が同じ場合において、修正外力が大きいほど報酬は小さくなる。また、上記(2)式に示すように、誤差が同じ場合において、敵対外力が大きいほど報酬は大きくなる。 As shown in the above formulas (1) and (2), when the external force is the same, the larger the error between the position/orientation predicted value and the target position/orientation value to be reached, the smaller the reward. Also, as shown in the above formula (1), when the error is the same, the larger the corrected external force, the smaller the reward. Also, as shown in the above formula (2), when the error is the same, the greater the hostile external force, the greater the reward.

ステップS107では、CPU40Aが、行動決定部44として、報酬を最大化する行動指令を決定し、ロボット10に出力する。例えば、n個の行動指令の候補値と報酬との対応関係を表す関係式を算出し、算出した関係式によって表される曲線上における最大の報酬に対応する行動指令の候補値を決定値とする。また、所謂クロスエントロピー法(cross-entropy method:CEM)を用いて報酬を最大化できる行動指令を特定してもよい。これにより、報酬を最大化した行動指令が得られる。 In step S<b>107 , the CPU 40</b>A, acting as the action determination unit 44 , determines an action command for maximizing the reward and outputs it to the robot 10 . For example, a relational expression representing the correspondence between n candidate values of action commands and rewards is calculated, and the candidate value of the action command corresponding to the maximum reward on the curve represented by the calculated relational expression is taken as the determined value. do. A so-called cross-entropy method (CEM) may also be used to identify behavioral commands that can maximize the reward. This provides a behavioral command that maximizes the reward.

ステップS104からステップS106までは、所定回数繰り返して実行するようにしてもよい。その場合、CPU40Aは、行動決定部44として、1回目のステップS106を実行した後、n個の行動指令の候補値と報酬との組から報酬が上位である行動指令の候補値m個を抽出し、行動指令の候補値m個の平均及び分散を求め、それに従う正規分布を生成する。2回目のステップS104では、CPU40Aは、行動決定部44として、ランダムにではなく、確率密度が求めた正規分布と一致するように新しいn個の速度指令の候補値を生成する。以下同様にして、ステップS104からステップS106までを所定回数実行する。このようにすると、報酬を最大化する精度を高めることができる。 Steps S104 to S106 may be repeated a predetermined number of times. In this case, the CPU 40A, as the action determination unit 44, after executing step S106 for the first time, extracts m candidate values of the action command with the highest reward from n pairs of the candidate values of the action command and the reward. Then, the average and variance of m candidate values for the action command are obtained, and a normal distribution is generated according to them. In the second step S104, the CPU 40A, as the action determining unit 44, generates n new speed command candidate values not randomly but so that the probability density matches the obtained normal distribution. Similarly, steps S104 to S106 are executed a predetermined number of times. In this way, it is possible to increase the accuracy of maximizing the reward.

ロボット10は、行動指令の決定値に従って動作する。ユーザーは、ロボット10の動作に応じて外力をロボット10に加える。具体的には、外力をグリッパ12に加える。ユーザーは、位置姿勢の予測値と到達すべき位置姿勢の目標値との誤差が拡大しつつある場合に、ロボット10に対して修正外力を加え、誤差が縮小しつつある場合に、ロボット10に対して敵対外力を加えることが好ましい。すなわち、ユーザーは、例えばロボット10の動作によりペグ70が穴74から離れる方向に移動しつつある場合には、ペグ70が穴74に近づく方向にグリッパ12に修正外力を加える。また、例えばロボット10の動作によりペグ70が穴74から近づく方向に移動しつつある場合には、ペグ70が穴74から離れる方向にグリッパ12に敵対外力を加える。 The robot 10 operates according to the determined value of the action command. A user applies an external force to the robot 10 according to the motion of the robot 10 . Specifically, an external force is applied to the gripper 12 . The user applies a correction external force to the robot 10 when the error between the predicted values of the position and orientation and the target values of the position and orientation to be reached is increasing, and when the error is decreasing, the robot 10 It is preferable to apply a hostile external force against it. That is, for example, when the peg 70 is moving away from the hole 74 due to the operation of the robot 10 , the user applies a correcting external force to the gripper 12 in the direction in which the peg 70 approaches the hole 74 . Also, for example, when the peg 70 is moving toward the hole 74 due to the motion of the robot 10 , the peg 70 applies a hostile external force to the gripper 12 in the direction away from the hole 74 .

なお、外力モデルを機械学習する過程において、最初に修正外力を加えることが好ましい。最初に敵対外力を加えると学習が遅くなる可能性があるためである。また、修正外力及び敵対外力を加える比率としては、1対1でもよいし、修正外力の比率を高くしてもよい。また、修正外力及び敵対外力を加える順序としては、修正外力を複数回加えてから敵対外力を複数回加えてもよいし、修正外力及び敵対外力を交互に加えてもよい。 In addition, in the process of machine-learning the external force model, it is preferable to apply the corrected external force first. This is because applying the hostile external force first may slow down learning. Also, the ratio of adding the corrected external force and the hostile external force may be 1:1, or the ratio of the corrected external force may be increased. As for the order in which the corrected external force and the hostile external force are applied, the corrected external force may be applied a plurality of times and then the hostile external force may be applied a plurality of times, or the corrected external force and the hostile external force may be applied alternately.

また、人間が修正外力又は敵対外力を加えるのではなく、外力を付与するロボット等によって自動で修正外力又は敵対外力を加えても良い。 Further, the corrected external force or the hostile external force may be automatically applied by a robot or the like that applies the external force instead of being applied by a human being.

ステップS108では、CPU40Aが、モデル実行部42として、ステップS107で決定した行動指令の決定値について外力の予測値を算出し、ステップS100へ戻る。 In step S108, the CPU 40A, as the model execution unit 42, calculates the predicted value of the external force for the determined value of the action command determined in step S107, and returns to step S100.

このように、位置姿勢の実績値が終了条件を充足するまで、制御周期毎にステップS100~S108の処理を繰り返す。 In this manner, the processing of steps S100 to S108 is repeated in each control cycle until the actual values of the position and orientation satisfy the termination condition.

これにより、ロボットモデルLMが学習される。このように、ロボットモデルLMは、修正外力モデルEM1及び敵対外力モデルEM2を含み、ユーザーが修正外力又は敵対外力をロボット10に加えながらロボットモデルLMを学習するため、効率良く学習することができると共に、ロボット10の操作対象である部品の形状及び材質が変化したり、ロボット10の物理特性が経年変化したりする等の環境変化に対するロバスト性に優れたロボットモデルLMを得ることができる。 Thereby, the robot model LM is learned. In this way, the robot model LM includes the corrected external force model EM1 and the hostile external force model EM2, and the user learns the robot model LM while applying the corrected external force or the hostile external force to the robot 10. Therefore, the robot model LM can be learned efficiently. It is possible to obtain a robot model LM excellent in robustness against environmental changes such as changes in the shape and material of parts to be operated by the robot 10 and changes in the physical characteristics of the robot 10 over time.

なお、運用フェーズにおいては、モデル実行部42は、図9の学習処理により学習済みのロボットモデルLMを実行する。運用フェーズにおけるロボット制御装置40の機能構成は、図1の機能構成から外力モデル更新部45及び学習制御部46を省いた構成である。運用フェーズにおけるロボット制御処理は、図9の学習処理から、ステップS101の中の「外力の実績値を取得」の処理、及びステップS103の外力モデル更新の更新処理を除いた処理であり、この処理を実行するプログラムがロボット制御処理プログラムとなる。 Note that in the operation phase, the model execution unit 42 executes the robot model LM that has been learned through the learning process of FIG. The functional configuration of the robot control device 40 in the operation phase is a configuration in which the external force model updating unit 45 and the learning control unit 46 are omitted from the functional configuration of FIG. The robot control processing in the operation phase is the learning processing of FIG. is the robot control processing program.

なお、学習フェーズにおけるロボットモデルの学習処理を実行する装置と運用フェーズにおけるロボット制御処理を実行する装置とは、別々の装置でもよいし、同じでもよい。例えば、学習に用いた学習装置をそのままロボット制御装置40として使用し、学習済みのロボットモデルLMを用いた制御を行ってもよい。また、ロボット制御装置40は、学習を継続しながら制御を行ってもよい。 The device that executes the robot model learning process in the learning phase and the device that executes the robot control process in the operation phase may be separate devices or may be the same device. For example, the learning device used for learning may be used as it is as the robot control device 40 to perform control using the learned robot model LM. Further, the robot control device 40 may perform control while continuing learning.

<第1実施形態の変形例>
第1実施形態では、状態遷移モデルDMは、位置姿勢の実績値及び行動指令を入力するが、外力の実績値は入力しない構成であった。これに代えて、状態遷移モデルDMは、外力の実績値も入力する構成にしてもよい。その場合、状態遷移モデルDMは、位置姿勢の実績値、行動指令、及び外力の実績値に基づいて、位置姿勢の予測値を算出する。もっとも、触覚センサ30A、30Bに修正外力又は敵対外力が加えられるのは外力モデルEM1、EM2、EM1a、EM2a、IMの機械学習をしている期間に限られる。運用フェーズにおいては、状態遷移モデルDMは、外力の実績値の入力が実質的にゼロである状態が継続したままで位置姿勢の予測値を算出する。一方、外力モデルが外力の実績値の入力なしに位置姿勢の実績値及び行動指令から外力の予測値を算出することは、この変形例においても同様である。外力の予測値は、報酬計算に使われることを通して行動決定に影響を与える。この変形例と同様の変形は、以降の実施形態においても行うことができる。
<Modified Example of First Embodiment>
In the first embodiment, the state transition model DM is configured such that the actual values of the position and orientation and the action command are input, but the actual values of the external force are not input. Instead of this, the state transition model DM may be configured to input the actual value of the external force. In this case, the state transition model DM calculates predicted values of the position and orientation based on the actual values of the position and orientation, the action command, and the actual values of the external force. However, the correction external force or the hostile external force is applied to the tactile sensors 30A and 30B only during the machine learning of the external force models EM1, EM2, EM1a, EM2a and IM. In the operation phase, the state transition model DM calculates the predicted values of the position and orientation while the state in which the input actual value of the external force is substantially zero continues. On the other hand, the fact that the external force model calculates the predicted value of the external force from the actual value of the position and orientation and the action command without inputting the actual value of the external force is the same in this modified example. Predicted values of external forces influence behavioral decisions through being used in reward calculations. Modifications similar to this modification can also be made in subsequent embodiments.

<第2実施形態> <Second embodiment>

次に、開示の技術の第2実施形態について説明する。なお、第1実施形態と同一部分には同一符号を付し、詳細な説明は省略する。 Next, a second embodiment of the disclosed technology will be described. In addition, the same code|symbol is attached|subjected to the same part as 1st Embodiment, and detailed description is abbreviate|omitted.

第2実施形態にかかるロボットシステム1は第1実施形態と同一であるので説明は省略する。 Since the robot system 1 according to the second embodiment is the same as that of the first embodiment, description thereof is omitted.

(ロボットモデルの学習処理) (Learning process of robot model)

図10は、第2実施形態に係る機械学習処理の流れを示すフローチャートである。図10の機械学習処理は、CPU40AがROM40Bまたはストレージ40Dに記憶された機械学習プログラムを読み出して、RAM40Cに展開して実行される。 FIG. 10 is a flowchart showing the flow of machine learning processing according to the second embodiment. The machine learning process of FIG. 10 is executed by the CPU 40A reading a machine learning program stored in the ROM 40B or the storage 40D, developing it in the RAM 40C.

ステップS100~S103、S108の処理は、図9の処理と同一であるため説明は省略する。 Since the processing of steps S100 to S103 and S108 is the same as the processing of FIG. 9, the description thereof is omitted.

ステップS104Aでは、CPU40Aが、行動決定部44として、ロボット10に対する行動指令(又は行動指令系列)の一の候補を生成する。 In step S<b>104</b>A, the CPU 40</b>A, as the action determination unit 44 , generates one candidate for the action command (or action command series) for the robot 10 .

ステップS106Aでは、CPU40Aが、モデル実行部42として、ステップS104Aで生成した行動指令の一の候補について位置姿勢の予測値及び外力の予測値を算出する。具体的には、位置姿勢の実績値及び行動指令の候補値をロボットモデルLMに入力し、行動指令の候補値に対応する位置姿勢の予測値、及び修正外力の予測値又は敵対外力の予測値を算出する。 In step S106A, the CPU 40A, as the model execution unit 42, calculates the predicted value of the position and orientation and the predicted value of the external force for one candidate of the action command generated in step S104A. Specifically, the actual values of the position and orientation and the candidate values of the action command are input to the robot model LM, and the predicted values of the position and orientation corresponding to the candidate values of the action command and the predicted values of the modified external force or the predicted values of the hostile external force are input. Calculate

ステップS106Aでは、CPU40Aが、報酬算出部43として、行動指令の候補値に対応する位置姿勢の予測値及び外力の予測値の組に基づいて報酬を算出する。すなわち、外力が修正外力の場合は上記(1)式により報酬r1を算出し、外力が敵対外力の場合は上記(2)式により報酬r2を算出する。 In step S106A, the CPU 40A, as the reward calculation unit 43, calculates a reward based on the set of the position/orientation predicted value and the external force predicted value corresponding to the candidate value of the action command. That is, when the external force is the corrected external force, the reward r1 is calculated by the above formula (1), and when the external force is the hostile external force, the reward r2 is calculated by the above formula (2).

ステップS106Bでは、CPU40Aが、ステップS106Aで算出した報酬が規定条件を充足するか否かを判定する。ここで、規定条件を充足する場合とは、例えば報酬が規定値を超えた場合、または、ステップS104A~S106Bの処理のループを規定回数実行した場合等である。規定回数は、例えば10回、100回、1000回等に設定される。 In step S106B, CPU 40A determines whether or not the remuneration calculated in step S106A satisfies prescribed conditions. Here, the case where the prescribed condition is satisfied is, for example, the case where the remuneration exceeds the prescribed value, or the case where the processing loop of steps S104A to S106B is executed a prescribed number of times. The specified number of times is set to, for example, 10 times, 100 times, 1000 times, or the like.

ステップS107Aでは、CPU40Aが、行動決定部44として、報酬を最大化する行動指令を決定し、ロボット10に出力する。例えば、報酬が規定条件を充足したときの行動指令そのものでもよいし、行動指令の変化に対応する報酬の変化の履歴から予測される、更に報酬を最大化できる行動指令としてもよい。 In step S<b>107</b>A, the CPU 40</b>A, acting as the action determination unit 44 , determines an action command for maximizing the reward and outputs it to the robot 10 . For example, the action command itself may be used when the reward satisfies a prescribed condition, or it may be an action command predicted from the history of changes in reward corresponding to changes in the action command and capable of maximizing the reward.

<第3実施形態> <Third Embodiment>

次に、開示の技術の第3実施形態について説明する。なお、第1実施形態と同一部分には同一符号を付し、詳細な説明は省略する。 Next, a third embodiment of the disclosed technology will be described. In addition, the same code|symbol is attached|subjected to the same part as 1st Embodiment, and detailed description is abbreviate|omitted.

(ロボット制御装置) (robot controller)

図11は、第3実施形態に係るロボット制御装置40Xの機能構成である。ロボット制御装置40Xが図1に示すロボット制御装置40と異なるのは、記憶部48及び状態遷移モデル更新部49を備えている点である。その他の構成はロボット制御装置40と同一であるので説明は省略する。 FIG. 11 shows the functional configuration of a robot control device 40X according to the third embodiment. The robot controller 40X differs from the robot controller 40 shown in FIG. 1 in that it includes a storage unit 48 and a state transition model update unit 49. Since other configurations are the same as those of the robot control device 40, description thereof will be omitted.

記憶部48は、取得部41が取得したロボット10の位置姿勢の実績値を記憶する。 The storage unit 48 stores the actual values of the position and orientation of the robot 10 acquired by the acquisition unit 41 .

状態遷移モデル更新部49は、行動決定部44で決定された行動指令に基づいて状態遷移モデルDMが算出した位置姿勢の予測値と、当該位置姿勢の予測値に対応する位置姿勢の実績値との間の誤差が小さくなるように状態遷移モデルDMを更新する。 The state transition model update unit 49 updates the predicted values of the position and orientation calculated by the state transition model DM based on the action command determined by the action determination unit 44 and the actual values of the position and orientation corresponding to the predicted values of the position and orientation. The state transition model DM is updated so that the error between is reduced.

(ロボットモデルの学習処理) (Learning process of robot model)

図12は、第3実施形態に係る機械学習処理の流れを示すフローチャートである。図12の機械学習処理は、CPU40AがROM40Bまたはストレージ40Dに記憶された機械学習プログラムを読み出して、RAM40Cに展開して実行される。 FIG. 12 is a flowchart showing the flow of machine learning processing according to the third embodiment. The machine learning process of FIG. 12 is executed by the CPU 40A reading a machine learning program stored in the ROM 40B or the storage 40D, developing it in the RAM 40C.

図12の学習処理が図9の学習装置と異なるのは、ステップS101A、S103Aの処理が追加されている点である。その他のステップは図9の処理と同一であるため説明は省略する。 The learning process of FIG. 12 differs from the learning apparatus of FIG. 9 in that the processes of steps S101A and S103A are added. Since other steps are the same as the processing in FIG. 9, description thereof is omitted.

ステップS101Aでは、CPU40Aが、取得部41として、ステップS101で取得したロボット10の位置姿勢の実績値を記憶部48に記憶させる。 In step S101A, the CPU 40A, as the acquisition unit 41, causes the storage unit 48 to store the actual values of the position and orientation of the robot 10 acquired in step S101.

ステップS103Aでは、CPU40Aが、状態遷移モデル更新部49として、状態遷移モデルDMを更新する。具体的には、まず記憶部48に記憶されている中からランダムに選んだ例えば100個の時刻tについての位置姿勢の実績値x、行動指令としての速度指令値u、時刻t+1についての位置姿勢の実績値xt+1の組を取得する。次に、前回の状態遷移モデルパラメータを修正した新たな状態遷移モデルパラメータを決定する。状態遷移モデルパラメータの修正は、時刻tにおける位置姿勢の実績値から算出した時刻t+1における位置姿勢の予測値と、時刻t+1における位置姿勢の実績値との誤差が最小となることを目標として行う。 At step S103A, the CPU 40A, as the state transition model updating unit 49, updates the state transition model DM. Specifically, first, for example, 100 position and orientation actual values x t at times t randomly selected from among those stored in the storage unit 48, speed command values u t as action commands, and values for time t+1. Obtain a set of position and orientation actual values x t+1 . Next, new state transition model parameters are determined by modifying the previous state transition model parameters. The state transition model parameters are corrected with the goal of minimizing the error between the predicted values of the position and orientation at time t+1 calculated from the actual values of the position and orientation at time t and the actual values of the position and orientation at time t+1.

そして、新たな状態遷移モデルパラメータを状態遷移モデルDMに設定する。新たな状態遷移モデルパラメータは、次の制御周期において「前回のモデルパラメータ」として使用するために状態遷移モデル更新部49内に記憶する。 Then, new state transition model parameters are set in the state transition model DM. The new state transition model parameters are stored in the state transition model updating unit 49 for use as "previous model parameters" in the next control cycle.

このように、本実施形態では、修正外力モデルEM1及び敵対外力モデルEM2と共に、状態遷移モデルDMも学習することができる。 Thus, in this embodiment, the state transition model DM can be learned together with the modified external force model EM1 and the hostile external force model EM2.

<実験例> <Experimental example>

次に、開示の技術の実験例について説明する。 Next, an experimental example of the disclosed technique will be described.

図13は、シミュレーションによりロボットに修正外力及び敵対外力を加えながらペグを穴に挿入するタスクを行ってロボットモデルを学習した結果を示す。このシミュレーションでは、修正外力を7回加えた後、敵対外力を7回加えてロボットモデルを学習した。 FIG. 13 shows the result of learning a robot model by performing a task of inserting a peg into a hole while applying corrective external force and hostile external force to the robot through simulation. In this simulation, the robot model was learned by applying the corrected external force seven times and then applying the hostile external force seven times.

図13(A)、(B)の横軸は外力を加えた回数を表す。図13(A)の縦軸はペグの位置の誤差を表す。図13(B)の縦軸は加えた外力の大きさを表す。 The horizontal axes in FIGS. 13A and 13B represent the number of times the external force is applied. The vertical axis of FIG. 13(A) represents the peg position error. The vertical axis of FIG. 13B represents the magnitude of the applied external force.

図13(A)には、従来手法により外力を加えずに状態遷移モデルのみ学習した結果(Baseline)と、提案手法により被験者1が加えた修正外力及び敵対外力により修正外力モデル及び敵対外力モデルを含むロボットモデルを学習した結果(Proposed(participant1))と、提案手法により被験者1と異なる被験者2が加えた修正外力及び敵対外力により修正外力モデル及び敵対外力モデルを含むロボットモデルを学習した結果(Proposed(participant2))と、を示した。図13(A)に示すように、学習終了時の位置の誤差を従来手法と提案手法(被験者1及び被験者2)とで比較すると、提案手法の方が従来手法よりも位置の誤差が小さいことが分かる。また、図13(B)に示すように、外力の加え方は被験者1、2で異なるが、被験者によらず位置の誤差が小さくなることが分かった。 FIG. 13(A) shows the result of learning only the state transition model without applying external force by the conventional method (Baseline), and the corrected external force model and the hostile external force model by the corrected external force and hostile external force applied by subject 1 by the proposed method. The result of learning the robot model including the modified external force model and the hostile external force model by the modified external force and the hostile external force applied by the subject 2 different from the subject 1 by the proposed method (Proposed (participant 1)). (participant 2)). As shown in FIG. 13(A), when the positional error at the end of learning is compared between the conventional method and the proposed method (subject 1 and subject 2), the positional error is smaller in the proposed method than in the conventional method. I understand. Moreover, as shown in FIG. 13B, although the method of applying the external force differs between the subjects 1 and 2, it was found that the positional error was small regardless of the subject.

また、図14(A)には、穴が設けられた台の摩擦係数を変えてペグの挿入が成功した回数をシミュレーションした結果を示した。図14(B)には、ペグの質量を変えてペグの挿入が成功した回数をシミュレーションした結果を示した。図14(A)、(B)に示すように、台の摩擦係数やペグの質量が異なる場合でも、ペグの挿入の成功回数が従来手法よりも提案手法の方が多くなることが分かった。 FIG. 14(A) shows the results of simulating the number of successful insertions of pegs by changing the coefficient of friction of the table provided with holes. FIG. 14(B) shows the results of simulating the number of successful peg insertions by changing the mass of the peg. As shown in FIGS. 14A and 14B, even when the coefficient of friction of the table and the mass of the peg are different, the number of successful peg insertions is greater in the proposed method than in the conventional method.

また、図15には、シミュレーションと同様のペグの挿入タスクを、異なる材質のペグを用いて実機で行った結果を示した。ペグの材質は、金属(Default)、プラスティック、及びスポンジの3種類である。図15に示すように、何れの材質のペグにおいても、従来手法と比べて提案手法の方がペグの挿入の成功回数が多くなることが分かった。 Further, FIG. 15 shows the result of performing a peg insertion task similar to the simulation on an actual machine using pegs made of different materials. There are three types of peg materials: metal (default), plastic, and sponge. As shown in FIG. 15, it was found that the number of successful insertions of the pegs by the proposed method is greater than that of the conventional method, regardless of the material of the pegs.

上記実施形態の構成及び動作、並びに上記実験例からわかるとおり、修正外力を加えて機械学習することによりロボットモデルの機械学習の効率を高めることができる。また、敵対外力を加えて機械学習することにより、把持対象物における摩擦力や質量の変化に対するロバスト性を高めることができる。また、敵対外力を加えて機械学習することにも学習効率を高める効果がある。 As can be seen from the configuration and operation of the above-described embodiment and the above-described experimental example, the efficiency of the machine learning of the robot model can be improved by performing the machine learning by applying the correction external force. In addition, by performing machine learning by applying a hostile external force, it is possible to improve robustness against changes in the frictional force and mass of the object to be grasped. In addition, machine learning by adding hostile external force also has the effect of increasing learning efficiency.

なお、上記実施形態は、本発明の構成例を例示的に説明するものに過ぎない。開示の技術は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。 It should be noted that the above-described embodiment merely exemplifies a configuration example of the present invention. The disclosed technique is not limited to the above-described specific forms, and various modifications are possible within the scope of the technical idea.

例えば上記実施形態では、ペグの嵌め込み作業を例に説明したが、学習および制御対象の作業は任意の作業であってよい。 For example, in the above embodiment, the peg fitting work was described as an example, but the work to be learned and controlled may be any work.

また、上各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したロボットモデルの学習処理及びロボット制御処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、学習処理及び制御処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。 Further, various processors other than the CPU may execute the robot model learning process and the robot control process executed by the CPU by reading the software (program) in each of the above embodiments. The processor in this case is a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit) for executing specific processing. A dedicated electric circuit or the like, which is a processor having a specially designed circuit configuration, is exemplified. Also, the learning process and the control process may be performed by one of these various processors, or by a combination of two or more processors of the same or different type (e.g., multiple FPGAs, and a CPU and an FPGA). , etc.). Further, the hardware structure of these various processors is, more specifically, an electric circuit in which circuit elements such as semiconductor elements are combined.

また、上記各実施形態では、ロボットモデルの学習プログラム及びロボット制御プログラムがストレージ40D又はROM40Bに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
ロボットの位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得する取得部(41)と、
ある時間における前記位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル(DM)及び前記ロボットに加えられる外力の予測値を算出する外力モデル(EM)を含むロボットモデル(LM)と、
前記ロボットモデルを実行するモデル実行部(42)と、
前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の誤差及び前記外力の予測値に基づいて報酬を算出する報酬算出部(43)と、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補のそれぞれに対応して前記報酬算出部が算出する報酬に基づいて報酬を最大化する行動指令を決定する行動決定部(44)と、
決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する外力モデル更新部(45)と、
を備えたロボットモデルの学習装置。
(付記2)
決定された前記行動指令に基づいて前記状態遷移モデルが算出した前記位置姿勢の予測値と、当該位置姿勢の予測値に対応する前記位置姿勢の実績値との間の誤差が小さくなるように前記状態遷移モデルを更新する状態遷移モデル更新部(49)と、
を備えた付記1記載のロボットモデルの学習装置。
(付記3)
前記報酬算出部は、前記外力が前記誤差の拡大を抑制する外力である修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出する
付記1又は付記2記載のロボットモデルの学習装置。
(付記4)
前記報酬算出部は、タスク実行中における前記修正外力の予測値に基づく前記報酬の減少量の変化の幅が前記誤差に基づく前記報酬の減少量の変化の幅よりも小さくなる計算により前記報酬を算出する
付記3記載のロボットモデルの学習装置。
(付記5)
前記外力モデルは、前記外力が前記修正外力である場合において、前記修正外力の予測値を出力する修正外力モデル(EM1)を含み、
前記外力モデル更新部は、前記外力が前記修正外力である場合において、前記決定された前記行動指令に基づいて前記修正外力モデルが算出した前記修正外力の予測値と前記修正外力の実績値との間の差異が小さくなるように前記修正外力モデルを更新する修正外力モデル更新部(45A)を含む
付記3又は付記4記載のロボットモデルの学習装置。
(付記6)
前記報酬算出部は、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
付記1又は付記2記載のロボットモデルの学習装置。
(付記7)
前記報酬算出部は、タスク実行中における前記敵対外力の予測値に基づく前記報酬の増加量の変化の幅が前記誤差に基づく前記報酬の増加量の変化の幅よりも小さくなる計算により前記報酬を算出する
付記6記載のロボットモデルの学習装置。
(付記8)
前記外力モデルは、前記外力が前記敵対外力である場合において、前記敵対外力の予測値を出力する敵対外力モデル(EM2)を含み、
前記外力モデル更新部は、前記外力が前記敵対外力である場合において、前記決定された前記行動指令に基づいて前記敵対外力モデルが算出した前記敵対外力の予測値と前記敵対外力の実績値との間の差異が小さくなるように前記敵対外力モデルを更新する敵対外力モデル更新部(45B)を含む
付記6又は付記7記載のロボットモデルの学習装置。
(付記9)
前記報酬算出部は、前記外力が前記誤差の拡大を抑制する修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
付記1又は付記2記載のロボットモデルの学習装置。
(付記10)
前記報酬算出部は、タスク実行中における前記修正外力の予測値に基づく前記報酬の減少量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなり、タスク実行中における前記敵対外力の予測値に基づく前記報酬の増加量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなる計算により前記報酬を算出する
付記9記載のロボットモデルの学習装置。
(付記11)
前記外力モデルは、前記外力が前記修正外力である場合において、前記修正外力の予測値を出力する修正外力モデル(EM1)と、前記外力が前記敵対外力である場合において、前記敵対外力の予測値を出力する敵対外力モデル(EM2)とを含み、
前記外力モデル更新部は、前記外力が前記修正外力である場合において、前記決定された行動指令に基づいて前記修正外力モデルが算出した前記修正外力の予測値と前記外力の実績値との差異が小さくなるように前記修正外力モデルを更新する修正外力モデル更新部と、前記外力が前記敵対外力である場合において、前記決定された行動指令に基づいて前記敵対外力モデルが算出した前記敵対外力の予測値と前記外力の実績値との差異が小さくなるように前記敵対外力モデルを更新する敵対外力モデル更新部(45B)とを含む
付記9又は付記10記載のロボットモデルの学習装置。
(付記12)
前記ロボットモデルは、前記修正外力モデル及び前記敵対外力モデルを備えた統合外力モデル(IM)を含み、
前記修正外力モデル及び前記敵対外力モデルはニューラルネットワークであり、
前記敵対外力モデルの1又は複数の中間層及び出力層のうちの少なくとも1つの層は、前記修正外力モデルの対応する層の前段の層の出力をプログレッシブニューラルネットワークの手法により統合し、
前記統合外力モデルは、前記敵対外力モデルの出力を外力の予測値として出力し、
前記統合外力モデルは、出力する前記外力の予測値が修正外力の予測値であるか敵対外力の予測値であるかの識別情報を出力し、
前記報酬算出部は、前記識別情報が、修正外力の予測値であることを示す場合には前記外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記識別情報が、敵対外力の予測値であることを示す場合には前記外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
付記11記載のロボットモデルの学習装置。
(付記13)
前記外力が前記修正外力であるか前記敵対外力であるかの指定を受け付ける受け付け部をさらに備え、
前記指定が前記修正外力である場合は前記修正外力モデル更新部の動作を有効化し、前記指定が前記敵対外力である場合は前記敵対外力モデル更新部の動作を有効化する学習制御部をさらに備えた
付記11又は付記12記載のロボットモデルの学習装置。
(付記14)
前記位置姿勢の実績値及び前記外力の実績値に基づき前記外力が前記修正外力であるか前記敵対外力であるかを判別し、前記判別の結果が前記修正外力である場合は前記修正外力モデル更新部の動作を有効化し、前記判別の結果が前記敵対外力である場合は前記敵対外力モデル更新部の動作を有効化する学習制御部(46)をさらに備える
付記11又は付記12記載のロボットモデルの学習装置。
(付記15)
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル(DM)及び前記ロボットに加えられる外力の予測値を算出する外力モデル(EM)を含むロボットモデル(LM)を用意し、
制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、
決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する、
ロボットモデルの機械学習方法。
(付記16)
さらに、決定された前記行動指令に基づいて前記状態遷移モデルが算出した前記位置姿勢の予測値と、当該位置姿勢の予測値に対応する前記位置姿勢の実績値との間の誤差が小さくなるように前記状態遷移モデルを更新する
付記15記載のロボットモデルの機械学習方法。
(付記17)
前記外力が前記誤差の拡大を抑制する外力である修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出する
付記15又は付記16記載のロボットモデルの機械学習方法。
(付記18)
タスク実行中における前記修正外力の予測値に基づく前記報酬の減少量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなる計算により前記報酬を算出する
付記17記載のロボットモデルの機械学習方法。
(付記19)
前記外力モデルは、前記外力が前記修正外力である場合において、前記修正外力の予測値を出力する修正外力モデル(EM1)を含み、
前記外力が前記修正外力である場合において、前記決定された前記行動指令に基づいて前記修正外力モデルが算出した前記修正外力の予測値と前記外力の実績値との間の差異が小さくなるように前記修正外力モデルを更新する
付記17又は付記18記載のロボットモデルの機械学習方法。
(付記20)
前記誤差が拡大しつつある場合に、前記ロボットに対して前記修正外力を加える
付記19記載のロボットモデルの機械学習方法。
(付記21)
前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
付記15又は付記16記載のロボットモデルの機械学習方法。
(付記22)
タスク実行中における前記敵対外力の予測値に基づく前記報酬の増加量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなる計算により前記報酬を算出する
付記21記載のロボットモデルの機械学習方法。
(付記23)
前記外力モデルは、前記外力が前記敵対外力である場合において、前記敵対外力の予測値を出力する敵対外力モデル(EM2)を含み、
前記外力が前記敵対外力である場合において、前記決定された前記行動指令に基づいて前記敵対外力モデルが算出した前記敵対外力の予測値と前記外力の実績値との間の差異が小さくなるように前記敵対外力モデルを更新する
付記21又は付記22記載のロボットモデルの機械学習方法。
(付記24)
前記誤差が縮小しつつある場合に、前記ロボットに対して前記敵対外力を加える
付記23記載のロボットモデルの機械学習方法。
(付記25)
前記外力が前記誤差の拡大を抑制する修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
付記15又は付記16記載のロボットモデルの機械学習方法。
(付記26)
タスク実行中における前記修正外力の予測値に基づく前記報酬の減少量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなり、タスク実行中における前記敵対外力の予測値に基づく前記報酬の増加量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなる計算により前記報酬を算出する
付記25記載のロボットモデルの機械学習方法。
(付記27)
前記外力モデルは、前記外力が前記修正外力である場合において、前記修正外力の予測値を出力する修正外力モデル(EM1)と、前記外力が前記敵対外力である場合において、前記敵対外力の予測値を出力する敵対外力モデル(EM2)とを含み、
前記外力が前記修正外力である場合において、前記決定された行動指令に基づいて前記修正外力モデルが算出した前記修正外力の予測値と前記外力の実績値との差異が小さくなるように前記修正外力モデルを更新し、前記外力が前記敵対外力である場合において、前記決定された行動指令に基づいて前記敵対外力モデルが算出した前記敵対外力の予測値と前記外力の実績値との差異が小さくなるように前記敵対外力モデルを更新する
付記25又は付記26記載のロボットモデルの機械学習方法。
(付記28)
前記誤差が拡大しつつある場合に、前記ロボットに対して前記修正外力を加え、前記誤差が縮小しつつある場合に、前記ロボットに対して前記敵対外力を加える
付記27記載のロボットモデルの機械学習方法。
(付記29)
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル(DM)及び前記ロボットに加えられる外力の予測値を算出する外力モデル(EM)を含むロボットモデル(LM)を機械学習するための機械学習プログラムであって、
制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、
決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する、
各処理をコンピュータに行わせるロボットモデルの機械学習プログラム。
(付記30)
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル(DM)及び前記ロボットに加えられる外力の予測値を算出する外力モデル(EM)を含むロボットモデル(LM)を実行するモデル実行部(42)と、
前記ロボットの位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得する取得部(41)と、
前記ロボットモデルにより算出された位置姿勢の予測値と到達すべき位置姿勢の目標値との間の誤差及び前記ロボットモデルにより算出された外力の予測値に基づいて報酬を算出する報酬算出部(43)と、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補のそれぞれに対応して前記報酬算出部が算出する報酬に基づいて報酬を最大化する行動指令を決定する行動決定部(44)と、
を備えたロボット制御装置。
(付記31)
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル(DM)及び前記ロボットに加えられる外力の予測値を算出する外力モデル(EM)を含むロボットモデル(LM)を用意し、
制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、
決定された前記行動指令に基づいて前記ロボットを制御する、
ロボット制御方法。
(付記32)
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル(DM)及び前記ロボットに加えられる外力の予測値を算出する外力モデル(EM)を含むロボットモデル(LM)を用いて前記ロボットを制御するためのプログラムであって、
制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、
決定された前記行動指令に基づいて前記ロボットを制御する、
各処理をコンピュータに行わせるロボット制御プログラム。
In each of the above-described embodiments, the robot model learning program and the robot control program have been pre-stored (installed) in the storage 40D or ROM 40B, but the present invention is not limited to this. The program may be provided in a form recorded on a recording medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), and a USB (Universal Serial Bus) memory. Also, the program may be downloaded from an external device via a network.
The following additional remarks are disclosed regarding the above embodiments.
(Appendix 1)
an acquisition unit (41) for acquiring actual values of the position and orientation of the robot and actual values of the external force applied to the robot;
A state transition model (DM) for calculating predicted values of the position and orientation of the robot at the next time based on the actual values of the position and orientation at a certain time and an action command that can be given to the robot, and applied to the robot. a robot model (LM) including an external force model (EM) for calculating predicted values of external forces;
a model execution unit (42) for executing the robot model;
a reward calculation unit (43) for calculating a reward based on the error between the predicted value of the position and orientation and the target value of the position and orientation to be reached and the predicted value of the external force;
For each control cycle, a plurality of candidates for the action command are generated and given to the robot model, and a reward is maximized based on the reward calculated by the reward calculation unit corresponding to each of the plurality of candidates for the action command. an action determination unit (44) that determines an action command to
updating the external force model so that the difference between the predicted value of the external force calculated by the external force model based on the determined action command and the actual value of the external force corresponding to the predicted value of the external force is reduced; an external force model updating unit (45) for
A robot model learning device with
(Appendix 2)
The error between the predicted position/orientation calculated by the state transition model based on the determined action command and the actual position/orientation corresponding to the predicted position/orientation is reduced. a state transition model updating unit (49) for updating the state transition model;
The robot model learning device according to Supplementary Note 1, comprising:
(Appendix 3)
When the external force is a corrected external force that suppresses the expansion of the error, the remuneration calculation unit calculates the remuneration by calculation using a predicted value of the corrected external force as a factor for reducing the remuneration. The robot model learning device according to appendix 2.
(Appendix 4)
The reward calculation unit calculates the reward by calculating a range of change in the decrease amount of the reward based on the predicted value of the corrected external force during execution of the task so as to be smaller than a range of change in the decrease amount of the reward based on the error. The robot model learning device according to appendix 3.
(Appendix 5)
The external force model includes a modified external force model (EM1) that outputs a predicted value of the modified external force when the external force is the modified external force,
When the external force is the corrected external force, the external force model updating unit updates the predicted value of the corrected external force calculated by the corrected external force model based on the determined action command and the actual value of the corrected external force. The robot model learning device according to appendix 3 or appendix 4, further comprising a corrected external force model updating unit (45A) that updates the corrected external force model so that the difference between the models becomes smaller.
(Appendix 6)
When the external force is a hostile external force that suppresses reduction of the error, the remuneration calculation unit calculates the remuneration by calculation using the predicted value of the hostile external force as a factor for increasing the remuneration. The robot model learning device according to appendix 2.
(Appendix 7)
The reward calculation unit calculates the reward by calculating a range of change in the amount of increase in the reward based on the predicted value of the hostile external force during execution of the task so that the range of change in the amount of increase in the reward is smaller than a range of change in the amount of increase in the reward based on the error. The robot model learning device according to appendix 6.
(Appendix 8)
The external force model includes a hostile external force model (EM2) that outputs a predicted value of the hostile external force when the external force is the hostile external force,
When the external force is the hostile external force, the external force model update unit updates the predicted value of the hostile external force calculated by the hostile external force model based on the determined action command and the actual value of the hostile external force. The robot model learning device according to appendix 6 or appendix 7, further comprising a hostile external force model updating unit (45B) that updates the hostile external force model so that the difference between the models becomes smaller.
(Appendix 9)
When the external force is a corrected external force that suppresses the expansion of the error, the reward calculation unit calculates the reward by calculation using a predicted value of the corrected external force as a factor for reducing the reward, and the external force is the error The robot model learning device according to appendix 1 or appendix 2, wherein the reward is calculated using a predicted value of the hostile external force as a factor for increasing the reward when the reward is a hostile external force that suppresses a reduction in the remuneration.
(Appendix 10)
The reward calculation unit determines that the range of change in the decrease amount of the reward based on the predicted value of the corrected external force during task execution becomes smaller than the range of change in the reward based on the error, and the hostile external force during task execution. The robot model learning device according to Supplementary Note 9, wherein the reward is calculated by a calculation in which the width of change in the amount of increase in the reward based on the predicted value of is smaller than the width of change in the reward based on the error.
(Appendix 11)
The external force model includes a modified external force model (EM1) that outputs a predicted value of the modified external force when the external force is the modified external force, and a predicted value of the hostile external force when the external force is the hostile external force. and an adversarial external force model (EM2) that outputs
When the external force is the corrected external force, the external force model update unit determines whether the difference between the predicted value of the corrected external force calculated by the corrected external force model based on the determined action command and the actual value of the external force is a corrected external force model updating unit that updates the corrected external force model so that it becomes smaller; and a prediction of the hostile external force calculated by the hostile external force model based on the determined action command when the external force is the hostile external force. 11. The robot model learning device according to appendix 9 or 10, further comprising a hostile external force model updating unit (45B) that updates the hostile external force model so that the difference between the value and the actual value of the external force is reduced.
(Appendix 12)
the robot model includes an integrated external force model (IM) comprising the modified external force model and the hostile external force model;
The modified external force model and the hostile external force model are neural networks,
At least one layer of the one or more intermediate layers and the output layer of the hostile external force model integrates the output of the previous layer of the corresponding layer of the modified external force model by a progressive neural network technique,
The integrated external force model outputs the output of the hostile external force model as a predicted value of the external force,
The integrated external force model outputs identification information as to whether the predicted value of the external force to be output is the predicted value of the corrected external force or the predicted value of the hostile external force,
The remuneration calculation unit calculates the remuneration by calculation using the predicted value of the external force as a reduction factor of the remuneration when the identification information indicates that it is a predicted value of the corrected external force, and the identification information is: 12. The robot model learning device according to Supplementary Note 11, wherein the reward is calculated by calculation using the predicted value of the external force as a factor for increasing the reward when indicating that it is a predicted value of the hostile external force.
(Appendix 13)
further comprising a receiving unit that receives designation of whether the external force is the corrected external force or the hostile external force;
a learning control unit that validates the operation of the corrected external force model update unit when the designation is the corrected external force, and validates the operation of the hostile external force model update unit when the designation is the hostile external force; The robot model learning device according to Supplementary Note 11 or Supplementary Note 12.
(Appendix 14)
determining whether the external force is the modified external force or the hostile external force based on the actual values of the position and orientation and the actual values of the external force; and updating the modified external force model when the result of the determination is the modified external force. further comprising a learning control unit (46) for activating the operation of the robot model unit, and activating the operation of the hostile external force model update unit when the result of the determination is the hostile external force. learning device.
(Appendix 15)
In addition to a state transition model (DM) that calculates predicted values of the robot's position and orientation at the next time based on actual values of the robot's position and orientation at a certain time and action commands that can be given to the robot, and the robot. Prepare a robot model (LM) including an external force model (EM) that calculates the predicted value of the external force applied,
Acquiring the actual values of the position and orientation and the actual values of the external force applied to the robot for each control cycle,
A plurality of candidates for the action command are generated for each control cycle and given to the robot model, and a plurality of predicted values of the position and orientation calculated by the state transition model corresponding to the plurality of candidates for the action command, and Based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between target values of the position and orientation to be reached and a plurality of candidates of the action command, a plurality of the action commands Based on the multiple rewards calculated for the candidates, determine the action command that maximizes the reward,
updating the external force model so that the difference between the predicted value of the external force calculated by the external force model based on the determined action command and the actual value of the external force corresponding to the predicted value of the external force is reduced; do,
Machine learning methods for robot models.
(Appendix 16)
Further, an error between the predicted value of the position and orientation calculated by the state transition model based on the determined action command and the actual value of the position and orientation corresponding to the predicted value of the position and orientation is reduced. 16. The robot model machine learning method according to appendix 15.
(Appendix 17)
The robot model according to appendix 15 or 16, wherein when the external force is a corrected external force that is an external force that suppresses the expansion of the error, the reward is calculated using a predicted value of the corrected external force as a factor for decreasing the reward. machine learning methods.
(Appendix 18)
The robot model according to Supplementary Note 17, wherein the reward is calculated by a calculation such that the width of change in the decrease amount of the reward based on the predicted value of the corrected external force during task execution is smaller than the width of change in the reward based on the error. machine learning method.
(Appendix 19)
The external force model includes a modified external force model (EM1) that outputs a predicted value of the modified external force when the external force is the modified external force,
When the external force is the corrected external force, the difference between the predicted value of the corrected external force calculated by the corrected external force model based on the determined action command and the actual value of the external force is reduced. 19. The robot model machine learning method according to appendix 17 or appendix 18, wherein the modified external force model is updated.
(Appendix 20)
20. The robot model machine learning method according to appendix 19, wherein the correction external force is applied to the robot when the error is increasing.
(Appendix 21)
When the external force is a hostile external force that suppresses reduction of the error, the reward is calculated by calculation using a predicted value of the hostile external force as a factor for increasing the reward. machine learning methods.
(Appendix 22)
The robot model according to Supplementary Note 21, wherein the amount of change in the amount of increase in the reward based on the predicted value of the hostile external force during task execution is smaller than the range of change in the amount of increase in the reward based on the error. machine learning method.
(Appendix 23)
The external force model includes a hostile external force model (EM2) that outputs a predicted value of the hostile external force when the external force is the hostile external force,
When the external force is the hostile external force, the difference between the predicted value of the hostile external force calculated by the hostile external force model based on the determined action command and the actual value of the external force is reduced. 23. The robot model machine learning method according to appendix 21 or appendix 22, wherein the hostile external force model is updated.
(Appendix 24)
24. The robot model machine learning method according to appendix 23, wherein the hostile external force is applied to the robot when the error is shrinking.
(Appendix 25)
When the external force is a corrected external force that suppresses the expansion of the error, the reward is calculated by calculation using the predicted value of the corrected external force as a factor for reducing the reward, and the external force suppresses the reduction of the error. 17. The robot model machine learning method according to appendix 15 or 16, wherein the reward is calculated using a predicted value of the hostile external force as an increasing factor of the reward.
(Appendix 26)
The range of change in the amount of decrease in the reward based on the predicted value of the corrected external force during task execution is smaller than the range of change in the reward based on the error, and the range of change in the reward based on the predicted value of the hostile external force during task execution. 26. The robot model machine learning method according to appendix 25, wherein the reward is calculated by a calculation in which the width of change in the amount of increase in reward is smaller than the width of change in the reward based on the error.
(Appendix 27)
The external force model includes a modified external force model (EM1) that outputs a predicted value of the modified external force when the external force is the modified external force, and a predicted value of the hostile external force when the external force is the hostile external force. and an adversarial external force model (EM2) that outputs
When the external force is the corrected external force, the corrected external force is adjusted so that the difference between the predicted value of the corrected external force calculated by the corrected external force model based on the determined action command and the actual value of the external force becomes small. The model is updated so that, when the external force is the hostile external force, the difference between the predicted value of the hostile external force calculated by the hostile external force model based on the determined action command and the actual value of the external force becomes smaller. 27. The robot model machine learning method according to appendix 25 or appendix 26.
(Appendix 28)
Machine learning of the robot model according to Appendix 27, applying the corrective external force to the robot when the error is increasing, and applying the hostile external force to the robot when the error is decreasing. Method.
(Appendix 29)
In addition to a state transition model (DM) that calculates predicted values of the robot's position and orientation at the next time based on actual values of the robot's position and orientation at a certain time and action commands that can be given to the robot, and the robot. A machine learning program for machine learning a robot model (LM) including an external force model (EM) that calculates a predicted value of an external force applied,
Acquiring the actual values of the position and orientation and the actual values of the external force applied to the robot for each control cycle,
A plurality of candidates for the action command are generated for each control cycle and given to the robot model, and a plurality of predicted values of the position and orientation calculated by the state transition model corresponding to the plurality of candidates for the action command, and Based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between target values of the position and orientation to be reached and a plurality of candidates of the action command, a plurality of the action commands Based on the multiple rewards calculated for the candidates, determine the action command that maximizes the reward,
updating the external force model so that the difference between the predicted value of the external force calculated by the external force model based on the determined action command and the actual value of the external force corresponding to the predicted value of the external force is reduced; do,
A robot model machine learning program that causes a computer to perform each process.
(Appendix 30)
In addition to a state transition model (DM) that calculates predicted values of the robot's position and orientation at the next time based on actual values of the robot's position and orientation at a certain time and action commands that can be given to the robot, and the robot. a model execution unit (42) that executes a robot model (LM) including an external force model (EM) that calculates a predicted value of the external force applied;
an acquisition unit (41) for acquiring actual values of the position and orientation of the robot and actual values of the external force applied to the robot;
A reward calculation unit (43) for calculating a reward based on the error between the predicted value of the position and orientation calculated by the robot model and the target value of the position and orientation to be reached, and the predicted value of the external force calculated by the robot model. )When,
For each control cycle, a plurality of candidates for the action command are generated and given to the robot model, and a reward is maximized based on the reward calculated by the reward calculation unit corresponding to each of the plurality of candidates for the action command. an action determination unit (44) that determines an action command to
A robot controller with
(Appendix 31)
In addition to a state transition model (DM) that calculates predicted values of the robot's position and orientation at the next time based on actual values of the robot's position and orientation at a certain time and action commands that can be given to the robot, and the robot. Prepare a robot model (LM) including an external force model (EM) that calculates the predicted value of the external force applied,
Acquiring the actual values of the position and orientation and the actual values of the external force applied to the robot for each control cycle,
A plurality of candidates for the action command are generated for each control cycle and given to the robot model, and a plurality of predicted values of the position and orientation calculated by the state transition model corresponding to the plurality of candidates for the action command, and Based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between target values of the position and orientation to be reached and a plurality of candidates of the action command, a plurality of the action commands Based on the multiple rewards calculated for the candidates, determine the action command that maximizes the reward,
controlling the robot based on the determined action command;
Robot control method.
(Appendix 32)
In addition to a state transition model (DM) that calculates predicted values of the robot's position and orientation at the next time based on actual values of the robot's position and orientation at a certain time and action commands that can be given to the robot, and the robot. A program for controlling the robot using a robot model (LM) including an external force model (EM) that calculates a predicted value of the external force applied,
Acquiring the actual values of the position and orientation and the actual values of the external force applied to the robot for each control cycle,
A plurality of candidates for the action command are generated for each control cycle and given to the robot model, and a plurality of predicted values of the position and orientation calculated by the state transition model corresponding to the plurality of candidates for the action command, and Based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between target values of the position and orientation to be reached and a plurality of candidates of the action command, a plurality of the action commands Based on the multiple rewards calculated for the candidates, determine the action command that maximizes the reward,
controlling the robot based on the determined action command;
A robot control program that causes a computer to perform each process.

1 ロボットシステム
10 ロボット
20 状態観測センサ
30A、30B 触覚センサ
40 ロボット制御装置
41 取得部
42 モデル実行部
43 報酬算出部
44 行動決定部
45 外力モデル更新部
45A 敵対外力モデル更新部
45B 修正外力モデル更新部
49 状態遷移モデル更新部
70 ペグ
LM ロボットモデル
1 robot system 10 robot 20 state observation sensors 30A, 30B tactile sensor 40 robot control device 41 acquisition unit 42 model execution unit 43 reward calculation unit 44 action determination unit 45 external force model update unit 45A hostile external force model update unit 45B corrected external force model update unit 49 State transition model update unit 70 Peg LM Robot model

Claims (21)

ロボットの位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得する取得部と、
ある時間における前記位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルと、
前記ロボットモデルを実行するモデル実行部と、
前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の誤差及び前記外力の予測値に基づいて報酬を算出する報酬算出部と、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補のそれぞれに対応して前記報酬算出部が算出する報酬に基づいて報酬を最大化する行動指令を決定する行動決定部と、
決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する外力モデル更新部と、
を備えたロボットモデルの学習装置。
an acquisition unit that acquires the actual values of the position and orientation of the robot and the actual values of the external force applied to the robot;
A state transition model that calculates a predicted value of the position and orientation of the robot at the next time based on the actual values of the position and orientation at a certain time and an action command that can be given to the robot, and a prediction of the external force applied to the robot. a robot model including an external force model for calculating a value;
a model execution unit that executes the robot model;
a reward calculation unit that calculates a reward based on the error between the predicted value of the position and orientation and the target value of the position and orientation to be reached and the predicted value of the external force;
For each control cycle, a plurality of candidates for the action command are generated and given to the robot model, and a reward is maximized based on the reward calculated by the reward calculation unit corresponding to each of the plurality of candidates for the action command. an action determination unit that determines an action command to
updating the external force model so that the difference between the predicted value of the external force calculated by the external force model based on the determined action command and the actual value of the external force corresponding to the predicted value of the external force is reduced; an external force model updating unit that
A robot model learning device with
決定された前記行動指令に基づいて前記状態遷移モデルが算出した前記位置姿勢の予測値と、当該位置姿勢の予測値に対応する前記位置姿勢の実績値との間の誤差が小さくなるように前記状態遷移モデルを更新する状態遷移モデル更新部と、
を備えた請求項1記載のロボットモデルの学習装置。
The error between the predicted position/orientation calculated by the state transition model based on the determined action command and the actual position/orientation corresponding to the predicted position/orientation is reduced. a state transition model updating unit that updates the state transition model;
The robot model learning device according to claim 1, comprising:
前記報酬算出部は、前記外力が前記誤差の拡大を抑制する外力である修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出する
請求項1又は請求項2記載のロボットモデルの学習装置。
2. When the external force is a corrected external force that suppresses the expansion of the error, the remuneration calculation unit calculates the remuneration by calculation using a predicted value of the corrected external force as a reduction factor of the remuneration. 3. The robot model learning device according to claim 2.
前記報酬算出部は、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
請求項1又は請求項2記載のロボットモデルの学習装置。
2. When the external force is a hostile external force that suppresses reduction of the error, the remuneration calculation unit calculates the remuneration by calculation using a predicted value of the hostile external force as an increase factor of the remuneration. 3. The robot model learning device according to claim 2.
前記報酬算出部は、前記外力が前記誤差の拡大を抑制する修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
請求項1又は請求項2記載のロボットモデルの学習装置。
When the external force is a corrected external force that suppresses the expansion of the error, the reward calculation unit calculates the reward by calculation using a predicted value of the corrected external force as a factor for reducing the reward, and the external force is the error 3. The robot model learning device according to claim 1, wherein the reward is calculated using a predicted value of the hostile external force as an increase factor of the reward when the external force is a hostile external force that suppresses the reduction of the .
前記報酬算出部は、タスク実行中における前記修正外力の予測値に基づく前記報酬の減少量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなり、タスク実行中における前記敵対外力の予測値に基づく前記報酬の増加量の変化の幅が前記誤差に基づく前記報酬の変化の幅よりも小さくなる計算により前記報酬を算出する
請求項5記載のロボットモデルの学習装置。
The reward calculation unit determines that the range of change in the decrease amount of the reward based on the predicted value of the corrected external force during task execution becomes smaller than the range of change in the reward based on the error, and the hostile external force during task execution. 6. The robot model learning device according to claim 5, wherein the reward is calculated by a calculation in which the width of change in the amount of increase in the reward based on the predicted value of is smaller than the width of change in the reward based on the error.
前記外力モデルは、前記外力が前記修正外力である場合において、前記修正外力の予測値を出力する修正外力モデルと、前記外力が前記敵対外力である場合において、前記敵対外力の予測値を出力する敵対外力モデルとを含み、
前記外力モデル更新部は、前記外力が前記修正外力である場合において、前記決定された行動指令に基づいて前記修正外力モデルが算出した前記修正外力の予測値と前記外力の実績値との差異が小さくなるように前記修正外力モデルを更新する修正外力モデル更新部と、前記外力が前記敵対外力である場合において、前記決定された行動指令に基づいて前記敵対外力モデルが算出した前記敵対外力の予測値と前記外力の実績値との差異が小さくなるように前記敵対外力モデルを更新する敵対外力モデル更新部とを含む
請求項5又は請求項6記載のロボットモデルの学習装置。
The external force model includes a corrected external force model that outputs a predicted value of the corrected external force when the external force is the corrected external force, and a predicted value of the hostile external force when the external force is the hostile external force. including a hostile force model and
When the external force is the corrected external force, the external force model update unit determines whether the difference between the predicted value of the corrected external force calculated by the corrected external force model based on the determined action command and the actual value of the external force is a corrected external force model updating unit that updates the corrected external force model so that it becomes smaller; and a prediction of the hostile external force calculated by the hostile external force model based on the determined action command when the external force is the hostile external force. 7. The robot model learning device according to claim 5, further comprising a hostile external force model updating unit that updates the hostile external force model so that a difference between the value and the actual value of the external force becomes smaller.
前記ロボットモデルは、前記修正外力モデル及び前記敵対外力モデルを備えた統合外力モデルを含み、
前記修正外力モデル及び前記敵対外力モデルはニューラルネットワークであり、
前記敵対外力モデルの1又は複数の中間層及び出力層のうちの少なくとも1つの層は、前記修正外力モデルの対応する層の前段の層の出力をプログレッシブニューラルネットワークの手法により統合し、
前記統合外力モデルは、前記敵対外力モデルの出力を外力の予測値として出力し、
前記統合外力モデルは、出力する前記外力の予測値が修正外力の予測値であるか敵対外力の予測値であるかの識別情報を出力し、
前記報酬算出部は、前記識別情報が、修正外力の予測値であることを示す場合には前記外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記識別情報が、敵対外力の予測値であることを示す場合には前記外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
請求項7記載のロボットモデルの学習装置。
The robot model includes an integrated external force model comprising the modified external force model and the hostile external force model;
The modified external force model and the hostile external force model are neural networks,
At least one layer of the one or more intermediate layers and the output layer of the hostile external force model integrates the output of the previous layer of the corresponding layer of the modified external force model by a progressive neural network technique,
The integrated external force model outputs the output of the hostile external force model as a predicted value of the external force,
The integrated external force model outputs identification information as to whether the predicted value of the external force to be output is the predicted value of the corrected external force or the predicted value of the hostile external force,
The remuneration calculation unit calculates the remuneration by calculation using the predicted value of the external force as a reduction factor of the remuneration when the identification information indicates that it is a predicted value of the corrected external force, and the identification information is: 8. The robot model learning device according to claim 7, wherein when indicating that it is a predicted value of a hostile external force, the reward is calculated by calculation using the predicted value of the external force as a factor for increasing the reward.
前記外力が前記修正外力であるか前記敵対外力であるかの指定を受け付ける受け付け部をさらに備え、
前記指定が前記修正外力である場合は前記修正外力モデル更新部の動作を有効化し、前記指定が前記敵対外力である場合は前記敵対外力モデル更新部の動作を有効化する学習制御部をさらに備えた
請求項7又は請求項8記載のロボットモデルの学習装置。
further comprising a receiving unit that receives designation of whether the external force is the corrected external force or the hostile external force;
a learning control unit that validates the operation of the corrected external force model update unit when the designation is the corrected external force, and validates the operation of the hostile external force model update unit when the designation is the hostile external force; The robot model learning device according to claim 7 or 8.
前記位置姿勢の実績値及び前記外力の実績値に基づき前記外力が前記修正外力であるか前記敵対外力であるかを判別し、前記判別の結果が前記修正外力である場合は前記修正外力モデル更新部の動作を有効化し、前記判別の結果が前記敵対外力である場合は前記敵対外力モデル更新部の動作を有効化する学習制御部をさらに備える
請求項7又は請求項8記載のロボットモデルの学習装置。
determining whether the external force is the modified external force or the hostile external force based on the actual values of the position and orientation and the actual values of the external force; and updating the modified external force model when the result of the determination is the modified external force. 9. The robot model learning according to claim 7 or 8, further comprising a learning control unit that validates the operation of the unit and validates the operation of the hostile external force model update unit when the determination result is the hostile external force. Device.
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを用意し、
制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、
決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する、
ロボットモデルの機械学習方法。
A state transition model that calculates a predicted value of the robot's position and orientation at the next time based on the actual values of the robot's position and orientation at a certain time and an action command that can be given to the robot, and an external force applied to the robot. Prepare a robot model that includes an external force model that calculates the predicted value,
Acquiring the actual values of the position and orientation and the actual values of the external force applied to the robot for each control cycle,
A plurality of candidates for the action command are generated for each control cycle and given to the robot model, and a plurality of predicted values of the position and orientation calculated by the state transition model corresponding to the plurality of candidates for the action command, and Based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between target values of the position and orientation to be reached and a plurality of candidates of the action command, a plurality of the action commands Based on the multiple rewards calculated for the candidates, determine the action command that maximizes the reward,
updating the external force model so that the difference between the predicted value of the external force calculated by the external force model based on the determined action command and the actual value of the external force corresponding to the predicted value of the external force is reduced; do,
Machine learning methods for robot models.
さらに、決定された前記行動指令に基づいて前記状態遷移モデルが算出した前記位置姿勢の予測値と、当該位置姿勢の予測値に対応する前記位置姿勢の実績値との間の誤差が小さくなるように前記状態遷移モデルを更新する
請求項11記載のロボットモデルの機械学習方法。
Further, an error between the predicted value of the position and orientation calculated by the state transition model based on the determined action command and the actual value of the position and orientation corresponding to the predicted value of the position and orientation is reduced. 12. The robot model machine learning method according to claim 11, wherein the state transition model is updated to .
前記外力が前記誤差の拡大を抑制する外力である修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出する
請求項11又は請求項12記載のロボットモデルの機械学習方法。
13. The reward according to claim 11 or 12, wherein when the external force is a corrected external force that suppresses the expansion of the error, the reward is calculated using a predicted value of the corrected external force as a reduction factor of the reward. Machine learning methods for robot models.
前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
請求項11又は請求項12記載のロボットモデルの機械学習方法。
13. The reward according to claim 11 or 12, wherein when the external force is a hostile external force that is an external force that suppresses reduction of the error, the reward is calculated using a predicted value of the hostile external force as a factor for increasing the reward. Machine learning methods for robot models.
前記外力が前記誤差の拡大を抑制する修正外力である場合において、前記修正外力の予測値を前記報酬の減少要因とする計算により前記報酬を算出し、前記外力が前記誤差の縮小を抑制する外力である敵対外力である場合において、前記敵対外力の予測値を前記報酬の増加要因とする計算により前記報酬を算出する
請求項11又は請求項12記載のロボットモデルの機械学習方法。
When the external force is a corrected external force that suppresses the expansion of the error, the reward is calculated by calculation using the predicted value of the corrected external force as a factor for reducing the reward, and the external force suppresses the reduction of the error. 13. The machine learning method for a robot model according to claim 11 or 12, wherein when the hostile external force is , the reward is calculated by calculation using the predicted value of the hostile external force as a factor for increasing the reward.
前記外力モデルは、前記外力が前記修正外力である場合において、前記修正外力の予測値を出力する修正外力モデルと、前記外力が前記敵対外力である場合において、前記敵対外力の予測値を出力する敵対外力モデルとを含み、
前記外力が前記修正外力である場合において、前記決定された行動指令に基づいて前記修正外力モデルが算出した前記修正外力の予測値と前記外力の実績値との差異が小さくなるように前記修正外力モデルを更新し、前記外力が前記敵対外力である場合において、前記決定された行動指令に基づいて前記敵対外力モデルが算出した前記敵対外力の予測値と前記外力の実績値との差異が小さくなるように前記敵対外力モデルを更新する
請求項15記載のロボットモデルの機械学習方法。
The external force model includes a corrected external force model that outputs a predicted value of the corrected external force when the external force is the corrected external force, and a predicted value of the hostile external force when the external force is the hostile external force. including a hostile force model and
When the external force is the corrected external force, the corrected external force is adjusted so that the difference between the predicted value of the corrected external force calculated by the corrected external force model based on the determined action command and the actual value of the external force becomes small. The model is updated so that, when the external force is the hostile external force, the difference between the predicted value of the hostile external force calculated by the hostile external force model based on the determined action command and the actual value of the external force becomes smaller. 16. The machine learning method for a robot model according to claim 15, wherein said hostile force model is updated such that:
前記誤差が拡大しつつある場合に、前記ロボットに対して前記修正外力を加え、前記誤差が縮小しつつある場合に、前記ロボットに対して前記敵対外力を加える
請求項16記載のロボットモデルの機械学習方法。
17. The robot model machine according to claim 16, wherein the correcting external force is applied to the robot when the error is increasing, and the hostile external force is applied to the robot when the error is decreasing. learning method.
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを機械学習するための機械学習プログラムであって、
制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、
決定された前記行動指令に基づいて前記外力モデルが算出した前記外力の予測値と、当該外力の予測値に対応する前記外力の実績値との間の差異が小さくなるように前記外力モデルを更新する、
各処理をコンピュータに行わせるロボットモデルの機械学習プログラム。
A state transition model that calculates a predicted value of the robot's position and orientation at the next time based on the actual values of the robot's position and orientation at a certain time and an action command that can be given to the robot, and an external force applied to the robot. A machine learning program for machine learning a robot model including an external force model for calculating a predicted value,
Acquiring the actual values of the position and orientation and the actual values of the external force applied to the robot for each control cycle,
A plurality of candidates for the action command are generated for each control cycle and given to the robot model, and a plurality of predicted values of the position and orientation calculated by the state transition model corresponding to the plurality of candidates for the action command, and Based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between target values of the position and orientation to be reached and a plurality of candidates of the action command, a plurality of the action commands Based on the multiple rewards calculated for the candidates, determine the action command that maximizes the reward,
updating the external force model so that the difference between the predicted value of the external force calculated by the external force model based on the determined action command and the actual value of the external force corresponding to the predicted value of the external force is reduced; do,
A robot model machine learning program that causes a computer to perform each process.
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを実行するモデル実行部と、
前記ロボットの位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得する取得部と、
前記ロボットモデルにより算出された位置姿勢の予測値と到達すべき位置姿勢の目標値との間の誤差及び前記ロボットモデルにより算出された外力の予測値に基づいて報酬を算出する報酬算出部と、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補のそれぞれに対応して前記報酬算出部が算出する報酬に基づいて報酬を最大化する行動指令を決定する行動決定部と、
を備えたロボット制御装置。
A state transition model that calculates a predicted value of the robot's position and orientation at the next time based on the actual values of the robot's position and orientation at a certain time and an action command that can be given to the robot, and an external force applied to the robot. a model execution unit that executes a robot model including an external force model that calculates a predicted value;
an acquisition unit that acquires the actual values of the position and orientation of the robot and the actual values of the external force applied to the robot;
a reward calculation unit that calculates a reward based on an error between the predicted value of the position and orientation calculated by the robot model and the target value of the position and orientation to be reached, and the predicted value of the external force calculated by the robot model;
For each control cycle, a plurality of candidates for the action command are generated and given to the robot model, and a reward is maximized based on the reward calculated by the reward calculation unit corresponding to each of the plurality of candidates for the action command. an action determination unit that determines an action command to
A robot controller with
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを用意し、
制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、
決定された前記行動指令に基づいて前記ロボットを制御する、
ロボット制御方法。
A state transition model that calculates a predicted value of the robot's position and orientation at the next time based on the actual values of the robot's position and orientation at a certain time and an action command that can be given to the robot, and an external force applied to the robot. Prepare a robot model that includes an external force model that calculates the predicted value,
Acquiring the actual values of the position and orientation and the actual values of the external force applied to the robot for each control cycle,
A plurality of candidates for the action command are generated for each control cycle and given to the robot model, and a plurality of predicted values of the position and orientation calculated by the state transition model corresponding to the plurality of candidates for the action command, and Based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between target values of the position and orientation to be reached and a plurality of candidates of the action command, a plurality of the action commands Based on the multiple rewards calculated for the candidates, determine the action command that maximizes the reward,
controlling the robot based on the determined action command;
Robot control method.
ある時間におけるロボットの位置姿勢の実績値及び前記ロボットに与えることができる行動指令に基づき、その次の時間における前記ロボットの位置姿勢の予測値を算出する状態遷移モデル及び前記ロボットに加えられる外力の予測値を算出する外力モデルを含むロボットモデルを用いて前記ロボットを制御するためのプログラムであって、
制御周期毎に、前記位置姿勢の実績値及び前記ロボットに加えられる外力の実績値を取得し、
制御周期毎に、前記行動指令の複数の候補を生成して前記ロボットモデルに与え、前記行動指令の複数の候補に対応して前記状態遷移モデルにより算出される複数の前記位置姿勢の予測値と到達すべき位置姿勢の目標値との間の複数の誤差及び前記行動指令の複数の候補に対応して前記外力モデルにより算出される複数の前記外力の予測値に基づいて、前記行動指令の複数の候補に対応して算出される複数の報酬に基づいて、報酬を最大化する行動指令を決定し、
決定された前記行動指令に基づいて前記ロボットを制御する、
各処理をコンピュータに行わせるロボット制御プログラム。
A state transition model that calculates a predicted value of the robot's position and orientation at the next time based on the actual values of the robot's position and orientation at a certain time and an action command that can be given to the robot, and an external force applied to the robot. A program for controlling the robot using a robot model including an external force model for calculating a predicted value,
Acquiring the actual values of the position and orientation and the actual values of the external force applied to the robot for each control cycle,
A plurality of candidates for the action command are generated for each control cycle and given to the robot model, and a plurality of predicted values of the position and orientation calculated by the state transition model corresponding to the plurality of candidates for the action command, and Based on a plurality of predicted values of the external force calculated by the external force model corresponding to a plurality of errors between target values of the position and orientation to be reached and a plurality of candidates of the action command, a plurality of the action commands Based on the multiple rewards calculated for the candidates, determine the action command that maximizes the reward,
controlling the robot based on the determined action command;
A robot control program that causes a computer to perform each process.
JP2021020049A 2021-02-10 2021-02-10 Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program Pending JP2022122670A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2021020049A JP2022122670A (en) 2021-02-10 2021-02-10 Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program
CN202280012144.1A CN116867620A (en) 2021-02-10 2022-02-01 Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program
US18/274,206 US20240083023A1 (en) 2021-02-10 2022-02-01 Robot model learning device, robot model machine learning method, recording medium storing robot model machine learning program, robot control device, robot control method, and recording medium storing robot control program
PCT/JP2022/003877 WO2022172812A1 (en) 2021-02-10 2022-02-01 Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program
EP22752640.7A EP4292778A1 (en) 2021-02-10 2022-02-01 Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021020049A JP2022122670A (en) 2021-02-10 2021-02-10 Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program

Publications (1)

Publication Number Publication Date
JP2022122670A true JP2022122670A (en) 2022-08-23

Family

ID=82838818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021020049A Pending JP2022122670A (en) 2021-02-10 2021-02-10 Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program

Country Status (5)

Country Link
US (1) US20240083023A1 (en)
EP (1) EP4292778A1 (en)
JP (1) JP2022122670A (en)
CN (1) CN116867620A (en)
WO (1) WO2022172812A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117140539B (en) * 2023-11-01 2024-01-23 成都交大光芒科技股份有限公司 Three-dimensional collaborative inspection method for robot based on space coordinate transformation matrix

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6240689B2 (en) * 2015-07-31 2017-11-29 ファナック株式会社 Machine learning device, robot control device, robot system, and machine learning method for learning human behavior pattern
JP6453922B2 (en) * 2017-02-06 2019-01-16 ファナック株式会社 Work picking apparatus and work picking method for improving work picking operation
JP6458912B1 (en) * 2018-01-24 2019-01-30 三菱電機株式会社 Position control device and position control method
JP6928031B2 (en) 2018-10-02 2021-09-01 ファナック株式会社 Control device and control system
JP7376922B2 (en) 2019-07-29 2023-11-09 株式会社コナミデジタルエンタテインメント Program, game control method and game device

Also Published As

Publication number Publication date
EP4292778A1 (en) 2023-12-20
US20240083023A1 (en) 2024-03-14
CN116867620A (en) 2023-10-10
WO2022172812A1 (en) 2022-08-18

Similar Documents

Publication Publication Date Title
Naughton et al. Elastica: A compliant mechanics environment for soft robotic control
Wang et al. Swingbot: Learning physical features from in-hand tactile exploration for dynamic swing-up manipulation
JP6640792B2 (en) Hand control device, hand control method, and hand simulation device
Satheeshbabu et al. Continuous control of a soft continuum arm using deep reinforcement learning
JP7463777B2 (en) CONTROL DEVICE, LEARNING DEVICE, ROBOT SYSTEM, AND METHOD
US20170249561A1 (en) Robot learning via human-demonstration of tasks with force and position objectives
Yuan et al. Design and control of roller grasper v2 for in-hand manipulation
WO2022172812A1 (en) Robot model learning device, robot model machine learning method, robot model machine learning program, robot control device, robot control method, and robot control program
JP2021035714A (en) Control device, control method and control program
Anvaripour et al. Safe human robot cooperation in task performed on the shared load
JP2021030359A (en) Control device, control method and control program
JP7159525B2 (en) ROBOT CONTROL DEVICE, LEARNING DEVICE, AND ROBOT CONTROL SYSTEM
TWI781708B (en) Learning apparatus, learning method, learning program, control apparatus, control method, and control program
WO2020262058A1 (en) Control device, control method, and program
JP7391635B2 (en) control system
JP5829103B2 (en) Robot hand
JP6895086B2 (en) Robot control devices, control methods and programs
Morozova et al. Robotic glove prototype: Development and simulation
JP2021146433A (en) Control device, robot device, simulation device, control method, simulation method, method for manufacturing object, program and recording medium
WO2022080132A1 (en) Trajectory generation device, trajectory generation method, and trajectory generation program
JP7452257B2 (en) Control device, robot system, and robot control method
WO2021033472A1 (en) Control device, control method, and control program
Orzechowski et al. Force approximation of the human hand in contact with a climbing wall handle
Karytsas Model-Free Reinforcement Learning Control of a Pneumatic-Driven Soft Continuum Robot
WO2024051978A1 (en) Action abstraction controller for fully actuated robotic manipulators

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231212