Fill This Form To Receive Instant Help

Help in Homework
trustpilot ratings
google ratings


Homework answers / question archive / MCEN90032 Sensor Systems Project 2 Indoor GPS 1) Introduction In this project you will extend the pedometer you built in Workshop 1 into an indoor global positioning system (GPS) to build a navigation system

MCEN90032 Sensor Systems Project 2 Indoor GPS 1) Introduction In this project you will extend the pedometer you built in Workshop 1 into an indoor global positioning system (GPS) to build a navigation system

Computer Science

MCEN90032 Sensor Systems Project 2 Indoor GPS

1) Introduction In this project you will extend the pedometer you built in Workshop 1 into an indoor global positioning system (GPS) to build a navigation system. Usually, your mobile phone will have a GPS system, which has been widely used to navigate. In an indoor environment, navigation using only a GPS will not be accurate enough.

On the other hand, an inertial navigation system (INS) has been widely used in mobile phones. It uses a computer, motion sensors (accelerometers) and rotation sensors (gy- roscopes) to continuously calculate by dead reckoning the position, the orientation, and the velocity (direction and speed of movement) of a moving object without the need for external references. An INS does not have an absolute reference. If the sensors are not perfect, errors will accumulate resulting in a drift in position with no possibility to reset to the correct position. In this project, GPS, accelerometer and gyroscope sensors are used to build an indoor GPS with a better accuracy.

The indoor GPS is composed of a walking distance estimator and a heading/bearing es-timator. The walking distance estimator will use the work you did for the pedometer to estimate your movement in meters from a starting point. The heading estimator will combine measurements from the Gyroscope and Magnetometer to estimate the direction of your path with reference to the magnetic north. The emphasis of this project is on developing your capabilities to implement and evaluate different algorithms, and make your own design choices. As such, there are multiple possible solutions to the tasks which can satisfy the design requirements. Marking will have a strong emphasis on your analysis and explanation of your choices.

The project is separated in three parts. In Part 1, you will be designing a basic heading estimator using gyroscope measurements and compare to the translated magnetometer measurements. In Part 2, you will be extending the pedometer to a walking distance estimator. In Part 3, you will improve your heading estimator by combining measure-ments from your smartphone’s gyroscope and magnetometer through a Kalman filter and combine the distance estimator and heading estimator to provide an estimation of your walking path.

We recommend that you include the walking distance and heading estimators in different Scripts. Then you can include them in the main Scene as separate objects. This will make it easier for you to test your application.

The marks for the project are divided as follows:

1. Progress Submissions (2 Marks). There are two progress submissions, one for Part 1 and one for Part 2. They are due Friday 11:59pm pm in week 6 and 7, respectively. Progress submissions are done through LMS
2. Project Demonstration (3 Marks). During the week 8 workshop, you will de-scribe and show your solution to workshop demonstrators.

3. Project Report (10 Marks). A written report of your work for the project is due 11:59 pm on Sunday 1 May 2020 through Canvas.

The project is done and assessed individually.

1.1 Learning objectives

• Develop professional communication skills to present technical reports.

• Implementation of different estimation algorithms.

• Experience sensor fusion through Kalman filter implementation.

1.2 Components Required (minimum)

1. A MATLAB account, if you don’t have one please go to https://matlab.mathwor

ks.com/

2. An Android or iOS Smartphone.

2 Project Instructions

This project will explore how to use gyroscope and magnetometer to estimate the direc-tion, estimate displacement with accelerometer, and put it together.

2.1 Part 1: A Heading Estimator

2.1.1 Estimate Direction/Bearing from Magnetometer and Gyroscope

One important part of inertial navigation of moving objects is the estimation of the di-rection relative to the Earth’s geographic North Pole. Such information is called heading.

You might find the information from the following website useful to calibrate the magne-tometer.

https://au.mathworks.com/help/fusion/ug/magnetometer-calibration.html

In this part, you will estimate the direction you are facing with reference to the earth’s magnetic north (compass direction). You will use this in your indoor GPS to determine the bearing in which you are walking. You will be using the following sensors.

• Magnetometer: The magnetometer gives you a rough direction and can be per-turbed by magnetic sources. You can test the sensitivity of your smartphone’smagnetometer to disturbances by placing a metal object near it. The following steps are used:

