2023年度 ロボトレーサの紹介【UnderBird_3.x】

はじめに

 

この記事は マイクロマウス Advent Calendar 2023の18日目の記事です. 前日はコヒロさんによる「壁切れ補正の応用」でした. マウスで安定した走行をするために不可欠な内容だなと感じました. コロナに罹ってしまったということで,大変な状況にもかかわらずブログを執筆していただき感謝感激ですね.

さて,簡単に自己紹介をします. 彗星の如く現れたロボトレース界の原石!reRo所属の下鳥 晴己(シモトリ ハルキ)です!(ネタです) reRo内ではi7(アイセブン)と呼ばれています. 大会の会場でi7と頻繁に聞こえて謎に思っている方がいるかもしれませんが,私のことです. 以後お見知りおきを.

この記事では今年開発したロボトレーサについて簡単に紹介します. 毎度のことですが,誰かの役に立てばいいなという動機から私の持てる情報はすべて公開したいと思います.

ロボットの紹介

 

今年から吸引機構が解禁されたということで,昨年度のロボットから色々と変更しました. 私自身の備忘録的な意味も込めていろいろと紹介しようと思います.

最初にこのロボットの成績を説明したあと,メカ,エレキ,ソフトの順で説明していきたいと思います.

大会での成績
 

今年度は学生最後の年ということで,後輩のノムさん に誘われてたくさんの大会に出場しました. 公式大会は,金沢草の根大会,中部地区大会,東日本地区大会,学生大会の4つに出場しました. 非公式大会ではreRo杯を開催して参加しました.この内容については明日の記事で詳しく書きたいと思います.

金沢草の根大会の結果は6位でした. 正直言うとほぼ旅行気分で参加しました.泊まりで夜通し調整ができる大会というのは面白いですね. 調整中にファンモータが壊れてしまい,交換のために接着を待つ時間が大半で夜通しの割にはぜんぜん調整できてなかったのは内緒です. また,会場には車で行ったのですが,帰りに白山白川郷ホワイトロードという気持ちの良い道を走ることができて大満足です.白川郷にも初めて行くことができました.

中部地区大会の結果は4位でした. ノムさんに僅差で負けて3位の大台には乗れませんでしたが,「特別賞(勇者)」というおもしろい賞をいただけました. 行き帰りともU本さんの車にお世話になりました.本当にありがとうございました.

東日本地区大会の結果は3位でした. 入賞はできましたが,またしてもノムさんに僅差で負けました.

全日本学生大会の結果は準優勝でした. またまたノムさんに負けました.言い訳をしておくと,大会直前にほぼ調整をしていません. なぜかというと,大会5日前から学会でタイに行き,大会当日の朝日本に帰国後,その足で会場までバイクで来たためです. もっとパラメータを上げておけば良かったなぁと反省です.まあ,所詮言い訳なので負けは負けです.ノムさん2連覇おめでとう!

実際に走っている動画は,Xに投稿したらそこそこいいねがもらえた中部地区大会の試走動画を載せておきます.

メカ
 

それではメカについて紹介していきます. 今作は吸引機構を搭載した点が大きな特徴です.吸引ファンは同reRoのANGoが設計したファンを使用しています. 感謝感謝ぁ. その他,細かい部品などはテクニカルデータを参照していただければと思います.

コンセプト
 

コンセプトは「ガンガン吸引してトルクでゴリ押す」です. モータは走行用にDCX12L 4.5v,吸引ファン用にTello(市販のドローン)のモータを搭載しています. バッテリーはLiPo4セル,吸引モータ用にもう1セルを追加で搭載しています. マシンレイアウトは低イナーシャを意識した設計です.モータの上にバッテリと基板を載せています, 吸引するので重心はあまり気にせず,重量物をなるべく回転中心にまとめました.

足回り
 

足回りに関しては最初はスキッドステアにしていたのですが,途中から2輪にしました. 理由としては,ガンガン吸引しているので走行抵抗が無視できないほど大きくなってしまったので, 2輪にして抵抗を減らしたかったためです. ただ,スキッドステアでガンガン走っている人達もいるのでよくわかりません.謎です. タイヤはスポンジとシリコンシートで自作しています.スポンジは硬めのこれ↓を使っています.

吸引周り
 

