沼津高専 電子制御工学科 | ||||||
| ||||||
改訂記録 | ||||||
---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
A01 | 2003.2.14 | 森元 | 森元 | 初版 |
開発項目 | 開始(計画) | 終了(計画) | 開始(作業) | 終了(作業) |
システム計画書 | 2001/12/11 | 2002/03/31 | 2001/12/11 | 2002/03/31 |
調査(MIRSの各部について) | 2001/12/11 | 2001/12/18 | 2001/12/11 | 2001/12/18 |
基本設計 | 2002/01/08 | 2002/02/07 | 2002/01/08 | 2002/02/07 |
開発項目 | 開始(計画) | 終了(計画) | 開始(作業) | 終了(作業) |
システム計画書改定 | 2002/04/09 | 2002/04/30 | 2002/04/09 | 2002/04/30 |
基本設計改定改定 | 2002/04/09 | 2002/05/31 | 2002/04/09 | 2002/05/31 |
詳細設計書(メカ) | 2002/04/23 | 2002/05/25 | 2002/04/23 | 2002/05/25 |
詳細設計書(エレキ) | 2002/04/23 | 2002/05/25 | 2002/04/23 | 2002/05/25 |
詳細設計書(ソフト) | 2002/04/23 | 2002/05/25 | 2002/04/23 | 2002/05/25 |
製造(メカ) | 2002/07/09 | 2002/07/16 | 2002/07/09 | 2003/02/07 |
製造(エレキ) | 2002/07/09 | 2002/07/16 | 2002/07/09 | 2003/02/07 |
製造(ソフト) | 2002/07/09 | 2002/07/16 | 2002/07/09 | 2003/02/07 |
ドキュメント整理(メカ) | 2003/02/07 | 2003/02/21 | 2003/02/07 | 2003/02/21 |
ドキュメント整理(エレキ) | 2003/02/07 | 2003/02/21 | 2003/02/07 | 2003/02/21 |
ドキュメント整理(ソフト) | 2003/02/07 | 2003/02/21 | 2003/02/07 | 2003/02/21 |
開発項目 | 工数(h) |
行動計画書 | 123 |
調査(MIRSの各部について) | 53.5 |
基本設計 | 67.5 |
行動計画書改定 | 25.5 |
詳細設計書(メカ) | 27 |
詳細設計書(エレキ) | 56 |
詳細設計書(ソフト) | 39 |
製造(メカ) | 136.5 |
製造(エレキ) | 424 |
製造(ソフト) | 709 |
改善設計,改善(メカ) | 22.5 |
改善設計,改善(エレキ) | 15 |
改善設計,改善(ソフト) | 80 |
ドキュメント整理(メカ) | 20 |
ドキュメント整理(エレキ) | 36.5 |
ドキュメント整理(ソフト) | 43 |
月 | メカ工数(h) | エレキ工数(h) | ソフト工数(h) | 合計工数(h) |
4 | 24 | 15 | 22.5 | 61.5 |
5 | 33.75 | 25 | 28.5 | 87.25 |
6 | 28.5 | 20 | 30.5 | 79 |
7 | 10.5 | 14 | 17 | 41.5 |
8 | 97.5 | 97 | 28 | 222.5 |
9 | 10.5 | 31.5 | 21 | 63 |
10 | 4.25 | 60.5 | 28.5 | 93.25 |
11 | 11.5 | 75.25 | 67.5 | 154.25 |
12 | 7 | 107.5 | 107 | 221.5 |
1 | 64.5 | 30.5 | 406.5 | 501.5 |
2 | 16 | 18.5 | 180 | 214.5 |
合計 | 308 | 494.75 | 937 | 1739.75 |
問題点 | 原因 | 解決策 |
超音波センサでポストの正面をとることができない。 | 前面3つの超音波センサでポスト正面をとるつもりだったが、超音波センサの指向性が広すぎたため。 | 前面のタッチセンサを1つから5つに増やした。 |
使用しない超音波センサができてしまった。 | 上記の問題で前面の超音波センサが1つでよくなったため。 | 超音波センサの数を5つから2つに変更した。 |
MIRS本体に使用しないスペースが多くなった。 | 超音波センサ等の数が減ったため。 | MIRS本体を4階から3階にした。 |
超音波センサがうまく値をとれない。 | 超音波センサを奥に取り付けたため、上下の塩ビ板の壁に超音波が当ってしまう。 | 超音波センサを前方に取り付け、さらに前面上部の塩ビ板を削った。 |
赤外線センサがうまく反応しない可能性がある。 | ポストの赤外線発信部より赤外線センサの位置が高すぎる。 | 赤外線センサの設置方法を変えて高さを合わせた。 |
ケーブルの長さが短すぎる、または長すぎる。 | センサの取り付け位置が変わったり、MIRS本体が4階から3階になったりしたため。 | ケーブルを作り直した。 |
問題点 | 原因 | 解決策 | |
1 | 特定のFPGAのピンが使用できない | ドーターボードとFPGAとの接続不良 | 別の空いているピンに配置を変えた |
2 | 急に落ちたりと電源が不安定 | バッテリーのコネクタが固定できていなかった | ハンダを用いて固定した |
3 | 赤外線センサが動作しない | 素子の破損 | 素子を取り替えた |
4 | ドーターボードの基板の一部に、本来とは違う信号が来ていた | ドーターボードの削りミス | 導通してはいけない部分を削った |
5 | 白線センサが動作しなかった | 白線センサの信号線にプルアップ抵抗を接続していなかった | プルアップ抵抗を接続した |
6 | テストプログラムを実行してもモーターが動かない | MPCボードのPCBデータが間違っていた | 正しいデータを用いて削りなおした |
7 | 超音波センサが複数同時に動かない | FPGA回路が間違っていて、受信側のセレクタを作っていなかった | セレクタを回路に追加した |
8 | ロータリエンコーダが正しい値を返さない | ケーブルの接触不良 | ケーブルを作りなおした |
問題点 |
原因 |
解決策 |
超音波センサの角度特性が悪い |
超音波センサの仕様 |
エッジ判定をし、両端で取るようにした |
超音波センサの角度特性が安定しない |
超音波センサの仕様 |
前述の解決策でもうまくいかなかったため、発見した方向に進んで、あるはずの距離になかった場合は再探索を行うようにした。 |
赤外線センサの値を移動しながら確定できない | 赤外線センサ、ポストの仕様 | 検出した時点で値が確定するまで停止するようにした。 |
ポストをきれいに回れない(ポストにぶつかる) | パラメータ調整不足、及び工作室の床が傾いていたため | 余裕を持ったパラメータ調整を行い、ぶつかった時点で角度を再調整するようにした。 |
Disk On Module(以下DOM)の容量が足りない | DOMの仕様 | 不要なファイルを消し、MIRS自体には実行ファイル程度しか載せないようにした。 |
ポートに入出力を行うと、各機器が異常な動作となる。 | DOMの破損 | DOMを交換した。 |
エレキ:
超音波センサの指向特性が、当初想定していたものと大幅に違った。
これは実際にMIRSに超音波センサを搭載、動作させてみて始めて分かった事である。
エレキの基板作成、FPGAデータ作成が完了しなければ分からなかった問題であり
我々MIRS0104の行動計画の根幹である「超音波センサでポストを発見、
座標を記録する」という動作に問題が生じた。
記録した座標が実際とは全然違うものとなってしまったのである。
エレキの仕事が遅れた為にこの問題の発覚が遅れ、
ソフトに「迷惑」という言葉では済まない、
「行動計画、一からの立てなおし」を迫らねばならなかった。
これによりそれまで完成していた行動プログラムをほぼ全て破棄、代替案もなかなか良い物が浮かばず、
競技会が迫って来たため仕方なく一時凌ぎの行動プログラムを作成。
しかし結局その「一時凌ぎ」で競技会を迎える事になってしまった。(競技会前日、DOMが破損した事を付け加えておく)
そして結果は惨憺たる物であった。
「もっと早くエレキが完成していれば、もっと早く解決策を考えられれば…」と強く思う。
このMIRS製作で思い知ったのは、上記のように「実際にやってみなければ分からない問題」の存在である。
もしこれを見る後輩がいたならば、そういう事があるという事を心に留めておいてほしい。
できれば第2、第3の代替案を、無駄になってもいいから是非、構想しておく事をお勧めする。
願わくば、我々と同じ失敗をしないよう、同じ後悔をしないよう…
ソフト:
プログラムを実際に作成する作業は殆どの部分を1人で行ったが、それは基本設計の時点でMIRSのソフトウェア開発は簡単なものだと判断したためである。果たしてその判断は正しかったと思うが、他のソフトのメンバーの作業がソフトウェア作成よりも雑用に傾いてしまったのは失策であった。ソフトに割り振る人数を少なくしても構わないとの判断を強行したほうが良かったと思われる。
他の班が苦労していたデバイスドライバ周りは、atlmirsのプログラムがあまりに読みづらかったため全て破棄し、1から作り直すことにした。Linuxのデバイスドライバに関して事前に調査しており、エレキ担当と相談することでソフトとしては非常に扱いやすかった。
また、モジュール以外の部分を C++ で開発したことにより、見通しも利便性も高いものになった。ここはMIRS0104ソフトとして非常に自信を持っている部分である。
基本計画での行動は、ソフトウェア製作にあたって分岐の少ないものを選んだ。座標をほとんど使わなくても済むようにして、例外処理を最小にしたつもりである。
しかし、予想以上に超音波センサの角度特性が悪く、極座標系からデカルト座標系へ変換する操作に誤差が出過ぎることが判明した。そのため最終的には更に簡単な、座標変換を行わなくても済むプログラムに変更した。作業時間の殆どはこの作業に費やされている。
総じてソフトウェアとしてはデバイスドライバは成功し、メインプログラムで失敗した。原因は超音波センサについての調査不足であった。
マネージャ:
マネージャという仕事を約1年半の間やってきたが、僕から見てだいたいみんなメカ・エレキ・ソフトの自分の担当の仕事をしっかりやっていて、班員のまとまりはそれほど悪くなかったと思います。
実際にMIRSを動かしてみることで様々な問題が起こり、それぞれが自分の担当の仕事をこなすだけでなく、他の担当との連絡をしあうことも大切だということを実感しました。
みんな残業や徹夜、休日登校などもしながら、MIRS完成に向けてよく頑張りました。
結果は思ったより良いものとはならなかったかもしれないですが、この苦労は無駄にはならないと思います。
苦労も多かったですが、楽しかったとも思います。
約1年半お疲れ様でした。
終わりに・・・
これをもって、1年半取り組んできた、MIRS0104の全行程を終了することを宣言する。
関連文書 |
---|