Nat Arocho’s (Slightly Late) Status Report for 2/25

This week was a bit slower compared to other weeks in the course so far. The only big deliverable that we had to have completed for this week was our Design Presentation, which I think went quite well. I also planned on spending some time this week ordering the NodeMCU so I can get development started with that.

I would say my progress currently is a little behind schedule. This week was quite busy for me; I spent most of my time this week doing work for the classes that are important to me. Due to that I did not order the NodeMCU during the week, however the good news is I ordered it as I am typing this report.

Next week I plan on working on a simple NodeMCU prototype to understand developing for the device; I plan on getting this done before Spring Break. If the NodeMCU does not arrive before then that fine too, as I’m sure I can spend some time during break working on the project to stay on schedule.

Recreating our schedule last week was critical, this allowed us to counter the design challenges associated with changing projects weeks into the course.

 

Team Status Report for 2/25

With the initial feedback and points brought up during our design review presentation in mind, we first reviewed our design and discussed possible issues with it as well as any changes that could be made, if necessary. The main point of discussion was the implementation of the Sensor Module, specifically whether we wanted to change sensors (concerns about detection angle) or incorporate multiple sensors different to our originally chosen one, essentially changing our Senor Module design.

After deliberating and analyzing the components, requirements, and specs of our module the team has opted to stick with the original design and interface only one sensor to a NodeMcu. We plan to test and fine tune our microcontroller with our sensor in order to obtain an accurate yet simple, easily interfaceable, and properly working Sensor Module. By sticking with the original design, we believe we will be minimizing the risk of not having a working Sensor Module and not delivering on our MVP. If we need a more precise way of detecting occupancy then we can proceed with a multiple sensor approach but not before having a simple (one) Sensor Module that is functional.

Having stuck with our original design, orders were placed to obtain the NodeMcu from outside sources and the Raspberry Pi from the ECE inventory. Since the “debate” for this week was centered around the Sensor Module, no order was placed for the IR sensor, but one has been promptly planned for next week.

On the software side of the project, the initial Django web app was created. Considering the feedback we got from our peers on Monday, the team discussed ways in which we could possibly extend the scope of the web app with user experience in mind. A peer suggested that users might want a more detailed web app the went beyond simply marking occupancy in real-time and allowed the user to plan their gym session ahead of time. An idea that bounced around is providing the user with more detailed occupancy metrics using information gathered about the machines during times of day and days of the week in order to provide estimates akin to what Google does with busy times in a specific establishment. As a team, we consider that adding these features will not require any extra components aside from extending the web-app by storing, logging, and manipulating data. However, this feature is still being debated and whether we incorporate it or not will not veer us off course and delay our schedule given the nature of its implementation.

While reviewing our design, we identified potential risk areas that might jeopardize the project. The Sensor Module presents detection accuracy risks but we believe that the fine tuning capabilities and the agility that our chosen microcontroller provides will aid in ensuring this component is up to par. The main risk and the immediate challenge our implementation faces  is the wireless communication between our components. Given that we will be transmitting data via Wi-Fi and using CMU’s network, congestion and inaccurate data transfer is definitely a risk that could derail our project. As a result, our  contingency plan is establishing a network with components like Zigbee and other modules that ensure proper wireless communication between our sensors and the web app. Nonetheless, further research of these technologies needs to be made and experimentation with our current design needs to take place in order to asses whether the contingency is necessary. Since this would imply a major design change with added layers of costs and complexities, our team aims to refine and make our original design as robust as possible to meet our requirements.

In order to meet the goal just mentioned, we need a reliable team dynamic. Thus, we designed our testing plan with accountability in mind. This project provides a certain degree of freedom when it comes to induvial work. However, given how each component needs to be integrated we will be monitoring our team members progress via tests accomplished and metrics compiled. The IR sensor and NodeMcu need to be properly powered and wired,  hence this will require collaboration between Ian F. and Nat. The NodeMcu communicates with the RPi hence that will require communication between Ian B and Nat. Nonetheless all of us need to be aware of every team member’s progress. That is why our testing incorporates both individual as well as joint tests that will inform us of the progress each team member is making.

In addition, we will use lab hours to discuss individual progress at the beginning of the session (which can be self monitored via time logs or something along those lines), work during this time, and evaluate how the schedule is going. At the end of lab we will provide each other with individual tasks that will need to be completed by an agreed upon date that follows as closely as possible the schedule we provided in the design review. This way we can be on the loop as well as keep each other motivated throughout. Of course outside communication via Slack will also be a key. 

Having discussed the overall design this past week as well as established a team dynamic/plan that will be beneficial for all members, our aim for next week is to continue developing our idea with solid metrics and figures in order to provide a detailed Design Report as a deliverable for next week. Since our parts will still be in the mail for the first part of the week, it will be a great chance for us to go deeper into the specs and have everything as robustly conceptualized as possible.

Ian F’s Status Report for 2/25

