平成 13 年度
学士学位論文観察による RoboCup エージェント 学習のインタフェースシステム
The Interface System for Learning By Observation
Applied to RoboCup Agents

1020302

田村 和也

指導教員

Ruck Thawonmas

2002 年 2 月 8 日
高知工科大学 情報システム工学科

要 旨観察による RoboCup エージェント学習のインタフェースシステム
田村 和也

本論文では ，RoboCup シ ミュレ ーションで使用するソフトウェアエージェントを，人が 操作し ，且つ，そのログ をとることの出来る SemiReal シ ステムに 関することを述べる．SemiReal システムは ，高知工科大学情報シ ステム工学科ラック研究室で行っている

RAIK-NTG4 プロジェクトのテーマの一つであり，同プロジェクト内の，エージェントに人間の意志決定挙動を適用させるシステムである Huma システムに使用する，人の意志決定のログをとることを目的に開発したシステムである．
キーワード

SemiReal システム，人の意志決定挙動，Huma システム，RoboCup.

–i–Abstract
The Interface System for Learning By Observation
Applied to RoboCup Agents
Kazuya Tamura

This paper describes the SemiReal system which people can operate the software
agent who uses it in a RoboCup simulation, and can take the logs.
A SemiReal system, creates the logs of decision making of people used for the
Huma system, is one of the themes of RAIK-NTG4 project currently undertaken at
Ruck Laboratory, Department of Information Systems Engineering, Kochi University ofTechnology. And Huma system is a system which applies man’s decision-making action
to an agent.
key words

SemiReal system，People’s decision-making action，Huma system,

RoboCup.

– ii –

目次
第1章

はじめに

1

第2章

RoboCup とは

2

2.1

RoboCup の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

2.2

RoboCup シミュレーションリーグについて. . . . . . . . . . . . . . . .

3

2.2.1

RoboCup シミュレーションリーグ概要 . . . . . . . . . . . . . . .

3

2.2.2

サッカーサーバの仕組み. . . . . . . . . . . . . . . . . . . . . . .

4

2.2.3

エージェントの行動 . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2.2.4

センサ情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

第3章

KUT RoboCup Project について

7

第4章

RAIK-NTG4 プロジェクト について

9

4.1

RAIK-NTG4 プロジェクトとは . . . . . . . . . . . . . . . . . . . . . . .

9

4.2

RAIK-NTG4 プロジェクト内での本研究の位置付け . . . . . . . . . . . .

9Huma システム

11

5.1

Huma システムとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

5.2

学習方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

5.3

Huma エージェント . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

SemiReal システム

15

6.1

SemiReal システムとは . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

6.2

SemiReal モニタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

6.3

SemiReal エージェント . . . . . . . . . . . . . . . . . . . . . . . . . . .

18. . . . . . . . . . . . . . . . . . . . .

18

第5章

第6章

6.3.1

SemiReal エージェントとは– iii –

目次

6.3.2

SemiReal エージェントを利用したハンド コーデ ィング . . . . . . .

19

操作方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

6.4.1

人間が行う操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

6.4.2

マウスによる操作 . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

6.4.3

キーボード による操作 . . . . . . . . . . . . . . . . . . . . . . . . .

22

操作ログ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

実験

25

7.1

目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

7.2

内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

7.3

結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

まとめ

29

6.4

6.5
第7章

第8章
謝辞

30

参考文献

31

– iv –

図目次
2.1 シミュレータの構成図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

3.1

KUT RoboCup Project 概略図 . . . . . . . . . . . . . . . . . . . . . . . .

7

4.1

RAIK-NTG4 プロジェクトの構成図 . . . . . . . . . . . . . . . . . . . . .

10

5.1

人間挙動学習の概略図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

5.2

Huma エージェントの概略図 . . . . . . . . . . . . . . . . . . . . . . . . .

13

6.1

SemiReal モニタ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

6.2

サッカーモニタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

6.3

GK(左) と FW(右) の SemiReal モニタ . . . . . . . . . . . . . . . . . . .

17

6.4

SemiReal エージェントの概略図 . . . . . . . . . . . . . . . . . . . . . . .

19

6.5

SemiReal モニタの利用例 . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

7.1

操作性に関するアンケートの結果 . . . . . . . . . . . . . . . . . . . . . . .

27

–v–

表目次
7.1

実験での得点結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

– vi –

26

第1章

はじめに
高知工科大学情報シ ステム工学科ラック研究室では ,2002 年 6 月開催予定の RoboCup
サッカー世界大会 [1] のシュミレーションリーグ出場を目指し，RAIK-NTG4 プロジェクトを行っている. この RoboCup とは , 人工知能と知能ロボットに関する研究促進するために始められた, サッカーを題材にした標準問題である. その中のシミュレーションリーグは , ク
ライアント・サーバ型で構成されている．サーバはサッカーサーバと呼ばれるサッカーシミュレータを用い，クライアント側は，ソフトウェアエージェントを使用し試合を行う．
本論文は RAIK-NTG4 プロジェクト内の一つ, ソフトウェアエージェントに人間の意志決定を伝え , そのログを取るためのインタフェースシステムである SemiReal システムの研究と，そのインタフェースシステムとしての評価に関するものである.

–1–

第2章

RoboCup とは
本章では , はじめに RoboCup 全体のことについて述べる. 次に , 本論文で扱う RoboCup
シミュレーションリーグについて詳しく説明する.

2.1

RoboCup の目的

RoboCup は ,『 2050 年までに，ヒューマノイド 型ロボットで，人間のサッカー世界チャン
ピオンに公式ルールで勝利する』という目標を掲げ，その目標を実現するために関連技術の進歩を促進させる，ランド マーク型のプロジェクトである. 現在では , サッカーだけではな
く, 大規模災害シミュレーションや災害救助ロボットの研究・開発を行なう, RoboCup レス
キューなどもある.

RoboCup サッカーには , 現在４つのリーグがある.
• シミュレーションリーグ
コンピュータ上の仮想フィールド 上で， 1 チーム 11 体のソフトウェアエージェント同士によって行なわれるリーグ．RoboCup サッカーの中では一番古くから存在するリー
グで，一番洗練されたチームプレ イをする．本論文ではこのリーグを扱う．

• 小型リーグ
卓球台とほぼ同じ大きさのフィールド で , 直径 18cm 以内に入る小さなロボットが 5 台
以 内でチームを組み, オレンジ色のゴルフボールを使って対戦するリーグ . ロボットのサイズさえルールに合えば，どんな形状をしていても参加することができる．

• 中型リーグ–2–

2.2 RoboCup シミュレーションリーグについて

卓球台 9 枚分の大きさのフィールド で , 直径 50cm 以内に入るロボット 4 台でチームを組み, オレンジ色のフットサルのボールを使って対戦するリーグ . ロボットのサイズ，形状さえルールに合えば参加することができる．

• Sony 四脚ロボットリーグ
SONY のエンターテインメントロボットによる 3 対 3 で行うリーグ . このリーグは，選抜されたチームに貸与されたロボットで競技を行うため，一般参加は出来ない．
さらに , RoboCup2002 年世界大会からヒューマノイド リーグが加わる予定になっている.
毎年 RoboCup では , 国内大会と世界大会が行なわれる. ここで , 各チームの研究・開発されたロボット同士が勝負をしている.

2.2

RoboCup シミュレーションリーグについて

2.2.1

RoboCup シミュレーションリーグ概要

RoboCup シミュレーションリーグは , RoboCup の中で一番古くからあるリーグである.
そのシミュレーションの仕組みは , サーバ・クライアント方式を採用している. この方式を簡単にまとめた図を図 2.1 に示す.
サッカークライアント (以下エージェント ) とサッカーサーバの間は , UDP/IP 通信によって通信が行なわれる. よって , エージェントを作成する場合には , UDP/IP 通信をサポートするプログラム言語であれば何でも良い. 本論文では , Java を使用している.
また , 1 つのクライアントは原則として , 1 つのエージェントのみを制御しなければならな
い. 1 つのクライアントが複数のエージェントの情報を得て , 行動を集中制御することは許されていない.
そして , サッカーサーバによってシミュレートされた結果は , サッカーモニタと呼ばれる表示プログラムによって表示される.
現在のサッカーサーバの最新バージョンは 8.02(平成 14 年 1 月 26 日現在) である [2]．

–3–

2.2 RoboCup シミュレーションリーグについて

図 2.1 シミュレータの構成図

2.2.2

サッカーサーバの仕組み

サッカーサーバは , サッカーフィールド , ボール , 審判, エージェントの位置などをシミュ
レート する. サッカーフィールド とフィールド 上の物体は，平面で扱われ，高さの情報は持っていない．また，エージェントとボールは円として扱われる．動きの情報は，1 シミュ
レーションサイクル (100msec) 毎に離散的に更新される．サイクルの終わりに，サッカー
サーバは受信したすべての行動コマンド をフィールド 上のすべての物体に適用して，次のサイクルの位置と速度を計算する．
シミュレーションには，現実世界に近づけるために予期せぬ動きをするように，ノイズと風の情報が加えられる．

