• 検索結果がありません。

29_10_05.dvi

N/A
N/A
Protected

Academic year: 2021

シェア "29_10_05.dvi"

Copied!
9
0
0

読み込み中.... (全文を見る)

全文

(1)

学術・技術論文

ゲーム状況に応じた意思決定を行うエアホッケーロボットの開発

松 下 左 京

並 木 明 夫

Development of Air Hockey Robot that Makes a Decision based on Game Situation

Sakyo Matsushita

and Akio Namiki

This paper proposes a robot which can play air hockey game with a human. The robot consists of a 4-axis robot arm and a high-speed vision, and the robot is controlled based on visual information at a rate of 500 [Hz]. The robot system has the abilities to adjust the strength level and to change the strategy based on the game situation. A system designer can easily adjust these abilities by setting several specified parameters. In this paper, first, a recursive trajectory generation using continuous images from high-speed vision is explained. Secondly, the response control to adjust the strength level of the robot is explained. Thirdly, the decision-making using AHP (Analytic Hierarchy Process) is proposed. This ability enable the robot to switch the game plan. Finally, we show the data of experiments and verify the effectiveness of the system.

Key Words: Air Hockey, Response Control, AHP, High Speed Vision

1.

序 論 近年,ロボットのエンターテイメント分野への進出が進んで いる.エンターテイメントロボットは人間を楽しませるために, 何らかのインタラクションを持つ.そのなかで最も特徴的なも のは,例えばエアホッケーのような物理的インタラクションで ある. エアホッケーは高速性と戦略性の高さが特徴的なスポーツで ある.そのエアホッケーで人間と試合をするエアホッケーロボッ トの研究・開発の報告が,いくつかされている.セイコープレシ ジョン社[1]は反射動作によるもの,Bishopら[2],牧野ら[3] は単純なタスク切り替えによるもの,Bentivegnaら[4]は学習 を用いたもの,Wangら[5]はファジィ制御を用いたものを開発 している.Nuvation Research社[6]はゲームモデルを用いた ものを製作しているが,その動作アルゴリズムは公開されてい ない. 対戦型ロボットの動作が単純な反射運動では,人間はすぐに 飽きてしまう.人間が楽しいと感じるためには,ロボットの強 さが調整できる必要がある.強さの構成要素として考えられる ものは,例えば運動能力と判断能力である.これらの能力を調 整することで様々なプレイヤーのレベルに対応することが可能 になる.運動能力を調整すれば,反応速度を高めたり,鈍い動 作をさせることができる.判断能力を調整すれば,ロボットが 原 2010 年 8 月 6 日 千葉大学大学院工学研究科

Chiba University, Graduate School of Engineering  本論文は提案性で評価されました.

Fig. 1 Decision making for robot

複数の行動パターンから一つを選択して実行するとき,必ず最 適な選択をさせたり,必ずしもベストではない選択をさせるこ とができる(Fig. 1).動作の正確さや判断の傾向は,外部から 調整できるほうが望ましい.そこで,制御器と判断部にそれぞ れ調整用の変数を埋め込むこととする. 上記のように設計者が容易に運動能力と判断能力を調整する ことができるエアホッケーロボットの研究例はまだ報告されて いない.そこで本論文では動作フィルタとAHP(Analytic

Hi-erarchy Process)の導入により,運動能力と判断能力が調整可 能なエアホッケーロボットシステムの開発を目標とする.

2.

シ ス テ ム

2. 1 Barrett Arm

本システムではBarrett Technology Inc製のBarrett Arm (4-DOF)[7]を使用する.アームの各関節は,ワイヤを介して

(2)

Fig. 2 Air hockey robot system

Fig. 3 Air hockey table and robot

モータに接続されている.モータがアームの土台部分に集約さ れているため,アーム部の質量が小さい.また,ワイヤ駆動の ため各関節における摩擦が小さく,滑らかな動作が可能である. 通信インターフェースにはCANが実装されている. 本システムでは,Barrett Armの第2軸をプレイヤーの肩, 第4軸を肘に見立てた姿勢と動作をさせる.アーム先端部には プレイヤーが使うスマッシャと同じものを装着する. 2. 2 高速ビジョン パックを認識するために,視覚センサとしてPhotron製のペ ンシル型カメラを使用し,処理ボードには石井らが開発した小 型高速ビジョンプラットフォームIDP Express [8]を使用する. 本高速ビジョンは50∼10,000 [fps]での撮影が可能であるが,本 システムでは500 [fps]での撮影を行う.このフレームレートは パックをトラッキングするために十分な速度である.解像度は, 撮影が必要な範囲が収まるサイズである512×256とする.ビ ジョンシステムにはビジョン用計算機を1台使用し,安定で高 速な画像処理を実現する. 2. 3 エアホッケー環境設定 エアホッケーロボットシステムの概観をFig. 2に示す.本シ ステムでは,ホッケー台の前(本来ならばプレイヤーが立つ位 置)にBarrett Armを設置し,高速ビジョンはBarrett Arm の上方からホッケー台の中心を撮影できるように設置する.高 速ビジョンはエアホッケー台に対してキャリブレーションされ ている.エアホッケー台とBarrett Arm,高速ビジョンの位置 関係,座標系の定義をFig. 3Table 1に示す. 2. 4 システム構成 Fig. 4にシステム構成を示す.パックを高速ビジョンで撮影

