0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DeepRacerに出ようとしたら終わっていたので、自分で作りました

0
Posted at

2024年末、AWS DeepRacerに参加しようと準備を始めた矢先、サービス終了のアナウンスが届きました。

実は同じことが以前にもありました。FormulaPi——小型ワンメイクロボットカーレース大会——に出ようとしたタイミングで、そちらも終了していたのです。

二度目ともなると、待つのをやめようという気になります。自分で作ることにしました。


何を作ったか

aira(Autonomous Intelligence Racing Arena)は、仮想ロボットのレースプラットフォームです。

参加者は自分でアルゴリズムを開発し、シミュレーター上の車両型ロボットを制御します。

インターフェースはシンプルに設計しました。

  • 入力:224×224のRGBカメラ画像 + バッテリーSOC(State of Charge、0.0〜1.0)
  • 出力:ステアリング角、前後駆動トルク

これだけです。センサーの複雑な前処理も、ROS環境構築も必要ありません。PCが一台あれば始められます。


技術構成

Unity + Python + WebSocket

シミュレーターはUnity(2022.3 LTS)で構築し、PythonのAIコードとWebSocket経由で通信しています。50msごとに画像とSOCをPython側に送り、トルク指令を受け取る構造です。

参加者はPython側だけを触ればOKです。Unityの知識は不要です。

模倣学習から始める

最初のアプローチとして、模倣学習が最も取り組みやすいと思っています。

  1. キーボードで手動走行しながらデータ収集(画像・SOC・トルク)
  2. 収集データでPyTorchモデルを学習
  3. 学習済みモデルでAI走行
  4. 走行結果を見て改善、繰り返す

コード量は少なく、制御の基礎がある方なら1日で動くものが作れます。


SOCがなぜ面白いか

多くの自律走行シミュレーターは「いかに速く走るか」だけを最適化します。airaはそこにバッテリーSOCの制約を加えました。

SOCはトルク指令に応じて消費されます。全力で走り続ければ途中でバッテリーが尽きます。

これは「速さ」と「エネルギー効率」のトレードオフを生みます。コーナーでどこまでトルクを絞るか、直線でどこまで攻めるか——純粋な速度最適化では現れない判断が必要になります。

自動車・ロボット制御の実務に近い問題設定を、仮想環境で体験できることがこのプラットフォームの核心だと思っています。


英語で躊躇しないでください

airaは最初から世界を舞台にすると決めて作っています。サイトもGitHubも英語です。

でも、GitHubには日本語のガイドも用意しています。英語が読めなくてもセットアップできます。「英語だから無理」でやめてしまうのは、一番もったいないと思っています。

世界に挑戦するのはairaだけではありません。参加者も一緒です。アルゴリズムに国境はありません。

また、現在ベータ版を公開中で、フィードバックを歓迎しています。動かない、わかりにくい、ここが気になる——どんな声でも助かります。一緒に良くしていきましょう。


まず動かしてみてください

2026年6月1日から第1回タイムアタックコンペを開催します。参加費無料、賞金も用意しました。

シミュレーターはGitHubで公開しています。ルールベース制御でも、模倣学習でも、独自のアプローチでも構いません。

まず動かしてみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?