名称 | MIRS1602 ソフトウェア詳細設計書 |
---|---|
番号 | MIRS1602-SOFT-0001 |
最終更新日:2016.5.11
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2016.12.05 | 臼井 達也 | 初版 | |
A02 | 2016.12.12 | 臼井 達也 | 事前チェックでの指摘された箇所の修正を行った。 | 第二版 |
A03 | 2016.12.16 | 山内 菜摘 | 第三版 | |
A04 | 2017.02.03 | 山内 菜摘 | 開発中に発生した仕様の変更点を追加 | 第四版 |
モジュール名 | 機能 | 開発要素 | 担当者 |
---|---|---|---|
pilot | MIRSの動作全体を制御する。 | mirsak_*モジュール全てを統括する。 | - |
mirsak_* | 動作シーケンスを管理する。 | 動作に応じたモジュールを新規に作成する。 | 下表参照 |
io | ON/OFF IOデバイスのデータを読む | 既存のものを使用する。 | - |
i2c | I2Cデバイスとの通信を行う。 | 新規に作成する。 | 山内 |
compass | 電子コンパスで機体の向きを取得する。 | 新規に作成する。 | 山内 |
number | 数字認識を行う。 | 既存のものを使用する。 | |
run_ctrl | 直進・回転・カーブ走行を行う。 | 既存のものを流用しモーターの変更に伴い、パラメータの調整を再度設定しなおす。 | 臼井 |
vel_ctrl | モータの速度制御を行う。 | 既存のものを使用する。 | - |
red | 赤外線センサを管理する。 | 新規に作成する。 | 伊東 |
distance | 走行距離を管理する。 | 既存のものを使用する。 | - |
uss | 超音波計測を行う。 | 既存のものを使用する。 | - |
encoder | エンコーダ値を管理する。 | 既存のものを使用する。 | - |
motor | モータを動かす。 | 既存のものを使用する。 | - |
comm | サーバーと通信を行う。 | 既存のものを使用する。 | - |
モジュール名 | 機能 | 開発要素 | 担当者 |
---|---|---|---|
pilot | MIRSの動作全体を制御する。 | mirsak_*モジュール全てを統括する。 | - |
mirsak_* | 動作シーケンスを管理する。 | 動作に応じたモジュールを新規に作成する。 | 下表参照 |
io | ON/OFF IOデバイスのデータを読む | 既存のものを使用する。 | - |
number | 数字認識を行う。 | 既存のものを使用する。 | |
run_ctrl | 直進・回転・カーブ走行を行う。 | 既存のものを流用しモーターの変更に伴い、パラメータの調整を再度設定しなおす。 | 臼井 |
vel_ctrl | モータの速度制御を行う。 | 既存のものを使用する。 | - |
red | 赤外線センサを管理する。 | 新規に作成する。 | 伊東 |
distance | 走行距離を管理する。 | 既存のものを使用する。 | - |
uss | 超音波計測を行う。 | 既存のものを使用する。 | - |
encoder | エンコーダ値を管理する。 | 既存のものを使用する。 | - |
motor | モータを動かす。 | 既存のものを使用する。 | - |
comm | サーバーと通信を行う。 | 既存のものを使用する。 | - |
モジュール名 | 機能 | 概要 | 改良する点 | 担当者 |
---|---|---|---|---|
mirsak_express | 現場急行 | 直進走行とカーブ走行を用いて、数字ボードがあるところまで走行する。 | シーケンス内容の変更 | 臼井 |
mirsak_patrol | 巡回、怪盗機確保 | 展示室内を周回運動し、怪盗機を探す。 | シーケンス内容の変更 | 臼井 |
mirsak_chase | 怪盗機確保 | 怪盗機の追跡・確保を行う。 追跡から巡回動作に復帰する。 |
赤外線データから、走法(直進・回転)と走行量(距離・角度)を決定する関数を追加する | 伊東 |
mirsak_returner | 巡回動作への復帰動作 | 怪盗機の追跡失敗後、復帰動作を行う。 | 電子コンパスで方角を取得し復帰動作を行う | 山内 |
モジュール名 | 機能 | 概要 | 改良する点 | 担当者 |
---|---|---|---|---|
mirsak_returner | 巡回動作への復帰動作 | 怪盗機の追跡失敗後、復帰動作を行う。 | 超音波センサで距離を取得し復帰動作を行う | 山内 |
モジュール名 | 機能、役割など | 関数 | 引数 | 返り値 |
---|---|---|---|---|
pilot | モジュール全体の統合を行う。 | int main() | 無し | 0 |
mirsak_express |
スタート地点から展示室入り口までの走行を行うモジュール。 現場急行後、ダイレクションボードに対して超音波センサを用いて正対補正を行い数字認識を行う。 |
void mirsak_express() | 無し | 無し |
mirsak_patrol | 電子コンパスを用いて方角を取得し、超音波センサを用いて壁沿いを巡回する。 | void mirsak_patrol() | 無し | 無し |
mirsak_chase | 赤外線センサからの情報をもとに怪盗機を認識、超音波センサで怪盗機との距離を測定し追跡・確保を行う。 | void mirsak_chase() | 無し | 無し |
mirsak_returner | 電子コンパスを用いて方角を取得して、復帰動作を行う。 | void mirsak_returner() | 無し | 無し |
red | 赤外線センサの値を元に怪盗機の認識をする。 | int red_get() | int red[] | 取得成功時…"0" 取得失敗時…"1" |
compass | コンパスとの通信を開始する。 | Compass* compassOpen() | I2CBus* bus,uint8_t address(I2Cバス,アドレス) | 正常時 コンパスポインタ 異常時 NULL (errnoで判断) |
compass | コンパスとの通信を終了する。 | void compassClose() | Compass* compass(コンパスポインタ) | 無し |
i2c | I2Cマスターボードとの通信を開始する。 | I2CBus* i2cBusOpen() | char* fileName(I2Cマスターボードのデバイスファイル) | 正常時 I2Cバスポインタ 異常時 エラーが発生した場合はNULL (errnoで判断) |
i2c | I2Cマスターボードとの通信を終了する。 | void i2cBusClose() | I2CBus* bus(通信終了するI2Cバスポインタ) | 無し |
i2c | I2Cデバイスとの通信を開始する。 | I2CDevice* i2cDeviceOpen() | I2CBus* bus, uint8_t address(デバイスが接続されているバス, デバイスのアドレス) | 正常時 I2Cデバイスポインタ 異常時 NULL (errnoで判断) |
i2c | I2Cデバイスとの通信を終了する。 | void i2cDeviceClose() | I2CDevice* device(通信終了するI2Cデバイスポインタ) | 無し |
モジュール名 | 機能、役割など | 関数 | 引数 | 返り値 |
---|---|---|---|---|
pilot | モジュール全体の統合を行う。 | int main() | 無し | 0 |
mirsak_express |
スタート地点から展示室入り口までの走行を行うモジュール。 現場急行後、ダイレクションボードに対して超音波センサを用いて正対補正を行い数字認識を行う。 |
void mirsak_express() | 無し | 無し |
mirsak_patrol | 電子コンパスを用いて方角を取得し、超音波センサを用いて壁沿いを巡回する。 | void mirsak_patrol() | 無し | 無し |
mirsak_chase | 赤外線センサからの情報をもとに怪盗機を認識、超音波センサで怪盗機との距離を測定し追跡・確保を行う。 | void mirsak_chase() | 無し | 無し |
mirsak_returner | 電子コンパスを用いて方角を取得して、復帰動作を行う。 | void mirsak_returner() | 無し | 無し |
red | 赤外線センサの値を元に怪盗機の認識をする。 | int red_get() | int red[] | 取得成功時…"0" 取得失敗時…"1" |
モジュール名 | テスト内容 | 備考 |
---|---|---|
司令塔(pilot) | 統合試験の際に正常に動作をするかを確認する。 | |
現場急行(mirsak_express) | 現場急行を仕様通りに行えるか確認する。 | |
巡回(mirsak_patrol) | 巡回を仕様通りに行えるか確認する。 | |
確保(mirsak_catch) | 怪盗機確保を仕様通りに行えるか確認する。 | |
数字認識(number) | 数字認識を行えるかテストプログラムで確認する。 | |
赤外線計測(red) | 受信を確認するプログラムを作成して、確認を行う。 | |
超音波計測(uss) | こちらのプログラムを使用して測定が行われるかの確認を行う。 | |
通信(comm) | server_info_send_test.cを使用してテストを行う。 |