DATE: --/--/--(--)   CATEGORY: スポンサー広告
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
page top
DATE: 2016/12/30(金)   CATEGORY: 未分類
ラブリー♡ホイール

先日発注したラブリー♡ホイールが届きました.

部品塊
部品大きさ比較
ホイール表
ホイール裏


最高にプリティー♡な女子力Sの足回りですね!!


ついでなので,備忘録も兼ねて
去年と今年の経験をまとめておきます.
これからハーフマウスの足回りを製作したい人は
こういった足回りの作り方もあるんだな程度に参考してもらえたら幸いです.
先に言っておきます.

この記事を参考にする人はポッピンQを見に行きましょうね??


DMM.makeの3Dプリンタサービスで発注しました.

昨年の足回りもお世話になりました.
材質はアクリル(Ultra Mode)ピンクです.
価格は2804円です.

切削との違いは,主に加工作業の有無だと思います.
自分は切削の加工作業が億劫であるため,
3Dプリンタによる足回り部品を使用しています.
3DCADで作ったデータをそのまま造形が可能です.

前作の気体ではアクリル(Xtreme Mode)を使用しました.
今回は品質調査も兼ねて
モジュール0.3のギア付きホイールとモータマウントを造形しました.
小さいものは磁石ホルダーです.

色に関しては,写真でしかお伝えできませんが自分は気に入っています.
前作ではナチュラルでしたので気分転換には良いです.

歯先の形状は想像よりきれいにできていたため,
実用できそうな気がします.
ただ,強度や使用感については,
新作ができないと検証できませんね.(頑張ります)

気になる精度の話です.
やはり全体的にアクリル(Xtreme Mode)の方が
きれいだった印象があるので色に拘らない場合は
アクリル(Xtreme Mode)をおススメします.
歯車についてはわかりませんが,マウントとホイールについては
前作からも十分実用レベルであると思います.
一度ノギスなどで簡単に計測したいですね.

価格は今回のモデルでは3517円と25%程高くなります.

表面粗さだけは少し気になるので,あとでやすりを使うなりするのもありですかね.


造形モデルを部品ごとに分けて発注する場合高価になってしまいます.
これは,料金が基本料+体積料金となっているためかなと思います.
これを避けるために,部品を一つにまとめることがあると思います.

CADデータ
CADデータ横

この時に,接合部は断面積1 mm×1 mmの角柱(高さは部位により異なっています)
でまとめています.
部品をまとめるうえで注意した方がいいところは,
"部品と部品の隙間がある場合表面性状や精度に影響がでてくる"
という点です.

マウント表面

上の写真のモーターマウントに波紋ができていることがわかります.
側面も同様です.隙間が小さすぎる,z軸に部品を積んでいく場合等は
表面粗さの影響がでないところを選ぶよう気をつけましょう(戒め)
接合部が細過ぎる場合は折れてしまうので気をつけましょう.

部品の分解はカッターなどでパキッと簡単にできますので安心してください.


他の材質に関してはわかりません.
材料によりデザインルールが異なるため各自で調べるようお願いします.
価格に関しては,見積もりだけなら2分程度でいくらでもだせますので
自分でやってみるといいかもしれません.

Inventorでは,
「左上のIマーク→書き出し→CAD形式→拡張子を.stlに変更→オプション→単位をmmに変更→OK」
でアップロードファイルを簡単に出力できます.

それでは
今年も1年ありがとうございました.よいお年を!!!
スポンサーサイト
DATE: 2016/11/22(火)   CATEGORY: 未分類
2016年大会シーズンまとめ



2016年の大会シーズンまとめです.
今年はハーフサイズ競技に参加させていただきました.

今年のシーズンを語るには某赤いマウスの存在が大きいですね.

東日本大会
第5位 ベストタイム 17.273
特別賞シード権

