![]() ![]() The orientation data in the FOM (SGOrientationWGS84) are Quaternions ( ), and those are the i,j,k values. The FOM is a set of XML files in fgdata/HLA/ Instead, we'll need to make explicit decisions about the data models to communicate. While it might at first glance seem a good idea to use the FOM to share the internal property tree across multiple federates, this is probably the wrong way to use HLA as the granularity is too low and it's likely to lead to synchonization issues. Using SimKit, the integration point is within the FlightGear code (rather than SimGear), in particular the code under $FG_SRC/Network/HLA.Ī key part of the design is writing the Federation Object Model (FOM), which defines the objects and updates that are published by the RTI. It also has excellent Python integration, making it very easy to write scripted Federates. This sits on top of the RTI and simplifies interfacing with the RTI massively. Mathias has also written an open source toolkit to act as an interface library, with a working name of SimKit. ![]() This is an open source IEEE 1516 standard RTI, written by Mathias Fröhlich and available from. ![]() We intend to use OpenRTI as the underlying RTI.The planned overall design is as follows: ![]() running a self-contained subsystem in a dedicated gdb/valgrind session), without having to know how to modify/patch and rebuild FlightGear.Ī good overview of how the HLA architecture works can be found here It provides a very good framework to allow anyone to create components that interact with FlightGear using programming languages other than C/C++ (think Ada, Java, Python etc), which may be running in their own threads, and reside in separate binaries, which will be also easier to debug/troubleshoot (think regression testing, i.e.It allows us to split out parts of the simulator such as AI (by Decoupling the AI Traffic System), the FDM, Nasal scripting and Renderer from each other and less time-critical sub-systems such as weather so that we can get consistent (and perhaps higher) frame-rates (i.e.It provides a robust environment to make the simulator multi-threaded, taking advantage of computers with multiple cores, or indeed running different parts of the simulation on different computers (including even different platforms and operating systems).There are three big advantages to this over a monolithic simulation (e.g. 32 bit platforms may make better use of virtual RAM that way). Rather than have the entire simulation within a single executable, the simulation is split into different Federates, which interact with each other by a Run-Time Infrastructure ( RTI, a message bus that handles serialization of messages, events and objects), with federates typically running in their own threads/processes and each federate process having access to the full virtual process address space provided by the OS instead of having to share it with other subsystems (i.e. High-Level Architecture ( HLA) is a general purpose architecture for distributed computer simulation systems. Howto:Start worker threads using listeners in Nasal.Modularizing, parallelizing and distributing FlightGear.FlightGear high-level architecture support.Howto:Activate multi core and multi GPU support for OSG.Mathias Fröhlich, James Turner, Stuart Buchanan, Richard Harrison Implementing support for the High Level Architecture to modularize FlightGear ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |