SlideShare a Scribd company logo
1 of 50
Download to read offline
Part I: AI and Simulation
Ashish Kapoor
Introducing Microsoft Research
Aerial Robotics at MSR
• Dedicated Drones
Lab
• Hardware Lab
• 333 Exemption
• Indoor OptiTrack
• Part 107
• Approved Test Sites
Aerial Robotics at MSR
Many Recent Successes of Machine Learning
Peng et al. 2016
Mnih et al. 2013Silver et al. 2016
1. Close-world systems (also only in software)
2. Luxury to obtain near-infinite data via
simulation etc.
Can we use such ML methods to build
systems that operate in real-world?
Successes of Machine Intelligence Real World Flying Systems
Peng et al. 2016
Mnih et al. 2013Silver et al. 2016
Fast Aerobatic Flights with Safety Constraints
11
Infinite Soaring Machine
Optimal Scanning: What Trajectory to Fly?
Racing FPV Quadrotors
Three Fundamental Challenges
Lack of large
amount of data
• High Sample
Complexity of
ML Methods
Computational
Constraints
• Real-time
Performance,
Limited
Memory and
Compute
Power
Operating in the
Open World
• Safety,
Uncertainty,
Mixed-
Initiative
Autonomy
Part II: Getting to Know AirSim
Shital Shah
A Day at Office
Ultrasonic sensors
Stereo vision
Companion
computer
Current State of UAV Simulators
AirSim: The Next Generation Simulator
What Does Simulator Enables?
• Wide variety of environment, day of time, weather patterns
• No legal hassle, much cheaper and safe
Generate lots of
training data
• Run exact same code that would be run onboard
• Slow down or accelerate simulated time
Develop autonomy
algorithms
• If it doesn’t work in simulator then it won’t work in real world
• Use sensors with varies parameters
Test perception
algorithms
• Can fail thousands of time to learn patterns
• Run in cloud for distributed learning
Reinforcement
Learning techniques
Why Use Unreal Engine?
Actual footage captured from simulated drone in AirSim with Open World Environment
The Heart of the Vehicle
Sensor Input
Motor Output
Sensors generate
information about the
world around
Motor voltages drives the
propeller
Humans provide
desired state
Sensor Input
Desired
State
How Simulator Works?
Sensor Input Motor Output
Desired
State
Humans provide
desired state
Generate all the
sensor data using
ground truth
Run physics engine
to get Lin & Ang
• Position
• Velocity
• Acceleration
What Does Physics Engine Do?
Physics
Engine
Force
Torque
Position
Velocity
Acceleration
Linear & Angular Flavors
Total of 3 + 3 = 6 vectors
The Physics Loop
Initialize
Get all the
forces and
torques
Find
𝑥𝑥, ̇𝑥𝑥, ̇̇𝑥𝑥
𝛼𝛼, ̇𝛼𝛼, ̇̇𝛼𝛼
Time elapsed
dt
May the Force & Torque be with You
𝐹𝐹 = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∗ 𝐾𝐾𝐹𝐹
𝑇𝑇 = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∗ 𝐾𝐾𝑇𝑇
𝐾𝐾𝐹𝐹 ∝ 𝜌𝜌𝐷𝐷4
𝐾𝐾𝑇𝑇 ∝ 𝜌𝜌𝐷𝐷5
Physics - Linear Dynamics
𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 =
𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓
𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚
𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑦𝑦𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 += 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ∗ 𝑑𝑑𝑑𝑑
𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 += 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑦𝑦𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ∗ 𝑑𝑑𝑑𝑑
*In real physics engine you would use better integrator than Euler
Physics - Angular Dynamics
𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 =
𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 − 𝜔𝜔 × (𝐼𝐼 𝜔𝜔)
𝐼𝐼
𝜔𝜔𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 += 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ∗ 𝑑𝑑𝑑𝑑
𝑞𝑞𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 𝑞𝑞𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 ∗ 𝑄𝑄(𝜔𝜔 ∗ 𝑑𝑑𝑑𝑑)
*In real physics engine you would use better integrator than Euler
*Calculations are in body frame
Simulating IMU
Physics engine tells us,
• Angular velocity
• Linear acceleration
So just add noise, bias and drift!
𝐼𝐼 𝐼𝐼 𝐼𝐼 = 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 + 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴
Simulating Barometer
Simulating Magnetometer
AirSim is Open Source
Unreal Engine 4
• Designed as UE4
plugin
• Just drop in to
100s of realistic
environments
APIs for Dozens
of Languages
• Get camera
images
• Send commands
to the vehicle
C++ Header-
Only Library
• Eigen library as
only dependency
• Cross-platform
Highly
Extensible
• Add new vehicles
models
• Add new modes
Experiment: Simulation vs. Reality
Simulated trajectory in purple, real trajectory in red
AirSim Has APIs
from PythonClient import *
import cv2
import sys
client = AirSimClient('127.0.0.1')
# get depth image
result = client.setImageTypeForCamera(0, AirSimImageType.Scene)
# show image in opencv
rawImage = np.fromstring(result, np.int8)
png = cv2.imdecode(rawImage, cv2.IMREAD_UNCHANGED)
cv2.imshow("Camera Image", png)
Few lines of Python code can get you FPV image from drone!
Scene from Unreal Boy with a Kite environment
Make Drone Move in AirSim Using APIs
from PythonClient import *
import sys
client = AirSimClient('127.0.0.1')
# Stay 5 meters above ground
z = -5
# Fly!
client.moveOnPath([(0,-253,z),(125,-253,z),(125,0,z),(0,0,z)],
15, 0, DrivetrainType.ForwardOnly,
YawMode(False,0), 20, 1)
Same code can be ran from offboard computer on real drone!
Other languages available: C++, C#, Java and many more!
Make Drone Move in AirSim Using APIs
AirSim Extensibility
New Vehicle
Types
Car
Apollo Moon
Lander
New Sensor
Types
Ultrasonics
LIDAR
New Physics
Engines
PhysX
Bullet
New Sim
Modes
Computer
Vision
Just Physics
You can contribute on GitHub: https://github.com/microsoft/airsim
Part III: Applications & Future
Ashish Kapoor
AgIoT: Precision Agriculture
Scan farm using drone to capture low level details on daily basis, analyze differences each day
and fuse with sensor information to identify areas that needs specific work
AgIoT: Vision
40
Spatio-temporal
view of the farm
Sensors & UAVs
Yield estimation Precision Irrigation Pest Infection
Fertilizer
application
…Ag Services
AgIoT:System Architecture
41
Azure ML
Analytics
• Monsanto
• Cargill
• DuPont
• Syngenta
• Sakata
• Fertilizer
• …
Cameras,
Drones,
sensors
Weather Data
(Rain, Wind, Pollen)
Recommendations
(daily best practices)
Farm Aggregator
(IOT Edge)
Farm Aggregator
(IOT Edge)
Autonomous 3D Scanning of Large Structures
3D reconstruction
in simulator using a
simulated drone
flight
3D reconstruction
in real world using
actual drone
Autonomous 3D Scanning of Large Structures
Thank You!
In Collaboration
With:
Debadeepta Dey,
Neel Joshi, Andrey
Kolobov, Chris
Lovett, Jim Piavis,
Gireeja Ranade,
Shital Shah,
Sudipta Sinha
Interns: Sanjiban
Choudhury, Mike
Roberts, Niteesh
Sood, Wen Sun
セッションアンケートにご協力ください
 専用アプリからご回答いただけます。
