2024-03-22

マイクロマウス2022

今2024年だが?この間2023の全日本大会が終わったところだが?

ここだけ時空がゆがんでいるので2022年の大会についての記録を書いておきます。完全に自分用です。

2022年関西地区大会

(1時間22分28秒あたりから)

往路の探索のみ成功。
ゴール区画内で行ったり来たりを繰り返してリタイア。最短走行も出来ず。
まるでゴールしたところで迷路情報が消えてしまっているようだ。いったい何が起きているんだ?

という落ちでした。

記録は 19秒793 で 15 位。

2022年東日本大会

(55分30秒あたりから)

1走目:全面探索 (成功)
2走目:安定パラメータのつもりが失敗
3走目:速度落として成功
4走目:2走目より速くしてなぜか成功
5走目:ちょっと冒険パラメーターで失敗

記録:4秒931 で 10 位

それにしても最短走行の直進安定しないなー

結果

2022年北信越大会 (オンライン)

3,4走目の謎の走行失敗、ずっと起きてるんだけど直せてないんだよなー。

2022年中部地区大会

(4時間42分56秒あたりから)

探索成功せずリタイア。記録なし。

結果

2022年全日本大会


(1時間36分25秒あたりから。最初の方飛んでる)

1走目:ゴールする前に探索失敗。タイヤのスリップ?大きな迷路は大変だ。2分ぐらい探索してたか?
2走目:ゴール不可能な迷路として探索中断。どこかに壁を作ってしまったか?
3走目:最初から探索しなおしてゴール。3分2秒380。探索タイマーが作動してゴール区画内で停止。
4走目:安定パラメータで最短走行。失敗。
5走目:さらに速度落として最短走行。ゴールは出来たがタイムアップで記録にならず。36秒587

記録:3分2秒380 で 13 位。

結果

2023は?

家買ったり子供生まれたりで正直マウスどころじゃなかったです。
子育てしながら出場してる人スゴイ…

じゃあ2024は?

新作作りたい気持ちはあるけど、ちょっと厳しいかなーというのが今の印象。マウス作るの大変すぎでは?

ちみちみ続けていければなーとは思っております。

それでは。

2022-04-22

マイクロマウス2021

マイクロマウス2021に参加してきました

遅ればせながら、2021年度のマイクロマウス全日本大会に参加してきた記録を残しておきます。

結果

先に結果から。

公式の結果

エントリーしたのはマイクロマウスのファイナル。
5回トライしましたが、残念ながら完走できませんでした。
前日の試走会の時点でまともに走れず本番当日も諦め気味だったんですが、案の定の結果です。

原因はおそらく壁センサが会場の明るさに耐えられなかったことと、迷路の段差に弱かったことと思われます (後述)。

出走機体

新作、ぷちぷち3号です。

リアル大会を開催すると聞いて去年の11月から急遽作り始めました。
コンセプトは「前作の幅狭マウスにサイクロン吸着を乗せる」です。

以下、いくつかトピックを書いてみます。

壁センサ

リタイアの原因その1。

前作から地味に変更していて、1つの LED 駆動回路で4つの LED を時分割駆動したり、ソフトの介在なしにマイコンペリフェラルのみで LED 点灯から AD、DMA まで出来るようにしたり、などが変更点です。

で、問題の受光回路。4つの PD の出力を 1つのトランスインピーダンス回路で増幅しているのは前作と同じなのですが、諸事情により DC カットコンデンサを外しています。
4つの PD の電流が全部アンプに流れてくるので飽和しやすい回路になっています。テストして大丈夫だと思ったんですがどうやら駄目だったようです…

会場でセンサ値を見る限りは飽和している様子はなく今一納得し切れていないのですが、陰を作ったりサンバイザーを付けたりすると多少マシになったので、やっぱりそういうことなのかなあと。

段差対策

リタイアの原因その2。

これは完全に油断してたんですが、今作めちゃくちゃ段差に弱かったようです…
ロータリーエンコーダが紙製の手作り光学式で、A相しかありません。ハードは前作と一緒なのですが、アルゴリズムを変えたのが裏目に…

 サイクロン吸着

この機構の呼び方はサイクロン吸着でいいのだろうか?よく分からないのでk峰さんが youtube で使ってた呼び方で行きます。

