2011年6月6日月曜日

活動8回目

今回の進歩は、シーソー攻略と、尻尾スタートの作成。

シーソーの攻略はかなりのクリア率ですが、ダブルを狙うにはまだまだ悩み中です。
シーソーが倒れる衝撃で、走行体もシーソーから落ちてしまうといった状態で。
ダブル攻略にはまだまだかかっちゃうのかな。

尻尾も、完全停止からのスタート、ルックアップゲート攻略、ルックアップゲートからの復帰までは完了していますが、走行状態から完全停止させるのが未だ固まってません。
んー、とりあえず適当につくって完成させちゃうかな。そろそろ飽きてきた。。。

そういえば、次回までに完成が目標だったような。
まぁチューンナップはおいおいやって、とりあえず形はつくってしまうかー。

2011年5月26日木曜日

活動7回目

活動6回目は仕事が忙しく参加できなかったので、飛んで7回目。。。

まぁ、話を聞いた限りでは、6回目は各自こつこつ自分の課題をやってましたとさ。
特に目立った変化はないそうです。

なので割愛。

===

今回は、今後の段取りについて色々話しました。

内容は
・全員が開発するための環境作成(メインリポジトリ作成)
・コミットの際はみんなでソースチェックする。(ソースレビューというより、今のメインの状況をみんなにつたえることを意図)
・後になって設計は絶対に困る。だから各攻略法については今のうち設計書を作っていこう。
・マイルストーンを決めて、しっかり管理していきたい。各自担当を割り振り、目標をもって行動してもらおう。

ってな感じです。チーム活動っぽくなってきたんじゃないでしょうか。

メインリポジトリは、必要になるだろうということで速攻で作ってたので問題なし。
ソースチェックもいいんじゃないでしょうか。知らず知らずに勝手に変化されるとついていけなくなるし、理解がめんどうになったり、モチベーション下がったり。
小規模プログラムですし、少量の時間で認識違いの発生を防げるのなら安いもんですよね。
みんな特に文句なしの案でした。

設計に早めに手をつけるのも特に文句なし。
ただ、UMLの経験はみんな乏しいので、プログラムになかなか手をつけられず、フラストレーションがたまることが不安。いやいや作った資料なんて使い物にならないですしね。
とりあえず最初は甘めのチェックで、どんどん先に進んでもらえばいいですかね。経験値をどんどんつんで、後で精査すればいいかなーと思います。

マイルストーン。
ある程度、目標を具現化してやることはいい刺激かなとも思います。ただ、厳しい期日や甘めの期日は開発者に心的なマイナス効果を与えますから、あまり意識させすぎず、かといって忘れさせず、のような感じで、いいプレッシャーを与えてもらいたいですね。
まぁ、これがないとやってること学生以下ですからね。マイルストーンをたてることに反対も何もないです。

とまぁ話あいはこんな感じです。

2011年5月15日日曜日

活動5回目

活動は火曜日ですけど、おそばせながらの更新。

レギュレーションでてからの、初活動でしたので、みんな自分用の走行体を作成。

みんな1時間くらいで仕上げてましたけど、僕は4時間くらいかかった。。。
とにかく部品がなかなか見つからず、みんなの前でずっとLEGOのパーツガシャガシャあさってました。同じ部屋の皆様、騒がしくてすみませんでした。

とりあえず、レギュレーションが出たので、みんなで課題をだしあいました。

ベーシックコースの制御はどうやるかとか、ボーナスコースで各難所の攻略はどうやるかとかが課題です。まぁ、あとはこまかいので省略。

まずは、各自、興味のあることを片付けていきましょう。ということになりました。

僕はちょっと興味のあった、ルックアップゲートから。

ルックアップゲートの高さって、結構ぎりぎりで、走行体をどれだけ傾けないといけないかというと、約30°くらい?(別に計ってはいないので、信じないでください。)

走行体の重心って結構後ろ気味だから、ぎりぎりの角度を調査しないといけないかな?とも思ったけど、尻尾適当な角度に調整して、モーターまわしたって、すんなりクリア。以外に簡単です。

次はルックアップゲート超えた後に、倒立振子状態に戻そうと思い、ちょっとプログラムを修正。

ルックアップゲートを超え、元に戻れー!と期待するやいなや、ぜんぜん復帰しねー。
まぁ原因はすぐわかったので、尻尾のプログラムをちょっと改善してルックアップゲート超えた後に、倒立振子状態に戻すとこまでは出来ました。

あとは、走っている最中からどうやってリンボーダンス状態にさせるかってとこなんですが、この日は時間がなくなって、とりあえず次回に挑戦。

とりあえず、走行中に完全停止させて、そっから適当に傾けてやればいいだけかな?
てか、どうやって、走行中完全停止させよう。ジャイロって振れているのが前か後ろかわからないんですよねー。尻尾たらして、エンコードでもみてやればいいのかな。
そういえば、走行中に完全停止させる動画があるって聞いたなー。後で、ちょっとさがしてみよっと。

2011年5月8日日曜日

また競技規約

昨日はBluetoothのほうしかみてなかったから、競技ルールのほうも。


http://www.etrobo.jp/2011/gaiyou/kiyaku_honpen.php


コースががらーん(゚ロ゚;)と変わりました。

今までの周回コースを捨てて、スタート地点とゴール地点がわかれることに。
そして、難所はゴール後にボーナスステージとして置かれることに。

スタート~ゴール間で、途中ドルフィンジャンプポイントがある!と思ってしまいましたが、ちゃんと通過ポイントつくっとりますね。ライントレースのみでがんばれってやつですね。ややこしい。。。だまされた。。。うぅっ。。。

