This summer I worked under Professor Robert Stuart-Smith on a project that involved 3D printing clay ceramics pieces with the use of a robot arm in the Penn Design Autonomous Manufacturing Lab (AML). My primary role in this project was to write a particle-spring physics-based material simulation in order to predict the final geometry of the prints. The simulation is written in Java and launches a Processing application window. The chains of particles and springs represent and behave like the clay being extruded from the robot arm’s syringe.
The development of the simulation involved a few discrete components. First, I had to create a physics environment for the simulation to take place. This involved making sure that the particles have properties like mass and volume and that the environment responded to forces from gravity, collisions, and springs. After the initial physical properties of the environment were set, the next step was to incorporate the material properties of clay. This meant incorporating sticking and stacking rules to allow the particles to emulate the physical properties of clay itself. Next, I constructed a n-sided low polygon mesh for the simulation which creates a clearer visual of the print’s final geometry and generates an output text file that can be imported into Rhino or other modeling software.
Up till now, the simulation imported a text file that contained equidistant waypoints, each at which a particle was created. Lastly, I introduced a dynamic flowrate toggle feature that responded to extruder speeds. This meant that while the simulation robot still travelled through all the waypoints, the particle printing was independent of the waypoint locations and relied solely on the trajectory speeds specified in the import file.
While programming a physics simulation initially seemed out of my comfort zone, through my time working on this project, I successfully accomplished this goal under the guidance of Professor Stuart-Smith and as a result, have written my most complex program. Writing such a multifaceted program from scratch required me to carefully think about my programming design, something I have not had to give as much attention in the past.
Having a background as both in visual arts and a programming, this was one of the first projects that allowed me to combine the two fields. While my work this summer was all coding, it required a level of visual literacy and attention to detail that drew on my training as a visual fine artist. This AML ceramics project has ambitions of printing art installations and architectural structures. In my time working on the project, I was working on a computational portion of a larger design-oriented goal. The creative atmosphere of my research was an exciting and distinctive environment which I enjoyed working in.
Overall, I am proud of the work that I have accomplished this summer under the AML team and have emerged as a more confident computer scientist. Working with the Penn Design’s Autonomous Manufacturing Lab and Professor Robert Stuart-Smith was a unique and eye-opening experience.