従来の吸引と違ってスカートが要らないということで、小型軽量でモータートルクが最小限しかないマシンとの相性が良いだろうということで採用しました。
また底面の気圧が低い中でファンを回すのでモーターの負荷が小さい→低電流というのもメリットだと思います。

悩ましいのが、原理をよく理解してないのでどんな形状がいいのか全く分からんということ。3Dプリンタでとにかく作っては試してを繰り返しました (本番とは精度が違うのであくまで雰囲気だけの相対比較)。

しかばね達…

で、試した中ではどうやらこの形が良いようだということで、断面が矩形でいい感じにカーブさせた形状を採用しました。

右回り。これも3Dプリンタだけど DMM のアクリルなので精度は良い

ガバガバ測定ですが、これで車重の80%弱ぐらいは貼り付けているようです。自宅迷路での最短走行では効果は一応あるように思いました。

で、スカートなしの機構で実力としてはまあこんなもんだろうと思っていたのですが、会場にはもっとずっとすごいマシンがいました…。確かにそっちの作り方のほうが良さそう…(会場で聞いた)。

まとめ

ということで結構頑張って新作を作ったんですが、今回は残念な結果になりました。

今度こそ、大会後のモチベーションをこのまま保って次の大会に臨みたいところです。
と言いつつすでに何もせず1か月が経過…

2020-12-16

ログを使いやすくした話

はじめに

この記事は MicroMouse Advent Calendar2020 の 16 日目の記事です。

昨日は sshun さんの「HALがビミョーである理由の考察と改善案」でした。
いつも文句を言いながらも何となくで HAL  使ってますが、解説されるとなるほどー (理解できてない) という感じです。去年の「依存を考えて設計する」も参考になりました。

今回はマウスのログにまつわるお話です。21日の qtfdl94q さんが似たテーマっぽいですが、いつもすごいツールを作られてます。自分のノウハウなど後出しでは恥ずかしくて出せないので、先に書いてしまう作戦です。

ログを使いやすくする

マウスの調整作業で走行ログを取るとき、シリアルターミナルから Excel にログをコピペしてグラフ表示するのは誰もが通る道だと思います。

ですが何度もやってるとこれがやはり面倒なわけです。あるとき大会会場で Matlab つよつよ人がログをグラフ表示してるのを見かけて、かっこいいなー便利そうだなーと思って自分もやってみたというのが今回の話になります。
あ、自分は Matlab 使えないです。あとマイコンのプログラムはC言語です。

次の3つに分けて説明します。
自分はソフトのセンス・知識が足りてないのでいろいろアレな部分もあると思いますが、そういうところはやさしく突っ込んでくれるとうれしいです。

  1. ログの取得
  2. ログの受信と保存
  3. ログの表示

ログの取得

多くの人がそうだと思いますが、自分もマイコンの内蔵RAMに巨大配列としてログを保存し、それを UART で PC に送信しています。

欲しいログとして、ここでは次のようなログを取得することを考えます。

$LogStart
$CommentStart
drivePrmt.velocityMax =  1.299999, drivePrmt.velocityMaxDiagonal =  1.100000, drivePrmt.centrifugalMax =  2.700000, drivePrmt.accelMax =  4.300000
$CommentEnd
time[ms], velocityTarget ,velocity ,angleVelTarget ,anglVel ,position.X ,position.Y 
0,0,-0.000012,174.026153,-0.061883,0,-12.000012
10,0,0.00008,41.964691,27.368331,-0.000004,-11.998698
20,0,-0.000004,3.931732,46.66851,-0.000016,-11.996617
中略
6720,0,0.000427,0,-0.028064,718.998779,359.140747
6730,0,0.000258,0,0.00283,719.001831,359.140747
6740,0,0.000401,0,0.019516,719.005126,359.140747
$LogEnd

後半が csv の時系列データです。前半にもごちゃごちゃなんか書いてありますね。こんな特徴があります。

  • ログ全体を$LogStart と $LogEnd で挟む
  • 時系列データは変数名も記録する
  • 走行パラメータもコメントとして残す ($CommentStart, $CommentEnd で挟んだ部分)

ログをたくさん取ってると「このログ一体何のログだ…?」ということが起きてしまいます。そういうことがないように、ログの変数名と走行パラメータを一緒に残すようにしています。

