Create Tracking Scenario with Two Platforms
Construct a tracking scenario with two platforms that follow different trajectories.
sc = trackingScenario('UpdateRate',100.0,'StopTime',1.2);
Create two platforms.
platfm1 = platform(sc); platfm2 = platform(sc);
Platform 1 follows a circular path of radius 10 m for one second. This is accomplished by placing waypoints in a circular shape, ensuring that the first and last waypoint are the same.
wpts1 = [0 10 0; 10 0 0; 0 -10 0; -10 0 0; 0 10 0]; time1 = [0; 0.25; .5; .75; 1.0]; platfm1.Trajectory = waypointTrajectory(wpts1, time1);
Platform 2 follows a straight path for one second.
wpts2 = [-8 -8 0; 10 10 0]; time2 = [0; 1.0]; platfm2.Trajectory = waypointTrajectory(wpts2,time2);
Verify the number of platforms in the scenario.
disp(sc.Platforms)
{1×1 fusion.scenario.Platform} {1×1 fusion.scenario.Platform}
Run the simulation and plot the current position of each platform. Use an animated line to plot the position of each platform.
figure grid axis equal axis([-12 12 -12 12]) line1 = animatedline('DisplayName','Trajectory 1','Color','b','Marker','.'); line2 = animatedline('DisplayName','Trajectory 2','Color','r','Marker','.'); title('Trajectories') p1 = pose(platfm1); p2 = pose(platfm2); addpoints(line1,p1.Position(1),p1.Position(2)); addpoints(line2,p2.Position(1),p2.Position(2)); while advance(sc) p1 = pose(platfm1); p2 = pose(platfm2); addpoints(line1,p1.Position(1),p1.Position(2)); addpoints(line2,p2.Position(1),p2.Position(2)); pause(0.1) end
![]()
Plot the waypoints for both platforms.
hold on plot(wpts1(:,1),wpts1(:,2),' ob') text(wpts1(:,1),wpts1(:,2),"t = " + string(time1),'HorizontalAlignment','left','VerticalAlignment','bottom') plot(wpts2(:,1),wpts2(:,2),' or') text(wpts2(:,1),wpts2(:,2),"t = " + string(time2),'HorizontalAlignment','left','VerticalAlignment','bottom') hold off
![]()