新規要素として吸引ファンを搭載したのでそこらへんを重点的に紹介したいと思います. といってもファン自体は私が設計していないのであまり語ることはない(というか語れない) ので軽く紹介します.まず採用しているのは遠心ファンという種類のファンで,下の画像のようなものです. 空気を外に吐き出してくれるタイプのファンですね. 外形は大きいほどたくさんの空気を排出してくれるので,吸引力が上がります. ただ,でかければでかいほどいいのかどうかはよくわかりません.どこかで頭打ちになりそうな気はします. 私のロボットはおざなり計測で700[g]くらい吸引しています.おざなりなので実際はよくわかりません. はい,これくらいしか知りません.もっと詳しく知りたい方は設計者の ANGoに聞いてください. 直接問い合わせるか,私に連絡していただければお繋ぎします.

ファンの個数については,1つ搭載している人と,2個搭載している人がいます. 実はファン1個でも2個でも吸引力はほとんど変わりません.実験してみても実際にほとんど変わりませんでした. これは,吸引力に関してはスカートの面積の大きさが支配的なためです. ただ,一定時間で空気を排出する量は,同じ大きさのファンであれば2個の方が多いです. つまり,走行中にスカートに隙間ができて空気が中に入ってきてしまった場合,2個のほうが吸引力の回復が早いです. しかし,ファンを2個搭載するとその分ロボットの重量が増えるので,一長一短といったところです. また,ファンが1つだと反トルクが生じます.つまりファンを回すだけで反対方向に回ろうとする力がロボットに働きます. この反トルクはファンを2つ搭載して,それぞれ逆方向に回転させることで打ち消すことができます. ただ,私の見解としてはそもそもファン自体が小さいのでそこまで気にすることはないと思います. ファンの個数が1個か2個かはロボットによりけりって感じですね.

さて,次はスカートについて紹介します. スカートというのはロボットの下の方についているピラピラのことです. ロボットが地面にビタァとくっつく上で重要な役割を果たします. ピラピラがあることでファンによって排出した空気が再び入ってくるのを防いでくれます. 初期段階では,下の画像のように厚みのあるスポンジとピラピラのシートの2種類を使ったスカートを採用していました. どちらかを1次スカート,もう一方を2次スカートと呼ぶそうです.

この方式でも特に問題なく吸引できていたのですが,途中から下の画像のようにスポンジをなくしてピラピラシートのみに変更しました. 理由としてはスポンジが地面に擦ってしまっていて,タイヤのグリップが若干弱くなっていたためです. スポンジをなくしたらよりグリップするようになりました.

形状については,スカートの面積はなるべく大きく,スカート内の体積はなるべく小さい方がいいそうです. 面積が大きいとダウンフォースが大きくなります.本当にデカければデカいほうが良いです. 体積が小さいと,走行中に空気が入ってしまった際に, 吸い出す空気量が少なくて済むため再吸着が早くなります. なので,広い面積を確保しつつ,なるべく車高を落として体積を小さくするといいと思います.

スカートに使う素材は色々と選択肢があります.どれが最適なのかはよくわかりません. 自分のロボットに適した資材を試行錯誤するしかないような気がしています. 私は初期段階では,OHPフィルムという硬めのシートを使っていました. 硬いのでスカートの端までビタぁと地面にくっついてくれます. ロボットを測りに乗せた状態で吸引し,手で持ち上げた際に剥がれずにどこまで耐えられるかという ベンチマークでは,いろいろ試した中では1番良い成績でした. ただ,実際に走行してみると段差で空気が入ってきてしまうことがありました. そこで,私が今現在使っている素材はDigiKeyの袋です. OHPフィルムより柔らかい素材です.ある程度の柔軟性があるため段差でも空気が入ってきにくい印象です.

スカートが段差に引っかからないように,前方だけ1枚重ね合わせる人もいます. やったほうがいいはずですが,私はやっていません.写真はノムさんのロボットです。

モータ(DCX12L)の故障について
 

前作のロボットはDCX10Lを使用していましたが,今作はDCX12Lに変更しました. 理由は吸引によって走行抵抗が増えるので,さらなるトルクが欲しかったからです. DCX12Lにしてからというもの,モータの故障が増えました. 故障内容はブラシの異常摩耗です. DCX10Lのときはほぼ故障していなかったのですが,DCX12Lだと故障が増えました. 理由としては,おそらく両者とも同じ貴金属ブラシが使われていますが,DCX12Lのほうがガンガン電流が流れるので 消耗が激しいのでしょう.先日maxonの『モータ破損事例から学ぶモータの正しい使い方』というウェビナーに参加したところ, 似たような症状が紹介されていました.原因は単純に運転環境が劣悪だと寿命が著しく短くなるためだと説明されていました. 対策としては,より耐久力があるグラファイトブラシが選択できるシリーズ(DCX14L以上)を採用するか,別のモータを採用するかになると思います. 他にも対策をご存知の方がいらっしゃれば教えていただきたいです. 私達以外にもDCX12Lを採用している方がいると思いますが,くれぐれも走らせすぎには注意してください.まじで壊れます.

