A's LabⅡ

アスラボと読みます。ロボトレースやマイクロマウスの大会に向けて、機体の構造設計・回路設計・基板設計・プログラミングを中心に行っています。趣味のパワーエレクトロニクス系では、テスラコイルやコイルガンなどを製作・評価・改善を繰り返しています。興味を持って頂ければ幸いです。アドバイスや感想などございましたらコメント欄にお願いします。

大会

2016年CLフレッシュマン優勝!

全日本マイクロマウス大会お疲れさまでした。大会の運営関係者の方々に感謝申し上げます。

今年の全日本大会、本当に焦りました。まずは会場に入ったところからお話しします。全日本大会には前日入りはせず、試走会に参加せずに一発本番を決めようと思っていました。会場に到着したのが少し早かったので、試走の迷路が置いてあるということで試しに走らせました。すると見事に前壁を読み違えて全く進まない!?これはまずい。すぐにセンサー関係の部品が壊れていないかを疑ってセンサー値をPCで確認するも問題なし。それで一安心するものの、今から閾値調整をして前壁補正の値を変えてで色々しないといけないのはバグを生む原因になって怖いし、流石に時間が足りなそう。そんなことをしているうちに、もうフレッシュマンの予選は始まっていました。幸いなことに、私の出走は108番目。最後から二番目でした。今のうちにすべてを調整しないといけないということで必死でした。まずわかったことは、会場の迷路は反射率が異常に高いこと。1kHzでセンサーにフィルターは掛けていますが、得られるセンサー値は会場と部室で全く違いました。部室の迷路では角度依存を殆どしなかったセンサーが、大会会場では角度によってセンサー値が全く違う・・・そこにK先輩が駆けつけてくれました。焦っている私に落ち着いて対処法を一緒に考えていただけました。まず、Bifilarの真正面についているセンサーは角度依存により使いものになりません。急遽左右についた前センサーに役割を受け渡す作業を開始しました。その辺のプログラムは簡単に書き換えられるように工夫して予め作ってあったので、変更は時間がかからずにできました。あとは壁の閾値調整と前壁補正のゲインを勘で決めたらある程度安定して動いていたので一安心。フレッシュマンの出走順を確認すると、この時点で60番くらいの人が出走を終えていました。もう少し時間があるので試走を続けていると、様々な人から声を掛けていただき、お話をすることができました。正直そんなに精神的な余裕はありませんでした。会場で問題だったのはセンサーの値だけのようで、最短走行のパラメータは何も調整せずとも安定していました。今思い返すとセンサー値が違うのに壁補正のゲインを触っていなかったことに気付きました。まあ適切なゲイン値から定数倍されたところで暴れるような制御の入れ方はしていないので大丈夫だとは思いますが。それと部室の迷路で壁補正を少し低めに設定していたのが良かったのかもしれません。いざフレッシュマンの予選に向かうと、結構期待されてしまっていて本当に神に祈る気持ちで走らせていました。会場で閾値調整をしたことによって、部室で走らせていた時の様に安定していて安心しました。ここまでが午前中の出来事だったとは...これからは前日入りしてしっかりと試走をするか、会場でセンサーのキャリブレーションや閾値調整をすぐに済ませられるモードを作らないといけないなと強く実感しました。今大会でどこを調整しないといけないかがわかったので、次の大会までにはキャリブレーションできるようにしようと思います。


さて、結果的な順位からすると優勝することができましたが、初代田代賞を取られた某F氏もフレッシュマンなところ辞退してエキスパートに参加されて4位を取られたとのことで、そちらの方が何倍も価値があることを先に述べておきます。私の機体では吸引機構が搭載されていないこととソフト共に全く敵わない方です。ただ、来年は負けないので覚悟していてください!(後々言わなきゃよかったと後悔するアレ)
それと誰からも聞かれていませんが、今大会で使用したパラメータを、来年のフレッシュマンに向けて公開しようと思います。ただ、DCモーターの板マウスじゃないと参考にならないかもです。ステッピングモーターを使ったことがないのでわかりませんが。来年のフレッシュマンでは最近オーソドックスになってきているDCモーター変則四輪吸引が出るんですかね。楽しみです。

まずは予選の結果
1走目:探索走行    成功(往復成功)
2走目:最短走行    00:02.788(往復成功)
3走目:最短走行    00:03.???(往復失敗)

そして決勝の結果
1走目:探索走行    00:33.500(往復成功)
2走目:最短走行    00:06.195(往復成功)
3走目:最短走行    00:06.135(往復成功)
4走目:最短走行    R
5走目:最短走行    00:05.454(往復失敗)

走行結果を並べてみると、大会の会場でも走破性高かったなと思います。
と言ってもまだこのマシンの限界は引き出せてないわけですし、力を持て余して走破性を語っても仕方ありませんが。まず予選の3走目ですが、動画を見直したところ、機体を置いたときの初期角度がズレていたような動きをしていました。Bifilarはジャイロから得られる角度を参照しながら壁情報を反映させるように壁補正を掛けているので、初期角度がズレると何も合わなくなります。それでも短い迷路だったので、最後は前壁補正でゴリ押ししてゴールにはなったものの、2走目の方がいいタイムでした。決勝4走目のリタイヤについては後に記載します。

続いては走行パラメータを公開

<フレッシュマン予選の走行パラメータ>
1走目:探索走行
    加速度(加速)    5[m/ss]
    加速度(減速)    5[m/ss]
    重心速度 0.6[m/s],
    旋回速度 0.6[m/s]
