キャチロボ2025の振り返り

Featured image of the post

目次

はじめに

とよはし(!ロボコンブ)としてキャチロボ2025 第15回大会に出場しました。涼鈴です。

人生においてロボコン部であったことがないのでチーム名に論理否定演算子がついています。notロボコン部です。MCの方からは読み方が分からないとのことで不評でした。

⚠️
※優勝した「負けロボットが多すぎる!」と準優勝した「とよはし☆キャチロボズ」のメンバーではないことに注意が必要です。最終成績としては予選敗退です。

誰?

高専専攻科から大学院に編入し、研究室で豊橋のロボコン部OBに囲まれて影響を受けまくったロボコン未経験者です。22世代(日本一)、23世代(世界一)、24世代(日本一)に囲まれて1年過ごし、今年は25世代も加わりました。

キャチロボ2025には昨年11月末のプロジェクト始動時(8人だった!)から紛れこんでおり、ABUロボコンで世界一を獲った手法でキャチロボを攻略する様子を間近でずっと見ることができました。

大会中は「負けロボットが多すぎる!」のロボットの運び屋をやってました。運送時に壊れなくてよかったね。子の送迎をする親の気持ちが分かった気がします。

チーム構成

本大会では3チームで出場しました。最初から2チーム出すことは確定していましたが、僕が単独で出場すると立候補したことで3チームでの出場となりました。

学ロボを終えた25世代の合流によってチーム編成が変化し、23,24,25の混成チームになっています。

複数チーム出場の目的

複数チームで出場することはキャチロボにおいて多大なメリットがあります。

同じ大学のチームはピットを連続して配置してもらえるため、ピットを繋げて拡張することができます。これにより、自作の競技フィールドを持ち込んで設置するスペースが確保できます。本大会では3チーム分を連結したことで、フルサイズの自作競技フィールドとロボット用台車に加えて多少の作業スペースを確保できる広さになりました。3Dプリンタとバッテリーの充電ステーションなども設置できました。

「技術流出」をします

書いている当人はロボコン1年生なので嘘の可能性もあります。予めご了承ください。

各チームの機体の特徴

とよはし☆キャチロボズ

結果:準優勝🥈

エンドエフェクタ:倍ストローク+真空ポンプ
最速ハンド:吸引
妨害機構:張り手

負けロボットが多すぎる!

結果:優勝🥇

エンドエフェクタ:倍ストローク+マイクロサーボ
最速ハンド:機械式把持
妨害機構:自動ドア

マイクロポンプ

とよはし☆キャチロボズのエンドエフェクタには空気圧用のチューブが存在しません。原理が気になった方も多かったと思います。

使ってるのはこれです。

10個買ったら1個あたり165円になりました。

リンクが切れてたら「JSB1523」などで検索すれば出てくると思います。

Image in a image block
Image in a image block
イジメ現場

重量は配線つけて15gでした。5Vで動作し、吸着・非吸着に関わらず40mA程度で動きます。省エネなので制御(というかON/OFF)はフォトカプラで十分です。

マイクロサーボの信号は当然フォトカプラから出せるので、基板は共通でエンドエフェクタの指先部分としてマイクロポンプとマイクロサーボを使い分けるようなこともできます。

エンドエフェクタから配線とチューブを引き回して大変そうなロボットを多数観測しましたが、吸盤を使うならこれが本当にオススメです。チューブが折れ曲がって吸えなくなるとか面倒すぎますし、チューブが何本も繋がっていたら抵抗になって制御に影響が出そうです。エンドエフェクタに電源2線CAN2線で伸ばしてやれば、エンドエフェクタ上で好きに分岐できますし、重量も大したことないので沢山つけられます。

とよはし☆キャチロボズのエンドエフェクタにマイクロポンプが採用され、最後の方の追い込みで問題が発生したときには発案者として胃がキリキリしていたのですが、決勝トーナメントでは取りこぼしゼロという最強の安定性を見せつけてくれました。

いいポンプ見つけて持ち込んだだけで運用も設計も何もやっていませんが、鼻が高いです。

裏話

リーダーがデカめのポンプでワークの吸着を試しているのを手伝ったときに、これで吸えるんじゃね?と気づいて試したらピッタリだったので採用になりました。

