【Autoware × AWSIM】Unityでmibotを動かす!KGモーターズの自動運転開発の裏側ーPart1.
はじめに
こんにちは!KGモーターズ株式会社でインターンをしている banban です!
KGモーターズは「今日より明日が良くなる未来を創る」をビジョンに掲げ、広島を拠点に1人乗り小型 EV mibot を開発しているスタートアップです。私は 自動運転システムの開発 を担当しています。
mibot × Autowareの紹介:
本記事では、Autoware と AWSIM を用いた シミュレーション環境構築 を扱います。車両のシミュレーション開発は、自動運転分野において欠かせない技術です。というのも、
- 現実では想定しきれないシーンや危険な状況も安全に検証可能
- ソフトウェア開発効率の大幅向上
- 実車テスト前のコスト削減
といったメリットがあるからです。実際、世界中の自動車メーカー、スタートアップ企業がシミュレーションを取り入れ、開発を加速させています。いま開催中の自動運転AIチャレンジ2025でも、自動運転シミュレーションの活用が注目されています 🚗💨
このシリーズで出来ることのイメージ:
シリーズ構成
本シリーズでは、AutowareとAWSIMを使って、Unity上に自社EV mibot を再現し、シミュレーション上でmibotを動かす方法を解説します。AWSIMは、今開催中の自動運転AIチャレンジ2025 でも使用されていますので、ぜひ皆さんも自分の好きな車両を自動運転化させてみましょう!!
今回のシリーズ【AWSIM × Autoware】Unity で mibot を動かす!KG モーターズの自動運転開発の裏側では、
- AWSIM での mibot 再現 ← 今回
- Autoware での mibot の Vehicle & Sensor モデル設定
- mibot × AWSIM ~ Sim2Real への試み ~ [鬼門]
を取り扱います。
今回のPart1 では:
- 環境構築
- 3Dモデル作成時の注意点
- 3Dモデルを Unity(AWSIM) に適切に Import する方法
までを解説します 🚗💨
開発環境
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 さんのカラーピッカー は重宝しました。
-
🎨 色の把握(カラーピッカー)
画像から色を取得(RGB・HSV) / スポイトツール -
🎨 Blender での色の付け方
Blenderで色付けするにはマテリアルが重要!基礎から詳しく解説 -
📦 Blender でのモデル軽量化
Blenderで3Dモデルを軽量化してみよう -
🔄 メッシュの反転調整
Blender2.8で面の裏表を修正する
Unity 向けエクスポート
座標系
Blender | Unity |
---|---|
上方向 Z | 上方向 Y |
奥方向 Y | 奥方向 Z |
X軸反転 | X軸そのまま |
Blender と Unity では座標系の扱いが異なるため、変換処理が必要となります。
エクスポート手順
画像は、以下の記事を参考にしています。
作業の際は、チェック項目の入れ忘れに注意してください ✅
(私は、スクロール先のチェックマークに気づかず、長時間奮闘してしまいました💦 )
Unity に取り込む
街モデルの読み込み
AWSIM-Labs では、西新宿の街モデルが配布されています。
このモデルを使うことで、都市環境のシミュレーションやレンダリングのテストが簡単に行えます。
手順:
- Unity Editor →
Assets -> Import Package -> Custom Package
- 上記リンクをダウンロードし、
.unitypackage
を開く -
Import
ボタンをクリック -
Assets/AWSIM/Externals/
にインポートされる
Unity 起動
cd ~/AWSIM-Labs
~/Unity/Hub/Editor/2022.3.36f1/Editor/Unity -projectPath .
Import
こちらの記事を参考に Vehicle を導入していただければ大丈夫ですが、いくつか注意点があります。
- 車体パーツは分ける ( 上記のモデル作成のこと )
- モデル導入で陥りやすい罠⚠️ ( Graphy, WheelCollider, CenterPivot, Shader )
-
LexusのPrefab Variableとしてmibot作成 ( アプリ出力用 )
※3については現在手元に開発環境がないため、後日追記予定です。
モデル導入で陥りやすい罠⚠️
Graphy
Assetを別途自分で入れる必要があります。
![]() |
![]() |
---|
参考: Graphy
WheelCollider が横向きになる
現象
タイヤの進行方向にColliderを設定しても、Unity の Start ボタンを押すと向きが変化する。
対処方法:
either 1 or 2.
- 空オブジェクトをタイヤと親の間に追加
- Export 時に「トランスフォームに適用」にチェック
参考:
- 【Unity】【WheelCollider】タイヤが横に回ってしまいます
- Unity Wheel colliderの話#2
- Blenderで作成した車をUnityで動かそうとしたら、はちゃめちゃになった話
タイヤが分裂する
![]() |
![]() |
---|
現象
Unity の Start ボタンを押すとタイヤが分裂する。これは、メッシュオブジェクトの中心とメッシュ自体の位置が大きくずれている(center と pivot のずれ) ためである。
対処方法:
- UnityAdjustPivot をダウンロード
- Unity の Assets 下の Plugins フォルダに配置
- 右図のように、タイヤのcenterとpivotを合わせる
⚠️ Store からはインストール不可、手動配置が必要
Shader Pink 問題
現象:マテリアルがピンクになる
対処方法:
- Shader を確認
- Unknown → HDRP/Lit に変更
![]() |
![]() |
---|
まとめ
AWSIM を用いた自動運転シミュレーションは、実車では難しい安全検証や効率的な開発を可能にします。また、3D モデルの扱いや Unity の設定のコツを押さえておくことで、自社車両をシームレスにシミュレーション環境に統合できます。
次回以降は、Autoware での Vehicle & Sensor モデル設定 や Sim2Real の検証に進む予定です。
Discussion