# Extended Kalman Filter Project Starter Code
Self-Driving Car Engineer Nanodegree Program
In this project you will utilize a kalman filter to estimate the state of a moving object of interest with noisy lidar and radar measurements. Passing the project requires obtaining RMSE values that are lower than the tolerance outlined in the project rubric.
This project involves the Term 2 Simulator which can be downloaded [here](https://github.com/udacity/self-driving-car-sim/releases)
This repository includes two files that can be used to set up and install [uWebSocketIO](https://github.com/uWebSockets/uWebSockets) for either Linux or Mac systems. For windows you can use either Docker, VMware, or even [Windows 10 Bash on Ubuntu](https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/) to install uWebSocketIO. Please see the uWebSocketIO Starter Guide page in the classroom within the EKF Project lesson for the required version and installation scripts.
Once the install for uWebSocketIO is complete, the main program can be built and run by doing the following from the project top directory.
1. mkdir build
2. cd build
3. cmake ..
4. make
5. ./ExtendedKF
Tips for setting up your environment can be found in the classroom lesson for this project.
Note that the programs that need to be written to accomplish the project are src/FusionEKF.cpp, src/FusionEKF.h, kalman_filter.cpp, kalman_filter.h, tools.cpp, and tools.h
The program main.cpp has already been filled out, but feel free to modify it.
Here is the main protocol that main.cpp uses for uWebSocketIO in communicating with the simulator.
INPUT: values provided by the simulator to the c++ program
["sensor_measurement"] => the measurement that the simulator observed (either lidar or radar)
OUTPUT: values provided by the c++ program to the simulator
["estimate_x"] <= kalman filter estimated position x
["estimate_y"] <= kalman filter estimated position y
["rmse_x"]
["rmse_y"]
["rmse_vx"]
["rmse_vy"]
---
## Other Important Dependencies
* cmake >= 3.5
* All OSes: [click here for installation instructions](https://cmake.org/install/)
* make >= 4.1 (Linux, Mac), 3.81 (Windows)
* Linux: make is installed by default on most Linux distros
* Mac: [install Xcode command line tools to get make](https://developer.apple.com/xcode/features/)
* Windows: [Click here for installation instructions](http://gnuwin32.sourceforge.net/packages/make.htm)
* gcc/g++ >= 5.4
* Linux: gcc / g++ is installed by default on most Linux distros
* Mac: same deal as make - [install Xcode command line tools](https://developer.apple.com/xcode/features/)
* Windows: recommend using [MinGW](http://www.mingw.org/)
## Basic Build Instructions
1. Clone this repo.
2. Make a build directory: `mkdir build && cd build`
3. Compile: `cmake .. && make`
* On windows, you may need to run: `cmake .. -G "Unix Makefiles" && make`
4. Run it: `./ExtendedKF `
## Editor Settings
We've purposefully kept editor configuration files out of this repo in order to
keep it as simple and environment agnostic as possible. However, we recommend
using the following settings:
* indent using spaces
* set tab width to 2 spaces (keeps the matrices in source code aligned)
## Code Style
Please (do your best to) stick to [Google's C++ style guide](https://google.github.io/styleguide/cppguide.html).
## Generating Additional Data
This is optional!
If you'd like to generate your own radar and lidar data, see the
[utilities repo](https://github.com/udacity/CarND-Mercedes-SF-Utilities) for
Matlab scripts that can generate additional data.
## Project Instructions and Rubric
Note: regardless of the changes you make, your project must be buildable using
cmake and make!
More information is only accessible by people who are already enrolled in Term 2
of CarND. If you are enrolled, see [the project resources page](https://classroom.udacity.com/nanodegrees/nd013/parts/40f38239-66b6-46ec-ae68-03afd8a601c8/modules/0949fca6-b379-42af-a919-ee50aa304e6a/lessons/f758c44c-5e40-4e01-93b5-1a82aa4e044f/concepts/382ebfd6-1d55-4487-84a5-b6a5a4ba1e47)
for instructions and the project rubric.
## Hints and Tips!
* You don't have to follow this directory structure, but if you do, your work
will span all of the .cpp files here. Keep an eye out for TODOs.
* Students have reported rapid expansion of log files when using the term 2 simulator. This appears to be associated with not being connected to uWebSockets. If this does occur, please make sure you are conneted to uWebSockets. The following workaround may also be effective at preventing large log files.
+ create an empty log file
+ remove write permissions so that the simulator can't write to log
* Please note that the ```Eigen``` library does not initialize ```VectorXd``` or ```MatrixXd``` objects with zeros upon creation.
## Call for IDE Profiles Pull Requests
Help your fellow students!
We decided to create Makefiles with cmake to keep this project as platform
agnostic as possible. Similarly, we omitted IDE profiles in order to ensure
that students don't feel pressured to use one IDE or another.
However! We'd love to help people get up and running with their IDEs of choice.
If you've created a profile for an IDE that you think other students would
appreciate, we'd love to have you add the requisite profile files and
instructions to ide_profiles/. For example if you wanted to add a VS Code
profile, you'd add:
* /ide_profiles/vscode/.vscode
* /ide_profiles/vscode/README.md
The README should explain what the profile does, how to take advantage of it,
and how to install it.
Regardless of the IDE used, every submitted project must
still be compilable with cmake and make.
## How to write a README
A well written README file can enhance your project and portfolio. Develop your abilities to create professional README files by completing [this free course](https://www.udacity.com/course/writing-readmes--ud777).
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 采用激光雷达和毫米波两种雷达+采用扩展卡尔曼滤波实现汽车的定位(源码+项目说明).zip
资源推荐
资源详情
资源评论
收起资源包目录
采用激光雷达和毫米波两种雷达+采用扩展卡尔曼滤波实现汽车的定位(源码+项目说明).zip (355个子文件)
Array 304B
Cholesky 775B
CholmodSupport 2KB
Core 13KB
main.cpp 5KB
FusionEKF.cpp 4KB
kalman_filter.cpp 2KB
tools.cpp 2KB
Dense 122B
Eigen 37B
Eigen2Support 3KB
Eigenvalues 1KB
Geometry 2KB
.gitignore 320B
Eigen_Colamd.h 60KB
Transform.h 56KB
GeneralBlockPanelKernel.h 45KB
SparseMatrix.h 44KB
JacobiSVD.h 40KB
Functors.h 38KB
Memory.h 37KB
PlainObjectBase.h 35KB
BlockMethods.h 34KB
blas.h 33KB
SuperLUSupport.h 32KB
TriangularMatrix.h 30KB
SelfAdjointEigenSolver.h 30KB
CwiseNullaryOp.h 29KB
Quaternion.h 29KB
SparseLU.h 28KB
FullPivLU.h 28KB
Transform.h 28KB
GeneralProduct.h 27KB
DenseCoeffsBase.h 27KB
VectorwiseOp.h 26KB
SparseBlock.h 26KB
SparseQR.h 26KB
Macros.h 25KB
PermutationMatrix.h 25KB
PacketMath.h 24KB
MatrixBase.h 24KB
Assign.h 23KB
PaStiXSupport.h 23KB
SimplicialCholesky.h 23KB
FullPivHouseholderQR.h 23KB
GeneralMatrixVector.h 23KB
MathFunctions.h 22KB
DenseBase.h 22KB
RealQZ.h 22KB
Tridiagonalization.h 22KB
ColPivHouseholderQR.h 22KB
EigenSolver.h 21KB
LDLT.h 21KB
PardisoSupport.h 21KB
CholmodSupport.h 20KB
RealSchur.h 19KB
CoeffBasedProduct.h 19KB
HouseholderSequence.h 19KB
SparseMatrixBase.h 19KB
PacketMath.h 18KB
SVD.h 18KB
SparseSelfAdjointView.h 18KB
TriangularMatrixMatrix.h 18KB
PartialPivLU.h 18KB
Complex.h 18KB
Constants.h 17KB
Matrix.h 17KB
XprHelper.h 17KB
DenseStorage.h 17KB
Quaternion.h 17KB
ComplexSchur.h 16KB
UmfPackSupport.h 16KB
GeneralMatrixMatrix.h 16KB
Block.h 16KB
LLT.h 16KB
Amd.h 16KB
SelfadjointMatrixMatrix.h 15KB
MathFunctions.h 15KB
PacketMath.h 15KB
Transpositions.h 15KB
IncompleteLUT.h 15KB
GeneralizedEigenSolver.h 15KB
TriangularMatrixVector.h 15KB
Transpose.h 15KB
Inverse.h 14KB
Jacobi.h 14KB
HessenbergDecomposition.h 14KB
Redux.h 14KB
TriangularSolverMatrix.h 14KB
AlignedBox.h 14KB
GeneralMatrixMatrixTriangular.h 14KB
ForwardDeclarations.h 13KB
SparseVector.h 13KB
Inverse_SSE.h 13KB
HouseholderQR.h 13KB
BandMatrix.h 13KB
TriangularMatrixMatrix_MKL.h 13KB
GenericPacketMath.h 12KB
ComplexEigenSolver.h 12KB
SuiteSparseQRSupport.h 12KB
共 355 条
- 1
- 2
- 3
- 4
资源评论
土豆片片
- 粉丝: 1572
- 资源: 5636
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 世界各大城市生活成本数据
- SSM2303GN-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- oracle-DBA操作常用SQL.txt
- SSM2302N-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- java基于 ssm + jsp 健身俱乐部网站系统源码 带毕业论文
- SSM2301N-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- java基于ssm+jsp学生网上请假系统源码 带毕业论文
- 硅片业务基础概念总结1
- 中国CPI年率报告,1981年到2024年
- SSG9973-VB一款2个N-Channel沟道SOP8的MOSFET晶体管参数介绍与应用说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功