– Test your magnetometer by reading from it when isolated from strong magnetic sources.

– Disturb the magnetometer reading by moving a metal object near it. A metal spoon may do the job.
– Convert this measurement to a direction.

• Gyroscope: The gyroscope gives you a good estimate of angular velocity but has inherent sensor noise. When transforming to angular position this can cause an effect commonly known as drift.

– Test drift by keeping your phone still and integrating gyroscope measurements.

Observe how the values start to continuously increase/decrease (drift) even with the smartphone not moving.

– Estimate direction by integrating the angular velocity. Turn a set number of

degrees, e.g. 90?

, 180?

, in both directions. Design a simple algorithm (integra-

tor and gain) to estimate direction from the gyroscope measurements.

– What can you do to improve the direction estimation if you are only using gyroscope measurements? You need to include the discussion in your report.

There are many different algorithms in literature that can compensate the drift of the gyroscope. You can select one of them to implement. Please note that

if you use any algorithm in literature, please cite the reference.

Exercise 1:

Show the performance of your bearing estimation using gyroscope and compare with the bearing translated from magnetometer measurement.

Show the following cases:

1. Turn 90? counterclockwise.

2. Turn 90? clockwise.

3. Turn 90? counterclockwise followed by 180?

clockwise.

How does the estimation from gyroscope compare to Magnetometer

data?

Submit Your Progress (1 Mark):

Submit a figure plotting the true value (provided you have an Orienta- tionmeter in Matlab Mobile), heading estimation from gyroscope (you can set the initial value the same as the estimation by magnetometer), and heading measured by magnetometer. Along with the figure, submit the raw data and code that you used for the task.

2.2 Part 2: A Walking Distance Estimator

In this part, you will extend your pedometer into a walking distance estimator. The walk-ing distance estimator should use at least one estimation algorithm. It is recommended for you to try different estimation algorithm and compare the results.

The implementation of only one algorithm is the bare minimum (passing mark). Imple-mentation of other more advanced algorithm will help you achieve higher marks. Com-parisons between algorithms should be included in the report if you decide to implement two or more estimation algorithms.
2.2.1 Walking Distance Estimation Algorithms

There are multiple ways you can estimate walking distance from only accelerometer data.

The simplest way would be to convert your estimated number of steps into distance. This of course will be dependent on the step length of the person using your app.

Another possibility is to determine whether there is a relationship between step/stride length and the acceleration amplitude.

Basic Walking Distance Estimation: This method converts steps directly to a fixed distance. Measure your average step length by marking where you start and end a step.

You should be able to detect the start and end of a step with your pedometer. You can then simply add the distance you measured every time you detect a step.

Advanced Walking Distance Estimation: Here are several alternative methods that could help you get started with your exploration.

• Direct integration from acceleration.

• Estimate step length based on the pattern of your gait. (For instance, your step length might be proportional to acceleration.)

Feel free to look for other methods and implement your preferred one. Make sure that you provide the appropriate references in your code and report if you do use a method available online or in research publications. Remember, you can follow the methodology but DO NOT COPY CODE.

Exercise 2:

Measure on the ground certain distance. Walk that distance while collecting data. Compare the results from one or more estimation algorithms and evaluate the performance.

Submit Your Progress (1 Mark):

Submit a figure plotting the true distance (e.g., using tape measure), and estimated distance. Along with the figure, submit the raw data and code that you used for the task.

2.2.2 Prepare for Your Report

Document in detail your solution as this will be necessary for your report. Use flowcharts, pseudo-code, etc., to help illustrate your ideas. Test your algorithm(s) under different scenarios and compare your result with the measured actual distance. Discuss the per- formance and limitation of your algorithm(s).

Learn to use references properly if your solution is based on other people’s work.

2.3 Part 3: An Indoor GPS

In this part you will improve the performance of your heading estimator by using a Kalman Filter to fuse magnetometer and gyroscope data. You will then combine it with the walking distance estimator to create an indoor GPS. In particular, we will use Kalman

filter to improve the accuracy of the indoor GPS.

There are many different ways to implement Kalman filters. You can select one of them to use.

Ying had selected two references for your information. It is highlighted that in order to apply these techniques to your project, you need to carefully check the problem setting

including the sampling rate used in your project. Directly using these algorithms without

