沼津高専 電子制御工学科
MIRS0005 開発完了報告書
MIRS0005-DSGN-0006
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2002.2.15 大石
金武
杉村
  初版

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

    2. 4年次

  3. 試験結果
    1. Mechanics System試験報告書
    2. I/O試験報告書
  4. 作業工数分析
    1. 3年次
    2. 4年次
    3. 4年次月毎作業時間
  5. 問題点の発生と分析
    1. メカニクス
    2. エレクトロニクス
    3. ソフトウェア・システム
  6. 既知問題点
  7. まとめ
  1. はじめに

    本ドキュメントはMIRS0005のMIRS開発を終えて、これまでの開発過程、作業工数、問題点などをまとめたものである。

  2. 開発過程

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

    1. 3年次

      1. 開発項目開始(計画)終了(計画)開始(作業)終了(作業)
        行動計画2000/10/262000/11/282000/10/262000/11/28
        技術調査2000/12/122001/01/092000/12/122000/01/24
        基本設計2001/01/112001/02/132000/01/252000/02/13
    2. 4年次

      1. 開発項目開始(計画)終了(計画)開始(作業)終了(作業)
        詳細設計2001/05/012001/05/302001/05/012001/07/12
        設計2001/06/01 2001/06/29 2001/06/19 2001/07/10
        サブシステム製造2001/07/04 2001/08/24 2001/08/21 2001/11/28
        サブシステム試験2001/09/052001/09/212001/10/12 2001/11/28
        システム製造2001/10/03 2001/11/23 2001/11/29 2001/12/19
        改善2001/12/19 2002/02/072001/12/24 2002/02/07

  3. 試験結果

    1. Mechanics System試験報告書(MIRS0005-MECH-2002)

    2. I/O試験報告書(MIRS0005-ELEC-1902)

  4. 作業工数分析

    1. 3年次
      開発項目工数(h)
      行動計画103.5
      技術調査108.0
      基本設計73.5

    2. 4年次
      開発項目工数(h)
      MechanicsElectronicsSoftware
      詳細設計116.5104.0120.0
      設計・製造371.5523.5447.0
      試験・改善35.0333.5587.5

    3. 4年次月毎作業時間
      月日時間数(h)合計(h)
      MechanicsElectronicsSoftware
      2001年
      4月
      18.026.525.069.5
      5月83.571.065.0219.5
      6月99.042.046.5187.5
      7月116.550.534.0201.0
      8月105.0108.0144.0357.0
      9月18.041.531.090.5
      10月50.0198.5101.5350.0
      11月54.5197.0108.5360.0
      12月51.0215.0152.0418.0
      2002年
      1月
      54.0165.0334.5553.5
      2月30.045.0243.0318.0
      合計679.51160.01285.03124.5


      fig.1 4年次月毎作業時間

  5. 問題点の発生と分析

    1. メカニクス
      問題点原因解決策
      MIRS本体の全長が32cm以内に収まっていなかった。バンパが設計時より前後少しずつ長くなってしまった。後部を切り詰めた。
      直進時に壁をこすってしまう。実際走らせて気づいた。
      設計ミス。
      バンパを曲げて側面もタッチセンサが感知するようにした。
      ポストのスイッチにMIRSのバンパが引っかかってしまう。 前のバンパと左右肩のバンパに隙間があるため。 バンパの形状を変更して隙間をなくした。

    2. エレクトロニクス
      問題点原因解決策
      テストプログラムで、モータにduty比を与えてもモータが動かない。 MPCボード(※ATLMのPCBデータ)の設計ミス。
      GNDがつながっていなかった。またつながるべきところがつながっていなかった。
      設計しなおし、ボードをはんだ・ジャンパ線を使って修正。
      モータパワー制御ボード改造仕様書(MIRS0005-ELEC-1801)参照。
      I/O試験で、タッチセンサが全く反応しない。 ドータボードとFPGAボードがしっかり差し込まれていなかった。接触不良。 しっかり差し込み、テスタで導通を確認した。
      いきなりあるセンサが動作しなくなった。 ケーブルのコネクタ部がはずれたり、切れていた。 切れた部分を作りなおした。
      I/O試験でタッチセンサが誤動作。押してないのに'1'がでる。 ドータボードの設計ミス。
      IC(RS-FF)のS(セット)とR(リセット)が逆になっていた。
      ドータボードの作りなおしは大変なので、コネクタのSとRを入れ替えた。
      赤外線センサ等の各種センサ類、エンコーダ、モータの誤動作もしくは無動作。 ドータボードを何度もはずしたりしたので、Vccや各種の線が断線していた。また、ドータボードの設計で線を細くしてしまったのも原因。 ジャンパ線などを用いて導通させた。
      モータの回転が逆。 FPGA上でのピン配置ミス。 ピン配置を正しく直した。
      Linuxが立ち上がらない。 電源ボードの可変抵抗が正しく配線されていなかった。 はんだを用いて正しく配線した。
      Linuxの立ち上がりが不安定。 ISAラックの取りつけミス。バックプレーンの基板が、ISAラックの金属部に触れていた。 接触しないように、絶縁体をはさんだ。
      超音波センサの誤動作。 送信信号をすぐに受信していた。 筒を取りつけ、すぐに受信しないようにした。しかし全てはうまく動作せず原因不明。(既知問題点)

    3. ソフトウェア・システム
      問題点原因解決策
      超音波が入ってもすぐに反応しない。アルゴリズムで、for文50回ループした後で判定していた。 ループ内にif文の超音波判定をいれた。
      link68kでSection Overrapとエラーが出る.配置するデータ量がメモリのSectionの長さより長くなってしまった.mirx.cmdのMemory Sectionをデータがしっかり配置できるように調整した.
      赤外線を当ててもセンサがすぐに反応しない。赤外線センサを読みこむタイミングが、1秒になっていた。試行錯誤の結果、0.3秒周期が限界であったので、それにした。
      周回中に赤外線を無視することがある。左側の前側の赤外線センサひとつで測定していた。一つのセンサから、二つのセンサを0.3秒毎に読むことにした。
      ポスト周回モードがふらついてうまく周回できない。フィードバックの制御量が足りなかった。P制御を行い、制御量を回転数の偏差の0.02倍にした。
      ポスト獲得後の停止位置が、回転をはじめた所で終わると、外周軌道に戻る時に不便。ポスト周回は、かならず1回転するというアルゴリズムになっているから。初めに入ったタッチセンサによって、ポスト獲得後の周回の量を変えた。
      壁の近くで、超音波が壁にあたって返ってきてしまい、ポストと誤認識してしまう。超音波が幅広く送信されるから。ある程度進んだ壁の近くでは(エンコーダで判断)ポスト発見と判断しないことにした。
      回転が、バッテリーがあるときとあまりないときで回転する角度が違う。回転を電圧比と時間で制御していた。回転をエンコーダで制御するようにした。ほとんど誤差が無くなった。
      ポストを周回して帰って来た後、すぐにポストを発見してしまう。超音波は常に測りつづけているため、復帰動作中に測定したものと、 復帰後すぐに測ったものに差が出てしまい、発見と誤認識する。外周周回に戻った時に、超音波を判定せずに進む事にした。
      ポストを周回して外周周回に戻る時に、ポストにあたるとそれを壁と認識してしまう。アルゴリズムがそうなっている。どれだけ進んだかをエンコーダでカウントし、帰りは、それがポストであるなら 避ける動作をすることにした。
      ポストを発見し、探しに行ったが、超音波のミスのためか無かった場合、 帰ってくるが、その時に軌道が少しずれ、ポストにあたるとそれを壁と認識してしまう。アルゴリズムがそうなっている。帰りは、それがポストであるなら避ける動作をすることにした。
      ポストを獲得するとき回転するが、そのときにポストのタッチセンサの板にひっかかると そこで終了してしまう。回転モードは回転が終了するまで終わらない。一定時間停止したら、今まで回った分逆に回転し、周回動作に戻る。
      バック中にバッテリーが少なくてバックができないとき、そこではまってしまう。アルゴリズムがそうなっている。一定時間でバックができなかったとき、バックを終了する。
      周回モードで周回するときの早さが一定でない。 周回は左右のタイヤの回転数の比が一定になるようにフィードバック制御しているから。回転数の比を一定にしつつ、一定の速度になるように制御するようにした。
      動作がきびきびしない。モータに与える電圧を0にしても、惰性で進んでしまう。 少しの時間、電圧を逆にかけてブレーキをかけた。

  6. 既知問題点

  7. まとめ

      ●Mechanicsの立場から振り返って…

       最終的に詳細設計書と多少MIRSの概観が違ってしまった。開発を進めていくうちに、不具合が出てくるのはしょうがないとは思うが、計画通りに作るのは大変だとわかった。設計の段階で、もう少し時間をかけて検討する必要があると思う。

      ●Electronicsの立場から振り返って…

       明らかにエレキの製造が遅れた。そのせいでソフトの貴重な時間を奪い、多大な迷惑をかけてしまった。
       失敗点として、エレキの分担をFPGA内の回路設計 とドーターボード、センサボードの製造 の二つに分けてしまったことである。ただでさえ初めてのシステムであり大変なのにひとりがFPGAの方にまわってしまった為、はじめに行わなければならないボード等の製造が遅れてしまった。特にドーターボードについては8月中に製造が終わらなければならないのに対しMIRS5は12月までかかった上、不安定なものとなってしまった。これではFPGA内の回路の試験、ソフトの試験等も全くできなかった為、結果としてエレキが遅れ、ソフトに多大な迷惑をかける結果となってしまった。
       以上の事柄を振り返ると、ドーターボードなどのボードの製造についてはエレキ全員で取り掛かり、早々に終わらすべきであった。FPGAボード内回路の設計については休日などを返上してMIRSの時間外に行うべきであった。分担などせず、先にボードの製造をしっかり行えばよかった。 MIRS5のエレキ的問題点の大半はドーターボードがらみであり、ドーターボードの製造の大幅な遅れであった。
       ドーターボードの製造についてもっと重要視すべきであったと痛感した。 競技会での敗因もやはりエレキ的問題(超音波センサの動作不良)であった為、エレキをしっかり行うべきであると思う。

      ●Softwareの立場から振り返って…

      ソフトは、詳細設計のものと実際に作ったものが大分変わってしまった。これは、初めの見通しが甘かったためだと思われる。
       そして最大の失敗として、3人いるソフトメンバーの作業分担がうまくいかなかったことである。これはソフトチーフの責任であると思う。
       ソフトウェアのMIRS0005の他の班との最大の相違点は、他の班はデバイスドライバを標準のものを使用したが、MIRS0005では赤外線のドライバがオリジナルであったことである。これの作成に多大な時間を使ってしまった。もっと早くからデバイスドライバに取りかかるべきであった。その時に長澤先生に多大な協力を頂いた。
       結果的には安定したプログラムを作成することができたので、MIRS0005ソフトは成功したと思う。

      ○全体を通して…

       もっとミーティングをした方がよかった。メカ,エレキ,ソフトがばらばらに作業していたので、統合させた時お互いミスマッチが生じてしまった。変更点など、ちょくちょく連絡しあうことが重要だと思った。

      以上をもってMIRS0005の開発における全過程が終了したことを報告する。


関連文書