Miya’s Status Report for 4/29

As this week was Final Presentations and it was my turn to present, I spent the first few days preparing/practicing for the presentation. It was pretty difficult, since I’ve been recovering with a bad cold, but I think it went alright.  Something that was pointed out at the end of the presentation, was the fact our game logic needed to address the possibility of the ML incorrectly identifying cards, so I am currently trying to implement possible safeguards for it.

I’m looking to finish integrating the game logic with the rest of the other components early next week. This portion is still behind of schedule due the other delays in our integration, but we are trying to get this done by the end of the weekend. In the meantime, I’m also working on the final poster pdf so we have time to focus on fine tuning the other parts of our project up until the demo.

Miya’s Status Report for 4/22

This week I continued working on the game logic for Go Fish. I ran into a lot errors during compiling due to the different syntax and data structures Rust has in comparison to other programming languages I am more used to. In order to get a working version, I’ve been trying to implement it using Python instead, and possibly interfacing with this file or trying to converting it to Rust. As for game logic integration, this is behind schedule, as we had originally hoped to be in the testing phase by this week. We plan to catch up this weekend, since we have more time and the individual parts of the projects are better developed for integration.

For the rest of this weekend, I will continue working on the game integration and preparing for the Final Presentation that is next week.

 

Miya’s Status Report for 4/8

For this week, my primary goal was work on the game logic implementation for Go Fish. This includes writing functions to create/shuffle a card deck, looking into suitable data structures to store game information, and planning out the overall flow of a game between two players. As a side portion, I’m also working on doing some image labeling for the ML in order to help with accuracy. (Status Report Q) With this month being the beginning of the verification/validation phases of the project, I’m planning on writing tests for the code via hardcoded inputs for now. Hopefully, once we get the camera to be able to focus on cards, we will be able to move on to testing the integration of our components. In terms of schedule, this is mostly on track with the updated plan (Gantt chart). I plan on working on this more the rest of this weekend and during carnival next week.

Miya’s Status Report for 4/1

After figuring out the sizing/positioning for the bitmap images last week with the Arduino Uno, the my main focus for the beginning of this week was getting the Raspberry Pi to interface with the printer. I looked into ways to possibly connect the Arduino to the Raspberry Pi and have them work together in order to print the images. One method involved using the USB port on the Raspberry Pi to wire a connection to the Arduino. This method involves installing the Arduino IDE on the Rpi OS to use the printing functions provided by the Adafruit library.  Using serial communication (UART), I was trying to find a way to have the Raspberry Pi and Arduino work together to print an image (i.e. rely on the Arduino to print the card design and have the Raspberry Pi take care of logic/communication to the other devices/server). I ended up not going with this method since our Raspberry Pi was model A, and only had one USB port- which was being used for the keyboard. The GPIO pins can also be used for UART as well, but at this point it was determined that this would just complicate the communication of the system.

For next week, I plan help with increasing the printing speed of the cards. The images are able to be printed with the Raspberry Pi, so working out the positioning to mimic the Arduino-printed cards we are using to train our model is something I plan to do.

 

 

Miya’s Status Report for 3/25

This week my main priority was getting the card designs finalized and formatted for printing. Having switched to using an Arduino Uno for interfacing with the printer, I used the printer library from Adafruit to begin printing out the cards.

There were issues with the Arduino Sketch exceeding the permitted size due to all the arrays (from all the image bitmaps), so I had to play around with card formatting and structure to avoid having to make and include 52 files for the Sketch. I made the bitmaps for the suits (Hearts, Diamonds, Clubs, Spades) and face cards via drawing programs and bitmap/array converters.

Last night, I was able to print out all 52 cards, so that puts us back to schedule in terms of troubleshooting with the printer and ML training. For now, using the Arduino to print is our backup plan, but since our project primarily uses a Raspberry Pi, my next focus will be figuring out how to interface the Arduino with the Raspberry Pi (or just how to do it with the Raspberry Pi alone).

 

Miya’s Status Report for 3/18

This week I focused on getting the bitmaps to print on the thermal printer. We’ve been trying to finalize the designs for the cards to begin training for card recognition. Since we are using a Raspberry Pi to interface between all of our devices, I’ve been trying to make manual bitmaps/ASCII images to send to the printer. At the moment, the backup plan for using the Raspberry Pi is using ASCII images. Using the Raspberry Pi with the thermal printer has been pretty difficult, since there is little up-to-date documentation that allows us to send bitmaps with the two devices.

In the meantime, as another backup plan for demo, I’ve figured out how to configure an Arduino Uno to send bitmaps to our thermal printer. This took quite a bit of troubleshooting, since there were issues with library permissions and Arduino IDE not being compatible with my Mac OS, so I had to switch to using Windows. I was able to get faint images of a heart card suit printed, but it still needs some more fine tuning for the finalized designs.

Next week I hope to get more of the 52 card designs done, so training can start as soon as possible.

Miya’s Status Report for 3/11

Last week, I was primarily focused on writing the Design Review report. We had most of the details figured out due to having the presentation and mentor meeting earlier, so we just needed to narrow down the use-case and design requirements.

So far, we are able to print out letters and number text with the thermal printer, but are still trying to finalize the card designs for training. This past week was Spring Break, but I tried to make time to figure out how to bitmap the card suits such that the Raspberry Pi can accurately send the correct files to the printer. I’ve been trying out some bitmap converters and am working towards testing the files out tomorrow in-person.

Miya’s Status Report for 2/25

Since we’ve settled on using Rust over Python to write our test harnesses, I’ve spent this week trying to learn Rust and the process of writing test harnesses. (My main programming experience has been in Python/C, but Rust’s faster memory and threading capabilities would be more suited for our system’s latency specifications.) Additionally, I’ve been trying to write out some simple tests we could run in order to implement our MVP of Go-Fish. Once we’re able to get the cards printed to test input recognition on the Raspberry Pi, I hope to be able to test out the RPi’s interfacing with the Camera Module.

 

 

Miya’s Status Report for 2/18

This week my goal was to read documentation/learn how to configure the Raspberry Pi Camera module. I had hoped to start working more this week, but since I was symptomatic with Covid, I was unable to work with the team or configure the devices in-person. I’ve since been reading through the Picamera2 library and Raspberry Pi Camera Guide in order to better prepare for next week when I finish isolating. Since we have the Design Review next week, I also helped prepare the slides/diagram for the presentation.

Next week, I plan to start testing the scanning properties of the RPi Camera Module and write code that can help troubleshoot the game logic (Go Fish, to start).

Miya Higuchi’s Status Report for 2/11

This week I helped in preparing for the design proposal presentation. I also assisted in helping set up the website. As a team, we looked at documentation, and narrowed down the tasks that we needed to accomplish, what the project timeline would look like, and what the division of labor would be. Since I was out of town this week starting Tuesday (due competing at our university’s conference swim meet 7am – 10pm) until today (Saturday), I will be presenting for one of the later presentations and will be doing my best to catch up/making up work the next week.

Next week, I plan on looking more into the documentation (the software aspect of the project), and helping with deciding which devices we need to order/work with as our physical devices for the project.