Jr.のデビュー戦でした.
9月初めのころはまともに直進もできない子でしたが,インターンから帰ってきてから
怒涛の10日連続終電追い込みでどうにか間に合いました.
斜め走行を実装する余裕がなく,大回り最短のみの走行でした.
大回り最短のみの走行でしたが5回完走して,特別賞をいただきました.
それと,上位陣の方たちがシード権を蹴られたため自分のところまで降ってきました.
このシード権は今シーズンのモチベーション維持につながりました.
このころは完全にJr.先輩でした.


東北大会
第6位 ベストタイム 9.899

毎年恒例0泊4日弾丸ツアー.
精神と時の部屋にて斜め走行を会得したが大会では失敗.
精神と時の部屋での斜め走行がこちら.




まだJr.先輩.


学生大会
第4位 ベストタイム 7.091

この大会ではほとんどMAXで走ったのでいうことはないです.
ただ言えることはこれだけです.
Jr.後輩になりました.(じゅにあ先輩がいなければ入賞でした)
これからJr.後輩ライフが始まりました.


北陸信越大会
第2位 ベストタイム 5.019

Jr.の初入賞でした.初めて経路導出に手を加えてみた大会です.
直線優先歩数マップを作成し,昨年考えた探索アルゴリズムを実装しました.
がしかし,探索はバグがあり走りたい経路が出ませんでした.
また,迷路路面によって減速時に制御が発散してしまうことも発覚しました.
0.016秒差で1 kgのお米を勝ち取りました.カレーパーティ楽しかったです.
じゅにあ先輩がいなければ優勝してました.
後は,サバ過ぎて鯖になったことくらいでしょうか.

北信越のときのパラメータのまま全日本を迎えることになりました.





全日本大会
第8位 ベストタイム 18.673
団体特別賞

初の32×32の迷路.長い斜め直線が特徴的な迷路でした.
1走目の探索は途中で失敗してしまいました.やはり,32×32探索は難しい.
2走目は途中で迷路データ壊れていたためかスタートだけ切って死にました.
3走目は往復足立法での探索でした.来年こそは自分自身の探索で探索完走したいですね.
4走目はターンが速いパラメータで走ってみたが失敗.
5走目はぶつかりながらも最後に壁切れ判定待ちのおかげでぎりぎりゴールできました.

最初に西側から中にに入ってくるルートを選ぶマウスが多かった印象です.
探索が走れていれば長い斜めのルートを選んでいてくれていたと思うと,Jr.が長い斜め走っているところを見たかった…

まあ結局Jr.は南ルートを選んだわけですけど.大会後に迷路データを吸い出してみたのですが,
壁を読み間違ったわけではなくしっかりと南回りを選んでいてくれた様子.

全日本2016壁

全日本2016最短


これは壁の位置に歩数を置いた斜め対応歩数マップに前回の記事で書いた直線優先を適用した,
斜め対応型直線優先歩数マップです.わずかに南回りの方がコストが低くなっていました.
他の参加者さんの走りをみるに西回りのほうが速いんじゃね?とも思わなくもないです.
来年以降もアルゴリズムの強化は頑張りたいですね.
最後の大会までもじゅにあ先輩の背中を一番近くで見ることになるとは笑.


とこのような流れで2016シーズンを終えたわけですが,
昨年よりも体力的に厳しい戦いが多かったけれど楽しかったです.
やっぱり,マイクロマウスは楽しいですね

今年も多くの人たちと関われて楽しかったです.
大会運営の皆様をはじめ,助けていただいた方たちにはお礼を言わせていただきたいです.
本当にありがとうございました.

大会に出るたびに上がりつづける工芸大さんへの好感度.

最後に全日本大会で苦しくも走りきったJr.の雄姿をどうぞ.


[広告] VPS

DATE: 2016/11/08(火)   CATEGORY: 未分類
フレッシュマン詐欺候補たちへ2

今回は既知区間加速編について更新しよう!と思っていたのですが,
止めました.理由は主に2つです.

① "既知区間加速はかっこいい"が16×16迷路ではその効果は薄い
② Mice guestのドライブに冬の技術交流会で作った簡単な資料をあげてある


今回は今年実装をしたものですが,
フレッシュマンでも簡単に実装できる直線優先歩数マップの作り方を紹介したいと思います.