2.2.3

エージェント の行動

エージェントは次の行動をすることが出来る．

• turnエージェントの向いている方向を体ごと変える．

• turn neck• dashエージェントの向いている方向を頭だけ変える．体の方向は変わらない．

エージェントの体が向いている方向に加速をつける．

–4–

2.2 RoboCup シミュレーションリーグについて• kickボールが蹴れる範囲内 (kickable area) にある場合に，方向と強さを決めてボー

ルを蹴る．

• move

得点が決まったとき等の初期フォーメーションに戻るためと，ゴ ールキーパー

が catch した時，ゴールキック位置に移動する時のみ使えるの行動．

• catch

ゴ ールキーパーがボールをキャッチする行動．ゴ ールキーパーがペナルティエ

リア内で使用したときのみ有効．

• say

メッセージをすべてのエージェントに伝える．距離などの制限により，完全に伝わらない，または全く伝わらないこともある．

• change view

視野角度と視覚情報の品質を変える．これを変えると視覚情報の送られてくる頻度が変わる．
エージェントは，これらの行動を駆使して設計しなければならない．原則として 1 サイクルに 1 つの行動しかできない．ただし ，turn neck, say, change view は，ほかのコマンド と同時に 1 サイクルに送ることが出来る．
また，エージェントにはスタミナがある．スタミナは，dash すると減少する．減少する
割合は，行動の度合い（ 全力で走る等）で変化する．スタミナが少ないと全力で走れないな
ど 等の制限が加わる．dash をしなければ，スタミナは少しずつ回復する．

2.2.4

センサ情報

サーバからセンサ情報としてクライアントに次のような情報が送られてくる．

• 視覚情報 クライアントの視野内に入ったオブジェクトの情報．
• 聴覚情報 審判からの判定メッセージと，クライアントプログラムが say コマンド で送ったメッセージ情報．

• 感覚情報 自エージェントのスタミナ，視野モード，速度，頭の向き，kick, dash, turn,say, turn neck のコマンド を送った回数の情報．

–5–

2.2 RoboCup シミュレーションリーグについて

センサ情報がサーバから送られてくる頻度は，それぞれ違う．
視覚情報は，初期状態で 150msec 毎にクライアントに送られる．ただし，シミュレーショ
ンサイクルとは非同期である．
聴覚情報は，メッセージが発生したときにシミュレーションサイクルとは非同期に送られる．
感覚情報は，シミュレーションサイクル毎に必ず送られてくる．

–6–

第3章

KUT RoboCup Project について高知工科大学情報システム工学科では，「 RoboCup シミュレ ーションを通じてのソフト
ウェア工学及び人工知能の教育」と題して，RoboCup を使った授業・研究を 1999 年度より行っている [3]．KUT RoboCup Project の概要図を図 3.1 に示す．

図 3.1

KUT RoboCup Project 概略図

図 3.1 で示したように，人工知能研究室と授業（ 情報システム工学実験 4（ 以下，実験 4 ）・
人工知能基礎ともに 3 年次）で相互協力し，年１回の RoboCup 大会に代表チームを送り込
むことが目的である．実験 4 では，実際にクライアントを作ってもらう．最終的には大会を行い，戦術や機能のアイデアを出し実装してもらう．
また，人工知能研究室の役割としては，次の 3 つがある．1 つは，実験 4 で使用するクラ–7–

イアントプログラムの基本部分を開発・提供を行う．2 つ目は，実験 4 で出されたアイデア
や，戦術，機能，などを統合し ，代表チームの強化に利用する．3 つ目は，人工知能に関する研究の成果を代表チームに追加する．

Project 初年度の 1999 年度の実験 4 のチームは，人工知能研究室で強化され，2000 年度の RoboCup Japan Open に出場した．結果は，初出場ながら予選リーグを突破し決勝トーナメントに出場することができた．

2001 年にも RoboCup Japan Open に出場し，1 勝を上げている．
現在は，2002 年度 RoboCup 世界大会への出場を目指している．

–8–

第4章

RAIK-NTG4 プロジェクト について

4.1

RAIK-NTG4 プロジェクト とは

