北海道地区

教育システム情報学会 2021年度学生研究発表会

UML に基づいたビジュアルプログラミング型機器制御教材の開発
Development of Visual Programming Type Device Control Materials
Based on UML
大津 千莉*1, 千田 和範*1
Takumi SHIMAMURA*1, Kazunori CHIDA*1*1
釧路工業高等専門学校*1
National Institute of Technology, Kushiro College
Email: p170029@kushiro.kosen-ac.jp
あらまし：社会では問題を論理的に考えることができる人材が求められている．その人材育成の一つとして，中学校の技術分野では UML のアクティビティ図を用いて論理的に考える力を定着させる授業が行われている．そこで，本研究では，これまで我々が開発してきたビジュアルプログラミングブロックを基に，UML に基づくブロックから機器を直接制御できるグループ学習用制御教材の開発を行う．
キーワード：中学校，ビジュアルプログラミング，QR，UML, 制御教材，ネットワーク，双方向

1.

はじめに

図記号

処理の始まり現在の日本では，問題を論理的に考え、解決できる技術者が求められており，プログラミング的思考とプログラミングスキルの獲得が重要となる．そこ
で中学校の「計測・制御におけるプログラミングによる問題の解決」の中で教育が行われているが，プログラミング初心者は課題を解くアルゴリズムの検討の際に，問題分析に悩む場合が多い．また各学習者が個別作業のため，気軽に討論できない環境もプ
ログラム学習の難しさに影響を与えていることが分かっている(1)．そこで我々はビジュアルプログラミ
ングを取り入れたアルゴリズム学習用制御教材の開発にこれまで取り組んできた．
本研究では最近の中学校のプログラミング教育で取り入れられている UML のアクティビティ図に着目し，アクティビティ図から直接機器を制御できるビジュアルプログラミング型の教材開発を目的とする．

2.

意味
処理の終わり
処理の指示

分岐・結合
送信の内容
受信の内容
並行処理

図1

ブロック化するアクティビティ図記号
寿司提供用機器群
提供側制御用UMLブロック

注文側制御用UMLブロック

寿司
QR

UMLブロック
解析用PC

IoTサーバ

回転寿司
レーン

カラーセンサ機器制御用PC

統一モデリング言語とビジュアルプログラ
ミング用ブロック

各種制御信号

寿司配膳用機器群

統一モデリング言語（UML）とは，システムの挙動や構造を分析・設計したりする際，図を用いて視覚的に把握できるように効果的に表現する手法である(2)．この UML には，大きく構造図と振る舞い図に分けられるが，中学校では振る舞い図に含まれるアクティビティ図を基にプログラミング教育がなされている(3)．本研究では，図１に示したアクティビティ
図における７つの図記号をブロック化しビジュアルプログラミングに用いるものとする．これらのブロック（以下，UML ブロック）をビジュアルプログラミングに用いる際に，処理の内容や分岐の状況など予め決定しておく必要がある．本システムで実際に定義した UML ブロックについては次章以降で示す．

図 2. ビジュアルプログラミング型機器制御教材

3.

ビジュアルプログラミング型機器制御教材

3.1 システムの全体構成
プログラミング初心者が多い集団に制御課題を与える場合，学習者の身近にあって，その動きを想定しやすい対象を制御課題とすると苦手意識を比較的回避しやすいことが分かっている．そこで今回は，回転寿司を基に，図２の様な寿司の提供と回収を自動で行う制御教材を題材とした．
本システムは UML ブロックの識別とプログラム解析を行う UML ブロック解析用 PC，制御プログラ
ムを蓄積する IoT サーバ，そして機器制御用 PC と17

北海道地区

教育システム情報学会 2021年度学生研究発表会

表１. 機器制御用 UML ブロックと注文用ブロックの一例

高速イメージセンサ
Pixy2 CMUcam5

回収アーム
（動作中）

注文された寿司のみ配膳する様子

図 5. UML ブロックによる機器制御の様子

3.3 回転寿司制御システム
回転寿司制御システムは，全体を統括する制御用マイコン，寿司提供用機器群，寿司配膳用機器群によって構成される． Firebase に記録された各機器を制御するプログラムや注文書を登録されると，制御用マイコンはそれを読み出し，制御プログラムに沿って機器を制御する．たとえば，搬送レーンの起動と停止，提供用機器群へのアーム動作指示，配膳用機器群には，アームの動作制御などである．なお，初級編では，アルゴリズムを簡略化するため，処理操作『アーム番号＋寿司種別』を UML で記述すると，識別から配膳まで自動で実行される．発展編では，センサ情報を制御用マイコンに送信，イメージセンサ情報に基づく分岐，アーム動作を各 UML ブロックで構築する必要がある．図５は UML でブロックを用いて，各種寿司の提供および指定された客へ注文書通りの寿司を提供している様子である．

[op]を示すブロック
図 3. 機器制御用 UML の使用例
制御用マイコン
Arduino Nano

寿司QRリーダ

寿司配膳用機器群
ArduinoNano x3
RCサーボ x3
カラーセンサ x3

寿司提供用機器群
ArduinoNano x3
RCサーボ x34.

図 4. 回転寿司制御システムまとめ

本研究では,UML で記述したアルゴリズムを基に直接機器を制御することが可能なビジュアルプログ
ラミング型自動制御学習教材を開発した．今回開発した UML ブロックはグループでの協働学習も実現できると同時に，QR コードの利用により、PC やシステムを 1 台ずつで、プログラムの学習が可能となった．また，寿司の提供側，配膳側，注文者と情報の伝達が必要となるため，2021 年度から始まった新学習指導要領の「ネットワーク」「双方向性」にも対応できる可能性がある．
今後は中学校の出前授業などで実施し，そこで得られる教材の評価を基に改善を行っていく．またアンケートを基に機能の追加や指導方法の検討も行っていく．
参考文献

制御対象の回転寿司自動制御教材から構成される．
3.2 UML ブロックと解析システム
UML ブロックでは寿司をレーンに送り出す寿司提供用機器群，およびレーン上の寿司を注文内容に合わせて客に配膳する配膳用機器群の制御プログラム，そして注文書を記述するために用いる．表１はその一例である．あわせて使用例を図３に示す．表１において，[op]はオプションを表しており図３の様に主列の横に情報を追加する必要がある．また[val]はデータを次の UML ブロックに伝達するために用い，以降の UML ブロックはその情報を参照することができる．図２において，送信，受信は機器制御信号やセンサ信号なども記述できるが，ハードウェアの理解も必要となる．よって発展編の課題にのみ，これらの記号を使用可能とした．なお，教科書で学んだことを活かせるように UML ブロックにはアクティビティ図記号が貼り付けられている．これらの UML ブロックにはそれぞれ QR コードが貼付けられており，この QR コードを解析用 PC で読み取る．読み取ったデータは JSON 形式のデータに整形し IoT サーバに送信，蓄積される．なお IoT サーバは google 社の Firebase を用いている．

1)

2)
3)

18

千田和範他:“タンジブル型プログラミングツー
ルを用いた中学生向け協働学習型機器制御アルゴリズム実習システムの開発”,教育システム
情報学会第 45 回全国大会論文集, pp.81-82（2020）
UML とは？書き方とクラス図・シーケンス図な
ど 10 種の図を解説 | Cacoo ブログ
https://cacoo.com/ja/blog/what-is-uml/
教育図書編：“D 編 2.3 設計を図で表す方法を知ろう”，New 技術・家庭 技術分野，教育図書，
p.222-231 (2021)