decode 2017
 スケジュールビルダーで受講セッションを
登録後、アンケート画面からご回答ください。
 アンケートの回答時間はたったの 15 秒です!
Ask the Speaker のご案内
本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて
ご説明させていただきます。是非、お立ち寄りください。
Appendix
Architecture
Evaluation: Simulation Vs. Reality
Optimal Scanning: What Trajectory to Fly?
• Safety: How risky are the flight maneuvers?
• Efficiency: How long does the process take?
• Performance: How good is the 3D model?
© 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

More Related Content

What's hot

確率的バンディット問題
確率的バンディット問題確率的バンディット問題
確率的バンディット問題
jkomiyama
 
MMORPGで考えるゲームデザイン(2014年改訂版)
MMORPGで考えるゲームデザイン(2014年改訂版)MMORPGで考えるゲームデザイン(2014年改訂版)
MMORPGで考えるゲームデザイン(2014年改訂版)
Katsumi Mizushima
 
高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究
horieyuto
 
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
小林 信行
 

What's hot (20)

Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
 
確率的バンディット問題
確率的バンディット問題確率的バンディット問題
確率的バンディット問題
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
 
Motion capture by Rj
Motion capture by RjMotion capture by Rj
Motion capture by Rj
 
20160417dlibによる顔器官検出
20160417dlibによる顔器官検出20160417dlibによる顔器官検出
20160417dlibによる顔器官検出
 
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)
 
