The Designing and Realizing of the Satellite Navigation Simulation System Visualization Software

Tao Liu, Yushan Zhao and Shijie Xu School of Astronautics Beihang University, BUAA Beij ing 100191, China ltaobh@sina.com

Abstract

In order to visualize the satellite navigation simulation system, the framework of a distributed satellite navigation simulation system composed of multi-platform systems was analyzed. The composition and the functions of the satellite navigation simulation system visualization software were illuminated. Based on MFC, presented the designing and realizing methods of the system information display program and the 2D display program. The Vega Prime program designing methods,

the visual effect of STK is not good enough. and help them gain the general information about the system quickly. in china. were introduced. as in [13]. using the designing and developing methods discussed in this paper. Practical application of the software shows that the visualization scheme proposed here is entirely feasible for practical engineering application. comprehensive but not accurate enough for some special tasks. e.using the Visual C++. . can show the working states and mission progress of an astronautic system intuitively to users. Until now. An accurate and vivid simulative description of a system provides the design engineer the possibility to expedite the design process. And the spacecraft simulation software developed by foreign commercial companies. without flexibility. based on visual reality technology.g. and also the structure. Satellite Tool Kit (STK). the satellite navigation simulation system visualization software was developed. I. INTRODUCTION Modeling and simulation plays an essential role in the designing stage of the aerospace engineering. almost all the visualization software for aerospace engineering are developed for one given mission. the designing and realizing methods of the 3D display program were proposed. Based on OpenGL. Vega Prime and Visual C++. and is a useful tool for the design and analysis of the astronautic system. The visualization software. Take the satellite navigation system serving for ground users for example.

telecontrol and telemetry system simulator. the satellite navigation simulation system visualization software was developed. 2D display and 3D. This paper discussed the structure of the satellite navigation simulation system and the functions of its subsystems To satisfy the needs of the satellite navigation simulation system. and it validated the feasibility of the designing methods and techniques discussed here. The software has sufficient flexibility and could be used for other aerospace visualization mission after little change. The design of the functions. were presented. a whole satellite navigation simulatIon system consists of multiple subsystems: navigation satellite simulator. Finally. Constellation simulator can complete the mathematic simulation of the constellation. namely system information display. and also the functions. visualization software. which is composed of three programs. namely the system information display program. user simulator. THE STRUCTURE OF SATELLITE NAVIGATION SIMULATION SYSTEM In space mission simulation. this satellite navigation simulation system visualization software supplied vivid display effect. the developing procedures and realizing methods of the 3D display program were proposed. Navigation satellite simulator is used to simulate all the subsystems of a navigation satellite in semi-physical and mathematical manners. data server and so on. could visualize realistically all of the working states of the satellite navigation simulation system and the whole procedures it serves for users. based on the Graphical Device Interface (GDI) of Microsoft Foundation Class (MFC).Under the background. II. the developing procedures. the 2D display program and the 3D display program. which has three kinds of functions. . by simulating the process of navigating multiple users. constellation simulator. the structure. like the signal coverage percentage of the constellation. the satellite navigation simulation system visualization software was designed. as in [4]. the data structures and the realizing methods of the system information display program as well as the 2D display program. Then the techniques to design Vega Prime programs based on the Visual C++ were introduced.

the analysis of the navigation characteristics. and has to preside over parameter setting for all of the simulation subsystems. and so on. the sending and management of the telecontrol instructions. the attitude. At the beginning of the virtualization simulation. These subsystems compose a distributed simulation condition as shown in Fig. the processing and management of the telemetry data. Simultaneously. the visualization software firstly associates its virtual reality objects with the simulation data in the database of the data server. the running states of all kinds of users which move on the ground. or else sail the oceans. The visualization software provides a method to visualize all of the working states of the satellite navigation simulation system and verify the whole system in a visual manner. or fly in the air. . All the subsystems above communicate and are synchronized with each other through data server. Telecontrol and telemetry system simulator is used to simulate the management of the data flow of the satellite navigation system. across the local Ethernet.communications between the satellites of the constellation. User simulator is used to generate the simulation data of the tracks. the data server also is responsible for the data stream of the satellite navigation simulation system under control. 1. and then the software receives packets from the data server and drives the virtual reality objects and updates the display.

.

curve control. The structure of those control classes is shown in Fig. THE DESIGNING AND REALIZING OF THE VISUALIZATION SOFTWARE As described in the introduction. 2) The Design of Control Classes In order to manage controls efficiently. radar control. 2. A. the interface designing module is designed and embedded in the program as a dynamic-link library (DLL). the structures. including data sources. the satellite navigation simulation system visualization software is composed of three programs. Please refer to [5] for more details about DLL. and interface functions for modifying the control properties. and other basic controls. simulation time. System Information Display Program 1)function This program is used to display the working information of the simulation system. The functions. In order to improve visual effect and the flexibility of the program. which contains text control. users can design the most appropriate visual interfaces according to their requirements. Utilizing the control library.III. the 2D display program and the 3D display program. and configuration information and so on. the designing and realizing methods of those programs will be discussed in detail in this chapter. it provides a control library. the system information display program. The module encapsulates different types of controls. .

