沼津高専 電子制御工学科
MIRS0202基本設計書
MIRS0202-DSGN-0003
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2003.1.22 岩城 山田 初版(MIRS02SF-CURR-0009を改訂)
A02 2003.2.12 岩城 山田 修正点の更新

目次

  1. はじめに
  2. システム概要
    1. ハードウェア
    2. ソフトウェア
    3. 競技会行動計画
  3. 諸元
       
    1. 外観
    2. 機能性能
  4. ハードウェア構成
    1. ハードウエア構成ツリー
    2. エレクトロニクス回路構成/機能
    3. エレクトロニクス回路基板外形
    4. ソフトウェアビジビリティ
  5. ソフトウェア構成
    1. ATL-MIRS 標準 ライブラリ
    2. 動作モードとその遷移
    3. モジュール定義
    4. モードの構成要素
    5. 試験機能
  6. システム試験
    1. システム試験概要
    2. システム試験詳細

1 はじめに

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

2 システム概要

  1. ハードウェア

    MIRS0202システムのハードウェアは、標準MIRS(注1)とはMIRS0202の機能を実現するために仕様が異なっている部分がある。異なっている部分を以下に述べる。

  2. ソフトウェア

    RT-Linux (Ver.2.3) を OS とし、Linux のユーザプロセスとして行動制御プログラムを起動する。
    赤外線センサ、タッチセンサからの入力は、行動制御プログラムから、定期的にドライバを呼び出すことにより監視する。
    走行系の制御と超音波センサの制御は、RTータスクによって行い、RT-FIFO を介して必要なデータ通信を行う。

    プログラムは、C 言語でコーディングする。   
    MIRSの移動量は、LinuxのAPIをコールすることにより検出する。

  3. 競技会行動計画
    1. まず競技開始位置から後退し、白線を感知したら、そこの座標を(0,0)とする。
    2. 白線の外へ出ないように一定の距離をおいて競技場を時計回りに走行する。 ・1周目ではポストの位置を確認し、ポストの位置まで行き、赤外線の番号を確認する。2周目で獲得しに行く。
    3. 右の超音波センサによりポストの探索を行う。
    4. 赤外線の番号確認及びポスト獲得時は、ポストを時計回りに円運動しつつ、右の赤外光検出センサによりスイッチを発見する。   
    5. ポストを回っている時、左の超音波センサで奥に他のポストがないかを確認する。
    6. 番号を確認ししだい、ルートへの復帰を行う。
    7. 超音波測距センサとロータリエンコーダによって一度獲得したポストかどうかの判断を行う。
    8. 早さよりも確実性を重視した行動を目標とする。

    行動計画の詳細は、行動計画提案書に記載されている。

3 諸元

  1. 外観

    下に本システムの外観を示す。図中の数字の単位はmmである。
    MIRS0202外観図
    mirsbody :超音波センサ

    :赤外線センサ

    :白線センサ

    :タッチセンサ

    :ロータリーエンコーダ

  2. 機能性能