直線優先歩数マップとは何かというと,
Mice Wikiに記述を見つけたためこちらを参照してください.


フレッシュマンの人たちは足立法ベースの最短経路導出がほとんどだと思います.
しかし,様々な地区大会を経て,

あっちの経路の方が直線多くて良いタイムが出たのに><

という経験も多いのではないかと思います.
そこでこの問題を解決しましょう!(斜め走行はしりません)
これを簡単に解決できるものの一つが直線優先歩数マップです.


今回紹介するのは自分なりの実装なので,Mice Wikiのやり方とは少し変わります.
参考にしてもらえればと思います.
まずは,準備です.

① 歩数マップを16 bit変数に拡張する.
(unsigned char→unsigned short,もしくは,uint8_t→uint16_t)

従来は区画の総数で十分な数でよかったのですが,
重みをつける以上255以上の数になってしまいます.

なので変数の型をより大きなものに変更しましょう.
これで,最大値は65535までとれるようになりました.
32×32の迷路にも対応できますね^^


準備は以上です.それでは直線優先歩数マップを作製していきましょう.
ただ曲がるだけに重みをつけるなら,歩数マップの展開のときに方角の情報を設ける
もしくは,一度展開した歩数マップを簡単に解析する関数があれば,
Mice Wikiの通り簡単にできますね.

しかし,この方法だと長い直線を探すのが面倒そうだと思い,
自分は別の方法をとりました.それを紹介します.

簡単に言うと,"歩数マップの展開の順番を変える"です.

Mice Wikiの迷路を例に説明します.
従来の歩数マップ展開では,以下の順番に次の歩数を決めています.
従来の展開順番

自分の方法ではこういう順番に展開を決めます.
新しい展開順番


違いとしては,従来のゴールを中心に1マスずつ順番に展開していくのではなく,
基点となるマスから4方角の直線状に突き当りがあるまで,
歩数マップを展開していくという点です.
次の基点は左右の分岐がある点のみ候補にします.

この方法なら長い直線を簡単に見つけ出せるかなと考えました.
北に伸ばす例として以下にソースコードを載せます.(見にくいのは許して)
北方向の展開


基本は1歩目は固定として,直線が長くなるにつれて歩数を増やす量を調整しています.
これを残り3方角に伸ばすだけです.
マウスや走行パラメータによって,曲がり角のパラメータや直線減少量を調節してあげると
よりいい経路が得られるかもしれません.
直進優先歩数マップ


これで簡単に直線優先をした経路が見つけられるようになると思います.

ではでは

DATE: 2016/10/14(金)   CATEGORY: 未分類
フレッシュマン詐欺候補たちへ1


今回からはフレッシュマン詐欺になりかけのフレッシュマンたちのために,
自分がフレッシュマンのときに実装した,
ちょっとした小技を紹介していけたらなと思います.


今回は壁の入れ方編にしようかなと思います.

フレッシュマン詐欺になりかけのフレッシュマンたちは,
最短パスを終えてそろそろ自分の好きなことを探求し始めるときだと思います.


探索アルゴリズムの改良に手を出そうとしている人のために壁の入れ方の応用を紹介します.


足立法では物足りない,もっとたくさん探索したい!と思っているあなた!
よりよく迷路を探索するにはよりよい回り方だけではなく,壁情報の集め方も大切です.

今回は壁情報の集め方の応用を紹介しようと思います.


まずは,壁の入れ方についておさらいしましょう.
普通壁情報を入れる場合は以下の2パターンなのではと思います.
初期情報
初期条件
壁の初期情報により入れることができる壁を入れる場合です.
具体的には迷路の外周,(0,0),ゴール区画ですね.
これは当たり前のようにやっていると思います.


壁センサによる壁の取得
探索をしながら壁を入れていく場合はこれがメインですね.


実はこれ以外にも壁を入れられる条件が存在するんです.
今回紹介するのはこちら.


柱の3辺に壁が入ってない場合,残りの1辺の壁入れ

