Project

# Title Team Members TA Documents Sponsor
5 Display for ODEs
Kejia Hu
Qianhe Ye
Qirong Xia
Zhuohao Li
design_document1.pdf
final_paper1.pdf
final_paper2.pdf
proposal1.pdf
Pavel Loskot
# TEAM MEMBERS
- Qirong Xia (qirongx2)
- Kejia Hu (kejiahu2)
- Qianhe Ye (qianhey2)
- Zhuohao Li (zhuohao5)

# PROBLEM
Many physical systems involve interactions between multiple variables that can be difficult to conceptualize in a 2D space. Visualizing these solutions in 3D allows a more intuitive understanding of the behavior over time or across different conditions. Additionally, for problems involving spatial dimensions, a 3D visualization can illustrate how variables change not just over time but also across different points in space.

# SOLUTION OVERVIEW
Our project aims to create a 3D real-time visualization of a time-varying 2D Ordinary Differential Equation (ODE) function. This visualization platform will dynamically represent the changing behavior of the function over time. Additionally, we will project the color to the surface from either the top or below, adding another dimension of visual interpretation. Our design has three subsystems and one optional subsystem. The **User Interface module** will get the ODE from the user calculate the solution for it and transmit the data to the Dynamic Stick Control module. This subsystem will get the ODE solution from the User Interface Module and then convert the information to languages that the mechanical devices can understand. Our **Mechanical module** adjusts the height of the stick based on the signal transmitted from the Dynamic Stick Control module. Additionally, this module will use a **Lycra fabric** to cover the top of the grid-like sticks to create a smooth visualization surface for displaying the ODE. Finally, if the time is available, we will design a Surface Coloring and Projection Module which will project images to the canvas either from the top or below.

# SOLUTION COMPONENTS

## USER INTERFACE SUBSYSTEM
The User Interface (UI) module serves as the interface between the user and the ODE visualization system. It receives input ODE equations from the user, calculates the solution for them, and transmits the data to the Dynamic Stick Control module for visualization. To realize this function, firstly, we need a Graphical User Interface (GUI) which contains components such as text input fields, buttons, sliders, and dropdown menus for user interaction, allowing users to input ODE equations through a graphical interface. Secondly, once the user inputs the ODE equations, the module utilizes an ODE solver algorithm to compute the solution. This may involve numerical integration techniques such as Euler's method, Runge-Kutta method, or other numerical approaches depending on the complexity and accuracy requirements of the ODE. Thirdly, after computing the solution, the UI module transmits the data, including the time-varying solutions of the ODE variables, to the Dynamic Stick Control module for visualization. The transmission occurs through a wired communication interface. Lastly, the UI module will provide feedback to the user regarding the status of the computation, such as progress indicators or error messages in case of invalid input or computation failures.

## DYNAMIC-STICK CONTROL SUBSYSTEM
The control subsystem first interprets the solution of ODE from the User Interface subsystem. Then the system translates the solutions of the ODE into control commands that can be executed by the mechanical subsystem. This involves mapping the mathematical solutions to physical actions, such as the movement of the sticks. Besides this, the control subsystem also gets feedback from the mechanical subsystem, comparing the actual outcomes with the desired outcomes, and tuning the outputs accordingly. To implement the control logic, we plan to use the Arduino development board or an low-power Intel FPGA (DE10-Lite).

## MECHANICAL SUBSYSTEM
The mechanical subsystem is composed of sticks that can dynamically move up and down based on the displayed solution. Lycra fabric is affixed to the top of each stick to make the visualization smooth. The mechanical subsystem gets inputs from the control subsystem, performing the actions as dictated by the control commands, and feedback to the control subsystem for further tuning. The system maintains the precision and accuracy of the motions by following the control commands from the control system as closely as possible. It should also be robust and minimize the small vibrations and noise from the environment.

## SURFACE COLORING AND PROJECTION SUBSYSTEM (OPTIONAL)
The coloring and projection subsystem is on the top of the device. It continuously measures the height of each stick in real-time, which can be achieved by incorporating ultrasonic sensors in the subsystem to sense the distance. To achieve accurate and rapid coloring, the subsystem also needs to prevent noise from affecting the sensor's operation. The data collected from the sensors is processed to identify the status of the mechanical system. Given the processed sensing data, the subsystem employs a logic to assign colors based on the height of the sticks. For example, the highest sticks could be assigned to the color red, while the saddle points are assigned to the color blue. As the height of the sticks changes, the subsystem must dynamically adjust the projections in real time to reflect these changes. We plan to implement this feature if time is available since it requires an independent control system to implement the logic.

# Criterion for Success

The success of our project will be determined by the following high-level goals:

1. **Functional User Interface (UI) Subsystem**: The UI should be intuitive and user-friendly, allowing users to input ODE equations easily and see the status of computations. It should effectively communicate with the Dynamic Stick Control subsystem to transmit ODE solutions accurately and efficiently.

