Tracking-multiple-cars-on-the-highway-using-UKF

所属分类:雷达系统
开发工具:C++
文件大小:90822KB
下载次数:0
上传日期:2020-02-21 20:00:25
上 传 者sh-1993
说明:  在这个项目中,我实现了无中心卡尔曼滤波器,以估计公路上多辆汽车的状态,使用n...
(In this project I implemented the Unscented Kalman Filter to estimate the state of multiple cars on a highway using noisy lidar and radar measurements.)

文件列表:
CMakeLists.txt (497, 2020-02-22)
src (0, 2020-02-22)
src\Eigen (0, 2020-02-22)
src\Eigen\Array (304, 2020-02-22)
src\Eigen\CMakeLists.txt (607, 2020-02-22)
src\Eigen\Cholesky (775, 2020-02-22)
src\Eigen\CholmodSupport (1670, 2020-02-22)
src\Eigen\Core (12826, 2020-02-22)
src\Eigen\Dense (122, 2020-02-22)
src\Eigen\Eigen (37, 2020-02-22)
src\Eigen\Eigen2Support (3295, 2020-02-22)
src\Eigen\Eigenvalues (1394, 2020-02-22)
src\Eigen\Geometry (1605, 2020-02-22)
src\Eigen\Householder (580, 2020-02-22)
src\Eigen\IterativeLinearSolvers (1594, 2020-02-22)
src\Eigen\Jacobi (645, 2020-02-22)
src\Eigen\LU (983, 2020-02-22)
src\Eigen\LeastSquares (712, 2020-02-22)
src\Eigen\MetisSupport (697, 2020-02-22)
src\Eigen\OrderingMethods (2189, 2020-02-22)
src\Eigen\PaStiXSupport (1467, 2020-02-22)
src\Eigen\PardisoSupport (864, 2020-02-22)
src\Eigen\QR (926, 2020-02-22)
src\Eigen\QtAlignedMalloc (637, 2020-02-22)
src\Eigen\SPQRSupport (930, 2020-02-22)
src\Eigen\SVD (858, 2020-02-22)
src\Eigen\Sparse (594, 2020-02-22)
src\Eigen\SparseCholesky (1433, 2020-02-22)
src\Eigen\SparseCore (1835, 2020-02-22)
src\Eigen\SparseLU (1776, 2020-02-22)
src\Eigen\SparseQR (991, 2020-02-22)
src\Eigen\StdDeque (749, 2020-02-22)
src\Eigen\StdList (682, 2020-02-22)
src\Eigen\StdVector (755, 2020-02-22)
src\Eigen\SuperLUSupport (1904, 2020-02-22)
src\Eigen\UmfPackSupport (1151, 2020-02-22)
src\Eigen\src (0, 2020-02-22)
src\Eigen\src\CMakeLists.txt (308, 2020-02-22)
... ...

# Tracking-multiple-cars-on-the-highway-using-UKF In this project I implemented the Unscented Kalman Filter to estimate the state of multiple cars on a highway using noisy lidar and radar measurements. ## The Kalman Filter algorithm will go through the following steps: - 1. first measurement - the filter will receive initial measurements of the car's position relative to our car. These measurements will come from a radar or lidar sensor. - 2. initialize state and covariance matrices - the filter will initialize the car's position based on the first measurement. - 3. then the car will receive another sensor measurement after a time period Δt. - 4. predict - the algorithm will predict where the cars will be after time Δt using Unscented Kalman filter. - 5. Measurement update – the measurement update step depends on sensor type. If the current measurements are generated by a Laser sensor, then we just apply a standard Kalman filter to update the car’s state. However, Radar measurements involve a non-linear measurement function. So, when we receive Radar measurements, we may use Unscented Kalman filter. - 6. then the car will receive another sensor measurement after a time period Δt. The algorithm then does another predict and update step. ![image](https://user-images.githubusercontent.com/59261333/75063456-a75b9200-54ed-11ea-9bdc-b2194c6548f0.png) ## Motion Models there are many models including: - constant velocity model (CV). - constant turn rate and velocity magnitude model (CTRV). - constant turn rate and acceleration (CTRA). - constant steering angle and velocity (CSAV). - constant curvature and acceleration (CCA). Each model makes different assumptions about an object's motion. In our project, we will work with the CTRV model. With the assumption that the velocity is constant, you’re simplifying the way vehicles actually move because most roads have turns. But this is a problem because a process model with the assumption of constant velocity and directions (assumes objects can move straight) will predict turning vehicles incorrectly. ![image](https://user-images.githubusercontent.com/59261333/75063865-7af44580-54ee-11ea-8224-4d4614218d55.png) The state vector: ![image](https://user-images.githubusercontent.com/59261333/75063***0-b***a0000-54ee-11ea-8ed7-591635a1353b.png) ![image](https://user-images.githubusercontent.com/59261333/750***202-1e455a80-54ef-11ea-925e-41be3a75c367.png) ## Basic Build Instructions 1. Clone this repo. 2. Make a build directory: `mkdir build && cd build` 3. Compile: `cmake .. && make` 4. Run it: `./ukf_highway`

近期下载者

相关文件


收藏者