This workshop combines actually three existing projects. The intention of the workshop is, to build up a small communication network between the SensorPlanningService
(SPS), the MobileSensorPlatform
(MSP2) and the VideoOnDemandSensorObservationService
(VOD). With this it is possible to task the sensors and control the MSP itself from a client via an SPS plugin.
(MSP2) is a chain driven robot which serves as a platform for various sensors. It currently has an installed camera, a light sensor, some distance sensors on board. The MSP can be tasked via W-LAN (router on board).
The following subsections describe the sensor how it behaves, what parameters it needs to be tasked, etc.
For the beginning the use case is more simple, so we can concentrate on the service communication and project structure.
First use case is to control the bots chains for a simple navigation. The client has one control element for each chain, so it is possible to increase/decrease chain speed individually. With these the MSP can turn on the spot and navigate like a tank (same control principle).
First the client sends a Submit command to the SPS and continues to task the MSP by sending an Update request with the corresponding TaskID responded by the SPS (a real time navigation control via SPS wouldn't be a normal usecase but for testing this issue doesn't matter). In addition to this, it is possible to control both chains by only increasing/decreasing chain speed. A stop command can stop the MSP directly.
The SPS serves as middle instance between the MSP and the client tasking the MSP as sensor. The plugin implementation defines the logic and controls behaviour of the MSP. The plugin checks incoming Submit/Update requests for correct parameters and delegates them to the MSP logic which sends specific commands to the MSP. Each task has a maximum time period to run. When no UpdateRequest extend the period, the task will run out, e.g. when no more control updates come in, the plugin will stop the MSP.
The VOD records a video stream from a camera, which could be requested by sending a GetObservation request to the service. For each task the video stream can be resolved by sending a GetResultAccess to the SPS with the corresponding TaskID. The sensor stores to each task an individual URL where the recorded video can be reviewed (video on demand).
For now only the simple chain control parameters are taskable. Other parameters – e.g. to task the camera or an other sensor installed on board – are planned. Furthermore, a ResultAccess video shall only contain the recorded situation of the time interval while the task was running.
All parameters are SweCommon types (version 1.0).
The client can retrieve all taskable parameters by sending a DescribeTaskingRequest with a corresponding SensorID of a registered sensor. To retrieve a SensorID send a GetCapabilities request to the SPS. The response contains a list of all registered sensors and a list of phenomena all the registered sensors gather data for.
- A time interval constraint video request will be implemented. The MSP2 will then only record the stream of the time interval in which a task is valid. The interval can dynamically constrained by a static maximum duration of a task plus extending it by requesting several Update tasks. Each getResultAccess will return a video request URL especially to a video of that time interval
The complete workshop could be downloaded via checkout from 52North SVN. Get the eclipse project by typing
svn co https://52north.org/svn/swe/incubation/MSP2-SPS-VOD_workshop/
or browse the SVN directly by pointing your browser to the address above.
To retrieve the SPS lib dependencies, checkout the SPS project from SVN
, or build a webapp/eclipse project from the SPS installer
: There'll be an official release for the installer version soon. So keep up with new branches of the SPS in the SVN
- 27 May 2008