move

Переместите карту в мировую систему координат

Описание

move(map,moveValue) перемещает локальный источник карты к абсолютному местоположению, moveValue, в мировой системе координат и обновлениях пределы карты. Переместитесь значения являются усеченными на основе разрешения карты. По умолчанию недавно показанные области установлены в map.DefaultValue.

пример

move(map,moveValue,Name,Value) задает дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение".

Примеры

свернуть все

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Сопоставьте представление, заданное как occupancyMap объект. Этот объект представляет среду транспортного средства. Объект содержит матричную сетку со значениями, представляющими вероятность заполнения той ячейки. Значения близко к 1 представляют высокую вероятность, что ячейка содержит препятствие. Значения близко к 0 представляют высокую вероятность, что ячейка не занята и свободное препятствие.

Локальный источник карты перемещает значение, заданное как [x y] вектор. По умолчанию значение является абсолютным местоположением, чтобы переместить локальный источник в в мировой системе координат. Используйте MoveType пара "имя-значение", чтобы задать относительное перемещение.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'MoveType','relative'

Тип перемещения, заданного как 'absolute' или 'relative'. Для относительных перемещений задайте относительный [x y] вектор для moveValue на основе вашей текущей локальной системы координат.

Заполните значение для показанных местоположений из-за переключенных пределов карты, заданных как 0 или 1.

Вторичная карта, чтобы синхронизировать с, заданный как occupancyMap объект. Любые показанные местоположения на основе перемещения обновляются со значениями в этой карте с помощью мировых координат.

Смотрите также

| |

Введенный в R2019b