Coder Social home page Coder Social logo

benjaminfraser / control_engineering_apps Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 3.69 MB

A series of GUI applications, tools and programs for plotting and analysing classical and modern control systems. All applications have been built using Python, matplotlib, and python-control.

Python 100.00%

control_engineering_apps's Introduction

Hey! ๐Ÿ‘‹

I'm Ben, a Aerospace Engineer (Avionics, Electronic and Electrical Systems) and Data Science Practitioner.

I have a specialist focus on Applied AI techniques, Machine Learning and Data Science Technologies. My experience in software, data science and programming extends over a decade, with expertise developed on a range of professional and personal projects in that time. I love working with technology, learning new skills, and working across a variety of programming languages. Currently my main efforts focus around Python-based development.

Some past projects:

Integrated Crowd-Monitoring and Social Distancing Platform

Development of an Integrated Crowd-Monitoring and Social Distancing Platform that exploits video surveillance data and novel comuter-vision techniques. Application of Deep Computer Vision, including Crowd-Pose Estimation, Object Detection, Target Tracking and Automated Homography. Research published through MFI2022 conference. Source code available: https://github.com/BenjaminFraser/Social-Distancing-Pose-Platform.

Digital-Twin based Novelty Detection Framework for Unmanned Aerial Systems

Development of a Digital-Twin based Novelty Detection Framework for Unmanned Aerial Systems, through the application of Deep Unsupervised Learning (Autoencoder-based) techniques. Published through IEEE as part of DASC2021 conference: https://ieeexplore.ieee.org/document/9594321/.

Multi-Modal Text (NLP) and Tabular Classification Framework

A NLP application that develops a Multi-Modal Text (NLP) and Tabular Classification Framework to help analysts streamline the process of performing reviews on incoming applications. Developed as part of an MVP product to enhance the productivity within a key MoD governmental department. Application of classical and deep ML techniques in Tensorflow, with a focus on Natural Language Processing.

Object Detection Framework for Satellite Imagery

Development of an Object Detection framework for the detection and classification of objects within satellite imagery, with a focus on Defence context. This included an end-to-end framework developed in PyTorch, with custom fine-tuned Faster-RCNN and YOLOv5 variants to work with satellite based imagery. Key features included a bespoke preprocessing phase that better prepared satellite imagery objects for classification through tiling and data-augmentation.

Object Detection for Analysis of Human Mask Usage

Development of an Object Detection Model for the analysis of Face Mask usage within complex scenes. Built using a Faster RCNN object detector fine-tuned in PyTorch using a custom mask object detection dataset, with a focus on complex scenes that are representative of real world applications and camera surveillance feeds. Once the model was trained and optimised for the task, an inference dashboard was developed in Dash to allow new predictions to be made on selected images. Source code and project summary available at: https://github.com/BenjaminFraser/Mask-Object-Detection.

Image Classification Web Application

An Image Classification Web Application, built using Flask, Bootstrap and JS to allow for the uploading of a given image that is subsequently classified. The preparation and formation of a deep convolutional network model was performed, making use of transfer-learning and fine-tuning of the Inception architecture. The application will classify images according to the specific transfer learning task carried out (the app was demonstrated with different dog breeds). Source code available at: https://github.com/BenjaminFraser/Dog-Breed-Classifier-App.

Digital Electronic and Control Engineering Desk GUI Application

A Python GUI application that uses Tkinter, matplotlib, numpy, scipy and other scientific computing libraries to provide classical and digital electronic and control engineering functions for graphical analysis. Developed whilst conducting a BSc in Electronics Systems Engineering, to support cohorts (and wider electronic engineering community via GitHub) in forming control engineering plots and visualisations. Available at: https://github.com/BenjaminFraser/Control_engineering_apps.

Word Document Directory to PDF Conversion Application

A Python Application implemented in Flask with LibreOffice backend to convert a large (or small) directory of word and excel documents into a single PDF document. The final PDF is ordered according to the names of the directories in the uploaded zip file, and each directory in-turn is ordered numberically by the files within. User access is required on the application before any finals can be amended or converted. Available at: https://github.com/BenjaminFraser/word-to-pdf

Intrusion Monitoring System

An Intrusion Monitoring System built using a combination of many technologies, both hardware and software, to create a robust and reliable system that makes detections of intruders or motion at a chosen location. For the system, a combination of Arduinos and Raspberry Pi Devices are used to develop a network of communication nodes (using nRF24L01+ radio transceivers) and radar detection nodes (using custom-built HB100 X-Band Radar Doppler motion sensors).

The system continuously monitors the regions where the nodes are deployed, and sends an alarm to the central system on detection of an intrusion. All detections and the status of each region are monitored using a Flask web application, which provides real-time status updates on detections. Source code available at: https://github.com/BenjaminFraser/Intrusion_monitoring_system.

Blog post available at: https://medium.com/@benjamindavidfraser/arduino-nrf24l01-communications-947e1acb33fb

My Education

Master of Science (MSc.), Applied Artificial Intelligence

Centre for Autonomous and Cyber-Physical Systems, Cranfield University, United Kingdom.

Topics included Statistical Learning, Deep Learning, Computer Vision, Search & Optimisation, Intelligent Agents, Bayesian Techniques, Systems Engineering, Coding and Development (Python & MATLAB), Data Visualisation and Analytics, Reinforcement Learning, AI Research. Publication of multiple formal papers in the field of Applied-AI through the IEEE. Presentation of research at two international technology conferences.

Bachelor of Engineering (Honours), General Engineering and Engineering Design

Open University, Milton Keynes, United Kingdom.

Final dissertation on Stress Mechanics and Design included multi-dimensional Finite Element Analysis (FEA), with application of scientific and numerical computing in Python.

Bachelor of Science (BSc.), Electronic Systems Engineering

University of Portsmouth, United Kingdom

Two major projects undertaken, including an electronic system design, and an aviation system research project based on Electronic Warfare and Infrared Missile technologies.

Contact / Collaborate:

๐Ÿ“ซ You can find me on Twitter or LinkedIn.

control_engineering_apps's People

Contributors

benjaminfraser avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

control_engineering_apps's Issues

eval() used to evaluate user-input transfer function expressions.

The practice of using eval() is bad for many reasons, including shared system security concerns and debugging nuisances for unexpected inputs.

It was built into the application originally for rapid prototyping and convenience, but could do with replacing by a more appropriate parsing method. This needs to take a user-input s-domain transfer function, and appropriately evaluate it, just as eval() would in practice.

An example of the typical format of an input transfer function would be:

"10/(s*(s+1))"

The parsing function also needs to extract the 's' terms from this expression, and substitute in the definition of s as the Laplace operator, equivalent to the following transfer function in the control.tf library:

s = control.tf([1,0], 1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.