3
Download for free at:http://microsoft.com/robotics
for non-commercial use.Commercial use license from $399
7
DARPA: Princeton UniversityDARPA Urban Challenge
5 x Dual Core Servers
25 distributed services
35 undergraduates!
http://pave.princeton.edu/
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
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
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
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
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.