東海大学紀要情報通信学部
vol.3,No1,2010,pp.52-55
東海大学紀要情報通信学部
Vol. , No. , 2010, pp. -トピックス
トピックス

ロボットコンテストを利用したプロジェクト型教育の実践
晴美 *1

渡辺A Case Study of Project Based Education
Using Robot Contests
byHarumi WATANABE(received on June.16, 2010 & accepted on June.30, 2010)

Abstract
Recently, Robot Contests attract attention as an effective way of education for embedded software engineers. The author, andour students, have participated in several robot contests, including ET Software Design Robot Contest, MDD Robot Challenge.
In these contest, experiments and tunings play essential roles to comprehend application domain and to achieve competitivesystems, hence students can learn the importance of developing process by trial and error cycle. The trial and error cycle iscomposed of the following processes: discovering subjects, decomposing sub-subjects, proposing method to solve each subject,discussing results of experiments and verifications with respect to the proposed method to discover next subjects. While theability to handle the cycle is essential skill for engineer, many general lectures in undergraduate schools are insufficient toobtain the ability. To make effective training, the article focuses on 3 themes: discovering subjects, experiments, andtraceability from requirement analysis process to goal products.
Keywords: Embedded Software, Project Based Education, Goal Oriented Modeling, Robot Contest
キーワード：組込みソフトウェア，プロジェクト型教育，ゴール指向モデリング，ロボットコンテスト

1．概要
組込みソフトウェア工学科では，「ロボコン道場」と呼ぶプロジェクト型教育を行っている．本教育は，開発工学部において，ロボットコンテストへ参戦した経験に基づいている．過去 4 年間の取り組みの中で，特に効果があると実感したことは，「試行錯誤の能力」と「協調して開発する能力」の育成である．試行錯誤の能力を鍛えることは，問題発見能力を育成することへとつながる．
本稿では，「試行錯誤の能力」の育成に着目する．
機器を制御する組込みソフトウェア開発では，センサやアクチュエータ等システムの特性を十分に把握する必要がある．この特性の把握は，単にセンサやアクチュエータの部品のハードウェア特性を調べるということに留まらない．センサが計測する対象は，システムにより異なり，ソフトウェアからどのように見えるかについては，様々な視点で，試行錯誤を重ねながら理解，決定していく．試行錯誤を重ねてシステムの特性を理解することは組込みソフトウェア技術者にとって重要な能力の一つである．本稿において，試行錯誤とは，課題発見から，実験を行いその結果を考察することを繰り返し，最善の結果を導くプロセスとする．以下，試行錯誤を重ねながら開発する能力を「試行錯誤の能力」と呼ぶことにする．
近年，全国各地で様々なロボットコンテストが催されるようになり 1)2)3)，ロボットを利用したプロジェクト型の教育も盛んに行われるようになってきた．ロボットコンテストでは，実験の繰り返しによるドメイン理解とチ*1 情報通信学部組込ソフトウェア工学科准教授
―
1 −―
− 52

ューニングが不可欠であるため，試行錯誤を重ねながら開発する能力が育まれる．この能力は，前記のとおり組込みソフトウェア技術者にとって重要であるが，一般の授業では，養うことが難しい．ここでの一般的な授業とは，大学学部生のプログラミングや実験を想定している．
このような授業では，与えられた課題を一度解き，その結果について考察してレポートにまとめる．同じ課題を様々な方向から分析し，その結果に基づき，繰り返し実験を行うことは少ない．授業時間はコマ数で限られているため，試行錯誤という課題は本質的に扱いにくい．
試行錯誤の能力を効果的に養うために，筆者らは，課
題発見，実験，要求分析から最終プロダクトまでのトレーサビリティに着目した．トレーサビリティが明らかであるということは，課題を解くために，どのような実験を行い，次の実験へ，そして完成したプログラムへとどのように繋がっていくのかが明らかであるということである．従って，完成したプログラムの一行一行の根拠，なぜそのようにプログラムしたかということが明確であるということである．
試行錯誤を重ね，トレーサビリティのある結果を得るために，我々は，ゴール指向要求分析，実験計画書・報告書を工夫し，実験計測器を開発した．
以下，2 章では，問題発能力と関連研究について述べる．3 章では，本論文の事例である ET ソフトウェアロボットコンテストについて概説する．4 章では，ロボコンを利用した教育の工夫について記す．5 章では，試行錯

渡辺晴美

ヘッダー

誤の能力育成に効果があったかどうかについてアンケー
トに基づき検討する．
難所坂道

2．問題発見能力と関連研究
ロボコンは競うことが本質であることから，チューニングが不可欠である．チューニングは直感的で単調な作業ではなく，緻密な原因分析が必要な作業である．スピードのチューニングでは，スピードが出ない原因をできるかぎり正確に把握し取り除く努力をしなければならな
い．ロボコンでは，どれほど原因を掴めたかによって，勝敗が決まることから，熱心に取り組まざるを得ない．
試行錯誤に関連し，産業界では，デミングの Plan Do
Check Action が実践されている．また，数学の問題を解くプロセスを記した古典である G. Polya の How to Solve
It4) では，問題を理解する「理解」，分からない箇所を明確にしていく「計画」，問題を解いていく「実行」，得られた解の「検討」を繰り返すことを説いている．このプロセスと，PDCA は一致する 5)．これらは試行錯誤の能力が，技術者にとって極めて重要な力であることを説いていると言える．さらに，PDCA の過程を経ることで問題発見能力が育成されることが知られている 6)．

難所
Zクランク
難所点線Fig. 2

Course in ET robot contest.

４．開発方法と教育

ソフトウェア設計の教育に LEGO を利用した事例集として，F. Martin らの研究 7)がある．試行錯誤の能力で最も難しいのは，課題を発見し、適切な部分課題に分割することである．このような能力の育成に，LEGO を用いた学習が優れていることが知られている 8)．本教育では，チューニングの際にゴール指向モデルと実験計画・報告書により，PDCA を明示的にしている．

3．ET ロボコン
ET ソフトウェアデザインロボットコンテスト(ET ロボコン)は，黒線で描かれたレーンをリアルタイムで検出しながら走行するライントラッキングレースであり，コース周回の走行時間を競うコンテストである．さらに，その開発時に作成したモデルの審査を行うことが特徴である 9)．ソフトウェアとその作成過程を競うことを特徴としているため，走行体は，主催者側が規定した形状に構築し，LEGO MINDSTORMS RCX を使用する．走行体
を Fig. 1 に示す．走行体の前方の光センサにより，明るさを判定することにより，コース部分を識別し，ステアリングモータを用いて前方の操舵車輪の角度を制御し，ドライビングモータにより後輪の駆動力を制御することで，黒色線上を高速かつ安定に走ることが要求される．
ET ロボコンでは，Fig. 2 に示す難所が設定されており，開発に工夫を施さなければ，周回を完走することも難しい．尚、本論文で扱う事例は 2007 年度の ET ロボットコンテストである．
ステアリングモータ
光センサ

本章では，試行錯誤の能力を効果的に身につけるために行った工夫について紹介する．1 章で述べたとおり，試行錯誤の能力育成のために，トレーサビリティに着目した．本論文でのトレーサビリティは，プログラムの一行一行について，なぜそのようにプログラムしたのかという根拠が明確であることを目指している．解くべき課題設定を行っても，直感的な実験では，論理的に，プログラムを構築する材料にはならない．また，次の課題を発見することも容易でなくなる．本教育では，(1)課題発見を容易にするためにゴール指向要求分析を取り入れ，(2)ゴール指向要求分析で得たモデルと関連付いた実験計画書と報告書を作成し，(3) 開発するシステムを物理的に実験し，客観的に観察できる仕組みを構築した．以下各々の工夫について述べる．
4. 1 ゴール指向要求分析による課題の発見
課題発見においてゴール指向要求分析 10) と呼ばれる方法を取り入れ，分析の結果をゴール指向モデルとして記述した．UML のユースケース図 11)による機能抽出では，コンテスト主催者側が示す課題のみしか抽出できない．
ゴール指向分析では，抽出が難しいとされる非機能要件について，学生達で初期段階に，ある程度抽出可能である．例えば，ユースケース図による要求分析では，Fig. 2の難所である点線，Z クランク，坂道等のみしかユースケースすなわち課題として発見することができない．ゴール指向分析により，「通常走行を安定して走行する」というサブゴールが抽出でき，そこから，通常走行を安定させるためにはどうすれば良いのかということを考えるきっかけになる．さらなるサブゴールとしてステアリングモータを安定させることに気付く．このようにして，開発初期段階において，25 個の実験項目を発見した．尚，
この 25 個は，実験の主要なテーマの個数であり，一つの実験の目的を達成するために，おおよそ５段階程度の実験の種類が存在し，各々に複数の測定項目が含まれる．
すなわち，ゴール指向要求分析により，25 個を起点とした多岐にわたる課題を発見することができた．
4. 2 実験計画書・報告書
ゴール指向モデルと関連付け，実験計画書・報告書を作成した．実験計画書・報告書のフォーマットを決めるにあたり，学生達に指示したことは，授業の実験で作成すドライビングモータ

Fig. 1 Target hardware in ET robot contest.

―
2 ―
− 53−

ロボットコンテストを利用したプロジェクト型教育の実践

ヘッダー

るレポートをイメージして作成するという点である．実験計画書は，下記の通りであり，授業の実験で利用する形式に近い形式になっている．
(1) 目的：何をテスト・計測するのかについて記す．
(2) 背景：実験が走行にどのように役立つのか，モデルのどの部分と関連するかについて記す．
(3) 期待値：期待する実験結果について記す．
(4) 実験方法：具体的な実験条件や，実験装置を明記した方法を記す．
実験報告書の例を Fig. 5 に示す．実験報告書は，授業の実験報告書と比べ，実験条件に特徴がある．この部分は，実験終了後のレビューにおいて，ロボコン経験者が常に指摘する項目を集めたものである．実験計画書によって，実験の位置づけが明確化され，実験報告書の比較検討部分により，次の実験の課題発見が容易になるのと同時に，どのような過程で実験を行ってきたかをトレースすることが可能である．Fig. 5 の実験は，走行体がコースを脱線したことを認識する処理に役立てるための基礎実験の１つである．この実験では，走行開始時の加速時に，光センサが獲得する値が不安定になる範囲を測定した．この実験から，不安定になる範囲として 1000 カウントという数値を得た．カウントは，光センサから値を獲得し，モータへ指令を送る周期のカウント数である．この実験結果から，走行開始から 1000 カウントの前後で，処理を変えなければいけないことを示している．
このような実験結果より考慮するべき新しい課題が発見されることが少なくない．このように試行錯誤を重ねながら開発するプロセスを実験計画書・報告書によって実践した．
4. 3 測定器具の開発
組込みシステムにおいて所期の性能を達成するためには，ソフトウェア，マイコンの領域を超えたドメインを認知する能力が必要となる．そのためには，システムを動かす対象領域で何が起きているのか，調べる方法を獲得する必要がある．
場合によって出来合いの測定装置で充分であることがあるし，適応する測定装置が無い場合，測定器具を手作りしなければならない．ET ロボコンの課題は 0.1 秒でも早く規定のコースを走りきることであり，速度を適切にコントロールすることで，安定な走行が実現されるため走行体の速度は，最も基本的な測定対象となる．
しかしながら，既製の測定装置で時々刻々と変わる走行体の速度を計測するのは容易ではない．速度を計測するための測定器具の製作によって，どの位の精度の計測が必要なのか，組込みシステム特有の外部環境からくる不確定で再現性のない現象を引き起こす原因が何であるのか，追求する姿勢と方法を学び，同時に今回の課題のドメインへの理解を深める．
Fig. 6 に速度変化測定器具の構成，Fig. 7 に速度測定の様子を示す．速度の計測を行うには様々な方法があるが，コース上の位置との対応付けが確実であり，周回時間の計測や ET ロボコン以外の組込み教育など他目的への使い回しが容易であることが重要と考え，透過型フォトイ―
3 ―
− 54−

ンタラプタを用いた時間計測装置を制作させた．この方法では 10cm 間隔で並べたときに 1%の精度の計測を行うためには 1mm のセンサの設置精度が必要であり，うまくいかないとどの様な現象が観測され，精度良く設置を行うにはどのような困難があり，いかなる工夫によって必要な精度が実現できるか，といった計測方法の工夫を通じて，試行錯誤による課題解決能力を養うことを狙いとしている．
実験報告書 Ver.
実験番号：輝度：

日付：西暦

2 0 0 7年

温度：

6 3 4

実験責任者 樋 口
共同実験者

ページ

1． 0． 3．

0 1 3

2 9 [℃]
実験場所

大介

高瀬

6月 2 4日

6 8 [％]

湿度：4-208A

雅織

実験条件
次の項目について、値を調べ、記入します。
【実験前】
光センサ番号
2 遮光スカートの番号 なし
光センサの高さ5[mm] 走行体の番号
ステアモータ番号
13 ＲＣＸの番号
駆動モータ番号
14 タッチセンサ番号なし
電池の種類
Panasonic/アルカリ/1.5[V]
テスターで測ったパスファインダーの電池の電圧
１本目
1.49[mV] ２本目
３本目
1.49[mV] ４本目
５本目
1.49[mV] ６本目使用したプログラム名
log_interval.c【実験後】テスターで測ったパスファインダーの電池の電圧
１本目
1.49[mV] ２本目
３本目
1.49[mV] ４本目
５本目
1.49[mV] ６本目
実験結果

１

開始時刻 1 3 ： 4 51623529

1.49[mV]
1.49[mV]
1.49[mV]

1.49[mV]
1.49[mV]
1.49[mV]

生ログを.txtで保存し、そのファイル名を絶対パスで記述します。

350
300
250
200
150
1005000500

1000

1500

2000

2500

30003500© Watanabe Lab. Sch. High-Tech. for Human Welfare Tokai University, All Rights Reserved.

実験報告書 Ver.

ページ

1． 0． 3．

２

比較検討
等速度になるまでの加速時間はかなり短い事が分かった。
等速度になってからは、規則的にカウントしているが、カーブ付近になるとカウントが不規則になっている。
今回の実験の結果により、走行開始から１０００カウントまではカウントが不規則なので、白カウントによる復帰動作は１０００カウントが終わってから行ったほうが望ましい。

Fig. 5An example of experiment result documents.
受光機 光が遮断されるのを検出

発光機 ＬＥＤで光を発光

Fig. 6

マイコン 受光機が反応した時間を計測

Overview of a measurement equipment.

Fig. 7

Measuring velocity in a test run.

5．検討
本章では，教育効果について検討する．ロボット開発
開の始当初は，全ての学生が，コンテストの課題として明示されている難所を攻略するプログラムを直接作成し渡辺晴美

ヘッダー

ようとする．プログラムの作り方も，極めて直感的である．その結果，偶然うまく動いたか・動かないかによって善し悪しを判断する．本教育が終了した段階では，まず LEGO の基本動作を定義する．例えば，LEGO に装備したセンサが測定する輝度変化がどのようになるべきか，目標値となる輝度のグラフの形状を考える．目標値と測定値を比較し，違いがあれば，その原因を考え，次の実験を考える．このようなプロセスを受講者全員が遂行できるようになった．
効果を評価するために，ロボコン教育受講者 13 人と，未受講者 15 人に対してアンケートを行った．アンケートは下記の質問について自由に記述する形式である．
(1) LEGO の走行体が点線を通過するのに，必要なことは何か，何をすべきか．
(2) 飛行船ロボットで最初の風船に到達するのに，必要なことは何か，何をすべきか．
質問(1)のねらいは，受講者と未受講者に違いがあるかをみることにある．(2)のねらいは，類似した未体験の課題を、受講者が、どのように考えるかについて調査することである．未受講者には，プログラミングが得意な学生を選んだ．上記(2)は MDD ロボットチャレンジと呼ぶロボットコンテストの課題である 1) 2)．
(1)について，未受講者の一人は，進行方向の認識をどのようにすべきかを重要視した．また，別の未受講者はセンサの取り付け方法による性能の変化に興味を持った．
未受講者全員が，点線の入り口の灰色を検出することを指摘している．受講者の 60％は，白を何秒間認識したら脱線とみなすか，センサを付けたヘッド部分が時間あたりにどれくらい動くか，というふうに，具体的な回答だった．アンケートの意図は説明しなかったが，学生達は，意図を汲んで回答したようだ．経験がなければ，このような回答をすることは困難であるため，意図を汲んでいるかどうかは，試行錯誤の教育評価を阻害するものではないと考える．
アンケート結果において，意外な部分は，受講者の80％が，コンテスト当日に奇抜な走行をしたチームの走行について賞賛を込めて記していたことである．称賛していた奇抜な走行は，一見，競技規約の抜け道を使って楽をするようにみえるため，開発を行っていない見学者の批判が多かった．実際には規約通りに走るより遙かに困難なこれらの走行を学生達が賞賛していたことは，何度も実験を重ね苦労したことの表れと考える．
(2)に関しては，LEGO で電池の消耗を調査していた学生達は，飛行船についても電池の消耗を指摘していた．
このように，LEGO で自分が苦労した点については詳し
く記されていたが，飛行船の挙動に関しての指摘は未受講者と変わる部分はない．ただし，時間，人，設備等の環境面や，テストを重ねること，計画が重要と記した学生もいた．
受講者に関しては，さらに 3 番目の質問として，ロボコンで役に立ったことについても調査を行った．そのうちの一人は，開発対象と外部環境の関係性，影響力がどういったものか，という思考の重要性，また同時に解決の難しさを知り，どう解決すればよいかを考えたり調べ

―
4 ―
− 55
−たりする習慣が身に付いたと答えている．以上の教育成
果を埼玉県立新座総合技術高等学校の SPP に適用し，「観察したことや実験の結果から，何がいえるかを考えることができるか」という問いに対し，「全くそう思う」「そう思う」と答えた生徒が，45%から 70%に増加した．
以上から，本教育が，試行錯誤の能力を養うのに効果があったと考える．

6. おわりに
本論文では，ロボットコンテストを利用したプロジェ
クト型教育の一例を紹介した．試行錯誤を重ねながら開発する能力育成を目指し，トレーサビリティに着目した．
試行錯誤の能力を効果的に身につけるために行った工夫として，「ゴール指向要求分析による課題の発見」，「ドメインに適した実験計画書・報告書のフォーマット」，「測定器の開発」について概説した．
以上で述べた経験をもとに，現在，「ロボコン道場」を開催している．プロジェクト型教育を充実させるには，一般授業と連携し基礎力を十分に育成する必要がある．
特に，プログラミング力は全ての基礎となるため，組込
みソフトウェア工学科では，基礎力を定着させるために，演習問題と小テストを授業毎に繰返し，冬休みやゴールデンウィークには小作品をプログラミングさせている．
授業との連携により，ロボコン道場では，リアルタイ
ム OS の並行タスクを利用した組込みらしい高度な学習が，大学 2 年時でも実施できた．

参考文献
1)

二上貴夫，鶯崎弘宜，小林靖英，乾裕紀，大槻博之，仲久保正人，久保寺勇気，川縁幸平，羽田千織，三橋祐仁，沼里京介：ＭＤＤロボットチャレンジ 2006 開催報告, 研究報告「ソフトウェア工学」 No.2007-SE-156, pp.79-86, 情報処理学,2007．

2)

鶯崎弘宜，久保秋真，小林靖英，渡辺晴美，小倉信彦，飯田周作：ＭＤＤチャレンジにみる組込みソフトウェアモデル
中心開発の工学と教育, 研究報告「ソフトウェア工学」
No.2007-SE-156, pp.95- 102, 情報処理学会, 2007.

3)

山下博之：小中学生を対象としたロボット競技会と総合理科教育, 情報処理,Vol.48 No.5, pp.502-511,情報処理学会, 2007.

4)
5)

G. Polya：How to Solve It, Princeton University Press, 1971.
G.. J. Myers著, 有澤誠 訳「ソフトウェアの信頼性－ソフトウェア・エンジニアリング概説」近代科学社，1977

6) 市川伸一「学習と教育の心理学」岩波書店，1995
7) F. Martin, Ideal and Real Systems: A Study of Notions ofControl in Undergraduates Who Design Robots , 1994
〈http://llk.media.mit.edu/papers.php〉.
8)

M. Resnick, S. Ocko: LEGO/Logo: Learning Through andAbout Design. Constructionism, edited by I. Harel & S. Papert.
Norwood, NJ: Ablex Publishing, 1991

9)

ET ロボコン〈http://www.etrobo.jp/〉

10) 山本 修一郎「ゴール指向による!!システム要求管理技法」
ソフトリサーチセンター，2007
11) OMG 〈http://www.omg.org/〉