move

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

Описание

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

пример

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

Примеры

свернуть все

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

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

load exampleMaps.mat
map = binaryOccupancyMap(complexMap);
show(map)

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

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

mapLocal = binaryOccupancyMap(complexMap(end-20:end,1:20));
show(mapLocal)

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

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

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

path = [5 2
        8 2
        8 8
        30 8];
show(map)
hold on
plot(path(:,1),path(:,2))
hold off

Figure contains an axes object. The axes object with title Binary 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
        pause(0.2)
    end
end

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

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

свернуть все

Сопоставьте представление в виде binaryOccupancyMap объект. Этот объект представляет среду транспортного средства.

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

Аргументы name-value

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

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

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

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

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

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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

| (Navigation Toolbox) |

Введенный в R2019b