c0c0n3 / kitt4sme.live

On a mission to bring AI to the shop floor: https://kitt4sme.eu/
MIT License
1 stars 28 forks source link

[Tracking] Sensing solutions for machines, environment and human (D4.2) #72

Closed kostasgrevenitis closed 2 years ago

kostasgrevenitis commented 2 years ago

GHEPI use case - Injection moulding sector

The goal is to demonstrate that an effective solution of human-machine mutualism and dynamic intrinsic job rotation through easy uptake of an AI-based kit in an industrial context where operators and workers operate on the same production line. Validation of an AI model to measure human mental and physical stress levels through an experiment on the field.

Coach: • Centro di Ricerca e Innovazione tecnologica S.r.l. (CRIT)

Technology providers: • Scuola Universitaria Professionale della Svizzera Italiana (SUPSI), • Holonix Srl (HOL)

KITT4SME data sources • Empatica watches • UR5e cobot

GHEPI business is in the plastic materials field and focuses on injection moulding technology The company’s expertise is on metal replacement, injection moulding, gas-injection, two-shot injection, in-mould decoration, ultrasonic and vibration welding, and many others. In this pilot, in addition to the wearables that HOLONIX will provide, the other device is a UR5e cobot. The connection will be Socket based on RTDE based. Specifically, GHEPI features twenty-five injection moulding lines in various work cells, where operators produce a range of components with the help of manipulators, cartesian robots, and cobots. GHEPI's pilot demonstration aims to produce heavy plastic components in a multi-step production process using a work cell equipped with a 500-ton injection moulding press.

In KITT4SME, integrating a collaborative robot that can be configured quickly and adapts to the operators' needs for various types of production might assist optimize plant productivity as well as worker well-being and motivation. Apart from the platform Core, KITT4SME tools for the GHEPI pilot include the Fatigue Monitoring System (FaMS), the Sensing Layer (SL), and the Intervention Manager (IM).

By dynamically assigning jobs to operators or the cobot(s), specifically installed in the KITT4SME's updated work cell, KITT4SME introduces extrinsic and intrinsic job variations in the GHEPI's work cell. FaMS can collect data from wearable devices worn by workers and calculate their stress levels thanks to the interaction with the Sensing Layer.

Wearable devices capture physiological data in the following ways: Heart rate, blood glucose, blood pressure, respiration rate, body temperature, blood volume, sound pressure, photoplethysmography, electroencephalogram, EKG (Electrocardiogram), blood oxygen saturation, and skin conductance are all common examples of psychological data. The physiological datasets are considered personal data under the GDPR and are therefore protected. Those datasets fall within the category of sensitive personal data. These data sets comprise genetic, biometric, and health-related information. Empatica Inc wearables are used to capture the physiological data. Empatica Inc. is a healthcare-focused MIT Media Lab spinoff that provides AI-enabled solutions to improve forecasting, monitoring, research, and therapy. They develop medical-grade wearables, software, and algorithms for physiological data collecting and interpretation. Embrace2 and E4 monitor physiological signals including HRV, electrodermal activity, acceleration and movement, skin temperature, and autonomic arousal. Read more about the Empatica E4 specifications here E4_TechSpecs.

The Sensing Layer (SL) is responsible for providing access to, manipulating, storing, and routing data about the workplace and workers that comes from a variety of sources, including wearable devices and environmental sensors. Sensing Layer is designed for M2M (machine-to-machine) communication with IoT devices and works with almost unprocessed data. It supports all possible use cases involving the use of IoT sensor data for determining the assistance intervention for worker wellness during shopfloor activities, as it provides an interoperability solution (APIs and broker client) for bidirectional data exchange between devices and the KITT4SME platform.

The IM can combine this data with context data to determine system state (workers + work cell) and react to improve process performance while also ensuring the well-being of workers. Misalignments that could be attributed to high cognitive or physical demands can be recognized, and real-time interventions (e.g., job assignment shifts, equipment, or machine parameter modifications, etc.) can be organized at various levels (e.g., equipment, machine, single workstation, work cell). This allows for the production system's flexibility to be used to assist operators when their behavior deviates from optimal and/or safe performance.

