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