Team B4: Smart Library

Smart Library is the intelligent service that allows you to see where socially distant seating is available in any public space, without having to visit the space yourself. Designed for CMU’s Sorrells library (but hosted in Pablo’s dining room due to Covid) , our node network will collect images and use a machine learning algorithm to determine which seats are available and safe to sit in. Smart Library does not save or collect any identifying information determine seat occupanct. Smart Library was created by Pablo Wilson, Krish Vaswani, and Arjun Raguram.

Video Link: https://www.youtube.com/watch?v=2dljjIvalZc

Team Status Update for 5/12

Since campus is now completely closed and Pablo is now based in Virginia, there was some reorganizing that needed to be done. First of all, with the library closed, we had to find a new location to capture images. The new location was Pablo’s dining room table, capturing the 4 chairs there. With this new set up, Pablo needed a couple of extra parts to get the image capture nodes set up(things like wires and breadboards), so he was a little behind, but data is now being captured and uploaded. The rest of the system is following close behind.

Pablo’s Status Update for 5/12

This week, the focus was on getting the system integrated and set up in my dining room. The breadboards and wires luckily arrived  sooner than expected and I was able to have the image capture nodes set up! Image from the node below:

Still awaiting final integration with the server as I don’t have the server code yet, but an easy workaround is just automated batch uploading of the images to the model. I am task complete on my end and will now transition to helping out other areas to ensure we are fully functional by final presentation time.

Pablo’s Status Update for 21/11

This week I worked on getting approval for setting up in sorrels, putting together a housing for the node, and doing the reading assignment. I went to Sorrells and got the contact information for the people I need to talk to (Amy Perrier and Barry
Schles) and contacted them, but unfortunately didn’t receive a response before leaving Pittsburgh unfortunately. Earlier this week I made a mock up of the housing for the node and reworked it since the portable chargers were larger than anticipated. The housing is ready to be laser cut when I return to campus.

With this week, I am behind schedule and will need to work over Thanksgiving break to catch up. I plan on gathering datasets from my home to help the image diversity for the ML model and integrating server code when that is finished since I have now been shipped the final set of components for the full node network and am ready for implementation.

Pablo’s Status Update for 14/11

This week, I worked on getting low power mode working with the ArduCam and testing the battery life of the nodes. The current battery life was almost 4 days (5500 images captured and uploaded), so once low power mode is properly implemented and it passes the timing requirements, we should be well within all requirements for the node. I encountered an issue when doing battery life testing that a portion of my images were not fully uploaded, leaving vertical lines at the bottom, and some were not even recognized as images. I’m hoping that this is an issue due to me using a very simple test server I set up and uploading at 6 times the anticipated rate, but I’ve talked with Krish about it and it shouldn’t be too hard of a problem to overcome for the preliminary data sets.

I am currently on schedule, but next week will be very tight as I am still waiting on server code to integrate, confirmation of approval to mount nodes in Sorrells, the reading assignment, and heading home on Friday.

Team Status Update for 7/11

A change in design was made this week to the Camera Node. In order to draw enough voltage from the LiPo batteries to supply the camera module, a 5V boost converter was needed. We decided on instead using 5V portable chargers. Cost-wise, this was the cheaper solution, however we would be losing out on the functionality of being able to remotely read the battery charge. This would introduce the risk of running out of battery without us knowing. To combat this, we chose portable batteries with over 5 times the capacity of our LiPo batteries, so our node will certainly meet the 72 hour uptime requirement. We will also now notify the site when a node disconnects, but we should be monitoring how long the nodes have been active and recharge them well before they drain completely.

Camera Node Schedule has been updated and pushed back a week. Other tasks including dependencies have been updated accordingly, there is no major shift in final end time.

Pablo’s Status Update for 7/11

This week, I finished the single node. I had to overcome two major problems: Outdated libraries and incompatible hardware. The libraries for the ArduCam were written for Arduino and were reworked by someone else to work for the Particle Photon. Unfortunately, the pinout and macros for the Particle Argon are different, so this introduced a slew of errors. Luckily, I managed to rework the library much faster than anticpated and got the Camera Node up and running. The next issue came when trying to make the node completely standalone, the lack of voltage from the LiPo battery. I realized I was running into an error when removing from the computer because it was drawing extra voltage from the micro usb. The solution I used was moving from LiPo, to portable chargers. With this I now have images being captured and sent remotely over TCP! (picture from the Camera Node below!)

To be quite honest, I wanted to have this done much earlier, but the past week has been rough mentally due to the election. I am slightly behind, but readjusted our gantt chart and are still within the margin we laid out for ourselves. I anticipate to be completely done, with the Camera Node network set up in Sorrells 2 weeks from now. The next week, I plan on building the housing for the node and capturing the preliminary data set from my apartment.

Pablo’s Status Update for 31/10

I unfortunately did not get as much done this week as I had anticipated. This week was more hectic than usual, and I realized I had a flaw in my implementation, meaning that I have to refactor my code to correct the error.

I spent a good amount of time of the ethics reading and response this week. I found the fictional Ad Empathy technology design to be scarily realistic and probable uses for nefarious purposes hit a little too close to home considering Cambridge Analytica and the upcoming election. I suppose it is Halloween, so a bit of spookiness is to be expected haha. Additionally, thinking about ethics and how it relates to our project was a little sobering; I realized that if this project were to grow to become a commercial application, data security needs to be a priority as this information can be harmful if used for individual tracking.

I am currently a week behind schedule on delivering images good enough to start developing the model. I intend to spend this upcoming week setting up the node in my apartment so that I can start getting preliminary images sent, so Krish can continue working on the model.

Pablo’s status report for 24/10

This week I worked on setting up more tools on the particle argon to facilitate sending images over wifi. I am slightly behind my internal schedule, but am within the schedule set on the Gantt chart. To fully catch up, I need to meet with Arjun to discuss the wifi adapter and transfer protocol.