ログを取る変数ってちょこちょこを変えたくなりますよね。私のマウスではどの変数を保存するかがハードコーディングされてるんですが、そのたびにソースコードを編集する箇所が多いと大変だしミスもしてしまいます。いじるコードは出来るだけ一か所にまとめたいです。数値データのほかに変数名も一緒に記録するには一工夫必要になる…ということで次のようなことをしています。

#define L(x)            (#x), ((float)x)
void saveLog(int16_t num, ...);

こんなマクロ関数とログ取り関数を作っといて、制御関連のコードの中で 1 制御周期に 1 回、例えばこんな感じで関数を呼び出します。

saveLog(6, L(velocityTarget), L(velocity), L(angleVelTarget), L(anglVel), L(position.X), L(position.Y));

saveLog は可変長引数の関数になっています。最初の 6 は保存する変数の数です。

L(x) という怪しいマクロの中身ですが、(#x) で引数xを文字列として取得することができます。怪しいですね。同時に ((float)x) で変数の中身も渡しています (全部 float にしちゃう)。L(velocity) なら、"velocity" (文字列) と (float)velocity の二つの引数になるわけです。そこはかとなくバッドノウハウ臭がしますが、気にしないことにします。

あとは saveLog 関数の中に、文字列と数値をそれぞれの配列に入れていくコードを書けばOKです。変数名は何回も保存する必要ないので、最初の一回だけでいいです。
これで saveLog の引数 (L() の中身) を書き換えるだけで保存する変数を変えられるようになりました。

仕上げに、UART で出力するときに走行パラメータを一緒に出したり、$LogStart とかを付ければ冒頭に書いたログの出来上がりです。

ログの受信と保存

Tera Term でログを受信するんですが、こんな感じの Tera Term マクロを実行します。ここでさっきの $LogStart、$LogEnd が出てきます。

while 1
getdir dir        ; マクロファイルのディレクトリを取得
changedir dir     ; カレントディレクトリをマクロファイルの場所に移動
wait "$LogStart"  ; ログのスタートを検知
getdate logname "%y%m%d-%H%M.csv"      ; ログの日時をファイル名に
logopen logname 0 0
wait "$LogEnd"    ; ログ終わりを検知
logclose
logViewer = "C:\hogehoge\LogViewer.exe"    ; ログビューワーの実行ファイル
strconcat logViewer " -f "       ; コマンドライン引数でログファイルを指定する
strconcat logViewer logname      ; ログファイル
exec logViewer
endwhile

これで $LogStart と $LogEnd で挟まれた部分が csv ファイルとして自動で PC に 保存されます。このマクロ実行して wait 状態のまま COM ポート切断すると大変なことになります。。。誰かたすけて。

問答無用でログは全部保存されるので鬱陶しいかなと最初は思いましたが、意外と後から「さっきのどうだったっけ?」と見たくなることがあったので、これはこれでという感じです。

ログの表示

ようやく一番ドヤりたいところまで来た…

csv で保存したログを表示するためのログビューアーを作りました。GUI の作成には Qt  (C++) を使いました。GUI フレームワーク何使うのがいいのか正直分かってません。

時間軸をズームしたり、複数のグラフにまたがってカーソルを出して現在値を表示したりできます。
位置座標をXYプロットとか、一つのグラフに2つ重ねてプロットなども可能です。どの変数をどのパターンでプロットするかは別途 config ファイルを作って指定しています。

先ほどの Tera Term マクロの後半には、csv ファイルをログビューアーに投げて開く処理が書いてあって、全部つなぐとこんな感じです。

ログを取得してから PC に保存してグラフ表示するところまで自動化することができました。これでログを使った調整作業がだいぶ快適になりました。

今の時点でも結構便利に使えてますが、あとは探索結果の壁情報を一緒に表示してもよさそうですね。

さいごに

ログの活用について自分のケースを紹介しました。ここは各人色々な工夫がありそうなので、色んな人の話が見たいなぁ。

明日はらっちさんの記事です。カレンダー2つも書くなんてすごい!

2020-01-12

プログラム用コネクタを洗濯ばさみにした話

この記事 の続きです。前回はタクトスイッチを無くしました。今回はプログラム用のコネクタを無くします。

---
多ピンのコネクタは場所を取りますし、物によっては抜き差しが固かったり壊れやすかったりします。できれば無くしたい部品です。


ということで無くしました。代わりにテストポイントを並べています。念のため金フラッシュ仕上げにしています (が実際必要だったかどうかは不明)。

ここにばねの入ったテストピンを当てることで PC と接続してプログラムします。自分はこれ↓を使いました。
https://www.amazon.co.jp/dp/B00SAVOMUA
IC や基板の製造工程で繰り返し使われることも想定している部品だと思うので、マウスに使うには信頼性も十分そうです。


で、こんな感じの小さい洗濯ばさみっぽい治具を作って…


こんな感じです。
治具の材質は DMM のアクリル (エクストリーム) です。なんかこれ熱に強いですよね。半田付けするとき、コテが触れてしまってもなんともなくて助かりました。

こんなん使えるんかいなと思われるかもしれませんが、結構安定して使えています。
とはいえ位置合わせには課題があります。今は外形で位置合わせしているのですが、正直これだとずれやすいです。ずれてしまったときでもピンがテストポイントを跨いでショートしてしまわないように、少し広めの 0.85mm ピッチにしています。
位置決めピンを使うなどしてずれを防止すればさらに狭ピッチにすることも出来そうです。

ぴったりの既製品のコネクタが見つからず選定に疲れたときはこんな方法を検討してみてもいいんじゃないでしょうか。自由度高いですよ。
2019-12-09

マイクロマウス2019

今年もお疲れさまでした。

この季節は Advent Calendar で色んなマウスブログが更新されて面白いですね。
このブログは今年もほぼ大会の結果を描くだけのものになりましたが、来年の自分のために今回も書いておきます。

機体

まずマシンのことを。
去年のマシンにカーボンのフレームを付けました。前後にお部屋が2つ増えたということでぷーちん号ぷち2 改め、ぷーちん号ぷち2LDK です。
シュッとして多少イケメンになった気がします。

  • 長さ:60mm
  • 幅:20mm
  • 高さ:13.7mm
  • 重量:3.7g

去年の段階で思いのほか速く走ってくれたので、色気を出してそれなりのタイムを狙った機体になっています。加減速時のピッチ方向のがたつきを抑え、直進で安定させることを意図しています。段差にも少し強くなった気がします。
代わりに当初の「ハーフサイズの半分のマイクロマウス」というコンセプトは半分失われてしまいました。

大会

初めての 32x32 迷路への挑戦です。
すでに記憶があやふやになってますがとりあえず結果を。(公式結果が公開されたら直すかも。)
1走目:まあまあ探索が進んだところでクラッシュ。探索失敗。
2走目:重ね探索。初めての 32x32 迷路完走。
3走目:安定パラメータで最短成功。帰りに探索。多分タイマで途中でストップ。
4走目:ちょっと速めの安定パラメータのつもりだったが直線でクラッシュ。
5走目:少し速度を落として完走。17秒464 で記録。

結果は 9位 でした。
4走目の失敗は想定外でした。10月の中部時点で直線の壁制御にバグがあったのですが、今回はそれを直して直進はもう大丈夫と思ってたのに。。。要修正。
あと探索でコケるのは相変わらずですねー。何とかしたいですが、今のところノーアイデア。

表彰式ではまさかのニューテクノロジー賞を頂きました。ニューテク賞はけり君だと思ってて完全に油断していたので、式ではキョドってしまいましたが。
ネタ機体にしては速く走ったね賞(意訳)とのことで、ありがとうございます。まあ実際ネタなんですけど、でも幅を狭くするのは一考の価値ありと思いますよ?単純に壁に当たりにくくなるし、攻めたターンもできるかもしれませんし、自由なライン取りもできるかもしれないし?

ということで

お疲れさまでした。近年は運営が非常にスムーズでありがたいです。工芸大のスタッフの皆様には頭が下がる思いです。

それと今年度は3月にD杯があるということで、なかなかシーズンが終わりませんね。この全日本直後のモチベーションを生かしてもう一つレベルアップしたいところ。
それでは皆さん、ひとまずはよいお年を。
2019-10-28

中部地区大会

中部地区大会に参加してきました。
前回の北信越大会でポイントは獲得しているので今回は気楽なもんだ。

と思っていたらモーターが壊れたり直ったりで不調に。全く動かないわけではなかったのでパラメータ調整で出来る範囲のことをしつつ、頼む動いてくれーーーということで本番。

で、地区大会では稀にみる高難易度迷路。「ぼくのかんがえたさいきょうのめいろ」感がある。
某氏のつぶやき。
今年最後の地区大会、ポイントが取れず倒れていく方を見るのは心が痛い。

1走目、全面探索の終盤でおそらくタイヤのほこりが原因と思われるクラッシュ。櫛歯に近いところだったのでうまい具合に櫛歯を避けた最短経路が出てくれるかなと思いきや、壁の読み間違いがあって2, 3走目リタイア。
4走目に探索しなおして、5走目の最短中にタイムアップ。
最終的には探索のみの記録となりました。

探索終盤のほこり対策は難しい。手作りの光学式エンコーダのせい?である一定の速度より遅く走るのが安定せず、探索速度を遅くする手が使いにくいんだよね。。。

あと、長い直線での安定性がやっぱり怪しい。デカい迷路が欲しい。。。会社で買ってるところが妬ましい。

全日本まであと一か月。頑張りましょう。
2019-09-25

東日本&北信越大会

東日本

月初めにあった東日本大会に出場してきました。
探索が安定せず、重ね探索を重ね続けてタイムアップ後にようやくゴール。
結果はリタイア。
はい次。

北信越

東日本ではポイントが取れず。
自分的例年どおりだと次は中部だが、中部は今年最後の地区大会なのでそこでミスると後がない。下手すると今年も全日本を見学するだけになってしまう、ということで急遽翌週にあった北信越大会に参戦。

一週間で細かい調整して、探索は大分安定するようになりました。1走目で探索を終わらせて、2走目の 7.078秒 がタイムとなって結果 2位 でした。
3,4,5走目の上のパラメータは全部16区画直進の姿勢制御が安定せずクラッシュ。家じゃ試せないよ。。。

とりあえずポイントはとれたのでよかったよかった。

鞄の用意してなかったのでお米 (3kg) 持ち帰るの重かった。。。
H川君の 10kg は予定されていたのかばっちりキャリーバッグに収まっていた。
2019-09-06

タッチセンサ


今更ながら自分のマウスのちょっと変わってるインターフェース周り(スイッチとかコネクタとか)の話を書いてみようと思います。
2年ぐらい前からやってることなので、会場でお話しした方も多いと思います。

---
以前の自分のマウスにはブートモード切替と決定ボタン兼用でタクトスイッチが最低1個は付いてました。でもタクトスイッチって小さいのは押しにくいし、壊れやすいし、小型といっても言うほど小さくないし、出来れば無くしたい部品です。

今作のマウスではマイコンの書き込みはSWDでやってるのでブートモードの切替スイッチは必要なくなりました。
決定ボタンは6軸センサや壁センサで代用しようと思えばできるでしょうが、誤爆のリスクが怖いです。環境が変わるとミスもしやすいもの、大会本番で操作ミスして1トライを無駄にすることもあるかもしれません。やはり決定ボタンは欲しいです。

誤爆しにくく、実装面積が小さく、操作しやすく、信頼性のあるインターフェースということで、静電容量式のタッチセンサを使うことにしました。
タッチセンサ回路を内蔵したマイコンであれば追加部品なしで簡単にできますし、そうでない場合も原始的なタッチセンサであればGPIO2本、抵抗1個で出来ます。自分がやったのは後者です。

これは自己容量式のタッチセンサですね。

さて、追加の部品は抵抗1個といっても、ある程度の面積の電極は必要です。電極サイズが小さすぎると容量変化が小さく、マイコンでうまくON/OFFを読み取れません。
実装面積を削減しようとしてるのに、そんな大きな電極を置くスペースなんてあるわけ…

あったーー!!! (yakudo風)

ということで、スライドスイッチ(電源スイッチ)のケースがタッチセンサの電極になってます。結構しっかり目に触れないと反応しないようにした(なった)ので、スライドスイッチ操作時に不意にタッチ入力してしまうことも起きていません。
モーターのケースも電極候補になりそうです。自分の場合はモーターはバッテリーの下に隠れてしまうので試しませんでしたが、もしかしたら使えるかもしれません。誰か試したら結果を教えてください。

あと上図のタッチセンサですが、マウスがアースされているかどうか(ケーブルでPCと繋がっているかどうか)で容量の変化の仕方が変わります。ケーブル接続の有り無しどちらでも使えるように調整には注意が必要です。

---
思ったより長くなったので、今回はタッチセンサの話だけ。
次回はプログラミングケーブルのコネクタについて。

2018-12-11

マイクロマウス2018 (再履)

今年はあまりにも不完全燃焼だったで、12月の中部支部月例会(&忘年会)にお邪魔して一人マイクロマウス2018を開催しました。

  • 迷路はセミファイナル、試走なし、5分間、5回走行のルールで出走。
    • 1, 2走目 - リタイア
    • 3走目 - 約24秒、行き帰りで探索成功
    • 4走目 - 8秒174
    • 5走目 - タイムアップ
完走しました。一人しかいないので優勝です。
本物のセミファイナルの優勝タイムより速いので出走できていればと思ってしまいますが、しょうがないことですね。
探索がこの調子だと出走できていたとしても完走できていたかはかなり怪しいし。

で、そのあとはタイムアタック。思いのほかよく走ってくれました。

この日のベストタイム↑ 5秒865。
ライン取りがだいぶ怪しいが、これもこの機体のメリットということで。
正直、構想・設計時点で想定していたよりもかなり速い。
最軽量マウスとしては個人的には割とやり切った感ある。

11月は結構頑張ってただけに、出走できなかったのはかなりしょんぼりだったんですが、元気に走る姿をみて大分テンション上がりました。
エントリー忘れの発覚後に改良を続けていた時はかなりむなしかったんですが、その甲斐がありました。これでなんとか今年も年が越せそうです。

ということで、今年の教訓:
全日本にエントリーし忘れた人は中部の月例会に行きましょう。
エントリーし忘れないようにしましょう。
2018-11-15

マイクロマウス2018 (東日本と中部も)

東日本大会

9/1 の東日本大会に参加しました。
マシンはぷーちん号ぷち2です。去年の全日本からのアップデートはありません。

結果は探索走行のみの 28秒449 でした。
確か1走目の帰り探索でこけて、残りは最短トライしたけど失敗したとかそんな感じだったと思います。去年の全日本と同じ感じですね。進捗ないので当然です。

ただこのマシンは段差に弱いことを初めて自覚できたのは収穫でした。

中部地区大会

10/28 の中部地区大会に参加しました。
マシンはぷーちん号ぷち2です。去年の全日本からのマシンのアップデートはありませんが、疑似段差を作ってコケやすいパターンの実験とかはしてました。

結果は、最短も成功しての 8秒514 でした。
このマシンで初めての最短成功です。やったぜ。

1走目で探索成功。といっても全面探索に設けていた時間制限のせいで途中で切り上げていたようなので、本当の最短ルートを見つけたわけではなかったようです。もうちょっと探索しててもよかったかな。
2走目、下から0番目のパラメータで失敗、3走目、下から1番目で成功、
そのあと3番目で失敗、2番目で成功 (記録) という感じだったと思います。

全日本大会

エントリーし忘れました。

泣きの第6走行はあっても泣きのエントリーはありません。社会は厳しいのです。
ここ数日は結構進捗もあり、安定してきてたし少しは速くもなってきてたので、それを大会でお見せできないのは残念です。

ということで私の 2018 年はここまでのようです。
…
……いや、俺の 2019 年はこれからだ!

それでは皆さんよいお年を。
2017-12-04

全日本マイクロマウス2017

もう2週間も経ってしまった。。。とりあえず結果だけ書いておこう。。。

予選 1 走目、約24.5秒でゴール、帰りはスタートに帰ってくるだけの探索。
2~5 走目はすべて最短走行失敗。たしか、全部同じところで失敗?
最短できれば決勝に進めるかなー、というぐらいだったのが悔やまれる。

探索に自信がなかったので速めに切り上げて残り全部最短にトライしたのが失敗だった (思いのほか探索は安定していた)。
結果論だけど 2,3 走目が同じところで失敗した時点で 4 走目に重ね探索してれば、5 走目は新しい経路が見つかって違う結果だったかもしれない。
まぁ本番でそこまで頭回らないんで、やはり探索で失敗するかもという状態で臨むのが良くない。少なくとも自宅とか試走用の小さい迷路なら失敗するわけがないぐらいの状態に持っていかないと (何回言ってんだこれ)。
今年は結構気合い入れて作ってたんだけど、エンコーダとかセンサとか基本的なところを動かすのに時間とられて、走りの方は調整不足だったなぁ。残念。

なぜか 4 台もあるクォーターサイズのマウス (と迷路)。

来年は小さいの作る気ないんで、クォーターやるとしても今年の機体使います。

マイクロマウス2017シーズン 全日本ポイントランキング
なぜか自分の全日本予選のポイントが入っていない。本当は 2 ポイントなのでアニキよりは上である。
2017-11-14

ダイエットブログ

消費カロリー削減と軽量化のためにモーターを交換。
ちょっと軽くなりました。

ハード的な最高速度とか加速とかは遅くなってる (たぶん。知らんけど。) と思うけど、今年はそういうのじゃないんで。

当サイトの内容は危険なダイエットを奨励するものではありません。
2017-10-29

中部地区大会 with ぷーちん号ぷち2


認定証ゲット!(あの声)

新作ぷーちん号ぷち2で中部地区大会に出場してきました。
探索しかできなかったけど (というか探索しかまだない) 1 走目に一分半弱でゴール。
その探索速度が意外と速かったらしく、小さいことと合わせて特別賞までもらいました。
去年は全日本で完走できず、一昨年はそもそも出場してなかったので、久しぶりに記録が残ったことになる。
更に言うと実はハーフ競技で完走したのはこれが初めてだったりする。良かった良かった。

で、新型である。
見た目違いが判らないが、いろいろ変わっている。とりあえず重さの話をする。

去年は 4.3g で今年が 3.7g、14% の軽量化ができた。
・タイヤ幅を 3.2mm から 2mm に (dNaNo のタイヤをスライスした)
・基板厚を 0.4mm から 0.3mm に
・ベアリングをよりちっちゃいやつに
・コネクタ削除 (デバッグ、Flash書き込み用の)
・タクトスイッチ削除
後ろの二つは軽量化目的というわけじゃないけど。あとで書く(かもしれないし書かないかもしれない)。
あとは、タイヤの厚みを薄くしたかったなぁ。RT で作ってくれないかなぁ。


一応、世界最軽量のマイクロマウスだと思う。今度はちゃんと迷路解けるし。
ちなみにサイズは去年から変わらない。世界最小ではなくなった。

去年は駄目だったけど軽くすることで走るようになった!!!
というわけではもちろんなく、去年はメカの精度が悪かったのと回路バグ(マイコンの端子割り当てミス)があったけど、今年はそれを修正してまともになったというだけの話。
同じコンセプトで 2 台目を作ると洗練される。
2016-11-30

ぷーちん号ぷちのサイズ

前回の記事で最小 (但し迷路は解けない) だの最軽量 (但し) だの書いたけど肝心の数字がないのはおかしいということで書いておきます。
・長さ 30mm
・幅 20mm
・高さ 13.7mm
・重量 4.3g
※ 公開されたテクニカルデータとは重量が異なります。
※ 高さは別に最小でもなんでもないです。


一部の人向けの例えで言うと、マイクロメカニズムコンテストの無線部門に出られるサイズです (出ないけど)。重量よりサイズの縛りのほうが作っててきつかった。
とりあえずこじまうすブログの著者コメントを変えられたので、今年やりたかったことの 3% ぐらいはできたことになる。0% じゃなくてよかった。

あと、4g を切るマウスを作ろうとしている人がいる?らしいので参考になるかわかりませんが自分のマウスの重量内訳も書いておきます。

重量[g] 個数
モーター 0.64 2
タイヤ 0.3 2
ホイール 0.18 2
バッテリー 0.85 1
基板(部品実装済み) 1.24 1
ベアリング 0.14 2
足したら 4.3g を超える?知らん。

タイヤおもー。あと分かってはいたけど、1 輪にベアリング 1 個はやっちゃだめです。これは直します。
件の人のように走行パラメータを公開する人がいる一方で、一体なにと戦ってるんだ感はある。
2016-11-21

マイクロマウス2016

に行ってきました。

ぷーちん号ぷちは一応出走はしたけれど、スタートのセンサを切っただけで終わり。リタイアという名の実質棄権。
最小最軽量を狙ったんだけど、「完走してないけど別にいいよね部門」という余計な但し書きが付くことになってしまった。
「完走しないとマウスと呼べるわけねーだろ部門」の最軽量は依然あちらの方です。
そりゃ完走しないでいいなら何でもありになっちゃうけどさ。。。なんとかこいつを走るようにせねば。。。

去年は出なかったので今回は 2 年ぶりの競技でしたがやっぱり楽しいですね。また来年会いましょう。
お疲れさまでした。
2016-11-13

タクトスイッチなんてなかった


ぷーちん号ぷちはまだ走りはじめていない。

ところでタクトスイッチは使わないことにした。
押すたびに緊張を強いられるスイッチなんて使ってられない。

操作は他のセンサで代替できるが、UART で Flash 書くときのブートモード選択は物理スイッチじゃないとできない。ということでそれは諦めて ST-LINK 使って SWD で書き込むことに。コネクタはないけどデバッグ用に底面にパッドは用意しておいたので、そこにばね接点で当たってみる。



指で押さえておく必要があるが (輪ゴムでもよい)、今のところ動いてる。よかった。ていうかパッドにはんだ付けしないと SWD 使えないという元々の設計がイケてなかった (コネクタのスペース的に無理だったんだけど)。

今頃こんなことしてる場合じゃないだろとも思うけど、このほうが効率化できてトータルでは捗るのである。きっと。

これでマウスにコネクタもスイッチも必要ないことが分かった。
2016-11-07

ハード完成 (見かけ上)

ぷーちん号ぷちです。

形にはなったけれど、見えてる問題としては
* ギアの噛み合わせが渋い。
* 自作光学式エンコーダのスキャン方法が決まってない。
* タクトスイッチが押しにくい。

ギアについて、今回も懲りずに噛み合わせの調整代がほぼない設計になってる。
ていうか軸ぶれがひどい。どうすんだこれ。

2番目のエンコーダは STM32 のペリフェラルの使いこなしの問題。

タクトスイッチ、わざわざ軽荷重で操作できるように選んだダブルアクションのタクトスイッチが押しにくい。
押し子をそれっぽく作ればなんとかなると思ってたが、実装位置的にそもそもどうにもならない気もしてきた。
2016-10-31

ハード完成せず

結局今月中にハードは完成しなかった。
なので例によって完成した体でテクニカルデータを登録。ここから大きく外れることはないはず。
2016-10-28

CubeMXのバグ

STM32F411 のソフト開発に CubeMX を使用中。
ペリフェラルの設定が非常に簡単なので便利だが、クロックの設定でバグ(たぶん)を踏んでしまった。

STM32 では HCLK の値によって Flash latency の値を変える必要があって、その設定コードは CubeMX が生成してくれる。
30MHz < HCLK <= 64MHz の時は Flash latency は 1 wait cycle、
64MHz < HCLK <= 90MHz では 2 wait cycle となる。

で、HCLK が 64MHz の時は 1 wait state になるはずが、なぜか 0 wait state のコードが吐き出される。
63MHz や 65MHz、他の境界値では正しい設定になってたが、64MHz だけおかしい。
こんなピンポイントなバグを踏んでしまうとは・・・

CubeMX のバグったコードが目に浮かぶようだ・・・

ちなみに CubeMX は Eclipse のプラグインのやつで、バージョンは 4.16.0.201607131424 です。
2016-10-25

基板実装

今作もホームリフローで実装。
前作でリフローできることが分かったので、調子の乗って小物系パーツに LGA とか BGA の部品を選定。新しくて良さげな部品って大体そういうきついパッケージしてる。

電源が入ることは確認したが、それ以外の部品については実際に動作確認するまではちゃんと実装できてるのかはっきりしない。とりあえずマイコンの QFN は実装できているように見える(ちょっと怪しいけど)。
全部の動作確認ができるまでは組み立てもできないので、ハードウェアの完成はまだだいぶ先になる。

リフローについては大会後に余裕あるときにまた書く予定。(書かないフラグ)