How to retrieve service contracts and operations from a service assembly?
I came to this question when looking for the generic contract for SONAR. It is actually defined in the assembly RoboticsCommon.dll. All the generic contracts I use are defined in this assembly, and the command DssInfo can be used to retrieve this information:
C:\Microsoft Robotics Studio (1.5)\bin>dssinfo /v:m RoboticsCommon.dll Reflecting: RoboticsCommon.dll
Service: DriveDifferentialTwoWheel DssContract: http://schemas.microsoft.com/robotics/2006/05/drive.html Namespace: Microsoft.Robotics.Services.Drive -------------------------- -----------------------------------------------
Contract Only: Generic Analog Sensor Array DssContract: http://schemas.microsoft.com/robotics/2006/06/analogsensorarray.html Namespace: Microsoft.Robotics.Services.AnalogSensorArray
Contract Only: Generic Articulated Arm DssContract: http://schemas.microsoft.com/2006/06/articulatedarm.html Namespace: Microsoft.Robotics.Services.ArticulatedArm
Contract Only: Generic Battery DssContract: http://schemas.microsoft.com/2006/06/battery.html Namespace: Microsoft.Robotics.Services.Battery
Contract Only: Generic Contact Sensors DssContract: http://schemas.microsoft.com/2006/06/contactsensor.html Namespace: Microsoft.Robotics.Services.ContactSensor
Contract Only: Cross Service Coordination Helper DssContract: http://schemas.microsoft.com/robotics/2006/07/coordination.html Namespace: Microsoft.Robotics.Services.Coordination
Contract Only: Generic Analog Sensor DssContract: http://schemas.microsoft.com/robotics/2006/06/analogsensor.html Namespace: Microsoft.Robotics.Services.AnalogSensor
Contract Only: Generic Encoder DssContract: http://schemas.microsoft.com/robotics/2006/05/encoder.html Namespace: Microsoft.Robotics.Services.Encoder
Contract Only: Generic Motor DssContract: http://schemas.microsoft.com/robotics/2006/05/motor.html Namespace: Microsoft.Robotics.Services.Motor
Contract Only: http://schemas.microsoft.com/robotics/mscategories.html DssContract: http://schemas.microsoft.com/robotics/mscategories.html Namespace: Microsoft.Robotics.Services
Contract Only: http://schemas.microsoft.com/robotics/2006/07/physicalmodel.html DssContract: http://schemas.microsoft.com/robotics/2006/07/physicalmodel.html Namespace: Microsoft.Robotics.PhysicalModel
Contract Only: Generic WebCam DssContract: http://schemas.microsoft.com/robotics/2006/05/webcamservice.html Namespace: Microsoft.Robotics.Services.WebCam
Contract Only: Generic Sonar DssContract: http://schemas.microsoft.com/robotics/2006/06/sonar.html Namespace: Microsoft.Robotics.Services.Sonar
Contract Only: Generic Stream DssContract: http://schemas.microsoft.com/robotics/generic/2006/12/dssstream.html Namespace: Microsoft.Robotics.Services.DssStream
And operations can be inspected using the following flag:
C:\Microsoft Robotics Studio (1.5)\bin>dssinfo /v:n RoboticsCommon.dll Reflecting: RoboticsCommon.dll DSS CONTRACT Verbosity ShowWarnings Assembly: c:\microsoft robotics studio (1.5)\bin\roboticscommon.dll
Service: DriveDifferentialTwoWheel DssContract: http://schemas.microsoft.com/robotics/2006/05/drive.html Namespace: Microsoft.Robotics.Services.Drive ServicePrefix: /DriveDifferentialTwoWheel Singleton: False Partner(s): [InitialStatePartner] CreateAlways http://schemas.microsoft.com/xw/2005/01/subscriptionmanager.html UsePartnerListEntry http://schemas.microsoft.com/robotics/2006/05/motor.html UsePartnerListEntry http://schemas.microsoft.com/robotics/2006/05/motor.html [UsePartnerListEntry] http://schemas.microsoft.com/robotics/2006/05/encoder.html [UsePartnerListEntry] http://schemas.microsoft.com/robotics/2006/05/encoder.html ServicePort: DriveOperations Lookup: DsspDefaultLookup Drop: DsspDefaultDrop Get: HttpGet Submit: HttpPost Subscribe: ReliableSubscribe Subscribe: Subscribe Get: Get Update: Update Update: EnableDrive Update: SetDrivePower Update: SetDriveSpeed Update: RotateDegrees Update: DriveDistance Update: AllStop -------------------------- -----------------------------------------------
Contract Only: Generic Analog Sensor Array DssContract: http://schemas.microsoft.com/robotics/2006/06/analogsensorarray.html Namespace: Microsoft.Robotics.Services.AnalogSensorArray Singleton: True ServicePort: AnalogSensorOperations Lookup: DsspDefaultLookup Drop: DsspDefaultDrop Get: Get Replace: Replace Subscribe: ReliableSubscribe Subscribe: Subscribe
Contract Only: Generic Articulated Arm DssContract: http://schemas.microsoft.com/2006/06/articulatedarm.html Namespace: Microsoft.Robotics.Services.ArticulatedArm Singleton: True ServicePort: ArticulatedArmOperations Lookup: DsspDefaultLookup Drop: DsspDefaultDrop Get: Get Replace: Replace Update: SetJointTargetPose Update: SetJointTargetVelocity Update: SetEndEffectorPose Query: GetEndEffectorPose Subscribe: ReliableSubscribe Subscribe: Subscribe
Contract Only: Generic Battery DssContract: http://schemas.microsoft.com/2006/06/battery.html Namespace: Microsoft.Robotics.Services.Battery Singleton: True ServicePort: BatteryOperations Lookup: DsspDefaultLookup Drop: DsspDefaultDrop Get: Get Replace: Replace Subscribe: Subscribe Update: SetCriticalLevel
Contract Only: Generic Contact Sensors DssContract: http://schemas.microsoft.com/2006/06/contactsensor.html Namespace: Microsoft.Robotics.Services.ContactSensor Singleton: True ServicePort: ContactSensorArrayOperations Lookup: DsspDefaultLookup Drop: DsspDefaultDrop Get: Get Replace: Replace Update: Update ContactSensorUp dated Subscribe: ReliableSubscribe Subscribe: Subscribe Get: HttpGet
[...]
You might also want to try this:
dssinfo /v:m *.proxy.dll
Add as favourites (206) | Quote this article on your site | Views: 7805
Only registered users can write comments. Please login or register.
Related Items:
- Jobs: Two Chair positions for new Centre for Computational Neuroscience and Co
- Birmingham Fellows in Robotics and Cognitive Systems
- Finding papers about consciousness and robotics
- Paladyn. Journal of Behavioral Robotics
- International Journal of Social Robotics
- Cognitive Robotics and Machine Consciousness
- Cognitive Robotics
- Polymorphic Robotics
- Urbi goes Open Source
- The Tower of Hanoi for Robotics
|