Researchers at the University of Washington have created a digital tool to optimize the design and fabrication of woodworking projects by drawing inspiration from computing’s move to decouple hardware and software development. The resulting program, Carpentry Compiler, allows users to create a design, then find the best step-by-step, tool-specific instructions to bring the design to fruition. The compiler can generate and combine multiple fabrication processes to create one single design.
“To make a good design, you need to think about how it will be made,” senior author Adriana Schulz, a professor in the Allen School’s Graphics and Imaging Laboratory (GRAIL), explained in a UW News release. “Then we have this very difficult problem of optimizing the fabrication instructions while we are also optimizing the design. But if you think of both design and fabrication as programs, you can use methods from programming languages to solve problems in carpentry, which is really cool.”
Schulz and the team, which includes professor Zachary Tatlock and Ph.D. student Chandrakana Nandi of the Allen School’s Programming Languages & Software Engineering (PLSE) group, and Jeffrey Lipton, an adjunct professor at the Allen School, considered that a design is a sequence of geometric construction operations while fabrication is a sequence of physical instructions. They found that by drawing ideas from modern computer systems, they could optimize fabrication processes to improve accuracy while reducing fabrication time and material costs. To do so, they created Hardware Extensible Languages for Manufacturing, or HELM. The system combines a high-level language for designing the project and a low-level language for the process of building it. The researchers also designed a compiler to map the designs to all of the available fabrication plans. They made the architecture design extensible so that new fabrication hardware can be added.
Users of HELM can enter materials, parts and tools into the program, which then shapes the most optimal fabrication process based on what the carpenter has at the ready.
The compiler explores all of the possible combinations of instructions and uses programming to find the best directions for the project. One program might have the best process to make the roof of a bird house, the other the best way to build the rest of the house. The compiler will combine them to find the best directions for the project while enabling the user to make various design tradeoffs to suit their needs and preferences.
“The future of manufacturing is about being able to create diverse, customizable high-performing parts,” Schulz said. “Previous revolutions have been about productivity mostly. But now it’s about what we can make. And who can make it.”
Additional co-authors include visiting doctoral student Chenming Wu from Tsinghua University, and Allen School postdoctoral researcher in GRAIL Haisen Zhao. The team presented this research last month at SIGGRAPH Asia in Brisbane, Australia.
To learn more, read the full publication, “Carpentry Compiler,” watch the group’s video, and check out the related UW News release and coverage by TechCrunch and Popular Woodworking.