Yuma’s Status Report 4/27

Accomplishments This Week

This week I worked on finishing the final slides and presenting them. I was able to make a little progress on the UI though a few issues in terms of the shutting down modules started bugging out so I was distracted fixing them. This was mainly due to a compression issue in json which uncompressed, was not able to cast into the list I wanted it to be.

Project Schedule and Progress

Schedule moving fast, and I am making good progress. A main concern is about finishing all the deliverables on time before the demo while balancing finals studying for other classes.

Goals for the Next Week

I will work to complete the product in terms of software integration.

Jason’s Status Report for 4/27

Accomplishments This Week

This week I worked on testing and verifying our design as a whole. Our verification process will mainly focus on accuracy and latency, so that the user interaction will be seemless during the demo. I will continue to work with Yuma and Siyuan for verification over the week. I also worked on the final poster which is due in a couple days.

Project Schedule and Progress

I am on schedule, and my progress is still good.

Goals for the Next Week

Next week, I will work with my team to deliver the final poster, report and prepare the demo.

Team Status Report for 4/27

Risk Identification and Mitigation Strategies
Primary Risk Concern: Our primary concern is the OCR integration on time. This module of the project was just finished this week. Yuma still needs to integrate it into the code, taking more time.

Mitigation Measures:
Yuma will be solely focused on finishing the final integration. Siyuan and Jason will work on the final documentation, including final reports, final video, and final poster.

Project Design Updates
As of the current reporting period, there have been no modifications to the initial design of the project.

Schedule and Timeline
We are a little lagging behind the schedule. However, since we only have final integration unfinished, we should have everything done by demo day.

List all unit tests and overall system test carried out for experimentation of the system. List any findings and design changes made from your analysis of test results and other data obtained from the experimentation.

Tests:

temperature and humidity sensor test

recomandation algorithm test

item registration test

scalling and system reliability test

usability test

scanning test

display test

Findings & Design Changes:

The design of our overall system did not have much changes. However, in the test of scanning items, we have some findings regarding OCR. We did not expect that there are many formats, sizes, and colors of expiration dates. This makes our model tranning harder than we thought. Also, we find that the choice of camera is really important. Our first camera was cheap and it does not have great image quality. Then, we purchased an expensive one, which do have great image quality but was not designed to focus for something at close distance. In the end, due to limited budget, we have to choose a camera with good image quality and can focus at close distance, but the focusing speed is slow and easily affected by shaky hands. All these reasons combined, make our OCR module does not have a satisfying scanning accuracy.

Siyuan’s Status Report for 4/27

Accomplishments This Week

This week, I focused on enhancing System Interaction.

I successfully integrated an onscreen keyboard into our system, which now allows for a completely keyboard-free and mouse-free operation. Previously, while users could interact with the system using a touchscreen to replace the mouse, a physical keyboard was still necessary for entering textual information, such as dates. By having the onscreen keyboard, all functionalities can now be managed directly from the touchscreen, simplifying the user interface and reducing hardware requirements.

 

Project Schedule and Progress

I am on schedule, and my progress is still good.

 

Goals for the Next Week

Next week, my work will shift toward final documentation.

Jason’s Status Report for 4/20

Accomplishments This Week

This week I was able to integrate the ocr and camera module together so that we can move onto the full integration and validation phase. I also worked on the final presentation.

Project Schedule and Progress
Hopefully I have erased all the roadblocks for the team with the ocr and camera integration done. I will now move onto validating our integrated modules and testing the user interface of the scanner.

Goals for the Next Week
I will now test and validate our combined scanner module physically, and help Yuma with UI development as well as debug any issues that arise during the testing phase.

 

As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?

New tools and knowledge that I gained through capstone was learning how to use new libraries such as Tensorflow, tesseract, opencv, and etc. I had to self learn a lot of materials and go through google to get the appropriate datasets and algorithms for OCR as well.

Yuma’s Status Report for 4/20

Accomplishments This Week

I was able to figure out how to determine unique codes for each processor so that on times of restart, its respective data would be sent back. As of now, I am using the mac address to distinguish scanner modules, and it is working fine. I also have been integrating the UI with the system, which has been a roadblock. I have no experience, and it has taken a while refactoring code so that the UI display (using the tkinter package) would function. For example, the display needs to be on the primary thread whereas all the other threads (i.e. reader/writers) are on auxiliary threads. New listeners needed to be spun off for communicating with the display, which has taken a lot of time doing. I also fixed a couple bugs with the recommendation algorithm, which used to not properly calculate the timedelta value for the weights (i.e. ExpDate and ScanDate).

Project Schedule and Progress
Progress is strong, and I have accomplished what I expected. I have yet to fully integrate and create the UI and OCR, though the OCR is roadblocked by my fellow team mate. I have yet to integrate the temperature sensor as well since the other components take priority. The division of labor does feel very unfair when I clearly have a lot of work and my teammate is on his phone the entire capstone period. I will try my best, though.

Goals for the Next Week
I hope to keep integrating the UI, and hopefully the OCR once its API has been given to me.

Some new knowledge I needed to learn in order to complete the project was dealing with the UI. I think that like many things, immersing yourself in the subject matter is the best way to learn it. Therefore, I looked up youtube videos on how to do UI, looked up articles, and looked at the relevant information. I also talked about it with my friends and about smart strategies implementing listeners on the front end. I thought that this process helped me acquire the skills very rapidly, and was able to apply them to this project.

Team Status Report for 4/20

Risk Identification and Mitigation Strategies
Primary Risk Concern: Our primary concern is the OCR finishing on time. This module of the project has been in the work for a while but we underestimated how long it would take for it to finish. Although this would be put as our priority for this week, Yuma still would need to integrate it into the code once its finished, taking more time.

Mitigation Measures:
Yuma will be solely focused on finishing the main module, and Jason will be solely focused on finishing the OCR.

Project Design Updates
As of the current reporting period, there have been no modifications to the initial design of the project.

Validation

For validation, the points remain from last week’s status report. One new aspect that I forgot to consider is validating our display. As of right now, the testing setup is a jumble of buttons and in order to meet the usability requirement, we hope to declutter and make the display more prettier. We will try to hit this requirement along with the other tests and metrics we hope to hit, mentioned in last week’s status report.

Schedule and Timeline
We are a little lagging behind the schedule but we do have enough complete for the final presentation and should have all of the remaining tasks done by demo day.

Siyuan’s Status Report for 4/20

Accomplishments This Week

This week, I focused on testing of newly arrived temperature and humidity sensor. The key accomplishments include:

Completion of Temperature and Humidity Sensor Software: I finalized the software development for handling data requests from the temperature and humidity sensors.

Testing Sensor Accuracy: I conducted testing to ensure the accuracy of the temperature and humidity sensors.

Full Hardware Integration: I completed the full hardware integration of two scanner modules, since the third one’s materials are with my teammates. This integration gives one of the final products of the project. For the central module, I have the screen in my hand, but the Raspberry Pi is with my teammates, so I can’t integrate it now.

Contribution to Final Presentation Slides: In addition to the technical developments, I completed almost all of the final presentation slides on my own.

 

Project Schedule and Progress

I am on schedule, and my progress is still good.

 

Goals for the Next Week

Next week, my work will shift toward final documentation and demonstration preparation.

 

Special Question

In the past, I didn’t have much knowledge about Python. In this project, I learned how to use it and how to find libraries for ease of use and strong capabilities. In order to learn it, I read some posts in different forums. When I have some bugs, I search through Stack Overflow to find answers. Although they might not have exactly the same problem, I can still summarize solutions on my own.

Yuma’s Status Report for 4/6

Accomplishments This Week

We were able to show the interim demo this week on the real software, and it was pretty good. Afterwards, I was able to keep developing the software so multiple scanner modules would be able to plug in. We had some issues where server closes were not detected by the client, so we fixed it by spawning reader threads. One problem I ran into was that when the scanner module is shut down & restarted, the unique identifier I was using would change. This would make the central computer think it was a completely different scanner module joining, rather than one that was already in the system. I’ve been trying to fix this, but at least for the same localhost, restarts after shutdowns are working well.
Demo is viewable at this link: https://drive.google.com/file/d/1JqQbArqMs0_zuo20xcsWn8leIyXCxjUR/view?usp=sharing

Project Schedule and Progress
Progress is strong, and I have accomplished what I expected this time last week. I expect to contribute less during Carnival week due to Booth commitments, though. I have yet to integrate the UI and the OCR, as these parts are handled by my partners and these are still not completed.

Goals for the Next Week
I hope to find other ways to distinguish between the scanner modules even when they are restarted. I hope to also implement a C-ACK for the items being sent, as ACK’ing each item is a lot of messages when a CACK for the most recent item could ACK all the messages behind it as well.

Team Status Report for 4/6

Risk Identification and Mitigation Strategies
Primary Risk Concern: Our primary concern currently is being able to integrate our modules together, especially the camera and the scanner module. This includes not only the coding part, but also physically putting them together. As the scanner will be apart from the rbpi module and connected via wire, we will have to see how we can put them together without making it difficult for our users.

Mitigation Measures:
We are able to tweak our physical design part of the scanner if needed. The wiring part can be extended or shortened if necessary. Other mitigation measures and validation methods will be discussed in Validation section.

Project Design Updates
As of the current reporting period, there have been no modifications to the initial design of the project.

Validation

For validation, our main aspect is putting the modules all together and seeing if they work as intended at the specs that we want. Specifically, we want to measure how fast our scanner system works, and how accurate the information is, and how easy it would be to fix any mistakes and log them into our system. These metrics will be validated by testing our module in a real life setting. We will setup our scanner module as well as our central module in a room, and try to do a test run of a real life scenario. This includes scanning, logging, and checking information. We will then debug any issues that may arise in the process, such as timing requirements as well as accuracy requirements.

Schedule and Timeline
We are on schedule, and hope to be done integrating by next week. We will dedicate the rest of the time on testing and validating our module.