The End of GCode
Intelligent Modular Machines with Model Based Control
Abstract
The making, maintenance and use of digital fabrication machines is a core competency for industrial economies. However, innovation in this domain is hampered by the pervasive use of GCode: an antiquated interface between machine users and machine controllers. GCode only permits one-way data transfer and prevents us from smoothly crossing the boundary between high- and low-level planning and control tasks even though those tasks have deep physical connections. This makes it difficult to develop new machines, train new operators, and educate new machine designers. This thesis develops a feedback-native control architecture and applies it to machines that can think about what they are doing, providing new insights for their operators and designers.
The architectural contributions rebuild machine controllers as modular hardware and software systems at three layers: networks, programs, and frameworks. The Open Systems Assembly Protocol (OSAP) is a network for low-latency message passing, clock synchronization and device discovery across heterogeneous devices and data links. It establishes a distributed operating system that spans high- and low-level devices. To write programs for these systems I contribute PIPES (Programming in Piped EcoSystems) to combine dataflow for real-time operation with scripting for machine tasking; it enables global discovery and configuration of systems. Finally I contribute MAXL (Modular Acceleration eXecution Library) to describe and deploy core motion control routines as dataflow modules.
Articulating machine control as a constrained optimization task unlocks performance and simplifies workflows. My architectural contributions enable the development of machines that learn their own constraints by fitting models of their dynamics. I contribute a velocity planner that uses motion models directly to optimize machine speed and show that it out-performs the state-of-the-art and extend it using new models for 3D printing physics that are fit to almost any material or nozzle using computational metrology. I contribute a 3D printing workflow that is based on feedback from these physics rather than feedforward parameter tuning and deploy it on a modified state-of-the-art printer. Using this workflow, I can automatically operate the printer with performance that is comparable to or exceeds the state-of-the-art. This enables us to print in new materials, better understand how machine physics relate to machine performance, tune controllers directly against constraints, continuously improve models, and monitor errors.
To show that these contributions generalize across machines and processes I develop a milling machine using model-based motor selections and motion control. Operation of this machine shows that we can predict important control outcomes before we run jobs and measure cutting forces by combining model predictions with real world data.
With these contributions, machine controllers are no longer black boxes; they are distributed algorithms made of recognizable software design patterns and operated via physical models rather than tacit knowledge and heuristics. If they are adopted, we could enable the next generation of engineers and scientists to rapidly invent, modify and deploy novel machine systems as they work through the coming decades’ pressing issues.
Committee Members
Neil Gershenfeld
Director, Center for Bits and Atoms
Massachusetts Institute of Technology
Nadya Peek
Associate Professor, Human Centered Design and Engineering
University of Washington
Jon Seppala
Director, nSoft Consortium
National Institute of Standards and Technology