䢴䣃䢴䢯䣇䢲䢷SVM と補間を利用した対象物操作学習のための接触モード境界推定
Estimation of contact mode boundaries by SVM and interpolation for learning of object manipulation○ 高崎雄太 (東京農工大)准 小林祐一 (東京農工大/理研 RTC)

学 河原井伸行 (東京農工大)Yuta TAKASKI , Tokyo University of Agriculture and Technology
Nobuyuki KAWARAI , Tokyo University of Agriculture and Technology
Yuichi KOBAYASHI , Tokyo University of Agriculture and Technology/RIKEN RTC
This paper presents estimation of contact mode boundaries for online learning of object manipulation. The contact force is calculated using Projected Gauss-Seidel method. Contact mode can be
distinguished using the calculated contact force. The boundary of the contact mode is estimated byusing SVM and interpolation. Hierarchical structure is used for learning. The higher layer performs
reinforcement learning. The lower layer decides phase of manipulation and search probabilistically.
Key Words: reinforcement learning, state recognition , object manipulation

1

はじめにY

現在ロボットは人間の行動出来ない環境下での作業や，人間の目の届かない場所における自律的な行動を求められるようになった．その場合ロボットは未知の環境に適応する必要がある．そのためにニューラルネット，エキスパートシステム，ファジィ制
御，強化学習等の人工知能の研究が盛んに行われている．その中で運動を学習する手法としては強化学習 [1] が活発に研究されている．強化学習では適切な動作を獲得するための探索に，膨大な時間がかかるため，学習の効率化が重要である．一方ロボットが未知の環境で行動するときに重要な事の一つとして，環境と接触する事が挙げられる．ある環境にロボットが存在するとき，常にロボットは環境と接触している．特に対象物操作 (例えば [2]) は積極的に環境に働きかけるという観点から，より多くの情報を獲得するために重要な行動である．よって未知の環境に対するアプローチとして，対象物操作を学習によって獲得する事でロボットの未知の環境への適応力の向上が期待できる．Kobayashi et al.[3]は 2link マニピュレータの対象物操作学習において，強化学習とSVM を利用した階層型学習という手法を提案し，オフラインの接触モード境界推定によって，対象物操作を獲得させる事に成功した．この手法では上位層では強化学習，下位層では SVM による接触モード境界推定を行う．しかしオフライン学習では事前に準備した教師データによって学習が行われるため，環境を想定して教師データを準備する必要があるが，環境が未知の場合はサンプルデータ収集が困難である．未知の環境で学習し行動するにはオンライン学習を行う必要がある．
本研究では 2link マニピュレータの対象物操作学習において，オンラインで階層型学習により対象物操作を獲得することを目的とする．提案手法として SVM を利用したオンライン階層型学習を提案する，オンラインで効率的に探索するには境界推定に有効なサンプルデータを獲得する必要がある．そのためオンラインで境界推定，強化学習を行う際には探索戦略が重要である．よって効率的な探索戦略を組み込む事で，サンプル数の増加を抑制しつつ，精度の高い境界推定を目指す．もう一つの提案手法として，
SVM と境界の線形性を利用したオンライン階層型学習を提案する．本研究のモデルでは接触モード境界がある変数に対して線形に変化する直線で境界を表現でき，トルク平面において境界の傾きが一定である．これらの事前知識を利用する事で，処理時間の短い境界推定による学習を期待できる．これは後に補間を利用し

lτ2q2

current statel2

l1

τ1xq1Al
F2nA

F1nmg

F1t

F2tleftsubgoalstart

actionupgoal

rightdownHigher Layerxx&X

subgoallFig. 1: 2link マニピュレータと対象物

l& = 0x Lower Layer

Fig. 2: 階層型学習

た境界推定を行うことを考慮した提案手法である．この手法により，オンライン学習で問題となる処理時間の短縮を目指す．

22.1

問題設定

適用モデルの概要

