Sarah’s Status Report for 5/8/2021

This week, I downloaded the latest version of the UI onto the board. I worked with Maddie to fix an “illegal instruction (core dumped)” error the board kept producing. It ended up being a NumPy error. We had to downgrade the version. But now the UI works on the board. It’s integrated with the pose comparison, scoring, and accounts now. Zixuan was able to get the UI to show while the pose comparison runs.

I was also able to finalize the exercise library.

I recorded a bunch of demo clips this week, too. Maddie will crop and stitch them together for the demo video. We also finished our poster.

We’re on schedule. We just need to finish the video by Monday night. Then, next week, we’ll just need to do the public demo on Thursday.

Sarah’s Status Report for 5/1/2021

This week, I downloaded all the dependencies necessary to run the UI on the Xavier board. The code didn’t run correctly on the board, but it wasn’t a dependency issue. I also had to resize the camera feed frames because the default size from the webcam was different from the default size on my laptop.

I’m behind schedule because I didn’t think I was going to be sick for that long after getting my second COVID vaccination shot.

Next week, I hope to download the new UI code on the board. Zixuan modified it so the UI could run at the same time as the pose comparison code. I also hope to finalize the exercise library.

Sarah’s Status Report for 4/24/2021

This week, I added the evaluation workout to the UI loop. Now, it comes directly after the instructions screen. Once the user finishes the evaluation workout and is show their score, it’ll take them to a workout instructions screen (to inform them that the next workout will be a personalized based on the score they received on the evaluation workout). Then, they can choose when to start that workout.

I also made the rest screen look the same as the exercise gif screens. So, now all of the screens have the demo gif on the left and the user live video feed on the right. The label of the current exercise is on the top left corner and the label of the next exercise is on the top right corner. On the rest screen, there is also a label in between the current and next exercise labels that displays the rest countdown.

Lastly, I created a help screen that lists the quit, return-to-home, and pause commands. This help screen can be accessed from anytime in the UI except for the actual workout. So, the user can press “H” on their keyboard for help if they are on the home screen, any instructions screens, exercise preview screens, and scoring screens. I only allow the user to press quit the entire UI program, return to the home screen, and pause their workout once the workout is running. If the user isn’t doing their workout and goes to the help screen, they can press enter to return to where they left off.

I’m on schedule (we’re currently in our buffer time).

I’m planning on uploading the UI code to the Xavier board so I can integrate it with the pose comparison for scoring. I also am planning to add more exercises to our exercise library so we’ll have at least 100 exercises.

Sarah’s Status Report for 4/10/2021

This week, I added labels to the exercise and rest screens. The labels are of the current exercise name (or “rest” if rest) and the next exercise name. I also made the demo video slightly larger to better match the camera feed’s size on the screens. I found a stretch video for the end of each workout, I just need to add it to the UI. I will be playing only a portion of it. I also started creating a workout preview screen before the actual workout starts (so users can familiarize themselves with the exercises in the workout).

This week, I also met with Maddie (on Sunday, Monday, Wednesday) to help set up the TX2 and download the necessary libraries/code onto it. For some reason, the installation of the NVIDIA package froze around 40% for her, and when we tried it on a lab computer, the virtual box couldn’t connect to the CMU wifi so we weren’t able to start the installation of the NVIDIA packages for the board. We eventually got the installation to work when I installed the virtual box on my laptop. I tried to take the board home and finish the installation there, but the board couldn’t find my wifi, so I finished it the next day with Maddie.

I am on schedule.

I hope to finish the workout preview before the interim demo.

Sarah’s Status Report for 4/3/2021

This week, I started creating the UI. I created the basic workout and rest screens. The workout screen has the demo on the left (will be looped for the number of repetitions), and the live camera feed (from the our USB web camera) on the right. The rest screen only has the 15 second (or 1 minute) countdown timer.

 

I also created the static evaluation workout using 3 exercises from each category (1 from each difficulty level). The user will be prompted to try to complete 10 of each exercise.

I am currently on schedule (we’re in our catchup/buffer week).

Next week, I hope to add labels to the exercise/rest screens (current exercise, next exercise) and scale the demonstration gif to match the live video feed’s size. I also hope to design the home screen and add logic to handle events triggered by the user (pressing keys to pause/quit workout). I also plan on creating the stretch library (for cool down/after the workout), and add more exercises to each of the 3 existing exercise libraries.

Sarah’s Status Report for 3/27/2021

