Invited talk held at the IEEE conference Hummanoids'06 in Genoa, Italy about Microsoft's recently released preview of the Microsoft Robotics Studio. Including a scalable runtime architecture supporting 8-bit up to 32-bit technologies with multi-core processors, the system provides access to simple touch sensors up to complex laser range finders. A 3D visual simulation environment and open architecture allows easy integration and simulation of newly constructed hardware platforms. While a wide variety of commercial and academic robots are already integrated within the Robotics Studio, there is a lack of humanoid platforms, yet. In this talk we will discuss the design of the software platform and the requirements to be met to integrate humanoid robots in the future.
1. HUMANOIDS‟06
Presented by
Lightweight Concurrency Andreas Heil
Alexander Brändle
Date
A Distributed Platform for Creating 04th December 2006
Robotics Applications
2. Microsoft Research Overview
Redmond
Cambridge
Beijing
San Francisco
Silicon Valley
Bangalore
• 6 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
3. Microsoft & Robotics
Experience Groups
Systems Microsoft Research
• PC Ecosystem (desktop, web, • Enabling Technologies
mobile, home) • Human Robot Interaction
• XP, XP Embedded, CE (real-time) • Personal Robotics
• Educational Robotics
Development environment and tools • Programming Environments
• Programming IDE Microsoft Robotics Groups
• Debugging and Optimization
• Microsoft Robotics Group
Existing applicable Technologies Redmond
• Center for Innovative Robotics
• Speech Carnegie Mellon University
• Real-time Communications • External Research Office
• Infrastructure Cambridge
4. 2
1
Real vacuum cleaner
Filtering unnecessary Information
Household Devices (Microwave, Fridge)
Robot with integrated Communication Capabilities1
Robot loading Dishwasher2
Tourguide3
Robot adapting to individual Needs
Gaming Robots
3 Learning about new Environments by giving a Tour to it, after that it can re-give that tour.
Humanoids – where are we?
Robot helping handicapped People
Ironing Robot
Proactive Robots
Robots understanding human Activities
24h Assistant
Companion for elderly People
* EURON Workshop 2005
5. The Microsoft Robotics Studio
A lightweight concurrency and services oriented runtime
• Handling of sensory input and controlling actuators
• Based on synchronous message passing
• Decentralized System Services (DSS) based on the
Concurrency and Coordination Runtime (CCR) facilitating
tasks and basic services such as debugging, logging,
monitoring, security, discovery, and data persistence
Authoring/development tools
• Visual programming editor
• Simulation
• Message debugging
• Technology libraries and basic algorithms
6. Existing Open Software Platform
• Robotics Hardware manufacturers (OEM)
• Robotics Hardware Distributors Applications and Tools
• Robotics Software Developers (ISVs)
• Robotics curriculum/Educational Agencies
• Community Platforms Authoring Tools
Microsoft Visual Studio Technology Libraries
Robot Models
Device Services
Runtime Environment (OEM, ISV, IRV)
CoroWare Inc, KUKA Robot Group, Robosoft, Robotic Application
RoboticsConnection, White Box Robotics Inc, Runtime
fischertechnik, LEGO Group, MobileRobots Inc.,
Parallax Inc. and Phidgets Inc., ScatterWeb, …
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.
7. Service Based Architecture
Services
Vision • Can be used to abstract hardware
Knowledge
• Can be composed and provide
Body aggregated functionality (sensor
Arm
fusion, for example)
Communication
• Are inherently remotable and
Motion participate in distributed operations
Sensors
• Restartable and mobile (state
Internal perception
transfer)
Network perception
• Must be inherently asynchronous
8. Service Based Architecture
Services are the basic building
blocks
Vision
Knowledge • Structured state
Body • Behavior
Arm
Communication • Partner services
Motion • Contracts
Sensors
Internal perception
Network perception
9. Service Based Architecture
Nodes
Vision • Services run within an execution
Knowledge context called a „node‟
Body • Nodes expose http and SOAP/TCP
Arm
endpoints
Communication
• 3,000 – 50,000 Messages/s
Motion
Sensors
Internal perception
Network perception
10. Robotics Application
An application is a composition of loosely-coupled services concurrently executing across
scopes
• Interactions described using service contacts
• Components are networked
• Provides isolation between components
> Reliability – ability to restart independently, replaceable/updatable
> Parallelism
UI
Main Port
Main Port
Service
Private Port
Code
State Main Port Service
Main Port
Code
Main Port
Private Port State
Private Port
Service
Service Code Service
Code State Code
State State
H/W H/W
* Example: Model car + sensors
11. Simulation Capabilities
• High-End Graphics Support
• Easy programmable simulation environment
• Ageia PhysX Engine
• Hardware support
• SDK free available
• Simulated Services
• Manufacturer support
• Simulated Camera View
• Generic service
12. Community Work: KHR1
* L. Lessieux, http://www.lessieux.com/mywiki/index.php?title=Microsoft_Robotics_SDK_Work
13. Outlook
• Why is Microsoft not developing their own robot?
• Microsoft Robotics Studio
> Free for personal & academic use
> Available as CTP (November CTP)
> 30,000 downloads since May „06
> Improved visualization
> Package based deployment
> Increasing adaption by HW manufacturers
> Final version end of Dec 2006
> CCR / DSS maybe available as
separate DL
> http://msdn.microsoft.com/robotics/
> Multiple languages: C#, C++, VB,
Python, VPL
> Designed to support multicore /
multiprocessor / multimachine
> Good News: Hard real time support
in future (Win CE)
> No humanoids yet
16. Robotics Studio Architecture
Orchestration
Orchestration Application
Decentralized System Services Robotic Services Services
Concurrency and
Coordination
Device Services Library Services
Activation Discovery Robot Model
Runtime
Device 1 Vision
Services
Diagnostics Storage Vis/Sim Device 2 SLAM
… …
Terminal UX
Messaging Transport
SPL
Signal Processing
Hardware Abstraction Layer
HAL
17. Layered and Distributed Application
“Learns” and begins to favors specific behavioral
characteristics. Interacts with the orchestration layer
to achieve the favored patterns.
Behavior Control Layer
Defines and facilitates communication patterns that
coordinate information processing amongst lower
level services.
Orchestration Layer
Provides functionality abstraction, computational
encapsulation, failure isolation, distributed and
concurrent execution, via software services .
Services Layer
Executes algorithms that require near real-time
computation and deterministic time control.
Signal Processing Layer
Directly interfaces with the physical robotics
hardware - Sensors and Actuators.
Hardware Abstraction Layer
18. Service Composition
• Services aren‟t just for devices
• Services can be compose to form other services
• Services can represent passive or non-existent devices
> Fused sensory data can be re-exposed as an independent service
Trajectory
Drive
Pose
Motor
Services
Encoder Steering Servo
Robot Model Service
Robot Model
Wheel Base Geometry
19. Authoring Environment
Standalone & Visual Studio
integrated
Scales with programmer skill Visual Studio
• Helps beginners with drag/drop
IDE
programming
• Assists advanced developer with
service orchestration Robot Package
Robot Model Designer Code Generator
• Conceptually consistent with
conventional programming
Tool Box
Application Designer Debugging services
languages
Packages
Service Contract Visualization and
• Context based toolbox Designer Simulation
Support Rapid Application Deployment Designer Code Downloader
Development via visual
programming, simulation and
visualization.
Supports programming of
distributed scenarios
Extensible to support other
hardware