justification and modification might lead to wrong results. Please note that the models used in two papers indicated some assumptions such as the constant velocity. When you use the model from these two papers, please clearly explain these assumptions.

You do not have to follow her suggestion as there are many other algorithms in literature to implement Kalman filters. Please select one algorithm that is appropriate. Please justify the reason why the algorithm is selected. The following is one example design guide.

2.3.1 Design of a Kalman Filter

For the design of your Kalman Filter, you can use the magnetometer and gyroscope data you’ve gathered so far or gather even more data. Perform the following steps when

developing your Kalman Filter:

(i) Derive a continuous-time state space model that is suitable for a standard Kalman

Filter.

(ii) Obtain a discrete-time state space model from (i). Note that your model should include random processes representing model error and measurement noise. In your report, briefly explain your choice of discretisation method and how the sampling interval was obtained.

(iii) One assumption of the standard Kalman Filter is that the initial condition of the state is zero-mean. In what way is this assumption always satisfied? How does this affect the choice of the initial error covariance matrix P?

(iv) Check whether the other assumptions for the standard Kalman Filter may be sat- isfied or not. Discuss your findings in your report.

(v) Design a standard Kalman Filter for the model above with appropriately chosen initial conditions, Q and R. In your report, give a brief explanation about your choices.

(vi) Apply the designed Kalman Filter to estimate the heading direction of the data you have been using for testing. Plot and discuss your results in your report.

2.3.2 Implementation of a Kalman Filter-based Heading Estimator

Now you can implement your Kalman Filter for your indoor GPS. We recommend you that you include the walking distance and heading estimators in different Scripts. Then

you can include them in the Scene as separate objects. This will make it easier for you to test your application.

While this is an indoor GPS, we test it outdoor, so that we can use the actual GPS localization as a reference to evaluate the performance of your indoor GPS.
2.3.3 Testing

Combine the measurements from the walking distance estimator and heading estimator

to create your indoor GPS. To test your solution do the following:

(i) Determine one path (outdoor) you will be walking. It is recommend that you walk

a square/circle so that you start and stop at the same place.

(ii) Follow the path while collecting data and remember to also record the actual GPS

data.

(iii) Plot the estimated path with the collected data and your algorithm, and superim-pose the measured true path (actual GPS) on the same plot. To do this you will need to check how to convert latitude/longitude to distance in meters. (You can use satellite map as the background of your plot to make the visualization even better).

(iv) Discuss the performance of your indoor GPS.

Demonstration (3 Marks):

Prepare for your demonstration:

Walk a square/circle so that you start and stop at the same place.

Display the estimated walking trajectory using your algorithm vs. the walking trajectory from in-built GPS Matlab. If possible, use satellite map as background.

In your demonstration:

During the workshop in week 8, show us the plot, describe and explain your solution.

3 Project Report (6 Marks)

Prepare a report as per the task given as a Portable Document (.pdf). Use an appropriate engineering report format. Your report should be no more than 12 pages with 12 pt font and it should clearly outline your methodology, results and discussion related to the tasks given in the project. You will be assessed on the following marking scheme for the report:

• Format: Is it in an appropriate engineering report format (include proper introduc-tion, has figures and equations properly labelled, has references properly managed, etc)?

• Methods: Is the design clearly explained?

• Results: Did the implementation work? Is the functionality well assessed? How did you assess the functionality?

• Discussion: Is the performance and limitations clearly analysed and described? Are the results and analyses presented in a way that clearly support the effectiveness of the proposed scheme?
4 Submission

Submit your report as Portable Document (.pdf) and a zip file containing the raw data and code. Name the report and zip file with your student ID and submit to

Canvas before the due date.

Late penalties apply at a rate of -10% (of the whole assignment marks) per day. Assign-ments submitted later than 5 working days after the due date will not be accepted and will receive zero marks. Only the last submission will be assessed.

Report submission checklist:

? Report is no more than 12 pages

? Report has 12pt font size

? Report saved as PDF

? Compress all materials into a .zip

? Submitted file is named with your student ID

5 Academic Integrity

We take academic integrity seriously. Please note that while students may discuss and help each other in the thinking process, you should work on your assignments separately.

Details about academic integrity can be found at http://academicintegrity.unimelb.edu.au/. Please check with the tutors or the lecturer if you are in doubt. Ignorance is not a valid reason for academic misconducts

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE