DSS Service User Interface Alternatives

Glossary Item Box

Visual Studio: Working with XML DataEdit XSLT Style SheetsDebugging XSLT

.NET Framework Developer Center: Windows Forms

Related Samples and Tutorials: Service Tutorials OverviewBasic Robotics Tutorials OverviewTechnology Samples OverviewSimulation Tutorials OverviewVPL Tutorials Overview

User Interface: Microsoft Speech API

See Also Microsoft Robotics Developer Studio Send feedback on this topic

DSS Service User Interface Alternatives

In the Decentralized Software Services (DSS) application model, User Interface (UI) components are modeled as any other sensor or actuator. They can provide input (sensor), or output (actuator), or both. By exposing UI components as services it is possible to orchestrate and compose them like other services using the DSS application model.

As part of the samples and tutorials provided with Microsoft Robotics Developer Studio, you can find several examples of User Interface (UI) components exposed in this manner as described below. Note that the list is not intended to be complete:

Windows Forms

Windows Forms (WinForms) need little introduction in that they are are the common UI for Windows-based applications. Several samples and tutorials use WinForms to provide a quick and easy UI to a local user:

Basic Directional Dialog

A basic directional dialog is defined as part of, Robotics Tutorial 4 – Drive-By-Wire, described in Basic Robotics Tutorials Overview enabling a user to drive a robot.

WinForm Directional Dialog

Simple DashBoard

As part of the Simulation Tutorial Simple Simulated Robot, a slightly more advanced WinForm shows a dashboard which can be used to drive a robot and to provide data to the user about the state of the robot.

Bb648758.image009(en-us,MSDN.10).jpg

Vision Based Tracking

The Vision based tracking sample illustrates how to write an orchestration service that can follow a user wearing a colored shirt using a mobile robot equipped with a laser range finder and a WebCam. This sample also shows the programmer how to use multiple partners such as simplevision and Text-To-Speech (TTS) and command speech recognizer services to implement a human robot interaction. The sample defines several WinForms that incorporate UI elements related to the dashboard as well as vision.

Bb648758.image003(en-us,MSDN.10).jpg

Web-Based UI

Web-based UI also requires little introduction and is particularly useful whenever multiple users may be interacting with a service. Most Web browsers now support rich UI including forms, images, audio, video, scripting, style sheets, etc. A common way of creating a web-based UI for a service is by using an Extensible Stylesheet Language (XSL), or Extensible Stylesheet Language Transformation (XSLT) over the service state creating a resulting HTML document that can be rendered in a traditional web browser. Using XSLT for creating HTML provides great flexibility in getting the look and feel you want for a particular service. By mixing in scripting languages and Cascading Style Sheets (CSS) for style, the options become virtually infinite.

Bb648758.hs-note(en-us,MSDN.10).gif Microsoft Visual Studio Professional has full editing and debugging support for XML and XSLT allowing the programmer to easily create, verify, and debug XSLTs when applying them to the state of the service.

Service Tutorial 6 (C#) - Retrieving State and Displaying it Using an XML Transform, illustrates how to use an XSLT in combination with the service state to generate an HTML-based UI. Another sample that also demonstrates the use of XSLT is the WebCam Sample that defines a DSS service that captures frames from a WebCam attached to a PC running a DSS node. The webcam uses an XSLT to interact with the camera through an HTML form and to see the output of the camera.

Microsoft XNA Framework

The rendering engine of the Microsoft Visual Simulation Environment is based on Microsoft XNA Framework enabling rich graphics-based rendering of entities in an environment that includes the NVIDIA™ PhysX™ Technologies providing real-world physics interacting between entities. See Simulation Overview.

Bb648758.image008(en-us,MSDN.10).jpg

See the Simulation Tutorials for information on how to insert new entities into the simulation environment.

Audio-Based UI

Audio-based UI is important to many robotics applications. The TTS sample demonstrates how to write a service that interacts with the Microsoft Speech API (SAPI) by converting text input to speech output.

  • Text-To-Speech Service

The speech recognition sample illustrates how to use the Speech Recognition Engine, SAPI 5.1, for doing speech recognition.

Game Controller Based UI

The DirectInput API is used to process data from a keyboard, mouse, joystick, or other game controller. The game controller sample exposes a DirectInput controller as a DSS service.

XInput is an API allowing applications to receive input from the Xbox 360 Controller for Windows. Controller rumble effects and voice input and output are supported. The XInput Controller sample exposes an XInput Controller as a DSS service**.**

See Also 

Visual Studio: Working with XML DataEdit XSLT Style SheetsDebugging XSLT

.NET Framework Developer Center: Windows Forms

Related Samples and Tutorials: Service Tutorials OverviewBasic Robotics Tutorials OverviewTechnology Samples OverviewSimulation Tutorials OverviewVPL Tutorials Overview

User Interface: Microsoft Speech API

 

 

© 2012 Microsoft Corporation. All Rights Reserved.