RAIK-NTG4 プロジェクトは ,RoboCup サッカー世界大会に向けてのソフトウェアエー
ジェントチームの開発プロジェクトである. このプロジェクトでは ,• 人の意志決定挙動を適用する (Huma システム) エージェント• 強化学習を用いたエージェント• ハンド コーデ ィングによる従来型のエージェントの３タイプのエージェントを開発している.

4.2

RAIK-NTG4 プロジェクト 内での本研究の位置付け

プロジェクトの概要を図 4.1 に示す．
SemiReal システムの主な目的は，Huma システムで使用するログをとることである．しかし，図 4.1 の通り，SemiReal システムは，Huma システムのエージェントのみでなく，３タイプのエージェント全てに共通して使うことの出来るツールでもある．これは，SemiReal
システムで使用するモニタを使用してのデバックや，自由に動かせるエージェントを利用して特定の状況をつくり出し，そのときのエージェントの動作を確認するなどの利用方があるからである．現在作成中のハンド コーデ ィングのみのエージェントにもこの方法を利用して作成しているものもある．以上のように，本研究の対象である SemiReal システムは ,Huma
システムのためのログ記録と , ハンド コーデ ィング部分の補助を目的としている.

–9–

4.2 RAIK-NTG4 プロジェクト内での本研究の位置付け

図 4.1 RAIK-NTG4 プロジェクトの構成図– 10 –

第5章

Huma システム
5.1

Huma システムとはHuma システムは，人間がソフトウェアエージェントと同じ 環境下において行う意志決
定挙動を，ソフトウェアエージェントに適用するためのシステムである．このシステムは，SemiReal システム，ルール抽出ツール，Huma エージェントによって構成される．このシステム全体の概要を図 5.1 に示す．

図 5.1

5.2

人間挙動学習の概略図

学習方法

Huma システムによる人間の意志決定挙動の学習の手順は以下の手順で行う．

– 11 –

5.3 Huma エージェント

1. 人間がエージェントと同じ環境下で状況判断を行いエージェントを操作し，その操作のログをとる．

2. ルール抽出ツールを使い，ログから行動ルールを抽出する．
3. 作成したルールをエージェントの行動決定に反映させる．
エージェントを人が操作しそのログをとるツールが，本研究の SemiReal システムである．
この機能が SemiReal システムの最も重要な機能である．
ルール抽出ツールには，現在，C4.5[4] を使用し ，ログから決定木を作成している．尚，
ルール抽出ツールに関しては，その新たな手法として，階層化した複数決定木を利用した手法について研究が進めれれている [5]．
そして，作成された行動ルールを，自らの行動決定に適用することのできるエージェントに適用することで人間の意志決定挙動の学習を行う．この，自らの行動決定に適用することのできるエージェントを Huma エージェントと呼んでいる．

5.3

Huma エージェント

Huma エージェントの概略図を図 5.2 に示す．
ハンド コーデ ィングのみによる従来のエージェントは，その行動決定の全てをエージェ
ントコア内の行動決定部分に記入しておく必要がある．それに対し Huma エージェントは，
行動決定部分で使用する情報をもとに，行動ルールを参照することで行動を決定することができ，行動の全てをプログラムで記述する必要はない．そのためプログラミングの負担も減り，行動ルールを入れ換えるだけで違った行動をとるエージェントを作成することもできる．

Huma エージェントは，毎サイクル行動ルールを参照する．しかし，ルールを参照して得られるのは，そのサイクルに行うべき行動そのもの (kick, dash, turn) ではなく，行うべき行動の目標になっている．そのため，Huma エージェントは，その目標をもとに各サイクル
で行う行動を決定している．
下の例は，まず１サイクル目に目標の方向に向いてから，２サイクル目以降に dash して– 12 –

5.3 Huma エージェント

図 5.2

Huma エージェントの概略図

移動するときの例である．

各サイクルにおける行動目標と行動の例• 1 サイクル目– ルールからの目標 ：相対角 20 度，距離 30 の地点に dash
– このサイクルでの行動：目標方向に turn
• 2 サイクル目– ルールからの目標 ：相対角 20 度，距離 30 の地点に dash
– このサイクルでの行動：dash• 3 サイクル目– ルールからの目標 ：相対角 20 度，距離 30 の地点に dash
– このサイクルでの行動：dash

現在，決定木が指定する目標行動には以下の 6 種類がある．

• 目標に向けてキック• 目標に向けてド リブル– 13 –

5.3 Huma エージェント• 目標の方へ移動• その場で待機• ボールに近付いてから待機• オート
目標行動がオートのときは，あらかじめプログラムしておいた行動決定にしたがって行動する．現在の Huma エージェントには，「 まずボールに近付き，ボールが蹴れる距離になればゴールに向かって弱くキックする」という行動をプログラムしてある．

– 14 –

第6章

SemiReal システム
6.1

SemiReal システムとはSemiReal システムとは，ソフトウェアエージェントに人間の意志決定を伝え, そのログを取るために開発したインタフェースシステムである．

RoboCup シミュレーションでは，人間の意志決定を伝えリアルプレ イヤシステムが秋田氏らによって提案され，開発が行われている [6]．SemiReal システムは，このリアルプレ イ
ヤの概念をもとに独自に開発を行った．既存のリアルプレ イヤは，環境情報の扱いなどが我々が作成したエージェントと異なるため，そのまま使用するのことはできなかった．そのため，独自のリアルプレ イヤとしてを SemiReal システムを作成した．
尚，本研究で用いるプログラムは Java を使用して作成している．

6.2

SemiReal モニタ

SemiReal システムでは，RoboCup シミュレーションで使用するサッカーモニタとは別に，独自のモニタを使用する．このモニタを SemiReal モニタと呼んでいる．
図 6.1 は，実際の SemiReal モニタの画面である．
このモニタは，RoboCup シミュレーションで使われている，すべての情報が表示される
サッカーモニタとは異なり，エージェントが実際に受け取ったセンサ情報のみを表示する．
モニタ上部のサッカーフィールド 上には，• 敵エージェント : 赤– 15 –

6.2 SemiReal モニタ

図 6.1 SemiReal モニタ• 味方エージェント : 青• 敵味方不明エージェント : 灰色
• 自エージェント : 黄色
• ボール
• 目標座標が表示されている．
自エージェントの表示には，体の向きの情報も含まれている．
敵味方共，GK エージェントは色を変えて表示している．また，情報があれば各エージェ
ントの背番号も表示する．
敵味方不明エージェントは，自エージェントとの距離が遠い等の理由で，サーバーから位
置情報しか送られてこなかったエージェントである．
目標座標は，入力された行動の目標座標であり，マウスでクリックした位置である．
モニタ下部のウィンド ウ内には，• エージェントのスタミナ量• ダッシュ時の加速度• オートモードが表示されている．

– 16 –

6.2 SemiReal モニタ

オートモード は，現在，選択されている行動目標の種類を表している．
下図は，22 体のエージェントをフル出場させた状態のサッカーモニタ (図 6.2) と，その左側のチームのゴールキーパーとフォワード のエージェントの情報を表示した SemiaRal モニ
タ (図 6.3) である．

図 6.2 サッカーモニタ

図 6.3 GK(左) と FW(右) の SemiReal モニタ

図 6.3 の左側の SemiReal モニタでは，近くにいる味方エージェントはユニフォームナン

– 17 –

6.3 SemiReal エージェント

バーまではっきり表示されているが，遠くにいる敵エージェントは，距離が離れているためチーム名の情報が送られてこず，敵味方の判断ができないエージェントとして表示されている．
一方，図 6.3 の右側の SemiReal モニタでは，近くの敵エージェントはユニフォームナン
バーまではっきり表示されているが ，視野外にいる味方エージェントは一切表示されていない．
このように，SemiReal モニタは各エージェントが得た情報のみを忠実に表示することができる．
このモニタの使用により，人間はエージェントが得られた情報と同じものを得ることができ，エージェントと同じ環境で状況判断を行い指示を出すことができる．また，モニタは入力ディバイスによるコマンド 入力を受ける機能も持つ．

6.3

SemiReal エージェント

6.3.1

SemiReal エージェント とはSemiReal エージェントとは，SemiReal モニタから，モニタに入力されたコマンド 入力の情報を受け取り，それを行動決定に反映させるエージェント，つまり，人間が操作できるエージェントである．

SemiReal エージェントの概略図を図 6.4 に示す．
図 6.4 の構造は，Huma エージェントの構造 (図 5.2) と同じ様になっている．Huma エー
ジェントがルール抽出ツールによって作られた行動ルールを行動決定に利用するのに対し ，

SemiReal エージェントは，モニタに入力された人間による意志決定を行動決定に反映することができる．
現在，エージェントに対し入力できる行動コマンド は，以下の通りである．

• 目標に向けてド リブル• 目標に向けてキック– 18 –

6.3 SemiReal エージェント

図 6.4