Table 1 Parameters of the air hockey robot system

Hh Height of the Hockey Table [m] 0.80

Wh Width of the Hockey Table [m] 0.92

Dh Depth of the Hockey Table [m] 1.99

Wg Width of Goal [m] 0.21

dp Puck Diameter [mm] 81.0

dp Smasher Diameter [mm] 63.0

l1 Length of Link1 [m] 0.55 l2 Length of Link2 [m] 0.42

Fig. 4 System configuration

し,Vision PC で認識する.Vision PC にはGPU(

Graph-ics Processing Unit)のGeforce GTX 295が搭載されており,

CUDAによる並列演算を利用して高速なパック認識を行う.

Host PCではBarrett Armを制御するためのプログラム開 発を行う.MATLABのReal Time Workshopにより最適化 された実行コードは,Target PC にダウンロードされ,xPC

Target上でCAN通信を介して,リアルタイムにBarrett Arm の動作を制御する. Vision PCで得たパックの位置情報に基づき,Target PC上 でロボットの打撃動作軌道を生成する.この軌道に追従するよ う制御を行うことで,Barrett Armによるエアホッケーを実現 する.これら一連の処理は500 [Hz]で実行される.

3.

打撃動作の実現 ロボットは高速ビジョンにより認識したパックを打ち返すこ とでエアホッケーを実現する.本章ではパックの認識から打撃 動作の生成,実現に至るまでを説明する. 3. 1 パック認識 高速ビジョンの画像からパックを抽出するために,ノイズの 大きさを考慮した背景差分と二値化を行う.事前に取得した各 画素 (i, j)におけるノイズの幅 Δfn(i, j) と背景画像fb(i, j)

を用いると,入力f(i, j)に対するフィルタ出力f(i, j)ˆ は

ˆ

f(i, j) =

(

1 : if f(i, j) < fb(i, j) −12Δfn(i, j)

0 : if f(i, j) ≥ fb(i, j) −12Δfn(i, j)

(1)

上式によるパック抽出は,CUDAによる並列演算で高速に実行 される.

式(1)により二値化された画像にはパックだけが映っている. 結果画像に対し画像モーメントを計算することで,パックの重

(3)

心座標を得る.パックの重心は中心に一致するため,これをパッ クの中心座標として扱う. 3. 2 打撃点予測 パックはホッケー台から噴き出す空気によりわずかに浮いて いる.そのため,パックとホッケー台間の摩擦は無視すること ができる程度に小さいと考えられる.そこで,パックの運動を 等速直線運動と近似すれば,パックの位置座標(xp, yp)は時刻 tの一次関数として次式で表せる. xp= a1t + a0 (2) yp= b1t + b0 (3) 上式より,パックの運動は四つのパラメータa1, a0, b1, b0で記 述できる. これらの係数を3. 1 節で得られたパックの中心座標から逐 次最小二乗法を用いて計算する.新しいデータが1サンプル取 得できたとき,逐次最小二乗法によりパックの運動パラメータ a1, a0, b1, b0 を更新する.つまり,パックが毎サンプル時刻見 えている場合,500 [Hz]でパックの運動状態を更新する. 得られたa1, a0, b1, b0 の数値解と,事前に設定した打撃位置 y座標yphを式(2)(3)に代入することで,打撃時刻thと打 撃位置x座標xph を得る. th= y ph− b0 b1 (4) xph= a1th+ a0 (5) 得られた打撃位置 (xph, yph) はパックの中心座標を示す. (xph, yph)とロボットアームのスマッシャ中心とはパック半径 dpとスマッシャ半径ds の分だけギャップがある.これを考慮 し,打撃時のスマッシャの中心座標として,(xsh, ysh)を新た に設定する. " xsh ysh # = " xph yph− dp+ds 2 # (6) また,台側面の壁にパックが衝突すると反射が生じ,パック の運動方向が変化する.ここでパックと壁面の衝突は反発係数 1,摩擦係数0の理想的な衝突と仮定すると,衝突後のパックの x方向の運動は新たな係数ˆa1, ˆa0 により記述できる. ˆa1= −a1 (7)

ˆa0= 2sgn(a1)xlim− a0 (8)

ここでxphの最大値がxlim,最小値が−xlimである.また,y 方向の運動は式(3)から変化しない. 理想的な運動と衝突を仮定しているため,実際には誤差が生 じる.しかし誤差が生じたあとも500 [fps]で高速に運動を認識 するため,打撃点を再予測することで誤差の影響を小さく抑え ることができる. 3. 3 打撃軌道 式(6)で求めた打撃手先位置(xsh, ysh)での目標手先速度 を( ˙xsh, ˙ysh)とする.防御動作をする場合,˙ysh= 0とすれば よい.攻撃動作をする場合,˙ysh> 0とすればよい.つまり目 標手先速度( ˙xsh, ˙ysh)は選択した動作によって決定される. 打撃時刻thにおける関節角度qh,角速度 ˙qhは,それぞれ (xsh, ysh),( ˙xsh, ˙ysh)から逆運動学により計算する.打撃動作 開始時刻(打撃点予測完了時刻)t0における関節角度q0,角速 度 ˙q0から,時刻thにおける関節角度qh,角速度 ˙qhまでを 滑らかに繋ぐ軌道は,時刻tの三次関数として次式を満たす. 2 6 6 6 4 qT 0 qT h ˙qT 0 ˙qT h 3 7 7 7 5= 2 6 6 6 4 1 t0 t02 t03 1 th th2 th3 0 1 2t0 3t02 0 1 2th 3th2 3 7 7 7 5 2 6 6 6 4 α0 β0 α1 β1 α2 β2 α3 β3 3 7 7 7 5 (9) 上式をαiβi(i = 0 ∼ 4)から成る係数行列について解くこと で任意の打撃軌道を生成する.目標打撃軌道qrefは次式で得る. qref= " α0 α1 α2 α3 β0 β1 β2 β3 #26 6 6 4 1 t t2 t3 3 7 7 7 5 (10) 時刻t = th で,初期位置に戻るための軌道を打撃軌道と同 様の手順で計算し,係数行列を更新することで軌道を切り替え る.また,初期位置に到達する時刻に軌道を再度切り換え,次 の打撃軌道が生成されるまで,初期位置で停止したまま待機さ せる.このように「待機打撃動作初期位置に戻る待 機」を繰り返すことでゲームを行う. 3. 4 動作制御 Barrett Armの制御には計算トルク法を用いた線形化補償と サーボ補償の二段階制御を用いる[9].構成した制御器のブロッ ク線図をFig. 5に示す.アームの運動方程式は次式で表せる. M(q)¨q + h(q, ˙q) + g(q) = τ (11) ここでM(q)は関節座標に関する慣性行列,h(q, ˙q)は遠心力 およびコリオリ力,g(q)は重力負荷を表す.新たな入力をuq とし,次式のような非線形フィードバック補償を考える. τ = h(q, ˙q) + g(q) + M(q)uq (12) すると ¨q = uq (13) という関節変数に関する線形かつ非干渉な系を得る.現実には モデル化誤差や摩擦などの外乱が存在し,誤差が生じるので,次 式に示すサーボ補償器によって低減させる.

uq= ¨qref+ KD( ˙qref− ˙q) + KP(qref− q) (14)

4.

反 応 特 性 制 御

エアホッケーに限らず,スポーツロボットに動きの「手加減」 をさせることを考える.ロボットが目標値に良好に追従して動 作しなければ,目的の動作が達成されず,結果的に「手加減」を したと見なせる.したがって,目標軌道に対するロボットの反

(4)

Fig. 5 Computed torque method

Fig. 6 Bode diagram of transfer function from qrefto q

応特性を制御することが可能となればよい. 反応特性を外部から調整するために,反応特性係数 α(0 ≤ α ≤ 1)を導入する.式(14)に反応特性係数αを適用するた めに,具体的な方針として次のことを考える. 反応特性係数αが0に近いほど,速度と加速度は0に近 付き,位置制御の許容誤差を大きくする. 反応特性係数αが1に近いほど,良好な追従性を示す. これらの方針から,式(14)にαに関する新たな係数K1,K2, K3 を導入した次のサーボ補償を考える.

uq= K3¨qref+ KD(K2˙qref− ˙q) + KPK1(qref− q)

(15) 式(13)(15)より,qrefからqまでの伝達関数を求めると Q Qref = K3 s2+ KDK2s + KPK1 s2+ KDs + KPK1 (16) 式(16)においてK1(α) = K2(α) = K3(α) = αと仮定し, αを変化させたときのボード線図をFig. 6 に示す.Fig. 6か ら,αが減少するに従い,特に高周波領域においてゲインが小 さくなり,位相に遅れが生じることが分かる.このことから式 (16)は一種の動作フィルタと言える.K1,K2,K3とαの関 係式は他の場合も考えられるが,本論文ではこの関係式を採用 する.

5.

階層分析法を用いた動的な意思決定機能 タスク達成の過程で選択肢が複数生じた場合,ロボットはそ れらのうちから一つを選んで実行する必要があり,意思決定問 題とみなすことができる.本章ではロボットの意思決定機能に 状況変化や設計者の主観を反映させる手法を提案する.

Fig. 7 Evaluations on the scales which are different

5. 1 階層分析法(AHP) エアホッケーロボットには,向かってきたパックをどのよう に打つか,あるいは見逃すかという意思決定をする能力が必要 である.選択肢(Choice)として具体的な動作が与えられれば, 設計者がそれぞれの選択肢間に相対的な評価(例えば,見逃す よりも防御するほうがふさわしいが,防御するよりも攻撃する ほうがよりふさわしいという評価)をすることは容易である. このとき,評価基準(Criterion)が一つであれば,選択肢間 の相対的な評価はただ一つの評価基準の尺度上で行われる.一 般に一つの尺度上での相対的な評価(例えば攻撃力だけでの評 価)から各選択肢の絶対的な評価を得ることは容易である. 一方,評価基準が複数ある場合,各評価基準が持つそれぞれの 尺度上で選択肢間の相対的な評価がそれぞれなされる(Fig. 7). この場合,相対的な評価はそれぞれ別々の尺度上でされている (例えば攻撃力での評価と防御力での評価)ため,各選択肢の絶 対的な評価を得ることは困難であり,意思決定の障害となる. つまり,エアホッケーロボットのような評価基準が複数存在 する意思決定機能を設計する場合,選択肢の相対的な評価は容 易である一方,絶対的な評価を得ることが困難であることが問 題となる.

AHP(Analytic Hierarchy Process: 階層分析法)[10] [11] は,主観に基づく相対的な評価を,体系的に同一尺度上の絶対 的な評価に置き換えることで意思決定を可能にする手法である. エアホッケーにおける動作選択問題に対し,AHPでは以下の ような手順で結論を得ることができる. 1 「問題の階層構造化」 問題の全体像を「総合目的」,「評 価基準」,「選択肢」の関係で捉える.上記の問題では「総合目 的」は「動作選択」となる.「評価基準」には様々なものが考え られるが,今回は「攻撃力」,「防御力」,「安定性」の三つを設 定する.「攻撃力」とは得点を取る能力の高さ,「防御力」とは 失点を防ぐ能力の高さである.「安定性」とはゲームに対する 「消極性」を意味し,動きがより少ないことを善しとする評価基 準である. また「選択肢」にも様々なものが考えられるが,今回はエア ホッケーに最低限必要な「攻撃」,「防御」,「無視」という三つ の動作を設定する.「攻撃」とは対戦相手側に向かってパックを 打ち返す動作,「防御」とは単にパックの軌道を塞ぐ動作である. 「無視」とは新しい目標軌道を生成せず,パックを見送る動作で

(5)

Fig. 8 AHP for air hockey ある.以上の要素を階層化したものをFig. 8に示す. 2 「ペア比較マトリックスの記述」 要素間の相対的な評価 をまとめて行列にしたものをペア比較マトリックスという.こ こでは例として「動作選択」に関して各「評価基準」間に相対 的な評価をし,ペア比較マトリックスCを作る.ペア比較マト リックスの要素は,列に対する行の重要度を表す.例えば「攻 撃力は防御力よりかなり重要」ならば相対的な重要度は5とす る.逆に重要でない場合は逆数を用いる.例えば「防御力は攻 撃力よりかなり重要でない」ならば相対的な重要度は1/5とす る.このように重要度をまとめたものは,ペア比較マトリック スCとして次式のように書ける. C1= 2 6 4 1 5 7 1/5 1 3 1/7 1/3 1 3 7 5 (17) ここで対角要素がすべて1であるのは,同じ要素同士の相対重 要度を表しているからである.例えば(1,1)要素についてなら ば,「攻撃力(第1列)に対する攻撃力(第1行)の重要度」を 示している. 3 「重みベクトルの計算」 ペア比較マトリックスの最大固 有値λmax(C1)に関する固有ベクトルを正規化したものを,上 層要素に関する下層の重みベクトルWC1 として扱う.すなわ ち,正規化した固有ベクトルの各要素は「動作選択」に関する 「攻撃力」,「防御力」,「安定性」それぞれの絶対的な評価値と なる. 4 「整合度の確認」 ペア比較マトリックスの整合度C.I. は次式で与えられる. C.I. = λmax(C1) − m m − 1 (18) mはペア比較マトリックスの次数である.C.I. ≤ 0.1を満たし ていない場合,評価に矛盾が生じているなどの理由でペア比較マ トリックスC1内の整合性がとれていないことを意味する.この 場合,正確な意思決定ができない可能性があるので,C.I. ≤ 0.1 を満たすようにペア比較マトリックスを設定し直す必要がある. 5 「全体の重み計算による意思決定」 上術の手順 ∼2 4 ではペア比較マトリックスC1と重みベクトルWC1 について 考えたので,続いて残りのペア比較マトリックスについて考え る.手順2 と同じ要領で,各「評価基準」に関する各「選択 肢」のペア比較マトリックスを設定する.具体的には「攻撃力」 に関する「攻撃」,「防御」,「無視」の三つの動作選択肢の相対評 価をまとめて,これをペア比較マトリックスをC2 とする.同 様に「防御力」に関するペア比較マトリックスをC3,「安定性」 に関するペア比較マトリックスをC4とする.次に手順3,4 と同じ要領で整合性のある重みベクトルWC2WC3WC4 を得る.これらを用いて「動作選択」に関する各「選択肢」の 重みベクトルW は次式で得られる. W =hWC2 WC3 WC4 i WC1 = h w1 w2 w3 iT (19) 各要素w1,w2,w3 はそれぞれ「動作選択」に関する「攻撃」, 「防御」,「無視」の重みとなる.したがってw1,w2,w3 の最 大要素に対応する選択肢を選ぶことが最良の選択となる. 5. 2 変数導入によるAHPのエアホッケーへの適用 通常のAHPでは静的な状態における意思決定は可能である が,動的に状態が変化する場合は状態に応じてペア比較マトリッ クス内の要素も変化させる必要がある.すなわち,ペア比較マ トリックスは状態の関数となる. Fig. 8において,「動作選択」に関して「攻撃力」や「防御 力」の重要度をどのように考えるかということには人間でいう 性格が関係してくる.今回,性格に代わる意思決定の傾向を表 す変数として,意思決定変数xR を設定する. xR=h Ra Rb iT (20) RaRbはそれぞれ攻撃,防御の意欲を表す.するとペア比較 マトリックスC1 は意思決定変数xR の関数となり,C1(xR) と表せる. 一方,ゲーム状況を表す変数も存在するので,今回はこれを 環境変数xE として設定する. xE=h vp da db iT (21) vp はパック速さを,dadb はそれぞれ手先スマッシャ中心 から攻撃打撃点(ysh = 0.15 [m])または防御打撃点(ysh = 0.072 [m])までの距離を表す.攻撃は相手に近い位置で,防御 は自分のゴールに近い位置で行うほうが有効であるので,ysh についてこれらの数値を用いている.ペア比較マトリックス C2,C3,C4は環境変数xE の関数として,それぞれC2(xE), C3(xE),C4(xE)と表せる. 5. 3 変数を含むペア比較マトリックスの設計 ペア比較マトリックスC が状態変数xの関数の場合,次式 のように表現される. C(x) = 2 6 6 4 W11(x) · · · W1q(x) .. . ... ... Wq1(x) · · · Wqq(x) 3 7 7 5 , Wji(x) = Wij−1(x) (i, j = 1, 2, . . . , q) (22) q は階層モデルにおける下層の要素数である.以降,i < j に ついての設計方法を述べる.状態xn個の変数を含む同次 ベクトルで表す. x =h x1 x2 · · · xn 1 iT (23)

(6)

ペア比較マトリックスC を状態変数xの関数として一般的 に表現することは難しい.そこで,サンプルとして(2n + 1) 個の状態kx (k = 1, 2, . . . , 2n + 1)と,その状態に対応する ペア比較マトリックスk Cを与えることとし(以後,左上の添 え字kがついたベクトルと行列は,設計者が与えるものである ことを意味する),その(2n + 1)個の組からペア比較マトリッ クスC(x) を近似する.k CC(x)の要素をそれぞれk WijWij(x)とすれば,それぞれのkに対し Wij(kx) =kWij (k = 1, 2, · · · , 2n + 1) (24) が条件式となる.本稿では関数Wij(x)の形について,「AHP の定義より,Wij(x) > 0を満たす」,「Wij(x)が二つの重要度 の比から成る」という点に着目し,次式で与える. Wij(x) = exp(aijTx/bijTx) (25)

ここでaijbijは定数列ベクトルである.以下にaijbij の決定方法を述べる.

すべての(i, j)の組み合わせについて係数ベクトルaijbij が決まれば,式(25)を用いてペア比較マトリックスC(x)を 得ることができる.そこで,すべてのkについて式(24)を満 たすように式(25)係数ベクトルaijbijの要素を決めればよ い.式(25)にkxを代入してから式(24)を適用し,変数を 係数ベクトルaijbij とみなせば k Wij= exp(kx T aij/kxTbij) (26) 式(26)の両辺の対数をとれば,係数ベクトルの線形方程式の 形に整理できる. kxT aij= (lnk Wij)kx T bij (27) ここでk = 1, 2, . . . , 2n + 1であるから,式(27)は次のよう にまとめられる. Xaij= Y bij (28) X = h 1x 2x · · · 2n+1x iT 29 Y = h y1 y2 · · · y2n+1 iT (30) yk= (ln k Wij) ×kx (31) ここでXY ∈ (2n+1)×(n+1)aijbij∈ n+1である.式 (28)をさらにまとめると次式となる. Zcij= 0 (32) Z = h X −Y i (33)

cij=h aijT bijT iT 34

ここで Z ∈ (2n+1)×(2n+2)cij ∈ 2n+2 であるため,式 (32)から係数ベクトルcij は一意に決まらない.そこで係数 ベクトルcij の任意の第l 要素を定数と考え,これを1と仮 定する.係数ベクトルcij の第l要素を取り除いたベクトルを

ˆcij∈ 2n+1 とする.行列Z の第l列を取り除いた行列をZˆ

Fig. 9 Flow chart of AHP Table 2 Designed values (kW

12,kW 13,kW 23) aboutkC 1 k kR a kRb kW12 kW13 kW23 1 0.0 0.0 1 1/3 1/3 2 0.0 1.0 1/3 1 5 3 1.0 0.0 3 5 1 4 1.0 1.0 1 7 7 5 0.6 0.8 1/1.3 3 5

Table 3 Calculated coefficient vectors in C1(xR)

W12(xR) W13(xR) W23(xR) 1.851 0.661 0.139 aij −1.851 0.256 0.661 0.000 −0.256 −0.139 −0.684 0.019 0.015 bij −0.684 0.088 0.196 2.369 0.233 0.127 ∈ (2n+1)×(2n+1),取り除いた第l列をベクトルzl ∈ 2n+1 とする.すると式(32)は次のように書き換えられる. ˆ Zˆcij= zl (35) 行列Zˆが正則であれば,逆行列Zˆ−1を計算することで係数ベ クトルˆcijが一意に定まる.行列Zˆが正則でない場合は,正則 となるようにペア比較マトリックスk Cの要素を調節すればよ い.得られた係数ベクトルˆcijの第l要素に1を補えば,定義 式(34)のとおりに係数ベクトルaijbijが得られる. 動的に状態x が変化する場合も,設計者の主観的判断傾向 を反映したペア比較マトリックスが自動生成されるため,通常 のAHPの手順通りに意思決定を行うことが可能となる.変数 を導入したAHPによる意思決定手法の一連の流れをFig. 9に 示す. 本ケースでの変数の数は,意思決定変数の関数であるC1 に 関してはn = 2,環境変数の関数であるC2,C3,C4 に関し てはn = 3である.またすべてのペア比較マトリックスに関し て,下層の要素数はq = 3である.C1について設計した状態 (意思決定変数)と式(24)をTable 2に示す.k W12は「防 御力」に対する「攻撃力」の重要度,kW13 は「安定性」に対 する「攻撃力」の重要度,k W23 は「安定性」に対する「防御 力」の重要度をそれぞれ表す.Table 2の値と前述した手法か ら算出された係数ベクトルaijbijTable 3に示す.C2,

C3,C4 についても同様に計算している.

ここまで述べた3,4,5の全体をブロック線図で表したもの をFig. 10に示す.

(7)

Fig. 10 Block diagram of all of the system

6.

実 験

6. 1 基本動作に関する実験

パックの軌道から打撃点を予測し,手先の軌道を生成,制御 によって実際に動作させた結果をFig. 11Fig. 13Fig. 14

Fig. 15に示す. Fig. 11は攻撃動作時の動作の様子を0.1秒ごとに示した写真 である.Fig. 13は攻撃動作時の軌道を,Fig. 14は防御動作時 の軌道を,Fig. 15は無視動作時の軌道を表す.攻撃動作時は手 先速度をy軸の正方向に出すために,前に押し出すような手先 軌道となっている.防御動作時は手先速度を0にするため,押 し出すような軌道とはなっていない.無視動作時は手先パック が初期位置から移動していない.また,いずれの図でも,高速 ビジョンから得られたパックの位置座標を元に,パックの運動 が正確に予測できている. 6. 2 反応特性係数に関する実験 同一の目標軌道に対し,反応特性係数を α = {1.00, 0.5, 0.20, 0.10} (36) としたときのそれぞれの応答をFig. 12に示す. α = 1.00のときは目標値によく追従している.αが減少する と,誤差と遅れがより大きくなる.この結果は,Fig. 6のボー ド線図が示す傾向と一致する. 6. 3 意思決定変数に関する実験 意思決定変数RaRbを0から1まで,0.25きざみで変化さ せ,ロボットに向かって100回パックを打ち,それぞれどのよ うな意思決定をするか観察した.100回のショットは実際のゲー ムで見られるような様々なショットになるよう,スピード,角 度,反射回数が偏らないように打った.その実験結果をFig. 16

Fig. 17Fig. 18に示す.Fig. 16は異なる意思決定変数にお けるの攻撃回数,Fig. 17は防御回数,Fig. 18は無視回数を濃 度値で表している. 傾向として,Raが大きくなるほど攻撃回数が増え,Rbが大 きくなるほど防御回数が増える.しかしRaRbの値が近くな ると,攻撃と防御の発現バランスの偏りが小さくなり,必ずし も攻撃,防御の回数は100に近づかない.また,RaRbの値 (a) t = 0.0 [s] (b) t = 0.1 [s] (c) t = 0.2 [s] (d) t = 0.3 [s] (e) t = 0.4 [s] (f) t = 0.5 [s] (g) t = 0.6 [s] (h) t = 0.7 [s] (i) t = 0.8 [s] Fig. 11 Attack motion

Fig. 12 Motion by different value of α

がいずれも小さくなると,無視の回数が増加する.この結果は,

RaRbがそれぞれ攻撃と防御の意思の強さを表すと捉えても,

(8)

Fig. 13 Trajectories of the puck and the mallet (Attack motions)

Fig. 14 Trajectories of the puck and the mallet (Block motions)

(9)

Fig. 16 Frequency histogram (Attack motion)

Fig. 17 Frequency histogram (Block motion)

Fig. 18 Frequency histogram (Disregard motion)

7.

結 論 本論文では,以下の成果によってエアホッケーロボットシステ ムのエンターテインメントロボットとしての価値を向上させた. (1)反応特性係数を動作フィルタに導入することで,エアホッ ケーロボットの反応特性を調整可能にした. (2)意思決定変数をAHPに組み込むことで,意思決定の傾向 を外部から直感的に調整可能にした. また,今後の課題として攻撃動作の改良による得点能力の向 上や,動作選択肢の追加などを考えている. 参 考 文 献 [ 1 ]セイコープレシジョン:人と遊べる「エアホッケーロボット改良型」 を開発,セイコープレシジョンニュースリリース,2003 年 7 月. [ 2 ] B.E. Bishop and M.W. Spong: “Vision-Based Control of an

Air Hockey Playing Robot,” IEEE Control Systems Magazine, pp.23–32, 1999.

[ 3 ]牧野道徳,根来寿,賈松敏,中後大輔,高瀬國克:“PC ベースの高 速画像処理を用いたエアホッケーロボットの開発(第 2 報:ハンドア イ協調による動作システムの実装と評価)”,第 8 回システムインテ グレーション部門講演会(SI2007),pp.559–560, 2007.

[ 4 ] D.C. Bentivegna, C.G. Atkeson and G. Cheng: “A Framework for Learning from Observation using Primitives,”日本ロボット 学会誌,vol.22, no.2, pp.176–181, 2004.

[ 5 ] W.-J. Wang, I. Tsai, Z.-D. Chen and G.-H. Wang: “A vision based air hockey system with fuzzy control,” IEEE Int. Conf. on Control Applications, vol.2, no.4, pp.754–759, 2002. [ 6 ] Nuvation Research社,Air-HockeyBot 1000: Nuvation

intro-duces a robot that aims to top humans playing air hockey, Nuvation Current Headlines, 2008年 6 月 19 日.

[ 7 ] Barrett Technology社,URL : http://www.barrett.com [ 8 ] I. Ishii, T. Tatebe, Q. Gu, Y. Moriue, T. Takaki and K. Tajima:

“2000 fps Real-time Vision System with High-frame-rate Video Recording,” Proc. of the 2010 IEEE International Conference on Robotics and Automation (ICRA2010), pp.1536–1541, 2010. [ 9 ]吉川恒夫:ロボット制御基礎論.コロナ社,1988. [10]木村栄蔵:入門 AHP—決断と合意形成のテクニック.日科技連,2000. [11]木村栄蔵:AHP の理論と実際.日科技連,2000. 松下左京(Sakyo Matsushita) 2010年 3 月千葉大学工学部電子機械工学科卒業. 同年 4 月同大学大学院工学研究科人工システム科学 専攻博士前期(修士)課程に進学,現在に至る.ロ ボットアームの高速動作,制御,ヒューマンロボッ トインタラクションに興味を持つ. 並木明夫(Akio Namiki) 1994年東京大学工学部計数工学科卒業.1996 年東 京大学大学院工学研究科計数工学専攻修士課程修 了.1999 年同専攻博士課程修了.同年日本学術振 興会リサーチアソシエート.2000 年科学技術振興 機構研究員.2004 年東京大学大学院情報理工学研 究科システム情報学専攻講師.2008 年千葉大学大 学院工学研究科准教授.多指ロボットハンド,視覚フィードバック制 御,センサフュージョンの研究に従事.博士(工学). (日本ロボット学会正会員)

Fig. 1 Decision making for robot
Table 1 Parameters of the air hockey robot system H h Height of the Hockey Table [m] 0.80 W h Width of the Hockey Table [m] 0.92 D h Depth of the Hockey Table [m] 1.99 W g Width of Goal [m] 0.21 d p Puck Diameter [mm] 81.0 d p Smasher Diameter [mm] 63.0 l
Fig. 6 Bode diagram of transfer function from q ref to q 応特性を制御することが可能となればよい. 反応特性を外部から調整するために,反応特性係数 α(0 ≤ α ≤ 1) を導入する.式( 14 )に反応特性係数 α を適用するた めに,具体的な方針として次のことを考える. • 反応特性係数 α が 0 に近いほど,速度と加速度は 0 に近 付き,位置制御の許容誤差を大きくする. • 反応特性係数 α が 1 に近いほど,良好な追従性を示す. これら
Fig. 8 AHP for air hockey ある.以上の要素を階層化したものを Fig. 8 に示す. 2 「ペア比較マトリックスの記述」 要素間の相対的な評価 をまとめて行列にしたものをペア比較マトリックスという.こ こでは例として「動作選択」に関して各「評価基準」間に相対 的な評価をし,ペア比較マトリックス C を作る.ペア比較マト リックスの要素は,列に対する行の重要度を表す.例えば「攻 撃力は防御力よりかなり重要」ならば相対的な重要度は 5 とす る.逆に重要でない場合は逆数を用いる.例え
+5

参照

関連したドキュメント

The only thing left to observe that (−) ∨ is a functor from the ordinary category of cartesian (respectively, cocartesian) fibrations to the ordinary category of cocartesian

He thereby extended his method to the investigation of boundary value problems of couple-stress elasticity, thermoelasticity and other generalized models of an elastic

Keywords: continuous time random walk, Brownian motion, collision time, skew Young tableaux, tandem queue.. AMS 2000 Subject Classification: Primary:

Kilbas; Conditions of the existence of a classical solution of a Cauchy type problem for the diffusion equation with the Riemann-Liouville partial derivative, Differential Equations,

The study of the eigenvalue problem when the nonlinear term is placed in the equation, that is when one considers a quasilinear problem of the form −∆ p u = λ|u| p−2 u with

It is also well-known that one can determine soliton solutions and algebro-geometric solutions for various other nonlinear evolution equations and corresponding hierarchies, e.g.,

It turns out that the symbol which is defined in a probabilistic way coincides with the analytic (in the sense of pseudo-differential operators) symbol for the class of Feller

Then it follows immediately from a suitable version of “Hensel’s Lemma” [cf., e.g., the argument of [4], Lemma 2.1] that S may be obtained, as the notation suggests, as the m A