Skip to main content

Further developments

This page provides a brief overview of the software created during the project. It is made available open source and free of charge primarily on GitHub and various other platforms. For instance, we generate our DOIs with the help of Zenodo and provide our container images using Docker Hub. That serves others to use and benefit from the project outcomes. For more information, see the respective repositories linked below.

Officially released code

This codebase combines all the code written for or used in the EMPIR project 17IND12 Metrology for the Factory of the Future to enable pulling/cloning all the code and all coding related documents at once.

The following sections on this page list the most important of the contained software projects and link to their latest upstream sources, which are not necessarily the latest official releases in the Metrology for the Factory of the Future project.

Those latest official releases of the project partners' code you find in the correspondingly named subfolders of this GitHub repository.

Firmware for the Met4FoF SmartUp Unit

This software contains code for the firmware of the micro-controller board, which we call the "SmartUp Unit". The software is available in a GitHub repository. An installation guideline can be found in the corresponding wiki. The software is created with SW4STM32 (gcc). The underlying concept and its implementation has been published on Zenodo.

Met4FoF SmartUp Unit datareceiver

This repository contains the software needed to receive the measurement data from the Met4FoF SmartUp Unit. In this way, it can be viewed as a Python driver to make the measurement data available to other software like agentMET4FOF, as demonstrated in another repository. An introduction can be found on GitHub here.

There is also an example data set for testing and a quick start with its use explained here.

Analysis of redundant data

This software package contains software tools that can be used to analyze measurement data which contain redundancy. The main part of the development has been performed at VSL (Netherlands), with help of the partner institutes NPL (UK), PTB (Germany) and UCAM (UK). The software is provided as a GitHub repository. The methods will are integrated into agentMET4FOF for a future release soon.

A scientific publication explaining the ideas behind this software can be found here and here.

The main documentation can be found at ReadTheDocs.

Bayesian Noise and Jitter removal algorithm – MCMCNJ

This software implements an algorithm to reduce timing and noise effects in the data recorded by sensors in industrial sensor networks. A Bayesian approach is used to estimate parameters describing the levels of jitter and noise in the measured signal and parameters of a model for the underlying ‘true’ signal, which are used to provide estimates of the values of the true signal.

The software, developed in Python 3.8, is provided in the form of py-files in a GitHub repository. It is intended to be used within the multi-agent framework for the FoF project and thus is integrated into agentMET4FOF since its release v0.12.0.

For further details about the algorithm, please refer to the paper.

ZeMA Testbed Bayesian Machine Learning

This is an implementation of Bayesian machine learning for the ZeMA dataset on condition monitoring of a hydraulic system. The software is provided as a GitHub repository.

Anomaly detection with agentMET4FOF

With the provided code we showcase an agent-based machine learning approach for online anomaly detection of (in our case simulated) sensor readings. The software is provided in a GitHub repository.

Interconnect hardware sensors with agentMET4FOF

This is an implementation of an agent-based approach to interconnect hardware sensors from the manufacturer Seneca and processing the produced data streams including sensor data buffering as part of the agents' implementation. The software is provided as a GitHub repository.

Agent-based condition monitoring for the ZeMA testbed

This is an implementation of the agent-based approach for the ZEMA dataset on condition monitoring of a hydraulic system. The software is provided as a GitHub repository.

Agent-based machine learning

This is an implementation of an agent-based approach to machine learning utilizing the external Python library scikit-multiflow. The software is provided as a GitHub repository.

Agent-based processing of the SmartUp Unit's data

This software connects the SmartUp Unit developed in WP1 to the agent framework agentMET4FOF from WP2. The code is provided via a GitHub repository.

PyDynamic

The goal of this package is to provide a starting point for users in metrology and related areas who deal with time-dependent i.e., dynamic, measurements. The initial version of this software was developed as part of a joint research project of the national metrology institutes from Germany and the UK, i.e. Physikalisch-Technische Bundesanstalt and the National Physical Laboratory.

Further development and explicit use of PyDynamic is part of the European research project EMPIR 17IND12 Met4FoF and the German research project FAMOUS.

The documentation for PyDynamic can be found on ReadTheDocs.

The software can be found on GitHub.

An introduction to its use we provide in the docs and a seperate tutorial repository on GitHub as well.

Strathcylde AFRC machine learning tutorials

Machine Learning tutorials oriented at begginers in data science. Methods are applied on Strathcylde's testbed data (Advanced Forming Research Centre | University of Strathclyde).

The Jupyter Notebooks are available on GitHub.

ZeMA machine learning tutorials

Machine Learning tutorials oriented at begginers in data science. Methods are applied on ZeMA's testbed data on Zenodo (Zentrum für Mechatronik und Automatisierungstechnik gGmbH).

The Jupyter Notebooks are available on GitHub.

A metrologically enabled time-series metadata scheme

time-series-metadata is a Python implementation of a metadata scheme for time-series with measurement uncertainties. It is developed jointly by software developers and researchers from Physikalisch-Technische Bundesanstalt (Germany) and Institute for Manufacturing (UK) as part of the joint European Research Project EMPIR 17IND12 Met4FoF and the German research project FAMOUS.

time-series-metadata is written in Python 3 and strives to run with all Python versions with upstream support. Currently it is tested to work with Python 3.5 to 3.8.

We provide access to the code hrough a GitHub repository.

time-series-buffer - a metrological time-series buffer

This package provides support for time-series buffering based on the build-in Python collections.deque.

The package is developed and maintained at the "Physikalisch-Technische Bundesanstalt" by Björn Ludwig and Maximilian Gruber.