SemiReal エージェントの概略図• 目標の方へ移動• その場で待機• ボールに近付いてから待機• オート
目標行動がオートのときは，Huma エージェントと同じく，あらかじめプログラムしておい「 まずボールに近付た行動決定にしたがって行動する．現在の SemiReal エージェントには，き，ボールが蹴れる距離になればゴ ールに向かって弱くキックする」という単純な行動をプ
ログラムしてある．

6.3.2

SemiReal エージェント を利用したハンド コーディング

SemiReal エージェントは，人間が操作することのできるエージェントとしてだけでなく，ハンド コーデ ィングのみのエージェントの作成にも使用することができる．例えば，特定の状況下でのエージェントの行動を確認したい場合，エージェント 自身や敵エージェントを

SemiReal エージェントし 手動で操作すれば ，特定の状況を容易につくり出すことができ，– 19 –

6.3 SemiReal エージェント

行動を確認が容易になる．
また，SemiReal モニタを利用すれば次のような事もできる．

図 6.5 SemiReal モニタの利用例

図 6.5 は，現在，RAIK-NTG4 プロジェクトで開発中のディフェンダ ー用エージェントに使用している SemiReal モニタである．このモニタは，図 6.1 の SemiReal モニタと違い，
フィールド 上に新たなラインが表示されている．これは，このディフェンダー用エージェン
トの守備範囲を表示させたものである．このエージェントは，そのラインで分けられたエリ
アのど こにボールがあるかによって守備位置や行動を変更するようにプログラムされている．SemiReal モニタに表示されたラインにより，人間にもこのエージェントのエリア分け
が視覚的に解り，エージェントが実際にボールがどのエリアに在ると受け取っているかなどを確かめやすくなっている．
このように，エージェントが得た情報を視覚的に表示する SemiReal モニタを利用することにより，エージェント作成時のディバック作業なども効率よく行うことが可能である．

– 20 –

6.4 操作方法

6.4

操作方法

6.4.1

人間が行う操作

SemiReal エージェントの操作は，そのサイクルに行うべき行動そのものを入力するのではなく，行うべき行動の目標を入力することで行う．これは，シューミレーションサイクル
毎に人間が正確な判断と操作を行うことが不可能であるからである．SemiReal エージェン
トは入力された行動目標に従い，その目標を達成するための最善の行動を各サイクル毎に判断し，行動する仕組みになっている．これは，操作の簡略化にもつながっている．

6.4.2

マウスによる操作

マウスによる操作は，SemiReal モニタ上のサッカーフィールド をクリックすることで操作を行う．クリックするボタンによって行動目標を切替え，クリックした場所を行動目標の目標地点に設定するようになっている．
マウスにより切替えることのできる行動目標と，それに対応するマウスのボタンのリストである．

• 目標に向けてド リブル ： 左ボタン
• 目標に向けてキック ： 中ボタン
• 目標の方へ移動 ： 右ボタン
上記のように，マウスによるエージェントの操作には 3 つのボタンを使用する．よって，3つボタンマウス，あるはホイールマウスを使用するのが適当である．2 つボタンマウスでも，左右同時クリックが中ボタンの代わりになるが，適当ではない．
次に，各行動目標時のエージェントの行動について説明する．
行動目標が「目標に向けてド リブル」のとき，エージェントは以下のような行動をとる．

1. ボールを探す– 21 –

6.4 操作方法

2. ボールの方を向く
3. ボールに近付く
4. ボールを目標座標方向に弱く蹴る
以上の行動を状況に応じ，繰り返すことで目標座標に向けてのド リブルを行う．
次に，行動目標が「目標に向けてド リブル」のときのエージェントの行動を以下に示す．

1. ボールを探す
2. ボールの方を向く
3. ボールに近付く
4. ボールを目標座標方向に最大の力で蹴る行動の内容はボールを蹴る力以外はド リブルと同じである．ボールを強く蹴ることにより，シュートやパス等の行動を指示することができる．現在の仕様ではボールを蹴る力はド リブ
ル・キック共にデフォルトで設定してある力あり，操作中に変更することができないようになっている．
行動目標が「目標に向けて移動」のときのエージェントの行動を以下に示す．

1. 目標座標の方を向く
2. 目標座標の方向へダッシュ
この行動は上記の２つの行動目標の場合とは違い，ボールを全く見ずに行動をする．この行
動目標は，敵の近くに近付きマークしたり，パスを待つために空いたスペースへ移動しておくときなどに使用する．

