Microsoft Robotics Developer Studio Paul Foster Microsoft UK
Download for free at: http://microsoft.com/robotics for non-commercial use. Commercial use license from $399
Microsoft Robotics Developer Studio http://www.promrds.com
RoboCup: Nao simulation
DARPA Urban Challenge
DARPA: Princeton University DARPA Urban Challenge 5 x Dual Core Servers 25 distributed services 35 undergraduates! http://pave.princeton.edu/
Visual Simulation Engine Visual Programming Language Demo Visual Simulation Engine Visual Programming Language
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)
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
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
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”
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 Port Handlers Service State Service Service
Services 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 Port Handlers State
Orchestration Service Laser Range Finder Service Laser Range Finder Service Camera Service Camera Service Bumper Service Bumper Service Drive Service
Sequential programming CPU Core
Parallel programming CPU Core CPU Core CPU Core
Parallel programming, too many threads CPU Core CPU Core CPU Core
Parallel programming, too few threads CPU Core CPU Core CPU Core CPU Core
Parallel programming, with CCR CPU Core CPU Core CPU Core 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
Building a virtual world and robot Demo Building a virtual world and robot
.NET Everywhere NETFx NETFx NETCF NETCF
Robotics Studio on Devices
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
RoboChamps 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 Participants can win real robots http://www.robochamps.com
RoboChamps Challenges
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
Q&A
Resources www.microsoft.com/teched http://msdn.microsoft.com Tech·Talks Tech·Ed Bloggers Live Simulcasts Virtual Labs http://microsoft.com/expression Professional Design tools for tomorrow http://msdn.microsoft.com Developer’s Kit, Licenses, and MORE!
© 2008 Microsoft Corporation. All rights reserved © 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.