沼津高専 電子制御工学科 | ||||||
| ||||||
改訂記録 | ||||||
---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
A01 | 2002.2.15 | 大石 金武 杉村 |
初版 |
本ドキュメントはMIRS0005のMIRS開発を終えて、これまでの開発過程、作業工数、問題点などをまとめたものである。
以下に開発計画と対応させた開発過程を示す。
開発項目 | 開始(計画) | 終了(計画) | 開始(作業) | 終了(作業) |
行動計画 | 2000/10/26 | 2000/11/28 | 2000/10/26 | 2000/11/28 |
技術調査 | 2000/12/12 | 2001/01/09 | 2000/12/12 | 2000/01/24 |
基本設計 | 2001/01/11 | 2001/02/13 | 2000/01/25 | 2000/02/13 |
開発項目 | 開始(計画) | 終了(計画) | 開始(作業) | 終了(作業) |
詳細設計 | 2001/05/01 | 2001/05/30 | 2001/05/01 | 2001/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/05 | 2001/09/21 | 2001/10/12 | 2001/11/28 |
システム製造 | 2001/10/03 | 2001/11/23 | 2001/11/29 | 2001/12/19 |
改善 | 2001/12/19 | 2002/02/07 | 2001/12/24 | 2002/02/07 |
開発項目 | 工数(h) |
行動計画 | 103.5 |
技術調査 | 108.0 |
基本設計 | 73.5 |
開発項目 | 工数(h) | ||
Mechanics | Electronics | Software | |
詳細設計 | 116.5 | 104.0 | 120.0 |
設計・製造 | 371.5 | 523.5 | 447.0 |
試験・改善 | 35.0 | 333.5 | 587.5 |
月日 | 時間数(h) | 合計(h) | ||
Mechanics | Electronics | Software | ||
2001年 4月 | 18.0 | 26.5 | 25.0 | 69.5 |
5月 | 83.5 | 71.0 | 65.0 | 219.5 |
6月 | 99.0 | 42.0 | 46.5 | 187.5 |
7月 | 116.5 | 50.5 | 34.0 | 201.0 |
8月 | 105.0 | 108.0 | 144.0 | 357.0 |
9月 | 18.0 | 41.5 | 31.0 | 90.5 |
10月 | 50.0 | 198.5 | 101.5 | 350.0 |
11月 | 54.5 | 197.0 | 108.5 | 360.0 |
12月 | 51.0 | 215.0 | 152.0 | 418.0 |
2002年 1月 | 54.0 | 165.0 | 334.5 | 553.5 |
2月 | 30.0 | 45.0 | 243.0 | 318.0 |
合計 | 679.5 | 1160.0 | 1285.0 | 3124.5 |
問題点 | 原因 | 解決策 | |
MIRS本体の全長が32cm以内に収まっていなかった。 | バンパが設計時より前後少しずつ長くなってしまった。 | 後部を切り詰めた。 | |
直進時に壁をこすってしまう。 | 実際走らせて気づいた。 設計ミス。 | バンパを曲げて側面もタッチセンサが感知するようにした。 | |
ポストのスイッチにMIRSのバンパが引っかかってしまう。 | 前のバンパと左右肩のバンパに隙間があるため。 | バンパの形状を変更して隙間をなくした。 |
問題点 | 原因 | 解決策 |
テストプログラムで、モータに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ラックの金属部に触れていた。 | 接触しないように、絶縁体をはさんだ。 |
超音波センサの誤動作。 | 送信信号をすぐに受信していた。 | 筒を取りつけ、すぐに受信しないようにした。しかし全てはうまく動作せず原因不明。(既知問題点) |
問題点 | 原因 | 解決策 |
超音波が入ってもすぐに反応しない。 | アルゴリズムで、for文50回ループした後で判定していた。 | ループ内にif文の超音波判定をいれた。 |
link68kでSection Overrapとエラーが出る. | 配置するデータ量がメモリのSectionの長さより長くなってしまった. | mirx.cmdのMemory Sectionをデータがしっかり配置できるように調整した. |
赤外線を当ててもセンサがすぐに反応しない。 | 赤外線センサを読みこむタイミングが、1秒になっていた。 | 試行錯誤の結果、0.3秒周期が限界であったので、それにした。 |
周回中に赤外線を無視することがある。 | 左側の前側の赤外線センサひとつで測定していた。 | 一つのセンサから、二つのセンサを0.3秒毎に読むことにした。 |
ポスト周回モードがふらついてうまく周回できない。 | フィードバックの制御量が足りなかった。 | P制御を行い、制御量を回転数の偏差の0.02倍にした。 |
ポスト獲得後の停止位置が、回転をはじめた所で終わると、外周軌道に戻る時に不便。 | ポスト周回は、かならず1回転するというアルゴリズムになっているから。 | 初めに入ったタッチセンサによって、ポスト獲得後の周回の量を変えた。 |
壁の近くで、超音波が壁にあたって返ってきてしまい、ポストと誤認識してしまう。 | 超音波が幅広く送信されるから。 | ある程度進んだ壁の近くでは(エンコーダで判断)ポスト発見と判断しないことにした。 |
回転が、バッテリーがあるときとあまりないときで回転する角度が違う。 | 回転を電圧比と時間で制御していた。 | 回転をエンコーダで制御するようにした。ほとんど誤差が無くなった。 |
ポストを周回して帰って来た後、すぐにポストを発見してしまう。 | 超音波は常に測りつづけているため、復帰動作中に測定したものと、 復帰後すぐに測ったものに差が出てしまい、発見と誤認識する。 | 外周周回に戻った時に、超音波を判定せずに進む事にした。 |
ポストを周回して外周周回に戻る時に、ポストにあたるとそれを壁と認識してしまう。 | アルゴリズムがそうなっている。 | どれだけ進んだかをエンコーダでカウントし、帰りは、それがポストであるなら 避ける動作をすることにした。 |
ポストを発見し、探しに行ったが、超音波のミスのためか無かった場合、 帰ってくるが、その時に軌道が少しずれ、ポストにあたるとそれを壁と認識してしまう。 | アルゴリズムがそうなっている。 | 帰りは、それがポストであるなら避ける動作をすることにした。 |
ポストを獲得するとき回転するが、そのときにポストのタッチセンサの板にひっかかると そこで終了してしまう。 | 回転モードは回転が終了するまで終わらない。 | 一定時間停止したら、今まで回った分逆に回転し、周回動作に戻る。 |
バック中にバッテリーが少なくてバックができないとき、そこではまってしまう。 | アルゴリズムがそうなっている。 | 一定時間でバックができなかったとき、バックを終了する。 |
周回モードで周回するときの早さが一定でない。 | 周回は左右のタイヤの回転数の比が一定になるようにフィードバック制御しているから。 | 回転数の比を一定にしつつ、一定の速度になるように制御するようにした。 |
動作がきびきびしない。 | モータに与える電圧を0にしても、惰性で進んでしまう。 | 少しの時間、電圧を逆にかけてブレーキをかけた。 |
最終的に詳細設計書と多少MIRSの概観が違ってしまった。開発を進めていくうちに、不具合が出てくるのはしょうがないとは思うが、計画通りに作るのは大変だとわかった。設計の段階で、もう少し時間をかけて検討する必要があると思う。
●Electronicsの立場から振り返って…
明らかにエレキの製造が遅れた。そのせいでソフトの貴重な時間を奪い、多大な迷惑をかけてしまった。
失敗点として、エレキの分担をFPGA内の回路設計 とドーターボード、センサボードの製造 の二つに分けてしまったことである。ただでさえ初めてのシステムであり大変なのにひとりがFPGAの方にまわってしまった為、はじめに行わなければならないボード等の製造が遅れてしまった。特にドーターボードについては8月中に製造が終わらなければならないのに対しMIRS5は12月までかかった上、不安定なものとなってしまった。これではFPGA内の回路の試験、ソフトの試験等も全くできなかった為、結果としてエレキが遅れ、ソフトに多大な迷惑をかける結果となってしまった。
以上の事柄を振り返ると、ドーターボードなどのボードの製造についてはエレキ全員で取り掛かり、早々に終わらすべきであった。FPGAボード内回路の設計については休日などを返上してMIRSの時間外に行うべきであった。分担などせず、先にボードの製造をしっかり行えばよかった。
MIRS5のエレキ的問題点の大半はドーターボードがらみであり、ドーターボードの製造の大幅な遅れであった。
ドーターボードの製造についてもっと重要視すべきであったと痛感した。
競技会での敗因もやはりエレキ的問題(超音波センサの動作不良)であった為、エレキをしっかり行うべきであると思う。
●Softwareの立場から振り返って…
ソフトは、詳細設計のものと実際に作ったものが大分変わってしまった。これは、初めの見通しが甘かったためだと思われる。
そして最大の失敗として、3人いるソフトメンバーの作業分担がうまくいかなかったことである。これはソフトチーフの責任であると思う。
ソフトウェアのMIRS0005の他の班との最大の相違点は、他の班はデバイスドライバを標準のものを使用したが、MIRS0005では赤外線のドライバがオリジナルであったことである。これの作成に多大な時間を使ってしまった。もっと早くからデバイスドライバに取りかかるべきであった。その時に長澤先生に多大な協力を頂いた。
結果的には安定したプログラムを作成することができたので、MIRS0005ソフトは成功したと思う。
○全体を通して…
もっとミーティングをした方がよかった。メカ,エレキ,ソフトがばらばらに作業していたので、統合させた時お互いミスマッチが生じてしまった。変更点など、ちょくちょく連絡しあうことが重要だと思った。
以上をもってMIRS0005の開発における全過程が終了したことを報告する。
関連文書 |
---|