After this week’s design review presentation we received some feedback pertaining the initial design of our system. With the questions we were asked in mind, my tasks for this week consisted in further researching the components for our Sensor Module. One question that came up was the detection angle of our sensors. In all honesty, I was more focused on the range (distance of detection) of these sensors and I admit I did not factor into my calculations how the detection angle of our sensor affected our system. Therefore, I looked into the documentation of our sensor and investigated other alternative sensors just in case. After some  hesitation I believe that our current chosen sensor works well based on our implementation.

Having said this, professor Mukherjee brought up a possible different implementation of our solution. He discussed a multiple sensor approach to obtain more accurate occupancy measurements that were impervious to the external environment around the gym equipment (people, movement, etc.). Nonetheless, after some consideration I believe it is best to stick with our one sensor approach given the simplicity of the communication between the sensor and the NodeMcu. Our sensor is analog and the NodeMcu ESP8266 only has a single analog input which would make the incorporation of multiple of our selected IR sensors practically impossible. We would have to research other sensors primarily digital ones that can be incorporated seamlessly with the NodeMcu and come up with an algorithm to coordinate the multiple sensors to reach a decision on occupancy. This task does not seem so difficult. Yet other considerations were also discussed.

A point that came up is how invasive our system would be if we were to incorporate say three sensors on a treadmill. This is certainly feasible but perhaps the wiring of these sensors might result cumbersome for users. In addition we would have to factor in power consumption which would most likely not meet or battery life requirement. As a result, and in tandem with our size requirements, we believe that it is best to stick with only one sensor for now and experiment with calibrating and tuning our microcontroller with our sensor.

Due to this deliberation in implementation and sensor type, no orders were placed this week, which I anticipate will put me behind schedule. Nonetheless, this setback does not hurt the overall pace of the team given how we decided to divide the tasks and how compartmentalized our testing plan and schedule is. Our verification plan has a lot of small testing phases which will either way take up most of the time after the parts arrive, hence setbacks can be easily recovered from. In my case I will have to get started as soon as I can with a bit of an accelerated pace on the IR testing in order to meet the goals of integration we have.

As a result my plan for next week is to complete the order of parts and hopefully receive them as soon as possible to start experimenting and testing locally according to our testing plan. In the meantime, I will most likely take more concrete physical measurements of the gym equipment in order to analyze these as well as compare them with our equipment’s manuals and documentation. These metrics will get the ball rolling for the work that needs to be done with respect to the Sensor Module mounting mechanism and will aid in setting up our testing environment which will emulate the machines we will be working with. As a result, next week I will be checking out the Makerspace to investigate the resources available to fabricate our setup (wood, tubes, tools, etc.). I will also research CAD and other suites since we have decided to fabricate our encasing for the sensor module locally. From this investigation, I will decide how to proceed with the mount design. All of this will aid in developing our Design Report which is the deliverable for next week.

Ian Brito’s Weekly Status Report for 2/25

At the beginning of this week, I presented our design presentation. For the rest of this week, most of the work was ordering my part (RPi) from ECE inventory and working on the web app. I created the Django web app, but do not yet have it looking like the mock up. Additionally, I looked at the Design Report to start thinking about what to write in it.

I would say that currently, my progress in on schedule based on the new schedule from the design presentation which we updated after we pivoted our project. We had planned for most of this week to be ordering parts, starting work on web app (me), and generally working on the project idea. After receiving feedback on Friday, I thought of ways we could increase the scope of our project, such as adding more sensors or adding complexity to the web app.

The deliverables that I am looking to get done next week are the Design Report, as well as getting the web app running on the RPi. I want to get both of these tasks done before Spring Break so that our group is on schedule.

We have adjusted team work assignments to fill in gaps by recreating our schedule as stated above to account for the late(ish) pivot in our project. Because our schedule was created fairly recently (last week), we were able to plan accordingly.

Team Status Report for 2/18

This week, we started by meeting with Tamal and Alex about our new project idea. We decided to narrow down our scope to just monitor machines with dashboards (i.e. stationary bikes, treadmills, and stair climbers). From there, we began to work on our design. On Monday, the three of us looked at certain parts that we would use for our project. For example, Ian F. looked into which IR sensor he thought would be best, Ian B. looked into Django and the RPi that would be used, and Nat looked into the microcontrollers for the project. Later in the week, Nat and Ian F. worked on the block diagram for the Design Presentation, and Ian B. worked on a mock up for the web app.

The main principle of that we used to develop the design solution for this project is KISS, or Keep It Simple, Stupid. The idea with this principle is that we did not want to overcomplicate our design by adding unnecessary components. One example of this principle in action was when we thought we would need a battery to power our project, but Tamal mentioned using the charging ports already present on the machines.

One significant risk that could jeopardize the success of the project is not being able to detect whether or not a machine is in use with the IR sensor. This risk is being managed through testing the sensor at various ranges, and our worst-case scenario contingency plan would be to use an ultrasound sensor which would have more range.

No changes were made to the existing design of the system because this is the first iteration of the design.

 

Nat Arocho’s Weekly Status Report – 2/18

A lot of this week was spent reading documentation and looking at sample projects using NodeMCU/ESP8266 boards. I did this to have a basic understanding of how our microcontroller would be implemented in our project. I also did this to have a general idea of how developing for these microcontrollers would look like. I also spent time working on our Design Presentation slides, especially the slides that involve my portion of the project,

I would say our progress is still behind schedule, as is to be expected  since we restarted our project last week. However I am confident in our ability to complete this project based on our work this week.

As for next week, we plan to complete the Design Report and order some microcontrollers so I can begin my development.

There is no particular course that aided in my portion of our design. Instead, my experience developing with microcontrollers came from my job as a research assistant for Dr. Yang Cai. My work consisted of developing code to be used on an ESP32 microcontroller that would communicate with an Unreal Engine project running on a VR headset.

Ian F’s Status Report for 2/18

My task for this week consisted in developing ideas pertaining to the physical aspects of our system. So, this week I spent the majority of my time researching components and parts we would need to complete our project as well as ways to link them all together. We have decided to use IR sensors and I have proposed the use of either the Sharp GP2Y0A02YK or the Sharp GP2Y0A21YK0F. Both these sensors work much in the same way however their distance detection ranges differ with the former having more range than the latter. Theses sensors were considered in the first place given that they are quite easy to work with and simple to interface with other pieces of hardware we are considering.

From this research, we have decided that the hardware module attached to the gym equipment will consist of our IR sensor connected to a Nodemcu and a power supply to power both of these. We have opted for Nodemcu due to the fact that it is a low-cost and open-source IoT platform that’s based on other components we thought of initially like the ESP8266 chip. This module will be interfaced with a Raspberry Pi which will handle the IoT component of our design.

In addition, I surveyed the University Center’s gym to get a feel of the machines and equipment we will be basing our design on. We will be using treadmills, stationary bikes and stair climbers as our base. I noted the models and styles of the machines and based on these observations I believe it would be best to attach our physical module to a mount that works like a phone bike mount does. Many of these machines have a lot of tubes to which we could secure or module. Therefore an adjustable design with rigidity in mind is optimal to ensure our sensor is always properly positioned. Below is a picture of a possible template for our design of the physical encasement of our hardware module.

For next week I am aiming to polish the details of these physical modules before placing any orders. I need to consider the power consumption and other physical aspects of our module like weight among others to strengthen our design. Based on this research, I will consult with my teammates and decide which process would be best to fabricate our modules (3D printing, carving, or off the shelf solutions, etc.) In addition I want to have the communication protocols of our modules clearly planned out before moving forward with our orders.

Considering that our design is quite new compared to other groups, perhaps we might be a bit behind in terms of schedule. Nonetheless, based on what our team has discussed, this week’s progress seems satisfactory and we will work to keep the pace for next week. We understand that our process since the beginning of the course has been rocky and constantly shifting so much emphasis must be placed in terms of progress for the upcoming weeks.

Ian Brito’s Weekly Status Report for 2/18

During this week, I went back and answered some questions from the proposal document for our new project. For example, I wrote a use-case, requirements, technical challenges, etc. in a document as I believed that this information would still be useful for our group going forward with this project. Additionally, I created a mock-up for the Django web application, as seen on the Design Presentation slides. The reasons I chose Django for creating the web app as opposed to another framework are that it is secure (provides protection against certain attacks) and versatile, which makes it the perfect framework for this project.

I would still say our progress is slightly behind schedule. Because we had to restart our project, I feel as if we could have been farther ahead — however, our new schedule as shown on our slides accounts for this.

The deliverables that I hope to complete in the next week are the Design Report and beginning work on the web app itself.

The particular course that helped in my portion of the design was 17-437, or Web Application Development. This course covered Django web apps and web app development, which is the framework I am using to create the web app for this project.

Team Status Report for 2/11

Our proposal presentation for this week was not satisfactory for us and our project idea for RotoCam was not fully fleshed out. In addition, the idea seemed outside of each of our areas of expertise since none of us had prior experience with video processing tools or techniques. As a result, we agreed that the project was unsuitable for us and the risk of an incomplete minimum product was rather high. Therefore, our team has decided to change our project and pursue a different idea.

Our new idea centers around an occupancy tracking system for a gym. Specifically, we want to keep track of which machines are being used inside the gym and gather data in terms of occupancy throughout a given period. For this we were thinking of implementing a series of proximity sensors to detect whether a user is currently utilizing a specific machine and report this data via a web-app available for the gym members and the staff as well.

Ian Brito’s Weekly Status Report – 2/11

Our team decided to pivot our project idea on Monday (2/6) after meeting with Tamal. We believed that given our inexperience with video and image processing, RotoCam would not be a feasible project for this course. Instead, we decided to pivot to an occupancy project similar to those done in the past. Our project would focus on the UC Gym and report which equipment is currently being used to a web app.

For the second half of this week (once we all agreed on our new project idea), I began looking into how I would implement my portion of the project (the web app). I settled on a Django web app, which would be hosted on a RPi that would communicate with the micro controllers to determine which equipment was being used. I have previous experience with Django and I believe it would suit our needs for this part of the project.