LSTM
による力覚データを用いた把持物体の識別
山崎雅幸
†
山下隆義
†
山内悠嗣
†
藤吉弘亘
†
堂前幸康
‡
白土浩司
‡
†
中部大学
‡
三菱電機
(
株
)
E-mail:
[email protected]
Abstract
本研究では,力覚センサより取得したデータを用い てロボットが把持した物体の識別を目的とする.力覚セ ンサはロボットに接触を用いて精密な作業を行わせる ために使用されており,ハンドにかかる微細な力を計 測することができる.力覚センサの出力は時系列デー タであり,一般的なニューラルネットワークでは連続的 な変化を捉えることができない.そこで,本研究では 系列データから有用な特徴を捉えることが可能なLong Short Term Memory(LSTM)を用いて,把持物体の識 別を実現する.入力には力覚データとともに電流フィー ドバック(FB)を使用する.電流FBを用いることでロ ボット関節にかかった負荷を同時に得ることができ,よ り多くの特徴を得られる.評価実験より,力覚センサ と電流FBを同時に用いることでより高い精度の識別 を実現した.また,剛体の物体に対する識別率が高く, 非剛体を1クラスにまとめることでより高い精度の結 果を得られた.
1
はじめに
従来の物体識別は,Deep Convolutional Neural Network[3]等の機械学習を用い,ビジョンセンサによ り取得した画像より,識別することが一般的である.し かし,画像からでは箱の内包物の種類や量などの取得 できない情報がある.そこで,本研究は,画像を用い ずに,ロボットハンドに装着された力覚センサ[2]から の把持物体識別を対象する.力覚センサは主にロボッ トのハンドに取り付けられ,ロボットが接触を用いて 精密な動作をするために活用されている.力覚センサ をハンドにつけることで接触以外にも,物体を把持し た時にハンドにかかる力を測ることができる.本研究 では物体を把持した時の物体ごとに異なるモーメント の変化に注目する.また,力覚センサはハンドにかか る力のみを測定するため,ロボットの姿勢を加味する ことができない.そこでロボット関節の電流フィード バックを用いることでロボットの関節にかかった負荷 を見ることができる.力覚データを測定するシーンは
アームを動作させ,停止した後のデータを用いる.停 止後を用いることで慣性による影響や,非剛体の形状 変化が生じるため,重量を測るよりも有効な特徴を得 ることができる.
Recurrent Neural Network(RNN)[4]の一種である Long Short Term Memory(LSTM)[1]は動画,音声な どの系列データを扱うときに用いられる.RNNは1時 刻前の中間層の出力をサンプルとともに入力する.学 習時のパラメータ更新は,Back Propagation Through Time(BPTT)[6]と呼ばれる方法を用い中間層から時系 列をさかのぼりながら行うため連鎖的に過去の情報を 得ることができる.LSTMは通常のRNNで起こる勾 配消失問題を解決したもので,長時系列を扱うことが できる.
本研究では力覚センサと,電流フィードバック(FB) よりLSTMを用いて把持物体の識別方法を検討する. また,電流FBを利用する有用性,データ取得につい て検討を行う.
2 Long Short Term Memory
LSTMはRNNの1種であり,系列データを扱うニ ューラルネットワークとして用いられる.RNNは時刻
tの時,中間層へ入力サンプルと同時に時刻t−1の中 間層の応答値を入力することで系列を加味することが できる.RNNでの学習にはBPTTが用いられ,過去 のデータを遡るように更新していくが,長期のデータ になるにつれ,誤差の勾配が消失,または爆発的に大き くなってしまう.LSTMはRNNの問題点である長期記 憶における勾配消失問題を解決した手法である.LSTM はRNNの中間層をLSTMユニットに置き換えている. LSTMユニットは記憶メモリと入力,出力,忘却ゲー トで構成されている.図1にLSTMの構造を示す.
LSTMは通常のRNNと同様に入力と時刻t−1の中 間層の応答値を結合する.同時に入力ゲートの計算を 行う.入力ゲートにはt−1の時の中間層ht−1,記憶
メモリUt−1
0 と入力xtからUint を求める.U1tを活性化 関数tanhに与え,Ut
inをシグモイド関数に与えU2tを 求める.Ut
inはシグモイド関数により,0から1の値を
図1 LSTMの構造
ている.次に忘却ゲートに計算を行う.入力ゲートと 同様にt−1の時の中間層ht−1,記憶メモリUt−1
0 と 入力xtを足してUt
f orを求める.U t
f orをシグモイド関
数に与えt−1の記憶Ut−1
0 の値と乗算してU
t
f or2を求
める.忘却ゲートでは記憶メモリの内容を忘却させれ るかを調整している.記憶メモリを更新した後,出力 ゲートの計算を行う.t−1の時の中間層ht−1,記憶メ
モリUt−1
0 と入力x
tからUt
outを求める.U0tを活性化 関数tanhに与え,Ut
outをシグモイド関数に与えてU4t を計算する.出力ゲートでは,記憶メモリの出力を次 回の計算に伝達するかを調整する.
入力ゲート,出力ゲートにより不要な誤差計算を行 わないため,勾配消失を防いでいる.また,忘却ゲー トにより不要な記憶を忘れることでより効率的に誤差 伝播を行える.そのため,長期的な記憶も正しく出力 に反映できるため,高精度な識別が行える.
3
力覚センサと電流フィードバック
本章では識別に使用される力覚センサ,電流FBに ついて述べる.力覚センサはロボットに触覚を付与さ せる目的で,様々なロボットに装備されている.特に 産業ロボットの微細な部品はめ込み等に利用されてい る.力覚センサを用いることで接触を利用した動作を 可能とさせている.力覚センサは図2に示すようにセ ンサ上部と下部との力の変位を計測し,静電気容量の 変化から変位を計測し力とモーメントを求める.取得 できるデータは力ベクトル(F x, F y, F z)と回転ベクト ル(M x, M y, M z)を合わせた6軸のデータである.
電流FBは,アームが動作する際に関節のモータの電 流を測定した値である.そのため,電流FBは動作や姿 勢維持するための値なので,物体ごとに影響を受けた ロボットの状態を取得できる.取得されるデータは6軸 関節に流れる電流データ(J1, J3, J3, J4, J5, J6)である.
Fy
Fz
FxMx
Mz
My
図2 力覚データの測定
3.1 把持物体ごとの力覚センサ,電流FBの変化
図3は2つのアイテム(book,mailer)を把持し,ロ ボットアームを左右に動作させ停止した後の力覚値F y
の遷移である.途中,力覚センサデータの波形のピー クの位置が異なっている.これにより,物体形状が似 ていてもセンサ値の変動が異なることが分かる.
図 3 アイテムごとの力覚データの比較
図4は2つのアイテム(scissors,curtain)を把持し, ロボットアームを左右に動作させ停止した後の電流FB の遷移である.停止動作を実現するために,電流FBの 収束が把持物により変化する.把持する物体により関 節にかかる電流が変化することが分かる.
図4 アイテムごとの電流FBの比較
3.2 把持位置による力覚データの変化
持位置に波形のピークの位置が異なっている.これに より同一アイテムでも把持位置によりセンサ値の値が 変化するため,様々な把持パターンを学習する必要が ある.
side
corner
図 5 把持点による力覚データの比較
4
提案手法
本章では,提案手法の流れを述べる.本研究では,産 業用ロボットに装着された力覚センサと電流フィード バック(FB)より得られたデータを用いてLSTMによ り学習する.取得するシーンはアイテムを把持した後 のハンドを動作させた時のデータを用いる.取得された データを正規化したのち,LSTMに入力する.フレー ムごとに出力されるLSTMの出力を一つの結果に統合 し,識別を行う.
4.1 取得シーン
本手法では図6のようにロボット座標系でx,y,z
方向にそれぞれ1往復させた時データを取得する.学 習時には3方向を混在させたものを使用する.
取得した力覚データには移動時のデータ停止,制動ま でのデータが含まれており,1回往復した長い系列デー タを扱うことになる.この中でも本実験では動作停止 後100フレームを学習データとして使用する.図7に 1往復データから抽出する学習箇所を示す.
x方向 y方向 z方向
図6 取得するロボットの動作
4.2 入力データの正規化
入力データは,力覚センサから得られる3次元の力 ベクトル(F x, F y, F z)と回転ベクトル(M x, M y, M z) を合わせた6軸のデータ,電流FBから得られる6軸
図7 1往復より抽出するFy軸データ範囲
関節に流れる電流データ(J1, J3, J3, J4, J5, J6)である. 入力データはベクトルごとの関係を持たせるためベク トルごとに正規化を行う.正規化は力ベクトル,回転ベ クトル,電流FBごとの最大値をもとに求める.力ベク トルの最大値をFmax,回転ベクトルの最大値をMmax,
電流FBの最大値をJmaxとしたとき,iフレーム目の 入力データxiを求める式(1)を示す.
xi= [ F xi
Fmax
, F yi Fmax
, F zi Fmax
, M xi Mmax
, M yi Mmax
, M zi Mmax
,
J1i
Jmax
, J2i Jmax
, J3i Jmax
, J4i Jmax
, J5i Jmax
, J6i Jmax
]
(1)
4.3 ネットワーク構成
力覚データは系列データであるため,LSTMを用い たネットワークを使用する.本研究で使用するネット ワーク構造を図8に示す.学習係数は0.01,入力層に は力覚データ,電流FBのを12ユニット与え,出力層 は25クラスに対応した25ユニット,中間層は250ユ ニットのLSTMを2層を使用する.
図 8 ネットワークの構成
4.4 識別結果の統合
RNNはiフレーム毎にクラスcの確率Pi(c|xi)を出
(2)により100フレームの確率を統合し,最終的な識別 結果Cˆを式(3)より求める.
P(c) = 1 100
(100
∑
i=1
Pi(c|xi) )
(2)
ˆ
C = arg max
c
P(c) (3)
5
評価実験
力覚センサを用いた把持物体の識別の有用性を示す ために評価実験を行う.本実験では,Amazon Picking Challenge 2016[7]データセットの25アイテムを対象と する.使用するデータセットを図9に示す.
図 9 識別アイテムリスト
取得する動作シーンはロボット座標系でX,Y,Zの3 軸方向へ往復させたデータを,学習用データ3,326セッ ト,評価用データは375セットを使用する.データの 内約を表1に示す.
表1 使用データ内約
X方向 Y方向 Z方向 合計 学習用データ 1124 1124 1078 3326 評価用データ 125 125 125 375
本実験では,電流FBの導入,非剛体クラスの導入, 動作方向の入力を用いた識別を行う.
5.1 動作方向ごとの識別
本実験では3方向への動作を学習している.3方向 それぞれで学習した場合の識別率を表2に示す.また, アイテムごとの識別率を図11に,Confusion matrixを 図10示す.
表2より3方向の中でZ方向に動作させた時が識別 率が高い結果となった.図11から,X方向の識別率結
表 2 動作ごとの識別率[%]
動作方向 X方向 Y方向 Z方向 全方向 識別率 14.4 62.5 63.2 79.7
図 10 動作方向ごとのConfusion matrix
果が偏っていることが分かる.原因はハンドの把持し ていない方向に振動してしまうため,力が逃げてしま い特徴が捉えられなかったと考えられる.しかし,図 11より,それぞれの軸のみで識別ができるアイテムが あるため,統合することで汎用性を上げられたと考え られる.
5.2 電流FBの導入
提案手法による識別率を表3に示す.表3より,力 覚センサのみでは識別率が79.7%であった.一方,電 流FBのみでは4.0%と識別率が大幅に低下した.しか し,力覚センサとともに電流FBを入力することで,識 別率を85.3%に向上させることができた.図12より電 流FBを加えることで全体的に識別率が向上した.電 流FBのみでは特徴を捉えることができないが,力覚 センサと同時に入力することで力覚データのみとは違
0 10 20 30 40 50 60 70 80 90 100
X Y Z
う特徴を捉えることができる.
表 3 識別率[%]
入力 力覚センサ 電流FB 力覚センサ+電流FB
識別率 79.7 4.0 85.3
図 12 電流FBを追加したConfusion matrix
5.3 動作方向の導入
本実験ではロボットに複数の動作を利用していること から,図13に示すように入力データに対して力覚デー タと同時に動作方向に入力する.入力データは力覚デー タ,電流FBに加えX,Y,Z方向の動作パターンの合 計15ユニットとなる.力覚データと移動方向を導入し た場合の識別結果を表4に示す.
図13 移動方向を導入したネットワーク構成
表4動作方向を導入した場合,電流FBの導入の有 無にかかわらず識別率の向上は見られなかった.力覚 センサデータや,電流FBデータは動作方向ごとに大 きく異なるため,動作方向を導入しない状態でも動作 情報を加味できていると考えられる.そのため,動作 情報なしでの識別が行えるが動作方向の情報から有効 な特徴が捉えられなかったと考えられる.
5.4 非剛体クラスの導入
形状においてアイテムを剛体のアイテム,非剛体の アイテムを分けて識別を行う.図14に示すように25ア イテム中5アイテムを非剛体アイテムとしてクラスを 分ける.非剛体クラスをまとめたConfusion matrixを
表 4 識別率[%]
入力 力覚センサ+移動方向 力覚センサ+電流FB+移動方向
識別率 76.2 75.3
図15に示す.図15において赤枠で囲まれている箇所は 非剛体のアイテム同士の混合行列である.剛体は平均 88.1%と高い識別率であるが,非剛体は平均22.1%と低 いことがわかる.これは,非剛体のアイテムは不規則 に振動するため,学習誤差が収束せず,その結果誤識 別の要因となっている.非剛体を1クラスとした全21 クラスをLSTMで学習すると,平均識別率は90.1%を 得た.
図14 非剛体アイテムの例
図 15 非剛体クラスのConfusion matrix
6
おわりに
本研究では,画像を用いないアプローチとして,力 覚センサによる把持物体の識別法を提案し,その有効性 を示した.力覚センサと電流FBを用いることで,25 アイテムに対して約85%の識別性能を実現した.さら に,剛体の識別率が高いため非剛体クラスを作成する ことで,約90.1%の識別性能を得た.
参考文献
[1] S.Hochreiter,“Long Short-Term Memory”, Neural Computation, 9(8): 1735-1780, 1997.
[3] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner,” Gradient-Based Learning Applied to Documen-tRecognition”, Proceedings of the IEEE, pp. 2278-2324, 1998.
[4] J.Elman,“Finding Structure in Time”, Cognitive Science 14 (2): 179-211, 1990.
[5] T.Mikolov, Martin Karafiat, Lukas Burget, Jan “Honza”Cernocky, and Sanjeev Khudanpur, “Re-current neural network based language model”, INTERSPEECH, 2010
[6] P.Werbos, ”Generalization of backpropagation with application to a recurrent gas market model”, Neural Networks 1 (4): 339-356, 1988.