名称 MIRS1403 地図情報管理モジュール詳細設計書
番号 MIRS1403-SOFT-0006

最終更新日:2014.2.20

版数 最終更新日 作成 承認 改訂記事
A01 2014.12.09 堀部 大林 初版
A02 2014.2.20 堀部 実際に使用したプログラムの使用へと追記した。

目次

  1. はじめに
  2. モジュール概要
  3. モジュール仕様
  4. 試験仕様
  5. プログラム

  1. はじめに

    本ドキュメントは、MIRS1403の地図情報管理モジュールの詳細設計書である。

  2. モジュール概略

    このモジュールは競技場の情報をインポートし、座標やオブジェクトを管理するプログラムである。
    現在地から目標値までの経路の導出も行う。

  3. モジュール仕様

    以下に本モジュールの仕様を示す。

    1. ソースファイル構成

      地図情報管理プログラムは、Mapディレクトリ内また、各ファイルに含まれる関数は下記の関数にて説明する。
      ファイル名 含まれる関数
      GetPattern GetPattern
      GetTarget2 GetTarget
      MapSample Judge,MapOpen,GetDeg
      PatternSkip PatternSkip
      PositionThread PrePosition

    2. 構造体

    3. objecttype
      修飾子 名称 概要
      enum ObjectType 競技場のオブジェクトの種類
      メンバ名 説明
      NONE オブジェクトなし
      START スタート地点
      TREASURE 小部屋の宝
      DIRECTIONBOURD ダイレクションボード
      CHECKPOINT 自身で設定したチェックポイント
      UNKOWN オブジェクト情報なし
      detail
      修飾子 名称 概要
      struct Detail 現在の状況情報
      メンバ名 説明
      Point Positioin 現在のx,y座標
      int Row マップ情報を行列表示したときの行
      int Column マップ情報を行列表示したときの列
      ObjectType Object table1で示したオブジェクトの種類
      RIGHT 現在地の1つ右のオブジェクトの種類
      UP 現在地の1つ上のオブジェクトの種類
      LEFT 現在地の1つ左のオブジェクトの種類
      DOWN 現在地の1つ下のオブジェクトの種類
    4. 関数

    5. 関数
      名称・引数 概要 引数の説明 返り値の説明
      int GetPattern(Point Position) 引数で与えた座標がどの区分にあるか判別する 判別させる座標 判別した区分を返す
      void GetTarget(Point BeforePosition,Point Destination) 現在地から目標地に移動する 現在地と目標値
      int Judge(char a) オブジェクトの種類をEnum型を使って整数にする オブジェクトの種類 オブジェクトの種類を整数で返す
      int MapOpen(char *filename) マップデータのインポートを行い、データを整理する インポートするcsvファイル名 正常にファイルオープンできたかどうか
      double GetDeg(double xd,double yd) 現在地と進むx,y成分から進行方向の角度を出す 進行するxy成分 進行方向の角度
      int PatternSkip(int *Pattern) 現在と目標の区分より道筋を短縮する 区分 短縮するかどうか
      void PrePosition() スレッドを立ててエンコーダの値から現在地を導く
  4. 共有変数

  5. 共有変数
    名称 概要
    typedef struct Point Position 現在のx,y座標
    double Argument 現在機体の向いている方向の角度
  6. 試験仕様

    PC上でシミュレーションを行い、導出された経路が壁を貫いていないか等を確認する。問題なく経路が導出でき、目的地に到達できるようなら合格とする。
    次にMIRSにディスプレイを接続し、実際に走行させる。その際に随時現在地の座標と機体の方向、オブジェクトの種類を表示する。また、座標を入力したとき、表示がその座標まで移動するかを確認する。

  7. プログラム

    コーディングおよびデバッグが完了した後追記する。
    競技会終了までにはプログラムを公開する。

▲上へ

MIRS1403ドキュメント管理台帳