Engineering PapersSearch

Engineering topics

Bryan W Welch

Publications and source records attributed to Bryan W Welch.

Creating Camera Controls for First-Person Camera in VulkanSceneGraph

The way users interact with a virtual, three-dimensional (3D) scene is heavily influenced by the way the camera used to view the scene is controlled. A first-person camera is a common form of camera control for computer programs. Its role is to create an immersive viewer experience, which allows users to traverse a scene as they might in the real world. Allowing for the implementation of the first-person camera makes for a more holistic, well-rounded way to interact with the visualization program. Accomplishing this involves mathematical calculations that define how the camera should be moved for the computer system. These movements equate to the rotation, translation, and scale of the changes. It should be noted that a computer does not inherently process what movement directions (left, right, up, or down) mean. The mathematical equations used define these principles in a way the computer can process. Further aspects to consider are detecting when the camera has moved and how far. This is most frequently accomplished through user |input through external devices. These devices, for the purpose of this report, include mouse input and keyboard input. Additionally, the in-development program this report is referencing works with the VulkanSceneGraph (VSG) library to create the scene and build the base of the camera controls. Although VSG is a powerful library with many capabilities, additional Application Programming Interfaces (APIs) might be needed during development to produce the desired results, as is the case in this program. Through combining proper mathematical calculations, utilizing additional APIs, and implementing the existing VSG library capabilities, implementing first-person camera controls is possible in a 3D scene.

Kristie O'Brien

Runtime Thread-Block Optimization for Custom Multistream CUDA Kernels for the Glenn Research Center Communication Analysis Suite

In preparation of the return of humans to the Moon with the coming Artemis missions, NASA scientists must evaluate proposed landing site locations for terrain and communications viability. The Glenn Research Center Communication Analysis Suite (GCAS) combines sophisticated communication network models with accurate lunar terrain to access sites across the Moon’s south pole. Given the importance of proper site selection to crew safety and mission success, many locations need to be analyzed resulting in a large computational load needing to be performed. To meet the growing project demands, development has begun to improve the runtime efficiency of GCAS with GPU parallelization by way of multi-stream CUDA kernels. One of the most prominent factors in kernel optimization is the proper selection of thread-block dimensions in order to maximize the concurrent operation on the device. Typically, thread-block dimensions are optimized by hand requiring many stages of benchmarking and iteration. Additionally, given the main conditions to optimization are the physical GPU architecture and problem size, these optimal dimensions are non-portable and fragile in their scope. As such, a novel optimization routine was developed to generate the optimal thread-block dimensions during runtime with considerations to hardware specifications and problem size resolving the issues of portability and enabling the function of more dynamic routines.

Aden Bergstresser

Preventing Camera Clipping Through Varied Terrain and Other Planetary Objects

Within the scope of computer visualization systems and technologies, camera objects allow users to navigate three-dimensional (3D) scenes much like a person would navigate the real world. As such, when one seeks to model a scene or environment based on real-world laws, the camera must often follow these same conventions. Accomplishing this in the world of computer renderings presents unique challenges for defining space, spatial relations, depth, distance, and height. Therefore, movement for a camera must be specifically designated and processed by the program in order to achieve accurate movement representations. Although this thought process involves each aspect of camera movement, one specific aspect of camera movement is the primary focus of this report: ensuring that the camera does not clip through an object and appear subsurface. This is important to mimic real-world movements because people in the real world would not go beneath the solid-surface terrain unless they intended to do so. By working with numerical definitions, equations, and variables, a computer can relate an object to its existence in space. Thus, such challenges in camera movements with computationally rendered 3D spaces can be mitigated.

Kristie O'Brien

Addition of First-Person Visualization Capabilities to the Glenn Research Center Communication Analysis Suite (GCAS)

The ability to visualize large sets of data is important to giving an understanding of abstract ideas to large groups. With the ability to visualize the terrain of lunar surfaces in three dimensions from both an orbital and first-person view, the capabilities of the Glenn Research Center Communication Analysis Suite (GCAS) will have expanded to allow specific landing sites to be seen more realistically. GCAS will utilize GeoTIFF-based data to visualize the lunar terrain.

ECMAScript

