exponenta event banner

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