View
0
Download
0
Category
Preview:
Citation preview
電子機械基礎実習 2019
後期LEGO マインドストーム 編
牛丸真司
サポート 角田技術職員
授業目的
• 電子機械・機器をマイコンを用いてソフトウェアで制御するための基礎的な知識と方法を習得する。
– LEGO マインドストーム NXT/ nxtOSEKを用い、C言語に用いたハードウェア制御のプログラミングの基礎的なスキルを獲得する。
–使用するデバイスの動作原理を理解する。
–チームによるシステム開発を経験する。(プレMIRS)
LEGO マインドストーム
• マイコンモジュール(コントローラ)と、モータやセンサー等の部品およびレゴブロックを組み合わせて、ロボット等のオリジナルなシステムを作るための、レゴ社(Lego Inc.) の商品セット
LEGO マインドストームの変遷RCX NXT EV3
1998-2008 2006-2014 2013-
H8 (16bit) 32KB ARM7(32bit) 64KB ARM8(32bit) 64MB
brickRCX nxtOSEK TOPPERS/EV3RT
Sen. 3port, Motor 3port Sen. 4port, Motor 3port Sen. 4port, Motor 3port
nxtOSEK• LEGO MINDSTORMS NXT用開発/実行環境
(オープンソース)
• 開発環境– コンパイラ(GNU ARMコンパイラ)– NXTのハードウェアを制御するための関数– 制御用プログラムは C または C++ で作成する。(この授業ではC言語でプログラミングする)
• 実行環境– 標準ファームウェア(NXT BIOS)⇒ nxtOSEK
• OSEKとは– 欧州の自動車の電子制御用リアルタイムOSの標準規格
授業計画
1. ガイダンス、部品チェック、標準走行体の組み立て2. モータ制御(速度制御、PWM制御、wait指定)3. ローテーションセンサによるモータの回転角制御4. タッチセンサの使用とLCD表示(チャタリング回避等)5. 超音波センサによる距離計測6. Bluetooth通信(NXTの協調動作)7. OILファイル(OSEKプログラムの動作仕様の記述)8. マルチタスクプログラミング(マルチタスクの概念とそのプロ
グラム手法)
9. ~ 15. チーム開発(6週)
(1~8 基礎課題)
チーム開発• 授業の後半(中間試験明け)に実施(6週)
• 数名でチームを組み、指定された課題をクリア・達成するシステムを開発する。
• H30年度
–競技部門: タイムレース(8チーム)
–創作部門: 複数機体の協調動作(2チーム)
• H31年度(未定)
ライントレース (NIT-D3グランプリ)
カタロニア サーキット (スペイン)
• 評価方法
–基礎課題評価 45%
–チーム開発評価 30%
–小試験 20%
–授業姿勢 5%
• nxtOSEKチュートリアル
http://www2.denshi.numazu-ct.ac.jp/lego/NXT/nxtOSEK/
このページを授業で使っていく。
班分け
基礎課題(1~8回) 20班
2人一組
1組(20班)のみ1名 (角田さんのサポートあり)
チーム開発(9~15回)
構成メンバーはシャッフルして新たに決める。
今日の課題• 部品整理 = 部品表と同数となるように部品をそろえる。
– 10番違いの箱同士(例えば5と15)で、過不足を調整する。(該当する班同士、隣り合って着席すること)
– 部品を全て細かく解体する。
– 余分な部品を指定された場所に提出し、不足部品はそこから補充する。
– 終了したことを申告する。• 申告時にバッテリーを提出する。
• 不足部品は、部品表に数をメモして申告すること。
– 申告後、指定された場所に箱を戻す。
Recommended