沼津高専 電子制御工学科
MIRS9801 基本設計書
MIRS9801-DSGN-0005-B04
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 1999.2.1 田中 島村 初版
B01 1999.2.8 田中 島村 システム開発計画の変更による修正
B02 1999.2.14 田中 島村 不足部分の追加
B03 1999.2.18 田中 島村 システム動作規定の修正
B04 1999.12.15 藤池 田中 システムの概要、リンクを修正

目次

  1. はじめに
  2. システム概要
  3. 諸元
       
    1. 外観
    2. 機能性能
  4. システムの動作規定
  5. システム構成ツリー
  6. ハードウェア構成
    1. エレクトロニクス回路構成/機能
    2. エレクトロニクス回路基板外形
    3. 保守交換単位
    4. ソフトウェアビジビリティ
  7. ソフトウェア構成
    1. 動作モード
    2. リアルタイムモニタ
    3. タスク構成/機能
    4. マンマシンインターフェイス
    5. 試験機能
  8. システム試験
    1. システム試験概要
    2. 試験内容

はじめに

本仕様書はMIRS98競技規定に基づきMIRS9801チームの作成する自立型小型知能ロボットの基本仕様を記述する。

システム概要

ハードウェア

MIRS9801システムのハードウェアは標準MIRSに準ずる構成を有するが、MIRS9801固有の機能を実現するためにいくつかの変更点がある。以下、標準MIRSと異なる点のみ述べる。

ソフトウェア

ソフトウェアは複数のイベントドリブン型のタスクからなり、割り込みおよびタスクの管理はリアルタイムモニタ MIRX68Kを用いて実現する。

システムの動作

MIRS9801システムは、壁面から50cmの所をmirsの中心が通るようにコの字型に走行する。左側面の超音波センサで壁からの距離を計測し走行しながら、右側面の超音波センサ及び正面と両側面のタッチセンサでポストの探索をする。ポストを発見したらポストまで移動し、ポストの周りを回りながら赤外線を感知し、ポストのスイッチを押す。押した後コの字型のルートに戻り次のポストを探す。2回目の競技も1回目の競技と同じ動作を行う。

諸元

     
  1. 外観
    図1に本システムの外観を示す。

    図1.MIRS9801外観図

    詳細図面は以下のファイルを参照
    ポストスクリプト形式頭脳winCAD形式


     
  2. 機能性能

システムの動作規定

 MIRS9801システムは、2回の競技で平均的に高得点を得るという設計方針に基づき、1回目、2回目の競技で全く同じ行動をとる。
 ます、始めに、MIRS9801システムは、競技開始後DIPスイッチからのデータにより、図1に示した(a),(b)いずれかに移動する。
 スタート位置でのMIRSの向きを下図のようにし、Aまで移動するときは、まず、タッチセンサに反応がある(壁に当たる)まで前進し、90度回転して再び壁にあたるまで前進する。そして、90度回転して更に壁にあたるまで前進する。その後、MIRSの中心が前方の壁から50cmになるように、ロータリーエンコーダで測定しながら後退する。最後に90度回転し、Aの位置とする。
