33
AirSim: A Powerful Simulator for Robotics Research Yulai Weng CIS 700/002: Topics in Safe Autonomy Department of Computer and Information Science School of Engineering and Applied Science University of Pennsylvania 02/12/2019 1

AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AirSim: A Powerful Simulator for

Robotics Research

Yulai Weng

CIS 700/002: Topics in Safe Autonomy

Department of Computer and Information Science

School of Engineering and Applied Science

University of Pennsylvania

02/12/2019

1

Page 2: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

2

Page 3: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Successes of Machine Intelligence

Real World Flying Systems

Page 4: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Three Fundamental Challenges

4

Page 5: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Old Version of UAV Simulators

5

Page 6: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AirSim: The Next Generation Simulator

6

Page 7: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

What Does Simulator Enables?

7

Page 8: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Why Use Unreal Engine?

8

Page 9: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

The Heart of the Vehicle

9

Page 10: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

How Simulator Works?

10

Page 11: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

What Does Physics Engine Do?

11

Page 12: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

The Physics Loop

12

Page 13: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

May the Force & Torque be with You

13

Page 14: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Physics: Dynamics

14

Page 15: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Simulating IMU

15

Page 16: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Simulating Barometer

16

Page 17: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Simulating Magnetometer

17

Page 18: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

The Architecture of AirSim

18

Page 19: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AirSim is Open Source

19

Page 20: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Experiment: Simulation vs. Reality

20

Page 21: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AirSim Has APIs

21

Page 22: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Make Drone Move in AirSim Using APIs

22

Page 23: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

23

Page 24: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AirSim Extensibility

24

Page 25: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AgIoT: Precision Agriculture

25

Page 26: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AgIoT: Vision

26

Page 27: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AgIoT: System Architecture

27

Page 28: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Autonomous 3D Scanning of

Large Structures

28

Page 29: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Expands AirSim AI Simulator to

Include Autonomous Car Research

29

Page 30: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

End-to-End Deep Learning for

Autonomous Driving

30

Page 31: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Deep Reinforcement Learning

for Autonomous Driving

31

Page 32: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

AirSim on Unity

32

Page 33: AirSim: A Powerful Simulator for Robotics Research · import cv2 import sys ('127.e.e.1') client - AirSimC1ient # get depth image = client. setlmageTypeForCamera(Ø, . Scene) result

Thanks !

33