17
1 Vom PC zum Roboter Vom PC zum Roboter Fraunhofer IPA Technologieforum Fraunhofer IPA Technologieforum 17.10. 2006 17.10. 2006 Alexander Brändle Andreas Heil Microsoft Research Cambridge

Vom PC zum Roboter

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.

Citation preview

Page 1: Vom PC zum Roboter

11

Vom PC zum RoboterVom PC zum Roboter

Fraunhofer IPA TechnologieforumFraunhofer IPA Technologieforum17.10. 200617.10. 2006

Alexander BrändleAndreas Heil

Microsoft Research Cambridge

Page 2: Vom PC zum Roboter

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

Page 3: Vom PC zum Roboter

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 …“

Page 4: Vom PC zum Roboter

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??

Page 5: Vom PC zum Roboter

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

Page 6: Vom PC zum Roboter

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

Page 7: Vom PC zum Roboter

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

Page 8: Vom PC zum Roboter

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”

Page 9: Vom PC zum Roboter

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

Page 10: Vom PC zum Roboter

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

Page 11: Vom PC zum Roboter

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

Page 12: Vom PC zum Roboter

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

Page 13: Vom PC zum Roboter

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

Page 14: Vom PC zum Roboter

1414

http://msdn.microsoft.com/roboticshttp://msdn.microsoft.com/robotics

Page 15: Vom PC zum Roboter

1515

Example fischertechnikExample fischertechnik

Page 16: Vom PC zum Roboter

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.

Page 17: Vom PC zum Roboter

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!