Applying ekf for map-based robot localization

Assignment Help MATLAB Programming
Reference no: EM131970984

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

Reference no: EM131970984

Questions Cloud

Why does the en need to know the purpose of blood collection : (a) Why does the EN need to know the purpose of blood collection?
Find the amount of income that she needed for her objective : London purchased a piece of real estate last year for $84,500. The real estate is now worth $104,000.
Which symptoms are common in chronic renal disease : A parent asks, "Which symptoms are common in chronic renal disease?" What is the best response by the nurse?
How does one select a mentor-preceptor : What would a nurse expect from a mentor or preceptor as he or she progresses through an educational process?
Applying ekf for map-based robot localization : Simulate the existence of bias in the gyroscopes measurements - the gyroscope's bias and the longitudinal component of the velocity
Calculate what is the current share price : Lohn Corporation is expected to pay the following dividends over the next four years: $17, $13, $12, and $7.50.
How can some one develop pulmonary hypertension : How does COPD correlate with left ventricular pressure and primary heart failure? How can some one develop pulmonary hypertension?
Explain the risk factors for developing osteoporosis : A 60-year-old woman has just been diagnosed with osteoporosis. She does not understand how this could be possible, as she has always been a milk drinker.
How much money did eugene have for retirement : Eugene began to save for his retirement at age 32, and for 12 years he put $ 200 per month into an ordinary annuity at an annual interest rate of 7% compounded.

Reviews

Write a Review

MATLAB Programming Questions & Answers

  Finite difference method

Use the finite difference method to calculate the temperature at the point specified since it is easier.

  Determine the necessary shell temperature

In a shell-and-tube heat exchanger, one fluid passes through a central tube while another fluid flows through an outer shell in the opposite direction. The purpose is to heat the fluid passing through the central tube.

  Find the integral of a function at an arbitrary location

Write a Matlab function to perform numerical integration of a set of evenly spaced data points using the trapezoidal rule

  Compute the speed of single-stage planetary gear train

Write a MATLAB function [speed] = planetary (N, emesh, first, last, arm) that computes the speed of a given link in a single-stage planetary gear train.

  Calculate and plot the error in the numerical derivative

Write a program to calculate and plot the error in the numerical estimate of the derivative.

  Create the graph using matlab functions

Create the graph, which contains a piecewise function where a line exists in the first interval, a parabola in the second interval, and the sine function in the third interval.

  Develop a simulation program

Develop a simulation program

  Create a vector in matlab

Create a three dimensional diagram of function.

  Open a named pipe and to read data from the pipe

Open a named pipe and to read data from the pipe in matlab

  Write the commands that will create the matrix

Write the commands that will create the matrix.

  Lagrange interpolating polynomial of degree

Lagrange interpolating polynomial of degree

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd