沼津高専 電子制御工学科
MIRS0403 開発完了報告書
MIRS0403-DSGN-0008
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2005.2.25 上園隆文 佐藤基 初版

目次
  1. はじめに
  2. 開発計画と実際の開発進歩の比較
  3. 作業工数分析
    1. 作業別
    2. 月別
  4. 開発過程で生じた問題点とそれへの対応
    1. メカニクス
    2. エレクトロニクス
    3. ソフトウェア
  5. 他のチームから提供を受けたソフトウェアモジュール
  6. 総括



1.はじめに



2.開発過程



3.作業工数分析

  1. 作業別
    開発項目工数(h)
    行動計画書84.2
    基本設計書116.0
    詳細設計書131.0
    製造仕様書59.35
    製造(メカ)256.2
    製造(エレキ)218.0
    製造(ソフト)499.1
    技術調査88.0

  2. 月別
    メカ工数(h)エレキ工数(h)ソフト工数(h)合計工数(h)
    4 27.0 22.0 6.0 55.0
    5 54.0 47.0 58.5 159.5
    6 27.0 27.5 27.0 81.5
    7 95.5 136.0 115.5 347.0
    8 0.0 5.0 0.0 5.0
    9 16.5 33.0 34.0 83.5
    10 1.5 68.5 44.5 114.5
    11 5.0 193.0 172.0 370.0
    12 22.0 141.0 264.0 427.0
    1 7.5 138.5 193.0 339.0
    2 1.5 76.5 94.0 172.0
    合計257.5 888.0 1008.5 2154.0




4.開発過程で生じた問題点とそれへの対応
  1. メカニクス
    No. 問題点 原因 解決策
    1 プロペラを回転させるとき振動が激しい 材料がやわらかすぎたため 材料を塩ビ板からアルミ板にかえた
    2 プロペラが指定した角度回らない 軸を固定するねじが緩んでいたため ねじを締め上げた
    3 プロペラが規定の長さを超えていた 規定を考慮した設計を行っていなかったため プロペラの両端を削った

  2. エレクトロニクス

    FPGA関係
    No. 問題点 原因 解決策
    1 コンパイルできない 回路が大きすぎ LCD関係をすべて消した
    2 MIRSにダウンロードできない 配置していないピンがあった すべて配置した
    3 MIRSにダウンロードできない ISAバスに常に出力していた そこは特に必要なかったので、すべて削除した
    4 プロペラを回していると時々回らないときがある プロペラを制御する回路のパルスが早すぎた パルスを少し遅らした


    センサ、ドーターボード関係
    No. 問題点 原因 解決策
    1 センサがほとんど反応しない ドーターボードがおかしい 作り直し

  3. ソフトウェア
    No. 問題点 原因 解決策
    1 ポストが2つ近い距離にあると、まとめて同じポストとみなしてしまうことがある。 超音波が広がりをもつ特性から、ステップ角ごとのデータを正確に取ることができない。近くにポストがあればプロペラの延長線上になくても、そのポストの値を検出してしまう。 超音波センサの値がUSS_MAXを超えてなくても、その値の前後を比較して、ポストの直径より大きくなっていた場合はもう一つべつのポストがあると判断するようにした。
    2次元配列に保存されたデータをそれぞれ順番に比較して得点化することで、得点の最も高いところをポストの中心があるデータとみなし、そのデータを信用することにした。
    2 ポストの中心座標を正確に計算することができない 超音波センサの値に最大5%の誤差があることと、1であげた超音波の特性
    超音波の精度は上がらないと判断し、ポストの中心座標を正確に計算することを諦めた。
    そこで1の対策に書いたように、データを得点化することで信頼性の高いポストの中心位置のデータを取ることができ、そのデータにプロペラ半径とポスト半径を足してポストの中心座標とした。
    3 ポストの数があまりにも多く検出されてしまう 超音波センサにも誤作動がある 2回以上連続でUSS_MAXを超えないとポスト間のデータの区切りとしないことにした。
    また、一つのポストに対して5つ以上データがとれないと、それをポストとみなさないことにした。
    4 プロペラの超音波センサの値が連動してしまうことがある。 超音波センサ3・4を両方同時に使っていたから。 超音波センサ3のみを使いプロペラを360度回転させることにした。
    5 ポストの数があまりにも多く検出されてしまう 超音波センサの誤作動? 2回以上連続でUSS_MAXを超えないとポスト間のデータの区切りとしないことにした。また、一つのポストに対して5つ以上データがとれないと、それをポストとみなさないことにした。
    6 プロペラを回転させて全ての確認を終えた後、プロペラが初期位置まで戻らなくなるときがある。 起動後に改めてFPGAのダウンロードを行い、解決できた。
    7 計算された理論上のデータと現実のデータの誤差が大きい キャストを使って強制的にdouble型で計算させ、その結果を改めてint型に保存させることで、計算過程でint型で計算されることによる誤差の増大を防いだ
    8 ポスト間のアプローチができない 計算されたポスト間の距離の値の誤差が大きい 計算された値を無視して、ポストから次のポストに向かって正対補正を行ったときの超音波センサのデータを使ってポスト間の距離を計算した。




