E-Mail Correspondance: R.Schmitt@wzl.rwth-aachen.de
Model-Based Interfacing of Large-Scale Metrology Instruments
Abstract
Metrology assisted assembly systems constitute cyber physical production systems relying on in-process sensor data as input to model-based control loops. These range from local, physical control loops, e.g. for robots to closed-loop product lifecycles including quality management. The variety and amount of involved sensors, actors and data sources require a distinct infrastructure to ensure efficient, reliable and secure implementation. Within the paradigm of Internet of Production a reference architecture for such an infrastructure is established by four layers: Raw data (1), provisioning of proprietary systems (2), data aggregation and brokering (3) and decision support (4). In modern metrology assisted assembly systems, a virtual reference frame is constituted by one or multiple predominantly optical Large-Scale Metrology instruments, e.g. laser trackers, indoor GPS or multilateration based on ultra wideband communication. An economically efficient implementation of the reference frame can be achieved using cooperative data fusion, both by increasing the operative volume with existing systems and by optimizing the utilization of highly precise and therefor typically cost-intensive instruments. Herewith a harmonization is required as well from a physical perspective as in terms of communication interfaces to the raw data provided by the individual instruments. The authors propose a model-based approach to obtain a protocol-agnostic interface description, viewing a Large-Scale Metrology instrument as an abstract object oriented system consisting of one or multiple base units and mobile entities. Its object-oriented structure allows a realization of the interface in arbitrary structured communication protocols by adhering to fixed data transformation schemes. This approach is evaluated for MQTT (structured by topics), OPC UA (structured by data model) and HTTP/REST (structured by URLs) as key protocols within the internet of things. Moreover, the transformation between different protocols decouples software requirements of measurement instruments and actors, generally allowing a more efficient integration into cyberphysical production systems.
keywords:
Large-Scale Metrology, Internet of Production, Cyper Physical Production Systems1 INTRODUCTION
Large-Scale Metrology, in addition to its traditional applications, has become a backbone of novel manufacturing paradigms [1, 2, 3]. At the same time, the resulting cyberphysical production sytems are of growing complexity, accommodating increasing numbers of heterogeneous sensors and demanding interoperability [4]. Reference architectures as presented in section 1 formalize the data flow of such systems accounting for a large number of heterogeneous entities. An efficient implementation of such manufacturing systems requires apropriate communication interfaces to the Large-Scale Metrology Instruments. Throughout this paper, a protocol- and device-agnostic approach is described by apropiately modeling IoT protocols and instruments.
From the perspective of information technology, a measurement can be interpreted as self-contained microservice with defined capability and opaque system details, which is required to interoperate with other services [5]. Evertz et al. deduce three main concerns for their operability: The representation of data over a communication wire, the order and type of individual items in a message, and the physical meaning and scale of these items [6]. Regarding the latter question, an interface model based on a physical view of a Large-Scale Metrology instrument is developed in section 4. The first two issues are addressed by IoT protocols, e.g. OPC UA and MQTT. Common protocols are reviewed in section 3 to decouple the defined interface model from a specific protocol by establishing an abstraction layer. This allows the realisation of the microservice interface using mature and widely supported standards and thereby to reduce implementation effort and development environment confinements.
The entire approach is validated for a laser tracker in section 5 used in a cloud-based machine tool calibration application.
2 CYBER-PHYSICAL SYSTEMS AND INTERNET OF PRODUCTION
Within the concept of the Internet of Production, a semantic four-layer architecture for cyberphysical production systems shown in figure 1 is proposed [4]. The first layer represents the raw data sources, including sensor data, product and process information. It is followed by a provisioning layer, which is required to enable access to different data sources with heterogeneous communication patterns and protocols. Within the third level, the aggregated data is processed, e.g. using model-based data reduction or learning algorithms to serve as foundation of data-driven decisions associated with the top layer. The latter is constituted by applications supporting a human user taking a decision and algorithms for automated system control, effectively leading to closed-loop behaviour as the raw data on the lowest level provides feedback signals. The data flow occuring in industrial Large-Scale Metrology can be associated to the aforementioned model: Measurement instruments, nominal models and process descriptions represent the raw data. Geometric analysis and further processing of the measured coordinates reside in the third layer. A digital Geometric Design & Tolerancing report is an example for user-oriented decision support, while metrology-assisted autonomous vehicle and robot guidance are exemplary autonomous systems within the top layer [7].
The model-based interface proposed by the authors addresses the data provisioning layer. With the high variety of existing Large-Scale Metrology instruments and their proprietary interfaces, the integration of a new device into an existing system poses a significant effort [1, 8]. Even if the communication over the network is harmonized using common IoT protocols, the interface model,i.e. structure, identifiers and definition of functions and variables can differ and thereby require a manual adaption of existing applications in the processing layer when the instrument providing the data changes. This impacts the selection of a device via its indirect cost, conflicting with the ambition to choose a measurement instrument solely based on the metrologic capabilities required by the application [9]. By structuring the device interface using a generalized functional model prior within the utilized IoT protocols as proposed in section 4, this limitation can be overcome.
3 PROTOCOL-AGNOSTIC INTERFACE IMPLEMENTATION
IoT protocols enable multilateral interfacing among the devices and applications within the defined layers by defining how data is exchanged on an information technical level. Within most of the protocols, common characteristics can be identified from a practical perspective. In their following descriptions, the term message refers the entirety of data transmitted including protocol-related overhead.
| Publish/ Subscribe | Request/ Response | Authentication/ Authorization | Structured Identifiers | Serialization Model | Function Invocation | CRUD Data View | Model Browsing | |
| OPC UA | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | \harveyBallHalf | ✓ |
| MQTT | ✓ | ✗ | ✓ | ✓ | ✗ | \harveyBallQuarter | \harveyBallQuarter | ✗ |
| AMQP | ✓ | ✗ | ✓ | ✓ | ✗ | \harveyBallQuarter | \harveyBallQuarter | ✗ |
| HTTP/REST | ✗ | ✓ | \harveyBallFull | ✓ | \harveyBallQuarter | \harveyBallThreeQuarter | ✓ | ✓ |
| GRPC | \harveyBallQuarter | ✓ | \harveyBallHalf | ✗ | ✓ | ✓ | ✗ | ✗ |
| BLE | ✓ | ✓ | ✓ | ✗ | \harveyBallHalf | \harveyBallNone | \harveyBallNone | \harveyBallHalf |
| Action | Significance | Example(s) | |
|---|---|---|---|
| READ | V | Retrieve a variable’s current value. | HTTP GET, OPC UA read |
| UPDATE | V | Set a variable’s value. If this is not meaningful (e.g. for quantities measured by a sensor), the authorization logic should return read-only permissions. | HTTP PUT, BLE write characteristic |
| CREATE | O | Update the device/service by adding a resource. | HTTP POST |
| DELETE | O | Update the device/service by removing a resource. | HTTP DELETE |
| ON_SUBSCRIBE | V | Add a recipient to value update notifications of the variable. | MQTT subscribe, GRPC stream, OPC UA subscription |
| ON_UNSUBSCRIBE | V | Remove an update recipient. | MQTT unsubscribe |
| NOTIFY | V | Callback dispatching value changes to recipients. | MQTT publish, GRPC stream, OPC UA publish |
| ON_INVOKE | F | Invoke an implemented function. | OPC UA method, GRPC call |
Messaging Pattern
In a Request/Response pattern, the exchange is initiated by the client sending a request to a server responding according to message’s content. Multiple clients typically use independent channels. With a Publish/Subscribe pattern, channels are shared, such that the exchange is initiated by the party sending or listening to a specific message channel, often referred to as topics. A protocol can support both patterns.
Serialization Model
The minimum requirement to employ a communication protocol is a defined extraction of raw, non protocol-related data from the message. If a serialization scheme can be defined within the protocol, the raw data is directly decoded into typed data fields. Otherwise, a serialized representation can be established using general schemes such as JSON, XML or YAML.
Authentication and Authorization
Authentication is the functionality of a protocol to identify the entities participating in the message exchange. Authorization refers to the logic granting permissions to access specific resources.
Resource Identifiers
Resource identifiers are a dedicated part of the message uniquely indicating which information the raw data should contain. The two main types are structured identifiers representing a relation (e.g. web URLs) and independent identifiers (e.g. UUID4). The former may be converted to independent identifiers using injective hash functions.
Model Browsing
If a protocol supports a browsable model, the underlying resource model and potential metadata can be retrieved over the wire in addition to the resource’s data. Prominent examples are annotated REST APIs and OPC UA’s browsing capabilities.
CRUD Data Interaction
Create, Read, Update and Delete are the basic operations for interfacing from a data-oriented view. A protocol is classified as CRUD-interactive if the messages contain a part attributing the data access method.
Function Invocation
In addition to CRUD operations, a protocol may offer a method dedicated to function invocation on the message receiving party, e.g. leading to physical state changes of a system or data processing before replying.
Table 2 assesses these properties for selected IoT protocols. Figure 2 outlines the message processing to a set of explicit actions required by the microservice resource implementation. They are utilized to establish an abstraction layer decoupling latter implementation from the use of a specific protocol. A mandatory prerequisite therefore is a model of the functions and data as resources of the microservice represented in serializable fields organized using unique (preferably structured) identifiers. Table 2 explains this set of actions the resource implementation must react to. At the same time, the actions are matched with different protocol-specific methods. To reduce complexity, the authors propose a division of resources into objects, functions and variables reacting to specific subsets: Objects provide an object-oriented resource model and are the only resources allowed to possess dynamic child resources. Functions are resources that are callable with a set of argument and return values. Variables encode read and potential write access to primitive data fields. Authentication is regarded as protocol-specific task, while authorization is interpreted as resource-specific question if an action is allowed for a given combination of user and resource identifier and therefor not discussed in further detail.
Utilizing the abstraction layer, a device whose resources can be modeled in objects, functions and variables for which its internal software implements the respective subset of actions can be linked to any arbitrary protocol. The only requirements imposed are the expression of methods as aforementioned actions and handling of resource identification, authentication and serialization. Moreover, simultaneous interaction over multiple protocols is enabled as well as the deployment of adapters between protocols [10, 6].
4 FUNCTIONAL MODEL OF LARGE-SCALE METROLOGY INSTRUMENTS
The interface implementation of a Large-Scale Metrology instrument can be decoupled from a specific protocol if its functionality is modeled in objects, functions and variables as stated in section 3. Therefor two modeling perspectives exist: A physical view tightly linked to the device representing its physical layout and a functional view oriented along the information and functions (i.e. resources) expected from the device. For the simple example of a traditional 6DOF robot these perspectives translate to either modeling its position command interface as six individually controllable joints or as kinematic capable of moving its tool center point in three directions and rotate around three axes. While the first view may result in a more accurate description , the latter perspective offers the advantage of uniformly modeling different devices providing the same capabilities in a black-box manner and thereby enabling their interchangeable use, e.g. realizing a kinematic with six degrees of freedom by either a robot or a machine tool.
Thinking of instruments as microservices, a functional view around the position information111Position information is regarded as the measured position, orientation (if supported), associated covariance and, if applicable, traceability details. of the system’s mobile entities presents an essential part of a possible model-based interface. At the same time, Franceschini et al. classify LSM instruments according to their hardware organization into distributed and centralized systems [8]. This offers a device-agnostic physical perspective for the interface if centralized systems are seen as systems with exactly one measuring station. Both approaches are combined in the interface model proposed in figure 3 using an object-oriented approach with base stations and target entities as main classes. The former are instantiated by the measuring stations of the systems, e.g. indoor GPS transmitter, ultrawideband anchors or a laser tracker head.
Instances of the latter are the mobile units whose position is actually determined by the instrument, e.g. physical computing entities (PCEs) of an indoor GPS or spherical mounted retroreflectors (SMRs). These provide the generic, consistently identified interface to their current position information, regardless whether they are passive or active units222For example, the position of a SMR is measured by the angular encoders and the distance measurement system in the head of the laser tracker but is interfaced via the SMR’s object instance..
An object is interpreted as class instantiation if it contains all functions, variables and child objects defined in the class. This allows to add device-specific (i.e. inferred from a physical view) resources to the individual model-based interface while maintaining the generic functional perspective, e.g. adding digital in- and outputs of indoor GPS PCEs as variables and effectively subclassing the entity class. Especially regrading the loosely defined Large Scale Metrology Object and Generic Device Object (cf. figure 3), adding additional device resources allows for seamless embedding of the proposed interface into more complex device models.
Probes are explicitly not covered by the proposed model as they are interpreted as devices themselves which rely on one or more target entities at defined physical interfaces. Moreover, a single instrument may be used with different types of probes potentially even unknown to the manufacturer. Following the microservice paradigm, a probing coordinate measurement system could be realised by a superordinate software accessing the position information of the Large-Scale Metrology instrument over its interface after a trigger signal has been received from the probe’s device interface.
The yet not further defined calibration objects account for traceable measurements on a physical and cybersecure level. It is intended to digitally represent a calibration certificate including a cryptographinc certificate in primitive fields, which is currently subject to research [11].
5 VALIDATION FOR LASER TRACKER
The model-based interface approach described in the previous section was evaluated for an API RadianTM laser tracker. Its head is interpreted as the only base station defining the local coordinate system. The mobile entities consist of SMRs and other compatible targets, e.g. smart targets also measuring orientation. Multiple targets are used for convenience to facilitate automated network measurements and maintain the analogy to multi-target systems.
Due to the measurement principle, only one entity can be in active operational state at the time. Activating an SMR corresponds to pointing the laser tracker to its last known position and let it run its internal search routine. The operational state of the target itself corresponds to whether the laser tracker is logged in and able to measure. The initial/reset state of the instrument represents a warmed-up laser tracker logged into its home SMR. Three acquisition modes are supported: Continuous means that measurements are taken and dispatched to the abstraction layer (for read and notify actions) continuously and as fast as possible. Triggered and External acquisition modes only dispatch the measurement after a software respectively hardware trigger signal. Covariances are estimated using a model of the device based on the raw data obtained for the distance measurement and the angular encoders. Resetting a target re-runs the internal search routine. Additional functions such as a jogging the tracker or toggling the built-in camera are implemented by extending the base station object.
Figure 4 shows an flowchart for using a Large-Scale Metrology instrument’s continuous data stream taken from the application of calibrating a machine tool which was applied using a laser tracker interfacing the abstraction layer in a cloud-based Node-RED instance via HTTP/REST and MQTT [12, 13]. In a second use-case, an OPC UA based interface was used to integrate the same laser tracker into a robotic research platform to measure the deformation of a CFRP airplane panel [14]. Both use-cases showed that the device model introduced significantly reduced integration times. For future applications, two laser trackes have been added as a permanently available services to the network infrastructure of the authors’ laboratory shop floor.
6 CONCLUSIONS AND OUTLOOK
The proposed interface model for Large-Scale Metrology systems allows to decouple the implementation and structure of the instrument’s resources from the use of a specific communication protocol. Subseqently, applications can be designed independent of the used measurement device. In combination, this facilitates their integration into complex, heterogeneous industrial systems. Leveraging the relatively small set of requirements to the instrument’s minimal implementation of the defined classes, the authors will apply the interface model to a Nikon iGPSTM and PozyxTM ultrawideband systeme, such that these are available as sensor microservice to cyberphysical applications.
Acknowledgements.
The authors acknowledge funding from the LaVA project (Large Volume Applications, contract 17IND03 of the European Metrology Programme for Innovation and Research – EMPIR). The EMPIR initiative is co-funded by the European Union’s Horizon 2020 research and innovation programme and the EMPIR Participating States. The authors would like to thank the German Research Foundation DFG for the kind support within the Cluster of Excellence Internet of Production - Project-ID: 390621612.References
- [1] Schmitt, R. H., Peterek, M., Morse, E., Knapp, W., Galetto, M., Härtig, F., Goch, G., Hughes, B., Forbes, A., and Estler, W. T., “Advances in Large-Scale Metrology – Review and future trends,” CIRP Annals 65(2), 643–665 (2016).
- [2] Huettemann, G., Gaffry, C., and Schmitt, R. H., “Adaptation of Reconfigurable Manufacturing Systems for Industrial Assembly – Review of Flexibility Paradigms, Concepts, and Outlook,” Procedia CIRP 52, 112–117 (2016).
- [3] Maropoulos, P. G., Muelaner, J. E., Summers, M. D., and Martin, O. C., “A new paradigm in large-scale assembly—research priorities in measurement assisted assembly,” The International Journal of Advanced Manufacturing Technology 70(1-4), 621–633 (2014).
- [4] Brecher, C., Klocke, F., Schmitt, R., and Schuh, G., eds., [Internet of Production für agile Unternehmen: AWK Aachener Werkzeugmaschinen-Kolloquium 2017, 18. bis 19. Mai ], Apprimus Verlag, Aachen, 1. auflage ed. (2017).
- [5] Wolff, E., [Microservices: Grundlagen flexibler Softwarearchitekturen ], dpunkt.verlag, Heidelberg, 1., korrigierter nachdruck ed. (2016).
- [6] Evertz, L. and Epple, U., “Semi-automatic development of service adaptors from property-based service descriptions,” in [2015 IEEE 20th Conference on Emerging Technologies & Factory Automation (ETFA) ], 1–5, IEEE (2015).
- [7] Schüppstuhl, T., Tracht, K., Franke, J., Nicksch, C., Storm, C., Bertelsmeier, F., and Schmitt, R., eds., [Predictive Control for Robot-Assisted Assembly in Motion within Free Float Flawless Assembly: Tagungsband des 3. Kongresses Montage Handhabung Industrieroboter ], Springer Berlin Heidelberg (2018).
- [8] Franceschini, F., Galetto, M., Maisano, D., and Mastrogiacomo, L., “Large-scale dimensional metrology (LSDM): From tapes and theodolites to multi-sensor systems,” International Journal of Precision Engineering and Manufacturing 15(8), 1739–1758 (2014).
- [9] Montavon, B., Peterek, M., and Schmitt, R. H., “Communication architecture for multiple distributed large volume metrology systems,” in [2017 IEEE International Symposium on Systems Engineering ], 1–5, IEEE, Piscataway, NJ (2017).
- [10] Pfrommer, J., Grüner, S., Goldschmidt, T., and Schulz, D., “A common core for information modeling in the Industrial Internet of Things,” at - Automatisierungstechnik 64(9), 1 (2016).
- [11] Eichstädt, S., “PTB-Digitalisierungsstrategie: 681245 bytes / PTB-Mitteilungen. Band 127 (2017), Heft 4, Seite 10 bis 38. ISSN 0030-834X,” (2018).
- [12] Montavon, B., Dahlem, P., and Schmitt, R. H., “Fast Machine Tool Calibration using a single Laser Tracker,” in [13th International Conference and Exhibition on Laser Metrology, Coordinate Measuring Machine, and Machine Tool Performance ], 203–213, euspen (2019).
- [13] Blackstock, M. and Lea, R., “Toward a Distributed Data Flow Platform for the Web of Things (Distributed Node-RED),” in [Proceedings of the 5th International Workshop on Web of Things ], Unknown, ed., 34–39, ACM, New York, NY (2014).
- [14] Schmitt, R., Witte, A., Janßen, M., and Bertelsmeier, F., “Metrology Assisted Assembly of Airplane Structure Elements,” Procedia CIRP 23, 116–121 (2014).
Appendix A Entity Instrument Model Details
| FUN-Activate (bool active ) |
|---|
| Activate or deactive the entity according to active. Activating an entity should put the entity into a state that measurements are enabled. |
| Laser Tracker: Point to the last position known for the reflector and if available, start target search. |
| FUN-Reset () |
|---|
| Reset the entity to its initial state. |
| Laser Tracker: Restore the initial position of the reflector. |
| FUN-Trigger (int count, string nonce ) |
|---|
| Trigger the entity to measure count times and set the internal nonce to nonce. This call is only valid for an active target in triggered acquisition mode. |
| Laser Tracker: Dispatch the next count valid measurement results and associate these with target in question. |
| FUN-Acquisition (enum mode, string nonce ) |
|---|
| Set the acquisition mode to mode [CONTINUOUS, TRIGGERED, EXTERNAL]. Continuous means the measurements are taken continuously. In triggered mode, measurements are triggered either by software or an external signal. If the instrument does not physically support triggering, the software should wait for the next value. |
| Laser Tracker: Trigger readout of distance measurement and rotary encoders and save the result for the activated target. |
| VAR-Name (string) |
| Human readable name of the target. |
| VAR-Position (double[3]) |
| Last measured position of the target in metres. |
| VAR-Quaternion (double[4]) |
| Last measured orientation of the target as quaternion. The value should be set to (1,0,0,0) if it is not measured. |
| VAR-State (enum) |
| Current state of the target as choice of [TRIGGERED, CONTINUOUS, INACTIVE, EXTERNAL, WARNING, ERROR, MAINTENANCE]. |
| OBJ-Calibration |
| Calibration object yet not further defined |