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を返す。 |