Top » Catalog » Microsoft Robotics Studio for Phidgets Contact Us  |  My Account  |  Cart Contents  |  Check Out   
Categories
Interface Kits-> (8)
Sensor (26)
Kits (6)
LCD / LED-> (3)
Motor Control-> (3)
RFID-> (5)
USB Sensors (5)
Accessories (3)
Manufacturers
What's New? more
Phidget InterfaceKit 0/0/8
Phidget InterfaceKit 0/0/8
US$84.08
Quick Find
 
Use keywords to find the product you are looking for.
Advanced Search
Information
Shopping Guide
Privacy Notice
Conditions of Use
Contact Us
Microsoft Robotics Studio for Phidgets Microsoft Robotics Studio for Phidgets

Phidget Support for Microsoft Robotics Studio


Supporting Microsoft Robotics Studio (1.0)


Phidgets are now easily incorporated into the Microsoft Robotics Studio. Phidgets approach to modular hardware meshes with the three key features of the the Robotics Studio; End-to-End Robotics Development Platform, Lightweight services-oriented runtime, and Scalable and extensible platform. Academic, hobbyist, and commercial developers can now create sophisticated robotics software applications and quickly transform them to the real world with Phidgets hardware.

If you want to learn more about MicrosoftR Robotics Studio visit : http://msdn.microsoft.com/robotics/


Setting up your Phidgets

The Microsoft Robotics Studio Phidgets interface relies on the Phidget libraries from Phidgets Inc. being installed. To install these libraries, download and run the Phidget21.msi, which is available from www.phidgets.com - Direct link here: Phidget21.msi

To install the Phidgets Microsoft Robotics Studio Services download here.


Architectural Overview

Phidget support is provided at two levels of abstraction. First, there are board level services, which handle actually opening and talking to the Phidgets themselves. There is one service for each type of Phidget supported and this service deals with every board of this type.

The second type of services provide a level of abstraction between the hardware Phidget boards and their interfaces. For example, there is a Digital Input service, which can take inputs from both the Interface Kit and Motor Controller boards. These Services provide compatibility with the Microsoft.Robotics.Services whenever possible, and so ContactSensor, Motor and Encoder are all supported, also Drive can be built on top of Motor and Encoder.


Supported Phidgets

• Phidget Interface Kits
o namespace: Phidgets.Robotics.Services.PhidgetInterfaceKitBoards

• Phidget Servo Controllers
o namespace: Phidgets.Robotics.Services.PhidgetServoBoards

• Phidget Motor Controllers
o namespace: Phidgets.Robotics.Services.PhidgetMotorControlBoards

• Phidget Encoders
o namespace: Phidgets.Robotics.Services.PhidgetEncoderBoards

• Phidget Accelerometers
o namespace: Phidgets.Robotics.Services.PhidgetAccelerometerBoards

• Phidget TextLCDs
o namespace: Phidgets.Robotics.Services.PhidgetTextLCDBoards


Abstractions

• Motor
o namespace: Phidgets.Robotics.Services.PhidgetMotor

• Servo
o namespace: Phidgets.Robotics.Services.PhidgetServo

• Contact Sensor
o namespace: Phidgets.Robotics.Services.PhidgetDigitalInput

• Encoder
o namespace: Phidgets.Robotics.Services.PhidgetEncoder


The Abstraction Level Services

These services were specifically set up to provide compatibility with Microsoft built-in robotics services. Currently, Motor, Encoder, ContactSensor and Drive are all supported. The state of these services should be set either with an initial state partner via XML, or with the replace message.

Phidgets are uniquely identified via the identifier property as such: the device serial number, followed by a two digit identifier. For example, to refer to input 5 on an interfacekit with a serial number of 18999, you would specify 1899905 as the identifier. As with the board services, if there is only going to be one Interface Kit ever plugged in, you can omit the serial number, and the identifier becomes 5.

The identifier field is sufficient for uniquely identifying a device and so the name field can be set to any descriptive string you like.

The PhidgetDigitalInput service, which implements Microsoft ContactSensor service, supports an array of inputs, rather then just one device as with the other services. This service can support any number of inputs across several Phidgets - including InterfaceKits and MotorControllers, as a single array of Contact Sensors.

Microsoft does not provide a servo service and so the PhidgetServo service does not implement any service from Microsoft, but provides an interface similar to that of the Microsoft services.

There are many examples provided by Microsoft for using their services and these will work with Phidgets just as they work with Lego, Fisher Technik, or any other supported platform.

A manifest is included in samples/congi which support the Generic Differential Drive contract, and this can be started from the control panel to use Phidgets. You will have to modify the Phidgets.Drive.Config.xml manifest file to point to your phidgets by serial number.


The Board Level Services

Each board level service deals with a particular type of Phidget - either an InterfaceKit, a Servo, a Motor Controller, an Encoder board, and Accelerometer or a TextLCD. Each board level service is only instantiated once, and will deal with opening multiple Phidgets of the same type if required.

The easiest way to use Phidgets it to simply use the abstraction level services and attach to the hardware you need on a one-to-one basis - with one service for each motor, servo, encoder, etc. However, The Board level services can be used to control the Phidgets directly, and some boards do not have abstraction level services.

The board level services can open multiple boards of the same type, so, each of these services has a State Type with an array of Devices. These Devices are objects that define each device. These objects are filled in internally by the service and as such, the replace command should not be used.

To connect to new Phidgets using the Board level services, the SelectiveSubscribe must be used. SelectiveSubscribe is simply a specialized subscribe that takes in a SelectiveSubscribeReqest object to define what is to be subscribed for. The SelectiveSubscribeReqest provides a field for the serial number, attach and detach, and any other specific events that a device provides. Once a selective subscribe request has been made, the service will first look to see if a Phidget with a matching serial number is already opened - and if not, will open it. From this point on, events will be sent to you as a subscriber.

Note that the attach event should always be caught, as it is the only real way to get the attached status of a phidget.

When setting the state of a Phidget, the request object has a serial number field and generally also an index field, which are used to uniquely identify specific devices. Note that no device state can be set until the device has been opened with a SelectiveSubscribe request.

If one board of a specific type is used - ie if only one InterfaceKit is going to ever be plugged in at once, then it is possible to leave the serial number field set to null in all of these cases, as the Phidget can be uniquely identified as the only one of that type.

The abstraction level services build upon these board level services, and they are the interface that should generally be used to control Phidgets.

The "PhidgetTestService" project provides example usage of the board level services. This project contains one test services for each type of Phidget. The associated manifests are provided in samples\config directory.


General Instructions

• Start the DSSHost.

• Navigate to http://localhost:50000/controlpanel.

• Locate the Phidget Test Service you are interested in running. Chose the associated manifest from the dropdown and click the Create button.

• Locate the running instance and click on the link.

• You will now be directed to the Phidget Test Service UI page.



Continue
Shopping Cart more
0 items
Bestsellers
01.Touch Sensor
02.Force Sensor
03.PhidgetRFID Kit
04.Vibration Sensor
05.Temperature Sensor
06.RFID Tag - 30mm Disc
07.Phidgets 0/0/4
08.LV-MaxSonarR®-EZ1™
09.Phidget Accelerometer
10.Phidget InterfaceKit 8/8/8
Specials more
4-Motor PhidgetServo Kit
4-Motor PhidgetServo Kit
US$152.76
US$145.07
Reviews more
There are currently no product reviews
Languages
tchinese English
Currencies
Home : RFID : Account : Examples : Shipping & Order Info : Contacts
Copyright © 2006-2008 IDM Store All Rights Resvered.