記事一覧

ブログトップ

○活動内容○
各自それぞれのペースで、マイクロマウスを作る。

○次回会議日程○

日時:7月29日(木) 17:30~
場所:F棟3階
内容:個人報告

○マイクロマウス東日本支部 月例会日程○
日時:8/28,29
場所:芝浦工業大学豊洲校舎
内容:勉強会,試走会など 詳細

○その他○


・東日本地区大会・・・未定
・全日本学生大会・・・未定
・全日本大会・・・未定             

※会議や大会の日程など、常に表示しておきたい基本情報を載せておきますので、各自追加したい内容を編集してください。

※このブログは、電通大マウス部隊員なら誰でも更新が出来るブログです。進捗や質問、ネタなどを自由に書き込んでください。(全体管理者:部隊長、書記、05年部隊長)

Basic Mouseの等高線マップ作成関数の高速バージョン

こんにちは、Web担のソノベです。
月一更新がWeb担の務めと言うことで、
今月は、Basic Mouseの迷路探索の足立法で使う、
等高線マップ作成関数の高速バージョンについて書きます。

等高線マップは、目的地点からのステップ数を、16×16迷路の区画すべてに割り当てたものですが、
Basic Mouse在中のmake_smap関数は、各区画にステップ数を振る時に、1つ前のステップ数がある区画をfor文を使って探し出します。
16×16区画を1つずつ調べて行くので、とても時間が掛かります。

しかし、1つ前のステップ数がある区画の場所は、その区画にステップ数を入れた時に分かっているわけです。
つまり、あるステップ数をある区画に割り当てた時に、その区画の座標を記憶しておけば、
その次のステップ数を割り当てる時に、1つ前のステップ数の区画を探す必要が無くなり、高速化が図れます。

この時、区画の座標を記憶する方法が重要となるのですが、
ここでは”キュー”を使います。

キューは、情報の記憶に使われるデータ構造で、情報を入れる配列と、情報の先頭位置を指す変数と、末尾位置を指す変数の3つで構成されます。
キューに情報を入れる時は配列の末尾に順に入れて行き、
情報を取り出す時は先頭から順に取り出します。

イメージとしては、飲食店などの順番待ちの行列と同じで、
キューに入れる情報を人間、情報を入れる配列を行列とすると、
先に列に並んでいたお客さんから順に入店し、あとから来た人は列の最後に並ぶ、という具合です。

こんな感じで区画の座標情報を記憶します。
実際にプログラムを組んだのが下です。



make_smap2(int gx, int gy, int mode){
unsigned char pt1;
short x, y, z;
unsigned char wdata;
unsigned q[257]; /* 区画の座標(0~255)を入れる配列
左下0、右下15、左上240、右上255 */
short head, tail; /* 先頭位置, 末尾位置 */

for (z=0;z<256;z++){ /* 等高線マップを初期化する */
smap[z/16][z & 15] = 255;
}
smap[gy][gx] = 0; /* 目標地点に距離0を書き込む */

q[0] = gy*16 + gx; /* 目標地点の座標を記憶 */
head = 0; /* 先頭位置を初期化 */
tail = 1; /* 末尾位置は、最後の情報位置+1 */

while(head != tail){ /* 配列の中身が空ならループを抜ける */
x = q[head] & 15; /* 配列から区画の座標を取り出す */
y = q[head] / 16;
head++; /* 情報を取り出したので先頭位置をずらす */
pt1 = smap[y][x] + 1; /* 新しいステップ数 */
wdata = map[y][x];
if(mode==T_MODE){
if (((wdata & 0x11)==0x10)&&(y!=15)){
if(smap[y+1][x]==255){
smap[y+1][x] = pt1;
q[tail] = (y+1)*16 + x; /* 次の区画の座標を記憶 */
tail++; /* 情報を入れたので末尾位置をずらす */
}
}
if (((wdata & 0x22)==0x20)&&(x!=15)){
if(smap[y][x+1]==255){
smap[y][x+1] = pt1;
q[tail] = y*16 + x+1;
tail++;
}
}
if (((wdata & 0x44)==0x40)&&(y!=0)){
if(smap[y-1][x]==255){
smap[y-1][x] = pt1;
q[tail] = (y-1)*16 + x;
tail++;
}
}
if (((wdata & 0x88)==0x80)&&(x!=0)){
if(smap[y][x-1]==255){
smap[y][x-1] = pt1;
q[tail] = y*16 + x-1;
tail++;
}
}
}else{/*S_MODEは省略*/}
}
}

