Advanced Distributed Simulation Research Consortium
Objectives and Significance:
The main objectives of the overall ADS-VSE task are to: to develop and evaluate algorithms for graphics and visualization; to analyze the real-time performance of algorithms in synthetic environments; and 3) to tailor the algorithms to the simulation of phenomenological elements like terrain, fire, and smoke in distributed synthetic environments. To accomplish these goals, the ADS-VSE team embarked on the following subtasks. Details of each subtask, or subproject, have been individually reported following this overview, with the tasks' titles, participants, and affiliations.
One subtask focused on developing a model to simulate fire in a virtual environment using a distributed parallel-computing environment. The approach involved developing a two-dimensional (2-D) simulation of fire that improves on current 2-D fire simulations and uses Monte Carlo simulation techniques and stochastic models like the Ising Model as templates.
The purpose of a subtask was to develop algorithms to determine the equivalence of two or more geometric objects. This simply means taking various three-dimensional models and systematically performing a point-wise comparison of the properties/attributes at each coordinate (x, y, z) point of the objects. The goal was to develop a tool for comparing graphical objects based on their underlying 3D structure, and also tailorable to related work in the ADS-VSE task.
A subtask emphasized the insertion of graphical images into a simulated smoke model in a dynamic virtual environment. We initially limited our concentration on the exploration and development of ways to reduce the large volume of image datastreams which is created when smoke is simulated in our Ising simulation model. This subtask's focus shifted from the fire model to graphical issues in the modeling of smoke.
A subtask included reverse engineering a popular network based game to build components suitable for DIS simulations. We have included a formalization of the process to aid in future tasks.
The objective of this subtask was to develop a methodology and an environment for creating distributed speech applications. The goal was to develop JSBB (Java Speech Builder), a visual modeling tool for specifying both distributed and non-distributed speech applications.
An image compression tutorial was initiated to address the need for a central web-based introduction to image formats and compression. This tutorial gives a brief overview and comparison of different compression methods.
The objective of a sub-project was to develop a two-dimensional (2-D) fire simulation for accurate, graphical representation of the physical properties and features of fire. The fundamental component of the work is a 2-D fire simulation program that mimics the random behavior of fire without the effects of wind. In this subproject, we focused on the theoretical underpinnings such a heat transfer equations, temperature difference equations, and stochastic models.
A subtask was to develop a finite element model for heat propagation on the presumption that further phenomenological models could be realized more efficiently and accurately. The current model is one-dimensional and will be expanded to 2D and eventually 3D.
A subproject, focusing on the performance issues of parallel algorithms, complemented another which uses heat transfer equations and other models for modeling fire behavior. In the parallel algorithm subtask, it was assumed that the Message Passing Interface (MPI) system could reduce the time necessary to process large lattices both mathematically and graphically. A parallel version of the Ising algorithm was implemented and currently runs in the MPI environment on a cluster of SGI workstations.
Fuzzy models were applied to the physical-based modeling of dust particles in virtual environments. This allowed for the realistic simulation of the behavior of these particles. The specific goal was to simulate dust behavior as generated by a fast moving vehicle in a virtual environment, e.g., across a simulated battlefield terrain.
One subtask was on the transformation of 3D polygon-based representation, which allows morphing, control, and correspondence and interpolation. The goal was to develop techniques for visualizing objects as their representations are transformed from one mode into another. This subtask also required a technique for object recognition based on pattern matching.
This subtask focused on developing a graphical user interface (GUI) to JAVA JDBC, an API that allows access to any database that has the proper JDBC driver. The goal was to develop an interface that hides the details of the underlying DBMS software used to create a specific database, allowing for a simplified interface to develop queries in standard SQL DDL (Data Definition Language).
The effects of fire and its resulting smoke can have a significant impact on the strategic and tactical goals of a battle unit. Military personnel training in virtual world simulations and using training simulators may experience a realistic representation of these phenomenological elements that occur in real world theaters of war. As such, the effectiveness of combat simulators may improve as simulated fires and smoke mimic their real counterparts. Consequently, the cost of effectively training soldiers may be reduced.
The results of the graphical object comparison project will help in object recognition/identification by matching the subject against a database of target images. For example, the identification of enemy weapons/vehicles can be performed by use of this geometric analysis technique.
The incorporation of real-time obscurants such as smoke into computer simulations makes the virtual battlefield much more realistic. This further allows for military training at higher levels of complexity thereby enhancing readiness for battle. The smoke-modeling subtask was an investigation into the plausible and realistic representation of this phenomenological element.
Voice-based signals can be incorporated, with the proper level of security, into the transmission of commands among officers in battlefield environments. The spoken-language work also provides a way to manage multiple simulators in a virtual battlefield as well as the control of battlefield vehicles, e.g. mine sweepers, where human involvement, or control, is life threatening. Image transmission among commanding officers must be swift for effective battle management. Having the most efficient compression methods, which reduce the space and time complexities in the overall image processing, is vital to this goal.
Arguably, sound, mathematical models that encompass heat transfer, temperature, chemical reactions, and stochastic effects are essential to the precise calculation and simulation of fire. These models also add accuracy to the realistic representation of phenomenological effects in virtual battlefield simulations.
The real-time, virtual train environment (VTE) subtask provides a testbed for students to develop real-time algorithms for simulating mobile or vehicular entities in virtual environments. The results of this subtask will offer insight into the mechanisms for remote control of such devices and insertion of speech through dialogues. Further, the results of this subproject will be useful for maneuvering obstacle courses and vehicular guidance in simulated environments.
The fuzzy modeling subtask will offer a capability to generate realistic virtual environments in simulating dust generated by virtual battlefield vehicles like fast moving tanks.
The morphing subtask also will be applicable to the simulation of object transformations from one mode into another, especially, in the simulation of camouflaged entities or presentation of such effects.
The database graphical interface tool will provide an unified approach to developing queries that target different databases without regard to the underlying logical and physical database definitions. This will make different data formats, e.g., images, text, video, and audio databases to be uniformly queried.
The ADS-VSE group has developed and improved on the computation and visualization of a two-dimensional fire simulation in its endeavor to create a three-dimensional 3-D fire simulation for virtual environment training simulations. In the subtasks involving geometric object modeling and analysis, several techniques and tools used in this research include Open GL, Java, C++ and other object-oriented software tools; algorithms for correlating different three-dimensional geometric objects to determine the objects' equivalence; and incorporation of the Voronoi and Delaunay triangulation algorithms.
As an extension of the 2D-fire modeling and simulation, we concentrated our efforts on the design, development, testing and implementation of a Graphical Control Engine (GCE), for representing and controlling the behavior of smoke in a virtual battlefield simulation. We also concentrated on the development of formal mathematical tools for modeling the features and behavior of fire. To develop FireSim2, the fire simulation system, we used large data arrays, temperature difference equations, incorporated Monte Carlo simulation techniques, and used the Ising Model as a stochastic modeling template. We integrated optimal probability values in order to introduce the predictable and erratic behavior of fire. Further, we used a distributed computing environment, the MPI system, to map lattices of particles (from the 2D Ising model) in order to reduce the computational time required to process large lattices. The MPI distributed software architecture also allowed for the concurrent and efficient computation and visualization of the stochastic behavior of the simulated fire elements (particles).
In the spoken-language research our approach to design and implementation of multiple user speech applications depended on models for agent modeling, agent behavior representation, and distributed computing paradigms for propagating dialogues across multiple platforms to simulate interactions.
We studied and compared various data compression algorithms. A web site was developed which allows for the comparison of various image formats like JPEG, GIF, TIFF, PNG, and Fractal. To facilitate this effort, a JAVA applet was created to compare compressed images to their original representations. We developed another JAVA-based Deflated Compression Technique (DCT) algorithm for interactive manipulation of images.
The real-time control of a moving (model) train using multiple tracks required both hardware devices, e.g., sensors and solenoids. We added electronic controls and sensors to an existing non-computerized model train layout to create the train's terrain. Two transformers controlled the speed and direction of the two train cabs. Three control units were developed namely a cab control, a sensor control and a switch control. In addition, we set up thirteen manual switches, which were placed under computer control by adding a set of control solenoids, providing a directional pulse to each existing switch solenoid. Each switch control was manipulated by signals sent through an RS-232 port. Further, we tried to use a standard PC digital camera connected to one of the serial ports of the PC that controls the train. The idea was to video-capture the terrain data for further analysis to provide feedback control information on obstacles or defective tracks to alert the virtual conductor; however, the camera provided several problems.
Using rigid-particle dynamics and fluid dynamics, a physical-based model was develop to represent the structure and behavioral properties of dust particles. A three dimensional (3D) morphing technique was developed in Open Inventor environment to test algorithms that drive the morphologies of objects. Most of the algorithms that were developing for the morphing problem were drawn from computer graphics, e.g., projections, clipping, and interpolations. And the database GUI subtask involved heavy understanding and usage of JAVA systems.
FireSim2 is currently functional and being expanded from 2-D to 3-D. The output window is an array of 3600 panels that simulate pixels. With each iteration of the simulation, each of the panels is updated regardless of whether its color value changes. A distributed parallel processing technique was investigated to increase the speed of the computation and to expand the capacity of the program to process large arrays. The MPI implementation yielded some performance improvements, or speedup, in particular, as the number of sublattices increases the parallel version slightly outperformed the serial execution. The FireSim2 program currently runs on any platform that supports a stable Java environment. It was principally developed in the FAMU ADSRC laboratory.
The main accomplishment of the object comparison task was the development of an algorithm that performs the initial step in the graphical analysis process. The algorithm would incorporate the Voronoi diagrams and Delaunay Triangulation algorithms, which is currently under development.
Work on the Graphical Control Engine (GCE) subtask generated learning experiences for the students. In particular, they spent considerable time learning OpenGL and other software tools in our environment. Most of the work was done in the areas of the design of the GCE and the development of a tutorial on wavelets and other useful DSP and image processing information.
We have a fully functional prototype of JSBB. The JSBB environment contains a toolbar that lists the various dialogue states used to construct the dialogue. The developer chooses a state from the toolbar and adds it to the canvas, the main area in the center of the tool. The dialogue states are then connected to form a finite-state dialogue model.
Further, students were involved in developing JSBB applications, or tools, for:
a) speech-based interaction with a moving train (part of the VTE subproject),
b) locating agents in a distributed environment, and
c) voice-based calendar or scheduler.
The web-based tutorial system for image understanding and data compression was successfully completed and currently at :http://www.adsrc.famu.edu. It allows a user to view the original image by selecting an image from the list of given choices. The user can then select the compression ratio. The image of the user's choice is then displayed on the applet.
In the moving train subtask, Java objects were written for each physical object. The software components that were developed to control the simulation in real-time included the following Java objects - a cab, switch and sensor. The environment, which is functional, is set up in the graduate laboratory in the Computer Information Science Department at FAMU.
An investigation into the behavior of dust centered on the physical problem of airflow around moving vehicles using separated flow, particularly, the flow of turbulence at the boundary and vortex of the vehicle. The appropriate mathematical models for modeling the movement of dust in this context were investigated. Several steps were completed in the morphing project, resulting in the development of routines in C++. And a GUI tool for constructing a uniform SQL-based query system which dovetails a JAVA JDBC API, was developed in the database interfacing subtask.
The planned activities for the coming funding cycle have been discussed in the individual reports under the ADS-VSE section of this report.
Spoken Language Dialogue in a Distributed Environment
C. Allen, T. Weatherspoon (Student), K. Bartholomew (Student)
Research Objectives and Significance:
The objective of this research is to develop a methodology and software development environment for creating distributed speech applications. A distributed speech application allows multiple users, distributed throughout a computer network, to interact with the application using speech. Our goal is to develop JSBB, a visual modeling tool for specifying both distributed and non-distributed speech applications. The primary purpose of this research is to provide a platform that can support the development of distributed and non-distributed speech applications. The platform will be usable by both novices and experts in speech applications, and will be flexible enough to support a broad range of speech applications, for example interactive simulations.
This research has potential applications in battlefield management simulations. This work provides a way to manage multiple participants of a speech-based battlefield simulation, where the participants are distributed throughout a network. For example, voice commands can be incorporated, with the proper level of security, into the transmission of commands among officers in battlefield environments.
We have a fully functional prototype of JSBB. A speech application developer uses the JSBB development environment to visually model a finite-state dialogue. This dialogue model is then used to generate a working speech application. JSBB contains a toolbar that lists the various dialogue states used to construct the dialogue. The developer chooses a state from the toolbar and adds it to the canvas, the main area in the center of the tool. The dialogue states are then connected to form a finite-state dialogue model.
We have developed several applications to demonstrate and test the features of JSBB. Those applications are:
Speech-Based Interaction with a Railroad Train - This application allows someone to control a model railroad train in real-time. The user can start or stop the train, as well as control the speed, all using speech.
Locator Agent - This speech-based agent moves around in a distributed environment trying to locate an item (for example a book) on behalf of someone. The agent moves from machine to machine speaking to the owner of the machine.
Our future work will involve adding support for automatic learning of the dialogue. Constructing a spoken language system is labor intensive and requires a lot of expertise. One way to overcome these obstacles is to use machine-learning techniques to help the developer design the dialogue model. We will investigate machine-learning algorithms and incorporate a learning module in the current development environment. This learning module will use a corpus of human-to-human conversations to generate a preliminary dialogue model for the speech application.
Several undergraduate students are involved in activities related to this research. All are working in the area of spoken language understanding. Their projects are designed to help them gain familiarity with the field of spoken language understanding and to give them experience in using the tools available for spoken language systems. The student projects are described below.
Taja Weatherspoon, Kevin Bartholomew
Project: User responses in a Spoken Dialogue System with Implicit confirmation.
Description: This work investigates how users correct a spoken language system that uses implicit confirmation. Implicit confirmation is used when a speech system verifies a user's response by including the user's response in a subsequent question.
Project: A Speech-based Appointment Scheduler with Variable Initiative Dialogue
Description: This project involves developing a speech-based calendar. With this system, the user adds appointments to the calendar by speaking. The system supports variable-initiative dialogue: the user or the system may direct the conversation
JSBB can be used to develop a multiple user speech application that requires synchronous interaction. This means multiple users interact with the speech application, but speak at different times. Our approach to multiple user speech applications views the application as an agent, and the developer specifies the behavior of the agent (by using a special dialogue state from the toolbar). The developer determines when and where the agent moves in the distributed computing environment and how it interacts with the users in that environment.
Compression of Large Datasets
D. Williams, H. Williams, and R. Johnson (student)
Research Objective and Significance:
An objective of this project is to research different compression algorithms. Enormous number of bits are used to represent data in various computer transactions. Managing these extremely large datasets pose problems in storage space and processing time requirements. Compression addresses the issues of manageability and storagability of large amounts of data. The primary focus of this past year has been the development of a compression testbed.
Large amounts of data have to be transmitted and/or stored in Distributed Interactive Simulation (DIS). A sizeable portion of this data is in some image format. Thus, many times the data can tolerate some "lost" bits without losing its "identity". This tolerance lowers the data space and time requirements and thereby leading to better real-time simulations.
Initial research revealed the existence of several basic compression algorithms, such as Discrete Cosine Transform (DCT) and Lempel-Ziv-Welch (LZW), for images. It was also learned that there are several image formats and that these formats determine the algorithm(s) which may be utilized to compress the image. The LZW, which is used for Graphic Interchange Format (GIF) images, has been patented and is not available for analysis and testing. However, many compression routines have been developed that uses and/or extends the DCT, which is used for Joint Photographic Experts Group (JPEG) format. It was determined that a testbed of different algorithms for the image formats would provide an effective means to continue this research effort.
Source or executable code for several algorithms has been stored. Some of these algorithms have been used to compress tank, airplane, and human images at various ratios. Others are being debugged so that they may be executed. In the future, we plan to develop parameters to compare the effectiveness of the different algorithms and enhance/modify those that show promise for DIS.
Reference-Based Metamorphosis For Polyhedral Objects
R. Guha and P. Sompagdee(UCF)
Research Objectives and Significance:
Morphing techniques have long been used in the entertainment industry. However, the visualization of one thing changing into another can benefit other applications as well, for example, the study of the development of human beings. The objectives of this method are: (1) to find a general transformation function or method that is applicable to 3D polygonally-based representation of objects by solving three major problems of namely, morphing; control, correspondence and interpolation and (2) to propose the analysis methodologies to determine the behaviors of intermediate objects; distortion, surface self-intersection, fold-over problem.
This method is a general solution for the transformation of any 3D polygonally-based representation of objects. It is applicable to any visualization systems for displaying the changes of objects that have been developed or transformed into some other objects.
We developed a reference-based 3D morphing technique by using Open Inventor, the graphics libraries with the C++ interface, to implement and test our algorithms. The models used are 3D polygonally-based representation of objects. Each object is composed of the coordinates of each vertex, the edge connections, the color of each polygon or/and its texture file. These models are commonly used and can be obtained easily. Our method provides general solution to solve three major problems of morphing: control, establishing correspondence, and interpolation for a class of polyhedral models. A pair of reference lines and a pair of lines perpendicular to the reference lines embedded inside the source and target models are utilized in solving these three problems. For control, they define how objects are oriented. For establishing correspondence, they are used for projecting all vertices from the inside out. Applying the inside-out clipping algorithm merges the topologies of two objects. Finally, we apply linear interpolation to the length and angle of each vertex in the form of a polar coordinate system representation. The reference line and line center are chosen for measuring the length, and angle of the edge from that vertex to the center. Reference lines help avoid distortion in vertex-path interpolation and reduce surface self-intersection considerably. The polyhedral models are restricted to the case that all vertices are visible from either end or the center of the reference line.
The following tasks have been accomplished:
Development of the C++ programs and the supporting graphics routines of OpenInventor for embedding the reference axes.
The routines for creating the correspondence and the merging of object topologies are accomplished and have been tested for more than 20 pairs of 3D polygonally-based representation of objects.
Devised some approaches to improve the interpolation techniques. These include the simple linear interpolation techniques and other high order interpolants. The results showed that the linear interpolation can give good results but it has to be applied to the polar coordinate representation of vertices combined with the information on object orientations.
Page maintained by CST Web Support Technician
Last updated or reviewed on 4/23/09