Microsoft Robotics Studio Tandy Trower General Manager Microsoft
Microsoft Robotics Studio Tandy Trower General Manager Microsoft Robotics Group Microsoft Corporation
Microsoft Robotics Studio How we got here Microsoft’s interest in robotics Engagement with the robotics community Think Week papers The CSA directive Initial research with community leaders
Microsoft Robotics Studio What we learned Great excitement and potential Motivator for science and math Diverse community and skill set Excellent thought leadership Solving hard problems Accessible hardware technology
Microsoft Robotics Studio What we learned Challenges Too much complexity/too many resources required Lack of reusability How to provide for reliability Limited tools and technologies Lack of choice Difficulties in sharing Transference of skills/experience …
Microsoft Robotics Studio A development platform for the robotics community, supporting a wide variety of users, hardware, and application scenarios Microsoft Robotics Studio Runtime l Concurrency l Services infrastructure Authoring Tools l Simulation Tool l Visual Programming Language Services and Samples l Samples and tutorials l Robot services l Robot models l Technology services
Microsoft Robotics Studio What is a robotics application? Bumper (Sensor) Motor Message Box (Actuator) Orchestrator Motor Infrared Detector (Sensor) Bumper (Sensor) An application is a composition of looselycoupled components concurrently executing Orchestration of sensors/actuators User interface Behavior
Microsoft Robotics Studio Key runtime features Concurrency and coordination runtime Makes writing and managing asynchronous processes easy Avoids need to understand manual threading, semaphores, etc. Decentralized system services Makes state observable, easily accessible Provides for reusability and failure tolerance Supports remote/distributed execution Makes the programming model scalable
Microsoft Robotics Studio Services – the basic building block A service Has structured state Interacts using messages over ports Supports handlers (encapsulate behaviors) Port FIFO Basic operations State retrieval and manipulation Create and terminate Notifications Service Handlers State
Microsoft Robotics Studio Services – the basic building block Support dynamic discovery Restartable Provide simple abstraction for hardware and software Provide aggregated, compositional functionality Sensor fusion Motor drive Inherently distributed and asynchronous Can have “partners” Port FIFO Service Handlers State
Microsoft Robotics Studio Interaction through the browser UI service Joystick service Robot Motor services Sensor services Robotics Studio Runtime Service state observable at all levels of the application Services are capable of providing rich representation of data
Microsoft Robotics Studio Driving a robot with the browser and JScript Connect Browser Scripting Robot Dashboard Motor services Sensor services JS Service Robotics Studio Runtime JS Service
Microsoft Robotics Studio Application deployment models Supports standalone and distributed processing scenarios Connected operation (remote execution on PC) Disconnected autonomous operation (with optional networked monitoring) Distributed execution (execution across compute units)
Microsoft Robotics Studio Extensible to a wide variety of hardware
Microsoft Robotics Studio Authoring tools Simulation visualization tool High resolution 3 D rendering Visual and physics views High performance physics engine Phys. X™ supplied by Ageia Technology Optional hardware acceleration Makes technology accessible Enables fast prototyping and debugging Extensible by code or data
Microsoft Robotics Studio Authoring tools Web browser based programming/control Scripting (e. g. , JScript) Windows Gadgets Supported by multiple programming languages Microsoft Visual Studio and VS Express (e. g. , C#, VB. Net) Microsoft Iron Python 3 rd party languages
Microsoft Robotics Studio Authoring tools NOTE: Not included in the June 20 technical preview! Visual Programming Tool Dataflow editing Simple connections Building blocks Model checking Code generation Dashboards Robot models Novice to expert
Microsoft Robotics Studio Services and samples Over 15 tutorials VB. Net, C#, JScript Basic input and output Autonomous navigation Support for LEGO® Mindstorms® RCX LEGO® Mindstorms® NXT fischertechnik® Mobile. Robots Pioneer P 3™ Much more coming…stay tuned!
Microsoft Robotics Studio Community Robotics Developer Center website www. msdn. microsoft. com/robotics Downloads Bug reporting Blogs Newsgroups Channel 9 videos and wiki Technical Preview is available for free download
Microsoft Robotics Studio University support Bryn Mawr College Carnegie Mellon University Cornell University Georgia Tech Korea Institute of Science and Technology Massachusetts Institute of Technology Stanford University of Pennsylvania University of Pisa University of Southern California University of Washington
Summary Microsoft Robotics Studio A new application development platform for the robotics community, designed for a wide variety of users, hardware, and scenarios Designed to address some of the common challenges facing those developing robot applications Concurrency and distribution Scalability Code reuse and reliability Authoring
Summary Broad third party support
Summary Enabling the robotics community Creating a platform that supports enabling contributions in different domains Hardware development Low-level software and high-level behavior and orchestration Development tools UX and simulation
Summary Enabling the robotics community Providing choice Providing a growth path
A Closing Comment Looking to the past Looking to the future The second age of the PC
Microsoft Robotics Studio Download the community technical preview http: //www. msdn. microsoft. com/robotics
© 2006 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.
- Slides: 27