l
名称 | MIRS1503 ソフトウェア詳細設計書 |
---|---|
番号 | MIRS1503-SOFT-0001 |
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2015.12.08 | 遠藤真哉 大場春佳 菊地祐太 | 初版 | |
A02 | 2015.12.10 | 遠藤真哉 大場春佳 菊地祐太 | 第2版 一部改訂(改訂箇所はMIRS1503 ソフトウェア詳細設計書レビュー議事録を参照) |
|
A03 | 2015.12.11 | 遠藤真哉 大場春佳 菊地祐太 | 第3版 一部改訂(改訂箇所はMIRS1503 ソフトウェア詳細設計書再レビュー議事録を参照) |
|
A04 | 2015.12.11 | 遠藤真哉 大場春佳 菊地祐太 | 牛丸先生 | 第4版 フローチャートを一部変更。ioは変更しないため、それに伴う変更。 |
モジュール名 | 機能 | 概要 | 依存関係 | 責任者 | 流用・作成 |
---|---|---|---|---|---|
mirs1503 | 機能統合 | 以下のモジュールの制御を行う | device,sequence,patrol,tracking | 大場 | 作成 |
sequence | タイムアタック | 現場急行と数字認識を行う | number,run_ctrl,direction,io,server | 遠藤(真) | 作成 |
patrol | 競技場巡回 | 巡回と怪盗機の捕獲を行う | run_ctrl,direction,io | 菊地 | 作成 |
tracking | 怪盗追跡確保 | 巡回と怪盗機の捕獲を行う | io,vel_ctrl | 菊地 | 作成 |
direction | 正体補正 | 正体補正を行う | run_ctrl,uss | 流用 | |
run_ctrl | 走行制御 | 直進・回転を行う | vel_ctrl,distance | 流用 | |
vel_ctrl | 速度制御 | モータの速度制御を行う | motor,encoder | 流用 | |
device | デバイス管理 | デバイスファイルをopen/closeする | 無し | 流用 | |
server | データ送受信 | サーバとのデータの送受信を行う | 無し | 大場 | 作成 |
number | 数字認識 | 数字認識を行う | 無し | 流用 | |
io | タッチセンサ管理 | タッチセンサの管理を行う | 無し | 流用 | |
uss | 超音波制御 | 超音波センサの管理を行う | 無し | 流用 | |
motor | モータ制御 | モータを動かす | 無し | 流用 | |
encoder | エンコーダ制御 | エンコーダ値を管理する | 無し | 流用 | |
distance | 距離計 | 距離データを取得する | encoder | 流用 |
モジュール名 | 説明(役割、動作概要、変更内容など) | 関数 | 引き数 | 返り値 |
---|---|---|---|---|
mirs1503 | モジュールの全体の統合を行うモジュール。 | int main(void) int device_open(const char *string) int device_close(const char *string) |
const char *string 指定デバイスファイルのディレクトリ | 関数が正常に終了した場合は0を、問題がある場合は-1を返す。 |
sequence | スタート地点から展示室入り口までの走行を行うモジュール。 走行時に、run_ctrlは直線走行・回転動作に、ioはタッチセンサの信号を読み取り壁に当たった際のコースへの復帰動作に用いる。復帰関数angleについては、MIRS1503 標準機プレ競技会用システム開発計画書の7.8を参照する。展示室入り口到着後に、directionはダイレクションボードに対しての正体補正に、numberはダイレクションボードからの数字認識に用いる。 mirs1503モジュールに呼び出されて実行される。 |
int sequence(void) | 無し | 関数が正常に終了した場合は0を、問題がある場合は-1を返す。 |
patrol | 展示室内で怪盗を見つけるまで巡回を行うモジュール。 run_ctrlは直線走行・回転動作、directionは角を2回曲がるごとに行う壁に対しての正体補正に用いる。また、ioはタッチセンサの信号を読み取り壁に当たった際のコースへの復帰動作を行うため、怪盗の赤外線信号を受信しtrackingモジュールへ移行するために用いる。 mirs1503モジュールに呼び出されて実行される。 |
int patrol(void) | 無し | 関数が正常に終了した場合は0を、問題がある場合は-1を返す。 |
tracking | 巡回中に怪盗を発見した際に追跡を行うモジュール。 ioは怪盗機の赤外線信号を受信し方向を推測するために、vel_ctrlは機体の速度制御に用いる。 mirs1503モジュールに呼び出されて実行される。 |
int tracking(void) | 無し | 関数が正常に終了した場合は0を、問題がある場合は-1を返す。 |