MMORPGで考えるゲームデザイン(2014年改訂版)
MMORPGで考えるゲームデザイン(2014年改訂版)MMORPGで考えるゲームデザイン(2014年改訂版)
MMORPGで考えるゲームデザイン(2014年改訂版)
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究
 
mcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージ
mcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージmcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージ
mcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージ
 
160428 東工大「ロボット技術」授業資料
160428 東工大「ロボット技術」授業資料160428 東工大「ロボット技術」授業資料
160428 東工大「ロボット技術」授業資料
 
四脚ロボットによる つくばチャレンジへの取り組み
四脚ロボットによるつくばチャレンジへの取り組み四脚ロボットによるつくばチャレンジへの取り組み
四脚ロボットによる つくばチャレンジへの取り組み
 
MRTK3を調べてみた
MRTK3を調べてみたMRTK3を調べてみた
MRTK3を調べてみた
 
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
 

Similar to [SP02] Developing autonomous vehicles with AirSim

Automated Systems General Foundation
Automated Systems General FoundationAutomated Systems General Foundation
Automated Systems General Foundation
mrcarty
 

Similar to [SP02] Developing autonomous vehicles with AirSim (20)

Computer Simulation And Modeling
Computer Simulation And ModelingComputer Simulation And Modeling
Computer Simulation And Modeling
 
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...
AUTO LANDING PROCESS FOR AUTONOMOUS FLYING ROBOT BY USING IMAGE PROCESSING BA...
 
Machine Learning in the Real World
Machine Learning in the Real WorldMachine Learning in the Real World
Machine Learning in the Real World
 
Building Your Robot using AWS Robomaker
Building Your Robot using AWS RobomakerBuilding Your Robot using AWS Robomaker
Building Your Robot using AWS Robomaker
 
ROBOTOR AN AUTONOMOUS VEHICLE FOR TARGET DETECTION AND SHOOTING
ROBOTOR AN AUTONOMOUS VEHICLE FOR TARGET DETECTION AND SHOOTINGROBOTOR AN AUTONOMOUS VEHICLE FOR TARGET DETECTION AND SHOOTING
ROBOTOR AN AUTONOMOUS VEHICLE FOR TARGET DETECTION AND SHOOTING
 
Computational Inteligence in Racing Games
Computational Inteligence in Racing GamesComputational Inteligence in Racing Games
Computational Inteligence in Racing Games
 
Physics Solutions for Innovative Game Design
Physics Solutions for Innovative Game DesignPhysics Solutions for Innovative Game Design
Physics Solutions for Innovative Game Design
 
DRONE PPT.pptx
DRONE PPT.pptxDRONE PPT.pptx
DRONE PPT.pptx
 
Reinforcement Learning for Self Driving Cars
Reinforcement Learning for Self Driving CarsReinforcement Learning for Self Driving Cars
Reinforcement Learning for Self Driving Cars
 
Resume
ResumeResume
Resume
 
Machine Learning for Web Developers
Machine Learning for Web DevelopersMachine Learning for Web Developers
Machine Learning for Web Developers
 
QUIN 4.0 - Smart Drone - Final Presentation
QUIN 4.0 - Smart Drone - Final PresentationQUIN 4.0 - Smart Drone - Final Presentation
QUIN 4.0 - Smart Drone - Final Presentation
 
Point Clouds from Rolling Shutter Cameras
Point Clouds from Rolling Shutter CamerasPoint Clouds from Rolling Shutter Cameras
Point Clouds from Rolling Shutter Cameras
 
Accelerating automotive test development may 2008
Accelerating automotive test development   may 2008Accelerating automotive test development   may 2008
Accelerating automotive test development may 2008
 
30120140506012 2
30120140506012 230120140506012 2
30120140506012 2
 
30120140506012 2
30120140506012 230120140506012 2
30120140506012 2
 
Viktor Tsykunov: Azure Machine Learning Service
Viktor Tsykunov: Azure Machine Learning ServiceViktor Tsykunov: Azure Machine Learning Service
Viktor Tsykunov: Azure Machine Learning Service
 
Enhancing drone application development using python and dronekit
Enhancing drone application development using python and dronekitEnhancing drone application development using python and dronekit
Enhancing drone application development using python and dronekit
 
Semi Autonomous Hand Launched Rotary Wing Unmanned Air Vehicles
Semi Autonomous Hand Launched Rotary Wing Unmanned Air VehiclesSemi Autonomous Hand Launched Rotary Wing Unmanned Air Vehicles
Semi Autonomous Hand Launched Rotary Wing Unmanned Air Vehicles
 
