This specification describes the VariableTypes RelativeValueType (described in 7.1), which provides a Variable to reference to instances of VariableTypes and the SpatialLocationType (described in 7.2) which must be subtyped to use with the Relative Spatial Location AddIns.

This specification describes Relative Spatial Location AddIns (described in 6.1 and 6.2), which can be added to objects instantiated in an OPC UA AddressSpace to bring these objects in a spatial relationship. Supervision is, that all systems, which need a relative spatial location description for the objects of interest, can use these AddIns in a standardized way.

For a concrete description of a frame, which can be used with the Relative Spatial Location AddIns, the VariableType CartesianFrameAngleOrientationType (described in 7.3) is provided, describing the position by cartesian coordinates and the orientation by angles. Annex B provides a concrete mathematical definition for use of this type.

To introduce the RSL concept and the Information Model, the example in Figure 1 has been introduced. It shows an example of objects and their relative spatial locations.

The example shows a table with its location (green coordinate system at the foot of the table) relative to the base coordinate system (blue coordinate system below the table) and a defined attach-point at the corner of the table (red coordinate system) on which a chess board and chess pieces are placed. Other objects can be defined in relation to the attach-point at the corner of the table, such as the brown queen or the chessboard.

For an object (e.g. the chess board) positions (e.g. fields) can be defined as attach-points, which span up coordinate systems where other objects (e.g. chess pieces) can be placed i.e. their positions will be described with respect to the attach-point.

The chess pieces on the board can be related to the chess board or to a field on the board, so changing the position of the board would have no impact on the position of chess pieces, which are related directly or indirectly to the chess board. Changing the position of the table would not impact the relative positions of all those objects, which are directly or indirectly related to the table position.

The yellow arrow describes an alternate frame for the position of the white king, related directly to the base reference coordinate system (blue).

Annex C provides detailed example views for the use of the Relative Spatial Location concept described with this example of a chess board on a table.


Figure 1 – Example of a chess table with relative positions of objects


Figure 2 – RelativeValueType and SpatialLocationType Overview

The RelativeValueType provides a Variable to describe relationship of the Value and is described in 7.1

The SpatialLocationType provides Variables to describe a location and is described in 7.2. The Variable Base shall point to the node, on which this location is based. A subtype of SpatialLocationType is needed to use the Relative Spatial Location AddIns.

The CartesianFrameAngleOrientationType, described in 7.3, provides a discrete description of a frame, with a position defined by cartesian coordinates and an orientation defined by Euler angles, and unique maths.

Annex E describes how other subtypes of SpatialLocationType can be created and used with ConformanceUnits of the RSL concept.

Figure 3 shows an overview of Relative Spatial Location AddIns by using the CartesianFrameAngleOrientationType as a subtype of the SpatialLocationType and which ConformanceUnits are defined to describe implemented instances.


Figure 3 – Relative Spatial Location Information Model overview

The folder RelativeSpatialLocations, described in 8.1, shall be used to organize all instances of SpatialObjectsListType in one server and may be used as a standard entry point to all type instances described by this model.

The SpatialObjectsListType AddIn, described in 6.2, organizes all instances of SpatialObjectType which are directly or indirectly related to a common coordinate system (WorldFrame). It is recommended to implement in one instance of SpatialObjectsListType only one kind of a discrete subtype instance of SpatialLocationType, e.g., the CartesianFrameAngleOrientationType.

The SpatialObjectType Addin, described in 6.1, can be used to enhance any object in address space with a relative spatial location description.