A's LabⅡ

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

!!DANGER HIGH VOLTAGE!!
このブログには生命に関わる危険な記事が含まれています。
強電系の工作にはある程度の知識をつけてから全て自己責任でお願いします。
この記事を参考にして事故が起きましても、当方は一切責任を負いませんので予めご理解ください。

マウス合宿と草の根大会

先月(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走目以降のプログラム(加減速)をマーカーレスで実装
・フルサクセス
    様々な補正やフィルターの実装
・エクストラサクセス
    決勝コースで加減速してゴールする。

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

ASmouse_Ear(一作目マイクロマウス)のハード完成

前回の更新では基板にある程度の部品を付けて電源を投入し、バッテリー電圧とジャイロの値がPCへ送れるところまでやりました。今月の進捗は一応ハードが完成して、DCモーターの基本的な制御ができるようになりました。
CkG9hNfUgAAveSr

CkG9iSNUkAAPca6

 一応完成というのは、電気的には完成という意味で、モーターのケーブル が長すぎで切らないといけない物理的な作業が残っているからです。スピードを出せない内は低重心化はそれほど必要ありませんが、見た目や持ち運び等考 えると邪魔なので近いうちに切ろうと思っています。Faulhaberの1717という高価なものを使っているので、ケーブルの切断を躊躇ってしまいます...

ASmouse_Earのスペックは以下の通りです。
マイコン:RX631
センサー:ST-1KL3A(フォトトランジスタ)
MPU6000(ジャイロ)
 IE-512(エンコーダ)
モーター:Faulhaber_1717
バッテリ:LiPo_2S(7.4V)120mAh
重量:100g(バッテリー含む)
サイズ:100*69*24(ケーブル除く)
CkG9jHaVEAAOGgX

 モーターマウントはCNCで切削しました。1717 を使用したマウスでは、モーターマウントやピニオンギヤ云々で、ある程度トレッド幅が決まってしまいます。それでも、もう少し縮められそうな気がしたの で、先輩たちのトレッドより9mm程狭くして設計してみました。トレッドは狭ければいいというわけではないのは百も承知ですが、トレッドが狭ければ多少ス リップしても壁に当たる率を落とせるのではないかと考えました。余裕をもってスラロームするために、なるべくトレッドを狭くしようと思い、次のことを行い ました。

 まずは共立電子のモジュール0.5_12枚歯の穴径φ2mmのピニオンギヤを購入します。元々、モジュール0.5_12枚歯穴径φ1.5mmのギヤの入手が難しかったので、手元にあるギヤで解決しようとしたらトレッドが狭められそうだなと思ったのがきっかけです。1717のシャフトはφ1.5mmなので、共立のギヤでは填らないんです。そこでポムをφ2mm,長さ5mmの円柱にCNCで切削して、ギヤに圧入します。
Cio6qenUgAEIXoE
 簡単そうですが、小さすぎるので力が入らず難しいです。先輩に相談すると、バイスに両面テープを張って、ポムとギヤを両側に張り付けて位置を微調整をしながら圧入するといいとアドバイスをいただき、ゆっくりと圧入していくことにしました。すると見事に填ってくれました。

Cio6r2xVEAAQdp8
 次にピニオンギヤを5mm厚から2.5mm厚までCNCで薄くします。スパーギヤが2mmなので、ピニオンも2mmにしようかと思いましたが、あまり薄くするとピニオンギアが滑って信頼性に欠けるので、気持ち太めにしました。

Cio6tTiUkAEU6pz
そして最後にφ1.5mmの穴を中心に空ければ1717に填るピニオンギヤの完成です。製作費は25円!

Cio6uh4UYAAltR_
 モーターマウントにモーターとタイヤを取り付け、スルスル回ることを確認して一安心です。作ってからわかったのですが、設計が甘いせいで色々と隙間ができたので、まだ3mmほどトレッドを狭められそうです。次回作では修正します。この画像では仮止めなのでベアリングが入っていませんが、完成形ではタイヤ1つにベアリングを2つ入れて両持ちにしています。その二つのベアリングの間にスペーサーを入れたり、両外側にもスペーサーを入れることによって、ネジを強く締めても引っ掛かりが軽減されます。このことについては他の方が詳しくまとめられているので割愛します。

 4輪になっていますが、最初の内は2輪で行こうと思います。4輪だと再現性があまり良くないとのことなので、壁補正や壁切れ補正等できるようになってからにします。

 早速2輪でゼロフィードバックをやってみました。よく宴会芸と言われているものです。角速度をゼロに近づけるようにPID制御を掛けています。D制御をうまく追加できなかったので、 実質PI制御になっています。ゲイン調整の問題なのか根本的に数式が違うのかはまだ分かっていません。きっと何か勘違いしていると思います。こんな制御では誤差が貯まり過ぎてまともに使えません。
 動画の中で箱を前後に振る様子がありますが、これはエンコーダーを使い、機体の位置もPIDで0に近づけている確認です。この動画でやっていることをまとめ ると、エンコーダーを使って機体の速度を求め、ジャイロを使って角速度を測定し、ゼロからの差分を実測値の角速度とします。目標値はゼロなので、それらの 目標値と実測の角速度を使えばPID制御が組めると思います。DCモーターを使ったマウスでは、この動作を使いながら走行することにより、左右のタイヤの 直径が少しくらい違っても、自分で補正を掛けながら真っすぐ走ってくれるようになります。実際に私のマウスも右のほうが若干小さいのですが、補正をかけて 真っすぐ走ってくれているみたいです。
<補足>
 先ほど先輩から電話でご指摘がありました。「タイヤとホイールはタミヤの既製品を使っているのであれば、直径が違うなんてことはそうないから、この場合はギヤの干渉の違いとかタイヤの締め付け具合などの要因を疑うべき。タイヤの直径が違うだけならその分タイヤの直径値をソフトで調整してやればいいだけ。変に干渉する問題を解決するためにゼロフィードバックを使うといい」とのことです。ご指摘ありがとうございます。

 エンコーダーを使って速度を求めることについてですが、1717に装着している一回転あたり512 パルス(※1)を出力する高分解能であれば、1msで計算させてもある程度正確な速度が求められています。高分解能なエンコーダーでも、自分で取り付けるとなるとズレが生じるので、そこはサンプリングタイムを伸ばして移動平均を取ったり、カルマンフィルタを使うなど、少し面倒なことをしないと使える値が取れないらしいので、最初の内はエンコーダー付きの既製品を買った方がいいかもしれません。
(※1)2相のパルスのエッジを検出させているので、実質4倍の分解能で計算しています。

 これは最初の動画でやっていた角速度補正を掛けつつ、前後に台形加速させてゆらゆらしている様子です。加速度と最高速度を設定して、500ms加速 →500ms減速→500ms後ろに加速→500ms減速をループしています。この時からモード選択機能を追加したので、動作まで少し時間がかかるように なりました。モード選択はタイヤを回してエンコーダー値を足し引きして設定します。モード数に応じた値をLEDを使って2進数表示させていますが、バッテリーに隠れて見えません!スイッチもそうですが、バッテリーが邪魔で押しづらいです。次回は気を付けます・・・

 製作に当たって手こずったことは、センサー値が4個中2個取れなかったことです。原因はセンサーが死んでいることによる不具合でした。正常なフォトトランジスタは、太陽光を当てると抵抗値が変化するのに対し、不良品のフォトトランジスタは全く抵抗値が変化しません。このセンサーの入手先はEabyなので文句は言えません。とても安かったので・・・。
CiA6w6xVIAAY8rW
 10個買ったのですが、そのうち5個が不良品でした。Eabyで半導体を購入したら、まずは個別に動作チェックをしてから実機に取り付けるようにしないと無駄に時間を取られてしまいます。

CjTvsZaUkAApDrW
 左が本物ですが、寸法や見た目は大体同じです。しかし刻印のされ方が違います。やっぱりまがい物です。同じ環境に置いての抵抗値も本物と違います。それでも偽物は偽物でまとまった値を返してくれているので、動作品を選別すれば使えそうなので使っています。壁の判別や補正等、問題なさそうな値が得られているので、今作はこれで行きます。

 これから迷路を走らせるためにプログラムを組んでいきたいのですが、応用数学と量子力学と原子力の中間テストがあったり、物理学Ⅲと一般教養のレポートがこの時期にあるのでマウスをやっている時間があまり取れません。(今は量子力学より古典力学の方が必要なんだよ...)それでいて来週はマイクロマウス合宿でプチ大会に応募しているため、マップ記憶とかそんなレベルは望んでないので、とにかく迷路を隈なく走り回れるようなプログラムを組まないといけません。右手法や左手法では完走できないコースにしてくると思うので、ダンゴムシのように左に曲がったら次は右みたいな独特なものにしても面白いと思いますし、曲がる方向をランダムにして運任せに進めるのも面白いかもしれません。運任せだと一発で最短経路を行ける可能性も・・・!

ということで、一週間後にはある程度走れるようになってることに期待して今月の進捗報告とします。

マイクロマウス始めました。

 すっかり暖かくなり過ごしやすい季節になりました。こんな季節はお昼寝が捗ります。サークルには新入生が数人来てくれました。まだ名前を覚えきれていないので頑張らないといけません。

 さてさて、1年ほど前のブログ更新で、私がサークルに入部してマイクロマウス班に入ったと書きましたが、1年間全くマウスに触れずに終わってしまいました。新入生が入ってきて、流石にマウスを全く知らないマウス班の先輩では駄目だということで、かなり急ピッチで基板データを作って発注しました。届いたのがこちら。
image

 機体の名前は "ASmouse_Ear" です。前辺りがネズミの耳みたいになっているのでearということで。こんな形にするのも最初だから出来ることだと思っています。A先輩からは「復帰する気がない」と言われましたが、そこまで盛大に柱に当たったら諦めていいかなと今作の段階では思っています。それよりも丈夫さと肉抜きを優先しました。基板厚は1.2mmです。この機体である程度ソフト面を高めてから、挑戦した形にしていきたいと思っています。
 これには特に面白い部品は載っていません。強いて言えば大きめのフルカラーLEDが乗っていたり、使いもしないFETが乗っていたりしますが、普通のマウスです。"使いもしないFET"というのは希望であって、もし手元にFETの在庫がないときに死なれた場合、半田ごてさえあればその場で修理して走らせることができます。基板にスペースがあるので飾り感覚で乗せてます。重さなんて気にする必要もないくらい軽いので積極的に備えておきましょう。

 書き込みができてLチカしている様子
 そうですね。前回の基板は燃えて終わったので、今回の基板はライブラリを念入りにチェックして発注しました。アルファの機体で使った部品とライブラリを使ったので、確認する必要もない気がしますが無駄に神経質になってしまいます。

 今のところマウスの進捗はこのくらいです。あとはモーターと壁センサーを手に入れて、モーターマウントを掘ればハードは完成するかな?マウスに関する知識が致命的にないので、これから勉強していきます。

 ここからはトレーサーの話になります。
CexT1nzW8AYW8ss
 AliExpressでFAULHABERのモーターを中古で買ってみました。1524の9V版です。6V版でも抵抗値が高いなどの理由で4.5Vや3V版を使用する人がいるなかで、9V版を使っていきます。好きで9Vのモーターを買ったわけではなく、手ごろな値段のモーターで、いい感じの大きさといい感じのエンコーダーが付いているのは魅力的です。マウス同様、このモーターでソフト面を高めてから、いいモーターを使っていこうと考えています。因みに値段は1つ二千円弱です。送料も無料です。

CexT3TGWsAAjkJ5
 しかしギヤ付きです。19:1の遊星ギヤが乗っています。トレッド的に無理でもなさそうなサイズですが、明らかに重りを積んで走っているだけなので、分解を試みます。

Ce788s8W4AAAcZd
 バイスに挟んでプライヤーで第一関節辺りを捻れば取れます。ネジではなく圧入してあるだけなので、グリグリ左右に振れば簡単に外れます。

ChMhEeHUUAAeaYj
 第二関節はネジでとまっているので、プライヤーで外そうとしないようにしましょう。

Ce78-NTWEAA9lJm
 遊星ギヤは手で回して遊びます。

Ce78_mkWQAAoYTT
ギヤヘッドに付いていたギヤはモジュール0.5の12枚歯でしたが、中のギヤはモジュール0.3の15枚歯でした。既製品はギヤがズレることもなくていいですね。

Cgzt83zU0AAfWL7
そのモーターに対応するスパーギヤも購入しました。70枚歯です。バイヤーから2つおまけしてくれました。

 ここからは2枚目の基板の話になります。
CgeUD5ZWEAAMRID
 マウスと一緒に発注したのはこの基板です。全体の写真は撮り損ねました。この写真はシルク印刷とドリル穴のズレが酷かったので、正常なものと比較したものです。手前の基板は圧倒的にズレてます。このようなことはTwitterで話さず身内でのみ話をしましょう。E〇e〇low氏のエゴサに引っかかってファボとフォローが飛んできます。

Cge17GYUIAELig0
 こちらは電光掲示板キーホルダーのマイコンをはんだ付けしようとしている様子。パッドが小さすぎました。マウスに使用したジャイロの2倍くらいはんだ付けが難しいです。まだ動作確認は行っていませんが、多分はんだ不良で動きません。時間があるときに作業を進めます。

ChCSl4yU4AAt_dF
 こちらは表面実装版コッククロフト・ウォルトン回路です。調べれば出てくると思いますが、簡単に原理を説明すると、各コンデンサにダイオードを通して並列に電荷を溜めていき、交流の特性である極が逆になったとき、全てのコンデンサがダイオードを通して直列になり、入力電圧の十数倍の電圧が得られるものです。段数によって更に上げられますが、ダイオードの順方向電圧やコンデンサのESR等の影響で10kV程で頭打ちになるという情報もあります。特性の良い部品を使って絶縁油に落とせばもっと伸びるはずです。コンデンサについては、最適な種類はどれなのかを実験してデータを取っていた海外サイトがあったので、興味のある人は探してみてください。
100kΩ程の抵抗をグランドに接続して放電端子に近づけた様子です。

やはり無理があったようです。想像通りなので痛くありません。まだ予備が沢山あるので、コンデンサを変えたりしてコンパクトなスタンガン高電圧発生回路を開発しようとしています。(そういえばマウスの形もスタンガンって言われたっけなぁ)

因みに高校2年の時に作ったスタンガンがこちらです。
CeedaEyW4AAbG9y
これは電源も含めて手のひらサイズに収まっていました。今回はこれの1/10サイズを目指します。

それと最後に、Twitterのフォロワー数が600人行きました。今後ともよろしくお願いします。 
Twitter プロフィール
今の出来事
非公開コメント

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

名前
メール
本文
ギャラリー
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
  • 【Trifilar】2017年マイクロマウスの紹介
最新コメント
訪問者数カウンター
  • 今日:
  • 昨日:
  • 累計:

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

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