By Windows message-mapping machinery. the control classes also contain their own unique attributes and operations. by overloading the virtual member functions of the base class. size and other visualization properties of controls. DC and GDI. The Device Context (DC) and GDI are used. 3)structure The system information display program is designed based on MFC.In accordance with object-oriented programming methods. used to redrawing controls. Besides virtual functions. all the controls and their interface functions are derived from the base class named CBaseControl. must provide the implementations of those virtual functions according to their own characters. updating the controls' states. All control classes derived from CBaseControl. Show (CDC* pDC). But those functions of CBaseControl class are virtual and are not defined yet. CMeterControl class for meter control and CCurveControl class for curve control. for example. the program can . has been differently implemented in different derived control classes. the virtual function. Please refer to [5] for more details about MFC. and so on. which provides a basic public data set and a set of functions which supports such operations as adjusting the location. As an illustration.

is network client thread. and then the system information interface is ready for displaying. After that. The working procedures of the two threads are shown in Fig. the program uses multi-threaded architecture. the program is required to not only interact with the user. During the simulation process. to achieve visualization capabilities.update and redraw various controls simultaneously via the view class in the program. started in the main thread. called main thread. then creates the MFC frame window. add controls and modify the controls' properties. Therefore. The first thread. create a blank display interface. is started when the program is initiated. The design process is as follows. but also receive simulation packets across the Ethernet. The other thread. . 3. design the layout of the visual interface. and then. establish the mapping of control set to data-base data set. after that users can design and save the visual interface which is used for the display of the system information. which is made to receive packets and transmit useful data to the main thread via the shared memory. First.

.

such as name. The CMobileObject class derived from the CBaseObject is designed for the moving objects. coverage areas of the satellites. as shown m Fig. for instance. Fig. the coverage areas and the covering characters of the satellites or the constellation. 5. such as drawing ground tracks. The GDI plotting loop is the core of the 2D display thread. drawing communicatIOn lmks between the ground stations and the satellites. . To keep the properties and operations for the objects that need to be plotted.B) 2d display program The 2D display program is employed to draw planar images. Moreover. but those functions are virtual functions. the CSatellite class is used to keep properties related to satellite. the relationship between the two threads likes that of the system information display program. As shown in Fig. and it has functions of updating the properties and plotting. The CGroundStation class keeps properties for ground stations. orbit parameters and attitude parameters of various spacecrafts. the ground tracks. the display thread and the network client thread. the C++ classes have been designed. This program has two threads. the program is also able to display the working states. it makes use of the inside calculating module to finish the calculation and display of the covering characters of the satellites or the constellation. such as the world map. the coverage areas and so on. and provides functions for drawing the orbits. position as well as data identification and so on. besides. The designing and realizing methods of the 2D display program are simIlar to those of the system information display program. also using the DC as well as the GDI of MFC and via Windows message-mapping machinery to fimsh ItS functions. 4. The implementations of them are provided by the classes derived from the CMobileObject class. 4 Illustrates the basic processing flow of the 2D display program. The CBaseObject class is the base class which defines the general properties of all objects. and it responds to the user's inputs and uses the network packets to carry out the main functions of the program.

.

providing multiple scenes and various viewpoints display abilities building on the fundament of the 3D model library. as in [2]. users (e. Which is independent from the user thread. The framework of the program is shown in Fig. The 3D display program also provides multi-window display for a certain simulation stage. cars. the working phase of satellite in orbit. ships) and so on. in order to observe the simulation process from various viewpoints simultaneously. this program still needs to begin a network client thread to receive the simulation data. 6. it requires thee Vega Prime to start a thread for scene rendering. 2)structure The 3D display program is a Vega Prime display program based on MFC. which are built in 3D models. . including: the launch phase of satellite..c) 3d display program 1)function This program has the following functions: the 3D display of the movements of satellites. could switch among the multi scenes.g. Except for the two threads mentioned above. so when the program starts to run. the phase of the navigation constellation working in orbit and serving the users. planes.

Because the network client thread and the Vega Prime thread are separated. the message passing machinery is used to . so the responding to user's operations speeds up. The scene rendering effects are shown to users via the 3D scenes in the view window. By this way. The program based on MFC could respond to keyboard and mouse messages. and moreover. and then the Vega Prime thread completes the rendering of the 3D objects as well as the controlling of the movements of those objects. The user thread is mainly responsible to respond to the messages from computer systems. using the scene rendering interface functions provided by Vega Prime. furthermore it could alleviate the burden of scene display for the user thread. it is necessary that the program provides shared memory for the two threads to share mutual data with each other. the scene rendering and processing speed could be accelerated. and that is what makes it is possible for the user to control the display of the 3D scenes by inputting the controlling instruments according to the operation of simulation. The program finishes the tasks related to the display of the Vega Prime scenes in a separate thread. Fig 7 gives the basic processing flow chat of the program.The 3D display program transmits the packets and user' s controlling instructions to the Vega Prime thread via the user thread.

