沼津高専 電子制御工学科
MIRS0202 開発完了報告書
MIRS0202-MEMO-0002
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2004.2.25 岩城 山田 初版

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

    2. 4年次

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

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

    1. 3年次

      1. 開発項目開始(計画)終了(計画)開始(作業)終了(作業)
        行動計画2002.10.252002.11.272002.10.232002.11.27
        技術調査2002.12.122002.12.172002.12.102002.12.18
        基本設計2002.12.182003.2.122003.1.82003.2.12
    2. 4年次

      1. 開発項目開始(計画)終了(計画)開始(作業)終了(作業)
        詳細設計2003.4.222003.5.302003.4.222003.5.27
        設計2003.6.10 2003.6.27 2003.6.17 2003.7.7
        サブシステム製造2003.7.1 2003.8.31 2003.7.25 2003.9.19
        サブシステム試験2003.9.22003.9.302003.10.3 2002.11.28
        システム製造2003.10.3 2003.12.19 2003.12.8 2003.12.18
        改善2004.1.9 2004.2.62004.1.9 2004.2.6

  3. 試験結果
    1. エレクトロニクスシステム試験

    2. システム統合試験

  4. 作業工数分析
    1. 作業別
      開発項目工数(h)
      行動計画書117.5
      技術調査97.0
      基本設計84.5
      詳細設計書(メカ)51.5
      詳細設計書(エレキ)78.0
      詳細設計書(ソフト)84.5
      製造(メカ)153.5
      製造(エレキ)486.5
      製造(ソフト)521.0
      改善設計,改善(メカ)37.5
      改善設計,改善(エレキ)169.0
      改善設計,改善(ソフト)342.0
    2. 月別
      メカ工数(h)エレキ工数(h)ソフト工数(h)合計工数(h)
      427.022.06.055.0
      554.047.058.5159.5
      627.027.527.081.5
      795.5136.0115.5347.0
      80.05.00.05.0
      916.533.034.083.5
      101.568.544.5114.5
      115.0193.0172.0370.0
      1222.0141.0264.0427.0
      17.5138.5193.0339.0
      21.576.594.0172.0
      合計257.5888.01008.52154.0
  5. 問題点の発生と分析
    1. メカニクス
      問題点原因解決策
      補助輪が引っかかる補助輪をとめるためのねじが長すぎたねじを短くした。
      タッチセンサが反応しないバンパーがタッチセンサに合わなかったバンパーとタッチセンサの間にクッションをはさんだ
      バッテリーがホルダーに入らないホルダーが小さすぎた大きく作り直した。
    2. エレクトロニクス
      問題点 原因 解決策
      PICが動かない MCRLピンが'L'になっていた PICボードに10kΩ抵抗をいれプルアップした
      超音波センサの信号を受信できない1 オペアンプICが壊れていた ICを交換した
      超音波センサの信号を受信できない2 受信許可のピンの極性が逆だった プログラムで'H'と'L'の変更をした
      赤外線センサが二つ同時に動かない 5Vが安定していなかった コネクタの近くの5VとGNDの間にコンデンサを入れた
      LCDが動かない1 電源が逆につながっていた 配線を変更した
      LCDが動かない2 LCDの初期設定に不備があった 初期設定をするようにプログラムを修正した
      シリアル通信ができない '0x0A'というコードが必要であった 送信の最後のそのコードを送信するようにした
      ロータリーエンコーダのカウント値が正反対 FPGAの回路の出力が反対だった。 FPGAの回路を修正した。
      タッチセンサ、白線センサが動かない。 ドーターボードにICが刺さってなかった
      ドーターボードの回路に問題があった。(Vccがうまくつながっていなかった。) ドーターボードとFPGAボードがうまく接続されていなかった。
      はんだ付けが甘かった。
      要所ごとにチェックし、ドーターボードをFPGAボードにねじ止めできるように工夫した。

    3. ソフトウェア
      問題点 原因 解決策
      ネットワークに繋がらない。 デフォルトの超音波センサのRTカーネルモジュールで NIC が本来使用すべき IRQ が使用されていた。
      我が班ではFPGAで超音波センサを制御しないため、超音波センサのRTカーネルモジュールを起動時に取り込まないようにした。
      直進しない。 左右のモータの回転に対する抵抗が違い,同じDuty比でも回転数が違ってたため。
      フィードバックをかけ,左右共に同じ回転数になるようにした。
      超音波センサからの値ポストを発見しようとすると何もないところで反応する。 白線センサを用いて直進補正をかける際、超音波センサとポストとの距離がいきなり変わってしまうため。
      白線センサを用いて直進補正をかけずに、pwm_moduleで直進性を高めて白線センサで直進補正をかけないようにした。
      起動中にフリーズする。 プログラムの実行中にプログラムが無限ループに陥り、当時、MIRSにリモートアクセスしてコンパイル・実行をいなかったため、printk で出力された文字が画面を埋め尽くしてしまい kill で強制終了することができず、電源を落としていたところ、ファイルシステムが破壊されてしまったため。
      MIRSを再インストールした。
      MIRSにリモートアクセスしてコンパイル・実行・プログラムの強制終了をするようにした。
      MIRS にリモートアクセスすることができない。 フラッシュメモリにディスクイメージを転送した際、IPアドレス及びホスト名が書き変わっていたため。
      /etc/sysconfig/network 及び
      /etc/sysconfig/network-scripts/ifcfg-eth0 の値を正規の割り振られている値に書き換えた。
      コンパイルができない。 フラッシュメモリの容量が不足していたため。
      すでにコンパイルが終わったソースはフラッシュメモリの中から消去した。
      logをすべて消去した。
      行動プログラムを実行しているときにフリーズする。 シリアル通信をする際、データを送信と受信、別々にデバイスファイルをオープン、クローズしていたところメモリを多量に消費してしまうようである。
      データを送受信するときデバイスファイルファイルを別々に開かずにデバイスファイルを開くときのモードを変更した。
      行動プログラムを実行しているときにフリーズする。 デバイスファイルで printk を使用するとメモリが不足しているようである。
      printk をできるだけ使用しないようにした。

    4. システム
      • 超音波センサの指向性が大きすぎる。
      • 個々の部品は非常によくできているが、統合がうまくいかない。
  6. 既知問題点
  7. まとめ
    1. メカニクス
       メカ的には標準MIRSどおりなので、特に苦労したというようなことはなかった。問題点も大きなものではなかったからか、すぐに改善できた。しかし競技会ではバッテリーをバッテリーホルダではなく、ISAラックの上に置いておこなった。その方が走行したときのバランスがいいようだったが、設計の段階からもっと重心のバランスを考えるべきだったと思う。

    2. エレクトロニクス
       ここのパーツはとてもスムーズに製作することができたのだが、統合したときにさまざまな不具合がおき、その対処に手間取ってしまった。ソフトとエレキの連携がうまく取れず、時間がかなりかかってしまった。ドキュメントの理解もあまりしなかったため、後半でそのしわ寄せがきて、作業が遅れてしまった。結局すべてを使用することができず、個々では動いているのに使えなくなってしまったものが多く出てきてしまった。できればこれらのパーツを組み込んだMIRSをくみ上げたい。

    3. ソフト
       主にデバイスドライバ、RTカーネルモジュールのソースはデフォルトの物を使用しようと考えていたのだが、結局不具合が生じほとんど作り直すことになってしまった。また、直進補正をかけるプログラムに時間がかかりすぎ、行動プログラムを作り込む時間が不足してしまった。もっとも大切な作り込みの時期に倒れてしまい、それまでの間、非常に癖のあるソースを書いていたため、皆に多大な迷惑をかけてしまった。また、詳細設計の段階で、ソフトウェアを曖昧に設計してしまったため当初の設計通りに開発を進めることができなかった。また、ソフトウェアを主に担当した個人個人のスキルにあった仕事をうまく割り振れなかったことは非常に反省したい。

    4. 全体
       製作の段階から作業がどんどん遅れてきて、最後の作りこみがあまりできなかった。競技会では2回の競技で合わせて1つしかポストを獲得できず、4位に終わってしまったのが残念だった。


関連文書