CADデータ
 

最後に,私のCADモデルは以下のリンクでCC BY-SA 4.0 DEEDのもと公開しています. 使用しているCADソフトはInventorです. 何かしらのCADソフトがあれば開けるように,STEP形式で公開していますが, Inventorの.iptファイルが直接ほしいという方がいましたら連絡していただければ対応します. なお,CADデータ上の吸引ファン(ファイル名:fan_V2_d27_f6)に関しては,先程も触れましたが私の設計ではありませんが, 本人の許可を得て公開しています. 吸引ファンのデータの著作権はANGoに帰属します(© ANGo).

エレキ
 

今回使用している回路は私の設計ではありません. 同reRoのhayaの設計です. 私のソフトウェアをみんなが使うことができるように, どのロボットにも載せやすい小型の汎用的な回路を作ってくれました. ホントは回路を作るのがめんどくさかったからです 私のわがままで何度も作り直してもらっちゃいました.感謝感謝ぁ.

最終的に私が使っている回路図は,以下のリンクのcircuitディレクトリから確認できます. ホントは設計データごと公開したかったのですが, Library Loader からダウンロードしたデータを使っている都合上, ライセンス関係で公開するのが難しいので断念しました.こういうこともあるんですねぇ. 公開している回路図はライセンス的に問題がないように作り直してもらいました.感謝感謝ぁ. なお,回路図は本人の許可を得て,BSD 3-Clauseライセンスで公開します. 著作権はhayaに帰属します(© haya).

スペックとしては,DCX12Lに4セルを印加しても大丈夫なように作ってもらいました. その他デバッグ用のSDカードを搭載しているなど,機能もりもりの高スペック基板です. それでいて50×30mmという小型に収めてくれたので超すごいですね(実装難易度は鬼). 実物を見てもらえばわかりますが,本当に小さいです.なにか機能を載せ忘れているのではと疑いたくなるくらいです.

ソフト
 

今回もC++で書きました.ほとんど以前のロボットの使いまわしです. 変わった点といえば速度計画のやり方くらいです. まず前提として速度計画は基本的に以下の手順で計算していました.

  1. 探索走行において,一定距離(例えば10mmとか)ごとのロボットの角度変化を記録
  2. 一定距離ごとのコースの半径を計算
  3. $v_{i}(r) = \frac{\mathbf{v_{max}} - \mathbf{v_{min}}}{\mathbf{r_{max}}} r_{i} + \mathbf{v_{min}}$ の式で一定距離ごとの速度$v_{i}$を計画($r_{i} (i = 0 \sim \mathbf{n})$は一定距離ごとの半径)
  4. 加速度を考慮して速度計画を台形に加工
今回は3つ目の手順である速度計画の式を色々試行錯誤してみました. 今までは単純にコースの半径に比例した速度を計画していましたが,下のグラフのように,シグモイド関数を使ったり条件ごとに比例の傾きを変えてみたり いろいろ試してみました.詳しくはMATLABスクリプト を見てみてください.結果としては急なカーブでは安全のために若干遅めに走って, 緩いカーブでは今まで以上に速く走ることができている気がします.

全体のコードはGitHubにてBSD 3-Clauseライセンスのもと公開しています(© Haruki SHIMOTORI). main_codeディレクトリにロボトレーサのコードがあり, analysis_codeディレクトリにログ解析用のMATLABスクリプトなどがあります. 開発環境はCubeIDE 1.11.2です.

おわりに

 

メカ,エレキ,ソフトについてできるだけ包み隠さず公開しました. 振り返ってみると,自分で作っていない要素が結構ありますね. これがチーム開発の強みでしょう. なにか気になることや知りたいことがあれば,連絡していただければできるだけ対応したいと思います.

今年は私以外に2名のreRo軍がアドベントカレンダーを書いてくれました. 13日目の記事15日目の記事がreRo軍の記事です. いずれもreRoの内情がよく分かるおもしろい記事となっているのでぜひ読んでみてください!

明日も私が投稿します! なかなかにお高い買い物をして,なんやかんやあって大会を開催した話です. お楽しみに!

コメント