名称 MIRS1403 画像処理モジュール詳細設計書
番号 MIRS1403-SOFT-0007

最終更新日:2015.2.4

版数 最終更新日 作成 承認 改訂記事
A01 2014.12.22 野澤 初版
A02 2014.12.24 野澤 大林教員 誤植の修正
A03 2015.2.4 野澤 仕様変更についての追記を行った。

目次

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

  1. はじめに

    本ドキュメントは、MIRS1403の画像処理モジュールの詳細設計書である。
    尚、本ドキュメントにおける設計計画は実質的に廃止した。詳細については、以下を参照。
    MIRS1403 ソフトウェア開発報告書

  2. モジュール概略

    本モジュールは、画像撮影によりDBの数値認識及び怪盗機の位置認識を行う機能を持つ。
    以下に、DBの数値認識及び怪盗機の位置認識についてのフローチャートを示す。

  3. モジュール仕様

    1. 構造体・列挙体

    2. 列挙体:Camera_port_number

    3. 構造体:Camera_port_number
      名称 概要 備考
      Camera_port_number カメラポート番号列挙体
      メンバ名 概要 備考
      camera_port_forward 前方カメラのポート番号
      camera_port_backward 後方カメラのポート番号

    4. 構造体:DB_value

    5. 構造体:DB_value
      修飾子 名称 概要 備考
      typedef struct {...} DB_value DB値構造体
      メンバ名 概要 備考
      int .db_value DBの数値

    6. 構造体:DB_setup

    7. 構造体:DB_setup
      修飾子 名称 概要 備考
      typedef struct {...} DB_setup DBデータ構造体
      メンバ名 概要 備考
      const int .width.min DB横幅の下限値
      const int .width.max DB横幅の上限値
      const int .height.min DB縦幅の下限値
      const int .height.max DB縦幅の上限値

    8. 構造体:Thief_data

    9. 構造体:Thief_data
      修飾子 名称 概要 備考
      typedef struct {...} Thief_data 怪盗情報構造体
      メンバ名 概要 備考
      double .thief_theta 機体と怪盗の重心との偏角

    10. 構造体:HSV_setup

    11. 構造体:HSV_setup
      修飾子 名称 概要 備考
      typedef struct {...} HSV_setup HSVデータ構造体
      メンバ名 概要 備考
      const double .h.min Hの下限値
      const double .h.max Hの上限値
      const double .s.min Sの下限値
      const double .s.max Sの上限値
      const double .v.min Vの下限値
      const double .v.max Vの上限値

    12. 定数

      カメラ関連の定数
      修飾子名称概要修飾子・戻値の詳細
      const int camera_view_angle カメラの視野角 [rad]
      const int camera_height_pixel カメラの縦ピクセル数
      怪盗関連の定数
      修飾子名称概要修飾子・戻値の詳細
      const double ballon_radius 風船の半径 [m] (風船は円形だと仮定する。)

    13. 関数・関数型マクロ

      数値認識関連の関数
      修飾子・戻値 名称・引数 概要 修飾子・戻値の詳細 引数の詳細 備考
      DB_value get_DB_value(USS_value uss_value) DBの数値を取得 数値認識成功時:DBの値を返す。
      数値認識失敗時:-1を返す。
      DBとの距離 MG3S 標準プログラム 関数レファレンスの関数 number_detect(int dist) を参考にして実装する。
      怪盗探索関連の関数
      修飾子・戻値 名称・引数 概要 修飾子・戻値の詳細 引数の詳細 備考
      Thief_data search_thief(Camera_port_number camera_port_number, HSV_setup hsv_setup) 怪盗の捜索 怪盗探索成功時:距離及び偏角を返す。
      怪盗探索失敗時:NANを返す。
      camera_port_number:カメラのポート番号
      hsv_setup:HSVの範囲
      MG3S 標準プログラム 関数レファレンスの関数 number_detect(int dist) を参考にして実装する。

  4. 試験仕様

    1. 試験用プログラム

    2. 試験用プログラムの詳細を以下に示す。
      試験用プログラム
      ファイル名 試験内容 合格基準 不合格時の対処法 備考
      test_get_DB_value DBの数値認識が可能かを確認する。
      適当な距離をおいたDBに対して数値認識を行う。その結果により合否を決定する。
      数値認識に成功したら合格とする。 プログラムの修正を行い、再度試験を行う。
      上記の方法で改善が見られないようならば、その時に対処法を考える。
      test_search_thief 怪盗探索が可能かを確認する。
      適当な距離をおいた赤い風船に対して怪盗探索を行う。その結果により合否を決定する。
      怪盗探索に成功したら合格とする。 HSVパラメータの調整を行い、再度試験を行う。
      上記の方法で改善が見られないようならば、その時に対処法を考える。

    3. デバッグ処理

    4. コーディング及び全モジュールについてのドキュメントの承認を得た後、必要と思われるデバッグ処理の詳細を追記する。

  5. プログラム

    プログラムについては、以下を参照。
    MIRS1403 ソフトウェア開発報告書

▲上へ

MIRS1403ドキュメント管理台帳