Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

38
Introduction to Introduction to Microsoft Robotic Microsoft Robotic Studio Studio Prof. Shih-Chung Kang

Transcript of Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

Page 1: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

Introduction to Introduction to Microsoft Robotic Microsoft Robotic

StudioStudio

Prof. Shih-Chung Kang

Page 2: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

2

AgendaAgenda

• MSRS overview

• MSRS runtime

• MSRS authoring tools

• MSRS services and resources

Page 3: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

MSRS OverviewMSRS Overview

Page 4: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

4

Microsoft Robotics Studio Microsoft Robotics Studio OverviewOverview

• Released Dec 2006• Updated July 2007• Broad industry adoption– 150K+ downloads

• Licensing– Free download for non-commercial users

– $399 for commercial licenses• Add-on packages– Soccer simulation– Robot sumo simulation– Curriculum lessons

“…there is really nothing like this…”Sebastian Thrun, Stanford University

Page 5: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

5

Microsoft Robotics Studio Microsoft Robotics Studio OverviewOverview

• A development platform for the robotics community, supporting a wide variety of users, hardware, and application scenarios.

Page 6: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

MSRS RuntimeMSRS Runtime

Page 7: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

7康仕仲教授

MSRS RuntimeMSRS Runtime

• The runtime supports a wide variety of hardware ranging from robots connected directly to a PC (using the serial port, Bluetooth, USB, etc.) to robots that has an on-board PC, to simulated robots that can be manipulated as they operate in a simulated world.

• Microsoft Robotics Studio Runtime supports a variety of Windows platforms supported by .NET framework as well as Windows CE using .NET Compact Framework.

Page 8: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

8

MSRS RuntimeMSRS Runtime

• .NET framework

• Concurrency and Coordination Runtime, CCR

• Decentralizer Software Services, DSS

• Phyics-Based Simulation

Page 9: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

9

Microsoft .NET framework Microsoft .NET framework (1/3)(1/3)

• The Microsoft .NET Framework provides a large body of pre-coded solutions to common software development requirements, and manages the execution of programs written specifically for the framework.

• The pre-coded solutions that form the framework's Base Class Library cover a large range of programming needs in areas including: user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications.

Page 10: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

10

Microsoft .NET framework Microsoft .NET framework (2/3)(2/3)

• Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET Framework, is known as the Common Language Runtime (CLR).

• The CLR provides the appearance of an application virtual machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security mechanisms, memory management, and exception handling.

Page 11: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

11經濟部智慧型機器人控制工程師人才培育班康仕仲教授

Microsoft .NET framework Microsoft .NET framework (3/3)(3/3)

Page 12: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

12

MSRS Runtime: CCR (1/4)MSRS Runtime: CCR (1/4)

Page 13: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

13

MSRS Runtime: CCR (2/4)MSRS Runtime: CCR (2/4)

Page 14: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

14

MSRS Runtime: CCR (3/4)MSRS Runtime: CCR (3/4)

Page 15: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

15

MSRS Runtime : CCR (4/4)MSRS Runtime : CCR (4/4)• Concurrency and Coordination Runtime (CCR) provides a concurrent, message oriented programming model with powerful orchestration primitives enabling coordination of messages without the use of manual threading, locks, semaphores, etc.

• It enables you to design your application so that its software modules or components can be loosely coupled. This approach changes how you think of programs from the beginning of the design process and facilitates dealing with concurrency, failure and isolation in a consistent way.

• The CCR runtime is a self-contained .NET DLL accessible from any language targeting the .NET 2.0. Common Language Runtime (CLR).

15

Page 16: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

16

MSRS Runtime: Robot Model MSRS Runtime: Robot Model (1/3)(1/3)

Page 17: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

17

MSRS Runtime: Robot Model MSRS Runtime: Robot Model (2/3)(2/3)

Page 18: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

18

MSRS Runtime: Robot Model MSRS Runtime: Robot Model (3/3)(3/3)

Page 19: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

19

