Top Banner
33
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.
Page 2: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

2

Microsoft RoboticsDeveloper StudioPaul FosterMicrosoft UK

Page 3: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

3

Download for free at:http://microsoft.com/robotics

for non-commercial use.Commercial use license from $399

Page 4: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

4

Microsoft RoboticsDeveloper Studio

http://www.promrds.com

Page 5: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

5

RoboCup: Nao simulation

Page 6: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

6

DARPA Urban Challenge

Page 7: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

7

DARPA: Princeton UniversityDARPA Urban Challenge

5 x Dual Core Servers

25 distributed services

35 undergraduates!

http://pave.princeton.edu/

Page 8: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

8

Page 9: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

9

Page 10: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

10

Visual Simulation EngineVisual Programming Language

Demo

Page 11: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

11

Robotics is:Distributed computingConcurrent (parallel) computingHardware-intensive, especially exotic/non-standard hardwareAlgorithmically challenging, even in well-understood areas of computer sciencePushing the boundaries of computing science(sensing, reasoning, planning, user interaction)

Page 12: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

12

Robotics is hard because:There is a lack of reusable componentsNo standard hardware or hardware abstractions existConcurrent and distributed programming is hard and inherent in virtually all robotics software projectsTesting in the real-world is excessively costly and simulation is costly or overly complexHigh barrier to entry

Page 13: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

13

Microsoft Robotics Studio addresses:Reusable components: Introduces a paradigm thatfacilitates reuse

Standardization: Introduces a hardware abstraction paradigm

Concurrency and distributed computing: Introduces CCR and DSS to greatly simplify these tasks

Simulation: Introduces a high-fidelity, extensible virtual world

Barrier to Entry: Introduces a Visual Programming Language to make the advanced features more accessible to newcomers

Page 14: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

14

Special bonus:If Robotics is hard for the same reasons that distributed, parallel, network computing is hard, then MRDS technology is useful outside of robotics

Or, “Not all robots have wheels”

Page 15: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

15

Services are the basic building blockServices have:– Structured state– Behaviors– Partner services– One or more contracts

Operations– State retrieval and manipulation– Create and Terminate– Notification

Port

Service Service

Handlers

StateService

Page 16: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

16

ServicesCan be used to abstract hardwareCan be composed and provide aggregated functionality (sensor fusion, for example)Are inherently remotable and participate in distributed operationsRestartable and mobile (state transfer)Must be inherently asynchronous

Handlers

State

Port

Page 17: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

17

Bumper Service

Drive Service

Camera Service

Bumper Service

Camera Service

Orchestration Service

Laser Range Finder ServiceLaser Range Finder Service

Page 18: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

18

Sequential programming

CPU Core

Page 19: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

19

Parallel programming

CPU Core CPU Core CPU Core

Page 20: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

20

Parallel programming, too many threads

CPU Core CPU Core CPU Core

Page 21: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

21

Parallel programming, too few threads

CPU Core CPU Core CPU CoreCPU Core

Page 22: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

22

Parallel programming, with CCR

CCRCPU Core CPU Core CPU Core CPU Core

Page 23: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

23

CCR helps us create scalable concurrent apps by:

Decomposing workload into a ‘sea’ of heterogeneous concurrent work itemsEnabling latent concurrency that can be dynamically mapped to available computational resources

In short, you list all the things that could run in parallel, and the CCR decides what should run NOW

Page 24: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

24

Building a virtual world and robotDemo

Page 25: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

25

.NET Everywhere NETFx

NETCFNETCF

NETFx

Page 26: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

26

Robotics Studio on Devices

Page 27: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

27

MRDS and Sensor WebsMonitored temp, humidity, and activity in ten animal burrows on a remote islandBase station contained VIA EPIA computer,sensor radio, GPS, and a GPRS modemMRDS managed all communication with thesensor web, researcher PCs and the mainlandMRDS also managed the solar recharging system and duty cycle for the PCSensors: www.scatterweb.comSee: http://research.microsoft.com/habitats/index.html for more information

Page 28: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

28

RoboChamps CompetitionNew Simulation-based Robotics League

Based on MRDS 2008

Targeted at broad developer audience

Community site provides links, videos, samples, training and forums

New Challenges, Robots, and 3-D Environments Released Every 1-2 months

Participants can win real robotshttp://www.robochamps.com

Page 29: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

29

RoboChamps Challenges

Page 30: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

30

SummaryBuilding and programming Robots is FUN!Download and tutorials: – http://microsoft.com/robotics

Book: http://www.promrds.comBlogs: – http://blogs.msdn.com/msroboticsstudio– http://wotudo.net

Page 31: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

31

Q&A

Page 32: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

32

Resources

www.microsoft.com/teched Tech·Talks Tech·Ed BloggersLive Simulcasts Virtual Labs

http://microsoft.com/expression

Professional Design tools for tomorrow

http://msdn.microsoft.com

Developer’s Kit, Licenses, and MORE!

Page 33: 2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK.

33

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED

OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.