6.4.3

キーボード による操作

キーボード で行える操作は，• 待機– 22 –

6.4 操作方法• ボールキープ• オートへの移行• 移動速度の変更• ログへの「 OK 」
「 NG 」の書き込みの５つである．
待機は行動目標の一つであり，キーボード の W キーに対応している．この行動目標でエージェントが行うのは，• ボールの方向を向くのみである．この行動目標は，特定位置での待機はもちろん，移動を停止しスタミナの回復をはかるときにも使用する．
ボールキープも行動の目標の一つであり，キーボード の Q キーに対応する．この行動目
標でエージェントが行う行動は以下のようになっている．

1. ボールを探す
2. ボールの方を向く
3. ボールに近付く
4. ゴールの方向を見る．
この行動は，ボールを蹴れる距離を保ちながら待機する行動目標である．
待機とボールキープをキーボード で行うのは，両行動目標が目標座標の入力を必要としないからである．待機はキーを押したときのエージェントの座標がそのまま目標座標となり，
ボールキープはボールの座標付近が目標座標となる．
移動速度の変更は，0〜9 のキーで 10 段階に変更可能である．
オートへの移行は，W キー，Q キー以外のアルファベットキーで行うことができる．
ログへの「 OK 」
「 NG 」の書き込みに関しては，次項で説明する．

– 23 –

6.5 操作ログ

6.5

操作ログ

操作ログには，Huma エージェントに適用するルールを作成するために必要になる情報が記述される．ログには以下のような情報が記述される．

• サイクル数• 現在のオートモード• 目標座標との相対角度，相対距離，目標座標 (オート やキープ の時など 必要ない場合
以外)• 現在のプレ イモード
• そのサイクルでエージェントが行った行動情報• ボールの情報• 敵，味方，チーム名不明エージェントの情報
これらのログをもとにルールを作成するわけだが，エージェントを操作するのが人間である以上，操作ミスがあるのは必然である．その操作ミスをした部分のログをルール作成時に削除するために，ログに「 OK 」と「 NG 」と記述する．もし操作に失敗した場合，スペース
キーを押すことでログに「 NG 」と記述することでその失敗した部分のログをルール作成に使用しないようにできる．ルール作成に使用しない範囲は，「 NG 」または「 OK 」の記述と「 NG 」の記述の間になる．

– 24 –

第7章

実験

7.1

目的

現時点で，SemiReal システムは実用できる段階にあり，採取したログから行動ルールを作成し Huma エージェントに学習させることにも，ある程度成功している [7]．しかし ，ログの採取は小数の人員でしか行っておらず，SemiReal モニタの表示や，エージェントの操作性など インタフェース部分における性能の検証が不十分である．そこで，SemiReal シス
テムのヒューマンインタフェースとしての性能を検証するために実験を行った．また，この実験により SemiReal システムの改善点などを発見することも実験の目的の 1 つである．

7.2

内容

実験内容は，被験者に SemiReal システムのエージェントを操作し ，ゴ ールキーパー用
エージェントとの１対１の試合を 3000 サイクル×３回行ってもらうというものである．評
価は，テスト時の得点数と表示方法・操作性等に関するアンケートの結果により行った．この実験には被験者として，SemiReal をすでに操作したことのある者や RoboCup すら知らない者など ，このシステムに対する知識量が様々な 9 人に参加してもらった．被験者には実
験に最低限必要なの知識を得てもらうため，実験前に，アンケートとこの実験の趣旨やエー
ジェントの操作方法などを記載したマニュアルを配布した．このマニュアルには，被験者に様々な戦略・操作を行ってもらうため，敵ゴールキーパー用エージェントのゴールキーパーとしての基本性能の高さと，そのゴ ールキーパーに弱点が存在する事を記述している．尚，– 25 –

7.3 結果

今回使用したゴ ールキーパー用エージェントは，RAIK-NTG4 プロジェクトにおいてハンド コーデ ィングのみで作成したものある．
次に，今回配布したアンケートの質問内容を以下に示す．

• RoboCup エージェントを作成したことがあるか．
• 実際のサッカーについて詳しいか．
• SemiReal システムを使用し，エージェントを操作したことがあるか．
• エージェントを思い通りに操作できたか．
• 操作において不都合に感じることがあったか．
• SemiReal モニタにおいて不都合に感じたことについて．
• 修正，または追加すべき機能などについて．
尚，このアンケートは実験終了時に記入してもらった．得点の記録は１回のシュミレーショ
ン毎に記入してもらい，また，その時点で気がついたことなどもあわせて記入してもらった．

