In this demo, with an ordered list of cities with latitudes and longitudes as input, the simulator computes the shortest path between the two consecutive cities and then animates the aircraft motion on 3D earth while tracing the trajectory. Observe that this is an example where the analysis of the data is done in MATLAB and the data is "played back" in Simulink.
Also, attached to the plane is a North-East-Down (NED) frame, that gives a better understanding of aircraft coordinate systems.
Key design considerations:
1. The image of the earth that was used to texture the spherical earth was from NASA's 2002 Blue Marble images:
Please note that calibrating the latitudes and longitudes on this spehrical earth requires that you use a mercator projection with aspect ratio 2:1.
2. The great circles joining any two cities were computed using the Mapping Toolbox's track2 function:
The number of sampling points chosen were scaled accordingly to allow for uniformity in airplane motion.
3. The set of latitudes and longitudes were input to a LLA to ECEF block to compute the translational coordinates of the aircraft with the NED frame attached:
4. To compute the orientation of the NED frame, the Direction Cosine Matrix to Quaternion block was used before mapping it to VRML rotational coordinates:
The use of quaternions avoids the issues such as those encountered in this demo:
5. The VR Tracer block from Simulink 3D Animation traces the trajectory in the 3D world. It is put inside an enabled subsystem to downsample the number of trajectory points and thus save memroy for visualization(each point plotted is a 3D object)
Thought provoking questions:
1. Observe how thethe orientation of the aircraft is computed in the NED frame. How does this accuracy depend on the largest allowable number of sampling points i.e. t_scaled?
2. How accurate is the aircraft orientation for routes that pass over the poles?