助け合う次世代IoTシステムの実践教育プログ ラムの開発
概要
近年,IoT技術に関連した産業が盛んに行われており,それにともない,高等教育機関でのIoT教育も重要になっている.内閣府「第5期科学技術基本計画(2016~2020年)」において,将来の社会像として,ICT(情報通信技術)を基盤とした「超スマート社会(Society5.0)」が掲げられている.また,文科省が発表した2017年3月末の「学習指導要領」によれば,2020年より初等教育からのプログラミング教育が必修化され,高度なIoT技術者が教育できる素地が整いつつある.今後,5G通信による通信速度の高速化,AIやデータベースの高度化に伴い,各デバイスが分散・協調する時代が来ると予想される.そこで,本研究では,次世代IoT化に向け,協調・分散IoTシステム(助け合うIoTシステム)を開発できる実践的な技術者教育プログラムを提案し,基礎的な実験としてIoT実験教材の開発し,高専3年生の実験として,実証実験をおこなった.また,2つの無料クラウドサービスを使った実験プログラムの比較も行った.
研究背景
IoT(Internet of Things)やAI(人工知能)などのICTが急速に発展している.それに伴い,IoT技術者の不足が深刻化しつつある.IPAが発表した「IT人材白書2017」では,ITに精通していない企業でも,約6社に1社がIoTによる変化の中にいると感じ取っている.IoTに関して,本校に相談する中小企業も増加し,私を含むグループでいくつかのIoTシステム構築している.さらに,「第5期科学技術基本計画(2016~2020年)」において,サイバー空間(コンピュータ上での仮想空間)とフィジカル空間(現実社会)が高度に融合・協調・連携した社会「超スマート社会(Society5.0)」を推進している.このような社会情勢の中,今後育成しなければならない人材は高度なIoT技術を習得している技術者と考える.
初等教育にもICTに関しての教育が進みつつある.2017年3月末の「学習指導要領」によれば,2020年より初等教育からのプログラミング教育が必修化される.また,AIやビックデータに必要な統計に関する授業も取り入れられる.さらに,生徒各々がタブレット端末を持ち授業を行ったり,アクティブラーニング(生徒が主体的に取り組む教育手法)も徐々に取り入れられたりしている.したがって,(学生が主体的に)次世代IoT技術を習得できる環境は整いつつある.
このような環境の中,国立高専機構では,KOSEN(高専)4.0イニシアティブ採択事業として,釧路高専がIoT活用技術者の育成プログラムを行っている.また,高知高専も地域産業である第1次産業でのIoT活用技術者の教育を行っている.高度な技術を持つ中小企業が多い大阪でも,IoTを教育する拠点が必要である.今後,中小企業同士が協調・分散して生産することにより,効率的なモノづくりが可能になる.また,消費者との協調も行い,新たな価値(コト)を創造することもできる.
したがって,どのような教育プログラムが,高度IoT技術者教育にマッチするかが,また,アクティブラーニングを導入することにより,どのような教育効果が得られるのかが,人材育成には重要である.
IoT技術教育プログラムを開発するにあたり,IoT技術の段階を,見える化,制御,最適化,自律化の4つの段階に分け,段階的に身に着けさせる.各段階で,独創的かつ実践的なプログラムを用意し,アクティブラーニングによりIoTのプロトタイプを作成する.
本教育プログラムは,基本的には,高専3年生以上で活用するが,IoT化を考えている中小企業の社員教育にも活用する.そのIoT教育プログラムを基に構築した,IoT活用事例を集め,より実践的なプログラムに深化させる.
実験教材で使用するIoTシステム
図1は協調型IoTシステムの構成図である。実験システムは,センサー,Arduino, JetsonNano(またはRaspberryPi),およびクラウドサーバーで構成されている.センサーはI2CまたはSPIでArduinoに接続され,ArduinoはシリアルケーブルでJetsonNanoに接続され,JetsonNanoは無線LANでクラウドサーバーに接続される.このプロジェクトでは,エッジデバイスとクラウドが直接接続され,互いに連携している.このネットワークでは,大量のセンサーデータがクラウドに送信されるため,インターネットに負荷がかかり,通信のための消費電力が増大する可能性がある.また,他の組織もクラウドを利用するため,クラウドを利用する組織が増えると,データ通信速度や処理速度も低下する.
図1 IoTネットワーク構成
上記の課題を解決するために,図2に示すようなフォグネットワークシステムを構築する.組み込み機器とクラウドの間にフォグサーバーを設置することで,よりセキュアで高速な通信を可能にする予定である.
図2 IoT実験教材システムのネットワーク完成図
エッジデバイス
照度,温度,湿度など様々なセンサーから得られたデータは,一旦SPIやI2C経由でArduinoに送られ,A/Dコンバーターなどで処理された後,Jetson NanoやRasberryPiに送られる.これらのデバイスは,AI推論などの高度な誤検知を行う.結果はクラウドに保存される.これらのボードは互いに通信することができ,協調的かつ分散的に開発されている.
開発環境
このシステムでは,ArduinoにはC++ベースのプログラミング言語,また,JetsonNano(またはRaspberryPi)にはPythonを使って実験のプログラムを開発する.近年,機械学習などでPythonのプログラムが使われることが多いため,ここでがPythonを採用した.
実験教材の内容
協調動作型IoTシステムの教育プログラムは,図3の実験システムを用いて段階的に行われる.第1段階および第2段階では,学生はセンサデバイス,アクチュエータデバイス,クラウドサーバの基本的なIoT技術を実験する.第3段階では,協調分散IoTシステムのプロトタイプを作成する.
図3 実験システムの構成
第1フェーズ(センサーデバイスを使った基本実験)
第一段階では,アクチュエータとセンサの基本的な実験プログラムを準備する.様々なデバイスを用いて,分散型IoTシステムを構築する.
アクチュエータ関連の実験では,Arduinoに慣れるためにLED照明の実験から始める(図4参照). この実験では、アクチュエータの動作に重要なPWMの実験を行う.PWMはDCモーターの制御に使われる.さらに,ステッピング・モーターやサーボ・モーターといったアクチュエーター・デバイスの実験も行う.
センサーの実験は,温度センサーおよび湿度センサーから始まる.近距離センサや赤外線リモコンセンサの実験も行う.
図4 LED実験(PWMでの色変化実験)
第2フェーズ(クラウドを使った基本実験と可視化)
第2段階では,クラウドサービスを使った基礎実験を行う.クラウドサービスとしてAmbientを使用し,データの保存と読み込み操作の実験を行う.通信実験では,JetsonNanoとAmbientを使用する.JetsonNanoは簡単なデータをAmbientに送信し,AmbientはAmbientからJetsonNanoにデータを読み込むことができるかを実験する.その後,センサーの値を通信する.
センサーの値はAmbientに保存され,Ambientに保存されたデータを元にアクチュエーターが動作するため,ArduinoからJetsonNanoを経由してAmbientにセンサーの値を保存する実験を行う.また,逆にAmbientからJetsonNanoを経由してArduinoへデータを送ることにより,アクチュエータデバイスを操作できるか実験する.JetsonNanoへの通信はシリアル通信で行い,JetsonNanoとAmbient間の通信は無線LANで行う.センサーデータはAmbientの可視化ツールを使って可視化される(図5参照).
図5 センサーデータの可視化
第3フェーズ(クラウドを活用したアクティブラーニング)
第3フェーズでは,クラウドサービスを利用した協調動作実験を行う.協調動作ライブラリを用いることで,複数のデバイスが互いの状態を把握しながら協調動作を行う.協調行動では,図 6 に示すスマートカーを用いる.協調行動には,図6に示すスマートカーを用いる.このスマートカーには,ArduinoとJetson Nanoが搭載されている.Arduinoはセンサーデータの受信やモーターの制御に,Jetson Nanoはクラウドへのデータ送受信や機械学習に使用する.センサーには距離センサーとUSBカメラで構成されている.
実験の一例として,自動車と信号機の例を考える.交差点では,自動車同士の衝突を避けるため,自動減速システムが考えられる.優先道路の信号機に距離センサーを設置し,自動車の侵入を検知する.信号機までの距離をクラウドにアップロードし,非優先道路を走行する自動車に送信する.優先道路を走るクルマが信号に近づくと,非優先道路を走る自動車のモーターを自動的に減速し,停止させる.
図6 スマートカー
アクティブラーニングとして,学生が自ら考えたIoTシステムのプロトタイプを作成させた.このIoTシステムのプロトタイプには,第1および第2フェーズで使用したセンサー,マイコン,クラウドシステムを活用して作成させた.基本的には、多くのチームが町の既存のシステムをIoTシステムに改造した.例えば,自分たちで設計したスマートカーを使ったゲートシステムやゴミの量を知らせるゴミシステム(図7参照)などが挙げられる.
図7 IoTシステムプロトタイプ例
実験教材の学生評価
アンケートは第1フェーズから第3フェーズまでの実験を行った学生を対象に実施した.対象は大阪公立大学工業高等専門学校電子情報学部の3年生である.実験の難易度を5段階で評価した.結果を図8に示す.第1フェーズでは75%の学生が非常に簡単から普通と回答した.第2フェーズでは,42%の生徒がとても簡単から普通と答えた.第 2 フェーズでは,「とても簡単」~「普通」と答えた生徒が42%で,第 1 フェーズに比べ 33%減少した.第3段階では,「とても簡単~普通」と答えた生徒が66%に増加した.
第2フェーズでは,ArduinoからJetson Nano,Jetson NanoからAmbientへの通信方法を学ぶ.これらの通信にC++とPythonという2つの言語を使用することで,若干の混乱を招いたかもしれない.第3フェーズでは,第1,第2フェーズの実験の知識をもとに実験ができるため,第2フェーズよりも簡単に感じる学生が多いと推測される.
図8 アンケート結果
おわりに
本稿では,協調行動IoTのための実験教材について述べた.この教材は低コストで設計が容易である.教材は3つのフェーズに分かれており,学生は段階的な実験を通してIoT技術を学ぶことができる.アンケート評価では、半数以上の学生が、第2フェーズは難しいが、第1フェーズと第3フェーズは実践しやすいと回答した.
今後の課題としては,機械学習への発展やIoT通信プロトコルの実験が挙げられる.機械学習については,Jetson Nanoやスマートカーを活用した自動運転の実験を行う予定である.また,IoTの通信プロトコルであるMQTTなどの要素技術を実験できる教材を開発する予定である.
謝辞
この教材は,科学研究費補助助成事業「基盤研究(C)」の「助け合う次世代IoTシステムの実践教育プログラムの開発」(課題番号:19K02991)によって研究された.