KnitScript: A Domain-Specific Scripting Language for Advanced Machine Knitting

Knitting machines can fabricate complex fabric structures using robust industrial fabrication machines. However, machine knitting’s full capabilities are only available through low-level programming languages that operate on individual machine operations. We present KnitScript, a domain-specific machine knitting scripting language that supports computationally driven knitting designs. KnitScript provides a comprehensive virtual model of knitting machines, giving access to machine-level capabilities as they are needed while automating a variety of tedious and error-prone details. Programmers can extend KnitScript with Python programs to create more complex programs and user interfaces. We evaluate the expressivity of KnitScript through a user study where nine machine knitters used KnitScript code to modify knitting patterns. We demonstrate the capabilities of KnitScript through three demonstrations where we create: a program for generating knitted figures of randomized trees, a parameterized hat template that can be modified with accessibility features, and a pattern for a parametric mixed-material lampshade. KnitScript advances the state of machine-knitting research by providing a platform to develop and share complex knitting algorithms, design tools, and patterns.

Megan Hofmann, Lea Albaugh, Tongyan Wang, Jennifer Mankoff, Scott E. Hudson: KnitScript: A Domain-Specific Scripting Language for Advanced Machine Knitting. UIST 2023: 21:1-21:21

https://youtube.com/watch?v=emV3xNVlg-0%3Fsi%3DLOM1EWRCmhcnzQJY

Domain Specific Metaheuristic Optimization

For non-technical domain experts and designers it can be a substantial challenge to create designs that meet domain specific goals. This presents an opportunity to create specialized tools that produce optimized designs in the domain. However, implementing domain specific optimization methods requires a rare combination of programming and domain expertise. Creating flexible design tools with re-configurable optimizers that can tackle a variety of problems in a domain requires even more domain and programming expertise. We present OPTIMISM, a toolkit which enables programmers and domain experts to collaboratively implement an optimization component of design tools. OPTIMISM supports the implementation of metaheuristic optimization methods by factoring them into easy to implement and reuse components: objectives that measure desirable qualities in the domain, modifiers which make useful changes to designs, design and modifier selectors which determine how the optimizer steps through the search space, and stopping criteria that determine when to return results. Implementing optimizers with OPTIMISM shifts the burden of domain expertise from programmers to domain experts.

Megan Hofmann, Nayha Auradkar, Jessica Birchfield, Jerry Cao, Autumn G. Hughes, Gene S.-H. Kim, Shriya Kurpad, Kathryn J. Lum, Kelly Mack, Anisha Nilakantan, Margaret Ellen Seehorn, Emily Warnock, Jennifer Mankoff, Scott E. Hudson: OPTIMISM: Enabling Collaborative Implementation of Domain Specific Metaheuristic Optimization. CHI 2023: 709:1-709:19

https://youtube.com/watch?v=wjQrFeLbOiw%3Fsi%3DkMTxEkEBjoUrQDJ3

Making a Medical Maker’s Playbook: An Ethnographic Study of Safety-Critical Collective Design by Makers in Response to COVID-19

Megan Hofmann, Udaya Lakshmi, Kelly Mack, Rosa I. Arriaga, Scott E. Hudson, and Jennifer Mankoff. Making a Medical Maker’s Playbook: An Ethnographic Study of Safety-Critical Collective Design by Makers in Response to COVID-19. Proc. ACM Hum. Comput. Interact. 6(CSCW1): 101:1-101:26 (2022).

We present an ethnographic study of a maker community that conducted safety-driven medical making to deliver over 80,000 devices for use at medical facilities in response to the COVID-19 pandemic. To achieve this, the community had to balance their clinical value of safety with the maker value of broadened participation in design and production. We analyse their struggles and achievement through the artifacts they produced and the labors of key facilitators between diverse community members. Based on this analysis we provide insights into how medical maker communities, which are necessarily risk-averse and safety-oriented, can still support makers’ grassroots efforts to care for their communities. Based on these findings, we recommend that design tools enable adaptation to a wider set of domains, rather than exclusively presenting information relevant to manufacturing. Further, we call for future work on the portability of designs across different types of printers which could enable broader participation in future maker efforts at this scale.

Maptimizer

Megan HofmannKelly MackJessica BirchfieldJerry CaoAutumn G. HughesShriya KurpadKathryn J. LumEmily WarnockAnat CaspiScott E. Hudson, Jennifer Mankoff:
Maptimizer: Using Optimization to Tailor Tactile Maps to Users Needs. CHI 2022: 592:1-592:15 [pdf]

