Thomas’s Status Report for 4/27/2024

Not much has been done on the hardware this week except for some testing and receiving the new parts: new batteries and stepper motors. I have tried the dispensing and the rotation again using the old motor, but the motor accuracy got better again, and the reverse direction doesn’t seem to be losing as many steps as last week. I believe after not testing it for a couple of days, the temporal wearout from overheating or usage has gotten better. I’m most likely going to save the new motor in this case for next week’s Techspark demo and Friday’s real demo. The card dealing also seems to be sufficiently consistent. Also, I have changed the internal gear used for chassis rotation into a slightly taller one so there is more contact between the internal and the outer gear for better torque delivery. 

I am on schedule, and next week will be dedicated to full system testing and taking part in demo days. I will also try to reassemble the parts before the testing to make the design look neat. We will keep the masking tape outside instead of just gluing them so that we can easily take them apart in case something happens. Also, I believe it will look nicer to just use tape instead.

Thomas’s Status Report 4/20/2024

For the last couple of weeks, I have focused on getting new prototypes for the dispenser and getting the whole subsystem satisfactory. I did a lot of testing on different prototypes, and we settled on one that worked decently within our requirements. With the software infrastructure already set up, I was able to test out the rotation of the chassis too. By not releasing the stepper motor in between motions, it generates quite a bit of heat but gains significant accuracy. While it was working fine, after going to a lot of rotations back and forth throughout the last couple of weeks, I have noticed that the stepper motors are giving out gradually as it has been losing steps in the reverse directions. We might have to purchase another one that we might use mostly for demo day. The same goes for the batteries. With the software portion mostly finished in terms of the website, we played a full game of 4 – people uno yesterday, without an error. 

I am on schedule, and next week after the presentation will be dedicated to finalizing the hardware, further testing with the software, and overall getting ready for the demo. Also, I do need to add an LED that lights up when an illegal move is played. 

Additional Prompt:

Everything I have done for this project is something I have never done before. I had to learn how to use CAD software for modeling, the laser cutter in Techspark, and 3d printing gears. I watched a lot of videos on YouTube to learn Onshape, which is the CAD software I have decided to use. My friend also initially taught me some tricks to make work easier. In terms of the laser cutter, Professor Nace and the staff at TechSpark were kind enough to walk through all the steps. For gears, I tried to make the dimensions of the machinery easy to create and replicate similar gears which also learned how to make on Youtube. 

When I was learning all the new things on YouTube, I tried only learn couple of things that were directly related to my project, and I spent most of my time just trying them out. I printed a lot of boxes in Techspark using scrap, and I was able to get used to it pretty quickly. The same goes with the CAD where I tried to make many different iterations of the chassis before finalizing it. I believe trying these things out myself instead of watching more videos saved me time or tutorials since I got better at them a lot quicker. 

Thomas’s Status Report for 4/6/2024

Most of this week was used to test out and do some minor tweaking to the system to get ready for the interim demo. With new cards, I was able to reproduce the low error rate dispensing, proving that the dispensing accuracy is highly dependent on the card condition. Also, David and I worked on integrating the IR sensor into the system, which was successful. This lets the user press one less button during the game, making it more automated. With the new filament we just got, I have also started printing different versions of the dispenser’s front end to test it out for the next couple of weeks. My goal is to minimize the times we have to manually pull out the cards from the bottom, and make it fix itself when it detects the card has not been dispensed this time. 

 

I am currently on schedule, and next week I would like to get the official chassis rotation testing data, test out different dispensers that are printing currently, and get IR sensor accuracy data for the dispenser. 

 

In terms of verification, a lot has been done so far on the hardware portion. Most of these were performed with David together as it requires some kind of driver/software to enable the motors. 

  • The dispenser has been tested by continuously dispensing 10 decks of cards(1090 cards in total), and I was able to get a sub 2% error rate, lower than our required 5% error rate. Also, the latency of the dispensing itself is measured both by using the delays in the Arduino code as well as physically timing it. It is a bit slower than our design requirements, but we figured it is necessary to give enough delay in order to get a higher dispensing accuracy. This only hurts during the initial dealing phase since the latency of card dealing in the middle of the game is easily masked by the human latency of thinking and putting down the card they want, making it a minimal change to the players. 
  • After the addition of the IR sensor, we checked that the sensor is able to accurately pick up (no errors so far) whenever a card is dispensed. I will get official numbers on the accuracy by dispensing a bunch of cards and see how many times it mistakes a dispense. We want to make sure that this is accurate, probably close to 95~97% so that we deal the right number of cards to each player. This was not part of our initial design, so we don’t have any numbers promised. However, it should be considered as part of the dispenser accuracy, so combined 95% accuracy, or 6 mistakes/deck. This will let the users not get too distracted to fix the errors in the game state. 
  • Chassis rotation has been unofficially tested by using visual inspection, and we are confident that it will stay within +-10 degrees throughout the game, which is our design requirement. I will be setting up the actual testing environment next week by marking the middle of each side of the chassis and the base. Then throughout a game, I will check if the angle between the chassis mark and the base mark stay within our requirement using a protractor. This ensures the card dealt is relatively within the reach of each respective player, and +-10 degrees seems appropriate.

Thomas’s Status Report 3/30/2024

This week, I have gotten test data for our dispenser. Using a new deck, I have dispensed 10 decks in a row and written down how many times the dispenser was not able to dispense a card. The data suggested 24 errors / 1090 cards, which is about a 2% error rate. However, while using the dispenser to test out the hardware interface later, I noticed the error rate went back up by a lot. We believe this is due to the cards themselves gaining friction between each other due to hand oil and card wear and tear over time. I have tried making the card hole smaller to fit just one card, but that seemed to not dispense due to the cards not separating, further supporting our theory. We have come out with a new way to more quickly prototype different card holes by separating the front portion of the dispenser from the rest of the body, which will let us try out many different iterations over the next couple of weeks. 

I am still on schedule, since the rest of my schedule is dedicated to testing and helping others to integrate the full system. Next week, I want to keep testing the dispenser with the new prototyping mechanism we have built. Also, we would like to test out adding IR sensors in order to provide automatic feedback on whether the dispenser failed or succeeded in dispensing the card.

Thomas’s Status Report 3/23/2024

This week was another week of testing out and modifying the physical parts, mainly testing the dispenser, collecting data for classification, and reorganizing the things inside the chassis. We had some issues with the dispenser’s consistency last week, so we decided to change the material used from the O-rings to some silicon rubber bands. At least from the couple hundred cards we have tested after, we have seen an improvement in the amount of friction on the cards. Thus, we never have a case where no cards are being pushed out. It’s just 2 cards trying to leave the opening at the same time that get stuck. To address this problem, we currently have a new prototype in the way that with a larger opening this time, hoping that the 2 cards will leave instead of getting stuck. Picking up a card that was additionally dispensed seemed easier than having to get the stuck card out of the dispenser. The internals of the chassis are also reorganized to have less wire tangling.

The last couple of weeks starting this week are integration and testing. I have already finished all the physical parts that are needed, and all that is left is to test and make improvements to the system until we meet the requirements. Thus, I am on schedule. 

Next week, I will test out the new dispenser prototype, and help others collect data and test out the software parts too. Once the software interfaces are done, I could also test the accuracy of the chassis rotation next week as well.

Thomas’s Status Report for 3/16/24

This week was mostly dedicated to generating data, further testing out the dispenser, and making some physical enhancements. First, we finally got our rubber feet installed, which stops the bottom from moving or shaking while the chassis turns. In terms of the dispenser success rate, we struggled to get a good prototype and setup for a while, but at the end we figured out the dispenser’s lid should have some room with the cards. With this small fix, we were able to get around 90%+ success rate, which is getting a lot closer to our initial requirement. With the dispenser working, we were able to get some data from the top of the play stack and the bottom of the dispenser for Jason to modify and train the CNN.

I am currently on schedule, and the next couple of weeks will be basically extensive testing repeated multiple times. Next week, I will try performing full body integration testing, where we not only test the dispenser spitting cards out but also move the chassis as well.

Thomas’s Status Report for 3/9/2024

This week, I was able to finish up our second chassis prototype. It reduces a lot of vertical room in places that are not necessary, thus removing a lot of weight. Also, it fixed the stiffness in the chassis rotation by moving the stepper motor towards the center a little bit, reducing the amount of friction it was generating. 

For the dispenser, I was able to perform some testing with the new component that pushes down the cards for more friction to the wheels. Currently, it just has a bunch of coins inside as weights, but this will be replaced with calibration weights or different things that weigh about 150~200 grams. Even with this weight on top, the card jamming issue is still there, so we are also printing out a new prototype with a smaller opening. Hopefully, this will only let one card through the hole and prevent the second card from leaving. 

I am on schedule, with the rest of my 2~3 weeks left before integration being dedicated to testing the dispenser out and calibrating it. Next week will be mostly collaborating with David and Jason to get the dispenser working decently so that the data collection step can be mostly automated.

Thomas’s Status Report for 2/24/2024

I had a very productive week. We have received all parts and gears printed for the dispenser as well as the bottom chassis. We were able to test both of their functionalities. I assembled them while David wrote the drivers for each part. We were able to test and verify that the bottom chassis can rotate 90 degrees at a time, as well as the dispenser is able to dispense one card at a time fairly consistently. 

For the bottom chassis, I was making holes on the board using a laser cutter, but I had to go through multiple trials due to the machine’s calibration being slightly off. When we print further prototypes or the final one, we will make the holes while printing other things as well, so this is not too big of a problem. 

For the dispenser, we still have the gears for the servo motor that is in progress, but we manually rolled out a card and used the DC motor to shoot the card out further. It does get stuck here and there, but with more weight or force on top of the cards, we might be able to achieve our requirement pretty soon.

This puts me very ahead of the schedule. The only thing I would have to do is to make a couple more prototypes, verify that those work, and get some extensive testing on the dispensing and rotation of the chassis. 

My goal for next week is to start re-cutting a chassis that is closer to what we would use for the final design since we have made some changes in the design to cut weights and get rid of unnecessary parts of the chassis. For the dispenser, we will likely just use the current design and only print a new one if necessary. With these, if we have a barebone event loop, I would like to test the dispensing on top of the chassis as a stretch goal.

Thomas’s Status Report for 2/17/2024

A lot of the parts came in this week, so David and I tested the parts out together. We were able to check the battery output, buck converter output, Pi camera connections, as well as motor functionalities. In terms of personal tasks, I was able to create a rudimentary card dispenser model, and also 3D print it with the rollers so we could start calibrating the amount of pressure we might need on top of the cards, as well as making sure we could dispense one card at a time. We figured out that with smaller designs, the 3D printer was struggling to get precision, meaning I should insert more tolerance into the design starting from the next design. Also, I have started preparing for the design presentation, as I will be presenting this time. 

With the modified schedule, I am still on schedule. Instead of doing the lower body integration this week, I have been designing the upper body/card dispenser, scheduled to take about a week, which is what I have finished. This coming Tuesday, we will be ordering screws and some other missing parts. Once all of these arrive and have the gears 3D printed, we can start motor testing on the lower body while still prototyping with the dispenser which takes about half a day to print. I would like to get the lower body to turn by the stepper motor by the end of February according to the schedule.

Thomas’s Status Report 2/10/2024

The majority of this week was dedicated to learning how to use Onshape (CAD tool) and developing multiple CAD models of the lower case design. I imported all the relevant parts to determine the optimal size for the chassis when assembled, which is 25cm x 25cm x 20cm. This assembly includes the internal gear responsible for turning the entire body from the bottom. Subsequently, we laser cut and 3D printed the models to evaluate the most suitable materials for each component. Currently, we have decided to laser cut the entire body with wood and 3D print the gears. While laser cutting is feasible for the gears, 3D printing appears to be the better option considering the desired thickness. We also looked into metal gears, but they seem to be too pricey for the size we want.

I am currently on track, and depending on the parts delivery schedule for next week, I anticipate possibly shifting my focus to designing the upper body/card dispenser instead of assembly since we at least need the stepper motor and motor shield.

If I have the parts next week, I plan to test the stepper motor to verify its capability to handle the weight of the platform and possibly making the platform turn. If the parts do not arrive on time, I intend to have a preliminary design of the card dispenser in CAD and potentially 3D print it by end of next week.