4九州産業大学情報科学会誌

15巻1号 (2017年1月)1

ET ロボコン 2015 参加報告
安武 芳紘

九州産業大学 情報科学部 情報科学科

Yoshihiro YASUTAKE

Department of Information Science, Faculty of Information Science, Kyushu Sangyo University

yasutake@is.kyusan-u.ac.jp, http://www.is.kyusan-u.ac.jp/~yasutake/澤田 直

九州産業大学 情報科学部 情報科学科

Sunao SAWADA

Department of Information Science, Faculty of Information Science, Kyushu Sangyo University

sawada@is.kyusan-u.ac.jp, http://www.is.kyusan-u.ac.jp/~sawada/

前田 洋征

九州産業大学 情報科学部 情報科学科

Hiroyuki MAEDA

Department of Information Science, Faculty of Information Science, Kyushu Sangyo University

maeda@is.kyusan-u.ac.jp

1. は じ め にET ロボコン [1] へは九州産業大学情報科学部の学生チームが毎年出場している。2015 年大会は全国大会への表1

インテリジェントブロックの比較

プロセッサ

ラスにおいて「SMART-R2」が総合準優勝と「さわちゃRAM
Flash ROMんず」が総合 3 位に入賞した [2]（図 1 は表彰式の様子）。

外部ストレージ

出場は叶わなかったが、九州北地区大会アドバンストク

NXT

EV3

ARM764KB
256KB

ARM964MB
16MB
Micro SD

上位に入賞することができた理由の一つは全国的に成功率が低い結果となった難所「仕様未確定エリア II」の攻定されたクラスである。例えばライントレースをする走略に成功したことである。そこで今回は例年の報告と異行体が 3 輪のトライク型で制御が複雑であったり、今回なり難所の攻略という技術的な内容に焦点を当て、ルー紹介するコース上にバーコードを読み取ってその情報をル説明や学生チームの取り組みを紹介したいと思う。

もとに障害物を回避する必要のある難所「仕様未確定エリア II」が設置されていたりなどである。

3. 開 発 環 境ロボットは、LEGO Mindstorms[3] を使った組立て方法が指定されており、アドバンストクラスでは 3 輪のトライク型走行体である。2015 年の大会は Mindstorms の新しいバージョンが購入可能になったばかりであり、従来型の NXT と新しい EV3 のどちらかを選択して使うことができる。2 つの主な違いは計算をつかさどるインテリジェントブロックの性能向上であり、表 1 のように
図1

表彰式のチーム集合写真

EV3 では記憶領域が大きくなったことにより少々複雑なプログラムを作成しても実行することが可能となった。
他にはセンサやモータの更新、WiFi ドングルが使用可
能な USB インタフェースの追加などが変更点である。

2. ET ロボコン 2015

オペレーティングシステムは複数から選択可能である。
表 2 は ET ロボコン実行委員会がサポートするオペレーテ

ET ロボコン（ET ソフトウェアデザインコンテスト）ィングシステムである。他にもサポートはないが Python

は組込み技術者の育成を目的とし若年層および初級エンや Ruby を使う開発環境もある。ET ロボコンでは TOP-ジニアを対象に分析・設計モデリングと実装の教育機会
ストには 3 つのクラスがあり、学生チームはそのうちのPERS 系リアルタイム OS が主流となっており、学生チームは EV3RT[4] を選択した。開発言語は C++を選択し、UML を使ったクラス設計を基に実装を進めることが容デベロッパー部門のアドバンストクラスへ参加した。こ易な環境を選択した。

を提供しているロボットコンテストである。このコンテのクラスは組込み技術を応用できるスキルを磨くための学生チームは Mindstorms EV3 を使ったトライク型課題が用意されており、競技・コースの難易度が高く設走行体である ETrikeV を使った（図 2）。それぞれ独立九州産業大学情報科学会誌 15 巻 1 号（2016 年 12 5月）

2ETロボコン2015参加報告

表2

は 8 ビットに符号化されバーコードで表される。よって、OS の比較

走行体はバーコードを読み取ってその情報を元に障害物
名称

NXT
nxtOSEK

種別

EV3RT

EV3
MonoBrick

リアルタイム

言語

C、C++

C、C++

開発――

を回避して仕様未確定エリア II を通過することが求めら

leJOS

LinuxC#Javaありれる。
࢕༹າ֮ఈΦϨΠ,,

ώʖαʖχ

あり

したモータで駆動する後部 2 輪と 1 つのモータで操舵ができる前輪を制御することにより走行する。2 輪ロボッ
トに比べると旋回の制御が複雑な上、操舵部分の構造の遊びが大きいため舵角が定まらずプログラムで意図したロボットの挙動を実現することが困難になっている。

図 3 L コースのバーコードと仕様未確定エリア II

