名称 標準機デモ競技用システム開発計画書
番号 MIRS1403-PLAN-0003

最終更新:2014.08.09

版数 最終更新日 作成 承認 改訂記事
A01 2014.06.27 伊藤、野澤 初版
A02 2014.08.08 野澤 青木教員
  • 定量的な表記の加筆
  • フローチャートとシステム開発計画の整合性を確保
  • 機能定義、詳細の修正

目次

  1. はじめに
  2. 開発方針
  3. 戦略
  4. 機能定義
  5. プログラム概要
  6. 機能詳細
  7. 開発日程

  1. はじめに

  2. 本ドキュメントは、8/9に行われる一日体験入学に向けて、
    標準機を用いてCP班が考えたコースを攻略するための戦略、プログラム設計、開発工程について記したドキュメントである。
  3. 開発方針

  4. 速度を第一とする。
    システム開発などの作業を効率よく進め、一日体験入学では早くゴールできるよう作業を進める。
    具体的なシステム開発計画は、開発日程の通りである。
    競技の攻略予定時間は、40秒以内である。
  5. 戦略




  6. 機能定義

  7. 機能番号機能名機能概要
    1 直進走行 ロータリーエンコーダで進行方向をPID制御で補正する。
    また目標距離に合わせて走行速度もPID制御で調整する。
    2 回転走行 ロータリーエンコーダにより回転軸のズレをPID制御で補正する。
    また目標角度に合わせて機体回転速度もPID制御で補正する。
    3 数値認識 DBを確実に読み取る。
    4 正体補正 数値認識とゴールスイッチ確実に押せるように正体補正で機体角度を調整をする。
    5 機体停止 タッチセンサが作動した時、機体の動作を停止する。
    6 距離測定 超音波センサを用いて機体と壁との距離を測定する。
  8. プログラム概要

  9. Fig.1にプログラムのフローチャートを示す。
    このフローチャートは、MIRS14CPで事前公開されているコース前提としたものである。
    コースについては、 MIRS14CP 一日体験入学デモ競技会 競技規定 を参照。
  10. 機能詳細

    1. 直進走行

    2. 関数名 : run_straight
      引数 : 目標走行速度[cm/s],目標距離[cm]
      返り値 : 実際の走行距離[cm]

      直進走行用の回転速度をモータに指令する関数である。
      目標距離[cm]と実際の走行距離[cm]の差を偏差とし、PID制御を行い、制御入力を算出する。目標走行速度[cm/s]に制御入力を加算することで走行速度を制御する。
      また、左右のモータの回転数の差を偏差とし、左右のモータの速度比をPID制御し、直進走行を安定させる。
    3. 回転走行

    4. 関数名 : run_rotation
      引数 : 目標回転速度[deg/s],目標角度[deg]
      返り値 : 実際の回転角度[deg]
      回転走行用の回転速度をモータに指令する関数である。
      目標角度[deg]と実際の回転角度[deg]の差を偏差とし、PID制御を行い、制御入力を算出する。目標回転速度[deg/s]に制御入力を加算することで走行速度を制御する。
      また、左右のモータの回転数の絶対値の差を偏差とし、左右のモータの速度比をPID制御し、直進走行を安定させる。
    5. 数値認識

    6. 関数名 : read_value
      引数 : 壁に対する距離
      返り値 : 認識した数値

      ROI走査法を用いて、DBの数値を認識し、その値を返す関数である。
      壁に対する距離は、あらかじめ決定した定数を代入する。
      認識する数値は1個、また数字の1を認識することを想定しない。
    7. 正体補正

    8. 関数名 : direction_correction
      引数 : 目標距離[cm]
      返り値 : 成功判定

      機体前方の2個の超音波センサを用いて正体補正を行う関数である。
      成功判定は、成功ならば1を返し、失敗ならば-1を返す。
    9. 機体停止

    10. 関数名 : motion_stop
      引数 : ポート番号
      返り値 : 成功判定

      機体前方のタッチセンサを用いて機体停止を行う関数である。
      タッチセンサが反応したらモータの回転を止める指令を出す。
      ポート番号は、ドータボードの端子番号のことである。
      成功判定は、成功ならば1を返し、失敗ならば-1を返す。
    11. 距離計測

    12. 関数名 : measure_distance
      引数 : 無し
      返り値 : 壁に対する距離

      機体前方の2個の超音波センサを用いて距離測定を行う関数である。
      返り値は、左右の超音波センサの取得値の相加平均をとる。
  11. 開発日程

  12. 開発日程をTable 1に示す。
    開発日程
    日付 作業内容
    備考
    8/6
    • システム開発
    • 各モジュールのデバッグ
    8/7
    • 各モジュールのゲイン調整
    8/8
    • プログラムの最終確認
    8/9
    • 最終調整

MIRS1403ドキュメント管理台帳