On Development of Three-Dimensional Visualization Capabilities in Glenn Research Center Communication Analysis Suite

With NASA’s upcoming mission to return to the Moon sustainably by 2024 and using that success as a means to step onto the barren world of Mars, it remains more important than ever to conduct research and planning as thoroughly and efficiently as possible. In a mission as complex as landing humans onto another celestial body, a network of orbiting satellites and ground stations must accurately and reliably communicate with each other, enabling crucial data communications throughout the mission. Visualizing this important data communication increases the understanding of the data and can accelerate analyses efforts. The purpose of this software development is to create an interactive visualization with data taken MATLAB® scripts in the GRC Communication Analysis Suite that is easy to understand, can show all necessary data, and display the data accurately. The main types of data to visualize are from the State Propagation, Line of Sight and Dynamic Link Margin scripts. These all show positions and orbits of satellites and ground stations, while the Line of Sight data shows when they have the ability to communicate with each other based on their respective antenna positions and fields of view. Additionally, the Dynamic Link Margin mode color-codes the communication link performance onto the Line of Sight access lines. Visualization requires a graphics language that is easily accessible, has the needed features, and able to easily read data produced by the GRC Communication Analysis Suite MATLAB® scripts. ThreeJS, a graphics library for Web Graphics Library, coded in JavaScript was selected for the visualization. The next part of the software development was to move the data from MATLAB® to the JavaScript. The best way to accomplish this was to implement a MATLAB® function converting the output data of the scripts to a JavaScript Object Notation file. A key part of the development was creating the visualization within JavaScript and ThreeJS to visualize any combination of planets, moons, orbits, satellites, ground stations, line of sight links, and handle future features without changing major parts of the code. The current visualization capability runs directly from MATLAB®, and can dynamically create any scene. This software development currently supports the lunar communications analysis underway by NASA, and can be easily expanded upon in the future to aid any analysis requirements to help plan current and future space missions.

Visualization

On Development of Modern Software Interface to Glenn Research Center’s Communication Analysis Suite

NASA’s Space Communications and Navigation (SCaN) program analyzes space communication channels involving satellites in any Earth orbit and deep space for a multitude of operations. Specifically, the SCaN program will power the future of lunar communications in the next decade and beyond. A web based user interface of the static link analysis component of the Glenn Research Center’s Communication Analysis Suite (GCAS) was developed. It is operated through a newly designed front-end application with an easy to use and intuitive web-based user interface that provides accurate satellite communications link analysis capabilities.

link analysis

Optical Communication Link Atmospheric Attenuation Model

The Space Communications and Navigation (SCaN) Center for Networking, Integration, and Communications (SCENIC) user interface, which provides web accessible space mission simulation and communication system analysis capabilities using verified and validated analysis algorithms, can execute analyses including, but not limited to, line-of-sight, orbit propagation, and dynamic link budget calculations between sets of missions and/or assets. SCENIC's purpose is to provide NASA civil servants and contractors a user-friendly tool, integrated with model data, that can simulate and analyze a range of space mission architectures without the need for repeated and redundant modeling. Given the abundance and further future development of free space optical (FSO) communication channels within modern space infrastructure, the availability of a reliable optical link analysis capability is crucial for SCENIC users. The efforts outlined in this paper aim to provide a model for atmospheric attenuation of FSO communication links, both due to absorption/scattering and turbulence, to increase the accuracy of SCENIC's optical link assessment capabilities. A previous model existed for optical absorption/scattering within the SCaN Link Budget Tool, but it was not location specific for the Earth ground-based nodes, nor was the model optimized for run-time. The new model utilizes years of National Oceanic and Atmospheric Administration (NOAA) visibility data from ground station locations around the world. Visibility, along with the wavelength of the optical signal, are input parameters to calculate the optical specific attenuation, which is a parameter in the calculation of the slant-path attenuation. A final FSO atmospheric attenuation value is comprised of the absorption/scattering attenuation and the turbulence attenuation. A run-time efficient algorithm for the model was then developed and programmed in MATLAB ® . Due to the simple model and vectorization possible in MATLAB, the algorithm has an average run-time of less than one fourth of the run-time of the previous implementation.

Jack L Green