fc2ブログ

2021年全日本大会の振り返り

◆はじめに
全日本大会お疲れさまでした。
蔓延防止措置中に関わらず、全日本大会のオフライン開催に尽力して下さった皆様に心より感謝致します。国際ロボット展での開催だったこともあり、いつもの参加者だけでなく、思いがけず邂逅した方々とも交流でき、非常に楽しませて頂きました。

◆大会の結果
さて肝心の結果ですが、残念ながら探索のみでの完走となりました。
ウチに帰ってログを見返してみると探索したマップは残っていましたが、最短経路のパスが導出できていませんでした。前日の32x32での試走会ではもっと長い迷路を完走していたので、一昨年と同様にパスの配列長さが足りないバグではないと思いますが、最速経路導出のダイクストラ法にバグが潜んでいるのは間違いなさそうです。本番の迷路で未知のバグを引くのはこれで3回目となります。やはり全日本大会には魔物が住んでいると思わざるを得ませんね。

◆今年の機体
今年の機体紹介はアドベントカレンダー記事にて済ませているので、賑やかしにバズった動画でも上げておきます。


この動画のパラメータは最高速が3m/s、加速度が12m/s/s、最高ターン速が1.2m/sでした。全日本大会はもう少し上のパラメータも用意していたのですが、残念ながらお披露目することはできませんでした。

◆昇圧難しい
本機体の特徴である昇圧についても振り返っておきます。
もともとはパワーが足りないが2セルを積むのは重いし、バッテリーの管理が面倒くさいという理由で昇圧しようと考えたわけですが、1年間昇圧と戦ってわかったことは、昇圧は私にはまだ早いということです。

パワーが足りないから昇圧したはずなのに、1セルLiPoの電流供給能力が足りず結局昇圧しきれなかったり、供給能力を増やすために容量の大きいLiPoを積む羽目になり重量も増え、効率が悪いために32x32の全面探索すると全力で最短走行するほどの残量がないなど、殆どメリットを享受できませんでした。
最短走行時のみ昇圧したり、スーパーキャパシタを搭載して供給能力を補ったりすれば良かったのかもしれないと反省しておりますが、新作では大人しく2セルを積むことにします。

◆おわりに
今日から新しいマウスシーズンの始まりですね。
目標である32x32での最短走行が達成できなかったので、次こそは成し遂げるべく今から新作の設計します。例年ではこの時期にはすでに新作ハードが完成しているはずなので、今年は急いで新作を作らないといつも以上にソフトの開発時間がないと焦っております。モチベーションが高い内に設計してしまいたいですね。
それではまた次の大会でお会いしましょう。ありがとうございました。

スポンサーサイト



マイクロマウスの迷路をDIYしてみた

◆はじめに
この記事はマイクロマウスAdventCalendar2021の26日目の記事です。
嘘です。そんなものはありません。
本記事はカレンダーが埋まらなかったときのために書き溜めていたものですが、
皆様のおかげで無事にアドベントカレンダーをすべて埋めることができました。
毎日楽しい記事を読ませて頂きました。ご協力感謝致します。

今回は迷路をDIYした話を書いていきたいと思います。

◆迷路を自作した理由
マイクロマウスの迷路はアールティで購入した9x9サイズを持っているのですが、
マウスが速くなり直線9区画では加速しきれず最高速に達しない領域に来たので、
より大きな迷路が必要となりました。
しかし、市販の迷路は9x9が最大であり、これ以上大きい迷路は収納性が悪いため、
直進と斜めの調整用に長細い迷路を自作することにしました。

◆板加工の依頼
自分では穴加工の精度に自信がなかったため、STORIOに依頼しました。
フォームから板材や加工内容を指定することで簡易見積りを出すことができます。
サークルの先輩や後輩も使っていたので実績もバッチリです。

◆迷路の設計
今回は直進と斜めの調整が目的なので、縦長さは加工最大長さ1800mmとし、
横幅は両串の調整ができる3区画が取れるように360mmとしました。
また、直進と斜めの調整が1枚でできるようにリバーシブル仕様とし、
穴が貫通しないように板厚を12mm、穴深さを10mm以下で設計しました。



参考に業者へ依頼した際の図面を上げておきます。
後述しますが、穴が小さく拡張する羽目になったので
穴の直径は4.5mmの方が良いかもしれません(未確認)

STORIOでは加工内容が分かる程度のラフスケッチでも構わないそうなので、
気軽にオリジナルの迷路を自作することができます。