本研究で扱うマニピュレーションのモデルを Fig.1 に示す．本
研究では例題として，２リンクマニピュレータを用いて接触を維持しつつ，接触モードを切り替えながら対象物を移動させることを考える．マニピュレータと対象物との接触点を接触点１，対象物と床の接触点を接触点２とする．接触条件として stick またはslip の接触モードがあり，最大静止摩擦係数と動摩擦係数は等しいものとした．マニピュレータと対象物の自由度はそれぞれ２とし，対象物の回転は考えないものとする．また h を手先位置の x座標とする．
2.2 シミュレーション方法
前節のモデルを線形相補性問題 (LCP:Liner ComplementarityProblem) へ定式化して物理シミュレーションを行う．Fig.1 のマニピュレータの接触力を考慮した運動方程式は，q = [q1 q2 ]T ，τ =[τ1 τ2 ]T ，接触力の平行方向成分を並べた行列を Ft = [F1t F2t ]T ，下向きを正とした接触力の垂直方向成分を並べた行列を Fn =[F1n F2n ]T として，Mq (q) q̈ + hq (q, q̇) q̇ + gv (q) = τ + J ′ Tt F t + J ′ Tn F n(1)となる [5]． Mq (q) は関節座標に関する慣性行列， hq (q, q̇) は遠心力及びコリオリ力を表す行列， gv (q) は重力負荷を表す行列，
J ′ Tt = [J Tt 02×1 ] は関節角度 q のヤコビアンの水平方向成分を含む行列，J ′ Tn = [J Tn 02×1 ] は関節角度 q のヤコビアンの垂直方向成分

䣝䣐䣱䢰䢢䢲䢻䢯䢶䣟䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢲䢻䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣈䣷䣭䣷䣱䣭䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢶䢯䢴䢸䢮䢢䢴䢲䢲䢻䢴䣃䢴䢯䣇䢲䢷䢪䢳䢫

を含む行列である．対象物についての運動方程式は

Mo ϕ̈ + go = W t Ft + W n Fn

3.2(2)と表せる．ここで m を対象物の重さ，g を重力加速度として，[][]m 00Mo =，go =0 mmg

[Wt =10−10][，Wn =0−101]

である．a1t , a1n をそれぞれ接触点１におけるマニピュレータの手先の相対加速度の接線方向と法線方向成分，a2t , a2n をそれぞれ対象物の相対加速度の接線方向と法線方向成分として，at = [a1t a2t ]T ，an = [a1n a2n ]T ，相対加速度 a = [an at ]T とすると，a を式 (1),(2)を用いてa = AF + a0(3)と表せる．ここで F = [Fn Ft ]T である． A ∈ R2×2 は各拘束力が各接触点に及ぼす加速度の割合となっている．また a0 ∈ R2 は接触力以外の力による各接触点の加速度となっている．式 (3) を微小時間 ∆t で離散化し，オイラー積分を適用する．以下，離散時間を t = k∆t(k = 1, 2, ...) とする．速度変化はv(k + 1) = ∆t(AF + a0 ) + v(k)v = KF + b(5)と表せる．この時，接触力と相対速度の関係を

0 < Fin < ∞,vin = 0Fin = 0,vin ≥ 0

Fin = ∞,vin ≤ 0と与える．failure は遷移失敗，otherwise は遷移成功，success は遷移成功かつ目標地点に到達したことを表す．
下位層 下位層では，PD 制御入力をもとにして，SVM による境界推定に適したデータを収集するトルクを入力する探索
フェーズと境界推定を行い接触モードを維持しつつ対象物操作を行うためのトルクを入力する操作フェーズを確率的に選択する．PD 制御入力において式 (8) のように，対象物速度を関節角速度に変換し速度フィードバックを行い，また上から押し付けるような目標押し付け力を設定する．

u = Kd (qd − q) − Kv J T [ ẋ 0]T − J Tn Fnd

(6)

提案手法

本研究では提案手法に Kobayashi et al. の階層型学習を用いる．
階層型学習法では上位層と下位層の二つの層で学習を行う (Fig.2)．
上位層では手先位置 l と対象物位置 x の空間を離散化し，各状態から目標地点まで到達する経路生成問題を強化学習によって解く．
下位層では各関節のトルクと手先位置 l，手先速度 l˙，対象物位置x，対象物速度 ẋ による空間での接触モードの探索と境界推定を行い，上位層から与えられた次の離散点をサブゴールとして，サブゴールまで接触モードを維持して遷移を行う．

フェーズ選択確率³• 探索フェーズ
小区間 z で探索を行った場合， p(z) ← p(z)/4．また，得られた結果を SVM に蓄積し，SVM のカーネルを更新する• 操作フェーズ
小区間 z でモード維持に成功した場合， p(z) ← p(z)/4
小区間 z でモード維持に失敗した場合， p(H) = 0.5, H =1, . . . , N ．また，得られた結果を SVM に蓄積し，SVM のカーネルを更新するµ´

