Rama’s Status Report for 2/26

My primary focus has been on the design report and coming up with possible designs for the system as well as a more complete list of parts needed. I researched different projector mounts and stands, as well as robotics materials. I decided that we should secure the projector to a plate that is attached to the motor. From here, we can add attachments or straps to the plate to better secure the projector.

There was an issue with ordering the motor off of Amazon, so we had to buy it from the supplier and it just came in so I will be able to pick it up Monday morning. I plan on testing functionality and motor speeds and writing the base of the functions that we will need. Once the connector code is done, I can test out the functions with hardcoded inputs sent through PySerial.

Team Status Report for 2/26

We finished our design presentation and began working on our design report. We finalized how each of our subsystems will connect so that we do not heavily diverge while we implement our parts.  We have also decided how to approach detecting if and how much a person’s head has moved. The hardware will be ready for pickup on Monday, so we will wait until then before picking from our design options and next parts orders.

The biggest risk we have right now is falling behind schedule since calibration will likely take the most time. In order to avoid this, we have prioritized the design report since we would like it to be as thorough as possible and would like feedback on it before it is due on Wednesday. We have also set up more frequent meetings to make sure everyone is attempting to make progress throughout the week.

For the upcoming week, we plan on wrapping up the design report and ordering more parts. We will begin testing motor speeds and facial point detection, and writing connector code.

 

Olivia’s Status Report for 2/26

The past week, I have spent most of my time preparing for my presentation of the Design Review and working on the Design Report. The team has been meeting frequently to flush out our requirements and implementation plan. I have also been continuing my research on the proper way to calculate head rotations. Unfortunately, I have not had time this week to work more on the facial detection and head rotation software modules as I have been spending most of my time on the team deliverables and other research. By next Saturday, I intend to have an initial version of the facial detection and head rotation calculations implemented using Python, OpenCV, and MediaPipe. I am a bit behind in my work, but I know I will be back on track when we return from spring break.

Isabel’s Status Report for 2/26

This week, most of my effort was spent towards coming up with a design for our calibration system. I took a look at some research for VR calibration (chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/viewer.html?pdfurl=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.140.3179%26rep%3Drep1%26type%3Dpdf) and it gave me an idea to draw up the plans for a geometric calibration program that pairs with our CV to determine the user’s position in space in relation to the wall and projector. During the second half of the week, I have also been putting some work into the design report, particularly the requirements, architecture, and implementation sections. Currently I’m slightly behind schedule with respect to the pySerial code, I expected to have a program file by now and I have only code samples, but I am also slightly ahead with regards to the calibration plans. It might be easier for me to make the end-to-end pySerial program(s) once I get a better idea of the hardware and CV endpoints. For next week, I hope to get both some pySerial interfacing and calibration drafts into arduino code as we begin working in class, and also finish out my parts of the design report by Monday/Tuesday.

Rama’s Status Report for 02/19

This week, I started designing the projector system. The goal is to have the projector move at the same speed and direction as the person’s head. I looked into using servo motors with a mount that allows two degrees of freedom. The positives of using servo motors are that they are very compatible with Arduinos, allow for quick movement, and they do not draw too much current.  However, we are aiming to move a projector that will be around five pounds so we needed something more sturdy. Also,  it is difficult to control the vibration. Then I found a pan and tilt system that is commonly used for robotic arms. It also allows for two degrees of freedom and it did not mention the dimensions but based on the video it seems to be around 6 inches in diameter.  I think this will be able to support the projector and allow for fluid movements.

I ordered it this week but there was an issue with buying it off Amazon so it had to be bought directly from the vendor so it may take longer to arrive. In the meantime, I have been looking into backup motor options that will be able to support the weight of the projector.  Also, I am planning on using pre-drilled versa frame stocks to attach the projector onto the motor and to attach the motor to the stand.

Team Status Report for 2/19

Currently, our team is pushing to complete our mechanical and CV pipeline as soon as possible, as per Professor Kim’s recommendation. We are approximately on schedule, although it’s likely before we finalize our slides this weekend we may add more detail to our schedule to break down the tasks more. We completely redid our block diagram and went into more detail with specifying the system, CV, and hardware components. We also put in orders for both the projector and central motor, so we can begin putting together the product as soon as possible. While we wait for the hardware, we can work on our design report and code design for each area.

Olivia’s Status Report for 2/19

This week, I spent time researching the best way to implement a gaze estimation algorithm. I decided it would be best to get the projection to move with the rotation of the head first. Once that is working, I will then add on eye tracking to make the system more accurate. I thought other ideas we could potentially implement as add-ons (moving a mouse with your eyes, system to aid focus, etc.) if we have time but decided to let those go and focus on the efficiency/calibration of the system after talking with Professor Kim. I also began working with MediaPipe (the system that recognizes facial landmarks) which is exciting. Additionally, I have been working on the Design Review and preparing for the presentation since I am giving it. For next week, I plan to use MediaPipe to track my own face and begin to write the calculations that detect the rotation of a head. I feel a bit behind with the CV implementation as I have been spending more time on the Design Presentation; I expect to get back on track by the end of this week though.

Isabel’s Status Report for 2/19

After last week’s project restructuring, this week we were able to plan and begin working on completing the details of our product. In terms of part’s research, I’ve completed the research on the projector and lidar components to match our specifications. Both of these parts will end up as trade studies in our design report, so I can begin writing up those details in the upcoming week. We’ve also been meeting with Professor Kim to rebuild our schedule and flesh out our new project. Particularly, the main challenge for my part should be calibration research. I was considering using the lidar as a way to measure the distance between the projector arm apparatus and the wall, and then having a calibration mode using the camera’s CV and the arduino angle to discern both the user’s distance from the projection and refine the CV to be more accurate to the user’s point of view. The user would then have to remain in one place while using the tool, and would have to calibrate it manually at the start of use, so I am thinking about how to plan out the calibration program to make this as usable as possible.

Status Report 2/12: Isabel Gardner

Since we changed our design, I’ve transitioned from researching a webapp to researching system design. To interface between the arduino and python CV, we’re most likely going to use the pySerial package. I’ve also been working on supporting parts research so we can just put in some orders ASAP.

Team Status Report for 02/12

We restructured our project to be a head tracking CV program mapped to a mechanical apparatus that will move, mirroring the user’s head, such that the projector will always be centered in the user’s field of vision. On Friday we recreated a division of labor, and are aiming to complete our draft parts list and schedule on Monday. We are meeting again on Sunday to compare our research and notes. After Monday, we will kick off our research using our new schedule and work on our slides for the next Design Presentation.