Automated Systems General Foundation
Automated Systems General FoundationAutomated Systems General Foundation
Automated Systems General Foundation
 

More from de:code 2017

[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
de:code 2017
 
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
de:code 2017
 
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
de:code 2017
 
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure [DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure
de:code 2017
 

More from de:code 2017 (20)

[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
 
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
 
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
 
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
 
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
 
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
 
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
 
[SP04] これからのエンジニアに必要な「マネジメント」の考え方
[SP04] これからのエンジニアに必要な「マネジメント」の考え方[SP04] これからのエンジニアに必要な「マネジメント」の考え方
[SP04] これからのエンジニアに必要な「マネジメント」の考え方
 
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
 
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
 
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
 
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
 
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
 
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
 
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
 
[SP03] 「怠惰の美徳~言語デザイナーの視点から」
[SP03] 「怠惰の美徳~言語デザイナーの視点から」[SP03] 「怠惰の美徳~言語デザイナーの視点から」
[SP03] 「怠惰の美徳~言語デザイナーの視点から」
 
[SP01] CTO が語る! 今注目すべきテクノロジー
[SP01] CTO が語る! 今注目すべきテクノロジー[SP01] CTO が語る! 今注目すべきテクノロジー
[SP01] CTO が語る! 今注目すべきテクノロジー
 
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure [DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

[SP02] Developing autonomous vehicles with AirSim

  • 1.
  • 2. Part I: AI and Simulation Ashish Kapoor
  • 4. Aerial Robotics at MSR • Dedicated Drones Lab • Hardware Lab • 333 Exemption • Indoor OptiTrack • Part 107 • Approved Test Sites
  • 6. Many Recent Successes of Machine Learning Peng et al. 2016 Mnih et al. 2013Silver et al. 2016 1. Close-world systems (also only in software) 2. Luxury to obtain near-infinite data via simulation etc.
  • 7.
  • 8. Can we use such ML methods to build systems that operate in real-world?
  • 9. Successes of Machine Intelligence Real World Flying Systems Peng et al. 2016 Mnih et al. 2013Silver et al. 2016
  • 10. Fast Aerobatic Flights with Safety Constraints 11
  • 12. Optimal Scanning: What Trajectory to Fly?
  • 14. Three Fundamental Challenges Lack of large amount of data • High Sample Complexity of ML Methods Computational Constraints • Real-time Performance, Limited Memory and Compute Power Operating in the Open World • Safety, Uncertainty, Mixed- Initiative Autonomy
  • 15. Part II: Getting to Know AirSim Shital Shah
  • 16. A Day at Office Ultrasonic sensors Stereo vision Companion computer
  • 17. Current State of UAV Simulators
  • 18. AirSim: The Next Generation Simulator
  • 19. What Does Simulator Enables? • Wide variety of environment, day of time, weather patterns • No legal hassle, much cheaper and safe Generate lots of training data • Run exact same code that would be run onboard • Slow down or accelerate simulated time Develop autonomy algorithms • If it doesn’t work in simulator then it won’t work in real world • Use sensors with varies parameters Test perception algorithms • Can fail thousands of time to learn patterns • Run in cloud for distributed learning Reinforcement Learning techniques
  • 20. Why Use Unreal Engine? Actual footage captured from simulated drone in AirSim with Open World Environment
  • 21. The Heart of the Vehicle Sensor Input Motor Output Sensors generate information about the world around Motor voltages drives the propeller Humans provide desired state Sensor Input Desired State
  • 22. How Simulator Works? Sensor Input Motor Output Desired State Humans provide desired state Generate all the sensor data using ground truth Run physics engine to get Lin & Ang • Position • Velocity • Acceleration
  • 23. What Does Physics Engine Do? Physics Engine Force Torque Position Velocity Acceleration Linear & Angular Flavors Total of 3 + 3 = 6 vectors
  • 24. The Physics Loop Initialize Get all the forces and torques Find 𝑥𝑥, ̇𝑥𝑥, ̇̇𝑥𝑥 𝛼𝛼, ̇𝛼𝛼, ̇̇𝛼𝛼 Time elapsed dt
  • 25. May the Force & Torque be with You 𝐹𝐹 = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∗ 𝐾𝐾𝐹𝐹 𝑇𝑇 = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 ∗ 𝐾𝐾𝑇𝑇 𝐾𝐾𝐹𝐹 ∝ 𝜌𝜌𝐷𝐷4 𝐾𝐾𝑇𝑇 ∝ 𝜌𝜌𝐷𝐷5
  • 26. Physics - Linear Dynamics 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑦𝑦𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 += 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ∗ 𝑑𝑑𝑑𝑑 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 += 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑦𝑦𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ∗ 𝑑𝑑𝑑𝑑 *In real physics engine you would use better integrator than Euler
  • 27. Physics - Angular Dynamics 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 − 𝜔𝜔 × (𝐼𝐼 𝜔𝜔) 𝐼𝐼 𝜔𝜔𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 += 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ∗ 𝑑𝑑𝑑𝑑 𝑞𝑞𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 = 𝑞𝑞𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 ∗ 𝑄𝑄(𝜔𝜔 ∗ 𝑑𝑑𝑑𝑑) *In real physics engine you would use better integrator than Euler *Calculations are in body frame
  • 28. Simulating IMU Physics engine tells us, • Angular velocity • Linear acceleration So just add noise, bias and drift! 𝐼𝐼 𝐼𝐼 𝐼𝐼 = 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 + 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴
  • 31. AirSim is Open Source Unreal Engine 4 • Designed as UE4 plugin • Just drop in to 100s of realistic environments APIs for Dozens of Languages • Get camera images • Send commands to the vehicle C++ Header- Only Library • Eigen library as only dependency • Cross-platform Highly Extensible • Add new vehicles models • Add new modes
  • 32. Experiment: Simulation vs. Reality Simulated trajectory in purple, real trajectory in red
  • 33. AirSim Has APIs from PythonClient import * import cv2 import sys client = AirSimClient('127.0.0.1') # get depth image result = client.setImageTypeForCamera(0, AirSimImageType.Scene) # show image in opencv rawImage = np.fromstring(result, np.int8) png = cv2.imdecode(rawImage, cv2.IMREAD_UNCHANGED) cv2.imshow("Camera Image", png) Few lines of Python code can get you FPV image from drone! Scene from Unreal Boy with a Kite environment
  • 34. Make Drone Move in AirSim Using APIs from PythonClient import * import sys client = AirSimClient('127.0.0.1') # Stay 5 meters above ground z = -5 # Fly! client.moveOnPath([(0,-253,z),(125,-253,z),(125,0,z),(0,0,z)], 15, 0, DrivetrainType.ForwardOnly, YawMode(False,0), 20, 1) Same code can be ran from offboard computer on real drone! Other languages available: C++, C#, Java and many more!
  • 35. Make Drone Move in AirSim Using APIs
  • 36. AirSim Extensibility New Vehicle Types Car Apollo Moon Lander New Sensor Types Ultrasonics LIDAR New Physics Engines PhysX Bullet New Sim Modes Computer Vision Just Physics You can contribute on GitHub: https://github.com/microsoft/airsim
  • 37. Part III: Applications & Future Ashish Kapoor
  • 38. AgIoT: Precision Agriculture Scan farm using drone to capture low level details on daily basis, analyze differences each day and fuse with sensor information to identify areas that needs specific work
  • 39. AgIoT: Vision 40 Spatio-temporal view of the farm Sensors & UAVs Yield estimation Precision Irrigation Pest Infection Fertilizer application …Ag Services
  • 40. AgIoT:System Architecture 41 Azure ML Analytics • Monsanto • Cargill • DuPont • Syngenta • Sakata • Fertilizer • … Cameras, Drones, sensors Weather Data (Rain, Wind, Pollen) Recommendations (daily best practices) Farm Aggregator (IOT Edge) Farm Aggregator (IOT Edge)
  • 41. Autonomous 3D Scanning of Large Structures 3D reconstruction in simulator using a simulated drone flight 3D reconstruction in real world using actual drone
  • 42. Autonomous 3D Scanning of Large Structures
  • 43. Thank You! In Collaboration With: Debadeepta Dey, Neel Joshi, Andrey Kolobov, Chris Lovett, Jim Piavis, Gireeja Ranade, Shital Shah, Sudipta Sinha Interns: Sanjiban Choudhury, Mike Roberts, Niteesh Sood, Wen Sun
  • 44. セッションアンケートにご協力ください  専用アプリからご回答いただけます。 decode 2017  スケジュールビルダーで受講セッションを 登録後、アンケート画面からご回答ください。  アンケートの回答時間はたったの 15 秒です!
  • 45. Ask the Speaker のご案内 本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて ご説明させていただきます。是非、お立ち寄りください。
  • 49. Optimal Scanning: What Trajectory to Fly? • Safety: How risky are the flight maneuvers? • Efficiency: How long does the process take? • Performance: How good is the 3D model?
  • 50. © 2017 Microsoft Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。