Using the Website

Project Page

The Project Pages were created in an effort to help promote student projects. The Project Pages provide a showcase where employers, other students, and friends can see what UIUC students are capable of. Many employers, in particular, consider a good Senior Design Project to be just as valuable as internship experience. The Project Pages will develop over time into a valuable library of practical engineering knowledge. Some of the best projects will be identified each semester and placed in the Senior Design "Hall of Fame," while the rest will be accessible by semester and search engine.

Updating Project Information

Once your project has been approved on the discussion board by the Instructor, you should promptly update your project information. In order to do so, find your project on the Project page, and click its title. When a frame expands, click on "Edit." Next, enter your UIUC netid and password. The system will lookup your project and prompt you for information such as your project's title. Please fill in the information that you wish to have appear for your project, and then click on the submit button. The required fields are marked so. You can update this information at any time. We strongly urge you to keep a backup of all of the information, and we would like to caution you of one scenario in particular. If multiple people attempt to edit this information at the same time, the second person to submit the changes will overwrite the first person's changes. Also, be sure to logout when you are done by closing the web browser. It is important that you provide a project desciption. It should be a brief overview of your project and explanation of why it is worth doing. Please provide this information as soon as possible and try to limit the length to about 250 words.

Submit Schedule

After updating your project information, you should proceed to the Submit Schedule page. Here each student should submit his/her schedule so that your TA can schedule a weekly meeting time. We know that there are a lot of boxes to check, but we need this detailed information because of how difficult it is to match schedules. The information is displayed in a convenient way for TAs when it is time for them to schedule meeting times. The system is very intuitive so instructions are not needed. NOTE: Please be sure that the schedule you submit is as accurate as possible, since you won't be able to edit it later!

After submitting your schedule, you should familiarize yourself with the "Upload Files" page.

Uploading Files

This area is used to upload files such as the Proposal, the Final Paper, Images, and additional files. When a file is uploaded, it is renamed and limited to a specified size. Special documents such as Proposals and Final Papers should be uploaded into the appropriate slot and will automatically be added to your Project Page. Images and other files can be uploaded into any other slot such as "file1." To upload a file, simply select which slot to place it in, and then select the file from your computer using the "Browse" button.

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