メインコンテンツ

Aero.trajectory.expandingSquareTrajectory

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×6 timetable
    09-Jan-2026 09:10:01     1              0              0    100       0         0.7854
    09-Jan-2026 09:10:51     2             10             10    100    5000         0.7854
    09-Jan-2026 09:11:01     3        10.0000           1010    100    5000         1.5708
    09-Jan-2026 09:11:11     4      -990.0000     1.0100e+03    100    5000         3.1416
    09-Jan-2026 09:11:31     5      -990.0000      -990.0000    100    5000         4.7124
    09-Jan-2026 09:11:51     6     1.0100e+03      -990.0000    100    5000    -1.1369e-16
    09-Jan-2026 09:12:21     7     1.0100e+03           2010    100    5000         1.5708
    09-Jan-2026 09:12:51     8    -1.9900e+03     2.0100e+03    100    5000         3.1416
    09-Jan-2026 09:13:31     9    -1.9900e+03    -1.9900e+03    100    5000         4.7124
    09-Jan-2026 09:14:11    10     2.0100e+03    -1.9900e+03    100    5000    -1.1369e-16

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 timeseries or timetable.

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)'

Data Types: double

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 nonnegative integer.

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.

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