7.3

結果

まず各回の得点結果を表 7.1 に示す．

最低得点

最高得点

平均点

1 回目

1

6

2.11

2 回目

1

7

3.56

3 回目

1

7

4.56

個人合計点

3

19

10.22

個人最高点と最低点の差

0

7

3.11

表 7.1

実験での得点結果

まず，各回の得点の平均点を見ると，回を重ねるごとに得点が上がっているのがわかる．

– 26 –

7.3 結果

このことから，被験者がシミュレーション中に，SemiReal モニタの情報から，ゴ ールキー
パー用エージェントの弱点を判断することができ，また，その弱点をつくような行動をとらせるようエージェントを操作することが可能であることが分かる．
この結果から，SemiReal システムは現段階でもエージェントを意志通り操作できることが証明されたと言える．
しかし，「 エージェントを思い通りに操作できたか」というアンケートに対する被験者の回
答は図 7.1 のようになっている．

図 7.1

操作性に関するアンケートの結果

このように，半数の被験者がエージェントをあまりうまく操作できなかったと答えている．
この結果から，ゴールキーパーエージェントの弱点をつくように操作できていても，それは完全に意志通り操作しての結果ではなかったことになる．
結論として，現段階では，ある程度までの操作は可能であるが，完全に意志通りに操作する事は難しいということが判明した．
また，「 修正，または追加すべき機能などについて」に対する回答などから以下のような改善点が挙がった．

• キック力を変更可能にする• 複数の目標点の指定– 27 –

7.3 結果• 視野範囲の表示• マウスでのダッシュスピード の変更• フェイント等の行動コマンド の追加
今後はこれらの意見をふまえ，機能の追加や改善を行う必要がある．

– 28 –

第8章

まとめSemiReal システムにより，RoboCup エージェントをエージェントと同じ 環境下で操作し，そのログをとることが可能になった．
また，SemiReal モニタにより，エージェントの得た情報を視覚的に確認することができるようになったことで，エージェントコア部分のデバッグなどが容易になり，また，ハンドコーデ ィングによる戦略プランニング部分作成の効率をあげることができた．
しかし，現段階の表示と操作では，エージェントを完全に意志通りに操作することは難し
いこともわかった．
今後の課題として，実験でのアンケート結果などをふまえ，表示・操作両方において改善する必要がある．また，より正確な情報の表示，より正確な行動を可能にするために，エージェントコア部分の改善も行う必要があると考える．

– 29 –

謝辞
本研究を進めるにあたりとても丁寧にご指導下さいました Ruck Thawonmas 助教授と平山 純一郎先輩に心より御礼申し上げます．
また，本研究に関する実験に協力してくださった，友池 貴之先輩，日野 慎一君，川口 宏
君，小原 和裕君，中城 敏幸君，河内 友彦君，前川 和登君，石井 勇太君，片岡 義人君に心より感謝いたします．
最後に，研究活動に関し ，色々な面で御協力していただいた人工知能研究室の皆様に感謝します．

– 30 –

参考文献[1] http://www.robocup2002.org/[2] http://sourceforge.net/projects/sserver/[3] Ruck Thawonmas, 大森 洋一, 平山 純一郎, ”RoboCup ソフトウェアロボットづくり
による問題設計解決型学習”, 第 9 回情報教育方法研究発表予稿集, pp. 50-51, 2001 年 7月.
， 株）トッパン，東京，1995.
[4] J.R. Quinlan，AI によるデータ解析，古川 康一（ 監訳）（

[5] 平山 純一郎, Ruck Thawonmas, 竹田 史章, ”階層化した複数決定木を利用した観察による学習とその RoboCup への適用”, 情報処理学会四国支部研究シンポジューム, 平
成 14 年 3 月 15 日（ 口頭発表予定）.

[6] 秋田純一， 西野順二， 久保長徳，下羅弘樹， 藤墳到，”RoboCup シミュレーション
リーグ人間参戦システム OZ-RP の提案”, 人工知能学会第 12 回 Sig-Challenge 研究会
資料，pp.23–28, April. 2001.

[7] 平山 純一郎, Ruck Thawonmas,”RoboCup ソフトウェアエージェントへの人間の意
思決定挙動の適用”, 電子情報通信学会「 人工知能と知識処理」11 月研究会, 信学技報

AI2001-54, pp. 57-61, 2001 年 11 月.

– 31 –