Git Product home page Git Product logo

carnd-term2-p1-extended-kalman-filter's Introduction

CarND-Term2-P1-Extended-Kalman-Filter

Overview

In this project, you are going to implement the extended Kalman filter in C++. You will be tracking the bicycle's position and velocity and predicting the positon of the object.
There is a simulator provided by Udacity (Term 2 Simulator Release) which can generate noisy LIDAR and RADAR measurements. And you will be using those measurements to predict your object position.
Here is the link to the orginal repository provided by Udaciy.

Prerequisites/Dependencies

Setup Instructions (abbreviated)

  1. Meet the Prerequisites/Dependencies
  2. Intall uWebSocketIO on your system
    2.1 Windows Installation
    2.1.1 Use latest version of Ubuntu Bash 16.04 on Windows 10, here is the step-by-step guide for setting up the utility.
    2.1.2 (Optional) Check your version of Ubuntu Bash here.
  3. Open Ubuntu Bash and clone the project repository
  4. On the command line execute ./install-ubuntu.sh
  5. Build and run your code.

Project Description

  • starter code in the src folder
  • a README file with instructions on compiling the code
  • a Docs folder, which contains details about the structure of the code templates
  • CMakeLists.txt file that will be used when compiling your code (you do not need to change this file)
  • a data file for testing your extended Kalman filter which the simulator interface provides

Run the project

  • Clone this respository
  • At the top level of the project repository, create a build directory: mkdir build && cd build
  • In /build directory, compile yoru code with cmake .. && make
  • Launch the simulator from Windows
  • Execute the run command for the project ./ExtendedKF (Make sure you also run the simulator on the Windows host machine) If you see * * this message, it is working Listening to port 4567 Connected!!!

Project Rubric

1. Compiling

1.1 Your code should compile.

Compiled successfully.

2. Accuracy

2.2 px, py, vx, vy output coordinates must have an RMSE <= [.11, .11, 0.52, 0.52] when using the file: "obj_pose-laser-radar-synthetic-input.txt" which is the same data file the simulator uses for Dataset 1.

Meet

3. Follows the Correct Algorithm

3.1 Your Sensor Fusion algorithm follows the general processing flow as taught in the preceding lessons.

My Kalman Filter implementation is completed at kalman_filter.cpp

3.2 Your Kalman Filter algorithm handles the first measurements appropriately.

The first measurement is handled at FusionEKF.cpp Line79-130

3.3 Your Kalman Filter algorithm first predicts then updates.

My Kalman Filter predict function will be called at FusionEKF.cpp Line132-166
My Kalman Filter update function will be called after predict function at FusionEKF.cpp Line135-192

3.4 Your Kalman Filter can handle radar and lidar measurements.

My Kalman Filter update function will handle them at FusionEKF.cpp Line135-192

4. Code Efficiency

4.1 Your algorithm should avoid unnecessary calculations.

Yes.

Code Style

Please (do your best to) stick to Google's C++ style guide.

Videos

Video recordings for success cases.
Success to plan path on dataset 1.
Success_Run_Part1
Success to plan path on dataset 2.
Success_Run_Part1

carnd-term2-p1-extended-kalman-filter's People

Contributors

alexxucui avatar amintahmasbi avatar andrewpaster avatar awbrown90 avatar baumanab avatar brandonhe avatar cameronwp avatar danziger avatar deniskrut avatar domluna avatar dwillmer avatar ianboyanzhang avatar jinchaolu avatar kylesf avatar mleonardallen avatar mvirgo avatar nateous avatar swwelch avatar tsekityam avatar vatavua avatar wolfgangsteiner avatar

Watchers

 avatar

Forkers

guoquheweilai

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.