2走目:最短走行
    加速度(加速)    12[m/ss]
    加速度(減速)    15[m/ss]
    最高速度 3.5[m/s],
    旋回速度 ALL 1.0[m/s]
3走目:最短走行
    加速度(加速)    12[m/ss]
    加速度(減速)    15[m/ss]
    最高速度 3.5[m/s],
    旋回速度 {Big90deg, 45deg, 135deg, 90deg, 180deg}
      {1.4m/s, 1.2m/s, 1.0m/s, 1.0m/s, 1.0m/s}
  
<フレッシュマン決勝の走行パラメータ>
1走目:探索走行
    加速度(加速)    5[m/ss]
    加速度(減速)    5[m/ss]
    重心速度 0.6[m/s],
    旋回速度 0.6[m/s]
2走目:最短走行
    加速度(加速)    12[m/ss]
    加速度(減速)    15[m/ss]
    最高速度 3.5[m/s],
    旋回速度 ALL 1.0[m/s]
3走目:最短走行
    加速度(加速)    15[m/ss]
    加速度(減速)    20[m/ss]
    最高速度 3.5[m/s],
    旋回速度 ALL 1.0[m/s]
4走目:最短走行
    加速度(加速)    12[m/ss]
    加速度(減速)    15[m/ss]
    最高速度 3.5[m/s],
    旋回速度 {Big90deg, 45deg, 135deg, 90deg, 180deg}
      {1.4m/s, 1.2m/s, 1.0m/s, 1.0m/s, 1.0m/s}
5走目:最短走行(MAXパラメータ)
    加速度(加速)    15[m/ss]
    加速度(減速)    20[m/ss]
    最高速度 4.0[m/s],
    旋回速度 {Big90deg, 45deg, 135deg, 90deg, 180deg}
      {1.4m/s, 1.2m/s, 1.0m/s, 1.0m/s, 1.0m/s}

このようなパラメータで本番は走っていました。
実は探索速度は0.6[m/s]しか用意していませんし、最短走行のターン速度は1.0[m/s]以下のパラメータを用意していませんでした。決勝の2走目で走ったパラメータが殆ど最低パラメータです。まあこれは結果論であって、もっと時間があれば使うかどうかもわからないパラメータも用意していたと思いますが、そんなに沢山のパラメータを揃えている時間はありませんでした。最低パラメータを1.0[m/s]にしたことについて私の考えとしては、機体のポテンシャルと旋回の方法に依存しますが、私の機体の場合、ターン速度1.0[m/s]でコケるならばターン速度を落としても完走する確率は殆ど変わらないというのが経験則です。1.0[m/s]の旋回は横G的にもそれほど厳しくありません。余裕を持ち過ぎているくらいターン速度の低いパラメータを作る時間があったら、走破性を上げるための様々な補正を考えたり、大会で確実に走りたいパラメータの調整に時間を回すのが賢明かと思います。最低パラメータは、本当にその速度まで減速してターンをしないと安定しないかを考えて、適切な最低パラメータでいいように思います。しかし、1.0[m/s]ターンを最低パラメータにしたのは上げ過ぎだったかなと周りを見て思いました。それでもオール1.0[m/s]ターンで走った最短走行では、行きも帰りもコケることはなく終始安定していたので良しとします。
最短走行では行と帰りで往復させていますが、往復のパラメータは行も帰りも全て共通にしています。ハーフ・エキスパート優勝者M氏がやられているのを見てなるほどと思い、使わせていただいております。往復をする利点としては、行きで使った旋回の組み合わせを、迷路を変えることなく全て左右逆の旋回にして確認をすることができるからです。何種類もの迷路を組み替えずに、すべてのターンを効率よく確認できる最高の手段です。また、速度を上げてゴールしたときは少し位置がズレていることでしょう。そこからの復帰ができるかどうかの確認も大事なところです。練習用の迷路で旋回を完璧にし過ぎると、壁補正などの調整ができなくなってしまいます。最初のうちは、わざと旋回半径をずらして壁補正の調整をしてもいいくらいだと思います。練習用の地面と会場の地面ではグリップに差が出ます。よってスリップ角も変わってきます。練習用の迷路で旋回の調整だけに力を入れすぎると、会場の床によって調子が狂い、位置補正などの調整をしてこなかったマウスはコケやすいと思います。私の場合、旋回の調整は必要最低限の時間を使い、ガバガバな旋回からの立ち直りの補正の調整に時間をかけてきました。完璧な旋回の調整は大会の前々日頃の最後の最後にやればいい話です。なにより私の場合はターンの調整方法に問題があることに全日本大会の2週間くらい前に気付いたレベルで変なターンばかりしていました。その分補正に力を入れることができたので、結果的によかったなと思います。最初から完璧な旋回をすると大切なズレを見えなくしてしまいます。本番で安定させるには、機体があるべき位置からズレた状況から、適切に対応して素早く適当な状態に収束する補正が唯一の頼りです。
また、決勝の4走目では180degターンの最中に壁に当たってフェイルセーフがかかりました。部室の迷路では、この程度掠ったくらいではフェイルセーフがかからないようにしていたのですが、やっぱり地面の違いからか、フェイルセーフの閾値も変えないといけなかったようです。そもそもフェイルセーフを切っておけばよかったと後悔しています。あのくらいなら壁補正と壁切れで完走できていたと思います。180degターンは依然と比べるとインコースを狙わないようにはしたものの、スタートして一番最初の1.4[m/s]の90degターンで旋回半径をオーバーしているので(調整段階で合っていないことは知っていたが角速度が追従しないのでパスした)、その分のy軸にプラスされた誤差で180degで死んだと考えています。走っていくうちに補正が掛かってズレは解消されるだろうと思っていたら、まさかの一番来てはいけないタイミングと組み合わせで180degターンをするようなルートでした。まさかこんなに上手くはまってくれるとは迷路製作者も想像していなかったことでしょう。そもそも全面探索をしていればあのルートを通ることもなかったことですが。
そして、決勝の4走目でリタイヤになったのに、なぜ5走目で更に加速度を上げたかというと、速度の追従には自信があったからです。今回MAXパラメータを20m/ssに設定していますが、調整では25[m/ss]でもきれいに追従していました。しかし若干スリップしているようで、本番では使えないようにしていました。正直言って旋回時のズレ誤差は加速度とは独立なので、最後MAXパラメータを使わずに後悔するまいと使用しました。結果的には加速度を上げた方が補正がいい感じになり完走することができました。因みに壁補正は速度を上げるとゲインを線形的に下げるように組んでいるので、何か他の補正が働いてくれたのでしょうか。今は特定できていません。

