Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

syncWith

Sincronizar mapa con mapa superpuesto

Desde R2019b

Descripción

ejemplo

mat = syncWith(map,sourcemap) actualiza map con datos de otro objeto occupancyMap , sourcemap. Se actualizan las ubicaciones en map que también se encuentran en sourcemap . Todas las demás celdas en map conservan sus valores actuales.

Ejemplos

contraer todo

Este ejemplo muestra cómo mover un mapa egocéntrico local y sincronizarlo con un mapa mundial más grande. Este proceso emula un vehículo que conduce en un entorno y obtiene actualizaciones sobre los obstáculos en las nuevas áreas.

Cargar mapas de ejemplo. Cree un mapa de ocupación a partir del ternaryMap.

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

Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

Crea un mapa local más pequeño.

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

Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

Siga una ruta planificada en el mapa mundial y actualice el mapa local a medida que mueve su marco local.

Especifique las ubicaciones de las rutas y trácelas en el mapa.

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

Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains 2 objects of type image, line.

Cree un bucle para moverse entre puntos según la resolución del mapa. Divide la diferencia entre puntos por la resolución del mapa para ver cuántos movimientos incrementales puedes hacer.

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(mapLocal,map) 
        show(mapLocal)
        drawnow limitrate
    end
end

Figure contains an axes object. The axes object with title Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

Argumentos de entrada

contraer todo

Representación de mapa, especificada como un occupancyMap, mapLayer, multiLayerMap o signedDistanceMap .

Datos del mapa de origen, especificados como un occupancyMap, mapLayer, multiLayerMap o signedDistanceMap .

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2019b

expandir todo