Main Content

advance

Advance UAV scenario simulation by one time step

Since R2020b

    Description

    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.

    example

    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 with xlabel East (m), ylabel North (m) 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.

    Version History

    Introduced in R2020b