There are basically three types of messages that a
client device can send to a server device: commands or
requests for getting and setting property values. XIRP
specifies the structure of these messages and the
corresponding reply messages. On top of the basic
specification, device type or application domain
specific agreements can be defined.
2.3 Communication Channels
When connecting two devices, one device takes the
role of the client and the other one the role of the
server. The main communication channel (command
channel) allows the client to “control” the server by
sending command messages, which triggers the
execution of an action (command) on the server
device, or getting and setting the value of properties
on the server.
To enable the PnP integration of devices,
automatic discovery via UDP multicast is supported
like in UPnP, but XML is used for the message
representation without the SOAP overhead.
Similarly, device and service descriptions and other
files can be retrieved via HTTP. It is furthermore
possible to transfer files from a client device to a
server device via HTTP.
A client device can subscribe individual events by
sending a subscription message to the server over the
command channel. If the server device confirms the
subscription, the client device will receive these events
on the event channel. In addition a XIRP client can also
send events to a server device. Before an event can be
sent, the client announces it to the server via the
command channel, so that the server can be prepared to
receive the event on the event channel.
In robotics applications there is also demand for
the periodical transmission of data on a defined rate
and under some time constraints. This can be done
via a periodic channel. Similar to event subscription,
periodical data are also subscribed (for receiving) or
registered (for sending) using appropriate messages
on the command channel.
Device
Periodic C hannel (TC P/UDP)
Even t Cha nne l (T CP)
Comma nd Ch annel (TCP )
Fi le C ha nnel ( HTT P, Po rt 80 )
Discovery Channel (UDP, Port 6800)
Device
Client Server
Figure 4: Communication channels.
Most robotics applications nowadays can be
supported using these communication channels. For
applications that have special requirements, we also
allow the creation of additional channels via the
command channel. These channels would use other
standardized protocols. One example is the time
synchronization channel that can use the PTP
(Precision Time Protocol) protocol of IEEE 1588, to
adjust the clocks in a distributed system and create a
common time basis. A binary channel using a
standardized binary transfer protocols could be also
created, even when binary data can be embedded
into XML messages using Base64 coding and
transferred via the above mentioned standard
channels too. These additional channels and the
corresponding protocols have to be specified in the
description of the devices, and can only be used, if
both sides of a communication session support them.
2.4 Device Profiles
The definitions described in the XIRP specification
are specified as mandatory or optional agreement.
Mandatory definitions have to be implemented as
specified. Optional agreements don’t have to be
supported, but if such a definition is implemented, it
has to be done according to the XIRP specification.
Furthermore, the definitions are grouped into so-
called device profiles and organized into Basic
Profile, Class Profiles and Custom Profiles as
depicted in Figure 5.
Bin PickingPart Identification Motor Inspection Seam Tracking
Class Profile
Sea m Trac king
Cl a ss P r o fi l e
2D Image Processi ng
Custom Profile
Part R ec og nit i on
Custom Profile
Motor Inspection
Basic Profile
General Agreements
Custom Profile
Bin Picking
Figure 5: Device profiles.
The Basic Profile contains general agreements
that are mandatory for all devices that claim
conformity to the XIRP specification. It specifies the
basic commands for the connection establishment
and parameters for the control of common functions
of XIRP-confirm devices. Also specified as general
agreements are aspects like
-
Schema and rules for description of devices
-
Supported communication channels
-
Basic structure of communication messages
-
Message synchronization
-
Termination of communication messages
-
Language selection for comments
-
Parameters for connection management
TOWARDS A STANDARDIZED AND EXTENSIBLE MECHANISM FOR ROBOT DEVICE INTEGRATION - A
XIRP-based Approach and Test Bed Implementation
237