てか、これだったら、そんなにライントレースする距離長くないから、そこそこ早めのライントレースができれば、問題なさそう。難所攻略のポーナスでどれだけ稼げるかが肝っすね。
あまりライントレースに時間かけるのやめよっかな。


あとは難所について。

まずは、初公開の難所、ルックアップゲート。

謎。。。(何が脅威になるのか)

と思ったので、調べてみたら、リンボーダンスのようなものだと。
尻尾をうまく使ってやってくれだと。

まじですか。。。ゴール直後にこれですか。。。
昨日は尻尾いらね。と思ってましたが、尻尾必須でした。

てか高さ235mmってどんなもんなんだろう。
早く試したいなぁ。

お次はETタックル

これもまた、謎。。。
ペットボトルが相手から無造作に置かれるということですが、青枠に置けるということは、普通にライントレースしたらぶつかるところに置けるということかな。
超音波センサって、真正面に直線方向、そして両目のセンサーが感知しないと認識しないから、片方のタイヤにひっかかる程度の障害物は認識できないんですよねー。
これはくねくねするしかないのか。。。
去年はくねくねしてるチームいたけど、あれは制御しにくいだろうなぁ。
まぁベーシックタイム以降、時間稼ぐ必要ないし、静止して周り確認して走らせる、とかでいいかも。


そしてシーソー

まぁ、前回からの継続なので。。。
と思いきや、ちゃっかり、ちょっとルール改変。

ボーナスポイントにシーソー静止ってのがなくなって、シーソーダブルが追加。
一度シーソーを前に倒した後、そのまま降りずに後ろに倒し、また前に倒したら10秒。(少な!)
これ出来たらかなりすごいと思うけどなぁ。。。でもリスクはスーパー特大。
挑戦するか悩むなぁ。。。


階段、ガレージイン
は前回とかわらないのでいっか!なるようになれで。

競技規約

やっと競技規約が出ました。(おそばせながら)

まだ、あまり読んでないですが、BluetoothのFAQを見てみると、
競技中の間、Bluetoothの双方向通信がありとのこと。(但し、その間、通信機器は操作出来ない)

これは戦略がかなり分かれそうですねー。
走行体につめるメモリって少ないからPCにMAPでも仕込んで、走行体に随時送り込むか。
でもBluetoothの送受信ミスとかありそうでいやだなぁ。(ありえるのかは知らないけど)
ちょっとこれは色々考えないと。

***
あと、完全停止の機能、スタート時のときだけみたいですね。
一度でも完全停止でなくなった時点で、競技終了まで通信機器の操作は出来ないとか。。。

じゃぁいらね、ということもないでしょうが(スタート時の人為的ミス防止くらいか?)、
重要さが恐ろしく少なくなった。。。

でも、PCからスタートさせたほうがスマートですし、完全停止からのスタートは決定かなー。
(てかせっかくあるんだからつかってみたい。)

2011年4月26日火曜日

活動4回目

レギュレーション出ず。。。

きっとゴールディンウィーク明けです。来月からがんばりましょう。

===

今日は難所(シーソー、階段、坂道)を上司から頂き、
早速組み立てて、挑戦しました!

先ずは最初のシーソーをクリア!(リモコンで)
そして、次は階段をクリア!(リモコンで)
更に、坂道をクリア(リモコンで)

まぁ、特に攻略法を見出したわけじゃないですが、人為的操作であれば結構簡単にクリアできるんだということがわかりました。
過去の大会結果を見たら、難しいんだろうなぁ。。。とみんな悩んでたけど、今日の結果で、みんなの目に輝きが戻ってきました。

上司からも、PID制御を使えば攻略できるんじゃない?みたいなアドバイスも頂き、
旋回値だけでなく、速度についてもPID制御を使うことなども検討材料に増えました。

I値を使って、急激な速度変化を抑え、P値を使ってブレーキをかけるなど。
PIDって色々使えるんですね。全然なんに使うもんか知らない状態から、結構理解が高まってきました。(まだまだまだですけどね。)

難所攻略方法の雲行きは上々です。

2011年4月19日火曜日

活動3回目

活動3回目。

まだ、レギュレーション出ません。。。これはGW後かな。。。

===

ブルートゥースについてちょっと学んだので、情報公開。
-----ブルートゥース情報-----
■受信
最初の2バイトに不必要なデータが入っている。(恐らくは送信回数?)
なので、2バイト読み捨ててから、走行体が送信したデータ分を読み込む必要がある。
■送信
最初の2バイトにデータサイズを設定しないと送信できない。
ただし、ビッグエンディアンであり、ヘッダサイズ(2byte)は含めない。

適当ですが、詳細はもうちょっと学んだら公開しようかなと。


今日はついにモーターの調査を行いました。

合計8種のモータを調査。この結果を元に精度がそろうモータを左右につけたいと思います。

30秒の回転数の計測結果(小数点.1以下を四捨五入)
-----モータのエンコーダ値-----
A : Rotate    12331
B : Rotate    12354
C : Rotate    12529
D : Rotate    12282
E : Rotate    12477
F : Rotate    12596
G : Rotate    12604
H : Rotate    12938
それにしても結構変わるもんですね。。。
ということで、F,Gのモータを採用。(完全停止用のモータはどうでもいいので。)

早速これをつけてみて、まっすぐ走れるのかテスト。

画像は用意できませんが、過去と比べるとかなり精度があがりました。
やはり、モータ毎の性能差は影響が大きそうです。

 まだ色々やりましたが、続きはまた明日。