モード維持に失敗したときに全小区間での確率を更新するのは，他の区間でも境界推定しなおす事で，より良い結果が得られる可能性があるためである．操作フェーズでは，オフラインの場合と同様に，PD 制御で得られたトルクから同心円状にトルクを判定していき，望ましい接触モードを維持できると判断した時にそのトルクを入力する．操作フェーズのアルゴリズムを以下に示す．

¶3.1 階層型学習(8)

上位層における現在状態 s から遷移先であるサブゴール s′ までの区間を小区間に離散化し，その番号を z = 1, . . . , N とする．それぞれに探索確率 p(H), H = 1, . . . , N を与え, 全ての H に対してp(H) = 1 で初期化する．なお N は分割数とする．フェーズ選択
確率は以下のようになる．

¶と表す事が出来る．これは線形相補性問題の一種である．これらの拘束条件により，マニピュレータと対象物の状態を表現できる．
中岡らが提案した Projected Gauss-seidel 法 [4] を用いて式 (5) を解くと，q̇(k + 1)，ϕ̇(k + 1) が求まる．これにオイラー積分を適用する事で q(k + 1)，ϕ(k + 1) が求まり，対象物操作におけるマニピュレータと対象物の状態遷移が表現できる．
エージェントが観測できる値は時刻 t における対象物位置と速˙ ，マニピュレー度 [x(t) ẋ(t)]，対象物上の手先位置と速度 [l(t) l(t)]タの関節角度 q(t)，接触モードとする．ヤコビアン J T = [J Tt J Tn ]，重力項 gv (q) は既知とする．一方摩擦による接触モードの境界，摩擦係数，対象物の形状などは未知とする．

3

下位層では探索フェーズと操作フェーズを確率的に選択する．
上位層 上位層では Q 学習 [1] を用いて学習を行う．マニピュレータの対象物上の手先位置を l，対象物の重心の位置を x として， x−l 空間を離散化した状態を s ∈ S と表す．また下位層での制御結果に応じて報酬 r を与える．行動 a を，x−l 格子上の４方向とし，下位層に a に応じて ∆x，∆l の値を渡す．このとき下位層では一定速度以下でサブゴール近傍に辿り着く事を遷移の成功とみなし，その結果をもとに報酬 r(s, a) を−10 on failurer(s, a) = (7)0on success −1otherwise(4)となる．ここで ∆t A = K ，∆ta0 + v(k) = b とすると，

SVM を利用したオンライン階層型学習

Algorithm II:操作フェーズのトルク選択³(1) PD 制御入力 u を求める．
(2) 次時刻に望ましいモード維持が出来るかどうかを SVM推定結果から判断する．
(3-a) モード維持出来ると判断した場合は u を入力する．
(3-b) モード維持できない場合は SVM 推定結果から望ましい入力 u′ を探索して入力する．

µ䣝䣐䣱䢰䢢䢲䢻䢯䢶䣟䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢲䢻䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣈䣷䣭䣷䣱䣭䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢶䢯䢴䢸䢮䢢䢴䢲䢲䢻䢴䣃䢴䢯䣇䢲䢷䢪䢴䢫´¶

τ2given by SVMu′
τ1Fig. 3: 探索フェーズのトルク探索
探索フェーズは，PD 制御で得られたトルクを中心に，(τ1 , τ2 ) の平面空間で，半径 w[N・m] の円の範囲でランダムにトルクを n個生成し，現在構築されている SVM が最も境界に近いと判断したトルクを選択して入力する (Fig.3)．探索フェーズのアルゴリズムを以下に示す．

¶Algorithm III:探索フェーズのトルク選択³

˙ を観測する．
(1) 現在の連続状態 x(t), l(t), ẋ(t), l(t)(2) Q 学習の ε グリーディ方策による行動 a の選択する (上位層)．
(3) モード境界の推定結果を用いて，行動 a に対応したモード維持操作を行う (下位層)．
(a) p(z) に基づきフェーズを選択する．
(b) 各フェーズに対して，AlgorithmII ,AlgorithmIII によりトルクを入力する．
(c) 状態遷移を行い，小区間を遷移する．
(d) 探索フェーズと，操作フェーズでのモード維持失敗の場合は SVM のカーネルを更新する．
(e) 遷移失敗するか遷移成功するまで (a) から (d) を繰り返す．
(4) 遷移先 s′ での報酬 r(s, a) を受け取る．
(5) 行動価値関数 Q(s, a) の更新．
(6) ゴールに辿り着くか一定ステップを終えるまで (1) から(6) を繰り返す．
(7) (1) に戻る．