さて、来年の全日本大会まで一年を切ったってマジですか?
来年はエキスパートでも戦えるハードとソフトを作りたいと考えています。現段階でハードの構成が固まってきているので、早いところプロトタイプを作って、二作目で落ち着くものにしたいです。今年の機体Bifilarですが、前作Earがあっての機体です。Earには一カ月ほどハード製作に時間をかけて、実際に走らせてみて改善点を洗い出し、Earベースで時間をかけずに作ったBifilarに落ち着けたのでよかったかなと思います。次回作もこのような流れで行きたいです。因みに、次回作の機体名はトリファイラです。よろしくお願いします。

最後に今年の機体を載せて終わります。
CxoW68aUUAAYK2e
機体名:Bifilar(バイファイラ)

それでは、長文読んでいただきありがとうございました。

マウス合宿と草の根大会

先月(6月11,12日)に行われたマイクロマウス合宿2016に参加しました。マウス合宿の参加報告をしようと思っていたのですが、下書きが消えてしまいました。ここではマウス合宿で行われたプチ大会のみの報告で終わります。

マウス合宿では、クラシックサイズ、ハーフサイズ、ロボトレースのプチ大会が行われました。その中で、私はマイクロマウスのクラシックサイズに参加しました。合宿前は中間テストやレポートなど、マウスどころではない生活を送っていて、合宿前は徹夜でデバッグしました。
デバッグ内容は、
・目標速度に対して出力が負の向きになるバグの修正
・角速度フィードバックの再構築
・再現性のない距離合わせ
・全く思い通りにいかないスラローム
・右手方のモジュールを作ってみるものの前進すらしない。
(当時のTwitterより引用)

抜本的な改良ができたのはよかったのですが、こんな進捗では迷路を走ることすらできません。今書いてて思うのですが、「超信地旋回すらできないのになんでスラローム作ろうとしてるんだよ」ってことです。睡眠時間が足りない中、新しいことをしようとすると失敗する典型的な例ですね。睡眠時間を削って作業をする場合、やっていいことと悪いことが最近わかるようになってきました。睡眠時間が十分ある場合は新しいモジュールの開発、探索アルゴリズム、加減速走行のアルゴリズム等、機体に依存しない基となるアルゴリズムの構成を考えてよくて、睡眠時間を削って作業していい内容は、動くことが保証されたアルゴリズムの上で、距離合わせやゲイン調整、機体に依存するその場しのぎが許される単純な作業のみだと思います。

頭が働かないなか新しいことに挑戦しようとすると、二度手間になる上に、そこにミスがあることに気付かずに今後の調整をしていって、最終的に大規模修正を必要としてしまう場合が考えられます。要するに寝れるときに寝て、早めに動くアルゴリズムを完成させてしまうことです。徹夜デバッグでゲイン調整や距離合わせに時間を使えばいいと思います。

そしてプチ大会の結果ですが、スタートは切れるものの、超信地旋回の動作に入ると暴走してしまいます。それが5回とも続いてリタイヤで終わりました。動画も撮ってません。色々と頑張ってはみましたが、どうにもなりませんでした。この時点で草の根大会まで一カ月を切っています。
みんなクタクタでした。


合宿が終わってよく寝て、マウスの開発を再開しました。
(×するしか ◯するか)
合宿が終わって一週間後のことです。超信地旋回ができるようになりました。しかし、これは45°角加速して45°減速する動作確認の制御をしています。スラロームに使える超信地旋回ではありません。ゲイン調整も殆どやっていないので、音を聞くとわかりますが、ガタガタと発振しています。高校物理の内容を思い出してプログラムしてやれば減速に必要な角度が計算できるので、それを使えばもっと低速の定速で超信地旋回ができるようになります。その実装には時間がかからずにできました。この状態でも超信地旋回で方向を変えられるようにはなったので、迷路を一応走ることはできるようになりました。

八の字走行ができるようになったのは更に2週間後のことです。この頃にはDCモーターの基本的な制御系の構築ができていたと思います。しかし、この時もゲイン調整を怠っていたので角度が合っていません。

いよいよ右手法で迷路を走行できるようになりました。しかし調整が今一で、2,3周で位置がずれて壁の読み間違いで階段走行になったり、すべての方向に壁があると判断したのか超信地旋回が発動したりと滅茶苦茶です。大会までに角速度フィードバックのゲイン調整と、スラローム中にも壁補正を掛けることによって、このコースでも1分程度では体制を崩すことはなくなりました。

そして7月10日にニコラ・テスラ氏の誕生日があり、
その二日後に私の二十歳の誕生日があり、
同日に秋月電子から球根が発売されたり・・・
秋月の球根事件については、こちらの記事に解説が載っていました。


