🚗

【Autoware × AWSIM】Unityでmibotを動かす!KGモーターズの自動運転開発の裏側ーPart1.

に公開

はじめに

こんにちは!KGモーターズ株式会社でインターンをしている banban です!

KGモーターズは「今日より明日が良くなる未来を創る」をビジョンに掲げ、広島を拠点に1人乗り小型 EV mibot を開発しているスタートアップです。私は 自動運転システムの開発 を担当しています。

mibot × Autowareの紹介:

本記事では、Autoware と AWSIM を用いた シミュレーション環境構築 を扱います。車両のシミュレーション開発は、自動運転分野において欠かせない技術です。というのも、

  • 現実では想定しきれないシーンや危険な状況も安全に検証可能
  • ソフトウェア開発効率の大幅向上
  • 実車テスト前のコスト削減

といったメリットがあるからです。実際、世界中の自動車メーカー、スタートアップ企業がシミュレーションを取り入れ、開発を加速させています。いま開催中の自動運転AIチャレンジ2025でも、自動運転シミュレーションの活用が注目されています 🚗💨

https://www.jsae.or.jp/jaaic2025/

このシリーズで出来ることのイメージ:


シリーズ構成

本シリーズでは、AutowareとAWSIMを使って、Unity上に自社EV mibot を再現し、シミュレーション上でmibotを動かす方法を解説します。AWSIMは、今開催中の自動運転AIチャレンジ2025 でも使用されていますので、ぜひ皆さんも自分の好きな車両を自動運転化させてみましょう!!

今回のシリーズ【AWSIM × Autoware】Unity で mibot を動かす!KG モーターズの自動運転開発の裏側では、

  1. AWSIM での mibot 再現 ← 今回
  2. Autoware での mibot の Vehicle & Sensor モデル設定
  3. mibot × AWSIM ~ Sim2Real への試み ~ [鬼門]

を取り扱います。

今回のPart1 では:

  • 環境構築
  • 3Dモデル作成時の注意点
  • 3Dモデルを Unity(AWSIM) に適切に Import する方法

までを解説します 🚗💨


開発環境

推奨PCスペック

Required PC Specs
OS Ubuntu 22.04
CPU 6c12t 以上
GPU RTX 2080 以上
Nvidia Driver (Ubuntu 22) 545

使用したソフトウェア環境:

Unity 2022.3.36f1
Autoware main (2025.02.01)
AWSIM-Labs main (2025.02.01)

Autoware は main branch の更新が非常に活発で、日によって動作が変わります。
バグがあったら、過去の安定コミットに戻すか、issue 修正を待つのが現実的です💪


3Dモデルの作成

AWSIM で独自の車両モデルを動かすには以下のパーツが必要です:

  • Body(車体本体)
  • Wheels(前後左右の4輪)
  • Parking Light(駐車灯)
  • Turn Signals(ウィンカー/指示器)
  • Stop Light(ブレーキランプ)

これらのパーツは、Unity上で個別に制御できる状態でなければなりません。そのため、3Dモデルをエクスポートする際には「一体化した完成車モデル」ではなく、パーツごとに分けて出力する必要があります。

特に注意する点は以下の通りです:

  • 車輪(Wheel)は独立させる
  • ライト系はオン/オフ制御のため、それぞれ別オブジェクト
  • Body 関連は静的なので1つにまとめてOK

車体モデルの準備

私の場合は mibot の Fusion モデル がすでに手元にありましたので、それをそのまま利用しました。そのため、ベースモデルをイチから作る工程はスキップして、いきなり 車体の色塗り からスタートしています。( Fusion からエクスポートした .f3d ファイルを .fbx に変換し、Blender にインポートして編集しました。)

もし適用する 車体の CAD モデル を持っていない場合は、まず 三面図(正面・側面・上面) を用意して、CAD ソフト上でモデリングしてください。以下が参考になります。


Blender での色塗りとメッシュ調整

Fusion で作成したモデルを Blender にインポート し、色塗り(マテリアル設定)やメッシュの調整を行っていきます。

