110 likes | 349 Views
UKF Localization. Brought to you by Max Peckham. UKF Review. Relies on a function to linearize inputs, in this case an unscented transform. Passes “sigma points” x [#] through this function to better calculate the mean and variance. For n-dimensions, results in 2n+1 sigma points
E N D
UKF Localization Brought to you by Max Peckham
UKF Review • Relies on a function to linearize inputs, in this case an unscented transform. • Passes “sigma points” x[#] through this function to better calculate the mean and variance. • For n-dimensions, results in 2n+1 sigma points • For each sigma point, we have a weight for mean w[#]mand a weight for covariance w[#]c
UKF Localization • Feature-based • Assumes only one landmark contained in observation zt • Assumes identity of that landmark is known
Jacobians There are none
Generating the augmented mean and covariance Motion model ut = (vt wt)T Measurement model zt = (rtφt st)T Step 2: Calculate the control noise covariance: a1 through a4 are used to adjust the algorithm as the designer sees fit. vt and wt are translational, and rotational velocity respectively. Step 3: Calculate the measurement noise covariance: σ2r and σ2φ are the variances of the relative distance and bearing to the marker. Step 4: Calculate the augmented mean. The zeroes prevent the robot from becoming self-aware and destroying humanity. Also, they act as place-holders for the measurement and control noise values. Step 5: Calculate augmented covariance matrix.
Generating Sigma Points (for fun and profit) ϒ = sqrt(n + λ) λ = α2(n+k)-n Step 6: In this step we generate the sigma points. α and k are scaling parameters that determine how far away the sigma points are from the mean. n is the number of dimensions in the state-space.
Pass sigma points through motion model and compute Guassian statistics A sigma point contains three components: Xxt : state Xut : control Xzt : measurement Weights are calculated thusly: Mean: w[0]m = λ/(n+ λ) Covariance: w[0]c = (λ/(n+ λ))+(1-α2+β) (α is the α mentioned earlier, β is used to encode “higher order” knowledge) Step 7: The location components Xxt -1of the sigma points are passed through the velocity model g() along with the control u and the added component Xut. This serves as the prediction step for the sigma points, which will be used to calculate the predicted mean and covariance. Step 8: Calculate the predicted mean by summing the sigma-point states times the mean-weights. Step 9: Calculate the predicted covariance.
If the distribution is an exact Gaussian, then β = 2 is an optimal choice. So says Cthulhu (and Thrun, Burgard and Fox)
Predict observations at sigma points and compute Gaussian statistics Step 10: Here we are generating measurement sigma-points. Step 11: Calculate the mean of the predicted observation by summing up the measurement sigma-points multiplied by the given weights. Step 12: Calculate the covariance of the predicted observation. Step 13: Obtain the cross-covariance between the robot location and observation.
Update mean AND covariance. Step 14: Calculate the gain. Step 15: Calculate the mean. Step 16: Calculate the covariance. Step 17: Compute the measurement likelihood.