沼津高専 電子制御工学科
MIRS0402 ソフトウェア詳細設計書
MIRS0402-SOFT-0001
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2004.09.17 日向、許、渡邉 前田 初版
A02 2005.02.14 日向、許、渡邉 前田 仕様変更点の修正

目次

  1. はじめに
  2. 概要
  3. ソフトウェア詳細設計 3.1. ATL-MIRS 標準ライブラリ
    3.2. 動作モードの定義
    3.3. モード遷移表
    3.4. アルゴリズム (フローチャート)

1.はじめに

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

2. 概要

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

3. ソフトウェア詳細設計

3.1. ATL-MIRS 標準ライブラリ

ATL-MIRS 用に開発された標準ライブラリを使用する。
このページのトップへ

3.2. 動作モードの定義

MIRS0402 では以下のモードを定義する。

  1. 初期動作モード
    スタート位置から後退する。
    白線を感知したら『垂直補正モード』に移る。

  2. 垂直補正モード
    いったん停止し、MIRSが白線と垂直になるように補正を行う。

  3. コース探索モード
    その場で左に90°回転し、前後しながら右側の超音波センサで進行方向にポストがないルートを探す。
    位置が決まったら右に90°回転し、その方向をMIRSの進む方向とし、
    『ポスト探索モード』に移る。

  4. ポスト探索モード
    直進しながら左右の超音波センサでポストの探索を行う。
    超音波センサに反応があった場合は、"何個目のポストか"、"左右どちらにポストがあったか"を記憶したあと、『ポスト接近モード』に移る。
    競技場端まで到達した場合(=白線を感知した場合)は『垂直補正モード』に移る。

  5. ポスト接近モード
    反応があった超音波センサの方向に90°回転、
    前方の超音波センサでポストとの距離を測りながら前進していく。
    ポストの約10[cm]手前で停止し、『ポスト周回モード』に移る。

  6. ポスト周回モード
    右に90°回転し、ポストを周回する。
    左側の赤外線センサが反応したら停止し、赤外線の周波数からポストの番号を確認する。
    ポスト番号が、指定されたポスト番号ならポストを獲得する。
    アームを用いてポストを獲得する。
    この時、アームを出しすぎたり、戻しすぎたりしないようタッチセンサを用いてアームの動作を制御する。
    アームを限界まで伸ばすか、アーム先端のタッチセンサが反応したらアームを戻し、赤外線センサでポスト獲得の確認を行う。
    ポスト番号が、指定されたポスト番号以外ならポストの情報を記憶し、周回した後 元のルートへ戻る。
    その場合は『ポスト探索モード』へ戻る。

  7. 正規獲得動作モード
    獲得したポストの情報を元に番号順にポストを獲得していく。
    その時の手順は以下のとおり

    @獲得していないポストの内、最も早い番号のポストのある位置(Y座標)まで直進
    Aポストの方向に90°回転
    Bポストとの距離が10[cm]になるまでポストに接近
    C右に90°回転
    D赤外線センサに反応があるまでポストの周囲を周回
    Eアームを用いてポストを獲得
    F元の座標まで戻る


  8. 回避モード
    本来何もないはずの場所で障害物にぶつかった場合、
    障害物を避けて進む。

  9. 試験モード
    動作確認のため各モードを単独で実行する。

3.3. モード遷移表

遷移前\遷移後 初期動作
モード
垂直補正
モード
コース探索
モード
ポスト探索
モード
ポスト接近
モード
ポスト周回
モード
正規獲得
モード
回避
モード
試験
モード
初期動作モード - 白線を感知 × × × × × × ×
垂直補正モード × - 初期動作モードから遷移してきた ポスト探索モードから遷移してきた × × 試技2回目or試技1回目のポスト探索終了時 × ×
コース探索モード × × - モード終了 × × × × ×
ポスト探索モード × 白線を感知 × - ポストを発見 × × ※2 ×
ポスト接近モード × × × × - モード終了 × ※2 ×
ポスト周回モード × × × モード終了 × - × × ×
正規獲得モード × 全てのポストを
獲得する前に
競技場端に到達
× × × × - ※2 ×
回避モード × × × ※3 × × ※3 - ×
試験モード × × × × × × × × -

※2 … 障害物に衝突 (=タッチセンサON)
※3 … 障害物回避後、以降前のモードに戻る
このページのトップへ

3.4. アルゴリズム (フローチャート)

3.4.1 初期動作モードのアルゴリズム

このページのトップへ

3.4.2 垂直補正モードのアルゴリズム

このページのトップへ

3.4.3 コース探索モードのアルゴリズム

このページのトップへ

3.4.4 ポスト探索モードのアルゴリズム

このページのトップへ

3.4.5 ポスト接近モードのアルゴリズム

このページのトップへ

3.4.6 ポスト周回モードのアルゴリズム

このページのトップへ

3.4.7 正規獲得モードのアルゴリズム

このページのトップへ

関連ドキュメント
ドキュメント番号 ドキュメント名称 作成責任者
MIRS0402-DSGN-0001 MIRS0402 システム提案書 野村