ETロボコン開発:日々の記録(4~5月)
ETロボコンの開発にあたり,開発記録を残すことは重要であると感じました。
そこで簡単でありますが日誌のような形式でまとめることにします。
次の月(6月前半)へ
4月1日
ETロボコンに参加することを決定して,最初の打ち合わせを行う。
まずは,スケジュールの確認と,進め方(根本の方針)の決定
スケジュールは以下のような感じ。
・4/1 キックオフ(今回の打ち合わせ)
・4/末 開発環境配布(もしくは自分で構築)
・5月 教育会(ETロボコン主催側のイベント)
・6月 試走会(2回)
・7/2・3 本番
方針は,オブジェクト指向の技術の獲得や,開発手法の獲得。
後は,普段出来ない最新の開発手法を取り入れていこうというもの。
使用するのは・・・
・アジャイル
・XP(eXtreme Programing)
・TDD(Test Driven Development):テスト駆動開発
なかなか楽しくなりそうです。
4月6日
説明会に参加した際に見たロボットから,
ロボットの特徴や,使用しているセンサなどを割り出したので,
その説明会。詳しくは,他のコンテンツにまとめる。
4月12日
ユースケースをみんなで考えたやつをまとめる。
| ユースケース初期版
|
必要と感じているのは,キャリブレーション(センサの閾値の調整など)
が行いやすいモノを作るということと,複数の走行モードを持たせることにより,
コースに対する柔軟性を持たせたいとのこと。
アジャイル形式なので,これが全てのユースケースということではなく,
変更は状況に応じて行う予定です。
4月19日
「走行を開始する」というユースケースと,「ラインを走行する」という
ユースケースに対しての実現的な案を含めての考察。
| ユースケース その2
|
まずは,「直線を走行する」というモデルを作成することから作ることを決定。
そのクラス図設計,実装の流れをXPや,テスト駆動を用いる。
5月9日
しっかり取り組まないと大変な予感がする時期になってきました。
本日は簡単に今後の予定を決定。
担当のクラス分けをして,各自ペアプログラムによりモジュールを作成
という方針をとることにする。
今のところは,センサのObserverパターンを中心のクラスと,
走行モードのStateパターン中心のクラスに分けて作成することにする。
ひとまず出張が入っていたりするので,作業が出来ない・・・。
メンバーの皆さんごめんなさい。
5月16日
出張から帰ってきたら,「定時後でも会社で作業禁止」例が出てしまっていた。
しかも上からのお達し。
メンバーの話を聞くと確かに「やりすぎ」のような気もした。
でも,定時後でも自主的学習活動を禁止させるような会社って悲しいなー。
しかーし,やりすぎの効果ありで,モデルはパワーアップ!!
センサとかはオブザーバパターン。状態遷移もステートパターンで。
実装方法とかもモデルどおりのものを作る方針で進んでいる。
素晴らしい,が参加できなかった悔しさも爆発。
| クラス図 その1
|
5月28-29日
土日しか作業が出来ない環境となってしまい,このままじゃダメだ!
と言うことで,土日の泊り込み合宿をする。(引きこもり合宿)
ひとまずの目標は,「直線を走って,黒→白の判定で停止させる」
といったシンプルなプログラムから。
ひとまずモデルは出来ているので,ひたすら実装。
モデル通りに実装することを目的としているので,ひたすら真面目に作業。
モデルの問題点はその場で修正!これぞXP的。
さあ,われらがLEGOに組み込むぞ!と言ったところで,makefileでの問題が…。
単に複数ファイルでのコンパイルがわかんねーということだったが,
対処にそれなりの時間が食われる。
なお,makefileの書き方は,
開発方法にまとめておきます。
皆さんが苦労しないように・・・
make完了後は,多少の調整ですぐに動作。さすがテスト駆動開発。
後は,リファクタリングして調整して・・・の繰り返し。
モデルも皆の話し合いの中パワーアップ!
タイマー機能の追加などが行われました。
モデルの成長は少しですが,実装がモデルどおり完成!
| クラス図 その2
|
今後の開発へも三歩ぐらい進み,かなりの目処がたちました。
なんといっても動くプログラムになっているのが重要です。
この週末に完成したのは少し動いて停止するプログラムでしたが,
・最初はReadyStateで待機
・タッチセンサーONと,黒線の判定にてスタート(直線走行)
・白を見つけると,エッジ走行に遷移
・エッジ走行遷移後に,1秒経過にて自動停止
との内容を考えると,感激です。
実際の動作はこちらです。
モデルどおりの内容で動くものって素晴らしい!
次の月(6月前半)へ
戻る
ど素人製作所 サイト管理人:みずの
詳しくは profileで。どうやらIE推奨のようです。
メールアドレス:
間違っている部分は非常に多いはずですので,
気付いたら容赦なく指摘してください.
|