Bまで移動するときは、Aと同様、タッチセンサに反応があるまで前進し、90度回転して再び壁にあたるまで前進する。そして、壁にあたったら、MIRSの中心が前の壁から50cmになるように、ロータリーエンコーダで測定しながら後退する。最後に90度回転し、Bの位置とする。

   その後側面の壁から50cmの所をシステムの中心が通るように前進しながら、システム前部のバンパ型タッチセンサと右の超音波センサによりポストを探索していく。この時システム左側面の超音波センサを用いてシステムの方向と壁からの距離を調整する。
 ポストを探索中に右の超音波センサの値が競技場の中央からの距離と比較して差が大きければ目標物と判断し、超音波センサの値から出したポストまでの距離を保存し、システムの方向を右に90度変えタッチセンサに反応があるまで前進する。タッチセンサに反応があったら現在のロータリーエンコーダの値から計算した進んだ距離と先ほどのデータを比較し、その差が大きければ目の前のポストを障害物、差が小さければ目標のポストと判断し以下の行動をとる。
 障害物と判断した時:タッチセンサのデータから障害物の中心を出し、中心位置に合わせてコの字型に移動し障害物を回避した後再び前進する。
 目標と判断した時:タッチセンサのデータから目標の中心を出し、中心位置に合わせて目標の周りを時計方向に周回移動しながらシステム側面の赤外線センサにより目標のスイッチが発する赤外光を検知する。赤外光を検知したらシステムの向きをスイッチの正面を向くようにかえ、低速でスイッチに前進しスイッチを押下する。この時マシン前部の赤外線センサで赤外線LEDの消灯を確認する。赤外線LEDが消灯していない時は消灯するまで後退、前進、確認を繰り返す。赤外線LED消灯後、前進した分だけ後退し再び時計方向に周回移動をし、ポスト獲得前に周回移動を開始した場所まで戻る。
 ポスト獲得後は右の超音波センサの反応があった位置まで戻る。移動中にタッチセンサに反応があればそれを障害物とみなし、前述の障害物回避の行動をとる。元の位置まで戻ったら左の超音波センサを用いてシステムの方向と壁からの距離を調節し超音波を出さずに数cm前進してから再びポストの探索を開始する。
 ポストを探索中にタッチセンサに反応があった場合あらかじめセットしてある壁までの距離と現在のロータリーエンコーダの値から計算した進んだ距離を比較し、その差が大きければ目の前の物体を目標、差が小さければ壁と判断し以下の行動をとる。
 目標と判断した時:前述のポスト獲得の行動をとる。その後その目標を障害物とみなして前述の障害物回避の行動をとる。その後再びポストの探索を開始する。
 壁と判断した時:システムを現在いる隅から右の隅まで移動させてから再びポスト探索を開始する。
 競技場をコの字型に移動したら動作を終了する。
* 超音波センサでポストを探索する時の計測範囲は競技場の半分より手前までとする。
* 壁までの距離やポストまでの距離はイベントがおきるごとにセットし直すこと。

システム構成ツリー

下記にシステムの構成を示す。
MIRS9801製造仕様書
|-MIRS9801組立図 |-ソフトウェアインストール手順書
||-シャーシフレーム組立図 ||-MIRS9801.X(プログラムファイル)
|||-シャーシフレーム |||-MIRX68KC.C (MIRX68Kソースファイル)
|||-モータx2 |||-MIRX68K.H (MIRX68K用ヘッダーファイル)
|||-モータ取付金具x2 |||-HARD.C (MIRS9801用ハードウエア・ライブラリ関数)
|||-可逆モータパワー変換ボード |||-HARD.H (MIRS9801用ハードウエア・ライブラリ関数用ヘッダファイル)
|||-シャーシフレーム部ケーブル接続図 |||-IODEF.H (MIRS9801用I/O定義ヘッダファイル)
||||- コネクタ類 |||-DUSCC.H (RS-232C関数用ヘッダファイル)
||||- ケーブル類 |||-TABLE.H (タスク登録用ヘッダファイル)
||||- ケーブル検査仕様書 |||-MONENT.S (Cスタートアップルーチン)
|||-側面バンパ型タッチセンサ(左) |||-MIRX.CMD (リンカ・コマンドファイル)
||||- タッチセンサ |||-MAKEFILE (メイクファイル)
||||- バンパ機構 |||-ユーザ・タスク・ファイル
||||- ネジ類 ||||- 低レベルタスク
|||-側面バンパ型タッチセンサ(右) |||||-TASK00 マンマシンインターフェースタスク
||||- タッチセンサ |||||-TASK01 超音波センサタスク
||||- バンパ機構 |||||-TASK02 ロータリーエンコーダタスク
||||- ネジ類 |||||-TASK03 タッチセンサタスク
|||-前面バンパ型タッチセンサx6 |||||-TASK04 PWMモータ駆動タスク
||||- タッチセンサx6 ||||- 高レベルタスク
||||- バンパ機構 |||||-TASK05 距離セットタスク
||||- ネジ類 |||||-TASK06 方向修正タスク
|||-タイヤx2 |||||-TASK07 ポスト獲得タスク
|||-ネジ類 |||||-TASK08 障害物回避タスク
|||-シャーシフレーム試験仕様書 |||||-TASK09 センサ試験タスク
||-電子回路フレーム組立図 |||||-TASK10 試験走行タスク
|||-電子回路フレーム ||||- メインタスク
|||-ラック |||||-TASK11 行動計画タスク
||||-VMEラック ||||- ユーザ・タスク・ファイル仕様書
||||-CPUボード(VSBC1) |||-実行形式ファイル作成マニュアル
||||-IOボードアセンブリ |-MIRS9801試験仕様書
|||||-IOボード(VIPC310) |-MIRS9801取扱説明書
|||||-IPDigital48ボード |-電池
|||||-ロータリエンコーダボード
|||||-ジャンパ設定仕様書
||||-IOSubボード
||||-マンマシンインターフェースボード
||||-VMEラックジャンパ設定仕様書
|||-電源ボード
|||-左超音波センサ
|||-右超音波センサ
|||-赤外線センサx3
|||-電子回路フレーム部ケーブル接続図
||||- コネクタ類
||||- ケーブル類
||||- ケーブル検査仕様書
|||-取付金具
|||-ネジ類
||-ケーブル接続図
||-電池ホルダ
||-取付金具
||-ネジ類

ハードウェア構成

  1. エレクトロニクス回路構成/機能

    図2.MIRS9801エレクトロニクス回路ブロック

    各部の機能
    1. CPU
      CPU:MC68HC000, RAM:512kb, system clock : 12.5MHz,RTC 等 の機能を持つ。
    2. I/Oボード
      インプット、アウトプット、メモリ、割り込みの働きを持ち2つのIPを持つ。
    3. PI/T
      双方向の16bitの入出力と24bitダウンカウンタを持つ。
    4. ロータリエンコーダボード
      ロータリーエンコーダ信号処理回路と赤外線センサ信号処理回路を持つ。
    5. マンマシンインターフェースボード
      システムの出力として4桁の7segLEDと赤色、緑色各一個のLEDを持ち、入力として4bitのDIPスイッチと押しボタンスイッチを一つ持つ。
    6. I/Osubボード
      PWM回路、超音波センサ回路、タッチセンサ回路で構成される。
    7. PWM回路
      モータを制御するPWM信号を作り、方向データと共に出力する。
    8. 超音波センサ回路
      超音波の送信信号の作成と受信信号による割込み要求信号の作成をする。
    9. タッチセンサ回路
      タッチセンサからのデータを処理し割込み要求信号の作成をする。
    10. ロータリーエンコーダ
      タイヤの回転数を2相の信号で出力する。
    11. モータ
      システムを駆動する。
    12. 超音波センサ
      送信信号により超音波を発信し、超音波の受信により受信信号を出力する。
    13. タッチセンサ
      マイクロスイッチからの入力にチャタリング除去をかけ出力する。
    14. 赤外線センサ
      赤外線を受光し信号を作る。
    15. 可逆モータパワー変換ボード
      PWM回路から送られたPWM信号と方向データを処理してモータに送る。
    16. 電源ボード
      2本の7.2Vバッテリから各ボード用の+5V、RS232C用の±12V、モータ用の6Vの電圧を作る。

  2. エレクトロニクス回路基板外形
    1. 下記についてはVMEハーフハイト基板仕様に従う。
      • CPUボード(VSBC1)
      • IOボード(VIPC310)
      • IOSubボード
      • マンマシンインタフェースボード
    2. 下記についてはIOボード(VIPC310)インダストリパック仕様に従う。
      • IPボード(IPDigital48)
      • ロータリエンコーダボード
    3. 下記については標準MIRS基板を使用するのでMIRSデータベースを参照すること。
    4. 電源ボード



      図3.電源ボード外形図
      ポストスクリプト形式頭脳winCAD形式

  3. 保守交換単位
    以下に保守交換単位を示す。

  4. ソフトウェアビジビリティ 本システムのソフトウェアビジビリティは標準MIRSソフトウェアビジビリティ(現在作成中)の仕様と同一である。但し、各センサの位置とIOポートアドレスの対応は下表による。(B7 MSB - B0 LSB)
    センサIO port Address/bit備考
    赤外線センサ 側面FC6003/B6

    前面 左FC6003/B5

    前面 右FC6003/B4

    超音波センサ センサ選択 左FC6151/B1"0" B0"0"
    出力
    センサ選択 右FC6151/B1"0" B0"1"
    出力
    カウント値 上位FC616F/B7 - B0

    カウント値 中位FC6171/B7 - B0

    カウント値 下位FC6173/B7 - B0

    側面バンパ型タッチセンサ FC6153/B7

    FC6153/B6

    前面バンパ型タッチセンサ 左側 左FC6153/B5

    左側 中FC6153/B4

    左側 右FC6153/B3

    右側 左FC6153/B2

    右側 中FC6153/B1

    右側 右FC6153/B0

