Overall Status Report:
This past week, significant progress was made on both the software and hardware sides of the Bearbot project. Kayla finalized the user study setup, developed the pre/post surveys with feedback, and conducted three user study tests. To keep the web app simple and aligned with study goals, the settings page was removed, and instead of logging user interactions through local storage (which caused lag), the team decided to use screen recordings to capture user activity. Firmware development on Kayla’s side is complete.
Meanwhile, Taylor finished the final hardware adjustments: the Bearbot’s speakers are fully functional with music selection and volume control features, and the arms were swapped out for switches to improve the user experience and provide a fidget element. Taylor and Kayla also hosted live testing sessions at Robert’s Engineering Hall, receiving positive feedback from users. All systems are now fully operational, and Bearbot is being actively used in real-world study scenarios.
Kayla’s Status Report:
I spent this past week finalizing the details of our user study, writing the pre/post survey questions and getting feedback from Gloria. Then I facilitated the first User Study Test with my friend and then later, with Taylor, facilitated another two user study tests.
I also removed the settings page from the webapp since I realized it’s not really needed for now, adds unnecessary complexity, and would likely take away from the main goal of the study if the user were to focus on all the customizable features they could play with. I thought keeping the webapp design minimal in features and simple was best. I also had tried implementing a way to log the user interactions in an object held in the local storage of the browser. The way I set it up was that, since the laptop and bearbot were on the same network, I’d have the bearbot send jsons to the webapp whenever a particular button/switch/rotary encoder was being touched by a user and log it as “<action>: <context>” (an example would be “timer_state”: “selecting”). However, this ended up making everything really really laggy. So due to time constraints, we decided to pivot and just screen-record the Web-App since we can infer what interactions were made since it is in sync with the bearbot.
At this point, the firmware on my end was pretty much done and Taylor spent a lot of time with the physical bearbot this past week.
Additional Questions:
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? We recognize that there are quite a few different methods (i.e. learning strategies) for gaining new knowledge — one doesn’t always need to take a class, or read a textbook to learn something new. Informal methods, such as watching an online video or reading a forum post are quite appropriate learning strategies for the acquisition of new knowledge.
I found it necessary to learn how to use a Raspberry Pi since I have not really used one before Capstone and it was definitely a learning curve to set it all up and though we eventually pivoted to using Arduino, now I feel more confident if I ever have to use a Raspberry Pi again in the future.
Also, coding firmware was very new to me. Previously, the only experience I had with Arduinos was two years ago when I took 18220 and we had to use them in our labs. Also a bit in 24-100 Intro to MechE freshman year and in the Fun with Robots Stuco when we had to use it for our robots. At the start of the capstone, I assumed it would’ve been simple to create the firmware, but as I got deep into the work, I found that actually requires a lot of code to make our bearbot function and I had fun writing and organizing it all.
To learn this, I mainly followed official documentation that was available online. Both the Raspberry Pi, Arduino, and even Adafruit for the OLED all had great documentation and tutorials which made the process of writing the firmware much more helpful than if I didn’t have that.
Taylor Status Report:
Final touchups were made on the hardware side:
The speakers are operational and play music from them, and music selection and volume adjustment were reprogrammed into the firmware! The user can now select from 4 tracks that are on the SD card of the DF Mini Player, and play one of the songs.
The arms were swapped for switches for an additional fidget element and a better way to turn the humidifier on and off.
I also got a few friends to test out the Bearbot – Kayla and I went to Robert’s Engineering Hall and set up the robot and one of our computers for people to interact with. Overall users had a positive response to working with the Bearbot.
All of the different systems are operational, and I have even been using Bearbot to study and focus on my homework!
Additional Questions
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?
There were so many new things I had to learn in order for our project to work and look as well as it does. During my time here, my concentration has always been software – this meant that I had to learn a few things on the hardware side and find additional resources for if I ever got stuck.
Talking with people that were experts in what I was working on was extremely helpful! Getting in contact with Professor Zeglin allowed me to learn how to make a silicone exterior for Bearbot, and he allowed me to use his class resources for free. The robotics club officers were also super helpful when I didn’t understand what was happening with a specific component. I would also look at Arduino forums for people who would have similar problems as me – especially with the DF Mini Player.