fc2ブログ

社内のアイデアコンテストで優勝した話

この記事はマイクロマウス Advent Calendar 2022の21日目の記事です。

前回はqtfdl94qさんの「マイクロマウスのプログラム構造の紹介2(アプリケーションの基本骨格)」でした。自分も新作ハードを作る度にプログラムを一から書き直していますが、未だに納得のいく構造になっていません。この記事を参考に新しく書き直したくなりましたが全日本大会が終わるまでは我慢です。マイクロマウスは毎年ルールが変わらないのでハードもソフトもじっくり進化されられるのが魅力のひとつだと思います。


◆はじめに

本稿はとあるマウサーが異世界(社内のアイデアコンテスト)に転生(出場)して無双(優勝)した話です。マイクロマウスとは関係ないのでご注意下さい。

例年のアドベントカレンダーではマイクロマウス以外のネタもあったんですが、今年は真面目なマウスネタばかりなので、それ以外の記事を書くのは気が引けたのですが、他のネタもなかったので少しだけ自慢話に付き合って下さい。


◆アイデアコンテスト概要

もはや公然の秘密かもしれませんが一応社名は伏せて紹介させて頂きます。

弊社では隔年周期で会社公式のアイデアコンテストが開催されており、アイデアコンテスト以外にも、モノづくり体験やステージショー、魔○造の夜の作品展などが同時開催され、一般客も参加できる一大イベントとなっています。


今年のアイデアコンテストは、弊社グループの製品をハックしてソフトウェアによる新しい価値や面白さを、イベント当日に訪れた一般客の現地とネット投票数によって競うものに変わりました。


例年はマイクロマウスを展示するだけだったのですが、今年のアイデアコンテストはソフトウェア重視にルール変更され、自分たちでも楽しく開発できそうだったため、ドローンを開発している課のメンバー5人でコンテストに参加してみました。私は後述する地上ロボットのメカとエレキ、Unityアプリの開発を担当しました。


◆VRバトルドローン

まずは作ったものの動画を見て下さい。


地上を走るロボットの上に360度カメラ(Ricoh Theta Z1)が搭載されており、そのカメラ視点で操縦しながらデンマルくんという弊社のマスコットキャラクターを射撃しています。右モニタにはそのVRゴーグル(Meta Quest2)に写っている映像をそのまま流しています。

上の映像には対戦者が写ってませんが、左モニタには上部にあるドローン視点でデンマルくんを射撃する別のプレイヤーの映像を流しています。

デンマルくんの位置やプレイヤーが発射した弾などは、下のロボットが推定した位置情報をもとに双方のプレイヤーで同期させています。


◆ロボカート

私が仕事で開発しているドローンに360度カメラを載せただけで、本コンテストのルールである「弊社製品をハックすること」を満たしているなんて言うつもりは毛頭ありません。

実は地上ロボットの中にはドローンの制御をしているフライトコントローラ基板がそのまま搭載されており、ソフトウェアも4行変えただけでこの地上ロボットを制御しているそうです。基板の写真などの詳細はコンプライアンス上載せられません。


ベースの台車はNexus Robotのメカナムホイールロボットを使っていますが、前述の通り制御基板は弊社製フライトコントローラに換装され、モータにはDJIのRoboMaster M3508 P19、モータドライバは同じDJIのRoboMaster C620を搭載しており、バッテリーは私が信仰しているマキタの18Vバッテリーを利用しています。そのため元の台車は外装とメカナムホイールくらいしか残ってません。


ロボットの上部に搭載されたIntelのRealSense D455は、NvidiaのJetson Xavier NXと接続されており、ドローンでも使用しているSLAMを使って位置情報を推定するのに使っています。今回は走行するフィールドが限られているのでマッピングは事前に行い、位置の推定だけにSLAMを利用しているそうです。


◆システム構成

システム構成は以下の図のようになっています。

プレイヤーそれぞれにMeta Quest2をQuest Linkで繋いだPCがあり、その中でUnityアプリが動いています。これらのUnityアプリはNetcodeというライブラリを使ってマルチプレイヤー化しており、プレイヤー1(ドローン)側をホストとして立ち上げ、プレイヤー2(ロボカート)側をクライアントとして接続しています。


Unity自体を初めて触るというのもありますが、今回の開発で一番苦労したのはこの同期部分です。Unityにはマルチプレイヤーを実現するためのライブラリがなぜか複数あり、今回はデフォルトでインストールされているNetcodeを利用しましたが、なかなかに癖のあるライブラリで手懐けるのに大変骨が折れました。


muran2022_システム構成図


地上ロボットとの通信にはROSを利用しています。UnityとROS連携は「Unityではじめる ROS・人工知能 ロボットプログラミング実践入門」という参考書とUnityとアールティが共同で開発した教材を参考に作りました。どちらも初心者の自分でもわかりやすく大変勉強になりました。


Ricoh Theta Z1には様々な開発ツールが提供されており、Unityに360度カメラの映像を入力するのにTheta Web APIを利用しています。ThetaにLANを繋いでJSONを投げるとシャッターやカメラの設定変更などができます。

このAPIの制約によりカメラの映像を1920x1080の8fpsでしか送信できなかったので、もし次があったらWebRTCを利用して最高画質で30fpsくらいの映像転送をしてみたいです。


◆イベント当日

マイクロマウスは大会当日にスイッチを入れる程度の体力が残っていれば良いですが、今回は1万人近い来場者があるイベントで、元気いっぱいな子供たちに体験してもらうアプリケーションです。日頃の限界開発に耐えるだけの体力、ドローンの飛行試験で鍛えた現場力、マイクロマウスの展示で培った接客力を活かして、ほとんどトラブルなく2日間を終え、めでたくグランプリを頂くことができました。


◆おわりに

ここまでお付きあい頂きありがとうございます。

夏季休暇くらいからUnityとROSを勉強し始めて、勤勉な社会人に擬態しつつ、マイクロマウスの大会に参加して、TOEICを受験したり、アウトドアに出掛けたりしながら開発してましたが、死ぬほど大変な限界開発でした。おかげで優勝することができましたがもう2度とこんな開発はしたくないです。それと同じくらい楽しくもあったから続けられたというのもありますけどね。


さて、明日のマイクロマウス Advent Calendar 2022はタケぽんぬさんの
「はじめまして&今までの振り返り」です。アドベントカレンダーは初めての方との邂逅が楽しみのひとつだったりします。明日の記事が待ち遠しいですね


スポンサーサイト



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の方が扱いやすいと呟いたばかりの自分にとっては、
ホットな話題です。とても楽しみです。


プロフィール

コヒロ

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

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

この人とブロともになる

QRコード
QR