boundaryu

SVM を利用したオンライン階層型学習µ³(1) PD 制御入力 u を求める．
(2) u を中心にランダムに n 個のトルクを生成する．
(3) SVM 推定結果より，最も境界に近いトルクを選択する．

´

3.3 SVM と境界の線形性を利用したオンライン階層型学習

本研究では序章で述べたように，ある変数に対して線形に変化する直線で境界を表現できる．また [τ1 , τ2 ] 空間での境界の傾きµ´が一定である．これらの事前知識を利用する事で処理時間の短縮および学習効率の向上を目的として，SVM と境界の線形性をSVM の学習に必要なサンプルデータは，サポートベクトルにな利用したオンライン階層型学習を提案する．なお上位層は SVMりえる境界付近のサンプルデータと考えられる．よって少ないを利用したオンライン階層型学習と同じである．
サンプルデータで高い精度の SVM を構築するため，探索フェーズで選ばれたトルクと操作フェーズで操作に失敗したトルクで制御を行い結果を観測し，境界推定に必要なサンプルデータだけを蓄積する．
オンライン階層型学習では，初期値点から現在の状態までに入力したトルクの順序を記憶しておき，望ましくない接触モードが起きた場合は，初期地点からその順序を辿り現在状態に戻ってくるものとする．一定試行で目標位置に一定以下の速度で辿り着けなかった場合，サブゴール近傍を越えた場合のみ．遷移失敗の結果を上位層に返すものとする．以下にアルゴリズムを示す．

τ2:クラスタ１ ( R1 , θ1 ):クラスタ２( R2 , θ 2 ):クラスタ３ ( R3 , θ 3 )R2R3θ3R1θ1θ2τ1Fig. 4: 接触モード境界の hough パラメータへの変換

下位層 境界の線形性を利用したオンライン階層型学習は探索と操作を交互に繰り返す．
まず SVM を利用したオンライン階層型学習と同様の探索方法で一定数のサンプルのデータをとる．次に SVM を利用したオンライン階層型学習の探索フェーズのように無作為にトルクを選択していき，SVM が境界に近いと判断したデータを M 個用意する．各サンプル点における．(τ1 , τ2 ) 空間に構成された SVM の境界の傾き D と，サンプル群の重心との距離 C を求める．そしてパラメータ空間 (D, C) で mean-shift クラスタリングする事で，サンプルを直線ごとにクラス分けできる．次に各クラスの重心に最も近い二つのサンプルにより hough パラメータ (R, θ) を求める (Fig.4)．ここまでの流れを１セットとすると，１セットの˙ T (対象物を動かす場合は [R, θ, h, ẋ])
処理でいくつかの [R, θ, h, l]が得られる．探索フェーズを何度か繰り返すと，データ集合
Gi = {di |i = 1, . . . , n}, di = [Ri θi hi l˙i ]T が得られる．n はデータ集合の要素数とする．次に Gi 全体に対し，パラメータ (R, θ) でmean-shift クラスタリングを行う．クラスタリングされたクラスタ内で，近似関数を R = Ah + B ẋ + C として最小二乗法により近似関数のパラメータ [A, B, C] を求める事で，現在状態におけるR が推定できる．なお θ は事前知識により (h, ẋ) に対して一定となる．この hough パラメータをを利用し，PD 制御で得られたトルクから同心円状にトルクを判定していき，望ましい接触モードを維持出来ると判断した場合にそのトルクを出力する．

䣝䣐䣱䢰䢢䢲䢻䢯䢶䣟䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢲䢻䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣈䣷䣭䣷䣱䣭䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢶䢯䢴䢸䢮䢢䢴䢲䢲䢻䢴䣃䢴䢯䣇䢲䢷䢪䢵䢫³˙ を観測する．
(1) 現在の連続状態 x(t), l(t), ẋ(t), l(t)(2) Q 学習の ε グリーディ方策による行動 a の選択する (上位層)．
(3) モード境界の推定結果を用いて，行動 a に対応したモード維持操作を行う (下位層)．
(a) AlgorithmIII によりトルクを入力する．
(b) 状態遷移の結果から SVM のカーネルを更新する．
(c) 初期状態からトルクを出力しなおして状態を戻す．
(d) 一定データ集まるまで (a) から (c) を繰り返す．
(e) 境界付近に近いと SVM が判断したサンプルを m 個選出する．
(f) mean-shift により各境界ごと m 個のサンプルをクラス分けする．
(g) クラス平均に最も近い２つのサンプルにより直線をhough パラメータに変換する．
(h) これまでに得られた (R, θ) を用いて現在状態における境界のパラメータ (R, θ) を最小二乗法により推定する．
(i) u が次時刻に望ましいモード維持が出来るかどうかを境界パラメータ推定の結果から判断する．
(j) モード維持できる場合は，PD 制御入力 u を入力としてシステムに入力する．
維持できない場合は境界推定の結果から望ましい入力を探索して u を u′ に修正して入力する．
(k) 状態遷移を行う．
(l) モード維持に失敗するまで (j) から (k) を繰り返す．モード維持に失敗したら (a) に戻る．
(m) 遷移失敗するか遷移成功するまで (a) から (l) を繰り返す．
(4) 遷移先 s′ での報酬 r(s, a) を受け取る．
(5) 行動価値関数 Q(s, a) の更新．
(6) ゴールに辿り着くか一定ステップを終えるまで (1) から(6) を繰り返す．
(7) (1) に戻る．

