行動空間に拘束条件のある対象物操作の制御則獲得○河原井伸行（東京農工大学） 小林祐一 (東京農工大学/理研 RTC)

Acquisition of whole-arm manipulation
with restriction of action space caused by contact∗Nobuyuki Kawarai(Tokyo University of Agriculture and Technology),
Yuichi Kobayashi(Tokyo University of Agriculture and Technology/RIKEN RTC)
Abstract– This paper proposes a learning method for whole-arm manipulation with two-link manipulator.
The proposed learning method combines a controller obtained by reinforcement learning (actor-critic) anda learning classiﬁer realized by Support Vector Machine. The classiﬁer learns the boundary between ‘slip
mode and ‘stick mode in the torque space. Using the result of classiﬁcation, the robot learns to move theobject toward the desired position while keeping the desired contact modes. The control input (torque) isﬁrst speciﬁed by the actor. SVM classiﬁer judges whether the torque can maintain the desired mode. If theclassiﬁer judges that the torque cannot keep the mode, it modiﬁes the torque so that the desired mode ismaintained. The task of moving an object to a desired position is divided into two stages, starting to movewith acceleration and stopping the motion of the object when the object is close to the desired position.
It was veriﬁed in the simulation that in the both stages the proposed learning method realized starting ofmanipulation and stopping the manipulation while keeping the desired mode, i.e., avoiding undesired slippingof the object.
Key Words: holding up manipulation, mode switching, learning

1y

はじめに

近年産業現場などで人間の作業の補助をするロボッ
トや，人間が立ち入ることができない場所での作業を行うロボットが求められている．複雑な作業工程をロボットに行わせるには，ロボットアームや多指ハンドによるマニピュレーションが課題のひとつとして挙げられる．マニピュレーションの例として，ロボットの全身で対象と接触する Whole Body Manipulation1) や，多指ハンドによる対象物の包み込み把持タスク 2) などが挙げられる．しかしマニピュレーションシステムに対して，系のダイナミクスが未知で試行錯誤することにより学習する研究は少ない．学習でアプローチすることにより，マニピュレーションシステムの適用範囲の拡大が期待できる．
未知の環境に適応できるロボットを実現し，ロボットに自律的に制御則を学習をさせる一手法として強化学習が研究されている．強化学習は，試行錯誤を通じて環境に対応する学習制御の枠組みで，エージェントは未知の環境に対して自律的に制御則を獲得する．
学習ロボットの研究においては，起き上がり動作の獲得 3) や二足歩行を実現する制御則の獲得 4) などの研究が行われているが，これらはロボット自身の運動の獲得を学習するものであり，対象物との接触を考慮したロボットの制御則獲得に関する研究はあまりされていない．
そこで本研究ではマニピュレータを用いて対象物を抱きかかえる操作をモデリングし，リンク途中で対象物と接触する状況下で対象物を引き寄せる操作の制御則を学習を用いて獲得することを目的とする．また，本研究では，マニピュレータと対象物のあいだの滑りを考慮する．滑りが発生した場合，マニピュレータが対象物を制御することが困難になるため，滑りを発生させないようなトルクを学習する．強化学習の一手法である Actor-Critic 法とサポートベクターマシン (SVM)

システム・情報部門学術講演会2009(2009年11月24日～26日・神奈川)( x, y )( 0 ,0 )Manipulatorr

Object

θ

l1

q2

q1

Contact point 1

l2x

Contact point 2

Fig. 1: Problem setting.
を組み合わせる学習手法を提案する．SVM に滑りを発生させないようなトルクの領域を推定させることによって，強化学習の探索範囲を限定し，効率化を図る．2 章で問題設定について述べ，3 章で提案手法，4 章で本研究の問題設定に対するシミュレーションについて述べる．また，5 章で結論と今後の課題について述べる．

2

問題設定

Fig.1 のような 2 リンクマニピュレータを用いて，接触点 1 の stick モードを維持しながら，接触点 2 を slip
モードで滑らせて，対象物を x 軸の負の方向に運ぶタスクを考える．このタスクは人間におきかえると，対象物を持ち上げる動作の前段階として，対象物を手前に抱きかかえることに相当する．対象物の右端はマニピュレータのリンク 2 上に拘束され，左端は床に拘束されるものとする．床の高さは y = 0 とする．
リンク 1，2 の長さをそれぞれ l1 と l2 とする．マニピュレータの関節角度を q = [q1 , q2 ]T とし，それぞれ- 420 -SY0012/09/0000-0420 (c) 2009 SICEτ2(i,j)(i,j)

