沼津高専 電子制御工学科
MIRS0402 ソフトウェア製造仕様書
MIRS0402-SOFT-0001
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2004.10.22 日向・許 前田 初版
A02 2005.2.14 日向・許 前田 仕様変更点の修正

目次

  1. はじめに
  2. 概要
  3. 行動モード
  4. プログラム群の詳細 4.1. モードモジュール
    4.3. デバイスドライバ
    4.3.1. アームデバイスドライバ
  5. ソフトウェア開発スケジュール

  1.はじめに

本ドキュメントでは、MIRS0402詳細設計書に規定されたシステムの動作規定、状態遷移を実現する各タスクの開発(コーディング、試験等)に必要な事項を述べる。

  2. 概要

MIRS0402 ソフトウェアは、RT-Linux上で動作するプログラム群で構成される。
プログラムはC言語で書かれ、Linux の標準の API とともに、行動モードに対応したプログラム、一つの機能を複数のプログラム群で提供する機能モジュール、
および、RTタスク、ドライバと、補助関数と独自に定義したヘッダファイルから構成される。

  3. 行動モード

行動モードの詳細についてはMIRS0402詳細設計書を参照

  4. プログラム群の詳細

    4.1. モードモジュール

4.1.2. 初期動作モード
定義スタート位置から後退する。
遷移白線を感知したら『垂直補正モード』へ
構成要素 白線センサデバイスドライバ
関数名なし
引数なし
戻り値なし

4.1.3. 垂直補正モード
定義MIRSが白線と垂直になるように補正を行う。
遷移補正が終わった後、状況に応じて移行。(詳しくは詳細設計に)
構成要素 白線センサデバイスドライバ
関数名correct_vertical()
引数なし
戻り値なし

4.1.4. コース探索モード
定義左に90°回転し、
超音波センサで前方にポストがないルートを探す。
ルートが決まったら右に90°回転。
構成要素 >超音波センサ タスクモジュール
関数名course_search()
引数なし
戻り値なし

4.1.5. ポスト探索モード
定義左右の超音波センサでポストを探しながら直進する。
遷移ポストがあればポストの中心を探した後『ポスト接近モード』へ、
白線を感知したら『垂直補正モード』へ移行する。
構成要素 白線センサデバイスドライバ
超音波センサ タスクモジュール
タッチセンサデバイスドライバ
関数名post_search()
引数なし
戻り値なし

4.1.6. ポスト接近モード
定義ポストのあった方向へ90°回転、
ポストに接近する。
遷移ポストの10cm手前まで接近したら『ポスト周回モード』へ
構成要素 超音波センサ タスクモジュール
関数名post_approach()
引数なし
戻り値なし

4.1.7. ポスト周回モード
定義右に90°回転、ポストの周囲を旋回する。
赤外線センサが反応したらポスト番号の確認を行う。
ポストをとるべきなら獲得する。
遷移『ポスト探索モード』に戻る。
構成要素 ポスト識別モジュール
赤外線センサデバイス
超音波センサ タスクモジュール
関数名post_get()
引数獲得すべきポスト番号
戻り値

4.1.9. 正規獲得モード
定義ポスト番号を全て獲得している場合の動作。
番号順にポストを獲得していく。
遷移ポストを全て獲得したら終了。
構成要素 各機能モジュール
各RTタスクモジュール
各デバイスドライバ
関数名normal()
引数なし
戻り値なし

4.1.11. 回避モード
定義予期しない場所でタッチセンサに反応があった(=ポストに衝突した)場合の動作。
ポストを迂回するようにして進む。
遷移回避動作後、元のモードへ戻る。
構成要素 タッチセンサデバイスドライバ
超音波センサ タスクモジュール
関数名post_void()
引数なし
戻り値なし

    4.3. デバイスドライバ

4.3.1. アームデバイスドライバ
機能ポスト獲得用アームのモーターの動作を制御する。
使用されるモードポスト獲得モード

その他の
   「白線センサデバイスドライバ」
   「赤外線センサデバイスドライバ」
   「タッチセンサデバイスドライバ」
   「超音波センサ RTタスクモジュール」
   「PWM/ロータリーエンコーダ RTタスクモジュール」
については標準機のものを使用する。


  5. 開発スケジュール

以下のようなスケジュールで開発を進める。