exponenta event banner

show3D

Визуализация сценария БПЛА в 3-D

    Описание

    пример

    [ax,plottedFrames] = show3D(scene) визуализирует последние состояния платформ и датчиков в сценарии БПЛА scene вместе со всеми статическими сетками. Функция также возвращает оси, по которым печатается сцена, и кадры, по которым печатается каждый объект.

    [ax,plottedFrames] = show3D(scene,time) визуализирует сценарий БПЛА на указанном time.

    [ax,plottedFrames] = show3D(___,Name,Value) задает дополнительные параметры с помощью пар Имя (Name) - Значение (Value). Заключить каждый Name в кавычках.

    Примеры

    свернуть все

    Создайте сценарий БПЛА и задайте его локальное происхождение.

    scene = uavScenario("UpdateRate",200,"StopTime",2,"ReferenceLocation",[46, 42, 0]); 

    Добавление инерционного кадра с именем MAP к скнеарио.

    scene.addInertialFrame("ENU","MAP",trvec2tform([1 0 0])); 

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

    scene.addMesh("Polygon", {[-100 0; 100 0; 100 100; -100 100],[-5 0]},[0.3 0.3 0.3]);
    scene.addMesh("Cylinder", {[20 10 10],[0 30]}, [0 1 0]); 
    scene.addMesh("Cylinder", {[46 42 5],[0 20]}, [0 1 0], "UseLatLon", true); 

    Создать в сценарии платформу БПЛА с заданной траекторией ППМ. Определите сетку для платформы БПЛА.

    traj = waypointTrajectory("Waypoints", [0 -20 -5; 20 -20 -5; 20 0 -5],"TimeOfArrival",[0 1 2]); 
    uavPlat = uavPlatform("UAV",scene,"Trajectory",traj); 
    updateMesh(uavPlat,"quadrotor", {4}, [1 0 0],eul2tform([0 0 pi])); 
    addGeoFence(uavPlat,"Polygon", {[-50 0; 50 0; 50 50; -50 50],[0 100]},true,"ReferenceFrame","ENU"); 

    Прикрепите датчик ИНС к передней части платформы БПЛА.

    insModel = insSensor(); 
    ins = uavSensor("INS",uavPlat,insModel,"MountingLocation",[4 0 0]); 

    Визуализация сценария в 3-D.

    ax = show3D(scene); 
    axis(ax,"equal"); 

    Смоделировать сценарий.

    setup(scene); 
    while advance(scene) 
        % Update sensor readings 
        updateSensors(scene); 
    
        % Visualize the scenario 
        show3D(scene,"Parent",ax,"FastUpdate",true); 
        drawnow limitrate 
    end 

    Входные аргументы

    свернуть все

    Сценарий БПЛА, указанный как uavScenario объект.

    Временная метка, при которой отображается сценарий, заданный как неотрицательный скаляр. Отметка времени уже должна быть сохранена в сценарии. Для изменения количества сохраненных отметок времени используйте HistoryBufferSize имущества uavScenario объект, scene.

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

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

    Пример:

    Родительские оси для печати, заданные как axes объект или uiaxes объект.

    Включить обновление с предыдущей карты, указанной как true или false. Если указано как true, функция отображает карту посредством облегченного обновления предыдущей карты на рисунке. Если указано как falseфункция каждый раз отображает всю сцену на рисунке.

    Выходные аргументы

    свернуть все

    Оси, по которым выводится сценарий, возвращаемый как axes объект или uiaxes объект.

    Информация о кадре на графике, возвращенная в виде структуры hgtransform объекты. Структура имеет два типа имен полей:

    • Имена инерциальных кадров - соответствующее значение поля равно hgtransform объект, который содержит информацию преобразования из эго-кадра в кадр RUS.

    • Имена платформ БПЛА - Соответствующее значение поля представляет собой структуру, которая содержит hgtransform информация для всех кадров, определенных на платформе.

    Представлен в R2020b