Variable Short description Data type Value range Frequency
WorkerId The worker's id String N/A 1 Hz
WorkerSessionId The worker's session id String N/A 1 Hz
Worker session The worker's session. When it started and when it ended Object N/A 1 Hz
Temperature The worker's body temperature Double 34 - 44 1 Hz
GSR (galvanic skin response) The GSR refers to changes in sweat gland activity that reflects the intensity of our emotional state, otherwise known as emotional arousal. Double 0-20 1 Hz
Heartrate The worker's heart rate Double 60 - 200 1 Hz
Rr interval RR interval is the time elapsed between two successive R-waves of the QRS signal on the electrocardiogram Double We don't use it 1 Hz
Wearable accelerometer Device position Object N/A 1 Hz
Device properties Any other device related properties that might be useful Object N/A 1 Hz
Description Device description String N/A 1 Hz
Timestamp When the event was generated Object N/A 1 Hz
Metadata Any useful event metadata Object N/A 1 Hz
Variable Short description Data type Value range Frequency
Workpiece weight after injection A measurement can be performed in different ways (to be evaluated): cartesian robot force controllers, sensors on the workbench Real NA > 1 Hz
Workpiece weight after nuts and screw insertion To check sensor sensibility Real NA > 1 Hz
Force measured during drilling This measurement checks drilling completion and quality Real NA 100Hz
Nuts presence This measurement verifies that all nuts are in position (NTH) JSON NA 1Hz
Worker presence in the work cell This measurement verifies if the worker is or not in the work cell (NTH) Boolean NA 1Hz
Buffer level on the conveyor belt This measurement counts the number of workpieces on the conveyor belt Int NA 1Hz
Workpiece presence on the conveyor belt This measurement confirms the presence of the workpiece on the conveyor belt. It can be derived by the buffer level on the conveyor belt. Boolean NA 1Hz
Buffer level on the pallet This measurement counts the number of workpieces on the pallet Int NA 1Hz
Workpiece on the workbench This measurement confirms the presence of the workpiece on the workbench. Boolean NA 1Hz
Status of the cobot This measurement describes the status of the cobot. JSON NA 1Hz
Perceived exertion fatigue of the worker This data describes the perceived fatigue of the worker, measured through the Fatigue Monitoring System module. Int NA 1Hz
Process KPIs TBD TBD NA TBD
Operator assigned task This data represents the task assigned to the worker in each process cycle. Tasks could be: screwdriving; nuts positioning; workpiece movement; workpiece rotation; supervision of the cobot; setup and maintenance of the cobot, screwdriver and/or screw presenter; pallet emptying. JSON NA 1Hz
Cobot task This data represents the task assigned to the cobot in each process cycle. JSON NA 1Hz
Cobot speed This data represents the velocity assigned to the cobot. During the pilot deployment, it will be decided if this will be a % of the maximum velocity or a specific value in m/s. Real NA 1Hz
kostasgrevenitis commented 2 years ago

I-TEK use case - High precision hand tools manufacturing sector

The goal is to demonstrate a solution with a clear “business-driven objective” overtaking the barrier and the risk of vertical and technology-driven application. Expected outcomes are:

  1. a success story of AI application in a labour-intensive industrial context;
  2. a business case demonstrating the effectiveness of AI applied to knowledge management and quality control.

Coach: • Scuola universitaria professionale della Svizzera italiana (SUPSI)

Technology providers: • ROVIMATICA S.L. (ROVI)

KITT4SME data sources • Vision for Quality Excellence (VIQE) module

I-TEK makes high-precision hand tools and equipment for a variety of applications, including medical, microscopy and laboratory, electronics and semiconductor, watchmaking, and jewellery, with the support of ROVIMATICA S.L. (ROVI). I-TEK's processes are primarily labour-intensive, with workers' skills and experience being the most important crucial success variables determining production performance in terms of productivity, quality, and lead time. The pilot is based on I-tweezers TEK's manufacturing line. Various production activities are used to create these commodities. Finishing is the final step before packing, and it is a time-consuming procedure that has a considerable impact on both manufacturing costs and product quality.