2. **Accurate Dynamic-Stick Control Subsystem**: This subsystem needs to accurately interpret and translate ODE solutions into precise mechanical movements. The control system, whether using an Arduino or FPGA, should provide reliable and real-time response to the computations received from the UI.

3. **Robust Mechanical Subsystem**: The mechanical setup, involving the dynamic sticks and Lycra fabric, must respond accurately to the control signals. It should be sturdy, minimize vibrations and noise, and accurately reflect the ODE solutions in a 3D format.

4. **Overall Integration and Performance**: All subsystems must work harmoniously to create a seamless and real-time 3D visualization of the ODE solutions. The system should be stable, efficient, and provide a clear and accurate representation of the ODE dynamics.

# Distribution of Work

The work distribution among team members is planned as follows, considering their majors and skills:

- **Qirong Xia (qirongx2)**:As an electrical engineering student, Qirong will lead the electrical design and, if time allows, lead the development of the Surface Coloring and Projection subsystem, focusing on sensor integration and real-time color projection.
- **Kejia Hu (kejiahu2)**: With expertise in electrical engineering, Kejia will be responsible for the Dynamic-Stick Control subsystem, including programming the Arduino or FPGA for accurate control and feedback mechanisms.
- **Qianhe Ye (qianhey2)**: As a mechanical engineering student, Qianhe will lead the design and construction of the Mechanical subsystem, ensuring the precision and robustness of the stick movements and fabric setup.
- **Zhuohao Li (zhuohao5)**: With a background in computer engineering, Zhuohao will focus on developing the User Interface subsystem, including the GUI design and integration with the ODE solver algorithm.

The project's complexity is justified by the diverse skills of the team members. The combination of expertise in computer, electrical, and mechanical engineering is essential for tackling the various challenges presented by this interdisciplinary project. Each member's skill set is aligned with their respective subsystem, ensuring a well-rounded approach to achieving the project's goals.

Augmented Reality and Virtual Reality for Electromagnetics Education

Zhanyu Feng, Zhewen Fu, Han Hua, Daosen Sun

Featured Project

# PROBLEM

Many students found electromagnetics a difficult subject to master partly because electromagnetic waves are difficult to visualize directly using our own eyes. Thus, it becomes a mathematical abstract that heavily relies upon mathematical formulations.

# SOLUTION OVERVIEW

We focus on using AR/VR technology for large-scale, complex, and interactive visualization for the electromagnetic waves. To speed up the calculation, we are going to compute the field responses and render the fields out in real-time probably accelerated by GPU computing, cluster computation, and other more advanced numerical algorithms. Besides, we propose to perform public, immersive, and interactive education to users. We plan to use the existing VR equipment, VR square at laboratory building D220 to present users with a wide range of field of view, high-resolution, and high-quality 3D stereoscopic images, making the virtual environment perfectly comparable to the real world. Users can work together and interact with each other while maneuvering the virtual objects. This project also set up the basis for us to develop digital-twins technology for electromagnetics that effectively links the real world with digital space.

# COMPONENTS

1.Numerical computation component: The part that responsible for computing the field lines via Maxwell equations. We will try to load the work on the GPU to get better performance.

2.Graphic rendering component: The part will receive data from the numerical computation component and use renderers to visualize the data.

3.User interface component: This part can process users’ actions and allow the users to interact with objects in the virtual world.

4.Audio component: This part will generate audio based on the electromagnetic fields on charged objects.

5.Haptic component: This part will interact with the controller to send vibration feedback to users based on the field strength.

# CRITERIA OF SUCCESS

Set up four distinct experiments to illustrate the concept of four Maxwell equations. Students can work together and use controllers to set up different types of charged objects and operate the orientation/position of them. Students can see both static and real-time electromagnetic fields around charged objects via VR devices. Achieve high frame rates in the virtual world and fasten the process of computation and using advanced algorithms to get smooth electromagnetic fields.

# WHAT MAKES OUR PROJECT UNIQUE

We will build four distinct scenarios based on four Maxwell Equations rather than the one Gaussian’s Law made by UIUC team. In these scenarios, we will render both electric and magnetic field lines around charged objects, as well as the forces between them.

The experiments allow users to interact with objects simultaneously. In other words, users can cooperate with each other while conducting experiments. While the lab scene made by UIUC team only allows one user to do the experiment alone, we offer the chance to make the experiment public and allow multiple users to engage in the experiments.

We will use different hardware to do the computation. Rather than based on CPU, we will parallelize the calculation and using GPU to improve the performance and simulate large-scale visualization for the fields to meet the multi-users needs.

Compared to the project in the UIUC, we will not only try to visualize the fields, but also expand the dimension that we can perceive the phenomena i.e., adding haptic feedback in the game and also using audio feedback to give users 4D experience.