src/ukf.cpp
/**
 * Initializes Unscented Kalman filter
 * This is scaffolding, do not modify
 */
Initializes Unscented Kalman filter
This is scaffolding, do not modify
Initializes Unscented Kalman filter This is scaffolding do not modify
UKF::UKF() {
  use_laser_ = true;
  use_radar_ = true;
  x_ = VectorXd(5);
  x_.fill(0.0);
  P_ = MatrixXd(5, 5);
  P_.fill(0.0);
  std_a_ = 0.4;
  std_yawdd_ = 0.52;
  std_laspx_ = 0.15;
  std_laspy_ = 0.15;
  std_radr_ = 0.3;
  std_radphi_ = 0.03;
  std_radrd_ = 0.3;
  R_radar_ = MatrixXd(3,3);
  R_radar_ <<    std_radr_*std_radr_, 0, 0,
                 0, std_radphi_*std_radphi_, 0,
                 0, 0,std_radrd_*std_radrd_;
  R_lidar_ = MatrixXd(2,2);
  R_lidar_ << std_laspx_ * std_laspx_, 0,
              0, std_laspy_ * std_laspy_;
  time_us_ = 0;
  n_x_ = 5;
  n_aug_ = 7;
  lambda_ = 3 - n_aug_;
  is_initialized_ = false;
  P_ << .3, 0, 0,  0,  0,
        0, .5, 0,  0,  0,
        0,  0, 4,  0,  0,
        0,  0, 0, .1,  0,
        0,  0, 0,  0, .1;
  weights_ = VectorXd(2*n_aug_+1);
  weights_(0) = lambda_/(lambda_+n_aug_);
  for (int i=1; i<2*n_aug_+1; i++) 
  {  
    weights_(i) = 0.5/(n_aug_+lambda_);
  }
  Xsig_pred_ = MatrixXd(n_x_, 2 * n_aug_ + 1);
  Xsig_pred_.fill(0.0);
  radar_samples_total = 0;
  lidar_samples_total = 0;
  radar_samples_over_NIS_high_percenticle = 0;
  lidar_samples_over_NIS_high_percenticle = 0;
}
UKF :: UKF ( ) { use_laser_ = true ; use_radar_ = true ; x_ = VectorXd ( 5 ) ; x_ . fill ( 0.0 ) ; P_ = MatrixXd ( 5 , 5 ) ; P_ . fill ( 0.0 ) ; std_a_ = 0.4 ; std_yawdd_ = 0.52 ; std_laspx_ = 0.15 ; std_laspy_ = 0.15 ; std_radr_ = 0.3 ; std_radphi_ = 0.03 ; std_radrd_ = 0.3 ; R_radar_ = MatrixXd ( 3 , 3 ) ; R_radar_ << std_radr_ * std_radr_ , 0 , 0 , 0 , std_radphi_ * std_radphi_ , 0 , 0 , 0 , std_radrd_ * std_radrd_ ; R_lidar_ = MatrixXd ( 2 , 2 ) ; R_lidar_ << std_laspx_ * std_laspx_ , 0 , 0 , std_laspy_ * std_laspy_ ; time_us_ = 0 ; n_x_ = 5 ; n_aug_ = 7 ; lambda_ = 3 - n_aug_ ; is_initialized_ = false ; P_ << .3 , 0 , 0 , 0 , 0 , 0 , .5 , 0 , 0 , 0 , 0 , 0 , 4 , 0 , 0 , 0 , 0 , 0 , .1 , 0 , 0 , 0 , 0 , 0 , .1 ; weights_ = VectorXd ( 2 * n_aug_ + 1 ) ; weights_ ( 0 ) = lambda_ / ( lambda_ + n_aug_ ) ; for ( int i = 1 ; i < 2 * n_aug_ + 1 ; i ++ ) { weights_ ( i ) = 0.5 / ( n_aug_ + lambda_ ) ; } Xsig_pred_ = MatrixXd ( n_x_ , 2 * n_aug_ + 1 ) ; Xsig_pred_ . fill ( 0.0 ) ; radar_samples_total = 0 ; lidar_samples_total = 0 ; radar_samples_over_NIS_high_percenticle = 0 ; lidar_samples_over_NIS_high_percenticle = 0 ; }
Initializes Unscented Kalman filter
 This is scaffolding, do not modify
Initializes Unscented Kalman filter This is scaffolding do not modify
// if this is false, laser measurements will be ignored (except during init) // if this is false, radar measurements will be ignored (except during init) // initial state vector // initial covariance matrix // Process noise standard deviation longitudinal acceleration in m/s^2 // Process noise standard deviation yaw acceleration in rad/s^2 //DO NOT MODIFY measurement noise values below these are provided by the sensor manufacturer. // Laser measurement noise standard deviation position1 in m // Laser measurement noise standard deviation position2 in m // Radar measurement noise standard deviation radius in m // Radar measurement noise standard deviation angle in rad // Radar measurement noise standard deviation radius change in m/s //DO NOT MODIFY measurement noise values above these are provided by the sensor manufacturer. /**
  TODO:

  Complete the initialization. See ukf.h for other member properties.
  
  Hint: one or more values initialized above might be wildly off...
  */ ///* State dimension ///* Augmented state dimension ///* Sigma point spreading parameter