More applications are needed to propel the More applications are needed to propel the marketmarket
A lack of reusability keeps robot developers A lack of reusability keeps robot developers endlessly endlessly re-solvingre-solving the same software the same software problemsproblemsConcentrating on the Concentrating on the mechanicsmechanics of robotics of robotics rather than the science of roboticsrather than the science of roboticsConcurrency and complexityConcurrency and complexity plague all plague all software engineering and especially roboticssoftware engineering and especially roboticsDevelopment requiresDevelopment requires too much effort too much effort and and knowledgeknowledge Source: Japan Robotics Association
Ubiquitous computing environments should be deployed incrementally.Ubiquitous computing environments should be deployed incrementally. Our living space is not a demonstration room.Our living space is not a demonstration room. We like to replace existing objects to new objects when necessary.We like to replace existing objects to new objects when necessary.
How can software infrastructures help to decrease the complexities?How can software infrastructures help to decrease the complexities?
What is a robot?What is a robot? Autonomous?Autonomous?Remote control?Remote control?
Microsoft & RoboticsMicrosoft & Robotics
Microsoft ResearchMicrosoft Research Enabling technologiesEnabling technologies Human Robot InteractionHuman Robot Interaction Personal RoboticsPersonal Robotics Educational RoboticsEducational Robotics Programming environmentsProgramming environments
Microsoft Robotics GroupMicrosoft Robotics Group Microsoft Robotics StudioMicrosoft Robotics Studio
Center for innovative Robotics Center for innovative Robotics (Carnegie Mellon University)(Carnegie Mellon University)External Research OfficeExternal Research Office
SystemsSystems PC Ecosystem (desktop, web, PC Ecosystem (desktop, web,
mobile, home) mobile, home) XP, XP Embedded, CE (real-XP, XP Embedded, CE (real-
time)time)Development environment and Development environment and toolstools
Programming IDEProgramming IDE Debugging and optimizationDebugging and optimization
CoroWare Inc, KUKA Robot Group, Robosoft, RoboticsConnection, White Box Robotics Inc, fischertechnik, LEGO Group, MobileRobots Inc., Parallax Inc. and Phidgets Inc., tbc …
Previews: ABB, InTouch Health, Lynxmotion Inc., RoboDynamics Corp., Senseta, Trossen Robotics and Ugobe Inc., as well as with many leading universities and research institutes, including Bryn Mawr College, Cornell University, Georgia Tech, Korea Institute of Technology, Massachusetts Institute of Technology, Stanford University, University of Pennsylvania, University of Pisa, University of Southern California, and the University of Washington.
Adressing the needsAdressing the needsDevelop a software development platform (SDK) thatDevelop a software development platform (SDK) that
Extends the PC and web ecosystem to roboticsExtends the PC and web ecosystem to robotics Targets development of academic research, hobbyist, and commercial Targets development of academic research, hobbyist, and commercial
applications for roboticsapplications for robotics Supports a wide variety of robotics applications (e.g. remote presence, Supports a wide variety of robotics applications (e.g. remote presence,
security, maintenance, education, entertainment)security, maintenance, education, entertainment) Support scenarios for single robots, multiple robots, and robots operating Support scenarios for single robots, multiple robots, and robots operating
with other computing technologieswith other computing technologies Provides layered API and driver framework that Provides layered API and driver framework that
scales across multiple hardware devices and platformsscales across multiple hardware devices and platforms Is extensible; encourages third party Is extensible; encourages third party
hardware and software supporthardware and software support Hobby
To mandate how robotics software be To mandate how robotics software be constructedconstructed The system is meant to be “ala carte”The system is meant to be “ala carte”
The Microsoft Robotics StudioThe Microsoft Robotics Studio
A lightweight concurrency and services oriented A lightweight concurrency and services oriented runtimeruntime
Handling of sensory input and controlling actuatorsHandling of sensory input and controlling actuators Based on synchronous message passingBased on synchronous message passing Decentralized System Services (DSS) facilitating tasks and Decentralized System Services (DSS) facilitating tasks and
basic services such as debugging, logging, monitoring, basic services such as debugging, logging, monitoring, security, discovery, and data persistencesecurity, discovery, and data persistence
Service Composition Service Composition Services aren’t just for devicesServices aren’t just for devicesServices can be compose to form other servicesServices can be compose to form other servicesServices can represent passive or non-existent devices.Services can represent passive or non-existent devices.
Fused sensory data can be re-exposed as an independent serviceFused sensory data can be re-exposed as an independent service
Wheel Base Geometry
Robot Model Service
Runtime Services Demo Runtime Services Demo Autonomous operation & manual control Autonomous operation & manual control (Pioneer 3)(Pioneer 3)
“Learns” and begins to favors specific behavioral characteristics. Interacts with the orchestration layer
to achieve the favored patterns.
Defines and facilitates communication patterns that coordinate information processing amongst lower
Provides functionality abstraction, computational encapsulation, failure isolation, distributed and concurrent execution, via software services .
Executes algorithms that require near real-time computation and deterministic time control.
Directly interfaces with the physical robotics hardware - Sensors and Actuators.
SummarySummaryRobotics and home applications are mergingRobotics and home applications are mergingComplexity reducing software infrastrcutures are neededComplexity reducing software infrastrcutures are needed
Microsoft Robotics StudioMicrosoft Robotics Studio Extend/bridge PC/Web to roboticsExtend/bridge PC/Web to robotics Rich authoring/development toolsRich authoring/development tools Enable third parties to participate and contributeEnable third parties to participate and contribute Current Status: CTPCurrent Status: CTP