Main Content

parse

Generate trajectory in local NED frame

Since R2022b

    Description

    traj = parse(parser,mission) generates a reference trajectory traj for a multirotor or fixed-wing UAV following the mission mission. The parse function generates the reference trajectory in a local north-east-down (NED) frame with its origin at the global coordinates specified by the HomeLocation property of mission.

    example

    traj = parse(parser,mission,refLocation) generates the reference trajectory in a local NED frame with its origin defined by the global coordinates refLocation.

    Examples

    collapse all

    Create a UAV mission by using the flight plan stored in a .plan file and show the mission.

    mission = uavMission(PlanFile="flight.plan");
    show(mission);
    axis equal

    Figure contains an axes object. The axes object with xlabel East (m), ylabel North (m) contains 10 objects of type line, text.

    Create parsers for a multirotor UAV and a fixed-wing UAV.

    mrmParser = multirotorMissionParser(TransitionRadius=2,TakeoffSpeed=2);
    fwmParser = fixedwingMissionParser(TransitionRadius=15,TakeoffPitch=10);

    Generate one flight trajectory using each parser.

    mrmTraj = parse(mrmParser,mission);
    fwmTraj = parse(fwmParser,mission);

    Visualize the waypoints, flight trajectory and body frames for each UAV.

    figure
    show(mrmTraj,FrameSize=20,NumSamples=75);
    title("Multirotor Flight Trajectory")
    axis equal

    Figure contains an axes object. The axes object with title Multirotor Flight Trajectory contains 322 objects of type patch, line.

    figure
    show(fwmTraj,FrameSize=20,NumSamples=75);
    title("Fixed-Wing Flight Trajectory")
    axis equal

    Figure contains an axes object. The axes object with title Fixed-Wing Flight Trajectory contains 328 objects of type patch, line.

    Plot the mission, waypoints, flight trajectory and UAV body frames in the same plot for each UAV.

    figure
    show(mission);
    hold on
    show(mrmTraj,FrameSize=20,NumSamples=75);
    hold off
    title("Mission Using Multirotor Trajectory")
    axis equal

    Figure contains an axes object. The axes object with title Mission Using Multirotor Trajectory, xlabel East (m), ylabel North (m) contains 332 objects of type patch, line, text.

    show(mission);
    hold on
    show(fwmTraj,FrameSize=20,NumSamples=75);
    hold off
    title("Mission Using Fixed-Wing Trajectory")
    axis equal

    Figure contains an axes object. The axes object with title Mission Using Fixed-Wing Trajectory, xlabel East (m), ylabel North (m) contains 338 objects of type patch, line, text.

    Input Arguments

    collapse all

    UAV mission parser, specified as a multirotorMissionParser object or a fixedwingMissionParser object.

    UAV mission, specified as a uavMission object.

    Reference location, specified as a three-element row vector of the form [latitude longitude altitude], representing global coordinates. latitude and longitude are in degrees. altitude is the height in meters above the WGS84 ellipsoid.

    Example: parse(parser,mission,[20 40.1 72])

    Output Arguments

    collapse all

    Trajectory, returned as a multirotorFlightTrajectory object for multirotorMissionParser objects and fixedwingFlightTrajectory object for fixedwingMissionParser objects.

    Version History

    Introduced in R2022b