.pass the user control instructions received by the user thread to the Vega Prime thread.

the CVpApp class calls the in-class functions of these aggregated classes to accomplish the rendering of all of the scenes. Please refer to [6] for more details about OpenGL. viewpoints. the 3D objects. the chasses in the dashed frame are Vega Prime classes which are defined and realized by the Vega Prime. the CVpOpenGL class is developed to get some special rendering effects. respectively. . and the model is formed by multiple tiny triangles. the control of the object movement. 8. so these inclass functions of the CVpOpenGL class must subscribe to the channel events first.3)class design On the basis of the structure design and the process analysis. called controlling classes. The relationships among the main classes are shown in Fig. The CObsMgr class. such as the name. the CObserver class and the CDofDbj class are derived from the CDataBase class. in order to realize all of the functions mentioned above. Among all the user-defmed classes.the CObjMgr class. updating the frames and so on. The CVpOpenGL class functions are called via channel callback function mechanism. and they are used to keep the information about 3D objects. the CDofMgr class and the CSceneMgr class. by the function call of Vega Prime API. and DOF nodes. star field simulation. could control the viewpoints. which defines the general properties of all the objects. the position and so on. like orbit drawing. and the detailed works include the configuration of the 3D scenes. Based on OpenGL. such as the name. Besides aggregating the controlling classes and the CVpOpenGL class mentioned above. The CObject class. for example. the rendering of rocket flame and radar wave. 8. the locations and some Vega Prime objects. adding subscribers to channel events. The CVpApp class is derived from vpApp---the Vega Prime core class. and the others are user-defined. the CDataBase class is the base class. the 3D display program needs many classes. As seen in Fig. The 3D model database used in the scenes is established by applying the three-dimensional modeling software MultiGen Creator. The CScene class defmes all of the properties needed to render 3D scenes. the DOF nodes and the 3D scenes respectively.

. 9. Fig. using Visual C++ and Windows XP as the software developing platform. the 2D display program and the 3D display program. the satellite navigation simulation system visualization software are developed. (b) and (c) are the program running screenshots of the system information display program. SIMULATION INSTANCE AND EFFECT According to the designing and realizing methods discussed above. respectively.IV. 9(a). based on Vega Prime and OpenGL. The running result of the software is shown in Fig.

the software has already been employed in engineering area. the structure of a distributed satellite navigation simulation system composed of multi-platform subsystems was analyzed. After simulation verification. designed the satellite navigation simulation system visualization software.V. Nowadays. Besides. RESULTS Aim the visualization of the satellite navigation simulation system. and facilitates the design and analysis of the aerospace system. Then associating the techniques of visual simulation with the techniques of satellite navigation. and it has spectacular visual effect. and discussed the developing technique as well as the realizing methods. the above-mentioned designing and realizing methods as well as the applied techniques are useful for developing the similar systems. . Based on the scheme and techniques mentioned above. it is proved that the visualization scheme of the software stated above is feasible. the satellite navigation simulation system visualization software has been realized.

(b) The running effect of the 2D display program. (c) The running effect of the 3D display program.(a) (b) (c) Figure 9. Visualization softwares' display effects: (a) the running effect of the system information display program. .

REFERENCES [I] H.-B. Wright. "Design and Realization of Missile Attack and Defense Visual Simulation System. Shepherd.. vol. pp.. 1. "Space Mission Simulation System Based on HLA. 5779-5782. Space Sci. Boston. Kruglinski. Second Edition. Zhang. Y. Hegarty. B. 2007.-F. Xia." Journal of System Simulation vol. 2009. Zhao. and R.-J. Li. Beijing: Publishing House of Electronics Industry. Zhou. 18.-Y. [6] R. no. pp. 2004." Chin. no. pp.241. Understanding GPS: Principles and Applications. 5710-5714.-D. Wang. Y. no. [4] E. . Programming with Microsoft Visual C++. Kaplan. Y. Haemel. Sixth Edition (Core Reference). Dec.-L. C. [2] J. 3. D.NET. 28. OpenGL superbible: comprehensive tutorial and reference. MA:Addison Wesley. Lipchak.-S. "Design of a Moon Exploration Probe Simulation and Visualization System.2008. Fourth Edition. 19. 24. 21. in Chinese. Beijing: Tsinghua University Press. [5] G. in Chinese." Journal of System Simulation vol. 2007. [3] F.-S. Sep. Luo. N. 2007. 236.