Project Proposal

Description

The proposal outlines your project's motivation, design, requirements, ethics, and safety. The project proposal is an expansion on the information provided in the RFA. Use the following format:

  1. Introduction

    • Problem: One to two paragraphs detailing the problem statement. Include any relevant references to justify the existence or importance of the problem.
    • Solution: One to two paragraphs describing the solution. Give a high-level idea of what your solution is, then delve into detail as to how it is implemented. You do not have to commit to a particular implementation at this point, but your description should be explicit and concrete.
    • Visual Aid: A pictorial representation of your project that puts your solution in context. Include other external systems relevant to your project (e.g. if your solution connects to a phone via Bluetooth, draw a dotted line between your device and the phone). Note that this is not a block diagram and should explain how the solution is used, not a breakdown of inner components.

      Sample visual aid for project which remaps GameCube buttons on the fly.

    • High-level requirements list: A list of three quantitative characteristics that this project must exhibit in order to solve the problem. Each high-level requirement must be stated in complete sentences and displayed as a bulleted list. Avoid mentioning "cost" as a high level requirement.
  2. Design
    • Block Diagram: Break your design down into blocks and assign these blocks into subsystems. Label voltages and data connections. Your microcontroller can live in multiple subsystems if you wish, as in the example below.

      Sample block diagram for electric longboard + remote

    • Subsystem Overview: A brief description of the function of each subsystem in the block diagram and explain how it connects with the other subsystems. Every subsystem in the block diagram should have its own paragraph.
    • Subsystem Requirements: For each subsystem in your block diagram, you should include a highly detailed block description. Each description must include a statement indicating how the block contributes to the overall design dictated by the high-level requirements. Any interfaces with other blocks must be defined clearly and quantitatively. Include a list of requirements where if any of these requirements were removed, the subsystem would fail to function. Good example: Power Subsystem must be able to supply at least 500mA to the rest of the system continuously at 5V +/- 0.1V.
    • Tolerance Analysis: Identify an aspect of your design that poses a risk to successful completion of the project. Demonstrate the feasibility of this component through mathematical analysis or simulation.
  3. Ethics and Safety
    Assess the ethical and safety issues relevant to your project. Consider both issues arising during the development of your project and those which could arise from the accidental or intentional misuse of your project. Specific ethical issues should be discussed in the context of the IEEE and/or ACM Code of Ethics. Cite, but do not copy the Codes. Explain how you will avoid ethical breaches. Cite and discuss relevant safety and regulatory standards as they apply to your project. Review state and federal regulations, industry standards, and campus policy. Identify potential safety concerns in your project.

Formatting Guidelines

The formatting and writing style should be the same as that of the final report. Please see the Final Report Guidelines for details, or check out the Lecture slides on the topic. We recommend using a LaTeX template. You can find that on the Final Report page or here.

Submission and Deadlines

The Project Proposal document should be uploaded to My Project on PACE in PDF format before the deadline listed on the Calendar.

There are two deadlines on the Calendar. If you submit before the Early Deadline, your team will get 3 additional points of credit to be applied to your Proposal. This means that if your proposal would normally score an 18/25, you will instead receive a 21/25. It is highly recommended to complete your proposal by the early deadline for maximum points!

Keebot, a humanoid robot performing 3D pose imitation

Zhi Cen, Hao Hu, Xinyi Lai, Kerui Zhu

Featured Project

# Problem Description

Life is movement, but exercising alone is boring. When people are alone, it is hard to motivate themselves to exercise and it is easy to give up. Faced with the unprecedented COVID-19 pandemics, even more people have to do sports alone at home. Inspired by "Keep", a popular fitness app with many video demonstrations, we want to build a humanoid robot "Keebot" which can imitate the movements of the user in real time. Compared to a virtual coach in the video, our Keebot can provide physical company by doing the same exercises as the user, thus making exercising alone at home more interesting.

# Solution Overview

Our solution to the create such a movement imitating robot is to combine both computer vision and robotic design. The user's movement is captured by a fixed and stabilized depth camera. The 3D joint position will be calculated from the camera image with the help of some neural networks and depth information from the camera. The 3D joint position data will be translated into the motor angular rotation information and sent to the robot using Bluetooth. The robot realizes the imitation by controlling the servo motors as commanded. Since the 3D position data and mechanical control are not ideal, we leave out the consideration of keeping robot's balance and the robot's trunk will be fixed to a holder.

# Solution Components

## 3-D Pose Info Translator: from depth camera to 3-D pose info

+ RealSense Depth Camera which can get RGB and depth frames

+ A series of pre-processors such as denoising, normalizing and segmentation to reduce the impact of noise and environment

+ Pre-trained 2-D Human Pose Estimation model to convert the RGB frames to 2-D pose info

+ Combine the 2-D pose info with the depth frames to get the 3-D pose info

## Control system: from model to motors

+ An STM32-based PCB with a Bluetooth module and servo motor drivers

+ A mapping from the 3-D poses and movements to the joint parameters, based on Inverse Kinematics

+ A close-loop control system with PID or State Space Method

+ Generate control signals for the servo motors in each joints

## Mechanical structure: the body of the humanoid robot

+ CAD drawings of the robot’s physical structure, with 14 joints (14 DOF).

+ Simulations with the Robotics System Toolbox in MATLAB to test the stability and feasibility of the movements

+ Assembling the robot with 3D print parts, fasteners and motors

# Criterion of Success

+ 3-D pose info and movements are extracted from the video by RealSense Depth Camera

+ The virtual robot can imitate human's movements in MATLAB simulation

+ The physical robot can imitate human's movements with its limbs while its trunk being fixed