メインコンテンツ

Aero.trajectory.expandingSquareTrajectory

R2026b

Generate reference signals for expanding square search trajectory

Since R2026a

Description

refSignals = Aero.trajectory.expandingSquareTrajectory(Name=Value) generates reference signals for an expanding square search pattern. Use name-value arguments to define the search pattern. For more information, see Algorithms.

example

Examples

collapse all

This example shows how to generate reference signals for an expanding square trajectory.

refSignals = Aero.trajectory.expandingSquareTrajectory(InitialPosition=[0, 0], ...
Speed=100,InitialHeading=pi/4, ...
DatumPoint = [10, 10], Bearing = pi/2, ...
Altitude= 5000, TrackSpacing=1000, ...
NumberOfLegs= 4, OutputFormat= 'timetable')
refSignals = 10×7 timetable
         timestamps         WaypointIndex    xNorth(m)    yEast(m)    Speed(m/s)    Altitude(m)    Heading(rad)    FlightPathAngle(rad)
    ____________________    _____________    _________    ________    __________    ___________    ____________    ____________________

    06-Jul-2026 10:44:42          1                0           0         100              0           0.7854               0.01        
    06-Jul-2026 10:45:32          2               10          10         100           5000           1.5708               0.01        
    06-Jul-2026 10:45:42          3               10        1010         100           5000           3.1416               0.01        
    06-Jul-2026 10:45:52          4             -990        1010         100           5000           4.7124               0.01        
    06-Jul-2026 10:46:12          5             -990        -990         100           5000                0               0.01        
    06-Jul-2026 10:46:32          6             1010        -990         100           5000           1.5708               0.01        
    06-Jul-2026 10:47:02          7             1010        2010         100           5000           3.1416               0.01        
    06-Jul-2026 10:47:32          8            -1990        2010         100           5000           4.7124               0.01        
    06-Jul-2026 10:48:12          9            -1990       -1990         100           5000                0               0.01        
    06-Jul-2026 10:48:52         10             2010       -1990         100           5000                0               0.01        

	Get insights using Copilot

Name-Value Arguments

collapse all

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: InitialPosition = [0,0]

Initial position of trajectory, specified as a 1-by-2 or 2-by-1 vector in the units specified in Units.

Example: InitialPosition = [0,0]

Data Types: double

Speed of trajectory, specified as a finite real double scalar in the units specified in Units.

Example: Speed = 10

Data Types: double

Altitude of the vehicle trajectory, specified as a finite real scalar double in the units specified in Units. This value is constant throughout the vehicle path.

Example: Altitude = 10

Data Types: double

Initial heading of trajectory, specified as a finite real double scalar between 0 and 2*pi, in radians. Specify one each of InitialHeading and FinalHeading.

Example: InitialHeading = pi

Data Types: double

Output format of reference signals data, specified as a timeseries or timetable object.

Example: OutputFormat = timeseries

Input and output units, specified as one of these values.

Units

Position

Altitude

Speed

Metric (MKS)

Meters

Meters

Meters per second

English (Velocity in ft/s)

Feet

Feet

Feet per second

English (Velocity in kts)

Nautical miles

Feet

Knots

Example: Units = 'Metric (MKS)'

Initial time of trajectory operation, specified as a datetime object.

Example: StartTime = datetime('now')

Bearing, specified as a finite real scalar double between 0 and 2*pi.

Example: Bearing = pi/4

Data Types: double

Datum point is a positional coordinate, specified as a 1-by-2 or 2-by-1 vector in the range finite real double, in the units specified in Units.

Example: DatumPoint = [10, 10]

Data Types: double

Initial altitude of trajectory, specified as a scalar in the units specified in Units.

Example: InitialAltitude = 10

Data Types: double

Number of legs in the expanding square, specified as a positive doubles.

Example: InitialAltitude = 10

Data Types: double

Prior trajectory tracking data, specified as a timeseries or timetable object. These objects must contain these fields:

  • Altitude

  • Heading

  • Speed

  • WaypointIndex

  • xNorth

  • yEast

  • LateralAcceleraion/Turnrate

Spacing between tracks, specified as a scalar.

Example: TrackSpacing = 10

Data Types: double

Search direction, specified as Counterclockwise or Clockwise.

Vertical velocity component of vehicle during ascent, specified as a finite real double scalar less than the vehicle speed in the units specified in Units.

Example: ClimbRate = 10

Data Types: double

Vertical velocity component of vehicle during ascent, specified as a finite real double scalar less than the vehicle speed in the units specified in Units.

Example: DescentRate = 10

Data Types: double

Coordinates that define vertices of polygonal no-fly zone, specified as a N-by-2 numeric array, where N is equal to or greater than 3. Each row of the array contains an [x, y] boundary point. The function computes a closed polygon from the supplied points and uses it to detect and avoid restricted airspace.

Example: DescentRate = 10

Data Types: double

Maximum altitude of the no-fly zone, specified as a scalar numeric. You use this value with the NFZ boundary to determine whether obstacle avoidance is required. If the aircraft altitude is above the specified no-fly-zone altitude bound, the aircraft is permitted to pass through the NFZ without rerouting.

Example: DescentRate = 10

Data Types: double

Output Arguments

collapse all

Trajectory reference signals, returned as a timeseries struct or timetable object.

Algorithms

Use Aero.trajectory.expandingSquareTrajectory to define the parameters of an expanding square search trajectory:

where S is specified by TrackSpacing.

Version History

Introduced in R2026a

expand all