By implementing AI-based digital quality control in the finishing step and building a process to identify and characterize process best practices using multiple data sources, the KITT4SME platform assists I-TEK in meeting both difficulties. The Vision for Quality Excellence (VIQE) module by ROVI, the Shop-Floor Anomaly Detection System (SADS) module by GINKGO, and the Technimetro® developed by GATE for digital upskilling are the KITT4SME tools that are used to achieve these objectives. VIQE is an AI module to be deployed within a KITT4SME kit and deployed on the edge, providing deep learning and computer vision algorithms for quality excellence. It includes interfaces to communicate with applications for purposes, as is the case of Smart-VIQE and Metro-VIQE. VIQE will be integrated within a KITT4SME kit with the main goal of delivering the quality inspection results on the platform. The communication between VIQE module and KITT4SME platform is based on NSGI v2 protocol implemented by FIWARE COMM. module in the previous architecture. Therefore, the VIQE will be communicate directly with the KITT4SME content broker.

The solution is installed in one or more specialized workstations in the tweezer production line. Cameras, 3D sensors for discrete measurements, and 2D sensors for flaw detection (precision of 0.05 mm), as well as HMI devices (PC, tablet, smartphone, or screens) and lighting systems, are all included in this system. To accomplish the quality check, the KITT4SME solution is employed, which combines AI and non-AI based models. It also offers information on the status of processing and/or the level of compliance of the items.

Finally, employing AI and merging data and information from many sources, a knowledge management system is created:

Machine learning algorithms use these data to discover best practices that may be distributed across the shopfloor to improve quality and productivity. The solution aids analysis by generating statistics on the most common mistakes or flaws, facilitating continual improvement, and feeding an AI model.

Variable Unit Data type Value range Frequency
Timestamp Epochs 64-bit integer Now – Max value On demand
--- --- --- --- ---
Tweezer_ID N/A String N/A On demand
Width_tip1 mm Double 0-10 On demand
Thightness_tip1 mm Double 0-10 On demand
Width_tip2 mm Double 0-10 On demand
Thightness_tip2 mm Double 0-10 On demand
Inspection_Result N/A Boolean OK/NOK On demand
RAW_ID N/A String N/A On demand
Position_X mm Double 0-150 On demand
Position_Y mm Double 0-150 On demand
Width mm Double 0-150 On demand
Height mm Double 0-150 On demand
num_imgs N/A Double 0-10000 On demand
kostasgrevenitis commented 2 years ago

WAM use case - Electrical equipment sector

The goal is to demonstrate that intelligent quality control and intelligent reconfiguration at two production lines of WAM plant in Piaseczno (PL). The implementation of hybridized AI - AI + advanced analytics + human in the loop (HITL) tools - mostly relies on adaptation and merging of existing methods and tools. Engineers, operators are also assisted in assessment of the trends and factors of quality and availability. Transparency and quality of learning, through involvement of the HITL.

Coach: • Politechnika Warszawska (WUT)

Technology providers: • GINGKO • SUPSI

KITT4SME data sources • PFS files

WAM is in the sector of electrical equipment. They produce customized powering systems that rely on Li-Ion batteries. WAM, with the help of GINGKO and SUPSI, works in the electrical equipment industry. Customers typically require ancillary services such as advising, re-engineering, documentation of quality control audits, and so on. Despite the high degree of product similarity, WAM's portfolio is wide, diverse, and dynamic. Customer orders are modest, up to lot-size-one, and product life cycles are brief. Orders must be delivered 'On Time In Full' in the majority of circumstances (OTIF). The CODP (Customer Order Decoupling Point) is moving closer to the ETO (Engineering-To-Order manufacturing). Engineers and operators must conduct a variety of duties while obtaining information from a variety of sources.

To assure excellent quality and delivery under VUCA (Variability, Uncertainty, Complexity, Ambiguity) conditions, the suggested solution calls for Zero-Defects, Zero-Breakdowns, and easy reconfigurability. Intelligent Quality Control can be driven by real-time analysis of material attributes, process parameters, equipment health, and product quality. In this case, hybrid AI solutions based on the combination of AI and advanced analytics could be used to optimize process parameters and quality. To provide predictive maintenance, Zero-Breakdowns also necessitates real-time monitoring of equipment and devices (wear, health). Although the modular nature of WAM production lines facilitates flexible processing and reconfigurability, holistic reconfiguration optimization (i.e. evaluating and sacrificing current production targets, maintenance aspects, and reconfiguration effort) is difficult to achieve without AI.

At this stage, Wamtechnik does not have a mechanism for data acquisition and exchange using IoT solutions (for the subject of the pilot as well as for the entire production). The workstation in question, which will also be the subject of a pilot implementation of the solution, is a welding machine in which battery cells are welded into sets (target holders). The welding machine has a built-in data acquisition system which generates a file containing a project ID, a time stamp, and the parameters (settings and measured values) with which a single spot weld was made as part of the manufactured set.

The files generated by the machine are encrypted and saved with the extension *.Pfs (probably as an abbreviation of PORON file system - derived from the name of the welding machine manufacturer). The machine writes data to a file with the same name as the name of the loaded program processed by the machine. The program name is closely related to the unique identifier of the project (piece) produced on the machine. This means that if the item is produced again in the long run, the existing file will be incrementally updated with new records from the production process. If the project is started for the first time, a new data file will be created.

File decoding is done manually using an application provided by the machine manufacturer ("EasyProV1_DataKit-long.exe"). The decoding mechanism is started by MANUALLY selecting the file to be decoded, confirming it, and waiting for the decoding process to finish (in 5 steps). Then the application closes automatically, the processed file appears in the same location as the source file, with the same name, but with the *.txt extension.

The main problem identified is the need to select the data file for conversion which is only possible in a MANUAL way. The conversion application does not have the ability to run from the command line where the user could define the name of the file to be converted. Even if it was possible (using either the command line or a Windows script generating application like "AutoHotKey") it would be necessary to develop a mechanism that would allow the automatic selection of the file that is currently being updated by the machine (considering that the directory contains many files related to various projects).

Additionally, the above actions should be performed with a fixed time step (for example 5 minutes), preferably in such a way that there would be no incremental file, but smaller files relating to the given time step. The problems described above cause that the mechanism of data exchange between the machine and the cloud is still in the conceptual phase.

The Wamtechnik team in collaboration with the Warsaw University of Technology, since support from the machine manufacturer is difficult, will attempt to generate a script to automatically run an application to select a data file for conversion. The task will be performed for a single file related to one project, being a pilot one. In the next step, an attempt will be made to use the command line to split files based on a given time step and to automatically select the file currently being overwritten (processed).

Variable Short description Data types Value range Frequency
Barcode Battery pack barcode Object Various Varying frequency
Face Top/bottom pack Object [1st, 2nd] Varying frequency
Cell Cell number Integer [1st, 2nd]. Varying frequency
Point Pole Object [1st, 2nd] Varying frequency
Output Joules Welding energy Float Various Varying frequency
Charge Voltage set by operator Float Various Varying frequency
Residue Physically generated voltage Float Various Varying frequency
Force L N Pressure force of the left electrode Float Various Varying frequency
Force L N 1 Pressure force of the right electrode Float Various Varying frequency
Timestamp Recorded time Timestamp Various Varying frequency
kostasgrevenitis commented 2 years ago

DIMAC use case - Quality system and equipment sector

The goal is to demonstrate that AI not only is suitable to perform “directly” quality checks but also to support optimal calibration of not-AI based quality control systems. Moreover, this pilot highlights that KITT4SME platform is not only a stand-alone solution but that could be integrated in other systems to improve their effectiveness, flexibility, and features.

Coach: • HOLONIX SRL (HOL) Technology providers: • R2M SOLUTION SRL (R2M) KITT4SME data sources • AI for Quality Systems (AIQuS)

DIMAC is in the production of control machines for the automatic selection of fasteners and other small components for the automotive and aerospace industries. DIMAC develops and manufactures cutting-edge systems for the automatic control and selection of unique metal components. High precision must be combined with flexibility to conduct out controls on a wide range of items in this context. DIMAC is shifting away from the traditional business model of selling machines and toward a machines-as-a-service model.

The DIMAC machine's quality control plan is based on customer specifications and is frequently defined in a design. The comparative method is used to analyse flaws. Images (or reactions to instrumental tests) from the selected item are compared to images (or responses to tests) from a sample of acceptable quality, with a certain level of tolerance applied.

The DIMAC pilot is focused on facilitating the configuration of the AI that can be used in parts sorting machines. The pilot does not use sensors as data source but a collection of previously obtained and stored images that allow the AIQuS module to generate synthesized images for improved part sorting, especially in cases where there are no significant prior references. To be more precise, the data consist of image files and sidecar files containing additional information.The images for the pilot will be grayscale matrix representing parts selected on Dimac machines. The possibility to have color images or 3D images should be considered but it is out of pilot scope. The images will be produced by Dimac machines in a standard format (bmp, jpg or other) and stored in a database or a structured file system, details must be defined.

