Search Unity

AirSim on Unity ― 自動運転車シミュレーターを使ってみよう

, 11月 14, 2018

Unity と Microsoft の提携により、自動運転車シミュレーター「AirSim」が Unity でも使えるようになりました。この提携は、Unity の高性能エンジンと、使いやすい C# 開発環境、および、Unity アセットストアの質の高いコンテンツによって、自動運転車とドローンの開発の民主化を推進するものです。

AirSim on Unity

AirSim は、Microsoft AI & Research Group のチームが開発した自動運転システムのためのオープンソースシミュレーターです。これは、リアリスティックな環境と車両力学を用いたプラットフォームで、AI や深層学習、強化学習、コンピュータービジョンの実験を行うことができます。AirSim on Unity は、まったく新しいエコシステムとプラットフォームを使った制作とイノベーションを可能にします。

「AirSim on Unity の目標は、自動運転車 AI と深層学習を発展させるメーカーやリサーチャーを支援することです。Unity はその OEM クライアントに対し、コスト効率の高い方法でリアリスティックなバーチャル環境を開発する手段と、自律学習および深層学習の世界を探索するための新しい方法を提供します。」

― Ashish Kapoor 氏(Microsoft Research & AI の Principal Researcher

強力・高性能

Unity では常にパフォーマンスに重点を置いた取り組みを進めて来ました。その賜物として高フレームレートで快適なパフォーマンスを提供する AirSim on Unity が実現されました。Visual Studio との併用によって、真に統合された、使い勝手の良い究極の開発環境を得ることができます。

クロスプラットフォーム対応

シームレスなクロスプラットフォーム対応は Unity の基本方針のひとつです。したがって、今回の AirSim for Windows のリリース後まもなく、Linux への対応も予定されています。Linux 版のリリースによって、高性能なシミュレーションがすべてのプラットフォームで実行可能になります。

ML-Agents を試してみよう

Unity 独自の機械学習イニシアチブである ML-Agents を AirSim 機能に統合すれば、さらに一歩進んだ試みが可能となります。オープンソースの ML-Agents は GitHub から入手可能で、高評を博しており 4,000 個を超えるスターを獲得しています。AirSim on Unity のリリースにより、この 2 つのコミュニティが共に模索・開発・進化していくための共通の土台が生まれました。

「現実世界で何日間・何週間もかけてトレーニングを行っていたのですが、新しい AirSim のツールを導入することで、Unity 内でたった数時間で無人航空機用の ML-Agents のトレーニングと評価ができました。」

― Anurag Rana 氏(Threye の最高経営責任者)

環境を素早く構築

Unity アセットストア には、シミュレーション用の複雑なバーチャル環境を素早く簡単に構築するために使用できる高品質なコンテンツが、幅広く提供されています。

すぐに始めていただけるように、Unity アセットストアで Windridge City を無料でダウンロードできるようにしました。この美しい環境には都市・郊外・田舎のエリアが含まれ、車両とドローンの両方に対応しています。Windridge City は AirSim と同様オープンソースですので、自由に修正を加えてお使いいただけます。

Windridge City を作り上げた NatureManufactureIndago 両スタジオに感謝の意を表します。彼らは独自のリソースと Unity アセットストアのツール(Unity Terrain Tools 制作の「EasyRoads3D」Procedural Worlds 制作の「Gaia」 ほか)を活用して本作を制作しました。また AirSim ラッパーコードの作成にあたっては Rythmos の協力を得ました。この 3 つのスタジオは私達のパートナーとして、自動運転シミュレーション研究の発展に対する情熱を共有し、Unity のエコシステムに参加する企業として相応しい資質と多様性を備えています。

AirSim on Unity の使用を開始する

AirSim API には変更が加えられておらず、サンプルデモプロジェクトと Windridge City が無料ダウンロードとして提供されていることから、AirSim の使用は簡単に開始していただけるようになっています。以下の資料(英語)を参考としてご活用ください。

GitHub レポジトリにある新しい Unity フォルダーには、AirSim ラッパーコード、車とドローンのデモプロジェクト、ドキュメンテーションが含まれています。車とドローンのプロジェクトは GitHub レポジトリ内で入手可能な既存のサンプルスクリプト(HelloCar.py と HelloDrone.py を含む)と併用可能です。

Windridge City は Unity アセットストアから入手可能です。ご利用にはポストプロセッシングスタック v2 が必要です。ポストプロセッシングスタック v2 はこちらのインストラクション(英語) に従って Unity パッケージマネージャー経由でインストールしていただけます。

初回リリースである今回の Windows 版は「ベータ版」です。Linux への対応は近日中に予定されています。AirSim はコア API に対応していますが、その可能性を最大限に発揮させるため、Unity コミュニティの皆様にご試用いただけることを楽しみにしています。

是非、GitHub のレポジトリに直接フィードバックをお寄せください。本ブログへのコメントもお待ちしております!

21 replies on “AirSim on Unity ― 自動運転車シミュレーターを使ってみよう”

Hello Everyone,
For my project we need a simulation software, basically the task is a simple pick-and-place (with a robot manipulator), but in outdoor environments.
The sensors we are gonna use are: Camera, IMU, Torque, Pressure, Force and one different kind of orientation (1D) sensor.

I tried VREP, it is easy to use and also it supports all the sensors, but the environment rendering is really bad (even the resolution is not good, when streaming from the visual sensor).

I checked some tutorials of AirSIM and the environment modelling is very realistic with shadows and weather effetcs (which suits perfectly for the project) , however as far I know AirSIM only supports Camera, GPS, IMU and Barometer, also it has no Robot manipulator models (I do know that it’s main focus is on UAV’s).

So I just wanted to know whether it is at all possible to import urdf model from ROS (as AirSIM have ROS support), also can one model and incorporate these other sensors.

Any suggestions and advice is much appreciated.

Thank You.

Hello, Do you have a scene for your windridge city that i can use in unity? I’ve gone through all folders and can’t see a scene file. How do i replicate your picture? Thanks

Hi, This is great!. A few questions:
1. Will this run in Unity with the same performance as it runs in Unreal? Or does does the wrapper add some overhead that will slow things down?
2. Will this support multi-agent simulations for reinforcement training of several autonomous drones at once? For example running batches of 10 or 20 at a time.
3. I was testing this out and the colliders don’t always prevent the drone from going through the ground. Is this a bug or is there something I’m not setting up right with colliers and collision detection. How do collisions register to Airsim lib? Do you have any optimization tips?
4. Will this support SITL? If so, can you explain how to set that up?
5. What is the best place for researchers to post questions like this? (Things related specifically to AirSim on Unity.)

Hello All,

As a part of my little project, Im trying to build this simulator on Unity to make it work with MiddleVR. I was having issues earlier since I was dealing with Unreal Engine, but since thats out of the way, I am facing some issues in running the ‘ Cardemo’ .
To Start with, its mentioned in the GitHub to get Unity 2018.2.15. I was able to build,cmd but when I ran the game it said the game was built on 2018.2.14. So I got the .14 version and ran the car demo but I didnt see any sort of map to play in, just an instance of a floor with the camera settings for the prefabs. Also, when I pressed play, Unity Immediately crashed(Tried it a few times). Anyone facing the same Issue?? I was also thinking of importing traffic simualted data that I created on SUMO Simulator using the TraCi protocol. Is it pssible on Airsim ?
Regardless, v4z

LOL I recall a forum conversation where I proposed using Unity, Navmesh and Google Maps to get a car to drive you where you wanted!

Why does this talk about ECS and the Job system when neither are production ready or compatible with any of the assets you talk about? The screenshot you include is also clearly not using ECS. Have you been told to throw those terms in to every blog post you do?

Comments are closed.