Ethan’s Status Report for 12/6

It is crunch time. This week I spent the most amount of time and accomplished the most on the project. Starting before the break I worked on the final presentation slides and did some small tweaks to the MVP pipeline code which included splitting the PDFs to the gantry size and sending the gcode to the motors. Then after Thanksgiving break, I worked early in the week on some physical optimizations to the physical hardware such as perfecting the lengths of the belts for the wheels and doing some wire management (hopefully more to come). Additionally I made more changes to the software pipeline such as fixing bugs with the splitting calculations, optimizing the gcode pathing algorithm, and cleaning up the website. I also helped with moving the code from our local computer to be hosted on the Raspberry Pi. Now the project is functional. There are still a few changes that can be made before demo day such as some hardware to limit the vibrations of the gantry and some extra UI/UX for the website, but the MVP is finished.

Next week, I will wrap up the project with the video, final website changes, and report.

Ethan’s Status Report for 11/22

This week the pressure was on to make lots of progress on the project. I spent most of the week fabricating the structure for the gantry. On Monday, I planned and cut the parts for the wooden board that will hold the gantry vertically. Then later in the week the entire group built the rest of the structure. This entailed drilling holes and attaching the wheel servo mounts, attaching the wheels via glue and timing belt, and attaching the gantry in place. Then on Saturday I worked on the software pipeline. This is currently our largest bottle neck since a lot of the libraries cannot create optimal svg or gcode. We’ve modified our approach to convert to a .png since it converts using the pixels for better readability, but this means that it will take a lot longer to draw if code is trying to recreate each pixel. I’ve tried multiple approaches including pre-processing using computer vision and post processing using some optimization libraries, none of which I have had much success with. I will look to continue working on this problem as well as make some minor mechanical changes to the system early next week.

After settling on the project idea back in September, I realized that I did not have much experience with any of the technologies that we were going to use for our project. Over the course of the past few months I’ve learned a lot about robotics, machine learning, and mechanics. Specifically, learning more about fabrication (3D printing, laser cutting) and different types of libraries that were relevant to the project. Often this learning was done by talking to people such as the Techspark student workers who were very gracious to give me suggestions on how to turn some of our structural ideas into reality. On the software side, I learned mostly through reading documentation perusing forums and chatrooms to see what approaches others had taken to achieve a similar outcome.

Team Status Report for 11/15

This week saw us begin to implement some of the last minute design changes to our project. Firstly, the team was able to place orders for the structural materials as well as the new rods for the increased gantry length. In the back half of the week we were able to modify our gantry which allowed us to strategize how we wanted to attach the new, longer gantry to the prefabricated cart. Our current idea is to have a large piece of sheet metal that runs along the inside edge of the cart of the same height as the gantry. This piece of sheet metal will secure bolts which are fastened to the gantry to mitigate movement and vibrations. The sheet metal which is above the top of the cart will be supported by metal beams to ensure it stays upright. We plan to get an expert opinion on this structure from Ed at Techspark who may help in fabricating our design.

Additionally, we have made progress on the software pipeline. During the interim demo we had issues with the svg to gcode conversion. We have root caused the issue and have determined that the pdf to svg conversion is not always consistent between different pdfs. For example, the svg for images and text differs and our gcode conversion only currently works for some svg for images. Debugging this has been a work in progress and we are debating pivoting to other file types or trying to modify the pdf such as compressing it before converting it to svg. As the final deadline approaches the group may have to pivot to only having functionality for certain hand-selected files.

Finally, one of the comments we received from the teaching staff revolved around the speed of which the gantry draws. Currently small images can take substantial periods (4+ minutes). We look to remedy this by converting many “arc” drawing types to more “line” drawing types to increase the speed. This will have to get implemented after the svg to gcode is functioning on a more consistent basis.

Verification methods for subsystems are below:

  • Website PDF to SVG: Upload PDFs with a variety of text, images, or both and view SVG output to determine effectiveness
  • SVG to Gcode: Take a variety of SVG files and determine the Gcode output is viable for our system/
  • Motor control: Use working Gcode files to evaluate motor precision and speed.