No direct interaction between KITT4SME middleware and Dimac machines is forecasted. DIMAC will feed images and information to a database and the AIQuS module will oversee taking the information from that database and generating new images. AIQuS will be the AI module that is in contact with the KITT4SME middleware, will run on the project mesh, will notify its status and actions to the context broker, and will be monitored by the project's continuous delivery tools (e.g., Argo CD).

Once DIMAC machines are integrated into a customer's quality control process, they face two challenges: manual integration of parameters taken from drawings or set by experts (e.g., parameters for surfaces such as maximum measures of structural discontinuity) and manual setting of the acquisition infrastructure, which cannot be optimized for the specific geometry of the piece under control. These conditions may reduce control precision, producing systematic errors in quality checks that effect the false negative and false positive ratio, resulting in time losses and additional expenditures for DIMAC machine users. Furthermore, the control machine's setup can be done by both DIMAC and users' operators, even multiple times each day.

AI algorithms can be used to reduce the resources devoted to assisting DIMAC customers' operators with system configuration, potential human errors, and faults caused by a non-optimal acquisition infrastructure configuration (sensors, cameras). The DIMAC's quality control systems relate to R2M's AI for Quality Systems (AIQuS). Traditional inspection approaches are combined with cutting-edge AI elements (Continuously Learning Systems and Continual AI techniques), making the control plan configuration and verification easier. AIQuS is a tool used to support vision-based quality inspection systems. It uses data augmentation techniques to create synthetic images of defects allowing companies to train and evaluate their quality control algorithms and models. Such images are created when real ones are not available or when it is necessary to describe possible defects not yet identified in the products (because of new product lines, for example) and are used to train AI systems that make visual inspections of products. AIQuS output is images of reference and images with defects.

Sidecar files, one for each image, will contain relevant information regarding the part type, the control plan, and the inspection results. The sidecar files will be produced by DIMAC machines as well or, in case of images already present in DIMAC archive, this file will be produced by human operator with a specific tool that will be developed. The sidecar file will be in a readable standard format (csv, XML, JSON or other) to be defined. It will be stored in a database or structured file system.

Output Short description Data types Value range Frequency
Images Synthetic images PNG or similar No range Asynchronous
kostasgrevenitis commented 2 years ago

Data model

Diagrams

KITT4SME_updated_data_model_diagram

Data model based JSONs

8.2 NGSI data

For each entity that is described in the reference data model there is the equivalent NGSI based payload. Most of the entities will not be used by themselves, but they will be used as part of other entities.

8.2.1 Common measurements related entities

Common measurement entity JSON payload Description
IO data "timestamp": {"dateTime": "","format": "","timezoneId": ""},"metadata": {"fields": {}} This is a core entity. It will not be used by itself. It is the base entity that will be extended based on the data we want to send.
Session {"start": {"dateTime": "","format": "","timezoneId": ""},"end": {"dateTime": "","format": "","timezoneId": ""}} This is a core entity. It will not be used by itself. It is the base entity that will be extended based on the data we want to send.
Binary object "value": {},"timestamp": {"dateTime": "","format": "","timezoneId": ""},"metadata": {"fields": {}} FIWARE Orion Context Broker doesn't play well with binary long data, so anyone who wants to send binary data, in the value field should add the url (unified resource locator) to that binary resource and any other client will retrieve that resource based on that url.
Metadata "fields": {} Optional metadata describing properties of the attribute value
Timestamp "timestamp" : {"dateTime": "","format": "","timezoneId": ""} We need to know when an event was produced. So, we added this timestamp entity. It comes in three parts. The datetime value itself, its format, and the time zone id it belongs. You can find all the time zone ids here.

8.2.2 Common factory related entities

Factory entity JSON payload Description
Factory item {"description": ""} This is a core entity. It will not be used by itself. It is the base entity that will be extended based on the data we want to send.
Location {"latitude": 0,"longitude": 0} The entity will not be used by itself. It will be used as part of the factory location entity.
Factory {"name": ""} The entity will not be used alone by itself. The name of the factory. It will be used as part of the factory location entity.
Factory location {"location": {"latitude": 0,"longitude": 0},"factory": {"name": ""}} The location of the factory. If we use a map visualization, we will be able to pin the factories' locations on the map.
Shopfloor {"name": "","position": {"location": {"latitude": 0,"longitude": 0},"factory": {"name": ""}},"description": ""} This entity describes the location of the shopfloor in case the factory has more than one shopfloor not located at the same premises.