lＳ
獲得された経路

稼動範囲外

矢印の向きのみ遷移可能

遷移不可

ＧxFig. 5: オフライン学習の経路生成結果

500試行における平均処理時間[s]¶SVM と境界の線形性を利用したオンライン階層型学習

1.4
SVM
線形性を利用

1.2
10.8
0.6
0.40.200246
試行回数[×500]

810Fig. 6: 試行回数 500 回における平均処理時間の比較
5

おわりに

2link マニピュレータの対象物操作学習において，SVM を利用したオンライン階層型学習により対象物操作を獲得した．効率的な探索を行う事により，サンプル数の増加を抑え，精度の高いµ´境界推定を達成した．また SVM と境界の線形性を利用したオンライン階層型学習により，処理時間の短い接触モード維持操作に成功した．しかし速度制御に失敗し，対象物操作学習が達成
4 シミュレーションしなかった．今後は二つの手法の長所を組み合わせて，精度がSVM を利用したオンライン階層型学習 オンライン階層型学習
高く処理時間が短いオンライン対象物操作学習の達成を目指す．
において，手先のみの滑りもしくは対象物のみの滑りでは達成できないようなスタートとゴールを設定して学習を行った時の文 献
経路生成結果を Fig.5 に示す．図のような経路による対象物操作[1] Richard S.Sutton,Andrew G.Barto, (三上貞芳, 皆川雅章 訳)“強化学を獲得した．また経路周辺ほど遷移可能な箇所が増え，経路か習” , 森北出版, 2000.
ら遠くなるほど遷移不可能な場所が増える．これは経路生成に[2] 田原健二，山口光治，有本卓,“最小自由度をもつ柔軟２本指ロボッ
必要な箇所が頻繁に探索されたためと考えられる．よって提案
トによる安定把持および姿勢制御のためのセンソリーフィードバッ手法により効率的な探索が行われた事が分かる．
ク” , 日本ロボット学会誌, vol. 21, No. 7, pp.67-73, 2003.
SVM と境界の線形性を利用したオンライン階層型学習 接触[3] Y.Kobayashi,M.Shibata,S.Hosoe,Y.Uno,“Learning of Object
モード維持操作に成功したが，速度制御に失敗し，サブゴール
Manipulation with Stick/Slip Mode Switching”, Proc. of Int. Conf. on
近傍に到達出来なかったため，学習を行う事が出来なかった．
Intelligent Robots and Systems, pp.373-379. 2008.
よって今回は下位層におけるトルク制御 500 回にかかった平均[4] 中岡慎一郎, 服部静子, 金広文男, 梶田秀司, 比留川博久,“Projected
処理時間を SVM を利用したオンライン階層型学習と比較し，Gauss-seidel 法の拡張による剛体関節機構の接触力計算”, 日本ロFig.6 に示す．SVM を利用した場合は，サンプル数が増えるに
ボット学会学術講演会論文集, pp.1040-1046, 2007.
つれ処理時間が増えたが，線形性を利用した場合はサンプル数が増えても処理時間が変わらなかった．また探索フェーズにか[5] 吉川恒夫,“ロボット制御基礎論”, コロナ社, 1988.
かる時間が短いため，全体の処理時間が短縮された．

䣝䣐䣱䢰䢢䢲䢻䢯䢶䣟䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢲䢻䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣈䣷䣭䣷䣱䣭䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢶䢯䢴䢸䢮䢢䢴䢲䢲䢻䢴䣃䢴䢯䣇䢲䢷䢪䢶䢫