皆さんこんにちは、21-ibukiです。2025年も暮れとなってきましたが今回はつくばチャレンジでロボットを走らせてきましたので、総括と結果報告を兼ねてブログを書きます!

つくばチャレンジについて
つくばチャレンジは毎年12月頃につくば市役所周辺の道路で自動走行ロボットを走らせる会(同好会⁉)です。
ロボット技術研究会の中の研究室としてUniLabが今回は参加してきました。UniLabは自動走行ロボットや自動制御、センシングの開発を行いたい人たちの集団です。ちょうど一年くらい前の2024年12月に誕生したばかりの団体なのでロ技研の中でもあんまり知名度はないかもですね。これを機に覚えてもらえると嬉しいです!

製作したロボット
ハードウェア
自動運転メインのロボットになるのでメカ的な面白さはあんまりないです。
主な特徴は
- 車輪のデカい差動二輪
- 2DLiDAR
- LEDテープ
くらいですかね。言っても大した特徴はないです。
自動運転の命とも言うべき足回りにはアリエクで買ってきた謎のクソデカインホイールモータを使っています。径はΦ240mmです。学ロボやってた身からするとデカすぎwwwって感じ。なぜ径の大きい車輪を使ってるかは、ご察しの通り段差に強くするためです。速度も割と出しやすくなります。
2DLiDARについては、一般的なLiDARです。製品としては北陽電機のUST-20LXを使ってます。入手経路はあんまり言えないんですけど、格安で手に入れたものです(私の私物。)さすがの日本製とだけあって点群の測距の安定性に関しては抜群でした。
LEDテープはいろんなチームが使ってるので別に目新しいものではないですが、緩衝材の白い奴で拡散されていい感じに光るのが推しポイントです。これはアリエクで買ってきたやつで12VをRGBで制御するものでした。FETでONOFFしてるだけのものです。
フレームは概ねMiSUMIのアルミフレームで作って、ところどころMDFとか3Dプリント部品とかを使っています。アルミが主なので結構軽いです。バッテリーもLiPo6Cellを使ったので全体で15kgくらいしかないです。サイズ的な問題はありますが、一人で持てる重さになっています。

サーキット
回路系は全く自作していません。それはそうで、自作するにしてもBLDCドライバくらいで、それくらいなら安くて高性能なものがたくさん売られているので買った方が早いし安定するからです。
モータードライバはVESCを使っています。もともとはOdrive V3.6の模倣品を使っていましたが、何かと扱いに困る場面が多く、開発が進まなかったので変更しています。VESC使いやすくて良かったです。速度制御するくらいならゲインちょこっといじるだけですぐ使えるのは便利です。
IMUは秋月電子に売ってるBNO055を使いました。かなり有名なIMUなので特段説明はいらないと思いますが、値段の割に高性能なIMUで重宝しています。
で、この上の二つの制御用マイコンとしてM5Stackを使いました。実はこいつ、前回の記事で書いたキャチロボのロボットに使ったやつを流用してます。CANとI2Cのポートで通信しています。ArduinoのHAT基板みたいに回路がむき出しにならないので適当な容器に入れておけば簡易耐水になるのが良かった点です。

ソフトウェア
もはやこれだけで一個の記事書けるくらい書くことはたくさんありますが、同じようなことをしてる人もたくさんいるので簡単にまとめるだけにしておきます。
自動運転なので当然のごとくROS 2を使いました。Humbleです。ようやくROSを使う意味があるロボットの制御ができました。大部分のコードを生成AIに作らせてるので勉強になったかと言えば「うーん」ですが、とりあえず動くものができてどうやってデータのやり取りをさせてる分かっただけでも収穫なのではないでしょうか。
M5Stackとの通信はMicro ROSを使いました。もともとはHardware Interfaceで制御させたかったのですが、OdriveからVESCに移行したのが大会2週間前でそんな暇はないと直接Topicからデータ受け取ってM5Stack側で制御させるようにしました。美しくはないけど制御性は良いです。
コースのマップ作成にはslam toolboxを使いました。なんやかんやこれの使い方は簡単だったので特に書くこともないです。LiDARが優秀だったので2Dの割にはマップもまあまあいい感じでできてます。
ナビゲーションはNav2を使ってます。マップ情報さえあればいい感じに内部で処理してくれるらしく、ノード立ち上げるタイミングとパラメータチューニングだけ調整しておけばサクッと使えました。屋内だといい感じにlocalizationできるのですが、会場ではあんまり上手くいかなかったです。地面が凸凹で結構振動が大きいのと、その状態で2DLiDARだけで自己位置取っていたのが原因ですね。オドメトリも取ってるんですけど、そう簡単でもなく……。
経路生成はway pointsを打ってくのでやりました。ロボットが通ってほしい経路上にいい感じに点を打って点同士を結ぶ経路を走らせる感じです。way pointsの取り方もかなり感覚的なものが支配的で難しかったです。ちなみにこのway pointsを打つ作業は大会前日の夜にホテルでやってました。マップができたのが前日なので仕方なし……。

