Skip to content

πŸ€–πŸ”πŸ”¬ This repository focuses on machine vision research within the context of Industry 4.0. It includes tasks such as researching available methods for detecting scattered objects on surfaces, analyzing vision challenges in the EDUset ONE robotic cell, designing hardware solutions, implementing various object detection methods.

License

Notifications You must be signed in to change notification settings

JanZmrzly/eduset-vision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EDUset ONE vision

The repository was created as part of a master's thesis at the Brno University of Technology. The main motivation for the project was the deployment of a computer vision application in the robotic cell EDUset ONE, located at Intemac Solution s.r.o. Within the thesis, three leading detection frameworks, R-CNN, SSD, and YOLO, were deployed. Subsequently, the frameworks were compared based on their own criteria. The repository can serve as a starting point for implementing these frameworks on custom datasets.

Custom dataset of semi-finished goods

The custom dataset used to train the detection neural networks is available at the following two links:

  1. Roboflow
  2. Kaggle

Instalation

Warning

Installation instructions will be provided once the Python package is created

Samples

In the samples folder, there are examples of Jupyter notebooks that were used to work with detection frameworks. These examples demonstrate how it is possible to deploy each of the detection frameworks on a custom dataset. The background for the examples is in the eduset subfolder. This folder can serve as the default package for subsequent work.

Main

In the main folder, there is a custom program for semi-finished goods detection. The main principle is that an API is created, which communicates with an industrial camera from BASLER. The API is invoked by an OPC UA client, which is connected to an OPC UA server running on a PLC from Siemens. The client and API can run independently of each other and can also be started independently using the following commands:

Running the API on localhost:

uvicorn.run(app, host="localhost", port=8000)

Running the OPC UA client:

url = "opc.tcp://192.168.0.10:4840"
    
api_endpoint = "http://localhost:8000/placement"

control_signal = {"ns": "http://EdusetONE", "i": 75}
placement = {"ns": "http://EdusetONE", "i": 19}

client = OPCUAClient(url=url)

try:
    await client.set_encryption() if client.encryption is True else None
    await client.run(control_signal, placement, time=2, api_endpoint=api_endpoint)
except KeyboardInterrupt:
    await client.disconnect()

License:

License: GPL v3

The project is licensed under the GNU General Public License version 3 (GPLv3)

Contact:

For inquiries and support, please contact zmrzlyjan@gmail.com for more information.

About

πŸ€–πŸ”πŸ”¬ This repository focuses on machine vision research within the context of Industry 4.0. It includes tasks such as researching available methods for detecting scattered objects on surfaces, analyzing vision challenges in the EDUset ONE robotic cell, designing hardware solutions, implementing various object detection methods.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages