Final Report Posted

Our final report has been posted here: http://course.ece.cmu.edu/~ece500/projects/s22-teamc6/final-report/. Thanks for a wonderful semester!

Rama’s Status Report for 4/30

This week, I primarily focused on trying to implement feedback from the user study and helping with the final presentation slides. The users noted that they preferred faster speeds to make up for latency problem and did not mind the jerkiness that came with it, We were not satisfied with that so I worked on making the speed dependent on how far of a sweep the projector needed to make. Adjusting the vertical motion has been difficult because the system is more sensitive to vertical angle changes. I also started working on how we are going to make speed dependent on distance from the wall.

I feel like I am on schedule and this week I just need to add in final changes to speed adjustments and clean up the wiring. Once we have the USB extension we’ll be good to go for the physical setup. I will also work on the video, report and what we will show for the demo.

Team Status Report for 4/30

We continued to perform user studies this week. In particular, we tested out the speed of the motor with the projector at a larger distance from the wall (~4.5 meters).  Beforehand, we were only testing with the projector at about 1.5 meters from the wall. We discovered that the current speed we had for 1.5 meters was very satisfactory for the 4.5 meters. However, through our testing, we realized it was a more pleasant experience if the motor moved slightly slower for smaller distances. Now, the motor speed is dependent on the distance it is going to travel. For larger distances, the speed is faster. Similarly, for smaller distances, the speed is smaller. We are still editing this, but the motion has become pretty smooth, and we are all very happy about it!

Over the next week, we have a poster, video, final paper, and a demo to prepare for and finish. There is a lot we need to get done still, but we feel on schedule and are proud and excited to share our project with everyone. The hardest part of this next week might be preparing for our project demonstration. We need to make sure to make it interesting and show all the hard work we have put into this project. We are also still in the process of integrating the day/night vision camera, making the project look more aesthetically pleasing, and fine tuning the overall system.

Olivia’s Status Report for 4/30

Since our final presentation, I have been continuing to test the overall system and making fine tunes. For instance, today, I was working with the team to fix the system from moving when the user makes small head movements (mimicking a person’s head motion as if they are reading something on the projection.) We successfully completed that. I also helped perform user studies to fine tune the speed of the motor. Now, the motor moves faster for larger panning distances and slower for smaller distances. The motion continues to become smoother every time we work on it which is great.

I am also still trying to integrate the day/night vision camera into the overall system. This camera is much more sensitive than my laptop camera that we have been using for the user studies. (The laptop camera works pretty well.) I hope by tomorrow that I will have this camera working well with the system. The horizontal motion is working nicely. It is the vertical motion that causes the most trouble.

The team and I also planned out everything we want done for this week. We have a rough draft of the poster done today, plan to work on the video on Monday, and have our demo presentation polished by Wednesday. It is bittersweet seeing this project come to a close. I feel on schedule and am excited for this week.

Isabel’s Status Report for 4/30

This week, we finished up our initial user studies on Sunday, and then completed a more informal user study today to fine tune our system. I was mainly focusing on preparing for the presentation, since I was the designated presenter for this time. I worked on the slides and performed some small code updates for improvements we came up with during testing to take out some of the jitteriness from our system, refine the calibration process, and clean up the code, but this week was less of a large update compared to the previous weeks.

We’re still on schedule and it looks like things will be wrapping up without any trouble next week. Next week I will help with planning and editing the video, putting together and refining our final report, and preparing for our demo!

Rama’s Status Report for 4/23

This week the replacement motor with the higher torque rating came in so I swapped out the overheated one. I tested it out prior to replacing it and it was working but when I attached the projector it would fall over and fidget or was completely unresponsive. I thought that maybe the torque was not high enough or that the motor was just faulty. Later I took off the projector and retested it and it worked so I put the projector back and all is working correctly. Now we are able to fully test our system and I have been making adjustments to the functions as we go. We started the user study and I have a plan to implement the feedback we have received. So far it seems like people prefer the cubic curve over the quadratic curve, and faster speeds. Lastly, I have been working on my portion of the slides for the final presentation.

I think that I am on schedule and have replacement motors in case anything bad happens. This week I plan to implement the feedback from the user study and begin the work for the poster.

Isabel’s Status Report for 4/23

