Team Status Report for 3/18

Our current focus has primarily been on getting the devices to work/ communicate properly to the Raspberry Pi. The thermal printer being able to print correct card designs correctly has been critical since we need to have these designs finalized to begin training our model. Card recognition is a main component of our project, so we are a little behind schedule in this part. We hope to get most of the designs to be able to be printed via the Arduino Uno to the thermal printer. This switch was made due to the abundance in documentation and user-friendly IDE and libraries. (Before, we were using minicom on the Raspberry Pi to send ascii files to the printer.) For now, the Arduino Uno is our backup plan for the Demo in the case we aren’t able to use the Raspberry Pi to print. We aim to get the 52 cards to successfully print with suits this next week.

In terms of other devices, the keyboard and LCD screen device drivers have been written, staying on schedule for this week. The plan is to work on interfacing with the camera next week.

 

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.

Team Status Report for 3/11

This week we focused on working with the printer and getting it to print out cards. We are focusing on the bitmaps and were having some trouble getting them to look like the various suits. To manage this risk, we have created a contingency plan of designing a card without the bitmap suits and just words to start the initial training and then updating the code to include the bitmaps once we do figure it out. There have been no changes made to the existing design of the system and the schedule is still on track.

(SR #4 Q) In terms of new tools we have deemed necessary to implement our project, as we mentioned in other posts, we are using the Rust programming language in order to implement the software that will be run on the server. When comparing to other languages, such as Python, Rust offers better performance in terms of concurrency and memory. This will help facilitate server-device communication, since Rust will be used for encoding-decoding of JSON objects.

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.

 

 

Team Status Report for 2/25

This week our team did our Design Review presentation. The thermal printer finally arrived and we have tested it to make sure we can print basic text. Waiting for the thermal printer to arrive and getting it to work was our main prioritization (as we need our printer to begin training), so this set us a little bit behind schedule on creating the testing harnesses (software tasks). As a result, we’ve adjusted our schedule to get the playing card mockups done as soon as possible and have been looking into doing a full bitmapping for the thermal printer. This is so we can get a grasp on what the cards look like in order to start training the model to recognize the suits and values. The cardstock and clips we ordered last week came in this week as well, so we will use them for gameplay testing in the coming weeks. Aside from the schedule setback, there haven’t been many changes being made to our current system.

Team Status Report for 2/18

So far, our team has been following the schedule we defined from a few weeks ago. This week primarily focused on going over documentation and preparing for the design review next week. We received the Raspberry Pi 3 and camera module, and have been trying to configure it thus far. The thermal printer, LCD screen, and keyboard were also ordered this week, so we plan to start testing and integrating them as soon as they arrive. 

As of right now, not much change has been made to the design of the system. There were some concerns over player experience being sacrificed since our physical cards would be very thin (receipt paper), so we ordered some cardstock and clips to give the playing cards a more authentic feel. Below is a diagram of the system we plan to build over the next few weeks.

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.