沼津高専 電子制御工学科
MIRS0104 開発完了報告書
MIRS0104-MEMO-0003
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2003.2.14 森元 森元 初版

目次
  1. はじめに
  2. 開発過程
    1. 3年次

    2. 4年次

  3. 試験結果
    1. サブシステム試験
    2. システム試験(プレ競技会)
    3. 競技会
  4. 作業工数分析
    1. 作業別
    2. 月別
  5. 問題点の発生と分析
    1. メカニクス
    2. エレクトロニクス
    3. ソフトウェア
  6. 既知問題点
  7. まとめ
  1. はじめに これはMIRS0104の開発完了を示し、これまでの作業過程、作業工数を分析したものである。

  2. 開発過程 以下に開発計画と対比させた開発過程を示す。

    1. 3年次

      1. 開発項目開始(計画)終了(計画)開始(作業)終了(作業)
        システム計画書2001/12/112002/03/312001/12/112002/03/31
        調査(MIRSの各部について)2001/12/112001/12/182001/12/112001/12/18
        基本設計2002/01/082002/02/072002/01/082002/02/07
    2. 4年次

      1. 開発項目開始(計画)終了(計画)開始(作業)終了(作業)
        システム計画書改定2002/04/092002/04/302002/04/092002/04/30
        基本設計改定改定2002/04/092002/05/312002/04/092002/05/31
        詳細設計書(メカ)2002/04/232002/05/252002/04/232002/05/25
        詳細設計書(エレキ)2002/04/232002/05/252002/04/232002/05/25
        詳細設計書(ソフト)2002/04/232002/05/252002/04/232002/05/25
        製造(メカ)2002/07/092002/07/162002/07/092003/02/07
        製造(エレキ)2002/07/092002/07/162002/07/092003/02/07
        製造(ソフト)2002/07/092002/07/162002/07/092003/02/07
        ドキュメント整理(メカ)2003/02/072003/02/212003/02/072003/02/21
        ドキュメント整理(エレキ)2003/02/072003/02/212003/02/072003/02/21
        ドキュメント整理(ソフト)2003/02/072003/02/212003/02/072003/02/21
  3. 試験結果
    1. サブシステム試験

    2. システム試験(プレ競技会)

    3. 12/18のプレ競技会では、MIRS01唯一稼動する状態にしあげられた。しかし、ポストを取得することはできなかった。
      1/17の第2回プレ競技会では修正個所は多数修正されてはいたが、超音波センサの調子が悪く前回の競技会と同様程度の動作できないとの判断から参加を辞退し調整を続けた。
    4. 競技会

    5. 前日にOSの再インストールという事態に見舞われ加えて超音波センサがうまく動作しなくなる。
      試技では、超音波センサの反応がおかしいためポストに向かわなかったので棄権した。
      一回目の競技では、超音波センサの反応が悪いのに加えて競技場の接合部分にタイヤがひっかかり動けなくなってしまったため棄権した。
      二回目の競技でも、ほぼ一回目と変わらなかったが運良く向かった先にスイッチがありポスト取得をした。
      三回目(デモンストレーション)では、ポストに向かいはしたもののポストにはあたらず以後繰り返したため棄権した。
  4. 作業工数分析
    1. 作業別
      開発項目 工数(h)
      行動計画書 123
      調査(MIRSの各部について) 53.5
      基本設計 67.5
      行動計画書改定 25.5
      詳細設計書(メカ) 27
      詳細設計書(エレキ) 56
      詳細設計書(ソフト) 39
      製造(メカ) 136.5
      製造(エレキ) 424
      製造(ソフト) 709
      改善設計,改善(メカ) 22.5
      改善設計,改善(エレキ) 15
      改善設計,改善(ソフト) 80
      ドキュメント整理(メカ) 20
      ドキュメント整理(エレキ) 36.5
      ドキュメント整理(ソフト) 43

    2. 月別
      メカ工数(h)エレキ工数(h)ソフト工数(h)合計工数(h)
      4241522.561.5
      533.752528.587.25
      628.52030.579
      710.5141741.5
      897.59728222.5
      910.531.52163
      104.2560.528.593.25
      1111.575.2567.5154.25
      127107.5107221.5
      164.530.5406.5501.5
      21618.5180214.5
      合計308494.759371739.75
  5. 問題点の発生と分析
    1. メカニクス
      問題点原因解決策
      超音波センサでポストの正面をとることができない。 前面3つの超音波センサでポスト正面をとるつもりだったが、超音波センサの指向性が広すぎたため。 前面のタッチセンサを1つから5つに増やした。
      使用しない超音波センサができてしまった。 上記の問題で前面の超音波センサが1つでよくなったため。 超音波センサの数を5つから2つに変更した。
      MIRS本体に使用しないスペースが多くなった。 超音波センサ等の数が減ったため。 MIRS本体を4階から3階にした。
      超音波センサがうまく値をとれない。 超音波センサを奥に取り付けたため、上下の塩ビ板の壁に超音波が当ってしまう。 超音波センサを前方に取り付け、さらに前面上部の塩ビ板を削った。
      赤外線センサがうまく反応しない可能性がある。 ポストの赤外線発信部より赤外線センサの位置が高すぎる。 赤外線センサの設置方法を変えて高さを合わせた。
      ケーブルの長さが短すぎる、または長すぎる。 センサの取り付け位置が変わったり、MIRS本体が4階から3階になったりしたため。 ケーブルを作り直した。

    2. エレクトロニクス
      問題点 原因 解決策
      1 特定のFPGAのピンが使用できない ドーターボードとFPGAとの接続不良 別の空いているピンに配置を変えた
      2 急に落ちたりと電源が不安定 バッテリーのコネクタが固定できていなかった ハンダを用いて固定した
      3 赤外線センサが動作しない 素子の破損 素子を取り替えた
      4 ドーターボードの基板の一部に、本来とは違う信号が来ていた ドーターボードの削りミス 導通してはいけない部分を削った
      5 白線センサが動作しなかった 白線センサの信号線にプルアップ抵抗を接続していなかった プルアップ抵抗を接続した
      6 テストプログラムを実行してもモーターが動かない MPCボードのPCBデータが間違っていた 正しいデータを用いて削りなおした
      7 超音波センサが複数同時に動かない FPGA回路が間違っていて、受信側のセレクタを作っていなかった セレクタを回路に追加した
      8 ロータリエンコーダが正しい値を返さない ケーブルの接触不良 ケーブルを作りなおした

    3. ソフトウェア
      問題点
      原因
      解決策
      超音波センサの角度特性が悪い
      超音波センサの仕様
      エッジ判定をし、両端で取るようにした
      超音波センサの角度特性が安定しない
      超音波センサの仕様
      前述の解決策でもうまくいかなかったため、発見した方向に進んで、あるはずの距離になかった場合は再探索を行うようにした。
      赤外線センサの値を移動しながら確定できない 赤外線センサ、ポストの仕様 検出した時点で値が確定するまで停止するようにした。
      ポストをきれいに回れない(ポストにぶつかる) パラメータ調整不足、及び工作室の床が傾いていたため 余裕を持ったパラメータ調整を行い、ぶつかった時点で角度を再調整するようにした。
      Disk On Module(以下DOM)の容量が足りない DOMの仕様 不要なファイルを消し、MIRS自体には実行ファイル程度しか載せないようにした。
      ポートに入出力を行うと、各機器が異常な動作となる。 DOMの破損 DOMを交換した。
  6. 既知問題点
  7. まとめ
      メカ:
      様々な問題等をよく考えて設計し、その設計のまま完璧に作り上げたつもりだったが、実際に走らせてみることによって多くの問題点が見えてきてしまった。設計の前段階の調査が不完全であったと思う。特に超音波センサの指向性の広さに思った以上に悩まされ、最終的にセンサの数の変更や、MIRS本体の階を減らすなどの大幅な変更をしなければならなくなってしまった。開発を進めていくにあたり、多少の問題が発生することは当然のことだとは思うが、これほど多くの問題が起こるとは思っていなかった。設計の難しさと重要性を実感した。
      さらに、はじめはメカのメンバーは4人であったが、2人途中で学校を退学したため、最終的に2人で作ることになったため、苦労も多くなったが頑張ったと思う。

      エレキ:
       超音波センサの指向特性が、当初想定していたものと大幅に違った。 これは実際にMIRSに超音波センサを搭載、動作させてみて始めて分かった事である。 エレキの基板作成、FPGAデータ作成が完了しなければ分からなかった問題であり 我々MIRS0104の行動計画の根幹である「超音波センサでポストを発見、 座標を記録する」という動作に問題が生じた。 記録した座標が実際とは全然違うものとなってしまったのである。  エレキの仕事が遅れた為にこの問題の発覚が遅れ、 ソフトに「迷惑」という言葉では済まない、 「行動計画、一からの立てなおし」を迫らねばならなかった。  これによりそれまで完成していた行動プログラムをほぼ全て破棄、代替案もなかなか良い物が浮かばず、 競技会が迫って来たため仕方なく一時凌ぎの行動プログラムを作成。 しかし結局その「一時凌ぎ」で競技会を迎える事になってしまった。(競技会前日、DOMが破損した事を付け加えておく)    そして結果は惨憺たる物であった。  「もっと早くエレキが完成していれば、もっと早く解決策を考えられれば…」と強く思う。 このMIRS製作で思い知ったのは、上記のように「実際にやってみなければ分からない問題」の存在である。 もしこれを見る後輩がいたならば、そういう事があるという事を心に留めておいてほしい。 できれば第2、第3の代替案を、無駄になってもいいから是非、構想しておく事をお勧めする。    願わくば、我々と同じ失敗をしないよう、同じ後悔をしないよう…

      ソフト:

      プログラムを実際に作成する作業は殆どの部分を1人で行ったが、それは基本設計の時点でMIRSのソフトウェア開発は簡単なものだと判断したためである。果たしてその判断は正しかったと思うが、他のソフトのメンバーの作業がソフトウェア作成よりも雑用に傾いてしまったのは失策であった。ソフトに割り振る人数を少なくしても構わないとの判断を強行したほうが良かったと思われる。

      他の班が苦労していたデバイスドライバ周りは、atlmirsのプログラムがあまりに読みづらかったため全て破棄し、1から作り直すことにした。Linuxのデバイスドライバに関して事前に調査しており、エレキ担当と相談することでソフトとしては非常に扱いやすかった。

      また、モジュール以外の部分を C++ で開発したことにより、見通しも利便性も高いものになった。ここはMIRS0104ソフトとして非常に自信を持っている部分である。

      基本計画での行動は、ソフトウェア製作にあたって分岐の少ないものを選んだ。座標をほとんど使わなくても済むようにして、例外処理を最小にしたつもりである。

      しかし、予想以上に超音波センサの角度特性が悪く、極座標系からデカルト座標系へ変換する操作に誤差が出過ぎることが判明した。そのため最終的には更に簡単な、座標変換を行わなくても済むプログラムに変更した。作業時間の殆どはこの作業に費やされている。

      総じてソフトウェアとしてはデバイスドライバは成功し、メインプログラムで失敗した。原因は超音波センサについての調査不足であった。

      マネージャ:

      マネージャという仕事を約1年半の間やってきたが、僕から見てだいたいみんなメカ・エレキ・ソフトの自分の担当の仕事をしっかりやっていて、班員のまとまりはそれほど悪くなかったと思います。
      実際にMIRSを動かしてみることで様々な問題が起こり、それぞれが自分の担当の仕事をこなすだけでなく、他の担当との連絡をしあうことも大切だということを実感しました。
      みんな残業や徹夜、休日登校などもしながら、MIRS完成に向けてよく頑張りました。
      結果は思ったより良いものとはならなかったかもしれないですが、この苦労は無駄にはならないと思います。
      苦労も多かったですが、楽しかったとも思います。
      約1年半お疲れ様でした。

      終わりに・・・
      これをもって、1年半取り組んできた、MIRS0104の全行程を終了することを宣言する。


関連文書