ここからの記事は7月17日に行われた金沢草の根大会の参加報告について書こうと思います。
大会ではなんと、足立法による探索アルゴリズムでゴールにたどり着くことができました。以前から足立法についてはネットで調べていたのですが、どうやってC言語のプログラムにすればいいかとずっと悩んでいました。そこで、去年の全日本大会のフレッシュマンクラスで足立法を使っていた同期の友達からサンプルプログラムをいただき、大会までに使えるようになりました。その友達も、先輩からサンプルプログラムをいただいたらしく、これこそ正に秘伝のタレですね。
試走会では無事に探索と簡単な最短走行ができることを確認しました。しかし、この時点では加減速走行ができませんでした。ということで・・・
この時点でスラロームが上手いこと行かなくなっています。何故か角速度フィードバックのIゲインをゼロにしていました。ちょっと触ってしまったのだと思うのですが、もう少し派手に触っていればコンパイルエラーで気付けたのですが、うまいことゼロになっていたので気付きませんでした。動きがおかしいことに気付いたのは大会前の短い調整時間でした。試走会ではある程度走れていたのに、当日は4回スラロームしただけで壁に激突してフェイルセーフが発動するような状況に。そのような症状に気付いたのも束の間、迷路を本番用のコースにするために私は退出。試走はできなくなりました。そのまま開会式が始まり、それでも諦めきれずにコードを隈なく探していたらIゲインがゼロになっていることに気付きました。ゲインの小数点以下が消滅していたのです。過去のバックアップデータからIゲインを復活させ、なんとか迷路の公開までにはコードの修正と書き込みを終えることができました。これでちゃんと走ってくれるかは本番で確かめるしかなかったので、変な緊張をしたまま大会に臨みました。

この動画の10:00くらいから私の出走です。
なんとかスラロームができていて安心しました。2走目が一番いいタイムでした。
速度選定については、
直線:10m/ss, 1m/s
スラローム:15deg/ss, 500deg/s, 0.6m/s
このパラメータが今大会の限界でした。加減速走行については、速度を上げるほど減速でスリップしているようで距離が合わなくなります。これは前方の車高が0.5mmしかないため、減速時に前方へ重心が移動することにより、タイヤではなく機体のフロント部分に車重が掛かってしまい、グリップが低下したためと考えられます。実はそのスリップ分も考慮して加減速走行をしていましたが、調整していた床と本番の床にグリップの差があったため、結局壁に当たってしまいました。次の大会では加減速走行も安定させたいです。

今大会までに色々ありましたが、なんとか3位をいただくことができました。ありがとうございます。
CnzB8qSUkAA-ZCk2

それと、副賞としてコロコロ大量セットもいただきました。
Cnko-yxUsAAiP-D
家に犬を飼っているので、掃除機では吸いきれない細かい毛をしっかりと取り除くことができるので結構使えます。もう少し大きいともっとよかったのですが。勿論コースの手入れやタイヤの掃除にも使わせていただきます。ありがとうございました。

大会が終わって部室の迷路で走らせてみました。
やっぱり加速すると直線の距離が合わなくなるようです。これはハードの問題よりもソフトを疑った方がいいかもしれない・・・夏休みにどれだけ進捗を作れるか。


最後に、今後の方針について。
これからやらなければいけないことは、まずはトレーサーの機械設計と基板設計です。これは夏休みが始まったら直ぐに取り掛かろうと思っています。マウスに関しても、色々とハードの設計ミスがあるので、できれば同時に基板発注ができればいいなと思います。全日本大会で吸引も視野に入れての設計を考えています。基板が届くまでに、今の機体でアルゴリズム面を向上させたいです。

それと今年の参加予定の大会もまとめます。
・熱田の森
・草の根
・中部初級者
・中部地区(?)
・全日本大会
これくらいを予定しています。大会が近くなると捗るので、積極的に出場していきたいです。

全日本大会までのマウス、トレースのサクセスレベルを夏休み前に定めておきます。
【マイクロマウス】
・ミニマムサクセス
    そこそこ賢い探索アルゴリズムの実装
・ミッションサクセス
    フレッシュマン3位以内
・フルサクセス
    最短経路を斜め加減速走行してゴールする
・エクストラサクセス
    吸引機構を搭載したマウスを製作して吸引してゴール。

【ロボトレース】
・ミニマムサクセス
  決勝進出
・ミッションサクセス
    2走目以降のプログラム(加減速)をマーカーレスで実装
・フルサクセス
    様々な補正やフィルターの実装
・エクストラサクセス
    決勝コースで加減速してゴールする。

いい結果が出るように、夏休みも頑張っていきます。
夏休みはマウス・トレース以外にも、やりたいことがいっぱいなので楽しみです。

熱田の森大会2016に参加しました。

 大学の春休みって長いですね。中学高校の夏休み程あるって不思議な感覚です。だからと言って成長したことは特に何もありませんが。

さて本題です。前回のブログ更新から一週間ほどで基板が到着しました。発注先はElecrowです。
CcM-DowUkAAL4Vc
よくこんな折れそうで危ない基板を作ってくれましたね・・・
CNCで切削時の固定方が気になるレベルです。赤色がセンサー基板で青色がメイン基板です。

CcM-EibUUAA7Kl1
 仮組みするとこんな感じに。CAD通りの見た目になりました。基板の設計をしていたときは3DCADを使っていなかったので分かりませんでしたが、もう少し後ろの付け根部分を強化した方がよかったです。この部分はデザイン的な意味で置いたのが大きいですが、急激な加速でもウィリーしないようにという期待も込められています。まあタイヤのスリップのことを考えると急激な加速なんて無理なんですけどね。

CcNafaaVIAAYLuD
 今回遊んでみたのはここです。長方形のパッドを置いて上からレジスト禁止レイヤーで、ごちうさ風のロゴを作って載せてみました。演算器の演(ごちうさバージョン)です。特に私はごちうさを見ているわけでもなんでもありませんが、スペースが余っていたのでやってみました。CYW_gpZUwAEDXTE
 本当はこのように全ロゴを入れたかったのですが、流石にこの小ささで細かいことをするのは無理だと判断しました。CADで見る大きさと、実物の大きさが違い過ぎて感覚が狂ってしまいます。この基板を作ったときは知識不足で、ジャイロの位置がおかしかったり裏面に配線を回しすぎてたり、変に6pinのピンヘッダがあったりと、あんまりこの画像は出し無くなかったんですけどね...

CcTfCEqUUAA7G1O
 そしてこれも遊んでみたやつです。こちらは「演」と違い、長方形のパターンではなく、ロゴの形のパターンを作って、同じくロゴの形のレジスト禁止レイヤーを乗せました。パターンを全面に置いたままにすると、バックが明るい赤になるみたいです。どちらにせよ綺麗な光沢のある文字が書けて面白いです。

CcYso6VUsAEf5dR
 それとどうでもいいことなのですが、スマホのカメラの性能に感動しています。拡大レンズを付けなくてもこのサイズで拡大できます。スマホはXPERIA_Z3_compactです。画像の中央にあるのはセラロックですが、文字の確認に使いました。セラロックには向きがあるとサークル内で話題になってました。
セラロック®を逆接続するとなぜ周波数ズレが発生するのでしょうか?
逆方向に実装した場合、問題が発生しますか?
 向きに気を付けた方がいいとここまで書かれていますが、実際に発生する許容誤差は最大で±0.1%であり、セラロック自体の許容誤差範囲よりも小さいんですね。時計などのクロック精度が必要なものを作るときは水晶発振器など高精度なものを使うことになると思いますが、セラロックを使ってる時点でそこまで気に掛けることでもないのかなと思います。

 さて、マイコンとセラロック、レギュレータやLEDを取り付けて早速火入れ(電源投入)です。その前に電源入力端子の抵抗値を測定して、ショートしていないか、電源スイッチが正常に動作しているかを確認します。そりゃ回路が燃えるかもしれないんですから念入りに確認しますよね。リポもショートさせると危険ですし。
 天気が良くて清々しい日、部室には先輩二人と私の3人でこたつに入って作業をしていました。念入りにテストしたところで電源投入です。
まずは電源スイッチが切れてることを確認してリポを接続します。
僕「さーて電源投入します。燃えたらすみませんね。」
先輩「ちょっ!燃えてる!」
基板「モクモク(煙)」
僕「えっ!」

 と言うわけでですね、今作の機体は死にました。レギュレータから煙を吹いて高価なマイコンも死にました。フラグを建ててから僅か1秒後のことでした。先輩の方を向いて話してた隙にやられました。皆さんはお気づきですか?まだ電源スイッチを入れてないんですよ。動作確認の時は正常に機能していたんです・・・。スイッチさえ機能していれば被害はここまで酷くなかったかもしれないのに。スイッチ不良事件はアルファ(前作の機体)でも起こったことなので、安いスイッチは止めておいた方がいいかもしれませんね。
 原因を追究していくと、問題はレギュレータのライブラリのミスでした。アルファではピン配置をしっかり確認していたのに、アスペラ(今作の機体)では適当に使っていたことを思い出しました。パッケージだけ同じでもピンアサインが違うことはよくあるのに・・・なんとした・・・
 それでも大会までのカウントダウンは進んでいきます。あと2週間。今回の大会に突貫工事の中途半端で不格好な機体を出場させるよりも、基板の設計からやり直したいと思い、前作の機体を改良して大会に出ることにしました。基板の間違いはレギュレータだけでなく、マイコンの使用ピンも色々とミスっていたので丁度よかったかもしれません。

後悔していても仕方がないので、早速アルファの改良からです。
CdqtK5iUEAAvuIK
 分かりにくいですが、モーターを直列接続から並列に変更しました。このモーターは元々1セルのバッテリーで使うように設計されたモーターなので、2セルのバッテリーで使うなら直列にした方がいいかなと思い直列にしていたのですが、どうしてもトルクが頭打ちになってしまいました。そこで思い切って並列に変更したのですが、全く安定しない・・・。勿論ゲイン調整等やり直しですが、調整が上手くいきません。辛うじてライントレースはするものの、かなり不安定な状態です。並列にすることで何か弊害があるのでしょうか。ブラシのかみ合わせ部分のタイミングがおかしくなって調子が狂うとか。。。よくわかりません。

CdqtLXhUUAAADn5
 デバッグ風景です。小さいころ憧れてたっけな。手を止めることなくカタカタ書き進められるのはほんの一部の時間であることは想定外でした。

大会のコースは事前に公開されています。しかしここまで大きなコースは作れないので、部分的な練習ができるように考えてサークル内でもコースを作って練習しました。

CehbFIUWEAE7kSu
 2016年3月20日、熱田の森大会は名〇屋工学〇専門〇校で行われました。福井から3時間ほどで到着です。送っていただいた先輩方ありがとうございました。

