Microsoft Robotics Developer Studio Paul Foster Microsoft UK
Microsoft Robotics Developer Studio Paul Foster Microsoft UK 2
Download for free at: http: //microsoft. com/robotics for non-commercial use. Commercial use license from $399 3
Microsoft Robotics Developer Studio http: //www. promrds. com 4
Robo. Cup: Nao simulation 5
DARPA Urban Challenge 6
DARPA: Princeton University DARPA Urban Challenge 5 x Dual Core Servers 25 distributed services 35 undergraduates! http: //pave. princeton. edu/ 7
8
9
Visual Simulation Engine Visual Programming Language 10
Robotics is: Distributed computing Concurrent (parallel) computing Hardware-intensive, especially exotic/ non-standard hardware Algorithmically challenging, even in well-understood areas of computer science Pushing the boundaries of computing science (sensing, reasoning, planning, user interaction) 11
Robotics is hard because: There is a lack of reusable components No standard hardware or hardware abstractions exist Concurrent and distributed programming is hard and inherent in virtually all robotics software projects Testing in the real-world is excessively costly and simulation is costly or overly complex High barrier to entry 12
Microsoft Robotics Studio addresses: Reusable components: Introduces a paradigm that facilitates 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 13
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” 14
Services are the basic building block Services have: – – Structured state Behaviors Partner services One or more contracts Operations – State retrieval and manipulation – Create and Terminate – Notification Service 15 Port rs Handle Service State Service
Services Port rs Handle State 16 Can be used to abstract hardware Can be composed and provide aggregated functionality (sensor fusion, for example) Are inherently remotable and participate in distributed operations Restartable and mobile (state transfer) Must be inherently asynchronous
Orchestration Service Laser Range Finder Service Camera Service Bumper Service Drive Service 17
Sequential programming 18 CPU Core
Parallel programming CPU Core 19 CPU Core
Parallel programming, too many threads CPU Core 20 CPU Core
Parallel programming, too few threads CPU Core 21 CPU Core
Parallel programming, with CCR 22 CPU Core
CCR helps us create scalable concurrent apps by: Decomposing workload into a ‘sea’ of heterogeneous concurrent work items Enabling 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 23
Building a virtual world and robot 24
NETFx NETCF 25 . NET Everywhere NETFx NETCF
Robotics Studio on Devices 26
MRDS and Sensor Webs Monitored temp, humidity, and activity in ten animal burrows on a remote island Base station contained VIA EPIA computer, sensor radio, GPS, and a GPRS modem MRDS managed all communication with the sensor web, researcher PCs and the mainland MRDS also managed the solar recharging system and duty cycle for the PC Sensors: www. scatterweb. com See: http: //research. microsoft. com/habitats/index. html for more information 27
Robo. Champs Competition New 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 28 http: //www. robochamps. com Participants can win real robots
Robo. Champs Challenges 29
Summary Building and programming Robots is FUN! Download and tutorials: – http: //microsoft. com/robotics Book: http: //www. promrds. com Blogs: – http: //blogs. msdn. com/msroboticsstudio – http: //wotudo. net 30
31
Resources www. microsoft. com/teched Tech·Talks Live Simulcasts 32 Tech·Ed Bloggers Virtual Labs http: //microsoft. com/expression http: //msdn. microsoft. com Professional Design tools for tomorrow Developer’s Kit, Licenses, and MORE!
© 2008 Microsoft Corporation. All rights reserved. Microsoft, 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. 33
- Slides: 33