名称 MIRS1402 ソフトウェア詳細設計書
番号 MIRS1402-SOFT-0001

最終更新日:2014.12.12

版数 最終更新日 作成 承認 改訂記事
A01 2014.12.12 櫻井 牛丸先生 初版

目次

  1. はじめに
  2. 動作フロー
  3. スレッド構成
  4. モジュール構成
  5. 動作詳細

  1. はじめに

    本ドキュメントはソフトウェア開発の詳細を示すことにより、複数人でのコーディングを円滑に進めることを目的としている。

  2. 動作フロー

    ソフトウェアのフローチャートを示す。
    動作において、本MIRSは常にDIRセンサをもちいてコースに対して一定の角度を保つ。また、自己位置は常に超音波センサをもちいておこなう。
    ここでの初期位置とは、競技場中央のことである。

  3. スレッド構成

    スレッドの役割とスレッド間のやり取りを示す。

  4. モジュール構成

    モジュール構成を以下に示す。

    モジュール名 概要 所属スレッド
    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

    尚、モジュールひとつにつきひとつのファイル(モジュール名.c)を作る。
  5. 動作詳細

    ・コース構築の動作の詳細について記述する。
     本MIRSはマップ情報をグリッドに区切って扱う。
     そのグリッドのどこにいて、目的地がどこなのかを取得し、それをもとに最短コースを演算する。
     八方のどの方向に進めばいいのかを、ベクトルとしてモータ制御モジュールに送る。


沼津工業高等専門学校 電子制御工学科