This repository contains all code related to the Part C Grinding Parts Count group project. The project focuses on real-time classification and visualization of grinding parts using machine learning techniques.
parts-grinding-code/
├── CircularBuffer.py # Implements a circular buffer for data handling
├── collect_and_train.py # Script to collect data and train the model
├── real_time_classifier.py # Real-time classification script
├── real_time_graphs.py # Real-time data visualization
├── kernel_setup.txt # Instructions for setting up file directories
├── README.md # Project documentation
└── LICENSE # MIT License
- Python 3.8 or higher
- Recommended: Use a virtual environment to manage dependencies
-
Clone the repository:
git clone https://github.com/Thead12/parts-grinding-code.git cd parts-grinding-code -
Set up a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required packages:
pip install -r requirements.txt
-
Set up the file directories: Refer to kernel_setup.txt for detailed instructions on setting up the necessary file directories.Proper configuration is essential for the scripts to function correctly.
Use collect_and_train.py to collect data and train your machine learning model.
python collect_and_train.pyEnsure that your data is organized as specified in
kernel_setup.txtbefore running this script.
Run real_time_classifier.py to perform real-time classification of grinding parts.
python real_time_classifier.pyUse real_time_graphs.py to visualize data in real-time.
python real_time_graphs.pyThe project utilizes CircularBuffer.py to manage data streams efficiently.
Ensure that all configurations are set as per the guidelines in kernel_setup.txt.
networktest.py can be updated from IP addresses to work with MQTT frameworks to automatically run the other scripts when the grinding machine changes state.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.
For any issues or questions, please open an issue in the repository.
Python library for managing long running tasks, we can use this to initialise and close the program automatically I believe. https://supervisord.org/