8.2.3Common device related entities

Device related entity JSON payload Description
Device position {"x": 0,"y": 0,"z": 0} The entity will not be used by itself. The device's position at the shop floor. Besides x and y, we ask for z, if for example the device is installed on the ceiling or on a wall
Device properties {"properties": {}} The entity will not be used by itself. Any kind of useful device's properties that are useful in the KITT4SME context
IoT device {"name": "","deviceProperties": {"properties": {}},"devicePosition": {"x": 0,"y": 0,"z": 0},"description": ""} The entity will not be used by itself. This entity describes all the necessary information we would like to know about the IoT devices that live in the shopfloors
Equipment device {"name": "","deviceProperties": {"properties": {}},"devicePosition": {"x": 0,"y": 0,"z": 0},"description": ""} The entity will not be used by itself. This entity inherits all the attributes from the IoT device entity. With this entity we care about the smart machines that are part of the shopfloor
Device measurement {"fields": {}"timestamp": {"dateTime": "","format": "","timezoneId": ""},"metadata": {"fields": {}}} The entity will not be used by itself. This entity describes the measurement that is produced by any shopfloor device

8.2.4 GHEPI pilot related entities

Physiological data entity NGSI based JSON payload Description
Physiological data {"wearableDevice": {"workerSession": {"session": {"start": {"dateTime": "","format": "","timezoneId": ""},"end": {"dateTime": "","format": "","timezoneId": ""}},"worker": {"workerId": "","description": ""}},"wearableAccelometer": {"x": 0,"y": 0,"z": 0},"name": "","deviceProperties": {"properties": {}},"description": ""},"fields": "","timestamp": {"dateTime": "","format": "","timezoneId": ""},"metadata": {"fields": {}}} Physiological data are collected by wearable devices: They include heart rate, blood glucose, blood pressure, respiration rate, body temperature, blood volume, sound pressure, photoplethysmography, electroencephalogram, electrocardiogram, blood oxygen saturation, and skin conductance. Those data are generated by wearables ordered especially for the purposes of KITT4SME.
Worker related entity JSON payload Description
Wearable device {"workerSession": {"session": {"start": {"dateTime": "","format": "","timezoneId": ""},"end": {"dateTime": "","format": "","timezoneId": ""}},"worker": {"workerId": "","workerStaticProperties": {"properties": {}},"description": ""}},"wearableAccelometer": {"x": 0,"y": 0,"z": 0},"name": "","deviceProperties": {"properties": {}},"devicePosition": {"x": 0,"y": 0,"z": 0},"description": ""} The entity will not be used by itself. This entity will be used as part of the Physiological data entity. The wearable device includes the device's location, the worker's session, the timestamp, or any other useful metadata
Worker {"workerId": "","workerStaticProperties": {"properties": {}},"description": ""} The entity will never be used by itself. This entity will be used as part of the Physiological data entity.
Worker session {"session": {"start": {"dateTime": "","format": "","timezoneId": ""},"end": {"dateTime": "","format": "","timezoneId": ""}},"worker": {"workerId": "","workerStaticProperties": {"properties": {}},"description": ""}} The entity will never be used by itself. This entity will be used as part of the Physiological data entity.
Worker static properties {"properties": {}} Worker static properties might be height, weight, age, skillsets, smoker or not. This information is stored in a side database

8.2.5 I-TEK pilot related entities

Measurement entity JSON payload Description
Equipment IoT device measurement {"equipmentDevice": {"name": "","deviceProperties": {"properties": {}},"devicePosition": {"x": 0,"y": 0,"z": 0},"description": ""},"fields": null,"timestamp": {"dateTime": "","format": "","timezoneId": ""},"metadata": {"fields": {}}} Any event measurement that is generated by any IoT devices that is part of a smart machine.

8.2.6WAM pilot related entities

Measurement entity JSON payload Description
Equipment IoT device measurement {"equipmentDevice": {"name": "","deviceProperties": {"properties": {}},"devicePosition": {"x": 0,"y": 0,"z": 0},"description": ""},"fields": null,"timestamp": {"dateTime": "","format": "","timezoneId": ""},"metadata": {"fields": {}}} Any event measurement that is generated by any IoT devices that is part of a smart machine.

8.2.7 DIMAC pilot related entities

Image entity JSON payload Description
Image object {"format": "","height": 0,"width": 0,"value": {},"timestamp": {"dateTime": "","format": "","timezoneId": ""},"metadata": {"fields": {}}} This entity can be used to send image information to the FIWARE Orion Context Broker. Besides the image's width, height, and format, one can send the image's url or any useful information related to the image

8.2.8 CSIC – ED related entities

Smart notification entity JSON payload Description
Smart notification (recommendations or reconfigurations) {"property": "","value": "","timestamp": {"dateTime": "","format": "","timezoneId": ""},"metadata": {"fields": {}}} Sensors and equipment data are collected from externals sensors and the shop floor equipment. This data is collected with different sampling frequency which is defined according to the application. From the point of view of the data type they are mostly Double and binary. Smart recommendation data will be shown in the dashboard to recommend operators' actions to improve quality and efficiency. Smart reconfiguration will define the changes or modifications that should be carried out in the shop floor to compensate or correct problems detected including actions such as re-parametrization, optimization, and re-scheduling. The data type used for the smart recommendation will be arrays of binaries or doubles.
kostasgrevenitis commented 2 years ago

JSON payloads


⚠️. "id" and "type" attributes values are examples. Replace them with the appropriate values. ⚠️


GHEPI use case - Injection moulding sector

Physiological data


{
  "id": "urn:ngsi:Wearable:001",
  "type": "Biometrics",
  "timestamp": {
    "value": "",
    "type": "DateTime",
    "metadata": {
      "format": {
        "value": "YYYY-MM-DDThh:mm:ss.zzzZ",
        "type": "Text"
      },
      "timezoneId": {
        "value": "UTC",
        "type": "Text"
      }
    }
  },
  "ioTDeviceInformation": {
    "value": {
      "sensorId": "",
      "sensorType": "wearable"
    },
    "type": "StructuredValue",
    "metadata": {}
  },
  "workerInformation": {
    "value": {
      "workerId": "",
      "sessionId": ""
    },
    "type": "StructuredValue",
    "metadata": {}
  },
  "position": {
    "value": {
      "latitude": 0,
      "longitude": 0
    },
    "type": "StructuredValue",
    "metadata": {}
  },
  "accelerometer": {
    "value": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "type": "StructuredValue",
    "metadata": {}
  },
  "temperature": {
    "value": 0,
    "type": "Number",
    "metadata": {}
  },
  "gsr": {
    "value": 0,
    "type": "Number",
    "metadata": {}
  },
  "heartRate": {
    "value": 0,
    "type": "Number",
    "metadata": {}
  },
  "rrInterval": {
    "value": 0,
    "type": "Number",
    "metadata": {}
  }
}

Data by SUPSI


{
  "id": "urn:ngsi-ld:Shopfloor:001",
  "type": "Machine",
  "equipmentDevice": {
    "name": "",
    "deviceProperties": {
      "properties": {}
    },
    "devicePosition": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "description": ""
  },
  "WorkpieceWeightAfterInjection": {
    "value": "",
    "type": "Number"
  },
  "WorkpieceWeightAfterNutsAndScrewInsertion ": {
    "value": "",
    "type": "Number"
  },
  "ForceMeasuredDuringDrilling": {
    "value": "",
    "type": "Number"
  },
  "NutPresence": {
    "value": {},
    "type": "StructuredValue"
  },
  "WorkerPresenceInTheWorkCell": {
    "value": "",
    "type": "Boolean"
  },
  "BufferLevelOnTheConveyorBelt": {
    "value": "",
    "type": "Integer"
  },
  "WorkpiecePresenceOnTheConveyorBelt": {
    "value": "",
    "type": "Boolean"
  },
  "BufferLevelOnThePallet": {
    "value": "",
    "type": "Integer"
  },
  "WorkpieceOnTheWorkbench": {
    "value": "",
    "type": "Boolean"
  },
  "StatusOfTheCobot ": {
    "value": {},
    "type": "StructuredValue"
  },
  "PerceivedExertionFatigueOfTheWorker": {
    "value": "",
    "type": "Integer"
  },
  "ProcessKPIs": {
    "value": "",
    "type": "StructuredValue"
  },
  "OperatorAssignedTask": {
    "value": {},
    "type": "StructuredValue"
  },
  "CobotTask": {
    "value": {},
    "type": "StructuredValue"
  },
  "CobotSpeed": {
    "value": "",
    "type": "Number"
  },
  "DrillingForce": {
    "value": "",
    "type": "Number"
  },
  "timestamp": {
    "dateTime": "",
    "format": "",
    "timezoneId": ""
  },
  "metadata": {}
}

