Contenido principal

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

show

Mostrar TSDF en la figura

Desde R2024a

    Descripción

    show(mTSDF) muestra todos los vóxeles activos como un diagrama de dispersión.

    ejemplo

    show(mTSDF,Name=Value) especifica una o más opciones utilizando uno o más argumentos de nombre-valor.

    h = show(___) devuelve opcionalmente el identificador de la figura.

    Ejemplos

    contraer todo

    Crea dos cuadros de colisión y una esfera de colisión. Los cuadros de colisión representan un entorno estático y la esfera representa un obstáculo dinámico con una pose que podría cambiar en cualquier momento.

    box1 = collisionBox(0.5,1,0.1);
    box2 = collisionBox(0.5,0.1,0.2,Pose=trvec2tform([0 -0.45 0.15]));
    sph = collisionSphere(0.125,Pose=trvec2tform([-0.1 0.25 0.75]));
    showCollisionArray({box1,box2,sph});
    title("Static Environment and Dynamic Obstacle")
    v = [110 10];
    view(v);

    Figure contains an axes object. The axes object with title Static Environment and Dynamic Obstacle, xlabel X, ylabel Y contains 3 objects of type patch.

    Cree un administrador de TSDF de malla con una resolución de 25 celdas por metro.

    tsdfs = meshtsdf(Resolution=25);

    Para mejorar la eficiencia del cálculo del campo de distancia con signo, combine mallas que representen el entorno estático.

    staticMeshes = geom2struct({box1,box2});
    staticEnv = staticMeshes(1);
    staticEnv.Pose = eye(4);
    staticEnv.Vertices = [];
    staticEnv.Faces = [];
    for i = 1:numel(staticMeshes)
        H = staticMeshes(i).Pose;
        V = staticMeshes(i).Vertices*H(1:3,1:3)'+ H(1:3,end)';
        nVert = size(staticEnv.Vertices,1);
        staticEnv.Vertices = [staticEnv.Vertices; V];
        staticEnv.Faces = [staticEnv.Faces; staticMeshes(i).Faces+nVert];
    end
    staticEnv.ID = 1;

    Agregue la malla de entorno estático al administrador TSDF.

    addMesh(tsdfs,staticEnv);

    Convierte la geometría de colisión de esfera en una estructura para el administrador de malla TSDF. Asígnele un ID de 2 y agréguelo al administrador de malla TSDF.

    obstacleID = 2;
    dynamicObstacle = geom2struct(sph,obstacleID);
    addMesh(tsdfs,dynamicObstacle);
    show(tsdfs)
    view(v)
    axis equal
    title("Mesh TSDFs of Static Environment and Dynamic Obstacle")

    Figure contains an axes object. The axes object with title Mesh TSDFs of Static Environment and Dynamic Obstacle contains 2 objects of type scatter.

    Actualice la pose del obstáculo dinámico en el administrador de malla TSDF cambiando la propiedad Pose del controlador de objeto del obstáculo. Luego, utilice la función updatePose para actualizar la pose de la malla en el administrador TSDF.

    dynamicObstacle.Pose = trvec2tform([0.2 0.25 0.2]);
    updatePose(tsdfs,dynamicObstacle)
    ans = 
    1
    
    show(tsdfs)
    view(v)
    axis equal
    title("Updated Dynamic Obstacle Pose")

    Figure contains an axes object. The axes object with title Updated Dynamic Obstacle Pose contains 2 objects of type scatter.

    Argumentos de entrada

    contraer todo

    Campo de distancia con signo truncado para mallas 3D, especificado como un objeto meshtsdf.

    Ejemplo: meshtsdf(meshes,TruncationDistance=5) crea un TSDF para las mallas especificadas con una distancia de truncamiento de 5 metros.

    Argumentos de par nombre-valor

    contraer todo

    Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de los otros argumentos, pero el orden de los pares no importa.

    Ejemplo: show(tsdf,MeshID=[2 3]) traza los vóxeles activos para las mallas en el TSDF con los identificadores 2 y 3.

    Ejes principales, especificados como un objeto Axes en el que trazar los vóxeles activos de mTSDF. De forma predeterminada, la función traza los vóxeles activos en los ejes activos. Para obtener más información, consulte Axes Properties.

    ID de la malla en TSDF a visualizar, especificada como un entero no negativo o un vector de elementos N de enteros no negativos. N es el número total de mallas a mostrar.

    Ejemplo: show(tsdf,MeshID=2) traza vóxeles activos de la malla en el TSDF con el ID 2.

    Ejemplo: show(tsdf,MeshID=[1 2 3]) traza vóxeles activos de mallas en el TSDF con los identificadores 1, 2 y 3.

    Rango de valores de distancia a graficar, especificado como un vector de dos elementos en la forma [MinDistVal MaxDistVal]. Un vóxel activo debe tener un valor de distancia en el rango [MinDistVal, MaxDistVal] para ser graficado. MaxDistVal debe ser un valor mayor que MinDistVal.

    Ejemplo: show(tsdf,IsoRange=[-2 2]) traza vóxeles activos que contienen valores de distancia entre -2 y 2 de todas las mallas en el TSDF.

    Barra de colores para los valores de distancia de vóxel, especificados como "off" o "on". Para obtener más información sobre las barras de colores, consulte ColorBar Properties.

    Ejemplo: show(sdm,Colorbar="on")

    Actualizaciones rápidas del trazado del mapa existente, especificado como 0 (false) o 1 (true) lógico. Si previamente trazó su mapa en su figura, configúrelo en 1 para una actualización más rápida de la figura. Esto es útil para actualizar la figura en un bucle para animaciones rápidas.

    Argumentos de salida

    contraer todo

    Diagrama de dispersión de vóxeles activos, devuelto como un objeto Scatter. Para obtener más información, consulte Scatter Properties.

    Historial de versiones

    Introducido en R2024a

    Consulte también

    |