講義と実験
ここでは情報工学科での講義と、情報工学実験I・IIについて紹介します。
情報工学科の授業科目の関連図
カリキュラムシーケンス(2016年度入学生用)
c28b7521c72e864b9359e0f5103e9d31
カリキュラムシーケンス(2014-2015年度入学生用)
16c57dfc3ab1efabdf87bd497e94772d
情報工学実験I・II
※平成24年度から実験内容が変更になりました.
この実験ではコンピュータとネットワークの基盤技術を実際的な実験を通して学習します.主な特徴は以下にようになります.
- 2012年度から内容を一新し、コース分けを廃止
- 前期(I)と後期(II)で連続した内容で実施
- 利用者(ユーザ)になるためではなく、モノを作る技術や理論を体系的に習得する
- 簡単なコンピュータのアーキテクチャ(マイコン)、そのプログラミング、通信プロトコル等を、実機を通じて実装し動かすことで、具体的に理解する
実験内容
最近の電気製品に代表される組込機器には必ずといって良いほど,コンピュータが内蔵されています.このコンピュータは パソコンに使われるCPUとは違うCPUで, 日本は世界で大きなシェアを持っています.
本実験ではmbedというマイコンボードと、m3piロボットカーを使って,組機器開発の学習を行います.具体的には以下のような技術の習得や,体験を行います.
- C++言語でプログラムを作成して書き込み動作させる
- I/Oポートを通じた、デバイスの制御、通信、センサからの値の取得などを行う
- Java言語での、Androidタブレット端末でのアプリ開発
- m3piとAndroid端末のIP通信によるテレメトリングやリモコン操作
- 最終課題では、走行コースにて各人のタイムを競う
実験機材の構成図(一人あたり)
全員に一人ずつ左図のような機材を用意します.これらを使って思いっきり楽しんでください.
主な機材は Windows PC,mbed,3pi,Andoroid端末,無線LANコンバータ&基地局などです.
このような機材は実際の組込機器や組込みシステムの開発でも使われている機材になります.
この実験を通じてこれらの機器の基本的な 使い方を学び,社会に出ても通用する力を身に付けてもらいます.
楽しく実験を!
右の写真はm3piを使ってライントレースをしている様子です.単純にトレースするだけでなく,タイムを競ったり途中で様々な動作をしたりと,様々な工夫を凝らした課題を用意しています.
友達と競い合うもよし,ただひたすらプログラミングに没頭するもよし.楽しく実験に取り組んでもらいます.
スケジュール(前期)
- ガイダンス、実験のゴールの説明、開発環境や実験機材の使い方
- 組み込み機器であるm3piロボットカーの基本的なプログラミングと動作
- センサからのデータ取得とロボットカーの動作への適用(1)
- センサからのデータ取得とロボットカーの動作への適用(2)
- センサからのデータ取得とロボットカーの動作への適用(3)
- ロボットカーの取得情報をTCP/UDP/IP通信にてPCに送信(1)
- ロボットカーの取得情報をTCP/UDP/IP通信にてPCに送信(2)
- Android端末によるアプリ開発の基本(1)
- Android端末によるアプリ開発の基本(2)
- ロボットカーの情報をAndroid端末に送信し表示
- 最終課題(1)
- 最終課題(2)
- 最終課題(3)
- 最終課題(4)
- まとめ
スケジュール(後期)
- ガイダンス、実験のゴールについての説明、通信アプリ開発の基礎
- Android端末からロボットカーへの通信(1)
- Android端末からロボットカーへの通信(2)
- Android端末からロボットカーへの通信(3)
- ロボットカーとAndroid端末との双方向通信(1)
- ロボットカーとAndroid端末との双方向通信(2)
- ロボットカーとAndroid端末との双方向通信(3)
- ロボットカーのカメラによる画像撮影とデータ処理(1)
- ロボットカーのカメラによる画像撮影とデータ処理(2)
- ロボットカーのリモコン走行と自律走行の切り替え
- 最終課題(1)
- 最終課題(2)
- 最終課題(3)
- 最終課題(4)
- まとめ
実験後の学生の声(感想)
・今期の情報工学科の実験を通して,ロボットカーを制御する方法等,いろいろなことを学ぶことができた。数多くのことを学んできた中で特に印象的だったのが距離センサによる制御である。自分は将来自動車会社に勤めたいという思いがあり,最近の車で多く取り入られているプリクラッシュセーフティシステムにとても興味があった。そんな中で自分がプログラムをかくことができるm3piにおいて,その簡易システムのようなものを組み込めたというのはとてもいい経験となった。これぐらいの値にしたらきちんと反応してくれるのか?,カーブではやはりうまく作動しないのか?などたくさんのことを考えることができた。後期の実験でも,1つでも多くのことを学ぶことができるように積極的に実験に参加していきたいと思う。そして出来れば最後の表彰式で表彰されるような成績がのこせたらいいなと思う。
・はじめはよくわからないまま実験に臨んでいたが、徐々に自分でも力がついているのがわかり、途中から本当に楽しくなった。android端末のプログラムを作成し始めて、より実験が楽しくなった。2年生のころの実験に比べて、自分のモチベーションがかなり違ったため頭に入りやすかった。また、m3piのセンサについて学ぶことにより、身の回りの色々な機械がどのように動いているかなど、以前まで気にならなかった部分が見えてくるようになった。個人戦では、自分が思っていた通りに動いたが、グループ戦になると使用するm3piの数も増え、なかなか思い通りにいかなかったがチームのメンバーと協力し合い一つのものを作り上げるという過程はとても良い経験になったと思う。今後は、androidやiPhoneアプリの開発などに今回の知識を使っていきたいと思った。
・前期の情報工学科実験Iでは、mbedを用いてライントレースカーを作成したり、アンドロイドを用いてグラフを作成したり、新しいことばかりだった。プログラムをして、PC内で動かしたりすることは2年まででやってきたが、実際にモノを動かすとなるとコンパイルの時点ではエラーがなくとも動作しないということが多かったので、値の再設定やプログラムの書き直しなど“コンパイル成功=動作が正常”ではなかったのでいい経験になった。
また、グループ戦ではほかの人と連携して行うので会話が必要であるし、リーダー決定の重要だと感じた。私たちの班は、グループ戦の1日目の準備の段階で何をそれぞれが行うかが曖昧だったので最終日の動作確認の際にエラーやコースを外れるなどの失敗が相次ぎ、本番では180秒中120秒しか走らない結果となった。個人でプログラムを作ることはできるがグループで分担して連携することのむずかしさがわかり、実験だけではないところも学ぶことができ経験値を増やせれたと感じた。いろいろとあったが、講義としては結果が見てわかりやすいので作成することが苦ではなく興味を持てた。