CehbJp8WEAAqiKK

 大会では練習よりもコースが滑らかできれいなので、基本スピードを高めて本番に臨みました。その選択は大失敗で、3回走らせられる内1回もゴールまで辿り着けませんでした。ラインセンサーのポートが11個中6個死んでいて、実際に使っているのは4つだけなので、速度を上げるのは馬鹿げた行為でした。

 そしてロボスプリントという競技にも参加しました。写真を撮り損ねてしまったのが残念です。スプリントとは一直線に引かれたラインを走り、一定距離をどれだけの時間でゴールできるかを競う競技です。ブレーキゾーンでしっかり停止しないと記録になりません。練習風景はこんな感じです。

 スプリントに関してですが、ルール説明をしっかり把握していなかったので滅茶苦茶でした。大会にはAコースとBコースがあり、どちらかを選択できるものだと思っていたのですが、2回走らせるうち、毎回コースを入れ替えられることは知りませんでした。サイトの規定には目を通していたのですが、そこまでしっかり書かれていないんですね。来年はスプリント専用の機体を作って大会に出たいと思います。トレーサーでは速度を出し過ぎてはいけないことを今大会で気づきました。

 今回の大会は皆さんの素晴らしい機体を拝見するという目的と考えると、とてもいい時間が過ごせたと思います。ありがとうございました。

ここからはおまけです。
CcrcRAjUAAE3fHq
 某海外ネットショップでモーターを購入しました。形がいい感じで値段も150円と安くて買ってみたのですが、コアドモーターのヤバいやつでした。分解能が5くらいしかなく、指でやっと回せるくらいのカクカクです。トレーサーに使おうとコアレスモーターを期待していましたが全然違いました。部品箱で眠ってもらいます。

CeDst0DUMAAFgsZ
 そして5mm四方のマイコンです。よくArduinoに使われているATmega328ですが、ここまで小さいものもあるんですね。価格は1個$1しないくらいで購入できました。はんだ付けできるかが問題です。電光掲示板キーホルダーの駆動に使用します。

Cdq38nrUUAAdOCJ
 電光掲示板キーホルダー用に色々買いました。海外のネットショップが安すぎて買いすぎてしまいます。ここまでくると量産も考えてきます。マイクロUSBは秋〇で買うと5個300円なのですが、海外で買うと50個200円なんですよ。よくわかりませんね。左のリールは赤色LED1000個です。750円ほどでした。

 今考えているのは、マウスとトレーサーの基板を発注するのと同時に電光掲示板キーホルダーの試作基板を発注して、正常に動作することを確認出来たら、基板をマットブラック、金フラッシュにして発注してみようと企んでいます。思い通りになってくれるといいんですけどね。

AStrace_α(2作目トレーサー)

お久しぶりです。更新が空いてしまいました。先月は全日本マイクロマウス大会があり、大学の講義が終わり次第サークルで活動って日々を送っていてブログの更新どころではありませんでした。大会もひと段落したので、今作の機体について覚え書き程度にまとめておきます。
 
全日本マイクロマウス大会2015のロボトレース競技に参加した機体です。
AStrace_α
●ロボット名:AStrace_α
●マシンスペック:
マイコン;RX631
センサ;φ3赤外線LED
φ3フォトトランジスタ
L3GD20(ジャイロ)
CNZ1023(エンコーダ)
モーター;φ7,20mmクアッドコプター用*4
重量:75g(バッテリー含む)
サイズ:110*150*35

この機体は特に個性を出すとかではなく、基本的な部品類の評価のために組んだ機体です。独自性もそれほどありません。強いて言えば、機体が無理なく旋回できるように慣性モーメントがなるべく小さくなるように部品の配置や基板の肉抜きを施したくらいです。それに伴い耐久性は低くなってしまいましたが、基板の耐久性の評価も出来たのでよかったです。

大会の試走コースで走らせた動画を撮影したので貼っておきます。

これ以上遅くできないってほど最低パラメータです。もっと高速にも挑戦できる機体ではあるのですが、下手をするとラインセンサーが折れるので、この機体では完走できればいいと割り切ってこのパラメータのみにしました。
 
先に走ってる映像を張りましたが、これから製作中の画像をお見せします。
jpg large
こちらが発注して届いた基板です。100*100のサイズで発注すべく、横に出すウィング(SG、コーナーマーカーのセンサー)部分を肉抜きしたところにつけています。後ほど切り離してはんだで固定します。

jpg large
こちらは研磨及び洗浄の様子です。割とやられてない方が多いと思いますが、この工程をすると、ガザガザの部分がツルツルになります。やることは耐水且つ金属用の紙やすりで気になる部分を削って洗い流すだけです。直線の部分はいいのですが、曲線状にCNCが入っているところはガラスエポキシの性質上、ガザガザになってしまうので気になります。こんなに基板は必要ないのですが、色々な人にあげたので、12枚送られてきたうち結局手元には5枚になりました。更にそのうちCNCの加工が少し失敗してるっぽいものを除くと3枚です。まあ1枚しか使わないので。
jpg large
まずはマイコンと電源確認用のLED等、必要最小限の部品をつけて動作確認です。電源を入れるところはショートしないということを確認して自作の2Sリポを繋ぎました。最初勘違いで書き込みができず戸惑ってましたが、無事できたので一安心です。部分的に動作確認を細かくやることによって、どこに問題があるのか特定しやすく、無駄な時間を使わなくて済みます。蛇足ですが、電源確認用の真ん中のLEDは青から白に変更しました。

jpg large
それから今回のトレーサーで特筆すべき点は裏面です。基板の肉抜きを派手にやりたかったので、AD変換の配線をUEWを使っています。はんだ付け後、エポキシで固めて断線しないようにしてあります。コツがつかめれば案外綺麗にできます。テスラコイルのコイルを巻く要領で綺麗にします。爪でゴシゴシ伸ばしていく感じです。(伝われ~)

