Wendy’s Status Report for 12/9

This week, the main focus of our team is to complete the rest of the testing as well as prepare for the final demo and final report. We have tested the entire system a few more times to ensure the communications between RPi and the web application are stable, and the connection with the camera is stable. Moreover, we improved the code so that the motor is enabled only when the erase function is triggered to reduce the noise produced by the motor. After that, we tested the current system with three instructors, and despite 2 of them reporting there is some non-negligible latency in the erasing process, all of them agreed that the rest of the functionalities seem useful and they would prefer using the system in a classroom setting. In addition to that, I have also fixed some minor issues in the backend of the web application such as making sure the storing paths of images for different classes are different and throttling the erase function to ensure the button is not accidentally clicked too many times within a short period of time.

Since we have completed all the goals we have set for the MVP, we are currently on schedule. For the next week, we plan to demonstrate our system during the final demo on Monday and complete the final video and report after that.

Wendy’s Status Report for 12/2

This week, the focus of our team is to finish building the mechanical part of the system and continue the testing process. Currently, our team has completed wiring the motors and combined all attachments on the board. The motor on the screw rod works well and RPi can interface with the web application. Moreover, after we received the DRV8825 motor driver and tested it out with our NEMA 17 motor, we found that the speed of erasing also improved. After testing the latency of erasing and maximum power consumption together, we also spent some time together completing the slides for the final presentation and recording a video for it.

Individually, I have also conducted the web application usability testing with one professor and one student, and they both gave the feedback that the website is succinct and not hard to use. However, the professor mentioned that it would be great if there could be a instruction to help users get familiarized with every functionality and the nav bar can be more clear, so I will also work on that and add this to our website.

Based on our schedule, I’m mostly on schedule except that we are still recruiting more participants for our final functionality testing. We will try to reach out to more professors and students and get it done before next Wednesday. I will also polish the user interface of our website based on feedback. Moreover, if I have extra time, I will also spend some time investigating how to the web application with Canvas so instructors do not need to manually enter the student ID (which is a post-mvp goal).

Wendy’s Status Report for 11/18

This week, our team started to build the mechanical part of our system. Currently, we finished the basic skeleton of the system to hold the board and upper linear slides. However, due to the fact that the NEMA 23 motor we received doesn’t match its specification, we could not fit the NEMA 23 motor in our system unfortunately. Therefore, we will start with incorporating the NEMA 17 motor we used before this Sunday and wait for any reply from the supplier.

Individually, I spent the majority of my time working on refining the user interface of the web application and adding functionalities to enhance the user experience. I have updated the CSS of our web application incorporated some responsive design and implemented the home and logout functionalities and button as the content of a dropdown box located at the navigation bar. Moreover, for the create/modify class form page, I have changed the integer field of width to a choice field for users to select which preconfigured board the class will use since this is more intuitive for users (and typically the instructors will not use their own board while lecturing), and I changed the clean function of the form to validate whether the student IDs input by instructors are valid and raise a form validation error if one of them is not.


Regarding testing, since I’m responsible for the camera, I have completed the camera latency test by writing javascript to measure the time taken between a user clicking the “erasing board“ button and the picture getting posted to the website  5 times and taking an average. The time averages to 1.3s and meets the metric (3s) we set for the user case requirement.

I also finished the script for the usability testing of our website. Therefore, according to our schedule, my progress is on schedule. 

Next week, our group will finish building the mechanical attachment and start working on the final presentation and report together. I also plan to recruit some participants to participate in the usability testing of the web application and improve our website based on their feedback. If I have extra time, I will also spend some time investigating how to the web application with Canvas so instructors do not need to manually enter the student ID (which is a post-mvp goal).

Wendy’s Status Report for 11/11

This week, our group worked together for most of the time to prepare for the interim demo, devise a detailed plan of how to connect our physical attachment to the board and place orders for the joint parts. Individually, I have also solved the problem of connecting the camera to campus WIFI, integrated the camera into our web application, and completed the OAuth login and registration functionality of the web application. Currently, I’m working on improving the user interface of the websites, which is my task for the next week. Therefore, my progress is currently on schedule. For next week, I will spend more time with my teammates on building the physical attachment and connecting the different subsystems together. I’ll also add back buttons and user log-out functionality to make the web application more user-friendly in the upcoming week and perform the latency test for the image-capturing feature.

Regarding the testing, we have planned to perform both unit tests as well as overall system test. We will test the latency of image capturing and erasing, and the usability of our web application as individual subsystems. Then, after we physically attach them to the board, we will also recruit participants to perform a usability test for the entire system. For the unit latency test, we will measure the time taken by erasing and image capturing, and compare the timing to the metrics we set to meet our user case requirement (20s for erasing the board we chose and 3s for image capturing and uploading to the web app) so it won’t impede instructors’ lecturing and students’ notetaking. For the web application usability test, we will recruit 3 users and test whether they can learn how to use the website without guidance and ask for their feedback on our websites. For the entire system usability test, we will recruit 6 users and ask questions about the cleanness of board erasing, resolution of images, latency, user experience, and accessibility of the whole system. To verify whether our project meets the use case requirements, user input would be essential. Therefore, we would analyze whether our system meets the requirement based on users’ feedback in the tests.

Wendy’s Status Report for 11/04

After finalizing our attachment design and completing the ethics assignment a week ago, our team spent the majority of time building our system in the past week. As Xiaoyu worked on the RPi code used in motor control, I and Jiayi continued working on the integration of the backend and frontend of our web application. Individually, I wrote the models.py, forms.py, and urls.py to help with the integration. In addition, I have spent a lot of time investigating the camera module, connecting it to the internet, and writing the code to control it and take a picture. Currently, I managed to complete the code that asks the camera to take a snapshot and store it in the local directory.

        

However, the current setting of the camera requires my computer to run the code to be connected to the camera’s WIFI hotspot or with a router through an ethernet port. I will still need to figure out how to connect the camera to a wireless network since this is required if we want to deploy our website and use the web application backend to communicate with RPi. Since the manual of the IP camera is a bit confusing in the wireless connection part, I have written an email to the technical support of the supplier of the camera and will continue investigating the solution to this problem.

Our original plan is to complete camera control functionality in the next week, but for the purpose of the interim demo, we have decided to complete it in advance so we can have more to demonstrate. Therefore, our progress is currently on schedule.

For next week, I hope to finish our web application, further polish its interface, and complete the usability testing of the website. Moreover, once receive the reply from the supplier, I will work on connecting the IP camera with the wireless network of CMU and finish the unit testing of the camera.

Wendy’s Status Report for 10/28

During the past week, our team has met a lot to discuss the feedback we received for the design report and redesign of our system. After realizing the risk of using a slider rail and wheels to control the movement of erasers, we decide to use a linear actuator with a screw rod so the friction won’t impede the movement of the wheels, and submitted the ordering form for the new parts. Personally, I have spent a significant amount of time researching existing stepper motor linear actuator options online and how they function in different systems, and redrawn a detailed design diagram during the past week. Moreover, I continue working on the frontend of the web application and investigating the functionalities of the camera. I have also reflected on the ethics readings to finish the ethics assignment.

Currently, my progress is on schedule. I and Jiayi are working together on integrating the front-end and back-end of the web application, and aim to demonstrate a functioning web application that can call backend functions after interacting with it on the frontend at the group meeting of the following week. However, due to the shift of the design, there is a delay in the arrival time of our parts, so the team’s progress in assembling the parts to the board is a little behind. To catch up with the project schedule, we plan to finish as much code as possible before the parts arrive, so we can quickly move to build the physical attachment and test our code once the parts have all arrived.

Wendy’s Status Report for 10/21

