科目名 情報工学実験Ⅰ
単位数 3.0
担当者 情報工学専攻 准教授 井上博之(代表教員)、准教授 市原英行、准教授 大田 知行、准教授 小畑博靖、助教 窪田昌史、助教 児島彰、講師 新浩一、准教授 高野知佐、教授 永山忍
履修時期 前期
履修対象 3年
概要 mbedというマイコンボードを使って、プログラム可能なm3piロボットカー(自走する車)にプログラムを書き込み動かす。光センサからの値を判断してライントレースを行いながら、照度や温度のセンサ値を測定しながらAndroidタブレット端末に測定値や車の状態を送信するようなプログラムを作成する。Android端末ではデータを受信し、表示するようなアプリケーションを作成する。さらに、m3piロボットカーをAndroid端末を使ったリモコンで操作できるようにする。同時に、走行中に計測したセンサ値をAndroid端末に送信し表示する。
なお、通信はUDPを使った一方通行の無手順を基本とする。中間・最終課題では、走行コースにて各人、各グループのスコアを競う。実験で学ぶ具体的なスキルとしては、組込みプログラミング(C/C++言語)、Androidプログラミング(Java言語)、マイコンの基礎、センサ値取得、周辺デバイス制御、無線通信、通信プロトコル(TCP/IPや上位プロトコル)、アルゴリズムとデータ構造などがある。
科目の到達目標 簡単なコンピュータのアーキテクチャ(マイコン)、そのプログラミング、通信プロトコル等を、実機を通じて実装し動かすことで具体的に理解する。利用者(ユーザ)になるためではなく、モノを作る技術や理論を体系的に習得する。
受講要件 プログラミングIII、コンピュータシステムI を受講していることが望ましい。
事前・事後学修の内容 事前学修:実験資料(It's classから取得可能)を読んでおく。また、分からない専門用語などがあれば、調べておく。
事後学修:実験で学んだ内容や取り組んだ課題についてまとめ、レポートを作成する。
講義内容 1.ガイダンス、実験のゴール説明、開発環境や実験機材の使い方 
2.m3piロボットカーの基本的なプログラミングと動作 
3.センサからのデータ取得とロボットカーの動作への適用 
4.ロボットカーの情報取得、TCP/UDP/IP通信によるPCへの通信
5.Android端末によるアプリ開発の基本、ロボットカーからAndroid端末への通信
6.ロボットカーとAndroid 端末の統合プログラミング(コンテスト準備)
7.ロボットカーとAndroid端末の単体テスト(コンテスト準備)
8.ロボットカーとAndroid端末の統合テスト(コンテスト準備)
9.中間課題:コンテスト(個人戦)
10.Android端末からロボットカーへの通信
11.ロボットカーとAndroid端末の双方向通信 
12 Android端末を使ったリモートコントローラの作成
13.加速度センサーの利用、距離センサの補正(コンテスト準備)
14.システム統合 (コンテスト準備)
15.最終課題:コンテスト(個人戦)
評価方法 全出席を前提とし、受講態度、レポートの内容などから総合的に判断する。
なお、秀については発展課題も含めた評価とする。
教科書等 教科書:
(1) 「やさしいAndroidプログラミング 第3版」 高橋麻奈著, ソフトバンククリエイティブ (プログラミングIIIと同じもの)
(2) 「mbed/ARM活用事例」 エレキジャック編集部編, CQ出版

参考書:
コンピュータ基礎、プログラミングI,II,III、コンピュータシステム、情報ネットワーク、ネットワークプロトコルなどの講義で使用した教科書や参考書。
なお、mbedとAndroidについては多くの情報がWebからも入手できる。
担当者プロフィール 担当者のプロフィールは以下の情報科学研究科のホームページを参照してください。
http://info.hiroshima-cu.ac.jp/about/organization/staff.html
実験内容やレポートなどに関する、学生の個別学習相談を随時受け付けています。
教員の所在は、学内サイネージ等に掲示されていますので、確認の上、研究室を訪ねてみてください。
備考