Main Content

Aero.trajectory.polylineTrajectory

R2026b

Generate reference signals for polyline flight trajectory

Since R2026a

Description

refSignals = Aero.trajectory.polylineTrajectory(Name=Value) generates trajectory reference signals for a polyline flight trajectory. 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 a polyline trajectory.

refSignals = Aero.trajectory.polylineTrajectory(InitialPosition = [0, 0], ...
    Speed = 100,SegmentDistance = 5000,AbsoluteBearing = pi/2, ...
    Altitude = 10000,OutputFormat = 'timetable')
refSignals = 3×7 timetable
         timestamps         WaypointIndex    xNorth(m)     yEast(m)    Speed(m/s)    Altitude(m)    Heading(rad)    FlightPathAngle(rad)
    ____________________    _____________    __________    ________    __________    ___________    ____________    ____________________

    06-Aug-2026 23:26:45            1                 0         0         100               0               0              1.5708       
    06-Aug-2026 23:28:25       1.6667                 0         0         100           10000          1.5708                   0       
    06-Aug-2026 23:29:15            2        3.0616e-13      5000         100           10000          1.5708                   0       

This example shows how to add reference signals for a polyline flight trajectory, polylineSignals, to existing reference signals for another trajectory, sectorSignals.

Create reference signals for a sector trajectory.

sectorSignals = Aero.trajectory.sectorTrajectory('Altitude', 20, ...
    'Bearing', pi/2, 'DatumPoint', [-8, 0], ...
    'InitialAltitude', 0, 'Radius', 5, ...
    'OutputFormat', 'timetable', 'InitialHeading', 0)
sectorSignals = 10×7 timetable
         timestamps         WaypointIndex    xNorth(m)    yEast(m)    Speed(m/s)    Altitude(m)    Heading(rad)    FlightPathAngle(rad)
    ____________________    _____________    _________    ________    __________    ___________    ____________    ____________________

    06-Aug-2026 23:26:29            1               0          0          90             0                 0              1.5708       
    06-Aug-2026 23:26:29       1.7143               0          0          90            20            3.1416                   0       
    06-Aug-2026 23:26:29            2              -8          0          90            20            1.5708                   0       
    06-Aug-2026 23:26:29            3              -8          5          90            20            5.7596                   0       
    06-Aug-2026 23:26:30            4         -3.6699        2.5          90            20            3.6652                   0       
    06-Aug-2026 23:26:30            5          -12.33       -2.5          90            20            1.5708                   0       
    06-Aug-2026 23:26:30            6          -12.33        2.5          90            20            5.7596                   0       
    06-Aug-2026 23:26:30            7         -3.6699       -2.5          90            20            3.6652                   0       
    06-Aug-2026 23:26:30            8              -8         -5          90            20            1.5708                   0       
    06-Aug-2026 23:26:30            9              -8          0          90            20            1.5708                   0       

Add reference signals for a polyline flight trajectory, polylineTrajectory, to sectorSignals.

polylineTrajectory = Aero.trajectory.polylineTrajectory('priorTrajectory',sectorSignals, ...
  'SegmentDistance', 5000, 'AbsoluteBearing', pi/2, ...
  'Altitude', 10000)
polylineTrajectory = 12×7 timetable
         timestamps         WaypointIndex    xNorth(m)    yEast(m)    Speed(m/s)    Altitude(m)    Heading(rad)    FlightPathAngle(rad)
    ____________________    _____________    _________    ________    __________    ___________    ____________    ____________________

    06-Aug-2026 23:26:29            1               0          0          90               0               0              1.5708       
    06-Aug-2026 23:26:29       1.7143               0          0          90              20          3.1416                   0       
    06-Aug-2026 23:26:29            2              -8          0          90              20          1.5708                   0       
    06-Aug-2026 23:26:29            3              -8          5          90              20          5.7596                   0       
    06-Aug-2026 23:26:30            4         -3.6699        2.5          90              20          3.6652                   0       
    06-Aug-2026 23:26:30            5          -12.33       -2.5          90              20          1.5708                   0       
    06-Aug-2026 23:26:30            6          -12.33        2.5          90              20          5.7596                   0       
    06-Aug-2026 23:26:30            7         -3.6699       -2.5          90              20          3.6652                   0       
    06-Aug-2026 23:26:30            8              -8         -5          90              20          1.5708                   0       
    06-Aug-2026 23:26:30            9              -8          0          90              20               0              1.5708       
    06-Aug-2026 23:28:21       9.6662              -8          0          90           10000          1.5708                   0       
    06-Aug-2026 23:29:16           10              -8       5000          90           10000          1.5708                   0       

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

Absolute bearing, specified as a scalar between 0 and 2*pi, in the units specified in Units. This value is the angle measured clockwise from true north to the direction of travel along the trajectory.

Example: AbsoluteBearing = pi/4

Dependencies

Specify only AbsoluteBearing or RelativeBearing. Do not specify both properties.

Data Types: double

Coordinate plane of trajectory, specified as Flat, Spherical, or Ellipsoidal.

Example: CoordinatePlane = "Flat"

Data Types: double

Eccentricity of the trajectory, specified as a scalar less than 1.

Example: Eccentricity=.2

Dependencies

To set Eccentricity, set CoordinatePlane to "Ellipsoidal".

Data Types: double

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

Example: InitialAltitude = 10

Data Types: double

Path segment, specified as Constant heading or Shortest distance.

Example: PathSegment = "Shortest distance"

Dependencies

To set this property, set CoordinatePlane to Spherical or Ellipsoidal.

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

Relative bearing, specified as a scalar between 0 and 2*pi, in the units specified in Units. This value is the angle between the current heading (direction of travel) of a vehicle and the direction to the next segment or waypoint along the polyline trajectory, measured with respect to the vehicle current forward direction.

Example: RelativeBearing = pi/4

Dependencies

Specify only AbsoluteBearing or RelativeBearing. Do not specify both properties.

Data Types: double

Straight line distance between two consecutive waypoints in a trajectory, specified as a positive scalar in the units specified in Units..

Example: SegmentDistance = 5000

Data Types: double

Equatorial radius, specified as a scalar.

Example: SemiMajorAxis = 6378137

Dependencies

To set this property, set CoordinatePlane to Ellipsoidal.

Data Types: double

Radius of spherical surface, specified as a scalar between 0 and 2*pi.

Example: SphereRadius = pi/4

Dependencies

To set this property, set CoordinatePlane to Spherical.

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: 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

Number of samples in the output signals, specified as a scalar greater than or equal to 2.

Example: NumberOfSamples = 10

Data Types: double

Output Arguments

collapse all

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

Algorithms

Use Aero.trajectory.polylineTrajectory to define the parameters of a polyline trajectory.

Version History

Introduced in R2026a

expand all