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.

Screen without authentication

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.

Screen without authentication

• Interface Navigation

The application opens in its home screen. The tabs navigation widget is placed on the left, and the available tabs are the following:

  • Machine - information regarding each machine:

Machines main page

  • Help - information that helps to use the MC component

Help page

3.2. Main Workflows

• Workflow Description

  • Machines Information

The initial page of MC provides the capability to upload a .csv file.

Machines main page - empty information

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

Machines main page - machines information

  • Machines Configuration

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

Machines main page - machines information

After clicling the button, the page is the following:

Configuration main page - empty information

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

Configuration main page

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 selection

  • Configuration metrics

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

Metrics empty

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

Metrics

  • Configuration outputs

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

Outputs empty

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

Outputs

  • 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.

To calibrate

CannotCalibrate

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

Calibration page

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

Calibration page

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

Calibration configuration fields

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

Calibration metrics fields

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.

Calibration outputs fields

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

Calibration outputs error

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

Calibration output without results

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

Calibration

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

https://www.uninova.pt/

UNINOVA logo

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

/api/machine/[machineid]/calibrations

Retrieve all calibrations from a machine

Store a calibration

/api/machine/[machineid]/calibration/[calibrationid]

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
     }