I-TEK use case - High precision hand tools manufacturing sector


{
  "id": "urn:ngsi-ld: Machine:001",
  "type": "Machine",
  "equipmentDevice": {
    "name": "",
    "deviceProperties": {
      "properties": {}
    },
    "devicePosition": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "description": ""
  },
  "Tweezer_ID": {
    "value": "",
    "type": "string"
  },
  "Width_tip1": {
    "value": "",
    "type": "Number"
  },
  "Thightness_tip1": {
    "value": "",
    "type": "Number"
  },
  "Width_tip2": {
    "value": "",
    "type": "Number"
  },
  "Thightness_tip2": {
    "value": "",
    "type": "Number"
  },
  "Inspection_Result": {
    "value": "",
    "type": "Number"
  },
  "RAW_ID": {
    "value": "",
    "type": "string"
  },
  "Position_X": {
    "value": "",
    "type": "Number"
  },
  "Position_Y": {
    "value": "",
    "type": "Number"
  },
  "Width": {
    "value": "",
    "type": "Number"
  },
  "Height": {
    "value": "",
    "type": "Number"
  },
  "timestamp": {
    "dateTime": "",
    "format": "",
    "timezoneId": ""
  },
  "metadata": {}
}

WAM use case - Electrical equipment sector


{
  "id": "urn:ngsi-ld:Shopfloor:001",
  "type": "Machine",
  "equipmentDevice": {
    "name": "",
    "deviceProperties": {
      "properties": {}
    },
    "devicePosition": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "description": ""
  },
  "qualityKPIs": {
    "value": {
      "perc_ok_welding_points": "val",
      "tbd": "val"
    },
    "type": "StructuredValue"
  },
  "detectedAnomalies": {
    "value": {
      "anom_1": "val",
      "anom_2": "val"
    },
    "type": "StructuredValue"
  },
  "mlPredictionValues": {
    "value": {
      "pred_1": "val",
      "pred_2": "val"
    },
    "type": "StructuredValue"
  },
  "BarCode": {
    "value": "{scanned Barcode of battery}",
    "type": "string"
  },
  "Face": {
    "value": "{1st, 2nd}",
    "type": "string"
  },
  "Cell": {
    "value": "{1st, 2nd}",
    "type": "string"
  },
  "Point": {
    "value": "{Point of battery pack}",
    "type": "string"
  },
  "Group": {
    "value": "{Group of sample, e.g. A-E1, A+E1}",
    "type": "string"
  },
  "WeldCounter": {
    "value": "{Welding Count of the machine}",
    "type": "integer"
  },
  "OutputJoules": {
    "value": "{Measured process parameter}",
    "type": "Number"
  },
  "Charge": {
    "value": "{Set process parameter}",
    "type": "Number"
  },
  "Residue": {
    "value": "{Measured process parameter}",
    "type": "Number"
  },
  "ForceLN": {
    "value": "{Measured process parameter}",
    "type": "Number"
  },
  "ForceLN1": {
    "value": "{Measured process parameter}",
    "type": "Number"
  },
  "timestamp": {
    "dateTime": "",
    "format": "",
    "timezoneId": ""
  },
  "metadata": {}
}

DIMAC use case - Quality system and equipment sector


{
  "id": "urn:ngsi-ld:Shopfloor:001",
  "type": "Machine",
  "format": "",
  "height": 0,
  "width": 0,
  "value": {
    "url": {
      "value": "http...",
      "type": "string"
    }
  },
  "timestamp": {
    "dateTime": "",
    "format": "",
    "timezoneId": ""
  },
  "metadata": {}
}

CSIC-ED use case


{
  "id": "urn:ngsi-ld:Shopfloor:001",
  "type": "Machine",
  "Recommendation": {
    "type": "Property",
    "value": "Decrease robot speed"
  },
  "timestamp": {
    "dateTime": "",
    "format": "",
    "timezoneId": ""
  },
  "metadata": {}
}
kostasgrevenitis commented 2 years ago

Sent for review

kostasgrevenitis commented 2 years ago

Sent to SUPSI for QA