での推定精度を Pt (0 ≤ Pt
≤ 1) とし，次の制御周期での判別結果が正しい時 dt = 1，正しくない場合
dt = 0 とすると，次の制御周期での減衰つきの推定精(i,j)
度 Pt+1 は，：滑らないトルク推定境界：滑るトルク
Actorの出力トルク(i,j)(i,j)

Pt+1 = αPt+ (1 − α)dt(2)と更新することができる．ただし α は 0 < α < 1 の定数である．本研究では SVM 推定精度を，Actor の行動出力における分散の値を調節する一指標に用いる．

τ1Fig. 2: Modiﬁcation of torque.の関節にかかるトルクを τ = [τ1 , τ2 ]T とする．また，対象物の長さを r，x 軸に対する対象物の回転角度を θとする．対象物の重心座標を (x, y) とする．

3提案手法

3.1 概要
強化学習の一手法である Actor-Critic と，2 クラスの分類問題を解くために用いられるサポートベクター
マシン (以後，SVM) を組み合わせて，学習問題にアプローチする．SVM は，トルク空間における，リンク2 に対して対象物が滑る領域と滑らない領域の間の境界推定を行い，Actor-Critic は，SVM が推定した滑らない領域内で，TD 誤差を用いて最適なトルクを学習する．
本研究では，取り扱う状態変数を対象物の左端の座標
xL およびその速度 ẋL とする．対象物の回転角度 θ はタスク中，変化がないものとみなし，状態変数から除外する．マニピュレータと対象物の接触点では滑りが起きないように拘束されるので，システムは s = [xL , ẋL ]Tの 2 次元状態変数で表すことができる．それぞれの関節に加えるトルク τ = [τ1 , τ2 ]T を行動とする．
3.2 SVM
本研究では取り扱う 2 次元状態空間を格子状に離散化する．それぞれの離散点に対し，SVM を設置する．
n1 × n2 個に離散化された SVM の離散点番号を i =1, . . . , n1 ,j = 1, . . . , n2 とする．本研究では，SVM を用いて，マニピュレータの各関節にかけるトルクが，リンク 2 と対象物の間の滑りを引き起こすか否かを判別する．エージェントが出力しようとしているトルクが滑らないと判別された場合は，そのトルクをそのまま出力する．また，滑ると判定された場合は，Fig.2 のように現在の推定境界を用いて出力トルクを改善する．
SVM の持つ判別関数 τ は F (τ ) = 0 （境界）F (τ ) > 0 (滑らない)(1)
F (τ ) < 0 （滑る）

3.4 Actor-Critic
Actor-Critic は, 連続的な状態や行動を扱える強化学習手法である. Actor は行動を確率的に選択し，Criticは Actor の現在の方策に対する価値関数を推定する．
Actor の行動出力 µ は N (µ, σ 2 ) で与えられる．µ は，µ(s) =n1 ∑n2∑wij ϕij (s)(3)

i=1 j=1である．ただし ϕij (s) は正規化された動径基底関数
である 7) ．Actor は重みパラメータ wij ∈ ℜ2 (i =1, . . . , n1 ,j = 1, . . . , n2 ) と標準偏差 σ (i,j) を記憶する．
制御周期ごとに，重みパラメータ wij をw′ij = (1 − ϕij (s))wij + ϕij (s)τ(4)と更新する．

3.5 分散の調節(i,j)
Actor がトルクを出力する際の標準偏差 σt の調節(i,j)
を，TD 誤差 δ と SVM 推定精度 Ptを用いて行う．
(i,j)
次の制御周期での標準偏差 σt+1 とすると，δ > 0 かつ(i,j)
Pt> η(0 < η < 1) の場合，
(i,j)

(i,j)

σt+1 = σt−ξ(5)と更新する (ξ は定数)．それ以外の場合では,
(i,j)

(i,j)

σt+1 = σt+ξ(6)

これにより，学習が進んでいる部分では知識利用による最適行動を取ろうとし，学習が進んでいない部分では探索行動をする枠組みになる．

3.6 アルゴリズム
以下にシミュレーションのアルゴリズムを示す．
エピソードの繰り返し：で 表 さ れ る 6) ．出 力 ト ル ク を 改 善 す る と き に はF (τ1 , τ2 )2 に最急降下法を適用し，境界上のトルクを算出した後，探索のために乱数を加えて出力する．