10644622_633460970128098_2026759533798281134_o
こちらがモーターマウントです。左上の2つの穴がモーターを圧入する部分で、真ん中の六角ナットが填りそうなところがタイヤを固定する部分です。右上の穴 はエンコーダー用のスリッド付き円盤を取り付けようと思ってたのですが、時間が足りず諦めました。これができてればもう少しまともな制御ができてたんです けどね。1番下の二つは固定用のネジを通す部分で、その他の穴は肉抜きです。適当に。3DCADで設計したデータをその他諸々のソフトを使いCNCを駆 動し、樹脂を切磋します。この手の工作は3Dプリンターより切磋のほうが高速で高精度でいい感じです。

モーターはX5Cという結構量産されてるクアッドコプターのモーターを使用したので、1つ辺り200円もしていません。コアレスのブラシレスモーターが手頃に評価できるのはいいですね。使ってみた感想としては、入力できる電圧の限界が低いかなと感じました。3Vもかけるとモーターが変に唸り出して発熱もするので少し扱いにくい印象です。モーターを2つ直列にして掛けれる電圧を2倍にするという試みもしてみましたが、結局3Vかけるとタイヤのギヤが変に唸り出すので、制限を3Vにして使用していました。それなら1つでも良かったのかなと後から思っています。そもそもこのモーターはトルク重視というよりは回転数を重視した設計のようです。ロボトレースには扱いにくいかなと。こんなことを書いているのも、このモーターの参考資料がネットに出回っていないんです。なのでギヤ比とかも全て運試しになってしまいました。結果的にはもう少しギヤ比があったほうがよかった感じです。今回試したのは大体9T:54Tだったと思います。次はMAX5Vと書いてあるφ8.5のモーターを使ってみようと思います。まあそんな表記も気休めでしかないんですけどね。

次にラインセンサーについて。このLEDとフォトトランジスタはebayで買った格安品で、発光量がまちまちで扱いづらい品でした。これは回路面に問題がありそうな気もしますが、それにしてももう少し揃ってくれてても良いと思うくらいにバラバラでした。選定して使う必要がありそうです。今回は走行前にキャリブレーションをすることによって誤魔化して使っていました。次回は信用できるものを利用しようと思います。
斜め照射すると結局発光量がバラバラでも関係なくなってしまう感じではありますが。次回も斜め照射にするつもりですが、もっと合理的な斜め照射を企んでいます。

そして基板について。この基板はElecrowに発注しました。厚みは1mmで一番細い部分が5mmになっています。想像以上に強度はありましたが、少し撓みが気になるのでコンデンサのクラックが心配です。次はもう少し厚くして発注しようと思います。

そして最後に大会の結果について。マイクロマウス大会のロボトレース部門には121人の機体がエントリーをし、その中で66位でした。リタイアや棄権をした人もおられるので、完走できた機体の中ではかなり下の方です。ロボトレース競技にはまず予選があり、その中で成績が優秀な人は決勝に進出できます。今年は40人が選ばれました。来年は決勝に進出していい成績が出せる機体を作りたいです。
CUVjwXSUwAEGe3K

CUVj0AXVEAQ53Cg

今は次回作の案を練っている最中です。誰もやっていない方法で上位に入りたいという願望が強いんですよね。期待はしないでください。

今大会のロボトレース決勝の様子がネットに上がっているのでリンクを貼っておきます。予選コースとは比べ物にならないほど複雑で沢山の罠があります。

この動画はアニキさんの1位の機体です。

素晴らしい機体が多くてとても楽しい時間でした。次の大会は3月にあるので、それまでに新作を製作して調整まで終わらせないといけないので、今から頑張らないといけませんね。先輩たちと違って理想的なライントレースプログラムや加減速のプログラムの構築ができていないので、それだけ早めに取り掛からないといけません。

草の根大会2015に(一応)参加しました。

試験が終わった(二重の意味)ので7月19日に行われた草の根大会について書こうと思います。

テストもそうですが、今回の大会は本当にやらかしました。今までは大体徹夜する勢いでやればなんとかるものだったのですが、今回はなんとかならない事案が発生してしまいまして・・・
ロボトレースの大会で優勝を何度もしている人達の中で、私はライントレースのコートに機体を置きに行っただけです。はい。 金沢まで行ってプログラムの間に合わなかったハードを置きに行きました。

CKNBhWUUwAAYyhP
ロボトレースのルールとして、持ち時間3分の間で3走まで走らせることができるので、私はその3分間を語る時間に使おうということになりました。そもそもモーターのパラメータを全て抜いた機体を堂々とエントリーして堂々と置きに来る人は私だけでしたね。勿論この大会に間に合わなかった人は友人にも何人かいるのですが、自分の出番30分前までハンダごてを握って完成させる人もいて、ここで差が出るんだなぁと痛切に感じていました。当の私は前日の夜まではデバッグを頑張っていたものの、モータにエンコーダをつけるという一番大切なことをしていなかったせいで、Kp,Ki,Kdの調整以前の問題だということに草の根に向かう電車の中で気づきました。
CKOtc9mUkAA72Sj
傍から見たら変な光景だったでしょうね。通報はされませんでした。モータのギア比を上げればPWMのduty比に大体比例してモータが回転してくれるのですが、私のギア比はトルクは低くても速度を出そうと低すぎるギア比に設定していました。なので適当にdutyで制御しようとしても動かないんです。Lineを読もうとするところまではいきましたが、結局は思いっきり動いてしまうのでマイコンが制御しきれずコースアウト。思いっきり動くということは基準値を下げてやれば・・・次は動かない。一応大会の会場でも粘ったのですが、ここは清く諦めてマイクを持とうという結論に至りました。何がいけないのか、ハードをどうやってプログラムをどうすればいいのかというのは大体考えがまとまっているので、次に出る大会では加減速付きの機体を走らせられたなと思います。でもこの機体は速さを追求するのではなく、次に制作する機体をどれだけのレベルまで持っていけるかというところに重点をおいているので、色々なデバイスを搭載して様々な制御を学ぶための機体にしました。