ソフトウェア構成

  1. 動作モード

    * 図および表中で使用される略語
    TS タッチセンサ
    USS 超音波センサ
    RE ロータリーエンコーダ
    フラグ1 移動モードの経由を示すフラグ(経由"1" 非経由"0")
    フラグ2 競技場の往復を示すフラグ(往路"1" 復路"0")
    前進データ 前進移動分距離データ


    図2.状態遷移図 GIF形式
    (拡大図 seni.gif

    状態遷移表
    移動元/移動先 待機モード 初期設定モード ポスト探索モード 移動モード ポスト獲得モード 障害回避モード 中間設定モード
    待機モード スタートスイッチON
    /
    × × × × ×
    初期設定モード × 移動終了後
    /フラグ2 "1"
    × × × ×
    ポスト探索モード TSに反応あり&壁と判断
    &フラグ2"0"
    /
    × USSに反応あり
    /USS距離データ、前進データ
    フラグ1"1"
    TSに反応あり&ポストと判断
    /TSデータ、前進データ
    フラグ1"0"
    × TSに反応あり&壁と判断
    &フラグ2"1"
    /
    移動モード × × 一定距離進んだ
    /
    TSに反応あり&目標と判断
    /TSデータ
    TSに反応あり&障害物と判断
    /TSデータ、前進データ
    ×
    ポスト獲得モード × × × ポストを1周した&フラグ1"1"
    /
    ポストを1周した&フラグ1"0"
    /
    ×
    障害回避モード × × 障害物回避後&フラグ1"0"
    /前進データ
    障害物回避後&フラグ1"1"
    /前進データ
    × ×
    中間設定モード × × 移動終了後
    /フラグ2"0"
    × × ×

    モードの定義

    1. 待機モード:電源を入れた後、スタートスイッチが押されるまで待機する。また、全動作終了後もこのモードに戻る。

    2. 初期設定モード:ポスト探索モードを競技場内A、Bの(図1参照)どちらからスタートさせるかをDIPスイッチにより決め、そこまで移動する。

    3. ポスト探索モード:直進しながらマシン右側の超音波センサとマシン前部のタッチセンサによりポストを探索する。超音波センサに反応があった場合は距離データを保存して右に90度向きを変え、タッチセンサに反応があった場合は壁までの距離とロータリーエンコーダの値から計算した距離データを比較し、ぶつかった物がポストか壁かを判断する。

    4. 移動モード:ポスト探索モード時のマシンの進行方向をY軸、進行方向に垂直な向きをX軸とした時、ポストまでのX軸の移動をマシン前方についているタッチセンサに反応があるまで行う。タッチセンサに反応があった場合、先ほどとった超音波センサの距離データとロータリーエンコーダの値から計算した距離データを比較し、ぶつかった物がポストか障害物かを判断する。

    5. ポスト獲得モード:目標のポスト発見後、タッチセンサのデータによりポストの中心を決定する。求めたポストの中心のまわりを時計回りの円軌道を描きながら移動しマシンの右の赤外線センサによりスイッチを探す。赤外線センサに反応があった場合マシンを右に90度向きを変えてスイッチを押下し、確実に押されたかどうかをマシン前部の赤外線センサにより確認する。その後マシンを左に90度向きを変えて円軌道の開始位置に戻る。

    6. 障害物回避モード:反応があったタッチセンサからポストの中心を決定し、その中心がマシンの中心もしくは中心より右側だった場合は図1ように動く。またマシンの中心よりポストの中心が左側だったたら図2のように動く。距離A、もしくは距離Bの値を保存する。

    7. 中間設定モード:マシンが競技場を往復するために左端から右端まで移動する。

  2. リアルタイムモニタ
    MIRS用に開発されたMIRX68Kを使用する。

  3. タスク構成/機能

    図4.タスク構成図
    ポストスクリプト形式TGIF形式


    1. 低レベルタスク
      • task00:マンマシンインターフェースタスク
        BBに書かれているセンサ情報やシステムの状態をLEDに表示する。またDIPスイッチの状態をBBに書き込む。このタスクはタイマにより一定時間ごとに起動される。
      • task01:超音波センサタスク
        2つの超音波センサを順に動作させ距離情報をBBに書き込む。このタスクはポスト探索モード実行時に起動され、起動時は常時測定を行っている。超音波発信した後、タスクは開放され割り込み待ちになる。
      • task02:ロータリーエンコーダタスク
        r ロータリーエンコーダの値から、直進距離とポスト周りを移動した角度と姿勢角をそれぞれBBに書き込む。このタスクはタイマにより一定時間ごとに起動される。
      • task03:タッチセンサタスク
        タッチセンサ割り込みが入るごとに、センサ状態を読み取りBBに書き込む。
      • task04:PWMモータ駆動タスク
        タスク起動後にBBに書き込まれている左右車輪の速度データをPWM回路に書き込む。
    2. 高レベルタスク
      • task05:距離セットタスク
        タスク起動時に受け渡される右の超音波センサの距離データと前進移動分距離データを元にX軸、Y軸の残りの移動距離を決める。(ポスト探索モード時の進行方向をY方向、進行方向に垂直な方向をX方向とする。)
      • task06:方向修正タスク
        ポスト探索モード時に一定時間ごとに起動され、左の超音波センサからの距離データによりマシンの向きと壁との距離を修正する。
      • task07:ポスト獲得タスク
        このタスクは行動計画タスクによって起動され、ポスト獲得モードに従った行動を行う。また、このタスクはポスト周回時の位置修正を行う機能を内部に有する。
      • task08:障害物回避タスク
        このタスクは行動計画タスクによって起動され、タスク起動時に受け渡されるタッチセンサのデータによりポストの中心を特定し、障害回避モードにしたがった回避行動を行い、図1、2の距離A,BをBBに書き込む。
      • task09:センサ試験 タスク
        DIPスイッチの状態により各センサの状態を表示する試験機能か左右車輪の回転数と回転方向を独立に試験する機能を実行する。
      • task10:試験走行タスク
        DIPスイッチの状態により1辺1mの正方形をトレースする機能か半径1mの円をトレースする機能を実行する。
    3. メインタスク      
      • task11:行動計画タスク
        このタスクはMIRS9801システム全体の動作を管理する。またこのタスクは各モードへの遷移条件となる2つのフラグの管理を行う。

  4. マンマシンインターフェース
    マンマシンインタフェースとして以下の機能を具備すること。

  5. 試験機能
    下記の試験機能を有する。

システム試験

  1. システム試験概要
    システム試験はシステムの組立が完了した段階で、基本設計書の内容に適合しているかどうかを試験する。システム試験を実施する際には、各サブシステムで規定されるサブシステム試験に合格していなければならない。 試験は以下の項目について行われる。
  2. 試験内容
    下記仕様書による。
    MIR9801 サブシステム試験仕様書(MIRS9801-SOFT-1002
関連文書