3.3 SVM の境界推定精度
それぞれの SVM に対して，3.2 節で示した出力トルクに対する，SVM の境界推定精度を計算する．現時点- 421 -

1. 初期値の設定．
滑りが起こるか，目標状態に到達するまで以下を繰り返す：
2. Actor がトルクを出力．
3. SVM が滑るか否かを判定．滑らないと判定された場合はそのまま出力．滑ると判定された場合には，現在の推定境界付近のトルクを出力．
4. 状態遷移．
5. 環境から得られる報酬情報と TD 誤差を用いて，Actor の持つ行動出力の平均値と分散を更新．
Critic は推定価値関数を更新．

0Velocity of left end of object

2015

Reward1050-5-10-15
050

100

Trial number

150

200

250

300

350

-0.1

-0.15

-0.2

-0.25
0.44

400

Fig. 3: Reward proﬁle for starting motion.

4-0.050.46

0.48

0.50.52

Position of left end of object

0.54

Fig. 4: Realized trajectry of starting motion.

シミュレーション

4.1.2

シミュレーション結果

上記の提案手法をシミュレーションによって検証した．対象物を静止状態から動き出させるタスク（初動タスク）と，対象物を動いている状態から目標状態に運び静止させるタスク（静止タスク）に分けた．これは一連のタスクを初動タスクと静止タスクに分けることによって，問題の簡単化を図るためである．

Fig.3 は初動タスクにおける報酬曲線である．この報
酬曲線は，報酬関数をそれぞれのタスクにおいて，Projected Gauss Seidel
法 5) を適用することで状態遷移を表現した. 接触点 2 における手先と対象物の間の接線方向の相対速度 v2t が，v2t > 0.01 のとき，滑りが発生したと定義する．また，どちらのシミュレーションにおいても，強化学習のパラメータである学習率 α = 0.1 および，割引率 γ = 0.9とし，シミュレーションの制御周期を ∆t = 0.03[s] とした．としたもので，分かりやすく表示するためのものである．50 回目までの試行では，静止状態から動き出せるための適切なトルクを学習しておらず，失敗を繰り返しているが，50 回目から 150 回目の試行で徐々に目標状態にたどりつけるようになり，150 回目以降は確率的なトルク出力により失敗もあるものの，何回も目標状態にたどりつくことができた．
Fig.4 は初動タスクにおいて，400 回の試行が終わった後，最適行動をとらせたときの [xL , ẋL ] 軌道である．
初期値から速度を上げるようなトルクが出力されていることが分かる．

4.1
4.1.1

初動タスク
シミュレーション条件

4.2

対象物の重心の初期位置を [x, y] = [0.6326, 0.075],その初期速度 [ẋ, ẏ] = [0, 0]，初期回転角度 θ = π6 , 初期回転角速度 θ̇ = 0 とした．また，マニピュレータの初π π T
期関節角度 q = [− 12, 3 ] ，初期関節角速度 q̇ = [0, 0]Tとした．タスクの目標状態を xL < 0.45 とし，報酬関数は対象物の左端の速度 ẋL を考慮せず，

r = −100xL − 45
 −100xL + 50 (通常遷移)−10(滑り)r=−20(遷移失敗)(7)とした．これによりマニピュレータが，静止状態にある対象物を手前側に引き寄せれば引き寄せるほど報酬が得られる枠組みになる．対象物とマニピュレータの間に滑りを引き起こすトルクは SVM で推定できるので，滑りが起きたか否かは報酬には反映させない．
試行回数を 400 回とし，対象物の左端の座標が目標位置に達するか，滑りや遷移失敗が起こった時点でタスクを終了する．遷移失敗とは，不適切なトルクにより対象物がマニピュレータから離れている状態に陥ることを意味する．

4.2.1

(8)

静止タスク
シミュレーション条件

対象物の重心の初期位置を [x, y] = [0.6242, 0.0750],
そ の 初 期 速 度 [ẋ, ẏ] = [−0.3074, −0.0002]，初 期
回 転 角 度 θ = 0.5236, 初 期 回 転 角 速 度 θ̇ =−0.0015 とした．また，マニピュレータの初期関節角度 q = [−0.2836, 1.0979]T ，初期関節角速度 q̇ =[−0.6767, 1.6450]T とした．目標状態を xL = 0.48 かつ ẋL = 0 とし，報酬関数にはガウス関数,r=1exp(−(s − sd )T A(s − sd ))4π(9)を用いた．ただし，sd=A =[[0.48 0]T5000 0010](10)(11)とした．滑りや遷移失敗が起こった場合には試行を終了する．

