I2-8

プログラミング導入教育のための直感的な命令セットを持つロボット
A Robot that have Intuitive Instruction Set forIntroduction Programming Education
野口 孝文*1，梶原 秀一*2，千田 和範*1，稲守 栄*1
Takafumi NOGUCHI *1, Hidekazu KAJIWARA*2, Kazunori CHIDA *1, Sakae INAMORI *1
*1
釧路高専
*1
National Institute of Technology, Kushiro College
*2
室蘭工大
*2
Muroran Institute of Technology
Email: noguchi@kushiro-ct.ac.jp
あらまし：我々は，不要 CD と組み込み用の小型コンピュータを組み合わせたロボットを開発した．そこでは，ロボットの動作と命令を関連づけることで，直感的に分かりやすいビット対応させた機械語セットを持つ仮想コンピュータで実現した．本機能の実現により，小学生からプログラミングを学ぶ授業での利用にも可能になった．本論文では，大学および高専での利用例についても報告する．
キーワード：プログラミング教育，計測制御，ロボット

1.

はじめに我々は，不要 CD と組み込み用の小型コンピュータを組み合わせたロボットを開発してきた．我々はこのロボットを使用して小中学生対象に工作教室を10 年以上開催している(1)(2)．その間に，ロボットも改良を続け工作キットであるばかりでなく多様な教材として利用できるようになった．本教材ロボット
は，使われなくなった CD を再利用しているため，中央の穴を利用してペンを立てることができ，学習者がプログラムすることによっていろいろな図形を描くことができる．したがってロボットの移動軌跡を記録できることから，プログラムの工夫した点を結果として残すことができる．
本ロボットは，工学系の高等教育機関における初心者教育の教材としても有効であると考えている．
2015 年度は，大学におけるフレッシュマンセミナーや高専における授業の一部，また本年度は，高専間の遠隔授業の教材として用いている．本論文では，本ロボットを用いた教材の特徴とこれを利用した授業について紹介する．

2.

教材ロボット

2.1 ロボットの構造
図 1 にロボットの外観を示す，小中学生を対象とした工作教室では，電子部品は予めコンピュータ基板に半田付けされており，自作の指導書に従って組み立てて行くことで，図 1 に示したロボットが完成する．次章の 3.3 節に述べる実習では，指導書に従って，半田づけ作業も行っている．小中学生を対象とした工作教室では，ドライバーやニッパーなど工具の使い方から順に説明して 1 時間半程度で完成させている．
ロボットはギアが予め組み込まれた 2 つのステッ
ピングモータで駆動している．タイヤを直結するこLED
ボタンスイッチ 3,4,5ピエゾスピーカ
コンピュータ基板
実行／プログラム
ボタンスイッチ 1,2電源スイッチ

図 1 ロボット外観とができるためロボットの構造を簡単にすることができるとともに安定した動作を得ている．
2.2 直感的に作成できるプログラム
図 1 に示すコンピュータ基板の左上には 8 つの赤色 LED が取り付けられている．その下には 3 つの黄色 LED とボタンスイッチ 3，4，5 が取り付けられている．これらは，図 2 のように配置されている．
モータの動作と LED の点灯の関係を図 2 の上に示す．8 つの LED の内，左から２つは左のモータに対応し，次の 2 つは右のモータに対応している．それぞれの２つの LED の左が点灯しているときは後ろ方向へ，右が点灯しているときには前方向へ進む．
また残りの４つの LED は，直進しているときには右モータ正回転右モータ逆回転左モータ正回転左モータ逆回転8cm / 60 度 / 2 秒
4cm / 30 度 / 1 秒
2cm / 15 度 / 0.5 秒
1cm /7.5 度 /0.25 秒

ボタンスイッチ― 239 ―

赤色 LED
黄色 LED
3モータの動作45
移動距離または角度または時間

図 2 ロボットを 10cm 前に進める命令

教育システム情報学会 JSiSE2016
第41回全国大会 2016/8/29-8/31

進む距離，方向転回しているときには回転角度，停止しているときには停止時間に対応している．
図 2 のような点灯は，ロボットが 10cm 前方に進むことを表している．この 8 つの LED の点灯状態がロボットの 1 つの動作を表す命令に対応している．
そしてロボットは，仮想コンピュータでこの命令を解釈実行しているみを用いたプログラムによって図形を描く課題を行った．対象学生は，プログラミングの経験はあるが，2 進数や機械語に関する知識はない．2 回の授業では，プログラムの作成や実行においてトラブルもなく進めることができた．短時間ではあるが本ロボットのプログラミングに関して，ほとんどの学生が理解することができた．