MSRS Runtime: DSS (1/3)MSRS Runtime: DSS (1/3)

• Decentralized Software Services (DSS) provides a lightweight, service oriented application model that combines key aspects of traditional Web-based architecture (commonly known as REST) with pieces of Web Services architecture.

• The application model defined by DSS builds on the REST model by exposing services through their state and a uniform set of operations over that state but extends the application model provided by HTTP by adding structured data manipulation, event notification, and service composition.

Page 20: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

20

MSRS Runtime: DSS (2/3)MSRS Runtime: DSS (2/3)

• The primary goal of DSS is to promote simplicity, interoperability, and loose coupling. This makes it particularly suited for creating applications as compositions of services regardless of whether these services are running within the same node or across the network.

• The result is a highly flexible yet simple platform for writing a broad set of applications. DSS uses HTTP and DSSP as the foundation for interacting with services.

20

Page 21: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

21

MSRS Runtime: DSS (3/3)MSRS Runtime: DSS (3/3)

• The DSS runtime is built on top of CCR and does not rely on any other components in Microsoft Robotics Studio. It provides a hosting environment for managing services and a set of infrastructure services that can be used for service creation, discovery, logging, debugging, monitoring, and security.

Page 22: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

22

Physics-Based Simulation Physics-Based Simulation (1/4)(1/4)

• The simulation runtime used in a variety of advanced technologies to help render high-fidelity visualization

• It integrates of the AGEIA PhysX Technologies enables us to leverage a very strong physics simulation product that is mature and constantly evolving towards features that will be invaluable to robotics. The rendering engine is based on Microsoft XNA Framework, the framework designed for XBox and PC games.

Page 23: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

23

Physics-Based Simulation Physics-Based Simulation (2/4)(2/4)

Page 24: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

24

Physics-Based Simulation Physics-Based Simulation (3/4)(3/4)

Page 25: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

27康仕仲教授

Microsoft Robotics StudioMicrosoft Robotics StudioThe Programming Model for The FutureThe Programming Model for The Future

VerifiableComposability

•Loosely-coupled•Asynchronous•Concurrent•Composable•Decentralized•Resilient Systems•Financial transaction processing

•Scientific modeling•Sensor networks•Home automation•Server management

Page 26: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

MSRS Authoring ToolsMSRS Authoring Tools

Page 27: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

29康仕仲教授

Visual Studio Visual Studio

Page 28: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

30康仕仲教授

C# programming languageC# programming language

• C# (pronounced C sharp) is a programming language designed for building a wide range of enterprise applications that run on the .NET Framework.

• An evolution of Microsoft C and Microsoft C++, C# is simple, modern, type safe, and object oriented.

• C# code is compiled as managed code, which means it benefits from the services of the common language runtime. These services include language interoperability, garbage collection, enhanced security, and improved versioning support.

Page 29: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

31康仕仲教授

Visual Programming Language Visual Programming Language (VPL)(VPL)

Page 30: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

32康仕仲教授

Visual Programming Language Visual Programming Language (VPL)(VPL)

Page 31: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

33康仕仲教授

Visual Programming Language Visual Programming Language (VPL)(VPL)

Page 32: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

34康仕仲教授

Visual Programming Language Visual Programming Language (VPL)(VPL)

App. A

App. B

App. C

App...

VPL Programmer

Services A

Services C

Services B

Activities A

Activities B

Activities C

Page 33: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

MSRS Services and MSRS Services and ResourcesResources

Page 34: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

36康仕仲教授

MSRS TutorialsMSRS Tutorials

Page 35: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

37康仕仲教授

MSRS CommunityMSRS Community

Page 36: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

38康仕仲教授

MSRS ExhibitionMSRS Exhibition

Page 37: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

39康仕仲教授

MSRS PartnersMSRS Partners

Page 38: Introduction to Microsoft Robotic Studio Prof. Shih-Chung Kang.

Thank youThank you

Shih-Chung Kang

[email protected]

www.caece.net/sckang