syncWith

Синхронизация карты с перекрывающейся картой

Описание

пример

mat = syncWith(map,sourcemap) обновлений map с данными из другого occupancyMap объект, sourcemap. Местоположения в map которые также находятся в sourcemap обновляются. Все другие камеры в map сохранить свои текущие значения.

Примеры

свернуть все

Этот пример показывает, как переместить локальную эгоцентрическую карту и синхронизировать ее с большей картой мира. Этот процесс эмулирует транспортное средство в окружении и получение обновлений о препятствиях в новых областях.

Загрузите карты примера. Создайте карту заполнения из ternaryMap.

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

Figure contains an axes. The axes with title Occupancy Grid contains an object of type image.

Создайте меньшую локальную карту.

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

Figure contains an axes. The axes with title Occupancy Grid contains an object of type image.

Следуйте пути, запланированного на карте мира, и обновляйте локальную карту, когда вы перемещаете свою локальную систему координат.

Задайте местоположение пути и постройте график на карте.

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

Figure contains an axes. The axes with title Occupancy Grid contains 2 objects of type image, line.

Создайте цикл для перемещения между точками с помощью разрешения карты. Разделите различие между точками на разрешение карты, чтобы увидеть, сколько инкрементных движений вы можете сделать.

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

Figure contains an axes. The axes with title Occupancy Grid contains an object of type image.

Входные параметры

свернуть все

Представление карты, заданное как occupancyMap, mapLayer, или multiLayerMap объект.

Исходные данные карты, заданные как occupancyMap, mapLayer, или multiLayerMap объект.

Введенный в R2019b