◆板の注文
注文フォームに板材の種類や加工方法などを入力していきます。



今回はラワンベニヤ合板の12mmを使用し、外形寸法は1800x360mm、
柱を立てるための丸穴加工をφ4mmで表面80個、裏面84個を追加します。



また加工フォームには記載がないですがNCによる加工オプションがあります。
私はメールで加工内容についてやり取りしているときに知りました。
手作業での加工では最大2mmほどの誤差が発生してしまうようですが、
NC加工であればより精度良く加工できます。私の場合はプログラム費\3000と
斜めに固定する治具費\1000が追加でかかりましたが、きれいに壁が整列しました。
NC加工が希望であればコメント欄に記載しましょう。

この時点で見積り金額(\17283)が表示されていますが、
この金額はあくまで簡易的な見積もりなので翌日に見積額の修正連絡が来ます。
参考ですが今回は¥24114(梱包送料と消費税込)でした。

◆板の加工
注文から1週間ほどで板が到着しました。

板表面 板裏面
     表面(直進)             裏面(斜め)     

穴はきれいに空いてますが、表面がザラザラなのでサンダーで整えていきます。

板加工現場

私はマキタ教に入信しているのでマキタの充電式ランダムオービットサンダ
ヤスリがけしました。5分ほどで終了です。電動工具はいいぞ。


研磨後の板を固く絞った濡れ雑巾で拭いた後、板を塗装していきます。
塗料はマイクロマウス公式と同じものを使用します。
参考ですが0.2Lで少し多いくらいでした。


面積が広いものを塗装するときはローラーを使うときれいにムラなく塗装できます。
私はAmazonで下記ローラーセットを購入しました。


塗装後の迷路が以下となります。

板塗装後

きれいに塗れましたが乾燥後に表面がザラザラしてしまいました。
ベニア板は水分を含むと毛羽立つので、霧吹き等で毛羽立たせてから研磨したり、
塗装前にシーラーを塗布するなどをするのが良いようです。
私はさらにサンダーで研磨して2度塗りしました。

塗装後は穴に塗料が入り込んで柱が刺さらなくなっていると思うので、
穴を空け直しましょう。私はもともとφ4mmで空けていたので
ここでφ4.5mmのドリルで拡張しました。

◆白線を引く
最後に調整用の白線を引きます。
NCで加工した穴を信じて以下のようなテンプレートを作りました。

迷路テンプレート

鉛筆で下書きした後、白の油性ペンと1m定規で清書したものが以下になります。

PXL_20211216_094134273.jpg

極細の白ペンはインクがなくなるより先にペン先がかすれて書けなくなるので
予備に数本買っておくのがオススメです。書く際もなるべく力を入れずに書くことで
ペン先が長持ちします。白線は細い方が良いので以下のものを使いました。


◆おわりに
完成した迷路がこちらになります。
自作迷路があるとこんな鬼畜迷路も作り放題です。
ぜひ皆さんも自分もマウスをいじめるために迷路を作ってみましょう。

PXL_20211225_144048442.jpg

P.S.
DIYは楽しいですね。
ガレージも手に入れたことですし、本棚とか作業机も作ろうかなと思いました。
こうして電動工具が増えていくんですね……

アドベントカレンダーが寂しい件について

本稿はMicroMouse Advent Calendar2021の1日目の記事です。
MicroMouse Advent Calendarとは、マイクロマウス競技に参加している方々が、
技術的な話、趣味の話、モチベーションの話などを面白おかしく記事にまとめ、
連日更新し繋いでいくものです。
毎年開催されておりますので過去のカレンダーもご覧下さい。
またマウサーの皆様にはまだ空き枠がありますのでぜひ参加して頂けると幸いです。

◆はじめに
出張先のホテルよりこんばんわ。コヒロです。ご無沙汰しております。
毎年恒例のアドベントカレンダーですが、今年は登録状況が芳しくなく、
自らアドベントカレンダーを立ち上げてほしいと呟いた手前、
責任をとって初日に更新することに致しました。
私が1日時間を稼ぎますので後の更新は任せます……

今回は約2年ぶりに開催された関西地区大会に参加してきた話と、
今年の新作マウスについて書いていきたいと思います。

◆大会の結果
まずは関西地区大会に参加された皆様、お疲れさまでした。
そして、大会の運営・協賛して頂いた皆様、ありがとうこざいました!