Validation methods:

  • Run tests with a variety of pdfs with images, text, or both to determine effectiveness of the system.

Ethan’s Status Report for 11/15

The only work I did early in the week was prepare for the interim demos. This included making a list of talking points and details that I wanted to share with the instruction staff. This work was not particularly difficult or time consuming, but it was necessary to ensure I remained within the demo time limit while conveying all the necessary information.

In the back half of the week the team started getting in parts necessary for the structure of the gantry. On Friday, Andrew and myself were able to increase the length of the gantry with the new 1200mm rods. The reason for this change was highlighted in last week’s team report. Additionally, the prefabricated cart arrived which allowed everyone to start planning how to attach our gantry securely to the cart. More details on this in this weeks team report.

Looking forward to next week, I want to be able to finish the structure with the gantry on it. This will allow us to start testing the wheels and the pdf splicing software.

Ethan’s Status Report for 11/8

This week I played a lot of catchup in preparation for the interim demo. Early in the week I finished 3D printing the necessary parts and helped Andrew assemble some of the gantry. The gantry assembly was finished on Wednesday, which allowed me to test the PDF to SVG file converter that I started this week. Then I integrated Andrew’s local host website on the Flask server with my converted to allow for PDF uploads to the site and convert them to SVG automatically. The original intention was to host the site and do the SVG conversion on the Raspberry Pi 5, but we had some hiccups connecting to the Pi which needs some further evaluation. This means I had to change our approach for the demo and make the code be able to work on one of our team members’ computers instead.

Looking forward to next week, assuming the interim demo goes as planned, I will make changes to the existing gantry design. For the demo we plan to have the gantry functional horizontally so some modified parts are required for vertical drawing. Additionally, I want to order the parts for the structure which can hopefully arrive and start assembly in the back half of the week or the start of the week after.

Ethan’s Status Report for 11/1

This week did not go to plan. I acquired the 3D printed parts along with the laser cut parts I made last week. However, upon starting the construction of the gantry we ran into some issues. Notably the laser cut parts did not fit with the 3D printed parts. Therefore, we had to pivot back to 3D printed parts. This means we had to place an order for 3D printer filament which arrived very late in the week. That same day I started printing some of the parts that needed to be replaced. However, this is very time consuming since Techspark only has one 3D printer that can be used if you bring your own filament. Therefore, I had to strategically print batches such that the printer was going over night. At the time of this post 5 of 7 of the necessary parts are printed. Therefore, assuming no other hiccups the construction will be done on Monday. This allows for us to have enough time to test our code on the gantry for interim demo.

Looking toward next week I will be finish 3D printing the rest of the necessary parts and assemble the gantry. Then I will switch over to the software side in order to prepare for the demo. I will also order the parts for the structure once the gantry is assembled.

Ethan’s Status Report for 10/25

Once again, I was not able to get as much done as I wanted this week. My primary goal was to fully construct the gantry system, however I ran in to a few obstacles. The primary setback was finding out that 3D printing some gantry at Techspark was expensive and that I needed to find an alternative. I was able to pivot and laser cut some of the 3D printed pieces using plywood in the later part of the week (with the help of Andrew), but not after using a faulty laser cutter, wasting material and budget. Additionally, some of the parts are required to be 3D printed so Alex and I were able to find a friend who was willing to 3D print the parts for us for no cost, but they would not be ready until Sunday (10/26) at the earliest.

At this point, I am behind schedule. It was planned that the construction of the gantry system would be complete this week. However, assuming I can get the 3D printed parts early next week, I think it is possible to complete the gantry system construction and move on to the software side of the project while beginning to purchase the base and structure that will house the gantry.

Team Status Report for 10/25