Image in a image block
アリエクで買ったICチップ用の電動吸着ピンセット(1800円)

単4電池1本でこれくらい振り回せます。1.5Vでこれなのでポンプは上記のものよりも高級なものかもしれません。

日付を見たら3月の段階で発見していたみたいですね。

Image in a image block
内部構造

有線コントローラー

LogicoolのF310をロボット1台につき2つ使用しています。

コントローラーどうするか問題は初期から話し合われていて、既製品か自作か、有線か無線か、無線だったらWi-FiかBluetoothか周波数帯どうするか数はどうするかSBDBT使うかとかいろいろあったんですが、結局有線2系統で落ち着きました。

無線のメリットはコントローラーの重量がロボットの重量に含まれないことです。

有線はコントローラーの重量もロボットの重量に含まれるほか、ケーブルが床についてはいけない(ロボットの一部であるため)という制約がつきます。

重量面でのメリットよりも、通信(というか無線)トラブルが起こらないほうがキャチロボにおいては重要という判断になりました。

F310はみんなが持ってるコントローラーをかき集めたら3台あったので採用になりました。(1台追加購入)

F310はDirectInputモードで使用しています。

初めはSBDBTから使おうとしたのですが、うまくいってなさそうだったので借りてRP2350-USB-Aでガチャガチャしたら入力が取れて自作する流れになりました。長時間の接続でも問題ないことを確認したところで制御班長にパスして、ちゃんとしたファームウェアを書いてもらいました。

ロボットに使われているのはRP2040-Zero(のパチモン230円)を使ってSBDBT5Vとピン互換に作った基板です。Pico-PIO-USBでコントローラからの入力を捌いてUARTに変換しています。

Image in a image block
左が自作SBDBTモドキ
Image in a image block
実はType-Aコネクタの向きが反対
[F310]———DInput———[SBDBTモドキ]———UART———[メインマイコン]

SBDBT5V+Bluetoothドングル+DUALSHOCK3の組み合わせと互換になっているので、差し替えても動きます。(デバッグに使われてました)

キャチロボ期間中、この基板が原因で問題が発生することはなかったので本当に良かったです。

反省点

今回は沢山あったのでF310を使いましたが、モードボタンという爆弾がある(モードボタンの誤入力が問題になる可能性がある)ことに最後の方まで気づかなかったのは痛かったです。

モードボタンを押すとフライトモード・スポーツモードが切り替わり、LEDのインジケータが点灯してアナログスティックと十字キーが入れ替わるという仕様があるのですが、これが起きると操作がめちゃくちゃになります。

有線コントローラーとして採用するのであれば、

  • 連射ボタンやモード切り替えボタンが無いもの
  • 振動モーターが無くて軽いもの(自分で外すでも可)
  • DInputとXInputは変換側でなんとかすればいい
  • ロングセラーで追加購入が容易なもの
  • 筐体が加水分解してベタベタしないもの

などを考慮するべきだなぁと思いました。

重大インシデント

僕は基板発注初挑戦からちょうど1年くらいなのですが、これまで扱ったUSB端子はType-Cだけでした。メス、オス、垂直のオスとバリエーションは割と豊かなのですが、今回Type-A端子を初めて使って完全にやらかしました。

Image in a image block
間違い探し
正解は

Type-A端子には向きがあるんですね。

フットプリントが一致するものをアリエクで購入して付けたのですが、ベロ?の上付き下付きが反対で、4極の並び順も反対になっていました。

Image in a image block
正しい向き(違法建築)

電流電圧モニタ付きのUSBアイソレータで異常に気づけましたが、最悪の場合はコントローラー逆接でPCのUSB電源を破壊しまくるところでした。

基板設計チェックリストに追加しました。

後日談

僕のロボットも同じ通信で動くようになっているのですが、F310が4台しかないせいで僕自身はこの基板を使えず、本番ではSBDBT5V+DUALSHOCK3を借りていました。

豊橋に帰ってから取り外して自分で使えましたが、感慨深かったです。

Image in a image block
自作基板とF310で自分のロボットを操縦している図

公開情報

自チームについて

1週間でロボットアームを作って出場しました。