探索モード(S_MODE)の記述は割愛します。
マウスに組み込む時は、忘れずに書いて下さい。
と言いますか、このプログラムを実際に動かしたことがないので、
大変なことが起こったらごめんなさい。
マウス作ります。

新Web担

こんにちは、ソノベです。

今度、新しくWeb担になります。

それでマウス部隊のページをあれこれ見ていたら、僕が副部門長だということが分かりました。
知りませんでした。

この前の月例会の帰りに市ヶ谷駅で迷子になった時に、
キクチ先輩から、僕が来年度の部隊長になると伺ったのですが、
こういう言葉はなかなか慣れません。
今の僕が、今の先輩方と同じ立場になるというのは不思議な感じがします。

世代交代の波がすぐそこまで押し寄せています。
先日の新入生初回会議には10人近くが来てくれました。
良いことです。

僕も立派な先輩になれるよう、今年こそマウスを完成させたいと思います。
新しいWeb担をよろしくお願いします。

コメント一覧

キクチ (05/17 02:52) 編集・削除

あれっ、副部隊長って言ってなかった?
・・・まぁそういうことだよ

今年は新入生が多くて良かったよ
一人も取りこぼさないように、気を引き締めていこうね!

あと「市ヶ谷駅で迷子」は余計だよ
あれは迷子なんかじゃない・・・

お久しぶりです!

お久しぶりです。

キクチです。

今年に入って、一度も更新せずにいたこのブログですが・・・

今夜、お久しぶりの更新をもって復活です!

最近の出来事はまた明日以降ということで、
今日は先日お邪魔した、東京理科大「Mice」さんで行われたプチ大会のご報告をしたいと思います。

とういことで、3/28に「Mice」さんで行われたプチ大会に、こちらから4人(うち1人は見学)参加させてもらいました。

「Mice」の皆さん、ありがとうございました。

私と我が相棒は寝不足でなんともパッとしませんでしたが、
参加した先輩2人の走行動画を挙げたいと思います ↓

・チンチラ

・BRAVE


斜め走行は違いますね・・・


私のマウスはというと、探索のみで最短できずに終わりました。
サーキット競技でも、スラローム旋回後に壁にクラッシュするという、原因不明な挙動にショックを受けましたが、
つい先日の新歓活動でデバックしてた時に原因(右モータ制御のコードが一行分抜けてた)を見つけられたので、ひとまず安心してます。

次回はいいところを見せたいです。


ということで、改めまして「Mice」の皆さん、ありがとうございました。

こちらで開催するプチコン(日程は未定)も宜しくお願いします。


今後は更新を怠ることのないよう肝に銘じ、今日は寝させて頂きます。

おやすみなさい。

コメント一覧

後藤 Eメール URL (04/17 00:32) 編集・削除

その節はどうもありがとうございました。そちらでプチコンが行われた際には、是非参加させていただきますので、よろしくお願いします。

Yu (04/17 02:36) 編集・削除

やっとプチ大会反省記事を書いたね。
待ちわびたよ。

ちゃんと反省書いてる、と思ったら自分の動画上げずに人の動画を勝手に上げるとは何事だー!!

とりあえず、ずっと不調だった原因がわかって良かったね。
こ○まうす2を超える今年の新作マウスを楽しみにしてるよ。

キクチ (04/17 22:05) 編集・削除

>後藤さん
コメントありがとうございます。
こちらこそ宜しくお願いします。

>Yu先輩
あくまでも私の目標は打倒先輩方!ですので。

DDD&S (04/19 22:54) 編集・削除

おひさしぶりです、なんか動画が張ってるし
斜め走行してるし、相変わらずスゴいなぁ。
つうか大学顔出してないし、
4月に入ってからは風邪なおんないし、
このまま静かに消滅してしまうのか>わたし