This week, I added 9 core and arm exercises (from 4 videos) to our workout library. I also updated the workout algorithm (finalized algorithm with Maddie, and started it last week) to include paired exercises. The only paired exercises are the ones that work on one side of the body at a time (ex: single arm side pushup). I think the workout algorithm is finished. I can always go back to modify this algorithm if we change our design later.

I also worked with Maddie on some of the UI (looping exercises using OpenCV). I’m still in the process of learning PyGame, so the progress on the UI is slow. However, according to our gantt chart, I’m still on schedule.

Next week, I hope to have more of the UI done. Maddie already looped the exercises using OpenCV, so I want to get the 2 screens for rest time and exercises done. I’m thinking each of these screens will just be their own functions/classes so they can be easily called multiple times. If possible, I also want to get the start screen created. I’m just going to model it off of YouTube videos as well, so the design is cohesive. I also want to get the key controls working (where the user can press certain keys to trigger certain actions).

Sarah’s Status Report for 3/13/2021

This week, we were able to decide that we will use AWS to store our exercise library. I still need to request those credits through the form. I will do that after this status report. I also realized that some of the gifs I made last week got corrupted somehow (didn’t loop correctly), so I remade them. I found more workout videos to use for our library, I just need to create the gifs for them. So, I didn’t actually end up parsing new videos this week.

My progress is behind schedule because I wasn’t able to devote as much time as I wanted to this class. I ran into issues with projects from other classes (Distributed, mainly), so that took a lot of time away from this class.

To catch up, I hope to actually start on the scoring algorithm, and meet with Maddie to work on the exercise library/construction algorithm. I have created a calendar on my phone that I hope will help me track my assignments better, and break my tasks down into smaller segments. I think this will help me devote a more equal amount of time to this project and my other classes.

Sarah’s Status Report for 3/6/2021

This week, I manually parsed 3 YouTube workout videos into separate exercise clips (1 repetition each). This gave us 31 individual core and arm exercises for our library. I saved both a gif version of each exercise (using a gif making website) and the start and end times of the exercise from the YouTube videos in a spreadsheet shared with the rest of my group.

I also worked with my teammates on our Design presentation slides and report. We tried to incorporate the feedback we got from our proposal presentation slides. We particularly wanted to make the slides more visual (“marketing visuals”), so I added gifs and more images to the slides.

I requested our TX2 board from the 18-500 inventory, which Maddie picked it up. I also ordered our camera, which is with me. We haven’t met to swap hardware yet. We may need to change the tasks around in our Gantt chart to reflect these changes in task leadership (Maddie for board set up, me more library construction).

I think we’re basically on schedule, though.

Next week, I hope to figure out how we’re going to store the reference exercise clips (either on board, on laptop, or in AWS?). I want to continue parsing videos, too. It takes longer than I thought to find parts of each exercise that loop well, and find the how long to make the clip that will loop. So, I’m planning on parsing a couple videos per week so it’s manageable. I also hope to start working on our scoring algorithm.

Sarah’s Status Report for 2/27/2021

On Monday, I presented my group’s proposal. After presenting, I updated the “proposal presentation slides” page on our WordPress by replacing the plain URL with an into an image of our first slide with an embedded URL.

On Thursday, after all the proposal presentations, I looked at the instructions for purchasing stuff, and at the parts inventory list. I saw that there are 2 Xavier AGX boards available, so I started searching for tutorial videos/articles online about the AGX with OpenPose. However, it seems like there are more resources about OpenPose on an NX board. I will continue searching for more about OpenPose on the AGX, though, because it seems more powerful than the NX based on it’s specs.

Our progress is behind schedule because we haven’t ordered a board yet. We originally wanted to have it ordered and shipped by this coming Monday, but we haven’t decided whether we want to change our board to the AGX yet.

To catch us up, I want to choose a board by Sunday. This is just in case we choose the NX,  because then we can still get it approved by the TA and place the order so it can be ordered by Tuesday. If we choose the AGX, then we’ll be on schedule, because we can get it approved by the TA probably on Monday, and pick it up on the same day.

 

 

Sarah’s Status Report for 2/20/2021

This week, I set up the team’s WordPress by drafting all of our required assignments/status reports and pages. I think this will make it easier for us to keep track of the due dates for these.

I also worked on the proposal presentation slides.

Next week, I hope to present our proposal presentation, and incorporate any feedback we get during it. Hopefully, this will allow us to finalize our plan and begin working on phase 1 of our schedule.