This week, I worked on the algorithm of our app. I’ve decided that the only way our algorithm would work effectively would be if we had a calibration period, so I’ve implemented and added a calibration page to our app.
I am currently on schedule and hope to have tested our algorithm by the end of this week while also working on the final poster and report.
This week, I integrated Bluetooth into the tracking page and quaternion page. Now, we are able to start and stop the sensor tracking through the tracking page and store the data received from the Arduino in our database such that we can use them to create our visualizations on the quaternion page. I also worked with Sydney to properly parse the data received into usable data for the quaternion generation. I am slightly behind schedule because the algorithm is still being refined as we make changes to our data gathering. By next week, I should have the algorithm fully done to determine back curvature because I have also been analyzing the data patterns when a back is bent.
This week, I was able to deploy our web app on AWS and also finalize our tracking page. Our web page is now deployed on: http://18.119.127.55/
IĀ am currently on schedule and next week hope to finalize our algorithms for back detection. In order to verify and validate the code, so far I have just been trying different inputs on the website to ensure nothing breaks. In the upcoming weeks, I hope to do further testing, specifically with the algorithms, by going to the gym with our device and ensuring the data and feedback we receive are correct. In addition, I hope to do usability testing with friends and peers to see how we can improve our web app’s user interface.
This week, I primarily researched quaternion libraries and how to use the generated quaternions to generate feedback. I’ve decided to use an external Javascript library called three.js and to generate feedback, I plan to use Three.js to generate the vectors to display on the feedback page. Since it seemed like no progress had been made on the tracking page, I also created an interim tracking page with a basic HTML layout where users choose the exercise they want to perform, then get directed to a new page where they can begin tracking their set or stop tracking their set. I am slightly behind schedule right now because my parts of the project rely on parts that my teammates are still working on and have yet to complete. In order to keep on track, I’ve been using fake data and plan to keep using fake data to test the quaternion generation. By next week, I hope to have the quaternions generated, hopefully using the data received from the sensors.
This week, I created our web app’s registration and login pages and also the class Ethics assignment. In addition, Sydney and I worked together to implement the Bluetooth connection between our device and the web app.
With our newly updated schedule, I am currently on schedule and hope to next week be able to send and receive data properly, such that I can complete the feedback page.
This week, I primarily worked on the design report and also began working on the web app after we made a decision to pivot from making a mobile app and doing a web app instead. So far, I’ve created the base layout for our log and feedback page. However, in order to complete the feedback page, I will need Rachel to finish the tracking page so I have the proper layout. In addition, this week I created the object models and forms necessary for our app to function.
Currently, I am on schedule because I already have most of my implementation of the feedback page done. However, the rest of the feedback page’s implementation does rely on the data read from the sensors and the completion of the rest of the web app. Hopefully, by next week, the sensors will have arrived so I can begin working on my algorithms. By next week, I also hope to have finished the implementation of the feedback page where I match the feedback to the exercise and also compile a list of different feedbacks we can give the user depending on how their set was.
This week, I set up the team repository and have begun writing the feedback page. I am currently on schedule, however, I am slightly worried about the implementation of the mobile app since I am not the most familiar with Dart. In order to make up for my unfamiliarity with Flutter, I hope to spend most of my time during spring break experimenting with it and finishing my implementation of the app. My goal for next week is to complete the feedback page and the design report.
This week, I primarily worked on getting Flutter set up and learning Dart, the programming language required for Flutter, while also working on the design presentation slides. I also worked with my teammates to draw out the diagrams for the hardware components. Sydney and I have also begun thinking about how we will be implementing the back orientation and curvature algorithms.
Currently, the plan is to potentially use pre-existing Arduino Quartenion libraries that work with gyroscopes, accelerometers, and compasses (the sensors we will have in our device). With Quaternion, we can determine sensor orientation and potentially detect back curvature by checking that all sensors are oriented in a straight line. For the back orientation, I am thinking we can use physics to determine sensor positioning and apply this data to see if sensors are located at a consistent distance apart throughout the movement.
I am currently behind schedule for my feedback page on the app because I did not account for the Flutter learning phase when creating the schedule. This should not affect the final date we finish our project because the plan is to finish the app by the time we finish building our devices, and based on the newly updated schedule, there are still several weeks left. By next week, I hope to figure out which specific Arduino libraries we will be using to read the data from our sensors. In addition, I hope to have worked on part of the Feedback page of our app.
The main courses that helped me incorporate design principles into this project were 18-349, 17-214, and 17-781. 18-349 allowed me to help Sydney with the hardware design process, while 17-214 helped me create and refine the object models I drew last week. Using the user design principles I learned from 17-781, I was able to design a user interface that users will hopefully find to be simple to use.
This week, I worked on the wireframes for the app, so we can get a general understanding of what the app would look like and the potential features. In addition, I began working on the domain model and object model for the software. This will help simplify the processĀ of writing the software later on when we begin writing the backend. Overall, my progress seems to be on schedule and by next week, I hope to begin working on the software side of the frontend and have part of the feedback page done.