5.他のチームから提供を受けたソフトウェアモジュール



6.総括
  1. メカニクス
     メカの仕事はフロントバンパーのシングルバンパーへの変更、プロペラの製作とそれをまわすためのステッピングモーターを取り付ける方法を検討し、製作したことである。ステッピングモーターの軸はその先端にプロペラをつけることを考えると、特殊な形になってしまい製作を工場に発注した。それほど精度が必要な部品でもなかったので自分らで作れたかもしれないが出来上がった部品はステッピングモーターの軸にピッタリでプロペラも取り付けやすかったので非常に満足のできるものであった。また、ステッピングモーターが意外に重くて心配であったが、取り付け部が変形することなくしっかり支えることができていた。ステッピングモーターの正確さを生かせるものに仕上がったと思う。

  2. エレクトロニクス
     ステッピングモーターを新しくつけるということで、FPGA回路に新しく加える回路があり、それを作るのが大変でした。やっとできたと思ったら今度はMIRSにダウンロードするときにもエラーが出てしまい、予想以上に時間がかかってしまいました。これができないとステッピングモータの試験もできず、他の人たちにかなり迷惑をかけたと思います。
     ステッピングモーターを取り付けるためにドーターボードを替える必要があった。作っても接触がおかしいということも多くあり、これでまたかなりの時間をかけてしまった。
     しかし、最終的にはステッピングモータがしっかりと動いてくれたので、それはうれしかったと思います。

  3. ソフト
     ソフトとして取り組んだこととしては主にポスト間の移動のプログラムとポスト探索のプログラムでした。今までにないステッピングモーターというものを使用したり、また時間短縮のためにポストからポストへ直接移動したり、と新しいことばかり取り入れていきました。そのため前例が使えずプログラムを考えるのがとても大変でした。また、作ったプログラムを試すにはメカやエレキの部分が完成してなければならず自然と後々にといった感じになってしまいました。そのため構想だけでプログラムを作り、実際に試すのは後になり、そこからまたデバッグをするためそろそろ終わらないとヤバイよね、という時期になってからプログラムの追い込み作成をはじめました。しかし最後の追い込みの成果もあり、何とか仕上げることができよかったです。

  4. マネージャー
     ステッピングモーターを使い超音波センサをつけたプロペラを回転させるということが3班の特徴でした。しかし、ステッピングモーターというものを知ったのがMIRSをはじめてからであったため、使い方が分からず、実際に動かすまでに時間がかかりました。また、ボードが壊れるという事故に見まわれ、そのボードをまた削りだすまでに、何回も失敗を繰りかえし、何十時間もかけました。そんなトラブルに会ってばかりの3班でしたが、当日は2位という素晴らしい成績を収めることができ、とても満足しています。

  5. ドキュメントマネージャー
     DMなんてそんなたいしたものでもないだろうと思っていたけれど、結構大変なものだったようなきがします。それでも、DMよりもMIRSを作るほうが何倍も大変で、ステッピングモーター用のFPGA回路を作るのに時間がかかってしまい、みんなに申し訳ない気持ちでした。プレ競技会にとおったのが本番の数日前で、本番が心配でしたが、プロペラが回ったときはうれしかったです。