Audrey’s Status Report for 10/4

This week, I set up the Raspberry Pi 5. We realized the Raspberry Pi 5 kit we got didn’t include a micro SD card, so I placed an order for one, but in the meantime, I borrowed a friend’s micro SD card. Since the Raspberry Pi 5 doesn’t naturally support VS Code, I looked into remote-SSHing into the Raspberry Pi 5 to upload code and got that system working. Since I am mostly waiting on parts to arrive to continue working, I also looked more into the compatibility of other parts and more about the Teensy 4.1 firmware/manual pages. Due to the majority of my work needing to be done next week, I tried to offload some of the work by looking into any potential issues I might face ahead of time. I also presented the Design Presentation to the class and reviewed the feedback from the Q&A section we received. 

Since this week is mostly dedicated to early software development and the Design Presentation, the hardware/firmware section I am working on is still on track for the project schedule.

Next week, I hope to build the basics for the robot car kit. I also hope to get the motors to start moving so that the car can move forward and backward, and potentially side to side or turning.

Elly’s Status Report for 10/4

I worked on implementing a barcode scanner for the mobile app and connected the barcode scanner output to the OpenFoodFacts database via their API to get the title of the product. The barcode scanner uses the AV Foundation framework, allowing me to create a ViewController that manages an AVCaptureSession. This allows the user to give permission to use their camera and scan the barcode. This outputs a string of numbers, which can be used to make a request to OpenFoodFacts to search for the product name. The product name will be populated in a list that the user can view. One issue with the barcode scanner that needs to be fixed is that the list of items disappears when the user exits the app, so I need to implement a state that allows the user to keep their current session. Another issue is that OpenFoodFacts does not provide the price of the product since this is something that varies by store. Thus, we need to decide how to set the price for each product and whether OpenFoodFacts is appropriate for our project or if we should create our own database.

I also worked on researching pathfinding algorithms for our shopping cart. Last week, I determined a potential obstacle avoidance algorithm that we could use, but in order for the cart to follow the user, we decided to use D*. This is because D* is designed for changing environments, so if the cart detects a new obstacle via LiDAR, this algorithm can replan that path without recalculating the entire path. 

Next week, I plan to fix the issues I mentioned above with the mobile app and get a fully functional mobile app. If there is additional time, I hope to start doing research on LiDAR as we have the sensor and see what kind of information we can get from it.

Barcode Scanner Resources:

https://medium.com/@jpmtech/how-to-make-a-qr-or-barcode-scanner-in-swiftui-68d8dae8e908 

https://medium.com/@ios_guru/swiftui-and-custom-barcode-scanner-f3daaeabfcea 

Barcode Scanner Demo:

https://vimeo.com/1124535079?share=copy 

D* Resources:

https://engineering.miko.ai/path-planning-algorithms-a-comparative-study-between-a-and-d-lite-01133b28b8b4 

https://www.ri.cmu.edu/pub_files/pub3/stentz_anthony__tony__1994_2/stentz_anthony__tony__1994_2.pdf