33

2 Microsoft Robotics Developer Studio Paul Foster Microsoft UK

Embed Size (px)

Citation preview

2

Microsoft RoboticsDeveloper StudioPaul FosterMicrosoft UK

3

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

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

4

Microsoft RoboticsDeveloper Studio

http://www.promrds.com

5

RoboCup: Nao simulation

6

DARPA Urban Challenge

7

DARPA: Princeton UniversityDARPA Urban Challenge

5 x Dual Core Servers

25 distributed services

35 undergraduates!

http://pave.princeton.edu/

8

9

10

Visual Simulation EngineVisual Programming Language

Demo

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)

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

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

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”

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

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

17

Bumper Service

Drive Service

Camera Service

Bumper Service

Camera Service

Orchestration Service

Laser Range Finder ServiceLaser Range Finder Service

18

Sequential programming

CPU Core

19

Parallel programming

CPU Core CPU Core CPU Core

20

Parallel programming, too many threads

CPU Core CPU Core CPU Core

21

Parallel programming, too few threads

CPU Core CPU Core CPU CoreCPU Core

22

Parallel programming, with CCR

CCRCPU Core CPU Core CPU Core CPU Core

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

24

Building a virtual world and robotDemo

25

.NET Everywhere NETFx

NETCFNETCF

NETFx

26

Robotics Studio on Devices

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

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

29

RoboChamps Challenges

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

31

Q&A

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!

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.