关键词 > KIT317

KIT317 Assignment 2 2024

发布时间:2024-06-08

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

KIT317

Assignment 2   2024

Due: 11:59pm, Sunday May 12th

Types of Error 8 marks

IoT devices are used to collect data about the real world and turn them into meaningful insights for people. When our insights are based on real world measurement, it’s important that the measurement is as accurate as possible. In this assignment, we will be looking at Sensor errors and what we can do to detect them.

We’ve discussed 4 different types of sensor faults in this unit. They are:

· Sensitivity Error

· Offset Error

· Hysteresis Error

· Quantization Error

For each type of fault, briefly explain what it is, give an example of it, and what strategy we could use to detect or correct these types of errors. (400 words max)

Visualing errors 15 marks

You’ve been tasked with writing code for an IoT device that measures the temperature of an industrial fermentation tank. You will use a machine learning approach to look for data errors coming from a virtual sensor.

To maintain proper fermentation, a stable temperature needs to be kept. To do this, the temperature is measured, and heating elements turned on when the temperature drops too low, and off when the temperature is too high. For this task, we want to keep the temperature at roughly 50 degrees, plus or minus 2 degrees. To ensure effect operation, it’s important that we detect potential errors that arise in our data measurement and account for them.

During development, you don’t have access to an industrial fermentation tank to test your error detection system, so you decide that you will write a system to simulate errors with the temperature sensor. While fermentation often takes place over days, with measurements every minute and rises and falls over hours, we will simulate this much faster, with the temperatures rising and falling over a minute and data collection every second.

· Your system should simulate the temperature rising and falling gradually between two temperature thresholds.

o You should use some randomness to slightly alter the speed at which the temperature rises and falls so that is not a smooth constant pattern.

o Once the minimum or maximum threshold is met, the temperature will not reverse instantly, as it will take time for the heating elements to heat or cool. Your temperature should continue on it’s trend and ‘overshoot’ the threshold for a short period of time before reversing.

· Your system should take a measurement of the temperature every second and send this to a server for storage and analysis of errors.

· Your system should randomly introduce data collection errors in the form of an abnormal spike in the data.

o The spike should be a significant deviation from the previous temperature reading. The spike should be a random rather than fixed number.

o You should have a way to switch the error mode on and off for testing purposes.

Your virtual sensor will send data to a webserver that will use machine learning to identify sensor errors.

On your server you should:

· Store the last minute (60 samples) of data in an appropriate data structure.

· Choose an appropriate method to visualize the incoming data with Canvas JS, updating the data every 5 seconds.

· Visually indicates any potential sensor errors (based on the analysis below).

You should use PHP ML to:

· Train a data set based on your sensor data.

o Your training data should include data collected by your sensor, and a classified data set.

o You will need to train your model with a significant amount for an effective model – you’re model should contain at least 50 instances of correct and incorrect data.

· Your trained model should then be used to identify anomalies in data that have been received from your virtual sensor.

o Classify the new data into either a normal or an abnormal state.

Your system is all about detecting sensor errors, not controlling the fermentation temperature – you can assume that part of the system is already implemented and working, your job is just monitoring the data for errors.

Demonstration 2 marks

Along with your code (zipped), you should record a quick video that demonstrates your system. Your video should be a screen recording, whereby you demonstrate your virtual machine environment, showing off all the features of your webserver running in a browser. In your video, you should talk through the features as you demonstrate them to the marker.

Marking Scheme

The assignment submission should include:

· A document outlining your response to Section 1 (Types of Error)

· Your code for the virtual sensor (python) and server (php) as a zip file.

· Your training data used for your ML model.

· A demonstration of the system.

Your system simulates temperature changes

 

· Temperature rises and falls, but not in a uniform manner. Temperatures correctly overshoots the threshold before reversing

3

· Partially implemented but fails one or more of the above.

1

· Nothing is implemented

0

 

Your system simulates errors

 

· Your system introduces errors in the data at random intervals. Error mode is selectable.

2

· Partially implemented but fails one or more of the above.

1

· Nothing is implemented

0

 

Your device reports data to the server and it is stored.

 

· Your device correctly sends a  stream of data to the server. Your server records last minute of data in an appropriate data structure.

2

· One of the features above is not working

1

· Not Implemented

0

Your webserver visualises the incoming sensor data.

 

· You’ve selected an appropriate method to visual the data. The data updates every 5 seconds. Detected Errors are highlighted in the visualisation.

3

· Partially implemented but fails one or more of the above.

1

· Not Implemented

0

 

 

Your webserver detects uses a machine learning algorithm to detect errors

 

· You’ve created a set of appropriately classified training data. You’ve selected an appropriate ML algorithm and used it to train a model. Your algorithm correctly classifies anomalies.

5

· It is implemented but one of the features do not work properly

3

· Two or more features do not work properly

1

· Not Implemented

0

 

 

Demonstration