For the previous two weeks, I spent most of my time refining our design, researching new parts, and writing our design report with other team members. Since we have received a lot of feedback from the professors and our TA, there are a lot of changes we need to make in our design report. Individually, I have also redesigned the prototypes of the web application in response to the changes, created and adjusted the block diagram and some of the design diagrams, and investigated how to incorporate the camera module into our system. In addition, after making changes in the HTML and CSS files, I and Jiayi have discussed how to set up the Django models of our web application and started integrating the backend and frontend of the web application.

Currently, my progress is on schedule. However, since there are a lot of new tasks added to the adjusted schedule, I will make extra commitments next week to ensure that I will not be behind the schedule in the future. I will spend most of my time integrating backend functionality with my frontend interface and plan to finish integrating most of the features and polish the CSS to make the user interface easier to use. In addition, I will work with other team members to complete the ethics assignment and set up the physical attachment after our parts arrive.

To accomplish our planned tasks, I will need to learn a lot about hardware assembly and motor control. Since I have little prior experience in robotics, I didn’t realize there are so many details we need to take into consideration while designing our system. In addition, the tool I am learning right now is the IP camera we will use in our system, including how to send commands from the backend of the web application to capture an image and adjust its pan and tilt through ONVIF protocol.

Wendy’s Status Report for 10/07

This week, our team finished our design presentation and received a lot of feedback on our design from the class and instructors. As a group, we met and rewrote our list of orders and submitted forms to request the parts of our revised design. After the presentation and discussion, we have a clearer idea of what our solution would look like, and how each part would interact. Personally, I have also refined my prototypes for the frontend of the web application, and completed implementing the skeleton of each HTML page, for both student view and professor view. Therefore, I would like to say my progress and our team’s progress are on schedule, and will try to get as much as we can done before the fall break.

In the following week, before integrating with the backend functionalities, I will start writing CSS for the website to make the website more aesthetic and easy to navigate. I will also employ my knowledge in responsive web design to make sure the website can be generalized to both tablets and laptops, so students can access it on different devices and professors can integrate it into classroom tablets.

Wendy’s Status Report for 9/30

For this week, our team has contributed the most of our time refining our use case requirement and design to ensure that our use cases are more consistent with our design. Specifically, we decided to remove the use case of avoiding chalk dust for our users but focus on saving human efforts instead. Moreover, we also reconsidered some of the required parts and decided to use solenoids powered by other power sources instead of Raspberry Pi to increase the force they can apply to our erasers. By doing all the work, we get a better idea of what our project should look like and what issues would it address.

Personally, I have also worked on designing and prototyping the different pages of our website. While the home page contains an interactive board for professors to select the section they wish to erase, the other pages allow professors to configure the classroom (board) and section settings, so we can generalize our system to boards in different classrooms.

According to our Gantt chart, my progress is generally on schedule. However, since I haven’t started working on the HTML and CSS due to being out of town for this entire week, I will spend extra time developing the hi-fi prototypes and writing the HTML and CSS of those pages in the following week. I will also collaborate with my team member who is responsible for the back-end to integrate the functionalities of the web application.

In response to the discussion question on Canvas, I think the course 17-437 Web Application Development (which counts as one of the ECE area courses) is particularly helpful in setting up the website. In addition, we learned a lot of knowledge about motors and solenoids while choosing the required parts of our design through communication with our team member who concentrates on hardware and through online research.

Wendy’s Status Report for 9/23

Last week, I spent the majority of my time and effort refining our MVP and preparing for the proposal presentation slides. After receiving the feedback from the professor that we should minimize the time takes to do the physical construction and make the MVP more achievable, we redefined our MVP to be a motor-driven board eraser that can be controlled by a web application with only erasing and image capture functionalities, and decided to implement the student “voting” feature if we have more time. Personally, I also spent several hours preparing for the proposal presentation.

We have also divided our work of researching required parts of our system by looking up them in ECE inventory and Amazon to find the parts that can fit well with each other and make a budget plan. We have summarized that information in this spreadsheet. Therefore, my progress and the team’s progress are currently on schedule.

In the next week, I should complete the design presentation slides with my teammates, as well as start prototyping and building the front-end interface of the web application of our system on my own.