Project 11 : Group Machine Project
This week our section worked on machine making as a whole. We all decided to make an icing extruder. The overall details of the construction, main documentation and pictures are in this link .
I worked on the programming side of the project. The programming group covered a range of things: on one end Daniel worked on a great simple GUI that runs from the terminal and outputs a list of points; on the other end Tiffany was figuring out the details of how to give simple instructions to the machines directly. I worked on bridging the gap between the two: GUI output and machine instructions.
At first I considered what was needed to break down an instruction such as "extrude icing from point a to point b" into instuctions for each individual stpper motor. The following python script describes this process, with lower level machine instructions left to be filled up in functions:
Then when Daniel created his GUI, I was able to use his outputs for the creation of a toolpath. My initial assumption was that the GUI and script for running the machine were run seperately, and that the GUI output would be saved in a .txt file in a particular format : [[size1,[xpoint1,ypoint1],[xpoint2,ypoint2] ... ], [size1, ... ]].
I used regular expressions to read the output and then converted the entire list of points into a "toolpath" array: [x,x,y,z,Speed,Extrude], where Extrude is a boolean telling the machine whether or not to extrude on its way to the point:
Our section had serious issues with the running of the Gestalt nodes. When we finally had functionning nodes and tried running some tests, the motors were not moving in the direction intended for mysterious reasons: even a square shape failed. On top of that, we could not run the extruder node and everything else concurrently (seperately things seemed to work fine).
Hence the more complicated drawings from the GUI and the code snippets I wrote where not used for the class presentation as we could only run very basic demos.
Hopefully we will be able make eveything work by th end of the semester!