Project

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

Remote Robot Car Control System with RGBD Camera for 3D Reconstruction

Hao Chen, Yuhao Ge, Junyan Li, Han Yang

Featured Project

## Team Members

- [Yuhao Ge], [yuhaoge2],

- [Hao Chen], [haoc8],

- [Junyan Li], [junyanl3],

- [Han Yang], [hany6].

## Project Title

Remote Robot Car Control System with RGBD Camera for 3D Reconstruction

## Problem

We aim to build a user-friendly control system for assisting users to remotely control a robot car equipped with an RGBD camera in complex indoor environments. The car should be able to build the environment based on the point cloud scanned by the camera, and the remote computer will reconstruct the point cloud to gain the map of the environment.

## Solution Overview

Our solution consists of a Robot Car Subsystem, Camera Subsystem, Remote Control Subsystem, and Human-Robot Interaction Interface. The Robot Car Subsystem includes a robot car and a rotating base for the RGBD camera. The Camera Subsystem captures RGBD images of the surrounding environment and performs real-time 3D reconstruction. The Remote Control Subsystem allows users to control the robot car remotely via a joystick. The Human-Robot Interaction Interface provides a third-person perspective view of the reconstructed environment and allows users to interact with the robot car in real-time.

## Solution Components

- Robot Car Subsystem: Includes a robot car and a rotating base for the RGBD camera.

- Camera Subsystem: Captures RGBD images of the surrounding environment and performs real-time 3D reconstruction using image signal processing software.

- Remote Control Subsystem: Allows users to control the robot car remotely via a joystick.

- Human-Robot Interaction Interface: Provides a third-person perspective view of the reconstructed environment and allows users to interact with the robot car in real-time.

## Criterion for Success

- The remote robot car control system can navigate and avoid obstacles in complex indoor environments.

- The Camera Subsystem can perform real-time 3D reconstruction with high accuracy and reliability.

- The Remote Control Subsystem provides a smooth and responsive control experience for the user.

- The Human-Robot Interaction Interface provides an intuitive and user-friendly way for users to interact with the robot car and view the reconstructed environment.

## Distribution of Work

- Han Yang (EE): Camera Subsystem design and implementation

- Hao Chen (ECE): Remote Control Subsystem design and implementation

- Junyan Li (ECE): Human-Robot Interaction Interface design and implementation

- Yuhao GE (ECE): Robot Car Subsystem design and implementation

## Justification of Complexity

We believe that our team has the necessary skills and knowledge to handle the mechanical and electrical complexity of our project.

Specifically, Han Yang has experience in image signal processing and Hao Chen has experience in remote control systems. Junyan Li has experience in human-robot interaction design, and Yuhao Ge has experience in robotics and mechanical design. Additionally, we plan to use readily available off-the-shelf components and design our system in a modular and scalable way to minimize the complexity and facilitate the development process.