Chris Status Report – 4/27

This week all of our efforts were put toward getting the project into a demo-able state. The beginning of the week involved implementing the redesigned carriage attachments. The new design worked much better, and allowed for the belts to remain mostly parallel with the board which seemed to help performance. They are also much more sturdy, easier to detach from the gantry, and easier to mount the belts onto. Overall this redesign was a major success and contributed massively towards getting the gantry in a more consistent operating state.

Beyond adding the new carriage designs, I worked closely with Eric to develop a new demo script which would allow us primary access to all of the gantry control functions, including moveTo, zeroing the gantry, and pigment selection. This enabled us to test the consistency of grabbing pigment and moving to set coordinates on the board, and extensively test the gantry and make needed improvements to our constants related to step size as well as improve the overall logic of our gantry control routines. This also exposed some glaring issues to us; mainly that the gantry will fail to move in one of the axes directions quite often. This seems to be an issue of the motor not being capable of turning, not any software issues. This requires further attention, but modifications were made to the design to try to control this as much as possible. This included adding tubing on the bars to prevent the paint head from being to travel to one of the corners, allowing us a much safer method of zeroing the gantry to that location. This will allow us to mediate drift, but the issue of the motors not moving at all still needs to be addressed.

Eric and I also worked on improving the color selection algorithm as we noted that there were times when very poor decisions would be made. This was mostly on black and white colors, and also red which is a special case in the HSV encoding, as this is the color where the values wrap around. These improvements helped dramatically, and the output is a very close match to the source image. I also developed a more true main function, which takes an input image, segments it, and renders it back to the user in our palette colors. After this point the image is painted for the user.

Despite the issues noted above, we were able to begin painting with our robot. We used one of our simple test images composed of 6 shapes of different colors. We were able to demonstrate the ability of the robot to paint a single shape at a time in the desired color. The results are currently inconsistent, but this is the next issue for us to address.

Overall this week I was able to remain on schedule, and make up for some slight deviations in last week. My goal for the following week is to make improvements to the performance of the gantry to allow for more consistent control. This may involve adding lubricant on the axes or increasing the power supplied to the motors to overcome whatever is preventing them from turning. In addition to this, I also aim to continue working on the software for controlling the paint head, to improve the routines for drawing strokes to be more concise in the movements made as well as to properly zero the head during operation.

Leave a Reply

Your email address will not be published. Required fields are marked *