そして今回マイクロマウス競技の最上位レベルの走りを見させていただきました。この走りを見るためだけでも今回現場に来て良かったなというレベルでした。
草の根大会の動画はYouTubeにあげられていたのでそちらを見てみましょう。

早送りしてるんじゃないの?ってくらい早いんです。今回の大会はこれの実物が見れただけで価値のある時間でした。ロボトレースとマイクロマウスの大会は、1年に10箇所ほどで行われるようで、次に出場する大会には今回できなかった機体を改良して、適切な場所で加減速ができる機体にして出場したいと思います。そして全国大会ではプリント基板を使用した機体の製作を予定しています。それも先輩たちのを模倣では面白みに欠けますよね。機体が同じだとプログラムの勝負になってしまい、とても上位レベルまでのプログラムができる気がしません。色々と新しいアイディアをテスト期間中に考えていたので、取り敢えずはそれらのアイディアを試したいと思っています。(できる気がしないんですが)。この前の合宿で習った言葉で置き換えると巨人の肩の上に乗る矮人ですね。

【おまけ】
テスト期間でやったことといえば上記のロボトレースの大会に出場(笑)したことくらいなのですが、少し大きな買い物をしていたことを思い出しました”大きな”とは金銭的に大きいのではなく、重量的に大きなものです。

まずは直流安定化電源装置。
CJeWh7eUEAA5Nbe
これは今まで使ってたものです。使ってたといっても2回ほどしか使ってませんが。電流が最大40A流れるのに、カレントリミッターが付いてないんですよ。危なっかしくてとても扱えたもんじゃない。普段は写真の右に写りこんでる方の電源装置を使っています。これは父が高校生の時に自作したもので、数十年経った今でも私が使っています。こちらは1.6Aのカレントリミット固定なので弱電の工作には最適だったのですが、どうしてもこれら二つの中間のスペックはないものかと思ってしまいますよね。30V以上10Aほど出力できてリミッターを可変できるものが・・・
CJeRRx_UcAAUk1-
ヤフオクで探したらありました。確か2700円だったと思います。ちなみにMAX40Aの電源は千円台でした。まあ値段はどうでもいいのですが、この電源がとても優秀で驚きました。電圧つまみは多回転で微調整が容易にでき、電流調整つまみは一回転でととても扱いやすい。更にOVPの調節つまみを回せば37V~0Vまでの出力電圧の制限がかけられます。例えば、5V以上掛けてはいけない回路に低圧からゆっくり電圧を上げたいときってありますよね。そういう時はOVPを5Vに設定すれば、5V以上まで電圧の調整つまみを回すと電源スイッチ(ブレーカー)が勝手に落ちるようになっています。これで安全に試験できるわけですね。良くできた電源です。
CJeJPBVUcAEGsUm
一応カレントリミットが動作してるかも確認しました。完動品でした。

次の大きな買い物は電解コンデンサとパワーIGBTモジュールです。
CI00TdsVAAA9qub
真ん中に大きさ比較としてArduinoを置いてあります。IGBTは1.2kV300A定格のもので、電解コンデンサの方は400V2700uFだったかな。この電解コンデンサ1つ100円だったので衝動買いしたのですが、翌々考えてみたらこの静電容量でこの大きさだと使う機会がほとんどないような・・・って感じです。IGBTの方は大型テスラのバス電圧を616Vの設計で製作するときに使います。ここまでくるとそろそろ怖いですね。感電したら指が吹っ飛びそうです。感電するような設計にしなければ何の問題もない話です。(某電気柵のようなry)

ここからは買い物ではないのですが、少し驚いた電卓の進化を目撃したお話です。
CLnYLM1UYAEF4Vi

CLnYLxlVEAATpCf
右が工業高校で愛用していたもの。
左が大学で使うということで購入したもの。
なんとなんとドット表示じゃなくなってたんですよ。数字は明朝体で書かれ、英語だけでなく漢字まで表示できるようになっていました。四則演算や行列計算は勿論のこと、ちょうど確率・統計の講義で習っていた正規分布やポアソン分布などの計算も一発で出来てしまって、もうこれさえあれば手計算要らないなって感じです。

ここからはほんとどうでもいいようなおまけです。CLumwGgUsAA2q8R
初めてうちの近くのド〇キーホーテに昨日入ってみたのですが、中々イカしてるUSBがありまして。写真のように端子がむき出しのデザイン。あとは言いたいことを察してください。

CLunovRVEAEcjdm
 これもド〇キーホーテで見つけたものです。このクッションをパソコンにUSB接続すると、クッションを殴るとエンターが押されるというスグレモノ。プログラミング捗っちゃいますね。

それではまた1ヶ月後。進捗がよければ月2の更新にもなるかもです。
Twitter プロフィール
今の出来事
非公開コメント

管理人へ直接コメントされたい方はこちらからお願いします。

名前
メール
本文
ギャラリー
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
  • 2017年春休みの進捗
最新コメント
訪問者数カウンター
  • 今日:
  • 昨日:
  • 累計:

アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード
  • ライブドアブログ