Machine Calibrator¶
1. Product Description¶
1.1. Solution Overview¶
The Machine Calibrator solution aims to assist machine installers and operators in the initial calibration and configuration of new machines, considering the unique requirements of each customer and factory through the application of AI techniques.
The solution consumes the inputs/outputs of the machine parameters (in csv format), that are divided into three categories: machine configuration parameters (mandatory); machine metrics (optional measurements from machine sensors and feedback systems), and machine production outputs (optional assessments regarding the quality of the produced articles and/or operations).
1.2. Prerequisites¶
• Hardware Requirements¶
Machine calibrator can run on any platform that supports Docker containers.
• Software Requirements¶
Docker client (Docker Desktop, Podman, etc.)
Python
node
npm (for frontend deployment)
The rest of software requirements are installed inside the dockers.
• External Dependencies¶
MongoDB
2. Installation¶
2.1. Environment Preparation¶
Install all software requirements from 1.2.
2.2. Step-by-Step Installation Process¶
Local Installation: Install dependencies, and launching services manually.
Docker Installation: Uses a docker-compose.yml file to deploy the application.
3. Initial Configuration¶
3.1. First Steps¶
• Login¶
Users must log in using GitLab authentication before accessing secured application features. The following picture is the main page for the users that doesn’t sign in.

To log in, click the green button in the upper right corner, which will redirect to the URL defined by Keycloak, as shown in the image.

3.2. Main Workflows¶
• Workflow Description¶
Machines Information
The initial page of MC provides the capability to upload a .csv file.

After uploading the file, the information displayed in the machine main page is the following:

Machines Configuration
To insert the configuration of a machine, you need to select the machine, and then click on the button Configuration.

After clicling the button, the page is the following:

To add configurations on the selected machine, the user needs to click on + add Configurations. The configurations are displayed as follow:

To insert the metrics and outputs for a machine configuration, you need to select the configuration and click the Metrics or Outputs button, respectively. When a configuration is selected, these buttons become available to click.

Configuration metrics
The empty page of the configuration metric is illustrated in the next figure

To add metris, the user needs to click on the button + add Metric. The result is the following

Configuration outputs
The empty page of the configuration outputs is illustrated in the next figure

To add outputs, the user needs to click on the button + add Output. The result is the following

Machines Calibration
To obtain the most suitable machine parameters, the Calibration feature is available. This feature allows you to calculate specific parameters based on user-defined outputs, settings, and metrics. To use this feature, the machine state must be ToBeConfigured. The following images represent a machine that is enabled to perform the calibration process and another machine that is unable to perform the calibration feature, respectively.


The calibration page allows to compute, based on an algorithm, the machine parameters based on historical values. The initial page of the calibration page is the following

To get the ideal machine parameters, the user needs to define which historical data is used to compute the algorithm that returns the machine parameters. The following image contains the available options regarding which configuration fields will be used to compute the algorithm

After choosing the configuration fields, they are displayed as showing in the next figure

To choose which fields are used for the metrics fields, a list of available options are displayed, as shown in the next figure

For output fields, the user not only needs to choose which output fields will be used to calculate the calibration algorithm, but must also choose the value limits, i.e. the minimum and maximum values, represented in the next figure.

The output threshold has a valiadion, which verifies if the maximum value is higher than the miminum value. If this condition doesn’t exist, the following error is displayed in the front end

If there are no values inside output threshold, an error message will be displayed, as shown in the next figure

When you click the Submit button, the machine calibration algorithm will run to provide the most appropriate configuration values for the desired machine. An example of the calibration result is illustrated in the next figure

4. General Queries¶
4.1. Installation and Configuration Contact (If Service Provided)¶
For installation, configuration or any kind of support, users should refer to the official GitLab project or the associated organization (UNINOVA).
4.2. Support¶
Company |
Website |
Logo |
|---|---|---|
UNINOVA |
|
5. Appendices¶
5.1. Glossary of Terms¶
MC: Is the acronym for AIDEAS Machine Calibrator component.
Frontend: Part of a software application that interacts directly with users, typically involving graphical user interfaces.
Backend: Part of software responsible for data processing, calculations, and logic, operating independently from the user interface.
REACT: JavaScript library for building interactive user interfaces and web applications.
Docker: Platform for containerizing applications, ensuring consistency and portability across various environments.
Kubernetes: Open-source system used to automate deployment, scaling, and management of containerized applications.
API (Application Programming Interface): Set of rules and protocols enabling interaction between different software components or services.
JSON (JavaScript Object Notation): Lightweight, text-based format for exchanging data, commonly used for web APIs.
5.2. API Documentation (if applicable)¶
URL |
GET |
POST |
PUT |
DELETE |
|---|---|---|---|---|
|
Retrieve all calibrations from a machine |
Store a calibration |
||
|
Retrieve one calibration from a machine |
Delete |
Retrieve all calibrations from a machine¶
URL params
machineid - identification of the machine - its name
Response
{ "machineCalibrations": [ { "_id": "68090749d3eb92a9ee2c15ba", "outputsAndThresholds": { "SizeZaxis": { "min": 1, "max": 500 }, "Densit": { "min": 1, "max": 1000 } }, "configurationCalibrated": { "Toollenght": 115.28, "YdistanceA0": 528.62, "YdistanceA90": 593.44 }, "parent": "Machine Lisboa", "grandparent": null }, { "_id": "680907ebd3eb92a9ee2c15c5", "outputsAndThresholds": { "SizeXaxis": { "min": 1, "max": 10000 }, "Densit": { "min": 1, "max": 1000 } }, "configurationCalibrated": { "Toollenght": 612.12, "XdistanceA90": 0.23, "YdistanceA0": 523.222 }, "parent": "Machine Lisboa", "grandparent": null } ] }
Retrieve one calibration from a machine¶
URL params
machineid - identification of the machine - its name
calibrationid - identification of the calibration id
Response
{ "_id": "68090749d3eb92a9ee2c15ba", "outputsAndThresholds": { "SizeZaxis": { "min": 1, "max": 500 }, "Densit": { "min": 1, "max": 1000 } }, "configurationCalibrated": { "Toollenght": 115.28, "YdistanceA0": 528.62, "YdistanceA90": 593.44 }, "parent": "Machine Lisboa", "grandparent": null }


