https://github.com/RomaTeng/EKF-SLAM-on-Manifold
Raw File
Tip revision: 12d7d8d88c84161baed173e38d49dedb4adb2b96 authored by Teng Zhang on 26 February 2017, 15:09 UTC
Record my control paper
Tip revision: 12d7d8d
comparison_3d.m
% comparison of following methods in 3D environment
% - REKF SLAM 
% - FEJ-EKF SLAM
% - T-EKF-SLAM
clear;
clc;
close all;
% add directories
addpath('datagen_3d/');
addpath('f_ekf_3dTest_mod/');
addpath('se3_ekf_3d/');
addpath('robotcentric_ekf_3d_mod/');
addpath('right_ekf_3d_mod/');
addpath('not_right_ekf_3d/');
addpath('ekf_3d_mod/');
addpath('lie_utils/');
% generate simulation data
data = gen_data(0);
%load('data/1.mat');
nposes = size(data.poses.position, 2);
nlandmarks = size(data.landmarks, 1);
fprintf('Generate %d poses and %d landmarks\n', nposes, nlandmarks);






 fprintf('R-EKF-mod\n');
REKF_result = REKF_SLAM( data );
%REKF_plot_estimation( REKF_result, data );
REKF_plot_rms_nees( REKF_result, data, 1 );




fprintf('F-EKF\n');
FEKF_result = FEKF_SLAM( data );
%FEKF_plot_estimation( FEKF_result, data );
FEKF_plot_rms_nees( FEKF_result, data, 1 );



fprintf('RobotCentric-EKF\n');
RocEKF_result = RocEKF_SLAM( data );
%RocEKF_plot_estimation( RocEKF_result, data );
RocEKF_plot_rms_nees( RocEKF_result, data, 1 );


fprintf('EKF\n');
EKF_result = EKF_SLAM( data );
%EKF_plot_estimation( EKF_result, data );
EKF_plot_rms_nees( EKF_result, data, 1 );




% fprintf('se3-EKF\n');
% se3EKF_result = se3EKF_SLAM( data );
% %REKF_plot_estimation( REKF_result, data );
% se3EKF_plot_rms_nees( se3EKF_result, data, 1 );


% fprintf('notR-EKF-EKF\n');
% notREKF_result = notREKF_SLAM( data );
% %REKF_plot_estimation( REKF_result, data );
% notREKF_plot_rms_nees( notREKF_result, data, 0 );

back to top