Project

# Title Team Members TA Documents Sponsor
5 Display for ODEs
Kejia Hu
Qianhe Ye
Qirong Xia
Zhuohao Li
design_document1.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.

An Intelligent Assistant Using Sign Language

Qianzhong Chen, Howie Liu, Haina Lou, Yike Zhou

Featured Project

# TEAM MEMBERS

Qianzhong Chen (qc19)

Hanwen Liu (hanwenl4)

Haina Lou (hainal2)

Yike Zhou (yikez3)

# TITLE OF THE PROJECT

An Intelligent Assistant Using Sign Language

# PROBLEM & SOLUTION OVERVIEW

Recently, smart home accessories are more and more common in people's home. A center, which is usually a speaker with voice user interface, is needed to control private smart home accessories. But a interactive speaker may not be the most ideal for people who are hard to speak or hear. Therefore, we aim to develop a intelligent assistant using sign language, which can understand sign languages, interact with people, and act as a real assistant.

# SOLUTION COMPONENTS

## Subsystem1: 12-Degree-of-Freedom Bionic Hand System

- Two moveable joints every finger driven by 5-V servo motors

- The main parts of the hand manufactured with 3D printing

- The bionic hand is fixed on a 2-DOF electrical platform

- All of the servo motors controlled by PWM signals transmitted by STM32 micro controller

## Subsystem2: The Control System

- The controlling system consists of embedded system modules including the microcontroller, high performance edge computing platform which will be used to run dynamic gesture recognition model and more than 20 motors which can control the delicate movement of our bionic hand. It also requires a high-precision camera to capture the hand gesture of users.

## Subsystem3: Dynamic Gesture Recognition System

- A external camera capturing the shape, appearance, and motion of objective hands

- A pre-trained model to help other subsystems to figure out the meaning behind the sign language. To be more specific, at the step of objects detection, we intended to adopt YOLO algorithm as well as Mediapipe, a machine learning framework developed by Google to recognize different sign language efficiently. Considering the characteristic of dynamic gesture, we also hope to adopt 3D-CNN and RNN to build our models to better fit in the spatio-temporal features.

# CRITERION OF SUCCESS

- The bionic hand can move free and fluently as designed, all of the 12 DOFs fulfilled. The movement of single joint of the finger does not interrupt or be interrupted by other movements. The durability and reliability of the bionic hand is achieved.

- The controlling system needs to be reliable and outputs stable PWM signals to motors. The edge computing platform we choose should have high performance when running the dynamic gesture recognition model.

- Our machine could recognize different sign language immediately and react with corresponding gestures without obvious delay.

# DISTRIBUTION OF WORK

- Qianzhong Chen(ME): Mechanical design and manufacture the bionic hand; tune the linking between motors and mechanical parts; work with Haina to program on STM32 to generate PWM signals and drive motors.

- Hanwen Liu(CompE): Record gesture clips to collect enough data; test camera modules; draft reports; make schedules.

- Haina Lou(EE): Implement the embedded controlling System; program the microcontroller, AI embedded edge computing module and implement serial communication.

- Yike Zhou(EE): Accomplish object detection subsystem; Build and train the machine learning models.