www.gusucode.com > matlab编程实现平台的slam模拟器源码程序 > matlab编程实现平台的slam模拟器源码程序/ekf-slam-matlab-master/tools/initGraphics.m

    % Author: Jai Juneja
% Date: 13/02/2013
%
% Initialise graphics handles.
function Graphics = initGraphics(World, Obstacles, handles)

    Graphics.Map = line('parent',handles.mainAxes,...
        'linestyle','none',...
        'marker','s',...
        'MarkerFaceColor', 'y', ...
        'color','y',...
        'xdata',[],...
        'ydata',[]);
    
    Graphics.World = line('parent',handles.mainAxes,...
        'linestyle','none',...
        'marker','o',...
        'color','b',...
        'xdata',World.W(1,:),...
        'ydata',World.W(2,:));

    Graphics.TrueRob = line('parent',handles.mainAxes,...
        'color','b',...
        'xdata',[],...
        'ydata',[]);
    
    Graphics.Rob = line('parent',handles.mainAxes,...
        'color','r',...
        'xdata',[],...
        'ydata',[]);

    Graphics.Lmk = line('parent',handles.mainAxes,...
        'linestyle','none',...
        'marker','+',...
        'color','g',...
        'xdata',[],...
        'ydata',[]);

    Graphics.LmkLines = line(...
        'parent',handles.mainAxes, ...
        'color','g', ...
        'xdata',[], ...
        'ydata',[]);

    Graphics.Ellipse = zeros(1,size(World.W,2));
    for i = 1:numel(Graphics.Ellipse)
        Graphics.Ellipse(i) = line(...
            'parent', handles.mainAxes,...
            'color','r',...
            'xdata',[],...
            'ydata',[]);
    end

    Graphics.RobCov = line(...
        'parent', handles.mainAxes,...
        'color','r',...
        'xdata',[],...
        'ydata',[]);
    
    if ~isempty(Obstacles)
        for i = 1:length(Obstacles)
            Obstacles(i).graphics = [];
            Obstacles(i).plot(handles.mainAxes);
        end
    end
    
    Graphics.Scan = line('parent',handles.mainAxes,...
        'linestyle','none',...
        'marker','x',...
        'color','r',...
        'xdata',[],...
        'ydata',[]);
    
    Graphics.R_hist = line('xdata', [], ...
        'ydata', [], ...
        'color', 'b', ...
        'parent', handles.mainAxes);

    Graphics.r_hist = line('xdata', [], ...
        'ydata', [], ...
        'color', 'r', ...
        'parent', handles.mainAxes);
    
    Graphics.map1 = imagesc([], ...
        'parent', handles.map1);
    colormap(gray);
    axis equal
    
    Graphics.map2 = imagesc([], ...
        'parent', handles.map2);
    colormap(gray);
    axis equal

end