JP7575007B2 - Hand load estimation device, robot control system, and robot system - Google Patents
Hand load estimation device, robot control system, and robot system Download PDFInfo
- Publication number
- JP7575007B2 JP7575007B2 JP2021064141A JP2021064141A JP7575007B2 JP 7575007 B2 JP7575007 B2 JP 7575007B2 JP 2021064141 A JP2021064141 A JP 2021064141A JP 2021064141 A JP2021064141 A JP 2021064141A JP 7575007 B2 JP7575007 B2 JP 7575007B2
- Authority
- JP
- Japan
- Prior art keywords
- hand
- hand load
- learning
- robot
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Manipulator (AREA)
- Feedback Control In General (AREA)
Description
本開示は、ロボットの手先に加えられる負荷についてのパラメータを推定する手先負荷推定装置、ロボット制御システムおよびロボットシステムに関する。 The present disclosure relates to a hand load estimation device that estimates parameters regarding the load applied to a robot's hand, a robot control system, and a robot system.
産業用ロボット等のロボットの制御では、高速な動作および高精度な位置決めといった性能をロボットが発揮できるように、操作対象である手先に加えられる負荷についての質量または重心位置等のパラメータを適切に設定することが求められる。以下、ロボットの手先に加えられる負荷についてのパラメータを、手先負荷パラメータと称する。 When controlling industrial and other robots, it is necessary to appropriately set parameters such as the mass or center of gravity position of the load applied to the hand that is the object of operation so that the robot can perform high-speed operations and highly accurate positioning. Hereinafter, parameters related to the load applied to the robot's hand are referred to as hand load parameters.
特許文献1には、多関節のロボットについて、ロボットを動作させたときにおける各関節の状態量を基に手先負荷パラメータを同定する方法が開示されている。特許文献1の方法では、手先負荷パラメータについて線形化された式と、ロボットモデルに示される駆動トルクとに基づいて、ロボットの各関節の位置、速度、加速度、および、動作に要する電流といった状態量から手先負荷パラメータが同定される。特許文献1の方法によると、負荷の種類またはロボットの動作パターンを限定せずに、手先負荷パラメータを推定することができる。
特許文献1の方法では、手先負荷パラメータは、負荷の推定のために取得されたデータのみに基づいて推定される。このため、特許文献1の方法の場合、ロボットモデルのモデル化誤差の影響、または、ロボットモデルに含まれていない特性の影響によって、手先負荷パラメータの推定結果には、実際の手先負荷パラメータからの誤差が生じる場合がある。このため、特許文献1にかかる従来の技術によると、手先負荷パラメータの高精度な推定結果を得ることが困難であるという問題があった。
In the method of
本開示は、上記に鑑みてなされたものであって、手先負荷パラメータの高精度な推定結果を得ることができる手先負荷推定装置を得ることを目的とする。 The present disclosure has been made in consideration of the above, and aims to provide a hand load estimation device that can obtain highly accurate estimation results of hand load parameters.
上述した課題を解決し、目的を達成するために、本開示にかかる手先負荷推定装置は、ロボットの手先に加えられる負荷についてのパラメータである手先負荷パラメータを推定する手先負荷推定装置である。本開示にかかる手先負荷推定装置は、ロボットの関節の位置、速度および加速度のうち少なくとも1つのデータである動きデータが逆動力学モデルに入力されることによって、逆動力学モデルを基に計算されるトルクである公称トルクの値を出力する逆動力学モデル部と、動きデータと、関節の実トルクおよび公称トルクの差分とを含む学習用データに基づいて、逆動力学モデルのモデル化誤差の影響と、ロボットの特性のうち逆動力学モデルに含まれていない特性の影響とが除かれた手先負荷パラメータを学習する学習部と、動きデータと、実トルクおよび公称トルクの差分とを含む推論用データが入力され、学習部による学習結果を基に手先負荷パラメータを推論する推論部と、を備える。 In order to solve the above-mentioned problems and achieve the object, the hand load estimation device according to the present disclosure is a hand load estimation device that estimates a hand load parameter that is a parameter regarding the load applied to the hand of a robot. The hand load estimation device according to the present disclosure includes an inverse dynamics model unit that outputs a nominal torque value that is a torque calculated based on an inverse dynamics model by inputting motion data, which is at least one of data on the position, speed, and acceleration of a joint of the robot, into the inverse dynamics model; a learning unit that learns a hand load parameter from which the influence of modeling errors of the inverse dynamics model and the influence of characteristics of the robot that are not included in the inverse dynamics model are removed, based on learning data including the motion data and the difference between the actual torque and the nominal torque of the joint; and an inference unit that receives inference data including the motion data and the difference between the actual torque and the nominal torque, and infers the hand load parameter based on the learning result by the learning unit.
本開示にかかる手先負荷推定装置は、手先負荷パラメータの高精度な推定結果を得ることができるという効果を奏する。 The hand load estimation device disclosed herein has the advantage of being able to obtain highly accurate estimation results of hand load parameters.
以下に、実施の形態にかかる手先負荷推定装置、ロボット制御システムおよびロボットシステムを図面に基づいて詳細に説明する。 The hand load estimation device, robot control system, and robot system according to the embodiments are described in detail below with reference to the drawings.
実施の形態1.
図1は、実施の形態1にかかる手先負荷推定装置1の構成を示す図である。手先負荷推定装置1は、ロボットの手先に加えられる負荷についてのパラメータである手先負荷パラメータを推定する。実施の形態1において、ロボットは、産業用ロボットである。ロボットは、ロボットの可動部を動作させる複数の関節を有する。手先は、可動部の先端部分である。手先には、負荷が取り付けられる。負荷の例は、ハンドまたは工具といった着脱可能な部品である。
FIG. 1 is a diagram showing a configuration of a hand
手先負荷推定装置1は、入力部11、逆動力学モデル部12、学習部13、学習結果記憶部14および推論部15を有する。入力部11には、ロボットの内部の状態量のデータが、ロボットの制御周期ごとに入力される。これにより、手先負荷推定装置1は、ロボットの内部の状態量の時系列データを取得する。状態量のデータは、制御周期の整数倍ごとに入力されても良い。
The hand
状態量のデータは、位置データと電流データとを含む。位置データは、関節の位置を表すデータである。ここでは、位置データは、関節の位置のフィードバック値とする。関節の位置とは、関節の回転方向における位置であって、例えば回転角により表される。電流データは、関節を回転させるモータに流れる電流を表すデータである。ここでは、電流データは、モータに流れる電流のフィードバック値とする。入力部11には、各関節の位置フィードバック(FB)値である位置データと、各関節の電流フィードバック(FB)値である電流データが入力される。 The state quantity data includes position data and current data. The position data is data that represents the position of the joint. Here, the position data is a feedback value of the joint position. The position of the joint is the position in the rotational direction of the joint, and is represented by, for example, a rotation angle. The current data is data that represents the current flowing through the motor that rotates the joint. Here, the current data is a feedback value of the current flowing through the motor. Position data, which is the position feedback (FB) value of each joint, and current data, which is the current feedback (FB) value of each joint are input to the input unit 11.
学習部13による学習の際に、入力部11は、学習時の入力データとして、位置FB値の時系列データと電流FB値の時系列データとを取得する。推論部15による推論の際に、入力部11は、推論時の入力データとして、位置FB値の時系列データと電流FB値の時系列データとを取得する。図1では、学習時における入力部11の入力データのイメージと、推論時における入力部11の入力データのイメージとを示す。
When the learning unit 13 is learning, the input unit 11 acquires time series data of the position FB value and time series data of the current FB value as input data during learning. When the
各関節の位置θ、速度θ′および加速度θ′′は、入力部11へ入力された位置データから計算される。位置データから位置θ、速度θ′および加速度θ′′を計算する手段の図示は省略する。逆動力学モデル部12には、各関節の位置データから求まる各関節の位置θ、速度θ′および加速度θ′′のデータである動きデータが入力される。逆動力学モデルは、運動方程式を解くことによってトルクを求めるモデルである。逆動力学モデル部12は、各関節の位置θ、速度θ′および加速度θ′′が逆動力学モデルに入力されることによって、各関節の公称トルクτmdlを出力する。公称トルクτmdlは、関節についての運動方程式から求まるトルクである。逆動力学モデルは、事前に手先負荷推定装置1に内蔵される。
The position θ, velocity θ' and acceleration θ" of each joint are calculated from the position data input to the input unit 11. Means for calculating the position θ, velocity θ' and acceleration θ" from the position data are omitted from the illustration. Movement data, which is data on the position θ, velocity θ' and acceleration θ" of each joint calculated from the position data of each joint, is input to the inverse
逆動力学モデル部12は、運動方程式を計算する際に、事前に設定された公称パラメータを参照する。公称パラメータとしては、ロボットの各リンクの質量、重心位置または慣性テンソルといったパラメータが設定される。公称パラメータには、ロボットの設計時の値を使用できる。または、公称パラメータには、位置データおよび電流データが取得されるロボットにより事前に同定された値を使用しても良い。
When calculating the equation of motion, the inverse
学習部13による学習の際に、逆動力学モデル部12は、学習時の入力データから得られた位置θ、速度θ′および加速度θ′′を基に公称トルクτmdlを計算する。推論部15による推論の際に、逆動力学モデル部12は、推論時の入力データから得られた位置θ、速度θ′および加速度θ′′を基に公称トルクτmdlを計算する。なお、図1では、学習時のデータフローと推論時のデータフローとを分けて示す都合上、逆動力学モデル部12を2つに分けて示す。
During learning by the learning unit 13, the inverse
実トルクτrealは、入力部11へ入力された電流データにトルク定数を乗じることによって求まる。すなわち、手先負荷推定装置1は、電流データにトルク定数を乗じた値を実トルクのτreal値として用いる。手先負荷推定装置1は、実トルクτrealと、逆動力学モデル部12から出力された公称トルクτmdlとの差分τreal-τmdlを計算する。
The actual torque τ real is obtained by multiplying the current data input to the input unit 11 by a torque constant. That is, the hand
学習部13には、学習用データとして、学習時の入力データから得られた動きデータである各関節の位置θ、速度θ′および加速度θ′′と、学習時の入力データに基づく各関節の差分τreal-τmdlとが入力される。学習部13には、各関節についての学習用データが入力される。学習部13は、逆動力学モデルのモデル化誤差の影響と、ロボットの特性のうち逆動力学モデルに含まれていない特性の影響とが除かれた手先負荷パラメータを、学習用データを用いて学習する。以下、ロボットの特性のうち逆動力学モデルに含まれていない特性を、モデル外特性と称する。学習部13は、学習結果を学習結果記憶部14に保存する。 The learning unit 13 receives as learning data the position θ, velocity θ', and acceleration θ'' of each joint, which is movement data obtained from the input data during learning, and the difference τ real - τ mdl of each joint based on the input data during learning. The learning data for each joint is input to the learning unit 13. Using the learning data, the learning unit 13 learns hand load parameters from which the influence of modeling errors in the inverse dynamics model and the influence of characteristics of the robot that are not included in the inverse dynamics model have been removed. Hereinafter, characteristics of the robot that are not included in the inverse dynamics model are referred to as outside-model characteristics. The learning unit 13 stores the learning results in the learning result storage unit 14.
推論部15には、推論用データとして、推論時の入力データから得られた動きデータである各関節の位置θ、速度θ′および加速度θ′′と、推論時の入力データに基づく各関節の差分τreal-τmdlとが入力される。推論部15には、各関節についての推論用データが入力される。また、推論部15は、学習部13による学習結果を学習結果記憶部14から読み出す。推論部15は、学習部13による学習結果を基に、手先負荷パラメータを推定する。図1に示す構成において、手先負荷推定装置1は、学習部13における学習方法として任意の方法を適用することができる。手先負荷パラメータは、負荷の質量、負荷の重心位置、および負荷の慣性テンソルの各パラメータのうち少なくとも1つである。なお、逆動力学モデル部12、学習部13および推論部15の各々へ入力される動きデータは、位置θ、速度θ′および加速度θ′′の全てについてのデータに限られず、位置θ、速度θ′および加速度θ′′のうち少なくとも1つのデータであれば良い。
The
推論部15は、推論用データとして、ロボットの動作開始直後における位置FB値に基づいた動きデータと、ロボットの動作開始直後における電流FB値に基づいた差分τreal-τmdlとを使用する。これにより、手先負荷推定装置1は、ロボットが動作を開始したときから早い時点において手先負荷パラメータを推定することができる。また、ロボットが動作を開始したときから早い時点において、各関節を制御するための指令値に手先負荷パラメータの推定結果を反映させることが可能となる。
The
次に、学習方法の具体的な例について説明する。ここでは、RNN(Recurrent Neural Network)を用いて手先負荷パラメータの教師あり学習を行う場合について説明する。図2は、実施の形態1にかかる手先負荷推定装置1がRNNを用いて手先負荷パラメータの教師あり学習を行う場合における手先負荷推定装置1の構成を示す図である。
Next, a specific example of the learning method will be described. Here, a case where supervised learning of hand load parameters is performed using an RNN (Recurrent Neural Network) will be described. Figure 2 is a diagram showing the configuration of the hand
図2に示す手先負荷推定装置1の学習部13aには、学習用データとして、各関節の位置θ、速度θ′および加速度θ′′と、学習時の入力データに基づく各関節の差分τreal-τmdlとが入力される。また、学習部13aには、教師信号が入力される。教師信号は、手先負荷パラメータの正解ラベルである。正解ラベルは、逆動力学モデルのモデル化誤差とモデル外特性とによる誤差を含まない手先負荷パラメータである。学習部13aは、位置θ、速度θ′および加速度θ′′と差分τreal-τmdlとの入力に対する出力が正解ラベルに一致するようなニューラルネットワークを構築し、学習結果記憶部14aに学習結果を保存する。
The learning unit 13a of the hand
RNNの例としては、Elman/Jordan net、LSTM(Long Short Term Memory)、GRU(Gated Recurrent Unit)などがあり、いずれを用いても良い。実施の形態1では、LSTMを用いる場合を例に挙げて説明する。 Examples of RNNs include Elman/Jordan net, LSTM (Long Short Term Memory), GRU (Gated Recurrent Unit), etc., and any of them may be used. In the first embodiment, the case where LSTM is used will be explained as an example.
図3は、実施の形態1における学習に使用されるニューラルネットワークの構成を示す概念図である。ニューラルネットワークは、入力層21、中間層22および出力層23を備える。入力層21は、入力されるデータの要素の数、すなわち入力数に応じた数のニューロン24を備える。図3では入力層21における一番上のニューロン24にのみ符号を付しているが、入力層21において符号を省略した丸もニューロン24である。図3ではニューロン24の数を3としているが、ニューロン24の数は3に限定されない。
Figure 3 is a conceptual diagram showing the configuration of a neural network used for learning in
中間層22は、複数のニューロン25を備える。各ニューロン25は、LSTMユニットである。図3では中間層22における一番上のニューロン25にのみ符号を付しているが、中間層22において符号を省略した二重丸もニューロン25である。また、図3では中間層を1層としているが、中間層は2層以上でも良い。図3ではニューロン25の数を5としているが、ニューロン25の数は5に限定されない。
The intermediate layer 22 includes a plurality of
出力層23は、出力されるデータの要素の数、すなわち出力数に応じた数のニューロン26を備える。図3では出力層23における一番上のニューロン26にのみ符号を付しているが、出力層23において符号を省略した丸もニューロン26である。図3ではニューロン26の数を3としているが、ニューロン26の数は3に限定されない。
The
入力層21は、入力されたデータを中間層22へ出力する。詳細には、各ニューロン24は、入力されたデータを中間層22の各ニューロン25へ出力する。各ニューロン24は、入力された値に重みを乗算してから中間層22の各ニューロン25へ出力する。中間層22の各ニューロン25は、LSTMの処理を行い、処理結果を出力層23の各ニューロン26へ出力する。出力層23の各ニューロン26は、中間層22の各ニューロン25から出力されたデータを加算し、加算結果を出力する。出力層23の各ニューロン26は、中間層22の各ニューロン25から出力されたデータに重みを乗算し、重みを乗算した結果を加算する。
The
RNNにおいて、入力値を要素とするベクトルをxt、中間層22の出力値を要素とするベクトルをhtとした場合に、ベクトルhtは、次の式(1)で表すことができる。tは、制御周期を単位として離散化された時刻であって、何番目の制御周期であるかを示す整数である。ベクトルxtの次元をM、ベクトルhtの次元をNとするとき、Wは、N×Mの次元の線形変換行列であり、Rは、N×Nの次元の線形変換行列であり、bは、バイアスベクトルである。g(・)は、活性化関数を示す。 In an RNN, if a vector whose elements are input values is xt and a vector whose elements are output values of the intermediate layer 22 is ht , the vector ht can be expressed by the following formula (1). t is a time discretized in units of a control period and is an integer indicating the ordinal control period. If the dimension of vector xt is M and the dimension of vector ht is N, W is an N×M dimensional linear transformation matrix, R is an N×N dimensional linear transformation matrix, and b is a bias vector. g(.) indicates an activation function.
xt
1,xt
2,xt
3は、ベクトルxtの要素である入力値とする。ht
1,ht
2,ht
3,ht
4,ht
5は、ベクトルhtの要素である出力値とする。yt
1,yt
2,yt
3は、ベクトルytの要素である出力値とする。ベクトルytは、出力層23の出力値を要素とするベクトルとする。
Let xt1 , xt2 , and xt3 be input values that are elements of vector xt . Let ht1 , ht2 , ht3 , ht4 , and ht5 be output values that are elements of vector ht . Let yt1 , yt2 , and yt3 be output values that are elements of vector yt . Let vector yt be a vector whose elements are the output values of the
図4は、図3に示すニューラルネットワークを構成するLSTMユニットの例を示す図である。図4に示す構成例では、LSTMユニットでは、以下の式(2)-(7)に示す計算が行われる。 Figure 4 is a diagram showing an example of an LSTM unit that constitutes the neural network shown in Figure 3. In the configuration example shown in Figure 4, the LSTM unit performs the calculations shown in the following equations (2)-(7).
Wf,Wi,Wz,Woは、N×Mの次元の線形変換行列であり、Rf,Ri,Rz,Roは、N×Nの次元の線形変換行列であり、bf,bi,bz,boは、バイアスベクトルである。これらは、学習部13aによる学習により決定される。σ(・)は、活性化関数として使用されるシグモイド関数である。tanh(・)は、活性化関数として使用されるハイパボリックタンジェント関数を示す。 Wf , Wi , Wz , and Wo are linear transformation matrices of dimensions NxM, Rf , Ri , Rz , and Ro are linear transformation matrices of dimensions NxN, and bf , bi , bz , and bo are bias vectors. These are determined by learning by the learning unit 13a. σ(·) is a sigmoid function used as an activation function. tanh(·) is a hyperbolic tangent function used as an activation function.
実施の形態1において、入力層21には、位置θ、速度θ′、加速度θ′′および差分τreal-τmdlの各データが入力される。ベクトルxtは、位置θ、速度θ′、加速度θ′′および差分τreal-τmdlの各値を要素とするベクトルである。6軸の垂直多関節ロボットの場合、ベクトルxtの次元は24である。入力されるデータは、ロボットの全ての関節のデータに限られず、一部の関節のデータであっても良い。入力されるデータは、ロボットの全ての関節のうち動作中の関節のデータのみなどとしても良い。学習部13aは、入力されるデータを一部の関節のデータのみとすることによって、ベクトルxtの次元を減少させても良い。
In the first embodiment, the
実施の形態1において、出力層23は、位置θ、速度θ′、加速度θ′′および差分τreal-τmdlのデータから推定された手先負荷パラメータの値を出力する。ベクトルytは、時刻tにおけるデータから推定された手先負荷パラメータの各値を要素とするベクトルである。手先負荷パラメータは、負荷の質量、負荷の重心を示すXYZ座標、慣性テンソルの対角成分Ixx,Iyy,Izz、および慣性テンソルの非対角成分Ixy,Iyz,Izxといったパラメータである。これらのパラメータの全てを推定する場合、ベクトルytの次元は10である。学習部13aは、出力されるデータをこれらのパラメータのうちの一部のパラメータのデータのみとすることによって、ベクトルytの次元を減少させても良い。
In the first embodiment, the
学習部13aは、中間層22にLSTMユニットを適用することによって、時系列データの過去の値に依存する特徴量を抽出可能とするニューラルネットワークを構築する。また、学習部13aは、学習用データの入力に対する出力が手先負荷パラメータの正解値に一致するように、各ニューロン24,25,26の重み係数を調整する。これにより、学習部13aは、モデル化誤差とモデル外特性との影響を吸収可能なRNNの学習済モデルを生成することができる。学習結果記憶部14aは、学習結果である学習済モデルを記憶する。
The learning unit 13a applies an LSTM unit to the intermediate layer 22 to construct a neural network capable of extracting features that depend on past values of time-series data. The learning unit 13a also adjusts the weighting coefficients of each
推論部15aは、学習結果記憶部14aからRNNの学習済モデルを読み出す。推論部15aでは、推論用データである位置θ、速度θ′、加速度θ′′および差分τreal-τmdlの各データが学習済モデルへ入力される。推論部15aは、入力に対する学習済モデルの出力を、手先負荷パラメータの推定結果として出力する。 The inference unit 15a reads out the trained model of the RNN from the learning result storage unit 14a. In the inference unit 15a, each piece of data for inference, namely, the position θ, the velocity θ', the acceleration θ'' and the difference τ real -τ mdl, is input to the trained model. The inference unit 15a outputs the output of the trained model in response to the input as an estimation result of the hand load parameter.
実施の形態1によると、手先負荷推定装置1は、逆動力学モデルのモデル化誤差の影響とモデル外特性の影響とが除かれた手先負荷パラメータを学習し、学習結果を基に手先負荷パラメータを推論する。手先負荷推定装置1は、モデル化誤差の影響とモデル外特性の影響とによる誤差が低減された手先負荷パラメータを推定可能であることによって、ロボットの動作開始直後における手先負荷パラメータの高精度な推定が可能となる。これにより、手先負荷推定装置1は、手先負荷パラメータの高精度な推定結果を得ることができるという効果を奏する。
According to the first embodiment, the hand
位置データは、各関節の位置のフィードバック値としたが、これに限定されない。位置データは、各関節を制御するための指令値であっても良い。手先負荷推定装置1は、ロボット制御装置から指令値を取得する。
The position data is a feedback value of the position of each joint, but is not limited to this. The position data may be a command value for controlling each joint. The hand
手先負荷推定装置1は、電流データにトルク定数を乗じた値を実トルクのτrealの値として用いることとしたが、これに限定されない。手先負荷推定装置1は、ロボットに備えられたトルクセンサによって検出されたトルクの値を、実トルクτrealの値として用いても良い。
The hand
図5は、実施の形態1にかかる手先負荷推定装置1がトルクセンサ27によって検出されたトルクの値を実トルクの値として用いる場合における手先負荷推定装置1の構成を示す図である。トルクセンサ27は、ロボットの手先に実際に加わっているトルクを検出し、検出値を出力する。図5に示す手先負荷推定装置1では、図1に示す手先負荷推定装置1の電流データの入力とトルク定数の乗算とに代えて、トルクセンサ27からの検出値が入力される。図5における「トルク出力」は、トルクセンサ27から出力される検出値を表す。
Figure 5 is a diagram showing the configuration of the hand
学習部13による学習の際に、入力部11は、学習時の入力データとして、トルクの検出値を取得する。推論部15による推論の際に、入力部11は、推論時の入力データとして、トルクの検出値を取得する。手先負荷推定装置1は、トルクの検出値である実トルクτrealと、逆動力学モデル部12から出力された公称トルクτmdlとの差分τreal-τmdlを計算する。この場合も、手先負荷推定装置1は、手先負荷パラメータの高精度な推定結果を得ることができる。図2に示す手先負荷推定装置1においても、トルクの検出値を、実トルクτrealの値として用いても良い。
During learning by the learning unit 13, the input unit 11 acquires a detected torque value as input data during learning. During inference by the
学習部13aが用いるニューラルネットワークはRNNとしたが、これに限定されない。学習部13aは、フィードフォワード型、すなわち順伝搬型のニューラルネットワークを用いても良い。すなわち、学習部13aは、時刻tの中間層22の出力を再帰的に次の時刻の中間層22への入力とするニューラルネットワークではなく、各関節の位置θ、速度θ′加速度θ′′および差分τreal-τmdlの時系列データの入力のみによって出力が決まるニューラルネットワークを用いて、手先負荷パラメータの教師あり学習を行っても良い。この場合、学習部13aは、時刻tのデータを取得するごとにニューラルネットワークに逐次データを入力するのではなく、あらかじめ定められたバッチサイズのデータが蓄積されてからニューラルネットワークにデータを入力する。 Although the neural network used by the learning unit 13a is an RNN, this is not limiting. The learning unit 13a may use a feedforward type, i.e., forward propagation type, neural network. That is, the learning unit 13a may perform supervised learning of the hand load parameters using a neural network in which the output is determined only by the input of time series data of the position θ, velocity θ′, acceleration θ″, and difference τ real -τ mdl of each joint, instead of a neural network in which the output of the intermediate layer 22 at time t is recursively input to the intermediate layer 22 at the next time. In this case, the learning unit 13a inputs data to the neural network after a predetermined batch size of data is accumulated, rather than sequentially inputting data to the neural network every time data is acquired at time t.
実施の形態1では、学習部13,13aは、モデル化誤差の影響とモデル外特性の影響とが除かれた手先負荷パラメータを学習する。すなわち、学習部13,13aは、手先負荷パラメータの学習と、手先負荷パラメータに対応するトルクの誤差の学習とを、1つのニューラルネットワークによってまとめて行う。学習部13,13aは、手先負荷パラメータを学習するニューラルネットワークと、トルクの誤差を学習するニューラルネットワークとを分けても良い。この場合、手先負荷パラメータを学習するニューラルネットワークは、位置θ、速度θ′、加速度θ′′および差分τreal-τmdlが入力されることによって出力される手先負荷パラメータが正解ラベルに一致するように構築される。トルクの誤差を学習するニューラルネットワークは、位置θ、速度θ′、加速度θ′′および手先負荷パラメータが入力されることによって出力されるトルク誤差が正解ラベルである差分τreal-τmdlに一致するように構築される。手先負荷推定装置1は、手先負荷パラメータの推論結果を、トルク誤差の推論結果を基に補正する。この場合も、手先負荷推定装置1は、モデル化誤差の影響とモデル外特性の影響とが除かれた手先負荷パラメータを推定可能とし、手先負荷パラメータの高精度な推定結果を得ることができる。
In the first embodiment, the learning unit 13, 13a learns the hand load parameter from which the influence of the modeling error and the influence of the out-of-model characteristic are removed. That is, the learning unit 13, 13a learns the hand load parameter and the torque error corresponding to the hand load parameter together by using one neural network. The learning unit 13, 13a may separate the neural network for learning the hand load parameter from the neural network for learning the torque error. In this case, the neural network for learning the hand load parameter is constructed so that the hand load parameter output by inputting the position θ, the velocity θ', the acceleration θ'' and the difference τ real -τ mdl coincides with the correct label. The neural network for learning the torque error is constructed so that the torque error output by inputting the position θ, the velocity θ', the acceleration θ'' and the hand load parameter coincides with the correct label, the difference τ real -τ mdl . The hand
実施の形態2.
実施の形態2では、GPR(Gaussian Process Regression)を用いて、手先に負荷が加えられていないときのデータを用いて学習を行う場合について説明する。以下、手先に負荷が加えられていないことを、無負荷と称する。図6は、実施の形態2にかかる手先負荷推定装置2の構成を示す図である。実施の形態2では、実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1とは異なる構成について主に説明する。
Embodiment 2.
In the second embodiment, a case will be described in which learning is performed using data when no load is applied to the hand using GPR (Gaussian Process Regression). Hereinafter, no load is applied to the hand, which is referred to as "no load." Fig. 6 is a diagram showing the configuration of a hand load estimation device 2 according to the second embodiment. In the second embodiment, the same components as those in the first embodiment are given the same reference numerals, and the configuration different from the first embodiment will be mainly described.
手先負荷推定装置2は、入力部11、逆動力学モデル部12,12b、学習部13b、学習結果記憶部14bおよび推論部15bを有する。学習部13bによる学習の際に、逆動力学モデル部12は、公称パラメータが設定された逆動力学モデルを基に、無負荷時の位置θ、速度θ′および加速度θ′′から公称トルクτmdlを計算する。学習部13bには、学習用データとして、無負荷時の位置θ、速度θ′および加速度θ′′と、無負荷時の差分τreal-τmdlとが入力される。学習部13bは、無負荷でのモデル化誤差およびモデル外特性の影響が除かれた手先負荷パラメータを、学習用データを用いて学習する。学習部13bは、学習結果を学習結果記憶部14bに保存する。
The hand load estimation device 2 has an input unit 11, inverse
推論部15bによる推論の際に、逆動力学モデル部12bは、補正された逆動力学モデルを基に、推論用データである位置θ、速度θ′および加速度θ′′から、無負荷と仮定した場合における推定トルクτestを計算する。推論部15bには、推論用データとして、各関節の位置θ、速度θ′および加速度θ′′と、差分τreal-τestとが入力される。また、推論部15bは、学習部13bによる学習結果を学習結果記憶部14bから読み出す。推論部15bは、学習部13bによる学習結果を基に、手先負荷パラメータを推定する。
During inference by the inference unit 15b, the inverse dynamics model unit 12b calculates an estimated torque τ est assuming no load from the position θ, velocity θ', and acceleration θ'', which are inference data, based on the corrected inverse dynamics model. The position θ, velocity θ', and acceleration θ'' of each joint and the difference τ real -τ est are input to the inference unit 15b as inference data. The inference unit 15b also reads out the learning results by the
図7は、実施の形態2における学習に使用されるGPRについて説明するための図である。GPRは、非線形な関数y=f(x)の推定に用いられる手法である。GPRでは、観測値であるyが超多次元のガウス分布N(u,S)に従うと仮定して、ベイズ推定における尤度p(f|z)が最大となるようにカーネル関数Sの内部パラメータzを調整する。ガウス分布N(u,S)は、ある平均値に相当する平均関数u(x)と、ある分散値に相当するカーネル関数S(x,x’)とによって決まる。推定された関数f~N(u,S)は、関数の分布として出力される。カーネル関数Sが大きい領域では、入力xに対する出力yの不確実性が大きくなる。次の式(8)は、推定された関数f~N(u,S)を表したものである。 Figure 7 is a diagram for explaining GPR used for learning in the second embodiment. GPR is a method used to estimate a nonlinear function y = f(x). In GPR, it is assumed that the observed value y follows a multidimensional Gaussian distribution N(u, S), and the internal parameter z of the kernel function S is adjusted so that the likelihood p(f|z) in Bayesian estimation is maximized. The Gaussian distribution N(u, S) is determined by a mean function u(x) corresponding to a certain average value and a kernel function S(x, x') corresponding to a certain variance value. The estimated function f~N(u, S) is output as a distribution of functions. In a region where the kernel function S is large, the uncertainty of the output y for the input x becomes large. The following formula (8) represents the estimated function f~N(u, S).
GPRを備える学習部13bは、学習用データである無負荷時の位置θ、速度θ′および加速度θ′′を入力とし、差分τreal-τmdlを出力とする関数の分布を学習する。学習部13bは、得られた関数の分布を学習結果記憶部14bに保存する。学習用データは、位置θ、速度θ′および加速度θ′′のうちの一部のデータのみであっても良い。学習部13bには、位置θ、速度θ′および加速度θ′′のうち例えば速度θ′のデータのみが学習用データとして入力されても良い。このように、学習部13bは、入力されるデータを位置θ、速度θ′および加速度θ′′のうちの一部のデータのみに限定することによって、入力されるデータの次元を減少させても良い。
The
推論部15bは、ベイズフィルタの一種であるヒストグラムフィルタを用いて手先負荷パラメータの推定結果を得ることとしても良い。ヒストグラムフィルタでは、推定対象であるパラメータの存在範囲を特定の刻み幅で区切ることによって各刻み幅に候補点を設定し、時系列データを基に各候補点の存在確率が更新される。 The inference unit 15b may obtain the hand load parameter estimation result using a histogram filter, which is a type of Bayes filter. In the histogram filter, the existence range of the parameter to be estimated is divided into specific intervals, and candidate points are set for each interval, and the existence probability of each candidate point is updated based on the time series data.
図8は、実施の形態2における推論に使用されるヒストグラムフィルタについて説明するための図である。逆動力学モデル部12bは、GPRの学習結果である関数の分布を学習結果記憶部14bから読み出し、関数の分布を基に逆動力学モデルを補正する。逆動力学モデル部12bは、GPRの学習結果により補正された逆動力学モデルへ推論用データである位置θ、速度θ′および加速度θ′′が入力されることによって、無負荷と仮定した場合における推定トルクτestを出力する。
8 is a diagram for explaining a histogram filter used for inference in the second embodiment. The inverse dynamics model unit 12b reads out the distribution of the function, which is the learning result of the GPR, from the learning
手先に負荷を加えてロボットを動作させたときにおける推論用データの実トルクτrealと推定トルクτestとの差分τreal-τestは、負荷によって発生したオフセット分のトルクと考えることができる。以下、オフセット分のトルクを、オフセットトルクΔτと称する。推論部15bは、推定するパラメータの候補点を用意しておき、位置θ、速度θ′および加速度θ′′に対して実際のオフセットトルクΔτのデータが得られる確率が最も大きい候補点を、手先負荷パラメータの推定結果として出力する。 The difference τ real - τ est between the real torque τ real and the estimated torque τ est of the inference data when the robot is operated with a load applied to the hand can be considered as the offset torque generated by the load. Hereinafter, the offset torque will be referred to as the offset torque Δτ. The inference unit 15b prepares candidate points for the parameters to be estimated, and outputs the candidate point with the highest probability of obtaining the actual offset torque Δτ data for the position θ, velocity θ', and acceleration θ'' as the hand load parameter estimation result.
図8では、推定するパラメータは1種類、例えば手先の質量のみとする。図8では、取り得る質量の値の範囲をj等分した候補点m1,m2,・・・,mjのうちの1つである候補点miにおいて、入力されたオフセットトルクΔτのデータが得られる確率が最も大きくなった例を示す。jは任意の整数、iは1≦i≦jを満足する整数である。推定するパラメータがK種類である場合、各パラメータの採りうる範囲についてj個に分割したjK通りの候補点を用意しておくことができる。Kは2以上の整数とする。 In Fig. 8, the parameter to be estimated is one type, for example, only the mass of the hand. Fig. 8 shows an example in which the probability of obtaining the input offset torque Δτ data is highest at candidate point m i , which is one of candidate points m 1 , m 2 , ..., m j obtained by equally dividing the range of possible mass values into j parts. j is an arbitrary integer, and i is an integer satisfying 1≦i≦j. When there are K types of parameters to be estimated, jK candidate points can be prepared by dividing the possible range of each parameter into j parts. K is an integer of 2 or more.
候補点の刻み幅は、推定するパラメータの種類ごとに異なっても良い。推論部15bは、時刻tの位置θ、速度θ′および加速度θ′′に対するオフセットトルクΔτのデータが入力されることによって各候補点の存在確率を更新する際に、推定する各パラメータの採りうる範囲、または各パラメータの刻み幅を変更しても良い。 The step size of the candidate points may differ depending on the type of parameter to be estimated. When updating the probability of existence of each candidate point by inputting data on the position θ, velocity θ', and offset torque Δτ for acceleration θ'' at time t, the inference unit 15b may change the possible range of each parameter to be estimated or the step size of each parameter.
ヒストグラムフィルタの候補点miの存在確率をpiとして、ヒストグラムフィルタ全体の情報量の期待値は、次の式(9)により表される。 If the existence probability of a candidate point m i of the histogram filter is p i , the expected value of the amount of information of the entire histogram filter is expressed by the following formula (9).
式(9)に示すHは、エントロピーと呼ばれる。エントロピーHは、正の値を持つ。エントロピーHがゼロに近いほど、ある候補点にヒストグラムフィルタが収束していることを表す。推論用データの外れ値による悪影響を避けるため、推論部15bは、時刻tのデータが入力されるたびにエントロピーHを計算し、エントロピーHが前回求めたエントロピーHの値よりも減少している場合のみデータを有効なデータとみなして、各候補点の存在確率を更新しても良い。 H in equation (9) is called entropy. Entropy H has a positive value. The closer entropy H is to zero, the more the histogram filter has converged to a candidate point. To avoid adverse effects due to outliers in the inference data, the inference unit 15b may calculate entropy H each time data at time t is input, and may consider the data to be valid only if entropy H is lower than the previously calculated value of entropy H, and update the existence probability of each candidate point.
実施の形態2によると、手先負荷推定装置2は、無負荷時における学習用データを基に手先負荷パラメータを学習し、実トルクと無負荷時における推定トルクとに基づいて手先負荷パラメータを推論する。これにより、手先負荷推定装置2は、手先負荷パラメータの高精度な推定結果を得ることができるという効果を奏する。 According to the second embodiment, the hand load estimation device 2 learns the hand load parameters based on the learning data at no load, and infers the hand load parameters based on the actual torque and the estimated torque at no load. This allows the hand load estimation device 2 to obtain highly accurate estimation results of the hand load parameters.
実施の形態2では、手先負荷推定装置2は、無負荷にてロボットを動作させたときのデータを用いて学習を行うこととしたが、これに限定されない。手先負荷推定装置2は、質量または重心位置といった手先負荷パラメータが既知である負荷を手先に取り付けてロボットを動作させたときのデータを用いて学習を行っても良い。すなわち、手先負荷推定装置2は、実トルクτrealと、無負荷時のパラメータを基に計算された公称トルクτmdlとの差分τreal-τmdlをGPRで学習する代わりに、実トルクτrealと、既知の手先負荷パラメータを基に計算された公称トルクτmdlとの差分τreal-τmdlをGPRで学習する。手先負荷推定装置2は、推論用データの実トルクτrealと、学習時と同じ負荷が手先に取り付けられていると仮定した場合の推定トルクτestとの差分τreal-τestから、ヒストグラムフィルタにより手先負荷パラメータを推定することができる。 In the second embodiment, the hand load estimation device 2 performs learning using data obtained when the robot is operated without a load, but the present invention is not limited to this. The hand load estimation device 2 may perform learning using data obtained when the robot is operated with a load, the hand load parameters of which are known, attached to the hand, such as the mass or the center of gravity position. That is, instead of learning the difference τ real -τ mdl between the actual torque τ real and the nominal torque τ mdl calculated based on the parameters when no load is applied, the hand load estimation device 2 learns the difference τ real -τ mdl between the actual torque τ real and the nominal torque τ mdl calculated based on the known hand load parameters, using the GPR. The hand load estimation device 2 can estimate the hand load parameters using a histogram filter from the difference τ real -τ est between the actual torque τ real of the inference data and the estimated torque τ est when it is assumed that the same load as that used during learning is attached to the hand.
実施の形態2における学習には、非線形な未知関数を学習するために、GPRに代わる近似関数の学習方式を適用しても良い。学習には、例えば、Neural ProcessesまたはGP Netといった手法を適用しても良い。Neural Processesは、データから確率過程のモデルを生成するニューラルネットワークを学習する手法として知られる。GP Netは、未知関数の事前分布がガウス過程に従うと仮定して、データによる予測分布をベイズニューラルネットワークで近似する手法として知られる。これらの手法においても、GPRと同様に、関数の平均値と分散値とを出力可能である。また、実施の形態2における推論には、オフセットトルクΔτのデータに合うように手先負荷パラメータの候補点を更新するために、組合せ最適化問題を解く手法として知られる粒子群最適化(Particle Swarm Optimization:PSO)、遺伝的アルゴリズム(Genetic Algorithm:GA)、またはシミュレーテッドアニーリング(Simulated Annealing:SA)といった手法を適用しても良い。 In the learning in the second embodiment, a learning method of an approximation function instead of GPR may be applied to learn a nonlinear unknown function. For example, a method such as Neural Processes or GP Net may be applied to the learning. Neural Processes is known as a method of learning a neural network that generates a model of a stochastic process from data. GP Net is known as a method of approximating a predicted distribution by data using a Bayesian neural network, assuming that the prior distribution of an unknown function follows a Gaussian process. In these methods, the mean value and variance value of a function can be output, as in the case of GPR. In addition, in the inference in the second embodiment, a method such as Particle Swarm Optimization (PSO), Genetic Algorithm (GA), or Simulated Annealing (SA), which are known as methods for solving combinatorial optimization problems, may be applied to update the candidate points of the hand load parameters to match the data of the offset torque Δτ.
実施の形態2では、非線形な未知関数を学習するために、GPRによる学習とその他の学習とが組み合わせられても良い。例えば、GPRによる学習において入力されたデータをニューラルネットワークの入力として、GPRが出力する関数の平均値と分散値とを教師信号とする学習を実施する。この場合、手先負荷推定装置2は、学習したニューラルネットワークを用いて、推論時の平均値と分散値とを出力することができる。 In the second embodiment, in order to learn a nonlinear unknown function, learning by GPR may be combined with other learning. For example, data input in learning by GPR is used as input to a neural network, and learning is performed using the average value and variance value of the function output by GPR as teacher signals. In this case, the hand load estimation device 2 can output the average value and variance value at the time of inference using the trained neural network.
実施の形態3.
実施の形態3では、関節の温度データを学習に用いる場合について説明する。図9は、実施の形態3にかかる手先負荷推定装置3の構成を示す図である。実施の形態3では、実施の形態1または2と同一の構成要素には同一の符号を付し、実施の形態1または2とは異なる構成について主に説明する。
In the third embodiment, a case where joint temperature data is used for learning will be described. Fig. 9 is a diagram showing the configuration of a hand
手先負荷推定装置3は、入力部11、逆動力学モデル部12、学習部13c、学習結果記憶部14cおよび推論部15cを有する。入力部11には、位置データである位置FB値と、電流データである電流FB値と、温度データである温度フィードバック(FB)値とが入力される。温度FB値は、ロボットの動作時における各関節の温度である。
The hand
学習部13cには、学習用データとして、学習時の入力データに基づく各関節の位置θ、速度θ′および加速度θ′′と、学習時の入力データに基づく各関節の差分τreal-τmdlと、各関節の温度データとが入力される。学習部13cは、関節における摩擦特性の温度依存性による影響が除かれた手先負荷パラメータを、学習用データを用いて学習する。学習部13cは、学習結果を学習結果記憶部14cに保存する。 The learning unit 13c receives as learning data the position θ, velocity θ', and acceleration θ'' of each joint based on the input data during learning, the difference τ real -τ mdl of each joint based on the input data during learning, and temperature data of each joint. Using the learning data, the learning unit 13c learns hand load parameters from which the effects of the temperature dependency of friction characteristics in the joints have been removed. The learning unit 13c stores the learning results in the learning result storage unit 14c.
推論部15cには、推論用データとして、推論時の入力データに基づく各関節の位置θ、速度θ′および加速度θ′′と、推論時の入力データに基づく各関節の差分τreal-τmdlと、各関節の温度データとが入力される。また、推論部15cは、学習部13cによる学習結果を学習結果記憶部14cから読み出す。推論部15cは、学習部13cによる学習結果を基に、手先負荷パラメータを推定する。
The
摩擦特性の温度依存性は、モデル化誤差の要因、またはモデル外特性の1つに挙げられる。実施の形態3によると、手先負荷推定装置3は、摩擦特性の温度依存性による影響が除かれた手先負荷パラメータを学習し、学習結果を基に手先負荷パラメータを推論する。手先負荷推定装置3は、摩擦特性の温度依存性による影響が低減された手先負荷パラメータを推論可能であることによって、手先負荷パラメータの高精度な推定結果を得ることができる。なお、実施の形態1または2の手先負荷推定装置1,2に、実施の形態3と同様の学習および推論を適用しても良い。
The temperature dependency of frictional characteristics is one of the factors that cause modeling errors or characteristics outside the model. According to the third embodiment, the hand
実施の形態4.
実施の形態4では、各関節の位置θ、速度θ′および加速度θ′′のデータである動きデータを変数に変換する場合について説明する。図10は、実施の形態4にかかる手先負荷推定装置4の構成を示す図である。実施の形態4では、実施の形態1から3と同一の構成要素には同一の符号を付し、実施の形態1から3とは異なる構成について主に説明する。
Embodiment 4.
In the fourth embodiment, a case will be described in which motion data, which is data on the position θ, velocity θ', and acceleration θ'' of each joint, is converted into variables. Fig. 10 is a diagram showing the configuration of a hand end load estimating device 4 according to the fourth embodiment. In the fourth embodiment, the same components as those in the first to third embodiments are given the same reference numerals, and the configuration different from the first to third embodiments will be mainly described.
手先負荷推定装置4は、入力部11、逆動力学モデル部12、学習部13d、学習結果記憶部14d、推論部15dおよび変数変換部16を有する。変数変換部16には、位置データから計算された位置θ、速度θ′および加速度θ′′が入力される。変数変換部16は、位置θ、速度θ′および加速度θ′′を、手先負荷パラメータに関して線形化されたトルクの式を設定するための変数に変換する。変数変換部16は、変換後の変数を出力する。
The hand load estimation device 4 has an input unit 11, an inverse
学習部13dによる学習の際に、変数変換部16は、学習時の入力データから得られた位置θ、速度θ′および加速度θ′′のデータを変数に変換し、学習部13dへ変数を出力する。推論部15dによる推論の際に、変数変換部16は、推論時の入力データから得られた位置θ、速度θ′および加速度θ′′のデータを変数に変換し、推論部15dへ変数を出力する。なお、図10では、学習時のデータフローと推論時のデータフローとを分けて示す都合上、変数変換部16を2つに分けて示す。
During learning by the
学習部13dには、学習用データとして、各関節の位置θ、速度θ′および加速度θ′′のデータから変換された変数と、各関節の差分τreal-τmdlとが入力される。学習部13dは、逆動力学モデルのモデル化誤差の影響とモデル外特性による影響とが除かれた手先負荷パラメータを、学習用データを用いて学習する。学習部13dは、学習結果を学習結果記憶部14dに保存する。
Variables converted from data on the position θ, velocity θ', and acceleration θ'' of each joint, and the difference τ real -τ mdl of each joint are input to the
推論部15dには、推論用データとして、各関節の位置θ、速度θ′および加速度θ′′のデータから変換された変数と、各関節の差分τreal-τmdlとが入力される。推論部15dは、学習部13dによる学習結果を学習結果記憶部14dから読み出す。推論部15dは、学習部13dによる学習結果を基に、手先負荷パラメータを推定する。
The inference unit 15d receives, as inference data, variables converted from the data on the position θ, velocity θ', and acceleration θ'' of each joint, and the difference τ real -τ mdl of each joint. The inference unit 15d reads out the learning results of the
ロボットの運動方程式は、位置θ、速度θ′および加速度θ′′に関して非線形な式である。ただし、負荷についての質量および重心等のパラメータを(質量)×(重心)といった形にして並べたパラメータベクトルをMとすると、運動方程式は、次の式(10)のように線形化が可能となる。K(θ,θ′,θ′′)は、リグレッサ行列と呼ばれる。K(θ,θ′,θ′′)は、各関節の位置θ、速度θ′および加速度θ′′から変換された変数である。 The equation of motion for a robot is a nonlinear equation with respect to position θ, velocity θ', and acceleration θ''. However, if a parameter vector M is an arrangement of parameters such as the mass and center of gravity of the load in the form (mass) x (center of gravity), the equation of motion can be linearized as shown in the following equation (10). K(θ, θ', θ'') is called the regressor matrix. K(θ, θ', θ'') is a variable converted from the position θ, velocity θ', and acceleration θ'' of each joint.
上記のRNNおよびGPRは、非線形回帰による処理を扱い得る。手先負荷推定装置4は、位置θ、速度θ′および加速度θ′′のデータを変数に変換することによって、非線形回帰により扱われる処理を線形領域での処理として扱うことが可能となる。これにより、手先負荷推定装置4は、簡易な処理による学習と推論とが可能となる。手先負荷推定装置4は、簡易な処理によって、手先負荷パラメータの高精度な推定結果を得ることができる。実施の形態1から3の手先負荷推定装置1,2,3に、実施の形態4と同様の変数変換を適用しても良い。なお、後述する実施の形態7では、手先負荷パラメータの逐次同定と確率分布との組み合わせによる推論にリグレッサ行列を適用する例について説明する。
The RNN and GPR described above can handle processing by nonlinear regression. By converting the data of the position θ, velocity θ', and acceleration θ'' into variables, the hand load estimation device 4 can handle processing handled by nonlinear regression as processing in a linear domain. This enables the hand load estimation device 4 to learn and infer using simple processing. The hand load estimation device 4 can obtain highly accurate estimation results of hand load parameters using simple processing. The same variable conversion as in embodiment 4 may be applied to the hand
実施の形態5.
実施の形態5では、各関節の位置θ、速度θ′または加速度θ′′に関係する摩擦特性の情報を学習に用いる場合について説明する。図11は、実施の形態5にかかる手先負荷推定装置5の構成を示す図である。実施の形態5では、実施の形態1から4と同一の構成要素には同一の符号を付し、実施の形態1から4とは異なる構成について主に説明する。
Embodiment 5.
In the fifth embodiment, a case will be described in which information on friction characteristics related to the position θ, velocity θ', or acceleration θ'' of each joint is used for learning. FIG. 11 is a diagram showing the configuration of a hand end load estimating device 5 according to the fifth embodiment. In the fifth embodiment, the same components as those in the first to fourth embodiments are given the same reference numerals, and the configuration different from the first to fourth embodiments will be mainly described.
手先負荷推定装置5は、入力部11、逆動力学モデル部12、学習部13e、学習結果記憶部14eおよび推論部15eを有する。学習部13eには、学習用データとして、学習時の入力データに基づく各関節の位置θ、速度θ′および加速度θ′′と、学習時の入力データに基づく各関節の差分τreal-τmdlとが入力される。
The hand load estimation device 5 has an input unit 11, an inverse
また、学習部13eには、摩擦特性の情報が入力される。学習部13eに入力される摩擦特性の情報は、学習用データとは別にあらかじめ同定された情報であって、各関節の位置θ、速度θ′および加速度θ′′の少なくとも1つに関係する情報である。なお、摩擦特性が位置θ、速度θ′および加速度θ′′の少なくとも1つに関係するとは、位置θ、速度θ′および加速度θ′′の少なくとも1つの変化に対応して摩擦特性が変化することを指す。 In addition, information on friction characteristics is input to the learning unit 13e. The information on friction characteristics input to the learning unit 13e is information identified in advance separately from the learning data, and is information related to at least one of the position θ, velocity θ', and acceleration θ'' of each joint. Note that the friction characteristics being related to at least one of the position θ, velocity θ', and acceleration θ'' refers to the friction characteristics changing in response to a change in at least one of the position θ, velocity θ', and acceleration θ''.
学習部13eは、学習用データと摩擦特性の情報とを用いた学習によって、各関節の位置θ、速度θ′または加速度θ′′に関係する摩擦特性による影響が除かれた手先負荷パラメータを学習する。学習部13eは、学習結果を学習結果記憶部14eに保存する。推論部15eは、学習部13eによる学習結果を学習結果記憶部14eから読み出す。推論部15eは、学習部13eによる学習結果を基に、手先負荷パラメータを推定する。 The learning unit 13e learns hand load parameters from which the influence of friction characteristics related to the position θ, velocity θ', or acceleration θ'' of each joint has been removed by learning using the learning data and information on friction characteristics. The learning unit 13e stores the learning results in the learning result storage unit 14e. The inference unit 15e reads out the learning results by the learning unit 13e from the learning result storage unit 14e. The inference unit 15e estimates the hand load parameters based on the learning results by the learning unit 13e.
位置θ、速度θ′または加速度θ′′に関係する摩擦特性は、モデル化誤差の要因、またはモデル外特性の1つに挙げられる。実施の形態5によると、手先負荷推定装置5は、各関節の位置θ、速度θ′または加速度θ′′に関係する摩擦特性による影響が除かれた手先負荷パラメータを学習し、学習結果を基に手先負荷パラメータを推論する。手先負荷推定装置5は、位置θ、速度θ′または加速度θ′′に関係する摩擦特性の影響が低減された手先負荷パラメータを推論可能であることによって、手先負荷パラメータの高精度な推定結果を得ることができる。 Friction characteristics related to position θ, velocity θ', or acceleration θ'' are cited as one of the causes of modeling error or characteristics outside the model. According to embodiment 5, the hand load estimation device 5 learns hand load parameters from which the influence of friction characteristics related to position θ, velocity θ', or acceleration θ'' of each joint has been removed, and infers the hand load parameters based on the learning results. The hand load estimation device 5 is capable of inferring hand load parameters from which the influence of friction characteristics related to position θ, velocity θ', or acceleration θ'' has been reduced, thereby making it possible to obtain highly accurate estimation results of the hand load parameters.
なお、学習部13eには、各関節の温度に関係する摩擦特性の情報が入力されても良い。各関節の温度に関係する摩擦特性の情報は、学習用データとは別にあらかじめ同定された情報である。この場合、学習部13eは、各関節の温度に関係する摩擦特性による影響が除かれた手先負荷パラメータを学習する。摩擦特性が温度に関係するとは、温度の変化に対応して摩擦特性が変化することを指す。この場合も、手先負荷推定装置5は、手先負荷パラメータの高精度な推定結果を得ることができる。なお、実施の形態1から4の手先負荷推定装置1,2,3,4に、実施の形態5と同様の学習を適用しても良い。
Information on friction characteristics related to the temperature of each joint may be input to the learning unit 13e. The information on friction characteristics related to the temperature of each joint is information that is identified in advance separately from the learning data. In this case, the learning unit 13e learns hand load parameters from which the influence of the friction characteristics related to the temperature of each joint has been removed. The friction characteristics being related to temperature refers to the friction characteristics changing in response to a change in temperature. In this case as well, the hand load estimation device 5 can obtain highly accurate estimation results of the hand load parameters. In addition, learning similar to that of the fifth embodiment may be applied to the hand
実施の形態6.
実施の形態6では、手先負荷パラメータの信頼度を示す指標を計算および出力する場合について説明する。図12は、実施の形態6にかかる手先負荷推定装置6の構成を示す図である。実施の形態6では、実施の形態1から5と同一の構成要素には同一の符号を付し、実施の形態1から5とは異なる構成について主に説明する。
In the sixth embodiment, a case where an index indicating the reliability of a hand load parameter is calculated and output will be described. Fig. 12 is a diagram showing the configuration of a hand
手先負荷推定装置6は、入力部11、逆動力学モデル部12、学習部13f、学習結果記憶部14fおよび推論部15fを有する。学習部13fは、関節における摩擦特性の温度依存性による影響が除かれた手先負荷パラメータを、学習用データを用いて学習する。学習部13fは、学習結果を学習結果記憶部14fに保存する。推論部15fは、学習部13fによる学習結果を学習結果記憶部14fから読み出す。推論部15fは、学習部13fによる学習結果を基に、手先負荷パラメータを推論する。さらに、学習部13fは、信頼度の指標を計算し、計算結果を学習結果記憶部14fに保存する。推論部15fは、信頼度の指標を学習結果記憶部14fから読み出し、手先負荷パラメータの推論結果とともに信頼度の指標を出力する。
The hand
ニューラルネットワークを用いた推論を行う場合、信頼度の指標は、学習時の確率分布と推論時の確率分布との差異を表す尺度を用いることによって求めることができる。尺度としては、JSダイバージェンス(Jensen-Shannon divergence)、KLダイバージェンス(Kullback-Leibler divergence)などがあり、いずれを用いても良い。学習部13fは、ニューラルネットワークの出力としてパラメータごとの平均値と分散とを設定する。ここで、差異を表す尺度は、正解ラベルの確率分布と、ニューラルネットワークの出力として得られる平均値および分散で表現される推論値の確率分布との差であって、KLダイバージェンス等で計算して得られる値である。正解ラベルは、平均値に対する教師信号である。学習部13fは、ニューラルネットワークの構築によって、各パラメータの平均値と分散とを正解ラベルの確率分布に近づけるような学習を行う。手先負荷推定装置6は、各パラメータについての平均値を推定値、分散を信頼度の指標として扱う。分散が小さいほど、推定値の信頼度が高いと評価される。
When performing inference using a neural network, the reliability index can be obtained by using a measure that represents the difference between the probability distribution at the time of learning and the probability distribution at the time of inference. As the measure, there are JS divergence (Jensen-Shannon divergence), KL divergence (Kullback-Leibler divergence), etc., and any of them may be used. The
ニューラルネットワークを用いた推論を行う場合、Dropoutによる出力結果を信頼度指標とすることもできる。Dropoutは、ニューラルネットワークのユニットごとにある割合でランダムにユニットの利用および非利用を設定して学習する手法として知られる。この場合には、推論時にも同様の割合でユニットをランダムに利用または非利用としたいくつかのニューラルネットワークを用意してそれぞれで推定を行うことで、推定のばらつきを確保する。複数の推定結果の平均値を推定値、分散を信頼度指標として扱い、分散が小さいほど、推定値の信頼度が高いと評価される。 When making inference using a neural network, the output result from Dropout can also be used as a reliability index. Dropout is known as a technique for learning by randomly setting the use and non-use of units at a certain ratio for each unit of a neural network. In this case, several neural networks are prepared in which units are randomly used or not used at the same ratio during inference, and estimation is performed with each of them, ensuring variation in the estimation. The average value of multiple estimation results is treated as the estimate, and the variance is treated as a reliability index, and the smaller the variance, the higher the reliability of the estimate is evaluated.
ヒストグラムフィルタを用いた推論を行う場合、ヒストグラムフィルタの確信度の大きさを信頼度指標とすることができる。この場合には、すべての候補点での存在確率の和が1となるように正規化した場合に最大の存在確率を示す候補点の確率が大きいほど、推定値の信頼度が高いと評価される。上記の式(9)で計算されたヒストグラムフィルタのエントロピーHの値が小さいほど推定値の信頼度が高いとする評価もできる。 When making inference using a histogram filter, the magnitude of the certainty of the histogram filter can be used as a reliability index. In this case, the greater the probability of the candidate point that shows the greatest existence probability when normalized so that the sum of the existence probabilities at all candidate points is 1, the higher the reliability of the estimated value is evaluated to be. It can also be evaluated that the smaller the value of the entropy H of the histogram filter calculated by the above formula (9), the higher the reliability of the estimated value.
GPRを用いた学習を行う場合、学習結果として得られている関数の分布の分散値を信頼度指標とすることができる。この場合には、推論時の位置θ、速度θ′、加速度θ′′の領域に対して、GPRが示すトルク誤差関数の分布の分散値が小さいほど、推定値の信頼度が高いと評価される。 When learning using GPR, the variance of the distribution of the function obtained as a result of learning can be used as a reliability index. In this case, the smaller the variance of the distribution of the torque error function shown by GPR for the region of position θ, velocity θ', and acceleration θ'' at the time of inference, the higher the reliability of the estimated value is evaluated to be.
実施の形態6によると、手先負荷推定装置6は、手先負荷パラメータの信頼度を示す指標を計算し、手先負荷パラメータの推論結果とともに信頼度の指標を出力することによって、推定された手先負荷パラメータの信頼度の評価が可能となる。
According to the sixth embodiment, the hand
実施の形態7.
実施の形態7では、推論部が手先負荷パラメータの推定値とともに信頼度の指標を出力する例について説明する。図13は、実施の形態7にかかる手先負荷推定装置7の構成を示す図である。実施の形態7では、実施の形態1から6と同一の構成要素には同一の符号を付し、実施の形態1から6とは異なる構成について主に説明する。
Embodiment 7.
In the seventh embodiment, an example will be described in which the inference unit outputs a reliability index together with the estimated value of the hand load parameter. Fig. 13 is a diagram showing the configuration of a hand load estimation device 7 according to the seventh embodiment. In the seventh embodiment, the same components as those in the first to sixth embodiments are given the same reference numerals, and the configuration different from the first to sixth embodiments will be mainly described.
手先負荷推定装置7は、入力部11、逆動力学モデル部12,12g、学習部13g、学習結果記憶部14g、推論部15gおよび変数変換部16を有する。学習部13gによる学習の際に、変数変換部16は、学習時の入力データから得られた動きデータである位置θ、速度θ′および加速度θ′′を変数に変換し、学習部13gへ変数を出力する。推論部15gによる推論の際に、変数変換部16は、推論時の入力データから得られた位置θ、速度θ′および加速度θ′′を変数に変換し、推論部15gへ変数を出力する。
The hand load estimation device 7 has an input unit 11, inverse
学習部13gには、学習用データとして、K(θ,θ′,θ′′)と、差分τreal-τmdlとが入力される。リグレッサ行列であるK(θ,θ′,θ′′)は、上記実施の形態4にて説明するように、位置θ、速度θ′および加速度θ′′から変換された変数である。さらに、学習部13gには、公称パラメータの情報が入力される。GPRを備える学習部13gは、学習用データである無負荷時の位置θ、速度θ′および加速度θ′′を入力とし、差分τreal-τmdlを出力とする関数の分布を学習する。学習部13gは、学習結果である関数の分布を学習結果記憶部14gに保存する。 The learning unit 13g receives K(θ, θ', θ'') and the difference τ real -τ mdl as learning data. The regressor matrix K(θ, θ', θ'') is a variable converted from the position θ, velocity θ', and acceleration θ'', as described in the fourth embodiment. Furthermore, information on nominal parameters is input to the learning unit 13g. The learning unit 13g equipped with a GPR receives the position θ, velocity θ', and acceleration θ'' at no load, which are learning data, as input, and learns the distribution of a function that outputs the difference τ real -τ mdl . The learning unit 13g stores the distribution of the function, which is the learning result, in the learning result storage unit 14g.
逆動力学モデル部12gは、GPRの学習結果である関数の分布を学習結果記憶部14gから読み出し、関数の分布を基に逆動力学モデルを補正する。逆動力学モデル部12gは、GPRの学習結果により補正された逆動力学モデルへ、推論時の位置データに基づく位置θ、速度θ′および加速度θ′′が入力されることによって、無負荷と仮定した場合における推定トルクτestを出力する。 The inverse dynamics model unit 12g reads out the distribution of the function, which is the learning result of the GPR, from the learning result storage unit 14g, and corrects the inverse dynamics model based on the distribution of the function. The inverse dynamics model unit 12g outputs an estimated torque τ est in the case where no load is assumed, by inputting the position θ, velocity θ', and acceleration θ'' based on the position data at the time of inference to the inverse dynamics model corrected by the learning result of the GPR.
推論部15gには、推論用データとして、K(θ,θ′,θ′′)とオフセットトルクΔτとが入力される。オフセットトルクΔτは、実トルクτrealと推定トルクτestとの差分τreal-τestである。推論部15gは、学習部13gによる学習結果を学習結果記憶部14gから読み出す。推論部15gは、学習部13gによる学習結果を基に、手先負荷パラメータを推定する。 The inference unit 15g receives K(θ, θ', θ'') and the offset torque Δτ as inference data. The offset torque Δτ is the difference τ real - τ est between the actual torque τ real and the estimated torque τ est . The inference unit 15g reads out the learning result by the learning unit 13g from the learning result storage unit 14g. The inference unit 15g estimates the hand load parameters based on the learning result by the learning unit 13g.
上記の式(10)におけるK(θ,θ′,θ′′)とパラメータベクトルMは、摩擦トルクに関する項を含む形に拡張できる。学習部13gは、学習用の無負荷時のデータに含まれる各時刻の実トルクτrealを並べたベクトルであるYと、変数変換部16で各時刻の位置θ、速度θ′および加速度θ′′から計算されたリグレット行列であるKと、逆動力学モデルに含まれる公称パラメータとを入力として、無負荷時に上記式(10)により計算される公称トルクが実トルクに合うようなパラメータベクトルMの最適解を計算する。パラメータベクトルMの最適解は、次の式(11)により表される。なお、式(11)において、Mの上部に「^」を付したものは、パラメータベクトルMの最適解を表す。Mの上部に「 ̄」を付したものは、公称パラメータを表す。Tは転置行列を表す。Wは重み行列を表す。 K(θ, θ', θ'') and the parameter vector M in the above formula (10) can be expanded to include a term related to friction torque. The learning unit 13g receives as input Y, which is a vector in which the real torque τ real at each time included in the no-load data for learning is arranged, K, which is a regret matrix calculated from the position θ, velocity θ', and acceleration θ'' at each time by the variable conversion unit 16, and the nominal parameters included in the inverse dynamics model, and calculates an optimal solution of the parameter vector M such that the nominal torque calculated by the above formula (10) at no-load matches the actual torque. The optimal solution of the parameter vector M is expressed by the following formula (11). In formula (11), M with "^" above it represents the optimal solution of the parameter vector M. M with " ̄" above it represents the nominal parameters. T represents a transposed matrix. W represents a weighting matrix.
オフセットトルクΔτと、推定対象の手先負荷パラメータベクトルmとについて、次の式(12)が成り立つ。これにより、推論部15gは、任意の線形回帰手法によって手先負荷パラメータベクトルmを推定することができる。 The following equation (12) holds for the offset torque Δτ and the hand load parameter vector m to be estimated. This allows the inference unit 15g to estimate the hand load parameter vector m using any linear regression method.
線形回帰手法としてベイズ線形回帰が用いられる場合、推論部15gは、手先負荷パラメータの推定結果とともに、推定結果の信頼度についての指標を出力することができる。 When Bayesian linear regression is used as the linear regression method, the inference unit 15g can output an indicator of the reliability of the estimation result together with the estimation result of the hand load parameters.
図14は、実施の形態7におけるベイズ線形回帰による確率分布の更新について説明するための概念図である。事前確率分布であるN(m|u0,S0)は、観測データΔτ,K(θ,θ′,θ′′)により事後確率分布であるN(m|u,S)へ更新される。かかる更新は繰り返される。ベイズ線形回帰では、時刻tのデータを入力としたときの手先負荷パラメータベクトルmが確率分布N(m|u,S)に従うとして、平均uおよび分散Sは、それぞれ次の式(13)、式(14)に従って更新される。u0は、平均の事前確率分布を表す。S0は、分散の事前確率分布を表す。βは、トルク誤差の共分散の逆数を表すパラメータであって、トルクデータに含まれるノイズ分布に応じて設定される。 FIG. 14 is a conceptual diagram for explaining the update of the probability distribution by Bayesian linear regression in the seventh embodiment. The prior probability distribution N(m|u 0 , S 0 ) is updated to the posterior probability distribution N(m|u, S) by the observation data Δτ, K(θ, θ′, θ″). Such updating is repeated. In the Bayesian linear regression, the hand load parameter vector m when the data at time t is input is assumed to follow the probability distribution N(m|u, S), and the mean u and variance S are updated according to the following formulas (13) and (14), respectively. u 0 represents the prior probability distribution of the mean. S 0 represents the prior probability distribution of the variance. β is a parameter representing the inverse of the covariance of the torque error, and is set according to the noise distribution included in the torque data.
推論部15gは、手先負荷パラメータの推定値として確率分布の平均uを出力する。また、推論部15gは、信頼度の指標として確率分布の分散Sを出力する。分散Sが小さいほど、推定値の信頼度が高いと評価される。 The inference unit 15g outputs the mean u of the probability distribution as an estimate of the hand load parameter. The inference unit 15g also outputs the variance S of the probability distribution as an index of reliability. The smaller the variance S, the higher the reliability of the estimate is evaluated.
実施の形態7によると、手先負荷推定装置7は、手先負荷パラメータの推論結果とともに信頼度の指標を出力することによって、推定された手先負荷パラメータの信頼度の評価が可能となる。 According to the seventh embodiment, the hand load estimation device 7 outputs an index of reliability together with the inference result of the hand load parameter, thereby making it possible to evaluate the reliability of the estimated hand load parameter.
実施の形態8.
図15は、実施の形態8にかかるロボットシステム8の構成を示す図である。ロボットシステム8は、ロボット制御システム9とロボット40とを有する。ロボット制御システム9は、手先負荷推定装置1と、ロボット40を制御するロボット制御装置30とを有する。実施の形態8において、ロボット制御装置30は、ロボット40の動作中において、手先負荷推定装置1から出力される手先負荷パラメータを基に、ロボット40の加減速度を調整する。実施の形態8では、実施の形態1から7と同一の構成要素には同一の符号を付し、実施の形態1から7とは異なる構成について主に説明する。なお、ロボットシステム8は、実施の形態1から7のいずれか1つに記載の手先負荷推定装置を有するものであれば良い。
FIG. 15 is a diagram showing a configuration of a
ロボット制御装置30は、指令生成部31を有する。ロボット制御装置30は、手先負荷推定装置1から出力される手先負荷パラメータを受信する。指令生成部31は、手先負荷推定装置1から出力される手先負荷パラメータを基に、ロボット40へ送る指令を生成する。ロボット制御装置30は、生成された指令をロボット40へ送る。
The robot controller 30 has a command generator 31. The robot controller 30 receives the hand load parameters output from the hand
手先負荷推定装置1は、ロボット制御装置30と通信可能に接続されている。手先負荷推定装置1は、ロボット制御装置30の外部の装置に限定されない。手先負荷推定装置1は、ロボット制御装置30に内蔵されても良い。実施の形態1から7のいずれか1つにおける学習および推論は、ロボット制御装置30の内部で実施されても良い。
The hand
または、手先負荷推定装置1の学習部13および推論部15のうち、学習部13がロボット制御装置30の外部の装置によって実現され、推論部15がロボット制御装置30の内部の手先負荷推定装置1に内蔵されても良い。この場合、入力部11、逆動力学モデル部12、学習部13および学習結果記憶部14を有する学習装置がロボット制御装置30の外部に設けられる。また、かかる学習装置と同様の入力部11および逆動力学モデル部12と、学習装置の学習結果記憶部14から読み出された学習済モデルに基づいた推論を行う推論部15とが、ロボット制御装置30の内部の手先負荷推定装置1に設けられる。このように、実施の形態1から7のいずれか1つにおける学習はロボット制御装置30の外部で実施され、かつ、実施の形態1から7のいずれか1つにおける推論はロボット制御装置30の内部で実施されても良い。
Alternatively, of the learning unit 13 and the
次に、ロボット制御装置30によるロボット40の加減速度の変更について説明する。ロボット制御装置30は、各関節を動作させるトルクの許容値を超えない範囲で最短となる加速時間および減速時間を算出する機能を有する。ロボット制御装置30は、手先負荷パラメータを用いて、ロボット40の加速開始地点、加速終了地点、減速開始地点、減速終了地点の各々についての運動方程式を計算することによって、加速時間および減速時間を求める。ロボット制御装置30は、加速時間および減速時間を基に、加減速度を変更する。
Next, the change in acceleration/deceleration of the
ロボット制御装置30は、加減速終了地点までのデータによって推定された手先負荷パラメータを用いて、減速開始地点と減速終了地点とについての計算を行う。この場合、実トルクが許容値を超えないように、いわば保守的な固定値に設定された手先負荷パラメータを基に減速時間が計算される場合に比べて、減速時間の短縮が可能となる。ロボット制御装置30は、トルクの許容値を超えない範囲で減速時間を短縮可能であることによって、トルクを過大とさせること無くロボット40の高速化を実現できる。
The robot control device 30 calculates the deceleration start point and deceleration end point using the hand load parameters estimated from the data up to the acceleration/deceleration end point. In this case, it is possible to shorten the deceleration time compared to when the deceleration time is calculated based on the hand load parameters that are set to a conservative fixed value so that the actual torque does not exceed the allowable value. By being able to shorten the deceleration time without exceeding the allowable torque value, the robot control device 30 can achieve an increase in the speed of the
ロボット制御装置30は、手先負荷パラメータの推定結果とともに、推定結果の信頼度を示す指標が得られる場合、信頼度の指標に応じて加減速度をさらに調整しても良い。例えば、ロボット制御装置30は、最適加減速の演算に用いられる手先負荷パラメータの値に信頼度を反映させることができる。この場合、ロボット制御装置30は、手先負荷パラメータが固定値である場合よりも減速時間が長くならない範囲で、信頼度に応じて手先負荷パラメータを保守的な方向に補正することができる。 When an index indicating the reliability of the estimation result is obtained along with the hand load parameter estimation result, the robot controller 30 may further adjust the acceleration/deceleration rate according to the reliability index. For example, the robot controller 30 may reflect the reliability in the value of the hand load parameter used in the calculation of the optimal acceleration/deceleration. In this case, the robot controller 30 may correct the hand load parameter in a conservative direction according to the reliability, within a range in which the deceleration time is not longer than when the hand load parameter is a fixed value.
ロボット制御装置30は、推定結果である手先負荷パラメータの値をそのまま用いて計算された減速時間に信頼度を反映させても良い。この場合、ロボット制御装置30は、手先パラメータの推定結果をそのまま用いて計算された減速時間に、信頼度に応じた補正係数a(ただし、a>1とする)を乗じた値をロボット40の減速時間として用いる。
The robot controller 30 may reflect the reliability in the deceleration time calculated using the estimated hand load parameter value as is. In this case, the robot controller 30 uses the deceleration time calculated using the estimated hand parameter value as is multiplied by a correction coefficient a (where a>1) according to the reliability as the deceleration time of the
ロボット制御装置30は、手先負荷パラメータの推定に用いられるデータを取得するための1つの動作が終了した後において負荷が加えられた状態で続けられる次の動作の加速時間および減速時間を計算する際に、推定された当該手先負荷パラメータを用いても良い。 The robot control device 30 may use the estimated hand load parameters when calculating the acceleration and deceleration times of the next operation that is continued under load after one operation for obtaining data used to estimate the hand load parameters is completed.
実施の形態8によると、ロボットシステム8は、手先負荷パラメータを基に、ロボットの加減速度を変更することによって、ロボット40の高速化を実現できる。
According to the eighth embodiment, the
実施の形態9.
実施の形態9では、図15を参照して、ロボットシステム8においてロボット40の衝突検知のためのパラメータを調整する例について説明する。ロボット制御装置30は、ロボット40の動作中において、手先負荷パラメータを基に、ロボット40の衝突を検知するためのパラメータである閾値を調整する。閾値は、ロボット40と障害物との衝突の有無を判断するための閾値である。
In the ninth embodiment, an example of adjusting parameters for detecting a collision of the
ロボット制御装置30は、各関節の実トルクと推定トルクとの比較によって衝突を検知する機能を有する。実トルクが推定トルクよりも大きく、かつ実トルクと推定トルクとの差があらかじめ設定された閾値よりも大きい場合、ロボット制御装置30は、障害物にロボット40が衝突したと判断する。閾値には、正常にロボット40が動作しているときの実トルクと推定トルクとの誤差による誤検知を防ぐためのマージンがあらかじめ設けられる。これに加えて、ロボット制御装置30は、手先負荷パラメータを基に閾値を調整することによって、閾値を固定とする場合に比べて衝突の検知感度を高めることができる。
The robot controller 30 has a function of detecting a collision by comparing the actual torque and estimated torque of each joint. If the actual torque is greater than the estimated torque and the difference between the actual torque and the estimated torque is greater than a preset threshold, the robot controller 30 determines that the
ロボット制御装置30は、手先負荷パラメータの推定結果とともに、推定結果の信頼度を示す指標が得られる場合、信頼度の指標に応じて閾値をさらに調整しても良い。例えば、ロボット制御装置30は、推定トルクの演算に用いられる手先負荷パラメータの値に信頼度を反映させることができる。この場合、ロボット制御装置30は、信頼度に応じて補正された手先負荷パラメータを基に閾値を調整することで、いわば保守的な方向に閾値を調整することができる。 When an index indicating the reliability of the estimation result is obtained together with the hand load parameter estimation result, the robot control device 30 may further adjust the threshold value according to the reliability index. For example, the robot control device 30 can reflect the reliability in the value of the hand load parameter used to calculate the estimated torque. In this case, the robot control device 30 can adjust the threshold value in a conservative direction, so to speak, by adjusting the threshold value based on the hand load parameter corrected according to the reliability.
ロボット制御装置30は、推定結果である手先負荷パラメータの値をそのまま用いて計算された閾値の信頼度を反映させても良い。この場合、ロボット制御装置30は、手先パラメータの推定結果をそのまま用いて推定トルクを計算し、推定トルクを基に求めた閾値に、信頼度に応じた補正係数b(ただし、b>1とする)を乗じることによって閾値を調整する。 The robot controller 30 may reflect the reliability of the threshold calculated using the estimated hand load parameter value as is. In this case, the robot controller 30 calculates the estimated torque using the estimated hand parameter value as is, and adjusts the threshold by multiplying the threshold calculated based on the estimated torque by a correction coefficient b (where b>1) according to the reliability.
実施の形態8と同様に、手先負荷推定装置1は、ロボット制御装置30の外部の装置に限定されない。手先負荷推定装置1は、ロボット制御装置30に内蔵されても良い。実施の形態1から7のいずれか1つにおける学習および推論は、ロボット制御装置30の内部で実施されても良い。または、実施の形態1から7のいずれか1つにおける学習はロボット制御装置30の外部で実施され、かつ、実施の形態1から7のいずれか1つにおける推論はロボット制御装置30の内部で実施されても良い。
As in
実施の形態9によると、ロボットシステム8は、手先負荷パラメータを基に、衝突検知のためのパラメータを調整することによって、障害物へのロボット40の衝突を低減させ、ロボット40の安全性を向上させることができる。
According to the ninth embodiment, the
次に、実施の形態1から7にかかる手先負荷推定装置1,2,3,4,5,6,7を実現するハードウェア構成について説明する。図16は、実施の形態1から7にかかる手先負荷推定装置1,2,3,4,5,6,7を実現するハードウェアの第1の構成例を示す図である。第1の構成例は、手先負荷推定装置1,2,3,4,5,6,7の要部である逆動力学モデル部12,12b,12g、学習部13,13a,13b,13c,13d,13e,13f,13g、推論部15,15a,15b,15c,15d,15e,15f,15gおよび変数変換部16を、プロセッサ53とメモリ54とを有する処理回路51によって実現する場合の構成例である。
Next, a hardware configuration for realizing the hand
入力部52は、手先負荷推定装置1,2,3,4,5,6,7に対する入力信号を外部から受信する回路である。図1等に示す入力部11は、入力部52により実現される。出力部55は、手先負荷推定装置1,2,3,4,5,6,7で生成した信号を外部へ出力する回路である。出力部55は、推定結果である手先負荷パラメータと、実施の形態6および7における信頼度の指標とを出力する。
The
プロセッサ53は、CPU(Central Processing Unit)である。プロセッサ53は、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)でも良い。メモリ54は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)等の不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVD(Digital Versatile Disk)等である。
The
プロセッサ53は、手先負荷推定プログラムを実行する。手先負荷推定プログラムは、手先負荷推定装置1,2,3,4,5,6,7の要部を構成する各部として動作するための処理が記述されたプログラムである。手先負荷推定プログラムは、メモリ54にあらかじめ格納される。プロセッサ53は、メモリ54に格納されている手先負荷推定プログラムを読み出して実行することにより、手先負荷推定装置1,2,3,4,5,6,7の要部を構成する各部として動作する。また、メモリ54は、各種情報を記憶する。学習結果記憶部14,14a,14b,14c,14d,14e,14f,14gは、メモリ54により実現される。メモリ54は、プロセッサ53が各種処理を実行する際の一時メモリにも使用される。
The
手先負荷推定プログラムは、メモリ54にあらかじめ格納されているものとしたがこれに限定されない。手先負荷推定プログラムは、コンピュータシステムによる読み取りが可能とされた記憶媒体に書き込まれた状態で手先負荷推定装置1,2,3,4,5,6,7のユーザに提供され、ユーザによってメモリ54にインストールされても良い。記憶媒体は、フレキシブルディスクである可搬型記憶媒体、あるいは半導体メモリであるフラッシュメモリでも良い。手先負荷推定プログラムは、他のコンピュータあるいはサーバ装置から通信ネットワークを介してメモリ54へインストールされても良い。
The hand load estimation program is assumed to be stored in advance in memory 54, but is not limited to this. The hand load estimation program may be provided to a user of the hand
実施の形態1から7にかかる手先負荷推定装置1,2,3,4,5,6,7の要部は、専用のハードウェアによって実現しても良い。図17は、実施の形態1から7にかかる手先負荷推定装置1,2,3,4,5,6,7を実現するハードウェアの第2の構成例を示す図である。第2の構成例は、図16に示す処理回路51の機能を、専用のハードウェアである処理回路56により実現する場合の構成例である。
The main parts of the hand
処理回路56は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた回路である。なお、図17に示す例では、手先負荷推定装置1,2,3,4,5,6,7の要部を単一の処理回路56で実現するものとしたがこれに限定されない。ハードウェアが複数の処理回路56を備え、手先負荷推定装置1,2,3,4,5,6,7の要部をそれぞれ異なる処理回路56で実現しても良い。記憶装置57は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)であって、各種情報を記憶する。学習結果記憶部14,14a,14b,14c,14d,14e,14f,14gは、記憶装置57により実現される。
The
なお、手先負荷推定装置1,2,3,4,5,6,7の要部のうちの一部を図16に示すプロセッサ53とメモリ54とで実現し、残りを処理回路56と同様の専用のハードウェアで実現しても良い。
In addition, some of the main parts of the hand
以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。 The configurations shown in the above embodiments are examples of the contents of this disclosure. The configurations of each embodiment can be combined with other known technologies. The configurations of each embodiment can be combined as appropriate. A portion of the configuration of each embodiment can be omitted or modified without departing from the gist of this disclosure.
1,2,3,4,5,6,7 手先負荷推定装置、8 ロボットシステム、9 ロボット制御システム、11,52 入力部、12,12b,12g 逆動力学モデル部、13,13a,13b,13c,13d,13e,13f,13g 学習部、14,14a,14b,14c,14d,14e,14f,14g 学習結果記憶部、15,15a,15b,15c,15d,15e,15f,15g 推論部、16 変数変換部、21 入力層、22 中間層、23 出力層、24,25,26 ニューロン、27 トルクセンサ、30 ロボット制御装置、31 指令生成部、40 ロボット、51,56 処理回路、53 プロセッサ、54 メモリ、55 出力部、57 記憶装置。 1, 2, 3, 4, 5, 6, 7 Hand load estimation device, 8 Robot system, 9 Robot control system, 11, 52 Input section, 12, 12b, 12g Inverse dynamics model section, 13, 13a, 13b, 13c, 13d, 13e, 13f, 13g Learning section, 14, 14a, 14b, 14c, 14d, 14e, 14f, 14g Learning result storage section, 15, 15a, 15b, 15c, 15d, 15e, 15f, 15g Inference section, 16 Variable conversion section, 21 Input layer, 22 Intermediate layer, 23 Output layer, 24, 25, 26 Neuron, 27 Torque sensor, 30 Robot control device, 31 Command generation section, 40 Robot, 51, 56 Processing circuit, 53 Processor, 54 Memory, 55 Output section, 57 storage device.
Claims (20)
前記ロボットの関節の位置、速度および加速度のうち少なくとも1つのデータである動きデータが逆動力学モデルに入力されることによって、前記逆動力学モデルを基に計算されるトルクである公称トルクの値を出力する逆動力学モデル部と、
前記動きデータと、前記関節の実トルクおよび前記公称トルクの差分とを含む学習用データに基づいて、前記逆動力学モデルのモデル化誤差の影響と、前記ロボットの特性のうち前記逆動力学モデルに含まれていない特性の影響とが除かれた前記手先負荷パラメータを学習する学習部と、
前記動きデータと、前記実トルクおよび前記公称トルクの前記差分とを含む推論用データが入力され、前記学習部による学習結果を基に前記手先負荷パラメータを推論する推論部と、
を備えることを特徴とする手先負荷推定装置。 A hand load estimation device that estimates a hand load parameter which is a parameter regarding a load applied to a hand of a robot, comprising:
an inverse dynamics model unit that outputs a nominal torque value, which is a torque calculated based on an inverse dynamics model, by inputting motion data, which is at least one of data on a position, a velocity, and an acceleration of a joint of the robot, into the inverse dynamics model;
a learning unit that learns the hand load parameters from which an influence of a modeling error of the inverse dynamics model and an influence of a characteristic of the robot that is not included in the inverse dynamics model are removed, based on learning data including the motion data and a difference between the actual torque and the nominal torque of the joint;
an inference unit to which inference data including the motion data and the difference between the actual torque and the nominal torque is input, and which infers the hand load parameter based on a learning result by the learning unit;
A hand load estimation device comprising:
前記逆動力学モデル部、前記学習部および前記推論部には、前記位置データから求まる前記動きデータが入力されることを特徴とする請求項1に記載の手先負荷推定装置。 Position data representing positions of the joints is input to the hand load estimation device,
2. The hand load estimating device according to claim 1, wherein the movement data obtained from the position data is input to the inverse dynamics model section, the learning section and the inference section.
前記推論部は、前記実トルクと、前記手先に負荷が追加されていないときにおける前記公称トルクである推定トルクとの差分に基づいて前記手先負荷パラメータを推論することを特徴とする請求項1から5のいずれか1つに記載の手先負荷推定装置。 The motion data when no load is applied to the hand and the difference calculated based on the actual torque and the nominal torque when no load is applied to the hand are input to the learning unit,
6. The hand load estimation device according to claim 1, wherein the inference unit infers the hand load parameter based on a difference between the actual torque and an estimated torque, which is the nominal torque when no load is added to the hand.
前記推論部は、前記実トルクと、前記手先負荷パラメータが既知である負荷が前記手先に加えられているときにおける前記公称トルクである推定トルクとの差分に基づいて前記手先負荷パラメータを推論することを特徴とする請求項1から5のいずれか1つに記載の手先負荷推定装置。 The motion data when a load having a known hand load parameter is applied to the hand, and the difference calculated based on the actual torque and the nominal torque when a load having a known hand load parameter is applied to the hand are input to the learning unit,
The hand load estimation device according to any one of claims 1 to 5, characterized in that the inference unit infers the hand load parameter based on a difference between the actual torque and an estimated torque, which is the nominal torque when a load, the hand load parameter of which is known, is applied to the hand.
前記学習部および前記推論部の各々には、前記変数が入力されることを特徴とする請求項1から11のいずれか1つに記載の手先負荷推定装置。 A variable conversion unit converts the motion data into variables for setting a linearized torque equation with respect to the hand load parameters,
12. The hand load estimating device according to claim 1, wherein the variables are input to the learning section and the inference section.
前記推論部は、前記手先負荷パラメータの推論結果とともに前記指標を出力することを特徴とする請求項1から12のいずれか1つに記載の手先負荷推定装置。 The learning unit calculates an index indicating a reliability of the hand load parameter,
13. The hand load estimating device according to claim 1, wherein the inference unit outputs the index together with an inference result of the hand load parameter.
前記推定値の信頼度を示す前記指標は、前記確率分布の分散値であることを特徴とする請求項13に記載の手先負荷推定装置。 the estimated value of the hand load parameter obtained by the inference unit is an average value of a probability distribution updated by sequential identification from the motion data and the difference,
14. The hand load estimating device according to claim 13, wherein the index indicating the reliability of the estimated value is a variance value of the probability distribution.
前記手先負荷推定装置から出力される手先負荷パラメータを基に、ロボットへ送る指令を生成するロボット制御装置と、
を備えることを特徴とするロボット制御システム。 A hand load estimation device according to any one of claims 1 to 14,
a robot control device that generates a command to be sent to a robot based on the hand load parameters output from the hand load estimation device;
A robot control system comprising:
前記ロボット制御システムからの指令に従って動作するロボットと、
を備えることを特徴とするロボットシステム。 A robot control system according to any one of claims 15 to 19;
a robot that operates according to commands from the robot control system;
A robot system comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021064141A JP7575007B2 (en) | 2021-04-05 | 2021-04-05 | Hand load estimation device, robot control system, and robot system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021064141A JP7575007B2 (en) | 2021-04-05 | 2021-04-05 | Hand load estimation device, robot control system, and robot system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022159755A JP2022159755A (en) | 2022-10-18 |
| JP7575007B2 true JP7575007B2 (en) | 2024-10-29 |
Family
ID=83641416
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021064141A Active JP7575007B2 (en) | 2021-04-05 | 2021-04-05 | Hand load estimation device, robot control system, and robot system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7575007B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121468587B (en) * | 2026-01-06 | 2026-04-10 | 北京航空航天大学杭州创新研究院 | Mechanical arm control method and system based on mechanism-Bayesian joint modeling |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016215357A (en) | 2015-05-26 | 2016-12-22 | 国立大学法人 名古屋工業大学 | Parameter estimation apparatus, parameter estimation method, program, and control apparatus |
| WO2020017370A1 (en) | 2018-07-17 | 2020-01-23 | ソニー株式会社 | Control device, control method, and control system |
-
2021
- 2021-04-05 JP JP2021064141A patent/JP7575007B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016215357A (en) | 2015-05-26 | 2016-12-22 | 国立大学法人 名古屋工業大学 | Parameter estimation apparatus, parameter estimation method, program, and control apparatus |
| WO2020017370A1 (en) | 2018-07-17 | 2020-01-23 | ソニー株式会社 | Control device, control method, and control system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022159755A (en) | 2022-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Cheng et al. | Human motion prediction using semi-adaptable neural networks | |
| CN111949013B (en) | Method for controlling a vehicle and device for controlling a vehicle | |
| CN114080304B (en) | Control device, control method, and control program | |
| CN113671942B (en) | Equipment and methods for controlling robots | |
| Rummery | Problem solving with reinforcement learning | |
| US12591770B2 (en) | Predicting a state of a computer-controlled entity | |
| EP3424650A1 (en) | A method and apparatus for performing control of a movement of a robot arm | |
| JP7517225B2 (en) | Trajectory generation system, trajectory generation method, and program | |
| US20220413496A1 (en) | Predictive Modeling of Aircraft Dynamics | |
| CN112292239B (en) | Method and device for computer-aided determination of control parameters for a suitable operating technical system | |
| EP3832552B1 (en) | System and method for training a neural ode network | |
| CN113614743A (en) | Method and apparatus for operating a robot | |
| JP2021501433A (en) | Generation of control system for target system | |
| JP7468619B2 (en) | Learning device, learning method, and recording medium | |
| Polydoros et al. | Online multi-target learning of inverse dynamics models for computed-torque control of compliant manipulators | |
| JP7575007B2 (en) | Hand load estimation device, robot control system, and robot system | |
| CN114253131A (en) | Apparatus and method for controlling physical system | |
| Wang et al. | Adaptive data-driven predictor of ship maneuvering motion under varying ocean environments | |
| EP4521174A1 (en) | Model-predictive control of a technical system | |
| CN111984000A (en) | Method and apparatus for automatically influencing an actuator | |
| CN112836439A (en) | Method and apparatus for processing sensor data | |
| Ting et al. | Locally Weighted Regression for Control. | |
| CN117008467A (en) | Method and control device for controlling a machine | |
| EP4718319A1 (en) | Device and method for controlling an agent | |
| Supeni et al. | NARMAX identification of DC motor model using repulsive particle swarm optimization |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20210406 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240219 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240219 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240821 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240910 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241008 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7575007 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |