名称 | MIRS1402 ソフトウェア詳細設計書 |
---|---|
番号 | MIRS1402-SOFT-0001 |
最終更新日:2014.12.12
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2014.12.12 | 櫻井 | 牛丸先生 | 初版 |
本ドキュメントはソフトウェア開発の詳細を示すことにより、複数人でのコーディングを円滑に進めることを目的としている。
ソフトウェアのフローチャートを示す。
動作において、本MIRSは常にDIRセンサをもちいてコースに対して一定の角度を保つ。また、自己位置は常に超音波センサをもちいておこなう。
ここでの初期位置とは、競技場中央のことである。
スレッドの役割とスレッド間のやり取りを示す。
モジュール構成を以下に示す。
モジュール名 | 概要 | 所属スレッド |
---|---|---|
map_store | マップ情報を管理するモジュール | main_thread |
route_serch | 指定した位置に移動するためのコース構築を行うモジュール | main_thread |
go_pos_vector | コースにそって移動するときのベクトルを演算するモジュール | main_thread |
step_motor_ctrl | ステッピングモータを制御するモジュール | main_thread |
pile_bunker_ctrl | パイルバンカーを制御するモジュール | main_thread |
pos_estimate | 自己位置認識モジュール | main_thread |
read_uss | 超音波センサを読み取るモジュール | main_thread |
wall_detection | 進行方向に壁がないかマップを参照するモジュール | main_thread |
go_arg_pos | 偏角を指定して移動ベクトルを演算するモジュール | main_thread |
img_pre | 画像処理を行うモジュール | img_pre_thread |
read_dir | 電子コンパスを読み取るモジュール | dir_adj_thread |
dir_adj_vector | 補正回転ベクトル量を計算するモジュール | dir_adj_thread |
motor_ctrl | モーターを制御するモジュール | motor_ctrl_thread |
・コース構築の動作の詳細について記述する。
本MIRSはマップ情報をグリッドに区切って扱う。
そのグリッドのどこにいて、目的地がどこなのかを取得し、それをもとに最短コースを演算する。
八方のどの方向に進めばいいのかを、ベクトルとしてモータ制御モジュールに送る。