去年は新型コロナの影響でオンサイトでの大会が開催できなかったため、
オンラインでの開催となりました。それはそれで良かったのですが、
マウスを肴に酒を呑んだり、ホテルに迷路を持ち込んで徹夜デバッグしたり、
大会独特のピリピリとした空気が感じられるリアルにはやはり敵いませんね。

さて大会の結果ですが、悔しくもリタイアしてしまいました。
あと1回曲がってくれればゴールできたのですが、
陰キャの私には眩しくも輝く太陽の前には成す術もありませんでした。
(訳:太陽光により光センサが壁を誤認識したため探索に失敗しました)

もともと左前の光センサが不調だったのですが、自分の家や中部支部の環境では
問題なく走行できていたので放置していたのですが、マウス十則にもありますように
「練習で1割の確率で発現するトラブルは、本番では9割の確率で発現する
を失念しておりました。次の大会では環境光対策を入念に施して挑もうと思います。

大会の様子がご覧になりたい方は以下のリンクよりご視聴ください。


◆新作紹介
本来であれば新作であるSylphy Forceについて長々と語りたかったのですが、
急遽アドベントカレンダー初日に変更したため、今年の北信越地区大会の動画を
使って簡単にだけ紹介したいと思います。



本マウスの特徴としては昇圧ICを搭載しており、LiPo1セルから7Vまで昇圧して
各モータに供給していることです。

昨今では高電圧化の流れが来ており、ロボトレーサやクラシックマウスでは
より強力なトルクを生み出すため、3セルや4セルといったバッテリを搭載する
傾向にあり、マイクロマウスでも宇宙人たちはすでに2セルに対応し始めており、
さらなるパワーが求められる時代となることは確実です。

とは言うものの、マイクロマウスでは実装面積が少なく、最も重く嵩張るバッテリは
なるべく小さい方が良いのも確かです。そこで軽量で運用が簡単な1セルのまま
ハイボルテージ化できる昇圧を試してみようと思った次第であります。

昇圧したおかげでかつてないほどのパワーを手に入れたわけですが、
その代償として、モータドライバの発熱問題、ジャイロのノイズ問題、
バッテリの容量不足問題などなどの難題が発生しました。

その中でもバッテリの容量不足は深刻であり、32x32の迷路を探索することが
できないくらい燃費が悪く、頭を悩ませております。
全日本大会まで時間もあるので新しく基板を起こしてしまおうかとも思いますが、
ハードに苦戦して完走できない恒例のパターンでもあるので苦悩しております。

◆おわりに
ここまでお付き合い頂きありがとうございました。
今年は3月に東京ビッグサイトで全日本大会が開催予定です。
リアル大会は最高です。ぜひ皆様とお会いできるのを楽しみにしております。

またMicroMouse Advent Calendar2021の記事も心待ちしております。
残念ながら明日の担当が決まっておりませんが、誰か投稿して頂けると幸甚です。
アニキの暗躍話とかM井さんの新築話とかK峰さんの旅行話とか読みたいですね……

スラローム自動生成で楽をしたかった話

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

前回はぱわぷろさんの「ジャイロセンサ「ICM20948」で苦しんだ話」でした。

新しい素子を使うのは大変ですよね。自分はソフトが苦手でついつい新機体を

設計しがちですが、毎回悩まされるのはIMUと通信できないことです。

いつかは人ともICとも会話できないコミュ障から脱却したいものです……


◆はじめに

マウサーの皆さんは各種調整作業は好きですか?私は大嫌いです。

タイヤ径、トレッド幅、壁センサの閾値、ジャイロの感度係数などなど、

マウスを完走させる上で調整すべきパラメータは無数にあるでしょう。


私はこれらのパラメータが重要なことは重々承知していますが、

それでも目的の動作になるまで何度も何度も繰り返し同じ作業をすることが

飽き性の私には苦痛でならないのです。

これが嫌いでソフトを嫌厭してしまっていると言っても過言ではありません。


その中でもスラロームの調整作業は苦行以外の何物でもありません。

スラロームは角度や速度によって軌道が異なるため、ターン前後の直線距離を

角度と速度毎に調整パラメータとしている人が多いのではないでしょうか。

そもそもターンの軌道を計算するだけでも色んなパラメータがあり、

それらも加えると数えたくもない程のパラメータが存在していると思います。


私はこの調整作業をサボるためにスラロームの自動生成機能を実装しました。

