Main Content

windVelocity

Translational wind velocity on UAV platform

Since R2024a

    Description

    example

    VWind = windVelocity(platform) returns the resultant translational wind velocity generated by all wind models on the platform.

    VWind = windVelocity(platform,ID) returns the translational wind velocity generated by the specified wind model ID on the platform.

    Examples

    collapse all

    Create a UAV scenario and platform. Specify a trajectory to fly the platform 5 meters north of the scenario origin at an altitude of 50 meters.

    scene = uavScenario;
    platformTrajectory = waypointTrajectory([0 0 -50; 5 0 -50],[0 1]);
    platform = uavPlatform("UAV",scene,Trajectory=platformTrajectory);

    Create a steady wind object with default properties.

    steadyWind = uavWindSteady
    steadyWind = 
      uavWindSteady with properties:
    
         Velocity: [3.5000 3.5000 5]
        StartTime: 0
         StopTime: Inf
    
    

    Create a wind gust object with default properties.

    gustWind = uavWindGust
    gustWind = 
      uavWindGust with properties:
    
        GustAmplitude: [3.5000 3.5000 5]
           GustLength: [120 120 80]
            StartTime: 0
             StopTime: Inf
    
    

    Create a turbulence wind object with default properties.

    turbulenceWind = uavWindTurbulence
    turbulenceWind = 
      uavWindTurbulence with properties:
    
                              Specification: "MIL-F-8785C"
                                  ModelType: "Von Karman (+q +r)"
                              WindSpeedAt6m: 15
                          WindDirectionAt6m: 0
        ProbExceedanceHighAltitudeIntensity: "10^-2 - Light"
            ScaleLengthAtMediumHighAltitude: 762
                                   Wingspan: 10
                 BandLimitedNoiseSampleTime: 0.1000
                           RandomNoiseSeeds: [23341 23342 23343 23344]
                                  StartTime: 0
                                   StopTime: Inf
    
    

    Add the wind objects to the UAV platform.

    addWind(platform,{steadyWind gustWind turbulenceWind})

    Set up the simulation, and advance the scene.

    setup(scene)
    advance(scene);

    Obtain the translational wind velocity on the UAV platform.

    velocityWind = windVelocity(platform)
    velocityWind = 1×3
    
        3.5753    3.0892    4.5805
    
    

    Obtain the angular wind velocity on the UAV platform.

    angularVelocityWind = windAngularRate(platform)
    angularVelocityWind = 1×3
    
       -0.0484   -0.0323   -0.0419
    
    

    Input Arguments

    collapse all

    UAV platform, specified as a uavPlatform object

    Wind model object identifier, specified as a positive integers in the range [1, N], where N is the number of wind model objects that have been added to the platform. You can use the windDetails function to see how many wind model objects have been added to the UAV platform platform.

    Example: windVelocity(platform,[1 2]) returns the wind velocity of the first and second wind models added to platform.

    Output Arguments

    collapse all

    Translational wind velocity in the UAV platform body frame, returned as a K-by-3 matrix. K is the number of elements specified in ID. Each row contains the wind translational velocity from the corresponding element of IDin the form [uw vw ww]. The values of uw, vw, and ww are the translational wind velocities in the positive x-, y-, and z-axes, respectively. Units are in m/s.

    Version History

    Introduced in R2024a