KnitScript:用于高级机器编织的领域特定脚本语言
作者
桌面3D打印与个人制造电路制作与硬件原型创客(Maker)与DIY爱好者工艺师(纺织、陶瓷等)
文献标题
KnitScript: A Domain-Specific Scripting Language for Advanced Machine Knitting
文献信息
- 主题领域: 计算机科学、用户界面、机器编程、数字制造与纺织
- 关键词: KnitScript, 领域特定语言, 机器编织, 数字化纺织, 设计工具, 编程语言, 用户研究, 编织算法
研究背景与问题
-
问题与挑战:
- 工业编织机虽然具有强大的制造能力,但编程复杂,需要通过低层次的指令语言(如Knitout)操控,极易出错。
- 常用设计工具有限,缺乏高级编程功能,设计空间受限。
- 对开发通用编程语言支持机器编织的需求未被满足:既需要低层次控制,又要成为支持共享复杂算法和设计工具的平台。
-
重要性:
- 机器编织对医疗设备、可穿戴技术、柔性机器人和新型材料的开发具有重要意义。
- 填补快速设计和工业制造之间的设计工具和流程鸿沟有助于推动更广泛的电子纺织品的采用。
-
研究动机与相关工作:
- Knitout等低级指令语言虽然灵活,但缺乏丰富的编程结构,开发复杂设计困难。
- 现存的编织设计工具多专注于可视化或特定设计技术,覆盖设计空间有限。
- 需要一个中介工具,既能统一串联机器语言,又简化复杂操作。
解决方案
-
方法或解决方案:
- 提出"KnitScript",一种领域特定的脚本语言,用于编写和生成机器编织指令。
- KnitScript基于Knitout的能力并进行扩展,支持变量、作用域、函数等编程结构,同时提供自动资源管理(如载纱器管理)。
-
创新点:
- 构建了针织机的虚拟模型和针织图。
- 引入了可迭代的高层编织抽象(如“针织片”,“浮线管理”,“多层结构”)。
- 减少了手动处理低层次机器操作的复杂性,同时保证灵活性。
- 使用与Python兼容的扩展接口,实现程序与复杂逻辑的分离。
- 自动识别和处理常见错误(如操作冲突、超限)并提供警告。
-
实施步骤与关键技术:
- 设计一个解释器维护机床与织物的状态。
- 设计抽象语法(如Sheets和Layers)来支持多层复合针织技术,将机器操作封装至语言内部。
- 集成Python作为扩展工具支持与传统脚本语言的互操作性。
研究成果
-
具体成果:
- 语言开发: 设计了KnitScript语言及其解释器,支持丰富的高层抽象。
- 功能验证: 使用自动化生成的程序实现了从简单编织(如线性图案)到复杂图案(如随机树形状)等案例。
- 用户研究: 通过对9名机器编织程序员的用户研究,证实了KnitScript更易用、更易扩展。
-
与现有解决方案比较的优势:
- 相比低级指令语言(如Knitout)减少了繁琐的编码工作,提升了抽象能力。
- 相对通用编程语言(例如结合Python代码的Knitout),不仅行数减少,更便于用户跟踪设计逻辑和调试。
- 支持跨平台:与现有工具链和Knitout标准兼容。
-
实验或评估结果:
- 实验对比: KnitScript代码行数比现有替代方案减少显著(如生成简单方格,KnitScript需20行代码,而其他方案需要85或更多)。
- 用户反馈: 参与者普遍认为KnitScript能减少重复劳动,同时支持复杂设计调整。
- 时间效率: 实验表明用户在理解语言后可在短时间内完成从模式调整到生成效果图的环节。
-
局限性与未来方向:
- 当前缺乏完整的调试器和对象抽象功能,对复杂设计(例如几何条件约束)支持有限。
- 未来需要优化KnitScript的可视化能力以帮助更广泛的人群采用。
- 探索集成更多设计标准,打造全面的CAD—CAM生态,进一步增强系统适用的复杂性和通用性。
该研究展示了KnitScript在提升机器编织效率与设计共享能力方面的潜力,提供了一个面向研究者与开发者的新平台,同时指出了未来研究的多条方向。
研究问题 / 现实痛点
这篇论文在当前问题库中对应的问题线索。
help
研究问题
3- 如何设计一种易于操作且兼容的编程语言,支持机器编织的复杂算法和设计工具?分类: 符号化编程与代码-图示混合输入同类问题arrow_forward
- KnitScript如何简化机器编织操作的复杂性,同时保持设计灵活性?分类: 符号化编程与代码-图示混合输入同类问题arrow_forward
- 用户在使用KnitScript时能否比传统编程语言更高效地完成复杂设计任务?分类: 符号化编程与代码-图示混合输入同类问题arrow_forward
lightbulb
现实痛点
1- 工业编织机编程门槛高,现有设计工具有限,难以支持复杂设计。分类: 符号化编程与代码-图示混合输入同类问题arrow_forward
- 80%
火柴棍:通过即兴数字制造进行木工
CHI '18· 桌面3D打印与个人制造 +2
- 75%
RFIBricks:基于RFID的互动建筑积木
CHI '18· 桌面3D打印与个人制造 +1
- 75%
PEP(3D打印电子纸工艺):一种用于3D雕塑纸质电子设备的综合方法
CHI '18· 桌面3D打印与个人制造 +1
- 75%
虚拟组件:一种用于设计和调整实验板电路的混合现实工具
CHI '19· 桌面3D打印与个人制造 +1
- 75%
测量模式:面向用户处理制造过程中测量和尺寸的策略
CHI '23· 桌面3D打印与个人制造 +1
- 75%
Vespidae:用于开发数字制造工作流程的编程框架
DIS '23· 桌面3D打印与个人制造 +1
- 75%
可编程线材:用于多材料3D打印的打印线材
UIST '20· 桌面3D打印与个人制造 +1
- 60%
制作这!使用Arduino进行电子原型设计介绍
CHI '18· 桌面3D打印与个人制造 +1
- 60%
PHUI-kit:曲面3D打印对象的界面布局和制造
CHI '18· 桌面3D打印与个人制造 +1
- 60%
增强制造终端用户设计师的障碍
CHI '19· 桌面3D打印与个人制造 +1
基于研究子主题与职业分类的 Jaccard 相似度(≥60%)
快捷操作
广告推荐
学习 AI 编程到 CodeNow
open_in_new打开DOI链接
DOI: https://doi.org/10.1145/3586183.3606789
一眼看懂
fact_check论文快照
dataset
来源
UIST
calendar_month
年份
2023
emoji_events
奖项
未标记奖项
group
作者
5 位作者
sell
研究子方向
桌面3D打印与个人制造、电路制作与硬件原型
work
职业/产业
创客(Maker)与DIY爱好者、工艺师(纺织、陶瓷等)
article
内容状态
已索引正文
hub
相关论文
10 篇相关论文