資源簡介
基于卡爾曼濾波的機器人slam導航算法 matlab demo,有簡潔的gui界面。方便開發和修改。。

代碼片段和文件信息
function?[World?rob]?=?configuration(rob?sen_rf?Lmks?Wpts?AxisDim)
global?RunTime;
????%?If?you?want?to?make?any?changes?to?the?default?robot/sensor?settings
????%?then?do?that?here?-?the?changes?will?be?passed?back?into?the?main
????%?SLAM?function.
????
????%?Set?robot?at?first?waypoint
????rob.R(1:2)?=?Wpts(:1);
????%?Orient?robot?towards?second?waypoint
????rob.R(3)?=?bearingToPoint(rob.R?Wpts(:?2))?+?rob.R(3);
????%?Initial?pose?estimate?is?perfect
????rob.r?=?rob.R;
????
????%?These?values?are?set?by?an?engineer?to?match?the?system:
????World.Q?=?diag(rob.q?.^?2);?????%?System?uncertainty
????World.M?=?diag(sen_rf.noise?.^?2);?%?Measurement?uncertainty
????
????World.tend?=?RunTime;
????%?Initialise?landmarks?and?waypoints
????World.W?=?Lmks;
????World.Wpts?=?Wpts;
????
????%?Initialise?measurement?vector
????World.y?=?zeros(2size(World.W2));
????%?Initialise?state?and?covariance?vectors
????World.x?=?zeros(numel(rob.r)+numel(World.W)?1);????%?State?estimate
????World.P?=?zeros(numel(World.x)numel(World.x));?????%?Covariance?matrix
????World.mapspace?=?1:numel(World.x);??????????????????%?State?map?availability
????World.l?=?zeros(2?size(World.W2));????????????????%?Landmark?positions
????%?Find?anad?reserve?mapspace?for?robot?pose
????World.r?=?find(World.mapspacenumel(rob.r));
????World.mapspace(World.r)?=?0;
????World.x(World.r)?=?rob.R;?????%?Set?initial?pose?estimate?equal?to?truth
????World.P(World.r?World.r)?=?0;??%?Set?initial?pose?covariance?equal?to?0
????
????%?Initialise?historical?vectors
????World.R_hist?=?zeros(2?World.tend);
????World.r_hist?=?zeros(2?World.tend);
????World.Pr_hist?=?zeros(2?World.tend);
????World.error_hist?=?zeros(1?World.tend);
????World.scan_error_hist?=?zeros(2?World.tend);
????World.odo_error_hist?=?zeros(2?World.tend);
????World.turning_hist?=?zeros(1?World.tend);
????World.weight_scan_hist?=?zeros(1?World.tend);
????World.weight_odo_hist?=?zeros(1?World.tend);
????%%%%%%%%%%%%%%%%%%%%%%%%%?MAPPING?SETTINGS?%%%%%%%%%%%%%%%%%%%%%%%%%%%%
????%?Map?resolution?(grid?size)
????World.map_res?=?0.5;
????%?Scan?correlation?tolerance.?This?defines?the?minimum?number?of
????%?correlations?required?for?a?scan?match?to?be?accepted
????World.scan_corr_tolerance?=?20;
????%?Descretised?grid?map?values
????World.map_vals?=?-AxisDim+World.map_res:World.map_res:AxisDim-World.map_res;
????World.gridmap?=?zeros(AxisDim?*?2?/?World.map_res?-?1);
????World.gridmap_counter?=?ones(size(World.gridmap))?*?round(255/2);
????World.scan_data?=?[];
????World.scan_global?=?[];
????World.scan_true?=?[];
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????????9??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\.gitignore
?????文件???????2058??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\3rd-party\cov2elli.m
?????文件??????10205??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\3rd-party\ginputax.m
?????文件???????2660??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\configuration.m
?????文件??????15142??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\ekfSLAM.m
?????文件???????7190??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\gridmap.tiff
?????文件??????14892??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\mapMakerGUI.fig
?????文件??????23781??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\mapMakerGUI.m
?????文件???????5540??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\Obstacle.m
?????文件???????1674??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\README.md
?????文件???????6631??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\Robot.m
?????文件????????996??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\sample-maps\map_bedroom.mat
?????文件????????674??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\sample-maps\map_corridor.mat
?????文件???????1731??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\sample-maps\map_largefloor.mat
?????文件???????1016??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\sample-maps\map_movement.mat
?????文件???????1153??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\sample-maps\map_windycorridor.mat
?????文件???????1770??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\Sensor.m
?????文件????????710??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\setup.m
?????文件????????714??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\arbitrary.mat
?????文件????????904??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\circular.mat
?????文件????????646??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\corner.mat
?????文件????????674??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\corridor.mat
?????文件???????1590??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\getSaliency.asv
?????文件???????1598??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\getSaliency.m
?????文件???????1724??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\medFilterScan.m
?????文件???????1049??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\medFilterScan.mat
?????文件????????711??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\obstacles.mat
?????文件???????8171??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\scanTest.fig
?????文件???????2486??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tests\testICP.m
?????文件?????????97??2013-12-16?07:25??卡爾曼濾波\ekf-slam-matlab-master\tools\bearingToPoint.m
............此處省略41個文件信息
評論
共有 條評論