Eric Status Report – 5/4

This week, I worked closely with the rest of my team in order to optimize various aspects of the robot. Primarily working with Chris this week, I optimized the color picking algorithm of the robot even more, tested and redefined constants related to the locations of the paints and other items on the board, and helped expand zeroing capabilities in the other corners. In addition, I tested various parameters to use in our system and helped determine which to use, including the speed of the motors, the gap between fill-in strokes, and the brush width. I also edited the painting routine to add more instances where the robot zeros itself in order to account for drift. In addition to this, I helped fix various bugs and generally helped my teammates with whatever tasks they were working on. In the beginning of the week, I also spent time creating most of the final presentation powerpoint and preparing for my presentation of it. I oversaw many of the painting attempts of the robot, and recorded each painting instance to determine the time it took for each image. I also worked on putting the final demo poster together and wrote much of the content for it.

My progress is on schedule this week, as I and the rest of my team are in the final week of the project and are nearing completion of the entire project. As exhibited in the team status report, our robot has made significant improvements in painting, and we are happy with the state it is in currently. In the next few days, we will continue wrapping up several aspects of the project such as the UI and other small adjustments in order to finalize the for the public demo on Monday.

Harsh Status Report – 5/4

The first part of the week was spent on finishing the final presentation. After that, I started working on the GUI that we would present on public demo day. Initially, we manually put in a file path to an image and then it would pop up some windows to show what was being rendered. Since we wanted a more robust UI, I used Tkinter on Python to create a better interface. It now allows the user to navigate to a file of their choice, and it shows the original image, the segmented image, and the rendered image (image as it should look on the canvas) in a cleaner interface. After this, we were facing two main problems. The first one was that the pulleys weren’t aligned well, and it was causing our gantry to have variable resistance. This was causing our gantry to jam once in a while. We decided to print new pulleys with more screw holes to be able to center the shaft in the pulleys. The second problem we were facing was that the motors weren’t able to draw enough current through our motor board, since it’s only rated for 1A. We tried to overpower the board, but it wasn’t enough, so we’re exploring ways to solve this problem. I helped Chris with both these tasks. I did other small tasks such as creating a new metal water cup and spray painting it, as well as applying lubricant to the gantry.

I was on task this week. I was able to complete a basic UI that we can use to demo our project. I was also able to help Chris with other tasks involving optimization of the gantry. Before our demo, I will work with the team to center the pulleys correctly and fix the power problem to eliminate jamming.

Chris Status Report – 5/4

This week all of our efforts have been put into making the system more stable and consistent. This involved much trial and error and tampering with our system. I improved our color picking algorithm to also consider the color of neighbors when selecting a color to use. This prevents the output image from becoming too simple and uninteresting, allowing for a less perfect color to be used for the purpose of more contrast in the output image. Additionally, I changed our method for performing fill in strokes to perform large zig-zag strokes rather than individual lines, which allows for smoother operation and more continuous motion. The most important work done this week was related to power supply optimizations. We found that the issue of our motors jamming was due to insufficient power. After using a power supply with more current we found that the system was able to perform with almost no jams, and allowed us to produce a much clearer image. However, the higher power usage seemed to damage our stepper motor board and we were forced to use our backup. We are now very hesitant to use the higher power supply as it may destroy our last board. We are continuing to try to find other methods of powering the motors to circumvent our jamming issue, which is largely the only issue remaining that is preventing us from getting clean looking results.

Overall this week we have remained on schedule. We were able to produce a much higher quality image and have found ways  to address almost all of our issues. We are continuing to work on the power supply issues to hopefully eliminate the jamming problem and if we are successful in this our project will be in a much more complete state. Before our demo on Monday we hope to be able to produce a painted image for more complex image inputs and display a video of this during our demo.

Team Status Report – 5/4

This week, our team approached the completion of our project with numerous improvements, adjustments, and bug fixes. Our robot has significantly improved in nearly all aspects. For example, below is an image of the rocket ship that we were testing with our robot. Under it is a comparison image of what our robot drew last week, on the left, and what it drew this week, on the right.

As the image shows, our robot has made significant improvements in its drawing ability. Several bug fixes and algorithm optimizations has resulted in steadier strokes, a neater image, and a more cohesive final product. In addition, we have created a basic UI for selecting an image and seeing a rendered result, and are preparing videos, images, and other media for use in our public demo.

There are no significant risks remaining with our project, as we have mostly wrapped it up. Some small risks are that the robot still occasionally jams or drifts. We are addressing this by zeroing the gantry often to account for drift and by optimizing metrics and parameters to minimize the motors jamming. Jamming is somewhat inconsistent; there are times when long testing sessions will go without any jamming or issues. During other times, the robot will frequently jam and make errors. Nevertheless, we are doing our best to account for all the known issues of the robot and to ensure our public demo goes as smoothly as possible.

No significant changes were made to the design of the system. Several small additions or adjustments were made, such as testing different power supplies for our robot, adding tubes to allow the gantry to zero in all four corners, and using a thicker brush for broader strokes. No significant changes to our schedule have occurred, and we are rightfully in our last week of work with the completion of our robot on the horizon.