名称 |
MIRS1201 開発完了報告書 |
番号 |
MIRS1201-PLAN-0004 |
最終更新日:2013.1.25
版数 |
最終更新日 |
作成 |
承認 |
改訂記事 |
A01 |
2013.1.25 |
齋藤亮 |
出川教員 |
初版 |
|
|
|
|
|
目次
1.はじめに
-
本ドキュメントは、MIRS1201のMIRS開発の分析と総括をまとめたものである。
2.開発スケジュール分析
-
図1: 開発スケジュール予定
図2: 実際の開発スケジュール
・開発スケジュール分析
開発スケジュールの段階では、年内にハードが完成している予定であったが、ボード類のデバックに予想以上の時間を割く結果となり、ソフトの試験を行う段階に到達する時期が遅れてしまった。予定よりおよそ2週間の遅れが生じてしまい、最終的に間に合わなくなってしまった。遅れ始めた段階で、開発スケジュールの見直しをしっかりと行うか、ほかの試験方法を試すなど何かしらの改善策をとるべきだったと感じる。実際の開発スケジュールを見ると、予定よりだいぶ遅れてしまったことがわかる。これはエレキの不調によるもので、それによって他のパートの作業も遅くなってしまった。エレキは単体試験を行った段階では良好に動作していたものが、組み込んだ際に動作不良になることが多く、また、ボード完成の時期が重なったため、一定期間に多くのボードのデバック作業を行うこととなってしまった。
3.開発工数分析
-
・工数分析
ソフト班に比べ、エレキ・メカ班の作業時間が少ないことがわかる。この差が、ハードの完成の遅延を招き結果的にソフトの試験期間を短くしてしまったと考えられる。作業開始前に、時間の割り当てを考えて、一日の目標を定めて計画的に行うべきだった。その段階で発生したエラーはその週に直していけば、もっと良い結果になっていたかも知れない。ソフト班の作業時間が長くなっているのは、エレキの補助に入っていたことも影響している。
4.総括
-
- 全体(マネージャ):
マネージャーとして1年間を反省すると、まず浮かぶのが私のマネージャーとしての統率不足・計画力不足であった。他の班に比べ別段作業時間が劣るわけではないが競技会の結果は芳しくなかった。プロジェクト失敗の原因は複数あるが、一貫して言えることが作戦ミスである。私たちの作成したオリジナル機の方針自体がプロジェクト達成を意識できていなかった。詳しく見ていく。
まずエレキの観点から述べる。私たちのオリジナル機ではDB,MCB,USSとほぼ全てのボードを一新した。今考えればこのとき本当に必要であった改良はDBの改良のみである。USS,MCBは既存のものが使用できていたがMCBは省スペース化のために,USSは近距離を図れるようにするために新規に製造した。この二つはMIRSハードへの搭載の仕方を多少工夫することで実現できていた。結果として私たちはMCB,USSのデバッグ作業に多くの時間を費やすことになってしまった。
次にソフトの視点からだが全体の構成がよくなかった。Switchcase文をループにかけスレッドと併用することをコンセプトとしたが、この特徴を生かし切れていなかった…というよりも競技会でゴールするためのコンセプトとなっていなかった。
以上2点まとめるとゴールを意識した設計ができていなかった。
またそのための日々の開発の目標がなく時間いっぱいまでがむしゃらに作業を行うだけだった。競技会へのプロジェクトが失敗に終わったことは悔しいが学べたことは多くある。MIRSで味わった過酷さも悔しさも全て私たちの糧になるでしょう。
- メカ:
シャーシ
上下段シャーシについては、特に問題なく作成を進めることができた。ただ、小型化をしすぎて、電源ボードや、バッテリーなどのあまり問題視していなかったものの設置に手間取った。バッテリー設置は最初、下段シャーシの下に棚を作りそこに乗せる予定でした。しかし、棚が段差に引っかかってしまう問題が発生したため、上段シャーシの上にバッテリーを置くペースを造ることで問題を解決しました。
サスペンション
小型化に伴い、サスペンションに使用できるスペースが少なくなり、難しい構造にできなかった。いろんな案を考えたが採用した案が一番無難で、簡単だった。しかし、ばねをどんなものを使えばよいかが分からず、使うには強すぎるものを買ってしまい、4本使用するところを1本に変更した。
- エレキ:
ドーターボード
DB,FPGAボード間の接触不良が多発していたため、その改善のために作成した。今までのどの班にもなかったCPU,FPGA,DB全てのボードをドッキングさせるという方法をとった。基盤自体は、昨年度のドーターボードを参考にピン配置の変更など多少の改良を加えたが、ほぼ変化はしていない(詳しくは詳細設計を参照)。
超音波センサーボード
新規に超音波センサーを作成した。標準機のUSSよりも高いパフォーマンスを求めたが、本番までに十分な能力を発揮できなかった。(詳しくは超音波センサ詳細設計を参照。)
モーターコントロールボード
本来2枚あるボードを回路は変えずに連結させ、総面積を削減し、本体の小型化に貢献した。・・・そのはずだったが、様々な原因による不調のため、最終的には初期に使用していた標準のボードを使うことになった。結果としてそのほうが安定したのでそれは良かったのだが、我々の計画がうまくいかなかったことについては不満が残る。
- ソフト:
thread関数群
当初、uss(右,前,左,左後ろ)・encoder・ts_ws_rs・mainの7個のスレッドを軸に、例外処理やmotor_restart処理をする予定だった。しかしシングルコアのCPUには負担が大きくプログラム実行途中でフリーズしてしまった。一部のスレッドを統合し、負担を小さくしたが、その分処理速度が落ちてしまった。デバッグを開始したのが本番3日前くらいだったので、もう少し早ければうまく対処できたと思う。
障害攻略関数群
各関数内にとどまらないことで、例外処理に迅速に対応できることをコンセプトとしたプログラム開発だったため、while文を使わずに処理段階を保存するプログラムの作成を求められた。
障害攻略プログラムは、GO(通路走行),ROTARY(ロータリー攻略),COSMO(小部屋攻略),DB(ダイレクションボード),GOAL(ゴール判定)に分かれている。プログラム自体は設計,コーディングは完了していたが、時間が間に合わず走行テストをせずに終わってしまった。やはり、本番2週間前には走行テストに入りたかった。
モータ周りの関数群
直進,90度回転,ロータリ旋回,曲がり角攻略のプログラムを作成した。すべてのプログラムを_packet()まで分解し、独自のプログラムに変更した。また、ほとんどのプログラムにてussとエンコーダによるPD制御が行われている。正確性,速度,滑らかさすべてにおいて完成度の高い直進を完成させた。また、これらのプログラムは引数内のussの値を定数にしても片側によるPD制御を可能とした。(テストは未実施)一番こだわったところであったため、唯一テストが進んだ関数群であ
る。
プログラム全体を通して
攻略の王道であるシーケンス制御を捨て、ほぼすべての関数にて状態遷移を行う関数を作成した。本来シーケンスでやることをすべて状態遷移でやることのメリットは、その状態をテキストに保存しておくことで途中再開が容易であったり、while文のように1つの関数にとどまらないので、センサの値を利用、mainスレッド内で例外処理を行い得る点だと考えた。今まで作成したことのないプログラム構造なためデバッグがスムーズに進まず、また時間不足もあり試験テストはほとんど完了しなかった。そして、今までにMIRSにおいて凡例がみつからなかったので、この方式が正しいかどうかもわからない。しかし、このMIRSにおいて新しいことに挑戦したことは、無駄にはならなかったと思う。来年のMIRSで、この方式を取り入れる班がいたら、ぜひ完成させてもらいたい。
5.感想
-
- 大塩雄馬:
1年間を振り返ると、無駄が多かったと思う。本番までに満足のいくところまでいけなかった原因はたくさん挙げられると思うが、最初に引いたMIRSの状態の悪さが大きく関わってくると思う。最終的には、モータやロータリエンコーダ等の、本来は自主製作せずに使い続ける部品もほとんど替わっている。自分は最初から主にMCBの製作・デバッグを担当したが、序盤は仕組みが理解できず、動作の状態から回路に関連付けてデバッグ作業をすることができなかったため、非常に非効率的だった。最終的には効率的にデバッグ作業を進めていくことができたが、使用するボードを途中で替えたり、作り直したりと、安定にたどり着いたのはあまりにも遅かった。結局過去のボードをそのまま使う結果になって、それまでデバッグに費やした時間が無駄になったりと、反省点が多い。カリキュラムの面での不満もあって、最後の追い込みを除いてはドキュメントの作成やレビュー等の事務的な内容がメインとなって、MIRS開発に全力を注げなかったというところがある。最終的に本命となるオリジナル機は、開発がスタートしたのがかなり後半だったので、開発が追い付かなった。このカリキュラムは、ドキュメントに力を入れさせすぎているとおもう。無駄が多すぎる。こんなんでは、先輩たちのMIRSが1年間費やしても十分な完成度を得られなかったのも頷ける。本来レビューがあるドキュメントも、スケジュールが押していたという程度の理由で省かれるのであれば最初から必要ない。 1年間班員と協力して開発がすすめられたので、その点についてはいい経験を得られたと思うし、この経験を将来に生かせたらいいと思う。
- 齊藤卓也:
一年間MIRSを開発し様々なことを学び、感じてきたと思います。私はチームが決まった時点ではソフト・エレキとして仕事をしていましたが、
体験入学が終わったあたりからエレキを中心に仕事をしていきました。私が今回特に力をいれたのは超音波センサです。標準機の超音波センサよりもいいものをめざし
開発をしました。何度かトラブルがあり、大変でしたがある程度は形になったのではと思います。来年度引き継げるように今年度中に改良を済ませたいと思います。
本番でロボットが思うように動かないというのはとても悔しいことです。私は計画をしっかりと練り、それを完遂することの大切さを改めて実感しました。
これからは余裕を持った開発を心掛けたいと思います。一年間チームでMIRSを開発しました。とても楽しいチームだったと思います。
- 齋藤亮:
まずドキュメントマネージャーとしての仕事を振り返ってだが、ドキュメントの作成が決められてから管理台帳に上げるのはどの班よりも早く行ってきた。この一年間で、一年生の時にしか使ったことのなかったhtmlの知識がかなり向上したと思う。
次にエレキの仕事についてだが、MIRS1201班は昨年の受け継いだ機体に搭載されていたボード類にもとからのトラブルが多く、基盤の作り直しやデバック作業がほかの班に比べ多くなってしまっていたと感じる。自分は、それらのデバック作業や基盤加工機を使用した基盤の設計を何度も行うことができたので、基盤加工機の使い方や回路図の読み方などは当初のほぼゼロに近い知識に比べたら格段にレベルアップしたと感じる。そして何よりも、はんだ付けの技術が格段に向上した。最初は本当に基盤面が汚く、ショートも多かったが最後には基盤1枚を通してほぼショートさせることなく綺麗に速く作れるようになった。
最後に1年間のMIRS全体を通しての感想と批判をする。一年間のMIRSの作業は全体を通してかなり楽しんで行うことができ、知識、技術の両面において大きく成長することができたと思う。今年度はクリアする班も出たが、もっと多くの班がクリアするために個人的に思ったことを書く。まず、毎年のことだと思うのだが、どの班もエレキのデバックに多かれ少なかれ時間を取られたと思う。基盤のデバックは数をこなせばこなすほど上手くなるものなので、最初の段階で、標準機の基盤を一度は作成するべきだと感じた。そうすることで基盤の役割もより理解できると思う。そして、オリジナルの機体作成にあたる時期が遅過ぎる。今回も班によっては注文したパーツが届くのが競技会終了後になってしまっている。これに関しては完全に教員側の時期設定のミスなのでもっと考えてほしい。標準機で、高専祭までやっても、ハードを大幅に変更すればプログラムの変更も行わなければならないので、せめて夏明けにはオリジナル機体の設計に入らせてほしかった。また、最初のころはドキュメントのレビューが多すぎる。ドキュメントを書くことに関して文句はないが、結局最後になって、もっとレビューを行うべきドキュメントのレビューが行えなくなるなら、レビューを行わなくてもチェックだけでいいものはそうするべきである。最初はこの授業はドキュメントを書く授業かというくらいだったと思う。誰も声には出して言わないと思うので、主催側と、作業側の思いの違いを書いてみました。
以上、一年間とっても楽しく、班の雰囲気も良く作業できたのでいい経験になりました。
- 清水祥平:
私は、メカを担当していました。メカの方針は、『エレキ、ソフト班が作業をしやすいメカを作る』でした。開発では、SolidWorksという使ったことのない設計ソフトを用いました。まだ使えていない機能もありますが、不備なく使用できるようになりました。
標準機を基準に作っていたため、お手本がある状況での開発でやりやすかったです。ただオリジナル機体は、ほとんど標準機の部品を使わず、作り替えることになったので、シャーシや、バンパー、基盤を支えるスペンサーやねじの長さなど、ほとんど一人での加工作業で大変でした。しかし、そのおかげで、ボール盤やコンタマシン、卓上グラインダなどの機械の使用を効率的に行えるようになったと思います。
MIRSの機体の組み立てをしていた時、自分の作った部品で一つのものができていくことが、うれしかったです。だた、設計の段階で不安だった部分があったのにもかかわらず制作を進めてしまい、作ってから変更を余儀なくされた部分があったため、もっと考えてから制作をしたらよかったと後悔しています。
また、MIRS紹介動画を作りました。ほかの班に比べて、クオリティの低いものでしたが、自分では満足できるものができたと思います。
競技会での結果は、残念なものでしたが、それ以上に班員と学べたものがあると思います。この失敗を胸に次へと生かせていくよう努力していきたいです。
- 鈴木雄太:
この1年間のMIRSの活動において、自分の良いところや悪いところがすべてあらわれていた。面倒くさがりなところ、頑固なところ、追い込みに強いところ、発想力など、すべてだ。それは、班に対して大きく貢献した反面、たくさん迷惑をかけたと思う。私の作業にはムラが多かった。やる気が高く、MIRSに集中する時期もあれば、やる気なく全然はかどらない時期もあった。このような中途半端な活動が、本番の結果に影響したと思うと後悔が残る。
しかし、よかったこともある。まず第一に、プログラミング技術の向上だ。私は、この1年間ソフト班として活動してきたが、班員の中で一番ソフトに携わってきた(その分ほかの部署への貢献が乏しいが)。そのおかげで、C言語の知識はもちろんのこと、プログラミングのセンスやデバッグの対応力が磨かれたと思う。また、これからの人生において役に立つこともたくさんあった。チームワークや計画性、フィードバックの大切さなどだ。実は、これらはMIRS活動においてなしえなかったことである。うまくいかなかったからこそ、深く心に残り学ぶことができた。
私は、1度も失敗しない人にはなれないだろう。しかし、失敗を次に生かせる、同じ失敗を2度しない、成長し続ける人にならなれると思う。
1班は、ほかの班に比べてひとりひとりの個性の強い班だった。そのため、マネージャーの戸本は苦労したと思う。今後人の上に立った時、ここまでまとめるのに苦労するメンバーはいないだろう。そう考えると、戸本にとっても、そしてそれを見ていた自分にとっても良い経験になった。
もう一度MIRSをやろうとは思わない。(しかし、もう一度、みんなで1つの課題に挑戦する時が来たら、次は必ず成功させる。)
- 戸本佳佑:
プロジェクトへの感想を上で述べたのでここではお世話になったの先生方に感謝を示したいと思います。出川先生、青木先生、牛丸先生、大沼先生、江上先生本当にありがとうございました。
- 平柳匠大:
MIRSは一年間通してとても大変だったと感じた。振り返ってみていろいろなスキルが伸びたと思う。
まずはハード。一番大変だったのがMCBだった。1201班では2つあるMCBを1つのボードに集約させるという改良を行った。それが標準のものと同じように作ったはずだが正常な動作がしなかった。毎回テストするたびに動作が違い、全く安定しないものだった。その度にショート箇所の確認し半田づけしたり波形をみて誤動作のチェックをしたりした。結局原因は他にもあり、PICであったりロータリーエンコーダであったりで基盤のデバッグがこんなにも大変だとは思っていなかった。
エレキのデバッグを行っているときがMIRSで一番楽しくなく、本気の鬱になるかと思った瞬間であった。だからこのような仕事には絶対、就いてはいけないと確信できたので私にとってのかなりのプラスになった。MIRSにはこのような目的も含まれていると実感できました。
次にソフト。私はソフト班の一員なので主にこちらに力を入れてきた。1201班は他の班と比べて新規に作るプログラムの数が圧倒的に多かったと思う。そこで仕掛けをクリアするための戦略を班員と提案、討論して結論を出すというプロセスで想像力や考えを伝える能力などを伸ばすことができた。
そしてプログラムを作る工程で求める機能を実現するために今まで学習してきたスキルを活用し、また新たな知識や知恵を積極的に取り入れることで実現させた。
またmainプログラムの構造に今まで学んできたことにはない方式を取り入れたので、用意するプログラムにもいろいろな工夫ができた。NO.1にならなくてもいい、もともと特別なONLY1♪という言葉がとても似合うプログラムになった。
結局、ハードウェアの作成に時間を取られてしまい、プログラムを実装して動作を確認する時間がほとんどなくソフト班としてはとても残念だった。実際にプログラムを動かしてみて、なかなか思い通りにいかず、修正していく工程でプログラミングの力がついたのでMIRSの存在意義を少し感じることができた。
全体を通して計画通りに作業が進むことが少なかった。計画をしっかり決めずに曖昧にしてしまうことや作業の効率が悪いなど、反省すべき点はたくさんあった。そこでMIRSを通して得たことや反省すること、全てを生かして次に繋げていきたい。
- 望月隆星:
私は今回プロジェクトチームに入りコース製作やホームページの作成をしてきました。今回初めて行ったホームページの作成についてはなかなかうまく編集できないことも多く最後のほうに至ってはプロジェクトのほかの仕事が忙しくまったく更新することができませんでした、これはもっと初期の段階からgoogleアナリティスクを使ってアクセスを解析していたらモチベーションが上がってよかったかもしれません。また今回私が考えて作った配置を自由に変更することのできる小部屋が使われずに結局解体したことが少し心残りです。あと三年生への忠告 Google アナリティクスはお早めに!
沼津工業高等専門学校 電子制御工学科