# あれ4月じゃないか。。。新入生の皆さんおめでとうございまする

キクチ (04/21 00:18) 編集・削除

DDD&Sさん、お久しぶりです。

今は新歓ムードでまだ若干慌しいですが。。
元気になりましたら、是非顔を出してください。
そのときには、DDD&Sさんのマウスが見られることを期待してます。

残された時間はあと11時間

こんばんはキクチです。

残された時間は授業時間を除いて11時間ぐらいでしょうか。


今日はタイヤがどれだけ大事か学んだ日でした。
安定した直進、旋回をしない私のマウスのタイヤをYu先輩のアドバイスを受け、張り替えたところ・・・
普通に走りました。
普通っていうと感動が薄いように聞こえますが、
すごく嬉しく、ホッとしました。


以前からYu先輩からタイヤの大切さを説かれていた気がしますが、
私はそんなに違いがあるのかなぁと思っていました。

その重要さを学んだ今現在です。

さぁ、この残された時間で打倒チンチラ!を目指さなければなりません。

どこまでいけるか、楽しみです。
とりあえず、大会時の自分は超えたいですね


うーん。頑張ろう!

コメント一覧

Yu (12/22 02:30) 編集・削除

とりあえず上手く行ったようでホットしたよ。
「打倒チンチラ!」頑張ってね。

後藤 Eメール URL (02/10 21:27) 編集・削除

東京理科大学Mice部長の後藤と申します。
2,3月にマイクロマウスのプチ大会を開こうと考えています。電通大さんにも是非ご参加いただきたいのですが、試験日程はどのようになっているのでしょうか。うちは既に後期試験を終えたのですが・・・。

菊池 (02/11 23:14) 編集・削除

こんにちは、代表の菊池です。
ご招待有難うございます。
是非参加させてください。

日程の件ですが、こちらのブログで返事するのはなんですからMiceさんのブログにコメントを返させてもらいました。宜しくお願いします。

後藤 Eメール URL (03/11 00:28) 編集・削除

3月27日または28日にプチ大会を開きたいと考えています。ご都合の方はどうでしょうか。

菊池 (03/13 13:44) 編集・削除

コメント有難うございます。
日程の件ですが、後藤さんのEメールの方に返事をさせてもらいました。
お手数ですがよろしく願いします。

全日本の詳細結果UP!

全日本マイクロマウス2009の詳細結果が公表されました。

ロボメカ工房の結果

公式HP

来年こそは・・・  そして・・・

こんばんは、キクチです。

2009年の最後の大会が終わりましたので、ここらで来季への抱負を込めて今季の反省をしようかと思います。

とりあえず、今季の大会成績↓

・東日本地区大会
  マシンが間に合わず棄権・・・
・学生大会
  [クラシック] 31位 01:45.674
   探索は出来たが、設計ミスによるリセット?がかかり、最短は出来ず。
   しかし設計ミスを発見できて良かった。
  [サーキット] 15位 00:20.210
   超信地旋回により走行。
・全国大会
  [クラシック.エキスパート] 25位 00:16.901
   あと一歩のところで決勝には進めず。しかし、嬉しい。


反省点は、なんといっても新マウスの設計に乗り出すのが遅かったこと。
地区大会に間に合わせるつもりで始めたんですが、2週間で間に合うわけがない。
完成したのは、学生大会直前という有り様・・・

なんでしょうかね、作りたかったんです。まぁ作ったことに関しては全然後悔してません。EAGLEを使って設計出来るようになりましたし、SHマイコンも搭載でき、その他いろいろと勉強になりました。ただ、今度からは余裕をもって作ろうと思います。

大会成績の方ですが、全国大会エキスパートで25位は自分にとって出来過ぎかなと。でも、決勝に進みたかったですね。
今大会では計測係をやらせて頂いた関係で自分が予選通過のボーダー上にいたことはわかっていました。それで決勝に行けるんじゃないかとすごくすごく期待していてo(^o^)o 。
結果は進めなくて、すごく悔しかったですが、この結果は嬉しく自信にもなりました。