この記事はそんなものぐさが書いたものなので期待しないで読んで下さい。


◆スラロームのパラメータ

私のスラロームには1つのターンに対して5種類のパラメータがあります。
  • 角度
  • 速度
  • 最小旋回半径
  • 前距離
  • 後距離
それぞれのパラメータについて説明していきます。

  スラローム旋回のシーケンスの図
  一般的なスラローム構成 ※理系的な戯れより転載

角度は説明するまでもないと思いますが、ターンで曲がりたい角度です。
マウスだったら90degとか45deg、180deg、135degなどでしょう。

速度も説明不要ですよね。ターン中の車両進行方向速度です。
沢山のマウサーがブログで大会で走った各種ターンの速度をブログに
掲載しているので目標速度として参考にしてみて下さい。

最小旋回半径はターンの軌跡を計算する際に使っているパラメータです。
クロソイドと円弧でスラロームを作っている場合は円弧区間の旋回半径だと
思って下さい。最も遠心力が強くなる部分なので限界速度の参考にもなります。

前距離、後距離は前述した通り、ターン前後に入れる直進区間です。
スラローム時に区画中心から区画中心に移動するように調整する区間とも言います。

これら5つのパラメータを計算できればスラロームが生成できます。
次章からはこれらの計算方法について説明していきます。

◆自動生成のパラメータ

まず自動生成に必要なパラメータを紹介します。

  • 角度θ
  • 目標位置[X,Y]
  • 限界横重力加速度G
  • コーナリングパワーC

またパラメータが増えるのかと思った方はもう少し読んで下さい。


角度は前述した通りです。作りたい角度毎に設定して下さい。

目標位置はスラローム開始時を原点としたスラローム終了後の位置です。

限界横重力加速度は最大遠心力と同義です。スラロームの速度と最小旋回半径を

求めるのに必要なパラメータです。マウサーが「何Gでターンしている」などと

会話しているのを聞いたことがあるかもしれません。

これらはスラロームを作る上で設定するだけで調整項目ではありません。


唯一調整が必要なのはコーナリングパワーです。

大抵の人には聞き覚えのない言葉だと思うので簡単に説明します。
  タイヤの発生する力の図示

  タイヤに発生する力 ※理系的な戯れより転載


クルマが曲がるときにタイヤから発生する力のことをコーナリングフォース

と言います。遠心力と釣り合っている力とも言いますね。

この力は横滑り角βと比例関係にあるというのが最も単純なタイヤモデルで、

その比例定数をコーナリングパワーと呼んでいます。


図を見るとタイヤの方向とタイヤが進んでいる方向には角度がついていますが、

この角度を横滑り角と言い、タイヤが変形することで車両角度と車両進行方向が

ズレることを表しています。このズレがスラローム速度によって軌道が変わる

原因だと仮定して今回の自動生成アルゴリズムを構築しています。


コーナリングパワーはタイヤ固有のパラメータなので、スラローム毎に調整する

必要はありません。なので、このパラメータを1つ調整するだけですべての

スラロームを生成することができます。


少しだけ考え方が違いますが、こじまうす方式でも比例定数kを調整するだけで

同じことができます。


◆自動生成アルゴリズム

雑なフローチャートで申し訳ないですが、これを使って説明します。

  


初期角度の設定

最初の速度は自分のマウスが出せないと思う限界の速度を設定して下さい。

この速度以上のスラロームは生成できません。また速すぎても計算時間が

かかるだけなので、自分のハーフマウスでは2m/sを設定しています。


最小旋回半径の算出

最小旋回半径Rは、最大遠心力時の旋回半径と同義なので、上で設定した

速度Vと限界横重力加速度Gから算出します。(M:質量、g:重力加速度)

  


ターン軌道の算出

次は最小旋回半径Rから前後距離を除くターンの軌道を算出します。

まず、私はターンの軌道を計算する上で下図のような形状となる角速度と

時間の関係式を使ってます。一般的な台形関数でも考え方は同じです。


  


最小旋回半径Rと速度Vから最大角速度ωmaxを算出します。

  

この値が角速度関数の最大値となり、角速度関数の面積(角速度の積分)が

ターン角度θとなるので、ターン時間Tが算出できます。(A:上図の関数の面積)

  

これで角速度の関数が求まりました。
  

速度V一定で角速度ωの分布があれば滑りのないターンの軌道が算出できます。