自分で全部やろうとしていましたが全然間に合っておらず、見かねた制御班長にアメリカから全部管理してもらう形で最短を駆け抜けて本番に間に合いました。本当に本当にありがとう。

機械

Nidec 24Hモーターというドライバ内蔵エンコーダ内蔵7~24V対応でアリエクで655円で購入できるブラシレスモーターがあるのですが、これに3Dプリント遊星ギアヘッドを取り付けてロボット用アクチュエータにしてロボットアームを作りました。

Image in a image block
Image in a image block
ヘリカルギアなのが使いにくくて安いと思ってる
Image in a image block

上のような感じでアクチュエータのギアヘッドばかり弄ってました。最終的に遊星段を増やして減速比100でバックドライブあり、最大トルク8N・m(ただし歯飛びする)が完成しました。

最初は5軸にしたかったのですが、目標を徐々に下げる過程で先端がPWMサーボになり、手先θの旋回軸がそのままエンドエフェクタになり、このようになりました。

Image in a image block
Image in a image block

歯飛びするので全てをゆっくり動かしていますが、単体ではもっとキビキビ動かせます。本来の性能を発揮できなかったのは準備不足です。無念。

ロボットの総重量は2kgを切っていて、審判の方には毎回驚かれました。大会最軽量だったのかもしれません。

Image in a image block
買い物カゴ1個で全部運べるロボット

回路

RP2040-ZeroとRP2040PIO_CANを使った1モーター1基板のCAN基板を作り、PwrCANケーブルで数珠繋ぎにしてRP2350-CANから制御しています。

Image in a image block

制御

アメリカにいる制御班長に全部やってもらいました…

実績のない自作基板と初めて使うマイコンを組み合わせてCAN通信するのを遠隔(時差13時間)でデバッグさせるというとんでもない迷惑をかけてしまい、申し訳無さと感謝の気持ちで爆発しそうです。

エンドエフェクタが常に真下を向く制御+各軸の個別制御で動かしています。

逆運動学を解いての制御は今後のお楽しみです。

結果

Image in a image block

予選敗退です。参加賞をいただきました。

予選第1試合では僕のロボットアームと同じ構成で長い上位互換アームと当たり、9対5で敗北しました。

予選第2試合では僕のロボットアームと同じ構成で更に大きな上位互換アームと当たり、36対7で敗北しました。

ロボットアーム競技会みたいな感じで楽しかったです。

自己ベストがテストラン時の6だったのですが、予選第2試合では自己ベストを更新できたので良かったです。

予選結果をまとめてみました。

決勝トーナメント出場条件で順位をつけると、僕はギリギリ半分より上になるようです。結構頑張りました。満足です。

感想

僕のロボコン観戦は学ロボ2025が初めてで、次がXROBOCONでした。
特にXROBOCONはタイミングが近く、本番でロボットが動かない恐怖を植え付けられた状態でキャチロボに臨むことになりました。
僕個人のチームの目標としては、自分が作ったものを組み合わせてロボットとして完成させることと、本番にロボットを絶対動かすというものでした。
叶って良かったです。

また、M2にして人生初・学生最後のロボコンでした。豊橋の面々と一緒にロボコンができたことは、高専・専攻科の7年まで含めたとしても、学生時代で一番の思い出です。

今年で終わってしまうのが本当に惜しいです。来年も出れたらもっと上手くやれるのに。7年も高専にいて、どうしてこれまでの人生でロボコンをやってこなかったんだろうという後悔で一杯です。本当に楽しかった。終わってしまった。

追想1

9月18日(ピット開放1日目・決勝トーナメントの前々々日、つまり準備日)の朝にロボットを運ぶ役だったのにタイヤがパンクしてたのは絶望でしたが、最寄りのガソリンスタンドに同じサイズのタイヤがあって本当に助かりました。

追想2

宿泊費を抑えるため、会場から車で15分ほどのコンドミニアムに宿泊しました。10人以上で京都に宿泊するというのが完全に修学旅行のノリで、とても楽しかったです。

優勝・準優勝後の夜にお酒飲んだのも良かったです。あの後泊はボーナスタイムみたいな特別感があっていい時間でした。