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

Для просмотра документации необходимо авторизоваться на сайте