This week, I’ve been mainly working with the entire team with debugging and improving the overall system. On Monday, I tested 3 different software serial programs to integrate the lidar values. I ended up going with SoftwareSerial even though it’s a blocking program, because it worked the most consistently with verifying the data from the lidar, so I found a way to quarantine the distance detection into the arduino’s setup code.

After Monday, the biggest two changes I implemented were one for smoothing the horizontal movement of the projector, and optimizing the pipeline. And the movement of the projector now runs noticeably smoother and faster! Which is good, because we have been finding lots of new bugs to work through during the user tests.

With the lidar integrated, now I am back on schedule. We anticipated that the last few weeks would be for our whole team to work on refinement, so everything I’ve been doing is falling into that category.
For this next week, I need to redo the block diagrams for our system, prepare for the presentation on Monday, smooth the vertical movement of the projector, and I hope to make another small redesign of the calibration program to make it much easier on the user, since we’ve been noticing from our tests that it can be difficult to move around the projector to two different angles, and then look at them correctly. Our calibration code is picky and very sensitive to error, so I want to make it as robust as possible before the demo.

Team Status Report for 4/23

We have made a lot of progress over the past week. Our entire system is integrated together and we have been performing a lot of testing. More specifically, we began a user survey to find the “magic curve” for moving the projection from point A to point B. This survey involves having the user experience 6 different combinations of speed and movement. We are continuing the survey into tomorrow and hope to have a finalized “magic curve” for our final presentation tomorrow.

While running our entire system this week, we have find quite a few bugs and ideas for improvement. This intensiveness testing of our system has been extremely beneficial for ensuring we create our system to the best of our ability. For instance, one issue we found was that the motor was a bit jerky as it moved from point A to point B. A great amount of time had been spent making this movement much smoother.

We also got a working motor and added in vertical movement. Currently, the motorized projector responds to the user’s change in pitch and yaw, which is great! The vertical movement of the projection is definitely more sensitive than the horizontal movement, so we have been and are continuing to take extra care when working with this direction. Another development is with the calibration process. We found the calibration to be a bit difficult to work with, so we are currently transferring the calibration system to be more user-friendly. For instance, one small improvement is that we added sounds to alert the user when when the calibration process changes states.

We still have a lot of progress to make but are extremely excited to see our system working and gaining user feedback!

Olivia’s Status Report for 4/23

Over the past week, I have been spending most of my time testing out the overall system. This involves running the calibration and translation phase. My main job has been to find issues with the system through extensive testing and brainstorm ideas for how to fix them. Since we just got the new motor (that powers the vertical movement), I have been spending quite a bit of time with testing that motor and altering values to ensure it moves the best.

I also helped develop the user survey for us to find the “magic curve” and have been helping to run these tests. These take about 30 minutes per person to talk through the system with them, test out the 9 different speed combinations, and get their feedback. Other action items this week were adding the new camera into the system (that has day and night vision). This camera is more sensitive than my laptop camera that we have been testing on, so I have been testing values out and altering the pitch and yaw calculations to get this set-up working.

Another improvement is that I added sounds to the calibration phase to make it more user-friendly. I was originally working on a graphic to display on the projection when the user was undergoing calibration, but I found this to be too difficult in the given time frame because of threading/blocking issues. Now, the system dings every time the lock gesture is detected to alert the user to look at the projection. I feel on schedule and have enough time to continue to test out the system and increase the robustness/accuracy.

Rama’s Status Report for 4/16

This week, I properly secured the projector so that we could begin testing movement and calibration with the added weight of the projector to the system. Sadly, I think the 6V rechargeable battery I was using was too powerful and the motor for up and down movement at some point during testing overheated. I put in an order for a replacement motor so that should hopefully come in on Wednesday. I think this is putting us behind schedule, but on the bright side the basic system with up, down, left, and right movement was working before one of the motors broke.

In the meantime, I put together the tripod system and switched to using 4 1.5V Energizer batteries to power the working motor. I also helped with testing the horizontal movement as our initial setup was fast and jerky. This week, I would like to continue working on the left to right movement and smooth it out. When the new motor comes in, I will swap it, properly secure everything to the tripod stand, and quickly work to find a set of speeds to test in our user study. At the moment, there is an anticipated latency problem between when the user moves their head and when the projection moves, which is why the  projection moves as quickly as someone moves their head, leading to quicker, jerkier movements. The tradeoff here will be using smoother and more natural movements of the projection even if it contributes to the latency problem.