続いてコーナリングパワーを用いて横滑りを考慮したターンの軌道を求めます。

まず横滑り角は上図タイヤに発生する力より下記のように表せます。
(u:車両前方方向速度、v:車両横方向速度)

  

今回の計算では、単純化するために横滑り角が十分に小さいと仮定とすると、

左右輪の横滑り角は下記になります。(W:車両中間からタイヤ力点までの距離)

  
  
コーナリングフォースは、横滑り角とコーナリングパワーで比例するので、
  
  
となり、コーナリングフォースは車両にかかる遠心力と釣り合っているので、
  
  
となります。初期値を0として数値積分することで横滑り角βが求まります。

あとは求めた角速度の分布と横滑り角から、速度一定で積分することで
以下のような軌道を求めることができます。
(青線:横滑りを考慮しない軌道、虹線:横滑りを考慮した軌道)

  運動方程式から計算したスラローム旋回グラフ
  ターン軌跡イメージ図 ※理系的な戯れより転載


横滑りが発生しているため、少しだけ大回りすることがわかります。

この位置と角度のズレがスラロームの調整を面倒にしていると考えています。


前後距離の算出

最後は前後距離の算出です。

ターン終了後の位置と角度がわかっているので、設定した目標位置との差分を

幾何計算するだけで求まります。


  


ターン終了位置を(XEnd, YEnd)、ターン終了角度をθEnd、

目標位置を(XGoal, YGoal)とすれば、前後距離は以下のようになる。

  

  

初期位置や角度が違う場合にはそれぞれの値を移動、回転して使って下さい。


算出した軌道の確認

これでスラロームの軌道を求めることができました。

あとはフローチャートに従って前後距離が負の値になっていないかや、

柱と干渉していないかなどを確認して下さい。

もしいずれかの条件に満たなければ速度を落として計算し直します。

私の場合は計算速度も考慮して10mm/s刻みで繰り返し計算しています。

※180度ターンだけは刻みを細かくしないとうまくできません。


◆計算結果

これで単一パラメータの調整のみで任意のターンが自動生成できるようになりました。




コーナリングパワーはターン角度の大きい135度ターンなどで、
位置が合うように調整するのがオススメです。私はまだ速いマウスが
作れていないので、1.5Gくらいまでしか試していませんが、
これくらいのターンであれば問題なく走っています。

◆おわりに
ここまで読んで頂きありがとうございます。

スラロームの自動生成は、地獄のような調整から開放されるだけでなく、

リアルタイムに計算できれば位置や角度の補正に使えたり、

こじまターンなどのアウトインアウトで曲がるターンを生成できたりと、

安定化や高速化にも役立つはずだと妄想しています。

まだまだ検証が足りていないですが誰かの調整作業を楽にできれば幸いです。


さて、明日のMicroMouse Advent Calendar2020sshunさんの
「HALがビミョーである理由の考察と改善案」です。
HALよりLLの方が扱いやすいと呟いたばかりの自分にとっては、
ホットな話題です。とても楽しみです。


面倒くさがりのためのコーディングルール

この記事はMicroMouse Advent Calendar2019の21日目の記事です。

前回の記事は枝ピロさんの「今年度機体の反省」でした。

完走できないと悲しいですよね。マイクロマウスってやればやるだけやることが

増えていくし、うまく行かないことがほとんどなので、スケジュールを立てたり

モチベーションを保つことが非常に難しいというか無理だと思っています。

なので、自分はモチベーションを保つために、展示イベントへ参加したり、

ツイッターへ進捗を上げたりしています。1ヶ月くらいの頻度で

イベントをつくれば、そこを目標になんらかしらの機能を追加する

みたいな短期的なスケジュールとモチベーションで開発しています。


◆はじめに

2週間振りの更新ですが、すでに辛いです。

週一で更新している人は何を食べればそんなことができるのか・・・


もともとAdventCalendarに登録したときはzilconiaちゃんのサンプルコードを

更新して、サンプルコードの解説記事を書くつもりでしたが、バグが潰せず

更新できなかったのでプログラムの書き方でも紹介しようと思います。

独学なのでいろいろツッコミを頂けるとうれしいです。





続きを読む

プロフィール

コヒロ

Author:コヒロ
某自動車会社の子会社に就職した新入社員。某五年制大学のサークルでマイクロマウスを製作していました。現在も製作中。パソコン、自転車、読書などなど多趣味で中途半端な人間です。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR