Title
ロボット制御プログラミングによる問題解決能力の養成
−教育用レゴマインドストームによるプログラミング教
育−
Author(s)
小渡, 悟; 八幡, 幸司; 金城, 秀樹
Citation
沖縄大学マルチメディア教育研究センター紀要 = The
Bulletin of Multimedia Education and Research Center,
University of Okinawa(10): 33-37
Issue Date
2010-03-31
URL
http://hdl.handle.net/20.500.12001/6422
[
垂二
亘]
ロボ ッ ト制御プ ログ ラミングによる問題解決能力の養成
一教育用 レゴマイ ン ドス
トームによるプログラミング教育-小波
悟 †
・
§
八幡幸 司
‡・§金城秀樹
壬 §†
沖縄大学人文学部
‡
沖縄大学法経学部
§
沖縄大学マルチ メデ ィア教育研究セ ンター
あ らま し 論理的思考 に基づ く創造力 ・問題解決能力の養成 として ロボ ッ ト制御プ ログラミングに着 目した。学生 3人1組のグル-プを作 ることで ロボ ッ トな らび にプ ログ ラムの作成 を通 して コミュニケーション能力も含めた問題 解決能力が養成 されることが期待できる。情報教育の観点か らは、教育用 レゴマイ ン ドス トームを使 うことで ロボ ッ トに使われ るセ ンサな どデ ジタル技術 について深 く学ぶ ことで、身の回 りのコンピュータの役割が理解できるように なる。本稿では2009年度後期 に実施 した教育用 レゴマイ ン ドス トームNXTを用 いたプログラム教育 について報告す る。 キー ワー ド 論理的思考、問題解決能力、 ロボ ッ ト制御プログラミングI
mpr
ovi
ng St
udent
s
'pr
obl
em-
Sol
vi
ng Ski
l
l
s
us
i
ngRobotCont
r
olPr
ogr
ammi
ng
-Programming Education using LEGO mindstor
msNXT-Sat
or
uOdo
†Koj
iHa
c
hi
ma
nia
ndHi
de
kiKi
nj
oi
†
Fa
c
ul
t
yo
fHuma
ni
t
i
e
s
,Oki
na
waUni
ve
r
s
i
t
y
‡
Fa
c
ul
t
yo
fLa
w
&
Ec
onomi
c
s
,Oki
na
waUni
ve
r
s
i
t
y
§
Mul
t
i
me
di
aEduc
a
t
i
ona
ndRe
s
e
a
r
c
hCe
nt
e
r
,Oki
na
waUni
ve
r
s
i
t
y
Abstract Wehavetakennoticeofrobotcontrolprogram ingasawaytofostercreativityandproble m-solvingabilitiesbasedonlogicalthinldng.Itisexpectedthatbyforminggroupseachconsistingofthree
students,problem-solvingabilitiesincludjngcommunicationskinscanbenurtureclthroughthecreationof
robotsandprograms.From theperspectiveofinformation education,theuseofLEGO MINDSTORMS Educationwi一limpartprofoundknowledgeofdigitaltechnologiessuchassensorsemployedinrobotsto students,thereby helping them understandtherolesofcomputersthatthey seearound them.In this manuscript,wereporton theprogramming education implementedby usin thela枕erperiodoffiscal
2009bymakinguseofLEGO MINDSTORMSEduca〔iollNXT.
Keyword LogicalThinking,Problem-SolvingSkills,RobotConLroIProgram ing
3-1.はじめに 情報社会ともよばれる現代においては対象事項の膨大な情報を分析。判断する論理的思考力、最適な手順 を考案することができる創造力、そしてそれを遂行できる実行力などを含めた総合的な能力(問題解決能力) が求められている。情報社会においてはコンピュータの活用は有効である。しかし、コンピュータが動作す るためにはプログラムが必須である。コンピュータが柔軟に判|断しているように見えるのは、あらかじめ 「こういう状況ではこうする」という処理(分析。判断)を人間がプログラミングしている(最適な処理手 順の創造)ためであり、まさしく問題解決能力がなければプログラムは作成できない。 そこで問題解決能力の養成としてプログラミング(プログラムの作成)に着目した。単純に仮想空間での ロボットの制御プログラムの作成を行うのではなく、実空間で触れることができるハードウェアとしてのロ ボットを制御対象とすることで理解の促進がはかれる。また、仮想空間と異なり実空間では物理的な制約や 機構の経時変化など様々な問題から予想外のトラブルが発生することがあり、そのトラブルをチームメンパー で解決していくことでコミュニケーション能力も含めた問題解決能力が養成されることが期待できる。 実際の講義で使用する教材には「教育用レゴマインドストームNXT」を採用した。また、プログラミン グ環境としては「教育用NXTソフトウェアVer20」を採用した。プログラミングを行うにはプログラム 言語の学習が必須であるが、一般的に命令文や文法の習得には時間がかかる。「教育用NXTソフトウェア Ver20」は通常のプログラム言語のように命令文を覚える必要もなく、マウスの簡単な操作で流れ図を組 み立てることでプログラミングがおこなえる。そのため学生はプログラム言語の習得に時間を割かれずに思 考に専念することができる。学生は三人一組でチームを組み、教育用レゴマインドストームNXTを用いた ロボットを作成し、ソフトウェアを用いて制御プログラムの作成を行う。これよりチームメイトと相談しな がら作業を進めることでコミュニケーション能力を含めた問題解決能力を養成する. ロボットの制御プログラムの作成を通して論理的な思考に基づく創造力。問題解決能力が身につけられる。 さらに情報教育の観点からは、教育用レゴマインドストームを使うことでロボットに使われるセンサなどデ ジタル技術について深く学ぶことで、身の回りのコンピュータの役割が理解できるようになる。さらに発展 として、「教育用レゴマインドストームNXT」で学んだ学生らが主体となり、地域の子供らを大学に招いて
講習会を開いていくことで地域での学びの場を作ることが期待できる。
本稿では2009年度後期の1年次ゼミにおいて実施した内容について報告する。 2.教育用レゴマインドストームNXTを用いたプログラミング 「教育用レゴマインドストームNXT」は、図1に示すように主要パーツとしては、ロボットの心臓部であ る「NXT」と呼ばれるマイクロプロセッサーが組鬘み込まれたインテリジェントブロック×1個、サーボモー -,■印挙討時~珀_=■-局-.-角』=_E~。 !ごlDIxl UlEFnmFlUllpgTURH5BU,…、5編NKTフU互夛ミニ辺 亜ル輻興ツ?〃'vか l回經llp罰画趣nJ、歯,I略。?{ヨ[呉訂……I…画1 ii了まりI麹} 躍 Ni勇衝1訂 7国繩躍團遡團|圏一国醤》
【扉…Z小…1W〕.lpWor`耐l鰄灘稗 ゴム串玲-1呼逗誼 ご一 i1陳川1鐸鑪響Ⅶ : L- iF~轤檸
1鐺繼
L-LL-
戯
1,1》麺『剛…窪§
iir麺)NCK鬮癖斑轍M1鑿
必ワ魁コツ1.-$!1tヅザー国1K1㎡砿一トDio:。〕c外ヘルプが必璽ですか?趣繭…蕪'…薗癬…蝦ニヴー露鷺麓股尉辮i
-唇LL j,91$E]:;1国 鰍 欝麓辮研捌膳総鵠鐇引調甥醤i腸嬢醤劃 比 u」ヨニ ……-1鰯A艇凋曹lpL1騒蝋 阿覇霜輌'1鋤 口預馳ロ劃勢”-鍔担化:匂搬深 町ス少詞111回LEOOH1IlDSTOmJs稗忽ルコ函イシ1FストームⅡ灯」 (レゴマインドストーム公式サイトより) 図1教育用レゴマインドストームNXT 図2プログラミング環境(NXTソフトウェア20) -34-夕一×3個、タッチセンサ×1個、光センサ×1個、音センサ×1個、超音波センサ×1個により構成され る。マイコンやモーター、センサなどもレゴ・ブロックの-部品として組み立てられるため工具や専門設備 などは不要である。 学生は共通科目および専門科目の講義なども履修する必要があることからプログラミング技術習得に専念 するために多くの時間を確保するのは難しい。また、プログラミングを通した問題解決能力の養成を主眼と していることから、プログラミング技術習得に時間を割くのは可能な限り避けたい。そのためプログラミン グ環境としてはアイコンベースのビジュアルプログラミング言語である「教育用NXTソフトウェアVer20」 を採用した。図2に示すようにプログラム要素をテキストで指定するのではなく、アイコンを配置していく ことでプログラムを構築することができることから、通常のプログラム言語のように命令文を覚える必要も なく、マウスの簡単な操作で流れ図を組み立てることでプログラミングがおこなえる。そのため学生はプロ グラム言語の習得に時間を割かれずに思考に専念することができる。 a講義報告 2009年度後期問題発見演習Ⅱの4クラス(各クラス1年次15~20名の学生)を対象にコンピュータ教室 に1名1台のPCと3名1台のロボットの環境で行った。クラス担当者により講義展開が異なるため、その なかの1クラスの例を以下に示す。 3.1講義展開例 塗粋 ■ 曇 四■-
繩冠
6Ⅲ脚#jil:llihliiii;iiiifiiihiliiilliiii;篝
認》
2iw蕊wiii
l 0凸P PI■J』行’□UjD9皿】 =、. n ㎡7. 1 蝋 図3ロボット組み立ての様子 ロボット制御プログラミングには講義回数15回中10回を割り当てた。表1に各回の演習テーマと内容に ついて示す。 1回目:学生を2名または3名のグループに分け、教員側が提示した組み立て図をもとに演習用ロボット の組み立てを行わせた。グループにより進捗に差はあったが40~50分では全グループで組み立てが完了し た。図3にロボットの組み立ての様子を示す。また、完成した基本ロボットを図4に示す。組み立て後、 NXTソフトウェアによるプログラム開発環境の基本操作を理解するとともにテスト走行を行なった。テス ト走行ではロボットが3秒前進して音を鳴らすように設定するよう教示した。プログラム例を図5に示す。 図中の(A)は「移動ブロック」、(B)は「サウンドブロック」である。プログラムに必要なプログラミン グブロックを含むプログラミングパレットから、プログラミングブロックをワークエリアにドラッグし、そ のプログラミングブロックを繋げていくことでプログラムを作成することができる。 2回目:身近にあるセンサについて解説を行い、レゴマインドストームNXTで利用できる光センサ・タッ チセンサ・サウンドセンサ。超音波センサの4種類のセンサを個々に繋げ動作を確認した。確認には各セン サに対応する待機ブロックを用い、各センサに対・応する情報が入力された場合にロボットが前進するように プログラムすることで行った。各センサの特性を確認後、衝突判定用センサとしてタッチセンサのみを装着 した。タッチセンサの入力を利用し、障害物衝突時に停止させるプログラムを作成する課題を課した。 -35-表1演習テーマと内容 回数 テーマ 内容 レゴマインドストームNXTを用いたロボットの組立。 NXTソフトウェアによる制御プログラムの作成手順を 理解するとともにテスト走行を行う。 課題:ロボットを3秒間前進させ、停止後に音を鳴ら す ロボット作成と 1 プログラム開発環境の理解 ロボットにタッチセンサを装着する。光センサ。タツ チセンサ・サウンドセンサ・超音波センサの4種類の NXTによるプログラミング センサについて理解する。時間、センサによる待機処 理を行うプログラムの作成を行う。 2 A)待機ブロックによる動作制御 課題:タッチセンサの入力を利用し、障害物衝突時に 停止させる ロボットに光センサを装着する。繰り返し処理、各種 センサの入力情報を用いた繰り返し処理の終了条件の 設定を理解する。 課題:光センサの入力を利用し、床面が一定の明るさ 以下の間ジグザグに走行させる NXTによるプログラミング 3 B)ループブロックによる繰り返し処理 各種センサの入力情報を用いた条件分岐処理の設定を 理解する。 課題:光センサの入力を利用し、床面が一定の明るさ 以下の場合はジグザグに走行させ、一定の明るさより 大きい場合は直進させる NXTによるプログラミング 4~5 C)スイッチブロックによる条件分岐 課題:白地に黒色で走行コースが描かれた楕円型コー スを走らせる ライントレーサーを作成する 6~7 課題:ライントレーサーで使用したコースに障害物を配 置している。障害物を回避しながらコースを走らせる 課題作成 8~9 101発表会 国1二GOHINDSmRNSEducaUonNXTプログラミング ファイル犯侶ツールヘルプ 」 睦廻1口ご曰箪心印錘||鴎、.」言1-…。丙f‘ 4 ̄魔F声iI
一国
團團劃團圏團|圏》
ワークエリア (A)(B);櫻擢'。
~プログラミングパレット鍵
.■剛口語目.『
》
嬢冠 ファnL 噸:。鑓完YH齢 図4基本ロボット 図5テスト走行用プログラム例 -36- 園IEGpNINDS1WMSE伽mljonm(r1rラミング 回数 テーマ 内容 ロボット作成と プログラム開発環境の理解 レゴマイン;ミストームNXTを)1jいた[Iポットの組立。 NXTソフトウェアによる制御プログラムの作成手順を 理解するとともにテスト走行を行う。 課題:ロボットを3秒間前進させ、停止後に音を鴫ら す 2 NXTによるプIコグラミング A)待機ブIブックによる動作制御 ロボットにタッチセンサを装着する。光センサ・タッ チセンサ・サウンドセンサ・超音波センサの4種類の センサについて理解する。時間、センサによる待機処 理を行うプログラムの作成を行う。 課題:タッチセンサの入力を利用し、障需物衝突時に 停lizさせる 3 NXTによるプrjグラミング B)ループブロックによる繰り返し処理 ロボットに光センサを装着する。繰り返し処理、各種 センサの入力情fliを用いた繰り返し処理の終了条件の 設定を理解する。 課題:光センサの入〃を利」Uし、床面が一定の明るさ 以下の間ジグ・ザグに走行させる 4~5 NXTによるプニグラミング C)スイッチブロックによる条件分岐 各種センサの入力'情報を用いた条件分岐処理の設定を 理解する。 課題:光センサの入力を利用し、床面が一定の明るさ 以下の場合はジグザグに走行させ、一定の|リ]るさより 大きい場合は直進させる 6~7 ライントレーサーを作成する 課題:白tll スを走らせ 色で走行コースが描かれた楕円型二一 8~9 課題作成 課題:ライントレーサーーで使用したコースに障害物を配 置している。障害物を1,1避しながらコースを走らせる 10 発表会 虜扁画薗T --------。■--ニ エ牙 蔵EqwnLum…灘jIllLa・’-1マコ恵焉京=.,蒄苣百一戸畷}陸輌|画一』癌祷懸」掴
園要塞 脈 #Hw7:直IIiiI”リi写?fLo野 1J。ソ1口弘01>町竺.6画11F▲ ルム弘・型---G.二I塵 戸田、□管鈎違し 。…蕊 国'噸B鑓司 鶏勿 、3回目:ロボットからタッチセンサを取り外し、光センサを装着する。ループブロックを用いた永久ルー プ、時間ループ、カウントループ、各種センサの入力情報を用いた繰り返し処理の終了条件の設定について