Author
andreas-heil
View
975
Download
11
Embed Size (px)
DESCRIPTION
About the Microsoft Robotics Developer Studio, the backgrounds and research behind it and how the technological development from the personal computer towards personal robots went on.
11
Vom PC zum RoboterVom PC zum Roboter
Fraunhofer IPA TechnologieforumFraunhofer IPA Technologieforum17.10. 200617.10. 2006
Alexander BrändleAndreas Heil
Microsoft Research Cambridge
22
Microsoft Research World WideMicrosoft Research World Wide
Redmond
Silicon ValleySan Francisco
CambridgeBeijing
Bangalore6 Research Labs
3 Continents
700+ Researchers: computer scientists, mathematicians, social scientists, architects and designers, computational scientists
55+ Areas of research
Significant impact on Microsoft Products
Strong partnership with leading universities worldwide
33
The Robotics Market PotentialThe Robotics Market PotentialService and consumer markets just Service and consumer markets just emergingemerging
Remote assistance/presenceRemote assistance/presence AssistiveAssistive Facilities maintenanceFacilities maintenance SecuritySecurity EducationEducation EntertainmentEntertainment
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
0
10000000
20000000
30000000
40000000
50000000
60000000
70000000
Mar
ket S
ize
$1,0
00s
1995 2000 2005 2010 2025
Year
Worldwide Robotics Market Growth
Home
Mediacal/Welfare
Public Sector
Bio-Industrial
Manufacturing
„A robot in every home …“
44
Apropos Apropos homehome - Apropos - Apropos
robotrobotNew RequirementsNew Requirements
Ultra Heterogeneity, Distributed environments, Dynamic Configuration, Context-Awareness, Ultra Heterogeneity, Distributed environments, Dynamic Configuration, Context-Awareness, Personalization, Extensibility, Reliability, Security, Privacy protection, Usability, AutonomyPersonalization, Extensibility, Reliability, Security, Privacy protection, Usability, Autonomy……
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?
Mobile?Mobile?
Humanoid?Humanoid? Appliance?Appliance?
Intelligent?Intelligent??
55
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
Existing applicable Existing applicable technologiestechnologies
Speech SDKSpeech SDK Real-time Communications Real-time Communications
SDKSDK RFID SDKRFID SDK
Experience Groups
66
Working with PartnersWorking with Partners
Robotics hardware manufacturers (OEM)Robotics hardware manufacturers (OEM)Robotics hardware distributors Robotics hardware distributors Robotics software developers (ISVs)Robotics software developers (ISVs)Robotics curriculum/educational agenciesRobotics curriculum/educational agencies
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.
Whitebox Video
77
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
Hobby
Hobby
HobbyEducation/Entertainment
AcademicResearch
Hobby
CommercialDevelopment
88
Non-GoalsNon-Goals
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”
99
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
Authoring/development toolsAuthoring/development tools Visual programming editorVisual programming editor SimulationSimulation Message debuggingMessage debugging
Technology libraries and basic algorithmsTechnology libraries and basic algorithms Code samples and documentationCode samples and documentation
1010
Development Model Development Model Application modelApplication model
Build complex systems from smaller, Build complex systems from smaller, simpler decentralized servicessimpler decentralized services
Distribution modelDistribution model Applications are a collection of distributed Applications are a collection of distributed
servicesservices Discovery of functionality via contract and Discovery of functionality via contract and
categories, categories, Self-organizing Self-organizing Interaction via MessagingInteraction via Messaging
Programming modelProgramming model Coordination of messages Coordination of messages No manual creation of threads, locks, No manual creation of threads, locks,
semaphoressemaphores
ProgrammingProgrammingModelModel
DistributionDistributionModelModel
Application ModelApplication Model
Figure
1111
Runtime EnvironmentRuntime Environment
Orchestration ApplicationOrchestration Application
Decentralized System Services
Conc
urre
ncy
and
Conc
urre
ncy
and
Coor
dina
tion
Co
ordi
nati
on
Runt
ime
Runt
ime Activation Activation Discovery Discovery
DiagnosticDiagnostics s
Terminal Terminal
Storage Storage
UX UX
Robotic Services
Robot Robot Model Model
Vis/Sim Vis/Sim
Services
Device 1Device 1Device 2Device 2
……
Device Services
VisionVisionSLAM SLAM
……
Library Services
Messaging TransportMessaging Transport
Signal Signal Processing Processing
Hardware Abstraction LayerHardware Abstraction LayerHAL
SPL
Serv
ice
sO
rche
stra
tio
n
1212
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
Motor Encoder
Drive
Steering Servo
Trajectory
Pose
Wheel Base Geometry
Robo
t M
odel
Se
rvic
es
Robot Model Service
1313
Runtime Services Demo Runtime Services Demo Autonomous operation & manual control Autonomous operation & manual control (Pioneer 3)(Pioneer 3)
Runtime EnvironmentRuntime Environment
Arcos CoreArcos Core
Arcos Arcos BumperBumperArcos Arcos SonarSonarArcos Arcos MotorMotor
Sick-LRFSick-LRF
Pioneer Onboard CPU
SH2MotorsSonar ArrayBumper Array Speaker
Client CPU
Runtime EnvironmentRuntime Environment
Drive By Wire Drive By Wire
Joy StickJoy Stick
1414
http://msdn.microsoft.com/roboticshttp://msdn.microsoft.com/robotics
1515
Example fischertechnikExample fischertechnik
1616
Layered and Distributed ApplicationLayered and Distributed Application
Behavior Control LayerBehavior Control Layer
Orchestration LayerOrchestration Layer
ServicesServices LayerLayer
SignalSignal ProcessingProcessing LayerLayer
HardwareHardware AbstractionAbstraction LayerLayer
“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
level services.
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.
1717
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
Talk to us!Talk to us!