4 ハードウェア構成

  1. ハードウェア構成ツリー

    下記にハードウェアの構成を示す。

    MIRS0202製造仕様書
    ├MIRS0202組立図
    │  ├ケーブル接続図
    │  ├電池ホルダ
    │  ├取付金具
    │  ├ネジ類
    │  ├第1階層組立図
    │  │  ├シャーシフレーム
    │  │  ├モーターx2
    │  │  ├モーター取付金具x2
    │  │  ├可逆モータパワー変換ボード
    │  │  ├タッチセンサ・ロータリエンコーダケーブル
    │  │  │  ├マイクロスイッチx2
    │  │  │  ├コネクタ類
    │  │  │  ├ケーブル類
    │  │  │  └ケーブル検査仕様書
    │  │  ├ロータリエンコーダ
    │  │  ├前面タッチセンサ機構部
    │  │  ├前方バンパ機構部
    │  │  ├フォトインタラプタ回路基板
    │  │  │  └白線探知赤外線センサ
    │  │  ├取り付け金具・ネジ類
    │  │  └シャーシフレーム試験仕様書
    │  ├第2階層組立図
    │  │  ├赤外線センサ基盤
    │  │  │ └赤外線センサ
    │  │  └取り付け金具・ネジ類
    │  ├第3階層組立図(ISAラック)
    │  │  ├CPUボード
    │  │  │  └フラッシュディスク
    │  │  ├PICボード
    │  │  │  └シリアルケーブル
    │  │  ├FPGAボード
    │  │  │  └ドータボード
    │  │  ├電源制御基板
    │  │  ├ISAラック部ケーブル接続図
    │  │  │  ├コネクタ類
    │  │  │  ├ケーブル類
    │  │  │  └ケーブル検査仕様書
    │  │  └取り付け金具・ネジ類
    │  └第4階層組立図
    │     ├超音波センサ基盤
    │     │ └超音波センサ
    │     ├テンキー
    │     ├液晶ディスプレイボード
    │     └取り付け金具・ネジ類
    ├電池
    ├MIRS0202システム試験仕様書
    ├MIRS0202取扱説明書
    │
    └ソフトウェア
      ├FPGA回路データ
      │  ├インストール手順書
      │  └取扱説明書
      ├行動制御プログラム
      │  ├インストール手順書
      │  └取扱説明書
      └PICコントロール用プログラム
         ├CPUボード側
         └PICボード側
    

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


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

    各部の機能
    1. CPU ボード部 (CPU)
      CPUボードの仕様
      • 名称 AT-461VREP
      • CPU AMD486DX5-133(SQFP)
      • CLOCK 133MHz
      • 外形寸法 185mm x 122mm
      • 販売元 日本データシステム株式会社

    2. FPGA ボード部 (FPGA)
      FPGAボードを使って以下の機能を実現する。
      • タッチセンサ信号の処理
      • パワーオン信号の処理
      • 白線感知センサ信号の処理
      • ロータリーエンコーダ信号の処理
      • 液晶表示ディスプレイ制御信号の処理
      • モータパワー制御信号の処理
      • ハードウェア割り込み処理
      • 上記の各入出力機能の制御

    3. PIC ボード部 (PIC)
      PICボードを使って以下の機能を実現する。
      • 赤外線センサ信号の処理
      • 超音波センサ信号の処理
      • 上記の各入出力機能の制御
          各センサにはPIC16F84を使い(各センサ一つずつ計2個)、 それらの信号を統括用にPIC18F87X(USART有、1個)を使い CPUボードのシリアルポートで通信する。
          シリアル通信の仕様は
          ・UART 19.2kbps
          ・8バイトずつ送信
          詳細についてはソフトウエアビジビリティで述べる。

    4. 超音波センサ
      送信信号により超音波を発信し、その超音波の受信により受信信号を距離のデータにして出力する。
      MIRSにおいて、ポストの検知・距離測定するセンサ。

    5. 赤外線センサ
      赤外線センサ回路は赤外線の受光状態を2つの値(反応有り,無し)で得るようになる。この回路は赤外線センサの受光素子から送られてくるH 又は Lの信号を処理し、信号に状態変化が起きたときにそのポストの番号がデータに変換された信号をCPUに送る機能を有する。

    6. ドータボード部 (DB)
      MIRS0101ではドーターボードを使って以下の機能を実現する。
      • ドーターボードを通してFPGAボードにつながる各基板に電源(5V GND)を供給する。
      • 液晶ディスプレイボードのコントラストアドジャストを行う。
      • タッチセンサ(マイクロスイッチ)から入力されるスイッチ入力のチャタリング除去を行う。
      • FPGAボードから送られてくるモーターパワー制御信号を用いて、モーターパワー制御ボードのフォトカプラを動作させる。
      • 電源ボードから送られてくる駆動系電源ON信号からパワーオン信号を作ってFPGAボードに出力する。
    7. 液晶ディスプレイ部(LCD)
      液晶ディスプレイ(LCD)はMIRSの状態を表示するためのものである。
      FPGAボードの液晶ディスプレイ制御モジュールはLCDの制御を行うためのもので、FPGAボード内のFPGAチップに構成される。

    8. ロータリーエンコーダ
      タイヤの回転数をパルスにして、回転子の回転数&速度の検出を行う。 仕組みはLEDの光を、スリットで通過、遮断させ、それを受光素子で検出後、信号にする カウンタ回路はカウンタ(15bit)と方向判別(1bit)の両方を兼ね備えている。
      製品にコネクタを接続し、タイヤの回転数(アナログ量)をパルス数(デジタル量)に変換する機能がある。MIRSでは最も一般的な光電式を使用する。ロータリーエンコーダは、回転軸の回転速度に比例した、互いに90°位相の異なる2相の近似正弦波を出力しているもので、2相の位相関係から回転方向が判別できる。他に、2相の信号をカウントして回転数を求めることができる。
      一般的なロータリーエンコーダの使用方法は、回転子の回転数の検出、 更に、回転子の速度の検出である。

    9. タッチセンサ
      マイクロスイッチを用い、スイッチ押下時のチャタリングを除去した信号を送る。
      ポストに衝突した場合、MIRSがポストの中心を割り出すのにこれを使用する。

    10. 白線感知センサ
      白線感知センサ回路は状態を2つの値(反応有り,無し)で得るようになる。この回路は白線感知センサの受光素子から送られてくる”H ”又は” L ”の信号を処理し、信号に状態変化が起きたときに割り込み要求信号をCPUに送る機能を有する。

    11. PWM回路
      PWM回路では、モータを制御する信号であるPWM信号を作り出し、方向データとともに出力する。速度データとカウンタのカウント値との比較によりPWM信号を形成する、この信号のDuty比は0%から100%で、これを128段階に分けている。

    12. モータ
      MIRS本体の駆動部分。ここの回転によりMIRSを動かす。
      DCモータは、電源から供給される電力に応じて回転力を発生する電気エネルギー → 機械エネルギ変換器である。一般的に言う直流モーターであり、直流電源で回すことができる。
      モータはPWM制御部からのパルスによってエネルギーを供給されることにより動作する。このパルス幅を変調することによってモーターへの供給エネルギーを調整し、モータの回転数を調節することが出来る。

    13. 電源ボード
      電源制御ボードは、主に2つの機能を持つ。
      1.各ボードの電源として+5Vの電圧を出力する。
      2.非常停止スイッチ用コネクタにより、モーターの電源のみをカットする事を可能にする。

       
  3. エレクトロニクス回路基板外形

    1. 下記については標準MIRS基板を使用するので MIRS データベースを参照すること。

    2. ドータボード
      • FPGA の20pin ジャンパコネクタに接続したとき、ISA ラックに収納可能なこと。
      • I/O 接続コネクタが ISA ラックの外に出て、ケーブルの取外しが容易であること。ただし、不必要にラックの外に飛び出さないこと。
      • ボード外形は詳細設計で示す。

    3. PICボード

  4. ソフトウェアビジビリティ
    本システムのソフトウェアビジビリティはATL-MIRSソフトウェアビジビリティ(暫定版)の仕様と 本システムの標準MIRS以外のソフトウェアビジビリティ(暫定版)ATL-MIRS99

    5 ソフトウェア構成

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

      ATL-MIRS用に開発された標準ライブラリを使用する。
      ATL-MIRS 標準 ライブラリユーザマニュアル (現在作成中)
      参考 MIRSATLM ソフト ウェア仕様書

    2. 動作モードとその遷移

      • 動作モード

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

        1. 待機モード
          メインプログラムを立ち上げ、スタートスイッチが押されるまでの待機状態に入る。
        2. 初期動作モード
          スタート位置から後退し、白線を感知したところで止まる。その地点の座標を[0,0]に設定する。
        3. 白線上移動モード
           センサで白線を感知しながら、白線上を直進する。
          角まできたら右に90°回転し、競技場を一周するまで直進を続ける。
           1回目と3回目の角を曲がったら、直進しながら超音波センサを用いてポストの探索を行う。
          ポストを発見、または競技場を一周したら「ポスト接近モード」に遷移する。
        4. ポスト接近モード
           現在位置からポストへの角度を求める。その方向に回転したら、ポストに接近する。
          このとき前方の赤外線センサが、赤外線を感知した場合は、スイッチを押さないようポストから一定距離離れて止まる。
          感知しなければそのままポストにぶつかる。
           ポストの中心が分かったら、ポストから15cm離れた場所で、左に90°回転する。
        5. ポスト周回モード
           ポストが発信する赤外線を探しながら、ポストを周回する。
          感知した赤外線が、獲得するべき番号ならば「獲得モード」へ遷移。
            半周した所で、反対側にポストがあるかどうかを超音波センサを用いて調べる。
        6. ポスト獲得モード
          前進してポストに接触し,ポストのスイッチを押す。後退してポストから15cm離れ、赤外線が消えていることを確認する。
              
        7. 終了処理モード
          全ポスト獲得後にディスクへポストの位置の記憶するなどの終了処理を行う。
        8. 試験モード
          各モードを単独で実行する。

      • モード遷移図
      • モード遷移
        遷移前\遷移後 待機モード 初期動作モード 白線上移動モード ポスト接近モード ポスト周回モード ポスト獲得モード 終了処理モード 試験モード
        待機モード - スタートスイッチ入力 × × × × × 10キー入力
        初期動作モード 停止スイッチ押下 - 1回目の競技にて
        座標[0,0]を設定
        2回目の競技にて
        座標[0,0]を設定
        × × × ×
        白線上移動モード 停止スイッチ押下 × - ポストを発見した
        競技場を一周した
        × × × ×
        ポスト接近モード 停止スイッチ押下 × × - ポストの座標を確認 × × ×
        ポスト周回モード 停止スイッチ押下 × ポストを一周した
        競技場を一周していない
        反対側にポストがある - 獲得すべきポストである × ×
        ポスト獲得モード 停止スイッチ押下 × × × ポストを獲得した
        まだ獲得すべきポストが残っている
        - すべてのポストを獲得した ×
        終了処理モード 停止スイッチ押下 or
        終了処理終了
        × × × × × - ×
        試験モード 停止スイッチ押下 or
        試験走行終了
        × × × × × × -

    3. モジュール定義

      • 初期動作モジュール
        :定義:スタート後白線まで後退し、白線を感知したら座標を(0,0)として、十数cm前進、90°左回転する。
      • 座標認識モジュール
        :定義:ミルスの現在位置を、座標で常に把握する。
      • 直線移動モジュール
        :定義:白線に沿って角まで移動し、90°回転し位置の補正をする。
      • 直進補正モジュール
        :定義:白線上を移動中に、ミルスが白線からずれてしまった場合、白線上に復帰する。
      • ポスト探索モジュール
        :定義:白線上を移動中に、右側の超音波センサでポストの有無と距離を測定する。
      • ポスト接近モジュール
        :定義:ポストの方向に直進、接近する。
         途中、別のポストがあればポスト回避モジュールへ移行。
         目的ポストに前面部タッチセンサが反応するまで前進する。
         その後中心を得てから数cm後進、90°左回転。
          直進する途中で赤外線を受信したらポスト接近特別モジュールへと入る。
      • ポスト接近特別モジュール
        :定義:超音波センサを用いてポストから15cmのところまで接近する。
      • ポスト周回モジュール
        :定義:一定の距離を保ちながら、ポストの周りを周回する。
         その間に赤外線を感知したら番号を識別。とるべき番号であれば獲得モジュールへ移行する。
         回転し始めた場所へ帰ってきたら90°右回転する。
         競技場一周目ならばルート復帰モジュールへ移行する。
         二周目ならばポスト方向回転モジュールへ移行。
      • ポスト獲得モジュール
        :定義:右に90°回転し、ポストにぶつかるまで進みスイッチを押す。
         少し後退して赤外線が消えたことを確認したら、周回上の軌道まで戻り、左に90°回転してポスト周回モジュールに戻る。
      • ルート復帰モジュール
        :定義:一周目でポストの裏に別のポストを発見していたら、ポスト方向回転モジュールへ移行。
         なければ左に回転して、ポストから白線に向かって直進。
         白線を感知したら十数cm後進、90°右回転する。
      • ポスト方向回転モジュール
        :定義:次に向かうべきポストの位置を判断しポスト方向に回転する。
      • ポスト回避モジュール
        :定義:ポスト移動モジュール中に進行方向前方に別のポストがあったとき回避する。
      • 場外防止モジュール
        :定義:白線に沿って直進中に、競技場の角に達して白線センサが反応したら、数cm後進して調整する。

       以上のモジュールのほかに、新規作成するAPIを示す。

    4. 白線センサ API
    5. 超音波センサ API
    6. 赤外線センサ API

    7. モードの構成要素

      1. 待機モード
      2. 初期動作モード
        ・初期動作モジュール、PWM/エンコーダ API、白線センサ API
      3. 白線上移動モード
        ・直線移動モジュール、座標認識モジュール、直進補正モジュール、ポスト探索モジュール、場外防止モジュール、PWM/エンコーダ API、白線センサ API、超音波センサ API
      4. ポスト接近モード
        ・ポスト接近モジュール、ポスト接近特別モジュール、座標認識モジュール、ポスト回避モジュール、PWM/エンコーダ API、超音波センサ API、赤外線センサ API
      5. ポスト周回モード
        ・ポスト周回モジュール、ルート復帰モジュール、座標認識モジュール、PWM/エンコーダ API、超音波センサ API、赤外線センサ API
      6. ポスト獲得モード
        ・ポスト獲得モジュール、PWM/エンコーダ API、超音波センサ API、赤外線センサ API
      7. 終了処理モード
      8. 試験モード
        各モードを単独で実行する。

    8. 試験機能

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

      • 各センサの状態を表示する機能。
      • 左右車輪の回転数と回転方向を独立に試験する機能。
      • 一辺1mの正方形をトレースする機能。
      • 半径1mの円をトレースする機能。

    6 システム試験

    1. システム試験概要

      システム試験はシステムの組立が完了した段階で、基本設計書の内容に適合しているかどうかを試験する。システム試験を実施する際には、各サブシステムで規定されるサブシステム試験に合格していなければならない。 試験は以下の項目について行われる。

      • 外形試験
        ・規定寸法に収まっているか(設計寸法とあっているか)

      • センサ機能試験
        ・超音波センサの精度、誤差の測定(実際に搭載してみる)
        ・赤外線センサの精度、誤差の測定(実際に搭載してみる)
        ・白線センサの精度、誤差の測定(実際に搭載してみる)
        ・ロータリエンコーダの精度、誤差の測定(実際に搭載してみる)
        ・タッチセンサの耐衝撃試験(実際に搭載してみる)

      • 規定走行試験
        ・任意の位置にあるポストを獲得できるか
        ・競技規定に反する点がないか

      • 競技プログラム試験
        ・プログラムに誤り、欠点がないか確認する(各モジュールごとで試験してみる)

    2. システム試験詳細

      システム試験の詳細は、試験仕様書に記載される。

    MIRS0202システム試験仕様書
関連文書