インポート時にはモデルの表裏が逆になることがあるため、その場合は 法線を反転 して修正します。また、このとき同時に ファイルサイズの圧縮(軽量化) を進めておくのがオススメです。特に GitHub 上にモデルを置く場合、容量が大きすぎると利用しづらいため、できるだけ軽量化しておきましょう。以下に参考になったサイトをまとめておきます。画像から色の抽出ができる Hirota さんのカラーピッカー は重宝しました。


Unity 向けエクスポート

座標系

Blender Unity
上方向 Z 上方向 Y
奥方向 Y 奥方向 Z
X軸反転 X軸そのまま

Blender と Unity では座標系の扱いが異なるため、変換処理が必要となります。


エクスポート手順

画像は、以下の記事を参考にしています。
作業の際は、チェック項目の入れ忘れに注意してください ✅
(私は、スクロール先のチェックマークに気づかず、長時間奮闘してしまいました💦 )

https://creator.cluster.mu/2022/07/26/blender-unity/


Unity に取り込む

街モデルの読み込み

AWSIM-Labs では、西新宿の街モデルが配布されています。
このモデルを使うことで、都市環境のシミュレーションやレンダリングのテストが簡単に行えます。

Download Map Package

手順:

  1. Unity Editor → Assets -> Import Package -> Custom Package
  2. 上記リンクをダウンロードし、 .unitypackage を開く
  3. Import ボタンをクリック
  4. Assets/AWSIM/Externals/ にインポートされる

Unity 起動

cd ~/AWSIM-Labs
~/Unity/Hub/Editor/2022.3.36f1/Editor/Unity -projectPath .

Import

こちらの記事を参考に Vehicle を導入していただければ大丈夫ですが、いくつか注意点があります。

  1. 車体パーツは分ける ( 上記のモデル作成のこと )
  2. モデル導入で陥りやすい罠⚠️ ( Graphy, WheelCollider, CenterPivot, Shader )
  3. LexusのPrefab Variableとしてmibot作成 ( アプリ出力用 )
    ※3については現在手元に開発環境がないため、後日追記予定です。

https://autowarefoundation.github.io/AWSIM-Labs/main/Components/Vehicle/EgoVehicle/

モデル導入で陥りやすい罠⚠️

Graphy

Assetを別途自分で入れる必要があります。

参考: Graphy


WheelCollider が横向きになる


現象
タイヤの進行方向にColliderを設定しても、Unity の Start ボタンを押すと向きが変化する。

対処方法:
either 1 or 2.

  1. 空オブジェクトをタイヤと親の間に追加
  2. Export 時に「トランスフォームに適用」にチェック

参考:


タイヤが分裂する

現象
Unity の Start ボタンを押すとタイヤが分裂する。これは、メッシュオブジェクトの中心とメッシュ自体の位置が大きくずれている(center と pivot のずれ) ためである。

対処方法

  1. UnityAdjustPivot をダウンロード
  2. Unity の Assets 下の Plugins フォルダに配置
  3. 右図のように、タイヤのcenterとpivotを合わせる

⚠️ Store からはインストール不可、手動配置が必要

参考:center と pivot の違い


Shader Pink 問題

現象:マテリアルがピンクになる

対処方法

  1. Shader を確認
  2. Unknown → HDRP/Lit に変更

まとめ

AWSIM を用いた自動運転シミュレーションは、実車では難しい安全検証や効率的な開発を可能にします。また、3D モデルの扱いや Unity の設定のコツを押さえておくことで、自社車両をシームレスにシミュレーション環境に統合できます。

次回以降は、Autoware での Vehicle & Sensor モデル設定 や Sim2Real の検証に進む予定です。


その他参考

  1. .meta の扱い
  2. AWSIM と AWSIM-Labs の違い
  3. 原点揃え動画 1
  4. 原点揃え動画 2
  5. Setup
  6. Troubleshooting

KGモーターズ Tech Blog

Discussion