バーコードの値と障害物の配置の関係は審査規約 [5] において図 4 のように説明されている。バーコードは白が0 を表し、黒が 1 を表す。そして 0 のスタートビットと1 のストップビットが付加されている。障害物の配置は各格子内に 2 ビットの数を割り当て表現される。

図2ETrikeV

4. 難所：バーコードと仕様未確定エリア II
ET ロボコン 2015 アドバンストクラスではライントレースと複数の難所と呼ばれるコース上の障害を攻略することが求められる。アドバンストクラスを象徴する難所であるバーコードと仕様未確定エリア II について説明し、次に学生チームがどのように分析・設計したかを説明する。
コースは L コースと R コースに分かれている。図 3 左

図4バーコード値と障害物配置の対応上部分の L コース上に置かれており、黒と白の縞模様が中央に書かれた幅 300mm、長さ 600mm、厚さ 14mm の

図 5 は実際の配置の例である。この例において、バー板をバーコードと呼ぶ。また、260mm ごとに格子状のコードは走行体が進入する右からスタートビット 0 で始黒線がひかれた幅 1160mm、長さ 1050mm、厚さ 14mm

まり 01101000 と続きストップビット 1 で終わっている。の板を仕様未確定エリア II と呼ぶ。仕様未確定エリア II

そしてその通りに障害物は仕様未確定エリア II の左からの 16 個の格子内には 1 列に 1 つの障害物（2 リットル01、10、10、00 の位置に置かれている。走行体は障害物ペットボトルを 2 本並べたもの）が設置され、その位置によって遮られていない唯一の曲がり角に差し掛かってET
6 ロボコン 2015 参加報告

九州産業大学情報科学会誌

CDCDCDC

D

15巻1号 (2017年1月)3C

B

00 0000 0000 0000 00

00 00

01 01

01 01

01 01

01 01

01 01

10 1010 10

10 10

10 1010 10

11 11

11 11

11 11

11 11

11 11

DD-1
C00 00

図5B

B

AC-2
A00 0000 00

BA00 00

BBA   C-3  A  00 0001 0101 0101 0101 01

01 01

10 1010 1010 1010 1010 1011 1111 1111 1111 1111 11

B-3

B-1

B-2

B-2A-1

図 7 仕様未確定エリア II の走行戦略

実際の様子いるところである。

C-2

C-1
BC 

走行パターンが 10 個に絞られていることにより走行体がとる動作は図 8 の 4 つとし、それらの組み合わせを5. 学生チームのアプローチ
学生チームは走行体システム全体の設計と実装を行っ実現すれば良いことになる。
ం২पශऑॊక২पශऑॊ঳৒෱௞ઉਤघॊ

৐୽ऋ૳ठॊऽद
ઉਤघॊた。今回は仕様未確定エリア II の分析と戦略を説明する。
要求分析は SysML（Systems Modeling Language）により記述した。SysML を用いる利点は機能に関する要求である機能要件と品質に関わる信頼性などの非機能要件の両方を記述できることである。学生チームは仕様未確

図 8 仕様未確定エリア II の走行動作

定エリア II について図 6 のように分析しまとめている。

≪ deriveReqt ≫ は導出される要求を表しており、付加されているアイコンはモデリングシートにおいて可読性を向上させるためのマーカである。

学生チームは九州北地区大会において L コースのバーコードと仕様未確定エリア II を攻略し、R コースの結果を合わせても全国の地区大会が終わった時点の競技順位は全国 8 位となった。九州北地区にはさらに上位のチーム（そのチームはチャンピオンシップ大会で優勝した）がいたため、チャンピオンシップ大会へは出場できなかったがすばらしい結果を残してくれた。

6. まとめ今回は ET ロボコン 2015 の一部であるアドバンストクラスの難所「仕様未確定エリア II」をテーマに学生チームの取り組みを紹介した。今後も課題として興味深い難所が登場し、全国のロボコンチームがその難所をどのように攻略するかが非常に楽しみである。

♢ 参 考 文 献 ♢図 6 仕様未確定エリア II の要求分析

走行戦略は図 7 のようにした。走行体が進入する箇所を A、B、C、D の 4 つとした上で、各進入地点から走行するパターンを考え 10 個のパターンに絞った。走行体はバーコードの値に応じて 10 個のパターンの中から 1つを選ぶことにより障害物を回避して通過することが可能となる。

[1] ET ロボコン 2015 公式サイト，
http://www.etrobo.jp/2015/[2] 情報科学部の学生が「ET ロボコン 2015 九州北地区大会」にて入賞！
：九州産業大学ニュース，http://www.kyusanu.ac.jp/news view.php?nid=560b42d951a8a[3] LEGO Mindstorms, http://www.legomindstorms.com/[4] TOPPERS/EV3RT,
http://dev.toppers.jp/trac user/ev3pf/wiki/WhatsEV3RT[5] ET ロボコン 2015 審査規約，
https://www.etrobo.jp/2015/gaiyou/shinsakiyaku.php