LEGO MINDSTORMSTM による RoboCup 小型リーグ・ロボットの開発

LEGO MINDSTORMSTM による RoboCup 小型リーグ・ロボットの開発
高橋
克典*1・岩田
治樹*2・川上
誠*1・澤
洋一郎*1
LEGO Soccer Robot Based on RoboCup Small-Size League
Katsunori Takahashi*1,Haruki Iwata*2, Makoto Kawakami*1, Yooichiro Sawa*1
Abstract
We developed a soccer robot system based on RoboCup F-180 League in order to research cooperative
behavior of mobile robots in the multi-agent robot system. The system consists of ten mobile robots,
their remote-brains, a communication server, and a vision server. Agent robots are made of LEGO
MINDSTORMSTM Robotics Invention Ssystem which is a development kit included a programmable
microcomputer unit RCX embedded in a LEGO brick with infrared communication. The remote-brain
PCs and the servers are connected each other with TCP/IP. The vision server is equipped with
frame-grabber connected to a CCD camera above the field and it processes the captured images to
determine positions of objects on the field. The communication server with infrared transmitter/receiver
provides collision-less communication between the remote-brains and their robots.
Key Words: Multi-Agent System, Cooperative Behavior, RoboCup Small-Size Soccer Robot (F-180)
League, LEGO MINDSTORMSTM, Infrared Communication
1.はじめに
RoboCup はロボット・サッカー競技を中心的活動とし
『FIFA ルールに従い,2050 年までに完全自律型ヒューマノ
イドロボット 11 台で人間のワールドカップチャンピオンを打
破する』という目標を掲げたランドマークプロジェクトであ
る。35 ヶ国数千人のロボット・人工知能研究者が参加し,自
律分散移動ロボットに関する研究成果の評価の場として、毎
年、各国で国内大会が開催され、さらに会場を毎年各国に移
して世界大会が開催されている。(1)(2)
競技種目の一つ,小型ロボットの RoboCup F-180 League
は,面積 180[cm2]に収まるロボット 5 台以内のチームによる
サッカー競技である。ルールの特徴として,チームプレイに
必要な位置情報を得るためのビジョンシステムおよびロボッ
ト内部演算処理軽減のためリモートブレインとなるコンピュ
ータを使用して,無線ネットワークを介してロボットの行動
を補助することができる。
自律分散移動ロボットシステムにおいて、個々のロボット
はシステムの目的を達成するために、センサー等からの情報
に基づき、リアルタイムで状況を把握し,他のロボットと協
調行動を行うことが要求される。そのためにはロボット間で
センサー情報を共有し、対象となる世界に関するより多くの
情報を獲得することが必要である。つまり、ロボット同士が
作業領域を共有することで互いに行動を妨げるなどの競合の
問題を解消し、障害物回避を行い,目的に適合した協調行動
をとることが各ロボットに求められる。
RoboCup では情報の共有や競合の解決に通信が用いられる
が(3)(4)、個々のロボットが、ボールや味方・相手ロボットとの
位置関係やその機能・役割に応じてそれぞれ独立して動作
*1 電子制御工学科 Department of Digital Engineering
*2 ソニーデジタルネットワークアプリケーションズ(株)
Sony Digital Network Applications
し,味方ロボット間で役割を補い合うことにより,全体で一
つの自律マルチエージェント・システムを構成して競技を行
う。本研究ではこのようなシステムにおいて分散移動ロボッ
トに協調行動を行わせるに際に生じる技術的な問題点などを
検討することを目的として、RoboCup 小型リーグのルールに
準拠したロボットシステムを開発した(5)。
2.システムの概略
本研究では,小型リーグにおいて一般的に採用されるグロ
ーバルビジョンシステムを利用したシステムを構築した。本
システムは Fig.1に示すように,天井に設置した CCD カメラ
の映像を取得して、サッカー・フィールド上のロボットとボ
ールの位置情報等をリアルタイムで画像計測するシステムで
あり、ビジョン・サーバが各チームの制御用 PC の要求に応
じて LAN を介してフィールドの全情報を伝送する。
黄色チームと青色チームのそれぞれの制御用 PC は、自チ
ームの 5 台のロボットのリモートブレインとして動作し、各
リモートブレインはビジョン情報に基づく状況判断を行って、
個々に適切な行動を決定する。さらにリモートブレインが、
LAN 上の通信サーバに行動指令を送ることにより、通信サー
バは指定されたロボットに赤外線通信機 IR-Tower を介して
行動指令を伝送する。
本研究では、LEGO MINDSTORMSTM Robotics Invention
System(RIS1.0)(6)を用いて移動ロボットを開発した。これ
は LEGO ブロックのロボット開発キットであり、ロボットの
メカ部分が、DC モーター、タッチセンサー、光センサーの設
置も含めてブロックの組み合わせで作製できる。また、保守・
改良が容易であるし、1 台あたりの移動ロボットの開発費が安
価であり、世界中のユーザ・グループがロボット開発情報を
共有しているので開発ツールなどがインターネットで容易に
入手できる。特に、RIS では赤外線通信を利用しているため、
RoboCup 小型リーグのサッカーフィールド全体(2.9m×
2.4m)をカバーする程度の狭い領域でのロボットの無線通信
が比較的容易にできるという特徴がある。
4.リモートブレイン
ビジョンサーバ等の情報を受けて、対応するロボットの移
動目標位置を決定するリモートブレインのソフトウエアを,
3.サッカーロボット(7)-(11)
ロボット制御用 PC(CPU クロック 700MHz、メモリー256MB、
Fig.2にサッカーロボットの外観を示す。RIS1.0 に含まれ
Vine Linux2.5)上に、チームごとに実装した。リモートブレ
るマイコンユニット RCX(CPU 日立 H8/3292)、DC モータ, インとして、カーネギーメロン大学 MultiRobotsLab の Tucher
ギアなどのブロック類を使用して本体を 10 台作製した。また、 Balch 氏が開発した Java サッカーシュミレータ JavaBots を
保守を考慮して、すべてのロボットのタイヤ径を 8[cm],トレ
ベースとして、上記の LEGO ロボット制御用に開発した。
ッドを 14[cm]として統一した。
JavaBots は、現在 SoccerBots と名称変更されているが、
走行制御系として、制御が比較的簡単であり、かつ機動性
これは同氏が移動ロボット研究用に開発し配布した Java ア
に優れた PWS(Powered Wheel Steering)駆動方式を採用し
プリケーション TeamBots™(12)の一部である。SoccerBots は
Java アプリケーション TeamBotSim 上で動作し、ロボット
た。RCX の出力ポート 2 個に、RIS 付属の DC モータブロ
制御用の Java クラス(ControlSystemSS)を始め、研究用に作
ックをそれぞれ接続し、RCX に内蔵の PWM 方式のモータ・
られたいくつかの Java パッケージを利用できる。各チームの
ドライバーにより、8 段階の速度で左右の車輪を正転・逆転で
戦略に基づき計画された個々のロボットの動作は、
きる。また、RCX の入力ポート 2 個にオプションの回転セン
ControlSystemSS のサブクラスに記述したそれぞれの Task
サー(16ppr)を接続し、左右車輪の回転数を測定し、差動オド
で実現される。このサブクラスを SoccerBots 上で動作させれ
メーター法により現在位置と姿勢角を計算した。
ば、事前にロボットの動作をシミュレーションにより確認で
RCX 上部にある赤外線送受信用の窓を通して赤外線通信が
きる。また、SoccerBots に、基本的なロボット制御サブクラ
できるが、プログラム開発時には開発用 PC のシリアルポー
ス BasicTeam といくつかの実用的なサブクラスの例がパッケ
トに取り付けた RIS 付属の IR-Tower から RCX へファームウ
ージとして用意されているので新規にロボット制御サブクラ
エアおよびユーザプログラムを転送できる。また、RCX 上の
スを作成する際に便利である。これらのロボット制御サブク
ユーザプログラム実行時には外部 PC−RCX 間または複数の
RCX 間でメッセージの送受信ができる。
ラスを始めとするオブジェクトの仕様を、カーネルの実行用
RIS 標準ファームウェアは、ユーザプログラムにおいて
パラメータなどとともに SoccerBots に指定するためのディス
様々な機能を提供するが、マルチエージェント・システムを
クリプション・ファイル robocup.dsc があり、これに登録す
実現するには通信部分のオーバーヘッドが大きくなり不向き
ることによりサッカーシミュレーションができる。
である。そこで、RCX の能力を一杯まで出すことができるフ
Fig.3に本システムの実行画面の一例を示す。ビジョンサー
ァームウエアとして legOS ver.2.0 を用いた。legOS は C/C++
バの情報に基づきボールと全ロボットの位置がフィールド上
で表示される。本システムのカーネル部が 30[ms]ごとにビジ
言語で記述されたオープンソースのファームウエアであり、
ョンサーバにデータ要求を行い、全オブジェクトの位置情報
ユーザプログラムを Linux 環境で開発でき,現在最も拡張性
を取得後、上記のロボット制御サブクラスに記述されたタス
が高いと思われる。
クを順次実行する。SoccerBots との整合性をとるために何の
なお、RCX の入出力ポートが 1 組残っているので、DC モ
タスクも実行しない相手チームのロボット制御サブクラス
ータ・ブロックを使用してキックデバイスや、白線を検出す
DummyTeam を作成し、前述のディスクリプション・ファイ
るための光センサー・ブロックなどを容易に搭載でき、構造
ルに登録して本システムを実行させることとした。なお本研
も自由に変更できるのが LEGO ロボットの特徴である。
究では Jbuilder6Personal+JDK2.3 を
用いて Java アプリケーションとして本
システムを開発した。
Fig.1
RoboCup F-180 league soccer robot system
Fig.2
LEGO soccer robot
5.グローバルビジョンシステム
本研究では、CCD カメラ(SONY SSC-DC25)をフィールド
中央の高さ 2.5m の位置に鉛直下向きに取り付けた。フィール
ド全体の映像(NTSC 信号)をキャプチャーカード(IO-DATA
GV-VCP/PCI bt8x8, Video4Linux2)
を搭載した PC(Pentium
Ⅲ,クロック 1.2GHz、メモリ 256MB、Vine Linux2.5)で取り
込み(YUV4:2:2 フォーマット)、画像処理して 10 台のロボッ
トとボールの位置情報を抽出し、同一 LAN 上のロボット制御
用 PC の要求に応じて情報をビジョンサーバより提供するグ
ローバルビジョンシステムを開発した。本システムを利用し、
入力画像サイズ 640×480 で最大 30fps の画像処理が可能であ
る。
ビジョンサーバは画像取り込み部、クラスタリング部、フ
ィルタ部、対象物体追跡部、操作・表示部、ネットワーク部
に分けられる。画像取り込み部、クラスタリング部、操作・
表示部の一部をカーネギーメロン大学の CMVision1.2(13)を利
用して作成した。
(1)クラスタリング部 タイムステップごとの入力画像フレ
ームに対し、それぞれの色の対象物体を検出するために閾値
処理を行う。現時点ではボール(Orange)
、ロボットのチーム
マーカ(Blue と Yellow)、フィールド(White と Green)を識
Fig.3
Fig.4
Display of soccer field in
a remote-brain PC
Video image in the vision server
別するために、それぞれの色を YUV 空間上の領域に分割し、
クラスタリングする。クラスタリングされた各色に対応する
画素領域の面積とその重心座標を計算する。
(2)フィルタ部 フレームごとの各画素領域の重心位置と面
積をもとに、ボールと各ロボットに対応する画素領域の候補
を抽出する。
(3)対象物体追跡部 抽出された対象物体の位置情報と1フ
レーム前の対象物体の位置・速度情報に基づき、対象物体を
認識し、それらの位置を決定し、速度を算出する。現時点で
セカンドマーカーによるロボットの ID 付けを行っていないの
で、以上のような方法でロボットの追跡を行っているが、誤
認識が起こることがあるので、現在セカンドマーカを使用し
て ID を認識するように改良を進めている。
(4)操作・表示部 各色の YUV 空間での閾値(各色成分におけ
る最大値と最小値で領域を規定する)およびフィールド領域
の設定を行う。閾値調整時では、CMVision で用いられた YUV
空間でのヒストグラム表示を行う。Fig.4から6に本システ
ム実行時の画面表示の一例を示す。
(5)ネットワーク部 各チームのロボット制御用PCからの
要求に応答し、ボールとすべてのロボットの位置情報(11 組
の XY 座標)を順次伝送する。伝送遅延を軽減するために、伝
Fig.5 Image with colors classified by predefined
YUV thresholds in the vision server
Fig.6 Output display of the vision server
送するデータはcm単位の整数値座標とし、TCP/IP プロトコ
ルの UDP ソケットを使用したコネクションレス通信を行うこ
ととした。なお、ビジョンサーバをロボット制御用PCと同
一のスイッチングHUB(8ポート 100Base-T)に接続して
高速な通信を可能とした。
6.通信サーバ
主として RCX を用いる2つのチームが同時に赤外線通信
を行い対戦する際に生じる通信の衝突の問題を回避するため
に通信サーバを設置した。通信サーバは前述のスイッチング
HUB に接続され、ロボット制御用 PC から送信されたロボッ
トへの行動指令について、UDP ソケットを使用してメッセー
ジを受付け、通信サーバ PC のシリアルポートに接続した
IR-Tower を介して、ターゲットとなるロボットへ赤外線で送
信するように実装した。
通 信 サ ー バ ー ( Pentium200MHz 、 メ モ リ ー 128MB 、
RedHat7.2)とロボット間通信に用いられる赤外線通信ネッ
トワークの仕様を Table1に示す。RCX 内蔵のシリアル I/O
チップにより調歩同期式で通信が行える。RCX は通信速度
2400bps と 4800bps の転送モードがあり、低速の方が通信は
安定しているが、転送時間を考慮して 4800[bps]で通信を行う
こととした。IR-Tower4個を同時使用し、フィールドを取り
囲む高さ約1.7mの位置から、フィールド全体をカバーす
るように下に向けて設置して通信の安定化をはかった。
Table 1
Infrared network for LEGO robots
Media
infrared(frequency:8kHz)
Transmission Mode
half-duplex
Synchronous Mode
asynchronous (1stop bit,
non-parity or odd-parity)
Transfer Rate
4800 bps or 2400bps
Data Format
legOS
Networking
Protocol (LNP)
Access Control
random access
Network Topology
bus topology
Table 2
Packet format of LNP
Item
Packet type (broadcast or addressing)
Packet size
Sourceaddress(Upper4bit),
port(Lower4bit)
Destination address(Upper4bit),
port(Lower4bit)
Data
Check sum
Table3
Broadcast
Port 0
Port 1
Port 2
Port 3
Port 4
Port 5
Port 6
Size
1 byte
1 byte
1 byte
1 byte
n byte
1 byte
Packet messages to LEGO robots
Abort,restart, etc. (Whistle)
Run programs, etc. (legOS reserved)
Locomotion (direction, distance)
Reset Direction (error cancellation)
Kick-device control
Configure Output
PWM control
Circular locomotion
Table2に示すロボット間通信プロトコル LNP (legOS
Networking Protocol )を用いた。RCX の識別用の論理的なア
ドレス空間は 4bit であり、次の 4bit がユーザプログラムに合
わせて使用できるポート番号を表す。今回実装したポート番
号に対応するロボットへのメッセージを Table3に示す。
1 つのメッセージの長さは、アドレスやエラー訂正をパケッ
トにして計 5+n[byte]であり,1バイト長データの送信にかか
る時間は 10ms である。したがって 10 台のロボットへのデー
タ伝送時間を考えると、ビジョンサーバおよびリモートブレ
インのサンプリング周期を 1/30s とした場合に、毎回すべて
のロボットにメッセージを送ることは出来ない。したがって、
現在は両チームのリモートブレインはロボットへの指令を
100ms ごとに送信することとし、不必要な送信を行わないこ
とでこの問題に対応している。
7.おわりに
本研究では LEGO MINDSTORMSTM RIS,Linux など容
易に 入手し利用できる機材およびソフトウェア を用いて
RoboCup 小型リーグに対応するシステムを構築し,2001 年
の RoboCup Japan Open in Fukuoka から参加した。当時の
重要課題として,ビジョンシステムのロバスト化があったが、
今回 CMVision をベースとするグローバルビジョンシステム
を開発して、かなり改善された。しかし現状ではロボット内
部での姿勢角演算誤差が大きいこと、ビジョンサーバにおけ
るロボット ID の誤認識などがシステムの誤動作の要因にな
っているので、セカンドマーカを用いて、ロボットの ID 認識
と姿勢角計測が出来るようにシステムの改良を進めている。
なお、対戦チームが RCX を使用する場合、本通信サーバー
を用いれば通信関係のハードウェアを改造することなしに各
チーム内ロボットとの通信が可能であるので、本通信サーバ
をチーム間で共有することを推奨したい。また、将来リモー
トブレインの分散処理を実施する場合にも通信サーバは必要
となるので、前述のとおり赤外線通信の伝送速度を上げるこ
とも課題である。今後、残された課題を早急に解決して次回
の競技会に臨みたいと考えている。
本研究を実施するにあたり,暖かいご支援を頂いたエステ
ック(株)鈴木誠一氏、TeamBots および CMVision を提供いた
だいた Tucher Balch 氏をはじめ CMU MultiRobotsLab の皆様と
LEGO MINDSTORMSTM 関連の多数の有益な情報を提供頂
いたユーザーコミュニティの皆様に心から感謝いたします。
参考文献
(1) RoboCup Official Site, http://www.robocup.org/
(2) 浅田,北野,ロボカップ戦略:研究プロジェクトとしての意義と価
値, 日本ロボット学会誌, vol.18 No.8, pp.1081-1084, 2000
(3) 加藤, 武野, 複数の移動ロボットの協調, 日本ロボット学会誌
Vol.12 No.6,pp.785-790, 1994
(4) 油田, 複数の自律移動ロボットの協調行動, 日本ロボット学会誌
Vol.10 No.4,pp.433-438, 1992
(5) 岩田、岩田、小澤、澤, 小型分散移動ロボットシステムの開発, 日
本機械学会 [No.02-13] IIP2002 知能・精密機器部門講演論文集(2002
年 3 月)
(6) LEGO MINDSTORMS, http://www.legomindstorms.com/
(7) LUGNET (the international LEGO Users Network),
http://www.lugnet.com/
(8) Markus L. Noga: legOS, http://www.noga.de/legOS/
(9) legOS at sourceforge, http://legos.sourceforge.net/
(10)legOS Networking Protocol Daemon,
http://legos.sourceforge.net/files/linux/LNPD
(11)KekoaProudfoot,RCXInternals
,http://graphics.stanford.edu/~kekoa/rcx/
(12)TeamBots:http://www.teambots.org/
(13)Cmvision: http://www-2.cs.cmu.edu/~jbruce/cmvision/