show
Description
visualizes the UAV trajectory in 3-D. The visualization includes the waypoints, velocity
direction at each waypoint, flight trajectory and UAV body frames along flight
trajectory.AX
= show(traj
)
specifies options using one or more name-value arguments. For example,
AX
= show(___,Name=Value)show(traj,NumSamples=300)
draws 300 body frames for the UAV.
Examples
Create and Query UAV Flight Trajectory
Create a set of waypoints for both the multirotor and the fixed-wing UAV to follow.
wpts = [0 0 0; 2 2 -2; 10 10 -3; 12 12 -6]; numwpts = size(wpts);
Specify additional trajectory information, such as desired velocities, accelerations, jerks, snaps, and yaws, as well as start time, an end time, and times of arrival.
vels = 2*ones(numwpts); accs = ones(numwpts); jerks = zeros(numwpts); snaps = zeros(numwpts); yaws = zeros(1,numwpts(1)); starttime = 0; endtime = 8; toas = linspace(starttime,endtime,numwpts(1));
Use the trajectory information to create the flight trajectories for the multirotor and the fixed-wing UAVs. Query and display the trajectories.
mrft = multirotorFlightTrajectory(wpts,vels,accs,jerks,snaps,yaws,toas); fwft = fixedwingFlightTrajectory(wpts,vels,toas); query(mrft,1:4)
ans = 4×16
1.6184 1.6184 0.7520 -0.0243 -0.0243 -2.8758 -4.6045 -4.6045 -9.1669 0.9863 -0.1179 0.1147 -0.0137 0.0732 -0.0732 -0.0000
1.0236 1.0236 -2.7807 0.5482 0.5482 -0.6198 3.9704 3.9704 8.6424 0.7429 0.5559 -0.2987 -0.2235 -1.3257 1.3257 0
2.7277 2.7277 -1.2947 2.4069 2.4069 2.1026 1.7442 1.7442 -1.3857 0.9941 0.0770 -0.0761 -0.0059 0.1950 -0.1950 0
6.4028 6.4028 -2.0972 4.4609 4.4609 -3.8447 -1.1875 -1.1875 -1.1875 0.9971 -0.0537 0.0534 -0.0029 -1.2364 1.2364 -0.0000
query(fwft,1:4)
ans = 4×16
0.9453 0.9453 -0.3203 0.2422 0.2422 -1.8672 -0.7031 -0.7031 -1.5469 0.7098 -0.2450 0.5914 0.2940 -0.4683 0.4683 0.0000
1.1875 1.1875 -2.1875 0.5938 0.5938 -1.0938 1.4063 1.4062 3.0938 0.8287 -0.1692 0.4085 0.3432 1.7750 -1.7750 0
2.7813 2.7812 -1.6055 2.6563 2.6562 0.4414 1.6875 1.6875 -4.0078 0.9223 0.0224 -0.0540 0.3820 -0.7962 0.7962 -0.0000
6.0000 6.0000 -2.5000 3.5000 3.5000 -1.5625 -0.0000 -0.0000 0.0000 0.9131 -0.0583 0.1407 0.3782 -0.0000 -0.0000 0.0000
Visualize both the multirotor flight trajectory and the fixed-wing flight trajectory.
ax = show(mrft,NumSamples=200);
title("Multirotor Flight Trajectory")
view([0 0])
show(fwft,NumSamples=50);
title("Fixed-Wing UAV Flight Trajectory")
view([0 0])
Generate Flight Trajectory for UAV Mission
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
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 show(fwmTraj,FrameSize=20,NumSamples=75); title("Fixed-Wing Flight Trajectory") axis equal
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
show(mission); hold on show(fwmTraj,FrameSize=20,NumSamples=75); hold off title("Mission Using Fixed-Wing Trajectory") axis equal
Input Arguments
traj
— Flight trajectory
multirotorFlightTrajectory
object | fixedwingFlightTrajectory
object
Flight trajectory, specified as a
multirotorFlightTrajectory
or
fixedwingFlightTrajectory
object.
Name-Value Arguments
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: show(traj,NumSamples=300)
draws 300 body frames for the
UAV.
Parent
— Parent axes
gca
(default) | Axes
object
Parent axes, specified as an Axes
object.
NumSamples
— Number of UAV body frames to draw
100
(default) | positive integer
Number of UAV body frames to draw, specified as a positive integer.
Example: show(traj,NumSamples=300)
StartTime
— Start time of trajectory drawing
traj.StartTime
(default) | nonnegative numeric scalar
Start time of trajectory drawing, specified as a nonnegative numeric scalar, in seconds.
Example: show(traj,StartTime=2)
EndTime
— End time of trajectory drawing
traj.EndTime
(default) | positive numeric scalar
End time of trajectory drawing, specified as a positive numeric scalar, in seconds.
Example: show(traj,EndTime=8)
FrameSize
— Length of UAV frame axes
1
(default) | positive numeric scalar
Length of the UAV frame axes, specified as a positive numeric scalar, in meters.
Example: show(traj,FrameSize=1.8)
VelocityLineSize
— Length of velocity direction lines
1
(default) | nonnegative numeric scalar
Length of the velocity direction lines, specified as a nonnegative numeric scalar, in meters.
Example: show(traj,VelocityLineSize=2.3)
VelocityLineWidth
— Width of velocity direction lines
2
(default) | nonnegative numeric scalar
Width of the velocity direction lines, specified as a nonnegative numeric scalar, in meters.
Example: show(traj,VelocityLineWidth=2.3)
Version History
Introduced in R2022b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)