Simulate the existence of bias in the gyroscopes


Applying EKF for map-based robot localization

Project 3 involves applying the EKF, for solving a robot localization problem, based on maps. We intend to use it in real-time, in the same way you will need in a real industrial/research implementation. For achieving it, we solve this problem incrementally, so we are able to secure that its many parts are working well, before we try the full solution under real-time conditions.

The first part of the project asks the student to adapt the EKF to solve the map-based localization, in a purely synthetic simulation context. The second part aims to use it dealing with real data, but still in an off-line fashion. The last part of the project asks the student to finally try it under real-time constraints.

1) Modify the example "DemoEKF_2018.nr for

a) Processing bearing observations (in addition to the range already implemented in the example.)

b) Using a proper Q matrix, based on the assumed noise in inputs of the process model.

Note: for solving item (a) you need to also modify certain parts of the simulator components.

2) Simulate the existence of bias in the gyroscope's measurements.

Test your implementation simulating cases having a bias -1 degree/second and .1 degree/second.

3) Use (1) for implementing the EKF based on Project2.Part4.

This program is based on the data used in Project 2. It is OFF-LINE but using real data, in the same way we solved Project2.

You are requested to adapt your solution for Porject2.Part4, adding the EKF component. The estimates should be more accurate than those obtained in P2.4.

Assume the following realistic conditions:

Noise in angular rate measurements: standard deviation = 1.5 degrees/second.

Noise in speed sensor:                           standard deviation = 0.05m/s.

Noise in range measurements:              standard deviation = 0.15m.

Noise in bearing measurements:           standard deviation = 1 degree

Note: you must remove the bias which is present in the angular rate measurements.

4) Include the capability implemented in (2) in the solution developed in (3).

Consider that the gyroscope's bias can be, in the worst case, limited in the range (-2,4-2] degree/second.

Note: you must not remove the bias which is present in the angular rate measurements; because your estimation process estimates and remove it on the fly.

5) Implement (3) to operate in real-time, based on the UDP approach.

This program is intended to work ON-LINE ("soft real-time"). This program implies using parts of the solution already developed in items 1 to 4 and previous projects. Your program will receive the data via UDP, as in the previously provided example about using UDP. You will use the simulator via UDP, for testing this solution. The dataset which is provided for the playback session is the same data you used in previous projects but is being fed by the simulator in a real time fashion. Consequently, you will assume the same noise characteristics.

6) Implement (4) to operate in real-time, based on the UDP data context. As in (5), reusing and integrating previous solutions.

7) Modify (6) for estimating longitudinal velocity. This means you need to estimate, in addition to the platform's 2D pose, the gyroscope's bias and the longitudinal component of the velocity.

Recommendation: you may solve it first modifying your solutions in pure simulation, for verifying performance; before trying in real-time. Assume that the maximum acceleration which the platform can achieve is 1.5m/s'.

Showing results

For item (1), you will plot the result at the end of the process. The style of the plots may be as the ones produced by the provided example program ("DemoEKF_2018.m").

For item (2), you will include plots as in (1), and, in addition, the plot of the estimated bias (its expected value). You will also indicate the real bias (which you simulated to be polluting the measured angular rates, in that test). The style of plot should be as the one presented in the lecture notes (file [AAS2018)EKF_Localizer_estimating_bias_v02.pdf), in which an example of performance is shown.

For (3) you will show results in the same way you did in Project2.Part3/4, using the same graphics resources you implemented in that project.

You may (this is not mandatory) simultaneously run the pure dead-reckoning solution, for visualizing the better performance of the EKF solutions. The lecturer showed a solution, in class, in which both estimation processes were run simultaneously and their estimated compared.

For visualizing that the pose estimates are consistent with the real ones, we will infer it by inspecting the expected global position of the detected 0015. Those will appear close enough to the map landmarks. This visualization is the same you had implemented for solving Project2.part3/4.

For (4) you will simply reuse the visualization resources used in item (3). In addition, you will print/show, at low frequency (e.g. @11-12), the currently estimated gyroscope's bias. You may simply print it as text in the console; or show it as text in some of the graphic visualizations you have.

For items (5) and (6), you simply show the results in the way you do in items (3) and (4).

For item (7) you will show the estimated speed (its expected value) and the real (but unused by the EKF) one. The style used for showing that information is up to you.

Attachment:- EKF.rar

Request for Solution File

Ask an Expert for Answer!!
MATLAB Programming: Simulate the existence of bias in the gyroscopes
Reference No:- TGS02765453

Expected delivery within 24 Hours