Main Content

advance

Advance UAV scenario simulation by one time step

    Description

    example

    isrunning = advance(scene) advances the UAV scenario simulation scene by one time step. The UpdateRate property of the uavScenario object determines the time step during simulation. The function returns the running status of the simulation. The function only updates a platform location if the platform has an assigned trajectory.

    Examples

    collapse all

    Create a UAV scenario.

    scene = uavScenario("UpdateRate",100,"StopTime",1);  

    Add the ground and a building as meshes.

    addMesh(scene,"Polygon", {[-50 0; 50 0; 50 50; -50 50], [-3 0]}, [0.3 0.3 0.3]);
    addMesh(scene,"Cylinder", {[10 5 5], [0 10]}, [1 1 0]); 

    Create a UAV platform with a specified waypoint trajectory in the scenario. Define the mesh for the UAV platform.

    traj = waypointTrajectory("Waypoints", [0 -20 -5; 20 0 -5], "TimeOfArrival", [0  1]); 
    uavPlat = uavPlatform("UAV",scene,"Trajectory", traj); 
    updateMesh(uavPlat,"quadrotor",{10},[1 0 0],eul2tform([0 0 0])); 

    Simulate and visualize the scenario.

    setup(scene); 
    while advance(scene) 
        show3D(scene); 
        drawnow update 
    end 

    Figure contains an axes object. The axes object contains 3 objects of type patch.

    restart(scene);

    Input Arguments

    collapse all

    UAV scenario, specified as a uavScenario object.

    Output Arguments

    collapse all

    Running state of the simulation, returned as true or false. If isrunning is returned as true, then the simulation is running. If isrunning is returned as false, the simulation has stopped. A simulation stops when the stop time is reached.

    Introduced in R2020b