Main Content

windAngularRate

Angular wind velocity on UAV platform

Since R2024a

    Description

    omegaWind = windAngularRate(platform) returns the resultant angular wind velocity generated by all wind models on the platform.

    example

    omegaWind = windAngularRate(platform,ID) returns the angular 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

    Wind angular 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 angular velocity from the corresponding element of IDin the form [pw qw rw]. The values of pw, qw, and rw are the wind angular velocities in the positive x-, y-, and z-axes, respectively. Units are in rad/s.

    Version History

    Introduced in R2024a