まだまだ調整不足なあの子はもっと速くなるはず。
オフシーズンではあの子の頭脳を改良しながら、新しい子をどうしようか考えましょう。ステッパーかDCか?
どちらにせよ、なるべく決断は早めにですね(^_^)

来年こそは「あの場」に立ってやります!
そして、大久保先輩をブッ倒しましょう!

コメント一覧

キクチ (11/27 22:16) 編集・削除

もうちょっと書きたかったかな。
でも、長いと見づらいからな・・・
自分のブログがあったら、もっといろいろと書けるんですがね。

ねっ(⌒-⌒)

Yu (11/28 03:14) 編集・削除

>自分のブログがあったら、もっといろいろと書けるんですがね。

作れば良いじゃん(⌒-⌒)

キクチ (11/28 03:29) 編集・削除

いやー、自由に書けるmyブログが羨ましい。

私もOBになったらblogでも作りましょうかね。

Yu先輩のようなちゃんとしたマウスblogは書けなそうですが・・・

abe-ba (12/02 00:55) 編集・削除

私はYu先輩に巻き込まれました。

DDD&S (12/02 22:11) 編集・削除

おくればせながら全日本お疲れ様でした。
楽しかったんだろうなぐすん。

Blogは長く続けることがよいよ。
検索して2~3年前の自分の書き込み
(それも誤った情報など)を見て
独りディスプレイの前で悶絶するのは
いとおかしきことよ
(webの恥は書き捨て(ぉ

yo (12/04 10:15) 編集・削除

>ブッ倒しましょう!

おぉ、こわいこわい(⌒-⌒)

全日本マイクロマウス大会結果報告

報告が遅れましたが、先日行われた全日本マイクロマウス2009の結果報告をさせて頂きます。

以下、操縦者、マシン名とその結果。
[マイクロマウス競技クラシック]

〈フレッシュマンクラス〉
 
  寺崎 清   錦1.5式  特別賞  
    ジャンクのモータを使っていたことが評価されました
 
〈エキスパートクラス〉
   
 「決勝進出者」
   内田 雄太郎  BRAVE    
   大久保 祐人  チンチラ
   平井 雅尊   天旋・改

 ・決勝結果
   大久保 祐人  チンチラ  8位 + 特別賞
    好成績かつ5回の全走行を走り切った事が評価されました

以上の結果となりました。

受賞された方々おめでとうございます。

出場された部隊員の皆さん、お疲れ様でした。
また、競技運営をされたスタッフの方々もお疲れ様でした。

先の大会をもって今季のマウスシーズンは終了しました。
来季の大会でのより良い結果を目指してコツコツと頑張りましょう!

また、今大会の詳しい結果は後日掲載する予定です。

全日本マイクロマウス大会

11月22、23日につくばカピオにて開催される、第30回全日本マイクロマウス大会に参加致します。

会場:つくばカピオ  (茨城県つくば市竹園1-10-1)

日程:11月22(日)、23日(月)

詳細

応援よろしくお願いします。

コメント一覧

DDD&S (11/22 18:32) 編集・削除

家人の都合で
応援にいけんようになってしまった。。。orz
ごめんよう。。。
行きたかったなつくば。。。

全日本学生大会結果報告

3日に芝浦工業大学豊洲校で開催された第24回全日本学生マイクロマウス大会の結果報告をさせて頂きます。

以下、操縦者とその結果、および賞品。
[マイクロマウス競技クラシック]

 内田雄太郎   3位入賞   たい焼きプレート
  
 ロボメカ工房  団体特別賞   
 
以上の結果となりました。

先輩おめでとうございます。

また、ロボメカ工房からの出場者一人一人のマウスに個性があるという理由で団体特別賞を頂きました。
どうもありがとうございました。

出場された部隊員の皆さん、お疲れ様でした。
そして、マウス・ロボトレの両競技を1日で運営された、芝浦工大、ボランティアの方々もお疲れ様でした。

全国大会に向けて頑張りましょう!

コメント一覧

ぶち (11/11 02:10) 編集・削除

おめでとう!うっちー!

ページ移動