結果
一応自動で走りました!0.3mが公式記録です。
つくばチャレンジの趣旨的に勝ち負けとかはないので「自動」で「自作ロボット」が「動いた」という事実だけで成功とは言えると思います。
もちろん反省点はいろいろあるので改善していきたいところです。来年は数100mくらいは安定して動いてほしいですね。

反省
反省点はやっぱりLiDARを3Dも搭載すべきだったというのが大きいかなと。コースのスタート地点が斜度のついた広場みたいな場所で、正直初めて見たときに「これ2Dで見るものなくね」と驚愕しました。しかも横向きに斜度がついてるので遠くの平地を壁だと認識してしまうという大問題があり計測レンジをあえて狭めていたりしています。
3DLiDARは必須です。
カメラがあったのに何も使えなかったのも反省点。LiDARが使えない場面であればカメラのRGBから自己位置補正すれば良いと思うんですけど、やっていません。時間がなかったのは大きいですが、カメラの画像処理がパソコンのスペック的に厳しかったです。eGPUもつけずに65wのノートパソコンでロボットを動かしてるので当然です。メモリも多めとは言え32GBです。画像処理ぬるぬる動かすには足りません。
グラボ付きのゲーミングノート買え
時間と人員に余裕が必要だったのも反省点。時間としては先に述べた通り、2週間前にモタドラ変えるとかマップできるのが前日とか頭悪いくらいギリギリでした。人手も新設の団体とだけあってメンバーが3人とかなりカツカツな上に回路とソフトやってるのが私だけで結構きつかったです。皆興味あったら入ってね。
時間の余裕は心の余裕
寄付をください
本当はこんなこと言いたくないですけど、お金のあるOBOGの方々いらっしゃいましたら少し分けてください。学生ごときが自分で金稼いでロボット作れ、って言われそうですが高性能なロボットを作るには相当なお金が必要です。
今回のつくばチャレンジを機に新入生が3人ほど入ってきてくれたりとUniLabとしてももっと大規模な開発をしていきたいです。他者の真似ではなくイノベーティブなロボットを作れれば本望だと思う限りなのでぜひ、お賽銭や投資のつもりで数千円でもお金をいただけるととてもうれしいです!
直接会う機会がありましたら是非ともご寄付いただけるとありがたいですが、それ以外でも幣学のサークル支援基金経由でもご寄付いただけます。こちらの記事を参考に「UniLab」宛にご寄付いただけると私共の活動資金として使うことができるようになります。
番外編
せっかくこんなに良いロボットを作ったのにつくばチャレンジだけで動かすのはもったいないと思い、東京科学大学大岡山キャンパスで毎年12月に陸上部主催で開催されている学内駅伝でもロボットを走らせてきました!

数10チームが走る中で唯一ロボットを走らせてきましたが、なかなか東京工業大学東京科学大学らしい光景で楽しかったです。
最初の10数mだけは自動で走行して残りの2kmは手動で操縦して走ってきました。記録は2km約40分です。当然ながらぶっちぎりの区間最下位ですwww。坂道の多い大岡山キャンパスで2km以上を走り切れた達成感はなかなかのものでした。

それではまた来年!よいお年を!