Tactile maps can help people who are blind or have low vision navigate and familiarize themselves with unfamiliar locations. Ideally, tactile maps are created by considering an individual’s unique needs and abilities because of their limited space for representation. However, significant customization is not supported by existing tools for generating tactile maps. We present the Maptimizer system which generates tactile maps that are customized to a user’s preferences and requirements, while making simplified and easy to read tactile maps. Maptimizer uses a two stage optimization process to pair representations with geographic information and tune those representations to present that information more clearly. In a user study with six blind/low-vision participants, Maptimizer helped participants more successfully and efficiently identify locations of interest in unknown areas. These results demonstrate the utility of optimization techniques and generative design in complex accessibility domains that require significant customization by the end user.

A system diagram showing the maptimizer data flow setup. The inputs are geography sets, representations options, and user preferences. Geography types and representation options are paired and tuned using an optimizer. The output is a tactile map.

Computational Design of Knit Templates

We present an interactive design system for knitting that allows users to create template patterns that can be fabricated using an industrial knitting machine. Our interactive design tool is novel in that it allows direct control of key knitting design axes we have identified in our formative study and does so consistently across the variations of an input parametric template geometry. This is achieved with two key technical advances. First, we present an interactive meshing tool that lets users build a coarse quadrilateral mesh that adheres to their knit design guidelines. This solution ensures consistency across the parameter space for further customization over shape variations and avoids helices, promoting knittability. Second, we lift and formalize low-level machine knitting constraints to the level of this coarse quad mesh. This enables us to not only guarantee hand- and machine-knittability, but also provides automatic design assistance through auto-completion and suggestions. We show the capabilities through a set of fabricated examples that illustrate the effectiveness of our approach in creating a wide variety of objects and interactively exploring the space of design variations.

Benjamin JonesYuxuan MeiHaisen ZhaoTaylor Gotfrid, Jennifer Mankoff, Adriana Schulz:
Computational Design of Knit Templates. ACM Trans. Graph. 41(2): 16:1-16:16 (2022)

Four pink knit dresses mounted on four mannekins. each showing different styles of neckline and skirt. Behind each dress is the pattern used to create that dress. The shape of the quads in the pattern demonstrate their relationship to typical knitting patterns -- for example a collar knit in the round has quads that narrow as they go up.

Our interactive design system helps users explore key design axes for knitting to generate highly customized patterns from input shape templates; e.g., a seamless yoke dress with princess-cut apparent seams (a), and drop shoulder dresses with textures on the arms and skirt (b–d). The output of our system is a knit pattern template that lets users vary the shape while preserving the design, for example, creating a child’s dress with short sleeves (d) that matches an adult dress (b), or varying skirt texture and angle, and sleeve knitting direction (c). The system guarantees that all results and variations are machine knittable.

A diagram showing four differently shaped duck faces (a) which all have the same mesh, which can react easily to different shapes by adjusting quad shapes. The final product of a duck with a short, and a long, snout, is shown knitted in lavendar at the right.

Overview of our framework. (a) Triangle meshes from a parametric template (the system deals with a single mesh at a time). (b) Input triangle mesh with user annotations of composition, layout, and direction guidelines. (c) Generated quad mesh patches, which are consistent across template variations. (d) Quad mesh annotated for knitting the body tube in the round using short rows to curve the tube. Blue lines indicate seams. The same design applies to all template variations (two shown here). (e) Duck knit with short rows. (f ) Quad mesh annotated with different textures and orientations; the body is knit as seamed sheets with decreases. (g) Duck knit with textures and a large head from template (f ).

Megan Hofmann

Megan is a Phd Student at the Human Computer Interaction Institute at Carnegie Mellon Unviversity. She is advised by Prof. Jennifer Mankoff of the University of Washington and and Prof. Scott E. Hudson. She completed her bachelors in Computer Science at Colorado State University in 2017. She is an NSF Fellow, and a Center for Machine Learning and Health Fellow. During her Undergraduate degree Megan’s research was adviced by Dr. Jaime Ruiz and Prof. Amy Hurst.

Her research focuses on creating computer aided design and fabrication tools that expand the digital fabrication process with new materials. She uses participatory observation and participatory design methods to study assistive technology and digital fabrication among many stakeholder (people with disabilities, caregivers, and clinicians).

Visit Megan’s homepage at https://www.megan-hofmann.com/publications/.

Research

Some recent projects (see more)

KnitGIST: Generative Texture Design

Hofmann, M., Mankoff, J., & Hudson, S. E. (2020, October). KnitGIST: A Programming Synthesis Toolkit for Generating Functional Machine-Knitting Textures. In Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology (pp. 1234-1247).

Automatic knitting machines are robust, digital fabrication devices that enable rapid and reliable production of attractive, functional objects by combining stitches to produce unique physical properties. However, no existing design tools support optimization for desirable physical and aesthetic knitted properties. We present KnitGIST (Generative Instantiation Synthesis Toolkit for knitting), a program synthesis pipeline and library for generating hand- and machine-knitting patterns by intuitively mapping objectives to tactics for texture design. KnitGIST generates a machine-knittable program in a domain-specific programming language.

KnitPick: Manipulating Texture

Knitting creates complex, soft objects with unique and controllable texture properties that can be used to create interactive objects. However, little work addresses the challenges of using knitted textures. We present KnitPick: a pipeline for interpreting pre-existing hand-knitting texture patterns into a directed-graph representation of knittable structures (KnitGraphs) which can be output to machine and hand-knitting instructions. Using KnitPick, we contribute a measured and photographed data set of 300 knitted textures. Based on findings from this data set, we contribute two algorithms for manipulating KnitGraphs. KnitCarving shapes a graph while respecting a texture, and KnitPatching combines graphs with disparate textures while maintaining a consistent shape. Using these algorithms and textures in our data set we are able to create three Knitting based interactions: roll, tug, and slide. KnitPick is the first system to bridge the gap between hand- and machine-knitting when creating complex knitted textures.

KnitPick: Programming and Modifying Complex Knitted Textures for Machine and Hand Knitting, Megan Hofmann, Lea Albaugh, Ticha Sethapakdi, Jessica Hodgins, Scott e. Hudson, James McCann, Jennifer Mankoff. UIST 2019. The KnitPick Data set can be found here.

A picture of a knit speak file which is compiled into a knit graph (which can be modified using carving and patching) and then compiled to knitout, which can be printed on a knitting machine. Below the graph is a picture of different sorts of lace textures supported by knitpick.
KnitPick converts KnitSpeak into KnitGraphs which can be carved, patched and output to knitted results
A photograph of the table with our data measurement setup, along with piles of patches that are about to be measured and have recently been measured. One patch is attached to the rods and clips used for stretching.
Data set measurement setup, including camera, scale, and stretching rig
A series of five images, each progressively skinnier than the previous. Each image is a knitted texture with 4 stars on it. They are labeled (a) original swatch (b) 6 columns removed (c) 9 columns removed (d) 12 columns removed (e) 15 columns removed
The above images show a progression from the original Star texture to the same texture with 15 columns removed by texture carving. These photographs were shown to crowd-workers who rated their similarity. Even with a whole repetition width removed from the Stars, the pattern remains a recognizable star pattern.

Digital Fabrication in Medical Practice

Maker culture in health care is on the rise with the rapid adoption of consumer-grade fabrication technologies. However, little is known about the activity and resources involved in prototyping medical devices to improve patient care. In this paper, we characterize medical making based on a qualitative study of medical stakeholder engagement in physical prototyping (making) experiences. We examine perspectives from diverse stakeholders including clinicians, engineers, administrators, and medical researchers. Through 18 semi-structured interviews with medical-makers in US and Canada, we analyze making activity in medical settings. We find that medical-makers share strategies to address risks, define labor roles, and acquire resources by adapting traditional structures or creating new infrastructures. Our findings outline how medical-makers mitigate risks for patient safety, collaborate with local and global stakeholder networks, and overcome constraints of co-location and material practices. We recommend a clinician-aided software system, partially-open repositories, and a collaborative skill-share social network to extend their strategies in support of medical making.

“Point-of-Care Manufacturing”: Maker Perspectives onDigital Fabrication in Medical Practice. Udaya Lakshmi, Megan Hofmann, Stephanie Valencia, Lauren Wilcox, Jennifer Mankoff and Rosa Arriaga. CSCW 2019. To Appear.

A venn diagram showing the domains of expertise of those we interviewed including people from hospitals, universities, non-profits, va networks, private practices, and government. We interviewed clinicians and facilitators in each of these domains and there was a great deal of overlap with participants falling into multiple categories. For example, one participant was in a VA network and in private practice, while another was at a university and also a non-profit.

Designing in the Public Square

Design in the Public Square: Supporting Cooperative Assistive Technology Design Through Public Mixed-Ability Collaboration (CSCW 2019)

Mark. S. Baldwin, Sen H Hirano, Jennifer Mankoff, Gillian Hayes

From the white cane to the smartphone, technology has been an effective tool for broadening blind and low vision participation in a sighted world. In the face of this increased participation, individuals with visual impairments remain on the periphery of most sight-first activities. In this paper, we describe a multi-month public-facing co-design engagement with an organization that supports blind and low vision outrigger paddling. Using a mixed-ability design team, we developed an inexpensive cooperative outrigger paddling system, called DEVICE, that shares control between sighted and visually impaired paddlers. The results suggest that public design, a DIY (do-it-yourself) stance, and attentiveness to shared physical experiences, represent key strategies for creating assistive technologies that support shared experiences.

A close-up of version three of the CoOP system mounted to the rudder assembly and the transmitter
used to control the rudder (right corner).
Shows 5 iterations of the CoOP system, each of which is progressively less bulky, and more integrated (the first is strapped on for example and the last is more integrated).
The design evolution of the CoOP system in order of iteration from left to right.