This week was all about overcoming challenges. We finalized the pre-fabricated cart that we will use for the base of our structure. That cart is not perfect due to our budget constraints and will need some modifications such as removing the upper cage and creating attachments for the vertical T-slot beams. Additionally, the original plan to 3D print many gantry parts was changed due to budget constraints. The team opted to go for laser cut parts instead which took longer than it should have to get cut due to many attempts on a faulty laser cutter.

In more positive news, all of the parts for the motors (power supply, steppers, etc) have arrived and code has started being written. We hope to have the motors functional for the gantry system when it is built, which hopefully this week. This would allow us to focus on the pathing and conversion scripts. Our plan for the interim demo is to showcase the fully working gantry system with some standalone horizontal and vertical movement and begin integration after.

Other than finalizing the cart, there are no large design changes this week. We are a little behind our schedule, but if the gantry is able to come online this upcoming week, we think we are still in a decent spot to have our goal for the interim demo achieved.

Team Status Report for 10/18

This week’s focus for us was to incorporate the feedback we received from the design presentation. We decided to refine our system design. The significant thing that we decided to change was adding the wheels back into our gantry design so our gantry can move horizontally. Before this week, we had taken out the wheels since we had a budget constraint. After some research, we potentially found a more affordable option by using a premade wagon base.

Progress was made on both software and hardware this week as well. On the software side, we continued to work on the file upload and parsing. We were able to continue testing the PDF conversion to G-code. On the hardware side, the part orders were finalized and  we began preparing for motor setup and control testing. Most of the ordered components have arrived. As a result, next week will focus heavily on system integration.

We plan to get the motors running. We will also begin integrating the software upload with the hardware control system to start full end-to-end testing. While we’re slightly behind schedule due to the design revisions, but hopefully the updated plan puts us in good position to catch up quickly.

Part A was written by Alex

Our project has the potential to create impact on a global scale. For one, it has potential for use in any academic institution around the world. The technology would be easily adaptable and can theoretically transcribe any PDF, meaning regardless of language or location, it would still work. It is also cheaper and more transportable than the systems it replaces, like classroom projectors. It also integrates well with whiteboards or chalkboards, which are common around the world. We also hope to make it easy to use, meaning anyone, even those with limited technical knowledge should be able to make use of it.

Part B was written by Ethan

The project at a glance does not seem to have any major cultural considerations, but even at a small scale any sort of automation can have a cultural impact as to some extent, someone’s job is being done by a machine. Our intentions with the project is not to automate someone’s job, but instead be a tool to help teachers, presenters, and companies focus on the important parts involving putting text or diagrams on a whiteboard, getting the their point across and having the content being easily editable.

From a larger perspective this project strengthens the wider movement of automation in many aspects of industry. The subject of automation is still quite divisive to many, and our project further encourages using machines and to an extent, robots, in front of a very impressionable group, children.

Part C was written by Andrew

From an environmental standpoint, our gantry will be drawing directly on whiteboards and other reusable surfaces, in classrooms and meeting spaces, so that means there’s no need to use paper copies of diagrams, which helps reduce paper waste over time. The hardware also runs on low power with the Raspberry Pi and Arduino using potentially less energy than a projector would. We also will be 3D printing some of our own parts in Techspark which helps limit shipping and packaging waste.

Ethan’s Status Report for 10/18

This week was once again a slower week in terms of personal progress due to being right after the design presentations. However, the feedback from the presentations was valuable. This motivated the work I did this week which included ordering of gantry parts, ideating a new, less expensive wheel based system for the gantry stand, and completing the Design Report.

Previously the team scrapped the wheels to due the cost for our original design being too high, but the new design uses a pre-fabed, low cost metal wagon that we are going to modify (more details in this weeks team report). Therefore, I will have to modify the CAD to account for the changes to the design once we get them finalized and approved by the teaching staff.

This sets me up to start 3D printing parts and assembling the gantry the week after break. Additionally, with the changes to the gantry stand, I may start ordering the stand parts and modifying the CAD if the feedback from the teaching staff about the change is positive.