です.これはマイクロマウスのルールの裏をついた条件です.
初めて先輩に教えてもらったときには感動しました笑.
これが一番力を発揮するのは
みんな大好き櫛のときですね().この条件は難しい迷路でより効果を発揮します.

実際の実装例を示します(うむ夫。での実装です).

この条件で入れられる壁は,自分の現在の座標を中心とした場合4つの柱の周りの8個所です.
②の条件で壁を入れた後に,この8個所を条件判定し壁を加えているだけです.

壁対応表

試しに,上の画像での(A)と(B)に壁を加えるか加えないかの判断を示します.
柱の周りの壁を考える影響で(A)と(B)はセットになります.



手順1
まずマウス居る区画の北壁と東壁が入っていないことを確認します.

手順2
(B)が"探索済みで壁が無い"ことを確認します.

手順3
無いなら,(A)に壁を加えて,(A)を探索済みの壁とします.

手順4
(A)が"探索済みで壁が無い"ことを確認します.

手順5
無いなら,(B)に壁を加えて,(B)探索済みの壁とします.



これだけです.これを今いる区画の他の3つ柱の周りに適応してあげるだけです.
実装は非常に簡単です.


上でも言いましたが,この条件は難しい迷路でより効果を発揮します.
しかし,足立法では効果は見えにくいのも事実です.
足立法以外の探索をする際にはぜひ試してみてください.


最後に自分の目でどのくらい差があるのかを確かめてください.
探索方法は足立法です.

③なし足立法
[広告] VPS


③あり足立法
[広告] VPS


③なし足立法結果
③なし足立法

③あり足立法結果
③あり足立法



自分はこれに歩数マップ展開時の袋小路潰しと大きな袋小路潰しも実装しています.


ではでは

DATE: 2016/09/24(土)   CATEGORY: 未分類
"未知区画"とは何でしょう?


今回は細かい話ですが大切なお話です。

タイトルは

"未知区画"とは何でしょう?

です。未知区画という条件は探索を自分なりのアレンジをするときや,
パスを生成するときに必要となってくる表現です。
初心者は勘違いしがちなので一旦整理しようと思います。
(あくまでも個人の見解です。ご了承ください。)



では,本題です。
未知区画を定義するときに,何を考えますか?

マウス1年目の人は,
"未知区画とは,探索中に通過または止まっていない区画"
だと思っている人がそこそこいると思います。

結論から言うとこれは間違いです。
この記事ではこれから上のような区画を区別するために"未到達区画"と呼ぶことにします。



自分は,

"未知区画とは,4方角の壁情報が分かっていない区画"

と定義しています。


この区別は"未知区画"ではないが"未到達区画"という場合が存在するので必要です。

"未知区画"と"未到達区画"は,何が違うのか?というのは以下の例に示します。

未知区画例


上のような迷路を矢印の通りに探索したとするとどうなるかを考えましょう。
到達区画に星をつけます。星のついていない区画が"未到達区画"です。

未知区画例2


中央の袋小路は"未到達区画"となりますね。
でも,考えて見てください。中央の区画の壁情報は集め終わっています。
これを未知区画とするのは無駄ですよね。本来は中央も未知区画ではなくすでに既知区画です。

未知区画例3


つまり,"未知区画とは,4方角の壁情報が分かっていない区画"と定義しておくべきですね。


はっきり言って,区画毎の到達情報というのは必要ないと思います。
(少なくとも自分は使ったことないです。)
区画毎の到達情報を使うのなら,例えば,
座標を指定して4壁がわかっていれば1,わかっていなければ0を返すといった関数でこと足りると思います。
"区画に行ったかではなく,壁を見終わったかで考えていった方がメリットが多いと思います。"

この例だけだとどっちでもいいやと思う人もいると思いますが,
探索アルゴリズムによっては探索の効率が悪くなる場合もあります。
未知区間を目指す探索アルゴリズムの時や,櫛の背面が見れている状況などでは,この定義の差は大きく大きく影響を及ぼします。

Copyright © うむ夫の歩み. all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。