- 422 -

1-40.95

Estimate accuracy of SVM-2

Reward

-6-8-10-12-14-16-18-20
050

100

Trial number
150

200

250

300

350

5Velocity of left end of object-0.1-0.15-0.2-0.25-0.30.4920.4930.494

Position of left end of object

0.495

Fig. 6: Realized trajectry of stopping motion.
4.2.2

0.75
0.7
0.65
0.6
0.55
50

100

Trial number
150200250300

350400

おわりに

本稿では，対象物操作の制御則獲得問題に，強化学習と SVM を組み合わせた手法を提案した．タスクを初動タスクと静止タスクに分けて，2 つシミュレーションを行った．初動タスクにおいて，初期状態から目標状態に遷移させることができたが，静止タスクにおいては，目標状態に遷移させることができなかった．
今後は，滑りが起こる回数を減らすために，SVM によって改善されたトルクの出力方法を境界付近で分散によって出力するのではなく，常に滑らない領域内のトルクを出力する枠組みに改善する．また，対象物とリンク 2 の接触点において滑りが生じても制御できる枠組みに拡張する．今回示した 2 つのシミュレーションを統合し，対象物を初期位置から目標位置まで運び静止させる学習機を構築する予定である．

-0.050.491

0.8

Fig. 7: Etimate accuracy of SVM.

00.490.85

0.50400

Fig. 5: Reward proﬁle for stopping motion.

-0.350.489

0.9

参考文献

シミュレーション結果

Fig.5 は静止タスクにおける報酬曲線である．300 回目の試行あたりから徐々に次状態に遷移できるようになっているものの，全体的にすべり現象が起こりすぎていて，ゴールにたどりつくことができなかった．
Fig.6 は 400 回の試行が終わった後の最適行動出力時の [xL , ẋL ] 軌道である．初期値から速度を落としていることが分かるが，対象物の速度が十分小さくなってから，止めるまでのトルクを学習することができなかった．原因として，状態空間の離散化の粗さがあげられる．
今回は状態空間を，xL に関しては [0.485, 0.495] の範囲で刻み幅 0.001 で離散化し，ẋL に関しては [−0.3, 0]の範囲で刻み幅 0.03 で離散化した．特に速度に関する離散幅は，ẋL = 0 付近では細かく取る必要がある．また，速度の初期値を低い値に抑えるためにも，初動タスクにおいて，速度に関する報酬も設定し，できるだけ低速度で対象物を操作することも必要である．
Fig.7 は離散状態 (0.492 < xL ≤ 0.493,−0.18 <ẋL ≤ −0.15) における，SVM 推定精度の遷移を表す．
初期値を 0.5 とし，成功と失敗を繰り返しながら徐々に上昇していることが分かる．
結果として，静止タスクにおいて学習は進んでいるものの，目標状態に達することはできなかった．今後は提案手法に工夫を施し，改良する必要がある．

- 423 -1) E.Yoshida, M.Poirier, J.-P.Laumond, O.Kanoun,F.Lamiraux, R.Alami, and K.Yokoi, Whole-body
motion planning for pivoting based manipulation by humanoids, in IEEE International Conference on Robotics and Automation, Pasadena,CA,3181/3186(2008)2) 矢島真人，山口秀谷: 接触モードのスイッチングに基づく多指ハンドによる包み込み把握の運動計画法，ハイブリッドシステムの運動計画 , 計測自動制御学会論文集,39-2,150/158(2003)
3) 森本淳，鋼谷賢治: 階層型強化学習を用いた３リンク
２関節ロボットによる起立運動の獲得 , 日本ロボット
学会誌,19-5,574/579(2001)4) 細田耕: 非限定環境に適応する二足歩行ロボット , 計測と制御,45-9,261/269(2005)
5) 中岡慎一郎，服部静子，金広文男，梶田秀司，比留川博
久: Projected Gauss-Seidel 法の拡張による剛体関節機構の接触力計算 , 第 25 回日本ロボット学会学術講演会,1I24(2007)
6) O. L. Mangasarian and David R. Musicant,Lagrangian Support Vector Machines , Journal of Machine Learning Research, 1, 161/177(2001)
7) 森本淳，銅谷賢治: 強化学習を用いた高次元連続状態空間における系列運動学習-起き上がり運動の獲得- , 電子情報通信学会論文誌, 11,2118/2131 (1999)