2.3 プログラムの入力と実行操作
本ロボットへのプログラム入力やその実行は，コンピュータ基板上のスライドスイッチおよび 5 つのボタンスイッチで行う．図 1 のコンピュータ基板の右下（ロボットの後方）に 2 つのスライドスイッチとそれらの後方に 2 つのボタンスイッチ 1，2 がある．スライドスイッチの 1 つは，電源スイッチである．もう 1 つが，プログラムの実行とプログラムの入力の切り替えを行うスイッチである．ロボットには 256 ステップのプログラムを入力することができる．命令は 0 から 255 番地までのメモリに記録される．電源スイッチをオンにすると，0 番地のプログラムが表示され，実行を開始できるようにしてある．
プログラムの実行は，スライドスイッチを「実行」側に設定し，ボタンスイッチ 1，2 を押し同時に離すことで開始する．
プログラムの入力もこれらのスライドスイッチとボタンスイッチを組み合わせて行う．命令の変更や設定は，図 2 に示した黄色 LED のそれぞれ下にある
3 つのボタンスイッチ 3，4，5 で行う．

3.3 高専間連携における利用「ロボット分野の企業技術者と連携した教育プログラムの開発と実践評価」という事業内容で，鈴鹿高専を中心に連携事業を推進している．その中の実
験実習系コンテンツ作成と実践で，本ロボットを用い遠隔授業を行った．対象学生は，鈴鹿高専の第４学年「創造工学」2 単位で，電子情報工学科学生２名機械工学科学生２名の計４名が参加した．図 3 は，その授業の様子である．釧路高専から，製作や操作方法に関するアドバイスを行い，鈴鹿高専の学生がロボットを製作した．
これまでのロボット製作では，電子部品を乗せた基板は予め完成させてあったが，この部分もキット化した．本報告の時点では，ロボットの組み立てが終了したところであるが，トラブルなく進めることができている．

3.

授業での利用3.1 大学における利用
本ロボットは，釧路高専と室蘭工業大学の共同で開発を行っている．室蘭工業大学で 2015 年度本ロボットを用いて行った授業について紹介する．授業は
情報電子工学系の 1 年生 190 人を対象に所属学科の理解を深めることやメカトロニクスを理解することを目的にした「フレッシュマン PBL セミナー」である．1 単位 15 回の授業のうち 3 回で，本ロボットを用いている．学生は，入学したばかりで，プログラミングやメカトロニクスについての知識はほとんどない．授業は，①プログラミングロボットの組み立てとプログラミング，②図形描画プログラムの作成，③プログラミングロボットによる描画実験の 3 項目について実習を行い，最後にレポートを提出する．
レポートに書かれていた感想でも，「プログラミングロボットというものを初めて製作し，ロボットに命令したのでプログラムしたロボットが正常に動作してくれたところに驚いた．
」といったロボットがプログラミング教育に効果的としたものが多くあった．
3.2 高専における利用2015 年度，釧路高専電気工学科 2 年生 27 名の授業で本ロボットを使用した．授業名は機械工学概論であるが，授業最後の 2 回の講義（90 分×2）のシーケンス制御の単元で，基本的な操作と順次構造の

釧路高専

鈴鹿高専

図 3 本ロボットを用いた遠隔授業の様子

4.

おわりに

我々は，仮想コンピュータを内部に持つロボットを開発し，小中学生を対象に工作教室を行ってきた．
本報告では．高等教育機関におけるメカトロニクスやプログラミングの導入教育で利用可能であることを紹介した．また本ロボットが，多様なレベルの授業に利用可能なことを示した．
本ロボットを用いた授業は，大学および高専で継続的に行う予定である．
本研究の一部は，科学研究費基盤研究(C)(24501168)，および(C)(一般)(16K01150)を受け推進している．
参考文献(1) 野口孝文，梶原秀一，千田和範，稲守栄，"計測制御教
育のための教材ロボットの開発"，教育システム情報学会研究報告，Vol.27，No.6，pp.217-220，2013.
(2) 野口孝文，梶原秀一，千田和範，稲守栄，"ロボットを用いた初心者のためのプログラミング教材の開発"，
FIT2014 第 13 回情報科学技術フォーラム，筑波，
pp.269-270（第 4 分冊)，2014.

― 240 ―