syncWith

Sync map with overlapping map

Description

example

mat = syncWith(map,sourcemap) updates map with data from another occupancyMap object, sourcemap. Locations in map that are also found in sourcemap are updated. All other cells in map are set to map.DefaultValue.

Examples

collapse all

This example shows how to move a local egocentric map and sync it with a larger world map. This process emulates a vehicle driving in an environment and getting updates on obstacles in the new areas.

Load example maps. Create an occupancy map from the ternaryMap.

load exampleMaps.mat
map = occupancyMap(ternaryMap);
show(map)

Create a smaller local map.

mapLocal = occupancyMap(ternaryMap(end-200:end,1:200));
show(mapLocal)

Follow a path planned in the world map and update the local map as you move your local frame.

Specify path locations and plot on the map.

path = [100 100
        100 250
        200 250
        300 250];
show(map)
hold on
plot(path(:,1),path(:,2))
hold off

Create a loop for moving between points by the map resolution. Divide the difference between points by the map resolution to see how many incremental moves you can make.

for i = 1:length(path)-1
    moveAmount = (path(i+1,:)-path(i,:))/map.Resolution;
    for j = 1:abs(moveAmount(1)+moveAmount(2))
        moveValue = sign(moveAmount).*map.Resolution;
        move(mapLocal,moveValue, ...
            "MoveType","relative","SyncWith",map)
 
        show(mapLocal)
        drawnow limitrate
    end
end

Input Arguments

collapse all

Map representation, specified as a occupancyMap object. This object represents the environment of the sensor. The object contains a matrix grid with values representing the probability of the occupancy of that cell. Values close to 1 represent a high probability that the cell contains an obstacle. Values close to 0 represent a high probability that the cell is not occupied and obstacle free.

Map representation, specified as a occupancyMap object. This object represents the environment of the sensor. The object contains a matrix grid with values representing the probability of the occupancy of that cell. Values close to 1 represent a high probability that the cell contains an obstacle. Values close to 0 represent a high probability that the cell is not occupied and obstacle free.

Introduced in R2019b